From 9298065cefe132f3482d1f97de1104acc5f43b3c Mon Sep 17 00:00:00 2001 From: Sandu Liviu Catalin Date: Sat, 5 Aug 2023 21:31:33 +0300 Subject: [PATCH] Update WIP discord and some vendors. CPR has features disabled and PCRE is fully disabled until updated to new code. --- CMakeLists.txt | 88 +- cmake/_FindOpus.cmake | 92 + module/CMakeLists.txt | 33 +- module/Core.cpp | 8 + module/Library/CURL.cpp | 15 +- module/Library/CURL.hpp | 110 +- module/Library/Discord.cpp | 51 + module/Library/Discord.hpp | 17 + module/Library/Discord/Application.cpp | 9 + module/Library/Discord/Application.hpp | 13 + module/Library/Discord/Automod.cpp | 9 + module/Library/Discord/Automod.hpp | 13 + module/Library/Discord/Channel.cpp | 9 + module/Library/Discord/Channel.hpp | 13 + module/Library/Discord/Client.cpp | 9 + module/Library/Discord/Client.hpp | 13 + module/Library/Discord/Cluster.cpp | 496 + module/Library/Discord/Cluster.hpp | 338 + module/Library/Discord/Command.cpp | 9 + module/Library/Discord/Command.hpp | 13 + module/Library/Discord/Constants.cpp | 283 + module/Library/Discord/Constants.hpp | 663 + module/Library/Discord/Events.cpp | 787 ++ module/Library/Discord/Events.hpp | 2716 ++++ module/Library/Discord/Guild.cpp | 65 + module/Library/Discord/Guild.hpp | 421 + module/Library/Discord/Integration.cpp | 9 + module/Library/Discord/Integration.hpp | 13 + module/Library/Discord/Message.cpp | 9 + module/Library/Discord/Message.hpp | 13 + module/Library/Discord/Misc.cpp | 117 + module/Library/Discord/Misc.hpp | 393 + module/Library/Discord/Presence.cpp | 143 + module/Library/Discord/Presence.hpp | 928 ++ module/Library/Discord/Role.cpp | 9 + module/Library/Discord/Role.hpp | 13 + module/Library/Discord/User.cpp | 9 + module/Library/Discord/User.hpp | 13 + module/Library/Discord/Utilities.cpp | 9 + module/Library/Discord/Utilities.hpp | 462 + module/Library/Utils.cpp | 3 +- module/Main.cpp | 14 + module/Register.cpp | 6 + vendor/CMakeLists.txt | 27 + vendor/CPR/CMakeLists.txt | 60 +- vendor/CPR/cpr/accept_encoding.cpp | 37 + vendor/CPR/cpr/async.cpp | 8 + vendor/CPR/cpr/auth.cpp | 9 + vendor/CPR/cpr/bearer.cpp | 5 + vendor/CPR/cpr/callback.cpp | 14 + vendor/CPR/cpr/cert_info.cpp | 43 + vendor/CPR/cpr/cookies.cpp | 83 +- vendor/CPR/cpr/cprtypes.cpp | 4 +- vendor/CPR/cpr/curl_container.cpp | 17 +- vendor/CPR/cpr/curlholder.cpp | 16 +- vendor/CPR/cpr/curlmultiholder.cpp | 15 + vendor/CPR/cpr/error.cpp | 2 +- vendor/CPR/cpr/file.cpp | 60 + vendor/CPR/cpr/interceptor.cpp | 53 + vendor/CPR/cpr/multipart.cpp | 2 + vendor/CPR/cpr/multiperform.cpp | 323 + vendor/CPR/cpr/parameters.cpp | 6 - vendor/CPR/cpr/payload.cpp | 6 - vendor/CPR/cpr/proxies.cpp | 4 +- vendor/CPR/cpr/proxyauth.cpp | 22 +- vendor/CPR/cpr/redirect.cpp | 2 +- vendor/CPR/cpr/response.cpp | 26 +- vendor/CPR/cpr/session.cpp | 1320 +- vendor/CPR/cpr/ssl_ctx.cpp | 70 + vendor/CPR/cpr/threadpool.cpp | 148 + vendor/CPR/cpr/timeout.cpp | 4 +- vendor/CPR/cpr/util.cpp | 126 +- vendor/CPR/include/cpr/accept_encoding.h | 41 + vendor/CPR/include/cpr/api.h | 270 +- vendor/CPR/include/cpr/async.h | 50 + vendor/CPR/include/cpr/async_wrapper.h | 140 + vendor/CPR/include/cpr/auth.h | 15 +- vendor/CPR/include/cpr/bearer.h | 8 +- vendor/CPR/include/cpr/body.h | 28 +- vendor/CPR/include/cpr/buffer.h | 33 + vendor/CPR/include/cpr/callback.h | 42 +- vendor/CPR/include/cpr/cert_info.h | 37 + vendor/CPR/include/cpr/cookies.h | 61 +- vendor/CPR/include/cpr/cpr.h | 31 + vendor/CPR/include/cpr/cprtypes.h | 19 +- vendor/CPR/include/cpr/cprver.h | 30 + vendor/CPR/include/cpr/curl_container.h | 8 +- vendor/CPR/include/cpr/curlholder.h | 12 +- vendor/CPR/include/cpr/curlmultiholder.h | 18 + vendor/CPR/include/cpr/digest.h | 15 - vendor/CPR/include/cpr/error.h | 5 +- vendor/CPR/include/cpr/file.h | 59 + vendor/CPR/include/cpr/filesystem.h | 26 + vendor/CPR/include/cpr/http_version.h | 67 + vendor/CPR/include/cpr/interceptor.h | 74 + vendor/CPR/include/cpr/interface.h | 8 +- vendor/CPR/include/cpr/limit_rate.h | 5 +- vendor/CPR/include/cpr/local_port.h | 23 + vendor/CPR/include/cpr/local_port_range.h | 23 + vendor/CPR/include/cpr/multipart.h | 62 +- vendor/CPR/include/cpr/multiperform.h | 137 + vendor/CPR/include/cpr/ntlm.h | 15 - vendor/CPR/include/cpr/parameters.h | 2 +- vendor/CPR/include/cpr/payload.h | 2 +- vendor/CPR/include/cpr/proxies.h | 1 + vendor/CPR/include/cpr/proxyauth.h | 26 +- vendor/CPR/include/cpr/range.h | 44 + vendor/CPR/include/cpr/redirect.h | 17 +- vendor/CPR/include/cpr/reserve_size.h | 17 + vendor/CPR/include/cpr/resolve.h | 23 + vendor/CPR/include/cpr/response.h | 10 +- vendor/CPR/include/cpr/session.h | 182 +- vendor/CPR/include/cpr/singleton.h | 47 + vendor/CPR/include/cpr/ssl_ctx.h | 26 + vendor/CPR/include/cpr/ssl_options.h | 163 +- vendor/CPR/include/cpr/status_codes.h | 4 +- vendor/CPR/include/cpr/threadpool.h | 122 + vendor/CPR/include/cpr/timeout.h | 2 + vendor/CPR/include/cpr/unix_socket.h | 2 +- vendor/CPR/include/cpr/user_agent.h | 6 +- vendor/CPR/include/cpr/util.h | 35 +- vendor/DPP/CMakeLists.txt | 10 +- vendor/DPP/buildtools/changelog.php | 1 + .../DPP/buildtools/classes/Packager/Vcpkg.php | 287 + vendor/DPP/buildtools/make_struct.php | 10 + vendor/DPP/buildtools/make_vcpkg.php | 62 + vendor/DPP/cmake/ARM64ToolChain.cmake | 2 +- vendor/DPP/cmake/ARMv6ToolChain.cmake | 24 +- vendor/DPP/cmake/ARMv7ToolChain.cmake | 6 +- vendor/DPP/cmake/CPackSetup.cmake | 4 +- vendor/DPP/cmake/LINUXx86ToolChain.cmake | 8 +- .../cmake/Raw-Files/Bottom-Of-Portfile.cmake | 2 - .../docpages/01_frequently_asked_questions.md | 109 - vendor/DPP/docpages/01_installing.md | 11 - vendor/DPP/docpages/02_building_a_bot.md | 14 - vendor/DPP/docpages/03_example_programs.md | 10 - vendor/DPP/docpages/04_advanced_reference.md | 7 - vendor/DPP/docpages/DPP-markdown-logo.png | Bin 5708 -> 0 bytes vendor/DPP/docpages/INDEX.md | 77 - .../clusters_shards_and_guilds.md | 178 - .../coding_style_standards.md | 116 - .../advanced_reference/lambdas_and_locals.md | 56 - .../advanced_reference/thread_model.md | 81 - .../docpages/advanced_reference/unit_tests.md | 28 - vendor/DPP/docpages/building/02_build.md | 10 - vendor/DPP/docpages/building/freebsd.md | 49 - vendor/DPP/docpages/building/linux.md | 42 - vendor/DPP/docpages/building/osx.md | 55 - vendor/DPP/docpages/building/windows.md | 29 - vendor/DPP/docpages/dl.dpp.dev/dlcount.php | 47 - vendor/DPP/docpages/dl.dpp.dev/index.php | 68 - .../interactions_and_components.md | 14 - .../autocomplete.md | 72 - .../commandhandler.md | 68 - .../interactions_and_components/components.md | 54 - .../components2.md | 55 - .../components3.md | 47 - .../context_menus.md | 51 - .../modal_dialog_interactions.md | 78 - .../slashcommands.md | 61 - .../subcommands.md | 78 - .../upload_parameter.md | 48 - vendor/DPP/docpages/example_programs/misc.md | 9 - .../example_programs/misc/cache_messages.md | 61 - .../misc/collect_reactions.md | 55 - .../docpages/example_programs/misc/eval.md | 244 - .../example_programs/misc/http_request.md | 33 - .../docpages/example_programs/misc/spdlog.md | 63 - .../example_programs/music_and_audio.md | 9 - .../music_and_audio/join_voice.md | 75 - .../example_programs/music_and_audio/mp3.md | 107 - .../music_and_audio/oggopus.md | 268 - .../music_and_audio/record_user.md | 67 - .../music_and_audio/soundboard.md | 68 - .../docpages/example_programs/the_basics.md | 8 - .../the_basics/attachments.md | 112 - .../example_programs/the_basics/embeds.md | 56 - .../example_programs/the_basics/firstbot.md | 244 - .../example_programs/the_basics/webhooks.md | 26 - vendor/DPP/docpages/footer.html | 58 - vendor/DPP/docpages/footer.template.html | 63 - vendor/DPP/docpages/header.html | 66 - vendor/DPP/docpages/header.template.html | 66 - vendor/DPP/docpages/images/DPP-Logo.png | Bin 9592 -> 0 bytes vendor/DPP/docpages/images/DPP-Small.png | Bin 478 -> 0 bytes .../DPP/docpages/images/DPP_Architecture.dia | Bin 4366 -> 0 bytes .../DPP/docpages/images/DPP_Architecture.svg | 499 - .../images/build-clion-project-structure.png | Bin 19808 -> 0 bytes .../build-clion-reload-cmake-project.png | Bin 28179 -> 0 bytes vendor/DPP/docpages/images/button.png | Bin 8561 -> 0 bytes vendor/DPP/docpages/images/button_2.png | Bin 10014 -> 0 bytes vendor/DPP/docpages/images/code_editor.png | Bin 42733 -> 0 bytes .../images/context_menu_user_command.png | Bin 25444 -> 0 bytes .../context_menu_user_command_showcase.png | Bin 22169 -> 0 bytes vendor/DPP/docpages/images/cprog.png | Bin 4347 -> 0 bytes .../images/create_application_add_bot.png | Bin 47652 -> 0 bytes .../create_application_bot_overview.png | Bin 88169 -> 0 bytes .../create_application_confirm_popup.png | Bin 16805 -> 0 bytes ..._application_navigate_to_url_generator.png | Bin 92778 -> 0 bytes .../docpages/images/delorean-time-travel.gif | Bin 2140696 -> 0 bytes vendor/DPP/docpages/images/embed.png | Bin 22905 -> 0 bytes vendor/DPP/docpages/images/eval_example.png | Bin 10479 -> 0 bytes vendor/DPP/docpages/images/jsprog.png | Bin 4243 -> 0 bytes vendor/DPP/docpages/images/modal_dialog.png | Bin 64247 -> 0 bytes vendor/DPP/docpages/images/progs.png | Bin 528214 -> 0 bytes vendor/DPP/docpages/images/repl.png | Bin 26710 -> 0 bytes vendor/DPP/docpages/images/runbot.png | Bin 12854 -> 0 bytes vendor/DPP/docpages/images/uptimerobot.png | Bin 16823 -> 0 bytes vendor/DPP/docpages/images/vcpkg.png | Bin 14780 -> 0 bytes vendor/DPP/docpages/images/vsproj_1.png | Bin 20782 -> 0 bytes vendor/DPP/docpages/images/vsproj_10.png | Bin 16894 -> 0 bytes vendor/DPP/docpages/images/vsproj_11.png | Bin 15019 -> 0 bytes vendor/DPP/docpages/images/vsproj_12.png | Bin 45408 -> 0 bytes vendor/DPP/docpages/images/vsproj_13.png | Bin 14190 -> 0 bytes vendor/DPP/docpages/images/vsproj_14.png | Bin 6980 -> 0 bytes vendor/DPP/docpages/images/vsproj_2.png | Bin 49827 -> 0 bytes vendor/DPP/docpages/images/vsproj_3.png | Bin 44431 -> 0 bytes vendor/DPP/docpages/images/vsproj_4.png | Bin 33183 -> 0 bytes vendor/DPP/docpages/images/vsproj_5.png | Bin 41670 -> 0 bytes vendor/DPP/docpages/images/vsproj_6.png | Bin 15259 -> 0 bytes vendor/DPP/docpages/images/vsproj_7.png | Bin 7320 -> 0 bytes vendor/DPP/docpages/images/vsproj_8.png | Bin 7393 -> 0 bytes vendor/DPP/docpages/images/vsproj_9.png | Bin 16786 -> 0 bytes vendor/DPP/docpages/images/winbuild_0.png | Bin 9895 -> 0 bytes vendor/DPP/docpages/images/winbuild_1.png | Bin 16225 -> 0 bytes vendor/DPP/docpages/images/winbuild_2.png | Bin 17399 -> 0 bytes vendor/DPP/docpages/images/winbuild_3.png | Bin 5507 -> 0 bytes vendor/DPP/docpages/images/winbuild_4.png | Bin 11573 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_1.png | Bin 42849 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_10.png | Bin 16894 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_11.png | Bin 15019 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_12.png | Bin 42625 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_13.png | Bin 14190 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_14.png | Bin 6980 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_2.png | Bin 46103 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_3.png | Bin 26049 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_4.png | Bin 33183 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_5.png | Bin 41670 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_6.png | Bin 15259 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_7.png | Bin 7320 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_8.png | Bin 7393 -> 0 bytes vendor/DPP/docpages/images/zip_vsproj_9.png | Bin 16786 -> 0 bytes .../DPP/docpages/install/install-arch-aur.md | 28 - .../DPP/docpages/install/install-linux-deb.md | 21 - .../DPP/docpages/install/install-linux-rpm.md | 21 - vendor/DPP/docpages/install/install-vcpkg.md | 19 - .../docpages/install/install-windows-zip.md | 44 - vendor/DPP/docpages/install/install-xmake.md | 21 - vendor/DPP/docpages/make_a_bot/clion.md | 115 - vendor/DPP/docpages/make_a_bot/cmake.md | 74 - vendor/DPP/docpages/make_a_bot/meson.md | 57 - vendor/DPP/docpages/make_a_bot/replit.md | 42 - vendor/DPP/docpages/make_a_bot/token.md | 45 - vendor/DPP/docpages/make_a_bot/windows_vs.md | 20 - vendor/DPP/docpages/make_a_bot/windows_wsl.md | 18 - vendor/DPP/docpages/makedocs-gh-single.php | 42 - vendor/DPP/docpages/makedocs-gh.php | 111 - vendor/DPP/docpages/makedocs.php | 94 - vendor/DPP/docpages/style.css | 70 - vendor/DPP/include/dpp/appcommand.h | 61 +- vendor/DPP/include/dpp/application.h | 2 + vendor/DPP/include/dpp/auditlog.h | 14 +- vendor/DPP/include/dpp/automod.h | 17 +- vendor/DPP/include/dpp/ban.h | 3 +- vendor/DPP/include/dpp/channel.h | 12 +- vendor/DPP/include/dpp/cluster.h | 403 +- vendor/DPP/include/dpp/cluster_sync_calls.h | 50 +- vendor/DPP/include/dpp/colors.h | 666 +- vendor/DPP/include/dpp/discordclient.h | 6 +- vendor/DPP/include/dpp/discordvoiceclient.h | 5 +- vendor/DPP/include/dpp/dispatcher.h | 71 +- vendor/DPP/include/dpp/emoji.h | 13 + vendor/DPP/include/dpp/event.h | 3 + vendor/DPP/include/dpp/guild.h | 114 +- vendor/DPP/include/dpp/httpsclient.h | 32 +- vendor/DPP/include/dpp/integration.h | 4 +- vendor/DPP/include/dpp/invite.h | 28 +- vendor/DPP/include/dpp/message.h | 39 +- vendor/DPP/include/dpp/permissions.h | 41 +- vendor/DPP/include/dpp/presence.h | 4 +- vendor/DPP/include/dpp/queues.h | 10 +- vendor/DPP/include/dpp/restrequest.h | 35 +- vendor/DPP/include/dpp/restresults.h | 1 + vendor/DPP/include/dpp/role.h | 46 +- vendor/DPP/include/dpp/snowflake.h | 2 +- vendor/DPP/include/dpp/sslclient.h | 1 + vendor/DPP/include/dpp/stringops.h | 4 +- vendor/DPP/include/dpp/user.h | 6 +- vendor/DPP/include/dpp/utility.h | 45 +- vendor/DPP/include/dpp/version.h | 6 +- vendor/DPP/include/dpp/webhook.h | 1 + vendor/DPP/include/dpp/win32_safe_warnings.h | 7 +- vendor/DPP/library-vcpkg/CMakeLists.txt | 16 +- vendor/DPP/library/CMakeLists.txt | 12 +- vendor/DPP/src/dpp/application.cpp | 28 +- vendor/DPP/src/dpp/auditlog.cpp | 80 +- vendor/DPP/src/dpp/automod.cpp | 4 +- vendor/DPP/src/dpp/channel.cpp | 18 +- vendor/DPP/src/dpp/cluster.cpp | 8 +- vendor/DPP/src/dpp/cluster/appcommand.cpp | 10 +- vendor/DPP/src/dpp/cluster/channel.cpp | 2 +- vendor/DPP/src/dpp/cluster/guild.cpp | 3 +- vendor/DPP/src/dpp/cluster/invite.cpp | 4 +- vendor/DPP/src/dpp/cluster/message.cpp | 4 +- vendor/DPP/src/dpp/cluster/sticker.cpp | 15 +- vendor/DPP/src/dpp/cluster/thread.cpp | 26 +- vendor/DPP/src/dpp/cluster/user.cpp | 8 +- vendor/DPP/src/dpp/cluster/webhook.cpp | 4 +- vendor/DPP/src/dpp/cluster_sync_calls.cpp | 4 +- vendor/DPP/src/dpp/discordclient.cpp | 6 +- vendor/DPP/src/dpp/discordevents.cpp | 2 +- vendor/DPP/src/dpp/discordvoiceclient.cpp | 8 +- vendor/DPP/src/dpp/dispatcher.cpp | 36 +- vendor/DPP/src/dpp/dtemplate.cpp | 4 +- vendor/DPP/src/dpp/emoji.cpp | 10 + .../src/dpp/events/automod_rule_create.cpp | 3 +- .../src/dpp/events/automod_rule_delete.cpp | 5 +- .../src/dpp/events/automod_rule_execute.cpp | 3 +- .../src/dpp/events/automod_rule_update.cpp | 3 +- vendor/DPP/src/dpp/events/channel_create.cpp | 3 +- vendor/DPP/src/dpp/events/channel_delete.cpp | 3 +- .../src/dpp/events/channel_pins_update.cpp | 5 +- vendor/DPP/src/dpp/events/channel_update.cpp | 2 +- .../events/guild_audit_log_entry_create.cpp | 46 + vendor/DPP/src/dpp/events/guild_ban_add.cpp | 2 +- .../DPP/src/dpp/events/guild_ban_remove.cpp | 2 +- vendor/DPP/src/dpp/events/guild_create.cpp | 5 +- vendor/DPP/src/dpp/events/guild_delete.cpp | 5 +- .../src/dpp/events/guild_emojis_update.cpp | 2 +- .../dpp/events/guild_integrations_update.cpp | 5 +- .../dpp/events/guild_join_request_delete.cpp | 2 +- .../DPP/src/dpp/events/guild_member_add.cpp | 2 +- .../src/dpp/events/guild_member_remove.cpp | 2 +- .../src/dpp/events/guild_member_update.cpp | 2 +- .../src/dpp/events/guild_members_chunk.cpp | 2 +- .../DPP/src/dpp/events/guild_role_create.cpp | 2 +- .../DPP/src/dpp/events/guild_role_delete.cpp | 2 +- .../DPP/src/dpp/events/guild_role_update.cpp | 5 +- .../events/guild_scheduled_event_create.cpp | 3 +- .../events/guild_scheduled_event_delete.cpp | 2 +- .../events/guild_scheduled_event_update.cpp | 2 +- .../events/guild_scheduled_event_user_add.cpp | 2 +- .../guild_scheduled_event_user_remove.cpp | 2 +- .../src/dpp/events/guild_stickers_update.cpp | 2 +- vendor/DPP/src/dpp/events/guild_update.cpp | 2 +- .../DPP/src/dpp/events/integration_create.cpp | 2 +- .../DPP/src/dpp/events/integration_delete.cpp | 2 +- .../DPP/src/dpp/events/integration_update.cpp | 2 +- .../DPP/src/dpp/events/interaction_create.cpp | 2 +- vendor/DPP/src/dpp/events/invite_create.cpp | 2 +- vendor/DPP/src/dpp/events/invite_delete.cpp | 2 +- vendor/DPP/src/dpp/events/logger.cpp | 2 +- vendor/DPP/src/dpp/events/message_create.cpp | 2 +- vendor/DPP/src/dpp/events/message_delete.cpp | 2 +- .../src/dpp/events/message_delete_bulk.cpp | 4 +- .../src/dpp/events/message_reaction_add.cpp | 7 +- .../dpp/events/message_reaction_remove.cpp | 7 +- .../events/message_reaction_remove_all.cpp | 7 +- .../events/message_reaction_remove_emoji.cpp | 7 +- vendor/DPP/src/dpp/events/message_update.cpp | 2 +- vendor/DPP/src/dpp/events/presence_update.cpp | 2 +- vendor/DPP/src/dpp/events/ready.cpp | 2 +- vendor/DPP/src/dpp/events/resumed.cpp | 2 +- .../src/dpp/events/stage_instance_create.cpp | 2 +- .../src/dpp/events/stage_instance_delete.cpp | 4 +- .../src/dpp/events/stage_instance_update.cpp | 2 +- vendor/DPP/src/dpp/events/thread_create.cpp | 3 +- vendor/DPP/src/dpp/events/thread_delete.cpp | 3 +- .../DPP/src/dpp/events/thread_list_sync.cpp | 6 +- .../src/dpp/events/thread_member_update.cpp | 3 +- .../src/dpp/events/thread_members_update.cpp | 3 +- vendor/DPP/src/dpp/events/thread_update.cpp | 6 +- vendor/DPP/src/dpp/events/typing_start.cpp | 5 +- vendor/DPP/src/dpp/events/user_update.cpp | 5 +- .../src/dpp/events/voice_server_update.cpp | 5 +- .../DPP/src/dpp/events/voice_state_update.cpp | 5 +- vendor/DPP/src/dpp/events/webhooks_update.cpp | 5 +- vendor/DPP/src/dpp/guild.cpp | 164 +- vendor/DPP/src/dpp/httpsclient.cpp | 51 +- vendor/DPP/src/dpp/integration.cpp | 7 +- vendor/DPP/src/dpp/invite.cpp | 31 +- vendor/DPP/src/dpp/message.cpp | 28 +- vendor/DPP/src/dpp/permissions.cpp | 12 - vendor/DPP/src/dpp/presence.cpp | 33 +- vendor/DPP/src/dpp/queues.cpp | 23 +- vendor/DPP/src/dpp/role.cpp | 50 +- vendor/DPP/src/dpp/slashcommand.cpp | 79 +- vendor/DPP/src/dpp/sslclient.cpp | 4 +- vendor/DPP/src/dpp/user.cpp | 51 +- vendor/DPP/src/dpp/utility.cpp | 47 + vendor/DPP/src/dpp/voicestate.cpp | 4 +- vendor/DPP/src/dpp/webhook.cpp | 9 +- vendor/DPP/src/unittest/test.cpp | 835 +- vendor/DPP/src/unittest/test.h | 7 + vendor/DPP/src/unittest/unittest.cpp | 54 +- vendor/DPP/testdata/DPP-Logo.png | Bin 0 -> 1705 bytes vendor/DPP/vcpkg/ports/dpp/portfile.cmake | 7 +- vendor/DPP/vcpkg/ports/dpp/vcpkg.json | 2 +- vendor/DPP/vcpkg/versions/baseline.json | 2079 +-- vendor/DPP/vcpkg/versions/d-/dpp.json | 4 +- vendor/DPP/win32/32/lib/libcrypto.lib | Bin 1015854 -> 0 bytes vendor/DPP/win32/32/lib/libsodium.lib | Bin 177016 -> 0 bytes vendor/DPP/win32/32/lib/libssl.lib | Bin 122290 -> 0 bytes vendor/DPP/win32/32/lib/opus.lib | Bin 18628 -> 0 bytes vendor/DPP/win32/32/lib/zlib.lib | Bin 16734 -> 0 bytes vendor/DPP/win32/bin/c_rehash.pl | 232 - vendor/DPP/win32/bin/libcrypto-1_1-x64.pdb | Bin 10719232 -> 0 bytes vendor/DPP/win32/bin/libssl-1_1-x64.pdb | Bin 2625536 -> 0 bytes vendor/DPP/win32/bin/openssl.pdb | Bin 2551808 -> 0 bytes vendor/DPP/win32/bin/zlib.pdb | Bin 528384 -> 0 bytes .../include/openssl/__DECC_INCLUDE_EPILOGUE.H | 22 - .../include/openssl/__DECC_INCLUDE_PROLOGUE.H | 26 - vendor/DPP/win32/include/openssl/aes.h | 92 - vendor/DPP/win32/include/openssl/applink.c | 138 - vendor/DPP/win32/include/openssl/asn1.h | 886 -- vendor/DPP/win32/include/openssl/asn1_mac.h | 10 - vendor/DPP/win32/include/openssl/asn1err.h | 256 - vendor/DPP/win32/include/openssl/asn1t.h | 945 -- vendor/DPP/win32/include/openssl/async.h | 76 - vendor/DPP/win32/include/openssl/asyncerr.h | 42 - vendor/DPP/win32/include/openssl/bio.h | 801 -- vendor/DPP/win32/include/openssl/bioerr.h | 124 - vendor/DPP/win32/include/openssl/blowfish.h | 61 - vendor/DPP/win32/include/openssl/bn.h | 539 - vendor/DPP/win32/include/openssl/bnerr.h | 100 - vendor/DPP/win32/include/openssl/buffer.h | 58 - vendor/DPP/win32/include/openssl/buffererr.h | 34 - vendor/DPP/win32/include/openssl/camellia.h | 83 - vendor/DPP/win32/include/openssl/cast.h | 53 - vendor/DPP/win32/include/openssl/cmac.h | 41 - vendor/DPP/win32/include/openssl/cms.h | 339 - vendor/DPP/win32/include/openssl/cmserr.h | 202 - vendor/DPP/win32/include/openssl/comp.h | 53 - vendor/DPP/win32/include/openssl/comperr.h | 44 - vendor/DPP/win32/include/openssl/conf.h | 168 - vendor/DPP/win32/include/openssl/conf_api.h | 40 - vendor/DPP/win32/include/openssl/conferr.h | 76 - vendor/DPP/win32/include/openssl/crypto.h | 445 - vendor/DPP/win32/include/openssl/cryptoerr.h | 57 - vendor/DPP/win32/include/openssl/ct.h | 474 - vendor/DPP/win32/include/openssl/cterr.h | 80 - vendor/DPP/win32/include/openssl/des.h | 174 - vendor/DPP/win32/include/openssl/dh.h | 340 - vendor/DPP/win32/include/openssl/dherr.h | 88 - vendor/DPP/win32/include/openssl/dsa.h | 244 - vendor/DPP/win32/include/openssl/dsaerr.h | 72 - vendor/DPP/win32/include/openssl/dtls1.h | 55 - vendor/DPP/win32/include/openssl/e_os2.h | 300 - vendor/DPP/win32/include/openssl/ebcdic.h | 33 - vendor/DPP/win32/include/openssl/ec.h | 1481 --- vendor/DPP/win32/include/openssl/ecdh.h | 10 - vendor/DPP/win32/include/openssl/ecdsa.h | 10 - vendor/DPP/win32/include/openssl/ecerr.h | 276 - vendor/DPP/win32/include/openssl/engine.h | 751 -- vendor/DPP/win32/include/openssl/engineerr.h | 111 - vendor/DPP/win32/include/openssl/err.h | 274 - vendor/DPP/win32/include/openssl/evp.h | 1666 --- vendor/DPP/win32/include/openssl/evperr.h | 204 - vendor/DPP/win32/include/openssl/hmac.h | 51 - vendor/DPP/win32/include/openssl/idea.h | 64 - vendor/DPP/win32/include/openssl/kdf.h | 97 - vendor/DPP/win32/include/openssl/kdferr.h | 55 - vendor/DPP/win32/include/openssl/lhash.h | 241 - vendor/DPP/win32/include/openssl/md2.h | 44 - vendor/DPP/win32/include/openssl/md4.h | 51 - vendor/DPP/win32/include/openssl/md5.h | 50 - vendor/DPP/win32/include/openssl/mdc2.h | 42 - vendor/DPP/win32/include/openssl/modes.h | 208 - vendor/DPP/win32/include/openssl/obj_mac.h | 5198 -------- vendor/DPP/win32/include/openssl/objects.h | 175 - vendor/DPP/win32/include/openssl/objectserr.h | 42 - vendor/DPP/win32/include/openssl/ocsp.h | 352 - vendor/DPP/win32/include/openssl/ocsperr.h | 78 - .../DPP/win32/include/openssl/opensslconf.h | 206 - vendor/DPP/win32/include/openssl/opensslv.h | 101 - vendor/DPP/win32/include/openssl/ossl_typ.h | 197 - vendor/DPP/win32/include/openssl/pem.h | 378 - vendor/DPP/win32/include/openssl/pem2.h | 13 - vendor/DPP/win32/include/openssl/pemerr.h | 105 - vendor/DPP/win32/include/openssl/pkcs12.h | 223 - vendor/DPP/win32/include/openssl/pkcs12err.h | 81 - vendor/DPP/win32/include/openssl/pkcs7.h | 319 - vendor/DPP/win32/include/openssl/pkcs7err.h | 103 - vendor/DPP/win32/include/openssl/rand.h | 77 - vendor/DPP/win32/include/openssl/rand_drbg.h | 130 - vendor/DPP/win32/include/openssl/randerr.h | 94 - vendor/DPP/win32/include/openssl/rc2.h | 51 - vendor/DPP/win32/include/openssl/rc4.h | 36 - vendor/DPP/win32/include/openssl/rc5.h | 63 - vendor/DPP/win32/include/openssl/ripemd.h | 47 - vendor/DPP/win32/include/openssl/rsa.h | 513 - vendor/DPP/win32/include/openssl/rsaerr.h | 167 - vendor/DPP/win32/include/openssl/safestack.h | 207 - vendor/DPP/win32/include/openssl/seed.h | 96 - vendor/DPP/win32/include/openssl/sha.h | 119 - vendor/DPP/win32/include/openssl/srp.h | 135 - vendor/DPP/win32/include/openssl/srtp.h | 50 - vendor/DPP/win32/include/openssl/ssl.h | 2438 ---- vendor/DPP/win32/include/openssl/ssl2.h | 24 - vendor/DPP/win32/include/openssl/ssl3.h | 342 - vendor/DPP/win32/include/openssl/sslerr.h | 773 -- vendor/DPP/win32/include/openssl/stack.h | 83 - vendor/DPP/win32/include/openssl/store.h | 266 - vendor/DPP/win32/include/openssl/storeerr.h | 91 - vendor/DPP/win32/include/openssl/symhacks.h | 37 - vendor/DPP/win32/include/openssl/tls1.h | 1237 -- vendor/DPP/win32/include/openssl/ts.h | 559 - vendor/DPP/win32/include/openssl/tserr.h | 132 - vendor/DPP/win32/include/openssl/txt_db.h | 57 - vendor/DPP/win32/include/openssl/ui.h | 368 - vendor/DPP/win32/include/openssl/uierr.h | 65 - vendor/DPP/win32/include/openssl/whrlpool.h | 48 - vendor/DPP/win32/include/openssl/x509.h | 1050 -- vendor/DPP/win32/include/openssl/x509_vfy.h | 632 - vendor/DPP/win32/include/openssl/x509err.h | 129 - vendor/DPP/win32/include/openssl/x509v3.h | 938 -- vendor/DPP/win32/include/openssl/x509v3err.h | 162 - vendor/DPP/win32/include/opus/opus.h | 981 -- vendor/DPP/win32/include/opus/opus_custom.h | 342 - vendor/DPP/win32/include/opus/opus_defines.h | 799 -- .../DPP/win32/include/opus/opus_multistream.h | 660 - .../DPP/win32/include/opus/opus_projection.h | 568 - vendor/DPP/win32/include/opus/opus_types.h | 166 - vendor/DPP/win32/include/sodium.h | 69 - vendor/DPP/win32/include/sodium/core.h | 28 - .../include/sodium/crypto_aead_aes256gcm.h | 179 - .../sodium/crypto_aead_chacha20poly1305.h | 180 - .../sodium/crypto_aead_xchacha20poly1305.h | 100 - vendor/DPP/win32/include/sodium/crypto_auth.h | 46 - .../include/sodium/crypto_auth_hmacsha256.h | 70 - .../include/sodium/crypto_auth_hmacsha512.h | 68 - .../sodium/crypto_auth_hmacsha512256.h | 65 - vendor/DPP/win32/include/sodium/crypto_box.h | 177 - .../crypto_box_curve25519xchacha20poly1305.h | 164 - .../crypto_box_curve25519xsalsa20poly1305.h | 112 - .../include/sodium/crypto_core_ed25519.h | 100 - .../include/sodium/crypto_core_hchacha20.h | 36 - .../include/sodium/crypto_core_hsalsa20.h | 36 - .../include/sodium/crypto_core_ristretto255.h | 100 - .../include/sodium/crypto_core_salsa20.h | 36 - .../include/sodium/crypto_core_salsa2012.h | 36 - .../include/sodium/crypto_core_salsa208.h | 40 - .../win32/include/sodium/crypto_generichash.h | 84 - .../sodium/crypto_generichash_blake2b.h | 118 - vendor/DPP/win32/include/sodium/crypto_hash.h | 40 - .../win32/include/sodium/crypto_hash_sha256.h | 60 - .../win32/include/sodium/crypto_hash_sha512.h | 60 - vendor/DPP/win32/include/sodium/crypto_kdf.h | 53 - .../win32/include/sodium/crypto_kdf_blake2b.h | 44 - vendor/DPP/win32/include/sodium/crypto_kx.h | 66 - .../win32/include/sodium/crypto_onetimeauth.h | 65 - .../sodium/crypto_onetimeauth_poly1305.h | 72 - .../DPP/win32/include/sodium/crypto_pwhash.h | 147 - .../include/sodium/crypto_pwhash_argon2i.h | 122 - .../include/sodium/crypto_pwhash_argon2id.h | 122 - .../crypto_pwhash_scryptsalsa208sha256.h | 120 - .../win32/include/sodium/crypto_scalarmult.h | 46 - .../sodium/crypto_scalarmult_curve25519.h | 42 - .../sodium/crypto_scalarmult_ed25519.h | 51 - .../sodium/crypto_scalarmult_ristretto255.h | 43 - .../win32/include/sodium/crypto_secretbox.h | 93 - .../crypto_secretbox_xchacha20poly1305.h | 70 - .../crypto_secretbox_xsalsa20poly1305.h | 69 - .../crypto_secretstream_xchacha20poly1305.h | 108 - .../win32/include/sodium/crypto_shorthash.h | 41 - .../sodium/crypto_shorthash_siphash24.h | 50 - vendor/DPP/win32/include/sodium/crypto_sign.h | 107 - .../include/sodium/crypto_sign_ed25519.h | 124 - .../crypto_sign_edwards25519sha512batch.h | 55 - .../DPP/win32/include/sodium/crypto_stream.h | 59 - .../include/sodium/crypto_stream_chacha20.h | 106 - .../include/sodium/crypto_stream_salsa20.h | 61 - .../include/sodium/crypto_stream_salsa2012.h | 53 - .../include/sodium/crypto_stream_salsa208.h | 56 - .../include/sodium/crypto_stream_xchacha20.h | 61 - .../include/sodium/crypto_stream_xsalsa20.h | 61 - .../win32/include/sodium/crypto_verify_16.h | 23 - .../win32/include/sodium/crypto_verify_32.h | 23 - .../win32/include/sodium/crypto_verify_64.h | 23 - vendor/DPP/win32/include/sodium/export.h | 57 - vendor/DPP/win32/include/sodium/randombytes.h | 72 - .../sodium/randombytes_internal_random.h | 22 - .../include/sodium/randombytes_sysrandom.h | 19 - vendor/DPP/win32/include/sodium/runtime.h | 52 - vendor/DPP/win32/include/sodium/utils.h | 179 - vendor/DPP/win32/include/sodium/version.h | 33 - vendor/DPP/win32/include/zconf.h | 544 - vendor/DPP/win32/include/zlib.h | 1912 --- vendor/DPP/win32/lib/libcrypto.lib | Bin 1011470 -> 0 bytes vendor/DPP/win32/lib/libsodium.lib | Bin 173996 -> 0 bytes vendor/DPP/win32/lib/libssl.lib | Bin 121986 -> 0 bytes vendor/DPP/win32/lib/opus.lib | Bin 18322 -> 0 bytes vendor/DPP/win32/lib/pkgconfig/opus.pc | 16 - vendor/DPP/win32/lib/pkgconfig/zlib.pc | 14 - vendor/DPP/win32/lib/zlib.lib | Bin 16334 -> 0 bytes vendor/Fmt/CMakeLists.txt | 139 +- vendor/Fmt/ChangeLog.rst | 953 +- vendor/Fmt/LICENSE.rst | 2 +- vendor/Fmt/README.rst | 43 +- vendor/Fmt/doc/CMakeLists.txt | 13 +- vendor/Fmt/doc/_static/breathe.css | 28 - vendor/Fmt/doc/api.rst | 446 +- vendor/Fmt/doc/build.py | 10 +- vendor/Fmt/doc/html/_sources/api.rst.txt | 648 + vendor/Fmt/doc/html/_sources/contents.rst.txt | 10 + vendor/Fmt/doc/html/_sources/index.rst.txt | 198 + vendor/Fmt/doc/html/_sources/syntax.rst.txt | 640 + vendor/Fmt/doc/html/_sources/usage.rst.txt | 212 + vendor/Fmt/doc/html/_static/basic.css | 856 ++ vendor/Fmt/doc/html/_static/bootstrap.min.js | 7 + vendor/Fmt/doc/html/_static/doctools.js | 316 + .../doc/html/_static/documentation_options.js | 12 + vendor/Fmt/doc/html/_static/file.png | Bin 0 -> 286 bytes vendor/Fmt/doc/html/_static/fmt.css | 6724 ++++++++++ .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes vendor/Fmt/doc/html/_static/jquery-3.5.1.js | 10872 ++++++++++++++++ vendor/Fmt/doc/html/_static/jquery.js | 2 + vendor/Fmt/doc/html/_static/language_data.js | 297 + vendor/Fmt/doc/html/_static/minus.png | Bin 0 -> 90 bytes vendor/Fmt/doc/html/_static/plus.png | Bin 0 -> 90 bytes vendor/Fmt/doc/html/_static/pygments.css | 74 + vendor/Fmt/doc/html/_static/searchtools.js | 514 + .../Fmt/doc/html/_static/underscore-1.3.1.js | 999 ++ vendor/Fmt/doc/html/_static/underscore.js | 31 + vendor/Fmt/doc/html/api.html | 1425 ++ vendor/Fmt/doc/html/contents.html | 189 + vendor/Fmt/doc/html/genindex.html | 312 + vendor/Fmt/doc/html/index.html | 325 + vendor/Fmt/doc/html/objects.inv | Bin 0 -> 5463 bytes vendor/Fmt/doc/html/search.html | 171 + vendor/Fmt/doc/html/searchindex.js | 1 + vendor/Fmt/doc/html/syntax.html | 819 ++ vendor/Fmt/doc/html/usage.html | 335 + vendor/Fmt/doc/index.rst | 2 +- vendor/Fmt/doc/syntax.rst | 150 +- vendor/Fmt/include/fmt/chrono.h | 774 +- vendor/Fmt/include/fmt/color.h | 105 +- vendor/Fmt/include/fmt/compile.h | 52 +- vendor/Fmt/include/fmt/core.h | 1874 ++- vendor/Fmt/include/fmt/format-inl.h | 1216 +- vendor/Fmt/include/fmt/format.h | 2688 +++- vendor/Fmt/include/fmt/locale.h | 2 - vendor/Fmt/include/fmt/os.h | 112 +- vendor/Fmt/include/fmt/ostream.h | 174 +- vendor/Fmt/include/fmt/printf.h | 174 +- vendor/Fmt/include/fmt/ranges.h | 502 +- vendor/Fmt/include/fmt/std.h | 349 + vendor/Fmt/include/fmt/xchar.h | 87 +- vendor/Fmt/src/fmt.cc | 63 +- vendor/Fmt/src/format.cc | 111 +- vendor/Fmt/src/os.cc | 160 +- vendor/Fmt/support/Vagrantfile | 6 +- vendor/Fmt/support/appveyor-build.py | 43 - vendor/Fmt/support/appveyor.yml | 31 - vendor/Fmt/support/bazel/BUILD.bazel | 3 +- vendor/Fmt/support/bazel/README.md | 9 +- vendor/Fmt/support/build.gradle | 2 +- vendor/Fmt/support/cmake/cxx14.cmake | 70 - vendor/Fmt/support/cmake/fmt-config.cmake.in | 5 +- vendor/Fmt/support/manage.py | 6 + vendor/Fmt/test/CMakeLists.txt | 42 +- .../test/add-subdirectory-test/CMakeLists.txt | 2 +- vendor/Fmt/test/args-test.cc | 2 +- vendor/Fmt/test/chrono-test.cc | 395 +- .../test/compile-error-test/CMakeLists.txt | 46 +- vendor/Fmt/test/compile-fp-test.cc | 2 +- vendor/Fmt/test/compile-test.cc | 26 +- vendor/Fmt/test/core-test.cc | 331 +- vendor/Fmt/test/detect-stdfs.cc | 18 + vendor/Fmt/test/enforce-checks-test.cc | 2 + .../Fmt/test/find-package-test/CMakeLists.txt | 2 +- vendor/Fmt/test/format-impl-test.cc | 327 +- vendor/Fmt/test/format-test.cc | 659 +- vendor/Fmt/test/fuzzing/CMakeLists.txt | 2 +- vendor/Fmt/test/fuzzing/one-arg.cc | 4 +- vendor/Fmt/test/fuzzing/two-args.cc | 4 +- vendor/Fmt/test/gtest-extra-test.cc | 4 +- vendor/Fmt/test/gtest-extra.h | 7 +- vendor/Fmt/test/gtest/CMakeLists.txt | 8 +- vendor/Fmt/test/gtest/gmock-gtest-all.cc | 4 +- vendor/Fmt/test/mock-allocator.h | 4 +- vendor/Fmt/test/module-test.cc | 124 +- vendor/Fmt/test/os-test.cc | 93 +- vendor/Fmt/test/ostream-test.cc | 107 +- vendor/Fmt/test/posix-mock-test.cc | 12 +- vendor/Fmt/test/posix-mock.h | 2 - vendor/Fmt/test/printf-test.cc | 14 +- vendor/Fmt/test/ranges-test.cc | 183 +- vendor/Fmt/test/scan-test.cc | 2 +- vendor/Fmt/test/scan.h | 27 +- .../test/static-export-test/CMakeLists.txt | 2 +- vendor/Fmt/test/std-test.cc | 221 + vendor/Fmt/test/test-main.cc | 5 +- vendor/Fmt/test/unicode-test.cc | 8 +- vendor/Fmt/test/util.h | 8 +- vendor/Fmt/test/xchar-test.cc | 233 +- vendor/Inja/CMakeLists.txt | 2 +- vendor/POCO/cmake/PocoMacros.cmake | 11 +- vendor/PUGIXML/CMakeLists.txt | 5 +- vendor/ZMQ/AUTHORS | 1 - vendor/ZMQ/CMakeLists.txt | 171 +- vendor/ZMQ/COPYING | 674 - vendor/ZMQ/COPYING.LESSER | 181 - vendor/ZMQ/INSTALL | 2 +- vendor/ZMQ/LICENSE | 373 + vendor/ZMQ/Makefile.am | 60 +- vendor/ZMQ/README.doxygen.md | 2 +- vendor/ZMQ/README.md | 43 +- vendor/ZMQ/RELICENSE/AnCaPepe.md | 15 - vendor/ZMQ/RELICENSE/AndreLouisCaron.md | 15 - vendor/ZMQ/RELICENSE/Asmod4n.md | 13 - vendor/ZMQ/RELICENSE/AxelNennker.md | 16 - vendor/ZMQ/RELICENSE/Bklyn.md | 15 - vendor/ZMQ/RELICENSE/Botje.md | 15 - vendor/ZMQ/RELICENSE/C-Sir.md | 15 - vendor/ZMQ/RELICENSE/CommanderBubble.md | 15 - vendor/ZMQ/RELICENSE/DaiyuHurst.md | 16 - vendor/ZMQ/RELICENSE/Eelis.md | 16 - vendor/ZMQ/RELICENSE/FrancoFichtner.md | 15 - vendor/ZMQ/RELICENSE/FredTreg.md | 13 - vendor/ZMQ/RELICENSE/Hugne.md | 17 - vendor/ZMQ/RELICENSE/JohanMabille.md | 16 - vendor/ZMQ/RELICENSE/JonDyte.md | 15 - vendor/ZMQ/RELICENSE/KLNikita.md | 15 - vendor/ZMQ/RELICENSE/MartinGrigorov.md | 15 - vendor/ZMQ/RELICENSE/NLeScienceCenter.md | 13 - vendor/ZMQ/RELICENSE/Neopallium.md | 13 - vendor/ZMQ/RELICENSE/Quuxplusone.md | 15 - vendor/ZMQ/RELICENSE/README.md | 23 - vendor/ZMQ/RELICENSE/RPGillespie6.md | 16 - vendor/ZMQ/RELICENSE/Ricardicus.md | 6 - vendor/ZMQ/RELICENSE/SRombauts.md | 15 - vendor/ZMQ/RELICENSE/SergheiNovac.md | 15 - vendor/ZMQ/RELICENSE/StephaneVales.md | 15 - vendor/ZMQ/RELICENSE/SylvainCorlay.md | 16 - vendor/ZMQ/RELICENSE/TTimo.md | 15 - vendor/ZMQ/RELICENSE/ThePrez.md | 13 - vendor/ZMQ/RELICENSE/TobiSchluter.md | 15 - vendor/ZMQ/RELICENSE/WenbinHou.md | 15 - vendor/ZMQ/RELICENSE/a4z.md | 17 - vendor/ZMQ/RELICENSE/abbradar.md | 15 - vendor/ZMQ/RELICENSE/ackalker.md | 15 - vendor/ZMQ/RELICENSE/acsearle.md | 14 - vendor/ZMQ/RELICENSE/agronholm.md | 15 - vendor/ZMQ/RELICENSE/aixxe.md | 15 - vendor/ZMQ/RELICENSE/ambitslix.md | 7 - vendor/ZMQ/RELICENSE/amuraru.md | 15 - vendor/ZMQ/RELICENSE/answeroo.md | 15 - vendor/ZMQ/RELICENSE/antonrd.md | 17 - vendor/ZMQ/RELICENSE/ardrabczyk.md | 16 - vendor/ZMQ/RELICENSE/arsenm.md | 15 - vendor/ZMQ/RELICENSE/asafkahlon.md | 15 - vendor/ZMQ/RELICENSE/aseering.md | 15 - vendor/ZMQ/RELICENSE/atomashpolskiy.md | 15 - vendor/ZMQ/RELICENSE/banburybill.md | 16 - vendor/ZMQ/RELICENSE/bbdb68.md | 13 - vendor/ZMQ/RELICENSE/bebopagogo.md | 13 - vendor/ZMQ/RELICENSE/benjdero.md | 13 - vendor/ZMQ/RELICENSE/bjoto.md | 16 - vendor/ZMQ/RELICENSE/bjovke.md | 16 - vendor/ZMQ/RELICENSE/bl0x.md | 16 - vendor/ZMQ/RELICENSE/bluca.md | 17 - vendor/ZMQ/RELICENSE/boxkey.md | 7 - vendor/ZMQ/RELICENSE/bprager.md | 13 - vendor/ZMQ/RELICENSE/brett-cameron.md | 15 - vendor/ZMQ/RELICENSE/brian-peloton.md | 15 - .../brocade_communications_systems.md | 15 - vendor/ZMQ/RELICENSE/brubakerjeff.md | 16 - vendor/ZMQ/RELICENSE/bwbuchanan.md | 15 - vendor/ZMQ/RELICENSE/c-rack.md | 15 - vendor/ZMQ/RELICENSE/c-zhao-3g.md | 15 - vendor/ZMQ/RELICENSE/calid.md | 14 - vendor/ZMQ/RELICENSE/camachat.md | 15 - vendor/ZMQ/RELICENSE/cbusbey.md | 13 - vendor/ZMQ/RELICENSE/cdolan.md | 15 - vendor/ZMQ/RELICENSE/chickenkiller.md | 15 - vendor/ZMQ/RELICENSE/chrisstaite.md | 14 - vendor/ZMQ/RELICENSE/christhrasher.md | 15 - vendor/ZMQ/RELICENSE/chuckremes.md | 15 - vendor/ZMQ/RELICENSE/chuggafan.md | 15 - vendor/ZMQ/RELICENSE/chymanfx.md | 12 - vendor/ZMQ/RELICENSE/cjuniet.md | 15 - vendor/ZMQ/RELICENSE/ckamm.md | 15 - vendor/ZMQ/RELICENSE/claws.md | 15 - vendor/ZMQ/RELICENSE/clkao.md | 15 - vendor/ZMQ/RELICENSE/colletted.md | 7 - vendor/ZMQ/RELICENSE/cowo78.md | 15 - vendor/ZMQ/RELICENSE/crocket.md | 15 - vendor/ZMQ/RELICENSE/cwsmith.md | 13 - vendor/ZMQ/RELICENSE/danielhtshih.md | 15 - vendor/ZMQ/RELICENSE/danriegsecker.md | 16 - vendor/ZMQ/RELICENSE/demozon.md | 15 - vendor/ZMQ/RELICENSE/dennisklein.md | 15 - vendor/ZMQ/RELICENSE/dfons.md | 16 - vendor/ZMQ/RELICENSE/dhammika.md | 13 - vendor/ZMQ/RELICENSE/dimpase.md | 14 - vendor/ZMQ/RELICENSE/diorcety.md | 15 - vendor/ZMQ/RELICENSE/djelenc.md | 15 - vendor/ZMQ/RELICENSE/dkrikun.md | 13 - vendor/ZMQ/RELICENSE/dmeehan1968.md | 13 - vendor/ZMQ/RELICENSE/drbobbeaty.md | 15 - vendor/ZMQ/RELICENSE/drodri.md | 15 - vendor/ZMQ/RELICENSE/drolevar.md | 16 - vendor/ZMQ/RELICENSE/eburkitt.md | 15 - vendor/ZMQ/RELICENSE/egomotion.md | 16 - vendor/ZMQ/RELICENSE/eldruin.md | 15 - vendor/ZMQ/RELICENSE/emtr.md | 15 - vendor/ZMQ/RELICENSE/eponsko.md | 15 - vendor/ZMQ/RELICENSE/ericsson.md | 13 - vendor/ZMQ/RELICENSE/evoskuil.md | 15 - vendor/ZMQ/RELICENSE/ezhikus.md | 15 - vendor/ZMQ/RELICENSE/f18m.md | 15 - vendor/ZMQ/RELICENSE/fanquake.md | 17 - vendor/ZMQ/RELICENSE/febeling.md | 16 - vendor/ZMQ/RELICENSE/ferdnyc.md | 15 - vendor/ZMQ/RELICENSE/ffontaine.md | 15 - vendor/ZMQ/RELICENSE/fidlej.md | 15 - vendor/ZMQ/RELICENSE/flub.md | 14 - vendor/ZMQ/RELICENSE/gabm.md | 13 - vendor/ZMQ/RELICENSE/garlick.md | 16 - vendor/ZMQ/RELICENSE/gavinmcniff.md | 15 - vendor/ZMQ/RELICENSE/gcsideal.md | 15 - vendor/ZMQ/RELICENSE/gena-moscow.md | 15 - vendor/ZMQ/RELICENSE/ghpu.md | 15 - vendor/ZMQ/RELICENSE/gitfoxi.md | 16 - vendor/ZMQ/RELICENSE/glemercier.md | 17 - vendor/ZMQ/RELICENSE/gonzus.md | 15 - vendor/ZMQ/RELICENSE/goodfella.md | 13 - vendor/ZMQ/RELICENSE/google.md | 13 - vendor/ZMQ/RELICENSE/grmt.md | 13 - vendor/ZMQ/RELICENSE/guidovranken.md | 17 - vendor/ZMQ/RELICENSE/guillon.md | 15 - vendor/ZMQ/RELICENSE/gummif.md | 17 - vendor/ZMQ/RELICENSE/herbrechtsmeier.md | 15 - .../RELICENSE/hewlett_packard_enterprise.md | 13 - vendor/ZMQ/RELICENSE/hgourvest.md | 16 - vendor/ZMQ/RELICENSE/hnwyllmm.md | 15 - vendor/ZMQ/RELICENSE/hoditohod.md | 15 - vendor/ZMQ/RELICENSE/hpsaturn.md | 9 - vendor/ZMQ/RELICENSE/hsw.md | 16 - vendor/ZMQ/RELICENSE/ianbarber.md | 15 - vendor/ZMQ/RELICENSE/imatix.md | 23 - vendor/ZMQ/RELICENSE/imkcy9.md | 16 - vendor/ZMQ/RELICENSE/inuik.md | 17 - vendor/ZMQ/RELICENSE/ipa.md | 17 - vendor/ZMQ/RELICENSE/ipechorin.md | 17 - vendor/ZMQ/RELICENSE/jackpimbert.md | 18 - vendor/ZMQ/RELICENSE/jacquesg.md | 17 - vendor/ZMQ/RELICENSE/jakecobb.md | 13 - vendor/ZMQ/RELICENSE/jbreams.md | 17 - vendor/ZMQ/RELICENSE/jcfr.md | 13 - vendor/ZMQ/RELICENSE/jcourreges.md | 13 - vendor/ZMQ/RELICENSE/jean-airoldie.md | 7 - vendor/ZMQ/RELICENSE/jemc.md | 15 - vendor/ZMQ/RELICENSE/jens.auer.md | 15 - vendor/ZMQ/RELICENSE/jimenezrick.md | 16 - vendor/ZMQ/RELICENSE/jimklimov.md | 17 - vendor/ZMQ/RELICENSE/jkryl.md | 15 - vendor/ZMQ/RELICENSE/jlauenercern.md | 15 - vendor/ZMQ/RELICENSE/jlsantiago0.md | 13 - vendor/ZMQ/RELICENSE/johntconklin.md | 15 - vendor/ZMQ/RELICENSE/jruffin.md | 14 - vendor/ZMQ/RELICENSE/jsyoo5b.md | 15 - vendor/ZMQ/RELICENSE/kaczmarj.md | 15 - vendor/ZMQ/RELICENSE/kalantar.md | 15 - vendor/ZMQ/RELICENSE/kanonet.md | 8 - vendor/ZMQ/RELICENSE/kentzo.md | 15 - vendor/ZMQ/RELICENSE/kfish.md | 17 - vendor/ZMQ/RELICENSE/kobolog.md | 12 - vendor/ZMQ/RELICENSE/kreuzberger.md | 13 - vendor/ZMQ/RELICENSE/kurdybacha.md | 15 - vendor/ZMQ/RELICENSE/laplaceyang.md | 16 - .../RELICENSE/latchmoor-services-carcich.md | 16 - vendor/ZMQ/RELICENSE/leonarf.md | 14 - vendor/ZMQ/RELICENSE/liedtkeInTUM.md | 13 - vendor/ZMQ/RELICENSE/linville.md | 15 - vendor/ZMQ/RELICENSE/loachfish.md | 15 - vendor/ZMQ/RELICENSE/lodagro.md | 14 - vendor/ZMQ/RELICENSE/lourens.md | 15 - vendor/ZMQ/RELICENSE/lstacul.md | 14 - vendor/ZMQ/RELICENSE/madebr.md | 15 - vendor/ZMQ/RELICENSE/malexzx.md | 13 - vendor/ZMQ/RELICENSE/mancasg.md | 15 - vendor/ZMQ/RELICENSE/martin-ksti.md | 16 - vendor/ZMQ/RELICENSE/mattconnolly.md | 15 - vendor/ZMQ/RELICENSE/mauri-melato.md | 13 - vendor/ZMQ/RELICENSE/mbarbisan.md | 14 - vendor/ZMQ/RELICENSE/mdionisio.md | 13 - vendor/ZMQ/RELICENSE/mditzel.md | 15 - vendor/ZMQ/RELICENSE/meox.md | 15 - vendor/ZMQ/RELICENSE/mesegura.md | 13 - vendor/ZMQ/RELICENSE/mgatny.md | 15 - vendor/ZMQ/RELICENSE/michicc.md | 15 - vendor/ZMQ/RELICENSE/micromass-ricnewton.md | 16 - vendor/ZMQ/RELICENSE/mileschet.md | 6 - vendor/ZMQ/RELICENSE/miniway.md | 15 - vendor/ZMQ/RELICENSE/minrk.md | 15 - vendor/ZMQ/RELICENSE/mipaaa.md | 15 - vendor/ZMQ/RELICENSE/mjvk.md | 16 - vendor/ZMQ/RELICENSE/mkluwe.md | 15 - vendor/ZMQ/RELICENSE/mkoppanen.md | 15 - vendor/ZMQ/RELICENSE/mloy.md | 14 - vendor/ZMQ/RELICENSE/mongodb.md | 17 - vendor/ZMQ/RELICENSE/montoyaedu.md | 15 - vendor/ZMQ/RELICENSE/moretromain.md | 16 - vendor/ZMQ/RELICENSE/mrvn.md | 15 - vendor/ZMQ/RELICENSE/msune.md | 17 - vendor/ZMQ/RELICENSE/murphybytes.md | 15 - vendor/ZMQ/RELICENSE/mvilim.md | 16 - vendor/ZMQ/RELICENSE/mystfit.md | 15 - vendor/ZMQ/RELICENSE/naos_ltd.md | 19 - vendor/ZMQ/RELICENSE/natano.md | 15 - vendor/ZMQ/RELICENSE/neheb.md | 14 - vendor/ZMQ/RELICENSE/ninoles.md | 16 - vendor/ZMQ/RELICENSE/nixman.md | 15 - vendor/ZMQ/RELICENSE/nokia.md | 13 - vendor/ZMQ/RELICENSE/normano.md | 15 - vendor/ZMQ/RELICENSE/ojura.md | 9 - vendor/ZMQ/RELICENSE/olafmandel.md | 13 - vendor/ZMQ/RELICENSE/omegastick.md | 15 - vendor/ZMQ/RELICENSE/opedroso.md | 15 - vendor/ZMQ/RELICENSE/opensource-kymetacorp.md | 15 - vendor/ZMQ/RELICENSE/paddor.md | 13 - vendor/ZMQ/RELICENSE/panlinux.md | 17 - vendor/ZMQ/RELICENSE/pavel-pimenov.md | 15 - vendor/ZMQ/RELICENSE/philippeleite.md | 16 - vendor/ZMQ/RELICENSE/phreed.md | 15 - vendor/ZMQ/RELICENSE/pijyoi.md | 13 - vendor/ZMQ/RELICENSE/pmienk.md | 15 - vendor/ZMQ/RELICENSE/pnnl.md | 15 - vendor/ZMQ/RELICENSE/prarrot.md | 15 - vendor/ZMQ/RELICENSE/psl-felipefarinon.md | 16 - vendor/ZMQ/RELICENSE/ptroja.md | 14 - vendor/ZMQ/RELICENSE/rcxdude.md | 13 - vendor/ZMQ/RELICENSE/reunanen.md | 15 - vendor/ZMQ/RELICENSE/reza-ebrahimi.md | 15 - vendor/ZMQ/RELICENSE/rgagnon24.md | 13 - vendor/ZMQ/RELICENSE/rikvdh.md | 15 - vendor/ZMQ/RELICENSE/rlenferink.md | 15 - vendor/ZMQ/RELICENSE/roalz.md | 13 - vendor/ZMQ/RELICENSE/rodgert.md | 17 - vendor/ZMQ/RELICENSE/rotty.md | 16 - vendor/ZMQ/RELICENSE/sab24.md | 14 - vendor/ZMQ/RELICENSE/sabotagebeats.md | 16 - vendor/ZMQ/RELICENSE/sappo.md | 13 - vendor/ZMQ/RELICENSE/saschavv.md | 15 - vendor/ZMQ/RELICENSE/scemama.md | 15 - vendor/ZMQ/RELICENSE/schulzch.md | 15 - vendor/ZMQ/RELICENSE/sdrsdr.md | 14 - vendor/ZMQ/RELICENSE/serg06.md | 15 - vendor/ZMQ/RELICENSE/shancat.md | 13 - vendor/ZMQ/RELICENSE/sheremetyev.md | 13 - vendor/ZMQ/RELICENSE/shripchenko.md | 15 - vendor/ZMQ/RELICENSE/sigiesec.md | 17 - vendor/ZMQ/RELICENSE/simias.md | 15 - vendor/ZMQ/RELICENSE/skaes.md | 13 - vendor/ZMQ/RELICENSE/skaller.md | 15 - vendor/ZMQ/RELICENSE/skicc.md | 15 - vendor/ZMQ/RELICENSE/somdoron.md | 16 - vendor/ZMQ/RELICENSE/sonoware.md | 13 - vendor/ZMQ/RELICENSE/soulik.md | 15 - vendor/ZMQ/RELICENSE/spotify.md | 15 - vendor/ZMQ/RELICENSE/sradomski.md | 15 - vendor/ZMQ/RELICENSE/ssbl.md | 17 - vendor/ZMQ/RELICENSE/stanpl.md | 15 - vendor/ZMQ/RELICENSE/staticfloat.md | 15 - vendor/ZMQ/RELICENSE/std-any-emplace.md | 15 - vendor/ZMQ/RELICENSE/steve-o.md | 14 - vendor/ZMQ/RELICENSE/straubar.md | 15 - vendor/ZMQ/RELICENSE/suudy.md | 12 - vendor/ZMQ/RELICENSE/swansontec.md | 15 - vendor/ZMQ/RELICENSE/t-b.md | 15 - vendor/ZMQ/RELICENSE/tSed.md | 15 - vendor/ZMQ/RELICENSE/tabe.md | 15 - vendor/ZMQ/RELICENSE/tailhook.md | 16 - vendor/ZMQ/RELICENSE/taotetek.md | 13 - vendor/ZMQ/RELICENSE/tarmo.md | 15 - vendor/ZMQ/RELICENSE/tberkey.md | 14 - .../relicense-template-mplv2-any-osi.txt | 15 - ...license-template-mplv2-share-alike-osi.txt | 15 - .../templates/relicense-template-mplv2.txt | 13 - vendor/ZMQ/RELICENSE/thompsa.md | 15 - vendor/ZMQ/RELICENSE/tommd.md | 13 - vendor/ZMQ/RELICENSE/tomzbench.md | 14 - vendor/ZMQ/RELICENSE/toonetown.md | 17 - vendor/ZMQ/RELICENSE/trevorbernard.md | 16 - vendor/ZMQ/RELICENSE/trya.md | 13 - vendor/ZMQ/RELICENSE/twhittock.md | 15 - vendor/ZMQ/RELICENSE/ulikoehler.md | 16 - vendor/ZMQ/RELICENSE/viciious.md | 13 - vendor/ZMQ/RELICENSE/vortechs2000.md | 13 - vendor/ZMQ/RELICENSE/vtellier.md | 15 - vendor/ZMQ/RELICENSE/vyskocilm.md | 7 - vendor/ZMQ/RELICENSE/wallstprog.md | 16 - vendor/ZMQ/RELICENSE/willstrang.md | 15 - vendor/ZMQ/RELICENSE/xantares.md | 15 - vendor/ZMQ/RELICENSE/xaqq.md | 13 - vendor/ZMQ/RELICENSE/xqcool.mq | 15 - vendor/ZMQ/RELICENSE/yan12125.md | 13 - vendor/ZMQ/RELICENSE/yitzchak.md | 15 - vendor/ZMQ/RELICENSE/yuvallanger.md | 15 - vendor/ZMQ/RELICENSE/zedalaye.md | 14 - vendor/ZMQ/RELICENSE/zoedberg.md | 15 - vendor/ZMQ/RELICENSE/zoobab.md | 15 - vendor/ZMQ/SupportedPlatforms.md | 2 +- vendor/ZMQ/acinclude.m4 | 49 +- vendor/ZMQ/appveyor.yml | 23 +- vendor/ZMQ/autogen.sh | 19 +- vendor/ZMQ/build_qnx/Makefile | 8 + vendor/ZMQ/build_qnx/common.mk | 57 + vendor/ZMQ/build_qnx/nto/Makefile | 8 + vendor/ZMQ/build_qnx/nto/aarch64/Makefile | 8 + vendor/ZMQ/build_qnx/nto/aarch64/le/Makefile | 5 + vendor/ZMQ/build_qnx/nto/x86_64/Makefile | 8 + vendor/ZMQ/build_qnx/nto/x86_64/o/Makefile | 5 + vendor/ZMQ/build_qnx/qnx.nto.toolchain.cmake | 34 + vendor/ZMQ/builds/android/Dockerfile | 81 +- vendor/ZMQ/builds/android/README.md | 157 +- .../builds/android/android_build_helper.sh | 471 +- vendor/ZMQ/builds/android/build.sh | 191 +- vendor/ZMQ/builds/android/ci_build.sh | 40 +- .../cmake/Modules/ZMQSourceRunChecks.cmake | 13 +- .../builds/cmake/Modules2/Findsodium.cmake | 48 - vendor/ZMQ/builds/cmake/NSIS.template32.in | 4 +- vendor/ZMQ/builds/cmake/NSIS.template64.in | 4 +- vendor/ZMQ/builds/cmake/ci_build.sh | 12 +- vendor/ZMQ/builds/cmake/platform.hpp.in | 7 +- vendor/ZMQ/builds/coverage/ci_build.sh | 4 +- .../vs2010/inproc_lat/inproc_lat.vcxproj | 5 +- .../vs2010/inproc_thr/inproc_thr.vcxproj | 5 +- .../vs2010/libzmq.import.props | 3 +- .../deprecated-msvc/vs2010/libzmq.import.xml | 7 +- .../vs2010/libzmq/libzmq.props | 6 +- .../vs2010/libzmq/libzmq.vcxproj | 7 +- .../vs2010/libzmq/libzmq.vcxproj.filters | 8 +- .../deprecated-msvc/vs2010/libzmq/libzmq.xml | 7 +- .../vs2010/local_lat/local_lat.vcxproj | 5 +- .../vs2010/local_thr/local_thr.vcxproj | 5 +- .../vs2010/remote_lat/remote_lat.vcxproj | 5 +- .../vs2010/remote_thr/remote_thr.vcxproj | 5 +- .../vs2012/inproc_lat/inproc_lat.vcxproj | 5 +- .../vs2012/inproc_thr/inproc_thr.vcxproj | 5 +- .../vs2012/libzmq.import.props | 3 +- .../deprecated-msvc/vs2012/libzmq.import.xml | 7 +- .../vs2012/libzmq/libzmq.props | 6 +- .../vs2012/libzmq/libzmq.vcxproj | 9 +- .../vs2012/libzmq/libzmq.vcxproj.filters | 8 +- .../deprecated-msvc/vs2012/libzmq/libzmq.xml | 7 +- .../vs2012/local_lat/local_lat.vcxproj | 5 +- .../vs2012/local_thr/local_thr.vcxproj | 5 +- .../vs2012/remote_lat/remote_lat.vcxproj | 5 +- .../vs2012/remote_thr/remote_thr.vcxproj | 5 +- .../vs2013/inproc_lat/inproc_lat.vcxproj | 5 +- .../vs2013/inproc_thr/inproc_thr.vcxproj | 5 +- .../vs2013/libzmq.import.props | 3 +- .../deprecated-msvc/vs2013/libzmq.import.xml | 7 +- .../vs2013/libzmq/libzmq.props | 6 +- .../vs2013/libzmq/libzmq.vcxproj | 9 +- .../vs2013/libzmq/libzmq.vcxproj.filters | 8 +- .../deprecated-msvc/vs2013/libzmq/libzmq.xml | 7 +- .../vs2013/local_lat/local_lat.vcxproj | 5 +- .../vs2013/local_thr/local_thr.vcxproj | 5 +- .../vs2013/remote_lat/remote_lat.vcxproj | 5 +- .../vs2013/remote_thr/remote_thr.vcxproj | 5 +- .../vs2015/inproc_lat/inproc_lat.vcxproj | 5 +- .../vs2015/inproc_thr/inproc_thr.vcxproj | 5 +- .../vs2015/libzmq.import.props | 3 +- .../deprecated-msvc/vs2015/libzmq.import.xml | 7 +- .../vs2015/libzmq/libzmq.props | 6 +- .../vs2015/libzmq/libzmq.vcxproj | 9 +- .../vs2015/libzmq/libzmq.vcxproj.filters | 8 +- .../deprecated-msvc/vs2015/libzmq/libzmq.xml | 7 +- .../vs2015/local_lat/local_lat.vcxproj | 5 +- .../vs2015/local_thr/local_thr.vcxproj | 5 +- .../vs2015/remote_lat/remote_lat.vcxproj | 5 +- .../vs2015/remote_thr/remote_thr.vcxproj | 5 +- .../vs2015_xp/test_zmq/test_multithread.cpp | 8 +- .../vs2017/inproc_lat/inproc_lat.vcxproj | 5 +- .../vs2017/inproc_thr/inproc_thr.vcxproj | 5 +- .../vs2017/libzmq.import.props | 3 +- .../deprecated-msvc/vs2017/libzmq.import.xml | 7 +- .../vs2017/libzmq/libzmq.props | 6 +- .../vs2017/libzmq/libzmq.vcxproj | 9 +- .../vs2017/libzmq/libzmq.vcxproj.filters | 8 +- .../deprecated-msvc/vs2017/libzmq/libzmq.xml | 7 +- .../vs2017/local_lat/local_lat.vcxproj | 5 +- .../vs2017/local_thr/local_thr.vcxproj | 5 +- .../vs2017/remote_lat/remote_lat.vcxproj | 5 +- .../vs2017/remote_thr/remote_thr.vcxproj | 5 +- vendor/ZMQ/builds/gyp/platform.hpp | 30 +- vendor/ZMQ/builds/gyp/project.gyp | 2 - vendor/ZMQ/builds/mingw32/platform.hpp | 29 +- vendor/ZMQ/builds/nuget/libzmq.autopkg | 2 +- vendor/ZMQ/builds/nuget/readme.nuget | 2 +- vendor/ZMQ/builds/valgrind/ci_build.sh | 2 +- vendor/ZMQ/builds/zos/README.md | 6 +- vendor/ZMQ/builds/zos/runtests | 2 +- vendor/ZMQ/builds/zos/test_fork.cpp | 29 +- vendor/ZMQ/builds/zos/zc++ | 2 +- vendor/ZMQ/ci_deploy.sh | 8 - vendor/ZMQ/config.sh | 2 +- vendor/ZMQ/configure.ac | 68 +- vendor/ZMQ/doc/Makefile.am | 2 +- vendor/ZMQ/doc/zmq.txt | 8 +- vendor/ZMQ/doc/zmq_ctx_set.txt | 3 +- vendor/ZMQ/doc/zmq_disconnect.txt | 2 +- vendor/ZMQ/doc/zmq_getsockopt.txt | 175 +- vendor/ZMQ/doc/zmq_pgm.txt | 2 +- vendor/ZMQ/doc/zmq_poll.txt | 4 +- vendor/ZMQ/doc/zmq_poller.txt | 30 +- vendor/ZMQ/doc/zmq_ppoll.txt | 140 + vendor/ZMQ/doc/zmq_proxy_steerable.txt | 100 +- vendor/ZMQ/doc/zmq_setsockopt.txt | 185 +- .../ZMQ/doc/zmq_socket_monitor_versioned.txt | 15 +- vendor/ZMQ/doc/zmq_tcp.txt | 4 +- vendor/ZMQ/doc/zmq_udp.txt | 4 +- vendor/ZMQ/doc/zmq_unbind.txt | 2 +- vendor/ZMQ/include/zmq.h | 78 +- vendor/ZMQ/include/zmq_utils.h | 29 +- vendor/ZMQ/packaging/debian/copyright | 64 +- .../debian/{zeromq.dsc.obs => zeromq.dsc} | 0 vendor/ZMQ/packaging/nuget/package.gsl | 10 +- vendor/ZMQ/packaging/nuget/package.nuspec | 6 +- vendor/ZMQ/packaging/nuget/package.targets | 2 - vendor/ZMQ/packaging/redhat/zeromq.spec | 51 +- vendor/ZMQ/perf/benchmark_radix_tree.cpp | 29 +- vendor/ZMQ/perf/inproc_lat.cpp | 29 +- vendor/ZMQ/perf/inproc_thr.cpp | 31 +- vendor/ZMQ/perf/local_lat.cpp | 29 +- vendor/ZMQ/perf/local_thr.cpp | 29 +- vendor/ZMQ/perf/proxy_thr.cpp | 29 +- vendor/ZMQ/perf/remote_lat.cpp | 29 +- vendor/ZMQ/perf/remote_thr.cpp | 29 +- vendor/ZMQ/src/address.cpp | 33 +- vendor/ZMQ/src/address.hpp | 29 +- vendor/ZMQ/src/array.hpp | 29 +- vendor/ZMQ/src/atomic_counter.hpp | 34 +- vendor/ZMQ/src/atomic_ptr.hpp | 29 +- vendor/ZMQ/src/blob.hpp | 60 +- vendor/ZMQ/src/channel.cpp | 32 +- vendor/ZMQ/src/channel.hpp | 29 +- vendor/ZMQ/src/client.cpp | 29 +- vendor/ZMQ/src/client.hpp | 29 +- vendor/ZMQ/src/clock.cpp | 40 +- vendor/ZMQ/src/clock.hpp | 29 +- vendor/ZMQ/src/command.hpp | 29 +- vendor/ZMQ/src/compat.hpp | 29 +- vendor/ZMQ/src/condition_variable.hpp | 29 +- vendor/ZMQ/src/config.hpp | 29 +- vendor/ZMQ/src/ctx.cpp | 36 +- vendor/ZMQ/src/ctx.hpp | 29 +- vendor/ZMQ/src/curve_client.cpp | 29 +- vendor/ZMQ/src/curve_client.hpp | 29 +- vendor/ZMQ/src/curve_client_tools.hpp | 33 +- vendor/ZMQ/src/curve_mechanism_base.cpp | 29 +- vendor/ZMQ/src/curve_mechanism_base.hpp | 33 +- vendor/ZMQ/src/curve_server.cpp | 29 +- vendor/ZMQ/src/curve_server.hpp | 29 +- vendor/ZMQ/src/dbuffer.hpp | 29 +- vendor/ZMQ/src/dealer.cpp | 32 +- vendor/ZMQ/src/dealer.hpp | 29 +- vendor/ZMQ/src/decoder.hpp | 34 +- vendor/ZMQ/src/decoder_allocators.cpp | 30 +- vendor/ZMQ/src/decoder_allocators.hpp | 29 +- vendor/ZMQ/src/devpoll.cpp | 29 +- vendor/ZMQ/src/devpoll.hpp | 29 +- vendor/ZMQ/src/dgram.cpp | 33 +- vendor/ZMQ/src/dgram.hpp | 29 +- vendor/ZMQ/src/dish.cpp | 32 +- vendor/ZMQ/src/dish.hpp | 29 +- vendor/ZMQ/src/dist.cpp | 34 +- vendor/ZMQ/src/dist.hpp | 29 +- vendor/ZMQ/src/encoder.hpp | 29 +- vendor/ZMQ/src/endpoint.cpp | 29 +- vendor/ZMQ/src/endpoint.hpp | 33 +- vendor/ZMQ/src/epoll.cpp | 33 +- vendor/ZMQ/src/epoll.hpp | 31 +- vendor/ZMQ/src/err.cpp | 29 +- vendor/ZMQ/src/err.hpp | 31 +- vendor/ZMQ/src/fd.hpp | 29 +- vendor/ZMQ/src/fq.cpp | 29 +- vendor/ZMQ/src/fq.hpp | 29 +- vendor/ZMQ/src/gather.cpp | 29 +- vendor/ZMQ/src/gather.hpp | 29 +- vendor/ZMQ/src/generic_mtrie.hpp | 36 +- vendor/ZMQ/src/generic_mtrie_impl.hpp | 49 +- vendor/ZMQ/src/gssapi_client.cpp | 29 +- vendor/ZMQ/src/gssapi_client.hpp | 29 +- vendor/ZMQ/src/gssapi_mechanism_base.cpp | 29 +- vendor/ZMQ/src/gssapi_mechanism_base.hpp | 29 +- vendor/ZMQ/src/gssapi_server.cpp | 29 +- vendor/ZMQ/src/gssapi_server.hpp | 29 +- vendor/ZMQ/src/i_decoder.hpp | 29 +- vendor/ZMQ/src/i_encoder.hpp | 29 +- vendor/ZMQ/src/i_engine.hpp | 29 +- vendor/ZMQ/src/i_mailbox.hpp | 29 +- vendor/ZMQ/src/i_poll_events.hpp | 29 +- vendor/ZMQ/src/io_object.cpp | 29 +- vendor/ZMQ/src/io_object.hpp | 29 +- vendor/ZMQ/src/io_thread.cpp | 29 +- vendor/ZMQ/src/io_thread.hpp | 29 +- vendor/ZMQ/src/ip.cpp | 45 +- vendor/ZMQ/src/ip.hpp | 31 +- vendor/ZMQ/src/ip_resolver.hpp | 29 +- vendor/ZMQ/src/ipc_address.cpp | 29 +- vendor/ZMQ/src/ipc_address.hpp | 29 +- vendor/ZMQ/src/ipc_connecter.cpp | 29 +- vendor/ZMQ/src/ipc_connecter.hpp | 29 +- vendor/ZMQ/src/ipc_listener.cpp | 32 +- vendor/ZMQ/src/ipc_listener.hpp | 29 +- vendor/ZMQ/src/kqueue.cpp | 35 +- vendor/ZMQ/src/kqueue.hpp | 29 +- vendor/ZMQ/src/lb.cpp | 29 +- vendor/ZMQ/src/lb.hpp | 29 +- vendor/ZMQ/src/likely.hpp | 29 +- vendor/ZMQ/src/mailbox.cpp | 29 +- vendor/ZMQ/src/mailbox.hpp | 34 +- vendor/ZMQ/src/mailbox_safe.cpp | 29 +- vendor/ZMQ/src/mailbox_safe.hpp | 29 +- vendor/ZMQ/src/mechanism.cpp | 29 +- vendor/ZMQ/src/mechanism.hpp | 29 +- vendor/ZMQ/src/mechanism_base.cpp | 32 +- vendor/ZMQ/src/mechanism_base.hpp | 29 +- vendor/ZMQ/src/metadata.cpp | 29 +- vendor/ZMQ/src/metadata.hpp | 29 +- vendor/ZMQ/src/msg.cpp | 29 +- vendor/ZMQ/src/msg.hpp | 31 +- vendor/ZMQ/src/mtrie.cpp | 29 +- vendor/ZMQ/src/mtrie.hpp | 29 +- vendor/ZMQ/src/mutex.hpp | 29 +- vendor/ZMQ/src/norm_engine.cpp | 74 +- vendor/ZMQ/src/null_mechanism.cpp | 29 +- vendor/ZMQ/src/null_mechanism.hpp | 29 +- vendor/ZMQ/src/object.cpp | 32 +- vendor/ZMQ/src/object.hpp | 29 +- vendor/ZMQ/src/options.cpp | 148 +- vendor/ZMQ/src/options.hpp | 43 +- vendor/ZMQ/src/own.cpp | 31 +- vendor/ZMQ/src/own.hpp | 29 +- vendor/ZMQ/src/pair.cpp | 32 +- vendor/ZMQ/src/pair.hpp | 29 +- vendor/ZMQ/src/peer.cpp | 29 +- vendor/ZMQ/src/peer.hpp | 29 +- vendor/ZMQ/src/pgm_receiver.cpp | 29 +- vendor/ZMQ/src/pgm_receiver.hpp | 29 +- vendor/ZMQ/src/pgm_sender.cpp | 31 +- vendor/ZMQ/src/pgm_sender.hpp | 29 +- vendor/ZMQ/src/pgm_socket.cpp | 29 +- vendor/ZMQ/src/pgm_socket.hpp | 29 +- vendor/ZMQ/src/pipe.cpp | 29 +- vendor/ZMQ/src/pipe.hpp | 29 +- vendor/ZMQ/src/plain_client.cpp | 32 +- vendor/ZMQ/src/plain_client.hpp | 29 +- vendor/ZMQ/src/plain_common.hpp | 29 +- vendor/ZMQ/src/plain_server.cpp | 29 +- vendor/ZMQ/src/plain_server.hpp | 29 +- vendor/ZMQ/src/poll.cpp | 32 +- vendor/ZMQ/src/poll.hpp | 29 +- vendor/ZMQ/src/poller.hpp | 29 +- vendor/ZMQ/src/poller_base.cpp | 29 +- vendor/ZMQ/src/poller_base.hpp | 29 +- vendor/ZMQ/src/polling_util.cpp | 29 +- vendor/ZMQ/src/polling_util.hpp | 47 +- vendor/ZMQ/src/pollset.cpp | 32 +- vendor/ZMQ/src/pollset.hpp | 29 +- vendor/ZMQ/src/precompiled.cpp | 29 +- vendor/ZMQ/src/precompiled.hpp | 31 +- vendor/ZMQ/src/proxy.cpp | 266 +- vendor/ZMQ/src/proxy.hpp | 33 +- vendor/ZMQ/src/pub.cpp | 29 +- vendor/ZMQ/src/pub.hpp | 29 +- vendor/ZMQ/src/pull.cpp | 29 +- vendor/ZMQ/src/pull.hpp | 29 +- vendor/ZMQ/src/push.cpp | 29 +- vendor/ZMQ/src/push.hpp | 29 +- vendor/ZMQ/src/radio.cpp | 32 +- vendor/ZMQ/src/radio.hpp | 29 +- vendor/ZMQ/src/radix_tree.cpp | 41 +- vendor/ZMQ/src/radix_tree.hpp | 33 +- vendor/ZMQ/src/random.cpp | 116 +- vendor/ZMQ/src/random.hpp | 29 +- vendor/ZMQ/src/raw_decoder.cpp | 29 +- vendor/ZMQ/src/raw_decoder.hpp | 29 +- vendor/ZMQ/src/raw_encoder.cpp | 29 +- vendor/ZMQ/src/raw_encoder.hpp | 29 +- vendor/ZMQ/src/raw_engine.cpp | 31 +- vendor/ZMQ/src/raw_engine.hpp | 29 +- vendor/ZMQ/src/reaper.cpp | 29 +- vendor/ZMQ/src/reaper.hpp | 29 +- vendor/ZMQ/src/rep.cpp | 29 +- vendor/ZMQ/src/rep.hpp | 29 +- vendor/ZMQ/src/req.cpp | 31 +- vendor/ZMQ/src/req.hpp | 29 +- vendor/ZMQ/src/router.cpp | 33 +- vendor/ZMQ/src/router.hpp | 29 +- vendor/ZMQ/src/scatter.cpp | 29 +- vendor/ZMQ/src/scatter.hpp | 29 +- vendor/ZMQ/src/secure_allocator.hpp | 46 +- vendor/ZMQ/src/select.cpp | 33 +- vendor/ZMQ/src/select.hpp | 29 +- vendor/ZMQ/src/server.cpp | 29 +- vendor/ZMQ/src/server.hpp | 29 +- vendor/ZMQ/src/session_base.cpp | 29 +- vendor/ZMQ/src/session_base.hpp | 31 +- vendor/ZMQ/src/signaler.cpp | 29 +- vendor/ZMQ/src/signaler.hpp | 29 +- vendor/ZMQ/src/socket_base.cpp | 71 +- vendor/ZMQ/src/socket_base.hpp | 34 +- vendor/ZMQ/src/socket_poller.cpp | 29 +- vendor/ZMQ/src/socket_poller.hpp | 29 +- vendor/ZMQ/src/socks.cpp | 49 +- vendor/ZMQ/src/socks.hpp | 29 +- vendor/ZMQ/src/socks_connecter.cpp | 29 +- vendor/ZMQ/src/socks_connecter.hpp | 29 +- vendor/ZMQ/src/stdint.hpp | 29 +- vendor/ZMQ/src/stream.cpp | 29 +- vendor/ZMQ/src/stream.hpp | 29 +- vendor/ZMQ/src/stream_connecter_base.cpp | 76 +- vendor/ZMQ/src/stream_connecter_base.hpp | 29 +- vendor/ZMQ/src/stream_engine_base.cpp | 37 +- vendor/ZMQ/src/stream_engine_base.hpp | 31 +- vendor/ZMQ/src/stream_listener_base.cpp | 29 +- vendor/ZMQ/src/stream_listener_base.hpp | 29 +- vendor/ZMQ/src/sub.cpp | 29 +- vendor/ZMQ/src/sub.hpp | 29 +- vendor/ZMQ/src/tcp.cpp | 29 +- vendor/ZMQ/src/tcp.hpp | 29 +- vendor/ZMQ/src/tcp_address.cpp | 35 +- vendor/ZMQ/src/tcp_address.hpp | 29 +- vendor/ZMQ/src/tcp_connecter.cpp | 29 +- vendor/ZMQ/src/tcp_connecter.hpp | 29 +- vendor/ZMQ/src/tcp_listener.cpp | 29 +- vendor/ZMQ/src/tcp_listener.hpp | 29 +- vendor/ZMQ/src/thread.cpp | 48 +- vendor/ZMQ/src/thread.hpp | 31 +- vendor/ZMQ/src/timers.cpp | 29 +- vendor/ZMQ/src/timers.hpp | 31 +- vendor/ZMQ/src/tipc_address.cpp | 29 +- vendor/ZMQ/src/tipc_address.hpp | 29 +- vendor/ZMQ/src/tipc_connecter.cpp | 29 +- vendor/ZMQ/src/tipc_connecter.hpp | 29 +- vendor/ZMQ/src/tipc_listener.cpp | 29 +- vendor/ZMQ/src/tipc_listener.hpp | 29 +- vendor/ZMQ/src/trie.cpp | 29 +- vendor/ZMQ/src/trie.hpp | 77 +- vendor/ZMQ/src/tweetnacl.c | 993 -- vendor/ZMQ/src/tweetnacl.h | 80 - vendor/ZMQ/src/udp_address.cpp | 34 +- vendor/ZMQ/src/udp_address.hpp | 29 +- vendor/ZMQ/src/udp_engine.cpp | 37 +- vendor/ZMQ/src/v1_decoder.cpp | 32 +- vendor/ZMQ/src/v1_decoder.hpp | 29 +- vendor/ZMQ/src/v1_encoder.cpp | 29 +- vendor/ZMQ/src/v1_encoder.hpp | 29 +- vendor/ZMQ/src/v2_decoder.cpp | 29 +- vendor/ZMQ/src/v2_decoder.hpp | 29 +- vendor/ZMQ/src/v2_encoder.cpp | 29 +- vendor/ZMQ/src/v2_encoder.hpp | 29 +- vendor/ZMQ/src/v2_protocol.hpp | 29 +- vendor/ZMQ/src/v3_1_encoder.cpp | 35 +- vendor/ZMQ/src/v3_1_encoder.hpp | 29 +- vendor/ZMQ/src/vmci.cpp | 29 +- vendor/ZMQ/src/vmci.hpp | 29 +- vendor/ZMQ/src/vmci_address.cpp | 29 +- vendor/ZMQ/src/vmci_address.hpp | 29 +- vendor/ZMQ/src/vmci_connecter.cpp | 29 +- vendor/ZMQ/src/vmci_connecter.hpp | 29 +- vendor/ZMQ/src/vmci_listener.cpp | 29 +- vendor/ZMQ/src/vmci_listener.hpp | 29 +- vendor/ZMQ/src/windows.hpp | 42 +- vendor/ZMQ/src/wire.hpp | 29 +- vendor/ZMQ/src/ws_address.cpp | 29 +- vendor/ZMQ/src/ws_address.hpp | 29 +- vendor/ZMQ/src/ws_connecter.cpp | 29 +- vendor/ZMQ/src/ws_connecter.hpp | 29 +- vendor/ZMQ/src/ws_decoder.cpp | 29 +- vendor/ZMQ/src/ws_decoder.hpp | 29 +- vendor/ZMQ/src/ws_encoder.cpp | 32 +- vendor/ZMQ/src/ws_encoder.hpp | 29 +- vendor/ZMQ/src/ws_engine.cpp | 31 +- vendor/ZMQ/src/ws_engine.hpp | 29 +- vendor/ZMQ/src/ws_listener.cpp | 32 +- vendor/ZMQ/src/ws_listener.hpp | 29 +- vendor/ZMQ/src/ws_protocol.hpp | 29 +- vendor/ZMQ/src/wss_address.cpp | 29 +- vendor/ZMQ/src/wss_address.hpp | 29 +- vendor/ZMQ/src/wss_engine.cpp | 44 +- vendor/ZMQ/src/wss_engine.hpp | 29 +- vendor/ZMQ/src/xpub.cpp | 44 +- vendor/ZMQ/src/xpub.hpp | 30 +- vendor/ZMQ/src/xsub.cpp | 62 +- vendor/ZMQ/src/xsub.hpp | 36 +- vendor/ZMQ/src/ypipe.hpp | 35 +- vendor/ZMQ/src/ypipe_base.hpp | 29 +- vendor/ZMQ/src/ypipe_conflate.hpp | 46 +- vendor/ZMQ/src/yqueue.hpp | 29 +- vendor/ZMQ/src/zap_client.cpp | 32 +- vendor/ZMQ/src/zap_client.hpp | 29 +- vendor/ZMQ/src/zmq.cpp | 342 +- vendor/ZMQ/src/zmq_draft.h | 59 +- vendor/ZMQ/src/zmq_utils.cpp | 37 +- vendor/ZMQ/src/zmtp_engine.cpp | 29 +- vendor/ZMQ/src/zmtp_engine.hpp | 29 +- vendor/ZMQ/tests/CMakeLists.txt | 205 +- vendor/ZMQ/tests/test_abstract_ipc.cpp | 29 +- vendor/ZMQ/tests/test_address_tipc.cpp | 29 +- vendor/ZMQ/tests/test_ancillaries.cpp | 29 +- vendor/ZMQ/tests/test_app_meta.cpp | 29 +- vendor/ZMQ/tests/test_atomics.cpp | 29 +- vendor/ZMQ/tests/test_base85.cpp | 29 +- .../ZMQ/tests/test_bind_after_connect_tcp.cpp | 29 +- vendor/ZMQ/tests/test_bind_curve_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_bind_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_bind_null_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_bind_src_address.cpp | 29 +- vendor/ZMQ/tests/test_bind_stream_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_bind_ws_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_busy_poll.cpp | 29 +- vendor/ZMQ/tests/test_capabilities.cpp | 29 +- vendor/ZMQ/tests/test_channel.cpp | 29 +- vendor/ZMQ/tests/test_client_server.cpp | 29 +- vendor/ZMQ/tests/test_conflate.cpp | 29 +- .../ZMQ/tests/test_connect_curve_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_connect_delay_tipc.cpp | 29 +- vendor/ZMQ/tests/test_connect_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_connect_null_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_connect_resolve.cpp | 29 +- vendor/ZMQ/tests/test_connect_rid.cpp | 29 +- .../ZMQ/tests/test_connect_stream_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_connect_ws_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_ctx_destroy.cpp | 29 +- vendor/ZMQ/tests/test_ctx_options.cpp | 29 +- vendor/ZMQ/tests/test_dgram.cpp | 29 +- vendor/ZMQ/tests/test_diffserv.cpp | 29 +- vendor/ZMQ/tests/test_disconnect_inproc.cpp | 29 +- vendor/ZMQ/tests/test_disconnect_msg.cpp | 29 +- vendor/ZMQ/tests/test_filter_ipc.cpp | 45 +- vendor/ZMQ/tests/test_fork.cpp | 29 +- vendor/ZMQ/tests/test_getsockopt_memset.cpp | 24 +- vendor/ZMQ/tests/test_heartbeats.cpp | 26 +- vendor/ZMQ/tests/test_hello_msg.cpp | 29 +- vendor/ZMQ/tests/test_hiccup_msg.cpp | 29 +- vendor/ZMQ/tests/test_hwm.cpp | 29 +- vendor/ZMQ/tests/test_hwm_pubsub.cpp | 34 +- vendor/ZMQ/tests/test_immediate.cpp | 33 +- vendor/ZMQ/tests/test_inproc_connect.cpp | 33 +- vendor/ZMQ/tests/test_invalid_rep.cpp | 29 +- vendor/ZMQ/tests/test_iov.cpp | 29 +- vendor/ZMQ/tests/test_ipc_wildcard.cpp | 29 +- vendor/ZMQ/tests/test_issue_566.cpp | 31 +- vendor/ZMQ/tests/test_last_endpoint.cpp | 29 +- vendor/ZMQ/tests/test_many_sockets.cpp | 29 +- vendor/ZMQ/tests/test_metadata.cpp | 80 +- vendor/ZMQ/tests/test_mock_pub_sub.cpp | 19 +- vendor/ZMQ/tests/test_monitor.cpp | 35 +- vendor/ZMQ/tests/test_msg_ffn.cpp | 29 +- vendor/ZMQ/tests/test_msg_flags.cpp | 29 +- vendor/ZMQ/tests/test_msg_init.cpp | 29 +- vendor/ZMQ/tests/test_pair_inproc.cpp | 29 +- vendor/ZMQ/tests/test_pair_ipc.cpp | 29 +- vendor/ZMQ/tests/test_pair_tcp.cpp | 29 +- .../ZMQ/tests/test_pair_tcp_cap_net_admin.cpp | 37 +- vendor/ZMQ/tests/test_pair_tipc.cpp | 29 +- vendor/ZMQ/tests/test_pair_vmci.cpp | 41 +- vendor/ZMQ/tests/test_peer.cpp | 29 +- vendor/ZMQ/tests/test_poller.cpp | 34 +- vendor/ZMQ/tests/test_probe_router.cpp | 29 +- vendor/ZMQ/tests/test_proxy.cpp | 182 +- vendor/ZMQ/tests/test_proxy_hwm.cpp | 115 +- vendor/ZMQ/tests/test_proxy_single_socket.cpp | 39 +- vendor/ZMQ/tests/test_proxy_terminate.cpp | 39 +- vendor/ZMQ/tests/test_pub_invert_matching.cpp | 29 +- vendor/ZMQ/tests/test_pubsub.cpp | 29 +- vendor/ZMQ/tests/test_pubsub_topics_count.cpp | 124 + vendor/ZMQ/tests/test_radio_dish.cpp | 34 +- vendor/ZMQ/tests/test_rebind_ipc.cpp | 29 +- vendor/ZMQ/tests/test_reconnect_ivl.cpp | 29 +- vendor/ZMQ/tests/test_reconnect_options.cpp | 29 +- vendor/ZMQ/tests/test_req_correlate.cpp | 29 +- vendor/ZMQ/tests/test_req_relaxed.cpp | 29 +- vendor/ZMQ/tests/test_reqrep_device.cpp | 29 +- vendor/ZMQ/tests/test_reqrep_device_tipc.cpp | 29 +- vendor/ZMQ/tests/test_reqrep_inproc.cpp | 29 +- vendor/ZMQ/tests/test_reqrep_ipc.cpp | 29 +- vendor/ZMQ/tests/test_reqrep_tcp.cpp | 37 +- vendor/ZMQ/tests/test_reqrep_tipc.cpp | 29 +- vendor/ZMQ/tests/test_reqrep_vmci.cpp | 41 +- vendor/ZMQ/tests/test_router_handover.cpp | 29 +- vendor/ZMQ/tests/test_router_mandatory.cpp | 29 +- .../ZMQ/tests/test_router_mandatory_hwm.cpp | 31 +- .../ZMQ/tests/test_router_mandatory_tipc.cpp | 29 +- vendor/ZMQ/tests/test_router_notify.cpp | 29 +- vendor/ZMQ/tests/test_scatter_gather.cpp | 29 +- vendor/ZMQ/tests/test_security_curve.cpp | 41 +- vendor/ZMQ/tests/test_security_gssapi.cpp | 31 +- .../tests/test_security_no_zap_handler.cpp | 29 +- vendor/ZMQ/tests/test_security_null.cpp | 29 +- vendor/ZMQ/tests/test_security_plain.cpp | 29 +- vendor/ZMQ/tests/test_security_zap.cpp | 29 +- vendor/ZMQ/tests/test_setsockopt.cpp | 31 +- vendor/ZMQ/tests/test_shutdown_stress.cpp | 31 +- .../ZMQ/tests/test_shutdown_stress_tipc.cpp | 29 +- vendor/ZMQ/tests/test_socket_null.cpp | 29 +- .../ZMQ/tests/test_socket_options_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_sockopt_hwm.cpp | 29 +- vendor/ZMQ/tests/test_socks.cpp | 31 +- vendor/ZMQ/tests/test_sodium.cpp | 29 +- vendor/ZMQ/tests/test_spec_dealer.cpp | 34 +- vendor/ZMQ/tests/test_spec_pushpull.cpp | 31 +- vendor/ZMQ/tests/test_spec_rep.cpp | 29 +- vendor/ZMQ/tests/test_spec_req.cpp | 31 +- vendor/ZMQ/tests/test_spec_router.cpp | 34 +- vendor/ZMQ/tests/test_srcfd.cpp | 29 +- vendor/ZMQ/tests/test_stream.cpp | 29 +- vendor/ZMQ/tests/test_stream_disconnect.cpp | 33 +- vendor/ZMQ/tests/test_stream_empty.cpp | 29 +- .../ZMQ/tests/test_stream_exceeds_buffer.cpp | 29 +- vendor/ZMQ/tests/test_stream_timeout.cpp | 29 +- vendor/ZMQ/tests/test_sub_forward.cpp | 29 +- vendor/ZMQ/tests/test_sub_forward_tipc.cpp | 29 +- vendor/ZMQ/tests/test_system.cpp | 29 +- vendor/ZMQ/tests/test_tcp_accept_filter.cpp | 34 +- vendor/ZMQ/tests/test_term_endpoint.cpp | 39 +- vendor/ZMQ/tests/test_term_endpoint_tipc.cpp | 29 +- vendor/ZMQ/tests/test_thread_safe.cpp | 29 +- vendor/ZMQ/tests/test_timeo.cpp | 29 +- vendor/ZMQ/tests/test_timers.cpp | 29 +- vendor/ZMQ/tests/test_unbind_wildcard.cpp | 31 +- vendor/ZMQ/tests/test_use_fd.cpp | 29 +- vendor/ZMQ/tests/test_ws_transport.cpp | 32 +- vendor/ZMQ/tests/test_wss_transport.cpp | 31 +- vendor/ZMQ/tests/test_xpub_manual.cpp | 29 +- .../ZMQ/tests/test_xpub_manual_last_value.cpp | 29 +- vendor/ZMQ/tests/test_xpub_nodrop.cpp | 29 +- vendor/ZMQ/tests/test_xpub_topic.cpp | 85 + vendor/ZMQ/tests/test_xpub_verbose.cpp | 29 +- vendor/ZMQ/tests/test_xpub_welcome_msg.cpp | 29 +- vendor/ZMQ/tests/test_xsub_verbose.cpp | 104 + vendor/ZMQ/tests/test_z85_decode_fuzzer.cpp | 29 +- vendor/ZMQ/tests/test_zmq_poll_fd.cpp | 29 +- vendor/ZMQ/tests/test_zmq_ppoll_fd.cpp | 63 + vendor/ZMQ/tests/test_zmq_ppoll_signals.cpp | 173 + vendor/ZMQ/tests/testutil.cpp | 68 +- vendor/ZMQ/tests/testutil.hpp | 29 +- vendor/ZMQ/tests/testutil_monitoring.cpp | 45 +- vendor/ZMQ/tests/testutil_monitoring.hpp | 31 +- vendor/ZMQ/tests/testutil_security.cpp | 29 +- vendor/ZMQ/tests/testutil_security.hpp | 31 +- vendor/ZMQ/tests/testutil_unity.cpp | 29 +- vendor/ZMQ/tests/testutil_unity.hpp | 39 +- vendor/ZMQ/tools/curve_keygen.cpp | 29 +- .../ZMQ/unittests/unittest_curve_encoding.cpp | 33 +- vendor/ZMQ/unittests/unittest_ip_resolver.cpp | 19 +- vendor/ZMQ/unittests/unittest_mtrie.cpp | 44 +- vendor/ZMQ/unittests/unittest_poller.cpp | 19 +- vendor/ZMQ/unittests/unittest_radix_tree.cpp | 19 +- .../unittests/unittest_resolver_common.hpp | 19 +- vendor/ZMQ/unittests/unittest_udp_address.cpp | 19 +- vendor/ZMQ/unittests/unittest_ypipe.cpp | 19 +- 1562 files changed, 55070 insertions(+), 76299 deletions(-) create mode 100644 cmake/_FindOpus.cmake create mode 100644 module/Library/Discord.cpp create mode 100644 module/Library/Discord.hpp create mode 100644 module/Library/Discord/Application.cpp create mode 100644 module/Library/Discord/Application.hpp create mode 100644 module/Library/Discord/Automod.cpp create mode 100644 module/Library/Discord/Automod.hpp create mode 100644 module/Library/Discord/Channel.cpp create mode 100644 module/Library/Discord/Channel.hpp create mode 100644 module/Library/Discord/Client.cpp create mode 100644 module/Library/Discord/Client.hpp create mode 100644 module/Library/Discord/Cluster.cpp create mode 100644 module/Library/Discord/Cluster.hpp create mode 100644 module/Library/Discord/Command.cpp create mode 100644 module/Library/Discord/Command.hpp create mode 100644 module/Library/Discord/Constants.cpp create mode 100644 module/Library/Discord/Constants.hpp create mode 100644 module/Library/Discord/Events.cpp create mode 100644 module/Library/Discord/Events.hpp create mode 100644 module/Library/Discord/Guild.cpp create mode 100644 module/Library/Discord/Guild.hpp create mode 100644 module/Library/Discord/Integration.cpp create mode 100644 module/Library/Discord/Integration.hpp create mode 100644 module/Library/Discord/Message.cpp create mode 100644 module/Library/Discord/Message.hpp create mode 100644 module/Library/Discord/Misc.cpp create mode 100644 module/Library/Discord/Misc.hpp create mode 100644 module/Library/Discord/Presence.cpp create mode 100644 module/Library/Discord/Presence.hpp create mode 100644 module/Library/Discord/Role.cpp create mode 100644 module/Library/Discord/Role.hpp create mode 100644 module/Library/Discord/User.cpp create mode 100644 module/Library/Discord/User.hpp create mode 100644 module/Library/Discord/Utilities.cpp create mode 100644 module/Library/Discord/Utilities.hpp create mode 100644 vendor/CPR/cpr/accept_encoding.cpp create mode 100644 vendor/CPR/cpr/async.cpp create mode 100644 vendor/CPR/cpr/callback.cpp create mode 100644 vendor/CPR/cpr/cert_info.cpp create mode 100644 vendor/CPR/cpr/curlmultiholder.cpp create mode 100644 vendor/CPR/cpr/file.cpp create mode 100644 vendor/CPR/cpr/interceptor.cpp create mode 100644 vendor/CPR/cpr/multiperform.cpp create mode 100644 vendor/CPR/cpr/ssl_ctx.cpp create mode 100644 vendor/CPR/cpr/threadpool.cpp create mode 100644 vendor/CPR/include/cpr/accept_encoding.h create mode 100644 vendor/CPR/include/cpr/async.h create mode 100644 vendor/CPR/include/cpr/async_wrapper.h create mode 100644 vendor/CPR/include/cpr/buffer.h create mode 100644 vendor/CPR/include/cpr/cert_info.h create mode 100644 vendor/CPR/include/cpr/cprver.h create mode 100644 vendor/CPR/include/cpr/curlmultiholder.h delete mode 100644 vendor/CPR/include/cpr/digest.h create mode 100644 vendor/CPR/include/cpr/file.h create mode 100644 vendor/CPR/include/cpr/filesystem.h create mode 100644 vendor/CPR/include/cpr/http_version.h create mode 100644 vendor/CPR/include/cpr/interceptor.h create mode 100644 vendor/CPR/include/cpr/local_port.h create mode 100644 vendor/CPR/include/cpr/local_port_range.h create mode 100644 vendor/CPR/include/cpr/multiperform.h delete mode 100644 vendor/CPR/include/cpr/ntlm.h create mode 100644 vendor/CPR/include/cpr/range.h create mode 100644 vendor/CPR/include/cpr/reserve_size.h create mode 100644 vendor/CPR/include/cpr/resolve.h create mode 100644 vendor/CPR/include/cpr/singleton.h create mode 100644 vendor/CPR/include/cpr/ssl_ctx.h create mode 100644 vendor/CPR/include/cpr/threadpool.h create mode 100644 vendor/DPP/buildtools/classes/Packager/Vcpkg.php create mode 100644 vendor/DPP/buildtools/make_vcpkg.php delete mode 100644 vendor/DPP/docpages/01_frequently_asked_questions.md delete mode 100644 vendor/DPP/docpages/01_installing.md delete mode 100644 vendor/DPP/docpages/02_building_a_bot.md delete mode 100644 vendor/DPP/docpages/03_example_programs.md delete mode 100644 vendor/DPP/docpages/04_advanced_reference.md delete mode 100644 vendor/DPP/docpages/DPP-markdown-logo.png delete mode 100644 vendor/DPP/docpages/INDEX.md delete mode 100644 vendor/DPP/docpages/advanced_reference/clusters_shards_and_guilds.md delete mode 100644 vendor/DPP/docpages/advanced_reference/coding_style_standards.md delete mode 100644 vendor/DPP/docpages/advanced_reference/lambdas_and_locals.md delete mode 100644 vendor/DPP/docpages/advanced_reference/thread_model.md delete mode 100644 vendor/DPP/docpages/advanced_reference/unit_tests.md delete mode 100644 vendor/DPP/docpages/building/02_build.md delete mode 100644 vendor/DPP/docpages/building/freebsd.md delete mode 100644 vendor/DPP/docpages/building/linux.md delete mode 100644 vendor/DPP/docpages/building/osx.md delete mode 100644 vendor/DPP/docpages/building/windows.md delete mode 100644 vendor/DPP/docpages/dl.dpp.dev/dlcount.php delete mode 100644 vendor/DPP/docpages/dl.dpp.dev/index.php delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/autocomplete.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/commandhandler.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/components.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/components2.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/components3.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/context_menus.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/modal_dialog_interactions.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/slashcommands.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/subcommands.md delete mode 100644 vendor/DPP/docpages/example_programs/interactions_and_components/upload_parameter.md delete mode 100644 vendor/DPP/docpages/example_programs/misc.md delete mode 100644 vendor/DPP/docpages/example_programs/misc/cache_messages.md delete mode 100644 vendor/DPP/docpages/example_programs/misc/collect_reactions.md delete mode 100644 vendor/DPP/docpages/example_programs/misc/eval.md delete mode 100644 vendor/DPP/docpages/example_programs/misc/http_request.md delete mode 100644 vendor/DPP/docpages/example_programs/misc/spdlog.md delete mode 100644 vendor/DPP/docpages/example_programs/music_and_audio.md delete mode 100644 vendor/DPP/docpages/example_programs/music_and_audio/join_voice.md delete mode 100644 vendor/DPP/docpages/example_programs/music_and_audio/mp3.md delete mode 100644 vendor/DPP/docpages/example_programs/music_and_audio/oggopus.md delete mode 100644 vendor/DPP/docpages/example_programs/music_and_audio/record_user.md delete mode 100644 vendor/DPP/docpages/example_programs/music_and_audio/soundboard.md delete mode 100644 vendor/DPP/docpages/example_programs/the_basics.md delete mode 100644 vendor/DPP/docpages/example_programs/the_basics/attachments.md delete mode 100644 vendor/DPP/docpages/example_programs/the_basics/embeds.md delete mode 100644 vendor/DPP/docpages/example_programs/the_basics/firstbot.md delete mode 100644 vendor/DPP/docpages/example_programs/the_basics/webhooks.md delete mode 100644 vendor/DPP/docpages/footer.html delete mode 100644 vendor/DPP/docpages/footer.template.html delete mode 100644 vendor/DPP/docpages/header.html delete mode 100644 vendor/DPP/docpages/header.template.html delete mode 100644 vendor/DPP/docpages/images/DPP-Logo.png delete mode 100644 vendor/DPP/docpages/images/DPP-Small.png delete mode 100644 vendor/DPP/docpages/images/DPP_Architecture.dia delete mode 100644 vendor/DPP/docpages/images/DPP_Architecture.svg delete mode 100644 vendor/DPP/docpages/images/build-clion-project-structure.png delete mode 100644 vendor/DPP/docpages/images/build-clion-reload-cmake-project.png delete mode 100644 vendor/DPP/docpages/images/button.png delete mode 100644 vendor/DPP/docpages/images/button_2.png delete mode 100644 vendor/DPP/docpages/images/code_editor.png delete mode 100644 vendor/DPP/docpages/images/context_menu_user_command.png delete mode 100644 vendor/DPP/docpages/images/context_menu_user_command_showcase.png delete mode 100644 vendor/DPP/docpages/images/cprog.png delete mode 100644 vendor/DPP/docpages/images/create_application_add_bot.png delete mode 100644 vendor/DPP/docpages/images/create_application_bot_overview.png delete mode 100644 vendor/DPP/docpages/images/create_application_confirm_popup.png delete mode 100644 vendor/DPP/docpages/images/create_application_navigate_to_url_generator.png delete mode 100644 vendor/DPP/docpages/images/delorean-time-travel.gif delete mode 100644 vendor/DPP/docpages/images/embed.png delete mode 100644 vendor/DPP/docpages/images/eval_example.png delete mode 100644 vendor/DPP/docpages/images/jsprog.png delete mode 100644 vendor/DPP/docpages/images/modal_dialog.png delete mode 100644 vendor/DPP/docpages/images/progs.png delete mode 100644 vendor/DPP/docpages/images/repl.png delete mode 100644 vendor/DPP/docpages/images/runbot.png delete mode 100644 vendor/DPP/docpages/images/uptimerobot.png delete mode 100644 vendor/DPP/docpages/images/vcpkg.png delete mode 100644 vendor/DPP/docpages/images/vsproj_1.png delete mode 100644 vendor/DPP/docpages/images/vsproj_10.png delete mode 100644 vendor/DPP/docpages/images/vsproj_11.png delete mode 100644 vendor/DPP/docpages/images/vsproj_12.png delete mode 100644 vendor/DPP/docpages/images/vsproj_13.png delete mode 100644 vendor/DPP/docpages/images/vsproj_14.png delete mode 100644 vendor/DPP/docpages/images/vsproj_2.png delete mode 100644 vendor/DPP/docpages/images/vsproj_3.png delete mode 100644 vendor/DPP/docpages/images/vsproj_4.png delete mode 100644 vendor/DPP/docpages/images/vsproj_5.png delete mode 100644 vendor/DPP/docpages/images/vsproj_6.png delete mode 100644 vendor/DPP/docpages/images/vsproj_7.png delete mode 100644 vendor/DPP/docpages/images/vsproj_8.png delete mode 100644 vendor/DPP/docpages/images/vsproj_9.png delete mode 100644 vendor/DPP/docpages/images/winbuild_0.png delete mode 100644 vendor/DPP/docpages/images/winbuild_1.png delete mode 100644 vendor/DPP/docpages/images/winbuild_2.png delete mode 100644 vendor/DPP/docpages/images/winbuild_3.png delete mode 100644 vendor/DPP/docpages/images/winbuild_4.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_1.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_10.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_11.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_12.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_13.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_14.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_2.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_3.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_4.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_5.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_6.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_7.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_8.png delete mode 100644 vendor/DPP/docpages/images/zip_vsproj_9.png delete mode 100644 vendor/DPP/docpages/install/install-arch-aur.md delete mode 100644 vendor/DPP/docpages/install/install-linux-deb.md delete mode 100644 vendor/DPP/docpages/install/install-linux-rpm.md delete mode 100644 vendor/DPP/docpages/install/install-vcpkg.md delete mode 100644 vendor/DPP/docpages/install/install-windows-zip.md delete mode 100644 vendor/DPP/docpages/install/install-xmake.md delete mode 100644 vendor/DPP/docpages/make_a_bot/clion.md delete mode 100644 vendor/DPP/docpages/make_a_bot/cmake.md delete mode 100644 vendor/DPP/docpages/make_a_bot/meson.md delete mode 100644 vendor/DPP/docpages/make_a_bot/replit.md delete mode 100644 vendor/DPP/docpages/make_a_bot/token.md delete mode 100644 vendor/DPP/docpages/make_a_bot/windows_vs.md delete mode 100644 vendor/DPP/docpages/make_a_bot/windows_wsl.md delete mode 100644 vendor/DPP/docpages/makedocs-gh-single.php delete mode 100644 vendor/DPP/docpages/makedocs-gh.php delete mode 100644 vendor/DPP/docpages/makedocs.php delete mode 100644 vendor/DPP/docpages/style.css create mode 100644 vendor/DPP/src/dpp/events/guild_audit_log_entry_create.cpp create mode 100644 vendor/DPP/testdata/DPP-Logo.png delete mode 100644 vendor/DPP/win32/32/lib/libcrypto.lib delete mode 100644 vendor/DPP/win32/32/lib/libsodium.lib delete mode 100644 vendor/DPP/win32/32/lib/libssl.lib delete mode 100644 vendor/DPP/win32/32/lib/opus.lib delete mode 100644 vendor/DPP/win32/32/lib/zlib.lib delete mode 100644 vendor/DPP/win32/bin/c_rehash.pl delete mode 100644 vendor/DPP/win32/bin/libcrypto-1_1-x64.pdb delete mode 100644 vendor/DPP/win32/bin/libssl-1_1-x64.pdb delete mode 100644 vendor/DPP/win32/bin/openssl.pdb delete mode 100644 vendor/DPP/win32/bin/zlib.pdb delete mode 100644 vendor/DPP/win32/include/openssl/__DECC_INCLUDE_EPILOGUE.H delete mode 100644 vendor/DPP/win32/include/openssl/__DECC_INCLUDE_PROLOGUE.H delete mode 100644 vendor/DPP/win32/include/openssl/aes.h delete mode 100644 vendor/DPP/win32/include/openssl/applink.c delete mode 100644 vendor/DPP/win32/include/openssl/asn1.h delete mode 100644 vendor/DPP/win32/include/openssl/asn1_mac.h delete mode 100644 vendor/DPP/win32/include/openssl/asn1err.h delete mode 100644 vendor/DPP/win32/include/openssl/asn1t.h delete mode 100644 vendor/DPP/win32/include/openssl/async.h delete mode 100644 vendor/DPP/win32/include/openssl/asyncerr.h delete mode 100644 vendor/DPP/win32/include/openssl/bio.h delete mode 100644 vendor/DPP/win32/include/openssl/bioerr.h delete mode 100644 vendor/DPP/win32/include/openssl/blowfish.h delete mode 100644 vendor/DPP/win32/include/openssl/bn.h delete mode 100644 vendor/DPP/win32/include/openssl/bnerr.h delete mode 100644 vendor/DPP/win32/include/openssl/buffer.h delete mode 100644 vendor/DPP/win32/include/openssl/buffererr.h delete mode 100644 vendor/DPP/win32/include/openssl/camellia.h delete mode 100644 vendor/DPP/win32/include/openssl/cast.h delete mode 100644 vendor/DPP/win32/include/openssl/cmac.h delete mode 100644 vendor/DPP/win32/include/openssl/cms.h delete mode 100644 vendor/DPP/win32/include/openssl/cmserr.h delete mode 100644 vendor/DPP/win32/include/openssl/comp.h delete mode 100644 vendor/DPP/win32/include/openssl/comperr.h delete mode 100644 vendor/DPP/win32/include/openssl/conf.h delete mode 100644 vendor/DPP/win32/include/openssl/conf_api.h delete mode 100644 vendor/DPP/win32/include/openssl/conferr.h delete mode 100644 vendor/DPP/win32/include/openssl/crypto.h delete mode 100644 vendor/DPP/win32/include/openssl/cryptoerr.h delete mode 100644 vendor/DPP/win32/include/openssl/ct.h delete mode 100644 vendor/DPP/win32/include/openssl/cterr.h delete mode 100644 vendor/DPP/win32/include/openssl/des.h delete mode 100644 vendor/DPP/win32/include/openssl/dh.h delete mode 100644 vendor/DPP/win32/include/openssl/dherr.h delete mode 100644 vendor/DPP/win32/include/openssl/dsa.h delete mode 100644 vendor/DPP/win32/include/openssl/dsaerr.h delete mode 100644 vendor/DPP/win32/include/openssl/dtls1.h delete mode 100644 vendor/DPP/win32/include/openssl/e_os2.h delete mode 100644 vendor/DPP/win32/include/openssl/ebcdic.h delete mode 100644 vendor/DPP/win32/include/openssl/ec.h delete mode 100644 vendor/DPP/win32/include/openssl/ecdh.h delete mode 100644 vendor/DPP/win32/include/openssl/ecdsa.h delete mode 100644 vendor/DPP/win32/include/openssl/ecerr.h delete mode 100644 vendor/DPP/win32/include/openssl/engine.h delete mode 100644 vendor/DPP/win32/include/openssl/engineerr.h delete mode 100644 vendor/DPP/win32/include/openssl/err.h delete mode 100644 vendor/DPP/win32/include/openssl/evp.h delete mode 100644 vendor/DPP/win32/include/openssl/evperr.h delete mode 100644 vendor/DPP/win32/include/openssl/hmac.h delete mode 100644 vendor/DPP/win32/include/openssl/idea.h delete mode 100644 vendor/DPP/win32/include/openssl/kdf.h delete mode 100644 vendor/DPP/win32/include/openssl/kdferr.h delete mode 100644 vendor/DPP/win32/include/openssl/lhash.h delete mode 100644 vendor/DPP/win32/include/openssl/md2.h delete mode 100644 vendor/DPP/win32/include/openssl/md4.h delete mode 100644 vendor/DPP/win32/include/openssl/md5.h delete mode 100644 vendor/DPP/win32/include/openssl/mdc2.h delete mode 100644 vendor/DPP/win32/include/openssl/modes.h delete mode 100644 vendor/DPP/win32/include/openssl/obj_mac.h delete mode 100644 vendor/DPP/win32/include/openssl/objects.h delete mode 100644 vendor/DPP/win32/include/openssl/objectserr.h delete mode 100644 vendor/DPP/win32/include/openssl/ocsp.h delete mode 100644 vendor/DPP/win32/include/openssl/ocsperr.h delete mode 100644 vendor/DPP/win32/include/openssl/opensslconf.h delete mode 100644 vendor/DPP/win32/include/openssl/opensslv.h delete mode 100644 vendor/DPP/win32/include/openssl/ossl_typ.h delete mode 100644 vendor/DPP/win32/include/openssl/pem.h delete mode 100644 vendor/DPP/win32/include/openssl/pem2.h delete mode 100644 vendor/DPP/win32/include/openssl/pemerr.h delete mode 100644 vendor/DPP/win32/include/openssl/pkcs12.h delete mode 100644 vendor/DPP/win32/include/openssl/pkcs12err.h delete mode 100644 vendor/DPP/win32/include/openssl/pkcs7.h delete mode 100644 vendor/DPP/win32/include/openssl/pkcs7err.h delete mode 100644 vendor/DPP/win32/include/openssl/rand.h delete mode 100644 vendor/DPP/win32/include/openssl/rand_drbg.h delete mode 100644 vendor/DPP/win32/include/openssl/randerr.h delete mode 100644 vendor/DPP/win32/include/openssl/rc2.h delete mode 100644 vendor/DPP/win32/include/openssl/rc4.h delete mode 100644 vendor/DPP/win32/include/openssl/rc5.h delete mode 100644 vendor/DPP/win32/include/openssl/ripemd.h delete mode 100644 vendor/DPP/win32/include/openssl/rsa.h delete mode 100644 vendor/DPP/win32/include/openssl/rsaerr.h delete mode 100644 vendor/DPP/win32/include/openssl/safestack.h delete mode 100644 vendor/DPP/win32/include/openssl/seed.h delete mode 100644 vendor/DPP/win32/include/openssl/sha.h delete mode 100644 vendor/DPP/win32/include/openssl/srp.h delete mode 100644 vendor/DPP/win32/include/openssl/srtp.h delete mode 100644 vendor/DPP/win32/include/openssl/ssl.h delete mode 100644 vendor/DPP/win32/include/openssl/ssl2.h delete mode 100644 vendor/DPP/win32/include/openssl/ssl3.h delete mode 100644 vendor/DPP/win32/include/openssl/sslerr.h delete mode 100644 vendor/DPP/win32/include/openssl/stack.h delete mode 100644 vendor/DPP/win32/include/openssl/store.h delete mode 100644 vendor/DPP/win32/include/openssl/storeerr.h delete mode 100644 vendor/DPP/win32/include/openssl/symhacks.h delete mode 100644 vendor/DPP/win32/include/openssl/tls1.h delete mode 100644 vendor/DPP/win32/include/openssl/ts.h delete mode 100644 vendor/DPP/win32/include/openssl/tserr.h delete mode 100644 vendor/DPP/win32/include/openssl/txt_db.h delete mode 100644 vendor/DPP/win32/include/openssl/ui.h delete mode 100644 vendor/DPP/win32/include/openssl/uierr.h delete mode 100644 vendor/DPP/win32/include/openssl/whrlpool.h delete mode 100644 vendor/DPP/win32/include/openssl/x509.h delete mode 100644 vendor/DPP/win32/include/openssl/x509_vfy.h delete mode 100644 vendor/DPP/win32/include/openssl/x509err.h delete mode 100644 vendor/DPP/win32/include/openssl/x509v3.h delete mode 100644 vendor/DPP/win32/include/openssl/x509v3err.h delete mode 100644 vendor/DPP/win32/include/opus/opus.h delete mode 100644 vendor/DPP/win32/include/opus/opus_custom.h delete mode 100644 vendor/DPP/win32/include/opus/opus_defines.h delete mode 100644 vendor/DPP/win32/include/opus/opus_multistream.h delete mode 100644 vendor/DPP/win32/include/opus/opus_projection.h delete mode 100644 vendor/DPP/win32/include/opus/opus_types.h delete mode 100644 vendor/DPP/win32/include/sodium.h delete mode 100644 vendor/DPP/win32/include/sodium/core.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_aead_aes256gcm.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_aead_chacha20poly1305.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_aead_xchacha20poly1305.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_auth.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_auth_hmacsha256.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_auth_hmacsha512.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_auth_hmacsha512256.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_box.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_box_curve25519xchacha20poly1305.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_box_curve25519xsalsa20poly1305.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_core_ed25519.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_core_hchacha20.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_core_hsalsa20.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_core_ristretto255.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_core_salsa20.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_core_salsa2012.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_core_salsa208.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_generichash.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_generichash_blake2b.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_hash.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_hash_sha256.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_hash_sha512.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_kdf.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_kdf_blake2b.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_kx.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_onetimeauth.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_onetimeauth_poly1305.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_pwhash.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_pwhash_argon2i.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_pwhash_argon2id.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_pwhash_scryptsalsa208sha256.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_scalarmult.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_scalarmult_curve25519.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_scalarmult_ed25519.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_scalarmult_ristretto255.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_secretbox.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_secretbox_xchacha20poly1305.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_secretbox_xsalsa20poly1305.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_secretstream_xchacha20poly1305.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_shorthash.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_shorthash_siphash24.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_sign.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_sign_ed25519.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_sign_edwards25519sha512batch.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_stream.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_stream_chacha20.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_stream_salsa20.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_stream_salsa2012.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_stream_salsa208.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_stream_xchacha20.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_stream_xsalsa20.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_verify_16.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_verify_32.h delete mode 100644 vendor/DPP/win32/include/sodium/crypto_verify_64.h delete mode 100644 vendor/DPP/win32/include/sodium/export.h delete mode 100644 vendor/DPP/win32/include/sodium/randombytes.h delete mode 100644 vendor/DPP/win32/include/sodium/randombytes_internal_random.h delete mode 100644 vendor/DPP/win32/include/sodium/randombytes_sysrandom.h delete mode 100644 vendor/DPP/win32/include/sodium/runtime.h delete mode 100644 vendor/DPP/win32/include/sodium/utils.h delete mode 100644 vendor/DPP/win32/include/sodium/version.h delete mode 100644 vendor/DPP/win32/include/zconf.h delete mode 100644 vendor/DPP/win32/include/zlib.h delete mode 100644 vendor/DPP/win32/lib/libcrypto.lib delete mode 100644 vendor/DPP/win32/lib/libsodium.lib delete mode 100644 vendor/DPP/win32/lib/libssl.lib delete mode 100644 vendor/DPP/win32/lib/opus.lib delete mode 100644 vendor/DPP/win32/lib/pkgconfig/opus.pc delete mode 100644 vendor/DPP/win32/lib/pkgconfig/zlib.pc delete mode 100644 vendor/DPP/win32/lib/zlib.lib delete mode 100644 vendor/Fmt/doc/_static/breathe.css create mode 100644 vendor/Fmt/doc/html/_sources/api.rst.txt create mode 100644 vendor/Fmt/doc/html/_sources/contents.rst.txt create mode 100644 vendor/Fmt/doc/html/_sources/index.rst.txt create mode 100644 vendor/Fmt/doc/html/_sources/syntax.rst.txt create mode 100644 vendor/Fmt/doc/html/_sources/usage.rst.txt create mode 100644 vendor/Fmt/doc/html/_static/basic.css create mode 100644 vendor/Fmt/doc/html/_static/bootstrap.min.js create mode 100644 vendor/Fmt/doc/html/_static/doctools.js create mode 100644 vendor/Fmt/doc/html/_static/documentation_options.js create mode 100644 vendor/Fmt/doc/html/_static/file.png create mode 100644 vendor/Fmt/doc/html/_static/fmt.css create mode 100644 vendor/Fmt/doc/html/_static/fonts/glyphicons-halflings-regular.eot create mode 100644 vendor/Fmt/doc/html/_static/fonts/glyphicons-halflings-regular.svg create mode 100644 vendor/Fmt/doc/html/_static/fonts/glyphicons-halflings-regular.ttf create mode 100644 vendor/Fmt/doc/html/_static/fonts/glyphicons-halflings-regular.woff create mode 100644 vendor/Fmt/doc/html/_static/jquery-3.5.1.js create mode 100644 vendor/Fmt/doc/html/_static/jquery.js create mode 100644 vendor/Fmt/doc/html/_static/language_data.js create mode 100644 vendor/Fmt/doc/html/_static/minus.png create mode 100644 vendor/Fmt/doc/html/_static/plus.png create mode 100644 vendor/Fmt/doc/html/_static/pygments.css create mode 100644 vendor/Fmt/doc/html/_static/searchtools.js create mode 100644 vendor/Fmt/doc/html/_static/underscore-1.3.1.js create mode 100644 vendor/Fmt/doc/html/_static/underscore.js create mode 100644 vendor/Fmt/doc/html/api.html create mode 100644 vendor/Fmt/doc/html/contents.html create mode 100644 vendor/Fmt/doc/html/genindex.html create mode 100644 vendor/Fmt/doc/html/index.html create mode 100644 vendor/Fmt/doc/html/objects.inv create mode 100644 vendor/Fmt/doc/html/search.html create mode 100644 vendor/Fmt/doc/html/searchindex.js create mode 100644 vendor/Fmt/doc/html/syntax.html create mode 100644 vendor/Fmt/doc/html/usage.html delete mode 100644 vendor/Fmt/include/fmt/locale.h create mode 100644 vendor/Fmt/include/fmt/std.h delete mode 100644 vendor/Fmt/support/appveyor-build.py delete mode 100644 vendor/Fmt/support/appveyor.yml delete mode 100644 vendor/Fmt/support/cmake/cxx14.cmake create mode 100644 vendor/Fmt/test/detect-stdfs.cc create mode 100644 vendor/Fmt/test/std-test.cc delete mode 100644 vendor/ZMQ/COPYING delete mode 100644 vendor/ZMQ/COPYING.LESSER create mode 100644 vendor/ZMQ/LICENSE delete mode 100644 vendor/ZMQ/RELICENSE/AnCaPepe.md delete mode 100644 vendor/ZMQ/RELICENSE/AndreLouisCaron.md delete mode 100644 vendor/ZMQ/RELICENSE/Asmod4n.md delete mode 100644 vendor/ZMQ/RELICENSE/AxelNennker.md delete mode 100644 vendor/ZMQ/RELICENSE/Bklyn.md delete mode 100644 vendor/ZMQ/RELICENSE/Botje.md delete mode 100644 vendor/ZMQ/RELICENSE/C-Sir.md delete mode 100644 vendor/ZMQ/RELICENSE/CommanderBubble.md delete mode 100644 vendor/ZMQ/RELICENSE/DaiyuHurst.md delete mode 100644 vendor/ZMQ/RELICENSE/Eelis.md delete mode 100644 vendor/ZMQ/RELICENSE/FrancoFichtner.md delete mode 100644 vendor/ZMQ/RELICENSE/FredTreg.md delete mode 100644 vendor/ZMQ/RELICENSE/Hugne.md delete mode 100644 vendor/ZMQ/RELICENSE/JohanMabille.md delete mode 100644 vendor/ZMQ/RELICENSE/JonDyte.md delete mode 100644 vendor/ZMQ/RELICENSE/KLNikita.md delete mode 100644 vendor/ZMQ/RELICENSE/MartinGrigorov.md delete mode 100644 vendor/ZMQ/RELICENSE/NLeScienceCenter.md delete mode 100644 vendor/ZMQ/RELICENSE/Neopallium.md delete mode 100644 vendor/ZMQ/RELICENSE/Quuxplusone.md delete mode 100644 vendor/ZMQ/RELICENSE/README.md delete mode 100644 vendor/ZMQ/RELICENSE/RPGillespie6.md delete mode 100644 vendor/ZMQ/RELICENSE/Ricardicus.md delete mode 100644 vendor/ZMQ/RELICENSE/SRombauts.md delete mode 100644 vendor/ZMQ/RELICENSE/SergheiNovac.md delete mode 100644 vendor/ZMQ/RELICENSE/StephaneVales.md delete mode 100644 vendor/ZMQ/RELICENSE/SylvainCorlay.md delete mode 100644 vendor/ZMQ/RELICENSE/TTimo.md delete mode 100644 vendor/ZMQ/RELICENSE/ThePrez.md delete mode 100644 vendor/ZMQ/RELICENSE/TobiSchluter.md delete mode 100644 vendor/ZMQ/RELICENSE/WenbinHou.md delete mode 100644 vendor/ZMQ/RELICENSE/a4z.md delete mode 100644 vendor/ZMQ/RELICENSE/abbradar.md delete mode 100644 vendor/ZMQ/RELICENSE/ackalker.md delete mode 100644 vendor/ZMQ/RELICENSE/acsearle.md delete mode 100644 vendor/ZMQ/RELICENSE/agronholm.md delete mode 100644 vendor/ZMQ/RELICENSE/aixxe.md delete mode 100644 vendor/ZMQ/RELICENSE/ambitslix.md delete mode 100644 vendor/ZMQ/RELICENSE/amuraru.md delete mode 100644 vendor/ZMQ/RELICENSE/answeroo.md delete mode 100644 vendor/ZMQ/RELICENSE/antonrd.md delete mode 100644 vendor/ZMQ/RELICENSE/ardrabczyk.md delete mode 100644 vendor/ZMQ/RELICENSE/arsenm.md delete mode 100644 vendor/ZMQ/RELICENSE/asafkahlon.md delete mode 100644 vendor/ZMQ/RELICENSE/aseering.md delete mode 100644 vendor/ZMQ/RELICENSE/atomashpolskiy.md delete mode 100644 vendor/ZMQ/RELICENSE/banburybill.md delete mode 100644 vendor/ZMQ/RELICENSE/bbdb68.md delete mode 100644 vendor/ZMQ/RELICENSE/bebopagogo.md delete mode 100644 vendor/ZMQ/RELICENSE/benjdero.md delete mode 100644 vendor/ZMQ/RELICENSE/bjoto.md delete mode 100644 vendor/ZMQ/RELICENSE/bjovke.md delete mode 100644 vendor/ZMQ/RELICENSE/bl0x.md delete mode 100644 vendor/ZMQ/RELICENSE/bluca.md delete mode 100644 vendor/ZMQ/RELICENSE/boxkey.md delete mode 100644 vendor/ZMQ/RELICENSE/bprager.md delete mode 100644 vendor/ZMQ/RELICENSE/brett-cameron.md delete mode 100644 vendor/ZMQ/RELICENSE/brian-peloton.md delete mode 100644 vendor/ZMQ/RELICENSE/brocade_communications_systems.md delete mode 100644 vendor/ZMQ/RELICENSE/brubakerjeff.md delete mode 100644 vendor/ZMQ/RELICENSE/bwbuchanan.md delete mode 100644 vendor/ZMQ/RELICENSE/c-rack.md delete mode 100644 vendor/ZMQ/RELICENSE/c-zhao-3g.md delete mode 100644 vendor/ZMQ/RELICENSE/calid.md delete mode 100644 vendor/ZMQ/RELICENSE/camachat.md delete mode 100644 vendor/ZMQ/RELICENSE/cbusbey.md delete mode 100644 vendor/ZMQ/RELICENSE/cdolan.md delete mode 100644 vendor/ZMQ/RELICENSE/chickenkiller.md delete mode 100644 vendor/ZMQ/RELICENSE/chrisstaite.md delete mode 100644 vendor/ZMQ/RELICENSE/christhrasher.md delete mode 100644 vendor/ZMQ/RELICENSE/chuckremes.md delete mode 100644 vendor/ZMQ/RELICENSE/chuggafan.md delete mode 100644 vendor/ZMQ/RELICENSE/chymanfx.md delete mode 100644 vendor/ZMQ/RELICENSE/cjuniet.md delete mode 100644 vendor/ZMQ/RELICENSE/ckamm.md delete mode 100644 vendor/ZMQ/RELICENSE/claws.md delete mode 100644 vendor/ZMQ/RELICENSE/clkao.md delete mode 100644 vendor/ZMQ/RELICENSE/colletted.md delete mode 100644 vendor/ZMQ/RELICENSE/cowo78.md delete mode 100644 vendor/ZMQ/RELICENSE/crocket.md delete mode 100644 vendor/ZMQ/RELICENSE/cwsmith.md delete mode 100644 vendor/ZMQ/RELICENSE/danielhtshih.md delete mode 100644 vendor/ZMQ/RELICENSE/danriegsecker.md delete mode 100644 vendor/ZMQ/RELICENSE/demozon.md delete mode 100644 vendor/ZMQ/RELICENSE/dennisklein.md delete mode 100644 vendor/ZMQ/RELICENSE/dfons.md delete mode 100644 vendor/ZMQ/RELICENSE/dhammika.md delete mode 100644 vendor/ZMQ/RELICENSE/dimpase.md delete mode 100644 vendor/ZMQ/RELICENSE/diorcety.md delete mode 100644 vendor/ZMQ/RELICENSE/djelenc.md delete mode 100644 vendor/ZMQ/RELICENSE/dkrikun.md delete mode 100644 vendor/ZMQ/RELICENSE/dmeehan1968.md delete mode 100644 vendor/ZMQ/RELICENSE/drbobbeaty.md delete mode 100644 vendor/ZMQ/RELICENSE/drodri.md delete mode 100644 vendor/ZMQ/RELICENSE/drolevar.md delete mode 100644 vendor/ZMQ/RELICENSE/eburkitt.md delete mode 100644 vendor/ZMQ/RELICENSE/egomotion.md delete mode 100644 vendor/ZMQ/RELICENSE/eldruin.md delete mode 100644 vendor/ZMQ/RELICENSE/emtr.md delete mode 100644 vendor/ZMQ/RELICENSE/eponsko.md delete mode 100644 vendor/ZMQ/RELICENSE/ericsson.md delete mode 100644 vendor/ZMQ/RELICENSE/evoskuil.md delete mode 100644 vendor/ZMQ/RELICENSE/ezhikus.md delete mode 100644 vendor/ZMQ/RELICENSE/f18m.md delete mode 100644 vendor/ZMQ/RELICENSE/fanquake.md delete mode 100644 vendor/ZMQ/RELICENSE/febeling.md delete mode 100644 vendor/ZMQ/RELICENSE/ferdnyc.md delete mode 100644 vendor/ZMQ/RELICENSE/ffontaine.md delete mode 100644 vendor/ZMQ/RELICENSE/fidlej.md delete mode 100644 vendor/ZMQ/RELICENSE/flub.md delete mode 100644 vendor/ZMQ/RELICENSE/gabm.md delete mode 100644 vendor/ZMQ/RELICENSE/garlick.md delete mode 100644 vendor/ZMQ/RELICENSE/gavinmcniff.md delete mode 100644 vendor/ZMQ/RELICENSE/gcsideal.md delete mode 100644 vendor/ZMQ/RELICENSE/gena-moscow.md delete mode 100644 vendor/ZMQ/RELICENSE/ghpu.md delete mode 100644 vendor/ZMQ/RELICENSE/gitfoxi.md delete mode 100644 vendor/ZMQ/RELICENSE/glemercier.md delete mode 100644 vendor/ZMQ/RELICENSE/gonzus.md delete mode 100644 vendor/ZMQ/RELICENSE/goodfella.md delete mode 100644 vendor/ZMQ/RELICENSE/google.md delete mode 100644 vendor/ZMQ/RELICENSE/grmt.md delete mode 100644 vendor/ZMQ/RELICENSE/guidovranken.md delete mode 100644 vendor/ZMQ/RELICENSE/guillon.md delete mode 100644 vendor/ZMQ/RELICENSE/gummif.md delete mode 100644 vendor/ZMQ/RELICENSE/herbrechtsmeier.md delete mode 100644 vendor/ZMQ/RELICENSE/hewlett_packard_enterprise.md delete mode 100644 vendor/ZMQ/RELICENSE/hgourvest.md delete mode 100644 vendor/ZMQ/RELICENSE/hnwyllmm.md delete mode 100644 vendor/ZMQ/RELICENSE/hoditohod.md delete mode 100644 vendor/ZMQ/RELICENSE/hpsaturn.md delete mode 100644 vendor/ZMQ/RELICENSE/hsw.md delete mode 100644 vendor/ZMQ/RELICENSE/ianbarber.md delete mode 100644 vendor/ZMQ/RELICENSE/imatix.md delete mode 100644 vendor/ZMQ/RELICENSE/imkcy9.md delete mode 100644 vendor/ZMQ/RELICENSE/inuik.md delete mode 100644 vendor/ZMQ/RELICENSE/ipa.md delete mode 100644 vendor/ZMQ/RELICENSE/ipechorin.md delete mode 100644 vendor/ZMQ/RELICENSE/jackpimbert.md delete mode 100644 vendor/ZMQ/RELICENSE/jacquesg.md delete mode 100644 vendor/ZMQ/RELICENSE/jakecobb.md delete mode 100644 vendor/ZMQ/RELICENSE/jbreams.md delete mode 100644 vendor/ZMQ/RELICENSE/jcfr.md delete mode 100644 vendor/ZMQ/RELICENSE/jcourreges.md delete mode 100644 vendor/ZMQ/RELICENSE/jean-airoldie.md delete mode 100644 vendor/ZMQ/RELICENSE/jemc.md delete mode 100644 vendor/ZMQ/RELICENSE/jens.auer.md delete mode 100644 vendor/ZMQ/RELICENSE/jimenezrick.md delete mode 100644 vendor/ZMQ/RELICENSE/jimklimov.md delete mode 100644 vendor/ZMQ/RELICENSE/jkryl.md delete mode 100644 vendor/ZMQ/RELICENSE/jlauenercern.md delete mode 100644 vendor/ZMQ/RELICENSE/jlsantiago0.md delete mode 100644 vendor/ZMQ/RELICENSE/johntconklin.md delete mode 100644 vendor/ZMQ/RELICENSE/jruffin.md delete mode 100644 vendor/ZMQ/RELICENSE/jsyoo5b.md delete mode 100644 vendor/ZMQ/RELICENSE/kaczmarj.md delete mode 100644 vendor/ZMQ/RELICENSE/kalantar.md delete mode 100644 vendor/ZMQ/RELICENSE/kanonet.md delete mode 100644 vendor/ZMQ/RELICENSE/kentzo.md delete mode 100644 vendor/ZMQ/RELICENSE/kfish.md delete mode 100644 vendor/ZMQ/RELICENSE/kobolog.md delete mode 100644 vendor/ZMQ/RELICENSE/kreuzberger.md delete mode 100644 vendor/ZMQ/RELICENSE/kurdybacha.md delete mode 100644 vendor/ZMQ/RELICENSE/laplaceyang.md delete mode 100644 vendor/ZMQ/RELICENSE/latchmoor-services-carcich.md delete mode 100644 vendor/ZMQ/RELICENSE/leonarf.md delete mode 100644 vendor/ZMQ/RELICENSE/liedtkeInTUM.md delete mode 100644 vendor/ZMQ/RELICENSE/linville.md delete mode 100644 vendor/ZMQ/RELICENSE/loachfish.md delete mode 100644 vendor/ZMQ/RELICENSE/lodagro.md delete mode 100644 vendor/ZMQ/RELICENSE/lourens.md delete mode 100644 vendor/ZMQ/RELICENSE/lstacul.md delete mode 100644 vendor/ZMQ/RELICENSE/madebr.md delete mode 100644 vendor/ZMQ/RELICENSE/malexzx.md delete mode 100644 vendor/ZMQ/RELICENSE/mancasg.md delete mode 100644 vendor/ZMQ/RELICENSE/martin-ksti.md delete mode 100644 vendor/ZMQ/RELICENSE/mattconnolly.md delete mode 100644 vendor/ZMQ/RELICENSE/mauri-melato.md delete mode 100644 vendor/ZMQ/RELICENSE/mbarbisan.md delete mode 100644 vendor/ZMQ/RELICENSE/mdionisio.md delete mode 100644 vendor/ZMQ/RELICENSE/mditzel.md delete mode 100644 vendor/ZMQ/RELICENSE/meox.md delete mode 100644 vendor/ZMQ/RELICENSE/mesegura.md delete mode 100644 vendor/ZMQ/RELICENSE/mgatny.md delete mode 100644 vendor/ZMQ/RELICENSE/michicc.md delete mode 100644 vendor/ZMQ/RELICENSE/micromass-ricnewton.md delete mode 100644 vendor/ZMQ/RELICENSE/mileschet.md delete mode 100644 vendor/ZMQ/RELICENSE/miniway.md delete mode 100644 vendor/ZMQ/RELICENSE/minrk.md delete mode 100644 vendor/ZMQ/RELICENSE/mipaaa.md delete mode 100644 vendor/ZMQ/RELICENSE/mjvk.md delete mode 100644 vendor/ZMQ/RELICENSE/mkluwe.md delete mode 100644 vendor/ZMQ/RELICENSE/mkoppanen.md delete mode 100644 vendor/ZMQ/RELICENSE/mloy.md delete mode 100644 vendor/ZMQ/RELICENSE/mongodb.md delete mode 100644 vendor/ZMQ/RELICENSE/montoyaedu.md delete mode 100644 vendor/ZMQ/RELICENSE/moretromain.md delete mode 100644 vendor/ZMQ/RELICENSE/mrvn.md delete mode 100644 vendor/ZMQ/RELICENSE/msune.md delete mode 100644 vendor/ZMQ/RELICENSE/murphybytes.md delete mode 100644 vendor/ZMQ/RELICENSE/mvilim.md delete mode 100644 vendor/ZMQ/RELICENSE/mystfit.md delete mode 100644 vendor/ZMQ/RELICENSE/naos_ltd.md delete mode 100644 vendor/ZMQ/RELICENSE/natano.md delete mode 100644 vendor/ZMQ/RELICENSE/neheb.md delete mode 100644 vendor/ZMQ/RELICENSE/ninoles.md delete mode 100644 vendor/ZMQ/RELICENSE/nixman.md delete mode 100644 vendor/ZMQ/RELICENSE/nokia.md delete mode 100644 vendor/ZMQ/RELICENSE/normano.md delete mode 100644 vendor/ZMQ/RELICENSE/ojura.md delete mode 100644 vendor/ZMQ/RELICENSE/olafmandel.md delete mode 100644 vendor/ZMQ/RELICENSE/omegastick.md delete mode 100644 vendor/ZMQ/RELICENSE/opedroso.md delete mode 100644 vendor/ZMQ/RELICENSE/opensource-kymetacorp.md delete mode 100644 vendor/ZMQ/RELICENSE/paddor.md delete mode 100644 vendor/ZMQ/RELICENSE/panlinux.md delete mode 100644 vendor/ZMQ/RELICENSE/pavel-pimenov.md delete mode 100644 vendor/ZMQ/RELICENSE/philippeleite.md delete mode 100644 vendor/ZMQ/RELICENSE/phreed.md delete mode 100644 vendor/ZMQ/RELICENSE/pijyoi.md delete mode 100644 vendor/ZMQ/RELICENSE/pmienk.md delete mode 100644 vendor/ZMQ/RELICENSE/pnnl.md delete mode 100644 vendor/ZMQ/RELICENSE/prarrot.md delete mode 100644 vendor/ZMQ/RELICENSE/psl-felipefarinon.md delete mode 100644 vendor/ZMQ/RELICENSE/ptroja.md delete mode 100644 vendor/ZMQ/RELICENSE/rcxdude.md delete mode 100644 vendor/ZMQ/RELICENSE/reunanen.md delete mode 100644 vendor/ZMQ/RELICENSE/reza-ebrahimi.md delete mode 100644 vendor/ZMQ/RELICENSE/rgagnon24.md delete mode 100644 vendor/ZMQ/RELICENSE/rikvdh.md delete mode 100644 vendor/ZMQ/RELICENSE/rlenferink.md delete mode 100644 vendor/ZMQ/RELICENSE/roalz.md delete mode 100644 vendor/ZMQ/RELICENSE/rodgert.md delete mode 100644 vendor/ZMQ/RELICENSE/rotty.md delete mode 100644 vendor/ZMQ/RELICENSE/sab24.md delete mode 100644 vendor/ZMQ/RELICENSE/sabotagebeats.md delete mode 100644 vendor/ZMQ/RELICENSE/sappo.md delete mode 100644 vendor/ZMQ/RELICENSE/saschavv.md delete mode 100644 vendor/ZMQ/RELICENSE/scemama.md delete mode 100644 vendor/ZMQ/RELICENSE/schulzch.md delete mode 100644 vendor/ZMQ/RELICENSE/sdrsdr.md delete mode 100644 vendor/ZMQ/RELICENSE/serg06.md delete mode 100644 vendor/ZMQ/RELICENSE/shancat.md delete mode 100644 vendor/ZMQ/RELICENSE/sheremetyev.md delete mode 100644 vendor/ZMQ/RELICENSE/shripchenko.md delete mode 100644 vendor/ZMQ/RELICENSE/sigiesec.md delete mode 100644 vendor/ZMQ/RELICENSE/simias.md delete mode 100644 vendor/ZMQ/RELICENSE/skaes.md delete mode 100644 vendor/ZMQ/RELICENSE/skaller.md delete mode 100644 vendor/ZMQ/RELICENSE/skicc.md delete mode 100644 vendor/ZMQ/RELICENSE/somdoron.md delete mode 100644 vendor/ZMQ/RELICENSE/sonoware.md delete mode 100644 vendor/ZMQ/RELICENSE/soulik.md delete mode 100644 vendor/ZMQ/RELICENSE/spotify.md delete mode 100644 vendor/ZMQ/RELICENSE/sradomski.md delete mode 100644 vendor/ZMQ/RELICENSE/ssbl.md delete mode 100644 vendor/ZMQ/RELICENSE/stanpl.md delete mode 100644 vendor/ZMQ/RELICENSE/staticfloat.md delete mode 100644 vendor/ZMQ/RELICENSE/std-any-emplace.md delete mode 100644 vendor/ZMQ/RELICENSE/steve-o.md delete mode 100644 vendor/ZMQ/RELICENSE/straubar.md delete mode 100644 vendor/ZMQ/RELICENSE/suudy.md delete mode 100644 vendor/ZMQ/RELICENSE/swansontec.md delete mode 100644 vendor/ZMQ/RELICENSE/t-b.md delete mode 100644 vendor/ZMQ/RELICENSE/tSed.md delete mode 100644 vendor/ZMQ/RELICENSE/tabe.md delete mode 100644 vendor/ZMQ/RELICENSE/tailhook.md delete mode 100644 vendor/ZMQ/RELICENSE/taotetek.md delete mode 100644 vendor/ZMQ/RELICENSE/tarmo.md delete mode 100644 vendor/ZMQ/RELICENSE/tberkey.md delete mode 100644 vendor/ZMQ/RELICENSE/templates/relicense-template-mplv2-any-osi.txt delete mode 100644 vendor/ZMQ/RELICENSE/templates/relicense-template-mplv2-share-alike-osi.txt delete mode 100644 vendor/ZMQ/RELICENSE/templates/relicense-template-mplv2.txt delete mode 100644 vendor/ZMQ/RELICENSE/thompsa.md delete mode 100644 vendor/ZMQ/RELICENSE/tommd.md delete mode 100644 vendor/ZMQ/RELICENSE/tomzbench.md delete mode 100644 vendor/ZMQ/RELICENSE/toonetown.md delete mode 100644 vendor/ZMQ/RELICENSE/trevorbernard.md delete mode 100644 vendor/ZMQ/RELICENSE/trya.md delete mode 100644 vendor/ZMQ/RELICENSE/twhittock.md delete mode 100644 vendor/ZMQ/RELICENSE/ulikoehler.md delete mode 100644 vendor/ZMQ/RELICENSE/viciious.md delete mode 100644 vendor/ZMQ/RELICENSE/vortechs2000.md delete mode 100644 vendor/ZMQ/RELICENSE/vtellier.md delete mode 100644 vendor/ZMQ/RELICENSE/vyskocilm.md delete mode 100644 vendor/ZMQ/RELICENSE/wallstprog.md delete mode 100644 vendor/ZMQ/RELICENSE/willstrang.md delete mode 100644 vendor/ZMQ/RELICENSE/xantares.md delete mode 100644 vendor/ZMQ/RELICENSE/xaqq.md delete mode 100644 vendor/ZMQ/RELICENSE/xqcool.mq delete mode 100644 vendor/ZMQ/RELICENSE/yan12125.md delete mode 100644 vendor/ZMQ/RELICENSE/yitzchak.md delete mode 100644 vendor/ZMQ/RELICENSE/yuvallanger.md delete mode 100644 vendor/ZMQ/RELICENSE/zedalaye.md delete mode 100644 vendor/ZMQ/RELICENSE/zoedberg.md delete mode 100644 vendor/ZMQ/RELICENSE/zoobab.md create mode 100644 vendor/ZMQ/build_qnx/Makefile create mode 100644 vendor/ZMQ/build_qnx/common.mk create mode 100644 vendor/ZMQ/build_qnx/nto/Makefile create mode 100644 vendor/ZMQ/build_qnx/nto/aarch64/Makefile create mode 100644 vendor/ZMQ/build_qnx/nto/aarch64/le/Makefile create mode 100644 vendor/ZMQ/build_qnx/nto/x86_64/Makefile create mode 100644 vendor/ZMQ/build_qnx/nto/x86_64/o/Makefile create mode 100644 vendor/ZMQ/build_qnx/qnx.nto.toolchain.cmake delete mode 100644 vendor/ZMQ/builds/cmake/Modules2/Findsodium.cmake create mode 100644 vendor/ZMQ/doc/zmq_ppoll.txt rename vendor/ZMQ/packaging/debian/{zeromq.dsc.obs => zeromq.dsc} (100%) delete mode 100644 vendor/ZMQ/src/tweetnacl.c delete mode 100644 vendor/ZMQ/src/tweetnacl.h create mode 100644 vendor/ZMQ/tests/test_pubsub_topics_count.cpp create mode 100644 vendor/ZMQ/tests/test_xpub_topic.cpp create mode 100644 vendor/ZMQ/tests/test_xsub_verbose.cpp create mode 100644 vendor/ZMQ/tests/test_zmq_ppoll_fd.cpp create mode 100644 vendor/ZMQ/tests/test_zmq_ppoll_signals.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index dffe8cfb..063cda0d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.7) +cmake_minimum_required(VERSION 3.21) project(SqMod) # This plug-in only works on 64-bit @@ -7,8 +7,7 @@ if(CMAKE_SIZEOF_VOID_P EQUAL 4) endif() # Tell CMake where to find our scripts -set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) -set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/vendor/POCO/cmake) +set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake ${PROJECT_SOURCE_DIR}/vendor/POCO/cmake) # Several plugin options option(ENABLE_API21 "Build for 2.1 API." OFF) @@ -20,85 +19,12 @@ option(ENABLE_BUILTIN_MYSQL_C "Enable built-in MySQL connector library" OFF) if(WIN32 AND MINGW) option(COPY_DEPENDENCIES "Copy dependent DLLs into the deps folder." OFF) endif() +# Discord suppport +option(ENABLE_DISCORD "Enable built-in Discord support." ON) -# C++14 is mandatory -set(CPP_STD_NUMBER 14) - -include(CheckCXXCompilerFlag) -# C++ standard availability check -if(${CMAKE_CXX_COMPILER_ID} MATCHES "(GNU)+") - # Specific flags - set(CPP_STD_COMPILER_FLAG "-std=c++14") - # Don't even bother with previous version - if(CPP_STD_NUMBER LESS 20 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0) - check_cxx_compiler_flag(-std=c++20 HAVE_FLAG_STD_CXX20) - check_cxx_compiler_flag(-std=c++2a HAVE_FLAG_STD_CXX2A) - if(HAVE_FLAG_STD_CXX20 OR HAVE_FLAG_STD_CXX2A) - # We can use C++20 - set(CPP_STD_NUMBER 20) - # Specific flags - if (HAVE_FLAG_STD_CXX2A AND NOT HAVE_FLAG_STD_CXX20) - set(CPP_STD_COMPILER_FLAG "-std=c++2a") - else() - set(CPP_STD_COMPILER_FLAG "-std=c++20") - endif() - # Need these workarounds for older CMake - if(${CMAKE_VERSION} VERSION_LESS "3.8.0") - if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0) - set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std=c++20") - set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std=gnu++20") - elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0) - set(CMAKE_CXX20_STANDARD_COMPILE_OPTION "-std=c++2a") - set(CMAKE_CXX20_EXTENSION_COMPILE_OPTION "-std=gnu++2a") - endif() - endif() - endif() - endif() - # Don't even bother with previous version - if(CPP_STD_NUMBER LESS 17 AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.0) - check_cxx_compiler_flag(-std=c++17 HAVE_FLAG_STD_CXX17) - check_cxx_compiler_flag(-std=c++1z HAVE_FLAG_STD_CXX1Z) - if(HAVE_FLAG_STD_CXX17 OR HAVE_FLAG_STD_CXX1Z) - # We can use C++17 - set(CPP_STD_NUMBER 17) - # Specific flags - if (HAVE_FLAG_STD_CXX1Z AND NOT HAVE_FLAG_STD_CXX17) - set(CPP_STD_COMPILER_FLAG "-std=c++1z") - else() - set(CPP_STD_COMPILER_FLAG "-std=c++17") - endif() - # Need these workarounds for older CMake - if(${CMAKE_VERSION} VERSION_LESS "3.8.0") - if (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0) - set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++17") - set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++17") - elseif (NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1) - set(CMAKE_CXX17_STANDARD_COMPILE_OPTION "-std=c++1z") - set(CMAKE_CXX17_EXTENSION_COMPILE_OPTION "-std=gnu++1z") - endif() - endif() - endif() - endif() -else() - # C++14 is mandatory - set(CPP_STD_NUMBER 14) -endif() - -message(STATUS "SqMod: Using C++${CPP_STD_NUMBER} standard.") - -# Default to the identified standard -if(CMAKE_VERSION VERSION_LESS "3.1") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CPP_STD_COMPILER_FLAG}") -else() - # Apparently the above does not work with cmake from on debian 8 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CPP_STD_COMPILER_FLAG}") - # F* you too Debian. What can I say. - if(CMAKE_VERSION VERSION_LESS "3.8.0" AND CPP_STD_NUMBER LESS 17) - # Try the standard method as well - set(CMAKE_CXX_STANDARD ${CPP_STD_NUMBER}) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - endif() -endif() +# C++17 is mandatory (globally) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) # Strip binary set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -s -g") diff --git a/cmake/_FindOpus.cmake b/cmake/_FindOpus.cmake new file mode 100644 index 00000000..75de4f9a --- /dev/null +++ b/cmake/_FindOpus.cmake @@ -0,0 +1,92 @@ +############################################################################ +# FindOpus.cmake +# Copyright (C) 2014-2023 Belledonne Communications, Grenoble France +# +############################################################################ +# +# 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 2 +# 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +############################################################################ +# +# Find the opus library. +# +# Targets +# ^^^^^^^ +# +# The following targets may be defined: +# +# opus - If the opus library has been found +# +# +# Result variables +# ^^^^^^^^^^^^^^^^ +# +# This module will set the following variables in your project: +# +# Opus_FOUND - The opus library has been found +# Opus_TARGET - The name of the CMake target for the opus library +# +# This module may set the following variable: +# +# Opus_USE_BUILD_INTERFACE - If the opus library is used from its build directory + + +include(FindPackageHandleStandardArgs) + +set(_Opus_REQUIRED_VARS Opus_TARGET) +set(_Opus_CACHE_VARS ${_Opus_REQUIRED_VARS}) + +if(TARGET opus) + + set(Opus_TARGET opus) + set(Opus_USE_BUILD_INTERFACE TRUE) + +else() + + find_path(_Opus_INCLUDE_DIRS + NAMES opus/opus.h + PATH_SUFFIXES include + ) + + find_library(_Opus_LIBRARY NAMES opus) + if(_Opus_LIBRARY) + find_library(_m_LIBRARY NAMES m) + endif() + + if(_Opus_INCLUDE_DIRS AND _Opus_LIBRARY) + add_library(opus UNKNOWN IMPORTED) + if(WIN32) + set_target_properties(opus PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_Opus_INCLUDE_DIRS}" + IMPORTED_IMPLIB "${_Opus_LIBRARY}" + IMPORTED_LINK_INTERFACE_LIBRARIES "${_m_LIBRARY}" + ) + else() + set_target_properties(opus PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${_Opus_INCLUDE_DIRS}" + IMPORTED_LOCATION "${_Opus_LIBRARY}" + IMPORTED_LINK_INTERFACE_LIBRARIES "${_m_LIBRARY}" + ) + endif() + + set(Opus_TARGET opus) + endif() + +endif() + +find_package_handle_standard_args(Opus + REQUIRED_VARS ${_Opus_REQUIRED_VARS} +) +mark_as_advanced(${_Opus_CACHE_VARS}) diff --git a/module/CMakeLists.txt b/module/CMakeLists.txt index 2d77f0bf..0ee59246 100644 --- a/module/CMakeLists.txt +++ b/module/CMakeLists.txt @@ -92,6 +92,7 @@ add_library(SqModule MODULE SqBase.hpp Main.cpp Library/Utils.cpp Library/Utils.hpp Library/Utils/Announce.cpp Library/Utils/Announce.hpp Library/Utils/String.cpp Library/Utils/String.hpp + Library/Utils/Template.cpp Library/Utils/Template.hpp Library/Utils/Vector.cpp Library/Utils/Vector.hpp Library/XML.cpp Library/XML.hpp Library/ZMQ.cpp Library/ZMQ.hpp @@ -112,12 +113,14 @@ add_library(SqModule MODULE SqBase.hpp Main.cpp PocoLib/Register.cpp PocoLib/Register.hpp PocoLib/Time.cpp PocoLib/Time.hpp PocoLib/Util.cpp PocoLib/Util.hpp - # + # Core.cpp Core.hpp Logger.cpp Logger.hpp Register.cpp Exports.cpp ) +# The module requires C++ 17 +set_property(TARGET SqModule PROPERTY CXX_STANDARD 17) # Various definitions required by the plug-in target_compile_definitions(SqModule PRIVATE SCRAT_USE_EXCEPTIONS=1) # SDK targeting @@ -135,7 +138,7 @@ if(WIN32 OR MINGW) target_link_libraries(SqModule wsock32 ws2_32 shlwapi) endif() # Link to base libraries -target_link_libraries(SqModule RPMalloc Squirrel fmt::fmt SimpleINI TinyDir xxHash ConcurrentQueue SAJSON CPR UTF8Lib PUGIXML CivetWeb maxminddb libzmq-static) +target_link_libraries(SqModule RPMalloc Squirrel fmt::fmt SimpleINI TinyDir xxHash ConcurrentQueue SAJSON CPR UTF8Lib PUGIXML CivetWeb inja maxminddb libzmq-static) # Link to POCO libraries target_link_libraries(SqModule Poco::Foundation Poco::Crypto Poco::Data Poco::Net) # Does POCO have SQLite support? @@ -174,6 +177,31 @@ if(POSTGRESQL_FOUND) # Inform the plug-in that it can make use of this library target_compile_definitions(SqModule PRIVATE SQMOD_POCO_HAS_POSTGRESQL=1) endif() +# Is Discord support enabled? +if(ENABLE_DISCORD) +target_link_libraries(SqModule dpp) +target_sources(SqModule PRIVATE + Library/Discord.cpp Library/Discord.hpp + Library/Discord/Application.hpp Library/Discord/Application.cpp + Library/Discord/Automod.hpp Library/Discord/Automod.cpp + Library/Discord/Channel.hpp Library/Discord/Channel.cpp + Library/Discord/Client.hpp Library/Discord/Client.cpp + Library/Discord/Cluster.hpp Library/Discord/Cluster.cpp + Library/Discord/Command.hpp Library/Discord/Command.cpp + Library/Discord/Constants.hpp Library/Discord/Constants.cpp + Library/Discord/Events.hpp Library/Discord/Events.cpp + Library/Discord/Guild.hpp Library/Discord/Guild.cpp + Library/Discord/Integration.hpp Library/Discord/Integration.cpp + Library/Discord/Message.hpp Library/Discord/Message.cpp + Library/Discord/Misc.hpp Library/Discord/Misc.cpp + Library/Discord/Presence.hpp Library/Discord/Presence.cpp + Library/Discord/Role.hpp Library/Discord/Role.cpp + Library/Discord/User.hpp Library/Discord/User.cpp + Library/Discord/Utilities.hpp Library/Discord/Utilities.cpp +) +# Inform the plug-in that discord is enabled +target_compile_definitions(SqModule PRIVATE SQMOD_DISCORD=1) +endif() # Determine if build mode if(${CMAKE_BUILD_TYPE} MATCHES "(Release)+") target_compile_definitions(SqModule PRIVATE NDEBUG=1) @@ -218,6 +246,7 @@ else() endif() # Copy module into the plug-ins folder add_custom_command(TARGET SqModule POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $ "${PROJECT_SOURCE_DIR}/bin/plugins") + # Copy several dependent DLLs on windows to make distribution easier (used mainly by people that distribute builds) if(WIN32 AND MINGW AND COPY_DEPENDENCIES) get_filename_component(MINGW_BIN_PATH ${CMAKE_C_COMPILER} DIRECTORY REALPATH) diff --git a/module/Core.cpp b/module/Core.cpp index e53fe1bb..47ef3df1 100644 --- a/module/Core.cpp +++ b/module/Core.cpp @@ -49,6 +49,9 @@ extern void TerminateRoutines(); extern void TerminateCommands(); extern void TerminateSignals(); extern void TerminateNet(); +#ifdef SQMOD_DISCORD + extern void TerminateDiscord(); +#endif extern void TerminatePocoNet(); extern void TerminatePocoData(); @@ -553,6 +556,11 @@ void Core::Terminate(bool shutdown) // Release network TerminateNet(); cLogDbg(m_Verbosity >= 1, "Network terminated"); + // Release DPP +#ifdef SQMOD_DISCORD + TerminateDiscord(); + cLogDbg(m_Verbosity >= 1, "Discord terminated"); +#endif // Release Poco statement results TerminatePocoNet(); TerminatePocoData(); diff --git a/module/Library/CURL.cpp b/module/Library/CURL.cpp index 18643f84..f5860e15 100644 --- a/module/Library/CURL.cpp +++ b/module/Library/CURL.cpp @@ -19,6 +19,19 @@ SQMOD_DECL_TYPENAME(SqCpProxies, _SC("SqCprProxies")) SQMOD_DECL_TYPENAME(SqCpRedirect, _SC("SqCprRedirect")) SQMOD_DECL_TYPENAME(SqCpSession, _SC("SqCprSession")) +// ------------------------------------------------------------------------------------------------ +struct CurlInit +{ + CurlInit() + { + curl_global_init(CURL_GLOBAL_ALL); + } + ~CurlInit() + { + curl_global_cleanup(); + } +}; + /* ------------------------------------------------------------------------------------------------ * Common session action implementation. */ @@ -658,13 +671,11 @@ void Register_CURL(HSQUIRRELVM vm) .Func(_SC("SetTimeout"), &CpSession::SetTimeout_) .Func(_SC("SetConnectTimeout"), &CpSession::SetConnectTimeout_) .FmtFunc(_SC("SetAuth"), &CpSession::SetAuth_) - .FmtFunc(_SC("SetDigest"), &CpSession::SetDigest_) .FmtFunc(_SC("SetUserAgent"), &CpSession::SetUserAgent_) .Func(_SC("SetPayload"), &CpSession::SetPayload_) .Func(_SC("YieldPayload"), &CpSession::YieldPayload) .Func(_SC("SetProxies"), &CpSession::SetProxies_) .Func(_SC("YieldProxies"), &CpSession::YieldProxies) - .FmtFunc(_SC("SetNTLM"), &CpSession::SetNTLM_) .Func(_SC("SetRedirect"), &CpSession::SetRedirect_) .Func(_SC("SetCookies"), &CpSession::SetCookies_) .FmtFunc(_SC("SetBody"), &CpSession::SetBody_) diff --git a/module/Library/CURL.hpp b/module/Library/CURL.hpp index 7451deb6..763e868e 100644 --- a/module/Library/CURL.hpp +++ b/module/Library/CURL.hpp @@ -507,7 +507,7 @@ struct CpCookies : public cpr::Cookies * Move constructor. */ explicit CpCookies(cpr::Cookies && e) : cpr::Cookies(std::move(e)) { } - + /* -------------------------------------------------------------------------------------------- * Copy constructor. */ @@ -538,7 +538,7 @@ struct CpCookies : public cpr::Cookies */ SQMOD_NODISCARD SQInteger Size() const { - return static_cast< SQInteger >(cpr::Cookies::map_.size()); + return static_cast< SQInteger >(cpr::Cookies::cookies_.size()); } /* -------------------------------------------------------------------------------------------- @@ -546,7 +546,7 @@ struct CpCookies : public cpr::Cookies */ SQMOD_NODISCARD bool Empty() const { - return cpr::Cookies::map_.empty(); + return cpr::Cookies::cookies_.empty(); } /* -------------------------------------------------------------------------------------------- @@ -554,7 +554,7 @@ struct CpCookies : public cpr::Cookies */ void Clear() { - cpr::Cookies::map_.clear(); + cpr::Cookies::cookies_.clear(); } /* -------------------------------------------------------------------------------------------- @@ -562,7 +562,12 @@ struct CpCookies : public cpr::Cookies */ SQMOD_NODISCARD SQInteger Count(StackStrF & key) const { - return static_cast< SQInteger >(cpr::Cookies::map_.count(key.ToStr())); + SQInteger cnt = 0; + for (const auto & c : cpr::Cookies::cookies_) + { + if (c.GetName().compare(0, static_cast(key.mLen), key.mPtr) == 0) ++cnt; + } + return cnt; } /* -------------------------------------------------------------------------------------------- @@ -570,14 +575,14 @@ struct CpCookies : public cpr::Cookies */ bool Erase(StackStrF & key) { - auto itr = cpr::Cookies::map_.find(key.ToStr()); - // Does it exist? - if (itr == cpr::Cookies::map_.end()) - { - return false; // Nope - } - // Erase it - cpr::Cookies::map_.erase(itr); + // auto itr = cpr::Cookies::cookies_.find(key.ToStr()); + // // Does it exist? + // if (itr == cpr::Cookies::cookies_.end()) + // { + // return false; // Nope + // } + // // Erase it + // cpr::Cookies::cookies_.erase(itr); // Erased return true; } @@ -587,7 +592,7 @@ struct CpCookies : public cpr::Cookies */ SQMOD_NODISCARD bool Has(StackStrF & key) const { - return cpr::Cookies::map_.find(key.ToStr()) != cpr::Cookies::map_.end(); + return false;//cpr::Cookies::cookies_.find(key.ToStr()) != cpr::Cookies::cookies_.end() } /* -------------------------------------------------------------------------------------------- @@ -595,14 +600,15 @@ struct CpCookies : public cpr::Cookies */ SQMOD_NODISCARD std::string & Get(StackStrF & key) { - auto itr = cpr::Cookies::map_.find(key.ToStr()); - // Does it exist? - if (itr == cpr::Cookies::map_.end()) - { - STHROWF("No cookie named: %s", key.mPtr); - } + // auto itr = cpr::Cookies::cookies_.find(key.ToStr()); + // // Does it exist? + // if (itr == cpr::Cookies::cookies_.end()) + // { + // STHROWF("No cookie named: %s", key.mPtr); + // } + static std::string s; // Return it - return itr->second; + return s;// itr->second; } /* -------------------------------------------------------------------------------------------- @@ -610,7 +616,7 @@ struct CpCookies : public cpr::Cookies */ void Set(StackStrF & key, StackStrF & val) { - cpr::Cookies::map_[key.ToStr()] = val.ToStr(); + //cpr::Cookies::cookies_[key.ToStr()] = val.ToStr(); } /* -------------------------------------------------------------------------------------------- @@ -618,9 +624,9 @@ struct CpCookies : public cpr::Cookies */ void Each(Function & fn) const { - for (const auto & p : cpr::Cookies::map_) + for (const auto & c : cpr::Cookies::cookies_) { - fn.Execute(p.first, p.second); + fn.Execute(c); } } @@ -629,9 +635,9 @@ struct CpCookies : public cpr::Cookies */ void While(Function & fn) const { - for (const auto & p : cpr::Cookies::map_) + for (const auto & c : cpr::Cookies::cookies_) { - auto ret = fn.Eval(p.first, p.second); + auto ret = fn.Eval(c); // (null || true) == continue & false == break if (!ret.IsNull() || !ret.Cast< bool >()) { @@ -664,7 +670,7 @@ struct CpHeader * Move constructor. */ explicit CpHeader(cpr::Header && e) : mMap(std::move(e)) { } - + /* -------------------------------------------------------------------------------------------- * Copy constructor. */ @@ -863,7 +869,7 @@ struct CpResponse : public cpr::Response STHROWF("Invalid response instance"); } // Retrieve the info vector - auto vec = cpr::Response::GetCertInfo(); + auto vec = cpr::Response::GetCertInfos(); // Create a script array Array arr(SqVM(), static_cast< SQInteger >(vec.size())); // Populate the array with vector elements @@ -1120,7 +1126,7 @@ struct CpParameters : public cpr::Parameters * Move constructor. */ explicit CpParameters(cpr::Parameters && e) : cpr::Parameters(std::move(e)) { } - + /* -------------------------------------------------------------------------------------------- * Copy constructor. */ @@ -1291,7 +1297,7 @@ struct CpPayload : public cpr::Payload * Move constructor. */ explicit CpPayload(cpr::Payload && e) : cpr::Payload(std::move(e)) { } - + /* -------------------------------------------------------------------------------------------- * Copy constructor. */ @@ -1470,7 +1476,7 @@ struct CpProxies : public cpr::Proxies * Move constructor. */ explicit CpProxies(cpr::Proxies && e) : cpr::Proxies(std::move(e)) { } - + /* -------------------------------------------------------------------------------------------- * Copy constructor. */ @@ -1619,7 +1625,7 @@ struct CpRedirect : public cpr::Redirect * Explicit constructor. */ explicit CpRedirect(SQInteger maximum) - : cpr::Redirect(static_cast< long >(maximum), true, cpr::PostRedirectFlags::POST_ALL) + : cpr::Redirect(static_cast< long >(maximum), true, false, cpr::PostRedirectFlags::POST_ALL) { } @@ -1627,15 +1633,23 @@ struct CpRedirect : public cpr::Redirect * Explicit constructor. */ CpRedirect(SQInteger maximum, bool follow) - : cpr::Redirect(static_cast< long >(maximum), follow, cpr::PostRedirectFlags::POST_ALL) + : cpr::Redirect(static_cast< long >(maximum), follow, false, cpr::PostRedirectFlags::POST_ALL) { } /* -------------------------------------------------------------------------------------------- * Explicit constructor. */ - CpRedirect(SQInteger maximum, bool follow, SQInteger post_flags) - : cpr::Redirect(static_cast< long >(maximum), follow, static_cast< cpr::PostRedirectFlags >(post_flags)) + CpRedirect(SQInteger maximum, bool follow, bool cont_send_cred) + : cpr::Redirect(static_cast< long >(maximum), follow, cont_send_cred, cpr::PostRedirectFlags::POST_ALL) + { + } + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + CpRedirect(SQInteger maximum, bool follow, bool cont_send_cred, SQInteger post_flags) + : cpr::Redirect(static_cast< long >(maximum), follow, cont_send_cred, static_cast< cpr::PostRedirectFlags >(post_flags)) { } @@ -1648,7 +1662,7 @@ struct CpRedirect : public cpr::Redirect * Move constructor. */ explicit CpRedirect(cpr::Redirect && e) : cpr::Redirect(e) { } - + /* -------------------------------------------------------------------------------------------- * Copy constructor. */ @@ -1879,20 +1893,10 @@ struct CpSession : public cpr::Session /* -------------------------------------------------------------------------------------------- * Modify auth option. */ - CpSession & SetAuth_(StackStrF & username, StackStrF & password) + CpSession & SetAuth_(StackStrF & username, StackStrF & password, SQInteger mode) { LockCheck(); - cpr::Session::SetAuth(cpr::Authentication(username.ToStr(), password.ToStr())); - return *this; // Allow chaining - } - - /* -------------------------------------------------------------------------------------------- - * Modify digest option. - */ - CpSession & SetDigest_(StackStrF & username, StackStrF & password) - { - LockCheck(); - cpr::Session::SetAuth(cpr::Digest(username.ToStr(), password.ToStr())); + cpr::Session::SetAuth(cpr::Authentication(username.ToStr(), password.ToStr(), static_cast(mode))); return *this; // Allow chaining } @@ -1960,16 +1964,6 @@ struct CpSession : public cpr::Session //{ //} - /* -------------------------------------------------------------------------------------------- - * Modify NTLM option. - */ - CpSession & SetNTLM_(StackStrF & username, StackStrF & password) - { - LockCheck(); - cpr::Session::SetNTLM(cpr::NTLM(username.ToStr(), password.ToStr())); - return *this; // Allow chaining - } - /* -------------------------------------------------------------------------------------------- * Modify redirect option. */ diff --git a/module/Library/Discord.cpp b/module/Library/Discord.cpp new file mode 100644 index 00000000..e004badd --- /dev/null +++ b/module/Library/Discord.cpp @@ -0,0 +1,51 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord.hpp" +#include "Library/Discord/Cluster.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +// ------------------------------------------------------------------------------------------------ +void TerminateDiscord() +{ + // Go over all clusters and try to terminate them + for (DpCluster * inst = DpCluster::sHead; inst && inst->mNext != DpCluster::sHead; inst = inst->mNext) + { + inst->Terminate(); // Terminate the cluster + } +} + +// ------------------------------------------------------------------------------------------------ +void ProcessDiscord() +{ + // Go over all clusters and allow them to process data + for (DpCluster * inst = DpCluster::sHead; inst && inst->mNext != DpCluster::sHead; inst = inst->mNext) + { + inst->Process(); + } +} + +// ------------------------------------------------------------------------------------------------ +extern void Register_Discord_Constants(HSQUIRRELVM vm, Table & ns); +extern void Register_Discord_Events(HSQUIRRELVM vm, Table & ns); +extern void Register_Discord_Misc(HSQUIRRELVM vm, Table & ns); +extern void Register_Discord_Cluster(HSQUIRRELVM vm, Table & ns); + +// ================================================================================================ +void Register_Discord(HSQUIRRELVM vm) +{ + Table ns(vm); + // -------------------------------------------------------------------------------------------- + Register_Discord_Constants(vm, ns); + { + Table ens(vm); + Register_Discord_Events(vm, ens); + ns.Bind(_SC("Event"), ens); + } + Register_Discord_Misc(vm, ns); + Register_Discord_Cluster(vm, ns); + // -------------------------------------------------------------------------------------------- + RootTable(vm).Bind(_SC("SqDiscord"), ns); +} + +} // Namespace:: SqMod diff --git a/module/Library/Discord.hpp b/module/Library/Discord.hpp new file mode 100644 index 00000000..d1757830 --- /dev/null +++ b/module/Library/Discord.hpp @@ -0,0 +1,17 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Library/IO/Buffer.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +#include +#include +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Application.cpp b/module/Library/Discord/Application.cpp new file mode 100644 index 00000000..6abaa1bf --- /dev/null +++ b/module/Library/Discord/Application.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Application.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Application.hpp b/module/Library/Discord/Application.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/Application.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Automod.cpp b/module/Library/Discord/Automod.cpp new file mode 100644 index 00000000..a1337e7f --- /dev/null +++ b/module/Library/Discord/Automod.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Automod.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Automod.hpp b/module/Library/Discord/Automod.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/Automod.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Channel.cpp b/module/Library/Discord/Channel.cpp new file mode 100644 index 00000000..9b25380e --- /dev/null +++ b/module/Library/Discord/Channel.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Channel.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Channel.hpp b/module/Library/Discord/Channel.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/Channel.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Client.cpp b/module/Library/Discord/Client.cpp new file mode 100644 index 00000000..e110c8a2 --- /dev/null +++ b/module/Library/Discord/Client.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Client.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Client.hpp b/module/Library/Discord/Client.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/Client.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Cluster.cpp b/module/Library/Discord/Cluster.cpp new file mode 100644 index 00000000..5d82b5b5 --- /dev/null +++ b/module/Library/Discord/Cluster.cpp @@ -0,0 +1,496 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Cluster.hpp" +#include "Library/Discord/Events.hpp" +#include "Logger.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +// ------------------------------------------------------------------------------------------------ +SQMOD_DECL_TYPENAME(SqDpClusterTypename, _SC("SqDiscordCluster")) +SQMOD_DECL_TYPENAME(SqDpClusterOptionsTypename, _SC("SqDiscordClusterOptions")) + +// ------------------------------------------------------------------------------------------------ +DpCluster::DpCluster(DpClusterOptions & o) + : Base(), mQueue(4096) + , mC(std::make_unique< dpp::cluster >(o.mToken, o.mIntents, o.mShards, o.mClusterID, o.mMaxClusters, o.mCompressed, o.mPolicy, o.mRequestThreads, o.mRequestThreadsRaw)) + , mSqEvents(), mEvents(), mEventsHandle() +{ + // Make sure all event handles are not valid + mEventsHandle.fill(0); + // Initialize event signals + InitEvents(); + // Proxy library logging to our logger + if (!o.mCustomLogging) + { + mC->on_log([](const dpp::log_t& event) { + switch (event.severity) + { + case dpp::ll_trace: Logger::Get().Send(LOGL_DBG, true, event.message.c_str(), event.message.size()); break; + case dpp::ll_debug: Logger::Get().Send(LOGL_DBG, true, event.message.c_str(), event.message.size()); break; + case dpp::ll_info: Logger::Get().Send(LOGL_INF, true, event.message.c_str(), event.message.size()); break; + case dpp::ll_warning: Logger::Get().Send(LOGL_WRN, true, event.message.c_str(), event.message.size()); break; + case dpp::ll_error: Logger::Get().Send(LOGL_ERR, true, event.message.c_str(), event.message.size()); break; + case dpp::ll_critical: Logger::Get().Send(LOGL_FTL, true, event.message.c_str(), event.message.size()); break; + default: break; + } + }); + } + // Remember this instance + ChainInstance(); +} + +// ------------------------------------------------------------------------------------------------ +SQMOD_NODISCARD LightObj EventToScriptObject(uint8_t type, uintptr_t data); +void EventInvokeCleanup(uint8_t type, uintptr_t data); + +// ------------------------------------------------------------------------------------------------ +void DpCluster::Process(bool force) +{ + // Is there a valid connection? + if (!mC && !force) + { + return; // No point in going forward + } + EventItem event; + // Retrieve each event individually and process it + for (size_t count = mQueue.size_approx(), n = 0; n <= count; ++n) + { + // Try to get an event from the queue + if (mQueue.try_dequeue(event)) + { + // Fetch the type of event + const auto id = static_cast< size_t >(event->GetEventID()); + // Is this a valid event and is anyone listening to it? + if (!(event->mFrom) || !(mEvents[id].first) || mEvents[id].first->IsEmpty()) + { + continue; // Move on + } + // Transform the event instance into a script object + LightObj obj = event->ToScriptObject(); + // Allow the script to take ownership of the event instance now + [[maybe_unused]] auto p = event.release(); + // Don't abort everything down the line for an error caused by a discord event handler + try { + (*mEvents[id].first)(obj); // Forward the call to the associated signal + } catch (const std::exception & e) { + LogErr("Squirrel exception caught in (%s) discord event", p->GetEventName().data()); + LogSInf("Message: %s", e.what()); + } + // Allow the event instance to clean itself (i.e. invalidate itself) + // User should not keep this event object for later use! + // Event data is accessible only during the event signal + p->Cleanup(); + } + } +} + +// ------------------------------------------------------------------------------------------------ +void DpCluster::Terminate() +{ + // Stop the cluster connection + if (mC) mC->shutdown(); + // Release associated script objects + mSqEvents.Release(); + // Release event signal objects + DropEvents(); + // Delete the cluster instance + mC.reset(); +} + +// ================================================================================================ +void Register_Discord_Cluster(HSQUIRRELVM vm, Table & ns) +{ + ns.Bind(_SC("ClusterOptions"), + Class< DpClusterOptions >(vm, SqDpClusterOptionsTypename::Str) + // Constructors + .Ctor< StackStrF & >() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpClusterOptionsTypename::Fn) + ); + + ns.Bind(_SC("Cluster"), + Class< DpCluster, NoCopy< DpCluster > >(vm, SqDpClusterTypename::Str) + // Constructors + .Ctor< DpClusterOptions & >() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpClusterTypename::Fn) + // Member Properties + .Prop(_SC("On"), &DpCluster::GetEvents) + // Member Methods + .Func(_SC("Start"), &DpCluster::Start) + .Func(_SC("Stop"), &DpCluster::Stop) + .Func(_SC("EnableEvent"), &DpCluster::EnableEvent) + .Func(_SC("DisableEvent"), &DpCluster::DisableEvent) + ); +} + +// ------------------------------------------------------------------------------------------------ +DpCluster & DpCluster::EnableEvent(SQInteger id) +{ + // Retrieve managed cluster instance + auto & c = Valid("enable event on a"); + // Assigned event handle + dpp::event_handle eh = 0; + // Make sure the specified event handle is valid + if (id >= 0 && id < static_cast< SQInteger >(DpEventID::Max)) + { + eh = mEventsHandle[static_cast< size_t >(id)]; // Get the real handle + } + // Is this event already enabled? + if (eh != 0) + { + return *this; // Job already done + } + // Identify event type + switch (id) + { + case DpEventID::VoiceStateUpdate: eh = c.on_voice_state_update.attach([this](const dpp::voice_state_update_t & e) { OnVoiceStateUpdate(e); }); break; + case DpEventID::VoiceClientDisconnect: eh = c.on_voice_client_disconnect.attach([this](const dpp::voice_client_disconnect_t & e) { OnVoiceClientDisconnect(e); }); break; + case DpEventID::VoiceClientSpeaking: eh = c.on_voice_client_speaking.attach([this](const dpp::voice_client_speaking_t & e) { OnVoiceClientSpeaking(e); }); break; + case DpEventID::Log: eh = c.on_log.attach([this](const dpp::log_t & e) { OnLog(e); }); break; + case DpEventID::GuildJoinRequestDelete: eh = c.on_guild_join_request_delete.attach([this](const dpp::guild_join_request_delete_t & e) { OnGuildJoinRequestDelete(e); }); break; + case DpEventID::InteractionCreate: eh = c.on_interaction_create.attach([this](const dpp::interaction_create_t & e) { OnInteractionCreate(e); }); break; + case DpEventID::SlashCommand: eh = c.on_slashcommand.attach([this](const dpp::slashcommand_t & e) { OnSlashCommand(e); }); break; + case DpEventID::ButtonClick: eh = c.on_button_click.attach([this](const dpp::button_click_t & e) { OnButtonClick(e); }); break; + case DpEventID::AutoComplete: eh = c.on_autocomplete.attach([this](const dpp::autocomplete_t & e) { OnAutoComplete(e); }); break; + case DpEventID::SelectClick: eh = c.on_select_click.attach([this](const dpp::select_click_t & e) { OnSelectClick(e); }); break; + case DpEventID::MessageContextMenu: eh = c.on_message_context_menu.attach([this](const dpp::message_context_menu_t & e) { OnMessageContextMenu(e); }); break; + case DpEventID::UserContextMenu: eh = c.on_user_context_menu.attach([this](const dpp::user_context_menu_t & e) { OnUserContextMenu(e); }); break; + case DpEventID::FormSubmit: eh = c.on_form_submit.attach([this](const dpp::form_submit_t & e) { OnFormSubmit(e); }); break; + case DpEventID::GuildDelete: eh = c.on_guild_delete.attach([this](const dpp::guild_delete_t & e) { OnGuildDelete(e); }); break; + case DpEventID::ChannelDelete: eh = c.on_channel_delete.attach([this](const dpp::channel_delete_t & e) { OnChannelDelete(e); }); break; + case DpEventID::ChannelUpdate: eh = c.on_channel_update.attach([this](const dpp::channel_update_t & e) { OnChannelUpdate(e); }); break; + case DpEventID::Ready: eh = c.on_ready.attach([this](const dpp::ready_t & e) { OnReady(e); }); break; + case DpEventID::MessageDelete: eh = c.on_message_delete.attach([this](const dpp::message_delete_t & e) { OnMessageDelete(e); }); break; + case DpEventID::GuildMemberRemove: eh = c.on_guild_member_remove.attach([this](const dpp::guild_member_remove_t & e) { OnGuildMemberRemove(e); }); break; + case DpEventID::Resumed: eh = c.on_resumed.attach([this](const dpp::resumed_t & e) { OnResumed(e); }); break; + case DpEventID::GuildRoleCreate: eh = c.on_guild_role_create.attach([this](const dpp::guild_role_create_t & e) { OnGuildRoleCreate(e); }); break; + case DpEventID::TypingStart: eh = c.on_typing_start.attach([this](const dpp::typing_start_t & e) { OnTypingStart(e); }); break; + case DpEventID::MessageReactionAdd: eh = c.on_message_reaction_add.attach([this](const dpp::message_reaction_add_t & e) { OnMessageReactionAdd(e); }); break; + case DpEventID::GuildMembersChunk: eh = c.on_guild_members_chunk.attach([this](const dpp::guild_members_chunk_t & e) { OnGuildMembersChunk(e); }); break; + case DpEventID::MessageReactionRemove: eh = c.on_message_reaction_remove.attach([this](const dpp::message_reaction_remove_t & e) { OnMessageReactionRemove(e); }); break; + case DpEventID::GuildCreate: eh = c.on_guild_create.attach([this](const dpp::guild_create_t & e) { OnGuildCreate(e); }); break; + case DpEventID::ChannelCreate: eh = c.on_channel_create.attach([this](const dpp::channel_create_t & e) { OnChannelCreate(e); }); break; + case DpEventID::MessageReactionRemoveEmoji: eh = c.on_message_reaction_remove_emoji.attach([this](const dpp::message_reaction_remove_emoji_t & e) { OnMessageReactionRemoveEmoji(e); }); break; + case DpEventID::MessageDeleteDulk: eh = c.on_message_delete_bulk.attach([this](const dpp::message_delete_bulk_t & e) { OnMessageDeleteDulk(e); }); break; + case DpEventID::GuildRoleUpdate: eh = c.on_guild_role_update.attach([this](const dpp::guild_role_update_t & e) { OnGuildRoleUpdate(e); }); break; + case DpEventID::GuildRoleDelete: eh = c.on_guild_role_delete.attach([this](const dpp::guild_role_delete_t & e) { OnGuildRoleDelete(e); }); break; + case DpEventID::ChannelPinsUpdate: eh = c.on_channel_pins_update.attach([this](const dpp::channel_pins_update_t & e) { OnChannelPinsUpdate(e); }); break; + case DpEventID::MessageReactionRemoveAll: eh = c.on_message_reaction_remove_all.attach([this](const dpp::message_reaction_remove_all_t & e) { OnMessageReactionRemoveAll(e); }); break; + case DpEventID::VoiceServerUpdate: eh = c.on_voice_server_update.attach([this](const dpp::voice_server_update_t & e) { OnVoiceServerUpdate(e); }); break; + case DpEventID::GuildEmojisUpdate: eh = c.on_guild_emojis_update.attach([this](const dpp::guild_emojis_update_t & e) { OnGuildEmojisUpdate(e); }); break; + case DpEventID::GuildStickersUpdate: eh = c.on_guild_stickers_update.attach([this](const dpp::guild_stickers_update_t & e) { OnGuildStickersUpdate(e); }); break; + case DpEventID::PresenceUpdate: eh = c.on_presence_update.attach([this](const dpp::presence_update_t & e) { OnPresenceUpdate(e); }); break; + case DpEventID::WebhooksUpdate: eh = c.on_webhooks_update.attach([this](const dpp::webhooks_update_t & e) { OnWebhooksUpdate(e); }); break; + case DpEventID::AutomodRuleCreate: eh = c.on_automod_rule_create.attach([this](const dpp::automod_rule_create_t & e) { OnAutomodRuleCreate(e); }); break; + case DpEventID::AutomodRuleUpdate: eh = c.on_automod_rule_update.attach([this](const dpp::automod_rule_update_t & e) { OnAutomodRuleUpdate(e); }); break; + case DpEventID::AutomodRuleDelete: eh = c.on_automod_rule_delete.attach([this](const dpp::automod_rule_delete_t & e) { OnAutomodRuleDelete(e); }); break; + case DpEventID::AutomodRuleExecute: eh = c.on_automod_rule_execute.attach([this](const dpp::automod_rule_execute_t & e) { OnAutomodRuleExecute(e); }); break; + case DpEventID::GuildMemberAdd: eh = c.on_guild_member_add.attach([this](const dpp::guild_member_add_t & e) { OnGuildMemberAdd(e); }); break; + case DpEventID::InviteDelete: eh = c.on_invite_delete.attach([this](const dpp::invite_delete_t & e) { OnInviteDelete(e); }); break; + case DpEventID::GuildUpdate: eh = c.on_guild_update.attach([this](const dpp::guild_update_t & e) { OnGuildUpdate(e); }); break; + case DpEventID::GuildIntegrationsUpdate: eh = c.on_guild_integrations_update.attach([this](const dpp::guild_integrations_update_t & e) { OnGuildIntegrationsUpdate(e); }); break; + case DpEventID::GuildMemberUpdate: eh = c.on_guild_member_update.attach([this](const dpp::guild_member_update_t & e) { OnGuildMemberUpdate(e); }); break; + case DpEventID::InviteCreate: eh = c.on_invite_create.attach([this](const dpp::invite_create_t & e) { OnInviteCreate(e); }); break; + case DpEventID::MessageUpdate: eh = c.on_message_update.attach([this](const dpp::message_update_t & e) { OnMessageUpdate(e); }); break; + case DpEventID::UserUpdate: eh = c.on_user_update.attach([this](const dpp::user_update_t & e) { OnUserUpdate(e); }); break; + case DpEventID::MessageCreate: eh = c.on_message_create.attach([this](const dpp::message_create_t & e) { OnMessageCreate(e); }); break; + case DpEventID::GuildAuditLogEntryCreate: eh = c.on_guild_audit_log_entry_create.attach([this](const dpp::guild_audit_log_entry_create_t & e) { OnGuildAuditLogEntryCreate(e); }); break; + case DpEventID::GuildBanAdd: eh = c.on_guild_ban_add.attach([this](const dpp::guild_ban_add_t & e) { OnGuildBanAdd(e); }); break; + case DpEventID::GuildBanRemove: eh = c.on_guild_ban_remove.attach([this](const dpp::guild_ban_remove_t & e) { OnGuildBanRemove(e); }); break; + case DpEventID::IntegrationCreate: eh = c.on_integration_create.attach([this](const dpp::integration_create_t & e) { OnIntegrationCreate(e); }); break; + case DpEventID::IntegrationUpdate: eh = c.on_integration_update.attach([this](const dpp::integration_update_t & e) { OnIntegrationUpdate(e); }); break; + case DpEventID::IntegrationDelete: eh = c.on_integration_delete.attach([this](const dpp::integration_delete_t & e) { OnIntegrationDelete(e); }); break; + case DpEventID::ThreadCreate: eh = c.on_thread_create.attach([this](const dpp::thread_create_t & e) { OnThreadCreate(e); }); break; + case DpEventID::ThreadUpdate: eh = c.on_thread_update.attach([this](const dpp::thread_update_t & e) { OnThreadUpdate(e); }); break; + case DpEventID::ThreadDelete: eh = c.on_thread_delete.attach([this](const dpp::thread_delete_t & e) { OnThreadDelete(e); }); break; + case DpEventID::ThreadListSync: eh = c.on_thread_list_sync.attach([this](const dpp::thread_list_sync_t & e) { OnThreadListSync(e); }); break; + case DpEventID::ThreadMemberUpdate: eh = c.on_thread_member_update.attach([this](const dpp::thread_member_update_t & e) { OnThreadMemberUpdate(e); }); break; + case DpEventID::ThreadMembersUpdate: eh = c.on_thread_members_update.attach([this](const dpp::thread_members_update_t & e) { OnThreadMembersUpdate(e); }); break; + case DpEventID::GuildScheduledEventCreate: eh = c.on_guild_scheduled_event_create.attach([this](const dpp::guild_scheduled_event_create_t & e) { OnGuildScheduledEventCreate(e); }); break; + case DpEventID::GuildScheduledEventUpdate: eh = c.on_guild_scheduled_event_update.attach([this](const dpp::guild_scheduled_event_update_t & e) { OnGuildScheduledEventUpdate(e); }); break; + case DpEventID::GuildScheduledEventDelete: eh = c.on_guild_scheduled_event_delete.attach([this](const dpp::guild_scheduled_event_delete_t & e) { OnGuildScheduledEventDelete(e); }); break; + case DpEventID::GuildScheduledEventUserAdd: eh = c.on_guild_scheduled_event_user_add.attach([this](const dpp::guild_scheduled_event_user_add_t & e) { OnGuildScheduledEventUserAdd(e); }); break; + case DpEventID::GuildScheduledEventUserRemove: eh = c.on_guild_scheduled_event_user_remove.attach([this](const dpp::guild_scheduled_event_user_remove_t & e) { OnGuildScheduledEventUserRemove(e); }); break; + case DpEventID::VoiceBufferSend: eh = c.on_voice_buffer_send.attach([this](const dpp::voice_buffer_send_t & e) { OnVoiceBufferSend(e); }); break; + case DpEventID::VoiceUserTalking: eh = c.on_voice_user_talking.attach([this](const dpp::voice_user_talking_t & e) { OnVoiceUserTalking(e); }); break; + case DpEventID::VoiceReady: eh = c.on_voice_ready.attach([this](const dpp::voice_ready_t & e) { OnVoiceReady(e); }); break; + case DpEventID::VoiceReceive: eh = c.on_voice_receive.attach([this](const dpp::voice_receive_t & e) { OnVoiceReceive(e); }); break; + case DpEventID::VoiceReceiveCombined: eh = c.on_voice_receive_combined.attach([this](const dpp::voice_receive_t & e) { OnVoiceReceiveCombined(e); }); break; + case DpEventID::VoiceTrackMarker: eh = c.on_voice_track_marker.attach([this](const dpp::voice_track_marker_t & e) { OnVoiceTrackMarker(e); }); break; + case DpEventID::StageInstanceCreate: eh = c.on_stage_instance_create.attach([this](const dpp::stage_instance_create_t & e) { OnStageInstanceCreate(e); }); break; + case DpEventID::StageInstanceUpdate: eh = c.on_stage_instance_update.attach([this](const dpp::stage_instance_update_t & e) { OnStageInstanceUpdate(e); }); break; + case DpEventID::StageInstanceDelete: eh = c.on_stage_instance_delete.attach([this](const dpp::stage_instance_delete_t & e) { OnStageInstanceDelete(e); }); break; + case DpEventID::Max: // Fall through + default: STHROWF("Invalid discord event identifier {}", id); + } + // Remember the designated event handle + mEventsHandle[static_cast< size_t >(id)] = eh; + // Allow chaining + return *this; +} + +// ------------------------------------------------------------------------------------------------ +DpCluster & DpCluster::DisableEvent(SQInteger id) +{ + // Retrieve managed cluster instance + auto & c = Valid("disable event on a"); + // Assigned event handle + dpp::event_handle eh = 0; + // Make sure the specified event handle is valid + if (id >= 0 && id < static_cast< SQInteger >(DpEventID::Max)) + { + eh = mEventsHandle[static_cast< size_t >(id)]; // Get the real handle + } + // Is there anything attached to event dispatched? + if (eh == 0) + { + return *this; // Nothing to detach + } + // Identify event type + switch (id) + { + case DpEventID::VoiceStateUpdate: c.on_voice_state_update.detach(eh); break; + case DpEventID::VoiceClientDisconnect: c.on_voice_client_disconnect.detach(eh); break; + case DpEventID::VoiceClientSpeaking: c.on_voice_client_speaking.detach(eh); break; + case DpEventID::Log: c.on_log.detach(eh); break; + case DpEventID::GuildJoinRequestDelete: c.on_guild_join_request_delete.detach(eh); break; + case DpEventID::InteractionCreate: c.on_interaction_create.detach(eh); break; + case DpEventID::SlashCommand: c.on_slashcommand.detach(eh); break; + case DpEventID::ButtonClick: c.on_button_click.detach(eh); break; + case DpEventID::AutoComplete: c.on_autocomplete.detach(eh); break; + case DpEventID::SelectClick: c.on_select_click.detach(eh); break; + case DpEventID::MessageContextMenu: c.on_message_context_menu.detach(eh); break; + case DpEventID::UserContextMenu: c.on_user_context_menu.detach(eh); break; + case DpEventID::FormSubmit: c.on_form_submit.detach(eh); break; + case DpEventID::GuildDelete: c.on_guild_delete.detach(eh); break; + case DpEventID::ChannelDelete: c.on_channel_delete.detach(eh); break; + case DpEventID::ChannelUpdate: c.on_channel_update.detach(eh); break; + case DpEventID::Ready: c.on_ready.detach(eh); break; + case DpEventID::MessageDelete: c.on_message_delete.detach(eh); break; + case DpEventID::GuildMemberRemove: c.on_guild_member_remove.detach(eh); break; + case DpEventID::Resumed: c.on_resumed.detach(eh); break; + case DpEventID::GuildRoleCreate: c.on_guild_role_create.detach(eh); break; + case DpEventID::TypingStart: c.on_typing_start.detach(eh); break; + case DpEventID::MessageReactionAdd: c.on_message_reaction_add.detach(eh); break; + case DpEventID::GuildMembersChunk: c.on_guild_members_chunk.detach(eh); break; + case DpEventID::MessageReactionRemove: c.on_message_reaction_remove.detach(eh); break; + case DpEventID::GuildCreate: c.on_guild_create.detach(eh); break; + case DpEventID::ChannelCreate: c.on_channel_create.detach(eh); break; + case DpEventID::MessageReactionRemoveEmoji: c.on_message_reaction_remove_emoji.detach(eh); break; + case DpEventID::MessageDeleteDulk: c.on_message_delete_bulk.detach(eh); break; + case DpEventID::GuildRoleUpdate: c.on_guild_role_update.detach(eh); break; + case DpEventID::GuildRoleDelete: c.on_guild_role_delete.detach(eh); break; + case DpEventID::ChannelPinsUpdate: c.on_channel_pins_update.detach(eh); break; + case DpEventID::MessageReactionRemoveAll: c.on_message_reaction_remove_all.detach(eh); break; + case DpEventID::VoiceServerUpdate: c.on_voice_server_update.detach(eh); break; + case DpEventID::GuildEmojisUpdate: c.on_guild_emojis_update.detach(eh); break; + case DpEventID::GuildStickersUpdate: c.on_guild_stickers_update.detach(eh); break; + case DpEventID::PresenceUpdate: c.on_presence_update.detach(eh); break; + case DpEventID::WebhooksUpdate: c.on_webhooks_update.detach(eh); break; + case DpEventID::AutomodRuleCreate: c.on_automod_rule_create.detach(eh); break; + case DpEventID::AutomodRuleUpdate: c.on_automod_rule_update.detach(eh); break; + case DpEventID::AutomodRuleDelete: c.on_automod_rule_delete.detach(eh); break; + case DpEventID::AutomodRuleExecute: c.on_automod_rule_execute.detach(eh); break; + case DpEventID::GuildMemberAdd: c.on_guild_member_add.detach(eh); break; + case DpEventID::InviteDelete: c.on_invite_delete.detach(eh); break; + case DpEventID::GuildUpdate: c.on_guild_update.detach(eh); break; + case DpEventID::GuildIntegrationsUpdate: c.on_guild_integrations_update.detach(eh); break; + case DpEventID::GuildMemberUpdate: c.on_guild_member_update.detach(eh); break; + case DpEventID::InviteCreate: c.on_invite_create.detach(eh); break; + case DpEventID::MessageUpdate: c.on_message_update.detach(eh); break; + case DpEventID::UserUpdate: c.on_user_update.detach(eh); break; + case DpEventID::MessageCreate: c.on_message_create.detach(eh); break; + case DpEventID::GuildAuditLogEntryCreate: c.on_guild_audit_log_entry_create.detach(eh); break; + case DpEventID::GuildBanAdd: c.on_guild_ban_add.detach(eh); break; + case DpEventID::GuildBanRemove: c.on_guild_ban_remove.detach(eh); break; + case DpEventID::IntegrationCreate: c.on_integration_create.detach(eh); break; + case DpEventID::IntegrationUpdate: c.on_integration_update.detach(eh); break; + case DpEventID::IntegrationDelete: c.on_integration_delete.detach(eh); break; + case DpEventID::ThreadCreate: c.on_thread_create.detach(eh); break; + case DpEventID::ThreadUpdate: c.on_thread_update.detach(eh); break; + case DpEventID::ThreadDelete: c.on_thread_delete.detach(eh); break; + case DpEventID::ThreadListSync: c.on_thread_list_sync.detach(eh); break; + case DpEventID::ThreadMemberUpdate: c.on_thread_member_update.detach(eh); break; + case DpEventID::ThreadMembersUpdate: c.on_thread_members_update.detach(eh); break; + case DpEventID::GuildScheduledEventCreate: c.on_guild_scheduled_event_create.detach(eh); break; + case DpEventID::GuildScheduledEventUpdate: c.on_guild_scheduled_event_update.detach(eh); break; + case DpEventID::GuildScheduledEventDelete: c.on_guild_scheduled_event_delete.detach(eh); break; + case DpEventID::GuildScheduledEventUserAdd: c.on_guild_scheduled_event_user_add.detach(eh); break; + case DpEventID::GuildScheduledEventUserRemove: c.on_guild_scheduled_event_user_remove.detach(eh); break; + case DpEventID::VoiceBufferSend: c.on_voice_buffer_send.detach(eh); break; + case DpEventID::VoiceUserTalking: c.on_voice_user_talking.detach(eh); break; + case DpEventID::VoiceReady: c.on_voice_ready.detach(eh); break; + case DpEventID::VoiceReceive: c.on_voice_receive.detach(eh); break; + case DpEventID::VoiceReceiveCombined: c.on_voice_receive_combined.detach(eh); break; + case DpEventID::VoiceTrackMarker: c.on_voice_track_marker.detach(eh); break; + case DpEventID::StageInstanceCreate: c.on_stage_instance_create.detach(eh); break; + case DpEventID::StageInstanceUpdate: c.on_stage_instance_update.detach(eh); break; + case DpEventID::StageInstanceDelete: c.on_stage_instance_delete.detach(eh); break; + case DpEventID::Max: // Fall through + default: STHROWF("Invalid discord event identifier {}", id); + } + // Forget about this event handler + mEventsHandle[static_cast< size_t >(id)] = 0; + // Allow chaining + return *this; +} + +// ------------------------------------------------------------------------------------------------ +void DpCluster::OnVoiceStateUpdate(const dpp::voice_state_update_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceStateUpdateEvent(ev))); } +void DpCluster::OnVoiceClientDisconnect(const dpp::voice_client_disconnect_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceClientDisconnectEvent(ev))); } +void DpCluster::OnVoiceClientSpeaking(const dpp::voice_client_speaking_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceClientSpeakingEvent(ev))); } +void DpCluster::OnLog(const dpp::log_t & ev) +{ mQueue.enqueue(EventItem(new DpLogEvent(ev))); } +void DpCluster::OnGuildJoinRequestDelete(const dpp::guild_join_request_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildJoinRequestDeleteEvent(ev))); } +void DpCluster::OnInteractionCreate(const dpp::interaction_create_t & ev) +{ mQueue.enqueue(EventItem(new DpInteractionCreateEvent(ev))); } +void DpCluster::OnSlashCommand(const dpp::slashcommand_t & ev) +{ mQueue.enqueue(EventItem(new DpSlashCommandEvent(ev))); } +void DpCluster::OnButtonClick(const dpp::button_click_t & ev) +{ mQueue.enqueue(EventItem(new DpButtonClickEvent(ev))); } +void DpCluster::OnAutoComplete(const dpp::autocomplete_t & ev) +{ mQueue.enqueue(EventItem(new DpAutoCompleteEvent(ev))); } +void DpCluster::OnSelectClick(const dpp::select_click_t & ev) +{ mQueue.enqueue(EventItem(new DpSelectClickEvent(ev))); } +void DpCluster::OnMessageContextMenu(const dpp::message_context_menu_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageContextMenuEvent(ev))); } +void DpCluster::OnUserContextMenu(const dpp::user_context_menu_t & ev) +{ mQueue.enqueue(EventItem(new DpUserContextMenuEvent(ev))); } +void DpCluster::OnFormSubmit(const dpp::form_submit_t & ev) +{ mQueue.enqueue(EventItem(new DpFormSubmitEvent(ev))); } +void DpCluster::OnGuildDelete(const dpp::guild_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildDeleteEvent(ev))); } +void DpCluster::OnChannelDelete(const dpp::channel_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpChannelDeleteEvent(ev))); } +void DpCluster::OnChannelUpdate(const dpp::channel_update_t & ev) +{ mQueue.enqueue(EventItem(new DpChannelUpdateEvent(ev))); } +void DpCluster::OnReady(const dpp::ready_t & ev) +{ mQueue.enqueue(EventItem(new DpReadyEvent(ev))); } +void DpCluster::OnMessageDelete(const dpp::message_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageDeleteEvent(ev))); } +void DpCluster::OnGuildMemberRemove(const dpp::guild_member_remove_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildMemberRemoveEvent(ev))); } +void DpCluster::OnResumed(const dpp::resumed_t & ev) +{ mQueue.enqueue(EventItem(new DpResumedEvent(ev))); } +void DpCluster::OnGuildRoleCreate(const dpp::guild_role_create_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildRoleCreateEvent(ev))); } +void DpCluster::OnTypingStart(const dpp::typing_start_t & ev) +{ mQueue.enqueue(EventItem(new DpTypingStartEvent(ev))); } +void DpCluster::OnMessageReactionAdd(const dpp::message_reaction_add_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageReactionAddEvent(ev))); } +void DpCluster::OnGuildMembersChunk(const dpp::guild_members_chunk_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildMembersChunkEvent(ev))); } +void DpCluster::OnMessageReactionRemove(const dpp::message_reaction_remove_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageReactionRemoveEvent(ev))); } +void DpCluster::OnGuildCreate(const dpp::guild_create_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildCreateEvent(ev))); } +void DpCluster::OnChannelCreate(const dpp::channel_create_t & ev) +{ mQueue.enqueue(EventItem(new DpChannelCreateEvent(ev))); } +void DpCluster::OnMessageReactionRemoveEmoji(const dpp::message_reaction_remove_emoji_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageReactionRemoveEmojiEvent(ev))); } +void DpCluster::OnMessageDeleteDulk(const dpp::message_delete_bulk_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageDeleteDulkEvent(ev))); } +void DpCluster::OnGuildRoleUpdate(const dpp::guild_role_update_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildRoleUpdateEvent(ev))); } +void DpCluster::OnGuildRoleDelete(const dpp::guild_role_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildRoleDeleteEvent(ev))); } +void DpCluster::OnChannelPinsUpdate(const dpp::channel_pins_update_t & ev) +{ mQueue.enqueue(EventItem(new DpChannelPinsUpdateEvent(ev))); } +void DpCluster::OnMessageReactionRemoveAll(const dpp::message_reaction_remove_all_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageReactionRemoveAllEvent(ev))); } +void DpCluster::OnVoiceServerUpdate(const dpp::voice_server_update_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceServerUpdateEvent(ev))); } +void DpCluster::OnGuildEmojisUpdate(const dpp::guild_emojis_update_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildEmojisUpdateEvent(ev))); } +void DpCluster::OnGuildStickersUpdate(const dpp::guild_stickers_update_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildStickersUpdateEvent(ev))); } +void DpCluster::OnPresenceUpdate(const dpp::presence_update_t & ev) +{ mQueue.enqueue(EventItem(new DpPresenceUpdateEvent(ev))); } +void DpCluster::OnWebhooksUpdate(const dpp::webhooks_update_t & ev) +{ mQueue.enqueue(EventItem(new DpWebhooksUpdateEvent(ev))); } +void DpCluster::OnAutomodRuleCreate(const dpp::automod_rule_create_t & ev) +{ mQueue.enqueue(EventItem(new DpAutomodRuleCreateEvent(ev))); } +void DpCluster::OnAutomodRuleUpdate(const dpp::automod_rule_update_t & ev) +{ mQueue.enqueue(EventItem(new DpAutomodRuleUpdateEvent(ev))); } +void DpCluster::OnAutomodRuleDelete(const dpp::automod_rule_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpAutomodRuleDeleteEvent(ev))); } +void DpCluster::OnAutomodRuleExecute(const dpp::automod_rule_execute_t & ev) +{ mQueue.enqueue(EventItem(new DpAutomodRuleExecuteEvent(ev))); } +void DpCluster::OnGuildMemberAdd(const dpp::guild_member_add_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildMemberAddEvent(ev))); } +void DpCluster::OnInviteDelete(const dpp::invite_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpInviteDeleteEvent(ev))); } +void DpCluster::OnGuildUpdate(const dpp::guild_update_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildUpdateEvent(ev))); } +void DpCluster::OnGuildIntegrationsUpdate(const dpp::guild_integrations_update_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildIntegrationsUpdateEvent(ev))); } +void DpCluster::OnGuildMemberUpdate(const dpp::guild_member_update_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildMemberUpdateEvent(ev))); } +void DpCluster::OnInviteCreate(const dpp::invite_create_t & ev) +{ mQueue.enqueue(EventItem(new DpInviteCreateEvent(ev))); } +void DpCluster::OnMessageUpdate(const dpp::message_update_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageUpdateEvent(ev))); } +void DpCluster::OnUserUpdate(const dpp::user_update_t & ev) +{ mQueue.enqueue(EventItem(new DpUserUpdateEvent(ev))); } +void DpCluster::OnMessageCreate(const dpp::message_create_t & ev) +{ mQueue.enqueue(EventItem(new DpMessageCreateEvent(ev))); } +void DpCluster::OnGuildAuditLogEntryCreate(const dpp::guild_audit_log_entry_create_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildAuditLogEntryCreateEvent(ev))); } +void DpCluster::OnGuildBanAdd(const dpp::guild_ban_add_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildBanAddEvent(ev))); } +void DpCluster::OnGuildBanRemove(const dpp::guild_ban_remove_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildBanRemoveEvent(ev))); } +void DpCluster::OnIntegrationCreate(const dpp::integration_create_t & ev) +{ mQueue.enqueue(EventItem(new DpIntegrationCreateEvent(ev))); } +void DpCluster::OnIntegrationUpdate(const dpp::integration_update_t & ev) +{ mQueue.enqueue(EventItem(new DpIntegrationUpdateEvent(ev))); } +void DpCluster::OnIntegrationDelete(const dpp::integration_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpIntegrationDeleteEvent(ev))); } +void DpCluster::OnThreadCreate(const dpp::thread_create_t & ev) +{ mQueue.enqueue(EventItem(new DpThreadCreateEvent(ev))); } +void DpCluster::OnThreadUpdate(const dpp::thread_update_t & ev) +{ mQueue.enqueue(EventItem(new DpThreadUpdateEvent(ev))); } +void DpCluster::OnThreadDelete(const dpp::thread_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpThreadDeleteEvent(ev))); } +void DpCluster::OnThreadListSync(const dpp::thread_list_sync_t & ev) +{ mQueue.enqueue(EventItem(new DpThreadListSyncEvent(ev))); } +void DpCluster::OnThreadMemberUpdate(const dpp::thread_member_update_t & ev) +{ mQueue.enqueue(EventItem(new DpThreadMemberUpdateEvent(ev))); } +void DpCluster::OnThreadMembersUpdate(const dpp::thread_members_update_t & ev) +{ mQueue.enqueue(EventItem(new DpThreadMembersUpdateEvent(ev))); } +void DpCluster::OnGuildScheduledEventCreate(const dpp::guild_scheduled_event_create_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildScheduledEventCreateEvent(ev))); } +void DpCluster::OnGuildScheduledEventUpdate(const dpp::guild_scheduled_event_update_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildScheduledEventUpdateEvent(ev))); } +void DpCluster::OnGuildScheduledEventDelete(const dpp::guild_scheduled_event_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildScheduledEventDeleteEvent(ev))); } +void DpCluster::OnGuildScheduledEventUserAdd(const dpp::guild_scheduled_event_user_add_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildScheduledEventUserAddEvent(ev))); } +void DpCluster::OnGuildScheduledEventUserRemove(const dpp::guild_scheduled_event_user_remove_t & ev) +{ mQueue.enqueue(EventItem(new DpGuildScheduledEventUserRemoveEvent(ev))); } +void DpCluster::OnVoiceBufferSend(const dpp::voice_buffer_send_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceBufferSendEvent(ev))); } +void DpCluster::OnVoiceUserTalking(const dpp::voice_user_talking_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceUserTalkingEvent(ev))); } +void DpCluster::OnVoiceReady(const dpp::voice_ready_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceReadyEvent(ev))); } +void DpCluster::OnVoiceReceive(const dpp::voice_receive_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceReceiveEvent(ev))); } +void DpCluster::OnVoiceReceiveCombined(const dpp::voice_receive_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceReceiveCombinedEvent(ev))); } +void DpCluster::OnVoiceTrackMarker(const dpp::voice_track_marker_t & ev) +{ mQueue.enqueue(EventItem(new DpVoiceTrackMarkerEvent(ev))); } +void DpCluster::OnStageInstanceCreate(const dpp::stage_instance_create_t & ev) +{ mQueue.enqueue(EventItem(new DpStageInstanceCreateEvent(ev))); } +void DpCluster::OnStageInstanceUpdate(const dpp::stage_instance_update_t & ev) +{ mQueue.enqueue(EventItem(new DpStageInstanceUpdateEvent(ev))); } +void DpCluster::OnStageInstanceDelete(const dpp::stage_instance_delete_t & ev) +{ mQueue.enqueue(EventItem(new DpStageInstanceDeleteEvent(ev))); } + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Cluster.hpp b/module/Library/Discord/Cluster.hpp new file mode 100644 index 00000000..ba49104d --- /dev/null +++ b/module/Library/Discord/Cluster.hpp @@ -0,0 +1,338 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" +#include "Core/Signal.hpp" + +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Constants.hpp" +#include "Library/Discord/Misc.hpp" + +// ------------------------------------------------------------------------------------------------ +#include +#include +#include +#include + +// ------------------------------------------------------------------------------------------------ +#include +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +// ------------------------------------------------------------------------------------------------ +struct DpEventBase; + +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpClusterOptions +{ + // The bot token to use for all HTTP commands and websocket connections. + std::string mToken{}; + // A bitmask of dpd::intents values for all shards on this cluster. This is required to be sent for all bots with over 100 servers. + uint32_t mIntents{dpp::i_default_intents}; + // The total number of shards on this bot. If there are multiple clusters, then (shards / clusters) actual shards will run on this cluster. + // If you omit this value, the library will attempt to query the Discord API for the correct number of shards to start. + uint32_t mShards{0}; + // The ID of this cluster, should be between 0 and MAXCLUSTERS-1 + uint32_t mClusterID{0}; + // The total number of clusters that are active, which may be on separate processes or even separate machines. + uint32_t mMaxClusters{1}; + // Whether or not to use compression for shards on this cluster. Saves a ton of bandwidth at the cost of some CPU + bool mCompressed{true}; + // Set the user caching policy for the cluster, either lazy (only cache users/members when they message the bot) or aggressive (request whole member lists on seeing new guilds too) + dpp::cache_policy_t mPolicy{dpp::cp_aggressive, dpp::cp_aggressive, dpp::cp_aggressive}; + // The number of threads to allocate for making HTTP requests to Discord. This defaults to 12. You can increase this at runtime via the object returned from get_rest(). + uint32_t mRequestThreads{12}; + // The number of threads to allocate for making HTTP requests to sites outside of Discord. This defaults to 1. You can increase this at runtime via the object returned from get_raw_rest(). + uint32_t mRequestThreadsRaw{1}; + // Disable automatic forwarding of logged messages to internal logging. Allows to handle logging manually without risking duplicate output (at the cost of some performance, ofc). + bool mCustomLogging{false}; + + /* -------------------------------------------------------------------------------------------- + * Base constructors. + */ + DpClusterOptions(StackStrF & token) + : mToken(token.ToStr()) + { + } + + /* -------------------------------------------------------------------------------------------- + * Copy/Move constructors. + */ + DpClusterOptions(const DpClusterOptions &) noexcept = default; + DpClusterOptions(DpClusterOptions &&) noexcept = default; + + /* -------------------------------------------------------------------------------------------- + * Copy/Move assignment operators. + */ + DpClusterOptions & operator = (const DpClusterOptions &) noexcept = default; + DpClusterOptions & operator = (DpClusterOptions &&) noexcept = default; +}; + +/* ------------------------------------------------------------------------------------------------ + * Primitive implementation of a discord client with basic functionality. +*/ +struct DpCluster : public SqChainedInstances< DpCluster > +{ + using Base = SqChainedInstances< DpCluster >; + + /* -------------------------------------------------------------------------------------------- + * Queue of events generated from other threads. + */ + using EventItem = std::unique_ptr< DpEventBase >; + using EventQueue = moodycamel::ConcurrentQueue< EventItem >; + + /* -------------------------------------------------------------------------------------------- + * Type of container for cluster signals. + */ + using Signals = std::array< SignalPair, static_cast< size_t >(DpEventID::Max) >; + + /* -------------------------------------------------------------------------------------------- + * Type of container for event handles. + */ + using EventHandle = std::array< dpp::event_handle, static_cast< size_t >(DpEventID::Max) >; + + /* -------------------------------------------------------------------------------------------- + * Event queue. + */ + EventQueue mQueue{4096}; + + /* -------------------------------------------------------------------------------------------- + * Managed cluster instance. + */ + std::unique_ptr< dpp::cluster > mC; + + /* -------------------------------------------------------------------------------------------- + * Table containing the emitted cluster events. + */ + LightObj mSqEvents{}; + + /* -------------------------------------------------------------------------------------------- + * Cluster signals. + */ + Signals mEvents{}; + + /* -------------------------------------------------------------------------------------------- + * Event handles for bound event event handlers so they can be stopped at any time. + */ + EventHandle mEventsHandle{}; + + /* -------------------------------------------------------------------------------------------- + * Base constructors. + */ + DpCluster(DpClusterOptions & o); + + /* -------------------------------------------------------------------------------------------- + * Copy/Move constructors (disabled). + */ + DpCluster(const DpCluster &) noexcept = delete; + DpCluster(DpCluster &&) noexcept = delete; + + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpCluster() + { + if (mC) Stop(); + // Forget about this instance + UnchainInstance(); + } + + /* -------------------------------------------------------------------------------------------- + * Copy/Move assignment operators (disabled). + */ + DpCluster & operator = (const DpCluster &) noexcept = delete; + DpCluster & operator = (DpCluster &&) noexcept = delete; + + /* -------------------------------------------------------------------------------------------- + * Check if the managed cluster instance is valid and throw an exception otherwise. + */ + void Validate() const + { + if (!mC) + { + STHROWF("Discord cluster instance is not valid anymore."); + } + } + + /* -------------------------------------------------------------------------------------------- + * Check if the managed cluster instance is valid and throw an exception otherwise. + */ + void Validate(const char * m) const + { + if (!mC) + { + STHROWF("Cannot {} a cluster instance that is not valid anymore.", fmt::detail::to_string_view(m)); + } + } + + /* -------------------------------------------------------------------------------------------- + * Check if the managed cluster instance is valid and throw an exception otherwise. + */ + dpp::cluster & Valid() const { Validate(); return *mC; } + + /* -------------------------------------------------------------------------------------------- + * Check if the managed cluster instance is valid and throw an exception otherwise. + */ + dpp::cluster & Valid(const char * m) const { Validate(m); return *mC; } + + /* -------------------------------------------------------------------------------------------- + * Process the cluster. This is used internally on each server frame. + */ + void Process(bool force = false); + + /* -------------------------------------------------------------------------------------------- + * Terminate the cluster. This is used internally when the VM is shutting down. + */ + void Terminate(); + + /* -------------------------------------------------------------------------------------------- + * Start the cluster. + */ + DpCluster & Start() { Valid("start").start(dpp::st_return); return *this; } + + /* -------------------------------------------------------------------------------------------- + * Stop the cluster. + */ + void Stop() { Valid("stop").shutdown(); } + + /* -------------------------------------------------------------------------------------------- + * Retrieve the events table of this cluster. + */ + SQMOD_NODISCARD LightObj & GetEvents() + { + return mSqEvents; + } + + /* -------------------------------------------------------------------------------------------- + * Enable a certain event for the cluster. + */ + DpCluster & EnableEvent(SQInteger id); + + /* -------------------------------------------------------------------------------------------- + * Disable a certain event for the cluster. + */ + DpCluster & DisableEvent(SQInteger id); + +private: + + /* -------------------------------------------------------------------------------------------- + * Signal initialization. + */ + void InitEvents() + { + // Ignore the call if already initialized + if (!mSqEvents.IsNull()) + { + return; + } + // Create a new table on the stack with enough space pre-allocated + sq_newtableex(SqVM(), static_cast< SQInteger >(DpEventID::Max + 1)); + // Grab the table object from the stack + mSqEvents = LightObj(-1, SqVM()); + // Pop the table object from the stack + sq_pop(SqVM(), 1); + // Proceed to initializing the events + for (size_t i = 0; i < mEvents.size(); ++i) + { + InitSignalPair(mEvents[i], mSqEvents, DpEventID::NAME[i]); + } + } + + /* -------------------------------------------------------------------------------------------- + * Signal termination. + */ + void DropEvents() + { + for (auto & e : mEvents) + { + ResetSignalPair(e); + } + } + + /* -------------------------------------------------------------------------------------------- + * Event handlers. + */ + void OnVoiceStateUpdate(const dpp::voice_state_update_t & ev); + void OnVoiceClientDisconnect(const dpp::voice_client_disconnect_t & ev); + void OnVoiceClientSpeaking(const dpp::voice_client_speaking_t & ev); + void OnLog(const dpp::log_t & ev); + void OnGuildJoinRequestDelete(const dpp::guild_join_request_delete_t & ev); + void OnInteractionCreate(const dpp::interaction_create_t & ev); + void OnSlashCommand(const dpp::slashcommand_t & ev); + void OnButtonClick(const dpp::button_click_t & ev); + void OnAutoComplete(const dpp::autocomplete_t & ev); + void OnSelectClick(const dpp::select_click_t & ev); + void OnMessageContextMenu(const dpp::message_context_menu_t & ev); + void OnUserContextMenu(const dpp::user_context_menu_t & ev); + void OnFormSubmit(const dpp::form_submit_t & ev); + void OnGuildDelete(const dpp::guild_delete_t & ev); + void OnChannelDelete(const dpp::channel_delete_t & ev); + void OnChannelUpdate(const dpp::channel_update_t & ev); + void OnReady(const dpp::ready_t & ev); + void OnMessageDelete(const dpp::message_delete_t & ev); + void OnGuildMemberRemove(const dpp::guild_member_remove_t & ev); + void OnResumed(const dpp::resumed_t & ev); + void OnGuildRoleCreate(const dpp::guild_role_create_t & ev); + void OnTypingStart(const dpp::typing_start_t & ev); + void OnMessageReactionAdd(const dpp::message_reaction_add_t & ev); + void OnGuildMembersChunk(const dpp::guild_members_chunk_t & ev); + void OnMessageReactionRemove(const dpp::message_reaction_remove_t & ev); + void OnGuildCreate(const dpp::guild_create_t & ev); + void OnChannelCreate(const dpp::channel_create_t & ev); + void OnMessageReactionRemoveEmoji(const dpp::message_reaction_remove_emoji_t & ev); + void OnMessageDeleteDulk(const dpp::message_delete_bulk_t & ev); + void OnGuildRoleUpdate(const dpp::guild_role_update_t & ev); + void OnGuildRoleDelete(const dpp::guild_role_delete_t & ev); + void OnChannelPinsUpdate(const dpp::channel_pins_update_t & ev); + void OnMessageReactionRemoveAll(const dpp::message_reaction_remove_all_t & ev); + void OnVoiceServerUpdate(const dpp::voice_server_update_t & ev); + void OnGuildEmojisUpdate(const dpp::guild_emojis_update_t & ev); + void OnGuildStickersUpdate(const dpp::guild_stickers_update_t & ev); + void OnPresenceUpdate(const dpp::presence_update_t & ev); + void OnWebhooksUpdate(const dpp::webhooks_update_t & ev); + void OnAutomodRuleCreate(const dpp::automod_rule_create_t & ev); + void OnAutomodRuleUpdate(const dpp::automod_rule_update_t & ev); + void OnAutomodRuleDelete(const dpp::automod_rule_delete_t & ev); + void OnAutomodRuleExecute(const dpp::automod_rule_execute_t & ev); + void OnGuildMemberAdd(const dpp::guild_member_add_t & ev); + void OnInviteDelete(const dpp::invite_delete_t & ev); + void OnGuildUpdate(const dpp::guild_update_t & ev); + void OnGuildIntegrationsUpdate(const dpp::guild_integrations_update_t & ev); + void OnGuildMemberUpdate(const dpp::guild_member_update_t & ev); + void OnInviteCreate(const dpp::invite_create_t & ev); + void OnMessageUpdate(const dpp::message_update_t & ev); + void OnUserUpdate(const dpp::user_update_t & ev); + void OnMessageCreate(const dpp::message_create_t & ev); + void OnGuildAuditLogEntryCreate(const dpp::guild_audit_log_entry_create_t & ev); + void OnGuildBanAdd(const dpp::guild_ban_add_t & ev); + void OnGuildBanRemove(const dpp::guild_ban_remove_t & ev); + void OnIntegrationCreate(const dpp::integration_create_t & ev); + void OnIntegrationUpdate(const dpp::integration_update_t & ev); + void OnIntegrationDelete(const dpp::integration_delete_t & ev); + void OnThreadCreate(const dpp::thread_create_t & ev); + void OnThreadUpdate(const dpp::thread_update_t & ev); + void OnThreadDelete(const dpp::thread_delete_t & ev); + void OnThreadListSync(const dpp::thread_list_sync_t & ev); + void OnThreadMemberUpdate(const dpp::thread_member_update_t & ev); + void OnThreadMembersUpdate(const dpp::thread_members_update_t & ev); + void OnGuildScheduledEventCreate(const dpp::guild_scheduled_event_create_t & ev); + void OnGuildScheduledEventUpdate(const dpp::guild_scheduled_event_update_t & ev); + void OnGuildScheduledEventDelete(const dpp::guild_scheduled_event_delete_t & ev); + void OnGuildScheduledEventUserAdd(const dpp::guild_scheduled_event_user_add_t & ev); + void OnGuildScheduledEventUserRemove(const dpp::guild_scheduled_event_user_remove_t & ev); + void OnVoiceBufferSend(const dpp::voice_buffer_send_t & ev); + void OnVoiceUserTalking(const dpp::voice_user_talking_t & ev); + void OnVoiceReady(const dpp::voice_ready_t & ev); + void OnVoiceReceive(const dpp::voice_receive_t & ev); + void OnVoiceReceiveCombined(const dpp::voice_receive_t & ev); + void OnVoiceTrackMarker(const dpp::voice_track_marker_t & ev); + void OnStageInstanceCreate(const dpp::stage_instance_create_t & ev); + void OnStageInstanceUpdate(const dpp::stage_instance_update_t & ev); + void OnStageInstanceDelete(const dpp::stage_instance_delete_t & ev); +}; + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Command.cpp b/module/Library/Discord/Command.cpp new file mode 100644 index 00000000..94b38781 --- /dev/null +++ b/module/Library/Discord/Command.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Command.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Command.hpp b/module/Library/Discord/Command.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/Command.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Constants.cpp b/module/Library/Discord/Constants.cpp new file mode 100644 index 00000000..9b9d74c9 --- /dev/null +++ b/module/Library/Discord/Constants.cpp @@ -0,0 +1,283 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Constants.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +// ------------------------------------------------------------------------------------------------ +const std::array< const char *, static_cast< size_t >(DpEventID::Max) > DpEventID::NAME{ + "VoiceStateUpdate", + "VoiceClientDisconnect", + "VoiceClientSpeaking", + "Log", + "GuildJoinRequestDelete", + "InteractionCreate", + "SlashCommand", + "ButtonClick", + "AutoComplete", + "SelectClick", + "MessageContextMenu", + "UserContextMenu", + "FormSubmit", + "GuildDelete", + "ChannelDelete", + "ChannelUpdate", + "Ready", + "MessageDelete", + "GuildMemberRemove", + "Resumed", + "GuildRoleCreate", + "TypingStart", + "MessageReactionAdd", + "GuildMembersChunk", + "MessageReactionRemove", + "GuildCreate", + "ChannelCreate", + "MessageReactionRemoveEmoji", + "MessageDeleteDulk", + "GuildRoleUpdate", + "GuildRoleDelete", + "ChannelPinsUpdate", + "MessageReactionRemoveAll", + "VoiceServerUpdate", + "GuildEmojisUpdate", + "GuildStickersUpdate", + "PresenceUpdate", + "WebhooksUpdate", + "AutomodRuleCreate", + "AutomodRuleUpdate", + "AutomodRuleDelete", + "AutomodRuleExecute", + "GuildMemberAdd", + "InviteDelete", + "GuildUpdate", + "GuildIntegrationsUpdate", + "GuildMemberUpdate", + "InviteCreate", + "MessageUpdate", + "UserUpdate", + "MessageCreate", + "GuildAuditLogEntryCreate", + "GuildBanAdd", + "GuildBanRemove", + "IntegrationCreate", + "IntegrationUpdate", + "IntegrationDelete", + "ThreadCreate", + "ThreadUpdate", + "ThreadDelete", + "ThreadListSync", + "ThreadMemberUpdate", + "ThreadMembersUpdate", + "GuildScheduledEventCreate", + "GuildScheduledEventUpdate", + "GuildScheduledEventDelete", + "GuildScheduledEventUserAdd", + "GuildScheduledEventUserRemove", + "VoiceBufferSend", + "VoiceUserTalking", + "VoiceReady", + "VoiceReceive", + "VoiceReceiveCombined", + "VoiceTrackMarker", + "StageInstanceCreate", + "StageInstanceUpdate", + "StageInstanceDelete", +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpLogLevelEnum[] = { + {_SC("Trace"), static_cast< SQInteger >(dpp::ll_trace)}, + {_SC("Debug"), static_cast< SQInteger >(dpp::ll_debug)}, + {_SC("Info"), static_cast< SQInteger >(dpp::ll_info)}, + {_SC("Warning"), static_cast< SQInteger >(dpp::ll_warning)}, + {_SC("Error"), static_cast< SQInteger >(dpp::ll_error)}, + {_SC("Critical"), static_cast< SQInteger >(dpp::ll_critical)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpVoiceStateFlagsEnum[] = { + {_SC("Deaf"), static_cast< SQInteger >(dpp::vs_deaf)}, + {_SC("Mute"), static_cast< SQInteger >(dpp::vs_mute)}, + {_SC("SelfMute"), static_cast< SQInteger >(dpp::vs_self_mute)}, + {_SC("SelfDeaf"), static_cast< SQInteger >(dpp::vs_self_deaf)}, + {_SC("SelfStream"), static_cast< SQInteger >(dpp::vs_self_stream)}, + {_SC("SelfVideo"), static_cast< SQInteger >(dpp::vs_self_video)}, + {_SC("Suppress"), static_cast< SQInteger >(dpp::vs_suppress)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpEmojiFlagsEnum[] = { + {_SC("RequireColons"), static_cast< SQInteger >(dpp::e_require_colons)}, + {_SC("Managed"), static_cast< SQInteger >(dpp::e_managed)}, + {_SC("Animated"), static_cast< SQInteger >(dpp::e_animated)}, + {_SC("Available"), static_cast< SQInteger >(dpp::e_available)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpPresenceFlagsEnum[] = { + {_SC("DesktopOnline"), static_cast< SQInteger >(dpp::p_desktop_online)}, + {_SC("DesktopDND"), static_cast< SQInteger >(dpp::p_desktop_dnd)}, + {_SC("DesktopIdle"), static_cast< SQInteger >(dpp::p_desktop_idle)}, + {_SC("WebOnline"), static_cast< SQInteger >(dpp::p_web_online)}, + {_SC("WebDND"), static_cast< SQInteger >(dpp::p_web_dnd)}, + {_SC("WebIdle"), static_cast< SQInteger >(dpp::p_web_idle)}, + {_SC("MobileOnline"), static_cast< SQInteger >(dpp::p_mobile_online)}, + {_SC("MobileDND"), static_cast< SQInteger >(dpp::p_mobile_dnd)}, + {_SC("MobileIdle"), static_cast< SQInteger >(dpp::p_mobile_idle)}, + {_SC("StatusOnline"), static_cast< SQInteger >(dpp::p_status_online)}, + {_SC("StatusDND"), static_cast< SQInteger >(dpp::p_status_dnd)}, + {_SC("StatusIdle"), static_cast< SQInteger >(dpp::p_status_idle)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpPresenceStatusEnum[] = { + {_SC("Offline"), static_cast< SQInteger >(dpp::ps_offline)}, + {_SC("Online"), static_cast< SQInteger >(dpp::ps_online)}, + {_SC("DND"), static_cast< SQInteger >(dpp::ps_dnd)}, + {_SC("Idle"), static_cast< SQInteger >(dpp::ps_idle)}, + // Bit shift for desktop status + {_SC("ShiftDesktop"), static_cast< SQInteger >(PF_SHIFT_DESKTOP)}, + {_SC("ShiftWeb"), static_cast< SQInteger >(PF_SHIFT_WEB)}, + {_SC("ShiftMobile"), static_cast< SQInteger >(PF_SHIFT_MOBILE)}, + {_SC("ShiftMain"), static_cast< SQInteger >(PF_SHIFT_MAIN)}, + {_SC("StatusMask"), static_cast< SQInteger >(PF_STATUS_MASK)}, + {_SC("ClearDesktop"), static_cast< SQInteger >(PF_CLEAR_DESKTOP)}, + {_SC("ClearWeb"), static_cast< SQInteger >(PF_CLEAR_WEB)}, + {_SC("ClearMobile"), static_cast< SQInteger >(PF_CLEAR_MOBILE)}, + {_SC("ClearStatus"), static_cast< SQInteger >(PF_CLEAR_STATUS)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpActivityTypeEnum[] = { + {_SC("Game"), static_cast< SQInteger >(dpp::at_game)}, + {_SC("Streaming"), static_cast< SQInteger >(dpp::at_streaming)}, + {_SC("Listening"), static_cast< SQInteger >(dpp::at_listening)}, + {_SC("Watching"), static_cast< SQInteger >(dpp::at_watching)}, + {_SC("Custom"), static_cast< SQInteger >(dpp::at_custom)}, + {_SC("Competing"), static_cast< SQInteger >(dpp::at_competing)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpActivityFlagsEnum[] = { + {_SC("Instance"), static_cast< SQInteger >(dpp::af_instance)}, + {_SC("Join"), static_cast< SQInteger >(dpp::af_join)}, + {_SC("Spectate"), static_cast< SQInteger >(dpp::af_spectate)}, + {_SC("JoinRequest"), static_cast< SQInteger >(dpp::af_join_request)}, + {_SC("Sync"), static_cast< SQInteger >(dpp::af_sync)}, + {_SC("Play"), static_cast< SQInteger >(dpp::af_play)}, + {_SC("PartyPrivacyFriends"), static_cast< SQInteger >(dpp::af_party_privacy_friends)}, + {_SC("PartyPrivacyVoiceChannel"), static_cast< SQInteger >(dpp::af_party_privacy_voice_channel)}, + {_SC("Embedded"), static_cast< SQInteger >(dpp::af_embedded)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpRegionEnum[] = { + {_SC("Brazil"), static_cast< SQInteger >(dpp::r_brazil)}, + {_SC("CentralEurope"), static_cast< SQInteger >(dpp::r_central_europe)}, + {_SC("HongKong"), static_cast< SQInteger >(dpp::r_hong_kong)}, + {_SC("India"), static_cast< SQInteger >(dpp::r_india)}, + {_SC("Japan"), static_cast< SQInteger >(dpp::r_japan)}, + {_SC("Russia"), static_cast< SQInteger >(dpp::r_russia)}, + {_SC("Singapore"), static_cast< SQInteger >(dpp::r_singapore)}, + {_SC("SouthAfrica"), static_cast< SQInteger >(dpp::r_south_africa)}, + {_SC("Sydney"), static_cast< SQInteger >(dpp::r_sydney)}, + {_SC("UsCentral"), static_cast< SQInteger >(dpp::r_us_central)}, + {_SC("UsEast"), static_cast< SQInteger >(dpp::r_us_east)}, + {_SC("UsSouth"), static_cast< SQInteger >(dpp::r_us_south)}, + {_SC("UsWest"), static_cast< SQInteger >(dpp::r_us_west)}, + {_SC("WesternEurope"), static_cast< SQInteger >(dpp::r_western_europe)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpGuildFlagsEnum[] = { + {_SC("Large"), static_cast< SQInteger >(dpp::g_large)}, + {_SC("Unavailable"), static_cast< SQInteger >(dpp::g_unavailable)}, + {_SC("WidgetEnabled"), static_cast< SQInteger >(dpp::g_widget_enabled)}, + {_SC("InviteSplash"), static_cast< SQInteger >(dpp::g_invite_splash)}, + {_SC("VipRegions"), static_cast< SQInteger >(dpp::g_vip_regions)}, + {_SC("VanityURL"), static_cast< SQInteger >(dpp::g_vanity_url)}, + {_SC("Verified"), static_cast< SQInteger >(dpp::g_verified)}, + {_SC("Partnered"), static_cast< SQInteger >(dpp::g_partnered)}, + {_SC("Community"), static_cast< SQInteger >(dpp::g_community)}, + {_SC("RoleSubscriptionEnabled"), static_cast< SQInteger >(dpp::g_role_subscription_enabled)}, + {_SC("News"), static_cast< SQInteger >(dpp::g_news)}, + {_SC("Discoverable"), static_cast< SQInteger >(dpp::g_discoverable)}, + {_SC("Featureable"), static_cast< SQInteger >(dpp::g_featureable)}, + {_SC("AnimatedIcon"), static_cast< SQInteger >(dpp::g_animated_icon)}, + {_SC("Banner"), static_cast< SQInteger >(dpp::g_banner)}, + {_SC("WelcomeScreenEnabled"), static_cast< SQInteger >(dpp::g_welcome_screen_enabled)}, + {_SC("MemberVerificationGate"), static_cast< SQInteger >(dpp::g_member_verification_gate)}, + {_SC("PreviewEnabled"), static_cast< SQInteger >(dpp::g_preview_enabled)}, + {_SC("NoJoinNotifications"), static_cast< SQInteger >(dpp::g_no_join_notifications)}, + {_SC("NoBoostNotifications"), static_cast< SQInteger >(dpp::g_no_boost_notifications)}, + {_SC("HasAnimatedIcon"), static_cast< SQInteger >(dpp::g_has_animated_icon)}, + {_SC("HasAnimatedBanner"), static_cast< SQInteger >(dpp::g_has_animated_banner)}, + {_SC("NoSetupTips"), static_cast< SQInteger >(dpp::g_no_setup_tips)}, + {_SC("NoStickerGreeting"), static_cast< SQInteger >(dpp::g_no_sticker_greeting)}, + {_SC("MonetizationEnabled"), static_cast< SQInteger >(dpp::g_monetization_enabled)}, + {_SC("MoreStickers"), static_cast< SQInteger >(dpp::g_more_stickers)}, + {_SC("CreatorStorePageEnabled"), static_cast< SQInteger >(dpp::g_creator_store_page_enabled)}, + {_SC("RoleIcons"), static_cast< SQInteger >(dpp::g_role_icons)}, + {_SC("SevenDayThreadArchive"), static_cast< SQInteger >(dpp::g_seven_day_thread_archive)}, + {_SC("ThreeDayThreadArchive"), static_cast< SQInteger >(dpp::g_three_day_thread_archive)}, + {_SC("TicketedEvents"), static_cast< SQInteger >(dpp::g_ticketed_events)}, + {_SC("ChannelBanners"), static_cast< SQInteger >(dpp::g_channel_banners)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpGuildFlagsExtraEnum[] = { + {_SC("PremiumProgressBarEnabled"), static_cast< SQInteger >(dpp::g_premium_progress_bar_enabled)}, + {_SC("AnimatedBanner"), static_cast< SQInteger >(dpp::g_animated_banner)}, + {_SC("AutoModeration"), static_cast< SQInteger >(dpp::g_auto_moderation)}, + {_SC("InvitesDisabled"), static_cast< SQInteger >(dpp::g_invites_disabled)}, + {_SC("DeveloperSupportServer"), static_cast< SQInteger >(dpp::g_developer_support_server)}, + {_SC("NoRoleSubscriptionNotifications"), static_cast< SQInteger >(dpp::g_no_role_subscription_notifications)}, + {_SC("NoRoleSubscriptionNotificationReplies"), static_cast< SQInteger >(dpp::g_no_role_subscription_notification_replies)}, + {_SC("RoleSubscriptionsAvailableForPurchase"), static_cast< SQInteger >(dpp::g_role_subscriptions_available_for_purchase)}, + +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElement g_DpGuildMemberFlagsEnum[] = { + {_SC("Deaf"), static_cast< SQInteger >(dpp::gm_deaf)}, + {_SC("Mute"), static_cast< SQInteger >(dpp::gm_mute)}, + {_SC("Pending"), static_cast< SQInteger >(dpp::gm_pending)}, + {_SC("AnimatedAvatar"), static_cast< SQInteger >(dpp::gm_animated_avatar)}, + {_SC("VoiceAction"), static_cast< SQInteger >(dpp::gm_voice_action)}, +}; + +// ------------------------------------------------------------------------------------------------ +static const EnumElements g_EnumList[] = { + {_SC("SqDiscordLogLevel"), g_DpLogLevelEnum}, + {_SC("SqDiscordVoiceStateFlags"), g_DpVoiceStateFlagsEnum}, + {_SC("SqDiscordEmojiFlags"), g_DpEmojiFlagsEnum}, + {_SC("SqDiscordPresenceFlags"), g_DpPresenceFlagsEnum}, + {_SC("SqDiscordPresenceStatus"), g_DpPresenceStatusEnum}, + {_SC("SqDiscordActivityType"), g_DpActivityTypeEnum}, + {_SC("SqDiscordActivityFlags"), g_DpActivityFlagsEnum}, + {_SC("SqDiscordRegion"), g_DpRegionEnum}, + {_SC("SqDiscordGuildFlags"), g_DpGuildFlagsEnum}, + {_SC("SqDiscordGuildFlagsExtra"), g_DpGuildFlagsExtraEnum}, + {_SC("SqDiscordGuildMemberFlags"), g_DpGuildMemberFlagsEnum}, +}; + +// ------------------------------------------------------------------------------------------------ +void Register_Discord_Constants(HSQUIRRELVM vm, Table & ns) +{ + RegisterEnumerations(vm, g_EnumList); + // -------------------------------------------------------------------------------------------- + Enumeration e(vm); + // Bind all events using their associated name + for (SQInteger i = 0; i < static_cast< SQInteger >(DpEventID::Max); ++i) + { + e.Const(DpEventID::NAME[i], i); + } + // Expose the constants + ConstTable(vm).Enum(_SC("SqDiscordEvent"), e); +} + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Constants.hpp b/module/Library/Discord/Constants.hpp new file mode 100644 index 00000000..c9f1181e --- /dev/null +++ b/module/Library/Discord/Constants.hpp @@ -0,0 +1,663 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +#include +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +/* ------------------------------------------------------------------------------------------------ + * Unique ID for each event. +*/ +struct DpEventID +{ + /* -------------------------------------------------------------------------------------------- + * ID enumeration. + */ + enum Type + { + VoiceStateUpdate=0, + VoiceClientDisconnect, + VoiceClientSpeaking, + Log, + GuildJoinRequestDelete, + InteractionCreate, + SlashCommand, + ButtonClick, + AutoComplete, + SelectClick, + MessageContextMenu, + UserContextMenu, + FormSubmit, + GuildDelete, + ChannelDelete, + ChannelUpdate, + Ready, + MessageDelete, + GuildMemberRemove, + Resumed, + GuildRoleCreate, + TypingStart, + MessageReactionAdd, + GuildMembersChunk, + MessageReactionRemove, + GuildCreate, + ChannelCreate, + MessageReactionRemoveEmoji, + MessageDeleteDulk, + GuildRoleUpdate, + GuildRoleDelete, + ChannelPinsUpdate, + MessageReactionRemoveAll, + VoiceServerUpdate, + GuildEmojisUpdate, + GuildStickersUpdate, + PresenceUpdate, + WebhooksUpdate, + AutomodRuleCreate, + AutomodRuleUpdate, + AutomodRuleDelete, + AutomodRuleExecute, + GuildMemberAdd, + InviteDelete, + GuildUpdate, + GuildIntegrationsUpdate, + GuildMemberUpdate, + InviteCreate, + MessageUpdate, + UserUpdate, + MessageCreate, + GuildAuditLogEntryCreate, + GuildBanAdd, + GuildBanRemove, + IntegrationCreate, + IntegrationUpdate, + IntegrationDelete, + ThreadCreate, + ThreadUpdate, + ThreadDelete, + ThreadListSync, + ThreadMemberUpdate, + ThreadMembersUpdate, + GuildScheduledEventCreate, + GuildScheduledEventUpdate, + GuildScheduledEventDelete, + GuildScheduledEventUserAdd, + GuildScheduledEventUserRemove, + VoiceBufferSend, + VoiceUserTalking, + VoiceReady, + VoiceReceive, + VoiceReceiveCombined, + VoiceTrackMarker, + StageInstanceCreate, + StageInstanceUpdate, + StageInstanceDelete, + Max + }; + /* -------------------------------------------------------------------------------------------- + * String identification for each event ID. + */ + static const std::array< const char *, static_cast< size_t >(Max) > NAME; +}; + +/* ------------------------------------------------------------------------------------------------ + * Structures that hold compile-time type information for events. +*/ +struct DpVoiceStateUpdateEventInfo +{ + using Type = dpp::voice_state_update_t; + static inline constexpr size_t ID = DpEventID::VoiceStateUpdate; + static inline constexpr std::string_view Name = "VoiceStateUpdate"; +}; +struct DpVoiceClientDisconnectEventInfo +{ + using Type = dpp::voice_client_disconnect_t; + static inline constexpr size_t ID = DpEventID::VoiceClientDisconnect; + static inline constexpr std::string_view Name = "VoiceClientDisconnect"; +}; +struct DpVoiceClientSpeakingEventInfo +{ + using Type = dpp::voice_client_speaking_t; + static inline constexpr size_t ID = DpEventID::VoiceClientSpeaking; + static inline constexpr std::string_view Name = "VoiceClientSpeaking"; +}; +struct DpLogEventInfo +{ + using Type = dpp::log_t; + static inline constexpr size_t ID = DpEventID::Log; + static inline constexpr std::string_view Name = "Log"; +}; +struct DpGuildJoinRequestDeleteEventInfo +{ + using Type = dpp::guild_join_request_delete_t; + static inline constexpr size_t ID = DpEventID::GuildJoinRequestDelete; + static inline constexpr std::string_view Name = "GuildJoinRequestDelete"; +}; +struct DpInteractionCreateEventInfo +{ + using Type = dpp::interaction_create_t; + static inline constexpr size_t ID = DpEventID::InteractionCreate; + static inline constexpr std::string_view Name = "InteractionCreate"; +}; +struct DpSlashCommandEventInfo +{ + using Type = dpp::slashcommand_t; + static inline constexpr size_t ID = DpEventID::SlashCommand; + static inline constexpr std::string_view Name = "SlashCommand"; +}; +struct DpButtonClickEventInfo +{ + using Type = dpp::button_click_t; + static inline constexpr size_t ID = DpEventID::ButtonClick; + static inline constexpr std::string_view Name = "ButtonClick"; +}; +struct DpAutoCompleteEventInfo +{ + using Type = dpp::autocomplete_t; + static inline constexpr size_t ID = DpEventID::AutoComplete; + static inline constexpr std::string_view Name = "AutoComplete"; +}; +struct DpSelectClickEventInfo +{ + using Type = dpp::select_click_t; + static inline constexpr size_t ID = DpEventID::SelectClick; + static inline constexpr std::string_view Name = "SelectClick"; +}; +struct DpMessageContextMenuEventInfo +{ + using Type = dpp::message_context_menu_t; + static inline constexpr size_t ID = DpEventID::MessageContextMenu; + static inline constexpr std::string_view Name = "MessageContextMenu"; +}; +struct DpUserContextMenuEventInfo +{ + using Type = dpp::user_context_menu_t; + static inline constexpr size_t ID = DpEventID::UserContextMenu; + static inline constexpr std::string_view Name = "UserContextMenu"; +}; +struct DpFormSubmitEventInfo +{ + using Type = dpp::form_submit_t; + static inline constexpr size_t ID = DpEventID::FormSubmit; + static inline constexpr std::string_view Name = "FormSubmit"; +}; +struct DpGuildDeleteEventInfo +{ + using Type = dpp::guild_delete_t; + static inline constexpr size_t ID = DpEventID::GuildDelete; + static inline constexpr std::string_view Name = "GuildDelete"; +}; +struct DpChannelDeleteEventInfo +{ + using Type = dpp::channel_delete_t; + static inline constexpr size_t ID = DpEventID::ChannelDelete; + static inline constexpr std::string_view Name = "ChannelDelete"; +}; +struct DpChannelUpdateEventInfo +{ + using Type = dpp::channel_update_t; + static inline constexpr size_t ID = DpEventID::ChannelUpdate; + static inline constexpr std::string_view Name = "ChannelUpdate"; +}; +struct DpReadyEventInfo +{ + using Type = dpp::ready_t; + static inline constexpr size_t ID = DpEventID::Ready; + static inline constexpr std::string_view Name = "Ready"; +}; +struct DpMessageDeleteEventInfo +{ + using Type = dpp::message_delete_t; + static inline constexpr size_t ID = DpEventID::MessageDelete; + static inline constexpr std::string_view Name = "MessageDelete"; +}; +struct DpGuildMemberRemoveEventInfo +{ + using Type = dpp::guild_member_remove_t; + static inline constexpr size_t ID = DpEventID::GuildMemberRemove; + static inline constexpr std::string_view Name = "GuildMemberRemove"; +}; +struct DpResumedEventInfo +{ + using Type = dpp::resumed_t; + static inline constexpr size_t ID = DpEventID::Resumed; + static inline constexpr std::string_view Name = "Resumed"; +}; +struct DpGuildRoleCreateEventInfo +{ + using Type = dpp::guild_role_create_t; + static inline constexpr size_t ID = DpEventID::GuildRoleCreate; + static inline constexpr std::string_view Name = "GuildRoleCreate"; +}; +struct DpTypingStartEventInfo +{ + using Type = dpp::typing_start_t; + static inline constexpr size_t ID = DpEventID::TypingStart; + static inline constexpr std::string_view Name = "TypingStart"; +}; +struct DpMessageReactionAddEventInfo +{ + using Type = dpp::message_reaction_add_t; + static inline constexpr size_t ID = DpEventID::MessageReactionAdd; + static inline constexpr std::string_view Name = "MessageReactionAdd"; +}; +struct DpGuildMembersChunkEventInfo +{ + using Type = dpp::guild_members_chunk_t; + static inline constexpr size_t ID = DpEventID::GuildMembersChunk; + static inline constexpr std::string_view Name = "GuildMembersChunk"; +}; +struct DpMessageReactionRemoveEventInfo +{ + using Type = dpp::message_reaction_remove_t; + static inline constexpr size_t ID = DpEventID::MessageReactionRemove; + static inline constexpr std::string_view Name = "MessageReactionRemove"; +}; +struct DpGuildCreateEventInfo +{ + using Type = dpp::guild_create_t; + static inline constexpr size_t ID = DpEventID::GuildCreate; + static inline constexpr std::string_view Name = "GuildCreate"; +}; +struct DpChannelCreateEventInfo +{ + using Type = dpp::channel_create_t; + static inline constexpr size_t ID = DpEventID::ChannelCreate; + static inline constexpr std::string_view Name = "ChannelCreate"; +}; +struct DpMessageReactionRemoveEmojiEventInfo +{ + using Type = dpp::message_reaction_remove_emoji_t; + static inline constexpr size_t ID = DpEventID::MessageReactionRemoveEmoji; + static inline constexpr std::string_view Name = "MessageReactionRemoveEmoji"; +}; +struct DpMessageDeleteDulkEventInfo +{ + using Type = dpp::message_delete_bulk_t; + static inline constexpr size_t ID = DpEventID::MessageDeleteDulk; + static inline constexpr std::string_view Name = "MessageDeleteDulk"; +}; +struct DpGuildRoleUpdateEventInfo +{ + using Type = dpp::guild_role_update_t; + static inline constexpr size_t ID = DpEventID::GuildRoleUpdate; + static inline constexpr std::string_view Name = "GuildRoleUpdate"; +}; +struct DpGuildRoleDeleteEventInfo +{ + using Type = dpp::guild_role_delete_t; + static inline constexpr size_t ID = DpEventID::GuildRoleDelete; + static inline constexpr std::string_view Name = "GuildRoleDelete"; +}; +struct DpChannelPinsUpdateEventInfo +{ + using Type = dpp::channel_pins_update_t; + static inline constexpr size_t ID = DpEventID::ChannelPinsUpdate; + static inline constexpr std::string_view Name = "ChannelPinsUpdate"; +}; +struct DpMessageReactionRemoveAllEventInfo +{ + using Type = dpp::message_reaction_remove_all_t; + static inline constexpr size_t ID = DpEventID::MessageReactionRemoveAll; + static inline constexpr std::string_view Name = "MessageReactionRemoveAll"; +}; +struct DpVoiceServerUpdateEventInfo +{ + using Type = dpp::voice_server_update_t; + static inline constexpr size_t ID = DpEventID::VoiceServerUpdate; + static inline constexpr std::string_view Name = "VoiceServerUpdate"; +}; +struct DpGuildEmojisUpdateEventInfo +{ + using Type = dpp::guild_emojis_update_t; + static inline constexpr size_t ID = DpEventID::GuildEmojisUpdate; + static inline constexpr std::string_view Name = "GuildEmojisUpdate"; +}; +struct DpGuildStickersUpdateEventInfo +{ + using Type = dpp::guild_stickers_update_t; + static inline constexpr size_t ID = DpEventID::GuildStickersUpdate; + static inline constexpr std::string_view Name = "GuildStickersUpdate"; +}; +struct DpPresenceUpdateEventInfo +{ + using Type = dpp::presence_update_t; + static inline constexpr size_t ID = DpEventID::PresenceUpdate; + static inline constexpr std::string_view Name = "PresenceUpdate"; +}; +struct DpWebhooksUpdateEventInfo +{ + using Type = dpp::webhooks_update_t; + static inline constexpr size_t ID = DpEventID::WebhooksUpdate; + static inline constexpr std::string_view Name = "WebhooksUpdate"; +}; +struct DpAutomodRuleCreateEventInfo +{ + using Type = dpp::automod_rule_create_t; + static inline constexpr size_t ID = DpEventID::AutomodRuleCreate; + static inline constexpr std::string_view Name = "AutomodRuleCreate"; +}; +struct DpAutomodRuleUpdateEventInfo +{ + using Type = dpp::automod_rule_update_t; + static inline constexpr size_t ID = DpEventID::AutomodRuleUpdate; + static inline constexpr std::string_view Name = "AutomodRuleUpdate"; +}; +struct DpAutomodRuleDeleteEventInfo +{ + using Type = dpp::automod_rule_delete_t; + static inline constexpr size_t ID = DpEventID::AutomodRuleDelete; + static inline constexpr std::string_view Name = "AutomodRuleDelete"; +}; +struct DpAutomodRuleExecuteEventInfo +{ + using Type = dpp::automod_rule_execute_t; + static inline constexpr size_t ID = DpEventID::AutomodRuleExecute; + static inline constexpr std::string_view Name = "AutomodRuleExecute"; +}; +struct DpGuildMemberAddEventInfo +{ + using Type = dpp::guild_member_add_t; + static inline constexpr size_t ID = DpEventID::GuildMemberAdd; + static inline constexpr std::string_view Name = "GuildMemberAdd"; +}; +struct DpInviteDeleteEventInfo +{ + using Type = dpp::invite_delete_t; + static inline constexpr size_t ID = DpEventID::InviteDelete; + static inline constexpr std::string_view Name = "InviteDelete"; +}; +struct DpGuildUpdateEventInfo +{ + using Type = dpp::guild_update_t; + static inline constexpr size_t ID = DpEventID::GuildUpdate; + static inline constexpr std::string_view Name = "GuildUpdate"; +}; +struct DpGuildIntegrationsUpdateEventInfo +{ + using Type = dpp::guild_integrations_update_t; + static inline constexpr size_t ID = DpEventID::GuildIntegrationsUpdate; + static inline constexpr std::string_view Name = "GuildIntegrationsUpdate"; +}; +struct DpGuildMemberUpdateEventInfo +{ + using Type = dpp::guild_member_update_t; + static inline constexpr size_t ID = DpEventID::GuildMemberUpdate; + static inline constexpr std::string_view Name = "GuildMemberUpdate"; +}; +struct DpInviteCreateEventInfo +{ + using Type = dpp::invite_create_t; + static inline constexpr size_t ID = DpEventID::InviteCreate; + static inline constexpr std::string_view Name = "InviteCreate"; +}; +struct DpMessageUpdateEventInfo +{ + using Type = dpp::message_update_t; + static inline constexpr size_t ID = DpEventID::MessageUpdate; + static inline constexpr std::string_view Name = "MessageUpdate"; +}; +struct DpUserUpdateEventInfo +{ + using Type = dpp::user_update_t; + static inline constexpr size_t ID = DpEventID::UserUpdate; + static inline constexpr std::string_view Name = "UserUpdate"; +}; +struct DpMessageCreateEventInfo +{ + using Type = dpp::message_create_t; + static inline constexpr size_t ID = DpEventID::MessageCreate; + static inline constexpr std::string_view Name = "MessageCreate"; +}; +struct DpGuildAuditLogEntryCreateEventInfo +{ + using Type = dpp::guild_audit_log_entry_create_t; + static inline constexpr size_t ID = DpEventID::GuildAuditLogEntryCreate; + static inline constexpr std::string_view Name = "GuildAuditLogEntryCreate"; +}; +struct DpGuildBanAddEventInfo +{ + using Type = dpp::guild_ban_add_t; + static inline constexpr size_t ID = DpEventID::GuildBanAdd; + static inline constexpr std::string_view Name = "GuildBanAdd"; +}; +struct DpGuildBanRemoveEventInfo +{ + using Type = dpp::guild_ban_remove_t; + static inline constexpr size_t ID = DpEventID::GuildBanRemove; + static inline constexpr std::string_view Name = "GuildBanRemove"; +}; +struct DpIntegrationCreateEventInfo +{ + using Type = dpp::integration_create_t; + static inline constexpr size_t ID = DpEventID::IntegrationCreate; + static inline constexpr std::string_view Name = "IntegrationCreate"; +}; +struct DpIntegrationUpdateEventInfo +{ + using Type = dpp::integration_update_t; + static inline constexpr size_t ID = DpEventID::IntegrationUpdate; + static inline constexpr std::string_view Name = "IntegrationUpdate"; +}; +struct DpIntegrationDeleteEventInfo +{ + using Type = dpp::integration_delete_t; + static inline constexpr size_t ID = DpEventID::IntegrationDelete; + static inline constexpr std::string_view Name = "IntegrationDelete"; +}; +struct DpThreadCreateEventInfo +{ + using Type = dpp::thread_create_t; + static inline constexpr size_t ID = DpEventID::ThreadCreate; + static inline constexpr std::string_view Name = "ThreadCreate"; +}; +struct DpThreadUpdateEventInfo +{ + using Type = dpp::thread_update_t; + static inline constexpr size_t ID = DpEventID::ThreadUpdate; + static inline constexpr std::string_view Name = "ThreadUpdate"; +}; +struct DpThreadDeleteEventInfo +{ + using Type = dpp::thread_delete_t; + static inline constexpr size_t ID = DpEventID::ThreadDelete; + static inline constexpr std::string_view Name = "ThreadDelete"; +}; +struct DpThreadListSyncEventInfo +{ + using Type = dpp::thread_list_sync_t; + static inline constexpr size_t ID = DpEventID::ThreadListSync; + static inline constexpr std::string_view Name = "ThreadListSync"; +}; +struct DpThreadMemberUpdateEventInfo +{ + using Type = dpp::thread_member_update_t; + static inline constexpr size_t ID = DpEventID::ThreadMemberUpdate; + static inline constexpr std::string_view Name = "ThreadMemberUpdate"; +}; +struct DpThreadMembersUpdateEventInfo +{ + using Type = dpp::thread_members_update_t; + static inline constexpr size_t ID = DpEventID::ThreadMembersUpdate; + static inline constexpr std::string_view Name = "ThreadMembersUpdate"; +}; +struct DpGuildScheduledEventCreateEventInfo +{ + using Type = dpp::guild_scheduled_event_create_t; + static inline constexpr size_t ID = DpEventID::GuildScheduledEventCreate; + static inline constexpr std::string_view Name = "GuildScheduledEventCreate"; +}; +struct DpGuildScheduledEventUpdateEventInfo +{ + using Type = dpp::guild_scheduled_event_update_t; + static inline constexpr size_t ID = DpEventID::GuildScheduledEventUpdate; + static inline constexpr std::string_view Name = "GuildScheduledEventUpdate"; +}; +struct DpGuildScheduledEventDeleteEventInfo +{ + using Type = dpp::guild_scheduled_event_delete_t; + static inline constexpr size_t ID = DpEventID::GuildScheduledEventDelete; + static inline constexpr std::string_view Name = "GuildScheduledEventDelete"; +}; +struct DpGuildScheduledEventUserAddEventInfo +{ + using Type = dpp::guild_scheduled_event_user_add_t; + static inline constexpr size_t ID = DpEventID::GuildScheduledEventUserAdd; + static inline constexpr std::string_view Name = "GuildScheduledEventUserAdd"; +}; +struct DpGuildScheduledEventUserRemoveEventInfo +{ + using Type = dpp::guild_scheduled_event_user_remove_t; + static inline constexpr size_t ID = DpEventID::GuildScheduledEventUserRemove; + static inline constexpr std::string_view Name = "GuildScheduledEventUserRemove"; +}; +struct DpVoiceBufferSendEventInfo +{ + using Type = dpp::voice_buffer_send_t; + static inline constexpr size_t ID = DpEventID::VoiceBufferSend; + static inline constexpr std::string_view Name = "VoiceBufferSend"; +}; +struct DpVoiceUserTalkingEventInfo +{ + using Type = dpp::voice_user_talking_t; + static inline constexpr size_t ID = DpEventID::VoiceUserTalking; + static inline constexpr std::string_view Name = "VoiceUserTalking"; +}; +struct DpVoiceReadyEventInfo +{ + using Type = dpp::voice_ready_t; + static inline constexpr size_t ID = DpEventID::VoiceReady; + static inline constexpr std::string_view Name = "VoiceReady"; +}; +struct DpVoiceReceiveEventInfo +{ + using Type = dpp::voice_receive_t; + static inline constexpr size_t ID = DpEventID::VoiceReceive; + static inline constexpr std::string_view Name = "VoiceReceive"; +}; +struct DpVoiceReceiveCombinedEventInfo +{ + using Type = dpp::voice_receive_t; + static inline constexpr size_t ID = DpEventID::VoiceReceiveCombined; + static inline constexpr std::string_view Name = "VoiceReceiveCombined"; +}; +struct DpVoiceTrackMarkerEventInfo +{ + using Type = dpp::voice_track_marker_t; + static inline constexpr size_t ID = DpEventID::VoiceTrackMarker; + static inline constexpr std::string_view Name = "VoiceTrackMarker"; +}; +struct DpStageInstanceCreateEventInfo +{ + using Type = dpp::stage_instance_create_t; + static inline constexpr size_t ID = DpEventID::StageInstanceCreate; + static inline constexpr std::string_view Name = "StageInstanceCreate"; +}; +struct DpStageInstanceUpdateEventInfo +{ + using Type = dpp::stage_instance_update_t; + static inline constexpr size_t ID = DpEventID::StageInstanceUpdate; + static inline constexpr std::string_view Name = "StageInstanceUpdate"; +}; +struct DpStageInstanceDeleteEventInfo +{ + using Type = dpp::stage_instance_delete_t; + static inline constexpr size_t ID = DpEventID::StageInstanceDelete; + static inline constexpr std::string_view Name = "StageInstanceDelete"; +}; + +/* ------------------------------------------------------------------------------------------------ + * Utility used to acquire event information at compile time. +*/ +template < int > struct EventInfoID; + +/* ------------------------------------------------------------------------------------------------ + * Implementation. +*/ +template < > struct EventInfoID< DpEventID::VoiceStateUpdate > : public DpVoiceStateUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceClientDisconnect > : public DpVoiceClientDisconnectEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceClientSpeaking > : public DpVoiceClientSpeakingEventInfo { }; +template < > struct EventInfoID< DpEventID::Log > : public DpLogEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildJoinRequestDelete > : public DpGuildJoinRequestDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::InteractionCreate > : public DpInteractionCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::SlashCommand > : public DpSlashCommandEventInfo { }; +template < > struct EventInfoID< DpEventID::ButtonClick > : public DpButtonClickEventInfo { }; +template < > struct EventInfoID< DpEventID::AutoComplete > : public DpAutoCompleteEventInfo { }; +template < > struct EventInfoID< DpEventID::SelectClick > : public DpSelectClickEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageContextMenu > : public DpMessageContextMenuEventInfo { }; +template < > struct EventInfoID< DpEventID::UserContextMenu > : public DpUserContextMenuEventInfo { }; +template < > struct EventInfoID< DpEventID::FormSubmit > : public DpFormSubmitEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildDelete > : public DpGuildDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::ChannelDelete > : public DpChannelDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::ChannelUpdate > : public DpChannelUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::Ready > : public DpReadyEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageDelete > : public DpMessageDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildMemberRemove > : public DpGuildMemberRemoveEventInfo { }; +template < > struct EventInfoID< DpEventID::Resumed > : public DpResumedEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildRoleCreate > : public DpGuildRoleCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::TypingStart > : public DpTypingStartEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageReactionAdd > : public DpMessageReactionAddEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildMembersChunk > : public DpGuildMembersChunkEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageReactionRemove > : public DpMessageReactionRemoveEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildCreate > : public DpGuildCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::ChannelCreate > : public DpChannelCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageReactionRemoveEmoji > : public DpMessageReactionRemoveEmojiEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageDeleteDulk > : public DpMessageDeleteDulkEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildRoleUpdate > : public DpGuildRoleUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildRoleDelete > : public DpGuildRoleDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::ChannelPinsUpdate > : public DpChannelPinsUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageReactionRemoveAll > : public DpMessageReactionRemoveAllEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceServerUpdate > : public DpVoiceServerUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildEmojisUpdate > : public DpGuildEmojisUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildStickersUpdate > : public DpGuildStickersUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::PresenceUpdate > : public DpPresenceUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::WebhooksUpdate > : public DpWebhooksUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::AutomodRuleCreate > : public DpAutomodRuleCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::AutomodRuleUpdate > : public DpAutomodRuleUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::AutomodRuleDelete > : public DpAutomodRuleDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::AutomodRuleExecute > : public DpAutomodRuleExecuteEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildMemberAdd > : public DpGuildMemberAddEventInfo { }; +template < > struct EventInfoID< DpEventID::InviteDelete > : public DpInviteDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildUpdate > : public DpGuildUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildIntegrationsUpdate > : public DpGuildIntegrationsUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildMemberUpdate > : public DpGuildMemberUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::InviteCreate > : public DpInviteCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageUpdate > : public DpMessageUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::UserUpdate > : public DpUserUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::MessageCreate > : public DpMessageCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildAuditLogEntryCreate > : public DpGuildAuditLogEntryCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildBanAdd > : public DpGuildBanAddEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildBanRemove > : public DpGuildBanRemoveEventInfo { }; +template < > struct EventInfoID< DpEventID::IntegrationCreate > : public DpIntegrationCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::IntegrationUpdate > : public DpIntegrationUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::IntegrationDelete > : public DpIntegrationDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::ThreadCreate > : public DpThreadCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::ThreadUpdate > : public DpThreadUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::ThreadDelete > : public DpThreadDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::ThreadListSync > : public DpThreadListSyncEventInfo { }; +template < > struct EventInfoID< DpEventID::ThreadMemberUpdate > : public DpThreadMemberUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::ThreadMembersUpdate > : public DpThreadMembersUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildScheduledEventCreate > : public DpGuildScheduledEventCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildScheduledEventUpdate > : public DpGuildScheduledEventUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildScheduledEventDelete > : public DpGuildScheduledEventDeleteEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildScheduledEventUserAdd > : public DpGuildScheduledEventUserAddEventInfo { }; +template < > struct EventInfoID< DpEventID::GuildScheduledEventUserRemove > : public DpGuildScheduledEventUserRemoveEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceBufferSend > : public DpVoiceBufferSendEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceUserTalking > : public DpVoiceUserTalkingEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceReady > : public DpVoiceReadyEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceReceive > : public DpVoiceReceiveEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceReceiveCombined > : public DpVoiceReceiveCombinedEventInfo { }; +template < > struct EventInfoID< DpEventID::VoiceTrackMarker > : public DpVoiceTrackMarkerEventInfo { }; +template < > struct EventInfoID< DpEventID::StageInstanceCreate > : public DpStageInstanceCreateEventInfo { }; +template < > struct EventInfoID< DpEventID::StageInstanceUpdate > : public DpStageInstanceUpdateEventInfo { }; +template < > struct EventInfoID< DpEventID::StageInstanceDelete > : public DpStageInstanceDeleteEventInfo { }; + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Events.cpp b/module/Library/Discord/Events.cpp new file mode 100644 index 00000000..529b235e --- /dev/null +++ b/module/Library/Discord/Events.cpp @@ -0,0 +1,787 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Events.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +// ------------------------------------------------------------------------------------------------ +SQMOD_DECL_TYPENAME(SqDpVoiceStateUpdateEvent, _SC("SqDiscordVoiceStateUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceClientDisconnectEvent, _SC("SqDiscordVoiceClientDisconnectEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceClientSpeakingEvent, _SC("SqDiscordVoiceClientSpeakingEvent")) +SQMOD_DECL_TYPENAME(SqDpLogEvent, _SC("SqDiscordLogEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildJoinRequestDeleteEvent, _SC("SqDiscordGuildJoinRequestDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpInteractionCreateEvent, _SC("SqDiscordInteractionCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpSlashCommandEvent, _SC("SqDiscordSlashCommandEvent")) +SQMOD_DECL_TYPENAME(SqDpButtonClickEvent, _SC("SqDiscordButtonClickEvent")) +SQMOD_DECL_TYPENAME(SqDpAutoCompleteEvent, _SC("SqDiscordAutoCompleteEvent")) +SQMOD_DECL_TYPENAME(SqDpSelectClickEvent, _SC("SqDiscordSelectClickEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageContextMenuEvent, _SC("SqDiscordMessageContextMenuEvent")) +SQMOD_DECL_TYPENAME(SqDpUserContextMenuEvent, _SC("SqDiscordUserContextMenuEvent")) +SQMOD_DECL_TYPENAME(SqDpFormSubmitEvent, _SC("SqDiscordFormSubmitEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildDeleteEvent, _SC("SqDiscordGuildDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpChannelDeleteEvent, _SC("SqDiscordChannelDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpChannelUpdateEvent, _SC("SqDiscordChannelUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpReadyEvent, _SC("SqDiscordReadyEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageDeleteEvent, _SC("SqDiscordMessageDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildMemberRemoveEvent, _SC("SqDiscordGuildMemberRemoveEvent")) +SQMOD_DECL_TYPENAME(SqDpResumedEvent, _SC("SqDiscordResumedEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildRoleCreateEvent, _SC("SqDiscordGuildRoleCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpTypingStartEvent, _SC("SqDiscordTypingStartEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageReactionAddEvent, _SC("SqDiscordMessageReactionAddEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildMembersChunkEvent, _SC("SqDiscordGuildMembersChunkEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageReactionRemoveEvent, _SC("SqDiscordMessageReactionRemoveEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildCreateEvent, _SC("SqDiscordGuildCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpChannelCreateEvent, _SC("SqDiscordChannelCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageReactionRemoveEmojiEvent, _SC("SqDiscordMessageReactionRemoveEmojiEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageDeleteDulkEvent, _SC("SqDiscordMessageDeleteDulkEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildRoleUpdateEvent, _SC("SqDiscordGuildRoleUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildRoleDeleteEvent, _SC("SqDiscordGuildRoleDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpChannelPinsUpdateEvent, _SC("SqDiscordChannelPinsUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageReactionRemoveAllEvent, _SC("SqDiscordMessageReactionRemoveAllEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceServerUpdateEvent, _SC("SqDiscordVoiceServerUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildEmojisUpdateEvent, _SC("SqDiscordGuildEmojisUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildStickersUpdateEvent, _SC("SqDiscordGuildStickersUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpPresenceUpdateEvent, _SC("SqDiscordPresenceUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpWebhooksUpdateEvent, _SC("SqDiscordWebhooksUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpAutomodRuleCreateEvent, _SC("SqDiscordAutomodRuleCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpAutomodRuleUpdateEvent, _SC("SqDiscordAutomodRuleUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpAutomodRuleDeleteEvent, _SC("SqDiscordAutomodRuleDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpAutomodRuleExecuteEvent, _SC("SqDiscordAutomodRuleExecuteEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildMemberAddEvent, _SC("SqDiscordGuildMemberAddEvent")) +SQMOD_DECL_TYPENAME(SqDpInviteDeleteEvent, _SC("SqDiscordInviteDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildUpdateEvent, _SC("SqDiscordGuildUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildIntegrationsUpdateEvent, _SC("SqDiscordGuildIntegrationsUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildMemberUpdateEvent, _SC("SqDiscordGuildMemberUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpInviteCreateEvent, _SC("SqDiscordInviteCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageUpdateEvent, _SC("SqDiscordMessageUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpUserUpdateEvent, _SC("SqDiscordUserUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpMessageCreateEvent, _SC("SqDiscordMessageCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildAuditLogEntryCreateEvent, _SC("SqDiscordGuildAuditLogEntryCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildBanAddEvent, _SC("SqDiscordGuildBanAddEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildBanRemoveEvent, _SC("SqDiscordGuildBanRemoveEvent")) +SQMOD_DECL_TYPENAME(SqDpIntegrationCreateEvent, _SC("SqDiscordIntegrationCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpIntegrationUpdateEvent, _SC("SqDiscordIntegrationUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpIntegrationDeleteEvent, _SC("SqDiscordIntegrationDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpThreadCreateEvent, _SC("SqDiscordThreadCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpThreadUpdateEvent, _SC("SqDiscordThreadUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpThreadDeleteEvent, _SC("SqDiscordThreadDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpThreadListSyncEvent, _SC("SqDiscordThreadListSyncEvent")) +SQMOD_DECL_TYPENAME(SqDpThreadMemberUpdateEvent, _SC("SqDiscordThreadMemberUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpThreadMembersUpdateEvent, _SC("SqDiscordThreadMembersUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildScheduledEventCreateEvent, _SC("SqDiscordGuildScheduledEventCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildScheduledEventUpdateEvent, _SC("SqDiscordGuildScheduledEventUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildScheduledEventDeleteEvent, _SC("SqDiscordGuildScheduledEventDeleteEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildScheduledEventUserAddEvent, _SC("SqDiscordGuildScheduledEventUserAddEvent")) +SQMOD_DECL_TYPENAME(SqDpGuildScheduledEventUserRemoveEvent, _SC("SqDiscordGuildScheduledEventUserRemoveEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceBufferSendEvent, _SC("SqDiscordVoiceBufferSendEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceUserTalkingEvent, _SC("SqDiscordVoiceUserTalkingEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceReadyEvent, _SC("SqDiscordVoiceReadyEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceReceiveEvent, _SC("SqDiscordVoiceReceiveEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceReceiveCombinedEvent, _SC("SqDiscordVoiceReceiveCombinedEvent")) +SQMOD_DECL_TYPENAME(SqDpVoiceTrackMarkerEvent, _SC("SqDiscordVoiceTrackMarkerEvent")) +SQMOD_DECL_TYPENAME(SqDpStageInstanceCreateEvent, _SC("SqDiscordStageInstanceCreateEvent")) +SQMOD_DECL_TYPENAME(SqDpStageInstanceUpdateEvent, _SC("SqDiscordStageInstanceUpdateEvent")) +SQMOD_DECL_TYPENAME(SqDpStageInstanceDeleteEvent, _SC("SqDiscordStageInstanceDeleteEvent")) + +// ------------------------------------------------------------------------------------------------ +void Register_Discord_Events(HSQUIRRELVM vm, Table & ns) +{ + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceStateUpdate"), + Class< DpVoiceStateUpdateEvent, NoConstructor< DpVoiceStateUpdateEvent > >(vm, SqDpVoiceStateUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceStateUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceStateUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceStateUpdateEvent::GetRawEvent) + .Prop(_SC("State"), &DpVoiceStateUpdateEvent::GetState) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceClientDisconnect"), + Class< DpVoiceClientDisconnectEvent, NoConstructor< DpVoiceClientDisconnectEvent > >(vm, SqDpVoiceClientDisconnectEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceClientDisconnectEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceClientDisconnectEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceClientDisconnectEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceClientSpeaking"), + Class< DpVoiceClientSpeakingEvent, NoConstructor< DpVoiceClientSpeakingEvent > >(vm, SqDpVoiceClientSpeakingEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceClientSpeakingEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceClientSpeakingEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceClientSpeakingEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("Log"), + Class< DpLogEvent, NoConstructor< DpLogEvent > >(vm, SqDpLogEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpLogEvent::Fn) + .Func(_SC("_tostring"), &DpLogEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpLogEvent::GetRawEvent) + .Prop(_SC("Severity"), &DpLogEvent::GetSeverity) + .Prop(_SC("Message"), &DpLogEvent::GetMessage) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildJoinRequestDelete"), + Class< DpGuildJoinRequestDeleteEvent, NoConstructor< DpGuildJoinRequestDeleteEvent > >(vm, SqDpGuildJoinRequestDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildJoinRequestDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpGuildJoinRequestDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildJoinRequestDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("InteractionCreate"), + Class< DpInteractionCreateEvent, NoConstructor< DpInteractionCreateEvent > >(vm, SqDpInteractionCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpInteractionCreateEvent::Fn) + .Func(_SC("_tostring"), &DpInteractionCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpInteractionCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("SlashCommand"), + Class< DpSlashCommandEvent, NoConstructor< DpSlashCommandEvent > >(vm, SqDpSlashCommandEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpSlashCommandEvent::Fn) + .Func(_SC("_tostring"), &DpSlashCommandEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpSlashCommandEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ButtonClick"), + Class< DpButtonClickEvent, NoConstructor< DpButtonClickEvent > >(vm, SqDpButtonClickEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpButtonClickEvent::Fn) + .Func(_SC("_tostring"), &DpButtonClickEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpButtonClickEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("AutoComplete"), + Class< DpAutoCompleteEvent, NoConstructor< DpAutoCompleteEvent > >(vm, SqDpAutoCompleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpAutoCompleteEvent::Fn) + .Func(_SC("_tostring"), &DpAutoCompleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpAutoCompleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("SelectClick"), + Class< DpSelectClickEvent, NoConstructor< DpSelectClickEvent > >(vm, SqDpSelectClickEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpSelectClickEvent::Fn) + .Func(_SC("_tostring"), &DpSelectClickEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpSelectClickEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageContextMenu"), + Class< DpMessageContextMenuEvent, NoConstructor< DpMessageContextMenuEvent > >(vm, SqDpMessageContextMenuEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageContextMenuEvent::Fn) + .Func(_SC("_tostring"), &DpMessageContextMenuEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageContextMenuEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("UserContextMenu"), + Class< DpUserContextMenuEvent, NoConstructor< DpUserContextMenuEvent > >(vm, SqDpUserContextMenuEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpUserContextMenuEvent::Fn) + .Func(_SC("_tostring"), &DpUserContextMenuEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpUserContextMenuEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("FormSubmit"), + Class< DpFormSubmitEvent, NoConstructor< DpFormSubmitEvent > >(vm, SqDpFormSubmitEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpFormSubmitEvent::Fn) + .Func(_SC("_tostring"), &DpFormSubmitEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpFormSubmitEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildDelete"), + Class< DpGuildDeleteEvent, NoConstructor< DpGuildDeleteEvent > >(vm, SqDpGuildDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpGuildDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ChannelDelete"), + Class< DpChannelDeleteEvent, NoConstructor< DpChannelDeleteEvent > >(vm, SqDpChannelDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpChannelDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpChannelDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpChannelDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ChannelUpdate"), + Class< DpChannelUpdateEvent, NoConstructor< DpChannelUpdateEvent > >(vm, SqDpChannelUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpChannelUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpChannelUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpChannelUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("Ready"), + Class< DpReadyEvent, NoConstructor< DpReadyEvent > >(vm, SqDpReadyEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpReadyEvent::Fn) + .Func(_SC("_tostring"), &DpReadyEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpReadyEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageDelete"), + Class< DpMessageDeleteEvent, NoConstructor< DpMessageDeleteEvent > >(vm, SqDpMessageDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpMessageDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildMemberRemove"), + Class< DpGuildMemberRemoveEvent, NoConstructor< DpGuildMemberRemoveEvent > >(vm, SqDpGuildMemberRemoveEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildMemberRemoveEvent::Fn) + .Func(_SC("_tostring"), &DpGuildMemberRemoveEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildMemberRemoveEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("Resumed"), + Class< DpResumedEvent, NoConstructor< DpResumedEvent > >(vm, SqDpResumedEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpResumedEvent::Fn) + .Func(_SC("_tostring"), &DpResumedEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpResumedEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildRoleCreate"), + Class< DpGuildRoleCreateEvent, NoConstructor< DpGuildRoleCreateEvent > >(vm, SqDpGuildRoleCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildRoleCreateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildRoleCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildRoleCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("TypingStart"), + Class< DpTypingStartEvent, NoConstructor< DpTypingStartEvent > >(vm, SqDpTypingStartEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpTypingStartEvent::Fn) + .Func(_SC("_tostring"), &DpTypingStartEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpTypingStartEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageReactionAdd"), + Class< DpMessageReactionAddEvent, NoConstructor< DpMessageReactionAddEvent > >(vm, SqDpMessageReactionAddEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageReactionAddEvent::Fn) + .Func(_SC("_tostring"), &DpMessageReactionAddEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageReactionAddEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildMembersChunk"), + Class< DpGuildMembersChunkEvent, NoConstructor< DpGuildMembersChunkEvent > >(vm, SqDpGuildMembersChunkEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildMembersChunkEvent::Fn) + .Func(_SC("_tostring"), &DpGuildMembersChunkEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildMembersChunkEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageReactionRemove"), + Class< DpMessageReactionRemoveEvent, NoConstructor< DpMessageReactionRemoveEvent > >(vm, SqDpMessageReactionRemoveEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageReactionRemoveEvent::Fn) + .Func(_SC("_tostring"), &DpMessageReactionRemoveEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageReactionRemoveEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildCreate"), + Class< DpGuildCreateEvent, NoConstructor< DpGuildCreateEvent > >(vm, SqDpGuildCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildCreateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ChannelCreate"), + Class< DpChannelCreateEvent, NoConstructor< DpChannelCreateEvent > >(vm, SqDpChannelCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpChannelCreateEvent::Fn) + .Func(_SC("_tostring"), &DpChannelCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpChannelCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageReactionRemoveEmoji"), + Class< DpMessageReactionRemoveEmojiEvent, NoConstructor< DpMessageReactionRemoveEmojiEvent > >(vm, SqDpMessageReactionRemoveEmojiEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageReactionRemoveEmojiEvent::Fn) + .Func(_SC("_tostring"), &DpMessageReactionRemoveEmojiEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageReactionRemoveEmojiEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageDeleteDulk"), + Class< DpMessageDeleteDulkEvent, NoConstructor< DpMessageDeleteDulkEvent > >(vm, SqDpMessageDeleteDulkEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageDeleteDulkEvent::Fn) + .Func(_SC("_tostring"), &DpMessageDeleteDulkEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageDeleteDulkEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildRoleUpdate"), + Class< DpGuildRoleUpdateEvent, NoConstructor< DpGuildRoleUpdateEvent > >(vm, SqDpGuildRoleUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildRoleUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildRoleUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildRoleUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildRoleDelete"), + Class< DpGuildRoleDeleteEvent, NoConstructor< DpGuildRoleDeleteEvent > >(vm, SqDpGuildRoleDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildRoleDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpGuildRoleDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildRoleDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ChannelPinsUpdate"), + Class< DpChannelPinsUpdateEvent, NoConstructor< DpChannelPinsUpdateEvent > >(vm, SqDpChannelPinsUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpChannelPinsUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpChannelPinsUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpChannelPinsUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageReactionRemoveAll"), + Class< DpMessageReactionRemoveAllEvent, NoConstructor< DpMessageReactionRemoveAllEvent > >(vm, SqDpMessageReactionRemoveAllEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageReactionRemoveAllEvent::Fn) + .Func(_SC("_tostring"), &DpMessageReactionRemoveAllEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageReactionRemoveAllEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceServerUpdate"), + Class< DpVoiceServerUpdateEvent, NoConstructor< DpVoiceServerUpdateEvent > >(vm, SqDpVoiceServerUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceServerUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceServerUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceServerUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildEmojisUpdate"), + Class< DpGuildEmojisUpdateEvent, NoConstructor< DpGuildEmojisUpdateEvent > >(vm, SqDpGuildEmojisUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildEmojisUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildEmojisUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildEmojisUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildStickersUpdate"), + Class< DpGuildStickersUpdateEvent, NoConstructor< DpGuildStickersUpdateEvent > >(vm, SqDpGuildStickersUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildStickersUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildStickersUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildStickersUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("PresenceUpdate"), + Class< DpPresenceUpdateEvent, NoConstructor< DpPresenceUpdateEvent > >(vm, SqDpPresenceUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpPresenceUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpPresenceUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpPresenceUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("WebhooksUpdate"), + Class< DpWebhooksUpdateEvent, NoConstructor< DpWebhooksUpdateEvent > >(vm, SqDpWebhooksUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpWebhooksUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpWebhooksUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpWebhooksUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("AutomodRuleCreate"), + Class< DpAutomodRuleCreateEvent, NoConstructor< DpAutomodRuleCreateEvent > >(vm, SqDpAutomodRuleCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpAutomodRuleCreateEvent::Fn) + .Func(_SC("_tostring"), &DpAutomodRuleCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpAutomodRuleCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("AutomodRuleUpdate"), + Class< DpAutomodRuleUpdateEvent, NoConstructor< DpAutomodRuleUpdateEvent > >(vm, SqDpAutomodRuleUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpAutomodRuleUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpAutomodRuleUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpAutomodRuleUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("AutomodRuleDelete"), + Class< DpAutomodRuleDeleteEvent, NoConstructor< DpAutomodRuleDeleteEvent > >(vm, SqDpAutomodRuleDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpAutomodRuleDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpAutomodRuleDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpAutomodRuleDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("AutomodRuleExecute"), + Class< DpAutomodRuleExecuteEvent, NoConstructor< DpAutomodRuleExecuteEvent > >(vm, SqDpAutomodRuleExecuteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpAutomodRuleExecuteEvent::Fn) + .Func(_SC("_tostring"), &DpAutomodRuleExecuteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpAutomodRuleExecuteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildMemberAdd"), + Class< DpGuildMemberAddEvent, NoConstructor< DpGuildMemberAddEvent > >(vm, SqDpGuildMemberAddEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildMemberAddEvent::Fn) + .Func(_SC("_tostring"), &DpGuildMemberAddEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildMemberAddEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("InviteDelete"), + Class< DpInviteDeleteEvent, NoConstructor< DpInviteDeleteEvent > >(vm, SqDpInviteDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpInviteDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpInviteDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpInviteDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildUpdate"), + Class< DpGuildUpdateEvent, NoConstructor< DpGuildUpdateEvent > >(vm, SqDpGuildUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildIntegrationsUpdate"), + Class< DpGuildIntegrationsUpdateEvent, NoConstructor< DpGuildIntegrationsUpdateEvent > >(vm, SqDpGuildIntegrationsUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildIntegrationsUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildIntegrationsUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildIntegrationsUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildMemberUpdate"), + Class< DpGuildMemberUpdateEvent, NoConstructor< DpGuildMemberUpdateEvent > >(vm, SqDpGuildMemberUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildMemberUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildMemberUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildMemberUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("InviteCreate"), + Class< DpInviteCreateEvent, NoConstructor< DpInviteCreateEvent > >(vm, SqDpInviteCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpInviteCreateEvent::Fn) + .Func(_SC("_tostring"), &DpInviteCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpInviteCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageUpdate"), + Class< DpMessageUpdateEvent, NoConstructor< DpMessageUpdateEvent > >(vm, SqDpMessageUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpMessageUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("UserUpdate"), + Class< DpUserUpdateEvent, NoConstructor< DpUserUpdateEvent > >(vm, SqDpUserUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpUserUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpUserUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpUserUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("MessageCreate"), + Class< DpMessageCreateEvent, NoConstructor< DpMessageCreateEvent > >(vm, SqDpMessageCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpMessageCreateEvent::Fn) + .Func(_SC("_tostring"), &DpMessageCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpMessageCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildAuditLogEntryCreate"), + Class< DpGuildAuditLogEntryCreateEvent, NoConstructor< DpGuildAuditLogEntryCreateEvent > >(vm, SqDpGuildAuditLogEntryCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildAuditLogEntryCreateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildAuditLogEntryCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildAuditLogEntryCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildBanAdd"), + Class< DpGuildBanAddEvent, NoConstructor< DpGuildBanAddEvent > >(vm, SqDpGuildBanAddEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildBanAddEvent::Fn) + .Func(_SC("_tostring"), &DpGuildBanAddEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildBanAddEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildBanRemove"), + Class< DpGuildBanRemoveEvent, NoConstructor< DpGuildBanRemoveEvent > >(vm, SqDpGuildBanRemoveEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildBanRemoveEvent::Fn) + .Func(_SC("_tostring"), &DpGuildBanRemoveEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildBanRemoveEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("IntegrationCreate"), + Class< DpIntegrationCreateEvent, NoConstructor< DpIntegrationCreateEvent > >(vm, SqDpIntegrationCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpIntegrationCreateEvent::Fn) + .Func(_SC("_tostring"), &DpIntegrationCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpIntegrationCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("IntegrationUpdate"), + Class< DpIntegrationUpdateEvent, NoConstructor< DpIntegrationUpdateEvent > >(vm, SqDpIntegrationUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpIntegrationUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpIntegrationUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpIntegrationUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("IntegrationDelete"), + Class< DpIntegrationDeleteEvent, NoConstructor< DpIntegrationDeleteEvent > >(vm, SqDpIntegrationDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpIntegrationDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpIntegrationDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpIntegrationDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ThreadCreate"), + Class< DpThreadCreateEvent, NoConstructor< DpThreadCreateEvent > >(vm, SqDpThreadCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpThreadCreateEvent::Fn) + .Func(_SC("_tostring"), &DpThreadCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpThreadCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ThreadUpdate"), + Class< DpThreadUpdateEvent, NoConstructor< DpThreadUpdateEvent > >(vm, SqDpThreadUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpThreadUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpThreadUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpThreadUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ThreadDelete"), + Class< DpThreadDeleteEvent, NoConstructor< DpThreadDeleteEvent > >(vm, SqDpThreadDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpThreadDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpThreadDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpThreadDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ThreadListSync"), + Class< DpThreadListSyncEvent, NoConstructor< DpThreadListSyncEvent > >(vm, SqDpThreadListSyncEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpThreadListSyncEvent::Fn) + .Func(_SC("_tostring"), &DpThreadListSyncEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpThreadListSyncEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ThreadMemberUpdate"), + Class< DpThreadMemberUpdateEvent, NoConstructor< DpThreadMemberUpdateEvent > >(vm, SqDpThreadMemberUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpThreadMemberUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpThreadMemberUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpThreadMemberUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ThreadMembersUpdate"), + Class< DpThreadMembersUpdateEvent, NoConstructor< DpThreadMembersUpdateEvent > >(vm, SqDpThreadMembersUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpThreadMembersUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpThreadMembersUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpThreadMembersUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildScheduledEventCreate"), + Class< DpGuildScheduledEventCreateEvent, NoConstructor< DpGuildScheduledEventCreateEvent > >(vm, SqDpGuildScheduledEventCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildScheduledEventCreateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildScheduledEventCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildScheduledEventCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildScheduledEventUpdate"), + Class< DpGuildScheduledEventUpdateEvent, NoConstructor< DpGuildScheduledEventUpdateEvent > >(vm, SqDpGuildScheduledEventUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildScheduledEventUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpGuildScheduledEventUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildScheduledEventUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildScheduledEventDelete"), + Class< DpGuildScheduledEventDeleteEvent, NoConstructor< DpGuildScheduledEventDeleteEvent > >(vm, SqDpGuildScheduledEventDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildScheduledEventDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpGuildScheduledEventDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildScheduledEventDeleteEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildScheduledEventUserAdd"), + Class< DpGuildScheduledEventUserAddEvent, NoConstructor< DpGuildScheduledEventUserAddEvent > >(vm, SqDpGuildScheduledEventUserAddEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildScheduledEventUserAddEvent::Fn) + .Func(_SC("_tostring"), &DpGuildScheduledEventUserAddEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildScheduledEventUserAddEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("GuildScheduledEventUserRemove"), + Class< DpGuildScheduledEventUserRemoveEvent, NoConstructor< DpGuildScheduledEventUserRemoveEvent > >(vm, SqDpGuildScheduledEventUserRemoveEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildScheduledEventUserRemoveEvent::Fn) + .Func(_SC("_tostring"), &DpGuildScheduledEventUserRemoveEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpGuildScheduledEventUserRemoveEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceBufferSend"), + Class< DpVoiceBufferSendEvent, NoConstructor< DpVoiceBufferSendEvent > >(vm, SqDpVoiceBufferSendEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceBufferSendEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceBufferSendEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceBufferSendEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceUserTalking"), + Class< DpVoiceUserTalkingEvent, NoConstructor< DpVoiceUserTalkingEvent > >(vm, SqDpVoiceUserTalkingEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceUserTalkingEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceUserTalkingEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceUserTalkingEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceReady"), + Class< DpVoiceReadyEvent, NoConstructor< DpVoiceReadyEvent > >(vm, SqDpVoiceReadyEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceReadyEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceReadyEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceReadyEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceReceive"), + Class< DpVoiceReceiveEvent, NoConstructor< DpVoiceReceiveEvent > >(vm, SqDpVoiceReceiveEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceReceiveEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceReceiveEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceReceiveEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceReceive"), + Class< DpVoiceReceiveCombinedEvent, NoConstructor< DpVoiceReceiveCombinedEvent > >(vm, SqDpVoiceReceiveCombinedEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceReceiveCombinedEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceReceiveCombinedEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceReceiveCombinedEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceTrackMarker"), + Class< DpVoiceTrackMarkerEvent, NoConstructor< DpVoiceTrackMarkerEvent > >(vm, SqDpVoiceTrackMarkerEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceTrackMarkerEvent::Fn) + .Func(_SC("_tostring"), &DpVoiceTrackMarkerEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpVoiceTrackMarkerEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("StageInstanceCreate"), + Class< DpStageInstanceCreateEvent, NoConstructor< DpStageInstanceCreateEvent > >(vm, SqDpStageInstanceCreateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpStageInstanceCreateEvent::Fn) + .Func(_SC("_tostring"), &DpStageInstanceCreateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpStageInstanceCreateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("StageInstanceUpdate"), + Class< DpStageInstanceUpdateEvent, NoConstructor< DpStageInstanceUpdateEvent > >(vm, SqDpStageInstanceUpdateEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpStageInstanceUpdateEvent::Fn) + .Func(_SC("_tostring"), &DpStageInstanceUpdateEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpStageInstanceUpdateEvent::GetRawEvent) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("StageInstanceDelete"), + Class< DpStageInstanceDeleteEvent, NoConstructor< DpStageInstanceDeleteEvent > >(vm, SqDpStageInstanceDeleteEvent::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpStageInstanceDeleteEvent::Fn) + .Func(_SC("_tostring"), &DpStageInstanceDeleteEvent::GetRawEvent) + // Member Properties + .Prop(_SC("Raw"), &DpStageInstanceDeleteEvent::GetRawEvent) + ); +} + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Events.hpp b/module/Library/Discord/Events.hpp new file mode 100644 index 00000000..f006cf57 --- /dev/null +++ b/module/Library/Discord/Events.hpp @@ -0,0 +1,2716 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Constants.hpp" +#include "Library/Discord/Channel.hpp" +#include "Library/Discord/Client.hpp" +#include "Library/Discord/Command.hpp" +#include "Library/Discord/Guild.hpp" +#include "Library/Discord/Integration.hpp" +#include "Library/Discord/Message.hpp" +#include "Library/Discord/Misc.hpp" +#include "Library/Discord/Role.hpp" +#include "Library/Discord/User.hpp" + +// ------------------------------------------------------------------------------------------------ +#include +#include + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +/* ------------------------------------------------------------------------------------------------ + * Base class of an event handler. +*/ +struct DpEventBase +{ + /* -------------------------------------------------------------------------------------------- + * Raw event text. + */ + std::string mRaw{}; + + /* -------------------------------------------------------------------------------------------- + * Shard the event came from. + */ + dpp::discord_client * mFrom{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpEventBase() noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpEventBase(const dpp::event_dispatch_t & d) noexcept + : mRaw(d.raw_event), mFrom(d.from) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpEventBase(const DpEventBase &) noexcept = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor (disabled). + */ + DpEventBase(DpEventBase &&) noexcept = delete; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + virtual ~DpEventBase() { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpEventBase & operator = (const DpEventBase &) noexcept = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator (disabled). + */ + DpEventBase & operator = (DpEventBase &&) noexcept = delete; + /* -------------------------------------------------------------------------------------------- + * Retrieve the associated event ID. + */ + SQMOD_NODISCARD virtual int GetEventID() const = 0; + /* -------------------------------------------------------------------------------------------- + * Retrieve the associated event name. + */ + SQMOD_NODISCARD virtual std::string_view GetEventName() const = 0; + /* -------------------------------------------------------------------------------------------- + * Transform the script object itself to a script object. + */ + SQMOD_NODISCARD virtual LightObj ToScriptObject() = 0; + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. Release associated resources. + */ + virtual void Cleanup() + { + mFrom = nullptr; + } +}; + +/* ------------------------------------------------------------------------------------------------ + * Middleman between event implementation and event base where common functionality that depends + * on the implementation type information can be added once. +*/ +template < class T > struct DpEvent : public DpEventBase +{ + using Info = T; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpEvent() noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpEvent(const typename T::Type & d) noexcept + : DpEventBase(d) + { } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const + { + if (!DpEvent::mFrom) + { + const auto & name = T::Name; + STHROWF("Invalid discord [{}] event handle", name); + } + } + // -------------------------------------------------------------------------------------------- + using DpEventBase::Cleanup; + /* -------------------------------------------------------------------------------------------- + * Retrieve the associated event ID. + */ + SQMOD_NODISCARD int GetEventID() const noexcept override + { + return T::ID; + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the associated event name. + */ + SQMOD_NODISCARD std::string_view GetEventName() const noexcept override + { + return T::Name; + } +}; + +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceStateUpdateEvent : public DpEvent< DpVoiceStateUpdateEventInfo > +{ + using Type = dpp::voice_state_update_t; + using Base = DpEvent< DpVoiceStateUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + dpp::voicestate mState{}; + // -------------------------------------------------------------------------------------------- + LightObj mSqState{}; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceStateUpdateEvent(const Type & d) noexcept + : Base(d), mState(d.state), mSqState() + { + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a reference to it. + */ + SQMOD_NODISCARD DpVoiceStateUpdateEvent & Valid() { Base::Validate(); return *this; } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD const DpVoiceStateUpdateEvent & Valid() const { Base::Validate(); return *this; } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + if (!mSqState.IsNull()) + { + mSqState.CastI< DpVoiceState >()->Cleanup(); + // Release script resources + mSqState.Release(); + } + // Allow the base to cleanup as well + Base::Cleanup(); + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the voice state. + */ + SQMOD_NODISCARD LightObj & GetState() + { + // Is the script object already cached? + if (Valid().mSqState.IsNull()) + { + mSqState = LightObj{SqTypeIdentity< DpVoiceState >{}, SqVM(), &mState, false}; + } + // Return the associated script object + return mSqState; + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceClientDisconnectEvent : public DpEvent< DpVoiceClientDisconnectEventInfo > +{ + using Type = dpp::voice_client_disconnect_t; + using Base = DpEvent< DpVoiceClientDisconnectEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceClientDisconnectEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceClientSpeakingEvent : public DpEvent< DpVoiceClientSpeakingEventInfo > +{ + using Type = dpp::voice_client_speaking_t; + using Base = DpEvent< DpVoiceClientSpeakingEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceClientSpeakingEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpLogEvent : public DpEvent< DpLogEventInfo > +{ + using Type = dpp::log_t; + using Base = DpEvent< DpLogEventInfo >; + // -------------------------------------------------------------------------------------------- + SQInteger mSeverity{0}; + std::string mMessage{}; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpLogEvent(const Type & d) noexcept + : Base(d), mSeverity(d.severity), mMessage(d.message) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } + /* -------------------------------------------------------------------------------------------- + * Retrieve log severity. + */ + SQMOD_NODISCARD SQInteger GetSeverity() const { return mSeverity; } + /* -------------------------------------------------------------------------------------------- + * Retrieve log message. + */ + SQMOD_NODISCARD const std::string & GetMessage() const { return mMessage; } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildJoinRequestDeleteEvent : public DpEvent< DpGuildJoinRequestDeleteEventInfo > +{ + using Type = dpp::guild_join_request_delete_t; + using Base = DpEvent< DpGuildJoinRequestDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildJoinRequestDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpInteractionCreateEvent : public DpEvent< DpInteractionCreateEventInfo > +{ + using Type = dpp::interaction_create_t; + using Base = DpEvent< DpInteractionCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpInteractionCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpSlashCommandEvent : public DpEvent< DpSlashCommandEventInfo > +{ + using Type = dpp::slashcommand_t; + using Base = DpEvent< DpSlashCommandEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpSlashCommandEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpButtonClickEvent : public DpEvent< DpButtonClickEventInfo > +{ + using Type = dpp::button_click_t; + using Base = DpEvent< DpButtonClickEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpButtonClickEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpAutoCompleteEvent : public DpEvent< DpAutoCompleteEventInfo > +{ + using Type = dpp::autocomplete_t; + using Base = DpEvent< DpAutoCompleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpAutoCompleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpSelectClickEvent : public DpEvent< DpSelectClickEventInfo > +{ + using Type = dpp::select_click_t; + using Base = DpEvent< DpSelectClickEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpSelectClickEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageContextMenuEvent : public DpEvent< DpMessageContextMenuEventInfo > +{ + using Type = dpp::message_context_menu_t; + using Base = DpEvent< DpMessageContextMenuEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageContextMenuEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpUserContextMenuEvent : public DpEvent< DpUserContextMenuEventInfo > +{ + using Type = dpp::user_context_menu_t; + using Base = DpEvent< DpUserContextMenuEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpUserContextMenuEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpFormSubmitEvent : public DpEvent< DpFormSubmitEventInfo > +{ + using Type = dpp::form_submit_t; + using Base = DpEvent< DpFormSubmitEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpFormSubmitEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildDeleteEvent : public DpEvent< DpGuildDeleteEventInfo > +{ + using Type = dpp::guild_delete_t; + using Base = DpEvent< DpGuildDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpChannelDeleteEvent : public DpEvent< DpChannelDeleteEventInfo > +{ + using Type = dpp::channel_delete_t; + using Base = DpEvent< DpChannelDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpChannelDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpChannelUpdateEvent : public DpEvent< DpChannelUpdateEventInfo > +{ + using Type = dpp::channel_update_t; + using Base = DpEvent< DpChannelUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpChannelUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpReadyEvent : public DpEvent< DpReadyEventInfo > +{ + using Type = dpp::ready_t; + using Base = DpEvent< DpReadyEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpReadyEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageDeleteEvent : public DpEvent< DpMessageDeleteEventInfo > +{ + using Type = dpp::message_delete_t; + using Base = DpEvent< DpMessageDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildMemberRemoveEvent : public DpEvent< DpGuildMemberRemoveEventInfo > +{ + using Type = dpp::guild_member_remove_t; + using Base = DpEvent< DpGuildMemberRemoveEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildMemberRemoveEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpResumedEvent : public DpEvent< DpResumedEventInfo > +{ + using Type = dpp::resumed_t; + using Base = DpEvent< DpResumedEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpResumedEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildRoleCreateEvent : public DpEvent< DpGuildRoleCreateEventInfo > +{ + using Type = dpp::guild_role_create_t; + using Base = DpEvent< DpGuildRoleCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildRoleCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpTypingStartEvent : public DpEvent< DpTypingStartEventInfo > +{ + using Type = dpp::typing_start_t; + using Base = DpEvent< DpTypingStartEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpTypingStartEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageReactionAddEvent : public DpEvent< DpMessageReactionAddEventInfo > +{ + using Type = dpp::message_reaction_add_t; + using Base = DpEvent< DpMessageReactionAddEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageReactionAddEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildMembersChunkEvent : public DpEvent< DpGuildMembersChunkEventInfo > +{ + using Type = dpp::guild_members_chunk_t; + using Base = DpEvent< DpGuildMembersChunkEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildMembersChunkEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageReactionRemoveEvent : public DpEvent< DpMessageReactionRemoveEventInfo > +{ + using Type = dpp::message_reaction_remove_t; + using Base = DpEvent< DpMessageReactionRemoveEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageReactionRemoveEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildCreateEvent : public DpEvent< DpGuildCreateEventInfo > +{ + using Type = dpp::guild_create_t; + using Base = DpEvent< DpGuildCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpChannelCreateEvent : public DpEvent< DpChannelCreateEventInfo > +{ + using Type = dpp::channel_create_t; + using Base = DpEvent< DpChannelCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpChannelCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageReactionRemoveEmojiEvent : public DpEvent< DpMessageReactionRemoveEmojiEventInfo > +{ + using Type = dpp::message_reaction_remove_emoji_t; + using Base = DpEvent< DpMessageReactionRemoveEmojiEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageReactionRemoveEmojiEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageDeleteDulkEvent : public DpEvent< DpMessageDeleteDulkEventInfo > +{ + using Type = dpp::message_delete_bulk_t; + using Base = DpEvent< DpMessageDeleteDulkEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageDeleteDulkEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildRoleUpdateEvent : public DpEvent< DpGuildRoleUpdateEventInfo > +{ + using Type = dpp::guild_role_update_t; + using Base = DpEvent< DpGuildRoleUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildRoleUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildRoleDeleteEvent : public DpEvent< DpGuildRoleDeleteEventInfo > +{ + using Type = dpp::guild_role_delete_t; + using Base = DpEvent< DpGuildRoleDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildRoleDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpChannelPinsUpdateEvent : public DpEvent< DpChannelPinsUpdateEventInfo > +{ + using Type = dpp::channel_pins_update_t; + using Base = DpEvent< DpChannelPinsUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpChannelPinsUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageReactionRemoveAllEvent : public DpEvent< DpMessageReactionRemoveAllEventInfo > +{ + using Type = dpp::message_reaction_remove_all_t; + using Base = DpEvent< DpMessageReactionRemoveAllEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageReactionRemoveAllEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceServerUpdateEvent : public DpEvent< DpVoiceServerUpdateEventInfo > +{ + using Type = dpp::voice_server_update_t; + using Base = DpEvent< DpVoiceServerUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceServerUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildEmojisUpdateEvent : public DpEvent< DpGuildEmojisUpdateEventInfo > +{ + using Type = dpp::guild_emojis_update_t; + using Base = DpEvent< DpGuildEmojisUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildEmojisUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildStickersUpdateEvent : public DpEvent< DpGuildStickersUpdateEventInfo > +{ + using Type = dpp::guild_stickers_update_t; + using Base = DpEvent< DpGuildStickersUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildStickersUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpPresenceUpdateEvent : public DpEvent< DpPresenceUpdateEventInfo > +{ + using Type = dpp::presence_update_t; + using Base = DpEvent< DpPresenceUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpPresenceUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpWebhooksUpdateEvent : public DpEvent< DpWebhooksUpdateEventInfo > +{ + using Type = dpp::webhooks_update_t; + using Base = DpEvent< DpWebhooksUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpWebhooksUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpAutomodRuleCreateEvent : public DpEvent< DpAutomodRuleCreateEventInfo > +{ + using Type = dpp::automod_rule_create_t; + using Base = DpEvent< DpAutomodRuleCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpAutomodRuleCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpAutomodRuleUpdateEvent : public DpEvent< DpAutomodRuleUpdateEventInfo > +{ + using Type = dpp::automod_rule_update_t; + using Base = DpEvent< DpAutomodRuleUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpAutomodRuleUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpAutomodRuleDeleteEvent : public DpEvent< DpAutomodRuleDeleteEventInfo > +{ + using Type = dpp::automod_rule_delete_t; + using Base = DpEvent< DpAutomodRuleDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpAutomodRuleDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpAutomodRuleExecuteEvent : public DpEvent< DpAutomodRuleExecuteEventInfo > +{ + using Type = dpp::automod_rule_execute_t; + using Base = DpEvent< DpAutomodRuleExecuteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpAutomodRuleExecuteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildMemberAddEvent : public DpEvent< DpGuildMemberAddEventInfo > +{ + using Type = dpp::guild_member_add_t; + using Base = DpEvent< DpGuildMemberAddEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildMemberAddEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpInviteDeleteEvent : public DpEvent< DpInviteDeleteEventInfo > +{ + using Type = dpp::invite_delete_t; + using Base = DpEvent< DpInviteDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpInviteDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildUpdateEvent : public DpEvent< DpGuildUpdateEventInfo > +{ + using Type = dpp::guild_update_t; + using Base = DpEvent< DpGuildUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildIntegrationsUpdateEvent : public DpEvent< DpGuildIntegrationsUpdateEventInfo > +{ + using Type = dpp::guild_integrations_update_t; + using Base = DpEvent< DpGuildIntegrationsUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildIntegrationsUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildMemberUpdateEvent : public DpEvent< DpGuildMemberUpdateEventInfo > +{ + using Type = dpp::guild_member_update_t; + using Base = DpEvent< DpGuildMemberUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildMemberUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpInviteCreateEvent : public DpEvent< DpInviteCreateEventInfo > +{ + using Type = dpp::invite_create_t; + using Base = DpEvent< DpInviteCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpInviteCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageUpdateEvent : public DpEvent< DpMessageUpdateEventInfo > +{ + using Type = dpp::message_update_t; + using Base = DpEvent< DpMessageUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpUserUpdateEvent : public DpEvent< DpUserUpdateEventInfo > +{ + using Type = dpp::user_update_t; + using Base = DpEvent< DpUserUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpUserUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpMessageCreateEvent : public DpEvent< DpMessageCreateEventInfo > +{ + using Type = dpp::message_create_t; + using Base = DpEvent< DpMessageCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpMessageCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildAuditLogEntryCreateEvent : public DpEvent< DpGuildAuditLogEntryCreateEventInfo > +{ + using Type = dpp::guild_audit_log_entry_create_t; + using Base = DpEvent< DpGuildAuditLogEntryCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildAuditLogEntryCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildBanAddEvent : public DpEvent< DpGuildBanAddEventInfo > +{ + using Type = dpp::guild_ban_add_t; + using Base = DpEvent< DpGuildBanAddEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildBanAddEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildBanRemoveEvent : public DpEvent< DpGuildBanRemoveEventInfo > +{ + using Type = dpp::guild_ban_remove_t; + using Base = DpEvent< DpGuildBanRemoveEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildBanRemoveEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpIntegrationCreateEvent : public DpEvent< DpIntegrationCreateEventInfo > +{ + using Type = dpp::integration_create_t; + using Base = DpEvent< DpIntegrationCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpIntegrationCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpIntegrationUpdateEvent : public DpEvent< DpIntegrationUpdateEventInfo > +{ + using Type = dpp::integration_update_t; + using Base = DpEvent< DpIntegrationUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpIntegrationUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpIntegrationDeleteEvent : public DpEvent< DpIntegrationDeleteEventInfo > +{ + using Type = dpp::integration_delete_t; + using Base = DpEvent< DpIntegrationDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpIntegrationDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpThreadCreateEvent : public DpEvent< DpThreadCreateEventInfo > +{ + using Type = dpp::thread_create_t; + using Base = DpEvent< DpThreadCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpThreadCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpThreadUpdateEvent : public DpEvent< DpThreadUpdateEventInfo > +{ + using Type = dpp::thread_update_t; + using Base = DpEvent< DpThreadUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpThreadUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpThreadDeleteEvent : public DpEvent< DpThreadDeleteEventInfo > +{ + using Type = dpp::thread_delete_t; + using Base = DpEvent< DpThreadDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpThreadDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpThreadListSyncEvent : public DpEvent< DpThreadListSyncEventInfo > +{ + using Type = dpp::thread_list_sync_t; + using Base = DpEvent< DpThreadListSyncEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpThreadListSyncEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpThreadMemberUpdateEvent : public DpEvent< DpThreadMemberUpdateEventInfo > +{ + using Type = dpp::thread_member_update_t; + using Base = DpEvent< DpThreadMemberUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpThreadMemberUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpThreadMembersUpdateEvent : public DpEvent< DpThreadMembersUpdateEventInfo > +{ + using Type = dpp::thread_members_update_t; + using Base = DpEvent< DpThreadMembersUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpThreadMembersUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildScheduledEventCreateEvent : public DpEvent< DpGuildScheduledEventCreateEventInfo > +{ + using Type = dpp::guild_scheduled_event_create_t; + using Base = DpEvent< DpGuildScheduledEventCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildScheduledEventCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildScheduledEventUpdateEvent : public DpEvent< DpGuildScheduledEventUpdateEventInfo > +{ + using Type = dpp::guild_scheduled_event_update_t; + using Base = DpEvent< DpGuildScheduledEventUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildScheduledEventUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildScheduledEventDeleteEvent : public DpEvent< DpGuildScheduledEventDeleteEventInfo > +{ + using Type = dpp::guild_scheduled_event_delete_t; + using Base = DpEvent< DpGuildScheduledEventDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildScheduledEventDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildScheduledEventUserAddEvent : public DpEvent< DpGuildScheduledEventUserAddEventInfo > +{ + using Type = dpp::guild_scheduled_event_user_add_t; + using Base = DpEvent< DpGuildScheduledEventUserAddEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildScheduledEventUserAddEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpGuildScheduledEventUserRemoveEvent : public DpEvent< DpGuildScheduledEventUserRemoveEventInfo > +{ + using Type = dpp::guild_scheduled_event_user_remove_t; + using Base = DpEvent< DpGuildScheduledEventUserRemoveEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildScheduledEventUserRemoveEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceBufferSendEvent : public DpEvent< DpVoiceBufferSendEventInfo > +{ + using Type = dpp::voice_buffer_send_t; + using Base = DpEvent< DpVoiceBufferSendEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceBufferSendEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceUserTalkingEvent : public DpEvent< DpVoiceUserTalkingEventInfo > +{ + using Type = dpp::voice_user_talking_t; + using Base = DpEvent< DpVoiceUserTalkingEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceUserTalkingEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceReadyEvent : public DpEvent< DpVoiceReadyEventInfo > +{ + using Type = dpp::voice_ready_t; + using Base = DpEvent< DpVoiceReadyEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceReadyEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceReceiveEvent : public DpEvent< DpVoiceReceiveEventInfo > +{ + using Type = dpp::voice_receive_t; + using Base = DpEvent< DpVoiceReceiveEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceReceiveEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceReceiveCombinedEvent : public DpEvent< DpVoiceReceiveCombinedEventInfo > +{ + using Type = dpp::voice_receive_t; + using Base = DpEvent< DpVoiceReceiveCombinedEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceReceiveCombinedEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpVoiceTrackMarkerEvent : public DpEvent< DpVoiceTrackMarkerEventInfo > +{ + using Type = dpp::voice_track_marker_t; + using Base = DpEvent< DpVoiceTrackMarkerEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceTrackMarkerEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpStageInstanceCreateEvent : public DpEvent< DpStageInstanceCreateEventInfo > +{ + using Type = dpp::stage_instance_create_t; + using Base = DpEvent< DpStageInstanceCreateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpStageInstanceCreateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpStageInstanceUpdateEvent : public DpEvent< DpStageInstanceUpdateEventInfo > +{ + using Type = dpp::stage_instance_update_t; + using Base = DpEvent< DpStageInstanceUpdateEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpStageInstanceUpdateEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; +/* ------------------------------------------------------------------------------------------------ + * +*/ +struct DpStageInstanceDeleteEvent : public DpEvent< DpStageInstanceDeleteEventInfo > +{ + using Type = dpp::stage_instance_delete_t; + using Base = DpEvent< DpStageInstanceDeleteEventInfo >; + // -------------------------------------------------------------------------------------------- + + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpStageInstanceDeleteEvent(const Type & d) noexcept + : Base(d) + { + } + /* -------------------------------------------------------------------------------------------- + * Transform the event object itself to a script object. Used internally. + */ + SQMOD_NODISCARD LightObj ToScriptObject() override { return LightObj{this}; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the raw event. + */ + SQMOD_NODISCARD const std::string & GetRawEvent() const { return Base::mRaw; } + /* -------------------------------------------------------------------------------------------- + * Cleanup after the event was processed. + */ + void Cleanup() override + { + // Allow the base to cleanup as well + Base::Cleanup(); + } +}; + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Guild.cpp b/module/Library/Discord/Guild.cpp new file mode 100644 index 00000000..a40c697d --- /dev/null +++ b/module/Library/Discord/Guild.cpp @@ -0,0 +1,65 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Guild.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +// ------------------------------------------------------------------------------------------------ +SQMOD_DECL_TYPENAME(SqDpGuildMember, _SC("SqDiscordGuildMember")) +SQMOD_DECL_TYPENAME(SqDpGuild, _SC("SqDiscordGuild")) + +// ------------------------------------------------------------------------------------------------ +void Register_Discord_Guild(HSQUIRRELVM vm, Table & ns) +{ + ns.Bind(_SC("GuildMember"), + Class< DpGuildMember, NoConstructor< DpGuildMember > >(vm, SqDpGuildMember::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuildMember::Fn) + .Func(_SC("_cmp"), &DpGuildMember::SqCmp) + // Member Properties + .Prop(_SC("Valid"), &DpGuildMember::IsValid) + .Prop(_SC("JSON"), &DpGuildMember::BuildJSON) + .Prop(_SC("Nickname"), &DpGuildMember::GetNickname, &DpGuildMember::SetNickname) + .Prop(_SC("Roles"), &DpGuildMember::GetRoles) + .Prop(_SC("RolesCount"), &DpGuildMember::RolesCount) + .Prop(_SC("GuildID"), &DpGuildMember::GetGuildID, &DpGuildMember::SetGuildID) + .Prop(_SC("UserID"), &DpGuildMember::GetUserID, &DpGuildMember::SetUserID) + .Prop(_SC("Avatar"), &DpGuildMember::GetAvatar, &DpGuildMember::SetAvatar) + .Prop(_SC("CommunicationDisabledUntil"), &DpGuildMember::GetCommunicationDisabledUntil, &DpGuildMember::SetCommunicationDisabledUntil) + .Prop(_SC("JoinedAt"), &DpGuildMember::GetJoinedAt) + .Prop(_SC("PremiumSince"), &DpGuildMember::GetPremiumSince) + .Prop(_SC("Flags"), &DpGuildMember::GetFlags, &DpGuildMember::SetFlags) + .Prop(_SC("CommunicationDisabled"), &DpGuildMember::IsCommunicationDisabled) + .Prop(_SC("Deaf"), &DpGuildMember::GetDeaf, &DpGuildMember::SetDeaf) + .Prop(_SC("Muted"), &DpGuildMember::GetMuted, &DpGuildMember::SetMuted) + .Prop(_SC("IsPending"), &DpGuildMember::IsPending) + .Prop(_SC("HasAnimatedGuildAvatar"), &DpGuildMember::HasAnimatedGuildAvatar) + .Prop(_SC("Mention"), &DpGuildMember::GetMention) + // Member Methods + .Func(_SC("BuildJSON"), &DpGuildMember::BuildJSON_) + .Func(_SC("GetNickname"), &DpGuildMember::ApplyNickname) + .Func(_SC("AddRole"), &DpGuildMember::AddRole) + .Func(_SC("EachRole"), &DpGuildMember::EachRole) + .Func(_SC("ClearRoles"), &DpGuildMember::ClearRoles) + .Func(_SC("FilterRoles"), &DpGuildMember::FilterRoles) + .Func(_SC("GetFlags"), &DpGuildMember::ApplyFlags) + .Func(_SC("GetAvatarURL"), &DpGuildMember::GetAvatarURL) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("Guild"), + Class< DpGuild, NoConstructor< DpGuild > >(vm, SqDpGuild::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpGuild::Fn) + // Member Properties + .Prop(_SC("Valid"), &DpGuild::IsValid) + .Prop(_SC("JSON"), &DpGuild::BuildJSON) + .Prop(_SC("Name"), &DpGuild::GetName, &DpGuild::SetName) + .Prop(_SC("Description"), &DpGuild::GetDescription, &DpGuild::SetDescription) + // Member Methods + .Func(_SC("BuildJSON"), &DpGuild::BuildJSON_) + .Func(_SC("GetName"), &DpGuild::ApplyName) + .Func(_SC("GetDescription"), &DpGuild::ApplyDescription) + ); +} + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Guild.hpp b/module/Library/Discord/Guild.hpp new file mode 100644 index 00000000..1d06cbac --- /dev/null +++ b/module/Library/Discord/Guild.hpp @@ -0,0 +1,421 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +/* ------------------------------------------------------------------------------------------------ + * Represents a guild on Discord (AKA a server). +*/ +struct DpGuildMember +{ + using Ptr = std::unique_ptr< dpp::guild_member >; + /* -------------------------------------------------------------------------------------------- + * Referenced guild member instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpGuildMember() noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuildMember(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor. + */ + explicit DpGuildMember(const Ptr::element_type & o) noexcept + : DpGuildMember(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpGuildMember(Ptr::element_type && o) noexcept + : DpGuildMember(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpGuildMember(const DpGuildMember & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpGuildMember(DpGuildMember && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpGuildMember() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpGuildMember & operator = (const DpGuildMember & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpGuildMember & operator = (DpGuildMember && o) noexcept + { + if (this != &o) { + // Do we own this to try delete it? + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord voice state handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Build json representation of the object. + */ + SQMOD_NODISCARD std::string BuildJSON() const { return Valid().build_json(); } + SQMOD_NODISCARD std::string BuildJSON_(bool with_id) const { return Valid().build_json(with_id); } + /* -------------------------------------------------------------------------------------------- + * Check if this member is equal to another member object. + */ + SQMOD_NODISCARD SQInteger SqCmp(const DpGuildMember & o) const + { + if (Valid() == o.Valid()) { + return 0; + // Nonsense... + } else if (Valid().user_id > o.Valid().user_id) { + return 1; + } else { + return -1; + } + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the nickname, or empty string if they don't have a nickname on this guild. + */ + SQMOD_NODISCARD const std::string & GetNickname() const { return Valid().nickname; } + /* -------------------------------------------------------------------------------------------- + * Modify the nickname. + */ + void SetNickname(StackStrF & name) const { Valid().set_nickname(name.ToStr()); } + /* -------------------------------------------------------------------------------------------- + * Modify the nickname. + */ + DpGuildMember & ApplyNickname(StackStrF & name) { SetNickname(name); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the list of roles this user has on this guild. + */ + SQMOD_NODISCARD Array GetRoles() const + { + return Array(SqVM()).Reserve(static_cast< SQInteger >(Valid().roles.size())) + .AppendFromVector(Valid().roles); + } + + /* -------------------------------------------------------------------------------------------- + * Retrieve the number of roles. + */ + SQMOD_NODISCARD SQInteger RolesCount() const { return static_cast< SQInteger >(Valid().roles.size()); } + /* -------------------------------------------------------------------------------------------- + * Add a new role. + */ + DpGuildMember & AddRole(dpp::snowflake role) { Valid().roles.push_back(role); return *this; } + /* -------------------------------------------------------------------------------------------- + * Iterate all roles. + */ + DpGuildMember & EachRole(Function & fn) + { + for (const auto & a : Valid().roles) + { + fn.Execute(a); + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the number of roles. + */ + DpGuildMember & ClearRoles(dpp::snowflake role) { Valid().roles.clear(); return *this; } + /* -------------------------------------------------------------------------------------------- + * Filter roles. + */ + DpGuildMember & FilterRoles(Function & fn) + { + std::vector< dpp::snowflake > list; + // Reserve memory in advance + list.reserve(Valid().roles.size()); + // Process each role individually + for (const auto & role : Valid().roles) + { + auto ret = fn.Eval(role); + // (null || true) == keep & false == skip + if (!ret.IsNull() || !ret.template Cast< bool >()) + { + list.push_back(role); // Keep this role + } + } + // Use filtered roles + Valid().roles.swap(list); + // Allow chaining + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the guild id. + */ + SQMOD_NODISCARD dpp::snowflake GetGuildID() const { return Valid().guild_id; } + /* -------------------------------------------------------------------------------------------- + * Modify the guild id. + */ + void SetGuildID(dpp::snowflake id) { Valid().guild_id = id; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the user id. + */ + SQMOD_NODISCARD dpp::snowflake GetUserID() const { return Valid().user_id; } + /* -------------------------------------------------------------------------------------------- + * Modify the guild id. + */ + void SetUserID(dpp::snowflake id) { Valid().guild_id = id; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the user avatar (per-server avatar is a nitro only feature). + */ + SQMOD_NODISCARD const dpp::utility::iconhash & GetAvatar() const { return Valid().avatar; } + /* -------------------------------------------------------------------------------------------- + * Modify the user avatar (per-server avatar is a nitro only feature). + */ + void SetAvatar(const dpp::utility::iconhash & a) const { Valid().avatar = a; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the date and time when the time out will be removed; until then, they cannot interact with the guild. + */ + SQMOD_NODISCARD SQInteger GetCommunicationDisabledUntil() const + { + return std::chrono::time_point_cast< std::chrono::seconds >( + std::chrono::system_clock::from_time_t(Valid().communication_disabled_until) + ).time_since_epoch().count(); + } + /* -------------------------------------------------------------------------------------------- + * Assign a timestamp until communication is disabled. + */ + void SetCommunicationDisabledUntil(SQInteger ts) const + { + Valid().set_communication_disabled_until( + std::chrono::system_clock::to_time_t(std::chrono::time_point< std::chrono::system_clock >(std::chrono::seconds(ts))) + ); + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the date and time the user joined the guild. + */ + SQMOD_NODISCARD SQInteger GetJoinedAt() const + { + return std::chrono::time_point_cast< std::chrono::seconds >( + std::chrono::system_clock::from_time_t(Valid().joined_at) + ).time_since_epoch().count(); + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the date and time since the user is boosting. + */ + SQMOD_NODISCARD SQInteger GetPremiumSince() const + { + return std::chrono::time_point_cast< std::chrono::seconds >( + std::chrono::system_clock::from_time_t(Valid().premium_since) + ).time_since_epoch().count(); + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the guild flags. Built from the bitmask defined by SqDiscordGuildMemberFlags. + */ + SQMOD_NODISCARD SQInteger GetFlags() const { return static_cast< SQInteger >(Valid().flags); } + /* -------------------------------------------------------------------------------------------- + * Modify the guild flags. + */ + void SetFlags(SQInteger f) const { Valid().flags = static_cast< uint8_t >(f); } + /* -------------------------------------------------------------------------------------------- + * Modify the guild flags. + */ + DpGuildMember & ApplyFlags(SQInteger f) { SetFlags(f); return *this; } + /* -------------------------------------------------------------------------------------------- + * Check whether the user is in time-out (communication disabled). + */ + SQMOD_NODISCARD bool IsCommunicationDisabled() const { return Valid().is_communication_disabled(); } + /* -------------------------------------------------------------------------------------------- + * Check whether the user is deafened. + */ + SQMOD_NODISCARD bool GetDeaf() const { return Valid().is_deaf(); } + /* -------------------------------------------------------------------------------------------- + * Check whether the user is deafened. + */ + void SetDeaf(bool is_deafened) const { Valid().set_deaf(is_deafened); } + /* -------------------------------------------------------------------------------------------- + * Check whether the user is muted. + */ + SQMOD_NODISCARD bool GetMuted() const { return Valid().is_muted(); } + /* -------------------------------------------------------------------------------------------- + * Check whether the user is muted. + */ + void SetMuted(bool is_muted) const { Valid().set_mute(is_muted); } + /* -------------------------------------------------------------------------------------------- + * Check whether the user is pending verification by membership screening. + */ + SQMOD_NODISCARD bool IsPending() const { return Valid().is_pending(); } + /* -------------------------------------------------------------------------------------------- + * Check whether the the user's per-guild custom avatar is animated. + */ + SQMOD_NODISCARD bool HasAnimatedGuildAvatar() const { return Valid().has_animated_guild_avatar(); } + /* -------------------------------------------------------------------------------------------- + * Check whether the the user's per-guild custom avatar is animated. + */ + SQMOD_NODISCARD std::string GetAvatarURL(SQInteger size, SQInteger format, bool animated) const + { return Valid().get_avatar_url(static_cast< uint16_t >(size), static_cast< dpp::image_type >(format), animated); } + /* -------------------------------------------------------------------------------------------- + * Retrieve a ping/mention for the user by nickname. + */ + SQMOD_NODISCARD std::string GetMention() const { return Valid().get_mention(); } +}; + +/* ------------------------------------------------------------------------------------------------ + * Represents a guild on Discord (AKA a server) +*/ +struct DpGuild +{ + using Ptr = std::unique_ptr< dpp::guild >; + /* -------------------------------------------------------------------------------------------- + * Referenced guild instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpGuild() noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpGuild(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor. + */ + explicit DpGuild(const Ptr::element_type & o) noexcept + : DpGuild(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpGuild(Ptr::element_type && o) noexcept + : DpGuild(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpGuild(const DpGuild & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpGuild(DpGuild && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpGuild() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpGuild & operator = (const DpGuild & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpGuild & operator = (DpGuild && o) noexcept + { + if (this != &o) { + // Do we own this to try delete it? + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord guild handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Build json representation of the object. + */ + SQMOD_NODISCARD std::string BuildJSON() const { return Valid().build_json(); } + SQMOD_NODISCARD std::string BuildJSON_(bool with_id) const { return Valid().build_json(with_id); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the guild name. Min length: 2, Max length: 100 (not including leading/trailing spaces) + */ + SQMOD_NODISCARD const std::string & GetName() const { return Valid().name; } + /* -------------------------------------------------------------------------------------------- + * Modify the guild name. Min length: 2, Max length: 100 (not including leading/trailing spaces) + */ + void SetName(StackStrF & name) const { Valid().set_name(name.ToStr()); } + /* -------------------------------------------------------------------------------------------- + * Modify the guild name. Min length: 2, Max length: 100 (not including leading/trailing spaces) + */ + DpGuild & ApplyName(StackStrF & name) { SetName(name); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the server description. + */ + SQMOD_NODISCARD const std::string & GetDescription() const { return Valid().description; } + /* -------------------------------------------------------------------------------------------- + * Modify the server description. + */ + void SetDescription(StackStrF & description) const { Valid().description = description.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the server description. + */ + DpGuild & ApplyDescription(StackStrF & description) { SetDescription(description); return *this; } +}; + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Integration.cpp b/module/Library/Discord/Integration.cpp new file mode 100644 index 00000000..cb81cbeb --- /dev/null +++ b/module/Library/Discord/Integration.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Integration.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Integration.hpp b/module/Library/Discord/Integration.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/Integration.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Message.cpp b/module/Library/Discord/Message.cpp new file mode 100644 index 00000000..6e379222 --- /dev/null +++ b/module/Library/Discord/Message.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Message.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Message.hpp b/module/Library/Discord/Message.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/Message.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Misc.cpp b/module/Library/Discord/Misc.cpp new file mode 100644 index 00000000..0b47aaa0 --- /dev/null +++ b/module/Library/Discord/Misc.cpp @@ -0,0 +1,117 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Misc.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +// ------------------------------------------------------------------------------------------------ +SQMOD_DECL_TYPENAME(SqDpCachePolicy, _SC("SqDiscordCachePolicy")) +SQMOD_DECL_TYPENAME(SqDpUptime, _SC("SqDiscordUptime")) +SQMOD_DECL_TYPENAME(SqDpIconHash, _SC("SqDiscordIconHash")) +SQMOD_DECL_TYPENAME(SqDpVoiceState, _SC("SqDiscordVoiceState")) +SQMOD_DECL_TYPENAME(SqDpEmoji, _SC("SqDiscordEmoji")) + +// ------------------------------------------------------------------------------------------------ +void Register_Discord_Misc(HSQUIRRELVM vm, Table & ns) +{ + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("Uptime"), + Class< dpp::utility::uptime >(vm, SqDpUptime::Str) + // Constructors + .Ctor() + .Ctor< double >() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpUptime::Fn) + .Func(_SC("_tostring"), &dpp::utility::uptime::to_string) + // Member Variables + .Var(_SC("Days"), &dpp::utility::uptime::days) + .Var(_SC("Hours"), &dpp::utility::uptime::hours) + .Var(_SC("Minutes"), &dpp::utility::uptime::mins) + .Var(_SC("Seconds"), &dpp::utility::uptime::secs) + // Member Methods + .Func(_SC("ToSeconds"), &dpp::utility::uptime::to_secs) + .Func(_SC("ToMilliseconds"), &dpp::utility::uptime::to_msecs) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("IconHash"), + Class< dpp::utility::iconhash >(vm, SqDpIconHash::Str) + // Constructors + .Ctor() + .Ctor< const std::string & >() + .Ctor< uint64_t, uint64_t >() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpIconHash::Fn) + .Func(_SC("_tostring"), &dpp::utility::iconhash::to_string) + // Member Variables + .Var(_SC("High"), &dpp::utility::iconhash::first) + .Var(_SC("Low"), &dpp::utility::iconhash::second) + // Member Methods + .Func(_SC("Set"), &dpp::utility::iconhash::set) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("CachePolicy"), + Class< DpCachePolicy >(vm, SqDpCachePolicy::Str) + // Constructors + .Ctor() + .Ctor< SQInteger >() + .Ctor< SQInteger, SQInteger >() + .Ctor< SQInteger, SQInteger, SQInteger >() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpCachePolicy::Fn) + // Member Variables + .Var(_SC("UserPolicy"), &DpCachePolicy::mUserPolicy) + .Var(_SC("EmojiPolicy"), &DpCachePolicy::mEmojiPolicy) + .Var(_SC("RolePolicy"), &DpCachePolicy::mRolePolicy) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("VoiceState"), + Class< DpVoiceState, NoConstructor< DpVoiceState > >(vm, SqDpVoiceState::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpVoiceState::Fn) + // Member Properties + .Prop(_SC("Valid"), &DpVoiceState::IsValid) + .Prop(_SC("JSON"), &DpVoiceState::BuildJSON) + .Prop(_SC("GuildID"), &DpVoiceState::GetGuildID) + .Prop(_SC("ChannelID"), &DpVoiceState::GetChannelID) + .Prop(_SC("UserID"), &DpVoiceState::GetUserID) + .Prop(_SC("SessionID"), &DpVoiceState::GetSessionID) + .Prop(_SC("Flags"), &DpVoiceState::GetFlags, &DpVoiceState::SetFlags) + .Prop(_SC("RequestToSpeak"), &DpVoiceState::GetRequestToSpeak) + .Prop(_SC("IsDeaf"), &DpVoiceState::IsDeaf) + .Prop(_SC("IsMute"), &DpVoiceState::IsMute) + .Prop(_SC("IsSelfMute"), &DpVoiceState::IsSelfMute) + .Prop(_SC("IsSelfDeaf"), &DpVoiceState::IsSelfDeaf) + .Prop(_SC("SelfStream"), &DpVoiceState::SelfStream) + .Prop(_SC("SelfVideo"), &DpVoiceState::SelfVideo) + .Prop(_SC("IsSuppressed"), &DpVoiceState::IsSuppressed) + // Member Methods + .Func(_SC("BuildJSON"), &DpVoiceState::BuildJSON_) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("Emoji"), + Class< DpEmoji, NoCopy< DpEmoji > >(vm, SqDpEmoji::Str) + // Constructors + .Ctor() + .Ctor< StackStrF &, dpp::snowflake, SQInteger >() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpEmoji::Fn) + // Member Properties + .Prop(_SC("Valid"), &DpEmoji::IsValid) + .Prop(_SC("JSON"), &DpEmoji::BuildJSON) + .Prop(_SC("Name"), &DpEmoji::GetName, &DpEmoji::SetName) + .Prop(_SC("ImageData"), &DpEmoji::GetImageData) + .Prop(_SC("RequiresColons"), &DpEmoji::GetRequiresColons) + .Prop(_SC("IsManaged"), &DpEmoji::GetIsManaged) + .Prop(_SC("IsAnimated"), &DpEmoji::GetIsAnimated) + .Prop(_SC("IsAvailable"), &DpEmoji::GetIsAvailable) + .Prop(_SC("Format"), &DpEmoji::Format) + .Prop(_SC("Mention"), &DpEmoji::GetMention) + // Member Methods + .Func(_SC("SetName"), &DpEmoji::ApplyName) + .Func(_SC("GetMention"), &DpEmoji::GetMention_) + .Func(_SC("BuildJSON"), &DpEmoji::BuildJSON_) + .Func(_SC("LoadImage"), &DpEmoji::LoadImage) + ); +} + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Misc.hpp b/module/Library/Discord/Misc.hpp new file mode 100644 index 00000000..1f632a3b --- /dev/null +++ b/module/Library/Discord/Misc.hpp @@ -0,0 +1,393 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Utilities.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +/* ------------------------------------------------------------------------------------------------ + * Represents the caching policy of the cluster. +*/ +struct DpCachePolicy +{ + SQInteger mUserPolicy{dpp::cp_aggressive}; + SQInteger mEmojiPolicy{dpp::cp_aggressive}; + SQInteger mRolePolicy{dpp::cp_aggressive}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpCachePolicy() noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpCachePolicy(SQInteger user) noexcept + : mUserPolicy(user), mEmojiPolicy(dpp::cp_aggressive), mRolePolicy(dpp::cp_aggressive) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + DpCachePolicy(SQInteger user, SQInteger emoji) noexcept + : mUserPolicy(user), mEmojiPolicy(emoji), mRolePolicy(dpp::cp_aggressive) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + DpCachePolicy(SQInteger user, SQInteger emoji, SQInteger role) noexcept + : mUserPolicy(user), mEmojiPolicy(emoji), mRolePolicy(role) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor. + */ + DpCachePolicy(const DpCachePolicy &) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Convert to native cache policy type. + */ + SQMOD_NODISCARD dpp::cache_policy_t ToNative() const noexcept + { + return dpp::cache_policy_t{ + static_cast< dpp::cache_policy_setting_t >(mUserPolicy), + static_cast< dpp::cache_policy_setting_t >(mEmojiPolicy), + static_cast< dpp::cache_policy_setting_t >(mRolePolicy) + }; + } +}; + +/* ------------------------------------------------------------------------------------------------ + * Represents the voice state of a user on a guild. + * These are stored in the DpGuild object, and accessible there, or via DpChannel::GetVoiceMembers. +*/ +struct DpVoiceState +{ + using Ptr = std::unique_ptr< dpp::voicestate >; + /* -------------------------------------------------------------------------------------------- + * Referenced voice state instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpVoiceState() noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceState(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVoiceState(const Ptr::element_type & o) noexcept + : DpVoiceState(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpVoiceState(Ptr::element_type && o) noexcept + : DpVoiceState(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpVoiceState(const DpVoiceState & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpVoiceState(DpVoiceState && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpVoiceState() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpVoiceState & operator = (const DpVoiceState & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpVoiceState & operator = (DpVoiceState && o) noexcept + { + if (this != &o) { + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord voice state handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the guild id this voice state is for (optional). + */ + SQMOD_NODISCARD dpp::snowflake GetGuildID() const { return Valid().guild_id; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the channel id this user is connected to (may be empty). + */ + SQMOD_NODISCARD dpp::snowflake GetChannelID() const { return Valid().channel_id; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the user id this voice state is for. + */ + SQMOD_NODISCARD dpp::snowflake GetUserID() const { return Valid().user_id; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the session id for this voice state. + */ + SQMOD_NODISCARD const std::string & GetSessionID() const { return Valid().session_id; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the voice state flags (see SqDiscordVoiceStateFlags). + */ + SQMOD_NODISCARD SQInteger GetFlags() const { return Valid().flags; } + /* -------------------------------------------------------------------------------------------- + * Modify the voice state flags (see SqDiscordVoiceStateFlags). + */ + void SetFlags(SQInteger flags) const { Valid().flags = flags; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the time at which the user requested to speak, or 0. + */ + SQMOD_NODISCARD SQInteger GetRequestToSpeak() const { + return static_cast< SQInteger >(std::chrono::duration_cast< std::chrono::seconds >( + std::chrono::system_clock::from_time_t(Valid().request_to_speak).time_since_epoch() + ).count()); + } + /* -------------------------------------------------------------------------------------------- + * Build json representation of the object. + */ + SQMOD_NODISCARD std::string BuildJSON() const { return Valid().build_json(); } + SQMOD_NODISCARD std::string BuildJSON_(bool with_id) const { return Valid().build_json(with_id); } + /* -------------------------------------------------------------------------------------------- + * Check if the user is deafened by the server. + */ + SQMOD_NODISCARD bool IsDeaf() const { return Valid().is_deaf(); } + /* -------------------------------------------------------------------------------------------- + * Check if the user is muted by the server. + */ + SQMOD_NODISCARD bool IsMute() const { return Valid().is_mute(); } + /* -------------------------------------------------------------------------------------------- + * Check if the user muted themselves. + */ + SQMOD_NODISCARD bool IsSelfMute() const { return Valid().is_self_mute(); } + /* -------------------------------------------------------------------------------------------- + * Check if the user deafened themselves. + */ + SQMOD_NODISCARD bool IsSelfDeaf() const { return Valid().is_self_deaf(); } + /* -------------------------------------------------------------------------------------------- + * Check if the user is streaming using "Go Live". + */ + SQMOD_NODISCARD bool SelfStream() const { return Valid().self_stream(); } + /* -------------------------------------------------------------------------------------------- + * Check if the user's camera is enabled. + */ + SQMOD_NODISCARD bool SelfVideo() const { return Valid().self_video(); } + /* -------------------------------------------------------------------------------------------- + * Check if user is suppressed. "HELP HELP I'M BEING SUPPRESSED!" + */ + SQMOD_NODISCARD bool IsSuppressed() const { return Valid().is_suppressed(); } +}; + + +/* ------------------------------------------------------------------------------------------------ + * Represents the voice state of a user on a guild. +*/ +struct DpEmoji +{ + using Ptr = std::unique_ptr< dpp::emoji >; + /* -------------------------------------------------------------------------------------------- + * Referenced voice state instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpEmoji() noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpEmoji(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpEmoji(const Ptr::element_type & o) noexcept + : DpEmoji(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpEmoji(Ptr::element_type && o) noexcept + : DpEmoji(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + DpEmoji(StackStrF & name, dpp::snowflake id, SQInteger flags) + : DpEmoji(new Ptr::element_type(name.ToStr(), id, static_cast< uint8_t >(flags)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpEmoji(const DpEmoji & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpEmoji(DpEmoji && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpEmoji() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpEmoji & operator = (const DpEmoji & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpEmoji & operator = (DpEmoji && o) noexcept + { + if (this != &o) { + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord voice state handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the name of the emoji. + */ + SQMOD_NODISCARD const std::string & GetName() const { return Valid().name; } + /* -------------------------------------------------------------------------------------------- + * Modify the name of the emoji. + */ + void SetName(StackStrF & name) const { Valid().name = name.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the name of the emoji. + */ + DpEmoji & ApplyName(StackStrF & name) { SetName(name); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the user who uploaded the emoji. + */ + SQMOD_NODISCARD dpp::snowflake GetUserID() const { return Valid().user_id; } + /* -------------------------------------------------------------------------------------------- + * Modify the user who uploaded the emoji. + */ + void SetUserID(dpp::snowflake id) const { Valid().user_id = id; } + /* -------------------------------------------------------------------------------------------- + * Modify the user who uploaded the emoji. + */ + DpEmoji & ApplyUserID(dpp::snowflake id) { SetUserID(id); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the flags for the emoji from SqDiscordEmojiFlags. + */ + SQMOD_NODISCARD SQInteger GetFlags() const { return Valid().flags; } + /* -------------------------------------------------------------------------------------------- + * Modify the flags for the emoji from SqDiscordEmojiFlags. + */ + void SetFlags(SQInteger flags) const { Valid().flags = static_cast< uint8_t >(flags); } + /* -------------------------------------------------------------------------------------------- + * Modify the flags for the emoji from SqDiscordEmojiFlags. + */ + DpEmoji & ApplyFlags(SQInteger flags) { SetFlags(flags); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the image data for the emoji if uploading. + */ + SQMOD_NODISCARD LightObj GetImageData() const { return !Valid().image_data ? LightObj{} : LightObj(*Valid().image_data); } + /* -------------------------------------------------------------------------------------------- + * Create a mentionable emoji. + */ + SQMOD_NODISCARD std::string GetMention_(StackStrF & name, dpp::snowflake id, bool is_animated = false) const + { return Valid().get_mention(name.ToStr(), id, is_animated); } + /* -------------------------------------------------------------------------------------------- + * Build json representation of the object. + */ + SQMOD_NODISCARD std::string BuildJSON() const { return Valid().build_json(); } + SQMOD_NODISCARD std::string BuildJSON_(bool with_id) const { return Valid().build_json(with_id); } + /* -------------------------------------------------------------------------------------------- + * Retrieve whether the Emoji requires colons. + */ + SQMOD_NODISCARD bool GetRequiresColons() const { return Valid().requires_colons(); } + /* -------------------------------------------------------------------------------------------- + * Retrieve whether the Emoji is managed. + */ + SQMOD_NODISCARD bool GetIsManaged() const { return Valid().is_managed(); } + /* -------------------------------------------------------------------------------------------- + * Retrieve whether the Emoji is animated. + */ + SQMOD_NODISCARD bool GetIsAnimated() const { return Valid().is_animated(); } + /* -------------------------------------------------------------------------------------------- + * Retrieve whether the Emoji is available. + */ + SQMOD_NODISCARD bool GetIsAvailable() const { return Valid().is_available(); } + /* -------------------------------------------------------------------------------------------- + * Load an image into the object as base64. + */ + DpEmoji & LoadImage(StackStrF & data, SQInteger type) { Valid().load_image(data.ToStr(), static_cast< dpp::image_type >(type)); return *this; } + /* -------------------------------------------------------------------------------------------- + * Format to name if unicode, name:id if has id or a:name:id if animated. + */ + SQMOD_NODISCARD std::string Format() const { return Valid().format(); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the mention/ping for the emoji. + */ + SQMOD_NODISCARD std::string GetMention() const { return Valid().get_mention(); } +}; + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Presence.cpp b/module/Library/Discord/Presence.cpp new file mode 100644 index 00000000..b12510dd --- /dev/null +++ b/module/Library/Discord/Presence.cpp @@ -0,0 +1,143 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Presence.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +// ------------------------------------------------------------------------------------------------ +SQMOD_DECL_TYPENAME(SqDpActivityButton, _SC("SqDiscordActivityButton")) +SQMOD_DECL_TYPENAME(SqDpActivityButtons, _SC("SqDiscordActivityButtons")) +SQMOD_DECL_TYPENAME(SqDpActivityAssets, _SC("SqDiscordActivityAssets")) +SQMOD_DECL_TYPENAME(SqDpActivitySecrets, _SC("SqDiscordActivitySecrets")) +SQMOD_DECL_TYPENAME(SqDpActivity, _SC("SqDiscordActivity")) +SQMOD_DECL_TYPENAME(SqDpActivities, _SC("SqDiscordActivities")) +SQMOD_DECL_TYPENAME(SqDpPresence, _SC("SqDiscordPresence")) + +// ------------------------------------------------------------------------------------------------ +void Register_Discord_Presence(HSQUIRRELVM vm, Table & ns) +{ + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ActivityButton"), + Class< DpActivityButton, NoCopy< DpActivityButton > >(vm, SqDpActivityButton::Str) + // Constructors + .Ctor() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpActivityButton::Fn) + // Member Properties + .Prop(_SC("Valid"), &DpActivityButton::IsValid) + .Prop(_SC("Label"), &DpActivityButton::GetLabel, &DpActivityButton::SetLabel) + .Prop(_SC("URL"), &DpActivityButton::GetURL, &DpActivityButton::SetURL) + // Member Methods + .Func(_SC("SetLabel"), &DpActivityButton::ApplyLabel) + .Func(_SC("SetURL"), &DpActivityButton::ApplyURL) + ); + // -------------------------------------------------------------------------------------------- + Register_Discord_VectorProxy< dpp::activity_button, DpActivityButton, SqDpActivityButton >(vm, ns, _SC("ActivityButtons")); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ActivityAssets"), + Class< DpActivityAssets, NoCopy< DpActivityAssets > >(vm, SqDpActivityAssets::Str) + // Constructors + .Ctor() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpActivityAssets::Fn) + // Member Properties + .Prop(_SC("Valid"), &DpActivityAssets::IsValid) + .Prop(_SC("LargeImage"), &DpActivityAssets::GetLargeImage, &DpActivityAssets::SetLargeImage) + .Prop(_SC("LargeText"), &DpActivityAssets::GetLargeText, &DpActivityAssets::SetLargeText) + .Prop(_SC("SmallImage"), &DpActivityAssets::GetSmallImage, &DpActivityAssets::SetSmallImage) + .Prop(_SC("SmallText"), &DpActivityAssets::GetSmallText, &DpActivityAssets::SetSmallText) + // Member Methods + .Func(_SC("SetLargeImage"), &DpActivityAssets::ApplyLargeImage) + .Func(_SC("SetLargeText"), &DpActivityAssets::ApplyLargeText) + .Func(_SC("SetSmallImage"), &DpActivityAssets::ApplySmallImage) + .Func(_SC("SetSmallText"), &DpActivityAssets::ApplySmallText) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("ActivitySecrets"), + Class< DpActivitySecrets, NoCopy< DpActivitySecrets > >(vm, SqDpActivitySecrets::Str) + // Constructors + .Ctor() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpActivitySecrets::Fn) + // Member Properties + .Prop(_SC("Valid"), &DpActivitySecrets::IsValid) + .Prop(_SC("Join"), &DpActivitySecrets::GetJoin, &DpActivitySecrets::SetJoin) + .Prop(_SC("Spectate"), &DpActivitySecrets::GetSpectate, &DpActivitySecrets::SetSpectate) + .Prop(_SC("Match"), &DpActivitySecrets::GetMatch, &DpActivitySecrets::SetMatch) + // Member Methods + .Func(_SC("SetJoin"), &DpActivitySecrets::ApplyJoin) + .Func(_SC("SetSpectate"), &DpActivitySecrets::ApplySpectate) + .Func(_SC("SetMatch"), &DpActivitySecrets::ApplyMatch) + ); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("Activity"), + Class< DpActivity, NoCopy< DpActivity > >(vm, SqDpActivity::Str) + // Constructors + .Ctor() + .Ctor< SQInteger, StackStrF &, StackStrF &, StackStrF & >() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpActivity::Fn) + // Member Properties + .Prop(_SC("Valid"), &DpActivity::IsValid) + .Prop(_SC("Name"), &DpActivity::GetName, &DpActivity::SetName) + .Prop(_SC("State"), &DpActivity::GetState, &DpActivity::SetState) + .Prop(_SC("Details"), &DpActivity::GetDetails, &DpActivity::SetDetails) + .Prop(_SC("Assets"), &DpActivity::GetAssets) + .Prop(_SC("Buttons"), &DpActivity::GetButtons) + .Prop(_SC("Emoji"), &DpActivity::GetEmoji) + .Prop(_SC("PartyID"), &DpActivity::GetPartyID) + .Prop(_SC("CurrentPartySize"), &DpActivity::GetCurrentPartySize) + .Prop(_SC("MaxPartySize"), &DpActivity::GetMaxPartySize) + .Prop(_SC("Secrets"), &DpActivity::GetSecrets) + .Prop(_SC("URL"), &DpActivity::GetURL, &DpActivity::SetURL) + .Prop(_SC("Type"), &DpActivity::GetType, &DpActivity::SetType) + .Prop(_SC("CreatedAt"), &DpActivity::GetCreatedAt, &DpActivity::SetCreatedAt) + .Prop(_SC("Start"), &DpActivity::GetStart, &DpActivity::SetStart) + .Prop(_SC("End"), &DpActivity::GetEnd, &DpActivity::SetEnd) + .Prop(_SC("ApplicationID"), &DpActivity::GetApplicationID) + .Prop(_SC("Flags"), &DpActivity::GetFlags, &DpActivity::SetFlags) + .Prop(_SC("Instance"), &DpActivity::IsInstance) + // Member Methods + .Func(_SC("SetName"), &DpActivity::ApplyName) + .Func(_SC("SetState"), &DpActivity::ApplyState) + .Func(_SC("SetDetails"), &DpActivity::ApplyDetails) + .Func(_SC("SetURL"), &DpActivity::ApplyURL) + .Func(_SC("SetType"), &DpActivity::ApplyType) + .Func(_SC("SetCreatedAt"), &DpActivity::ApplyCreatedAt) + .Func(_SC("SetStart"), &DpActivity::ApplyStart) + .Func(_SC("SetEnd"), &DpActivity::ApplyEnd) + .Func(_SC("SetFlags"), &DpActivity::ApplyFlags) + .Func(_SC("GetLargeAssetURL"), &DpActivity::GetLargeAssetURL) + .Func(_SC("GetSmallAssetURL"), &DpActivity::GetSmallAssetURL) + ); + // -------------------------------------------------------------------------------------------- + Register_Discord_VectorProxy< dpp::activity, DpActivity, SqDpActivities >(vm, ns, _SC("Activities")); + // -------------------------------------------------------------------------------------------- + ns.Bind(_SC("Presence"), + Class< DpPresence, NoCopy< DpPresence > >(vm, SqDpPresence::Str) + // Constructors + .Ctor() + .Ctor< SQInteger, DpActivity & >() + .Ctor< SQInteger, SQInteger, StackStrF & >() + // Meta-methods + .SquirrelFunc(_SC("_typename"), &SqDpPresence::Fn) + // Member Properties + .Prop(_SC("Valid"), &DpPresence::IsValid) + .Prop(_SC("JSON"), &DpPresence::BuildJSON) + .Prop(_SC("UserID"), &DpPresence::GetUserID, &DpPresence::SetUserID) + .Prop(_SC("GuildID"), &DpPresence::GetGuildID, &DpPresence::SetGuildID) + .Prop(_SC("Flags"), &DpPresence::GetFlags, &DpPresence::SetFlags) + .Prop(_SC("Activities"), &DpPresence::GetActivities) + .Prop(_SC("DesktopStatus"), &DpPresence::GetDesktopStatus) + .Prop(_SC("WebStatus"), &DpPresence::GetWebStatus) + .Prop(_SC("MobileStatus"), &DpPresence::GetMobileStatus) + .Prop(_SC("Status"), &DpPresence::GetStatus) + // Member Methods + .Func(_SC("SetUserID"), &DpPresence::ApplyUserID) + .Func(_SC("SetGuildID"), &DpPresence::ApplyGuildID) + .Func(_SC("SetFlags"), &DpPresence::ApplyFlags) + .Func(_SC("BuildJSON"), &DpVoiceState::BuildJSON_) + ); +} + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Presence.hpp b/module/Library/Discord/Presence.hpp new file mode 100644 index 00000000..0b5e8ddb --- /dev/null +++ b/module/Library/Discord/Presence.hpp @@ -0,0 +1,928 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Misc.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +/* ------------------------------------------------------------------------------------------------ + * An activity button is a custom button shown in the rich presence. Can be to join a game or whatever. +*/ +struct DpActivityButton +{ + using Ptr = std::unique_ptr< dpp::activity_button >; + /* -------------------------------------------------------------------------------------------- + * Referenced activity instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpActivityButton() noexcept + : DpActivityButton(new Ptr::element_type(), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpActivityButton(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor. + */ + explicit DpActivityButton(const Ptr::element_type & o) noexcept + : DpActivityButton(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpActivityButton(Ptr::element_type && o) noexcept + : DpActivityButton(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpActivityButton(const DpActivityButton & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpActivityButton(DpActivityButton && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpActivityButton() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpActivityButton & operator = (const DpActivityButton & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpActivityButton & operator = (DpActivityButton && o) noexcept + { + if (this != &o) { + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord activity button handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + + /* -------------------------------------------------------------------------------------------- + * Retrieve the text shown on the button (1-32 characters). + */ + SQMOD_NODISCARD const std::string & GetLabel() const { return Valid().label; } + /* -------------------------------------------------------------------------------------------- + * Modify the text shown on the button (1-32 characters). + */ + void SetLabel(StackStrF & label) const { Valid().label = label.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the text shown on the button (1-32 characters). + */ + DpActivityButton & ApplyLabel(StackStrF & label) { SetLabel(label); return *this; } + + /* -------------------------------------------------------------------------------------------- + * Retrieve the url opened when clicking the button (1-512 characters). It's may be empty. + */ + SQMOD_NODISCARD const std::string & GetURL() const { return Valid().url; } + /* -------------------------------------------------------------------------------------------- + * Modify the url opened when clicking the button (1-512 characters). + */ + void SetURL(StackStrF & url) const { Valid().url = url.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the url opened when clicking the button (1-512 characters). + */ + DpActivityButton & ApplyURL(StackStrF & url) { SetURL(url); return *this; } +}; + +/* ------------------------------------------------------------------------------------------------ + * An activity asset are the images and the hover text displayed in the rich presence. +*/ +struct DpActivityAssets +{ + using Ptr = std::unique_ptr< dpp::activity_assets >; + /* -------------------------------------------------------------------------------------------- + * Referenced activity instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpActivityAssets() noexcept + : DpActivityAssets(new Ptr::element_type(), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpActivityAssets(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor. + */ + explicit DpActivityAssets(const Ptr::element_type & o) noexcept + : DpActivityAssets(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpActivityAssets(Ptr::element_type && o) noexcept + : DpActivityAssets(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpActivityAssets(const DpActivityAssets & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpActivityAssets(DpActivityAssets && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpActivityAssets() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpActivityAssets & operator = (const DpActivityAssets & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpActivityAssets & operator = (DpActivityAssets && o) noexcept + { + if (this != &o) { + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord activity assets handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the large asset image which usually contain snowflake ID or prefixed image ID. + */ + SQMOD_NODISCARD const std::string & GetLargeImage() const { return Valid().large_image; } + /* -------------------------------------------------------------------------------------------- + * Modify the large asset image. + */ + void SetLargeImage(StackStrF & large_image) const { Valid().large_image = large_image.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the large asset image. + */ + DpActivityAssets & ApplyLargeImage(StackStrF & large_image) { SetLargeImage(large_image); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the text displayed when hovering over the large image of the activity. + */ + SQMOD_NODISCARD const std::string & GetLargeText() const { return Valid().large_text; } + /* -------------------------------------------------------------------------------------------- + * Modify the text displayed when hovering over the large image of the activity. + */ + void SetLargeText(StackStrF & large_text) const { Valid().large_text = large_text.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the text displayed when hovering over the large image of the activity. + */ + DpActivityAssets & ApplyLargeText(StackStrF & large_text) { SetLargeText(large_text); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the small asset image which usually contain snowflake ID or prefixed image ID. + */ + SQMOD_NODISCARD const std::string & GetSmallImage() const { return Valid().small_image; } + /* -------------------------------------------------------------------------------------------- + * Modify the small asset image. + */ + void SetSmallImage(StackStrF & small_image) const { Valid().small_image = small_image.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the small asset image. + */ + DpActivityAssets & ApplySmallImage(StackStrF & small_image) { SetSmallImage(small_image); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the text displayed when hovering over the small image of the activity. + */ + SQMOD_NODISCARD const std::string & GetSmallText() const { return Valid().small_text; } + /* -------------------------------------------------------------------------------------------- + * Modify the text displayed when hovering over the small image of the activity. + */ + void SetSmallText(StackStrF & small_text) const { Valid().small_text = small_text.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the text displayed when hovering over the small image of the activity. + */ + DpActivityAssets & ApplySmallText(StackStrF & small_text) { SetSmallText(small_text); return *this; } +}; + +/* ------------------------------------------------------------------------------------------------ + * Secrets for Rich Presence joining and spectating. +*/ +struct DpActivitySecrets +{ + using Ptr = std::unique_ptr< dpp::activity_secrets >; + /* -------------------------------------------------------------------------------------------- + * Referenced activity instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpActivitySecrets() noexcept + : DpActivitySecrets(new Ptr::element_type(), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpActivitySecrets(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor. + */ + explicit DpActivitySecrets(const Ptr::element_type & o) noexcept + : DpActivitySecrets(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpActivitySecrets(Ptr::element_type && o) noexcept + : DpActivitySecrets(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpActivitySecrets(const DpActivitySecrets & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpActivitySecrets(DpActivitySecrets && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpActivitySecrets() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpActivitySecrets & operator = (const DpActivitySecrets & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpActivitySecrets & operator = (DpActivitySecrets && o) noexcept + { + if (this != &o) { + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord activity secrets handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the secret for joining a party. + */ + SQMOD_NODISCARD const std::string & GetJoin() const { return Valid().join; } + /* -------------------------------------------------------------------------------------------- + * Modify the secret for joining a party. + */ + void SetJoin(StackStrF & join) const { Valid().join = join.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the secret for joining a party. + */ + DpActivitySecrets & ApplyJoin(StackStrF & join) { SetJoin(join); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the secret for spectating a game. + */ + SQMOD_NODISCARD const std::string & GetSpectate() const { return Valid().spectate; } + /* -------------------------------------------------------------------------------------------- + * Modify the secret for spectating a game. + */ + void SetSpectate(StackStrF & spectate) const { Valid().spectate = spectate.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the secret for spectating a game. + */ + DpActivitySecrets & ApplySpectate(StackStrF & spectate) { SetSpectate(spectate); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the secret for a specific instanced match. + */ + SQMOD_NODISCARD const std::string & GetMatch() const { return Valid().match; } + /* -------------------------------------------------------------------------------------------- + * Modify the secret for a specific instanced match. + */ + void SetMatch(StackStrF & match) const { Valid().match = match.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the secret for a specific instanced match. + */ + DpActivitySecrets & ApplyMatch(StackStrF & match) { SetMatch(match); return *this; } +}; + +/* ------------------------------------------------------------------------------------------------ + * An activity is a representation of what a user is doing. It might be a game, or a website, or a movie. Whatever. +*/ +struct DpActivity +{ + using Ptr = std::unique_ptr< dpp::activity >; + /* -------------------------------------------------------------------------------------------- + * Referenced activity instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + // -------------------------------------------------------------------------------------------- + using Buttons = DpVectorProxy< dpp::activity_button, DpActivityButton >; + // -------------------------------------------------------------------------------------------- + LightObj mSqAssets{}; + LightObj mSqButtons{}; + LightObj mSqEmoji{}; + LightObj mSqSecrets{}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpActivity() noexcept + : DpActivity(new Ptr::element_type(), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpActivity(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor. + */ + explicit DpActivity(const Ptr::element_type & o) noexcept + : DpActivity(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpActivity(Ptr::element_type && o) noexcept + : DpActivity(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + DpActivity(SQInteger type, StackStrF & name, StackStrF & state, StackStrF & url) + : DpActivity(new Ptr::element_type(static_cast< dpp::activity_type >(type), name.ToStr(), state.ToStr(), url.ToStr()), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpActivity(const DpActivity & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpActivity(DpActivity && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpActivity() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpActivity & operator = (const DpActivity & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpActivity & operator = (DpActivity && o) noexcept + { + if (this != &o) { + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Cleanup activity assets, if any + if (!mSqAssets.IsNull()) + { + mSqAssets.CastI< DpActivityAssets >()->Cleanup(); + // Release script resources + mSqAssets.Release(); + } + // Cleanup activity buttons, if any + if (!mSqButtons.IsNull()) + { + mSqButtons.CastI< Buttons >()->Cleanup(); + // Release script resources + mSqButtons.Release(); + } + // Cleanup activity emoji, if any + if (!mSqEmoji.IsNull()) + { + mSqEmoji.CastI< DpEmoji >()->Cleanup(); + // Release script resources + mSqEmoji.Release(); + } + // Cleanup activity secrets, if any + if (!mSqSecrets.IsNull()) + { + mSqSecrets.CastI< DpActivitySecrets >()->Cleanup(); + // Release script resources + mSqSecrets.Release(); + } + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord activity handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the name of the activity. e.g. "Vice City" + */ + SQMOD_NODISCARD const std::string & GetName() const { return Valid().name; } + /* -------------------------------------------------------------------------------------------- + * Modify the name of the activity. + */ + void SetName(StackStrF & name) const { Valid().name = name.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the name of the activity. + */ + DpActivity & ApplyName(StackStrF & name) { SetName(name); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the state of the activity. e.g. "Waiting in lobby" + */ + SQMOD_NODISCARD const std::string & GetState() const { return Valid().state; } + /* -------------------------------------------------------------------------------------------- + * Modify the state of the activity. + */ + void SetState(StackStrF & state) const { Valid().state = state.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the state of the activity. + */ + DpActivity & ApplyState(StackStrF & state) { SetState(state); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the details of the activity. What the player is currently doing. + */ + SQMOD_NODISCARD const std::string & GetDetails() const { return Valid().details; } + /* -------------------------------------------------------------------------------------------- + * Modify the details of the activity. + */ + void SetDetails(StackStrF & details) const { Valid().details = details.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the details of the activity. + */ + DpActivity & ApplyDetails(StackStrF & details) { SetDetails(details); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the images for the presence and their hover texts. + */ + SQMOD_NODISCARD LightObj & GetAssets() + { + if (mSqAssets.IsNull()) + { + mSqAssets = LightObj{SqTypeIdentity< DpActivityAssets >{}, SqVM(), &Valid().assets, false}; + } + // Return the associated script object + return mSqAssets; + } + + /* -------------------------------------------------------------------------------------------- + * Retrieve the url of the activity. Only applicable for certain sites such a YouTube. + */ + SQMOD_NODISCARD const std::string & GetURL() const { return Valid().url; } + /* -------------------------------------------------------------------------------------------- + * Modify the url of the activity. + */ + void SetURL(StackStrF & url) const { Valid().url = url.ToStr(); } + /* -------------------------------------------------------------------------------------------- + * Modify the url of the activity. + */ + DpActivity & ApplyURL(StackStrF & url) { SetURL(url); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the custom buttons shown in the Rich Presence (max 2). + */ + SQMOD_NODISCARD LightObj & GetButtons() + { + if (mSqButtons.IsNull()) + { + mSqButtons = LightObj{SqTypeIdentity< Buttons >{}, SqVM(), &Valid().buttons, false}; + } + // Return the associated script object + return mSqButtons; + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the emoji used for the custom status. + */ + SQMOD_NODISCARD LightObj & GetEmoji() + { + if (mSqEmoji.IsNull()) + { + mSqEmoji = LightObj{SqTypeIdentity< DpEmoji >{}, SqVM(), &Valid().emoji, false}; + } + // Return the associated script object + return mSqEmoji; + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the ID of the party. + */ + SQMOD_NODISCARD dpp::snowflake GetPartyID() const { return Valid().party.id; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the party's current size. Used to show the party's current size. + */ + SQMOD_NODISCARD SQInteger GetCurrentPartySize() const { return Valid().party.current_size; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the party's maximum size. Used to show the party's maximum size. + */ + SQMOD_NODISCARD SQInteger GetMaxPartySize() const { return Valid().party.maximum_size; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the secrets for rich presence joining and spectating. + */ + SQMOD_NODISCARD LightObj & GetSecrets() + { + if (mSqSecrets.IsNull()) + { + mSqSecrets = LightObj{SqTypeIdentity< DpActivitySecrets >{}, SqVM(), &Valid().secrets, false}; + } + // Return the associated script object + return mSqSecrets; + } + /* -------------------------------------------------------------------------------------------- + * Retrieve the type for the activity from SqDiscordActivityType. + */ + SQMOD_NODISCARD SQInteger GetType() const { return Valid().type; } + /* -------------------------------------------------------------------------------------------- + * Modify the type for the activity from SqDiscordActivityType. + */ + void SetType(SQInteger type) const { Valid().type = static_cast< dpp::activity_type >(type); } + /* -------------------------------------------------------------------------------------------- + * Modify the type for the activity from SqDiscordActivityType. + */ + DpActivity & ApplyType(SQInteger type) { SetType(type); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve when the activity was created. + */ + SQMOD_NODISCARD SQInteger GetCreatedAt() const + { + return static_cast< SQInteger >(std::chrono::duration_cast< std::chrono::seconds >(std::chrono::system_clock::from_time_t(Valid().created_at).time_since_epoch()).count()); + } + /* -------------------------------------------------------------------------------------------- + * Modify when the activity was created. + */ + void SetCreatedAt(SQInteger s) const + { + Valid().created_at = std::chrono::system_clock::to_time_t(std::chrono::time_point< std::chrono::system_clock >{std::chrono::seconds{s}}); + } + /* -------------------------------------------------------------------------------------------- + * Modify when the activity was created. + */ + DpActivity & ApplyCreatedAt(SQInteger s) { SetCreatedAt(s); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve when the activity was started. + */ + SQMOD_NODISCARD SQInteger GetStart() const + { + return static_cast< SQInteger >(std::chrono::duration_cast< std::chrono::seconds >(std::chrono::system_clock::from_time_t(Valid().start).time_since_epoch()).count()); + } + /* -------------------------------------------------------------------------------------------- + * Modify when the activity was started. + */ + void SetStart(SQInteger s) const + { + Valid().start = std::chrono::system_clock::to_time_t(std::chrono::time_point< std::chrono::system_clock >{std::chrono::seconds{s}}); + } + /* -------------------------------------------------------------------------------------------- + * Modify when the activity was started. + */ + DpActivity & ApplyStart(SQInteger s) { SetStart(s); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve when the activity was stopped. + */ + SQMOD_NODISCARD SQInteger GetEnd() const + { + return static_cast< SQInteger >(std::chrono::duration_cast< std::chrono::seconds >(std::chrono::system_clock::from_time_t(Valid().end).time_since_epoch()).count()); + } + /* -------------------------------------------------------------------------------------------- + * Modify when the activity was stopped. + */ + void SetEnd(SQInteger s) const + { + Valid().end = std::chrono::system_clock::to_time_t(std::chrono::time_point< std::chrono::system_clock >{std::chrono::seconds{s}}); + } + /* -------------------------------------------------------------------------------------------- + * Modify when the activity was stopped. + */ + DpActivity & ApplyEnd(SQInteger s) { SetEnd(s); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the creating application (e.g. a linked account on the user's client) + */ + SQMOD_NODISCARD dpp::snowflake GetApplicationID() const { return Valid().application_id; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the flags for the activity from SqDiscordActivityFlags. + */ + SQMOD_NODISCARD SQInteger GetFlags() const { return Valid().flags; } + /* -------------------------------------------------------------------------------------------- + * Modify the flags for the activity from SqDiscordActivityFlags. + */ + void SetFlags(SQInteger flags) const { Valid().flags = static_cast< uint8_t >(flags); } + /* -------------------------------------------------------------------------------------------- + * Modify the flags for the activity from SqDiscordActivityFlags. + */ + DpActivity & ApplyFlags(SQInteger flags) { SetFlags(flags); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve whether or not the activity is an instanced game session. + */ + SQMOD_NODISCARD bool IsInstance() const { return Valid().is_instance; } + /* -------------------------------------------------------------------------------------------- + * Get the assets large image url if they have one, otherwise returns an empty string. + * In case of prefixed image IDs (mp:{image_id}) it returns an empty string. + * See: https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-asset-image + */ + SQMOD_NODISCARD std::string GetLargeAssetURL(SQInteger size, SQInteger format) const + { return Valid().get_large_asset_url(static_cast< uint16_t >(size), static_cast< dpp::image_type >(format)); } + /* -------------------------------------------------------------------------------------------- + * Get the assets small image url if they have one, otherwise returns an empty string. + * In case of prefixed image IDs (mp:{image_id}) it returns an empty string. + * See: https://discord.com/developers/docs/topics/gateway-events#activity-object-activity-asset-image + */ + SQMOD_NODISCARD std::string GetSmallAssetURL(SQInteger size, SQInteger format) const + { return Valid().get_small_asset_url(static_cast< uint16_t >(size), static_cast< dpp::image_type >(format)); } +}; + +/* ------------------------------------------------------------------------------------------------ + * Represents user presence, e.g. what game they are playing and if they are online. +*/ +struct DpPresence +{ + using Ptr = std::unique_ptr< dpp::presence >; + /* -------------------------------------------------------------------------------------------- + * Referenced presence instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + // -------------------------------------------------------------------------------------------- + using Activities = DpVectorProxy< dpp::activity, DpActivity >; + // -------------------------------------------------------------------------------------------- + LightObj mSqActivities{}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpPresence() noexcept + : DpPresence(new Ptr::element_type(), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpPresence(Ptr::pointer ptr, bool owned = false) noexcept + : mPtr(ptr), mOwned(owned) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor. + */ + explicit DpPresence(const Ptr::element_type & o) noexcept + : DpPresence(new Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpPresence(Ptr::element_type && o) noexcept + : DpPresence(new Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + DpPresence(SQInteger status, DpActivity & activity) + : DpPresence(new Ptr::element_type(static_cast< dpp::presence_status >(status), activity.Valid()), true) + { } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + DpPresence(SQInteger status, SQInteger type, StackStrF & description) + : DpPresence(new Ptr::element_type(static_cast< dpp::presence_status >(status), static_cast< dpp::activity_type >(status), description.ToStr()), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpPresence(const DpPresence & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpPresence(DpPresence && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpPresence() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpPresence & operator = (const DpPresence & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpPresence & operator = (DpPresence && o) noexcept + { + if (this != &o) { + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Cleanup presence activities, if any + if (!mSqActivities.IsNull()) + { + mSqActivities.CastI< Activities >()->Cleanup(); + // Release script resources + mSqActivities.Release(); + } + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord presence handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the user that the presence applies to. + */ + SQMOD_NODISCARD dpp::snowflake GetUserID() const { return Valid().user_id; } + /* -------------------------------------------------------------------------------------------- + * Modify the user that the presence applies to. + */ + void SetUserID(dpp::snowflake id) const { Valid().user_id = id; } + /* -------------------------------------------------------------------------------------------- + * Modify the user that the presence applies to. + */ + DpPresence & ApplyUserID(dpp::snowflake id) { SetUserID(id); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the guild that the presence applies to. + */ + SQMOD_NODISCARD dpp::snowflake GetGuildID() const { return Valid().guild_id; } + /* -------------------------------------------------------------------------------------------- + * Modify the guild that the presence applies to. + */ + void SetGuildID(dpp::snowflake id) const { Valid().guild_id = id; } + /* -------------------------------------------------------------------------------------------- + * Modify the guild that the presence applies to. + */ + DpPresence & ApplyGuildID(dpp::snowflake id) { SetGuildID(id); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the presence bit-mask. + */ + SQMOD_NODISCARD SQInteger GetFlags() const { return static_cast< SQInteger >(Valid().flags); } + /* -------------------------------------------------------------------------------------------- + * Modify the presence bit-mask. + */ + void SetFlags(SQInteger f) const { Valid().flags = static_cast< uint8_t >(f); } + /* -------------------------------------------------------------------------------------------- + * Modify the presence bit-mask. + */ + DpPresence & ApplyFlags(SQInteger f) { SetFlags(f); return *this; } + /* -------------------------------------------------------------------------------------------- + * Retrieve the list of activities. + */ + SQMOD_NODISCARD LightObj & GetActivities() + { + if (mSqActivities.IsNull()) + { + mSqActivities = LightObj{SqTypeIdentity< Activities >{}, SqVM(), &Valid().activities, false}; + } + // Return the associated script object + return mSqActivities; + } + /* -------------------------------------------------------------------------------------------- + * Build JSON string from this object. + */ + SQMOD_NODISCARD std::string BuildJSON() const { return Valid().build_json(); } + SQMOD_NODISCARD std::string BuildJSON_(bool with_id) const { return Valid().build_json(with_id); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the users status on desktop. + */ + SQMOD_NODISCARD SQInteger GetDesktopStatus() const { return static_cast< SQInteger >(Valid().desktop_status()); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the user's status on web. + */ + SQMOD_NODISCARD SQInteger GetWebStatus() const { return static_cast< SQInteger >(Valid().web_status()); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the user's status on mobile. + */ + SQMOD_NODISCARD SQInteger GetMobileStatus() const { return static_cast< SQInteger >(Valid().mobile_status()); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the user's status as shown to other users. + */ + SQMOD_NODISCARD SQInteger GetStatus() const { return static_cast< SQInteger >(Valid().status()); } +}; + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Role.cpp b/module/Library/Discord/Role.cpp new file mode 100644 index 00000000..8b1d96ec --- /dev/null +++ b/module/Library/Discord/Role.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Role.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Role.hpp b/module/Library/Discord/Role.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/Role.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/User.cpp b/module/Library/Discord/User.cpp new file mode 100644 index 00000000..7c3e19b4 --- /dev/null +++ b/module/Library/Discord/User.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/User.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/User.hpp b/module/Library/Discord/User.hpp new file mode 100644 index 00000000..ab7ce4d7 --- /dev/null +++ b/module/Library/Discord/User.hpp @@ -0,0 +1,13 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Utilities.cpp b/module/Library/Discord/Utilities.cpp new file mode 100644 index 00000000..b5e7c77e --- /dev/null +++ b/module/Library/Discord/Utilities.cpp @@ -0,0 +1,9 @@ +// ------------------------------------------------------------------------------------------------ +#include "Library/Discord/Utilities.hpp" + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + + + +} // Namespace:: SqMod diff --git a/module/Library/Discord/Utilities.hpp b/module/Library/Discord/Utilities.hpp new file mode 100644 index 00000000..1802c7aa --- /dev/null +++ b/module/Library/Discord/Utilities.hpp @@ -0,0 +1,462 @@ +#pragma once + +// ------------------------------------------------------------------------------------------------ +#include "Core/Utility.hpp" + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +#include + +// ------------------------------------------------------------------------------------------------ +namespace Sqrat { + +// Allow the VM to treat the dpp::snowflake type as a integer. +template<> struct Var +{ + dpp::snowflake value; + Var(HSQUIRRELVM vm, SQInteger idx) + { + sq_getinteger(vm, idx, reinterpret_cast(&static_cast(value))); + } + inline static void push(HSQUIRRELVM vm, const dpp::snowflake& value) noexcept + { + sq_pushinteger(vm, static_cast(static_cast(value))); + } +}; + +// Allow the VM to treat the dpp::snowflake type as a integer. +template<> struct Var +{ + dpp::snowflake value; + Var(HSQUIRRELVM vm, SQInteger idx) + { + sq_getinteger(vm, idx, reinterpret_cast(&static_cast(value))); + } + inline static void push(HSQUIRRELVM vm, const dpp::snowflake& value) noexcept + { + sq_pushinteger(vm, static_cast(static_cast(value))); + } +}; + +} + +// ------------------------------------------------------------------------------------------------ +namespace SqMod { + +/* ------------------------------------------------------------------------------------------------ + * Wrapper around a std::vector of DPP values. +*/ +template < class T, class W > struct DpVectorProxy +{ + using Ptr = std::unique_ptr< std::vector< T > >; + using Vec = std::vector< std::pair< LightObj, W * > >; + /* -------------------------------------------------------------------------------------------- + * Referenced vector instance. + */ + Ptr mPtr{nullptr}; + /* -------------------------------------------------------------------------------------------- + * Cached script objects vector. + */ + Vec mVec{}; + /* -------------------------------------------------------------------------------------------- + * Whether the referenced pointer is owned. + */ + bool mOwned{false}; + /* -------------------------------------------------------------------------------------------- + * Default constructor. + */ + DpVectorProxy() noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVectorProxy(typename Ptr::pointer ptr, bool owned = false) + : mPtr(ptr), mVec(), mOwned(owned) + { if (mPtr) mVec.resize(mPtr->size()); } + /* -------------------------------------------------------------------------------------------- + * Explicit constructor. + */ + explicit DpVectorProxy(const typename Ptr::element_type & o) noexcept + : DpVectorProxy(new typename Ptr::element_type(o), true) + { } + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + explicit DpVectorProxy(typename Ptr::element_type && o) noexcept + : DpVectorProxy(new typename Ptr::element_type(std::forward< Ptr::element_type >(o)), true) + { } + /* -------------------------------------------------------------------------------------------- + * Copy constructor (disabled). + */ + DpVectorProxy(const DpVectorProxy & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move constructor. + */ + DpVectorProxy(DpVectorProxy && o) noexcept = default; + /* -------------------------------------------------------------------------------------------- + * Destructor. + */ + ~DpVectorProxy() noexcept { Cleanup(); } + /* -------------------------------------------------------------------------------------------- + * Copy assignment operator (disabled). + */ + DpVectorProxy & operator = (const DpVectorProxy & o) = delete; + /* -------------------------------------------------------------------------------------------- + * Move assignment operator. + */ + DpVectorProxy & operator = (DpVectorProxy && o) noexcept + { + if (this != &o) { + Cleanup(); + // Transfer members values + mPtr = std::move(o.mPtr); + mVec = std::move(o.mVec); + mOwned = o.mOwned; + } + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Release any referenced resources and default to an empty/invalid state. + */ + void Cleanup() + { + // Invalidate cached instances + ClearCache(); + // Do we own this to try delete it? + if (!mOwned && mPtr) { + // Not our job, simply forget about it + [[maybe_unused]] auto p = mPtr.release(); + } else mPtr.reset(); // We own this so delete the instance + } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle. + */ + void Validate() const { if (!mPtr) STHROWF("Invalid discord vector handle"); } + /* -------------------------------------------------------------------------------------------- + * Validate the managed handle and retrieve a const reference to it. + */ + SQMOD_NODISCARD typename Ptr::element_type & Valid() const { Validate(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check whether a valid instance is managed. + */ + SQMOD_NODISCARD bool IsValid() const { return static_cast< bool >(mPtr); } + /* -------------------------------------------------------------------------------------------- + * Make sure an index is within range and return the container. Container must exist. + */ + void ValidIdx_(SQInteger i) + { + if (static_cast< size_t >(i) >= Valid().size()) + { + STHROWF("Invalid vector container index({})", i); + } + } + typename Ptr::element_type & ValidIdx(SQInteger i) { ValidIdx_(i); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Make sure an index is within range and return the container. Container must exist. + */ + void ValidIdx_(SQInteger i) const + { + if (static_cast< size_t >(i) >= Valid().size()) + { + STHROWF("Invalid vector container index({})", i); + } + } + const typename Ptr::element_type & ValidIdx(SQInteger i) const { ValidIdx_(i); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Make sure a container instance is referenced and is populated, then return it. + */ + void ValidPop_() + { + if (Valid().empty()) + { + STHROWF("Vector container is empty"); + } + } + typename Ptr::element_type & ValidPop() { ValidPop_(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Make sure a container instance is referenced and is populated, then return it. + */ + void ValidPop_() const + { + if (Valid().empty()) + { + STHROWF("Vector container is empty"); + } + } + const typename Ptr::element_type & ValidPop() const { ValidPop_(); return *mPtr; } + /* -------------------------------------------------------------------------------------------- + * Check if a container instance is referenced. + */ + SQMOD_NODISCARD bool IsNull() const { return !mPtr; } + /* -------------------------------------------------------------------------------------------- + * Retrieve a value from the container. + */ + SQMOD_NODISCARD LightObj & Get_(SQInteger i) + { + // Is the element cached? + if (mVec[static_cast< size_t >(i)].first.IsNull()) + { + mVec[static_cast< size_t >(i)] = Obj(&mPtr->at(static_cast< size_t >(i))); + } + // Return the object from the cache + return mVec[static_cast< size_t >(i)].first; + } + SQMOD_NODISCARD LightObj & Get(SQInteger i) + { + // Was the referenced vector modified? + if (mVec.size() < Valid().size()) + { + // Synchronize the size + mVec.resize(mPtr->size()); + // Synchronize the cache + CacheSync(); + } + // Validate index + ValidIdx_(i); + // Perform the request + return Get_(i); + } + /* -------------------------------------------------------------------------------------------- + * Modify a value from the container. + */ + void Set(SQInteger i, const W & v) { ValidIdx(i)[static_cast< size_t >(i)] = v.Valid(); } + /* -------------------------------------------------------------------------------------------- + * Check if the container has no elements. + */ + SQMOD_NODISCARD bool Empty() const { return Valid().empty(); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the number of elements in the container. + */ + SQMOD_NODISCARD SQInteger Size() const { return static_cast< SQInteger >(Valid().size()); } + /* -------------------------------------------------------------------------------------------- + * Retrieve the number of elements that the container has currently allocated space for. + */ + SQMOD_NODISCARD SQInteger Capacity() const { return static_cast< SQInteger >(Valid().capacity()); } + /* -------------------------------------------------------------------------------------------- + * Synchronize cache container instances. + */ + void CacheSync() + { + // Invalidate cached instances, if any + for (size_t i = 0; i < mVec.size(); ++i) + { + // Is this element cached? + if (mVec[i].second != nullptr) + { + // Discard previous instance, if any + [[maybe_unused]] auto _ = mVec[i].second->mPtr.release(); + // Sync to new instance + mVec[i].second->mPtr.reset(&mPtr->at(i)); + } + } + } + /* -------------------------------------------------------------------------------------------- + * Increase the capacity of the container to a value that's greater or equal to the one specified. + */ + DpVectorProxy & Reserve(SQInteger n) + { + Valid().reserve(ClampL< SQInteger, size_t >(n)); + mVec.reserve(mPtr->size()); + CacheSync(); + return *this; + } + /* -------------------------------------------------------------------------------------------- + * Request the removal of unused capacity. + */ + void Compact() { Valid().shrink_to_fit(); CacheSync(); mVec.shrink_to_fit(); } + /* -------------------------------------------------------------------------------------------- + * Erase all elements from the cache container. + */ + void ClearCache() + { + // Invalidate cached instances, if any + for (auto & e : mVec) + { + // Is this element cached? + if (e.second != nullptr) + { + // Invalidate the instance + e.second->Cleanup(); + // Forget about it + e.second = nullptr; + // Release script object + e.first.Release(); + } + } + // Clear the cache vector + mVec.clear(); + } + /* -------------------------------------------------------------------------------------------- + * Erase all elements from the container. + */ + void Clear() { Validate(); ClearCache(); mPtr->clear(); } + /* -------------------------------------------------------------------------------------------- + * Push a value at the back of the container. + */ + void Push(const W & v) + { + Valid().push_back(v.Valid()); + mVec.emplace_back(); + CacheSync(); + } + /* -------------------------------------------------------------------------------------------- + * Extends the Container by appending all the items in the given container. + */ + void Extend(DpVectorProxy & v) + { + Valid().insert(Valid().end(), v.Valid().begin(), v.Valid().end()); + mVec.resize(mPtr->size()); + CacheSync(); + } + /* -------------------------------------------------------------------------------------------- + * Pop the last element in the container. + */ + void Pop() + { + Validate(); + // Is this element cached? + if (mVec.back().second != nullptr) + { + // Invalidate the instance + mVec.back().second->Cleanup(); + mVec.back().first.Release(); + } + // Safe to remove + mPtr->pop_back(); + mVec.pop_back(); + } + /* -------------------------------------------------------------------------------------------- + * Erase the element at a certain position. + */ + void EraseAt(SQInteger i) + { + ValidIdx_(i); + // Is this element cached? + if (mVec[static_cast< size_t >(i)].second != nullptr) + { + // Invalidate the instance + mVec[static_cast< size_t >(i)].second->Cleanup(); + mVec[static_cast< size_t >(i)].first.Release(); + } + // Safe to remove + mPtr->erase(mPtr->begin() + static_cast< size_t >(i)); + mVec.erase(mVec.begin() + static_cast< size_t >(i)); + // Synchronize cache + CacheSync(); + } + /* -------------------------------------------------------------------------------------------- + * Iterate all values through a functor. + */ + void Each(Function & fn) + { + Validate(); + // Iterate referenced vector elements + for (size_t i = 0; i < mVec.size(); ++i) + { + fn.Execute(Get(static_cast< SQInteger >(i))); + } + } + /* -------------------------------------------------------------------------------------------- + * Iterate values in range through a functor. + */ + void EachRange(SQInteger p, SQInteger n, Function & fn) + { + ValidIdx_(p); + ValidIdx_(p + n); + // Iterate specified range + for (n += p; p < n; ++p) + { + fn.Execute(Get(static_cast< SQInteger >(p))); + } + } + /* -------------------------------------------------------------------------------------------- + * Iterate all values through a functor until stopped (i.e false is returned). + */ + void While(Function & fn) + { + Validate(); + // Iterate referenced vector elements + for (size_t i = 0; i < mVec.size(); ++i) + { + auto ret = fn.Eval(Get(static_cast< SQInteger >(i))); + // (null || true) == continue & false == break + if (!ret.IsNull() || !ret.template Cast< bool >()) + { + break; + } + } + } + /* -------------------------------------------------------------------------------------------- + * Iterate values in range through a functor until stopped (i.e false is returned). + */ + void WhileRange(SQInteger p, SQInteger n, Function & fn) + { + ValidIdx_(p); + ValidIdx_(p + n); + // Iterate specified range + for (n += p; p < n; ++p) + { + auto ret = fn.Eval(Get(static_cast< SQInteger >(p))); + // (null || true) == continue & false == break + if (!ret.IsNull() || !ret.template Cast< bool >()) + { + break; + } + } + } + /* -------------------------------------------------------------------------------------------- + * Retrieve a wrapped instance as a script object. + */ + SQMOD_NODISCARD static std::pair< LightObj, W * > Obj(T * ptr, bool owned = false) + { + // Create the wrapper instance for given pointer + auto wp = std::make_unique< W >(ptr, false); + // Create script object for wrapper instance + std::pair< LightObj, W * > p{LightObj{wp.get()}, wp.get()}; + // Release ownership of the wrapper instance + [[maybe_unused]] auto _ = wp.release(); + // Return the script object and wrapper instance + return p; + } + /* -------------------------------------------------------------------------------------------- + * Retrieve a wrapped instance as a script object. + */ + SQMOD_NODISCARD static std::pair< LightObj, W * > Obj(const T * ptr, bool owned = false) + { + return Obj(const_cast< T * >(ptr), owned); + } +}; + +template < class T, class W, class U > inline void Register_Discord_VectorProxy(HSQUIRRELVM vm, Table & ns, const SQChar * name) +{ + using Container = DpVectorProxy< T, W >; + // -------------------------------------------------------------------------------------------- + ns.Bind(name, + Class< Container, NoConstructor< Container > >(vm, U::Str) + // Meta-methods + .SquirrelFunc(_SC("_typename"), &U::Fn) + // Properties + .Prop(_SC("Null"), &Container::IsNull) + .Prop(_SC("Empty"), &Container::Empty) + .Prop(_SC("Size"), &Container::Size) + .Prop(_SC("Capacity"), &Container::Capacity, &Container::Reserve) + // Member Methods + .Func(_SC("Get"), &Container::Get) + .Func(_SC("Set"), &Container::Set) + .Func(_SC("Reserve"), &Container::Reserve) + .Func(_SC("Compact"), &Container::Compact) + .Func(_SC("Clear"), &Container::Clear) + .Func(_SC("Push"), &Container::Push) + .Func(_SC("Append"), &Container::Push) + .Func(_SC("Extend"), &Container::Extend) + .Func(_SC("Pop"), &Container::Pop) + .Func(_SC("EraseAt"), &Container::EraseAt) + .Func(_SC("Each"), &Container::Each) + .Func(_SC("EachRange"), &Container::EachRange) + .Func(_SC("While"), &Container::While) + .Func(_SC("WhileRange"), &Container::WhileRange) + ); +} + +} // Namespace:: SqMod diff --git a/module/Library/Utils.cpp b/module/Library/Utils.cpp index 269db36c..e81157aa 100644 --- a/module/Library/Utils.cpp +++ b/module/Library/Utils.cpp @@ -88,6 +88,7 @@ static SQInteger SqExtractIPv4(HSQUIRRELVM vm) // ------------------------------------------------------------------------------------------------ extern void Register_IdPool(HSQUIRRELVM vm, Table & ns); extern void Register_Vector(HSQUIRRELVM vm, Table & ns); +extern void Register_Template(HSQUIRRELVM vm, Table & ns); extern void Register_Native_String(HSQUIRRELVM vm, Table & ns); extern void Register_ServerAnnouncer(HSQUIRRELVM vm, Table & ns); @@ -99,6 +100,7 @@ void Register_Utils(HSQUIRRELVM vm) Register_IdPool(vm, ns); Register_Vector(vm, ns); + Register_Template(vm, ns); Register_Native_String(vm, ns); Register_ServerAnnouncer(vm, ns); @@ -110,7 +112,6 @@ void Register_Utils(HSQUIRRELVM vm) // ------------------------------------------------------------------------------------------------ void Register_IdPool(HSQUIRRELVM vm, Table & ns) { - // -------------------------------------------------------------------------------------------- ns.Bind(_SC("IdPool"), Class< SqIdPool, NoCopy< SqIdPool > >(vm, SqIdPoolTypename::Str) // Constructors diff --git a/module/Main.cpp b/module/Main.cpp index 89ca3699..7dfa5f7c 100644 --- a/module/Main.cpp +++ b/module/Main.cpp @@ -10,6 +10,10 @@ #include #endif // SQMOD_OS_WINDOWS +// ------------------------------------------------------------------------------------------------ +#include +#include + // ------------------------------------------------------------------------------------------------ namespace SqMod { @@ -24,6 +28,9 @@ extern void ProcessRoutines(); extern void ProcessTasks(); extern void ProcessThreads(); extern void ProcessNet(); +#ifdef SQMOD_DISCORD + extern void ProcessDiscord(); +#endif /* ------------------------------------------------------------------------------------------------ * Will the scripts be reloaded at the end of the current event? @@ -147,6 +154,7 @@ static void OnServerShutdown() Core::Get().EmitServerShutdown(); // Deallocate and release everything obtained at startup Core::Get().Terminate(true); + curl_global_cleanup(); SQMOD_SV_EV_TRACEBACK("[TRACE>] OnServerShutdown") } SQMOD_CATCH_EVENT_EXCEPTION(OnServerShutdown) @@ -172,6 +180,10 @@ static void OnServerFrame(float elapsed_time) ProcessThreads(); // Process network ProcessNet(); + // Process Discord +#ifdef SQMOD_DISCORD + ProcessDiscord(); +#endif // Process log messages from other threads Logger::Get().ProcessQueue(); // See if a reload was requested @@ -994,6 +1006,8 @@ SQMOD_API_EXPORT unsigned int VcmpPluginInit(PluginFuncs * funcs, PluginCallback _Info->apiMinorVersion = PLUGIN_API_MINOR; // Assign the plug-in name std::snprintf(_Info->name, sizeof(_Info->name), "%s", SQMOD_HOST_NAME); + // Initialize CURL + curl_global_init(CURL_GLOBAL_DEFAULT); // Initialize third-party allocator gsRPMallocInit = std::make_unique< RPMallocInit >(); // Attempt to initialize the logger before anything else diff --git a/module/Register.cpp b/module/Register.cpp index 685d0677..67100bff 100644 --- a/module/Register.cpp +++ b/module/Register.cpp @@ -30,6 +30,9 @@ extern void Register_CVehicle(HSQUIRRELVM vm); // ------------------------------------------------------------------------------------------------ extern void Register_Chrono(HSQUIRRELVM vm); extern void Register_CURL(HSQUIRRELVM vm); +#ifdef SQMOD_DISCORD + extern void Register_Discord(HSQUIRRELVM vm); +#endif extern void Register_Format(HSQUIRRELVM vm); extern void Register_IO(HSQUIRRELVM vm); extern void Register_JSON(HSQUIRRELVM vm); @@ -98,6 +101,9 @@ bool RegisterAPI(HSQUIRRELVM vm) Register_Chrono(vm); Register_CURL(vm); +#ifdef SQMOD_DISCORD + Register_Discord(vm); +#endif Register_Format(vm); Register_IO(vm); Register_JSON(vm); diff --git a/vendor/CMakeLists.txt b/vendor/CMakeLists.txt index 4a62fcf3..279d7b3e 100644 --- a/vendor/CMakeLists.txt +++ b/vendor/CMakeLists.txt @@ -8,6 +8,8 @@ add_subdirectory(TinyDir) add_subdirectory(SAJSON) add_subdirectory(CPR) add_subdirectory(UTF8) +add_subdirectory(JSON) +add_subdirectory(Inja) add_subdirectory(PUGIXML) add_subdirectory(CivetWeb) if (ENABLE_BUILTIN_MYSQL_C) @@ -70,4 +72,29 @@ set(BUILD_STATIC ON CACHE INTERNAL "" FORCE) if (WIN32 OR MINGW) set(ZMQ_HAVE_IPC OFF CACHE INTERNAL "" FORCE) endif() +set(ENABLE_CURVE OFF CACHE INTERNAL "" FORCE) +set(WITH_LIBSODIUM OFF CACHE INTERNAL "" FORCE) add_subdirectory(ZMQ) +if(ENABLE_DISCORD) + set(BUILD_TESTING OFF CACHE INTERNAL "" FORCE) + set(BUILD_VOICE_SUPPORT OFF CACHE INTERNAL "" FORCE) + set(DPP_INSTALL OFF CACHE INTERNAL "" FORCE) + set(DPP_BUILD_TEST OFF CACHE INTERNAL "" FORCE) + set(DPP_NO_VCPKG ON CACHE INTERNAL "" FORCE) + set(DPP_CORO OFF CACHE INTERNAL "" FORCE) + set(DPP_USE_EXTERNAL_JSON ON CACHE INTERNAL "" FORCE) + if (WIN32 OR MINGW) + set(BUILD_SHARED_LIBS ON CACHE INTERNAL "" FORCE) + endif() + add_subdirectory(DPP) + target_link_libraries(dpp PRIVATE nlohmann_json) + set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE) + # We don't care about DPP warnings + if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") + target_compile_options(dpp PRIVATE -w) + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + target_compile_options(dpp PRIVATE -w) + elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") + target_compile_options(dpp PRIVATE /w) + endif() +endif() diff --git a/vendor/CPR/CMakeLists.txt b/vendor/CPR/CMakeLists.txt index dcf56b96..5c1a0c5c 100644 --- a/vendor/CPR/CMakeLists.txt +++ b/vendor/CPR/CMakeLists.txt @@ -1,52 +1,84 @@ # Create the CPR library add_library(CPR STATIC # Source files - cpr/auth.cpp - cpr/bearer.cpp - cpr/cookies.cpp - cpr/cprtypes.cpp - cpr/curl_container.cpp - cpr/curlholder.cpp cpr/error.cpp + cpr/file.cpp + cpr/interceptor.cpp cpr/multipart.cpp + cpr/multiperform.cpp cpr/parameters.cpp cpr/payload.cpp cpr/proxies.cpp cpr/proxyauth.cpp cpr/redirect.cpp + cpr/response.cpp cpr/session.cpp + cpr/ssl_ctx.cpp + cpr/threadpool.cpp cpr/timeout.cpp cpr/unix_socket.cpp cpr/util.cpp - cpr/response.cpp - # Header files - include/cpr/api.h - include/cpr/auth.h + cpr/accept_encoding.cpp + cpr/async.cpp + cpr/auth.cpp + cpr/bearer.cpp + cpr/callback.cpp + cpr/cert_info.cpp + cpr/cookies.cpp + cpr/cprtypes.cpp + cpr/curl_container.cpp + cpr/curlholder.cpp + cpr/curlmultiholder.cpp + # Header Files include/cpr/bearer.h include/cpr/body.h + include/cpr/buffer.h + include/cpr/callback.h + include/cpr/cert_info.h + include/cpr/connect_timeout.h include/cpr/cookies.h include/cpr/cpr.h include/cpr/cprtypes.h + include/cpr/curl_container.h include/cpr/curlholder.h - include/cpr/curlholder.h - include/cpr/digest.h + include/cpr/curlmultiholder.h include/cpr/error.h + include/cpr/file.h + include/cpr/filesystem.h + include/cpr/http_version.h + include/cpr/interceptor.h include/cpr/interface.h include/cpr/limit_rate.h + include/cpr/local_port.h + include/cpr/local_port_range.h + include/cpr/low_speed.h include/cpr/multipart.h - include/cpr/ntlm.h + include/cpr/multiperform.h include/cpr/parameters.h include/cpr/payload.h include/cpr/proxies.h include/cpr/proxyauth.h + include/cpr/range.h include/cpr/redirect.h + include/cpr/reserve_size.h + include/cpr/resolve.h include/cpr/response.h include/cpr/session.h + include/cpr/singleton.h + include/cpr/ssl_ctx.h include/cpr/ssl_options.h + include/cpr/status_codes.h + include/cpr/threadpool.h include/cpr/timeout.h include/cpr/unix_socket.h + include/cpr/user_agent.h include/cpr/util.h include/cpr/verbose.h + include/cpr/accept_encoding.h + include/cpr/api.h + include/cpr/async.h + include/cpr/async_wrapper.h + include/cpr/auth.h ) # Library includes target_include_directories(CPR PRIVATE ${CMAKE_CURRENT_LIST_DIR}/cpr) @@ -55,7 +87,7 @@ target_include_directories(CPR PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include) if (NOT MSVC) target_compile_options(CPR PRIVATE -Wno-deprecated-declarations) endif() -# Find CURK +# Find CURL find_package(CURL REQUIRED) if (CURL_FOUND) set(SSL_ENABLED ON CACHE INTERNAL "" FORCE) diff --git a/vendor/CPR/cpr/accept_encoding.cpp b/vendor/CPR/cpr/accept_encoding.cpp new file mode 100644 index 00000000..b7576688 --- /dev/null +++ b/vendor/CPR/cpr/accept_encoding.cpp @@ -0,0 +1,37 @@ +#include "cpr/accept_encoding.h" + +#include +#include +#include +#include +#include +#include + +namespace cpr { + +AcceptEncoding::AcceptEncoding(const std::initializer_list& methods) { + methods_.clear(); + std::transform(methods.begin(), methods.end(), std::inserter(methods_, methods_.begin()), [&](cpr::AcceptEncodingMethods method) { return cpr::AcceptEncodingMethodsStringMap.at(method); }); +} + +AcceptEncoding::AcceptEncoding(const std::initializer_list& string_methods) : methods_{string_methods} {} + +bool AcceptEncoding::empty() const noexcept { + return methods_.empty(); +} + +const std::string AcceptEncoding::getString() const { + return std::accumulate(std::next(methods_.begin()), methods_.end(), *methods_.begin(), [](std::string a, std::string b) { return std::move(a) + ", " + std::move(b); }); +} + +[[nodiscard]] bool AcceptEncoding::disabled() const { + if (methods_.find(cpr::AcceptEncodingMethodsStringMap.at(AcceptEncodingMethods::disabled)) != methods_.end()) { + if (methods_.size() != 1) { + throw std::invalid_argument("AcceptEncoding does not accept any other values if 'disabled' is present. You set the following encodings: " + getString()); + } + return true; + } + return false; +} + +} // namespace cpr diff --git a/vendor/CPR/cpr/async.cpp b/vendor/CPR/cpr/async.cpp new file mode 100644 index 00000000..e10d09e1 --- /dev/null +++ b/vendor/CPR/cpr/async.cpp @@ -0,0 +1,8 @@ +#include "cpr/async.h" + +namespace cpr { + +// NOLINTNEXTLINE (cppcoreguidelines-avoid-non-const-global-variables) +CPR_SINGLETON_IMPL(GlobalThreadPool) + +} // namespace cpr diff --git a/vendor/CPR/cpr/auth.cpp b/vendor/CPR/cpr/auth.cpp index 7d55d4b9..b3576f5c 100644 --- a/vendor/CPR/cpr/auth.cpp +++ b/vendor/CPR/cpr/auth.cpp @@ -1,7 +1,16 @@ #include "cpr/auth.h" +#include "cpr/util.h" namespace cpr { +Authentication::~Authentication() noexcept { + util::secureStringClear(auth_string_); +} + const char* Authentication::GetAuthString() const noexcept { return auth_string_.c_str(); } + +AuthMode Authentication::GetAuthMode() const noexcept { + return auth_mode_; +} } // namespace cpr diff --git a/vendor/CPR/cpr/bearer.cpp b/vendor/CPR/cpr/bearer.cpp index 5b7eb930..02bd728b 100644 --- a/vendor/CPR/cpr/bearer.cpp +++ b/vendor/CPR/cpr/bearer.cpp @@ -1,9 +1,14 @@ #include "cpr/bearer.h" +#include "cpr/util.h" namespace cpr { // Only supported with libcurl >= 7.61.0. // As an alternative use SetHeader and add the token manually. #if LIBCURL_VERSION_NUM >= 0x073D00 +Bearer::~Bearer() noexcept { + util::secureStringClear(token_string_); +} + const char* Bearer::GetToken() const noexcept { return token_string_.c_str(); } diff --git a/vendor/CPR/cpr/callback.cpp b/vendor/CPR/cpr/callback.cpp new file mode 100644 index 00000000..3af230b8 --- /dev/null +++ b/vendor/CPR/cpr/callback.cpp @@ -0,0 +1,14 @@ +#include +#include +#include + +namespace cpr { + +void CancellationCallback::SetProgressCallback(ProgressCallback& u_cb) { + user_cb.emplace(std::reference_wrapper{u_cb}); +} +bool CancellationCallback::operator()(cpr_pf_arg_t dltotal, cpr_pf_arg_t dlnow, cpr_pf_arg_t ultotal, cpr_pf_arg_t ulnow) const { + const bool cont_operation{!cancellation_state->load()}; + return user_cb ? (cont_operation && (*user_cb)(dltotal, dlnow, ultotal, ulnow)) : cont_operation; +} +} // namespace cpr diff --git a/vendor/CPR/cpr/cert_info.cpp b/vendor/CPR/cpr/cert_info.cpp new file mode 100644 index 00000000..a77a0277 --- /dev/null +++ b/vendor/CPR/cpr/cert_info.cpp @@ -0,0 +1,43 @@ +#include "cpr/cert_info.h" + +namespace cpr { + +std::string& CertInfo::operator[](const size_t& pos) { + return cert_info_[pos]; +} + +CertInfo::iterator CertInfo::begin() { + return cert_info_.begin(); +} +CertInfo::iterator CertInfo::end() { + return cert_info_.end(); +} + +CertInfo::const_iterator CertInfo::begin() const { + return cert_info_.begin(); +} + +CertInfo::const_iterator CertInfo::end() const { + return cert_info_.end(); +} + +CertInfo::const_iterator CertInfo::cbegin() const { + return cert_info_.cbegin(); +} + +CertInfo::const_iterator CertInfo::cend() const { + return cert_info_.cend(); +} + +void CertInfo::emplace_back(const std::string& str) { + cert_info_.emplace_back(str); +} + +void CertInfo::push_back(const std::string& str) { + cert_info_.push_back(str); +} + +void CertInfo::pop_back() { + cert_info_.pop_back(); +} +} // namespace cpr diff --git a/vendor/CPR/cpr/cookies.cpp b/vendor/CPR/cpr/cookies.cpp index 4bd58555..41e12469 100644 --- a/vendor/CPR/cpr/cookies.cpp +++ b/vendor/CPR/cpr/cookies.cpp @@ -1,51 +1,106 @@ #include "cpr/cookies.h" +#include +#include namespace cpr { -std::string Cookies::GetEncoded(const CurlHolder& holder) const { +const std::string Cookie::GetDomain() const { + return domain_; +} + +bool Cookie::IsIncludingSubdomains() const { + return includeSubdomains_; +} + +const std::string Cookie::GetPath() const { + return path_; +} + +bool Cookie::IsHttpsOnly() const { + return httpsOnly_; +} + +const std::chrono::system_clock::time_point Cookie::GetExpires() const { + return expires_; +} + +const std::string Cookie::GetExpiresString() const { + std::stringstream ss; + std::tm tm{}; + const std::time_t tt = std::chrono::system_clock::to_time_t(expires_); +#ifdef _WIN32 + gmtime_s(&tm, &tt); +#else + gmtime_r(&tt, &tm); +#endif + ss << std::put_time(&tm, "%a, %d %b %Y %H:%M:%S GMT"); + return ss.str(); +} + +const std::string Cookie::GetName() const { + return name_; +} + +const std::string Cookie::GetValue() const { + return value_; +} + +const std::string Cookies::GetEncoded(const CurlHolder& holder) const { std::stringstream stream; - for (const std::pair& item : map_) { + for (const cpr::Cookie& item : cookies_) { // Depending on if encoding is set to "true", we will URL-encode cookies - stream << (encode ? holder.urlEncode(item.first) : item.first) << "="; + stream << (encode ? holder.urlEncode(item.GetName()) : item.GetName()) << "="; // special case version 1 cookies, which can be distinguished by // beginning and trailing quotes - if (!item.second.empty() && item.second.front() == '"' && item.second.back() == '"') { - stream << item.second; + if (!item.GetValue().empty() && item.GetValue().front() == '"' && item.GetValue().back() == '"') { + stream << item.GetValue(); } else { // Depending on if encoding is set to "true", we will URL-encode cookies - stream << (encode ? holder.urlEncode(item.second) : item.second); + stream << (encode ? holder.urlEncode(item.GetValue()) : item.GetValue()); } stream << "; "; } return stream.str(); } -std::string& Cookies::operator[](const std::string& key) { - return map_[key]; +cpr::Cookie& Cookies::operator[](size_t pos) { + return cookies_[pos]; } Cookies::iterator Cookies::begin() { - return map_.begin(); + return cookies_.begin(); } Cookies::iterator Cookies::end() { - return map_.end(); + return cookies_.end(); } Cookies::const_iterator Cookies::begin() const { - return map_.begin(); + return cookies_.begin(); } Cookies::const_iterator Cookies::end() const { - return map_.end(); + return cookies_.end(); } Cookies::const_iterator Cookies::cbegin() const { - return map_.cbegin(); + return cookies_.cbegin(); } Cookies::const_iterator Cookies::cend() const { - return map_.cend(); + return cookies_.cend(); +} + +void Cookies::emplace_back(const Cookie& str) { + cookies_.emplace_back(str); +} + +void Cookies::push_back(const Cookie& str) { + cookies_.push_back(str); +} + +void Cookies::pop_back() { + cookies_.pop_back(); } } // namespace cpr diff --git a/vendor/CPR/cpr/cprtypes.cpp b/vendor/CPR/cpr/cprtypes.cpp index c618b3f1..7927b03b 100644 --- a/vendor/CPR/cpr/cprtypes.cpp +++ b/vendor/CPR/cpr/cprtypes.cpp @@ -5,8 +5,6 @@ namespace cpr { bool CaseInsensitiveCompare::operator()(const std::string& a, const std::string& b) const noexcept { - return std::lexicographical_compare( - a.begin(), a.end(), b.begin(), b.end(), - [](unsigned char ac, unsigned char bc) { return std::tolower(ac) < std::tolower(bc); }); + return std::lexicographical_compare(a.begin(), a.end(), b.begin(), b.end(), [](unsigned char ac, unsigned char bc) { return std::tolower(ac) < std::tolower(bc); }); } } // namespace cpr diff --git a/vendor/CPR/cpr/curl_container.cpp b/vendor/CPR/cpr/curl_container.cpp index 12764110..c90b777a 100644 --- a/vendor/CPR/cpr/curl_container.cpp +++ b/vendor/CPR/cpr/curl_container.cpp @@ -1,16 +1,15 @@ #include "cpr/curl_container.h" +#include +#include namespace cpr { template -CurlContainer::CurlContainer(const std::initializer_list& containerList) - : containerList_(containerList) {} +CurlContainer::CurlContainer(const std::initializer_list& containerList) : containerList_(containerList) {} template void CurlContainer::Add(const std::initializer_list& containerList) { - for (const T& element : containerList) { - containerList_.push_back(std::move(element)); - } + std::transform(containerList.begin(), containerList.end(), std::back_inserter(containerList_), [](const T& elem) { return std::move(elem); }); } template @@ -26,15 +25,15 @@ const std::string CurlContainer::GetContent(const CurlHolder& holder) content += "&"; } - std::string escapedKey = encode ? holder.urlEncode(parameter.key) : parameter.key; + const std::string escapedKey = encode ? holder.urlEncode(parameter.key) : parameter.key; if (parameter.value.empty()) { content += escapedKey; } else { - std::string escapedValue = encode ? holder.urlEncode(parameter.value) : parameter.value; + const std::string escapedValue = encode ? holder.urlEncode(parameter.value) : parameter.value; content += escapedKey + "="; content += escapedValue; } - }; + } return content; } @@ -46,7 +45,7 @@ const std::string CurlContainer::GetContent(const CurlHolder& holder) cons if (!content.empty()) { content += "&"; } - std::string escaped = encode ? holder.urlEncode(element.value) : element.value; + const std::string escaped = encode ? holder.urlEncode(element.value) : element.value; content += element.key + "=" + escaped; } diff --git a/vendor/CPR/cpr/curlholder.cpp b/vendor/CPR/cpr/curlholder.cpp index 4596ed7f..0dcd6d76 100644 --- a/vendor/CPR/cpr/curlholder.cpp +++ b/vendor/CPR/cpr/curlholder.cpp @@ -2,10 +2,6 @@ #include namespace cpr { -// It does not make sense to make a std::mutex const. -// NOLINTNEXTLINE (cppcoreguidelines-avoid-non-const-global-variables) -std::mutex CurlHolder::curl_easy_init_mutex_{}; - CurlHolder::CurlHolder() { /** * Allow multithreaded access to CPR by locking curl_easy_init(). @@ -14,22 +10,24 @@ CurlHolder::CurlHolder() { * https://curl.haxx.se/libcurl/c/curl_easy_init.html * https://curl.haxx.se/libcurl/c/threadsafe.html **/ - curl_easy_init_mutex_.lock(); + curl_easy_init_mutex_().lock(); + // NOLINTNEXTLINE (cppcoreguidelines-prefer-member-initializer) since we need it to happen inside the lock handle = curl_easy_init(); - curl_easy_init_mutex_.unlock(); + curl_easy_init_mutex_().unlock(); assert(handle); } // namespace cpr CurlHolder::~CurlHolder() { curl_slist_free_all(chunk); - curl_formfree(formpost); + curl_slist_free_all(resolveCurlList); + curl_mime_free(multipart); curl_easy_cleanup(handle); } std::string CurlHolder::urlEncode(const std::string& s) const { assert(handle); - char* output = curl_easy_escape(handle, s.c_str(), s.length()); + char* output = curl_easy_escape(handle, s.c_str(), static_cast(s.length())); if (output) { std::string result = output; curl_free(output); @@ -40,7 +38,7 @@ std::string CurlHolder::urlEncode(const std::string& s) const { std::string CurlHolder::urlDecode(const std::string& s) const { assert(handle); - char* output = curl_easy_unescape(handle, s.c_str(), s.length(), nullptr); + char* output = curl_easy_unescape(handle, s.c_str(), static_cast(s.length()), nullptr); if (output) { std::string result = output; curl_free(output); diff --git a/vendor/CPR/cpr/curlmultiholder.cpp b/vendor/CPR/cpr/curlmultiholder.cpp new file mode 100644 index 00000000..efe86ab2 --- /dev/null +++ b/vendor/CPR/cpr/curlmultiholder.cpp @@ -0,0 +1,15 @@ +#include "cpr/curlmultiholder.h" + +#include + +namespace cpr { + +CurlMultiHolder::CurlMultiHolder() : handle{curl_multi_init()} { + assert(handle); +} + +CurlMultiHolder::~CurlMultiHolder() { + curl_multi_cleanup(handle); +} + +} // namespace cpr diff --git a/vendor/CPR/cpr/error.cpp b/vendor/CPR/cpr/error.cpp index 7e713fd1..f085051f 100644 --- a/vendor/CPR/cpr/error.cpp +++ b/vendor/CPR/cpr/error.cpp @@ -59,7 +59,7 @@ ErrorCode Error::getErrorCodeForCurlError(std::int32_t curl_code) { case CURLE_SSL_ISSUER_ERROR: return ErrorCode::SSL_CACERT_ERROR; case CURLE_TOO_MANY_REDIRECTS: - return ErrorCode::OK; + return ErrorCode::TOO_MANY_REDIRECTS; default: return ErrorCode::INTERNAL_ERROR; } diff --git a/vendor/CPR/cpr/file.cpp b/vendor/CPR/cpr/file.cpp new file mode 100644 index 00000000..eadb3774 --- /dev/null +++ b/vendor/CPR/cpr/file.cpp @@ -0,0 +1,60 @@ +#include "cpr/file.h" + +namespace cpr { + +Files::Files(const std::initializer_list& p_filepaths) { + for (const std::string& filepath : p_filepaths) { + files.emplace_back(filepath); + } +} + +Files::iterator Files::begin() { + return files.begin(); +} + +Files::iterator Files::end() { + return files.end(); +} + +Files::const_iterator Files::begin() const { + return files.begin(); +} + +Files::const_iterator Files::end() const { + return files.end(); +} + +Files::const_iterator Files::cbegin() const { + return files.cbegin(); +} + +Files::const_iterator Files::cend() const { + return files.cend(); +} + +void Files::emplace_back(const File& file) { + files.emplace_back(file); +} + +void Files::push_back(const File& file) { + files.push_back(file); +} + +void Files::pop_back() { + files.pop_back(); +} + +Files& Files::operator=(const Files& other) { + if (&other != this) { + files = other.files; + } + return *this; +} + +Files& Files::operator=(Files&& old) noexcept { + if (&old != this) { + files = std::move(old.files); + } + return *this; +} +} // namespace cpr diff --git a/vendor/CPR/cpr/interceptor.cpp b/vendor/CPR/cpr/interceptor.cpp new file mode 100644 index 00000000..92ed80fb --- /dev/null +++ b/vendor/CPR/cpr/interceptor.cpp @@ -0,0 +1,53 @@ +#include "cpr/interceptor.h" + +#include + +namespace cpr { + +Response Interceptor::proceed(Session& session) { + return session.proceed(); +} + +Response Interceptor::proceed(Session& session, ProceedHttpMethod httpMethod) { + switch (httpMethod) { + case ProceedHttpMethod::DELETE_REQUEST: + return session.Delete(); + case ProceedHttpMethod::GET_REQUEST: + return session.Get(); + case ProceedHttpMethod::HEAD_REQUEST: + return session.Head(); + case ProceedHttpMethod::OPTIONS_REQUEST: + return session.Options(); + case ProceedHttpMethod::PATCH_REQUEST: + return session.Patch(); + case ProceedHttpMethod::POST_REQUEST: + return session.Post(); + case ProceedHttpMethod::PUT_REQUEST: + return session.Put(); + default: + throw std::invalid_argument{"Can't proceed the session with the provided http method!"}; + } +} + +Response Interceptor::proceed(Session& session, ProceedHttpMethod httpMethod, std::ofstream& file) { + if (httpMethod == ProceedHttpMethod::DOWNLOAD_FILE_REQUEST) { + return session.Download(file); + } + throw std::invalid_argument{"std::ofstream argument is only valid for ProceedHttpMethod::DOWNLOAD_FILE!"}; +} + +Response Interceptor::proceed(Session& session, ProceedHttpMethod httpMethod, const WriteCallback& write) { + if (httpMethod == ProceedHttpMethod::DOWNLOAD_CALLBACK_REQUEST) { + return session.Download(write); + } + throw std::invalid_argument{"WriteCallback argument is only valid for ProceedHttpMethod::DOWNLOAD_CALLBACK!"}; +} + +std::vector InterceptorMulti::proceed(MultiPerform& multi) { + return multi.proceed(); +} + +void InterceptorMulti::PrepareDownloadSession(MultiPerform& multi, size_t sessions_index, const WriteCallback& write) { + multi.PrepareDownloadSessions(sessions_index, write); +} +} // namespace cpr diff --git a/vendor/CPR/cpr/multipart.cpp b/vendor/CPR/cpr/multipart.cpp index d82d9a41..81854f9f 100644 --- a/vendor/CPR/cpr/multipart.cpp +++ b/vendor/CPR/cpr/multipart.cpp @@ -2,4 +2,6 @@ namespace cpr { Multipart::Multipart(const std::initializer_list& p_parts) : parts{p_parts} {} +Multipart::Multipart(const std::vector& p_parts) : parts{p_parts} {} +Multipart::Multipart(const std::vector&& p_parts) : parts{p_parts} {} } // namespace cpr diff --git a/vendor/CPR/cpr/multiperform.cpp b/vendor/CPR/cpr/multiperform.cpp new file mode 100644 index 00000000..051f2d68 --- /dev/null +++ b/vendor/CPR/cpr/multiperform.cpp @@ -0,0 +1,323 @@ +#include "cpr/multiperform.h" + +#include "cpr/interceptor.h" +#include "cpr/response.h" +#include "cpr/session.h" +#include +#include +#include +#include + +namespace cpr { + +MultiPerform::MultiPerform() : multicurl_(new CurlMultiHolder()) {} + +MultiPerform::~MultiPerform() { + // Unlock all sessions + for (const std::pair, HttpMethod>& pair : sessions_) { + pair.first->isUsedInMultiPerform = false; + } +} + +void MultiPerform::AddSession(std::shared_ptr& session, HttpMethod method) { + // Check if this multiperform is download only + if (((method != HttpMethod::DOWNLOAD_REQUEST && is_download_multi_perform) && method != HttpMethod::UNDEFINED) || (method == HttpMethod::DOWNLOAD_REQUEST && !is_download_multi_perform && !sessions_.empty())) { + // Currently it is not possible to mix download and non-download methods, as download needs additional parameters + throw std::invalid_argument("Failed to add session: Cannot mix download and non-download methods!"); + } + + // Set download only if neccessary + if (method == HttpMethod::DOWNLOAD_REQUEST) { + is_download_multi_perform = true; + } + + // Add easy handle to multi handle + const CURLMcode error_code = curl_multi_add_handle(multicurl_->handle, session->curl_->handle); + if (error_code) { + std::cerr << "curl_multi_add_handle() failed, code " << static_cast(error_code) << std::endl; + return; + } + + // Lock session to the multihandle + session->isUsedInMultiPerform = true; + + // Add session to sessions_ + sessions_.emplace_back(session, method); +} + +void MultiPerform::RemoveSession(const std::shared_ptr& session) { + // Remove easy handle from multihandle + const CURLMcode error_code = curl_multi_remove_handle(multicurl_->handle, session->curl_->handle); + if (error_code) { + std::cerr << "curl_multi_remove_handle() failed, code " << static_cast(error_code) << std::endl; + return; + } + + // Unock session + session->isUsedInMultiPerform = false; + + // Remove session from sessions_ + auto it = std::find_if(sessions_.begin(), sessions_.end(), [&session](const std::pair, HttpMethod>& pair) { return session->curl_->handle == pair.first->curl_->handle; }); + if (it == sessions_.end()) { + throw std::invalid_argument("Failed to find session!"); + } + sessions_.erase(it); + + // Reset download only if empty + if (sessions_.empty()) { + is_download_multi_perform = false; + } +} + +std::vector, MultiPerform::HttpMethod>>& MultiPerform::GetSessions() { + return sessions_; +} + +const std::vector, MultiPerform::HttpMethod>>& MultiPerform::GetSessions() const { + return sessions_; +} + +void MultiPerform::DoMultiPerform() { + // Do multi perform until every handle has finished + int still_running{0}; + do { + CURLMcode error_code = curl_multi_perform(multicurl_->handle, &still_running); + if (error_code) { + std::cerr << "curl_multi_perform() failed, code " << static_cast(error_code) << std::endl; + break; + } + + if (still_running) { + const int timeout_ms{250}; + error_code = curl_multi_poll(multicurl_->handle, nullptr, 0, timeout_ms, nullptr); + if (error_code) { + std::cerr << "curl_multi_poll() failed, code " << static_cast(error_code) << std::endl; + break; + } + } + } while (still_running); +} + +std::vector MultiPerform::ReadMultiInfo(std::function&& complete_function) { + // Get infos and create Response objects + std::vector responses; + struct CURLMsg* info{nullptr}; + do { + int msgq = 0; + + // Read info from multihandle + info = curl_multi_info_read(multicurl_->handle, &msgq); + + if (info) { + // Find current session + auto it = std::find_if(sessions_.begin(), sessions_.end(), [&info](const std::pair, HttpMethod>& pair) { return pair.first->curl_->handle == info->easy_handle; }); + if (it == sessions_.end()) { + std::cerr << "Failed to find current session!" << std::endl; + break; + } + const std::shared_ptr current_session = (*it).first; + + // Add response object + // NOLINTNEXTLINE (cppcoreguidelines-pro-type-union-access) + responses.push_back(complete_function(*current_session, info->data.result)); + } + } while (info); + + // Sort response objects to match order of added sessions + std::vector sorted_responses; + for (const std::pair, HttpMethod>& pair : sessions_) { + Session& current_session = *(pair.first); + auto it = std::find_if(responses.begin(), responses.end(), [¤t_session](const Response& response) { return current_session.curl_->handle == response.curl_->handle; }); + const Response current_response = *it; + // Erase response from original vector to increase future search speed + responses.erase(it); + sorted_responses.push_back(current_response); + } + + return sorted_responses; +} + +std::vector MultiPerform::MakeRequest() { + if (!interceptors_.empty()) { + return intercept(); + } + + DoMultiPerform(); + return ReadMultiInfo([](Session& session, CURLcode curl_error) -> Response { return session.Complete(curl_error); }); +} + +std::vector MultiPerform::MakeDownloadRequest() { + if (!interceptors_.empty()) { + return intercept(); + } + + DoMultiPerform(); + return ReadMultiInfo([](Session& session, CURLcode curl_error) -> Response { return session.CompleteDownload(curl_error); }); +} + +void MultiPerform::PrepareSessions() { + for (const std::pair, HttpMethod>& pair : sessions_) { + switch (pair.second) { + case HttpMethod::GET_REQUEST: + pair.first->PrepareGet(); + break; + case HttpMethod::POST_REQUEST: + pair.first->PreparePost(); + break; + case HttpMethod::PUT_REQUEST: + pair.first->PreparePut(); + break; + case HttpMethod::DELETE_REQUEST: + pair.first->PrepareDelete(); + break; + case HttpMethod::PATCH_REQUEST: + pair.first->PreparePatch(); + break; + case HttpMethod::HEAD_REQUEST: + pair.first->PrepareHead(); + break; + case HttpMethod::OPTIONS_REQUEST: + pair.first->PrepareOptions(); + break; + default: + std::cerr << "PrepareSessions failed: Undefined HttpMethod or download without arguments!" << std::endl; + return; + } + } +} + +void MultiPerform::PrepareDownloadSession(size_t sessions_index, const WriteCallback& write) { + const std::pair, HttpMethod>& pair = sessions_[sessions_index]; + switch (pair.second) { + case HttpMethod::DOWNLOAD_REQUEST: + pair.first->PrepareDownload(write); + break; + default: + std::cerr << "PrepareSessions failed: Undefined HttpMethod or non download method with arguments!" << std::endl; + return; + } +} + +void MultiPerform::PrepareDownloadSession(size_t sessions_index, std::ofstream& file) { + const std::pair, HttpMethod>& pair = sessions_[sessions_index]; + switch (pair.second) { + case HttpMethod::DOWNLOAD_REQUEST: + pair.first->PrepareDownload(file); + break; + default: + std::cerr << "PrepareSessions failed: Undefined HttpMethod or non download method with arguments!" << std::endl; + return; + } +} + +void MultiPerform::SetHttpMethod(HttpMethod method) { + for (std::pair, HttpMethod>& pair : sessions_) { + pair.second = method; + } +} + +void MultiPerform::PrepareGet() { + SetHttpMethod(HttpMethod::GET_REQUEST); + PrepareSessions(); +} + +void MultiPerform::PrepareDelete() { + SetHttpMethod(HttpMethod::DELETE_REQUEST); + PrepareSessions(); +} + +void MultiPerform::PreparePut() { + SetHttpMethod(HttpMethod::PUT_REQUEST); + PrepareSessions(); +} + +void MultiPerform::PreparePatch() { + SetHttpMethod(HttpMethod::PATCH_REQUEST); + PrepareSessions(); +} + +void MultiPerform::PrepareHead() { + SetHttpMethod(HttpMethod::HEAD_REQUEST); + PrepareSessions(); +} + +void MultiPerform::PrepareOptions() { + SetHttpMethod(HttpMethod::OPTIONS_REQUEST); + PrepareSessions(); +} + +void MultiPerform::PreparePost() { + SetHttpMethod(HttpMethod::POST_REQUEST); + PrepareSessions(); +} + +std::vector MultiPerform::Get() { + PrepareGet(); + return MakeRequest(); +} + +std::vector MultiPerform::Delete() { + PrepareDelete(); + return MakeRequest(); +} + +std::vector MultiPerform::Put() { + PreparePut(); + return MakeRequest(); +} + +std::vector MultiPerform::Head() { + PrepareHead(); + return MakeRequest(); +} + +std::vector MultiPerform::Options() { + PrepareOptions(); + return MakeRequest(); +} + +std::vector MultiPerform::Patch() { + PreparePatch(); + return MakeRequest(); +} + +std::vector MultiPerform::Post() { + PreparePost(); + return MakeRequest(); +} + +std::vector MultiPerform::Perform() { + PrepareSessions(); + return MakeRequest(); +} + +std::vector MultiPerform::proceed() { + // Check if this multiperform mixes download and non download requests + if (!sessions_.empty()) { + const bool new_is_download_multi_perform = sessions_.front().second == HttpMethod::DOWNLOAD_REQUEST; + + for (const std::pair, HttpMethod>& s : sessions_) { + const HttpMethod method = s.second; + if ((new_is_download_multi_perform && method != HttpMethod::DOWNLOAD_REQUEST) || (!new_is_download_multi_perform && method == HttpMethod::DOWNLOAD_REQUEST)) { + throw std::invalid_argument("Failed to proceed with session: Cannot mix download and non-download methods!"); + } + } + is_download_multi_perform = new_is_download_multi_perform; + } + + PrepareSessions(); + return MakeRequest(); +} + +std::vector MultiPerform::intercept() { + // At least one interceptor exists -> Execute its intercept function + const std::shared_ptr interceptor = interceptors_.front(); + interceptors_.pop(); + return interceptor->intercept(*this); +} + +void MultiPerform::AddInterceptor(const std::shared_ptr& pinterceptor) { + interceptors_.push(pinterceptor); +} + +} // namespace cpr diff --git a/vendor/CPR/cpr/parameters.cpp b/vendor/CPR/cpr/parameters.cpp index a24c3936..ed62d2ba 100644 --- a/vendor/CPR/cpr/parameters.cpp +++ b/vendor/CPR/cpr/parameters.cpp @@ -1,10 +1,4 @@ #include "cpr/parameters.h" -#include -#include - -#include "cpr/util.h" - namespace cpr { -Parameters::Parameters(const std::initializer_list& parameters) : CurlContainer(parameters) {} } // namespace cpr diff --git a/vendor/CPR/cpr/payload.cpp b/vendor/CPR/cpr/payload.cpp index 78373fa3..c3265c1a 100644 --- a/vendor/CPR/cpr/payload.cpp +++ b/vendor/CPR/cpr/payload.cpp @@ -1,10 +1,4 @@ #include "cpr/payload.h" -#include -#include - -#include "cpr/util.h" - namespace cpr { -Payload::Payload(const std::initializer_list& pairs) : CurlContainer(pairs) {} } // namespace cpr diff --git a/vendor/CPR/cpr/proxies.cpp b/vendor/CPR/cpr/proxies.cpp index 446f7d76..0d3fe989 100644 --- a/vendor/CPR/cpr/proxies.cpp +++ b/vendor/CPR/cpr/proxies.cpp @@ -7,8 +7,8 @@ namespace cpr { -Proxies::Proxies(const std::initializer_list>& hosts) - : hosts_{hosts} {} +Proxies::Proxies(const std::initializer_list>& hosts) : hosts_{hosts} {} +Proxies::Proxies(const std::map& hosts) : hosts_{hosts} {} bool Proxies::has(const std::string& protocol) const { return hosts_.count(protocol) > 0; diff --git a/vendor/CPR/cpr/proxyauth.cpp b/vendor/CPR/cpr/proxyauth.cpp index 47d914de..bfb0f555 100644 --- a/vendor/CPR/cpr/proxyauth.cpp +++ b/vendor/CPR/cpr/proxyauth.cpp @@ -1,16 +1,30 @@ #include "cpr/proxyauth.h" +#include "cpr/util.h" namespace cpr { -const char* EncodedAuthentication::GetAuthString() const noexcept { - return auth_string_.c_str(); +EncodedAuthentication::~EncodedAuthentication() noexcept { + util::secureStringClear(username); + util::secureStringClear(password); +} + +const std::string& EncodedAuthentication::GetUsername() const { + return username; +} + +const std::string& EncodedAuthentication::GetPassword() const { + return password; } bool ProxyAuthentication::has(const std::string& protocol) const { return proxyAuth_.count(protocol) > 0; } -const char* ProxyAuthentication::operator[](const std::string& protocol) { - return proxyAuth_[protocol].GetAuthString(); +const char* ProxyAuthentication::GetUsername(const std::string& protocol) { + return proxyAuth_[protocol].username.c_str(); +} + +const char* ProxyAuthentication::GetPassword(const std::string& protocol) { + return proxyAuth_[protocol].password.c_str(); } } // namespace cpr diff --git a/vendor/CPR/cpr/redirect.cpp b/vendor/CPR/cpr/redirect.cpp index fade1304..f95dc756 100644 --- a/vendor/CPR/cpr/redirect.cpp +++ b/vendor/CPR/cpr/redirect.cpp @@ -19,7 +19,7 @@ PostRedirectFlags operator~(PostRedirectFlags flag) { PostRedirectFlags& operator|=(PostRedirectFlags& lhs, PostRedirectFlags rhs) { lhs = static_cast(static_cast(lhs) | static_cast(rhs)); - uint8_t tmp = static_cast(lhs); + const uint8_t tmp = static_cast(lhs); lhs = static_cast(tmp); return lhs; } diff --git a/vendor/CPR/cpr/response.cpp b/vendor/CPR/cpr/response.cpp index 366bff5e..c9c73a24 100644 --- a/vendor/CPR/cpr/response.cpp +++ b/vendor/CPR/cpr/response.cpp @@ -1,12 +1,9 @@ #include "cpr/response.h" namespace cpr { -Response::Response(std::shared_ptr curl, std::string&& p_text, - std::string&& p_header_string, Cookies&& p_cookies = Cookies{}, - Error&& p_error = Error{}) - : curl_(std::move(curl)), text(std::move(p_text)), cookies(std::move(p_cookies)), - error(std::move(p_error)) { - header = cpr::util::parseHeader(p_header_string, &status_line, &reason); + +Response::Response(std::shared_ptr curl, std::string&& p_text, std::string&& p_header_string, Cookies&& p_cookies = Cookies{}, Error&& p_error = Error{}) : curl_(std::move(curl)), text(std::move(p_text)), cookies(std::move(p_cookies)), error(std::move(p_error)), raw_header(std::move(p_header_string)) { + header = cpr::util::parseHeader(raw_header, &status_line, &reason); assert(curl_); assert(curl_->handle); curl_easy_getinfo(curl_->handle, CURLINFO_RESPONSE_CODE, &status_code); @@ -14,7 +11,7 @@ Response::Response(std::shared_ptr curl, std::string&& p_text, char* url_string{nullptr}; curl_easy_getinfo(curl_->handle, CURLINFO_EFFECTIVE_URL, &url_string); url = Url(url_string); -#if LIBCURL_VERSION_NUM >= 0x073700 +#if LIBCURL_VERSION_NUM >= 0x073700 // 7.55.0 curl_easy_getinfo(curl_->handle, CURLINFO_SIZE_DOWNLOAD_T, &downloaded_bytes); curl_easy_getinfo(curl_->handle, CURLINFO_SIZE_UPLOAD_T, &uploaded_bytes); #else @@ -27,20 +24,21 @@ Response::Response(std::shared_ptr curl, std::string&& p_text, curl_easy_getinfo(curl_->handle, CURLINFO_REDIRECT_COUNT, &redirect_count); } -std::vector Response::GetCertInfo() { +std::vector Response::GetCertInfos() { assert(curl_); assert(curl_->handle); curl_certinfo* ci{nullptr}; curl_easy_getinfo(curl_->handle, CURLINFO_CERTINFO, &ci); - std::vector info; - info.resize(ci->num_of_certs); + std::vector cert_infos; for (int i = 0; i < ci->num_of_certs; i++) { - // No way around here. + CertInfo cert_info; // NOLINTNEXTLINE (cppcoreguidelines-pro-bounds-pointer-arithmetic) - info[i] = std::string{ci->certinfo[i]->data}; + for (curl_slist* slist = ci->certinfo[i]; slist; slist = slist->next) { + cert_info.emplace_back(std::string{slist->data}); + } + cert_infos.emplace_back(cert_info); } - - return info; + return cert_infos; } } // namespace cpr diff --git a/vendor/CPR/cpr/session.cpp b/vendor/CPR/cpr/session.cpp index 1994ecb6..2b4bdcc4 100644 --- a/vendor/CPR/cpr/session.cpp +++ b/vendor/CPR/cpr/session.cpp @@ -2,18 +2,26 @@ #include #include +#include #include #include +#include +#include #include #include +#include "cpr/async.h" #include "cpr/cprtypes.h" +#include "cpr/interceptor.h" #include "cpr/util.h" +#if SUPPORT_CURLOPT_SSL_CTX_FUNCTION +#include "cpr/ssl_ctx.h" +#endif + namespace cpr { - // Ignored here since libcurl reqires a long: // NOLINTNEXTLINE(google-runtime-int) constexpr long ON = 1L; @@ -21,137 +29,18 @@ constexpr long ON = 1L; // NOLINTNEXTLINE(google-runtime-int) constexpr long OFF = 0L; -class Session::Impl { - public: - Impl(); - - void SetUrl(const Url& url); - void SetParameters(const Parameters& parameters); - void SetParameters(Parameters&& parameters); - void SetHeader(const Header& header); - void UpdateHeader(const Header& header); - void SetTimeout(const Timeout& timeout); - void SetConnectTimeout(const ConnectTimeout& timeout); - void SetAuth(const Authentication& auth); -// Only supported with libcurl >= 7.61.0. -// As an alternative use SetHeader and add the token manually. -#if LIBCURL_VERSION_NUM >= 0x073D00 - void SetBearer(const Bearer& token); -#endif - void SetDigest(const Digest& auth); - void SetUserAgent(const UserAgent& ua); - void SetPayload(Payload&& payload); - void SetPayload(const Payload& payload); - void SetProxies(Proxies&& proxies); - void SetProxies(const Proxies& proxies); - void SetProxyAuth(ProxyAuthentication&& proxy_auth); - void SetProxyAuth(const ProxyAuthentication& proxy_auth); - void SetMultipart(Multipart&& multipart); - void SetMultipart(const Multipart& multipart); - void SetNTLM(const NTLM& auth); - void SetRedirect(const Redirect& redirect); - void SetCookies(const Cookies& cookies); - void SetBody(Body&& body); - void SetBody(const Body& body); - void SetReadCallback(const ReadCallback& read); - void SetHeaderCallback(const HeaderCallback& header); - void SetWriteCallback(const WriteCallback& write); - void SetProgressCallback(const ProgressCallback& progress); - void SetDebugCallback(const DebugCallback& debug); - void SetLowSpeed(const LowSpeed& low_speed); - void SetVerifySsl(const VerifySsl& verify); - void SetLimitRate(const LimitRate& limit_rate); - void SetUnixSocket(const UnixSocket& unix_socket); - void SetVerbose(const Verbose& verbose); - void SetSslOptions(const SslOptions& options); - void SetInterface(const Interface& iface); - - cpr_off_t GetDownloadFileLength(); - Response Delete(); - Response Download(const WriteCallback& write); - Response Download(std::ofstream& file); - Response Get(); - Response Head(); - Response Options(); - Response Patch(); - Response Post(); - Response Put(); - - std::shared_ptr GetCurlHolder(); - - void PrepareDelete(); - void PrepareGet(); - void PrepareHead(); - void PrepareOptions(); - void PreparePatch(); - void PreparePost(); - void PreparePut(); - Response Complete(CURLcode curl_error); - - private: - void SetHeaderInternal(); - bool hasBodyOrPayload_{false}; - - std::shared_ptr curl_; - Url url_; - Parameters parameters_; - Proxies proxies_; - ProxyAuthentication proxyAuth_; - Header header_; - /** - * Will be set by the read callback. - * Ensures that the "Transfer-Encoding" is set to "chunked", if not overriden in header_. - **/ - bool chunkedTransferEncoding{false}; - - ReadCallback readcb_; - HeaderCallback headercb_; - WriteCallback writecb_; - ProgressCallback progresscb_; - DebugCallback debugcb_; - std::string response_string_; - std::string header_string_; - - Response makeDownloadRequest(); - Response makeRequest(); - void prepareCommon(); -}; - -Session::Impl::Impl() : curl_(new CurlHolder()) { - // Set up some sensible defaults - curl_version_info_data* version_info = curl_version_info(CURLVERSION_NOW); - std::string version = "curl/" + std::string{version_info->version}; - curl_easy_setopt(curl_->handle, CURLOPT_USERAGENT, version.c_str()); - SetRedirect(Redirect()); - curl_easy_setopt(curl_->handle, CURLOPT_NOPROGRESS, 1L); - curl_easy_setopt(curl_->handle, CURLOPT_ERRORBUFFER, curl_->error.data()); - curl_easy_setopt(curl_->handle, CURLOPT_COOKIEFILE, ""); -#ifdef CPR_CURL_NOSIGNAL - curl_easy_setopt(curl_->handle, CURLOPT_NOSIGNAL, 1L); -#endif - -#if LIBCURL_VERSION_MAJOR >= 7 -#if LIBCURL_VERSION_MINOR >= 25 -#if LIBCURL_VERSION_PATCH >= 0 - curl_easy_setopt(curl_->handle, CURLOPT_TCP_KEEPALIVE, 1L); -#endif -#endif -#endif +CURLcode Session::DoEasyPerform() { + if (isUsedInMultiPerform) { + std::cerr << "curl_easy_perform cannot be executed if the CURL handle is used in a MultiPerform." << std::endl; + return CURLcode::CURLE_FAILED_INIT; + } + puts("about to do easy perform..."); + auto r = curl_easy_perform(curl_->handle); + puts("done with easy perform..."); + return r; } -void Session::Impl::SetUrl(const Url& url) { - url_ = url; -} - -void Session::Impl::SetParameters(const Parameters& parameters) { - parameters_ = parameters; -} - -void Session::Impl::SetParameters(Parameters&& parameters) { - parameters_ = std::move(parameters); -} - -void Session::Impl::SetHeaderInternal() { +void Session::SetHeaderInternal() { curl_slist* chunk = nullptr; for (const std::pair& item : header_) { std::string header_string = item.first; @@ -168,181 +57,381 @@ void Session::Impl::SetHeaderInternal() { } // Set the chunked transfer encoding in case it does not already exist: - if (chunkedTransferEncoding && header_.find("Transfer-Encoding") == header_.end()) { + if (chunkedTransferEncoding_ && header_.find("Transfer-Encoding") == header_.end()) { curl_slist* temp = curl_slist_append(chunk, "Transfer-Encoding:chunked"); if (temp) { chunk = temp; } } + // libcurl would prepare the header "Expect: 100-continue" by default when uploading files larger than 1 MB. + // Here we would like to disable this feature: + curl_slist* temp = curl_slist_append(chunk, "Expect:"); + if (temp) { + chunk = temp; + } + curl_easy_setopt(curl_->handle, CURLOPT_HTTPHEADER, chunk); curl_slist_free_all(curl_->chunk); curl_->chunk = chunk; } -void Session::Impl::SetHeader(const Header& header) { - header_ = header; -} - -void Session::Impl::UpdateHeader(const Header& header) { - for (const std::pair& item : header) { - header_[item.first] = item.second; - } -} - -void Session::Impl::SetTimeout(const Timeout& timeout) { - curl_easy_setopt(curl_->handle, CURLOPT_TIMEOUT_MS, timeout.Milliseconds()); -} - -void Session::Impl::SetConnectTimeout(const ConnectTimeout& timeout) { - curl_easy_setopt(curl_->handle, CURLOPT_CONNECTTIMEOUT_MS, timeout.Milliseconds()); -} - -void Session::Impl::SetVerbose(const Verbose& verbose) { - curl_easy_setopt(curl_->handle, CURLOPT_VERBOSE, verbose.verbose ? ON : OFF); -} - -void Session::Impl::SetAuth(const Authentication& auth) { - // Ignore here since this has been defined by libcurl. - curl_easy_setopt(curl_->handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); - curl_easy_setopt(curl_->handle, CURLOPT_USERPWD, auth.GetAuthString()); -} - -void Session::Impl::SetInterface(const Interface& iface) { - if (iface.str().empty()) { - curl_easy_setopt(curl_->handle, CURLOPT_INTERFACE, nullptr); - } else { - curl_easy_setopt(curl_->handle, CURLOPT_INTERFACE, iface.c_str()); - } -} - // Only supported with libcurl >= 7.61.0. // As an alternative use SetHeader and add the token manually. #if LIBCURL_VERSION_NUM >= 0x073D00 -void Session::Impl::SetBearer(const Bearer& token) { +void Session::SetBearer(const Bearer& token) { // Ignore here since this has been defined by libcurl. curl_easy_setopt(curl_->handle, CURLOPT_HTTPAUTH, CURLAUTH_BEARER); curl_easy_setopt(curl_->handle, CURLOPT_XOAUTH2_BEARER, token.GetToken()); } #endif -void Session::Impl::SetDigest(const Digest& auth) { - // Ignore here since this has been defined by libcurl. - curl_easy_setopt(curl_->handle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST); - curl_easy_setopt(curl_->handle, CURLOPT_USERPWD, auth.GetAuthString()); +Session::Session() : curl_(new CurlHolder()) { + // Set up some sensible defaults + curl_version_info_data* version_info = curl_version_info(CURLVERSION_NOW); + const std::string version = "curl/" + std::string{version_info->version}; + curl_easy_setopt(curl_->handle, CURLOPT_USERAGENT, version.c_str()); + SetRedirect(Redirect()); + curl_easy_setopt(curl_->handle, CURLOPT_NOPROGRESS, 1L); + curl_easy_setopt(curl_->handle, CURLOPT_ERRORBUFFER, curl_->error.data()); + curl_easy_setopt(curl_->handle, CURLOPT_COOKIEFILE, ""); +#ifdef CPR_CURL_NOSIGNAL + curl_easy_setopt(curl_->handle, CURLOPT_NOSIGNAL, 1L); +#endif + +#if LIBCURL_VERSION_NUM >= 0x071900 // 7.25.0 + curl_easy_setopt(curl_->handle, CURLOPT_TCP_KEEPALIVE, 1L); +#endif } -void Session::Impl::SetUserAgent(const UserAgent& ua) { - curl_easy_setopt(curl_->handle, CURLOPT_USERAGENT, ua.c_str()); -} - -void Session::Impl::SetPayload(Payload&& payload) { - hasBodyOrPayload_ = true; - const std::string content = payload.GetContent(*curl_); - curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, static_cast(content.length())); - curl_easy_setopt(curl_->handle, CURLOPT_COPYPOSTFIELDS, content.c_str()); -} - -void Session::Impl::SetPayload(const Payload& payload) { - hasBodyOrPayload_ = true; - const std::string content = payload.GetContent(*curl_); - curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, static_cast(content.length())); - curl_easy_setopt(curl_->handle, CURLOPT_COPYPOSTFIELDS, content.c_str()); -} - -void Session::Impl::SetProxies(const Proxies& proxies) { - proxies_ = proxies; -} - -void Session::Impl::SetProxies(Proxies&& proxies) { - proxies_ = std::move(proxies); -} - -void Session::Impl::SetProxyAuth(ProxyAuthentication&& proxy_auth) { - proxyAuth_ = std::move(proxy_auth); -} - -void Session::Impl::SetProxyAuth(const ProxyAuthentication& proxy_auth) { - proxyAuth_ = proxy_auth; -} - -void Session::Impl::SetMultipart(Multipart&& multipart) { - curl_httppost* formpost = nullptr; - curl_httppost* lastptr = nullptr; - - for (const Part& part : multipart.parts) { - std::vector formdata; - if (part.is_buffer) { - // Do not use formdata, to prevent having to use reinterpreter_cast: - curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, part.name.c_str(), CURLFORM_BUFFER, part.value.c_str(), CURLFORM_BUFFERPTR, part.data, CURLFORM_BUFFERLENGTH, part.datalen, CURLFORM_END); - } else { - formdata.push_back({CURLFORM_COPYNAME, part.name.c_str()}); - if (part.is_file) { - formdata.push_back({CURLFORM_FILE, part.value.c_str()}); - } else { - formdata.push_back({CURLFORM_COPYCONTENTS, part.value.c_str()}); - } - } - if (!part.content_type.empty()) { - formdata.push_back({CURLFORM_CONTENTTYPE, part.content_type.c_str()}); - } - - formdata.push_back({CURLFORM_END, nullptr}); - curl_formadd(&formpost, &lastptr, CURLFORM_ARRAY, formdata.data(), CURLFORM_END); +Response Session::makeDownloadRequest() { + if (!interceptors_.empty()) { + return intercept(); } - curl_easy_setopt(curl_->handle, CURLOPT_HTTPPOST, formpost); - hasBodyOrPayload_ = true; - curl_formfree(curl_->formpost); - curl_->formpost = formpost; + const CURLcode curl_error = DoEasyPerform(); + + return CompleteDownload(curl_error); } -void Session::Impl::SetMultipart(const Multipart& multipart) { - curl_httppost* formpost = nullptr; - curl_httppost* lastptr = nullptr; +void Session::prepareCommon() { + assert(curl_->handle); - for (const Part& part : multipart.parts) { - std::vector formdata; - if (part.is_buffer) { - // Do not use formdata, to prevent having to use reinterpreter_cast: - curl_formadd(&formpost, &lastptr, CURLFORM_COPYNAME, part.name.c_str(), CURLFORM_BUFFER, part.value.c_str(), CURLFORM_BUFFERPTR, part.data, CURLFORM_BUFFERLENGTH, part.datalen, CURLFORM_END); - } else { - formdata.push_back({CURLFORM_COPYNAME, part.name.c_str()}); - if (part.is_file) { - formdata.push_back({CURLFORM_FILE, part.value.c_str()}); - } else { - formdata.push_back({CURLFORM_COPYCONTENTS, part.value.c_str()}); - } - } - if (!part.content_type.empty()) { - formdata.push_back({CURLFORM_CONTENTTYPE, part.content_type.c_str()}); - } + // Set Header: + SetHeaderInternal(); - formdata.push_back({CURLFORM_END, nullptr}); - curl_formadd(&formpost, &lastptr, CURLFORM_ARRAY, formdata.data(), CURLFORM_END); + const std::string parametersContent = parameters_.GetContent(*curl_); + if (!parametersContent.empty()) { + const Url new_url{url_ + "?" + parametersContent}; + curl_easy_setopt(curl_->handle, CURLOPT_URL, new_url.c_str()); + } else { + curl_easy_setopt(curl_->handle, CURLOPT_URL, url_.c_str()); } - curl_easy_setopt(curl_->handle, CURLOPT_HTTPPOST, formpost); - hasBodyOrPayload_ = true; - curl_formfree(curl_->formpost); - curl_->formpost = formpost; + // Proxy: + const std::string protocol = url_.str().substr(0, url_.str().find(':')); + if (proxies_.has(protocol)) { + curl_easy_setopt(curl_->handle, CURLOPT_PROXY, proxies_[protocol].c_str()); + if (proxyAuth_.has(protocol)) { + curl_easy_setopt(curl_->handle, CURLOPT_PROXYUSERNAME, proxyAuth_.GetUsername(protocol)); + curl_easy_setopt(curl_->handle, CURLOPT_PROXYPASSWORD, proxyAuth_.GetPassword(protocol)); + } + } + +#if LIBCURL_VERSION_NUM >= 0x071506 // 7.21.6 + if (acceptEncoding_.empty()) { + // Enable all supported built-in compressions + curl_easy_setopt(curl_->handle, CURLOPT_ACCEPT_ENCODING, ""); + } else if (acceptEncoding_.disabled()) { + // Disable curl adding the 'Accept-Encoding' header + curl_easy_setopt(curl_->handle, CURLOPT_ACCEPT_ENCODING, nullptr); + } else { + curl_easy_setopt(curl_->handle, CURLOPT_ACCEPT_ENCODING, acceptEncoding_.getString().c_str()); + } +#endif + +#if LIBCURL_VERSION_NUM >= 0x071900 // 7.25.0 +#if SUPPORT_SSL_NO_REVOKE + // NOLINTNEXTLINE (google-runtime-int) + long bitmask{0}; + curl_easy_setopt(curl_->handle, CURLOPT_SSL_OPTIONS, &bitmask); + const bool noRevoke = bitmask & CURLSSLOPT_NO_REVOKE; +#endif + + // Fix loading certs from Windows cert store when using OpenSSL: + curl_easy_setopt(curl_->handle, CURLOPT_SSL_OPTIONS, CURLSSLOPT_NATIVE_CA); + +// Ensure SSL no revoke is still set +#if SUPPORT_SSL_NO_REVOKE + if (noRevoke) { + curl_easy_setopt(curl_->handle, CURLOPT_SSL_OPTIONS, CURLSSLOPT_NO_REVOKE); + } +#endif +#endif + + curl_->error[0] = '\0'; + + response_string_.clear(); + if (response_string_reserve_size_ > 0) { + response_string_.reserve(response_string_reserve_size_); + } + header_string_.clear(); + if (!this->writecb_.callback) { + curl_easy_setopt(curl_->handle, CURLOPT_WRITEFUNCTION, cpr::util::writeFunction); + curl_easy_setopt(curl_->handle, CURLOPT_WRITEDATA, &response_string_); + } + if (!this->headercb_.callback) { + curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, cpr::util::writeFunction); + curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, &header_string_); + } + + // Enable so we are able to retrive certificate information: + curl_easy_setopt(curl_->handle, CURLOPT_CERTINFO, 1L); } -void Session::Impl::SetLimitRate(const LimitRate& limit_rate) { +void Session::prepareCommonDownload() { + assert(curl_->handle); + + // Set Header: + SetHeaderInternal(); + + const std::string parametersContent = parameters_.GetContent(*curl_); + if (!parametersContent.empty()) { + const Url new_url{url_ + "?" + parametersContent}; + curl_easy_setopt(curl_->handle, CURLOPT_URL, new_url.c_str()); + } else { + curl_easy_setopt(curl_->handle, CURLOPT_URL, url_.c_str()); + } + + const std::string protocol = url_.str().substr(0, url_.str().find(':')); + if (proxies_.has(protocol)) { + curl_easy_setopt(curl_->handle, CURLOPT_PROXY, proxies_[protocol].c_str()); + if (proxyAuth_.has(protocol)) { + curl_easy_setopt(curl_->handle, CURLOPT_PROXYUSERNAME, proxyAuth_.GetUsername(protocol)); + curl_easy_setopt(curl_->handle, CURLOPT_PROXYPASSWORD, proxyAuth_.GetPassword(protocol)); + } + } + + curl_->error[0] = '\0'; + + header_string_.clear(); + if (headercb_.callback) { + curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, cpr::util::headerUserFunction); + curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, &headercb_); + } else { + curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, cpr::util::writeFunction); + curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, &header_string_); + } +} + +Response Session::makeRequest() { + if (!interceptors_.empty()) { + return intercept(); + } + + const CURLcode curl_error = DoEasyPerform(); + return Complete(curl_error); +} + +void Session::SetLimitRate(const LimitRate& limit_rate) { curl_easy_setopt(curl_->handle, CURLOPT_MAX_RECV_SPEED_LARGE, limit_rate.downrate); curl_easy_setopt(curl_->handle, CURLOPT_MAX_SEND_SPEED_LARGE, limit_rate.uprate); } -void Session::Impl::SetNTLM(const NTLM& auth) { - // Ignore here since this has been defined by libcurl. - curl_easy_setopt(curl_->handle, CURLOPT_HTTPAUTH, CURLAUTH_NTLM); - curl_easy_setopt(curl_->handle, CURLOPT_USERPWD, auth.GetAuthString()); +void Session::SetReadCallback(const ReadCallback& read) { + readcb_ = read; + curl_easy_setopt(curl_->handle, CURLOPT_INFILESIZE_LARGE, read.size); + curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, read.size); + curl_easy_setopt(curl_->handle, CURLOPT_READFUNCTION, cpr::util::readUserFunction); + curl_easy_setopt(curl_->handle, CURLOPT_READDATA, &readcb_); + chunkedTransferEncoding_ = read.size == -1; } -void Session::Impl::SetRedirect(const Redirect& redirect) { +void Session::SetHeaderCallback(const HeaderCallback& header) { + curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, cpr::util::headerUserFunction); + headercb_ = header; + curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, &headercb_); +} + +void Session::SetWriteCallback(const WriteCallback& write) { + curl_easy_setopt(curl_->handle, CURLOPT_WRITEFUNCTION, cpr::util::writeUserFunction); + writecb_ = write; + curl_easy_setopt(curl_->handle, CURLOPT_WRITEDATA, &writecb_); +} + +void Session::SetProgressCallback(const ProgressCallback& progress) { + progresscb_ = progress; + if (isCancellable) { + cancellationcb_.SetProgressCallback(progresscb_); + return; + } +#if LIBCURL_VERSION_NUM < 0x072000 // 7.32.0 + curl_easy_setopt(curl_->handle, CURLOPT_PROGRESSFUNCTION, cpr::util::progressUserFunction); + curl_easy_setopt(curl_->handle, CURLOPT_PROGRESSDATA, &progresscb_); +#else + curl_easy_setopt(curl_->handle, CURLOPT_XFERINFOFUNCTION, cpr::util::progressUserFunction); + curl_easy_setopt(curl_->handle, CURLOPT_XFERINFODATA, &progresscb_); +#endif + curl_easy_setopt(curl_->handle, CURLOPT_NOPROGRESS, 0L); +} + +void Session::SetDebugCallback(const DebugCallback& debug) { + curl_easy_setopt(curl_->handle, CURLOPT_DEBUGFUNCTION, cpr::util::debugUserFunction); + debugcb_ = debug; + curl_easy_setopt(curl_->handle, CURLOPT_DEBUGDATA, &debugcb_); + curl_easy_setopt(curl_->handle, CURLOPT_VERBOSE, 1L); +} + +void Session::SetUrl(const Url& url) { + url_ = url; +} + +void Session::SetResolve(const Resolve& resolve) { + SetResolves({resolve}); +} + +void Session::SetResolves(const std::vector& resolves) { + curl_slist_free_all(curl_->resolveCurlList); + curl_->resolveCurlList = nullptr; + for (const Resolve& resolve : resolves) { + for (const uint16_t port : resolve.ports) { + curl_->resolveCurlList = curl_slist_append(curl_->resolveCurlList, (resolve.host + ":" + std::to_string(port) + ":" + resolve.addr).c_str()); + } + } + curl_easy_setopt(curl_->handle, CURLOPT_RESOLVE, curl_->resolveCurlList); +} + +void Session::SetParameters(const Parameters& parameters) { + parameters_ = parameters; +} + +void Session::SetParameters(Parameters&& parameters) { + parameters_ = std::move(parameters); +} + +void Session::SetHeader(const Header& header) { + header_ = header; +} + +void Session::UpdateHeader(const Header& header) { + for (const std::pair& item : header) { + header_[item.first] = item.second; + } +} + +void Session::SetTimeout(const Timeout& timeout) { + curl_easy_setopt(curl_->handle, CURLOPT_TIMEOUT_MS, timeout.Milliseconds()); +} + +void Session::SetConnectTimeout(const ConnectTimeout& timeout) { + curl_easy_setopt(curl_->handle, CURLOPT_CONNECTTIMEOUT_MS, timeout.Milliseconds()); +} + +void Session::SetAuth(const Authentication& auth) { + // Ignore here since this has been defined by libcurl. + switch (auth.GetAuthMode()) { + case AuthMode::BASIC: + curl_easy_setopt(curl_->handle, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_easy_setopt(curl_->handle, CURLOPT_USERPWD, auth.GetAuthString()); + break; + case AuthMode::DIGEST: + curl_easy_setopt(curl_->handle, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST); + curl_easy_setopt(curl_->handle, CURLOPT_USERPWD, auth.GetAuthString()); + break; + case AuthMode::NTLM: + curl_easy_setopt(curl_->handle, CURLOPT_HTTPAUTH, CURLAUTH_NTLM); + curl_easy_setopt(curl_->handle, CURLOPT_USERPWD, auth.GetAuthString()); + break; + } +} + +void Session::SetUserAgent(const UserAgent& ua) { + curl_easy_setopt(curl_->handle, CURLOPT_USERAGENT, ua.c_str()); +} + +void Session::SetPayload(const Payload& payload) { + hasBodyOrPayload_ = true; + const std::string content = payload.GetContent(*curl_); + curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, static_cast(content.length())); + curl_easy_setopt(curl_->handle, CURLOPT_COPYPOSTFIELDS, content.c_str()); +} + +void Session::SetPayload(Payload&& payload) { + hasBodyOrPayload_ = true; + const std::string content = payload.GetContent(*curl_); + curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, static_cast(content.length())); + curl_easy_setopt(curl_->handle, CURLOPT_COPYPOSTFIELDS, content.c_str()); +} + +void Session::SetProxies(const Proxies& proxies) { + proxies_ = proxies; +} + +void Session::SetProxies(Proxies&& proxies) { + proxies_ = std::move(proxies); +} + +void Session::SetProxyAuth(ProxyAuthentication&& proxy_auth) { + proxyAuth_ = std::move(proxy_auth); +} + +void Session::SetProxyAuth(const ProxyAuthentication& proxy_auth) { + proxyAuth_ = proxy_auth; +} + +void Session::SetMultipart(const Multipart& multipart) { + // Make sure, we have a empty multipart to start with: + if (curl_->multipart) { + curl_mime_free(curl_->multipart); + } + curl_->multipart = curl_mime_init(curl_->handle); + + // Add all multipart pieces: + for (const Part& part : multipart.parts) { + if (part.is_file) { + for (const File& file : part.files) { + curl_mimepart* mimePart = curl_mime_addpart(curl_->multipart); + if (!part.content_type.empty()) { + curl_mime_type(mimePart, part.content_type.c_str()); + } + + curl_mime_filedata(mimePart, file.filepath.c_str()); + curl_mime_name(mimePart, part.name.c_str()); + + if (file.hasOverridenFilename()) { + curl_mime_filename(mimePart, file.overriden_filename.c_str()); + } + } + } else { + curl_mimepart* mimePart = curl_mime_addpart(curl_->multipart); + if (!part.content_type.empty()) { + curl_mime_type(mimePart, part.content_type.c_str()); + } + if (part.is_buffer) { + // Do not use formdata, to prevent having to use reinterpreter_cast: + curl_mime_name(mimePart, part.name.c_str()); + curl_mime_data(mimePart, part.data, part.datalen); + curl_mime_filename(mimePart, part.value.c_str()); + } else { + curl_mime_name(mimePart, part.name.c_str()); + curl_mime_data(mimePart, part.value.c_str(), CURL_ZERO_TERMINATED); + } + } + } + + curl_easy_setopt(curl_->handle, CURLOPT_MIMEPOST, curl_->multipart); + hasBodyOrPayload_ = true; +} + +void Session::SetMultipart(Multipart&& multipart) { + SetMultipart(multipart); +} + +void Session::SetRedirect(const Redirect& redirect) { curl_easy_setopt(curl_->handle, CURLOPT_FOLLOWLOCATION, redirect.follow ? 1L : 0L); curl_easy_setopt(curl_->handle, CURLOPT_MAXREDIRS, redirect.maximum); + curl_easy_setopt(curl_->handle, CURLOPT_UNRESTRICTED_AUTH, redirect.cont_send_cred ? 1L : 0L); // NOLINTNEXTLINE (google-runtime-int) long mask = 0; @@ -358,78 +447,38 @@ void Session::Impl::SetRedirect(const Redirect& redirect) { curl_easy_setopt(curl_->handle, CURLOPT_POSTREDIR, mask); } -void Session::Impl::SetCookies(const Cookies& cookies) { +void Session::SetCookies(const Cookies& cookies) { curl_easy_setopt(curl_->handle, CURLOPT_COOKIELIST, "ALL"); curl_easy_setopt(curl_->handle, CURLOPT_COOKIE, cookies.GetEncoded(*curl_).c_str()); } -void Session::Impl::SetBody(Body&& body) { - hasBodyOrPayload_ = true; - curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, static_cast(body.str().length())); - curl_easy_setopt(curl_->handle, CURLOPT_COPYPOSTFIELDS, body.c_str()); -} - -void Session::Impl::SetBody(const Body& body) { +void Session::SetBody(const Body& body) { hasBodyOrPayload_ = true; curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, static_cast(body.str().length())); curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDS, body.c_str()); } -void Session::Impl::SetReadCallback(const ReadCallback& read) { - readcb_ = read; - curl_easy_setopt(curl_->handle, CURLOPT_INFILESIZE_LARGE, read.size); - curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, read.size); - curl_easy_setopt(curl_->handle, CURLOPT_READFUNCTION, cpr::util::readUserFunction); - curl_easy_setopt(curl_->handle, CURLOPT_READDATA, &readcb_); - chunkedTransferEncoding = read.size == -1; +void Session::SetBody(Body&& body) { + hasBodyOrPayload_ = true; + curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDSIZE_LARGE, static_cast(body.str().length())); + curl_easy_setopt(curl_->handle, CURLOPT_COPYPOSTFIELDS, body.c_str()); } -void Session::Impl::SetHeaderCallback(const HeaderCallback& header) { - curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, cpr::util::headerUserFunction); - headercb_ = header; - curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, &headercb_); -} - -void Session::Impl::SetWriteCallback(const WriteCallback& write) { - curl_easy_setopt(curl_->handle, CURLOPT_WRITEFUNCTION, cpr::util::writeUserFunction); - writecb_ = write; - curl_easy_setopt(curl_->handle, CURLOPT_WRITEDATA, &writecb_); -} - -void Session::Impl::SetProgressCallback(const ProgressCallback& progress) { - progresscb_ = progress; -#if LIBCURL_VERSION_NUM < 0x072000 - curl_easy_setopt(curl_->handle, CURLOPT_PROGRESSFUNCTION, cpr::util::progressUserFunction); - curl_easy_setopt(curl_->handle, CURLOPT_PROGRESSDATA, &progresscb_); -#else - curl_easy_setopt(curl_->handle, CURLOPT_XFERINFOFUNCTION, cpr::util::progressUserFunction); - curl_easy_setopt(curl_->handle, CURLOPT_XFERINFODATA, &progresscb_); -#endif - curl_easy_setopt(curl_->handle, CURLOPT_NOPROGRESS, 0L); -} - -void Session::Impl::SetDebugCallback(const DebugCallback& debug) { - curl_easy_setopt(curl_->handle, CURLOPT_DEBUGFUNCTION, cpr::util::debugUserFunction); - debugcb_ = debug; - curl_easy_setopt(curl_->handle, CURLOPT_DEBUGDATA, &debugcb_); - curl_easy_setopt(curl_->handle, CURLOPT_VERBOSE, 1L); -} - -void Session::Impl::SetLowSpeed(const LowSpeed& low_speed) { +void Session::SetLowSpeed(const LowSpeed& low_speed) { curl_easy_setopt(curl_->handle, CURLOPT_LOW_SPEED_LIMIT, low_speed.limit); curl_easy_setopt(curl_->handle, CURLOPT_LOW_SPEED_TIME, low_speed.time); } -void Session::Impl::SetVerifySsl(const VerifySsl& verify) { +void Session::SetVerifySsl(const VerifySsl& verify) { curl_easy_setopt(curl_->handle, CURLOPT_SSL_VERIFYPEER, verify ? ON : OFF); curl_easy_setopt(curl_->handle, CURLOPT_SSL_VERIFYHOST, verify ? 2L : 0L); } -void Session::Impl::SetUnixSocket(const UnixSocket& unix_socket) { +void Session::SetUnixSocket(const UnixSocket& unix_socket) { curl_easy_setopt(curl_->handle, CURLOPT_UNIX_SOCKET_PATH, unix_socket.GetUnixSocketString()); } -void Session::Impl::SetSslOptions(const SslOptions& options) { +void Session::SetSslOptions(const SslOptions& options) { if (!options.cert_file.empty()) { curl_easy_setopt(curl_->handle, CURLOPT_SSLCERT, options.cert_file.c_str()); if (!options.cert_type.empty()) { @@ -444,6 +493,21 @@ void Session::Impl::SetSslOptions(const SslOptions& options) { if (!options.key_pass.empty()) { curl_easy_setopt(curl_->handle, CURLOPT_KEYPASSWD, options.key_pass.c_str()); } +#if SUPPORT_CURLOPT_SSLKEY_BLOB + } else if (!options.key_blob.empty()) { + std::string key_blob(options.key_blob); + curl_blob blob{}; + // NOLINTNEXTLINE (readability-container-data-pointer) + blob.data = &key_blob[0]; + blob.len = key_blob.length(); + curl_easy_setopt(curl_->handle, CURLOPT_SSLKEY_BLOB, &blob); + if (!options.key_type.empty()) { + curl_easy_setopt(curl_->handle, CURLOPT_SSLKEYTYPE, options.key_type.c_str()); + } + if (!options.key_pass.empty()) { + curl_easy_setopt(curl_->handle, CURLOPT_KEYPASSWD, options.key_pass.c_str()); + } +#endif } if (!options.pinned_public_key.empty()) { curl_easy_setopt(curl_->handle, CURLOPT_PINNEDPUBLICKEY, options.pinned_public_key.c_str()); @@ -456,7 +520,7 @@ void Session::Impl::SetSslOptions(const SslOptions& options) { #endif curl_easy_setopt(curl_->handle, CURLOPT_SSL_VERIFYPEER, options.verify_peer ? ON : OFF); curl_easy_setopt(curl_->handle, CURLOPT_SSL_VERIFYHOST, options.verify_host ? 2L : 0L); -#if LIBCURL_VERSION_NUM >= 0x072900 +#if LIBCURL_VERSION_NUM >= 0x072900 // 7.41.0 curl_easy_setopt(curl_->handle, CURLOPT_SSL_VERIFYSTATUS, options.verify_status ? ON : OFF); #endif @@ -479,6 +543,14 @@ void Session::Impl::SetSslOptions(const SslOptions& options) { if (!options.ca_path.empty()) { curl_easy_setopt(curl_->handle, CURLOPT_CAPATH, options.ca_path.c_str()); } +#if SUPPORT_CURLOPT_SSL_CTX_FUNCTION +#ifdef OPENSSL_BACKEND_USED + if (!options.ca_buffer.empty()) { + curl_easy_setopt(curl_->handle, CURLOPT_SSL_CTX_FUNCTION, sslctx_function_load_ca_cert_from_buffer); + curl_easy_setopt(curl_->handle, CURLOPT_SSL_CTX_DATA, options.ca_buffer.c_str()); + } +#endif +#endif if (!options.crl_file.empty()) { curl_easy_setopt(curl_->handle, CURLOPT_CRLFILE, options.crl_file.c_str()); } @@ -495,58 +567,228 @@ void Session::Impl::SetSslOptions(const SslOptions& options) { #endif } -void Session::Impl::PrepareDelete() { +void Session::SetVerbose(const Verbose& verbose) { + curl_easy_setopt(curl_->handle, CURLOPT_VERBOSE, verbose.verbose ? ON : OFF); +} + +void Session::SetInterface(const Interface& iface) { + if (iface.str().empty()) { + curl_easy_setopt(curl_->handle, CURLOPT_INTERFACE, nullptr); + } else { + curl_easy_setopt(curl_->handle, CURLOPT_INTERFACE, iface.c_str()); + } +} + +void Session::SetLocalPort(const LocalPort& local_port) { + curl_easy_setopt(curl_->handle, CURLOPT_LOCALPORT, static_cast(static_cast(local_port))); +} + +void Session::SetLocalPortRange(const LocalPortRange& local_port_range) { + curl_easy_setopt(curl_->handle, CURLOPT_LOCALPORTRANGE, static_cast(static_cast(local_port_range))); +} + +void Session::SetHttpVersion(const HttpVersion& version) { + switch (version.code) { + case HttpVersionCode::VERSION_NONE: + curl_easy_setopt(curl_->handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_NONE); + break; + + case HttpVersionCode::VERSION_1_0: + curl_easy_setopt(curl_->handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); + break; + + case HttpVersionCode::VERSION_1_1: + curl_easy_setopt(curl_->handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); + break; + +#if LIBCURL_VERSION_NUM >= 0x072100 // 7.33.0 + case HttpVersionCode::VERSION_2_0: + curl_easy_setopt(curl_->handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); + break; +#endif + +#if LIBCURL_VERSION_NUM >= 0x072F00 // 7.47.0 + case HttpVersionCode::VERSION_2_0_TLS: + curl_easy_setopt(curl_->handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS); + break; +#endif + +#if LIBCURL_VERSION_NUM >= 0x073100 // 7.49.0 + case HttpVersionCode::VERSION_2_0_PRIOR_KNOWLEDGE: + curl_easy_setopt(curl_->handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE); + break; +#endif + +#if LIBCURL_VERSION_NUM >= 0x074200 // 7.66.0 + case HttpVersionCode::VERSION_3_0: + curl_easy_setopt(curl_->handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_3); + break; +#endif + + default: // Should not happen + throw std::invalid_argument("Invalid/Unknown HTTP version type."); + } +} + +void Session::SetRange(const Range& range) { + const std::string range_str = range.str(); + curl_easy_setopt(curl_->handle, CURLOPT_RANGE, range_str.c_str()); +} + +void Session::SetMultiRange(const MultiRange& multi_range) { + const std::string multi_range_str = multi_range.str(); + curl_easy_setopt(curl_->handle, CURLOPT_RANGE, multi_range_str.c_str()); +} + +void Session::SetReserveSize(const ReserveSize& reserve_size) { + ResponseStringReserve(reserve_size.size); +} + +void Session::SetAcceptEncoding(const AcceptEncoding& accept_encoding) { + acceptEncoding_ = accept_encoding; +} + +void Session::SetAcceptEncoding(AcceptEncoding&& accept_encoding) { + acceptEncoding_ = std::move(accept_encoding); +} + +cpr_off_t Session::GetDownloadFileLength() { + cpr_off_t downloadFileLenth = -1; + curl_easy_setopt(curl_->handle, CURLOPT_URL, url_.c_str()); + + const std::string protocol = url_.str().substr(0, url_.str().find(':')); + if (proxies_.has(protocol)) { + curl_easy_setopt(curl_->handle, CURLOPT_PROXY, proxies_[protocol].c_str()); + if (proxyAuth_.has(protocol)) { + curl_easy_setopt(curl_->handle, CURLOPT_PROXYUSERNAME, proxyAuth_.GetUsername(protocol)); + curl_easy_setopt(curl_->handle, CURLOPT_PROXYPASSWORD, proxyAuth_.GetPassword(protocol)); + } + } + + curl_easy_setopt(curl_->handle, CURLOPT_HTTPGET, 1); + curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 1); + if (DoEasyPerform() == CURLE_OK) { + // NOLINTNEXTLINE (google-runtime-int) + long status_code{}; + curl_easy_getinfo(curl_->handle, CURLINFO_RESPONSE_CODE, &status_code); + if (200 == status_code) { + curl_easy_getinfo(curl_->handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &downloadFileLenth); + } + } + return downloadFileLenth; +} + +void Session::ResponseStringReserve(size_t size) { + response_string_reserve_size_ = size; +} + +Response Session::Delete() { + PrepareDelete(); + return makeRequest(); +} + +Response Session::Download(const WriteCallback& write) { + PrepareDownload(write); + return makeDownloadRequest(); +} + +Response Session::Download(std::ofstream& file) { + PrepareDownload(file); + return makeDownloadRequest(); +} + +Response Session::Get() { + PrepareGet(); + return makeRequest(); +} + +Response Session::Head() { + PrepareHead(); + return makeRequest(); +} + +Response Session::Options() { + PrepareOptions(); + return makeRequest(); +} + +Response Session::Patch() { + PreparePatch(); + return makeRequest(); +} + +Response Session::Post() { + PreparePost(); + return makeRequest(); +} + +Response Session::Put() { + PreparePut(); + return makeRequest(); +} + +std::shared_ptr Session::GetSharedPtrFromThis() { + try { + return shared_from_this(); + } catch (std::bad_weak_ptr&) { + throw std::runtime_error("Failed to get a shared pointer from this. The reason is probably that the session object is not managed by a shared pointer, which is required to use this functionality."); + } +} + +AsyncResponse Session::GetAsync() { + auto shared_this = shared_from_this(); + return async([shared_this]() { return shared_this->Get(); }); +} + +AsyncResponse Session::DeleteAsync() { + return async([shared_this = GetSharedPtrFromThis()]() { return shared_this->Delete(); }); +} + +AsyncResponse Session::DownloadAsync(const WriteCallback& write) { + return async([shared_this = GetSharedPtrFromThis(), write]() { return shared_this->Download(write); }); +} + +AsyncResponse Session::DownloadAsync(std::ofstream& file) { + return async([shared_this = GetSharedPtrFromThis(), &file]() { return shared_this->Download(file); }); +} + +AsyncResponse Session::HeadAsync() { + return async([shared_this = GetSharedPtrFromThis()]() { return shared_this->Head(); }); +} + +AsyncResponse Session::OptionsAsync() { + return async([shared_this = GetSharedPtrFromThis()]() { return shared_this->Options(); }); +} + +AsyncResponse Session::PatchAsync() { + return async([shared_this = GetSharedPtrFromThis()]() { return shared_this->Patch(); }); +} + +AsyncResponse Session::PostAsync() { + return async([shared_this = GetSharedPtrFromThis()]() { return shared_this->Post(); }); +} + +AsyncResponse Session::PutAsync() { + return async([shared_this = GetSharedPtrFromThis()]() { return shared_this->Put(); }); +} + +std::shared_ptr Session::GetCurlHolder() { + return curl_; +} + +std::string Session::GetFullRequestUrl() { + const std::string parametersContent = parameters_.GetContent(*curl_); + return url_.str() + (parametersContent.empty() ? "" : "?") + parametersContent; +} + +void Session::PrepareDelete() { curl_easy_setopt(curl_->handle, CURLOPT_HTTPGET, 0L); curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); curl_easy_setopt(curl_->handle, CURLOPT_CUSTOMREQUEST, "DELETE"); prepareCommon(); } -cpr_off_t Session::Impl::GetDownloadFileLength() { - cpr_off_t downloadFileLenth = -1; - curl_easy_setopt(curl_->handle, CURLOPT_URL, url_.c_str()); - - std::string protocol = url_.str().substr(0, url_.str().find(':')); - if (proxies_.has(protocol)) { - curl_easy_setopt(curl_->handle, CURLOPT_PROXY, proxies_[protocol].c_str()); - if (proxyAuth_.has(protocol)) { - curl_easy_setopt(curl_->handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY); - curl_easy_setopt(curl_->handle, CURLOPT_PROXYUSERPWD, proxyAuth_[protocol]); - } - } - - curl_easy_setopt(curl_->handle, CURLOPT_HTTPGET, 1); - curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 1); - if (curl_easy_perform(curl_->handle) == CURLE_OK) { - curl_easy_getinfo(curl_->handle, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &downloadFileLenth); - } - return downloadFileLenth; -} - -Response Session::Impl::Delete() { - PrepareDelete(); - return makeRequest(); -} - -Response Session::Impl::Download(const WriteCallback& write) { - curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); - curl_easy_setopt(curl_->handle, CURLOPT_HTTPGET, 1); - - SetWriteCallback(write); - - return makeDownloadRequest(); -} - -Response Session::Impl::Download(std::ofstream& file) { - curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); - curl_easy_setopt(curl_->handle, CURLOPT_HTTPGET, 1); - curl_easy_setopt(curl_->handle, CURLOPT_WRITEFUNCTION, cpr::util::writeFileFunction); - curl_easy_setopt(curl_->handle, CURLOPT_WRITEDATA, &file); - - return makeDownloadRequest(); -} - -void Session::Impl::PrepareGet() { +void Session::PrepareGet() { // In case there is a body or payload for this request, we create a custom GET-Request since a // GET-Request with body is based on the HTTP RFC **not** a leagal request. if (hasBodyOrPayload_) { @@ -560,45 +802,25 @@ void Session::Impl::PrepareGet() { prepareCommon(); } -Response Session::Impl::Get() { - PrepareGet(); - return makeRequest(); -} - -void Session::Impl::PrepareHead() { +void Session::PrepareHead() { curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 1L); curl_easy_setopt(curl_->handle, CURLOPT_CUSTOMREQUEST, nullptr); prepareCommon(); } -Response Session::Impl::Head() { - PrepareHead(); - return makeRequest(); -} - -void Session::Impl::PrepareOptions() { +void Session::PrepareOptions() { curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); curl_easy_setopt(curl_->handle, CURLOPT_CUSTOMREQUEST, "OPTIONS"); prepareCommon(); } -Response Session::Impl::Options() { - PrepareOptions(); - return makeRequest(); -} - -void Session::Impl::PreparePatch() { +void Session::PreparePatch() { curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); curl_easy_setopt(curl_->handle, CURLOPT_CUSTOMREQUEST, "PATCH"); prepareCommon(); } -Response Session::Impl::Patch() { - PreparePatch(); - return makeRequest(); -} - -void Session::Impl::PreparePost() { +void Session::PreparePost() { curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); // In case there is no body or payload set it to an empty post: @@ -611,133 +833,42 @@ void Session::Impl::PreparePost() { prepareCommon(); } -Response Session::Impl::Post() { - PreparePost(); - return makeRequest(); -} - -void Session::Impl::PreparePut() { +void Session::PreparePut() { curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); + if (!hasBodyOrPayload_ && readcb_.callback) { + /** + * Yes, this one has to be CURLOPT_POSTFIELDS even if we are performing a PUT request. + * In case we don't set this one, performing a POST-request with PUT won't work. + * It in theory this only enforces the usage of the readcallback for POST requests, but works here as well. + **/ + curl_easy_setopt(curl_->handle, CURLOPT_POSTFIELDS, nullptr); + } curl_easy_setopt(curl_->handle, CURLOPT_CUSTOMREQUEST, "PUT"); + curl_easy_setopt(curl_->handle, CURLOPT_RANGE, nullptr); prepareCommon(); } -Response Session::Impl::Put() { - PreparePut(); - return makeRequest(); +void Session::PrepareDownload(std::ofstream& file) { + curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); + curl_easy_setopt(curl_->handle, CURLOPT_HTTPGET, 1); + curl_easy_setopt(curl_->handle, CURLOPT_WRITEFUNCTION, cpr::util::writeFileFunction); + curl_easy_setopt(curl_->handle, CURLOPT_WRITEDATA, &file); + curl_easy_setopt(curl_->handle, CURLOPT_CUSTOMREQUEST, nullptr); + + prepareCommonDownload(); } -std::shared_ptr Session::Impl::GetCurlHolder() { - return curl_; +void Session::PrepareDownload(const WriteCallback& write) { + curl_easy_setopt(curl_->handle, CURLOPT_NOBODY, 0L); + curl_easy_setopt(curl_->handle, CURLOPT_HTTPGET, 1); + curl_easy_setopt(curl_->handle, CURLOPT_CUSTOMREQUEST, nullptr); + + SetWriteCallback(write); + + prepareCommonDownload(); } -Response Session::Impl::makeDownloadRequest() { - assert(curl_->handle); - const std::string parametersContent = parameters_.GetContent(*curl_); - if (!parametersContent.empty()) { - Url new_url{url_ + "?" + parametersContent}; - curl_easy_setopt(curl_->handle, CURLOPT_URL, new_url.c_str()); - } else { - curl_easy_setopt(curl_->handle, CURLOPT_URL, url_.c_str()); - } - - std::string protocol = url_.str().substr(0, url_.str().find(':')); - if (proxies_.has(protocol)) { - curl_easy_setopt(curl_->handle, CURLOPT_PROXY, proxies_[protocol].c_str()); - if (proxyAuth_.has(protocol)) { - curl_easy_setopt(curl_->handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY); - curl_easy_setopt(curl_->handle, CURLOPT_PROXYUSERPWD, proxyAuth_[protocol]); - } - } - - curl_->error[0] = '\0'; - - std::string header_string; - if (headercb_.callback) { - curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, cpr::util::headerUserFunction); - curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, &headercb_); - } else { - curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, cpr::util::writeFunction); - curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, &header_string); - } - - CURLcode curl_error = curl_easy_perform(curl_->handle); - - if (!headercb_.callback) { - curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, nullptr); - curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, 0); - } - - curl_slist* raw_cookies{nullptr}; - curl_easy_getinfo(curl_->handle, CURLINFO_COOKIELIST, &raw_cookies); - Cookies cookies = util::parseCookies(raw_cookies); - curl_slist_free_all(raw_cookies); - std::string errorMsg = curl_->error.data(); - - return Response(curl_, "", std::move(header_string), std::move(cookies), Error(curl_error, std::move(errorMsg))); -} - -void Session::Impl::prepareCommon() { - assert(curl_->handle); - - // Set Header: - SetHeaderInternal(); - - const std::string parametersContent = parameters_.GetContent(*curl_); - if (!parametersContent.empty()) { - Url new_url{url_ + "?" + parametersContent}; - curl_easy_setopt(curl_->handle, CURLOPT_URL, new_url.c_str()); - } else { - curl_easy_setopt(curl_->handle, CURLOPT_URL, url_.c_str()); - } - - // Proxy: - std::string protocol = url_.str().substr(0, url_.str().find(':')); - if (proxies_.has(protocol)) { - curl_easy_setopt(curl_->handle, CURLOPT_PROXY, proxies_[protocol].c_str()); - if (proxyAuth_.has(protocol)) { - curl_easy_setopt(curl_->handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY); - curl_easy_setopt(curl_->handle, CURLOPT_PROXYUSERPWD, proxyAuth_[protocol]); - } - } - -#if LIBCURL_VERSION_MAJOR >= 7 -#if LIBCURL_VERSION_MINOR >= 21 - /* enable all supported built-in compressions */ - curl_easy_setopt(curl_->handle, CURLOPT_ACCEPT_ENCODING, ""); -#endif -#endif - -#if LIBCURL_VERSION_MAJOR >= 7 -#if LIBCURL_VERSION_MINOR >= 71 - // Fix loading certs from Windows cert store when using OpenSSL: - curl_easy_setopt(curl_->handle, CURLOPT_SSL_OPTIONS, CURLSSLOPT_NATIVE_CA); -#endif -#endif - - curl_->error[0] = '\0'; - - response_string_.clear(); - header_string_.clear(); - if (!this->writecb_.callback) { - curl_easy_setopt(curl_->handle, CURLOPT_WRITEFUNCTION, cpr::util::writeFunction); - curl_easy_setopt(curl_->handle, CURLOPT_WRITEDATA, &response_string_); - } - if (!this->headercb_.callback) { - curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, cpr::util::writeFunction); - curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, &header_string_); - } - - // Enable so we are able to retrive certificate information: - curl_easy_setopt(curl_->handle, CURLOPT_CERTINFO, 1L); -} - -Response Session::Impl::makeRequest() { - CURLcode curl_error = curl_easy_perform(curl_->handle); - return Complete(curl_error); -} - -Response Session::Impl::Complete(CURLcode curl_error) { +Response Session::Complete(CURLcode curl_error) { curl_slist* raw_cookies{nullptr}; curl_easy_getinfo(curl_->handle, CURLINFO_COOKIELIST, &raw_cookies); Cookies cookies = util::parseCookies(raw_cookies); @@ -750,106 +881,97 @@ Response Session::Impl::Complete(CURLcode curl_error) { return Response(curl_, std::move(response_string_), std::move(header_string_), std::move(cookies), Error(curl_error, std::move(errorMsg))); } +Response Session::CompleteDownload(CURLcode curl_error) { + if (!headercb_.callback) { + curl_easy_setopt(curl_->handle, CURLOPT_HEADERFUNCTION, nullptr); + curl_easy_setopt(curl_->handle, CURLOPT_HEADERDATA, 0); + } + + curl_slist* raw_cookies{nullptr}; + curl_easy_getinfo(curl_->handle, CURLINFO_COOKIELIST, &raw_cookies); + Cookies cookies = util::parseCookies(raw_cookies); + curl_slist_free_all(raw_cookies); + std::string errorMsg = curl_->error.data(); + + return Response(curl_, "", std::move(header_string_), std::move(cookies), Error(curl_error, std::move(errorMsg))); +} + +void Session::AddInterceptor(const std::shared_ptr& pinterceptor) { + interceptors_.push(pinterceptor); +} + +Response Session::proceed() { + prepareCommon(); + return makeRequest(); +} + +Response Session::intercept() { + // At least one interceptor exists -> Execute its intercept function + const std::shared_ptr interceptor = interceptors_.front(); + interceptors_.pop(); + return interceptor->intercept(*this); +} + // clang-format off -Session::Session() : pimpl_(new Impl()) {} -Session::Session(Session&& /*old*/) noexcept = default; -Session::~Session() = default; -Session& Session::operator=(Session&& old) noexcept = default; -void Session::SetReadCallback(const ReadCallback& read) { pimpl_->SetReadCallback(read); } -void Session::SetHeaderCallback(const HeaderCallback& header) { pimpl_->SetHeaderCallback(header); } -void Session::SetWriteCallback(const WriteCallback& write) { pimpl_->SetWriteCallback(write); } -void Session::SetProgressCallback(const ProgressCallback& progress) { pimpl_->SetProgressCallback(progress); } -void Session::SetDebugCallback(const DebugCallback& debug) { pimpl_->SetDebugCallback(debug); } -void Session::SetUrl(const Url& url) { pimpl_->SetUrl(url); } -void Session::SetParameters(const Parameters& parameters) { pimpl_->SetParameters(parameters); } -void Session::SetParameters(Parameters&& parameters) { pimpl_->SetParameters(std::move(parameters)); } -void Session::SetHeader(const Header& header) { pimpl_->SetHeader(header); } -void Session::UpdateHeader(const Header& header) { pimpl_->UpdateHeader(header); } -void Session::SetTimeout(const Timeout& timeout) { pimpl_->SetTimeout(timeout); } -void Session::SetConnectTimeout(const ConnectTimeout& timeout) { pimpl_->SetConnectTimeout(timeout); } -void Session::SetAuth(const Authentication& auth) { pimpl_->SetAuth(auth); } -void Session::SetDigest(const Digest& auth) { pimpl_->SetDigest(auth); } -void Session::SetUserAgent(const UserAgent& ua) { pimpl_->SetUserAgent(ua); } -void Session::SetPayload(const Payload& payload) { pimpl_->SetPayload(payload); } -void Session::SetPayload(Payload&& payload) { pimpl_->SetPayload(std::move(payload)); } -void Session::SetProxies(const Proxies& proxies) { pimpl_->SetProxies(proxies); } -void Session::SetProxies(Proxies&& proxies) { pimpl_->SetProxies(std::move(proxies)); } -void Session::SetProxyAuth(ProxyAuthentication&& proxy_auth) { pimpl_->SetProxyAuth(std::move(proxy_auth)); } -void Session::SetProxyAuth(const ProxyAuthentication& proxy_auth) { pimpl_->SetProxyAuth(proxy_auth); } -void Session::SetMultipart(const Multipart& multipart) { pimpl_->SetMultipart(multipart); } -void Session::SetMultipart(Multipart&& multipart) { pimpl_->SetMultipart(std::move(multipart)); } -void Session::SetNTLM(const NTLM& auth) { pimpl_->SetNTLM(auth); } -void Session::SetRedirect(const Redirect& redirect) { pimpl_->SetRedirect(redirect); } -void Session::SetCookies(const Cookies& cookies) { pimpl_->SetCookies(cookies); } -void Session::SetBody(const Body& body) { pimpl_->SetBody(body); } -void Session::SetBody(Body&& body) { pimpl_->SetBody(std::move(body)); } -void Session::SetLowSpeed(const LowSpeed& low_speed) { pimpl_->SetLowSpeed(low_speed); } -void Session::SetVerifySsl(const VerifySsl& verify) { pimpl_->SetVerifySsl(verify); } -void Session::SetUnixSocket(const UnixSocket& unix_socket) { pimpl_->SetUnixSocket(unix_socket); } -void Session::SetSslOptions(const SslOptions& options) { pimpl_->SetSslOptions(options); } -void Session::SetVerbose(const Verbose& verbose) { pimpl_->SetVerbose(verbose); } -void Session::SetInterface(const Interface& iface) { pimpl_->SetInterface(iface); } -void Session::SetOption(const ReadCallback& read) { pimpl_->SetReadCallback(read); } -void Session::SetOption(const HeaderCallback& header) { pimpl_->SetHeaderCallback(header); } -void Session::SetOption(const WriteCallback& write) { pimpl_->SetWriteCallback(write); } -void Session::SetOption(const ProgressCallback& progress) { pimpl_->SetProgressCallback(progress); } -void Session::SetOption(const DebugCallback& debug) { pimpl_->SetDebugCallback(debug); } -void Session::SetOption(const Url& url) { pimpl_->SetUrl(url); } -void Session::SetOption(const Parameters& parameters) { pimpl_->SetParameters(parameters); } -void Session::SetOption(Parameters&& parameters) { pimpl_->SetParameters(std::move(parameters)); } -void Session::SetOption(const Header& header) { pimpl_->SetHeader(header); } -void Session::SetOption(const Timeout& timeout) { pimpl_->SetTimeout(timeout); } -void Session::SetOption(const ConnectTimeout& timeout) { pimpl_->SetConnectTimeout(timeout); } -void Session::SetOption(const Authentication& auth) { pimpl_->SetAuth(auth); } -void Session::SetOption(const LimitRate& limit_rate) { pimpl_->SetLimitRate(limit_rate); } +void Session::SetOption(const Resolve& resolve) { SetResolve(resolve); } +void Session::SetOption(const std::vector& resolves) { SetResolves(resolves); } +void Session::SetOption(const ReadCallback& read) { SetReadCallback(read); } +void Session::SetOption(const HeaderCallback& header) { SetHeaderCallback(header); } +void Session::SetOption(const WriteCallback& write) { SetWriteCallback(write); } +void Session::SetOption(const ProgressCallback& progress) { SetProgressCallback(progress); } +void Session::SetOption(const DebugCallback& debug) { SetDebugCallback(debug); } +void Session::SetOption(const Url& url) { SetUrl(url); } +void Session::SetOption(const Parameters& parameters) { SetParameters(parameters); } +void Session::SetOption(Parameters&& parameters) { SetParameters(std::move(parameters)); } +void Session::SetOption(const Header& header) { SetHeader(header); } +void Session::SetOption(const Timeout& timeout) { SetTimeout(timeout); } +void Session::SetOption(const ConnectTimeout& timeout) { SetConnectTimeout(timeout); } +void Session::SetOption(const Authentication& auth) { SetAuth(auth); } +void Session::SetOption(const LimitRate& limit_rate) { SetLimitRate(limit_rate); } // Only supported with libcurl >= 7.61.0. // As an alternative use SetHeader and add the token manually. #if LIBCURL_VERSION_NUM >= 0x073D00 -void Session::SetOption(const Bearer& auth) { pimpl_->SetBearer(auth); } +void Session::SetOption(const Bearer& auth) { SetBearer(auth); } #endif -void Session::SetOption(const Digest& auth) { pimpl_->SetDigest(auth); } -void Session::SetOption(const UserAgent& ua) { pimpl_->SetUserAgent(ua); } -void Session::SetOption(const Payload& payload) { pimpl_->SetPayload(payload); } -void Session::SetOption(Payload&& payload) { pimpl_->SetPayload(std::move(payload)); } -void Session::SetOption(const Proxies& proxies) { pimpl_->SetProxies(proxies); } -void Session::SetOption(Proxies&& proxies) { pimpl_->SetProxies(std::move(proxies)); } -void Session::SetOption(ProxyAuthentication&& proxy_auth) { pimpl_->SetProxyAuth(std::move(proxy_auth)); } -void Session::SetOption(const ProxyAuthentication& proxy_auth) { pimpl_->SetProxyAuth(proxy_auth); } -void Session::SetOption(const Multipart& multipart) { pimpl_->SetMultipart(multipart); } -void Session::SetOption(Multipart&& multipart) { pimpl_->SetMultipart(std::move(multipart)); } -void Session::SetOption(const NTLM& auth) { pimpl_->SetNTLM(auth); } -void Session::SetOption(const Redirect& redirect) { pimpl_->SetRedirect(redirect); } -void Session::SetOption(const Cookies& cookies) { pimpl_->SetCookies(cookies); } -void Session::SetOption(const Body& body) { pimpl_->SetBody(body); } -void Session::SetOption(Body&& body) { pimpl_->SetBody(std::move(body)); } -void Session::SetOption(const LowSpeed& low_speed) { pimpl_->SetLowSpeed(low_speed); } -void Session::SetOption(const VerifySsl& verify) { pimpl_->SetVerifySsl(verify); } -void Session::SetOption(const Verbose& verbose) { pimpl_->SetVerbose(verbose); } -void Session::SetOption(const UnixSocket& unix_socket) { pimpl_->SetUnixSocket(unix_socket); } -void Session::SetOption(const SslOptions& options) { pimpl_->SetSslOptions(options); } -void Session::SetOption(const Interface& iface) { pimpl_->SetInterface(iface); } - -cpr_off_t Session::GetDownloadFileLength() { return pimpl_->GetDownloadFileLength(); } -Response Session::Delete() { return pimpl_->Delete(); } -Response Session::Download(const WriteCallback& write) { return pimpl_->Download(write); } -Response Session::Download(std::ofstream& file) { return pimpl_->Download(file); } -Response Session::Get() { return pimpl_->Get(); } -Response Session::Head() { return pimpl_->Head(); } -Response Session::Options() { return pimpl_->Options(); } -Response Session::Patch() { return pimpl_->Patch(); } -Response Session::Post() { return pimpl_->Post(); } -Response Session::Put() { return pimpl_->Put(); } - -std::shared_ptr Session::GetCurlHolder() { return pimpl_->GetCurlHolder(); } - -void Session::PrepareDelete() { return pimpl_->PrepareDelete(); } -void Session::PrepareGet() { return pimpl_->PrepareGet(); } -void Session::PrepareHead() { return pimpl_->PrepareHead(); } -void Session::PrepareOptions() { return pimpl_->PrepareOptions(); } -void Session::PreparePatch() { return pimpl_->PreparePatch(); } -void Session::PreparePost() { return pimpl_->PreparePost(); } -void Session::PreparePut() { return pimpl_->PreparePut(); } -Response Session::Complete( CURLcode curl_error ) { return pimpl_->Complete(curl_error); } - +void Session::SetOption(const UserAgent& ua) { SetUserAgent(ua); } +void Session::SetOption(const Payload& payload) { SetPayload(payload); } +void Session::SetOption(Payload&& payload) { SetPayload(std::move(payload)); } +void Session::SetOption(const Proxies& proxies) { SetProxies(proxies); } +void Session::SetOption(Proxies&& proxies) { SetProxies(std::move(proxies)); } +void Session::SetOption(ProxyAuthentication&& proxy_auth) { SetProxyAuth(std::move(proxy_auth)); } +void Session::SetOption(const ProxyAuthentication& proxy_auth) { SetProxyAuth(proxy_auth); } +void Session::SetOption(const Multipart& multipart) { SetMultipart(multipart); } +void Session::SetOption(Multipart&& multipart) { SetMultipart(std::move(multipart)); } +void Session::SetOption(const Redirect& redirect) { SetRedirect(redirect); } +void Session::SetOption(const Cookies& cookies) { SetCookies(cookies); } +void Session::SetOption(const Body& body) { SetBody(body); } +void Session::SetOption(Body&& body) { SetBody(std::move(body)); } +void Session::SetOption(const LowSpeed& low_speed) { SetLowSpeed(low_speed); } +void Session::SetOption(const VerifySsl& verify) { SetVerifySsl(verify); } +void Session::SetOption(const Verbose& verbose) { SetVerbose(verbose); } +void Session::SetOption(const UnixSocket& unix_socket) { SetUnixSocket(unix_socket); } +void Session::SetOption(const SslOptions& options) { SetSslOptions(options); } +void Session::SetOption(const Interface& iface) { SetInterface(iface); } +void Session::SetOption(const LocalPort& local_port) { SetLocalPort(local_port); } +void Session::SetOption(const LocalPortRange& local_port_range) { SetLocalPortRange(local_port_range); } +void Session::SetOption(const HttpVersion& version) { SetHttpVersion(version); } +void Session::SetOption(const Range& range) { SetRange(range); } +void Session::SetOption(const MultiRange& multi_range) { SetMultiRange(multi_range); } +void Session::SetOption(const ReserveSize& reserve_size) { SetReserveSize(reserve_size.size); } +void Session::SetOption(const AcceptEncoding& accept_encoding) { SetAcceptEncoding(accept_encoding); } +void Session::SetOption(AcceptEncoding&& accept_encoding) { SetAcceptEncoding(accept_encoding); } // clang-format on + +void Session::SetCancellationParam(std::shared_ptr param) { + cancellationcb_ = CancellationCallback{std::move(param)}; + isCancellable = true; +#if LIBCURL_VERSION_NUM < 0x072000 // 7.32.0 + curl_easy_setopt(curl_->handle, CURLOPT_PROGRESSFUNCTION, cpr::util::progressUserFunction); + curl_easy_setopt(curl_->handle, CURLOPT_PROGRESSDATA, &cancellationcb_); +#else + curl_easy_setopt(curl_->handle, CURLOPT_XFERINFOFUNCTION, cpr::util::progressUserFunction); + curl_easy_setopt(curl_->handle, CURLOPT_XFERINFODATA, &cancellationcb_); +#endif + curl_easy_setopt(curl_->handle, CURLOPT_NOPROGRESS, 0L); +} } // namespace cpr diff --git a/vendor/CPR/cpr/ssl_ctx.cpp b/vendor/CPR/cpr/ssl_ctx.cpp new file mode 100644 index 00000000..a8d14eb8 --- /dev/null +++ b/vendor/CPR/cpr/ssl_ctx.cpp @@ -0,0 +1,70 @@ + +#include "cpr/ssl_ctx.h" + +#if SUPPORT_CURLOPT_SSL_CTX_FUNCTION + +#ifdef OPENSSL_BACKEND_USED + +#include +#include +#include + +namespace cpr { + +/** + * The ssl_ctx parameter is actually a pointer to the SSL library's SSL_CTX for OpenSSL. + * If an error is returned from the callback no attempt to establish a connection is made and + * the perform operation will return the callback's error code. + * + * Sources: https://curl.se/libcurl/c/CURLOPT_SSL_CTX_FUNCTION.html + * https://curl.se/libcurl/c/CURLOPT_SSL_CTX_DATA.html + */ +CURLcode sslctx_function_load_ca_cert_from_buffer(CURL* /*curl*/, void* sslctx, void* raw_cert_buf) { + // Check arguments + if (raw_cert_buf == nullptr || sslctx == nullptr) { + printf("Invalid callback arguments\n"); + return CURLE_ABORTED_BY_CALLBACK; + } + + // Setup pointer + X509_STORE* store = nullptr; + X509* cert = nullptr; + BIO* bio = nullptr; + char* cert_buf = static_cast(raw_cert_buf); + + // Create a memory BIO using the data of cert_buf. + // Note: It is assumed, that cert_buf is nul terminated and its length is determined by strlen. + bio = BIO_new_mem_buf(cert_buf, -1); + + // Load the PEM formatted certicifate into an X509 structure which OpenSSL can use. + PEM_read_bio_X509(bio, &cert, nullptr, nullptr); + if (cert == nullptr) { + printf("PEM_read_bio_X509 failed\n"); + return CURLE_ABORTED_BY_CALLBACK; + } + + // Get a pointer to the current certificate verification storage + store = SSL_CTX_get_cert_store(static_cast(sslctx)); + + // Add the loaded certificate to the verification storage + const int status = X509_STORE_add_cert(store, cert); + if (status == 0) { + printf("Error adding certificate\n"); + return CURLE_ABORTED_BY_CALLBACK; + } + + // Decrement the reference count of the X509 structure cert and frees it up + X509_free(cert); + + // Free the entire bio chain + BIO_free(bio); + + // The CA certificate was loaded successfully into the verification storage + return CURLE_OK; +} + +} // namespace cpr + +#endif // OPENSSL_BACKEND_USED + +#endif // SUPPORT_CURLOPT_SSL_CTX_FUNCTION diff --git a/vendor/CPR/cpr/threadpool.cpp b/vendor/CPR/cpr/threadpool.cpp new file mode 100644 index 00000000..8ab1ee82 --- /dev/null +++ b/vendor/CPR/cpr/threadpool.cpp @@ -0,0 +1,148 @@ +#include "cpr/threadpool.h" + +namespace cpr { + +ThreadPool::ThreadPool(size_t min_threads, size_t max_threads, std::chrono::milliseconds max_idle_ms) : min_thread_num(min_threads), max_thread_num(max_threads), max_idle_time(max_idle_ms), status(STOP), cur_thread_num(0), idle_thread_num(0) {} + +ThreadPool::~ThreadPool() { + Stop(); +} + +int ThreadPool::Start(size_t start_threads) { + if (status != STOP) { + return -1; + } + status = RUNNING; + if (start_threads < min_thread_num) { + start_threads = min_thread_num; + } + if (start_threads > max_thread_num) { + start_threads = max_thread_num; + } + for (size_t i = 0; i < start_threads; ++i) { + CreateThread(); + } + return 0; +} + +int ThreadPool::Stop() { + if (status == STOP) { + return -1; + } + status = STOP; + task_cond.notify_all(); + for (auto& i : threads) { + if (i.thread->joinable()) { + i.thread->join(); + } + } + threads.clear(); + cur_thread_num = 0; + idle_thread_num = 0; + return 0; +} + +int ThreadPool::Pause() { + if (status == RUNNING) { + status = PAUSE; + } + return 0; +} + +int ThreadPool::Resume() { + if (status == PAUSE) { + status = RUNNING; + } + return 0; +} + +int ThreadPool::Wait() { + while (true) { + if (status == STOP || (tasks.empty() && idle_thread_num == cur_thread_num)) { + break; + } + std::this_thread::yield(); + } + return 0; +} + +bool ThreadPool::CreateThread() { + if (cur_thread_num >= max_thread_num) { + return false; + } + std::thread* thread = new std::thread([this] { + bool initialRun = true; + while (status != STOP) { + while (status == PAUSE) { + std::this_thread::yield(); + } + + Task task; + { + std::unique_lock locker(task_mutex); + task_cond.wait_for(locker, std::chrono::milliseconds(max_idle_time), [this]() { return status == STOP || !tasks.empty(); }); + if (status == STOP) { + return; + } + if (tasks.empty()) { + if (cur_thread_num > min_thread_num) { + DelThread(std::this_thread::get_id()); + return; + } + continue; + } + if (!initialRun) { + --idle_thread_num; + } + task = std::move(tasks.front()); + tasks.pop(); + } + if (task) { + task(); + ++idle_thread_num; + if (initialRun) { + initialRun = false; + } + } + } + }); + AddThread(thread); + return true; +} + +void ThreadPool::AddThread(std::thread* thread) { + thread_mutex.lock(); + ++cur_thread_num; + ThreadData data; + data.thread = std::shared_ptr(thread); + data.id = thread->get_id(); + data.status = RUNNING; + data.start_time = time(nullptr); + data.stop_time = 0; + threads.emplace_back(data); + thread_mutex.unlock(); +} + +void ThreadPool::DelThread(std::thread::id id) { + const time_t now = time(nullptr); + thread_mutex.lock(); + --cur_thread_num; + --idle_thread_num; + auto iter = threads.begin(); + while (iter != threads.end()) { + if (iter->status == STOP && now > iter->stop_time) { + if (iter->thread->joinable()) { + iter->thread->join(); + iter = threads.erase(iter); + continue; + } + } else if (iter->id == id) { + iter->status = STOP; + iter->stop_time = time(nullptr); + } + ++iter; + } + thread_mutex.unlock(); +} + +} // namespace cpr diff --git a/vendor/CPR/cpr/timeout.cpp b/vendor/CPR/cpr/timeout.cpp index 986e3e71..5bcd73b2 100644 --- a/vendor/CPR/cpr/timeout.cpp +++ b/vendor/CPR/cpr/timeout.cpp @@ -14,12 +14,12 @@ long Timeout::Milliseconds() const { // No way around since curl uses a long here. // NOLINTNEXTLINE(google-runtime-int) - if (ms.count() > std::numeric_limits::max()) { + if (ms.count() > static_cast(std::numeric_limits::max())) { throw std::overflow_error("cpr::Timeout: timeout value overflow: " + std::to_string(ms.count()) + " ms."); } // No way around since curl uses a long here. // NOLINTNEXTLINE(google-runtime-int) - if (ms.count() < std::numeric_limits::min()) { + if (ms.count() < static_cast(std::numeric_limits::min())) { throw std::underflow_error("cpr::Timeout: timeout value underflow: " + std::to_string(ms.count()) + " ms."); } diff --git a/vendor/CPR/cpr/util.cpp b/vendor/CPR/cpr/util.cpp index 9cf425ed..ff0b6c28 100644 --- a/vendor/CPR/cpr/util.cpp +++ b/vendor/CPR/cpr/util.cpp @@ -3,23 +3,64 @@ #include #include #include +#include #include #include #include +#include #include #include #include -namespace cpr { -namespace util { +#if defined(_Win32) +#include +#else +#ifdef __clang__ +#pragma clang diagnostic push +#if __has_warning("-Wreserved-macro-identifier") // Not all versions of clang support this flag like the one used on Ubuntu 18.04 +#pragma clang diagnostic ignored "-Wreserved-macro-identifier" +#endif +#pragma clang diagnostic ignored "-Wunused-macros" +#endif +// https://en.cppreference.com/w/c/string/byte/memset +// NOLINTNEXTLINE(bugprone-reserved-identifier, cert-dcl37-c, cert-dcl51-cpp, cppcoreguidelines-macro-usage) +#define __STDC_WANT_LIB_EXT1__ 1 +#ifdef __clang__ +#pragma clang diagnostic pop +#endif +#include +#endif + +namespace cpr::util { + +enum class CurlHTTPCookieField : size_t { + Domain = 0, + IncludeSubdomains, + Path, + HttpsOnly, + Expires, + Name, + Value, +}; Cookies parseCookies(curl_slist* raw_cookies) { + const int CURL_HTTP_COOKIE_SIZE = static_cast(CurlHTTPCookieField::Value) + 1; Cookies cookies; for (curl_slist* nc = raw_cookies; nc; nc = nc->next) { std::vector tokens = cpr::util::split(nc->data, '\t'); - std::string value = tokens.back(); - tokens.pop_back(); - cookies[tokens.back()] = value; + while (tokens.size() < CURL_HTTP_COOKIE_SIZE) { + tokens.emplace_back(""); + } + const std::time_t expires = static_cast(std::stoul(tokens.at(static_cast(CurlHTTPCookieField::Expires)))); + cookies.emplace_back(Cookie{ + tokens.at(static_cast(CurlHTTPCookieField::Name)), + tokens.at(static_cast(CurlHTTPCookieField::Value)), + tokens.at(static_cast(CurlHTTPCookieField::Domain)), + isTrue(tokens.at(static_cast(CurlHTTPCookieField::IncludeSubdomains))), + tokens.at(static_cast(CurlHTTPCookieField::Path)), + isTrue(tokens.at(static_cast(CurlHTTPCookieField::HttpsOnly))), + std::chrono::system_clock::from_time_t(expires), + }); } return cookies; } @@ -36,7 +77,6 @@ Header parseHeader(const std::string& headers, std::string* status_line, std::st } for (std::string& line : lines) { - // NOLINTNEXTLINE (cppcoreguidelines-avoid-magic-numbers) if (line.substr(0, 5) == "HTTP/") { // set the status_line if it was given if ((status_line != nullptr) || (reason != nullptr)) { @@ -47,7 +87,7 @@ Header parseHeader(const std::string& headers, std::string* status_line, std::st // set the reason if it was given if (reason != nullptr) { - size_t pos1 = line.find_first_of("\t "); + const size_t pos1 = line.find_first_of("\t "); size_t pos2 = std::string::npos; if (pos1 != std::string::npos) { pos2 = line.find_first_of("\t ", pos1 + 1); @@ -62,7 +102,7 @@ Header parseHeader(const std::string& headers, std::string* status_line, std::st } if (line.length() > 0) { - size_t found = line.find(':'); + const size_t found = line.find(':'); if (found != std::string::npos) { std::string value = line.substr(found + 1); value.erase(0, value.find_first_not_of("\t ")); @@ -105,7 +145,7 @@ size_t writeFunction(char* ptr, size_t size, size_t nmemb, std::string* data) { size_t writeFileFunction(char* ptr, size_t size, size_t nmemb, std::ofstream* file) { size *= nmemb; - file->write(ptr, size); + file->write(ptr, static_cast(size)); return size; } @@ -114,19 +154,8 @@ size_t writeUserFunction(char* ptr, size_t size, size_t nmemb, const WriteCallba return (*write)({ptr, size}) ? size : 0; } -#if LIBCURL_VERSION_NUM < 0x072000 -int progressUserFunction(const ProgressCallback* progress, double dltotal, double dlnow, - double ultotal, double ulnow) { -#else -int progressUserFunction(const ProgressCallback* progress, curl_off_t dltotal, curl_off_t dlnow, - curl_off_t ultotal, curl_off_t ulnow) { -#endif - return (*progress)(dltotal, dlnow, ultotal, ulnow) ? 0 : 1; -} - -int debugUserFunction(CURL* /*handle*/, curl_infotype type, char* data, size_t size, - const DebugCallback* debug) { - (*debug)(DebugCallback::InfoType(type), std::string(data, size)); +int debugUserFunction(CURL* /*handle*/, curl_infotype type, char* data, size_t size, const DebugCallback* debug) { + (*debug)(static_cast(type), std::string(data, size)); return 0; } @@ -141,7 +170,7 @@ int debugUserFunction(CURL* /*handle*/, curl_infotype type, char* data, size_t s * std::string result = holder.urlEncode(input); **/ std::string urlEncode(const std::string& s) { - CurlHolder holder; // Create a temporary new holder for URL encoding + const CurlHolder holder; // Create a temporary new holder for URL encoding return holder.urlEncode(s); } @@ -156,9 +185,54 @@ std::string urlEncode(const std::string& s) { * std::string result = holder.urlDecode(input); **/ std::string urlDecode(const std::string& s) { - CurlHolder holder; // Create a temporary new holder for URL decoding + const CurlHolder holder; // Create a temporary new holder for URL decoding return holder.urlDecode(s); } -} // namespace util -} // namespace cpr +#if defined(__STDC_LIB_EXT1__) +void secureStringClear(std::string& s) { + if (s.empty()) { + return; + } + memset_s(&s.front(), s.length(), 0, s.length()); + s.clear(); +} +#elif defined(_WIN32) +void secureStringClear(std::string& s) { + if (s.empty()) { + return; + } + SecureZeroMemory(&s.front(), s.length()); + s.clear(); +} +#else +#if defined(__clang__) +#pragma clang optimize off // clang +#elif defined(__GNUC__) || defined(__MINGW32__) || defined(__MINGW32__) || defined(__MINGW64__) +#pragma GCC push_options // g++ +#pragma GCC optimize("O0") // g++ +#endif +void secureStringClear(std::string& s) { + if (s.empty()) { + return; + } + // NOLINTNEXTLINE (readability-container-data-pointer) + char* ptr = &(s[0]); + memset(ptr, '\0', s.length()); + s.clear(); +} + +#if defined(__clang__) +#pragma clang optimize on // clang +#elif defined(__GNUC__) || defined(__MINGW32__) || defined(__MINGW32__) || defined(__MINGW64__) +#pragma GCC pop_options // g++ +#endif +#endif + +bool isTrue(const std::string& s) { + std::string temp_string{s}; + std::transform(temp_string.begin(), temp_string.end(), temp_string.begin(), [](unsigned char c) { return std::tolower(c); }); + return temp_string == "true"; +} + +} // namespace cpr::util diff --git a/vendor/CPR/include/cpr/accept_encoding.h b/vendor/CPR/include/cpr/accept_encoding.h new file mode 100644 index 00000000..167d7c2c --- /dev/null +++ b/vendor/CPR/include/cpr/accept_encoding.h @@ -0,0 +1,41 @@ +#ifndef CPR_ACCEPT_ENCODING_H +#define CPR_ACCEPT_ENCODING_H + +#include +#include +#include +#include +#include + +namespace cpr { + +enum class AcceptEncodingMethods { + identity, + deflate, + zlib, + gzip, + disabled, +}; + +// NOLINTNEXTLINE(cert-err58-cpp) +static const std::map AcceptEncodingMethodsStringMap{{AcceptEncodingMethods::identity, "identity"}, {AcceptEncodingMethods::deflate, "deflate"}, {AcceptEncodingMethods::zlib, "zlib"}, {AcceptEncodingMethods::gzip, "gzip"}, {AcceptEncodingMethods::disabled, "disabled"}}; + +class AcceptEncoding { + public: + AcceptEncoding() = default; + // NOLINTNEXTLINE(google-explicit-constructor) + AcceptEncoding(const std::initializer_list& methods); + // NOLINTNEXTLINE(google-explicit-constructor) + AcceptEncoding(const std::initializer_list& methods); + + [[nodiscard]] bool empty() const noexcept; + [[nodiscard]] const std::string getString() const; + [[nodiscard]] bool disabled() const; + + private: + std::unordered_set methods_; +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/api.h b/vendor/CPR/include/cpr/api.h index 089924b3..ba9c64e6 100644 --- a/vendor/CPR/include/cpr/api.h +++ b/vendor/CPR/include/cpr/api.h @@ -7,27 +7,108 @@ #include #include +#include "cpr/async.h" +#include "cpr/async_wrapper.h" #include "cpr/auth.h" #include "cpr/bearer.h" #include "cpr/cprtypes.h" -#include "cpr/digest.h" #include "cpr/multipart.h" -#include "cpr/ntlm.h" +#include "cpr/multiperform.h" #include "cpr/payload.h" #include "cpr/response.h" #include "cpr/session.h" -#include +#include namespace cpr { -using AsyncResponse = std::future; +using AsyncResponse = AsyncWrapper; namespace priv { +template +void set_option_internal(Session& session, CurrentType&& current_option) { + session.SetOption(std::forward(current_option)); +} + +template <> +inline void set_option_internal(Session& session, Header&& current_option) { + // Header option was already provided -> Update previous header + session.UpdateHeader(std::forward
(current_option)); +} + +template +void set_option_internal(Session& session, CurrentType&& current_option, Ts&&... ts) { + set_option_internal(session, std::forward(current_option)); + + if (std::is_same::value) { + set_option_internal(session, std::forward(ts)...); + } else { + set_option_internal(session, std::forward(ts)...); + } +} + template void set_option(Session& session, Ts&&... ts) { - std::initializer_list ignore = { (session.SetOption(std::forward(ts)), 0)... }; - (void)ignore; + set_option_internal(session, std::forward(ts)...); +} + +// Idea: https://stackoverflow.com/a/19060157 +template +void apply_set_option_internal(Session& session, Tuple&& t, std::index_sequence) { + set_option(session, std::get(std::forward(t))...); +} + +// Idea: https://stackoverflow.com/a/19060157 +template +void apply_set_option(Session& session, Tuple&& t) { + using Indices = std::make_index_sequence>::value>; + apply_set_option_internal(session, std::forward(t), Indices()); +} + +template +void setup_multiperform_internal(MultiPerform& multiperform, T&& t) { + std::shared_ptr session = std::make_shared(); + apply_set_option(*session, t); + multiperform.AddSession(session); +} + +template +void setup_multiperform_internal(MultiPerform& multiperform, T&& t, Ts&&... ts) { + std::shared_ptr session = std::make_shared(); + apply_set_option(*session, t); + multiperform.AddSession(session); + setup_multiperform_internal(multiperform, std::forward(ts)...); +} + +template +void setup_multiperform(MultiPerform& multiperform, Ts&&... ts) { + setup_multiperform_internal(multiperform, std::forward(ts)...); +} + +using session_action_t = cpr::Response (cpr::Session::*)(); + +template +void setup_multiasync(std::vector>& responses, T&& parameters) { + std::shared_ptr cancellation_state = std::make_shared(false); + + std::function execFn{[cancellation_state](T params) { + if (cancellation_state->load()) { + return Response{}; + } + cpr::Session s{}; + s.SetCancellationParam(cancellation_state); + apply_set_option(s, std::forward(params)); + return std::invoke(SessionAction, s); + }}; + responses.emplace_back(GlobalThreadPool::GetInstance()->Submit(std::move(execFn), std::forward(parameters)), std::move(cancellation_state)); +} + +template +void setup_multiasync(std::vector>& responses, T&& head, Ts&&... tail) { + setup_multiasync(responses, std::forward(head)); + if constexpr (sizeof...(Ts) > 0) { + setup_multiasync(responses, std::forward(tail)...); + } } } // namespace priv @@ -43,17 +124,14 @@ Response Get(Ts&&... ts) { // Get async methods template AsyncResponse GetAsync(Ts... ts) { - return std::async( - std::launch::async, [](Ts... ts_inner) { return Get(std::move(ts_inner)...); }, std::move(ts)...); + return cpr::async([](Ts... ts_inner) { return Get(std::move(ts_inner)...); }, std::move(ts)...); } // Get callback methods template // NOLINTNEXTLINE(fuchsia-trailing-return) -auto GetCallback(Then then, Ts... ts) -> std::future { - return std::async( - std::launch::async, [](Then then_inner, Ts... ts_inner) { return then_inner(Get(std::move(ts_inner)...)); }, - std::move(then), std::move(ts)...); +auto GetCallback(Then then, Ts... ts) { + return cpr::async([](Then then_inner, Ts... ts_inner) { return then_inner(Get(std::move(ts_inner)...)); }, std::move(then), std::move(ts)...); } // Post methods @@ -67,17 +145,14 @@ Response Post(Ts&&... ts) { // Post async methods template AsyncResponse PostAsync(Ts... ts) { - return std::async( - std::launch::async, [](Ts... ts_inner) { return Post(std::move(ts_inner)...); }, std::move(ts)...); + return cpr::async([](Ts... ts_inner) { return Post(std::move(ts_inner)...); }, std::move(ts)...); } // Post callback methods template // NOLINTNEXTLINE(fuchsia-trailing-return) -auto PostCallback(Then then, Ts... ts) -> std::future { - return std::async( - std::launch::async, [](Then then_inner, Ts... ts_inner) { return then_inner(Post(std::move(ts_inner)...)); }, - std::move(then), std::move(ts)...); +auto PostCallback(Then then, Ts... ts) { + return cpr::async([](Then then_inner, Ts... ts_inner) { return then_inner(Post(std::move(ts_inner)...)); }, std::move(then), std::move(ts)...); } // Put methods @@ -91,17 +166,14 @@ Response Put(Ts&&... ts) { // Put async methods template AsyncResponse PutAsync(Ts... ts) { - return std::async( - std::launch::async, [](Ts... ts_inner) { return Put(std::move(ts_inner)...); }, std::move(ts)...); + return cpr::async([](Ts... ts_inner) { return Put(std::move(ts_inner)...); }, std::move(ts)...); } // Put callback methods template // NOLINTNEXTLINE(fuchsia-trailing-return) -auto PutCallback(Then then, Ts... ts) -> std::future { - return std::async( - std::launch::async, [](Then then_inner, Ts... ts_inner) { return then_inner(Put(std::move(ts_inner)...)); }, - std::move(then), std::move(ts)...); +auto PutCallback(Then then, Ts... ts) { + return cpr::async([](Then then_inner, Ts... ts_inner) { return then_inner(Put(std::move(ts_inner)...)); }, std::move(then), std::move(ts)...); } // Head methods @@ -115,17 +187,14 @@ Response Head(Ts&&... ts) { // Head async methods template AsyncResponse HeadAsync(Ts... ts) { - return std::async( - std::launch::async, [](Ts... ts_inner) { return Head(std::move(ts_inner)...); }, std::move(ts)...); + return cpr::async([](Ts... ts_inner) { return Head(std::move(ts_inner)...); }, std::move(ts)...); } // Head callback methods template // NOLINTNEXTLINE(fuchsia-trailing-return) -auto HeadCallback(Then then, Ts... ts) -> std::future { - return std::async( - std::launch::async, [](Then then_inner, Ts... ts_inner) { return then_inner(Head(std::move(ts_inner)...)); }, - std::move(then), std::move(ts)...); +auto HeadCallback(Then then, Ts... ts) { + return cpr::async([](Then then_inner, Ts... ts_inner) { return then_inner(Head(std::move(ts_inner)...)); }, std::move(then), std::move(ts)...); } // Delete methods @@ -139,18 +208,14 @@ Response Delete(Ts&&... ts) { // Delete async methods template AsyncResponse DeleteAsync(Ts... ts) { - return std::async( - std::launch::async, [](Ts... ts_inner) { return Delete(std::move(ts_inner)...); }, - std::move(ts)...); + return cpr::async([](Ts... ts_inner) { return Delete(std::move(ts_inner)...); }, std::move(ts)...); } // Delete callback methods template // NOLINTNEXTLINE(fuchsia-trailing-return) -auto DeleteCallback(Then then, Ts... ts) -> std::future { - return std::async( - std::launch::async, [](Then then_inner, Ts... ts_inner) { return then_inner(Delete(std::move(ts_inner)...)); }, - std::move(then), std::move(ts)...); +auto DeleteCallback(Then then, Ts... ts) { + return cpr::async([](Then then_inner, Ts... ts_inner) { return then_inner(Delete(std::move(ts_inner)...)); }, std::move(then), std::move(ts)...); } // Options methods @@ -164,19 +229,14 @@ Response Options(Ts&&... ts) { // Options async methods template AsyncResponse OptionsAsync(Ts... ts) { - return std::async( - std::launch::async, [](Ts... ts_inner) { return Options(std::move(ts_inner)...); }, - std::move(ts)...); + return cpr::async([](Ts... ts_inner) { return Options(std::move(ts_inner)...); }, std::move(ts)...); } // Options callback methods template // NOLINTNEXTLINE(fuchsia-trailing-return) -auto OptionsCallback(Then then, Ts... ts) - -> std::future { - return std::async( - std::launch::async, [](Then then_inner, Ts... ts_inner) { return then_inner(Options(std::move(ts_inner)...)); }, - std::move(then), std::move(ts)...); +auto OptionsCallback(Then then, Ts... ts) { + return cpr::async([](Then then_inner, Ts... ts_inner) { return then_inner(Options(std::move(ts_inner)...)); }, std::move(then), std::move(ts)...); } // Patch methods @@ -190,17 +250,14 @@ Response Patch(Ts&&... ts) { // Patch async methods template AsyncResponse PatchAsync(Ts... ts) { - return std::async( - std::launch::async, [](Ts... ts_inner) { return Patch(std::move(ts_inner)...); }, std::move(ts)...); + return cpr::async([](Ts... ts_inner) { return Patch(std::move(ts_inner)...); }, std::move(ts)...); } // Patch callback methods template // NOLINTNEXTLINE(fuchsia-trailing-return) -auto PatchCallback(Then then, Ts... ts) -> std::future { - return std::async( - std::launch::async, [](Then then_inner, Ts... ts_inner) { return then_inner(Patch(std::move(ts_inner)...)); }, - std::move(then), std::move(ts)...); +auto PatchCallback(Then then, Ts... ts) { + return cpr::async([](Then then_inner, Ts... ts_inner) { return then_inner(Patch(std::move(ts_inner)...)); }, std::move(then), std::move(ts)...); } // Download methods @@ -211,6 +268,18 @@ Response Download(std::ofstream& file, Ts&&... ts) { return session.Download(file); } +// Download async method +template +AsyncResponse DownloadAsync(fs::path local_path, Ts... ts) { + return AsyncWrapper{std::async( + std::launch::async, + [](fs::path local_path_, Ts... ts_) { + std::ofstream f(local_path_.c_str()); + return Download(f, std::move(ts_)...); + }, + std::move(local_path), std::move(ts)...)}; +} + // Download with user callback template Response Download(const WriteCallback& write, Ts&&... ts) { @@ -219,6 +288,105 @@ Response Download(const WriteCallback& write, Ts&&... ts) { return session.Download(write); } +// Multi requests +template +std::vector MultiGet(Ts&&... ts) { + MultiPerform multiperform; + priv::setup_multiperform(multiperform, std::forward(ts)...); + return multiperform.Get(); +} + +template +std::vector MultiDelete(Ts&&... ts) { + MultiPerform multiperform; + priv::setup_multiperform(multiperform, std::forward(ts)...); + return multiperform.Delete(); +} + +template +std::vector MultiPut(Ts&&... ts) { + MultiPerform multiperform; + priv::setup_multiperform(multiperform, std::forward(ts)...); + return multiperform.Put(); +} + +template +std::vector MultiHead(Ts&&... ts) { + MultiPerform multiperform; + priv::setup_multiperform(multiperform, std::forward(ts)...); + return multiperform.Head(); +} + +template +std::vector MultiOptions(Ts&&... ts) { + MultiPerform multiperform; + priv::setup_multiperform(multiperform, std::forward(ts)...); + return multiperform.Options(); +} + +template +std::vector MultiPatch(Ts&&... ts) { + MultiPerform multiperform; + priv::setup_multiperform(multiperform, std::forward(ts)...); + return multiperform.Patch(); +} + +template +std::vector MultiPost(Ts&&... ts) { + MultiPerform multiperform; + priv::setup_multiperform(multiperform, std::forward(ts)...); + return multiperform.Post(); +} + +template +std::vector> MultiGetAsync(Ts&&... ts) { + std::vector> ret{}; + priv::setup_multiasync<&cpr::Session::Get>(ret, std::forward(ts)...); + return ret; +} + +template +std::vector> MultiDeleteAsync(Ts&&... ts) { + std::vector> ret{}; + priv::setup_multiasync<&cpr::Session::Delete>(ret, std::forward(ts)...); + return ret; +} + +template +std::vector> MultiHeadAsync(Ts&&... ts) { + std::vector> ret{}; + priv::setup_multiasync<&cpr::Session::Head>(ret, std::forward(ts)...); + return ret; +} +template +std::vector> MultiOptionsAsync(Ts&&... ts) { + std::vector> ret{}; + priv::setup_multiasync<&cpr::Session::Options>(ret, std::forward(ts)...); + return ret; +} + +template +std::vector> MultiPatchAsync(Ts&&... ts) { + std::vector> ret{}; + priv::setup_multiasync<&cpr::Session::Patch>(ret, std::forward(ts)...); + return ret; +} + +template +std::vector> MultiPostAsync(Ts&&... ts) { + std::vector> ret{}; + priv::setup_multiasync<&cpr::Session::Post>(ret, std::forward(ts)...); + return ret; +} + +template +std::vector> MultiPutAsync(Ts&&... ts) { + std::vector> ret{}; + priv::setup_multiasync<&cpr::Session::Put>(ret, std::forward(ts)...); + return ret; +} + + } // namespace cpr #endif diff --git a/vendor/CPR/include/cpr/async.h b/vendor/CPR/include/cpr/async.h new file mode 100644 index 00000000..1305834f --- /dev/null +++ b/vendor/CPR/include/cpr/async.h @@ -0,0 +1,50 @@ +#ifndef CPR_ASYNC_H +#define CPR_ASYNC_H + +#include "async_wrapper.h" +#include "singleton.h" +#include "threadpool.h" + +namespace cpr { + +class GlobalThreadPool : public ThreadPool { + CPR_SINGLETON_DECL(GlobalThreadPool) + protected: + GlobalThreadPool() = default; + + public: + ~GlobalThreadPool() override = default; +}; + +/** + * Return a wrapper for a future, calling future.get() will wait until the task is done and return RetType. + * async(fn, args...) + * async(std::bind(&Class::mem_fn, &obj)) + * async(std::mem_fn(&Class::mem_fn, &obj)) + **/ +template +auto async(Fn&& fn, Args&&... args) { + return AsyncWrapper{GlobalThreadPool::GetInstance()->Submit(std::forward(fn), std::forward(args)...)}; +} + +class async { + public: + static void startup(size_t min_threads = CPR_DEFAULT_THREAD_POOL_MIN_THREAD_NUM, size_t max_threads = CPR_DEFAULT_THREAD_POOL_MAX_THREAD_NUM, std::chrono::milliseconds max_idle_ms = CPR_DEFAULT_THREAD_POOL_MAX_IDLE_TIME) { + GlobalThreadPool* gtp = GlobalThreadPool::GetInstance(); + if (gtp->IsStarted()) { + return; + } + gtp->SetMinThreadNum(min_threads); + gtp->SetMaxThreadNum(max_threads); + gtp->SetMaxIdleTime(max_idle_ms); + gtp->Start(); + } + + static void cleanup() { + GlobalThreadPool::ExitInstance(); + } +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/async_wrapper.h b/vendor/CPR/include/cpr/async_wrapper.h new file mode 100644 index 00000000..bb46bf9d --- /dev/null +++ b/vendor/CPR/include/cpr/async_wrapper.h @@ -0,0 +1,140 @@ +#ifndef CPR_ASYNC_WRAPPER_H +#define CPR_ASYNC_WRAPPER_H + +#include +#include +#include + +#include "cpr/response.h" + +namespace cpr { +enum class [[nodiscard]] CancellationResult { failure, success, invalid_operation }; + +/** + * A class template intended to wrap results of async operations (instances of std::future) + * and also provide extended capablilities relaed to these requests, for example cancellation. + * + * The RAII semantics are the same as std::future - moveable, not copyable. + */ +template +class AsyncWrapper { + private: + std::future future; + std::shared_ptr is_cancelled; + + public: + // Constructors + explicit AsyncWrapper(std::future&& f) : future{std::move(f)} {} + AsyncWrapper(std::future&& f, std::shared_ptr&& cancelledState) : future{std::move(f)}, is_cancelled{std::move(cancelledState)} {} + + // Copy Semantics + AsyncWrapper(const AsyncWrapper&) = delete; + AsyncWrapper& operator=(const AsyncWrapper&) = delete; + + // Move Semantics + AsyncWrapper(AsyncWrapper&&) noexcept = default; + AsyncWrapper& operator=(AsyncWrapper&&) noexcept = default; + + // Destructor + ~AsyncWrapper() { + if constexpr (isCancellable) { + if(is_cancelled) { + is_cancelled->store(true); + } + } + } + // These methods replicate the behaviour of std::future + [[nodiscard]] T get() { + if constexpr (isCancellable) { + if (IsCancelled()) { + throw std::logic_error{"Calling AsyncWrapper::get on a cancelled request!"}; + } + } + if (!future.valid()) { + throw std::logic_error{"Calling AsyncWrapper::get when the associated future instance is invalid!"}; + } + return future.get(); + } + + [[nodiscard]] bool valid() const noexcept { + if constexpr (isCancellable) { + return !is_cancelled->load() && future.valid(); + } else { + return future.valid(); + } + } + + void wait() const { + if constexpr (isCancellable) { + if (is_cancelled->load()) { + throw std::logic_error{"Calling AsyncWrapper::wait when the associated future is invalid or cancelled!"}; + } + } + if (!future.valid()) { + throw std::logic_error{"Calling AsyncWrapper::wait_until when the associated future is invalid!"}; + } + future.wait(); + } + + template + std::future_status wait_for(const std::chrono::duration& timeout_duration) const { + if constexpr (isCancellable) { + if (IsCancelled()) { + throw std::logic_error{"Calling AsyncWrapper::wait_for when the associated future is cancelled!"}; + } + } + if (!future.valid()) { + throw std::logic_error{"Calling AsyncWrapper::wait_until when the associated future is invalid!"}; + } + return future.wait_for(timeout_duration); + } + + template + std::future_status wait_until(const std::chrono::time_point& timeout_time) const { + if constexpr (isCancellable) { + if (IsCancelled()) { + throw std::logic_error{"Calling AsyncWrapper::wait_until when the associated future is cancelled!"}; + } + } + if (!future.valid()) { + throw std::logic_error{"Calling AsyncWrapper::wait_until when the associated future is invalid!"}; + } + return future.wait_until(timeout_time); + } + + std::shared_future share() noexcept { + return future.share(); + } + + // Cancellation-related methods + CancellationResult Cancel() { + if constexpr (!isCancellable) { + return CancellationResult::invalid_operation; + } + if (!future.valid() || is_cancelled->load()) { + return CancellationResult::invalid_operation; + } + is_cancelled->store(true); + return CancellationResult::success; + } + + [[nodiscard]] bool IsCancelled() const { + if constexpr (isCancellable) { + return is_cancelled->load(); + } else { + return false; + } + } +}; + +// Deduction guides +template +AsyncWrapper(std::future&&) -> AsyncWrapper; + +template +AsyncWrapper(std::future&&, std::shared_ptr&&) -> AsyncWrapper; + +} // namespace cpr + + +#endif diff --git a/vendor/CPR/include/cpr/auth.h b/vendor/CPR/include/cpr/auth.h index 0da65e39..e7839694 100644 --- a/vendor/CPR/include/cpr/auth.h +++ b/vendor/CPR/include/cpr/auth.h @@ -7,23 +7,24 @@ namespace cpr { +enum class AuthMode { BASIC, DIGEST, NTLM }; + class Authentication { public: - Authentication(const std::string& username, const std::string& password) - : auth_string_{username + ":" + password} {} - Authentication(std::string&& username, std::string&& password) - : auth_string_{std::move(username) + ":" + std::move(password)} {} + Authentication(std::string username, std::string password, AuthMode auth_mode) : auth_string_{std::move(username) + ":" + std::move(password)}, auth_mode_{std::move(auth_mode)} {} Authentication(const Authentication& other) = default; Authentication(Authentication&& old) noexcept = default; - virtual ~Authentication() noexcept = default; + ~Authentication() noexcept; Authentication& operator=(Authentication&& old) noexcept = default; Authentication& operator=(const Authentication& other) = default; - virtual const char* GetAuthString() const noexcept; + const char* GetAuthString() const noexcept; + AuthMode GetAuthMode() const noexcept; - protected: + private: std::string auth_string_; + AuthMode auth_mode_; }; } // namespace cpr diff --git a/vendor/CPR/include/cpr/bearer.h b/vendor/CPR/include/cpr/bearer.h index c7e5d35a..5e58a7d9 100644 --- a/vendor/CPR/include/cpr/bearer.h +++ b/vendor/CPR/include/cpr/bearer.h @@ -1,8 +1,8 @@ #ifndef CPR_BEARER_H #define CPR_BEARER_H -#include #include +#include #include @@ -14,12 +14,10 @@ namespace cpr { class Bearer { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Bearer(const std::string& token) : token_string_{token} {} - // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Bearer(std::string&& token) : token_string_{std::move(token)} {} + Bearer(std::string token) : token_string_{std::move(token)} {} Bearer(const Bearer& other) = default; Bearer(Bearer&& old) noexcept = default; - virtual ~Bearer() noexcept = default; + virtual ~Bearer() noexcept; Bearer& operator=(Bearer&& old) noexcept = default; Bearer& operator=(const Bearer& other) = default; diff --git a/vendor/CPR/include/cpr/body.h b/vendor/CPR/include/cpr/body.h index bafc89f9..f691d9c6 100644 --- a/vendor/CPR/include/cpr/body.h +++ b/vendor/CPR/include/cpr/body.h @@ -1,24 +1,46 @@ #ifndef CPR_BODY_H #define CPR_BODY_H +#include +#include #include #include +#include +#include "cpr/buffer.h" #include "cpr/cprtypes.h" +#include "cpr/file.h" namespace cpr { class Body : public StringHolder { public: - Body() : StringHolder() {} + Body() = default; // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Body(const std::string& body) : StringHolder(body) {} + Body(std::string body) : StringHolder(std::move(body)) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Body(std::string&& body) : StringHolder(std::move(body)) {} + Body(std::string_view body) : StringHolder(body) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) Body(const char* body) : StringHolder(body) {} Body(const char* str, size_t len) : StringHolder(str, len) {} Body(const std::initializer_list args) : StringHolder(args) {} + // NOLINTNEXTLINE(google-explicit-constructor, cppcoreguidelines-pro-type-reinterpret-cast) + Body(const Buffer& buffer) : StringHolder(reinterpret_cast(buffer.data), static_cast(buffer.datalen)) {} + // NOLINTNEXTLINE(google-explicit-constructor) + Body(const File& file) { + std::ifstream is(file.filepath, std::ifstream::binary); + if (!is) { + throw std::invalid_argument("Can't open the file for HTTP request body!"); + } + + is.seekg(0, std::ios::end); + const std::streampos length = is.tellg(); + is.seekg(0, std::ios::beg); + std::string buffer; + buffer.resize(static_cast(length)); + is.read(buffer.data(), length); + str_ = std::move(buffer); + } Body(const Body& other) = default; Body(Body&& old) noexcept = default; ~Body() override = default; diff --git a/vendor/CPR/include/cpr/buffer.h b/vendor/CPR/include/cpr/buffer.h new file mode 100644 index 00000000..5665faa0 --- /dev/null +++ b/vendor/CPR/include/cpr/buffer.h @@ -0,0 +1,33 @@ +#ifndef CPR_BUFFER_H +#define CPR_BUFFER_H + +#include + +#include + +namespace cpr { + +struct Buffer { + using data_t = const char*; + + template + Buffer(Iterator begin, Iterator end, fs::path&& p_filename) + // Ignored here since libcurl reqires a long. + // There is also no way around the reinterpret_cast. + // NOLINTNEXTLINE(google-runtime-int, cppcoreguidelines-pro-type-reinterpret-cast) + : data{reinterpret_cast(&(*begin))}, datalen{static_cast(std::distance(begin, end))}, filename(std::move(p_filename)) { + is_random_access_iterator(begin, end); + static_assert(sizeof(*begin) == 1, "Only byte buffers can be used"); + } + + template + typename std::enable_if::iterator_category, std::random_access_iterator_tag>::value>::type is_random_access_iterator(Iterator /* begin */, Iterator /* end */) {} + + data_t data; + size_t datalen; + const fs::path filename; +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/callback.h b/vendor/CPR/include/cpr/callback.h index b90c1bbd..dc1c6eeb 100644 --- a/vendor/CPR/include/cpr/callback.h +++ b/vendor/CPR/include/cpr/callback.h @@ -3,7 +3,9 @@ #include "cprtypes.h" +#include #include +#include #include namespace cpr { @@ -14,11 +16,11 @@ class ReadCallback { // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) ReadCallback(std::function p_callback, intptr_t p_userdata = 0) : userdata(p_userdata), size{-1}, callback{std::move(p_callback)} {} ReadCallback(cpr_off_t p_size, std::function p_callback, intptr_t p_userdata = 0) : userdata(p_userdata), size{p_size}, callback{std::move(p_callback)} {} - bool operator()(char* buffer, size_t& size) const { - return callback(buffer, size, userdata); + bool operator()(char* buffer, size_t& buffer_size) const { + return callback(buffer, buffer_size, userdata); } - intptr_t userdata; + intptr_t userdata{}; cpr_off_t size{}; std::function callback; }; @@ -32,7 +34,7 @@ class HeaderCallback { return callback(std::move(header), userdata); } - intptr_t userdata; + intptr_t userdata{}; std::function callback; }; @@ -45,7 +47,7 @@ class WriteCallback { return callback(std::move(data), userdata); } - intptr_t userdata; + intptr_t userdata{}; std::function callback; }; @@ -53,13 +55,13 @@ class ProgressCallback { public: ProgressCallback() = default; // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - ProgressCallback(std::function p_callback, intptr_t p_userdata = 0) : userdata(p_userdata), callback(std::move(p_callback)) {} - bool operator()(cpr_off_t downloadTotal, cpr_off_t downloadNow, cpr_off_t uploadTotal, cpr_off_t uploadNow) const { + ProgressCallback(std::function p_callback, intptr_t p_userdata = 0) : userdata(p_userdata), callback(std::move(p_callback)) {} + bool operator()(cpr_pf_arg_t downloadTotal, cpr_pf_arg_t downloadNow, cpr_pf_arg_t uploadTotal, cpr_pf_arg_t uploadNow) const { return callback(downloadTotal, downloadNow, uploadTotal, uploadNow, userdata); } - intptr_t userdata; - std::function callback; + intptr_t userdata{}; + std::function callback; }; class DebugCallback { @@ -80,10 +82,30 @@ class DebugCallback { callback(type, std::move(data), userdata); } - intptr_t userdata; + intptr_t userdata{}; std::function callback; }; +/** + * Functor class for progress functions that will be used in cancellable requests. + */ +class CancellationCallback { + public: + CancellationCallback() = default; + explicit CancellationCallback(std::shared_ptr&& cs) : cancellation_state{std::move(cs)} {} + + CancellationCallback(std::shared_ptr&& cs, ProgressCallback& u_cb) : cancellation_state{std::move(cs)}, user_cb{std::reference_wrapper{u_cb}} {} + + bool operator()(cpr_pf_arg_t dltotal, cpr_pf_arg_t dlnow, cpr_pf_arg_t ultotal, cpr_pf_arg_t ulnow) const; + + void SetProgressCallback(ProgressCallback& u_cb); + + private: + std::shared_ptr cancellation_state; + std::optional> user_cb; +}; + + } // namespace cpr #endif diff --git a/vendor/CPR/include/cpr/cert_info.h b/vendor/CPR/include/cpr/cert_info.h new file mode 100644 index 00000000..4d957b02 --- /dev/null +++ b/vendor/CPR/include/cpr/cert_info.h @@ -0,0 +1,37 @@ +#ifndef CPR_CERT_INFO_H +#define CPR_CERT_INFO_H + +#include +#include +#include + +namespace cpr { + +class CertInfo { + private: + std::vector cert_info_; + + public: + CertInfo() = default; + CertInfo(const CertInfo& other) = default; + CertInfo(CertInfo&& old) = default; + CertInfo(const std::initializer_list& entry) : cert_info_{entry} {} + ~CertInfo() noexcept = default; + + using iterator = std::vector::iterator; + using const_iterator = std::vector::const_iterator; + + std::string& operator[](const size_t& pos); + iterator begin(); + iterator end(); + const_iterator begin() const; + const_iterator end() const; + const_iterator cbegin() const; + const_iterator cend() const; + void emplace_back(const std::string& str); + void push_back(const std::string& str); + void pop_back(); +}; +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/cookies.h b/vendor/CPR/include/cpr/cookies.h index ca1d8f75..4200ed84 100644 --- a/vendor/CPR/include/cpr/cookies.h +++ b/vendor/CPR/include/cpr/cookies.h @@ -2,12 +2,49 @@ #define CPR_COOKIES_H #include "cpr/curlholder.h" +#include #include -#include #include #include +#include namespace cpr { +/** + * EXPIRES_STRING_SIZE is an explicitly static and const variable that could be only accessed within the same namespace and is immutable. + * To be used for "std::array", the expression must have a constant value, so EXPIRES_STRING_SIZE must be a const value. + **/ +static const std::size_t EXPIRES_STRING_SIZE = 100; + +class Cookie { + public: + Cookie() = default; + /** + * Some notes for the default value used by expires: + * std::chrono::system_clock::time_point::min() won't work on Windows due to the min, max clash there. + * So we fall back to std::chrono::system_clock::from_time_t(0) for the minimum value here. + **/ + Cookie(const std::string& name, const std::string& value, const std::string& domain = "", bool p_isIncludingSubdomains = false, const std::string& path = "/", bool p_isHttpsOnly = false, std::chrono::system_clock::time_point expires = std::chrono::system_clock::from_time_t(0)) : name_{name}, value_{value}, domain_{domain}, includeSubdomains_{p_isIncludingSubdomains}, path_{path}, httpsOnly_{p_isHttpsOnly}, expires_{expires} {} + const std::string GetDomain() const; + bool IsIncludingSubdomains() const; + const std::string GetPath() const; + bool IsHttpsOnly() const; + const std::chrono::system_clock::time_point GetExpires() const; + const std::string GetExpiresString() const; + const std::string GetName() const; + const std::string GetValue() const; + + private: + std::string name_; + std::string value_; + std::string domain_; + bool includeSubdomains_{}; + std::string path_; + bool httpsOnly_{}; + /** + * TODO: Update the implementation using `std::chrono::utc_clock` of C++20 + **/ + std::chrono::system_clock::time_point expires_{}; +}; class Cookies { public: @@ -25,19 +62,16 @@ class Cookies { bool encode{true}; // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Cookies(bool p_encode = true) : encode(p_encode) {} - Cookies(const std::initializer_list>& pairs, - bool p_encode = true) - : encode(p_encode), map_{pairs} {} + Cookies(bool p_encode = true) : encode{p_encode} {} + Cookies(const std::initializer_list& cookies, bool p_encode = true) : encode{p_encode}, cookies_{cookies} {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Cookies(const std::map& map, bool p_encode = true) - : encode(p_encode), map_{map} {} + Cookies(const cpr::Cookie& cookie, bool p_encode = true) : encode{p_encode}, cookies_{cookie} {} - std::string& operator[](const std::string& key); - std::string GetEncoded(const CurlHolder& holder) const; + cpr::Cookie& operator[](size_t pos); + const std::string GetEncoded(const CurlHolder& holder) const; - using iterator = std::map::iterator; - using const_iterator = std::map::const_iterator; + using iterator = std::vector::iterator; + using const_iterator = std::vector::const_iterator; iterator begin(); iterator end(); @@ -45,9 +79,12 @@ class Cookies { const_iterator end() const; const_iterator cbegin() const; const_iterator cend() const; + void emplace_back(const Cookie& str); + void push_back(const Cookie& str); + void pop_back(); protected: - std::map map_; + std::vector cookies_; }; } // namespace cpr diff --git a/vendor/CPR/include/cpr/cpr.h b/vendor/CPR/include/cpr/cpr.h index 82330d2c..fbad1726 100644 --- a/vendor/CPR/include/cpr/cpr.h +++ b/vendor/CPR/include/cpr/cpr.h @@ -3,12 +3,43 @@ #include "cpr/api.h" #include "cpr/auth.h" +#include "cpr/bearer.h" +#include "cpr/callback.h" +#include "cpr/cert_info.h" +#include "cpr/connect_timeout.h" +#include "cpr/cookies.h" #include "cpr/cprtypes.h" +#include "cpr/cprver.h" +#include "cpr/curl_container.h" +#include "cpr/curlholder.h" +#include "cpr/error.h" +#include "cpr/http_version.h" +#include "cpr/interceptor.h" #include "cpr/interface.h" +#include "cpr/limit_rate.h" +#include "cpr/local_port.h" +#include "cpr/local_port_range.h" +#include "cpr/low_speed.h" +#include "cpr/multipart.h" +#include "cpr/multiperform.h" +#include "cpr/parameters.h" +#include "cpr/payload.h" +#include "cpr/proxies.h" +#include "cpr/proxyauth.h" +#include "cpr/range.h" #include "cpr/redirect.h" +#include "cpr/reserve_size.h" +#include "cpr/resolve.h" #include "cpr/response.h" #include "cpr/session.h" +#include "cpr/ssl_ctx.h" +#include "cpr/ssl_options.h" #include "cpr/status_codes.h" +#include "cpr/timeout.h" +#include "cpr/unix_socket.h" +#include "cpr/user_agent.h" +#include "cpr/util.h" +#include "cpr/verbose.h" #define CPR_LIBCURL_VERSION_NUM LIBCURL_VERSION_NUM diff --git a/vendor/CPR/include/cpr/cprtypes.h b/vendor/CPR/include/cpr/cprtypes.h index abd8dca3..65da7386 100644 --- a/vendor/CPR/include/cpr/cprtypes.h +++ b/vendor/CPR/include/cpr/cprtypes.h @@ -2,11 +2,13 @@ #define CPR_CPR_TYPES_H #include +#include #include #include #include #include #include +#include namespace cpr { @@ -15,12 +17,21 @@ namespace cpr { **/ using cpr_off_t = curl_off_t; +/** + * The argument type for progress functions, dependent on libcurl version + **/ +#if LIBCURL_VERSION_NUM < 0x072000 +using cpr_pf_arg_t = double; +#else +using cpr_pf_arg_t = cpr_off_t; +#endif + template class StringHolder { public: StringHolder() = default; - explicit StringHolder(const std::string& str) : str_(str) {} - explicit StringHolder(std::string&& str) : str_(std::move(str)) {} + explicit StringHolder(std::string str) : str_(std::move(str)) {} + explicit StringHolder(std::string_view str) : str_(str) {} explicit StringHolder(const char* str) : str_(str) {} StringHolder(const char* str, size_t len) : str_(str, len) {} StringHolder(const std::initializer_list args) { @@ -107,9 +118,9 @@ class Url : public StringHolder { public: Url() = default; // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Url(const std::string& url) : StringHolder(url) {} + Url(std::string url) : StringHolder(std::move(url)) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Url(std::string&& url) : StringHolder(std::move(url)) {} + Url(std::string_view url) : StringHolder(url) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) Url(const char* url) : StringHolder(url) {} Url(const char* str, size_t len) : StringHolder(std::string(str, len)) {} diff --git a/vendor/CPR/include/cpr/cprver.h b/vendor/CPR/include/cpr/cprver.h new file mode 100644 index 00000000..21106d11 --- /dev/null +++ b/vendor/CPR/include/cpr/cprver.h @@ -0,0 +1,30 @@ +#ifndef CPR_CPRVER_H +#define CPR_CPRVER_H + +/** + * CPR version as a string. + **/ +#define CPR_VERSION "1.10.4" + +/** + * CPR version split up into parts. + **/ +#define CPR_VERSION_MAJOR 1 +#define CPR_VERSION_MINOR 10 +#define CPR_VERSION_PATCH 4 + +/** + * CPR version as a single hex digit. + * it can be split up into three parts: + * 0xAABBCC + * AA: The current CPR major version number in a hex format. + * BB: The current CPR minor version number in a hex format. + * CC: The current CPR patch version number in a hex format. + * + * Examples: + * '0x010702' -> 01.07.02 -> CPR_VERSION: 1.7.2 + * '0xA13722' -> A1.37.22 -> CPR_VERSION: 161.55.34 + **/ +#define CPR_VERSION_NUM 0x011004 + +#endif diff --git a/vendor/CPR/include/cpr/curl_container.h b/vendor/CPR/include/cpr/curl_container.h index 691d6cba..c2409b22 100644 --- a/vendor/CPR/include/cpr/curl_container.h +++ b/vendor/CPR/include/cpr/curl_container.h @@ -12,18 +12,14 @@ namespace cpr { struct Parameter { - Parameter(const std::string& p_key, const std::string& p_value) : key{p_key}, value{p_value} {} - Parameter(std::string&& p_key, std::string&& p_value) - : key{std::move(p_key)}, value{std::move(p_value)} {} + Parameter(std::string p_key, std::string p_value) : key{std::move(p_key)}, value{std::move(p_value)} {} std::string key; std::string value; }; struct Pair { - Pair(const std::string& p_key, const std::string& p_value) : key(p_key), value(p_value) {} - Pair(std::string&& p_key, std::string&& p_value) - : key(std::move(p_key)), value(std::move(p_value)) {} + Pair(std::string p_key, std::string p_value) : key(std::move(p_key)), value(std::move(p_value)) {} std::string key; std::string value; diff --git a/vendor/CPR/include/cpr/curlholder.h b/vendor/CPR/include/cpr/curlholder.h index a8a6e07e..a9e1dc82 100644 --- a/vendor/CPR/include/cpr/curlholder.h +++ b/vendor/CPR/include/cpr/curlholder.h @@ -17,14 +17,18 @@ struct CurlHolder { * https://curl.haxx.se/libcurl/c/curl_easy_init.html * https://curl.haxx.se/libcurl/c/threadsafe.html **/ - // It does not make sense to make a std::mutex const. - // NOLINTNEXTLINE (cppcoreguidelines-avoid-non-const-global-variables) - static std::mutex curl_easy_init_mutex_; + + // Avoids initalization order problems in a static build + static std::mutex& curl_easy_init_mutex_() { + static std::mutex curl_easy_init_mutex_; + return curl_easy_init_mutex_; + } public: CURL* handle{nullptr}; struct curl_slist* chunk{nullptr}; - struct curl_httppost* formpost{nullptr}; + struct curl_slist* resolveCurlList{nullptr}; + curl_mime* multipart{nullptr}; std::array error{}; CurlHolder(); diff --git a/vendor/CPR/include/cpr/curlmultiholder.h b/vendor/CPR/include/cpr/curlmultiholder.h new file mode 100644 index 00000000..401df0eb --- /dev/null +++ b/vendor/CPR/include/cpr/curlmultiholder.h @@ -0,0 +1,18 @@ +#ifndef CPR_CURLMULTIHOLDER_H +#define CPR_CURLMULTIHOLDER_H + +#include + +namespace cpr { + +class CurlMultiHolder { + public: + CurlMultiHolder(); + ~CurlMultiHolder(); + + CURLM* handle{nullptr}; +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/digest.h b/vendor/CPR/include/cpr/digest.h deleted file mode 100644 index 2a7ff38d..00000000 --- a/vendor/CPR/include/cpr/digest.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef CPR_DIGEST_H -#define CPR_DIGEST_H - -#include "cpr/auth.h" - -namespace cpr { -class Digest : public Authentication { - public: - Digest(const std::string& username, const std::string& password) - : Authentication{username, password} {} -}; - -} // namespace cpr - -#endif diff --git a/vendor/CPR/include/cpr/error.h b/vendor/CPR/include/cpr/error.h index 6a2be06e..bb59a4cc 100644 --- a/vendor/CPR/include/cpr/error.h +++ b/vendor/CPR/include/cpr/error.h @@ -27,6 +27,7 @@ enum class ErrorCode { GENERIC_SSL_ERROR, UNSUPPORTED_PROTOCOL, REQUEST_CANCELLED, + TOO_MANY_REDIRECTS, UNKNOWN_ERROR = 1000, }; @@ -37,9 +38,7 @@ class Error { Error() = default; - Error(const std::int32_t& curl_code, std::string&& p_error_message) - : code{getErrorCodeForCurlError(curl_code)}, - message(std::move(p_error_message)) {} + Error(const std::int32_t& curl_code, std::string&& p_error_message) : code{getErrorCodeForCurlError(curl_code)}, message(std::move(p_error_message)) {} explicit operator bool() const { return code != ErrorCode::OK; diff --git a/vendor/CPR/include/cpr/file.h b/vendor/CPR/include/cpr/file.h new file mode 100644 index 00000000..9aa2cf46 --- /dev/null +++ b/vendor/CPR/include/cpr/file.h @@ -0,0 +1,59 @@ +#ifndef CPR_FILE_H +#define CPR_FILE_H + +#include +#include +#include + +#include + +namespace cpr { + +struct File { + explicit File(std::string p_filepath, const std::string& p_overriden_filename = {}) : filepath(std::move(p_filepath)), overriden_filename(p_overriden_filename) {} + + std::string filepath; + std::string overriden_filename; + + [[nodiscard]] bool hasOverridenFilename() const noexcept { + return !overriden_filename.empty(); + } +}; + +class Files { + public: + Files() = default; + // NOLINTNEXTLINE(google-explicit-constructor) + Files(const File& p_file) : files{p_file} {} + + Files(const Files& other) = default; + Files(Files&& old) noexcept = default; + + Files(const std::initializer_list& p_files) : files{p_files} {} + Files(const std::initializer_list& p_filepaths); + + ~Files() noexcept = default; + + Files& operator=(const Files& other); + Files& operator=(Files&& old) noexcept; + + using iterator = std::vector::iterator; + using const_iterator = std::vector::const_iterator; + + iterator begin(); + iterator end(); + [[nodiscard]] const_iterator begin() const; + [[nodiscard]] const_iterator end() const; + [[nodiscard]] const_iterator cbegin() const; + [[nodiscard]] const_iterator cend() const; + void emplace_back(const File& file); + void push_back(const File& file); + void pop_back(); + + private: + std::vector files; +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/filesystem.h b/vendor/CPR/include/cpr/filesystem.h new file mode 100644 index 00000000..f296770c --- /dev/null +++ b/vendor/CPR/include/cpr/filesystem.h @@ -0,0 +1,26 @@ +#ifndef CPR_FILESYSTEM_H +#define CPR_FILESYSTEM_H + +// Include filesystem into the namespace "fs" from either "filesystem" or "experimental/filesystem" or "boost/filesystem" +#ifdef CPR_USE_BOOST_FILESYSTEM +#define BOOST_FILESYSTEM_VERSION 4 // Use the latest, with the closest behavior to std::filesystem. +#include +namespace cpr { +namespace fs = boost::filesystem; +} +// cppcheck-suppress preprocessorErrorDirective +#elif __has_include() +#include +namespace cpr { +namespace fs = std::filesystem; +} +#elif __has_include("experimental/filesystem") +#include +namespace cpr { +namespace fs = std::experimental::filesystem; +} +#else +#error "Failed to include header!" +#endif + +#endif diff --git a/vendor/CPR/include/cpr/http_version.h b/vendor/CPR/include/cpr/http_version.h new file mode 100644 index 00000000..45b50287 --- /dev/null +++ b/vendor/CPR/include/cpr/http_version.h @@ -0,0 +1,67 @@ +#ifndef CPR_HTTP_VERSION_H +#define CPR_HTTP_VERSION_H + +#include + +namespace cpr { +enum class HttpVersionCode { + /** + * Let libcurl decide which version is the best. + **/ + VERSION_NONE, + /** + * Enforce HTTP 1.0 requests. + **/ + VERSION_1_0, + /** + * Enforce HTTP 1.1 requests. + **/ + VERSION_1_1, +#if LIBCURL_VERSION_NUM >= 0x072100 // 7.33.0 + /** + * Attempt HTTP 2.0 requests. + * Fallback to HTTP 1.1 if negotiation fails. + **/ + VERSION_2_0, +#endif +#if LIBCURL_VERSION_NUM >= 0x072F00 // 7.47.0 + /** + * Attempt HTTP 2.0 for HTTPS requests only. + * Fallback to HTTP 1.1 if negotiation fails. + * HTTP 1.1 will be used for HTTP connections. + **/ + VERSION_2_0_TLS, +#endif +#if LIBCURL_VERSION_NUM >= 0x073100 // 7.49.0 + /** + * Start HTTP 2.0 for HTTP requests. + * Requires prior knowledge that the server supports HTTP 2.0. + * For HTTPS requests we will negotiate the protocol version in the TLS handshake. + **/ + VERSION_2_0_PRIOR_KNOWLEDGE, +#endif +#if LIBCURL_VERSION_NUM >= 0x074200 // 7.66.0 + /** + * Attempt HTTP 3.0 requests. + * Requires prior knowledge that the server supports HTTP 3.0 since there is no gracefully downgrade. + * Fallback to HTTP 1.1 if negotiation fails. + **/ + VERSION_3_0 +#endif +}; + +class HttpVersion { + public: + /** + * The HTTP version that should be used by libcurl when initiating a HTTP(S) connection. + * Default: HttpVersionCode::VERSION_NONE + **/ + HttpVersionCode code = HttpVersionCode::VERSION_NONE; + + HttpVersion() = default; + explicit HttpVersion(HttpVersionCode _code) : code(_code) {} +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/interceptor.h b/vendor/CPR/include/cpr/interceptor.h new file mode 100644 index 00000000..d05f4c9c --- /dev/null +++ b/vendor/CPR/include/cpr/interceptor.h @@ -0,0 +1,74 @@ +#ifndef CPR_INTERCEPTOR_H +#define CPR_INTERCEPTOR_H + +#include "cpr/multiperform.h" +#include "cpr/response.h" +#include "cpr/session.h" +#include + +namespace cpr { +class Interceptor { + public: + enum class ProceedHttpMethod { + GET_REQUEST = 0, + POST_REQUEST, + PUT_REQUEST, + DELETE_REQUEST, + PATCH_REQUEST, + HEAD_REQUEST, + OPTIONS_REQUEST, + DOWNLOAD_CALLBACK_REQUEST, + DOWNLOAD_FILE_REQUEST, + }; + + Interceptor() = default; + Interceptor(const Interceptor& other) = default; + Interceptor(Interceptor&& old) = default; + virtual ~Interceptor() = default; + + Interceptor& operator=(const Interceptor& other) = default; + Interceptor& operator=(Interceptor&& old) = default; + + virtual Response intercept(Session& session) = 0; + + protected: + static Response proceed(Session& session); + static Response proceed(Session& session, ProceedHttpMethod httpMethod); + static Response proceed(Session& session, ProceedHttpMethod httpMethod, std::ofstream& file); + static Response proceed(Session& session, ProceedHttpMethod httpMethod, const WriteCallback& write); +}; + +class InterceptorMulti { + public: + enum class ProceedHttpMethod { + GET_REQUEST = 0, + POST_REQUEST, + PUT_REQUEST, + DELETE_REQUEST, + PATCH_REQUEST, + HEAD_REQUEST, + OPTIONS_REQUEST, + DOWNLOAD_CALLBACK_REQUEST, + DOWNLOAD_FILE_REQUEST, + }; + + InterceptorMulti() = default; + InterceptorMulti(const InterceptorMulti& other) = default; + InterceptorMulti(InterceptorMulti&& old) = default; + virtual ~InterceptorMulti() = default; + + InterceptorMulti& operator=(const InterceptorMulti& other) = default; + InterceptorMulti& operator=(InterceptorMulti&& old) = default; + + virtual std::vector intercept(MultiPerform& multi) = 0; + + protected: + static std::vector proceed(MultiPerform& multi); + + static void PrepareDownloadSession(MultiPerform& multi, size_t sessions_index, const WriteCallback& write); +}; + +} // namespace cpr + + +#endif diff --git a/vendor/CPR/include/cpr/interface.h b/vendor/CPR/include/cpr/interface.h index ea8225d1..b98940ec 100644 --- a/vendor/CPR/include/cpr/interface.h +++ b/vendor/CPR/include/cpr/interface.h @@ -10,11 +10,11 @@ namespace cpr { class Interface : public StringHolder { public: - Interface() : StringHolder() {} + Interface() = default; // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Interface(const std::string& iface) : StringHolder(iface) {} + Interface(std::string iface) : StringHolder(std::move(iface)) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Interface(std::string&& iface) : StringHolder(std::move(iface)) {} + Interface(std::string_view iface) : StringHolder(iface) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) Interface(const char* iface) : StringHolder(iface) {} Interface(const char* str, size_t len) : StringHolder(str, len) {} @@ -29,4 +29,4 @@ class Interface : public StringHolder { } // namespace cpr -#endif \ No newline at end of file +#endif diff --git a/vendor/CPR/include/cpr/limit_rate.h b/vendor/CPR/include/cpr/limit_rate.h index 23bd0322..f25c09e5 100644 --- a/vendor/CPR/include/cpr/limit_rate.h +++ b/vendor/CPR/include/cpr/limit_rate.h @@ -7,8 +7,7 @@ namespace cpr { class LimitRate { public: - LimitRate(const std::int64_t p_downrate, const std::int64_t p_uprate) - : downrate(p_downrate), uprate(p_uprate) {} + LimitRate(const std::int64_t p_downrate, const std::int64_t p_uprate) : downrate(p_downrate), uprate(p_uprate) {} std::int64_t downrate = 0; std::int64_t uprate = 0; @@ -16,4 +15,4 @@ class LimitRate { } // namespace cpr -#endif \ No newline at end of file +#endif diff --git a/vendor/CPR/include/cpr/local_port.h b/vendor/CPR/include/cpr/local_port.h new file mode 100644 index 00000000..a6efe7ec --- /dev/null +++ b/vendor/CPR/include/cpr/local_port.h @@ -0,0 +1,23 @@ +#ifndef CPR_LOCAL_PORT_H +#define CPR_LOCAL_PORT_H + +#include + +namespace cpr { + +class LocalPort { + public: + // NOLINTNEXTLINE(google-explicit-constructor) + LocalPort(const std::uint16_t p_localport) : localport_(p_localport) {} + + operator std::uint16_t() const { + return localport_; + } + + private: + std::uint16_t localport_ = 0; +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/local_port_range.h b/vendor/CPR/include/cpr/local_port_range.h new file mode 100644 index 00000000..e048b6e9 --- /dev/null +++ b/vendor/CPR/include/cpr/local_port_range.h @@ -0,0 +1,23 @@ +#ifndef CPR_LOCAL_PORT_RANGE_H +#define CPR_LOCAL_PORT_RANGE_H + +#include + +namespace cpr { + +class LocalPortRange { + public: + // NOLINTNEXTLINE(google-explicit-constructor) + LocalPortRange(const std::uint16_t p_localportrange) : localportrange_(p_localportrange) {} + + operator std::uint16_t() const { + return localportrange_; + } + + private: + std::uint16_t localportrange_ = 0; +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/multipart.h b/vendor/CPR/include/cpr/multipart.h index 08ef541f..9ee62d5a 100644 --- a/vendor/CPR/include/cpr/multipart.h +++ b/vendor/CPR/include/cpr/multipart.h @@ -7,69 +7,35 @@ #include #include +#include "buffer.h" +#include "file.h" + namespace cpr { -struct File { - explicit File(std::string&& p_filepath) : filepath(std::move(p_filepath)) {} - explicit File(const std::string& p_filepath) : filepath(p_filepath) {} - const std::string filepath; -}; - -struct Buffer { - using data_t = const unsigned char*; - - template - Buffer(Iterator begin, Iterator end, std::string&& p_filename) - // Ignored here since libcurl reqires a long. - // There is also no way around the reinterpret_cast. - // NOLINTNEXTLINE(google-runtime-int, cppcoreguidelines-pro-type-reinterpret-cast) - : data{reinterpret_cast(&(*begin))}, datalen{static_cast( - std::distance(begin, end))}, - filename(std::move(p_filename)) { - is_random_access_iterator(begin, end); - static_assert(sizeof(*begin) == 1, "only byte buffers can be used"); - } - - template - typename std::enable_if::iterator_category, - std::random_access_iterator_tag>::value>::type - is_random_access_iterator(Iterator /* begin */, Iterator /* end */) {} - - data_t data; - // Ignored here since libcurl reqires a long: - // NOLINTNEXTLINE(google-runtime-int) - long datalen; - const std::string filename; -}; - struct Part { - Part(const std::string& p_name, const std::string& p_value, const std::string& p_content_type = {}) - : name{p_name}, value{p_value}, - content_type{p_content_type}, is_file{false}, is_buffer{false} {} - Part(const std::string& p_name, const std::int32_t& p_value, const std::string& p_content_type = {}) - : name{p_name}, value{std::to_string(p_value)}, - content_type{p_content_type}, is_file{false}, is_buffer{false} {} - Part(const std::string& p_name, const File& file, const std::string& p_content_type = {}) - : name{p_name}, value{file.filepath}, - content_type{p_content_type}, is_file{true}, is_buffer{false} {} - Part(const std::string& p_name, const Buffer& buffer, const std::string& p_content_type = {}) - : name{p_name}, value{buffer.filename}, content_type{p_content_type}, data{buffer.data}, - datalen{buffer.datalen}, is_file{false}, is_buffer{true} {} + Part(const std::string& p_name, const std::string& p_value, const std::string& p_content_type = {}) : name{p_name}, value{p_value}, content_type{p_content_type}, is_file{false}, is_buffer{false} {} + Part(const std::string& p_name, const std::int32_t& p_value, const std::string& p_content_type = {}) : name{p_name}, value{std::to_string(p_value)}, content_type{p_content_type}, is_file{false}, is_buffer{false} {} + Part(const std::string& p_name, const Files& p_files, const std::string& p_content_type = {}) : name{p_name}, content_type{p_content_type}, is_file{true}, is_buffer{false}, files{p_files} {} + Part(const std::string& p_name, Files&& p_files, const std::string& p_content_type = {}) : name{p_name}, content_type{p_content_type}, is_file{true}, is_buffer{false}, files{p_files} {} + Part(const std::string& p_name, const Buffer& buffer, const std::string& p_content_type = {}) : name{p_name}, value{buffer.filename.string()}, content_type{p_content_type}, data{buffer.data}, datalen{buffer.datalen}, is_file{false}, is_buffer{true} {} std::string name; + // We don't use fs::path here, as this leads to problems using windows std::string value; std::string content_type; Buffer::data_t data{nullptr}; - // Ignored here since libcurl reqires a long: - // NOLINTNEXTLINE(google-runtime-int) - long datalen{0}; + size_t datalen{0}; bool is_file; bool is_buffer; + + Files files; }; class Multipart { public: Multipart(const std::initializer_list& parts); + Multipart(const std::vector& parts); + Multipart(const std::vector&& parts); std::vector parts; }; diff --git a/vendor/CPR/include/cpr/multiperform.h b/vendor/CPR/include/cpr/multiperform.h new file mode 100644 index 00000000..3e39aaca --- /dev/null +++ b/vendor/CPR/include/cpr/multiperform.h @@ -0,0 +1,137 @@ +#ifndef CPR_MULTIPERFORM_H +#define CPR_MULTIPERFORM_H + +#include "cpr/curlmultiholder.h" +#include "cpr/response.h" +#include "cpr/session.h" +#include +#include +#include +#include +#include + +namespace cpr { + +class InterceptorMulti; + +class MultiPerform { + public: + enum class HttpMethod { + UNDEFINED = 0, + GET_REQUEST, + POST_REQUEST, + PUT_REQUEST, + DELETE_REQUEST, + PATCH_REQUEST, + HEAD_REQUEST, + OPTIONS_REQUEST, + DOWNLOAD_REQUEST, + }; + + MultiPerform(); + MultiPerform(const MultiPerform& other) = delete; + MultiPerform(MultiPerform&& old) = default; + ~MultiPerform(); + + MultiPerform& operator=(const MultiPerform& other) = delete; + MultiPerform& operator=(MultiPerform&& old) noexcept = default; + + std::vector Get(); + std::vector Delete(); + template + std::vector Download(DownloadArgTypes... args); + std::vector Put(); + std::vector Head(); + std::vector Options(); + std::vector Patch(); + std::vector Post(); + + std::vector Perform(); + template + std::vector PerformDownload(DownloadArgTypes... args); + + void AddSession(std::shared_ptr& session, HttpMethod method = HttpMethod::UNDEFINED); + void RemoveSession(const std::shared_ptr& session); + std::vector, HttpMethod>>& GetSessions(); + [[nodiscard]] const std::vector, HttpMethod>>& GetSessions() const; + + void AddInterceptor(const std::shared_ptr& pinterceptor); + + private: + // Interceptors should be able to call the private proceed() and PrepareDownloadSessions() functions + friend InterceptorMulti; + + void SetHttpMethod(HttpMethod method); + + void PrepareSessions(); + template + void PrepareDownloadSessions(size_t sessions_index, CurrentDownloadArgType current_arg, DownloadArgTypes... args); + template + void PrepareDownloadSessions(size_t sessions_index, CurrentDownloadArgType current_arg); + void PrepareDownloadSession(size_t sessions_index, std::ofstream& file); + void PrepareDownloadSession(size_t sessions_index, const WriteCallback& write); + + void PrepareGet(); + void PrepareDelete(); + void PreparePut(); + void PreparePatch(); + void PrepareHead(); + void PrepareOptions(); + void PreparePost(); + template + void PrepareDownload(DownloadArgTypes... args); + + std::vector intercept(); + std::vector proceed(); + std::vector MakeRequest(); + std::vector MakeDownloadRequest(); + + void DoMultiPerform(); + std::vector ReadMultiInfo(std::function&& complete_function); + + std::vector, HttpMethod>> sessions_; + std::unique_ptr multicurl_; + bool is_download_multi_perform{false}; + + std::queue> interceptors_; +}; + +template +void MultiPerform::PrepareDownloadSessions(size_t sessions_index, CurrentDownloadArgType current_arg) { + PrepareDownloadSession(sessions_index, current_arg); +} + +template +void MultiPerform::PrepareDownloadSessions(size_t sessions_index, CurrentDownloadArgType current_arg, DownloadArgTypes... args) { + PrepareDownloadSession(sessions_index, current_arg); + PrepareDownloadSessions(sessions_index + 1, args...); +} + + +template +void MultiPerform::PrepareDownload(DownloadArgTypes... args) { + SetHttpMethod(HttpMethod::DOWNLOAD_REQUEST); + PrepareDownloadSessions(0, args...); +} + +template +std::vector MultiPerform::Download(DownloadArgTypes... args) { + if (sizeof...(args) != sessions_.size()) { + throw std::invalid_argument("Number of download arguments has to match the number of sessions added to the multiperform!"); + } + PrepareDownload(args...); + return MakeDownloadRequest(); +} + +template +std::vector MultiPerform::PerformDownload(DownloadArgTypes... args) { + if (sizeof...(args) != sessions_.size()) { + throw std::invalid_argument("Number of download arguments has to match the number of sessions added to the multiperform!"); + } + PrepareDownloadSessions(0, args...); + return MakeDownloadRequest(); +} + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/ntlm.h b/vendor/CPR/include/cpr/ntlm.h deleted file mode 100644 index e15833d8..00000000 --- a/vendor/CPR/include/cpr/ntlm.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef CPR_NTLM_H -#define CPR_NTLM_H - -#include "cpr/auth.h" - -namespace cpr { -class NTLM : public Authentication { - public: - NTLM(const std::string& username, const std::string& password) - : Authentication{username, password} {} -}; - -} // namespace cpr - -#endif diff --git a/vendor/CPR/include/cpr/parameters.h b/vendor/CPR/include/cpr/parameters.h index 0e34d4d7..62096277 100644 --- a/vendor/CPR/include/cpr/parameters.h +++ b/vendor/CPR/include/cpr/parameters.h @@ -10,7 +10,7 @@ namespace cpr { class Parameters : public CurlContainer { public: Parameters() = default; - Parameters(const std::initializer_list& parameters); + Parameters(const std::initializer_list& parameters) : CurlContainer(parameters) {} }; } // namespace cpr diff --git a/vendor/CPR/include/cpr/payload.h b/vendor/CPR/include/cpr/payload.h index 686b540e..0741a88f 100644 --- a/vendor/CPR/include/cpr/payload.h +++ b/vendor/CPR/include/cpr/payload.h @@ -15,7 +15,7 @@ class Payload : public CurlContainer { Add(*pair); } } - Payload(const std::initializer_list& pairs); + Payload(const std::initializer_list& pairs) : CurlContainer(pairs) {} }; } // namespace cpr diff --git a/vendor/CPR/include/cpr/proxies.h b/vendor/CPR/include/cpr/proxies.h index 565a63ef..2ec47174 100644 --- a/vendor/CPR/include/cpr/proxies.h +++ b/vendor/CPR/include/cpr/proxies.h @@ -10,6 +10,7 @@ class Proxies { public: Proxies() = default; Proxies(const std::initializer_list>& hosts); + Proxies(const std::map& hosts); bool has(const std::string& protocol) const; const std::string& operator[](const std::string& protocol); diff --git a/vendor/CPR/include/cpr/proxyauth.h b/vendor/CPR/include/cpr/proxyauth.h index da468d59..521a0c58 100644 --- a/vendor/CPR/include/cpr/proxyauth.h +++ b/vendor/CPR/include/cpr/proxyauth.h @@ -3,36 +3,44 @@ #include #include +#include #include "cpr/auth.h" #include "cpr/util.h" namespace cpr { +class ProxyAuthentication; + class EncodedAuthentication { + friend ProxyAuthentication; + public: - EncodedAuthentication() : auth_string_{""} {} - EncodedAuthentication(const std::string& username, const std::string& password) : auth_string_{cpr::util::urlEncode(username) + ":" + cpr::util::urlEncode(password)} {} - EncodedAuthentication(std::string&& username, std::string&& password) : auth_string_{cpr::util::urlEncode(std::move(username)) + ":" + cpr::util::urlEncode(std::move(password))} {} + EncodedAuthentication() = default; + EncodedAuthentication(const std::string& p_username, const std::string& p_password) : username(util::urlEncode(p_username)), password(util::urlEncode(p_password)) {} EncodedAuthentication(const EncodedAuthentication& other) = default; EncodedAuthentication(EncodedAuthentication&& old) noexcept = default; - virtual ~EncodedAuthentication() noexcept = default; + virtual ~EncodedAuthentication() noexcept; EncodedAuthentication& operator=(EncodedAuthentication&& old) noexcept = default; EncodedAuthentication& operator=(const EncodedAuthentication& other) = default; - const char* GetAuthString() const noexcept; + [[nodiscard]] const std::string& GetUsername() const; + [[nodiscard]] const std::string& GetPassword() const; - protected: - std::string auth_string_; + private: + std::string username; + std::string password; }; class ProxyAuthentication { public: ProxyAuthentication() = default; ProxyAuthentication(const std::initializer_list>& auths) : proxyAuth_{auths} {} + explicit ProxyAuthentication(const std::map& auths) : proxyAuth_{auths} {} - bool has(const std::string& protocol) const; - const char* operator[](const std::string& protocol); + [[nodiscard]] bool has(const std::string& protocol) const; + const char* GetUsername(const std::string& protocol); + const char* GetPassword(const std::string& protocol); private: std::map proxyAuth_; diff --git a/vendor/CPR/include/cpr/range.h b/vendor/CPR/include/cpr/range.h new file mode 100644 index 00000000..2c5a145d --- /dev/null +++ b/vendor/CPR/include/cpr/range.h @@ -0,0 +1,44 @@ +#ifndef CPR_RANGE_H +#define CPR_RANGE_H + +#include +#include + +namespace cpr { + +class Range { + public: + Range(const std::optional p_resume_from = std::nullopt, const std::optional p_finish_at = std::nullopt) { + resume_from = p_resume_from.value_or(0); + finish_at = p_finish_at.value_or(-1); + } + + std::int64_t resume_from; + std::int64_t finish_at; + + const std::string str() const { + std::string from_str = (resume_from < 0U) ? "" : std::to_string(resume_from); + std::string to_str = (finish_at < 0U) ? "" : std::to_string(finish_at); + return from_str + "-" + to_str; + } +}; + +class MultiRange { + public: + MultiRange(std::initializer_list rs) : ranges{rs} {} + + const std::string str() const { + std::string multi_range_string{}; + for (Range range : ranges) { + multi_range_string += ((multi_range_string.empty()) ? "" : ", ") + range.str(); + } + return multi_range_string; + } + + private: + std::vector ranges; +}; // namespace cpr + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/redirect.h b/vendor/CPR/include/cpr/redirect.h index 4ce34777..f57687cb 100644 --- a/vendor/CPR/include/cpr/redirect.h +++ b/vendor/CPR/include/cpr/redirect.h @@ -50,7 +50,7 @@ class Redirect { * Default: 50 * https://curl.se/libcurl/c/CURLOPT_MAXREDIRS.html **/ - // NOLINTNEXTLINE (cppcoreguidelines-avoid-magic-numbers, google-runtime-int) + // NOLINTNEXTLINE (google-runtime-int) long maximum{50L}; /** * Follow 3xx redirects. @@ -58,6 +58,12 @@ class Redirect { * https://curl.se/libcurl/c/CURLOPT_FOLLOWLOCATION.html **/ bool follow{true}; + /** + * Continue to send authentication (user+password) credentials when following locations, even when hostname changed. + * Default: false + * https://curl.se/libcurl/c/CURLOPT_UNRESTRICTED_AUTH.html + **/ + bool cont_send_cred{false}; /** * Flags to control how to act after a redirect for a post request. * Default: POST_ALL @@ -66,11 +72,12 @@ class Redirect { Redirect() = default; // NOLINTNEXTLINE (google-runtime-int) - Redirect(long p_maximum, bool p_follow, PostRedirectFlags p_post_flags) : maximum(p_maximum), follow(p_follow), post_flags(p_post_flags){}; + Redirect(long p_maximum, bool p_follow, bool p_cont_send_cred, PostRedirectFlags p_post_flags) : maximum(p_maximum), follow(p_follow), cont_send_cred(p_cont_send_cred), post_flags(p_post_flags){} // NOLINTNEXTLINE (google-runtime-int) - explicit Redirect(long p_maximum) : maximum(p_maximum){}; - explicit Redirect(bool p_follow) : follow(p_follow){}; - explicit Redirect(PostRedirectFlags p_post_flags) : post_flags(p_post_flags){}; + explicit Redirect(long p_maximum) : maximum(p_maximum){} + explicit Redirect(bool p_follow) : follow(p_follow){} + Redirect(bool p_follow, bool p_cont_send_cred) : follow(p_follow), cont_send_cred(p_cont_send_cred){} + explicit Redirect(PostRedirectFlags p_post_flags) : post_flags(p_post_flags){} }; } // namespace cpr diff --git a/vendor/CPR/include/cpr/reserve_size.h b/vendor/CPR/include/cpr/reserve_size.h new file mode 100644 index 00000000..5eae4c80 --- /dev/null +++ b/vendor/CPR/include/cpr/reserve_size.h @@ -0,0 +1,17 @@ +#ifndef CPR_RESERVE_SIZE_H +#define CPR_RESERVE_SIZE_H + +#include + +namespace cpr { + +class ReserveSize { + public: + ReserveSize(const size_t _size) : size(_size) {} + + size_t size = 0; +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/resolve.h b/vendor/CPR/include/cpr/resolve.h new file mode 100644 index 00000000..86a7c892 --- /dev/null +++ b/vendor/CPR/include/cpr/resolve.h @@ -0,0 +1,23 @@ +#ifndef CPR_RESOLVE_H +#define CPR_RESOLVE_H + +#include +#include + +namespace cpr { + class Resolve { + public: + std::string host; + std::string addr; + std::set ports; + + Resolve(const std::string& host_param, const std::string& addr_param, const std::set& ports_param = std::set{80U, 443U}): host(host_param), addr(addr_param), ports(ports_param) { + if (this->ports.empty()) { + this->ports.insert(80U); + this->ports.insert(443U); + } + } + }; +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/response.h b/vendor/CPR/include/cpr/response.h index bd3f25d4..c268601a 100644 --- a/vendor/CPR/include/cpr/response.h +++ b/vendor/CPR/include/cpr/response.h @@ -3,12 +3,12 @@ #include #include -#include #include #include #include #include +#include "cpr/cert_info.h" #include "cpr/cookies.h" #include "cpr/cprtypes.h" #include "cpr/error.h" @@ -17,8 +17,11 @@ namespace cpr { +class MultiPerform; + class Response { protected: + friend MultiPerform; std::shared_ptr curl_{nullptr}; public: @@ -41,9 +44,8 @@ class Response { long redirect_count{}; Response() = default; - Response(std::shared_ptr curl, std::string&& p_text, std::string&& p_header_string, - Cookies&& p_cookies, Error&& p_error); - std::vector GetCertInfo(); + Response(std::shared_ptr curl, std::string&& p_text, std::string&& p_header_string, Cookies&& p_cookies, Error&& p_error); + std::vector GetCertInfos(); Response(const Response& other) = default; Response(Response&& old) noexcept = default; ~Response() noexcept = default; diff --git a/vendor/CPR/include/cpr/session.h b/vendor/CPR/include/cpr/session.h index d272a2af..6b2b93e4 100644 --- a/vendor/CPR/include/cpr/session.h +++ b/vendor/CPR/include/cpr/session.h @@ -3,8 +3,13 @@ #include #include +#include +#include #include +#include +#include "cpr/accept_encoding.h" +#include "cpr/async_wrapper.h" #include "cpr/auth.h" #include "cpr/bearer.h" #include "cpr/body.h" @@ -13,35 +18,45 @@ #include "cpr/cookies.h" #include "cpr/cprtypes.h" #include "cpr/curlholder.h" -#include "cpr/digest.h" +#include "cpr/http_version.h" #include "cpr/interface.h" #include "cpr/limit_rate.h" +#include "cpr/local_port.h" +#include "cpr/local_port_range.h" #include "cpr/low_speed.h" #include "cpr/multipart.h" -#include "cpr/ntlm.h" #include "cpr/parameters.h" #include "cpr/payload.h" #include "cpr/proxies.h" #include "cpr/proxyauth.h" +#include "cpr/range.h" #include "cpr/redirect.h" +#include "cpr/reserve_size.h" +#include "cpr/resolve.h" #include "cpr/response.h" #include "cpr/ssl_options.h" #include "cpr/timeout.h" #include "cpr/unix_socket.h" #include "cpr/user_agent.h" +#include "cpr/util.h" #include "cpr/verbose.h" namespace cpr { -class Session { +using AsyncResponse = AsyncWrapper; + +class Interceptor; +class MultiPerform; + +class Session : public std::enable_shared_from_this { public: Session(); - Session(Session&& old) noexcept; Session(const Session& other) = delete; + Session(Session&& old) = default; - ~Session(); + ~Session() = default; - Session& operator=(Session&& old) noexcept; + Session& operator=(Session&& old) noexcept = default; Session& operator=(const Session& other) = delete; void SetUrl(const Url& url); @@ -52,7 +67,11 @@ class Session { void SetTimeout(const Timeout& timeout); void SetConnectTimeout(const ConnectTimeout& timeout); void SetAuth(const Authentication& auth); - void SetDigest(const Digest& auth); +// Only supported with libcurl >= 7.61.0. +// As an alternative use SetHeader and add the token manually. +#if LIBCURL_VERSION_NUM >= 0x073D00 + void SetBearer(const Bearer& token); +#endif void SetUserAgent(const UserAgent& ua); void SetPayload(Payload&& payload); void SetPayload(const Payload& payload); @@ -62,7 +81,6 @@ class Session { void SetProxyAuth(const ProxyAuthentication& proxy_auth); void SetMultipart(Multipart&& multipart); void SetMultipart(const Multipart& multipart); - void SetNTLM(const NTLM& auth); void SetRedirect(const Redirect& redirect); void SetCookies(const Cookies& cookies); void SetBody(Body&& body); @@ -78,6 +96,20 @@ class Session { void SetDebugCallback(const DebugCallback& debug); void SetVerbose(const Verbose& verbose); void SetInterface(const Interface& iface); + void SetLocalPort(const LocalPort& local_port); + void SetLocalPortRange(const LocalPortRange& local_port_range); + void SetHttpVersion(const HttpVersion& version); + void SetRange(const Range& range); + void SetResolve(const Resolve& resolve); + void SetResolves(const std::vector& resolves); + void SetMultiRange(const MultiRange& multi_range); + void SetReserveSize(const ReserveSize& reserve_size); + void SetAcceptEncoding(const AcceptEncoding& accept_encoding); + void SetAcceptEncoding(AcceptEncoding&& accept_encoding); + void SetLimitRate(const LimitRate& limit_rate); + + // For cancellable requests + void SetCancellationParam(std::shared_ptr param); // Used in templated functions void SetOption(const Url& url); @@ -92,7 +124,6 @@ class Session { #if LIBCURL_VERSION_NUM >= 0x073D00 void SetOption(const Bearer& auth); #endif - void SetOption(const Digest& auth); void SetOption(const UserAgent& ua); void SetOption(Payload&& payload); void SetOption(const Payload& payload); @@ -103,7 +134,6 @@ class Session { void SetOption(const ProxyAuthentication& proxy_auth); void SetOption(Multipart&& multipart); void SetOption(const Multipart& multipart); - void SetOption(const NTLM& auth); void SetOption(const Redirect& redirect); void SetOption(const Cookies& cookies); void SetOption(Body&& body); @@ -119,8 +149,29 @@ class Session { void SetOption(const UnixSocket& unix_socket); void SetOption(const SslOptions& options); void SetOption(const Interface& iface); + void SetOption(const LocalPort& local_port); + void SetOption(const LocalPortRange& local_port_range); + void SetOption(const HttpVersion& version); + void SetOption(const Range& range); + void SetOption(const MultiRange& multi_range); + void SetOption(const ReserveSize& reserve_size); + void SetOption(const AcceptEncoding& accept_encoding); + void SetOption(AcceptEncoding&& accept_encoding); + void SetOption(const Resolve& resolve); + void SetOption(const std::vector& resolves); cpr_off_t GetDownloadFileLength(); + /** + * Attempt to preallocate enough memory for specified number of characters in the response string. + * Pass 0 to disable this behavior and let the response string be allocated dynamically on demand. + * + * Example: + * cpr::Session session; + * session.SetUrl(cpr::Url{"http://xxx/file"}); + * session.ResponseStringReserve(1024 * 512); // Reserve space for at least 1024 * 512 characters + * cpr::Response r = session.Get(); + **/ + void ResponseStringReserve(size_t size); Response Delete(); Response Download(const WriteCallback& write); Response Download(std::ofstream& file); @@ -131,7 +182,33 @@ class Session { Response Post(); Response Put(); + AsyncResponse GetAsync(); + AsyncResponse DeleteAsync(); + AsyncResponse DownloadAsync(const WriteCallback& write); + AsyncResponse DownloadAsync(std::ofstream& file); + AsyncResponse HeadAsync(); + AsyncResponse OptionsAsync(); + AsyncResponse PatchAsync(); + AsyncResponse PostAsync(); + AsyncResponse PutAsync(); + + template + auto GetCallback(Then then); + template + auto PostCallback(Then then); + template + auto PutCallback(Then then); + template + auto HeadCallback(Then then); + template + auto DeleteCallback(Then then); + template + auto OptionsCallback(Then then); + template + auto PatchCallback(Then then); + std::shared_ptr GetCurlHolder(); + std::string GetFullRequestUrl(); void PrepareDelete(); void PrepareGet(); @@ -140,13 +217,92 @@ class Session { void PreparePatch(); void PreparePost(); void PreparePut(); + void PrepareDownload(const WriteCallback& write); + void PrepareDownload(std::ofstream& file); Response Complete(CURLcode curl_error); + Response CompleteDownload(CURLcode curl_error); - protected: - class Impl; - std::unique_ptr pimpl_; + void AddInterceptor(const std::shared_ptr& pinterceptor); + + private: + // Interceptors should be able to call the private proceed() function + friend Interceptor; + friend MultiPerform; + + + bool hasBodyOrPayload_{false}; + bool chunkedTransferEncoding_{false}; + std::shared_ptr curl_; + Url url_; + Parameters parameters_; + Proxies proxies_; + ProxyAuthentication proxyAuth_; + Header header_; + AcceptEncoding acceptEncoding_; + /** + * Will be set by the read callback. + * Ensures that the "Transfer-Encoding" is set to "chunked", if not overriden in header_. + **/ + ReadCallback readcb_; + HeaderCallback headercb_; + WriteCallback writecb_; + ProgressCallback progresscb_; + DebugCallback debugcb_; + CancellationCallback cancellationcb_; + + size_t response_string_reserve_size_{0}; + std::string response_string_; + std::string header_string_; + std::queue> interceptors_; + bool isUsedInMultiPerform{false}; + bool isCancellable{false}; + + Response makeDownloadRequest(); + Response makeRequest(); + Response proceed(); + Response intercept(); + void prepareCommon(); + void prepareCommonDownload(); + void SetHeaderInternal(); + std::shared_ptr GetSharedPtrFromThis(); + CURLcode DoEasyPerform(); }; +template +auto Session::GetCallback(Then then) { + return async([shared_this = GetSharedPtrFromThis()](Then then_inner) { return then_inner(shared_this->Get()); }, std::move(then)); +} + +template +auto Session::PostCallback(Then then) { + return async([shared_this = GetSharedPtrFromThis()](Then then_inner) { return then_inner(shared_this->Post()); }, std::move(then)); +} + +template +auto Session::PutCallback(Then then) { + return async([shared_this = GetSharedPtrFromThis()](Then then_inner) { return then_inner(shared_this->Put()); }, std::move(then)); +} + +template +auto Session::HeadCallback(Then then) { + return async([shared_this = GetSharedPtrFromThis()](Then then_inner) { return then_inner(shared_this->Head()); }, std::move(then)); +} + +template +auto Session::DeleteCallback(Then then) { + return async([shared_this = GetSharedPtrFromThis()](Then then_inner) { return then_inner(shared_this->Delete()); }, std::move(then)); +} + +template +auto Session::OptionsCallback(Then then) { + return async([shared_this = GetSharedPtrFromThis()](Then then_inner) { return then_inner(shared_this->Options()); }, std::move(then)); +} + +template +auto Session::PatchCallback(Then then) { + return async([shared_this = GetSharedPtrFromThis()](Then then_inner) { return then_inner(shared_this->Patch()); }, std::move(then)); +} + } // namespace cpr #endif diff --git a/vendor/CPR/include/cpr/singleton.h b/vendor/CPR/include/cpr/singleton.h new file mode 100644 index 00000000..e2ea13bb --- /dev/null +++ b/vendor/CPR/include/cpr/singleton.h @@ -0,0 +1,47 @@ +#ifndef CPR_SINGLETON_H +#define CPR_SINGLETON_H + +#include + +#ifndef CPR_DISABLE_COPY +#define CPR_DISABLE_COPY(Class) \ + Class(const Class&) = delete; \ + Class& operator=(const Class&) = delete; +#endif + +#ifndef CPR_SINGLETON_DECL +#define CPR_SINGLETON_DECL(Class) \ + public: \ + static Class* GetInstance(); \ + static void ExitInstance(); \ + private: \ + CPR_DISABLE_COPY(Class) \ + static Class* s_pInstance; \ + static std::mutex s_mutex; +#endif + +#ifndef CPR_SINGLETON_IMPL +#define CPR_SINGLETON_IMPL(Class) \ + Class* Class::s_pInstance = nullptr; \ + std::mutex Class::s_mutex; \ + Class* Class::GetInstance() { \ + if (s_pInstance == nullptr) { \ + s_mutex.lock(); \ + if (s_pInstance == nullptr) { \ + s_pInstance = new Class; \ + } \ + s_mutex.unlock(); \ + } \ + return s_pInstance; \ + } \ + void Class::ExitInstance() { \ + s_mutex.lock(); \ + if (s_pInstance) { \ + delete s_pInstance; \ + s_pInstance = nullptr; \ + } \ + s_mutex.unlock(); \ + } +#endif + +#endif diff --git a/vendor/CPR/include/cpr/ssl_ctx.h b/vendor/CPR/include/cpr/ssl_ctx.h new file mode 100644 index 00000000..b6bc8119 --- /dev/null +++ b/vendor/CPR/include/cpr/ssl_ctx.h @@ -0,0 +1,26 @@ +#ifndef CPR_SSL_CTX_H +#define CPR_SSL_CTX_H + +#include "cpr/ssl_options.h" +#include + +#if SUPPORT_CURLOPT_SSL_CTX_FUNCTION + +namespace cpr { + +/** + * This callback function loads a CA certificate from raw_cert_buf and gets called by libcurl + * just before the initialization of an SSL connection. + * The raw_cert_buf argument is set with the CURLOPT_SSL_CTX_DATA option and has to be a nul + * terminated buffer. + * + * Sources: https://curl.se/libcurl/c/CURLOPT_SSL_CTX_FUNCTION.html + * https://curl.se/libcurl/c/CURLOPT_SSL_CTX_DATA.html + */ +CURLcode sslctx_function_load_ca_cert_from_buffer(CURL* curl, void* sslctx, void* raw_cert_buf); + +} // Namespace cpr + +#endif + +#endif diff --git a/vendor/CPR/include/cpr/ssl_options.h b/vendor/CPR/include/cpr/ssl_options.h index 21f7d935..ce30cd9a 100644 --- a/vendor/CPR/include/cpr/ssl_options.h +++ b/vendor/CPR/include/cpr/ssl_options.h @@ -1,67 +1,70 @@ #ifndef CPR_SSLOPTIONS_H #define CPR_SSLOPTIONS_H +#include #include +#include +#include #include +#include "cpr/util.h" #include -#define __LIBCURL_VERSION_GTE(major, minor) \ - ((LIBCURL_VERSION_MAJOR > (major)) || \ - ((LIBCURL_VERSION_MAJOR == (major)) && (LIBCURL_VERSION_MINOR >= (minor)))) -#define __LIBCURL_VERSION_LT(major, minor) \ - ((LIBCURL_VERSION_MAJOR < (major)) || \ - ((LIBCURL_VERSION_MAJOR == (major)) && (LIBCURL_VERSION_MINOR < (minor)))) - #ifndef SUPPORT_ALPN -#define SUPPORT_ALPN __LIBCURL_VERSION_GTE(7, 36) +#define SUPPORT_ALPN LIBCURL_VERSION_NUM >= 0x072400 // 7.36.0 #endif #ifndef SUPPORT_NPN -#define SUPPORT_NPN __LIBCURL_VERSION_GTE(7, 36) +#define SUPPORT_NPN LIBCURL_VERSION_NUM >= 0x072400 && LIBCURL_VERSION_NUM <= 0x078600 // 7.36.0 - 7.86.0 #endif #ifndef SUPPORT_SSLv2 -#define SUPPORT_SSLv2 __LIBCURL_VERSION_LT(7, 19) +#define SUPPORT_SSLv2 LIBCURL_VERSION_NUM <= 0x071300 // 7.19.0 #endif #ifndef SUPPORT_SSLv3 -#define SUPPORT_SSLv3 __LIBCURL_VERSION_LT(7, 39) +#define SUPPORT_SSLv3 LIBCURL_VERSION_NUM <= 0x072700 // 7.39.0 #endif #ifndef SUPPORT_TLSv1_0 -#define SUPPORT_TLSv1_0 __LIBCURL_VERSION_GTE(7, 34) +#define SUPPORT_TLSv1_0 LIBCURL_VERSION_NUM >= 0x072200 // 7.34.0 #endif #ifndef SUPPORT_TLSv1_1 -#define SUPPORT_TLSv1_1 __LIBCURL_VERSION_GTE(7, 34) +#define SUPPORT_TLSv1_1 LIBCURL_VERSION_NUM >= 0x072200 // 7.34.0 #endif #ifndef SUPPORT_TLSv1_2 -#define SUPPORT_TLSv1_2 __LIBCURL_VERSION_GTE(7, 34) +#define SUPPORT_TLSv1_2 LIBCURL_VERSION_NUM >= 0x072200 // 7.34.0 #endif #ifndef SUPPORT_TLSv1_3 -#define SUPPORT_TLSv1_3 __LIBCURL_VERSION_GTE(7, 52) +#define SUPPORT_TLSv1_3 LIBCURL_VERSION_NUM >= 0x073400 // 7.52.0 #endif #ifndef SUPPORT_MAX_TLS_VERSION -#define SUPPORT_MAX_TLS_VERSION __LIBCURL_VERSION_GTE(7, 54) +#define SUPPORT_MAX_TLS_VERSION LIBCURL_VERSION_NUM >= 0x073600 // 7.54.0 #endif #ifndef SUPPORT_MAX_TLSv1_1 -#define SUPPORT_MAX_TLSv1_1 __LIBCURL_VERSION_GTE(7, 54) +#define SUPPORT_MAX_TLSv1_1 LIBCURL_VERSION_NUM >= 0x073600 // 7.54.0 #endif #ifndef SUPPORT_MAX_TLSv1_2 -#define SUPPORT_MAX_TLSv1_2 __LIBCURL_VERSION_GTE(7, 54) +#define SUPPORT_MAX_TLSv1_2 LIBCURL_VERSION_NUM >= 0x073600 // 7.54.0 #endif #ifndef SUPPORT_MAX_TLSv1_3 -#define SUPPORT_MAX_TLSv1_3 __LIBCURL_VERSION_GTE(7, 54) +#define SUPPORT_MAX_TLSv1_3 LIBCURL_VERSION_NUM >= 0x073600 // 7.54.0 #endif #ifndef SUPPORT_TLSv13_CIPHERS -#define SUPPORT_TLSv13_CIPHERS __LIBCURL_VERSION_GTE(7, 61) +#define SUPPORT_TLSv13_CIPHERS LIBCURL_VERSION_NUM >= 0x073D00 // 7.61.0 #endif #ifndef SUPPORT_SESSIONID_CACHE -#define SUPPORT_SESSIONID_CACHE __LIBCURL_VERSION_GTE(7, 16) +#define SUPPORT_SESSIONID_CACHE LIBCURL_VERSION_NUM >= 0x071000 // 7.16.0 #endif #ifndef SUPPORT_SSL_FALSESTART -#define SUPPORT_SSL_FALSESTART __LIBCURL_VERSION_GTE(7, 42) +#define SUPPORT_SSL_FALSESTART LIBCURL_VERSION_NUM >= 0x072A00 // 7.42.0 #endif #ifndef SUPPORT_SSL_NO_REVOKE -#define SUPPORT_SSL_NO_REVOKE __LIBCURL_VERSION_GTE(7, 44) +#define SUPPORT_SSL_NO_REVOKE LIBCURL_VERSION_NUM >= 0x072C00 // 7.44.0 +#endif +#ifndef SUPPORT_CURLOPT_SSLKEY_BLOB +#define SUPPORT_CURLOPT_SSLKEY_BLOB LIBCURL_VERSION_NUM >= 0x074700 // 7.71.0 +#endif +#ifndef SUPPORT_CURLOPT_SSL_CTX_FUNCTION +#define SUPPORT_CURLOPT_SSL_CTX_FUNCTION LIBCURL_VERSION_NUM >= 0x070B00 // 7.11.0 #endif namespace cpr { @@ -85,9 +88,11 @@ namespace ssl { class CertFile { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - CertFile(std::string&& p_filename) : filename(std::move(p_filename)) {} + CertFile(fs::path&& p_filename) : filename(std::move(p_filename)) {} - const std::string filename; + virtual ~CertFile() = default; + + const fs::path filename; virtual const char* GetCertType() const { return "PEM"; @@ -99,7 +104,9 @@ using PemCert = CertFile; class DerCert : public CertFile { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - DerCert(std::string&& p_filename) : CertFile(std::move(p_filename)) {} + DerCert(fs::path&& p_filename) : CertFile(std::move(p_filename)) {} + + ~DerCert() override = default; const char* GetCertType() const override { return "DER"; @@ -110,13 +117,16 @@ class DerCert : public CertFile { class KeyFile { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - KeyFile(std::string&& p_filename) : filename(std::move(p_filename)) {} + KeyFile(fs::path&& p_filename) : filename(std::move(p_filename)) {} template - KeyFile(FileType&& p_filename, PassType p_password) - : filename(std::forward(p_filename)), password(std::move(p_password)) {} + KeyFile(FileType&& p_filename, PassType p_password) : filename(std::forward(p_filename)), password(std::move(p_password)) {} - std::string filename; + virtual ~KeyFile() { + util::secureStringClear(password); + } + + fs::path filename; std::string password; virtual const char* GetKeyType() const { @@ -124,16 +134,39 @@ class KeyFile { } }; +#if SUPPORT_CURLOPT_SSLKEY_BLOB +class KeyBlob { + public: + // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) + KeyBlob(std::string&& p_blob) : blob(std::move(p_blob)) {} + + template + KeyBlob(BlobType&& p_blob, PassType p_password) : blob(std::forward(p_blob)), password(std::move(p_password)) {} + + virtual ~KeyBlob() { + util::secureStringClear(password); + } + + std::string blob; + std::string password; + + virtual const char* GetKeyType() const { + return "PEM"; + } +}; +#endif + using PemKey = KeyFile; class DerKey : public KeyFile { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - DerKey(std::string&& p_filename) : KeyFile(std::move(p_filename)) {} + DerKey(fs::path&& p_filename) : KeyFile(std::move(p_filename)) {} template - DerKey(FileType&& p_filename, PassType p_password) - : KeyFile(std::forward(p_filename), std::move(p_password)) {} + DerKey(FileType&& p_filename, PassType p_password) : KeyFile(std::forward(p_filename), std::move(p_password)) {} + + ~DerKey() override = default; const char* GetKeyType() const override { return "DER"; @@ -277,27 +310,37 @@ struct MaxTLSv1_3 {}; class CaInfo { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - CaInfo(std::string&& p_filename) : filename(std::move(p_filename)) {} + CaInfo(fs::path&& p_filename) : filename(std::move(p_filename)) {} - std::string filename; + fs::path filename; }; // specify directory holding CA certificates class CaPath { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - CaPath(std::string&& p_filename) : filename(std::move(p_filename)) {} + CaPath(fs::path&& p_filename) : filename(std::move(p_filename)) {} - std::string filename; + fs::path filename; }; +#if SUPPORT_CURLOPT_SSL_CTX_FUNCTION +class CaBuffer { + public: + // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) + CaBuffer(std::string&& p_buffer) : buffer(std::move(p_buffer)) {} + + const std::string buffer; +}; +#endif + // specify a Certificate Revocation List file class Crl { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - Crl(std::string&& p_filename) : filename(std::move(p_filename)) {} + Crl(fs::path&& p_filename) : filename(std::move(p_filename)) {} - std::string filename; + fs::path filename; }; // specify ciphers to use for TLS @@ -352,7 +395,7 @@ class SslFastStart { #endif class NoRevoke { -public: + public: NoRevoke() = default; // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) NoRevoke(bool p_enabled) : enabled(p_enabled) {} @@ -367,9 +410,14 @@ public: } // namespace ssl struct SslOptions { + // We don't use fs::path here, as this leads to problems using windows std::string cert_file; std::string cert_type; + // We don't use fs::path here, as this leads to problems using windows std::string key_file; +#if SUPPORT_CURLOPT_SSLKEY_BLOB + std::string key_blob; +#endif std::string key_type; std::string key_pass; std::string pinned_public_key; @@ -389,8 +437,14 @@ struct SslOptions { #if SUPPORT_MAX_TLS_VERSION int max_version = CURL_SSLVERSION_MAX_DEFAULT; #endif + // We don't use fs::path here, as this leads to problems using windows std::string ca_info; + // We don't use fs::path here, as this leads to problems using windows std::string ca_path; +#if SUPPORT_CURLOPT_SSL_CTX_FUNCTION + std::string ca_buffer; +#endif + // We don't use fs::path here, as this leads to problems using windows std::string crl_file; std::string ciphers; #if SUPPORT_TLSv13_CIPHERS @@ -400,15 +454,29 @@ struct SslOptions { bool session_id_cache = true; #endif + ~SslOptions() noexcept { +#if SUPPORT_CURLOPT_SSLKEY_BLOB + util::secureStringClear(key_blob); +#endif + util::secureStringClear(key_pass); + } + void SetOption(const ssl::CertFile& opt) { - cert_file = opt.filename; + cert_file = opt.filename.string(); cert_type = opt.GetCertType(); } void SetOption(const ssl::KeyFile& opt) { - key_file = opt.filename; + key_file = opt.filename.string(); key_type = opt.GetKeyType(); key_pass = opt.password; } +#if SUPPORT_CURLOPT_SSLKEY_BLOB + void SetOption(const ssl::KeyBlob& opt) { + key_blob = opt.blob; + key_type = opt.GetKeyType(); + key_pass = opt.password; + } +#endif void SetOption(const ssl::PinnedPublicKey& opt) { pinned_public_key = opt.pinned_public_key; } @@ -496,13 +564,18 @@ struct SslOptions { } #endif void SetOption(const ssl::CaInfo& opt) { - ca_info = opt.filename; + ca_info = opt.filename.string(); } void SetOption(const ssl::CaPath& opt) { - ca_path = opt.filename; + ca_path = opt.filename.string(); } +#if SUPPORT_CURLOPT_SSL_CTX_FUNCTION + void SetOption(const ssl::CaBuffer& opt) { + ca_buffer = opt.buffer; + } +#endif void SetOption(const ssl::Crl& opt) { - crl_file = opt.filename; + crl_file = opt.filename.string(); } void SetOption(const ssl::Ciphers& opt) { ciphers = opt.ciphers; diff --git a/vendor/CPR/include/cpr/status_codes.h b/vendor/CPR/include/cpr/status_codes.h index 6c7acd6b..3a2e9cbf 100644 --- a/vendor/CPR/include/cpr/status_codes.h +++ b/vendor/CPR/include/cpr/status_codes.h @@ -1,5 +1,5 @@ -#ifndef _CPR_STATUS_CODES -#define _CPR_STATUS_CODES +#ifndef CPR_STATUS_CODES +#define CPR_STATUS_CODES #include namespace cpr { namespace status { diff --git a/vendor/CPR/include/cpr/threadpool.h b/vendor/CPR/include/cpr/threadpool.h new file mode 100644 index 00000000..bb7e7f21 --- /dev/null +++ b/vendor/CPR/include/cpr/threadpool.h @@ -0,0 +1,122 @@ +#ifndef CPR_THREAD_POOL_H +#define CPR_THREAD_POOL_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define CPR_DEFAULT_THREAD_POOL_MAX_THREAD_NUM std::thread::hardware_concurrency() + +constexpr size_t CPR_DEFAULT_THREAD_POOL_MIN_THREAD_NUM = 1; +constexpr std::chrono::milliseconds CPR_DEFAULT_THREAD_POOL_MAX_IDLE_TIME{60000}; + +namespace cpr { + +class ThreadPool { + public: + using Task = std::function; + + explicit ThreadPool(size_t min_threads = CPR_DEFAULT_THREAD_POOL_MIN_THREAD_NUM, size_t max_threads = CPR_DEFAULT_THREAD_POOL_MAX_THREAD_NUM, std::chrono::milliseconds max_idle_ms = CPR_DEFAULT_THREAD_POOL_MAX_IDLE_TIME); + + virtual ~ThreadPool(); + + void SetMinThreadNum(size_t min_threads) { + min_thread_num = min_threads; + } + void SetMaxThreadNum(size_t max_threads) { + max_thread_num = max_threads; + } + void SetMaxIdleTime(std::chrono::milliseconds ms) { + max_idle_time = ms; + } + size_t GetCurrentThreadNum() { + return cur_thread_num; + } + size_t GetIdleThreadNum() { + return idle_thread_num; + } + bool IsStarted() { + return status != STOP; + } + bool IsStopped() { + return status == STOP; + } + + int Start(size_t start_threads = 0); + int Stop(); + int Pause(); + int Resume(); + int Wait(); + + /** + * Return a future, calling future.get() will wait task done and return RetType. + * Submit(fn, args...) + * Submit(std::bind(&Class::mem_fn, &obj)) + * Submit(std::mem_fn(&Class::mem_fn, &obj)) + **/ + template + auto Submit(Fn&& fn, Args&&... args) { + if (status == STOP) { + Start(); + } + if (idle_thread_num <= 0 && cur_thread_num < max_thread_num) { + CreateThread(); + } + using RetType = decltype(fn(args...)); + auto task = std::make_shared >(std::bind(std::forward(fn), std::forward(args)...)); + std::future future = task->get_future(); + { + std::lock_guard locker(task_mutex); + tasks.emplace([task] { (*task)(); }); + } + + task_cond.notify_one(); + return future; + } + + private: + bool CreateThread(); + void AddThread(std::thread* thread); + void DelThread(std::thread::id id); + + public: + size_t min_thread_num; + size_t max_thread_num; + std::chrono::milliseconds max_idle_time; + + private: + enum Status { + STOP, + RUNNING, + PAUSE, + }; + + struct ThreadData { + std::shared_ptr thread; + std::thread::id id; + Status status; + time_t start_time; + time_t stop_time; + }; + + std::atomic status; + std::atomic cur_thread_num; + std::atomic idle_thread_num; + std::list threads; + std::mutex thread_mutex; + std::queue tasks; + std::mutex task_mutex; + std::condition_variable task_cond; +}; + +} // namespace cpr + +#endif diff --git a/vendor/CPR/include/cpr/timeout.h b/vendor/CPR/include/cpr/timeout.h index a01da439..83b3e68f 100644 --- a/vendor/CPR/include/cpr/timeout.h +++ b/vendor/CPR/include/cpr/timeout.h @@ -12,6 +12,8 @@ class Timeout { Timeout(const std::chrono::milliseconds& duration) : ms{duration} {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) Timeout(const std::int32_t& milliseconds) : Timeout{std::chrono::milliseconds(milliseconds)} {} + // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) + Timeout(const std::chrono::seconds& duration) : ms{std::chrono::milliseconds(duration).count()} {} // No way around since curl uses a long here. // NOLINTNEXTLINE(google-runtime-int) diff --git a/vendor/CPR/include/cpr/unix_socket.h b/vendor/CPR/include/cpr/unix_socket.h index 9d4d77c0..152caf0c 100644 --- a/vendor/CPR/include/cpr/unix_socket.h +++ b/vendor/CPR/include/cpr/unix_socket.h @@ -8,7 +8,7 @@ namespace cpr { class UnixSocket { public: // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - UnixSocket(std::string&& unix_socket) : unix_socket_(std::move(unix_socket)) {} + UnixSocket(std::string unix_socket) : unix_socket_(std::move(unix_socket)) {} const char* GetUnixSocketString() const noexcept; diff --git a/vendor/CPR/include/cpr/user_agent.h b/vendor/CPR/include/cpr/user_agent.h index 71787c5f..a3cc1293 100644 --- a/vendor/CPR/include/cpr/user_agent.h +++ b/vendor/CPR/include/cpr/user_agent.h @@ -9,11 +9,11 @@ namespace cpr { class UserAgent : public StringHolder { public: - UserAgent() : StringHolder() {} + UserAgent() = default; // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - UserAgent(const std::string& useragent) : StringHolder(useragent) {} + UserAgent(std::string useragent) : StringHolder(std::move(useragent)) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) - UserAgent(std::string&& useragent) : StringHolder(std::move(useragent)) {} + UserAgent(std::string_view useragent) : StringHolder(useragent) {} // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions) UserAgent(const char* useragent) : StringHolder(useragent) {} UserAgent(const char* str, size_t len) : StringHolder(str, len) {} diff --git a/vendor/CPR/include/cpr/util.h b/vendor/CPR/include/cpr/util.h index 1c2e1610..d851e23a 100644 --- a/vendor/CPR/include/cpr/util.h +++ b/vendor/CPR/include/cpr/util.h @@ -10,31 +10,36 @@ #include "cpr/cprtypes.h" #include "cpr/curlholder.h" -namespace cpr { -namespace util { +namespace cpr::util { -Header parseHeader(const std::string& headers, std::string* status_line = nullptr, - std::string* reason = nullptr); +Header parseHeader(const std::string& headers, std::string* status_line = nullptr, std::string* reason = nullptr); Cookies parseCookies(curl_slist* raw_cookies); size_t readUserFunction(char* ptr, size_t size, size_t nitems, const ReadCallback* read); size_t headerUserFunction(char* ptr, size_t size, size_t nmemb, const HeaderCallback* header); size_t writeFunction(char* ptr, size_t size, size_t nmemb, std::string* data); size_t writeFileFunction(char* ptr, size_t size, size_t nmemb, std::ofstream* file); size_t writeUserFunction(char* ptr, size_t size, size_t nmemb, const WriteCallback* write); -#if LIBCURL_VERSION_NUM < 0x072000 -int progressUserFunction(const ProgressCallback* progress, double dltotal, double dlnow, - double ultotal, double ulnow); -#else -int progressUserFunction(const ProgressCallback* progress, curl_off_t dltotal, curl_off_t dlnow, - curl_off_t ultotal, curl_off_t ulnow); -#endif -int debugUserFunction(CURL* handle, curl_infotype type, char* data, size_t size, - const DebugCallback* debug); + +template +int progressUserFunction(const T* progress, cpr_pf_arg_t dltotal, cpr_pf_arg_t dlnow, cpr_pf_arg_t ultotal, cpr_pf_arg_t ulnow) { + const int cancel_retval{1}; + static_assert(cancel_retval != CURL_PROGRESSFUNC_CONTINUE); + return (*progress)(dltotal, dlnow, ultotal, ulnow) ? 0 : cancel_retval; +} +int debugUserFunction(CURL* handle, curl_infotype type, char* data, size_t size, const DebugCallback* debug); std::vector split(const std::string& to_split, char delimiter); std::string urlEncode(const std::string& s); std::string urlDecode(const std::string& s); -} // namespace util -} // namespace cpr +/** + * Override the content of the provided string to hide sensitive data. The + * string content after invocation is undefined. The string size is reset to zero. + * impl. based on: + * https://github.com/ojeda/secure_clear/blob/master/example-implementation/secure_clear.h + **/ +void secureStringClear(std::string& s); +bool isTrue(const std::string& s); + +} // namespace cpr::util #endif diff --git a/vendor/DPP/CMakeLists.txt b/vendor/DPP/CMakeLists.txt index 41c1f85a..aabbc42a 100644 --- a/vendor/DPP/CMakeLists.txt +++ b/vendor/DPP/CMakeLists.txt @@ -31,7 +31,9 @@ include(CheckCXXSymbolExists) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_compile_definitions(DPP_BUILD) -file(READ "${CMAKE_CURRENT_SOURCE_DIR}/include/dpp/version.h" version_h) +set(DPP_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +file(READ "${DPP_ROOT_PATH}/include/dpp/version.h" version_h) if(NOT version_h MATCHES "DPP_VERSION_SHORT ([0-9][0-9])([0-9][0-9])([0-9][0-9])") message(FATAL_ERROR "Cannot get DPP_VERSION_SHORT from version.h") @@ -43,7 +45,7 @@ math(EXPR DPP_VERSION_PATCH "${CMAKE_MATCH_3}") string(CONCAT DPP_VERSION "${DPP_VERSION_MAJOR}.${DPP_VERSION_MINOR}.${DPP_VERSION_PATCH}") -set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_SOURCE_DIR}/cmake/") +set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${DPP_ROOT_PATH}/cmake/") if (DPP_NO_VCPKG) message("-- INFO: Explicitly disabling VCPKG as running inside the CI action.") @@ -53,7 +55,7 @@ endif() if (WIN32 AND NOT MINGW AND BUILD_SHARED_LIBS) message("-- INFO: Configuring .rc resource script") - configure_file("${CMAKE_CURRENT_SOURCE_DIR}/src/dpp/dpp.rc.in" "${CMAKE_CURRENT_SOURCE_DIR}/src/dpp/dpp.rc" NEWLINE_STYLE WIN32) + configure_file("${DPP_ROOT_PATH}/src/dpp/dpp.rc.in" "${DPP_ROOT_PATH}/src/dpp/dpp.rc" NEWLINE_STYLE WIN32) endif() if (NOT DPP_NO_VCPKG AND EXISTS "${_VCPKG_ROOT_DIR}") @@ -65,7 +67,7 @@ if (NOT DPP_NO_VCPKG AND EXISTS "${_VCPKG_ROOT_DIR}") HOMEPAGE_URL "https://dpp.dev/" DESCRIPTION "An incredibly lightweight C++ Discord library." ) - add_subdirectory(library-vcpkg) + add_subdirectory(library-vcpkg) else() set(PROJECT_NAME "libdpp") project( diff --git a/vendor/DPP/buildtools/changelog.php b/vendor/DPP/buildtools/changelog.php index a8553d78..654515fb 100644 --- a/vendor/DPP/buildtools/changelog.php +++ b/vendor/DPP/buildtools/changelog.php @@ -22,6 +22,7 @@ $categories = [ 'improvement' => 'â™»ï¸ Refactoring', 'refactor' => 'â™»ï¸ Refactoring', 'refactored' => 'â™»ï¸ Refactoring', + 'refactoring' => 'â™»ï¸ Refactoring', 'deprecated' => 'â™»ï¸ Refactoring', 'deprecate' => 'â™»ï¸ Refactoring', 'remove' => 'â™»ï¸ Refactoring', diff --git a/vendor/DPP/buildtools/classes/Packager/Vcpkg.php b/vendor/DPP/buildtools/classes/Packager/Vcpkg.php new file mode 100644 index 00000000..87523ab0 --- /dev/null +++ b/vendor/DPP/buildtools/classes/Packager/Vcpkg.php @@ -0,0 +1,287 @@ +latestTag = preg_replace("/\n/", "", shell_exec("git describe --tags `git rev-list --tags --max-count=1`")); + $this->version = preg_replace('/^v/', '', $this->getTag()); + echo GREEN . "Latest tag: " . $this->getTag() . " version: " . $this->getVersion() . "\n" . WHITE; + + $this->git = trim(`which git`); + $this->sudo = trim(`which sudo`); + } + + /** + * Get semver version + * + * @return string + */ + public function getVersion(): string + { + return $this->version; + } + + /** + * Get the git tag we are building + * + * @return string + */ + public function getTag(): string + { + return $this->latestTag; + } + + private function git(string $parameters, bool $sudo = false): void + { + system(($sudo ? $this->sudo . ' ' : '') . $this->git . ' ' . $parameters); + } + + private function sudo(string $command): void + { + system($this->sudo . ' ' . $command); + } + + /** + * Check out a repository by tag or branch name to ~/dpp, + * using the personal access token and username passed in as command line parameters. + * + * @param string $tag Tag to clone + * @return bool false if the repository could not be cloned + */ + function checkoutRepository(string $tag = ""): bool + { + global $argv; + + if (empty($tag)) { + /* Empty tag means use the main branch */ + $tag = `{$this->git} config --get init.defaultBranch || echo master`; + } + $repositoryUrl = 'https://' . urlencode($argv[1]) . ':' . urlencode($argv[2]) . '@github.com/brainboxdotcc/DPP'; + + echo GREEN . "Check out repository: $tag (user: ". $argv[1] . " branch: " . $tag . ")\n" . WHITE; + + chdir(getenv('HOME')); + system('rm -rf ./dpp'); + $this->git('config --global user.email "noreply@dpp.dev"'); + $this->git('config --global user.name "DPP VCPKG Bot"'); + $this->git('clone ' . escapeshellarg($repositoryUrl) . ' ./dpp --depth=1'); + + /* This is noisy, silence it */ + $status = chdir(getenv("HOME") . '/dpp'); + $this->git('fetch -at 2>/dev/null'); + $this->git('checkout ' . escapeshellarg($tag) . ' 2>/dev/null'); + + return $status; + } + + /** + * Create ./vcpkg/ports/dpp/vcpkg.json and return the portfile contents to + * build the branch that is cloned at ~/dpp + * + * @param string $sha512 The SHA512 sum of the tagged download, or initially + * zero, which means that the vcpkg install command should obtain it the + * second time around. + * @return string The portfile content + */ + function constructPortAndVersionFile(string $sha512 = "0"): string + { + echo GREEN . "Construct portfile for " . $this->getVersion() . ", sha512: $sha512\n" . WHITE; + chdir(getenv("HOME") . '/dpp'); + + $portFileContent = 'vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO brainboxdotcc/DPP + REF "v${VERSION}" + # Auto-generated by release CI action at brainboxdotcc/DPP + SHA512 ' . $sha512 . ' +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + DISABLE_PARALLEL_CONFIGURE +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(NO_PREFIX_CORRECTION) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share/dpp") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") +endif() + +file( + INSTALL "${SOURCE_PATH}/LICENSE" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +'; + // ./vcpkg/ports/dpp/vcpkg.json + $versionFileContent = '{ + "name": "dpp", + "version": ' . json_encode($this->getVersion()) . ', + "description": "D++ Extremely Lightweight C++ Discord Library.", + "homepage": "https://dpp.dev/", + "license": "Apache-2.0", + "supports": "((windows & !static & !uwp) | linux | osx)", + "dependencies": [ + "libsodium", + "nlohmann-json", + "openssl", + "opus", + "zlib", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +}'; + echo GREEN . "Writing portfile...\n" . WHITE; + file_put_contents('./vcpkg/ports/dpp/vcpkg.json', $versionFileContent); + return $portFileContent; + } + + /** + * Attempt the first build of the vcpkg port. This will always fail, as it is given + * an SHA512 sum of 0. When it fails the output contains the SHA512 sum, which is then + * extracted from the error output using a regular expression, and saved for a second + * attempt. + * @param string $portFileContent Portfile content from constructPortAndVersionFile() + * with an SHA512 sum of 0 passed in. + * @return string SHA512 sum of build output + */ + function firstBuild(string $portFileContent): string + { + echo GREEN . "Starting first build\n" . WHITE; + + chdir(getenv("HOME") . '/dpp'); + echo GREEN . "Create /usr/local/share/vcpkg/ports/dpp/\n" . WHITE; + $this->sudo('mkdir -p /usr/local/share/vcpkg/ports/dpp/'); + echo GREEN . "Copy vcpkg.json to /usr/local/share/vcpkg/ports/dpp/vcpkg.json\n" . WHITE; + $this->sudo('cp -v -R ./vcpkg/ports/dpp/vcpkg.json /usr/local/share/vcpkg/ports/dpp/vcpkg.json'); + file_put_contents('/tmp/portfile', $portFileContent); + $this->sudo('cp -v -R /tmp/portfile /usr/local/share/vcpkg/ports/dpp/portfile.cmake'); + unlink('/tmp/portfile'); + $buildResults = shell_exec($this->sudo . ' /usr/local/share/vcpkg/vcpkg install dpp:x64-linux'); + $matches = []; + if (preg_match('/Actual hash:\s+([0-9a-fA-F]+)/', $buildResults, $matches)) { + echo GREEN . "Obtained SHA512 for first build: " . $matches[1] . "\n" . WHITE; + $this->firstBuildComplete = true; + return $matches[1]; + } + echo RED . "No SHA512 found during first build :(\n" . WHITE; + return ''; + } + + /** + * Second build using a valid SHA512 sum. This attempt should succeed, allowing us to push + * the changed vcpkg portfiles into the master branch, where they can be used in a PR to + * microsoft/vcpkg repository later. + * + * @param string $portFileContent the contents of the portfile, containing a valid SHA512 + * sum from the first build attempt. + * @return bool False if the build failed + */ + function secondBuild(string $portFileContent): bool + { + + if (!$this->firstBuildComplete) { + throw new RuntimeException("No SHA512 sum is available, first build has not been run!"); + } + + echo GREEN . "Executing second build\n" . WHITE; + echo GREEN . "Copy local port files to /usr/local/share...\n" . WHITE; + chdir(getenv("HOME") . '/dpp'); + file_put_contents('./vcpkg/ports/dpp/portfile.cmake', $portFileContent); + $this->sudo('cp -v -R ./vcpkg/ports/dpp/vcpkg.json /usr/local/share/vcpkg/ports/dpp/vcpkg.json'); + $this->sudo('cp -v -R ./vcpkg/ports/dpp/portfile.cmake /usr/local/share/vcpkg/ports/dpp/portfile.cmake'); + $this->sudo('cp -v -R ./vcpkg/ports/* /usr/local/share/vcpkg/ports/'); + + echo GREEN . "vcpkg x-add-version...\n" . WHITE; + chdir('/usr/local/share/vcpkg'); + $this->sudo('./vcpkg format-manifest ./ports/dpp/vcpkg.json'); + /* Note: We commit this in /usr/local, but we never push it (we can't) */ + $this->git('add .', true); + $this->git('commit -m "[bot] VCPKG info update"', true); + $this->sudo('/usr/local/share/vcpkg/vcpkg x-add-version dpp'); + + echo GREEN . "Copy back port files from /usr/local/share...\n" . WHITE; + chdir(getenv('HOME') . '/dpp'); + system('cp -v -R /usr/local/share/vcpkg/ports/dpp/vcpkg.json ./vcpkg/ports/dpp/vcpkg.json'); + system('cp -v -R /usr/local/share/vcpkg/versions/baseline.json ./vcpkg/versions/baseline.json'); + system('cp -v -R /usr/local/share/vcpkg/versions/d-/dpp.json ./vcpkg/versions/d-/dpp.json'); + + echo GREEN . "Commit and push changes to master branch\n" . WHITE; + $this->git('add .'); + $this->git('commit -m "[bot] VCPKG info update [skip ci]"'); + $this->git('config pull.rebase false'); + $this->git('pull'); + $this->git('push origin master'); + + echo GREEN . "vcpkg install...\n" . WHITE; + $resultCode = 0; + $output = []; + exec($this->sudo . ' /usr/local/share/vcpkg/vcpkg install dpp:x64-linux', $output, $resultCode); + + if ($resultCode != 0) { + echo RED . "There were build errors!\n\nBuild log:\n" . WHITE; + readfile("/usr/local/share/vcpkg/buildtrees/dpp/install-x64-linux-dbg-out.log"); + } + + return $resultCode == 0; + } +}; diff --git a/vendor/DPP/buildtools/make_struct.php b/vendor/DPP/buildtools/make_struct.php index 61ff1f36..78c0fce4 100644 --- a/vendor/DPP/buildtools/make_struct.php +++ b/vendor/DPP/buildtools/make_struct.php @@ -42,6 +42,8 @@ $forcedReturn = [ 'message_create' => 'message', 'message_edit' => 'message', 'thread_create_in_forum' => 'thread', + 'threads_get_active' => 'active_threads', + 'user_get_cached' => 'user_identified', ]; /* Get the contents of cluster.h into an array */ @@ -61,8 +63,11 @@ if (!$generator->checkForChanges()) { exit(0); } +$lastFunc = ''; +$l = 0; /* Scan every line of the C++ source */ foreach ($clustercpp as $cpp) { + $l++; /* Look for declaration of function body */ if ($state == STATE_SEARCH_FOR_FUNCTION && preg_match('/^\s*void\s+cluster::([^(]+)\s*\((.*)command_completion_event_t\s*callback\s*\)/', $cpp, $matches)) { @@ -111,10 +116,15 @@ foreach ($clustercpp as $cpp) { $content .= $generator->generateHeaderDef($returnType, $currentFunction, $parameters, $noDefaults, $parameterNames); $cppcontent .= $generator->generateCppDef($returnType, $currentFunction, $parameters, $noDefaults, $parameterNames); } + $lastFunc = $currentFunction; $currentFunction = $parameters = $returnType = ''; $state = STATE_SEARCH_FOR_FUNCTION; } } +if ($state != STATE_SEARCH_FOR_FUNCTION) { + die("\n\n\nBuilding headers is broken ($l) - state machine finished in the middle of function $currentFunction (previous $lastFunc) with parameters $parameters rv $returnType state=$state\n\n\n"); +} + $content .= <<checkoutRepository($vcpkg->getTag())) { + exit(1); +} + +/* First run with SHA512 of 0 to gather actual value and save it */ +$sha512 = $vcpkg->firstBuild( + $vcpkg->constructPortAndVersionFile() +); +if (!empty($sha512)) { + /* Now check out master */ + if (!$vcpkg->checkoutRepository()) { + exit(1); + } + + /* Attempt second build with the valid SHA512 sum. Program exit + * status is the exit status of `vcpkg install` + */ + exit( + $vcpkg->secondBuild( + $vcpkg->constructPortAndVersionFile($sha512) + ) + ); + +} + +/* Error if no SHA sum could be generated */ +exit(1); \ No newline at end of file diff --git a/vendor/DPP/cmake/ARM64ToolChain.cmake b/vendor/DPP/cmake/ARM64ToolChain.cmake index 01d524a5..7c09aa45 100644 --- a/vendor/DPP/cmake/ARM64ToolChain.cmake +++ b/vendor/DPP/cmake/ARM64ToolChain.cmake @@ -10,7 +10,7 @@ SET(CMAKE_LIBRARY_ARCHITECTURE aarch64-linux-gnu) SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE aarch64) SET(CPACK_RPM_PACKAGE_ARCHITECTURE aarch64) -SET(RASPBERRY_ROOT_PATH ${CMAKE_SOURCE_DIR}/arm_raspberry) +SET(RASPBERRY_ROOT_PATH ${DPP_ROOT_PATH}/arm_raspberry) SET(RASPBERRY_KINETIC_PATH ${RASPBERRY_ROOT_PATH}/opt/ros/kinetic) SET(CMAKE_FIND_ROOT_PATH ${RASPBERRY_ROOT_PATH} ${CATKIN_DEVEL_PREFIX}) diff --git a/vendor/DPP/cmake/ARMv6ToolChain.cmake b/vendor/DPP/cmake/ARMv6ToolChain.cmake index 6ae4d0a2..b1afe157 100644 --- a/vendor/DPP/cmake/ARMv6ToolChain.cmake +++ b/vendor/DPP/cmake/ARMv6ToolChain.cmake @@ -3,7 +3,7 @@ SET(CMAKE_SYSTEM_NAME Linux) #SET(CMAKE_SYSTEM_PROCESSOR armhf) #If you have installed cross compiler to somewhere else, please specify that path. -SET(COMPILER_ROOT /opt/cross-pi-gcc) +SET(COMPILER_ROOT /opt/cross-pi-gcc) SET(CMAKE_C_COMPILER ${COMPILER_ROOT}/bin/arm-linux-gnueabihf-gcc-8.3.0) SET(CMAKE_CXX_COMPILER ${COMPILER_ROOT}/bin/arm-linux-gnueabihf-g++) @@ -34,17 +34,17 @@ UNSET(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES) SET(CMAKE_INCLUDE_DIRECTORIES_BEFORE ON) INCLUDE_DIRECTORIES( ${COMPILER_ROOT}/arm-linux-gnueabihf/libc/usr/include - ${COMPILER_ROOT}/arm-linux-gnueabihf/include + ${COMPILER_ROOT}/arm-linux-gnueabihf/include ${COMPILER_ROOT}/arm-linux-gnueabihf/include/c++/8.3.0 ${COMPILER_ROOT}/arm-linux-gnueabihf/include/c++/8.3.0/arm-linux-gnueabihf ${COMPILER_ROOT}/lib/gcc/arm-linux-gnueabihf/8.3.0/include ${COMPILER_ROOT}/lib/gcc/arm-linux-gnueabihf/8.3.0/include-fixed - ${CMAKE_SOURCE_DIR}/rootfs/usr/include/arm-linux-gnueabihf) + ${DPP_ROOT_PATH}/rootfs/usr/include/arm-linux-gnueabihf) SET(CMAKE_INCLUDE_DIRECTORIES_BEFORE OFF) -SET(ZLIB_LIBRARY ${CMAKE_SOURCE_DIR}/rootfs/lib/arm-linux-gnueabihf/libz.so.1.2.11) -SET(OPENSSL_CRYPTO_LIBRARY ${CMAKE_SOURCE_DIR}/rootfs/usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1) -SET(OPENSSL_SSL_LIBRARY ${CMAKE_SOURCE_DIR}/rootfs/usr/lib/arm-linux-gnueabihf/libssl.so.1.1) +SET(ZLIB_LIBRARY ${DPP_ROOT_PATH}/rootfs/lib/arm-linux-gnueabihf/libz.so.1.2.11) +SET(OPENSSL_CRYPTO_LIBRARY ${DPP_ROOT_PATH}/rootfs/usr/lib/arm-linux-gnueabihf/libcrypto.so.1.1) +SET(OPENSSL_SSL_LIBRARY ${DPP_ROOT_PATH}/rootfs/usr/lib/arm-linux-gnueabihf/libssl.so.1.1) SET(CMAKE_CXX_COMPILER_WORKS 1) SET(CMAKE_C_FLAGS " ${CMAKE_C_FLAGS} -nostdinc --sysroot=${RASPBERRY_ROOT_PATH} -Wno-psabi " CACHE INTERNAL "" FORCE) @@ -54,11 +54,11 @@ SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} --sysroot=${RASPBERRY_ROOT_PAT SET(LD_LIBRARY_PATH ${RASPBERRY_KINETIC_PATH}/lib) -EXECUTE_PROCESS(COMMAND wget -P ${CMAKE_SOURCE_DIR}/rootfs -q http://content.dpp.dev/zlib1g_1.2.11.dfsg-1_armhf.deb http://content.dpp.dev/zlib1g-dev_1.2.11.dfsg-1_armhf.deb http://content.dpp.dev/libssl1.1_1.1.1m-1_armhf.deb http://content.dpp.dev/libssl-dev_1.1.1m-1_armhf.deb https://content.dpp.dev/raspi-toolchain.tar.gz) +EXECUTE_PROCESS(COMMAND wget -P ${DPP_ROOT_PATH}/rootfs -q http://content.dpp.dev/zlib1g_1.2.11.dfsg-1_armhf.deb http://content.dpp.dev/zlib1g-dev_1.2.11.dfsg-1_armhf.deb http://content.dpp.dev/libssl1.1_1.1.1m-1_armhf.deb http://content.dpp.dev/libssl-dev_1.1.1m-1_armhf.deb https://content.dpp.dev/raspi-toolchain.tar.gz) EXECUTE_PROCESS( - COMMAND tar -xzf ${CMAKE_SOURCE_DIR}/rootfs/raspi-toolchain.tar.gz -C /opt - COMMAND sudo dpkg-deb -x ${CMAKE_SOURCE_DIR}/rootfs/zlib1g-dev_1.2.11.dfsg-1_armhf.deb ${CMAKE_SOURCE_DIR}/rootfs - COMMAND sudo dpkg-deb -x ${CMAKE_SOURCE_DIR}/rootfs/zlib1g_1.2.11.dfsg-1_armhf.deb ${CMAKE_SOURCE_DIR}/rootfs - COMMAND sudo dpkg-deb -x ${CMAKE_SOURCE_DIR}/rootfs/libssl-dev_1.1.1m-1_armhf.deb ${CMAKE_SOURCE_DIR}/rootfs - COMMAND sudo dpkg-deb -x ${CMAKE_SOURCE_DIR}/rootfs/libssl1.1_1.1.1m-1_armhf.deb ${CMAKE_SOURCE_DIR}/rootfs) + COMMAND tar -xzf ${DPP_ROOT_PATH}/rootfs/raspi-toolchain.tar.gz -C /opt + COMMAND sudo dpkg-deb -x ${DPP_ROOT_PATH}/rootfs/zlib1g-dev_1.2.11.dfsg-1_armhf.deb ${DPP_ROOT_PATH}/rootfs + COMMAND sudo dpkg-deb -x ${DPP_ROOT_PATH}/rootfs/zlib1g_1.2.11.dfsg-1_armhf.deb ${DPP_ROOT_PATH}/rootfs + COMMAND sudo dpkg-deb -x ${DPP_ROOT_PATH}/rootfs/libssl-dev_1.1.1m-1_armhf.deb ${DPP_ROOT_PATH}/rootfs + COMMAND sudo dpkg-deb -x ${DPP_ROOT_PATH}/rootfs/libssl1.1_1.1.1m-1_armhf.deb ${DPP_ROOT_PATH}/rootfs) diff --git a/vendor/DPP/cmake/ARMv7ToolChain.cmake b/vendor/DPP/cmake/ARMv7ToolChain.cmake index 309138be..e5daa0ca 100644 --- a/vendor/DPP/cmake/ARMv7ToolChain.cmake +++ b/vendor/DPP/cmake/ARMv7ToolChain.cmake @@ -10,13 +10,13 @@ SET(CMAKE_LIBRARY_ARCHITECTURE arm-linux-gnueabihf) SET(CPACK_DEBIAN_PACKAGE_ARCHITECTURE armhf) SET(CPACK_RPM_PACKAGE_ARCHITECTURE armhf) -SET(RASPBERRY_ROOT_PATH ${CMAKE_SOURCE_DIR}/arm_raspberry) +SET(RASPBERRY_ROOT_PATH ${DPP_ROOT_PATH}/arm_raspberry) SET(RASPBERRY_KINETIC_PATH ${RASPBERRY_ROOT_PATH}/opt/ros/kinetic) SET(CMAKE_FIND_ROOT_PATH ${RASPBERRY_ROOT_PATH} ${CATKIN_DEVEL_PREFIX}) #If you have installed cross compiler to somewhere else, please specify that path. -SET(COMPILER_ROOT /usr/bin) +SET(COMPILER_ROOT /usr/bin) #Have to set this one to BOTH, to allow CMake to find rospack #This set of variables controls whether the CMAKE_FIND_ROOT_PATH and CMAKE_SYSROOT are used for find_xxx() operations. @@ -41,7 +41,7 @@ SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} --sysroot=${RASPBERRY_ROOT_PAT SET(LD_LIBRARY_PATH ${RASPBERRY_KINETIC_PATH}/lib) -EXECUTE_PROCESS(COMMAND printf "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main multiverse restricted universe\ndeb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ focal main multiverse restricted universe\ndeb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ focal-updates main multiverse restricted universe\ndeb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates main multiverse restricted universe\ndeb [arch=amd64] http://security.ubuntu.com/ubuntu/ focal-security main multiverse restricted universe" +EXECUTE_PROCESS(COMMAND printf "deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal main multiverse restricted universe\ndeb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ focal main multiverse restricted universe\ndeb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ focal-updates main multiverse restricted universe\ndeb [arch=amd64] http://archive.ubuntu.com/ubuntu/ focal-updates main multiverse restricted universe\ndeb [arch=amd64] http://security.ubuntu.com/ubuntu/ focal-security main multiverse restricted universe" OUTPUT_FILE TMPFILE) EXECUTE_PROCESS(COMMAND sudo mv TMPFILE /etc/apt/sources.list) EXECUTE_PROCESS(COMMAND sudo dpkg --add-architecture armhf) diff --git a/vendor/DPP/cmake/CPackSetup.cmake b/vendor/DPP/cmake/CPackSetup.cmake index 75e914db..42fc924f 100644 --- a/vendor/DPP/cmake/CPackSetup.cmake +++ b/vendor/DPP/cmake/CPackSetup.cmake @@ -17,7 +17,7 @@ if (WIN32) ARCHIVE DESTINATION ${DPP_INSTALL_LIBRARY_DIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} INCLUDES DESTINATION ${DPP_INSTALL_INCLUDE_DIR}) - install(DIRECTORY "${CMAKE_SOURCE_DIR}/include/" DESTINATION "${DPP_INSTALL_INCLUDE_DIR}") + install(DIRECTORY "${DPP_ROOT_PATH}/include/" DESTINATION "${DPP_INSTALL_INCLUDE_DIR}") else() install(TARGETS dpp EXPORT ${DPP_EXPORT_NAME} @@ -34,7 +34,7 @@ write_basic_package_version_file(${DPP_VERSION_FILE} COMPATIBILITY SameMajorVersion) ## Include the file which allows `find_package(dpp)` to function. -install(FILES "${CMAKE_SOURCE_DIR}/cmake/dpp-config.cmake" "${DPP_VERSION_FILE}" DESTINATION "${DPP_CMAKE_DIR}") +install(FILES "${DPP_ROOT_PATH}/cmake/dpp-config.cmake" "${DPP_VERSION_FILE}" DESTINATION "${DPP_CMAKE_DIR}") ## Export the targets to allow other projects to easily include this project install(EXPORT "${DPP_EXPORT_NAME}" DESTINATION "${DPP_CMAKE_DIR}" NAMESPACE dpp::) diff --git a/vendor/DPP/cmake/LINUXx86ToolChain.cmake b/vendor/DPP/cmake/LINUXx86ToolChain.cmake index 9f941ea4..93994a35 100644 --- a/vendor/DPP/cmake/LINUXx86ToolChain.cmake +++ b/vendor/DPP/cmake/LINUXx86ToolChain.cmake @@ -24,7 +24,9 @@ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32 " CACHE INTERNAL "" FORCE) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 " CACHE INTERNAL "" FORCE) EXECUTE_PROCESS(COMMAND sudo dpkg --add-architecture i386) -EXECUTE_PROCESS(COMMAND sudo apt update) -EXECUTE_PROCESS(COMMAND sudo apt install -y g++-10 gcc-10-multilib glibc-*:i386 libc6-dev-i386 g++-10-multilib zlib1g-dev:i386 libssl-dev:i386 libopus-dev:i386 libsodium-dev:i386) -EXECUTE_PROCESS(COMMAND sudo mv /usr/lib/i386-linux-gnu/pkgconfig/libsodium.pc /usr/lib/pkgconfig/) +EXECUTE_PROCESS(COMMAND sudo apt-get update) +EXECUTE_PROCESS(COMMAND sudo apt-get install -qq -y g++-10 gcc-10-multilib glibc-*:i386 libc6-dev-i386 g++-10-multilib zlib1g-dev:i386 libssl-dev:i386 libopus-dev:i386 libsodium-dev:i386) +EXECUTE_PROCESS(COMMAND export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig/) + +set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY") diff --git a/vendor/DPP/cmake/Raw-Files/Bottom-Of-Portfile.cmake b/vendor/DPP/cmake/Raw-Files/Bottom-Of-Portfile.cmake index cf861f79..9370e0ce 100644 --- a/vendor/DPP/cmake/Raw-Files/Bottom-Of-Portfile.cmake +++ b/vendor/DPP/cmake/Raw-Files/Bottom-Of-Portfile.cmake @@ -1,6 +1,4 @@ HEAD_REF master - PATCHES - make-pkgconfig-required.patch ) vcpkg_cmake_configure( diff --git a/vendor/DPP/docpages/01_frequently_asked_questions.md b/vendor/DPP/docpages/01_frequently_asked_questions.md deleted file mode 100644 index 2d27c8ef..00000000 --- a/vendor/DPP/docpages/01_frequently_asked_questions.md +++ /dev/null @@ -1,109 +0,0 @@ -# Frequently Asked Questions (FAQ) - -[TOC] - -## Is this library in production use? -This library powers the bot [TriviaBot](https://triviabot.co.uk) which has over **151,000 servers**, and [Sporks](https://sporks.gg) which has over **3,500 severs**. The library's use in these bots shows that the library is production ready for bots of all sizes. - -## How much RAM does this library use? -In production on TriviaBot, the bot takes approximately 2gb of ram to run 18 separate processes (this is approximately **140mb** per process) on a production bot with 36 million users and 151,000 guilds. Each process takes under 1% CPU. This is less than a quarter of the memory of a similar C++ Discord library, **Aegis.cpp** (version 2). - -For a very small bot, you can get the memory usage as low as **6 megabytes** on a Raspberry Pi. - -## How do I use this library in Windows? -The easiest way is to use our [template project](https://github.com/brainboxdotcc/windows-bot-template). If you are unable to do this, download the precompiled latest release from our GitHub releases, and take the dlls, .lib file, and header files (`bin`, `lib` and `include` directories), placing them in a easily accessible place on your computer. Go into Visual Studio project settings in a new project, and point the project directories (notably the library directories and and include directories) at the correct locations. Add the `include` folder you extracted to your include directories, and add `dpp.lib` to your library directories. Ensure the project is set to C++17 standard in the settings. You should then be able to compile example programs within that project. When you run the program you have compiled you must ensure that all the dll files from the `bin` directory exist in the same directory as your executable. - -## Does this library support Visual Studio 2022? -Yes! The master branch comes with pre-built binaries for Visual Studio 2022 and our windows bot template has a [vs2022 branch](https://github.com/brainboxdotcc/windows-bot-template/tree/vs2022) which you can clone to get Visual Studio 2022 specific code. For the time being we support both Visual Studio 2019 and 2022. At some point in the future only 2022 may be supported as 2019 becomes outdated. - -## How much of the library is completed? -All REST calls (outbound commands) are completed including all currently available interactions, and all Discord events are available. The library also has voice support. - -## How do I chat with the developers or get help? -The best place to do this is on the [Discord server](https://discord.gg/dpp). You most likely won't get an answer immediately (we have lives, and need to sleep sometimes), but we will be willing to help! - -## How can I contribute to development? -Just star and fork a copy of the repository, and submit a Pull Request! We won't bite! Authors of accepted pull requests get a special role on our [Discord server](https://discord.gg/dpp). - -## Whats the best way to learn C++? -A simple search can find some learning tools, however not all are good. Here is a list of some (good) learning resources: - -* [CodeAcademy](https://www.codecademy.com/learn/c-plus-plus) -* [Learn CPP](https://www.learncpp.com/) -* [Learn CPP (Very Basic)](https://www.learn-cpp.org/) - -If you don't understand something then feel free to ask in the [Discord server](https://discord.gg/dpp) ...*we don't bite!* - -## Do I need to be an expert in C++ to use this library? -NO! Definitely not! We have tried to keep things as simple as possible. We only use language features where they make sense, not just because they exist. Take a look at the example program (`test.cpp` and you'll see just how simple it is to get up and running quickly). We use a small subset of C++17 and C++14 features. - -## Why is D++ also called DPP -DPP is short for *D Plus Plus* (D++), a play on the Discord and C++ names. You'll see the library referred to as `dpp` within source code as `d++` is not a valid symbol so we couldn't exactly use that as our namespace name. - -## Is D++ a single header library? -No, D++ is a classically designed library which installs itself to your library directory/system directory as a shared object or dll. You must link to its .lib file and include its header files to make use of it. We have no plans for a single-header build. - -## Does this library support slash commands/interactions? -Yes! This library supports slash commands and interactions. For more information please see \ref slashcommands "Using Slash Commands and Interactions". - -## Does this library support buttons/drop down menus (message components)? -Yes! This library supports button message components, e.g. interactive buttons on the bottom of messages. For more information please see our \ref components "Using component interactions" and \ref components2 "Using component interactions (advanced)" examples. - -## Is the library asynchronous? -All functions within D++ are multi-threaded. You should still avoid doing long operations within event handlers or within callbacks, to prevent starvation of the threads managing each shard. Various blocking operations such as running files and making HTTP requests are offered as library functions (for example dpp::utility::exec) - -## Does this library support voice? -Yes! This library supports voice and will automatically enable voice if your system has the libopus and libsodium libraries. When running `cmake` the script will identify if these libraries are found. See the example programs for information on how to send audio. - -## Does this library support sharding? -Yes! D++ supports sharding and also clustering (grouping of shards into one process) to ensure it is scalable for small and large bots alike. - -## How do I contribute to the documentation and website? -The documentation and website are built using Doxygen. To contribute to site pages, submit a Pull Request to the main repository. The site pages can be found within the `docpages` directory. Details of classes, variables, namespaces etc are auto generated from Doxygen comments within the library source code in the `include` and `src` folders. - -## What version of the Discord API does this library support? -D++ only supports Discord API v10, the latest version. D++ major version numbers match the supported Discord API version. - -## Does this Discord library support the threads feature? -Yes! D++ supports Discord threads. You can create, edit and delete threads and also attach events watching for messages within threads. - -## Does D++ require C++20 support? -No, at the current time we do not use any C++20 features. Some C++17 features are used, which are available in all recent compilers. - -## When I start my bot i get an error: "error while loading shared libraries: libdpp.so: cannot open shared object file: No such file or directory" -To fix this issue, run `ldconfig`: `sudo ldconfig` as root. Log out if your SSH session and log back in, and the bot should be able to find the library. - -## When compiling with voice support, i get an error: "No rule to make target 'sodium_LIBRARY_DEBUG-NOTFOUND', needed by 'libdpp.so'. Stop." -The libsodium package requires pkg-config, but does not check for it when installed. Install it as root, e.g. `sudo apt install pkg-config`. Rerun cmake, and rebuild the library. - -## When I try to instantiate a dpp::cluster in windows, a std::bad_alloc exception is thrown -If this happens, ensure you are using the correct precompiled build of the library. Our precompiled binaries are built in two forms, **release mode** and **debug mode** for Visual Studio 2019/2022. These two versions of the library are not cross-compatible due to differences in the debug and release libstdc++. You should not need to build your own copy, but please see the section about \ref buildwindows for more information on how to build your own copy, if needed. - -## Does this library build/run on Raspberry Pi? -Yes! This project will build and run on Raspberry Pi and is very much suited to this kind of system. It may take some time (read: hours) to compile the project on your Raspberry Pi unless you build it using a cross compiler. We offer pre-built `.deb` files for arm6, arm7 and arm64, you should use these where possible to avoid having to compile it by hand, or you can use a cross-compiler to build it on your PC then transfer the compiled binaries across. - -## There are so many versions! Which deb file do i need for my Raspberry Pi? -Depending on which Raspberry Pi version you have, you will need to download a different release binary: - - - - - - - - - - -
Raspberry Pi ModelDeb file to installArch
Raspberry Pi Zero/Zero W`libdpp-x.x.x-linux-rpi-arm6.deb`ARMv6
Raspberry Pi 3`libdpp-x.x.x-linux-rpi-arm7hf.deb`ARMv7HF
Raspberry Pi 4`libdpp-x.x.x-linux-rpi-arm7hf.deb`ARMv7HF
Raspberry Pi 4 with 64 Bit Linux`libdpp-x.x.x-linux-rpi-arm64.deb`ARM64
- -## Are other ARM devices supported? -Yes! We have confirmed that the D++ deb file will successfully install and operate on various forms of cellphone or non-pi ARM devices. If you get it working on any other devices please let us know and we can build a compatibility chart. - -## Can I run a D++ bot in repl.it? -Yes! You can indeed run your bot in a repl.it container. [You can find a ready to go demo repl here](https://replit.com/@braindigitalis/dpp-demo-bot). We also have a [guide showing how to do this](https://dpp.dev/building-a-cpp-discord-bot-in-repl.html). - -## Why do the "get" functions like "messages_get" return void rather than what I'm after? -All the functions that obtain data directly from Discord (as opposed to the cache) perform HTTPS requests and may have to wait, either for the request itself or for their turn in a queue to respect rate limits. As such, it does not make sense that they should return a value, as this would mean they block execution of your event. Instead, each has a lambda, a function handler which receives the result of the request, which you can then read from within that function to get the data you are interested in. Note that this result will arrive on a different thread to the one which made the request. If you instead want the function to return a value, use the methods ending with `_sync` that will block until they have a response. Note that these forms of call will throw an exception on failure. - -## Can i use a user token with this library (as opposed to a bot token)? -No. This feature is not supported as it is against the Discord Terms Of Service, and therefore we have no plans to ever support it. You should not automate any user token. Some libraries used to support this but it is a legacy feature of those libraries (where still available) dating back to before Discord offered an official public API. Please be aware that if Discord ever catch you automating a user token (or making a user client that uses a bot token) they can and do ban people for this. diff --git a/vendor/DPP/docpages/01_installing.md b/vendor/DPP/docpages/01_installing.md deleted file mode 100644 index 0687858c..00000000 --- a/vendor/DPP/docpages/01_installing.md +++ /dev/null @@ -1,11 +0,0 @@ -# Installing D++ - -There are many ways to install D++, either from a package manager, or from source. Please choose your desired option from the list below: - -* \subpage install-linux-deb -* \subpage install-linux-rpm -* \subpage install-vcpkg -* \subpage install-arch-aur -* \subpage install-windows-zip -* \subpage install-xmake -* \subpage install-from-source diff --git a/vendor/DPP/docpages/02_building_a_bot.md b/vendor/DPP/docpages/02_building_a_bot.md deleted file mode 100644 index 5cd1c626..00000000 --- a/vendor/DPP/docpages/02_building_a_bot.md +++ /dev/null @@ -1,14 +0,0 @@ -# Creating a Discord Bot - -If you are wanting to build a bot using C++, you're in the right place! The fast and easy tutorials below will guide you through how to build a bot using the D++ library on either a UNIX-like (e.g. Linux) system with CMake or with Windows using Visual Studio 2019. - -Click on a link below for a guide specifically for your system: - -* \subpage creating-a-bot-application "Creating a Bot Token" -* \subpage build-a-discord-bot-windows-visual-studio "Building a discord bot in Windows using Visual Studio" -* \subpage build-a-discord-bot-windows-wsl "Building a discord bot in Windows using WSL (Windows Subsystem for Linux)" -* \subpage build-a-discord-bot-linux-clion "Building a discord bot in Linux using CLion" -* \subpage buildcmake "Building a Discord Bot using CMake/UNIX" -* \subpage buildmeson "Building a Discord Bot using Meson" -* \subpage building-a-cpp-discord-bot-in-repl "Creating a Discord bot in Repl.it" - diff --git a/vendor/DPP/docpages/03_example_programs.md b/vendor/DPP/docpages/03_example_programs.md deleted file mode 100644 index f2a1a72e..00000000 --- a/vendor/DPP/docpages/03_example_programs.md +++ /dev/null @@ -1,10 +0,0 @@ -# Example Programs - -There are example programs here for all skill levels demonstrating a great many features of the bot. New examples are added frequently, please check regularly for new content. - -* \subpage the-basics -* \subpage interactions-and-components -* \subpage music-and-audio -* \subpage misc - -Is the example you are looking for missing from these sections? Pop over to our [discord server](https://discord.com/dpp) and let us know what you need... Or, even better, if you know how to do something and want to contribute an example of your own, just submit a PR! \ No newline at end of file diff --git a/vendor/DPP/docpages/04_advanced_reference.md b/vendor/DPP/docpages/04_advanced_reference.md deleted file mode 100644 index 1ad0dea4..00000000 --- a/vendor/DPP/docpages/04_advanced_reference.md +++ /dev/null @@ -1,7 +0,0 @@ -# Advanced Reference - -* \subpage clusters-shards-guilds "Clusters, Shards and Guilds" -* \subpage thread-model "Thread Model" -* \subpage coding-standards "Coding Style Standards" -* \subpage unit-tests "Unit Tests" -* \subpage lambdas-and-locals "Ownership of local variables and safely transferring into a lambda" diff --git a/vendor/DPP/docpages/DPP-markdown-logo.png b/vendor/DPP/docpages/DPP-markdown-logo.png deleted file mode 100644 index 156b0de7a4b11394e3b7c03287afe827534611f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5708 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
- -## Downloads - -The following downloads are for the most recent version: - -* [Source Code](https://github.com/brainboxdotcc/DPP) -* [x64 Linux .deb (64 bit Debian, Ubuntu etc)](https://dl.dpp.dev/latest) -* [x86 Linux .deb (32 bit Debian, Ubuntu etc)](https://dl.dpp.dev/latest/linux-i386) -* [x64 Linux .rpm (64 bit Redhat, CentOS etc)](https://dl.dpp.dev/latest/linux-x64/rpm) -* [x86 Linux .rpm (32 bit Redhat, CentOS etc)](https://dl.dpp.dev/latest/linux-i386/rpm) -* [x64 Windows (64 bit vs2019 release build)](https://dl.dpp.dev/latest/win64-release-vs2019) -* [x64 Windows (64 bit vs2022 release build)](https://dl.dpp.dev/latest/win64-release-vs2022) -* [x64 Windows (64 bit vs2019 debug build)](https://dl.dpp.dev/latest/win64-debug-vs2019) -* [x64 Windows (64 bit vs2022 debug build)](https://dl.dpp.dev/latest/win64-debug-vs2022) -* [ARM6 Linux .deb (32 bit Raspberry Pi 1, 2)](https://dl.dpp.dev/latest/linux-rpi-arm6) -* [ARM7 Linux .deb (32 bit Raspberry Pi 3, 4)](https://dl.dpp.dev/latest/linux-rpi-arm7hf) -* [ARM64 Linux .deb (64 bit Raspberry Pi 4, Smartphones)](https://dl.dpp.dev/latest/linux-rpi-arm64) - -You can find further releases in other architectures and formats or the source code on the [GitHub Repository](https://github.com/brainboxdotcc/DPP/releases). For a realtime JSON format list of all download links, click [here](https://dl.dpp.dev/json) - -## Library features - -* Support for Discord API v10 -* Really small memory footprint -* Efficient caching system for guilds, channels, guild members, roles, users -* Sharding and clustering (Many shards, one process: specify the number of shards, or let the library decide) -* Highly optimised ETF (Erlang Term Format) support for very fast websocket throughput (*no other C++ Discord library has this!*) -* [Slash Commands/Interactions support](https://dpp.dev/slashcommands.html) -* [Voice support](https://dpp.dev/soundboard.html) (sending **and** receiving audio) -* The entire Discord API is available for use in the library -* Stable [Windows support](https://dpp.dev/buildwindows.html) -* Ready-made compiled packages for Windows, Raspberry Pi (ARM64/ARM7/ARMv6), Debian x86/x64 and RPM based distributions -* Highly scalable for large amounts of guilds and users - -## Supported Operating Systems - -### Linux -The library runs ideally on **Linux**. - -### Mac OS X and FreeBSD -The library is well-functional and stable on **Mac OS X** and **FreeBSD** too. - -### Raspberry Pi -For running your bot on a **Raspberry Pi**, we offer a prebuilt .deb package for ARM64, ARM6, and ARM7 so that you do not have to wait for it to compile. - -### Windows -**Windows** is well-supported with ready-made compiled DLL and LIB files, please check out our [Windows Bot Template repository](https://github.com/brainboxdotcc/windows-bot-template). The Windows Bot repository can be cloned and integrated immediately into any Visual Studio 2019 and 2022 project in a matter of minutes. - -### Other OS -The library should work fine on other operating systems as well, and if you run a D++ bot on something not listed here, please let us know! - -## Getting started -* [GitHub Repository](https://github.com/brainboxdotcc/DPP) -* [Discord Server](https://discord.gg/dpp) -* [Frequently Asked Questions](/md_docpages_01_frequently_asked_questions.html) -* [Installing D++](/md_docpages_01_installing.html) -* [Example Programs](/md_docpages_03_example_programs.html) - -## Architecture -* \ref clusters-shards-guilds -* \ref thread-model - -## Learning Resources -* [C++ for JavaScript Developers](https://pawelgrzybek.com/cpp-for-javascript-developers/) -* [C++ In Four Hours](https://www.youtube.com/watch?v=vLnPwxZdW4Y&vl=en) - diff --git a/vendor/DPP/docpages/advanced_reference/clusters_shards_and_guilds.md b/vendor/DPP/docpages/advanced_reference/clusters_shards_and_guilds.md deleted file mode 100644 index fd9a2419..00000000 --- a/vendor/DPP/docpages/advanced_reference/clusters_shards_and_guilds.md +++ /dev/null @@ -1,178 +0,0 @@ -\page clusters-shards-guilds Clusters, Shards and Guilds - -D++ takes a three-tiered highly scalable approach to bots, with three levels known as Clusters, Shards and Guilds as documented below. - -\dot -digraph "Clusters, Shards and Guilds" { - node [colorscheme="blues9",fontname="helvetica"]; - subgraph Bot { - node [style=filled, color=1]; - label = "Bot" - "Bot" [shape=folder, label="Bot", bordercolor=black]; - }; - subgraph Processes { - node [style=filled, color=2]; - label = "Processes" - "Bot" -> "Process 1" - "Bot" -> "Process 2" - "Process 1" [shape=record, label="Process"]; - "Process 2" [shape=record, label="Process"]; - }; - subgraph Clusters { - node [style=filled, color=3]; - label = "Clusters" - "Process 1" -> "Cluster 1" - "Process 2" -> "Cluster 2" - "Cluster 1" [shape=record, label="Cluster"]; - "Cluster 2" [shape=record, label="Cluster"]; - }; - subgraph Shards { - node [style=filled, color=4]; - label = "Shards" - "Shard 1" [shape=record, label="Shard"]; - "Shard 2" [shape=record, label="Shard"]; - "Shard 3" [shape=record, label="Shard"]; - "Shard 4" [shape=record, label="Shard"]; - "Shard 5" [shape=record, label="Shard"]; - "Shard 6" [shape=record, label="Shard"]; - "Shard 7" [shape=record, label="Shard"]; - "Shard 8" [shape=record, label="Shard"]; - "Cluster 1" -> "Shard 1" - "Cluster 1" -> "Shard 3" - "Cluster 2" -> "Shard 2" - "Cluster 2" -> "Shard 4" - "Cluster 1" -> "Shard 5" - "Cluster 1" -> "Shard 7" - "Cluster 2" -> "Shard 6" - "Cluster 2" -> "Shard 8" - }; - subgraph Guilds { - node [style=filled, color=5]; - label = "Guilds"; - "Guild 1" [shape=record, label="Guild"]; - "Guild 2" [shape=record, label="Guild"]; - "Guild 3" [shape=record, label="Guild"]; - "Guild 4" [shape=record, label="Guild"]; - "Guild 5" [shape=record, label="Guild"]; - "Guild 6" [shape=record, label="Guild"]; - "Guild 7" [shape=record, label="Guild"]; - "Guild 8" [shape=record, label="Guild"]; - "Guild 9" [shape=record, label="Guild"]; - "Guild 10" [shape=record, label="Guild"]; - "Guild 11" [shape=record, label="Guild"]; - "Guild 12" [shape=record, label="Guild"]; - "Guild 13" [shape=record, label="Guild"]; - "Guild 14" [shape=record, label="Guild"]; - "Guild 15" [shape=record, label="Guild"]; - "Guild 16" [shape=record, label="Guild"]; - "Shard 1" -> "Guild 1" - "Shard 1" -> "Guild 5" - "Shard 2" -> "Guild 2" - "Shard 2" -> "Guild 6" - "Shard 3" -> "Guild 3" - "Shard 3" -> "Guild 7" - "Shard 4" -> "Guild 4" - "Shard 4" -> "Guild 8" - "Shard 5" -> "Guild 9" - "Shard 5" -> "Guild 11" - "Shard 6" -> "Guild 10" - "Shard 6" -> "Guild 12" - "Shard 7" -> "Guild 13" - "Shard 7" -> "Guild 15" - "Shard 8" -> "Guild 14" - "Shard 8" -> "Guild 16" - }; -} -\enddot - -## Clusters - -A bot may be made of one or more clusters. Each cluster maintains a queue of commands waiting to be sent to Discord, a queue of replies from Discord for all commands executed, and zero or more **shards**. Usually, each process has one cluster, but the D++ library does not enforce this as a restriction. Small bots will require just one cluster. Clusters will split the required number of shards equally across themselves. There is no communication between clusters unless you add some yourself, they all remain independent without any central "controller" process. This ensures that there is no single point of failure in the design. Whenever you instantiate the library, you generally instantiate a cluster: - -```cpp -#include - -int main() -{ - /* This is a cluster */ - dpp::cluster bot("Token goes here"); -} -``` - -## Shards - -A cluster contains zero or more shards. Each shard maintains a persistent websocket connection to Discord via a websocket, which receives all events the bot is made aware of, e.g. messages, channel edits, etc. Requests to the API on the other hand go out to Discord as separate HTTP requests. - -Small bots will require only one shard and this is the default when you instantiate a cluster. The library will automatically determine and create the correct number of shards needed, if you do not configure it by hand. If you do want to specify a number of shards, you can specify this when creating a cluster: - -```cpp -#include - -int main() -{ - /* This is a cluster */ - int total_shards = 10; - dpp::cluster bot("Token goes here", dpp::i_default_intents, total_shards); -} -``` - -Remember that if there are multiple clusters, the number of shards you request will be split equally across these clusters! - -@note To spawn multiple clusters, you can specify this as the 4th and 5th parameter of the dpp::cluster constructor. You must do this, if you want this functionality. The library will not create additional clusters for you, as what you require is dependent upon your system specifications. It is your responsibility to somehow get the cluster id and total clusters into the process, e.g. via a command line argument. An example of this is shown below based on the cluster setup code of **TriviaBot**: -```cpp -#include -#include -#include -#include -#include - -int main(int argc, char** argv) -{ - int total_shards = 64; - int index; - char arg; - bool clusters_defined = false; - uint32_t clusterid = 0; - uint32_t maxclusters = 1; - - /* Parse command line parameters using getopt() */ - struct option longopts[] = - { - { "clusterid", required_argument, NULL, 'c' }, - { "maxclusters", required_argument, NULL, 'm' }, - { 0, 0, 0, 0 } - }; - opterr = 0; - while ((arg = getopt_long_only(argc, argv, "", longopts, &index)) != -1) { - switch (arg) { - case 'c': - clusterid = std::stoul(optarg); - clusters_defined = true; - break; - case 'm': - maxclusters = std::stoul(optarg); - break; - default: - std::cerr << "Unknown parameter '" << argv[optind - 1] << "'\n"; - exit(1); - break; - } - } - - if (clusters_defined && maxclusters == 0) { - std::cerr << "ERROR: You have defined a cluster id with -clusterid but no cluster count with -maxclusters.\n"; - exit(2); - } - - dpp::cluster bot("Token goes here", dpp::default_intents, total_shards, clusterid, maxclusters); -} -``` - -### Large Bot Sharding - -Discord restricts how many shards you can connect to at any one time to one per five seconds, unless your bot is in at least 150,000 guilds. Once you reach 150,000 guilds, Discord allow your bot to connect to more guilds concurrently, and your number of shards must divide cleanly into this value. By default, at 150,000 guilds this concurrency value is 16 meaning D++ will attempt to connect 16 shards in parallel, then wait for all these to connect and then connect another 16, until all shards are connected. In practice, this means a large bot with many shards (read: hundreds!) will connect significantly faster after a full restart. **You do not need to manually configure large bot sharding and connection concurrency, the D++ library will handle this for you if you are able to use it**. - - -## Guilds - -Guilds are what servers are known as to the Discord API. There can be up to **2500** of these per shard. Once you reach 2500 guilds on your bot, Discord force your bot to shard, the D++ library will automatically create additional shards to accomodate if not explicitly configured with a larger number. Discord *does not restrict sharding* to bots on 2500 guilds or above. You can shard at any size of bot, although it would be a waste of resources to do so unless it is required. diff --git a/vendor/DPP/docpages/advanced_reference/coding_style_standards.md b/vendor/DPP/docpages/advanced_reference/coding_style_standards.md deleted file mode 100644 index c4fc4529..00000000 --- a/vendor/DPP/docpages/advanced_reference/coding_style_standards.md +++ /dev/null @@ -1,116 +0,0 @@ -\page coding-standards Coding Style Standards - -This page lists the coding style we stick to when maintaining the D++ library. If you are submitting a pull request or other code contribution to the library, you should stick to the styles listed below. If something is not covered here, ask on the [official discord server](https://discord.gg/dpp)! - -## Class names, function names and method names -All class, variable/member, function and method names should use `snake_case`, similar to the style of the C++ standard library. - -## Enums -Enums and their values should be `snake_case` as with class, function and method names. You do not need to use `enum class`, so make sure that enum values are prefixed with a prefix to make them unique and grouped within the IDE, e.g. `ll_debug`, `ll_trace` etc. - - -## Curly Braces, Brackets etc - -Open curly braces on the same line as the keyword, for example: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -if (a == b) { - c(); -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Use a space after the comma in parameter lists, and after opening brackets and before closing brackets except when calling a function, e.g.: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -std::vector clowns = { "pennywise", "bobo" }; - -evaluate_clown(clowns[0], evilness(2.5, factor)); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -## Indentation -Indentation should always be tab characters. It is up to you how wide you set tab characters in your editor for your personal tastes. All code blocks delimited within curly braces should be indented neatly and uniformly. - -## Constants and \#define macros -Constants and macros should be all `UPPERCASE` with `SNAKE_CASE` to separate words. Macros should not have any unexpected side effects. - -## Comments -All comments should be in `doxygen` format (similar to javadoc). Please see existing class definitions for an example. You should use doxygen style comments in a class definition inside a header file, and can use any other comment types within the .cpp file. Be liberal with comments, especially if your code makes any assumptions! - -## Symbol exporting -If you export a class which is to be accessible to users, be sure to prefix it with the `DPP_EXPORT` macro, for example: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -class DPP_EXPORT my_new_class { -public: - int hats; - int clowns; -}; -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The `DPP_EXPORT` macro ensures that on certain platforms (notably Windows) the symbol is exported to be available to the library user. - -## Public vs private vs protected -It is a design philosophy of D++ that everything possible in a class should be public, unless the user really does not need it (you should consider justifying in comments why) or user adjustment of the variable could badly break the functioning of the library. Avoid the use of accessors for setting/getting values in a class, except for bit fields, where you should provide accessors for setting and getting individual bits (for example, see `user.h`), or in the event you want to provide a "fluent" interface. The exception to this is where you want to provide a logic validation of a field, for example if you have a string field with a minimum and maximum length, you can provide a setter the user can *optionally use* which will validate their input. - -## Exceptions -All exceptions thrown should derive from dpp::exception (see dpp/exception.h) - when validating string lengths, a string which is too long should be truncated using dpp::utility::utf8substr and any strings that are too short should throw a dpp::length_exception. - -## Inheritance -Keep levels of inheritance low. If you need to inherit more than 3 levels deep, it is probable that the design could be simplified. Remember that at scale, there can be tens of millions of certain classes and each level of virtual nesting adds to the `vtable` of that object's instance in RAM. - -## Bit field packing -Where discord provides boolean flags, if the user is expected to store many of the object in RAM, or in cache, you should pack all these booleans into bit fields (see `user.h` and `channel.h` for examples). In the event that the object is transient, such as an interaction or a message, packing the data into bit fields is counter intuitive. Remember that you should provide specific accessors for bit field values! - -## Keep dependencies internal! -Where you are making use of an external dependency such as `opus` or `libssl`, do not place references to the types/structs, or the header files of these external libraries within the header files of D++. Doing so adds that library as a public dependency to the project (which is bad!). Instead make an opaque class, and/or forward-declare the structs (for examples see `sslclient.h` and `discordvoiceclient.h`). - -## API type names -Where discord provide a name in PascalCase we should stick as closely to that name as possible but convert it to `snake_case`. For example, GuildMember would become `guild_member`. - -## Don't introduce any platform-specific code -Do not introduce platform specific (e.g. windows only) code or libc functions. If you really must use these functions safely wrap them e.g. in `#ifdef _WIN32` and provide a cross-platform alternative so that it works for everyone. - -## Select the right size type for numeric types -If a value will only hold values up to 255, use `uint8_t`. If a value cannot hold over 65536, use `uint16_t`. These types can help use a lot less ram at scale. - -## Fluent design -Where possible, if you are adding methods to a class you should consider fluent design. Fluent design is the use of class methods tha return a reference to self (via `return *this`), so that you can chain object method calls together (in the way `dpp::message` and `dpp::embed` do). For example: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -class DPP_EXPORT my_new_class { -public: - int hats; - int clowns; - - my_new_class& set_hats(int new_hats); - my_new_class& set_clowns(int new_clowns); -}; - -my_new_class& my_new_class::set_hats(int new_hats) { - hats = new_hats; - return *this; -} - -my_new_class& my_new_class::set_clowns(int new_clowns) { - clowns = new_clowns; - return *this; -} - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This would allow the user to do this: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -dpp::my_new_class nc; -nc.set_hats(3).set_clowns(9001); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -## Keep all D++ related types in the dpp namespace - -All types for the library should be within the `dpp` namespace. There are a couple of additional namespaces, e.g. `dpp::utility` for static standalone helper functions and helper classes, and `dpp::events` for internal websocket event handlers. - -## Commit messages and Git - -All pull requests ("PRs") should be submitted against the `dev` branch in GitHub. It’s good to have descriptive commit messages, or PR titles so that other contributors can understand about your commit or the PR Created. Read [conventional commits](https://www.conventionalcommits.org/en/v1.0.0-beta.3/) for information on how we like to format commit messages. - -All PRs must pass the [GitHub Actions](https://github.com/brainboxdotcc/DPP/actions) tests before being allowed to be merged. This is to ensure that no code committed into the project fails to compile on any of our officially supported platforms or architectures. diff --git a/vendor/DPP/docpages/advanced_reference/lambdas_and_locals.md b/vendor/DPP/docpages/advanced_reference/lambdas_and_locals.md deleted file mode 100644 index 0179b190..00000000 --- a/vendor/DPP/docpages/advanced_reference/lambdas_and_locals.md +++ /dev/null @@ -1,56 +0,0 @@ -\page lambdas-and-locals Ownership of local variables and safely transferring into a lambda - -If you are reading this page, you have likely been sent here by someone helping you diagnose why your bot is crashing or why seemingly invalid values are being passed into lambdas within your program that uses D++. - -It is important to remember that when you put a lambda callback onto a function in D++, that this lambda will execute at some point in the **future**. As with all things in the future and as 80s Sci Fi movies will tell you, when you reach the future things may well have changed! - -\image html delorean-time-travel.gif - -To explain this situation and how it causes issues i'd like you to imagine the age old magic trick, where a magician sets a fine table full of cutlery, pots, pans and wine. He indicates to the audience that this is authentic, then with a whip of his wrist, he whips the tablecloth away, leaving the cutlery and other tableware in place (if he is any good as a magician!) - -Now imagine the following code scenario. We will describe this code scenario as the magic trick above, in the steps below: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -bot.on_message_create([&bot](const dpp::message_create_t & event) { - int myvar = 0; - bot.message_create(dpp::message(event.msg.channel_id, "foobar"), [&](const auto & cc) { - myvar = 42; - }); -}); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In this scenario, the outer event, `on_message_create` is your tablecloth. The lambda inside the `bot.message_create` is the tableware and cutlery. The following chain of events happens in this code: - -* The magician executes his magic trick (D++ the `bot.on_message_create entering` the outer lambda) -* Your code executes `bot.message_create()` inside this outer lambda -* D++ inserts your request to send a message into its queue, in another thread. The inner lambda, where you might later set `myvar = 42` is safely copied into the queue for later calling. -* The tablecloth is whipped away... in other words, `bot.on_message_create` ends, and all local variables including `myvar` become invalid -* At a later time (usually 80ms through to anything up to 4 seconds depending on rate limits!) the message is sent, and your inner lambda which was saved at the earlier step is called. -* Your inner lambda attempts to set `myvar` to 42... but `myvar` no longer exists, as the outer lambda has been destroyed.... -* The table wobbles... the cutlery shakes... and... -* Best case scenario: you access invalid RAM no longer owned by your program by trying to write to `myvar`, and [your bot outright crashes horribly](https://www.youtube.com/watch?v=sm8qb2kP-fQ)! -* Worse case scenario: you silently corrupt ram and end up spending days trying to track down a bug that subtly breaks your bot... - -The situation i am trying to describe here is one of object and variable ownership. When you call a lambda, **always assume that every non global reference outside of that lambda will be invalid when the lambda is called**! For any non-global variable always take a **copy** of the variable (not reference, or pointer). Global variables or those declared directly in `main()` are safe to pass as references. - -For example, if we were to fix the broken code above, we could rewrite it like this: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -bot.on_message_create([&bot](const dpp::message_create_t & event) { - int myvar = 0; - bot.message_create(dpp::message(event.msg.channel_id, "foobar"), [myvar](const auto & cc) { - myvar = 42; - }); - std::cout << "here\n"; -}); -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Note however that when you set myvar within the inner lambda, this does **not effect** the value of the var outside it. Lambdas should be considered self-contained silos, and as they execute in other threads should not be relied upon to set anything that exists **outside of that lambda**. - -\warning Always avoid just using `[&]` in a lambda to access all in the scope above. It is unlikely that half of this scope will still even be valid by the time you get a look at it! - -Similarly, and important to note, your program **will not wait for bot.message_create to send its message and call its lambda** before continuing on to print `here`. It will instantly insert the request into its queue and bail straight back out (see the steps above) and immediately print the text. - -If you do want to get variables out of your lambda, create a class, or call a separate function, and pass what you need into that function from the lambda **by value** or alternatively, you can use `std::bind` to bind a lambda directly to an object's method instead (this is great for modular bots). - -If you are stuck, as this is a complex subject please do feel free to ask on the [official support server](https://discord.gg/dpp)! diff --git a/vendor/DPP/docpages/advanced_reference/thread_model.md b/vendor/DPP/docpages/advanced_reference/thread_model.md deleted file mode 100644 index 274fdde0..00000000 --- a/vendor/DPP/docpages/advanced_reference/thread_model.md +++ /dev/null @@ -1,81 +0,0 @@ -\page thread-model Thread Model - -\dot -digraph "Thread Model" { - graph [ranksep=1]; - node [colorscheme="blues9",fontname="helvetica"]; - "Discord Events" -> "Your Program" - - "Your Program" [style=filled, color=1, shape=rect] - "Cluster" [style=filled, color=1, shape=rect] - - subgraph cluster_4 { - style=filled; - color=lightgrey; - node [style=filled,color=2] - "Your Program" - "Cluster" - label = "User Code"; - } - - subgraph cluster_0 { - style=filled; - color=lightgrey; - node [style=filled,color=4] - "Shard 1" [style=filled, color=4] - "Shard 2" - "Shard 3..." - label = "Shards (Each is a thread, one per 2500 discord guilds)"; - } - - subgraph cluster_1 { - style=filled - color=lightgrey; - node [style=filled,color=4] - "REST Requests" - "Request In Queue 1" - "Request In Queue 2" - "Request In Queue 3..." - "Request Out Queue" - label = "REST Requests (Each in queue, and the out queue, are threads)" - } - - subgraph cluster_3 { - style=filled - color=lightgrey; - node [style=filled,color=4] - "Discord Events" [style=filled,color=4] - "User Callback Functions" - label = "Events and Callbacks" - } - - "Cluster" [shape=rect] - "REST Requests" [shape=rect] - "Request In Queue 1" [shape=rect] - "Request In Queue 2" [shape=rect] - "Request In Queue 3..." [shape=rect] - "Shard 1" [shape=rect] - "Shard 2" [shape=rect] - "Shard 3..." [shape=rect] - "Request Out Queue" [shape=rect] - "Discord Events" [shape=rect] - "User Callback Functions" [shape=rect] - - "Cluster" -> "REST Requests" - "Shard 1" -> "Discord Events" - "Shard 2" -> "Discord Events" - "Shard 3..." -> "Discord Events" - "Your Program" -> "Cluster" - "Cluster" -> "Shard 1" - "Cluster" -> "Shard 2" - "Cluster" -> "Shard 3..." - "REST Requests" -> "Request In Queue 1" - "REST Requests" -> "Request In Queue 2" - "REST Requests" -> "Request In Queue 3..." - "Request In Queue 1" -> "Request Out Queue" - "Request In Queue 2" -> "Request Out Queue" - "Request In Queue 3..." -> "Request Out Queue" - "Request Out Queue" -> "User Callback Functions" - "User Callback Functions" -> "Your Program" -} -\enddot diff --git a/vendor/DPP/docpages/advanced_reference/unit_tests.md b/vendor/DPP/docpages/advanced_reference/unit_tests.md deleted file mode 100644 index bdd2a0b6..00000000 --- a/vendor/DPP/docpages/advanced_reference/unit_tests.md +++ /dev/null @@ -1,28 +0,0 @@ -\page unit-tests Unit Tests - -## Running Unit Tests - -If you are adding functionality to DPP, make sure to run unit tests. This makes sure that the changes do not break anything. All pull requests must pass all unit tests before merging. - -Before running test cases, create a test server for your test bot. You should: - -* Make sure that the server only has you and your test bot, and no one else -* Give your bot the administrator permission -* Enable community for the server -* Make an event -* Create at least one voice channel -* Create at least one text channel - -Then, set the following variables to the appropriate values. (Below is a fake token, don't bother trying to use it) - - export DPP_UNIT_TEST_TOKEN="ODI2ZSQ4CFYyMzgxUzkzzACy.HPL5PA.9qKR4uh8po63-pjYVrPAvQQO4ln" - export TEST_GUILD_ID="907951970017480704" - export TEST_TEXT_CHANNEL_ID="907951970017480707" - export TEST_VC_ID="907951970017480708" - export TEST_USER_ID="826535422381391913" - export TEST_EVENT_ID="909928577951203360" - -Then, after cloning and building DPP, run `cd build && ctest -VV` for unit test cases. - -If you do not specify the `DPP_UNIT_TEST_TOKEN` environment variable, a subset of the tests will run which do not require discord connectivity. - diff --git a/vendor/DPP/docpages/building/02_build.md b/vendor/DPP/docpages/building/02_build.md deleted file mode 100644 index 5ff74290..00000000 --- a/vendor/DPP/docpages/building/02_build.md +++ /dev/null @@ -1,10 +0,0 @@ -\page install-from-source Building D++ From Source - -The way you build D++ varies from system to system. Please follow the guide below for your OS: - -* \subpage buildlinux "Building on Linux" -* \subpage buildwindows "Building on Windows" -* \subpage buildosx "Building on OSX" -* \subpage buildfreebsd "Building on FreeBSD" - -@warning Note that you most likely don't need to build D++ from source if you're on Linux or Windows. We offer prebuilt binaries for these platforms and are listed in package managers! Check the downloads in the releases section on github. diff --git a/vendor/DPP/docpages/building/freebsd.md b/vendor/DPP/docpages/building/freebsd.md deleted file mode 100644 index 0d64b263..00000000 --- a/vendor/DPP/docpages/building/freebsd.md +++ /dev/null @@ -1,49 +0,0 @@ -\page buildfreebsd Building on FreeBSD - -## 1. Toolchain -This project uses CMake. Install it with `pkg install cmake` - -## 2. Install External Dependencies -Your FreeBSD base system should have all the required dependencies installed by default. - -For voice support, additional dependencies are required - - pkg install libsodium opus pkgconf - -## 3. Build Source Code - - cmake -B ./build - cmake --build ./build -j8 - -Replace the number after -j with a number suitable for your setup, usually the same as the number of cores on your machine. `cmake` will fetch any dependencies that are required for you and ensure they are compiled alongside the library. - -## 4. Install globally - - cd build; make install - -## 5. Installation to a different directory - -If you want to install the library, its dependencies and header files to a different directory, specify this directory when running `cmake`: - - cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/install - -Then once the build is complete, run `make install` to install to the location you specified. - -## 7. Using the library - -Once installed, you can make use of the library in standalone programs simply by including it and linking to it: - - clang++ -std=c++17 -ldpp mydppbot.cpp -o dppbot - -The important flags in this command-line are: - - * `-std=c++17` - Required to compile the headers - * `-ldpp` - Link to libdpp.dylib - * `mydppbot.cpp` - Your source code - * `dppbot` - The name of the executable to make - -Of course, this is just a proof of concept - you should really use a more robust build system like [`cmake`](@ref buildcmake). - -If you are having trouble setting up CMake, you can try [our template bot](https://github.com/brainboxdotcc/templatebot). - -**Have fun!** diff --git a/vendor/DPP/docpages/building/linux.md b/vendor/DPP/docpages/building/linux.md deleted file mode 100644 index ad0d8277..00000000 --- a/vendor/DPP/docpages/building/linux.md +++ /dev/null @@ -1,42 +0,0 @@ -\page buildlinux Building on Linux - -\note You might not need to build a copy of the library for Linux - precompiled deb files for 64 bit and 32 bit Debian and Ubuntu are provided in the GitHub version releases. Unless you are on a different Linux distribution which does not support the installation of deb files, or wish to submit fixes and enhancements to the library itself you should have an easier time installing the precompiled version instead. - -## 1. Build Source Code - - cmake -B ./build - cmake --build ./build -j8 - -Replace the number after -j with a number suitable for your setup, usually the same as the number of cores on your machine. `cmake` will fetch any dependencies that are required for you and ensure they are compiled alongside the library. - -## 2. Install to /usr/local/include and /usr/local/lib - - cd build; sudo make install - -## 3. Installation to a different directory - -If you want to install the library, its dependencies and header files to a different directory, specify this directory when running `cmake`: - - cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/install - -Then once the build is complete, run `make install` to install to the location you specified. - -## 4. Using the library - -Once installed to the /usr/local directory, you can make use of the library in standalone programs simply by including it and linking to it: - - g++ -std=c++17 mydppbot.cpp -o dppbot -ldpp - -The important flags in this command-line are: - - * `-std=c++17` - Required to compile the headers - * `mydppbot.cpp` - Your source code - * `dppbot` - The name of the executable to make - -Of course, this is just a proof of concept — you should really use a more robust build system like GNU `make` or [`cmake`](@ref buildcmake). - -If you are having trouble setting up CMake, you can try [our template bot](https://github.com/brainboxdotcc/templatebot). - -**Have fun!** - - diff --git a/vendor/DPP/docpages/building/osx.md b/vendor/DPP/docpages/building/osx.md deleted file mode 100644 index a835ca0a..00000000 --- a/vendor/DPP/docpages/building/osx.md +++ /dev/null @@ -1,55 +0,0 @@ -\page buildosx Building on OSX - -## 1. Toolchain -Before compiling make sure you have all the tools installed. - -1. To install the dependencies, this guide will use homebrew which has [installation instructions on their project page](https://brew.sh/). - -2. This project uses CMake to generate the makefiles. Install it with `brew install cmake`. - -## 2. Install External Dependencies - - brew install openssl - -For voice support, additional dependencies are required: - - brew install libsodium opus - -## 3. Build Source Code - - cmake -B ./build - cmake --build ./build -j8 - -Replace the number after -j with a number suitable for your setup, usually the same as the number of cores on your machine. `cmake` will fetch any dependencies that are required for you and ensure they are compiled alongside the library. - -## 4. Install globally - - cd build; sudo make install - -## 5. Installation to a different directory - -If you want to install the library, its dependencies and header files to a different directory, specify this directory when running `cmake`: - - cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/install - -Then once the build is complete, run `make install` to install to the location you specified. - -## 6. Using the library - -Once installed, you can make use of the library in standalone programs simply by including it and linking to it: - - clang++ -std=c++17 -ldpp mydppbot.cpp -o dppbot - -The important flags in this command-line are: - - * `-std=c++17` - Required to compile the headers - * `-ldpp` - Link to libdpp.dylib - * `mydppbot.cpp` - Your source code - * `dppbot` - The name of the executable to make - -Of course, this is just a proof of concept - you should really use a more robust build system like GNU `make` or [`cmake`](@ref buildcmake). - -If you are having trouble setting up CMake, you can try [our template bot](https://github.com/brainboxdotcc/templatebot). - -**Have fun!** - diff --git a/vendor/DPP/docpages/building/windows.md b/vendor/DPP/docpages/building/windows.md deleted file mode 100644 index f1aa6e0d..00000000 --- a/vendor/DPP/docpages/building/windows.md +++ /dev/null @@ -1,29 +0,0 @@ -\page buildwindows Building on Windows - -To build on windows follow these steps *exactly*. The build process depends on specific libraries being installed on your system in specific locations. - -## Wait a minute! Read this first! - -\warning **You do not need to follow this tutorial unless you plan to contribute to or modify the library itself**. Unless you consider yourself an **advanced user** with a specific **requirement to build from source** you should [obtain a pre-made visual studio template containing the latest D++ build (for 32 and 64 bit, release and debug profiles) by clicking here](https://github.com/brainboxdotcc/windows-bot-template/) and completely skip this guide! Instead, read \ref build-a-discord-bot-windows-visual-studio. - -## If you are absolutely sure you need this guide, read on: - -1. Make sure you have Visual Studio 2019 or Visual Studio 2022. The Community, Professional or Enterprise versions all work, however you will probably want to install Community. You do **NOT** want to use *Visual Studio Code* for this. You can [download the correct version here](https://visualstudio.microsoft.com/downloads/). -2. Check out the DPP project source using git -3. From within Visual Studio 2019, click the "File" menu, choose "Open" then "CMake", and select the CMakeLists.txt within the project folder - \image html winbuild_1.png - \image html winbuild_2.png -4. Go to the "Build" menu and choose "Build all" or just press F7 - \image html winbuild_3.png -5. Check that compilation succeeded. You may now use the library in your projects! - \image html winbuild_4.png - -## Troubleshooting - -* If you do not have an option to open the CMakeLists.txt, ensure that you have installed the C++ development portions of visual studio (not just web development portions) with at least the default options. -* If the project does not build, please ask for help on the [official discord server](https://discord.gg/dpp). - -## After compiling - -After compilation you can directly reference the compiled project in your own CMakeLists.txt as a library or use the lib/dll/headers as you wish. Note that `openssl` and `zlib` will also be an indirect dependency of your program (as `DLL` files) and should be copied alongside `dpp.dll`. - diff --git a/vendor/DPP/docpages/dl.dpp.dev/dlcount.php b/vendor/DPP/docpages/dl.dpp.dev/dlcount.php deleted file mode 100644 index e5e12ee2..00000000 --- a/vendor/DPP/docpages/dl.dpp.dev/dlcount.php +++ /dev/null @@ -1,47 +0,0 @@ - [ - "method" => "GET", - "header" => "User-Agent: DPP/Website" - ] - ] - ) - ) -); -$downloads = 0; -foreach ($json as $index => $release) { - $releaseDownloads = 0; - foreach ($release->assets as $asset) { - $releaseDownloads += $asset->download_count; - } - $downloads += $releaseDownloads; -} - -header("Content-Type: image/svg+xml"); -echo << - downloads: {$downloads} - - - - - - - - - - - - - downloads - - {$downloads} - - -IMG; diff --git a/vendor/DPP/docpages/dl.dpp.dev/index.php b/vendor/DPP/docpages/dl.dpp.dev/index.php deleted file mode 100644 index 31b38c68..00000000 --- a/vendor/DPP/docpages/dl.dpp.dev/index.php +++ /dev/null @@ -1,68 +0,0 @@ -tag_name; -} - -// Build search filename -$searchName = 'libdpp-' . preg_replace('/^v/', '', $version) . '-' . $arch . '.' . $type; - -// Iterate list of release artifacts across all releases -foreach ($json as $index => $release) { - foreach ($release->assets as $index2 => $asset) { - $url = $asset->browser_download_url; - $name = $asset->name; - $thisVersion = $release->tag_name; - // We found a matching file, stream it to the user - if (strtoupper($searchName) == strtoupper($name)) { - header('Content-Type: application/octet-stream'); - header('Content-Disposition: attachment; filename="' . $name . '"'); - readfile($url); - exit; - } - $urls[] = [ - 'name' => $name, - 'url' => $url, - 'version' => $thisVersion, - ]; - } -} - - -if ($version === 'json') { - header('Content-Type: application/json'); - echo json_encode($urls); -} else { - // Nothing found, offer up some useful info - foreach ($urls as $thisUrl) { - printf("%s - %s
", $thisUrl['version'], $thisUrl['url'], $thisUrl['name']); - } -} - diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components.md b/vendor/DPP/docpages/example_programs/interactions_and_components.md deleted file mode 100644 index aed7d544..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components.md +++ /dev/null @@ -1,14 +0,0 @@ -\page interactions-and-components Interactions And Components - -The example programs listed here demonstrate lots of things to do with interactions, application commands (slash commands) and message components. If you're looking to make your bot **modern and user friendly** these examples are what you need. - -* \subpage slashcommands "Using Slash Commands and Interactions" -* \subpage context-menu "Context Menus" -* \subpage subcommands "Slash command sub-commands" -* \subpage components "Using button components" -* \subpage components3 "Using select menu components" -* \subpage components2 "Advanced components" -* \subpage modal-dialog-interactions "Modal Dialogs" -* \subpage commandhandler "Unified message/slash command handler" -* \subpage application-command-autocomplete "Slash command auto completion" -* \subpage discord-application-command-file-upload "Using file parameters in slash commands" diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/autocomplete.md b/vendor/DPP/docpages/example_programs/interactions_and_components/autocomplete.md deleted file mode 100644 index b5031335..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/autocomplete.md +++ /dev/null @@ -1,72 +0,0 @@ -\page application-command-autocomplete Slash command auto completion - -Discord now supports sending auto completion lists for slash command choices. To use this feature you can use code such as the example below: - -~~~~~~~~~~{.cpp} -#include - -int main() -{ - dpp::cluster bot("token"); - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_ready([&bot](const dpp::ready_t & event) { - if (dpp::run_once()) { - /* Create a new global command once on ready event */ - bot.global_command_create(dpp::slashcommand("blep", "Send a random adorable animal photo", bot.me.id) - .add_option( - /* If you set the auto complete setting on a command option, it will trigger the on_autocomplete - * event whenever discord needs to fill information for the choices. You cannot set any choices - * here if you set the auto complete value to true. - */ - dpp::command_option(dpp::co_string, "animal", "The type of animal").set_auto_complete(true) - ) - ); - } - }); - - /* The interaction create event is fired when someone issues your commands */ - bot.on_slashcommand([&bot](const dpp::slashcommand_t & event) { - /* Check which command they ran */ - if (event.command.get_command_name() == "blep") { - /* Fetch a parameter value from the command parameters */ - std::string animal = std::get(event.get_parameter("animal")); - /* Reply to the command. There is an overloaded version of this - * call that accepts a dpp::message so you can send embeds. - */ - event.reply("Blep! You chose " + animal); - } - }); - - /* The on_autocomplete event is fired whenever discord needs information to fill in a command options's choices. - * You must reply with a REST event within 500ms, so make it snappy! - */ - bot.on_autocomplete([&bot](const dpp::autocomplete_t & event) { - for (auto & opt : event.options) { - /* The option which has focused set to true is the one the user is typing in */ - if (opt.focused) { - /* In a real world usage of this function you should return values that loosely match - * opt.value, which contains what the user has typed so far. The opt.value is a variant - * and will contain the type identical to that of the slash command parameter. - * Here we can safely know it is string. - */ - std::string uservalue = std::get(opt.value); - bot.interaction_response_create(event.command.id, event.command.token, dpp::interaction_response(dpp::ir_autocomplete_reply) - .add_autocomplete_choice(dpp::command_option_choice("squids", "lots of squids")) - .add_autocomplete_choice(dpp::command_option_choice("cats", "a few cats")) - .add_autocomplete_choice(dpp::command_option_choice("dogs", "bucket of dogs")) - .add_autocomplete_choice(dpp::command_option_choice("elephants", "bottle of elephants")) - ); - bot.log(dpp::ll_debug, "Autocomplete " + opt.name + " with value '" + uservalue + "' in field " + event.name); - break; - } - } - }); - - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~ - diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/commandhandler.md b/vendor/DPP/docpages/example_programs/interactions_and_components/commandhandler.md deleted file mode 100644 index 2a8de1b8..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/commandhandler.md +++ /dev/null @@ -1,68 +0,0 @@ -\page commandhandler Using a command handler object - -If you have many commands in your bot, and want to handle commands from multiple sources (for example modern slash commands, and more regular -prefixed channel messages) you should consider instantiating a dpp::commandhandler object. This object can be used to automatically route -commands and their parameters to functions in your program. A simple example of using this object to route commands is shown below, and will -route both the /ping (global slash command) and .ping (prefixed channel message command) to a lambda where a reply can be generated. - -\note This example automatically hooks the dpp::cluster::on_message_create and dpp::cluster::on_slashcommand events. This can be overridden if needed to allow you to still make use of these functions for your own code, if you need to do this please see the constructor documentation for dpp::commandhandler. - -Note that because the dpp::commandhandler::add_command method accepts a std::function as the command handler, you may point a command handler -at a simple lambda (as shown in this example), a function pointer, or an instantiated class method of an object. This is extremely flexible -and allows you to decide how and where commands should be routed, either to an object oriented system or to a lambda based system. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include - -int main() -{ - dpp::cluster bot("token"); - - bot.on_log(dpp::utility::cout_logger()); - - /* Create command handler, and specify prefixes */ - dpp::commandhandler command_handler(&bot); - /* Specifying a prefix of "/" tells the command handler it should also expect slash commands */ - command_handler.add_prefix(".").add_prefix("/"); - - bot.on_ready([&command_handler](const dpp::ready_t &event) { - - command_handler.add_command( - /* Command name */ - "ping", - - /* Parameters */ - { - {"testparameter", dpp::param_info(dpp::pt_string, true, "Optional test parameter") } - }, - - /* Command handler */ - [&command_handler](const std::string& command, const dpp::parameter_list_t& parameters, dpp::command_source src) { - std::string got_param; - if (!parameters.empty()) { - got_param = std::get(parameters[0].second); - } - command_handler.reply(dpp::message("Pong! -> " + got_param), src); - }, - - /* Command description */ - "A test ping command", - - /* Guild id (omit for a global command) */ - 819556414099554344 - ); - - /* NOTE: We must call this to ensure slash commands are registered. - * This does a bulk register, which will replace other commands - * that are registered already! - */ - command_handler.register_commands(); - - }); - - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/components.md b/vendor/DPP/docpages/example_programs/interactions_and_components/components.md deleted file mode 100644 index 407c4928..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/components.md +++ /dev/null @@ -1,54 +0,0 @@ -\page components Using button components - -Discord's newest features support sending buttons alongside messages, which when clicked by the user trigger an interaction which is routed by -D++ as an on_button_click event. To make use of this, use code as in this example. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include -#include -#include - -int main() { - - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* Message handler to look for a command called !button */ - bot.on_message_create([&bot](const dpp::message_create_t & event) { - if (event.msg.content == "!button") { - /* Create a message containing an action row, and a button within the action row. */ - bot.message_create( - dpp::message(event.msg.channel_id, "this text has buttons").add_component( - dpp::component().add_component( - dpp::component().set_label("Click me!"). - set_type(dpp::cot_button). - set_emoji(u8"😄"). - set_style(dpp::cos_danger). - set_id("myid") - ) - ) - ); - } - }); - - /* When a user clicks your button, the on_button_click event will fire, - * containing the custom_id you defined in your button. - */ - bot.on_button_click([&bot](const dpp::button_click_t & event) { - /* Button clicks are still interactions, and must be replied to in some form to - * prevent the "this interaction has failed" message from Discord to the user. - */ - event.reply("You clicked: " + event.custom_id); - }); - - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -When the feature is functioning, the code below will produce buttons on the reply message like in the image below: - -\image html button.png - diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/components2.md b/vendor/DPP/docpages/example_programs/interactions_and_components/components2.md deleted file mode 100644 index 4ad17dd3..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/components2.md +++ /dev/null @@ -1,55 +0,0 @@ -\page components2 Advanced components - -This example demonstrates receiving button clicks and sending response messages. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include - -using json = nlohmann::json; - -int main() { - - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); // Privileged intent required to receive message content - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_button_click([&bot](const dpp::button_click_t & event) { - if (event.custom_id == "10") { - event.reply(dpp::message("Correct").set_flags(dpp::m_ephemeral)); - } else { - event.reply(dpp::message("Incorrect").set_flags(dpp::m_ephemeral)); - } - }); - - bot.on_message_create([&bot](const dpp::message_create_t & event) { - if (event.msg.content == "!ping2") { - bot.message_create( - dpp::message(event.msg.channel_id, "What is 5+5?").add_component( - dpp::component().add_component( - dpp::component().set_label("9"). - set_style(dpp::cos_primary). - set_id("9") - ).add_component( - dpp::component().set_label("10"). - set_style(dpp::cos_primary). - set_id("10") - ).add_component( - dpp::component().set_label("11"). - set_style(dpp::cos_primary). - set_id("11") - ) - ) - ); - } - }); - - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -This code will send a different message for correct and incorrect answers. - -\image html button_2.png - diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/components3.md b/vendor/DPP/docpages/example_programs/interactions_and_components/components3.md deleted file mode 100644 index df98eb3b..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/components3.md +++ /dev/null @@ -1,47 +0,0 @@ -\page components3 Using select menu components - -This example demonstrates receiving select menu clicks and sending response messages. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include - -using json = nlohmann::json; - -int main() { - - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* Message handler to look for a command called !select */ - bot.on_message_create([&bot](const dpp::message_create_t & event) { - if (event.msg.content == "!select") { - /* Create a message containing an action row, and a select menu within the action row. */ - dpp::message m(event.msg.channel_id, "this text has a select menu"); - m.add_component( - dpp::component().add_component( - dpp::component().set_type(dpp::cot_selectmenu). - set_placeholder("Pick something"). - add_select_option(dpp::select_option("label1","value1","description1").set_emoji(u8"😄")). - add_select_option(dpp::select_option("label2","value2","description2").set_emoji(u8"🙂")). - set_id("myselid") - ) - ); - bot.message_create(m); - } - }); - /* When a user clicks your select menu , the on_select_click event will fire, - * containing the custom_id you defined in your select menu. - */ - bot.on_select_click([&bot](const dpp::select_click_t & event) { - /* Select clicks are still interactions, and must be replied to in some form to - * prevent the "this interaction has failed" message from Discord to the user. - */ - event.reply("You clicked " + event.custom_id + " and chose: " + event.values[0]); - }); - - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/context_menus.md b/vendor/DPP/docpages/example_programs/interactions_and_components/context_menus.md deleted file mode 100644 index 5da0ed88..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/context_menus.md +++ /dev/null @@ -1,51 +0,0 @@ -\page context-menu Context Menus - -Context menus are application commands that appear on the context menu (right click or tap) of users or messages to perform context-specific actions. They can be created using `dpp::slashcommand`. Once you create a context menu, try right-clicking either a user or message to see it in your server! - -\image html context_menu_user_command.png - -The following example shows how to create and handle **user context menus**. - -~~~~~~~~~~{.cpp} -#include -#include - -int main() -{ - dpp::cluster bot("token"); - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_ready([&bot](const dpp::ready_t &event) { - if (dpp::run_once()) { - /* Register the command */ - bot.guild_command_create( - dpp::slashcommand() - .set_type(dpp::ctxm_user) - .set_name("High Five") - .set_application_id(bot.me.id), - 857692897221033129 // you need to put your guild-id in here - ); - } - }); - - /* Use the on_user_context_menu event to look for user context menu actions */ - bot.on_user_context_menu([&](const dpp::user_context_menu_t &event) { - /* check if the context menu name is High Five */ - if (event.command.get_command_name() == "High Five") { - dpp::user user = event.get_user(); // the user who the command has been issued on - dpp::user author = event.command.get_issuing_user(); // the user who clicked on the context menu - event.reply(author.get_mention() + " slapped " + user.get_mention()); - } - }); - - /* Start bot */ - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~ - -It registers a guild command that can be called by right-click a user and click on the created menu. - -\image html context_menu_user_command_showcase.png diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/modal_dialog_interactions.md b/vendor/DPP/docpages/example_programs/interactions_and_components/modal_dialog_interactions.md deleted file mode 100644 index d388a72c..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/modal_dialog_interactions.md +++ /dev/null @@ -1,78 +0,0 @@ -\page modal-dialog-interactions Modal Dialog Interactions - -Modal dialog interactions are a new Discord API feature that allow you to have pop-up windows which prompt the user to input information. Once the user has filled in this information, your program will receive an `on_form_submit` event which will contain the data which was input. You must use a slash command interaction response to submit your modal form data to Discord, via the `on_slashcommand` event. From here calling the `dialog` method of the `interaction_create_t` event object will trigger the dialog to appear. - -Each dialog box may have up to five rows of input fields. The example below demonstrates a simple setup with just one text input: - -~~~~~~~~~~{.cpp} -#include -#include - -int main(int argc, char const *argv[]) -{ - dpp::cluster bot("token"); - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_ready([&](const dpp::ready_t & event) { - if (dpp::run_once()) { - /* Create a slash command and register it as a global command */ - bot.global_command_create(dpp::slashcommand("dialog", "Make a modal dialog box", bot.me.id)); - } - }); - - bot.on_slashcommand([&bot](const dpp::slashcommand_t & event) { - /* Check for our /dialog command */ - if (event.command.get_command_name() == "dialog") { - /* Instantiate an interaction_modal_response object */ - dpp::interaction_modal_response modal("my_modal", "Please enter stuff"); - /* Add a text component */ - modal.add_component( - dpp::component(). - set_label("Short type rammel"). - set_id("field_id"). - set_type(dpp::cot_text). - set_placeholder("gumd"). - set_min_length(5). - set_max_length(50). - set_text_style(dpp::text_short) - ); - /* Add another text component in the next row, as required by Discord */ - modal.add_row(); - modal.add_component( - dpp::component(). - set_label("Type rammel"). - set_id("field_id2"). - set_type(dpp::cot_text). - set_placeholder("gumf"). - set_min_length(1). - set_max_length(2000). - set_text_style(dpp::text_paragraph) - ); - /* Trigger the dialog box. All dialog boxes are ephemeral */ - event.dialog(modal); - } - }); - - /* This event handles form submission for the modal dialog we create above */ - bot.on_form_submit([&](const dpp::form_submit_t & event) { - /* For this simple example we know the first element of the first row ([0][0]) is value type string. - * In the real world it may not be safe to make such assumptions! - */ - std::string v = std::get(event.components[0].components[0].value); - dpp::message m; - m.set_content("You entered: " + v).set_flags(dpp::m_ephemeral); - /* Emit a reply. Form submission is still an interaction and must generate some form of reply! */ - event.reply(m); - }); - - /* Start bot */ - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~ - -If you compile and run this program and wait for the global command to register, typing `/dialog` will present you with a dialog box like the one below: - -\image html modal_dialog.png - diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/slashcommands.md b/vendor/DPP/docpages/example_programs/interactions_and_components/slashcommands.md deleted file mode 100644 index f849f236..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/slashcommands.md +++ /dev/null @@ -1,61 +0,0 @@ -\page slashcommands Using Slash Commands and Interactions - -Slash commands and interactions are a newer feature of Discord which allow bot's commands to be registered centrally within the system and for users to easily explore and get help with available commands through the client itself. - -To add a slash command you should use the dpp::cluster::global_command_create method for global commands (available to all guilds) or dpp::cluster::guild_command_create to create a local command (available only to one guild). - -When a user issues these commands the reply will arrive via the `on_slashcommand` event which you can hook, and take action when you see your commands. It is possible to reply to an interaction by using either the dpp::interaction_create_t::reply method, or by manually instantiating an object of type dpp::interaction_response and attaching a dpp::message object to it. - -dpp::interaction_create_t::reply has two overloaded versions of the method, one of which accepts simple std::string replies, for basic text-only messages (if your message is 'ephemeral' you must use this) and one which accepts a dpp::message for more advanced replies. Please note that at present, Discord only supports a small subset of message and embed features within an interaction response object. - -\note You can also use the unified command handler, which lets you combine channel based message commands and slash commands under the same lambda with the same code like they were one and the same. Note that after August of 2022 Discord will be discouraging bots from using commands that are prefixed messages via means of a privileged message intent. It is advised that you exclusively use slash commands, or the unified handler with only a prefix of "/" going forward for any new bots you create and look to migrating existing bots to this setup. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include - -int main() -{ - dpp::cluster bot("token"); - - bot.on_log(dpp::utility::cout_logger()); - - /* The event is fired when someone issues your commands */ - bot.on_slashcommand([&bot](const dpp::slashcommand_t & event) { - /* Check which command they ran */ - if (event.command.get_command_name() == "blep") { - /* Fetch a parameter value from the command parameters */ - std::string animal = std::get(event.get_parameter("animal")); - /* Reply to the command. There is an overloaded version of this - * call that accepts a dpp::message so you can send embeds. - */ - event.reply(std::string("Blep! You chose") + animal); - } - }); - - bot.on_ready([&bot](const dpp::ready_t & event) { - if (dpp::run_once()) { - - /* Create a new global command on ready event */ - dpp::slashcommand newcommand("blep", "Send a random adorable animal photo", bot.me.id); - newcommand.add_option( - dpp::command_option(dpp::co_string, "animal", "The type of animal", true). - add_choice(dpp::command_option_choice("Dog", std::string("animal_dog"))). - add_choice(dpp::command_option_choice("Cat", std::string("animal_cat"))). - add_choice(dpp::command_option_choice("Penguin", std::string("animal_penguin") - ) - ) - ); - - /* Register the command */ - bot.global_command_create(newcommand); - } - }); - - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -\note For demonstration purposes, and small bots, this code is OK, but in the real world once your bot gets big, it's not recommended to create slash commands in the `on_ready` event because it gets called often (discord forces reconnections and sometimes these do not resume). You could for example add a commandline parameter to your bot (`argc`, `argv`) so that if you want the bot to register commands it must be launched with a specific command line argument. - diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/subcommands.md b/vendor/DPP/docpages/example_programs/interactions_and_components/subcommands.md deleted file mode 100644 index 25046333..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/subcommands.md +++ /dev/null @@ -1,78 +0,0 @@ -\page subcommands Using sub-commands in slash commands - -This demonstrates how to use sub-commands within slash commands. Also shown below is an example of how to get a "resolved" parameter without having to use the cache or an extra API call. - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include -#include - -int main() { - - dpp::cluster bot("token"); - - bot.on_log(dpp::utility::cout_logger()); - - /* Executes on ready. */ - bot.on_ready([&bot](const dpp::ready_t & event) { - if (dpp::run_once()) { - /* Define a slash command. */ - dpp::slashcommand image("image", "Send a specific image.", bot.me.id); - image.add_option( - /* Create a subcommand type option for "dog". */ - dpp::command_option(dpp::co_sub_command, "dog", "Send a picture of a dog."). - add_option(dpp::command_option(dpp::co_user, "user", "User to turn into a dog.", false)) - ); - image.add_option( - /* Create another subcommand type option for "cat". */ - dpp::command_option(dpp::co_sub_command, "cat", "Send a picture of a cat."). - add_option(dpp::command_option(dpp::co_user, "user", "User to turn into a cat.", false)) - ); - /* Create command */ - bot.global_command_create(image); - } - }); - - /* Use the on_slashcommand event to look for commands */ - bot.on_slashcommand([&bot](const dpp::slashcommand_t & event) { - dpp::interaction interaction = event.command; - dpp::command_interaction cmd_data = interaction.get_command_interaction(); - /* Check if the command is the image command. */ - if (interaction.get_command_name() == "image") { - /* Get the sub command */ - auto subcommand = cmd_data.options[0]; - /* Check if the subcommand is "dog" */ - if (subcommand.name == "dog") { - /* Checks if the subcommand has any options. */ - if (!subcommand.options.empty()) { - /* Get the user from the parameter */ - dpp::user user = interaction.get_resolved_user( - subcommand.get_value(0) - ); - event.reply(user.get_mention() + " has now been turned into a dog."); - } else { - /* Reply if there were no options.. */ - event.reply("No user specified"); - } - } - /* Check if the subcommand is "cat" */ - if (subcommand.name == "cat") { - /* Checks if the subcommand has any options. */ - if (!subcommand.options.empty()) { - /* Get the user from the parameter */ - dpp::user user = interaction.get_resolved_user( - subcommand.get_value(0) - ); - event.reply(user.get_mention() + " has now been turned into a cat."); - } else { - /* Reply if there were no options.. */ - event.reply("No user specified"); - } - } - } - }); - - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/vendor/DPP/docpages/example_programs/interactions_and_components/upload_parameter.md b/vendor/DPP/docpages/example_programs/interactions_and_components/upload_parameter.md deleted file mode 100644 index 27b107cf..00000000 --- a/vendor/DPP/docpages/example_programs/interactions_and_components/upload_parameter.md +++ /dev/null @@ -1,48 +0,0 @@ -\page discord-application-command-file-upload Using file parameters for application commands (slash commands) - -The program below demonstrates how to use the 'file' type parameter to an application command (slash command). -You must first get the file_id via std::get, and then you can find the attachment details in the 'resolved' -section, `event.command.resolved`. - -The file is uploaded to Discord's CDN so if you need it locally you should fetch the `.url` value, e.g. by using -something like `dpp::cluster::request()`. - -~~~~~~~~~~~~~~~~{.cpp} -#include - -int main() -{ - dpp::cluster bot("token"); - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_slashcommand([&bot](const dpp::slashcommand_t & event) { - if (event.command.type == dpp::it_application_command) { - dpp::command_interaction cmd_data = std::get(event.command.data); - if (cmd_data.name == "show") { - dpp::snowflake file_id = std::get(event.get_parameter("file")); - auto iter = event.command.resolved.attachments.find(file_id); - if (iter != event.command.resolved.attachments.end()) { - const dpp::attachment& att = iter->second; - event.reply(att.url); - } - } - } - }); - - bot.on_ready([&bot](const dpp::ready_t & event) { - - if (dpp::run_once()) { - dpp::slashcommand newcommand("show", "Show an uploaded file", bot.me.id); - - newcommand.add_option(dpp::command_option(dpp::co_attachment, "file", "Select an image")); - - bot.global_command_create(newcommand); - } - }); - - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~~~~~~~ diff --git a/vendor/DPP/docpages/example_programs/misc.md b/vendor/DPP/docpages/example_programs/misc.md deleted file mode 100644 index 1d7afcdf..00000000 --- a/vendor/DPP/docpages/example_programs/misc.md +++ /dev/null @@ -1,9 +0,0 @@ -\page misc Miscellaneous Examples - -This section lists examples that do not fit neatly into any of the categories above. - -* \subpage making_a_http_request "Making arbitrary HTTP requests using D++" -* \subpage spdlog "Integrating with spdlog" -* \subpage caching-messages "Caching messages" -* \subpage collecting-reactions "Collecting Reactions" -* \subpage cpp-eval-command-discord "Making an eval command in C++" diff --git a/vendor/DPP/docpages/example_programs/misc/cache_messages.md b/vendor/DPP/docpages/example_programs/misc/cache_messages.md deleted file mode 100644 index 77cfdbff..00000000 --- a/vendor/DPP/docpages/example_programs/misc/cache_messages.md +++ /dev/null @@ -1,61 +0,0 @@ -\page caching-messages Caching Messages - -By default D++ does not cache messages. The example program below demonstrates how to instantiate a custom cache using dpp::cache which will allow you to cache messages and query the cache for messages by ID. - -This can be adjusted to cache any type derived from dpp::managed including types you define yourself. - -@note This example will cache and hold onto messages forever! In a real world situation this would be bad. If you do use this, -you should use the dpp::cache::remove() method periodically to remove stale items. This is left out of this example as a learning -exercise to the reader. For further reading please see the documentation of dpp::cache - -~~~~~~~~~~{.cpp} -#include -#include - -int main() { - /* Create bot */ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - /* Create a cache to contain types of dpp::message */ - dpp::cache message_cache; - - bot.on_log(dpp::utility::cout_logger()); - - /* Message handler */ - bot.on_message_create([&](const dpp::message_create_t &event) { - - /* Make a permanent pointer using new, for each message to be cached */ - dpp::message* m = new dpp::message(); - /* Store the message into the pointer by copying it */ - *m = event.msg; - /* Store the new pointer to the cache using the store() method */ - message_cache.store(m); - - /* Simple ghetto command handler. In the real world, use slashcommand or commandhandler here. */ - std::stringstream ss(event.msg.content); - std::string cmd; - dpp::snowflake msg_id; - ss >> cmd; - - /* Look for our command */ - if (cmd == "!get") { - ss >> msg_id; - /* Search our cache for a cached message */ - dpp::message* find_msg = message_cache.find(msg_id); - if (find_msg != nullptr) { - /* Found a cached message, echo it out */ - bot.message_create(dpp::message(event.msg.channel_id, "This message had the following content: " + find_msg->content)); - } else { - /* Nothing like that here. Have you checked under the carpet? */ - bot.message_create(dpp::message(event.msg.channel_id, "There is no message cached with this ID")); - } - } - }); - - /* Start bot */ - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~ - diff --git a/vendor/DPP/docpages/example_programs/misc/collect_reactions.md b/vendor/DPP/docpages/example_programs/misc/collect_reactions.md deleted file mode 100644 index 6e7911b9..00000000 --- a/vendor/DPP/docpages/example_programs/misc/collect_reactions.md +++ /dev/null @@ -1,55 +0,0 @@ -\page collecting-reactions Collecting Reactions - -D++ comes with many useful helper classes, but amongst these is something called dpp::collector. Collector is a template which can be specialised to automatically collect objects of a pre-determined type from events for a specific interval of time. Once this time period is up, or the class is otherwise signalled, a method is called with the complete set of collected objects. - -In the example below we will use it to collect all reactions on a message. - -~~~~~~~~~~{.cpp} -#include - -/* To create a collector we must derive from dpp::collector. As dpp::collector is a complicated template, - * various pre-made forms exist such as this one, reaction_collector. - */ -class react_collector : public dpp::reaction_collector { -public: - /* Collector will run for 20 seconds */ - react_collector(dpp::cluster* cl, snowflake id) : dpp::message_collector(cl, 20, id) { } - - /* On completion just output number of collected reactions to as a message. */ - virtual void completed(const std::vector& list) { - if (list.size()) { - owner->message_create(dpp::message(list[0].channel_id, "I collected " + std::to_string(list.size()) + " reactions!")); - } else { - owner->message_create(dpp::message("... I got nothin'.")); - } - } -}; - - -int main() { - /* Create bot */ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - /* Pointer to reaction collector */ - react_collector* r = nullptr; - - bot.on_log(dpp::utility::cout_logger()); - - /* Message handler */ - bot.on_message_create([&](const dpp::message_create_t &event) { - - /* If someone sends a message that has the text 'collect reactions!' start a reaction collector */ - if (event.msg.content == "collect reactions!" && r == nullptr) { - /* Create a new reaction collector to collect reactions */ - r = new react_collector(&bot, event.msg.id); - } - - }); - - /* Start bot */ - bot.start(dpp::st_wait); - - return 0; -} -~~~~~~~~~~ - diff --git a/vendor/DPP/docpages/example_programs/misc/eval.md b/vendor/DPP/docpages/example_programs/misc/eval.md deleted file mode 100644 index 369e7498..00000000 --- a/vendor/DPP/docpages/example_programs/misc/eval.md +++ /dev/null @@ -1,244 +0,0 @@ -\page cpp-eval-command-discord Making an eval command in C++ - -### What is an eval command anyway? - -Many times people will ask: "how do i make a command like 'eval' in C++". For the uninitiated, an `eval` command is a command often found in interpreted languages such as Javascript and Python, which allows the developer to pass in raw interpreter statements which are then executed within the context of the running program, without any sandboxing. Eval commands are plain **evil**, if not properly coded in. - -Needless to say, this is very dangerous. If you are asking how to do this, and want to put this into your bot, we trust that you have a very good reason to do so and have considered alternatives before resorting to this. The code below is for educational purposes only and makes several assumptions: - -1. This code will only operate on UNIX-like systems such as Linux (not **Darwin**) -2. It assumes you use GCC, and have `g++` installed on your server and in your $PATH -3. The program will attempt to write to the current directory -4. No security checks will be done against the code, except for to check that it is being run by the bot's developer by snowflake id. It is entirely possible to send an `!eval exit(0);` and make the bot quit, for example, or delete files from the host operating system, if misused or misconfigured. -5. You're willing to wait a few seconds for compilation before your evaluated code runs. There isn't a way around this, as C++ is a compiled language. - -To create this program you must create two files, `eval.h` and `eval.cpp`. The header file lists forward declarations of functions that you will be able to use directly within your `eval` code. As well as this the entire of D++ will be available to the eval command via the local variable `bot`, and the entire `on_message_create` event variable via a local variable called `event`. - -The evaluated code will run within its own thread, so can execute for as long as it needs (but use common sense, don't go spawning a tight `while` loop that runs forever, you'll lock a thread at 100% CPU that won't ever end!). - -### Implementation details - -This code operates by outputting your provided code to be evaluated into a simple boilerplate program which can be compiled to a -shared object library (.so file). This .so file is then compiled with g++, using the `-shared` and `-fPIC` flags. If the program can be successfully compiled, it is then loaded using `dlopen()`, and the symbol `so_exec()` searched for within it, and called. This `so_exec()` function will contain the body of the code given to the eval command. Once this has been called and it has returned, -the `dlclose()` function is called to unload the library, and finally any temporary files (such as the .so file and its corresponding .cpp file) are cleaned up. -Docker is definitely recommended if you code on Windows/Mac OS, because docker desktop still uses a linux VM, so your code can easily use `.so` file and your code runs the same on your vps (if it also uses Linux distro) - -### Source code - -\warning If you manage to get your system, network, or anything else harmed by use or misuse of this code, we are not responsible. Don't say we didn't warn you! Find another way to solve your problem! - -#### eval.h - -Remember that eval.h contains forward-declarations of any functions you want to expose to the eval command. It is included both by the bot itself, and by any shared object files compiled for evaluation. - -~~~~~~~~~~~~~~~~{.cpp} -#pragma once - -/* This is the snowflake ID of the bot's developer. - * The eval command will be restricted to this user. - */ -#define MY_DEVELOPER 189759562910400512 - -/* Any functions you want to be usable from within an eval, - * that are not part of D++ itself or the message event, you - * can put here as forward declarations. The test_function() - * serves as an example. - */ - -int test_function(); -~~~~~~~~~~~~~~~~ - -#### eval.cpp - -This is the main body of the example program. - -~~~~~~~~~~~~~~~~{.cpp} -/** - * D++ eval command example. - * This is dangerous and for educational use only, here be dragons! - */ - -#include -#include -#include -#include -/* We have to define this to make certain functions visible */ -#ifndef _GNU_SOURCE - #define _GNU_SOURCE -#endif -#include -#include -#include "eval.h" - -/* This is an example function you can expose to your eval command */ -int test_function() { - return 42; -} - -/* Important: This code is for UNIX-like systems only, e.g. - * Linux, BSD, OSX. It will NOT work on Windows! - * Note for OSX you'll probably have to change all references - * from .so to .dylib. - */ -int main() -{ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* This won't work in a slash command very well yet, as there is not yet - * a multi-line slash command input type. - */ - bot.on_message_create([&bot](const auto & event) { - if (dpp::utility::utf8substr(event.msg.content, 0, 5) == "!eval") { - - /** - * THIS IS CRITICALLY IMPORTANT! - * Never EVER make an eval command that isn't restricted to a specific developer by user id. - * With access to this command the person who invokes it has at best full control over - * your bot's user account and at worst, full control over your entire network!!! - * Eval commands are Evil (pun intended) and could even be considered a security - * vulnerability. YOU HAVE BEEN WARNED! - */ - if (event.msg.author.id != MY_DEVELOPER) { - bot.message_create(dpp::message(event.msg.channel_id, "On the day i do this for you, Satan will be ice skating to work.")); - return; - } - - /* We start by creating a string that contains a cpp program for a simple library. - * The library will contain one exported function called so_exec() that is called - * containing the raw C++ code to eval. - */ - std::string code = "#include \n\ - #include \n\ - #include \n\ - #include \n\ - #include \n\ - #include \n\ - #include \n\ - #include \n\ - #include \"eval.h\"\n\ - extern \"C\" void so_exec(dpp::cluster& bot, dpp::message_create_t event) {\n\ - " + dpp::utility::utf8substr( - event.msg.content, - 6, - dpp::utility::utf8len(event.msg.content) - ) + ";\n\ - return;\n\ - }"; - - /* Next we output this string full of C++ to a cpp file on disk. - * This code assumes the current directory is writeable. The file will have a - * unique name made from the user's id and the message id. - */ - std::string source_filename = std::to_string(event.msg.author.id) + "_" + std::to_string(event.msg.id) + ".cpp"; - std::fstream code_file(source_filename, std::fstream::binary | std::fstream::out); - if (!code_file.is_open()) { - bot.message_create(dpp::message(event.msg.channel_id, "Unable to create source file for `eval`")); - return; - } - code_file << code; - code_file.close(); - - /* Now to actually compile the file. We use dpp::utility::exec to - * invoke a compiler. This assumes you are using g++, and it is in your path. - */ - double compile_start = dpp::utility::time_f(); - dpp::utility::exec("g++", { - "-std=c++17", - "-shared", /* Build the output as a .so file */ - "-fPIC", - std::string("-o") + std::to_string(event.msg.author.id) + "_" + std::to_string(event.msg.id) + ".so", - std::to_string(event.msg.author.id) + "_" + std::to_string(event.msg.id) + ".cpp", - "-ldpp", - "-ldl" - }, [event, &bot, source_filename, compile_start](const std::string &output) { - - /* After g++ is ran we end up inside this lambda with the output as a string */ - double compile_time = dpp::utility::time_f() - compile_start; - - /* Delete our cpp file, we don't need it any more */ - std::string del_file = std::string(getenv("PWD")) + std::to_string(event.msg.author.id) + "_" + std::to_string(event.msg.id) + ".cpp"; - unlink(del_file.c_str()); - - /* On successful compilation g++ outputs nothing, so any output here is error output */ - if (output.length()) { - bot.message_create(dpp::message(event.msg.channel_id, "Compile error: ```\n" + output + "\n```")); - } else { - - /* Now for the meat of the function. To actually load - * our shared object we use dlopen() to load it into the - * memory space of our bot. If dlopen() returns a nullptr, - * the shared object could not be loaded. The user probably - * did something odd with the symbols inside their eval. - */ - std::string dl = std::string(getenv("PWD")) + std::to_string(event.msg.author.id) + "_" + std::to_string(event.msg.id) + ".so"; - auto shared_object_handle = dlopen(dl.c_str(), RTLD_NOW); - if (!shared_object_handle) { - const char *dlsym_error = dlerror(); - bot.message_create(dpp::message(event.msg.channel_id, "Shared object load error: ```\n" + - std::string(dlsym_error ? dlsym_error : "Unknown error") +"\n```")); - return; - } - - /* This type represents the "void so_exec()" function inside - * the shared object library file. - */ - using function_pointer = void(*)(dpp::cluster&, dpp::message_create_t); - - /* Attempt to find the function called so_exec() inside the - * library we just loaded. If we can't find it, then the user - * did something really strange in their eval. Also note it's - * important we call dlerror() here to reset it before trying - * to use it a second time. It's weird-ass C code and is just - * like that. - */ - dlerror(); - function_pointer exec_run = (function_pointer)dlsym(shared_object_handle, "so_exec"); - const char *dlsym_error = dlerror(); - if (dlsym_error) { - bot.message_create(dpp::message(event.msg.channel_id, "Shared object load error: ```\n" + std::string(dlsym_error) +"\n```")); - dlclose(shared_object_handle); - return; - } - - /* Now we have a function pointer to our actual exec code in - * 'exec_run', so lets call it, and pass it a reference to - * the cluster, and also a copy of the message_create_t. - */ - double run_start = dpp::utility::time_f(); - exec_run(bot, event); - double run_time = dpp::utility::time_f() - run_start; - - /* When we're done with a .so file we must always dlclose() it */ - dlclose(shared_object_handle); - - /* We are now done with the compiled code too */ - unlink(dl.c_str()); - - /* Output some statistics */ - bot.message_create(dpp::message(event.msg.channel_id, - "Execution completed. Compile time: " + std::to_string(compile_time) + - "s, execution time " + std::to_string(run_time) + "s")); - } - }); - } - }); - - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~~~~~~~ - -### Compilation - -To compile this program you must link against `libdl`. It is also critically important to include the `-rdynamic` flag. For example: - -``` -g++ -std=c++17 -rdynamic -oeval eval.cpp -ldpp -ldl -``` - -### Example usage - -\image html eval_example.png - diff --git a/vendor/DPP/docpages/example_programs/misc/http_request.md b/vendor/DPP/docpages/example_programs/misc/http_request.md deleted file mode 100644 index ff01ba5e..00000000 --- a/vendor/DPP/docpages/example_programs/misc/http_request.md +++ /dev/null @@ -1,33 +0,0 @@ -\page making_a_http_request Making arbitrary HTTP requests using D++ - -If you wish to make arbitrary HTTP(S) requests to websites and APIs, e.g. to update statistics on bot lists, you can use code similar to the code below. You may pass any arbitrary POST data: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include - -int main() { - dpp::cluster bot("TOKEN GOES HERE"); - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_ready([&bot](const dpp::ready_t& event) { - // Arbitrary post data as a string - std::string mypostdata = "{\"value\": 42}"; - // Make a HTTP POST request. HTTP and HTTPS are supported here. - bot.request( - "http://www.somebotlist.com/api/servers", dpp::m_post, [](const dpp::http_request_completion_t & cc) { - // This callback is called when the HTTP request completes. See documentation of - // dpp::http_request_completion_t for information on the fields in the parameter. - std::cout << "I got reply: " << cc.body << " with HTTP status code: " << cc.status << "\n"; - }, - mypostdata, - "application/json", - { - {"Authorization", "Bearer tokengoeshere"} - } - ); - }); - - bot.start(dpp::st_wait); -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/vendor/DPP/docpages/example_programs/misc/spdlog.md b/vendor/DPP/docpages/example_programs/misc/spdlog.md deleted file mode 100644 index 9edeb7a2..00000000 --- a/vendor/DPP/docpages/example_programs/misc/spdlog.md +++ /dev/null @@ -1,63 +0,0 @@ -\page spdlog Integrating with spdlog - -If you want to make your bot use spdlog, like aegis does, you can attach it to the on_log event. You can do this as follows: - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include -#include -#include -#include -#include -#include -#include - -int main(int argc, char const *argv[]) -{ - dpp::cluster bot("token"); - - const std::string log_name = "mybot.log"; - - /* Set up spdlog logger */ - std::shared_ptr log; - spdlog::init_thread_pool(8192, 2); - std::vector sinks; - auto stdout_sink = std::make_shared(); - auto rotating = std::make_shared(log_name, 1024 * 1024 * 5, 10); - sinks.push_back(stdout_sink); - sinks.push_back(rotating); - log = std::make_shared("logs", sinks.begin(), sinks.end(), spdlog::thread_pool(), spdlog::async_overflow_policy::block); - spdlog::register_logger(log); - log->set_pattern("%^%Y-%m-%d %H:%M:%S.%e [%L] [th#%t]%$ : %v"); - log->set_level(spdlog::level::level_enum::debug); - - /* Integrate spdlog logger to D++ log events */ - bot.on_log([&bot, &log](const dpp::log_t & event) { - switch (event.severity) { - case dpp::ll_trace: - log->trace("{}", event.message); - break; - case dpp::ll_debug: - log->debug("{}", event.message); - break; - case dpp::ll_info: - log->info("{}", event.message); - break; - case dpp::ll_warning: - log->warn("{}", event.message); - break; - case dpp::ll_error: - log->error("{}", event.message); - break; - case dpp::ll_critical: - default: - log->critical("{}", event.message); - break; - } - }); - - /* Add the rest of your events */ - - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/vendor/DPP/docpages/example_programs/music_and_audio.md b/vendor/DPP/docpages/example_programs/music_and_audio.md deleted file mode 100644 index 5c222df1..00000000 --- a/vendor/DPP/docpages/example_programs/music_and_audio.md +++ /dev/null @@ -1,9 +0,0 @@ -\page music-and-audio Music and Audio - -If you want to make noise, or capture noise, you're in the right place. You'll find examples here for creating basic music bots, or recording voice, amongst other things. - -* \subpage soundboard "Creating a Sound Board" -* \subpage oggopus "Streaming Ogg Opus file" -* \subpage stream-mp3-discord-bot "Streaming MP3 files" -* \subpage record-user "Record yourself in a VC" -* \subpage joinvc "Join or switch to the voice channel of the user issuing a command" diff --git a/vendor/DPP/docpages/example_programs/music_and_audio/join_voice.md b/vendor/DPP/docpages/example_programs/music_and_audio/join_voice.md deleted file mode 100644 index 65d069a4..00000000 --- a/vendor/DPP/docpages/example_programs/music_and_audio/join_voice.md +++ /dev/null @@ -1,75 +0,0 @@ -\page joinvc Join or switch to the voice channel of the user issuing a command - -When a user issues a command you may want to join their voice channel, e.g. in a music bot. If you are already on the same voice channel, the bot should do nothing (but be ready to instantly play audio) and if the user is on a different voice channel, the bot should switch to it. If the user is on no voice channel at all, this should be considered an error. This example shows how to do this. - -\note Please be aware this example sends no audio, but indicates clearly in the comments where and how you should do so. - -~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include -#include -#include - -int main(int argc, char const *argv[]) -{ - /* Setup the bot */ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); // Privileged intent required to receive message content - - bot.on_log(dpp::utility::cout_logger()); - - /* Use the on_message_create event to look for commands */ - bot.on_message_create([&bot, robot, robot_size](const dpp::message_create_t & event) { - - std::stringstream ss(event.msg.content); - std::string command; - - ss >> command; - - /* Switch to or join the vc the user is on. Syntax: .join */ - if (command == ".join") { - dpp::guild * g = dpp::find_guild(event.msg.guild_id); - auto current_vc = event.from->get_voice(event.msg.guild_id); - bool join_vc = true; - /* Check if we are currently on any vc */ - if (current_vc) { - /* Find the channel id that the user is currently on */ - auto users_vc = g->voice_members.find(event.msg.author.id); - /* See if we currently share a channel with the user */ - if (users_vc != g->voice_members.end() && current_vc->channel_id == users_vc->second.channel_id) { - join_vc = false; - /* We are on this voice channel, at this point we can send any audio instantly to vc: - - * current_vc->send_audio_raw(...) - */ - } else { - /* We are on a different voice channel. Leave it, then join the new one - * by falling through to the join_vc branch below. - */ - event.from->disconnect_voice(event.msg.guild_id); - join_vc = true; - } - } - /* If we need to join a vc at all, join it here if join_vc == true */ - if (join_vc) { - if (!g->connect_member_voice(event.msg.author.id)) { - /* The user issuing the command is not on any voice channel, we can't do anything */ - bot.message_create(dpp::message(event.msg.channel_id, "You don't seem to be on a voice channel! :(")); - } else { - /* We are now connecting to a vc. Wait for on_voice_ready - * event, and then send the audio within that event: - * - * event.voice_client->send_audio_raw(...); - * - * NOTE: We can't instantly send audio, as we have to wait for - * the connection to the voice server to be established! - */ - } - } - } - }); - - /* Start bot */ - bot.start(dpp::st_wait); - return 0; -} - -~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/vendor/DPP/docpages/example_programs/music_and_audio/mp3.md b/vendor/DPP/docpages/example_programs/music_and_audio/mp3.md deleted file mode 100644 index 0c80cafe..00000000 --- a/vendor/DPP/docpages/example_programs/music_and_audio/mp3.md +++ /dev/null @@ -1,107 +0,0 @@ -\page stream-mp3-discord-bot Streaming MP3 files - -To stream MP3 files via D++ you need to link an additional dependency to your bot, namely `libmpg123`. It is relatively simple when linking this library to your bot to then decode audio to PCM and send it to the dpp::discord_voice_client::send_audio_raw function as shown below: - - -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -/* For an example we will hardcode a path to some awesome music here */ -#define MUSIC_FILE "/media/music/Rick Astley/Whenever You Need Somebody/Never Gonna Give You Up.mp3" - -int main(int argc, char const *argv[]) -{ - /* This will hold the decoded MP3. - * The D++ library expects PCM format, which are raw sound - * data, 2 channel stereo, 16 bit signed 48000Hz. - */ - std::vector pcmdata; - - mpg123_init(); - - int err = 0; - unsigned char* buffer; - size_t buffer_size, done; - int channels, encoding; - long rate; - - /* Note it is important to force the frequency to 48000 for Discord compatibility */ - mpg123_handle *mh = mpg123_new(NULL, &err); - mpg123_param(mh, MPG123_FORCE_RATE, 48000, 48000.0); - - /* Decode entire file into a vector. You could do this on the fly, but if you do that - * you may get timing issues if your CPU is busy at the time and you are streaming to - * a lot of channels/guilds. - */ - buffer_size = mpg123_outblock(mh); - buffer = new unsigned char[buffer_size]; - - /* Note: In a real world bot, this should have some error logging */ - mpg123_open(mh, MUSIC_FILE); - mpg123_getformat(mh, &rate, &channels, &encoding); - - unsigned int counter = 0; - for (int totalBytes = 0; mpg123_read(mh, buffer, buffer_size, &done) == MPG123_OK; ) { - for (auto i = 0; i < buffer_size; i++) { - pcmdata.push_back(buffer[i]); - } - counter += buffer_size; - totalBytes += done; - } - delete buffer; - mpg123_close(mh); - mpg123_delete(mh); - - /* Setup the bot */ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* Use the on_message_create event to look for commands */ - bot.on_message_create([&bot, &pcmdata](const dpp::message_create_t & event) { - std::stringstream ss(event.msg.content); - std::string command; - ss >> command; - - /* Tell the bot to join the discord voice channel the user is on. Syntax: .join */ - if (command == ".join") { - dpp::guild * g = dpp::find_guild(event.msg.guild_id); - if (!g->connect_member_voice(event.msg.author.id)) { - bot.message_create(dpp::message(event.msg.channel_id, "You don't seem to be on a voice channel! :(")); - } - } - - /* Tell the bot to play the mp3 file. Syntax: .mp3 */ - if (command == ".mp3") { - dpp::voiceconn* v = event.from->get_voice(event.msg.guild_id); - if (v && v->voiceclient && v->voiceclient->is_ready()) { - /* Stream the already decoded MP3 file. This passes the PCM data to the library to be encoded to OPUS */ - v->voiceclient->send_audio_raw((uint16_t*)pcmdata.data(), pcmdata.size()); - } - } - }); - - /* Start bot */ - bot.start(dpp::st_wait); - - /* Clean up */ - mpg123_exit(); - - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To compile this program you must remember to specify `libmpg123` alongside `libdpp` in the build command, for example: - -` g++ -std=c++17 -o musictest musictest.cpp -lmpg123 -ldpp` - diff --git a/vendor/DPP/docpages/example_programs/music_and_audio/oggopus.md b/vendor/DPP/docpages/example_programs/music_and_audio/oggopus.md deleted file mode 100644 index fd1228d7..00000000 --- a/vendor/DPP/docpages/example_programs/music_and_audio/oggopus.md +++ /dev/null @@ -1,268 +0,0 @@ -\page oggopus Streaming Ogg Opus file - -This example shows how to stream an Ogg Opus file to a voice channel. This example requires some additional dependencies, namely `libogg` and `opusfile`. - -~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include -#include -#include - -#include -#include -#include -#include -#include - -int main(int argc, char const *argv[]) -{ - /* Load an ogg opus file into memory. - * The bot expects opus packets to be 2 channel stereo, 48000Hz. - * - * You may use ffmpeg to encode songs to ogg opus: - * ffmpeg -i /path/to/song -c:a libopus -ar 48000 -ac 2 -vn -b:a 96K /path/to/opus.ogg - */ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* Use the on_message_create event to look for commands */ - bot.on_message_create([&bot](const dpp::message_create_t & event) { - std::stringstream ss(event.msg.content); - std::string command; - ss >> command; - - /* Tell the bot to join the discord voice channel the user is on. Syntax: .join */ - if (command == ".join") { - dpp::guild * g = dpp::find_guild(event.msg.guild_id); - if (!g->connect_member_voice(event.msg.author.id)) { - bot.message_create(dpp::message(event.msg.channel_id, "You don't seem to be on a voice channel! :(")); - } - } - - /* Tell the bot to play the sound file */ - if (command == ".play") { - dpp::voiceconn* v = event.from->get_voice(event.msg.guild_id); - if (v && v->voiceclient && v->voiceclient->is_ready()) { - ogg_sync_state oy; - ogg_stream_state os; - ogg_page og; - ogg_packet op; - OpusHead header; - char *buffer; - - FILE *fd; - - fd = fopen("/path/to/opus.ogg", "rb"); - - fseek(fd, 0L, SEEK_END); - size_t sz = ftell(fd); - rewind(fd); - - ogg_sync_init(&oy); - - int eos = 0; - int i; - - buffer = ogg_sync_buffer(&oy, sz); - fread(buffer, 1, sz, fd); - - ogg_sync_wrote(&oy, sz); - - /** - * We must first verify that the stream is indeed ogg opus - * by reading the header and parsing it - */ - if (ogg_sync_pageout(&oy, &og) != 1) - { - fprintf(stderr,"Does not appear to be ogg stream.\n"); - exit(1); - } - - ogg_stream_init(&os, ogg_page_serialno(&og)); - - if (ogg_stream_pagein(&os,&og) < 0) { - fprintf(stderr,"Error reading initial page of ogg stream.\n"); - exit(1); - } - - if (ogg_stream_packetout(&os,&op) != 1) - { - fprintf(stderr,"Error reading header packet of ogg stream.\n"); - exit(1); - } - - /* We must ensure that the ogg stream actually contains opus data */ - if (!(op.bytes > 8 && !memcmp("OpusHead", op.packet, 8))) - { - fprintf(stderr,"Not an ogg opus stream.\n"); - exit(1); - } - - /* Parse the header to get stream info */ - int err = opus_head_parse(&header, op.packet, op.bytes); - if (err) - { - fprintf(stderr,"Not a ogg opus stream\n"); - exit(1); - } - /* Now we ensure the encoding is correct for Discord */ - if (header.channel_count != 2 && header.input_sample_rate != 48000) - { - fprintf(stderr,"Wrong encoding for Discord, must be 48000Hz sample rate with 2 channels.\n"); - exit(1); - } - - /* Now loop though all the pages and send the packets to the vc */ - while (ogg_sync_pageout(&oy, &og) == 1){ - ogg_stream_init(&os, ogg_page_serialno(&og)); - - if(ogg_stream_pagein(&os,&og)<0){ - fprintf(stderr,"Error reading page of Ogg bitstream data.\n"); - exit(1); - } - - while (ogg_stream_packetout(&os,&op) != 0) - { - /* Read remaining headers */ - if (op.bytes > 8 && !memcmp("OpusHead", op.packet, 8)) - { - int err = opus_head_parse(&header, op.packet, op.bytes); - if (err) - { - fprintf(stderr,"Not a ogg opus stream\n"); - exit(1); - } - if (header.channel_count != 2 && header.input_sample_rate != 48000) - { - fprintf(stderr,"Wrong encoding for Discord, must be 48000Hz sample rate with 2 channels.\n"); - exit(1); - } - continue; - } - /* Skip the opus tags */ - if (op.bytes > 8 && !memcmp("OpusTags", op.packet, 8)) - continue; - - /* Send the audio */ - int samples = opus_packet_get_samples_per_frame(op.packet, 48000); - - v->voiceclient->send_audio_opus(op.packet, op.bytes, samples / 48); - } - } - - /* Cleanup */ - ogg_stream_clear(&os); - ogg_sync_clear(&oy); - } - } - }); - - /* Start bot */ - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can compile this example using the following command - - c++ /path/to/source.cc -ldpp -lopus -lopusfile -logg -I/usr/include/opus - -## Using `liboggz` - -You can use `liboggz` to stream an Ogg Opus file to discord voice channel. -`liboggz` provides higher level abstraction and useful APIs. Some API `liboggz` provide includes seeking and timestamp interpretation. -Read more on the [documentation](https://www.xiph.org/oggz/doc/). - -~~~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include -#include -#include - -#include -#include -#include -#include - -int main(int argc, char const *argv[]) -{ - /* Load an ogg opus file into memory. - * The bot expects opus packets to be 2 channel stereo, 48000Hz. - * - * You may use ffmpeg to encode songs to ogg opus: - * ffmpeg -i /path/to/song -c:a libopus -ar 48000 -ac 2 -vn -b:a 96K /path/to/opus.ogg - */ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* Use the on_message_create event to look for commands */ - bot.on_message_create([&bot](const dpp::message_create_t & event) { - std::stringstream ss(event.msg.content); - std::string command; - ss >> command; - - /* Tell the bot to join the discord voice channel the user is on. Syntax: .join */ - if (command == ".join") { - dpp::guild * g = dpp::find_guild(event.msg.guild_id); - if (!g->connect_member_voice(event.msg.author.id)) { - bot.message_create(dpp::message(event.msg.channel_id, "You don't seem to be on a voice channel! :(")); - } - } - - /* Tell the bot to play the sound file */ - if (command == ".play") { - dpp::voiceconn* v = event.from->get_voice(event.msg.guild_id); - if (v && v->voiceclient && v->voiceclient->is_ready()) { - // load the audio file with oggz - OGGZ *track_og = oggz_open("/path/to/opus.ogg", OGGZ_READ); - - if (track_og) { - // set read callback, this callback will be called on packets with the serialno, - // -1 means every packet will be handled with this callback - oggz_set_read_callback( - track_og, -1, - [](OGGZ *oggz, oggz_packet *packet, long serialno, - void *user_data) { - dpp::voiceconn *voiceconn = (dpp::voiceconn *)user_data; - - // send the audio - voiceconn->voiceclient->send_audio_opus(packet->op.packet, - packet->op.bytes); - - // make sure to always return 0 here, read more on oggz documentation - return 0; - }, - // this will be the value of void *user_data - (void *)v); - - // read loop - while (v && v->voiceclient && !v->voiceclient->terminating) { - // you can tweak this to whatever. Here I use BUFSIZ, defined in - // stdio.h as 8192 - static const constexpr long CHUNK_READ = BUFSIZ * 2; - - const long read_bytes = oggz_read(track_og, CHUNK_READ); - - // break on eof - if (!read_bytes) - break; - } - } else { - fprintf(stderr, "Error opening file\n"); - } - - // don't forget to free the memory - oggz_close(track_og); - } - } - }); - - /* Start bot */ - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~~~ - -You can compile this example using the following command - - c++ /path/to/source.cc -ldpp -loggz diff --git a/vendor/DPP/docpages/example_programs/music_and_audio/record_user.md b/vendor/DPP/docpages/example_programs/music_and_audio/record_user.md deleted file mode 100644 index bf37e151..00000000 --- a/vendor/DPP/docpages/example_programs/music_and_audio/record_user.md +++ /dev/null @@ -1,67 +0,0 @@ -\page record-user Record yourself in a VC - -DPP supports receiving audio. This examples show how to use it to record some user in a VC. - -\note Voice receiving by bots is not officially supported by the Discord API. We cannot guarantee that this feature will work in the future. - -~~~~~~~~~~{.cpp} -#include -#include -#include - -int main(int argc, char const *argv[]) -{ - /* Example to record a user in a VC - * - * Recording is output as './me.pcm' and you can play it via the soundboard example - * or use ffmpeg 'ffplay -f s16le -ar 48000 -ac 2 -i ./me.pcm' - */ - - /* Replace with the user's id you wish to record */ - dpp::snowflake user_id = 407877550216314882; - - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - FILE *fd; - fd = fopen("./me.pcm", "wb"); - - bot.on_log(dpp::utility::cout_logger()); - - /* Use the on_message_create event to look for commands */ - bot.on_message_create([&bot, &fd](const dpp::message_create_t & event) { - - std::stringstream ss(event.msg.content); - std::string command; - - ss >> command; - - /* Tell the bot to record */ - if (command == ".record") { - dpp::guild * g = dpp::find_guild(event.msg.guild_id); - if (!g->connect_member_voice(event.msg.author.id)) { - bot.message_create(dpp::message( - event.msg.channel_id, - "You don't seem to be on a voice channel! :(" - )); - } - } - - /* Tell the bot to stop recording */ - if (command == ".stop") { - event.from->disconnect_voice(event.msg.guild_id); - fclose(fd); - } - }); - - bot.on_voice_receive([&bot, &fd, &user_id](const dpp::voice_receive_t &event) { - if (event.user_id == user_id) { - fwrite((char *)event.audio, 1, event.audio_size, fd); - } - }); - - /* Start bot */ - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~ - diff --git a/vendor/DPP/docpages/example_programs/music_and_audio/soundboard.md b/vendor/DPP/docpages/example_programs/music_and_audio/soundboard.md deleted file mode 100644 index 624af153..00000000 --- a/vendor/DPP/docpages/example_programs/music_and_audio/soundboard.md +++ /dev/null @@ -1,68 +0,0 @@ -\page soundboard Creating a Sound Board - -This example script shows how to send a sound file to a voice channel. A few shortcuts are taken here, for more advanced techniques for connecting to a voice channel see the tutorial \ref joinvc - -~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include -#include -#include - -int main(int argc, char const *argv[]) -{ - /* Load a sound file called Robot.pcm into memory. - * The bot expects PCM format, which are raw sound data, - * 2 channel stereo, 16 bit signed 48000Hz. - * - * You can use audacity to export these from WAV or MP3 etc. - * - * If you wanted to send a more complicated format, you could - * use a separate library to decode that audio to PCM. For - * example purposes, a raw PCM will suffice. This PCM file can - * be found within the bot's github repo. - */ - uint8_t* robot = nullptr; - size_t robot_size = 0; - std::ifstream input ("../testdata/Robot.pcm", std::ios::in|std::ios::binary|std::ios::ate); - if (input.is_open()) { - robot_size = input.tellg(); - robot = new uint8_t[robot_size]; - input.seekg (0, std::ios::beg); - input.read ((char*)robot, robot_size); - input.close(); - } - - /* Setup the bot */ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); // Privileged intent required to receive message content - - bot.on_log(dpp::utility::cout_logger()); - - /* Use the on_message_create event to look for commands */ - bot.on_message_create([&bot, robot, robot_size](const dpp::message_create_t & event) { - - std::stringstream ss(event.msg.content); - std::string command; - - ss >> command; - - /* Tell the bot to join the discord voice channel the user is on. Syntax: .join */ - if (command == ".join") { - dpp::guild * g = dpp::find_guild(event.msg.guild_id); - if (!g->connect_member_voice(event.msg.author.id)) { - bot.message_create(dpp::message(event.msg.channel_id, "You don't seem to be on a voice channel! :(")); - } - } - - /* Tell the bot to play the sound file 'Robot.pcm'. Syntax: .robot */ - if (command == ".robot") { - dpp::voiceconn* v = event.from->get_voice(event.msg.guild_id); - if (v && v->voiceclient && v->voiceclient->is_ready()) { - v->voiceclient->send_audio_raw((uint16_t*)robot, robot_size); - } - } - }); - - /* Start bot */ - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/vendor/DPP/docpages/example_programs/the_basics.md b/vendor/DPP/docpages/example_programs/the_basics.md deleted file mode 100644 index c5c43097..00000000 --- a/vendor/DPP/docpages/example_programs/the_basics.md +++ /dev/null @@ -1,8 +0,0 @@ -\page the-basics The Basics - -These example programs are great to get started with simple things in the D++ library, ideal for beginners to the language or to the Discord API. - -* \subpage firstbot "Creating Your First Bot" -* \subpage embed-message "Sending Embeds" -* \subpage attach-file "Attaching a file" -* \subpage webhooks "Webhooks" diff --git a/vendor/DPP/docpages/example_programs/the_basics/attachments.md b/vendor/DPP/docpages/example_programs/the_basics/attachments.md deleted file mode 100644 index 31ca63d7..00000000 --- a/vendor/DPP/docpages/example_programs/the_basics/attachments.md +++ /dev/null @@ -1,112 +0,0 @@ -\page attach-file Attaching a file to a message - -Attached files must be locally stored. - -To attach a file to a message, you can upload a local image. - -D++ has this helper function to read a file: `dpp::utility::read_file`. - -An example program: - -@note Because these examples utilizes message content, they require the message content privileged intent. - -~~~~~~~~~~{.cpp} -#include - -int main() { - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* Message handler to look for a command called !file */ - bot.on_message_create([&bot](const dpp::message_create_t &event) { - if (event.msg.content == "!file") { - // create a message - dpp::message msg(event.msg.channel_id, "Hey there, i've got a new file!"); - - // attach the file to the message - msg.add_file("foobar.txt", dpp::utility::read_file("path_to_your_file.txt")); - - // send the message - bot.message_create(msg); - } - }); - - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~ - -Attachments via an url aren't possible. But there's a workaround for. You can download the file and then attach it to the message. - -To make requests, D++ also has a helper function: `dpp::cluster::request`. - -The following example program shows how to request a file and attach it to a message. - -~~~~~~~~~~{.cpp} -#include - -int main() { - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* Message handler to look for a command called !file */ - bot.on_message_create([&bot](const dpp::message_create_t &event) { - if (event.msg.content == "!file") { - // request an image - bot.request("https://dpp.dev/DPP-Logo.png", dpp::m_get, [&bot, channel_id = event.msg.channel_id](const dpp::http_request_completion_t & httpRequestCompletion) { - - // create a message - dpp::message msg(channel_id, "This is my new attachment:"); - - // attach the image on success - if (httpRequestCompletion.status == 200) { - msg.add_file("logo.png", httpRequestCompletion.body); - } - - // send the message - bot.message_create(msg); - }); - } - }); - - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~ - -Here's another example of how to add a local image to an embed. - -Upload the image in the same message as the embed and then reference it in the embed. - -~~~~~~~~~~{.cpp} -#include - -int main() { - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - bot.on_log(dpp::utility::cout_logger()); - - /* Message handler to look for a command called !file */ - bot.on_message_create([&bot](const dpp::message_create_t &event) { - if (event.msg.content == "!file") { - // create a message - dpp::message msg(event.msg.channel_id, ""); - - // attach the image to the message - msg.add_file("image.jpg", dpp::utility::read_file("path_to_your_image.jpg")); - - dpp::embed embed; - embed.set_image("attachment://image.jpg"); // reference to the attached file - msg.add_embed(embed); - - // send the message - bot.message_create(msg); - } - }); - - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~ diff --git a/vendor/DPP/docpages/example_programs/the_basics/embeds.md b/vendor/DPP/docpages/example_programs/the_basics/embeds.md deleted file mode 100644 index 837a5199..00000000 --- a/vendor/DPP/docpages/example_programs/the_basics/embeds.md +++ /dev/null @@ -1,56 +0,0 @@ -\page embed-message Sending Embeds - -You might have seen these special messages, often sent by bots. In this section, we will show how to create an embed. - -@note Because this example utilizes message content, it requires the message content privileged intent. - -~~~~~~~~~~{.cpp} -#include - -int main() { - /* Setup the bot */ - dpp::cluster bot("token", dpp::i_default_intents | dpp::i_message_content); - - /* Message handler to look for a command called !embed */ - bot.on_message_create([&bot](const dpp::message_create_t & event) { - if (event.msg.content == "!embed") { - - /* create the embed */ - dpp::embed embed = dpp::embed(). - set_color(dpp::colors::sti_blue). - set_title("Some name"). - set_url("https://dpp.dev/"). - set_author("Some name", "https://dpp.dev/", "https://dpp.dev/DPP-Logo.png"). - set_description("Some description here"). - set_thumbnail("https://dpp.dev/DPP-Logo.png"). - add_field( - "Regular field title", - "Some value here" - ). - add_field( - "Inline field title", - "Some value here", - true - ). - add_field( - "Inline field title", - "Some value here", - true - ). - set_image("https://dpp.dev/DPP-Logo.png"). - set_footer(dpp::embed_footer().set_text("Some footer text here").set_icon("https://dpp.dev/DPP-Logo.png")). - set_timestamp(time(0)); - - /* reply with the created embed */ - bot.message_create(dpp::message(event.msg.channel_id, embed).set_reference(event.msg.id)); - } - }); - - bot.start(dpp::st_wait); - return 0; -} -~~~~~~~~~~ - -The code will send the following message. - -\image html embed.png diff --git a/vendor/DPP/docpages/example_programs/the_basics/firstbot.md b/vendor/DPP/docpages/example_programs/the_basics/firstbot.md deleted file mode 100644 index 97e2dca5..00000000 --- a/vendor/DPP/docpages/example_programs/the_basics/firstbot.md +++ /dev/null @@ -1,244 +0,0 @@ -\page firstbot Creating Your First Bot - -In this example we will create a C++ version of the [discord.js](https://discord.js.org/#/) example program. - -The two programs can be seen side by side below: - - - - - - - - - -
D++Discord.js -
- - -~~~~~~~~~~~~~~~{.cpp} -#include - -const std::string BOT_TOKEN = "add your token here"; - -int main() { - dpp::cluster bot(BOT_TOKEN); - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_slashcommand([](const dpp::slashcommand_t& event) { - if (event.command.get_command_name() == "ping") { - event.reply("Pong!"); - } - }); - - bot.on_ready([&bot](const dpp::ready_t& event) { - if (dpp::run_once()) { - bot.global_command_create( - dpp::slashcommand("ping", "Ping pong!", bot.me.id) - ); - } - }); - - bot.start(dpp::st_wait); -} -~~~~~~~~~~~~~~~ - - - - - -~~~~~~~~~~~~~~~{.cpp} -let Discord = require('discord.js'); - - -let BOT_TOKEN = 'add your token here'; - - -let bot = new Discord.Client({ intents: [] }); - - -bot.on('interactionCreate', (interaction) => { - if (interaction.isCommand() && interaction.commandName === 'ping') { - interaction.reply({content: 'Pong!'}); - } -}); - - -bot.once('ready', async () => { - await client.commands.create({ - name: 'ping', - description: "Ping pong!" - }); -}); - - -bot.login(BOT_TOKEN);†-~~~~~~~~~~~~~~~ - - -
- -Let's break this program down step by step: - -### 1. Start with an empty C++ program - -Make sure to include the header file for the D++ library with the instruction \#include ``! - -~~~~~~~~~~~~~~{.cpp} -#include - -int main() { -} -~~~~~~~~~~~~~~ - -### 2. Create an instance of dpp::cluster - -To make use of the library you must create a dpp::cluster object. This object is the main object in your program like the `Discord.Client` object in Discord.js. - -You can instantiate this class as shown below. Remember to put your bot token in the constant! - -~~~~~~~~~~~~~~~{.cpp} -#include - -const std::string BOT_TOKEN = "add your token here"; - -int main() { - dpp::cluster bot(BOT_TOKEN); -} -~~~~~~~~~~~~~~~ - -### 3. Attach to an event - -To have a bot that does something, you should attach to some events. Let's start by attaching to the `on_ready` event (dpp::cluster::on_ready) which will notify your program when the bot is connected. In this event, we will register a slash -command called 'ping'. Note that we must wrap our registration of the command in a template called `dpp::run_once` which prevents it from being re-run -every time your bot does a full reconnection (e.g. if the connection fails). - -~~~~~~~~~~~~~~~~{.cpp} -#include - -const std::string BOT_TOKEN = "add your token here"; - -int main() { - dpp::cluster bot(BOT_TOKEN); - - bot.on_ready([&bot](const dpp::ready_t& event) { - if (dpp::run_once()) { - bot.global_command_create(dpp::slashcommand("ping", "Ping pong!", bot.me.id)); - } - }); -} -~~~~~~~~~~~~~~~~ - -### 4. Attach to another event to receive slash commands - -If you want to handle a slash command, you should also attach your program to the `on_slashcommand` event (dpp::cluster::on_slashcommand) which is basically the same as the Discord.js `interactionCreate` event. Lets add this to the program before the `on_ready` event: - -~~~~~~~~~~~~~~{.cpp} -#include - -const std::string BOT_TOKEN = "add your token here"; - -int main() { - dpp::cluster bot(BOT_TOKEN); - - bot.on_slashcommand([](const dpp::slashcommand_t& event) { - }); - - bot.on_ready([&bot](const dpp::ready_t& event) { - if (dpp::run_once()) { - bot.global_command_create(dpp::slashcommand("ping", "Ping pong!", bot.me.id)); - } - }); -} -~~~~~~~~~~~~~~ - -### 5 . Add some content to the events - -Attaching to an event is a good start, but to make a bot you should actually put some program code into the interaction event. We will add some code to the `on_slashcommand` to look for our slash command '/ping' and reply with `Pong!`: - -~~~~~~~~~~~~~~~~~~~~~~~{.cpp} -#include - -const std::string BOT_TOKEN = "add your token here"; - -int main() { - dpp::cluster bot(BOT_TOKEN); - - bot.on_slashcommand([](const dpp::slashcommand_t& event) { - if (event.command.get_command_name() == "ping") { - event.reply("Pong!"); - } - }); - - bot.on_ready([&bot](const dpp::ready_t& event) { - if (dpp::run_once()) { - bot.global_command_create(dpp::slashcommand("ping", "Ping pong!", bot.me.id)); - } - }); - -} -~~~~~~~~~~~~~~~~~~~~~~~ - -Let's break down the code in the `on_slashcommand` event so that we can discuss what it is doing: - -~~~~~~~~~~~~~~~~~~~~~~~{.cpp} - bot.on_slashcommand([](const dpp::slashcommand_t& event) { - if (event.command.get_command_name() == "ping") { - event.reply("Pong!"); - } - }); -~~~~~~~~~~~~~~~~~~~~~~~ - -This code is simply comparing the command name `event.command.get_command_name()` (dpp::interaction::get_command_name) against the value in a constant string value `"ping"`. If they match, then the `event.reply` method is called. - -The `event.reply` function (dpp::slashcommand_t::reply) replies to a slash command with a message. There are many ways to call this function to send embed messages, upload files, and more, but for this simple demonstration we will just send some message text. - -### 6. Add code to start the bot! - -To make the bot start, we must call the cluster::start method, e.g. in our program by using `bot.start(dpp::st_wait)`. - -We also add a line to tell the library to output all its log information to the console, `bot.on_log(dpp::utility::cout_logger());` - if you wanted to do something more advanced, you can replace this parameter with a lambda just like all other events. - -The parameter which we set to false indicates if the function should return once all shards are created. Passing `false` here tells the program you do not need to do anything once `bot.start` is called. - -~~~~~~~~~~~~~~{.cpp} -#include - -const std::string BOT_TOKEN = "add your token here"; - -int main() { - dpp::cluster bot(BOT_TOKEN); - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_slashcommand([](const dpp::slashcommand_t& event) { - if (event.command.get_command_name() == "ping") { - event.reply("Pong!"); - } - }); - - bot.on_ready([&bot](const dpp::ready_t& event) { - if (dpp::run_once()) { - bot.global_command_create(dpp::slashcommand("ping", "Ping pong!", bot.me.id)); - } - }); - - bot.start(dpp::st_wait); -} -~~~~~~~~~~~~~~ - -### 7. Compile and run your bot - -Compile your bot using `g++ -std=c++17 -o bot bot.cpp -ldpp` (if your .cpp file is called `bot.cpp`) and run it with `./bot`. - -### 8. Inviting your bot to your server - -When you invite your bot, you must use the `applications.commands` and `bots` scopes to ensure your bot can create guild slash commands. For example: - -`https://discord.com/oauth2/authorize?client_id=YOUR-BOTS-ID-HERE&scope=bot+applications.commands&permissions=BOT-PERMISSIONS-HERE` - -Replace `YOUR-BOTS-ID-HERE` with your bot's user ID, and `BOT-PERMISSIONS-HERE` with the permissions your bot requires. - -**Congratulations** - you now have a working bot written using the D++ library! - diff --git a/vendor/DPP/docpages/example_programs/the_basics/webhooks.md b/vendor/DPP/docpages/example_programs/the_basics/webhooks.md deleted file mode 100644 index 02e1c8c4..00000000 --- a/vendor/DPP/docpages/example_programs/the_basics/webhooks.md +++ /dev/null @@ -1,26 +0,0 @@ -\page webhooks Webhooks - -Webhooks are a simple way to post messages from other apps and websites into Discord. They allow getting automated messages and data updates sent to a text channel in your server. [Read more](https://support.discord.com/hc/en-us/articles/228383668) in this article about Webhooks. - -The following code shows how to send messages in a channel using a webhook. - -~~~~~~~~~~{.cpp} -#include - -int main() -{ - dpp::cluster bot(""); // normally, you put your bot token in here. But to just run a webhook its not required - - bot.on_log(dpp::utility::cout_logger()); - - /* construct a webhook object using the URL you got from Discord */ - dpp::webhook wh("https://discord.com/api/webhooks/833047646548133537/ntCHEYYIoHSLy_GOxPx6pmM0sUoLbP101ct-WI6F-S4beAV2vaIcl_Id5loAMyQwxqhE"); - - /* send a message with this webhook */ - bot.execute_webhook_sync(wh, dpp::message("Have a great time here :smile:")); - - return 0; -} -~~~~~~~~~~ - -The above is just a very simple example. You can also send embed messages. All you have to do is to add an embed to the message you want to send. If you want to, you can also send it into a thread. diff --git a/vendor/DPP/docpages/footer.html b/vendor/DPP/docpages/footer.html deleted file mode 100644 index bcd33470..00000000 --- a/vendor/DPP/docpages/footer.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/vendor/DPP/docpages/footer.template.html b/vendor/DPP/docpages/footer.template.html deleted file mode 100644 index ded134a1..00000000 --- a/vendor/DPP/docpages/footer.template.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - -
- - ###PREV### -
- - diff --git a/vendor/DPP/docpages/header.html b/vendor/DPP/docpages/header.html deleted file mode 100644 index 6da47a56..00000000 --- a/vendor/DPP/docpages/header.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - -$title - D++ - The lightweight C++ Discord API Library -$title - D++ - The lightweight C++ Discord API Library - - - -$treeview -$search -$mathjax - -$extrastylesheet - - -
- - -
- - - - - - - - - - - - - - - - - - - - - -
-
$projectname -  $projectnumber -
-
$projectbrief
-
-
$projectbrief
-
$searchbox
-
- - - diff --git a/vendor/DPP/docpages/header.template.html b/vendor/DPP/docpages/header.template.html deleted file mode 100644 index 548b77b7..00000000 --- a/vendor/DPP/docpages/header.template.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - - - - - - - - -$title - D++ - The lightweight C++ Discord API Library -$title - D++ - The lightweight C++ Discord API Library - - - -$treeview -$search -$mathjax - -$extrastylesheet - - -
- - -
- - - - - - - - - - - - - - - - - - - - - -
-
$projectname -  $projectnumber -
-
$projectbrief
-
-
$projectbrief
-
$searchbox
-
- - - diff --git a/vendor/DPP/docpages/images/DPP-Logo.png b/vendor/DPP/docpages/images/DPP-Logo.png deleted file mode 100644 index ac9fbd2cfc4e791b6c49c79322ccff7e2e313cb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9592 zcmeHMd0f=i77mIK2GGDm5fvdIg00k1R1g%H00lRkA{A{#ppN2JML|(qpb)@nt!S;| zM(sST^jWoTl!E)zwYZ?TVO2y0!HSMg+;HKYo10964sP}Ld;i#9 zR)z*!%G$^Xg0Sox5*S7hrX>2GYzm0Oz){=a$2e9oP(cuz7n(nbX$Eb_ks)CN2_mT@ zL8Pz*Q3p^;6+uju6U2>Zg798O5Vmov3P0%$9b=UP!h@Et%UhhY!P)hL`73|&^pEZv zk@@Lp&4|g{MkVbXpHeiDJvlk^?3Az1ckeT7(1<0`@xOhUR{T+qe#&UIZ@ya*bm34I3!nN~EjGIj1Q?VnjH& z_T0ZaBxP{1LrddgCY zo&%4(Zv|yPwl&!__4>GqdyXk**@urE{g;lYc1*GUcN)=eZu2H?v^V)9OVTNn9$-jE zwhAnqSc2g!3<3<9LfvpA`njWJ}2%y#bT{g;BxDoNMXWYU$_=Ij{8K#SFV5t~-ZX1m5xOsJJManigk%RNKN7SPP0 z^YjzlT#J=S6Dt2`=ftjWqs>vLO}H6Uexg0JT5DHNQy+aama<~b$jWmwgG#Sm%~{>i zidKD3`PSWaZ2L4ov+%4lyWUEBFv>)|pzbF~O;M(<}+Z4J54?3TE}VhG}3an7nH~ z!-Z_zyn%Wksetvc&Ok5?$JZeC7aieY7~}H1iiv%uHtG`(E?Qb9&b@VKoI1|E0TDdp zO*rYC2#y5n4QWhITjO`Uyxs-a8cL>VFT=m>_}|vYW<+tjK|1y9zPk| zl1!IpGcXHm7?)RuK+ua`aT^58<<_Vo}1H9E|VWvaHo z*~k3M!rvc#i2g3MhOR=+VC`VN!LpA~+(pnOizyV1;UMJ|mbn`=sFtYp7mYFn~WeWL(Ee<<~*-Jqm_W_m+}77N`1JIzJPwqevQIT2Kj|RgjldG7G1CneByp* zP#Lokm9jVlJg*p!lHL6z@_!x`3!6?8>f8M+UNicBy=;T9S%mZ6SWVj9(vowRc)S;NQ6|0vK?q;bMLMm+Rtd^0KNLm>{YY zsy$o$HDm}~zuCjZyNBObsatA?lPz$_FwSZS zf}2J{5NK*bO1U7=OcH`X3>-vd@aMt=h)K%RS9oo#1kM-XObJ{d!nqQ7y9ghYz&l0w zfdt+o!nVW3NVFpCDS`KiaD)UtAi{|f_^=4)O5h?9J}7~Yitu#_d|ZT0BgFtuh_I^! zJ|)5t68MY=CraRRBCM9c=S4VQ0$&i}>k_z3giS|?0hWufs|3C(!od=_LWE-_@O2SZ zOW+$KoG*cIityP>V_Ced#3bE{{22C5v~R3^a4AL)>n;Wfux;5eJ$%<*4+obG)Wi3( zRTroqjy+1OFY2>84z@Gxh9kS?lbQmwwP|Z_`OM|_z5y+E&(y>J^~n_ALA%H6;rl)r z0=#hd=X&_bc21MRzt{xUDld(WZ@j4wQ0up9e4)V`dyFB1ntHK$jwXM#v-4f$|Qe(VfG9w9Pw+x)EtfLg4DipIvX5kXK7Ll54oez9QFe zEiEZyC_0^9EaSV7{=d!;cq|Ym9~{7VR>RE-?-S@|g=e&tkYjWPb7?>~E4)nLW`(C4 zcLsCUR_@k?t~$WO7f|lDhOR9C+{hGk-$)5vakB=zCXGUutqvuM*NA)UR5aNQ4>K$J zMStt;@o^8gQk^IF&<3d^A;(phQ=tnUiSeW2oXqCZ-f$l`cmaU!wCH&+tma2}!62in z4cgdZ!RZQ)67p*rr@sa(gcRZ?s33*YSYh!kEa;6X+YC|!gYUzJyhd=ZhLJ!WK$Z@(JM8*jxl6Q-{7Cr-_$51@8t|sQ@xJ{jTap@(0XSL zR8hkb@Zq4@qR)&$w}vDPvR-ER5Bpx`Pw3-ayit>X+l7<#JQG#{%FH&yy?owY&+E&j z-l*5G@e){fQ0I{CIOay0uqve^dQOUOuHmH&8$Z|kMoqLEpdfv47y`E-6-UMUHQZdo za|@Aiw|H_=y0V#R{CIdDUTIOjfLeDsdg4uI=FlqiD!!%uRs2jkeDB_y@WLB9E|_V^ z=A&aV<9lk}<>-w(!v-;a!Y}V_8MoB5f=%4Z`?w^Ev26Ee+6;KD@5w%Zo`3>R=((Gr zb7R|hEy=+hiOkPm1r&I29dY{?o|>;VuJh_cmYW1T?7+&rvRwa$h!aVNsC1=K=AF7R z_5+7rI5SZO~^ zo^Q76SQk0XcDB*ZkN8&+x$v91U05SLTzlNIVCfZpsOJ(KrqPjGVs^~uoKD$_y zXL<&gK53idkOAK>3aE{boNaV2bEd(^kP}p>pQZcC`z4)0ysh@M?~oQzlKyiCM ze15WFj(>Y)#wV0^I+>d@=*(94Uw!>RVjP*~19eVP@QlOFP|E9$idl zAMeQ=GGn|VAI@fei@BbthR6VB|a&TL8TlPi{Cp>=DkiniJZ zlD$Texz%?LkMvk|(`vb^gT~b5@!GAuo<;obbII?VYRLV#al;uu3zdVub*NGem-tG=dkaVDUXg zz@aU%FbL==F2??*$N~WSKr^F+tQpyl&NkaLJ2okAReb#};Q%F$tr*M@|_9KSVcqx32E;9`0Q|!{wgd t9v0001!P)t-s0000Z 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/vendor/DPP/docpages/images/build-clion-project-structure.png b/vendor/DPP/docpages/images/build-clion-project-structure.png deleted file mode 100644 index 3bc0d5cba942da34f69f1e2ece7405154984d352..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19808 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 *Dm} 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 diff --git a/vendor/DPP/docpages/images/button.png b/vendor/DPP/docpages/images/button.png deleted file mode 100644 index ad1a40d98ca04e4be4eee16d2aabafb7d558a1a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8561 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 DfYR&d diff --git a/vendor/DPP/docpages/images/button_2.png b/vendor/DPP/docpages/images/button_2.png deleted file mode 100644 index 3947201153cd6d927406753970c62a2db81ab5d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10014 zcmb7qWl$VI(fUnlJv}`^=@{I-0#r2(1Voft+B*3JrFb&e#6;z; zo}L6m?3~TsE13HVN*lV_n^#R!a+3Y)-z=={ zr`Oj5gTq~2?8N-K`E_e7Jp#q0RZ~o*pZ@;#iC$f4M2JWzstb#|RxYirFNQ_L@k<2@ zs0NjP|7ZKTwyv3xtDlU#>IZ4q$obRG-J_L|E+3n>c*^ab)x9arx5!Ps_e>?%j%%6eZi*5_TG%*FMME@7w2^{HYx zO`9wyH7#XT9$lHx;U}*z7X?$_KD4jD4P4bq8Y*mWh)&Gl)rpoj@`f3}8R8DOQaT}q znoD<2%LmugIX~^Kj9b>e;ZzKp8|sDV$nb`(az&<(W?O$vG7t+JIj;q2s(ea*r1{3UkZiQw|Sq{eQ`gy!{yn%45@xiUA$obL84_r;Bk z;gNAKIjP4#hnU%)!Hzzu-sS{Orf18CpO-dy(#D!vO0}(Wczpc_LlsPf#ed#DCHJls zHxG^GH!;3@mp*&{baGbIblf<(j;w0av+`uou?(}&%KE&=Yu=$5Qk4}SSJ^v*Ro0eV z+T2v~kw-z|_S@mv-lAFFI8Q>kzE7r@X$m0EN!*XU6aDQhE{%^{U;a*{RA&V9*crza?0m^ybNP_bdhq1&=?5aa zdU?7zE5?65!(@Ex&ob)hY-Zr`sNcxDXKAR;+drgn{Da^Aj z1x?Ek4eiy6f;8;C&+5si=W6e*NIwKGc_p1S$80$}CCXr}CM^L9^ zY<9swPh1(K2dcF4HC(ne2?@=u3+?%~m!p*{*w5ctf18-q??XB+3*3-Zy_r|032`4hNfL`;4FHR~7j~=!={i(Zs)h|8~8!r7s?EL3_eN zJkUjP)3zg&s0bC-aYpCThxS9>%p+$-s3b&J42tF!=3f>khNg=!lIRt@Aro~U3Z`bu zkt#eB?G|JF!eG&CiTWdZS2I&q2ptWvzVetU%LY=|*a#mpWj`cQ^Dy829elVAJR%=e zjBfo{0ec3Ey;BBr^^Q=&#n(kKcX7{SIWGt3H^vF=XrS* zEJGa^4t{0DIX+u65oS2Rk`%}{S6Dk`mShG1i4Rh|!W}L4AK5C$ z+y4IJGd%P+`~}9FOwx4>dNd#ermRPpIzowg>H3V5(fNE_O80~XHwIxe#adQ+@`>WP zSLP;yavuRsjNtanRQckm#?fOnS~zsAy0NcTd2eSe1d$zM-Z`z~~^pyc~dAE6Q3vf7wp z;jGe!L8@8>R8?~-Y#(*~{1RR}_?7fu+YYYa^m3u*{L+wsjW6d%0SqiLB!kkr6nYTVtIw=KA!itpUYMc5y zA1YeQtcU(Qd(hqp7#f%YtNj3KMjEWUZ$zF$bpVWtfDjRjJwP4Of@4`FEml+hDjD-4 z8n!>23nIo!Ifj~=8q(h2YdG#p(XNVzaEP^YVGC-W3D@7*O z5jUgxCiw+xSYzY7lE6DhmWENF$pdZb*aSAsbIK>|;bVBAmcj&!&DZH*2X`;h^5cn-j{#y4|FdCZ!xGMTDgXyc{fo zje*RUgqXLAXm@CBlgtsJlw7Ob@j({>&!;d7VANpnC;7(^SQ#Xd5{Vj`A%}!9qk$yf z10Z2YSQI)6Ds6>?;r!poh-nZ+TxpK1e~3i7>1GwWueyX!Bwc;8jJ(J`3sIMEx><(e zz`EYz{NW^O32T0&*}OisK=5pY3y@SUpLcvjk&Ff6bxN+ie1vwFytRlHQyCG)zpqa)*x95T@a6xLppIbU&`g9mC zTbcch3W<-{4<%05`4-W%&ehd?$y`-E%k?#(o%gV5=Z^HAU2zkE7{$!Gzo>3|B*hiW1VtG&Z zmgFXMHT533bTH4K!)f6k)3!V$e+<0NIx99WoA(by{Z)p8du*oH&Om+%YD4kKl4Fs6 zWt+k0bE##mc$Z(42=@S-=6W46_7jSWQmT$MOHHsmmIw^Eb2OWu#ftuxMo38i-{T|y z>KBOarA`j(@$y(Zm-xaE+t(wQLW4cHEqNexyxGQ&{>#vcpL%YO9)o}P0&?X!HnL#Y zct0!w(Ka40wbG4Z7cA7AS1DZg$(PZyx+xY!5%(TV;`1#0%mJq^nmaYle0Y^+!G@cT zyRns{uj~r-G)rr`ja3$WZkrD3A+K9H=9|MkC6|uLI(g>I`ha*5)C)E}+_=0hT6aI> zY-!{$py02aMLW&B!%nC9PJDv7nOmdCU77m!iYI!quIa_$hvE_;`I_)~&)er2jfeIA zfWFt|h4aYozN$j$v443Po1t8XRkB0YpU~_#j%5IDjOFfxR~q8VW~LfVD&9!SWP5sIf-mZtu|)ZQQZtrdb_TL6{I-7jiuh@GbEV3a^V~+S>b;$3sM}5JqAXR@SJm4H-*<4hu#+domPy672@UY;jrviK+UZs)( zPFmu@Uh*SBaCCjYFn;Z%0M&xvUO>(y~EZ1^_fi&1%G z-?=#?S!s=V*^fz=7f8N{i6jPvN`>mF1slqbK0`FJSVW7&et7k$L@93(P@`&%;v%6e zMO7%aiD2> z<9s26%Ws{b(g4w0^&^Ld;mZeV9zH7>Ik{mn25F3B>D_ZWf!D(AV`6<{-VeoldO-B) zfr@|8(xykikWBsq8Ol=z=EdLES$<59PJw9vJCquhy;`_Oj_6bKl`*qy9eCPc&-JST zYeTQE0m*L4fVI&{M%8|i3jCC+z3Jij2)T0H|9Ebic}RGYIbjw)2X$tT8%(3zB_zZV zTSx=2FDL*MMyFF@8P$}x5~t$?{j+!EP8{u!fk3Cz8{V&(yJE3*G%5~hw0&0cgOb_) zi0@EA^PV8Bt(~CRZ1%%3)ihjVV?K=tMhE;|Y(P+qc@A=cXZ=UZ=Q)YfzT8>ctCBlU{lyvVQDHl$}A ztXi}0nG_YmER#-_eAn=qzR&6YXjkS!99kuO0n(YDr)1(6iL}A))wNcC&io6f^qzL9 zcJ`~AzZrf)7|XnuGXcDDk=S3@{FlM*0So~>qvVH&C*Z@8#F;OXd?{7Dc59*(n6#yM zJVg5YIt-bX05T2)An@xkblH`Y8LHMw{pRuTCWX08zEt5R9*5Rg3mk5|;;qgQX!D=5 zzA6PdJ=zQYB?n-shSgVU)P%Fhlz%qcmnT>tH8ImE)66&3!+r7)fsn47mb+pS>!wp! zvb1;KW&L8ap)IXV*6}E#kU0Z8c?MQg>_oNBnYuXS^}Gw3p~ANm{yTgBPPrKrEs0xN z_}7;AcdGW~Yn{Csg3AD{S9ql_RZmJcJ{XMsHoIHu`T96D{`+Dryb^M8w}kCig;;KE zv`E6N#YV_R5`g8D2dh3ny%BR_jo5l#(UiiCWj?2DyttneLi~^ zz-|=%2d)9MT`zfXUWD4^k}=w%%+8dCTcYdEov9YwgxA+Ua>K zb)d1B94`R$vh;$kAK)eQap~R+KmNS$mqzb~J<2Cuhe9=17qwK$dh<39){=G-B!#6ZSi;7plTKD z%<|{bH<{9vS5$Ai)Ed-f0~9f5omp!zz)2^x(ATrxG*Jx0Ju(;0N4;#fC(;i#(VxutSC0!OOPhaiOKg+U(xR z1;VpGmd81d94jK3f&PTRIpd#z6;!J&hhK9%QTX<#e7l9+xu)`#=tX^Mj==k{W+^!$^)mZz46Ei(uXe*xNWaaP7Mxh=Mq=5s$oOl4eYx(2Rxd^5h? zy1o;A+Y(F7C2uvgBN{wCpOg3xpa1d<3icb7peUwMr$NugC7V&-r$`u8qL;P24C&4TU zDM&^C4bp(*e>n2L8nXYcDEyzvKYSeVNaqVae48?iwn0VM6q>vs!qmTvzxuT$mC@>U(gMa~uED4D)ED6mx zMxdepQq%_^9S}ev{ks9C%hQWPr~kj%h#4S6>?EkKb}J4{3Lb|p z6j3bfe{h!9O|V))kFY) zMXB>m)X`sDZMFtLkvDV9jBE81Ynyr5+4 zNp6iVT0j8E)vqrE!fqP z*uPkMhkYb|`H8ByxtA5K{xn4|<_yE6W-$cGTi7dw!kow=NnLCpS8+Ro<4uuCCFiLu z_UVWZh=>Q~tDDtKv|}n8;z{TL&r6oSGy_nbx_;v4N>KD9CK>YtQ&jF`6fCFdEaEm&><-Y7mnN&4C)Dh_`tT6i#KrK-k zO`N?#OUloTTHiX^?v4|HLze^#npjqjmwVvFSSruVl01VwB0C!Wm`Hk&ANU9TO}R+q z5zUybHm~&f_jEq8n+_E`fnGO%5TnEt*#dHDWnZdp%Nln0%n~PdQNT%rcK6T*BbA%K zRMUc9zvrs`!-CJJ$|5tqg=by&!F7 zXofRn%a!ZS+bcLX*4KQ-oL-Yh4=G^A#x0T+18iGwg(7ixA;YL{;pjPw00 zyEqqd)FSeOX78&aEUaWMRmiToH`%5$;c@;B-5#?1jMVxN_*xj=y5s3XWKUS$?k;~6 zW<@NWg>_s6XYi4Yg3m}i)IRc$V1*d6;(twGZjZEk6?4m~9W80wu$c1^@aLV&x1S4v zPcK{~tU1{}Z#WY=E>|S1K;r`of*xm~4*h1fBz;iRPqAO+3gh2~g9paprpnesg~1?q z=t+I+p{KS~0<-x`qD9u%ba!iZ<10lN72Tf-8+C5&`jC!w;gUGs{prTI;j`vu4;2{sr%8dj$lc zW z7fhUlzMgV4*4hnvJcn|moFy3`7k6~yn(2w)JPoCst-kF(_W8vEz@)TGTv1@J5JJ}5 z%(A|ykOHvMamBnXzknRT1v{i+NboLHb9BFoKN{`)YSPWvc`FVc*k-)Mx-V z8_@dFC_B>&9z#aGIko%L=*F1=BdWP7aNq^T&Hy#sIL&KKl@L*V7!=ad&;FGW5ZAvt z6IVOdWKR624#4fbfmGm`;%;qQ18AXie?bqNDS4vzI{<>-YtRJ(DPsav={{55L!unq zT^hj_?s%F0i87^>=M}8PS{8a~%ZX=yX^&0>tJ`!0Xuei z1b~N;V-`wE zTIPy4a60wPR~aGRvq+sX$3p`mDZn3^di?sVr1qfqHT1iQGZbm96YwB0j5-QSmsaDf zr@N`JGwa38124v?ZNT2N{2!m67+*K|$ZE!KU18ajt9g546_J7lzSXQMJD&xd)K z1KTT6iM7i2<-#Z`o65mM$d=SJuuc$uMD!yKPo{d`+NTNfD~mFxz?jq@c6-1U|L(mN zttYLy#Z9^cd_UP?H_MgQd1oLt^nxvfFCLCMO@~;3`u-{=<_Yt+?Te(1x5F@?bATP4rw+ z7vC}oLp<#nS-mQzTFLv+>On_RAo0?0wSwy43qbs?8594ckh5`wKsh6on1Up5_O+b> zJe}vpmW^NjYVqRaj@m-p43ypKyEvzmdHKfQ^^}-bR{SASS~I*_9or4m_-XhZ?Vjm zH`r|{BzcU)-rVfP{E6(1fC+?i*oL%oSLCdmtembclTpwsz~3uRDw8QsLU-ASLZul% z-`-hYF%7NegGZ~1hUlX#=&xmEED=?1zXwg#)FjltHML-}PyRGRVV%x_YzR+$tRbnt z%~5fV>5(Hy93=iMacV6_UUBTK{s2_YtzN*At8!F%hrmHilPJ!kllP4N zzrb9(uFAzQx^rai{t7$E7lmzoCblK)PhXWJ=MQaosfUtwSOUT_5#>!*R4YPR1siG( z;|EQO)}jzO4l<%|P>%N48Ump}WvZs628bUbRCwAbx2pTc;uX55y5>p-3l`-v;rBc< zcr}1XT$UpWy#D{yJ0-!Mn!N$lc9`lff99T0E3P_WiSqC{r|qJM34aW}3ula!Bt$=! znHI$SYCNEc&!`;*KBSHG(d&`O2zsVUDmD7Lk z^UF(;F`Enpu#=47lP?0zR(;@;C*f*@L7bATv8Y2}i)Y64^(_w3CUh+<=tH&Uk~>6V zh^qdPxPEN>izD07u83J{$1dW&WG3$k)f%k6U{Fh3{J3I?dE$B)+R{dduF~%lKH5hQ zNo$nzF1A;?!G6&GQHa*N*JGIWganKrF8g=G5wI?JyC8eeEART2;c+@+ohDdtst6M@ zC4F3vK}E`U3n5jN^sJPLOyRKvHcpG^zLa}@StV%3Wy`3RS3~m}p0*Xe!yVPxjH09$ zBkhUdWs(NKpkIl#E5clevj6qM(prSGW>;UhI3xtR9fws0E< zuUYJOcuo8byFErD1y+3nc$|?~U zYT45NJ35wKi(B*xSYL^_$@geBM#vKOmEN70}d|L4^2FE~c< zl1sc>oz_)oqoSJqUgEm)(C}lyg5F4?+i zYVY8@`oQXFa!J|@iGC`^C$5;o%lIM# zkWqcf?#`!nyPhKD0dQj~{cwv*)MZBw@{b?r-gcA7r1g7A4U6x z+iuyfPPVOpO9VQc9yLUA{sC;GG|gBPESxgH7yn* zF+)T{87Vg&Cm9wVC*rw1JUu=(H#jIF7ZDR9Qg}fsHbo&45EL38Ga(h3nww>2W>;8R zBQHHWDK5R5CRg zUQ0N6UQIDACqO9`P)I*ObVR?ukYQ9yg@lHytf@~zH7-yvRZ>PrS0z<+HELEsnxCmH zNo+}2VS;K8(Yb-TJCBekc zdXuc9ie`tKsE>$sNPKP4ehe?qdE zDU^^c* zc3Vh{#6@>Du*B3zYi=A&Ongv19#)q+j9i$Nd8A)Dk3ug}oYAzWZm5e*Zn)lfr>~#6 z)4QmK9y@%rpJ2ncs8epDZ8;%pkcXF2F+^LFaZ_3}jC6O7d0BpYd|x|jfp08+yna|I zMm}O}c%?^)o!{Ty)ySqhjA{MCpb}NlNT<005(?Nkl&@<7P@~4*j9do-6+$YKH}oz$ z{_NJ9H)q2=!!#4bAsMJ5>6!_Ex|B;DLxrm7ax%&Dp@L?};lm+HA_h`6Wl7KuansCv zzLarw1-?K^xTdL9CB`mPFo_&KpAb!}AQ(*I@TVDLnqwhKFMVu3b8i1J=FEoSqoCga z_-V$?s!aL~f`;MAXt~~F%lnZI8i({7@~M%`-~r)-of?yWz-`wcLRA2p8R1ez@{7;v zh2y(#MkVix5eZ}!xsn`p!(+sc$r`o0#&IrOP9Th2kmat_f_Pj4MOG{vi-RPK7jZda zsm640QBo4Yk^(UWB73T+i3~}WtG*)4oLEe>s))p4=N5iR(xNp*EGu$M?h2|DkINwP z)}@gOpU7YpQkG~)N+UTgQgcCJ+2jS;Wk9Lv;Ite{A}|&Ztd5$ANF>K zpXT8Dip1xO(1@H#5OSjkaFgLJYZgkMLRK$?5A@ED$6G34OO8XQ#>KJ}lZg%OVKAyX z+<}maH< z8xJ^#yH&#WHuqiKI;ue*CFbJ>lqE0iE38oWjGv*d6Ov!+zF-FY98&#+%Hh1PaB6jN z%+&he@VLocO>ObenPtiM7W)j`+G@^%aXps>dyB)44s?bN5&pLhXqevAGIUPg14Hx2 z#{`E*L8ryV3P2r6L%U=diV7Rv$?Kmzd)5fml4H&SWVItY$ zIgJGlrXF%^_z0nS(YUpv0O${7}->T3UQLw5DQo`gS0UGCBs?E zQ;5S{(MVKsow+%TsfGfdWm%fJ$TC^hOrszoxz3po9DAl%4VV^S1v-E|@7}GS4Er9e zY?)2b)>5v8Pm=19b!JInYvC>T+MYr~zwD^8z zh3neZGv56{5BM1>lJ_+d{h?t=^Va6e#eD0~z4!ZFpRt2e%-aD`7=mAZZ#{v>hCK9KpUiOnIUfQH58UihZPdsW4JS9*q+Z zF@ypUPs7`}LVU?U7M7C8h@9jm%Y2X=={gD$``&Zo8da(!I9?KgqrcV`1O*2`d0rk6v~3a`Ebf9c9Vg z>+Droa_IG_^kV0oQqz(vvqzmTF4=PZRAb>3T)HR0I=rG0(@E0W<(#1n@JG=MEt%Ak z(l;cxp`qkj*oW(igVNY?4G1NtgLO(BZexddTBwrc3OiF~ zf_m5+oN$1v*A<@x$l(skW}}ju zOc?EI*s7KsdjWI4xUP8E)omo&CYA&pK;wgVoBIpNw=6BWGyB;O&a@pqk!H4@FSZok z7SazYw_Fjhm>-AUCr%03wom?eT{(GRRW5g+?a7DhO1{U>OWw0GJIjmG<>HuQZCgt% z>_zEVp)C2;GtPt;E7z>I+lC@LU%a;M!H!*}Q81r%X*rqSY)^R6n&w;D&I}#^ofa3l z0-XMev%exUc(0k`gBjb1<>A6bqw2g&jla<~7B z<-yq1WXlOcZa-#Z(x)5lYC@(#1R;6+Alad9CCyD2PQmIPyH3GRa#oz=A8FdP2sSqF zBInj^ACXIJr(2da1Ju*e^Xlost7Q3{7GgE8o;Qq+o(cf->FCMzCq~a(w|(@LscXoH z70_u(P$HmNXa~iz#c0rExDza1Jmz%HIgP<*BpK&SgD6D84JG*|34SU0QYZflV24ssx@*-+l*WJk zAD)H_zn6vulK~p1^oJUMirRZuYWxS(B(L$$QLKhNJSxdf8nD+7F*|4`JgZ0bk( zD{GcZ{T)d|$)#@+>)g~Siui1A2&wzl5F-6DemvD*S+he*)kz)6_ayJ!A9c#lP?NmV zlzPw38OJ1A#&P_8rhw>rQ(z2azA6Gv*iGzBW5AX=A?ciKug!tBly)1Z;zH-fF=S~Z zu?5`jWS5(UU6}3sC*?>h%FVjm+Pw0%+O__um1S+`S~XAYc7OD|uXsRsZ&+8m%I}LW z4?pzxd*J=>_4o3ie=p?!dM7`I9DrlU>2&Pm$B^F_rH-Ba*vapwn*Tw_)3?k^YB)K9 zN=E+lMu|27;}~*M|2N24Ip7Go&z+o&Fp%6VoxGHncdsB9@!5b@*;ByhgL^Ofnl#7s zUYFvP0^gKN2OXbro7gVN9B@` z+ULS?8-i%p@V?Az4ZE>II7i>Y6GM;FqkKSRKZ- z%UL*i^ZPp<56UBlCAIQIkUu*^4>m7km^A$!@~IV=igCw*MQ+mwa~rP`OU_D<3f%IF z(=)&>1=&ax>WW=YM=)fLn~(m&x_Rri>$WPpn(-}sC_OT3UbEeKCe)pO0Qt(wN-s59 zA6FV|U|_uN>cYZU%Z-JF4gV#!eFG%5yjKhWYQfQ*ay9GjkW&Zp1Ro@250H;4W)8Oj zN;#ljqY#5TIb6e-F>V7RSwhY`1>H(l^JL+ZSca3si^p5kVfS&JzTQP_;_PgDXe>?$ zi(G`D7^ypL6)M%%n$y>V-cIL?w)V-I>PE-5#ngyz&8d(qJMiW;gn;7X@-QC^Y z8`>YI9J!ihPtVTta9Gm-dV5d%8rrvUZdZSkq8;OPMcB?7!tvnBkeE(K2uaf$a#8ZSz|b&nrc-rrP)FL&W96k>~%Vynp&{+zBqo< zTUE3^x^?v@!1?*Y+1_d^P*z{rhg@CBRpT^}f4kDS^lr~5HE;+g+Bu-G+5@^?MOVyR zAvIE#UJKCLY8EIL{t3vDygbQ1WZj)3_(8e&8f0&YMSS^WHOmF(HOy*Q@aBvXAeZB%BZ{q zA3_e426>%lAM&sv;+#~d-415q{P@$1o+iZ?{!PWn$T!~5=4)w;k9@id^;|mSIui1M zr5ym2eg{ky-EY&f6MKwZ?XoxvyQ6!^j}sx^ zwD%Nd3@+;7BZ~!AC&jHcTFAE!%G(FUV*lc-mnt?Lm}t^B!7DA{p4>JtPtQ2L;*(pg z;~{T}21a1b=R96xngow~a7dCZuF?fmY7u7oua=Q}QhurXNfQ0-axUqTDTOrp? zzwxCCOue!3&EC1aUqAKDQ;@4`yEV1+kk>4|x%9~s^K8V!ShKT~#*%0n1 zjLIS8*K**FP(jEM#7X#njfEiOa&4=6*a;!G`?7cPkyd#A(A@?{`;bSftIt+{dz=?Et&dMQSZg+qmo$i-TQMUnYPhPrA{^o=O3i7Xgm8V*2`~m-0{K8c)OW+T1rinAwx-&zJG&$ec-QAQ^ z!}PPooyWjF@&VsDD<^1;UFQTtzFvpRTi_yMW@FGCkCb;+HB4U;ahE1LSv?M^ zXM8n~H$6jBQ+MMQl!|;H^Vjo~YI*Zo{|k2@e{W*YP4tqGJI8`EoHf{!m(=$AdgmbI zp0U_-d=e%HtQi_+*KE^54%JMZBpyKCX&>E#kn^6|xH*o2o)<4HJYBgx`olitm!11g zUQu3NN$2D`@<7%kd^b45>-X9Nt7CkWnpZL9kn@A;|>yXG&qO`$Bc2a+oFy%;TE%V5?8m;pP7m3 zln?CZ?6;_Y3R%?V^#tTzio1SGD+M{>vfwy$a$ZnxQA5b{UBfVP+DsP1`=&27<82`e z9&S=wY^#%MFKwf&n{v4t5X$3P)#h1?x-U`8HON|nkcTb!`E3aKr2>y|o4*4_nkQ z0wM2#5!e>k;XFgn8Rxg~P7f{Qpw9Uy*oS;$qN$Vf?B3KHqodx=o1+VxSHH`7X7lRe z0txwo?b*>6NyziWD7Olg<$6vZr?Mg9*0?4Z^}Ib_}^y@UAv4*cPYr?9A?M9{z&2pAke zhme5^g#G|mT5__BTYSXDARSu7!T4xi2b-m10T#-O4S^g?gbJt5x1ssYfUpA`qPwI* zF`W=a_$`11_${Iiz`{fwFw&vx0PJEND$L1eVSt6eNNGzVQa}|e<`nB#CJ>?prDzd2C`MlCSZq|tf)Tz7PN@SUYXTTycYsnD5t0#+5H02x02Twzw3xnB zY2unA)u90Jq&gv&ivc5-TO?4yn?g*889Q`v#}yPEbuoy8cCaB1a0)0|%p&JSMg_P= zp@0|50pyZ%IHh4EE66z{jqipj3%~ES2fxIWi_xePQCE zWT2N0J;+$$2dUqh*d2Ab=pb1J;^{AlBYZ%s0Dk5D^<{lV`Y8V&hFpih9UJ+7L;fd} z?&O8AUt&_KuOjcr%E{9MNwAZVEPXsPGe}4Lcgc=Fpmm^Q$mx_0Imkf;5bz5N1d}Pw zfk9d)KMYln2`JpM_wi)rOefDscKlJ>106$7t8~Z#Qo&^EpWXckS~=O*XE-^nlAtGt zSs6Kf#$@SZC%+$R{;MHxVL*}H%IhTLOcL@;C#T)+cE(AsED|O%WjZ+{@1805o+@Rqf=JIj&&jsPqA_=4w`jfViMTL5>7eUG5r<7UQ}+x(A%L0u+#XhMWUy>Ps_FkACT3A%DJZGQJIzMmBWTjj%@mH8>E93EUzR16I0^&X2Bsl4yLw z`N;B=ZRM3vo9mTl^4v9cjMSo?bfLVL7uLjtzR(&)CXO|~Qh?k#(cg~-$3ppT+emZM zkVB_!DHHgQUy6qwi$8NA9`8dv`PuxtNpm|Ofh+zx2-65$X8d z@s}@o<1bs|-gr+P5OgD}3MW6o(l=oqMWE*(Z+@+$8-C&uFZo^l zD~~WMtaD;+C^pL6xEtqo%Jmo!IA{~i*!0H{O#bReiE9x?@I?oZYx)a4>&kiS$}nJ6 zg#2v5$=m1w*89)?PzdWGsKOmfIuh;v01EQ1dzc!KcXOTfeXiaX+ ztq`%@Q}4N-Wnop11<2*8z!~!>Vwa1k8=sgkeB^89dXp=Ugs)}8?T;|NTAl2<&|pLE zY@(aG=jIpOX=z%H!0~0RR!r7A~S@<6WsZv^HmYgtO7zS2y0$pkS)WMCb z?LlR})k%d~Um`;n$ey~{i8n$sACOlst*rE|#c4VM1l`c8%E|e7af9WzJk+Zi0Dm^e zY3U=mVoVzI=FC!9gq?#RRf3jzg-SO;R*n2@dY6023Ivs&WXR3p_oPFKjTvV z*Cz6b-FF-5qYtqb-hmFKH`-74zot`N=zWx34j||T*Izj~zud@?%s-SS&x>&LS4rub zD7^#!M*Iu8agiWFf2qHA^1MV6zLOV27CyBl;;)iYluPf$zfmdZMG24#s-TlQJG~NC zfM?w$+;e~;$azj)3NfGB;)_4Cc#3~9KSn8acHt2%K~)JszECDyk>WC=QPvL*a&n0n zy^wN8@wFE#uERC_hwr4iS#f4_$8rR|^iPRN4(q0t5 z!$>m#`^T1mpyR9ZkV{)f`XR(+!?op{9FdN(f*33uIKlm0m_L@hu#&l@XG^bz`zP{# za+ioJIJvsReL&hE?!HALJX5YkrS`qV$MnEH$u?_-FzEBIPJ~r?+Yi>vYOx6*qWVBkBd4tGqd7TnRJJ!a|1iI zshl5g+)Q8A+0&T<@~TuqJQR(Y!@lK~-l1p`07cdTL+dGXIJE5e)fY|VA&*8Aa6JhG z9ZQvkTrKO)H_&5O2RJ!Y(eUV1$;n0F)IpGUela_zlW$In?U#e!<6lg+DM9B3oSAF7 zlD?9*e&6){Y-SuFi3ei|pv?})+Ak*0C9lSYV@vAk1@-h!UkZ(^CRejVSrH5QI%+ic zuWt)U$YZIpkjqDExn0dI2RXTdgh#K6P7WFmf_(Gx*5wW`KPjG1OXgbVTG0@4@*Lz} zd_MDia4VB(W8szfQcKd+B$gVE)eY|XcEr;ORn}3TO0=iiQ!TQ+)m>#4h`MW0xS~oq z;JIZXG(VQA7IMzX4+}ZgMZiPLWH^kI*PA>e4P`@e<=ks&@qA`uJO}xe^lV#aW@}bA zmzn$d%0}iga`IUnU?n!C5{6VL)*jnlU+|@TS%+^IsHd~*vGzqYvKo!<0L8^b4)X5k zp75aV@l;vJ>tziE+GUP|oLt4&2#EP9c(4dkW(Y7YBZWbTJB<*kFlb~L8xD~yuHrpbkO1%i&H%75@|9R~R%%kYT< zo!rZ4poyWOhW6kVT4SR8grC;HF52S3+_W1*>{4A$8KI#WOO4;})Iyvlpn)PV!sVxA z&On!fq6oLkg{f?eMn%y^L@gRp8EEwFqBMSrFuG{Biz2i&B;!U%`{^3o3R76?NN4!-)f(+)L58-$u)v z2GT(q{5FJvilLTr|{@F2;#$ z92DY}DdGz^ia%0_2Eg6{&!- zfJ&ut5(d&$7V;X5s$n5lbSVr9!{2mrVL!x8D?a2XA|I(M(tTi_-0LB1G7Ux0jMETc zP~=S;n1IuSx+Fm|P69%|3wJS$%M_rf8k~(^Oc>O9(R3%S@oO26hhf~51+gk)EN+IW z!60T~0wzBbkXb0iyo++9m0)sHHGUc6!q7B^QlK?O8b|}Jp|QW?5qHbY<9f2xB-h?9YqAKOdvHTZ;lWUKP-?daOUwG5=`HM9SziZ= z64&y|`U}#b#pN8faJ!C;%u`FEt7wG(4+!V4lZKM$C`3y~CO+gkw%l2TlauAMeF4Ts zTCwT z5ViNk^ycA+LvQZOJ+{(4yuRJ5@9mA4hfp370PUUxjhq*^qthpQBWSKU(sHsdQa8M~ z9mzw!(>DO4yFk#9h!6R_ZTb?ruj7g*P#VfZK0lY<8t=@Ep|XBv3uB8x*D9X#>C9Hs zTqbP=tW=B1W>d+ZPUQkwR2=X>m z)>oG=>sv2xY>czf1zcZt6w3N7g|fab)xt(BqM^O@aF#$FFt~?8^7RF9HHoIKCdK`! za4H&^Uc9(h|MmhGuHdmHFtRA5)sIFefB4}cjmC7~_P6W!DMa}jgLwHuyL~S6vur3^upj1#u4<36R z!pV=(Uv}X3JO9VUAgLsRj^+dqbX^L2u)$A~p1YG(;b_Iiy z>(|Labx!{H9k&5NH>rv#L{f1`C(nKTuP=$oPm+{OQZ3;~_Y08UyedNeq~UsTa-51k zi4>>tihnamty1(0PA;ev@7hEo$psz8$xBjn z<0MI5{rG<^<(ZI=zw^s4td|=rIk~h|J0w6Z=x|Oho$ArEe?7;blo^qb)oeE5J{}*ol2YY89(?%J`@n3UouUE7dTAP-plsnpDxfsf7 zYts@f1QC#oq$~(yfkBqQc!@wrfPfLl%J_ppc=07pMmAt&I^#gxocK02=UngwfBWt`X-T3nrz`_Q}V-Ba5A@!5C3JLBg zeMQJ57sToE*(7IKNs@b4LTM@l#KD$bNb>oS%{`g()|U3^#5QN&#e$i!EUVSgXmrF! zBgx6f-FTAR8Y;;(ls$$0k0(oD$u;r}Sf(ad)_DCT@STBzfp@MwK{kS_{!6 zY3gwgQ#xRioMk1F7wq58F=Vab$ZE#4L6e*j-OsQ_o2@ds9p#`mO(Dg}3rxK zhqF2NqH+{T?w{m~rUzN7E&55$32!2~bZ5CRaFTa^r~)7eAU-`wFbit|4{cjduK^zV z0YhsQm|IT)%Pmhp$y<@+1--dzbL)cL<0)VyTax6A=FyDu@RD3zqu(S9nB=mjJ`%yF zXtjwiKl*46=?=;(Enk$4pDZi8O*B}xreJWe>>AAV2mvm&us8nP`UH_&jbWPMjl}{8 zk>ms>5MTlb2q6;0tK%VBaF{J9MEa(*^7z0>Uho5wyv_WS;M0@fM*05vxBJgFZX0~t z5;u59!QlArvzAA$0f1p`3b5Sj1eUz1IxAJ5Oxg1!f}lwbn^R3DQ-3K^WGA0r3`^*; z+7?c3k6xB1|+Se{bqQo}S{n(FuYkxyo**k~dk9GJRut^RGWaCt{5{DVNuwhMz%BU*7^d~}CbD_>z@8p5<-_Uy-7ZJ{_RXZJ zKQS6%4rGN*PF6^k>0Kd$bRiNlnT)IEg4+Fz3kY6JJQ2ggV(tVCLwg}1gv}2XLr&{e zV7cW9G~&6Ve0Yb1&(D7G=Wafq!hMn>mL_?+9Z{6%m0XiL+#&38s7O;rYVmB{vGIB& z`K%+4j7m+*B~2vXWMz^(3L~ECOGC&Ne?XuSPbcTu{W=ulu8+&mUco^yamh$- z*odILk`wJs4IRR#`!xeiiCsNSTA$?oG+!H?B)5@PzLiPx$RrnF2w+()1Wa;jwgO3> z{n*c6Fp~Qx`O`+D(UAa1^8Gd!S-06p4^-`O94(Q~*Cu!+ub-xiED#My+Gf>9lH?DU z3Yinih5(k;LV%iF+B*Ibl z$yX0SBu9wEXfQ~R91oG?%w*dox-p91OfyTo15fPiVCuvihX~Dot1p`5JYl@P)W`><~NtbSE}4xWK=!`fUqCUWhGxlge$p! zk|Q_-godeGZbFjBCF#mz*m8yCA0&Ba^Yxy_`w+e-QJq(S(DJRIIe0 z+}=9Hb|J1F{8oPpH_4IYhY$NC?`s~es4JLhZrF=IIxR6(ieiQxJ9`qrK+)y9$MR+M zwwY7lAxVFuW+5hFrYs4p42q`N5zkeGpXA{txzcz16CXQTCUnwH~eL!yZ&ni5bpzFb1nifmdDexh?pYpR5- zh-mK08s-F7DC8nwSuLzM$#Xt9jA*;tm*i;HidXXCqUuyzzO=Wc6iM#XkP{8gnQPv1 zMNVN~e)hYq@Zhe+0COMer+({0;Brlfs zwIIofMpBZh1){BIPlu|~CwcFymhsn6JPw1ucO{ zW+9p?s7PlahJ^dcT@Vm+c2NQZXKV4&x2e&pn^T$>e?wiE01WFV3QLtW?0pzv@SjL> zfM@5tjzhuB$ev;_R5UkOtxd(6YO9epPN=GF+uNL)0VKJh+Guo3j`3+)pNuv+oh_%` zTeiDQp(ROlwm6%XL-?3zJ1I9VljJHYf-m8Zd+R|6h+*`C1+JrPa|&Sz-<`kSbmbZV z@l{2N?A?+{i~Jk#Af4O=4B`{7yskXf#4bO+EdP-t2QX{A<^v{_0RS$PiST%I#Bo7B zItb!r@qhu^p(_c1;0Xj=F4{mK!0osI9eBXQ?ILsyH9-VPj`7eR0po^Da%tXrLD=QW zk#C<^_s)@TAKZHA+ZS$^4p+IS%dZFX(Sc%kxF@0^Xx!#4u3dx z!Xx>a{@O%UfB(epvNMidhKGtlU0e7~?19NGBWU^B5$R-N$p{ZU!KzA5SrpeUkAS(g z3Oe^x0ZS;NFS%N{T#_?iqZJPRFU9hB;0C8{NnD8Zy*T0gMmoh0`%Czb96$8Ly0?xW zIezfXLr*-Ib8audrKwoyV?B9Vx8%>hH*&1$t7$63+}o{FJkoU3X!zLijKdx3C(DYq zZQ53weP+|(-c6QE(-z-)<&%Y_V`!c7jL9wEXsgCcP87ad=kzVLe{2Xk&pCi41ksmV zow+F=mQ8Z+HRcfdfp&f)lzuZ_!cKDL7(B@hMZB8A@RFQ(?FH$+b^F$B-FN8t?Qh)& zcszg-hxFD;fJMm-18aMf$A*OF_o_*oA-9n5l`FE-B|{Tw+ftqz2e@>-6iNFWh>j7p zv-#c05%rcWTTW%1*wyhmc=%ul0B7$^3QhDS7t6&NG0P=6!?KF|#jf994Tc+*;uK7POXoYS4;8Pfetu0q4;6hHmr)N?~Wx_Wn5KFp$jeXPY* zelWMtSChZJu&r{N^ZoOdug@=7x~3DsgJ!bsrLoUTPADdSogBG*qOLi1QF7%mClox^ z%@*dNiN55CvNW+4!bx(bB?SIS&a|v#wxVD32ZB&Y)^o#@TzTl7b@%Rj`2`-5{6UD@ zSqYGC&j+&$N$zs-^BY|{eWuG*330n!h3IOzG|yKFZCzMc1FD6EM362lSj-Pqc|Vfa zQ1=p6Tvw`YPN*DF7uPil3N0C>;Ktlq4w^?;$(JMgl5-x=h&RNCNOC{?$_?gwZfHMw+`e@H2an$l5y6EeT&gIA&=idJSd?u>_M5quCHj)1eVRB{7(B@t@57cY z)N5BZ^$;Cy*s|lqR^+$rUM~D2(&8aB$~3m0JWQf5IYNrUJb04l{Qmpzzk-*X1DcJc ze%932!S(hh|JrI8YcCOk4|NQ>&;ed}egVm48hA^;l$nQf*%42cl}b)XEZ(CkSsQ#7 z;%|t{3E;szgozUTGHdwM;!}|j7~1b%%^se96ZRAxSj(AAfmX7 z|8kI41(*KI+!a=GmWU*m>BX_`vj^hD8}ftJBANWne8rr!G)Rp-AjyQ1Rd&1P=v=A{&Ky8bS08 z>?nHyzJ+=4(2L?>kL}z;Nk|;i+w&!*Pa9}2pM3e{_k5o`SpNcfG|r9ioURkFB-bMz zDa2n_joWmG+OSqnnyrl@b99ke6e^v%)zoY4#O4<}Ra-i(riIH>$=2t)D|xkNPjTi} zccs?OZ|_Z3*1y(DS)#LB*wRlkjk|Hv)B2tDtqEQ?zk_C#=Ld4(fiZCGw zKG~IoBmulxEtU)9F%CRtGawa1^|-r}cdpI}=;VWKnNL>J&G>rr^6-FIILk)2t$MMa zJ={6AdxreI}+P}JvZ0dh!7Tp9FBMQ>e<@2<L5;p%pPLZ-ChJv!9F$Fjn zk+ob-Qvh9Hc;w_kp{!1neNu=qmKTfI$+4V}hcoZv@i-WZ%?!Trs>!df`!)IJ$%YA? zJjvEdo72joTCwU@eQc+l|9-JB`6&vW-0q#4O?|ez!WS2s6>#I^-8MVZsgK=2KE7ol z$hD9pX*44#8mmbZ4djACk|Iq~ET=73%~_){cuZV*PV!A5CT1UDC&zL?{w5Dnfxt5` zf4f_dS9j%V&|L{z>O|?~nW@^TykJkkcRiiUjvuMzkI^3u;?)QB-P@nZmRd?|t80v@ zu35+CG(5f5%Vn1@^1}4iVkvA@A>@qA${~dZ&n1qR3@r`}kz);`0D^>Kh*GQCs&@O3 zmqn0cU+{#dVtYw^ZB9bTxu+Jh7aRL%xB| z!x!P_Um79y5wcSWZaPN#L>6e6O`GkZ8Zaw8dGI~?{x zpB(2L>-=#G5$hgT1`)wN>d0Zevxmc@Te&B3-FBk&u1fHXC)NY341#jt>mOCQOVlLb zC`|7DY()$?);&5o3eCE?vJ*YuO>EI%*t?@jlAvc?uL2}I#auTA|7KgGpMLRm@=bY6OU>=cY~Ti@JWc7c#IH{NJu>6gNav= z_$u*5g!F^NA0R$T`~%MItu02zdS*X3JA3Eeo^#JVo&BBPo=jgC9?guVeD7ihT!-Oa zJZ%@9oqm7w(=~i(JY&-It!T=;22}prOpY6jqfuiIe@rm`dV~?Ki>JY|{~*}L9x-cr zi2O2>Q#rI?U&C`|n+`piy?NMrfgPC{K<~jhek^L64-NCsx}*1~c@e;AJM2Z^bNjiq zS8in%?BB;Wx9nJQ3{9R2pzprm=D`DSx0zhj<#eUf47!y{#WK7vwehMIcGT}pZfb|X z5=8!CNa@Bq@L7$Ym+_a2Yeii6I-ZiyHOJ@CFUTG54`UEQiarj%9r!Qjpq?Q=%jAQW zLemzM5krS`WZn-Q(k%39mRr{jk(-+N=H_NlMKb5?nSmEBY#k({mZRHl19YcPT!|)6 zdKNx8u;tdZ0Xv@E__C}Sb8@E;!2jW_y#sEpId}|(cfEK9ySaRf+vdG)U@30u@~W8q7@WEQ=4+7(;}ZIhNR(bci_W0#tz=iz{%df*B`a zP7(ziIfjrvN6e)(_$=D0GU^%fGfYmKJ$rAUwj(EI(koo$>hm;q6hMA)Z|@Q4;Kvy!82I+A643ISXI7%95`Vfv z2=in5O4KIo*~vza&-Ie2yW0%DbH}#MjV-^rvT?1nc>D&ryCBE9g;I|0FeWNwQBF}@ z!B!M2&=xccrxfBPh^APELW-iBBw6TWIi0v_K_gCFsR>voq@sfz4!EsAJh29L2}N^axRz!xY)MOe`LLsg| zk*cfhcBiJeCJo6T#0@5hFjLYYwmS+T*%VALh*D~=!lVS);UJ5M6W9qUqL{YRRFw@y z$;K7pP&HSz61BcbqFB0>_R~p)SSVPJB&8G~#j4_JwnCJ0T2V^rDyf+?B&nc;0qCW? zi43Qw)GI&1$ecKzS(sUIGxG)>7q|J!rSq3gz8kd+K>mg7-Z|mn zPI=JN#VdwWkhhM$d3gBlk2B85R5@ehtbJ(c?)@=#%K5F;XwdExBR=!+B)YkEEE~Zi z%;{T5?AvFpoH1+lqGcaYLna?Ju=^)yr757qkg%F`0C|}!WUHFyu^cD?$ennN&p8;w zR#$RO$uvN1l?AvYF&hocvYn#RjqWuw`fRqiDTR;!pwA@Pq=qF zYj+%QUM!hnq2f!h7}zluu|2T!+R<~RU9cUlYJ!V$TC1o`+nLH59_+FofLw^nED#>W zbs^zaJIg+OmD1o{4Fa&@Nr{xgh!J?yTbU1sGS_$C zyA->aS#a#+rFo|>t>c<_#4|c?f!ma9=An4MzYiU~z3BDKz8#M)AKAGlgz~VBG1S)a zAoRWceyn3}Sgq62gqAU{!g6KNRGK?258rf=K1W{-W%Aa(i(}no@>DkJGbZ=MLe{r9 z_E!^=0P^A>0J+CuKPzGp*ch@PhPJ)==n8%{d>Y%t= zGL5pR7wJ+gqd*K-;9wVWZq){ad%j)LokXo29A|@&L|c)+qKzIRKf~kcY;MUAJJHKDDa=X?eQo+=$lE=g*Cc1)dJRUCEC*@^(ZJY5i6H-#*u<&Wb)SR*3~QizAi=gj1U0K;sI~cxj>$+13;@Wq}>b z46Q6uyo0J7uM*$HI?OD99jj(wCg2*yiRQ+AK5rpg`&^;G1eg>uxr3VSXqsaQgh{a3Fl23Qlb<4;5b;$;~*^adBuO8wKZbFmTWqYbrU)cb&7Sif(M0I4YsY$s3xht0i8yXh>=pap)n7dW!rE zlYevQeNXQVqt?yo-Fx2r-m%Nq2H!nCqGjRiCFiDWnX_fe`jAXV?u|9P)V^iH0MzBW z6$+Nm1^xEpYfttYGxzE7-uoEnJ4V9upJU86Ou0XJwSL+}|0NQfR;=IjfGa(Q$bX8- zBkHV|VFxmB72C9X?{ARaC7DdtXyH*rasNh{I_4V|3BjS zcSKAUdk#eZ9mpeie;?{?^Wg#Gt>edUX4-lTM?dvPOQQ{ue%N@*@vYEA+Q?V<{{M*Q zfBB;zuRkdeIt}l;62bBNnux;d(xx8Q^{GRf|5xjOV(WN$bm=gfvFN%fC`*Pjf(^98Eh1<(AfirjI4O3* zNGc2)N5G^5CKHJcoxft@KR#C~qLhmGBdGgAukU;J+ zOi!D5D#MjI`QpZwe4=NfYh>}T-78~Pu4r|TGg4CEJHA-zAK z^d;~ox<(SVlSmlGS*eqc&7!yz*Cy<<9=W;RM7);cyqCqHRJ$pvvJF8iVT_<;>u zQl2LtOl>?8Pk<#-Hj*6O@C*kDjy}Lxy0>6qo#4_9Xo&zyK()UF9l7zdO+yJJgk4yt z#!*tm;}*o)7(ZrnXio}CEIt<@-HFV2%~JIYT4PG^WY8k1vX|uKi>B3ITu4e@5=@gj zIlLu3KvF5>@)bYG-1tGfP#F0zA>?zd^MCV}2{u|PY5f}jc|#HU9p%)v#SasBI8)$x z=?c$w`!&Ga=<$7x39Q6bBjjf()tvP?3 z`lf=ST7`2|e{uZ})C5uAUnFdysO@vRsfp_lNO7FHC_P_KU6WH!9pgfK1RduZruvJf z9c_s3*@5hv3=LQ)>_1_T_`Q{re*Xy$Yo>u?bUuO#$3i{WbSPw*?uk@0#zG-!V>I+V zJBGL~*naYouRZt8zTi0O{^%QM>lwDd7t9s*`GQ+d1%vGyPY2s`M?0W!3JNt4*BuN7 zZ#fO|f<9P#$rrp8(HivyJL$HrJsE7j-RO(Q)xcUtjPYRbQW_LkV`qCX1j=aid)3j) z`=g~}em@UReGcCJmr?Ujyz?Wp=8QZMF+<6m(nPr=rNQje>FQ1t4fBCWz0>C_P+>D&aeNZ_B=toYx~MpTYvFfe^K1Y zE%k4V_7}BW9Gjz{y$Xs9LIZq=AhD0J&w;Ynrzr zCz>bEPGO>Y=@l}B?kZb*6U8iryfiW7ajiMXljJQpccs&*K)S+z@0>@}>vhrT3jfG<)?6zz>^kuL!Dk|00^}d0(vUw22>%TE9tJ>;1LW2A9-KcNvK4*} zz{McHWwaf@1jx?-Wx^8flsK z-aXbuhXw$0kTmcVT5C!G`G3X91#XWu!GCStvI;X?&Nd%5-kNUlYFuIVg+=uozhI#~$rP!tcazSG# zRD;GsXW0k@smS2Tpl=XTk>DBBeefG3fOMtC2YE){?Z7f*9=VW{+&_9L4Jh@scaHje zp;Yg&V*?V{Mq_+jxhhB*1563F=}aWy3sDB2 zk0cpLi1<*5t)a!b;fA!)!HsEP**8Fq%K`S_Ja2&2uuB?ULPDsppa_LD2CRTUdNaHb z{YryI7TRK@#R?l48BmGE&F>JSJYEp;g?vW*SCxu{c&xw>vLyn<5-3uIM;qdX5^A^( ztuZa@fqX!|CvDa-!$pxth*z7H6 z_2T=2;Oom@_kFOroq<*+-3RM`E?ro2R=%8*vvT0`K7~2O>}8$YOfoSwX~3C!Gq*%< zRmluutv(;O>PyVHMy~;EnOeD?zzbv!vqq~0$hihFrqpsVk=7tnxkK%2Y|5JXw$D8hIA-ivBqzcX9zQ z9o;4s@v@h7a&w7Htd$wE^eUM~#uLfp1i{R57wCCfnNrV_@i0tg)iQxZAl+b4n^bCz zNyAg>HA&jf{{nv-BcNY*H2!m{b~r*X!Q63bOAz=?cL#<@1z4v)V0YmYB7KgCz9^Gej@}crn+Y!c;OG zlN&I?RALaB2(y6+Z)&C?Uz=}$j0Y|pAY851bARjPSGx7D=#M}yBxvPHi&Jve3tRyC zvQDnCl4h%cDHCyVF4KS$CT)q@1etn?Ok;p`;N(iVUc^-v$hb7*Sqte3KyC%dMS2yN z8-qOGK$x-!Jpo$?!fF!9WoDZ0dB}PB3y^DYgO!F{%~Uga)}&6(h%Z*{9pBs3q+6}gie(~Ai5%Y4 z@)B!_nl$4OMwW;S1YyX6uL3Qe#L4lNZJdmX1WyL7T+KZ=vWF~+c~S=sXC|O;3PZmu zepHD-lF*0f_hn2p!(#7-8&Q+KC_%V%#+^y`crGH=?Lw$>!(C{_Vtu|F4;+a9qW0`A z{x1zAPXak#tya4fDndl?{`h@zu?Wn0UW8ta{f$cE`86z ziS*>esyeuFZ47v}HO?|dTFO11((VDziSn@DdwHJCsHepk@LnD{I`!V{uIPZr7V=JU z8v~vKVaVfG&fkgmdmcNAO+R0~%QMC4^-PHnEv}gB62gKrKO)7~Uh`(h;0>oQb(~?8 z>(|4@wS}XrG8L6qJ>h(uj^TgjG~G4xoby?ow#!sRPaA6NaE2|@M!O*H^Fz)pv4#Z!=ffDR`PR_&zUk#US=Wwgr*lWs2hN8xD>n`8&eT5*>D8fADy#sBeUg`1O7=*SGdj}J~HzBr70@ZaqX8sNS&CkID^XZmjK8;1_f zCO1G19xG`YdV#-_EOy0CYv=n_PX#`$aPB;~Bk(u_AeZQdJ}dM*Em~K&_x%fBRXcdu z!Y0T1N~dbz>48soI_QQa1Bcb(CbBeOI#}h{&~^BuvX6D|A38kq+7ag$Lpx@6XBK*% zM6}8eJ@~(Ye3AaGJ)Qu0`AgZAcda^IVc2^x)C>cn<{^LmI)3!|o#zDa?F{I=dv{j! zPGLW8>)nSTq)=aH533O?y3Ia0&=ua*72Z1)-8;EAd^vi#cVB4E4v4{!m)DF1!>SXyOu+y#(J>gFNW)jj^dhWuYOc7-J^V3sNhl-pK6 z`&;wb$R2zF@+MP}uxDRjmOU13*&p==T6(9hk8W#*0&C`pM5YT8it(J|vt z+2iG1Pw2C%%7z}Cha5Drq3qdjtI9UK;#h#(T@{1;i+yfLSL|Io{&(rhzu(C*E*EFx zTx|8X5cx)nG__C>uhA6nb(J}=NJslCZDN518F7iRQj8S5n^0k8rC6w|cQ}Ncl_cU)^wL_VQq%ajEUZKj$mQ<+ngfYK z6zG;x;_OtB6c&~s;C6ZVrSQ^{f(*kCkXe#54159yqtO}9Q9y%|oB?|G_n-hkhm5XW z83oiz;JdR_@m!ovN($61$<0=i zIKT!PwFZHM&;zXvCSseMZ|KVbnti1ex4qC!!Yp&nZU*O_K1ZBM>?SXC-#!K?ybsPW zKEPCWfW&p^{?JWu*8tR=duY=@9LEpltCsnwUC|YF);e`%IAwNfN2hhT&B~^;6rZS5 zn45;yA=ok7D6Km1i7s&u>7cp}Obb&yOSHIXstJ_o9BZ{gajP#xrcT`-{^uoCQBeG+ zf|le+F2CeL`nhkuz00ND$>S8; zhcrLSx&)n@EJ#89C>l~FGVc~t$uwDDVP)kW<#6T1h4=4PP6QXa_ROFmp^wtA#6?3c zU1qON#>pWpnaM)Ei>9F-ZGjmq^rv$yT#63dEkZ7XFkL~TgeHbyx(mXLXcYQq3fBZB zT$G_;0ooY|E5e@hwB;AagHqc@AbHRaFl#)6{^qX$8>QszC*2PBG;Fm6D4+ zo}dCjo;tfSGZSE<&a$$yN20#-ev^Ww zxDuA9se%jrsE7VW*=E_<(M9R7Z)K9II!?=z;pzm5_Lcn@&5DgG)lpey5ruv8H|D@ze z$dxHoav8HzOKGW$pr6?3@?|K~P~O-yaN`+rA>vw ztSL^q(KiTk)V;X3+1Q~(os+Y+S@wW&5Aw^exP^d2wnr$zFKNrG3XSgK9E)gN9<-qY z8&A~P@RJvM_6iVpZG7JI881(q)7rLxK+o>}gJNZvHEY&h5y9ZlP)3x`kT8CiuS7C- zyx3e>arW4;N0*O1Ik`FV0@afp8zjM)g3u}a(RiGZ;_UUnVcyb@!dZO7ew$D>4zL@}B#JCwK?|77bt&VuRF!kLGTLxa=8NM*k z>{$2VK8lg_UdxOR_gTVS${Vkx6@9n`U#EQ4CyYpt_f zncdTwI4AGYnVn^wNyyPNqm#141)3(7x+uCN$OpT>E4k}#<-@ACFU%We(09!pGvDNI zV0qZBXP|InqWK~@{`9MoL%JY{B$$mM$O(uzr)UKEPAyvfW>;v66Cpkkwl;KV2z?6w73Giym)j2>=@((yxD}8KvEj>So)joHm^?77*Z>{v! z@oJ>xn4uTP23~!G{921W3Hhf1`@ntWy(@ES9M+cMa8tZ%X76C6Fzk)vnaX?D$17Xg zvQplJ`2Q%mL_L50iZt}ZaApcUxeIcfwi|K^!H@!NXVR08Y9KXp@<`ogY_6(dwaPt7 zl}Bpa(^PBrZ73witQKmSvVkNupUg6Mjshdim~NBw3Ae zI@GGnhW*J-R#G!nRlChS)vHm>0YKQ{qI(lYuBw*oBgd${q^j!YrW^?Mf-%=Cp+A}{ z>#P#SLu9$mR^ERx_Tj_#OC+9$i;&abrDXll0%i#2vJ^x@j#UeBnW86GpxI@jU7Ro# zv5+gGi{xA`OVb%&OMnGjMsz1y@~219ipvB92TqqDtImzeWd%FWmtbl~ zy-*KubY+HL1cl8NApuPw5J27jHdIP-n$37hyR$HGw(t@^z?|jf<)u!swVXCUW7No7 zRU#apu8L`3i!Lywn3GVAT|0jKng*G!H>COzpkkU7kCTHqBH&&7Hjb!6h(o0$AD!_W z1$Yv-G>`6w8Q06mer+Qjhj@kt6;;3&x%Msi8c0_=VvH&u99&?FH6 z%;6PS)|x^Qq)uE1yt(0bg2 zQObr-4PtbVvw=!nV&^8IAqk{b%!XtLEHl4;JU)LRhkJh-Qmv~)`{CAS?@mks2=?b6f zi3Y8)G?bs~U73B~U-gUUq99K-c@j}1`EK)LW7~Y)p`N<-KsXvDsSm<@EQpt>Zl(5x zh$9OZ<$$=Ppo^$&(zeShzmBhw2x1xI&DX<6ML<+!k1M# zt`cxb@}n)?g#5B{MfRkB=+DOY_n5Q6$?@@)uvUkh}IUoRkXA!NGb~Ae9($QjVRtg=gS^cL@El3FLlafQz*K^3Ii_> z%KQublGNd}^V-gK=J$}Dot-4#;CFs}$;t0Kuy`_klXcbfRddUiu3#>XzxvHV(>&*O z#3_zWkhUNlcSb2Tpoo0f5u>7{kB1=%(oM78kk=+CT$RUR7ag_m&Age5-TEve?{*{tfgK+=*_v9lEo8UznMvUbDT(+yh_hDjmVer7zY}_$}zJzQ1&9 z$9;q>ce5AJAm+3m>@}R&id4*db{c6YH_5AB$;S-m)?ei(o5#=alVwzLOaC6++<(AO zBpg^%kk#B^Fw|M~&DL~5t*mM89%zK#=1)(p4U^5q>gJ6GGl{I$dZNy1s7D5KeF-7o zq>$XxigbtHBINPtb*&x`n%{n>7d>B5^s2tuTXkDx)&y!@$%jD$tauXU@tev>a-#oH z7w&)5ov|VrnWIzCgFf+HzAq`Q%7~Ie@TNdpF#@3?wJkWV7u} z?NiskRr}wZlrO&e&E|DTgQnzPfRzulnrC{-r{o~zUAiG8Z_Z!Q9fGR+`D^0xyh?Hr zyyTq&Y0;a0s>AsY&y)4@POUwZpOF*Og>8KYVCe2lq27vQ?3%XV=B!f-rmY_&`HuS& zo+uJ4$=6I#cjwZSTvPI|a`Kfc{pO`(*Ou|YbMk}k?u`EYt|H01_Dx0G zB(l@Ie@ zBQ!XliX`7R7irLxeB_q(x9!D4_896E;eoS^>BOY>NQL3?mM;@)|1qRNQ*v#^Q-h}D z8vZ|MO0HqlW0Wd6(a-=#3t4F;ck_65+^DvVv%jf8;p5S-1MAQ*umvOJw_S9^i@pP; zN0{@XUxXw4XCWCK0X;+zt)aJ>qf^NV^A$gd8ezMM%95ON1)Mz*LE#`cFjX@e4i<^V zh0(7g6vo3Es8ipNoNyhVUE-gXEpowMcJKSze#UWksgSV1vH>|0=-@spPA zdRT_XDJDWjgG}6(Vq%UU zor+OGChTM21ZRqgQ;8tMtF~zzIfDM{sBXnHu z<-k&H0%LT5axrbif-g+O7=n<56l>>b7zdH?j)c8~goZ+Li+mZIorz&NBxr<{kY?K% zelR4Pkm~R{p+_aT0Jo!pwdCd~Npe&N-`g%Tp_)~4Wm$j8*7=*riYhrF8|*0_t4y}D zVJb!2!=U8YMh7tB+8nC3+gQ5j){i>`or?t*ew+$}nUfAh*l2>YvmIn8tj9r`rj0c3 zj4LNaD3{mG(lLePDU(~^Xx45*0B}ZQi#@RDxQn->Ty1t&3<1F7k8vk! z#84246XG4RON1~pL*3WEX}P-BRqWoV(Du*haB12u>;%}_E= zg9k@53Y26;6Vt@-$2ee7QeLJ1EKRO{X>#G>+{I+Pki4`cH)Ydlb!oDUV$|tP$uhPl z+Qxb}RkEWtrMgL;rOwTL668F^wnS}IX(9I3)Y3LJO*uMT0g|tA7a-DuNvbtiNofkK zlUlk}y{5Ia1g<ha@Cdkt&yZjy|3z{D3c1o5~K%{QedD-flt9s-a3{w z&GxUfJTD}VrP+-F5~LD8_2hWMgZDsCE;RczCWmDCab@CI2v;k?hpLs3e6NI@`)AxF zhaES`;jjh@3sEH3->U?YS8l3QDV47>HE>9;RIUM%dlW`xu?v+^YvQ8rjmm0;?+Hq7 zjO3siPAKgKl2ZXP>@AH<1(L^YRnk9I;q;|ph03<%%97kvAbH6ewX%&O`QlV%3Qh8@ z$~IUxiY9rEvMq%&sRR@wk4Y5C;gc=C<+J+H&rWY7=LT!tV|<=D(oa1(BPbvUNX0!dV_U+7ggwurU_=#bmHJ3o$TKG4090B+3%ENequk z%yA}BYHlLOzlzh{p8lpYp?Sst&XPd60@oRlUwZN>dY>FWJ>|aT$*AX!$899%NyRe~ zVknr%9sl&?Q}l`F6im^af+iuKlU!(y76j8ICr65DPd*KQhnIq%Gq^D{q>(dpifKs*?t|+f7vfc%SF+LWx6N46_n`p&)h;DUtO%=ko&61!V!lmf~+t^($Lf=WW zvU%-edwGG07 zSA{tnax^_IXA5)(w;|9h=G2un+pZ30J4{zcO&QOfsKR&+y($qY*Lf5=;a9(qjquB9 z3h0rq$1HFNYiR8p~xtZTXH2PhgUN&iKL89~=ny<(#PF*q6sX)#gJHnE)U;3Am~UAVqt1 zm(fCUzHXu=_{iw#$Aj5kG zp5>-{MLM`as3m* z!q8i`sia!Xm7| zaK++s5i;oG-`djx;Y#AjMua~5sUV_xXz0e-q9L1DSNF>OID{)am+Pp8Yj^cJTU-#X zjMRgF+^^ubyND9J>u5UzNRD?BE$vQ1V=uJ3T&>mHAzYb%VkbKMeB&E|iN`+*dh7Yd zixkPZr_S#USbk;$k9CBF);;5po>w&hB6Va ze0EGo!V+%i!5s@;s6_y7d5m15%MfaL@ShwWs*4B}mP_S9~P8C9+S>(*o zgJR&0(8v_lm0fp;<>ow$Avcp#S^>yml$<5U5+=}TVKO*cVi4iEVLdOu4hlnn2EUvo|ZZ>D22(yVrd2(Bx zm~S?lGPDqm1ewi7j#e9D;v0)i(RgUFf&qs_+9X(VRW^$bR}2P8h6I-+Eio7rFp`Kv z42psvgTVk&gDmGmvVzfaDO2#*M1`S1JW2%B>E$xqH%IHwH#X9%0E zb+%~qFCnnEv<$LoMeF{;8ti(J)$zV(?~2uGt#7`8CWrXUyvc~Y17h5oDv-a=fF{Ot zW{^KU@f0M4YSI6I2(2j^{cG?osyNT(l7uEkkk%wY9&n6Wt(GI6w1txiv2lI~a}uJ{ znL%TJ{D9=s_-B~*INie2F298ZL)7spkWy0i76u_t!( zKuOf%TXR8KXbk#)lm|SPO-bg2rX;6$JrhfPb@E2%wvE#PS#I?Fgo&G)d%Z2nPN}35 z;`C(V+%u${a%v`1+?k#n*9AYq;w}iu@Nu{jm+}XDSF$T55JfRoN2P+%XcMwBZM*hIHAJG3}yihpLv#syuHED)>?j<># zcbl4AM-B>`0hQr^eWftxssPqy`%;XwJu%*s8gZqOSvn6?)Dru9<->^h&@+DOb29i4f+%GECunj~=rQEp5913!dM&RCA*GaqVRPI!37nLgN zm!2x8jGuSlSy4l0Kj}1n-l)#e4G>-GzitKHe^bdPl3%*L`_Zjms^lk{{M9>oGpP7T zKm{<$Nn9Yg6?au@ShseqWotb(dr>`>E6de$DjH(u6`HD&sBV-Lsw>qd3TU79PND^d z6DEQoxj(M0UsBPLX|z72o&EZ86J2ezJD>q?ax;cMUBS7qhfg3xQLU`SsN{Zv{ei8i zr+Zw;5c9QT`OW$LVb<;fF6?hE(LBudZQSYSuw zRw$Ccu4eg1m3+_jQwPtSJ9_Td_FZ{KI`xwcs9VP!d zL&$!=N@up^5d799`1_!L9N;I%b#{NTxTo@m8aGRBU-{ouenF9wdxWAO- zJZj(TS@PV=tT57UR+9r`44bZ03?sq_pF9x*2RLmU*cc|}i&qdfVly5?7PF`8!1+xN zvY0bOVrIW~nC^p2z*UdTO#tQ?{AmkVJ|`xnnE!R}3BQTtmoM%*ap2~G)8}DMimg@h zvBeWMzj%yimB`F!8x^gSh~A!BHNy^@cZnWdg`S{pEW~OV(9WH_5;#&(QTU~hM2aSZ zohGD#$N|RS#e%jI@uUEVKn!FJN6@mt<3#=^0y+!@cow06xB!FUOC3_-6)7BCAP>rT}6Fp69-;!hDMBrp<9ByZtK=^2?) zLM-aAQ)bq7*u^JLp1mQtVfpp5hSosxEmiV;mrtF#xA(x=-}Ro{FKHc9vB60Yv`ZQY zZ1_z3xJFfx(k`)IElcQ7stTXd3`IeQmy{NjM+?waT8ulha2;gbu?~mEA)<}z zmqABroMs`FwKZQ?S6Py_&#A~42^Dxu38G|>@wSls){7VKlYAeLe6lllw^qrw>OJ`v zmJ19=YOmcd58#me6WWU6tr6W{Vi!M6@-0^K?Hc3BKVRR*8vZp!_=_-pBI-{qH`-eN zv+XGPj{WoYk(&I-{O)kyvAcLj$#-n~?PIIIT{v*x2994oaA9j#f7>DXj=f~>>|@#} z<2e3HdR@8JRk+rsEtXbjK`@I{Yhkk)w4%b=fWktcU=dux%Vs(Z2_<5glfe?0FU-nT z5E%?Jgeh#gDe^WZ2t!~lpqty+n9RM&+|##PIAmZaQNoM9SiY})sNjlSG=BfEr++^F63O1uYwM_ zlvF2qrpZb5s$`yWRZy~NaeF-PM7KqthCL7J{PRlOl`Fo!SwPPo6yobE^-zUbsd`7toMWAWbljjPu|QpVW)& zua8FpXJf|20GLN^PST&g6RzyFG=QSD;0}IJ&;yy7_XYa9k3(@8Yf<`-X;2fEmrhe2u`1KofdgA>Ne+f2HvRxI=ts2blJC z0jK`!`?%~hPDF9*h?jv&y^+bRID&)M&evC z7g;qiY3RV&m-Z;z3Y0c-QqN+dei~hGx8LBL&43-})w+Y))0rWePq#M^|Tm*jxPb5-s^8m4uh}v~x(_+yT31kyrz|iidQp2kV^3R$ zKRG%TK5RH`wNCX-ZL^yXPw}~c5LWFpG+*d1@2|5IT;55bkQ>U=%bT{{ub7A4hv8-uC6Sx}^7srJaM0nPa7n(W zqr~s);_ph@wIllkmtIl7m&a{9o_;9%qN%Yf_0Zk`@zBPhEk)Y{EQr|tmItpQSP)}-X0WnbROMIm1{nz$*z74qFe$4bX?6!K%# zOazgqr+47N29(7ETfv3AWG!8;2up%X5`Ty}SEwENY2^I5XDS~I3YGpI@@H&66k6#u z24{Pg^6Bx-&&JiADYjO`r3`Eh3Ng_kABg{Xq-#S7Dp$_Xq%lYjx{v^H(fbgpSXw%d2_4G;VnY<*Z^#0&?rfyGJZ)k!v^)(a z=(+VTp9-|>%|9CeviPRikZ*ilyepCpdGorYu=L|R6mq}4F!$bhviNll9r9FH$R)J3 z8&60MrJf+Z?lNZ$olqZ|o0XiEaS?41bYfQP33+}%)2#`#?X#`BR1;Z?Lf&3krunF* zZX`v1E#$@>^tU-b6LC)Gz8F{PH7qd$NDET~8gcTd%r8zW=m6 znC<*ZB`ilDH(~kmRGy`LvZ7 zZ9J}dU@Oe>g2q@(hdkM;F=n1C)EQkNFRC!^;a84p5`PQ%p64{iJ>hM}%&a$z#^P-n z<9M;vXxyB8#<(I35a+&nuKlOBinz6Gr)H1Am^2&m{qe@kbgNNQoI9>*r$Y|mBgXqx zPK|M`|G@Km{}}Rv$K<`}Bo9}ha;2mUpl*wTGg@W2V)!lOS1n&!_Lf$a-&Wd|J!kTv z`Yu-SQ2qIgq5ALAhw6_{_g_0ZnNF3BN%ef_R9^i~(= z{rW>`e=1j8=*H{0fS4XPYUq#`es6mxCOWQi&&Ut$MomWLc>7BMu_d?DW(a`3_OSUO z2L`s2`>;4HlH;?;5nKFZttrUy-6rYr^B|OS3k_aSR znM7a)gwP}r@kL^RpTAn{M=Awksaz~jhL2=lYTqFfh=GREizNOMfxrY5+EW6v$ESB9 zloA0K)DlSmy^d6(w}oPXLR(p*02kC!G)HNaXeo#yqJR?f0AywWxf$p`hD-VZ_^8ZM z70XX==8}B90#(Dad$Lq2Ak8XOB&kv<(vOElqE(7NG}6krNN z50#1wCKFoBhCC9;xsWG3ZTp-61p1c50g?bp;;$BnITEE=LWu4fKP5h!9l^^GHXnfBz89`^VXhyLQY~D{F3e92woF*s)m( zvQ=T=9VY+(^ms~tvzQOih`@!Mek=tyh*$`?J}ef8@%B$VU9 zCI@-=8eV>5Sbo8+G`Z}>dvM4-5%(b{LivJF@LZFVh9x2Cvfz+gJA&4>99*t=B<@2l z3H23(a6H%KBu66Q^Y{|eEo~>?hJSc^CT>Fxe6d)}XL+v47p0v%*Y*sqRy-0nAs2{$ zC)7htz9>DO!cY}pJdyb!XY>C68=L%h@YuDUinm;ah`aT@7;m`>@utfa%Af}fGhnF6 zso-Q2sSZ~BbCbuunCS-?M!-yylWM>GY-LbG+CMirXydWU83IF14n%kgBs8S`i<&$( zCqoJtCcsRS1IUu4;Qy~ePQAJ!2{256nIOvvkwCyBB?9w8%avGLp$fWJgaL+uFw^9uIz2B%7!;bk;K^#W@ku}qJi`M@ zfcrU_2189wKzKI6rWQW8er$XSzQWyKs{i%r5rF>`Td;wS{r`c4F3rp4#!nPWGyE4;Yrpa%*$8*Dr`*^TF(KWz5U>F8A zIldF0@nDl<7>~D@9EaSCVW`RF95a{Xa9H>PEeumlPO5_g3q*OVGI-eJ7^a%shpo#d zIO+@@HaUi&CI_Hag^@DfWGOZ|hN&hO1|<;yqF@saIfkJoC-d%E5-5valEua43WljB z2ZA8b12-XJ7;AETk0-_pOpZH)FkWYJ9C9zlTTG726)%RNCMVczw3HJIHF@_{m_x*a z8>23c1RCnib)xn0i2=EHB}xxZaA6jT0RN)+L@D?`oyvuIhzOX2dhc$y5!&})j%$C9 zuzHLQe}fNz=+!2eMOe9+2N-6WoJ7rsVIZo@SZEVs^(Qb(!jVtm#^g;ZfaX$Wn8=yv zm+<1g_^xj+aOa|UG8sU2u22fwMhaj)M-4DXX=@bRi2Z{E{6^kuJY0hZEoH39Nsdo=wmdIn%|h?-tZuVUJ>G4%2Y)yu!;B0ZLzk`LF6pvCRCPXHhnv6|4>+MFHs-azTL_vFBK}N zwvFIF-PggY?d#LkR`(UL(F@tpBL_M-F3tA#^pwu@wmfxk#<82w+P(wPz!n}g)9ZM& z)X}n%a)x&keQ_iUuwi|}mbeE`o z00y=K&9=5;z%bS1Aj(f+Pb_)lo|FZbE7XArr)1jBr^^+QK~G-ZDH?4qZ@MrSa-`YO z;*1n^Rq9*K{Y`a~s?jZHdAWrqSIBbO7z!dmk!oDQ$`RY^HNJ<+z(Nqygx%K-dxmMDOm;Rv&En!0~Zw z#KA#f>wCMwMeh?p6Wft{~+p zH947o&#E9P+=R)uTc>0Ptfwz?tL;;I?U}7)o~67$rTo5YAtxs+<)_qD<(B5rFUu#> z@-5j=8fE!lNC16LiRRM>{$`gXz98 z79b9`w6v^tw6?75Y-v3P`^R?zWi6AIwnU(}9Id+#_O!OF?rm)yBszPR1I+F*Ln}R@ zx}&d84FK|LyY&LM`*cIX5xcdad+P3!$=cJ_tB_!A#^nn0P0r$QSX^NHzyeJ!)EW3_ zq2>XF7KB;_q$FJheq4?U5F}p#AlIk+am9Ll?ALRF^f!z6wf(|(;5$FXe9=K`D#WqBYxM!oWrK zmjQrbsL5|(JGrdNVzHcpzaam{a)k?^ZA%e3D>lzhlK=YgGAV4RywMmgba6s_1b6#{*-m$!}ecCt*g+Pm0{^iZ6=`A`Z)4(D?K|A}-v3 zWv=G$>u-X#kuO6Kut2D5&v3@E$uZslHaUjzc#Fw#$h{bbnp_wis1immNyaxaW0-1k zQfv;-Rt8IX*yI?-njGZ$1;Qmu@Q@T3#+v+B_RcP(sW6P=&!LrWW3tUPmSa|D$1SaJ zlG%qN+EUD&QS?FCI^ndzjw`W*+L4e`R$k=PMk=zwywKJ~78PV}4Kf<)O&8HHyj@@y zCUntmy6VgdD~p-BVB7nH!FgZy?CQ^thxa)<2iEH1`Ih4a$mEDLH924RrZ9I+p%^_u z3z4=a=jSLC8?qIOJakTuNLQ1iBSb{nn;cC%5y<3-Od?ZEjzXTnWQxg`)2`eQ!5>j+ zB?}8e0twJt;NMW8_s;<`d19pMS~JMhwv`+q%EzkUkF-SZEG&ZU3GePc1^-6VO+X-% zCw|j};i6q?l2}$?@~J@Y*&9<6q8rBpRXn-F0HCu8`9@r0R*rWHqz=3`pYY*^px0;1 zKkUOPZigzdh;ra{+yZQ zkXL5qYB_SvDQj{7)d{n1(CjE$Zpf9P2lBCr;XSXWL${@qyFeubkmZ2PRcDpNL#~UG zk+xZKr#<*y#i*Hg0G@MKS+|!dt|ntnM#GjyIz62Y6$72}rf(tls+f-vl5CEJ54pOT z8aUiEbddS-go*8C!*%QkS1`)9_1ArHZsOV%!UBk7hJ0g*Sh6NNdyPVD5TvTf^@D~i zLX)E@SZ=$*4^6*%alCh8>_BKbFu9&!+5lcUHz|#c%z3@5otmxoMcVWZS9|b1!HApg zhz&2B8%twe);dGRo-p@H@o1;#XhX#XZ)?Xw$fHNah88AFo@*LWOFZp9GWH|n#azKC zJJes-SkV|6ReGGe0g=3r^GhfpCRc38!{mkag48rQzeJD+XHdtk&< z5!bF%f$X^*prw0vSr^@Hxj@t1D)){)dkej}{`!c_FX6V|s9f}^hH}5j+IMB0zp#f6 zpK7s}l@rf5w^G2-ur;giSOZND>UOH!cb|39pSXf^{pgzGA zg!{xp&RrFyiOJCoS{cluke6`LCTw{aCXHKMZ^&SiuLa=2YQPhH{~giKJBeA!cSNvs zM39**YFFYW=Nq*f6x#UFiZMk^zENQi$`lGk-U>`EI+M3&-!0*{>$A6xz%Oh+0!yZ9 z+hqZ8@ZWwf;_cgZX$cuWa1s(Be<*;z^Oe2x*^v?k19%fVDv%}~tcOXBiT|dW(zquw z2Z}2Pu8=_Ruw0x4Z(JI<_yo*}C-4n+Uc(3Ah5RUDOm+{((PT%q$uLYmzCV-v@}>RS z&TO6OJ=oV^iVO?=J*{hy!(0<4pJR39Vtuk>a_j8!>&KUG-W+wtGu3z}Tf+rmS)Gs- zr-*PqzMPfP+{T>aQ9SlctkJOt#Mpt(S>zzEwLwI!K8Fu*gODnJfDD?La)(gLSA-Le z=;Q$-68HvkqdAw$PHzHOPVMCyy@1 zQ^04J&dF9+R`}g#j9wmd#*?%Osl(QA7HJzUK4WXeSmH5OMpCdmVk|b#!i~wyR?lSa z6)cO&hz}!DZox!@0rJ3SRnq&cT!oA|Gvrt?W2RF~GVMzy6A&j?QZ}y7gmE4)R#7k< z8wKBI+B0URNDgU-eGnN}E$tJpBR=amgGiK+m1E+|LTzJ}qh+=m>g1Pa7q(gX{P5|~ zt5dC$KZeE5XJ6hPG4TX2fplk1>gK`&Aw&}iQQ4_Rt6qq1l8-&(D5+0WQwSlqZMJLi zNa$hTC!?*j#8+{j2N?yee1_bu)&P2J6`?+;uBtOX0rlo8jVzDv=S^ZkoVMB-;mSJf$eZN6C zYH6zJ0H{V;)X_f2O0Oo(oM6?sQjL&z0QtV+1wig;r2{!Zt|`m=bz~qXE%b#Y!5(1V zgpE4bJKuOh;Dn%{%+_h=5EmfV76kaq7g}l}zXrLXd~^Qb-n|EBo0HwUVtu&({`tMl zt0PK?-miHNM^eU7gArCjCQ5d-?e;SFq-=~_$#%-KgR|SaQg*b+i+Gd-Qi?d8GOxA^ zd7vQ9@=yppxsft=nT*qB*p=C?&bTkL_*?FkZeP{OGyxVR9@buMJY>)p^g@#!p7Ufo z*q%tHYz@|Jt7t}rif2yRfc3-A0bAfN_TLU~+=U2xvo@PY=j#*Rg?MzGJmBbWw6xno zO8=LQDE(W7PP#=)Z8tzZC+<@|8FXt_JfHcj{kKD56{G!)12ALKokG+Jj?g3HhjT@@xCM38|!Xm8enut5)Qq%ee{B31Ar zgG6+*Cp~nB`iA?bC^e_y3YLux9PE$<#wfTQX1f+Qa6|UTT|D}dwjd6vY#`#^C-BST zv#Q~kueurLXAEV zZeD2vh7EJ_Kgi@#u-Owl8CG`fADNA-n~95g<02LM_Ve?lfWl=a{EN28-R6+F z7Fpzb`oZR*z5t98%*m^Oq+6Y|Mavs(-o41vl6A)l_-k^5IsK;ANkv{uMgFWXrN^>w zvIOy{;HwK{Ys0;q0w+CLq=?30a($d~5xAE!Hv+wrXxV||7Gu)HF2KGT1$ zB=VUyUt?sA&s0P{0SpJ`__lkjpx)h=bWgBl);>yAKd_Yy>oAIruMwI53*EFt_MNU&n zy-CX})BF-K%}>X{=KYmsU^p-*uL{B#1IBx3&=N36;FTno%r_i@21!C7aY*LRdU;+z zGH{%XB)UqFI2k||LEt#2xM)!@h!`IdL80q-;02Kf%qd73>@BGoD%Q$T`32_W|Ne<5b#!Xnu!E*p|BgA-QTB0IKF_{qTY)(_JMm=vVDD^0U5ev4 z{?|F%+0HmNM{B#XjqBXCgSeCyig_WiJgsJzwdJOS3FQUF=y1&oT8;9M@yF=cE15Xa z6g9OeTv=qZ5n~%|fL zl#{nNX#L0fI^@98*-1CGlgn`N*XJK}a+#`D8r#p-R~svX$&a^{SlMR+A9W~baL0RM z09TQpM3wF$_?|RH1E`nrh4r)i-Wvk|<02+dFTAHnet5HG+{ZtF?L)angZ_@UXk6_A zt)Z_#F0<$`HKkW8Xp5{#og5z}m$O3-%U$FjbMk7wR+<)=P+zT$M#%T=4Cs>kNF6?F z3rBi0FiZ%^l=TzHd$Qnra%a8<`4Il-XCJ+DMKqEP1?wdf;vczQ>@9yJ-di@jZ^FfZ zB%0^4VB6#tx$9^>`lQkNke#I zRWg|}nPFoHlTl`@Ih`B;<4VVHr+PZuV91H+DUCL| z=U$E}6*L_pYt;fBaETFh;02>a)v9X39Xvr@kAPB6owHT*8WlD>XQ~!#(MTwNY`68` zsrO?EypMvMQ1&LuG)MIv0uS>o#cpo`$-nSJ3>Q`izSOy_1Ubd~&c(SR#iP9A zcy@Lf(VTMa4xcNI%8;llCHU6INQq(}mtB=5`i|lVa{hUy&&T^D$Vnhp_r+{wZy9Z# zIdyb6Z|B0mRyMdZ@8I4)u|*+Q=;%&r0A;Zd11K}Cmo=r6qh7<72}6bcKRK@&n|UAV3N7@FoZ|UMQq`KR})oU>rqw2YSUs z$lXaH89oPLTuk;In;=(|hCxvTIn@{INy0l4>Z$a?hz7l9 zvG!y;184=+K~9@36s}O~XtfNdEM|RkIypvAgp4A{hE5@lqDdv~?!~okHw#dSkyxdB zHL9^Fg1J#Zybvgk(?VeksvV3;p<$$+07G458kVsxW?7YyWm&5@ zFc7sEwX>ssDh*Y&Raeio$Ptb@C)b(Pv;tRK zbUO3M>9Z|Fb2|B7fgIClG>bdFT|f34b=rUF(QX~z26>1Kw1(;+#}#@rH9$e>M#@EX zDO$tH+bf>`vA#09VzJ-=$3(_wqE{zqJ9%5pt*_3LV`v!&@jc@8IJtZz(RT8m7Or-l z06zmNYl~bpWWQ;SWyU9Q1cNIEG!_VZT)+ zfuuv17lE(n?t%HJ$G+06HLE~djoG_`>j)VwLO$gkh$ey)#K@3Ja24j12aDbP!3d7lhQN&ADHYfr3{Dsx3@$fE6AK+Pf~!=}C_$OW6+X2pB zy;f4~U)ny*-@sjndb$SrNTLay9B7YCXVJeeEF4QX6JZf@N}lT&8twBgq55AI=u*MU=;b+6I_C_%2o);G!I9|ed1W={d~{;p z4ukR5mW}@X{`CEqHy<4C7P)?W;DO)&?DX1e7JxMLrhn0)2gh!e$gNuShv2BPCkSHgI?atxkG#IZ8Ft%A+Gb>Lks=!?!e2uH5wNo z2WVBZJ8(iwQtl;~+OmFWpz{5){`-^s(uM%X<=wz|t2*o2)3adT*+UOdUZNz($NpOv z{a3aeIidqYI*_qHSafNN;zCI^?;!`;YT(Hr3Q>;Ksc6P|awSEpmyhbAo%TjLIa<~? zI{O2@>xF(7nNIX0jzyA3Bgp$I`D(5|$8<#tuI@^rXK}Qz|HRosCBdX~t5|wUq6f84 z_-c^j=4fGgDR_oNk-Cd>jeRU+k&T%$Z7a~L8%C;?)f(F_xV zgG?|cC`bl3Cd>fYRwv~FxnU4u(yFPbL|@if;+By0iS3E~A?eb@mt|YBKbhHFx@7KQ z$$l5t-a~b(>FBn0eyg|lo_o%@zdxV*y9X5OWId$d3H{xbW%u zujFTmQ#}znt>mYA>cv8SrUw4q-_(?C&ivU1KR8)0^zZ1oyH@m25r<#cG2VK#?{PCc zf{wq$@e>md9Z5XUNL2ER6>%~*h~v*5Kk4yK93A{{+sa$mPbzabJsc2hj#Cf50X=Fj z89LRe{w)!l$1NQ4raA?BB%S@+wbMwT$1dX0N1pu~W6}RwL=_|AuVR8jZh9fX9y|`n zg;^CXF;=0!R&@h!puD9$-XR@5hqv%^Gw2xk_PGd6xzP~`LsBWNK#xteJTVgHJ1ppt zWUTf`N2`fPx^QhkMQh83*1v@QM>77bvfJ${x44WKsab*@6By&KzN2LRo9r@YCcEf7 z%}MQ67V_pokLvuYZX7Y{yH7;ldKst%O`Ix2I6&DN1hF8vAzJ3Nl{}lJ%vuB*>PZh^ z=;u>T9xqi`hdDXva~R_}^MwnZ?O_C3Hd&fS;GBy&616mgcig{Ay4|1uO5^b|MFn)>T3ssU)}zI6FaCZ z#C)=qgAO1|Do+yf*QzJplrH-?eXC$(a+-nNaLYf%>f{6#925Hk>}>ax?!grP`o zp6%Hb-wOEMsoXvi<#uBG?1@>kxO0So{{k*#zmSA8_N>!RkHy6wL z#$JwULlw}i1@{;o@wV`5|UQZn5DV7c|#F{8`q{kr(8pgi*=#Fw+ufQr$ zR@uP@?e(qeqU@di!p>NnGXjOCS(@=%*_3ZxM;}H=cC;uNk(sWeV!l5_h&Y5MYIfIJ?q=$iamf@q3Mg9tEIh7H%rh)dl(M+`I&21v>42}L0Sil3yGl1m_r&)Prx6o1?}A-I%{XFIpS(P^ zt@Un-HbzCUCCH$Uo?AeygPLGSy0f8T2D@h$0y9F{g%QvE(03{+203+pLo?b5kats9 z1yJiGRaJo^fkQrB?~%ge`)`Y}(UY;aL7bB}?!pq$!r0;0qO&NZ2{r@dh->^}31Q^k z^k|A|sfr#z{Fsv~T5Zj1=z)}K-E$Le3R`^o0mz54)BJoXirw4lEh}~wAYVI+7iTM~ zMWR(E*MapiBR7SqOgeAIA-{_Nm1mAwu4LZ68h?X^oz&aE(C|%t`P(nQ9lZKMWg!pu z%c4QJafOp(D~Xjzii$ducX+%;*5*OOG|+k@Y-MepM}bR0@h6+exN;Zb2!Y;ii_RpS zh$(e|412$)I0Y)4*}l#|ek;sEo?SwVyW;xTO|(cut4|fP*^_JCJ%v4KJ{Sm_q@f^j z2sw)O_)Su|VJ{lIvE(twf}X32+#WT6`aUuw)KcZ-v@5eU8c{C z$i17wm|^2{gx;hSht~(l!{XUZQPNo(eeRlH;)~2Juv~f*6Db|-%7cU6OAhCUYfT#0 zu4g{Eu1Ta$bXV z%Z-E5az&}EDCF-N>^dixNzS(RRw72((;gb`QB1W{ObVNS(y~qOUin#5m$xwM6Ym=1 zz9{4-LN})%=H-engH zH~vw{J3BmAb-ETx^8IcBAde4s78JSZ0VeLPQhAqM*S~FdMAslYD;a#**QrraDO!t| zX_#loN)Oo83`>lvL&(A5=X zI1ag9YIpovf?UCdtI2MKTVtPF26=N59)y*tFzr9;U1`Ek^(OM4>K zvG>a%Uqh_gVf|X)opRV`gqa(Z6Z3YiE7f6X#h+WE?6*}_HM8!ckefdGT6wthyy5o2 zM_)gG2>GioSM=SLm>m#4+|$Jp-fg9&vuhLKg1AxX9u?*wAQI_C!cYW8PHo$Ptj@`F ze@50HTLUPlc-i=G{K`C~g;{cR;SPqN$_XDDVxE>m`CX;bMYkKKz3!NO@bY$Mci90k zHj5d^uPP@u+q-mWeU~n_AEjdE9G!PCm0ZEZJrtSLaRUC7!{gT(rWYO4_?p~Kw`w%O z66E}-U0E28(n>niq0|kRAm_*I+jUgHpHIv!tWeoe{1&WVQFV}m(#Sc+pHyPjpYj9b z^Ij@dR>@udl;IF^46Nq(&Up{4b#cg*ad%@y*5rQWSP62Xp&`2edSS+>SAZ{+l3w;J z3u6HJyHFp7%OH2?y2wEtq=uhU#z(VzgES`@R$8LZpr#I80ej%AP$|FS56D4N9Xia5 zK1j(5&Om*RQtGaYeqbI2v-onQNi|&6PBG2wV5tt?a7hKlM_+gX-*2lGG{OR+ zADp}|=mLR*;Ef>!VVpRpZjkrO2O!OA2{J+h<}-w+7up7lf`QUdJ*1PJ2m-7w17k?u zKa7siVi7jpXYeK???TkzZeTtM7S>UxDOrSzW1mzH)4Jvbe4F)WiEP5;>#rH zKcC zU%z|qp1XVQZuXgermAatx<6G@J>6RsqNE@RLL)*0001CqDKQlQ00|5Lyo!2__`(4< ze@uQM9+l+O#34L_1cbywVzL~NPxOo|k}5qPIe4F+pIJU~DXQr*F|!MZNYl{LD=Dje z^$lohZsQdY%gHPJo{&^hR%vQxDJi4K!zc9od{I_e^P{*-SlpSD$DLnLtiGX{f|91N zs00iqb@}31SyS)n?Q3LevG)9|XJ`twb%5~5IPeNCx5Rx5jS%4xbZ~NeRem`fBM=iC zug4=;;w-=w*Jfc2)B0?1J`}ewKM&!lIemJz|2dtOk)4>FMn_B<*S6f0<-~E(h9E*kBWVITCZGxE*+nS@M=I@ zb3*h4B|bYV@(7iM89JEhJe>}GgcQf{3J{iEK5jHL7Drp^D16`({F2!wtZJPQU?(gp zk;B0qJ#-OK((b?=tRNwqUf-x>;c<0!*FCvRo^!6PAUiQq+45aD(9vjhtOBCwBPeUc z88ez(RGSv*%_471#-=oS`CQ4(57AHK(u>e@bYu6IbdA5)iO; zu;|`>WQRl<(lV5dtyRT3b2!X02KK)ynXj$RS=&C(9#~bB?>kSrBVK+VkK;?L3fVe7aW zy_EjN<+Y~nQC$BRJ##0%d_5{HK_xN4K|TQ<9{;eC%B-gR>G@{X$~B~%9vg1E^{GAy z?-CBJ8YAC)8OMa8t8umpwy{kt=jG5dtT`>Zn4OZLh`2G2~tLW)xlzGHG*`B z=RcbIvcIbEk-v9o-XpdbF_hus%${>&WKK&>8%o#Oc-~8}5X_su|9f@nWNF@0oD^lJ zkfbhj^3j@0gUG*Rsf7K#rB_hsbh!$r7$b|7(};kvQUe!XbxiIjxMqy7BVUS6T^nK} z0ANTdEhen?W%18ETj(ocEck>K8eD-!M=Km2ge>10_~S+}GSn}NX7kdp_9V#LH>%y{ zQSU9F{MiL=tBnuwUq1<@_3bEtm*0l>se?E-i^ zk|CCeB@`Z(0o)yvIZ=>cL?%WLs{n4H07y7>r7}26oyf6Xm{?d2k2r8zJ&T|3W zPB39#E`{~T+T?5GL%oY4G9eS@7r7we)OySVlo#VkAS^GS1h}0(E>?TEFbdXE~HZ z^KzYlmkf_tBH9-U%)vLTm`TEhyhZgc_o~2)fQL+orQjp)677UInC7cM@hr;KD;VIZ z&cLc+6<)+BOLmw8`uQ$b*-?!J<7ih=$pq8ia~*;37cF5)lSqs(EPye^CewK>sHe^#4H2aR}0L zq+y{rL=#Kl=-p_P2?1Et+jM(O^Gg%4cx7R#(Dwe-@D>L9g6lf*dbK7$jhWgikz7KaJ}m++SK=Xgw&`Lzc$Eh9jCCl2 ziHz-~O;e}Qc?;yDTc^_ziS7@O*}@56)=632Mz+?zJDGg7^&FDllKS!I{9zQqG4N)* zpo~><{n`HrtyH$pUR+cLkA<;nZ@aI8^nMOOOr_}>sXj$nA=(?1)ly7l&!50&MnQ^B zt+(UwCITt>e}Z8rVln1WKX1%o3vu{$F3@ZG zajHG}_ZR^3PwD@+ixX&o5BL6*nWiTZ_adOB5;W7&Dy4&8nd_Ge>Hsfc5mbNwP8(AG zKa^6vJh}VE=jPbLE`~}0pQ10V2uK`HTP8U+383e z4t*SX>Yd8+=KWRfu<-iML%mf4bD#UswMy$ZAN{uzx!?ltonZI*0M z$2z}l_u#EcMoGRXReAbYSo*tsaU$Jo@sw2>n>c)zy%JkxRjRf&ybJd)GynBC0Wxnk zbdiw2LgfKwgb`V7BGwo}= zML_tkEeKPbid%IVE7uD(v;`SXp_@wds-E?S0JhE>Knzo>3(WWGH~dcT|JBDq_Hf5` z_d74bYW9d;7=zUisf;-3L7)i)?-#8rVvrC{W$Yh&g-6gSa5M?Q{%9!r&r$yWQe3=S z8uw{jCSL@2S%P)94wG?uc!LooWBK$f?I5$T7vKG@&Pc@+W&>VSPLM_OCgE>yC4QM) zRu&+EMjGuCa3ifr;5wOW8OXg(KUqb^4xCJ<;X|tS`v*upeO6Ie3u$3+g6U^LnGQ_~ zZxi6(osAF-IX4pON$**zYK~d*6weJOa0~C%8(8qvB6^A=N#I$bKIfq5)Xe?MoOC!^ z(+L6|q{ORfmZg!q7VCr>EGj|xxGrVc<6HKUP(eTYuPJ3O1zsFu6FW@n9j2%D=dVSg z;A>%Ss{oH=vb+1Jd{ZDy{xjV3{c&B?%(mb+EpU(7a*8E+rF2DHLSUXmfgPY17R z5E>lp>a#}|7gNQec51$8rD*A2vg#(E!0g@Hmd%vKGB{Y^A;4bI%9c6gm*H$N!7AuT zNE*F|+{)hEjc)9y{y?7qt{0pcF#b0?0)$>P{qHms{{KMb-Q|BLWw6VgwyC8Lhe(9L zr#$-)RDZot#^KM}8P2QG+in2Ztzvo^1`}q3HTbSD@nUogMl}IHyo+^SjX51ce98iq zom~y18cVZ`wKx^ZPs!<#Q01x!@}_@&F^`19o68IrzU4DUOsW8XDccizC_ETkrP z#Re=9zq5C!`_E+D_x&Nd5#CmYE*&$ASa9t}39zxY)*>s$kO}zOvb*2Xg?Y9K@oVA# z-hygCTW5DR0;KWQ$(9FnWK=Xn@r6z=M%545p3)uV_<1mixl?v90_7iY{lJq;&RM!O z0iCsZ)4wFYcxl;9mgmR4J_sX7I_8zhyDyP8w<;0lxapen424k&hCV2MUBCRPOqx>0 zHGH6akUpxepYEY}gPT#!zUp;&n{AV#Vl*M=FL5*VYfDr0IBN8Pk|Y9dV^Ke%xxf#* z?OR=-qD2#P@Y2u9VTFW~kgp3v(;)i!)0~~+kWK~nPzd#Gsuy|U78a| zkUqHgTpw)Z4r26~Ik`f~WaiA;12As`TfwS@NjMQAt%LNJ_EbA)WvQ_-tdtvYZe4mF zHv)qY#?KBE=rmDxi=ZE^lzwcfTAL~HGkPJE;$CWc_bnw&g%DNZj4n{&PXtFmqO0hB z>Z`J7qnRrpwJF~f&>{QD58QUx)CJ0>EE{l`Y4^4*S*duEc}-1!cxSp&%dU89qFLGu zFF9Df&_h_Zj|_Zeh1?JfPN+tXu_!bh#;*l``Pu;rpd{~H1Uc%KhJ2E?=E89IT=})W z+6QvjQ??rdQDW2%Ow9mze8ZYMojk>Al1A{YR3s4F-{ETXqo*z_HHoTh%@l*T8=}?U znjgUhxN=4-OtjQf&VIxHmJ8L^Ew3*);D*aIY-~M@E4)%oUN^BNa0o*B(TetQEe(&~ zxGs4(49KPQC-v#i*CQa0?Gf;?(iL&1%u3(@PTiJ-RBme+!eVU3HO|U5a*Sqs%jzv@ zgG7yD-^e-TC&TF>HX?T9YaQ7iQl#has!HG(iatv*)k)w8n747^YvIbRAk`_|WvfC1 za4n-n&JJ*3us6bLNU^K0*n2w=IzaWEZl%eI8pX9M5RMV3b_zxv6tQ8$+M&igLmWs^ zpUI$V`XMqD(HCs{N|Dc(0MhcOv9oBIJRmL$uxy{tt;4>hA$u)!eL3#&a@an4r5LXR z*5P0wK40o(!+~5l2u^bW0yJz8{VgN$MMsxQUGcT1@&%V=K7KdmEpo@lCn#BPLHrp5 zuxT|4ZWC2V!e!Wx_d;hh!+E<&S@>)_G++QOU4GCGP+zsN zW80?Sg#~B)$BK0I6_X;5U!++E2<*T|eE`ekoi!2%4qb|k=|o^x$^|X}t8D{sjp#J> zfT&^4s}9gyBuyn>+^-EFfU5( z`+#*lTg%7*-4Y9)%F-^|2-GBL)PmR(7 z{)2}N3fOf(l)bfF{}>cyX_h!__81;TeC4n|@|XW@yk7C#@dY&AL2;B`%c?MPA~6?_ zFGTWJGy`r1v-wah*yA|Zg|_oB&ffrsTA>ftut7XC@Q62MqDI-7yxgIAh55y5qNtcX zaYkFjn!R^p|Fgo|Z%waBp^X$S-`>U$m!5jXIfXY+wq5`Hj3O@41HHbZ3QEii#Ng@G z2EIYwRcWNyA?^m+L%0HEj^JsY>;bFG;}?3JeIU5{qY12$BI*7~B|bMkx>e6$csR77 zsdn*5`Reao-uj$MRJUithLg?vr~uBGbuZiT=78~q2BU!`#}AH5NHs}>pKZxQwYU>= zskyjarNu6C-rKIYhlgmSwetTM6F+)YJD`g4roWR4nY$TmnSq;L3+{rryAmVkR=J8w zsL}Am+iJTdhc$~+jyli{COFn?!y8#8W=czJ`7uv&-8FqYC%Fl^Uwj`&s`LF(THT3zRE-DD?j}} zXvh)fIy~;QCfD!@Ti11@hUl#_UlwPK&ZCuNO<389Bp1$JjgcCNUL}%em>oJ}3rwx< ze6GwiPW<$%Aoti2fh(<#WExO54ay5o1d6t9gj1v7f;(Iq5NrwrLl8Lu4G6Z}DH`P2 z0DHt`awnAk7?zvgE=Ijx4N<)G-h`X(e|V(4hT{O{UAUCyt3?apypQp1xc1$oYw5Y> z9R*PPCNRELiXtBs4iCc*RZaq41aJCvIPlYM7GZ@9kyjt+X5U!xU84f7a`aa=&JGX? z3MRov--~A9%!BwhNnFHrz5R4YOy_5NlF@GGXP2J|qf=P+!T?+k=4+A4RDsz5j0?3u zhxc+uOrmJg49!=s@$E)89>*$Djj-NTtwc+o`ACtIuJ?Z$Zapm|v-az6ijD1{6hz@=91*Ce~bAZTa7OZxc)v;MX9~ z&B1#h>+~1wROosDKs$-)*|F=3G=kQ3Rj& z+e})*$jJJOL6iNVPYziip=?On=nwxvgU921q8fx-G4My{s4F>2E5zvUuz;em_OiX= zmt`pJvChi}S?J5Y1NpcA!{VXB21o%zQYN^DB>MN`$}l5iUaMS2yLuKW1rq-h3#aOd z4Zz)^&R}Zo@i-tKIg%^z?nYaJ|;29JFe=q;`DFp)HY9DCWkYE#o(fLt>ZB)qM?>7aDCVMEnYg`324Tmkw; zTzJI&kN0`gtOtaAx?)%+6ch>~2Tb}0z1g!ynQkD4Ffkphj(nOW2$MuQaMU~M0fr`U z>6cpEGU<#01MgU>H)K$xDm(w`=6nW%h_v z*mY;JG7s@Ccla1DO;oxNU-`R*B!xSV;%d=pg0;SA>Pm=A0rju4?(M*BDJDU29BTSn z^V-TW70(Gic^vQJu$s%{){(aMR+P7!decH;o!fMVB@lec&oj3*vFsN39iL}n5q zv5O0a`Po;=$BW5go?&@o2O6J&C)bFFI1ISK4OM<=LhWr%^U>_-7}~R5;A=vrn7QW5 zw+L!ZIS7cchTV6`cY1t>KI(!|Ak=%@Pn8s?34eb1Q*)`$VQqe0piALUQ+d&l{Y)L5 zOJ&RG1pa#tddC?z-)WIpe~^@A1;T#Rxg^=QQwDi<6!$!+y+GbP2l7Y7mCe@qTPd-d zcayUcufD%FxDhSx%W0-`NT8%(VJ|YRk^h^GP$A5XicI`y3au!nLroa|?o<}545xnq z8K{We{LNSD(O6R?PfGiHvpV&Hh=2(-{k%}TFjsRSdrP%8|H5CZkzsjLV^_iMz=M0< zYw~`|_jWF1R=26hR$V7!IO)G1pDf7aMQ23x`_U&FFMn+qyfH* z&#^vT-3$C#ZFU+>6Z9P2eHuM^7=2vj7hnQT(P5ae4IfN8aG}dto0f$o`z6#$R`vIA z^-3B_Gh(2)$xK@yn5{dY%lS#`;L$wB*@bO(8(w)KelojDun#& zP`+VUV??-dM$_0M&9M-M4ptH!Uw$Gt8Q5`=4R~>Y(#-g1g|qI)0hSLHmK8bGi+IS` zx4Z=d>Ml3XQIZu2C^;nj#GadB8Dt#Tx7JkcAk__5H!&f^WE_L~u941@qn{7J6+IvW zk0FQl<*zI84S4<0(gM&E;Ft=#6m7z`w?D_AhYMLpOuExjs)9cp)pv(Nrwg&c!JsW3 z;tYx@GJc{x9s~_6k`48sa9-3y{&tK1-gLCchGW0`h|)o4f2%TXtGJ;CnC!6cB8= z;9LFc;JwuYh`s%WE6tPsu*jsF;w`sM{Ae7R$qV2@3_hZI@rSvmUzpyZ!0L%>4{(qdeCsx$y=~q#bMwJO!Fp$K!47VA+)O`}l-@-(~x$sY6zh5RA z0we3UU?Dww?t%WH=$g8TmFi+icPvB7SUt62A>2Ldf3XB@80+`GAyvM zEI4esDx34E;sf~7Atp)*IvK195&FgIsfNuu*)Kjj$2lX|HiQTkO0r#D$U0#f2BwL{ z+Yqc}E(OZO^&;3bcfn=m$9xKsEFh-u=?xLzRc>Hf;x>W<&%$BDesxg57Ev{VoVM3T z*)gEQ8>um%9Lv70rkFsd4&Bor7~GLF`-v<@7|Uns_ov=PQr+jVM_(A#3; z0@p@}M-52NFeM`Lq*?#4gM^qIW1KO2f@#Sj5`@QsH%MF=(#ci`?tnY9 zDI-C)-HlC}l9>y*!4F}fLqys@#@YIszg|AP#2>y*nPvR=PS+a@YM`az|$1Z>DpZzP=iqvDn zNi7QBP+$L3 zSt^cWU=%cZw{#J8^#QB>slr0)@d@}N3I%$9ZB_&?Df0)7YeppGSREyU7Dv0pSKJKL z5$M$#x6yg7%ha8(&`!l&(?PT37s;&;gRiw(nLehUEu5g=u)kj(`nWG_un>v{$&=x1 zHx%t84&?0hSLrc~V0xhB)Y>8wRH%Ha$h=Bv^CvtNFMU<%cX@HLdZJr7=GlXsR_I$w z5*rDc5bM-az4Zn8InVxbgdiE^D7w-7=E3oIrHrv(=rGn$s>tSo0>D)Z)ZvZVu?ltO zz)sXo!RJ1>K3}Iel-z~tVG}-zj6Z(=;qY(3mqU^{LFvg#qbeL}BZyp;qql@sRcDbI ziNJ|dq!iVB$KV1}1%+Mbjf0AobRsA&ZP4^<$U;Y43`^{ErNkNKPbVXkTziA)%X?hp z=FP(}4Py|5YUCqh_yTC>PmXWre5_aoVX|-{h>748#2zun&he`w>p3iWVgMU`%y7cI znZnBaPNkQ+2dJ`Z-rXqQ9t&E(q_vs{Fr;Qj>z#AWM>8y3zmlw?z$w#mrSARcI-t+0 zT-9lS2&r(S#Qpg<;O)~lm7g)x7E2o{IAARSFj^2w2q;g%*+Xb6{Ny|6%&I2m6r26% zCjXSAN!z%WAWTQO?~W!vNhVYf3}+xLrI#Z4ai`Wt_E@4Zps8Z}bzbzYv04LXSjA_; z0pnUTcwXpE+PlTviSh6H4(a4rl^@|_y!ej5wcAS#qK3_n!$EN=^XvC0)1s7*Gv|Mw z1R)QycY~{c10ZjE9Ui2A`23(1d-;d0*Gc*miJhA;m|P`hmO>g__?=zU@&K11M6^1% zfjezlYIcsBpfqZ%t08D*Cva% z{UpD)rUy@{5V6JV<3xoMMvM-{;cI zCO;T4&uT1cfa-(FZyuocoB;|)-^ExHmCfJELy!so|thypzN;K{#}lVtpt+_6gv z=3B@ZHcU(R?;$T9S?Q6Htju=}Mh zxx(n;tc3es5v__Ux50+KH^?FBxSkch)S}KUcFvI8^2tCxJ0O_=LS+BdrUx!C$y#Yt zA_B zP3i66`jhZ;F}1*Ewsy(zNKH=S?=Qh^RVCuy&KMdA=)HsaS3eq5v>Er^W0hki(IztE z(|$Ba(}~D8hHqPUnJpI|{5AX}NlRi>opZJAD2v*y2h9nbqvn6k$ud~P9y7AR4_v_F z@u&f~&|T|>d+vxS)SP=Y3Vzj(#X}{nh026}RoGj_y0-YF1NnqECZHhQlvpKvW4?OG zwfRv_#NNf`s!4PCrw9~Ok9M;d-=-0K7fs;QwQ{)n7JMfu+6%8-t?NcO3mpJU2T`xmg1t}Ip3 zEn|t7xKSYEf?=qEB)Np9-Cpw9zrHiJI3Z+&G^iIK6WFpQcKzbm{G{XE18{GRX`un&qj=UaLOpHOh(>WqUc8pwGR(}{mE}lR>c>Rq-`1d9n=k{ z?pMMeRaGW?OrYuiJTU{^`Kz-4;7irou*7x!j-E%pBVw5~gs;5`^%egc@Ow&UP{at~~b+dvH6)5b4oz`+)^bdt-i5CSJ0tZxI| zM{1B^zT8nkn4FuDXcjs+Gy>H!K!{pA0Z&|GJu3hN2-piVYIIS^#qf^QjHJb)FEbzU z|6}~J`+cNaA^c(md<#O#Srnq9@aPA*q2Fw>(NpEa?%h=Lz9NeEw+}x8K&0}DqusaNaxppK~F8;-qiy6&a4BfIzP-S$<{1%3?@rjT(+=-2WUXdTn)L00#M1WZf1xa zzM>Dbxh&3*Vu)`weD1BoMj!u77tjWO89v|;d+gZKuz>^3dLOL8z6Jqbg602k>&yex zeDMrLFJ*9S(1;JL)@U}FIe834q`ouVmO$r2_$rJ-`etIoK|2J5Z;pP!S-z2ak)6Er z7Q8eIUa&u9sW6i1P7`P{tIGD$QU2bP`mTW(kL-)rq61~=M-QeJyj-&? zBev{Qq9uCDJfj8H;TBCte~>fM!up&p(mRo{0b9uW__^sAl|5`WCY27XS*I$~^I_g_ z#D58kXHzOK5KR+{KvldrndPc~fm{|lwz|qlx&UOc6{{x9=pnPvQW(fhs6noXTAZ_& z&_UO-xAX=|9^4&~`_*d6-ck|r$>(W(=*!w3`ucc0Nb=be!hLWJzuH>~WKbv~F}gUu z{!H3rbm%QpEAHg3&{!&Y6qZKbepVi1DDKQb3;818HY75S<$5GiJdk+*0+dB(K*RSv z7TqIn{2q6+42tVwg#`BmTFic)^XKC+uy%K&r2W~?yr*58R-I!JT_GS%h zRb88HLq|82=l8yKBw)FhPiRL@$2WlmY$=cJeubpl*4+`spzN|djfU`_3<2D?jjdIF z*AgDRKz@-}d5L~Oa|k2^RPc$jHW;cEe)E$BI>I4Z z2@r@2i6kiCj2GQ%egG&=4bd$mg%Nb9Qg0wtNFW;jBL0*hEzqtlkK3!m#Q43VcrVw@ z^2w$aq`FXp*)&R`p~@|8Y1%VRh=^$tclIf4VF2DF16_ZfhZs_PVfwBx$~hq9&u36a zF>oCWdPRm@9y*!r|GRm1fxVRMO<3k>Fndt?ei(@|GsIakIA9P@6=$Yy(thWu$#|I@TH}1C_em6 zU9bYBGf8C~e-Xzt`adqBv>Ly=qov#C?U4vFYEpk)crkyMU~Dia#?OI_ySCNB4F4`+ z`k4rxt-F3u>7@$7nXG2%8K>BZ-FvO?9#W|t%q%&D& z$h4&CPo;0mimq+e4WT?s<3+C*CegrX(0sIUncXb%@nrux1DK)c@^8O0*)q>eiTQe? zxYS|EPz3HV+*6~KVA6NC+P<|C6VwTP)KYr z>Y^3XCBU{DkIC{!T?*nl!Zi|p-Les5q+vCLxYxzlkb)2ngZH044j$cP4x5^jikIty z7gHeA-Z0B}E7rgDD=t#$76m9is12>WSK-z1oKVDGyF%^8S5zJ8O^{)Jx6*J<(n9LF zwMS=mFJfoOkm*i{(!&G$wICGyF$=)^bCLCVc@lWf!$~tHzW~3fYv3T0*tJkWUlNkc zS_Ixaij@RQjMnQN`^ec&vK(RdRf6)O>Otu_nZ&l>H%LoDcVCt&0Op`NBg7@4iHo}I zcm%?w3O`uZp8FDcB95Az*!wy^Ixp}x5ni%o4+IO@HejZAFzDaq(M!an1ygH?1Qbzu z528hj{L~sO^KyL((HfyIF`{Is1c_}d8D8Cm?f+5V^`|U=a0J)fnw>m&PXTkdZMir^ zia5~d-{NDvQZozoIEa>tPsz^N$&pbRB!q4DE^{6$R#PJe zU`O8<&Zc)>sFCi{`;;g%2ZOQJlU4F~;z zK8z@QJyB)~`W!A=@(S-UBTRfJLNi3u+4Ibi)(I=d&0wK@8bcjN@#crjD8rKEUIb~M zOl0xH-pHu%>#cl!5@v)q%!I)pMpe3D+q7oq65(GT_<`fKLP1jjj@ta$4kg%9@kC7_NUyb7c2y$`%oexkm$)Eb=pwiOvP6q;R@kxdXLYfNlU&Q zci?;Wq*K5SCM*sYi-_CF%&N(fzkJUyptB4aOjNzl5jMU%MF`!)%dSjKPW*6l_Klr* zQgIk1HYj!G4LIh98 zS7x5?U2?xlj26l9EKJm$f|o?I%8zwb(xDk$nbbSk+pjnKnUwfV1 z8xQt*-wz{q_Y36FBCQ#;!AOV!QtK80svGT^A)u~zGMksGoSVLgGW+R~RBCw5u#HBt~NdjB^&+6t+c)YC|BB>%^;YuSY zs&vY4Pv94Q!uNiJU_w25ZHtnXv@T%PdM;mt5L!SZO$>O7GZFOjw#m2=m8ItIJUPg) ztDj@Mr{0L$L>_NWl575U0bq0~J=_BfTsZS$iH&Nx!R1zagf>LHpqlS(!CMnmf12T0 zLsqrcb)Pf0BKBZ=Z?Byq)6oL!K7*CQG6tmx81Dm%6U0FjrtH2TaQ9!HOJyW zv>{uNQlo^9(j63RZqP%^b&+FmD0uIK_6_4}5ZPX4CdT3OsQw|s!J45cfljN(#yd~9 z>P0$SxWgxw^1x|{&NKo?!=GmXTOvsB9P-1U<}u7IKXgUxO!iis*IdetBS*hOBGNk( zd}+ooMFb+xu*L;>C=3H)fCNS8*4=xo?2~{1mk`+cSuy|vbP-fz)S@RuXc(O|0nbnZ zHlPi^n+B3*qIL+e8R&yA3yJ(tJF?geB)|orG?$m)?M1*T>Efw0_!LtVP_r?O@y-W9 z2s{q-RsB~rjtqNA(P+v7y+o_Nt3iMP_WU6)Vc&Y=z#4=s^u?DTaA)Cv!p#2(n_a@@ zmC#`Tf`+lBb#Zt7V$hZ0j?VSX3Um6$G-}Qlx$OHE5PWM_-BJ~EsJYh$tnpD443PL^ z0ILXj#dA0X?7V!*Xd$S4t}$Xv;x^c2{0QTE*R0K89RT^fhS}nc`&N5@8a+?7#U{Y2 zd~!hU17+)itEfZC33`tD2N^#|+Ei)2TH1okwrfO{l~>F!?;Ey<wz{;l^G*} z_{P-I3HU{$w^w6(l)BoJ2lLbvZ^apC*@kQ@X@5YSjOTG_To>0Vx- z46_G^WsbJaKebT~!9r% z#wa8#`hA^4Qu*$-bt5hG{@vm40wwEIQ)>zt+GJw(w)`=HzK>HesFzlV$l2nR&~K~t z!VHvp$TDwS5V=@KWLX(R z`eu4(lFppwX)&>zn7wSeX7cZNA8=KLKh(UvRB>jhs`H5bF4sK1ll{7cd{E!NjYp@H z(`+KhzMZUw^JPQg+5Psb_bxZz6aN7xvBmTv&r2}*>_J__UBjO}pmVo@Q$S~Jr3p;2 zV6?;ib3^B@qs#F!qD*Vuu23~vWUx%X*C8;z*^@>6gAH9{=cn<{{nwIQ4E> ztQK6>wKpY1r4zHBrcp%Bh)o-IjR-$8)d^8tj~2bZqH`5_xSXt!9q8vDAn+p-yBzV3 zm#xDinQwuIjE$X!`)f0t*ej=QtS`;=!7AmgkSbwKk!>kec0ba8;hN6JT#A`d{5JnNF9!Wp}uJ`8OlY9Wf*cEK`&~EBq>($5v(GM6xCgJZ=-Ob1Nx!9E z_mQMyd$u`G7TStpbXB@Nm^mdE;rTtx#q)QB%2LOHb*G&ylKb_}Wg%IE66pY%zYa^_ zr)~6Nuum6=lV!HVUHQUgF(_g^xHN`O41q_{|0cQ|b%4!y)GNnmei!hfBhmQo3Ul@$ zcOH1b7!!Y>f4`+F?0adMz&C+JY&slpgVFJFmAH%u2kOR=c++FU|xVJcaXnO8I120!hp{3;CMkDw6vE95!g{Ta3FeXbE^x zV)o(&ceT0=XO(U7OkambPMgM%oaajgW*S^ z@$|nI9%IoW#5#BTbv@xXG|1knCF(x$@xwTaM{=+>ieEChDYQ53VM!^aB~Xw9Q>fj= z5S)I({5FclaWod(*VX9EL5(8Bl?DDu)Ms7JHLF<1zxK`|JUsPi(~O|r##j6oXagI` zx6aFQoC8;8#E5Le$6H76)<47`b$d!_6yf;|flAqYF?Hw>{}Jg&(KQQKs5HEe7_}vY zhxX6s7VFl5g9N)e&pY8Z)06_1B$cUdz9rBh&HL8N&AGr+Wotny^-(y`q+AvbyZ&=C2d|Q z+exB6%(J3(<>D$QGB~-KO)U+toJM03o2TTbQ7mauA;xuh)Mk#rGhxc!)lOxk;N~om|nq+%mac9)w{{^7qi^g zKawNq{`%bTaZlw{<_e(y$0l79!pb<>X-b5-iEeC<`V^J)qIV9MBG2T$j^z9DIJ2CU z=G|Ii-QPJm(cZiqFvGEU7h$&OHZc_N)j<>uLYM#zJJV!8$qU-CeVuX~9iP~D95aVf zD2klaOwKRgt&4X}`MH4lV=;0Q$--&0?x)wb(N3@3WZVm44`aCKpRyaq--cr#+k7!x z`ADte*gXi{b8x_Yl?5IL%|yIe3_PR#UAEY)iTf=))iWoz6NO+=%>$F2a8aVYAkLa1 zQ`uQ`=Z3XVY{viVX$-zCL9;BTXSCy5));4evtPJ9n*Ua-G)v%Qh5V^)gLL^Dcf&HY z6QhLu4-7)b*nQ?#BFAVhh|+iOyasbMxG>^GPu+g8(YE-OL>+)L@NU4<2M-mKMZ|y= zU)v&U50^8?a31C(WS$xlDo&itas~BWo8oPt+3dpuj7CJp;I~w8t35RF;-$vV@c}F z?44R$!@b`b70ZR<^KZ4=(WLfFvsKW>NQuCA!#wZyv|B+4R zr44yWIQ}h&xZ+FxJPOM5#2lSj3%3=D*7y}Acrm)05^j4t(6&-SgCT~1d(5dVm0I*y z8JqR3YDgHlsgb6`M!}LmZ%YWvYDig+Y_<}dKEp0m9rBHjU3Z=SaT#vOZLoypx^PNQ zNhTeWQVD|9V@JKD;U-fH$A;m3m)8l?v_xEQ0J-DOL;lFz*UIJ& zT|>BthmyYpK>*B4_HQ;#gQ4KrUSYYqL~ScmLX=c)=EzN)ML+|z+e`nd^D5nVPEB1? zc3$(s+-`|HLr-E7*dYv7o6?b}&9r&>=4>#Y3xxn~{$<&5{L3FD`j<2eddXNzK|Spc zXR|YheP~%szblScCMqlwN`X*)_-L9bGWj7crqQqK1bURc#TRrE98$W z8%>Nxf`}PkDPo4AC`uDV0wK6uBtheQt>>nKHmmyl>WmzDe=D^UtNz*UFxQ!TSDMjfB(17yDMhqoS8Xu&Y90O*ViGW zc*(R=h_7H5dF&y!alHjv3&7gEYDrs*@`tT{-7CN>iv>@QkZTk{*omeWu_Ya7Yx4JISY;cgLD(|z~>9oEr=hee-aSKoeJpl?RB#{^p zwSXbn7{uDJgfswJZS4*nCNf?dPKyk)8APJElxr$KGI;IHzYB?kNd6l25gyM?GIH^#z@?HwmU+YnG`MqLNxX|q|C){oq$)l43wh(w- zpv~t|A6l>;z=V^E^Eo<-(^@L-O>_HCu=h2qo;!1K6Zt!2Z=bhj`PZ4d_SB~Dh-pl^ zbbWUH^YvX8e2rid9M1CMElCkOA@$&QKUGvp^+l__MLt#1;mC?1#~>;4`evc73;ahi z9}V;*Yzt{#=mdY)h6CDFTme;EiqDil_SjTw@OWEo6fu3}bby7cOKt)OwEw4Gw$skf z^rmm=xKB{&^qWZkh7tDtHy$ho{#8#F_~wYp*b@A5zgY>X?IA=k?JrZZ=*y%7oIa*U z>r}d-rLgLR=h0E{iv{OaJB9wqAu$oVchTGiR0K<&4tA1FGMW=s4L#UYWOxal&AVk# zexI#SU@1r-;=+rel=S^+It{Ro$D8autYFcdtvTzGV5@LFZSc}i9UoZ#4H^-^Q!QhX zjp|Q>G{Y7yrx_D-Pi(*r-Z(AQr((P~5paQPJ?=S_X+RwotS2zLmmiC*21ygTV;SCS z%%>(tN5U_5`s4_O(#BLuj^1aRi7f<lx>HO81&$t@}G9o+Htn_g-bVpI;NuB&e;||>qOf8s{qJS|6)^j z8F4+Syvx#B6rK*z^DJ8Fp^NWb|7^tHL&$PQ72;+O7oVt;L57aetHMoYiT!C}XViRh zA-|WIT5XHz@1A~cHD+!tlJ->`j^VZ?=u^aWZG*m|iKISmA;bHhn0hkV>0+sTmnOtB zb>bL}%Rkg=#(`!dbVAjidk&JoZ<4fGf?^?q+rX_SCOmjY8JJX-R=o0hO+HatGG*s` zNWNa79ZnUv%>+K#EArs@G{#6yGDYFfpL84;aPxHlI#(w2k!#vx&oErzd!j)kHrj%9 z2-uNdbArv5sS9~VnLnR@;@jJ)U`T*BkE$SDkE+`lBaD1nTceerBf5p;=WH-`;l+S= zrDA)p3NwZ%Y`j9BrrBXtUbCcMTQoyV_`3F`eTgcAsA@x9E5(C~h8PpR*g^+k^qPSoB2b}At-Xu?z*%;sbAhMuH1n@@sg;{&a&^+fnB~(PEvfxhFN!IAMoWud z2(!#M*<W=WXb~*=fwG0{^bD;gtl)-nI-j2QG z8lYQ~@MfKUWd7=ej;>js{R=4;-&;%$mPZoHtN;G^4fOa~7MCHjm)L*TtuDl7i4DB{ zlS!j2wG|kb2*>U@Al8#z$8dO!razv$jf*(BNB{9-1QkgN>~*~LQfK4EzL?a z@=AEkpyd3Q(3l|_bsvb{Tco%Ao%8J~~ymsWD#Tec35HCo&)I!jMdw#U{G z)<`^68~c?0uC_3XkJw0`l~YB7<97^05><3CF^5pk>jt7ZUt+z>Lg$Ngb`wf!g(ne| zpPJqWZIvCoM>ouT)$Apmzr6I^-`@-vM|p=y{dvE`%i|k_si>G?o=tI0)gkEvUrc9K zF2!~(Xqh(w+%dH;;Wh%WOa|AFR&`URH6{7QY|lgW?Cn2rvV8gVkw--Pg9@I(p?-O; zEpxUM(f$}z;Fc&Ga!Y2mUF}S?FIQgKP^r7U^B^r_!Eo=_o9POWQi3?_AR6CQh5G)c zTcTWZ@IVHg?Dr{vTem;(JWm2Yv*$Llre5f;j4;A6gk&b?ofuFc8!~cV`%Nz^x;@CZ z(Q;R@Z;_ur;E(^nS7&NrcR84W97*yLyH8GQx8J(_t;N~vuqAN+&Gg?9k--CNg00r3 z{RgjSiSKP7k4s}de(c?3AUEB~W$OpqO|x53V^cSg-+0ir%$)wf&nmFLB)tEUES>UQ z6&Ta(r@G{fKO9%Y#fiZmK+}cI@@Pk8m?l4)+c(eEqeo2WRf=FR+jcNOAYc0&7B%+C z@!2yXp%jqJhr=7@j5ZKsAza+cj|!mo1u=A!pCr@yF2o5?AZu|6xG<1p6180(H@H*Y z>KTGMpziT0akpB^^`zicx%g>+JX1x zTZtk`!!da$<-UM~0FuKQx&vAid%RSY$|3T5LMSb901dIJKsyQ42dw`7 zIJsw*|LU){|Io7cvD@Hl)h>W2Rau^sQ!zw8EuaR$xhX^NPJdYWe;OvQeC@V*VUCh8 zXYm30C^De&eliXIHf%5zjScKwq2Jf9FcX>Q9oOP%Wj%_ozVv#E4uY>)vzg!{R~==` z8NSJ}9TGdqf;r((F7mwQpWx%7ezhx<({Z5q%^%+;hQq|~1n>n2Q~J4lWFwRJn0=jk z+)G~K2j{*^oN9gSopP{_Onsj-Q$|ELMyGZ+^RB?KF56tJad4q*QTz`UyZ|ujSdzm6 zdKJPOxHgea*awU9I>a*CWdG5*FlztsbaX7c1A}#7%f4(63*mBPYnbI&8+FN+=m!@2 z1->?=ih8g~?^xTdK8{WIS;BH!wjb=qL~lgmZi~(&TqAHYzq(hs=44HRf4H+e>KFcW z?#2NBsITE^)K!HAOw?U)jO)VW4nCZ!0loU`m)qsa`TcqsQpj7hfj_~sR4(eRtdmuW z1E1m9-&x;or7FWc=kV)1vaPm|kxKKElI)KU;8)TuSJ@EUYM2LeqDDV6)+QA*_6;P4 zs)i2KE|gD?KxnkV)r(+aS%*@1D#??#&|osw32-2OuSn_vXz=0#qNNd{pf1A+r*{RA zlAG>==*gM-3FXruqz|%?GZ7_06cpTNg8w8Gx?Vf#x>k3_z&-ngKOFfK`2X~nxi3;5 z1k0NhL_VmAXkGd5dN+Dt_8FXb%~F5p&tHVB=nJ3(tl5L*Wnm-4Lb@3waeh&}iX1*t zM*QYv{yYm7RR|v}vx8Byz09>>W(^N4^y4*VDQ$cC&%X$|8jdkbQTFbQj$g?C<-NL* ztc`^0R(FHNxk=%p!EOEFg4p#VkWR{z(m=>pWPMNq+oNy$L#<gbm=?Q+Xk)k zl|#8ds^f$&JZpC-%2Y1}*YwIib><~$&|~?}8ZD2uofd%o<*GX5BFYN(7elfrg{!@) z`OnP%0NHt~KS$r!e-qTTkXVO!QFBJY%QQ^KPJCXUH2P{c|C1ZFJT*%AHyiJ)#RFc@ zy_G)gG{j;2QGLQ2v(i)0M-kSTej8hfSr;n$+^*_alO)SYqw2huw?rhGUT20K`SwTN zQcb#J$c2jzxBak&-ThC8M;qdcJ40X#wU$j&5aqb@xOynN?~`kvA#nbuBTu($vrm2x z%-b>M*8K6^NnbQJ;qy@z1SOlzCEekYw@<8P_jcQYv@$#;bKRbNiI*%vR!+&|zm3m; z7^NTC=uj{8+k}L+eNv&c9Bcbe{WEBBhPJRZ0$R(v*=);APhg+rWahRxk^>=dQX}RP z=@4lKX!FpCtCSsEN%A;vFw382i^0TyQwva*8OJA7oH~#`Cl!3Ipl%ey%_uDhm~r(0 zKA0iljNw1J@g4#bd|GY1TZGnV>%WS@D-xfg{gH0$g`Wk{b1pPf3nu-``%;R0Kgnj4 z6-Lq>4&OyZ|PKzO)f}5bC zKpL+vgE?$4N~IJRKVV=2g+?0t>2;R5yMn z6+Hl<$Rc1EMCCG<-6Iu6KcM_+ys~KGp&^=;0;LlDTxv3mpd|uol&r;O4Lhax2Fm{x z9vwki&e#uuv54NujDV(NC--~6 zomAE9*{szy)wAmPYdr&N`#|52^Ko(t#)->rl#~Q4q$B+5#P@D)i)=@*a~A#X7ki{Q zBgK2_AZsdl<)}41X{C7gF5<{a8^bE7L8*;_Ni|EwTVk*-Z;eetq#9`uSL2xx_57?l z`2b@qwX$v^W4(^g5ld?1tCz<@xn5le7W!5SyY2l~VJr>T!8zFSYkc^H4@S5HqcN`*3#no}(wwCqXA^6ruGN^$;vr-xt6_nYX=l7DCO+lamT0LabbJ3}bo+h4Dz{_32^TicKpdQUI@n4)N~O6xJHH#8GvT~~Xq zU&(`QrKBnDYN2dO(rF>3?@F-_epD1U*dB1C6ol@f!Rjg}xDX3GpBw&uj1m-=uh52h z1&#Cksf8pazn6{JIWU8xxW+{hw^Q)*u%i*<)*Y{>z7g=u!C9F!TEj++&#Y0JE_JXLDS6;7+TnQO5?7oQfNm+Ok;JRXc>t zxD4E6PfO|n42g0ofAv)Y{ZYds7f1Lo{vv=gGHH0~=2Y^jv~QqQp0GheQ7biH|ELJj zJwaY>V=g)pQv0HbH91K#bR6Yyq=LaLtH)uncUJ4e4(&m^n^%U-Rp^rVH~e7sN=Z}c z4_4Wwhsb*?>?|u`?#5r2g^r3Lt&?8GCeD+Ojjoidoa4wHs8yhc!g>A&e9~hHRpNb| zlx;rwl2# z&9;t_*yINYmA0uKnUK(&6GjB z744aVsHb(6HGH8Z0+E1C;DTOgLkYI|_b}_rh##10gri${)hmkOm~bTi*ZUp%f0DJ_dx7r^@6>ZRd0^Qa5}b3AVS>Ch z7NS3X1=E&rB@zyfyxo_j*JvRl)g5NOsE%RI`Z#Ntr|i zIIJmue=O@it!hZ%fV2o-8;ku;>CS*foRghi`r zYq*5ZgkegWK6%3mswxS#F6-Ri$$YF7$n3QosHxOc)qS^%CBJhil^xHe4FpAx7_u&J zUlN-+UCYxY`)sk~;uhy8>uk`f&~QPEt*k*qvdS(75zeh_32rG8B$q~VT-E9;k4}IS zpkh6EDK^o0Hfozc>n0nadj{)#A=gOpmkYCij z8co_NbUZA1F(b8?$=fx{@9Z2Ete-3=%fg47MtzV%y6mvhHs>A@l#yZMvma2T@_H4O z`*Ze20i&t{*w50E@lp{oJnCY-OX{l=vtw=orem8N=eNmD$+Q2Q=S`2ua>2hb?%)dN zdre1f-hyX4X*UmU>83+ji)SZlTZva2c7)(;q9^%;)c~fH27UOyfd-QO#Pg}Ah1`Qr z!lk?fe!QiDMN2_>-?#pW!xZ-Q1D3oN^XJBc(;SZ=nr$0LEFpZ}m8~+(bPQd^?vB68 zK69I2qI6o~%`1Womyh$3#SO@G=Q2OiM<9meVr$FhbaY z`G;?WWXU(D@U&yE0^T{(rx%G)≧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 HY$E?3e}~sJ diff --git a/vendor/DPP/docpages/images/context_menu_user_command_showcase.png b/vendor/DPP/docpages/images/context_menu_user_command_showcase.png deleted file mode 100644 index 9d2127599ef285bed383b03cbd21e43e4aee8b87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22169 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 diff --git a/vendor/DPP/docpages/images/cprog.png b/vendor/DPP/docpages/images/cprog.png deleted file mode 100644 index 83aaf6162bec28d86efbe488cc4bdbee2af92b19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4347 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 E0jRk=F#rGn diff --git a/vendor/DPP/docpages/images/create_application_add_bot.png b/vendor/DPP/docpages/images/create_application_add_bot.png deleted file mode 100644 index fdf5f31a1d0249818aa075788e1845779296e405..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47652 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�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%0DB3JUD@;Q3Ax`?kw7AankhF%s4B&B)( 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

mzZvh1MWr*<`u@@S!qeSB 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

nzTgCi%_?_kI!t3+zcA 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≶WNV|_E{+I4;b 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

G%g5!^1HIVn=C*EC7r^WpzvET&XFjX|pX+o! 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�hy9IFTbCn0P56GS3TRmSPQHH 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%0A{oh=1o1{R{!93m(xVihtXDO#T-@*o%b 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

|84~an{04X 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 ji_8R>0 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

`_*CBDClH49tv!ANR0@n>5Jdn` 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

3#j?;SoUNt~mAakC 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%0AW(j zrIFXHiD2EhFc;!W--;a{g=#*%v$&n}G=n;uG=iuW2mi${WIX{oT})Q<0WVh6D~k> z2TW!^6CuWB-!)`I8zKd&z8>n1kyx?8`El`>L=pz>+T@eLs7T(`2j4oUP zF3Rnx4MKwzQX`BwsD%DKV*@I*pW~oE_G&k;8zOJeC*8OU!66?}?bLOfdtXdO&;bVq zE=Gt?G=ZQT`08dm`_HpJ^CC>CxzLgzooxLd!Uo}#Wa$G((pAX6 z+jh9;u&qT&HGQJ5lE3Mx>~UmvmXWT^_|)}Jv(o=Vg@aHJ$M{&3@%iG~nD94e=Ec{( zX+iVRxw*Ft%G(x4(CoXJmFZC}qv(a7|ZdOkUnW?umMyckHGHXvs^S;sZ=GZNbogEI1g{<3s zu9J2_`57L`Z&uH8;Vu{DaOzO*RpO*G0OZ(e3!Z8sGje-19bo?Lg*h`ci>g&)>Ri3qvV&UxW#zaRf#PtiONHP$|u2Onm>uNUq;`~E9{jJEe=sZNE*RMQ-j z<5U3p;eiz7j3qxu!Km*W-vgBsqdo=Z%T{oEX*=PAwJ!tF>)O~6nnsPBjkuGY zb%4VnD#1k(nfTv6p=Z;k?X^QAwajyeSBM|@QBG`-QR&sdB}v<5gX>0*BurM;qv>FW zc>Avu%}HGYscHM|zm9(;`M#k*^N*ja$VqbZ8dEx=dNayy?^y;dOl!*7&@-4G)8!$JCRX>uPB;6nHHJr$FdH<-%mpG;^_K zThE#?b9u>}au`<)mI6jAfH;T!M|Ny_K2Y72%kb{pRb*E$8+ZINm-RB`(#%tWh&84Y z`L8SKt`hr`b04nTcxV@&;Kp8=o)(wGo7KHZymE}sE#0p9bIJWe$0MNL0eSoi`POay z*e;UDeH;A_-qTLa5P=;pMof5J!|;JE=E8!#s`0sifDauYy`+E9L5Ewx*42`6|2BiA#J70zz*m z?ldH4{g$=(qSor%);B7;ZySmq^T z*HnlI5ae$#u&@wa5R4H2<{t73A_5Ku0TGo75eFX`pALnJ76m|ugNlp8&VolpheySY z&nQ5EN=txENWdXRC?H8LE=M7!NM#^EEv`>POhb!9MJJ$2uVw~7AqJ3e1N3Z|sF+!) zB-sEQY>d)u{DSQ4e0&zZ{AvyY26BP`enEW?Aw~ruIg_9G48kas!W<%^Jer~clA>ZV zVn7*5b0sOeAZd3^S@$>vK50c{YDIcMMFDLk?0?SzpfW&SMO;Ts!d@LHt0||iscWEV z8>t;yq#awPqiU$5=Az@3rmG!pfI@35sA(b~ZOSNYM$BVQ_0ybF!oteP!q3i0Ftj8xv@SKm#4*AQ6ycj2scsu-4~q1PiRM#}WmSqz z4UY?Lh!4$=2S+Bw6sE+srlb_73+QB+`e!(TGDmB2oHD@Pk$JI=1yKbB8LcJK7A3}h zB@U4##RD~iHFX+p^_g|`;Qog2tj3t~e+rQ%hv=q~@n-MjX1~1V;?CBZ>9*>gwx+g@ zq2|u%uCA83u9oc{vydK#sGhEc-k6I1tonX%@9@z6@Wy|mUdf}~yJPLM<7M5`%{|lG zW7E$|^JCldQ`bw?LrY7SD=ky2rE{x2^J@!RTVtC$8}|oqM~6p`SH~~c-J93TkJsDp z*B8&%A28)PFK6bGil27HVZ6YzbWV6;tc|lH) zPdjF@O<$FhvT-Up=e16K$&=aC`yvs6?u5~&9g8QKOwOWTTkr{$VB`c4S_yhsJdx8jUe)mdf#|-o(^|B^s z$FH2$cEC_dHCVvqua#i0Gfka)UNF#ISnD~<{2sx7h;-~D#)H+=uh$TXFyD09yq=)@ zjzZ7SeVMYCUd>|(0`2sD$44U% zp)&e!vO!dI&EBOh4pLvrS^fwn4-8t4uhK z8p2nhsP3A+zABc>zaAe}=+yl1G9yR4dxf*aXnL-xro)@KIdtM%jBxcfuj7Z$qlbm{ zGU1EA$1i>ENkFyVdAeaC}A6fuZ*_DOPTWBL{*gLaoXQQiE; zPwZFVP3I$$w2)6u8j6(cWwqxIhh(MtPL^+RQ%T)7XXW`*@8OBG0>PR#3L;V<`Pk0; zSN@XcM=yW9Yz>ntT#+K$UZ{mqF)<2)D1{8ctSx!>9e#}S+jOufN0gsnMaVl>WS?xu zZ-0GX`6iVh0mzfzq4#2&2Era01A3=nHBp5qx~7AKlhk1ro0({+;}C7@rS^!}$jM)k z&Ar;@H16oJWSFiJb!XBv$YomjH$~&!59iFN-(ifq+1LiN3vXjsvJ3Ga#3c{18e`Rp zF!DXt*h$;wAdUo5GPBOv58&-ol5bQGIUMK88BEq>7%^7E)NuECWkbuC;I%JkJebk^ z88a{keAURS{YZ9B3pv+0Cx@fMVrssuMkR~1yj$OC(V*%n8b`Kryuw3qU{2OQ`M9#K zf}~K8*D2Hk{jZbQ(!9P8YN3IbC>{~`?0FbEEEw6j1UO{6#>QPyer;ePUrQ>b{;3%R zyK*$zk2vb>3bot~wak>X|1xJLf6!=(-1Mz1$_kG8*I5C>l9SsMiNxji~A!@LOl zI5%q794sy}S*^(1lQYV!z0orL-VVdX*niXwK^T5U+oT=iXbw)188yrBfiR^Ey~CkX z8`{k(nzaQpH$#}U(to+#%vL0*&+q~P01eJMt(xK*D*N6aG zCYtBRCZQ)9&Rb@D;R=ElTbyWlnx3K=ws1(W=@ty%W``>8inA0lzm+&ZXRi0Jdjr;W zgvprHytrf?I==p%)ak}LENM;s0O4`6x;Ayzjdj)THXSN`1XLYe-EOv$@Nf9__2uS^GtmAsR1?bR*X__t%tOw5%SK-ND;h_?a5ox z9&i^c*1;AZL_4YL^F7VaZ*$}3alBqvTp17ZE75|stBUsh9C3H3K8)CXg5O|SbIhk1pfFdL|G3uC@(lcQHf85} z@Mx{+D<>82(eA6$Vqxs^94$&DhB3}%#88IWv+ZkDERd>6(-UONeek>x|NdNVm>FQ# z`@xF*r=y;FI_Kr=I%_g@M&z>fzf;KIRYq<}hS3)&p~N88h9H#8ps@%)oddrV5AWr2 z|CLo(7!MdiEvvOv+l3d{h%ooqWwRer!EdynNDskoHHVEMdt=(bt9FF)c8~rgV2*{x zC9O-v5OMJeAe=)qQ9|li{pb8cAReZ0swr&`xA0OCPX7zz%QDGGd61Y=7^+v;l%^B5 z7HCluv|0}0Ko8Gr0+FoQ8aRPIm;KAjY#~m~DDHxbxP5pLLaMl3ZY;%H`+eB)=}UqT zV)lZaUg`E!sG8u7w7FFpN+2Iqp*hARU%wVY6SYEX!kOc>q6kGXm{L7wT}&sX!qi`( z3-F^gc%uIn+F(ih>#c=ZMS@7qV5OXtO)5YZTH%|k(Fhv8c9{xYY0hckh@|k5R@{JG z2t=?_Naahwxo1dCKcasFTx4P_^Q*AE$#?2~Dq*k4z-An89Cladf5gG4zlZFO;=+6Q zKk{AUzbG-X@cl$q=}Q)(itrQewZi;Vt;!>#zgxv979^P9$GmsAWy0&dhZ&w9`I$F3 zJ8OM+%|!59iw){WYAc91hmW(y3q*uR49W~}QdJcTwU3{35%I#pGWWDB7Inc^a5YP& z<&AevJR}bS(O;NtHJkv< z83(}gaP^Fn*MO>LbEQ<0^17GxqX*KxWw6pyU(#g;$z+D{X2vVyU0E4Y@VbdYB$$&W z2(x6RB1Q{Nq*|@PwM1r#Sj6Dbsi(qctH3)CaN1F3W%#dWsC8xsMEPD*8Iwqv8+In5 z(#En?*k_K~w-dzmt>tujW12|ex^%LHcX*q6vF8CT%J1cQR|>9W#zvpo02fnVpT2JYdn6;65HR_~c0Zlk=CEdMV~y%$^tr@$ z;*MTasw=_+|4KAx5nu=xh4zsv%$R%+&3%K5q5nT)qEqC2EyG7~|j0H0JH zFB{Q>R2@9np)*l3I>aI>z0b>olps=7GR_5x-{y>-Ojp(ND-C%fo`@>cMpBM?s@3AFI+CrbY-HzG;z@-N zm~!JWdLV>VDYDqeZIDecLdX{P4tKuDbDRwON#N~@RBmDAd#BMLc~-t*1v}wG)uNpf zCF>JISZhHLxHRqoe^G)MUE5q9{_R5DaSthIu675h4*IR~P$%=)rfxZl{W4APQineY zLcqYy5E2)p_7xe#LZ&&XNY2a4#+u zKMIMn#i+3&)jXFGxgj$Rca3Ow+cZT(3z^+$!685 zKGyOPZC8)qy3f<92B;AZVKe|0DDjnG5Vb8-1$ZL_a#=NIk2t42oBtYUo1$^<*i=t~ zKz2m0bJK0ISV}0=sSD{WB#EvAwAIa)@PI(ns9}0hr#v{fGTqNbV!rh`)$k)0ovdd8 z8y=mbU!yHU7Uc+K#eEU+aH+{8qOgA^TBqK7EBU|UTD0|w|MwizW}Rc*s2%x{*4^<( zH+_HwH;t_SvfJIaY1B3oQ7`i>T2+Hu?N_zKf-WRTQxG-Cc5SNTiatD%$ZE41VH>&4 zA3wyv3$*c)=hfNIAixo#V^3w`L-CQn*yU4CH1q?q`=retA6R*K_}||twIB=M|A76l zJ*8gVh0p87CWpz0Nx8&fBzQG=E#jJXKJ`+(c@=b>+knP7hR$W~YO=FDXy0tr$|lp) z*6YoZ=C_CS1URiKW7WqkO)`r>D;m%a`a0#sL2um7Mt3QG`lI_F|=De7F*kKSZ~(M zRZZmh4Gl$tT=m9u3*a}N?R$^9YWHH^Y`X*noZ9(=WmXD8z%g)oqk!1H3J$?IMm0}S zh2$FfUpWJB7iHh4Cuggsq&Z@xbDUbUj;DkitayYRwxIl59m<_PU(vWRQ( zaUI&|J6+z(Rsl`L0<$Gs^LppiV$qxq1WyjD*rCB^IxmdqkMvM{rt-j)=P*aOT-U4HJEtr+nMNb^|HN7 zWLrxLB!PD|E$Hpau)Tw9W|`v9xLW=T*^K|`_bwRCERSN?C~Zuc3DSP}E$UOxjb5n= zlH}$St)A+xie8WVct(W}Vrck{h-ZP`7`&w~R|zbVg6;hi9#))c`+o{jYy1y8K*Yb@ za5F8_S}nrRI=`vIdJ{X`7q)s!s>XVR&gYidiv`FjEUuir(?*PvqAl0jJ=CW?wHN=O z5qYiG5$&FR?aoIu+k6<9w_mtsYA zA^{z5;K0$1;H`C~0ln7N-JCA;;BbWJrCpBQ?cLxF(Mukub6no{d|j$zH|qbLxjg=> zlSqm1JuTYUIFyl6&aG))j^BViT{3Rm-L~mVbml4%2x`7Jq)s?)o~a40;B;=Xo~!5C z?dp3@d4(Q?w+pPTLhF&R%p6HotzK#Cgj~?Iox#cI_<(Qu75!-@BI?rK! z!;nqWUO(%-6Apz2n?v%$Di}r0LD}wn?c}_kawR9_ zihfG=L*m4~O4QL4kbxcSq~e>FOPAi#IXF-C+s2`g@QF&%wlAhP}wy7~X!-X+c{N|i@m zu18<%*dvU(GM;t`FQ=M$2ysfs(+cWqES`F1aR_b%rMwZ{zVWIq^&X9C(fsj4#i!)B z?(ANx?@s0^?+PiAL@RHDR5xkU=UZxo?`Bi%HP737Pc`mBG~uFpnrAD=kiO@LaDTomjCq9hW@nXo48JFth#|_}i zE``RVfYvkG&PR_%1)Y@SOCCMK*ooAda3I&QUn2rkySD%9#*cF!?!>7Pmx2WI2x>!I z3>+H*#X!0^x$(qFvZa?9<1uJZmf2f=)G3LG|&hrcId0RF)$OXH^ZER%&?0fB&9XoB%9DMMKWv9 z4JOFbz$viKGEph-k~%Rgr(_x`wKx8NO*+|bo9#9VcheEVL6As72`&a{ggH)%3`Gnl z6l&-&$e>GPHtF#2BSaC+TOqrZP}?p=F2nP(%cI7-4n6b0Q}I1C(cEv%t?Fa*z8;!j zq6Y-t{0hG?fRZA>wFt!Wh?VpbbV0x#%u&LKD7^piwL>Y=Fi{Hkz$^?e(Cf_26+=rg z(-!N>fr=OrDTGE+A!MkqMkUcrQ9`=lq76ov3x$(bLaDV8SZQT)!zgEjO^!D@s2ONz5`!Ak!$D+>6TEG^y%J#Wtm~lRiwDDvO0CI0_NI`cmjqC>7fE zZ%+aHR1MxezZi5-2E71mFjRNr)l}O~Z7xHI8qJY5537S|#Bej+l+y*8a`C)R$&j&B z*YFUyw~Z-Obw}QOi*;6#OEz-JT^YON!bN?Rl2T=(Eh$+8KMaC9XLD{gMQCN7_UF;S z#Wq_4wB4$OIa&Bjy>G!S(LNRi9MMj-g#G_%t_>I{0me7jpyO+=yAG_ny!ayYFGCwe z)G?M@R-0{8Exgb&z`Rg4Xo#QI6z{w-m>9ngDh6a!!fC`2q zceCnu zI--$iJ}tlk=7NB`w0M9sZ0g>A@J9bNc?C!X7yv-TFrWhRArEY8u-Eb&gd=}dFM7Md zPz)`?F@8ZQd6|*H!@hC>y`9K_d<%fX#uq9m^-5IMn_l7+*S_~L&PefNA4TeCKe34| zX$lM!0K53NAtF$Wr|X~3m~|~QLJ%qwlwBDvIKd6t$7y=|*0#cRA9{(fbP?NH*!)X_v#fjJ~fX-)vT*(x{Z%2keLoU#nv0(WMnT&7Wt+nO3N={QG+KGXm}q^RC3 zNvS-7#BUTh;TXPlKg-ZTQulIINeNlSf`x1mgUMmPsM*AnDr#&X+Cd5?;6O-<4}5u> zs5wKjr+h-G4z$tXgRXg0_K8xd^K+Es{$RX}ku7HJS{AW7x4rZXl%P5b$w3dAP&Ky5 zJrM<_@5l<43#65z6$Ohi`I#DxZnOjF%%Wg+SW>(m;Z^#YCQ6xTKf?HRr7neAAiL?! zJ@S-Ad%K-3z30=PLe>9en&cR;)TvFjQE{n$%?&13q6o`eQWl9J zAd{4bK!?-Wmb0-BG~%;zas!WEj|i5CRbndlxHVX zmQtd2EK;iMDs~lnC!NNzZ~WbX@z6KkNMO#Rf#qa+6B$p**>jujjH+hn>n{5akb$k$ zZ$W?d6ARlV$*2D%a$*%KR&0%xzy&sNY)`<3^Xg#=N%9ecX`mAz3rh!MrfTbynSvx= zxGx%3LrZP!;h54d#3H5}6Ao+QOqD3bMC@*VBOBBg$9Klrq~V)yY(vXn=vN3MTP0WX zIsX;KSTwsYYHu3L)$aEIWvpqZiMvISY!AxZoyyRxMPzVJIlBi&a1J7I3s_fX%Rut- zmvLg3-=@TWp;4<$(!3W})y;0oZSy1C%vtC`4`72uRh@Tmg!G*Fv6fP70?~7lJ(X{$ zNpwxucuWZ=ehk@7P4da$dpkInOwKhdQfYV<%|9!Y9fdx+ol-)a_J zxSVHR^A|#?C~~Z0az}zel@l-KY9NJ3EPd&*Sa^&f4P;7Nhsj1354-HVzfEIZ_xS!P zUs(U{YnJC(XznSyz|X#FR#Vxw6hQsk70wDz_@)hKpnKi#?!UW`MDI9Jv!NbR8SQ=O z?}Rse$rG>am+CM0Fqby_V=i+`-dyvjuwtPz5>Ih+*7MaIJ-9bwR6A&iH;@FSONE7F zy@eYEL=c+3t3mC{?V=q5g2|%+AI|BrEdqZT5LS%)vP0UVJS#z({BVGg zs74Lsvx<5=SnL$ju{1+WL`7W0oT7qKh(y(cLnHJH8pOoZm_t9g7rpq9PYS8I=@7$H zgnS&ic^bkF+YMEm3AMTjCR{N*Ge{Q^KvOcW)k_5|bVy5B1&N$UiPXhjRF(f4x=7B` zNK|wKWC1kS+mqCDJ_IC5WQ;>bqqk`MF>K6_mW({uA*c8I#;htnaU4f-M3)jUMp#Qn zpG*Y(*@7A5vI2RFc*&#UvKNmMy1{@5kHaB+d`glt#c``KD^kTK+o{LODUHK0&n{)bYer3EXibiL#CTU+1oX_vNm=B ziuuBh2lxq>^uvRE#jOmZ+}psRxk;SNNlY1mH*iA(^hsD~g{Klqc0`b( zMKM2e0|bvqAw<}=1yl`0K)Sq~g}qEhM2HKo>CBTLNWa+t(Zai_>Y2n;%*FJc+swG0 z(7jxe%!iV)+>wE!gTtlsJo`jRKoZJk6hNcwPq#2Et_!-wW6jzaKYo-ht5hT*+&OJx zPJv`BZA8f26uz`-mrDwmC!xao3{Jf?h2bwLsHn1U*Bgk0oK3aq5OD^F#%=%1>IK;?c zVUR2;&C6he|9rHB;ZJq~tRD11z=JN7sSM?Mt}$K9U=%@CG|2xT4W|mds6X;eM*&U_ zoyZq0&i$*gbz(Lx^s6yIvvgX~t|><9gi#lD(OO`G(<8v)6a_~pI`I5XbJ|f#CC@(e z(QI@w#}Y)Zq)B`$J0uMvL?osJJ36x5&?ub@znDOIBp5mB+XY2Vv!uM zgHwG-Rh5JceN?iM3xv(1qs-DQeHRuQq@+xk7ZNd18qoiF>eE8|)7@HAHbqurRo3DX zkPCIzx5ULdHPl9R$ckt$`*WLtiOrRHgUGTR(VR|`#08uk*F*ILBG7?5FhCc5R3R9l zN%gc&8x{>rT6vvUdL=|peVBUFS3SElqsg5G_*Xi;&w;(aFt9iS(L~VNf`lcrx!gq1 zoX0QFPeJ;-etaj*0@hT7f)3=^K5J86n*i_{5Rv`QkD3t;Mb(p~R!lHIoU^g)Bpx)x z0yznTZ>Fof+DtX6or;F)*To8g zKoHoiwNH)s%Lz*f?Nr#FrBSmL&m^HyrCeLKwOId`ss)Cd9D0h&G+isl`&i|Dxlg?k zq!hm^rMV>f+rYKc4^`O;fzsK8+XQ8q8W;h(q*>}{qt?yYn~mI?WrN~z1k3HoPdHp@ zq|_Ysug?Wt(e2a_WSY}W3)qS%3@}I6{oB_KKqv%ThTU6MO-jF{-Lvi8PxH)6dZ($3 zAK@L|>_sX^IowNu&sl+o%NTV&Jn)D}oyM%IrTUH9p1NDnZL9n(U0@mj_i$p$B)BE*9(93Mig1$O z#NzX@g8wmKEsfPV_#-hETLW>%jB;S5ywd-TncxZz(QxamC-_{tU0&Rjz}{n?dKqE9 z-A)-HSu2*-X?@(cvq(7;%NAA?BRC;%OG6oMnqrBe=VTN5~VD4jD{9`smVaR1V8DU}B ztk}m{ge|Bf))=}*mK{onWOtTiM-baTxX#GE1er}HN&Q2?q>0>XIi?jmUYn@pt=Hn? z*KRT8Q?7spQ0Na>XjCp5Rz^G3edYgj7R!~nzgiv@8P-y)@!DagQ5Wmu`)Sq$e$|jQ z=7-&v=tCHR`LH+(RtNp$Ii};&Dcc8z-b)JOk-md%-q66sVOW5nm#(Ld>>+hY=b>uk zAs~ZIz+tEM;W1<1OD0KCP*hASsD4&cL_Feu4(L$s#)3B8sYPgqE^CBd<%phQf~!yg z)w~SN=rG>fWAW%=ZdOSc+=A_6jPgvA2GcAZ;bt9-1EtFJ8djN>=4r+?o3`dF-Q%6U z4WEw4Kt|tJXgEZ8+i^~$4!ORN7T+@Xgm(_@>YULqz=Wwb$#NyyOY>)Y-7c*rwZnd` zfu@hrMMQ&sPqJ3!$h^syivs^+L@#(UVYtRpUG`|O9kVK!0~_5?R{+X6SOdHeO0g|w z1paHl2Ge{b>@O6(2OZ`6*nKZUdX!!5j zu4nZ<*ZW4-H^_m&WbM{AL;)+vrX9OmsvRnG;@mD}v`%XWN3pd!0zY8OSr+amg>oa|?8t`gY{O&h}$D8I`kv{hx zSMF%NbWCSym+th*QK6x7ax<8N#x-@(PK7xj0=9EOEEnyn_HWXyZP^y{ML+o0vUP-3 z9aBDY2WLbzPpki>yhmvoQ4=PG*L?`*F792fb2_hrJ^$JH96uZ(3Re(t~I`%p0996 z?Mznnc(3J6epm5$c|t!=dA|>XzlZj^8f>WSf^FyYij`Y%=fLky0b#zG{S;X~re!_H z@TaQu*7dxfHu@}YZ|(hj3qC_&v8*OPA4dLcd2*W|c`K5{n1=3|(0&Bym>lc$C=XjAcs{n;RN1Oz7zGBS;1zMUpIO;H1fvC|9y< zsZxN;mnA0vsA=!-tx{_(XVu*KsOX6BP?uxpdYQl0tM7g&@w@kdfmS=J z2tIsq;TZAi#4SQflSyodyxFA9v_iY6vx+KDYP))-`yO~w^wm^kRi6erL( zT4)~WcM=aQuJsm*Y~bbyk`u-@+gQAbf@C3=@HU)q=~ZbZMUo{q)pK1=7)c<2R7d|^ zA!V>-1$Ko1haQ^+p~6OqqO>`uc@(V&Ux@MPDPLYc`uXRdMIG3mfI#zj%whH*r4S|}W@Ct43Kw4`wm76*XNjueTpHmyVvwJrw(4mq`i0^iFeW!^WtUYN z79v|XfhSAt^;jQDeW?m+TDgI>B(hERMxi9lQn{un6Ge+9wXA>%rYg$Twk;~%J{cx= zfs|=Q2tG7%N0jN&>D?x9vXRPp@ydGCJe})D)fTD{k z?9>HICjI~NU z@x+ScsAFd?{n}A}d8N84scsnSNwTmdsjY0gJxeXqSV~ulSoKOxFK=azc{RCccDL@l z4ow2*LUndMc12~u)#u53@|(7gJp&vlNd*$Tflomloan*{AK0)PGgJI`bXvIq1->F) zXn2v?p-8M-s;Ml)g)*=$!{Qi=SFkWTuxK7|o@zDfQZmhDt!+^-(>)?hAEuQeSEo)t5l>i550kgV@S~$OO_`c z(ZC3HDOuzOI6x#65P_a+paVVOhc+CrbSS8xua0P+%RM1zt%+UIWMe}TM$LpM49+E2 zsGe?_&>~-(Aq{8PF2HQ`_^$h<3P^_B-rg%5;S#e-H zfRq<0CMiiF0)o1l0su>JMp1bxek)odiP91VF}-m$rcowmI6_CdG%|pBtRoG;S;qsy z%rStBgy@W!2SRdTf{3&r02Y8n(y**$hFQcTL0B|#(e4x4`i%-Txk7LCu1+xoS13Vw z8z0Q!6Ki7ScP6nSObF4GR-%IrUKz_+&XSh2+|N$BC&hyWsFzpFq65#z9Gm42F5cW6 zH`54Bw7`)?*3{JovZ+k|8Bl^f{V4$r=mkG2a7HP$OvFM#2tuw?5KcwH4Bn|ah6U?m z8?2XaYCVxjr?p- z+sTE|9+0Szsn}5^qX$Ad^$@PjgCQxX$X@jY3L4Cyk=DnWq1h-|X$9+S0D3!F2((&Z zEohZK(N;}lBlU%#jLlgz#p%snpC+;=9?J5zLe*J4qZuuW7mh_4zF>kOG5zNIl zRx|wj0vT-^*=TOCnV0ntH?a!G8kkJ8oh9T@J?jL~0=2Z|G^+V(w%Rtdw!wt70nV~X z$9%;zo(!mMWj|YmN3Q6R$r)j6*ouj^Ds8OAAuj)Rjl(_%97HYhI7P%ie+%51FT$%x5#2^b1g~Z z6t~dDl;EUrn7b^u_A`>vZPO^+C8r%j6c!i-jgUW+=}ixrPgFg!N{}2BB`+Dh=Cv@M zqs-V&;E1P|wKA6Ro5mhY_P$mg!x|O?1)QDW2<$8%P{~Z%(wf$spmQt|5ZKfT!{8f4;y_6B~>zAI^H2dgz&C+ zqZpzR6(FWZpzky0o70*OiNEDzVenQ_)Pp4~d7BJUl&V^>4^jh_>8UZua@lcetb$Fe zIdS-Q(94HJff9zw$B~mf*u(Au90E*;0~=KlgLCzQ;m~HMveR_@)93>FSLbQhHxOju zwq3TM)m+aZLLqL}Z^LcfOs3drzpccxV7v)Scx&Ctx`lElO=*eHwYv1)v89Dj#C>bJ z-()X4+5^s4BRjEe20wVh6~6GkIlS&(Y_*82+|riHR7HyUJK%GTYr{bN;~@6}flDrI zlrui%ZMe!G7cn@SAF>N8XX>(F`&$1v6cEA@4%Q9mr@_iaA+f03xX?5o+U@42wVc<5@2GFH?}5oR351H9v?! zJQ%_i3_TOvnW|_}bm*F8X`F{G7t;L}9>f^z$zIb%1apyzL;W73soS|>og-+S@Ffo$ zl*T2%PzR1pS&UutS;+IHV821%5=mdbRNvcOUjfV@lgVAf08_(32dh!p1)!0wNz*e0 z;l&+>`I+BpDS_eHfXJEL`w{=!naPS{XoiGU9{=4R{D~s8AVfr3UGbqCu15;++X)t; z3W9_zx!|5~fT%@LF6k2XncCi@8e`cVAb0`J;J{VYMbO=p#>r0+h9YAeVG<_WuPt6^ zIpGtcnak0izR{882?7`-0T^6igJoeOk65=5mVhSQ+^j%PWP#+9}lp{VO z!WqS>nc4+-L4v7TD{B7}<@_KSd7{R&h(8XYC}Lc$k)ryYViT&O{O!RLWFqA76e-qX z{^6n)ZlOD2006cQk^CZ_Ngl^_8GNkpm#Xq3Vo8#O$kfl;T*zCAIhN{ zdI#~P1rUAXDoxi1ze( zqdwBwWDz0Yksn|TB>y2Hn5|!c37BUgL98Ll%P|c!s3)G5_B@eL&csd@rBNnjc`YUR9Kn`Uq7HK85#&_PRb^jVCFx;^T7cqK zilQFupBT8)$C=`qJ)UtM=WniJ%tU2a%7Cvajz3hbku& z)=I0L4mdr58dwDqN~g?Gr$i$@ZObKJ! z;T=k#yS@LLL}0=i5JA}F=ke+1d06I%fM$RGr)bKVfKDH#p{4_bDGefM4Jv5)z-Ds@ z(rhwh_>Cuic}PtKVL&G5A#gzwI^<(0&{^(jQN@gEVWMmi(93WF7e*&sz9@|1Vq?r` zCz^(hRw#{5!ACBSd7kHSwPEZ%qh?+dkxFLO@e|Y$2RczEm1apdPK}giCf88`mbR+% zd8TNNW;%Wbn5rffDQIgx!cjp?BzzxdOl5w#X+8bSKMEvQ{++UEAsl!fuhkLD>1l}~ zSXFpv{XJ)^87f33s^&#uM>eWP25XMqnxqO%8-W`Jnq;X$3-oAP?$w5LG$5GNr;@_t zby@!-S?Criq^hb`DH)g`tO97P%IatqXkZnJ43cS?vL?f!DTE4AW}ysK0xKuR+HHzo zkr*qo?q3$d7PDre<@ITvvSQ0IXP{EfAVHN4&|;4&&amJV6b*pniYNSpox0$Q$ zyyuiwn$t}qy`sW-Udy3LL^LX9AjYSS;AchLt6Jr(k!EI(`Rl9xYrxK`m(r?%rsfQ; zCaxyM4ccAccu}rQXx_<%ew7OS$l6uL>63Ek#`fQY!Q66+Y-PAy`pK5QJ?G7&tjflv zTqdy(CT~YtU z`p}ns-BXY9lci1xN_Gu@q9D}*Y$7I#cU>(b7Hq-fQV3|RY9_2a5+JWST-XZZ&6KUg zVpYaS>{UuuR=Tamx>j&@tTs7;&@qUg`pvYWtZcm(`_K{JuB^5O?lEE2w-T@6>S!Ao z$ziaeSUK+FriV1jpku)wrz^D7_*jXjdwrxQoOif;G&f)xT{bWqyK-Wx0ZR@(O z+6`#!kz)26E? zxmW|X+c8$-?HDbpHqAh6Zt@%l#@!_7_UIM#L19c>@lveg$m^pi-vJ}=+Svzb%I-QU zg~3X|?Mm=FjR<{( zK5_I0F5p_J(oAac3hY}?PVL#5BQwWtX{zHh!?7cl%QRPW9dm6SKSg4J?eF?AM(GhD zqbStAyjG8v!M~1NpDuL+Cs){RW-)LZm)~tUnk#UCj9ei8Sz>? zmUwayum*IT>W0oLw2fKx)ZHsaGbW4C0`Ty1MWx#srgBF2viiVPpP`|(jgV!i6&p^p zcNlOQxA5yWGXuXdQp}AUPcsQ*08Kx@9b2Gm@wTKwK@-8 zJ6q=?hZ7_(ffh~jBv185MA!zraBfIJv#P8XaI#h>>L(N9hmtYwUY1#(sKpU}NNvvBWu8m6_2e;tiuG?M-@V~T2v=VX|WSfkG&l;~D&xd9QBaJA_g zf6HY%<^=(8GSjJXLy}jFJj~4jxOrpfYxfCkz)M%PK}uuAnGh;wJm1&qT9E5i_(P5?)S81+D z?bNC?sZXEmzFlO40K!kUn6~;!Vc2cKlooMwU?ajCpa^HG!oNVmEBTT$ITq>n%wGI}qo0l5dgiz)hV-N5yjPC`bO{GLu#SPrv+$^!?Bo@3 zL+X^qPZP`&fsf%M&F8_K*Zj3-xF%#f%V+#H`$(biH3zZJV#fGxdOB zUQ@+^mo*t898pG zI1yDDI*0<5{Ddl%EtM;8ef(6Yq@SZm zbm$ui6N<&KK}Q%iZf0-Mar?E?8n+J~V&pqhaN$m9*f?SQcLPI^Icw6u?t2flgW!W$9N)5bRIfjp+{a>iEXn%v3oyZA zD9i%H5?ib>$-MkBFY!*8ZUeMLOKr3L04&Wk)%XK1x7dhyk%-uIh?BPh=i9RlIFLZ@ z%rQk9@VPa^0_`$6OJw7U4zFM>yz0n1554y&t<+Na=+mUWHRvozz$pH!0l@tTL}UBDO6;XWoGBBvjZ{V*!Vq6FSS{aO*!qu)BHf)&A(9v90=nAo2xM*Q_O{x>2#e2 z@{^(L80FRrg_R^nTYPPnA`}<-dfcy3Bx=zX%|434NT8k5#AkbERupfyP~xep!Y;RI zbTtYo1$a+T67YEE9UQJG?M(pjeDxiyUkCmLSYR+OsO$nIo><~7r*=IRi73&JMCS^o%7iqh; zg`_>(J6cDSHW5$qf3Zca@YVGCz=^P7g(W-^-_wG`1B3Z3aBOK3;Rc6*yBsb7RU*N@ z7}qZ@MGk~bA`ch-Gy~2ZYy+KB18tnMLfMTDhNlyV(fZ?}*6l7&G{g_>=wmxE0IG8i zqYV^Lc(O88g+;XyUeFd$85_ulc~QKX^B4iW=yj?&)f?5%N;R}o8K_!WqXYg3Arp97_pX&f^iE-8>1P|*v?VlK~*Z*8n@a9M|*N>DJ@b~61k&C zd;X6_CP|-&qUk9Fwa<_VRb;UiAwax2@{tkU$R)-=rb$Myk`=t*z^0_h4RW%BT6$b4 z?KPS4oS~HH!B10gfCOE30U@qbTPH|D$35KCh4>M}F)IaA?!AE&lK2j&fGJF*_!K=n zG-m$^1qDWCX6|4Mqrd`6kj~mP>JG)rPMIW?JRf$Gn^d%7LR+Xsf?%wir8Ct}4VoaA zu(O@9A|H!(B^xyPRy#6z5giE6&AkAbzqU^|4@zxKo@h9zis7^+Z67%-7!odej8 zwIeh-hz@r`;Y9^E!Hm)ilZo48ND(tql2T@17nlJFO?ifmef45(IAknoN{ZUjG?6&H zPoH2)!k!{zr2v$WQ9&mv+4U@ozEw{Zd)TKWfNTtazzGq#8dZWEDmTJ>lyHkzCn0ck zJZ-RD6w|Xj=6w@-hwRxFvBxkkZV#P}`bh%e8rQtp;L7*mFf0-_T2h$GmwIS5*^v!8tu ziZ990Ouo1QF}A=*NxLObo>nj7NzbG>C5Gd^NDq&_t!;^nTUe@>x8?0-aFNpFEdKb( z$3*5Sy;?huG1UkkCWRlUJ0|#M(KR&U8DhJ;6Y%o53rcR@HhBonM@&yt*S(&h-b*rc z(gvUPz3iT20Tij(#FvTHYhMX$D**S?QA!j^%Zv(GM=!X--l-!)J+{+a;-Hxpqr*e_ zOpB19hO;SFF}>>LVi?PK#w1X6mLAaRR+|>bs0|Ym{6wDM@YZM5n(S@IrHcO|F+o4EM#ROoj4+#(bqsl^Uj-#!YojI>nlu z2a4!*Go0m|*63*O&J`A;o;xkq_1$6=Rgl=P?$D2`DCjGB@gbxcR8~}YNVo`&f#il;B%CnSml{@a^Esr(w z&}``k(}r2bA~Gv^O?_Rw>hMWc(?>(5R)w7pr(9k%k?qR@F|CE@EoJUHQb zzk;|mi_P*rTMM#(EpX;@MeEDbtnD66n&_M-Pbr*h^nQEO@awBcL@fv%*e^^7-NyB` zpYJ7^)AALZe82mB@XgX|Ua>_KZgW_tGDkd~DG(A!@}MRRK+WEA?91Z@iv9;^@8M*ixDiMon;pf5g%sbj`2y~=KA+>6fO3;fv5R@^S~#;+@G;#XM1 zTKG=x;BU|ZjKRJT3>(aT!f^l2CMY5e$RJJtr;0jsU=r%hE54=j;H3dIiUS@HaYXCn zCh*ljuL4Ie$4~(2ylUpMV-Av!e})eSOW}Yr%mmjA?0zo=RZ!;AjBZ|V_oD3x$4jT= zEvPOb=cvwD6c0wS&P3=>>->YEII0i6LwDBZcVqNC&UBVHxBxvMTEDuZW z^Oo{oK1m(d(X(vePm*8~qbd28ZyrJL9`EttP|CdGL+t!fV}|W!1hN&w4j@;^C+e}+ zJVEga>VB@$(e6Z2PN^b`PzE(JIM&UOeC8v!k755pvLK|zpWe?Tf6?Bkz3>MuvFX_TZAH>0gPIVDKJ zGdv^iFS$=MP!&BJLMYy73!U^yI|4p&!zqLy!TP{TF;hfbl}Y;yCYUro{WG!nN<+L< z?)(SN7_@NGbWMRV5Qyk9qV-MTG+zJYbWRhePV1CH;X*?vqqTI3I(ZW-t3}rkA*e)< zP=&J*(k!eJRZ$uBUDpgn*~1CmBgmk0NUhDlIOIB+FFTFnEHy@{Ml}iVBl}L3O-^Q2 zL2*}oA_~Rt03)_0Tp?Rf<2nv*Jx3D%z)ij)LYn3PCTEf+UA0RcVt?A`X98!_5ENJD zKnB>*#H1A*!?DHiVoI*H909{ZKQ2$XRZk^n)?5lcJhY#16j!6kSOzs+hs8wO6<*)f z2%(lzoVHTd;9eQBXSgMRGWGuagX=ss2Ej5&2{t_aGC+ zVAgV}wJ0%gLMwC+byiz>7GQq1q?$xKEyqvgu~Cdx$SO-|gOl~vRb!IVT@@7;X?J!T zwVN~nvL5b5_OD+zwfU0CQwhH~LW*LJ0?c6~!&pY~=3 z0bhG}S5a5+geiDSHwOPT(aOknd1L2np*L+aBS6|VpAL6N%E)>p?bDp-)5;pmI4=_qU*)kWdfAZ78cmlCLk>LP!udXyQ-0vdKL0npA!&& zGkRWbmgN6Nnxsn_uuoclF-j_*ZZ}a^T+3BNXS#x8SIx3H7TrvzH&{6G_&IF~M}mc4 zxnmxQ^qMe0c!&2Q(QBzoo2gCsg`ZlU*_N&ftR$_vekCEIf#ybuafnPx5JaTvaO>s%fQF?73Cu_PIGiC}^&>OW3nf$axtvX+y+2%&Kn*OM-{{6B#N{xlKI_ zTtEL9>-;pClUvlC19v4%w}fNceq-Awwv&l%+tvgpJh5%twr$(aOw7sT&i6BJ|At5EqAkFzvDn1faO4?P1_Mtev7`@4TyEFsbTR= zA?j=2oT9$JW6w^}5vAqp9^^z+NxEcS2Mq9A4g}D(uCK||+eyw4klT);*`MZpGEyiV z4nA)tCx42F=|o}8aSLrJltEUhsZ**DZfb4e0&LPG-wZ-@aLECKlL`mbfZjJccZ&$@@(fSu+T$6gali>c@gOk$5 z`pPtnLm9l&t$*}7d#1~0jlpwOOz|CNnc)T|bfZ@n2zCa4-sd(^dAE7~{62H3;H^6* z(fw&YIk$@P$GdLMsA7viP9nOilsc7CE_hkfpE{1Eo=z}xyEjQdFoVNj?;RpTGJTB4 z9T~}H<*RljbZ5U4Bkd_DxU)cV^rbib&nl+jp%W9dO|C~&DgG;eVz$nDWlV0eE~@`- zxgiv`jR*7yk%#~11~@bJT273msEsq;Zm?_HEAm$9C46;dSHg&?vDHugsKXZG&J(v( zA;>6G-Hv$s&g3<)a_^#xq}}U<-Sd#*PcJ>H$SxP6y>cOt3+ak%hukA`Z}8v4Y99>G zxYnRw%Bzs&1_6ijLWi+*2~;Nqocu>NI;qqs#$LTGbltfDy$j29gWvxkN;(H~an$oT zP;L8v$p0|X6u|!!a(1!V>$<~1Kx5RkY^*S`^);0FgecVvJqE~^ZI$(^)8EQEH59?<-GBGpO0oL-CSrn0DX`U35pF?0 zSzc9}Mp1H>ZKkk6gEc|Wj5$Z|?k(4WAGTgTKfmtDHkt=FKKpqGHC#{nt?n`fhiv>R zuzyzIwQSY?t#(77a=tCgKUM@?00K9Z68B!n`X%gL1Artr8R!JxHQ4X72z{jwY z0)DxoFp)2n{ED8gs#GC0iC(vQt%zABi574S6{pFn-`a)_<%ve2Xg(dz2jZ^XQn1@D zn&p&9$dk_fvqMBLM_VT5_OW+qCpj7(No6}RAUYgwTCF|K7wAvxx>IjN^TY8GIIhUR z_cQ!(Qp_0^xkTgU;vO)Qk*l%u2R_R-^=7loa=NaUwf)yFoFtVg#~3R*_Xvm(Rs7F< zEZId4N9@KQvqk1u}+)b6#6crN3#EU(WR~v=N;Z_886751ARcb ziLmDJVO(a~5$fSOUSjr(nS^}sCLz{T$Z3$aRVr-Mu1~Adgjp~6EoWlXeS@VQjx&IB zmr3Z5^9(HvbRf!#NrZt%plQT1&JNj{fwx1DG>Pwdt{0Htrc>I6A*~8x-@hahLod6_ zqsmhBQ&K|o=U@0pdRa)NNR<$TJ~`bQSeOL*YRsYo38k9gmt{)D)DSpzia2fZ=wRRm zyk!*K;1MY1l&n^0ApGNR6T)tD@eQVBlzBEA@WwV0ZbxBO3N*S}IhGm;o zTK>C^Y9*mMDNW`_TN_#V+t;;?C3mwcL(u8cZA=AkT)w}`!>a1Yiwpg7CdwzhI@$F{eGjkY?Jw3gmvq0O)$ zuMP?FnV~@{jF&Ni`si|nM3#9Hx>=HP(7c6n%iCeyz)dktTi~MuI%1d4RkA(^9i0G% zkhBZvb2gM%XMQDCS%*t1-gu7F-Sh%p$>h-xl7atv-IUdgKGRVF_eh$%FCeS%J`$!M z2gs9ftjjse@%ts6OR%hCeYpn+{wS0teS!Wal`r?NEM>6Ef-__pCgKp|NRMuw?SrhP z4;kW_NUCO<{doNSANCgy;rPcV0^``fZ;I-V(2EpudiH5k3@tO_Fn>H+-MbSx?~YRG+;`8&q0>$Yj(?xQc3uxr*ECqmwYZB^&e=vHc^`pbn|0@y+I zKh#J+A=FPPUm8$l$uS65NMUIb0n)$)HxL*QK597vtBN&j3xBu>3mZCzafp`Ff2!1$ zmp`&`+@b?t26cA?Ym`b1F67wYcS^(v1o1qjJR`}2HFXQ^TnTjt{jxK`2G%8AtnVr$ z*-KFbIoFPp&fceCOc7TfXI8xbd9lhj4GvrRRx1m(U+0n0o0#Z_sHl^i2>9Q*Rk-n; zScA{xL@g|;fqoqmnn#WUSkC5pb}}Xxgv&!zGVlKcpvzftPP9&Mf@n}Z?=TD*Pig6b z0jMwx+R?0Jlz;A~7ABkAO9+QaEPbXmkDSx1kxa9gqsn$J<06#>Ofh0NM-Bll-V-TB zGLh7PKzJ&Uu7Ju?R>)LwP-B*=Ud(^kp~81IOtJPeiGY1_Zin6_%%X}>qI5Ipe%c5m zK;$aM3mkN(4K%ygbv_v?T^=v8v#S&aNyZ13ERthL66y%$3iYTkR?xtg%j*b{v-KrL6AM_Ge~Z!pcD1J0188+499 z^F^&8&54%3k3YdmP^@2C$`M4$DZ@ff4(Co5dia=45J1$fLN+S1Htr3fRD~uqXL8yf zCZ^5qr_^MnxhZjqdQ1U({lH7{83YLoi4Hm?;m_rRd-u#AB^t_3)acl6u@%Ex)X^Q0 z=^I;dSr;v58XGKiNB2sYq59f3tZQsTg~%TA*IIKM&_POroNM5* z2rw1~s_1n9_?Qz)!YZxrPX%TDs3*#?16a8u$2ycevwA;a*!^MZm*S_~awab7e$`y7 zcsC!Q93B6Em~lhg^K)S4gMUMgV4J zDFmL|bSO&9Yr6FIxXDWrGRi=`rH1rGV-7!@$$b9c8GH#&{#?AhcYQ2qzbp$%b}3@^ zgihYV29DJwF+x2N_#)h~|H6E%Ik08$9mmX4?$eKRNfltV!T^hV+D^wBymT3fa#XThebl^Gmv>#QGJ;zbRL%SQ-~0 z_z*L9C^LF9Y!7ve5gSk8uHhrho*Df&7Upi7$Uhox11%~n!C>EzwcRsY(TS}1wgL0l zzqs>L;eQE3c98=;D+~FNw!ypGYz7_{V{;K;a22;k`084E=ka9}suzaccczU_;5CRrx>_$jqPll80Ih5+0QJ6oV1)nSM>Z#61y-R)AB zypifd5;E>QXkT~AK7@43SJ1rAqX`KZ@n7R}tj#xl;Qjd7j^F*kUb2__!|-1Sm`~ZrQIX zH{l*Nd)cv!f5jP6_Jj(7?14Ch59p>7|HA0tw>D0GL)Ceqk$kTvq!o4hJ}l_MIhlTAvll{zE#FtRW&Nr z$@&@Sumb!1>ir5UH*`c6IcCWKC2vRlAB43ddn$hs4H|5Rj-9bD#zv6TQxGq-dWe*D zU?ZK9w4Zy2dXok&aR=oiw~`)3$gq}8J*UoUc*s<{KfaWlnHS_C8DxfZ=&D!f7EM&7 zsM+j2(fnb6J1lTVQdx!~yvroq2U;aO30Qrvg*^<2MhhEE$I+DxyFK+z8+HW0z-lo2 z1~E2UE`<64v;u9Df`rC{>?V8CR9W6oYe6j-7Xn4V2Mf?~K)a2I^@fxUL{j!^aT zDb372!Wdjtcs9@DriKFUy(wLB1Ame$E_14-ssq7~;bt_W!7Eudf`3LtIE74nht!xUvxOZW>-96&Q0~ zUgD?ba$2cfXF?KC3AyH?Lz)Skm(kDClp1)T!81Pn79Vm|I-?EM;mfpwbwaIZUbIV(Bo0ct-g-Rm3%<-$V!b6Kdv&jwaRLo7w zl>wLDF2}paNd{FGS9h2)dgNVhk{L)6$>0%tKId_u(Pe>!{5}35N2ek_malS^FQaN` z-jLY@Dwjv0GtgD7l3UOO_;Z(45f* z-Y_lG`4d6Zuv_IHY&b;ggN}DEW)Caz^p)0u}L~uekyfwYc zTBiyaOUvwZ6P@Mc(nW&)<15IPRPdR~L4R@h0hP-@;8#$h2$U=Ll);KWvnQFTpuDKy zkrfX>!!m>|Nq%=SCpA;P3Q=i*%)-w{-l|mGV)o^L*aa_zp(<4)@P@N3Wo|RB%PQrU zhK=43cyy(5KTxT%&Nh#>hdXXagXE)!axgn~r9TcE%o2Y;XXtZxm>{s~J}&pmD#9-; zng!I#z810CR>-Ra$wI@wW7)VQ6!ZCNpmrtKNY*9M*J5<0(OzBzsh49W9S^5bWVx@P5$ zb%L^<;Tv?*$p~ZW$0g?RgQ@JA#8@jsZEM5BBTOYEElQykmTLDtYOhxiB8~HODKoRd zm?5Y0g3raWbW<)LG9Rm8MJFAA0$N*6#;ZEa0x?FY?m1fn%vya}HBboB zET$5gc(H!nV>wZJq%+`{REx#yH1c<{tE3ZUH?(n&XZc3dgF+JHVl>8aX2>5ec&W8UfHY_Jju)l3(y`UH2V60*?QRI_{^{I`)hlh#g!&CYcX zE!QruA9jIB2?UZMMqbabRd4!6mDlCb zTbu|2ZA;WaKb2{kt&Ewro0~YddC&?QjI(y$zu0GKgK@vQzDQI^vy?mPL-!(6%5jPz&-!SV>V=-xt*K-Mj%HZVW;Ote+ zj66EjK{>g=&{AlS_sk4U)KJ#4ao|mEEW&U%)o{L69d3_kSh|6D8H+Gt{zZl-fV$)!7Y_G=iL-6AJ3`QsrlT&2Cnh z{vA9uf=_70*xTd+FJTJTB|zw2073cL=5!M@V&4uSMjAFqplyygwmnl(VBPxKuuC}$ zA}Cu`XztWq`1|6qpFMFN4NR{jNb-Y;C8!rbqPm^txnn4;oSJ*^YY-=>u)UcqK`c@v zqW?>6S%1#iB$kr%j@Sid-B=UEoO*DulV&U$v%(x<%$Zn0OyGf!+nFO)Pv1W0U z(S1?Z9aFoMNOh3Pe@*c)!RWeFV1QUVZ~qBmE7Z_dHJ zBDp)a?GcSTJpGzeqwdpFEZ`Fzri1_w@20#OX+i1fHO#2os?YC36GCUE2(s8#VOn0W z^IuO2f>8?hBaIF+LF2{$TI(HNB#zY`?*O{U3{k}O_M4 zSjSzKvvZdDh+2Rr!@tQ_o*r#ezDgb^SojiGqHY@D!4=@8$|1XO-+Q`0k`Unq<(!ZzIJ3*D^gZ2Xu|J2x7*>*R6T}M3YD0gCP-X+T1bsX=p zAI;4%(35P4GQFour)C}A;9P6Tv*E<{11jdx#I{T0%Q4EGx9s?t{Cn@40Y7~ATwzmu z*Qa4|5S57c$1e$?qG*~%!qj-TbfwsGM`f$N0?1es%rB=RS5*cO%A4In&ycIY;aF0uJ!A9g+^j+SmSQo=%re0ReXGr_!; z72uk)vts+DCne+|OEzs+*+v9}gcF-5^6*ahtisdh+Vbzb{uBY4PEK?`8<-s-y#2P` zLX=Zw+3ExasMdR(PQF*0Qr9VS$LJjA3GL4YcWPW153!WiAya2u1mF9 zm6ZHZmREDJ=o~lvNiWEsG-A{t%Q7;V0- zy-;=Sb(z?MGGwoWDL2h3EIK$P*xUNo$>eqF9onfkqMAy{e`#zdIdgNlZ~d}eHw|}k zI}l&}Xn2KJSkf2r#7{&*>X&Q8um4!)a|NfMC${gIe{Xn%CB3TD`w#5oRLumNRJv?} zeG6HKClAAC^2vU0gz;Wa$WNJ)sJSg1jAmT>A{<)hoe4_rj54)$AN|Wj+$gn=8>*id zKpyd;g(^RfPdPpSXS!u!Z)2umt0x~k$-RGuy)H@faKZ0!#?OsEU&!GweA*C)i1j^P z1G>I`-PZDU3^v~V8gWYqly5T^R??=Ywa>uBt1xs)jS_v{JIQ)=ZC(c8bU(u=UBhC^ z_1HUzpBxPJ23ZO1>{^aI4B`6_zBcVSk*Z&6&h|6K<&*C%&BQ4spdmDnWd07OVaOY? zt@(W2D}60p=IAry{1%HSIxZUIPjPw=3|SUQjLEL&J&;^}HB=J4BJ+b1HjgoLY5u=3VigRm zQROnKP%f1KFkSl%p`6|!>RN0Dbio&Y3rxqIJSRlC5wrUnqP~D>NL60JyXA<%_-s}+COa_21J z7k6*|1eg#6FY1wDvgrn?IIIiVbZ)f_O0G11u7Cv&l*Mw&eEyD=$M-Km|JUmsNkxHO zfr#ku^SN|+6FVBGXL&BC*m7F5p0{p3ovpCZ0x$z~Xv#44Bl`jg`j7eI7 z%6^~(2TKe}8DE?@>i7p*b(M(z6$4ZZq6#BMl{y6Iq)P{NUZ4RfOmHtfqrObt*V|`u|NR6%ToL_@YCQDI9tVTa`$hLc z-!BANhJ*(&CIF$SlBD=Ty!nRo<9ALTebf;`K$&8S3oa$=4W&5U1L6wY&R{zE5<#5`@`)>Oya zB!A2;Lz!uluSGDZ_7rm|qlY4Xi4`FcOEZxlWl}AfN8Y)BM3~!ou$PmIi<4Muw*p0o z?N4P)q1cFqc77B=qE<-|a@$2dK55%VYZgaGc_QX777UU_*A!7z@NS$5x`Y<8#!<&l zZu@CCABjYz3CZn2p=JRdc@GwZ4g;@4K@1d*%TWh3zizaQ*=NhxW+*}YT!@43Gbp1J z1OfdpKIMCI5~qd7j+PLBCu-@?Xe4Rxrb|8oK)x`6_$LlkvZSyRI{vhV%tV^0;WKrP zc{^0$JNvH+Ws;a*@7DXN2)bIBQQY?z$dMZuI+#LIz4uC|kRH01va?ybS6@M5Gj+)^ z;yhbDrxG{L(?Z>+OY_pHEgPag`H?(zlCj%12KxASe4jOs+X-L32ebf~!aMy)G!2rO zU_LR|N}d8V6%&FAu9rhZQgcTXHafIs{F@sAd1ZqloDS|8UDK7?T3sSDk!pZJT}tEe zw#>qF6}%Y(eK|5L-uszw<@el$CRKqwVnw(~#0-QjQ)Ud`E8F#t#iyEYO+o6jFciB2 zQTw)tjQW5d{yzx*qm)x+UjQbAU2KhvRN%CG28hDAQzV;Rm5+(Guql2_FV`lCH+-Q> zJBJOMr7IVQ@?#VN2t*I^aVA*rITr*8Q@6>|H~^;&{Z(^~2&)t96yK7L)svyR>&onY~{&i%2i1%ipYxzG?M1Z zQPq@(uu=;sbL(2z55*+dG0BFm7m#91D6gR^6SCN3oCP2F#R=CV6?sU4SsOOj;dn`j zMxbeOyale(HO1NRsAGbE0Ub2R8!;2ryhl86^*`5z*)zWM+68P~cazSd1Ng)`-z7WGR=w>Lh~}sSS`5<; z*u6WFHG4WTaE-%}%JuqxZ(NU+suhemVc$L;_CQVJIOJZ=;jp^Rj z#Sl>$+GzE;f_jK%P3eiQgEcvZ5h_;YkE)%AGa0yVO6Gqp912EQuRfy!41?qBS0s{h zKcaR@*<5Xq;01Hk8+Pp!;zt?k%(J{EUOCs8BRIof&anFK9UyTLAawy!nJs)BO&-u* z7SR^(gL*Hn>1Lm&>uUrvE(4FFZhmjpWG@1bbK;@oTvEmPCzx&b#-v`ECjS3Px7o2+SY~e+m7;E(KZj zlr#&MFyY*CYn+ZS{KbKvOcRI}kRDNv5oayu`l$K@K1!(=(Hv$|DFHA~#VY zqI$m>#K1U*DD<(-qvCysm^}122z)ExwOjFn$y!B$%V>4*0*%ZqA~v7IR|o=w!_5EX z2>r?m9mx*n(igy*DN0o)tAh~UL+qbfEbVnpfAxzlTCU+*V$8=7e1ok1USui08gu}W z>G=s#3Jgi52+B5u##{vJ@^!O)L-uQLqM-ueRf$bjB<<+m-NO+W0^AXA-eS7ftl9+#=$9wfsP0H9|i+`DK+ zoXZ|O8NWpI%@(r27a=fsZ25ZP3WB$1fHaY^BvD~f$67uKDBsRFq!=k7-6;k62h%c1 z4B>7v>uEY?M0S9YE%#XY%+Oce~su`J3d1Jlbgz|D7Nq~GL-OcQA_%U!BS?flEq+!2kt6SPGxKG@^j2yHJhV6bLR-K2*EB%@S2sa*44N#zowM~iYoyH#;5Q)YGsX0|7? z?^b4bZXoBO#wNd;Tf%9{q8BOL>FGGC>IL;fL}>}%*y#{f24hkPwOZ!hjdN?36!-rq z9xy6HN-lt_wWaB!(O^*;KUG9Wjqzvx=(C^8h7!LZQb4|)tbXH%@##bDRVvZVBh@qd& zdB$#yYY>XsdLxjjOHjG0^cuYUtf1|!_!A)9_!DY$@PFXCs0e}xXEVx4-3#Y@fFwIr zv|Q!U6(#?tC2H51@uxW)jY=xac|k$GM<7sDbmA$eBkTr4WJ>Hms>UL_&{cn^d2-dj z#T+5)*7)z9kfM+uK=tWXN@a#qbtMncK2|)DsG3&eQ7Ki>M`%17mzrYA+`!3#5Cur^ zUc~04jiY6pFP4PdrG>I%6qoovXP+sf-XG%^3Yk~EI5&X#0l7B;^_-&lC<(^39+?+4 z6rMZC8TlH-A~IM%E_it9ww+m}+NFPrnX5$F?h)!g5*TxBil|^3<#UCFyc$x#oR-1z z&Kyi&vk~NT4uNg3I})_A5J#wp3MzRLcdrySsq$I0q~CfT;@#o8djh>Z5)QfOXLz ztNvZ1Med=*6+4$dqsr5&`15Q1J!1?LS({r~ybMb-t!ScxX$^=aW&SnuA|YsL0E`;t zFtkt?!&5CP)}&w!VR42`IaJZSOPT0Czg%de2eED>N#QS+D$+irN7K_0NoFTaGwCPQ@yDQMOE5+Ft`bEWbx-B-H1?P4pX*i3g z_fnaz$SBJ2`IR65LrnU^g8F`?dzbFZ72;bZy{ihhR92IA3F=s<4e7Zd*9QG z%@>d>O#Q33Y7=-!FXF{i8xRxnXex_|M3vnwDcevGhFxF#u)dk{IqO0>4^(x z7NM0l=t9wZ`K5dCmeq;SDk#8Z^iq9P_Zd}10V);t`%>KpkBvvJeYGg%@zcd5)m_1p z;d|t;KZ*N82?l~-yLF?7s@|X-hwad;?f-E04xo)g+;lQ?;r52gBd)8S1b1Q9rh^J6 zFG~;TxJj;#5Z5LSCRXcE-P_4*S_ZFnsNw&sd|u|A!Ki6f+53dV<5d4~6ige(gGZvB zLXQ;H^P_nXhX9%5L_vZSW}OV@h?ILsOb2vSTZLB`H+H$GI!U|3pYSx0jQyQ#SeSY+ z8aAE?YU|w&qFsO!SvdOfx0FwjTvA4^Vzd*zPIoi2o70f2c6L)db^Q_1$OM~<@({Tx z7|3r3MLf3)_D+hEr8n`uD}rLoPH3F|1%?aS4sU>mnQS2Erj7asJgqyiEjwyM$P%f> z@v@UtW)^2g*%bh5XI&Et0nQkjQ*#PwdOeSDx>H&OtgQtgHTL$6c32p!9TVZ>8{tTw zJRgfgZ4+ohRC_nCvnWOOWao$550+u#;T zdG1D$3|0W-!NZ|R0+>Rq8!i*nf#*0vW3K@*x+FEsXy>E`QK<(Of!}8~!uRLN#MVJL z7lqW;o)(Be7zU(dN`!w5tiFPElOHC-7nNnUc`ddIFS&ri(4?bM#<{(qUd;(CE8Yg1 zS@KJ3L91rD%hoi3Xfv}`3rO09;f!#Tth9;jviycMGwsXEzO*bk)=iVY$3ZZAmO@wO za7=p!)`6zBlTA7nsthH0>(PB@pt^PR#r4=1kvPY#L3x$@kgdePBsOY?3Zz{&5gHDd zu5AIcB?CKZ$Kwb272Lr6XK@JThI1iG!mZi!z84$FzgCJ=wncq$M7=pY+z1wXswWCY z(uS9?$xu;w=2LZ7QzU5wkzLQTbtoq{DtVGL8~TZHTds4bIk{`su(HNWx#Cy|`r@g# zdWE+S>MHb2Hg>KQdoQDw_qP=$q-A_z2PD7#t4n&itLIUY9>*pgQ(6zv?cj6U%+35Y zS?74&R(P^NRP=NU}W!5(9mH0V2uB( zU4H=o28)1(goVe(LqtSD#G^%`q(Ne!$417%=3vF8j$<8Rv&M(Np z!N+MX!)NKoukI*d;3>qwFT|)Mq+litM=H!IDuP2NCLkpyE-NOkBhITOE-xo-A1vn) zt6-z41d#cGK>dSG=!bxgG8VJ4xV)-_uDYaymb{#nyn&WYsJ5Pgj)J4Envt$|nr=+F zp1PYJus}bl&REdU1dGi?P|1{2){IivoCsjfC~BVMZ^@u&DdAu#sb$5bZ>3>stzc-a z<8EzlYis6WXC7*2ljaWca<2kw6nGc-uwz@T&PZW%zhU z0O_QFtx4g8BH>1k5p0SP-q8_$xsfWik;Xxh*8Y*sz-UqZn4GAX^2AtRLu^WT956qg zMllgom=x2RK31M#=#^pZpW*y7%fBGoCN|q8KHDcYN6{lk!!uXGDp$=uKQg}{y|o}? zw5YhQM8d4Zz^7!pr)H<8PR*r0GPfb7t|6nY(a^7{WTI)Lx!FIj#V4tyq_gF0q^)MA z!#cF9Wu?dDXHWN5Z&X1qsBR#me(-%`WcYB@C3dWPf4qHeqO5zebab-0duDfh=4EF# zw_`4~!_%Z1?5n^!4`Y z<@V3@_xJbzZqfhq1NRLE4o4)@P%sz@he@wL(NH)Xfkq*hBhy$k8V$qlC^N|RkI>;M zcEsj>ku<45%af|w*;G26&MG^ZbIFcQ!p0)!zQJk&78(OVV*5w7rDC!0pB>cvU{Nj( zMV3V_SFW{cwOYH`c6aL8HYA2Y0HPD3$-F3;Zn?;GlDlj>BSm-1y({^Ay#gWeWv4ob zMWsLB9%JTi$OeQg*G+FY)6sZ5oQnyW5avLjC^L-FzH@eYTjdHBTb3TMAbM>Efh!b^4j|$g)4*-~at(bg8u&G+%2B zO=!14Mj*f1xkBo>ZGl^;9|09%sPYW`tmbp;aY5!6@WqXTO8SO#@RPQz;wYLC!ubfq ze5P@LYLOeZ8;aHkEf3_6UXs_3N*?@ zOT#PZwb)8;JmEdeV7kXUq}=l%)r*0^i8{#^BY4_LjzE@0k3q?`KF#xgnauJ27=1gE zQuL6;R4~pfD%LaS-a5{-B32D|9--s9a3da=Btaw&r=>v?dP@i?H@Lh!udFDuJ+Bf! zvcWRpb^acclI7Kv-etr%y1J<2KYFmXrB3C%gkZ(EDD&mEud*+fQ*8_KS8k-gZK=|< zyKQB+lpky}#+IwDJ!$94^Rw`#%p^!tF8|S*~HOM z#k(6Fv~;G-uX@dNvB`f`-RIL5s67=P@(k2E62p&NVN@?p}~ zCEFE-5p^bXkopwQQm>weM>Xxa zvZ4;zwl0-zAS!LmLx1(WezwDhC`I7kyty(*F*)j!yu#g+5)A0(OXnnQt9i6>El8@ zk@4bk^zZ6xHGOj*S+@?PquDwrS`hK5gN5W}xaBF%k=PUJHTQJT!bE^7WkMzF-b0;i z`0UnVfpICf_KvM!#q!6$Ug$30r$u?G-mWYE{ndxG@Tnfn!#0M!zR#}Tzr1ZJ6zPe| z*=Iy$=__xXlfn|rIft`D z6(GBX=th-7~x$>FeWWw2O?xtm{yY__MFOl3gImm!X*7B46iMRSrJeyrh^$>-g9uG?q) z8Q3V6-x;CPxHI~G3K9ThxaB09Qao*>iTK^KM%4qU)^4thJFcDW0jtW``szp)Am&5Jv>S z+{A|_6GQo!TNYd$rFTQnK~{bD4%6`M#6~r> zN?pAz(J?PES0{(AgH`Ua2yga6iepj*)3wZaGY>~mNH{f4+h9sPpzWz1pv+(l3lbmNN^J-xwpW&RFMx_QuUg2VJ!H(%sC8{E zzHi>t68BA(&DHpql&CS;uONdQS*$G-H`Q-nPap2$Hfu0Q(|$lu-}*lDfEA6cb@b@o z*!%Eoi9)V(4&H`1GPQ3jh^9Y~c-XKak11Lht+MEh?wE-~lo@MYIMvqONT-jIrLd(U z)?%3N^nC4U8nrXzhg2Wf@(1HsdE{c6pYyk4&9_2x=Rbd* zn9gVQ{iSjbf)?16z(uK+;BN9bwvv?5<6k1RX*vPhRprW!G@iw*hpN4SRGwBwWM2@c zU7L-hZs=MiJ-Cg0^|Nd|;zR11YsaZ5Q=$`W_~7Cc)F+4llm z;l`kW{g`wi2N;aiZmsqW>{Ka-kz}ETP_vru`f9h%XsMt1xMlA>%{~6;#B%4k@IQC? zh15sPd{?j!m>Z=280_zJE~XLe>)dU?<)^j8ocCX?uB4qIOfIsdtLEcn~#z)!|EH@tt}7vZyyrypF{ zeUwG$L>kw9j=1~gT!{EMx18@q(bQ$?N4CDMR`z#^(A?WQj91z2hYdXUELwIF^YA%9 z6pEDe3_{&;<}SSNx1Vsx-{0R{6FlAnYTje(mY<$MzPLef7nY+m-Vy8mAl%?ZTzhje zA5tK#7SLKbU1Mb>AfX^2-%4fYJUD$ISPRRS8L0@hD$lCwrnIPo`J@^b@YneZ5nm2}weJo9Y9k(oo zMF6>sj>>v4$s0V@E1YQuf{_}>DpbhkxKLWTVgh?0<3`A?C4^|RIJ>uNshN!1`hPq! z^dAsEJ9(f);2;H+Bg4HT#V?GVsDmKS-2%SvB4y#C6gr%I!nwGdqhv^-<-CJN+JVo{ z-Wt|nG2_mmp27Ow0d{!dme%2>+Tk#52-sF3SXQ#M9Xj-b#| zf6>7-!G8ka*ge)mBk-VRHew{uAZI#aR8qA@ah(%rqx`|bU?-wdGN2^5Af2h*1J0wo zar7i#{feyJ-cEy5v2`41b+oxcYIs4>5C}%a|BS1k7j2G@3flUGFzx5K!w3xWQT#4A z*QY@+?H9n>vJ8q2yDwfMh%ym^H4z)0756=X4-S1SL)UywSx7r_o;Qh7Cn@3rD`&%L zy&~3zH45$`HX{S-@B-Sm9GD~%EA~y}bm?vBnXVrj2Acv5PFoMg^+0&32sige=wpx9 z8A<6-g%7j}H<}0s3}G;uC%}$_<`cDa0VYE$@~H3fCV;e|5z(Mv^b^sT3Am&jvLq@x zC}*3bnaCt5-Z;k0SSHzIWW~s&gl-m z@gPGfGrqAPAP_Aztus@WS|`sYmD)tO)7l8VE%j<#TKwrpMP`=KWLDiIkM(85Pq?J7 z24X9Z`wMkM4A0I|@t77yQG*$b?pND88~B!o_0A z(Lxbj)GL@xEJOqVJhd_ylBZQp0J* zcvHo~2)U62CDL6L9p8l&Juc`@t)Y+5Kq%XSE?HQy0T?xcAkD5)l#c@bb(q8ory=|* z008nvLg*DxcHZn4zVB0R(@{?M;o~P)9Dopisal+%<{GLCp-yk+?p*;R znK64=9J5su_fcV8Su*@4!U+qNa#bQ>TlxQK`N4k6>6eQkmxyUX?1A zMl@EZb&S4z=q>^9Xp&2%tnz8<@G*ug*PE!07%*pmi4Lj6J~6u76e;O)>%_BXVYIvP+w z3J*SIX#6t8&5$0(7_-Twhh>e-sFshjyy@lvbbtE#(wJ2KKk0E87z zZN*&FWPwZ?E2z7>j+oar4kYJRQra`HvRU>e30++?u&pAgO?jcZr~K$2BGpqDVxFjH06B zd8!%udrT<7E+k1WPlC|qdrJqmt1}1WUz&hez|e)*t#_r;rB)5m2JEV2$gke+nxJ6& zNQUNJ0NjUL78Y>|UqHgwfcMcf`RbIiZ?=u_*G*JMCrqcrixg7vSMk6%FHYBiDAVeX z(Gi+@jh1@%x;uQL17ZkUPW1YgSIRGRgo`T8)GlfVpH1z+VU zI@!?rAXU4BMpw+-r_-OkuV61&u0P-g(FFz>?Al4-5)!N9MR0rawt`Husw`v`BoX+N zPP$-2he#viqt7~$`1@FLT>f~wq;RTq&=O@|`o`{+GFocfqRp#CU27EJenX2fi znrF=BO-)O*WqUd!K`xMP#F`kDE7h~@nYT`SV8T5-<-!9Nn$~H(!{jF5`Im^2lmoeNSRc)3cBW~!#_n^78UMh^X~XY+pSyj0 zgncp&E9ec6Fj{||+Fdd(Knt$G?h;n(j#(;zBlY5Xx+BE&b@tF%|4mTG9t}FYQ$aumn)pWDM55!fQT%4+qJzEV^Vd6i=9k| zdAkuWm=mATVOP7l6pmol(M0UOeciJuqp@Z=TmPGJ+RmZgZz{O5b_?{4(^=~<52nV5Puz%&F13vY+=A|T|sQ)?HS>Jv;_7Z zUhdAwehrfD?Zt2&IaBRZ@1@gi!oGhUr?raxb@2YFz^1atZ8|4^V0i#1q=6^63H37M z`sbiraQ!Er#ubL=@Ah2{ zS?;o)@qymZ>5f5~vFjD>(Z~Jnz|Jt_jGfL+?1Xgg=Z@?xADuT&=Q{sB@RAMc2k*0V zipx5m^FqF_K69h&b>u(I>a9-k7BAyS@60YQ<;I@wmZ3haz z@-M&0Esr%Q9q=+Q@Ih|yqdt#x3kYdX?OF9qop-_jC#;tCj=!02VkipZPWIZ#5sjB51dJFa|e(0^I-K{oU^bZa~wzoUb|V zGa?7r9*SdQEWfd@*&N>f(5cY8-Sk%GDwGe7Qa|-0zv!e65T*nUL^aFc!BPknDiqk~ zO`0$f#YmY^!r}x91~hIIz|kW|j2$+JRKVcl$B-*n{IFuD%o;Ik@Fa>f=}=9aIdukl zXb99Lg0W5w6jX6RCg;S^~E5~8ws7|0FFOnIscTDjzS0ew!o;ZUpG?yd!e^F~PU z5uDp^=#os`d}GRyl|^eDX_kkTiMD6z3q=&Jw6wny!!92GUQh!okkJ zl*lCz!hj1Cj?14mj==g-Y%u`|98fX-)Y=a*1`Ui3Bg&+ckbuWZv+%;{GSm=54ntFb z0}xxwz@!l&vkW!WI*4sW*=D0HqS|nC=n?peBCfZvX!PkftZej=p@w9%Vuu#Cq) zh`2oP6eHDGOOZtup?ERI7~cr5CM|EoF~|3G`%%mB20HE`7y+#7$R<5ha!E!}auUHD zs3>Dcnx<5C*_^PS75c#vo*rN?b`QDNV+3B98ZF^~y~t4~f&T#n9@n#p~>> z?p=7}HIz?42ep?_2bokf*hMRJ^j}K@mehx_d?=~W6bOE4VNM$^i`NT8B(+6UVU&?Z z@@~xXH(AAvmdAm3!gbF>dj%;ZV0(qvgh{VBw%lcrof6~VxS}=WHmuboTWz;prIJ7P zsN^Vdw<1@{I$**NUA`2w^XWP(@{?Y9fu;Z2>UZzOH(w)5-uLT7CF=}SNfQOQR}5KL zxQY%MWuVwii;lmQ2L-%>jti0+D^Ky;lLVfHaq1J+n<`bkLrO;eOI<{b~^rX%?+t@-SyuY?gdUShUWVne1 zo7zDvH`N{(YU5bQey;y}-b)usRBLUYEPtkGJW_=7Y?S^)qyI@olmT6 zR@bRjEJg_@Vp-Z-f;mWCQuKAcA;(`^h4stSx(0$Ax|=_;VaE6IFC(remGNH2`F&X&?-hkC;QWEyeU<~ z?X>k?ja+Rs*83x4$)GaN$};;@Xw2j_DwBQ>we=mL|H-8D%sbw_CVm;86BWza*=heb{Rc?m=I>hJl z5(8^?E=nfH5{KahZz$ewcUcT07taXK;Q=a*{j9?sHu8r+gs%ui3*;^LbG85L4klSu zRU|*_6{}FF(fD_YCOdhyP~MB27*r}M+bwop&ay=xsGmDwFRgF=aU6~LvCPDDR`H6FgPVv{2_omz?4O+tXsia}p@hz7e7lBdFd{Lk zjYi<3A}&)ln28AsFOs_h1m||y>AJ%{;CA)QNJ#U9+0CBuv(LNVTN(Ax)>dkU z)>q%_3>j99hTpfreN~SqWW@mnAhI}3g-hU~6=6xYr(dXBe7F0zrS7u(h_$zePW#P3 zbeyaG4Q7A`T;K!8ARKz=hA1eUT3>2-kw~Sd{s{Y5)+y(nW1QoN%!p&7=vID5X!s_I(D9qboNxf`k)?>tQUk|6Vf$O_59)R=n&sW~EN9e(PQl-;$(&@ccGRIIo4`RI#ngTlj zJfIN-+Czf{k3Qz3Q;Hp*0L(UBZ#dK7s1=ADVV-2QaOo;1o9)l#v8(&Tdc5}JcqleHCl|4 zl7SJRKT3f@x$-U38?BS6!dCOYs1v|@x{x-TfH258HbERohyyifKnJ`%2o$6Vd=CE$ zl#zqtGgFu<8XBq)96=?UL*Z6ghXVMo%1&9i!`su z!Tw3NLX<%+%8?;CKqAZq#_L2P%!Kdw0UdA}w4%Hv={3CDGIxVN8F&G*S_}G{LMuc; zE#$Y;j2X6DC%}vLqxFw{VO3D@ZBaBsQBxZ44<0(?VPvKmz2W=mLNlSOfn?%nD!} zg+&mAVdR3WOE|Bq0iQDgWW1YYOqFp;1E0t^p5j1D&@apCsVb^QD3Uh!nmhI}v4$BV&qG(V+;rAMT}H*u3mh(stFLnu=;0Xsa(Aq9Qh%6;Uya5_nQ zTftB3G*~=Hgp9@Eij0Ny!$a9Tx2#1ciAaf@Naor_i-f&}(8yDey)Otatt&>71S1Ko zz?DR{&&eS!36B-?zz+n$k8=q3=r8`lNg_f;hNLf6iySAhfzx_4b1c85tOd~=O{H8) zr)J4@p18oCRu zPVyrMfy=&XJ<>a#ii9p65JN+RA`EcnxW*O9E^nL(L318 zG%0{R+q?w{ozMv7#I2kKKM+Mlt0*nI3*3q_vMfsx6;WAK6rMCJw``*c3aRFFPB8;4 zPCAh(m;`>T&Kooco4C#}@W_xPNrW@W7pb07?9Cdmjb%HP^@5}uOV678xSy#6CUr!j zFt<0*JQOWCY~#cBnJGnEG#K2^qx{bR4NdJs&Dnwks#?v!OTPc7X{Mx+C3~!bOt?)7 zt|n9(!W=^c(=ZiN z0Oikdl*$@B(==txH8`uqGQ#_SP&=*DWc9>TxB?p>1FfXZ$8!lA2oa$4(EW(FV;b436}sTZ#pEG=`MOj zm9p!Da?3AKjnXMKKAI#bqi`lQ>&8PhB64jyiJ4Vz>QevUxK&=&)iD)NoomNmjYb4L zSc3|K*EE-!dI?RjI%QqiWo6bU&;dFS!h9r!0h_pMbyYzD(Qe&Ya^1;?z0503jB?$= zbG@+sQ&+nz0gQ}67<9^}oh=>3&T#4{uG-hB&4Wt)4^#0yNAn>%WXwp?te;R%XbYbv zn@`NdQWJHqlprHFQ=zG)S~@tq)x_9b-PkczN0D_oP#vFkL`+oe0G5DLlwBBPZCS+a zMBT(W3$4)HLbj4xc;cYInIM1-i^1V}ix zd!<^}Jz1&+r|-xWt^K-(Xr{!Ok@M6Mv3*ZT`=0-fWyc$3)0`x&wERhT`#&Lz+uH>M zKbTuvwOftFTaJAqcA6Pd9URw87=KEd!d1M{fO~TvEY|eQ~sL6DG1M*r~^94f-(q# zg>k&{&0+JMSu)TrnQd8`byg3BUsH_V`Q??L&0Jq$RsU;L=3>;8g0B8G0Zjy80uEpS zJ|wt#*--?xLV5$)g<#O@PPOnG*VWzKl}Z2Cs$j%CSOqO!<5gSx-#5Niby>APkv|Fg zG9m(3B}TKO?OdZBfNYc|lq#MT2*(=5;wu(lL>LQ9_0BH#V!6?=lBB4LZQjq3;IXaA zH7?bI9WWDf*d#8!KLIP(!DC)_-Uh{0j-B2y?L@sTQ%Gz_DgY6Dm0=pr*F=y7NZ#RO zorFz^gvL!=SjYpBI}8X4OBMarV-Dqi>!noYj6^|z1rUjR-e-I^WwXh!e+K9r_~u@9 zh7wAcU7OO9SP*eD8H*YXXUyo5B+(m1xDwM|>UxIZJ6 zh+Vd`!|P*do=`vzP{!NK9+AwcT*pF12&hXXrhX68DpIjA~BKW=FNRn{V` zX_(vFM|k0&+zvUw+AI)@An<9R?rdDZQ)ngX^UZFy)A9om##-XOGki=c> zpAK+%sv)yhI*!-g#M0M&JX8Oz*FX!ajZZ6gKr-MCt43NWe~AyH(G$Y+TVa1`#u1L zU>CjvMf?9Nu35JKedVrYIv5IE1?!s1c;VjjNZ;j{@SB2d%q@X&ICjXGKZ*Bxnj7Dg z566k7EohLh37+qH#|G-Xj4@XUDxJ^lJeUKTNP6%Mee%_JX+;F-K?Hq-e=0}G`vrG- z1_%QJ2NDcm@L)j(3Kt?&zz_h$h!PVFsOX`>MT`p&aCC@JfW(j@L6R(K^5g{o7cSK3 zV=5NRRgoSAqB-*>PEeChO^TFfXDLK<$_&wwqs39AN|PG>!3HR)SE5=)^(n@v3mZnS zaHZn)YnZNF-HatmwkBGeo><9z+4e2ZxTjzOGNOV4hP(wQ@a?eS??Z+Z_nMGm#juYl zJbwQG@d}5|p-50Sm5OTlGO0|OVbSXB`BtsaqCt}`ZA)7dSCrcSRa}Xf{jz|=*VLu zX#PC=o6 z7!P7p@!(=ZgvADfaZxsxRG4vQ*=M6+m)es~Vy8QGv916p@IwYpw}pa+z$HM=tWtSzW%X(V+tee|49qLIV?gBaR3! zi_*e^9u(fAhB9hjqaQ^aDaQS^v`S2#z~+gtoOU{LP8&MK6@;Zicq$cGkQo0f6)t4p zDy*`;Y%7sD1F~}Ny#$Crjo*B&+8fP#(27M!e~1f^iuVU4N$29ZE*mSnX|VjFL_ zU2p4}WS3Od3NEvit)(a#;(;zA!^uGg31jw#oWA=uM@u9wPeP^LQ##k=EPmJ!FtT_V zT=>BWE88%jjEgtH#S_!FXvG*uE>cP=sWgEXj|`}(Y(a~B;DTXap_SAsOL%HiV2LWQ z3qsaByUjTNp)1cVf-dyXL`PwCu}UMp_>LJg8@1{!Lv|t7SzkL9*YtYr_1RbB(l7Q^ zdX~t!a;#cr4?Sd&NoRGN&zg36^WFEp*thwE2}>t_xctKt+_dA3i}(NNp&d0qapf#0 zz>#E*SuVlN?tsNRo)`jGUm$~pV#Wc~6@@VtG*!x;U_r#pU}-%PONz?ivfAYecP8vr z0_V~@0>uFgWB6Ut1j97^l>k~eNFD^4*F5K03wqg-5}KAHz3I_uY}d=)`b4t{ba_uz z-g_bztUw34oljm+icSvM=Qnw^<`6NP9~kXNJpAQPe-L{VqA)Ta%B|;OZj@ABreKH_ zDo`#wsf!6FSOdlctS}*};OZiDK?*_v3EWx91cPJ+5YnzhKT1(pc7;Nn{Az)3vBVx) zD2O(2;b<%QWU*%WC*w8dhCDz5Q+niwpM-6PN19A$pch2b3~~RK+&UX)keEbTbb^Ua zbRuyygavrnvWm{xgs$F{L@o9W7RbzF7#R}H`X#Q6ZQP4P2vw-~sBw)tve+93xH%*o zP)2nGmLF(DI0{U#kL^MkA5XH*0mny3vT~)YeV^9P=vAqlMEGvBl6lp zPa<-t=$XJ-O^HzoieZ&Pxe)n8YMGuK$9mD*sY$1l(j&T0iQMa+OA`^(AlRW3G&QEb zgoH1hLYAj&+D=drS5#}Rc2E~fDpQ*p&T!7)4FWRfRNKd zN>b`+10D0&lp6i9CikGbg9ZzeW1ul!y-SD}mUV{Z707u9t2#JX$PW-ym4&EfEyOCe zr1Y(?eUmuZ(d4%l+6gd#F(Z^R5VOEqe4iMo16nuBi4B7jn1fS0MhKJV$*h&wLMl7} z`E+w~vfc0ilVB;_iVnAxa6@`|oYhGa7OgI3na{j(*F7}!3Bil9q&sxa9y5W*F7!ei zIIW4A+(cNGfWi%u;Dt=4S`oHR@^_DBBcS>@0sQ2UkEKk7IUeE-RB!{9v#ezI({>}QwaDxIA(xSRiT(-fc>&*s*%g#UaVK^NN4jY72LRw9K+ z3`nZy1O=qes=-m`ah??n-=%XJw1Y)4Gmh)2lhDT>N1Wmiw|m7cu1W4@{1F^4K|Z~p30kWmDApOjquMGnuMd2N)A^fI8?$J$bV_u=7AaKl}0bg!6lpt;ABYYjg8i%jhwmObsQM^EZ70A#<($E?Ddfc z-W~`}Q|{G|pjnuqO^#E|Rt?M%RWX`v_}yKU-3CS1S2^DxK?smZAN7${tc3+bDcAP_ z+4Kz|5Lz7Hp-=;TfsMqV$MOF`3!y>#y`Lm-f+h^!81$C#MA={g3CqoejP;+fJw-=Z z%>eS3=7rgp;oN^k#nx!Y=sl12pdJNQ;D(R^DPZ6n!d?e{Ann;+AO2woW>dN;4q&ib zH(?#{1s{Llfae(Bh#^57xt%0xPzI$ETg@OQYTw>%QgU^l_$`#)O&{Hbq7iahK@~`* zc!BkuUlYawL`9(#R-qMok_S0nV<3+zk&Br86O2{as$d>`jb7^|M;g8!WF_Ds2wj== z(i;ZdwCREbre59H%Mgs#`6Qh*){C7@+8zR;A9`aT?%C8i1PGL1qWIo7DWZD-2)(&r z3$8*Sz#2=a7bRw5C0_rci$M$aSsY%`7|ETO5|mmIdY`NnB>0iy5vqmx70caSUnU*F z5^#b086Fi*p(GRnK1HG}I*Z#;Sx}4}7di%PxD=XcMo)~?wiV+6Iumce3(o=FGqQ;s z;$d?j!gQ1mO=cr5*yKKSBRJ09Plls7M%Z^4qEewF<*1|ZMMMeMmLtZ*-;vT=)gx7I zkfkxwi7-;zCD#|=S|%ld;;DeFfnxZ5qFJWF_?@Cc$|JMz*miXR4M3zCOeFkOq(ZHq z6YLt)I36x`;VJOnBywfDKtk1Q85y48FlL}Es7*4qVYKNSWX5D>++j{ChXpFw9C8~T z41rGuB_PV4P!j*uP|6Spl%r7|B_gIEeq@g3)E0=n<~zQiJSNgqPNLfRNF$LDByr@X zaT;7o6hLy9DQ?$Y66bJ|U*GWoB%)tE&6?l+qeN;_EGpD?nHbA~%kQ>C6DY{}r zAx*4ZT(2N!iWZbwB4Nh$L5+dZJXTyya8g`uLHp6=t<~j4a*~B| z1t1IsWW4`UdG-)`a*-`rR(q0-V@`$6joE$*U4H69(N&{II-;OzUJM50pM<_+JSJT8StT!OsLg~Bh?2qW6z5%DA#k2(i@NBF8tRplpDG4V zTUH892x_cFp^ow>b()2cb|j8z#bX%T7c@n6fv5k46c5SQld2(^km_Vng_EL>*kGnK z=FJuC4VdcZHkPKDekN#UQwWZdAQEVS`URV!rh+bLgCbggcvyrct86Z(R2nIU=4n7- zrEZ2$hz`OZEJBaUA8^W=?yQBkBC5CQgk7=aMAcJ`{-a#N;&fhD&v2?+DNFUMVm(Hr)B!UEu>8;XU2L>n&MXZ6IW@^6a zqljhkDXWY;3x)oevt}regk)}ZD4*sEpkAc5#-LcHfkAz%$7D*ljtq>F6(~{440KMN z-e^STs1))jO^`)xMpBV#--Xtzz258PagD3$Cz|jQx>N?W{al9dSGb5-o8cj~{Yy?E zEVzk68Ds^+Hmt1*Wkp$(XijX^_1;nqE3p>qY#|a9+?G2|C@Wsncm6=Urq#!C=$@8r zwPI_J{^p=!tgpoE%f>9Ga8gEg7`KK&$3bL3&gHsVq#v|v&|WG%PNLDe)ut9^m*xL! zX4+D8tPT0JA?8u7EF9C-l2)|ghMOGS(sJ$J972wTEl~d9*g~us`RcEBK(MYY+cK!d zmRCryL>h3+*TG1=MI}3F)ZGH<4Kjtal5F4l>9qpxMLyKviluWJZe1a+xXx^NfzpkQ z-Ce|Gq(*1Y+U2TME~i2P=VGqrZZ24aYJ7oi=-!+gx@R1kWS6w6YLp9=vTjQ81X&6&6Np;-VOZ}0(JSVau)en3IS;ucj!!VViw^0iK;q7L&B^7KyYu2`f+rtA{l*bIZh z_ku6JE$aNuj1kNV6)fS=K(6}U!E~-#f!xmKUXaITUnw7(Z=C9?mMYUy$r1tB5s^Zg z!RM5SRP3gS0QXc_Fz|k20dJ|;!=*4)lD9k;EcXx#_P?c9b-BrK$jtQfs!E{%MZzg=Y_^KA<=vLmakx%&UgflzYJ0!9wQ zoFPmBLw54c@~q_Us9mDs#yzju9dRkM+$!5aW0~GKCa!4W4kGx{N@*b0e3i$^v8)f=*ko1>)XwlTk<#5{`)mWJLP#Tn4lvF!Csf z@}n6v(IPYw<1Ne-rb9n;WVOQnwd&c35Hi0fOOynu4s>VZGP87IEB0cmsUgxd326U7d?&elce8^!swLfbcS^WE znOX)FvWS=VMW`4eLlX9;_CFfvkO6 z8vCv&C<-@-f3^vK2y!cTN}tRB(p$fB4PsLFE9nMv53qHAabVYW4(WJ%1rv!U_uW9S zXCk%;qPLp*E_*M4Qql2|OSU#AIZo%a<^af|*>{8zh@10RmEWeGqfV=^6V0IYfDb48 z3IcOAb-<*T194>$4wi3uxRS<-o%B%`NT(vqd4<#Eonz7;6!D&eRapzW3Rk)V13H6| z$)H2UeBxx5mN;Z7`bgDsUk8)P3{r(^kU)v#wDAA+83TdLOz?RRxu4)!k&il(D|vjM zx*|qmg1l9Y?s4x$NBmbh{4QGImJa9Xoj}()QVS_!1+e* z6H4xdtLvR>IMB|zr&{~RPNnh~(TmG2Mb8Z|0!7qTv3M6)FrKc9yLDuQif~<3yYqJ< z5prkcd`<9qLVI(vsYzf<;2TlQuDT6ijmy40GoW)w_#{8s!FiF-Egr_yJ- zc+F57pDkkxj2uh72-Lp6|9jgyC{ymG(8ip5Wl3%j=}%3$@{v8cg?7q+JU2p<**m;r z{4H3oy|0_Av4Q;ZFW>nY4_R!5c&5r1CwpGR+O2uDv)4J`|90|!xcZ~BV1lQ%yK;WQ z0{0~2|9-B1F?UH-X=X@EAu(d|WO@||iwg=Ip5%Fj3m2j0p+gx2Fi`X;QUywx zHf?GXKvbzy2UJ~9!NLd;Ft%!d@D=|;1P2ES7@c|+ZCbPxX6y*F14mpWai{Q@66PZ) zR0Q{4Qpf|RiMBd&xCop=a1JVAt}Jd$m}6oaKM3=TEO~L7MVlpc=Ja_{oEkS&lvZ)m z#1kousm!>HT5bs&m$5WnNM~f8JY`~*p*Zx4TxkPuOC zK3q0Yh>YBD3y{I|9P*2=ND#4OF$qbT zJPgV4u=8!Uo5Z^Ujv*q$0Ja)jFoLi)+!%z-=``s~G}A~MZHDaZe8SAv+CuC~DiUPl z&p+wtfif|Jy8s0)qU%DrMW0h6I_apJv=U9Wv=cn?#OrR;?aBj_4TlIc@x=N}EtS+- zTEQ*SP`%56i@~%+CL?3?^HMVc;@Ipj$K1Ty4!lI0FqdCgv<*&WR@uqq1*h%a;R) zr$}%&L3bjEw;Jny>m_+ZvT?T=Pev&9x^6Je>NjQj?A zwN_E0&P5ak6R8#JSfG3oLBsh}2%B^Q_glclEthbmY(!UGc723b-g$AX*WRd%lpM#NNM_QoCVhr%;5`dA7|h-h zUKmg|s3@7tog@}dO^aQ}c(W)-Gfm>`Bo1T>I?Ln^bsGd#84H#jMzlCdkb{n9<{qv2 z=H{zon9H9FrPBWfB|E)~HBj+pPw(!%|L>Bf4?(Z!R>;4Q6q&3hu-Rkpt~(QvY|9O7 zv2`MW7>!CMDq_8F%Td!=Y~(%EkORs+tC=fi&CseWP$@%xC%$O!>Pq8S6SCq z++_jA1?h1igxrwsHL`u3a8F679?z;InLK??HIJdqNC0)Z-oeIWt$Q8p1mOf445u`8 z`p6U>Mlz8R>~9_^9m)nJyh9~Q5XM^`q>%R<<~i?qkGWo5pg_G9S}$l`+aCA6S4O0* zs%a%D-$kf4pf<{ieUkviC!#b*3#|-o3ldOB^q7$O@d^@LLfI)UlA#(rA%J%?7S_mU zvz9wm@*pVO9znA+89gE^JH%LW~6NN>fD3e6dRq^HU9rg~vj9;E7#`A|b3e#W+y0 zm#)BB&a}w0=`9JFti+YD6xc{JI?`yg_>~=8C6ig0k6PC9Rka*6q3i4_FJddtg8EoG z{NV-;dkl~twgi&85fqUhu^S{nQ4n-KQa+@Bpo@lLNuea=l9<%!QZ87^PI5&A@A9Ar z$KtqAl5#4DiX||0r%DxSPG6}UUFUG6Iwk%~45Hgf6r}eBF#Oawy&OcGI`#&G`oRXm zNge;bR`(rRCMbAJB$VhR5**^RX=cb{PNb$&scpVtOWx#SOnLf6Pi4<-8 zw9|Ziyq`e@dcH|?jiDc@)`V)q#JTb@k7m1{)#O(phAJ{=m7t>{8_LMFLUbjO0E`4H zNx_U}a+4nYXbeR9qsE=IUXz;~07M&1jRCQxEmhKLSj)=6yfQI|tm#gkkf7{wE;S#! z(-?RgR33t138tAsUKVPoZv7y8jd7R`0`)swouI12ktWP$<|wXG%6SBZLr%xaIxntr zE??RwATcv_>`wyxPxz}!=^EexCSADQeTES)-U9RYjDWZ7gPq&1ZgU| z#0hFvBX!-+V9~4G>~4!)48}tBE3Ilxur0=HDp{y+A(1EuvI4qhtLf&=qKaQgg129P z(NJZ3y@E9}} zBlQ@BJP`DhBEGCvC<0Gm2=L??H+`k*!=yW9U+PyIpAfYA3KIR80;Qgd??KLx$pSgnSX0o7pL`w-oXB(F$TtTwL$ zU@;^Xf30}zBPHsvibh(}lP-$5)^h2qG~mJ*e!$4T!s$+TIMf;=HgKcx(}sh)j;nrz zt1I@u8ZZIpDm?Yhm}|Ps<(f4<70nT7aD;0UqQ{##4y=uOSYz`A*|D&j)CuWq0A7b~ zfUOObQ72{O^qOXp@{HJ>=j{OlqMP1)aX4Y@n4vkSXzg~lI}ub6Iw=39Ay&gTv+&&s zeTxEpd~B|hfd{Cq_j`WAy6=6tN#IX3{0Y3Jo-PfMJ_VObBak-cgEOx28c|rY83cJ& zdX!<3oBZUX{IrJ?Me1oreod>kqbUwO=vKS>r=`9DkV|cZU4t1SXaYKRw&a{2{_yBL zsD35bBzA7q`Rr?SkBpM$ju#BzE-TjSFgU=E%)!K zlbthZ0fzvcUx)bpAO`V!*#3KcJpcdynu}rjYJUKV@vwt`LZTA3qpXeyHNs#MCazQ@ zss$bm<2ujtHV*VU&f`Xp^mxSdN{Yi!YV}eMQeub60Kw^Kj|Kk+4H7Kj_FfIRW(Vwe zYuCWUYL44MvXpszm;?G=#9Pxhxa{12+8ibsGW z)YJg%tn5v|56iL)V0wnEWGb9|kPZ4r|Jcv{%i4(|F3;QFfi z_K*(=4kYFf5b+D45@`WjF7ierfFx)_9Q;_KAz)Ro|Fz?i` z{npSu$V?^75hD;{R_=o%&agrFuMY1I@a8ej@aPJp%{K5+59`nm8${2J3IRpp2fttt z@I~xb`smFjQJF61^w)96e*#YXhMj9 z8K+9QC;+vjkqfO6yRh-wVvHNR(WSn_?e;4A;!XnRu0UvE&VFV7vTpzMP9D#4@BVQa z>Ci2gh?&~*-rh_k=q+U!ss|0yDfezTQS%^@63t};LnvK5t^h_a6EjjH zQ7`q5A~H#9_k8X3OcLP?EhSg71ua1aUlJyD?3#4QCe6?$eM}ce(>Z)n2z~M=mm??_ z>m7?SO0-LUsE`bTpc#9BTZpIEEK}^ZO)97I3tKIEuJZi6u>hT~E4`8&%@G~L64};? zVe;}@rY55j_SxJL_zd$H*Lr_E0f2BvpWBVlPa^3GLRF6V2VJwavslY9OEN8$x(g$ zVgTK7Ezy$i@Nhf3lSthw@9eKgk1cFO0`g|yJooYkG65{JMKB>TA`7$9a%5Z-b1d?+ zOF6MDHjE=Zj6b(f5K^$YR?t9Wp)U>%XMnIZ83mh2^VL@DCfnppUk^Ee@_2U4PwyZ@ z|5V2YVHkxHu@nnC67Jwglqq#er7F|=fN@e-bVZAkyJ89}*Ul~i%b@TN@NQH`+Y=T_ zfkLD};INbbgmgC5QdPCnRsZqe`e;aL)ZnzsJXL@J&{JV%g&`s9JqMHXG*A-dQv)~P zq!hCv@AFH?q5;CxSv_&IO6foUv-|(HVCf1_W%Png*YrT`h!19v=(b=9tm!iClulh| z`L@d1_Eb>+v`nN#7?`BeoI%3Oj0m0uBXYY#9mqIdAsv}9rH;L^`u`WrQ30Zh&#`X~{ zC6?e^l^!p4|1cIv@itZC3DN(C$Vr9O1L%M~)9LR1CRituSOxc3FAWo6wpnG?K53S6 z`7>H6M{;(rco3-%iR)))!5GvP}folHR?UJ+g?v}lnwI6VV(Pj^onSZ1cHb%c_3^Kei|G;1F%ns^s>z&323 zM|kyxcvT5=$mT)jcHRHjmVw%~Ju>2daP2ny>1tzjDWUD}0EH{}svcu?d+~PP=;>A{ zgTiz*1IR#O(-$QivV9YGaVJcK9JhWUw*u_bq3xO4QfyYjD9RYUL)qx{rd9Ia$@2S1$@LnSVb(BhTjiZB!Q;@~aBq3vj z5o2GFOIPA596fb;7glL94~C&lhvg@%G-U|nc0CZGHs~o;c~~jwCwaLy`Z|G={iGrM zV3tG{N-a-E*M=`+*?m{`i4$`G9;SY=!b>67S@XAMNhw-KOvJ!AH+vR<1(=MHnMZw3 z@^Y@X=J*KP`1}9f7+oPa+f0}FI5gZ6GaFBhMQnW1Xy0Lf{=6KBq zzXT#-AK7`o$A4C63cp5&@$G_b1C#Ac&v=vG_D>-8d6_)fVlUPndE;mLI5GP&h0(Wp z8PSCqdX}*iF>SdLr5L&#^8=e)(o4^Kui#)YQa(|99$;IhhCejM3Pc>o|d> zxr1pMj;&eSjL`M6Sq1$GfpU|Emoj1a5=D!!dCVE937MaVmtdQk2l{MO@6D0r8Is>E z4+KfCt~cM7lvt#2E8h|aEmp3k(4c>`hq14KdXp!V$(42VS7o`0EocHR8l#i-(Xe8p zb-4jRpjrQW0;EG)q%pTYNsCN+@BczsrQ3(4lli4#Itk9Z>FZFIotYGb;C}Z z!_95(3T2d1Hvy^#hFVT`50EGOs8jo#LAa2&wrmCCY@a&KqR(uU_lTKS!6F)41_-NR zH6GvbLR2|d2F^$)HlMB6Ei3sC7q$9q%?R$Sg~HpGV?x}*0R zOgrGOGcZR|?kH2*a~Hd%QK5iISC}C?vX9VrRXeFG+p?8!G}VNHr3HR=1F@a!5#>aJ zQQLzn74pi%kYU@Y=|X$zDHA9mo^d;AblZ&L2de=txmT6nhC4Im$`3MpV<}cd@tHjN zY<~ZoyOy+3S8$5DtD7d~7negeyCY0kYni+6ldr+MiWfk<{d&7E2|be{m<;j50R^

%RZMooIi?vjD(RcbS=7EOJHI(}juNX`f*Y!gd{OV3BLp1S>buIVgPTk| zoflj#_ACC}=X}<-svEM%&LjaP#1IHiR{yMtI>jUUn^^iyZEJKb;}IDjqiS;sGw|}x z@gR-n9I2Lg#xp8@Z+yqC*vH2k$YH!#Kc>jM8@nfcM(DcIp%~r)d($Uu z$j`fm7o^+o(9KxU6;J)WQ(eBpw$)wT%(-niSyu&Dq1MlXj2VRBiU1B_16s&Drwcx* zYyH5{Mh6KdQ;mJL6IRYySi)DB5e;sIvYNST@yT@HxXQ0XL|oihMmz@Tn59pS_Np!y zPnCNrpgeRTAzcU5odZ`T-rI(=YqFckwlx_i+qN~Clk0S{ZJcb|wmI1~dE&2s@5gxe zXV`16y`Ja3uZ!1UgabHo;?I7t?Q--HwcUMc5jys7P1-JCNv?Z&qfbVKp|rJjYS3x7 za%ya=(NjD`49*WLxo9+8UNl6@uFb`TN!h!To;&u%F<-ACjiP zKBR29kzdMVb+1{=3)kv#Y23Fm>rlV!!pGV(u!Wx;*KfazXbYvTZ|kT3w|$`-Al$pn z;!`L231BB!dYMP-Ox$dRGfoU#UG~cUY`(DibI~ibRyc-v3Z}n!+_>k}d`WL{glZn? z13UCy@eGP)W!Y=x9|ZNytN~;0;{22Sy(M?dDT2^)hdp0&Zy<;b(~2!w_K{|Ug=aGQgLB1KSvqj4UZH`}oIH}NS;tAj7+!Q8(miE7K# z4}-@?=Q4zA`3{q;FI^4B1~GBNQba33vMKxcgp%E+8L1keP%SV@9(oGKMbTi#* z6YwR{APvc3hS`NGL28Q+deJD(mn24kERe!f9K#H6aoo2iwPD>OQy|-iF$L0&q^L(r zwOdz3tJv(1(sK{o5_;ejE)|(o%^&N=+oZVn>pIAk9Db_pGxM1ddVipoB$KG<965d| z-Dt>*LsyT|QdM=!yv5Gi#lg|kt-nEbIh09xm|APy?>ov-|{hvTy zGsE_ofqzxDx6c`@Fo?>gWF`w~g1tWHjil3wOWtJj3_!|-z(-QH284imLx#7AH8Z1x zqFCBnT88ZK&^@snj%7D-MaTK>u{IA7nnlNX!(`TkOaW3L2yX$QtYH;cu3D{4>_S+? zJRT;=mnDbtjWAr)&83DHPcHaa?4-R@vcQcnE10Y>Ld+_LkpoF0juAaQS3Z=?q-8M& z)oP@3=R?tJkRtaMZlOYx3?TZwZWqxwB~nrU)O${CyNOkz8w}h-UVBr1YO^ZDc5tBE zyV!s3qfV}{K0yjl{?j!RI>hyIf#``O|A}bZkV-)|&g3?gM{-3wfc_dsv7R_P;KwTY zlkJ#IUv}39rL_+?3QFOdxqK>RE1cc*h(i2Z7S$UKKtu-K%@{rBR0=S#SkD|r&q#G) z9LcU;5rNcHnZw}ZnLsoXZOQ+zjplnQpu2Meg~m>P4`+p`j(}#{;$teOxDVt3K=RsV z{PZD&I@9QFUnNmp=&}w`z+7OHKtS|M4|HTijlK}StKIu^O5wLix!HerW4%K| zwv0@ylYyZWO44F==Jj?aCFnA_94V;Y>CyR=Ns(Eh^h-)u*~H(83CDzPf|R#zDNntQ zLKnQJlIJ-}kR;hzGzc*{Sma43H$FoIbY@gbiVCrUJa{1^-knRK&q@TpVMuDrJJ~DB z8(@XBhg)!C<;+fzCuQDou>{o1Y+NojA8HizI}}P^RUV?qK1-qG=j%Ns$qDqH&v>2} zCz-UR!`_!C{P5b%wG>5xWU_$=$GR0qPHOddVJ~6()#WE#Flb8*Nc6#RV}vqQnPBm= z3g4db9lZ^niaf*60=SjqZon1_XCz~hOB}|D@?>V73#kK%CG^!gOb#!q>eb0jVjxUK z8gay&>j#@5MoT$cyQnRI2l(`GyslVAp@dn3IsSQw(rAD--ow-d?E}jMJ%z2=xf#_H zTZ<${Li%z5OIZtusmrCR^x5)S9T-HUFZ_`K2%JFsX3t>dSy`y1SurIzIA^xIB>1xZUsZSQZsa%+*(_p$=pFh{p60)-1ptxkzp zXr0-|%*Nv+>y*wiWAq{=rhd~#By}fpB5U}EZcuGP^49#FoKfgqWSt;=V>-OuL6F9P zDWql9P;v$yA;CYD8Nw|4WWd7YDZv0`467B5ya|et*BrOFgFMfrxM*jf_m{S`=r{e( zRIoNf+MGk}u9Psw^yhRYQ>F_SFj3)eTd}F$#I51EzYS<7&i<4W~PH)OTcBL*+?Qd$Q`#W)2s!G-KjW@7AUt>c3yNA!; zDEn!PvxN9!1@V)~OG^qdG}JV1)AE>m;clIMlA@aalPY7eRO~IVUqRbni)&3d{*v?5 zjDl}Dx?rr0v(Ikg`tBbJm|KNjHV;VDpr2q3d9y39F;UHWiYib^*;)X}s4al(#rcO( zX63Sb=rBj@znE`j2Z8IP@Y(k1Kc#ARsA-;{7;;uA(^3R%vDPM?a+Nbrf{tC&1+^)S z;IlZ~Hi+(GO({lcp4%084e@Vgy*F?K^-U+F(x&D?HL~&<5Zek`txHay59OnbkhPev z#kB!bfIKg%wbWd6490_U7TL~&=Ey@&gax_0imyV>1Ywunn_eVu#58zfL zq<;UPHuLHLQIBBVjn=;Kb?>O%j#6$}ub7qN%aoDO^8Me>H=k`+j3f`}NFSbk->}fY z#{nz0p-;H(7PlrX--<-J))PnIlgV8RT{oWU;+-#lio32B=Ae~4QjF^n|h zI3^ynwNZ$v`@$#=={$v|F+2*qFoy`g2_BCjm)-V1e+OkrsAA2Kc~6owKGYDZv$6o7 zx>ky62w$IzNuA)eSy*9sSe&xHuJ-S?An&(-S{XFn|BZ&_ra9=AKy7MGdAHQzR^ASd{7moMCON7b_6rqM> zmv3=BY%$qFqNwWWk)ZHk6>XHB_`WKkR201u5?*G8Ah@iOLLKScMz9g-wsjiw=hSVV zR_&nehova2bYoCxdgNPpGI^U2Kc3DV*aqsK4LyJ-Io%^rGQ{Cu+@%?(T~k!%;pcZ} z4mfujJIRrFU-UR?bQec;zH8V72OazqD<-d&gp)^pwa0|cF|P|u-mC~=@pBH_(gYM<-=Akm>Q>fR)?DRB2bO1+R2yGwCQcAo9K`06k_n9)x8JLZJ z!rX9*LBN;M3jS^{64roVj|bFF6`_#5g?EA!8o>7+MaX?kvyHTtQcfmWJWbE{j!A3} z+%G_OKMh3p%18(LKDIkHn8)%`@yd_q(coshYWit$sjGN1ij$e`xyJ30e{vhGI5*RU zw91Iu^NH}XLz?2jm(pg3v1Y3ua@zs3$H#f3z0_uO(pmvX3*OoES~>nQzwKIbsDL?a zvJ^wlIY?BwajxkzJZc zIx_JZJHII5J0uZwjT7;+)Lo2rur*ZOZEX(lzP$i7`iSA^JP_6?jU~;kWU@!bc{c6} ze8S3@NYk1Cj#L#QpyZIfR`BgWBTiJ{=lV^fR)9_fO%vkZ&yy`FeU8L5mNl6CWr`hO&O%=L693ikl z#t3SdHsd)zr5H3xrY^{v+Fu?|N#~RItnYDNWiOM{yHplXAz~w*!>}rxuvFNGz`Y|= z6f2vqGe=FHAjYp-UU{GrJWM4*Sey)0m9#AeWESHhRQwZl(l4v1d@Z_o&AV=k>|n2) zGj|zUC|Ojm(~SbdS_xGZnSG&Fr@{(jBubc{vhWGZe(|f!hm~&J{g}x6X&Rt25aA%!DoT=svIPd#x+SExb|U93lTEu(q^tN^M{aS#Wis%h*(;))uA`w*oQxOQxRn?8e4 zscN90f2O50a&6MaWf;+MJEpy5i(Hh8$u&vS*GlSD{F8C#|I+w@YduA8&(+=?1@3JvZL)e z7w!3*KcK$?rLPfzYt{-EOc4ZgPTG|@Atw5j`;@h`MoBc(7GO9A!cGMVt>}dV5-G*m z0{^^rzu@&ScWMX81RiyoQY7>sm+D_t#=LLjCicsUzm*r*HWj`N$sl+C=i8xG)}hRR zT%~6-XBMAT14=HFhQXQkS2!&r4drBWyzMe_bNgC|>>?}AhxpuRLz z87Z3w5khbgj(8MiVGW|+;Q=^%p3}iVy&{Hn{Wv|G4lzv{nI17>H|cjV=ds#rIo`#$ zntQq4JfdM$!C}HRcg-!I%BhJQdnf2ir*6K_IK7F!W_joRkU>2#XFDk2k3^}(+Xyra z-*jZSq-hi({J;>9&Axn;lpo(&hqy&$n7L_yngb$-I%Oq zzhh+VkP!V;+WeJKfx?Fmj83pz7N@M+~b8QTYK>va8C_dVd!wK(|p1Sk# zbQL&>^REwPL`hZeZ-hDNmnNv{VesVVlE!3dLw56)%_MTpS0L6ehOULJtr6QlvLd`6 ztHM>w=Zk#CEMw}~@})>Aikg;R_zqvqd}%?Jwcw7}%Zub4cILh5UC?1$cjW58jkKO{ zUW^~C(_T0!xgCDn+>@m{>r)w+dqjB0H&H4-@gWaU{IdhHdf9$@c~J~8nllQ!P9qL1 zscSpA6*W25kZ&eidh(ucAEPxeQRwL0tS!(*80GRKx}KD2f$Gw8)_x)RVKih~=e$e} zyi)8~X2e`EKa9D=&nTLqHDk_QPJip0^ji6oU&d~(H#K3&|7jxwUGI{Pz=L+8aJ#*9 z+vFoUuh(t3T5wJewYi=?-+1~HH`I9$xx2abqd8_vqRlSZ5q`^(q3R7s|6}V`#9`>IFs){`-c$+Q? zO4XlU6=e8t6Ge*&JNE#_?ztO&VQ# zrkdNKKGT@>%-hf4(WCLXX+FK%a4bYoiQWT zDu8k%RlS|}o^uY>n9iSU!~?H<&(U_Pw`+mUM=_g2xH+X8-Zo9AB z9;B@fg@(>;rBcy$-#UP0HJJJDXTr6IuT1XG0zZCGb6#;Ye|G=9?^+hNO|oPdZA6u> z%LN+=t-vE6cPM-s@6O{;Xj-ZcmvzPx^?;=;ux?$=g(nPdM}q29WENze?8QQ`x@E4& z_*dEf2Y~rO31zMHJAv%%-;WIzmNby-s-7;x#ju#O33CzWCXH&zO~=fQ8rAPCyvLsP zZK;8I;sBND=_;tq&?)9$At%4wf1mj|{$rdTd0qMkjB{m)==bShp7frNU9{NnaS--j zk1sqhoqS07ewfvDpU&|7g!YiGq?<8*sOmskt-<;JC1*zMTdO`M4t|v^c}4zt0l_wr zA|eNk8rx9(NmoF`7O&WyX-=zJs#8p^NKRF;C>2Zi(_<|0I~1so6w1y7ka zp;)=JSj@#9(>BC)HlI^))6YA2NCL5t!~Rf&pA$N)ggRbm8DrTdmVx5Td|Z5?uK(a>^t_z+;b4fB0=syx5T|f>l`j3Be;qaJ87BysBalQpnk4-9-SGW+?oiT6 zf&jm+;8R3PvoP?-Cqf!;tSKfV;AS`Azn706^40}31I`GAKtsf0y24pc1@(RgNp6fu*j z88fbTelRLR#FsnnQI;GLgsY#-09`iZ%s4?=Mu~{VPyhpi-b1ZZBFC(iby}b*M1<7@ zYgeU0vAl8_DkTxFE!%N+T%5!&@b{gG=k&>5afUyrQc?CYRAO3C{2R_}A^9pY3L4^3 z5t-^MQo@;V5Zax&upG~$k_bgGc4K2SwP@&69R33W2K*!8uNY~AjshVRyuCV2J%1=! z@MmGJY(GzFYVf&qx$bjN^s>|)qqOe8!tF@om??Lc)gM_0O8QU(Ou$5Bm-)10wXT8; zo?Mk!%~-rSi^1f|)g>7V+a!fN`^ir=ods3s#wG4O%)yXjzYmVtz}sT1z(ep`+UyDD z)BUbMEr%BKwS;&wlZ4vU3P36jr6~OQFso_dKX#G~^LGeAz5@LZ1g>>+B}p!FdLB8Y zC`{Vu#~vN0tMU{582*YOUOiiS>yBWOiLi_P6f-WLtS}#4t1Bu6jUSC9+ffaOVKB+G42^NYZk&t#LmjKE!12%+oM)=nmj@$-LLAN3j;Oc z*o!;2AyEMgYY_7RN0b%%a$bxbnNd5`^oyJaIv7%e>1z=+_8BL6aKuKjs8G}Ap8s8$AwuFsD>0ApV-{? zea9|pc>x)7JXIQ@Wz;NfGCM$!XH4D&$>N2MQd!%hMWuk6B28lC1?>KQshFF4jzSwC7Y0f|_Y5bA^E)AzZ4#=9GJ1iwQma-D(bl1WR_LG)|eWwB3U;v>s`GK+nJmb(MP0=@>POM6Dm0Uc!`l@bVlEzRb=Vm0kXiV z97?lc0S@hcCG|o!G?lzHO}xdGGpu0A*MaGMwa!4KO8{59qR0tpIY9yO-zv4*5Z}ZS!h$R;uf~wqQg3#b{30*U6>k- zk?~^--4W^IlO0&hm$#7aD%z%vwQvaJUvU2=Xv!g8E^$c(a<5j;r(8sW^|miY?tFe2 zd^gjvDS}tyZIQau1Qr|{K89m-i#yhxlZ(QY08K!Mn24BklN(M6Tv*ztfq|cuN3&=( zeXbP{!P2H}5s4Mq$CM|bkVTeVP5p>GV>kRiyZAhxxQ9NAi%y*7uz0Yt9<#IrX=bd; zI4WzLQGQ>d%5f`W6Rh^-bG5Lgc9oiGT(2?WUV-Ddm{xjn!=w>sCOG0QyZvTBsNBX; zpawDAn-A|Q4Qe|ASMMHWGn9)_9znLHdoIU ztzDQk<_&pe49=hC$+#sOq3LEWtPr&_im1ZXs%;!D-XYza+II44u&SEA@*!)xnA~B& zpY~`{Wb5bZgAG}FRs#PtbDf@{hzprm{^_=F1f+i6`5Rd9$;JAGji!>dnPoQ>=MW_q zUs5O6QJm48ta(pWa55|}$tP9RZ0l##ert(bGPv_C?=@3IyCJkXUcQL(Un-&glEp2bSZOaOE!&7`JmS7%3+sshAM;ZL$NL3iBc5V!Cl2*PF zL~1PyinJCXD(v4}Ij>61N9Wp^;Sa>yv7N0ZHf=64{d}#dEs4d=+Mt)-?t>zC{-e(F z&hnANqY9`0D2Mmttl?|h@UQ2xclB2~iF#K)2=9P^g?r@85wr8p2Nfw^C@C+Se~(ec zU%l?DPrSy zQa@@FA7tP~^!KZvO9mt{>OXPinon307r;FL=okCgn)lXi~DM<+QvVHp%jEzVvnd2Y?c40@k-V=V# zoGh|JUJMss%-7AXf;W*>tZs<+UYdtq+NwfIy0miN?oRL8q{3jV1hj8!v0pWV0W++I zi4eOCYGjxm&QM zZJpOb|J%uA9hGuOR(=oCtGLx*wIX)nm@VIahv-{nJjX6Kmg~_@kOMz3t?iER1nD*3|z?8sYzr>ivNaGi&ByNUsZy z?^{4bn0ArPdiX%=ZZ~ipI**?+Pk=KapC1ywV^=la zQeuA%tQdDD0|ttuZjnnCGKh;nJgq ztn1EvbDudOhTd$02-W5MMe%)=k><%}ByUUc<`9|A78X5a)pEfEvQMsQ($Qauug)le}n(yy;Qcs`GL&%t|3Azplu)@dZe- zY1xg%asZWTP4Uv^nn+;<2m(i$;c5v!s((X*d#fr1rQhr-d4GZhp)WDOy2KdQJEZYT{N zXl}w;(DOnSM-|Y29r1tVJ20V0^j}J(65zB2Kwgw;kdf0ot|<7gE8x^Bl}KOc!%Z=hsZszI}PC%z#_^Y$(0Jg2rpIIMh48u~@^uT+&UIbswbum2f12m9 zFK^UtZ!EwrN$A(jQ0j4UH1>mgada@hA?Wg1LE-u_lBGZ?%Q$sGy2c>%{*(dI7uxFcB)J&{1ob7%T637He4G303 zWbWlvFBy<$Q2+j1@`o_@Ph_)+TxUbAE>A7%Otd+DQn8jPr?^ed3Z#@N6tya0$5NNB zF(`CDVa*Rh%w*EL zD`-5+_9t>WNnkl%bAmA3v1!=AV+QAqb7q4zm)dJ{A3Z&QK4d@PFsb_RjcvD8W6)4; zH)g_I;c10Det(D~jnSXOW(cu$YhOi3LuoGB+Z0-8l7;=6N(!#@`&r7?%?@|z(Yncw z2&q1EIYOm8_VUJz5Zs|L^Jxu-;_yVmgXFO}TAFePPjNCMP(3PJwo~T2PD_d<`&U!4 zbH>4Om%+UnUyu`(LL>2Q6HncWr5;n<`NZ>BULtyLgli*N*(^dd$Uk5)=yPs?C{jk3 zN?%MqpZLOrko&YKS3WrQ&!qiv@xp<{u%uV#+ArUt)Q)*@q-D*}sco)h#9mdS{ot1F4zB9RW;9)0<{h}XY&|Yy+t6 zy-Eu2&Z3I$nhLpXi-k^Wt7X}QEPq@>UI+e!eg8u&Km2?1yyoeW^DgT@H*qIIJIAMb zIw?FCO{gRf(PU=IUaYM%jUOVcsZzQYol^Q#QN`WFH7Q4wzBTcGW0ZN|>~#uo&baJ{ z95wYr&qq8iMM_7(|53AUnG7M)Ecw$eMO8_m8OxS#8@Vlo(i#7q!NU6lqtr_{?P>g7 z?OIA4OKh^7Ylf?DQ9S#KFqpPDDBh2-IUaR!bNsSbOJ_AXiW$!aSM)L2tK-|=v0BRB zSeyi0i!#wUuQz7u5~^fj2-3rfdXPvu8bs|_-*NAP{7%Zr;&w!0WK83cL;k&+60eC z27Yg@#op z`QgNsy*MX-yGnnRAjFO8diN)EM}PsryY*hZ<)829qbBUHoy`CArQJ5tiEq*cAI3PG zaxKfBdw)R^#ZF0&JX5D;W9FtD%?eGrTgU*`_; z6Cwf*1_2S35(%3K`HNvh$c#csgTg?MgNlp8!G=f4gHK6|&nQTMOih48Lcl3bC@A$q zoQ_mlmI{ZGnwXkeT!$8ii&jvLR^5yqg@{4lmJtSz36_!xm5Pakhl!GzRZWnMfsn`EPHdU3 zSBh?Ufu5S1v7nL(42cOUiwUQk$xj1wVqSAfQS(eU3r1;6No`9FQ!9BRYi(C+&v+Xk z*v>q}&MM8GOW!H%mvfA_hgyIqsgS3Vj;E@vr*WXCO`w;!u9tzMx0H*wbCNH?PhVO| zU#|?mn&{xrfN(>{2u|e)b=wH1gb3g42+;3HdCN#!-$;*8Adg{GSOzGxDjHN9Pc0ii zlAll#of=k=T9u#1rk)m_nHF82?i`R|=#`ONlWFar#jBO&o0*kWlPzzZ?G>4;ZkMm_ zo*ebF z`S0lAS6}e|F4F(!gYXFfi9igf%kK|Cz@pb5t1B3cK&Oz+27F;

YU^(;-Y@kcq{r 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

gd6)1QJs4sJMcn%-)K+GnGlXt={ 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

xej|)E>`BKyEiUPqD*>pt9tlo22VyyKgvH% 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�)k9$EW_kar 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Â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 z z4hjxcj&=2(+V#|88R4zPHN#UO_SuUF))u$8ugSU>+{W^d@q#zVcLnE0mt25&omR}< zh-{c6t@(%b=w1nLc^{fAH>%Sg8Ou;_Ev|qUG;hq4Zo$l=gEN$HH>A=y|*lrCQ@de%kCe1?O z+;i+zLLndYZ5aJb&h&L4^;O@sWB^aOQ3X{A&;^~16&8(f(VIN%}Ee zl679XxZnGg$9^;igl$|P+of5kL*2C3a0H&SdED`U8!kQt{ z_%&V7(TD~zlP!T%16`2?I^Y*};Rb%72j1L`xfrS~$1?TRcfH^m!q~{cKn$Qxo+;pG zkY63P;Y-EJo7JG^kr(^5pL~g)48`B+%^&>%p%4yXe-)t-dYMxQk^jNo|G^f;Nui4r zV6b5!9<`a{REq|tmA6I5hLz%mks%yqpc$%I;icgRLQA!jl(}gib^Qnlb{`;mM;+SX z_qmJ?z{~id)q03aFIJc!+F^RFAF6%c4m{cD{fPifr5tHx?1Og2}dQ??jWk6=7R+{2N5gsghWp72tq46TRK~VA86-9cUuNZ_F zY2n8SW4ypiX~<=%McdK^R=pvayu}GZsH7pXp_orCicwk?rMOI;Uf84SX%x zGzw-6#l$?ypG>ww)^#U5Ddu7_<~P1xV;@A*_vdW}|m%9gl9AH{ztiNv5Q(CuJJgd#VU4Rbe%jM3RP360}PI$tetu zsz3^dwv8bk!UnG#D3@}n3%sfd_`s{ms;t85t9of`ItlbaXqiqZ;VHm%)TV{rq5`0R zb)A&?6%d_8##<&Q*u>SR<>h*99(1ngpStLa)>rf#0=MQwehHk8Zeyc9s*jQ<5J{$x zs-t?M<4-=JyIRbznVH&=M5ogK3rDmad2!UJItCXSR?tinm0GE*;y|qWfWaDU92~5{ z#_FwJX$Z9DYnEYH3hTs1XvL=KxoJtZ?WfO$D0eUh7nN5GXoP%FUa|l1Yx z$AWCss-VVZsK6R1tkS9vK!L(;Ev+^zfy63azJ{zF zI_q2>i*hjKNG_vZ@@dPiq@c>|%x-J9-mKf?Y`E?$&-N_XrQ^`1BaxC>Rz2J*B~HA; zqZ!nzPpPDFiYmWOZDD!;A&&&CmBK0xXsruq?ZJZWmpbT!t}Vq9+AX;*Dza_ADh*RE ztK5PBT)s%3aHttV0h2yI0 zf<>H2aOy}5Ajm9j2$ASRDBx#;rjv%I+&Q45T@IGEstVX@{K{{aeyP}ArK~Iz*^X)2 zN~l|@?J}X%DAMkS#;qOxDMrer0v?OBf|?BqZ{HfP1ZOLZ*6fT9h_~(p5E^dWBqrjP ztKxbEx>9P;UT=X#ZitLTy?pPlxx%W@Cr!GZ`kH) zgAU&-@-LYJaE4|7EcXfUcg(5oEGx+JWl}~~X>^?WHE^D?R|HS+Ng^-c8ma~Rff(z7 zjUHyWdhiG5UkDFakTUMij<6CE?b&^de*8yC$YqMWg~j_Vq?R`r@Nv2jfX~?__ zAH&C;60*srQSyc9bO5CL-s%c8^1(`h!E$r0N^)yn<^CS=B_m}29^|tuhVa>~DCRBP zJ~0$?ksrtZr6}L9%2F#9<8u(~>G1w#D__AEJCC3&FBxZ&^FD7HgK*DI)jtvKF8}fg zyM$Y!>1_~ys>HZ#14vLFK=&j~1CZGcF#7&SlOHD_}-Yjf&??GQ_>5tDN!YjW9A zXlPat?%tyl^W{9(tv$;IDrYeS6E7Ecu@}E6cFqA(hjBrhaV;ZsLg(^V5ZI9N+Eiz6 z6JFvh1f}I(E@9SIgxO0atO4q(&!m#pu}>wN)Nam zbO(3;HuT<~8bhio5ZDMebP2n0Ia;qozp(cjV5;n%nt?Ub0yHxNav;0xFWpt&t-ubv zfN%G$xzeC?j?PP99tPHV{0xZ?C`!;7piWWfyV4mZEeEB)1f7cndi4mM*9`n<;gd zxMrAmnYQf`BjZhfT!`wf4jAX(F?M(-nT@l{cn2y`7jWgo;nK!zlLwcl3Iy6%H@mhNF#snhV=#6s!r@SZC z4S{;7+dICG`VhkRlQ%h4xq2J3XQ-&7R?~%=F|GG%Ir|s_fHN(fh&e}p&Rod=mBI{~ zJ2()i`EO6S8V!JU;17VlW}PeSop*S&e=|6bZF5}vbZ?-xTWm6J5a)(_vjRq=n>&r? zb5M_WG?I5fgYg9qZhF(Zdf&UglX{Pu`l?OJJHvV@1X?@G$Fy&`{2aX%hJJgp z;w{ZHqs=R}az*-J1T`zGyJS!H&&R}3CpBgd{k>0q2a7t=mwHt7d(#8|ywiV5DR}

jLU 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%0DVO&7wN* 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≦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 H77zeC>QOR| diff --git a/vendor/DPP/docpages/images/embed.png b/vendor/DPP/docpages/images/embed.png deleted file mode 100644 index a8a6e3343472631a3a92e9f9b8de661fa053f8de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22905 zcmb4qbx@o!*DvlaTb$yyxKk)jY4KtY6xqey-QA@?aV^DJU~wyM#eMM>ZHs$>Vz=-2 z&7J$tohviXnI}2P`Q>Dib22$eVl~y@;Nwu?AR!^)zg1RvkA#E*AR(cyV4?ow{ADU( z`^T`>RMk-w5tsh&kC$I0yQ-Oqjq~~W*)4VzDf?MKNIa>aLhO}{vwt{N+I3!aD`0s+ z%fKQft&jt2QFx=0S_~T+9aHA}-Q#mgdVBj*Qa|YeMrO9I_YV(7CguhoAkJ>S z**SUs0l^aTref0aitqhgq7kE`?70QSfD&NxTyicRw1XOf;uCAni?uoION9D!_4GyU!xIwJ-g(YR3v`o^cQZ-M? z^sw_+ec~5Lk_LXZIJjBpHnqG;OA-1~BDlSdDESoIl48*oC(og%zfqt&S7z_)FJP?1 zH93E2?$M%W9%}7=^;%k_r0Qm7ptG&MDmKh3A^ne*(PCq1UZb15P1Zpt`xF7f zxyaIHo{dlAaJy2<{8ypzU$%{NNpNWAK1=&{QP|B ztvVI$DN5k3^J!6TKGDn5@PZ3msoRYgpBKeafZmDM?d!sndtTU?Q07DSLv%%tkFkZ4 z^oAOv@MxtzeqNKN*Y$Q3|AHpK0t+A5AsV1I@$n7s4-LQ7+>L7U;A_lKmSrcCbRkl3 z!R7w+K@FA1)z#Bx==cd7e42^iS`w^zvwne|c4*JbLm%Wj*{mrDTf6j4H!$eTw_3y( zgX02Us1TzrK61`qJM7GSSHpYuBJl`#T;{Ph6e=C@L_l^@CUukqpE8F%lC%kfy^5+o zgCJeEw}%zq8UzZBu@CpJW{e-K%%rjwNbSWA%>VG*ewB_04jc0D5CfZ1I6^5|>Zua! z@%pz@J{CAf={Ew#r!SX>JXND-C&=9txce+D?mswNy1#WyyrW@+6FpTeXZgSi3-K!{y5jmM|A zs9=psbD1{@a*})}%^9B-HH~Bg{OWJ1c`!K` zEPdRkv`+xmSh07fbn(SAK3t6uo{k%m9I&x*Ov{;SxRWfLvRVPx{UPLzh{RWte+f7v z*+-CP4*~@5na32q7BH#a8`&PeyE4;ZWL`$uLE+O!Wj8NY$o)nqrinH_E082_L`nKG z2jHl0&Wsv|Bc5Boq!YjP(5mVG>!ipnfD=2Zj!mASZ#vkyc;G0j(Go{JLvvjJeKXv9 zyYWs>%qGkd<>$*h8Lr{4I!~dI&x}(q5p?FU1W0RPk!M-&%%{!*i~P{I7AdH3cCF0B z<$Pe}bJdXcJah>K!0`NJR^E6GuB?}$<(oYTmmI$wDqkc#f{HXRUv$9_q(Gi8!P8+W zo8@CSj|-M-a0xK1W~w+8GkhDrDtL^WJ@I+p_*gl$%VGLiaGNB zXmx=R_6pWbm|>}>{}XF`3bsPrXIN0Ef44u6%8KxW4%vQ!T#$gBJj|G+693_7O$f^n zgCCk*jz$+Sa~r=8RxhkXl@{4+=fXFCt{BM5SIa?`QOKbNdI6@Zbag@C@$&K^;-kY3 zc*$#wgNs2DyaR%4fJ_^OJxmcjcN|TOw9kYYUjo2y#yU)hLVN}DKqj4d^{YotHvDf+ zc!Ob_G!~0mmwz7rl8(>DA-fRfEugBSDp4D0foLwpAnTiP)>Nz@DO>M^u$La2gkU-) zR-`yZMupnXUZ2AkHT~h;UBRX)l_;SM;7;E+KwDQ_fu#S{#d(c;hg88v$j@5bc#h+D zmLwpoFN~jwGpf^wP#8WXpdB=DdZbd!^3{LRdXH^H=!r)S)X&zU9=6SDk=PEr`ll|& z;qc0@={nP3lLi0V_I%)$+vU&smR)l|+n^(2T>O#t+@t;l0^){pc#>dek%nzYMF57) zZjylGzr0{zVvXeEFK^r)U4Bo@Q{^5RBUgmNl)#2>=t>+#kB&5A>J*;FuzBQy|3BhLmb?s$COM@uf77LnDXncIIl1mm^vRv^hR53~ixu zHqlR*bOKH0|CWZfG$kv;WGG#@aMbsWHJ#apc7(8p6m#h#>`KJm=7L{T4%llsZ z*5KJ#Z{EejfeS2!pNqWjhdz^ADjX67_dI{mKKwSZpZ*|C!I$AOa`9d+;yg}QOIIsT zRA*80c;P@KEm^+D93}jV*J4zxr0*THTAd1y~kE9VX#970oRBbf)}$ zCfVlQ!F0e6&yCt|1ppC2N9(`Re#7lb6H3a?u{{#+PJ%wG>CdG74ADa*1DxT0V6Hbk zgD|9D9oClQBF-PSn4^c@57?2FMrQdF-l236nK{OPa}qHW4Rl@=4#qKX1I8j|>QoOu z0JXH9dy-D8WwRZp@>u~A;>H#k17>euosuCuNmZZKGR4O}@G7?+rz1E6Dh_WN{q)pv z3F1o&0n^37-_tKxkamg21>Vskt{p_Wspz}!rRdb}2F+sc0nALGAe$&DIf@?)hLNLu z>R1)|GQ072=ln5w)Wb#`oY8iv4$ZF%Be0(5B|+L*9t*W=@#ZUo^CTC)AW^kX43K6D%WiY~U{_6EMt+8QO$>*u~;8x$kgRJFuvQu+fhg z=#D7Rc@_DW<%=pm@7iDIua+5eimS*TKVogS**sjjy-nIhho&Syc@U!!LYMJDCR7M^ zll#8tU9JN7Swb@zspYHhm+-b1>R>#sgs^*EGVTBnD967qdQZTBhdzwYcRhNo{#DMu zDw*mqmuACbz4-G}=*ABzs(*IR?s@}lJ4?c@E?Z*2a`&Y!hak+3ybWa(>oDE>*Bj!3?*qy|9`MHTCs;ZR zSzihJ7_FQB{h}2FeCiHWm4pSW=>b0B9ukQyoyJWNQu`-CSY2{xlmA8P?@{lTrI85B z84QbU=%al@zl6^bhHaDaaSKJpbbro$D96doT6J`JdMdLJ6iWM2V|o+%Xe}_X+BU(6 zQ#jzp58FGD?J{hj7mK+HYR;a%9H^oqm+9}^Iy27E_#zuI53QD!Xf(5Rp?3vt_NYwbbF-zfoE zh%LW^;{Aof2KajJXh-8}{SWy!TD!H@u72~UXLN2JM-uRMVG!De9ZFOw=g-_0p4eh9 zL@kFBRYvh>qV~IbS%dwt>v!5TJ3(*k3Yzy+!lQNBv!TRp7lAfvr|Xr{YtyW020qkM zwbqSy?9It+X-upcwwcK4y7-wT)p`Js8NxG2^?JNT#~RvK^LWW z8c+;}T5{EY-rEs|C3?S-6&3v+a0MP#IrV==bF&fY%lhQ)xnRBL!NF(z1^HV_#IJ!) zhdg-$7>?(H_S%g83YR3TcoZM^JN-jtu(x}wD_f$zc0!lTg38#Vc9OG|>$?wnoPVb&FHA+c#tMj&Y`t5qXS4?qUX=Y-e z1@V#7=@CPLH{w1|4nn5>hiWu+#=-7l9LNkvw<)}Vq)}%06z`{Ss>=@Awsb-`NPnwX z?^lfsaDFl$@Jswb@Av&WGi~mMQgM?-Vp1doa?SUG(fdj|f@RZM1HUuLGuDdId=8V` zN5zp+=5?kI5E%xg<@!=C$ry;66<_SpId^CEJs z3?Hl~MrYOYwy{C;so6zOpi+y^k?KZA=!MGujq62||_{#Y(WCHc2C zh?0H$P&h(igJDY)Pa2O=FII2!|Cg{o+W4WO4W;OH^|?^`;X`zr zPG6y-UUeJh{6Y`gf>J3fg?i))WeMkTbpi$-D$wn&;zjs)<4S_7er@EbUAFCTXw(!; z5B=$I7vcT0C(bL8;z9&r1MdS z?EEsS__Z|bVh8p8f<8~Y_-gCKm$xlp7%aGi+`Mz{1Og21q*D!SmT7^*`Thj9?Crq>b)2vN?DEyd2kz zf-1^hyfN3R6oA?2RN=*slIc0}bAVkX(y4w4+Q0O#?c>ka7@(p9oyBktY;z8T6=61M z0m1ZX{f5dKbtQTQtZDO){+K^XE-KO4cc7nbIKZRyTdwC)hz|Hy+7LiHxVrb$5hVse zXN03yjWq<1(5uFe8!WhpTk$^27-dKFcsF6`xe)`YwRK zd3oV4T#~0ZP7Yaovl*40uKELk2YN1z+e;#w9jK=_28uC*YNA0nvVqrG`bPL0%YS&o z{Ul^sY#7y`0@dLbhtFJeAZ3JJ;k$|666Wn`7x{axWCVatF&|?blII zbYrPv;Z6JxLoG!rz3{M&5eKIgcM-B86kjEt6RC^K}e)cVw4{AyZ}&_L4sk9bCy@e1VL#mtgz z__bs~j?d%QGe0wVK(lFY@Sq;G$va(sF%OWn!Yzm<`M?HJgl2#90q|P&8N-ivplV4$ zZG3`S>=w8=P+JY~Nt^?El5Nx;p5W)kaAY&peHWAlZNQ43E+b?~76SvEs1}sd3om0O ziJXocv>+I}QUinB%+>Qvh?i=d65-1XD}B6Kk4Qyg3Lu;&6q?I_`tj3&PT*vG+a3~h z$)=qdzA5*AjxT>1osfRo&jsXqxz0?5{WngMdRhI!{x5$Y5sa%##r`imhRC#SBk4RWCdj`9=k=Z zQeY*~$qF6^1YRBRV&N_(?+wrGm;UuDYP~PCwgOzJzCD|*L1*C% zWT3lac5nmJ|Dp@b*}~;C5}f!244nA?>0O?T0EZqM>K0RJF$Yp|WUM=GXl%3-eu1s+ zvc9*ghRXP6sr#QChr_Ke_lq=Ac)Lscxbenxuxfjw^4hIDe7i}ec!JXk*bf;EVBpsu zA*ZsFxxH1Y4{x|Zoa4-k1Mj^=7liGWMFDO4zg^C=zlcAY>T-j<+CRIhcq`7xUbv?+ zBmaKgrTRng>T9=R`Mr$Czv1+0tl~&)`)D8FwJBa<{g#6y(HaF}?Q^4b@{hrxk!pGUQ#|AR)_|kqV_J#tYyRQ= zbJIS+#P_+1k?yX=vD635zl;wiLxu|%;j`=yMM^9c%=OByz}upsAKpa*uMvWy+`#G_~>0>d?%$t4H+o4yU|;^$2J#= zG*Zf@K6hs2kwh#FrgZIsKp|2&3sC+-lUg}TrnXx0 zw$lOgDMD9^;P`X2vDcbu^RH{%I_$nADa%Ear!t&j3a@Y0$)+?dUh_NRU+}7W2Oj4m zD8Q{&{b6n$cxml@{gl^K&Zaw3b`!XIWeS^4jGV|s1_7B}EMpBgUrK0@6TXqiRC**^ zw)Znm7YC7goT+ZXZ#A>S&_y9BZ-IB^8+85-nQI;^I{P~FwCfOY`0e>0`5G_3-efn3 zG2MyL>xVDHAj37@uMmS1YrpzJlpiTZ-L=K(5^B~B3lS;3x!qcI)J*avfHlG+U~u7d z>6*qAzOYmA%t(1Q5sGdsB8Q>|7K%tGAB(G*Bd1uVo*)j71kF+f*1P!ye0@|{j}?dO zdD*Q+XA<7n5mLgw1Y>hqf7=u_%Vv$#6%tNRD@}k>NrX5syERzaeA)R)12T9~jLfOL znIeFU`v&Wp#KMe2Y|k*CM^{IdC12fF=7nWj>*P21kiWNPY1Z%cDlfx)sV1kF(pM#TYg;5hLj`T_KSt>z1ZAM<$cIo4*wS&zpIVg7P&vw5>ZU z-UqBu!xs`BSKSJ~4f(fx&%swoR1gKU=sJI;5@FtavIS_p#6QP37s)wS{b`OQIJ+Gz z)?DRw_;^y3!I>*9`rlte3?!C!l}T7`QBKRv<#Y!z40xCHavZ)`Mpvzatbkcqaap5 z%83f}XuU*=_Rg0(_($2218}$kdx_QAKYaaF3FIS$T&)^BhZD8*nT(3P$*IHahwC<+ zbKlibv%`a@nLO*RR`c`p7MIUgT`SWO2?@zk^8>s4tAnbR@DC>N1Mzd$S)EwR3WWtv zOwc}cgR*0cf`D)@D>R!VCE)>-GLu9b9y#s-78S2=@_WnNU^0!YIw0UyoW-ZhzIZ9_ zO2?W(Gb)nPg*0StKx?!^I$prE7h(_2d%x#K-807B;YY8NqGt&LJA8DKy#WEv_RXur zuW(Nm?flym*E%l%bIXe=yMxCdX)QJy&c$^1Q=no~rL`WqGgBxAV z3r&h9S27$vKDm@}K?ljcUCJu9p(GV9_o?Ux3tpL$P0aL2>b(YBld$`TDg`$RW+ z({Tq^Y-0$@E=IMunJ>U?;G2?BWgtIqy=#e=shw4FUQ*R zKJj5g9^Arhjl(^sr^21!jI+yxKWb}(F5T9*M$f)1E+*?mYZyU<8>tUBL4|;hd?peI zVn*!bx?PnnK$;OY4XqaYV={-H@!>mZwXzK#y8Zaam7ob;a5nb>B^UvE9UB$p;8CTO zBM)@3hhKZRyQ8m_(0-M?!?ArlAsF9DWazi^cJbU$yDV(Hsq^3?z+G(<(EnX@AXB~m zo~%@DUxz43Ko&pq#?fMYs-+FWwIh2JdamUh7TnPn%5vaKo_!U%X_xa2BT_L?*(%H| zHMB)HQ)c1d1g;Rf$-~7h)yE4Ah4%_X1_ z@~by2Xaj89A=@hymy!JjNQGu7ysu(wB0-hAA-n!MGB}o=U5 z3387s*j!?&klzj(wj;J&ej{^HVYYJWt`@Cn^*Vq1a)8&$saOK%-knE*$<=8gRSWtB zBK^UlTd09&%0eCC{#UHGyvlO=#~>xV(IGpWo1 zS@w6uvXkV;=_;{c_51mX5tXQNz=Vv0@q`M3gbq~F;fqmzDVujn3;5^)d)3$W9R6EqRHx;vjH$hbg@b#~}j!d|mJL1`gkvMGn7Sq|mFf6<%t@e<-+X zSZV5>IuXg8oM^y5r2LOUb9vefPvYx8N#l9H`%i6my|9eGIn$x=qJ{+xW&=71?L2)R z_-$vu%Q@Z8LpRhyU|FAslxt=$iaz+smfL{`Hz?Gjcxz;h6rQobI|855=D^e=Hu`(= z3zP8s2b|n#L_j~uU7g32x>A=ItY*f<@2QrLv$Os0y)2e}(uYgTc%!o)iZw+Og8h`EWfDDSSjh!94tKXE}<5wqzxq<_SvzfWcV8Z^YrdmpDY!oI z*x_`+&Y$?G~f2x^&2)Ni=(&~L|@mc3{B z7dyK$V>;70>eV!F13ng%+aU-Vi_d_t5lTv?9>J$`>S&=?d&dA9n&bt4n;{&;qW0>) z#T~b5lp}LKewM}xGB>^YjvfIAiT;3Zq8M9le1ZLb5&z^JlTCy``9+`6RCxW-vf3=z zCFHXJgSs4mn->gxd}}3ThB}UI90>=tA;F9G84ia{mp+9NAsAnvfnrbpM(TcKh-jWc z4@KXu*8upj<$!qOm%vLCg@@kNrI!)So9N-_B^2%C8E4IC3@}Ar3b3jltIt5(5c0nU zOd-I_nm3Y=W04%@2yzewNa_9ITTuZ0m|q5q3rqy2+oykFCJMn$3Cu@Yrvx+Ft97j$ zmS^+_w6cosoK{(3WEkP##J?#q2{6t2q}w)g&)93+7xvwifkXwTvtAi$8vK>)CzqR+ zGR|q$#u_v{Kl!(rS?(yu`gMxp-CCmu+^{RzW1;ff5&Yr zb@lOPD*JlP@W~J-6fgRGe6H9P`R;=`Q@Ms^ zzv_587m8eABAzH}iYDQS3sn=)Hx`fx?Qn!o{HuUD4sG#vZo(kzJHX7Sw5|2vCHai% z6SnvQ7OT9k`%t1QNk>0jS>0aVOi!=8XC6wViB`=9F89CKYYilHcJ6sNG&X9h=CrN_ zWHu5^l@QuRSb7=&`OR%-@`rC}Y0={vExf%bjqMm!s`!KablH>{c3@2 zr~&S{7=D#ej4e_OMhGL&1?g&Oh0q4wy66nqJyyHid}khEQB86OytpcGUa~$FPn2mR zlYYn=Q|e29*WOE{%qG_>fIhb$f;<&xWz0ve5`7o_H_Z05Bbj@`Vt_AQIU2dYa)A|& zN2tATke@Hc1Z+Uar=Z7Ow7&IGx1oKj%_!lXMlLusdc-=NKYCvg6Y4q+s z4s=+%(y8Vox$meQ?ifuuB!_eiF&DGZ?p?l9P$Uz~(?CgU7~$P98a_?o?@JVV&w;M} z3%<)7?1%TViz(?XB^m8U=NgL-end;iUn`iGMO2E)vGha%Vgmb;?mw6al_29O*}h*6 zN{nj1%o{iG55V=}3Jz$7DIG3ok|LML9v@GtpoOxi~nm;|$*d!Sb``1L=RPl27<+u2>L~ zzvvAlQ$u2$5-fMGUtD}yOz81%dbM*|Jl~nM2N4_s?85H-#>lWpbL87v&0J^XSzJ0A zK|b~%BfIb+A7{d2{7;F6qeU;?SMc#{F=MPkA}#P-f_dUG^!U;Y(3QQz$cJ}PyC>~u zwEt-Ud%Lq=-T!OR?%MYkX^Fa~a6G>2(-Q%!D1%V+69g7Y7Y_nu7Bd^I+$Y*lgIB24 z*z+L<4;3Z-p+ix%wasim=4}eWp<18}yGFP`4Vqqo1>FBsgfzUWkA?@k`f>A3;OHa6N~jvE7Sz#XiA^!Aw;1VzFs& zV*}fi4e5^{isY}K%*F+Ai`n-+C@qstBZbY8gxITo3S+S4AEe{?OQFNzZ1%In6DiA( zL~*tg``?IrM(V~NbxUvnzL9BZ$G1$HqWlv0IjSJkJnKf8R*;6s-Ga}7s zN9%`6)arWR;5y7(O+q`ndG@}ZH^JBE`}qVF{&9OXIdk4@JgDr_8Gr6c^3(;sB%^Ny z2Hd9(^F%@kgSS`VL9_jaInyqwG8?NAhS8nxeyw6;~f-tL|dQ9Qx zm9*-dT(JJqpA6nPKMi<=iaP8V1U_27r1xCh^i%jR#&Gy_^j-HDMx8*-U7M!N;kj z@wz73v=+o*J3i9*=2Anoe+{aF5yXAPf3pF!_zns+7_@IJ@cH46RI_L0RXCyr%AQ0& z=+x<%z`y*cMRAXGtj``pzPdB!=R`y|8S^qFO4ApTA3*;4evYvH2G*pu-NrpYJBT2x z`j)z<68un#1=}5@(gBAPVepQEksUGA{e5$Xd@46RIX?_*-v%}LX#w;5t z*3bguEm&gwTGwoL*_gfEioTf<0IPq0;e zDv(U33$N|+`W;azr~A=Eq-cHL3XgHax<)0?CR~vTOF=#yjGs#3z+{-W7o8aIWX4i^ zY6`Od^Qw=Pw(d~>^!1O@Rd0~phM#wlnQcJFdznu9=d(-H{4-`_Ed_5Xm>IN*fkz zSvts$oo2=mim~|kD#M&2i)zHO%T-0mXAc_F^-4~Lsxfl(xgtHVVmMY@?MRYgRUYwMt$GLLfcq2hMw1c;96yZkBuC@rU0eDzQJ=|{S zB6TfvO)8!oDUV+fO}eUP`Du_5#5NC#fAOne!p#B2TI+LPE`EJQ6F5zm=rHG3{{?^j zQ5wLrpfz9!GjxdGtBfrwPqcgdUIiM!TEI7mio%&w%NO8%18U&nTOX-HHDnCwCWB}7_Abx25%)1mu zj+i){Dt(-H?Qg(0e3&`KX+Y&NS#{&ETwekwTq1UH+HQpnG2-=Xmsz*)_vzzMLlJ66 zk&iEna3zFlI_W4I$FgKjIegWNG#-abEu>&j4t@5mL4;pP{7oi_ef@dylpBuoKALg` z{5#Sjj*hK@X#HG4rn+`X5N9>|g-~HI17#19AgC8Vsn!l}P0_B&+L60jz^)9c`>#^pAlq5CV zl;VOC+yhhOnT8sLYAMropZ~I6O|B>mjy?Qnq|T@Y>;1$hu`eJ*AN?w8W^80tFEGG{ zxbuAN!z~zKmY=uxg;DSyV~DXZCy(-V{Yl-W>w5NQ(nBlXoZ#$jUVrZxl$S&iT4HLK zIANJ^1IZ8wiRvmiu1Gc^Zs{CEry8#a0JD+Ce*&$2RI|@^e#9@5kNa3E0zSd@bMohN z*^RsH&x>^t=r!@=aY9|SQdW8dez?^sF}vYqYTv7{#@Y0NR?Zjhh}A_kn*ft~=kU2t z5I4^uy25^eWcY&|5K;P%Eb03h!Q}two(Kf3BtncjZ8S>YL_jGp3hm$|lo$e`u}n!Z zIQC{=h`@3)a%2pOaYA>`!Dc`B4}%zwcxa{yhB{+smnh?_v+xl;OBnXy%?OOcNr+3{DUh@x5s+7;PHW#-QBz1qz^YBL*!YX{kNYwR5Z1&S*2y`MiEMr0%g&Ouufhgj?iGo*{Lbd+o zDD^7PGad%BX3;mLR(K}letf62({vD05(6#<`C?2~Fz+UrUsp&>IQ2KS5?G3m5iHNT zD{e!;KgkK@Gkk=+a8E{PzP-VC`A&f8D5DcIUS;)y8vL9UxYF5{9c{eKYmKYGp>q{mg-=wNL&Ug6eUKv%YbB0j*xg5K1W}ECE zhgvlj75WwQZbUn}{K-3!)69Ws$K4R8Ry+Nrc5yN)I>~)|UWxI}(MG1qCNzDe>kirF zB*5;~-dqBSEmc^4Zl&59*69xndvegWo_;uLua@1&@|Q6rhW4{O*~=MsB{iIe$8Tq! zFzU))d(rgh%g}tn(+Wn>IS_396RJQb_4BoPm~LhN0B**v#uD)bp5EDvrwJSwA)L5l zp2pkj{u25n01OYCG5<0JZpW0LI@T>}%z;**eN+j*aSm_BiGL@t5{P1#9n$eT2C|5R zLm4*b?L#|S?**25Mag3gJEB77qtX02ysijMf(Y}&dpUnv%QofJgTV~RMNYPAa5p5? zOk6Pkvt!??EnOzhBt@r5sZ9Q-c<+Dc1o3YDpH4rX4NRye6U||M>?zqNHTX?tS?<7+ z`~pxbt#Hy%uDZH_pUvIt1Apv7$-{BNxBUSn|6W+q%mmN%*}#@@YlMWZ&KL7f>BiC- zb<~N;|H17wd}|XfP$MgKGs+9c2@+_T3+LV`T+7+j<>+SWp1KTiA#`aY7rm{DDzzRh zx6e?)gh2jG{Y0!0UpM}EW12k>`Q_n+E2HVEs5UhHH@XK4@}V~*k%o|L zjoa11^9~j4>nLXs{u`kEn92G!`=*wlH$*3C=>Y`h050u;k<}PceW!u#YT-}kxZqkI z->#h=jouDy`%{BBl5FPKx-jJoV}BHSh%A&WuH>jyKnLB5k?qw8+8hPvd(#i8Neq)% z*L2(j{tW^YO^_~j0a`kgs|7gkBD^=R`)$L|qfHU8i)Zo_j5{3zgm+cU%Mosj`IKw; zpC*WwFWWm7-YI{$z7}5YV}tupz$UNP%@c=ZjHg<;NU;?7L^J!c8q?nihK2nE*`0M1 zbaDfIe&U6shMVSr;!cq3*3i4Esa^kn*MBDV+r8(|K@kTHU$Y3lT3`dBP*=+~dc1p0 zRzgz@(3eo5?Y++_XbZ~7WAtq~D4Ar(mh2qlkp(~PUY84l@JZNJ#)#QyuTgsR`y~jP z%^v}(6DFjgx?v`7qVs<{4>l&sDqyfGdi4HoOdO%szg{3ZQc|GT*q^heO; zP|x?|GXoTa_Vs0^>BC_le&KabWGU-e#QACWZR@>K*!16?em_Le(?NW2>uFD<1}VG% zR`|5B1Uv1?*qld$S;q(74`e>;Nq2ukLdp0|uiQ(rq0vhsr3A|lVIhGlMnpACLboGa9waoy867p$gSab$Ws}nPt+&t(T@jUi} z$s>(gTS{Ru)Xs#?bh<4{I565%F1aNa{2jTX!p$&%1pfNZE!+e%*D`@~{q!}Ap;$$* zzn<`PBgC@;GP;#ic7TGYDL_Ktg%t9k$8p5=f2O(~BTkb!Q9)|5d;tiR7ckEff3GW3 zq1ukeGs>urc1!(Oj0?^wVSfRrzJ@ISy4Eomu{EuN2#-sgDbXiW*)O335OejlomDY0 zm3SpXnJ-H&-Ps!=0SwtSy%Zdf+q6MorAwi=(T`1 z&HYR-=MmoYUks&|W6nz&?MK~8=-W=W?6&w|PCze-K;}8&*ULA$QCe|-w-YQv@?AKQ zOKuGZP*C}kiI-?}B*nAZWyAq5k9je)EX!<1b3GwAhBeq8!fjS!0;M1M94vDn1cN3v zE+hDtWUiRu3mb8GiO2{WcD}xKbW#mao9{^>{faHn&0?1OXM)j3>yPfX8qq^NQtuQB?Z&!Oo;V`k|=kDb=u6 zYJ@=m+N^u88x8EFF^R*BW<)s(YfVr9#+KjlYDJtL@>fgikg@fvbq#YrG&50k$3@B_(%`Z_(wnY|nH zfTvq>AIr~YzXUcW*IeBjNqEq_N)kG%h?vFp<=nvFswYuK3FEMB)C!71GKu|?EYQnp zZ``WCox4d$X1}BeAZ?G#&~qbdtKkaC!a+D#^S(%Ort6 z-2ao}j9#`O=|pc^ApgLuxIx;tdPo<|>S*O8ACD2#w;tK< zvlE`(?iP9wy>`qK+A)J#)v7JS0V-=3lS3V!w;6~JYnijMKTT46JvE1-U}5kMd`w-UkFQRq}#f$p6JrED#d24(e-g&_scZf+>4O+l)saD z0S?(+tlwlg3!TGDgrtKR1Cc%nMky~kj%krrT%Z)2XSy?Mc;;z9xM_0d62}hqs^t

UYoEH=Fs@*Vau;Asq8{X2|~kU*Og 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 diff --git a/vendor/DPP/docpages/images/eval_example.png b/vendor/DPP/docpages/images/eval_example.png deleted file mode 100644 index 45704dc390eed522b3cbc5d17390d9d2a6f3863f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10479 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 diff --git a/vendor/DPP/docpages/images/jsprog.png b/vendor/DPP/docpages/images/jsprog.png deleted file mode 100644 index dfe6a8cc40daaa80c8deddbef8f75d9e0b3cd5a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4243 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 KOzMoTC;S`xZrB?D diff --git a/vendor/DPP/docpages/images/modal_dialog.png b/vendor/DPP/docpages/images/modal_dialog.png deleted file mode 100644 index bded5027cf36882f86fb95a5f0499fe034227d47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64247 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 V?UK-C6~)8-wAJ<1YE^8*{|_K0%$EQF diff --git a/vendor/DPP/docpages/images/progs.png b/vendor/DPP/docpages/images/progs.png deleted file mode 100644 index 0031f5d65923768cea9535ad044d207c4f7d8f46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 528214 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

    AzWLIsDf5`#yop@Lu@BTzvjx2L_ z7{CtGSK1+q;<`f?pt96chkSWZzX6vl$eoe}Dw&QUi6IFW`GoSWddw)M3M-n76=0Fs zXDpB9newi`{}0h?@98rRb_)Yk4Q4s3C|mNqZf)W!`BOw04h?@XaC=}z~^D`%@#i*|UZA`6Nn2(Gdn z^g*_l59DHr(h>E<$ruuMuf`#+FUI z(D={H8^Vq#d<~!drsBbWkq$?TZsTC?54?HIU}-8^w~LCZKi_qrsZ;>qaZB6!oyXQ; zy#*$UZ|L*0g2`-lhxzd?>kErQ_YW90b(ru(FU(+{b#zkbk9-o*mMMRf@dim7AAH0I z(Su;6#MOP8k(lhIk;E_GYa|5dZPxECgJ~Sz0R~WLA#ej%WSn!2trXcQQuN*NL0`ci z%1{vY5MKm5?iY6TE|E!aZEsE_9-&6wPCVnZ@qo9>#Q=wYw(dJx#IuR)?6t^%1hfOd zv~OS%Vt~E)=goSyGs9z2kwIz$k4fVf^Y40#adcu)KpQ?lH5)wWpwJd9KH?da?OygJ zb1?^q*9;Uy&2`U-NURW9h1~fp@^+>bMIgrYrWoC3KVk{5=4h<2|ASKHt7=3QL5#n4 z;x$du>Mk#`$5NTq$()|8Cb^Nft$!l!ERgWu*FopfkRqdZVUWSmzZNO@Kh~e^s7|0SA?BHQZGC=WcLNFn#JF-% zBn7$2BrpeYK$JleiZSo-R@#E5tTyETNTvTqLEN>HK53z3@4)sP%QP;7Di&39v0f;G zQmEC>7^Dflu-11Jvhtne#^psL`J2}jiROil-;H4T$;%7OO12Aw{hB|7H}hKOCBex) zeJaS@!4KQaCg*uwG{ha7}m+*wi9V`)gLj__H0 zJnSX?6s+eC!w$+sM@NcE_wp&yS?%~iRUj}K2zk2 z09BZ51f4gPoc}GaFHsG8c2!+Gp1EKyVMDDnPBTq8eH;Dr)r4`*PK~Hg z$OSbA=05j1A#~do`ztH$av(MM1|-dUHJ#y$s3*&4waRKRT5^|wEcSyFI)NP`%zrLY z`6&sVEeavoRI6QN)U~*)Q!X`|jM+bT^50f{X9K%0D1l;>4DrODY5Qd;gUq!fL430c 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πSEo_Td5tyKPTd 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

    wIPEmv1&N?(c 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


    tw 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 z zOUcc<&7YU8{<>fQNa>lA7Z;Cw{Dxfm{oxpy5ilTk_x;Bpy@oH-l?yGbo4Q=5=?NdWeYiv#QnRm9oTLt#S!nFh%BxjQrh~qE_%Hl=%HX%1QFSfK>(s zXpe4+z+o+))!2e5O1zs(1jGWJiU49xa8#ib1gLqS;weh+hcm<^C%@Y3*j0_4z}En! zN+LTIsYvbE$QQ&!XV;Ob`SKomVxe+aB>YQ!z$lap_dC&jzL-Y_}5S8a_wCwK$Sc}CITujzy6?STVE`rEi~pU;{+QbcUTkSb+48! z)GVJfr?cEwc{BclKy$>1^41K2xRDQVQ%@=S{!xGemVSelJ)b%>=$cxMN~w%ko)?D- zzwy(*N5qQ1=a^9+EtZJ#gHJX4qE}TCQU-sdtifK~*Vgvq$B$SuCeMT(U(6r3`CRtR zHP}~Dn7=QI6(LNk@$pJ>BgVCYh&xLEKnq9>XNH?sKTiP5NPByFq@~7wf3HAelzH+# zY)+F_RnDq^tD5CMkJmT`a>D!?o>w(B75c*2y?5|$1uDw=zGwC1%>&cumX=$KHaDCD zGUDHUD6k~tE~K{k=YuNhwb{WTjxscN2+T(Nq9leTZWo{Bh<~!y6t_k^4BQ*9L6=pB z?{4+w)S2YtUsF+KC~q5;Q3k~018+52ZdN+ECrZ;crOwGP z+7hSENYd|>-U1GaI}~`(Pf4);1VJkt71DL;X$=b*LixX43H8 zsSRKWnN#!+8Wc}XtI;S>zl1Edr8pdG!@z_V?ci`tV&w=kT$H#NimiZOX#!|ZSU?8m z%S_5pA|>d4hgk8(nBT?#16(1gVR$WTM#tDRi51j<8en)X`(YnrI^a58fbb|V9Cm_t zI_+6E<>!7?lTxR~*}wXUmbW&jA`_)@gsxM>iu>>H;eeO%L~`Q=AFuZMQst^V_`}Aj z$_r)?gT8`orvenE#pr`r@owGP2=pV)ep|xK1W#8_)@r0cj7;A#_yCnI$2-}~X^%JT zmHZ%9$O&2$P<9bTF~MJQ!-3b5UOP(jEcu&9romgLn3GQY#=SiyoBL{#CW5805+*o+ z2VRS}fuDj42~ZsG%*1Sit8StmM(Gt$M^#Br%DO*=b4P;zri<_pGFDtYSjR}tWR z!1T#C=_@WZ0Hu(6DnZL}L}Nae%x3Z)jBc%9QF$y9@3Do8hRn>^lPR|m*r}HHt~=n&W*L9q#pmBa zp(kpitYU!3jZbWZs_nQ{H$SUV%I}|~4@wDbTMM=TXb0;J4IAa8c|G=-fJ=k+idpN; zocX--fcnma6%RUcO#1Y1N*H)+1fL;|l_*=iQ4vJ)lW!7PQGs7n_dBJo`w5SSqr1uF z-qPj=MN)KM@g>cfwb8+6j_n-kupc8d+61US@71}cHE`9T$zCSjRqsWRI(@#Ok*EQX zI_W~fU6tr<$IEw>gsk*SinxI6yrge9inLseTFdslY)8qwCm*c%nq4BoE09j!^*mpK+W z*~=>j2P?U>l=@%C%%+gySZy8u_;WGtT*bXhz8!SN#+<{Oy)9mw%_feTc%g`d5$z`A zTVFVVz~o+PeJ!3^&4wXZCbmpOD;Pgb84#crp9B7zGW5BI`eV3nn^k_A$m?p>PAt?n zGbrUBgj7I~)Xd6t>9shpfj7#y#M~=F&goT~={}z+&3b7%44oX;FNO;^#BR|w+wq%t zjFqYrnc!}tvLzmU50hUw%ef{U| zn3JuqGpVF_N>E~4lzB5Sqy5O;??|)W_k6q--sq?YDpkhtsh4Y&Wv3}MtQGh;k=GV@ z-P2(uyjy8iV~*Q%OVCWOuG1%>AWk5Rw11QOT@;kd|HLd%5=kL6!~xW${@wt1-VJua z{x$V257|DJ$~QLGJKRXfGWMj$ka+p)k5$wf?p{R`W_1@yi2pavM3px@_gv;vYfXR3 z1mQxrXj^9s4liJte@hzboq~ZIVjR+@dTwAH)28%4fY-G z5VM5{tmKw>d<&n?Aw8&Y2eOGl1%SIG!9Y#n7CkS|bl4v3Q$)F9D-Sq5NFOX~Vkz^b++o~sBwOAxQC-g=Q$p5-Mj<}{mAlY;4 z!oZCHp04#T5P`IR(E? zS0H|2|1KNC@If z%FC;VoYba@mk4BtdMMmaNQ8iA>=Eq~v1#AmkhTK$RdpEHAAuxPgI0e0`BFbz$w?Ub z^VwNOIQ@W6ClHEY&A4p_r9eX*AYhs4k%ipv`KtfjtM8nQ^=C^VJ24O=*#cc1+E+aZ z+&|(26-@QXscaUcJHcM|QutG!OeShyznTo{D5CVB1576NonOB+sb26bjQ8w$<;(s0 zVesi%Gleq*d}qf?JCbtprZtL`ikOpA84A0>M&_@nvqo3elWJhYq<>A$9e3^)vwfm^ zP$07t;)40NwtndC$Q1HW`k#^}wD2B-E{O8W+uffXCIbFSd7nl;{};=8_V;f~zDqfD zEncQsUq4oYzf)@?4Ib@YGn*CyRsFQW^qKtrCDvnI zAvu=@Dx(S|QHRR6S$)}iI2K5HS4KK{Bu@L@NaY}v;EV^3Yxz$X&x#2iiyVlgQch@FFi!D0J(bG(&TZO*teJPu~b-4Pv3jR!Tb!gjdZ*HKB;cA@M~zRT^F`c1^ff{-!Qf!*UTU?HGUyx zmiX#H8t_ZKluh4Z>}4(U@R1fl?2-={a@6lXq;vE*0B!}2ki+lD>m+7Q+utCqD_aBv zXryvi3e!qk!BrU7IW_hL-rv2!w9KIBv7Qux6`Ub)oZorMxa4@q%Vak{l>1fkXs@$Zt)A`mFFtU;ugvS`f7)dM=J0)L zw}wCQuzS#r?WLWE{@bD-U-q95dKp{(o3{u|T9@qo_&|SQq69fv@BIUMskc1X{*EC6 z*pgNtv=XnM3k-eTQPSX<&J%>|r*Kjxq+y@?y4Ch8K}_T}#9rQq;nXw$6-+W^?Kb6X zMyXbo!FY-XD>JAZY|$?W@u>YC_BM{tH7gsWgcWYH(Pv`A`4nZ1b5aKI)4P}2K*X9& zbO#|!0zWk7MT{ApGvAT9SykNyf3fnW9ZUk%J=c3gaOHr6^=!Q51;2M9VpRcHjgxc= zNSae&0hE!0^rrBHC}DAo9YG6w1*9#ZvckY)=>_0D%=AEC>R)(KJgji?B(S5+t|}Ls zGL#+YR(DD!C!AR#dEQIc3RS+)xfAi5Ll}pljM8v^O>> zxI+;K=9d^EqHFdsXBtebeq)OOA5H%K9~7RC_bdqQg*N5 zr!liv`A!=hsVcuP45=f%ylx%w_Z)0pg0T;~nms$aIp%j_y*1bya|D3NU_#jSpuCnh z+1VRcXy7_hN8twsijaE1``6{Q>4LoJo6YP!FEQc&v zNe`qNQo7fC*G^(PihoOzwC{!^3QJhv?+h++DR+U!VEs9*2|1T&Y(Vz7lD2`n7=h8X zb(DT$XdoadpqbJWqSj{9ek(2+)826R z969$x9IN>e3nGxpsX5=~RpUQ#QB_Cs`%IlyGwX5)q2KvDM z-Hs5A(Gwuc$8SC0vG<0Z&|TDL#JwV__gOt_*8QBPczYJ)JGY}MN8Kt;Z`$880V2_xrzqm5>H zkRaczj?hq`QhQiH%7RGWxaRa?zax_->S~9^nM&=~c0U$NOb*6_E~XYZpIPy{3M;=` z6}b(_6d)&m!Mjkt(?&FlB}Rfgs^^9+L}BN4>5#32fU%vYp1*(5*I z!yJCJW5cc;a?_0Cf4*W@DHwv8tj2&bmkzjFx%FSyWC#_uB|?}2Z_yzO_P zhr#;hktOs-snukXw>e+>>9&Prz-(H~Zc14}HyyxtJVpId<>H}9zF9sY)~)&cWZUIw zFbiwz%bkCrDEDMAp(yT9i;=$TMlWYZ&^25O)5lJZ-MS-}{F(CLk_89_TX7Me>Eolo zLit(CuJi*C+ceH($9j(Ii7PPApt-ZDm1(}Mj)VGE9I_x%U9BfT`RRv@n)Io4mNOf@)SV)j(xi5`vLuyTjkH#4olK9q#~ zBL(6hzc@e?a5wU~ABNr;Ik^zg9d($lu3C3(p;wjA@vIvgsZdns zH$~E+zFdXwt9c=Kro+j{Qcm(M=eF>f7ttpZMfP5pZsC!}8V2xj7_#?w}q_0+Ky4biYkY7askORPPB%gv9 zu_DWL^c*#uBFGyZNny62l6AuWKc&4QO7hi`Vf`6&6fuRm(iZD_puXesE!SKDZfuiDOZ?A2KNwyVCW!OH25`N!sHPzhi++{cg@q zZD%~PKJFvN@8&HY>>M1%*A{0_Lr_x3wO5pZgonY*a1rb;o7(~Jk zFPg7SWQCj4eiX=LkAj>OZ6N9YDnj4uUcY{slgkU$USR5ifSs zuvXR!jd`w@FMHDHEsKI(X?UL^dq5li+`P~bv}1BFI{dS@?txK)(grJshP1c1E3M$r zXGWwLWU`xM%XJ+YvYfklnhhA8(c3&qU(&PB8G&Q#XUW4U3X7*zsJx>o<2<9R6`a^G zVnS#2&-Gh0wY6_|4@W|6orDfr6|6?3r2KT-;Fb6>vV1oRI4ceg3V~HDDcv@Li6a9* zB$33ED?d6GirXa>UIN=LIkqHB$H|#N7|G(jJkRU> zW;~`3dYM2Pf3$xZ3n#C{?7&R?ZoC0mW{_)9u}QeimYDo5aY5}; zac(C37+rNEz*};4bPlHTc{NNRpPf0aNzc;!r~%_Q^e#m-QddIF3@ z+(+JtI+zw6uMwqqe7vfL$AA^R)^?lXu(&Qdn}iO#ph**Qvd;gD8MB;2 zJ8Z0hzs14_S9M<&7GqZk>;`|n3-=HHL5gZH1pzw3 z(pb*|rMGFRNy9Yb8AT@9Hl13fhH2wVnClLCMMJep=!*>KYdsELo~_qp zZ2Sq@+jDppfAy7c<{gi$BF!&wJvKv2ggwK-S3H`(H5SA(NMFz9iBL zrvT85+On=esjVYaV{Z=)m7q_3RIBvS*M2v1A4T!?-BLB3i%AoCg-6V@pIM`}BvGmz z+8h6#?%JnWfw>Dy9v#F}tZB`=s8KZJ080HV(OCi)KsCBZU{n(PzQw}DZh%~T@@bYM z)1&68iG*&@ySG?_?&v7<#lwcv?Bmdq=$VNE*?5r|K7w3+g7Y`DX|#2Ht6Q|arC`0! z#7Vv(D{d(sT<5A-^GYw6;cQXhQkJci|7xxnC}jE={U|PD(wP;AJ&pRQ>+bq$dO63< z?O!id0)V|}cCZmCQ9YZ+P3$qKrV6dHn^lf0>9AUKrhorJy?4t+{&53mMwtSoWcQGM z8uAftrE|s}(}(SYtq+RAshQCe@_C*#=AAps6~CGr=5s3?!|&<#EByLysyM~j{u~FukI=uG;j0oLgV$1@KA!mk_0fQj7G)WOwRvJZb!CdX!-;a{G)Y0`0Ena zkHjevrCwRLlK1DMg&60uvSd5cKCUsZWK?;1r{1J&AnmOPm7rgjL%=noeAsPUx1`dI zU3as$I*i`JLntl1RNB2xh5DbrLF8QuFsdulGP;l(gKrq>ztA#I$d#d$w7^TdXp;k2 z*S@mRx;0dkz)d`1SFZO}hK?+R7j1J{UkS>Ps12?cuOu9V)V-fQ04_Ehb;pfG&AMOU zT<2#%ig2MPOajOV+IF*ol30&(zx3Uob#(hVQJ^EA=OCREF8epL^{bL&ugTt*l#?Bo zH*eq*W}vPmj_GyoLpqewI$o#S);QY~vqpYM)_6k(=gtXVcWLN2XWdy(XrV@2@#bOa zzM0I^wT9=B^eR7##s2;6TdJLj03Yclc@n4ZIAE;zDCgwm`S0|V$F8ax&qO++O5lPW z24d&COx7jG0L6^|M8CW94D8v&+z_VoPK zAI0!dNYP*n2HM+|p6w&gY!t3~Qp1-N50l4?E|?iqm-tI}ioo#^S3~{yM`Ma2k54W> zfj&H*(!M*g>iQlPu3|6V9MLJ6il$kqLVFw#w9Yrb z8#Rd9AE>c#Ebi@(0ZBCYwT^;i9~?c_%&RQ4*^(Qx`#j)glB?~BNcXwHZOyy@;cW+Y z;y3bAp96%ZSXtqb=mLWc^^oWvt~vmd74`(-5=n85g$!|VQ2UKF)(YNK2SjfPXxGC~ z+Ws$9;(JE^?>{4|$hsYt1#|rOqCPpk{qr14W!zY5jB3-G!#U=ix@xvgQC3)RE;nWX zK!WLh#o1H62NiAUv|8x>A(kdjpd+sS>dTIq&E7jT7o#J7w)ZiECi2kg=HX{%TMb0O z@7K~HCt{_MDpUNA27g2-Q?x<1AT{F-J?)VFl}<6yih>(Do-K?d%Mxn1`dB%Sbm!Ly493b}A&7BeWoa_OspG@SfH{rWZE{{$SBj2OW)Nzkir=Dm>GiBLsq>>wQc@(m#O zb$|!n3bt(U6k#kZA}y86=%pg4FYD{e{4pI2RBdU~s+?Ni2?-{*Q+La4$T)s*ru8O7 zc|m3}Df|T4J20ErZ#o>(W?$m+=1?<^7QUsakV{A#O}J5Ohat3{EbAT)mNS7MOq1{N zB~WC@AP(wF0+e*dk)~$j57$saJowwU9pQ>X7Vq|=mu2V984?&bVGFiD8+QD-cwaZgkG!7lvTwtZCm@Pa%; z#_x9(U6j|nNh42Rfu&-+Bxl#qxLh*A!M?ik)!OSANU;c48x1iEuBLLgJttb1{o_}! zhg)m~gzJ#c%b4Jp`75%|4*`@Y5-hfOmUJSK-=pyoej(Dol`FkSh+>m^iSF$qQjb7) zm&u;PqP-Ync=Z-OOKTvB;JFh?X^0m>>5Uh*Pmg5P;i{9J+z$m#j8vpLSGVF{|2DXZ+>TdCr5SB$ z63Wt})K`m>X;#;#D`rvZ2ZAXmCz$uIB(`dv_WM#{z*+zn-HQp{5Fc9=AwkcH0W*2z zDd`GoUdMVRtlFO~ruK#sQ|5j9ft2-Q9|E{-!iL2xl(QS*sKlq2 zEp2Nuj*c)1@vZT8M^1jq@>JqoHh-e>cYENO!}@}bV)P|oF~+B-D5PEV-;^3&E+JJS zO*?UTmQ3bruluAm{eErem+-C^0xoDsKpKyt3IUtgBP^nkZg@yO8<<47d`o$`?;L@R z_9T@xC^le~5=NVRYxBuRe#y;xxw3 z^D?iP!W$UEf@dH`p@kMc_^!|`m2rruE`V)m%Y_AD0X#k$1t?JLU*?8WwQQv(c8u^0 zFrg`b7-*nCdysIbA;*8+_@cXEuGvGM9>iKja)sc#vHfoSh)37BbcHEhJ?)ph4drwwZ?usw zjwW!~2f&$ChqgADOIwWl>7*0Yu=t>7c6}JNLhl$@_4-K{jJ|!~cBIbrbc^10%Th;FV3iEP4m0*$310!$y=Qb4bx@5w?8H2{wJW&`V8?|Y? z7r8WtRX;h{$|`cjnD%}(F#v!IF9}p$30nHxcL$#d)YKR>$XHRqIoS_MR}-W@{{wyq z7jFgIgX5>461&@NJ8D0&4<%VfkJaDjx_qKXh0^p82uIxQ->cwAr*A1xES2>o|Ay~fBMpUNl1z53DPMg$K7)U%kmRXRqmUUn!NY`ugYy2bglREf zm;3h2Hbv9v$S2-e3QxZONL$B#JvTDZ2-~8?{-7f&y{6#5xR6@l{WlO3X5xr27G(Zm zWnj(}CY*i~h3$L6hW=>@IegV|Sr$+M>t4m`mLgo7e4p!f%%64Ad6y)q2DwQtaWgMG zjI<&9hCtCU9sI5`tOIzDjOj83hT4AkS+`#9y>VvzAv#&XYUw*29eSvFPjd(q+M~QC zfjyO8SI)u9+hIVX0;4pi%_}i>St%mkFSZdHjjk}*oXvNLp}x7)`z-xNMpg$VK~MZ# zk&W!Gcp1&clZPGmqEuoVDuN|ohwS@{0 zK7sr#HI1$+aN?H?N~R3Esl6-Peg7q|0`as_{>f?c_bPWKD8C3Q8jg8B=NgxXw) zAyM8{K_>N`kx}obI@?DVn&+{;#HDmPxziV+N;{^yv=&{qVgUru)aJjFEwlRs(z zT}>v(FX0`sBS0b|e%j&rxlnO-1V&|<6^5#8udG0E=krCS&<;A%aAc~L^qC5UfH&L1OY_)y?S%#m@i6nlxq*?9@M?RM6{@kSN_4?=;-=ifQDi5zVyk~Z zXY<8e%J3JrXna$EJrn|ZPc%e(9<@OO9ZbSR6?*m$3+YDPfN@>$!N^vJHd?>4#s=z- zxjsY;bXb7XkYNd>FoL?}K~5}7zV;a!Kv!2SMT~kv>f`gE!q^M0tkSHt^KX3!nSZ$|`hB)oc^}8M zp)u*E?Z>nnb}S_D*MWUc9LUrO1FsB7=iK9hHB{bbnpjn6x3$HDr-M4Y?SsXP2b~qv zAScHu|LcD0&PTM?Js?|(I^}P=lRw{YGTz_h`~N|8PXyo9V6s3hIjSQeC-VP(>D`<_ z1nlfyV77@-f7Ku2eU4IlhLpuXtW>gq*hi?kjG3&hW+a=Qh!F^g{w>)CqIbW4e<^Yx zs@53s7rRB@>~N#MxVV^_W0oV|idQKPl4qdD>5?eru+Hm`av&l_X3(xM<%W#EP=40( zB&bpApmtPXEcMu=PwK{=KJ$#0+SJ+?e!sfEzsmL{$e%3xzP_F}_+Nlo)j~Ydsot_x zEyK}77{PPG(l;}(%FJz%wj$lw)Fhhxv$3$Og1z0dg4{%|>ihV(0AFpcYb*NL#GBVq z05&ZG$@VbWexS{{j!eGBMT%ioPN#w&Fq`oj)lp46CJtZXHb!NRLEd>K*J)iZ!)25V~f?at1UJB*1AM-Z>LvOtqg zn?nU*64DI%Q2f*KiO;EQ??b>X5IF#)O#uQ#oLSZW-_z0b|8qJTqgQ`W*o@Wi><=Ph zR-*cT0UL2@952FT)%-DwM68OnsB!+7+Nv}R5d_&7?;1K0^5L*R8w|!Om@+-IHG9{5 zc8;wqKJ2R~lVGuGa__&CF#i*Dz4oOT?}iW;b*i8zo4Q)Sn4-*~TU*o3Ji1;H6;ZXi zjc$H_O zKryV1lY+BkVD8a*S?1l)!z)Ol&X~zc_naq{av}uv2%cY`cD21<<&aPqLb6x!gJ_kZ zaxBo2mEW)Ii?Gy>e&6bSUOvM3Wp`znAYS^nzRDaO`tf(^Wal5XUKm7VNAoX(mF5P} zOdC=VGs>0zuof?yRyBMM7!5k|4|`Ri5qnNOoll^L=j0nt%I9>&m<3um`Ir?`$qc>< z*(H8}c{J>ct*6vkQxFdbPRm`Qp?+^w8)~>#j!?yVDX7{EmqviqeF;#`J**%cJvHWX zTv*FwrX1hM+Pn^ONu@{;!!E5K;<5Vb-
    RBks1uHgauSA@viF@GV{e_~H`3OG9&w zb60!y-7srVHgIP8PFMtb=1F0ul_ZK7J80<5N{j}iFU|dtuu!2`7R3L6Gjh(uqc_n_ z5}}`c_M)ZEdVinWp*SQRFXr{{job5#G}YY?`-FKYhR!4#=)0F$6YgJaSU)?hiZLG!SFF03U{&fJ;Q8UP39a?3BM@7=A#0Gz)I@Pr^%2 zE0^{_t$6rv@h{JrMt?|vZUOoHGd>@l_W=W^Z%VJee|!)ZCy`9!HL6#%jmkbc8kCdL zRYf}*s{G^k@hw{Z9XITGJUa%;JJW*;AcI?KL)*ZE@mkc#NCQa8RL1A}zMt|*RO3R* zc71Ddz9vWIC0eg8e9kTwx*jjPJ`221={Jv%RABbk(#u9H^*!dh}cL6`_<-;2@%WHLGD`qIaxR z*|`?gJQEN1Jq9HhC$X(y|CIlx2g*LZn`X~~-|a9;?B^FU!@FtNN1W>)4+;U;t0Hipg&o z2|ERym&`vrf_yKt109do+WiBBk_MMCZYwNDYa^)r%X9c>{Jp5pwlF@`W^U~`jy^#R z_av_R*#HhB7{%bpF2JPH>hiWk>Q4J|;^fZ*iUOOT;zm7lykjH7;u0W4%S0THty(>A z7hOw4a#R^JKiRVLHPBKNd>_pfF@gG&ZhExj*_($_f0`(`C-vj>zx(C1qCMlv`7?uo zLu~8aKP&plUFBA6TqY2f5bi+_&fd^>1XD|eYYLoxWTwKV>&qtEoI4xf5up2r zMgQ0_F3akIgYk|SS$frX z9zFTDw_A}QB$@SceZ6-lA=eogVFZ{G4~?vsmXNW*$n0;c6>5@p0fvS$iB zYA1~>q_C+juDWBRC@D6p?FnsvSl7-lL2>$?Vg+3UeAo82cUk{!fG@+V zAV^nWOYeXg_twZNV|_5JQSDDq5z|~KZr3y9o2O^0e-~lh@so_71I$LSWU^E{xGxPs zw^vkMH%A_yo!hWrnXzckMM==+>_@MKo^M^vBnUO^RK4~+OsN!Y2@2GfaXT$w@@&oX zrhU1N^L0wkF=gU*6cc&_rb$uZ%HpolTg1ch3=cIpAZsB?e;!OJ2>-Tx#y+dE-=1KJ zN8478^}Y?>wTihNc=mrIgndEG zWPw~~j!+a<;IsGlx+TudXk#M!W%P!fU2%BSC%Ru_$R(H-2`aG3c!NHb9|Ko@`c93s&!&#uwc4{C7W=i}$O65a(_b4~Qyb5E%dL+nv z2>|?JIGoH-h2~pzq0G4@#}wmDb4G)-YCB(C}C7_a;8YyNx0QdE6%F|*(EFiY=66< zK3)4*?V%w5xzk*tMw3K-ocnOljC%PeGyGBnWERt<5lMD^yw)a?g|k)`LI`rs1xgW{#RPqvxujvu(RS3Te==8uR zFwa&F=%H7sbK_3_@$}lw3}I08zWDEv&^C?dfk1Lu?7z&gBd8|B=D%&`( zsP7-)%OoQ5uZ(lfU9G@w7j$m*MEgx+d7D8zI!G{q@7WP8huOWw*w4;j-;P0c?TvkU zYb41#rVKTpL@{uFyCXUAXy-I!(7`&3{Oe4_kQ<=!wvTE-1iSDVni^QYI$6{C$!XXr z79l<=U}gfF%%U0-sZ;8Q^;$sXQmmDPbv;e<3;MXMRFS{$uy5g)&lpG@RGMfa|< zhE<`gW6{_6nI87#n@C>-ETuHl;8>?fX9~AvMG;yK@nCwgdp4iO3D`m$vO#twSN@DYSQG?k#Bk-= zBV|-Lzx+{oNH`a=2o-*TAIY;Hc>5a+Hzjy}>PPO2`trp!GsgFK)=M-It2;JT0YMjW zBz05F_|j}`&CpdekV&7PZ6`amI?9bzG%*7xpgxH9WjT>$#VLZKwlZrCLC`Q#XOt~f z<`4RGP3>1Bp=ME2c8JHDPu`b*gbeP$NM5D%J*+onkWT-%6Fx9Tb=72R#4JG`E8%OICEZH2e~SAwMIvx;Y;X) zC&_lgdtMSvdxw~tV0;)=lFzq4YT}Oj@=him&feEdd30%)cIUjYV2LCY-fK<4S}`I@ z|1-V1uF^P!W9H#{$>w*zx4773^o}{0X6y%XN4mogE0>pz@TW9ZAx~k|(GOE86{pMU>8y2cdqyqloOBLVwdEF{-^b)=W1 zrFp>1;3K14@rsx|pk4ERwTZ?E3<0Zi3AMU_Kn%#5s=dm+z1y*`b$Ksmh3Od0j>|SY z?a?AWS=19nq#XrnHvyC~Xdz}GkPCI7MX z-i$WGcp2yne0j$Ale-dvJ8I z#Sl?NAziL5gJYvn*H=ko#{3C#uGH}Q_;21vuJSFu=*7=0=QDc3xphXWuofDA_y-wL zv#m2+#DQK78B$Es5|@YaFoZ>Ia3g~MIE|gIZO<}E*+~R;v>Q}TIO@wq9CUf|`SE^7 zKA8j#f5^FLhd(gfBE>VdLNce=S3EkQAdWET++R*o$CL@(Za^lj8&l zqT~H#Fp(3erX@Mkj@25ZE$Cn?V+6F-98T`^DC-;4)JO^u)te3h!pAReRK=ltIJwL6&t>Vt_K>Jq^(omBKyk#Js@CVWFC2-;L$V zU|@HA^?7~F_&1vp|E))xe|;bGoV=iL9+gq5pVpgq+q<=VOD<*4badi{GN@EJ5Y-<= z*A^}ly?$Z661p)N3}`+OrXrgf4j-9eg_YZ6lbh6yul-umk1BpSHkX^km~C;zZC#8v ze^ry^e9rd~#(yXiS)0sy5ms^YoaXkyx`V1vyY^D+r5CHcm4xGob4~%Zv@ZYZCdTPO zZH0)8uS4?{WRYNCXs&8*P9-4qseIY9N$0m@DbV!x?aVY_fA__VKBr`Lo@IW{VGXzA z{~_xwquPqPc2OJ(#ob+t7N@v76nA%RaS8734#i!9Q!GV_I}~?!*Pu7=`f=!8@X)sf{t$dMmPnz1OmmA@Vnf(jCOx&W)#@=_y$pVu*s}G_ll-LROsVJK`^5- z{+cD^)px}tl=vGGEw7-o(-|!-ldQ=bXfoNLsz|}luR|*)>QL8jYrxTFLEoa1us>6Q zmu+mZNP989{5LETZ}CG~n>O?8$HE-1X-w9jBb>RGaupy44XQ@1FAmd0navOwdA`nYGq#t z)i?i&($WU>?-8zxz>Rn|;_NZS8>!WyL3GUP0k^lYZ241j1%fd$=t?JBL9B#Jdj~r^ zi{Zy_o9%D&su(bQq#})%!=D6l);DF*zF=&6sfgkXiveGTOvUsBURI1Gmkf;!x>~&6 zPS%trbGmWEhP8Fh{49Ll{cpDiIeUiaZloC7@xG%8K@I(!;uU^lng!&bul@dMHsv2G zz}0s&?-d+O8n4R=K?kDe9wFWc@yzllvTmyOC`=xx`=+yJWFRt9A^!aN)4zR?J=0sx zZ@Vy6=o)y1cz8^ED1#clC=T)-BFuDVE|VkTAN)u$K}5%1GxTYG*$^Tq^eEp_#v8k4 z{44m_XduP2*&9?MKaBq|0Vx*bQjLcFdd@{bBX%d+4MsRro5&R&dl;CTuA5otHmpOt zol*bEFO%)5Q%L*BWf*JNN0{;S4Gp!VjjQCR@ttSq^Pg@qL`uf$?x~EE4pyIY`dJPq zUm55!fnG{8{XW(z8p-0aE$CF%LNtt&nsFWvcaq%W2y<>D)ghJPUO`Pz)y{O1tj3c2 z7eeg397@^(z6I}LUMLW)R5Dl|SQQ=#s9jYCjGmZ3Lq@Ifh1Te2jRKKWf&+!4sz}@m zZV7*lY=s<>;$Mn&L^^CBx-V$jZs8ge_R(ak%bO#1#mE_K3x%fI@;2Y#(lljSiCdvK zNO#Q9oda)@23&VY5~=bfsqh+j`<*=Fc8tzhdFc9M zDCBH_KH?yN6s4-}T#CdOiB0+XpEs~15eS&ZUtA~3U#jbSbtur(scTF{Kf}W2iw1sE_U+pDxZ7pW7EIN%jZLNLaUhlUhH@rqOm{eD=JaJ!l{|%4>{|&CuR88<5MW;>phWU?gf|aS?TqKxCAkZ~=$p%xm>3!M1ozCLLAn)i2~;O+Y%TV+bfUV^QXim2%aT zjN)${_q-evj&x26fQ;}i@z_|jN2KtK%?z|Jc5pjDVlTYzKmom@AGS^E3Z|nEl8?|b zVIT+|)(yNquu%JtkC~ZOIBiT4LgsCOP+k=>q#C``#g#8bB-?md6vCP?hV}LTeX{8F zsVy&Rw@5uir?&@(i#;uPOuHv%wpHUvE`a}j4d)jCaJBuXAR^^H)k5q*v{9#|M4qbs zUq+QA1O&!3q8WOv^QW)X&td+v8L<=Hj_}&w zN@YSc@D)LcSa#jlCy@RN(qry8;-P?BtNLW5>Jg@jbhaD0~2$H6f?s?rb*|>Qffm$X7YMh zaSr)xM|@U~CdPe^8)kz0cFNaFjvx({0y78h8rK%2d3+dxj;-lXDmd0g3KadWH~fXM zYy~k8uzYQp{DhqK7au%XP89XT<9CRMhByBc>_pa1+6`LHIRG3VJe+}>cw-gVG8>pw+EuwQ}~ifnLieWcBIpiD6tYi&)lyh>~9+CiY0;qx*qwhpQ)R(Ek&2npw|EE0j8_z-p3~#U~kH( zSh<&ui-Yz`{%!ibVHS7qmF|0gBA^N+?CLz{aQ%crf8JvMxjKAg;>(G(Y3iKo+xr0d z>(xVo0F!Nj6Qwb($dUeKFxdZPK8nl)8ylQFJX*c@=Ovx+f@0ylf^xPXnJX4Zlz1rm z6`QQj)PGb(_OUm9Xi+DF^2^fp3^wc(?rt^3gW2@f{(7p05b(fpd80c_j;Ab;;8<6C$E0&wEFAS%|tbkH3-FAXA0`*-@ zf)2VUrqX;U3(7r0RN0zNU2u#yO*)-T0S^}Q;4l83M`H#*R-kSv6MK(hhu;wzJqSaq z`vh@!rjq1i@(wESvin>8b6sC6)YOHY!02u-vy~nW7$Lxn9yEn18e3Kf7rrFGjJ3kx zlUz|%)(meacV7x!YMtCzmi_}A{A``%Jdkc4MR{d3Z9r4kFdXGg*mgF0v1B8=! zq-+t4b@o*%5s0#av7s<315)+=Vfqxudtk;V4u8`kH~14zA_e?#^GihAbahy7juYl1HTUO?l^Z_efPVLvWy2jwhesG6~yT)AHo;nUigg7 zN)7r=<8nOv1?jCRD|_a_?<@G1uIOs}`~Hu^r)`vGTY6)A5-0mp^A0~UY>Q%{F>1&T zH>PxYCTf2Cp${mOF5QT-*ZH9#^+JzEF`C%Jq{FBBROp&PtO1|=ZHNduG2maIb`r^+ zf}yy;P5Cw|2zM!%L;}-_&+i5n@kIbem9TXa@c@F(3Q8sunUBp2lCi~r+xAT*N8HkSCKH_eIE`7nDvmQB;0F_zI` z;~HCB-Z({WApCd`ao9`ilE}8%GVE_Mv}^`zC=e38``s4x>*86_Vkyph(y#Ki(J-KC zGLl^hjME5X7qewm1JqyXoA2qDc7x>*ks13Iq~fd-ZXMu84!H4FOB^IiQxiu2I^A9d z0%L&FY5x<|u>Kp>lGLXerZQkmOb%Jh)ihmTF|OTzQtm)+O~CGSYVDywe#-&mX?iQf ztHNWfS-b_WyZujnQOE!b`>IMIWcbgq+1)>R;d$gl_=JaY#~qLtA%qWpf?t0 z(3^)bMR2+NlLoDW(QvUBP6b4|WjxB_0EOd?+4o4nj59;$cOYD{JsPDA|9TWHRz4hSaBfZxJ~bA( zSp)+1fTG2+r+#A$LtZMM#lQ^uYWF_ppB$QKs)8QQJ`IF$T&C@?7YL*+###RMc$+346(5wjJ)gHm{t#I=g|f; zHHej}W*afddXcZ{jfUc`#&~f_HCI;@V;1>HVWbbE_edt;m$2U}vlW%`9Xap3S*I*{ ze|XSS-A^4GFrc!}FGCm?95Mt#e`VZ zs%Fg_KQ&bjl+SDP}1g zHvXV;X~y)}5R!Iz7qD8T1;Pw^5p2pxr1Y@%?3)XFO4+aP3v2*1kO@=E{H`kpu8S%$ z;iJ>?bISbupMoK;2eujZ)w;?`H|J1g9bw1N@=oZSSyGsgg%=5RrJ}myW?6!lbW(f5j}|+tw%1&T>pTFVb9UdG^_2*YdQlJ*>tt4Gz zUpMUAaLJAY(;wh5thG9MpCKK6IcP}Ei&h2%yBp3?Gjp?V@B+#%@q$VD;_w`0oLP%j zGiG?~GZm;{n=TB=2#IqD3M-q0Qkx=|n@Gc@=S;qxb_{M8#w8>qC@E6R?f_(<;+b7Y zw^QnF>L;}+7?KuZd-|TvK_Kc|Os8j0+cz1a2%u*Lkw={MHw&CUE&TNf zfB_}kf2eSy+s62U!WTx9Ma4m4Kv=+5ewtrJy({tH~^wdDP`G>oRXMu ztq(ko-dxOx_y2f-&AG(Fn+1$SG-E`392R2!^fn;Kfpt` zcmd*{noX7cs!IlJx3t=fT870v$s;V~bXKWZhYK|qmX65ji8ou7<5ie*L_w9V7Fx*l zB4I0T-qB;U*UF4{a$h5^YT#_r+w~TQDg*54>xp{+ys}gy5Q;q{8r}BJH;z`xulkm@ zw=tU{V(Ua0S*-NnYFpLQ=3E|aZK=|QuMqLfUyuoWm2l(8K%GAo)>jn$NxH z>xBovQ5oK3J91>Ov1T+{Ac}(^iM=EM_BUvU;(v-f@ZSF`^02^FT*i(MEM?0}4zPh$ z;^Y5V(_A1(QD(F8!GdL70!NN9xzZPIWPRA%#HVrI*Bc7v2B}s_{cOze)B$-S{|<_8 zH)*s?D!{)m5Eoq0-&t^YV5hx2-9m)oLNNme>#lZT!EY$zv6JRmb@sXOS7fIZBcFeQMU_4077p>o~~gvY+`r z$;E=D`vlGpW%>G~=HA`VS;Du5=KH@s)v2J{|Hl85!P%=>?`maprR)jQU|M2Klah7! zx&HEk3%Hq{OQ?6ev5v+nAZOxsI{DA$+YM>iR~tyq&7&~U6K#9Glz&%>8M5DNDcvoi zi1L%3on1*u(=kL*K-NDp?L`9=zq)u!{VNY^;8w#aj7-C7Rh(;c5JQU) z-*HvX3drHXTwm2Hmi#=BvguJ;HABR*SM80YaBAvv{~g8+MoIk#rDlwzPC!e2m!$#@ zF?OICQ@&r!hS=ExEaMV$cHyV!7{v5>n^n}X%kR`!hDOqORQ<^9!`cs~&QiX1H3gDn z&r5_~xtdG_ji9-?MoMhYj6(!O`FcCy0}$DgP$rrzQQo=xFcWHgi@pO*WzTe|0Zenf ztiIDgRa7Y{glUT9(topSvnR#Jw`skA?~nCO)S=3iy7_FL&&UVWO}h?nKv|C&*y*aL z+tdtVpR_Y^7FTV|d?24F2Wp|`{dV_mmb~Vy#`EPyw&KO-XGfqDy4r}5K9{8J-q@s` z)cW;G7*A@th-6l#P4+Vu=W-J8T$p2$wQ-e3ZNmo7aWxp#Wk9zaCW|kttyY}B zc9tdM_*{qW*6(uYmDdoIII(~F)ezL_+bfQ{8jgjNex}xBCc25`X}7dr49y?Orbtli zNro23!^JhO_is@aof6>C!s`IZxPR`QQs-O*rLZW)aE}-2Q!N!jKtXshp)fGoXqSKP z1zf>9a5b|d9zXtjHK_9ct_BCBim};OhdVES(M2LgC4SYMAoQrlD39tWv!~IN4bi!0 zEfCFHpZE^-CR+ZaYn?^2os-O&d-x+>7PBCdm+hY-Cg~nd(=R3(g2cM)zOOYzH>Yr? z^%`T!w^NPUA|(<;*erYc{R-4E5yv)0g5uh^!ll0F!x;mOasoA>T|z;`4$3GFLLPN} z>G-8VrFrgsv6S^GKS0p-98!%)>W@t+P$^@8zU#pB3VwC z8$u~CH}mAN7e<7+Ba*~5``hE6%d%?A0xg)e^A!&e{cEOcrK~LmH$S@?#bc(0JkLNg>}PlCqp8FPSGQ!z}MPiE1_h@lhZ?aL-)&tcia? z@9KN@%bb(|>!b!B$y@K5-Qn!ePm5hsA+`1KO==OPN4#R17lJ_=jJ|3NE+1ZLJRKns zFv;qX^!-*zK%@g|4ZBDa;iP5zjuMJ9r0wRL$R>3r!QvDy1G7T&@2+AUXn|~uiAUA= z$Vt|+{Q;~k6J2jstHO4)uHeIHHSuPmFnF*D43cs5`Q?jNpo>};8QwrMQ(`<6wQ-X$J zLy(LzZE&OxV)b2}8NWEhqS#n|C5LyD=J#vwUw1^5Pl#>>O$S~-bojB}t@g~@WgKAH z3aOgAiK%6hyLUeZ{ zR;pT-zKsU|(8X8Xjf@Q#$AOPvX=`aMK#Fn>~Bbrl$ z?bH?mP>{uC*XBJ%x1pP6dFCtmx)XwwWQQ!$xr7zvPq#s-%ES;$t1Nrdv_c`yt5cSW z#H~(w!J1|fZs{JBgNuuzE8;dHqq7LbW2NwPwDz|z*^5lh>+`ZX&H}7`r_I=vO&pK; zdODm5UKA$Vg2@IK(=+s6Vs;okSX5>n(y_azXdT{%7*-1(^~MB~P4^pulh6z1y;T(0 z-u{aXPls%lsb){lHhRX|N3kN`{mDHZ{raT`PbRGO$Xn8Tdw%MrS;26h+S!$`x%MY5 z+_O&?$)Pj~g0sD3QC7y-{93m#lg#^Roud~-WP=gm1IjL+ay|6Dd|3DeI4it8aF)3+>=ZRI|OStIi+bNjz_ZTE#~S~+~YJY5rdP=QkN*Hp|u|o)NMP%qyC_w zrNw0zan6+!vKFg_1L4evI<|}s_ztbs=NI47J$cN;z&qwjUe933fNC)H*sPP8$Js>~ zW?(~vM9gqZXUs@)6a@bbIL+W8cAlZ|el-q}>Dlh`E80@PMc8*wEj+{yTK42}{3d-q zM96|q#~cJuIPFgOVW;vM+AUEuk=EEq2aax(*rFP#3=mSGlF9raKl$qP_YcGBh?|Ps zGHY_?VNIseI_HAh(OMxVFYbJQFhFVV<)fFv$m&03_TGw@ZXN7!OVF_P6F~oux5x2T zRt`r9D#iJ`hM0=uFfTE#dSbFX<%tm?qmlk4mG!$r7oxVD2pZ-Ci!t9_FE88rMUP}U zKDF^R53N&er`*E5X?2`<3eXS0)Y=Zk_$Lt@J+#G>0i|zVoZBiDFn-uQZYt2uYRtlk zw3k!!S##xe)Zytj&q&zUETBlP*m-1-+X+jyg^lEfH~s84390aea$mwLmY;o4dt)6k zsDw@ZcPhqz3Q!zzzg7HJL;g484F4s~&cag0{} zy^eOnLO1!1Ph;M3HrhyU5SD+T#TyW$bt{EVvrK39U0;$Uy3R<=b&Ui*9uWmvuL~a~ zG)85o)JLaWDWQS+SARMOc~c^jg?rCe2b0e6A@;c~pYlS?MXb3sWHNJNHy|dW{F%fs zgmFD9+gwPqN`1#1wC^6zccU~xQO4`I+x--4=|MfodmOS{=lM7~s_MdHCezmdvAsjD zn=OGkCi!(B*S5Z*oFUJ+sKVf|t7h7tD|#@M@nxa4y8ix^RBPH6WY<7Wd8;wCF#Zfk z{OuXH-+w-xk(;?Q3SCkK<{_5TNmmFFI4zXgPj13G?f8_s<_Wz#$%_+n|;=p8U%MEj~R zDwL3B*~&vVKxQQyfD4aRuIHiJBV5q8vV-j3EJcCLGv2B9`+jtV0YPJ}B2C*~DSW!Z zJ6AV;>7I0d$3G#=%MxqTFpSms$}#y2`c^Z(R@w5$4+!Oc0JN&d$dW)S2KaK)u@hGT zv&2Q-qjmjZHniU<_utF8(?9gK5;uBh%Ll>WU(Z~2DG!G6wyYB!JbFhrmP{^T%h9{# z2e12v+8~r1XF!nIf$sF{jU;w5U@DhagKE)U45Ye|y$mzs_(gU>SiBkUz<_3dip^jI zrOZa%+DLmCv0$re zzb{KZcB;h-R@x4>T`bQ?*L%hj z@JO6$o886u|JOg_!Bb3YI776yVbt~q8(g$om0tcomj~$p%v9d;s6F$^fANziu2E_i zA$$$1a)+^_8UBhon<-{F_=K$~pZPumaiqoZu0{$J!ca*~&W*g8Sk~bvE5PeXs zbU+;G%ub(iSNRBcD7yJB#?aDTy_@T72d?XJ`>aAdW{EKUqT=-Et5U+uXNz&ZE!?~Z z1fnQVZ8{`qB%~`8K(rCe{9coMjCR7oPz{Lt2GNd(-CA*^D)Gzo^oaayweVBe`mokQ zuu}^+xvjNx+V(FNt@IXBWg5m&hPK{f3ka8@%AHiP3A^$zGjuI@87Tz@r^$Sd#Vw39 z*N;0&`or3d# zv}mC8TN}TgZ>sze!3={+%DR*{*6@qVNoIQ)O34^}G<;681vv}fjdO~0O?rV_5RLe5 z86jQ3W%N&##ZOF3QH_Knyqx$JsYcn=W0^b(C>qA9yznyf<-lX9RRhsT4<7V7V}3Ro z<9q5z)!1iUb!R9}c5-Rw$7i|}udHLUxbiPXn_YuTYr>nw1%v7rpIt+GuZPH<9>-5q zQ0S>aQ|HOR_L|6xFa{Si2#EaU&--&--Z0BXZIp*@uj9?d)-j#!c_d!GP8{F(m6W;*mkF`OtI`ar|2H??Cg{7&-OpZ!& z)5bSNXu;!2?Ibo&26?_vBMQj+x3C5a3zfYoOf8K1!Y4-TM}Y@FMt|EXll+d_NK>4G z{5~-}!=;RT)V^P~wCK%DvF)JtXY*JdXesZy`LX6ApwebxyJL`^u7UI_*ViR8$sp+^ znc(K0*ioyZR(6j@%66$VVxe6if}GDYrL&BUePJw&+V`Ak&$f3dXjGr%M&|?xfo#_b zf2$IKnlJ(4#NL;GIzJK{hI)~czG3fd=hh(}CLJ(@I3ON3F!No$gO7Hr6|dj6b}#Yz zX82+FNASy*fAZYJ{mKe%mUtsyJGq60t(3HA0z8auI(zT0hLH_hm&poMNTXlBx9QqM zsBDP%J{;z6dLQP^<4@-D-!8I|H{9t}gwv)mskaGMMorw?%7d)VTb~UvG&5+|>ObKg z3zq9%DP6{lagkuSjyzsn{P=}bK*txZv?u;tN8;-hVhhSqeCYN#-`d(DGQV6y3&m+* zU``_Gyob8C1{2>Ux=d89#WxbVdi<4n@JUfqewYrf{&_ z0+qR_kh=CxVQ}D{4dy6Jvw6pB4>CR063qoqOJ~`XqHmUP9RpMQxMs@JYjU&xWRLOg z5;OmTl{GJ!Xaj{a!v3WSp+(xTDjswFHnK>P-h6UuVQHS1^|{XApb+5eS<^6cNZl!s zF7jlN{GF(%%c9h?2?5dbiHHCbto941wqHXP@9l!si$8p){Fd1FC(ACT*PC^HLlG$bkvY*}qCPD3^G@FQjo-4?|gH!gEKP)Pqei8U{`i6#zX zgajwKHho2eNgtk3X^kc8ur>m&Yn!a6{QGD&wT(=(FHcVFAAVgY(&3I ziVu8}flO`x%$;A9XuvQOboz_vb(fQma!VRF+=MkG0q!rO!q@=y2OWz|nnD}2M8yoY zJCoyOZ71C~h%;5At*}TYM#kRQQ4|LHwL1Qvz3fYtHo)t;`kddHAX$R7^d|vPdLm3X zqZ<}D(SsN$Qa!F*j|4+8YE3Vq$eHW`%C~<%u&UaKEU4_5jUY9aH@x$#)%Vmul;)Q} zZv9>ZK-Q-&fGT15cR?L*TYGCqW11KOs?-^0RM_y$}320bduxO%AOr~>$>=>PqE0tA^>Qv-qH_ZMCd=MiK9S3y9KP!g0B z6dOb{y@yjhkq7#{if1!YPeL%8;~Dfao&yXhGiy;kyMcGgjfDVEclyGn*o?Zoj%RuC z|9m_Ql^12!f2Bw}Dc>)MelrJDsh1w~-DkDQXhz}kcV$}bCkA`zSMc{ zbb5n)Q}B9vP6gy2w0?iZ`rqIz{J+8Z3oO&$B26vLz*F_8UlSEkuX@gy@cbufcKoU9 z{?Lx6tI1l5>@md@Ck=e4f-+Yt^VJa%_7LsMM5XhFX;TT3`Wbq^rxUV#qkxN1%H2`d zQ-F)#W2^8LQP}oRvO`m{iUtpv;sQb>Z%WyAgFQyxAe2jG{kd%!d#=MHA1Ka0Zf+X7hiKpL2fw=|dT1 zZe-X|Xmov!9AsTap)Q)e7s!iBYM@t?Dj=YOXI z1=k4MmP&R;7-51^%RoPd3}RQHS6}F+&xkfm(et@YIyUvAa@hl!_T+Q(B?3Ggv4@fl zzFfipI=R!u&n0XN=0VtiDHtIV{DJ=MhCjfI%aI#O@nS z>E%+PO8YR5Qrg^O{%OxX8O3RMOHzJIDvOg)zL6UN_iW(u@Ad zK5G^}EJE2tfgjFO5qGoiD*BIJ<;1*8VMK*eqy)%@@TF|Bv zAGOpTg(`uw=n%wk4-(}rl%w*jN`=rdU`1=>@R2_LXSt_63_J zZy8h#)Z;h}OH`$6tu=1M?2AeY+?w^jbTi#EW$QYOENsr_lVlbXc}Y0;wB?Xu}pBY7U0d zeOAvu_!+(apRt)1pfjZtK>4B*8%?UgH(v3zqSPE#N{}iV+Dj+t-!6)(4QJ4u|Cdjc zO@lX~G{@3$P$L!MmpAubg1;(hj-c{vBr&{3+FGaZnVa}iwSP?Oogy28=oaXzlV?#+ zbH9(*=A@?Y(ILzP5+j>E==nH%^G8u>#={O)Xb9RqkbOb3&Hh{MKu`@;+0$0})KRIQ zR(D$ENh|N(kh%=gPEI~JLN;q(EQg5Z@uVy$$@w%$7F0a&pteZyFjQMsEm$_|B+tYj zD8!`tyh&0_V7%n7wE}^;#bRX%fTQtjf|x{;e=b zSjo-G;DaIT}U=jw_^2Bq)uwjh($TiT$NyIP3{6$dNw zCH-rR<(tS-g4r)*Oz0mKxs+5fluWoN1tr=@@Ukbx^OShZC-&3{Ko?LtaKi{X@!~FW zK}>XLff4>T(ngK<>LX6eP+M$qgVXATicsxyg3Gq|a_~;I0Z970$E+{FneRVAelF0P zI8(Iqk&V+x!AASq9hfsc;*37Efu2bWwT?!CfSfAUh|Y>QfkN=bE47%B25%Vfy*0OS^$Q?EA*gG0#an9+aA8jmTa>#$d zs*EUV;mhHmkH&h?rrUK<03E!;%t8__P2-u1@MJd9@22OZ7sxX3EX?+rH+gEc8msW{ zH%tEjxJ%hPG0)sJ^Zj`uV%Ga^c~me{iehCUXRszqje81ng{rG$n>X$%IL}ehAMc2h z+lJ6g*tK!PxZea@RAr+eoHvmohf#|VE!@%Uz8Z4J|NLv8{|$9Q^MR8C0X1i_n&)gZ zctC+piO6kVR~#j z{d+*?gU~yWS*T zMg*G6G%ytY6JISu;1E|slhaLvIx{|&$8($w`0|ou;MViF`43GU?7poGVXxCL7i`*K zT4N^dqM+IoMPlH9K|>&jA2F<1;qUyVe%K6yPOr}RB<%56s?DcARQGE?>xMEgf1_EA zp8;D3s}_!i(YDt2W%WPMO^k;693^jV!;Z&+IFHeh zBt|x(*ixZaj!D2=WRzo7c>fki4CUNi7J%wcPF)g$V-kxq6|gxQ&!!Y+M_yr{MXYxx_Y3swZEl zT=4$yV>ZjTkq-Ze0_~?l)qCvlvH{1V07|NnGgjN0g7K7$c-9g#-9K>K3G9D|TA3W6_Xk8Vt)xR``&vO7mUwMW5J2Opi)ggS}8&q-FYzC@O zb4d`CD~I(rN%ATjw10c2oKZJ2HcUQ^|K7U4i)wRKohPd3$v;5B?t2c452+WSZP1{IYH#(&36 z9O5|lDLsiTucX`*rGVlDpp$~mH-Rmj>#r0+mW+T;gQNTJZg-ZXw%E@^Oxd#O6Wpg& zG6dq!#3vmWF6~!+bwh}rJ_(tYgnSkG_4M-5F~pfhAJ=6gA6BV@ggzJQ1Tdn+`Z zWYCYUcgOIi`Y7@(>!;N%_%5l^RKleoH{Q|L4*a`;+$6|zJj zW8myLU^IltcC>%R-%xZthNUbTZsKR+H@rb*sZ5nsMxNnz;a3h>p(&h8JlKE>##-WM z*3FHIiN(B6MooWB1H3L%TO!D>Jlg%GgxR>RZbPc4$RR>aF`p$YNnec!dj)Uc1&jvz zNn}9l)bg}}+}gQncjujesGBCe6w)=%ha3C>{fV-{d@R4GBiL8S-1@WA=fbkN zr`Or2^>`syYlBs5VdG7XTKU%wi>dC~N;4m1pBz!iX;doREh75<)i!5xQc^OH8g(8< zPU8LXM%F6%?61*On5vpC4Kaq|PvO3037G|(=xx;U-Q8Vk>TMfSFFr!0N(WUSt)&!f7BD+GhDufwk?qB6(+dUduGy~%dwBSYn4+F!x%%QG;ZI}SiT%`V~q*JYFsro`iD~4JjkA{A>%9$PP znENvP_yg6ZKevyKJ~e3+uyOg2&PlJzwq{Bo#Ys+(^! zT%vRM`%FkQ=k5^Xjt9=3{TFcXq53@BmKcHsA@`~P^xa=&vy^P4c(40|U>6Mnrt;WG z1KyU#(2WFgkxo-JG+Pq@Vu9|-)mp{xg@!6;-8=JMICscN&i7U2<>`1bTvhT-EEIX> zA?DKFtwB;YxMMrB|K5w|d&Sv|rScdmBocsi!orjgO1q#U5$T_|>4u~kJI$>$j$3%s z%ZNb&^T|!SPMo+3jZq?Sv?@gbQnDKtYN7Kef+4T4Bi2!;)sx z$uY$eG?=UIFe7kRDD>!~KX8YWOCM^%t4v4_T_Pc}JAp-4O#c3G(U~B8)ibYcihV5H(?YtFU&pe+7bLuZlNnC}p( zR!gdvi(=lKw=nSUevG>7?XAc;p%yLaQ6&`y65rEPlzN29nFy7i->4`oQ@h`5#}t|V zYDzqkT-)-@HIf;pF)Ve>XYN6QIlD2<)lwVDQni&~{80RuRpBln0*}w3C3VFWv4Qhd zc7^%CG+3c;7=G zx&ODewx+VH;TXCVYR-OizSKaiXe(dZSgk4=#5|#*GNnRJs=SCEiiAW%P{B$n4DfRD zuPpn{adWTc_mD1=zUXAdy_ySgqJV!|{GS(VzOOo0<0?{PwBO62WY4`=Zo52CU?U_` zYFQ4_&Z*etO(bgJf(k_6v<|%JX9VIAgG3x;ep>#~D`gTr6CHKl5T>&vuqwXMZGoSd$I zRo+kH^^}BuNl^?xgn*F=(QB1eggNtMKxlWVC8Cn4Bv(n7QDAT-^@NP(X@!8m-79s1 zUq|aV=wqGctUlr#2^~VaSPr_S;CT;5qVJWdf;W~B8+BOUN3vYM_oWHeC`qB@6|SX^ z>odfmhkxQC#_Z;`k5GY!_qx6GRMTaXwKnmpDU7rlJmGSoc5? zC%aR8s))wnG{!jnJyUg}&Kgg<3lThCkhv4m)BtC$Lpv?IpOB$e};g0hfg}BCk5eO6owQF#3XiaD>pwd z9=A<&filIgc(L(}PZY&U#NiJ=*3+2Hs%&%Zp8%Up1@wtYe?qEF0Y`kWT?2Qr`uzKK zl=Ei$OPxLNo5yijgT*p~rqn5-qALY{1lRX05}1Fkhp+y>```-_mWJos`(RM#qmlQ~^ay%9Dtk0k@(N@M z-2mR+-j1F}hbV!BEy+F2L!1q+*@Whkl)jY5r2p9qcnydV1>R_!l`&0!P(D$akZ~Mj zH&lNab?S|a@n#fPRuwJeS~*N)KFyvrl+4~YqFd8_eB#-ZUE(ws2Q6#^?@dtxy z^AW%6@`KOs`R=h=2EneyBgxt3Ws_o#5+q($CND+mKa8MgZV#HmIhm>2<^SRECI8*Wr$MW>@@x4hDpVXX124{lYhC*v z8a(!-w-h5`EoXmfM@dk2neN`pU7-E=ZIP@{09=df&a=LVQ2T?0(5<7P#2NoAeCa44 z4)T7tB`d7|IlmjFK~yk6qww=J?|DC!iMm_^-BnatS=1ut+k4kbeO)6X@M~X94x6mb zcN2jvY36Ilp`u=YAFX;D!2g&8^lJF~vpA$GA{Lgh>a>9wOAbpZi^kM!2MGy|0tTN3 zHNFNB1P2#D&w|WhmiV<8lxd=JdMbUS} zG+mMs6Dxjh7G6iSZT$AV#BKYdN4_8i<%ofKpLBWBH|2UOgP4mLI83z}Hr@Mp9blzx(QNmj)(RA(a% z`hJqG95(LB;rqKW%U|0T2d(hg^P=l`t1#sY`8gQ@0n{`R6SZ%RIK*nZ$!rypvZYtI zD$GR6m+mF8iSM1pDG3U8Hr||Sc)c`c zEdf?Xqxut8qalwA1)N8B$d7bagASLWI5`pIRP)C-RmyBJ8h33%qmXh1%%&YA13S&A z*ue65N_~-sDkl4mSpg=&;FzTd1Vk{%v%I|aBx+s`|3f?~RSGHptK8Ye`8sz3zbX${ z-eL4{rN#dLqw1~0qTIgsVQHi#1VmD#VF>9)Qc~$08l*1guf)?Uxv_Zr)3fm!maMs709;; z?gbfP*5jnQpPZ!HV%KCMUM-R&fkuSQ+lVPvDJ!mAfejs9s!44nI zhnAtoTL*tT-(OulYr>*D?8{+>v#6oJ4L%k7xposc7``>)ww(%n3n<9AJov|&mxL%ASusT1ap)kVl&2lIxsy6)`$?E8Po0WXVG7Is+y&aHb9bBR8;pM1l?oK@t zr8aLtRI9l-U3NJ=du|V=doQ%A`ZhlCwy7lY%lIk#M87 zjL^yjTXc!HLDs#z_z_HxE0=xcd3x-*e<9Q_sqBnTc{z9T#e#4CRG;B0U)caknd=+h zBik(I15gLASV!aLYeR*j{P2YXjXU_5j;U5Q6>e+<0b*=uc*2T z(z&XL1k>v0x6|_Tqx2`9RPjAXsuwNpenBb_){Bw&qxbPC2ktqUtr9GV70lJ9`fT^r zf;aDPL)+|_LtP*1jxZ)n+mbHR?k6$fddZ|OKN+1ix`gW)=&hbqOnW$z$w=?3n&);K z7ODZ-wFpzL?J~&yH#8(~D_d5$M=Y>jm(f1m4f*qI#A>LCeYOrVxk~NQ`$~pqIM>_x z+6|^@+h?o`jFV{taWJNDj@hTtcB#c%%iwj+&TmDKg4`_+^wU`RHaH^z>gE-$b9XL9 zY7HD}BaNNh9T`&2w)PnB*`aBZLYE)6_ulN6qu}H6wznl3zUZNG+B0#M#tN3dI%BkOlS{-!ATktxD&DlOv>T&7XFXI&GoOP(H6_S;S`Z^&L3tQ%@%vqqB)+U^`>%l(bHdUb1a~|% zMVk`*H$>dU0`qj%YAIEb`n3j&zyBY(LJG7AKj36&|Z$j#0!jLGsVGEbDjBxTGedy2BH zT-Vy@}7jFFQ;Ctr8D)RB;uKTl8N^HWh05l}}L&kA*oM@1U%%UJ>wZk}5xz%g!@ZxM<1|;meCNm|05%krEqoNc#jSQF1Zb(020s&)Atm1s z$~@^?PS%{Y7mDS#46aJ*Xefq}cjBoM+2eD1{>eYk%BYQIR0YCrgka;|tb+J901EvG zsE~LNA+Lup#Q{?|M#2c^|hxPMSSMF4pnlR zn$O+c2Pxj~?(Q~zP2+>kaSN@a&RtEIbp$qK1Z^XRy9sgo^epVCoJ8k3|C|gmQd2)1 zm%6*=Mn7`LNAwsTB!5STmyFb?)BZ`~MBpDf(Y>)u+umcf+OI;*Kdj-hw$u-*(xIXK zE2z;truHA}o-O{rqy3Jbon6c=sj;y?VhFw69j-p!9jdk|ot^ATe-zthWtqd*6Y&|TVsN}wns*_ULyqO|A3s(HOiR=E*};y0Cz`mwLyDZ6TTYP%Io%?q24~X# zG*r*Pbyg2TRQ^SAg8qMO=rq1TXK-?0W%S#1|Cb}a3PWf+Z=>1PX2Lo$u`p|;J@5== zaL?|nKkfUAxC{uVe#6;B$n_g5E2|T#n#B7mvuyfNl$(XaSt>Isp?`>E`~pv>ov10{ zvukSw)V^*2jIXCV5?aPNNe8zuHVSJBzD0jd2o7nmBFY7gjO8ku)4h|v$qJ;aE)02S z?S1CK&9nd8fVT8%IE!BjWpILU-Yys54{=bZMr>wf?FsXyL6*w`s!kSmcZaH2sJ;fZ zd!)Kk&>_ulYJl`Dt;r0Y>oTffy9hyk?%u26rc`$D3o0t^Z`X$wQZkDnL_(?d8e>RH zNpi;dThw-u-{2y>+t~WWMBkPDwuAjHZp}f&!SeFuwId(u&&}=0d*@M+-`0)*6GL*c zBsWz)j&m3%T*4V9st$8~d4B|sZOkv04N-TRXdkGL_oq;%8_B9d6JPNWJZ(@GEBeOK-Le@A00QYMD2m-i?f`{c&VTvRU4t4(n+2D5n=~5Ic%8bHP1y&M6 zRDncc*9n;`mu8#Sl}|9o{5-1D?Np-$1BU&`QbA*sV9g&(lTT?30o3lNwKJ3cIoF<) zqp6vcs!B6f=N0SbkJj{jE3<89uXD`1QJ>%}k1=PXmCn=Lb(A46>X-Y^D1w7e7K+Ij zPiMYWzIVk3PAkXb$ETOg9f7!)qD7}?&bMUh0Q=VV2G-X&JucxDqA}6Qq?;U!H64!r z@x-?i^I>EGE?6}5*7z^F0NxBBn9r|7rGJe zf}tQY<7Uq-n1Z03ISY#5Z+wye7hlmu5aC3|{bNU0G%q%da16tvPY{I3^#b5##6G*7 zZv-+Gr1I7ZLGqD&*zgjI<>K$^3(wyo#XVM>37lXS`c5k<_`spJpAE4#u(N~kcGu*| z1cp+fuXCxgiX^6{I{y4LQh!EP~LU!>rMoAX5f3OGWj3z9uwwaSFJ!?n_Ji4`ym$lhd* zie4nvB1X2oV{@(Kn#4CraU&VDhxJZDvhK-EZOe}~28B-iPw(@~><0CfU&YvOG+n(S zDUYJPng4Y^`^Z&`c6%I0dXVA?4=Sl$K)+HIg}y`y!9aT{Y$XRCg#i}4y4*mRu1wP~ zwBMc!m7bd+`=wBBJUq3CAbSZi%Hh8U5&sYK1akiriA#vQWnL#iZJ=OV+pi8mNcva< zxL!NsPe57lls=P1y?R5FfvySB!P(1p4gGKx!|(Dv)6pbOcym!K*viwZ1a}anDAQ#t1vajJwj# zcjaX^hd2xV%Jh9yt>VX{TU5m?4B?0Nxs z9j~h=CJK|iBaVgNI64R}1tK@?ven0!q7;z45eQSN7(}(|!%T=e*N@)b-nph#uR!84 z%kYbqf#Z$$H3C^{c6e7k^B~2E!m1=YRRGqJ23lZe=F5UaN}&`$GXn2pwEC`AA-E1h zJHI7=ZsYkvg|#^|G8i&gGLmL*kX}+VD~Ge!A!D==h#+fUUzyENMD_$V5=C+154ImQ zB(=I5J#bz;sZ;^3k@IT6z7NPfOX-^K1-!U@%TpYBgn^nNV z5gqy-a&(L^JyjfZKC}A_3KCtgn=!zYLgjAKfrHz=3mM|NrYW2T|5(&JLp`5?b_)?( z0^@1!M}5%_FNl3_NG@YTXTJ18XWKmSBy|Xen-I$S{``56uQov4+R*BYj@Kr`P3_@xo(eR zmAmB!kR25LIYQ^lyyW!7$ax%dA>^q82i1|YTg}&aXwB7hj_98iF#*KyD*<0Ig~7em z68AWp?Qwkr+ziX(Nr_9dC%ObYeG&#NX%Lm89Ef<_J?v_G&-+GOm!w9=#Nmjx#{N{$ zyf%QpL*@6d_)?}}W!*Dwh5IiwI{!gK<%`Tv@+3CAyPGZf3bx=g>I6ex2hS^@jk* z$IHv>@VZnzOEwHa=f7W+ZBd_TjXZ zmO*%6^BRjYVA1QcUKfaCK^UI>6h3}dwYys*AhMNL1R0sD{>ftQp2bD}QH@-(wW-~= zgjcXx#6G*MJK3i~vnjgQ+-7=@cQ$^RA3=9uc2pVv#U=PpLP=K$ZqE=Gl21P+4&t4YAIR_Jso5Egjjo*EllCSYz@ zjFQlG533~W8uW0i0Lk$4pV>Vv$2Q+^f%#2ur`KQ{)>E%}H z2TV6?sLW0a3OXrbc1eUbs)zT5h8VSb;M5*E>-^=uu79|1-SGVIu>6Yz(ds31`*%LY zqOO7#X*w_EPi%s31yKs&F~^NGbL0V`>{z98Is)&C2@`~Kk29&B4;YPVu+a#}Ct6st zvc2;g@ON%!7PzIm#gdsg$_I$v>?Y>7Y`1ljuLRD!X~{|jg^1*p4rjqlH-|22p+~oY z)e%kl(FkY0)BdZ@?`@q0`eMY$F>MsmPS1T^unNaSS?MLE(#z@2-B5pu7dM9HGAM<7 z$i;hzJE(~ku_#cVB2GgihddZc2)}GZ-H@(?o+{hmHgabpxbqMr>^^ztR?uFAXT}8j zWRm1BwbHbcMpbs*Z=)W7yeS|>ox2<+(5AI9+_^Hr{gNS0_bc|NZ?BG$Z3j{yYjfQ7 ztPRU<{`UtVZ-#5-0Xh{pEy5HNan&sFlRp@-fv855Lm2xuij%`2`fcwC%1r5hB}A9W z{``%B3Pi8(L64LcMfJ2{XB0(d1X@Y;7&PIU|=$uOtUl>NCMJ zeww)R9%5MJMu)EAg2R?j|?XlcdPDoJc$3Kwk=1D+%bQPI12-^F3Kg2VLWI zml4vO-jIvZN>bUgt#$@;zVfO3y!VYVxr8G=5U4k1Qa6hlv$sRyoKg`EUC4vM@a+*2 zEkLTxJi>DXa)EBF9_3XLXo}o9kax-#+v%aPp;R(vqdQaR=L0?1$n)=DL-Bd{q8$C? zAd-KYNW@USOsFIj)7{E(BHi;Rc!BisAcq%2?GHdj3djS;8L-H(->!v!g;iiR!SF@S zx^t@glW)Nyxbf9lRt3d-MeTJ9W$R@z9n0v6JHAy_-g4kd<|&l^oLed35>l9$$JWamI_^lNFG7?isF>dAEN*>3uzxv+bH$0p%o4A@M*29afyu% zM|?@eHeVi2eINReX21r1`E3!6=3{m+Tdi!`(FsL!>6Pbag$V|6?vcy7Zwc{e=t?-M zZ9iI6%x^wL5)Ath4vBUR``Hloq4(p3*n9mG9CUNmko3jC_OGAMm+r*koIwl`&ZOU?=(OiO#BB6g4H==2!kMK^h3 zpU-)Yg<4;8XUsp)%cx{S6-wnK#5Vegp-NClPWbxn;2SL<-cdC5xVIY1@8_GZkrSkA z7I^cBwn-D*AbM6-aA?5lrzZr6phhodltt}4Mh_>PB@*&P$VW@_Ok#I>diP^qvKDpP z*_j2DkWUx~k#|l|Rdt`Jr(@u0CaJ1` zBapH3k_qnp<+-pl^(`4%<2vA+1=%25aQO_iF2r$q-FW4ouhkL;c~EKhK%ihK>#y4% z{-4|1@u&lQ&D~eKZ-_)BAB$5l%Wl4FVUl_y;&J^!`mO9IW#r~_ARm%wht}?))u(+A z`iGtFs_xb_InKa7D8xuPM15BrHPHA|19`A8K1!Ue3z+KL$b3E+Km3_U=e&0N1*3>h z(l%!b#13EYV$eVV0q*4{h9omjKA=WCoyBmi4`B=f4)lo0@c2i$7!TU`LLJQ~(xD4HDNp%&?7zyO;s+RNojdX&qQP2;oDm=L zpTJW+m-eZMR_=;l4EB>mUvLP1{2vW5|4T!CYNM?10c9rmuAC)wLjf7Q0PpzTj2j6| zTDsVH)#%UJX+*$?kR6j)UQHmIT6&g;u8z%nx-ie!reSe=`%x0LmN61Gl-nsYcnV_I z@?~*b#hZ6WddW5U?BXIhp{tts*Q_efEJK2b%k1&fUfnial!2o!Fe3Ur$g`O)#OG#T z3dMI1rPb^4mIF}+c{AE{LAC+_`&cKg&L)nexN|4-VsU9uJlxQWpPEQ2F;wAE#KxlH zbtb)%D)9dII_wo!L+W8`+8tW`kVKK4hPn8V%2n4sh6B99_O)pi|AJw=L zM>SLJWKsxu@^P34wf-}f7K&>Fh;2(w2?j~Dv5FP4fkji?9}OE?ZVz23K*zO17QZ4) zi4a%!hMJD>hvq76=e)DyC$=H92YnyWEK>N@<>3%HwbfVSd`SPbAbh3c!Tf%0$9}ap z7l~4H806x-w;MFx~9E zzE?uuYY9M;lSQAoPoTWN=`G|Vg9QU@zC78$Les4)R?{NgBZa)5M% z{$hq%%KvmrTOSt%(=n#C$RgM>`Vr(T_=t31W6gsmldmtbTPL0R=d4dNhtYn@Q}7JU zsS+~rVG5K3Sx$hF2BG&*@;xQEw2$rZcs8AN(j6vr=<{~meVq+lNz=nTC+864$S~B@ zpn!EmS!f41mSTpaiOugfM<5nw$a6aGb3=-uR>{yg;^%-Wz{d&)vt>ThzHf$BgHo$+ z!+dSIT&h?CtT4f!LaQEand;?5T}VGek3Ag{#YD8F-$U9d*qQggn%jSETZX)Tie{=L zzNd=kq-7A=qa8b-5Z#*^s{iUC^wmXq`-2YJfD@)7gtl?$*6L?XfQ3!Ixpfa=Ks0n= zNsAtWWqH2js*wcIE{uvi1s_g3=3)*@{Z|sD`_#V#>Fp!Q1JKxB$+5G8Wi}Uc&;m|* zM_mP`^lJ^pCns|Qbbmxl&v;Oo*jgcYNY^C`k%yAr?um-%q9`8|Mi|Z(k5i|h=S{Vd ze&p6H?Ten?N7YI(MBV9@)5jWD^kMd!tW=cJ#$-f9H;UAoc9>c#iOx+{1xO^80{|%$ zEOjs+IX2CS|5>@Yrl~cs>d7O5kT3)xJm{IfU(IKt28uz5Ro0O(6Z~}=WZ~asAC9?Nv(IpOpq(Z0j4QrY6H`Bq*V8O@Rn&kS)bw{uM{}RWec5U4coI zHoj6XeUkz0tp9~JALurp!JNzR>(r#M zn+6?=jenEqEE~8DKgW-CMl%_{1D}VvFz`x3xgsoOwb4aD@4%{*%lVIIXzf_4GW>x| zJQnajDfKq^t}{<(w-ZK=AWWl}J3s8schw$Xg&P$@=)_UG5+;26t@OXzPsdfS_85Wl zpVh?&ZnegdkZP-1U$Le6Q!V>@nFkC@JEUlx9G745EcH^ck1XS%2PmI9RX}W$4hS8% zkQlNjk3pD*F5xc`cIUeX1)l(hf1ltU<}Qs`K4?_u8yXw-^HAbG^+4L?LzX*u->a%~sQ}fS z`RLJ$aMci4(^Je+!&k$KEIE%3A_h$!XdoLLysDj?UfaFK9co&&j)vf@=COl$xPfDA zZf(E>{qh_#9D*wy{I@XqKT64iC~3gle6x3>X5qmXAKPf*R8n&C9A^7E!3US}Hdoi? zVxz@j5HH!X7?9#Wc>rDZAKdxv>Fz!lC@mkE;rGzPlK`g6u-&fd zgQVhsy^_DGvzs|=RHjL6BwZlY@akjNjbr*wB z56^K*+Nt(YKNy}Xon_P}QOQ#gdDz&j0P>@2Xha=%i=%3YaXK-OU*wRyDrnB~zDYcw zX9CAuT%ljq_@zL$cf%mYN&k?$mOt+b~7IVZmN9qyW_QQrT zG+%eUl>Rzz{nm2hKM7O>B^U`2m|+wvlyKWk2u98>x_34la#M|ogVolz2>rt3fVF_; z;%U1`i1;7DOQn&Dzr|#Hy`so&biBDmNlq?1_}=o7qzY0OXsSo-O-Z-L8k+4_fnJ-u z6;4Q=aBtX^*w)hmn1F*d52++m>XKp=lKn5IUx! zhZKO{c4FuPJ|r#QA#Zs6t891~EPfp_{7S%yT>L^Mj`U$hiS(~zA6}tPv{=Xvj@tt& z4HSXKGiu2tDOa^=vzrr@W+aP0|LUw1s_eMKBC(UIzBd<+%&3Wd?@d13#4zO7!vxMq zgNh2YwmP9-v{@xG($jrlR*a8`LM>!+1d#5;k>gt~WS5NR=N zV#JkrDrj6o)(2TM$__zMaP-$}KjcK)5Ek#ZnAwbgg}>JSGCzWa@qe>0^O9GW{4 zMTdy29UwLsNRvF^PV7y(M1p%I*h-Q-3e|XJ-aO*Vn*Ib%IF`kHYA-aDWjB0b-&$6K z>&5TwavB$hji@fuVl0r+FmM{>TQ&4)dpEuEEak|$q@Cf#XERkm2z^W}xm0Gc>@ep5 z%w@}$vN-|VKdlE`jQ7u5L2Td{yZ#GM8KfF(P&)!X3Wem=@g9vn>-47v1LO zN1J$;^nCnp&mv)?d|OytTADe(@f+dtYFtncDO^KWlcIVv-2ID_IN?q@z=a&jmyrX^7HoG90zLWZ+?d}}SHFUBhxyiW zwx+SAExv=qs@-Pl5b_m)5Pxt*z?u%EhV{2Ux>T;7sq_SK!DFa1Kug~XdJY38cQ;2I zHYoc0KLo+O%XIXO4Z0D)E6PXiN}Gf)Ua51zll(_^rsyd0Sp_$%haxH=HyCi>|*?*pN~{J-Bcst@~Y6xHu3l@2Ogr*b`H8`wx3^YQWF%h(RU zILtvG1?aVXBkjZhO#>sUjC__akjl}le^3Y=3O!;?zib*}*)%QC1C;0!4`^Z3KLbDy z{nKEEJw^x4M5g`RiQQEeckT3h3=kC9?GSeY@2Vz=cWJLM%^lUrLT3b|PykbnZ>#xMFb`GJ0(?K}e@ zL=WI2u68btEB^D$w>>U32dT8VheYiT>|$kPF>P|MzM1+#y&Wvoy7<#X+SmQF5WiID zD=I~g59HRph9eu{UB?>}Q?M+_(MuN0CB?s}oEedFfvYog$+Xl63}0Fc&XTFPOPPbA zuetRtO}mbNr3sVGA25EAlllO;DAEN!mLbp5!_Me;1{2&vU2JV_DdU+|)t&+C;inD7 zM>DpAw%#C#9e!5M8tlflI|ZQZi%Cp&cWdtG)Z)u^(;t5$My|6~o2CWTQJ%2y zwNgQ@zg>BzdJMvo&Im~fonU(|xQD+)Da64bQ)AO~He`}et~#>MpI1$5?HLFB4~`y? z@;UfhOVBNZx)CH7i?J7$f=#89%D&+Uc|&PZ!Tr6yp`k&9`6JSfRTq#CwLCb*+RQr{ zkd&Xsn*g`@GB>aKSmzvRvg;&>Ql*1N(|T(b!b0s92#a;crZV9M4DKzSn}1SEKDMRP zlDB6XikdUxo0&*dwwkrj!sfQZQjql7(tbXz++;>qHF|0?6PBlomiwk3POZL3Q|A(s zyaa~A1vELq=9@N>M*BL}(d-NTIPFYjDT>eE$tl41whxH9OX z4v&tCku!oB?%tn>Z2-7d3G%@GcDK4{RpDTo)BlBNO5`8hGDvV;Sut}qrUTa0l{Ji7 zpqgg&Lxm(#5(o>RTMy5zE%w``c?0=Cl`X4fNIsnb7 z4-wm=o;3hvLLK`aGkkkgNW4oA$g8%y9e2;vhE=k0MbY=+Y(El6V@;myF6C}T zjpO8~o1XXe=3*?&Po@$gskuq#q>&911sU(97yykuJ25LOE9dvoJ4G?;0M%3Hd7|}t5yBQlGdAg+<1nS_{Q)x|k zeB>8_4CqUws|$2%CU@Qt9PD#y|GKiIts65d?08HM_ytkPE9_zM{iCF>O}PBL^{tRV zhBrCh@Abs1;<@#<2(xxM!3S~{&Psmpy@M~G6TD@9_Xs_9bbSS&?c8_Lm5O8A&%%>w zQw*t_XYM?4qbbwm2{3Q(S@AiGK=$vr%6Eny42tgC!!9f#dEBC+6DoFk=#|*=*EYA2 z?8SYZN(LO@`;R>EuDUK`20x56eH6$qhK%T-1d;6lKKMp!hXejacV}~WRs4vNR{(vJ zpCN_1MZzU!ZJoNohX{FLyv({fIx-}^`+~yem5;+09#yt7WCw7vLDzq-$MdA1N5@|) zWp7|YuIahE2jtI+;+HwouG*0RPX=AUP#!hTqv>y+T5L!;9(fY%@X>hlY22VYDalTC zwX@qHAUYc|3~#B|+mn9HD_va0V$B8bUY?0joM)sBG5X9#NTY+F2NO;2vX4E|ia<7$ z^&PIQa`Q-!rMr9MSDYAmiECtL%VdNn$HXQd$X?xC6dDcRzkoj7)OG&?gI?_+$YR~UBnKIkB{eEz7pkv1N8=afX_V!Eki1sJXZT`HYW_j`7w==(VuTTp1H|wAin+pDktJbVhv5(mG`{fSn(a=7|h zH*ECH9>3|3@ywq{Lq;+i&3Gd?io}N+sM%@7H(1X>ac3$YCuwZB`c>oB&}a!lCSApT zeb^qoqdA|jn^XLL}U>@obg03WmIc>DX6=!Y! z%Sd%EflY1l?qi~B0*h^3X;YRbUm$fbzf0Z6VpnD%VZDM?r~gA~(uVog&_jjrk`*Er^-4xa`h_UTA4icCjVY+*{;o32${Id*qeLLHY(+KP8 znSBc(`Hhjr&vb+e-!DEU%RHiS>=s!aiX1vtYU|4fall~)ow8(ciY6?k<=RC9HI^hk zHE%bjAs0~dHr!Sknu^av*dA?oqzo=RoY@HBt3b&zKY5g!`Q5j$O?@FK^M}O`0{G(V zEt@~g#4{8^;zTshBso02gM)%Oc6*~h7wtNmw7Bg39?v2dU{$!!X5zqy6Kf2;R6N5;KQxy~hH|%`z+Rn|*9Y6a`boM*HIl{diu zy;afAl@N*F-m+zdJrWMGkcrUdC0iU@%ZvLDNmLW?C zIsR4<{{NpmrSJk(6OP92OS;S3M*#{8K#y zD)QpR(?`tA9AqQMz!m4Q4(k`K&(XQ41FhQPoYzJtIyg}zeR|vA%oL0l7+&?K1_zps zhX_0UQt^vM_KNTO&!49H`o_i!KRo}yE({y(+qLdLz#$%bTQTMi*c2f4LCTz!~nz1CRfm55?qZ+WGgruQlT!D#;u6S00%6%2jX#HT90 zYBx0}O*f1_){a)@TjRI~?MCIL9V?(6UO@+#$uK1aTJFOP z1wz?!TmiDvM7cco*L?3#f+V77>2Q9b_STp0p|2m^U7xcge^S=;s`^aF5IY#W9<^8* z|C%W8rJ%(6_jv}EL!4N;g2%7DXu>QWRKNbY^SWv$Sxd8@O-1>1M5W9kxY}WR;BC!2 zIZwu}9gz?C3J?1_MS$0v+^iW;`$$o>mGCYN_Gucz$B<8Q+9c3u2I(9UJeIjRHcErm z{1*~an-u@QLoHD{NF7yzB=&QY3VHqj(VOo6a`50o(U}DPPzDyZ~ttn@BcgIapb~^h9x*gJ?5rM zuJ;eCG6@H~FPczD-7%NY1P+0O$NotCg!3cAUNtxAZ>gqKXGe8cbJK}39X@fB;^r$01?WA;AlLO zMB>o}G9yf#v!Ypduxrc0k@W4$RBxqdLL9T~_&zR0@D;w5op0+b6070}+weQ=@ERog zO2;ztLqt{1*khr}IQpSA?BS2kFB&^_+IV#$bzbn|-hWEv%wL&4{Y|+#l{c;-J=TPR zNI)cUZ9&C`Q9~mkZl`m-#qWryx5u|zkrn|_>|2heJ+Zs=48&!Q!W_pBlgp2?!j?pl zmp~=;kkX!rN%ymefc{1g=yR4gDEVMT|KT}PWgnWXm&{RQ3LN-E-#(^%Q4Viq$`nub zbkhCMTR1FchdLnDkSUK9cO^Lby*&0C-46keHIU94D1GdhwAf5up^nL%DD3d!ePkD< zD~GI15h&(cz3-IFCm!JYrX?D$Nmu~;qeRWEDgV@ov~uQJ&i998i8LU5hrO+jx!9pPN?)h zzGLRQ_|zhS$F8@`{}cTHL)fT|4P_9`wH722@U8Ohd|nuph@Pf+jK_|)#$x1yd*NdD zd*>Pc-rTG{vXJ&Xo%9n{xJ(7vxFMyl1A^3%qonLkFzh#=XE<2R2?T#_7;g1}KH5b< znX2a#-g*BSvB9{F&kJPqS>&D9_{Tn^^6FW%QHcTjOOi3J8FD7)pRua z?eGWOUjx8rj%vLB!{{^0ydn!eJGgl*Xe_)rk^@98s^9qic8VQj1J@!cH~z@V%PPKj3hv>&&}Cnz z0uQbw-FLW7_gV{q-$Y^st)p*ztROAsNku&*#p_Mkz|I@PS(h)R2S-}2*9c}Myqg{$ z==5jttBnyp#|;Ix^R&SS<7HDikm@K)>@<)9ez9xczwzc0iKs4d6K91_*(3us_owuA z0iL^&02-tw>x4$pTl@=!v|1^+U{#2jax@uw-583|BC6!>#l2Lhsnw0Ep)Ble>_Z*H z)km!G!sIPM%`_097zD2@P4t<)_#$+sj7JK0&h}%a)_U_OK78bKm&`n3i*l-VPQ^w3%l*BP~%gBs-9%*OB2hbfHqP6nX@vQ_kp>}-Q1+5{{X~SI?9R~a4iZ?~wvh;Ce z3XX03m`r5sRy5sO0MW00lDa|>Re;bp`xO|8!;htNV>aQaF8C$@y>aTG8I`uG#|;U) z#QzzI*WqtmNiSoo6_V5@Y%-QRJ3!7(N3jD--A*f8HWzBReH5cKg|~u!p-jzBCq^$q ze>j@IEJM^n)zC5=+EKj56s3Rf$2Ew zBAXk%(HDT60M%l#>y0JY4LVeVrXf3m=~ta5W{fep!{~-kt64qiq%(H!sjhm3}|llzw3P;4vY6_UT+8|WIX5H@*Gt8Wv`V$iTu*%u^VUsvrS`c z+NA}DJ|`V?YrlQrr#|;BB(>t9_EVzHzg&ayFV{RkUoW9~qCj@`?iVbkSjfgkbdVX< z`Vsrk?xi?l_1r~JK-XCb`w2HSPn6Ev{@R4yvqP7M|E4s@5!!#)M<~nG>hzj4+(%?T zHw;5Hg{qQtYs=ojl%)O5*{{i(U`^f~?`_oS&79LraM~AZ!&xE^T-7%&^ksxH1ZTE( zNczvbszARya)z4`M)yiodGUfxsGvY);7Q{FXbGZ!n&AaB{mi`mvpGQ##G~%|{)+mT zyq|gq!;FC|)QW~2^lT;aNcQ@8t@na-Wg@%@lxdp2heJ_{p6`(kCAdl2c$Q!A5fVm4xYb zB)mBEag@o`EC(fK-QVh+dB-Iydj>n>`Oi7X{&5aXkOG#iP`3J0xW}f>#bYtQ!=?PC zlU%LmO48Eia3eOFr>{;BZE;U9UXcasBh9tIZiz-ccWO`Hq~%unil4t9vt^ITezB}|o@(42LXxtd;gUPx4=AHD{@LzXIg!)N|hK=bb({lErh zOLGrNrrB7kjJo3ceUWVb&NNdCAlOKOaNAHAH$!_ZKdsJ9r>F7<-@ePR(|hnAQE2|T zGyjiGn|_A75S)5&nu()+aFaoxkuD-R8jbsTwC>+{Gq8fQSJtate>L}~y5B|~kKh%G z6&Y0|;@92o3^$#Lt<9IuePv2>ZJlN2c}D?4rS>4I&rt(zKD-4TLJaJU2i(911mZBp zh98`KL@QlH#6HCjsRcFtf}M5vp9ouRgLOQVSN44?*VTVNhCX7wWlMW4Y2TvT9->J0 z!f(;@w2m+~=z#*hE4%VN>~&V6C$+;_@2_9s>5?F4g|!>c%CEFZ2bS~rel3o{5T*sY z<*c(+cQbB08*na4&q6*tsr}K65)JZ$vM7-$VO&m&H&r)G zD(iSZ`yq!#rKm$j)HkH4_>9cvgkA$ji64nE;MY)fXKNoAf*I|!6*9JO_p6{Lcg1mh zrDM^eqv`hC^#)Q}K}0UOcnZ0y?9LkHGjEuwLf=|o#m%=WR|aT>J{CMg39>KSpX`q1 zx#k^SeL(~Yu>zx;^%?R!N#iwZ-9YSGq4cenW3w zx?#z`nq3Q#%()m}jV)lX#J|Tp%(K}MyqZ@J7P=o%-!dV%RDUOv^U}B637YqbreQdN zBIVw%JM4b(?WOuCOv<`AGJ<4CHC?AgM_|@12e+or<*g^x#}s@WYwP~={yoCv(3PaR zA8bM;jLI{A__?<8y~e4So4-bs{s2!+an;-_am#H?RusBv<3ki=s8v)c?jCb*%ULgq zxR_Xbav+6$I)GORG-$oEgs(1r9gXGo$Doneg>kAljajQhq-!o473NzV2ZtK0Ci*`) zCO^uaKYZf*1Z*#yd&2d5Xb!#0o_}`_wOi@17Yq}xB{uH3?o1zhI=-AQ3AAAD0 zx%uAm2!~l&&Xni0>#rSBqyIq*ZHMq|CaYi};*GIba*YA7XA`=csK0Bx-dlmjM%=Js zb)4X#CKfAe_yQvN&cO=5mf1;0EMN1~#S6NGX^&PgPnjau@EjhLO29viRg_vbi;>!# zg(VC%GrkRGRTa$HBp{|m5BAX*d;&(J{f>%2=l`+w)&Ws=UEk;sBGM@xBGTO{9n#$} zAc9DD4xywp(kX&;cMn}d3(^fkhYUI78Sndfzw{b*t+Nz}ui9vU;-PhW^2@0BO>wBJVQdPKo{Wk1SV6=L(IxZBg zUP`mE56&3H8_hyTN9U`%S+TyzC*{AKjdz1gjzotPKmW=GQ}sv|JdMx!LDM8<`a>(R zC(lGaC~0lIqbcwCwiKjYCK)?+g8N&;draM5s}T{+<-b02L^2i34UzQZeqxlAAz*zc z@RmujlIQ--59iBl^K;atNqv~!_EI}_9Qq^GpBMJi z_GWqZWl~N0%uTBJ_%7T9D5gZ3N=*r;5vV>(Dxg;`s2PHI@g`QJy0Wse7o~m1-6Jj` zb&4q(G`Q%S*NSwZkz#v{X1|O0C7kNB<9y`?3VRR7&eMROi}*6VDzM9($j$|a5kjZ^ zEA;6Q$?`rO-X4-9GEqj~94v@To){k=pNjcR?~iY}Gj${Z`R<3#yol53_lyaq-_Nq$ zo8NxXt$Y8asAh~)xLqu*IP{rui$i2Y#32*aUS5ROZ5)VkUOKUyLTCBlY>cZkA|hf> z;cL^Esn9kMYs{ob75W#6ub{YT<+Wkjd1Z-HbvoeD{8tcS%`@C29CuAwW(3g|F(Y6K z&*75@?w5cgSi=joe>M5I%;@Jey2M8s;&Ok|A{a}QtfE`sDY>H2PhxJdj@dOTXl{Kt zii&uva2l1(@Jf^W(yM0ldr>o|7y?v3x2qw8H zPxUj|q&LLxm|?56c_@^maiDL=hh>w`{8Y0Pn0D$jrha#q) z>>&~WAh(}3QzI+RgOJtQ)~Mu7x;D!TuOd)KBh{QKEDqDNOHCvBkVUFdzOFG~p=5$cd>q7AJIZlB_1jn%+vtr4Qs1K#ajapKu&lSQOgC~C|N|}^S z_ID5eE_nJbEUMc+yybmzPpq<&TR31Se29D=v+F4ygUs)8patX7An_ z)=a7heueeaZHxn`9<>vVdaV_i0&=@uq6W}*;wu3~l)*81q{I{8z_;Q7UJtOnO;;YH zvsxLVNKQbA(UKu$f>!-DCLq45uj7{$%(VF6vS?bpXs`-5a8wyr6gBS#Su(dFyC0vq zUj;0W2Z+x{jMId%J7%7Gi&d5$tUuV>9p1ZY#p>zn$E=ZFm;uo18|#GV3etv20JI8U z{R$GdjrkCxrA^hpPgny3#s%dIwkg6_F##5{o-Y-CB06;d>d}Rz_a}1ec9x1uply`Oh50aE`xT$yC}+VPw{(#7=DfByTi*{C3-_M%>f9|#fR?l3cVImb?OzT2_fSqM#x?mw(D$sP z(W?nZ20JT5C2%(r7*Kuxk7B0i9e8>P0oX_8eG0ske}`@VuVIre z=MRY>!6MGa>xorGu*Gl(pnB#%V>S@pQNAfl)bHZ0R;QX#P5+YuU3OX})k>4ze}2Fk zUxjt)YyW!-P68SPYY%XmN`nh>%#hj(y~|lo3Jfse01)vBOP5&XZHtQB&0DB|y(9#q zYT%v#z)zzk=GcgMgsd1Dls{%%e{8qCeM|;bRU({|pyHTFK~@nA06bHT)i~H^Z~~Y8 zw)JmMMU1Yk{I9>I7vJOvu3et-9RVdAUh@7mC!!Ubi);u&uNspGz2-O~KhdwjT~)xn z$J1@9YZLbfE5+M86baEu!=3?{Y+OUMCW!i*?l|GASz#7Wm+G*~QN%3M|2@kI@&xF6 z;%U)!@8eP#___`SAlcfGy%~XySTQ$u7+;A!@y%M@UYp4(Xc;@aDbBx>G_mUMN}v8~ zrIDY*UKgTpFle3%$7@Y+=`8!S;X4%o!1G@_wrx>?Wpe`Wg|NeyCgL8hT5il(5z0uP z^^AN?M-K!9ePK{wx^$lwvIC#PZ^u%n9lf6ZSk$eIBXsxAO!x0kV+}LWw}fKXI={)j z!;r#QpnvAU#8IF{pv12BSp`W>QJ>kJiRz2YmW@bpGrB2isv7tU4p{Uw2}jFugbH_V zVwd=SkOmmL`_Fm=F$fbejA^cXofY6`=~e7oqU1eV)FHFv>T>rFWG02;vAp zk_|%V9Cm8p3gh78c6d&Qc>C>x&GmHN%3~%-kOvUt$4L<1hmZe_6Cn9j9${RqcQAG= z9P7G~x`#5FGiNXUBlktBzh+Em$o{W!W4$rRUj zJAS|CBY(T^*@*Z6-}E^k=)Rpg<(V_M^9g#F_|AwK zEDVKuT|r0y^XC6+T6W?!Th;e=jS)X%`oG2bwaLEL-k_bG zec!AEo<1i@oT^r9c#W`5zr&Io)<59Gw+AIq^7>U#PQP|=xmt96zJIa5(N=Xm*t_BT zXAE=o1{pxXj<}5B{R2P2W*k4<3;MT>*_ZvQy+AH5VtzVt2Or4ni0T zH8N>oHRF-+D-{lrH48CbhZRIR<#k9kkPShY-n^GthH21eVGlf;D(_}bgMiG)|NO7B zUQ0^}u#%ILdS!T%SpRw{1P>>b-2rg>3ogwx_{sRCF>JL`FRlr``gXn!kvc((95oT> z$((?$Fzqmn*lB@i{FN-%Wm4F|6lT>&&~ykQ&R6P9|Jl}!lf>g`it0Vrz_6(6M$FvV z++HtY(ghJ1wf?kBfFVt`8+55Mb>R{L&Ig6Z1W^$h@Sa^gu<9^!`|DE>_6%zg<`2q` zqT(NR_(sB01Uup^>&CRf*JV&@=;FmTN2&|&I~JRATh&S_L;qs#jMU0O=UtvVxv+4`_{KJ={?f#=h_R$AHA zy@jX|Tcq~gnOW-4T!dn8R$N-Vy5RKlnj=>r9zeQJ-xYSlQDF#9JNh7?H-^DNP8_MJ z^+m}S|IG}8jT9a|5^$2v=nIJ|bEp72yC$fcg4w`t%i-BsUI23EXJA*{I?12*(GQ*? z3-qGt_8<Gab!5y{y$4J_;5+`R`y+P;q%4kR)N?aZeJF=b`g1U>#j4Q)BTW_>rR< zZ0lDdi?O^5bgm&wMgan_EZv_2ru@wjcAEDlu4MmJm)b;j`gP#we=P zL;ET>>&A7bEptl%-6~%z0>lrPp({|?##GFU0BA3K_lX6OSt7`FjRY4RWnYU`eNNy^ zerH}z7SV;@hSrACgS#ITq5=r4j@e8MhIW7n}00N*K?jh0w-|U8OdP5wMj5{ zX09T4PvnCQrBXWUZ~$X|j#^qPz1yUlUmUi)X5p=lPAp1){4OIa<%^HZ{RGAE<2Dx> zye$rXJ7|vwk^i{c#XpJoGS0WP?1`CAlITa_ds^p7qyXQ)>qR$w`d3+7bilNN_T{LJ?{;eOf{my9trS~R>&nA@AZGUavcxb2r|m*36~Ser>%`t zvKFvnDhVbbNrqzk&dx^4FIzx-I&1^Ib+yTgj@^E(4_$jp#)QbrBJ&27@Hu@^O4>9j zRSnh<5HXK`hKzzg?qokIv3M+R^FlTuDvwl;q!mARfUxFYW4iq--!vVN?u8)*e`h*5bRrk# z{C`$3?}tIC9BPWUGs73EO>+%A)8*HoyyVmVj(KPT8Y4&@lcUUM_=Hga$T@ zRVx$ihrK(D1(?U>dwV6Ad00mSYU@bolf5#CMsVYfeqqZX$GisqRb|b~*hY#e z^a(rn?ZdmbaC(Py!vx{PP=>bAuV{Bg{$#knlV?*y(3m?Aae;nvRq7`1Y) zEE@flSOBRY@_E^*%a8QRcp0Me?j%$8zgJ%%(ZB0m`A$uHq!Of>9@SM}P0e?3jUFMH zDBv8Y@k}aL=V^A)vnNYrL}>UMfqfAUQL0NL9@(eus1&Y<5Sol}a}F|#v^KrI-BjCY z+N2n@M>KLNp~uk){kISM7r#0#;~IA@|Ey?NOTe;EI<7|GWtf`M5ye91RtR4wwcD_1 z!;ksXUMLR+pMLz#keu{3h?3*(6@jlytYePaa(A8R%!?nZSXABL%$bX6MTfG>iz)Eo zxUyiWCJH%C{mfWPIk37gdbAKaQG8~8s_d0@2yPh0=BJ7!Y^;JwUEEWXAj)g9%LjS^ z>u+`?sYa7#rpP>vrAAUxDRz23-AK&IU-)3U@RTJ!OVi!sjM` zy18KdZfe>We^kby0RFp4%L)ny!94t&xoSjwt_Kf+ds1VeIAjwcC`J3hnNHk|??k(VtJti@XR7LqRL(IV)M6b|Y~b=U8d;x;}WnDUk-pm=dqK zABKzS@1o#|Wpe(-Gy_(Jr5Kx#U4B+rLDKhh81VK!Il2EG#VrmM9HSP1O3l;T{Yo;s znlt@blTPs6g8{KtD5zsf4ot=-qWF@11=JEGbRUqfLJ&q2R>pcd7C`ESgl^A?f?jj} zI3dwqnJwaRbp$IomfL6fZ5kL`wEFZI zJw^~)2sS#Y4(wBQ-%5XTeF2xgcpLCIp@2x#k3fd`r#|zJ|vo{VS>id*%1jj zz7DZse}a=SBFI0~wt%v$rx859XPZ$@<)etVRTg$(vM=Gcbo^&`2S@OUlhrhR*-#c> zkN|aX4SDBA9dtW z%Znliz19R~YgI*Lv1$p4HzlDBx5q6$b1gr$KC|h@;G`UrD!pkOXu2L4`8b}H{S`&A z3?y^hSM~Jh0fi)wjU^r`7fn3X2AJM%+kLokyRHJYT6Z*n{LPdE5g$D*n91OeKRirG zq;fh{R*Y5J(b%gh#s8Aa(gEe1s6 z!mT^yF-M<4R(i-7&fWwbwFsqry(<33aFP6NQDcC)d*F9OsrPmOM(^sENa{cnEW?3! z51?;67^0X_Wl_UP6INNcPb$IBrTB{dFly9yiFN#29r{=D#s4Ba?tO>Pc7mG1N3c`i zV|OTKs=!bG&o6zp598wE)IsHp0nOFfwD{^rU4L~t+cV|)nta1YH4^k<=!`ec{Ut}h z12kPwdKR_1(h!txz)#QJoWQ zcrwoIK)I?RhA`;|1bGCPzLG5_Iz606G3nbC(zOv|XFq>5YC%tYp)U#0`?Mo*4&}Pu zWiE1jDe&HbZq3VMr|k7wfgPqK_=iN;W{eZZ)6MiEqJ#9#qNr2$Vum`wcfP5oi0mcn zhmlMMzFEgn#Z23muYo|Pm;wEX4ma5LLONrzfJ(s6dhynBo-VdFjh9J^*aHL9yy;aT z8%d3dWK1%>Z$>S5x<^ZusF>zftNIX7N#gVbdfFLFwgawY&|r>M)WWT@1kwu2hcaM1 zY8&s@zK&NYuQ^^)H+g{jdB$JS0r%BMSHSQdQO1v){zAi6Sx+@yjuI|9E|d~kyl%1M zY!tOUC$9LO*tsV4+#0nZfbJ0K2qhHMX$I9y+5z$}?r+dC!ZbKG=xRv0jr#1$n|`v$ zV>5&ao^>k_Zq>a#jCu;{TodLM6+L>^zEQec#~zw3-YLxMXE2Bh47dx|97%qphTaXP z5{wv5(!zy|;5$IEb}kMEj2ybLr^tFtlY0^lNABG_&+Bt-ZO%Bku_PG3YKebT)JSC6 z%klQdsgbf*m)Pl-JPK!3wlY7bZ1~7y)_;3SspJ(G$0s=zo*}rkNojnKYQ}4{ z+`-{VTGYn}%)r-O$Y*up_=yi^?z$%iobbdkDwr6TUq>_yex1@{>i_QH#&(xa-v@{P zxUWuvwl+JiGj;3ZmlE4JbAqX9%h0;Vl-h51d^zVuSm*k3fw*Q#v7tFJBFmo`YK<|cnLQ62CazWU(v`nBV?0t}WcBzxZ z`EBN0;vR@Mi8DM??ZNi1Y4WFtVE@N7oFjRlLxFG_ziJ0IJqSKDtyYA&v`andoU7oB zANljQ*~%Tq#PsMpEPTd6hBoujS1c|@gPd81)G4aCYz@rUGrVzG zR%x2MWb_KXpJfW-_CfwKc!4>*GK+N4q_zX{&LwpY4Pwzfyj1~b%Fa7z15?K-{cRJM z;#c#MzZ!*+v>?|qI^bTy(>H_-1qI8ttkN4r^>T`X=1^tez|%bF_F=sgI)b1MS2rJ@WA*qD zJ&lrj|B$(+NEWcu^Ztt))z&?Qza3IL#a05glRNM36Xajp8DbMAa|UHotx|`N;~Z)x z;w!*68Bl`8iqt#=&3xSse#q_FEk6?mUrY^mYZ#zUUptTm~$RL5dvn^uLEwo$C_&37bV||Z{dBiY;4D!t{5k;no3X?fM^)v|9ZG@&xX#$Gq0nr#=oSM?+YfM!@yny)VQ_% zVPmkWLE>@mlAZ}ja(YKcP!;Il-AGe@*3p;?S;C;(;DB8C;-N-bC4)<9=m;l1l-5$i zsFNBAG+X@cAjd0aI^Zvqxcrl^t6&8Y*B}^%7*CuAcErkN;VHwZW0~d z4vv;qt_4;vzku}2g<6dRC~cJ<+L8h5bjzi@U%FUn%4b;DNp9U-ZQS+hXxl5D_RP{IaPuVt<;o$4&g0bW3*sIGE)o=}9*6*bQiUd{oFTCTl0O*Kl zV+u=82xiwgNi49)Rd3v-MZr$PL{)7-klJbG@UYF>w_{e1vH$XY(aCeDsNmfFtP$PI zC}f+Ds;I8r6%=zh_GA>M6jY|l7i=;09*yjCh-y}1C9w~FowY28;^X7Ex4sYOS|?oy zH2s#~JviF3v9aUnK3)kcI5C1o{E-Q1!=YsB#J#L=H@-Pbs%l%&i>uA{cL|Ar2eax| zQjX4{`_KrZIm$hWr7O#0tHUwKmpfqH$39ZiEc2dktFra&$dQcL+C=Qx-n_?k&q9>9 zF1FSiRJ`muZL)$>k%>c)X*$c0;2-&Eh_FBstc)$veW4Ze=TSC3wnmpykcZSmyL67t3AN|Fh&q@+Fd99<*WXeaV12>@&F`>&MG+1k1-R!ASOq(x zie9q8BVsOljg8Y(?=eA+6$_pI zP{{F8o4|5eAFudJUo;eVbx*Df- zZsJvbg_QfToyJI%{sc;&{Qc3i6IXIQrSXQ;B0QOMLPX?Tbv+jLg-C)Y-~RpKNa1g^ zoY{diGIZXkvybS?G^USNP;Pv5uECwD{P$TA%)qZ!LtZGW$<7w`s${@ym^j&ty5wVe zqAI?$o4rN(Wb$R_=f8(6KB!$`k`o!znnF?Gsw&=Vj~WXRMX2AC3M0Z%NKe{B7%lP89kmoz}?F|b0YZ@%WXAn zi`W7fGq9<($*${NZ6T&uWWY$papMIMSiw7Xq-#nD+3uqr<6})k?s$MHFJxUYcy%=E z9BB}%x_n$8Tc=280jnFeCWMmxXY5W$A?q4#o(Z4S{a4^J@1|g%>}+jTdJ7$yZQ0ak zn~Cjy(bHuk8+6PU#63lifQ_qU42mUQ&1J`0t`69*w>LX#avo`; z;MbMXma&IrbCm;rGAEzsUOL$)r%x1$N>GYFNu0^1_sF?>Vo*D`=Ux){ie&2215Je4 zywu4>ApDK#Vyz`t#$MI!LcZEY8O1dv90&E7TAcwBmuSu^v1a7uRZjjE@)Y3x2bJe& zL!U$5IoA{XE*aelF;E3x`yY;c)OYEk8Om^s%7MG(4D~wEoUFYF`4)-{tyTV06D=Q;i~QO~MtQ2~0d#&Y)yM=b)ZeV}Z5(Rzp|7>{T|T#c zV@W26G*0XJa}1BimQJ_Qlyp3AQD&3ZZP#D-gnDD`n3LM3L0N!v_^=s1q-AbhKN3ig z%nQ1~GM^HMAQF7NR{dk9L+vs!pzSNSMV2fcGp@))ein&Ga;x9AjuL8Q@=8lliR}Sp z_H9)2;2XBhJ%6=akqe`UYnAV-i@wf_IDQpb%*sD({RRuTh}J)HZ}}baqr*KpVp<`B z?9jVcOlv!hmkmY*pq3XE6!G6`MHJDRI2q;$NMTf&C$^vLC`il1e}c04jp>q4?ZT6) z(rphlI{h7+JAF{I>T;>gKB6fzPtY!ZXhV6$XzR8-qhX1(0drQx4oEpD3c_^{pJif8 z!0Bek4tmxllUrU*wS|dmJ#gRc@F9>|>_<_g@B~#vXe2*2KeiCDtkADi;pX6$rM4yi zZw_rdsHXH?aIN%qwGJaymFY2D8vHF(tuc=ii6_=}_Ko%3{QS~{Do-#Y$}Se|6P8bM)ej2Mdj$?@ ze#Yl6xoGS1(XwyD&AE-=b*>g=zI=SWU7x0m}uZG4m7tq#nyczWx;+(;9*JnF$;*=$&B(OiuL>PYNo!1Quhs6QNJlGcsCStU^?L-e`fNTOilzAAxq) ztiTcmVV1RXPV?7ma?azjSIZjB)WmWu8nFiJnhpTQ$Q}K~1!tdUIp?nG^?44mZe{iy zd5sv)q?%Z1rY3{7@G+CC9oitNXcV5wF!A~0P+k34D_Dz`u^KVPrnbh$QnvdNn>HH; zqZdtiIhO88PbICkn0ifYRQ8fxB9>SMbAEY$(|UQ1vAS4L&-F(Qunew%X@!GEj6`g> zqzSw7iUo^#PUmOjk7`H;Zf5I`@jOicld}V7p|0j>v!!TvK_~Hc{C77oFM(;tAi1o6GmLM=YuJs&5~9Kalu@O*qH?~D zS+H#1c#e_TW0P0%1H_ZV+v5_aNwBvkye7^o{%b+FI!%TC{qG*+C?9pXP_|M%suTfd zJ)~0GyJV*qVW8bx>*uQ!6&%pmt5nQcZE&0tbOb3y3yiO_;~6VC>cyUJlD%iUZ*K=A zjgrf+mVf8~nL_Utb}XPHsbUX>7)})tc$c`Pu$Z{(E+G>Mx&J zoSX_f6eeF2roO$s^6l~Tl(PwdmVxJHTtoE0lliU36;%jA0sX`H(-#Eh)<_5&v93Lh z{_|MCA4T|7@AFebXTvYPOITWe8Xg4h`wMY{xE&iGz&r)(v#x>XkAKLK6?pmIJa}=w z#fDsOgvv7SR;wxl|L6YD`tSYW0W;}zf1qr5O4ilGf8*dX^z!$InN7CPPe$z?ey5?8 zm6ZwIq0s&s)VMqq)~M9}!wIL;{v%k zOyw0)d3N**95p$qVBLy}ijSYOf4?#JU?ht&dYKvzYWSM_dG>^YcL~wRdwP0ni&t4x z^rKhGKoMi%;Do$SAAcymp2Yd$_WF8H-;Hf8QRvGvmMG`u20uR#d0JYULE1e2vJTff zp=EB~7z(`NNo_}=OwF7xS*3?5qCg`ml&6JBbI}Ij)#l%=4~wgqtgNhwiG+l%B$$|( zBOjxb*M(mYQCJU-ZV#cW*!#OMqD5jxvq~prj9G#3;h|RjZH#*IXlQ6TfsfGCA~UnF zLJA?L;GFE7oQ3`Uh(Xcy5H=2um^WSTON*A`ryQoaT#nYa`z~$?j*K;W`RIwZc%k*> zm-kpf>I!*81Q1O%=Y+lqr%m!tpY~5r-BUh);5Lfg?b8HXn_h2YP?F40Ck{gC=01>x zfPj04c4nw$cHyopYotuTJ_Ku}U~7ix5?boF;qCbg^m-2)8WWYiO`oKyL>Lr9yJy?4 zsrzk)LYJ`H=Ex1QNkmwN*<=;zXSt`=&ZQ*{!rD;u;jlJnM|^(=498xyOSPjUttv=; z=la@f_w&li!vo4EM>`e=MrhPxQ!TPQO_w4dJorz)L~=5J$6aml^9&%EYaws)6HimiTS<@pp4*#via$XSK{6ph=tH*tWB1>%$ml7ytZ2|H49mkXKAhOdRmE zxeS$w;7&i)F2&pt_gFejt+R{&kbTi3kK=sR87(OOk&gl%fdN^HBGcx?6pwakmwG{Og8+utt#{ zfcG3lQ6KD(14}MgRs$ng%}m238HI^p$uWL`mZ$db$(gsf%$Tyt7vEPDR1hiK+2AjR z#-|jjP7A!L)}f>Mf#7>We&HUxIAhxPlaJNnM+oj$Nza&wE)KN&$Yxgq6cPfJtmTzeB^n4_)$c~7QelQ}zOJccTH!vnnKQLQ> zJ9;3P)9YNLmxEgB{`R3}AB%sesTlm2rWf{m12dD?RGpR3hSUG+THr()vC%WCKhB4c z)wS+sDQQZOq4UTxCvUfjcBN3SorD2=Q_Rws%K0Y$wF>-7&AWFa>;&tL(YpwVb!)(* zLy1Q0Jg9^q0n``e0n^$UDCU!X&lQeE9!#{Y+*708>;%9a_lSKR8{2}kFYt{1G2+~T1IiTFdut(6;j&?2T&uu$Rj|eYMt>P?+&RGsg7p_SkXzNPUYqjlT z9$Wgo6!-WS*c-;~B&SeJ2==LxcYv=#Vq)G~qIC<>2EikE;3}_plH<%H z3R_3V0d(g&1vjG=GUhc(0+_uAxR)8r-}UHPb&^Bt#jO2`fwAW;(s_6V=PKHg;7NMD zR*PgmqO>K3pb^^<yGyql{!j zJ4O%HZEQFcbc#)w>399Jj0~}LbI~x|C(MjZovR^=k~*wAoVYwts)Ok3EzXLro$&~} zVu9|i@|%pO=N)BE-ukw`_Tp*-!JuCS-66|&{9W<4KI`3g+6Bzd0+2cIcz>#j;l;^ zfkypq+Zm(GYS8L6T}U@|^s$Pv>60iA$o4IhnB?GYbCYq1fZaLeM>a zVc}$Cbky6&SkYUD>?AB7WN0PIeU(gdvW#xg2{DLF8|Ji|Tj^!SfM3nkqOxcjCBdlv zASgsDR2aCR6iaEi%^lfay~W5beOu1>>)2X(s>zJwm^A7{5%D_#1MbjWT^8B+KeV#`1RPl6n0gU!alCGnG z?|}kmhj~*rbT3cq7+(sn;VvAUa*~JeYJ)M1pk<5;5*q09FBeCMP*2OYhLT)$*&FW1 z|0qUqx|Q`xV6fgj<_xVk2-J~y>a)T1$qn7H^kE#5pQ8O7s@($SsY)Xx;%`O=xT?W8af-7z>V(>Q~QTYuks zh@{#&T)Ad^LsVa)LbrP1lKSZ4Cr=nm9isn=W$j5g59Xi7AuadFAE^xv^_t=6s1@

    L{-~khm0HNW-uC6(cgzoy24QUhvj5*`GBJmijkBx` zSLgF$bTtZ{Gz_i0(TS)~vnWEu(M6gY^gH=jR9KpNtnbAA%pJ6pSIOF{x48hi+fAJ~#$WG#f^#J?8;`Ujdzu)w~O&U3Yrxd$(77 z=kE$8$9`Amdbr`iMj5FgOIpb&lE@s6vdJ{{`_L79zjLcWlTMq*n<4#)J&05na#7iJ z$k{1IG?3UkL6t0ayLap`s%Xtsy~m=X`-hbWtUVHLJPiNLg)&Aex_DrVzGi#4x;Q^_ zcqsFj^Y!ZonZsmO&gJ3?=@PE*O4yT42p%ovf&=pqdyi%}YsVL(9Nx6)EoTk%*&&&Y z-q!DXmV7Bd=Or)N29llf?Q(Wl4RI9`zrw?2UzacCvuaPhWn~83iwHztEs}vfE`}`Q zRs&GZACZ7g@xD|k_@y}Nt@)bhS86(p?Fl&x<)vCRHOvP-&9OC3QvsLN4@!PEojMEg zoW4}Fowp)uMe(P@?@$+>GNH+*;&oS?*zJ|;wnQ6dOdU+KSqAF^sYz8vMn6H^1p46d z>7=Uu##+j+%?bSaLtnMNs2?dsfmZ*`C&&yNTk(D-AM^D zB}Lc2{ZYxdzQIG3s%Nb+8WU(>zSajo-kpl?DyZ&nXpQ!J5jHR@)oT(VH(ldV-PgL_ z)djN<%lQ*_7v^Y+c6Cw^zid9qdO5qkq5oYK>1tdhZI#QmD+a5N;4F@W>zDnm%d1(!E- zjM1gGuGHp#nC;fvukr?ixi5+9%Xx7M-b?y8K}10dZ*RKknAenoB2ZgRUme`ny?*^F zLcr#yuW9oAXaBY@Iwf)*$X_RPBKYN+xvr}H{|w~4_>H3^16_@ak61m?oFqJIo$>Jc z{nV385)f3B80?nqWH|j&5RAk}ikem3xW|(g!6>rg$aun0^c!wZ0W|G|?|k43E!nc~ z{y>^A%lBK}hP0r&B-3dXt52|IW|Y#hg?8jeQc6iUB@ehoE4hcfp!Va8P;o{y#L5Pd_kXm@v6WI`zt zPu4W|atSS0pXY(QX*X4sYVn5BnP)y#5|m@+bP_Z@oy9K(_<&0O9BOruHEV@6Ba0a( z_MJOK>XPtMh>lACdsySphqSSYLXE6^kU9pC9n6*{>-^?(Hl5(wLR|>#Lszm>0gMyU zv_FF&NtXtjmLZ-|pInecbH+Pwlt~e!DzEH&A~Q4*y`AfesrvlVOy(e&+rM4;Es+En znFbh(r{S3C;^EuRQ-7^W!0RSNe`;~RMRdNOe)}V`-;dR+;Y(NPCk49{#PVGtA?o_U ze7Wy$@7BDo&ujo6LD;cZy_QBa_dgF&NP$diMy_B<%ix)3*Yv1%EF4|FR5lg-f5UFv zamLA&4!Sgx+$V~ijX=Ai#JsySQ+3So+RR^x)%JduvzLP1x1@A%bLW@oes6-fRk56$ z*3#u-P-3-W3j`&pUh`Uu&s0$F)>nKkIi#X@bgI}Ae}0Ot=Mewy%vp*iP8KZ%1xW!D z`EKlr>qLi?x=&eCot>r(4@@gPP68qM&OWyA$5%dTATbd#=Q$?|+GYH?`s@ODZwigt zb%icrLCc7>!B2ia5t**|Z>AHEOm;G?bl?4@K(Sh;?-asEt}_14+|UdTVY)Dnd3GP% zTpSA1C1M61ob!{S-o}Nh=z#w{GSbnJoZ8+=+snQi?$-myXn^sD@Dz5JzZB`Q21~oh z;Wr&K^pDh5+c{H@KjXb*H;`moT(%E9oDM*IW+QdY*ESm#cK^rTNUjAZcdwR~V_XeR zj^)*P>uGB%Y+1<3u}K@(^R@v8P4o||#s|5XsDryv2}KG=OQ+Mt9g z7aEn6?=Y`*_4V9X_q;%!lC|bd40(*=rhA<(>Mh=k?PV@E>7^*;qgsU0%xi5EXRCEYvgDbWy%L*BlBB*$ zJS&1I7r=fY7s0u6M5DWJVpSQW;qOIOZIs@sSY>z``MYRQjb zP*4pC?9Nr3d=mF{@s?F^#2BeK8_C?B|9Wxs$fsZF4e74p zgtMOOX*FUH~{FY9PcZig=v&@U5l1lRV-mm z%OydRX2QuVY&$<=iw&s45~r6)sv;y?`w=!Sn>Xk{)94kqei1gsJ-GQYk}8FpJR`!; zdqsKUl0vyd1X7eroIzE}dHm-1s*Hxsc0m<=7k!NmT4oLLl0*baNIg~r;;CZ`Ix+m3 zDTn4f1ZMgb2kc?lt*u1pf&9YHE=vZ|v`C)GnFRl`%;YW3V}Kct8UfKqkTU%JZNE2l z07k?xF}KV^^s{xrW~2(Z1wighxn(uN>QC5sEJHmwDyrChKisgp@~SFvd^0sW|4{Kc zn88n|aIl3H;k9=Kp_I7J!b)qiAMNdLq<2!`^H+j@%XSsvj$F{C74eTgD77T??DEx(0*mqF3z0vvnQw^Y z8+y@Olw+jw>Z#rzG=>zJsnwn9>(Ek5zabX(Fe)^oGCoC*p4lI|dha4UR;6bopNof5 z(o-=eFCNWV#Jp$FnOrE^R8vGA9Pn&o=kNt@QWc_OK(c$tt0d2Xvymd7-1p&WFFE%8 z-YPUuNG-ej>-v21`4l^?4W?iCf0%j;uPDQ=Yg{D-DJkia28Zr$X;4CH2nnf?t{Vj@ zX^@l#MI;BQA#V&~=#T~(lmSFyV8{W%-#p*@yx;fx17@vzt+~!Qd+&2ydq4io2~w`_ zn9YoA$nA!@JZqz}a!Yp0fo;{1cr`n8W_JRY{V)}2mTb>^P+RZ4%|e&Nfxn$T*Y6l@ z-T%C$jT3V)`k;aPVP5?Vp@0#6gWY&}CSm&(L)yh?cx$Yx@@W%e=?&w$or5vN{JXfT zrttIz$KJrO4TBy^w#aj3^;oi(_>>sqhq%qg1?Ml0H6)c2FCZzf*LXnaJ$HG>{N(nA zu&4m)dnX_`7ZwsGu{(hFk;Y}iiwZ~t5=U&koq!#B=>b-xT&k{gX8(Wj!E!=2Eye15a6~s8u5$!Q_qG za>5(6j$Zi#HF6evdnEIXd)B45U(&asF{a%pb)3W!tmD#SEqi}`>Us>=DjY|WU zhsngzQdKv@QDm#(xvfjBvKa*1V@&4-32TW}zg+uHI8fe@O~-_q-;xy#x2W{uUJ0LB zQZ^n(ys;2k5Zv@Kl}Pp~d$uI=@oU$h3*Ux;4_khu#G934+<~#l#N-rDdi&s~VB&0u zG2MtMcwLeL$8+$Xh-I@E^@ztcnN3wZ3-M|Zed)Uw$o2$E(X5K@8ZufthCYq9#V=01 z7vDno;&dq4>DIG1vo)o&Veco>V$2?c|3aR(BoCjJcmAiEGSC9%U`{BN^5Tz39?6Ex zb#DDvmLlOf_=Jl0VuigF^TpZN9CQvO@7wulAI@6p{|&6|{|+o7OYlz-b}xT7?B$dT zUz|AwW~+B)NvW#Unwh1(K{FPZ*C{&={ll2Np5}J>TQS+~15jA7rf|AB82@+uJrGB$ zHxVK)Vc;G1M`2)pBK3#0PjbRfpt^x^E>{=|5BYF*_@NGKBqOz~YCRe+Zp>jDZ=&?p z2(@XL601=zC#`6TL?C3xvthl9hFs8S~L5&s7QXkRaHyKZ# z7qqU_RJka!0KLxbMX~}}boC00;3JWR7vYDrZ}J;bs|#I@%D0YMjO<<<_NzA=e;EA! z6SNEb-Llcho>qUUi=QabH;A?j&RM>`Bj<~IBcuCPb=cz|r&@Ntcmb|d?G`8*VH#~X zoR@O6I;W<~p`XsB(Q)>59%>E-7~&Y7pmeOByYh&q$6NPC5a*&|nkbI_j>mnO#kd^I zhOP9m?HO2$qQ{^TjOp}60VZe-ZzF!L@#jsRHe7>}5Xz)9kQ^u0Btm5yqZ&FL%F#nI zxR?z;RH4EZP-BZ_jI#(u|`9#Rs6{$l~7Q#z^~M4n%D{FW=2?o%MX*8y=~%rcwn=-Mef1 z_I2kKT^~L_r}`CFQO;2gLm3Bq2*u}f9rN%K6{||-1LHo{ajP7>1?hq1Bpd5DV#@oN zKQ~sxkZOMkY*Tt#v$3Qbjq`)}WcHdI`45E@|^SRejrRhd) zREeZ=j9j5PtwIe(`)b^=)qSi-=*!R)ftrAIDBaocfvxCR}Y=QiuZ zR#Msbh_5Bs?1ypXH!?U|08!`~lQ z+!lulTY<&fDdpAG+wSIIM6GXEu@;+rj^yCxa7b!4rmsC+5T(Z1*@Dlmi^5mTAmh?! z?9-3N)SQurw>9?NY1q)2F0Q*`67-3ubI)kdm2@z9Uhg5MTMH|uO)hocGOI^~fBGv4 z!2#DwSBW0xVc7(Q*^t_wY!?&+IeX9lT#Q9$Fwj7Kc(P$ac!t4?<@+eInsh8L8LlL} z1=Q~|!n?)DHzHp3F0|Gi;Wfa9^i+A-9f9>^cReCdZU-m_6369R^aO+-iZ7f0P7U>1 zF?NG9z>+&ix_oYk_MH%x`%9$$P++(Bfdg(sGO7 zW;St3XM}_)$j))SDk-V#_ig>9Xt3!9zM}YZ;Fc!CA<`@J8LQRWN(BP_{8k`YYUaZq z7^;+{-W!!(aysi@&Pe#&bPh?-KvnO*i=C@r3Z@zUOzaqwtqWW1_VKZJ0Rt%YEcKX< zx$uKk4F0VYL4t- z&*xGxNmZ5|t&G?+9T!P(+@)2?*8B{t7Ht7T&a#`w)G%l``Ms6OT11SY=}a z?N)dtanBrVYk2(a^wgGzcps=vbt69_Jyl!2RqN%N>dPm#b1rOOMJdy5KV4M5Pqnr_ zEL&i0-N#h_rY8C-=5>*@QG7b zNdBQWG{pI;$fi~gtM!uDRK;1Rny7%rI&6C*SEqaFE?xpySplG4xM zqTPWAqtBtH9MEwR7g%g;P7S{F1Em63=WL^&G?=23_i`WAYgQ9(7W2GIufv{hOK2Cz&O^= z1%2#N=PgQA*3d!g0~Q}1Qco!=W`W|m4wrNrmt>W|Lw3n;ALu>q%CWvcwj^81<(%|A7 z$)$!mp8fqt>B~;$wSV58iJA|S*?d!>F!h?8B#imm0r%f868DTKsi|4_>gu|Dve7l1 z4XJDn8%ETY0qT}G4KWs8vJ5I*$$G1a8Q4G0*h6`fAOGAi@ZhaH!{g_qeFWK%&QDIj zqqyC$!ul<2@^XM34x5iTn0?Y0L2*M;a)6SJ@=TW?o5t(1`CCYi{Z zjXi{-a;seRHU&5%k&XGgGOnEd+SZo)NudK_y z&A0yXDAUo)x5eRxt;n#4jzzG`f<1$F5;f`ww(FZs2@}csOo1hDUMtZtmUI7Oa1X=@ zJ+oZs!QYZNKTSr!P@qBut^T&Or70M0N8p+Rf0#j+jVU!??b}}dA6}!S^WdIz|gY=JskH};tj{OVT2d`aEKJTc~LK~Y%7E?nQVBTIiY-afY8?zH2IqOe1qJ? zYm(tM^rzj1?K3~F-K9*ON{<)2`UcVkYy~XA_(wg4xbUv;0bKM0qjTQbtdaMtiZ zmpkkEK&wq15m6C3@L3z5Mtxh~9G_x*d_|#~&1kN(AG=_kSih5nPpYYoXDbBX3S$JJ z&E*Ph@fWf8FJRR}dD)n5o|Rt|PN0C$(1LY=i?CR;{J6h~`9*7Gl zy9;%tZzp(h$7zYCW!lW#Lc?k2RtNqYca^DJTRM(gc^x=6A`<6%c1im*#i})ocj7m9 z^UD7Tw$x?cYyez+B-%Erqtk|-SZ>zx9)~YmE{tcxi4l!kIglfNmdxDGbyO4g^TvX( zZ?3TXuo<%BE@#V7*Ra>wc(d-3DuDi_IrvHRJj{KfFJ*o&_)H}B^XBeoD$BM!>h?x* zcUqk_E{)L~G{iY9*?K+GiBhft7W1?!%rX!?y@kb2sgDRKiWr+#NH|QZAnXR|1FEI! zJ6{sM-#1Opflp;W0xxw$89(oRJiR)Y^%~rhHhDbTSO?EcFM?{09jg@WiT}db+*}R- zvC?yNET|fOp%kdYa!=boaeUTe1Ar;62k7^nY~VT0U?>^D5aH97Cl8M_9%eM1CWG@Q zeBaS&S4ho<9E8g7yKU+$6yL;tpAje-C#kM;c-x5!mta(Z5u^&L8i^;KiGI9ht`fWy zlUB4wo@?NU=ULMP%zF)S+>IQG5AZlyR~}k!l!4SFk2M2bsNq=pN8h{+355SpNAK`|R%)v;rV+C{$TvR%&HY~765cTw_zksr_rR7Al z*6r!B%a4Mlzrs5cg;BQnSX(2w8ro{u%Fg>$nVzH3VEpF3SslaI)JJUSVZ_{1r{Vd< zVh0JUrfdwaK5qPS&kiS1&0SOh;G0t-9&!=W$}F~H?bn7G)o^p+=FdybMt{q&4^OkC zRIwBkez${tBdn*;;^Vn4sf^2Dx~6Bm^7r)35Z|e7JAXAkR9^n@tnX_(mB9wq-0)}a zoN|FRsCc7E@?q}fhLjC@k*MupEVW z`J#V9Rn)$U^3YRtQ}4Xa*h>=&Fc&{hJ$MP3o_RkIghsRPNoWg$V=GsuikN!qZ4G<-;<^SSzTdKnr4hcw zznI)58-ToE&{ir7+wb`0hBGLMzmzWs&2wqGY0fZ=_#OKQKaOeMgh&OxODrla8Bh27 zm38IT82!ludi0x8hB^k%={W>Y|C*STw+^V2+1N{xO*3Dnzd9TfhF0o7?57OD4D1uT z6Ys@r6LnDL`AyRfGyYR=VaSH_!GWU?e>xjBxnHcl{}+mF{uhdATY@heLqf!>=lobd z(-4wPvT~I%X$bN;j&t1^i1OPc|3p`{D;K0=;1j%ASLFMrM(~%GzplM+v0?3Zr5+!* zR?oROTd(5!R$ot_;=)d!AHmDoDAd1yN=lPvwS{g~TM_SN$HN?M+*So}SBXORaC~1f z#T5BE@2#1SULj6^!jY z(Km?~P2bVJ^H&FJiLjNqn2pa2g@kGkxdod(HjZospScnI4K1?GERUAcu}*g*Z)5pBJEEP2x93N4(9%Y#vrYjQHFq zC4dF2m?u(dgmHinTWJQ`dVS#(5sAC6ha4Cj)Kv#DF8T1BdvET)$uT9%ELc8U?IJ%k zaxW;LugZe)AQ=sc%!aJ=qr6cQoS>N)8D4 z7a9?vc(;6n_%Xos?^}3`8ptquXANCTGpO)fh5)y^aC-5{bxFo&al-fx`f^~|Et#k{ zoiQ3tQKAnD%>>>FgdKn*S&zfwhQ&#j#`HoDNA-dTU;U*GcFIwPJf7awmZ+o@*pV3pDU<{KkcM zwhUq1I@rRYk@M{s3T=kw80Y_n~MwvC&i~>xe1w= zZ{t7YW0jeGkflRbP)=xJJirnI(0F56=T+Wq)ZTshQRiK6*K$@-zW%urC>*WEnLBbn zV>W6p5Nkn?MAWoK?!`rqvg5kPMcO9Z#pfbs$B~FkKE-wpjvn6-PA%|~-9&8u^QJ-+ zAgd%O6}UI^8^P(>+5=fpFxC;ol^WXiuUl~v_#UJEvp)C< zuz}3v(M@BO_kS>opJIO0uC9#ffPp7CYs`(hGu&3UYGb4)vHLJ2HNC%RyySE{E^t|h z2MU-?7A99@hYR8E>i#q!B^hkSAEtF(zVG{1pL|+?xYnN{sZ-~iJWydC6lo^h;y#K! z6JR+nI7jU03F5-JI}+5vLL#hB)yA?MZXXt!*+|0pl(k1i_VfJSpD}Xujz=j}v#_JL zzJ6!gYkfpMf|rrq?)QP{{Z_v+h-GJl51p0pV|}vTCGnJ>O~>R+2Y2rDDXZCg;<)E> z$58Qn-xFE;=F_%G%R#|jayE@xB3|en_<~8a=pn~%h#V)Q`tiC4u0iViQ<7*P^AQs9 zXEmvQXvk|@32CM7O0V^#yUt#o2ijyzVE5&-W{}P;s}{g7CPA6>)SmQof82Ka(A;4^ zAH^<2xYas|;(+#>F5JS&yaJYA1M~|(+*6Pfl`5vO)!#OR*!@6L*CJD-29nP&HISi` zpJOe=usJp$Ja-gZIdKJ}?3vsv&M%i4>f2FRJ;lrng6~?jQbNd zKPWHKRP=Dv(Y?sHh1#?r=kPu zL`fR#nn+&Tam zty7%9fg@Xxl=ilx=H7CKn~y+Q-g*!UY^rk9D#%Ozb+iIEd7w7Qs z19n`^KSL057bhcz4WdILsL(rTGz;|*BjeyVPSgv89(eYSkpyeRXah3K3`HZ;BYrH3 z;#*FdA{Ey4(>*!dgZEu_{pbh_P835vgdar(dR|1JStwrts$1wnceEnp4eZYS9hz@p zITHFYI!4qUe-7g-ngwBUl-M5sjcJwI~AKXUsoFn{ia_b@2_mW$>&z&O-M-#Z6K%w^<4;BWP28r0jf)Fd(sc@R*Mfr8oPnl=)OK7e$-rU=MmBhcK3I?8t8!| zK2EC0g=^gW5m)xgn98{BKB!~&Cv^rZ$_rK3B)UU%M27b2cT9l7lrMMTG7OP|IRCPK z#&`%_IsP6u6uifR%&R{;JwxX4$*+`DI%Dm7>o-Oab^YTibjUnRi2`_Dh+YbORoPH4 zkSYabu5R!`eaK;c_x{tvd>FT?WY(A%*8YiXvE)MZEiBPec+3|KO;+2_T~ZHZ+4G8k zPg={s0>w=RWXL?r;Dy)mwT1N9v*Ykr54o7`zx|bZt&|D-m=D|}v`+O8O+|)m24ef` zA(p!qe}~kHcB2L{6uX|lVHUBW?e$15WVig5*HV3@`S<2W%`P{)w7~xyVLse-h?TtJ z)laU8K>Tx~*kRn6IevU*0w|@5kfyB2{AEp(`Dt&qOhDY|Dj#`9n*nDKoC)3Ly$iCX zo?pea3O>c={7*ASBRkaK_}ilD**W$~So$$5(F_cEmI`zA2)~FNYY`A}X+07`hAzBq z{e%-t0k)J?&O#kHQJ05i9vLtel?)RPE^Q+BZ1eFXzv=PXHMPuR%Jrx0;NIA^)EKta z_Ky~Jj7$`zpaWh{tx`>5XG?WKYnFx$4~n2ULLQU=KT3rg>W6DvkgDI0H+?tD5zAls z=56(&w=ZARI6uGI8V&JZV^{NaAM3OAVGm1}hB^`5{6EfQ@aD)+b`Fb>AbWgfd9}Nx zvks9x$@Xsax%1o&>p-5SVjJ6UcL-OpJ)=V*rMXS|hOU<%{p2$JadwA~M>UeqUS6-d zB}oI{1T?4BdHt*(HRE#Z)T}gj(*DxpbQl}#4crUWK_#><-HWcrQVn5WIZ-2R{wrL+ zIzD#bWSmbV(nn$@#}gOMudR;cNnUU;z?WC=BH-rm1Bd>f5=jm}o zuap8PPda$pD?oys7sUkBoG^Eav$nFbiWnY!G~XADH<8z)7BHCjEMIo$g?N-Cd|SfW(TyMR3Pt?9>tB7 zm7Ubxu%)87ItlUkm{Yh9NBI7@pm(fAY|~_5%%g$IpOjKb(ao4Hgz2$p1{{11oV-j2 zRI~feGR!r=qpb{xe<=mppx8N>@Z&kQ0KyL~T7K3L`3LK@yX6^kGYd%Q>>}aYz31|4 zl<$!AbN6rH4d3ghtDyI^hoE~Vq!r+*)?;Nn6eU<4!i?F>&XSHjeto{uGf!|zU9+0M zLrsqEqH~gtGWfh_tZG(JCH)2{kg-jt9BEov!n**NAhGs z{E2bbQK(=Q9GMBNakrJY+`^{5VV~itGd8FH41-p+$0{p_EaCosUkUq9L${SL2A*w9 zrki2+#`;n`&bW7P=Od!}iKHUZ+VB{+ZavY~R!P#pRg9UH)Zs#mc$4GPn`F=*{okI> zxQQ3Dpp;lJ6ngJSals4Wby(u-7*6(0=xU=5o zK8j_KTnog1l0}Y|S;PCu243tBW6b+Jf(*ATEs%CwrcIEfKE8!Rgd3$xh>c_tg-X!( zLo;CuCg|j$K0#PxJ`hj@^qdb?FX9B2ddudi`_*0D%FhxV+aFv5Jad0b!~X_}oEAwI zYGYkzEjr&6Odh?Rswx4nZ>ers(%ZW}cdW0$^l~he6uicY4qh}RzVOS1Nh3oF+ZRnn ziww{0RqkPu`d@LVsDZj(=ZL-;B}!qPg!_FJa{@V1V&_WOeunsUMMa-^pRs;)axFPJ zV)u4>3~&HsymRhxGZAiJ5e!(6y?b|Epy~*m4^uk6g$#)hUee`{Yc9b4O$2t- zK+a1(ZYWV$z6V(UP4nt&o6FzsSR=)myEt}=%H;+J2ro2NNS;2P8=IpK2CBBg0z=N= zpQr0BS6te=ZjaKw1zv=O_20x=6l;P7Z*pPwT~_yY9kucpodTrjIHC9OV3MV9=f?i* z&Y@N2Q^h=EvDasf%_XCGYmEPH@Pa3o7!m`^TlPD5k!OtDP!^w?QORCRIR7KwLu~~? zpawFE@Mt5jCwX4%f*uiiHE=Y9II_~|mNoGZYc%t@9Ti0$!xkLqe!Su&n3#}%+P-%Wt=V@d%P({E%Uhg4Siv8Y`rEV|#N$*{^k-7t$>H|Nh*<|em zIXd|XullDAgKq##49oW2^sMNW-=uQp@w#sYygo3vT?@3hh4ZDxImkSl;Dr+6-Ovze znXq2|x2cQrxIY`Y7*#IRzk~Cb{{IxhxORAJBo}2x-R`X{7#T#T?zS`L>es6V-&2;w+2vmsN*5hn{SE&Rcy$-Y} zc`JC_#-(ks91G>cXRxm79By5xtqc(dBr;si)ef-&3dja1? zKIOv5GvQTd1c3p`LkJ+$!{48a3M>8g;2xR$R*X}WgL9CpbXMzJu?{F&1RNn+fnpk2 zWXOQq`$YAtySgiKKk>JP*@L0&HVkj*x3ohpje8ayhJ4XJXeQ(#TlJk zq$dh3auCO@TA8AZbC*bReVwgH5;#_^9%H5bu|4Unz&7dc!79+uf1a{stzn< zxzCwV7nrLp3T5p(P~q5hju=v4OQh6YwCu0!9M%{s56joe7k}=w$%FnB+ z49EWoA+jL0mPbb2p1XTvh1qA$SWB}RkzMV1-v#BQvjQWsxCN{$Z1@K>WW9<4wGLBi zR@xL3x;fxKX!RdP{GYPfa_(6IsY%Q%gYimM@h2tP1EYolTCuTvb7aY&7BdT8j^n%;d0jhxTrr%wrYsT8F0u)Xv6M(MIuN0QwSJhy1hoc z%JpDNGo*? z59?Rzztb8|xZiqHR*1F7OMX%dEv(ZGdG0OB31viD;ph0cj-JyI@mQ${Flqev%`FvAB2g;H zZFF)BFSbXJ(?1~6y(cXbqmT*X;YV?h@uCKP%I6YO=t?a|ju|9i^w9?Ksm)5uttR}? zg5A&Vht3V()cgm0om#`(!29qQfR%H%bTKb&qdC^%;pTGa%8&F{=lW?$7&^rlajXn< z>*T7fEkWOu4Ab%vROf?I_PyW|>bB*7u>=dGfgZ zb=&uO$h^_KEDW;^7{(3N7sMs;_#gB{1m3~g4~RfTi>Gj+P=);@PaCjaSs_P1X#_E3 zfVhHu;6$P$Jomf*qZ`%ZPaM4mP68Vlrv0uv&jDMudFhV5`a9qk8b~*>eB2wc9mf1F zWOe1rhZKD|#sW)yk|Xs0SB{qcS2;=m48|BehTebeSXLfF&iiV6h`%p+Y?Y_TLgwVD z?jn^o=V1vmFFXfq4Gpw2zi-)49g&-$t|0AsO4HY&lVQ_7Ro= zdpfuJw1KIbO`Y&)gX?T>GRQ;W{c)>P5yn5uxc+W_wk9v-onOf%n3+mplb&whN71j< zK$PlykMf)v7q)fza_&MK+j+flZ5;$OBW2M+JMP^}u8PDUc_^J(!6(}#d2?GNzps9*#WX8pscr!)ef$F?(d5q~+a4t*D5dt#mB=oX)2dKluc&po6tH*sp#}szDAdhv!#_+og?G1bWFt;L z0XbaoT=Uh@?};EE?Pu?a{BIPdb`ks_c+1q4_!jnhRMzmQB4%i3C(nqlCh+_AT31Ib zKwhd78rmB%Daj)FcI@$xZXju|q`XiTj?%*ffFZe8UeU%sj8{HihNoeS}`8vV-t()|jS z0YBK&o9GoC|0$ggmvzq@I(w-PN^mB29Q}upBk+v8rXm+JC4)R8FzPVJtH+3~*JDA} zvP}P4$ezzebPYPlBF_p-d&%?Z@h$Z2|4(3@`QI|h0|YaYe(bX`{s|72fD(wV(+4@_ zYjPkNnFh+Dic@-SSIWmCWo0(Lwg1=&&e7;cGD@Qc+tk2^$3ZlS>txi4sRK=q-fjSf z@c8C6GHGe^olVAuPd;9bAh10Cq;54nzC;gPF9O0oZWLb7;)INSaCmKU{%;XbtX#LD z*u|d#FGbF?zxItt=uQ;5_wW{!j1fwxC7O>RwRiq0Z1q62Anpt0*Lq!nnWd?zB*V$4 z2~1hTYIqB8Sjf}5FO-KqpA)4Q56uEf^}y6~dFPl-Qj@1=9u4(B-hV5LWxgi_C8&uE zKbUGT{P=-DgzQjz!R#>Ty~$OWreHq2z#@f5(ca#Q;KarkJSPYHq$h2Pqdu8&Lp3|z ze4WquxagO#373bKn?dMJvD7W_`?OBvi!z8JlX3<)K`ix*Ovs6<6- zK1D6|p2A|rJa5Tjh6*&=zrP>1KnhaZ+^>nHf zvxHEc%041*4MaHTo$(KT+(?dP){JcaDL1_LC?{uV%?6dYsVm+S$(KtHAJr zr44glsMXMiK2o&)YA5}Gy|K}1SnqOc#r(ZkIoZxjo{snrHe~D*A_{G%r3ITaH|&^j zGWU3~Y+IsGGU(ECW?`cT&<{*>1>8rKRcg<0GJp##)GlAqg#h;lPfv;%HTqvD1w{do zp;Q!_ZXU}L7uQrsL|{hZsIK$>%#og=&hDH1s5~gxAez^Q2*r~%C+C+a;An5e#jXC0ws6+}BPelU|0O6DZy<457<8IfP8K{)9~`f4FtD%n zjuX{&;b?RjEcTi+7fqx0YhG=Wf%27Yl|~A?C$C^AMMVgkPx*R?HD7KwZ+(3b`$5}& zA{)LlT{+({?(rIs|5^PdX1-ysFTh9)s-E>OvrS!=tnc?<1yj6qmC%D8wiU+H7A-;C z>ORjd`aYI|2FKTz3&S7rn-LuGxNxQFx>-Z&`#M(HX~Suh()`eDn|Gi=9y|WN|3kgQ zI0NmR%A{Ah5KzLZK`G94Uy3kcuQwVtH%@AV5j?T2PTf~sVd<)-^hd5x3Ra%j1FnHL_S zFPrd!D0@Lti|+@_g?GkjYVmh#l8ZQ(cen3Yq~cLx^}P=YoYpH3m>*V&k0A1a+VD2U z>8mexS-JbSdEe&ib=FUv|0oTjZyW1j)cx#h^h(-OF5(mEJPC!-Q_y@Yk4-6IDLNDr zlmQ`t`huSJzt81sa07;~;x5jSeBc87vB4Udt2 zrlzMuND5BSJ+JD_>+_Q8`2(OYBM+REeN)24&oX1NvkSgWUblfTu|voGJZK)N1@C`W zAtwgCqho&9)+v84JAmdcYP>LN#+JX$?bD{gB~;#6Df zQm=;U>OCcSCC6sKh(f?!*7ut7sE6`j|Ce&KqLOsNUln&+UjgO6Z;^O0!BWoXufjy@ z1SgdH$tkO3Z-#M%oI-6U=L}|5o}{L7dB!Ri=4L`@14!&Z3ebod_%8;(i<8I zkK5m9$2F?11jKULr2sEq*bc&Hhn1oKCH!ec$w&BIJFC`{MIvtK5I{bvTiRaQJ=a!5 zPAZC;`-5wnXh=zu57n5Gvzt?Oo3@o7*?bifstu4bB0AycoqV<`k$9gO}R@KghpF=I=N@Yg#yy zaN_KkX#G2+aJuu^nQKrpvu+!=^$hXx#0kc8Z$YC|3_x-Ud>L03A4UTdm1tXIhNPLXec*J_(Ua4BvmUoz||)(32|HD49Ir5IydT9E~Mha$#U?tw{@NN-t%K4LsxV4Y&|PD zEe>2Xk5s^&z5-6Z@=>32OooZ7D1=K_&3|`4B1ey8Fc=g>j*TKV9ae1=B&((cRS#xJKceo zUNyG4#9|z3l>!R8{FA9&{SR6q@ zkY_^jc=jQ>FljIm5Fh(yqXkB2fuW6Sx3HB=Qv09y9)Mb4g%`QB%jB(8ESrBSc=C{- z6`1(wr;ipkoU3-Og}wr^TqtHZb_HRTd(0t!)J9X&;CbQuH3+{WczCeii|7O z$V8#r;UcS>0nmQ`KIYC6?r^{2qaKz*+b^=Ofk7c@{je*U|5ejCc8f6vUO}vbTjRmT z#bdky<3l@G{ey6DYa}nj z)J$Mb27DibL~LyL#C*FleZj^$Be0aZpA(&B!g%z6Y(9v3-QJ#a)AmNa6y7RgjM|wb z*FfOuebV7?^KRMbe@kH|sv{Ius8 z@J2;WkBa`+12mws9@n?q7mN5jjC?zU$Xj~=}ZD!Lr4AGgULO_q2|hi>;YScq;zJzxB5 zR27*##F>ql%tKm2M`&p3OM8NJbIV%F*>@Ane*CBJ0s|G1`#)q&dwp74*wf#^NY(EV zsBmOJ_<}$807nB|{cmciB5ntCszooSHuYEM+dFmb+y77v3!EvmsW#NMe{N)ul40)u z5sbc*QQ)%6K6!W!m?+zR)I^i*YeE$L~&-i{1f2qCgjBGnP&Yd297oZM=y@9_Qsp$khJ&{It z-Mnx31e|*iXhkiw6aM#T{&z(1ihIp%<&0gm&nJPGiB%=sM~HH+#~Py#Mt=1KZH2NF zozk_gr~wa`mF>}91&RqWxobB4{60eOs8L6an%ZDXJqru;U-#bqpn%O~+>QDDhOMPM ztvTkx(vG((H?q=MQpt{r^~1{bu2;!fan7o;%u&BsN?3~Im6VPLi|T61*eLz@ZkkQ~ zVdZS7y)M`4Fda6z*d&j1?s`Hkma^#0)P4P@mOS%KZNY7INX-ng38-eS48e9qsDU*j zh~JfPwpeNxJIVEq=e-=e>A4XXMhdjX2{uu|q6_7zy14Q04_zgsTl~l}JjH8uK}|(9 zkdB4x8S<<=W8;m?_qZ(05p4Z-Io{s-xU^avTj~BSS4*A$N^~R-L~JFkaqxv-pe(q@GO&&Nj5c`?w1V8XjQ#XGQ6)Zef)dsWu!l zY9H%wAp3@d-*q`rLtn)Tgme5O96fX7${ww&Lvs_nD{Bf}vwAAOTEZeeeZt+<|k3VzZt;&B*`53P3>p1RG_5bqZivi^ue*F0RW~4#l zyv<#?Ix{PC>Lv>Nl)I}r<`fumP59Pcf^*K=dCGYRn4SZY$vhCQA5QXJ$#>mcV+9fv z33+nV2(ZPauqZ(O*yrT_=@(a$SDNKo3|~tGA&ZW*@hcIME-o&T*FT+UmZeox*a@-4 zV}9t`H7kSVB}?X9jG9oMU|z_lz~y8SVgk<-EgfS%k6qFMrmj|eo#9A zElYe5j~gdKZg#D5Z5vJ#p$+WL?mcF-W)wMb|9yNOdTA3vk8@D`;aDH?LWKyA;IEZ_ z>~lY{$iq}WtRraO>iz2<-|23;CGGg+&g~x^M;G-J(~Hllsz)Bv5~;4B$_{0Hi=BK6 zY+wv5Tqv)zUcQ^h{y!=h$-bT(H*Q%lVSm^s4X)GEpKCY;(BqtM{1pbi7SB}`u~AR$ z#oMuXrg(3^KV8vVcPaU(bsN{F8uOmEmoZ;5^QEmeXdZK&ZR0G}29~NQDdjsPa&N@C z*glLu?(6X*JJQM;i<13h`@lUidGUGaxLz^WyYfib?(DIKBd>4PlaB=Ztzv}`xGpYK zgb;ms*u&_Fl#PS2aYD6;+5L?sc(Oa!&U16Jy<;?B7ENpF*_d`JzCaem5D4y;Wi$c2 z^r5W6-*x;V@gO62_rO%o-(h+He{*5;GDI0*EHAj0l-2=h;(;J!dpPIF{7MRDPx&P^ zbXmDwg#IH(K`69^2HRtVJWIzM-+zeTA>!-q{eKG3>W}B8zDPy&wkJ1qVDZLhYWwF$ zn%2Kf^(g#u-tinbrJWByFyqt_XyRr-J~w)K{`2R}7FBU^@js&NpHHo$c~i;h#{>=amMkynbE9z@82MMge5ru(y4{Z%ObwzwH#jmC6?r} znFU?mzd7otHg~g%p|d4j=t;&1f_YQePaKim6c?MEOyfZ$v%*1-CjX^KZxAPkjWccY z9JcXy3^$WtK!v$`hr2Ns5H+yHF@)IPZA*~3ms6-J51bS~@pQ;9 zX5;1TCjDiw6W?e;g1TCZksZ+c{{04M2#RFDyV&f++k##4dA>VNZXJm}c)%_?j;UMz z92MHGx$NkFI+d9CnARh|0=IAGEbt^<=eUnDi3z{_MCL6I&_au0zY% zJXKQq&;Mm1iRx!_Tlx!$boeY`;xWnRw;d^puW>aBgSMUTU!LN)ar2ag@CsXto);X= z;+sAG#x>(%<9JaOBU4rJI_UMF zKk~=Hcc)<<`&Z^t%u9gZyb0?n%B*j-)2KaAvsR$*}hl+ep2iMT4q< zKniM*jBSwsS2;T?|%V>k&A zjR^D-N`zBpjgIaFcM%yG7Kt2(`_d{RE66eg?48%^ctC0c|C`vjk+W5DnRq~Y?UGv0 zIuEk`rCms&Mc zu?;xeheP9udfc$H|EJ3E<<{wMwQS`~V`OAShMUtL_?~PAt=hUMulO*?{&wMPGj~Z_ z*|EOt!-nH5Od4zpDC+Coj%c6v?h{3> z?k=aC*Nj@3S0=PW^`k~)+hkZ1?;|&syO@}h?n}~hLfe4^jUisfGKp(ax3iU+myS0G z-+UCUV9_zg%1qtNb5PU-wY(p$WrdRdaH3iG6%DvX93C7LFD`~0yqYXR4nBLds3KYM zd2S_0OYuFboaWVac{vw^kb~njEMlZNK-I2v@fEF%+!)2@{NmZRfR>i$rI5dkwJ+p6 z!dNo)eoajQUqpYORDjWqi?draV`DvqjV|e?s4NrJtK%Fi26fJRM?vt5&wwf>FX&AY z!0{9W_K6A#TS#5=SYx3<1H-A}q{~F?`&3ai;qFztdErx@q>Pxn-~wR7qPSSa~T+`JGf~Ri#N)hGR@jj z%n|gQnNbi?N=>7E24__Gs5Dx*@$Vm4G!T{x>ls533Af7=7DC9{ovu5zEE6T6{AHMV z>D`MF+#=@Z15fUt5T2bjvKXg~*_}E^(DJiwM_~pG|6~gH|MB&eL20|W^Y+}(o(cORVK65QP_3_9p#?{DwAr|QNSR5DlLL=kqco2sRfwUT4sWpbYhoJW`;0(QTKNgdF#LEK!H0R zhw1Tb>jyqUKGlegy7NwopYfb=`a~?FG^_;$KYJMOt&lwM*SI>YOV`y9XfM@VOnhbE zT;BS7qClHQ1rrb7{%vhyKSrj}Q@Vgb*=UD41 zD46DSEa)U4kiJ+dq^3hWDBr;^7G{I(Di}cby*TSkV;L?Se!nf~;Z-dS)~^h{d9!^WI zN!@>9rw47+%1hxk9)KP4!!M|`W&=yxv*@7*BH2z_KylXn8z^H0#-KUd{2d3o*2~yz z2ttCBpCF1SVKhzbMZlf<2+fg)N6ISq&i_p>Y5tpD;)CarZaKy9ORXLFFo{&eM~q4^ z3Cwa~I<*G;+e7NQRDaxrDUHxXZRKM6NO7}qHZID)^gxHz1% zZWFyptd($Khi?z3<=1fD8Pw?wtl^~@Pi3&X7)ly46J;_-rCJT!!;^i0HJMDsWK?I0 zoJyz(M$kS%Nk5IO!jH1U!_Bt~+2&1PQX0ep8R{#4LfNCHt&gTOoVa>#;tG?%cU>MC zkwYgzAhl0q92EP=E;Q~rVq0R=Gg_-j-<}>{v(8VDPJSjDRs89nBm&gUhj@8_BJpt`en#n7ty}f!LS#7VT9)V7Z zl2t?GeZ62uac#8mtJhoaAK zEhk@bz~GEc&zgN{?ONpCq+{D&qD7b+%iR$zIvzC3+=Sj3jv{Zp zr|Pz|@csz;;-e)_c~)7CN~>pdD0~F4E(f0JQ|32dmB7>8a^AhPIZJ7Q`O_<886`)D z$*2c?k>OE|_YcD@k730;lC;tUZK;B7`j&`$cs*Hj2Q2qn$b(-CL}MwQFv)~=PwsCV z(Ea?mfC=TeA6N6$@$k^ z()aSWd-+p#VIbLGSs>!sZ7uK)i?xboJ zSZAbTs_gCKiTyM?h?HoV(UaE&BeEr6VZSh@BHaF`dw~*QX})M?&4H%*y-Au#Ow|iL*c! z|BW9stGbtv0;UoV949Sp9YvxEUL2Bh%b1E=gJ#6gu46bk1hXEF=J*?p{F-CsVen0aM@p?e<^t7f-SU^NzpQ;VDuS_P{pa75*2z>?B6%bS_L+eVq@PGW2}%o~ zD^;e>8(|H5yh-=-EL#-kI2?acXzX#~={OTnhW<2Wfsb_)q?NCoeV{fJ%nf8w{C~MAG zE^Ek?s<5$46cFgo!Ozh%2dTcgpA*Y*Ttkhipa@7TE-h6Z;8Ray>fR2)^HnpOxn?Up zI#!e?1>hCK52r;BlIg*{gu@rRn7IazrJbus4eIIZ(>MdDT;tsM(U&cOGO!*odJ}gH z!*~AA-z2hnn%TBj(l+$_j1eW>Ev+cg)IZ5hQ~da7w=5cKntbI!Q?f5!o<|q3#;kIG z@OOdmk6;gwPA0!7A;B2dh-Y8H2;$m`5}ijUh>Gsl72%c|13l)kRhr*m&KMtdSD+qU`_Q(|uo%JiqlGfJ z_i(jsarXA|vq}?y>*q%Rn-}B1_&C%{?xU9?%{YwMpH*N%{dCHn{!>ao;h zA8vuCawg1?O5+;K>hEngapHrhd<#1gjRtq4kWBx$FDw1eK^tDb6C>o{<{lo_Wui^5 z!gt{a_N$7%m($a;qLoK-(o`{m9ZHNW3W59HNZH8oVb|i%0yq4d=X49Y`s@wNu~vMI zUjKB7JpQM({M&Qt$&hg5KJ-RLessKuVLh7MWV3@PF=+mN#S@~Fue56LeOVQW6}S;v z{p7Z}8jmRcefZ6#J!R3-uv#er;oi`8R#cwS^E%RDJW1A7__kt#lW(5f5l$XA4>L{x zBcZyd=l1e2=CPnr496bc^X&t_H={lPjjojMDYs263YDD!zo|RT2%%GjibM%lTulnK zh>+1DQK)0eRjl#`=hkK9T+b`xpk-+Kn1&fH!e_2Ou8NVo3@JUV&=qL32MkXdCEj=| zjJmLX%d^CLqA*l4Uj@>Z^}i!zpQyAMViHZta-;9CHR=vcC>%I{{Iqlt33U`q(} zC4`ZP(vC6Ct<^2iCME8-E;X0xiA)a}HN`O4<7%L-?zE@-Vbz<=kY35GCs921^#nS7 zF8Yg^@3zHy%7ehvJwvO(jfBdurW&?8(Qq2cupv&*unU>8Ow3_?uTZbvq8VU@&H!_6 zQc5HBc7Mfx)9P0|argDo*VAx+bJ*A=>fxnU;B8_8yzdHsfu)JTks&b7bVb8Euixcm zyooHW*?u$NZKeHKnMO^IX`GyWbN~E_x8x5p9*PB@cfz7Bi?L$$>2$2(J=T(0aKe4% zHp=Ru14V{W0KHnCr~Up6%i?Ty7D0DF*|L$x8EWTiOAlM%Q?cC?ol@=O>9hQYY~UiZ zA@F8)V?=a&NdIabh$Z^S5PwM{0g5pQ1-*p^?vZB+xvFuzDDs?3vKh~kQzw+KL^IM zMHo{C6%CCWjCUcQuUZc6NGsEplDX_Rz|FcJ06J*M#QF~!tXSrnafdFeHAuIv&Ta`a&@eULCy_c|s8;Fj%NVsgmDy1GfeQh;|rZ>V^YhAVU0 zpnT#1yZk`?5z#tXtCBOt3<$B%X}S;n#11AFRKmETym=yr)UJb{xzdjx(0fsIo|xAx zQ-8Dof3#iewI?DIYLpP46OU+#zueV)=Pjj5R>X}G3>|uOK7Sq7rG+Z`SKlF-pk%Qf&f4huA6w#1`aOdk-SeIb-pre^7q4LHgr8eKT_HF{S%6vQLK}%LcU= zJKn)0B4S>+bS8TvxfkZxgvZqajN3v8eq;=V{<_~zrI|$ZO$DllBdH`I>^CM#4Sk0Z zyF)@J8b=VDf5yrK67S>>a}X>IzL2rT$IbT(u(!}x+#B`EBQCv@?hd4wM?d5*J$A|z zesLtcZpS>ZPd=`nG;@XtWJ}3bJDoPyPSIw|!eTL7gMi-mtbb-5h1{==sFnAc8NG;`J(>tLR|1Xkh{y z`i-Y~Sq4S-@IPCLD7uQ%A-0xC&kA5YjPS`ZSz92bX$(t#HI|X?%xr@-WB6_x%u(SU zTS8i4oAuFtrsIVUojQE&;RJrB7cGz1Ua#X7k4kV{C6q`LNw=($`|_ws&XN$*cRmPK z_d9i513Mz+2x=chqP_IN{_;-=vH5;QXRZ5$Ty=9kU>y~2ZoEM29cGWl_A3d%>tjJ= z&_uSHS_O(@IKNwr2ufgPDHVAsH|K+ac9UZS*x?ggS*zy_UbL%A*koJ_5x~MscD}H+ znE^Q@roiMQZkYu7p&Fgf3}&@lWqlvsD9VL&&**1rf-RsWH-uU^ted#zJg}f32u2Bu}qcJ^{^RjbX)k?c8jAp=tqm|TBF#g zYPq<5^r+F%9(TK@>J}UB1GJ*!bcm2GFtZokv>B|d@VIRMK=VN+?I^lHEgU7?B&DYr z9|0;1Z(AD&6Na(zX_ppA2P9mrXpIjz4Wb1{JWJ(o=l_be<(8CI}BY-B#=5x54060V6O)T#F#sq_dfiM--(t;O;m(t+gWr}!4fa0!3U zu$%y@3X@aWutZqbp+R_2z({n({qoJSTThy!!KwyTS-6g)cq?q{rO%u2CwXx|BtnF) z`JeHSK0+d4MW^qO*hlaEfo+y4|GlWgI!!SUwTw1TkgaZp%xJX9=O)5sIIWn;1NpSp z>2!zX)Lt)q3tc77#M|`z+M}QJNQs~>c;`#Ze<7gqKM;_gP_w12T+7{=)-*mvgE%(o zCd3AiGbKMiTb!PHUbo{%um|tMdD6={=Jso=a=KgMqA!Xv>GB6W>|JU&*gRQqY@BhY z$0-tN|0)tJSl{$WMJLR;LZWmEmU+(vMK*x;+Nmv}57=Pi)|dGT&3j!7v6JY$ZX7Y3 za+*;-l+1H3E*k1@3k&Q=)B2Yb4ho|RtBCpWT5RV|j0lAxUfLC1xts5su{nyK8R zlwktVq9GP2@OqceepVM#I;14`v1v+FK@z@_Lvv5QbE~InJ_`d0jAu|mNwQ+LwlYs5 z3KX*mCpYE!p3doI*#Uo|U%Oe$pS?oyP;fqZ;%CV4r6J-089dRbz|@(I7pJsy(Ag06 zbmUd$evB^D(js7u6aFL2B5zYoZ?dYp9y=Q0@X(217LXVPX?dW@AFXv6#iUoRslmXn({7*6Z&%3#3Q$S^^(!&>`OZ} zvCocp93FVc}gf@e!EcHI|%W~beucV=$#F7Y=UgT0EeR&={GhxHa$Yp(f% z&?~Ff2?ga;Q%#zB!Rp1b_v3VybFNA%P1tj9W##3;zo4+a#fn$3VuA~BJy!hqGaefz zZ2Av(3~Y4J&-ah7sK?3_tdNtk z5lwBTyA1-au9Ga z8Fu)ggd}WEC}d&jr^BasZ0`+piO5~aF$RmgZ%jU{$*CgxtDR@%?xO0foV^V>)Au(q~F)5Fj++$85a=PCx`JoO~WX@Ja(nJItO zH>c+p-nEF=x~+;r)=xGzE_QAe%?-V*OW8oe-2D75hm)^&&fPfGbPS`qd!iywHg@)~ z?Px}w$fBMlmZjEpQ>R&JZYF#+jg^2!!2xCcM(PQvE?bK{@Z*s>=*Q%l-7duinUejz zUo<2EeBK7WZ+RbwPAjqIB^Oy+0`aSz9VynD4{39x-V>0&+zPXM*4==6b8c&%1l{+U zu8|~d!@0&3TO9pgJ;F~L&qE(aI^wR`)lx`mG%Wjm^&ETV42WF_^fNQqkOuxXZ5nji z&x&Fmah^9=A1n7Ysxc(THJGN+nE!QBdjmz11;2}(d@jrv^!Hd9_0M7>KzN_Y+WAz- z#TH1OsO5x#FuHh5wd*H^8dC2udT+yIEw&1(YQ!Si`Q9hdDzJR?BwVzZD@5c8WC!7m z>Ow6~j@{?+@v9C!*lH00evHt)I~8KE+~JHTBXPpWPj!flTLMy2Q#n?~h(*FtNi9SP z1Rv7>CGN`keXyfp0y*be^wrr9D}y;jLGi;=9>Q}&clVn;OPaa3d#MXqib}owcbzV& zYV}YG})Y5|xtKYhT0bjutR2bM?V`iS< z7cUA)1=O|kj*fT2$)pA*PW>uNTF1SNzp5gy*HKO-rX-USozEHvlaI15`&yl`zSY_0 z7}=M5RfcwhADco*GIC4I#Ox}u1?z8O>Pt+?L#+%Bpp?6Sc){lCq&vhux3qZbPcc$N ztMurzM!c!XtMj33g}=;S210Ry$Lv8i_H0T@s1BYTDKRPz6Nc+&)j zvb{TvIHr^!=|3pPm{K#ylbP-orSH1}=L2QDxtFn`E(t-V{fkju8dtu?!=|qG#lmMo;fcIdKYEV%h3_t&-r%y zM+jPTe-;iwOd&QL7p;510kK}2P(GzQo?0Z)T-xO|%o z?jRgNrgdq4$&9E}1yXi+H*7#LYykP`b$rIhD4NnUY+ zW;BdX*R|Z;&)8b^{F$P6xg`~R{%O)Y7FC4Miq=yQMI0Q()pcoAy*>pUkap0VRzV#kUc8?_Tk%>gT2qeoPEO9N2CnD>_;bvalpCFrrF1kGcwOvV z8cY={f3Va$Z0C^yOiVy@`T@>vOA~Nd!GG>(r6H~rQzG5Z%j@q=O!|8l_J}vWzQnGE zl@3BjclPc>3D^6|6H)_cgs9H_C3RSb6~75qF^@XfoB6tS^wi<8XnXo&*#etAc88YQ z-Wd>;*)Y6g`?G8$FUzmGn}>!Rw`kW|@8@d|`CY-Rx-}Ls@oQ$C+*kSi9v;6nFMpgB z`SV(ce-15c9a~?4iK`!&+CC z@p<5Cwjy@7$R10RzXdXXh)Q^(`3HXH{{uf-@0a%0QFEBIohv7#+bB*|214)4ij5(` zN9X5bR!{M)%*JHKj5aK(uF#@p2irSGkemhzhyg+;ay%S!iV`;YBjhbsEc?$JTe3bf; zS=@?9vwzLu*}nKY0ZF0e-U~3dPQ$oIsal0ENo>tX4lcd7>TDD!pDgJJmIo4>t+<}gcw za{xu!-MesOLU_uY)oo{#SHPc+&|2u>MmIbKn{tMmO#+nmj}d$P$B1?I?Odd}rmSvL z=fCI$*9TFUh@@S|8##|LAh#KjkC*)}vV#yewZ(*@ECh5GAZ~vo2#dK7lDQUI{Ej|M zzwj$n%X7s_1h?$N9wP&;klt1x$Nr*Ogw@z?J^eV>UF4D*Y{})YpT03chLoPn$5-@YiDyBnfmL_vNDeEM9CkADjSw=%EC5W zXPNyKzz?A1$mZu9r}ipiSNUGs#K{A4dTADq1$ zZ#T+zU6H{r0GkN}LWa%ccuEuc#^ui`)wiv`eV%724?K$ah2ip<0JmSohW;a!|GKup zzMXRpt)IT?G9kgjV`qP?gEbMYKb}&M0lM`HGV4K->P`&uxC)J4uMh5@R1L zk4VBpg!!u*^@-4Fq@2N#%tyXT7;Yb>*ERL#aNHDl$_U_RE6xkodm*JwFHwzZF0mZd z)syn0_*d%hS+B3ZQ41S-ze7^3v{7|2H#=dj-n2zGu_g0Q&babV&Pchx3g**aPb;)V zLdIU%XhZ^h%tSS?NfPqu>wi;hWsnT6txZE-_M5ju`RaFA@l1eusp%2-9ks~KTXU4a z(L>uvX!MXDeQq{|EmoShxvHujjMwXVI37=X{~%`=pe0Od#29KSCQbD5bm9hw0YFcM zDt?G6N=KU6Rkgm|DSa8S2V8yrn9L`_{GGD}yfqwzJvB8c(I3?^Ktx^nY4`#At=+#<3N-*Z{ zFL5YZpQz6^XN9MU!c5M^k_@rktY~(K0xI+1i+vqMkbnC*z+fKai==73cA07NQgPko zio9)ovb(@bwTZ&+V|Yf9ZFB64`Quuyw~ug4W`wQESnmDx(;|!C{t<$U)_iBocIl8* zt%zu9gMOc%e?1K&`EmbOxNb_f*DZBLF7}2`=A;3cElT?ZQynp^j-QQf^U}0x9wt5V zGt0(``^v-NL1@%p& z6`uRwPZ8}OGPLvPWYgz(Cvdnkp#)Ei0hMX6f|sT)i(^W%&m-7%MC7bB7%Uiv% zCv$;$aCM`)1ZqQ(US$v8Kr_c5aSsy&WDZc?MSW`1@o!Ccg#TJl>9q>^6j)!Zq;MM* zS<6!H?~qk~7uNL`rh<<%d;#K{WRO{LI%3%_w^20p+_1^KSkZd4Dy$xZ`j;_%d~3N1bPVJ0+5Cxw`d! z0g6IGMhqG4a92DM>_lT~B6GIrcXdp5*-3A(c=4a%?b$9xe1G;REB}gPA=V@o#L?9c zvL|Udx-wLFcxNB5BU@br;DajoEC_zx)%SGxCDdhwuH?Zjnwk=T{u!Z+@>BGazr~JS zQi=rN+9hxp=oLxf{)1B`f3gX_fDa{s?OjibY5&#JqB36ReP2VyXz115OC;v#ZJVf8 zpQYdk-BQ^r=j(4@w_{}YZ4g{w;TBJ3OGW%WIWEK(5c@ts3Oww1Rk>%GC9=%!S>%7l z{qXM5%QUj9%G`bYRGU1sEvqj90EVkB)nBvH+Ffxo+1Ye4LC>dr*Ro(hmZP}udm~YK z-vO@fM7UsJkug_PmeNntlW2&YGC}96O+ym|*ne%(MM1Itm`Vn;qC+Zpb1sr1eh>%` zJX>FlBGD%8x!QaVu$~OckdGf2sO(tf{x~mPoDT=5-h!cM+^d+p@~((eOJn@G_KO9Q zL|<`fEZA}#T--a$1QBNc=~90q%z~TwH?c?Fhb?}t3=7(kz2@aitH3-RuZE-y{*gv@ zAiprb+Bc3NLi1>vtl^IHI>Jy(7x4Las1#SNz8!Sz;Ehv0Ms_1GoD?oHq75*S4GZ=N zif5DW7fLtDrZ!WVLxu@9v^jwQ=P{4>9M@9eLMjl+pFMGB_3RjGW_ncvIAb682K(s3 zW#K!t)N5V`1NZ(Wjv>AJ$j(*rC~-Y}y3OjJ$xyKc$&ih3!oVLIRvnNk++gIplOSUI zEV;~@W9}dRc_9Sw?T>F+Qs1aPxx4mY6E}%1CB+h?%MklxadW3>KzYi6FeekwbL}~h zF%1gYdgu$Cn9CNg>k*|u9DOmA10SkMhfP~YkNAvWm7odj!+$zZDhViniA+PWC+kah zp?1jW5a_y``Y$p3dS%IR*QNlv^PFly3tmve^@#`#2G zaUO8Jut=F7(pco2zh_5KW=ddBQc@B@Z_oVnv#G^22{FMcNtL`ag=|GF8`G~Fs>sAH z6*YfpUfc|x1m3pbduhUfnJ9{&X;MUBY91nveShwun&b;=L?KzBm^chA;D>GJM_Ed2 z_b>-vVY6v-Q`EC4%2V4lkr+%fZ)%^#hyJ&v|K)cE{Pie}LYW=prV92!oUVjNPL|-| zP+6mItCQm?i%#lNeD;hs8-v1&vvjPfff%Vy4!}7Fj+f z_v}hc6K>NPv8~4*7TWwfOhqg+8A<~SI;cd;TN;bIFn=!#4Vh#R*Km~FQ%b_L6%3u; z|M@;nZjG!qE{-+XD&qA)4M&}UlARO`r6{N-sW(7|aLXpk@JC>>eJJ-@(yy~Qc1kRw zZ>Yx1tObjf*jeO!sbr>LqbqC6qb_9V3j#9xzYMd^0>`IC7(b+zSp~E%2jyH!(Ck%n zIY)Y}mod6p20sdw0w{C1G`Ty!xR^829evGm>YW`H1fK|R`e!fdQt|nY$Ebjav5>S} zxhDwTN)MvY{L*LSK1G{lIjthDB-IdVgSF`qq0?1LClbB~9@H8rGUT`mM45@6Q$s%c z@_vJr^4F^Wetx+L0H4#1QY9W>L9E5hRtqDMBXSP|!-q^qcr8Mb@{n}^F7}0bXB1s; zY)rJ=_aJ3kY-t$U>!!M_gh6y%(|;S(2rbyrj~U)fKO5K)uVKYGJ1dxVdirKm(}vuG zYXSqMWjvEnah|)nwzjrn@OC{Vy7=}Aj%Rv81$|x)_{);>`aD;xDSC{Opf$?A@Nj1k z{E-8);_)*GmMGfuhSGL(VeV{(yr1m_+e0d*Z3_EwX0ul|1=t&n>edi1JN?sb(f%__ zy(gy3h-f4f)jp}PpYDb#=+}9dJn5I#M`$YoYvC!y;_(k*xFjvx@)2GH@rV2WJJNay%c=^!{=(aI_EUWV3d}6Lk zl%oUn{Q=`{4ftVoKB}g6q*-{C6_cB`5qn33Tkkuv1TQP(%VFs!>G9z;YtB0w2(g(8 zInG{qz_WHfX`nSG~mG{=~^icci`5?4^dUb;` zt6#bCYX$^+P@(k|&u{p*C1g{jcD4^b->G$Lj4QJN9hwZu74I#>e_Z94Zd1O=VY%b6E z(x>&%dXn!+Z2yh~y8pwu4<6d9M}b7No9meYM~oB_)R0LBr_7y>4r9ag+(`@M+(o7p zEGb&ZhNt22(&1D#|Lxz>aASEwITONU2}~TMlqx?{zi+t2&A-x=3w%s2mfkgFn-mGU z?L-J8wTb0W|C7AqEcBvN+N%=lp-^sBd}5~`^%Jc*-}$29Q(}FdZCICdVvV(?^V!vL z7qM@}B4dhz&+a6DiV1K_L7#W?SIF%i)5*x9A*$(<3PI*4R6Kxy)#;+8#F^ zmXVa08&N8|&9}-3vNWa;FQ9tWOBeSc6-Gj z_7=-jTC|Un}}59agku3^tIkrFgV% z3|luah(dffSY+c4K>GTS(}sSc7e0ZC&YHG&Cd0G21SiqwzXN`8!am!JY#0=*)2-u^ z8wiMq3AZhDqK;e(jysML%Q1Z;Y5xl3l@qi9S#S>9aE<}Pjh2lt=O3yN?b9s5uxg^wl)lG z$hd?NW;yE9&y{VdJa*EGV7%b*z&?DC*2U6d8ms?p88zB`<`;&?FYTWI?_Cb2(XN-A-dyeqg ziRf?ez_8#&bo*;uiBa2EB3k|^1`aUDM_iq-dcGuQ}$7;fbR71yp z+@t{=R%us1Z5jpu?*=08FWw%a4lnrJ?Y0-{GV&*u0?%@mRgJVse_v+1rR`0=Ulf>r z7JyOGC`lfaA!G=xog2<<9JYeOqSq6rTvD(sFDX#U(vdQ-*EX^(EBBMC&^cAyti+)G zIrET@@%jPu_$#t|v(3#q%yP&@zSvvDD@^60&AN?C((U@VrJHH#P7n5t>C^j8drU-F zXmMB1z4^Olz0g6bWGBwb_X(lJ>g8p-o-=#TX1x0sVZF}ipZ8W4}7})%oNqMOvm%~csd%D?}3z8JJw|?@$#>8Y2 zp=5oZ!w!J|?Z__UN9iVx&QKp-IEN2N>IsdE#7Fh4s~^aE6L8ddV9|f%G@D`3C}^mt zU~1049iNwI;LfKsFVxrf9X+0L327t<=;rv^D@Vn>0DPoIb83{robCe_Rs}L0=DFV4 z=(a_8f##@njGAz%PWLq)ACg40dWkO(us3h_E_4f-JBLsN*G%mCFodueR1|hASmd-1EqG1~B`lwkJ~is{*|#Y>$3f69=y6Od?&64=pvQU!!M2HJXkI0kEY0M?)iF zVSgZpJr7or5^oouL3>WO+gXtVEo2FA>*a?uOCtZffVC#nKpq|*4GkUj>JP+Hk|0FA zjdnmaIG(L1r6#rdN}Jx2Il_``<)R`pklrxGf=Zn$6vcVol8#KbV&;^SbVOl3y67ko&0zVRM2N)g0V5aS4W8Hi-KC?YPaHh7Sjnxpm=`m^!reHi zITA^vD$i;CdFElRJ%}L*jr*)hHl}8sZ$)jZobLBkn~t)WWOTkwB}p$)M0Jqeh6NA; z^(ibgbD7Yi;;iAPqY}?`9gX(ewNcaY=#F{AT-%8tMxZrPaZ*dciNqo-5Yh$~2DW;# zBk%wV!43u$a9skKs)!tS)P`C=H%xmipN+b5cjQr#yzbzJA6x8;LRK?vkja~2QB=z= z-q{en;(2^R(!np49#pdM&V%DtZmmYIJN(X|%Va^KqAMZ|AK}>ts&TkH!cgF0wc9Sr z@@vN${SP-7$YZBZ&9@~M4x5f|(#(THxck`ATiS1n3z>lic3k9zemumj0weM%m zuXZH(!Xt)*I<%+-Y7mupUo6Xn2w=Jx_{>ukT?1WfdIY>5_m_5)?BFVHrT97I!bwAK z;X)l|_!E&Uw9X0p_jOLr;;U`7_k@(Y(QLmgEX~^(w)DI>$+-m-(XYjCI z@nXf07E@>bNmwv4_lI0L8g~94hPfkyv)?R>hLq{sZGU^XOk3FTA*uwgYxmEsoF9k} zghH3o9+u)?w|~QjQ#JkpDwqyFg1_3f#Nm1(bu!5Fe_a|Dp*G?sZeK}WXK6=YM=v=a!yl|aT5;z z+R1MX5DC8ZCTRt2y;O$R)P*Sk0Kh>SCP}#zkdBW3WaAPakN`Oe` zP3^(mRr$C(v-ZPAnS4}L(A1AChAgZRrO6XV0IL0=YdRwXU0f;9{6hOjmW(ZSQvKcD z=py;|ya)Wvb8*n7T5DQ!K<#@d_+Qp)rjl-F}~-=Y%Pau?oomP@U9W$ z7ea@xQ_I5L`3U^Jp)27<#GO)4*E@Z?%Rb8Amk0&`&9&rWZxY| zo6dj#)EP46#mkLr>~lex`?mOcNeKuNb51i3MZUn5fFS?dEiivt{0}w2m3YrQfPqdo zU$v`9hU+e>Dmpw-lP@O_xGRPzk5fIwgnFm#*3Zu^uNS@C_7#gL0a71Ut*1;k^3yob zeliibOvm)Hs?{MEM6$D0pi&_E;tk6EWK72_F*!PyzOBHa+J#x&L&Xu?dP=U)UYC2| zRGrQvxPY`CJnPARy}fdiR3#g}?aQ!gTVHGcRbE-~%g%8<=5HY?u#K^D_;lXY9U5V{ z^}SxH2YQMKQiiF1mf}%;V$2jALkkCUB6_YLE?^Z}F={FB^M6#t?byzs6SE;r&#N#2 zG>(9@M|t({+Bi9$#yJ|M>S%1*Ut3(~bG6z|KB+AgVtze!9X$Ph31B{j+FG1xfM?h& zpC)HopS>C1u3jit?|}a+BMGsxfDN-N6@#oq+Alo7d9$yxH{iywN$jC+gbH7cynUrf zLIDgBa(|RL4a@2l2iSkiiVyN&_+kVb$9hB_2tLK!};Hj{h5O$ z;NmbaOU6lGA5s`N1&jHj@@p-^H%TBQ@3Hmh@Glp8W4sMeZ+Qr6D=Qy5o?^yLDt*|sFD`k9@GJd0d%E+#)a&^F2~p5!i(MIhz^Sbwo7^DJj)k3Q%-of`b zjkxGSoPj-KgpV>|Bx4=Z8`EmH`CniNw~)hrTg#-f8MnKO-k3zg`g@iP({I{8iFi8{ zl>I6+uP%NBJwD}m?_ABN$f}_AZoRV^dH;R>GXnp!yW63pt`3uskg%+#hE1sS1X-EU z7;Bwlqf5=eUxm%A1ehNPQ&Ndq z>E`WE%hs|oGOQn7US8P!w#Bx0QjAi5W|K}ZN=Mr_GDT>m9v;}X$Jyz_ZGBFMV+zV& zM7l^(<3~>7c(#wS%nMRpJ|rF&(dD^5b1Nq3D>t=bKp#~{L}eXxo7ebb#1qe{YkbiJ zuJaj*m{Y;0M5^4x@@sNYZJ$ijuqqlXDhi3l&X_UX90+9!;UEnfO0KcTP?C6O{hV^t za*GHDmRBZ4L(Rws1mrWsV_3kdJrY|iMMl*@y)X2KiRO?*Ai+$LakwabwuTZwF!drW zEg2z#OlMJqe7&t?2EZ3#&wM&DjSWe{VGV0t`j`uYo>vBZdEIG=#jURFbQ3l#e#nZl zPXX`SvxCCG=QR%>l56m$2LJ{Ce*{>EMnh?mxZTLoRex}e^-sP+K8^M4>4njwHqWH;oXNaykWq+F%R&bg~X7qhD4fb@DuE1$1W{z35d zcZ4=Knjz9b>er64+%JzQM~yzI)ia*3#!wCG4t zX3e7AsTMLcX#e)71#x?_r4Tj6skeX$*i@^QJWCDq7GYL;9X?io%hw7H7xD-1G*F{? zLs>&5J8kbgd#HglevMrD@0R@{%>=P;%ox?Rwmyt9)nrE`S16$7RUF9hRGv*!!KQ^1 zcG8WPg>HX4b89{5RV(Af4L-Y0;BJ^gSd-$&|52%>5|SWeJgUHyWEAEgG$n!y~tvhAo| z@4UtGYR?B+bG-*_lhxh~7-=%An)Ohfy&^!haB^1*D@rn(d{K2s5Z&c7^m{&CBbt1i z48^slXi><{4kBP=;_#B7f@;j5V+i*{XWfE5)4zX%jQAU^15r=)6& zeT_tp2ZbMa`H|I5e;X5BkCkXU2L(f8_D#@DN}*f$3R(HX79Z?MWAVcrTqz%EiGv` zQIdl&c7_c~5hMrM*q-&VH#8*|d581u{=8ez+G=~CYb{dTmW^jeCcnWd3K|wH)tRRJ-fC)D#fY_r#Xu^U~)(gsb43Vlkh5&PIm!X^RdgZxm*TL!6^@e6=SKY>2yVa%ODB;LjmkO1zi95OeM3Oi`gaoaJ(e279cz}?NW zX13h+y+p1&b^ag$B6FU7Q&RpB4y38Ii``iSwR&IejC)T6jgG2Kc<;XaAHLo?D(XLI z8x~OzkWeYRr7wk_x}BN7d2uBR z51;1~J`eB9-1Z|j71_r6Dr~VQ?T7*+yn8qEy|Xij^*Iz3(RYI&5DOiFT0 zf<*eVWqv>+6jLoJ(8Z~Z##ur5$-^+9Dl?HT|91N(hJyGg@X zjB4t6&^%7wnKR|ctVWFo{r=wmL2KZxx8tlfR_XGn#HVYqrE43m$IYO;!b0K{pd+XL z^32b*&d$AmnZcz6oil%H#m72Gr7JW9D7N8 zqU?QQqvw7X-jypn;3>FThv^^TxcXlR$0yW1Qvr6{S&kA6{=oQ<=^TC>QJOXzph+)J zhucc<&2CBX?cpwU=aV8`NYpn*PEcce>G?4J*rB&{yf2YfhVb2X2b!0GNDj{Ej4flz zUmf*D+Ad3oU;c^b^q)WUue9rzZobHyWZFAAGDqlk!0^eMN&@^^I^dm{RKBZg5!69{ zxOMSgBaDe_LKNW8roBWtY@97B&!vqHM$ReT8GXr<6%Twjc=Y5P!1yKlr5Ey> z_ztuQ)oP)kqdYMUEj-&a!PpR;d@=0{^R@Ip+F|+ldApr7&>M*lxkth^PgZqw5&~Vq z56=Fee#73o&Zh^ue9e6IfjmJK0O|LK*q#gCfUo&l=p5sf7K$w!&}>^vjkWy3kX=?R3Ft;9x*=KV9so{ z)vaHc`jT_Qf@coQYGsh#F)42Fp*7c|@htUG4O9&6R8u41vcCur)^7xIGvB#R3l@J0XV7DMqG*xwP*4Z(l@hPB5TZfng5Yk4s?TAilu|0IQ zO|F2X3&*i?KpW)Mv{B>PX#3*ndaGG9rZ?~R_DD|~!uM-Le0E~IhG1Yw{`sd$-Dp|J zR1MlWcK1ykzT^^DQlbMBi^zRHHPHBiD4^>14ZAc%G3*>})v1vZ8^fuL?Ag=)vo{>7 zIfI&7$~-uC1^!^MtZ=WAj&GrX&EKqrR+}_4%of~VpSQJHTnaCEyIy7x8!Qsmjd74b z-eS9A+k0bduK9OIE41u&J|>m-tvl4ES%QamUqtY&98xCxy6Ht-In&u3s4u9(F>aNLJgRm z|B{S>rI2`86EM~{F~H)L^_?$RCWm)Awr#;#wRUauPX(vGvT3C48E61|dIQ1^Y zxTVMGRd;1%W6U2K(+u}cq-G`hlAD^)k{G;wkE zM*?EGf(>6bw45kx)lpsKtps(uH!~v&)_y&#$d){&hnK5vt@3JqlR|bOtCTA~E#!j& z{8<>QWp(u?4hWobI?Q|jq*H={%^obA@yr1FZ}J8fkzI$|)IoE4=o>ij=x;j6(Ey|1 zhn=LjD90lF(HXN)rr@%*(@~u?t&*_m7-xR&gRnM9GxO%rOFl<3X2Yx9GP^^RlVI(b zKRknzBm7b28F`l51Ecq^Mm=kF%}JO%n*&5mL2gd6!#ax(N>zqg13HdVulv%ZtU2;~ zQHSo`24>bxo@VH?3rzCX5EUrCA%Dh%hF2i=g5o%60iX>&DbU>Ee-@t@bAbja$SI7^<{S)YH zhC0Mx*Wl0Hc|Y}Uh4QArGw!mWzu6_8HgBy#`1zomD7&OSTn=&_f zs@<;`t5Z~FN&3>OW#nqQ8_}AMsFc=_@+9hDREn0E8;Nt>aF1g(Qiq7{Q*O&B)jLuL zuFYN|ZWcPHpN1WJDkD=d(;SV%ew>*A*)D(k?^4L3^e`WgF4+;E#W2zQjNs)_=IYi! zEohVTslQd3P1WmOJlS=#H zyS|Avee?r98c{#zo1$j*bJg_6=-=8_BIzdq}s$Y!&2O7Z=G5LFXydQ3b6WJo0r)Eah=x;?$a%gEP97;+^4t1(~K98 zbd6cLxw(nCe_jk+t`ltuZBWr|%*FtEE4hlFv?;Q{o+)CbW2f||RI?Z$q5W-b=AdAT z1Y0yqh^er|`DDOyx1kep?H~`?a=HX)t0n1mF=*tO64FKh3wpI)pV%t-lHqojLuh$o z7{mi1t27pk3WC*j!z8f~e|8A2YX*PFmDh3I8?gZLUT1T1h*hAa*itfZslmd!6TA{Ge70yZ<80HcYU~K_K z#b=Sm&*YF{oAbLbS=8Sx+FR{yc#EDFrBpM;QnV*a0FYf5 z7Ht-OcL<9Z_%fr`|JVYRlzKic{$6<)LL*@Yuv{%4y@=4Y?7NCh&Ef2h#o=c`2Xi7# z#aM}dqtqgP_CFA~DT16B*s}1&+FhIgnrdTDyf295Wg%*gj@)DncpK)o?8?Da(-JUn zvEc>y_yseph&=IURp+VI;5S|dd<~!T8BUjLKbUC(c|K15Q@OvDk^}csc!C@ z2D?3mu~N5K**s4WY0eD;&F1?4=!p49CkT?`*^#^C88tm-?N>`SAy2c--`^{CY*Sbo;}WJ^Qjce}1$ zXWWD&sR3?0MV9T<8DcpE1x!Fk!c2gA%`7Y%5Nb>?z!83}^tDkh-jcE@S_MfQEv6Km zGis*L+>Z_6j1-2QZl}L$+_`AV5iE{))ti1i+6w#oI1@`zuF3*ueXR!x3oA*0t zIQK@D%(W3XdNaw^$vpCE5uVBR2{!rA8w*IjX8~LVL?AL#r+~4O*~?Yj)k)&wqfGy1 zECr*H6tEgml)(A=kCtjf!dSxui_d;=B#-K~p~2?XPv473{5 zArY<+Xm=qfqAd@U_)F(KD**1xZviRjwrR;oYDpa)UW?YZapsdWKt7F*Wrh`_PE#1M z6@to{Z_9OGNTLboxD0y8*oIp|^^zB3pD(xam<5=FWZ|M&@mr>D>zbwDZ#EGs9sM5g zMT&C660{@|8TH1o6R6xM(jPCR#9J#Y<_E@AHQ3^8R z)}-w|{A648c-rSz3_A2TGDbFtK=()c!+0W4K zH<|7oAN8t%uV?`c48@>cCESjn3ltVF`SetJK(H88eY1}V$W`=+h6>Kbl>6Qu@G`?b zLeoAinBe$Cwm67AHW@e6BdoorxwnDMk}siALs7CAfPj%jt(^8+YR-Q!nKJ!aGeB4$8AHZyEj*@HnCzyz>ca$)OC{rMhVK3@*{jsiYh zS*HrcAa*dKvMRUX=gY4@O9#LzHoi0fJhROw-eN~$rvGQ0xN z#kmYA=h^a!pCLeeTYKNLNdqz${c9u9L?hHauGW?gjZgYBdKJCeKWw-G`poHb8CBKGhU8w zGJr04nqzEi$1Dn_LVYVlYQg&!e{|3`vW!}faMI+Ae;@)$6b0v&mXvEoRS(FV*yBIl zwuh3?8KP_~kz4`tnau+Qzj|&ZjjRP%6JV%lCPayseta2zph60x0dsylQ!Wa2hKp!H z-Z+npC?hkS3gyZf#DB$wuI%teCw}(&jtI0k2pcDC1)-cwHxUuYke9r>o2Q8x(LUrd zPa4oj>w8aOGGYafj@4%YQqsb5b;>kp^oEFCLv3&aZt1Ju!Q1K?Z|{U^$8M{!?dR{I zSLZfrmac`LbgqK8%ZdUp5-`U&me2XQ)>!G%VY5f&?2C#+9LsigJ5SabTqTK919qy~ z^6#e0Li;2uPKk1=OHoOEr5wcm1tBX7WN?RkK~RPv0xJ~C8R5}_SImHR=})61(gIbW zejPWsW1ZIrq$)3*b=FGt`~CUfy1L=Z_4g^vux*SvPke4*$|Qjvqz!N*Hqpch$6^L3 z^iq{)_tpLS5m@!R!pn_CP95T~vi}Fg4=etg9~$W(lct}mLrQWV4mFqnUUYCACb;9M zNXo@&)~Ze1^v^esN|1v_W|W7*ek`>p#^-_lKC^xnR@`ONUSwBSGW-VH59I4Fc7Ok? z{TcW;iB-kUTOa>IF0I6vi0B1Uw~{ZF{aM94>XCE1+{$R+=e4&}ed@UC+9#>Pg8KM~ zzJQBbbH<3mR-pYunKhZ|ytINHgkYed@?dRY^~sOsA}=o~WYu%dWCXj3Turx?m7+Fe zB$^|eCmNZ0sT!W}Ik57f!9s0O^N#~jZ1u>p(fsF&iB!#7<%;_}>vwyH!G04zQ<<%N z<*6uS(r&1O1n!1oDRTS($1=ZX^AVay>c-ebe+Aypq8EaEB#a^uIe_-SOJQk4 zVwt~O-d$^U^OtG;?$d{la#e=l10IF#=wrgHHcywyK(muji?QQ6dj+QZ{8Io{nA`7aS)K#I91eEVI1atqy^H zbo{!cIYp!g;o+s^&IgqcF(ik0c@Sn$6sSWskO*Z|pmEcLY#3O9UR{hR?UVVtlv)Wz zV~E8dp7U|szv&rm?BI?9l9wC!q+4L#i25|qdrN9j^^8?bLuUfDjys~n{!zZTtN%{s zA$Cs;OgxN{K~l^BfBK(uXkL)3pt~(mAOy*XYV<6=^QXjP^Cn2CHc*FHc%PlO5-d8M z`@KLwOc9OXkp>)YSc_Tkv;@*6%1Df0VV_avud4aXJ{=%qd8A>+sZI}jp#^oB5Cb|GI3@uXeP0YB zG4aplnOD)qAM*_V9eUAladAN`aY=IYk0KOoDlSYa!%;Wgo59)8}Mkjt-#i%UQ>GhkRq-cWbdarc1t6LAVB$IWOI zU_dAIF}ED!2SPldFu7?%+4Y0cAn%pSMPsO@b_fB{0tBLsE^6$;T*_Qj$=}t8%}@CW z-RjX4`BVcLmxM^!PYH;o3~!Z%KQ{0r`kKjZ+0-%%F_`<<`P0E z*7^Q5!^_$>Z1nr**LA82}QY0Ns3g6 zt!8{h-u4{w7s(XV<@`Fd`jfoaB*OWPGBQrtvlh&W%_@IW`+9k$C8Kd>-B6v{q~etY z1l4m86d@ZTlNq5m;%{j=q<7Y+7HmD3OhEL~7U8L0V5>u}ELHf}Rv4H7t=Seep;=&{ zFN0Yxyu0KgU7nU1*0|2&_mF!i2^T&a3oJ>q2#a)1>6I2F1FFn&=S)`Jw_{?%wp={; zmvA#SEpN`8(CAVXsk_}-wL}HK#hC#nt0H-{6_Ypiw8kVKLFkY+bhNY~79l|HKkDT( z_uo$zaFDaFW@Js#ue2+x#%b@*SwBuz#hwgy#A1H=1vQ)5m+r*!%MEMDP93eK>}?uG zxJ~Fc5k?tX0WZ^a_UJ55<(O~ZxKCqG!+;>?J96do+kjEw`sSm^G&Uzxb+h@Rep_tY zJ}Vn^d2!1`21qc<4h#na8+BEY43?-`Kzq==pr+*T)bh6u3@rsg@f8)QpbB&r2Zb;X zf@H$KL4CM%klw{i zFim{{-(Ag@llw)QFnuG-jd9J7IP%CDAeca-bnj^9GM_*i;t}ev36VNotwm7Yyt5FL zPw7tjkmii=C~2L^11)Qc%+Pux`~0i<4m2TE9b*z3BYpas;NyPy`$vx|vIAM<)7bfq zkfA^(@xlJ@1dmB6DR57b3!ek*2gW|V%j3O2Q}~kVyrH_-NGSA5KMHYyOh<_Oe$a%- zBNwK=&I`J)ZEn-+7K0QP);~c>#@Jc846KxkP;s4J8TAI?M&jm798kn z>v7Pl>U)SG>T(n4Wp!o8N9YxI+ru%qIu%^a9efYhGYvwC76(To0ossVn3Qj(g$E4CC#PMsBsZyUSm!hl>V@y@O<9P$6t)9#9;i7*C0z3A;xQH6GPPJU%_%nVw$Ho@F53`3SClpv0X%> z>p9fYn=a#|SH-2|^RZT)cz1RY3(RgLsRE?5F6dnZQpqEfA*h*`U|rsmniO0Tv9o;` ziJtTD1K&i?D_YVLh&4HtkO92)M1<;A;UyL_-^EfbWsN=bvN(%nm628AHvP=C+gi}8 zKS;#M<#-!2GoYUSnD&+pGC%iiMpo?LzWKLso*WBO%Syk_ytK}`l5N47c5 z$uHJb_qPq7NOkfFzLVSdHE`rK4n8YfH)pcQ(Q@58xT)s`c#-j)C*w_gS;s&6mRL~0 z9(T?R_+AK#PDiwVmYYL3?@>}HBiBV`kLz-s&6r{KnvfzkxFa20l(q;ItNVRH(9rv2 zv$M7UT~}P&of^58JdOUV_r?>dw^hvzaJZ97tJXg->#rf|XyJqTzQs<8rxu2A6H}Wy zN6JG(K)`Qqw*GSP%KNe-ie`yZ(v6zgdl zbt6jg$V0P|8QNV)9`p2EksOz!$}{peVBm7136!MIhX9(!4%-q)Iw1;qSIQjTjZt#|HvsV-h@-tY~AkF`0#sH?*atN{I`Ld0_gxa0Fe z5PsK9>WG?3>~NZf|8*C5tYXCxs#l&EMM-c0!GgDa<^U)nSpwaPdYTm+KZv@^1pclH zut!lm z$wjVhH6g<9_Oun>y{8Oi!9zq8{L0j`f-6}iA^0=*;(hpM+2(Pc<2Tg2{z8+^PuB91 zw7OD1{!_$OY96Rfrjx(J2#1xSDna+x%7vMcTk;_)wnB z{KE+<)v;(owAtJ6;5ag^i&97Oda;8Rb@rapsdAQ2^(~b&At-%##gI=pGvF6LeKBa+ zVqo@@)YX^bu}rF}YOIJ*EG9tGbi}9(a%LRcu8>2Nm@$pK-odN2PIy4a;<{MOgRZwP`}8k!@h${5c;pfLaUHqlfGq-`~BX5j7T={DEPg zay;r+6b`b62Lu(o6FOg+Uj$c+1SVogC?Ck^alOUWt&H8)NaHju{d;PGi5KC)Y4V@O z50I0;+1m4<_S;NUtCkG7Uv%;rRgLEiI(LVXi0Gpl&IePk<)uVs^q%KG1-?t+%ny+X zl{vunu3mV~_!h=c@)vy<$9prG{{L()MvZyJKq>|p9o zmbmNQ+gOu3pu423b{Z&+>g}!?YA&;8Wv%sClJaJAs;@x`K=_?AmvVYPSxG#st(2B2 z4d}je&)lc$#8Z+RR5P8FuO5@jQ#Cl!bgW0kZU|3* z$dk_%0@iecYgP>(Pg~@^2ORZo4`5lciq{>dCVsHsv=S2&EQ{61*7_}r65>`w%%(H?wTtql4;h3>W24e?gjc{ zC|xv|enS}x)o59gA<55f`~TW5QA=rhi?j|l&`|W7jra7@@vd$aH(=XjU1ivro{Lar6o%c6*4RzA z^cGF`sJn81iBRUsNa`1XdF>NtbFLWJfJW%l2Y(<;en#QFe+S>Ucv}0LQQ%xFHyttZ zuFWqJ44if^9M6;C(#6y-1&`ON?;*>aPjtIDo7ouh8WIq(-tSX@sB&8h`1se5xp~(t z#+nh!HYm}fsv-tY@L3OhieoyZX*BOE>5i-V@J~}3{d27%PuEBx%T>hI))oa{LkPIq zv}kq>^GEsx14*{zO2_>7$mZpWgigCtx@@D#x$ASyubL1bFTAbk;B3AyrAQ&9Qo?mt z-pI(2(S17RkyfuVZHVu)rflRy>Fh{MWnN84Q2v;CMQ9D__itjGp2Pwb)t_UJaIH%8 z60-Y@G_*{oDUS)C9SE`Sb%dr|L){E))&k>FLx|-J;fod*XbohvsKJ7_RB!pow7}IP zPIU^x>NUA9k!SD~P!TuYpsl=;d!i}Ykki{#<7W@+{-EN2wsn}4gGd_wdL0r8)K zE8T|ddl0^yotnzt*Du9xsNT~y#F~)91$H4Dt1x;P%s#Nckk?9zrf>2Ml0&vieST)8 zz$WmusJlW40v5UVwe)Um2_Q014_#5W8{e;gX=9=?Cug#8d3m+CsD>{Bmo~9$xk+;U z6=;tN{}a8PR!|?IRT@zoB0HBam(~qpvCtntW zQt;w%$%d34D@Rszg5%J*Y&n?$llw?J?;Y67s+;8lWf}v@mA7nER||R6%mBOjGeMuE z=5$g+%friqvwWrTTFMQ-!OQ2uGQVq(W=^kK_N+$JC~i9jb+&&6k|&Mod5JP(PnKR- zt;ySTDj&yXZYdH(<)q834tJ$3S`trX7^W?jz7L7XX|van3Q=%-4lj?)Mxa*HYZ zsa=^3p(PxbJyhw$;uTRcDzxsAaD37EPLn4_V`fLWA;w&sMVscP*ad!!1RjBtl>2QB*t?D@271F*;#{7DfG(s*HsR=pKt)HHy7GgRC~^Hr`dE@ zGe8&e`(ICGN$G!i{Gqie`gf9otR&gU^8(wdp!10)K+fQ3!_z&_Kg*dY@c}6e7Cgi~ zt^{r|K@wM_eU(1E{tg{HeIJ&EJ=$PVQ7B0q{hTCCgx=k!;%|0_!s`TKfKr}EMX`fj zsUXOLwzdFN6GCCoIoE5{w7}99(Ii5C7bLmxGP`0^N*l5~VRroVS>cOkR)N-RGq)~y zU`}-Fu9bds`CHo|Mm_So%dW2VF6kU^M!3<aBOc<7`TOipu-M%u`jRLD-TfTH_}8S3 zKjzPoly!baIXY^I#}Pr) z9(oM$?ZTumOteXBz-yrb+H@6L=jR=1Bnxj_L|QcbNnv7!i4}uzK}Z1<76AS)Sb(vj z#ULJZGuv-h&1T2(EzAA2JU7k(?M1rZ5VeMH@oAN)X8D?D|( z5-V1&>T*UT1K!CLC*=IbFCfsDkdO#61HLD+44)hPmYG$#E}hf4ELN`1TH&`;lWcYnvM#5K^Mt;mpD}(9kPmq)ZmBf zpIRk1wpos?BqSunuZ1q-5Dg%|2X|MasVc0JKZ@@^!pS9GIlwAGg4IuxX#-!^88-b1 z?n3VOp9FB+--coD$e&|3myBJ%4$y-*T$?UU-F)i?fKEFxBW`2JUPS^lA#WJ1;YJ_N zb*O_7gS8UZhPVOZTm3Nrs(c{T{;$~j%`M{n_gKozFh60q(wU{A>INoes>Q z8;QGV||n+GmlqjUhuL z`Qt6Dei$^^j2fjHM|Eb!#U-!mdo9e9I!ef8a$IBH1=`C+B8hus*7Og0j7yBdpqLs+ zo1}ADXzh=-ZHq-4wR9o3^~$E)BWD1jjX5DocJfO~eoLeYYd@%+S6m$u>Yc;V(vva~ zfHj&X^?@VK^xH@+f}gUvk?P%U>;3)JH#U8}KPdbtGzfxjVU_=Hr@`4=C`)56+JPGRa8>%)=qZ+E;3!=KBF)#wk{|HrPPhh zCIsf@RFbbmZPMP}iCKR~d%FpO>Rj>p;8%MKOw}4U{Nok_8&NtCDE0ds7Mzi^mL z-P^yiTxjI!owNsp+50xAZ09^|;GouGGCFN_u)t~y-mw2_|DHc>{pH50+J%*79%6XN zUH+*jjfpNJd-6>-s-1wFa9&B@vAW=o1$ik6&lgzuC0aD3s$tcHXc(u=IQLcf<#6;V zHz(?&@Bbtj%l}R?D`@3?kAuew)6t@*w>|*4yfwsMTo|^_+p#fGMqHQRzLtfA3Cnh?_GPUY6DpjI~~>5-<-;h!lp zC@&&&a=*y5`{IZ-8#9fYGoe?6eUFKdZ$sTpDZ>mU;^v?B>6NY=N;MI?%b9Ds&va=o73@loZ!+S?(6MK0sqT=PC=ThE-mN6sZzB>z(C{Z(1saot<*jlRFvDjFQj zI6XtRSLuG{bXgAwT0gLi7eDQBZt{Aq{)-S8^zgT-ql`bc`4yiKJ4ItfF|v*3CtB^q zfIw)8=}^+vn@OKz+m`<2i1> zgy-s{9Fuk;BhB2RKvsDb^OcGTAozZn(UZQpHuU4si=QdB&3J-@e;QZ;QqU%QIH$#X z8zyUbITqXq^mrc_)(JQN)!f|tJJ^ty)|%UrV)l~4p#5oh^-FwwJYr0Zi#2G9j{NdF zcgX4HVF^wl=%>u7O8>?pLmo(Of8d${xSLaCchYIGW|prmB#&Z7+i_Aa{>~{9pb~AL zJQCtDTd6&pAF}D&D>6PLnS*~~T_n9EUI=oOr39jyA}{OeT%bG_{5Ql@D` z?MyOKrlYWdw^1otZasXov<#ODdGg!(gssWWv7j;l-f=LEY1*QJ^?abk0bY*QMu4t! zCOdppR~?VN&FTRuV<`kaTi`E9G}ijNyAYmr?t~pQ!Er#NC`v=NP&4(a*3$&kDB37U zS4NEKeZR=3A`}MW8SITLwz5#M-wYdCojMA^`wNDqjoZ1J(RtaY+c}$QEA%L?ni&tS zs{9>ji0b5>*Vd9-P&d06zQ(1bv@a*Vz*T-8C*pNB@|HL5eUGbaZi9g9SM4alEhbq0 z)hLG;H$QLiLqky!n#C??H?i?J_wiupjc_*~DonLAyN`MuZUA$BKU2rr2qVeG1Qzln z>}b3EDFeRkh{ZGcaxD&~ZW|AjdDcbpX9!Q@64`~DH7F4}%XAyl%djna;v1h_juEM& zRn@wi=`lSExN_it>o3x58?6N$reXH_IY+550V*6nK3Y6~3u{SCXUMPg{lo<8qA@Tb zg{=kF6_ov4YeP$Ls0#2s!lsQm-rL(dVR?(14oUH5&1X`0VM@Bv3N8oHzbOx+57?uG zi`E27#vIcy5ueJOJnX(wn)oA03Lwf;i{2A4?n5UWyPsO3aU{oFxKM-(1sC>jvmqbg1y~dTAE!Yul$C#ud1&lS)uU2QdeoukhlMYbd|C`kj?k}1z4DDq1-yiR z3we82?cPriIvMFct9&I-tisEj?8%c;%zUaWMo2sL0vBD@#>T6F4RONJ*L3fWZB@r? z%qCGPK%74xVkO7h%~1gOJuEaL*9pzwD@^ynfG+W=oQDL4<4S}dSSO%PFfbAmb4Vr$h$W&3-Q>Pc;1YR6{A@7j{J?&GPOG2tv9FNJ?-!ZLN6_|y^)CL6ZP zCaz)*0vKe^@Z@94bj;+YCmdg9SxA%r8GYsWry?U)T%t^a)}8>>6L^Hj5Jrb}8JiOU zJy_rTEl_yXsEan*T{c`bTv_UE@PUtMP_YnR3* z2?p@-PGX=HC=K(QG+F~K9tS5U$yL0*Lj6g`o*|q(1R?uyb96U%CHHFTB4uTo^^gTn zCbm4!>%GU?mdaTIdK*4(E|@>8+X+oGCk;0zWk@jbYieg_c!gJoxQL)|q047cd`hZ8 z9(vB=XNraQXQPwWnGK~%{RvW_P81?*#pi}`0)Vo|g&&C~y9l&M=SS(V<-)zOajD!Z zS(iBDSjWGlm(MCqyqJ;_F)@L%&_?y97JuEL$4iaxRhe~Liy-j#4)8NC1nFSKMP{^Y zu&9nn6KWk#MYDMF3Dl@;YrYveO%GQH71GhEA@mAZ33OUJ7~U6Vf-%;qVO#jrt9dsz z#F_|Y^2V-qevqg5FK;m9YweJrjt7;n zY=s}xVck;2W*Xc@&T(6^(N@w{;fp#H2sO7DH#7ld;%CSVXs^-L15XqlOy7_P_-83@ ze`{^85n;73r(FVbGQ&F8Z`E7>7PL!tA+w^!I}xl7y~!8NW)!X#=RadII$vjEM;45U zqGpm)nzsn*k_H#$0`~VSZ%`_O`xjSKOTlEzV^rU%-csIM_^+=b%-m!nt=Z4xp?X@( zmhp^eTi^5Le(C6}6UQ2F?3aU#wkY97Lk<7T<@aCaGNGpAG}F!}w@CB&BVoJICzm1& zm=5|pwG#j8EO0kDT=(yjgs(hN`~1ycYJ(?-sO^;S*gaF7^0i-dMz-0P@IG&Cm+7{x zfpHaXzGjKn9GzmEU)cLmyv`K6b;DJ{#IE}#)j8JLQ;|r|UMTzBJ2F`g$4gU*+tvBg zf)-wyi_PSpj9OQ);C^*U=xSWxBn5wLUMCz|BZ6+3LPOnUM`jMunlmOZrhn97nXiqM#e1F=}Py0sH6ugY-KfRqJ<4# zxrldf|2U?1uf}a?05wM&*uOt!?1gmm#%rKq@ZY#3=>Z@eT%dvsQEW}{ep7M7^8E)$ zKsyuYsoO?L)0|zwoJN3fbMH|VraGNp2wY_V40N?tC%lNH8&+cam5w($562Q-S1uI?vBX#U=2UCK zqfMNOD$sRuS-&>WRefCd;0|3!fuz0NV+PO<#$a_qAi9YX;f%Cz=6+f z`rtkT4CG}7Alj`0k2@?Ma^=pDazRk@`%nxYPsW5eqcTya=)g=C5^7OG-YW3>T>bZV zJ&I-l%LlyS&sA}9p0$Lijf&9eDMmbrZ8|k>I8Wr!W4Eayr#-(PyJm$w;=L#EiyPnU zx|kF(`x_2M<(6G?;P0B656|Xgp4uPE@=$#zOlywaxB01E$M9;5HwKMmD`4mxbyfRg zX#e#J=wfj3iU|Ao80MHc4V`T#R-q|2>%Cl(@I)Sg7F*stSW^!8-xh+bPj_2WIhbIO zu`Kc@tpEPO3;*>G4xJbx{W4*%Q*_vwU&Bc0Ag?vf!ZCrt?gPVJxC7XVO-u zA=!D^#IY{g+oK@+;HAG!`WRJ;>q0Z#On+Y3%nKPkr1VZh2PRz9>-a4Vh_n6}*Ca5W zO4NIwe5A#2`30HrMW=Vmlzf@9RC(c(#Mg~ulTQc>qk}IqQdONa1BAR(V%U0xO>%>) zLv&!Ue)VgEAn{~xH6zr0o4xUJR@vzX!7zI7X0 zJC?XDe9H|8k-pP%_ZV4m&(|Ee3O=u{IC$czv(9%lXV6sCvf}EPaXN zo5C5S|4I=l;R{3Bv??eySg8A8$1-YtYezPtQ&J=TCuG}W?kgLVpeB{AYr1VF$P$a>E9?Fbt#+T1EK z>-g?M}hqaXA+m!Sj(Tg@bWZ~BBMS#RmtKxKnmw4t`Pq(L;v6@YGCF+;HifEJ7*F4 z-9cF_*=Xj+ra&H~M(IHMmq*ipObKebhxR|?? znx@xLR&lB1WMePdMa+kVCHtu4Qtuoc9qk;MW(p@noQlr`1FMMp1YJ*9#5}6!4#`)h zBHabi=4~4s-g^Q=$NlNsDz!7SBC2ex+}&wW2H9;~Op|I*{0&!WlQ*x00zM5N*L^TwWffq?@WkRJ~pYi-nSdzB*a zzl*F5Ui(+JRiE`XV12ZYxV%+uya226Z8B|VeMVSs{{wO@{{`e`3Ye(29j6azk)At$ zn*d|7GDOfJPRMTA(jEev< z$x;QqdT~p?}=d1vfHXOUaKdq;N7H6h1Cq1v8sy;LocsGZM zvpRxr3Oel-q<&qWawMMo*NfiF^}9c|4$|USq(Z|l*UQ_o+p%seQ%nZekX@vC&Dg6{ zM6bOvrP?TqUVaps38}HVLy38^%R%r#CRfppm@IXGCDG?}!5gE#Nm z>9(`f=db_ow{a#Ia5Y25Ptc2oy0gMFL2y>v=0?v{PV<~Ia{c+MQ^aa$srE1JLhawE z^M0YJ{vSXI7qS4tkDwFs^NENefb=E3AHzJYeRhrtu}QLf(7bb&iYrMFAC3+uXjHx>_S# zf49{^*HHw0?2W8~5O!`9XlzN19-u3M=&kWry_a1hEXz2$v3pLx5YGY0XulFzG_W5xI@Y}C&mZvNk#97R8l1rsIl~o+c8rJ%UfM?HV&>AG z%NhuN>B9btttZe|&cj%WOwOu)32~_qnz=37%sk-X=(2mv(TkS|ez?;%Fd}DbEEu>F z|NJv8g+xWnqT*&4F9U-AkZ$8JHH^bQoGjx#j+vQwZBvn0&DzD-Jz-}r*@#g292>Z> z6qnU_F5bAm^V$Z&N_y+!^fICw_x$kkO@i;1v4C?N==rMm$;@a@`n5mRwsLwK5qUp$ z)l8ly;O^Js{Bm_xRu&9D(0AO?M_3l}HDPP%Ym#67KpKJc3)&tBqZQ{_i&t?niN}xX zJ5%J(q@P`fThG6LkUB8yufU+EQ#a`~{hK?HlXc#MDrj`-+YG(Hd*i0m0SlEUQ>mBRef2a@-B&8XFbYQg$eHPy$+dNNq4*CaB0{N`89pb z+432u$`mL50{Cc%TUbGSjoqN~CepVjl{Kd`=j>R8fXxox%Fkud{TPC@6cMs7$D z!-UynbV`CW{Zq8qZ0~mbm2G^sWZ?cpkvB@gfJKYjiuL}i+h+Xh!^4}9nemG^sE;pP z%O)%BrK5NFrm?tRx)Ou4%m&{8wQ&MUhI zv3oTu!WXu&S;m%QGy!vpnEA2^Hjwfw(N_2iFdY=zke$Fhd!cUoPp;huX|lAlpNX7t zOAXC)$(n*o1W%)e3+f(Ti;aM~=Z?JtOvbJX3r$h}fU*2F32DxYZf9YG{ePHx%dohD zC0rK|1b27$;K3!hySuw<7#xBHcZURbcLsNNXMzka!5JWM*n2SS*W1vG-b*xihtsEWvcjgW` z%6c!BXeMaaz<#uJ(p5ltCxPrq;An&>yz}0cKc;_gQSGG%EgTU0^(favX_jweN0Q!K zFae-5S9eHEcRZs=WS)LS>sR6(y6+YQCxuQ#1!CFgqL8{O>+r&jzEIiC3t{%k+N3J0 z98!2YA@ayZ!;h;%nXICW0KQucA1$h#j?{WNp_vt95mB6Uqp2~RS^-l4Z+Nq1JUKGJ znT{faB4^>}5VPNl;$1yURnuGEGyF#*jhn$rp5|@0V?L<==J*s-&%Nk*XIM=1zVOgJ zXTu<>p_ptr1DZ}b2>2ygcWw1<76zsTNbfYW+=mWQNmN`jl^GW=-UO|%LuCE)9y;hF z%F81JZj>^Wp~r0?oo*N>#t8A=z^i8uJil!5a)Vig=?tr-_*u}n94}tj@2y%T>5ZL_ zX>3Kv02BTsUCBQuvBPYuRM4ARSbj7VJEh$+Q4vF6l@yg=Ya@TSg5C4}5SNKxYb?{3m<6&$pIgs%>Pf2o`i@&EfU` z;@J}b5!Sykj@6P}=wcE6`)b2$&)*mSTY|?jRbunQn{ZRV0n=Bs?|SL2VIuRT=H2SH zzcW0Jt!WUEuRW!MF-rV-L|Wyn6%BqdTQ(c%t47K-)L|XeNoa;|oIc}baZfogJEzQj zpUb3s`SpEC zVW6=XKL5{p&?f-M`=~$agnl&=#0smhwCCc+?LOH;E)}eRUab4B2yhY~{p^y!W|q7o zh0X5Km}n^3Hfr0VoB=)rq1o-Td{UF@ucJN&k#72UIKyIOkWTn!xKEv)tqo;laK|gy zkKaT>`6%2PA^VpWw zp(Da2qvoBvyTX5(RILYcOB#Ya*hQYD!_HKBT^OsMQhG8udl54JVzW4OmeH?XkU_fe ziw=d>s4d$or-%16Z(W1L515f+gp!|Zd{+XRp~jMQr5bOHjq>I)AlH}Q-$Ix}@gPJN zKOu@nu-Od1&RA{&=*5u<47s0#(jmN<7_WFomXqCsB&5_boiq{622k3esLmU{0EWk+ zN!#{-y{2V=-Cue8G83ueF^}heyRZshWIm8Kv}@E;!O<4s(NKO@usibl%z(;H;{#&x zo8(6fxVQ&lxb80)f3EYOR$OKa(^LeCDqjW=f@2BL1)Or~I7TvOmp+g>RGl+aAU=)5 z4S%Ee*?6&td`u!SUw-pw1?Tv>AHE9hS+OcvbrxtjIQ;yACevz?cu;UlRO0lWsW{fU zD+eMbbn)nqdX;lUnGB9bAC=Fl9_jy*TtJ{_k)Jmno&rZguS=}MFZYB9pN_|<%!#ni zP}M|*>jF3Qv|+_UyJtaki-sb8ZNt5++x2F2gchE@Scb=cauU%xz^~`ySP#9f=X$EL^!C_ z!y7vx_C)8|v7S6@BA;hCvPzU+>0&+kBe#a}KE9nl9XASrbyA%I{q>VqHi9e$;YxS) zKvTFQ%BPUrQ|~k?5M1bQi$d%CK$52uRuGi9EX~tN*Jr z`S%~OG<{(YYW)A1Yvuo)tBhN>P9atTx_QSsFKR1R5n^4-n!!uFFwnV}y{R(aANsz> zSxBKnH2v}N&aX)tad!>=p#-PY*GyAnQ-}t~KyyEnJ2k#*cX=#M5;^u8u!^@GqDU6l~x8uwwfR&IPLb6sMr0SW^1qvQNhH~A5J@=eaoSmN5>~CCWgF~_Nec%R0j8M_R1&r= zN%)ku)WVsxdVkeaauw~e597j7R(#bqHBKx!j+z8uVw*J~{ggZaz>NPCuvH zMN`=G)ByzX^qUWq;9rGjbf6I7jyEUpq2Ei8n-zc=BvuSoW>B_J?x304NW#oaq(EX2 zT@_%_9PWf2wR5e2Az{F8Vz}RAy#|IS&2~_7scnlZrC*2@%p#@YPtF56+|B-;i^=p4 zq z;t-}fTL3HYchGx~Bc62AcBw?2$=NDeRg7{832AR0mL}}FDNm))`)UbDOe=f) zr-0!c>O&C1`M9qEO>S#Lf=(Blqo4*>5MR<1`h_GOim~*|m9FuJnQXJ|`|=M7AAv&E zukMzz--i0oW-`V$)|C4mmrILDIskq&Tt;dMmfr~dCaO&^ZF`BHPJL1;T zZ2m4xxpyd#mjRf*$VDm|e`qp0A3O~Ta0EDf*q;W@M?ab|G`Mosplv3z%X}K_z*lFu z&PS&mjF2P&h4JJ5nroJX-`#7bTn#lPIrhhuaz)n_4tZoK+@ZMSPmmnUSSg?V(pRMwS<>aGwF@rE|&y0$UM%zIgY4?h?r4oUX=VSfImcQq475E6B9 z0^>S%^X+JsJX)lwjE5 zs17Ki$q6l+mD2Giu5NVy+V`2P<+JMlOxM2zu%9DVo>_hbuk$*B`W}BP<)ff|_QUG{ zM$)?d{TrB=#$-w{JGlvPON#eak5K>3+kO@&w(WJ1UYU6X{dVXwp;s2vHBS;C73zkK za+C2;mSTnGcc3zgBX7H$DJ`yU7H(Tt0d_fJS8q?2WCkgFu7%twxgj4Kr?fh*cM>2izeLK%cQey8otn^5U*+9-jrEiZ}J0PL`$kMHQnOK77&GhegcO95)Qy{-L0Gv#h7fGt)*?Q%% zmrazCxPF#pTd{+JE<)4^=ytvO^N+TxOfjp`|FL0n)IxFpP24PUFYetzQ-T=O?{Kt= zfO^_y9#2GusHO;6;DdtaT2(aZIGFfK%h5lhM(%!mc_xg^cY*o|jeEXTh6#>^=Lx%U zB|ji6T2QpwpzU&S?TL@k1O{_ulx*$oPyb0z!;?1Tvm={+tM5b_2P{o+s$&~~NN)$D zdJjVN5mWZBU#Wjz$it~s`GH?DC}XQW0Ds{ujD;pVMa5=m}22%UQ!e9nOSf8LfSwAVF z_iMCwht3sM1VUyy>vU~)eK_3;15zK-xyXhPmzj8oHI?UA}8 z+5OpwJL6L^;js7YTs|k+_(i_fWHZ~z`bqk;J)?=el9e?h$I=Il=`RMH+JuHdtD|0< zl?_Rj&!i4eQdhLW>gD0nCi-wv)VTn66qUVWcdzBdGzV;-u0!AD1U?3!^nWe}^Z&Wn zJE!QxwbOCR!)E@JMkoXIAop6&01GTM7lk~VR)DowY>$ERE=g^!9UNm&ZzlX9RB(r= zwivJ459i_A8(hqsZ;^~Bkw1;9&`HJW9|o;_!+s=?GTrA+UBqp7$+8yfH>pm3v2uWf z!oO2Up+`FV56P9UsLshgjBfbZKFZV{Uiv;2(jCQd#&D;b!2WB?qyB~SN3z<(VkZ+? z9-83DLGYJQJ)+Uk^Yu-53YfSLvE9nkk-Nd?Rm>U)CK1I!U9Q^EY5yXGrKn z3%|ngyF>b~3H+%&xV`!$3}h%%?G$P0B!c8;tyeC9Lu4;1CUkLjGr+PKIDLal5k(tc z42@&&r;*`)P*u8c@;#lwe&ClMHB}#PJP~I3At^Zzk=#<(Rzbxk-EeA<=|_+q*ntcW zsf9xWo~)gvAJcKK{#sWJVEsVn{3fG(?fcuS8%s?w}d390$rX@U;KO6 zbYUkg$w(`cDE#>;?n{e``%O`6OSE9 zNe^;`Qz#NBuPL9x1=o)jXuWFgcOI`K5Ph8M{VgRwt_{w;F!$=tZ;vU7p|&a-#65vc zI^*|BH~(1he}6BmD3bw0m|oYzS2X`jp}vpa#Yg>Tyc1bf1#4kS>gg2&-tF)ZO|r)8 zud{6UF0NATfZcs1<)F!RG3DuTf97()ayNckPJ~;Uxt#VpJT;#5N0Tb8b=Sh)@GTob z<=9vbaaFnf_U4vvGp7_>p9GlLV-ePdOjLKAi-hCEwVr`8^3!A&5Lve%d}1>>28|8P ztnG7&3tGv&wBiwUM+4J3xk0?OdgsF40=|REz+w7L1~U6X`%QSp;V*z&@n?io)r`(h zf@C6%dKi`Jnes5&Q0f3~3+;KizxjTjk==Ldoz8at$$Vnc=w6V&jYw_;R7`HI^pLi( zF&OHtHQW^O&CPp0jeK1`q(@;ST=%4!=Mxs_#I3;mk-C080$`0R|q3NyN9MnlYKAGN}SHdbC$Eao^_2tn>QR9c3c)|9s7M4tR|h zytEZkGoiONL-LkIx%z(Daij{F_z_+Lz)Z>^%%7%9pO|j}y|&(L)23ZnPM|nWl^tyF z@0IgITDp@xERxslXOSBLX|2}P-tS(*!uu{uNXl^dG~Fu~k{8Q8-^eikI~YN|^8YcT z^0=EG=jD;M8KciRWp(3ga{16oWh*$x@``De@*SMe_Fkq21-u{ybbW) zcBT*OdQJ27no7+;AP^0~?}G75M-mhG>6<^q(rX>J-N7HapA`dX+?wsl&#v-@V8reV6KC8?^eZtJ1RwgGPKFj~BD|S=q`0n73=JddcgCagZY3b!{sH|jZ z7?iI7M@j$o;v+%LMp}$$Ed~`_*a(}!mpwC7EbJuQUDEr0aaD4oHNw|dV=LVBZ+z3a z>!dV)TV~}jd;lPUxJU1K8YFHZX&RM^q9{1 z?f>%fQV{qJx43@NDklPgQg1JgE$UCyc%RmUPO`Ia;nD5vJY;8rv=1pJv*OA$9%(%1 z9%6y3q+mllgCe}N+3sZ`G$U?N$_$R3y65*3&Uwd>wL;Go{gMQ=YUJ476zN@*)LWqr z+zyaRbxA@wLLN_3mDc(0JhNeyezn#-@qs`VS}HpF;k0Vh*7SZ!BBN**`M1btyq5x% zn(9Ae57gS$!xYNE9GiM2s`Pbyb(jR?AmZok?{WL)XbcH8vYHfPp+heZFHdj(lk1*B zhhjM#{L2HaAjtuduphU{<=~eF%|32Wj1-2q2QBwAU(C_EF8t|V;=N8A-d)1j(bEXn zfyYW-wkm#)N!A2Mkj{988jv=o9zGT+8@X#}djO9|;Yp&ttvc;T-^5|jhK#d$Er@)z z>P;1AGM@JgHIdedF}(SD0>{n}^11`opkSvU&%mKo1)kIj)~oLp(eDlD0P7bb(bK;N zwsSDctloEf9nC$71d%sdjNYRMeYde9v0yQRoK7xYv35PjFxLWK$>>Xa=(NI-1!-)L zN;8}t1g<4Z7)}8S4?O}8C%5J32sR$q;j4UnykC6-EhWa$FJ)$u$38kRz}pHigPT$j zx=^&2OR_$XvX7Dz8XPBsHtL%zvipMGrc^04r#W`~%%rjt3Uq{4ShC;2GA^Ayvqi-H zsGrG*Utr{9y)XJJUa;8Ub=hVgMH{e*+)gNv|7goOn$$dxp1>bvDe7BK@t!}Xu`iA{ zLN~tZ;&u%qg|YK;BVZBLIDGe{m!9a!{N;#;|J93qcS^!Sa`!pS*vB(cA9XZJNj2DC;G zr+NAf?htgOKA(UF|U9(eC-q^tyonEItJRUN3&LNdX0}bAdxOdgR)^v8--TQvloQ-S+76wQKKZN2`cbQLX#MT z?nAz3#48U|pzfIni9^7P?(x z^)X~$)Ikhp_yw4B3Bs$ZS?G4DQ3EDNtWQai8{DEFm2lqI6^DcQGF==d6(k&(3`rzB zK4;*d)CGL8Ygf3Fp3?f~7I}g`{wqQaPwD7-+1gksjK&u{%(|f489F?c&R&4YX3>CU zFPwgHy6t9!ZQLYM#=#JpYMt8i&U0X(^D_#yFdjQHP?ZlT9!aOgyrZH)juGN`_a^_i6r9b>|^?hc?jq5;I6 z(hVh8mmDkHy#-0IbEdZML~%BOvlQD-WrtG~)a@7cXCQb!-Pb$TfHLjMfPT~a@v&EJ z)^Xp#8!INfl-h)#?QKa7b<*FDzcyuMKJ1Z%bZkWTr`;EO)=4ewc0;sd1d_SBQvF8x z{jS=xilU;OR_exAj^MZXjg%1~6=u+h<%T@x2){`EWdbOMTr0+M18r=0%a!E*Z3j=Z9p-y@y&dNJBiTP{NBzl9FW$wOP28X-@PmjfcjZ%oU0j{6v^;CG z2VZAb4k7v1K0$L*!s4%5U}gjB77YugN&LY$l~xpaI+B!M2-oB5yB*%sTYvA0uK@4a z8?4ILumM}IwRTs|b|;tly0B(o!BCV577%dU?593%o2IkWK3xjz{^OP3zd391Z3!^) z(@h+)f#Bu#?M2u9fR_@KAF+C-sq={RbKMS7T)Sr?)NPhSY8_NW4FD;vT^b^igv_gL zB>;WE_>!gADxwkXTJ$BSLiOvy$>DN^S`M5G6O`uf&&%~>t(G~qj&)A$M@10GP5{5& zXNo$&2^KkC>vdd5WAotgI2wxtOB%awZT9J3sB4l4G6|*dh?!Lt7`j4(nS?4H9v-cA zPZmAraQ0uwTNLtn`-;aMU;wVYq|U3&}wiKI#c;l`~Ic_T*jKi)voSM zU7hI7DwP9h7z58?bHNhq)2@6A$*u%UCK4a;jQdaYLGWLMt66FRsP>`SeNQ=Hrp?hr zBWwp(Z{N){<5%HH;822a9rso zp1)wRyYp|{v?p463E))=QF|d-~&@UY~M4EL{w2P?lSVNNT3% zNu1m^(<59L5U8iOUSo)1RJZcug=^3RHRsSr9-Q-HFrjlok)A6c>h105+R1jQsq9^_ z&GWUqPMBuDwkDa!-R%b1g1wuaFzZ5r#y)FOzBW`5XHpm%8cZ+w1$deS*90(7g|sSG zb3~8=s?K;w2!?1r)Pl6M0zBj)$_ikIKIIB|vh(%Z{xEvZzH-7Js9>!C9-}z_hwe9b zgmQ;o4%*-*ilxy6&WW2ihBWivL{RYT3H#6o?B7adI%2&1TW)HYmwY+!DbnR^7Ectd z=rqQ|G)Q~{>oDT#)PSFZ?x6T_p_Y2{aT+NU)9a`<*XLYaUjiO^$W3yp4rHm!0uWh# z^pu69k>2P5F)Gg}44`m{_i$G7C{V~TNL$nA-$n^^kbqCr73JcUl?%8VPa^;VumqI3 zVH+S^^rP6EsS&lT4gH?irK^igIqJH?53DeJw{A2WhoVD>dR6d)CPN6nV8g4hB;Z#o z9#)GS+`yNK@ZX21L@8jw<+x^gb?~_5&$;eb1hh^Cf?z}KLiqi-Atv^s>+|tv%CRo4 z2-q84fA2W%?Oi8$o%Lg0PawJ|rq0Z2b46h%9hz@{3-K>=;D66t@0b(X&{b4Xjg7L9 zw_6rfplI(Sn7;&Y#-H4aFdFKpe@QWb88M+FyzF!lU0np)J@->v9P@f8%p?sU4{k zZPZSUAD$_rp`tnsHvZaxsKY<<FSq)fZUc_x{&77D2hYP7K}7i1xX>3KD=-L=3dYmG zRa|d4SNEeNJ&A0)`S+?0&~3REO#4dJ^pJ_Ae*RnzPmo^D&nlKV8sR!YS}DCN21(y1 zO}lDY)h@d3dDy7E5FD6Ty*r@7&)|!vGKz>`c1ez4E?J|6vxO!J0)RLD1_6tg89HK+ z3BRd)nF>M9xa(gx+dS1tUG1JJ;DN z@@`+DhPjVf4)I;Bci7CTxC})r)I64iAUp}%GX5o2Lg`#%7{=SEeDn!GLqI8j$=$CEErv!XQzM2j4Okukn>c)eoPsiPyEW z09Dc4UT6F^(;cXVdkk278UuwTf01u6OPmD%F)uktz>r_X^7yGr2Z?H>tgg6G zeMpNQWk2*A%}%GjoThv!6?H`V+EGp7b!bh$s#8~CoIsQE6CRgDGsJ_v!+6iH&$GdV zGDPn;U^0tH```q@m`7yN%Zta{wBGjf#vLYtVcU29Jzxc*qMRWRq z?qBpb8%H%m62qM0l=jJM;$Ea)Zx3~KFx<0F(fLP@Z=C+;bfo{U)2&V5i-QGk!5vBl z&*&hA$HUkRi9ZxlVg2WMSu`4jC-Z`bE`nZ9GlsdyNPhzS_Rr3+oSDVGjIhiZqYaXO zQbdTR^wiGY_xlqpFOax_Lo@Q~m;bwAIg!KlZ8GUsrC4yw+6bct8wZ3{f&uc~< z#nG2ZCjpf7V;KTvf|-om1#d}IK9#j{S*L!14p{_{&|g)XWnE0MG(p`9kmexe zO8n);3})FRH)s$=WYm;~W7K6c59L+$db2T$VP|%=%qW+o9-vKUVNLy&-g>k&pL7Bh z@#RLy&=Bi@OA$R089K`KF56m>8RQ_tC%p7E@EFO@k(rDSp&-(p?Px!l3{GMqqhZel zs=lFgJ(ATmi*QG%TTW9n(~^6}wUcEil%I1h9otz|qQPVm^LQ}yhhTwINZ9S= z!bOSn>HHA{y2>y2atITLB4>rBJVZiCAF7ng1!1M3d6*Bf%D&KiY=w3?N&rWV(fWK` zf>D36W=6czxK3j07o@+*%vROyOKoT>Jq&Pz;&j9BLh^+{K-RLuJa&z-%LfZS2LD@^ z|L*s~K_IxG_P@!_EA%OHC6!s4z|&G)Nk}J~C)$>;g^i7HC^^`RtHu``rjk4cqcyMQR0V&2OXGt=p$k*0xJg_t(pSd#~~UkAzZ9 zvB`|v<>?QJU3))q@ugI^q*1)}@Upi3k= z!ZR6#29nJ!XX9?~+&SBi(60_mRqNT;S$ytGzrJpB>tMvE^8JAYMBK0xJ7az);0OIL z`Hk}bB)|Re7(foCqWoamUZ4R4qM1FZ}J4Zae>+sfs}m8^3(-?Sm1Qb{unukRDRKm+xlvPPVzh8Mnd9= zNR<`$T5b9;W732k_$#*JiUnNj5Oaiju=f?&08)ARC5UU1*5JS!lvR~{$Gh`gGaYkI zBlASlcv9h(jH0BXEJM9!2``;7=R%LSy^;q z_f^g!#elGjYTF>k`G00$$xl4uLUT35b|pjgdPv&uSu7OUKB{P$Yl_|H=D2p;7NHl6 zJfWwDJQL@F3qkT#F+LEBnybGNe&Hv#C1+6@xAuSfNR>%@Nsw-Fr9RT)#NUa1$o&V7 zH4Px@g`IpQ2&$0?64@j_CE;gH(Hy>b&02i?3Mww;RXtPpq8hI9dmqOSvBO&_@XOM- z9y74R2r7d*s(!|9RE0WRscXq+?9iIAyEeJqS!dzprFXuxx`vb2hopwvux;#)ud_<6 z=L0wGgDs58OHkc`=Bjj0%5{D?az7Osmbi?A01OWcYi1la>m=UrX+oIA$vxp5a)9u5ac zq(JdEgsV)ZDeeAbM(5HG>Zs>_Eh)fFCeT*PvI*6QepdM9yot}z-g#%?gU9H0Hi%9x z05~7Ip02=&yGH(S!T0r#O;$TK}Fi#9Wq=tA{6 z(!D`fJA($~JEDox-qtdYF2lGbFaqA^W6WvsL7uFoMMen)C#R{C%MmK)$7|nFetQR- zI|3n!HpJ4is62cw{zo$c${$JiqJ|qwuSRwx6bq{;&fnvyTpWTtt2=wQBxu4OgBpum zDQwnQT!}Q>okQX8xepa~IBhM_aKU5DAfv90Gj&`xUOB_IMrZejuG^#D9O&o?5SVB2 z>E@xMVm)hIU&!1l{%;2g)&h-+;*_Gwtg@2Qw6e-w5f)opDtmIZ6suv0V#CJjXB)@_ zHz`~tuvWw!KrEEF@m)ELRmm{ z#Wxpg0;&lW$$TWI7E#?)(_qlDk^?tr?Bp9ea*LN=^V`})iz21?8}g# zm<~Ha%}$RA4s)%7GXiF9A@1x)`iUE0qb~M5w$z!_bEFgm4oQ(rhvhOr*PA36?c`G)x-^nVB z7?KV$P0gq378`Y$3JnzI;}JLqW#i+d75as~K{4!*=hYn5 zTbf2*qFaykqE~;^AWU-NA6|c3iWNsK$_83DumvWKP*BDxz|AWl3ov!-L3!vVy-{Fo z_r%+%{>s7nmv0Q?@zz~yel~9GL!kNrbO(3oooV*2{E#zx5L_I8nqDi|W?^MH8Uw=S@vhnv3f6h^f}K7K4jieqzCBe3s56-$pOoB5qtQ8P;4PY5^=Dh5NF2vE_{SoD9uk!X_d6>1 z3o@CQF`Jm)bf3c>18lHs4Ztg7XKgKaCn9Pm!JQ_mXFH3{xBX?H3Weha{;vkc%K`1B z4v(MedY`0?22hzz{^i4&zL8He++S_~CvSuyfs7eygD!Hv#)^J%d;)=5Z#vpRkJl1F z%g7u+Tg|m|-u(B_6*0kgq9ye5dOHj9IbDh;UFB;fee6v&9Y zziKY-hG=@R&?Wd5zQ(2%1RgY8pp%daKRuC_9je^lojVc*J=yj|m8d~l^Is1e3=$&~ zjf)!^?2cy00Lt(4@|UVJ8QZZRgocxPe|y(DN_{~dI=3pqTiJM;58nkg;)lrvJWlkvNHi=HlM zMu@lh-*wpc4%g}PcC^`s=&~pg5Ah5>+pqtYR6RDM=}+6qrcr((te)H_E0!=km3`S= zPAx+a{fK-0&Y&l6A5lI|Uo!r`+lnR&R>AFQmyVB_2LYDV0YohG7Sx=Aa&Xm@?xV8biPV=@jq;Hi2L{3i_8y&Ql4%ij0pvPbBlUmvIL z|6awmO6^TqBN8wD%_^4gqXBpXf3pyKMDA1B(1N zAy{Wqhbylh`uz4Lwl=fDA3QgeXyH&siMrM=#t|uTwM;YaD_CcuHmzJ&wt#$@{Y*FLgDdNG7E&9|ZsLT1Vfp@v; zyA<-<$HO??2Q4Z%!MeluU#w9-8%$^>#v5}&*@LyQmD5lWT9og)<8Dfx1r`{am)0u3 zvo4P9`GHRyJ`N{t^l1y9)vHv(C%X*U(#mXGoSspMEA0C2whvneuN-Tqj-K=I7{WP1tx`cWN_BKHs6QPGlf{0CBM9^bPNuIDoYZTB2uHiiJfhgzuFqh_gq$6McRC zJ6uN!3J?X)aWSi|R86hAPt-XIYct(*-ane=G!!;xNIWXUov3@DpnBG!*LA&wZ= zq_?l6ccTOPg@@C~`D5%E6X%ME4S#Y2F2`xPVn@C-Drgob*|(p|cp(l$OFm{yif_2K z$fIZnQN)i!ubif9sFC8>-K8oG(+hY;qgc@Rj*(QITQONNrTuhHkr7aZtbq53??Uh{ z>TeBT-h3H_T>w_H5KdFMdxbVfM;JUsgc01$P>ByG_`Kvf!KTdCM!}z9t1G}(!@qd;QATDdru0#n!()x4)Nmt2-h)us>Gddz;>vJQ z1Y;Bp(N+u!$yss?ii5Itm03)LJS8bVpVjZp$e7}!iApM;=cEFzCWUk^9z~Cg9c{BM zJAWRJnT(ALuRd;hTweF|-sW8q9D9g+cN5O@QC1oUeSILOHo3NhWn?@{Oq{bHkmDAh zn`Ad8ImNd16q5x0L96kzY0d~l~|y8A(K=$JEJTv+~%zH=skUZL^&)z zb-ys?6L_7``wB10;T2FBX>lZGYPuuChOkC}bsZx?;)H*){RZQikc`sa=7(|+>khBi zL6wxh_n`yP3uTi`ZPIV)v9oz*8#2yUFr7E3V^3APruO$+8VzEoQ}I8G!B^JEhqaveHJ+kpw}yMUeplCz_G%Z&ScV+V!j?mc?#!BtFZ); z@}h6NNDjxJEk`eqO$L;Ikx${|w*c)KPxxJw*FHD^`-~cWCaLc= z@SWf{P!;V$%x&u|=M>h;5}QQTh4*Og86V}o@+TA4+cZ5Em;BgkovTef4>@Oi4a+ad z@3}CK4VjK~V`7OsWd!wDW-aO-OrLBcJn&F^q7N~Cn^pZBW7xKXEx`y48P|XbKykK3 z#2TZOP8obkS~kOy$?ANA;ZlO3u#_=m1 zd)pcw*IAVAqPHcxe?|SVTtqE;5pAVR&}Mta#6XX9J2UBu3PVm|tx~e(Df0gK$fJl0 zKmG8dtZBKZC;_eCjil9v*2ZjU&3Z_BiZlKR2Kq4b5n5HB3~Mk zaXMnuSeD&}U(>>ouDuDh`T2EIj>McB_84$O$ylX-nimfyEwa6>QpU-N6ltHWo5#!3 zbwf*1G7v;33ZONJG-lyce?SI9-Ou-6EYc11m4~Z4j1_5EwUc(&}U%smde>j5%Wf#!&g7i5nC&S>PL7EeT6*=B29Sj0H?c19WncipCwJxmZK zj}@x0zb^z~)!}hC;eCfYnVAC-1A{Wwn)(|QIgVomM#OY`u`L;=YBgCyYBNVhuDhIB zl*T(3o`K(~jZNS~Q^CJWoHyQ+r@fHwtGNUW*sKPuo8h*UeoTQZcYym4jqAPAFO<;Z z8}KiC$^lGQlkK%n4)S_qvW%3VNAi)&fx{dZt1x<*j8^<|=7mZRPTz}FKHVTuPC5$u{Z2Yqxk)6#=f08?x z7;TbfXo&njTRb-XO+0F#M*l~dzAwx@+t|H4Y|3z>h6dLr=1-~b+0^q-#{g~&H=pSi zLRPvpQ$Ebj`ktO0m@OiyW7r$a)3c<@`es|cTPd@G#Vw7bs~0h#>)yj4IF^#;n%W>y z@Bs)ld!b84N|GC;6HNbT{Es8EPKzc@;#dO#u$r-deG!kyh*4fpT2QY`8Ck`_9r7h6 zCZx9ZIjm`ddTcc$VGAvF@*9{aFSAapV{1`l1Q7jnYI?K1V;G9w4k#|JbuMnn`w1KZScw4>!vQ>> zx2g~~fH&yk0Cvv;frwgmgOCGbuM3+iz|&00B-pp0$bBuqX3hm{j{SD-oEGKcFF5Vw z>xnew)1BU_xsFL1Uol>|Keig`HmKYPnW-W2dmtR*{jJc9yIo~E^vLIPbyU7=cbM}L zAxqL$_@uMw#pw4aIJp+b9%-U5n}3h-As%!sthIO5x3)G*hB$Fcq3+d(SdT?Kq-PKx z$~1UcP1$NAO-+5`UGHeZ59;pzsE`-3nr9eTJ3Lw^JLk9Vc=a30up~4zj!!^~$qttG zqcF^bqKu}pB`rdl(EpaWRg3N`mxOasIgyr0;AES5bk+5hj*shL@)ts?d(%2DQE^l& zWL}L#Yc1-h^2SWbyso$18Qcz6!`bSAt-5#tC$)^s@V>YU&3UPr`IK{b8({)Gk;6XP zj64dzTUea8Q+iBsApeeX>R9!4WUI8yJ}T-Wi=oR&;F=i+#lg%05$cE!>6ZarB5VcJ zu@r+d85Gi?bqx8!qzoEY%gL{;lE1YEcXC|lB`ih2vZlRmOZdv!+qtmcp@OQ%56)kY z{tAUJvp!FW-JMq#ni5$>>(DbHiNAd(vwhyvL0FYqqsBY zaee=aRgSV7!H)-5rb^}ok$?is_~!^lOBZOv{}@;_jX3}1FX->TREvNeJ*;ZWmr78K z#}#sH@T4X+K0hO!LA+O;x87?nD0m<0Z4JIa(O*NY@<8L)LvZ+1J2!(zO395lA1FO& z?QLso!=zwgA5fleLjDn;oU8E!==a(^8KdSSXYf~r;7^fCx8t5mq{Zp#7gFF#XoU!3 zXV{hM%^u9p&}!9hd|vKTt|BnMULNVG-Mk{>yLEnVBTh6Xn`SG&MKrzzX! zzm)>UW<+{GmK|R-WwF2Q6KPvwpRMnNF5?Ca5hDx-7iHaSBaUf#Xc0l9q=z z_i&|Gb4!&$hv}};TGnwmasAI|aXVRkZo7TueQz54octh)v6xedBIOKZSgN>K zZtRJ@til1%176Zw?CBjXD9Erfzl;sjS0c-iZ~cy|IjMCfJErrH{;= zfO$MBVs_bwSu5i7HVB*iw$~HE6%MX+*STLHqME3vAi^8P9vUU&qjAMMm;8LY(9GIsWR9le4CypFi-y~J2=f$7)BYh9H50fiDVPD5hCxfl#{~T z4i_V#6mc8~Qd5Ffu07CXKp(n^N*M-jh_g|H;yS4VfRr|pTu3KE2!QYM$U!5qE;r5t z*DGBMC_eXiDPxV2S(@bXpJ1%555lp^hsuiz8=F$32BlCSftloBWPpX7*kRamJf-W4QNP|0 z=Ga4|$X{Ixfc@_3V>e}HnplV(g4nORMow0JTq7AL^bQ4hVkpzSlYD`hGZn!E;^rbKiTfz4lsr zt4d^0wr)FT8$S-HO*2RQ?V)dtc(kr_m!2A*IokiuRp4^K=zvJ#C}XL48q7@~(ivwP zdf{E$-cXe#sW_lGF;T7z^+FGVYUx=L0VARvgY#vUaOdlj+r80AV*3~^g$0}O)5y8WuStn3g)@_(Pga)t zDO;P%3?Y&CB(35SM)@7~?cE(6oejX41xp<}V(yy#5W8^Z#b#=q8D}}a0*~r#DeLaw z-L*74Hr8W$*(s4E=)c`GqE447poM$|JgUiC2bzuBC6j>e;Y-8u|J6j+jRay1ISHjj+5m1_MCrT^}w#?>N7B ziJvz}mplIf7f3!yIyq`XFv*J%IU5Ehf+V%TNYlu75dOu}==4ce^Pi*qfZA#@M2fl& zJJ6Z-P4!&Xu~@|8=KRcJA8pW`^Jh_9^sGEv#LYF?3dKve&1t%BIdQb?qDBxrID`u1 z>oZ{e_IUDTW6id^|5HFTf1g^{#n=5AuD`xj_r=3CIUV?cI0(xKYP9YrHU3cV?YS7f zrhwVmgsPtlw(<~m*4Dy8hz4%-Yh{^AV_RLan3HN`M3#3}X>dz+iUPFaD0^+;z2@w04~ef;n^dv`Svo;~`u-Kif@WrZ zd9SrDPRbX=d~r_Y{l2YNsA3KlP&3S`iMeUx7OFSy#W&{Z2La&?)ugloA+tL|VB{@o zuVhMpPf~$`kD1;K)^0(Mnx|Px_6+L?w~{e)YPqgqnEhHrC!7jahw`$+RaK#=BQ*#> zsYh<1?^A&_uyNOtBW0kGNl-K4{v&7@5o_HTy^tZ~A=AM$c_yRpra)Fi?hGa+>bM z1cf*M#nQLv(QycX)SLtw_BmFT#pQ;XGiv3;qc9TW#&<1LW|BwJr1e<|w2LC73~|c( zBf<%+X1FJy0G_Uoipy3mVQl&l8Ni3rf$@*S(i1nAhroZHJ2RzBT=aw=o$L~mte|v@ zi@CN^bbQ&JTy*5Gl=KH2N9cO8N)|I{w3^UzYL4j-9CE!`qQGU%`1ot60qpuugrrkQ zdHDY&9n}6e=@2bbBy)mFllmD`!>;o<^b~6&2B#gpVSur`z5Ka~i;neC`)3>a!s9(N zCKLXA_R_Z_rhe9DHfC%Mk48iC@41zIIk$pA7CGvY^6WAB$;)pg#c(^jVL9v3XJD$> zpkd2v5p=&SHy45Em_CWuCW8-IlupIK(U-hziZ^$>?sZn!mBHEBhj;M$cl9hKG74qV znqg}=UpVNmAAPGq5|}Ekw!dwTNml$hJ`uf>oN~Bvw)M09>S!sq$`xiFl?OJ(`X#sAONzM0KZ0sA9h+AktGiQNH3 z+1^iabH{c$yk9m#v2gZ#ne1Lr1U;56=6DsFQhiHHoW8K^M4PYsW^@bS?!FePr|$bG zm>@PFp5`D|V6SqjjIk4e~)vBX_@dU<+~Po?wG zI)Br`98KhEGWO1HeLAET%5T?2lkQELYUR2j)^@gkWES(M?&E!oGI17g>yKIZgU424 z$stuWN15K6T)D|3zswQw$Sy@vMu3^_$z31a?2Q#dkWfQD|E3N6bvSy4PnCv(ivjaY zMa>^i7UT%>QC^Kt$pm_4`y*1g3GEK)%(Ao;Jm!d(Hs-HA_+mCfV5YQhl5@VdVNZuW2QX-1FG} z{%x$JCSliba2lF-<$iuUlVQ_Ga{ZL;T(n@tYIs{^FbE4mu#ztMc3L&tYL4!$UO*D> z?eHI-LK{s>`g6r-kTetrRURK4K~mY>GG}e34Qq$?u@9vPxBzpeLm!tY&(KbjhACjT z-&xOWSECIw0p{5ps+E2Z05PnmH0W^K0$~{*&xxBlTjoDSJ9E>>gG| z)LPAX-xEbSG*#U%|3o;V%Y&5Sl?LDKyZ*PsD^Xi-pmidJz-MBx@vy&-YVEKeQV!@UQ*X@hR!IL5VW2zE;$nWxfyF|#UPnNe`Z@ZQQ{Py0VY?W@QhbFn-;4nl)f$r) z-?O)#12XykXz7JUoBwXx^h*Fc;D>(c&WDC;h!&I$oEhODlmz-Ne{b1=vAJE?_2h>C z;PQ+DL4Cgb@Gj(`%lCAYPnT|8Nj9rC$L^+2azx=z!Zwq#hrXMMxvFiq7&!6l zq`1K|*q*Q1Ap7SO3|=HVRKq`g0rJCU5((FV?7$e6jpZvpycjY1)t*yEt;_;^4Z6Qi zP$bI-$~7meP@1H)bSY{RoOeH${9T)hRaGKsz1mhg{kxZ~WelfyGwN$)$hin865kM3 z6nt*4Uyc9Q(U2ObsMz=0wI$hq0Q*2UTC%=>obGJ%4@sc{dgkNUd$H#HV~h9UK@r4v z#Jp;pr6POSodWS)zn>7IKUh1F4MOY>av;5mLD2Jpr%q`O3@JPk@d%UtSiiBGQcxg6y$)tIrh)pb?T{ZSSB<6KFtS*x zgV4~hw=T}J&@>EDupzW`a2h;n^v!rY7#yo=AzSO8mx!cJnPOT^Cg_ce`=x`plS$O& zrE*{=_j2W{#y`hHHLaKjvYOoUF1!#$9n@OJy^4M4#71?wRv_%y6N?7zwP&Q)!nUOQ zRLGh0gSEi*%;`O35n%-!aMS6~GgZ{s_Oj9q4;V1{^fQeuz_awmlpLkrlY$NoB7F5I zBf-sxi!$Y(_wtgUs|&WfOZ(y?&N4$G%Ui#DyBs0to3)$0Cb}42t5ZC#NwNJ z$49xB@5z79-D-!5=X$|x1(zzQ{N$TnERZn_SB5jbZ*A)OZc}t9%O)cJ%@pRie?fcQ zC4I}n`#=?TdIe52yiVo#tj-?M5rB$npdLIp=Y& zQliJC(^!_CMYp3Lk{%6o=** zp{ipLPgQl32m> z$61~A4-XMv=)-hipL`w4RguVOn!nP0Ar0{i)BL`p0J-9)7ypgns50sfu01P)vrCb> zokkPhaT!ky9fY7MZ)W|Rwgw_hCWakRo2!~rPr;euofGx8`cYui=RuD$WafDL*isbP z2@gAvch`AbXab*sN^6XzpkqPZw(eEb2;^Nl2b_=tcw};k%1fp5iODhg0{`KUEmphaDe0-hkAlOB_Rf|FOrBs|#+d<5 z5U)I@1mP_XY}((d7?qAJP#e5{3EFoS0Yb&H^!TOCU7|p4Rb!)8kLMM~_}Tj62fmh< z!#`NBHUB-m2edld8v>j-%F+{muf078+veNa4avNv8yfyxJwW6f)*>Zcd)1gI+aF7`VaD2Ero`b?{OFxjF!=hF^I)G zf{+h(+TV8vt1o#{ZvsoGAzNzH~5 z^*A&y4ClN%-GWK}^jgYfqdSKuv;NqIS_H@r&tmW3KAeW%UEF5NPgj#D36?v|Ubs@A zLrc%~&KrpMJpfH(uWnb3Nq__>C7Y&_wmOb=>$|c(h#K**G`0K2^1Jcs5 zhmo}I5!JG=Iz?RTFsF{IwM&j=mG{m!F@;Dxit=c5U!yuv!I$8&+wb!k>u;M?E4o-1 zDXZ9`7*zunduW1@Y1dLuIwlsPY0j<;A>QppX=ByopO;8>x&wcwdgZH&O0%j#C(4;Ujq*A|a#i#mmU(jfu4$9~R^`Qp3 zQ!l1qka;{QAH>Qx;f4=kOfAG{Xj^W|F@y;Htnlr%2K|yqI)Za?*0U`Q`1cO3#QaS% z7o(z(TAF)zh9fbjH7@w&0Q&plYdE*wAl>b+aJqG5uZ(^8`2>#tt3xMMD8xIp&{*(w zruT_2qB`pJreL88D1!s&!bg~gBwI;cHbUfC^$YI>{xU&X^L`vJeq$$%ikM!SsG11o zC}fMs-~aZ-SKnagrK<(7@O5TAmYSdjeJX2_f%Xp1sig8p5g;brvIYTEHTi}=bHR-^ zJ-84nR=%fiSi`~Dcn^C%@fL4?4+_`o;G93UbM+l?;aJnF-|rt;u=ppC64X?3Xm*8z zKG`MWodkJF#e){Uj*R_!$P3i3!=M0cv&Hpr4YO_e=g_AVRVZ^C?do(WL5-moiJZ}GxLM+g5>#t13w#p6!$$7m&seQhw z_>Xj={4%oceAnl z2b24_MErXgvk)Sl$dF~;EvPdbUuh59OfxnX;+qt;AUcxBDMh?_^0H#$aDc+X;HB4a z$pd4q4VfuVB!Q}Le8JL26}l1BkJV<4yRPoE(=nOrdL{IfQP`{?)`%LXu&QQiVY;-# z7Rzciel*B^`t5Ks)$W0=)K*K0xJgw46W(C^M@mvT{Chm(#m=$ki+^jq72O)>`gg`J z>e0k{GisqY6!6Pz(4(dTlV8?iL0Y17!(hPb*Y`j6R2N+dZfy>0K|TR&Z~E~FNgqf! zEdsMrdV>&??KZiU<*?v2m(yDI9PU?%+f9$VuyalZ!gZ!0F#Q=>+Aj&wIp>Yr59zH~@vVUsteEz0h7g+NY^?QJ$|ukC)w*^zy*VOC$#aT)z{J zv~dIrYFWTX8=r#jjcC$-EQYnhJ;fStRmOvn2RPQl7tER}!lmUyqG$^*DJo?ez5G+| z$@7mTYT8>F4+$J;My!GnB%G-7&i?LF8$Nm_jenx=AM8R%z3}K)&wSb{;too&x*aLs zNST4-%ReSaEDwQ)&9IV1u(HMrw?uid-|-25`h|t5ehlIh=sDg#z-VCzyI{UZX*suLc`!%5x#S29xk*2o%uC-H=wXPe*XlEfu+6{8Az#VQ5Y6o3SC`rU z?!8}fwYKtFd?hr8YM1l`dO34T?@GW%s#bqjR0PiKR6pk$F91EFTMeG9k9>K=6^7zm zJM!}o;gKn02SO`mz{bAJXx69Ds(+@s_ArR-S_BBJV95`oyX>*jepB=Y6E#GD1ePnT zFuDnar1`?Iz(&P1&@WvaAeOq`sMN4W4@vcDZpzCepC0z1?dp$U?=Sdy>0H1QQ~@W# zgSr$nBi{er=FOYN*HKDI)d!N+4l&(b)$sH}2)Lfk+3eZb?7PpJs!%4jZGVIw*Xld@ zP4fY=egQBs2*`?FrbiXzfa}wT0oGy7GELzi@CPCAC?XlsmC`uO_-E`(*bO}!mCDbG z#uQl45*0s-S<88lX_eUzoZ~yOIL(_>Ei0%7DH{K}+|S&+GYWLhfTD5L4yf;3R17!l zA0V-zyw&~Xk66X*KBvL*6My~7R&=zuswx|rTONP$EWpI%y7g+D5U~w|SV5(ohwp|h z**Jc@PXvGgQ6f4GFKs;C8UJ18;em6FPIqqNnCN%MUY8nB$FT6SM4QcW;!afc-+Z>Z zRz>L1e24~F6J3Ph5)zGqt1_~Ti}nIL^7(0>29W(fNc^w!nL(8Ppo*h&MJ7@QtdIoS zCPhDd;D9HiBji7coXmMmz6wIlr`a@I*H9Er&f1p%DCf#)91{@G~BUc1H% z%iMY)L`+f-J$h_AeZnAVxeh@WHRkhd^671p7W+avMA*%gmM1@6x8W%8mB7~m4j?z* z){t-#$cMPgtG zPS>5*ez4^)(L=FF!OYu}w!5HEu%-_IG=5bUgK{9I!#_4uc2Hhsi(acNk4P)sy43er z2(wRx48y?}qA$er7$LSx=pj0Ojx>>22~C{FJ0-5nwA}%N{MYLgoY25p{Fz1ug?E^H zI-_YfRPgjezrGoB$`xs%Aex^#M?K};vG2UG(e>KB&KHw9@t#OBn6!z>qOr^$!fVCY zE4JAEBR32JSx6i*_j8Q7f&P0S$WsYI_G>A1ZkJ8KDR(tpl;8D@E&accV(AF;z=M&8?By)IpyJKfIkdb*AdZjn!>dYD_##`)HH{g4f{Pw|7EJYWD8Ik`5P=$U`S>au zk7!Qvs5N*e=$L+7Ja6e(GrP{0+FyfKxFZtx0uNQ|Mzlu2I5F-3YvM9Z!{n=BH?=&Tt~O>W(Q3VWID#%6{Pjp zck1)@61%ssJY(AM)3fUM=WBTagXwHn@9O9zIRItzSf02WcFt<)j>v7~0;LsbBT~=*k z1w`!}`TL@}TDjte0tu3;S z+>4789lEf^4(&EuA<-sSBEL_0jESM$eN8!aU)mTCG|uHJI`b7s4~_raGOh5RZfUP!3<2%9%Os@7a$Y-1X? z;P3icdSzwEmMOtc#NpBEq4GC1vld;W{pzfwou5Ck#g;j6L!Y3GqXj3TYtktp6a_$1 ztVG!Ly>MHF_0k0=&Z%~e5B0dVSL()6oXjuCR|?&5m&cxv*yotP0TYabn#u>(7$k=ia~nL7e(15fz@#Zr<>>U)=UYJY&z0;Qh>ryFeMjD&Z%KIq?*jz~ zT_`@QBUT#VkvtJmZ-^{|5Hl+>QgAgxn!=W&cYk3F0qP$MOQ%^h1Gn~l=?F8@XbGovR6F2sSm4@ zS8@j)Ezg;sJdMVDbcW^~d6Ls0E}Q_NxCCeCYS7?46u)kyTwAq?FUD&4N&K28f0Ok>&yc% zWoLoByhu#3!1i(;0qWj&#k_TP5R42ow=Ig;R@kTd%DrY~-3K4WDbFQgmEe|Rn;c%^ zLfna_7yR={y&Th?{xU>*Feml->%$C2U8|d)qrN}`_CD*=gf_Wc=xm6zGGGFo;k?)SZCWb(~&?NcOcI z_N}Kzyy)D!{qx_;IBSGPx^tt5T{fE%SAuj9puHW)eDJ35_o168Zx{k!Vv-%^wv>Bv zRiOtNjttMyv9@LAgm}ZNjt~bI)N_IyKqpG{hu7)1vU{3Zkm6sR`;QHqa7%n%)A`_P z*zbZyEM*!R3n2kNxAp2ahs!&8ZhlEF_D^2?JO3{g@I(>n>WFWZyMh-5 znBRF+;u3RH0J>wI7t;y4ea( zU@-lE`f0cEeCLn$)S1(SE<9@zHIAIA@Y=QUox~*p;wiJ93 z6uG!9u;jjfCSpPOCDDEG+3WdxW#1Rtx4rkeOLa3}H*__8u|Cz+R#_@K3HCSS4{b>M z|MHV%k8y;S0bHnIK@&ey%}B=tN_;~C+~OUx33rgz=>(IC5T10nALG>%DmM$A;oP}A#U zoFx~xoYtGQ8{;^ak3K!S**|FHKLLoXqmvdqojc1gi710Cb@PQTh8eR=qyF-=K+NUo zi*glTxUn;J%@|u>!0x;TRwMJib>&?fgvnjTMPH0MD; z9|qLU{M<1;S}*L^+*LxCiM-MteZq{6Cqz$j6=C`=v8tz}fzRQ@1Wy@-Dxo->A~YuV znd}{;O)k#b2s&DBRdB4j2BKRH7WAOBoRbJL{aXd2D+&k+6rjIlYj6JMD9?4>WRkvI zK`;dbiOG-s5GF)R@wUmYFR?T?TU6$+<;>lFeO>j%n(euIIE)aj+mgf_TbFP+FtBFL z1u&txcdz+ccl2k0P+_UK`FnV)2Xn!0J zcz8!UyzkW$#ob;V?O>~fQRzjXE$^Euql9>BL^o@GLMh`#ETh{WTZT=convC$lt7=H zd}*CQi0QR$fH!hj;Ape$+PnexYk$uarx?7eR@-+$tC}w>8?W$Duai%wWzx+<5*TS? zzR^ERuSQvyu$K_iO=}d({oE6pO@eVtVZ#+z&i%T z3xoR(Do)VAXM+H?lcz`MfZ$Yc-|EET?cjS4!pIi1R&uR&!k9Wq2Yi5&=C9wI*M7!i zxG-Hq(T@(4=(Zfl)C>Eb{c3g~XB#t`aqm2fQZb@w36_ z=YaR1>a!eOTs0`prDMU$8^v-D0(DU5IE2>c@PfMUz-9~r280@s)_qA3JxbYL5&hw5 zngTPO1lPX@d;5AXNF3*-6dSU`bNCyrENtpt#e-JpQBLOQ@0ivT+*BQUu`gUHf~mPI zRH4bF`G?#no}3jen6%nwTMiDO^EsxOcq@oAa8YYD);BsyYYlDXQtnzz1rS<&dKf47 ztyR+F;DEo)n(rU45-fSuRQyXoCDW?xvD{=>E~cF_=~@Kl05<*|N#UQ;u3ydhKi&u3 z|K)us+apIG@Qp*j-qasQ(YT6;5gyF0#4a}?MK<( zkXl-L<0%d3BZ?+H=wCcAK!|VfN56opJPCq(XB-T8=?X02hx-_QQ2n&A(!EaSdcG5? zH^SH(g#Gb#Rnt>}&w3CLrW*n;&?DrKl30hl4SY zEzt{vZJXfo;Q0^k9a+U=%z~QxAS(A?Oq7Ra(~cMYTD(B~#}wPjFo=pucV8^HzS7?A zryuJGwkP3EoYhJJ`R_0~%M)NK!^P^zL-#%DH+}rW zL$=Nihwy(-m7(`}c68PJzZ29|3ca@)wI}PoE=jdt|X|Uf;a80j(d>BO3LluW`xH&^wR3o2LH#0>Ro16$dxdGr$hj zX&=R`E9`q6142ITvrjCDKLq_L(_5SaE-wP>g-4z{;~e{@B?7jTw1)|w;G+GsOKZkI zUfA{V);QiNjo6WLq(WXmr7QW0@K^+n5p9W%1W(w`kkGObN}ff7N3>G7=(>boxsXq! zc>yQ2b78%TeD6M~K&|s+qA1aWih*hEn?Gr0o#7jWZsEe6-cL(XRu`~de*0&nIPc44VN8=9SbO)BI4Iue`;}&{^Q?W%5={|(5%4b zQ(4KodoqHjedtAFb52!~Q$a5D$5fD_PYW@kT7F==J7Y=~5B=<{{CnsW0iL2#AwjaH zB6pozQZA81b^_Sjn-MLy`o59^^ukjN)yfZBfRKv-D{5U5Wa*2@RG`lO{CS>dSx)cf zQc{cvQew{B7{}L(g6JSV>B&gszW}mrtv7b0BR8run|#qn?KL-i{IL^eM1kyx@h6+& zRv0P|X~Y*MhJ)x1sD$OHK;b_Us#Q3r$ef|%nsiB^Vm(ik)1F6D8WvhkOcl)-FriC9Q9nT-kH|K)3E94EtXjv}Q}t9=QDH^fP*-Il>*>*)S1(ql znkRy2Mc{YcjnMwnH&#vFKdIJQQPo9c^;cw@rA$a}Jp375F5ojOF>~1J3Q&#!t;B=K z)8&Gj|L~KK1$9diqT7CAM-KJ34GOubnxuRYn}g0SGHLc%#z8A7T$F*&mEY~$#e(D&4x`v@(_asTX1n3^yhInaEM{L_qUvsX67w z$1h+8ot?w86r{s|?Jo0|Rb_xL>eTUhe}oRK2zt@Ox;{VeDj}5UW%b}MKIm_m00JWR z;=0_capI**bsFoD(Lp;xmZ*n;_Lmc9eB@hOx@nqepa3ZWS5+I|yi7rA(%CV%*xc{VZ989uVh4mTnd z`jUy%Bp!rVLosKA+u)N{CsnFQyzS>CD=*&Tstg^KH*S*nvwfe%%oc$WQR~l@hHaLLKU8o*)R%*t3PB|eIhxp7S_(^;9ysPQ!g&YUG za^h5_(rQtF!gID4$#gl3*b;#FpzY1O?eesTuu$R2-Zg#rSzqfyc<#P_HyiJVEYGgY zh%rbl`&&a}s1rCdk)0xNJpqX_c6g{J)S0F16R6Qn8QN`cl92Ko7iXn(?LXM59f=x> z)K*$7#KgtNTtE>4G1;_*7bN3TNX1BbMH|!Icds)m@Yvy!mH0O?repGr4WPS|W$j8T zdxX60Y*e}<*n2?vshDk6r4~mSTr!;s#j_JOB#VXU4xD$@HLW!526@SxH-iBe8A$-L zecgL0g}?#VLQN=mZ4h=n&ksh*v67yO%{I-BEB}gm9!^SE9CD8=q+7^7yc`C1!>yu!G@Nh=RFK_(u*%PLgIt#*7z5qP*FhOQjY&C^E7f_*O zP1%tFzoo)VVE>GB48pmJ7T1Ua$@595dYDwAP1Zj-UyTb~lfV`}YeF+IMdq{EyTUW{ z0X1TU-3t0BKvF*~9bZhE3n&dm&Xqwt8O`3hvLjO7p9*jQ7Xy=SrCwwJB{w$AEDH3n zdSXG1rzRRVNR&53PVda0{$OwZ?acbmDLhnwGY4?Od@K-cqK(KqM9rU5xoQ9G9L0tA zpvDC2dz4sdtgx&T)A;ycT<{c5NmSe~FtM^?V3K?&)Tj`Z9)gEb-0vIJ9;-|Iz;a~( zD(#IV)Y}4dg2;NW`>Gs=+{)GtQIdJ$u!X|aTmqCLCno#-djbp6_eBrmXsyh+`jrFl zlZra#PD*t=mj;~-C5B6dCv1I7XVMBj6|6E?yey7Rrym+h-`$L9m+Q%py0Z#}=1$X> zM-tbIQ>37ea-alIc$vvZJ@l;!zixY zs|Es%`tR^hy8g^u4MDJMFzAGCGY`pXI#XMw42`@TIb2{fb*tL&dm33ibdd}#ho;ed ze{$M|5nZ6?F$c;HS5$@Cb%1ay!*GNq{aH66I}6Kcxm0}m8(O1Xr)KsI`^aR{<{n|3 z$*XJ^o;bU2)J*zU&??7g>MaTCQ0`TOJ~?HBC5=h@+Y58^!H5u~LDq_Z%o2wv-L?MP z_&?-r-gqmmqfcyc(zRw>7b2C)C|(;su`k$0T}oCegBZ|(UK}?XzUYc?Cy89GP3@uQ zJKyT1=XX_qG`(MbL_$6~cISguTE%~A$^~Q(Bq%!ReBuyOUgEU3L1**sPv>w(4fh+{ z%!%t^rP*)y&p*K0n{j4%w0Faw0bK3{BL9HB!WHz?#>T(tx@a(>fA9*&K9Ge4`xJn^ zjTzBzyVR+lVfbvx=dZy?enm<(wruOH+r4|Si#Ui8 zxTpfCz-sRp7w>yeWVcj9Y!aS%-d%(%m&;u94WY@qDN0nhbvbvh3vq|8^q5!!^}jc}$KYf6~O@U}b+M$(w40(IXB zD`hO*S}z?*1=R+NR!bMJTSiV3XsA7apZ_2t>j+#idogr`K=pnXffp&4g7~>Ikt~v^ z%cnh-v)k1lRt?oZldt`Bf{xvIa_C`Z69^~h$ANGsN)ru;tF581LIYCH4>god$@P(u z{}8r`y5$wO_BU7tm!StS!RsNlsiqvml)e#@0pJ+3O3V+oeYXtQKncI*g6rl@IKHxi z8mVEY+__`|cyj47S_EK__|G4zQ^U^yE84i4gTAcij$$zTU&KxX`VL{vk=-JcYiZ!Yu!`y8YjYEkJ zg9Tt)5gM}nA9xk6F3^G1Mb7lf5Ud5I({Mw0e7l?cVepXrcUqWd;k)obdsm;GzSu(Kyn$Avda- zj)1JPqK;{9#AW)i&F>ZU%qPkm_P&>_(^VmmuWdC>6l4SCe?6(iFZ#BRzh{Tj*Sli} z&F<)Zo^1DP3ZH(VN?9U89e-N!5qAw0h)5CQhq-SUIIOX%9%iJa)s#5?0KIzpwEAt|dkH0J=#_R@=3wr+!~ z5{eqjn$W<&Qo6%*&C=qRPtNgrad#MpBQXBG&jgpjJ<3qxFaC{c_PQtmt|kb9XhmEaleASBNgaF7}~yN)*GlmP3Q>gl%ZFc&DJ1a zu-%uFFLxm;?b1A`V`N6eN7v8km}x%%9+lMEzG_a0<>c`U9PVYM8zj{tmXgmc3u||> zj04?MqMy9kS3ba5^m-R#xYxHjRpPr?v}2tLiVV4B%2FsK6FGZ@A2UsJZ0IJR(jVshz(8NEo1PV5v$){<&)iG zV$@@Wv{2Pz!nIYr`&~80$2YIDworebFUH6!#LZ?(-c7i0!kJDMvm$9U;YClI8f7U= z%&^1e@ld@>l7%$0d&dF${EHh3360-vpFUqrv1Dp>y7;)-rRw+s2UW|CVB$bn8WFCz zVX(lS@CQ7YfBh2MM%xvq*|ioW`im&4wK53_Sd+-WXA?sOXd~`sjkW9{$XEDisH~T> zuce=Zp`Lw~zIA-Fx%S30cZ4Mh8%8C*yQYgUKKP`n5EI-iK125ji5Kn*4}p}VX7 zg#(I{YEYwy2xmJxx7tfq3i$rn>&;%?(}3L{$1CkFx-SAh=41kp8WW6QWNK~muTi(& zAjk{-Ks4snh>D720)~{Zvif)Ql;D|~j|iq*Q!)6JnmP7s;!FR1j38DDL#PU0fFEOK zEbYM!VWUsRe1?07Vb_?503keABte%rL@@ssGR3l%VZ6n;UWpAXc&H)e0tSj%8w;Kl zh^+OcuENMRNmXV&AO@uOg2w_6t?4Yy@12l)y# zIXnR&VR)CBH@KKT^7_oSp9S2!=zt)b=T@x@*(Kx3;)E3Zu{^6-;ZX z=9qhgcgphVi#a_5gG)fPVIEeP9tL4j0FyvWC*QzG*|7k0n|jGL5!&5Y1gJ=2_$9&Q z3cZu-jj8Z3afmI2SR_hhP?MS(k%^2W2S$z(p#v6x*y!O>cn{ap6Ur$!4hWK$3;r+< z8)t?f^M1|GXaO*Yi8B)bH$ZTMbPjpSqWNewp;{QiEEbe7r3@WVhH?-mooj@%@&hE= z-cB!}XPNXhunJ~ozJLF2d6{Y5FJqC^#9Act>6n(w!E3sGm{&UR2WAIPN2MY|#Igdy zL8H`uBNikq?ZbqFSRqBMNP3IX=TueS-`^gX{7=pI$Xn-ZwMBQ&&W(`UmZP?QDJjwfh48^f#4US^$4f5wMxrUZ zW|GKYIHVK**9`;OUXqiEE6R3xkn26@Pb!FNJ>^y|5N*MYVo`gC8|)H*k9J?e#6an_ z#s>m+;E)YxxzqaVPidf5^Gs~w#!^blRFK+SyS;EP4tmWN!9)j>mI7fR1Vg|7t0}}r zFUO8wORLS)QI|_~|8S(kpFaLPG9kux)K9c*21OoSb%-o)kzo>tv-$LI?}nAXP`>&% zOJW!C!ZB-UTrXbCXE-Jl@Dg@DnV5@=8;8^+%&?p6p8dU6W#qXshW`+RNi*vF0mFhI z!O`kaV-d>R8zcYcp8ytRN-dHbo9Uj0R?tc{Y16#-d`{X9geTk9%&%0T$RK*PhWC#Z zLB1W9qcBqlLoK3;2(dCH0{@^_0$Mp`o<98Opuj*r+AcYuRT;Lqnz9u{-nNIyPfFfX z9iRlU;dkFB0AozwGQIJ*;22FJ1Vad1w>z<2R(0`NLGxggnIgdNP9-rc<|6R(@{*4@ z=-;?#_ZPCTAj#M*{wP4u-ZeYif1v_xh$?>XRM-qk8;S*C^Ruq1#R4vf{6I%xCohs%=6=L(`@b&hbbf3WRMFgAhXJAtPj_wH6WKGiT3v9^Hh3s6EL6e%BUEo$ zr(dmK#pU;v_)Njh6?IsUEmmOXQLSRwR;!^1s(c$PuDv|20Rm#Jfi0 z!Y#^hYvZLsy1P51B&8c9Rk~X`rG%loL8QBp?v$ZrXb|ZbfuW=ai2=d$?(dv^o&6Wg z%r)<`-u2w;x9&U6fyJmvR4WxdE%e{p9LoRP=5Uy-j54Pv*ebMv&Xm<09Cbs9 z(5?ytL6H!CL~!4VbPo~A!K0(z$$gi)*K*sro`}zSjr=iyl(kZCc+T{z{R`wyFB(+3 zZL0vDc^6^kML1g$@mh+}Aj5Ro#!JgNvZvV|pAS4_`Zk!AtTW;fl1~Yj!$9HrSlZ&z zAs@HPCR(9YO0+98a1HS2wpuJ`8dRUFNk zPFh5}Ggm4{)Gz%$)X}c0eIK1u!vg_6i8A$sfi-s+;!@&K4n zGU#dB3^rxN(f21-3T)gGI(erF+0|fy8sWolkP*GZmlQ%;wx3G=Im@ChR95QTV!;x} zc}K;9%rgC zpu7tMNs788n`~CM>F^~Y3{F{|1uM`bOF~SmBS8MNW!Xk3s-W}ImOXDxs_PJnXNg7M zcu?2DRs`aes4Q^iyFX&~>4%@wGr>-3Sgw>%6~N}$aA`RPvVI5&#h>D0bh9SS8*0d&Zn&W_?Y64|2a9u%$2S1i{ zwA^fSD9o*>Oisyx(BaCTL{-4}Hds>nC=w)ytTf@gAKGMaUlc^As4)IZ@g_5#Z-JF| z*2!f+4sOE7bdMY12)Zy3a9o8M;y_Ht@TUh2bs3v%{wpWr0X*qQb8r&q*a|z8U645a z)7NhLe;51;*ALJ)JY#c6sGJ(Vwt(jcc0yVk4Cw8>b=9P>L>Ue&b3VBAsZ}=rS0%vE zXlCA!WJ7SzAsi$dX-Qb)A!uJK1g{LckCH1lh)cV8QG|;Pn|duC1=?Xel7HwH!F>2( zz*&rkG*QOQw}BvAIEmo*6M}a*p9OvZ)3(U~O;ITLRWfKx3oD4Sp24)*k&g_%AHI$n zU1g)fGAr^|yBJJ5>HSK52;ZpF4y@jIRiXs;9-u^+kiks-gZ-u-$1Y|QGahKU-Ut9A zPCw?>yCIZR)B7^Zm;HTLK<|jkt~$Y{0!9K;FA|g4=C{1ophEDG!0E=>G{$~x=oIPR zOcIL+GimqA2V4wySn~8H;eHg(wgUszgQq$6Rizpulo<8k-Ct?={?ubqd#^BDIeL$5 z;P826;8V34k2Je_=qqD1xX5t_>$fb`|6b8Z|M!Zfz@6Qs1g=}i)`zET;~}-9=q5&oGwPAlcCyF$r1yOICA@p1VW0nIaksWsH_z7Ihyj{t&W2 zdkvqX24`S9crAplS~Bw-y*)c!5-YTy56*h<)|-IX4q3UF^Vd6{Ky$G)-T6kHoBZo7 zA2fps6l}OH*tWvz+BFzezQ2(;hIbfaA(rpHHF~c`PoX2q#iQc!!a*KbFw+5a3Xv%T zWSqDD@WX3mSApjCI)z zBQ&`6J%et+uxDHM^>wU5$hkxRzvPeujk`7o%#Pr%YNrG`Vpol$+V8>UdR*7MNQpVG zR%E^>rV>1aoTR8O8`JR# zyn?LEK~~fSzr*U!U5s+*e=*Rc^1t6d< z0J9*^H`Q)nfq@zo(M$ck)ytV)W60nkp(!!oqOLG}z|ns#fd3vYBuZg2exd(7ub zEIo5^;bR8WGD(QvLP8bcpa!66dMz~+lR`jY5s}`ccIQO|*V>$8w3OMY;XQ_4WFIIl zg1&mv_kj{$Ai(H=z~6`aHOPhnSNrQ(|MCY*%Xjp zRSIA{s%-vPlSW?NB!9mYe%y8x1fLV|3e4bEPVdgG%uRQNJ#Hue3xa8Y0Pu;^L;bI6 z(mN;E#tg*&NrYzC^GjdUQ71>hUt4f@dyfcc}*#7I|gp_F3nEvdj_yVDK zmmtk7k41&r`1`cD`YXI;*+336FwiUdGJtMyhPY78z{QAZhd1_w*~w$30dXV{!(LFj z1{pJqMpVGS2T)JYv<+0H`Cq6VQUdCrv*&hZHW~FKQZN-N&5sOV{jaYDZ90ZZx*qE3 zcm|=UvcjaEs4@r-*X_`|{}SKS7fTl{h7<4b$04)jOP9T^J%JvOK4)Jogx%pa-462civKece5^Sq5`+lt#3Lf*TBBN z8C*2v8-WGo>f<9L$g9o4Q{1pAfXyI_NcZTyJP5+{X}Qw$-4cc&Bc5v}Yd1aAU@oF- za^+h1lA)NMlEsJl{~7dUuBetp;FRFB5TT=gf(0=F+aSqV_M$@YGo2_4L$83yX2lW^ z4LgW|1YSsEa#Kwo%Qb+<3_*jUPKMVH=mOgdZa*hi*TldV`q6n&tzp_l z^3L-T+Sv;BOr>GgmeSL3tznp~ocm|OJv0`}w+2Af)8~P#I3L2+9fq>Z%!<61VEQ7jvm{glh+hccF(fPT$T<<8;^`$|;pA z?n7TgC>|ug*o*FX+I$C5BiLUcL`CdbEX6sWX4-VQ&K=TD2A1aXR-^kDGUUOJ?QU^4 z2aw;5gs)wKMmli$7v{E4Z!nc*^TmOPJvdnrpA!NNu7y@Uu}1dkp?mE0=>AhpHIadA zLeqB!E#Y^<$`@ASftf?v0y*gyR?O}4Ov$gx1XU8duZpppzU;5C!81Q1@x6fcC9`}^ z1jU+a13i$lKi4%L(l?5Hl9J0J^XQfh-jzF@+Ze25znfXNOQr?_6@OdEwGxHQu%r%?O z5*?w9gy^M2#7I%Wf&hKz*{1lhh8CxCJ}U|x{c=fzXS*SVBb7&%6rlhpMYc)lO-Jf~ z`^7fuu8uT(B)v{OgiFmyVWz_ku}YYk`X`np;ENZ2^JeBqG11{})^>k?r~Wh2##f;G zA`kWm^$+SD-I=dW_xSp$N~z3{{*}1r5%@t)Mk;|3 zdtuK{(VNRLoQo8m!W)H={Fic*lw{_~B}aOs#$9q?_CFGTK>cZ&FF5SD)0^V_%qHj=yXH)l%#j-lLnq119?#4Y@Sq02Hv=vQsPaR*hH|Heoam1o1znj~UG+ZvMsd z_G{H<&(DWnx2T#QIHS?vZf>*=t-YR)89LkAy0x#9L$#HpG*KzLX3f}Ro0{#iDHQ*} zip;?-$;ng6g_=QZaC2~wzr+TRKOP;*4=2mjqo;<~o9rX9UJ^SGDgW4gcvx;RFRxzR zm4eRzQ$qOU3Cp`7^!e!3xQGZTct7C}M^?CfHc{HeZ$|)F!Wqp@_n4t&mSwnELP9IV zZTK$6&{xkYZPB^;E2llML|ih_EnEq^lawO9dw8aBE)fSYjH@7clKC5cRTBX^T-~S1 zfKUwKhwqffjjwDti2dedNr``#H<+`CV#&OQq8mc_%&y$%5U53t#dfI?>MEl>93JoV z(?BwKB^VWgeLc{n>uz@2*_FS+gVLW-^eAmD2}oC{h=_ad7_KroE`G806BJsu9|l_} zW;vQOea=(j{j*3{#ev826Z*?i8X8tXzCPYAWxyPsHH{y*nz&=P8&&6~_=p>qb+qfH zQ5!9<;N1VUH)~cDugCaYa0K5}sA+K)QgHI+T4N10W!0%Zs1ONGNyRL+unD(VMU~k%6G_Kgc z5^1|2Tiw?{OJ^!m0*eCIGj^L(IMC>QK$AQbfNx=F=bwF~TJI5|YMyexEk1MD-<%U= z=ipi$dLL`f3Ogb2lEuMRei%irCTT$rS%Q7&R$rozcIX&iSpZn9DXF9zXUBH>HvNWf z27dmL;6m0nJ{R1*)M>}t&Qh%;<*|~b_#Ttag!ry{oSS`_IgwXilN6|B^YNY9|5Ync z<1tsfOQ%NQ1BC#Ob^Y^nH|UTR?rUt%^~T4+IaTfH*Duz&`TAqCo}^7UD>2ie4S_mAQN9(!ItnCvqsZ zIMfEHO#}Vq%Jd8OdlmNSyG&q{5Cx$kouOkP1h==Dg;01f!X6KN9BV!aeh|wFH8?J( zs>#vbYzNv4>~(}^e$#&@wM#k8Z(FAX;dC;|BZ2hn2UEruSU7i>9RL1E1B%rm;wOyY zi-tplrPhJ%FGc5Wr$vaN>i)*|cF@M^r?Xdt=xW5bq=YhZms~%&zZRem>M& zyA`B)(4}3Nhl8||K!t^8&C)lIVVqZFc+ zUm9?QLw9Jbz+=VXQ+KcOLCL~03mi#>=^nH>lozF(SeQ)Ep0}xTVA|j640S812C4+* zlKLx+JI=9uBtqFze`v?`XfI`>cHbn)#~l(C)0z+|PIDOP{$drR-gJD`y+sRupYTSN zEL@jWGQj_>>5#RdCOBQb7YWcS1{hW(I_x_-28YwO8D;iyWBeLk*+=oPNF|pic}(vd zjJsgN``-!Dep?!Pj6NY#0I%|gx4OX>`3bMeLX20j216Rh4gbE!VB0iu&pMl9Dn#c!!N&Kn@Uvm3IGoMi*W9VNCJq9F+1N)_wVzp^?JH=I zH_s-mFa=*wLHyxFEKss=&=9C{ih>k-2npO{B>0zQznGVwBA}x?r<(zqs?pK*yV*Rl zi+JJ_SwiF&hWjgrjmN+f$=}kZe6E5zc^8-o8t0S&?xsOb=3|~{#+6YZ9xTLg8Fl3^ zG-mJ(ZB`#;q;A@L`j+%2E@_wIXtr?y+5oGy<#eWjy5e-#gWVtNr}7nI1U8H*R0*l)a3S%C87$nX$C%2_B0Z&v%i+4?5Y&GY9O(Xq~YJSED( zZ6#!WS`vB0h~IjAP+mX8><1=jjT|_fWMEE~230HaIp_&@w5z*6h>Kf$RFkO(|*2?tHEqTl!2MK^IXC1)R76rFtgOQAr`L7b5t&;wn*!bgj?@0`NJGWtd?&OaNBR(3f<1|9RGna!)@$ zS$&{5Dyvbkxl_DtrG@%9YsS#Zz;di?MY-doTpF_bk6mq z0~9ftLk9dVg$!(X2M#RpC6t5Y%a`+*Tt7YuuC%6}Mt}?elrHaL+#3R3(ad*2oQu_8 z6C=S$(1MwzoelALu0*(@^M+B0~gE@nRJMu$L<^SRo?nO*`4sUoE-i`3AC!R zq9#BP6OaGMrivR{FE=$04BLaKr>5n<>pwzsL2d&7%=B#`%2iD>rJ;x zeEJd{zSK{F*u^>^wlohE#WA_~lEzOxmWDq}C~LKYlppEXei#&xlIBEUERn__eY9`; z8R%?IM!tYI3Gp=^e~vVTBk21Q8cE+XwG;n+F%e-Z&;i%oFyh`-F3L`YW;zp?jREBKQlfa}I zOveU0>9rGNnIn6(!lZ*8vx&8gLk4F{HNa+g(Yrg=6nw@cyskWLIQ1MV=t^SBuIgch zO?2NTC^3;Nj6Z+7Tta%dW9>7n&#GR!Ov{1k;p;QAs9dkb2tD|6GiAxgQ%9EVzUn>% z+Q7?(jq_|TcM;>MbRD#eWGCg>(2?_|UHqzEr;mRk<_wbj2@GGBmkNu43v^%$X{Snvg+zYBGifA4W@Y`;*Wp~h{kH;f2x zxFD)ydEY<*j1Q7oYx;MK;3$?d`t74A>LX7-nXgs= z^G+~gu_nbR;O;>(keCMFt6H8_Fm(O9A3yUw_&xSKBu`L~V1Ut-6d?SUMfUs2S!b47 za6hK*pVeHm{?O|>%NyR9DVeFnK}}~Pvu~ECFHBkCc%RCIH)Ot61+~`1mCO1l%>#Q`pzCjtw5xuu1nx4-FL?k0g^ zsSv%6DjY19FbP-x_AMx`nBep8qC}4Kax_LFOAcU*1Zk(UNr&}VXtGEc|jZar|BJoJ_gGAP|TKN{3$IirPwr~<%E@A=TS zP(SeJPW&gbmp0@Yx&SpAa)SYU;^5l;$p?qWA!}7?1UN5|SpziuHa2?cU1!YXzA2sf zx~X}lEz=wPXf);XdF z2YOLtMb@_P2GAl=5DKKm$Ih)Noc0D>=KWMAjNl*{;a_k!^(+9^x%}SYLcPBhMv3m| z;d}I}H@)xfyuZ+k+(}I@TFpU`tK1=3Xz)J+bPIZGV55lzYR?F*1D5zqSlT<;pYw{S z`1!_(h3k{1R_uCzpPu^Uy(C7!AsIaKpt0LFK(^I(f&ji5z01rfU_ycdV#K+aDn}6b z(>QlZPS)s@e0}7|nYY(9Wy!zm|63h+FO!|gWgh6Z_@aysU%E|F(5%9IB=%7x(8R3X zf$7__mSHfm-Gr*NbRP+b$>C?5VDzH5yPnt*QizIF#tA=ks}u(lcgP5N2?Tn$q~W(< z&7&|);qt|59e!=PJbR(YtQ9=og@rKTdM=oEBnD6y2nERtH5gmN8b-lb)E97bUFWUI znMmG3=4-qJElkUxD-_6Gl?TN(>bnc_j{@z{-)&s|Ud9l_j;Tql2hsXbB{Z6|Z{u>G zsO0hA8f)q_mnS&@6yUm)Bt{;sf+0m5@y7Rzj}UBYtHs}wM0B>S=e4CZJa#}T#rQZE z={cU8Ra&RPk8uI%S=PCaQw_zT&+(k&C8xmo%a#K%Q4dttc%HjgUj0BU;J*hP8%mZq zOH{i42(exN`Z$6M5oNSw`p~{RfvAgw*m&Ap?w^f1|QT$Xq16VTLp}x zy_N~6sF~47ebov%t?<@_CL&+sl&geu3r1)s!}H|?s8q0UHuJyJoTq`h|9_p~Ik~^> z$*HbkPrRVB`h1?=t5PRw=GHH=!Jf~^Dh_f11s2&{7IP9-objo*$Ds>w-T6{S;fm@1{_;o6=GxaB-v7y1|Z&&>_) z@u0zi?qz1zM)vSftkk345c|kq`8LQxX30MY1Z2v!D1l4rfwH3lRx>V4&Q0TQpdl5I zq4`5A^a%1bUravns?JCwXcLDZ)*2y$Z>NY2-qBLk7^Mg%lpE@KuoFW1AVi~BPJO;^ z&NW_KgPgPbQ9Qn)Xrk*BgExbgSct|hzxEG?4lw&9Yh*P_~n(6#Be!P-;K^9A=x#dCv&zr~y5_k4%Hn8S&SJAEt3l;Ug zJ8}ck*s)HTNqH2g5Z^I%BsgdII*+{RA5yj?JEiKhSg4yb_j@e0FXj& zh5y`XTxHC7ZP$65XJ|fBny(osYel4AJPfLMJZ4bkJFWoE;`%S1h%2=gE5mUXG6UgBVZBQHxrHrVOUNuw+}7uhXUW% z3(pT`i;9X6tJM=Y)j#xPYGXJmxB@GL@L-RN%y4Or^rpVNMH&w?$?Y5`7Fv`H+8I#R z>G2B^xUa56_X~tK<11Cn5tFU&L-?_{FpVJ&Vnh`sqLqab0o6tAsToi0AIfrbFH699 z6@Y6g`q~o((#0hus~8k5Ci%w%#&alXS70&dX z(nbc_+st%;-eY((Tz2F4+#Y483^oV--n9Nf4-*MZ3*a8s2c5S<@cs2egHQ$Y#_bcO%JP_W&02>s%=bd-7B;jchuWjF)K!=jy9vx=WfJ zloP!}pCHkUxjFV>MzEAW&F|5|o5;+}HO&uxexms^e2Oj_b%JNosbs~x3HphC4TlEr zjfCy_eA~;drT_$ z-1L*my>uH<-zSiVn3My?VbdQ!Ud;U=yrS#tiz?Y`9q+1do#d{o|3{&Jj&v5Mpl6Vk zevy(kTqYzK4>~+pH{>eQnvQ1J((DknZWptnMDND)*xVQt@Jn^Jo0-Lz4wdO_*Xd}v z7j!VB7KL^MV{$FZ4|RR3-zSm5{WXPaIdXX$ush+K7cdFf0`cz512>uUbW`JQr);N~ z+Gk}{1oL}wsJJlc9NOGB!zp%4ydTCW-vzIRQp3DvpFU|)V00CKKSBR4P=j7n*(5

    + + + +
    +
    + + +
    + +
    +

    API Reference¶

    +

    The {fmt} library API consists of the following parts:

    + +

    All functions and types provided by the library reside in namespace fmt and +macros have prefix FMT_.

    +
    +

    Core API¶

    +

    fmt/core.h defines the core API which provides main formatting functions +for char/UTF-8 with C++20 compile-time checks. It has minimal include +dependencies for better compile times. This header is only beneficial when +using {fmt} as a library (the default) and not in the header-only mode. +It also provides formatter specializations for built-in and string types.

    +

    The following functions use format string syntax +similar to that of Python’s str.format. +They take fmt and args as arguments.

    +

    fmt is a format string that contains literal text and replacement fields +surrounded by braces {}. The fields are replaced with formatted arguments +in the resulting string. format_string is a format string which can be +implicitly constructed from a string literal or a constexpr string and is +checked at compile time in C++20. To pass a runtime format string wrap it in +fmt::runtime().

    +

    args is an argument list representing objects to be formatted.

    +
    +
    +template<typename ...T>
    auto fmt::format(format_string<T...> fmt, T&&... args) -> std::string¶
    +

    Formats args according to specifications in fmt and returns the result +as a string.

    +

    Example:

    +
    #include <fmt/core.h>
    +std::string message = fmt::format("The answer is {}.", 42);
    +
    +
    +

    +

    +
    + +
    +
    +auto fmt::vformat(string_view fmt, format_args args) -> std::string¶
    +
    + +
    +
    +template<typename OutputIt, typename ...T>
    auto fmt::format_to(OutputIt out, format_string<T...> fmt, T&&... args) -> OutputIt¶
    +

    Formats args according to specifications in fmt, writes the result to +the output iterator out and returns the iterator past the end of the output +range. format_to() does not append a terminating null character.

    +

    Example:

    +
    auto out = std::vector<char>();
    +fmt::format_to(std::back_inserter(out), "{}", 42);
    +
    +
    +

    +

    +
    + +
    +
    +template<typename OutputIt, typename ...T>
    auto fmt::format_to_n(OutputIt out, size_t n, format_string<T...> fmt, T&&... args) -> format_to_n_result<OutputIt>¶
    +

    Formats args according to specifications in fmt, writes up to n +characters of the result to the output iterator out and returns the total +(not truncated) output size and the iterator past the end of the output range. +format_to_n() does not append a terminating null character.

    +

    +

    +
    + +
    +
    +template<typename ...T>
    auto fmt::formatted_size(format_string<T...> fmt, T&&... args) -> size_t¶
    +

    Returns the number of chars in the output of format(fmt, args...).

    +
    + +
    +
    +template<typename OutputIt>
    struct fmt::format_to_n_result¶
    +
    +

    Public Members

    +
    +
    +OutputIt out¶
    +

    Iterator past the end of the output range.

    +
    + +
    +
    +size_t size¶
    +

    Total (not truncated) output size.

    +
    + +
    +
    + +
    +
    +template<typename ...T>
    void fmt::print(format_string<T...> fmt, T&&... args)¶
    +

    Formats args according to specifications in fmt and writes the output +to stdout.

    +

    Example:

    +
    fmt::print("Elapsed time: {0:.2f} seconds", 1.23);
    +
    +
    +

    +

    +
    + +
    +
    +void fmt::vprint(string_view fmt, format_args args)¶
    +
    + +
    +
    +template<typename ...T>
    void fmt::print(std::FILE *f, format_string<T...> fmt, T&&... args)¶
    +

    Formats args according to specifications in fmt and writes the +output to the file f.

    +

    Example:

    +
    fmt::print(stderr, "Don't {}!", "panic");
    +
    +
    +

    +

    +
    + +
    +
    +void fmt::vprint(std::FILE *f, string_view fmt, format_args args)¶
    +
    + +
    +

    Compile-Time Format String Checks¶

    +

    Compile-time format string checks are enabled by default on compilers +that support C++20 consteval. On older compilers you can use the +FMT_STRING: macro defined in fmt/format.h instead.

    +

    Unused arguments are allowed as in Python’s str.format and ordinary functions.

    +
    +
    +template<typename Char, typename ...Args>
    class basic_format_string¶
    +

    A compile-time format string.

    +
    + +
    +
    +template<typename ...Args>
    using fmt::format_string = basic_format_string<char, type_identity_t<Args>...>¶
    +
    + +
    +
    +auto fmt::runtime(string_view s) -> runtime_format_string<>¶
    +

    Creates a runtime format string.

    +

    Example:

    +
    // Check format string at runtime instead of compile-time.
    +fmt::print(fmt::runtime("{:d}"), "I am not a number");
    +
    +
    +

    +

    +
    + +
    +
    +

    Formatting User-Defined Types¶

    +

    The {fmt} library provides formatters for many standard C++ types. +See fmt/ranges.h for ranges and tuples including standard +containers such as std::vector, fmt/chrono.h for date +and time formatting and fmt/std.h for other standard library +types.

    +

    To make a user-defined type formattable, specialize the formatter<T> struct +template and implement parse and format methods:

    +
    #include <fmt/core.h>
    +
    +struct point {
    +  double x, y;
    +};
    +
    +template <> struct fmt::formatter<point> {
    +  // Presentation format: 'f' - fixed, 'e' - exponential.
    +  char presentation = 'f';
    +
    +  // Parses format specifications of the form ['f' | 'e'].
    +  constexpr auto parse(format_parse_context& ctx) -> format_parse_context::iterator {
    +    // [ctx.begin(), ctx.end()) is a character range that contains a part of
    +    // the format string starting from the format specifications to be parsed,
    +    // e.g. in
    +    //
    +    //   fmt::format("{:f} - point of interest", point{1, 2});
    +    //
    +    // the range will contain "f} - point of interest". The formatter should
    +    // parse specifiers until '}' or the end of the range. In this example
    +    // the formatter should parse the 'f' specifier and return an iterator
    +    // pointing to '}'.
    +
    +    // Please also note that this character range may be empty, in case of
    +    // the "{}" format string, so therefore you should check ctx.begin()
    +    // for equality with ctx.end().
    +
    +    // Parse the presentation format and store it in the formatter:
    +    auto it = ctx.begin(), end = ctx.end();
    +    if (it != end && (*it == 'f' || *it == 'e')) presentation = *it++;
    +
    +    // Check if reached the end of the range:
    +    if (it != end && *it != '}') ctx.on_error("invalid format");
    +
    +    // Return an iterator past the end of the parsed range:
    +    return it;
    +  }
    +
    +  // Formats the point p using the parsed format specification (presentation)
    +  // stored in this formatter.
    +  auto format(const point& p, format_context& ctx) const -> format_context::iterator {
    +    // ctx.out() is an output iterator to write to.
    +    return presentation == 'f'
    +              ? fmt::format_to(ctx.out(), "({:.1f}, {:.1f})", p.x, p.y)
    +              : fmt::format_to(ctx.out(), "({:.1e}, {:.1e})", p.x, p.y);
    +  }
    +};
    +
    +
    +

    Then you can pass objects of type point to any formatting function:

    +
    point p = {1, 2};
    +std::string s = fmt::format("{:f}", p);
    +// s == "(1.0, 2.0)"
    +
    +
    +

    You can also reuse existing formatters via inheritance or composition, for +example:

    +
    // color.h:
    +#include <fmt/core.h>
    +
    +enum class color {red, green, blue};
    +
    +template <> struct fmt::formatter<color>: formatter<string_view> {
    +  // parse is inherited from formatter<string_view>.
    +
    +  auto format(color c, format_context& ctx) const;
    +};
    +
    +// color.cc:
    +#include "color.h"
    +#include <fmt/format.h>
    +
    +auto fmt::formatter<color>::format(color c, format_context& ctx) const {
    +  string_view name = "unknown";
    +  switch (c) {
    +  case color::red:   name = "red"; break;
    +  case color::green: name = "green"; break;
    +  case color::blue:  name = "blue"; break;
    +  }
    +  return formatter<string_view>::format(name, ctx);
    +}
    +
    +
    +

    Note that formatter<string_view>::format is defined in fmt/format.h so +it has to be included in the source file. +Since parse is inherited from formatter<string_view> it will recognize +all string format specifications, for example

    +
    fmt::format("{:>10}", color::blue)
    +
    +
    +

    will return "      blue".

    +

    You can also write a formatter for a hierarchy of classes:

    +
    // demo.h:
    +#include <type_traits>
    +#include <fmt/core.h>
    +
    +struct A {
    +  virtual ~A() {}
    +  virtual std::string name() const { return "A"; }
    +};
    +
    +struct B : A {
    +  virtual std::string name() const { return "B"; }
    +};
    +
    +template <typename T>
    +struct fmt::formatter<T, std::enable_if_t<std::is_base_of<A, T>::value, char>> :
    +    fmt::formatter<std::string> {
    +  auto format(const A& a, format_context& ctx) const {
    +    return fmt::formatter<std::string>::format(a.name(), ctx);
    +  }
    +};
    +
    +// demo.cc:
    +#include "demo.h"
    +#include <fmt/format.h>
    +
    +int main() {
    +  B b;
    +  A& a = b;
    +  fmt::print("{}", a); // prints "B"
    +}
    +
    +
    +

    If a type provides both a formatter specialization and an implicit +conversion to a formattable type, the specialization takes precedence over the +conversion.

    +

    For enums {fmt} also provides the format_as extension API. To format an enum +via this API define format_as that takes this enum and converts it to the +underlying type. format_as should be defined in the same namespace as the +enum.

    +

    Example (https://godbolt.org/z/r7vvGE1v7):

    +
    #include <fmt/format.h>
    +
    +namespace kevin_namespacy {
    +enum class film {
    +  house_of_cards, american_beauty, se7en = 7
    +};
    +auto format_as(film f) { return fmt::underlying(f); }
    +}
    +
    +int main() {
    +  fmt::print("{}\n", kevin_namespacy::film::se7en); // prints "7"
    +}
    +
    +
    +
    +
    +

    Named Arguments¶

    +
    +
    +template<typename Char, typename T>
    auto fmt::arg(const Char *name, const T &arg) -> detail::named_arg<Char, T>¶
    +

    Returns a named argument to be used in a formatting function. +It should only be used in a call to a formatting function or +dynamic_format_arg_store::push_back.

    +

    Example:

    +
    fmt::print("Elapsed time: {s:.2f} seconds", fmt::arg("s", 1.23));
    +
    +
    +

    +

    +
    + +

    Named arguments are not supported in compile-time checks at the moment.

    +
    +
    +

    Argument Lists¶

    +

    You can create your own formatting function with compile-time checks and small +binary footprint, for example (https://godbolt.org/z/vajfWEG4b):

    +
    #include <fmt/core.h>
    +
    +void vlog(const char* file, int line, fmt::string_view format,
    +          fmt::format_args args) {
    +  fmt::print("{}: {}: ", file, line);
    +  fmt::vprint(format, args);
    +}
    +
    +template <typename... T>
    +void log(const char* file, int line, fmt::format_string<T...> format, T&&... args) {
    +  vlog(file, line, format, fmt::make_format_args(args...));
    +}
    +
    +#define MY_LOG(format, ...) log(__FILE__, __LINE__, format, __VA_ARGS__)
    +
    +MY_LOG("invalid squishiness: {}", 42);
    +
    +
    +

    Note that vlog is not parameterized on argument types which improves compile +times and reduces binary code size compared to a fully parameterized version.

    +
    +
    +template<typename Context = format_context, typename ...T>
    constexpr auto fmt::make_format_args(T&&... args) -> format_arg_store<Context, remove_cvref_t<T>...>¶
    +

    Constructs a format_arg_store object that contains references to +arguments and can be implicitly converted to format_args. Context +can be omitted in which case it defaults to context. +See arg() for lifetime considerations.

    +

    +

    +
    + +
    +
    +template<typename Context, typename ...Args>
    class format_arg_store¶
    +

    An array of references to arguments. It can be implicitly converted into +basic_format_args for passing into type-erased formatting functions +such as vformat().

    +

    +

    +
    + +
    +
    +template<typename Context>
    class dynamic_format_arg_store¶
    +
    + +
    +
    +template<typename Context>
    class fmt::basic_format_args¶
    +

    A view of a collection of formatting arguments. To avoid lifetime issues it +should only be used as a parameter type in type-erased functions such as +vformat:

    +
    void vlog(string_view format_str, format_args args);  // OK
    +format_args args = make_format_args(42);  // Error: dangling reference
    +
    +
    +

    +

    +
    +

    Public Functions

    +
    +
    +template<typename ...Args>
    constexpr basic_format_args(const format_arg_store<Context, Args...> &store)¶
    +

    Constructs a basic_format_args() object from format_arg_store.

    +

    +

    +
    + +
    +
    +constexpr basic_format_args(const dynamic_format_arg_store<Context> &store)¶
    +

    Constructs a basic_format_args() object from +dynamic_format_arg_store.

    +

    +

    +
    + +
    +
    +constexpr basic_format_args(const format_arg *args, int count)¶
    +

    Constructs a basic_format_args() object from a dynamic set of arguments.

    +

    +

    +
    + +
    +
    +auto get(int id) const -> format_arg¶
    +

    Returns the argument with the specified id.

    +
    + +
    +
    + +
    +
    +using fmt::format_args = basic_format_args<format_context>¶
    +

    An alias to basic_format_args<format_context>.

    +
    + +
    +
    +template<typename Context>
    class basic_format_arg¶
    +
    + +
    +
    +template<typename Char>
    class fmt::basic_format_parse_context¶
    +

    Parsing context consisting of a format string range being parsed and an +argument counter for automatic indexing. +You can use the format_parse_context type alias for char instead.

    +

    +

    +

    Subclassed by fmt::basic_printf_parse_context< Char >, fmt::detail::compile_parse_context< Char >

    +
    +

    Public Functions

    +
    +
    +constexpr auto begin() const noexcept -> iterator¶
    +

    Returns an iterator to the beginning of the format string range being parsed.

    +
    + +
    +
    +constexpr auto end() const noexcept -> iterator¶
    +

    Returns an iterator past the end of the format string range being parsed.

    +
    + +
    +
    +void advance_to(iterator it)¶
    +

    Advances the begin iterator to it.

    +
    + +
    +
    +auto next_arg_id() -> int¶
    +

    Reports an error if using the manual argument indexing; otherwise returns the next argument index and switches to the automatic indexing.

    +
    + +
    +
    +void check_arg_id(int id)¶
    +

    Reports an error if using the automatic argument indexing; otherwise switches to the manual indexing.

    +
    + +
    +
    + +
    +
    +template<typename OutputIt, typename Char>
    class fmt::basic_format_context¶
    +
    +

    Public Types

    +
    +
    +using char_type = Char¶
    +

    The character type for the output.

    +
    + +
    +
    +

    Public Functions

    +
    +
    +constexpr basic_format_context(OutputIt out, format_args ctx_args, detail::locale_ref loc = {})¶
    +

    Constructs a basic_format_context object.

    +

    References to the arguments are stored in the object so make sure they have appropriate lifetimes.

    +
    + +
    +
    + +
    +
    +using fmt::format_context = buffer_context<char>¶
    +
    + +
    +
    +

    Compatibility¶

    +
    +
    +template<typename Char>
    class fmt::basic_string_view¶
    +

    An implementation of std::basic_string_view for pre-C++17.

    +

    It provides a subset of the API. fmt::basic_string_view is used for format strings even if std::string_view is available to prevent issues when a library is compiled with a different -std option than the client code (which is not recommended).

    +
    +

    Public Functions

    +
    +
    +constexpr basic_string_view(const Char *s, size_t count) noexcept¶
    +

    Constructs a string reference object from a C string and a size.

    +
    + +
    +
    +basic_string_view(const Char *s)¶
    +

    Constructs a string reference object from a C string computing +the size with std::char_traits<Char>::length.

    +

    +

    +
    + +
    +
    +template<typename Traits, typename Alloc>
    basic_string_view(const std::basic_string<Char, Traits, Alloc> &s) noexcept¶
    +

    Constructs a string reference from a std::basic_string object.

    +
    + +
    +
    +constexpr auto data() const noexcept -> const Char*¶
    +

    Returns a pointer to the string data.

    +
    + +
    +
    +constexpr auto size() const noexcept -> size_t¶
    +

    Returns the string size.

    +
    + +
    +
    + +
    +
    +using fmt::string_view = basic_string_view<char>¶
    +
    + +
    +
    +
    +

    Format API¶

    +

    fmt/format.h defines the full format API providing additional formatting +functions and locale support.

    +
    +

    Literal-Based API¶

    +

    The following user-defined literals are defined in fmt/format.h.

    +
    +
    +template<detail_exported::fixed_string Str>
    constexpr auto fmt::operator""_a()¶
    +

    User-defined literal equivalent of fmt::arg().

    +

    Example:

    +
    using namespace fmt::literals;
    +fmt::print("Elapsed time: {s:.2f} seconds", "s"_a=1.23);
    +
    +
    +

    +

    +
    + +
    +
    +

    Utilities¶

    +
    +
    +template<typename T>
    auto fmt::ptr(T p) -> const void*¶
    +

    Converts p to const void* for pointer formatting.

    +

    Example:

    +
    auto s = fmt::format("{}", fmt::ptr(p));
    +
    +
    +

    +

    +
    + +
    +
    +template<typename T, typename Deleter>
    auto fmt::ptr(const std::unique_ptr<T, Deleter> &p) -> const void*¶
    +
    + +
    +
    +template<typename T>
    auto fmt::ptr(const std::shared_ptr<T> &p) -> const void*¶
    +
    + +
    +
    +template<typename Enum>
    constexpr auto fmt::underlying(Enum e) noexcept -> underlying_t<Enum>¶
    +

    Converts e to the underlying type.

    +

    Example:

    +
    enum class color { red, green, blue };
    +auto s = fmt::format("{}", fmt::underlying(color::red));
    +
    +
    +

    +

    +
    + +
    +
    +template<typename T>
    auto fmt::to_string(const T &value) -> std::string¶
    +

    Converts value to std::string using the default format for type T.

    +

    Example:

    +
    #include <fmt/format.h>
    +
    +std::string answer = fmt::to_string(42);
    +
    +
    +

    +

    +
    + +
    +
    +template<typename Range>
    auto fmt::join(Range &&range, string_view sep) -> join_view<detail::iterator_t<Range>, detail::sentinel_t<Range>>¶
    +

    Returns a view that formats range with elements separated by sep.

    +

    Example:

    +
    std::vector<int> v = {1, 2, 3};
    +fmt::print("{}", fmt::join(v, ", "));
    +// Output: "1, 2, 3"
    +
    +
    +

    fmt::join applies passed format specifiers to the range elements:

    +
    fmt::print("{:02}", fmt::join(v, ", "));
    +// Output: "01, 02, 03"
    +
    +
    +

    +

    +
    + +
    +
    +template<typename It, typename Sentinel>
    auto fmt::join(It begin, Sentinel end, string_view sep) -> join_view<It, Sentinel>¶
    +

    Returns a view that formats the iterator range [begin, end) with elements separated by sep.

    +
    + +
    +
    +template<typename T>
    auto fmt::group_digits(T value) -> group_digits_view<T>¶
    +

    Returns a view that formats an integer value using ‘,’ as a locale-independent +thousands separator.

    +

    Example:

    +
    fmt::print("{}", fmt::group_digits(12345));
    +// Output: "12,345"
    +
    +
    +

    +

    +
    + +
    +
    +template<typename T>
    class fmt::detail::buffer¶
    +

    A contiguous memory buffer with an optional growing ability. It is an internal +class and shouldn’t be used directly, only via basic_memory_buffer.

    +

    +

    +

    Subclassed by fmt::basic_memory_buffer< bigit, bigits_capacity >, fmt::basic_memory_buffer< wchar_t >, fmt::basic_memory_buffer< T, SIZE, Allocator >, fmt::detail::iterator_buffer< OutputIt, T, Traits >, fmt::detail::iterator_buffer< T *, T >, fmt::detail::iterator_buffer< T *, T, fixed_buffer_traits >

    +
    +

    Public Functions

    +
    +
    +constexpr auto size() const noexcept -> size_t¶
    +

    Returns the size of this buffer.

    +
    + +
    +
    +constexpr auto capacity() const noexcept -> size_t¶
    +

    Returns the capacity of this buffer.

    +
    + +
    +
    +auto data() noexcept -> T*¶
    +

    Returns a pointer to the buffer data.

    +
    + +
    +
    +auto data() const noexcept -> const T*¶
    +

    Returns a pointer to the buffer data.

    +
    + +
    +
    +void clear()¶
    +

    Clears this buffer.

    +
    + +
    +
    +template<typename U>
    void append(const U *begin, const U *end)¶
    +

    Appends data to the end of the buffer.

    +
    + +
    +
    + +
    +
    +template<typename T, size_t SIZE = inline_buffer_size, typename Allocator = std::allocator<T>>
    class fmt::basic_memory_buffer : public fmt::detail::buffer<T>¶
    +

    A dynamically growing memory buffer for trivially copyable/constructible types +with the first SIZE elements stored in the object itself.

    +

    You can use the memory_buffer type alias for char instead.

    +

    Example:

    +
    auto out = fmt::memory_buffer();
    +format_to(std::back_inserter(out), "The answer is {}.", 42);
    +
    +
    +

    This will append the following output to the out object:

    +
    The answer is 42.
    +
    +
    +

    The output can be converted to an std::string with to_string(out).

    +

    +

    +
    +

    Public Functions

    +
    +
    +basic_memory_buffer(basic_memory_buffer &&other) noexcept¶
    +

    Constructs a fmt::basic_memory_buffer object moving the content +of the other object to it.

    +

    +

    +
    + +
    +
    +auto operator=(basic_memory_buffer &&other) noexcept -> basic_memory_buffer&¶
    +

    Moves the content of the other basic_memory_buffer object to this one.

    +

    +

    +
    + +
    +
    +void resize(size_t count)¶
    +

    Resizes the buffer to contain count elements.

    +

    If T is a POD type new elements may not be initialized.

    +
    + +
    +
    +void reserve(size_t new_capacity)¶
    +

    Increases the buffer capacity to new_capacity.

    +
    + +
    +
    +

    Protected Functions

    +
    +
    +void grow(size_t size) override¶
    +

    Increases the buffer capacity to hold at least capacity elements.

    +
    + +
    +
    + +
    +
    +

    System Errors¶

    +

    {fmt} does not use errno to communicate errors to the user, but it may call +system functions which set errno. Users should not make any assumptions +about the value of errno being preserved by library functions.

    +
    +
    +template<typename ...T>
    auto fmt::system_error(int error_code, format_string<T...> fmt, T&&... args) -> std::system_error¶
    +

    Constructs std::system_error with a message formatted with +fmt::format(fmt, args...).

    +
    +

    error_code is a system error code as given by errno.

    +
    +

    Example:

    +
    // This throws std::system_error with the description
    +//   cannot open file 'madeup': No such file or directory
    +// or similar (system message may vary).
    +const char* filename = "madeup";
    +std::FILE* file = std::fopen(filename, "r");
    +if (!file)
    +  throw fmt::system_error(errno, "cannot open file '{}'", filename);
    +
    +
    +

    +

    +
    + +
    +
    +void fmt::format_system_error(detail::buffer<char> &out, int error_code, const char *message) noexcept¶
    +

    Formats an error message for an error returned by an operating system or a +language runtime, for example a file opening error, and writes it to out. +The format is the same as the one used by std::system_error(ec, message) +where ec is std::error_code(error_code, std::generic_category()}). +It is implementation-defined but normally looks like:

    +
    <message>: <system-message>
    +

    where <message> is the passed message and <system-message> is the system +message corresponding to the error code. +error_code is a system error code as given by errno.

    +

    +

    +
    + +
    +
    +

    Custom Allocators¶

    +

    The {fmt} library supports custom dynamic memory allocators. +A custom allocator class can be specified as a template argument to +fmt::basic_memory_buffer:

    +
    using custom_memory_buffer =
    +  fmt::basic_memory_buffer<char, fmt::inline_buffer_size, custom_allocator>;
    +
    +
    +

    It is also possible to write a formatting function that uses a custom +allocator:

    +
    using custom_string =
    +  std::basic_string<char, std::char_traits<char>, custom_allocator>;
    +
    +custom_string vformat(custom_allocator alloc, fmt::string_view format_str,
    +                      fmt::format_args args) {
    +  auto buf = custom_memory_buffer(alloc);
    +  fmt::vformat_to(std::back_inserter(buf), format_str, args);
    +  return custom_string(buf.data(), buf.size(), alloc);
    +}
    +
    +template <typename ...Args>
    +inline custom_string format(custom_allocator alloc,
    +                            fmt::string_view format_str,
    +                            const Args& ... args) {
    +  return vformat(alloc, format_str, fmt::make_format_args(args...));
    +}
    +
    +
    +

    The allocator will be used for the output container only. Formatting functions +normally don’t do any allocations for built-in and string types except for +non-default floating-point formatting that occasionally falls back on +sprintf.

    +
    +
    +

    Locale¶

    +

    All formatting is locale-independent by default. Use the 'L' format +specifier to insert the appropriate number separator characters from the +locale:

    +
    #include <fmt/core.h>
    +#include <locale>
    +
    +std::locale::global(std::locale("en_US.UTF-8"));
    +auto s = fmt::format("{:L}", 1000000);  // s == "1,000,000"
    +
    +
    +

    fmt/format.h provides the following overloads of formatting functions that +take std::locale as a parameter. The locale type is a template parameter to +avoid the expensive <locale> include.

    +
    +
    +template<typename Locale, typename ...T>
    auto fmt::format(const Locale &loc, format_string<T...> fmt, T&&... args) -> std::string¶
    +
    + +
    +
    +template<typename OutputIt, typename Locale, typename ...T>
    auto fmt::format_to(OutputIt out, const Locale &loc, format_string<T...> fmt, T&&... args) -> OutputIt¶
    +
    + +
    +
    +template<typename Locale, typename ...T>
    auto fmt::formatted_size(const Locale &loc, format_string<T...> fmt, T&&... args) -> size_t¶
    +
    + +
    +
    +

    Legacy Compile-Time Format String Checks¶

    +

    FMT_STRING enables compile-time checks on older compilers. It requires C++14 +or later and is a no-op in C++11.

    +
    +
    +FMT_STRING(s)¶
    +

    Constructs a compile-time format string from a string literal s.

    +

    Example:

    +
    // A compile-time error because 'd' is an invalid specifier for strings.
    +std::string s = fmt::format(FMT_STRING("{:d}"), "foo");
    +
    +
    +

    +

    +
    + +

    To force the use of legacy compile-time checks, define the preprocessor variable +FMT_ENFORCE_COMPILE_STRING. When set, functions accepting FMT_STRING +will fail to compile with regular strings.

    +
    +
    +
    +

    Range and Tuple Formatting¶

    +

    The library also supports convenient formatting of ranges and tuples:

    +
    #include <fmt/ranges.h>
    +
    +std::tuple<char, int, float> t{'a', 1, 2.0f};
    +// Prints "('a', 1, 2.0)"
    +fmt::print("{}", t);
    +
    +
    +

    NOTE: currently, the overload of fmt::join for iterables exists in the main +format.h header, but expect this to change in the future.

    +

    Using fmt::join, you can separate tuple elements with a custom separator:

    +
    #include <fmt/ranges.h>
    +
    +std::tuple<int, char> t = {1, 'a'};
    +// Prints "1, a"
    +fmt::print("{}", fmt::join(t, ", "));
    +
    +
    +
    +
    +

    Date and Time Formatting¶

    +

    fmt/chrono.h provides formatters for

    + +

    The format syntax is described in Chrono Format Specifications.

    +

    Example:

    +
    #include <fmt/chrono.h>
    +
    +int main() {
    +  std::time_t t = std::time(nullptr);
    +
    +  // Prints "The date is 2020-11-07." (with the current date):
    +  fmt::print("The date is {:%Y-%m-%d}.", fmt::localtime(t));
    +
    +  using namespace std::literals::chrono_literals;
    +
    +  // Prints "Default format: 42s 100ms":
    +  fmt::print("Default format: {} {}\n", 42s, 100ms);
    +
    +  // Prints "strftime-like format: 03:15:30":
    +  fmt::print("strftime-like format: {:%H:%M:%S}\n", 3h + 15min + 30s);
    +}
    +
    +
    +
    +
    +std::tm fmt::localtime(std::time_t time)¶
    +

    Converts given time since epoch as std::time_t value into calendar time, expressed in local time.

    +

    Unlike std::localtime, this function is thread-safe on most platforms.

    +
    + +
    +
    +std::tm fmt::gmtime(std::time_t time)¶
    +

    Converts given time since epoch as std::time_t value into calendar time, expressed in Coordinated Universal Time (UTC).

    +

    Unlike std::gmtime, this function is thread-safe on most platforms.

    +
    + +
    +
    +

    Standard Library Types Formatting¶

    +

    fmt/std.h provides formatters for:

    + +
    +

    Formatting Variants¶

    +

    A std::variant is only formattable if every variant alternative is formattable, and requires the +__cpp_lib_variant library feature.

    +

    Example:

    +
    #include <fmt/std.h>
    +
    +std::variant<char, float> v0{'x'};
    +// Prints "variant('x')"
    +fmt::print("{}", v0);
    +
    +std::variant<std::monostate, char> v1;
    +// Prints "variant(monostate)"
    +
    +
    +
    +
    +
    +

    Format String Compilation¶

    +

    fmt/compile.h provides format string compilation enabled via the +FMT_COMPILE macro or the _cf user-defined literal. Format strings +marked with FMT_COMPILE or _cf are parsed, checked and converted into +efficient formatting code at compile-time. This supports arguments of built-in +and string types as well as user-defined types with constexpr parse +functions in their formatter specializations. Format string compilation can +generate more binary code compared to the default API and is only recommended in +places where formatting is a performance bottleneck.

    +
    +
    +FMT_COMPILE(s)¶
    +

    Converts a string literal s into a format string that will be parsed at +compile time and converted into efficient formatting code. Requires C++17 +constexpr if compiler support.

    +

    Example:

    +
    // Converts 42 into std::string using the most efficient method and no
    +// runtime format string processing.
    +std::string s = fmt::format(FMT_COMPILE("{}"), 42);
    +
    +
    +

    +

    +
    + +
    +
    +template<detail_exported::fixed_string Str>
    constexpr auto fmt::operator""_cf()¶
    +
    + +
    +
    +

    Terminal Color and Text Style¶

    +

    fmt/color.h provides support for terminal color and text style output.

    +
    +
    +template<typename S, typename ...Args>
    void fmt::print(const text_style &ts, const S &format_str, const Args&... args)¶
    +

    Formats a string and prints it to stdout using ANSI escape sequences to +specify text formatting.

    +

    Example:

    +
    fmt::print(fmt::emphasis::bold | fg(fmt::color::red),
    +           "Elapsed time: {0:.2f} seconds", 1.23);
    +
    +
    +

    +

    +
    + +
    +
    +text_style fmt::fg(detail::color_type foreground) noexcept¶
    +

    Creates a text style from the foreground (text) color.

    +
    + +
    +
    +text_style fmt::bg(detail::color_type background) noexcept¶
    +

    Creates a text style from the background color.

    +
    + +
    +
    +template<typename T>
    auto fmt::styled(const T &value, text_style ts) -> detail::styled_arg<remove_cvref_t<T>>¶
    +

    Returns an argument that will be formatted using ANSI escape sequences, +to be used in a formatting function.

    +

    Example:

    +
    fmt::print("Elapsed time: {0:.2f} seconds",
    +           fmt::styled(1.23, fmt::fg(fmt::color::green) |
    +                             fmt::bg(fmt::color::blue)));
    +
    +
    +

    +

    +
    + +
    +
    +

    System APIs¶

    +
    +
    +class fmt::ostream¶
    +

    A fast output stream which is not thread-safe.

    +
    +

    Public Functions

    +
    +
    +template<typename ...T>
    void print(format_string<T...> fmt, T&&... args)¶
    +

    Formats args according to specifications in fmt and writes the output to the file.

    +
    + +
    +
    +

    Friends

    +
    +
    +template<typename ...T>
    ostream output_file(cstring_view path, T... params)¶
    +

    Opens a file for writing. Supported parameters passed in params:

    +
      +
    • <integer>: Flags passed to open +(file::WRONLY | file::CREATE | file::TRUNC by default)

    • +
    • buffer_size=<integer>: Output buffer size

    • +
    +

    Example:

    +
    auto out = fmt::output_file("guide.txt");
    +out.print("Don't {}", "Panic");
    +
    +
    +

    +

    +
    + +
    +
    + +
    +
    +

    std::ostream Support¶

    +

    fmt/ostream.h provides std::ostream support including formatting of +user-defined types that have an overloaded insertion operator (operator<<). +In order to make a type formattable via std::ostream you should provide a +formatter specialization inherited from ostream_formatter:

    +
    #include <fmt/ostream.h>
    +
    +struct date {
    +  int year, month, day;
    +
    +  friend std::ostream& operator<<(std::ostream& os, const date& d) {
    +    return os << d.year << '-' << d.month << '-' << d.day;
    +  }
    +};
    +
    +template <> struct fmt::formatter<date> : ostream_formatter {};
    +
    +std::string s = fmt::format("The date is {}", date{2012, 12, 9});
    +// s == "The date is 2012-12-9"
    +
    +
    +
    +
    +template<typename T>
    auto fmt::streamed(const T &value) -> detail::streamed_view<T>¶
    +

    Returns a view that formats value via an ostream operator<<.

    +

    Example:

    +
    fmt::print("Current thread id: {}\n",
    +           fmt::streamed(std::this_thread::get_id()));
    +
    +
    +

    +

    +
    + +
    +
    +template<typename ...T>
    void fmt::print(std::ostream &os, format_string<T...> fmt, T&&... args)¶
    +

    Prints formatted data to the stream os.

    +

    Example:

    +
    fmt::print(cerr, "Don't {}!", "panic");
    +
    +
    +

    +

    +
    + +
    +
    +

    printf Formatting¶

    +

    The header fmt/printf.h provides printf-like formatting functionality. +The following functions use printf format string syntax with +the POSIX extension for positional arguments. Unlike their standard +counterparts, the fmt functions are type-safe and throw an exception if an +argument type doesn’t match its format specification.

    +
    +
    +template<typename S, typename ...T>
    auto fmt::printf(const S &fmt, const T&... args) -> int¶
    +

    Prints formatted data to stdout.

    +

    Example:

    +
    fmt::printf("Elapsed time: %.2f seconds", 1.23);
    +
    +
    +

    +

    +
    + +
    +
    +template<typename S, typename ...T, typename Char = char_t<S>>
    auto fmt::fprintf(std::FILE *f, const S &fmt, const T&... args) -> int¶
    +

    Prints formatted data to the file f.

    +

    Example:

    +
    fmt::fprintf(stderr, "Don't %s!", "panic");
    +
    +
    +

    +

    +
    + +
    +
    +template<typename S, typename ...T, typename Char = enable_if_t<detail::is_string<S>::value, char_t<S>>>
    auto fmt::sprintf(const S &fmt, const T&... args) -> std::basic_string<Char>¶
    +

    Formats arguments and returns the result as a string.

    +

    Example:

    +
    std::string message = fmt::sprintf("The answer is %d", 42);
    +
    +
    +

    +

    +
    + +
    +
    +

    wchar_t Support¶

    +

    The optional header fmt/xchar.h provides support for wchar_t and exotic +character types.

    +
    +
    +template<typename T>
    struct is_char : public std::false_type¶
    +

    Specifies if T is a character type.

    +

    Can be specialized by users.

    +
    + +
    +
    +using fmt::wstring_view = basic_string_view<wchar_t>¶
    +
    + +
    +
    +using fmt::wformat_context = buffer_context<wchar_t>¶
    +
    + +
    +
    +template<typename T>
    auto fmt::to_wstring(const T &value) -> std::wstring¶
    +

    Converts value to std::wstring using the default format for type T.

    +
    + +
    +
    +

    Compatibility with C++20 std::format¶

    +

    {fmt} implements nearly all of the C++20 formatting library with the following +differences:

    +
      +
    • Names are defined in the fmt namespace instead of std to avoid +collisions with standard library implementations.

    • +
    • Width calculation doesn’t use grapheme clusterization. The latter has been +implemented in a separate branch but hasn’t been integrated yet.

    • +
    • Most C++20 chrono types are not supported yet.

    • +
    +
    +
    + + +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/vendor/Fmt/doc/html/contents.html b/vendor/Fmt/doc/html/contents.html new file mode 100644 index 00000000..c01136d0 --- /dev/null +++ b/vendor/Fmt/doc/html/contents.html @@ -0,0 +1,189 @@ + + + + + + + + + + + + Contents — fmt 10.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/vendor/Fmt/doc/html/genindex.html b/vendor/Fmt/doc/html/genindex.html new file mode 100644 index 00000000..6a18e934 --- /dev/null +++ b/vendor/Fmt/doc/html/genindex.html @@ -0,0 +1,312 @@ + + + + + + + + + + + Index — fmt 10.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + + +

    Index

    + +
    + F + +
    +

    F

    + + + +
    + + + +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/vendor/Fmt/doc/html/index.html b/vendor/Fmt/doc/html/index.html new file mode 100644 index 00000000..981ba3b0 --- /dev/null +++ b/vendor/Fmt/doc/html/index.html @@ -0,0 +1,325 @@ + + + + + + + + + + + + Overview — fmt 10.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +

    {fmt}

    +

    A modern formatting library

    + +
    +
    + + + +
    +
    + + +
    + +
    +

    Overview¶

    +

    {fmt} is an open-source formatting library providing a fast and safe +alternative to C stdio and C++ iostreams.

    +
    +
    What users say:
    +
    + Thanks for creating this library. It’s been a hole in C++ for + a long time. I’ve used both boost::format and + loki::SPrintf, and neither felt like the right answer. + This does. +
    +
    +

    Format API¶

    +

    The format API is similar in spirit to the C printf family of function but +is safer, simpler and several times faster +than common standard library implementations. +The format string syntax is similar to the one used by +str.format in +Python:

    +
    std::string s = fmt::format("The answer is {}.", 42);
    +
    +
    +

    The fmt::format function returns a string “The answer is 42.â€. You can use +fmt::memory_buffer to avoid constructing std::string:

    +
    auto out = fmt::memory_buffer();
    +fmt::format_to(std::back_inserter(out),
    +          "For a moment, {} happened.", "nothing");
    +auto data = out.data(); // pointer to the formatted data
    +auto size = out.size(); // size of the formatted data
    +
    +
    +

    The fmt::print function performs formatting and writes the result to a stream:

    +
    fmt::print(stderr, "System error code = {}\n", errno);
    +
    +
    +

    If you omit the file argument the function will print to stdout:

    +
    fmt::print("Don't {}\n", "panic");
    +
    +
    +

    The format API also supports positional arguments useful for localization:

    +
    fmt::print("I'd rather be {1} than {0}.", "right", "happy");
    +
    +
    +

    You can pass named arguments with fmt::arg:

    +
    fmt::print("Hello, {name}! The answer is {number}. Goodbye, {name}.",
    +           fmt::arg("name", "World"), fmt::arg("number", 42));
    +
    +
    +

    If your compiler supports C++11 user-defined literals, the suffix _a offers +an alternative, slightly terser syntax for named arguments:

    +
    using namespace fmt::literals;
    +fmt::print("Hello, {name}! The answer is {number}. Goodbye, {name}.",
    +           "name"_a="World", "number"_a=42);
    +
    +
    +
    +
    +

    Safety¶

    +

    The library is fully type safe, automatic memory management prevents buffer +overflow, errors in format strings are reported using exceptions or at compile +time. For example, the code

    +
    fmt::format("The answer is {:d}", "forty-two");
    +
    +
    +

    throws the format_error exception because the argument "forty-two" is a +string while the format code d only applies to integers.

    +

    The code

    +
    format(FMT_STRING("The answer is {:d}"), "forty-two");
    +
    +
    +

    reports a compile-time error on compilers that support relaxed constexpr. +See here for details.

    +

    The following code

    +
    fmt::format("Cyrillic letter {}", L'\x42e');
    +
    +
    +

    produces a compile-time error because wide character L'\x42e' cannot be +formatted into a narrow string. For comparison, writing a wide character to +std::ostream results in its numeric value being written to the stream +(i.e. 1070 instead of letter ‘ю’ which is represented by L'\x42e' if we +use Unicode) which is rarely desirable.

    +
    +
    +

    Compact Binary Code¶

    +

    The library produces compact per-call compiled code. For example +(godbolt),

    +
    #include <fmt/core.h>
    +
    +int main() {
    +  fmt::print("The answer is {}.", 42);
    +}
    +
    +
    +

    compiles to just

    +
    main: # @main
    +  sub rsp, 24
    +  mov qword ptr [rsp], 42
    +  mov rcx, rsp
    +  mov edi, offset .L.str
    +  mov esi, 17
    +  mov edx, 1
    +  call fmt::v7::vprint(fmt::v7::basic_string_view<char>, fmt::v7::format_args)
    +  xor eax, eax
    +  add rsp, 24
    +  ret
    +.L.str:
    +  .asciz "The answer is {}."
    +
    +
    +
    +
    +

    Portability¶

    +

    The library is highly portable and relies only on a small set of C++11 features:

    +
      +
    • variadic templates

    • +
    • type traits

    • +
    • rvalue references

    • +
    • decltype

    • +
    • trailing return types

    • +
    • deleted functions

    • +
    • alias templates

    • +
    +

    These are available in GCC 4.8, Clang 3.4, MSVC 19.0 (2015) and more recent +compiler version. For older compilers use {fmt} version 4.x which is maintained and +only requires C++98.

    +

    The output of all formatting functions is consistent across platforms. +For example,

    +
    fmt::print("{}", std::numeric_limits<double>::infinity());
    +
    +
    +

    always prints inf while the output of printf is platform-dependent.

    +
    +
    +

    Ease of Use¶

    +

    {fmt} has a small self-contained code base with the core library consisting of +just three header files and no external dependencies. +A permissive MIT license allows +using the library both in open-source and commercial projects.

    +

    Learn more…

    +GitHub Repository + +
    +
    + + +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/vendor/Fmt/doc/html/objects.inv b/vendor/Fmt/doc/html/objects.inv new file mode 100644 index 0000000000000000000000000000000000000000..f36fdb889399e9ec28f603b886df3cea499be340 GIT binary patch literal 5463 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 NPZn*u{6C{kHuKI0b0q)( literal 0 HcmV?d00001 diff --git a/vendor/Fmt/doc/html/search.html b/vendor/Fmt/doc/html/search.html new file mode 100644 index 00000000..743a4680 --- /dev/null +++ b/vendor/Fmt/doc/html/search.html @@ -0,0 +1,171 @@ + + + + + + + + + + + Search — fmt 10.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +

    Search

    +
    + +

    + Please activate JavaScript to enable the search + functionality. +

    +
    +

    + From here you can search these documents. Enter your search + words into the box below and click "search". Note that the search + function will automatically search for all of the words. Pages + containing fewer words won't appear in the result list. +

    + + + +
    + +
    + +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/vendor/Fmt/doc/html/searchindex.js b/vendor/Fmt/doc/html/searchindex.js new file mode 100644 index 00000000..750cd14f --- /dev/null +++ b/vendor/Fmt/doc/html/searchindex.js @@ -0,0 +1 @@ +Search.setIndex({docnames:["api","contents","index","syntax","usage"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":1,sphinx:56},filenames:["api.rst","contents.rst","index.rst","syntax.rst","usage.rst"],objects:{"":{"fmt::arg":[0,1,1,"_CPPv4I00EN3fmt3argEN6detail9named_argI4Char1TEEPK4CharRK1T"],"fmt::arg::Char":[0,2,1,"_CPPv4I00EN3fmt3argEN6detail9named_argI4Char1TEEPK4CharRK1T"],"fmt::arg::T":[0,2,1,"_CPPv4I00EN3fmt3argEN6detail9named_argI4Char1TEEPK4CharRK1T"],"fmt::arg::arg":[0,3,1,"_CPPv4I00EN3fmt3argEN6detail9named_argI4Char1TEEPK4CharRK1T"],"fmt::arg::name":[0,3,1,"_CPPv4I00EN3fmt3argEN6detail9named_argI4Char1TEEPK4CharRK1T"],"fmt::basic_format_arg":[0,4,1,"_CPPv4I0EN3fmt16basic_format_argE"],"fmt::basic_format_arg::Context":[0,2,1,"_CPPv4I0EN3fmt16basic_format_argE"],"fmt::basic_format_args":[0,4,1,"_CPPv4I0EN3fmt17basic_format_argsE"],"fmt::basic_format_args::Context":[0,2,1,"_CPPv4I0EN3fmt17basic_format_argsE"],"fmt::basic_format_args::basic_format_args":[0,1,1,"_CPPv4N3fmt17basic_format_args17basic_format_argsERK24dynamic_format_arg_storeI7ContextE"],"fmt::basic_format_args::basic_format_args::Args":[0,2,1,"_CPPv4IDpEN3fmt17basic_format_args17basic_format_argsERK16format_arg_storeI7ContextDp4ArgsE"],"fmt::basic_format_args::basic_format_args::args":[0,3,1,"_CPPv4N3fmt17basic_format_args17basic_format_argsEPK10format_argi"],"fmt::basic_format_args::basic_format_args::count":[0,3,1,"_CPPv4N3fmt17basic_format_args17basic_format_argsEPK10format_argi"],"fmt::basic_format_args::basic_format_args::store":[0,3,1,"_CPPv4N3fmt17basic_format_args17basic_format_argsERK24dynamic_format_arg_storeI7ContextE"],"fmt::basic_format_args::get":[0,1,1,"_CPPv4NK3fmt17basic_format_args3getEi"],"fmt::basic_format_args::get::id":[0,3,1,"_CPPv4NK3fmt17basic_format_args3getEi"],"fmt::basic_format_context":[0,4,1,"_CPPv4I00EN3fmt20basic_format_contextE"],"fmt::basic_format_context::Char":[0,2,1,"_CPPv4I00EN3fmt20basic_format_contextE"],"fmt::basic_format_context::OutputIt":[0,2,1,"_CPPv4I00EN3fmt20basic_format_contextE"],"fmt::basic_format_context::basic_format_context":[0,1,1,"_CPPv4N3fmt20basic_format_context20basic_format_contextE8OutputIt11format_argsN6detail10locale_refE"],"fmt::basic_format_context::basic_format_context::ctx_args":[0,3,1,"_CPPv4N3fmt20basic_format_context20basic_format_contextE8OutputIt11format_argsN6detail10locale_refE"],"fmt::basic_format_context::basic_format_context::loc":[0,3,1,"_CPPv4N3fmt20basic_format_context20basic_format_contextE8OutputIt11format_argsN6detail10locale_refE"],"fmt::basic_format_context::basic_format_context::out":[0,3,1,"_CPPv4N3fmt20basic_format_context20basic_format_contextE8OutputIt11format_argsN6detail10locale_refE"],"fmt::basic_format_context::char_type":[0,5,1,"_CPPv4N3fmt20basic_format_context9char_typeE"],"fmt::basic_format_parse_context":[0,4,1,"_CPPv4I0EN3fmt26basic_format_parse_contextE"],"fmt::basic_format_parse_context::Char":[0,2,1,"_CPPv4I0EN3fmt26basic_format_parse_contextE"],"fmt::basic_format_parse_context::advance_to":[0,1,1,"_CPPv4N3fmt26basic_format_parse_context10advance_toE8iterator"],"fmt::basic_format_parse_context::advance_to::it":[0,3,1,"_CPPv4N3fmt26basic_format_parse_context10advance_toE8iterator"],"fmt::basic_format_parse_context::begin":[0,1,1,"_CPPv4NK3fmt26basic_format_parse_context5beginEv"],"fmt::basic_format_parse_context::check_arg_id":[0,1,1,"_CPPv4N3fmt26basic_format_parse_context12check_arg_idEi"],"fmt::basic_format_parse_context::check_arg_id::id":[0,3,1,"_CPPv4N3fmt26basic_format_parse_context12check_arg_idEi"],"fmt::basic_format_parse_context::end":[0,1,1,"_CPPv4NK3fmt26basic_format_parse_context3endEv"],"fmt::basic_format_parse_context::next_arg_id":[0,1,1,"_CPPv4N3fmt26basic_format_parse_context11next_arg_idEv"],"fmt::basic_format_string":[0,4,1,"_CPPv4I0DpEN3fmt19basic_format_stringE"],"fmt::basic_format_string::Args":[0,2,1,"_CPPv4I0DpEN3fmt19basic_format_stringE"],"fmt::basic_format_string::Char":[0,2,1,"_CPPv4I0DpEN3fmt19basic_format_stringE"],"fmt::basic_memory_buffer":[0,4,1,"_CPPv4I0_6size_t0EN3fmt19basic_memory_bufferE"],"fmt::basic_memory_buffer::Allocator":[0,2,1,"_CPPv4I0_6size_t0EN3fmt19basic_memory_bufferE"],"fmt::basic_memory_buffer::SIZE":[0,2,1,"_CPPv4I0_6size_t0EN3fmt19basic_memory_bufferE"],"fmt::basic_memory_buffer::T":[0,2,1,"_CPPv4I0_6size_t0EN3fmt19basic_memory_bufferE"],"fmt::basic_memory_buffer::basic_memory_buffer":[0,1,1,"_CPPv4N3fmt19basic_memory_buffer19basic_memory_bufferERR19basic_memory_buffer"],"fmt::basic_memory_buffer::basic_memory_buffer::other":[0,3,1,"_CPPv4N3fmt19basic_memory_buffer19basic_memory_bufferERR19basic_memory_buffer"],"fmt::basic_memory_buffer::grow":[0,1,1,"_CPPv4N3fmt19basic_memory_buffer4growE6size_t"],"fmt::basic_memory_buffer::grow::size":[0,3,1,"_CPPv4N3fmt19basic_memory_buffer4growE6size_t"],"fmt::basic_memory_buffer::operator=":[0,1,1,"_CPPv4N3fmt19basic_memory_bufferaSERR19basic_memory_buffer"],"fmt::basic_memory_buffer::operator=::other":[0,3,1,"_CPPv4N3fmt19basic_memory_bufferaSERR19basic_memory_buffer"],"fmt::basic_memory_buffer::reserve":[0,1,1,"_CPPv4N3fmt19basic_memory_buffer7reserveE6size_t"],"fmt::basic_memory_buffer::reserve::new_capacity":[0,3,1,"_CPPv4N3fmt19basic_memory_buffer7reserveE6size_t"],"fmt::basic_memory_buffer::resize":[0,1,1,"_CPPv4N3fmt19basic_memory_buffer6resizeE6size_t"],"fmt::basic_memory_buffer::resize::count":[0,3,1,"_CPPv4N3fmt19basic_memory_buffer6resizeE6size_t"],"fmt::basic_string_view":[0,4,1,"_CPPv4I0EN3fmt17basic_string_viewE"],"fmt::basic_string_view::Char":[0,2,1,"_CPPv4I0EN3fmt17basic_string_viewE"],"fmt::basic_string_view::basic_string_view":[0,1,1,"_CPPv4N3fmt17basic_string_view17basic_string_viewEPK4Char6size_t"],"fmt::basic_string_view::basic_string_view::Alloc":[0,2,1,"_CPPv4I00EN3fmt17basic_string_view17basic_string_viewERKNSt12basic_stringI4Char6Traits5AllocEE"],"fmt::basic_string_view::basic_string_view::Traits":[0,2,1,"_CPPv4I00EN3fmt17basic_string_view17basic_string_viewERKNSt12basic_stringI4Char6Traits5AllocEE"],"fmt::basic_string_view::basic_string_view::count":[0,3,1,"_CPPv4N3fmt17basic_string_view17basic_string_viewEPK4Char6size_t"],"fmt::basic_string_view::basic_string_view::s":[0,3,1,"_CPPv4N3fmt17basic_string_view17basic_string_viewEPK4Char6size_t"],"fmt::basic_string_view::data":[0,1,1,"_CPPv4NK3fmt17basic_string_view4dataEv"],"fmt::basic_string_view::size":[0,1,1,"_CPPv4NK3fmt17basic_string_view4sizeEv"],"fmt::bg":[0,1,1,"_CPPv4N3fmt2bgEN6detail10color_typeE"],"fmt::bg::background":[0,3,1,"_CPPv4N3fmt2bgEN6detail10color_typeE"],"fmt::detail::buffer":[0,4,1,"_CPPv4I0EN3fmt6detail6bufferE"],"fmt::detail::buffer::T":[0,2,1,"_CPPv4I0EN3fmt6detail6bufferE"],"fmt::detail::buffer::append":[0,1,1,"_CPPv4I0EN3fmt6detail6buffer6appendEvPK1UPK1U"],"fmt::detail::buffer::append::U":[0,2,1,"_CPPv4I0EN3fmt6detail6buffer6appendEvPK1UPK1U"],"fmt::detail::buffer::append::begin":[0,3,1,"_CPPv4I0EN3fmt6detail6buffer6appendEvPK1UPK1U"],"fmt::detail::buffer::append::end":[0,3,1,"_CPPv4I0EN3fmt6detail6buffer6appendEvPK1UPK1U"],"fmt::detail::buffer::capacity":[0,1,1,"_CPPv4NK3fmt6detail6buffer8capacityEv"],"fmt::detail::buffer::clear":[0,1,1,"_CPPv4N3fmt6detail6buffer5clearEv"],"fmt::detail::buffer::data":[0,1,1,"_CPPv4NK3fmt6detail6buffer4dataEv"],"fmt::detail::buffer::size":[0,1,1,"_CPPv4NK3fmt6detail6buffer4sizeEv"],"fmt::dynamic_format_arg_store":[0,4,1,"_CPPv4I0EN3fmt24dynamic_format_arg_storeE"],"fmt::dynamic_format_arg_store::Context":[0,2,1,"_CPPv4I0EN3fmt24dynamic_format_arg_storeE"],"fmt::fg":[0,1,1,"_CPPv4N3fmt2fgEN6detail10color_typeE"],"fmt::fg::foreground":[0,3,1,"_CPPv4N3fmt2fgEN6detail10color_typeE"],"fmt::format":[0,1,1,"_CPPv4IDpEN3fmt6formatENSt6stringE13format_stringIDp1TEDpRR1T"],"fmt::format::Locale":[0,2,1,"_CPPv4I0DpEN3fmt6formatENSt6stringERK6Locale13format_stringIDp1TEDpRR1T"],"fmt::format::T":[0,2,1,"_CPPv4IDpEN3fmt6formatENSt6stringE13format_stringIDp1TEDpRR1T"],"fmt::format::args":[0,3,1,"_CPPv4IDpEN3fmt6formatENSt6stringE13format_stringIDp1TEDpRR1T"],"fmt::format::fmt":[0,3,1,"_CPPv4IDpEN3fmt6formatENSt6stringE13format_stringIDp1TEDpRR1T"],"fmt::format::loc":[0,3,1,"_CPPv4I0DpEN3fmt6formatENSt6stringERK6Locale13format_stringIDp1TEDpRR1T"],"fmt::format_arg_store":[0,4,1,"_CPPv4I0DpEN3fmt16format_arg_storeE"],"fmt::format_arg_store::Args":[0,2,1,"_CPPv4I0DpEN3fmt16format_arg_storeE"],"fmt::format_arg_store::Context":[0,2,1,"_CPPv4I0DpEN3fmt16format_arg_storeE"],"fmt::format_args":[0,5,1,"_CPPv4N3fmt11format_argsE"],"fmt::format_context":[0,5,1,"_CPPv4N3fmt14format_contextE"],"fmt::format_string":[0,5,1,"_CPPv4IDpEN3fmt13format_stringE"],"fmt::format_string::Args":[0,2,1,"_CPPv4IDpEN3fmt13format_stringE"],"fmt::format_system_error":[0,1,1,"_CPPv4N3fmt19format_system_errorERN6detail6bufferIcEEiPKc"],"fmt::format_system_error::error_code":[0,3,1,"_CPPv4N3fmt19format_system_errorERN6detail6bufferIcEEiPKc"],"fmt::format_system_error::message":[0,3,1,"_CPPv4N3fmt19format_system_errorERN6detail6bufferIcEEiPKc"],"fmt::format_system_error::out":[0,3,1,"_CPPv4N3fmt19format_system_errorERN6detail6bufferIcEEiPKc"],"fmt::format_to":[0,1,1,"_CPPv4I0DpEN3fmt9format_toE8OutputIt8OutputIt13format_stringIDp1TEDpRR1T"],"fmt::format_to::Locale":[0,2,1,"_CPPv4I00DpEN3fmt9format_toE8OutputIt8OutputItRK6Locale13format_stringIDp1TEDpRR1T"],"fmt::format_to::OutputIt":[0,2,1,"_CPPv4I0DpEN3fmt9format_toE8OutputIt8OutputIt13format_stringIDp1TEDpRR1T"],"fmt::format_to::T":[0,2,1,"_CPPv4I0DpEN3fmt9format_toE8OutputIt8OutputIt13format_stringIDp1TEDpRR1T"],"fmt::format_to::args":[0,3,1,"_CPPv4I0DpEN3fmt9format_toE8OutputIt8OutputIt13format_stringIDp1TEDpRR1T"],"fmt::format_to::fmt":[0,3,1,"_CPPv4I0DpEN3fmt9format_toE8OutputIt8OutputIt13format_stringIDp1TEDpRR1T"],"fmt::format_to::loc":[0,3,1,"_CPPv4I00DpEN3fmt9format_toE8OutputIt8OutputItRK6Locale13format_stringIDp1TEDpRR1T"],"fmt::format_to::out":[0,3,1,"_CPPv4I0DpEN3fmt9format_toE8OutputIt8OutputIt13format_stringIDp1TEDpRR1T"],"fmt::format_to_n":[0,1,1,"_CPPv4I0DpEN3fmt11format_to_nE18format_to_n_resultI8OutputItE8OutputIt6size_t13format_stringIDp1TEDpRR1T"],"fmt::format_to_n::OutputIt":[0,2,1,"_CPPv4I0DpEN3fmt11format_to_nE18format_to_n_resultI8OutputItE8OutputIt6size_t13format_stringIDp1TEDpRR1T"],"fmt::format_to_n::T":[0,2,1,"_CPPv4I0DpEN3fmt11format_to_nE18format_to_n_resultI8OutputItE8OutputIt6size_t13format_stringIDp1TEDpRR1T"],"fmt::format_to_n::args":[0,3,1,"_CPPv4I0DpEN3fmt11format_to_nE18format_to_n_resultI8OutputItE8OutputIt6size_t13format_stringIDp1TEDpRR1T"],"fmt::format_to_n::fmt":[0,3,1,"_CPPv4I0DpEN3fmt11format_to_nE18format_to_n_resultI8OutputItE8OutputIt6size_t13format_stringIDp1TEDpRR1T"],"fmt::format_to_n::n":[0,3,1,"_CPPv4I0DpEN3fmt11format_to_nE18format_to_n_resultI8OutputItE8OutputIt6size_t13format_stringIDp1TEDpRR1T"],"fmt::format_to_n::out":[0,3,1,"_CPPv4I0DpEN3fmt11format_to_nE18format_to_n_resultI8OutputItE8OutputIt6size_t13format_stringIDp1TEDpRR1T"],"fmt::format_to_n_result":[0,4,1,"_CPPv4I0EN3fmt18format_to_n_resultE"],"fmt::format_to_n_result::OutputIt":[0,2,1,"_CPPv4I0EN3fmt18format_to_n_resultE"],"fmt::format_to_n_result::out":[0,6,1,"_CPPv4N3fmt18format_to_n_result3outE"],"fmt::format_to_n_result::size":[0,6,1,"_CPPv4N3fmt18format_to_n_result4sizeE"],"fmt::formatted_size":[0,1,1,"_CPPv4IDpEN3fmt14formatted_sizeE6size_t13format_stringIDp1TEDpRR1T"],"fmt::formatted_size::Locale":[0,2,1,"_CPPv4I0DpEN3fmt14formatted_sizeE6size_tRK6Locale13format_stringIDp1TEDpRR1T"],"fmt::formatted_size::T":[0,2,1,"_CPPv4IDpEN3fmt14formatted_sizeE6size_t13format_stringIDp1TEDpRR1T"],"fmt::formatted_size::args":[0,3,1,"_CPPv4IDpEN3fmt14formatted_sizeE6size_t13format_stringIDp1TEDpRR1T"],"fmt::formatted_size::fmt":[0,3,1,"_CPPv4IDpEN3fmt14formatted_sizeE6size_t13format_stringIDp1TEDpRR1T"],"fmt::formatted_size::loc":[0,3,1,"_CPPv4I0DpEN3fmt14formatted_sizeE6size_tRK6Locale13format_stringIDp1TEDpRR1T"],"fmt::fprintf":[0,1,1,"_CPPv4I0Dp0EN3fmt7fprintfEiPNSt4FILEERK1SDpRK1T"],"fmt::fprintf::Char":[0,2,1,"_CPPv4I0Dp0EN3fmt7fprintfEiPNSt4FILEERK1SDpRK1T"],"fmt::fprintf::S":[0,2,1,"_CPPv4I0Dp0EN3fmt7fprintfEiPNSt4FILEERK1SDpRK1T"],"fmt::fprintf::T":[0,2,1,"_CPPv4I0Dp0EN3fmt7fprintfEiPNSt4FILEERK1SDpRK1T"],"fmt::fprintf::args":[0,3,1,"_CPPv4I0Dp0EN3fmt7fprintfEiPNSt4FILEERK1SDpRK1T"],"fmt::fprintf::f":[0,3,1,"_CPPv4I0Dp0EN3fmt7fprintfEiPNSt4FILEERK1SDpRK1T"],"fmt::fprintf::fmt":[0,3,1,"_CPPv4I0Dp0EN3fmt7fprintfEiPNSt4FILEERK1SDpRK1T"],"fmt::gmtime":[0,1,1,"_CPPv4N3fmt6gmtimeENSt6time_tE"],"fmt::gmtime::time":[0,3,1,"_CPPv4N3fmt6gmtimeENSt6time_tE"],"fmt::group_digits":[0,1,1,"_CPPv4I0EN3fmt12group_digitsE17group_digits_viewI1TE1T"],"fmt::group_digits::T":[0,2,1,"_CPPv4I0EN3fmt12group_digitsE17group_digits_viewI1TE1T"],"fmt::group_digits::value":[0,3,1,"_CPPv4I0EN3fmt12group_digitsE17group_digits_viewI1TE1T"],"fmt::is_char":[0,4,1,"_CPPv4I0EN3fmt7is_charE"],"fmt::is_char::T":[0,2,1,"_CPPv4I0EN3fmt7is_charE"],"fmt::join":[0,1,1,"_CPPv4I0EN3fmt4joinE9join_viewIN6detail10iterator_tI5RangeEEN6detail10sentinel_tI5RangeEEERR5Range11string_view"],"fmt::join::It":[0,2,1,"_CPPv4I00EN3fmt4joinE9join_viewI2It8SentinelE2It8Sentinel11string_view"],"fmt::join::Range":[0,2,1,"_CPPv4I0EN3fmt4joinE9join_viewIN6detail10iterator_tI5RangeEEN6detail10sentinel_tI5RangeEEERR5Range11string_view"],"fmt::join::Sentinel":[0,2,1,"_CPPv4I00EN3fmt4joinE9join_viewI2It8SentinelE2It8Sentinel11string_view"],"fmt::join::begin":[0,3,1,"_CPPv4I00EN3fmt4joinE9join_viewI2It8SentinelE2It8Sentinel11string_view"],"fmt::join::end":[0,3,1,"_CPPv4I00EN3fmt4joinE9join_viewI2It8SentinelE2It8Sentinel11string_view"],"fmt::join::range":[0,3,1,"_CPPv4I0EN3fmt4joinE9join_viewIN6detail10iterator_tI5RangeEEN6detail10sentinel_tI5RangeEEERR5Range11string_view"],"fmt::join::sep":[0,3,1,"_CPPv4I0EN3fmt4joinE9join_viewIN6detail10iterator_tI5RangeEEN6detail10sentinel_tI5RangeEEERR5Range11string_view"],"fmt::localtime":[0,1,1,"_CPPv4N3fmt9localtimeENSt6time_tE"],"fmt::localtime::time":[0,3,1,"_CPPv4N3fmt9localtimeENSt6time_tE"],"fmt::make_format_args":[0,1,1,"_CPPv4I0DpEN3fmt16make_format_argsE16format_arg_storeI7ContextDp14remove_cvref_tI1TEEDpRR1T"],"fmt::make_format_args::Context":[0,2,1,"_CPPv4I0DpEN3fmt16make_format_argsE16format_arg_storeI7ContextDp14remove_cvref_tI1TEEDpRR1T"],"fmt::make_format_args::T":[0,2,1,"_CPPv4I0DpEN3fmt16make_format_argsE16format_arg_storeI7ContextDp14remove_cvref_tI1TEEDpRR1T"],"fmt::make_format_args::args":[0,3,1,"_CPPv4I0DpEN3fmt16make_format_argsE16format_arg_storeI7ContextDp14remove_cvref_tI1TEEDpRR1T"],"fmt::operator""_a":[0,1,1,"_CPPv4I_N15detail_exported12fixed_stringEEN3fmtli2_aEDav"],"fmt::operator""_a::Str":[0,2,1,"_CPPv4I_N15detail_exported12fixed_stringEEN3fmtli2_aEDav"],"fmt::operator""_cf":[0,1,1,"_CPPv4I_N15detail_exported12fixed_stringEEN3fmtli3_cfEDav"],"fmt::operator""_cf::Str":[0,2,1,"_CPPv4I_N15detail_exported12fixed_stringEEN3fmtli3_cfEDav"],"fmt::ostream":[0,4,1,"_CPPv4N3fmt7ostreamE"],"fmt::ostream::output_file":[0,1,1,"_CPPv4IDpEN3fmt7ostream11output_fileE7ostream12cstring_viewDp1T"],"fmt::ostream::output_file::T":[0,2,1,"_CPPv4IDpEN3fmt7ostream11output_fileE7ostream12cstring_viewDp1T"],"fmt::ostream::output_file::params":[0,3,1,"_CPPv4IDpEN3fmt7ostream11output_fileE7ostream12cstring_viewDp1T"],"fmt::ostream::output_file::path":[0,3,1,"_CPPv4IDpEN3fmt7ostream11output_fileE7ostream12cstring_viewDp1T"],"fmt::ostream::print":[0,1,1,"_CPPv4IDpEN3fmt7ostream5printEv13format_stringIDp1TEDpRR1T"],"fmt::ostream::print::T":[0,2,1,"_CPPv4IDpEN3fmt7ostream5printEv13format_stringIDp1TEDpRR1T"],"fmt::ostream::print::args":[0,3,1,"_CPPv4IDpEN3fmt7ostream5printEv13format_stringIDp1TEDpRR1T"],"fmt::ostream::print::fmt":[0,3,1,"_CPPv4IDpEN3fmt7ostream5printEv13format_stringIDp1TEDpRR1T"],"fmt::print":[0,1,1,"_CPPv4IDpEN3fmt5printEvRNSt7ostreamE13format_stringIDp1TEDpRR1T"],"fmt::print::Args":[0,2,1,"_CPPv4I0DpEN3fmt5printEvRK10text_styleRK1SDpRK4Args"],"fmt::print::S":[0,2,1,"_CPPv4I0DpEN3fmt5printEvRK10text_styleRK1SDpRK4Args"],"fmt::print::T":[0,2,1,"_CPPv4IDpEN3fmt5printEvRNSt7ostreamE13format_stringIDp1TEDpRR1T"],"fmt::print::args":[0,3,1,"_CPPv4IDpEN3fmt5printEvRNSt7ostreamE13format_stringIDp1TEDpRR1T"],"fmt::print::f":[0,3,1,"_CPPv4IDpEN3fmt5printEvPNSt4FILEE13format_stringIDp1TEDpRR1T"],"fmt::print::fmt":[0,3,1,"_CPPv4IDpEN3fmt5printEvRNSt7ostreamE13format_stringIDp1TEDpRR1T"],"fmt::print::format_str":[0,3,1,"_CPPv4I0DpEN3fmt5printEvRK10text_styleRK1SDpRK4Args"],"fmt::print::os":[0,3,1,"_CPPv4IDpEN3fmt5printEvRNSt7ostreamE13format_stringIDp1TEDpRR1T"],"fmt::print::ts":[0,3,1,"_CPPv4I0DpEN3fmt5printEvRK10text_styleRK1SDpRK4Args"],"fmt::printf":[0,1,1,"_CPPv4I0DpEN3fmt6printfEiRK1SDpRK1T"],"fmt::printf::S":[0,2,1,"_CPPv4I0DpEN3fmt6printfEiRK1SDpRK1T"],"fmt::printf::T":[0,2,1,"_CPPv4I0DpEN3fmt6printfEiRK1SDpRK1T"],"fmt::printf::args":[0,3,1,"_CPPv4I0DpEN3fmt6printfEiRK1SDpRK1T"],"fmt::printf::fmt":[0,3,1,"_CPPv4I0DpEN3fmt6printfEiRK1SDpRK1T"],"fmt::ptr":[0,1,1,"_CPPv4I0EN3fmt3ptrEPKvRKNSt10shared_ptrI1TEE"],"fmt::ptr::Deleter":[0,2,1,"_CPPv4I00EN3fmt3ptrEPKvRKNSt10unique_ptrI1T7DeleterEE"],"fmt::ptr::T":[0,2,1,"_CPPv4I0EN3fmt3ptrEPKvRKNSt10shared_ptrI1TEE"],"fmt::ptr::p":[0,3,1,"_CPPv4I0EN3fmt3ptrEPKvRKNSt10shared_ptrI1TEE"],"fmt::runtime":[0,1,1,"_CPPv4N3fmt7runtimeE11string_view"],"fmt::runtime::s":[0,3,1,"_CPPv4N3fmt7runtimeE11string_view"],"fmt::sprintf":[0,1,1,"_CPPv4I0Dp0EN3fmt7sprintfENSt12basic_stringI4CharEERK1SDpRK1T"],"fmt::sprintf::Char":[0,2,1,"_CPPv4I0Dp0EN3fmt7sprintfENSt12basic_stringI4CharEERK1SDpRK1T"],"fmt::sprintf::S":[0,2,1,"_CPPv4I0Dp0EN3fmt7sprintfENSt12basic_stringI4CharEERK1SDpRK1T"],"fmt::sprintf::T":[0,2,1,"_CPPv4I0Dp0EN3fmt7sprintfENSt12basic_stringI4CharEERK1SDpRK1T"],"fmt::sprintf::args":[0,3,1,"_CPPv4I0Dp0EN3fmt7sprintfENSt12basic_stringI4CharEERK1SDpRK1T"],"fmt::sprintf::fmt":[0,3,1,"_CPPv4I0Dp0EN3fmt7sprintfENSt12basic_stringI4CharEERK1SDpRK1T"],"fmt::streamed":[0,1,1,"_CPPv4I0EN3fmt8streamedEN6detail13streamed_viewI1TEERK1T"],"fmt::streamed::T":[0,2,1,"_CPPv4I0EN3fmt8streamedEN6detail13streamed_viewI1TEERK1T"],"fmt::streamed::value":[0,3,1,"_CPPv4I0EN3fmt8streamedEN6detail13streamed_viewI1TEERK1T"],"fmt::string_view":[0,5,1,"_CPPv4N3fmt11string_viewE"],"fmt::styled":[0,1,1,"_CPPv4I0EN3fmt6styledEN6detail10styled_argI14remove_cvref_tI1TEEERK1T10text_style"],"fmt::styled::T":[0,2,1,"_CPPv4I0EN3fmt6styledEN6detail10styled_argI14remove_cvref_tI1TEEERK1T10text_style"],"fmt::styled::ts":[0,3,1,"_CPPv4I0EN3fmt6styledEN6detail10styled_argI14remove_cvref_tI1TEEERK1T10text_style"],"fmt::styled::value":[0,3,1,"_CPPv4I0EN3fmt6styledEN6detail10styled_argI14remove_cvref_tI1TEEERK1T10text_style"],"fmt::system_error":[0,1,1,"_CPPv4IDpEN3fmt12system_errorENSt12system_errorEi13format_stringIDp1TEDpRR1T"],"fmt::system_error::T":[0,2,1,"_CPPv4IDpEN3fmt12system_errorENSt12system_errorEi13format_stringIDp1TEDpRR1T"],"fmt::system_error::args":[0,3,1,"_CPPv4IDpEN3fmt12system_errorENSt12system_errorEi13format_stringIDp1TEDpRR1T"],"fmt::system_error::error_code":[0,3,1,"_CPPv4IDpEN3fmt12system_errorENSt12system_errorEi13format_stringIDp1TEDpRR1T"],"fmt::system_error::fmt":[0,3,1,"_CPPv4IDpEN3fmt12system_errorENSt12system_errorEi13format_stringIDp1TEDpRR1T"],"fmt::to_string":[0,1,1,"_CPPv4I0EN3fmt9to_stringENSt6stringERK1T"],"fmt::to_string::T":[0,2,1,"_CPPv4I0EN3fmt9to_stringENSt6stringERK1T"],"fmt::to_string::value":[0,3,1,"_CPPv4I0EN3fmt9to_stringENSt6stringERK1T"],"fmt::to_wstring":[0,1,1,"_CPPv4I0EN3fmt10to_wstringENSt7wstringERK1T"],"fmt::to_wstring::T":[0,2,1,"_CPPv4I0EN3fmt10to_wstringENSt7wstringERK1T"],"fmt::to_wstring::value":[0,3,1,"_CPPv4I0EN3fmt10to_wstringENSt7wstringERK1T"],"fmt::underlying":[0,1,1,"_CPPv4I0EN3fmt10underlyingE12underlying_tI4EnumE4Enum"],"fmt::underlying::Enum":[0,2,1,"_CPPv4I0EN3fmt10underlyingE12underlying_tI4EnumE4Enum"],"fmt::underlying::e":[0,3,1,"_CPPv4I0EN3fmt10underlyingE12underlying_tI4EnumE4Enum"],"fmt::vformat":[0,1,1,"_CPPv4N3fmt7vformatE11string_view11format_args"],"fmt::vformat::args":[0,3,1,"_CPPv4N3fmt7vformatE11string_view11format_args"],"fmt::vformat::fmt":[0,3,1,"_CPPv4N3fmt7vformatE11string_view11format_args"],"fmt::vprint":[0,1,1,"_CPPv4N3fmt6vprintEPNSt4FILEE11string_view11format_args"],"fmt::vprint::args":[0,3,1,"_CPPv4N3fmt6vprintEPNSt4FILEE11string_view11format_args"],"fmt::vprint::f":[0,3,1,"_CPPv4N3fmt6vprintEPNSt4FILEE11string_view11format_args"],"fmt::vprint::fmt":[0,3,1,"_CPPv4N3fmt6vprintEPNSt4FILEE11string_view11format_args"],"fmt::wformat_context":[0,5,1,"_CPPv4N3fmt15wformat_contextE"],"fmt::wstring_view":[0,5,1,"_CPPv4N3fmt12wstring_viewE"],FMT_COMPILE:[0,0,1,"c.FMT_COMPILE"],FMT_STRING:[0,0,1,"c.FMT_STRING"]}},objnames:{"0":["c","macro","C macro"],"1":["cpp","function","C++ function"],"2":["cpp","templateParam","templateParam"],"3":["cpp","functionParam","functionParam"],"4":["cpp","class","C++ class"],"5":["cpp","type","C++ type"],"6":["cpp","member","C++ member"]},objtypes:{"0":"c:macro","1":"cpp:function","2":"cpp:templateParam","3":"cpp:functionParam","4":"cpp:class","5":"cpp:type","6":"cpp:member"},terms:{"000":0,"0000":3,"000000120":3,"001":3,"0430":3,"04x":3,"052":3,"0b101010":3,"0x00":3,"0x14":3,"0x1e":3,"0x2a":3,"0xa":3,"100":3,"1000000":0,"100m":0,"101":3,"101010":3,"104":3,"1070":2,"108":3,"111":3,"12345":0,"1234567890":3,"140000":3,"15min":0,"1900":3,"1955":3,"2004":3,"2010":3,"2012":0,"2015":2,"2020":0,"234":3,"30s":0,"345":0,"42s":0,"567":3,"8601":3,"890":3,"\u044e":2,"boolean":3,"break":0,"byte":3,"case":[0,3,4],"char":[0,2,3],"class":0,"const":0,"default":[0,3],"enum":0,"final":3,"float":[0,3],"function":[0,2,3],"import":4,"int":[0,2,3],"long":2,"new":[0,3],"null":[0,3],"public":0,"return":[0,2],"static":4,"switch":[0,3],"throw":[0,2],"true":[3,4],"void":0,"while":2,But:3,For:[0,2,3,4],The:[0,2,3,4],Then:[0,4],These:[2,3],Use:0,Uses:3,Using:[0,3],__cpp_lib_vari:0,__file__:0,__line__:0,__va_args__:0,_cf:0,abbrevi:3,abil:0,about:0,abov:3,abra:3,abracadabra:3,absent:3,accept:0,access:3,accord:[0,3],across:2,activ:4,add:[2,3,4],add_subdirectori:4,addit:[0,3],advanc:0,advance_to:0,after:[3,4],alia:[0,2],align:3,all:[0,2,3,4],allow:[0,2,3],alreadi:4,also:[0,2,3],altern:[0,2,3,4],although:3,alwai:[2,3],american_beauti:0,android:1,ani:[0,3],ansi:0,answer:[0,2],anyth:3,api:1,appear:3,append:0,appli:[0,2],appropri:[0,3,4],apt:4,archiv:4,arg:[0,2],arg_id:3,argument:[2,3],arrai:0,asciz:2,associ:3,assum:3,assumpt:0,auto:[0,2,3],automat:[0,2,3],avail:[0,2,3,4],avoid:[0,2],awar:3,back:0,back_insert:[0,2],background:0,base:[2,3],basic_format_arg:0,basic_format_context:0,basic_format_parse_context:0,basic_format_str:0,basic_memory_buff:0,basic_printf_parse_context:0,basic_str:0,basic_string_view:[0,2],bdep:4,becaus:[0,2],been:[0,2,4],befor:3,begin:0,behavior:3,behind:3,being:[0,2,3],benefici:0,better:0,between:3,bigit:0,bigits_capac:0,bin:3,binari:[0,3],blue:0,bold:0,boost:2,bootstrap:4,both:[0,2,3,4],bottleneck:0,box:3,brace:[0,3],branch:0,brew:4,bring:3,buf:0,buffer:[0,2],buffer_context:0,buffer_s:0,build2:1,build:1,build_shared_lib:4,buildfil:4,built:[0,3,4],cad:3,calcul:0,calendar:[0,3],call:[0,2],can:[0,2,3,4],cannot:[0,2,3],capac:0,caus:3,center:3,centuri:3,cerr:0,certain:3,chang:0,char_t:0,char_trait:0,char_typ:0,charact:[0,2,3],check_arg_id:0,choic:4,chrono:[0,1],chrono_format_spec:3,chrono_liter:0,chrono_spec:3,chrono_typ:3,clang:2,clean:4,clear:0,client:0,clock:3,clone:4,cluster:0,cmake:1,cmake_position_independent_cod:4,cmakelist:4,code:[0,3,4],collect:0,collis:0,colon:3,color:1,color_typ:0,com:4,combin:4,comma:3,command:3,commerci:2,common:[2,3],commun:[0,4],compar:0,comparison:[2,3],compat:1,compil:[1,2,4],compile_parse_context:0,compon:3,composit:0,comput:0,conda:1,configur:4,consid:3,consider:0,consist:[0,2],constev:0,constexpr:[0,2],construct:[0,2],consum:4,contain:[0,2,3],content:[0,3],context:0,contigu:0,contributor:4,control:4,conveni:0,convers:[0,3],conversion_spec:3,convert:[0,3],coordin:0,copi:3,copyabl:0,core:[1,2,4],correspond:0,count:[0,3],counter:0,counterpart:0,cppget:4,creat:[0,2,4],css:4,cstring_view:0,ctx:0,ctx_arg:0,curli:3,current:[0,3,4],custom:4,custom_alloc:0,custom_memory_buff:0,custom_str:0,cxx:4,cyril:2,dai:[0,3],dangl:0,data:[0,2,3],date:[1,3,4],dbuild_shared_lib:4,dcmake_position_independent_cod:4,decim:3,decltyp:2,defin:[2,3],delet:[0,2],demo:0,depend:[0,2,3,4],describ:[0,3,4],descript:0,design:3,desir:2,detail:[0,2,3,4],detail_export:0,detect:4,determin:3,differ:[0,3],digit:3,directli:0,directori:[0,4],displai:3,divid:3,divis:3,doc:4,document:1,doe:[0,2,3],doesn:[0,4],don:[0,2,4],doubl:[0,2,3],download:4,doxygen:4,draw:3,durat:[0,3],dynam:[0,3],dynamic_format_arg_stor:0,each:3,easi:4,eax:2,edi:2,edx:2,effect:3,effici:0,either:3,elaps:0,element:0,emphasi:0,empti:[0,3],en_u:[0,3],enabl:[0,3],enable_if_t:0,end:0,environ:4,epoch:0,equal:[0,4],equival:[0,3],eras:0,errno:[0,2],error:2,error_cod:0,escap:[0,3],esi:2,even:[0,3],everi:0,exactli:3,exampl:[0,1,2,4],except:[0,2,3],exclud:4,exclude_from_al:4,exist:0,exot:0,expect:0,expens:0,expon:3,exponenti:0,express:0,extens:[0,4],extern:2,extract:3,fail:0,fall:0,fals:3,false_typ:0,famili:2,fast:[0,2],faster:2,featur:[0,2],felt:2,field:[0,3],file:[0,2,4],filenam:0,filesystem:0,fill:3,film:0,find_packag:4,first:[0,3,4],fix:[0,3],fixed_buffer_trait:0,fixed_str:0,flag:0,floor:3,fmt:[0,2,3,4],fmt_:0,fmt_compil:0,fmt_enforce_compile_str:0,fmt_string:[0,2],fmt_test:4,follow:[0,2,3,4],foo:0,footprint:0,fopen:0,forc:[0,3],foreground:0,forg:4,form:[0,3],formal:3,format:[1,4],format_a:0,format_arg:[0,2],format_arg_stor:0,format_context:0,format_error:[2,3],format_parse_context:0,format_spec:3,format_str:0,format_system_error:0,format_to:[0,2],format_to_n:0,format_to_n_result:0,formatt:[0,3],formatted_s:0,forti:2,four:3,fprintf:0,fraction:3,freeli:4,friend:0,from:[0,3,4],full:[0,3],fulli:[0,2],futur:0,gcc:2,gener:[0,3,4],generic_categori:0,get:[0,3,4],get_id:0,git:4,github:[2,4],given:[0,3],global:0,gmtime:0,godbolt:[0,2],goodby:2,grammar:3,graphem:0,green:0,group_digit:0,group_digits_view:0,grow:0,guid:0,happen:2,happi:2,has:[0,2,3,4],hasn:0,have:[0,3,4],header:[0,2,4],hello:[2,3],here:2,hex:3,hexadecim:3,hierarchi:0,high:3,highli:2,hold:[0,4],hole:2,homebrew:1,horizont:3,hour:3,house_of_card:0,how:3,html:4,http:[0,4],id_continu:3,id_start:3,identifi:3,implement:[0,2,3],implicit:0,implicitli:[0,3],improv:0,includ:[0,2,3,4],increas:0,independ:[0,4],index:0,indic:3,individu:3,inf:[2,3],infin:[2,3],inform:3,inherit:0,initi:0,inl:4,inlin:0,inline_buffer_s:0,input:3,insert:[0,3],instal:1,instead:[0,2,3,4],integ:[0,2,3],integr:[0,4],interest:0,intern:0,interpret:3,introduct:4,invalid:0,invok:4,iostream:2,is_base_of:0,is_char:0,is_str:0,iso:3,issu:[0,4],iter:0,iterator_buff:0,iterator_t:0,its:[0,2,3,4],itself:0,jan:3,join:0,join_view:0,just:[2,3],kept:4,kevin_namespaci:0,languag:[0,1],larg:3,last:3,later:0,latter:0,lead:3,learn:2,least:0,left:3,length:0,less:[3,4],letter:[2,3],lhelper:1,lib:4,librari:[1,2],licens:2,lifetim:0,like:[0,2,4],line:[0,3],linux:4,liter:[2,3],literal_char:3,loc:0,local:[2,3],locale_ref:0,localtim:0,locat:4,log:0,loki:2,look:0,lower:3,mac:4,maco:4,macro:0,made:3,madeup:0,magnitud:3,mai:[0,3],main:[0,2,4],maintain:2,make:[0,4],make_format_arg:0,makefil:4,manag:[2,4],mani:[0,3],manifest:4,manual:0,mark:0,match:[0,3],maximum:3,mean:3,member:[0,4],memori:[0,2],memory_buff:[0,2],messag:0,method:0,microsecond:3,microsoft:4,mini:1,minim:0,minimum:3,minu:3,minut:3,mit:2,mkdir:4,mode:0,modifi:3,moment:[0,2],mondai:3,monost:0,month:[0,3],more:[0,2,4],most:[0,3],mov:2,move:0,msbuild:4,msvc:2,must:3,my_log:0,mylib:4,name:[2,3,4],named_arg:0,namespac:[0,2],nan:3,narrow:2,nativ:4,ndk:1,nearli:0,need:[3,4],neg:3,neither:2,nest:3,new_capac:0,newcom:4,next:[0,3],next_arg_id:0,nix:4,noexcept:0,non:[0,3],none:3,nonneg:3,normal:[0,3],notat:3,note:[0,3],noth:2,nov:3,novemb:3,now:4,npm:4,nullptr:0,number:[0,2,3],numer:[2,3],numeric_limit:2,object:[0,3],occasion:0,oct:3,octal:3,offer:2,offset:[2,3],older:[0,2],omit:[0,2,3],on_error:0,onc:4,one:[0,2,3,4],onli:[0,2,3,4],open:[0,2],oper:0,option:[0,3,4],order:[0,3],ordinari:0,org:[0,4],ostream:[1,2],ostream_formatt:0,other:[0,3,4],otherwis:[0,3],out:[0,2,4],output:[0,2,3,4],output_fil:0,outputit:0,over:0,overflow:2,overload:0,overrid:0,own:[0,3,4],packag:4,pad:3,panic:[0,2],param:0,paramet:0,parameter:0,pars:[0,3],part:0,particular:3,pass:[0,2],past:0,path:[0,4],per:2,perform:[0,2],permiss:2,pip:4,pkg:4,place:[0,3],platform:[0,2,4],pleas:[0,4],plugin:4,pod:0,point:[0,3],pointer:[0,2,3],port:4,posit:[0,2,3,4],posix:0,possibl:0,pre:0,preced:[0,3],precis:3,prefix:[0,3],preprocessor:0,prerequisit:4,presenc:3,present:[0,3],preserv:0,prevent:[0,2],previou:4,print:[0,2,3],printf:[1,2,3],prior:3,privat:4,process:0,produc:[2,3],project:[2,4],protect:0,provid:[0,2,3,4],ptr:[0,2],publish:4,pull:4,push_back:0,python:[0,2,4],quot:3,qword:2,r7vvge1v7:0,rang:[1,4],rare:2,rather:2,rcx:2,reach:0,read:4,recent:2,recip:4,recogn:0,recommend:0,red:0,reduc:0,refer:[1,2,3],regular:0,relax:2,releas:4,reli:2,remov:3,remove_cvref_t:0,repeat:3,replac:[0,3],report:[0,2],repositori:[2,4],repres:[0,2,3],represent:3,request:4,requir:[0,2,4],reserv:0,resid:0,resiz:0,respect:3,result:[0,2,3],ret:2,reus:0,revis:4,right:[2,3],role:4,round:3,rsp:2,run:4,runtim:0,runtime_format_str:0,rvalu:2,safe:[0,2],safer:2,sai:2,same:[0,3],sat:3,saturdai:3,scientif:3,script:4,se7en:0,second:[0,3],section:[3,4],see:[0,2,3,4],self:2,sentinel:0,sentinel_t:0,sep:0,separ:[0,3],sequenc:[0,3],set:[0,2,3,4],sever:[2,4],shalt:3,share:4,shared_ptr:0,should:[0,3,4],shouldn:0,show:3,shown:3,sign:3,signal:3,signific:3,similar:[0,2,3],simpl:3,simpler:2,sinc:0,singl:3,size:[0,2,3],size_t:0,slightli:2,sln:4,small:[0,2],softwar:4,some:[3,4],sourc:[0,2,4],space:3,special:[0,3],specif:[0,1],specifi:[0,3],spirit:2,sprintf:[0,2],squishi:0,src:4,stabl:4,standard:[1,2,3],start:[0,3,4],std:[1,2,3],stderr:[0,2],stdio:2,stdout:[0,2],store:0,str:[0,2],stream:[0,2],streamed_view:0,strftime:0,string:[1,2],string_view:0,struct:0,studio:4,style:1,styled_arg:0,sub:2,subclass:0,subdirectori:4,subset:0,sudo:4,suffix:[2,3],sundai:3,support:[1,2,3],sure:0,surround:[0,3],syntax:[0,1,2],system:[1,2,4],system_error:0,tab:3,take:0,target:4,target_link_librari:4,team:4,templat:[0,2],term:3,termin:[1,3],terser:2,test:4,text:[1,3],text_styl:0,textual:3,than:[0,2,3],thank:2,thei:[0,3],them:4,therefor:0,thi:[0,2,3,4],this_thread:0,thou:3,thousand:[0,3],thread:0,three:[2,3],thrown:3,time:[1,2,3],time_point:0,time_t:0,tm_hour:3,tm_mdai:3,tm_min:3,tm_mon:3,tm_sec:3,tm_year:3,to_str:0,to_wstr:0,too:3,toolchain:4,total:0,trail:[2,3],trait:[0,2],translat:3,treat:3,trivial:0,trunc:0,truncat:0,tupl:1,two:[2,3],txt:[0,4],type:[1,2,3],type_identity_t:0,type_trait:0,typenam:0,typic:4,ubuntu:4,unchang:3,underli:0,underlying_spec:3,underlying_t:0,unicod:[2,3],unique_ptr:0,unit:3,univers:0,unix:4,unknown:0,unless:3,unlik:0,unreleas:4,until:0,unus:0,updat:4,upper:3,uppercas:3,usag:1,use:[0,2,3,4],used:[0,2,3,4],useful:[2,4],user:2,uses:[0,3],using:[0,2,3,4],usual:4,utc:[0,3],utf:[0,3],vajfweg4b:0,valid:3,valu:[0,2,3],vari:0,variabl:[0,4],variad:2,variou:3,vcpkg:1,vcproj:4,vector:[0,3],version:[0,2,4],vformat:0,vformat_to:0,via:[0,3],view:0,virtual:0,virtualenv:4,visual:4,vlog:0,vprint:[0,2],want:4,wchar_t:1,week:3,weekdai:3,well:[0,3],wformat_context:0,what:2,when:[0,3],where:[0,3,4],whether:3,which:[0,2,3],whose:3,wide:[2,4],width:[0,3],window:4,within:3,without:3,word:3,work:4,workflow:4,world:[2,3],wrap:0,write:[0,2],written:2,wronli:0,wstring:0,wstring_view:0,www:4,x42e:2,xchar:0,xcode:4,xcodeproj:4,xor:2,year:[0,3],yet:0,you:[0,2,3,4],your:[0,2,4],zero:3,zone:3},titles:["API Reference","Contents","Overview","Format String Syntax","Usage"],titleterms:{Use:2,alloc:0,android:4,api:[0,2],argument:0,base:0,binari:2,build2:4,build:4,check:0,chrono:3,cmake:4,code:2,color:0,compact:2,compat:0,compil:0,conda:4,content:1,core:0,custom:0,date:0,defin:0,document:4,eas:2,error:0,exampl:3,format:[0,2,3],homebrew:4,instal:4,languag:3,legaci:0,lhelper:4,librari:[0,4],list:0,liter:0,local:0,mini:3,name:0,ndk:4,ostream:0,overview:2,portabl:2,printf:0,rang:[0,3],refer:0,safeti:2,specif:3,standard:0,std:0,string:[0,3],style:0,support:0,syntax:3,system:0,termin:0,text:0,time:0,tupl:0,type:0,usag:4,user:0,util:0,variant:0,vcpkg:4,wchar_t:0}}) \ No newline at end of file diff --git a/vendor/Fmt/doc/html/syntax.html b/vendor/Fmt/doc/html/syntax.html new file mode 100644 index 00000000..0011b842 --- /dev/null +++ b/vendor/Fmt/doc/html/syntax.html @@ -0,0 +1,819 @@ + + + + + + + + + + + + Format String Syntax — fmt 10.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +

    Format String Syntax¶

    +

    Formatting functions such as fmt::format() and +fmt::print() use the same format string syntax described in this +section.

    +

    Format strings contain “replacement fields†surrounded by curly braces {}. +Anything that is not contained in braces is considered literal text, which is +copied unchanged to the output. If you need to include a brace character in the +literal text, it can be escaped by doubling: {{ and }}.

    +

    The grammar for a replacement field is as follows:

    +
    +replacement_field ::=  "{" [arg_id] [":" (format_spec | chrono_format_spec)] "}"
    +arg_id            ::=  integer | identifier
    +integer           ::=  digit+
    +digit             ::=  "0"..."9"
    +identifier        ::=  id_start id_continue*
    +id_start          ::=  "a"..."z" | "A"..."Z" | "_"
    +id_continue       ::=  id_start | digit
    +
    +

    In less formal terms, the replacement field can start with an arg_id +that specifies the argument whose value is to be formatted and inserted into +the output instead of the replacement field. +The arg_id is optionally followed by a format_spec, which is preceded by a +colon ':'. These specify a non-default format for the replacement value.

    +

    See also the Format Specification Mini-Language section.

    +

    If the numerical arg_ids in a format string are 0, 1, 2, … in sequence, +they can all be omitted (not just some) and the numbers 0, 1, 2, … will be +automatically inserted in that order.

    +

    Named arguments can be referred to by their names or indices.

    +

    Some simple format string examples:

    +
    "First, thou shalt count to {0}" // References the first argument
    +"Bring me a {}"                  // Implicitly references the first argument
    +"From {} to {}"                  // Same as "From {0} to {1}"
    +
    +
    +

    The format_spec field contains a specification of how the value should be +presented, including such details as field width, alignment, padding, decimal +precision and so on. Each value type can define its own “formatting +mini-language†or interpretation of the format_spec.

    +

    Most built-in types support a common formatting mini-language, which is +described in the next section.

    +

    A format_spec field can also include nested replacement fields in certain +positions within it. These nested replacement fields can contain only an +argument id; format specifications are not allowed. This allows the formatting +of a value to be dynamically specified.

    +

    See the Format Examples section for some examples.

    +
    +

    Format Specification Mini-Language¶

    +

    “Format specifications†are used within replacement fields contained within a +format string to define how individual values are presented (see +Format String Syntax). Each formattable type may define how the format +specification is to be interpreted.

    +

    Most built-in types implement the following options for format specifications, +although some of the formatting options are only supported by the numeric types.

    +

    The general form of a standard format specifier is:

    +
    +format_spec ::=  [[fill]align][sign]["#"]["0"][width]["." precision]["L"][type]
    +fill        ::=  <a character other than '{' or '}'>
    +align       ::=  "<" | ">" | "^"
    +sign        ::=  "+" | "-" | " "
    +width       ::=  integer | "{" [arg_id] "}"
    +precision   ::=  integer | "{" [arg_id] "}"
    +type        ::=  "a" | "A" | "b" | "B" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" |
    +                 "o" | "p" | "s" | "x" | "X"
    +
    +

    The fill character can be any Unicode code point other than '{' or +'}'. The presence of a fill character is signaled by the character following +it, which must be one of the alignment options. If the second character of +format_spec is not a valid alignment option, then it is assumed that both the +fill character and the alignment option are absent.

    +

    The meaning of the various alignment options is as follows:

    + ++++ + + + + + + + + + + + + + + + + +

    Option

    Meaning

    '<'

    Forces the field to be left-aligned within the available +space (this is the default for most objects).

    '>'

    Forces the field to be right-aligned within the +available space (this is the default for numbers).

    '^'

    Forces the field to be centered within the available +space.

    +

    Note that unless a minimum field width is defined, the field width will always +be the same size as the data to fill it, so that the alignment option has no +meaning in this case.

    +

    The sign option is only valid for floating point and signed integer types, +and can be one of the following:

    + ++++ + + + + + + + + + + + + + + + + +

    Option

    Meaning

    '+'

    indicates that a sign should be used for both +nonnegative as well as negative numbers.

    '-'

    indicates that a sign should be used only for negative +numbers (this is the default behavior).

    space

    indicates that a leading space should be used on +nonnegative numbers, and a minus sign on negative numbers.

    +

    The '#' option causes the “alternate form†to be used for the +conversion. The alternate form is defined differently for different +types. This option is only valid for integer and floating-point types. +For integers, when binary, octal, or hexadecimal output is used, this +option adds the prefix respective "0b" ("0B"), "0", or +"0x" ("0X") to the output value. Whether the prefix is +lower-case or upper-case is determined by the case of the type +specifier, for example, the prefix "0x" is used for the type 'x' +and "0X" is used for 'X'. For floating-point numbers the +alternate form causes the result of the conversion to always contain a +decimal-point character, even if no digits follow it. Normally, a +decimal-point character appears in the result of these conversions +only if a digit follows it. In addition, for 'g' and 'G' +conversions, trailing zeros are not removed from the result.

    +

    width is a decimal integer defining the minimum field width. If not +specified, then the field width will be determined by the content.

    +

    Preceding the width field by a zero ('0') character enables sign-aware +zero-padding for numeric types. It forces the padding to be placed after the +sign or base (if any) but before the digits. This is used for printing fields in +the form ‘+000000120’. This option is only valid for numeric types and it has no +effect on formatting of infinity and NaN.

    +

    The precision is a decimal number indicating how many digits should be +displayed after the decimal point for a floating-point value formatted with +'f' and 'F', or before and after the decimal point for a floating-point +value formatted with 'g' or 'G'. For non-number types the field +indicates the maximum field size - in other words, how many characters will be +used from the field content. The precision is not allowed for integer, +character, Boolean, and pointer values. Note that a C string must be +null-terminated even if precision is specified.

    +

    The 'L' option uses the current locale setting to insert the appropriate +number separator characters. This option is only valid for numeric types.

    +

    Finally, the type determines how the data should be presented.

    +

    The available string presentation types are:

    + ++++ + + + + + + + + + + + + + +

    Type

    Meaning

    's'

    String format. This is the default type for strings and +may be omitted.

    none

    The same as 's'.

    +

    The available character presentation types are:

    + ++++ + + + + + + + + + + + + + +

    Type

    Meaning

    'c'

    Character format. This is the default type for +characters and may be omitted.

    none

    The same as 'c'.

    +

    The available integer presentation types are:

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Type

    Meaning

    'b'

    Binary format. Outputs the number in base 2. Using the +'#' option with this type adds the prefix "0b" +to the output value.

    'B'

    Binary format. Outputs the number in base 2. Using the +'#' option with this type adds the prefix "0B" +to the output value.

    'c'

    Character format. Outputs the number as a character.

    'd'

    Decimal integer. Outputs the number in base 10.

    'o'

    Octal format. Outputs the number in base 8.

    'x'

    Hex format. Outputs the number in base 16, using +lower-case letters for the digits above 9. Using the +'#' option with this type adds the prefix "0x" +to the output value.

    'X'

    Hex format. Outputs the number in base 16, using +upper-case letters for the digits above 9. Using the +'#' option with this type adds the prefix "0X" +to the output value.

    none

    The same as 'd'.

    +

    Integer presentation types can also be used with character and Boolean values. +Boolean values are formatted using textual representation, either true or +false, if the presentation type is not specified.

    +

    The available presentation types for floating-point values are:

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Type

    Meaning

    'a'

    Hexadecimal floating point format. Prints the number in +base 16 with prefix "0x" and lower-case letters for +digits above 9. Uses 'p' to indicate the exponent.

    'A'

    Same as 'a' except it uses upper-case letters for +the prefix, digits above 9 and to indicate the exponent.

    'e'

    Exponent notation. Prints the number in scientific +notation using the letter ‘e’ to indicate the exponent.

    'E'

    Exponent notation. Same as 'e' except it uses an +upper-case 'E' as the separator character.

    'f'

    Fixed point. Displays the number as a fixed-point +number.

    'F'

    Fixed point. Same as 'f', but converts nan to +NAN and inf to INF.

    'g'

    General format. For a given precision p >= 1, +this rounds the number to p significant digits and +then formats the result in either fixed-point format +or in scientific notation, depending on its magnitude.

    +

    A precision of 0 is treated as equivalent to a +precision of 1.

    +

    'G'

    General format. Same as 'g' except switches to +'E' if the number gets too large. The +representations of infinity and NaN are uppercased, too.

    none

    Similar to 'g', except that the default precision is +as high as needed to represent the particular value.

    +

    The available presentation types for pointers are:

    + ++++ + + + + + + + + + + + + + +

    Type

    Meaning

    'p'

    Pointer format. This is the default type for +pointers and may be omitted.

    none

    The same as 'p'.

    +
    +
    +

    Chrono Format Specifications¶

    +

    Format specifications for chrono duration and time point types as well as +std::tm have the following syntax:

    +
    +chrono_format_spec ::=  [[fill]align][width]["." precision][chrono_specs]
    +chrono_specs       ::=  [chrono_specs] conversion_spec | chrono_specs literal_char
    +conversion_spec    ::=  "%" [modifier] chrono_type
    +literal_char       ::=  <a character other than '{', '}' or '%'>
    +modifier           ::=  "E" | "O"
    +chrono_type        ::=  "a" | "A" | "b" | "B" | "c" | "C" | "d" | "D" | "e" | "F" |
    +                        "g" | "G" | "h" | "H" | "I" | "j" | "m" | "M" | "n" | "p" |
    +                        "q" | "Q" | "r" | "R" | "S" | "t" | "T" | "u" | "U" | "V" |
    +                        "w" | "W" | "x" | "X" | "y" | "Y" | "z" | "Z" | "%"
    +
    +

    Literal chars are copied unchanged to the output. Precision is valid only for +std::chrono::duration types with a floating-point representation type.

    +

    The available presentation types (chrono_type) are:

    + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Type

    Meaning

    'a'

    The abbreviated weekday name, e.g. “Satâ€. If the value does not +contain a valid weekday, an exception of type format_error is +thrown.

    'A'

    The full weekday name, e.g. “Saturdayâ€. If the value does not +contain a valid weekday, an exception of type format_error is +thrown.

    'b'

    The abbreviated month name, e.g. “Novâ€. If the value does not +contain a valid month, an exception of type format_error is +thrown.

    'B'

    The full month name, e.g. “Novemberâ€. If the value does not +contain a valid month, an exception of type format_error is +thrown.

    'c'

    The date and time representation, e.g. “Sat Nov 12 22:04:00 1955â€. +The modified command %Ec produces the locale’s alternate date +and time representation.

    'C'

    The year divided by 100 using floored division, e.g. “55â€. If the +result is a single decimal digit, it is prefixed with 0. +The modified command %EC produces the locale’s alternative +representation of the century.

    'd'

    The day of month as a decimal number. If the result is a single +decimal digit, it is prefixed with 0. The modified command %Od +produces the locale’s alternative representation.

    'D'

    Equivalent to %m/%d/%y, e.g. “11/12/55â€.

    'e'

    The day of month as a decimal number. If the result is a single +decimal digit, it is prefixed with a space. The modified command +%Oe produces the locale’s alternative representation.

    'F'

    Equivalent to %Y-%m-%d, e.g. “1955-11-12â€.

    'g'

    The last two decimal digits of the ISO week-based year. If the +result is a single digit it is prefixed by 0.

    'G'

    The ISO week-based year as a decimal number. If the result is less +than four digits it is left-padded with 0 to four digits.

    'h'

    Equivalent to %b, e.g. “Novâ€.

    'H'

    The hour (24-hour clock) as a decimal number. If the result is a +single digit, it is prefixed with 0. The modified command %OH +produces the locale’s alternative representation.

    'I'

    The hour (12-hour clock) as a decimal number. If the result is a +single digit, it is prefixed with 0. The modified command %OI +produces the locale’s alternative representation.

    'j'

    If the type being formatted is a specialization of duration, the +decimal number of days without padding. Otherwise, the day of the +year as a decimal number. Jan 1 is 001. If the result is less than +three digits, it is left-padded with 0 to three digits.

    'm'

    The month as a decimal number. Jan is 01. If the result is a +single digit, it is prefixed with 0. The modified command %Om +produces the locale’s alternative representation.

    'M'

    The minute as a decimal number. If the result is a single digit, +it is prefixed with 0. The modified command %OM produces the +locale’s alternative representation.

    'n'

    A new-line character.

    'p'

    The AM/PM designations associated with a 12-hour clock.

    'q'

    The duration’s unit suffix.

    'Q'

    The duration’s numeric value (as if extracted via .count()).

    'r'

    The 12-hour clock time, e.g. “10:04:00 PMâ€.

    'R'

    Equivalent to %H:%M, e.g. “22:04â€.

    'S'

    Seconds as a decimal number. If the number of seconds is less than +10, the result is prefixed with 0. If the precision of the input +cannot be exactly represented with seconds, then the format is a +decimal floating-point number with a fixed format and a precision +matching that of the precision of the input (or to a microseconds +precision if the conversion to floating-point decimal seconds +cannot be made within 18 fractional digits). The character for the +decimal point is localized according to the locale. The modified +command %OS produces the locale’s alternative representation.

    't'

    A horizontal-tab character.

    'T'

    Equivalent to %H:%M:%S.

    'u'

    The ISO weekday as a decimal number (1-7), where Monday is 1. The +modified command %Ou produces the locale’s alternative +representation.

    'U'

    The week number of the year as a decimal number. The first Sunday +of the year is the first day of week 01. Days of the same year +prior to that are in week 00. If the result is a single digit, it +is prefixed with 0. The modified command %OU produces the +locale’s alternative representation.

    'V'

    The ISO week-based week number as a decimal number. If the result +is a single digit, it is prefixed with 0. The modified command +%OV produces the locale’s alternative representation.

    'w'

    The weekday as a decimal number (0-6), where Sunday is 0. +The modified command %Ow produces the locale’s alternative +representation.

    'W'

    The week number of the year as a decimal number. The first Monday +of the year is the first day of week 01. Days of the same year +prior to that are in week 00. If the result is a single digit, it +is prefixed with 0. The modified command %OW produces the +locale’s alternative representation.

    'x'

    The date representation, e.g. “11/12/55â€. The modified command +%Ex produces the locale’s alternate date representation.

    'X'

    The time representation, e.g. “10:04:00â€. The modified command +%EX produces the locale’s alternate time representation.

    'y'

    The last two decimal digits of the year. If the result is a single +digit it is prefixed by 0. The modified command %Oy produces +the locale’s alternative representation. The modified command +%Ey produces the locale’s alternative representation of offset +from %EC (year only).

    'Y'

    The year as a decimal number. If the result is less than four +digits it is left-padded with 0 to four digits. The modified +command %EY produces the locale’s alternative full year +representation.

    'z'

    The offset from UTC in the ISO 8601:2004 format. For example -0430 +refers to 4 hours 30 minutes behind UTC. If the offset is zero, ++0000 is used. The modified commands %Ez and %Oz insert a +: between the hours and minutes: -04:30. If the offset +information is not available, an exception of type +format_error is thrown.

    'Z'

    The time zone abbreviation. If the time zone abbreviation is not +available, an exception of type format_error is thrown.

    '%'

    A % character.

    +

    Specifiers that have a calendaric component such as 'd' (the day of month) +are valid only for std::tm and time points but not durations.

    +
    +
    +

    Range Format Specifications¶

    +

    Format specifications for range types have the following syntax:

    +
    +range_format_spec ::=  [":" [underlying_spec]]
    +
    +

    The underlying_spec is parsed based on the formatter of the range’s +reference type.

    +

    By default, a range of characters or strings is printed escaped and quoted. But +if any underlying_spec is provided (even if it is empty), then the characters +or strings are printed according to the provided specification.

    +

    Examples:

    +
    fmt::format("{}", std::vector{10, 20, 30});
    +// Result: [10, 20, 30]
    +fmt::format("{::#x}", std::vector{10, 20, 30});
    +// Result: [0xa, 0x14, 0x1e]
    +fmt::format("{}", vector{'h', 'e', 'l', 'l', 'o'});
    +// Result: ['h', 'e', 'l', 'l', 'o']
    +fmt::format("{::}", vector{'h', 'e', 'l', 'l', 'o'});
    +// Result: [h, e, l, l, o]
    +fmt::format("{::d}", vector{'h', 'e', 'l', 'l', 'o'});
    +// Result: [104, 101, 108, 108, 111]
    +
    +
    +
    +
    +

    Format Examples¶

    +

    This section contains examples of the format syntax and comparison with +the printf formatting.

    +

    In most of the cases the syntax is similar to the printf formatting, with the +addition of the {} and with : used instead of %. +For example, "%03.2f" can be translated to "{:03.2f}".

    +

    The new format syntax also supports new and different options, shown in the +following examples.

    +

    Accessing arguments by position:

    +
    fmt::format("{0}, {1}, {2}", 'a', 'b', 'c');
    +// Result: "a, b, c"
    +fmt::format("{}, {}, {}", 'a', 'b', 'c');
    +// Result: "a, b, c"
    +fmt::format("{2}, {1}, {0}", 'a', 'b', 'c');
    +// Result: "c, b, a"
    +fmt::format("{0}{1}{0}", "abra", "cad");  // arguments' indices can be repeated
    +// Result: "abracadabra"
    +
    +
    +

    Aligning the text and specifying a width:

    +
    fmt::format("{:<30}", "left aligned");
    +// Result: "left aligned                  "
    +fmt::format("{:>30}", "right aligned");
    +// Result: "                 right aligned"
    +fmt::format("{:^30}", "centered");
    +// Result: "           centered           "
    +fmt::format("{:*^30}", "centered");  // use '*' as a fill char
    +// Result: "***********centered***********"
    +
    +
    +

    Dynamic width:

    +
    fmt::format("{:<{}}", "left aligned", 30);
    +// Result: "left aligned                  "
    +
    +
    +

    Dynamic precision:

    +
    fmt::format("{:.{}f}", 3.14, 1);
    +// Result: "3.1"
    +
    +
    +

    Replacing %+f, %-f, and % f and specifying a sign:

    +
    fmt::format("{:+f}; {:+f}", 3.14, -3.14);  // show it always
    +// Result: "+3.140000; -3.140000"
    +fmt::format("{: f}; {: f}", 3.14, -3.14);  // show a space for positive numbers
    +// Result: " 3.140000; -3.140000"
    +fmt::format("{:-f}; {:-f}", 3.14, -3.14);  // show only the minus -- same as '{:f}; {:f}'
    +// Result: "3.140000; -3.140000"
    +
    +
    +

    Replacing %x and %o and converting the value to different bases:

    +
    fmt::format("int: {0:d};  hex: {0:x};  oct: {0:o}; bin: {0:b}", 42);
    +// Result: "int: 42;  hex: 2a;  oct: 52; bin: 101010"
    +// with 0x or 0 or 0b as prefix:
    +fmt::format("int: {0:d};  hex: {0:#x};  oct: {0:#o};  bin: {0:#b}", 42);
    +// Result: "int: 42;  hex: 0x2a;  oct: 052;  bin: 0b101010"
    +
    +
    +

    Padded hex byte with prefix and always prints both hex characters:

    +
    fmt::format("{:#04x}", 0);
    +// Result: "0x00"
    +
    +
    +

    Box drawing using Unicode fill:

    +
    fmt::print(
    +  "┌{0:─^{2}}â”\n"
    +  "│{1: ^{2}}│\n"
    +  "└{0:─^{2}}┘\n", "", "Hello, world!", 20);
    +
    +
    +

    prints:

    +
    ┌────────────────────â”
    +│   Hello, world!    │
    +└────────────────────┘
    +
    +
    +

    Using type-specific formatting:

    +
    #include <fmt/chrono.h>
    +
    +auto t = tm();
    +t.tm_year = 2010 - 1900;
    +t.tm_mon = 7;
    +t.tm_mday = 4;
    +t.tm_hour = 12;
    +t.tm_min = 15;
    +t.tm_sec = 58;
    +fmt::print("{:%Y-%m-%d %H:%M:%S}", t);
    +// Prints: 2010-08-04 12:15:58
    +
    +
    +

    Using the comma as a thousands separator:

    +
    #include <fmt/format.h>
    +
    +auto s = fmt::format(std::locale("en_US.UTF-8"), "{:L}", 1234567890);
    +// s == "1,234,567,890"
    +
    +
    +
    +
    + + +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/vendor/Fmt/doc/html/usage.html b/vendor/Fmt/doc/html/usage.html new file mode 100644 index 00000000..8596e95f --- /dev/null +++ b/vendor/Fmt/doc/html/usage.html @@ -0,0 +1,335 @@ + + + + + + + + + + + + Usage — fmt 10.0.0 documentation + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + +
    + +
    +

    Usage¶

    +

    To use the {fmt} library, add fmt/core.h, fmt/format.h, +fmt/format-inl.h, src/format.cc and optionally other headers +from a release archive or +the Git repository to your project. +Alternatively, you can build the library with CMake.

    +
    +

    Building the Library¶

    +

    The included CMake build script can be used to build the fmt +library on a wide range of platforms. CMake is freely available for +download from https://www.cmake.org/download/.

    +

    CMake works by generating native makefiles or project files that can +be used in the compiler environment of your choice. The typical +workflow starts with:

    +
    mkdir build          # Create a directory to hold the build output.
    +cd build
    +cmake ..  # Generate native build scripts.
    +
    +
    +

    where <path/to/fmt> is a path to the fmt repository.

    +

    If you are on a *nix system, you should now see a Makefile in the +current directory. Now you can build the library by running make.

    +

    Once the library has been built you can invoke make test to run +the tests.

    +

    You can control generation of the make test target with the FMT_TEST +CMake option. This can be useful if you include fmt as a subdirectory in +your project but don’t want to add fmt’s tests to your test target.

    +

    If you use Windows and have Visual Studio installed, a FMT.sln +file and several .vcproj files will be created. You can then build them +using Visual Studio or msbuild.

    +

    On Mac OS X with Xcode installed, an .xcodeproj file will be generated.

    +

    To build a shared library set the BUILD_SHARED_LIBS CMake variable to +TRUE:

    +
    cmake -DBUILD_SHARED_LIBS=TRUE ...
    +
    +
    +

    To build a static library with position independent code (required if the main +consumer of the fmt library is a shared library i.e. a Python extension) set the +CMAKE_POSITION_INDEPENDENT_CODE CMake variable to TRUE:

    +
    cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE ...
    +
    +
    +
    +
    +

    Installing the Library¶

    +

    After building the library you can install it on a Unix-like system by running +sudo make install.

    +
    +
    +

    Usage with CMake¶

    +

    You can add the fmt library directory into your project and include it in +your CMakeLists.txt file:

    +
    add_subdirectory(fmt)
    +
    +
    +

    or

    +
    add_subdirectory(fmt EXCLUDE_FROM_ALL)
    +
    +
    +

    to exclude it from make, make all, or cmake --build ..

    +

    You can detect and use an installed version of {fmt} as follows:

    +
    find_package(fmt)
    +target_link_libraries(<your-target> fmt::fmt)
    +
    +
    +

    Setting up your target to use a header-only version of fmt is equally easy:

    +
    target_link_libraries(<your-target> PRIVATE fmt::fmt-header-only)
    +
    +
    +
    +
    +

    Usage with build2¶

    +

    You can use build2, a dependency manager and a +build-system combined, to use fmt.

    +

    Currently this package is available in these package repositories:

    + +

    Usage:

    +
      +
    • build2 package name: fmt

    • +
    • Library target name : lib{fmt}

    • +
    +

    For example, to make your build2 project depend on fmt:

    +
      +
    • Add one of the repositories to your configurations, or in your +repositories.manifest, if not already there:

      +
      :
      +role: prerequisite
      +location: https://pkg.cppget.org/1/stable
      +
      +
      +
    • +
    • Add this package as a dependency to your ./manifest file +(example for v7.0.x):

      +
      depends: fmt ~7.0.0
      +
      +
      +
    • +
    • Import the target and use it as a prerequisite to your own target +using fmt in the appropriate buildfile:

      +
      import fmt = fmt%lib{fmt}
      +lib{mylib} : cxx{**} ... $fmt
      +
      +
      +
    • +
    +

    Then build your project as usual with b or bdep update.

    +

    For build2 newcomers or to get more details and use cases, you can read the +build2 +toolchain introduction.

    +
    +
    +

    Building the Documentation¶

    +

    To build the documentation you need the following software installed on your +system:

    +
      +
    • Python with pip and virtualenv

    • +
    • Doxygen

    • +
    • Less with less-plugin-clean-css. +Ubuntu doesn’t package the clean-css plugin so you should use npm +instead of apt to install both less and the plugin:

      +
      sudo npm install -g less less-plugin-clean-css.
      +
      +
      +
    • +
    +

    First generate makefiles or project files using CMake as described in +the previous section. Then compile the doc target/project, for example:

    +
    make doc
    +
    +
    +

    This will generate the HTML documentation in doc/html.

    +
    +
    +

    Conda¶

    +

    fmt can be installed on Linux, macOS and Windows with +Conda, using its +conda-forge +package, as follows:

    +
    conda install -c conda-forge fmt
    +
    +
    +
    +
    +

    Vcpkg¶

    +

    You can download and install fmt using the vcpkg dependency manager:

    +
    git clone https://github.com/Microsoft/vcpkg.git
    +cd vcpkg
    +./bootstrap-vcpkg.sh
    +./vcpkg integrate install
    +./vcpkg install fmt
    +
    +
    +

    The fmt port in vcpkg is kept up to date by Microsoft team members and community +contributors. If the version is out of date, please create an issue or pull +request on the vcpkg repository.

    +
    +
    +

    LHelper¶

    +

    You can download and install fmt using +lhelper dependency manager:

    +
    lhelper activate <some-environment>
    +lhelper install fmt
    +
    +
    +

    All the recipes for lhelper are kept in the +lhelper’s recipe repository.

    +
    +
    +

    Android NDK¶

    +

    fmt provides Android.mk file that can be used to build the library +with Android NDK. +For an example of using fmt with Android NDK, see the +android-ndk-example +repository.

    +
    +
    +

    Homebrew¶

    +

    fmt can be installed on OS X using Homebrew:

    +
    brew install fmt
    +
    +
    +
    +
    + + +
    +
    +
    + + + + + + + + + \ No newline at end of file diff --git a/vendor/Fmt/doc/index.rst b/vendor/Fmt/doc/index.rst index d5c4fa5f..8d55c7a1 100644 --- a/vendor/Fmt/doc/index.rst +++ b/vendor/Fmt/doc/index.rst @@ -39,7 +39,7 @@ The ``fmt::format`` function returns a string "The answer is 42.". You can use .. code:: c++ auto out = fmt::memory_buffer(); - format_to(std::back_inserter(out), + fmt::format_to(std::back_inserter(out), "For a moment, {} happened.", "nothing"); auto data = out.data(); // pointer to the formatted data auto size = out.size(); // size of the formatted data diff --git a/vendor/Fmt/doc/syntax.rst b/vendor/Fmt/doc/syntax.rst index 9bf8dba7..74b64c5a 100644 --- a/vendor/Fmt/doc/syntax.rst +++ b/vendor/Fmt/doc/syntax.rst @@ -109,8 +109,8 @@ Note that unless a minimum field width is defined, the field width will always be the same size as the data to fill it, so that the alignment option has no meaning in this case. -The *sign* option is only valid for number types, and can be one of the -following: +The *sign* option is only valid for floating point and signed integer types, +and can be one of the following: +---------+------------------------------------------------------------+ | Option | Meaning | @@ -304,8 +304,8 @@ The available presentation types for pointers are: Chrono Format Specifications ============================ -Format specifications for chrono types and ``std::tm`` have the following -syntax: +Format specifications for chrono duration and time point types as well as +``std::tm`` have the following syntax: .. productionlist:: sf chrono_format_spec: [[`fill`]`align`][`width`]["." `precision`][`chrono_specs`] @@ -321,20 +321,89 @@ syntax: Literal chars are copied unchanged to the output. Precision is valid only for ``std::chrono::duration`` types with a floating-point representation type. -The available presentation types (*chrono_type*) for chrono durations and time -points are: +The available presentation types (*chrono_type*) are: +---------+--------------------------------------------------------------------+ | Type | Meaning | +=========+====================================================================+ +| ``'a'`` | The abbreviated weekday name, e.g. "Sat". If the value does not | +| | contain a valid weekday, an exception of type ``format_error`` is | +| | thrown. | ++---------+--------------------------------------------------------------------+ +| ``'A'`` | The full weekday name, e.g. "Saturday". If the value does not | +| | contain a valid weekday, an exception of type ``format_error`` is | +| | thrown. | ++---------+--------------------------------------------------------------------+ +| ``'b'`` | The abbreviated month name, e.g. "Nov". If the value does not | +| | contain a valid month, an exception of type ``format_error`` is | +| | thrown. | ++---------+--------------------------------------------------------------------+ +| ``'B'`` | The full month name, e.g. "November". If the value does not | +| | contain a valid month, an exception of type ``format_error`` is | +| | thrown. | ++---------+--------------------------------------------------------------------+ +| ``'c'`` | The date and time representation, e.g. "Sat Nov 12 22:04:00 1955". | +| | The modified command ``%Ec`` produces the locale's alternate date | +| | and time representation. | ++---------+--------------------------------------------------------------------+ +| ``'C'`` | The year divided by 100 using floored division, e.g. "55". If the | +| | result is a single decimal digit, it is prefixed with 0. | +| | The modified command ``%EC`` produces the locale's alternative | +| | representation of the century. | ++---------+--------------------------------------------------------------------+ +| ``'d'`` | The day of month as a decimal number. If the result is a single | +| | decimal digit, it is prefixed with 0. The modified command ``%Od`` | +| | produces the locale's alternative representation. | ++---------+--------------------------------------------------------------------+ +| ``'D'`` | Equivalent to ``%m/%d/%y``, e.g. "11/12/55". | ++---------+--------------------------------------------------------------------+ +| ``'e'`` | The day of month as a decimal number. If the result is a single | +| | decimal digit, it is prefixed with a space. The modified command | +| | ``%Oe`` produces the locale's alternative representation. | ++---------+--------------------------------------------------------------------+ +| ``'F'`` | Equivalent to ``%Y-%m-%d``, e.g. "1955-11-12". | ++---------+--------------------------------------------------------------------+ +| ``'g'`` | The last two decimal digits of the ISO week-based year. If the | +| | result is a single digit it is prefixed by 0. | ++---------+--------------------------------------------------------------------+ +| ``'G'`` | The ISO week-based year as a decimal number. If the result is less | +| | than four digits it is left-padded with 0 to four digits. | ++---------+--------------------------------------------------------------------+ +| ``'h'`` | Equivalent to ``%b``, e.g. "Nov". | ++---------+--------------------------------------------------------------------+ | ``'H'`` | The hour (24-hour clock) as a decimal number. If the result is a | | | single digit, it is prefixed with 0. The modified command ``%OH`` | | | produces the locale's alternative representation. | +---------+--------------------------------------------------------------------+ +| ``'I'`` | The hour (12-hour clock) as a decimal number. If the result is a | +| | single digit, it is prefixed with 0. The modified command ``%OI`` | +| | produces the locale's alternative representation. | ++---------+--------------------------------------------------------------------+ +| ``'j'`` | If the type being formatted is a specialization of duration, the | +| | decimal number of days without padding. Otherwise, the day of the | +| | year as a decimal number. Jan 1 is 001. If the result is less than | +| | three digits, it is left-padded with 0 to three digits. | ++---------+--------------------------------------------------------------------+ +| ``'m'`` | The month as a decimal number. Jan is 01. If the result is a | +| | single digit, it is prefixed with 0. The modified command ``%Om`` | +| | produces the locale's alternative representation. | ++---------+--------------------------------------------------------------------+ | ``'M'`` | The minute as a decimal number. If the result is a single digit, | | | it is prefixed with 0. The modified command ``%OM`` produces the | | | locale's alternative representation. | +---------+--------------------------------------------------------------------+ +| ``'n'`` | A new-line character. | ++---------+--------------------------------------------------------------------+ +| ``'p'`` | The AM/PM designations associated with a 12-hour clock. | ++---------+--------------------------------------------------------------------+ +| ``'q'`` | The duration's unit suffix. | ++---------+--------------------------------------------------------------------+ +| ``'Q'`` | The duration's numeric value (as if extracted via ``.count()``). | ++---------+--------------------------------------------------------------------+ +| ``'r'`` | The 12-hour clock time, e.g. "10:04:00 PM". | ++---------+--------------------------------------------------------------------+ +| ``'R'`` | Equivalent to ``%H:%M``, e.g. "22:04". | ++---------+--------------------------------------------------------------------+ | ``'S'`` | Seconds as a decimal number. If the number of seconds is less than | | | 10, the result is prefixed with 0. If the precision of the input | | | cannot be exactly represented with seconds, then the format is a | @@ -345,9 +414,66 @@ points are: | | decimal point is localized according to the locale. The modified | | | command ``%OS`` produces the locale's alternative representation. | +---------+--------------------------------------------------------------------+ +| ``'t'`` | A horizontal-tab character. | ++---------+--------------------------------------------------------------------+ +| ``'T'`` | Equivalent to ``%H:%M:%S``. | ++---------+--------------------------------------------------------------------+ +| ``'u'`` | The ISO weekday as a decimal number (1-7), where Monday is 1. The | +| | modified command ``%Ou`` produces the locale's alternative | +| | representation. | ++---------+--------------------------------------------------------------------+ +| ``'U'`` | The week number of the year as a decimal number. The first Sunday | +| | of the year is the first day of week 01. Days of the same year | +| | prior to that are in week 00. If the result is a single digit, it | +| | is prefixed with 0. The modified command ``%OU`` produces the | +| | locale's alternative representation. | ++---------+--------------------------------------------------------------------+ +| ``'V'`` | The ISO week-based week number as a decimal number. If the result | +| | is a single digit, it is prefixed with 0. The modified command | +| | ``%OV`` produces the locale's alternative representation. | ++---------+--------------------------------------------------------------------+ +| ``'w'`` | The weekday as a decimal number (0-6), where Sunday is 0. | +| | The modified command ``%Ow`` produces the locale's alternative | +| | representation. | ++---------+--------------------------------------------------------------------+ +| ``'W'`` | The week number of the year as a decimal number. The first Monday | +| | of the year is the first day of week 01. Days of the same year | +| | prior to that are in week 00. If the result is a single digit, it | +| | is prefixed with 0. The modified command ``%OW`` produces the | +| | locale's alternative representation. | ++---------+--------------------------------------------------------------------+ +| ``'x'`` | The date representation, e.g. "11/12/55". The modified command | +| | ``%Ex`` produces the locale's alternate date representation. | ++---------+--------------------------------------------------------------------+ +| ``'X'`` | The time representation, e.g. "10:04:00". The modified command | +| | ``%EX`` produces the locale's alternate time representation. | ++---------+--------------------------------------------------------------------+ +| ``'y'`` | The last two decimal digits of the year. If the result is a single | +| | digit it is prefixed by 0. The modified command ``%Oy`` produces | +| | the locale's alternative representation. The modified command | +| | ``%Ey`` produces the locale's alternative representation of offset | +| | from ``%EC`` (year only). | ++---------+--------------------------------------------------------------------+ +| ``'Y'`` | The year as a decimal number. If the result is less than four | +| | digits it is left-padded with 0 to four digits. The modified | +| | command ``%EY`` produces the locale's alternative full year | +| | representation. | ++---------+--------------------------------------------------------------------+ +| ``'z'`` | The offset from UTC in the ISO 8601:2004 format. For example -0430 | +| | refers to 4 hours 30 minutes behind UTC. If the offset is zero, | +| | +0000 is used. The modified commands ``%Ez`` and ``%Oz`` insert a | +| | ``:`` between the hours and minutes: -04:30. If the offset | +| | information is not available, an exception of type | +| | ``format_error`` is thrown. | ++---------+--------------------------------------------------------------------+ +| ``'Z'`` | The time zone abbreviation. If the time zone abbreviation is not | +| | available, an exception of type ``format_error`` is thrown. | ++---------+--------------------------------------------------------------------+ +| ``'%'`` | A % character. | ++---------+--------------------------------------------------------------------+ -Specifiers that have a calendaric component such as `'d'` (the day of month) -are valid only for ``std::tm`` and not durations or time points. +Specifiers that have a calendaric component such as ``'d'`` (the day of month) +are valid only for ``std::tm`` and time points but not durations. .. range-specs: @@ -356,8 +482,8 @@ Range Format Specifications Format specifications for range types have the following syntax: -..productionlist:: sf - range_format_spec: [":" [`underlying_spec`]] +.. productionlist:: sf + range_format_spec: [":" [`underlying_spec`]] The `underlying_spec` is parsed based on the formatter of the range's reference type. @@ -366,12 +492,12 @@ By default, a range of characters or strings is printed escaped and quoted. But if any `underlying_spec` is provided (even if it is empty), then the characters or strings are printed according to the provided specification. -Examples: +Examples:: fmt::format("{}", std::vector{10, 20, 30}); // Result: [10, 20, 30] fmt::format("{::#x}", std::vector{10, 20, 30}); - // Result: [0xa, 0x14, 0x13] + // Result: [0xa, 0x14, 0x1e] fmt::format("{}", vector{'h', 'e', 'l', 'l', 'o'}); // Result: ['h', 'e', 'l', 'l', 'o'] fmt::format("{::}", vector{'h', 'e', 'l', 'l', 'o'}); diff --git a/vendor/Fmt/include/fmt/chrono.h b/vendor/Fmt/include/fmt/chrono.h index 7872fb4b..55e8a506 100644 --- a/vendor/Fmt/include/fmt/chrono.h +++ b/vendor/Fmt/include/fmt/chrono.h @@ -22,6 +22,24 @@ FMT_BEGIN_NAMESPACE +// Check if std::chrono::local_t is available. +#ifndef FMT_USE_LOCAL_TIME +# ifdef __cpp_lib_chrono +# define FMT_USE_LOCAL_TIME (__cpp_lib_chrono >= 201907L) +# else +# define FMT_USE_LOCAL_TIME 0 +# endif +#endif + +// Check if std::chrono::utc_timestamp is available. +#ifndef FMT_USE_UTC_TIME +# ifdef __cpp_lib_chrono +# define FMT_USE_UTC_TIME (__cpp_lib_chrono >= 201907L) +# else +# define FMT_USE_UTC_TIME 0 +# endif +#endif + // Enable tzset. #ifndef FMT_USE_TZSET // UWP doesn't provide _tzset. @@ -203,7 +221,8 @@ To safe_duration_cast(std::chrono::duration from, } const auto min1 = (std::numeric_limits::min)() / Factor::num; - if (count < min1) { + if (detail::const_check(!std::is_unsigned::value) && + count < min1) { ec = 1; return {}; } @@ -345,7 +364,7 @@ auto write_encoded_tm_str(OutputIt out, string_view in, const std::locale& loc) if (detail::is_utf8() && loc != get_classic_locale()) { // char16_t and char32_t codecvts are broken in MSVC (linkage errors) and // gcc-4. -#if FMT_MSC_VER != 0 || \ +#if FMT_MSC_VERSION != 0 || \ (defined(__GLIBCXX__) && !defined(_GLIBCXX_USE_DUAL_ABI)) // The _GLIBCXX_USE_DUAL_ABI macro is always defined in libstdc++ from gcc-5 // and newer. @@ -358,37 +377,11 @@ auto write_encoded_tm_str(OutputIt out, string_view in, const std::locale& loc) unit_t unit; write_codecvt(unit, in, loc); // In UTF-8 is used one to four one-byte code units. - auto&& buf = basic_memory_buffer(); - for (code_unit* p = unit.buf; p != unit.end; ++p) { - uint32_t c = static_cast(*p); - if (sizeof(code_unit) == 2 && c >= 0xd800 && c <= 0xdfff) { - // surrogate pair - ++p; - if (p == unit.end || (c & 0xfc00) != 0xd800 || - (*p & 0xfc00) != 0xdc00) { - FMT_THROW(format_error("failed to format time")); - } - c = (c << 10) + static_cast(*p) - 0x35fdc00; - } - if (c < 0x80) { - buf.push_back(static_cast(c)); - } else if (c < 0x800) { - buf.push_back(static_cast(0xc0 | (c >> 6))); - buf.push_back(static_cast(0x80 | (c & 0x3f))); - } else if ((c >= 0x800 && c <= 0xd7ff) || (c >= 0xe000 && c <= 0xffff)) { - buf.push_back(static_cast(0xe0 | (c >> 12))); - buf.push_back(static_cast(0x80 | ((c & 0xfff) >> 6))); - buf.push_back(static_cast(0x80 | (c & 0x3f))); - } else if (c >= 0x10000 && c <= 0x10ffff) { - buf.push_back(static_cast(0xf0 | (c >> 18))); - buf.push_back(static_cast(0x80 | ((c & 0x3ffff) >> 12))); - buf.push_back(static_cast(0x80 | ((c & 0xfff) >> 6))); - buf.push_back(static_cast(0x80 | (c & 0x3f))); - } else { - FMT_THROW(format_error("failed to format time")); - } - } - return copy_str(buf.data(), buf.data() + buf.size(), out); + unicode_to_utf8> + u; + if (!u.convert({unit.buf, to_unsigned(unit.end - unit.buf)})) + FMT_THROW(format_error("failed to format time")); + return copy_str(u.c_str(), u.c_str() + u.size(), out); } return copy_str(in.data(), in.data() + in.size(), out); } @@ -427,7 +420,7 @@ auto write(OutputIt out, const std::tm& time, const std::locale& loc, char format, char modifier = 0) -> OutputIt { auto&& buf = get_buffer(out); do_write(buf, time, loc, format, modifier); - return buf.out(); + return get_iterator(buf, out); } template ) { using namespace fmt::detail; std::tm* tm = std::localtime(&time_); @@ -484,10 +477,13 @@ inline std::tm localtime(std::time_t time) { return lt.tm_; } -inline std::tm localtime( - std::chrono::time_point time_point) { - return localtime(std::chrono::system_clock::to_time_t(time_point)); +#if FMT_USE_LOCAL_TIME +template +inline auto localtime(std::chrono::local_time time) -> std::tm { + return localtime(std::chrono::system_clock::to_time_t( + std::chrono::current_zone()->to_sys(time))); } +#endif /** Converts given time since epoch as ``std::time_t`` value into calendar time, @@ -515,7 +511,7 @@ inline std::tm gmtime(std::time_t time) { bool fallback(int res) { return res == 0; } -#if !FMT_MSC_VER +#if !FMT_MSC_VERSION bool fallback(detail::null<>) { std::tm* tm = std::gmtime(&time_); if (tm) tm_ = *tm; @@ -536,6 +532,49 @@ inline std::tm gmtime( FMT_BEGIN_DETAIL_NAMESPACE +// DEPRECATED! +template +FMT_CONSTEXPR auto parse_align(const Char* begin, const Char* end, + format_specs& specs) -> const Char* { + FMT_ASSERT(begin != end, ""); + auto align = align::none; + auto p = begin + code_point_length(begin); + if (end - p <= 0) p = begin; + for (;;) { + switch (to_ascii(*p)) { + case '<': + align = align::left; + break; + case '>': + align = align::right; + break; + case '^': + align = align::center; + break; + } + if (align != align::none) { + if (p != begin) { + auto c = *begin; + if (c == '}') return begin; + if (c == '{') { + throw_format_error("invalid fill character '{'"); + return begin; + } + specs.fill = {begin, to_unsigned(p - begin)}; + begin = p + 1; + } else { + ++begin; + } + break; + } else if (p == begin) { + break; + } + p = begin; + } + specs.align = align; + return begin; +} + // Writes two-digit numbers a, b and c separated by sep to buf. // The method by Pavel Novikov based on // https://johnnylee-sde.github.io/Fast-unsigned-integer-to-time-string/. @@ -599,12 +638,39 @@ enum class numeric_system { alternative }; +// Glibc extensions for formatting numeric values. +enum class pad_type { + unspecified, + // Do not pad a numeric result string. + none, + // Pad a numeric result string with zeros even if the conversion specifier + // character uses space-padding by default. + zero, + // Pad a numeric result string with spaces. + space, +}; + +template +auto write_padding(OutputIt out, pad_type pad, int width) -> OutputIt { + if (pad == pad_type::none) return out; + return std::fill_n(out, width, pad == pad_type::space ? ' ' : '0'); +} + +template +auto write_padding(OutputIt out, pad_type pad) -> OutputIt { + if (pad != pad_type::none) *out++ = pad == pad_type::space ? ' ' : '0'; + return out; +} + // Parses a put_time-like format string and invokes handler actions. template FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, const Char* end, Handler&& handler) { + if (begin == end || *begin == '}') return begin; + if (*begin != '%') FMT_THROW(format_error("invalid format")); auto ptr = begin; + pad_type pad = pad_type::unspecified; while (ptr != end) { auto c = *ptr; if (c == '}') break; @@ -615,6 +681,22 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, if (begin != ptr) handler.on_text(begin, ptr); ++ptr; // consume '%' if (ptr == end) FMT_THROW(format_error("invalid format")); + c = *ptr; + switch (c) { + case '_': + pad = pad_type::space; + ++ptr; + break; + case '-': + pad = pad_type::none; + ++ptr; + break; + case '0': + pad = pad_type::zero; + ++ptr; + break; + } + if (ptr == end) FMT_THROW(format_error("invalid format")); c = *ptr++; switch (c) { case '%': @@ -691,16 +773,16 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, break; // Hour, minute, second: case 'H': - handler.on_24_hour(numeric_system::standard); + handler.on_24_hour(numeric_system::standard, pad); break; case 'I': - handler.on_12_hour(numeric_system::standard); + handler.on_12_hour(numeric_system::standard, pad); break; case 'M': - handler.on_minute(numeric_system::standard); + handler.on_minute(numeric_system::standard, pad); break; case 'S': - handler.on_second(numeric_system::standard); + handler.on_second(numeric_system::standard, pad); break; // Other: case 'c': @@ -737,7 +819,7 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, handler.on_duration_unit(); break; case 'z': - handler.on_utc_offset(); + handler.on_utc_offset(numeric_system::standard); break; case 'Z': handler.on_tz_name(); @@ -765,6 +847,9 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, case 'X': handler.on_loc_time(numeric_system::alternative); break; + case 'z': + handler.on_utc_offset(numeric_system::alternative); + break; default: FMT_THROW(format_error("invalid format")); } @@ -802,16 +887,19 @@ FMT_CONSTEXPR const Char* parse_chrono_format(const Char* begin, handler.on_dec1_weekday(numeric_system::alternative); break; case 'H': - handler.on_24_hour(numeric_system::alternative); + handler.on_24_hour(numeric_system::alternative, pad); break; case 'I': - handler.on_12_hour(numeric_system::alternative); + handler.on_12_hour(numeric_system::alternative, pad); break; case 'M': - handler.on_minute(numeric_system::alternative); + handler.on_minute(numeric_system::alternative, pad); break; case 'S': - handler.on_second(numeric_system::alternative); + handler.on_second(numeric_system::alternative, pad); + break; + case 'z': + handler.on_utc_offset(numeric_system::alternative); break; default: FMT_THROW(format_error("invalid format")); @@ -864,7 +952,7 @@ template struct null_chrono_spec_handler { FMT_CONSTEXPR void on_am_pm() { unsupported(); } FMT_CONSTEXPR void on_duration_value() { unsupported(); } FMT_CONSTEXPR void on_duration_unit() { unsupported(); } - FMT_CONSTEXPR void on_utc_offset() { unsupported(); } + FMT_CONSTEXPR void on_utc_offset(numeric_system) { unsupported(); } FMT_CONSTEXPR void on_tz_name() { unsupported(); } }; @@ -892,10 +980,10 @@ struct tm_format_checker : null_chrono_spec_handler { FMT_CONSTEXPR void on_day_of_year() {} FMT_CONSTEXPR void on_day_of_month(numeric_system) {} FMT_CONSTEXPR void on_day_of_month_space(numeric_system) {} - FMT_CONSTEXPR void on_24_hour(numeric_system) {} - FMT_CONSTEXPR void on_12_hour(numeric_system) {} - FMT_CONSTEXPR void on_minute(numeric_system) {} - FMT_CONSTEXPR void on_second(numeric_system) {} + FMT_CONSTEXPR void on_24_hour(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_12_hour(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_minute(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_second(numeric_system, pad_type) {} FMT_CONSTEXPR void on_datetime(numeric_system) {} FMT_CONSTEXPR void on_loc_date(numeric_system) {} FMT_CONSTEXPR void on_loc_time(numeric_system) {} @@ -905,7 +993,7 @@ struct tm_format_checker : null_chrono_spec_handler { FMT_CONSTEXPR void on_24_hour_time() {} FMT_CONSTEXPR void on_iso_time() {} FMT_CONSTEXPR void on_am_pm() {} - FMT_CONSTEXPR void on_utc_offset() {} + FMT_CONSTEXPR void on_utc_offset(numeric_system) {} FMT_CONSTEXPR void on_tz_name() {} }; @@ -957,13 +1045,130 @@ inline void tzset_once() { } #endif -template class tm_writer { +// Converts value to Int and checks that it's in the range [0, upper). +template ::value)> +inline Int to_nonnegative_int(T value, Int upper) { + FMT_ASSERT(std::is_unsigned::value || + (value >= 0 && to_unsigned(value) <= to_unsigned(upper)), + "invalid value"); + (void)upper; + return static_cast(value); +} +template ::value)> +inline Int to_nonnegative_int(T value, Int upper) { + if (value < 0 || value > static_cast(upper)) + FMT_THROW(format_error("invalid value")); + return static_cast(value); +} + +constexpr long long pow10(std::uint32_t n) { + return n == 0 ? 1 : 10 * pow10(n - 1); +} + +// Counts the number of fractional digits in the range [0, 18] according to the +// C++20 spec. If more than 18 fractional digits are required then returns 6 for +// microseconds precision. +template () / 10)> +struct count_fractional_digits { + static constexpr int value = + Num % Den == 0 ? N : count_fractional_digits::value; +}; + +// Base case that doesn't instantiate any more templates +// in order to avoid overflow. +template +struct count_fractional_digits { + static constexpr int value = (Num % Den == 0) ? N : 6; +}; + +// Format subseconds which are given as an integer type with an appropriate +// number of digits. +template +void write_fractional_seconds(OutputIt& out, Duration d, int precision = -1) { + constexpr auto num_fractional_digits = + count_fractional_digits::value; + + using subsecond_precision = std::chrono::duration< + typename std::common_type::type, + std::ratio<1, detail::pow10(num_fractional_digits)>>; + + const auto fractional = + d - std::chrono::duration_cast(d); + const auto subseconds = + std::chrono::treat_as_floating_point< + typename subsecond_precision::rep>::value + ? fractional.count() + : std::chrono::duration_cast(fractional).count(); + auto n = static_cast>(subseconds); + const int num_digits = detail::count_digits(n); + + int leading_zeroes = (std::max)(0, num_fractional_digits - num_digits); + if (precision < 0) { + FMT_ASSERT(!std::is_floating_point::value, ""); + if (std::ratio_less::value) { + *out++ = '.'; + out = std::fill_n(out, leading_zeroes, '0'); + out = format_decimal(out, n, num_digits).end; + } + } else { + *out++ = '.'; + leading_zeroes = (std::min)(leading_zeroes, precision); + out = std::fill_n(out, leading_zeroes, '0'); + int remaining = precision - leading_zeroes; + if (remaining != 0 && remaining < num_digits) { + n /= to_unsigned(detail::pow10(to_unsigned(num_digits - remaining))); + out = format_decimal(out, n, remaining).end; + return; + } + out = format_decimal(out, n, num_digits).end; + remaining -= num_digits; + out = std::fill_n(out, remaining, '0'); + } +} + +// Format subseconds which are given as a floating point type with an +// appropriate number of digits. We cannot pass the Duration here, as we +// explicitly need to pass the Rep value in the chrono_formatter. +template +void write_floating_seconds(memory_buffer& buf, Duration duration, + int num_fractional_digits = -1) { + using rep = typename Duration::rep; + FMT_ASSERT(std::is_floating_point::value, ""); + + auto val = duration.count(); + + if (num_fractional_digits < 0) { + // For `std::round` with fallback to `round`: + // On some toolchains `std::round` is not available (e.g. GCC 6). + using namespace std; + num_fractional_digits = + count_fractional_digits::value; + if (num_fractional_digits < 6 && static_cast(round(val)) != val) + num_fractional_digits = 6; + } + + format_to(std::back_inserter(buf), FMT_STRING("{:.{}f}"), + std::fmod(val * static_cast(Duration::period::num) / + static_cast(Duration::period::den), + static_cast(60)), + num_fractional_digits); +} + +template +class tm_writer { private: static constexpr int days_per_week = 7; const std::locale& loc_; const bool is_classic_; OutputIt out_; + const Duration* subsecs_; const std::tm& tm_; auto tm_sec() const noexcept -> int { @@ -1051,6 +1256,17 @@ template class tm_writer { *out_++ = *d++; *out_++ = *d; } + void write2(int value, pad_type pad) { + unsigned int v = to_unsigned(value) % 100; + if (v >= 10) { + const char* d = digits2(v); + *out_++ = *d++; + *out_++ = *d; + } else { + out_ = detail::write_padding(out_, pad); + *out_++ = static_cast('0' + v); + } + } void write_year_extended(long long year) { // At least 4 characters. @@ -1074,7 +1290,7 @@ template class tm_writer { } } - void write_utc_offset(long offset) { + void write_utc_offset(long offset, numeric_system ns) { if (offset < 0) { *out_++ = '-'; offset = -offset; @@ -1083,14 +1299,15 @@ template class tm_writer { } offset /= 60; write2(static_cast(offset / 60)); + if (ns != numeric_system::standard) *out_++ = ':'; write2(static_cast(offset % 60)); } template ::value)> - void format_utc_offset_impl(const T& tm) { - write_utc_offset(tm.tm_gmtoff); + void format_utc_offset_impl(const T& tm, numeric_system ns) { + write_utc_offset(tm.tm_gmtoff, ns); } template ::value)> - void format_utc_offset_impl(const T& tm) { + void format_utc_offset_impl(const T& tm, numeric_system ns) { #if defined(_WIN32) && defined(_UCRT) # if FMT_USE_TZSET tzset_once(); @@ -1102,10 +1319,17 @@ template class tm_writer { _get_dstbias(&dstbias); offset += dstbias; } - write_utc_offset(-offset); + write_utc_offset(-offset, ns); #else - ignore_unused(tm); - format_localized('z'); + if (ns == numeric_system::standard) return format_localized('z'); + + // Extract timezone offset from timezone conversion functions. + std::tm gtm = tm; + std::time_t gt = std::mktime(>m); + std::tm ltm = gmtime(gt); + std::time_t lt = std::mktime(<m); + long offset = gt - lt; + write_utc_offset(offset, ns); #endif } @@ -1126,10 +1350,12 @@ template class tm_writer { } public: - tm_writer(const std::locale& loc, OutputIt out, const std::tm& tm) + tm_writer(const std::locale& loc, OutputIt out, const std::tm& tm, + const Duration* subsecs = nullptr) : loc_(loc), is_classic_(loc_ == get_classic_locale()), out_(out), + subsecs_(subsecs), tm_(tm) {} OutputIt out() const { return out_; } @@ -1227,7 +1453,7 @@ template class tm_writer { out_ = copy_str(std::begin(buf) + offset, std::end(buf), out_); } - void on_utc_offset() { format_utc_offset_impl(tm_); } + void on_utc_offset(numeric_system ns) { format_utc_offset_impl(tm_, ns); } void on_tz_name() { format_tz_name_impl(tm_); } void on_year(numeric_system ns) { @@ -1315,22 +1541,41 @@ template class tm_writer { } } - void on_24_hour(numeric_system ns) { - if (is_classic_ || ns == numeric_system::standard) return write2(tm_hour()); + void on_24_hour(numeric_system ns, pad_type pad) { + if (is_classic_ || ns == numeric_system::standard) + return write2(tm_hour(), pad); format_localized('H', 'O'); } - void on_12_hour(numeric_system ns) { + void on_12_hour(numeric_system ns, pad_type pad) { if (is_classic_ || ns == numeric_system::standard) - return write2(tm_hour12()); + return write2(tm_hour12(), pad); format_localized('I', 'O'); } - void on_minute(numeric_system ns) { - if (is_classic_ || ns == numeric_system::standard) return write2(tm_min()); + void on_minute(numeric_system ns, pad_type pad) { + if (is_classic_ || ns == numeric_system::standard) + return write2(tm_min(), pad); format_localized('M', 'O'); } - void on_second(numeric_system ns) { - if (is_classic_ || ns == numeric_system::standard) return write2(tm_sec()); - format_localized('S', 'O'); + + void on_second(numeric_system ns, pad_type pad) { + if (is_classic_ || ns == numeric_system::standard) { + write2(tm_sec(), pad); + if (subsecs_) { + if (std::is_floating_point::value) { + auto buf = memory_buffer(); + write_floating_seconds(buf, *subsecs_); + if (buf.size() > 1) { + // Remove the leading "0", write something like ".123". + out_ = std::copy(buf.begin() + 1, buf.end(), out_); + } + } else { + write_fractional_seconds(out_, *subsecs_); + } + } + } else { + // Currently no formatting of subseconds when a locale is set. + format_localized('S', 'O'); + } } void on_12_hour_time() { @@ -1351,10 +1596,9 @@ template class tm_writer { write2(tm_min()); } void on_iso_time() { - char buf[8]; - write_digit2_separated(buf, to_unsigned(tm_hour()), to_unsigned(tm_min()), - to_unsigned(tm_sec()), ':'); - out_ = copy_str(std::begin(buf), std::end(buf), out_); + on_24_hour_time(); + *out_++ = ':'; + on_second(numeric_system::standard, pad_type::unspecified); } void on_am_pm() { @@ -1372,42 +1616,34 @@ template class tm_writer { }; struct chrono_format_checker : null_chrono_spec_handler { + bool has_precision_integral = false; + FMT_NORETURN void unsupported() { FMT_THROW(format_error("no date")); } template FMT_CONSTEXPR void on_text(const Char*, const Char*) {} - FMT_CONSTEXPR void on_24_hour(numeric_system) {} - FMT_CONSTEXPR void on_12_hour(numeric_system) {} - FMT_CONSTEXPR void on_minute(numeric_system) {} - FMT_CONSTEXPR void on_second(numeric_system) {} + FMT_CONSTEXPR void on_24_hour(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_12_hour(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_minute(numeric_system, pad_type) {} + FMT_CONSTEXPR void on_second(numeric_system, pad_type) {} FMT_CONSTEXPR void on_12_hour_time() {} FMT_CONSTEXPR void on_24_hour_time() {} FMT_CONSTEXPR void on_iso_time() {} FMT_CONSTEXPR void on_am_pm() {} - FMT_CONSTEXPR void on_duration_value() {} + FMT_CONSTEXPR void on_duration_value() const { + if (has_precision_integral) { + FMT_THROW(format_error("precision not allowed for this argument type")); + } + } FMT_CONSTEXPR void on_duration_unit() {} }; -template ::value)> +template ::value&& has_isfinite::value)> inline bool isfinite(T) { return true; } -// Converts value to Int and checks that it's in the range [0, upper). -template ::value)> -inline Int to_nonnegative_int(T value, Int upper) { - FMT_ASSERT(value >= 0 && to_unsigned(value) <= to_unsigned(upper), - "invalid value"); - (void)upper; - return static_cast(value); -} -template ::value)> -inline Int to_nonnegative_int(T value, Int upper) { - if (value < 0 || value > static_cast(upper)) - FMT_THROW(format_error("invalid value")); - return static_cast(value); -} - template ::value)> inline T mod(T x, int y) { return x % static_cast(y); @@ -1462,48 +1698,6 @@ inline std::chrono::duration get_milliseconds( #endif } -// Counts the number of fractional digits in the range [0, 18] according to the -// C++20 spec. If more than 18 fractional digits are required then returns 6 for -// microseconds precision. -template ::max() / 10)> -struct count_fractional_digits { - static constexpr int value = - Num % Den == 0 ? N : count_fractional_digits::value; -}; - -// Base case that doesn't instantiate any more templates -// in order to avoid overflow. -template -struct count_fractional_digits { - static constexpr int value = (Num % Den == 0) ? N : 6; -}; - -constexpr long long pow10(std::uint32_t n) { - return n == 0 ? 1 : 10 * pow10(n - 1); -} - -template ::is_signed)> -constexpr std::chrono::duration abs( - std::chrono::duration d) { - // We need to compare the duration using the count() method directly - // due to a compiler bug in clang-11 regarding the spaceship operator, - // when -Wzero-as-null-pointer-constant is enabled. - // In clang-12 the bug has been fixed. See - // https://bugs.llvm.org/show_bug.cgi?id=46235 and the reproducible example: - // https://www.godbolt.org/z/Knbb5joYx. - return d.count() >= d.zero().count() ? d : -d; -} - -template ::is_signed)> -constexpr std::chrono::duration abs( - std::chrono::duration d) { - return d; -} - template ::value)> OutputIt format_duration_value(OutputIt out, Rep val, int) { @@ -1513,7 +1707,7 @@ OutputIt format_duration_value(OutputIt out, Rep val, int) { template ::value)> OutputIt format_duration_value(OutputIt out, Rep val, int precision) { - auto specs = basic_format_specs(); + auto specs = format_specs(); specs.precision = precision; specs.type = precision >= 0 ? presentation_type::fixed_lower : presentation_type::general_lower; @@ -1654,44 +1848,16 @@ struct chrono_formatter { } } - void write(Rep value, int width) { + void write(Rep value, int width, pad_type pad = pad_type::unspecified) { write_sign(); if (isnan(value)) return write_nan(); uint32_or_64_or_128_t n = to_unsigned(to_nonnegative_int(value, max_value())); int num_digits = detail::count_digits(n); - if (width > num_digits) out = std::fill_n(out, width - num_digits, '0'); - out = format_decimal(out, n, num_digits).end; - } - - template void write_fractional_seconds(Duration d) { - FMT_ASSERT(!std::is_floating_point::value, ""); - constexpr auto num_fractional_digits = - count_fractional_digits::value; - - using subsecond_precision = std::chrono::duration< - typename std::common_type::type, - std::ratio<1, detail::pow10(num_fractional_digits)>>; - if (std::ratio_less::value) { - *out++ = '.'; - auto fractional = - detail::abs(d) - std::chrono::duration_cast(d); - auto subseconds = - std::chrono::treat_as_floating_point< - typename subsecond_precision::rep>::value - ? fractional.count() - : std::chrono::duration_cast(fractional) - .count(); - uint32_or_64_or_128_t n = - to_unsigned(to_nonnegative_int(subseconds, max_value())); - int num_digits = detail::count_digits(n); - if (num_fractional_digits > num_digits) - out = std::fill_n(out, num_fractional_digits - num_digits, '0'); - out = format_decimal(out, n, num_digits).end; + if (width > num_digits) { + out = detail::write_padding(out, pad, width - num_digits); } + out = format_decimal(out, n, num_digits).end; } void write_nan() { std::copy_n("nan", 3, out); } @@ -1723,7 +1889,7 @@ struct chrono_formatter { void on_loc_time(numeric_system) {} void on_us_date() {} void on_iso_date() {} - void on_utc_offset() {} + void on_utc_offset(numeric_system) {} void on_tz_name() {} void on_year(numeric_system) {} void on_short_year(numeric_system) {} @@ -1739,58 +1905,56 @@ struct chrono_formatter { void on_day_of_month(numeric_system) {} void on_day_of_month_space(numeric_system) {} - void on_24_hour(numeric_system ns) { + void on_24_hour(numeric_system ns, pad_type pad) { if (handle_nan_inf()) return; - if (ns == numeric_system::standard) return write(hour(), 2); + if (ns == numeric_system::standard) return write(hour(), 2, pad); auto time = tm(); time.tm_hour = to_nonnegative_int(hour(), 24); - format_tm(time, &tm_writer_type::on_24_hour, ns); + format_tm(time, &tm_writer_type::on_24_hour, ns, pad); } - void on_12_hour(numeric_system ns) { + void on_12_hour(numeric_system ns, pad_type pad) { if (handle_nan_inf()) return; - if (ns == numeric_system::standard) return write(hour12(), 2); + if (ns == numeric_system::standard) return write(hour12(), 2, pad); auto time = tm(); time.tm_hour = to_nonnegative_int(hour12(), 12); - format_tm(time, &tm_writer_type::on_12_hour, ns); + format_tm(time, &tm_writer_type::on_12_hour, ns, pad); } - void on_minute(numeric_system ns) { + void on_minute(numeric_system ns, pad_type pad) { if (handle_nan_inf()) return; - if (ns == numeric_system::standard) return write(minute(), 2); + if (ns == numeric_system::standard) return write(minute(), 2, pad); auto time = tm(); time.tm_min = to_nonnegative_int(minute(), 60); - format_tm(time, &tm_writer_type::on_minute, ns); + format_tm(time, &tm_writer_type::on_minute, ns, pad); } - void on_second(numeric_system ns) { + void on_second(numeric_system ns, pad_type pad) { if (handle_nan_inf()) return; if (ns == numeric_system::standard) { if (std::is_floating_point::value) { - constexpr auto num_fractional_digits = - count_fractional_digits::value; auto buf = memory_buffer(); - format_to(std::back_inserter(buf), runtime("{:.{}f}"), - std::fmod(val * static_cast(Period::num) / - static_cast(Period::den), - 60), - num_fractional_digits); + write_floating_seconds(buf, std::chrono::duration(val), + precision); if (negative) *out++ = '-'; - if (buf.size() < 2 || buf[1] == '.') *out++ = '0'; + if (buf.size() < 2 || buf[1] == '.') { + out = detail::write_padding(out, pad); + } out = std::copy(buf.begin(), buf.end(), out); } else { - write(second(), 2); - write_fractional_seconds(std::chrono::duration(val)); + write(second(), 2, pad); + write_fractional_seconds( + out, std::chrono::duration(val), precision); } return; } auto time = tm(); time.tm_sec = to_nonnegative_int(second(), 60); - format_tm(time, &tm_writer_type::on_second, ns); + format_tm(time, &tm_writer_type::on_second, ns, pad); } void on_12_hour_time() { @@ -1814,7 +1978,7 @@ struct chrono_formatter { on_24_hour_time(); *out++ = ':'; if (handle_nan_inf()) return; - on_second(numeric_system::standard); + on_second(numeric_system::standard, pad_type::unspecified); } void on_am_pm() { @@ -1883,7 +2047,7 @@ template struct formatter { template struct formatter, Char> { private: - basic_format_specs specs; + format_specs specs; int precision = -1; using arg_ref_type = detail::arg_ref; arg_ref_type width_ref; @@ -1892,45 +2056,6 @@ struct formatter, Char> { basic_string_view format_str; using duration = std::chrono::duration; - struct spec_handler { - formatter& f; - basic_format_parse_context& context; - basic_string_view format_str; - - template FMT_CONSTEXPR arg_ref_type make_arg_ref(Id arg_id) { - context.check_arg_id(arg_id); - return arg_ref_type(arg_id); - } - - FMT_CONSTEXPR arg_ref_type make_arg_ref(basic_string_view arg_id) { - context.check_arg_id(arg_id); - return arg_ref_type(arg_id); - } - - FMT_CONSTEXPR arg_ref_type make_arg_ref(detail::auto_id) { - return arg_ref_type(context.next_arg_id()); - } - - void on_error(const char* msg) { FMT_THROW(format_error(msg)); } - FMT_CONSTEXPR void on_fill(basic_string_view fill) { - f.specs.fill = fill; - } - FMT_CONSTEXPR void on_align(align_t align) { f.specs.align = align; } - FMT_CONSTEXPR void on_width(int width) { f.specs.width = width; } - FMT_CONSTEXPR void on_precision(int _precision) { - f.precision = _precision; - } - FMT_CONSTEXPR void end_precision() {} - - template FMT_CONSTEXPR void on_dynamic_width(Id arg_id) { - f.width_ref = make_arg_ref(arg_id); - } - - template FMT_CONSTEXPR void on_dynamic_precision(Id arg_id) { - f.precision_ref = make_arg_ref(arg_id); - } - }; - using iterator = typename basic_format_parse_context::iterator; struct parse_range { iterator begin; @@ -1940,23 +2065,24 @@ struct formatter, Char> { FMT_CONSTEXPR parse_range do_parse(basic_format_parse_context& ctx) { auto begin = ctx.begin(), end = ctx.end(); if (begin == end || *begin == '}') return {begin, begin}; - spec_handler handler{*this, ctx, format_str}; - begin = detail::parse_align(begin, end, handler); + + begin = detail::parse_align(begin, end, specs); if (begin == end) return {begin, begin}; - begin = detail::parse_width(begin, end, handler); + + begin = detail::parse_dynamic_spec(begin, end, specs.width, width_ref, ctx); if (begin == end) return {begin, begin}; + + auto checker = detail::chrono_format_checker(); if (*begin == '.') { - if (std::is_floating_point::value) - begin = detail::parse_precision(begin, end, handler); - else - handler.on_error("precision not allowed for this argument type"); + checker.has_precision_integral = !std::is_floating_point::value; + begin = + detail::parse_precision(begin, end, precision, precision_ref, ctx); } if (begin != end && *begin == 'L') { ++begin; localized = true; } - end = detail::parse_chrono_format(begin, end, - detail::chrono_format_checker()); + end = detail::parse_chrono_format(begin, end, checker); return {begin, end}; } @@ -2002,80 +2128,140 @@ template struct formatter, Char> : formatter { FMT_CONSTEXPR formatter() { - this->do_parse(default_specs, - default_specs + sizeof(default_specs) / sizeof(Char)); - } - - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { - return this->do_parse(ctx.begin(), ctx.end(), true); + this->format_str = detail::string_literal{}; } template - auto format(std::chrono::time_point val, + auto format(std::chrono::time_point val, FormatContext& ctx) const -> decltype(ctx.out()) { - return formatter::format(localtime(val), ctx); - } + using period = typename Duration::period; + if (period::num != 1 || period::den != 1 || + std::is_floating_point::value) { + const auto epoch = val.time_since_epoch(); + auto subsecs = std::chrono::duration_cast( + epoch - std::chrono::duration_cast(epoch)); - static constexpr const Char default_specs[] = {'%', 'F', ' ', '%', 'T'}; + if (subsecs.count() < 0) { + auto second = std::chrono::seconds(1); + if (epoch.count() < ((Duration::min)() + second).count()) + FMT_THROW(format_error("duration is too small")); + subsecs += second; + val -= second; + } + + return formatter::do_format( + gmtime(std::chrono::time_point_cast(val)), ctx, + &subsecs); + } + + return formatter::format( + gmtime(std::chrono::time_point_cast(val)), ctx); + } }; +#if FMT_USE_LOCAL_TIME template -constexpr const Char - formatter, - Char>::default_specs[]; +struct formatter, Char> + : formatter { + FMT_CONSTEXPR formatter() { + this->format_str = detail::string_literal{}; + } + + template + auto format(std::chrono::local_time val, FormatContext& ctx) const + -> decltype(ctx.out()) { + using period = typename Duration::period; + if (period::num != 1 || period::den != 1 || + std::is_floating_point::value) { + const auto epoch = val.time_since_epoch(); + const auto subsecs = std::chrono::duration_cast( + epoch - std::chrono::duration_cast(epoch)); + + return formatter::do_format( + localtime(std::chrono::time_point_cast(val)), + ctx, &subsecs); + } + + return formatter::format( + localtime(std::chrono::time_point_cast(val)), + ctx); + } +}; +#endif + +#if FMT_USE_UTC_TIME +template +struct formatter, + Char> + : formatter, + Char> { + template + auto format(std::chrono::time_point val, + FormatContext& ctx) const -> decltype(ctx.out()) { + return formatter< + std::chrono::time_point, + Char>::format(std::chrono::utc_clock::to_sys(val), ctx); + } +}; +#endif template struct formatter { private: - enum class spec { - unknown, - year_month_day, - hh_mm_ss, - }; - spec spec_ = spec::unknown; - basic_string_view specs; + format_specs specs; + detail::arg_ref width_ref; protected: - template - FMT_CONSTEXPR auto do_parse(It begin, It end, bool with_default = false) - -> It { - if (begin != end && *begin == ':') ++begin; + basic_string_view format_str; + + FMT_CONSTEXPR auto do_parse(basic_format_parse_context& ctx) + -> decltype(ctx.begin()) { + auto begin = ctx.begin(), end = ctx.end(); + if (begin == end || *begin == '}') return begin; + + begin = detail::parse_align(begin, end, specs); + if (begin == end) return end; + + begin = detail::parse_dynamic_spec(begin, end, specs.width, width_ref, ctx); + if (begin == end) return end; + end = detail::parse_chrono_format(begin, end, detail::tm_format_checker()); - if (!with_default || end != begin) - specs = {begin, detail::to_unsigned(end - begin)}; - // basic_string_view<>::compare isn't constexpr before C++17. - if (specs.size() == 2 && specs[0] == Char('%')) { - if (specs[1] == Char('F')) - spec_ = spec::year_month_day; - else if (specs[1] == Char('T')) - spec_ = spec::hh_mm_ss; - } + // Replace default format_str only if the new spec is not empty. + if (end != begin) format_str = {begin, detail::to_unsigned(end - begin)}; return end; } + template + auto do_format(const std::tm& tm, FormatContext& ctx, + const Duration* subsecs) const -> decltype(ctx.out()) { + auto specs_copy = specs; + basic_memory_buffer buf; + auto out = std::back_inserter(buf); + detail::handle_dynamic_spec(specs_copy.width, + width_ref, ctx); + + const auto loc_ref = ctx.locale(); + detail::get_locale loc(static_cast(loc_ref), loc_ref); + auto w = + detail::tm_writer(loc, out, tm, subsecs); + detail::parse_chrono_format(format_str.begin(), format_str.end(), w); + return detail::write( + ctx.out(), basic_string_view(buf.data(), buf.size()), specs_copy); + } + public: - template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { - return this->do_parse(ctx.begin(), ctx.end()); + FMT_CONSTEXPR auto parse(basic_format_parse_context& ctx) + -> decltype(ctx.begin()) { + return this->do_parse(ctx); } template auto format(const std::tm& tm, FormatContext& ctx) const -> decltype(ctx.out()) { - const auto loc_ref = ctx.locale(); - detail::get_locale loc(static_cast(loc_ref), loc_ref); - auto w = detail::tm_writer(loc, ctx.out(), tm); - if (spec_ == spec::year_month_day) - w.on_iso_date(); - else if (spec_ == spec::hh_mm_ss) - w.on_iso_time(); - else - detail::parse_chrono_format(specs.begin(), specs.end(), w); - return w.out(); + return do_format(tm, ctx, nullptr); } }; -FMT_MODULE_EXPORT_END +FMT_END_EXPORT FMT_END_NAMESPACE #endif // FMT_CHRONO_H_ diff --git a/vendor/Fmt/include/fmt/color.h b/vendor/Fmt/include/fmt/color.h index 8e26dfa3..d175448a 100644 --- a/vendor/Fmt/include/fmt/color.h +++ b/vendor/Fmt/include/fmt/color.h @@ -10,15 +10,8 @@ #include "format.h" -// __declspec(deprecated) is broken in some MSVC versions. -#if FMT_MSC_VER -# define FMT_DEPRECATED_NONMSVC -#else -# define FMT_DEPRECATED_NONMSVC FMT_DEPRECATED -#endif - FMT_BEGIN_NAMESPACE -FMT_MODULE_EXPORT_BEGIN +FMT_BEGIN_EXPORT enum class color : uint32_t { alice_blue = 0xF0F8FF, // rgb(240,248,255) @@ -270,16 +263,6 @@ class text_style { return lhs |= rhs; } - FMT_DEPRECATED_NONMSVC FMT_CONSTEXPR text_style& operator&=( - const text_style& rhs) { - return and_assign(rhs); - } - - FMT_DEPRECATED_NONMSVC friend FMT_CONSTEXPR text_style - operator&(text_style lhs, const text_style& rhs) { - return lhs.and_assign(rhs); - } - FMT_CONSTEXPR bool has_foreground() const noexcept { return set_foreground_color; } @@ -315,36 +298,9 @@ class text_style { } } - // DEPRECATED! - FMT_CONSTEXPR text_style& and_assign(const text_style& rhs) { - if (!set_foreground_color) { - set_foreground_color = rhs.set_foreground_color; - foreground_color = rhs.foreground_color; - } else if (rhs.set_foreground_color) { - if (!foreground_color.is_rgb || !rhs.foreground_color.is_rgb) - FMT_THROW(format_error("can't AND a terminal color")); - foreground_color.value.rgb_color &= rhs.foreground_color.value.rgb_color; - } + friend FMT_CONSTEXPR text_style fg(detail::color_type foreground) noexcept; - if (!set_background_color) { - set_background_color = rhs.set_background_color; - background_color = rhs.background_color; - } else if (rhs.set_background_color) { - if (!background_color.is_rgb || !rhs.background_color.is_rgb) - FMT_THROW(format_error("can't AND a terminal color")); - background_color.value.rgb_color &= rhs.background_color.value.rgb_color; - } - - ems = static_cast(static_cast(ems) & - static_cast(rhs.ems)); - return *this; - } - - friend FMT_CONSTEXPR_DECL text_style - fg(detail::color_type foreground) noexcept; - - friend FMT_CONSTEXPR_DECL text_style - bg(detail::color_type background) noexcept; + friend FMT_CONSTEXPR text_style bg(detail::color_type background) noexcept; detail::color_type foreground_color; detail::color_type background_color; @@ -467,26 +423,6 @@ FMT_CONSTEXPR ansi_color_escape make_emphasis(emphasis em) noexcept { return ansi_color_escape(em); } -template inline void fputs(const Char* chars, FILE* stream) { - int result = std::fputs(chars, stream); - if (result < 0) - FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); -} - -template <> inline void fputs(const wchar_t* chars, FILE* stream) { - int result = std::fputws(chars, stream); - if (result < 0) - FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); -} - -template inline void reset_color(FILE* stream) { - fputs("\x1b[0m", stream); -} - -template <> inline void reset_color(FILE* stream) { - fputs(L"\x1b[0m", stream); -} - template inline void reset_color(buffer& buffer) { auto reset_color = string_view("\x1b[0m"); buffer.append(reset_color.begin(), reset_color.end()); @@ -523,17 +459,19 @@ void vformat_to(buffer& buf, const text_style& ts, FMT_END_DETAIL_NAMESPACE -template > -void vprint(std::FILE* f, const text_style& ts, const S& format, - basic_format_args>> args) { - basic_memory_buffer buf; - detail::vformat_to(buf, ts, to_string_view(format), args); +inline void vprint(std::FILE* f, const text_style& ts, string_view fmt, + format_args args) { + // Legacy wide streams are not supported. + auto buf = memory_buffer(); + detail::vformat_to(buf, ts, fmt, args); if (detail::is_utf8()) { - detail::print(f, basic_string_view(buf.begin(), buf.size())); - } else { - buf.push_back(Char(0)); - detail::fputs(buf.data(), f); + detail::print(f, string_view(buf.begin(), buf.size())); + return; } + buf.push_back('\0'); + int result = std::fputs(buf.data(), f); + if (result < 0) + FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); } /** @@ -577,7 +515,7 @@ inline std::basic_string vformat( const text_style& ts, const S& format_str, basic_format_args>> args) { basic_memory_buffer buf; - detail::vformat_to(buf, ts, to_string_view(format_str), args); + detail::vformat_to(buf, ts, detail::to_string_view(format_str), args); return fmt::to_string(buf); } @@ -596,7 +534,7 @@ inline std::basic_string vformat( template > inline std::basic_string format(const text_style& ts, const S& format_str, const Args&... args) { - return fmt::vformat(ts, to_string_view(format_str), + return fmt::vformat(ts, detail::to_string_view(format_str), fmt::make_format_args>(args...)); } @@ -610,7 +548,7 @@ OutputIt vformat_to( basic_format_args>> args) { auto&& buf = detail::get_buffer(out); detail::vformat_to(buf, ts, format_str, args); - return detail::get_iterator(buf); + return detail::get_iterator(buf, out); } /** @@ -631,7 +569,7 @@ template typename std::enable_if::type { - return vformat_to(out, ts, to_string_view(format_str), + return vformat_to(out, ts, detail::to_string_view(format_str), fmt::make_format_args>>(args...)); } @@ -678,8 +616,9 @@ struct formatter, Char> : formatter { **Example**:: - fmt::print("Elapsed time: {s:.2f} seconds", - fmt::styled(1.23, fmt::fg(fmt::colors::green) | fmt::bg(fmt::color::blue))); + fmt::print("Elapsed time: {0:.2f} seconds", + fmt::styled(1.23, fmt::fg(fmt::color::green) | + fmt::bg(fmt::color::blue))); \endrst */ template @@ -688,7 +627,7 @@ FMT_CONSTEXPR auto styled(const T& value, text_style ts) return detail::styled_arg>{value, ts}; } -FMT_MODULE_EXPORT_END +FMT_END_EXPORT FMT_END_NAMESPACE #endif // FMT_COLOR_H_ diff --git a/vendor/Fmt/include/fmt/compile.h b/vendor/Fmt/include/fmt/compile.h index b2bf1ba1..94e13c02 100644 --- a/vendor/Fmt/include/fmt/compile.h +++ b/vendor/Fmt/include/fmt/compile.h @@ -14,8 +14,8 @@ FMT_BEGIN_NAMESPACE namespace detail { template -inline counting_iterator copy_str(InputIt begin, InputIt end, - counting_iterator it) { +FMT_CONSTEXPR inline counting_iterator copy_str(InputIt begin, InputIt end, + counting_iterator it) { return it + (end - begin); } @@ -36,8 +36,7 @@ template class truncating_iterator_base { using difference_type = std::ptrdiff_t; using pointer = void; using reference = void; - using _Unchecked_type = - truncating_iterator_base; // Mark iterator as checked. + FMT_UNCHECKED_ITERATOR(truncating_iterator_base); OutputIt base() const { return out_; } size_t count() const { return count_; } @@ -124,7 +123,7 @@ struct is_compiled_string : std::is_base_of {}; # define FMT_COMPILE(s) FMT_STRING(s) #endif -#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS +#if FMT_USE_NONTYPE_TEMPLATE_ARGS template Str> struct udl_compiled_string : compiled_string { @@ -332,38 +331,35 @@ template struct parse_specs_result { int next_arg_id; }; -constexpr int manual_indexing_id = -1; +enum { manual_indexing_id = -1 }; template constexpr parse_specs_result parse_specs(basic_string_view str, size_t pos, int next_arg_id) { str.remove_prefix(pos); - auto ctx = basic_format_parse_context(str, {}, next_arg_id); + auto ctx = + compile_parse_context(str, max_value(), nullptr, next_arg_id); auto f = formatter(); auto end = f.parse(ctx); - return {f, pos + fmt::detail::to_unsigned(end - str.data()) + 1, + return {f, pos + fmt::detail::to_unsigned(end - str.data()), next_arg_id == 0 ? manual_indexing_id : ctx.next_arg_id()}; } template struct arg_id_handler { arg_ref arg_id; - constexpr int operator()() { + constexpr int on_auto() { FMT_ASSERT(false, "handler cannot be used with automatic indexing"); return 0; } - constexpr int operator()(int id) { + constexpr int on_index(int id) { arg_id = arg_ref(id); return 0; } - constexpr int operator()(basic_string_view id) { + constexpr int on_name(basic_string_view id) { arg_id = arg_ref(id); return 0; } - - constexpr void on_error(const char* message) { - FMT_THROW(format_error(message)); - } }; template struct parse_arg_id_result { @@ -397,13 +393,20 @@ constexpr auto parse_replacement_field_then_tail(S format_str) { return parse_tail( field::type, ARG_INDEX>(), format_str); - } else if constexpr (c == ':') { + } else if constexpr (c != ':') { + FMT_THROW(format_error("expected ':'")); + } else { constexpr auto result = parse_specs::type>( str, END_POS + 1, NEXT_ID == manual_indexing_id ? 0 : NEXT_ID); - return parse_tail( - spec_field::type, ARG_INDEX>{ - result.fmt}, - format_str); + if constexpr (result.end >= str.size() || str[result.end] != '}') { + FMT_THROW(format_error("expected '}'")); + return 0; + } else { + return parse_tail( + spec_field::type, ARG_INDEX>{ + result.fmt}, + format_str); + } } } @@ -494,7 +497,7 @@ constexpr auto compile(S format_str) { #endif // defined(__cpp_if_constexpr) && defined(__cpp_return_type_deduction) } // namespace detail -FMT_MODULE_EXPORT_BEGIN +FMT_BEGIN_EXPORT #if defined(__cpp_if_constexpr) && defined(__cpp_return_type_deduction) @@ -568,7 +571,8 @@ format_to_n_result format_to_n(OutputIt out, size_t n, template ::value)> -size_t formatted_size(const S& format_str, const Args&... args) { +FMT_CONSTEXPR20 size_t formatted_size(const S& format_str, + const Args&... args) { return fmt::format_to(detail::counting_iterator(), format_str, args...) .count(); } @@ -587,7 +591,7 @@ void print(const S& format_str, const Args&... args) { print(stdout, format_str, args...); } -#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS +#if FMT_USE_NONTYPE_TEMPLATE_ARGS inline namespace literals { template constexpr auto operator""_cf() { using char_t = remove_cvref_t; @@ -597,7 +601,7 @@ template constexpr auto operator""_cf() { } // namespace literals #endif -FMT_MODULE_EXPORT_END +FMT_END_EXPORT FMT_END_NAMESPACE #endif // FMT_COMPILE_H_ diff --git a/vendor/Fmt/include/fmt/core.h b/vendor/Fmt/include/fmt/core.h index 1c81bbd2..46723d59 100644 --- a/vendor/Fmt/include/fmt/core.h +++ b/vendor/Fmt/include/fmt/core.h @@ -8,6 +8,7 @@ #ifndef FMT_CORE_H_ #define FMT_CORE_H_ +#include // std::byte #include // std::FILE #include // std::strlen #include @@ -16,7 +17,7 @@ #include // The fmt library version in the form major * 10000 + minor * 100 + patch. -#define FMT_VERSION 80102 +#define FMT_VERSION 100000 #if defined(__clang__) && !defined(__ibmxl__) # define FMT_CLANG_VERSION (__clang_major__ * 100 + __clang_minor__) @@ -48,36 +49,27 @@ # define FMT_ICC_VERSION 0 #endif -#ifdef __NVCOMPILER -# define FMT_NVCOMPILER_VERSION \ - (__NVCOMPILER_MAJOR__ * 100 + __NVCOMPILER_MINOR__) -#else -# define FMT_NVCOMPILER_VERSION 0 -#endif - -#ifdef __NVCC__ -# define FMT_NVCC __NVCC__ -#else -# define FMT_NVCC 0 -#endif - #ifdef _MSC_VER -# define FMT_MSC_VER _MSC_VER +# define FMT_MSC_VERSION _MSC_VER # define FMT_MSC_WARNING(...) __pragma(warning(__VA_ARGS__)) #else -# define FMT_MSC_VER 0 +# define FMT_MSC_VERSION 0 # define FMT_MSC_WARNING(...) #endif +#ifdef _MSVC_LANG +# define FMT_CPLUSPLUS _MSVC_LANG +#else +# define FMT_CPLUSPLUS __cplusplus +#endif + #ifdef __has_feature # define FMT_HAS_FEATURE(x) __has_feature(x) #else # define FMT_HAS_FEATURE(x) 0 #endif -#if defined(__has_include) && \ - (!defined(__INTELLISENSE__) || FMT_MSC_VER > 1900) && \ - (!FMT_ICC_VERSION || FMT_ICC_VERSION >= 1600) +#if defined(__has_include) || FMT_ICC_VERSION >= 1600 || FMT_MSC_VERSION > 1900 # define FMT_HAS_INCLUDE(x) __has_include(x) #else # define FMT_HAS_INCLUDE(x) 0 @@ -89,12 +81,6 @@ # define FMT_HAS_CPP_ATTRIBUTE(x) 0 #endif -#ifdef _MSVC_LANG -# define FMT_CPLUSPLUS _MSVC_LANG -#else -# define FMT_CPLUSPLUS __cplusplus -#endif - #define FMT_HAS_CPP14_ATTRIBUTE(attribute) \ (FMT_CPLUSPLUS >= 201402L && FMT_HAS_CPP_ATTRIBUTE(attribute)) @@ -104,37 +90,38 @@ // Check if relaxed C++14 constexpr is supported. // GCC doesn't allow throw in constexpr until version 6 (bug 67371). #ifndef FMT_USE_CONSTEXPR -# define FMT_USE_CONSTEXPR \ - (FMT_HAS_FEATURE(cxx_relaxed_constexpr) || FMT_MSC_VER >= 1912 || \ - (FMT_GCC_VERSION >= 600 && __cplusplus >= 201402L)) && \ - !FMT_NVCC && !FMT_ICC_VERSION +# if (FMT_HAS_FEATURE(cxx_relaxed_constexpr) || FMT_MSC_VERSION >= 1912 || \ + (FMT_GCC_VERSION >= 600 && FMT_CPLUSPLUS >= 201402L)) && \ + !FMT_ICC_VERSION && !defined(__NVCC__) +# define FMT_USE_CONSTEXPR 1 +# else +# define FMT_USE_CONSTEXPR 0 +# endif #endif #if FMT_USE_CONSTEXPR # define FMT_CONSTEXPR constexpr -# define FMT_CONSTEXPR_DECL constexpr #else # define FMT_CONSTEXPR -# define FMT_CONSTEXPR_DECL #endif -#if ((__cplusplus >= 202002L) && \ +#if ((FMT_CPLUSPLUS >= 202002L) && \ (!defined(_GLIBCXX_RELEASE) || _GLIBCXX_RELEASE > 9)) || \ - (__cplusplus >= 201709L && FMT_GCC_VERSION >= 1002) + (FMT_CPLUSPLUS >= 201709L && FMT_GCC_VERSION >= 1002) # define FMT_CONSTEXPR20 constexpr #else # define FMT_CONSTEXPR20 #endif -// Check if constexpr std::char_traits<>::compare,length is supported. +// Check if constexpr std::char_traits<>::{compare,length} are supported. #if defined(__GLIBCXX__) -# if __cplusplus >= 201703L && defined(_GLIBCXX_RELEASE) && \ +# if FMT_CPLUSPLUS >= 201703L && defined(_GLIBCXX_RELEASE) && \ _GLIBCXX_RELEASE >= 7 // GCC 7+ libstdc++ has _GLIBCXX_RELEASE. # define FMT_CONSTEXPR_CHAR_TRAITS constexpr # endif -#elif defined(_LIBCPP_VERSION) && __cplusplus >= 201703L && \ +#elif defined(_LIBCPP_VERSION) && FMT_CPLUSPLUS >= 201703L && \ _LIBCPP_VERSION >= 4000 # define FMT_CONSTEXPR_CHAR_TRAITS constexpr -#elif FMT_MSC_VER >= 1914 && _MSVC_LANG >= 201703L +#elif FMT_MSC_VERSION >= 1914 && FMT_CPLUSPLUS >= 201703L # define FMT_CONSTEXPR_CHAR_TRAITS constexpr #endif #ifndef FMT_CONSTEXPR_CHAR_TRAITS @@ -144,39 +131,21 @@ // Check if exceptions are disabled. #ifndef FMT_EXCEPTIONS # if (defined(__GNUC__) && !defined(__EXCEPTIONS)) || \ - FMT_MSC_VER && !_HAS_EXCEPTIONS + (FMT_MSC_VERSION && !_HAS_EXCEPTIONS) # define FMT_EXCEPTIONS 0 # else # define FMT_EXCEPTIONS 1 # endif #endif -// [[noreturn]] is disabled on MSVC and NVCC because of bogus unreachable code -// warnings. -#if FMT_EXCEPTIONS && FMT_HAS_CPP_ATTRIBUTE(noreturn) && !FMT_MSC_VER && \ - !FMT_NVCC +// Disable [[noreturn]] on MSVC/NVCC because of bogus unreachable code warnings. +#if FMT_EXCEPTIONS && FMT_HAS_CPP_ATTRIBUTE(noreturn) && !FMT_MSC_VERSION && \ + !defined(__NVCC__) # define FMT_NORETURN [[noreturn]] #else # define FMT_NORETURN #endif -#if __cplusplus == 201103L || __cplusplus == 201402L -# if defined(__INTEL_COMPILER) || defined(__PGI) -# define FMT_FALLTHROUGH -# elif defined(__clang__) -# define FMT_FALLTHROUGH [[clang::fallthrough]] -# elif FMT_GCC_VERSION >= 700 && \ - (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) -# define FMT_FALLTHROUGH [[gnu::fallthrough]] -# else -# define FMT_FALLTHROUGH -# endif -#elif FMT_HAS_CPP17_ATTRIBUTE(fallthrough) -# define FMT_FALLTHROUGH [[fallthrough]] -#else -# define FMT_FALLTHROUGH -#endif - #ifndef FMT_NODISCARD # if FMT_HAS_CPP17_ATTRIBUTE(nodiscard) # define FMT_NODISCARD [[nodiscard]] @@ -185,16 +154,6 @@ # endif #endif -#ifndef FMT_USE_FLOAT -# define FMT_USE_FLOAT 1 -#endif -#ifndef FMT_USE_DOUBLE -# define FMT_USE_DOUBLE 1 -#endif -#ifndef FMT_USE_LONG_DOUBLE -# define FMT_USE_LONG_DOUBLE 1 -#endif - #ifndef FMT_INLINE # if FMT_GCC_VERSION || FMT_CLANG_VERSION # define FMT_INLINE inline __attribute__((always_inline)) @@ -203,24 +162,20 @@ # endif #endif -#ifndef FMT_DEPRECATED -# if FMT_HAS_CPP14_ATTRIBUTE(deprecated) || FMT_MSC_VER >= 1900 -# define FMT_DEPRECATED [[deprecated]] -# else -# if (defined(__GNUC__) && !defined(__LCC__)) || defined(__clang__) -# define FMT_DEPRECATED __attribute__((deprecated)) -# elif FMT_MSC_VER -# define FMT_DEPRECATED __declspec(deprecated) -# else -# define FMT_DEPRECATED /* deprecated */ -# endif -# endif +// An inline std::forward replacement. +#define FMT_FORWARD(...) static_cast(__VA_ARGS__) + +#ifdef _MSC_VER +# define FMT_UNCHECKED_ITERATOR(It) \ + using _Unchecked_type = It // Mark iterator as checked. +#else +# define FMT_UNCHECKED_ITERATOR(It) using unchecked_type = It #endif #ifndef FMT_BEGIN_NAMESPACE # define FMT_BEGIN_NAMESPACE \ namespace fmt { \ - inline namespace v8 { + inline namespace v10 { # define FMT_END_NAMESPACE \ } \ } @@ -228,22 +183,18 @@ #ifndef FMT_MODULE_EXPORT # define FMT_MODULE_EXPORT -# define FMT_MODULE_EXPORT_BEGIN -# define FMT_MODULE_EXPORT_END -# define FMT_BEGIN_DETAIL_NAMESPACE namespace detail { -# define FMT_END_DETAIL_NAMESPACE } +# define FMT_BEGIN_EXPORT +# define FMT_END_EXPORT #endif #if !defined(FMT_HEADER_ONLY) && defined(_WIN32) -# define FMT_CLASS_API FMT_MSC_WARNING(suppress : 4275) -# ifdef FMT_EXPORT +# ifdef FMT_LIB_EXPORT # define FMT_API __declspec(dllexport) # elif defined(FMT_SHARED) # define FMT_API __declspec(dllimport) # endif #else -# define FMT_CLASS_API -# if defined(FMT_EXPORT) || defined(FMT_SHARED) +# if defined(FMT_LIB_EXPORT) || defined(FMT_SHARED) # if defined(__GNUC__) || defined(__clang__) # define FMT_API __attribute__((visibility("default"))) # endif @@ -254,26 +205,27 @@ #endif // libc++ supports string_view in pre-c++17. -#if (FMT_HAS_INCLUDE() && \ - (__cplusplus > 201402L || defined(_LIBCPP_VERSION))) || \ - (defined(_MSVC_LANG) && _MSVC_LANG > 201402L && _MSC_VER >= 1910) +#if FMT_HAS_INCLUDE() && \ + (FMT_CPLUSPLUS >= 201703L || defined(_LIBCPP_VERSION)) # include # define FMT_USE_STRING_VIEW -#elif FMT_HAS_INCLUDE("experimental/string_view") && __cplusplus >= 201402L +#elif FMT_HAS_INCLUDE("experimental/string_view") && FMT_CPLUSPLUS >= 201402L # include # define FMT_USE_EXPERIMENTAL_STRING_VIEW #endif #ifndef FMT_UNICODE -# define FMT_UNICODE !FMT_MSC_VER +# define FMT_UNICODE !FMT_MSC_VERSION #endif #ifndef FMT_CONSTEVAL -# if ((FMT_GCC_VERSION >= 1000 || FMT_CLANG_VERSION >= 1101) && \ - __cplusplus > 201703L && !defined(__apple_build_version__)) || \ - (defined(__cpp_consteval) && \ - (!FMT_MSC_VER || _MSC_FULL_VER >= 193030704)) -// consteval is broken in MSVC before VS2022 and Apple clang 13. +# if ((FMT_GCC_VERSION >= 1000 || FMT_CLANG_VERSION >= 1101) && \ + (!defined(__apple_build_version__) || \ + __apple_build_version__ >= 14000029L) && \ + FMT_CPLUSPLUS >= 202002L) || \ + (defined(__cpp_consteval) && \ + (!FMT_MSC_VERSION || _MSC_FULL_VER >= 193030704)) +// consteval is broken in MSVC before VS2022 and Apple clang before 14. # define FMT_CONSTEVAL consteval # define FMT_HAS_CONSTEVAL # else @@ -281,24 +233,31 @@ # endif #endif -#ifndef FMT_USE_NONTYPE_TEMPLATE_PARAMETERS -# if defined(__cpp_nontype_template_args) && \ - ((FMT_GCC_VERSION >= 903 && __cplusplus >= 201709L) || \ - __cpp_nontype_template_args >= 201911L) -# define FMT_USE_NONTYPE_TEMPLATE_PARAMETERS 1 +#ifndef FMT_USE_NONTYPE_TEMPLATE_ARGS +# if defined(__cpp_nontype_template_args) && \ + ((FMT_GCC_VERSION >= 903 && FMT_CPLUSPLUS >= 201709L) || \ + __cpp_nontype_template_args >= 201911L) && \ + !defined(__NVCOMPILER) && !defined(__LCC__) +# define FMT_USE_NONTYPE_TEMPLATE_ARGS 1 # else -# define FMT_USE_NONTYPE_TEMPLATE_PARAMETERS 0 +# define FMT_USE_NONTYPE_TEMPLATE_ARGS 0 # endif #endif +#if defined __cpp_inline_variables && __cpp_inline_variables >= 201606L +# define FMT_INLINE_VARIABLE inline +#else +# define FMT_INLINE_VARIABLE +#endif + // Enable minimal optimizations for more compact code in debug mode. FMT_GCC_PRAGMA("GCC push_options") -#if !defined(__OPTIMIZE__) && !FMT_NVCOMPILER_VERSION +#if !defined(__OPTIMIZE__) && !defined(__NVCOMPILER) && !defined(__LCC__) && \ + !defined(__CUDACC__) FMT_GCC_PRAGMA("GCC optimize(\"Og\")") #endif FMT_BEGIN_NAMESPACE -FMT_MODULE_EXPORT_BEGIN // Implementations of enable_if_t and other metafunctions for older systems. template @@ -327,19 +286,32 @@ struct monostate { #ifdef FMT_DOC # define FMT_ENABLE_IF(...) #else -# define FMT_ENABLE_IF(...) enable_if_t<(__VA_ARGS__), int> = 0 +# define FMT_ENABLE_IF(...) fmt::enable_if_t<(__VA_ARGS__), int> = 0 #endif -FMT_BEGIN_DETAIL_NAMESPACE +#ifdef __cpp_lib_byte +inline auto format_as(std::byte b) -> unsigned char { + return static_cast(b); +} +#endif -// Suppress "unused variable" warnings with the method described in +namespace detail { +// Suppresses "unused variable" warnings with the method described in // https://herbsutter.com/2009/10/18/mailbag-shutting-up-compiler-warnings/. // (void)var does not work on many Intel compilers. template FMT_CONSTEXPR void ignore_unused(const T&...) {} constexpr FMT_INLINE auto is_constant_evaluated( bool default_value = false) noexcept -> bool { -#ifdef __cpp_lib_is_constant_evaluated +// Workaround for incompatibility between libstdc++ consteval-based +// std::is_constant_evaluated() implementation and clang-14. +// https://github.com/fmtlib/fmt/issues/3247 +#if FMT_CPLUSPLUS >= 202002L && defined(_GLIBCXX_RELEASE) && \ + _GLIBCXX_RELEASE >= 12 && \ + (FMT_CLANG_VERSION >= 1400 && FMT_CLANG_VERSION < 1500) + ignore_unused(default_value); + return __builtin_is_constant_evaluated(); +#elif defined(__cpp_lib_is_constant_evaluated) ignore_unused(default_value); return std::is_constant_evaluated(); #else @@ -347,7 +319,7 @@ constexpr FMT_INLINE auto is_constant_evaluated( #endif } -// A function to suppress "conditional expression is constant" warnings. +// Suppresses "conditional expression is constant" warnings. template constexpr FMT_INLINE auto const_check(T value) -> T { return value; } @@ -357,14 +329,14 @@ FMT_NORETURN FMT_API void assert_fail(const char* file, int line, #ifndef FMT_ASSERT # ifdef NDEBUG -// FMT_ASSERT is not empty to avoid -Werror=empty-body. +// FMT_ASSERT is not empty to avoid -Wempty-body. # define FMT_ASSERT(condition, message) \ - ::fmt::detail::ignore_unused((condition), (message)) + fmt::detail::ignore_unused((condition), (message)) # else # define FMT_ASSERT(condition, message) \ ((condition) /* void() fails with -Winvalid-constexpr on clang 4.0.1 */ \ ? (void)0 \ - : ::fmt::detail::assert_fail(__FILE__, __LINE__, (message))) + : fmt::detail::assert_fail(__FILE__, __LINE__, (message))) # endif #endif @@ -379,10 +351,10 @@ template struct std_string_view {}; #ifdef FMT_USE_INT128 // Do nothing. -#elif defined(__SIZEOF_INT128__) && !FMT_NVCC && \ - !(FMT_CLANG_VERSION && FMT_MSC_VER) +#elif defined(__SIZEOF_INT128__) && !defined(__NVCC__) && \ + !(FMT_CLANG_VERSION && FMT_MSC_VERSION) # define FMT_USE_INT128 1 -using int128_opt = __int128_t; // An optional 128-bit integer. +using int128_opt = __int128_t; // An optional native 128-bit integer. using uint128_opt = __uint128_t; template inline auto convert_for_visit(T value) -> T { return value; @@ -401,20 +373,19 @@ template auto convert_for_visit(T) -> monostate { return {}; } template FMT_CONSTEXPR auto to_unsigned(Int value) -> typename std::make_unsigned::type { - FMT_ASSERT(value >= 0, "negative value"); + FMT_ASSERT(std::is_unsigned::value || value >= 0, "negative value"); return static_cast::type>(value); } -FMT_MSC_WARNING(suppress : 4566) constexpr unsigned char micro[] = "\u00B5"; +FMT_CONSTEXPR inline auto is_utf8() -> bool { + FMT_MSC_WARNING(suppress : 4566) constexpr unsigned char section[] = "\u00A7"; -constexpr auto is_utf8() -> bool { - // Avoid buggy sign extensions in MSVC's constant evaluation mode. - // https://developercommunity.visualstudio.com/t/C-difference-in-behavior-for-unsigned/1233612 + // Avoid buggy sign extensions in MSVC's constant evaluation mode (#2297). using uchar = unsigned char; - return FMT_UNICODE || (sizeof(micro) == 3 && uchar(micro[0]) == 0xC2 && - uchar(micro[1]) == 0xB5); + return FMT_UNICODE || (sizeof(section) == 3 && uchar(section[0]) == 0xC2 && + uchar(section[1]) == 0xA7); } -FMT_END_DETAIL_NAMESPACE +} // namespace detail /** An implementation of ``std::basic_string_view`` for pre-C++17. It provides a @@ -423,6 +394,7 @@ FMT_END_DETAIL_NAMESPACE compiled with a different ``-std`` option than the client code (which is not recommended). */ +FMT_MODULE_EXPORT template class basic_string_view { private: const Char* data_; @@ -482,6 +454,18 @@ template class basic_string_view { size_ -= n; } + FMT_CONSTEXPR_CHAR_TRAITS bool starts_with( + basic_string_view sv) const noexcept { + return size_ >= sv.size_ && + std::char_traits::compare(data_, sv.data_, sv.size_) == 0; + } + FMT_CONSTEXPR_CHAR_TRAITS bool starts_with(Char c) const noexcept { + return size_ >= 1 && std::char_traits::eq(*data_, c); + } + FMT_CONSTEXPR_CHAR_TRAITS bool starts_with(const Char* s) const { + return starts_with(basic_string_view(s)); + } + // Lexicographically compare this string reference to other. FMT_CONSTEXPR_CHAR_TRAITS auto compare(basic_string_view other) const -> int { size_t str_size = size_ < other.size_ ? size_ : other.size_; @@ -513,13 +497,22 @@ template class basic_string_view { } }; +FMT_MODULE_EXPORT using string_view = basic_string_view; /** Specifies if ``T`` is a character type. Can be specialized by users. */ +FMT_MODULE_EXPORT template struct is_char : std::false_type {}; template <> struct is_char : std::true_type {}; -// Returns a string view of `s`. +namespace detail { + +// A base class for compile-time strings. +struct compile_string {}; + +template +struct is_compile_string : std::is_base_of {}; + template ::value)> FMT_INLINE auto to_string_view(const Char* s) -> basic_string_view { return s; @@ -535,36 +528,24 @@ constexpr auto to_string_view(basic_string_view s) return s; } template >::value)> -inline auto to_string_view(detail::std_string_view s) - -> basic_string_view { + FMT_ENABLE_IF(!std::is_empty>::value)> +inline auto to_string_view(std_string_view s) -> basic_string_view { return s; } - -// A base class for compile-time strings. It is defined in the fmt namespace to -// make formatting functions visible via ADL, e.g. format(FMT_STRING("{}"), 42). -struct compile_string {}; - -template -struct is_compile_string : std::is_base_of {}; - template ::value)> constexpr auto to_string_view(const S& s) -> basic_string_view { return basic_string_view(s); } - -FMT_BEGIN_DETAIL_NAMESPACE - void to_string_view(...); -using fmt::to_string_view; // Specifies whether S is a string type convertible to fmt::basic_string_view. // It should be a constexpr function but MSVC 2017 fails to compile it in // enable_if and MSVC 2015 fails to compile it as an alias template. +// ADL is intentionally disabled as to_string_view is not an extension point. template -struct is_string : std::is_class()))> { -}; +struct is_string + : std::is_class()))> {}; template struct char_t_impl {}; template struct char_t_impl::value>> { @@ -572,28 +553,91 @@ template struct char_t_impl::value>> { using type = typename result::value_type; }; -// Reports a compile-time error if S is not a valid format string. -template ::value)> -FMT_INLINE void check_format_string(const S&) { -#ifdef FMT_ENFORCE_COMPILE_STRING - static_assert(is_compile_string::value, - "FMT_ENFORCE_COMPILE_STRING requires all format strings to use " - "FMT_STRING."); -#endif +enum class type { + none_type, + // Integer types should go first, + int_type, + uint_type, + long_long_type, + ulong_long_type, + int128_type, + uint128_type, + bool_type, + char_type, + last_integer_type = char_type, + // followed by floating-point types. + float_type, + double_type, + long_double_type, + last_numeric_type = long_double_type, + cstring_type, + string_type, + pointer_type, + custom_type +}; + +// Maps core type T to the corresponding type enum constant. +template +struct type_constant : std::integral_constant {}; + +#define FMT_TYPE_CONSTANT(Type, constant) \ + template \ + struct type_constant \ + : std::integral_constant {} + +FMT_TYPE_CONSTANT(int, int_type); +FMT_TYPE_CONSTANT(unsigned, uint_type); +FMT_TYPE_CONSTANT(long long, long_long_type); +FMT_TYPE_CONSTANT(unsigned long long, ulong_long_type); +FMT_TYPE_CONSTANT(int128_opt, int128_type); +FMT_TYPE_CONSTANT(uint128_opt, uint128_type); +FMT_TYPE_CONSTANT(bool, bool_type); +FMT_TYPE_CONSTANT(Char, char_type); +FMT_TYPE_CONSTANT(float, float_type); +FMT_TYPE_CONSTANT(double, double_type); +FMT_TYPE_CONSTANT(long double, long_double_type); +FMT_TYPE_CONSTANT(const Char*, cstring_type); +FMT_TYPE_CONSTANT(basic_string_view, string_type); +FMT_TYPE_CONSTANT(const void*, pointer_type); + +constexpr bool is_integral_type(type t) { + return t > type::none_type && t <= type::last_integer_type; } -template ::value)> -void check_format_string(S); +constexpr bool is_arithmetic_type(type t) { + return t > type::none_type && t <= type::last_numeric_type; +} + +constexpr auto set(type rhs) -> int { return 1 << static_cast(rhs); } +constexpr auto in(type t, int set) -> bool { + return ((set >> static_cast(t)) & 1) != 0; +} + +// Bitsets of types. +enum { + sint_set = + set(type::int_type) | set(type::long_long_type) | set(type::int128_type), + uint_set = set(type::uint_type) | set(type::ulong_long_type) | + set(type::uint128_type), + bool_set = set(type::bool_type), + char_set = set(type::char_type), + float_set = set(type::float_type) | set(type::double_type) | + set(type::long_double_type), + string_set = set(type::string_type), + cstring_set = set(type::cstring_type), + pointer_set = set(type::pointer_type) +}; FMT_NORETURN FMT_API void throw_format_error(const char* message); struct error_handler { constexpr error_handler() = default; - constexpr error_handler(const error_handler&) = default; // This function is intentionally not constexpr to give a compile-time error. - FMT_NORETURN FMT_API void on_error(const char* message); + FMT_NORETURN void on_error(const char* message) { + throw_format_error(message); + } }; -FMT_END_DETAIL_NAMESPACE +} // namespace detail /** String's character type. */ template using char_t = typename detail::char_t_impl::type; @@ -605,20 +649,21 @@ template using char_t = typename detail::char_t_impl::type; You can use the ``format_parse_context`` type alias for ``char`` instead. \endrst */ -template -class basic_format_parse_context : private ErrorHandler { +FMT_MODULE_EXPORT +template class basic_format_parse_context { private: basic_string_view format_str_; int next_arg_id_; + FMT_CONSTEXPR void do_check_arg_id(int id); + public: using char_type = Char; - using iterator = typename basic_string_view::iterator; + using iterator = const Char*; explicit constexpr basic_format_parse_context( - basic_string_view format_str, ErrorHandler eh = {}, - int next_arg_id = 0) - : ErrorHandler(eh), format_str_(format_str), next_arg_id_(next_arg_id) {} + basic_string_view format_str, int next_arg_id = 0) + : format_str_(format_str), next_arg_id_(next_arg_id) {} /** Returns an iterator to the beginning of the format string range being @@ -643,40 +688,104 @@ class basic_format_parse_context : private ErrorHandler { the next argument index and switches to the automatic indexing. */ FMT_CONSTEXPR auto next_arg_id() -> int { - // Don't check if the argument id is valid to avoid overhead and because it - // will be checked during formatting anyway. - if (next_arg_id_ >= 0) return next_arg_id_++; - on_error("cannot switch from manual to automatic argument indexing"); - return 0; + if (next_arg_id_ < 0) { + detail::throw_format_error( + "cannot switch from manual to automatic argument indexing"); + return 0; + } + int id = next_arg_id_++; + do_check_arg_id(id); + return id; } /** Reports an error if using the automatic argument indexing; otherwise switches to the manual indexing. */ - FMT_CONSTEXPR void check_arg_id(int) { - if (next_arg_id_ > 0) - on_error("cannot switch from automatic to manual argument indexing"); - else - next_arg_id_ = -1; + FMT_CONSTEXPR void check_arg_id(int id) { + if (next_arg_id_ > 0) { + detail::throw_format_error( + "cannot switch from automatic to manual argument indexing"); + return; + } + next_arg_id_ = -1; + do_check_arg_id(id); } - FMT_CONSTEXPR void check_arg_id(basic_string_view) {} - - FMT_CONSTEXPR void on_error(const char* message) { - ErrorHandler::on_error(message); - } - - constexpr auto error_handler() const -> ErrorHandler { return *this; } + FMT_CONSTEXPR void check_dynamic_spec(int arg_id); }; +FMT_MODULE_EXPORT using format_parse_context = basic_format_parse_context; -template class basic_format_arg; -template class basic_format_args; -template class dynamic_format_arg_store; +namespace detail { +// A parse context with extra data used only in compile-time checks. +template +class compile_parse_context : public basic_format_parse_context { + private: + int num_args_; + const type* types_; + using base = basic_format_parse_context; + + public: + explicit FMT_CONSTEXPR compile_parse_context( + basic_string_view format_str, int num_args, const type* types, + int next_arg_id = 0) + : base(format_str, next_arg_id), num_args_(num_args), types_(types) {} + + constexpr auto num_args() const -> int { return num_args_; } + constexpr auto arg_type(int id) const -> type { return types_[id]; } + + FMT_CONSTEXPR auto next_arg_id() -> int { + int id = base::next_arg_id(); + if (id >= num_args_) throw_format_error("argument not found"); + return id; + } + + FMT_CONSTEXPR void check_arg_id(int id) { + base::check_arg_id(id); + if (id >= num_args_) throw_format_error("argument not found"); + } + using base::check_arg_id; + + FMT_CONSTEXPR void check_dynamic_spec(int arg_id) { + detail::ignore_unused(arg_id); +#if !defined(__LCC__) + if (arg_id < num_args_ && types_ && !is_integral_type(types_[arg_id])) + throw_format_error("width/precision is not integer"); +#endif + } +}; +} // namespace detail + +template +FMT_CONSTEXPR void basic_format_parse_context::do_check_arg_id(int id) { + // Argument id is only checked at compile-time during parsing because + // formatting has its own validation. + if (detail::is_constant_evaluated() && + (!FMT_GCC_VERSION || FMT_GCC_VERSION >= 1200)) { + using context = detail::compile_parse_context; + if (id >= static_cast(this)->num_args()) + detail::throw_format_error("argument not found"); + } +} + +template +FMT_CONSTEXPR void basic_format_parse_context::check_dynamic_spec( + int arg_id) { + if (detail::is_constant_evaluated() && + (!FMT_GCC_VERSION || FMT_GCC_VERSION >= 1200)) { + using context = detail::compile_parse_context; + static_cast(this)->check_dynamic_spec(arg_id); + } +} + +FMT_MODULE_EXPORT template class basic_format_arg; +FMT_MODULE_EXPORT template class basic_format_args; +FMT_MODULE_EXPORT template class dynamic_format_arg_store; // A formatter for objects of type T. +FMT_MODULE_EXPORT template struct formatter { // A deleted default constructor indicates a disabled formatter. @@ -696,7 +805,7 @@ struct is_contiguous> : std::true_type {}; class appender; -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { template constexpr auto has_const_formatter_impl(T*) @@ -718,10 +827,10 @@ constexpr auto has_const_formatter() -> bool { template inline auto get_container(std::back_insert_iterator it) -> Container& { - using bi_iterator = std::back_insert_iterator; - struct accessor : bi_iterator { - accessor(bi_iterator iter) : bi_iterator(iter) {} - using bi_iterator::container; + using base = std::back_insert_iterator; + struct accessor : base { + accessor(base b) : base(b) {} + using base::container; }; return *accessor(it).container; } @@ -739,7 +848,7 @@ template U* { if (is_constant_evaluated()) return copy_str(begin, end, out); auto size = to_unsigned(end - begin); - memcpy(out, begin, size * sizeof(U)); + if (size > 0) memcpy(out, begin, size * sizeof(U)); return out + size; } @@ -782,11 +891,11 @@ template class buffer { buffer(const buffer&) = delete; void operator=(const buffer&) = delete; - auto begin() noexcept -> T* { return ptr_; } - auto end() noexcept -> T* { return ptr_ + size_; } + FMT_INLINE auto begin() noexcept -> T* { return ptr_; } + FMT_INLINE auto end() noexcept -> T* { return ptr_ + size_; } - auto begin() const noexcept -> const T* { return ptr_; } - auto end() const noexcept -> const T* { return ptr_ + size_; } + FMT_INLINE auto begin() const noexcept -> const T* { return ptr_; } + FMT_INLINE auto end() const noexcept -> const T* { return ptr_ + size_; } /** Returns the size of this buffer. */ constexpr auto size() const noexcept -> size_t { return size_; } @@ -826,11 +935,11 @@ template class buffer { /** Appends data to the end of the buffer. */ template void append(const U* begin, const U* end); - template FMT_CONSTEXPR auto operator[](I index) -> T& { + template FMT_CONSTEXPR auto operator[](Idx index) -> T& { return ptr_[index]; } - template - FMT_CONSTEXPR auto operator[](I index) const -> const T& { + template + FMT_CONSTEXPR auto operator[](Idx index) const -> const T& { return ptr_[index]; } }; @@ -965,6 +1074,7 @@ class iterator_buffer, : buffer(c.size()), container_(c) {} explicit iterator_buffer(std::back_insert_iterator out, size_t = 0) : iterator_buffer(get_container(out)) {} + auto out() -> std::back_insert_iterator { return std::back_inserter(container_); } @@ -999,29 +1109,21 @@ template auto get_buffer(OutputIt out) -> iterator_buffer { return iterator_buffer(out); } +template , Buf>::value)> +auto get_buffer(std::back_insert_iterator out) -> buffer& { + return get_container(out); +} -template -auto get_iterator(Buffer& buf) -> decltype(buf.out()) { +template +FMT_INLINE auto get_iterator(Buf& buf, OutputIt) -> decltype(buf.out()) { return buf.out(); } -template auto get_iterator(buffer& buf) -> buffer_appender { - return buffer_appender(buf); +template +auto get_iterator(buffer&, OutputIt out) -> OutputIt { + return out; } -template -struct fallback_formatter { - fallback_formatter() = delete; -}; - -// Specifies if T has an enabled fallback_formatter specialization. -template -using has_fallback_formatter = -#ifdef FMT_DEPRECATED_OSTREAM - std::is_constructible>; -#else - std::false_type; -#endif - struct view {}; template struct named_arg : view { @@ -1104,64 +1206,8 @@ constexpr auto count_statically_named_args() -> size_t { return count::value...>(); } -enum class type { - none_type, - // Integer types should go first, - int_type, - uint_type, - long_long_type, - ulong_long_type, - int128_type, - uint128_type, - bool_type, - char_type, - last_integer_type = char_type, - // followed by floating-point types. - float_type, - double_type, - long_double_type, - last_numeric_type = long_double_type, - cstring_type, - string_type, - pointer_type, - custom_type -}; - -// Maps core type T to the corresponding type enum constant. -template -struct type_constant : std::integral_constant {}; - -#define FMT_TYPE_CONSTANT(Type, constant) \ - template \ - struct type_constant \ - : std::integral_constant {} - -FMT_TYPE_CONSTANT(int, int_type); -FMT_TYPE_CONSTANT(unsigned, uint_type); -FMT_TYPE_CONSTANT(long long, long_long_type); -FMT_TYPE_CONSTANT(unsigned long long, ulong_long_type); -FMT_TYPE_CONSTANT(int128_opt, int128_type); -FMT_TYPE_CONSTANT(uint128_opt, uint128_type); -FMT_TYPE_CONSTANT(bool, bool_type); -FMT_TYPE_CONSTANT(Char, char_type); -FMT_TYPE_CONSTANT(float, float_type); -FMT_TYPE_CONSTANT(double, double_type); -FMT_TYPE_CONSTANT(long double, long_double_type); -FMT_TYPE_CONSTANT(const Char*, cstring_type); -FMT_TYPE_CONSTANT(basic_string_view, string_type); -FMT_TYPE_CONSTANT(const void*, pointer_type); - -constexpr bool is_integral_type(type t) { - return t > type::none_type && t <= type::last_integer_type; -} - -constexpr bool is_arithmetic_type(type t) { - return t > type::none_type && t <= type::last_numeric_type; -} - struct unformattable {}; struct unformattable_char : unformattable {}; -struct unformattable_const : unformattable {}; struct unformattable_pointer : unformattable {}; template struct string_value { @@ -1235,14 +1281,10 @@ template class value { // have different extension points, e.g. `formatter` for `format` and // `printf_formatter` for `printf`. custom.format = format_custom_arg< - value_type, - conditional_t::value, - typename Context::template formatter_type, - fallback_formatter>>; + value_type, typename Context::template formatter_type>; } value(unformattable); value(unformattable_char); - value(unformattable_const); value(unformattable_pointer); private: @@ -1260,7 +1302,7 @@ template class value { }; template -FMT_CONSTEXPR auto make_arg(const T& value) -> basic_format_arg; +FMT_CONSTEXPR auto make_arg(T&& value) -> basic_format_arg; // To minimize the number of types we need to deal with, long is translated // either to int or to long long depending on its size. @@ -1268,6 +1310,20 @@ enum { long_short = sizeof(long) == sizeof(int) }; using long_type = conditional_t; using ulong_type = conditional_t; +template struct format_as_result { + template ::value || std::is_class::value)> + static auto map(U*) -> decltype(format_as(std::declval())); + static auto map(...) -> void; + + using type = decltype(map(static_cast(nullptr))); +}; +template using format_as_t = typename format_as_result::type; + +template +struct has_format_as + : bool_constant, void>::value> {}; + // Maps formatting arguments to core types. // arg_mapper reports errors by returning unformattable instead of using // static_assert because it's used in the is_formattable trait. @@ -1343,45 +1399,6 @@ template struct arg_mapper { FMT_CONSTEXPR FMT_INLINE auto map(const T&) -> unformattable_char { return {}; } - template >::value && - !is_string::value && !has_formatter::value && - !has_fallback_formatter::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> basic_string_view { - return basic_string_view(val); - } - template >::value && - !std::is_convertible>::value && - !is_string::value && !has_formatter::value && - !has_fallback_formatter::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> basic_string_view { - return std_string_view(val); - } - - using cstring_result = conditional_t::value, - const char*, unformattable_pointer>; - - FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(const signed char* val) - -> cstring_result { - return map(reinterpret_cast(val)); - } - FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(const unsigned char* val) - -> cstring_result { - return map(reinterpret_cast(val)); - } - FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(signed char* val) - -> cstring_result { - return map(reinterpret_cast(val)); - } - FMT_DEPRECATED FMT_CONSTEXPR FMT_INLINE auto map(unsigned char* val) - -> cstring_result { - return map(reinterpret_cast(val)); - } FMT_CONSTEXPR FMT_INLINE auto map(void* val) -> const void* { return val; } FMT_CONSTEXPR FMT_INLINE auto map(const void* val) -> const void* { @@ -1391,8 +1408,8 @@ template struct arg_mapper { return val; } - // We use SFINAE instead of a const T* parameter to avoid conflicting with - // the C array overload. + // Use SFINAE instead of a const T* parameter to avoid a conflict with the + // array overload. template < typename T, FMT_ENABLE_IF( @@ -1411,52 +1428,34 @@ template struct arg_mapper { return values; } - template ::value&& std::is_convertible::value && - !has_formatter::value && - !has_fallback_formatter::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> decltype(std::declval().map( - static_cast>(val))) { - return map(static_cast>(val)); - } - - template ::value&& std::is_integral::value)> - FMT_CONSTEXPR FMT_INLINE auto map(const T& val) - -> decltype(std::declval().map(U())) { + // Only map owning types because mapping views can be unsafe. + template , + FMT_ENABLE_IF(std::is_arithmetic::value)> + FMT_CONSTEXPR FMT_INLINE auto map(const T& val) -> decltype(this->map(U())) { return map(format_as(val)); } template > struct formattable : bool_constant() || - !std::is_const>::value || - has_fallback_formatter::value> {}; + (has_formatter::value && + !std::is_const>::value)> {}; -#if (FMT_MSC_VER != 0 && FMT_MSC_VER < 1910) || FMT_ICC_VERSION != 0 || \ - FMT_NVCC != 0 - // Workaround a bug in MSVC and Intel (Issue 2746). - template FMT_CONSTEXPR FMT_INLINE auto do_map(T&& val) -> T& { - return val; - } -#else template ::value)> FMT_CONSTEXPR FMT_INLINE auto do_map(T&& val) -> T& { return val; } template ::value)> - FMT_CONSTEXPR FMT_INLINE auto do_map(T&&) -> unformattable_const { + FMT_CONSTEXPR FMT_INLINE auto do_map(T&&) -> unformattable { return {}; } -#endif template , - FMT_ENABLE_IF(!is_string::value && !is_char::value && - !std::is_array::value && - (has_formatter::value || - has_fallback_formatter::value))> + FMT_ENABLE_IF((std::is_class::value || std::is_enum::value || + std::is_union::value) && + !is_string::value && !is_char::value && + !is_named_arg::value && + !std::is_arithmetic>::value)> FMT_CONSTEXPR FMT_INLINE auto map(T&& val) -> decltype(this->do_map(std::forward(val))) { return do_map(std::forward(val)); @@ -1464,7 +1463,7 @@ template struct arg_mapper { template ::value)> FMT_CONSTEXPR FMT_INLINE auto map(const T& named_arg) - -> decltype(std::declval().map(named_arg.value)) { + -> decltype(this->map(named_arg.value)) { return map(named_arg.value); } @@ -1482,26 +1481,19 @@ enum { packed_arg_bits = 4 }; enum { max_packed_args = 62 / packed_arg_bits }; enum : unsigned long long { is_unpacked_bit = 1ULL << 63 }; enum : unsigned long long { has_named_args_bit = 1ULL << 62 }; - -FMT_END_DETAIL_NAMESPACE +} // namespace detail // An output iterator that appends to a buffer. // It is used to reduce symbol sizes for the common case. class appender : public std::back_insert_iterator> { using base = std::back_insert_iterator>; - template - friend auto get_buffer(appender out) -> detail::buffer& { - return detail::get_container(out); - } - public: using std::back_insert_iterator>::back_insert_iterator; appender(base it) noexcept : base(it) {} - using _Unchecked_type = appender; // Mark iterator as checked. + FMT_UNCHECKED_ITERATOR(appender); auto operator++() noexcept -> appender& { return *this; } - auto operator++(int) noexcept -> appender { return *this; } }; @@ -1513,7 +1505,7 @@ template class basic_format_arg { detail::type type_; template - friend FMT_CONSTEXPR auto detail::make_arg(const T& value) + friend FMT_CONSTEXPR auto detail::make_arg(T&& value) -> basic_format_arg; template @@ -1567,6 +1559,7 @@ template class basic_format_arg { ``vis(value)`` will be called with the value of type ``double``. \endrst */ +FMT_MODULE_EXPORT template FMT_CONSTEXPR FMT_INLINE auto visit_format_arg( Visitor&& vis, const basic_format_arg& arg) -> decltype(vis(0)) { @@ -1608,7 +1601,7 @@ FMT_CONSTEXPR FMT_INLINE auto visit_format_arg( return vis(monostate()); } -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { template auto copy_str(InputIt begin, InputIt end, appender out) -> appender { @@ -1616,11 +1609,15 @@ auto copy_str(InputIt begin, InputIt end, appender out) -> appender { return out; } +template +FMT_CONSTEXPR auto copy_str(R&& rng, OutputIt out) -> OutputIt { + return detail::copy_str(rng.begin(), rng.end(), out); +} + #if FMT_GCC_VERSION && FMT_GCC_VERSION < 500 // A workaround for gcc 4.8 to make void_t work in a SFINAE context. -template struct void_t_impl { using type = void; }; -template -using void_t = typename detail::void_t_impl::type; +template struct void_t_impl { using type = void; }; +template using void_t = typename void_t_impl::type; #else template using void_t = void; #endif @@ -1635,13 +1632,12 @@ struct is_output_iterator< decltype(*std::declval() = std::declval())>> : std::true_type {}; -template -struct is_back_insert_iterator : std::false_type {}; +template struct is_back_insert_iterator : std::false_type {}; template struct is_back_insert_iterator> : std::true_type {}; -template +template struct is_contiguous_back_insert_iterator : std::false_type {}; template struct is_contiguous_back_insert_iterator> @@ -1649,13 +1645,13 @@ struct is_contiguous_back_insert_iterator> template <> struct is_contiguous_back_insert_iterator : std::true_type {}; -// A type-erased reference to an std::locale to avoid heavy include. +// A type-erased reference to an std::locale to avoid a heavy include. class locale_ref { private: const void* locale_; // A type-erased pointer to std::locale. public: - constexpr locale_ref() : locale_(nullptr) {} + constexpr FMT_INLINE locale_ref() : locale_(nullptr) {} template explicit locale_ref(const Locale& loc); explicit operator bool() const noexcept { return locale_ != nullptr; } @@ -1674,40 +1670,23 @@ constexpr auto encode_types() -> unsigned long long { } template -FMT_CONSTEXPR auto make_arg(const T& value) -> basic_format_arg { - basic_format_arg arg; - arg.type_ = mapped_type_constant::value; - arg.value_ = arg_mapper().map(value); - return arg; -} - -// The type template parameter is there to avoid an ODR violation when using -// a fallback formatter in one translation unit and an implicit conversion in -// another (not recommended). -template -FMT_CONSTEXPR FMT_INLINE auto make_arg(T&& val) -> value { - const auto& arg = arg_mapper().map(std::forward(val)); +FMT_CONSTEXPR FMT_INLINE auto make_value(T&& val) -> value { + auto&& arg = arg_mapper().map(FMT_FORWARD(val)); + using arg_type = remove_cvref_t; constexpr bool formattable_char = - !std::is_same::value; + !std::is_same::value; static_assert(formattable_char, "Mixing character types is disallowed."); - constexpr bool formattable_const = - !std::is_same::value; - static_assert(formattable_const, "Cannot format a const argument."); - - // Formatting of arbitrary pointers is disallowed. If you want to output - // a pointer cast it to "void *" or "const void *". In particular, this - // forbids formatting of "[const] volatile char *" which is printed as bool - // by iostreams. + // Formatting of arbitrary pointers is disallowed. If you want to format a + // pointer cast it to `void*` or `const void*`. In particular, this forbids + // formatting of `[const] volatile char*` printed as bool by iostreams. constexpr bool formattable_pointer = - !std::is_same::value; + !std::is_same::value; static_assert(formattable_pointer, "Formatting of non-void pointers is disallowed."); - constexpr bool formattable = - !std::is_same::value; + constexpr bool formattable = !std::is_same::value; static_assert( formattable, "Cannot format an argument. To make type T formattable provide a " @@ -1715,19 +1694,33 @@ FMT_CONSTEXPR FMT_INLINE auto make_arg(T&& val) -> value { return {arg}; } +template +FMT_CONSTEXPR auto make_arg(T&& value) -> basic_format_arg { + auto arg = basic_format_arg(); + arg.type_ = mapped_type_constant::value; + arg.value_ = make_value(value); + return arg; +} + +// The DEPRECATED type template parameter is there to avoid an ODR violation +// when using a fallback formatter in one translation unit and an implicit +// conversion in another (not recommended). +template +FMT_CONSTEXPR FMT_INLINE auto make_arg(T&& val) -> value { + return make_value(val); +} + template -inline auto make_arg(const T& value) -> basic_format_arg { +FMT_CONSTEXPR inline auto make_arg(T&& value) -> basic_format_arg { return make_arg(value); } -FMT_END_DETAIL_NAMESPACE +} // namespace detail +FMT_BEGIN_EXPORT // Formatting context. template class basic_format_context { - public: - /** The character type for the output. */ - using char_type = Char; - private: OutputIt out_; basic_format_args args_; @@ -1736,31 +1729,32 @@ template class basic_format_context { public: using iterator = OutputIt; using format_arg = basic_format_arg; + using format_args = basic_format_args; using parse_context_type = basic_format_parse_context; - template using formatter_type = formatter; + template using formatter_type = formatter; + + /** The character type for the output. */ + using char_type = Char; basic_format_context(basic_format_context&&) = default; basic_format_context(const basic_format_context&) = delete; void operator=(const basic_format_context&) = delete; /** - Constructs a ``basic_format_context`` object. References to the arguments are - stored in the object so make sure they have appropriate lifetimes. + Constructs a ``basic_format_context`` object. References to the arguments + are stored in the object so make sure they have appropriate lifetimes. */ - constexpr basic_format_context( - OutputIt out, basic_format_args ctx_args, - detail::locale_ref loc = detail::locale_ref()) + constexpr basic_format_context(OutputIt out, format_args ctx_args, + detail::locale_ref loc = {}) : out_(out), args_(ctx_args), loc_(loc) {} constexpr auto arg(int id) const -> format_arg { return args_.get(id); } - FMT_CONSTEXPR auto arg(basic_string_view name) -> format_arg { + FMT_CONSTEXPR auto arg(basic_string_view name) -> format_arg { return args_.get(name); } - FMT_CONSTEXPR auto arg_id(basic_string_view name) -> int { + FMT_CONSTEXPR auto arg_id(basic_string_view name) -> int { return args_.get_id(name); } - auto args() const -> const basic_format_args& { - return args_; - } + auto args() const -> const format_args& { return args_; } FMT_CONSTEXPR auto error_handler() -> detail::error_handler { return {}; } void on_error(const char* message) { error_handler().on_error(message); } @@ -1781,16 +1775,10 @@ using buffer_context = basic_format_context, Char>; using format_context = buffer_context; -// Workaround an alias issue: https://stackoverflow.com/q/62767544/471164. -#define FMT_BUFFER_CONTEXT(Char) \ - basic_format_context, Char> - template -using is_formattable = bool_constant< - !std::is_base_of>().map( - std::declval()))>::value && - !detail::has_fallback_formatter::value>; +using is_formattable = bool_constant>() + .map(std::declval()))>::value>; /** \rst @@ -1837,7 +1825,7 @@ class format_arg_store data_{detail::make_arg< is_packed, Context, detail::mapped_type_constant, Context>::value>( - std::forward(args))...} { + FMT_FORWARD(args))...} { detail::init_named_args(data_.named_args(), 0, 0, args...); } }; @@ -1850,10 +1838,10 @@ class format_arg_store See `~fmt::arg` for lifetime considerations. \endrst */ -template -constexpr auto make_format_args(Args&&... args) - -> format_arg_store...> { - return {std::forward(args)...}; +template +constexpr auto make_format_args(T&&... args) + -> format_arg_store...> { + return {FMT_FORWARD(args)...}; } /** @@ -1872,6 +1860,7 @@ inline auto arg(const Char* name, const T& arg) -> detail::named_arg { static_assert(!detail::is_named_arg(), "nested named arguments"); return {name, arg}; } +FMT_END_EXPORT /** \rst @@ -1997,20 +1986,28 @@ template class basic_format_args { /** An alias to ``basic_format_args``. */ // A separate type would result in shorter symbols but break ABI compatibility // between clang and gcc on ARM (#1919). -using format_args = basic_format_args; +FMT_MODULE_EXPORT using format_args = basic_format_args; -// We cannot use enum classes as bit fields because of a gcc bug -// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414. +// We cannot use enum classes as bit fields because of a gcc bug, so we put them +// in namespaces instead (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61414). +// Additionally, if an underlying type is specified, older gcc incorrectly warns +// that the type is too small. Both bugs are fixed in gcc 9.3. +#if FMT_GCC_VERSION && FMT_GCC_VERSION < 903 +# define FMT_ENUM_UNDERLYING_TYPE(type) +#else +# define FMT_ENUM_UNDERLYING_TYPE(type) : type +#endif namespace align { -enum type { none, left, right, center, numeric }; +enum type FMT_ENUM_UNDERLYING_TYPE(unsigned char){none, left, right, center, + numeric}; } using align_t = align::type; namespace sign { -enum type { none, minus, plus, space }; +enum type FMT_ENUM_UNDERLYING_TYPE(unsigned char){none, minus, plus, space}; } using sign_t = sign::type; -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { // Workaround an array initialization issue in gcc 4.8. template struct fill_t { @@ -2022,7 +2019,7 @@ template struct fill_t { public: FMT_CONSTEXPR void operator=(basic_string_view s) { auto size = s.size(); - if (size > max_size) return throw_format_error("invalid fill"); + FMT_ASSERT(size <= max_size, "invalid fill"); for (size_t i = 0; i < size; ++i) data_[i] = s[i]; size_ = static_cast(size); } @@ -2035,11 +2032,10 @@ template struct fill_t { return data_[index]; } }; -FMT_END_DETAIL_NAMESPACE +} // namespace detail enum class presentation_type : unsigned char { none, - // Integer types should go first, dec, // 'd' oct, // 'o' hex_lower, // 'x' @@ -2061,7 +2057,7 @@ enum class presentation_type : unsigned char { }; // Format specifiers for built-in and string types. -template struct basic_format_specs { +template struct format_specs { int width; int precision; presentation_type type; @@ -2071,7 +2067,7 @@ template struct basic_format_specs { bool localized : 1; detail::fill_t fill; - constexpr basic_format_specs() + constexpr format_specs() : width(0), precision(-1), type(presentation_type::none), @@ -2081,9 +2077,7 @@ template struct basic_format_specs { localized(false) {} }; -using format_specs = basic_format_specs; - -FMT_BEGIN_DETAIL_NAMESPACE +namespace detail { enum class arg_id_kind { none, index, name }; @@ -2104,7 +2098,7 @@ template struct arg_ref { arg_id_kind kind; union value { - FMT_CONSTEXPR value(int id = 0) : index{id} {} + FMT_CONSTEXPR value(int idx = 0) : index(idx) {} FMT_CONSTEXPR value(basic_string_view n) : name(n) {} int index; @@ -2113,128 +2107,30 @@ template struct arg_ref { }; // Format specifiers with width and precision resolved at formatting rather -// than parsing time to allow re-using the same parsed specifiers with +// than parsing time to allow reusing the same parsed specifiers with // different sets of arguments (precompilation of format strings). -template -struct dynamic_format_specs : basic_format_specs { +template +struct dynamic_format_specs : format_specs { arg_ref width_ref; arg_ref precision_ref; }; -struct auto_id {}; - -// A format specifier handler that sets fields in basic_format_specs. -template class specs_setter { - protected: - basic_format_specs& specs_; - - public: - explicit FMT_CONSTEXPR specs_setter(basic_format_specs& specs) - : specs_(specs) {} - - FMT_CONSTEXPR specs_setter(const specs_setter& other) - : specs_(other.specs_) {} - - FMT_CONSTEXPR void on_align(align_t align) { specs_.align = align; } - FMT_CONSTEXPR void on_fill(basic_string_view fill) { - specs_.fill = fill; - } - FMT_CONSTEXPR void on_sign(sign_t s) { specs_.sign = s; } - FMT_CONSTEXPR void on_hash() { specs_.alt = true; } - FMT_CONSTEXPR void on_localized() { specs_.localized = true; } - - FMT_CONSTEXPR void on_zero() { - if (specs_.align == align::none) specs_.align = align::numeric; - specs_.fill[0] = Char('0'); - } - - FMT_CONSTEXPR void on_width(int width) { specs_.width = width; } - FMT_CONSTEXPR void on_precision(int precision) { - specs_.precision = precision; - } - FMT_CONSTEXPR void end_precision() {} - - FMT_CONSTEXPR void on_type(presentation_type type) { specs_.type = type; } -}; - -// Format spec handler that saves references to arguments representing dynamic -// width and precision to be resolved at formatting time. -template -class dynamic_specs_handler - : public specs_setter { - public: - using char_type = typename ParseContext::char_type; - - FMT_CONSTEXPR dynamic_specs_handler(dynamic_format_specs& specs, - ParseContext& ctx) - : specs_setter(specs), specs_(specs), context_(ctx) {} - - FMT_CONSTEXPR dynamic_specs_handler(const dynamic_specs_handler& other) - : specs_setter(other), - specs_(other.specs_), - context_(other.context_) {} - - template FMT_CONSTEXPR void on_dynamic_width(Id arg_id) { - specs_.width_ref = make_arg_ref(arg_id); - } - - template FMT_CONSTEXPR void on_dynamic_precision(Id arg_id) { - specs_.precision_ref = make_arg_ref(arg_id); - } - - FMT_CONSTEXPR void on_error(const char* message) { - context_.on_error(message); - } - - private: - dynamic_format_specs& specs_; - ParseContext& context_; - - using arg_ref_type = arg_ref; - - FMT_CONSTEXPR auto make_arg_ref(int arg_id) -> arg_ref_type { - context_.check_arg_id(arg_id); - return arg_ref_type(arg_id); - } - - FMT_CONSTEXPR auto make_arg_ref(auto_id) -> arg_ref_type { - return arg_ref_type(context_.next_arg_id()); - } - - FMT_CONSTEXPR auto make_arg_ref(basic_string_view arg_id) - -> arg_ref_type { - context_.check_arg_id(arg_id); - basic_string_view format_str( - context_.begin(), to_unsigned(context_.end() - context_.begin())); - return arg_ref_type(arg_id); - } -}; - -template constexpr bool is_ascii_letter(Char c) { - return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'); -} - -// Converts a character to ASCII. Returns a number > 127 on conversion failure. +// Converts a character to ASCII. Returns '\0' on conversion failure. template ::value)> -constexpr auto to_ascii(Char c) -> Char { - return c; +constexpr auto to_ascii(Char c) -> char { + return c <= 0xff ? static_cast(c) : '\0'; } template ::value)> -constexpr auto to_ascii(Char c) -> underlying_t { - return c; +constexpr auto to_ascii(Char c) -> char { + return c <= 0xff ? static_cast(c) : '\0'; } +// Returns the number of code units in a code point or 1 on error. template FMT_CONSTEXPR auto code_point_length(const Char* begin) -> int { if (const_check(sizeof(Char) != 1)) return 1; - auto lengths = - "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4"; - int len = lengths[static_cast(*begin) >> 3]; - - // Compute the pointer to the next character early so that the next - // iteration can start working on the next character. Neither Clang - // nor GCC figure out this reordering on their own. - return len + !len; + auto c = static_cast(*begin); + return static_cast((0x3a55000000000000ull >> (2 * (c >> 3))) & 0x3) + 1; } // Return the result via the out param to workaround gcc bug 77539. @@ -2279,279 +2175,284 @@ FMT_CONSTEXPR auto parse_nonnegative_int(const Char*& begin, const Char* end, : error_value; } -// Parses fill and alignment. -template -FMT_CONSTEXPR auto parse_align(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - FMT_ASSERT(begin != end, ""); - auto align = align::none; - auto p = begin + code_point_length(begin); - if (end - p <= 0) p = begin; - for (;;) { - switch (to_ascii(*p)) { - case '<': - align = align::left; - break; - case '>': - align = align::right; - break; - case '^': - align = align::center; - break; - default: - break; - } - if (align != align::none) { - if (p != begin) { - auto c = *begin; - if (c == '{') - return handler.on_error("invalid fill character '{'"), begin; - handler.on_fill(basic_string_view(begin, to_unsigned(p - begin))); - begin = p + 1; - } else - ++begin; - handler.on_align(align); - break; - } else if (p == begin) { - break; - } - p = begin; +FMT_CONSTEXPR inline auto parse_align(char c) -> align_t { + switch (c) { + case '<': + return align::left; + case '>': + return align::right; + case '^': + return align::center; } - return begin; + return align::none; } -template FMT_CONSTEXPR bool is_name_start(Char c) { - return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || '_' == c; +template constexpr auto is_name_start(Char c) -> bool { + return ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '_'; } -template +template FMT_CONSTEXPR auto do_parse_arg_id(const Char* begin, const Char* end, - IDHandler&& handler) -> const Char* { - FMT_ASSERT(begin != end, ""); + Handler&& handler) -> const Char* { Char c = *begin; if (c >= '0' && c <= '9') { int index = 0; + constexpr int max = (std::numeric_limits::max)(); if (c != '0') - index = - parse_nonnegative_int(begin, end, (std::numeric_limits::max)()); + index = parse_nonnegative_int(begin, end, max); else ++begin; if (begin == end || (*begin != '}' && *begin != ':')) - handler.on_error("invalid format string"); + throw_format_error("invalid format string"); else - handler(index); + handler.on_index(index); return begin; } if (!is_name_start(c)) { - handler.on_error("invalid format string"); + throw_format_error("invalid format string"); return begin; } auto it = begin; do { ++it; - } while (it != end && (is_name_start(c = *it) || ('0' <= c && c <= '9'))); - handler(basic_string_view(begin, to_unsigned(it - begin))); + } while (it != end && (is_name_start(*it) || ('0' <= *it && *it <= '9'))); + handler.on_name({begin, to_unsigned(it - begin)}); return it; } -template +template FMT_CONSTEXPR FMT_INLINE auto parse_arg_id(const Char* begin, const Char* end, - IDHandler&& handler) -> const Char* { + Handler&& handler) -> const Char* { + FMT_ASSERT(begin != end, ""); Char c = *begin; if (c != '}' && c != ':') return do_parse_arg_id(begin, end, handler); - handler(); + handler.on_auto(); return begin; } -template -FMT_CONSTEXPR auto parse_width(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - using detail::auto_id; - struct width_adapter { - Handler& handler; +template struct dynamic_spec_id_handler { + basic_format_parse_context& ctx; + arg_ref& ref; - FMT_CONSTEXPR void operator()() { handler.on_dynamic_width(auto_id()); } - FMT_CONSTEXPR void operator()(int id) { handler.on_dynamic_width(id); } - FMT_CONSTEXPR void operator()(basic_string_view id) { - handler.on_dynamic_width(id); - } - FMT_CONSTEXPR void on_error(const char* message) { - if (message) handler.on_error(message); - } - }; + FMT_CONSTEXPR void on_auto() { + int id = ctx.next_arg_id(); + ref = arg_ref(id); + ctx.check_dynamic_spec(id); + } + FMT_CONSTEXPR void on_index(int id) { + ref = arg_ref(id); + ctx.check_arg_id(id); + ctx.check_dynamic_spec(id); + } + FMT_CONSTEXPR void on_name(basic_string_view id) { + ref = arg_ref(id); + ctx.check_arg_id(id); + } +}; +// Parses [integer | "{" [arg_id] "}"]. +template +FMT_CONSTEXPR auto parse_dynamic_spec(const Char* begin, const Char* end, + int& value, arg_ref& ref, + basic_format_parse_context& ctx) + -> const Char* { FMT_ASSERT(begin != end, ""); if ('0' <= *begin && *begin <= '9') { - int width = parse_nonnegative_int(begin, end, -1); - if (width != -1) - handler.on_width(width); + int val = parse_nonnegative_int(begin, end, -1); + if (val != -1) + value = val; else - handler.on_error("number is too big"); + throw_format_error("number is too big"); } else if (*begin == '{') { ++begin; - if (begin != end) begin = parse_arg_id(begin, end, width_adapter{handler}); - if (begin == end || *begin != '}') - return handler.on_error("invalid format string"), begin; - ++begin; + auto handler = dynamic_spec_id_handler{ctx, ref}; + if (begin != end) begin = parse_arg_id(begin, end, handler); + if (begin != end && *begin == '}') return ++begin; + throw_format_error("invalid format string"); } return begin; } -template -FMT_CONSTEXPR auto parse_precision(const Char* begin, const Char* end, - Handler&& handler) -> const Char* { - using detail::auto_id; - struct precision_adapter { - Handler& handler; - - FMT_CONSTEXPR void operator()() { handler.on_dynamic_precision(auto_id()); } - FMT_CONSTEXPR void operator()(int id) { handler.on_dynamic_precision(id); } - FMT_CONSTEXPR void operator()(basic_string_view id) { - handler.on_dynamic_precision(id); - } - FMT_CONSTEXPR void on_error(const char* message) { - if (message) handler.on_error(message); - } - }; - - ++begin; - auto c = begin != end ? *begin : Char(); - if ('0' <= c && c <= '9') { - auto precision = parse_nonnegative_int(begin, end, -1); - if (precision != -1) - handler.on_precision(precision); - else - handler.on_error("number is too big"); - } else if (c == '{') { - ++begin; - if (begin != end) - begin = parse_arg_id(begin, end, precision_adapter{handler}); - if (begin == end || *begin++ != '}') - return handler.on_error("invalid format string"), begin; - } else { - return handler.on_error("missing precision specifier"), begin; - } - handler.end_precision(); - return begin; -} - template -FMT_CONSTEXPR auto parse_presentation_type(Char type) -> presentation_type { - switch (to_ascii(type)) { - case 'd': - return presentation_type::dec; - case 'o': - return presentation_type::oct; - case 'x': - return presentation_type::hex_lower; - case 'X': - return presentation_type::hex_upper; - case 'b': - return presentation_type::bin_lower; - case 'B': - return presentation_type::bin_upper; - case 'a': - return presentation_type::hexfloat_lower; - case 'A': - return presentation_type::hexfloat_upper; - case 'e': - return presentation_type::exp_lower; - case 'E': - return presentation_type::exp_upper; - case 'f': - return presentation_type::fixed_lower; - case 'F': - return presentation_type::fixed_upper; - case 'g': - return presentation_type::general_lower; - case 'G': - return presentation_type::general_upper; - case 'c': - return presentation_type::chr; - case 's': - return presentation_type::string; - case 'p': - return presentation_type::pointer; - case '?': - return presentation_type::debug; - default: - return presentation_type::none; - } -} - -// Parses standard format specifiers and sends notifications about parsed -// components to handler. -template -FMT_CONSTEXPR FMT_INLINE auto parse_format_specs(const Char* begin, - const Char* end, - SpecHandler&& handler) +FMT_CONSTEXPR auto parse_precision(const Char* begin, const Char* end, + int& value, arg_ref& ref, + basic_format_parse_context& ctx) -> const Char* { - if (1 < end - begin && begin[1] == '}' && is_ascii_letter(*begin) && - *begin != 'L') { - presentation_type type = parse_presentation_type(*begin++); - if (type == presentation_type::none) - handler.on_error("invalid type specifier"); - handler.on_type(type); + ++begin; + if (begin == end || *begin == '}') { + throw_format_error("invalid precision"); return begin; } + return parse_dynamic_spec(begin, end, value, ref, ctx); +} - if (begin == end) return begin; +enum class state { start, align, sign, hash, zero, width, precision, locale }; - begin = parse_align(begin, end, handler); - if (begin == end) return begin; - - // Parse sign. - switch (to_ascii(*begin)) { - case '+': - handler.on_sign(sign::plus); - ++begin; - break; - case '-': - handler.on_sign(sign::minus); - ++begin; - break; - case ' ': - handler.on_sign(sign::space); - ++begin; - break; - default: - break; - } - if (begin == end) return begin; - - if (*begin == '#') { - handler.on_hash(); - if (++begin == end) return begin; - } - - // Parse zero flag. - if (*begin == '0') { - handler.on_zero(); - if (++begin == end) return begin; - } - - begin = parse_width(begin, end, handler); - if (begin == end) return begin; - - // Parse precision. - if (*begin == '.') { - begin = parse_precision(begin, end, handler); +// Parses standard format specifiers. +template +FMT_CONSTEXPR FMT_INLINE auto parse_format_specs( + const Char* begin, const Char* end, dynamic_format_specs& specs, + basic_format_parse_context& ctx, type arg_type) -> const Char* { + auto c = '\0'; + if (end - begin > 1) { + auto next = to_ascii(begin[1]); + c = parse_align(next) == align::none ? to_ascii(*begin) : '\0'; + } else { if (begin == end) return begin; + c = to_ascii(*begin); } - if (*begin == 'L') { - handler.on_localized(); - ++begin; - } + struct { + state current_state = state::start; + FMT_CONSTEXPR void operator()(state s, bool valid = true) { + if (current_state >= s || !valid) + throw_format_error("invalid format specifier"); + current_state = s; + } + } enter_state; - // Parse type. - if (begin != end && *begin != '}') { - presentation_type type = parse_presentation_type(*begin++); - if (type == presentation_type::none) - handler.on_error("invalid type specifier"); - handler.on_type(type); + using pres = presentation_type; + constexpr auto integral_set = sint_set | uint_set | bool_set | char_set; + struct { + const Char*& begin; + dynamic_format_specs& specs; + type arg_type; + + FMT_CONSTEXPR auto operator()(pres type, int set) -> const Char* { + if (!in(arg_type, set)) throw_format_error("invalid format specifier"); + specs.type = type; + return begin + 1; + } + } parse_presentation_type{begin, specs, arg_type}; + + for (;;) { + switch (c) { + case '<': + case '>': + case '^': + enter_state(state::align); + specs.align = parse_align(c); + ++begin; + break; + case '+': + case '-': + case ' ': + enter_state(state::sign, in(arg_type, sint_set | float_set)); + switch (c) { + case '+': + specs.sign = sign::plus; + break; + case '-': + specs.sign = sign::minus; + break; + case ' ': + specs.sign = sign::space; + break; + } + ++begin; + break; + case '#': + enter_state(state::hash, is_arithmetic_type(arg_type)); + specs.alt = true; + ++begin; + break; + case '0': + enter_state(state::zero); + if (!is_arithmetic_type(arg_type)) + throw_format_error("format specifier requires numeric argument"); + if (specs.align == align::none) { + // Ignore 0 if align is specified for compatibility with std::format. + specs.align = align::numeric; + specs.fill[0] = Char('0'); + } + ++begin; + break; + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + case '{': + enter_state(state::width); + begin = parse_dynamic_spec(begin, end, specs.width, specs.width_ref, ctx); + break; + case '.': + enter_state(state::precision, + in(arg_type, float_set | string_set | cstring_set)); + begin = parse_precision(begin, end, specs.precision, specs.precision_ref, + ctx); + break; + case 'L': + enter_state(state::locale, is_arithmetic_type(arg_type)); + specs.localized = true; + ++begin; + break; + case 'd': + return parse_presentation_type(pres::dec, integral_set); + case 'o': + return parse_presentation_type(pres::oct, integral_set); + case 'x': + return parse_presentation_type(pres::hex_lower, integral_set); + case 'X': + return parse_presentation_type(pres::hex_upper, integral_set); + case 'b': + return parse_presentation_type(pres::bin_lower, integral_set); + case 'B': + return parse_presentation_type(pres::bin_upper, integral_set); + case 'a': + return parse_presentation_type(pres::hexfloat_lower, float_set); + case 'A': + return parse_presentation_type(pres::hexfloat_upper, float_set); + case 'e': + return parse_presentation_type(pres::exp_lower, float_set); + case 'E': + return parse_presentation_type(pres::exp_upper, float_set); + case 'f': + return parse_presentation_type(pres::fixed_lower, float_set); + case 'F': + return parse_presentation_type(pres::fixed_upper, float_set); + case 'g': + return parse_presentation_type(pres::general_lower, float_set); + case 'G': + return parse_presentation_type(pres::general_upper, float_set); + case 'c': + return parse_presentation_type(pres::chr, integral_set); + case 's': + return parse_presentation_type(pres::string, + bool_set | string_set | cstring_set); + case 'p': + return parse_presentation_type(pres::pointer, pointer_set | cstring_set); + case '?': + return parse_presentation_type(pres::debug, + char_set | string_set | cstring_set); + case '}': + return begin; + default: { + if (*begin == '}') return begin; + // Parse fill and alignment. + auto fill_end = begin + code_point_length(begin); + if (end - fill_end <= 0) { + throw_format_error("invalid format specifier"); + return begin; + } + if (*begin == '{') { + throw_format_error("invalid fill character '{'"); + return begin; + } + auto align = parse_align(to_ascii(*fill_end)); + enter_state(state::align, align != align::none); + specs.fill = {begin, to_unsigned(fill_end - begin)}; + specs.align = align; + begin = fill_end + 1; + } + } + if (begin == end) return begin; + c = to_ascii(*begin); } - return begin; } template @@ -2561,14 +2462,11 @@ FMT_CONSTEXPR auto parse_replacement_field(const Char* begin, const Char* end, Handler& handler; int arg_id; - FMT_CONSTEXPR void operator()() { arg_id = handler.on_arg_id(); } - FMT_CONSTEXPR void operator()(int id) { arg_id = handler.on_arg_id(id); } - FMT_CONSTEXPR void operator()(basic_string_view id) { + FMT_CONSTEXPR void on_auto() { arg_id = handler.on_arg_id(); } + FMT_CONSTEXPR void on_index(int id) { arg_id = handler.on_arg_id(id); } + FMT_CONSTEXPR void on_name(basic_string_view id) { arg_id = handler.on_arg_id(id); } - FMT_CONSTEXPR void on_error(const char* message) { - if (message) handler.on_error(message); - } }; ++begin; @@ -2597,9 +2495,6 @@ FMT_CONSTEXPR auto parse_replacement_field(const Char* begin, const Char* end, template FMT_CONSTEXPR FMT_INLINE void parse_format_string( basic_string_view format_str, Handler&& handler) { - // Workaround a name-lookup bug in MSVC's modules implementation. - using detail::find; - auto begin = format_str.data(); auto end = begin + format_str.size(); if (end - begin < 32) { @@ -2621,21 +2516,21 @@ FMT_CONSTEXPR FMT_INLINE void parse_format_string( return; } struct writer { - FMT_CONSTEXPR void operator()(const Char* pbegin, const Char* pend) { - if (pbegin == pend) return; + FMT_CONSTEXPR void operator()(const Char* from, const Char* to) { + if (from == to) return; for (;;) { const Char* p = nullptr; - if (!find(pbegin, pend, Char('}'), p)) - return handler_.on_text(pbegin, pend); + if (!find(from, to, Char('}'), p)) + return handler_.on_text(from, to); ++p; - if (p == pend || *p != '}') + if (p == to || *p != '}') return handler_.on_error("unmatched '}' in format string"); - handler_.on_text(pbegin, p); - pbegin = p + 1; + handler_.on_text(from, p); + from = p + 1; } } Handler& handler_; - } write{handler}; + } write = {handler}; while (begin != end) { // Doing two passes with memchr (one for '{' and another for '}') is up to // 2.5x faster than the naive one-pass implementation on big format strings. @@ -2647,6 +2542,13 @@ FMT_CONSTEXPR FMT_INLINE void parse_format_string( } } +template ::value> struct strip_named_arg { + using type = T; +}; +template struct strip_named_arg { + using type = remove_cvref_t; +}; + template FMT_CONSTEXPR auto parse_format_specs(ParseContext& ctx) -> decltype(ctx.begin()) { @@ -2654,208 +2556,30 @@ FMT_CONSTEXPR auto parse_format_specs(ParseContext& ctx) using context = buffer_context; using mapped_type = conditional_t< mapped_type_constant::value != type::custom_type, - decltype(arg_mapper().map(std::declval())), T>; - auto f = conditional_t::value, - formatter, - fallback_formatter>(); - return f.parse(ctx); + decltype(arg_mapper().map(std::declval())), + typename strip_named_arg::type>; + return formatter().parse(ctx); } -// A parse context with extra argument id checks. It is only used at compile -// time because adding checks at runtime would introduce substantial overhead -// and would be redundant since argument ids are checked when arguments are -// retrieved anyway. -template -class compile_parse_context - : public basic_format_parse_context { - private: - int num_args_; - using base = basic_format_parse_context; - - public: - explicit FMT_CONSTEXPR compile_parse_context( - basic_string_view format_str, - int num_args = (std::numeric_limits::max)(), ErrorHandler eh = {}) - : base(format_str, eh), num_args_(num_args) {} - - FMT_CONSTEXPR auto next_arg_id() -> int { - int id = base::next_arg_id(); - if (id >= num_args_) this->on_error("argument not found"); - return id; - } - - FMT_CONSTEXPR void check_arg_id(int id) { - base::check_arg_id(id); - if (id >= num_args_) this->on_error("argument not found"); - } - using base::check_arg_id; -}; - -template -FMT_CONSTEXPR void check_int_type_spec(presentation_type type, - ErrorHandler&& eh) { - if (type > presentation_type::bin_upper && type != presentation_type::chr) - eh.on_error("invalid type specifier"); -} - -// Checks char specs and returns true if the type spec is char (and not int). -template -FMT_CONSTEXPR auto check_char_specs(const basic_format_specs& specs, - ErrorHandler&& eh = {}) -> bool { +// Checks char specs and returns true iff the presentation type is char-like. +template +FMT_CONSTEXPR auto check_char_specs(const format_specs& specs) -> bool { if (specs.type != presentation_type::none && specs.type != presentation_type::chr && specs.type != presentation_type::debug) { - check_int_type_spec(specs.type, eh); return false; } if (specs.align == align::numeric || specs.sign != sign::none || specs.alt) - eh.on_error("invalid format specifier for char"); + throw_format_error("invalid format specifier for char"); return true; } -// A floating-point presentation format. -enum class float_format : unsigned char { - general, // General: exponent notation or fixed point based on magnitude. - exp, // Exponent notation with the default precision of 6, e.g. 1.2e-3. - fixed, // Fixed point with the default precision of 6, e.g. 0.0012. - hex -}; +constexpr FMT_INLINE_VARIABLE int invalid_arg_index = -1; -struct float_specs { - int precision; - float_format format : 8; - sign_t sign : 8; - bool upper : 1; - bool locale : 1; - bool binary32 : 1; - bool showpoint : 1; -}; - -template -FMT_CONSTEXPR auto parse_float_type_spec(const basic_format_specs& specs, - ErrorHandler&& eh = {}) - -> float_specs { - auto result = float_specs(); - result.showpoint = specs.alt; - result.locale = specs.localized; - switch (specs.type) { - case presentation_type::none: - result.format = float_format::general; - break; - case presentation_type::general_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::general_lower: - result.format = float_format::general; - break; - case presentation_type::exp_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::exp_lower: - result.format = float_format::exp; - result.showpoint |= specs.precision != 0; - break; - case presentation_type::fixed_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::fixed_lower: - result.format = float_format::fixed; - result.showpoint |= specs.precision != 0; - break; - case presentation_type::hexfloat_upper: - result.upper = true; - FMT_FALLTHROUGH; - case presentation_type::hexfloat_lower: - result.format = float_format::hex; - break; - default: - eh.on_error("invalid type specifier"); - break; - } - return result; -} - -template -FMT_CONSTEXPR auto check_cstring_type_spec(presentation_type type, - ErrorHandler&& eh = {}) -> bool { - if (type == presentation_type::none || type == presentation_type::string) - return true; - if (type != presentation_type::pointer) eh.on_error("invalid type specifier"); - return false; -} - -template -FMT_CONSTEXPR void check_string_type_spec(presentation_type type, - ErrorHandler&& eh = {}) { - if (type != presentation_type::none && type != presentation_type::string && - type != presentation_type::debug) - eh.on_error("invalid type specifier"); -} - -template -FMT_CONSTEXPR void check_pointer_type_spec(presentation_type type, - ErrorHandler&& eh) { - if (type != presentation_type::none && type != presentation_type::pointer) - eh.on_error("invalid type specifier"); -} - -// A parse_format_specs handler that checks if specifiers are consistent with -// the argument type. -template class specs_checker : public Handler { - private: - detail::type arg_type_; - - FMT_CONSTEXPR void require_numeric_argument() { - if (!is_arithmetic_type(arg_type_)) - this->on_error("format specifier requires numeric argument"); - } - - public: - FMT_CONSTEXPR specs_checker(const Handler& handler, detail::type arg_type) - : Handler(handler), arg_type_(arg_type) {} - - FMT_CONSTEXPR void on_align(align_t align) { - if (align == align::numeric) require_numeric_argument(); - Handler::on_align(align); - } - - FMT_CONSTEXPR void on_sign(sign_t s) { - require_numeric_argument(); - if (is_integral_type(arg_type_) && arg_type_ != type::int_type && - arg_type_ != type::long_long_type && arg_type_ != type::int128_type && - arg_type_ != type::char_type) { - this->on_error("format specifier requires signed argument"); - } - Handler::on_sign(s); - } - - FMT_CONSTEXPR void on_hash() { - require_numeric_argument(); - Handler::on_hash(); - } - - FMT_CONSTEXPR void on_localized() { - require_numeric_argument(); - Handler::on_localized(); - } - - FMT_CONSTEXPR void on_zero() { - require_numeric_argument(); - Handler::on_zero(); - } - - FMT_CONSTEXPR void end_precision() { - if (is_integral_type(arg_type_) || arg_type_ == type::pointer_type) - this->on_error("precision not allowed for this argument type"); - } -}; - -constexpr int invalid_arg_index = -1; - -#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS +#if FMT_USE_NONTYPE_TEMPLATE_ARGS template constexpr auto get_arg_index_by_name(basic_string_view name) -> int { - if constexpr (detail::is_statically_named_arg()) { + if constexpr (is_statically_named_arg()) { if (name == T::name) return N; } if constexpr (sizeof...(Args) > 0) @@ -2867,7 +2591,7 @@ constexpr auto get_arg_index_by_name(basic_string_view name) -> int { template FMT_CONSTEXPR auto get_arg_index_by_name(basic_string_view name) -> int { -#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS +#if FMT_USE_NONTYPE_TEMPLATE_ARGS if constexpr (sizeof...(Args) > 0) return get_arg_index_by_name<0, Args...>(name); #endif @@ -2875,23 +2599,26 @@ FMT_CONSTEXPR auto get_arg_index_by_name(basic_string_view name) -> int { return invalid_arg_index; } -template -class format_string_checker { +template class format_string_checker { private: - using parse_context_type = compile_parse_context; - enum { num_args = sizeof...(Args) }; + using parse_context_type = compile_parse_context; + static constexpr int num_args = sizeof...(Args); // Format specifier parsing function. + // In the future basic_format_parse_context will replace compile_parse_context + // here and will use is_constant_evaluated and downcasting to access the data + // needed for compile-time checks: https://godbolt.org/z/GvWzcTjh1. using parse_func = const Char* (*)(parse_context_type&); parse_context_type context_; - parse_func parse_funcs_[num_args > 0 ? num_args : 1]; + parse_func parse_funcs_[num_args > 0 ? static_cast(num_args) : 1]; + type types_[num_args > 0 ? static_cast(num_args) : 1]; public: - explicit FMT_CONSTEXPR format_string_checker( - basic_string_view format_str, ErrorHandler eh) - : context_(format_str, num_args, eh), - parse_funcs_{&parse_format_specs...} {} + explicit FMT_CONSTEXPR format_string_checker(basic_string_view fmt) + : context_(fmt, num_args, types_), + parse_funcs_{&parse_format_specs...}, + types_{mapped_type_constant>::value...} {} FMT_CONSTEXPR void on_text(const Char*, const Char*) {} @@ -2900,10 +2627,10 @@ class format_string_checker { return context_.check_arg_id(id), id; } FMT_CONSTEXPR auto on_arg_id(basic_string_view id) -> int { -#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS +#if FMT_USE_NONTYPE_TEMPLATE_ARGS auto index = get_arg_index_by_name(id); if (index == invalid_arg_index) on_error("named argument is not found"); - return context_.check_arg_id(index), index; + return index; #else (void)id; on_error("compile-time checks for named arguments require C++20 support"); @@ -2915,41 +2642,55 @@ class format_string_checker { FMT_CONSTEXPR auto on_format_specs(int id, const Char* begin, const Char*) -> const Char* { - context_.advance_to(context_.begin() + (begin - &*context_.begin())); + context_.advance_to(begin); // id >= 0 check is a workaround for gcc 10 bug (#2065). return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin; } FMT_CONSTEXPR void on_error(const char* message) { - context_.on_error(message); + throw_format_error(message); } }; +// Reports a compile-time error if S is not a valid format string. +template ::value)> +FMT_INLINE void check_format_string(const S&) { +#ifdef FMT_ENFORCE_COMPILE_STRING + static_assert(is_compile_string::value, + "FMT_ENFORCE_COMPILE_STRING requires all format strings to use " + "FMT_STRING."); +#endif +} template ::value), int>> + FMT_ENABLE_IF(is_compile_string::value)> void check_format_string(S format_str) { - FMT_CONSTEXPR auto s = to_string_view(format_str); - using checker = format_string_checker...>; - FMT_CONSTEXPR bool invalid_format = - (parse_format_string(s, checker(s, {})), true); - ignore_unused(invalid_format); + using char_t = typename S::char_type; + FMT_CONSTEXPR auto s = basic_string_view(format_str); + using checker = format_string_checker...>; + FMT_CONSTEXPR bool error = (parse_format_string(s, checker(s)), true); + ignore_unused(error); } +template struct vformat_args { + using type = basic_format_args< + basic_format_context>, Char>>; +}; +template <> struct vformat_args { using type = format_args; }; + +// Use vformat_args and avoid type_identity to keep symbols short. template -void vformat_to( - buffer& buf, basic_string_view fmt, - basic_format_args)> args, - locale_ref loc = {}); +void vformat_to(buffer& buf, basic_string_view fmt, + typename vformat_args::type args, locale_ref loc = {}); FMT_API void vprint_mojibake(std::FILE*, string_view, format_args); #ifndef _WIN32 inline void vprint_mojibake(std::FILE*, string_view, format_args) {} #endif -FMT_END_DETAIL_NAMESPACE +} // namespace detail -// A formatter specialization for the core types corresponding to detail::type -// constants. +FMT_BEGIN_EXPORT + +// A formatter specialization for natively supported types. template struct formatter::value != @@ -2958,72 +2699,21 @@ struct formatter specs_; public: - // Parses format specifiers stopping either at the end of the range or at the - // terminating '}'. template - FMT_CONSTEXPR auto parse(ParseContext& ctx) -> decltype(ctx.begin()) { - auto begin = ctx.begin(), end = ctx.end(); - if (begin == end) return begin; - using handler_type = detail::dynamic_specs_handler; + FMT_CONSTEXPR auto parse(ParseContext& ctx) -> const Char* { auto type = detail::type_constant::value; - auto checker = - detail::specs_checker(handler_type(specs_, ctx), type); - auto it = detail::parse_format_specs(begin, end, checker); - auto eh = ctx.error_handler(); - switch (type) { - case detail::type::none_type: - FMT_ASSERT(false, "invalid argument type"); - break; - case detail::type::bool_type: - if (specs_.type == presentation_type::none || - specs_.type == presentation_type::string) { - break; - } - FMT_FALLTHROUGH; - case detail::type::int_type: - case detail::type::uint_type: - case detail::type::long_long_type: - case detail::type::ulong_long_type: - case detail::type::int128_type: - case detail::type::uint128_type: - detail::check_int_type_spec(specs_.type, eh); - break; - case detail::type::char_type: - detail::check_char_specs(specs_, eh); - break; - case detail::type::float_type: - if (detail::const_check(FMT_USE_FLOAT)) - detail::parse_float_type_spec(specs_, eh); - else - FMT_ASSERT(false, "float support disabled"); - break; - case detail::type::double_type: - if (detail::const_check(FMT_USE_DOUBLE)) - detail::parse_float_type_spec(specs_, eh); - else - FMT_ASSERT(false, "double support disabled"); - break; - case detail::type::long_double_type: - if (detail::const_check(FMT_USE_LONG_DOUBLE)) - detail::parse_float_type_spec(specs_, eh); - else - FMT_ASSERT(false, "long double support disabled"); - break; - case detail::type::cstring_type: - detail::check_cstring_type_spec(specs_.type, eh); - break; - case detail::type::string_type: - detail::check_string_type_spec(specs_.type, eh); - break; - case detail::type::pointer_type: - detail::check_pointer_type_spec(specs_.type, eh); - break; - case detail::type::custom_type: - // Custom format specifiers are checked in parse functions of - // formatter specializations. - break; - } - return it; + auto end = + detail::parse_format_specs(ctx.begin(), ctx.end(), specs_, ctx, type); + if (type == detail::type::char_type) detail::check_char_specs(specs_); + return end; + } + + template ::value, + FMT_ENABLE_IF(U == detail::type::string_type || + U == detail::type::cstring_type || + U == detail::type::char_type)> + FMT_CONSTEXPR void set_debug_format(bool set = true) { + specs_.type = set ? presentation_type::debug : presentation_type::none; } template @@ -3035,7 +2725,7 @@ struct formatter \ struct formatter : formatter { \ template \ - auto format(Type const& val, FormatContext& ctx) const \ + auto format(const Type& val, FormatContext& ctx) const \ -> decltype(ctx.out()) { \ return formatter::format(static_cast(val), ctx); \ } \ @@ -3052,7 +2742,9 @@ FMT_FORMAT_AS(std::basic_string, basic_string_view); FMT_FORMAT_AS(std::nullptr_t, const void*); FMT_FORMAT_AS(detail::std_string_view, basic_string_view); -template struct basic_runtime { basic_string_view str; }; +template struct runtime_format_string { + basic_string_view str; +}; /** A compile-time format string. */ template class basic_format_string { @@ -3072,25 +2764,24 @@ template class basic_format_string { #ifdef FMT_HAS_CONSTEVAL if constexpr (detail::count_named_args() == detail::count_statically_named_args()) { - using checker = detail::format_string_checker...>; - detail::parse_format_string(str_, checker(s, {})); + using checker = + detail::format_string_checker...>; + detail::parse_format_string(str_, checker(s)); } #else detail::check_format_string(s); #endif } - basic_format_string(basic_runtime r) : str_(r.str) {} + basic_format_string(runtime_format_string fmt) : str_(fmt.str) {} FMT_INLINE operator basic_string_view() const { return str_; } + FMT_INLINE auto get() const -> basic_string_view { return str_; } }; #if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 // Workaround broken conversion on older gcc. -template using format_string = string_view; -template auto runtime(const S& s) -> basic_string_view> { - return s; -} +template using format_string = string_view; +inline auto runtime(string_view s) -> string_view { return s; } #else template using format_string = basic_format_string...>; @@ -3104,9 +2795,7 @@ using format_string = basic_format_string...>; fmt::print(fmt::runtime("{:d}"), "I am not a number"); \endrst */ -template auto runtime(const S& s) -> basic_runtime> { - return {{s}}; -} +inline auto runtime(string_view s) -> runtime_format_string<> { return {{s}}; } #endif FMT_API auto vformat(string_view fmt, format_args args) -> std::string; @@ -3132,10 +2821,9 @@ FMT_NODISCARD FMT_INLINE auto format(format_string fmt, T&&... args) template ::value)> auto vformat_to(OutputIt out, string_view fmt, format_args args) -> OutputIt { - using detail::get_buffer; - auto&& buf = get_buffer(out); + auto&& buf = detail::get_buffer(out); detail::vformat_to(buf, fmt, args, {}); - return detail::get_iterator(buf); + return detail::get_iterator(buf, out); } /** @@ -3194,7 +2882,7 @@ template FMT_NODISCARD FMT_INLINE auto formatted_size(format_string fmt, T&&... args) -> size_t { auto buf = detail::counting_buffer<>(); - detail::vformat_to(buf, string_view(fmt), fmt::make_format_args(args...), {}); + detail::vformat_to(buf, fmt, fmt::make_format_args(args...), {}); return buf.count(); } @@ -3235,7 +2923,25 @@ FMT_INLINE void print(std::FILE* f, format_string fmt, T&&... args) { : detail::vprint_mojibake(f, fmt, vargs); } -FMT_MODULE_EXPORT_END +/** + Formats ``args`` according to specifications in ``fmt`` and writes the + output to the file ``f`` followed by a newline. + */ +template +FMT_INLINE void println(std::FILE* f, format_string fmt, T&&... args) { + return fmt::print(f, "{}\n", fmt::format(fmt, std::forward(args)...)); +} + +/** + Formats ``args`` according to specifications in ``fmt`` and writes the output + to ``stdout`` followed by a newline. + */ +template +FMT_INLINE void println(format_string fmt, T&&... args) { + return fmt::println(stdout, fmt, std::forward(args)...); +} + +FMT_END_EXPORT FMT_GCC_PRAGMA("GCC pop_options") FMT_END_NAMESPACE diff --git a/vendor/Fmt/include/fmt/format-inl.h b/vendor/Fmt/include/fmt/format-inl.h index e1010a90..5bae3c7b 100644 --- a/vendor/Fmt/include/fmt/format-inl.h +++ b/vendor/Fmt/include/fmt/format-inl.h @@ -9,13 +9,9 @@ #define FMT_FORMAT_INL_H_ #include -#include #include // errno #include #include -#include -#include // std::memmove -#include #include #ifndef FMT_STATIC_THOUSANDS_SEPARATOR @@ -44,19 +40,6 @@ FMT_FUNC void throw_format_error(const char* message) { FMT_THROW(format_error(message)); } -#ifndef _MSC_VER -# define FMT_SNPRINTF snprintf -#else // _MSC_VER -inline int fmt_snprintf(char* buffer, size_t size, const char* format, ...) { - va_list args; - va_start(args, format); - int result = vsnprintf_s(buffer, size, _TRUNCATE, format, args); - va_end(args); - return result; -} -# define FMT_SNPRINTF fmt_snprintf -#endif // _MSC_VER - FMT_FUNC void format_error_code(detail::buffer& out, int error_code, string_view message) noexcept { // Report error code making sure that the output fits into @@ -93,7 +76,8 @@ FMT_FUNC void report_error(format_func func, int error_code, inline void fwrite_fully(const void* ptr, size_t size, size_t count, FILE* stream) { size_t written = std::fwrite(ptr, size, count, stream); - if (written < count) FMT_THROW(system_error(errno, "cannot write to file")); + if (written < count) + FMT_THROW(system_error(errno, FMT_STRING("cannot write to file"))); } #ifndef FMT_STATIC_THOUSANDS_SEPARATOR @@ -127,657 +111,51 @@ template FMT_FUNC Char decimal_point_impl(locale_ref) { return '.'; } #endif + +FMT_FUNC auto write_loc(appender out, loc_value value, + const format_specs<>& specs, locale_ref loc) -> bool { +#ifndef FMT_STATIC_THOUSANDS_SEPARATOR + auto locale = loc.get(); + // We cannot use the num_put facet because it may produce output in + // a wrong encoding. + using facet = format_facet; + if (std::has_facet(locale)) + return std::use_facet(locale).put(out, value, specs); + return facet(locale).put(out, value, specs); +#endif + return false; +} } // namespace detail -#if !FMT_MSC_VER -FMT_API FMT_FUNC format_error::~format_error() noexcept = default; +template typename Locale::id format_facet::id; + +#ifndef FMT_STATIC_THOUSANDS_SEPARATOR +template format_facet::format_facet(Locale& loc) { + auto& numpunct = std::use_facet>(loc); + grouping_ = numpunct.grouping(); + if (!grouping_.empty()) separator_ = std::string(1, numpunct.thousands_sep()); +} + +template <> +FMT_API FMT_FUNC auto format_facet::do_put( + appender out, loc_value val, const format_specs<>& specs) const -> bool { + return val.visit( + detail::loc_writer<>{out, specs, separator_, grouping_, decimal_point_}); +} #endif -FMT_FUNC std::system_error vsystem_error(int error_code, string_view format_str, +FMT_FUNC std::system_error vsystem_error(int error_code, string_view fmt, format_args args) { auto ec = std::error_code(error_code, std::generic_category()); - return std::system_error(ec, vformat(format_str, args)); + return std::system_error(ec, vformat(fmt, args)); } namespace detail { -template struct basic_impl_data { - // Normalized 64-bit significands of pow(10, k), for k = -348, -340, ..., 340. - // These are generated by support/compute-powers.py. - static constexpr uint64_t pow10_significands[87] = { - 0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76, - 0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df, - 0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c, - 0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8fada6c9b5, - 0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57, - 0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7, - 0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e, - 0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996, - 0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126, - 0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053, - 0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f, - 0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b, - 0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06, - 0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb, - 0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000, - 0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984, - 0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068, - 0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8, - 0x83c7088e1aab65db, 0xc45d1df942711d9a, 0x924d692ca61be758, - 0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85, - 0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d, - 0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25, - 0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2, - 0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a, - 0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410, - 0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129, - 0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85, - 0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841, - 0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b, - }; - -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wnarrowing" -#endif - // Binary exponents of pow(10, k), for k = -348, -340, ..., 340, corresponding - // to significands above. - static constexpr int16_t pow10_exponents[87] = { - -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954, - -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661, - -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369, - -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77, - -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216, - 242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508, - 534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800, - 827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066}; -#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 -# pragma GCC diagnostic pop -#endif - - static constexpr uint64_t power_of_10_64[20] = { - 1, FMT_POWERS_OF_10(1ULL), FMT_POWERS_OF_10(1000000000ULL), - 10000000000000000000ULL}; -}; - -// This is a struct rather than an alias to avoid shadowing warnings in gcc. -struct impl_data : basic_impl_data<> {}; - -#if __cplusplus < 201703L -template -constexpr uint64_t basic_impl_data::pow10_significands[]; -template constexpr int16_t basic_impl_data::pow10_exponents[]; -template constexpr uint64_t basic_impl_data::power_of_10_64[]; -#endif - -template struct bits { - static FMT_CONSTEXPR_DECL const int value = - static_cast(sizeof(T) * std::numeric_limits::digits); -}; - -// A floating-point number f * pow(2, e). -template struct basic_fp { - F f; - int e; - - static constexpr const int num_significand_bits = bits::value; - - constexpr basic_fp() : f(0), e(0) {} - constexpr basic_fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {} - - // Constructs fp from an IEEE754 floating-point number. It is a template to - // prevent compile errors on systems where n is not IEEE754. - template explicit FMT_CONSTEXPR basic_fp(Float n) { - assign(n); - } - - template - using is_supported = bool_constant::is_iec559 && - std::numeric_limits::digits <= 113>; - - // Assigns d to this and return true iff predecessor is closer than successor. - template ::value)> - FMT_CONSTEXPR bool assign(Float n) { - // Assume float is in the format [sign][exponent][significand]. - using carrier_uint = typename dragonbox::float_info::carrier_uint; - const carrier_uint implicit_bit = carrier_uint(1) - << detail::num_significand_bits(); - const carrier_uint significand_mask = implicit_bit - 1; - auto u = bit_cast(n); - f = static_cast(u & significand_mask); - int biased_e = static_cast((u & exponent_mask()) >> - detail::num_significand_bits()); - // The predecessor is closer if n is a normalized power of 2 (f == 0) other - // than the smallest normalized number (biased_e > 1). - bool is_predecessor_closer = f == 0 && biased_e > 1; - if (biased_e != 0) - f += static_cast(implicit_bit); - else - biased_e = 1; // Subnormals use biased exponent 1 (min exponent). - const int exponent_bias = std::numeric_limits::max_exponent - 1; - e = biased_e - exponent_bias - std::numeric_limits::digits + 1; - return is_predecessor_closer; - } - - template ::value)> - bool assign(Float) = delete; -}; - -using fp = basic_fp; - -// Normalizes the value converted from double and multiplied by (1 << SHIFT). -template -FMT_CONSTEXPR basic_fp normalize(basic_fp value) { - // Handle subnormals. - const uint64_t implicit_bit = 1ULL << num_significand_bits(); - const auto shifted_implicit_bit = implicit_bit << SHIFT; - while ((value.f & shifted_implicit_bit) == 0) { - value.f <<= 1; - --value.e; - } - // Subtract 1 to account for hidden bit. - const auto offset = - fp::num_significand_bits - num_significand_bits() - SHIFT - 1; - value.f <<= offset; - value.e -= offset; - return value; -} - template inline bool operator==(basic_fp x, basic_fp y) { return x.f == y.f && x.e == y.e; } -// Computes lhs * rhs / pow(2, 64) rounded to nearest with half-up tie breaking. -FMT_CONSTEXPR inline uint64_t multiply(uint64_t lhs, uint64_t rhs) { -#if FMT_USE_INT128 - auto product = static_cast<__uint128_t>(lhs) * rhs; - auto f = static_cast(product >> 64); - return (static_cast(product) & (1ULL << 63)) != 0 ? f + 1 : f; -#else - // Multiply 32-bit parts of significands. - uint64_t mask = (1ULL << 32) - 1; - uint64_t a = lhs >> 32, b = lhs & mask; - uint64_t c = rhs >> 32, d = rhs & mask; - uint64_t ac = a * c, bc = b * c, ad = a * d, bd = b * d; - // Compute mid 64-bit of result and round. - uint64_t mid = (bd >> 32) + (ad & mask) + (bc & mask) + (1U << 31); - return ac + (ad >> 32) + (bc >> 32) + (mid >> 32); -#endif -} - -FMT_CONSTEXPR inline fp operator*(fp x, fp y) { - return {multiply(x.f, y.f), x.e + y.e + 64}; -} - -// Returns a cached power of 10 `c_k = c_k.f * pow(2, c_k.e)` such that its -// (binary) exponent satisfies `min_exponent <= c_k.e <= min_exponent + 28`. -FMT_CONSTEXPR inline fp get_cached_power(int min_exponent, - int& pow10_exponent) { - const int shift = 32; - // log10(2) = 0x0.4d104d427de7fbcc... - const int64_t significand = 0x4d104d427de7fbcc; - int index = static_cast( - ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) + - ((int64_t(1) << shift) - 1)) // ceil - >> 32 // arithmetic shift - ); - // Decimal exponent of the first (smallest) cached power of 10. - const int first_dec_exp = -348; - // Difference between 2 consecutive decimal exponents in cached powers of 10. - const int dec_exp_step = 8; - index = (index - first_dec_exp - 1) / dec_exp_step + 1; - pow10_exponent = first_dec_exp + index * dec_exp_step; - return {impl_data::pow10_significands[index], - impl_data::pow10_exponents[index]}; -} - -class bigint { - private: - // A bigint is stored as an array of bigits (big digits), with bigit at index - // 0 being the least significant one. - using bigit = uint32_t; - using double_bigit = uint64_t; - enum { bigits_capacity = 32 }; - basic_memory_buffer bigits_; - int exp_; - - FMT_CONSTEXPR20 bigit operator[](int index) const { - return bigits_[to_unsigned(index)]; - } - FMT_CONSTEXPR20 bigit& operator[](int index) { - return bigits_[to_unsigned(index)]; - } - - static FMT_CONSTEXPR_DECL const int bigit_bits = bits::value; - - friend struct formatter; - - FMT_CONSTEXPR20 void subtract_bigits(int index, bigit other, bigit& borrow) { - auto result = static_cast((*this)[index]) - other - borrow; - (*this)[index] = static_cast(result); - borrow = static_cast(result >> (bigit_bits * 2 - 1)); - } - - FMT_CONSTEXPR20 void remove_leading_zeros() { - int num_bigits = static_cast(bigits_.size()) - 1; - while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits; - bigits_.resize(to_unsigned(num_bigits + 1)); - } - - // Computes *this -= other assuming aligned bigints and *this >= other. - FMT_CONSTEXPR20 void subtract_aligned(const bigint& other) { - FMT_ASSERT(other.exp_ >= exp_, "unaligned bigints"); - FMT_ASSERT(compare(*this, other) >= 0, ""); - bigit borrow = 0; - int i = other.exp_ - exp_; - for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j) - subtract_bigits(i, other.bigits_[j], borrow); - while (borrow > 0) subtract_bigits(i, 0, borrow); - remove_leading_zeros(); - } - - FMT_CONSTEXPR20 void multiply(uint32_t value) { - const double_bigit wide_value = value; - bigit carry = 0; - for (size_t i = 0, n = bigits_.size(); i < n; ++i) { - double_bigit result = bigits_[i] * wide_value + carry; - bigits_[i] = static_cast(result); - carry = static_cast(result >> bigit_bits); - } - if (carry != 0) bigits_.push_back(carry); - } - - FMT_CONSTEXPR20 void multiply(uint64_t value) { - const bigit mask = ~bigit(0); - const double_bigit lower = value & mask; - const double_bigit upper = value >> bigit_bits; - double_bigit carry = 0; - for (size_t i = 0, n = bigits_.size(); i < n; ++i) { - double_bigit result = bigits_[i] * lower + (carry & mask); - carry = - bigits_[i] * upper + (result >> bigit_bits) + (carry >> bigit_bits); - bigits_[i] = static_cast(result); - } - while (carry != 0) { - bigits_.push_back(carry & mask); - carry >>= bigit_bits; - } - } - - public: - FMT_CONSTEXPR20 bigint() : exp_(0) {} - explicit bigint(uint64_t n) { assign(n); } - - bigint(const bigint&) = delete; - void operator=(const bigint&) = delete; - - FMT_CONSTEXPR20 void assign(const bigint& other) { - auto size = other.bigits_.size(); - bigits_.resize(size); - auto data = other.bigits_.data(); - std::copy(data, data + size, make_checked(bigits_.data(), size)); - exp_ = other.exp_; - } - - FMT_CONSTEXPR20 void assign(uint64_t n) { - size_t num_bigits = 0; - do { - bigits_[num_bigits++] = n & ~bigit(0); - n >>= bigit_bits; - } while (n != 0); - bigits_.resize(num_bigits); - exp_ = 0; - } - - FMT_CONSTEXPR20 int num_bigits() const { - return static_cast(bigits_.size()) + exp_; - } - - FMT_NOINLINE FMT_CONSTEXPR20 bigint& operator<<=(int shift) { - FMT_ASSERT(shift >= 0, ""); - exp_ += shift / bigit_bits; - shift %= bigit_bits; - if (shift == 0) return *this; - bigit carry = 0; - for (size_t i = 0, n = bigits_.size(); i < n; ++i) { - bigit c = bigits_[i] >> (bigit_bits - shift); - bigits_[i] = (bigits_[i] << shift) + carry; - carry = c; - } - if (carry != 0) bigits_.push_back(carry); - return *this; - } - - template FMT_CONSTEXPR20 bigint& operator*=(Int value) { - FMT_ASSERT(value > 0, ""); - multiply(uint32_or_64_or_128_t(value)); - return *this; - } - - friend FMT_CONSTEXPR20 int compare(const bigint& lhs, const bigint& rhs) { - int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits(); - if (num_lhs_bigits != num_rhs_bigits) - return num_lhs_bigits > num_rhs_bigits ? 1 : -1; - int i = static_cast(lhs.bigits_.size()) - 1; - int j = static_cast(rhs.bigits_.size()) - 1; - int end = i - j; - if (end < 0) end = 0; - for (; i >= end; --i, --j) { - bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j]; - if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1; - } - if (i != j) return i > j ? 1 : -1; - return 0; - } - - // Returns compare(lhs1 + lhs2, rhs). - friend FMT_CONSTEXPR20 int add_compare(const bigint& lhs1, const bigint& lhs2, - const bigint& rhs) { - int max_lhs_bigits = (std::max)(lhs1.num_bigits(), lhs2.num_bigits()); - int num_rhs_bigits = rhs.num_bigits(); - if (max_lhs_bigits + 1 < num_rhs_bigits) return -1; - if (max_lhs_bigits > num_rhs_bigits) return 1; - auto get_bigit = [](const bigint& n, int i) -> bigit { - return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0; - }; - double_bigit borrow = 0; - int min_exp = (std::min)((std::min)(lhs1.exp_, lhs2.exp_), rhs.exp_); - for (int i = num_rhs_bigits - 1; i >= min_exp; --i) { - double_bigit sum = - static_cast(get_bigit(lhs1, i)) + get_bigit(lhs2, i); - bigit rhs_bigit = get_bigit(rhs, i); - if (sum > rhs_bigit + borrow) return 1; - borrow = rhs_bigit + borrow - sum; - if (borrow > 1) return -1; - borrow <<= bigit_bits; - } - return borrow != 0 ? -1 : 0; - } - - // Assigns pow(10, exp) to this bigint. - FMT_CONSTEXPR20 void assign_pow10(int exp) { - FMT_ASSERT(exp >= 0, ""); - if (exp == 0) return assign(1); - // Find the top bit. - int bitmask = 1; - while (exp >= bitmask) bitmask <<= 1; - bitmask >>= 1; - // pow(10, exp) = pow(5, exp) * pow(2, exp). First compute pow(5, exp) by - // repeated squaring and multiplication. - assign(5); - bitmask >>= 1; - while (bitmask != 0) { - square(); - if ((exp & bitmask) != 0) *this *= 5; - bitmask >>= 1; - } - *this <<= exp; // Multiply by pow(2, exp) by shifting. - } - - FMT_CONSTEXPR20 void square() { - int num_bigits = static_cast(bigits_.size()); - int num_result_bigits = 2 * num_bigits; - basic_memory_buffer n(std::move(bigits_)); - bigits_.resize(to_unsigned(num_result_bigits)); - auto sum = uint128_t(); - for (int bigit_index = 0; bigit_index < num_bigits; ++bigit_index) { - // Compute bigit at position bigit_index of the result by adding - // cross-product terms n[i] * n[j] such that i + j == bigit_index. - for (int i = 0, j = bigit_index; j >= 0; ++i, --j) { - // Most terms are multiplied twice which can be optimized in the future. - sum += static_cast(n[i]) * n[j]; - } - (*this)[bigit_index] = static_cast(sum); - sum >>= bits::value; // Compute the carry. - } - // Do the same for the top half. - for (int bigit_index = num_bigits; bigit_index < num_result_bigits; - ++bigit_index) { - for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;) - sum += static_cast(n[i++]) * n[j--]; - (*this)[bigit_index] = static_cast(sum); - sum >>= bits::value; - } - remove_leading_zeros(); - exp_ *= 2; - } - - // If this bigint has a bigger exponent than other, adds trailing zero to make - // exponents equal. This simplifies some operations such as subtraction. - FMT_CONSTEXPR20 void align(const bigint& other) { - int exp_difference = exp_ - other.exp_; - if (exp_difference <= 0) return; - int num_bigits = static_cast(bigits_.size()); - bigits_.resize(to_unsigned(num_bigits + exp_difference)); - for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j) - bigits_[j] = bigits_[i]; - std::uninitialized_fill_n(bigits_.data(), exp_difference, 0); - exp_ -= exp_difference; - } - - // Divides this bignum by divisor, assigning the remainder to this and - // returning the quotient. - FMT_CONSTEXPR20 int divmod_assign(const bigint& divisor) { - FMT_ASSERT(this != &divisor, ""); - if (compare(*this, divisor) < 0) return 0; - FMT_ASSERT(divisor.bigits_[divisor.bigits_.size() - 1u] != 0, ""); - align(divisor); - int quotient = 0; - do { - subtract_aligned(divisor); - ++quotient; - } while (compare(*this, divisor) >= 0); - return quotient; - } -}; - -enum class round_direction { unknown, up, down }; - -// Given the divisor (normally a power of 10), the remainder = v % divisor for -// some number v and the error, returns whether v should be rounded up, down, or -// whether the rounding direction can't be determined due to error. -// error should be less than divisor / 2. -FMT_CONSTEXPR inline round_direction get_round_direction(uint64_t divisor, - uint64_t remainder, - uint64_t error) { - FMT_ASSERT(remainder < divisor, ""); // divisor - remainder won't overflow. - FMT_ASSERT(error < divisor, ""); // divisor - error won't overflow. - FMT_ASSERT(error < divisor - error, ""); // error * 2 won't overflow. - // Round down if (remainder + error) * 2 <= divisor. - if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2) - return round_direction::down; - // Round up if (remainder - error) * 2 >= divisor. - if (remainder >= error && - remainder - error >= divisor - (remainder - error)) { - return round_direction::up; - } - return round_direction::unknown; -} - -namespace digits { -enum result { - more, // Generate more digits. - done, // Done generating digits. - error // Digit generation cancelled due to an error. -}; -} - -struct gen_digits_handler { - char* buf; - int size; - int precision; - int exp10; - bool fixed; - - FMT_CONSTEXPR digits::result on_digit(char digit, uint64_t divisor, - uint64_t remainder, uint64_t error, - bool integral) { - FMT_ASSERT(remainder < divisor, ""); - buf[size++] = digit; - if (!integral && error >= remainder) return digits::error; - if (size < precision) return digits::more; - if (!integral) { - // Check if error * 2 < divisor with overflow prevention. - // The check is not needed for the integral part because error = 1 - // and divisor > (1 << 32) there. - if (error >= divisor || error >= divisor - error) return digits::error; - } else { - FMT_ASSERT(error == 1 && divisor > 2, ""); - } - auto dir = get_round_direction(divisor, remainder, error); - if (dir != round_direction::up) - return dir == round_direction::down ? digits::done : digits::error; - ++buf[size - 1]; - for (int i = size - 1; i > 0 && buf[i] > '9'; --i) { - buf[i] = '0'; - ++buf[i - 1]; - } - if (buf[0] > '9') { - buf[0] = '1'; - if (fixed) - buf[size++] = '0'; - else - ++exp10; - } - return digits::done; - } -}; - -inline FMT_CONSTEXPR20 void adjust_precision(int& precision, int exp10) { - // Adjust fixed precision by exponent because it is relative to decimal - // point. - if (exp10 > 0 && precision > max_value() - exp10) - FMT_THROW(format_error("number is too big")); - precision += exp10; -} - -// Generates output using the Grisu digit-gen algorithm. -// error: the size of the region (lower, upper) outside of which numbers -// definitely do not round to value (Delta in Grisu3). -FMT_INLINE FMT_CONSTEXPR20 digits::result grisu_gen_digits( - fp value, uint64_t error, int& exp, gen_digits_handler& handler) { - const fp one(1ULL << -value.e, value.e); - // The integral part of scaled value (p1 in Grisu) = value / one. It cannot be - // zero because it contains a product of two 64-bit numbers with MSB set (due - // to normalization) - 1, shifted right by at most 60 bits. - auto integral = static_cast(value.f >> -one.e); - FMT_ASSERT(integral != 0, ""); - FMT_ASSERT(integral == value.f >> -one.e, ""); - // The fractional part of scaled value (p2 in Grisu) c = value % one. - uint64_t fractional = value.f & (one.f - 1); - exp = count_digits(integral); // kappa in Grisu. - // Non-fixed formats require at least one digit and no precision adjustment. - if (handler.fixed) { - adjust_precision(handler.precision, exp + handler.exp10); - // Check if precision is satisfied just by leading zeros, e.g. - // format("{:.2f}", 0.001) gives "0.00" without generating any digits. - if (handler.precision <= 0) { - if (handler.precision < 0) return digits::done; - // Divide by 10 to prevent overflow. - uint64_t divisor = impl_data::power_of_10_64[exp - 1] << -one.e; - auto dir = get_round_direction(divisor, value.f / 10, error * 10); - if (dir == round_direction::unknown) return digits::error; - handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0'; - return digits::done; - } - } - // Generate digits for the integral part. This can produce up to 10 digits. - do { - uint32_t digit = 0; - auto divmod_integral = [&](uint32_t divisor) { - digit = integral / divisor; - integral %= divisor; - }; - // This optimization by Milo Yip reduces the number of integer divisions by - // one per iteration. - switch (exp) { - case 10: - divmod_integral(1000000000); - break; - case 9: - divmod_integral(100000000); - break; - case 8: - divmod_integral(10000000); - break; - case 7: - divmod_integral(1000000); - break; - case 6: - divmod_integral(100000); - break; - case 5: - divmod_integral(10000); - break; - case 4: - divmod_integral(1000); - break; - case 3: - divmod_integral(100); - break; - case 2: - divmod_integral(10); - break; - case 1: - digit = integral; - integral = 0; - break; - default: - FMT_ASSERT(false, "invalid number of digits"); - } - --exp; - auto remainder = (static_cast(integral) << -one.e) + fractional; - auto result = handler.on_digit(static_cast('0' + digit), - impl_data::power_of_10_64[exp] << -one.e, - remainder, error, true); - if (result != digits::more) return result; - } while (exp > 0); - // Generate digits for the fractional part. - for (;;) { - fractional *= 10; - error *= 10; - char digit = static_cast('0' + (fractional >> -one.e)); - fractional &= one.f - 1; - --exp; - auto result = handler.on_digit(digit, one.f, fractional, error, false); - if (result != digits::more) return result; - } -} - -// A 128-bit integer type used internally. -struct uint128_wrapper { - uint128_wrapper() = default; - - uint64_t high_; - uint64_t low_; - - constexpr uint128_wrapper(uint64_t high, uint64_t low) noexcept - : high_{high}, low_{low} {} - - constexpr uint64_t high() const noexcept { return high_; } - constexpr uint64_t low() const noexcept { return low_; } - - uint128_wrapper& operator+=(uint64_t n) noexcept { -#if FMT_HAS_BUILTIN(__builtin_addcll) - unsigned long long carry; - low_ = __builtin_addcll(low_, n, 0, &carry); - high_ += carry; -#elif FMT_HAS_BUILTIN(__builtin_ia32_addcarryx_u64) - unsigned long long result; - auto carry = __builtin_ia32_addcarryx_u64(0, low_, n, &result); - low_ = result; - high_ += carry; -#elif defined(_MSC_VER) && defined(_M_X64) - auto carry = _addcarry_u64(0, low_, n, &low_); - _addcarry_u64(carry, high_, 0, &high_); -#else - low_ += n; - high_ += (low_ < n ? 1 : 0); -#endif - return *this; - } -}; - // Compilers should be able to optimize this into the ror instruction. FMT_CONSTEXPR inline uint32_t rotr(uint32_t n, uint32_t r) noexcept { r &= 31; @@ -790,56 +168,6 @@ FMT_CONSTEXPR inline uint64_t rotr(uint64_t n, uint32_t r) noexcept { // Implementation of Dragonbox algorithm: https://github.com/jk-jeon/dragonbox. namespace dragonbox { -// Computes 128-bit result of multiplication of two 64-bit unsigned integers. -inline uint128_wrapper umul128(uint64_t x, uint64_t y) noexcept { -#if FMT_USE_INT128 - auto p = static_cast(x) * static_cast(y); - return {static_cast(p >> 64), static_cast(p)}; -#elif defined(_MSC_VER) && defined(_M_X64) - uint128_wrapper result; - result.low_ = _umul128(x, y, &result.high_); - return result; -#else - const uint64_t mask = static_cast(max_value()); - - uint64_t a = x >> 32; - uint64_t b = x & mask; - uint64_t c = y >> 32; - uint64_t d = y & mask; - - uint64_t ac = a * c; - uint64_t bc = b * c; - uint64_t ad = a * d; - uint64_t bd = b * d; - - uint64_t intermediate = (bd >> 32) + (ad & mask) + (bc & mask); - - return {ac + (intermediate >> 32) + (ad >> 32) + (bc >> 32), - (intermediate << 32) + (bd & mask)}; -#endif -} - -// Computes upper 64 bits of multiplication of two 64-bit unsigned integers. -inline uint64_t umul128_upper64(uint64_t x, uint64_t y) noexcept { -#if FMT_USE_INT128 - auto p = static_cast(x) * static_cast(y); - return static_cast(p >> 64); -#elif defined(_MSC_VER) && defined(_M_X64) - return __umulh(x, y); -#else - return umul128(x, y).high(); -#endif -} - -// Computes upper 128 bits of multiplication of a 64-bit unsigned integer and a -// 128-bit unsigned integer. -inline uint128_wrapper umul192_upper128(uint64_t x, - uint128_wrapper y) noexcept { - uint128_wrapper r = umul128(x, y.high()); - r += umul128_upper64(x, y.low()); - return r; -} - // Computes upper 64 bits of multiplication of a 32-bit unsigned integer and a // 64-bit unsigned integer. inline uint64_t umul96_upper64(uint32_t x, uint64_t y) noexcept { @@ -848,10 +176,10 @@ inline uint64_t umul96_upper64(uint32_t x, uint64_t y) noexcept { // Computes lower 128 bits of multiplication of a 64-bit unsigned integer and a // 128-bit unsigned integer. -inline uint128_wrapper umul192_lower128(uint64_t x, - uint128_wrapper y) noexcept { +inline uint128_fallback umul192_lower128(uint64_t x, + uint128_fallback y) noexcept { uint64_t high = x * y.high(); - uint128_wrapper high_low = umul128(x, y.low()); + uint128_fallback high_low = umul128(x, y.low()); return {high + high_low.high(), high_low.low()}; } @@ -861,25 +189,13 @@ inline uint64_t umul96_lower64(uint32_t x, uint64_t y) noexcept { return x * y; } -// Computes floor(log10(pow(2, e))) for e in [-2620, 2620] using the method from -// https://fmt.dev/papers/Dragonbox.pdf#page=28, section 6.1. -inline int floor_log10_pow2(int e) noexcept { - FMT_ASSERT(e <= 2620 && e >= -2620, "too large exponent"); - static_assert((-1 >> 1) == -1, "right shift is not arithmetic"); - return (e * 315653) >> 20; -} - // Various fast log computations. -inline int floor_log2_pow10(int e) noexcept { - FMT_ASSERT(e <= 1233 && e >= -1233, "too large exponent"); - return (e * 1741647) >> 19; -} inline int floor_log10_pow2_minus_log10_4_over_3(int e) noexcept { FMT_ASSERT(e <= 2936 && e >= -2985, "too large exponent"); return (e * 631305 - 261663) >> 21; } -static constexpr struct { +FMT_INLINE_VARIABLE constexpr struct { uint32_t divisor; int shift_amount; } div_small_pow10_infos[] = {{10, 16}, {100, 16}}; @@ -933,7 +249,7 @@ inline uint64_t divide_by_10_to_kappa_plus_1(uint64_t n) noexcept { } // Various subroutines using pow10 cache -template struct cache_accessor; +template struct cache_accessor; template <> struct cache_accessor { using carrier_uint = float_info::carrier_uint; @@ -1028,13 +344,13 @@ template <> struct cache_accessor { template <> struct cache_accessor { using carrier_uint = float_info::carrier_uint; - using cache_entry_type = uint128_wrapper; + using cache_entry_type = uint128_fallback; - static uint128_wrapper get_cached_power(int k) noexcept { + static uint128_fallback get_cached_power(int k) noexcept { FMT_ASSERT(k >= float_info::min_k && k <= float_info::max_k, "k is out of range"); - static constexpr const uint128_wrapper pow10_significands[] = { + static constexpr const uint128_fallback pow10_significands[] = { #if FMT_USE_FULL_CACHE_DRAGONBOX {0xff77b1fcbebcdc4f, 0x25e8e89c13bb0f7b}, {0x9faacf3df73609b1, 0x77b191618c54e9ad}, @@ -1654,8 +970,23 @@ template <> struct cache_accessor { {0xfcf62c1dee382c42, 0x46729e03dd9ed7b6}, {0x9e19db92b4e31ba9, 0x6c07a2c26a8346d2}, {0xc5a05277621be293, 0xc7098b7305241886}, - { 0xf70867153aa2db38, - 0xb8cbee4fc66d1ea8 } + {0xf70867153aa2db38, 0xb8cbee4fc66d1ea8}, + {0x9a65406d44a5c903, 0x737f74f1dc043329}, + {0xc0fe908895cf3b44, 0x505f522e53053ff3}, + {0xf13e34aabb430a15, 0x647726b9e7c68ff0}, + {0x96c6e0eab509e64d, 0x5eca783430dc19f6}, + {0xbc789925624c5fe0, 0xb67d16413d132073}, + {0xeb96bf6ebadf77d8, 0xe41c5bd18c57e890}, + {0x933e37a534cbaae7, 0x8e91b962f7b6f15a}, + {0xb80dc58e81fe95a1, 0x723627bbb5a4adb1}, + {0xe61136f2227e3b09, 0xcec3b1aaa30dd91d}, + {0x8fcac257558ee4e6, 0x213a4f0aa5e8a7b2}, + {0xb3bd72ed2af29e1f, 0xa988e2cd4f62d19e}, + {0xe0accfa875af45a7, 0x93eb1b80a33b8606}, + {0x8c6c01c9498d8b88, 0xbc72f130660533c4}, + {0xaf87023b9bf0ee6a, 0xeb8fad7c7f8680b5}, + { 0xdb68c2ca82ed2a05, + 0xa67398db9f6820e2 } #else {0xff77b1fcbebcdc4f, 0x25e8e89c13bb0f7b}, {0xce5d73ff402d98e3, 0xfb0a3d212dc81290}, @@ -1679,8 +1010,8 @@ template <> struct cache_accessor { {0x8da471a9de737e24, 0x5ceaecfed289e5d3}, {0xe4d5e82392a40515, 0x0fabaf3feaa5334b}, {0xb8da1662e7b00a17, 0x3d6a751f3b936244}, - { 0x95527a5202df0ccb, - 0x0f37801e0c43ebc9 } + {0x95527a5202df0ccb, 0x0f37801e0c43ebc9}, + {0xf13e34aabb430a15, 0x647726b9e7c68ff0} #endif }; @@ -1706,7 +1037,7 @@ template <> struct cache_accessor { int offset = k - kb; // Get base cache. - uint128_wrapper base_cache = pow10_significands[cache_index]; + uint128_fallback base_cache = pow10_significands[cache_index]; if (offset == 0) return base_cache; // Compute the required amount of bit-shift. @@ -1715,8 +1046,8 @@ template <> struct cache_accessor { // Try to recover the real cache. uint64_t pow5 = powers_of_5_64[offset]; - uint128_wrapper recovered_cache = umul128(base_cache.high(), pow5); - uint128_wrapper middle_low = umul128(base_cache.low(), pow5); + uint128_fallback recovered_cache = umul128(base_cache.high(), pow5); + uint128_fallback middle_low = umul128(base_cache.low(), pow5); recovered_cache += middle_low.high(); @@ -1724,8 +1055,8 @@ template <> struct cache_accessor { uint64_t middle_to_low = recovered_cache.low() << (64 - alpha); recovered_cache = - uint128_wrapper{(recovered_cache.low() >> alpha) | high_to_middle, - ((middle_low.low() >> alpha) | middle_to_low)}; + uint128_fallback{(recovered_cache.low() >> alpha) | high_to_middle, + ((middle_low.low() >> alpha) | middle_to_low)}; FMT_ASSERT(recovered_cache.low() + 1 != 0, ""); return {recovered_cache.high(), recovered_cache.low() + 1}; #endif @@ -1783,8 +1114,12 @@ template <> struct cache_accessor { } }; +FMT_FUNC uint128_fallback get_cached_power(int k) noexcept { + return cache_accessor::get_cached_power(k); +} + // Various integer checks -template +template bool is_left_endpoint_integer_shorter_interval(int exponent) noexcept { const int case_shorter_interval_left_endpoint_lower_threshold = 2; const int case_shorter_interval_left_endpoint_upper_threshold = 3; @@ -1795,8 +1130,12 @@ bool is_left_endpoint_integer_shorter_interval(int exponent) noexcept { // Remove trailing zeros from n and return the number of zeros removed (float) FMT_INLINE int remove_trailing_zeros(uint32_t& n) noexcept { FMT_ASSERT(n != 0, ""); + // Modular inverse of 5 (mod 2^32): (mod_inv_5 * 5) mod 2^32 = 1. + // See https://github.com/fmtlib/fmt/issues/3163 for more details. const uint32_t mod_inv_5 = 0xcccccccd; - const uint32_t mod_inv_25 = mod_inv_5 * mod_inv_5; + // Casts are needed to workaround a bug in MSVC 19.22 and older. + const uint32_t mod_inv_25 = + static_cast(uint64_t(mod_inv_5) * mod_inv_5); int s = 0; while (true) { @@ -1810,7 +1149,6 @@ FMT_INLINE int remove_trailing_zeros(uint32_t& n) noexcept { n = q; s |= 1; } - return s; } @@ -1868,7 +1206,7 @@ FMT_INLINE int remove_trailing_zeros(uint64_t& n) noexcept { } // The main algorithm for shorter interval case -template +template FMT_INLINE decimal_fp shorter_interval_case(int exponent) noexcept { decimal_fp ret_value; // Compute k and beta @@ -1930,8 +1268,7 @@ template decimal_fp to_decimal(T x) noexcept { static_cast((br & exponent_mask()) >> num_significand_bits()); if (exponent != 0) { // Check if normal. - const int exponent_bias = std::numeric_limits::max_exponent - 1; - exponent -= exponent_bias + num_significand_bits(); + exponent -= exponent_bias() + num_significand_bits(); // Shorter interval case; proceed like Schubfach. // In fact, when exponent == 1 and significand == 0, the interval is @@ -1983,7 +1320,7 @@ template decimal_fp to_decimal(T x) noexcept { if (r < deltai) { // Exclude the right endpoint if necessary. - if (r == 0 && z_mul.is_integer && !include_right_endpoint) { + if (r == 0 && (z_mul.is_integer & !include_right_endpoint)) { --ret_value.significand; r = float_info::big_divisor; goto small_divisor_case_label; @@ -1992,26 +1329,11 @@ template decimal_fp to_decimal(T x) noexcept { goto small_divisor_case_label; } else { // r == deltai; compare fractional parts. - const carrier_uint two_fl = two_fc - 1; + const typename cache_accessor::compute_mul_parity_result x_mul = + cache_accessor::compute_mul_parity(two_fc - 1, cache, beta); - if (!include_left_endpoint || - exponent < float_info::case_fc_pm_half_lower_threshold || - exponent > float_info::divisibility_check_by_5_threshold) { - // If the left endpoint is not included, the condition for - // success is z^(f) < delta^(f) (odd parity). - // Otherwise, the inequalities on exponent ensure that - // x is not an integer, so if z^(f) >= delta^(f) (even parity), we in fact - // have strict inequality. - if (!cache_accessor::compute_mul_parity(two_fl, cache, beta).parity) { - goto small_divisor_case_label; - } - } else { - const typename cache_accessor::compute_mul_parity_result x_mul = - cache_accessor::compute_mul_parity(two_fl, cache, beta); - if (!x_mul.parity && !x_mul.is_integer) { - goto small_divisor_case_label; - } - } + if (!(x_mul.parity | (x_mul.is_integer & include_left_endpoint))) + goto small_divisor_case_label; } ret_value.exponent = minus_k + float_info::kappa + 1; @@ -2050,321 +1372,21 @@ small_divisor_case_label: // or equivalently, when y is an integer. if (y_mul.parity != approx_y_parity) --ret_value.significand; - else if (y_mul.is_integer && ret_value.significand % 2 != 0) + else if (y_mul.is_integer & (ret_value.significand % 2 != 0)) --ret_value.significand; return ret_value; } } // namespace dragonbox - -// Formats a floating-point number using a variation of the Fixed-Precision -// Positive Floating-Point Printout ((FPP)^2) algorithm by Steele & White: -// https://fmt.dev/papers/p372-steele.pdf. -FMT_CONSTEXPR20 inline void format_dragon(fp value, bool is_predecessor_closer, - int num_digits, buffer& buf, - int& exp10) { - bigint numerator; // 2 * R in (FPP)^2. - bigint denominator; // 2 * S in (FPP)^2. - // lower and upper are differences between value and corresponding boundaries. - bigint lower; // (M^- in (FPP)^2). - bigint upper_store; // upper's value if different from lower. - bigint* upper = nullptr; // (M^+ in (FPP)^2). - // Shift numerator and denominator by an extra bit or two (if lower boundary - // is closer) to make lower and upper integers. This eliminates multiplication - // by 2 during later computations. - int shift = is_predecessor_closer ? 2 : 1; - if (value.e >= 0) { - numerator.assign(value.f); - numerator <<= value.e + shift; - lower.assign(1); - lower <<= value.e; - if (shift != 1) { - upper_store.assign(1); - upper_store <<= value.e + 1; - upper = &upper_store; - } - denominator.assign_pow10(exp10); - denominator <<= shift; - } else if (exp10 < 0) { - numerator.assign_pow10(-exp10); - lower.assign(numerator); - if (shift != 1) { - upper_store.assign(numerator); - upper_store <<= 1; - upper = &upper_store; - } - numerator *= value.f; - numerator <<= shift; - denominator.assign(1); - denominator <<= shift - value.e; - } else { - numerator.assign(value.f); - numerator <<= shift; - denominator.assign_pow10(exp10); - denominator <<= shift - value.e; - lower.assign(1); - if (shift != 1) { - upper_store.assign(1ULL << 1); - upper = &upper_store; - } - } - // Invariant: value == (numerator / denominator) * pow(10, exp10). - if (num_digits < 0) { - // Generate the shortest representation. - if (!upper) upper = &lower; - bool even = (value.f & 1) == 0; - num_digits = 0; - char* data = buf.data(); - for (;;) { - int digit = numerator.divmod_assign(denominator); - bool low = compare(numerator, lower) - even < 0; // numerator <[=] lower. - // numerator + upper >[=] pow10: - bool high = add_compare(numerator, *upper, denominator) + even > 0; - data[num_digits++] = static_cast('0' + digit); - if (low || high) { - if (!low) { - ++data[num_digits - 1]; - } else if (high) { - int result = add_compare(numerator, numerator, denominator); - // Round half to even. - if (result > 0 || (result == 0 && (digit % 2) != 0)) - ++data[num_digits - 1]; - } - buf.try_resize(to_unsigned(num_digits)); - exp10 -= num_digits - 1; - return; - } - numerator *= 10; - lower *= 10; - if (upper != &lower) *upper *= 10; - } - } - // Generate the given number of digits. - exp10 -= num_digits - 1; - if (num_digits == 0) { - denominator *= 10; - auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0'; - buf.push_back(digit); - return; - } - buf.try_resize(to_unsigned(num_digits)); - for (int i = 0; i < num_digits - 1; ++i) { - int digit = numerator.divmod_assign(denominator); - buf[i] = static_cast('0' + digit); - numerator *= 10; - } - int digit = numerator.divmod_assign(denominator); - auto result = add_compare(numerator, numerator, denominator); - if (result > 0 || (result == 0 && (digit % 2) != 0)) { - if (digit == 9) { - const auto overflow = '0' + 10; - buf[num_digits - 1] = overflow; - // Propagate the carry. - for (int i = num_digits - 1; i > 0 && buf[i] == overflow; --i) { - buf[i] = '0'; - ++buf[i - 1]; - } - if (buf[0] == overflow) { - buf[0] = '1'; - ++exp10; - } - return; - } - ++digit; - } - buf[num_digits - 1] = static_cast('0' + digit); -} - -template -FMT_HEADER_ONLY_CONSTEXPR20 int format_float(Float value, int precision, - float_specs specs, - buffer& buf) { - // float is passed as double to reduce the number of instantiations. - static_assert(!std::is_same::value, ""); - FMT_ASSERT(value >= 0, "value is negative"); - - const bool fixed = specs.format == float_format::fixed; - if (value <= 0) { // <= instead of == to silence a warning. - if (precision <= 0 || !fixed) { - buf.push_back('0'); - return 0; - } - buf.try_resize(to_unsigned(precision)); - fill_n(buf.data(), precision, '0'); - return -precision; - } - - int exp = 0; - bool use_dragon = true; - if (!is_fast_float()) { - // Use floor because 0.9 = 9e-1. - exp = static_cast(std::floor(std::log10(value))); - if (fixed) adjust_precision(precision, exp + 1); - } else if (!is_constant_evaluated() && precision < 0) { - // Use Dragonbox for the shortest format. - if (specs.binary32) { - auto dec = dragonbox::to_decimal(static_cast(value)); - write(buffer_appender(buf), dec.significand); - return dec.exponent; - } - auto dec = dragonbox::to_decimal(static_cast(value)); - write(buffer_appender(buf), dec.significand); - return dec.exponent; - } else { - // Use Grisu + Dragon4 for the given precision: - // https://www.cs.tufts.edu/~nr/cs257/archive/florian-loitsch/printf.pdf. - const int min_exp = -60; // alpha in Grisu. - int cached_exp10 = 0; // K in Grisu. - fp normalized = normalize(fp(convert_float(value))); - const auto cached_pow = get_cached_power( - min_exp - (normalized.e + fp::num_significand_bits), cached_exp10); - normalized = normalized * cached_pow; - gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed}; - if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error && - !is_constant_evaluated()) { - exp += handler.exp10; - buf.try_resize(to_unsigned(handler.size)); - use_dragon = false; - } else { - exp += handler.size - cached_exp10 - 1; - precision = handler.precision; - } - } - if (use_dragon) { - auto f = fp(); - bool is_predecessor_closer = specs.binary32 - ? f.assign(static_cast(value)) - : f.assign(convert_float(value)); - // Limit precision to the maximum possible number of significant digits in - // an IEEE754 double because we don't need to generate zeros. - const int max_double_digits = 767; - if (precision > max_double_digits) precision = max_double_digits; - format_dragon(f, is_predecessor_closer, precision, buf, exp); - } - if (!fixed && !specs.showpoint) { - // Remove trailing zeros. - auto num_digits = buf.size(); - while (num_digits > 0 && buf[num_digits - 1] == '0') { - --num_digits; - ++exp; - } - buf.try_resize(num_digits); - } - return exp; -} - -template -int snprintf_float(T value, int precision, float_specs specs, - buffer& buf) { - // Buffer capacity must be non-zero, otherwise MSVC's vsnprintf_s will fail. - FMT_ASSERT(buf.capacity() > buf.size(), "empty buffer"); - static_assert(!std::is_same::value, ""); - - // Subtract 1 to account for the difference in precision since we use %e for - // both general and exponent format. - if (specs.format == float_format::general || - specs.format == float_format::exp) - precision = (precision >= 0 ? precision : 6) - 1; - - // Build the format string. - enum { max_format_size = 7 }; // The longest format is "%#.*Le". - char format[max_format_size]; - char* format_ptr = format; - *format_ptr++ = '%'; - if (specs.showpoint && specs.format == float_format::hex) *format_ptr++ = '#'; - if (precision >= 0) { - *format_ptr++ = '.'; - *format_ptr++ = '*'; - } - if (std::is_same()) *format_ptr++ = 'L'; - *format_ptr++ = specs.format != float_format::hex - ? (specs.format == float_format::fixed ? 'f' : 'e') - : (specs.upper ? 'A' : 'a'); - *format_ptr = '\0'; - - // Format using snprintf. - auto offset = buf.size(); - for (;;) { - auto begin = buf.data() + offset; - auto capacity = buf.capacity() - offset; -#ifdef FMT_FUZZ - if (precision > 100000) - throw std::runtime_error( - "fuzz mode - avoid large allocation inside snprintf"); -#endif - // Suppress the warning about a nonliteral format string. - // Cannot use auto because of a bug in MinGW (#1532). - int (*snprintf_ptr)(char*, size_t, const char*, ...) = FMT_SNPRINTF; - int result = precision >= 0 - ? snprintf_ptr(begin, capacity, format, precision, value) - : snprintf_ptr(begin, capacity, format, value); - if (result < 0) { - // The buffer will grow exponentially. - buf.try_reserve(buf.capacity() + 1); - continue; - } - auto size = to_unsigned(result); - // Size equal to capacity means that the last character was truncated. - if (size >= capacity) { - buf.try_reserve(size + offset + 1); // Add 1 for the terminating '\0'. - continue; - } - auto is_digit = [](char c) { return c >= '0' && c <= '9'; }; - if (specs.format == float_format::fixed) { - if (precision == 0) { - buf.try_resize(size); - return 0; - } - // Find and remove the decimal point. - auto end = begin + size, p = end; - do { - --p; - } while (is_digit(*p)); - int fraction_size = static_cast(end - p - 1); - std::memmove(p, p + 1, to_unsigned(fraction_size)); - buf.try_resize(size - 1); - return -fraction_size; - } - if (specs.format == float_format::hex) { - buf.try_resize(size + offset); - return 0; - } - // Find and parse the exponent. - auto end = begin + size, exp_pos = end; - do { - --exp_pos; - } while (*exp_pos != 'e'); - char sign = exp_pos[1]; - FMT_ASSERT(sign == '+' || sign == '-', ""); - int exp = 0; - auto p = exp_pos + 2; // Skip 'e' and sign. - do { - FMT_ASSERT(is_digit(*p), ""); - exp = exp * 10 + (*p++ - '0'); - } while (p != end); - if (sign == '-') exp = -exp; - int fraction_size = 0; - if (exp_pos != begin + 1) { - // Remove trailing zeros. - auto fraction_end = exp_pos - 1; - while (*fraction_end == '0') --fraction_end; - // Move the fractional part left to get rid of the decimal point. - fraction_size = static_cast(fraction_end - begin - 1); - std::memmove(begin + 1, begin + 2, to_unsigned(fraction_size)); - } - buf.try_resize(to_unsigned(fraction_size) + offset + 1); - return exp - fraction_size; - } -} } // namespace detail template <> struct formatter { - FMT_CONSTEXPR format_parse_context::iterator parse( - format_parse_context& ctx) { + FMT_CONSTEXPR auto parse(format_parse_context& ctx) + -> format_parse_context::iterator { return ctx.begin(); } - format_context::iterator format(const detail::bigint& n, - format_context& ctx) { + auto format(const detail::bigint& n, format_context& ctx) const + -> format_context::iterator { auto out = ctx.out(); bool first = true; for (auto i = n.bigits_.size(); i > 0; --i) { @@ -2414,12 +1436,6 @@ FMT_FUNC void report_system_error(int error_code, report_error(format_system_error, error_code, message); } -// DEPRECATED! -// This function is defined here and not inline for ABI compatiblity. -FMT_FUNC void detail::error_handler::on_error(const char* message) { - throw_format_error(message); -} - FMT_FUNC std::string vformat(string_view fmt, format_args args) { // Don't optimize the "{}" case to keep the binary size small and because it // can be better optimized in fmt::format anyway. @@ -2428,53 +1444,45 @@ FMT_FUNC std::string vformat(string_view fmt, format_args args) { return to_string(buffer); } -#ifdef _WIN32 namespace detail { +#ifndef _WIN32 +FMT_FUNC bool write_console(std::FILE*, string_view) { return false; } +#else using dword = conditional_t; extern "C" __declspec(dllimport) int __stdcall WriteConsoleW( // void*, const void*, dword, dword*, void*); -} // namespace detail -#endif -namespace detail { -FMT_FUNC void print(std::FILE* f, string_view text) { -#ifdef _WIN32 +FMT_FUNC bool write_console(std::FILE* f, string_view text) { auto fd = _fileno(f); - if (_isatty(fd)) { - detail::utf8_to_utf16 u16(string_view(text.data(), text.size())); - auto written = detail::dword(); - if (detail::WriteConsoleW(reinterpret_cast(_get_osfhandle(fd)), - u16.c_str(), static_cast(u16.size()), - &written, nullptr)) { - return; - } - // Fallback to fwrite on failure. It can happen if the output has been - // redirected to NUL. - } -#endif - detail::fwrite_fully(text.data(), 1, text.size(), f); -} -} // namespace detail - -FMT_FUNC void vprint(std::FILE* f, string_view format_str, format_args args) { - memory_buffer buffer; - detail::vformat_to(buffer, format_str, args); - detail::print(f, {buffer.data(), buffer.size()}); + if (!_isatty(fd)) return false; + auto u16 = utf8_to_utf16(text); + auto written = dword(); + return WriteConsoleW(reinterpret_cast(_get_osfhandle(fd)), u16.c_str(), + static_cast(u16.size()), &written, nullptr); } -#ifdef _WIN32 // Print assuming legacy (non-Unicode) encoding. -FMT_FUNC void detail::vprint_mojibake(std::FILE* f, string_view format_str, - format_args args) { - memory_buffer buffer; - detail::vformat_to(buffer, format_str, +FMT_FUNC void vprint_mojibake(std::FILE* f, string_view fmt, format_args args) { + auto buffer = memory_buffer(); + detail::vformat_to(buffer, fmt, basic_format_args>(args)); fwrite_fully(buffer.data(), 1, buffer.size(), f); } #endif -FMT_FUNC void vprint(string_view format_str, format_args args) { - vprint(stdout, format_str, args); +FMT_FUNC void print(std::FILE* f, string_view text) { + if (!write_console(f, text)) fwrite_fully(text.data(), 1, text.size(), f); +} +} // namespace detail + +FMT_FUNC void vprint(std::FILE* f, string_view fmt, format_args args) { + auto buffer = memory_buffer(); + detail::vformat_to(buffer, fmt, args); + detail::print(f, {buffer.data(), buffer.size()}); +} + +FMT_FUNC void vprint(string_view fmt, format_args args) { + vprint(stdout, fmt, args); } namespace detail { diff --git a/vendor/Fmt/include/fmt/format.h b/vendor/Fmt/include/fmt/format.h index 6ed53aa9..ed8b29eb 100644 --- a/vendor/Fmt/include/fmt/format.h +++ b/vendor/Fmt/include/fmt/format.h @@ -33,14 +33,14 @@ #ifndef FMT_FORMAT_H_ #define FMT_FORMAT_H_ -#include // std::signbit -#include // std::byte -#include // uint32_t -#include // std::memcpy -#include // std::numeric_limits -#include // std::uninitialized_copy -#include // std::runtime_error -#include // std::system_error +#include // std::signbit +#include // uint32_t +#include // std::memcpy +#include // std::initializer_list +#include // std::numeric_limits +#include // std::uninitialized_copy +#include // std::runtime_error +#include // std::system_error #ifdef __cpp_lib_bit_cast # include // std::bitcast @@ -48,6 +48,36 @@ #include "core.h" +#ifndef FMT_BEGIN_DETAIL_NAMESPACE +# define FMT_BEGIN_DETAIL_NAMESPACE namespace detail { +# define FMT_END_DETAIL_NAMESPACE } +#endif + +#if FMT_HAS_CPP17_ATTRIBUTE(fallthrough) +# define FMT_FALLTHROUGH [[fallthrough]] +#elif defined(__clang__) +# define FMT_FALLTHROUGH [[clang::fallthrough]] +#elif FMT_GCC_VERSION >= 700 && \ + (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= 520) +# define FMT_FALLTHROUGH [[gnu::fallthrough]] +#else +# define FMT_FALLTHROUGH +#endif + +#ifndef FMT_DEPRECATED +# if FMT_HAS_CPP14_ATTRIBUTE(deprecated) || FMT_MSC_VERSION >= 1900 +# define FMT_DEPRECATED [[deprecated]] +# else +# if (defined(__GNUC__) && !defined(__LCC__)) || defined(__clang__) +# define FMT_DEPRECATED __attribute__((deprecated)) +# elif FMT_MSC_VERSION +# define FMT_DEPRECATED __declspec(deprecated) +# else +# define FMT_DEPRECATED /* deprecated */ +# endif +# endif +#endif + #if FMT_GCC_VERSION # define FMT_GCC_VISIBILITY_HIDDEN __attribute__((visibility("hidden"))) #else @@ -72,15 +102,9 @@ # define FMT_NOINLINE #endif -#if FMT_MSC_VER -# define FMT_MSC_DEFAULT = default -#else -# define FMT_MSC_DEFAULT -#endif - #ifndef FMT_THROW # if FMT_EXCEPTIONS -# if FMT_MSC_VER || FMT_NVCC +# if FMT_MSC_VERSION || defined(__NVCC__) FMT_BEGIN_NAMESPACE namespace detail { template inline void do_throw(const Exception& x) { @@ -119,17 +143,10 @@ FMT_END_NAMESPACE # endif #endif -// Workaround broken [[deprecated]] in the Intel, PGI and NVCC compilers. -#if FMT_ICC_VERSION || defined(__PGI) || FMT_NVCC -# define FMT_DEPRECATED_ALIAS -#else -# define FMT_DEPRECATED_ALIAS FMT_DEPRECATED -#endif - #ifndef FMT_USE_USER_DEFINED_LITERALS // EDG based compilers (Intel, NVIDIA, Elbrus, etc), GCC and MSVC support UDLs. # if (FMT_HAS_FEATURE(cxx_user_literals) || FMT_GCC_VERSION >= 407 || \ - FMT_MSC_VER >= 1900) && \ + FMT_MSC_VERSION >= 1900) && \ (!defined(__EDG_VERSION__) || __EDG_VERSION__ >= /* UDL feature */ 480) # define FMT_USE_USER_DEFINED_LITERALS 1 # else @@ -147,7 +164,7 @@ FMT_END_NAMESPACE // __builtin_clz is broken in clang with Microsoft CodeGen: // https://github.com/fmtlib/fmt/issues/519. -#if !FMT_MSC_VER +#if !FMT_MSC_VERSION # if FMT_HAS_BUILTIN(__builtin_clz) || FMT_GCC_VERSION || FMT_ICC_VERSION # define FMT_BUILTIN_CLZ(n) __builtin_clz(n) # endif @@ -160,23 +177,24 @@ FMT_END_NAMESPACE // https://github.com/fmtlib/fmt/issues/2510. #ifndef __ICL # if FMT_HAS_BUILTIN(__builtin_ctz) || FMT_GCC_VERSION || FMT_ICC_VERSION || \ - FMT_NVCOMPILER_VERSION + defined(__NVCOMPILER) # define FMT_BUILTIN_CTZ(n) __builtin_ctz(n) # endif # if FMT_HAS_BUILTIN(__builtin_ctzll) || FMT_GCC_VERSION || \ - FMT_ICC_VERSION || FMT_NVCOMPILER_VERSION + FMT_ICC_VERSION || defined(__NVCOMPILER) # define FMT_BUILTIN_CTZLL(n) __builtin_ctzll(n) # endif #endif -#if FMT_MSC_VER +#if FMT_MSC_VERSION # include // _BitScanReverse[64], _BitScanForward[64], _umul128 #endif // Some compilers masquerade as both MSVC and GCC-likes or otherwise support // __builtin_clz and __builtin_clzll, so only define FMT_BUILTIN_CLZ using the // MSVC intrinsics if the clz and clzll builtins are not available. -#if FMT_MSC_VER && !defined(FMT_BUILTIN_CLZLL) && !defined(FMT_BUILTIN_CTZLL) +#if FMT_MSC_VERSION && !defined(FMT_BUILTIN_CLZLL) && \ + !defined(FMT_BUILTIN_CTZLL) FMT_BEGIN_NAMESPACE namespace detail { // Avoid Clang with Microsoft CodeGen's -Wunknown-pragmas warning. @@ -207,7 +225,8 @@ inline auto clzll(uint64_t x) -> int { _BitScanReverse64(&r, x); # else // Scan the high 32 bits. - if (_BitScanReverse(&r, static_cast(x >> 32))) return 63 ^ (r + 32); + if (_BitScanReverse(&r, static_cast(x >> 32))) + return 63 ^ static_cast(r + 32); // Scan the low 32 bits. _BitScanReverse(&r, static_cast(x)); # endif @@ -246,15 +265,41 @@ inline auto ctzll(uint64_t x) -> int { FMT_END_NAMESPACE #endif -#ifdef FMT_HEADER_ONLY -# define FMT_HEADER_ONLY_CONSTEXPR20 FMT_CONSTEXPR20 -#else -# define FMT_HEADER_ONLY_CONSTEXPR20 -#endif - FMT_BEGIN_NAMESPACE + +template struct disjunction : std::false_type {}; +template struct disjunction

    : P {}; +template +struct disjunction + : conditional_t> {}; + +template struct conjunction : std::true_type {}; +template struct conjunction

    : P {}; +template +struct conjunction + : conditional_t, P1> {}; + namespace detail { +FMT_CONSTEXPR inline void abort_fuzzing_if(bool condition) { + ignore_unused(condition); +#ifdef FMT_FUZZ + if (condition) throw std::runtime_error("fuzzing limit reached"); +#endif +} + +template struct string_literal { + static constexpr CharT value[sizeof...(C)] = {C...}; + constexpr operator basic_string_view() const { + return {value, sizeof...(C)}; + } +}; + +#if FMT_CPLUSPLUS < 201703L +template +constexpr CharT string_literal::value[sizeof...(C)]; +#endif + template class formatbuf : public Streambuf { private: using char_type = typename Streambuf::char_type; @@ -293,7 +338,8 @@ FMT_CONSTEXPR20 auto bit_cast(const From& from) -> To { if (is_constant_evaluated()) return std::bit_cast(from); #endif auto to = To(); - std::memcpy(&to, &from, sizeof(to)); + // The cast suppresses a bogus -Wclass-memaccess on GCC. + std::memcpy(static_cast(&to), &from, sizeof(to)); return to; } @@ -315,51 +361,113 @@ inline auto is_big_endian() -> bool { class uint128_fallback { private: uint64_t lo_, hi_; - constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {} + + friend uint128_fallback umul128(uint64_t x, uint64_t y) noexcept; public: + constexpr uint128_fallback(uint64_t hi, uint64_t lo) : lo_(lo), hi_(hi) {} constexpr uint128_fallback(uint64_t value = 0) : lo_(value), hi_(0) {} + constexpr uint64_t high() const noexcept { return hi_; } + constexpr uint64_t low() const noexcept { return lo_; } + template ::value)> constexpr explicit operator T() const { return static_cast(lo_); } - friend auto operator==(const uint128_fallback& lhs, - const uint128_fallback& rhs) -> bool { + friend constexpr auto operator==(const uint128_fallback& lhs, + const uint128_fallback& rhs) -> bool { return lhs.hi_ == rhs.hi_ && lhs.lo_ == rhs.lo_; } - friend auto operator!=(const uint128_fallback& lhs, - const uint128_fallback& rhs) -> bool { + friend constexpr auto operator!=(const uint128_fallback& lhs, + const uint128_fallback& rhs) -> bool { return !(lhs == rhs); } - friend auto operator|(const uint128_fallback& lhs, - const uint128_fallback& rhs) -> uint128_fallback { + friend constexpr auto operator>(const uint128_fallback& lhs, + const uint128_fallback& rhs) -> bool { + return lhs.hi_ != rhs.hi_ ? lhs.hi_ > rhs.hi_ : lhs.lo_ > rhs.lo_; + } + friend constexpr auto operator|(const uint128_fallback& lhs, + const uint128_fallback& rhs) + -> uint128_fallback { return {lhs.hi_ | rhs.hi_, lhs.lo_ | rhs.lo_}; } - friend auto operator&(const uint128_fallback& lhs, - const uint128_fallback& rhs) -> uint128_fallback { + friend constexpr auto operator&(const uint128_fallback& lhs, + const uint128_fallback& rhs) + -> uint128_fallback { return {lhs.hi_ & rhs.hi_, lhs.lo_ & rhs.lo_}; } + friend constexpr auto operator~(const uint128_fallback& n) + -> uint128_fallback { + return {~n.hi_, ~n.lo_}; + } + friend auto operator+(const uint128_fallback& lhs, + const uint128_fallback& rhs) -> uint128_fallback { + auto result = uint128_fallback(lhs); + result += rhs; + return result; + } + friend auto operator*(const uint128_fallback& lhs, uint32_t rhs) + -> uint128_fallback { + FMT_ASSERT(lhs.hi_ == 0, ""); + uint64_t hi = (lhs.lo_ >> 32) * rhs; + uint64_t lo = (lhs.lo_ & ~uint32_t()) * rhs; + uint64_t new_lo = (hi << 32) + lo; + return {(hi >> 32) + (new_lo < lo ? 1 : 0), new_lo}; + } friend auto operator-(const uint128_fallback& lhs, uint64_t rhs) -> uint128_fallback { - FMT_ASSERT(lhs.lo_ >= rhs, ""); - return {lhs.hi_, lhs.lo_ - rhs}; + return {lhs.hi_ - (lhs.lo_ < rhs ? 1 : 0), lhs.lo_ - rhs}; } FMT_CONSTEXPR auto operator>>(int shift) const -> uint128_fallback { if (shift == 64) return {0, hi_}; + if (shift > 64) return uint128_fallback(0, hi_) >> (shift - 64); return {hi_ >> shift, (hi_ << (64 - shift)) | (lo_ >> shift)}; } FMT_CONSTEXPR auto operator<<(int shift) const -> uint128_fallback { if (shift == 64) return {lo_, 0}; + if (shift > 64) return uint128_fallback(lo_, 0) << (shift - 64); return {hi_ << shift | (lo_ >> (64 - shift)), (lo_ << shift)}; } FMT_CONSTEXPR auto operator>>=(int shift) -> uint128_fallback& { return *this = *this >> shift; } - FMT_CONSTEXPR void operator+=(uint64_t n) { + FMT_CONSTEXPR void operator+=(uint128_fallback n) { + uint64_t new_lo = lo_ + n.lo_; + uint64_t new_hi = hi_ + n.hi_ + (new_lo < lo_ ? 1 : 0); + FMT_ASSERT(new_hi >= hi_, ""); + lo_ = new_lo; + hi_ = new_hi; + } + FMT_CONSTEXPR void operator&=(uint128_fallback n) { + lo_ &= n.lo_; + hi_ &= n.hi_; + } + + FMT_CONSTEXPR20 uint128_fallback& operator+=(uint64_t n) noexcept { + if (is_constant_evaluated()) { + lo_ += n; + hi_ += (lo_ < n ? 1 : 0); + return *this; + } +#if FMT_HAS_BUILTIN(__builtin_addcll) && !defined(__ibmxl__) + unsigned long long carry; + lo_ = __builtin_addcll(lo_, n, 0, &carry); + hi_ += carry; +#elif FMT_HAS_BUILTIN(__builtin_ia32_addcarryx_u64) && !defined(__ibmxl__) + unsigned long long result; + auto carry = __builtin_ia32_addcarryx_u64(0, lo_, n, &result); + lo_ = result; + hi_ += carry; +#elif defined(_MSC_VER) && defined(_M_X64) + auto carry = _addcarry_u64(0, lo_, n, &lo_); + _addcarry_u64(carry, hi_, 0, &hi_); +#else lo_ += n; - if (lo_ < n) ++hi_; + hi_ += (lo_ < n ? 1 : 0); +#endif + return *this; } }; @@ -402,6 +510,28 @@ inline auto bit_cast(const From& from) -> To { return result; } +template +FMT_CONSTEXPR20 inline auto countl_zero_fallback(UInt n) -> int { + int lz = 0; + constexpr UInt msb_mask = static_cast(1) << (num_bits() - 1); + for (; (n & msb_mask) == 0; n <<= 1) lz++; + return lz; +} + +FMT_CONSTEXPR20 inline auto countl_zero(uint32_t n) -> int { +#ifdef FMT_BUILTIN_CLZ + if (!is_constant_evaluated()) return FMT_BUILTIN_CLZ(n); +#endif + return countl_zero_fallback(n); +} + +FMT_CONSTEXPR20 inline auto countl_zero(uint64_t n) -> int { +#ifdef FMT_BUILTIN_CLZLL + if (!is_constant_evaluated()) return FMT_BUILTIN_CLZLL(n); +#endif + return countl_zero_fallback(n); +} + FMT_INLINE void assume(bool condition) { (void)condition; #if FMT_HAS_BUILTIN(__builtin_assume) && !FMT_ICC_VERSION @@ -546,19 +676,24 @@ FMT_CONSTEXPR inline auto utf8_decode(const char* s, uint32_t* c, int* e) constexpr const int shiftc[] = {0, 18, 12, 6, 0}; constexpr const int shifte[] = {0, 6, 4, 2, 0}; - int len = code_point_length(s); - const char* next = s + len; + int len = "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3\3\4" + [static_cast(*s) >> 3]; + // Compute the pointer to the next character early so that the next + // iteration can start working on the next character. Neither Clang + // nor GCC figure out this reordering on their own. + const char* next = s + len + !len; + + using uchar = unsigned char; // Assume a four-byte character and load four bytes. Unused bits are // shifted out. - *c = uint32_t(s[0] & masks[len]) << 18; - *c |= uint32_t(s[1] & 0x3f) << 12; - *c |= uint32_t(s[2] & 0x3f) << 6; - *c |= uint32_t(s[3] & 0x3f) << 0; + *c = uint32_t(uchar(s[0]) & masks[len]) << 18; + *c |= uint32_t(uchar(s[1]) & 0x3f) << 12; + *c |= uint32_t(uchar(s[2]) & 0x3f) << 6; + *c |= uint32_t(uchar(s[3]) & 0x3f) << 0; *c >>= shiftc[len]; // Accumulate the various error conditions. - using uchar = unsigned char; *e = (*c < mins[len]) << 6; // non-canonical encoding *e |= ((*c >> 11) == 0x1b) << 7; // surrogate half? *e |= (*c > 0x10FFFF) << 8; // out of range? @@ -571,7 +706,7 @@ FMT_CONSTEXPR inline auto utf8_decode(const char* s, uint32_t* c, int* e) return next; } -constexpr uint32_t invalid_code_point = ~uint32_t(); +constexpr FMT_INLINE_VARIABLE uint32_t invalid_code_point = ~uint32_t(); // Invokes f(cp, sv) for every code point cp in s with sv being the string view // corresponding to the code point. cp is invalid_code_point on error. @@ -582,8 +717,8 @@ FMT_CONSTEXPR void for_each_codepoint(string_view s, F f) { auto error = 0; auto end = utf8_decode(buf_ptr, &cp, &error); bool result = f(error ? invalid_code_point : cp, - string_view(ptr, to_unsigned(end - buf_ptr))); - return result ? end : nullptr; + string_view(ptr, error ? 1 : to_unsigned(end - buf_ptr))); + return result ? (error ? buf_ptr + 1 : end) : nullptr; }; auto p = s.data(); const size_t block_size = 4; // utf8_decode always reads blocks of 4 chars. @@ -641,13 +776,14 @@ FMT_CONSTEXPR inline size_t compute_width(string_view s) { return true; } }; + // We could avoid branches by using utf8_decode directly. for_each_codepoint(s, count_code_points{&num_code_points}); return num_code_points; } inline auto compute_width(basic_string_view s) -> size_t { - return compute_width(basic_string_view( - reinterpret_cast(s.data()), s.size())); + return compute_width( + string_view(reinterpret_cast(s.data()), s.size())); } template @@ -657,9 +793,8 @@ inline auto code_point_index(basic_string_view s, size_t n) -> size_t { } // Calculates the index of the nth code point in a UTF-8 string. -inline auto code_point_index(basic_string_view s, size_t n) - -> size_t { - const char8_type* data = s.data(); +inline auto code_point_index(string_view s, size_t n) -> size_t { + const char* data = s.data(); size_t num_code_points = 0; for (size_t i = 0, size = s.size(); i != size; ++i) { if ((data[i] & 0xc0) != 0x80 && ++num_code_points > n) return i; @@ -667,7 +802,55 @@ inline auto code_point_index(basic_string_view s, size_t n) return s.size(); } -#ifdef __SIZEOF_FLOAT128__ +inline auto code_point_index(basic_string_view s, size_t n) + -> size_t { + return code_point_index( + string_view(reinterpret_cast(s.data()), s.size()), n); +} + +template struct is_integral : std::is_integral {}; +template <> struct is_integral : std::true_type {}; +template <> struct is_integral : std::true_type {}; + +template +using is_signed = + std::integral_constant::is_signed || + std::is_same::value>; + +template +using is_integer = + bool_constant::value && !std::is_same::value && + !std::is_same::value && + !std::is_same::value>; + +#ifndef FMT_USE_FLOAT +# define FMT_USE_FLOAT 1 +#endif +#ifndef FMT_USE_DOUBLE +# define FMT_USE_DOUBLE 1 +#endif +#ifndef FMT_USE_LONG_DOUBLE +# define FMT_USE_LONG_DOUBLE 1 +#endif + +#ifndef FMT_USE_FLOAT128 +# ifdef __clang__ +// Clang emulates GCC, so it has to appear early. +# if FMT_HAS_INCLUDE() +# define FMT_USE_FLOAT128 1 +# endif +# elif defined(__GNUC__) +// GNU C++: +# if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) +# define FMT_USE_FLOAT128 1 +# endif +# endif +# ifndef FMT_USE_FLOAT128 +# define FMT_USE_FLOAT128 0 +# endif +#endif + +#if FMT_USE_FLOAT128 using float128 = __float128; #else using float128 = void; @@ -683,6 +866,9 @@ struct is_fast_float : bool_constant::is_iec559 && sizeof(T) <= sizeof(double)> {}; template struct is_fast_float : std::false_type {}; +template +using is_double_double = bool_constant::digits == 106>; + #ifndef FMT_USE_FULL_CACHE_DRAGONBOX # define FMT_USE_FULL_CACHE_DRAGONBOX 0 #endif @@ -707,7 +893,7 @@ template struct is_locale> : std::true_type {}; } // namespace detail -FMT_MODULE_EXPORT_BEGIN +FMT_BEGIN_EXPORT // The number of characters to store in the basic_memory_buffer object itself // to avoid dynamic memory allocation. @@ -750,7 +936,27 @@ class basic_memory_buffer final : public detail::buffer { } protected: - FMT_CONSTEXPR20 void grow(size_t size) override; + FMT_CONSTEXPR20 void grow(size_t size) override { + detail::abort_fuzzing_if(size > 5000); + const size_t max_size = std::allocator_traits::max_size(alloc_); + size_t old_capacity = this->capacity(); + size_t new_capacity = old_capacity + old_capacity / 2; + if (size > new_capacity) + new_capacity = size; + else if (new_capacity > max_size) + new_capacity = size > max_size ? size : max_size; + T* old_data = this->data(); + T* new_data = + std::allocator_traits::allocate(alloc_, new_capacity); + // The following code doesn't throw, so the raw pointer above doesn't leak. + std::uninitialized_copy(old_data, old_data + this->size(), + detail::make_checked(new_data, new_capacity)); + this->set(new_data, new_capacity); + // deallocate must not throw according to the standard, but even if it does, + // the buffer already uses the new storage and will deallocate it in + // destructor. + if (old_data != store_) alloc_.deallocate(old_data, old_capacity); + } public: using value_type = T; @@ -827,79 +1033,32 @@ class basic_memory_buffer final : public detail::buffer { } }; -template -FMT_CONSTEXPR20 void basic_memory_buffer::grow( - size_t size) { -#ifdef FMT_FUZZ - if (size > 5000) throw std::runtime_error("fuzz mode - won't grow that much"); -#endif - const size_t max_size = std::allocator_traits::max_size(alloc_); - size_t old_capacity = this->capacity(); - size_t new_capacity = old_capacity + old_capacity / 2; - if (size > new_capacity) - new_capacity = size; - else if (new_capacity > max_size) - new_capacity = size > max_size ? size : max_size; - T* old_data = this->data(); - T* new_data = - std::allocator_traits::allocate(alloc_, new_capacity); - // The following code doesn't throw, so the raw pointer above doesn't leak. - std::uninitialized_copy(old_data, old_data + this->size(), - detail::make_checked(new_data, new_capacity)); - this->set(new_data, new_capacity); - // deallocate must not throw according to the standard, but even if it does, - // the buffer already uses the new storage and will deallocate it in - // destructor. - if (old_data != store_) alloc_.deallocate(old_data, old_capacity); -} - using memory_buffer = basic_memory_buffer; template struct is_contiguous> : std::true_type { }; +FMT_END_EXPORT namespace detail { +FMT_API bool write_console(std::FILE* f, string_view text); FMT_API void print(std::FILE*, string_view); -} +} // namespace detail +FMT_BEGIN_EXPORT -/** A formatting error such as invalid format string. */ -FMT_CLASS_API +// Suppress a misleading warning in older versions of clang. +#if FMT_CLANG_VERSION +# pragma clang diagnostic ignored "-Wweak-vtables" +#endif + +/** An error reported from a formatting function. */ class FMT_API format_error : public std::runtime_error { public: - explicit format_error(const char* message) : std::runtime_error(message) {} - explicit format_error(const std::string& message) - : std::runtime_error(message) {} - format_error(const format_error&) = default; - format_error& operator=(const format_error&) = default; - format_error(format_error&&) = default; - format_error& operator=(format_error&&) = default; - ~format_error() noexcept override FMT_MSC_DEFAULT; + using std::runtime_error::runtime_error; }; -/** - \rst - Constructs a `~fmt::format_arg_store` object that contains references - to arguments and can be implicitly converted to `~fmt::format_args`. - If ``fmt`` is a compile-time string then `make_args_checked` checks - its validity at compile time. - \endrst - */ -template > -FMT_DEPRECATED FMT_INLINE auto make_args_checked( - const S& fmt, const remove_reference_t&... args) - -> format_arg_store, remove_reference_t...> { - static_assert( - detail::count<( - std::is_base_of>::value && - std::is_reference::value)...>() == 0, - "passing views as lvalues is disallowed"); - detail::check_format_string(fmt); - return {args...}; -} - namespace detail_exported { -#if FMT_USE_NONTYPE_TEMPLATE_PARAMETERS +#if FMT_USE_NONTYPE_TEMPLATE_ARGS template struct fixed_string { constexpr fixed_string(const Char (&str)[N]) { detail::copy_str(static_cast(str), @@ -924,33 +1083,70 @@ constexpr auto compile_string_to_view(detail::std_string_view s) } } // namespace detail_exported +class loc_value { + private: + basic_format_arg value_; + + public: + template ::value)> + loc_value(T value) : value_(detail::make_arg(value)) {} + + template ::value)> + loc_value(T) {} + + template auto visit(Visitor&& vis) -> decltype(vis(0)) { + return visit_format_arg(vis, value_); + } +}; + +// A locale facet that formats values in UTF-8. +// It is parameterized on the locale to avoid the heavy include. +template class format_facet : public Locale::facet { + private: + std::string separator_; + std::string grouping_; + std::string decimal_point_; + + protected: + virtual auto do_put(appender out, loc_value val, + const format_specs<>& specs) const -> bool; + + public: + static FMT_API typename Locale::id id; + + explicit format_facet(Locale& loc); + explicit format_facet(string_view sep = "", + std::initializer_list g = {3}, + std::string decimal_point = ".") + : separator_(sep.data(), sep.size()), + grouping_(g.begin(), g.end()), + decimal_point_(decimal_point) {} + + auto put(appender out, loc_value val, const format_specs<>& specs) const + -> bool { + return do_put(out, val, specs); + } +}; + FMT_BEGIN_DETAIL_NAMESPACE -template struct is_integral : std::is_integral {}; -template <> struct is_integral : std::true_type {}; -template <> struct is_integral : std::true_type {}; - -template -using is_signed = - std::integral_constant::is_signed || - std::is_same::value>; - // Returns true if value is negative, false otherwise. // Same as `value < 0` but doesn't produce warnings if T is an unsigned type. template ::value)> -FMT_CONSTEXPR auto is_negative(T value) -> bool { +constexpr auto is_negative(T value) -> bool { return value < 0; } template ::value)> -FMT_CONSTEXPR auto is_negative(T) -> bool { +constexpr auto is_negative(T) -> bool { return false; } template -FMT_CONSTEXPR auto is_supported_floating_point(T) -> uint16_t { - return (std::is_same::value && FMT_USE_FLOAT) || - (std::is_same::value && FMT_USE_DOUBLE) || - (std::is_same::value && FMT_USE_LONG_DOUBLE); +FMT_CONSTEXPR auto is_supported_floating_point(T) -> bool { + if (std::is_same()) return FMT_USE_FLOAT; + if (std::is_same()) return FMT_USE_DOUBLE; + if (std::is_same()) return FMT_USE_LONG_DOUBLE; + return true; } // Smallest of uint32_t, uint64_t, uint128_t that is large enough to @@ -959,10 +1155,9 @@ template using uint32_or_64_or_128_t = conditional_t() <= 32 && !FMT_REDUCE_INT_INSTANTIATIONS, uint32_t, - conditional_t() <= 64, uint64_t, uint128_opt>>; + conditional_t() <= 64, uint64_t, uint128_t>>; template -using uint64_or_128_t = - conditional_t() <= 64, uint64_t, uint128_opt>; +using uint64_or_128_t = conditional_t() <= 64, uint64_t, uint128_t>; #define FMT_POWERS_OF_10(factor) \ factor * 10, (factor)*100, (factor)*1000, (factor)*10000, (factor)*100000, \ @@ -1175,10 +1370,10 @@ FMT_CONSTEXPR20 auto format_decimal(Char* out, UInt value, int size) template >::value)> -inline auto format_decimal(Iterator out, UInt value, int size) +FMT_CONSTEXPR inline auto format_decimal(Iterator out, UInt value, int size) -> format_decimal_result { // Buffer is large enough to hold all digits (digits10 + 1). - Char buffer[digits10() + 1]; + Char buffer[digits10() + 1] = {}; auto end = format_decimal(buffer, value, size).end; return {out, detail::copy_str_noinline(buffer, end, out)}; } @@ -1223,7 +1418,133 @@ class utf8_to_utf16 { auto str() const -> std::wstring { return {&buffer_[0], size()}; } }; +// A converter from UTF-16/UTF-32 (host endian) to UTF-8. +template +class unicode_to_utf8 { + private: + Buffer buffer_; + + public: + unicode_to_utf8() {} + explicit unicode_to_utf8(basic_string_view s) { + static_assert(sizeof(WChar) == 2 || sizeof(WChar) == 4, + "Expect utf16 or utf32"); + + if (!convert(s)) + FMT_THROW(std::runtime_error(sizeof(WChar) == 2 ? "invalid utf16" + : "invalid utf32")); + } + operator string_view() const { return string_view(&buffer_[0], size()); } + size_t size() const { return buffer_.size() - 1; } + const char* c_str() const { return &buffer_[0]; } + std::string str() const { return std::string(&buffer_[0], size()); } + + // Performs conversion returning a bool instead of throwing exception on + // conversion error. This method may still throw in case of memory allocation + // error. + bool convert(basic_string_view s) { + if (!convert(buffer_, s)) return false; + buffer_.push_back(0); + return true; + } + static bool convert(Buffer& buf, basic_string_view s) { + for (auto p = s.begin(); p != s.end(); ++p) { + uint32_t c = static_cast(*p); + if (sizeof(WChar) == 2 && c >= 0xd800 && c <= 0xdfff) { + // surrogate pair + ++p; + if (p == s.end() || (c & 0xfc00) != 0xd800 || (*p & 0xfc00) != 0xdc00) { + return false; + } + c = (c << 10) + static_cast(*p) - 0x35fdc00; + } + if (c < 0x80) { + buf.push_back(static_cast(c)); + } else if (c < 0x800) { + buf.push_back(static_cast(0xc0 | (c >> 6))); + buf.push_back(static_cast(0x80 | (c & 0x3f))); + } else if ((c >= 0x800 && c <= 0xd7ff) || (c >= 0xe000 && c <= 0xffff)) { + buf.push_back(static_cast(0xe0 | (c >> 12))); + buf.push_back(static_cast(0x80 | ((c & 0xfff) >> 6))); + buf.push_back(static_cast(0x80 | (c & 0x3f))); + } else if (c >= 0x10000 && c <= 0x10ffff) { + buf.push_back(static_cast(0xf0 | (c >> 18))); + buf.push_back(static_cast(0x80 | ((c & 0x3ffff) >> 12))); + buf.push_back(static_cast(0x80 | ((c & 0xfff) >> 6))); + buf.push_back(static_cast(0x80 | (c & 0x3f))); + } else { + return false; + } + } + return true; + } +}; + +// Computes 128-bit result of multiplication of two 64-bit unsigned integers. +inline uint128_fallback umul128(uint64_t x, uint64_t y) noexcept { +#if FMT_USE_INT128 + auto p = static_cast(x) * static_cast(y); + return {static_cast(p >> 64), static_cast(p)}; +#elif defined(_MSC_VER) && defined(_M_X64) + auto result = uint128_fallback(); + result.lo_ = _umul128(x, y, &result.hi_); + return result; +#else + const uint64_t mask = static_cast(max_value()); + + uint64_t a = x >> 32; + uint64_t b = x & mask; + uint64_t c = y >> 32; + uint64_t d = y & mask; + + uint64_t ac = a * c; + uint64_t bc = b * c; + uint64_t ad = a * d; + uint64_t bd = b * d; + + uint64_t intermediate = (bd >> 32) + (ad & mask) + (bc & mask); + + return {ac + (intermediate >> 32) + (ad >> 32) + (bc >> 32), + (intermediate << 32) + (bd & mask)}; +#endif +} + namespace dragonbox { +// Computes floor(log10(pow(2, e))) for e in [-2620, 2620] using the method from +// https://fmt.dev/papers/Dragonbox.pdf#page=28, section 6.1. +inline int floor_log10_pow2(int e) noexcept { + FMT_ASSERT(e <= 2620 && e >= -2620, "too large exponent"); + static_assert((-1 >> 1) == -1, "right shift is not arithmetic"); + return (e * 315653) >> 20; +} + +inline int floor_log2_pow10(int e) noexcept { + FMT_ASSERT(e <= 1233 && e >= -1233, "too large exponent"); + return (e * 1741647) >> 19; +} + +// Computes upper 64 bits of multiplication of two 64-bit unsigned integers. +inline uint64_t umul128_upper64(uint64_t x, uint64_t y) noexcept { +#if FMT_USE_INT128 + auto p = static_cast(x) * static_cast(y); + return static_cast(p >> 64); +#elif defined(_MSC_VER) && defined(_M_X64) + return __umulh(x, y); +#else + return umul128(x, y).high(); +#endif +} + +// Computes upper 128 bits of multiplication of a 64-bit unsigned integer and a +// 128-bit unsigned integer. +inline uint128_fallback umul192_upper128(uint64_t x, + uint128_fallback y) noexcept { + uint128_fallback r = umul128(x, y.high()); + r += umul128_upper64(x, y.low()); + return r; +} + +FMT_API uint128_fallback get_cached_power(int k) noexcept; // Type-specific information that Dragonbox uses. template struct float_info; @@ -1236,8 +1557,6 @@ template <> struct float_info { static const int small_divisor = 10; static const int min_k = -31; static const int max_k = 46; - static const int divisibility_check_by_5_threshold = 39; - static const int case_fc_pm_half_lower_threshold = -1; static const int shorter_interval_tie_lower_threshold = -35; static const int shorter_interval_tie_upper_threshold = -35; }; @@ -1249,9 +1568,7 @@ template <> struct float_info { static const int big_divisor = 1000; static const int small_divisor = 100; static const int min_k = -292; - static const int max_k = 326; - static const int divisibility_check_by_5_threshold = 86; - static const int case_fc_pm_half_lower_threshold = -2; + static const int max_k = 341; static const int shorter_interval_tie_lower_threshold = -77; static const int shorter_interval_tie_upper_threshold = -77; }; @@ -1259,11 +1576,18 @@ template <> struct float_info { // An 80- or 128-bit floating point number. template struct float_info::digits == 64 || - std::numeric_limits::digits == 113>> { + std::numeric_limits::digits == 113 || + is_float128::value>> { using carrier_uint = detail::uint128_t; static const int exponent_bits = 15; }; +// A double-double floating point number. +template +struct float_info::value>> { + using carrier_uint = detail::uint128_t; +}; + template struct decimal_fp { using significand_type = typename float_info::carrier_uint; significand_type significand; @@ -1273,23 +1597,33 @@ template struct decimal_fp { template FMT_API auto to_decimal(T x) noexcept -> decimal_fp; } // namespace dragonbox +// Returns true iff Float has the implicit bit which is not stored. template constexpr bool has_implicit_bit() { + // An 80-bit FP number has a 64-bit significand an no implicit bit. return std::numeric_limits::digits != 64; } -// Returns the number of significand bits in Float excluding the implicit bit. +// Returns the number of significand bits stored in Float. The implicit bit is +// not counted since it is not stored. template constexpr int num_significand_bits() { - return std::numeric_limits::digits - - (has_implicit_bit() ? 1 : 0); + // std::numeric_limits may not support __float128. + return is_float128() ? 112 + : (std::numeric_limits::digits - + (has_implicit_bit() ? 1 : 0)); } template constexpr auto exponent_mask() -> typename dragonbox::float_info::carrier_uint { - using uint = typename dragonbox::float_info::carrier_uint; - return ((uint(1) << dragonbox::float_info::exponent_bits) - 1) + using float_uint = typename dragonbox::float_info::carrier_uint; + return ((float_uint(1) << dragonbox::float_info::exponent_bits) - 1) << num_significand_bits(); } +template constexpr auto exponent_bias() -> int { + // std::numeric_limits may not support __float128. + return is_float128() ? 16383 + : std::numeric_limits::max_exponent - 1; +} // Writes the exponent exp in the form "[+-]d{2,3}" to buffer. template @@ -1313,19 +1647,208 @@ FMT_CONSTEXPR auto write_exponent(int exp, It it) -> It { return it; } -template -FMT_HEADER_ONLY_CONSTEXPR20 auto format_float(T value, int precision, - float_specs specs, - buffer& buf) -> int; +// A floating-point number f * pow(2, e) where F is an unsigned type. +template struct basic_fp { + F f; + int e; -// Formats a floating-point number with snprintf. + static constexpr const int num_significand_bits = + static_cast(sizeof(F) * num_bits()); + + constexpr basic_fp() : f(0), e(0) {} + constexpr basic_fp(uint64_t f_val, int e_val) : f(f_val), e(e_val) {} + + // Constructs fp from an IEEE754 floating-point number. + template FMT_CONSTEXPR basic_fp(Float n) { assign(n); } + + // Assigns n to this and return true iff predecessor is closer than successor. + template ::value)> + FMT_CONSTEXPR auto assign(Float n) -> bool { + static_assert(std::numeric_limits::digits <= 113, "unsupported FP"); + // Assume Float is in the format [sign][exponent][significand]. + using carrier_uint = typename dragonbox::float_info::carrier_uint; + const auto num_float_significand_bits = + detail::num_significand_bits(); + const auto implicit_bit = carrier_uint(1) << num_float_significand_bits; + const auto significand_mask = implicit_bit - 1; + auto u = bit_cast(n); + f = static_cast(u & significand_mask); + auto biased_e = static_cast((u & exponent_mask()) >> + num_float_significand_bits); + // The predecessor is closer if n is a normalized power of 2 (f == 0) + // other than the smallest normalized number (biased_e > 1). + auto is_predecessor_closer = f == 0 && biased_e > 1; + if (biased_e == 0) + biased_e = 1; // Subnormals use biased exponent 1 (min exponent). + else if (has_implicit_bit()) + f += static_cast(implicit_bit); + e = biased_e - exponent_bias() - num_float_significand_bits; + if (!has_implicit_bit()) ++e; + return is_predecessor_closer; + } + + template ::value)> + FMT_CONSTEXPR auto assign(Float n) -> bool { + static_assert(std::numeric_limits::is_iec559, "unsupported FP"); + return assign(static_cast(n)); + } +}; + +using fp = basic_fp; + +// Normalizes the value converted from double and multiplied by (1 << SHIFT). +template +FMT_CONSTEXPR basic_fp normalize(basic_fp value) { + // Handle subnormals. + const auto implicit_bit = F(1) << num_significand_bits(); + const auto shifted_implicit_bit = implicit_bit << SHIFT; + while ((value.f & shifted_implicit_bit) == 0) { + value.f <<= 1; + --value.e; + } + // Subtract 1 to account for hidden bit. + const auto offset = basic_fp::num_significand_bits - + num_significand_bits() - SHIFT - 1; + value.f <<= offset; + value.e -= offset; + return value; +} + +// Computes lhs * rhs / pow(2, 64) rounded to nearest with half-up tie breaking. +FMT_CONSTEXPR inline uint64_t multiply(uint64_t lhs, uint64_t rhs) { +#if FMT_USE_INT128 + auto product = static_cast<__uint128_t>(lhs) * rhs; + auto f = static_cast(product >> 64); + return (static_cast(product) & (1ULL << 63)) != 0 ? f + 1 : f; +#else + // Multiply 32-bit parts of significands. + uint64_t mask = (1ULL << 32) - 1; + uint64_t a = lhs >> 32, b = lhs & mask; + uint64_t c = rhs >> 32, d = rhs & mask; + uint64_t ac = a * c, bc = b * c, ad = a * d, bd = b * d; + // Compute mid 64-bit of result and round. + uint64_t mid = (bd >> 32) + (ad & mask) + (bc & mask) + (1U << 31); + return ac + (ad >> 32) + (bc >> 32) + (mid >> 32); +#endif +} + +FMT_CONSTEXPR inline fp operator*(fp x, fp y) { + return {multiply(x.f, y.f), x.e + y.e + 64}; +} + +template struct basic_data { + // Normalized 64-bit significands of pow(10, k), for k = -348, -340, ..., 340. + // These are generated by support/compute-powers.py. + static constexpr uint64_t pow10_significands[87] = { + 0xfa8fd5a0081c0288, 0xbaaee17fa23ebf76, 0x8b16fb203055ac76, + 0xcf42894a5dce35ea, 0x9a6bb0aa55653b2d, 0xe61acf033d1a45df, + 0xab70fe17c79ac6ca, 0xff77b1fcbebcdc4f, 0xbe5691ef416bd60c, + 0x8dd01fad907ffc3c, 0xd3515c2831559a83, 0x9d71ac8fada6c9b5, + 0xea9c227723ee8bcb, 0xaecc49914078536d, 0x823c12795db6ce57, + 0xc21094364dfb5637, 0x9096ea6f3848984f, 0xd77485cb25823ac7, + 0xa086cfcd97bf97f4, 0xef340a98172aace5, 0xb23867fb2a35b28e, + 0x84c8d4dfd2c63f3b, 0xc5dd44271ad3cdba, 0x936b9fcebb25c996, + 0xdbac6c247d62a584, 0xa3ab66580d5fdaf6, 0xf3e2f893dec3f126, + 0xb5b5ada8aaff80b8, 0x87625f056c7c4a8b, 0xc9bcff6034c13053, + 0x964e858c91ba2655, 0xdff9772470297ebd, 0xa6dfbd9fb8e5b88f, + 0xf8a95fcf88747d94, 0xb94470938fa89bcf, 0x8a08f0f8bf0f156b, + 0xcdb02555653131b6, 0x993fe2c6d07b7fac, 0xe45c10c42a2b3b06, + 0xaa242499697392d3, 0xfd87b5f28300ca0e, 0xbce5086492111aeb, + 0x8cbccc096f5088cc, 0xd1b71758e219652c, 0x9c40000000000000, + 0xe8d4a51000000000, 0xad78ebc5ac620000, 0x813f3978f8940984, + 0xc097ce7bc90715b3, 0x8f7e32ce7bea5c70, 0xd5d238a4abe98068, + 0x9f4f2726179a2245, 0xed63a231d4c4fb27, 0xb0de65388cc8ada8, + 0x83c7088e1aab65db, 0xc45d1df942711d9a, 0x924d692ca61be758, + 0xda01ee641a708dea, 0xa26da3999aef774a, 0xf209787bb47d6b85, + 0xb454e4a179dd1877, 0x865b86925b9bc5c2, 0xc83553c5c8965d3d, + 0x952ab45cfa97a0b3, 0xde469fbd99a05fe3, 0xa59bc234db398c25, + 0xf6c69a72a3989f5c, 0xb7dcbf5354e9bece, 0x88fcf317f22241e2, + 0xcc20ce9bd35c78a5, 0x98165af37b2153df, 0xe2a0b5dc971f303a, + 0xa8d9d1535ce3b396, 0xfb9b7cd9a4a7443c, 0xbb764c4ca7a44410, + 0x8bab8eefb6409c1a, 0xd01fef10a657842c, 0x9b10a4e5e9913129, + 0xe7109bfba19c0c9d, 0xac2820d9623bf429, 0x80444b5e7aa7cf85, + 0xbf21e44003acdd2d, 0x8e679c2f5e44ff8f, 0xd433179d9c8cb841, + 0x9e19db92b4e31ba9, 0xeb96bf6ebadf77d9, 0xaf87023b9bf0ee6b, + }; + +#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wnarrowing" +#endif + // Binary exponents of pow(10, k), for k = -348, -340, ..., 340, corresponding + // to significands above. + static constexpr int16_t pow10_exponents[87] = { + -1220, -1193, -1166, -1140, -1113, -1087, -1060, -1034, -1007, -980, -954, + -927, -901, -874, -847, -821, -794, -768, -741, -715, -688, -661, + -635, -608, -582, -555, -529, -502, -475, -449, -422, -396, -369, + -343, -316, -289, -263, -236, -210, -183, -157, -130, -103, -77, + -50, -24, 3, 30, 56, 83, 109, 136, 162, 189, 216, + 242, 269, 295, 322, 348, 375, 402, 428, 455, 481, 508, + 534, 561, 588, 614, 641, 667, 694, 720, 747, 774, 800, + 827, 853, 880, 907, 933, 960, 986, 1013, 1039, 1066}; +#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409 +# pragma GCC diagnostic pop +#endif + + static constexpr uint64_t power_of_10_64[20] = { + 1, FMT_POWERS_OF_10(1ULL), FMT_POWERS_OF_10(1000000000ULL), + 10000000000000000000ULL}; + + // For checking rounding thresholds. + // The kth entry is chosen to be the smallest integer such that the + // upper 32-bits of 10^(k+1) times it is strictly bigger than 5 * 10^k. + static constexpr uint32_t fractional_part_rounding_thresholds[8] = { + 2576980378, // ceil(2^31 + 2^32/10^1) + 2190433321, // ceil(2^31 + 2^32/10^2) + 2151778616, // ceil(2^31 + 2^32/10^3) + 2147913145, // ceil(2^31 + 2^32/10^4) + 2147526598, // ceil(2^31 + 2^32/10^5) + 2147487943, // ceil(2^31 + 2^32/10^6) + 2147484078, // ceil(2^31 + 2^32/10^7) + 2147483691 // ceil(2^31 + 2^32/10^8) + }; +}; + +#if FMT_CPLUSPLUS < 201703L +template constexpr uint64_t basic_data::pow10_significands[]; +template constexpr int16_t basic_data::pow10_exponents[]; +template constexpr uint64_t basic_data::power_of_10_64[]; template -auto snprintf_float(T value, int precision, float_specs specs, - buffer& buf) -> int; +constexpr uint32_t basic_data::fractional_part_rounding_thresholds[]; +#endif + +// This is a struct rather than an alias to avoid shadowing warnings in gcc. +struct data : basic_data<> {}; + +// Returns a cached power of 10 `c_k = c_k.f * pow(2, c_k.e)` such that its +// (binary) exponent satisfies `min_exponent <= c_k.e <= min_exponent + 28`. +FMT_CONSTEXPR inline fp get_cached_power(int min_exponent, + int& pow10_exponent) { + const int shift = 32; + // log10(2) = 0x0.4d104d427de7fbcc... + const int64_t significand = 0x4d104d427de7fbcc; + int index = static_cast( + ((min_exponent + fp::num_significand_bits - 1) * (significand >> shift) + + ((int64_t(1) << shift) - 1)) // ceil + >> 32 // arithmetic shift + ); + // Decimal exponent of the first (smallest) cached power of 10. + const int first_dec_exp = -348; + // Difference between 2 consecutive decimal exponents in cached powers of 10. + const int dec_exp_step = 8; + index = (index - first_dec_exp - 1) / dec_exp_step + 1; + pow10_exponent = first_dec_exp + index * dec_exp_step; + // Using *(x + index) instead of x[index] avoids an issue with some compilers + // using the EDG frontend (e.g. nvhpc/22.3 in C++17 mode). + return {*(data::pow10_significands + index), + *(data::pow10_exponents + index)}; +} template using convert_float_result = - conditional_t::value || sizeof(T) == sizeof(double), + conditional_t::value || + std::numeric_limits::digits == + std::numeric_limits::digits, double, T>; template @@ -1349,8 +1872,7 @@ FMT_NOINLINE FMT_CONSTEXPR auto fill(OutputIt it, size_t n, // width: output display width in (terminal) column positions. template -FMT_CONSTEXPR auto write_padded(OutputIt out, - const basic_format_specs& specs, +FMT_CONSTEXPR auto write_padded(OutputIt out, const format_specs& specs, size_t size, size_t width, F&& f) -> OutputIt { static_assert(align == align::left || align == align::right, ""); unsigned spec_width = to_unsigned(specs.width); @@ -1369,15 +1891,14 @@ FMT_CONSTEXPR auto write_padded(OutputIt out, template -constexpr auto write_padded(OutputIt out, const basic_format_specs& specs, +constexpr auto write_padded(OutputIt out, const format_specs& specs, size_t size, F&& f) -> OutputIt { return write_padded(out, specs, size, size, f); } template FMT_CONSTEXPR auto write_bytes(OutputIt out, string_view bytes, - const basic_format_specs& specs) - -> OutputIt { + const format_specs& specs) -> OutputIt { return write_padded( out, specs, bytes.size(), [bytes](reserve_iterator it) { const char* data = bytes.data(); @@ -1386,8 +1907,8 @@ FMT_CONSTEXPR auto write_bytes(OutputIt out, string_view bytes, } template -auto write_ptr(OutputIt out, UIntPtr value, - const basic_format_specs* specs) -> OutputIt { +auto write_ptr(OutputIt out, UIntPtr value, const format_specs* specs) + -> OutputIt { int num_digits = count_digits<4>(value); auto size = to_unsigned(num_digits) + size_t(2); auto write = [=](reserve_iterator it) { @@ -1424,7 +1945,7 @@ auto find_escape(const Char* begin, const Char* end) -> find_escape_result { for (; begin != end; ++begin) { uint32_t cp = static_cast>(*begin); - if (sizeof(Char) == 1 && cp >= 0x80) continue; + if (const_check(sizeof(Char) == 1) && cp >= 0x80) continue; if (needs_escape(cp)) return {begin, begin + 1, cp}; } return {begin, nullptr, 0}; @@ -1445,18 +1966,18 @@ inline auto find_escape(const char* begin, const char* end) return result; } -#define FMT_STRING_IMPL(s, base, explicit) \ - [] { \ - /* Use the hidden visibility as a workaround for a GCC bug (#1973). */ \ - /* Use a macro-like name to avoid shadowing warnings. */ \ - struct FMT_GCC_VISIBILITY_HIDDEN FMT_COMPILE_STRING : base { \ - using char_type = fmt::remove_cvref_t; \ - FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit \ - operator fmt::basic_string_view() const { \ - return fmt::detail_exported::compile_string_to_view(s); \ - } \ - }; \ - return FMT_COMPILE_STRING(); \ +#define FMT_STRING_IMPL(s, base, explicit) \ + [] { \ + /* Use the hidden visibility as a workaround for a GCC bug (#1973). */ \ + /* Use a macro-like name to avoid shadowing warnings. */ \ + struct FMT_GCC_VISIBILITY_HIDDEN FMT_COMPILE_STRING : base { \ + using char_type FMT_MAYBE_UNUSED = fmt::remove_cvref_t; \ + FMT_MAYBE_UNUSED FMT_CONSTEXPR explicit \ + operator fmt::basic_string_view() const { \ + return fmt::detail_exported::compile_string_to_view(s); \ + } \ + }; \ + return FMT_COMPILE_STRING(); \ }() /** @@ -1469,12 +1990,16 @@ inline auto find_escape(const char* begin, const char* end) std::string s = fmt::format(FMT_STRING("{:d}"), "foo"); \endrst */ -#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::compile_string, ) +#define FMT_STRING(s) FMT_STRING_IMPL(s, fmt::detail::compile_string, ) -template -auto write_escaped_string(OutputIt out, basic_string_view str) - -> OutputIt { - return copy_str(str.data(), str.data() + str.size(), out); +template +auto write_codepoint(OutputIt out, char prefix, uint32_t cp) -> OutputIt { + *out++ = static_cast('\\'); + *out++ = static_cast(prefix); + Char buf[width]; + fill_n(buf, width, static_cast('0')); + format_uint<4>(buf, cp, width); + return copy_str(buf, buf + width, out); } template @@ -1483,40 +2008,38 @@ auto write_escaped_cp(OutputIt out, const find_escape_result& escape) auto c = static_cast(escape.cp); switch (escape.cp) { case '\n': - *out++ = '\\'; - c = 'n'; + *out++ = static_cast('\\'); + c = static_cast('n'); break; case '\r': - *out++ = '\\'; - c = 'r'; + *out++ = static_cast('\\'); + c = static_cast('r'); break; case '\t': - *out++ = '\\'; - c = 't'; + *out++ = static_cast('\\'); + c = static_cast('t'); break; case '"': FMT_FALLTHROUGH; case '\'': FMT_FALLTHROUGH; case '\\': - *out++ = '\\'; + *out++ = static_cast('\\'); break; default: - if (is_utf8()) { - if (escape.cp < 0x100) { - return format_to(out, FMT_STRING("\\x{:02x}"), escape.cp); - } - if (escape.cp < 0x10000) { - return format_to(out, FMT_STRING("\\u{:04x}"), escape.cp); - } - if (escape.cp < 0x110000) { - return format_to(out, FMT_STRING("\\U{:08x}"), escape.cp); - } + if (escape.cp < 0x100) { + return write_codepoint<2, Char>(out, 'x', escape.cp); } - for (char escape_char : basic_string_view( + if (escape.cp < 0x10000) { + return write_codepoint<4, Char>(out, 'u', escape.cp); + } + if (escape.cp < 0x110000) { + return write_codepoint<8, Char>(out, 'U', escape.cp); + } + for (Char escape_char : basic_string_view( escape.begin, to_unsigned(escape.end - escape.begin))) { - out = format_to(out, FMT_STRING("\\x{:02x}"), - static_cast>(escape_char)); + out = write_codepoint<2, Char>(out, 'x', + static_cast(escape_char) & 0xFF); } return out; } @@ -1524,45 +2047,39 @@ auto write_escaped_cp(OutputIt out, const find_escape_result& escape) return out; } -template -auto write_escaped_string(OutputIt out, basic_string_view str) +template +auto write_escaped_string(OutputIt out, basic_string_view str) -> OutputIt { - *out++ = '"'; + *out++ = static_cast('"'); auto begin = str.begin(), end = str.end(); do { auto escape = find_escape(begin, end); - out = copy_str(begin, escape.begin, out); + out = copy_str(begin, escape.begin, out); begin = escape.end; if (!begin) break; - out = write_escaped_cp(out, escape); + out = write_escaped_cp(out, escape); } while (begin != end); - *out++ = '"'; + *out++ = static_cast('"'); return out; } template auto write_escaped_char(OutputIt out, Char v) -> OutputIt { - *out++ = v; - return out; -} - -template -auto write_escaped_char(OutputIt out, char v) -> OutputIt { - *out++ = '\''; - if ((needs_escape(static_cast(v)) && v != '"') || v == '\'') { + *out++ = static_cast('\''); + if ((needs_escape(static_cast(v)) && v != static_cast('"')) || + v == static_cast('\'')) { out = write_escaped_cp( - out, find_escape_result{&v, &v + 1, static_cast(v)}); + out, find_escape_result{&v, &v + 1, static_cast(v)}); } else { *out++ = v; } - *out++ = '\''; + *out++ = static_cast('\''); return out; } template FMT_CONSTEXPR auto write_char(OutputIt out, Char value, - const basic_format_specs& specs) - -> OutputIt { + const format_specs& specs) -> OutputIt { bool is_debug = specs.type == presentation_type::debug; return write_padded(out, specs, 1, [=](reserve_iterator it) { if (is_debug) return write_escaped_char(it, value); @@ -1572,11 +2089,14 @@ FMT_CONSTEXPR auto write_char(OutputIt out, Char value, } template FMT_CONSTEXPR auto write(OutputIt out, Char value, - const basic_format_specs& specs, - locale_ref loc = {}) -> OutputIt { + const format_specs& specs, locale_ref loc = {}) + -> OutputIt { + // char is formatted as unsigned char for consistency across platforms. + using unsigned_type = + conditional_t::value, unsigned char, unsigned>; return check_char_specs(specs) ? write_char(out, value, specs) - : write(out, static_cast(value), specs, loc); + : write(out, static_cast(value), specs, loc); } // Data for write_int that doesn't depend on output iterator type. It is used to @@ -1586,7 +2106,7 @@ template struct write_int_data { size_t padding; FMT_CONSTEXPR write_int_data(int num_digits, unsigned prefix, - const basic_format_specs& specs) + const format_specs& specs) : size((prefix >> 24) + to_unsigned(num_digits)), padding(0) { if (specs.align == align::numeric) { auto width = to_unsigned(specs.width); @@ -1608,7 +2128,7 @@ template struct write_int_data { template FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, int num_digits, unsigned prefix, - const basic_format_specs& specs, + const format_specs& specs, W write_digits) -> OutputIt { // Slightly faster check for specs.width == 0 && specs.precision == -1. if ((specs.width | (specs.precision + 1)) == 0) { @@ -1631,19 +2151,19 @@ FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, int num_digits, template class digit_grouping { private: - thousands_sep_result sep_; + std::string grouping_; + std::basic_string thousands_sep_; struct next_state { std::string::const_iterator group; int pos; }; - next_state initial_state() const { return {sep_.grouping.begin(), 0}; } + next_state initial_state() const { return {grouping_.begin(), 0}; } // Returns the next digit group separator position. int next(next_state& state) const { - if (!sep_.thousands_sep) return max_value(); - if (state.group == sep_.grouping.end()) - return state.pos += sep_.grouping.back(); + if (thousands_sep_.empty()) return max_value(); + if (state.group == grouping_.end()) return state.pos += grouping_.back(); if (*state.group <= 0 || *state.group == max_value()) return max_value(); state.pos += *state.group++; @@ -1652,14 +2172,15 @@ template class digit_grouping { public: explicit digit_grouping(locale_ref loc, bool localized = true) { - if (localized) - sep_ = thousands_sep(loc); - else - sep_.thousands_sep = Char(); + if (!localized) return; + auto sep = thousands_sep(loc); + grouping_ = sep.grouping; + if (sep.thousands_sep) thousands_sep_.assign(1, sep.thousands_sep); } - explicit digit_grouping(thousands_sep_result sep) : sep_(sep) {} + digit_grouping(std::string grouping, std::basic_string sep) + : grouping_(std::move(grouping)), thousands_sep_(std::move(sep)) {} - Char separator() const { return sep_.thousands_sep; } + bool has_separator() const { return !thousands_sep_.empty(); } int count_separators(int num_digits) const { int count = 0; @@ -1682,7 +2203,9 @@ template class digit_grouping { for (int i = 0, sep_index = static_cast(separators.size() - 1); i < num_digits; ++i) { if (num_digits - i == separators[sep_index]) { - *out++ = separator(); + out = + copy_str(thousands_sep_.data(), + thousands_sep_.data() + thousands_sep_.size(), out); --sep_index; } *out++ = static_cast(digits[to_unsigned(i)]); @@ -1691,10 +2214,11 @@ template class digit_grouping { } }; +// Writes a decimal integer with digit grouping. template -auto write_int_localized(OutputIt out, UInt value, unsigned prefix, - const basic_format_specs& specs, - const digit_grouping& grouping) -> OutputIt { +auto write_int(OutputIt out, UInt value, unsigned prefix, + const format_specs& specs, + const digit_grouping& grouping) -> OutputIt { static_assert(std::is_same, UInt>::value, ""); int num_digits = count_digits(value); char digits[40]; @@ -1703,18 +2227,21 @@ auto write_int_localized(OutputIt out, UInt value, unsigned prefix, grouping.count_separators(num_digits)); return write_padded( out, specs, size, size, [&](reserve_iterator it) { - if (prefix != 0) *it++ = static_cast(prefix); + if (prefix != 0) { + char sign = static_cast(prefix); + *it++ = static_cast(sign); + } return grouping.apply(it, string_view(digits, to_unsigned(num_digits))); }); } -template -auto write_int_localized(OutputIt& out, UInt value, unsigned prefix, - const basic_format_specs& specs, locale_ref loc) - -> bool { - auto grouping = digit_grouping(loc); - out = write_int_localized(out, value, prefix, specs, grouping); - return true; +// Writes a localized value. +FMT_API auto write_loc(appender out, loc_value value, + const format_specs<>& specs, locale_ref loc) -> bool; +template +inline auto write_loc(OutputIt, loc_value, const format_specs&, + locale_ref) -> bool { + return false; } FMT_CONSTEXPR inline void prefix_append(unsigned& prefix, unsigned value) { @@ -1743,21 +2270,37 @@ FMT_CONSTEXPR auto make_write_int_arg(T value, sign_t sign) return {abs_value, prefix}; } +template struct loc_writer { + buffer_appender out; + const format_specs& specs; + std::basic_string sep; + std::string grouping; + std::basic_string decimal_point; + + template ::value)> + auto operator()(T value) -> bool { + auto arg = make_write_int_arg(value, specs.sign); + write_int(out, static_cast>(arg.abs_value), arg.prefix, + specs, digit_grouping(grouping, sep)); + return true; + } + + template ::value)> + auto operator()(T) -> bool { + return false; + } +}; + template FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, write_int_arg arg, - const basic_format_specs& specs, - locale_ref loc) -> OutputIt { + const format_specs& specs, + locale_ref) -> OutputIt { static_assert(std::is_same>::value, ""); auto abs_value = arg.abs_value; auto prefix = arg.prefix; switch (specs.type) { case presentation_type::none: case presentation_type::dec: { - if (specs.localized && - write_int_localized(out, static_cast>(abs_value), - prefix, specs, loc)) { - return out; - } auto num_digits = count_digits(abs_value); return write_int( out, num_digits, prefix, specs, [=](reserve_iterator it) { @@ -1800,13 +2343,13 @@ FMT_CONSTEXPR FMT_INLINE auto write_int(OutputIt out, write_int_arg arg, case presentation_type::chr: return write_char(out, static_cast(abs_value), specs); default: - throw_format_error("invalid type specifier"); + throw_format_error("invalid format specifier"); } return out; } template FMT_CONSTEXPR FMT_NOINLINE auto write_int_noinline( - OutputIt out, write_int_arg arg, const basic_format_specs& specs, + OutputIt out, write_int_arg arg, const format_specs& specs, locale_ref loc) -> OutputIt { return write_int(out, arg, specs, loc); } @@ -1815,8 +2358,9 @@ template ::value && std::is_same>::value)> FMT_CONSTEXPR FMT_INLINE auto write(OutputIt out, T value, - const basic_format_specs& specs, + const format_specs& specs, locale_ref loc) -> OutputIt { + if (specs.localized && write_loc(out, value, specs, loc)) return out; return write_int_noinline(out, make_write_int_arg(value, specs.sign), specs, loc); } @@ -1826,8 +2370,9 @@ template ::value && !std::is_same>::value)> FMT_CONSTEXPR FMT_INLINE auto write(OutputIt out, T value, - const basic_format_specs& specs, + const format_specs& specs, locale_ref loc) -> OutputIt { + if (specs.localized && write_loc(out, value, specs, loc)) return out; return write_int(out, make_write_int_arg(value, specs.sign), specs, loc); } @@ -1842,37 +2387,38 @@ class counting_iterator { using difference_type = std::ptrdiff_t; using pointer = void; using reference = void; - using _Unchecked_type = counting_iterator; // Mark iterator as checked. + FMT_UNCHECKED_ITERATOR(counting_iterator); struct value_type { - template void operator=(const T&) {} + template FMT_CONSTEXPR void operator=(const T&) {} }; - counting_iterator() : count_(0) {} + FMT_CONSTEXPR counting_iterator() : count_(0) {} - size_t count() const { return count_; } + FMT_CONSTEXPR size_t count() const { return count_; } - counting_iterator& operator++() { + FMT_CONSTEXPR counting_iterator& operator++() { ++count_; return *this; } - counting_iterator operator++(int) { + FMT_CONSTEXPR counting_iterator operator++(int) { auto it = *this; ++*this; return it; } - friend counting_iterator operator+(counting_iterator it, difference_type n) { + FMT_CONSTEXPR friend counting_iterator operator+(counting_iterator it, + difference_type n) { it.count_ += static_cast(n); return it; } - value_type operator*() const { return {}; } + FMT_CONSTEXPR value_type operator*() const { return {}; } }; template FMT_CONSTEXPR auto write(OutputIt out, basic_string_view s, - const basic_format_specs& specs) -> OutputIt { + const format_specs& specs) -> OutputIt { auto data = s.data(); auto size = s.size(); if (specs.precision >= 0 && to_unsigned(specs.precision) < size) @@ -1894,23 +2440,106 @@ FMT_CONSTEXPR auto write(OutputIt out, basic_string_view s, template FMT_CONSTEXPR auto write(OutputIt out, basic_string_view> s, - const basic_format_specs& specs, locale_ref) + const format_specs& specs, locale_ref) -> OutputIt { - check_string_type_spec(specs.type); return write(out, s, specs); } template FMT_CONSTEXPR auto write(OutputIt out, const Char* s, - const basic_format_specs& specs, locale_ref) + const format_specs& specs, locale_ref) -> OutputIt { - return check_cstring_type_spec(specs.type) + return specs.type != presentation_type::pointer ? write(out, basic_string_view(s), specs, {}) : write_ptr(out, bit_cast(s), &specs); } +template ::value && + !std::is_same::value && + !std::is_same::value)> +FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { + auto abs_value = static_cast>(value); + bool negative = is_negative(value); + // Don't do -abs_value since it trips unsigned-integer-overflow sanitizer. + if (negative) abs_value = ~abs_value + 1; + int num_digits = count_digits(abs_value); + auto size = (negative ? 1 : 0) + static_cast(num_digits); + auto it = reserve(out, size); + if (auto ptr = to_pointer(it, size)) { + if (negative) *ptr++ = static_cast('-'); + format_decimal(ptr, abs_value, num_digits); + return out; + } + if (negative) *it++ = static_cast('-'); + it = format_decimal(it, abs_value, num_digits).end; + return base_iterator(out, it); +} + +// A floating-point presentation format. +enum class float_format : unsigned char { + general, // General: exponent notation or fixed point based on magnitude. + exp, // Exponent notation with the default precision of 6, e.g. 1.2e-3. + fixed, // Fixed point with the default precision of 6, e.g. 0.0012. + hex +}; + +struct float_specs { + int precision; + float_format format : 8; + sign_t sign : 8; + bool upper : 1; + bool locale : 1; + bool binary32 : 1; + bool showpoint : 1; +}; + +template +FMT_CONSTEXPR auto parse_float_type_spec(const format_specs& specs, + ErrorHandler&& eh = {}) + -> float_specs { + auto result = float_specs(); + result.showpoint = specs.alt; + result.locale = specs.localized; + switch (specs.type) { + case presentation_type::none: + result.format = float_format::general; + break; + case presentation_type::general_upper: + result.upper = true; + FMT_FALLTHROUGH; + case presentation_type::general_lower: + result.format = float_format::general; + break; + case presentation_type::exp_upper: + result.upper = true; + FMT_FALLTHROUGH; + case presentation_type::exp_lower: + result.format = float_format::exp; + result.showpoint |= specs.precision != 0; + break; + case presentation_type::fixed_upper: + result.upper = true; + FMT_FALLTHROUGH; + case presentation_type::fixed_lower: + result.format = float_format::fixed; + result.showpoint |= specs.precision != 0; + break; + case presentation_type::hexfloat_upper: + result.upper = true; + FMT_FALLTHROUGH; + case presentation_type::hexfloat_lower: + result.format = float_format::hex; + break; + default: + eh.on_error("invalid format specifier"); + break; + } + return result; +} + template FMT_CONSTEXPR20 auto write_nonfinite(OutputIt out, bool isnan, - basic_format_specs specs, + format_specs specs, const float_specs& fspecs) -> OutputIt { auto str = isnan ? (fspecs.upper ? "NAN" : "nan") : (fspecs.upper ? "INF" : "inf"); @@ -1934,12 +2563,12 @@ struct big_decimal_fp { int exponent; }; -constexpr auto get_significand_size(const big_decimal_fp& fp) -> int { - return fp.significand_size; +constexpr auto get_significand_size(const big_decimal_fp& f) -> int { + return f.significand_size; } template -inline auto get_significand_size(const dragonbox::decimal_fp& fp) -> int { - return count_digits(fp.significand); +inline auto get_significand_size(const dragonbox::decimal_fp& f) -> int { + return count_digits(f.significand); } template @@ -1956,7 +2585,7 @@ template FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, int significand_size, int exponent, const Grouping& grouping) -> OutputIt { - if (!grouping.separator()) { + if (!grouping.has_separator()) { out = write_significand(out, significand, significand_size); return detail::fill_n(out, exponent, static_cast('0')); } @@ -2018,7 +2647,7 @@ FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, int significand_size, int integral_size, Char decimal_point, const Grouping& grouping) -> OutputIt { - if (!grouping.separator()) { + if (!grouping.has_separator()) { return write_significand(out, significand, significand_size, integral_size, decimal_point); } @@ -2033,13 +2662,13 @@ FMT_CONSTEXPR20 auto write_significand(OutputIt out, T significand, template > -FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& fp, - const basic_format_specs& specs, +FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& f, + const format_specs& specs, float_specs fspecs, locale_ref loc) -> OutputIt { - auto significand = fp.significand; - int significand_size = get_significand_size(fp); - constexpr Char zero = static_cast('0'); + auto significand = f.significand; + int significand_size = get_significand_size(f); + const Char zero = static_cast('0'); auto sign = fspecs.sign; size_t size = to_unsigned(significand_size) + (sign ? 1 : 0); using iterator = reserve_iterator; @@ -2047,7 +2676,7 @@ FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& fp, Char decimal_point = fspecs.locale ? detail::decimal_point(loc) : static_cast('.'); - int output_exp = fp.exponent + significand_size - 1; + int output_exp = f.exponent + significand_size - 1; auto use_exp_format = [=]() { if (fspecs.format == float_format::exp) return true; if (fspecs.format != float_format::general) return false; @@ -2085,26 +2714,23 @@ FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& fp, : base_iterator(out, write(reserve(out, size))); } - int exp = fp.exponent + significand_size; - if (fp.exponent >= 0) { + int exp = f.exponent + significand_size; + if (f.exponent >= 0) { // 1234e5 -> 123400000[.0+] - size += to_unsigned(fp.exponent); + size += to_unsigned(f.exponent); int num_zeros = fspecs.precision - exp; -#ifdef FMT_FUZZ - if (num_zeros > 5000) - throw std::runtime_error("fuzz mode - avoiding excessive cpu use"); -#endif + abort_fuzzing_if(num_zeros > 5000); if (fspecs.showpoint) { ++size; - if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 1; + if (num_zeros <= 0 && fspecs.format != float_format::fixed) num_zeros = 0; if (num_zeros > 0) size += to_unsigned(num_zeros); } auto grouping = Grouping(loc, fspecs.locale); - size += to_unsigned(grouping.count_separators(significand_size)); + size += to_unsigned(grouping.count_separators(exp)); return write_padded(out, specs, size, [&](iterator it) { if (sign) *it++ = detail::sign(sign); it = write_significand(it, significand, significand_size, - fp.exponent, grouping); + f.exponent, grouping); if (!fspecs.showpoint) return it; *it++ = decimal_point; return num_zeros > 0 ? detail::fill_n(it, num_zeros, zero) : it; @@ -2114,7 +2740,7 @@ FMT_CONSTEXPR20 auto do_write_float(OutputIt out, const DecimalFP& fp, int num_zeros = fspecs.showpoint ? fspecs.precision - significand_size : 0; size += 1 + to_unsigned(num_zeros > 0 ? num_zeros : 0); auto grouping = Grouping(loc, fspecs.locale); - size += to_unsigned(grouping.count_separators(significand_size)); + size += to_unsigned(grouping.count_separators(exp)); return write_padded(out, specs, size, [&](iterator it) { if (sign) *it++ = detail::sign(sign); it = write_significand(it, significand, significand_size, exp, @@ -2144,7 +2770,7 @@ template class fallback_digit_grouping { public: constexpr fallback_digit_grouping(locale_ref, bool) {} - constexpr Char separator() const { return Char(); } + constexpr bool has_separator() const { return false; } constexpr int count_separators(int) const { return 0; } @@ -2155,32 +2781,43 @@ template class fallback_digit_grouping { }; template -FMT_CONSTEXPR20 auto write_float(OutputIt out, const DecimalFP& fp, - const basic_format_specs& specs, +FMT_CONSTEXPR20 auto write_float(OutputIt out, const DecimalFP& f, + const format_specs& specs, float_specs fspecs, locale_ref loc) -> OutputIt { if (is_constant_evaluated()) { return do_write_float>(out, fp, specs, fspecs, + fallback_digit_grouping>(out, f, specs, fspecs, loc); } else { - return do_write_float(out, fp, specs, fspecs, loc); + return do_write_float(out, f, specs, fspecs, loc); } } -template ::value && - !is_float128::value)> -FMT_CONSTEXPR20 bool isfinite(T value) { - if (is_constant_evaluated()) return value - value == 0; - return std::isfinite(value); -} -template ::value)> -constexpr bool isfinite(T value) { - return value - value == 0; // std::isfinite doesn't support __float128. +template constexpr bool isnan(T value) { + return !(value >= value); // std::isnan doesn't support __float128. } -template constexpr bool isnan(T value) { - return value != value; // std::isnan doesn't support __float128. +template +struct has_isfinite : std::false_type {}; + +template +struct has_isfinite> + : std::true_type {}; + +template ::value&& + has_isfinite::value)> +FMT_CONSTEXPR20 bool isfinite(T value) { + constexpr T inf = T(std::numeric_limits::infinity()); + if (is_constant_evaluated()) + return !detail::isnan(value) && value < inf && value > -inf; + return std::isfinite(value); +} +template ::value)> +FMT_CONSTEXPR bool isfinite(T value) { + T inf = T(std::numeric_limits::infinity()); + // std::isfinite doesn't support __float128. + return !detail::isnan(value) && value < inf && value > -inf; } template ::value)> @@ -2196,12 +2833,992 @@ FMT_INLINE FMT_CONSTEXPR bool signbit(T value) { return std::signbit(static_cast(value)); } -template ::value)> -FMT_CONSTEXPR20 auto write(OutputIt out, T value, - basic_format_specs specs, locale_ref loc = {}) +enum class round_direction { unknown, up, down }; + +// Given the divisor (normally a power of 10), the remainder = v % divisor for +// some number v and the error, returns whether v should be rounded up, down, or +// whether the rounding direction can't be determined due to error. +// error should be less than divisor / 2. +FMT_CONSTEXPR inline round_direction get_round_direction(uint64_t divisor, + uint64_t remainder, + uint64_t error) { + FMT_ASSERT(remainder < divisor, ""); // divisor - remainder won't overflow. + FMT_ASSERT(error < divisor, ""); // divisor - error won't overflow. + FMT_ASSERT(error < divisor - error, ""); // error * 2 won't overflow. + // Round down if (remainder + error) * 2 <= divisor. + if (remainder <= divisor - remainder && error * 2 <= divisor - remainder * 2) + return round_direction::down; + // Round up if (remainder - error) * 2 >= divisor. + if (remainder >= error && + remainder - error >= divisor - (remainder - error)) { + return round_direction::up; + } + return round_direction::unknown; +} + +namespace digits { +enum result { + more, // Generate more digits. + done, // Done generating digits. + error // Digit generation cancelled due to an error. +}; +} + +struct gen_digits_handler { + char* buf; + int size; + int precision; + int exp10; + bool fixed; + + FMT_CONSTEXPR digits::result on_digit(char digit, uint64_t divisor, + uint64_t remainder, uint64_t error, + bool integral) { + FMT_ASSERT(remainder < divisor, ""); + buf[size++] = digit; + if (!integral && error >= remainder) return digits::error; + if (size < precision) return digits::more; + if (!integral) { + // Check if error * 2 < divisor with overflow prevention. + // The check is not needed for the integral part because error = 1 + // and divisor > (1 << 32) there. + if (error >= divisor || error >= divisor - error) return digits::error; + } else { + FMT_ASSERT(error == 1 && divisor > 2, ""); + } + auto dir = get_round_direction(divisor, remainder, error); + if (dir != round_direction::up) + return dir == round_direction::down ? digits::done : digits::error; + ++buf[size - 1]; + for (int i = size - 1; i > 0 && buf[i] > '9'; --i) { + buf[i] = '0'; + ++buf[i - 1]; + } + if (buf[0] > '9') { + buf[0] = '1'; + if (fixed) + buf[size++] = '0'; + else + ++exp10; + } + return digits::done; + } +}; + +inline FMT_CONSTEXPR20 void adjust_precision(int& precision, int exp10) { + // Adjust fixed precision by exponent because it is relative to decimal + // point. + if (exp10 > 0 && precision > max_value() - exp10) + FMT_THROW(format_error("number is too big")); + precision += exp10; +} + +// Generates output using the Grisu digit-gen algorithm. +// error: the size of the region (lower, upper) outside of which numbers +// definitely do not round to value (Delta in Grisu3). +FMT_INLINE FMT_CONSTEXPR20 auto grisu_gen_digits(fp value, uint64_t error, + int& exp, + gen_digits_handler& handler) + -> digits::result { + const fp one(1ULL << -value.e, value.e); + // The integral part of scaled value (p1 in Grisu) = value / one. It cannot be + // zero because it contains a product of two 64-bit numbers with MSB set (due + // to normalization) - 1, shifted right by at most 60 bits. + auto integral = static_cast(value.f >> -one.e); + FMT_ASSERT(integral != 0, ""); + FMT_ASSERT(integral == value.f >> -one.e, ""); + // The fractional part of scaled value (p2 in Grisu) c = value % one. + uint64_t fractional = value.f & (one.f - 1); + exp = count_digits(integral); // kappa in Grisu. + // Non-fixed formats require at least one digit and no precision adjustment. + if (handler.fixed) { + adjust_precision(handler.precision, exp + handler.exp10); + // Check if precision is satisfied just by leading zeros, e.g. + // format("{:.2f}", 0.001) gives "0.00" without generating any digits. + if (handler.precision <= 0) { + if (handler.precision < 0) return digits::done; + // Divide by 10 to prevent overflow. + uint64_t divisor = data::power_of_10_64[exp - 1] << -one.e; + auto dir = get_round_direction(divisor, value.f / 10, error * 10); + if (dir == round_direction::unknown) return digits::error; + handler.buf[handler.size++] = dir == round_direction::up ? '1' : '0'; + return digits::done; + } + } + // Generate digits for the integral part. This can produce up to 10 digits. + do { + uint32_t digit = 0; + auto divmod_integral = [&](uint32_t divisor) { + digit = integral / divisor; + integral %= divisor; + }; + // This optimization by Milo Yip reduces the number of integer divisions by + // one per iteration. + switch (exp) { + case 10: + divmod_integral(1000000000); + break; + case 9: + divmod_integral(100000000); + break; + case 8: + divmod_integral(10000000); + break; + case 7: + divmod_integral(1000000); + break; + case 6: + divmod_integral(100000); + break; + case 5: + divmod_integral(10000); + break; + case 4: + divmod_integral(1000); + break; + case 3: + divmod_integral(100); + break; + case 2: + divmod_integral(10); + break; + case 1: + digit = integral; + integral = 0; + break; + default: + FMT_ASSERT(false, "invalid number of digits"); + } + --exp; + auto remainder = (static_cast(integral) << -one.e) + fractional; + auto result = handler.on_digit(static_cast('0' + digit), + data::power_of_10_64[exp] << -one.e, + remainder, error, true); + if (result != digits::more) return result; + } while (exp > 0); + // Generate digits for the fractional part. + for (;;) { + fractional *= 10; + error *= 10; + char digit = static_cast('0' + (fractional >> -one.e)); + fractional &= one.f - 1; + --exp; + auto result = handler.on_digit(digit, one.f, fractional, error, false); + if (result != digits::more) return result; + } +} + +class bigint { + private: + // A bigint is stored as an array of bigits (big digits), with bigit at index + // 0 being the least significant one. + using bigit = uint32_t; + using double_bigit = uint64_t; + enum { bigits_capacity = 32 }; + basic_memory_buffer bigits_; + int exp_; + + FMT_CONSTEXPR20 bigit operator[](int index) const { + return bigits_[to_unsigned(index)]; + } + FMT_CONSTEXPR20 bigit& operator[](int index) { + return bigits_[to_unsigned(index)]; + } + + static constexpr const int bigit_bits = num_bits(); + + friend struct formatter; + + FMT_CONSTEXPR20 void subtract_bigits(int index, bigit other, bigit& borrow) { + auto result = static_cast((*this)[index]) - other - borrow; + (*this)[index] = static_cast(result); + borrow = static_cast(result >> (bigit_bits * 2 - 1)); + } + + FMT_CONSTEXPR20 void remove_leading_zeros() { + int num_bigits = static_cast(bigits_.size()) - 1; + while (num_bigits > 0 && (*this)[num_bigits] == 0) --num_bigits; + bigits_.resize(to_unsigned(num_bigits + 1)); + } + + // Computes *this -= other assuming aligned bigints and *this >= other. + FMT_CONSTEXPR20 void subtract_aligned(const bigint& other) { + FMT_ASSERT(other.exp_ >= exp_, "unaligned bigints"); + FMT_ASSERT(compare(*this, other) >= 0, ""); + bigit borrow = 0; + int i = other.exp_ - exp_; + for (size_t j = 0, n = other.bigits_.size(); j != n; ++i, ++j) + subtract_bigits(i, other.bigits_[j], borrow); + while (borrow > 0) subtract_bigits(i, 0, borrow); + remove_leading_zeros(); + } + + FMT_CONSTEXPR20 void multiply(uint32_t value) { + const double_bigit wide_value = value; + bigit carry = 0; + for (size_t i = 0, n = bigits_.size(); i < n; ++i) { + double_bigit result = bigits_[i] * wide_value + carry; + bigits_[i] = static_cast(result); + carry = static_cast(result >> bigit_bits); + } + if (carry != 0) bigits_.push_back(carry); + } + + template ::value || + std::is_same::value)> + FMT_CONSTEXPR20 void multiply(UInt value) { + using half_uint = + conditional_t::value, uint64_t, uint32_t>; + const int shift = num_bits() - bigit_bits; + const UInt lower = static_cast(value); + const UInt upper = value >> num_bits(); + UInt carry = 0; + for (size_t i = 0, n = bigits_.size(); i < n; ++i) { + UInt result = lower * bigits_[i] + static_cast(carry); + carry = (upper * bigits_[i] << shift) + (result >> bigit_bits) + + (carry >> bigit_bits); + bigits_[i] = static_cast(result); + } + while (carry != 0) { + bigits_.push_back(static_cast(carry)); + carry >>= bigit_bits; + } + } + + template ::value || + std::is_same::value)> + FMT_CONSTEXPR20 void assign(UInt n) { + size_t num_bigits = 0; + do { + bigits_[num_bigits++] = static_cast(n); + n >>= bigit_bits; + } while (n != 0); + bigits_.resize(num_bigits); + exp_ = 0; + } + + public: + FMT_CONSTEXPR20 bigint() : exp_(0) {} + explicit bigint(uint64_t n) { assign(n); } + + bigint(const bigint&) = delete; + void operator=(const bigint&) = delete; + + FMT_CONSTEXPR20 void assign(const bigint& other) { + auto size = other.bigits_.size(); + bigits_.resize(size); + auto data = other.bigits_.data(); + std::copy(data, data + size, make_checked(bigits_.data(), size)); + exp_ = other.exp_; + } + + template FMT_CONSTEXPR20 void operator=(Int n) { + FMT_ASSERT(n > 0, ""); + assign(uint64_or_128_t(n)); + } + + FMT_CONSTEXPR20 int num_bigits() const { + return static_cast(bigits_.size()) + exp_; + } + + FMT_NOINLINE FMT_CONSTEXPR20 bigint& operator<<=(int shift) { + FMT_ASSERT(shift >= 0, ""); + exp_ += shift / bigit_bits; + shift %= bigit_bits; + if (shift == 0) return *this; + bigit carry = 0; + for (size_t i = 0, n = bigits_.size(); i < n; ++i) { + bigit c = bigits_[i] >> (bigit_bits - shift); + bigits_[i] = (bigits_[i] << shift) + carry; + carry = c; + } + if (carry != 0) bigits_.push_back(carry); + return *this; + } + + template FMT_CONSTEXPR20 bigint& operator*=(Int value) { + FMT_ASSERT(value > 0, ""); + multiply(uint32_or_64_or_128_t(value)); + return *this; + } + + friend FMT_CONSTEXPR20 int compare(const bigint& lhs, const bigint& rhs) { + int num_lhs_bigits = lhs.num_bigits(), num_rhs_bigits = rhs.num_bigits(); + if (num_lhs_bigits != num_rhs_bigits) + return num_lhs_bigits > num_rhs_bigits ? 1 : -1; + int i = static_cast(lhs.bigits_.size()) - 1; + int j = static_cast(rhs.bigits_.size()) - 1; + int end = i - j; + if (end < 0) end = 0; + for (; i >= end; --i, --j) { + bigit lhs_bigit = lhs[i], rhs_bigit = rhs[j]; + if (lhs_bigit != rhs_bigit) return lhs_bigit > rhs_bigit ? 1 : -1; + } + if (i != j) return i > j ? 1 : -1; + return 0; + } + + // Returns compare(lhs1 + lhs2, rhs). + friend FMT_CONSTEXPR20 int add_compare(const bigint& lhs1, const bigint& lhs2, + const bigint& rhs) { + auto minimum = [](int a, int b) { return a < b ? a : b; }; + auto maximum = [](int a, int b) { return a > b ? a : b; }; + int max_lhs_bigits = maximum(lhs1.num_bigits(), lhs2.num_bigits()); + int num_rhs_bigits = rhs.num_bigits(); + if (max_lhs_bigits + 1 < num_rhs_bigits) return -1; + if (max_lhs_bigits > num_rhs_bigits) return 1; + auto get_bigit = [](const bigint& n, int i) -> bigit { + return i >= n.exp_ && i < n.num_bigits() ? n[i - n.exp_] : 0; + }; + double_bigit borrow = 0; + int min_exp = minimum(minimum(lhs1.exp_, lhs2.exp_), rhs.exp_); + for (int i = num_rhs_bigits - 1; i >= min_exp; --i) { + double_bigit sum = + static_cast(get_bigit(lhs1, i)) + get_bigit(lhs2, i); + bigit rhs_bigit = get_bigit(rhs, i); + if (sum > rhs_bigit + borrow) return 1; + borrow = rhs_bigit + borrow - sum; + if (borrow > 1) return -1; + borrow <<= bigit_bits; + } + return borrow != 0 ? -1 : 0; + } + + // Assigns pow(10, exp) to this bigint. + FMT_CONSTEXPR20 void assign_pow10(int exp) { + FMT_ASSERT(exp >= 0, ""); + if (exp == 0) return *this = 1; + // Find the top bit. + int bitmask = 1; + while (exp >= bitmask) bitmask <<= 1; + bitmask >>= 1; + // pow(10, exp) = pow(5, exp) * pow(2, exp). First compute pow(5, exp) by + // repeated squaring and multiplication. + *this = 5; + bitmask >>= 1; + while (bitmask != 0) { + square(); + if ((exp & bitmask) != 0) *this *= 5; + bitmask >>= 1; + } + *this <<= exp; // Multiply by pow(2, exp) by shifting. + } + + FMT_CONSTEXPR20 void square() { + int num_bigits = static_cast(bigits_.size()); + int num_result_bigits = 2 * num_bigits; + basic_memory_buffer n(std::move(bigits_)); + bigits_.resize(to_unsigned(num_result_bigits)); + auto sum = uint128_t(); + for (int bigit_index = 0; bigit_index < num_bigits; ++bigit_index) { + // Compute bigit at position bigit_index of the result by adding + // cross-product terms n[i] * n[j] such that i + j == bigit_index. + for (int i = 0, j = bigit_index; j >= 0; ++i, --j) { + // Most terms are multiplied twice which can be optimized in the future. + sum += static_cast(n[i]) * n[j]; + } + (*this)[bigit_index] = static_cast(sum); + sum >>= num_bits(); // Compute the carry. + } + // Do the same for the top half. + for (int bigit_index = num_bigits; bigit_index < num_result_bigits; + ++bigit_index) { + for (int j = num_bigits - 1, i = bigit_index - j; i < num_bigits;) + sum += static_cast(n[i++]) * n[j--]; + (*this)[bigit_index] = static_cast(sum); + sum >>= num_bits(); + } + remove_leading_zeros(); + exp_ *= 2; + } + + // If this bigint has a bigger exponent than other, adds trailing zero to make + // exponents equal. This simplifies some operations such as subtraction. + FMT_CONSTEXPR20 void align(const bigint& other) { + int exp_difference = exp_ - other.exp_; + if (exp_difference <= 0) return; + int num_bigits = static_cast(bigits_.size()); + bigits_.resize(to_unsigned(num_bigits + exp_difference)); + for (int i = num_bigits - 1, j = i + exp_difference; i >= 0; --i, --j) + bigits_[j] = bigits_[i]; + std::uninitialized_fill_n(bigits_.data(), exp_difference, 0); + exp_ -= exp_difference; + } + + // Divides this bignum by divisor, assigning the remainder to this and + // returning the quotient. + FMT_CONSTEXPR20 int divmod_assign(const bigint& divisor) { + FMT_ASSERT(this != &divisor, ""); + if (compare(*this, divisor) < 0) return 0; + FMT_ASSERT(divisor.bigits_[divisor.bigits_.size() - 1u] != 0, ""); + align(divisor); + int quotient = 0; + do { + subtract_aligned(divisor); + ++quotient; + } while (compare(*this, divisor) >= 0); + return quotient; + } +}; + +// format_dragon flags. +enum dragon { + predecessor_closer = 1, + fixup = 2, // Run fixup to correct exp10 which can be off by one. + fixed = 4, +}; + +// Formats a floating-point number using a variation of the Fixed-Precision +// Positive Floating-Point Printout ((FPP)^2) algorithm by Steele & White: +// https://fmt.dev/papers/p372-steele.pdf. +FMT_CONSTEXPR20 inline void format_dragon(basic_fp value, + unsigned flags, int num_digits, + buffer& buf, int& exp10) { + bigint numerator; // 2 * R in (FPP)^2. + bigint denominator; // 2 * S in (FPP)^2. + // lower and upper are differences between value and corresponding boundaries. + bigint lower; // (M^- in (FPP)^2). + bigint upper_store; // upper's value if different from lower. + bigint* upper = nullptr; // (M^+ in (FPP)^2). + // Shift numerator and denominator by an extra bit or two (if lower boundary + // is closer) to make lower and upper integers. This eliminates multiplication + // by 2 during later computations. + bool is_predecessor_closer = (flags & dragon::predecessor_closer) != 0; + int shift = is_predecessor_closer ? 2 : 1; + if (value.e >= 0) { + numerator = value.f; + numerator <<= value.e + shift; + lower = 1; + lower <<= value.e; + if (is_predecessor_closer) { + upper_store = 1; + upper_store <<= value.e + 1; + upper = &upper_store; + } + denominator.assign_pow10(exp10); + denominator <<= shift; + } else if (exp10 < 0) { + numerator.assign_pow10(-exp10); + lower.assign(numerator); + if (is_predecessor_closer) { + upper_store.assign(numerator); + upper_store <<= 1; + upper = &upper_store; + } + numerator *= value.f; + numerator <<= shift; + denominator = 1; + denominator <<= shift - value.e; + } else { + numerator = value.f; + numerator <<= shift; + denominator.assign_pow10(exp10); + denominator <<= shift - value.e; + lower = 1; + if (is_predecessor_closer) { + upper_store = 1ULL << 1; + upper = &upper_store; + } + } + int even = static_cast((value.f & 1) == 0); + if (!upper) upper = &lower; + if ((flags & dragon::fixup) != 0) { + if (add_compare(numerator, *upper, denominator) + even <= 0) { + --exp10; + numerator *= 10; + if (num_digits < 0) { + lower *= 10; + if (upper != &lower) *upper *= 10; + } + } + if ((flags & dragon::fixed) != 0) adjust_precision(num_digits, exp10 + 1); + } + // Invariant: value == (numerator / denominator) * pow(10, exp10). + if (num_digits < 0) { + // Generate the shortest representation. + num_digits = 0; + char* data = buf.data(); + for (;;) { + int digit = numerator.divmod_assign(denominator); + bool low = compare(numerator, lower) - even < 0; // numerator <[=] lower. + // numerator + upper >[=] pow10: + bool high = add_compare(numerator, *upper, denominator) + even > 0; + data[num_digits++] = static_cast('0' + digit); + if (low || high) { + if (!low) { + ++data[num_digits - 1]; + } else if (high) { + int result = add_compare(numerator, numerator, denominator); + // Round half to even. + if (result > 0 || (result == 0 && (digit % 2) != 0)) + ++data[num_digits - 1]; + } + buf.try_resize(to_unsigned(num_digits)); + exp10 -= num_digits - 1; + return; + } + numerator *= 10; + lower *= 10; + if (upper != &lower) *upper *= 10; + } + } + // Generate the given number of digits. + exp10 -= num_digits - 1; + if (num_digits == 0) { + denominator *= 10; + auto digit = add_compare(numerator, numerator, denominator) > 0 ? '1' : '0'; + buf.push_back(digit); + return; + } + buf.try_resize(to_unsigned(num_digits)); + for (int i = 0; i < num_digits - 1; ++i) { + int digit = numerator.divmod_assign(denominator); + buf[i] = static_cast('0' + digit); + numerator *= 10; + } + int digit = numerator.divmod_assign(denominator); + auto result = add_compare(numerator, numerator, denominator); + if (result > 0 || (result == 0 && (digit % 2) != 0)) { + if (digit == 9) { + const auto overflow = '0' + 10; + buf[num_digits - 1] = overflow; + // Propagate the carry. + for (int i = num_digits - 1; i > 0 && buf[i] == overflow; --i) { + buf[i] = '0'; + ++buf[i - 1]; + } + if (buf[0] == overflow) { + buf[0] = '1'; + ++exp10; + } + return; + } + ++digit; + } + buf[num_digits - 1] = static_cast('0' + digit); +} + +// Formats a floating-point number using the hexfloat format. +template ::value)> +FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision, + float_specs specs, buffer& buf) { + // float is passed as double to reduce the number of instantiations and to + // simplify implementation. + static_assert(!std::is_same::value, ""); + + using info = dragonbox::float_info; + + // Assume Float is in the format [sign][exponent][significand]. + using carrier_uint = typename info::carrier_uint; + + constexpr auto num_float_significand_bits = + detail::num_significand_bits(); + + basic_fp f(value); + f.e += num_float_significand_bits; + if (!has_implicit_bit()) --f.e; + + constexpr auto num_fraction_bits = + num_float_significand_bits + (has_implicit_bit() ? 1 : 0); + constexpr auto num_xdigits = (num_fraction_bits + 3) / 4; + + constexpr auto leading_shift = ((num_xdigits - 1) * 4); + const auto leading_mask = carrier_uint(0xF) << leading_shift; + const auto leading_xdigit = + static_cast((f.f & leading_mask) >> leading_shift); + if (leading_xdigit > 1) f.e -= (32 - countl_zero(leading_xdigit) - 1); + + int print_xdigits = num_xdigits - 1; + if (precision >= 0 && print_xdigits > precision) { + const int shift = ((print_xdigits - precision - 1) * 4); + const auto mask = carrier_uint(0xF) << shift; + const auto v = static_cast((f.f & mask) >> shift); + + if (v >= 8) { + const auto inc = carrier_uint(1) << (shift + 4); + f.f += inc; + f.f &= ~(inc - 1); + } + + // Check long double overflow + if (!has_implicit_bit()) { + const auto implicit_bit = carrier_uint(1) << num_float_significand_bits; + if ((f.f & implicit_bit) == implicit_bit) { + f.f >>= 4; + f.e += 4; + } + } + + print_xdigits = precision; + } + + char xdigits[num_bits() / 4]; + detail::fill_n(xdigits, sizeof(xdigits), '0'); + format_uint<4>(xdigits, f.f, num_xdigits, specs.upper); + + // Remove zero tail + while (print_xdigits > 0 && xdigits[print_xdigits] == '0') --print_xdigits; + + buf.push_back('0'); + buf.push_back(specs.upper ? 'X' : 'x'); + buf.push_back(xdigits[0]); + if (specs.showpoint || print_xdigits > 0 || print_xdigits < precision) + buf.push_back('.'); + buf.append(xdigits + 1, xdigits + 1 + print_xdigits); + for (; print_xdigits < precision; ++print_xdigits) buf.push_back('0'); + + buf.push_back(specs.upper ? 'P' : 'p'); + + uint32_t abs_e; + if (f.e < 0) { + buf.push_back('-'); + abs_e = static_cast(-f.e); + } else { + buf.push_back('+'); + abs_e = static_cast(f.e); + } + format_decimal(appender(buf), abs_e, detail::count_digits(abs_e)); +} + +template ::value)> +FMT_CONSTEXPR20 void format_hexfloat(Float value, int precision, + float_specs specs, buffer& buf) { + format_hexfloat(static_cast(value), precision, specs, buf); +} + +template +FMT_CONSTEXPR20 auto format_float(Float value, int precision, float_specs specs, + buffer& buf) -> int { + // float is passed as double to reduce the number of instantiations. + static_assert(!std::is_same::value, ""); + FMT_ASSERT(value >= 0, "value is negative"); + auto converted_value = convert_float(value); + + const bool fixed = specs.format == float_format::fixed; + if (value <= 0) { // <= instead of == to silence a warning. + if (precision <= 0 || !fixed) { + buf.push_back('0'); + return 0; + } + buf.try_resize(to_unsigned(precision)); + fill_n(buf.data(), precision, '0'); + return -precision; + } + + int exp = 0; + bool use_dragon = true; + unsigned dragon_flags = 0; + if (!is_fast_float()) { + const auto inv_log2_10 = 0.3010299956639812; // 1 / log2(10) + using info = dragonbox::float_info; + const auto f = basic_fp(converted_value); + // Compute exp, an approximate power of 10, such that + // 10^(exp - 1) <= value < 10^exp or 10^exp <= value < 10^(exp + 1). + // This is based on log10(value) == log2(value) / log2(10) and approximation + // of log2(value) by e + num_fraction_bits idea from double-conversion. + exp = static_cast( + std::ceil((f.e + count_digits<1>(f.f) - 1) * inv_log2_10 - 1e-10)); + dragon_flags = dragon::fixup; + } else if (!is_constant_evaluated() && precision < 0) { + // Use Dragonbox for the shortest format. + if (specs.binary32) { + auto dec = dragonbox::to_decimal(static_cast(value)); + write(buffer_appender(buf), dec.significand); + return dec.exponent; + } + auto dec = dragonbox::to_decimal(static_cast(value)); + write(buffer_appender(buf), dec.significand); + return dec.exponent; + } else if (is_constant_evaluated()) { + // Use Grisu + Dragon4 for the given precision: + // https://www.cs.tufts.edu/~nr/cs257/archive/florian-loitsch/printf.pdf. + const int min_exp = -60; // alpha in Grisu. + int cached_exp10 = 0; // K in Grisu. + fp normalized = normalize(fp(converted_value)); + const auto cached_pow = get_cached_power( + min_exp - (normalized.e + fp::num_significand_bits), cached_exp10); + normalized = normalized * cached_pow; + gen_digits_handler handler{buf.data(), 0, precision, -cached_exp10, fixed}; + if (grisu_gen_digits(normalized, 1, exp, handler) != digits::error && + !is_constant_evaluated()) { + exp += handler.exp10; + buf.try_resize(to_unsigned(handler.size)); + use_dragon = false; + } else { + exp += handler.size - cached_exp10 - 1; + precision = handler.precision; + } + } else { + // Extract significand bits and exponent bits. + using info = dragonbox::float_info; + auto br = bit_cast(static_cast(value)); + + const uint64_t significand_mask = + (static_cast(1) << num_significand_bits()) - 1; + uint64_t significand = (br & significand_mask); + int exponent = static_cast((br & exponent_mask()) >> + num_significand_bits()); + + if (exponent != 0) { // Check if normal. + exponent -= exponent_bias() + num_significand_bits(); + significand |= + (static_cast(1) << num_significand_bits()); + significand <<= 1; + } else { + // Normalize subnormal inputs. + FMT_ASSERT(significand != 0, "zeros should not appear hear"); + int shift = countl_zero(significand); + FMT_ASSERT(shift >= num_bits() - num_significand_bits(), + ""); + shift -= (num_bits() - num_significand_bits() - 2); + exponent = (std::numeric_limits::min_exponent - + num_significand_bits()) - + shift; + significand <<= shift; + } + + // Compute the first several nonzero decimal significand digits. + // We call the number we get the first segment. + const int k = info::kappa - dragonbox::floor_log10_pow2(exponent); + exp = -k; + const int beta = exponent + dragonbox::floor_log2_pow10(k); + uint64_t first_segment; + bool has_more_segments; + int digits_in_the_first_segment; + { + const auto r = dragonbox::umul192_upper128( + significand << beta, dragonbox::get_cached_power(k)); + first_segment = r.high(); + has_more_segments = r.low() != 0; + + // The first segment can have 18 ~ 19 digits. + if (first_segment >= 1000000000000000000ULL) { + digits_in_the_first_segment = 19; + } else { + // When it is of 18-digits, we align it to 19-digits by adding a bogus + // zero at the end. + digits_in_the_first_segment = 18; + first_segment *= 10; + } + } + + // Compute the actual number of decimal digits to print. + if (fixed) { + adjust_precision(precision, exp + digits_in_the_first_segment); + } + + // Use Dragon4 only when there might be not enough digits in the first + // segment. + if (digits_in_the_first_segment > precision) { + use_dragon = false; + + if (precision <= 0) { + exp += digits_in_the_first_segment; + + if (precision < 0) { + // Nothing to do, since all we have are just leading zeros. + buf.try_resize(0); + } else { + // We may need to round-up. + buf.try_resize(1); + if ((first_segment | static_cast(has_more_segments)) > + 5000000000000000000ULL) { + buf[0] = '1'; + } else { + buf[0] = '0'; + } + } + } // precision <= 0 + else { + exp += digits_in_the_first_segment - precision; + + // When precision > 0, we divide the first segment into three + // subsegments, each with 9, 9, and 0 ~ 1 digits so that each fits + // in 32-bits which usually allows faster calculation than in + // 64-bits. Since some compiler (e.g. MSVC) doesn't know how to optimize + // division-by-constant for large 64-bit divisors, we do it here + // manually. The magic number 7922816251426433760 below is equal to + // ceil(2^(64+32) / 10^10). + const uint32_t first_subsegment = static_cast( + dragonbox::umul128_upper64(first_segment, 7922816251426433760ULL) >> + 32); + const uint64_t second_third_subsegments = + first_segment - first_subsegment * 10000000000ULL; + + uint64_t prod; + uint32_t digits; + bool should_round_up; + int number_of_digits_to_print = precision > 9 ? 9 : precision; + + // Print a 9-digits subsegment, either the first or the second. + auto print_subsegment = [&](uint32_t subsegment, char* buffer) { + int number_of_digits_printed = 0; + + // If we want to print an odd number of digits from the subsegment, + if ((number_of_digits_to_print & 1) != 0) { + // Convert to 64-bit fixed-point fractional form with 1-digit + // integer part. The magic number 720575941 is a good enough + // approximation of 2^(32 + 24) / 10^8; see + // https://jk-jeon.github.io/posts/2022/12/fixed-precision-formatting/#fixed-length-case + // for details. + prod = ((subsegment * static_cast(720575941)) >> 24) + 1; + digits = static_cast(prod >> 32); + *buffer = static_cast('0' + digits); + number_of_digits_printed++; + } + // If we want to print an even number of digits from the + // first_subsegment, + else { + // Convert to 64-bit fixed-point fractional form with 2-digits + // integer part. The magic number 450359963 is a good enough + // approximation of 2^(32 + 20) / 10^7; see + // https://jk-jeon.github.io/posts/2022/12/fixed-precision-formatting/#fixed-length-case + // for details. + prod = ((subsegment * static_cast(450359963)) >> 20) + 1; + digits = static_cast(prod >> 32); + copy2(buffer, digits2(digits)); + number_of_digits_printed += 2; + } + + // Print all digit pairs. + while (number_of_digits_printed < number_of_digits_to_print) { + prod = static_cast(prod) * static_cast(100); + digits = static_cast(prod >> 32); + copy2(buffer + number_of_digits_printed, digits2(digits)); + number_of_digits_printed += 2; + } + }; + + // Print first subsegment. + print_subsegment(first_subsegment, buf.data()); + + // Perform rounding if the first subsegment is the last subsegment to + // print. + if (precision <= 9) { + // Rounding inside the subsegment. + // We round-up if: + // - either the fractional part is strictly larger than 1/2, or + // - the fractional part is exactly 1/2 and the last digit is odd. + // We rely on the following observations: + // - If fractional_part >= threshold, then the fractional part is + // strictly larger than 1/2. + // - If the MSB of fractional_part is set, then the fractional part + // must be at least 1/2. + // - When the MSB of fractional_part is set, either + // second_third_subsegments being nonzero or has_more_segments + // being true means there are further digits not printed, so the + // fractional part is strictly larger than 1/2. + if (precision < 9) { + uint32_t fractional_part = static_cast(prod); + should_round_up = fractional_part >= + data::fractional_part_rounding_thresholds + [8 - number_of_digits_to_print] || + ((fractional_part >> 31) & + ((digits & 1) | (second_third_subsegments != 0) | + has_more_segments)) != 0; + } + // Rounding at the subsegment boundary. + // In this case, the fractional part is at least 1/2 if and only if + // second_third_subsegments >= 5000000000ULL, and is strictly larger + // than 1/2 if we further have either second_third_subsegments > + // 5000000000ULL or has_more_segments == true. + else { + should_round_up = second_third_subsegments > 5000000000ULL || + (second_third_subsegments == 5000000000ULL && + ((digits & 1) != 0 || has_more_segments)); + } + } + // Otherwise, print the second subsegment. + else { + // Compilers are not aware of how to leverage the maximum value of + // second_third_subsegments to find out a better magic number which + // allows us to eliminate an additional shift. 1844674407370955162 = + // ceil(2^64/10) < ceil(2^64*(10^9/(10^10 - 1))). + const uint32_t second_subsegment = + static_cast(dragonbox::umul128_upper64( + second_third_subsegments, 1844674407370955162ULL)); + const uint32_t third_subsegment = + static_cast(second_third_subsegments) - + second_subsegment * 10; + + number_of_digits_to_print = precision - 9; + print_subsegment(second_subsegment, buf.data() + 9); + + // Rounding inside the subsegment. + if (precision < 18) { + // The condition third_subsegment != 0 implies that the segment was + // of 19 digits, so in this case the third segment should be + // consisting of a genuine digit from the input. + uint32_t fractional_part = static_cast(prod); + should_round_up = fractional_part >= + data::fractional_part_rounding_thresholds + [8 - number_of_digits_to_print] || + ((fractional_part >> 31) & + ((digits & 1) | (third_subsegment != 0) | + has_more_segments)) != 0; + } + // Rounding at the subsegment boundary. + else { + // In this case, the segment must be of 19 digits, thus + // the third subsegment should be consisting of a genuine digit from + // the input. + should_round_up = third_subsegment > 5 || + (third_subsegment == 5 && + ((digits & 1) != 0 || has_more_segments)); + } + } + + // Round-up if necessary. + if (should_round_up) { + ++buf[precision - 1]; + for (int i = precision - 1; i > 0 && buf[i] > '9'; --i) { + buf[i] = '0'; + ++buf[i - 1]; + } + if (buf[0] > '9') { + buf[0] = '1'; + if (fixed) + buf[precision++] = '0'; + else + ++exp; + } + } + buf.try_resize(to_unsigned(precision)); + } + } // if (digits_in_the_first_segment > precision) + else { + // Adjust the exponent for its use in Dragon4. + exp += digits_in_the_first_segment - 1; + } + } + if (use_dragon) { + auto f = basic_fp(); + bool is_predecessor_closer = specs.binary32 + ? f.assign(static_cast(value)) + : f.assign(converted_value); + if (is_predecessor_closer) dragon_flags |= dragon::predecessor_closer; + if (fixed) dragon_flags |= dragon::fixed; + // Limit precision to the maximum possible number of significant digits in + // an IEEE754 double because we don't need to generate zeros. + const int max_double_digits = 767; + if (precision > max_double_digits) precision = max_double_digits; + format_dragon(f, dragon_flags, precision, buf, exp); + } + if (!fixed && !specs.showpoint) { + // Remove trailing zeros. + auto num_digits = buf.size(); + while (num_digits > 0 && buf[num_digits - 1] == '0') { + --num_digits; + ++exp; + } + buf.try_resize(num_digits); + } + return exp; +} +template +FMT_CONSTEXPR20 auto write_float(OutputIt out, T value, + format_specs specs, locale_ref loc) -> OutputIt { - if (const_check(!is_supported_floating_point(value))) return out; float_specs fspecs = parse_float_type_spec(specs); fspecs.sign = specs.sign; if (detail::signbit(value)) { // value < 0 is false for NaN so use signbit. @@ -2225,7 +3842,7 @@ FMT_CONSTEXPR20 auto write(OutputIt out, T value, memory_buffer buffer; if (fspecs.format == float_format::hex) { if (fspecs.sign) buffer.push_back(detail::sign(fspecs.sign)); - snprintf_float(convert_float(value), specs.precision, fspecs, buffer); + format_hexfloat(convert_float(value), specs.precision, fspecs, buffer); return write_bytes(out, {buffer.data(), buffer.size()}, specs); } @@ -2243,31 +3860,37 @@ FMT_CONSTEXPR20 auto write(OutputIt out, T value, if (const_check(std::is_same())) fspecs.binary32 = true; int exp = format_float(convert_float(value), precision, fspecs, buffer); fspecs.precision = precision; - auto fp = big_decimal_fp{buffer.data(), static_cast(buffer.size()), exp}; - return write_float(out, fp, specs, fspecs, loc); + auto f = big_decimal_fp{buffer.data(), static_cast(buffer.size()), exp}; + return write_float(out, f, specs, fspecs, loc); +} + +template ::value)> +FMT_CONSTEXPR20 auto write(OutputIt out, T value, format_specs specs, + locale_ref loc = {}) -> OutputIt { + if (const_check(!is_supported_floating_point(value))) return out; + return specs.localized && write_loc(out, value, specs, loc) + ? out + : write_float(out, value, specs, loc); } template ::value)> FMT_CONSTEXPR20 auto write(OutputIt out, T value) -> OutputIt { - if (is_constant_evaluated()) - return write(out, value, basic_format_specs()); - + if (is_constant_evaluated()) return write(out, value, format_specs()); if (const_check(!is_supported_floating_point(value))) return out; - using floaty = conditional_t::value, double, T>; - using uint = typename dragonbox::float_info::carrier_uint; - auto bits = bit_cast(value); - auto fspecs = float_specs(); if (detail::signbit(value)) { fspecs.sign = sign::minus; value = -value; } - constexpr auto specs = basic_format_specs(); - uint mask = exponent_mask(); - if ((bits & mask) == mask) + constexpr auto specs = format_specs(); + using floaty = conditional_t::value, double, T>; + using floaty_uint = typename dragonbox::float_info::carrier_uint; + floaty_uint mask = exponent_mask(); + if ((bit_cast(value) & mask) == mask) return write_nonfinite(out, std::isnan(value), specs, fspecs); auto dec = dragonbox::to_decimal(static_cast(value)); @@ -2278,12 +3901,12 @@ template ::value && !is_fast_float::value)> inline auto write(OutputIt out, T value) -> OutputIt { - return write(out, value, basic_format_specs()); + return write(out, value, format_specs()); } template -auto write(OutputIt out, monostate, basic_format_specs = {}, - locale_ref = {}) -> OutputIt { +auto write(OutputIt out, monostate, format_specs = {}, locale_ref = {}) + -> OutputIt { FMT_ASSERT(false, ""); return out; } @@ -2302,28 +3925,6 @@ constexpr auto write(OutputIt out, const T& value) -> OutputIt { return write(out, to_string_view(value)); } -template ::value && - !std::is_same::value && - !std::is_same::value)> -FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { - auto abs_value = static_cast>(value); - bool negative = is_negative(value); - // Don't do -abs_value since it trips unsigned-integer-overflow sanitizer. - if (negative) abs_value = ~abs_value + 1; - int num_digits = count_digits(abs_value); - auto size = (negative ? 1 : 0) + static_cast(num_digits); - auto it = reserve(out, size); - if (auto ptr = to_pointer(it, size)) { - if (negative) *ptr++ = static_cast('-'); - format_decimal(ptr, abs_value, num_digits); - return out; - } - if (negative) *it++ = static_cast('-'); - it = format_decimal(it, abs_value, num_digits).end; - return base_iterator(out, it); -} - // FMT_ENABLE_IF() condition separated to workaround an MSVC bug. template < typename Char, typename OutputIt, typename T, @@ -2339,8 +3940,8 @@ FMT_CONSTEXPR auto write(OutputIt out, T value) -> OutputIt { template ::value)> FMT_CONSTEXPR auto write(OutputIt out, T value, - const basic_format_specs& specs = {}, - locale_ref = {}) -> OutputIt { + const format_specs& specs = {}, locale_ref = {}) + -> OutputIt { return specs.type != presentation_type::none && specs.type != presentation_type::string ? write(out, value ? 1 : 0, specs, {}) @@ -2357,20 +3958,15 @@ FMT_CONSTEXPR auto write(OutputIt out, Char value) -> OutputIt { template FMT_CONSTEXPR_CHAR_TRAITS auto write(OutputIt out, const Char* value) -> OutputIt { - if (!value) { - throw_format_error("string pointer is null"); - } else { - out = write(out, basic_string_view(value)); - } + if (value) return write(out, basic_string_view(value)); + throw_format_error("string pointer is null"); return out; } template ::value)> -auto write(OutputIt out, const T* value, - const basic_format_specs& specs = {}, locale_ref = {}) - -> OutputIt { - check_pointer_type_spec(specs.type, error_handler()); +auto write(OutputIt out, const T* value, const format_specs& specs = {}, + locale_ref = {}) -> OutputIt { return write_ptr(out, bit_cast(value), &specs); } @@ -2379,9 +3975,9 @@ template > FMT_CONSTEXPR auto write(OutputIt out, const T& value) -> enable_if_t< std::is_class::value && !is_string::value && - !std::is_same::value && - !std::is_same().map(value))>::value, + !is_floating_point::value && !std::is_same::value && + !std::is_same().map( + value))>>::value, OutputIt> { return write(out, arg_mapper().map(value)); } @@ -2391,12 +3987,8 @@ template enable_if_t::value == type::custom_type, OutputIt> { - using formatter_type = - conditional_t::value, - typename Context::template formatter_type, - fallback_formatter>; auto ctx = Context(out, {}, {}); - return formatter_type().format(value, ctx); + return typename Context::template formatter_type().format(value, ctx); } // An argument visitor that formats the argument and writes it via the output @@ -2425,7 +4017,7 @@ template struct arg_formatter { using context = buffer_context; iterator out; - const basic_format_specs& specs; + const format_specs& specs; locale_ref locale; template @@ -2450,12 +4042,6 @@ template struct custom_formatter { template void operator()(T) const {} }; -template -using is_integer = - bool_constant::value && !std::is_same::value && - !std::is_same::value && - !std::is_same::value>; - template class width_checker { public: explicit FMT_CONSTEXPR width_checker(ErrorHandler& eh) : handler_(eh) {} @@ -2512,48 +4098,6 @@ FMT_CONSTEXPR auto get_arg(Context& ctx, ID id) -> return arg; } -// The standard format specifier handler with checking. -template class specs_handler : public specs_setter { - private: - basic_format_parse_context& parse_context_; - buffer_context& context_; - - // This is only needed for compatibility with gcc 4.4. - using format_arg = basic_format_arg>; - - FMT_CONSTEXPR auto get_arg(auto_id) -> format_arg { - return detail::get_arg(context_, parse_context_.next_arg_id()); - } - - FMT_CONSTEXPR auto get_arg(int arg_id) -> format_arg { - parse_context_.check_arg_id(arg_id); - return detail::get_arg(context_, arg_id); - } - - FMT_CONSTEXPR auto get_arg(basic_string_view arg_id) -> format_arg { - parse_context_.check_arg_id(arg_id); - return detail::get_arg(context_, arg_id); - } - - public: - FMT_CONSTEXPR specs_handler(basic_format_specs& specs, - basic_format_parse_context& parse_ctx, - buffer_context& ctx) - : specs_setter(specs), parse_context_(parse_ctx), context_(ctx) {} - - template FMT_CONSTEXPR void on_dynamic_width(Id arg_id) { - this->specs_.width = get_dynamic_spec( - get_arg(arg_id), context_.error_handler()); - } - - template FMT_CONSTEXPR void on_dynamic_precision(Id arg_id) { - this->specs_.precision = get_dynamic_spec( - get_arg(arg_id), context_.error_handler()); - } - - void on_error(const char* message) { context_.on_error(message); } -}; - template

    S6snJ)neHWpyf~SW$ot@74 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 U>M06XhXDylN&8``!lPIJ7t*HyMgRZ+ diff --git a/vendor/DPP/docpages/images/repl.png b/vendor/DPP/docpages/images/repl.png deleted file mode 100644 index 622f38bb4da7eaac7b920b83cdabcf05a6960947..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26710 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 G-}`@zW(5QQ diff --git a/vendor/DPP/docpages/images/runbot.png b/vendor/DPP/docpages/images/runbot.png deleted file mode 100644 index 98a37da64adf31191ae1506bfd805e3570ca058f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12854 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 diff --git a/vendor/DPP/docpages/images/uptimerobot.png b/vendor/DPP/docpages/images/uptimerobot.png deleted file mode 100644 index e3dcb7b1e8a8e43ade6d815849e80a47c3974cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16823 zcmcJ%byOSC-!}-QEtFDdDXyhZ+={!qySuvt4O*ah@eqo;6?b=Sg1dW=VkKzMrN8Gq zyYKG4dv@PH_MBuUbLZZ#+^^l4`Ai~Jl%(IG6QLs^A-$88kx)ZILV+P6Ay1&8Jh%Mi z43mS>4!#{dszNf}dZWo}C|^p6%=({y9F~JviDwJlWno zJU+cdavbUC?qg?XpPX8lot<6Tgk4@-28_8zFJG)-r4EB+L&8dxw<+iDQi7GKGtFPyuEw4yFDKmnj-f8eS3R%b=9$d zaCmj|fNfcReRJl?&aVB;j9r_v?)K#54-rBRw)$4iMS6%Lt z5%Nz@S6!Fuw}^xF_4WJP%?`vJJG&f5-s42q6KUTtXSt{eTnXLqTwV`q>04k<1wGLDoUSldLiZk38OT^momoO+Z3 zr>*q)PG4=*U9I2jbl=~e8d{IpP2To-vm@CqD0SR>vuiJ1Bkb!o*|n3s**$^bM%Oos zLDRP-V-Jy28-`WGk<*CHXZ3apyI}YAg);04fqZFC*GCW9xsZa*Lw23q+tG!_x+l}N zRq3=Rq@b0hcC%PuCA)lNU$x1fn>!@6jQrZCjsC3Q2w9Y2heZY$XFfHgkNk*^-h{PDR6K6NuC+5}R#xkcwW16ojO#Z} z^Yg)t%>y@+_1e1G;I`zzRfL;ozNnUUbj>4D{O;EE=J(ol(~OL^*fh;#J#Qm+Z4S+X zg8po8P*lgC-n+lfIpdR8O@UgPT-Fnr#U8f}Hb^;tt~XZ;>SusuA&p0ORvC8R%O3AG zvr7HMBYqDydT?_FEDlaSMtMgA6gX|#nq$1uQ=>Z!hS%074()`!&ppzVk&uMEWhF#4 zyqAt5&;M zHJoEP*SvhDMRr|E60;CspbK0nhR^9v$2}x_HT`QkK9PeBps4~6%UzqctJ2%%kZhX%5O%Am}m#5)FU+Z7%lJ}D`mybIiRuJ(6|^sra(NUuw9Fq~p%X=(p8L&@EP0qc3^Og#xbm})3#@1QuiuRb z)SVCRFK)6;Xevm#(b90@LOufYW6oa!k(UfIu(x=n3tz+b4U01V@W}~X@7N^Kdd1Vk z85vYBuk*3KIUQHU^!vb?4cCOGpfbUpq8`v;_W<7?G7LXDjSDiC7ROaiPQ$=m3cP8% zDr8csjN*#z^J$Yo?p{Y*0^I3bz6g_vRt^A*brXORY}Eybk$Iccnv z@$2av;?O$^7gf0m&JjDcPP2xf!W*s>xMlRZKh81f3sh88+b>BL%#+wfXdT$m$3t`E z!JxbggFb?xHNsRM>k-^-fcuA^QmUZ+0x=n70K^*$ABUGvHCRKR&7t%&`XjQK&FBU4 zAmV-Wjdd*C9|JP`#eDDn6HssnK@=A}nQb5dLvPV->-uTo7J~=T{b2Ml7aJ=Rz1((! zqC7=q$lU1FTrU@;u9;2{;It|1qpbbAx-?L>zBz}uVPHx9iEb$UOB!?(*H0BL39KeP ziNz%S3bCTZ8R=OaR)1ev&U?Nq~`8Mx!*i zY$SUdF*+2m7Co@K5CBBJ0v=M5?mHgpEkFi^ljFeadbsruhHiT3UTR^FiYBh`g{k^l5Eia+m|Fqy{^|+P7TXdtF5aAf5fWp zHlr`QMV_LUkxCo*d)Riz+Bqz1jj$^B&?az zu0-zdMIotM`1e{w`u16~1qNqp)#b!&x>tC;J(}_D-`T%Wki^GNd`^G$9%TeM#k?_D zVM#1nN3HWkhbndew)cJPlKRQEg)R-0dm)bB+H?${D*cFDW2?X-^nLg_f|#MM_~ykz zg%*$TzAECa7LUio!eY^_xA*~xQjoi=dp9woJd*E9Ss?)XnTcTX758i)eA1v%W}!6q zKz&ozWT&*O)z#V2~Q_SL71?6pPhQ9bTDSe$4pGr~yN}{fR zl{8d__YiXu0h%U8_jb4j-B}2Q3l-saEGoFAxwrDyd?Gyf^1~~1oLvr-Pp;;PL7=X{ zPHX&xSTmWQs~cMP+xz==m)81ibGDuvy2c)n0XPAz0rW(!6$c>usqDIXM0cIR?)vx@ zR*eoT7`ZG{3+NQ#l_y;96=l5+hyw^xgvBSh(EC@vg$4w}T?SQScGbo}=Gj8(;dtBpIFb)Nl?(!}Bj%?>BlG-iOV( z$d7dR@S4)h5DA!_`ngu9RYDn#U%zV0Gc3$F9cnQj=fRD{*Yuk(EFg&!ookWI0r3-P z#8h6Cs4!E|x41yK)05;~CN*z|)A%(Z+FzpBKQdSL_OeHywq*h4=3A0D-qEXfDyL_5 zJusve=`lgL39XmChT3ihm>tWenQy4RNg(aS2LQzf6Zu82tx6@wIAWuEiRtFUNT8jZ z_3j%^+@v^kDN%a|q< zuQCvdCNcn5{X%3Z*;&3S-{4Pwnr^_-p$2U@ieY9~VSA}oG{C;yap7}Acz}9V_G-UL z{CbXPtVm#yufRc4^-JkDQMlrBsps}2zQyKE=a?1QTDQUZYtOWOY4K>o$yM21btGqq zo`oSf=3rJIOaDC1qK5fZWcE7k^I1F9K*}DZxqvG9ju!zT|wkJH0gQKqD41T}qN%e5VHt zH*JNFc?vT)vnpt>EsWKiyBwja^3p38|L^0Ruf`ZHidcVaJM$RO(a1CJDA=IA`^XL! zrM!!`v@k|ZxTL&${99zD9`^NP6L4#@mK>0d(VLYD{dw!1_+5|m z+41)^1}bulWWVy~$T}le$fmLS|nG#ZR|lv*lT^94+sO_V698wJ<-;19>dFj%LG9 z<>lmJiE*b6_rXU@fj&dd?q#)sjnCXfADOIwo7zZ%>xyypgyd*k%L%JzvLv;PxEke> zbs2P>oZr5*QDeHU%vosH4R{~s#qT4q2M&xmzu7%AYuVT_)?1^kJ_j%`c@ogaeh>2u z=eE6xWT1KkUNA5g>nLISlqMm?E-8IAp!#I)GL$x{Gn~}-8}3^58p~+Jm)G;EXT2U~ zjhY|&vr-2WZpQoa~G>O(|);bJomd~j$@qsuP8nPV;nxFF%alDFQgbLG#KI0YYe22F z&;Bog{taXxKI0o~-eX%VnZBY~VK^Gr9^w~X5q ze4kDZHDz_)To}vcOWBEnK`;I>R?WS_0i7g!Thq61(v69BA_KxKYk(cr#MQyts*4ZDDtm|&1}?&~S)jTX z+k+k0qoh|^jO%&VS4T{H!4LgtPJ*m_&jAn;Xva(S`0dxKY0EMDX1&1Wg(4P}9l!`) z2Qvk)H2T4|&>5wF-RohRDe@;wIB+N!!<)e8MoK$=EbETCs!s3fmgr~*;@s6NPx;G? zw@#m?^J=5P4F;COxd(Ei(#y z$dEiz)fyTmX`B5oO&Q>PGiecIQb;CMdFC52Ne1XaeNaYeNTzyBJbgSpsUD2S`G zHV+vF^e0y?=drzzmmh!!e`%ZMesA|;`uJmm1r1l4wP`tTADN=C|2E;;)kjrx;8PR% zTyFmI0r*^%gz?%)nM0*!nVbm7<4;+3`bB9O%yBHiHsq3n3DrII9U=u=dkj9BdR8*6 zyD?V2iaA0wz=X0PGXRUjqjL-MmaZ1*H?L&yz`m-L>Vl)|<6c6OzRzmC9_Kr8kr`l2-L!U&*@$INab-VycRIEq3~r%W#}wE`#$uMg9_Wq@)NgNg;cF{<0Hs zuaDVo@TE_Q!$&2sbX7FOx?{g6b}JTd=#gLpPx^Ao>y8x3t2Oc1v3dl0cx>V6lY#i6 zjz7s_aOu2mb~hw)zSz=mZ-{U=td5)P&D#mEI3V(0R;-U5_zl;OD{t^(#nDBT9O^cb zP?W1#S>p0v<ftUPj#$ z>46hE24TEw1f-HQdc0`~;g_WW9lG%worF`aeJEx}RON!D)4p2H)1DRz7HZV^;^=m! zgYRzju#P0e8tHsv?9&kVZqsw!JSET>_`u1e6!=~EN^SV@B3%OD*io(P!IiPn?$llu8GiOvbR6=~ZDjoDRFy$00O@__12 zR&M}YJivPeAJ!A#qJ*+YO=T5C!a_rIP6|9bh@N(i&}G!e^EZqHl#6SEIxzP`EYxN z$2{YZ)$Dr{g@)euX&mSc+LXi*)gA+r4b5AqWnH-PVJY9~3Q%|*bHzcoq6CUiM4 zTEyx+3RC<~N_=i2Qx)|N`G4xJ7x#Zk@`=-P<)^DzS$)oeYGy5M&ufChet_5W0zobk zb|S@y55k77jvDJ3$s57*Qgn=l?=xXx?K_3W$)<=2QR*5Wr3PVhqi^7>ugZ@CK2fJh z329a&NwEoA;`E-#IFbWK)6N;}s06EaT6gS~LViLMrihqSbJqcy;W0%io(SMjfqB8r z`)8(6eE=lMa7;bHy}^-X>k&HSb1ugT>Xni2x%o|TS-I+eKNH-sPV7b7!ZC$&tQwjp ze-yhE9?_Dq0%tisI`>nev2Zc44Hbf7{+YMw2h@MQs9DJEwg$-Oqcz^ODra;opo5SO6O+ zf|9hwSI2)&+hM+0q2_NhV@0V(lc$q3n~Z5R*Vpa~r55f93@(cIG&0c}RaGHQYWfjL z-RQ+AKJA-dp>Y%(?*%1}%Q~}lu&*Ch0ZkjIJYnJ-@gJ_(@Qdq@Mc3EdzGy2w+T(vW z`gVo-Y*Osa`_|geJb&o}LC*rHyaCT+pvEbPA9B6S@Z==m#K<2#)&9KjvUN$Bv6gAC z{~Kd*Jsp^`nKRA0AF#>qyN5@wjx%_+N~Er4K}m&0^1~i8CY6WJ6*i<24_qI|~UK}8#$u&=(=_%e4DCr%+u));-9;O)m0g8<(?I3w38&e`WHdmrU2 z-bf$kK^(h@(ckHlF2m8U?NYuja=f+u^n9_`=LI$vv^%R;X?Yl<7u-0Xu6_K*^b`)h zw$9i)WsE}|sW+t>-S`9dp7}v|HZ8^b*%BL3F^Cl@ykFGg3O!&v{1sf}RdAI$RAMX` zlV;~zZv=MW)jwf=oP*~hDn5JQfVHOtz9>pIJgmn1`EmT+9!%5iq&k0{Iq`$@@oT7X z*BOuK-A_9VufEh6&cRODINu(Z7jpiXCp?nS*@0_iuOpqYLRhR(YLjvz zMho&uZ2aXQLIdNRfumX={fFco0_dQY7@XH`m~}_&86Uwe??hun{l!YJuSJS`sd8{n*+SK!P02bZwY-|I7DlTw|vT z(f-}mw9bYl{33T~(Yf4C7=*e1vEJ7}6Cg+Ck3~J`2f;K>xjDG8syb9N^re>*6L~Iy ze_tP%9e3XZct6IkCO{UimZD!73(JksVR)nhJQo8tg&fdFQ}$PJb;MwD%Y5w7=T1cayO(CZ#z5?P5z9kL#xQ!?li)OtNks|Wn_vqaaT^u}JR2pczn z>P6SU1>FtqQophdpU_+7T=I99yjSbyvV(~6n(L}T7j7=5E+?>yw)^-G%C%EJ9;U}M zTuty^z%(4qzl|SW{LpXqq%g_hSulasc+YJDed>T6uf5<7umcVy1?TKJuq-RG^nG5M zT*6@;{caFL-X)_VTKUVwi656fqEM%DIL`R{*gC>s3dz5!-ek%(fy+M2Yco0Zx~N4s zN_Fe#-S z|APp!b{DD}Vs(9)Pfu2jL@{V#r0ClZosP3<^Ut=g*PAj|u)+Qzo4BR**J7U(lS*1x zr)o($Y|A-|O9UN&Og7{?lG}daWs1-^1OIjsSXNb&)?zJ*I9dIe_j)7SH0-=FVs|WI zn%~rf{;R)y3eO_1{3}Uj>id?L4V=zz0-Np`(Mir~>NK3&qY4sm5O|IEfGh=X$s+lq z?jTdUX9wW$T(J7bEXD-!{SDcu4LMKO(|zrpUt>Elv`I1J3Xt;i3b1FD4(@Af%G?|3 z{6dpdM40&c77%IG8jXihmh&@6k6F}_f$bGkwM6_fc6VLOD?%}otX|Dnp!D0YU1c6@ zKd6qAM*lHz-@_Rs&9bzo&06ieZDCk#-$LMNx;i-!ZT0q<{JwRum&IDKt3S!P(YNZq zr1*!Unc9EF^)=py>Gvco^gVS0X8F^ceEv$9ct}mI@Rs!gIJGC?HFYjvH@Mzo*FL*l z@a~U4=FKFiO!$wZNz_ef>EMv)T_$os*3|2?lRgCCPI5+JI4@uGm1Jeik|pcY_c@qM z$;>m^#|@^mL`0LinOInGA-Jps9egS?SIh^m~iS>6;gBaErMNke-&nhsh63=#a5t<RoyyM54-Tw;6Af*c!L~70b(^m||@l z4MFa4oB)kk)61|&QvJ!D%PfU2v=?v61YSc?M&}Fyh;&ITMoY!6OrV6Mt`NAXQRqdH zXMI7iDUNqw#jDeUNx9?C3jis5s7DX?i5Svd6lKl~eEWzMjFr+mWyZ`+|pm_MQi%g2RFB6G7L1Gyc{{oaAM4?NHR|82XC4b>j` zfT6#}gq4jom9d9KLwGXi3e_%eNR5#x5?8an`;8vRM_o%!mn0&FR)&pHj6HKV7RJxF zqh>1sB@ZAGQgOQtaBtg<4T$a!dQ}8;U!ya9o1FT7Z|l&h(`wQxSlo}scY2Y*s6bB^ z?bo-(ga?bjxi~dpq8@lppL7h-FV1|aOMjtm7fz)B${CFFi^R~~mc>9j#KoAUjw2oS zCStozE|CCl8dnQ7-GWV`9Oisb7$q1$(MDrFx6=96ORqFWNOI3ZtKi?$sqtG-| z2g4T`Qk}P}l{y1v^ay5*(|0~q1fUlEm zWdVn$S##kfM2~?*Q%h`04yswy2Y{BrKX2(`qn!2X#WLDxsOn#xV`Wvty58xZh&|^& ze9^30_P2Zv^0BZs#ZTF`S{%x@loVx*+Nqe64WA>%EWs)LNHBpydYD==?ximoR4vtj zzCMI$9;LCJ|H_ZECk@&wv<)Bt+H$R|DiOZ(DiGU){u>Qt(&oj82AeOGn_-xoSFKUU zHK>HjY~cGZ7CMdEqCOWI3~OjtjTdvSqJ$~|<{KwT?%3dns3@$7P}-6W{i87zl|)*t zS7$+Ta$>dbUq-WFfYIo2&=;H4W@tb3hX(Uc#z=}rMMZ2$Nf@+T2zx!IrXMV5=}#*p zo;Rfq3C5)+1PFRj*A$dd@!D{HotucxIF{e|~JEz}bS>2M#PjU!8)Yg8*^5?rT1!V#4!utEs?{-_w%}WED zS>|LC;EJdulL=X_3Cr#jznNagMl2^W)4|jw5Q$%EGUX>0z1b4cAA~svrH%1Aqr|%4 zvZ`cKzJ3tV8y--~y8n1sBG-2~PQooWgiwe1f*v;7%o3-pra4zJNWjw5_rk?-RR|L8--G!F%`K=9;b3LRu2Y zPdM9Pl!6EcPF43`If5+*NHUcq2gtA@1MP1u6)-vxBTi03`xZ}e2Rg-_P6PBya}pNF7;Nmy zv#-F|K#V9uy7?#LHMKMwCK_0*O-?MJDQajs4*HiBbd9C00QMvpeZvOr=tOS210$KU3aajM8epF7r-y)i&afM^|}N zT%$W*mqpnLQXaT*uF|~7tpDjL{-d@i7%qyMEXej5wjCjP$5Pl}U=KW$5gz)d<}q`j z0i8Bv*-#G1Q2;9Qqk}#FCF znw=8j@;8d93!Ra!K@%>o3k_!7AJ}2Ujdd)&HhGgLF^AUIL$lepB%~K~(hQ-v%Uk)t z?pE_3NrTtqv`>F;b^IRi%|Gw76)7(Jo&1b(OXsAA{o4OyOc$sku=&E4=$%}G!HsD? z;&9)oX#*qXNUZsaiVK6pCJfs~$EH#7yM4v)N4z=N*Uf~48)^YT$Q}XCYt}2sk%VHF zh5VWOAGoy+qHP9IVsK*Y9T)FRPMAuWN<*Q{8;nj&`t{mMDEPLmUsrkCCdtmI#86QE z&n?YY3?hDilW@|Oe!QCqeFFk$>L?cb>CO|P)GjAXxD)m%pX_cIv8XoHf4PWpJrIk? z`fgR*F298Rnh3AA7j3@v&D~zMTn72y#Rm3nm4NLi$8g$25Ieg7alw7imYf&gB&Ab1 z4`riFxpRSyLl3LX;~0V;pP9jG>pC3F(I`)(h{Yd%|=e#oYPLI%n>?_xAg6|K;zWQ{hP-jURQc5m}nLb|5osjbB^_6z; zG|n3Az@>|%_5Vh25&fR*PQVwdDWj|kV^+ukm5D_m!AjP3YAH8=ooA2FgZ-_{6FYtu zGuKL8@tU@&GD>qXTD&Y*cyNh%-;b1@0L-bV&ic(Ntj>Ifx>D}GM<96A!95=As4D}c z9qC#-CKt|TdzWEXwVsxXm@X2$um0*HK^$`qE^mJyWk?F-bT@rbXn?Esk~Z#CAc~NY zADfw%-S2d3vg)n_RUK<|oIl0`lrBeNr!$PElj?KH;bk|5wB$(ko*8Q-HJk2O1c@hh zvM+I@jvxjQws^RDd&vtn;%{L3X<^RyfiI7|!?1Sg?T7zSyB9E84PrbX=^OGfA{w6I_Cc_O@g9~^adJg8P; z$RC*&VxWIVQnlBuH^lNCWR=CbX;D^t!a}S40MC}ZY8xBDK^-PF8}xxV%aZNlA1~05 z{WnV>9x`Onbuw($@YLyJnD33`TI42<=aeEdR&G!TnNX{1r!NIg8z0TPu%bz1aFoDnLtielAAq>9I3AF^~lhEbt2p zI7sn3pfR8+7%e~D-k%UEz1XabHE+I`h7=#91pH13i1jzq;|;KuQeslc9s2V}2LItG z-A>`)N$UWI4n|+tzFG(>1HnC0)GF2frMDJ2I%lu{#}gheVUtgXu}KqcxjHxn&*|?u z-A!D-s$0@#@05PwRw&T>=Ox6NMW@}{sm<XkGtVG^ELE#`@o?2y^9i*i)-|zjWa5{Wn-TRHW3a|CL6f^ZQ7pAzEFyE;b zDm=||HhO%YWPqjs852adhQT3n@wbQhxgj3I(rQla9lyy$s@*UX4B zV)cyrMHN)Ts}=9NJ}-InCxq2vViX8?=gGDFIs>KXLTy{93ff*7#bc^T*$o*B}qG9%bMtNZ@Yg_4>V{emnMp?ukJFF;*E903Ddc&4`1PL4HyDKPQA^c(~p zz;$_$TqllzNb{RS8(>8xhJFdi*L~i!>GGeHkDC(DYHpuG-_3jaFuy+AFnRc~`ZJwM zZA~AcCAr#g4QuoRWDdz;NUFyfLi*@^K)${MFVu+xby25tC(OUFtfN#}td+s4m)$;{ zWaanEe!}AZT&GrP=fcE|yR0T81Nn-bvl7Joo9jh7rP`W08BwL+;T!d_KT(FdJvyR= z?$NIMK|ckU>OgL%gzDNP`Pkd-?!oLUu=p(LJT)=f6bd?sQj|jy;K(O7f}Kk@Tv>xo zn==?7Ajv+yD8k$AfA7^m5+%a)gebo%=UO2ySc%sq4TXPy|5Kg_zYb~ki$1iYL(sO! zD(&U=qXe%YyszVm@J`u;>G>MupafJ_lm+*`mDLt7+(&^fV6LTLZ4BJO-^1EjoTFqA zO{N0#FV+Hu&98UIJNr%OuCK6hi>{`=j>&6F^9t(x;#K`duC5Oel+LUvD@p{&6>a=1 zJtw>~?<5z36Z-yyvjwM7sm1o{j}`TTk_zQ!1503nnIWm1U^bLRgG7)Ui>ig)`AYdu zdA5HPTlRXcp`-G#uZ3^)AP*XA;$r>FA7_i5e_8ooIaW__w|>oXnsRI@G(g()Rl_Z| zquV3aSitB^3X5SotYE<)DNTjY+cxjj?hU-{{bAn92l2;Ja}vT-XG^W&U`PS*ecnyq ziT7Uc&bw7g`$Y#juXE0~Gfa}>rF+tL^<4AYD%>!&0YkIZp?TDq|+ZHH|fc8 z`S^R}YN^+Z`F-~|9F9K9u{%f(^uv^^>^XcZXPbK1XV9I?%YWFe5UM@K*{^uT;QS|v z?8?PgF)!Cb)rv({nJoE6RF=jgDQ|M08ca%kZuad;>7QEJQj#lrZldPoB8^yU z%~)2IXKX0nvt07hupGd_Gk}zt^jYjeUmZl2>4*xjnM~7&^#@@m4B6ZqmAK9Q8B?0_ z4^ukz4^!IOOm94RGT2O&14on4MAX(l#CTG;(Z`8uBxf%N6q0^aY4KClT)XUYe^X*0 z^p6QmEqoPrQ+x-Bi#0Gx>Q)7cP-%6l6Q3|>pZL{yJyqI%HznyN{~k@jb5UsV2cZ5s zoJ!1Na?>Cxefr&TWYWZ3&s0UTCK|;w(*RRa2tfYnMXr3Y*jJOBiuwx~`D;wN(V0D< z|EqEG%Xb`{Ro8xQdv|N+oz9KQYtVsDKS{NmRJc?TAp_-3sQ}_1m<-&s=_U8f494%Z z$kwaj9+u?)X)8Bix7QLv3pUx8wjZ7DjS{0O7ictvrRmne*Q!l)J?p_W4q9WTuw7c= zMqb!|}_kZJsQDo{g0!%qs&Lprxcl#`VrLnaQg-iOHop|K#gl+~5CV34FCqbHE3I>18NX zO`F2bM(tp$o(!r7dGJM&m8#yT_r@`cc4=N~qu}jdB+fNV&^6*!+Y8O?eX%`VG2a(G}C-j!5eueW2-(D(xHyo%8^WPo07Fr*Ts z@w^}`mCu{~q*WSpuw>Dwhqm7qk>VY*%#UaOc=1kT%?8>PRMvUKCA=geYc6|vbY{Cq z$hRXvqy!xV+tZv=n!;*g!T_jUAixE070L1|NTwv@RUxxA4ZTOW)8_e?xMY@htA*=h z)qs$^+;*Ky$dePx(D34hMh9O>YPp~6)STl(G2XM&a)8=SJ3qQ|Go(r-mu>w390UXb z{wP^(zdF9TaP(&3W-VXIv7uGgSYopNLwF~_>m4kj?kdH*H5!{ zj1U3owz!(YUc(00?sjucSO5C1kGy>j1Mb`mPyeM&k3PsdjOW99AYkPK%We zF9SE%b4ZkDBoh;BRT65AL1Nx9%wsTE!v@2Ws~ET#_R7&1_LL2qjdXy1b&(LnM-X0U z@(_1=iQoJ;W$~34bMK1$1l~)1)WoYm`y+VEZIywsAKr2vcJV zYqEuw5R>m-$Hn9W1Kgu6t18fej=TlJ@TS7A>4+(2cW#aXJ_jcMc}P8$~w;CKZFZ>4z_dj;}pJL_y z7drrJod?SuQB+B~0)hfUi%Ub$UrdV13*tp#FfWAAOc$nir{{)7p(}d4!6~4qY z_VLBo#&=Av0#d$L*tf6PUW$R;PoGvZjdwVDirh=gA0n0ad{46~`;<>te^=0Uo$7_d zjiflgz=Q=gigCri`?%^f%KV%?r2DK{ns?u6 zPYOW=Nj@dQLnui75y4hf78U9-=?!$_#5He{FYeUQ)9vWy(m>_`>YBf3yY}=#;C^`Z zLkGeI?K!b~z>{yW&iMu{S$g7^f9b@D0xmuoWJgQ(me-JVp=lIG!F?+^X~`#DS6}Fo zt9eh#z-3KL{*;91O1WPoq!KDdd{!Dakf5RSV&i|Iej`Wg%$_5{Az$hLS^{VPwd~Jq zs%G4Q##Z55P6>R<<|F~1&shqJ(xQ(MpBamJCCkOXnBENj3~^u0&x9&i-@~JDiTQq& zOFN&IZ;n?P_1R>M6s&r2HdOqgUH?=e3QW%;$3RhUCBIbeHO)iM(V#?Z+Dmz2Iuy@<01H zeSZ(OCZ{cChJ2%6nEUAzkF4nQnkYr^BDD-Pe(pP(ib5$>n9K7MexHA+0n!FJ$7-pM zeZO<83`*#|7Qm`UPBZ6{u#2BnVa2a*Y{Bpf!khXvWTbeXi=y52LFn?{s4+(%8#`jQ z+2}3@;^}TqOVd9Z{w8k#ZMleG9B2Ie%Ozfs3BE*4H(x4@RQ{(Q+aQ|oTc7V_gZwaD zRB9DF3a17=QkBPpA60*3n`Un_gbt+s+%u}(Wvg?>m48sWw`~Xr25c8MD&fM23uZxX z4P*Oxn^|yc5qrD^cINS~o`ZwpOIA||1Lje`q><+t@B(k1ciaCD z+~Y~(*yxoV8It|iU^vZcw|`ibpT~96`|~LHyD2#c?+1pls8Zw)_0%RPUwrjbpjd&p zbr^ncU^jIif79+0E}-Xn%<~JWPkas? zsi6!cCK!RBR1fCZHzRM3j!by>EZj+jxq!P@!|x<#B^wddO%z-qTFAr#}8=HvcJ&$Fj=J-VEtP3O`T128ZgR$VUoH;MERS9gzn(UOXEzn=p- zR0>K9Xe4ccTJkL`A_gw6NZA8*ca%-Vhty8S6{0N72KJaC(o4A_W#RD1H)d{rLKrLx zC4UdiOlJ~U+fB}u-$S4bVE>lnr)FYC&7*tEr)kZl2f__OJsB6W-e$P7&5m8-()>5Ms%zAWNxXsQ(jx3!`dg)3J2aoTb`uR~wbxA0SjGwH zWH(3BH)X~a9`3PU>trMT`zD>&PETxzySrh=;vP9oX=CgvCCf z0|mCWqlea8IE`Wnl55X@gpbgpvXYK-_%W^aP49V;5=*$)>G1i#2_q|kV*g?{vEngrVNip|HVa<78l|N8z6-c{#9LzFF7~D=YlXW`VYS^& z>$VH7wn%N(+pJxocZ@6 zs?3n-d;?IibPKI=96&XT43;M#2$2N(fTH0Sb0FhFI!Ii)K6BIm(fD|@+GDpYf)h6R zl`=%Xtcbw$=X;4y7@&zX=DPs@nNBhCoO*ZFP_uBx7q|Xnv#)IPV{U#H{x<^sf2pdj z)-mMXQ}%i?1OYDj6KX8#6Lt%l$HpO4uDVMAQ`G}x`|_GBU2eUw)*pQ# zKszoQuX-D3sPtdwZZJ0y7zxRu8*HCMNwc1Fko+Q-?in^?!fC>bg;RVi|AJ1dcn0TWynaoI%H>kK+MnK zSVis}jMvYE!lx3z(vh18UPfqfzaBX6&6&Ggao~wz-fQO(=a!OZN@)5)zejyK0tB1I zsvPoAz~RRziCB)ykMTvoqip!cM(V4gQ>^2YVeW;7^@%}0aI}=H?n$0XNj;wp;xP#AZ0!ht;KLvs7Enj{mypv< zcMP4~f}Y{Yyj6UBkz>K(XxHdDH2vz@WT~e&PZb(3QNJ}Ba062vfia9t<$AbC@j;yC zEvc~f9f3eeucMT^G7qcOdcUX7y1HZFWemifiGT+9Ft*k&R8Dtn(owH6oer%1(GJ|W zBAKgFYNRqS`?#0j6(GjF zT|cO}1uqh?E~Cpl5GQ`d0&xvn4!Upj&)mA_yHm1msr55=+57D-nJU+`!ctsb^FVRp z2JXuK^DF?({b1Co!kQaPO$PU$T>+@;5T*zjG+)B)Q7)6b=ODLz3^^c_=+Lf}Y^NrJ zv&j+SR=CGpWqC+Cigk=?K1*?voBsHxD67kn>^D5TUesA*Q~=zji6rvcl!4WjP2f-R zS4$nT#)lVQnY=2pYTJXwa@C;bP{p)eNJiquDbox*ir%tiuLbvcgwf-ZtoaDzdY8;3 zSR31*%1aDQ2UCPPukdM-aaeX|c(U4naSG4_)@DHZ=FTh&ePSMiRZ^M*alt68+|YM< zyj9=VRBPIMz$wT`gtX91|H#avl(k}-F?el}3l#cB^8-DUffk3p!K!vec4{SK+7z0s zKcJt*!^CvzPH*`vK_(avp)x=z3d;|4cKj%``B{{$}02Rr_ zz!Ykj!f1ShN{#OE{cxSNN|mj*Cxr&e+0j}WiUhdSxM*l-1jQ!?(A$p`oEAB_$@thI)E>EiEnG-Q8(vX;3JX zk&#hAK%l0kCND29Ha1pXUf#mO!q?ZAnwlB~Gd@1v+uNI%lCitH`{vD?ySqD4QBihw z_NAqzf`WqZ@bIarskXK@TU*;n?7>#lsW0m_G0L|tXyt@0>TKKdB*6No5D31CsMxql%r*8Z&-zuO+ z;W%LsW~?&q`x_h(y&V{2X!qo@&k(l|*&!NIi;c&FO zy15e*+KdZV3vlO?{K(V0Pb`&muo@A*J%dQo9OoeNo3WtBP#AbP{4vMPXF+F%xUzsowsX1-Roi zu-(K_N@BqA<$+G_`ysPxaB@cyTxa&KPD~Yw1F!!rgD_40;bPv?wO83{Xgmtv0-vqP zeijvUxt%jM?yOVlmR&Flz1lDd{o|lre>e6MPOC{B!y#~>Vqyw24%bi}@A$sIt|KoN zolfx~TZg}LroP$-%D!(0O;!jz6riEq^r8X-6L)~}-0|s33%kAcfS(&y`buRG6MA^x z*9)30kPcYKL<#SS>6PDjRlD|ao+@f*FnK*#Mc4Y zcGr9k>vIE#z=NCmyj$4Wp><9`hGT2+eBIz=4e)1Z1eEH1L&p;S@q*6g_gZLjgYR#T zw%jqy(bltoSm?y40g{u8B5$EO+FcY0c-7}F>=NxoBEIw?S_pdk>FGY<{Q42+2)$!= zX=B&R##ZtSm~{Gc&h56Fk4}q~aHUOZfm19Ke*)uxQZL4OEmPt0g$ccniz8r`s-wmY zxRQbW^pG_82U+vp9%yP;j83kah6-rY7zPKac z-vIZ=Z5|_&Z=oS2dW{=w?$QCTetLB!$3)<=fO{A>1Dh^cuJa1L4#QHgf@ZN3jYay3qDrpUC0`&%iR1IV@t*Gg@IxEAN4=T zUaZjI_}K#h#cq4lH^<}a?6tk@l8Z15bH{*(YCdf_l$lteUCCsthX(k~~&cB3nB z;r+GbLGP*Da%7YX3!Vxsf+&AswaAT0S>R|0FS--;@09*_bk0IUk`~lwgSjc4sql~6 zA%icnT4p{P7@XFhV3r*{DC&#SW9VHXHHu34qL~vXVf}FlVU8x#^k`Py?GR0^*UohT zqmB4gducqry;u6#&Y39HnQPhm7&7G?Jx3j6T=IBcZ`JYREJEqMKaRKslGL2sMk7t&h5jUS zMB59qkEQV@U%r;i)IG}WV&NuzOuz6&PkPK*yLUg0MCz%Ht{Sno7M`U06a3}0M)287 zYY!)AsfOFp2PQZqsxNA#^Kyywu?mi3?R0$alNNs}f1IC6^@Hf&Ej62%I$aTb4eAaA z{x1}uOwxmBFh#XvXKhb75$V%@c}pRA?}f0g5b$Vd7mbHE9!KDd`ir|0JpJGV5~Qjr zEuIYLK=GH!{iKtNkKVC|uYhk{#oAf*lktBq0)C63}}ljs>#k2CR#0(F9Vfr@oo5|kb6n*K~Kk4wFSC%Ci&yDj;C{$aXUQol&B zlN7@K{p?z!cGlTmj=Y`RMgIAbGme2nQ!-S?(c~~%=FUMzaqkOeG*dwG+^?hjU2J&n zqfp_kTdrAy?ZE^w&Cdm@#K8&3F?m^@rsnC{+0YTWc>hmvMvsjyH(^7=A(7 zzQWOiyt}JqE1CBUQ@}QW&qp;sVdx(9H8cD+kNl)| zCj=dcVLMUrUJVL=#D8$2+rR823J=&BNmzg{d$YCT)!X}kWA~ZnL-QkIVK>JxO+OZd zw3V@p|F@vCaelT}t0zn?M4#i27E=xCTtZn2aupBsDUykakPd0T#Q zFJid52f3>jvZf#<)C7;afoSECzW``+T|hKfTvt4_!&Ly92&Vp`I|9=qD&ye|p2P{v zkuc>+PM;o(XCIGr<)PM#z?RL@RW5s5=?SaJ%%L-Rec~20@^7ntMYqgE8IJW}xu2OT zQdx7#Z-o2XOAE?>A6)o~Jza1>I8>>IHeK9q9Ims5mV6!JOQ*&K=vUP=XpKqJsbirj z^0!z&pWYy)&KT{t<|fc_*6y$-mNt4`rX$-`l+wV>{Mu| zbl^N7{&p&;?cb92RnKA9ujNLp74w~-du;24?yu~DQfXtI8Xeo&Z#2zT9D?NB?_WMJ zMd>9Jc8qj2Afwy2idH+_!7M zYq_B47{vRwdYD`KwZCR@eS)FI+MfS_oQI0#`AkCPlvY!PF~MR{eyCXX;iUL)%)3^! zDL2*7M3*P8?!FeVJbQyNx(f4G+d@daybrZ2Rtqg(I*$RKGrDhxurDF%nXv`!OX6Rd zYsEzK9zB2+VGmuu`VCvD8V$Z0ebb^(9Mipt6~e$Vb9eWOKJSPs@hjP^S622p#3*;* zlDpDY|3FwK0jmLWM+aDn9wxwqjM(3b`vlZoH%wn~^G#zV zH(GJ>^SH*&E*{K?%X`%nbh;@?!# zYsAFGU{Q|PT~v=0OfO`Bx9{0qwe7u&4)xPvN^pkiXyaRmiG{I{nVq=_*gmv zR|Q|)9?T5?SE6eCGyd>Zd7$5?pKY9kzD>!B3w*I*;79lrqoC-+6Tbr2LEDI zXlv5_h_Y#Mtr0xmRD<22PZ>AukY}f6`6fBa*rLYp>SaWuBR>wKA_5>Y&};!GmLVNR zU9p?rUqy}rIC0tyG*jLYq$DA924NYPir#{%N8Jw4&75qNAIaFF+$SS|D(`WfW&*b~ zBK6dz3Q?d`3Q+b?&X!&R%TRY=P9=msnssvyIUyzYpph#_a3u+7FN`@)HSS0;uaT56 zJ8N#m8QTn_Z)Mz^c6uvGf~&&C0A4NXrGL!{x+F}bzBGcbl4SBGRDR4k25YXlaZ#Lr zvs2W@9~VEBOMaZ2Y5DtI^=>(Zh)5!ObtTm4Ha|Sc1%h`Gt)*p&{)o~f&6h!JZafoA zjz_@UuysDZWaRn&@$qq6-9BUSI~!A7BR++faoNQ3GrMeV^;67tm*1G4@pHTp6diz7 zTvlT<*8YQq#Grs2`|^RxSqV@`thxzyMxW9_@l5p8b8a8(A&>%=MgfPHUKyN3^&e7I zOiGNkUxyYtsk4FsRO%V8pN4g$0kv|a$s#fFyXCXm_u?u{dJI1=gKEeiw0gTAe_k}( z)N!`6WR+?+mbJ@u_11an_;aRoDz-5y*Olc1d)`T+Fn(FXZ;aua)cvpFnTqgTFV{|& zjsa3~J5`XQf_fCwLAhMeONhxkf?RZcR9H<2neMHAW0R4N#<| z>@s^|;w7l_N5b^o-h z$2)WE*ut9icl;w_sQP2ugg*x?y1{qr;8-*?Eddv5*naHbcbZ`#q z`Xrc1BTCSqSz#t2292zSKjBVU@%pPD;lqCJ>+9UXHr#_#Pk*20j+WyN*xNx6r*|!Q zCxft*gLzQ=-iM6Nqp@L@EJyg_rfA-sSwU{ZOZePk)x$^@Lg8N{BN5edS?eEJ@`xyh z0H94bZ_IORqf-v}uz2I5_bvapY2Bn5SK z>k=(~v2EGyfQ1DBaZG) z4R2(P%k%m(?SxY^Id9OoMfQ)djf~|&0ZtRS%PIM#?xui~Eka_{fp1L;xgM*V$poG$ zZdl0y@@m2`YpoC+F0|uwFe$Q>VRK0R=)zY|8$3~h0hka39!Kic`*>6ZKD-Wojx~k?t8B+ysNgLP3!dN_D($Rq$JEA0_1Sa80bxbcZN=E~B$0}pvsWVmxjd!vesonmAM!&s(o7HhEw6cN5cdzC-R#{o z%*qV%;aLKTBbI0^8(@+&tu)YsA{hk2Qro&5re`uWI1$zBPzh!9i^2-x&!`!!V&N6< zHc`lBGR)&b4iI7ah0tL!r$kG8%AWL!i}q4*^A3<9C>G?x#HvL4D6rl}HK^bDv;3-B z2-d%=1fDNm79PA4nRs&{Qp&_$8qJ0kg0kr4@lzDji1I<1dlk@Xy4f$0RLnO$hB5k4 z_{ySFvv0auBeR4`7du^@m{CJk0n1ig@*0jeWt`GetZ{-*WG9%DB$6^3 z$^VDhT>3wX`m-?Y1XEE@En0h%*N-RT*{G#)h9)}NZcVyDR$ug-FU^zX47TXZN^O+Z z(SMa0fdy(COu<5~xEdrYCpLp(Qok6V_=V&-@G@m>65GFKTOMTW+Q0~v81I}5;jm%; zFJ2mm|JI&v-cl`dPQsa>j#q%z^SZs`I`ZNF6Wg8^u1Z&wmcZT7Qzbx|;*0h-?cOz5)wb=x)Svv=0+1l)l4cKYs)08b>)a;+@boEOX`+yMv*N zEBdD3n6SEmQ*$Uf1o^Qo4q5hqUzyI-H`2f!#Nsi2qh3?Ft$$n#j9tCxnh(i4nSnL5 z!&gJTN+5N?0}fSi^Q8F(XzDCrwq`zMtC}iiqq)!#Vcm(g&G5EiGi|RRTEzxGa|m(4 zcl{6Oj@g>xRs#qeFwcKS{opHfXV~uacK}wiykTu`Q`Kn zd-opju{=`l7c_1M)TVr?#wM~C*~BSVfLaVH1huM2bPj5}w)m^od?&ue4olP%r@iA^Gb^GDRidII zLuG#Qr^H0FUj|z3gpJY@_m69HkLREMWmMihODvbVIh>W|wh(^$udFCdihtK2#CbwN zxf#6{3uTgNh;fbK!N(whqPHftdB{ZJ~_OWm|QO*rcClm)+Nz`!2=x zX93X`gJ;d3;T)x7z_fk{`%;g7l`>kQ>h-dry@Fx~C$xM+n=%G1w z?3sU^Pf=QFa?5K6cjcuGn(3$I8RedThfyVX_zd<_d`piBK>arZr_OJ zc<>k#P13u*ITkNh9%b^-7R*0qC;Y8J$<7X{DN~j#-NsXL3}_KwXg(|3O<|LV7FUSy z3QCdjGMi$LvMdvXaz%2lBYTpnkDLTmw?hXoQ~l>svaQMDMr`(#P|`QE^dSG{}urL+M^4|9UN)858VM*B}0U>2tnvU{wrXr3;PP`X(ZBAv+U@?8sz-(QyZk@ml!$V2@au&9FY0(XBi zd$uiWjnx9{o&_UD0`IU*YlNpJ9r3t^UU_(|NXcXz5N!PdWFWj!W>M=U3F=t5w`u&f zO3Kh1fG22YYh-1)CUr-?UWPX&D3APjlX;TYmy&mS+c|-A_jbO4e)-v2b1)r$1rma+HLAL;q#$uAqlLigmm#LlM^d$vU6LrvjCyv%Lbm}!@_~i98jumE#yrYr*5VMij@I%_3 zxx5jG+c^OMItyJ5;l6d0$S<3$NI#q}3PceW{-1<-P=pV7MLxxg&qaL`6Ut^%rL6s# zg>A!3D{rPn^%rBgs<6_Jh{yD#0M=FnG?YTw(;~@t0R62t7(axSg!)^idbZU9H2dd| zsWpV9(?nnO+$#&7IE&J3bE6UJt+{mBJbLOcX!Sj~e=!zHHp5DlvjKw4%#3&`Pn>Z5 zySVThbOcQ?RQtpInvzC|LhxRnWwHi)30zGB0_>Z8s2X$ZDA`g2zp`5;xkV>kIfr%a zK^LX1Hy3p!hGQx6j*L= z{V;l-y~j(6X)^_DrSMeCrI>?+_ACK-*7%&$EYEE6j?|W1e`M?lQ~=ZS-T`Nqr~jf# zZ}Xx2j;qazcNs~36=FnbUHV$Axzyc)7HGZsh@_iA^;w(4VFmDJ!r=sjp`fyHWu3y8 z3&Ntxz_vdTh?}2i4IPO3CL;76PTcPp^px78GBe(loTfRvi%ZdEv8w{r8iYenb#xR_ z47a@Uy2}a;deU>nJtYSDC^@qcU5GwJPQ1-kh zYC!`guSW0w9msu&g=S2OA9hFYfv(buMsNxZfvYJ%0DH4f8{>v`!^!nD;3%&@f4+NF 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 Wt15Oq|HA_Spe(N;SMwGU{C@xx+COvv diff --git a/vendor/DPP/docpages/images/vsproj_11.png b/vendor/DPP/docpages/images/vsproj_11.png deleted file mode 100644 index 8c513c51f9f27abe020586c915fa50f090a35286..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15019 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 Pbg8baqtv2k8~J|#h(-c5 diff --git a/vendor/DPP/docpages/images/vsproj_13.png b/vendor/DPP/docpages/images/vsproj_13.png deleted file mode 100644 index 54d9682fdc5e10e4033fea1e8cfce2635c3690d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14190 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 YSNiz9--akQ{O`Wj)iTtqQMZ5bZ=EdXcK`qY diff --git a/vendor/DPP/docpages/images/vsproj_2.png b/vendor/DPP/docpages/images/vsproj_2.png deleted file mode 100644 index 2b0603ed8699b0b31f58448fb315ac8fc0a6577d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49827 zcmXsz1yoee*Gq>=Nl1f;;DU$V!;Zdgi?5@{qP1wo{{_U+Q$jes;uNeDu7 z*K^Z3(^At_yu7?#-@qLnU;M!C8`&qz0MRm9(Ky`E;;)U4&c5lDtCJrexBpyU-;hDB zXBKC;@3XP7v)_NfQ*(WtP|*K*`kI65L37vW6JB=S2kbl#d8D;JKms5V5)yn5*{`ps zudi!{CN{6HaVP&8ic7ohbFw(IsaRBBn@?PK4{ZFvmd{;ZpZ`qqt>6ET!D@6~ULI-{ zXUe8DK0eMDSLW&A5r@0hQdhm+>5cvhnXmP`p1nr0vEr#l%K&x4kZTLP8~IVu!q?5K zrxpPg)qgMJU1GdvuA94O({sy)udhRUx0Dj+`mXmb$1SQs$aRh7v*!7?E-tUw*uH9f zk(ZYbRsa5q%|#@@(nF0s>s@e_#kCEa{Z!P`*;e6i*uB~4>o3aePA=bs10WEyN|VgJ z@QB1eCvy;s>yw&ylZ9q7ABV21uZ!kS-_~6pOe767#a5X^Zk`uWvu@#K&DE8{LC?Ox z++?)sAz(GTHKuQN?49nXd^$R|w+$OT(VRJRm%rAQIf-l8jvJZ`!y~GZf=nG{o)Lexu2tHAbYNPzJ0 z)v`qZWa;|1jBEcZw%6Oojm3Ut7JKE<~sx^FoDNawI;-E;%!Jh}G%~$5MN~|C((1_H}aVctc!woI_JZE}c_q;P|po za7^@d3wmL&aem|Lbabn5JZX2;SuOUWeovKsRJ+4J(2$8usN#y?EdovQb zrv6<``(AI@7Pc&oE>3~}mHO#xl?v^SL-M$y;_~DKqGB_yxX%SXHX(yiw72+fJ>)B4 zrk6&_8RuJaTB*LjS{GeUUine~cS!izyz#p8Zg1MVjCJXEyFZ5CW!4|j<3G89QqF!0 z?7$8DujOk!gdZQ?z<(`Hr}A9ym&j*Hp!v#VFtvl6e^B7$eAvR>w7&f8XeBl?Flj0Q z+tiT&dxAbG<(4fGcK$m3gZ%Ib4`8zU;L_{#(f(md%Gq!kB5i&uzShBgvTZb$-v@$>;~im{)rZT0`eg9S-=Waw9v@mNu!&FY zmVS2>9#2sh)BQFe22@{4_q*Z>V@Pux1}JNFwz?@hjqBCZE*Dj)sW+P(W{sx|Fi2IrOf!h&8JMjIP zSe8otb9J`WHSp>lTMP1UPHNUGE+#7t{oXR$LGr1Ru;4wJYrCUsCoXNcBf-Y%;_0Zqe3 zglPGRT3}BOHb~(6T%9re?4R?`F&BQrEI4CH_Ho+248pORG-A^BdWX>B`1f}0Az6<@ z$r#kx6W_tHCtWcMr*MAU>=9Nc{^VYW#wF})`Bcq!$Ibm#DS7~JBDN~W{n0&QfJmQ) zD%{U&LgV1QBk-JD6fXDmQDvzx+WfRJ@RMi^(&CA};WRwtNmBIv;?+RP!S1ly5M;77^|;p9gWmTFN8OH^}a{qH_@#pSNqnnqT3N)HMctcmfcI?7N! zYbtTMG^LBY3)YHVs&(MbgjP{Db&0hRgGB8UKc}op#9sxLF?8BZ-|6I^!QD2ubvasc zLbu?0kXIF0j(_xn{+e()tAME^iGxYg2jbnSx{k@5bqLhlX>D%@PE|!4HY84q4l-3H zRd^|rmA1_FZo9{`U7sZ6yd6q~clRIGahrRTr~?-bBe@S_ulY*CBE$-|nLU0g*z{SR zM&hGZ)H1Pbk%Um4wbbiQRLZ^o=^{7C>du9XA+A~8F4N2%`06rrFhY!!t_Dk7U+j&1Ay#kSl1}ux&gDEV~O^p_uf4zU$qaVMf6&aoie`F)jo1=tw1pPM$!*Tsp_Vu z*$(?OG~HEd4Kj;-2Qw96)??MJE`#prUGhTF&GsNHcW49Ep3TDurui)8&}f8EljEDP z`wG0k?RJGmSm{SV-old}-lwP<2+sNx)?m_Z3QzoB{5HPlzN2*vOU|+<{^L*W^)|Rk zrgS9G5~J|mja6GSY9UTqmvl%!u$)muiNGLD{lw1Wm^SmB*yx#AXzz;QsI1L(#%~8j z2(8+1_>UtG{emn)1TsOB!lc<~CR9oeb^l?H`496RD0%60!c#3#5w@nN9N&gET(?-r za(7uGw*iJmVR4dIHlKvMun1Gb{-ebe_kcbQv$m@T7_?|NoGtU4xto1hv*d}PbRY|T zJOnHM5(i2Z;&vq$>HjLy;_b)Q>gd>XP;TQ5@hUD#`CNC-2Cz}mKilxKoX z#O{vK+j|bl%=bW}a|*`0xt>3$95xSMaM+l_6uBJj8m4(X>*o%|dKK&mL^5aTVwu?h zXQvLj)}pfIE%0t?AWWDMPW1Fq5}hYL9L_C5VZxodMP&2{vh&Y7JvH>_P(6;?FC_yr z<_LiuJjNz6J`2!|!;A%Iyd3ewClo_r@WDLM-Cqv_Yz``YOcSAyqEZCYA7Z}uO4;XZ z8oNqQpAvzlloE-_^fJG-13e9Ssnf=!%Sp=T) zF@rcV(K@X!`kC9#8IM6?I|>PR0~FGAI49vqoXIS5(>&8!@5zB! z7&r5G#^3v1hC)E&VumstyC{=QCBqD@WTT%!IZQ$lr~bN99aK^qD}nBdNTQ8q0l%cx zI%9Sx2^o8BksUpt4Z2T;e&eCS=e~&JtAEeeS^-_#BT_(B7{s&fBYflV}Ch_zXYi4H{qzv}% zJuhJ=kO`B8y{$fUj=k35GxndB@Tcbq5~S#iiD1Dan=4l=yLTs$nvmLoqV~u%#Esq~ z0=pzqeh|So#=_F|N|s9D0XpXSd-O#32U9DpG;og@Y z+uIVAsqPi$bCyj5B?4EHelCmh73Ms=s)HfkU+L5j7MC}j{o2Xn1+Ltym|kl6`FUOI zJrH;x*L_sPOSu$gCP^0XD1h&UV*Sz+VoQLI-Br%jo0^PoA=Bmecbd-Zkhl!_#+d8j z7mC}x3h!nOO257!%SwMV#{TCEiz@Y#&$8wDOc-(z;dh{fRV_*fTqfxOef%NT?++{} zlUqwPXi8Kh_8J6@xXHg5knYzXzGjp%XwIUGxc}0z!eP_ zzu)HAgM(BR?ej*5fn#3~7F^vg$QK~|tjIb(@lP`1S+URG3KT6G7OGG78*ba<^*T_2 zQ7RWd!V5QzW*DK{on=6>8U>8JU2uTh9&7Cg z{BVkp{|wk$+04_Ke^0A>Bm2C(sOa;&$rAKF9J;vW>3#0j7_V1Q<@HT*kF`%&_nd@&}6W~XV zp`zY~sU^JmG!!Wl ztq*oDPon4}1o?9T<^s|9l7XURK?V%li#(HF=QE)Wil7H;I(eIwdPd)Ns{?`gtVS~2 z;sw2ap#eMP<=OhjFU@U-NXUC=e~@+!KwVosJ5i@eWXtexpagrX7s<`73ci7wd_{l~ zPyY(t@sJGp&iQ>G^0R&t zOfcrKYiTdCW&X|>CL5|}rIX8$jNleQM0901#Re5uk^3UY5LiwxY(x(XJAvdqd?W+L zcrt&Vqh~~L7vqG1lFa2=f~^94k!a26bVW>Y>GxxBo|-L$H+dqJUK zUq%B~IcglNkE8TfP1bcX6%_V}DRmv4b2+gAz55>kjl5QU$NT)ue{hVnagFieCKPPjWP2y=IzQ} z;yH%y%2M??L@17#dzB^T!wi?Qg8(ZP&`oOtUDVr}S(tnLC)fL!r#&dWrdKB5>P+=&Z$&3a#%uD zPE(~VFn#Yr=MmC*^RIPiRO*w=FKJuz8EbKt9yT6d25tRX-b*wBgy<7gYHAATS36tM zqbrCe&M`>L&wx>CECJcHGWu3bpvsOp`b2!bNbEO?a43KLR{I#HxI9H+P;PARd9D+! zdMXAA8UOC?Af%}>N8iu82Cp`)9z{MXLpE`VgkEf$J#0H8-;}J)8`)q9kiZ8p4y0`{ zlOd2-4tL2wUIUS+g-4!Ma4GNQ!#S+|ZE*1Ogjypux75E$T5KvOTF?F~ZE~OQ!(QBn zyM&_X`xM-y($Wff?2{?PL2F-1|4OqW?S{;47w=PyP5xmW)UZV!+b7VB;P;u)S%D{A zZn52{pD+fG$P{;QEu0mwII|BelhCk8^o}?iFo$_cdZ$ZU#ynbSNhtT;Uh0V^??n|r z(=42W9Ncx9z4Rl{EC9ypxDj@W{>Tn~4tf=O{z^BoB!AuMHr{;;9tq1FemyJnLephJ z?HM**iJa;PPg3|KWdI0VHNrNwR5+f>DRW0d&tj@P>ASqwgGF5FN`x9 z_5h-nYrHK{lHz;rw5ly7QCys@ub3(SvrVA4F^yt+Zi=1@)wPaPC-`C*o z;Kf@mQ*l7Y2viio=$btOGDrdCr?2Fm2~iVlMv{OtfAgcTi8yOY=>RjBqi!%%>Ujc>LCF1l>9^>3g<9k) zRi8*Fk{ooIsrxS1n$&|kNOjCv7eg-?Ds*-~TM`S}+9`YysO^9^HtV5%T;c(`Xxpwk ziR9`4ETEyxX8(I0c7PKPq=9iJgICFrq)p`-<<=mDgzB0SWzGOPO1ypR=|s_H-$Jy2 z`KJ)bKMIk1x)Mkw0_p>%p)H+%%5**tCpF$Y)2U%khX@qvY!!w97(@`=9GF^3|6CZ zsyL}J#Fg`2JFdL)RtLt_A8peM0hF;C|7M(R z@-}JPPX3|9thg@?Y97Ne8yCed=s_)VaIflLY5&#zF(=sjc_g9w7LYnv5P-c`oUX-Z zf%U~m^4))-|HLz16vq&xjV88_w2wSf!)n<(M#50dUJUT+or+~w1r>b#IgGWZm<;V{ zS%cq#os~U&RrlBx8w)G_mFoH-kq$o~ovsOdEO{5bZ$BB^dD_~Ka@`h;t6pzpk)iKJ zjeng(5|TN=Nc>$qS%AoI&6tmfp4s_z;C!BqUInigHx{=W^hr0Hr1udqyb7+kc6JXg zvQrUp=|t1T+SJPN^@jNY^miwY+Zw2if#u(ZH5(2Rg5Z>NYV9W1@uAQ>`BA-vSO7hfbX`;HqD`m+SnqB&iERCH!}aNn>A!Day#JiW>z z<2b9;wSW1Jrh27#o4Xx{qCq22*r8P+^^PpHVwt0QjbaTc7Ovdp@jrIkJOgVvwY zliA@x%s?t6XM+sxdv1B36JGtgtiigPN%~}~O@7_D$!*)Q$txyOhoVw0JItb9E5~Sz zkm}gPm@gcgl-lyL{x=nZ2n1Ei8i4AEh^o=7BfoMo`OXA#NMZLo6Y_cuPNkTk)n?HJ zu5-SSOZAPrZe?EJ^Q}_;_|)ZAg@m_J;dryiR8Uwzl6%g8~Uj)G_ ze!vQlRN&sLzNX|%3-t0)BwUJl4fXO*7QzaRB9f)X<4@pZF@&JUa%b@ z8X|b8fkKZr549D*Nmb13}YD@l2hx&XNDcAQX0_VJ7?pD;0du=pQ2I!ARsF=|2K zb`ObhPU#uVKk8m;f9e8cfRZ)ems^&ayXdsE;t@j0 zk!81a9yz!|Wf+`u))Vx-xlaEn>2gLmNaq{Ii${N|a&w$0B$Q6L{Y+Z5ixRFHzI) z&Dw)tAFDR)?*{n){TTR|?c`f9cjxjHIXdOj2M1j(KPzrrwdAlNo3FyEJ!sWeV@lWH zeqCFB*1*yRRVQg#Brho0>L0-HDdPkX#Pt_Ew83 zTb_EG<4syxmnf z#1S=YTzghE*xqD(x|hxV?k*^~PvRWDck1#*e)kB~XK`Zt`7liHK$oxh;`}C8WKDlt z^Y(WHE17+w**E3a(o|(f`?=!w?$3EKyVh3$a@l36OOSOXv)G=zTC{^Tt_xB9?ME9q z3kQkl%dsldaBV+Aqzz%DFip<#YfcN{ezIM_ZM=1KlN%Co%I`oJ5&rkVFc9d=C*QU` z!npDT3}Lt)sp)}*H1OL7oU9aYN5duXJZdh>0Pd<&U_BQbvhq{^tcZP z9YT_`@!h;HGc2AmRyXL>b#xLZ!&03Ss~heiq`dy1h!9hM%|eK$+*9eFl>-I|zi`S^ zzQ@0QaegG7_&RG>w_CmPHBMu&|Cvhw^Hy_u^YNX5@3=3%@-u6aUorOXn>me#q`r`< zjsJwc;Xlr)0)_?oW~(WK5z2;fO~c86!GDw>m#i_}2-M`nK`LiBnO)mm{QuW);? zbLsC{SR{mfxaBS+asoH}x3~Ds+4~L2xe>49NS2Y$N!99qNcRi96M#qJu=&nRGpDNK zD?wTGZ2owqJTW;^Zj@QugHOr<&lB%|4E7?ovu9kxR>ZwFNKWD$hb(4t z03)I*@l7AFKhsZp`9n=TOut%}W))*gC%|Hljjfg1JLx4iD=gCo@e{_YXLmvetTn!S zqJLyS_q}uJuL>^8#oAg{ynKgU%rW;r5{p&2?0B&-9RIUm|MXke(uoJ$59ZMQ#!oFr0~bicqv}0IVV`iRjF?Pz6}o$uLFD;0vc<%(#UgdI8hT$Cb4J*N%2Y#$ z41#hM%Anj~QWZ)Z&oY{7#?AdY%y&AxL^Ji@VI{z`X;6*Wcpi9Xc`jzM4Ea6M=i@(m za!j!X#GMuZ79^;{NZ`j$+n|cze}*^*3MFaUf+e})5sA^T*)cTg!|_0}r^z4|X*csX z$rtfUQtMh_VrP_;{azJ$DURn>SGVm-4(Ybpg%!1nc?P1{O`qN{9sJj`B6phsy@cwl zMfb!IhWF%ATs`M}al7noXNKZeZFjDpPxIq zcR!{tU%GI_oIOOeUKmI_c;&ShMdkVKCsTU50E-+9a5 zF_Yo-N{0HLwF}?6fe(Kd_5?(Jg)KIF`gf5>T?B;Pv8DTASBxJ9=+v=tv~xh-s_WxD zv$C>3e*BnycUgdMiWRsWi$R#IwZUOk;&;R8ev_n$*8uC)TJDbvu;cDV#d&X!PzIo+ zRriC&wuow#zjy(ZQ!x$Ym9WnW;4DgK1l2U4V%+UU`k8&7W6|n(e}UjQZaEjw5Gq4l z;PdIEUU)#Fzzpx2{ds$o*9N?E&w86O5N`@2D7^NU#QFR|>ihn^9Yi@TjLV!oE=Q`{$Iw35t9VgL2=2~x~&rGE{S^E^Lodurt_ z_nK9yCM5-s{gACg(OfRee%vHoTsbGNX9z~d%F$LSn(;N7v-s*|K8cGHhz?zt(L5^1 zl2SSjve3K1OJ?%7X67i_+!JY?$WjX}U=VfLAurx?&s96G|CA0xw&LJ-4?C~)wHBifxxoOlk)OAFL1UaS6n#*?^yS0$C^4t%Qb%vX*`Trz!#R zzDacaeMCNtTVMEKA=fmyZv;!Y-*1xJSF;nk(^*%-4P@K3=YEVNuQ_`>Sp7Izo@UDQ z)1QXWK7BFl79zzN6vd-hT@-|07QV$5G39e*itMw{N3_ln^R5V} zw>0(vN3y>It!0Ggb$}aDzj6Q4T~EMvGXK$PTgWUi2)V3!)GQrUlrPi%6o64M3(BdwJVhj6=5oiw&~T)0(jg0e(Y^;q&Ydha9?iuL#6Cv zWm~(%pYC<1d7UAsm?5ukSJD$vz-TW5#@9`?{VEJLU`=!Po-H3`}aG7NpO79G;y!@14uF{!@E+CU!MCnSi8@UzgzpUxzoIT zo&4diw0&vw-{klI+|%7pW}^GMk)LYO`yA3*>MbEA6d(>p4?2dyVlvI?*yuqf%vd+1 zbTGv)BGVuzzRYnY?uDe&*>KZA1c{051o1^2OjkEy%8VWqsGXH8muhaE!|4RDIrnC+ z?Rc9D!PT30@u<29$)%f>H&q(Dktu|t!O=a@E6-?&g6e77EE4UBNF__wJSk5qheZ_J zU3gxpuuivK88udZvwnyzc5pf_j|DK|jr4SMSa#P@T+Twpvi$wIWmQhHiJ$SdBHwg+ z7)#YZk!=R;<$H0=^^H5tm5L%pd<59^nay)Kc-c-vRiaKkiDN zf6b5-pij{02mA9 z*7_tree+$Yadhx}1QD5D`dP!5sj1y0Q1yhHY=7dsv%09LsO57f%6|am>zrvJ;y{nf zv%`{%?6R-hiyY1M7vT9wx4l0pPxrwwoLWB$dLfP5!kw=%A4l0gF%J(Gg7dR=M#G>ER--cGl@ocfGx3$Aw9tQNr0C z3qMusPZw4*i=x;Tr)=%#!DEZjjgG*vi=oew^hkV2K-o9X0WMf>4)H5C@M;zN&tLyo z#g7}}m(_F(n|2m~LQzkCyMiaH*x{D>%T2xmf8#;mzg|ygd|j&$w@Q7ItsWMT>ZQk7nwBocW6o9Szm-gJml(wk{Z5( z;++;DS5V`06ep*+EFgw}iE#agt)l8RfHM2^Hc{Kk^wOVt7EKsFiqxHuK^Y%D=3~bo z&|{=n!*rVr=)Z%@lVg~~{5)+k|H)%tI(=qz5Za{`TU6Ap6IYAwR|2CSV?H>~Tw zwmS^)Hx_V{k;tOn%F;LnVnI8CUQ_;b!oD#=u zu?pdGZ?LfJ%|GCju!euIMjPt2eYG!_j_Gm26D68&Lth&9y9MuO;DPtfM|hrVUj8{{ zvWovROa8=OBTppSMQm=ZSLrMaT#bi}gNG*uQqN$b^V8Ham;1XU5=n*syx!Ax6@7l^ zfDX-DE$?UR%5~{c0JFTrBH~D1#qVh>?={naV9)OelrHF7l5m&6FuNtNLqh+9fb7yh>I|(7~)E zLCk)4n37Ty$fkjZ+y`>c2thJZ@u}w}>4_>Fk7l}TVI92(zeD}g=X!(90^?fyeJ_oQ z3QjT&Fb5;dn4qq~*lX|pY8?aSj#d9I%{B&~IBE_;?(e#O$SqMOGYY$~#mP^KTFt)d z-y$oWk{%TxFpE!FIu?S5bl6q_{I?cu%kcDX#dcLFcw!~p)RWr?mq}TJc#&@xS7+Ls zr40{k>6_hZo~nekjy?$)$*U`KoA(r8D5Qw?$SHYd+7Cp%Ui(D zT1<+OF$>u1&)W`t2c{508X?a=R!lr-%dYxaZ^%E%z4~LvW~I`zj4{p5fuUhI%eo;q z^tngvUH5cZjgfwBL23&J_xw?h!njKZ68Z&2e>$ekKKtbD@b@cfkD(~s9MXbbZnd;P z%l-1~xC<)AS-u1)N8^8{0IQDp50n&hdb@b*R4eeger2Dz{)Xs==HEh8Kh^qTeJnFQ z+n_qM8Bq5(>!|8O)$H%Wi))H3xGzoom=ZjX^);v2y?s>nLX>%8UT!4O-CrFZ9s%jm zcXLT~WVsi8D}p7TH2(b5Fv!8Vyb%@CK{1*5>Sy|^^mz+x<3_0*m(=^m%o2AO(;J>T zv9rN^tDtbHH)T*n>y@UKyVMuRZ$h?dhAt!%#>wxZR$f-8FJt#!n5@%uE#mF0tq1`q zav}m>MT_no*}A*%;mr=G8}TE!uO$KMF7aO)q}}{G8*f;^sMp&6cKQ4+l+qZ2v5O{O zbz&-P(YS3k@PB4{4DeVxT{&Vce^kF>4VXij!?MmC?~bBM2>%hnnUk2`n%?e8@Y(!& zN(&-ijH39zkPAy)PCt>mwYz|=U3&-CB(8m)&DWQbYtj1x5vYyG%$P)Zy+1C_iA4tp z?Wq)`ar_XvPZj%e{WQU2lIWm76Mz3SX+cO+`lZi>*t7Wt|NX>oGe$i9X`G)}G*@}+ z;Z~m4=kL+t3`gLI?H34N$>~*M=0R+?f}uMd%)N^IJv#K&gIAp^1*gr|?+3`um%4$w<;8Eu zHG&@naRvWqR;bG5%~ii{GkB+d+2~Z=FNNne4~=`rK_o->#wVWbcyS^=7sht>9aYf` z(7d&-U3m;{1Kp^Mh_cU`7&|};T@7N2@*f- zP)bIn(FexieBU{J^UX!gd2YNEYEWA{xPaRX8=SqFz4pBz3WhuRSX@^pZEDlQBY|)P zqOq08n~hLI>S7Tu%R>+C{U`7?|J!>zt1OgKQ+Fdbwl{=I2V=9`ZI&kfiFvsTy?mz` zfGbD-H8^IDtJuI2pcfqaRH7fR#ScmNPt%KKEWqEUSfODa2NR*$*;ZoD{yl%0$^Hyw z=yY78MAQ6N#kvYf5g(-hn%F6LCMrHT|M`RkZLgm<7<*I6jnJVKqcCPQkw!dj;%Vyy z1&nBc9SUI1y59-Wk@KKS5*UbGHu5nLLmStrMXDLSC{!dv=a>|Tet3_r_^?Zxmi=S< ztha)d3s6-A3AYL^*MVa#p~Je083#5`!)F`)ZKJn<+7m>iHK-Vf!yv2&w8^L3s56a^V%fPU!jj_tLDd z(Q7Xh(I+}U62fDO!S>$t^YPf0x|b&>BO``84V<3&D+QJZms|EWzd z*f=sX-J-&zhuz+3d*+V(z@2#q|kprXK74FGD(17AH}m+$Le$^d^gZ z#`bt%^6_!)TB~(cis|v-qjqSuYFR^4Fn@f+ClN9?ZV5;JYVZz){*+uG7z}kFYb3Dx z+m38DbaFqNI596r)x%aNhF0ek6v}b64Am?Jxx4=4npN6P;CM%4O%5Y%A&=qQL&3von=}yr+ZpRA@7gcEvO^&tAGf0-5KZLGP;m9AhhsSr@_!r zyxzmX+K9?qACJXXNkTePTVpR&tJjirk2XvW@^h7ys1{Jy5PBxVWXa5i5(*!UP?XO7o~GEDN6}C$m&I`p)VyCMipktO|DPd0VUsPvPt67 zu=4DNO4*jm%j}aq*Oo11s6FJrknhiAJ!4Yi+zZw9!b{E@~88V z$hKy?eN%^PfPo^8l_9OoMa_5CJqjSnPF4NSgJBJ{i`9ugJI1~U(Efec`y^%o`oM3=35d&@GNaZus|o7GNeihi6#y zvGerIyjR05UGyPB$a?+TM$#484|YEDYE&Xb$s{x%GNTNk3f7%ZCH&?H1@K^`qtFy0 zFy45+<>vo_5gYs0kPv-e%_tnUnl%`SI9xJKy#t(DofUoYD7Ppxg*o1z;49n86A&zD z9KZ+}V`xERrUx4QbB{zUK4@1m@OjFwUKP&SCOQ)T&-!4=X%3GO@9q-9R&~+=-Omst zM{mI?*YtTftc{kySVl1=?}?OtxO;Mq8Gm5TCL1y9Ltrx~+|7x-Rdoj=~aD zv2JPUil7u>t!>bdK&c?DO1OF|%vob;5W*!sZF6-_rOlwLZ)v9t3JoZjPMaA>Uv-TVqXW9E(G5^h=M zOE>x@Xu;=$){_jy=5X(Q4)03)^%o}j=;X~SZ=3m<>1vajLJ({O8(S}Reo7qe-B*k# zt4;9_PNWH;@^aB90O@`pbrT;0!KjJia_WS4lnMtq3C7y`Y;*?28gEk>=HHC`Q-g?; ze^)v#;iU1@44xHM1c`u1+GL63-^6?&qRYa=YE~xjNAeu6QHVQUc3*_3zK_<-BI)b3 zClGfGR#SvJJC;9)&Z751^W=v!+ntztSoyUK;M}I^na$W6an!tm6U8JGUlfkMbZ+=n zbs?4*A##9yeZfuUJ4-X+Cz`jws&4Kr&^%Hq@@-E7FM{?_yo$vPrs2EMNxC7L zcRYlIWVzMI(fvdtIqBkHDfzMd%*wF4FsokAxxAS0+0X03w6B^LMqvhLJw!}La`^=t z$mkaL-#(FfH+f~T(qo3RHS*a*7b(YT%8=SL+r&b>+QUM;d-`Wql1EX6<*%5`u-!50qAMno&);w# z_CFgeHLbk#+}ShWPTrvAqXfS?!!ntp`}j@iCixf7-MTuVW5l2VIoPZch&@gGKc?P0 zs;TFB08J=T1ZjeTQlt~A0*W9CD1!8sOCU-W!2lv1k=~>uNa!7Dxd}b=UZqP3AX23W zp(r3ANO}2ufA5|1PX4+%b7yC#?auDZ+-G;84U22hZWPRYie2)ZZkNj3I-j->{45D- zpv9E7tO#aFNdFFN3#WpG;kjYrZ`{~*vRx4kZHqiq;R{s}LC$8wrwqIy^UNXXOznp# z_7@^miinZVgQ6SM2-)gNniiS+l1XF}!Z(B{3bq+4`WqVJd%UsNvsCXpUvAOa6$5nw zJ}9qi^}t^LN0!z|4AR4gM25U% zQtnNGUok7yM&&k)^J7d&;j$G6DJ%~(m%7C7w9gZJZ6920Af2im$lQLc8AzAzjsF$5 zE}@gCduvmDG>vEdYW9{u697LwxPj?CM4u%RT(iY(7ig4L3U3A+1~ZJJu9dg@M>4m- zIqW~b5TMDK)cEaLSx(Gr6Q|+d4!64t1!8P}AKIX~a1zaK(eulzc7$w8h9{k)*Xly;Nn5`CH(e7E?4-Hj0t2={ zsHKBM&J~A#e~iZ2@OSk_4brvYm;J)EPS{@e5kmtLlsaq_eP_IScTm)lJ%o9!7jJvs z^d(xdJNebmk+Z$pMOKZ0S5Z0DXSe<*tvY*c2Ss3TIN?`~1KFSbPlU_%MVa?b)`m0e z++`a6ZH+&rA4PeM+sTG+;T}G~e04XRuWvx@cM&@C6$8g0xZ*>u!zH3~+ob;CJgiv$ z7IreasFt%pI@FH!5T1Vh+)y^&lf%C7g+P3)pVN{yzI=wDaR0JRKm;dKfaQN`t&JSP z-l=}&xBV@liPJntGG^F1B7x>L|No@-J1Mq2@k!y=l5lTAWiXY=Vy6)5ZcmugYcK;Pl(mc+}}|p185PM0i%gpFMhTeJO1= z=Q+RrD;;ajdX~kQ!`>LJYFbo(vLDZcc^`K=L|K4W{lTrUE6yKs-je;{@o8V+pv&LX zrkpyrO;EGui~~lz`HoxQ$GaE1Bj!nEM+|Y&=d>T`TMbEB%mt*p`@Y~G5T?n)2QEHf zXgfwdzW&qro>MuoYv|rsVD~5UW6|>;N5=F^>8Blbi=)H~YbU&V{HKJ#Sqs_q80~il z;dzPEGW8M#-e|7{Vg_e}!Dsb&n%7vh&W^8>r5{$TB1mh){qsA}m;*g7r~cQzIjwf} z&G7l6p;`{xvq7;aL-EzioTG?_;BBmbxb4T7xVwfwve3xs<^nrBM;H_fVzed--BPA0u>{GGVF-*sKBJD(_ok7^0%x1#9 zg?Eb^o-tT1a?0dn>UK3JIN*=j3>$7sWP?Fqp-QQ zSyYX4%Z@FA-_U%?-u>cx%Ac<`Djhl3#j`A*sU^Pi6i_by5d5h5Y-{!B^Cx5Lseq@7 zT9^WMmQ6wCxND#_pFrgu1=Qb0@l5zhd-7D)rZv(0{;|fMZ00@stONEQtjA{8VB=E> z%)w8;saQTuSZU{T!zFQFW#P}XNfiG0W=Y#ocJ$3|GQ~*w6E*hc@!*pUHMj4Z{>{zq z-`Sq!+ZrAHn1s4?hVlj{0EnRls-KP+uHcX?CK!u@N4>$=AI2E;hyei8#0^u~c(0POpfRH=&Cn0wYzf;DEo zyN#lcqxHV$!O>pT4QwgUvH|aY*nf;Qc{S;VaI`ve2!o5=eijDTq~5e7q<4`P$v24Z z5jm{^r#2a60mn1@WkQuMkS87VP=(!I2y^7=oi`YXrk zYWtVL-70M5YpkouBS#ZHX;9!&OjYRE6N`1}bVw|BVh^uaez-tL0aC#5Kv3qXl_l#) z`DecV(+F7qzOC9zOZ<>@uV{Gr72#0nr04f7QA!EqAZb_xf*@rSviT8qe(Mr|?$+o; z-r=7%&1^0&9m-(OadbNPV^`fT(N>UbmfTD8ap2_jzyoP8$pnG#54*c@bYPRBDE>%T zP+e$1*oxY61L!kqriqD1Far-d6Jmw)J-yp>Q%ttQ#jtn1UwwE@W0*>l7AAdng%*27 z{SHZk-2&{YVSkL?XJ3d%PkPI>ncuwp8}*e8eSN|B#+iq!6b}ow@AM}2w4Ll)&ZST5k8tt6B@QI~4W|6MmLbk)tEoI?UEN=U ziU2NSuLMcgeBsH1>k(SG6b&g5xJY_z10NL94f*Wh1dmZ!*XZd$;iOXwt0=>|q^4bR z+?SBz1~0Q-qTYkr#T*v0T^QTDs-Oc|3Lo_E_vQ4Kd78J}PnTXuO-@*_w5_|bD2=dP zU#o(u`B%b<$ghgr$xeWR?~2G7aj_Em2t}6#qOqq#KMizgs^mi)7Y#&M;_Ua_bwG4k zh{F8#iK(9tZ$9$UqYqu&Vm#MIt0-T2T%hBCZil;PKK^A8OWs^7d> zFofcY=48T@r+gW=S%&Ejg|NX&o%+Qn#{ak(9v{J{YT+Ik0vVsxk5L1Qgj~pYJ~@+N zB_%%(pp7NJKbZ%{iL2?0wx3mghW{Q{f93S;BuU7vH%VFj&1TUm0-sP!!lyqwFX?PUFgAPyk!l+7K)x45Yuj3BPkHRoAe zxkkF#Tbf75UgD*8l(wm~pqZwx(=&ZK;ON@5YrUzNkVk(-2eaJ;*i%X&2gTJDLC$xv^0EoCif5g$8QM^w%#GuT9hd!T2$LmaSmrNu%!+VTE5gx^KAsWXVJQ^(SwuTVMErfjXn(XNWqj zPzlXV3O^0TyymE_tw{;!6@*oX)`T`+$^^N!L4f!1*FGV`JY8=Hoimp}l5pQ>WFTCk z<9lGWraO_q>G&&5YhPaKl1q4|Ko6CR6mEjAV*D`!!l2oi__oCU_?biPpag-P+s4DO z0)JgsTMEz!(W)1gQKL*0gVcZ7fJ{wQd{xq=l6xcR8Vn~2LfVNhZB1~$`isV& zf_Y7Q#NW5$>B=>}DCI37;N%02$GReLkodtqS4q6NZ}`XFN&7I=F^^vdDn<|>fA)9m z&FjoI-S}U4(n39bBA-t=ay7}_LYAFrC$FpPDX1kX$nW934%Ku^92GSDp!s4z zSH*h5+M{In@0K0{iAleRA0c{0F#}9Tp1AwXIm=TbNC;7Nq2_HdI|g&y}9$MIW?P zM8Zv6^mi6R<~+g+C^HLolJmv81MVpBI~cRshPuPsq#Dr|0l#|R!u0m7|H;f0QJ`IT zCAlFfyQ@^NO4Gf^_Cv>v!Q81a|1)PA7QqRUMh>6E|DQ(sIj}62)Mh2t#@fMe@y1q# zcSMMDcD;GcN0zo34zI?Y9|5_PTiihX%+y7|-7Dqgkv0<8F~R1;0&_9FrDjv3Mu4&3V#1wafZov z{8lXYeANASd4KrZsZLCu_&CQ0xLBhlYx0kB4QoY=afjbgEvcGZcD84 zTPY4mpya7#3MJfVsoyWT_b-C9*&+t#yT^oV>0Pl&h5n0tf0M`A=^zjn>Suwc#qldY zdoEz(K=$P#1GY5Yk{ft6>4pc3#q%Hm9D?N`Q+0&Pb9f#bafvzb(i{EUIfKmdR@+_a z;B$*mO*Y_m#dxqq9=YMR@(W>!?YI{+s(h1j4CSOvct#DcGgHK|pe9MZ@}=StC;wBg zAZC^xD(oFx%E#%ATq>~=om3AHLa0CGmwBrADw!Cq`(ca{Ed1_~yoIVHsaA3C|0{&& zr$S&+sR^R)XLCj~VR{3yj_UB|%Hd_d#>qFRWiS0}2_8f^Ey7;Cw{<4J*?_O@pU03% zribJTPtXfm1s8nYi>bj}$+PU!mFo%7rEttD7Fy{1D-XO6%YJg*XuYypr#L&0^>GAU zApChp2nCCRBDEl$7Mi2dvh0?v@Pv}{?4AEv4ZoF2rH=oy=gjA<&tim~o+Z;|`SP@A zYUK!;Ax7N)Z(i(cHm~4=Wb28VDzUV}?DF;0*vj@3 zhWEB?-jA>L?mBWj37UV81(1^2Yl0KEK?%w zuV49JJ_i-GXi$c8*0f=G5ssENHt3YAYzX&n39}7^geS$UOsO*;2zyqUky*ujbj~<5 z4c&AjprtGu()g%lRa$cr2Wae30`GM*%w&0Q*UD4&Q`f@EiP;pwBP<+Vt!0S={b8mR zm3MTV5v-cngfyhMw~;v4{^Q{5T-ozKK3!zuA4B*{pJQ|%E*-JWl(8ifT5T6haC^uj|CzsntwHw6EcqJ8^)bfL;}WS(jw{GT6Sk>hvM@FIK}hKMY~>P=4)wBQxo_w zE-RNNK!K(K&TL8eBr;m?__s+38lpWhi%M3&4Mf$>e81*|AMb97MWf-XYe2f&jzLDc zMH9RSMflYQF28&I@6jgE7)@NeX_7qd4lV=o005xdU=y#dCXw;8I>{bLpzmhB_lr5Y zw&Ds(VfXYzeFg1Ca2`GuLl`tX59Q$E0huvyO?u+zW@ctnE8i{xYarzG#M|I2D>30n z))MH|H6Zw0%zZFVyg)3*0}LwNg<|bU`OWIu*w|ld6HRG1M0)#;LakYy$TI5Y-F{_C z7xBA-)df6YHkZ)2)F$H+po)dx2mbAq%_9NDc|xFx6ozEAGH!4z3}(nLodNs;Hn89z~B&P+2|xnpjn>!GtAl zzytmdXjc?^xXR%<{2&ut0=@@>V_Oif*XT!QY83Oedt=lqBly)=x4FiPak66YUG*hN4(_qn*p1a3{p`7>b| zXNv3leXby*|D{cBLgLanSEGdv2x!Wrl#q%%u@sElv2aey{_0IUOfrZtK4qJ=-bKNK zeYIBWl%d~uMXH?DzDjdI)mlj>@@iel#DqIftv7jc9YVD?PgbB2HCW|`^8(pG_b`$1 z(kaX!C4d}hdRV1Ox>9lUhvjE*20ZEusMLSa6+U!NUO4T^7bU6MiTG?8LCT}O3hS}N zcX&S=jzX|IPdG*l`L=D$NOgH=|Wxj0_@;9*;*_{4$Z`|@5<6DQp z{_+`{i7)Y~TEr=OYQA!{_p--NdRJ&z0M5Lgy#1dpO6J~2YF44Un4GNd} zgN$O^F^~HF zh=0?Xh9cd>+}Y@NSD>!%gn?1De-Cm(2#*+ z=lu=3@L@MhLWQ@!m8EqsQHhAjfp`=LD;_ZRd9W?dh6jnA(KKbQS_#%0wRdOHPZMg zD8&ll!OIhw_s6kI6SG>9v#@{=m~LrZyH|W&g>`2&K65?b`?ZV?CrEzS!wgEnkh#}pFx@ebj z(-l~D=+#L0pCvJ)s>@i^^IcbP>WJr~yL=V79hsc_!+S76B^JCpsBT+;u{?hkzzj57 zot(5Kz({S~K5^c=v<7HCk@Se_AfDg8AF2kNs{WymkHdcbpazhEoD5p91>D-V`+j}( zp1)f!-`;J=^fF1KP~t9!-NZRD^Nf7LbWM`_*)iDeqExE0+O64OgAPN+Ju}`fi<|0(NhYc_^j}=G$qYGIZ$q<3mR`v*}p8q$Vl;i~x zM&lc$s#p^r7QX#t_RM|OZVrWe<~T=;yk6UXqd(DxN}Wms{}VXAXX9kDVab|WBV*)@ z{lV3okT&XDpNYiD%2LDX-nehFbJk+AIF&N1g+roqRv(d;hA?YFCbRGe*2)U9X(Jj% zIC6Vr?rwtRD7_SOG?DwadCjYxZ@Oq5r|E&Qu zQr!&C6r=Hp2;w&=o8xt^C8e{2FAty_LZoE-0KvQSs7$N>+^}Mx$T-#-O8bU@c_yHb52GOuCH+{Qoz3n#TG%T06-yEZt zBj2nzaG6}rZ!&sy2Wm#C!p%{T(y_b$JB>Uu(|+ExNQ~n(MHG3X3q57*WA50;OCDVP zxnbmA*A?*HD9&)DNO}VXYw@BGln3O>(=)ZE3t_BP_@}G~&}xC-Nmx>zpM;S2yWG5| zdz)Gtox~lQSZ2W14YA|kUwu=u_`DDkC2zqhiM$Pr%01?p*nFH%XLx;n1Na_GMLn+7 zA!gBNX#r3WUA)4V1G)Z>fI!RQTxg7(Yzs;C4h7!A1fd~MM`vIs1UHZ*%+uZTcgz8< zWrHROCMyLrUHp)+C#y8Y4O7@Z4RF0k?WH%fc0ycE=sZoy_idKO`XSv&RXcdu-Gs6T zNz7~RCOlF0YRTP%qhr(N_*UqIZP&MEib3{$xl_m!XPk8f%uI*Gpw*Ng`VTl3$e5W$ z?sKr!R^gvWiJJ#5>+M^!)~V7z{u*vrMH`N>s4yL8ej|%w&UvP}T@OFlf}{%*BEye# z8`DeTVcgH%?&xdARZgBFvmi5nta6Pk1t1?`ov`$d9}R|c%yG4}%aa>>5AMbbt1RPq ztBL2LzMLoG9{Fz}Zu-z#jij{0`@*91fBE(fqqh#@zOg^q8F1onmfWVtS$@@oAGYpQ%D|&krkN^)pyN=mBz1|+;Wn+;ffgZ`Gvl9VFEKud?{ zAsTqSsx#sWChN^*=*|7xJ^w9a@M@^@X~Sjdhk1RyL6il0A-tEb#;;f}+4J?O?eU73 zn=n@H;>(q9@jCVQXhd-Kt0DCIXLP2&^bGIM9>*=uD=g2}4-aNYpI^KmdN)$oWfDMX^>=F>tz>JsdBo z*!MX!JU$ND{VMX!j_NmMmQ~qNqe1DZKU6Z(k|S-8p8PkwW}Q3p$*M-cg)(jyR_E=! zdWEJu%#<_dD8oTI>FW-e=wmT$yC3okushhi0PeKHV<3>!7O7OR#rq=ffgvsEy&c{_ zU^PgBFI1Y8!%j8+7Dh8?tX6pQ9QD%%duT1qrR3gxQ2fK_R@$jF!u!@-}W>1uk1%a0vBu{K0B@^EK8Uh=UlHH)2L-~W2Mx1p7H^H+kLvf0%lh%PqguCcV1U>Pc zh-U>{ffSPt*Qh|1e=B6R6I;75&#F!TrUzQeR$p8yuAwYKY1yk;gQNy_I$D&2%06kMl)aKUJpt0;-qS24&aog+ zVa#0*%8+X29ESfFH6LZkziC*p=|D_D1%~g7CcK6>;HM1!=41xM?jp^JmHyzG7G+5| zE&SCrh>p-3RwGS7~v6LR$yo7!J2W@2Q338r;Dg)I2Uriv*=mujEb@oaZXkQ9}LonaVw+ z1zZ4#fWySx?dFKj3rJuR#p><>)+%s<(%B^^*<=5WNQm-#!$u@dkh=?3p%MByQQv(X z$ldY?P>7o>YYkF_9)QJ7L^V~2+IjV#=)pDkC1^Mt_5}XC5w1Ck7HzFKp*E-V*EFUO zHcuaU{9#}krWz_)M3QyPCD`Va@g-(_x4`#nru5#;hIn-cyeZEDYV2(UtLiat?Iy52 zJx+ws+Y%4H^9}wcdDVMm21a@uW91;HCn)zcj?G9l3w`x>=+?I(aMnguAFA<;_!T!3 z=a=`Hyk}+>#zJmj^p+zJb`80GKbbeqr!f7#7M;4jFHg=y@dC=^{;;7I^yjfu5HlPa4Q{<>MTpvtr2@Z=(sJQAMiVGVlL=Gr9<1t8ab4mnV!l z+5|$c%PwIyFu%upVoDS?dM+52nNwhZK6~5B^HHxMB22wSTU|;rgD4qLE z+m)l=+I_?Px`K2JL0o~QW+z%WvXW4VaqGlQ?wl~z#OfYfz}oz7sK-ld3TV%Isqg0NY?Ry#)we~#is3#Yc5&1J2Ba1*K{Gi zaQNU|ttsBN++fb{cA+qEFOH*t|HYo~MDh4&jXvg*Q1*kl7VEd;-|Pkowf96~{B$0k zpvDV9lp#ZV^;oHaQ9LCu<2H@!*)63(Yx$vtL*a(>Z}kj}=~>fYT2$!IY1n=vM)l&z zu0TnrFW1wi$?wR=;8Z-YW+vBIyJ2+1gt^fcee17*SvN20&xoJE2wBAjSfn6545(d* zd3w{FGMRQtLqD+_2Q>TuK4{lXt!EenmeCkNr>NVkDZZp3evO3sV(H)=w`MPji7cp=sR>fma`S@-= zEg<9kIynOT=BH~7 zc7x>4p>W4HcphN&v62SXAo1u8ycu@If>qHAaMNci2Z}ZZBYyREzXgkV0@tn~NRQWos~NT@#;&z)w4yXTwh8=aV6YXWco+fSI<4TDEEFUh z>Etl`aGHkZE-jOIVn8Sm6mG@r;4q!C5lyvCFWR;r}o)cthB5YN#$U<3BQEoWe z-`f6uisf$lheid3^yV8QeLksMTlOt$z26$8J>T4EeWWU2BU)pc2(w2qK6rb~U2yd# z&BuGUc`7vY?;7oy0>ju6Nz3LqB>i|frXDKcQE7!HKM}#awCqEptUw7NESuW+EbI%h zMZQf8_^$gOhvD>JHi?k)W0(yqCz$vHBDhpf-eN%wj?<>_$In$Czi{ zKn~RB=|82YBCY_Sztl*l1^I;A7aGQ- zc+{$t5Xs|5sGPu(;~|F~*_YHP)h%1#kteMa!XH`MB<2U-y0pI|bOTccSK*b5dUMv` z&V$<(UlJ<_xV2RzeFQublN?zG*Svz?i$7DA&vmSWAJ4GqU42gy z6J#g2%DrDQR(tsP?;fIT69O3;E?d-E8*%`)49fO}cd1{fP>J-H({=-nMO$UF@8o?l z_HpxmzW1boaqQZ1X`cO=MUdT3JcbQiXO>sj4_h6_z3R1|d`!n6+qT_5Lh~`}I-}P? zD1rQ^wS9`u`i`$c&AFNMw6|8)0->E$g5E;t%X5w<)NY0b+I8JxnKUjX3xNe3?0K(P z5UuJKs*!{%28lK}ZLtR88c;B3H6%nmcg^EKUA?T&vMB~h34BPu`?mwN`QlpO;ItrF zxnjxt^pFtL^>*a-!8(0{pWDM}?;256P=sNIoRtN!t*XW^8TL=W8k|v1gZI~*HxT59 zD_!LK&S8O7RoFWg2Zu^1-3kJEzn*XeoJR-u*|eYBV2&K~Ope2Vii7NNg>yt?k2MK5dobi=Uc;T#-Tr6AR=`)5#sJwxrZ=*0 z+`2Jl%55Cx4$8(~HS`Mw5crBc)WNmia$Id^r?Zz$I}5yBL8Sknw{lY@+1Hu4>d35} z_x<1JAu%*qSQHaQ+pUNwC`kKlGB$ihW9l!7KeJcHum(LgBRFF3MK>m{>Xm}fPl)IW zawvk(O*WNaFdW0(->V-0a{BK7dGT8$y^PA zdnnfsSy^iJhVbLcUMj*r7kkBqQky z{_0u}(E%iN_o;_J8gxl97w8VIm8~Qj2%^N*%R^KN&jjk=;^*7Tu$N3@r}Tw7Q2$mN0`dlnD?C_@%?{#keLVxX zjLqoBUC6w8Fy1Ol-%C7EjQTV!6B`bYCZa1>y#i%Ycyx4>2c+# zIWCq0_>ez(&QtftUPhkD=X%K`4Yw{;8*wQ1y0K$Q6nyK`!YDiG@!t(raP*Da$2^QN zwAQrQQf3S)QV>g_-iztLdO5IW{f@Zav5cbE*S2&IfBTpW>{N74zZ)69bEz|mbBhuG zu$k?1>8Cu_S(roNCFsLa78Kb>*YZdbW1LuX^cfdl75VRXlv0B;udUE`@_8!=-XE)7 z!mqK{MxHDn;4j|Kk!p7F(Hg>(sf)A(x5ZoqDpIj{4wRHP+=rYS}5RZW8W!E$PT3wfK`T|%W+5nKp?p$fOW23 zTmqiR0OD?J-l2qYnLSjDAe`%v=qM8C0yKFGNg2DP$AV=&2m;m4j|vhQxPg&$uh0+} z6U9e`9_0Y)${UAIpB_uT_>k^4lB&30;r&yaMH!;J=|=&D=;YSV`YwrzZgq-+*GWTA z2?axn$RjaklvbcS=glnvW|r))qB$h!_U;9zMR$d~{~qj>*)8FZg%7jOL=4kp zFrxBr2-{a%bHisv%P=a1rn#ifgB3x`fap<1%Pj2bodp=l{$lWgr1m^T)tN5_B41-g zFdiqJ^WVC@Fg|f^>g}%ED%f^>*<~a2G_3P!5VbO|vedm>cZ0%%!@HSUxZU6xKa2X(`ak9e?AV@posQrhqYzq@aADFoJNSr zWRE}51)^&fiiw1yG0!Vw5eLV8ps!qr~Bw03gF5W)eMibxu(1{hk(vb(>}6#ZH-iN6vBv&W~wf><}* z6p92u0#%cjJ^I&%J^ha#M;v^Phe@W}^5rvq(A+QjtWCBvxgXOWty1LOtG_10{oa4S ztI3r7*{N3z9#se$JTtVwu~o4sJ!forR(WV>vrqc`ixjZmjyn7HyiVfr*GUBZbkw*L z*KfeQ=rfZk=n#DV=3eP-^e)#-F5{3t;eo~c{JrGXp3;lDZ(R0#5!?(N6t5dlSj>t@ zFdl}g5IUEAtMkeyi8X-&+kqI`L59Ab5kP>K%BFmIh4*7F2f`6~_#3XB3V+CN0i#z! z?P4R9cBi48KPt!*xk>mqCEvV(p=H_;LyAFY(FEqGs%$(_`q75V0*#)w4USjL;uW^z zYjiKHBDRe!4nF+NF+A6cVOuYS3*22+EdmW93`1AE`Z3&xHnHI>i}%IXHXxrPJaleg zU-{de(||rjEo;dK>h&j0<}L6B)r(~pwwc_o9WZ!#280c;?v2tij)9|<+D+Z}aJ2Q# z!+Xq9x1(n1jP2$n=FYD}e5Qh$vr1<3GPq_(va%HS23zUXH`h?qTYX zU;)}VNwh$vbE{<*wfBiac+L2))f&EW(uIB_y6smrcpUf0&Xm-JBtnOaOLin)^W zpU>b$&>(i61*_f?)-`g8H&qsgZ`><1dg6{UoFN`^4 zw)1gp2Q@W>hH075WxnR&wKp9Me&_F07FCNpVzZyy+dKXHsw0a#mBSl%tEV}^t)>$a zB~30nO(wu+ygFZiAKK^%L<5slk)P;N z9OO|PvBrqXyN}7a_MU<|^yT}~f;fS%O9w)_T>Dqd6qeuZ8}k~sHgB%8CVAHb{Qr!a!HUAnPksiZSkV1bN zx^|sScJyXuZgMFT&!7972fw&4wpq>2{u(s={cc|GI!~w)wZM7YShgornbr;J2QZ%i znHE9|e%tN~Ff5_wUi?d(nU#K8^~-KC-`$j!M=j$$Fyw=_n|_*)ALM$woJuYq2Kd~-?d4nE~OjqcBnmhS@ebqaNLZkX!!momj5vL z)gaWnhayx}gI%tU`(I8@3_Lb$VExH{tls~SR6H%O&=|a!e`uhxZ|zxE!X0oUn5 zK*#mIeVF*(+d-hmGc0& zUA_zcEt~=gx;@*kUc)yhl_u&^sUPBga7mX5fS|6A9F!UdS~!K>+w$*(&8GPnbGpQT zk6Ad{RNMVN2>&Y4qC4@#)h*0yi|L$5fv{45l3_g(=+(qX*Ujs`!KAa01TP__w(f{a z*Onwr79l*12NffpSNM%8E`lAfd4g&A(toVtAkMdnznnAqAbR60-BD{3(qAYMvh$N| zG&!U~J6f$F3!DpYP)q@0Di5s9gb=Ro0=nt``)x#Un1evjAq9{dPlJ>2Yb}j80>#Iu zX@}|%$%Mk#hIBx93O1VGML&a?8ZIDq^zs5l_mOKWxR^(r=8)7oQYk~3X0MGjHk2zPs$^Lq)$+{X>PEX(iek7a7)Cx^jG%QDsM!qkq3{(vPXBdGpH) zj&*;IDogb+!+Wle7d!YXr3~SVb|}hOuqjLLTz_RaprbJ4(l}oKZ%f&!p^ubsUAle` z9$w4tgt9X+0$=r}cJ|-+Tc43~4kFV|koWm) zvAECh2N8yEp*sPOQc_dOnl995!a7q(*QO}9d2D`b6rp`VP3@tR(>RM-tbi=bYWAdx z^p=f4&qY_`Yhgi%16p5HEgo=eg1;9E$i`*OEz(_t(8sl1TK@D$?%@aWub9O$y`+H| znA)@0l5)Zy*|Cp9vSwVRUzbT#Xw+xu_KAIy-{5@ez^eP>>hl1FMTRiltwf-A88E3kfy;DP5O-#Y5I9qva zMe%zg3(UXByON~8NH*JEP3U_~cmqCX=CQRA`481G3pT{(Q<47P<^dR7OM>i)2Xb{A z+fT~I4Y_g3@>x*|u1_K5$Z7|lhS?R@mAdjcE1a+~XcFUw&Dm8UoxpM5Uvtv}we%fx zjw*OY(B-#O`P7Rkz_ESnYcNx$hIIb5l>rhe9EzR;-&<4;qQLV=Uj@Rps8*6M!O z7uh}IFr9YFy3Rj_0C-cY&*=T)&6w?>p$=C`;Rhq_+U~iy1oreJJ&sU?OmL1A5_wg%aM z*tuyiIE|6IeOt08xn5wTseXx|y43;(8?Etp*wde*<+ZEuIyHyiXjzvZ|8NQqlNJrs)283ph>(!m-C9N*{OOhN;-l z*sbAUndFz&rjUPKny`8#(rcuEHsTFo7tO9tb7#JQ>vf#To__y#KstgQzTxtNv4y40 zFEW$bPUtkZgvM>`?noYki=*sn3NgAtBV=+6qvi;ge>qZdVV*GZ3I*y*Tz|X&RK@tk ze9Q5v@+&g+%*wPeV6=}$Uc^(Z;@#RG>C~HsXpGM-9IdI103p~{g1)ssvLqn7yrurg zBDIEi#WcoKyg<(=N5>NEWT{=h=W8aFW|QnDSN#f7c#27NQRdVu>1WXsRq-%G8z{Q} zyOr;Bu%^#-P2$ls00_0YNo^fN@z_+s$4_R#gbOMP!lCRp_v+5r&yCQH|Q)x<7MqHOhF@Tva~&63ASH zomB?Q;fq?|HK!E{H1n=a?n{0X5uJ?Z&rX9FP80to!hhoLnwDt5MU{jCrus$o(KCzO zAHxQQ!Khf%rRp?VJe10a3sT5p4~hOVS&f0ghYHu>fQvWTn#-p?)c`xoR7e;uPv&E2 zttqrnuvcc1BcR_nh#GKd(yg|A<+Rp8fmrVb3voSjEv)ltlqtmFuP|p7Q}KveR6}Jr zCnCyEI)Xyobq4A}FFj7$G{S#G3$w78orD{!+ zUag@$p20|%8$Fj93#P&w-WnAprx{@|#L#3q(4K3s_yzdq>&IeZVB$yBi0u(Jy{@B|gx5wq3*K(%D_m4DM* z^@0390dhc%zcUlfMGVzA@O>)G!&b<^YB>^O_ZXKhXQS99ME^8_%z z)zQ6bpsW&tfe7L%tF`N>#;VL+{k7E+#S?(CO2{&Z3wN-}cy21_P5wJ?6>IS-J4F!! zo2_bWrfRm#R>8UhaPcZ3%i+>GSZUxq&BEUj`>jqUcntyw=^tpdRgKOHowAl%KP|N< zfYkxOY^(_(OV?I=>UNc`UKk%Q2q6L4YUsRG*dEq@H^@l|@%>h9@G@!PsrvZqA<8NtVK`U^E3isyYF7Y% zcYyF@)tD^nsmdwDVIBMaWh)049fm8fb;qR!jP=5|SUt4psxy&*~AMg~4?PAcRDk zU{wuS%v&u6P>PuP({&h*tNPC(_UGMF_1u0ZI+}trC(QmZ2)n zqFWIFH9yT`188VX2w7vcIt0{tA(NiYpaA{&`4I(JhBRwo%D@bnn&w<#ue_j`urjvSrGz4T~s?~t7+3s z$Y=i=X=_>v`ne~jV1AotRY5>6D_X4(k{z~kbq1m_pax*ae~ndi2cWDHk{L2*V1<{hM(n8ySEXfb zm5`nyv*N0Q%~o-8+th#KKI3c$#L42Q`#(4agOMm=%>?M&*h-^qb_t?|39{9*MKEV& z51f73zd9i#Elynf+G=mqZ2jv1Y>OtV&ct*6Kyd@bNuAjl3!{Fm=8tM2F7l>VTzlfd zSQIPUJU?#UmG?d^8n4*pHq&*=zls`m@y&mvq7Zje`dt*j{;h@Y&&F_~LM(42n@P&|zeU)we8L zoh7XE2ZICODoj()e7L5&m*>UMKioYj9`1~9%3j#DT)fztnz|A+R+SaY^xb^%su}ic zSLfmTlcL{Fx6sdwb!+)9jibbbo#Kj;iCEcHb>z zb;Cc~M^)NpwmQ7>U1jy?vBSeFw|4hMarEc*iLb@eTi$F{H)D3>oP4YJ@nc{rc;vkO zPTGln^mNY;BXU3ufOK$_RX}7lIQhfg*}UEm#bNw<)>wzA=t zMAWY=h@~uKB^xQSv9SHSueJ}p=@xGeA6?0S^*^U8%;Kl}z9$VyUvUlL)Y|rC+ZvJ*}%BcK;nlar;G3?wo z9LlX)W#XAz2FU7g-_GjAE7UIz!>7jz*IiFG|Dap-c=8eLOV1#_iKSek!B2N0J1pyy z?L1lKtL$iQ)za2ncLQ04m_k~!m?Z&@o?AuzT+GNY`~-%~VxeXEC^L?agZ3=*j|R_3Uws8CSz`!}dImR6_a&?J8e$AT^CX_lA;HyKr<(Bzg?N zK2}$|RSrW>B+nk_kG>3Fx{k44enz-L3Vz}^{l={`?!?5K63zC2C1sLBmm!9zxlF?c;wj*7g(JgVRgN%a`69m^huaom0LASel0YKn8VyE zs{@isS%t)bV`1`u&AbsyS@m2ffyp@T+Oc)mA;|kgYfn}ahG<#sQr^X{!7CYgQ?tFG(z9@04NjovTatWTnf8bMH#m=hF z2%e18b(mB)OD5`8QDTqBOKB(d6lI$C1V{=60aPWbk|@EfBWd!>#C_@5ma1AM$pw(5 z4PnI=58vwA`u?!u+=b z{3BJf*Wv1ea;rj!Ik+bP%Iv=#KnO8c*mtX4+fd|Ig_vh*-D+0&sK-7NMQ&9HA-8IJ zTPlQ@M<$wEtyu;&bB8*m-0CtRM4zzaR$Ke*zlp3t?Iu|jqMt;|YN$=svc_FY>WMOQ ztuF0XZdC};o?8ti#n9~1*x83x`$myl6=I&~@w(NT%4mH=sn7Y!tqLKglv|Cwcgf7J z$x)PB6+*;uEv4dEuiffk_HH@+x!SF!-w5z(nGm7_KvD~`x^Qiwu(P!i;II1h+M`yu z)q@+aE_;6JudePsbd`^aH9`mzP*w}N$^bg*R_)D!jk^*6ih2j}(fz}cRUxdgaLut$ zF00hlzp84{t@eFG3Ee6M_4$sgP){i6gZ+cS?cImo+(2HSP_s-3F@2UVP*qE0l`Q1P z<7Kty&T-~$_0f|HnP<&JG*j38yDmJsf0Z?It3u2Os%HDLI)m$Yln&|lf4shWx5^!a z^x+-Jst_}0!B^Fc+|D*j0(2(lIrVRLX*sv*%PQ(6t3nurnmXQ;l@V<#-OSy!u*ph* zb%$})|H|p>!HrA;yh?>OtC6er{1t25D$$ZEA-X~vvT82V+2*s%=1wt^RU!I` z{dKFB9c}a`w<^T^(7{hxp_uEbvVYydN{G3`qFY5Vp^D+g&~&;=cd!y-9*C7ya|&lq zb9KK}A%s=8+V3sAC%_URM4vE`TSaNKR@BN$t!A%7vMNMB8PBbvOzkQ??hwk9^8yW2 zU2au~KGVppq8M8P+HRH=rFokUxYZRRnk7O^%dP(Z-KPxAIiZ-){MpIsVi5^tb@i4d zRq$v$kv)nI6DzC6vzvCDZYSL8V$obyH>5~bMGLZ8BQWMQ%%V0+R{yYf?jTYFVI0?8 z(O5|ev9efP1O>qdcBfz=C|W7v13|X%M7Hn>L0G{n4pz=W4&1X5QN%*6ENtXJ#7aaP zv9<6j-?gRxnfq&IoMaudkDH0#|1!zEz9fSF{PJb;UHEdb+St-;Hn%i}hSkNz?b}<6 z+c#&|WU(&B06pLt;QJg&Ci11#rSY5MYZ-zl3mueaJ4jw+K2kJs0tmxI+N zel|23E>=lTt-7tH&UeLFT`Z2R0;%{>N1J6T<GoO6$b$XtI^0CtHF~rR6ZAX*;s{}+16BiaWq9`3J=m}>(|d}Oit~^2)ocm`96`R z9nLj+V2?w4>(1BRGn}sGoPB^!a+_G)G;#RX^ZJa&AIhf9ueK`J}?&#Qd|l?iuwcKlOOqT&F&FtX+SgfXl8Wh^m90Yxh7nXhL(k zJ|CEhb7oj&%yb5Dol(#1#41pW?!$C5&#TIX)!M1$M9jESJKx=}hB4VRr)V;pUQ@mC zdaLi#^u6n?YOWr@TPvzDrgf`8@@~OuMDoRI7~dt8=N@Z8`Mx$*m;BMQWTXnT!dIPI z{cQ2Y>PNQ}Fxh2d6~*p>*fOWHm_Y!BO|@rve}-692lUW4O|KZPr#lhF?5$Z2E=J?V zYVG~|qIIjLTnKKY$iUoQ+Sp^oK>$rv@m6D!FIN3C0tDeh#t=)euu47X*jT-M>-)z? zZ@;a6R)kf!xFxX)&0Z1p(fySI_%+idSq@ z@I0>`+jVCad4v}Zc{IHSOd>j}3&bw9y!8VnTvxBGUgNEl*<)ap(~GdGUpoPqn6zFmV*Nx4s(~5w zW7t@P%89>tdOy9Q4o0sjoGm@PG%wOuR^#zjT@?laZq!8)X<%=4+4Hc5`~B+3zp?@< z9Wf0?lA0l3%(a zvJ{!O>cbjrBRD&@vGY}a^QuTB^2Tc5&*d@x2v$X+N-CP100aL7_XVq9RV1pWe6bq) zH>n}M4O>O66p2Jtk~dZdrFjA6=jItYHnw+L<`}^^;Q#&w>0hfu+JrH;)m6Jr+3iI z=hPyRC=_os21?qE@&CzIQ6|3jZ9cSe`thNaqY|;|Bk@(GNa3qXBpzDi+VSXotIvo3D$1$4I z07n2`BogJz1}j4V{}coWf^pcgS|D^R@#d~iZ1qkLyM@laiH>qypI+LboJ-Z3UfrOh z$rgq&Q5$K)`38(>Ky$jjPj6{B(wuva(T=?|r-8<50RDg!DWMiE;xu{49)GMx^JE_$ zV|`<*7FGedr>&lLNUt4IEmg7|3bAS!LNuT`hV{T~+IFzYG1{@0=Gs6c5_!3+)WOMv zsuf~vH8l2(d)?}6TkjO);4>;070Sh`dYbQ|X^Wv*mF6^%*s4h6w+=v4m0bN7tVZVxhVKvC-YVI;pq|3@tD`QT%I6ydDLUDrx2mSv zSfv5Yjg#R(bLEM`73CQ1IF^}XOk%52r1UB4%pgE>a!Jh)Rsw{|Lu}(-x0?LpBB%vL z$UAMr)HWB1L?c#Wt^=S-tOWSm+xcKTL8npj{;`cQw(8GCI+z_cMu}DH|7RYhF7^Ms zZi!@N#UHDcdRG*NPi$Z{A-&3TZxHjOa6rDZ5{Yt^m=%5rfS>Z->abRC2IAM2xYp=$ z0wmb}%D%*xsXU(zNq6JXnM(2hXOT$c{Nr-H)u>{t)$@Q&th!Vzf*-5-j7=PKR=t%J zHUkLfu(7%9>sE8ZpcUmTHlLLMtRw@)0Fn|9^q$it zAB#wo{S!?bz?N9Iifs_CM350>IWt(5plQjBfQdC00zMPHle*L+sq;vfuFX{SudKq1 zK)5*pZ1?m|nq>y$$NAaUQU&5nE&(XUDrXjs^*Kf24zt_nDFdsd zAF;~EcV_QnN}tx1tJ55+w@R#|~o60XatJ(?%y}POtv_;^M8o zSml)L3U1E9TyK>(XkwKY%5Eu}>AYxV;7aOJ53)`rJXB;QKy5`;vT3>As-kDd2m+8i zV67@_GJ7A<$xiN>5zxTu9oJjs%=ecs-Th+>7kS$HoluZdvMabb2bpD%Vv9FOtkQrN z;w@P--G_hH5~)i)q&gex!dMCLlfAP^b{YnPaIvCyy8nvPa1^$j0Yj;Z3?D7JutVf9 zig=9LvTO>c-)KBP@BTUZ6&b81uYP~0Gii0QXHD=ov-eHvoZy@}GXj1W=R2e?NGSMY z<`4eNV%!%rZFJ9L*b?v^r0i7n-+JXMX6`?FLOYT;|_u zt4F`GG8FNREeK~aSUGF!znl4w3%zQ-SuKIFEw{XjJOwsg;R%p`Uhk>8`{&mTR@&Wv zQ>!Doq<;1Wrn8n?7Uh~6b4o^AeSPKCqu)@^e1f(rLslu(>7T@!Dmi+7WwqS$W^!rT z$F{nEgjJZy@ci!#A7!P7?rEn^Qbfn9XYm+D!kQ+(;Kc2<=YcX;Wu*?b>b7(9U#Sl| zWdzuaDeuYeR$G<-ubX|vxlA0mKEn`W9TCePI;@-|l%=7y<(4;*@mNpr_1fzB&rX)w z^_|#((N+_(Qb0!LSUi{dYK4h%jrCpoW4Ev`cl&SKFnhdr&k11m+~>3XbC9o=+g8`= zrAx}nxocumU_DAWzI4pO4XC2^=2edGlKHLWmc{Q0ho9Ll(^ilE7CZA-cmjBeBku%8 zfC7}iv9M=2Ynf1N1@NfV20GzN%Nxr2O)$WSX*JhY->yd02Da6s35u(2@}2+!!uU{g zHb=Olz#w6CRnBiCK({-$gIaZe+iJkR>CF6$r>**X2P;{P5bS9trxw;cj-*IXZWCIp zFn|54iv_g2tqjBJL@$l9I-fhQ^;pytH=TB~(qj&KHIQs3cu#B>rO@&Y$(*n%i%!|toqf7#;rw*LuPFw5XT)pi8 z-8OCd%~=1smKC#^^7w!L?h6I2vo?M;?5M!t;*5p;+1RDyV8x&*qv>HHowmAIK+BuS zc5C&vlSun&KcvkPOO6MLD(xr{5vLW!?h+*jyB%-Q*l|J#&_@p zu$=XhRjqg;$_kN2@V<{+`LnzMqab!aKO%kAB9)?r$5Ku^CGKCDsqx02kBu%nV;BY20S3cFEtJD^)Oh0;<2+hj zTXc~TU=uFdnJ2?L$ZA>1Xq3a4U)e+@Qa(;~JP3HaK(KDL;hbOz$WSTPU+cVTyzwh> z9)VVHT{ysI?DP&F6J_O$h#C2=4VTQ)zicvdP)?memY@&quR zu3PGqM}KiGEB!X*lfrl?5LEVrDE6rGQwLKERAEZ;w<6*UwDl(7#v4C}6ZH-QMR=hn zfRA6jNhQIfKijqngJ~VjUQDQt@HiZ0STIzTdKhsz!Fwy>WuDLVMQ<@@;;OH^8gKkO z?!PfUsr5}g0rud(>#s>q0K9pOn&2+aI9Bs`WLL7vqGio2ks21w?!i9Wqw&W760h$Q z6e|kj0wcgiEVeuQrj`#F0l=5u9+YQ=9ub3T9S^0otyliteI01+HzlkOO?l7FW8-gv z%V$&@zuyPGe=VzLaVQ4Qu&shrjAG|&_pPg$IU|t@eGl*9$_pvZiRE*{E^P!O`yQzA z#uGe+9Y~$`tPx;i?R3X`O76@QU7xZ*Pt8>Z41cUgr;#EbuCT?9J@7 zUu^vLIICCGW5$c+KGgxNr@)pKuCB2b7zZoEi=e61n@hPIR=y3)lOto!%Uk7MtZ8`O zC=tw=pvD_danF*&@-h)U*Aw9AkMe)E-#?|Tk^vR&&qr<)QWa&xNuuq36+90U9^}_N z)}ieGC*Rg(8*e(5E)%Ej{D!D+h>}9;Jaf z6D^n<`r_R7_XfkUEGf&`F&b|?!Tshe2q(PG6Tov&ZX38Y4?Zu-N*N=1P6Ra8;Y}>@ z_ZQYC@i%~-R{ogFm_s&3S1txijW=#^G{G$($g-yW{Z@YiZNafm_6IOVfKj#}*5OLn z$zc2J9FhE!$Lsj)*YcDN(`QtMWmKJjt5LUJxED0uxWR4YD&427RqH(}um0gR`zFiqP>nc>U($THN^@v>Wl-!sl8ai_}Ic2U6*OR@g+Xi&oPUv zRB_B7`d>W(_RV!=i~yd;24(#r083;p8-|*5v3TK;xv~y}hb~znq}O|uH-1OFgl@C( zYh;$wZno8Xzi~SMFRVrYzGh^gevx6L#1gK_hv3hjB4?M|iTO;BjTTTsQiFot#Oldv zym8`VZ3OT<%hRqf0&Jdx`i>u?t;Rk9!OKcyN2NX)MFS`ZmGV)wT9}AOq-XeS1DiVT zG`>4-LSmdVfF8uzU*QRG^naw!8u$h}G^4E6Br?HKW^v$Cl=?X$PYbKWnOGQfkT+ja z`vEG+1~)5x-1xqDVE)R}0qYKxSD)}MYr{J<+G@4*P#cs{-bg%ARX!C2%kyF`#V-S` zl~}6gC`uztAj})vc;kqg!ZD->$_mQuQ61p})U`1m?~2eVh~?|cGOBI$ z&S#)#*+(&W?zc)p66*x^1)g_4Q;T=H7i0fSJuKB0lou4$Of`Iu<1()RjTp=`@fYC~ zQf3lA_&@hsPOH1MqpoeZnVfC4L`ABovobKt+dK&#kayFt&mC)UA9f zO#JkC^IDVosIS99XGhMYH+6NXomG|xX{)1T@*DfSLB3V<5>tUAYOx3TS;$#3p7#~< zrwGFXJe}JJ1Yf|NgWDO()!8S0T0B-bwJn}ySwEFnV_H3f|I^yu&t5@oRZbV=a-HA1 zTU3E%Mo_H6X-ci|DbF9qa4SZ-Q?ybBT5?W&Oq}7<{WR%dXzRM7D@v`hRD^E`BsC7sGen!>{c@CD48}d?Gui(8UQ)h`~P!7 zS@&5o?!-@qyB)s5d$|+HnyrnhZMDiUo&Y23m}`5#3|3U?2rH^UB@+<TQCPT z%GyP+pg#$b!mKj>^%OoBU#vvxHERF(C_eygu%+Rs%$N2Xd83hKxQ zwI*vE4j25Vn^_}cEHB4DCJOf1O;v1F>`ny;Rg%QJ>FecOm8Rcw7pm?Uv5U|7*-CFugiXh!Z~(E}x;D z_NIO^E5R9jKepAqe%AJ2zg2k`D{T2}=yoGC8{KEAVkj>;0egP1KTWaE5+7Su$4vY@ zc+0Fw0XK7W>FcYt(YE^h>Huro0mD7s`mi?iy4tD`B~_7_w_+C&9*|F^yO07auy|Cg zt1^a{qA@%qC;nQTUM1=oVnxGiZ#b}xw$-6l&)v@stOK>dw(3PT3PcTpuqzyEEwYN; zs)GDkc^wP+3f+mz11b!=VTeiL$Pl$&`4+v@VK+UnW{;kXUwso3jl z$=(_PxI_^_1-c_g_#7$45^O;-wC(vlqroC8X1o;%+j^?;*86+n2gU2!E?=&hcd>Rn>$zyJ zw$)=;0}@XFXBZNCkT@=dQnGRZJSe^|=;aRiAjGNlUpt^wsfCy+21p}Zx+ z$GNtcI@&x7A=DWrekh!84oISOZb?PHCj0Sn0(|Ge1vNBS9hAA(x>7GF=lok^} zuo-m(VOQG?-ic);3Cmy(>Jxt^o@C7Q6e_p^iubs>_61Q{U3QuiU~MlrIvC(R60irh zRYPXLg}t!9d)3s03wU1u@d!__G&pb=_m;d|AuplC72)V7pot#^H}scBVYf`2=H8AsC?{;Jh6gZ8?;rt?=eP0{=M_JRK>2?Iit4$5F~qf0~ehOo$@0<$gUAKLTE*I0^=11~i;TTGuMpKYp|75B(FZ4xwj`a@KHHZd>(^a_9z2 zYFWUqxFg?bb%~UcJBNAIk~(fCoKIsdS||QUoFcmzQ{qM?!{2h5)b-QUH|XbreU6 zUG81h-nZ}H^r!oLZIvXn=QmA{{3%>G03w%b4}eUTzXm1!QFxxxV7TQ9Y&2gwO= z&Kj=9wu&^WL0VM|jQEGR%Uz;0`;_n>V6y;)-dq&U)A=$OI2nQJYoz#b2)GkR&!wu0ru$F%HX7m zXCYLDoLNlYl4PDg)ueoJ3Ayvi0R1)K#P^DuyAHQj_^-q#w>M5*r33g6ZFLYX8tv>` zJQ`>Ou;TY`Pd%dk4F-%_Eqc9bLQ2+f*d!PdIba*Gk2sx=^{)x)saIPbM4txlP81gT`Y)cz)Ib!`K1 z(}r`tsOIb1sIBr3^}ezUa1Ggoje4O|&MFJ~Ij!!h9yQK0CR2Z|@@AXS-^X5sYHPkU z6&_8)KHHk}{ryx3BhiA1H#S@WXXTiC2hDbpRzJ58@TmFwsQmecOsnHnUR~Q@w$mqB zhn==sF78RV0I9Oz>!Y-|1v5lv=a>yjXm=oA7c984snJexx0c@oxUhG*ygkq{GN#o5 z*l7<8`v11o<=0>8(mY<9;$s!K(PKevb?4PK)zB7UyNbhWMqyFE|<27RdZ}it06Dd-T_$e{X7Bw z{3&#~e7R5&t34nX*03Rl=Fe{&?ZE|S&oxnKxI9<0gPT>_)fayw{-^0)-W>mvoioa9 z5C($iPb)rinB4zvbyTZ;&eKR(Ey5%_v4XJ2D?`n&3{Ee^pTp+#G;`8Cx_|5Hrrxi$ zZnc%AVzn~265#fbRo+)E8qCN%`U86OWV5)X_uhadxY6DMG&{E!E?M99yz%_ zZR(^FhO-raRlX;9wpKZ{a%4`AG>@9Bwhw|a+*;o1`kz(~Tes?Lb=&Q&j_Qcc6RChA znj;$L6h|VKWAV#0iZ5$Mw}DjYX&5fs1q??h{*rvLBAtpIXF_=9*VVCNw%W@7z2#qS zMZmnb+FgLbTOBRIC#zDs@(MU7?AJOGWkhaBlz>ag#E}>3q+}c^2ujoOt%eRB5-W7j z>GX8i#x4Gmd~xKT>R}6Q+9d_;zTV)i`Vb~$^^H8w!!uoHtNp>k-s;qXWNVvY70z4} z**7a$HnALyBX_GVmHw>;3?U!YlUy6V2H8~n_4tG=e&2<$b@Dn^CuqeoT?Z9BtGFPNUU51Ht~XCoyJ6% zz|DNNI!eZ(8DuMqjc9MS+CJF_4fklJf~Z0qtC_ueCAeUu1lCzluMNN)lmdyrJ z!tbxp12i=T{l+e@*W#bW=NGEL4zidp7&f!guDovdeY3_&fM3M|urr6;f4PVad}X!p z&+-d}!cLt3KLMUTA8(84EVoc7Tp7n@t9BYc{|ZDn3VD?C_>tB5Gj#$!3WdTxEb}X? zcb3(;GgY!$C|nzrt$wj@#w=1pK^%vmqOXw!{R9Vsuohw~*DQ*lorR@Xtg?vP1S^+o zmJ<{|fFjpfU9%Qfo2^7pAvXCAio$^wmi}kn|B}f)Ls%h=%-n90H<`RQZy>*$H_3Xo z>R5Gg88TZH;oWVHl2&7#=yl`Sss)vemS?LjF8{r>v(?#X^z<4Tuyx_Qp~3iVY}vo9 ztE16qZb_jR_2ppegAlIlZePBBGL>b8OiEvJY6`zm|od6`c7uBaWMjB6RaxDUM<*{ z^?P%ylB&Q?T^|&k&`@CD%%T^o_-=sJea(S?LD?&9FWHyX{A0EXq9U)?e_Uub zkz&g(5Bjm1+kYzkSjE?|>f$oAq*&#uUX!WuZLIC(F2@JE?^x^a;IP(z)5R>wfCNl% zymjHnZD<>_F02Ba^45aTI)E$7vfJbg@Fx2C=6B+1>+jS$C;_hvFhS7SZx)I6mDLfODUCDH9P9B z?qoBmz`{^Uv0Gn$f4PR^4|_P-m}MPBfYq7ZHZ*kIk4=Ed8HHuuf)iAKLL~+a1B24kR$*sctFapWEj?RxaTzdM)w}=p zT=S|o^8~BZv(>C)XQR0u^CZnutftv&9zd?u1k98Td3NHi-1bmQ$_bcVI#gBrkrlWG zo7mY>&?CEei8SJOvAw?=M?yDZ#Sv){8{OHefzL6&ZBOjpxGYoY%~o~Cpczd^wrWSI zE7WmEw2fjgVT2p z$tcAbmhSr}ZoX%xXmN8KtLPUk!#$+9(~5@LYds<@IDA_y(g>flwwm;0UFK9eYpd;` ziayC!`>~2a$~ZxbRSiReRmt^@Yi+DTj`l^pUQTzPk0-@()k&&E7a%}Qkx26X>#)DF0+{=LysDB0&8jwv z)aDcPUs?TO?+#KE2BH8AhoXa1GJfwQ_=+JCCboz>Mcev~${nl@-gR{wf{WEC*9^lG)ZUZZejQ(s{{gqD{ThWg<;tRv(M+B%0mn#+&S#-OmNU z@sy=(85YH-BnjJv9A1w^z1%*Dsb2?%(~X=;ue7X{G>KWg9Ehsd>x0k-S;ZGSXOG)95JX|xV3@EMkUD~! zbQW|3H-RH}K7k5#>LMV3Q;IhbA|Rbu7*L87hE%B21qAy9L3&>zZ-)=uWr&qlfOHBRg=3$s8GNMwc8WpMPa#fHj zXr)@M-Bhi|ySTZ(E4O30gPwFC8@6XwE>s%`7 zigU{Ouk&Qm9`|N)NmVLU;{p-o$A{Hc6t#9zmAfr2R@a@eAFCtzOxm9($ODXQl-xVp z;PirqnMoOv5IC5mWof|KG0}h#8n}TdNn;Fp(MFt!EsaoGqoB2NYc8F;ZO1*GmU9nw z8mHW`!XqZG4->0zKd@=*T4*@jhtNWc3kv#-7||M<9i?u;$+&_!^V$g4D1PBBFWqhm8d1GLI+l7@~* zJQ@}Fu|}b5mB6w>KI`5(Wjoku5va1L4->2B_iVE6OaPZ!E`TYEry093pi-%t*QL3y zaj55335D%g$hr`z>S7fyr;snTmq~zzglwAHB*41!aQEE#x%%S6YH5J^MR`e;_0Yv? z*^Ry`_h^elfgfuWvQ{ch6AxBPr)&p1?OOS;>P@YdYrEc{(JMpuNgHcByV89tmFh&Q z-pmFy;k!A5xK34WSutAmb2ZDV-+`Z)H~jY-=LNlz1h_2?AaWl#F(WjnU=>5GS@h6| z_@U8Wn$LY$rBjR5!_I|4rGbNvgiwzdX`^ zwW3m~REkyA?{>`~Icgw=qJa%8%`CdGtH{nLV8J~&1UKL$oGnZ4!td`lEp-VOlYs?` z`5sGZwcHNL%tLACp@$y&fAzrXLk~Ul&;zRvJ@n8+|F52&KR$O2_j^5uQH`Q*9ON^r zj-!SJ@=Tdy$>U;DdWV_4{Me0iD!qBN4?4cS0jzIs7?qv@c?_d(m`LkH*jcFpha^^R^jcpek28LDO{*15=Sxr$Llf6_J$7)@(!dUajwmHFrLE!ws%%O;mk>t{E{>Y!I}4tB=ijI&ii z!x*L&ZUZo;Koys@#)o6+raKF^0zr)eig2}Swq8&GB|$dmi(}R205=MPN<>}Y7G%I2 z8AbPEmCNLUctKjGIN&WMM??X5WR7*5Mn~xXFfua@$@=f_dDbh?ge^CUqe zXSM=c_-MlwQCcAjL7}bH2uRz+U@M%3WVkX-NfkiEZ@@M(e^8-v+w8E;CI;S1&YG#? zrIZC$pTVYm=_`wvBEsbi221v=rOouLt8=C{!y#=3p9O4?6kR)@)LZgdQ8nOHXhSSP zXq|(z7L(mjIp7eySp#h=2nA~}HO;%82}#jwu?n`M5l&<71lpPB)=?1*riPh=p-ds@ zM@2;8Nk%x6l->`mhkUR3LMNcD9E3$I$vx>%ZRv>-l$1xjcL*E?RaZOw@#f$QZ^ywc z+hu7wpw@2W?IxzYqUJCfS{zwW9PnjGR2WM{aEB^SF9dLpnP^>6+jO1-t)26(hNxv` zI<(+*zEFu;VILm2gg-=`n_`k{6bvYPiLBlZBTo3Cd*26Qj|w;(^_L z-D<38&q?n|S|S`K@_6Z%t&7ka1a!0R-N zjbC!WERNVS7C(QqU5VZNw&_G2+HLu*eg~RP0mvh@%j^xj23?iJ+aT8v`NWapb*c+( zEBHiorsQM!oS)Qg?>jdP^CVDBw8&yh>23Ee7vkFy!#yxtfrz`8xFpumtu`Nl)#h$> zY6uJQu!xGBf~!Pl5U#+kxA9R}o7;>dju7yH*2QP1EBv!@Lo|9;M<%c5aTo^%DK?Fx z1NLPM3|6fVuCFlVh4CoP03Wr`;nm&hpBm!PN|TPwP&`wFz}X?TjHT!l18FNSw0b~N zk|F6_5p;C4dfD0#`^F?m^OMz!gYECGZh4a^l$qW*N|0GIUHfI5FWq$Tr6?FO7va(l zI^m_WqgCDIVQ*?_xoVhQ`9w?~wPnTO>u>c@c?nh~Tr!a_`~a<-COp|u#UfTM94&*K z-TqY4##B4s1ZcG(_8FO0NP14i`&Ac!s^@zLBk?0sNEwFt!1P z0;k4iZj5$EQzI+OGpMu&fKwhX@dyMvnj*IL%&T~I0-S`rve9|k$jaT-t+E`-JEs4v zk&XW=Y%TxmMmV*v5fQ^jzHd`Q>(RjJAx5^OgRixb1>q?F{E4I(=%N)4H!^3197iWuXc&3>=%{E_!6ALk)nDD>Wu3rFj?G_75q9@IqWy$k zVN#nKV+tJ%-LbbiFF1pGAQR`vS#FQTbHDP*Qj_DA=Rv!%b&zUG5PV%M7v%9KePf*)^fKS6SND6Unt}QADB~Eb>qMi&E zkvJ9TG-pymVnH-B6l;&1qA#_zM^RT{dA~N;dUJWb{_w!f8OxaUG3oQu)Aw!r)~)pE z{nOL89(;fQ>GoE(<*3<=(bxo#P9G?hfI)Cq(O*61FUb-ynRist3Ih2=z)Bgo7r*(_ zDLL4kjv78nbS{!DjOGrh7lNlO8o$+}={Y~sQeZDo#?a~4WA$G?=U=9x7!%>6NzHdC znx6CfHwDYC{7qCSrZQ3alPm>0(9VC40G4Czv87WsPvd##>LFqyozvP@#MizwZraeU zV|vc7XivMQb~2+yb%q`l0#i_*^ApS=*MZ6^&)~yUYfyf$MHHWJ0}#As&vToi7Kv>H z^N<{FQkzT2lv3jmZ*!)vKem^5Utiw5yuA6U;mgnM>zkL$_VQL(t-732bs3#%Yt1QS ato{P}fH#p6H`D|G0000~Cv diff --git a/vendor/DPP/docpages/images/vsproj_3.png b/vendor/DPP/docpages/images/vsproj_3.png deleted file mode 100644 index eaeb1d5b2ce818dd2657e0d518884d64bd461ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44431 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 XhU4>7fC`TX00000NkvXXu0mjfLE8-f diff --git a/vendor/DPP/docpages/images/vsproj_4.png b/vendor/DPP/docpages/images/vsproj_4.png deleted file mode 100644 index 9888d29e224581ed191608cb680da639d41b575e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33183 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 Ol^>|zFP67>`TqeyVWSZM diff --git a/vendor/DPP/docpages/images/vsproj_5.png b/vendor/DPP/docpages/images/vsproj_5.png deleted file mode 100644 index 6a4db9ab9a6d1ea948ffab3126497123e6a079cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41670 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 diff --git a/vendor/DPP/docpages/images/vsproj_6.png b/vendor/DPP/docpages/images/vsproj_6.png deleted file mode 100644 index da793836013f0c085b0778b232f61517be085eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15259 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 an|uGs+Iua5SNH(*qoSZ8U-b$a{=WbNHxTLo diff --git a/vendor/DPP/docpages/images/vsproj_7.png b/vendor/DPP/docpages/images/vsproj_7.png deleted file mode 100644 index 66c08b89e291f1a96653a8ed091e9b47bd2d7223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7320 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 diff --git a/vendor/DPP/docpages/images/winbuild_0.png b/vendor/DPP/docpages/images/winbuild_0.png deleted file mode 100644 index a3e55ce39dc10405afcaa3550648abdb680fb09f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9895 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 L)GE=iefvKEnMS^K diff --git a/vendor/DPP/docpages/images/winbuild_1.png b/vendor/DPP/docpages/images/winbuild_1.png deleted file mode 100644 index 7180f4257b7ecb0d24461b9bcf1ebf3b7906f3cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16225 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 MvX)Zy%lD!G2Lwd=?EnA( diff --git a/vendor/DPP/docpages/images/winbuild_2.png b/vendor/DPP/docpages/images/winbuild_2.png deleted file mode 100644 index dced2c3af854352a656e62f9da25420ef8b37ff3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17399 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 MboFyt=akR{0E`#xZvX%Q diff --git a/vendor/DPP/docpages/images/winbuild_3.png b/vendor/DPP/docpages/images/winbuild_3.png deleted file mode 100644 index c10d716f1c93bbe1b23105b3a7171507f3639747..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5507 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 diff --git a/vendor/DPP/docpages/images/winbuild_4.png b/vendor/DPP/docpages/images/winbuild_4.png deleted file mode 100644 index b66bfe8173c5001696a3b0bc8950ab305e962488..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11573 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 diff --git a/vendor/DPP/docpages/images/zip_vsproj_1.png b/vendor/DPP/docpages/images/zip_vsproj_1.png deleted file mode 100644 index f19a17afefb1dfbc37fba54675144216252c632c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42849 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 Wt15Oq|HA_Spe(N;SMwGU{C@xx+COvv diff --git a/vendor/DPP/docpages/images/zip_vsproj_11.png b/vendor/DPP/docpages/images/zip_vsproj_11.png deleted file mode 100644 index 8c513c51f9f27abe020586c915fa50f090a35286..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15019 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 Kvy!%^>O2vP7asE+{Oa0od2 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 diff --git a/vendor/DPP/docpages/images/zip_vsproj_13.png b/vendor/DPP/docpages/images/zip_vsproj_13.png deleted file mode 100644 index 54d9682fdc5e10e4033fea1e8cfce2635c3690d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14190 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 YSNiz9--akQ{O`Wj)iTtqQMZ5bZ=EdXcK`qY diff --git a/vendor/DPP/docpages/images/zip_vsproj_2.png b/vendor/DPP/docpages/images/zip_vsproj_2.png deleted file mode 100644 index aac4372846de863e7aef2826f65cb5387050227f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46103 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 diff --git a/vendor/DPP/docpages/images/zip_vsproj_3.png b/vendor/DPP/docpages/images/zip_vsproj_3.png deleted file mode 100644 index ffc73f0d989cf8b133c32201006728a458cf0bbb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26049 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 Ol^>|zFP67>`TqeyVWSZM diff --git a/vendor/DPP/docpages/images/zip_vsproj_5.png b/vendor/DPP/docpages/images/zip_vsproj_5.png deleted file mode 100644 index 6a4db9ab9a6d1ea948ffab3126497123e6a079cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41670 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 diff --git a/vendor/DPP/docpages/images/zip_vsproj_6.png b/vendor/DPP/docpages/images/zip_vsproj_6.png deleted file mode 100644 index da793836013f0c085b0778b232f61517be085eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15259 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 an|uGs+Iua5SNH(*qoSZ8U-b$a{=WbNHxTLo diff --git a/vendor/DPP/docpages/images/zip_vsproj_7.png b/vendor/DPP/docpages/images/zip_vsproj_7.png deleted file mode 100644 index 66c08b89e291f1a96653a8ed091e9b47bd2d7223..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7320 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 diff --git a/vendor/DPP/docpages/install/install-arch-aur.md b/vendor/DPP/docpages/install/install-arch-aur.md deleted file mode 100644 index 8450dc8a..00000000 --- a/vendor/DPP/docpages/install/install-arch-aur.md +++ /dev/null @@ -1,28 +0,0 @@ -\page install-arch-aur Installing from AUR (Arch Linux) - -To install [D++ from AUR](https://aur.archlinux.org/packages/dpp), follow the steps below (as root): - -``` -git clone https://aur.archlinux.org/dpp.git -cd dpp -makepkg -si -``` - -or use your favorite package manager: - -```sh -# example with `yay` (without root) -yay -Sy dpp -``` - -This will do the following three things: - -- Clone the D++ AUR repository to a directory called `dpp` -- Change into the directory `dpp` -- Make a pacman package from the AUR repository for D++, and install it - -You will now be able to use D++ by including its library on the command line: - -``` -g++ mybot.cpp -o mybot -ldpp -``` diff --git a/vendor/DPP/docpages/install/install-linux-deb.md b/vendor/DPP/docpages/install/install-linux-deb.md deleted file mode 100644 index d0ddb79a..00000000 --- a/vendor/DPP/docpages/install/install-linux-deb.md +++ /dev/null @@ -1,21 +0,0 @@ -\page install-linux-deb Installing from a .deb file (Debian, Ubuntu, Derivatives) - -To install D++ on a system from .deb using dpkg (as root): - -``` -apt install wget -wget -O dpp.deb https://dl.dpp.dev/ -dpkg -i dpp.deb -``` - -This will do the following three things: - -- Install `wget` -- Use `wget` to download the latest release of D++ to `dpp.deb` -- Install `dpp.deb` to /usr - -You will now be able to use D++ by including its library on the command line: - -``` -g++ mybot.cpp -o mybot -ldpp -``` \ No newline at end of file diff --git a/vendor/DPP/docpages/install/install-linux-rpm.md b/vendor/DPP/docpages/install/install-linux-rpm.md deleted file mode 100644 index e42e40e2..00000000 --- a/vendor/DPP/docpages/install/install-linux-rpm.md +++ /dev/null @@ -1,21 +0,0 @@ -\page install-linux-rpm Installing from a .rpm file (RedHat, CentOS and derivatives) - -To install D++ on a system from .rpm using `yum` (as root): - -``` -yum install wget -wget -O dpp.rpm https://dl.dpp.dev/latest/linux-x64/rpm -yum localinstall dpp.rpm -``` - -This will do the following three things: - -- Install `wget` -- Use `wget` to download the latest release of D++ to `dpp.rpm` -- Install `dpp.rpm` to /usr - -You will now be able to use D++ by including its library on the command line: - -``` -g++ mybot.cpp -o mybot -ldpp -``` \ No newline at end of file diff --git a/vendor/DPP/docpages/install/install-vcpkg.md b/vendor/DPP/docpages/install/install-vcpkg.md deleted file mode 100644 index 2faf3347..00000000 --- a/vendor/DPP/docpages/install/install-vcpkg.md +++ /dev/null @@ -1,19 +0,0 @@ -\page install-vcpkg Installing from VCPKG (Windows, Linux, OSX) - -To install D++ on a system from VCPKG: - -- Ensure VCPKG is correctly installed, and run `vcpkg integrate install` to integrate it with your preferred IDE. This has been reported to work with Visual Studio, vscode, and JetBrains CLion. -- From a command line, type `vcpkg install dpp:x64-windows` (replace `x64-windows` with whichever OS and architecture you want the library to be built for) -\image html vcpkg.png -- VCPKG will install the library and dependencies for you! Once completed you will receive a message indicating success: - -- Use `vcpkg list dpp` to check that the package is installed: -``` -c:\vcpkg>vcpkg list dpp -dpp:x64-windows 10.0.15 D++ Extremely Lightweight C++ Discord Library. -``` -- You may now use the library within a `cmake` based project by adding instructions such as these to your `CmakeLists.txt`: -```cmake - find_package(dpp CONFIG REQUIRED) - target_link_libraries(your_target_name PRIVATE dpp::dpp) -``` diff --git a/vendor/DPP/docpages/install/install-windows-zip.md b/vendor/DPP/docpages/install/install-windows-zip.md deleted file mode 100644 index ad36a3ec..00000000 --- a/vendor/DPP/docpages/install/install-windows-zip.md +++ /dev/null @@ -1,44 +0,0 @@ -\page install-windows-zip Installing from zip (Windows) - -To add D++ to a Visual Studio project, using **Visual Studio 2019** or **Visual Studio 2022**, follow the steps below. The steps below assume an empty project, if you are adding to an existing project simply skip steps 1 through 4, and step 13. - -\note It is possible to skip this entire tutorial, and obtain a [pre-made visual studio template containing the latest D++ build (for 32 and 64 bit, release and debug profiles) by clicking here](https://github.com/brainboxdotcc/windows-bot-template/). - -1. Make sure you have Visual Studio 2019 or 2022. Community, Professional or Enterprise work fine. These instructions are not for Visual Studio Code. You can [download the correct version here](https://visualstudio.microsoft.com/downloads/). Note that older versions of Visual Studio will not work as they do not support enough of the C++17 standard. -2. Start visual studio and choose to create a new project - \image html zip_vsproj_1.png -3. Choose the project type "Console Project" and click next - \image html zip_vsproj_2.png -4. Name your bot project. In this example i just chose the name 'MyBot'. You can have any name you like here. - \image html zip_vsproj_3.png -5. Open the zip file you downloaded which contains the D++ dlls, include files and lib file. Drag and drop this to your local machine and make note of where you placed it. This location will be important in later steps. - \image html zip_vsproj_4.png -6. Back inside visual studio, right click on the project (not solution!) in the tree in your visual studio window. choose 'Properties'. - \image html zip_vsproj_5.png -7. The next step is to populate the include directories and library directories sections with the paths to the D++ library and include files. The next steps will guide you through how to do this. - \image html zip_vsproj_6.png -8. Click 'edit' when prompted to edit the include paths section. Add the path to the include folder you extracted to your machine, which we took note of earlier. Note that it is important to add the dpp-10.0 folder, not any other folder, to this list: - \image html zip_vsproj_7.png -9. Going back to the previous window, now edit the library paths. Again click 'edit' when prompted to edit the library paths section. Add the path to the library folder you extracted to your machine, which we took note of earlier. Note that once more it is important to add the dpp-9.0 folder within it, not any other folder, to this list. Also be aware this is a **different folder** than the one you just added for includes! - \image html zip_vsproj_8.png -10. Double check at this point that all the directories are filled in correctly. They should look generally like the ones in the screenshot below: - \image html zip_vsproj_9.png -11. Go to the general section in the same window now, and look for the drop down list laballed "C++ Language Standard". Make sure the selected option is **C++17 Standard (/std:c++17)** - \image html zip_vsproj_10.png -12. Again within the same window, go to the input section, under the linker category, and add '**dpp.lib;**' to the start of the libraries to include, as shown below: - \image html zip_vsproj_11.png -13. Now you can paste some code into the editor, completely replacing the 'hello world' application that visual studio made for you. The example code here is the basic bot from the first example on this site. You should at this point also double check that the architecture you have selected (in this case x86) matches the version of the dll/lib files you downloaded from the website. This is **important** as if you mismatch them the compilation will just fail. - \image html zip_vsproj_12.png -14. Go to the build menu and choose Build Solution (A handy shortcut for this is to just press **F7**): - \image html zip_vsproj_13.png -15. Observe the build output. There may be warnings, but so long as the build output ends with "1 succeeded" then the process has worked. You may now run your bot! - \image html zip_vsproj_14.png - -## Troubleshooting - -- If you get an error that a dll is missing (e.g. `dpp.dll` or `opus.dll`) when starting your bot, then simply copy all dlls from the **bin** directory of where you extracted the DPP zip file to, into the same directory where your bot's executable is. You only need to do this once. There should be several of these dll files: `dpp.dll`, `zlib.dll`, `openssl.dll` and `libcrypto.dll` (or similarly named SSL related files), `libsodium.dll` and `opus.dll`. -- Please note that if you change the architecture (step 13) you must reconfigure all of steps 7 through 12 again as these configurations are specific to each architecture. This is to allow for different sets of precompiled libs, e.g. for `x86`, `x64`, etc. -- You should run your bot from a command prompt. If you do not, and it exits, you will not be able to see any output as the window will immediately close. -- If you need to update the `opus.dll` or `zlib.dll` (or any other prebuilt dll) these can be obtained by requesting them to be installed via `vcpkg` then copying the dlls, libraries and headers from the vcpkg `install` folder. -- Stuck? You can find us on the [official discord server](https://discord.gg/dpp) - ask away! We don't bite! - diff --git a/vendor/DPP/docpages/install/install-xmake.md b/vendor/DPP/docpages/install/install-xmake.md deleted file mode 100644 index d46091cc..00000000 --- a/vendor/DPP/docpages/install/install-xmake.md +++ /dev/null @@ -1,21 +0,0 @@ -\page install-xmake Installing from xmake - -To install D++ on a project from XMake: - -- Ensure XMake [is correctly installed](https://xmake.io/#/guide/installation) -- Create a new xmake project if you haven't already one, using `xmake init ` -- Update the `xmake.lua` file by adding the `dpp` package, below the minimum configuration: - -~~~~~~~~~~~{.cmake} -add_rules("mode.debug", "mode.release") - -add_requires("dpp") - -target("test-bot") - set_kind("binary") - add_files("src/*.cpp") - - add_packages("dpp") -~~~~~~~~~~~ - -- Finally, run `xmake build` to download dependencies and build the project \ No newline at end of file diff --git a/vendor/DPP/docpages/make_a_bot/clion.md b/vendor/DPP/docpages/make_a_bot/clion.md deleted file mode 100644 index 3d5ceead..00000000 --- a/vendor/DPP/docpages/make_a_bot/clion.md +++ /dev/null @@ -1,115 +0,0 @@ -\page build-a-discord-bot-linux-clion Building a discord bot in Linux using CLion - -This tutorial teaches you how to create a _working skeleton project you can build upon_, using the JetBrains-IDE **[CLion](https://www.jetbrains.com/clion/)**. - -\note This tutorial will use **Ubuntu**! You might use other Distros if you prefer, but keep in mind the setup process might be different! - -Make sure you have CLion installed and works fine (run a _hello-world program_). You can [download CLion here](https://www.jetbrains.com/de-de/clion/download/). - -## Setup a project - -Create a new project. Select C++17 as the Language standard, or C++20 if you want something more recent. - -We'll use the following file structure as a _skeleton project you can build upon_: - - - your_project/ - |-- libs/ - |-- src/ - |-- main.cpp - |-- CMakeLists.txt - - -Create the directories in your project and move the by CLion generated _hello-world main.cpp_ in the `src/` directory. - -In the `libs/` directory, clone D++ with: `git clone https://github.com/brainboxdotcc/DPP.git`. You can also clone [spdlog](https://github.com/gabime/spdlog) into it if you need a logger. - -Your project directory should look like this: - -\image html build-clion-project-structure.png - -### Configure CMake file - -Paste this CMake configuration in the `CMakeLists.txt` and adapt it according to your needs: - -~~~~~~~~~~~~~~{.cmake} -# minimum CMake version required -cmake_minimum_required(VERSION 3.15) -# Project name, version and description -project(discord-bot VERSION 1.0 DESCRIPTION "A discord bot") - -# Add DPP as dependency -add_subdirectory(libs/DPP) -add_subdirectory(libs/spdlog) # if you need a logger. Don't forget to clone sources - # in the `libs/` directory - -# Create an executable -add_executable(${PROJECT_NAME} - src/main.cpp - # your others files... -) - -# Linking libraries -target_link_libraries(${PROJECT_NAME} - dpp - spdlog # Like before, if you need spdlog -) - -# Specify includes -target_include_directories(${PROJECT_NAME} PRIVATE - libs/DPP/include - libs/spdlog/include # Like before, if you need spdlog -) - -# Set C++ version -set_target_properties(${PROJECT_NAME} PROPERTIES - CXX_STANDARD 17 # or 20 if you want something more recent - CXX_STANDARD_REQUIRED ON -) -~~~~~~~~~~~~~~ - -Then open the "File" menu and click on "Reload CMake Project" to reload the CMake configuration. - -\image html build-clion-reload-cmake-project.png - -### Add an example program - -The next step is to write the bot. Copy and paste the following [example program](https://dpp.dev/firstbot.html) in the `main.cpp` and set your bot token (see [Creating a Bot Token](https://dpp.dev/creating-a-bot-application.html)): - - -~~~~~~~~~~~~~~~{.cpp} -#include - -const std::string BOT_TOKEN = "add your token here"; - -int main() { - dpp::cluster bot(BOT_TOKEN); - - bot.on_log(dpp::utility::cout_logger()); - - bot.on_slashcommand([](const dpp::slashcommand_t& event) { - if (event.command.get_command_name() == "ping") { - event.reply("Pong!"); - } - }); - - bot.on_ready([&bot](const dpp::ready_t& event) { - if (dpp::run_once()) { - bot.global_command_create( - dpp::slashcommand("ping", "Ping pong!", bot.me.id) - ); - } - }); - - bot.start(dpp::st_wait); -} -~~~~~~~~~~~~~~~ - - -Hit the green "Run" button in the top-right to run the bot. - -**Congratulations, you've successfully set up a bot!** - -## Troubleshooting - -- Stuck? You can find us on the [official discord server](https://discord.gg/dpp) - ask away! We don't bite! - diff --git a/vendor/DPP/docpages/make_a_bot/cmake.md b/vendor/DPP/docpages/make_a_bot/cmake.md deleted file mode 100644 index 127fd448..00000000 --- a/vendor/DPP/docpages/make_a_bot/cmake.md +++ /dev/null @@ -1,74 +0,0 @@ -\page buildcmake Building a Discord Bot using CMake/UNIX - -## 1. Toolchain -Before compiling, you will need to install `cmake` on your system. -To be sure that `cmake` is installed, you can type the following command: - - $ cmake --version - cmake version 3.20.4 - - -## 2. Create a CMake project - -In an empty directory, create the following files and directories: - - - your_project/ - |-- libs/ - |-- src/ - |-- main.cpp - |-- CMakeLists.txt - - -In the `libs/` directory, clone D++ with: `git clone https://github.com/brainboxdotcc/DPP.git` - -## 3. Configure CMake - -Here is an example CMake configuration, adapt it according to your needs: - -~~~~~~~~~~~~~~{.cmake} -# minimum CMake version required -cmake_minimum_required(VERSION 3.15) -# Project name, version and description -project(discord-bot VERSION 1.0 DESCRIPTION "A discord bot") - -# Add DPP as dependency -add_subdirectory(libs/DPP) -# You can also add any other libs you want to use - -# Create an executable -add_executable(${PROJECT_NAME} - src/main.cpp - # your other files... -) - -# Linking libraries -target_link_libraries(${PROJECT_NAME} - dpp - # Add any other libs you want to use here -) - -# Specify includes -target_include_directories(${PROJECT_NAME} PRIVATE - libs/DPP/include - # Remember to add the include directories of any other libraries too -) - -# Set C++ version -set_target_properties(${PROJECT_NAME} PROPERTIES - CXX_STANDARD 17 - CXX_STANDARD_REQUIRED ON -) -~~~~~~~~~~~~~~ - -Your project directory should look like this: - - - your_project/ - |-- libs/ - |-- DPP - |-- src/ - |-- main.cpp - |-- CMakeLists.txt - - -**Have fun!** - diff --git a/vendor/DPP/docpages/make_a_bot/meson.md b/vendor/DPP/docpages/make_a_bot/meson.md deleted file mode 100644 index ff4a7d85..00000000 --- a/vendor/DPP/docpages/make_a_bot/meson.md +++ /dev/null @@ -1,57 +0,0 @@ -\page buildmeson Build a Discord Bot using Meson - -## 1. Toolchain - -Before compiling, you will need to install `meson` on your system. -To be sure that `meson` is installed, you can type the following command: - - $ meson --version - 0.63.2 - -## 2. Create a Meson project - -In an empty directory. - - - your project/ - -run the command - - $ meson init -l cpp - -## 3. Configuring your Meson project - -add the following line after the project() line in your meson.build file. - - dpp = dependency('dpp') - -add the following line in the executable section of your meson.build file. - - dependencies: [dpp] - -change the cpp_std value in the project() to c++17 - -your meson.build should look like this. -~~~~~~~~~~~~~~ -project('discord-bot', 'cpp', - version : '0.1', - default_options : ['warning_level=3', - 'cpp_std=c++14']) - -dpp = dependency('dpp') - - -exe = executable('discord', 'discord_bot.cpp', - install : true, dependencies: [dpp]) - -test('basic', exe) - -~~~~~~~~~~~~~~ - -Meson automatically generates a cpp for your project. And a test suite. - -## 4. Building - -To build a meson project run - - $ meson setup builddir - $ meson compile -C builddir \ No newline at end of file diff --git a/vendor/DPP/docpages/make_a_bot/replit.md b/vendor/DPP/docpages/make_a_bot/replit.md deleted file mode 100644 index ae51a86b..00000000 --- a/vendor/DPP/docpages/make_a_bot/replit.md +++ /dev/null @@ -1,42 +0,0 @@ -\page building-a-cpp-discord-bot-in-repl Creating a Discord bot in Repl.it - -@note There is a premade repl, ready for use which was built using the steps above. If you wish to use this repl simply [visit this github repository](https://github.com/alanlichen/dpp-on-repl) and click the "Run on Replit" button. Then, follow the steps in the README file. - -To build a D++ bot in a repl.it instance, follow these steps. These steps are slightly more convoluted than installing D++ into a standard container as we don't have access to root in the conventional way or write access to any files outside of our home directory in a repl. This guide sidesteps the issue by locally extracting a libdpp deb file installer, and referencing the local dependencies from the command-line. - -1. Use wget, or the upload button, to get the precompiled x64 release into your repl as a file, e.g. `wget -O libdpp.deb https://dl.dpp.dev/latest` -2. Extract this deb file using `dpkg`: -``` -dpkg -x libdpp.deb . -``` -3. Compile your bot, note that you should be sure to include the `pthread` library explicitly and reference the extracted dpp installation you just put into the repl: -``` -g++ -o bot main.cpp -ldpp -lpthread -L./usr/lib -I./usr/include -std=c++17 -``` -4. Run your bot! Note that you will need to set `LD_PRELOAD` to reference `libdpp.so` as it will be located in `$HOME` and not `/usr/lib`: -``` -LD_PRELOAD=./usr/lib/libdpp.so ./bot -``` - -Now that your bot is running, you have to keep it online. Replit automatically puts repls to sleep after some time, so you will need to ping a webserver. Unfortunately, Replit is sometimes limiting, and this is one of the only free workarounds to this issue. - -1. Start a http server. This can be through any webserver, but as a simple solution, use python's built in http.server: -``` -python3 -m http.server -``` -2. Create an index.html file with anything inside it for the server to serve. -3. Go to [uptimerobot.com](https://uptimerobot.com/) and create an account if you dont have one. -4. After verifying your account, click "Add New Monitor". -+ For Monitor Type, select "HTTP(s)" -+ In Friendly Name, put the name of your bot -+ For your url, copy the url of the new website that repl is serving for you -+ Select any alert contacts you want, then click "Create Monitor" -Here is an example of a possible uptimerobot configuration: - -\image html uptimerobot.png - -## Troubleshooting - -If the bot fails to start and instead you receive an error message about being banned from the Discord API, there is little to be done about this. These bans are temporary but because repl.it is a shared platform, you share an IP address with many thousands of bots, some abusive and some badly written. This will happen often and is outside of the control of yourself and us. However, you can try to migitate this by typing `kill 1` in the shell. This is not guaranteed to work, and you might need to try it a few times. If it still does not work, then we recommend instead you obtain some affordable non-free hosting instead. - -If your bot continues to fall asleep even though you have a server, we advise you to double check that no errors are happening, and if the server is being pinged. If that still does not work, we again recommend you to obtain some affordable non-free hosting. diff --git a/vendor/DPP/docpages/make_a_bot/token.md b/vendor/DPP/docpages/make_a_bot/token.md deleted file mode 100644 index 9f60f408..00000000 --- a/vendor/DPP/docpages/make_a_bot/token.md +++ /dev/null @@ -1,45 +0,0 @@ -\page creating-a-bot-application Creating a Bot Token - -Before you start coding, you need to create and register your bot in the Discord developer portal. You can then add this bot to your Discord-server. - -## Creating a new bot - -To create a new application, take the steps as follows: - -1. Sign in to the [Discord developer portal](https://discord.com/developers/applications) and click on "New Application" on the top right. -2. Next, enter a name for the application in the pop-up and press the "Create" button. -\image html create_application_confirm_popup.png -In this example we named it "D++ Test Bot". -3. Move on by click the "Bot" tab in the left-hand side of the screen. Now click the "Add Bot" button on the right and confirm that you want to add the bot to your application. - -\image html create_application_add_bot.png - -On the resulting screen, you’ll note a page with information regarding your new bot. You can edit your bot name, description, and avatar here if you want to. If you wish to read the message content from messages, you need to enable the message content intent in the "Privileged Gateway Intents" section. - -\image html create_application_bot_overview.png - -In this panel, you can get your bot token by clicking "Reset Token". A bot token looks like this: `OTAyOTMxODU1NTU1MzE3ODUw.YXlm0g.9oYCt-XHXVH_z9qAytzmVRzKWTg` - -\warning **Do not share this token** with anybody! If you ever somehow compromise your current bot token or see your bot in danger, you can regenerate the token in the panel. - -## Adding the bot to your server - -Once you've created your bot in the discord developer portal, you may wonder: -> Where is my bot now, I can't see him on my server?! - -That's because you've created a bot application, but it's not on any server right now. So, to invite the bot to your server, you must create an invitation URL. - -1. go again into the [Applications page](https://discord.com/developers/applications) and click on your bot. -2. Go to the "OAuth2" tab and click on the subpage "URL Generator". -\image html create_application_navigate_to_url_generator.png -3. Select the `bot` scope. If your bot uses slash commands, also select `applications.commands`. You can read more about scopes and which you need for your application [here](https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes). -4. Choose the permissions required for your bot to function in the "Bot Permissions" section. -5. Copy and paste the resulting URL in your browser. Choose a server to invite the bot to, and click "Authorize". - - -\note For bots with elevated permissions, Discord enforces two-factor authentication on the bot owner's account when added to servers that have server-wide 2FA enabled. - -## Troubleshooting - -- Stuck? You can find us on the [official discord server](https://discord.gg/dpp) - ask away! We don't bite! - diff --git a/vendor/DPP/docpages/make_a_bot/windows_vs.md b/vendor/DPP/docpages/make_a_bot/windows_vs.md deleted file mode 100644 index 535c8477..00000000 --- a/vendor/DPP/docpages/make_a_bot/windows_vs.md +++ /dev/null @@ -1,20 +0,0 @@ -\page build-a-discord-bot-windows-visual-studio Building a discord bot in Windows using Visual Studio - -To create a basic bot using **Visual Studio 2019** or **Visual Studio 2022**, follow the steps below to create a *working skeleton project you can build upon*. - -1. Make sure you have Visual Studio 2019 or 2022. Community, Professional or Enterprise work fine. These instructions are not for Visual Studio Code. You can [download the correct version here](https://visualstudio.microsoft.com/downloads/). Note that older versions of Visual Studio will not work as they do not support enough of the C++17 standard. -2. Clone the [template project](https://github.com/brainboxdotcc/windows-bot-template/). Be sure to clone the entire project and not just copy and paste the cpp file. -3. Double click on the MyBot.sln file in the folder you just cloned - \image html vsproj_1.png -4. Add your bot token (see \ref creating-a-bot-application) and guild ID to the example program - \image html vsproj_2.png -5. Click "Local windows debugger" to compile and run your bot! - \image html vsproj_3.png -6. Observe the build output. There may be warnings, but so long as the build output ends with "1 succeeded" then the process has worked. You may now run your bot! - \image html vsproj_14.png - -## Troubleshooting - -- If you get an error that a dll is missing (e.g. `dpp.dll` or `opus.dll`) when starting your bot, then simply copy all dlls from the **bin** directory of where you extracted the DPP zip file to, into the same directory where your bot's executable is. You only need to do this once. There should be several of these dll files: `dpp.dll`, `zlib.dll`, `openssl.dll` and `libcrypto.dll` (or similarly named SSL related files), `libsodium.dll` and `opus.dll`. Note the template project does this for you, so you should never encounter this issue. -- Stuck? You can find us on the [official discord server](https://discord.gg/dpp) - ask away! We don't bite! - diff --git a/vendor/DPP/docpages/make_a_bot/windows_wsl.md b/vendor/DPP/docpages/make_a_bot/windows_wsl.md deleted file mode 100644 index 1ae42e1e..00000000 --- a/vendor/DPP/docpages/make_a_bot/windows_wsl.md +++ /dev/null @@ -1,18 +0,0 @@ -\page build-a-discord-bot-windows-wsl Building a discord bot in Windows using WSL (Windows Subsystem for Linux) - -This tutorial teaches you how to create a lightweight environment for D++-development using **WSL** and **Visual Studio Code** - -This Tutorial will use WSL's default distribution, **Ubuntu**! You might use other Distros if you prefer, but keep in mind the setup process might be different! - -1. Make sure you have installed your WSL 2 environment properly using [this guide to setup up WSL](https://docs.microsoft.com/en-us/windows/wsl/install) and [this guide to connect to Visual Studio Code](https://docs.microsoft.com/en-us/windows/wsl/tutorials/wsl-vscode). -2. Now open PowerShell as an Admin and type `wsl` to start up your subsystem. If you want to set up a CMake project (recommended for production bots) now, consider continuing your path of becoming the master of all Discord bots [here](https://dpp.dev/buildcmake.html), otherwise keep following this guide! -3. Go to your home directory using `cd ~` -4. Download the latest build for your Distro using `wget [url here]`. In this guide we will use the latest build for 64 bit Ubuntu: `wget -O libdpp.deb https://dl.dpp.dev/latest` -5. Finally install all required deps and the library using `sudo apt-get install libopus0 && sudo apt-get install -y libopus-dev && sudo apt-get install -y libsodium-dev && sudo dpkg -i libdpp.deb && rm libdpp.deb` -6. Congratulations, you've successfully installed all dependencies! Now comes the real fun: Setting up the environment! For this tutorial we'll use a as small as possible setup, so you might create a more advanced one for production bots. -7. Navigate to a folder of your choice using `cd your/path/here` or create a new directory using `mkdir MyBot && cd MyBot` -8. Now that you've a folder to work in type `> mybot.cxx` to create a file you can work in! -9. Now you can open this file in Visual Studio Code by pressing `CTRL+SHIFT+P` and typing `Remote-WSL: New WSL Window`. This will bring up a new window. In the new window, choose `open folder` and choose the folder you've created prior. Press OK and now you have your Folder opened as a Workspace! -10. Add code to your CXX file and compile it by running `g++ -std=c++17 *.cxx -o bot -ldpp` in the same folder as your cxx file. -11. start your bot by typing `./bot`! - diff --git a/vendor/DPP/docpages/makedocs-gh-single.php b/vendor/DPP/docpages/makedocs-gh-single.php deleted file mode 100644 index 8c341c82..00000000 --- a/vendor/DPP/docpages/makedocs-gh-single.php +++ /dev/null @@ -1,42 +0,0 @@ -/dev/null"); -chdir("DPP"); -system("git fetch --tags -a >/dev/null"); -system("git checkout tags/$orig_tag >/dev/null"); -system("git checkout tags/v$orig_tag >/dev/null"); -/* Older versions of the docs before 9.0.7 don't have these. Force them into the tree so old versions get current styling */ -system("cp -r /home/runner/work/DPP/DPP/docpages/images docpages"); -system("cp -r /home/runner/work/DPP/DPP/docpages/style.css docpages/style.css"); -system("cp -r /home/runner/work/DPP/DPP/docpages/*.html docpages/"); -system("cp -r /home/runner/work/DPP/DPP/doxygen-awesome-css doxygen-awesome-css"); -/* Always make sure that the version is using the latest doxygen, - * but rewrite version number (project number) - */ -$doxy = file_get_contents("/home/runner/work/DPP/DPP/Doxyfile"); -$doxy = str_replace("PROJECT_NUMBER =", "PROJECT_NUMBER = $tag", $doxy); -file_put_contents("Doxyfile", $doxy); -/* Rewrite selected version number so that each page has a new default selected in the drop down */ -$hdr = file_get_contents("/home/runner/work/DPP/DPP/docpages/header.html"); -$hdr = str_replace("option value='/$tag/'", "option selected value='/$tag/'", $hdr); -/* Rewrite version info in header */ -file_put_contents("docpages/header.html", $hdr); -shell_exec("/usr/local/bin/doxygen >/dev/null"); -if (!file_exists("/home/runner/dpp-web/$tag")) { - mkdir("/home/runner/dpp-web/$tag"); -} -chdir("docs"); -/* Add giscus inside the actual content as postprocess */ -system('perl -p -i -e \'s/(<.div><.-- contents -->)/$1 + + + + + + + + + + + + + + + + +

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

&-u~^+NNm?9Dl9b*tZkXE6iy_Ss#S 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 diff --git a/vendor/DPP/docpages/images/create_application_confirm_popup.png b/vendor/DPP/docpages/images/create_application_confirm_popup.png deleted file mode 100644 index ac2c736fcad5222c0f3361fb853369ce786aa4cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16805 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 B{Y(G= diff --git a/vendor/DPP/docpages/images/create_application_navigate_to_url_generator.png b/vendor/DPP/docpages/images/create_application_navigate_to_url_generator.png deleted file mode 100644 index db0b5493d5f0a93cd981b87901c81be1cb0353a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92778 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 GGLq58WL7@;$?c8up#QvB5?dL>#C^+_ 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ⅆIER_o zh3M4kWZQBGMmjSh5Pk--!Je3E<7-c_M0S7umlO&cf-MxHj;}ztxsY(#rb*H&f`rmB zczRvNGQApP9&(96U{WWXZW}VXY|I$;-NR@(R);=t*7B)BLGI)SxBZ*k!?#`~To2M3 z#q;Ax`DWAisR69hLFGzsm9t=tc$r~4(~;}5oBHdi9l=woU;{6;#gEgY~Mv-LM0{<3NB%_wXA7f~~fZKK&l zNJuk-!D5;%#-ZkK`?>0y*WwIGbMyMM^iN8U*%gasknEQ(pIn$`wTHfR)&w7bCfv2g}0>c(&AKLjB)IhKW|50c2tF2R-i~Gh@(q zavpejQlHi70O(w=O+3Hz&k?$+Kn`qyLl5khbTGPHl;2(gYp?}3P2Spfc9Ct8w0X^j zEAc=-9a`jIc#m%eN80MF6ynhOpQ#YV{0v)_Vs=kgs?kjPmb2LWO~m$^!kzS`^I%MN zWKn+2aR4Zfv~6LfWm>Y84PH9uJFp<-CsfFX+q@{Vc^Zt?=|v^e-(qKTw_$&AOMLsd zQao}&shBFVsD1C$-R9jVU`*3xvl{UcE(ihbT((OP-0r4 zn|C@P9^~_-o*DqLUh0vqn$J%4U^QQ%-yxF?0l0xAF#v^kY=0IykCDUx z^k6D$E1|)XaLTktSR10lW{Jm9xk5x3R zMZB9;GAo>G{GmGXga59EwP}m1HeZ04c1oc~0`qZ#_ERwW5~o2yEEc`7@~9U8C!#m`*0E}E;tz3v#O=$>YUA0OV9R?44gijeMTEm{6X zl3COSrsKyY{{rgcJF=mN>f&bZg4-cje`T`MhvL9yj^e4+t!7?~S}F56!HH+ZL~3i5 z!$6J#?9`c#c8CevQu?)H<*l>Tf-(rOHK`93)L&Bfp0)C4kkV;^3)VRXWH8t^1Jh#;CwGycM0ja)|UBrq_v)yimE3w}1zhfXK?O50ZK+5ULY|F>n{A3WI& z`XrgzEKDPkFJ1)nQR<;wHW*hu~OEIvz2~khjLhR9{`EVqLppu>xUONxQzjBHP^IPaAp-wB<=>Bnj8NY?C>H>oN`9?Y7!ccVyLkDR5RY@rl?9PA|nr_ z=mvnZ0;X(393p;TO2evlVEULTadZKmO{4L+Zm1H-#0Nwj-B@U2CY~RN@)bgOq|t@Z z>gY=o{R=VIxP+HaQyZcaX>cT0i~ny1F3%Yy*l23R=z8(YHp#Ji6dxI7#F|6#mL%&I zU9B3iy*g~2mYv8PTHS(8L{NJ;=-3ies@q}x)=s;Uv!N2!+H8B71#_UwJ@DH`t~ zBkHFh0$q+5Ondj$;dMSeGN#ehQJz9R`t&wMxxB6S^2qu3=(hHL!`YDqZT=}qDDNs7 zX%;xwmSW5gIR0HY6w<{2__dpya+ZNR(IC``X;|5_E7Mr^tzU0ra9_8dems@Osj|?E zoQ%B%>)QaANF94j?@M$i??&ebuJ9l}4ovGHFmqVT?YH=wF&v{EbB5jkWFKsL*3P2= zR3|0?EFz%|W!=RaquZgBBsiL~(U;~sYLMMwL^R~P4@8a3)d?EXM8aUqgvi?%vIBNj z;SYOy{}DJFj)!bZpsy7{PWq|Wif~>Z7&E}n`#&;PX^glPv{9aCK&!+q~lUZ5aa2u()(H&^7W$^Z1Genc~c9RgXlX^rQ zYl1V2a7HXh18B-c67_n;?`id6vvJO?RTE=J6XPdD<6=rQM)?UBa{P4B2$|Xu`dE~x%ahG2J)9g+0)9@TR{i4L-b=NApM)C{?3|uGf^A)F|Xzig}}X~S0iMVk5>{FNRpE_29b`jk%q z%fbI=?9M^?j+^9`y7rC&vX`sh`q_o;1@i<>=5ATlF5}j&{;%yNV@HmuZElBEl%-Za zmi>6pT%w&q$?4vY&rmO&HH=yO2jTnHrXnw9fO3DI9p{ZreU`s7NF2o6ZEbQ=S2#q z0MsnP?|zFPM+s>$Rhu)s3}^fi8uB?xt=}*AYR^U)hpYt&oU{D6C!$+CRyhg2KAs)I zRONZ9$rck|%*APS4DZN$&%eMP)ELZsk#`lY-a7x7*`Gq#8M{USUoXB7#MXA(G+idM zoZA!o7fyBZXU_tv6OJ|8CloU7kuNen^$XLFq(5&G;jbYBs24h0V8Fc>lm@#%oSQ^B z5L)k@Ab6(5cYDd^=3?dY(*Nj>!qE!oDl-m-Y?{y6L2tR{kQS|IiZK75>(QZ}&&pcy zy`(`q2h{8Uy3-KN*LbK1SIF75<_QYEA=k9#ov#8 z08_tTs4j~3{d9uwc<>m!h0g^pw+|N)ZgLxH1a;3?UQKk8X{YDC0PB>#_ntB6H{gID z>!j|BS)bB(hq2)d^o88r=k7n}nw9ge0t}B_(JY2avqy5@+5$rQ;gi&V}}!7RKK&S-y4%+qCQLqkUg}2lsv0-`+SW)a0XHsS2M1 zrh@YP-$L`kMQT=mv;GeNYe1C02k=%6Ga?$HSis^%j2Sg<t{_@;=ux9cl@g_h$55Ci5Npr~QPt{(o-lWA)q1n5)|Fw!j#Y_( zWXQ5<6R0&y*6mxkF&oGoJJ;@Ayj+9s<=YplU%(gw107M=@YSm%U=+6Tu!uy8RlrP+ zLwSxII+-&cT;!?Ouxi^xhj!Ks^s!UBRDWiT+BGv`uUC5_n1_)6L4*nyYH{2cvTu*U zg%3B$ws_pSdB5iT`ctoj2+o^7pI+VT@)J0-Zy!umau@J5Bu_=0)cjKPfc0W$-`+i4 zx)S*blYt;I-bd}O6$CTAeGS4(jg=U}bTRaKGW z)GAMnq-sg9?rO_XZZ)-+)ko94S0;PU#c44C1Ew)QT5T;8K{eMLWMNBw9rhMnATA}A z2s?{S+0vNR*x6-gix#)Z27PE(BfsU>+q6)wcjc7v1=lAXYL%I=y(T3WOnvv&%BTdT z3^m@h8l89O73nql%A<2`Ro`=CMK#r}1fF?ns?kLM7_(s;#w1vYA^zo=i60EZ;*Fcd zm}8Ei{a8?HKXtcA7?LjOWEM=V`)<7RwXbEmb>uW=rrY6L1$=sN5UR6taY*G&%W??XVqSt?U5sQJJCfwZ;{EmbJ)&#=A)N>=}l!6cPL&H9z6A*D)s*R#4pWM z^SYkzv|Y$St^9KGH+TPimOGbUdC;k68ZXk#e0tWzxEE0H?5$}sTGLwWwDApZAaEMC zTSV^0R)|m7qIYKV9W^fWEa3r4P~hR<6GGqdT7t-$s-kT26?Qj352(#ks{9QIi!Q08Gl{$0Y8L zaQ^#?nMh`ttu1UC;ILvVe?ctGI52|4;Dr~#NE!^n;$vmZ&9p@JOE=2VBEckPF@^b& zV{W8n)7zN}K`FVO0TO_OywxGCS;!gx(olRh_H8Hrq%`WNuqs+=OXNh$d5_ z6V(Wd?1(*H_0gT$qo!gydd)*-vv7(VCp&xc9Y<=EazGnmONI8*bjDPjo2*ZGxghg+UZW?0gQ?8tcq0sHv^BJGAe2m z1S^uti&h{uu>ciAW6cP`fhKGJs7$3SDi8{?4;BwWQ)OdSA9_{LhR|iG!<8USi?AD{ zR<)}|?MF2r)_8VlE?}Z9j$qZP+^Kb~k=&bHef!(E&XuOatz37)x!0ZYG_ZNS+K?7R zSjR@Uv4*&qWS7dJ!-7H}4}@w|-RarShE}{NTIN|Lb;#2mh_w%)))Cyh-oV0EW@1`Z zZ5emlpH3#Pk6h`=+zL|w12?!XC2oQJ#YlJ}_lf*nZbRARn9O=m!rXnVQy^>I>&7Or z+6}4$eW}^5hF8SnC2=yzSC`wWZZU*>FMD~Qn-{}a#zX=unWAPX`=%HM4dLK^`3o=k z{8zvt9P)sR$jQ+b_rL`IQ?QEt*WlLv@}GD^V?5{C&d@yHkJ;MRA_qFaf)*}a4b0>wCl{|J zm}YZ7NMSBo7=n|gG%eL|GgVVd{GLt#911Rx|vU(#Ozjg=LR4<%+`Pf&- zI?i>zGjwcyYuV~}hd$ozUY0g!U=!NN|2=fE5uNCsF8VhIn(&0BD`_%Dn~Vb0as|7* zY1@GLv|?`X2t*Cq&XHQ&<4$v_Qq1aB%Nf?|4wQ(@2!$D^wxhMab-nG46#()&l)h#u zT!j5^fE(J_N)FTivE{j7D5qQ2Nq}@hr9DPQc$wPOKASHzjcrYIH_Y8G(zk=NmQIFT zZ~c81qvHtiiSI4ale~1uGhL_S zLO8e64H2nRJ*WY-`o$;VdCOWHSrZg}>A#*ku(ypOHRgG!U2kGfipK}D_kr3cz;?8d zJb9;v(9%EXg5>s73f!4uwRfA%lY8Gn6ZCw<@w4!ok3 z?f1dL+rrbWG>AAH`rW19^t53A=UsvR_Io}N(Mo;Q!2{y4lfcXoJ-dHqzXbq{g4%Nd z-18wKvytDs2{LIj197#xJ3jb}KncV)nd7?{JCOJassGrq5!p5AJ1)b^KI}uMNpd`V z2_2P_yry%qjRHUMd$#hMCG@K<-q||S`vk3XzpR@-9)vcU)1{|Ch-i8`!`Q!)i#;E( zGB*goE+`qXIKZ$-z-$UW)k=usGrow6Krh-Duk*a+BR(K_G3Num)apRI`atSyJRuuF z>@>BYKY|Q^Cn&!Fm!qh6qDv^FhwrunpP58vMM?>%krDu&JZE&zLmJY9ReGEh4Oe z*L%b`>ZHAJf&XK|7obF|fQiM+oRsUmds8(AtimhoywRgLFrp>Vqd*J1zzjq;=sQC+ zRv3=}JfBGkq=0y(YlkE!rR7eGlTT$K|8xdddh2CO^rtGRY`M^m(r$@-!j zjJTSsz?ZAXm<&o!)5nbRKo#OgTJ*<%1jtQPJWk9-fgH#XT>3*vSVzWe%)c~C->^K%>^17!k?K3V%*0H+)Wygv$bmV?&%8W_bV%)* zLC^>dpzj(O#tn;x0si`lz=I0vof?o zEWEm}B+TRthxJ6v<+Ql6d`_SYL-!n+YVtFuk;RwEo9uK-?$k{0{7%mFMHU1s&~!EK z8couSEYpor+csr9IN4eC4WGWm8*)fXl?ye(lw| z3R-}*u@$7wh;=b4+e3tn$ZDXtowUedl~`zvRt1^XDX`7_iPR&U)Q+`O-V07pOvf#F zgOa_IlSNsyRnBEORc3ux)&$d;dy1iR{O+yp>Sr-9Xb0f$)okP#8%3rLO zwmeIvU0S9kJ;h{Lrx+VFI$DUG+J-V7inZ86Qm($j&5F__?Yz`(_13U$3~@DB^b6Iq zO(+^iA2ObzMSb z+bUbj+6`9Qje#f00yMaS`^{fJ*x&rc+ugMZH3Z(^9pFV8-od4r!rjw6G|v}>N9KH9 z`=hc$Jz5>DUaGy`>^&3CCDNXKA57I$*s_2QAm7k4+w)Cd6dqL@WZ%~fs8y6&xcwvh zouWse1RK8LDN+M0kOIKT*(?E0&^bX(;oVMr6+|;$8A@OUKHL^X#DhiFefmRrl)u=; z0|}ns=^YZ#wBV-r5HKJDAZ0;~-9{)ZAZ&Eo9| zpv=&P*qI$ZUZC1B1x2WgtHoI&=2hSASptrf8YwFi9UYNEVtRrZfgL2|jWuX9)+ntw z7N+9ii8M8`PNm5#Q%^U3V-!|cKy+Kz zbj+yDPy782!)oIzI?Yr{gJAaG%2b*G2I3r%!l6B2NgmG@SKr$ZKXqK4hV7~gwOcmeal!?E;ZeApAQ~gCvC?Hxo3Qa<8>X>edcG@97ZheB}9Y`W+3QN z%>|?umWly8@>pnwZfM6-WH_YNJi=LtR<@NR=hZ{ni*`6C232L@Wan(#j}GSnkPd zSBj9=*#yHH1S3$A-dm)n9%6!tI|ZB(y2VD%wmid4-slQMOfH*kroeX{KTl>pafa3$ zt!C#^tA)YO4A$T=hUwgsX_C}ya9x7`ab*o+4s78TY!*&!b{p+({*aA?>!MEEZ1@^~ za+8X&*bil7V|!{H8LOY!Y;Wr9qLg9pVr#BmVB}VtOvV!k-n-{CY%Hc=lcwH6dCTwC zua^F#m+nuy&KB{FXA(}&6CQ2=-)Y6Pxs0ab4VncG0ZWv9?uhvVWS*jhp>JAsYRj&0 z?luo{F&})L)!e+*9xTp@%uvkhkOM+n27+*5i1O&3?95JN>{gr$f2XSE zZ12`zFHh!A3vDS&UJ@^G#U0E4Lv-9gtTeOq>Gpo{%I&E4j_(i39?fvndTpW=xNnRY zQe;|Xybg4id=+pV?w3P}gi-3vWDbkcWvFu6b;H4;F^Gj44}f=)(2UjzNuP++_uL zfPeFd#cDbKY&wsyRZn*RmS%Q#clNp#biC$q!SHc<9=-p*c5F9Qn_S^te&H@Sg>n^l zRj33SMrcm~JOvE(ozUDxE>L%WXn9Yz8c*oLdTgT320#ryt~87;1d!>pr1k2D ztY@daxQe}E#yWOTuJOoZRq=j!s)uaa&U0qBc>MnJlEZk7A7A$}7HYR=kiT{TFGbg7 zS$-ZM1kcGSeR8pZcx;+4Xx{jFy=rxjyt#{_=V}*BAo_b|Dn{)D#b0wm^z|P+*n&rM zs5eVsZ_PKSMCyH1hnLO4Pia&B6p9ZRu+MR_FZ;ff=N}JpoL>8UPE0vQ)!dnTv#I+9 zLTU$bc{7ygM+V#f!pUl)jrTdF(_Eq0?DB*~WP?mNhG1ES!~b^GK=4_Je)?m4f^T$f z=5?r5cwx`{hR@(u6|DSP5YMM>4FCGuHapVK>%C;NbWD4-XZ;~>`^Ft>cxB9Fr;uj( zc&3sCI01+`V3uepn59Sz6$%$>z|c^FLx>I}N|<+*9BcBMg(`6 zS(r|h!K`NgfzjJ>1I# z7i5!t2HK82@`%}Jnx!`6Y6^U$-d(W8=3G>`6-Qu!QA#=GlUY&4$a2tWxm;9G_2*zA zi_L=n;55`!Y1~jtadIIKP7Xc4SIw9i`Y=dTE4Rp=srnS0+*j9vWg;Scj#CSe}Rrr7GyEf2lZEVlC1! zt6(cFB4Ua--gx4VKKjaIkU$b?T9HN~ndA*i(uQR(SQ!W9qtQy+orIo7=Nz`rN!2NX zpMVK!n6ij@V5Hk6$dp-aCJU#Wbl!QVo$$h^XP)#O8z{bhdBGolEQME)qL|21rnKfZ zlPSUpAFS!7R(9ECsG}aXp_`_js#mKS+jyd@EDk0styP3vX45 z=WEICYe#LjJ^SReIp^Fka#Fnkof6qDOI32*R{E`&;^wmSq(?~ygu3hA;4alwzk4;- z763Z$)(+)6;=U6bHXcp8WHKPM!JTL$$PK(F|CJ< zOhk@_8*VbMDJ!n>$}SgsZ+Xhr+$`HVTOKXXlgJHL(4Bkk1|vi(oG_-6x^&&8K0hZL z>rqQRHSAW)p7q!B!dE-8Nuo8@s1*ZjHrhL{{WkG%Tlievc2k_U-_7$)GW4%{OoYgR z&x&YbLqvZ#;)XB&J>!leP^_^Hou{Pa%sQF&HoQ$Hn%na&2z150Rj_Pg4r=JU${%sUfSir1>)^ZPz#&bxR59T5lnbE`{3~4R-xmG z>IcfZn}?XkH&i*VZ!46Z$E*h`!4Pg$-P;)W!uO-oh_6U|idp(jft<>@uZX~bpXzAV zIVV7&bwktN+lT?ca!v7Q4f>RHnp41R8SsD#d>sYDC`Jg9@qtvUAR6655DjAR5U^Mj zD>}%&w1JR7A#|8hvXs2LEiZ*IY~c%^CrG{dF;-$5#0;lUL+&y1hBtP(H6k&XVg}rY0X{JWt+IU95W|6iunmdG<_mK5OMG1L{g!5|ow( z9E(ArsZd?IE|?B|C>Y5@wl)?+j`3WZEixLv0Y+1ef*X||8=1|KVpE&jWP&&K6Dx4) zK&0C2h&j)RPVtdMBMMp9J@0o(oL#hi#i>>j>xt8QZY!T}vtu0_w!fnF6Mz1c1n8nl z(5V`xomT?S=YO+dL>Dd5jHZc>HYAyW#3R_4GSJIb~)TJi{ zSm3~wy}7#ZMlqEs%Y-z(!LnwZm1Lq=Y*R{j_LNFU^io1yXTe+&P%1_}YEtj0)TL^) zvrUbv9tuiT(A5%_0u87Vv#Q#IX6q?ZBqC!mm$@VoVt!EQqg*^{77fvmuXMGmHGNys zZe9f&hP1Kh9Y+PO#Gfc+%ne>GFBJOT;T+5?Axw*f5>QuKA2rXv#yX83yYt37MWV{hvhH6h; za#7zq?sxw3JaB<)cIazc_9+#vbfh<&T1SSqg5QE4YH}LlGqHBbZySW=kdCJf|Ny9D##O;Q8%#F-RZ*i`PXe80bTCQ`i=6j1i2ReCQ{BJt*I|6p=zU)Vir@IDoph}mb_vltE#E~cpufo9{N0}Y;U4~>M{dPVFTGCx)zAOc*FOQ> z;1S(sotK#*U;B1XiI4t|4@hV7jr!k*L~q?3W6zAPb^P%}JDqcm&6&3dTrK83p22 zA&?I4;NJn>@Quz7UY7C^Ve%EBv(;XQEMetopOt}#^+_Q%jhq#BqPKw)C~9CuDPE#2 zLoO%+=z-uku_5aHl^dQP`sqm}%|?E`mI1ooPuyYMy&w$6;Dh<$3{KGb=w29cRUsau z6CGj?CgK1NAj~;pBSNBC`O_CDVe~Lz6INO#z6upy8yZr8C;H;Yb)OnwLN?HmF}#8Y zs^XTh;s_eRW|SZww$ll+UmceJRlI=;8|h*F@nO~}gm1}U?hWJY7-Iqn!9gMR7EVtMog_-;l(EAAytuAB+ZAqpxQF4|=a?h8?Jgi%hJCSGAuP8ZCulbys1K`!M}5+YO@ zqTlJ;SMXcV{hJUv-JKo(Aqn{oS=2xkUPNBt)i+(>*Lh?Viey}=WeTkU7;GP8xFr^f zTMn2(C7h$$WJ57n!so^0*sZ`!(q#FqT}JGH92!$#-lF>jWghn8^*O{8E~ZJSQ%Mj& zeE>?=XbtTYq*FSSLSANu{9aVl^#UN&6pr}hJ=}2hji*o0mCS?o?stf`mQ{JdS zRwj-@C7dBekP)9}Sx%w=5j%4m>`!0%I1}_B}k4c^=&DaURpUS z1GJnYa6UsYNa#A6>6xZ!%3)|tcGwTKox0RxobuG1rU@QiB%Tgx8uF<~pqjF3XGH`m zi^3?h;+~-jVw~7u0J&MV(_WwGWOtUZP7xN${kz@4S-|z6<1<(s)F^0fW{^_ zS*ePWT{j~CE2^RZzLMUm)+JE5>NUVB8LGk=mSns>p{?GkhN>N#HfMA|2y~v=9SSAA z6)R)jDMgT09E!mE3$f9ku+RN>ftjR9rw2~*c0^iG`r|nfx7p%n0 z*+8a#VkQ1(-Uet{_Uy%CY}gtu;(l!6_HDlI=1qX%IVwXpgrOMTf+{HOz&35c63){? zEw1MO>iMmkhXSTg{-l&hr`_3Lbyn=XYOL#m;{!l|+0JgqI_tCIrk~IY$+~Tg@^0=_ z>jEt*YuVO9`5*7`5^+sM7yK-1wuo(3Pm^LC&~EO$9`51>ZN^?<-)f;3exWKv?lP|QV;|4Uogc*_fVh(r>pa7FnFW{^L}6c<}V1(hX}7R z<7$sgq;N7kE(?$E3#(#E#ITyy@cVuhsEF9YnJ!^E4e|0L>!xk8Ix)u7uR6scuZ}VwuL)CFEg&1=xws%f&|jV^Dl8BK^FpBZu5vcVGdj=z^9V!n z_M())kYV^P?K91$vOKf0J=e!KQ*k&GV>wIkNLMH0di0V`Uu}x9fUamq%d-qLE=|`oJ$rOamvCRa zvbcmH(u!{+WG<8??$4Ur8VYoB((tJ@@rT{;n+jzj=}Ac7rU{HRFqHeGc6A_>D{z^0Q3xJbOv;FWiPdu$%#&mZis>Z%A;Zy5fWUT zCRq@xE_0HE+Lkp}clBU_E?9^4SU0mZpE3)~G#fv%;Ob>Qnp8+3Kw{=gq8DO^+Ja%p0wqc_t7SJY6EOx-o@&|f% zWTP)SRkql+w`zMeWy2yb2lh>EHbSEyrMPFn@fj8k^4+oSd#^TYxAp}!qtb50^0Ke#NPk1HA#{-=--u0Dm&o+a0L7)_<+av?9MlR+xJuVq|NC6_j~q_AR8&yDg=NB zxc|BMf?qcVI2U_?Cq?Pp2b|CoLV{IF73~kpFmm zV|Hc_c`tMJ`r)@CcKT*2$5l7^lgloY%QmHBIjZNX`K`K^hZ)AMfxv|5Pr2kva^Fxh zbD0w{g%@(6?u{>kZIA1AqC+pDB)34UE4#MHo~HsO5c;ym0x%>)v_}KA`+1*ByR{2? z2d2RmLOPCf`J%6IjX%1#w=UxV)~OS;rQc*jV7gNmxsj*;4rf+MQ#sSz?BksxCTf>; z0K>PHr@E@YB7p;ZhrN2NBh{iL=;A^-na4E9-rt$0`AAX5hQqXKzd5mQWLuVvngj?g zM0>PfE>3{27(#=|pFFlpd$q4Tv!}wKH+H$JG-AUtqsVd#o8-6W__^zNQX}<_|NNvs z&PU8NPHHQ>bAplEdmb%4kEs>0_T#>nI;B_nzY{#G3%naz{es8HSoIe(oFdLcxYS>K zu1CCuXB@>>Jad!%uveXND>u8A&MyEg-P1jAPA)e{?!Q`tG*J7>_dVdpvCF?ab-Q@Z z4?9oWyvU&#? zJ@W^C%Ev-bqrnwq+3bfS_oA@(W`EcT^=;PkJ4!yV0KG2niMtc|FKhmQeLm=~Kl}Ul z=o{;M!(xJ;zWA&A>Zg8di>+J^%!2|%IBx@~8Iu)fO^y^SPJEycp~6Fm6Dd}-c(Fmo zh#NU}^r(U3h6@-*mNa=1Wyc2!G`5uJQscrDD`*g@0;Y=`oI7ixpiu}}HD^M%6(#r$ zX;P(2yEWzZ6kAkl(5NO;Wi^$fM_6o{@c9w{EKQp?;{>vF7Of(+Rk-#{8TJBz0CMNn zwR;zDUIBag_VxR>0AK@w2Ny5J!&04Q*ciCL!DX` ztE~Evg1zxVstJof%2KNm1_jBkE%V+=iLMIuy3j7+1ly29z6|?tHpUubjJ)z-une;$ zRCEHh7Ec2WM$m+4aW&T{BMBt*VDgUtx#oWR5lH2PM2<-2hHUPH=c1b~KX0bt1(Srd z+YY?$eB{weEZ3vbz_--XQb(6gLhwC=*g7waUh1pnKI*`6v&lEJ*>6t&s;UZ?SRCPl zz^_mk5m51l7)wF3(lRqbnkEFxLJS@45U>je%g{p*4f8J0$X=t&#uPnG4b)Iq6!p`} zZiEa~*usQBOCwzkGPzhQmG#J4W5tc39OAfz87A|4GRi?2@*uq|uQawwWR>M|)nYMK zOvEq?B-6c`a;*WVq3mljPB`iO)=oTuQ6(!J%xx@F0|(`*P(vR?R9Hn9Md{IcDTNf@ z04AOFR>YuXHQEv-8(0U|YFrKf;ZhIol!H_;a5zV2S+ew1SZTHO;*9&fGRZ%dIr>()QujX5mO{2VBD!=}k!qci)^jw9Mt5UW}D?v6K zgqQHC&yLIL(y!Jx>srC&y6dvXX4v)DB!D<##`e}aZnjg`nD-uuRcO~A8^jPlLLJag)=U{}HRn@-ev zr5iQ<-qQ(t6mC~peU`-5WB-3sT^k+RZihRH=?-pgQ{aa%cAMV;k8Zyzo|N#mo!m7K zdKtvv^Q7mjK+WuWcxVMJhQYn=eWO>)xCSt&l9f=1k9?Pt;rV2UzI6Esgk53Z`=A!O z2@P;2^uwS1P`A6a`D<$m=wItJkg8KXhBA+lqQI6&K-*!-fLTOf?-JNR{XH;25rh*n zCdieNAuo9wRG#nDs6jVQ4{(A5;Y@NOLR8$bgw3GF9;eaA6snMgd2*rnA{Rq*l>w27 zREQ1FctiCuEe$;Xgx|ENcOW5Rjfg}lViCRAoBgd0Q2vXerUFPF))5e8T2$p0jo8Ho zf-#KJ8J^va*OE21@r!TNr7e^7uV#HvjyAhPAq>HYPe=lf#Ly!df6=%==4ln-dm$nD zq(~a>fRX8|-nw@9zIeq?ewVCYCO3IMb1qPo{5xe81!&3}DzSj8JR&PGhE6W}E=kX^ zL@t!!t1-&r71?Pd8gGfqTyhYhyNq7S1}YIF5EBu3h$u4Eq)cWULm17}=(wO6O`+A| zanz)t`PR3{Z2C!1Wa{R~CMi12QEh(odmA}hna(7xvz-HkfED98u?zn6o}CP;aU7UW z1@UT5J5$F0E26~GGp4bi2Q}za6fyGe%RPW>K9xUFSP_`bp`@bDs1Z>R`W^D>WRo7=7fK3U6V&T0&KC zY_#fRd$~8HJ){bVI7LJy+S!T1VzZ#d1uVw8iqcX7wPmf`Y6o%T6_aZZi5gA0YRZg7Ov>!dKY9rZRG`RM)IxwkPWy{vK!ZogPo$GIt$(J>e#PDS2DnT5Yhs74m=ODPkTCAi=p~ZiAQX z$|Gf9C5GJtg%g_%XJ(jOYvHhmf7(;+j@Zb!q=;lpJR>u=$a9`k?V4E&-}S}!#yCc4 z=IqN)4xUP0#btdGNAL0byJxAvl+3+-h8 zLq~YRXmRwTv+O<&Px{iy?lO3p4d#S`+oXoGsZafqR?|6j-FEd4 zVO{Q4(%QeiR$ZXk{b42d+G3T4cXFfbTwxPC%aPDGOOH+IBK!N6nRYft&Nl5%U7HFC zS9rGN+wdH0Th89j@oe*Z=ZKhli0R(1x_PbOj;nirP!>6^V za;uxHpd7#Jp-Zh6=r(%TMcZ({0iNWT51i%+WtJ!$-&0@zfbJ7Q zdY@^-d|erlzjCo%{#2NsJ=fetyOG&h%GbC( zGBObT=y53b>g8QL4pnt9V=LReXWYLV|NGPf|8&|f`Ra$4NW?9;_<29T@%wC?l_k$; z%9Fk9m$&rH(;i&J=M?mzC;i)VRr=GTKJ^}Hwb1qZdf3PQFW>Lb?a9BKdM>x{hNnAr zeXn(*irlbXmoA1g9O;)UAM^QV{{E-ec@yDK`lb(us?Ykc@3Lge0JG2g_-^)OZ|Tm@ z_R0_NY6Ao&qVeGG01J@)+7IL|u+)Ul7^JKCg2B2f583cf|56YIx2uEyybbySPy=JI z$7F^Evo8VRVgYvx{2Gu4Z4Clv3jNX#165B3H*hy3u<;TN1nDpG8q5AHZw1Xx1zB*H zzN`f+;023N3r`BWbfgBgj|g2a2N|#j%P=^~2@Tuk2i?yHb1wr~&-7YP@glI3piBvG zfzgT&%Nk_t?k@_b@DDd{`7lM*+79$&Fz&R_3vKQV7x4zWWDJ{b2gA<{Cs7TZ?h^m2 z-VTp&bZEzRPRAO~2;nUQ4(ah6O@&tI8CLEIp)e2u5f=H+Z*J)SYVqezZ|=5`_ZpGl zZ154aFA^*9?;Ow)i;?Pd4~(pBCv<`to3YwxOb+J|{o)VuMv(IVdgugSF&3q88^LVt zvJe-;Q5V5*=)TYw$x#7=u?&fE9fi>yi)0fY=;5Zo(+*(}76B7BK_6KGpfbT97l93) zksjkr8mAEl%7@CXj0DB55B*RZyAdK4ih693BE``n6%ieI@f=H{93hb%Kavtb@*PJK zIowc=*o6-6kso&fqb%y848j!haqLEs4o}WG5V9JLk0Bc}8y_+vlMg7b@TDm7^ThEM zL6Q6BtRw607lBbEpAsrbk|ZxM9;=5Q=YYk&swMg8I<5mI72&#Ek3b*>)$v6+^MXW9f<91HPSg)(h&ky@@ngbghF*56z3=) zv#G+e0;{e#D{~%^GdY)&C&dyvLo+}b$^}dFIwwOnt@AWNQ9`KNHtam^6F>EaJuTBk zjZHGMOV{!fOa-+6atH==Ohv^`5LWt3LMln`x{Od%Cbb8%9evQit$9KkbF z#gjrg)mTN+Q;(BLqhnOLa!-LXqfj*v;G--5T&)}ll|TLSMQO5D7u8#pExaz$B6XEq z4bf6}ky0&gJ1-R-hxJ&C^<7^xNnr_8wQ^gYbv^-!AMY_Gabh6Lv_aL+PP0{8ZR;g+ zFHE~tVd0X%aJ5`d^I?lFO?_2OE7lj?HC{7TV++#*msAj%G(Pe5F<-KH@bO*zwOXz9 zFtN2o8Dv`>az+zY|9UZ3CDwXwwj#y#T!WQjEjCy&c4LE9UQ?9oJof9Hv{X%%M8E1E z`xVrPU{xhZaPn$JqyQL`V)^3|NZvpme_tSk~^-w3xbcvSpVwZ5a)^J-F)gn}O zDOGV_muDUKdL_bkaTk0ElPW8>Y0RQ`Gk17EW@(w0Ur`oxkGJcR_fY;5K%+4IJjh{J zcY3Lpd%M?qp;voncYA5@d&Ad&Z4Co=mqpDNb3;^fgEvY!w|#HoeS!2e3D#xlxA%fl zP%#1-;WuLUcW)C<7O~fV0~m$>2e=~&_<&hBch~b;?i6Gl_;;bT86?eeg|qi{|I&q97+EQIU>SI{e3waTIA4WV6LOe> z^|psu_J^ZU@!;r#?XGK$n13fWZAzGlp?GVZSdO2#7u7KsrI?Bt&~39+%}mQ)Lzau_ z){DWog169zTh?k_*MH$~dUfd9szs7_c#UUph!a)w@VANSc$1x2kEi&P!FOJZR)Hf4 zi{Vp{2N{Cv7Ee$1PusZ8Fc@^qI4<+o`Z^IobTpE~c#@4bYK;(+Gg*^6xqFAJj)V1V zL%DQ7d5`JTZRM+cPZ^c}SZ0F729138uP)tawahmqKkUv=NO`G|{{Tt6|K8FZY( zS)haY^3+bEhxwg}xt(n;kLg*X=lP!Tx%w7(Sut0Osaa{Qd4dl)Bd2zyV)d;mIRspK zM?vvlBSfJemXd!NogrG7)p-`J)c&qx7x5D`m1?*tc!)L%le{Uf~Yq-vRjyAG0?41 z(p{RApP5=t2>Gt@I;t%gc)E$DtNO3G8erf0)11*62ND_;)SP=Xr`r-?n{Tmy`mxct z0?=AxC)-%@nUt|LsXdfgHEO9jdzJm@sj<0;Nqa%y<&~o*gs)l|u`;grQ6}*=Z(lpF z5j%(zTd^nFoo_q0&Dytl`@G||FqL$#t2?u^c&_Psi-l>F!$vS>nJ_BBv)e=qJ79s?!5f z!?lvq3BAxYO0*DN&0l=4X>5`k9q)GCaqTO{Kh(hMy3$EJ(=lPwyB0+~-OaHhOC5JTngCUO)tj-&jr++59oApc&;dHf8QseB24Oa4A-FuU*}d zR@i}aKHc5M<6VdK_Pgud-ao$Pf|}IxV&wPTP-=!VpgZAIq8{M%jshRO| zd)L*sUFHkj+nLtHZT{w$rq9ith{Hmr)7|I0KIku=#D{+2IlkjRT@XROVecKNA)@5} zq5jBE-HP+s^jf}rmr>ofzU#UD>lOZ_4>_9?(d=>ck?w1?B^{!GJ=lT1?J@q$Q#Fih zX10^w?(yE)_n!3m-t=J&!ztzO0l(_q`{ln_>ka?#p*->VvF5|wua9@-AAkMQe)2sO z_AUR_GvBk#9KnedT&+T>rgeU-oCe_7$J= z8GnQwd3Ws&c5~IsJ%`|fKg{8C_=%s`bAhxv*H2Nr!RMZXq2JB(emG0N^rPO+(Q~a; z-uxGoT?7)YQxeR*Kg47H>uElRaewTA6b{iJSP8eGKNr8jT==K?^1E`r$$ZNHZy)z{ zosmDE?w|kp`M<17zx1vDU9msa&0nFH+~u#EH%06Fzy9mtAMC@vwYxk0S04Rc*V@;= z{bl_7y`AlgfBx$q`Eg&@^Pm5bp8qAh^h-bLqdw)28sG=|f@@14Uth+ZT-)Iv{^1|& z!+!k9KmE@gSY3CF%@opi0{CTIw6;D3FTdNgokMgb&J(DA;Y>KOZBK05wmr#>?POxx zw(aD`wr$&X?wkMat={e}d()??`RexWwFLun%x24{jlio@u{>3ZE_XAY$zpV7n z>j`(K1S&0oC$$?Nt@;~#2Fry9vzA|$6I*jLd|z&MFX-IEeR#8C7hgl4_rJDdqjqdB zK+h+J*j9Qg51?qN7?9Xb(7&zZ`1q(XcPqC(8@2ECxpq7G9@DZW{1;h}Uq;v0iDl2A8CaLRH)2a>-$U*jCGD>3`&%YK!~af7z^z{3 zqtz}Ctm8y(`D;d|=^wtNZ~PhT%kf6w4Qjpx4__0T3+(MZX@u@Cc42~EOVG}q+`J-#1{?Z)5N=OiR)57o3isJZ} zxvt*xUM{(w-kueIPwPh=es=tdN9h~L_rRS*`rn;=PuKUfB;s`_`@BF$Jn_`G)O-U2 zcfP>*C_wSi&7`G4fd5DQ1_=fA-`f8LsK)1)Are*oAD~*nnoeAmPSJ?Y#FGx-`dizM zN!ORfJA~EDi}gSTA-m*^ah;GT6o^zR=Uz%P_yS__`ehSbapwu93+N5gBG(5>PqS!R4(loch zG;heXaK*H8*tB8Ls_oROeZ$r--}Z03ZDhV(RE=FytzAZ=UE!!*(TaUqk9{7{zH-dI zX49cz+|fDH(ZANc?cAgL+_P=Xb70kT@Y35k$J?*aJEGn@s=zy`*E^-kJEPk>ugAN1 z$Gc?EyK2vH7tKQ zta2=@b}g)7BCLBotot&2@G4?pJ! z{WhulI%)7SX=pQP`!VVGGbIX`I<=QJeV?{^p0@g$Rk)Jfu$|q$o?F$Qmp78vFp@WT zmESg=zjslv_f`}$Sd`RTl)6|nwO=&-P_%kpwE9wX@miI$UDZ5R)puDtwp%-XSG)UC zmpfIr{8D%PTHn7|zjRiA`QA`A*Kq&Q`1;wIH`&=Y-`RiKIkwq3{o1+o(z$%rxqIHZ z|K54?-ue2`Q?}68ursv!HnMy=vimZ6{5pF7G1hrJcKJT`@i|$wI@h$bxOBX@ez~~+ zuz3Bx`1!fqeYQ4owb^pGIeou<_r9}!w)^?HzwmO{e}6Lma(VN9`Sp3V`f`lBAQ4?4S4L*+Jg!X1qnhx{=!qs4 ziA@s%*s4gl7_T)Ph``@Swq8rsU#QrE-51$twbkg&_ENi!>2PV(-pWj^-RV(-(4d#p zG%^~%My2g;b1yv@;hGcAnG9fx6=qcu-u8CNKgmTDynr8fcb2L1v?5bGT(nfBP$@5I z>1cV@YD{q0nXcY=wrz2E0x#XbtaYdwN`%n=F0g$VnEgfcE!$Q9G{3@SwLHz&8Zf>s zr4Q;J2xK|CE~u|m@Y`q#)i=j@sOV z^bJ7gH2e#CvRH`udZXC%7v)YJq3_ug&I$Y_oQ4OECO&2yNuXqD7NP070*OlH*t(x; z7_m$cb`$?MBi>EW>>z~;5r!;^zk3bYj%Qt+EIycsdXgHBWaKbc76ZCC2}8czC{n{Q z?Wo`sd#O0pNSuZ`%b=J&S=n|q^dR$N=*%RXmmlY_%z4@M#9uD1p)_FxZ2ZutP9G$; znir(5d0MS;Jbqde$36(IPxI_~TGSVV4Tw@A$JNOMCy)WePJ43am1pOi8sbSBOdkOVo_-AJh58-SU0It58>cj1INxv=f8PQ8W+?r zZtUHc`%g+X+21hRpm~uT+756cjM}kFDjkM<0)m*j7(#gM>f6qiAfw&G`mBAIpy3(I zih*=2&D`7RJIXTb)_DWs|NfK@q3cAQjvT^TIj5gQR6UN$?rh*HSC+$U81zoz(NAiO z$lCX@u3XYgb8|$I{t}RZe_Rtvq-`=6AvIN~aE<-@n zJnib;Ts`fj1WY-u^6IFyti={)x6C?YUO8;o8sxNZI;>3j@6o;FRYiH~(7*2Zm;RfA z32U`IBynJ@(XE;gLwu`BP^sZL&Ul&rknfQI@*K&(_>>fD@)?DaxI9+o_RhY$y)Q3n z{Ce-(Drh%5ZRi1f47Q%wUfdog-gqUS{_x{JIhxtxw;1-VA-z)K`Q_tBfWqJPz4Fr2 z2C7-mf5Cd`0*|m`y20Ik=Pu}m0^ax|L27}Ahc-zgpC~gY1mI?rGWTpMa122ZgP#BJ z{RbV#S?$$l1-;67f^{4GBWw3{GL=7u6-f{AFdLp!QpjuUmxow;Uoj|Uq_eZ$I*4c! z3q?bN6V?2No}ys~6(lME6Z|WLF>4d?k0ulDvc1Lm!5#*3+W@S#VweRU339pw@Z^p@ zT$+p+6+&_ZwL(0?m5d0ZFSG+ICO*>ABoFZi^{{YEJvd)f?kD?f3hTN=p!=#u?kjj6 zXNaPxqpmUP#VI%X_upXpBG_tJMk?iNrpUjaCNwaXT$A|s+##|>*!dwGveoq-!p;Y_ z+a*kLDYM~O@Fh+q0bSJh@X{r+$JAd`HUB&>k@}P9v|jhp7V`F%!#ssJf95mZo9+xd zI?0L#rOFL5P}7DcO<+@sr>}`s($#}bm}^gE>A4$o^g37Bp0q%6R?JQ*ws(hU^P+@m ztWY#Ni{xfx%sCW)OQDRYVzGTRC8W;@f(Ip4U8fcF2>Ia=*EF^j;eNfRoT3$H1n`?iRq+A zr2;zX^MSHY74WNnWUzrKhtzf@ykb;Lu~_o?zJ{f1=L-tuvo(6iPX+z5rMPY_S%ut_ zh2y3Gm0WG*1ns9BO+9KXQk12B^JZ?HDRYe%X3~<|#k`+Mbk9B*z%S6YxD|VwkksfZt|rTc5YtQDPJsFAOZ--S&a>4AlmV)R^O#c;rQH) zA`*7pRhhorALp;*17LmOSFkFa6OdV8v+b*kF-PBR5> z9OTY8NN{0^231GAp_?-yqW9s1fGKxdZZKC;iy$N>7> znCs~{wm;~=G-U6B2JvIH`*o={G?4cY)eE|gl%hVqxngywqF#JokI~l`GQD7IJmC^y zQ^!wp6VB;ZyZ;+g9FOiHxylN$6oZ4yR2Gk@u@h*B&XwuRkPZWTfwNz8xZaCCs;$>u zt8fCLDQ!gd_*d=QEI{5_Wd2ij@mXz<3IkItUMx4s5-{E>h0~>Zn?JRs>4G;$mV5I4 zhfzRkHgMP~A7ScPJXfnX1`$(%?9Xy#Z_~W;v5i{UCpxwanLf(&gZ*2niSiBBWVyIY zL-^#Sd20Jogllt?i4WEjBTguo@|0VCr;c7CW~oqd1sxy4wb2O{eIY}0d1RxtS>^lI zbPPvjY4oYZ2G5{+QCer^RLdf)&Aj|}i>Azoj3b=JOqEP4&~5WNq&8#yCFXVQUhXd3 zz-!Z-MiDytl#-(>dW;>hy*+&Dz$6ooaSY`8Ixs+a7rF4EKEv?XU5{`k36Ye7_d;aG zMz0p=hqFg6&_1Rn|A^SyxjlPb*iAnzkQ@ir&6__tKa5+k4Ab zs=Z?`8qffTlZ<*NIF2d!xdYC!95=HPp}xRF=$Qx+#X`C z!bQ%4?}z-|)vz)}W(SOh%uD(gr->Jq;SB$YSjVERYmk@LbSEr!huMpm&~Wwr8CkE1 zO(Ge_lo~X3;u-ep9zhk^w-lBrL3+^aH0<~v?k!|;+)tF|sD1bFz7n6G2SiP%(F;_b z%bL*$;n7HMaVT%#sB6(GO7XvMqsK)5!(;ccz+kGzN_Y&4;ZjUsCJKYi$9|LyXevOu zYl~E~aF%ZiGiKItcs8~KQ6X;x;2Jb~6Qfyy$H2qy9UCE@<32OBn~Qea|- zxd(Bg55Hxq&>5Eqwswspp?G@Wk26fwvm_O2?vS^ngeFKQarEG|H01JVY5TMo?DQn+ zWF^aF&GdAW;e@ocWWf+5)>~S0>;S6xnC3P+YwSepaGT#sCec`8;V_;Tg@OX%sX*hn zzb`bFl1YJD>51Xuu7Amj?4f1blZMyQy3@19Ez{X%(`81JkILfpr7R$jQwq~PA;B2n zjlmYfL#L12pCqx7K+QI9SR|g5f!}CyduLJY)a)E(Y?w(&e7oQY?OCHz>Bh4#k|bIY zYq@b}lF!(A-{ncuFfmuHp}ExH`P2|%_SsX1EOfVe0d2Y`lE~%MiO72?W&vJS%&A&s zIj35gswiRTY&^bNc$5{H9b5wW?zt-ES+8$U-5$_^f?0Yd6F3bKZ|V2a#xEp7DL6KTtrCMKl3-zvoR}DE;Mm)0I^C*PJ|WgtYiiB z`##1$y>(lB#M(JXB0b#&6zQ6~&c{#R;iGkY!vJPE;-J zIfMY0;YLYF;UGal^akxDaZ9V*K~4~Mp^J7|C!oxJ_ovr6oFhhAr*zrydF9wzTm&#) zO1n53wtV*8ByTJ)8&H0jmNKs9Fb(`KJtMUAtvnA{yx&e#oPpB#?97B!ktSJ?J(607 zQYnB`+sMs6b(iBqT-yj+`v!=A)XMG9uEK$=>!SJD#|<+=Q}-jY&KZy;3apAfuljXS zx4~VW1T244EfzYCs4L6ZY0s#qte{b_L=7MnQcq^g#KNJn#5VJ8a3yqesASw$md<1J-VIQ4Tl&3l>|$$;t= zobs);`rWsB1S;(#@rGoP5>n5Q%Zw7+*M?Z<#*g#nmWakX*v7F0j&DyZzDf!~ogZ$I ztsb;ZY`|9WiB`$XrZH|Tl!>Mp&o)KcW*^RKa;@e~kLI`wmQtu1a-NzP;}W-YK~k>< zTP>PqK&^wMPDVfrb7Vn5b4xQ?>(+39Q$_2JS!+CcM-5MhuT@pERY$8=>!@d0@I@1v zHaj+4eT0lb)J2;-PP~`6gTa^2rak-inQjI0nti!o>mu7 z29WQ)u}((uh_>T2vm+p{+i#*<%&UxVp+kPc&jR3b5Y~oBTdt~8y%W*-UD>I{-Lhj| zG56uO4B4esO63fmRvQsrJ|P#!h6-F^r1Q*j_UdkoWC`l!#og?~lI^&LYa^y>yQS?3 zKA|1XuT7PSnrG@HmZ~52LQ1F%ZGG)28>`oRFWMV#FJ;O!^fLZ=nUbN@1)x!6gi|*{ zkIIw4)T5@h=jwyK$X;uxn&^Cc@3@Pt*ZkUx^h;HM-NB- zm~5uVOd#|anUzU|daGbkgO=TcX>F$I?WA#(8HKkT^#e{wPQvzED#qZAC5w-#!}q6c zb}w{x==7K6ZZ=J}7JWfyn{UQP$&Ampjvw*{%Tcx1KnF6j`cz{MURMQreL{3zPWa(X z_GRg8QF{Lc8!G*8^f`-+wV38V{MjE+Q}bD4B)U_~o^@~=kduJ6wW#Lp%YK+~_VUZ& z8r|uaRM+2_n%CANw-ys@!)EuBXbG2S)wi1CvNNx|{tiYh5|-4zD}<;(S2Hh{qh1N{ z9AB|4U>!?YvoK#_a4A^^-l2leQz~9_2c0R;Ptj&k`At|$#8U$}bMDqJ*zR~P`x_$^ zTT7eIII^46UY1?G;jQ7;3loztUv%)?2naR^le||8?U8jqt7k>z(vkJr(EdqmzY^r4 zs}=Cug(xPpIhQ2<^vclBW0|yA20`#Ew))_$8NTPVU{b=r^^RpNd-gBeZmrqtjWyvy zI?GL+!~G-Quxe-V_` z!K*0D$o&M1>E$Xkz_;MSGX&6sv6@oJ(c2n_U+3EZ7IkfTb##}2zP9{3>Z-O@egHPG zrriD5=9J+Q`a7m@={M@E8+b0`{}^S!^QJ(SYubBuAzUSmBWNH|0d?@}j&ZkoCfAm` zDCe@a3i-;mzjl!jw^0}tMSND68`j12w#CZ^&azi)@SB^vI`5)aANclBgLh7&G)?X> z9Nsg(y9y@gb1|*Eq4>wxy4GN>aa^rR*X34HKM#-*_sXU!jdnA!__uMow*#j37D~5E zKKDqbtx4Wp0};SF=pCFX4}@QLSRfXdzc**ECON*BbGr@@Vmi*O>Hq|X{4#qOzNKqX zhf=oNktc`J+uP39d*rtNQM8=YXNM72B)-#c7L6X|xU6-6-hpcHeLv-oM>&UF^wtTg zj`I}@lYP&S`48=4RwTC1un>>NbOv<1$`7+o?7X)*K3T}FPy7&1{l5bOx5?hq%+Pgn zEsJzqXct9;md#?ulD;o`xE|5JsYaLvgWqxe z?vX_3b=W+aN4#3Hy)riwa_Gx#WFWy_(hDy4{XQ$)kGZJz+C9m+K4-YRj=9F^xw}QY zwDp}V0^B&pTvkvI zJyH5~%i#9}p?;fDI%DIA`R(zX@Vl)y>;Tz(E8T{m)~_rd>_{VBwKBSR*zPX6M*q$IslC^LaK2c)|)zMlYu$1eHq zzVGYYozJe_&%B$-)U0((k9V@%%i7gBa6cY((63h=0KO8!$G$>}-1^3W-#12dcyQ16 z!SJgB!)5>ov4Gbv=5;3dEGD%1UM(U|yX*Rz$6ds?1j&rmi zgT>vgi-=l^{up$)*k4-+K?Xq7hfu&)mx)Myq_y=eeOe1_;I9O`IE&BxdJh)cHgMOPLxLZ zVzCs>l5=Mf=;$@w=uBxB;V>!&gPg|`py6Su^mBQdhaO|=B;o3r)$G*v52NK*oh-4y?UaWr z(LLEJhIVvIX6gUXm7-uuvU>-{J27G-<9P`hFXkj3_hC`!iI-^a`N$HJeg)oUTt;?( zTy`ixeUtI*OaHesoA7H=(fwQ@<4An$AjvZa9X@ld=+ZFDMU8I>*8a0g3 zQXCfyN!fIKB`(w-d5`Vs58Mzq)>7^gOB1tP_@_(BiMz8EoV1lmX<=}X6Z+%-^5ZY}>bA)p4 zZ`J$Y%x42|4l{EsFhJe)hBMF$i4ju~3w$?IQKlE3Xzg@j-IzJQLYPzy5ZGF|rpFXQ z#TIhEu0wmi`s{o^O#;&SN$V@fnXn<7vcW3zdfC{JaFo6C)Vq9Is4^0L*`do#=ahi~I9fj3{J&mA;rbnYe~cwHCzz7`9{ zX4FD6?GKaqCPa##&Qr@~5usXCgpNDR9*tfnZSuH}$ulO!44ey`o>+ESZR5l?l3@r& z&BZ&h7~#&D^>%;MqIVb-;0M2p=@BGaiX?`IwZ&q79jHX^ruDU+DW>X;cd>D{aM0 zg4y)BDlBVr;>Rj6LSuO2;fzjydXkK|Gm*4lg$`ZXF6}e5l1?ZBI9z>;=o}#h3t>(}e zt;O*h*g5iiTKo6N#&$zXbN63ym{4@B1>-{JP?)_v8p_(h>tn^!SRH8SQ?B`9vHZ#< zo-SxlveKV2Yf&TTj_FY*bm6%@t1MOPMSj9*q&{bNt=_F5bmo24p*sw%Q88$i4^ykX z`nmtorqgBTLw`Xfkc%ObyUS-_Qr*x${= z1j$?65H#(zxU3=^LDeS{bn3^=)uv72}i zy8YGTAgDe%=Th3qEv016AuN|aQ7iDZDm|P_6}BwCPdW#&D2O9mu8r9mldJfRt0|t_ zl(jFL1pFGUqo!t)c`#dN=Jyq-k>>10(d1{;xC=TrN_d#%1W{k1g zn^*LW!r>O)Xzw1cspJS#Oc^ju`IY`R=dPiE>rH|BmwT@h?S{HuQYg?PIPfbd=w2z~pd zpM~y1PgwhmF3KyHDKCXk-?~Mpvl;#u9YXbEi|H@B3kJ-Ae7v@MXP~uHy0$Emn zv46!@x2q6Fx^A5Ko&bM5UpuV1^}u;Hv5Hla#>;=^!}U^V^3Rm{kC^aZf8dR6;GRat zJjZuW40Ns@059SA$~pvZXnFWhd%Q^ns@m$4EctW~dXWcNd=mxU8wI*A__kRpX+-@0 z4W$NDq8Nb(N~JX%ne=@+bjw=x{%GPxOYE&$=!9+RwUPmYm+ifxR*4?|Z3pHAcxTSTU4 zu*9-J)g56ZQM7KBmIJ)8lD3pMO9U1Ye!fxgaem+dFvO?Ye_8okFiS*;E~^&?Z}}sf zrnCR)qncu}pWRB-$a(O6fsXNUP?C;Two|l8dssLFqD2cFzm9W8JL4Z=x)GPT#~$0= zQ6#CX(2iA%8;{SiNd(be43m-nABfo5dW83K;Q4QjVAhCs(@;h45RwJK9pm7NSI4VY zjS;-${F_kMLu0PUu&J!@A6CJu^N`mrsF2c<{umCh5QtfzP3MY*Fv1F<~;H6elUeA|C%qDPz{*e5GL%SxIu;(Z+sJ zc_&uOCa{ux$%szzu6jHj9JKSo5f#-aQtPOFo-xER>1t7_n!}%NgCaEPgcLyn+EpVx zU|CpL0Zn-MiRoinMN%}nqFIY$*_XnBXvw*g6M2xVA(s>Xs1uA~!Ot z>=bS%%61k?$>Z=jYQH_+^sx72<>L5+?6fGZqB@ph@I=wW`s704^t5yT1uJ&*Bsh#% zAbs8}%uo(1_{<{NM73l8y(xBW!Gv*B&-*3u`XlAbCEup(@3*MHQKHH1PKD3K8SJAO z#~}F1&zUMZ2y;@!+Xxb~!jcnNMFhy6+r{ceI`Cx}Bq_!?$-hCYvjHS&^Yc|ShsHTpRYwH(Rvxz9=7X(w5?LumrNCIcZ{ za_ur`?X(h9eiHimkAj8QL|F1_D6j~8i)j4yI|%7&Rhcf;O%`fiRJH8Ge8uRYN7f}2 zF*P)L6?OELvA=Pc_$!}jYMkU^I$H|EqFj1iDgzHo+d>6~KI%q#r~=iKf^y?CEb|CY zXy$SdVm`|j!Rk!Nadb=&VQTmn@$&RXiy*qsAzL|8yRFqiVrCmtM&~bPRJo;9x)q~` zu;08ZeObd{@Iif1YDP{P+R-bqhcljEGx}<*4QngGM=M4M%7SWALPNg-n#cIl12tjt za+-0p)72TJ5WwH!fRQ!pCbOBWt2GmR(L?0y(FBIz8ab0yaxz*89==cV3YtATTc6p`cFdORInZq6Q}YAp z?BH@bi)sH3(;19Y0v2m+CaiQ6kAv`%0|bVsd!lv6p0s`#u~)NpKi+o^E-g0jCUE9K zjRbEV6o>c{$5Cyehyh5*1WD(%*rpD2m%USomG#`1wwiSf=6QFJ!=`J$C~d5_R;nd8 zmt+DG^omS3h?up~x3+YA*i?d;I-8}FRC)K+3N8>f56L%)gNIJkmWO$eYl zLdu%q%N#T}xWI484UlsLyqGh-#SAW0cb?_8UTpS0%=Ch)46su6bb(VO@4J1x(hkKt zpy1!iv>fUXe50a3fvvTDzU>Qq^`oir7$i+oHQm3a2@I=)aP0cM(NGX`2?4!vg0F_} zFgwV{Fx%h<^!N?B!dnYd@}TP`b@mV)))rQroUJ(eHT0r`hUkNjgNDX_qm-*bR07(q zB|S0h-AwX*-7}pWv3)X(Xg{-kew@XEXk$fxO#HO%H87&$;A{(eXhnBrMi1JsJpA`h z;|MkmX6PlAl$ht)13Y#$_T$~FrBsdhBY@38O&4av*8#8k8qc-aNAv-ssm@Kax`rC0 zX~mA<^PbQ$H#qcmms(S}lA&16u@nGGL395{%=FI`)3Urn(w~r`j@h!;TJqbeCfX`( zVg_9%ll-Jd%<@N4;>qg6W}sbo-}qqhsXyaW#_!%{K%65McIJ%zqbb-ZOntrjt)tH_ zBmVC|jjwH?{Wk61fT$j<7k3Yp~VGFwdl z2o^bPAO0P~0kuc}j&@#8BR-EOb9aef>IJ7(WolSEf{wLsH=CYik-izi&4x5Aol3e;G7bZ^~xy6_#A4_fPf4L_V@i;?mu=h zo~0Y$@y!-uin#6m4#w?HvkfobZD_b-7}fpC-XLy}rj?^CrLX-@OsT8H|5DH{VKI5! zi%LEyXfg-&QZth-bjO=CwE)_=7t*BH-QdmxN>WT z*$aX=1Y?qfM8LdhOmKaPe#R)xH7$Au{7$4zS6GC)dNCZY=~g3pb`=RZp1pN({Id&S zm=$XbXhys}naWyM4+z|_fY1wLM}9iTe`3tnr>4aC0WFC2D(!RP=I3W$8td8Z>^LUt z(32Es>9aWE>I4_E{u3oEH=_?P8^ZWkb~vktM~G|l%yT?`Q5=3rr)wvG&mwZubrpl7 z&h;3Az$z`)BmLyc{m(Xe>X6HC_|Z!bLULSvE>CI>&k=)Y@|MXO)%TKA&xswkNjDdt z7XfYoK$XI4cdL~j@q2CU&k&ih%$|32fd>4O*I7ho96zs@maUv^YgI7BDW9zZ88Z#DJ7lOC*9v>uWN(l{4ioQ|Pp{V?LmiI-e_f)O-RqngS<|l7b z-3HSw+b=-A?K&$TD3IzaG_VCg%T8+S3Os@Be}#MY{%Qif^0Siws=sEzf1(mXB5o?q z8vY3Q3BhQ6dP_VQ22P<|CE2_GUlcZ+^&uxwpF|uIR$P){0t5^ajqOBT1=ebMp*rDEn7py7Uysw9z&L$ONqY_TXXf$W!Lazq@tY=&s4?bi_-mZpJG zEHSN43&wgA3ugUN;)qRpn`8B4vDFL177^!j|LMj4@7>-2EffOlHpcxySt}5oSpn-< zDx)JodPY!%^=z(b^xSz>izA6xkZ2;q)v?(;L6i=iIi1!$A_lGb0z-b?GyG-)%We18 z2Zw!N2Qme`Zyl$@&JQh?*sD#4tQ99%53Yg%?&pi<s;io*1hg_|+-m38WJ%u=#^Fn}tUdb9oynr1Q;4PBV#JQi5?*Ilh#2WBI3bR0+G z5c{QOVtx0sCt?5*Y#(O0Z@T-wQAC%Zrb;yZ-9Ad97$vM0|Cn2$kI59cwk2PNI253w zT73XmJ35dXvX~N6dN(M~{NlBipLZfk%tnOI4;UpeFjE}YI;tvva1-iH$J3xiE z9=qEBwcLy!y&(?i-l1v3mTUAY1) zaZ%zJNhE#Z6u%Zy%7S@#*4!aOD1Ex2VTAv=tk!s5!jl z4yxwZIpR6x*bN|TNEtk@1@V90QSyVl_+TpwHQ~S4K-jHruL=)?w#)6=cb9)wIuLGJ z#Cr3qYy4pyh%QY_>DS-(TroQJ5Zx&ucE~B+3A`6FVpe6_6N(LpmCAmhuPfUmh11!pkVVUf;xkyUn=P+WhG^om6ivm6M}(OEDm01I|9nj|$wqXU1Z03`KlQQ+#|26s5En!BOz^ zGnEKJg;{y)DEs!21kHuB+vhy7Ozg<$kR(aq6FI4zU$jW@Xl?P4-dTWwd-t@#jC&Rx zA&sQY;+z4ej{{mR#yLrpF2*00pD_{I7KC4pD@U_Z4RtR-wn#y&@~W)4A8Nz8RLF(j zuI%z|R!Y2Yso8mxIDZ8nKWs{NnX-kbDqBq1ZU6?<;D36D{lw~ECW8sfa%wJb=N#4_Vt97g| z16^aZ{{}G~n!qdevbO?*_3Q*Rr-18hnS;Su4zV&_hY2dNAV*t>ILu=3lM<%&s_W6^ z^u2Q+YDeT#foe3>pm#!R=T8<>keQ6Nz95r(>PEaAxQxc|!jML{wf9z#mJDuLmr**t zSjb~mUwX6eV-GTXon1S$ZZgG8?*llTJ1V^VoS}R>0wSHfgncr$q?`JsY&6yna`OTE z*E;-fMns`WJ(OC`@g3(iQ?*IsInCtC*(teH`OK47*v1)-96Ja%?~#v^=1k5#wRj_I z(`}M90EF$z9o6LgzO+YhSWzR^@J~%TIQ9`n{jqvOHgl#>Zm2ahm#Xnic|@Bq)@VJJ zOtmOu&XM%x<{T%i_$6+k3#}RYI4Wa24qBddIIP0H_hqJ7HrX6 z%rXv9YL+}D$Fzqnfn6XKNNovIFMR=ylLPoW@0zEztRMPt#_?dPb};U3!W=q19erXI z*=?mmC;q9`hTdM1JOLIisMT@MncHCDb@eyFb2EXj2`=wh<%K*>qHE~L$2|KwpE@h6 zNDQA9oC0rbOjFSi2KGza;%ssVdEMYyAgtYb36lKF5bCxq!%gRwO9V&Pg^gVt0$;sE z_)g{9mfa2b=Q4!byN6EHt=_|H8oU5XF1b9pu@!#J?zlrk@|1P-#IktD`pt+xhGRnD zEionKt)3h^j`R<_5`8eanhAQNKEMXJ7Y94I*Y-m$s=k=8-O`?r=_Bin&R~q6W>qGl zi#!GLLI%6Z;9T1hh?%Jm0kC*?DjfS38lbzkv}U+kcqAJy+<*BewPl#?)wm^f^Kk9j z>nGKuO^4q6(eGakZD!qQT{qb`oG)I}0}KrD8zHyT9C3R}R~4t2U%<5`hJD0PXPM`1 z>m3^wQ(C+Fz+Yo~W@^sBtWU_g-lqILGi{R)Ie7nydf;(+WEDtgO-^wKxY90X_gCNo( z569N9(s{S5I09FDN9Pom-XZs&!-+3DPncQ>))+obD~;z$DSmPk9~*x*#ATX zx-v~FmK7}J7UwyDBO$OjNpjC zCTLhY3PeKvJf@XrY&x5T=}Qc$pG7xa(79AVe~(vDoL_FV%fL?dnABrY$#4W`xJ1Pf1bMl$v77-goTj2}9rS$UZg8?!O$wSl>$*Zz zm|AZg5X(2vq(?OCUT@hBS{(Knyu-=EI9#ZFVrYGr#(lJXP$Ws6%^2JYKNq$`ayfKWgYG^Phmkl~z- zbx-bqQJO5ft1+ZLGGuB5&}A3bHLjSr64JJZ(b&ueLx+x3jL-;p3cv^vrl}|xO~?I1 zvSaUQ{-8$$s4>DZKeEg)w~!`eB*1VXCeV=I5$UIhUo=A*61P1sVNxp8`=$^I%7P}w z-6bz`U?`(I#=_JU=gK(XqF8tG4Alh_L^ZdNI6eHkmlIUHX#$RPC`!?WPVTCW{fuS+ z33(VXyzddA=T~;(6LIXdY~ejzQUP|P_h~E~Qxf}46(_!;hFBi=JRjEvmd&@A#0w&E zzAQQF#Pn|W=a$prvHZA3u zj+SvpL2fa^X4}1HC1tedmN~ZOe~vYyQhK9Zi>(nu3K=T%_fHY@BzNg(D&D9Y)vcnH zaqSOFB$-2(^eS3{vPyl=LnA7aLugZu1=r%weZ|0opNlJMDngY1parZ){skGkj-OX~ z?x3HUWNDk5Lz993yx74XS1s6!Bf02WDpk|IsE^6eza<#d4MU65j<2Ak$B4krITlR% z*FFZ=eg5(BsKh2J7|F1rU8ZhNsT@N&`C6+`;2q#1L6127 znNUWaVS&kfl+9ey+hRf5C(|cB{~x#2Q#x!cJ79?UQeAu11aEbqDweZrqgme?n>lpY z*h&UiWE&%eHwH$Qa3PsxeLYvcVf?G2#yX&Y_Pc$XZBf14x7@)N5U^e)+6%LMSriJa z7{9BE0VnU~msinJk5QypN8IUQ(CU@Ho? ziN!(EoGWj#hA^CRQ-ltoGUMoazL8!|lYqJzm|%>?gp2>nBt(g#Q_iSndMil?$PQ|^ zL96P6kf?)vsjw}#e*H&zhK0PtSfALYpG2XEpPNhKuHEUUU6HhN(Jq~q&fPOUA*!N= zr)8LUR8$H$!6rL$kGX+}vwO>^z0SW`n9naDfl{cai0rNXeh1l>mk%qDSSpSuk?hq* z=8v7r_u?9Df+B3{VaP@?ZWGUAdcaj6cy1v`1F&-)D6$+dWEr#BYoR8tpc75*ed}b| zOCO$xGos1~ZkWnl#gcI))^5ysQ-2^{o#`?_`M~c7VupZ6W&LH|& zu*h>=)R}Vz3jt{%9D*NDw{MR7~>+W@l1 zi8Shw=2TcJ^HJ(Vn7ZnboXqK_y9t-)0Y9{Y*HzDkxn~Vzsw!$?_IB4 zZw8~w@<2-J0980}_mBYYiwYjNM)!b=S{xfbzh+JaXL5yn#${px zacjcsveZ6UJk4o%5y_(@W_+TW|HK?<9{v-RXc9&JKfK-Jb0%%{C-B%dCz&J@ClebJ z+qP}nwr$(CGqHUK6Wiwf%Tv2syMMt}_1mkvuj=Z4(dV4c_kw}S@FKQ`j%K12iKLAz zX&E;wt(jFqiqg*=_{NdFVdykD~=@fKy z3!St0B)kTCVXyFhYbC|BS;4TYdacyf0$uE~cvh)KLvQtioPUlsr3*-r@6Y}T1YN&dEUIpCVbHJP?U6JH_8 zO_Y>q6X%f#-A!@F337qzQB=UFnm}3Xae~t&l%I(#?Zq0%py8!XcvhtlvM@gmnagrZ zHU(z7Ne#a)7(TK&{$X%p{|ua;(2%tU%4vcB%penb3Hr+x64VkFi(>P98VYEATsfa( zN{cx5aENl*ytU?;r+!Au7Nk;)W=4)#a?id^df966)Nzgncg06E^T6Yjp=iCr(fSF} zX);j3D*ejh-N|ym?i$NvE4O&mA%!{i$jH~-Euq#DuFtx1H!p`aAR^W1trElnsy_Jjz znulV+GZVnodFq)}R3DSa63?G`uG0ln~d|Hfc-O_mMl{UGlsE((Q!! zasq`6@#w>E&8WMm#`dn2x|{w|4LN_EV((V!u32enEP!asR{v;NbZz|YHG_QkcSpxJ zep>roZc4eUB}nAa`gzIuJvfBBB+6@Y@pJ3i2eQ3<@^?iYs2K@JO|3J->^sjKfL+qa zHO=j5o;{|Q=2Q9!2Wq!=5uWF^KVk_U$T~>TeMIBE_Rg>}OFGfmy^7sswPP_;!0~s7 z6fBi;!>EnBr3VnU3YLmi^!yTs&Kb4GyYtK!wcuTbd2IHZBelL{sJpj@kZ-Tg%XgKr z=iXTk-8}$L>EN3Ckh@GbllI8Xk6ZCm)ZVv7?z1vbc=`Td`Tgzi?N@{z&so*iS<~0r zRKa;x&z8>j47}nO85a;_IGaHxo$PeL2r3d29@n-%USLQl0{u6Gy8f-9Xbe8O{lg2Y z@fZw_gl4&Xf+2VuhD@~iIM|U?IMJr^;4cI-CUfqp$A{N@yq0{S8q8lC(i)2TQZ50S z%ak%074#L2&0Oe5sPq=w&WHCcK$=7n&au&9E@s1xCR{KO^LH#;?G7hYm~w8AI-Q*ZvXVxCepuOF6l>;UEf~ zQR$9SQ&>{vBAcgSxzz{X&32R9X**JfD#2>CIgs<+B8#0)auPanD?wglY95KAESa*A z%=Hq`p~hCh)D>RIWRjjDe&|xQ-W&kOYw4`{Q7Gw@(&$G-ok`2`67_t&OC2t_SWsQl z&1GNRSc=c^2lUtzWw4Kfl$N2N7D1l@jyubK2#Hr}su4wmfKhmujT<#!i0z)XF}2jF z94aVTemZtVpT?GV%X!lQ*mmFzPT#&8Z-C5c7A+ux#@|nQ!g(qgU%>@Qke(<>ji`S+ zLEAFi*!3NtKGyXcSX9Y_pZ@_8&TVaYSW4i*6r0A8rWsmMdSQKrF8!n*G|LzE($vR@ zZyev>fN)?*1DO}>I5$V)om>mgnVhT$%eo}rB;BDLJuFMKsH_Ah0Ex=NWWZxHx;%z* zht2Ncts+L`hY^de=WIDkp&PHgz)7*%h}5m$v*|o(&;+2DX3!#tn@4hYFNDK4u~MPX zs^0pArGDdm#>d+uVl2mB=MN_D2o71VV5&vEG$)Ks+cc$jn1it3Nmqlh<3-nvF@mhN zxuk?9cF8Uh*r4qSoDcp^7elnD_=UC-9#zdovBuHSp7zs$l_`~Mh+0_(Q~>=6geHy^ z>o7SA-D$!w(|MEY@KPgAL$Ld1MtC}RI{Pc>eT*%tKO#{ zw;*xNdeB+~WY((nFlEQ1t^stPNuGOd9u2(t0D_0Up^*5gRXk_=+Q&T4y>k)tzITl~ zpWi?7K#Q-!C8prfz{9D&KIN3507M|L9QjI^#Re8h(>KI813QqjfxHVU1Za@L2fyNi zEFSd#btkh3IuCl1M;F>>c{`3TPJ!=%7--dS*j5m8VRM58fQa60P9 z(Jm4ofa3mSL=qwtnrMu4O#dz&+1b@x=H1XQgdthk7!RFA1iS$Gc&jf1bscve^%pZR zrXX}w^-yV!2f4&&YlB#4jB#52-!(U$78^ zd$B_p|dXJ}eb z0=J{vgenjl3MG}v(CI4sqAi_^2u6%Cm%$bQG0DZ)v=-H}m9ix3(>Y=>X43FS6Ro|C zr4A()J7ge%80{d?ubUQN0UN9NNUZQ92-T=i=gm)`4H_ZAX^N<1>SlaR0`f7H$`oDV zl9Fgm86)N@u=(qjo>NsDY!0F=l#49`3~>Q#rGgk;pp_S{bW$?&j;&33 znAdKslDajv;Z;P3#)R7^<4d(GQ8gkK)bca{opn`btB?v?FM!_8n_6u@;#D#S(0_3c zORZxf=ciLn)e=Cml>vY6CZK69jRrMa`85^abM$9zE8geV+5Cp8eApOsAO-tIN31Fh z&$7sFNoUp1%7e|)44HKXZv2fL-`4b^ntABpjbCgGF{-94&{rL4HWjLml^TR*I-Da2 zFFvR7ubZ~6q*AN8hb@VSH4Gx)U16g5t_#FA)`27do>X7)CfHsB3nGH<<|pO_5<=1? z1g8)O&$@OEnh8x6=H18T3%{Fbc`3*^1DZ;Te^z}kL;as+PQ`r z0;eo&f@6Xi%fY;yWh)?$2s{OT8xeijA09!oE_vokDn7vM$ z0v&$t1T!mB&JJDchEl8Qzc;Aj5o+)DwbMRUBD}xt=XZZ&qIZGyk>2?W?gEQzH&vX8 zCvsj@^1?LAt@G_SB&W<{a11V&&mYhLe8SU4`L`Iv9cO$$1)BqHo>o`U(ZCOeJN2@U zgIz+WVXo8q4E~rNbjRzNuIy_s_|GRbT;c`(uzA)n?sFZzuS*i1>p#F)zc*dy-YZ9p zuDteZ1B8!%`{v@WtGLTCc^9eL$NPzKuc^ORm47#QL%ub~ykXV*ut^Lqg}md;fUNGl zr^CLI%MVS-fhU<4&ed(mT0b>j`a^&{t4H5p)IFcfeyu#*F z7<*EN8<0FZD0C<;oVokJc%BEDbu#;)>@y1}3+U}Dn5_5@HWav$aqvgmYq*jVEXuQ^ zxUaM8V$BUKG*@s;F zt3rlj9{bgKd`wB;_5fL1%QFLKe z80}YI1Q*QV1&abYVmz_fHJ-}vBQ&N;d&i$`)jxx-n32q|KxY9^vsgOSBtOFmlkQ{; zFCY*7)hg?te-X13FOW(pTp~E`%)~+|DVB;m;_9K1WjK(-qgh&`sXHtFbi2b8nEW}C z@ENE`616}XcbA=vmXn%@>gAA4zDtN0_*RHk2rO4*fIq>7N3WH_IU+8Ez434&Sr#8 zmz}^Sb4T2fc#t`Zlw^wMBF{v$NPB+E#Jq?J??3ehufv1B=XgzUsK~NU^IPjsO#Oz% zYlx-B1RZ98>NAm5u7sr*ou@~M2XY)b1r@9fja`F^0F;&&7yT-5k!B>3cK4nLlBh9@Mj3xeA1^kKm+W}Z*E zpt&aA`8fpaKPWLFe9&R<94vfp=o~ane89^jk!$A6Y8(FdBAxC%{v`T8hj#QL=%lzT z?%US3Xc*#A`|MD=gfX_Pu^18~Aeu0OtWbg5#t=eU=nM*lLeMC}u2{kd^@gtwB6`!O>9AS=@7OVgxCd!UJ~)-l)A!$U~Q*d%jA7cAQ{ z61pwz1r`fDC#$Na$S%^});lGahxM4IAQ_j+fn%!uPL`ikTtUNBxU^6tR8hyr6hXfi zrWsVspwn=P%`#LLeP86~PmvLExdm<}x4>b%=nAP=xo9c1pb-DnQow9gm$xxa$=gnl zOJR`!O_9(9;o1v9@KMn{R#AYzA%#_R`cU{Kq-amZte)Va0p5xXi4~EZ!e79u8HaTG z2UCn$wi?YLr_hN@Ek&FrRcq+ckh#?`1YDeIO#9kjHEKz9RYkrG6jAG$$<0@?kPLS1~!Y)Vpsn8ER#+bCNP?HT}){v=GM}(D<23Yf$2%sZga! zxa3gg?t-_BymvS!K4X`b;J}eY9dAwd#D`D)y*s_qw9Go}#AvY!~L3Txw#kH0FA* zD%-LAn>E>5VZ~up$*SwgDy;2q_^NwRsqnyq z*<~L7_Q_n$%{Xnz#U;gCBT2$4ID4$d=ypZR4f_!Ry)gXI4cE;Ve@ORS&7}K5kFdyt zQ4Nln70h1s(tOsbV%0Oq)tS)23v*4ieigf0jrCF481hkY68mR0R?vW)0ap2lq?23v z0xQOt&km+9BBozJ+7^)b*v)qY@b@-JC-Y5I;oorj|{vIdNbD+EeBE?6ikAfoT6{tl3S3PyT(g!kGrG6i=IV# zwARwllB><%10L(tjKVBN@kPWNF3k9V_z3Xz$h1F#^P=|1oLs+0?aF2&(cOq@0wo`-94ImvV=@w{UK7*S zJ?z*-pOM0o>-~XxFwV#7Gw!p=CG;sO87aVi0V?-Yf%&RYjiuV~c+QtS=ZxQtQcg$ zqKCWM)WR+M_*qVy1zgtEj7YgU(p3)7T{nlewOpw;-y{w7XN{6m*(4xtK4KY|8%{Ff zT3+k1XN^Wd0%%H{s|@Cf_+&yp`*kE;X8EMXTQ)|{kY(C>hmOP=;xzg@!f|>OuKM+Q zu|g-Ks%F*VQz&G6(j#3dbY{MVW~>8V*6ds6PmVyJx2HhO!Z5tt<;lVdWH%_1iXQpM ztf8XaP6i+^a+FwRrPH}fHC{*^UR7IW9&=lj4wps0W+tvpsoiWoa;D65X25lN);eCH zm0UT^MpM*A_PHmelSffWQUxPMx=j;I#Ig{4R=r-v0cJynMmO7Q2J~8zR9q9l zv(d^^#_n50;;2!=)lOKe+2Lvt0F-Ynci4GITzDqe9X1;6Hv`k_kdqWxpj$(%>k;3- zd1-5_tWa=Lcii`?Wt`GFxoT3a=%AJjvz9+AcTMcejRl?w)0@9_;gm1pR8i_q>A_Q9q0_+>PDO#%~lPz!N1KEvsr^%jf0Q# zNoB8PoILG^fXo=LVTo?|jhP&qk5P69i&(rOz3%X3Jd1>`Vc2ZzUdQy)j4{G)p;xHs z0rk+d@8^!w7R3`i!1h1@SWDhCle!7Z@s2IvnPAPH;P&cJ$>u3r6$DMA^w1nW2N)7@ zO+oe~?7IwrbJVYP5AdE1+%k>9*v%5+{}3&?iEhfkwXtA8^SJDj#X6N-Uz0^<({&xoH+2D6{3#Zn4Ikq zuSFZ28UC%s0-p`w`XKje4-psrE043l=4^n@T%Fve4Iv)Yo7KQI#M9@iuZ;ehz6Y%#w@7I1-?)0EyGS;CI-`O>amVVA8igC7_0y}bk86Nij%d%Ty(-Pu;_ zIa&k=o4N);x>v`#?%#80SKIR@ypJ!v`x&|Z&1h$@KOZ47mhc6s> zZyvhuUh`(VcAW3gKEOdw4e~zDdp^!}ZUnx#Px!yqiM|f?zRMvqG@XCzx;zfcjcvo0?dzjT(A^#HQ={pj>AHJLf~HvS`}}WxR}%(6 zsP^)!BR9-17YNIzCCH8;KM*^Xdtb++Skgx((C`M(oejuJZfUb^_5cnNJso$bnfX0U z_R-|zA|K{`9{PQS=p9s8BwgqEr{(82^#Or-M^(~OPQJu0UdP;i5JH^Zp^o3%kTEg& zZ}~66rJuN;c743C{J%ocp9N+0+IsWYe?tuL5gd4-0 z{KwFa#AU!4FM$7kssb<$Vvc+1lE~D{j8B|CI06TOIvy(flYJjHc~WOvdIvy3mYVfdzrjT< zPbr>v*dG^k+rylGxTj9Ub%t%Hon}@Ff22|j2l+md`1(9sK6a_Q=ZTiidC6Gn*SEBt z@B#MKyvaSj&#rdQu5!=jzW1DZgYL{8_wY8z?z@AL@eGz}(1Od}Mqletm%RBRpH?^$< z=BT5{@1Z#XPW}~^-s_(oG^8Ed4$QGj)9`i@uJ=dV$ONu{@+KdWMGoCPP(*d zmb7J{bXb;jc)4^`yL94!ibITwYpkkefvRu3s(=1BGp&}~p_V?QZeR6{O>6kJY8EVL zxz-p|tr%Nn8|U{L7tEQsw3_;5m_`K5*<4hJ-r(}a~r+#8k4XQ8`T<{+7_4gH!giUId43+D2*{anx)yDo5>zC@scK+j}|2;R%>@{4yHMZV0zPvYoJ#-gNbyqHRHv_s`FS~m;yL%tI#~->U zwz`+kx>uk6FDm`^KHUF0QoT0Pdo((6IQmUX|9cr*IUYND9lLn@PnVu}8GnDDZ25Mj zpO*F?m#*HIKHgVm9@hFVww9lEHlBB`-~a8s{`+`87`(W+`uOIguU1~K_TQdwKK?(8 z(%+CYE)NO^il9Ic3_A5@eZ2t$92T);ws=F~NE9lw;ih=u|AC|%izP59l`6Hz6A`k> zY2_xC#GAdH(O5ShZjq-@83M5lPuCz5j&SD_CvRMR}w1O>zO zL&7{I1l_UhC*p2LzlNvLuYzq0vZMN-2+G_SU9X!FHxO&LpOpL2pUWIz0hp2LLk1jJ z=9>Xy^DxGu7>XnRf(R|ccN3+lJ9c3u1Yt8hiLpY)NNk8X_dHKrEQTWC0!|CHq2Vk{ zG<Gd?X(QM7N~{?njH1mK+D&~deKU2k$a5sjGP0R44zjBYJt^FaHGmXWsv;{BW}!ZB zuV%SI1DYrK8k`N`jAO(>Fw!Y0;i<(_nwqESr2dBrm8Gg(L~(^r$_0TXzMhskHL?e1 z?YWKs9XFuD^Lq8_`q@=i$604pU0`Dsg@%2#;zgmB=jlm88E;fYe?4mejDfMDl}*R0 zA^cetA~HplIEoZT?Fg4n_RT1P8bWe`L3?m<&xJ0`Qce2=_wODQ-b|kgo%;Kj zhb`wHS8qbW$FVOyt$d~s6)9m8L;h*nLQp9IbN-;ce6@dT&E>jvb<+=wcBq` zu7Byfo_Vo+OLseye)Db5g_JqQ4?@pY9qz5ef8PD|tbN+kQT-hN_O6G_{}qnm_XxvO_1mZF$_FrXwcTR zlZAnSfTH-wH=!QFk-dv(CEjIc!WbsD{}Ul0N#JiyU9=EwAv9#kk5iucU|?b)!K<1G z&B}a;`bQyFTYEqK9iylmco7JS=GSn-b!9f18|OIC95z-y zS(k#7bINcOF|JHGhp8)ULJ=+8wGzRICdoovEpeW-$0|vwJ9SiZ11;^AX`9TCRd$gF z`Hvlf=~wjljO!1l+Y4>Dh{ztU-lBE=U>?AGoC$ONCxw4%$~BT| z)ut*1N8=fdQyxv>cu)1TEPuE$0gE)5E;SoQtQsw_>jJSp{WFFdAtu-VrE5`F$X)H@_?%AqV zIEY;FB~@)YxTx}oh)>YMX09qm-#{m5D6=mfY+Q*l`OYtrt988%yWBl>_lVSa`kk-s zcBYj#&R07;j%^l)HizNgl*(Io)(CxF^cffIx(=M`F#BS+?#eI(LR&S}bFF!v$JiUK zzi-3wv$dxoUOBSU?(EaE4|#Z0{!RngSVn@eV#2G}GwRgO+*lc*8@&uNLonFda38$9 zyg3WDGWfB$`u9G>D$Zq7`={GW7ztL;SZW}R-DNNno3V`^y!0V8khS%9s6%Rn@IJlN zS{vsNN8^C%-8QI>DeTnW;XWq86mtSVCWL9tWC@e$wJpV%(@D#R#AnWv?bK}M-iCau z4->esj4`7t#!T#Kb4G5@cx9&vw5v*b&c5++C)hc$l-7k)&DX`mOEqpjBG)lq9YXP0u*zw>(56&DFACd&IKhGKnEDVKOWnj(kDFG#Cg>bp z&wY-K{*=e&y6J0?=a&UrAC^Q5cxZ=jmNAj$SynZW9UVPAXavb6D#2&mHOqAS>4$Tr z+Sr-u`TPFu<+DhQxhe^1CTTCQ>oL(|8XG*9dyA%*NfuM`Hp=Ydh~xQ=0Dte+hvIFY z56Jn$3#rW(UgzLtTHJa2BUmr--LBc=^=C=-m5bKa)UQ*Pg{gxvcq{%?BmC3!u$t zoVuCZ%XN=NGi|OCJ;z?an*h15J@lQ2Bk23{ae|>}D!-?tqlU*kqW*SiqSrSBlI>I9 zKQEqs@5AW6TB~k$EdIL7DkWm(r)J)-^U`u|O%!cTYi2tvCp@tisi!g}$p{KfKQW>9rtZ+++o z_rN#g8v0%me1NG#t?o?x!>+hlw66NG>4s zBA4l;PuCRu)fj3GRM!&D54|=ug18ABa*LqC2**pIde{wd8w;y13#&o_LiMM<7>5~0>kQe7G{`Vv))6OB_I z(abJT`b)>?L^}&I@H-T?@F>y)%7{x|HgPPR1DqkgTwhWk>YqB^Q94#fdaPZ#`_f_* z;j=FzF^do}4JSH93wWLDVBbR3ceY0s{{=sDsj&d_6WjJkbU< z?p{4{$UIK@RF@_rdZHZdvpi+`gexnEA%#_$^Hq#HBRqyuy}{XNMg?}!o^rXI z!uy<}*Pb4ru2|`uG=P~MeJfdGE>S$5VSoA))5E`dJZ-nss{B>2EF-5TBMqRDx%HYO zh?}(spPP&6SRa8Qz1{?+;bC&nc?Nfx;_DASvKy$fa{H2<&h`ZeS+h1i$o1@8ska(#QC@ z;on1*8a*yONtw;T5%X42n3`ds-eFHTkn~kSJB_PvO_h(*k%{J+U+!-Ozmabf|10S! zA4Rf2!n63hha4-izyYV^h$?GQDdhsTP^FWHRz5e93hYWFFPtKPh1!dj+Wz-j`X_s- zdIuV|evwT@hCQB?9aj$bT(N5= zkSkp+GixF^SK`&H>1p7HBgoJzrO18(B#NiTuCH zWX1v)&$=y->QT*VnYOaG&MJ^|sGds75aQ|&&w2;5dN}Utvh`|vb8mULnpo-@uDggx zjhduP2)wx(inloCH9xA1JO#IG3oete440I!w37AOmqe0?;@aYMVrgnf5^w@F;7~D{ zXti8@9XFtfud3`1eluJZte<8*Xw>&MnkB265%6={PU_{kOE^S{h~O%)wQ8={8#KG( zN^oj(-)h(bN~uOuXFD2s?OTzU4C%O;8qw-Vv6$!;a-`cJStgs-E!z0A+NAKSZS%i_ z)!M$^>b$tyeQ26x@Ea7~n~~mwL(?i$tQuw~8c3)*zDK6(TSFGpB4Ld6L+-$uEL)i- z8|k&`KqeZI(Aw5hU@E&h7Yo{I-#dfh+XpmZ8}Qp(Xu8_F>O(85yWfkepc4D>ySq}_ zXOBRYxocFta?!k6=ma~oq-xntTIQfzH`U_OaAl7iVqfq&&9hn`xH@ZrmQ7_*ouR~S z)mm-NRc#$vy%$n#=iFV_@Lg^AU4dS0JyGp471T~6B`EL3WRKK8i=L5vFgJd7QqWFDcT7CCj zz3%W3FWk8R&u&g?lJIe?g!AO+!}c*6mISVT{==bJsdNihKd1`>-{62whZulVljzTZ zig(zqe)v3l=x7q%5>$Dv%tj9Uf#lK7W9~tH?LkB9L8+?2f{sC2gnD3QyR~+NEkRZ> z>Cl=+!%Am2d$ca$Tf0kj_aA~`UmlMYe7|+k9!0Z8qXA-R0$X{Ywa!~2C36vdzKQ?O z<{r{gV>^H7$ojG9Xshgx5h8-oG@enD==#8@(ISG(-`;)hv_qypqkmcct*I?d~1+GJ1>Z_a>M;>yAaX@8;edQnr{34V~$xjRdNLvC=lu zo7Ez7P;PEc?_{@yMAq+1&m4A7BxKCEbl^7@aDeazMX?Wb95ek)n$fINCg3=5Y@ zG-XuJf%S|FZB22;jE@q`KXT8zRSkMcbs6(Or7}QGdd?dxN8EJJ6U5BdR!^3ZE?|tZ zKM*u_tyhr0wFF=MQ41NN*SzP)?j+cnXD{~?#CUQZd(9X(wkInJldDsX&qkj zh9=c+yO5N<-&;HlTxFJ7^3j1?L0DVT2f${+1?mi5b}dP7EtPn$-Bhhb=`2@RFUJ$E z8s(fHNB% z;!Qv+pn2DORPGZhf_HORr(QmCbE0NbcWaY~s(V&vnA&Huteql!-G`!Ot66jV-m+R) zLk*@Q{^qGe+j`qW2EhKg+7<)2;BC9Q1oYXg-4jlP+3yGg)+m3pr1k7gA}-KhZGPzV z&z{GD*Uqlkq%%`nVI+jQZ58ibTJW519O~F(L~k6&?4A+MRl#oue}{7Z*!*L)7xJ&{ zm+ql*Ev!xUA@chUdRJNO;y@z44CD|N3HxbdaGl${1 z%dx)F=`lwMx|J=3|4t<-^Vm#2JN|J_mW9wvFv-xu+bpU0PRRb)3-H~p`6_EcDF*1C zyycuTZ0|+#U3J%<|I0nm+dA+6aY1sdyoTz~itS`mOR9y?mP*jJjBuGxU)){Oh2e7< zRC@`azuBCDt-EsBp%2>KKAG~l+UvdfNqBpPbjqe{X1y{jJWrpNdx5dN&n$K9OL*BS zbJ$T;w}N!D&UXV@cL#obNzZ?dM_Bp=l!-=?J4fg5V3)h~PVeB^QO*rfBnFSc-`U`u z$baN(hD^JDpBZ<$JVuYX^Xcl>3$X&q@^knM<1%rmA6ucS4=3f^H>J@Ac zRcr4`m324BK#3aQ{2Qr{a+6)qZk@o7X}^%X_kY(fXZ$gpaTNSSuc6h# zedr_!>aVH%Fe7oVfBUY>5mAhWVaQ&F|NRMu*rDZFVptTCEhjrGY>!eOF~nvyOn&(j zAQu0VKbDMY!T5hc(wqf{5{L+fGsRR*M>5%*CU9#V|9(xybA?3W;02H?6qATk%4{^B zB9tqX$d+g>e?!s|c6f)L`9o0kxjwvfHSU??i!WuP4jbxeYcT|jBQkyt8&6?u;UN|wZEEHi@K#sQTu6cW8w zRtJVeSi6DKv{=W>2slzm?{fSD?&0`)tKS0|`wY;2lPk8%HPNGxLXm$e%|__^+448{t3vf^Lh$crP0;yYuF!G>m4re#!V(u0PBY6|Fdy( z!K^EZPbZ*=;$RNXj-^O9xI!RFMuK40WHSVihn?uaWPzFILT#bG;=phbx)RR%gKi=P1bvsIuKzpOBeAf*l`bVz2CDQw@W_T|Nx%avL zql%CIa`I>27{h*CpEwACNWZ4#_*6f*mV$hf4Cnw2Vt7dyxy#oz_BB3G6Q{{J%qBV3rLcS`qGZaHRF`l-$+Ku zU(vKy+K`$5se^Y5kTgJX({`MsV^orH;zARVAa!9UtF6?;UbI!Zc+mB{KU`9l7dm`a zZb=tbQF+s6efg)V=EJ%&MrLFr&7^`WnrT8^+rIiM+kbBr0y8;jZ8a8CL(U{)>qaA4 zp|%Dj71n&+B)uuc<7h{9^J&wOZrS7bD!-FONz&!vwb(5R3*)$gnipHg`_komJZPL| zdB-;^8K_tnST&W&9gKeEX%%GBvfJ=MTx*RHS<_*f)si-#ZWMD3lR6M5uzetCETOw{ z5Th8%wt;Bmt8p`6LH?mRtRd-rn-wSMDV$4st#MMEmb5Bd#LSP^N%$M6u~VKG>N)2F ztnsw;SITqzSEF_OX0-73RHcV}dh9QH8fRJA zv~iXVf!!E!>8GodenG(eX9M?!`GXVkvD#cjv0lO*KM5Ryf`dISK%S(s9|f0nj2#(F zGMb$BC+vFpAp1h~FP1L7x!7i*{kbtOHiCtB({M4OJJj$XGUK0q=HefhC@u;cJE(E# z!sCAw6N3#3tB{(8LvRC_?Ef8LGbD&gKl}}_C(WfHp{$0>osX^*CVkLer#Omfh-r!@ zrP~S@)SgMuM2pvWNmmsTXq=1VoHF=8q9PS0N6(lvCP&6En-XS93|DY8X8nE2r2$k? z^p_A`Gs+&zX?&H;PVSh+>Vgqfj!Z~7_s$Jns+iE+P|Wp=HX~3OlM<(*&-2TO z6yikB4B#;(gvOH*QH;r4F{Wf}v5=swq$s4IR3|gwsB$z-jyjR15LwF*i1%elHHjYM zInR(vF2#s_N;cxxnc(w%yQcyqL^2|4)|p~Gl+tZb31Uw0lR_=?dU}|nlj608=&)qP zFPS43-Ykh_-vyECP)KAwD61CY;JNCd$aDo1LPnUVm22X)@p1;t}K?S zw$yA<$&GpSt-d+8I@Q$JGz9}TM@Jy#E-r1e;Iyf5p6bg#7I9*_HVvtS`$rWKP4-{1 zOAvOUW!m$uWA@Z0>c*a!;kK@?C<_aNICF?gKY_87~GP$%ZvV? zO%GV8R*JwZ{R1utPei#ITWRsZ19CCkiKtM=(^Bcfo9f32)$PV`zjR$+1Flw);>if! z&uzvkck7~Ux+rM)O-OFmQR`Bzn65Di^?UajaM)aOo6CKzRZb)C-b1iV;R6!(wE;;er}hSwz_rrTEJA85z5DZ}_U3VZiJ*LL@aTkYeP6|b+#5wl!t zFBO4(pcN92xbRDpOZiQR+{P{fJLTD4=Vc^?&mQF$o1)TVUu2@q;WMJ`mjxCQUx(TBz8%cI_CH%X&B=!hryQ-;^#zsX8GqY8N%+rQ_%Qc~gj(m) z-#S?mHNQoy#AIX9Tj3qmd9Wps+6epI&z;?yCT6GZSgaZ^enq2}RlWb4{Cb~T{-&wv z5ZspP;@8a|Jwl`S=DOK=o+386No}qv`+%SF{>UFTpTIWda<>S^K*Fyy*LZLoGs3$+ z|2Qn+Cij2E0}8vhc=k09UZIP6F8{E-1C)S151FlxtdMHOew@w^Z7G@FI~AvFI>HzC zz0dbycDu~BNByabFJof92Whk3AWMCFT71J@-^xtDSrgw(1>Gfj&4Lp5O;rC4df!cB z*IgHPAwH!vP5JYA|6}4e9?j7S&NqnP23}pazuyOOQNKkf>7v-Wgl$tssGQ|##596Q)`=(}i zkqo`L4u%l|JOTk1gB=eeduHe-0a?`a1pU?i0Px2{i69;_HZ@VnYid|l&xb}1y;seq zmmohzw>-W8%>%hL-ViO%@FyuBxc2~4CzudMFPrk8CYZWfbtXdEA?R-5rS}0Y1VI9n z!8_9A@0@!cXa4$n@~5r=z>bZbf4PCs5J1Znm4LZk=7kO(WBz2c?(#TYPsNmZah1mbg<1DBwE!FZNR2&Is zPm@m_%~dkoS5PfpA=N=XHx`pTSt2Yt>M(J6Kbe><+0HDbGKG6@Fiy<@PNP3HdLdbd zfo(%3-pVvmL@KDrDMhY5;`=eW1usDEnInET-T@)0Uo7R+Ev3v6%y2Ln8~hgpN1{Ji zGNq7n(0B;&5#cK^h0PQ+!UE0*GXn&GLhL?Fk7Z9~NsCXDjW$@z=0Z%jVC0_;6)*5m zFIG!2lCchc7XsC%*>Gg?jVIPmbx+th*cKzHB>BCq&0hjFh?0Y^0GIW`&}QOQh>zd zEBu%zGnc<+k&kiiM9Z8T7?zhvkkoSglk_1)$tz*3DO;*OC8Z99YJyLyMI_=>CYL48F!z^frG6MmdoK(4hrGngLn(X6fOEmvB zE$9z_QNkPrjuct6Y9&G!m1r-ib_ID77aT=#NL_CgE}NV`m`mAC^nmU;9Z9)IjC9PC zIgo*ct%N1I5@j$(bZJEJ5n{nC;Y2y!k&o_`A?L-QB}wHiNu6K(tpCH>J#}Z&1=<4c z*y`9F+jcs(ZQHiZj&0kvZQHh;_vG8-T%MMljWKJ@XTk}oc~7WyDbjJYEouoB zd`{a1bFSei!Jw*m&@4|y0kO6Q(8zqa&m05d(q((b5W9yX30{C;6y>OMaIkTK(@~sz?j#S{cB!&vr>^RkbwXa5dYeYM1 zl#;80qDr85mI6CX*b1yAMXNp;Q}E zIgXBcQg;=cLj039UY6E)l@|E$X0rY6$&yxZVWjKl=G-WlS-6r37`Pvt8ue-{kN3z+ z1VYoU7=zV%*P|?|PN}7aZdDhsS(i?edM;vCh~6LVgHJu&X$`4#jj|@|yAnW?Lcr7c3qZ^b5 zd7bfqC2jqOE-K!nrX1y3jA0#d5_#k);0eS7jw=l=I0*?OwY?&ZeUjaqrU2e4!aZvP zvf=C+LfKRbCBr~Hag#K0k(fJSn2uXgPeH_uT?4pg{dwW>&^ZSA;T=X+WhGvJ=-yu{ zHpXrIhSDzny}Mc(E{1O!z=C2MM{{68ZnI;l2eie8=X*)?ct`FPqrBPGXd2CurmEe)lw)EQN%eO+3=&xaIx$Z>^b;D&l)&coE}IPfmlzO>O?ba|2&*&z zM8}#q@A_uXdxU5th}Fl^qmq9`Qmtfkth=>RfleT4P3=|A--G2U0CUxQ%IjB+0hi>@p4#p zI=eJ!Iu~Jq&#jW1c~qYW!U8eETMX%37TR2PlKvU-Ir7qh)pDs+lFJSqUJPnJ$20-Y zxPq16K35N3;&Tij&NXv%q)*@9sV8L`n&OM8HW3KZ{FRN6^d;7+!__Wwmb85ZfS+c1MSd!Fybsdk81Cd(i2=|` zG7z0zMW+$+uFP=6pMM`Ux82yUN875vd5IHrkoM&#GN$l7{^#Gf7t7ZOi1tHx_7~YT zO32op9TPL#R@2RAkKefLtXB+=7FaFzb<_6zc$Nj$S4J|T8|Koo@t{Px>psUZ0JPzj z?`#kmB7{HjNgYcfO*J^7Ycj%@a|BP}_bg{&Rrd`gy9&hBnx0G#XtURWnQ z#2vEf<(r2i$B8+Bs10~=kJ}tX&d$D~JJl@d4%75z*D~tHdVOKpUMR;_IQEzU#X8Vt zW*pL-Nc!He(1};@mZHQ#`ozy<+)1|Po^;OiW;=k|mI<2E86LQZ4uZmk=^-w%u50?1 zM$VCy?-Jp~PRrHtG{#Z8#kotRLEZzB2YoBpW%(b_qZ*U77tuHxsng#R()XC>U-x&V z#&!0b@+i(rE6hNWH!ile^Rl+TWY`Mr>0F`MU7b`(W$D84iO=7D!pRZ_*Lr>BnLiUQ zPpY=u-aD>pGc_zVPw)`0tTWEKWUm4EuO2YZr7B>&bk9(1MEbVTfSQdnmEbFWpTdGE zH@p^GLYKO#W8ui(T1X*T8{aMoC2|yOuJ$Ltl5O2nAP6nI-i#z(WNR85%#8hq1ED;S z_v`V_+Aws~ojd9{^VuG_$sG$%Tzy9DirFAFd_DX{-O6&V{qeg!0-MBockipulvh>` zB;cU)8Vtebb!%Q@NG_iLJqzRO(S5r8Lw6rOsz}K3v_)`D>-k8X@$B01w10t0&$(AX zd2(HG&vrGH<^9BJPE~HnrSZKj^|&pN^(eY=9k2N;?)mhMeJ@LS4+7X|ae#?gzov)W zT{}nD-qg8o7={TwV)dLx>w1Q@->kwpXvL|tvfaBDdTx=;0LVu^y7(ed+|>5)zjx_; zx_zlK==4!ifX5HW2SmNFjvWz?=pa@cMpC>kYrOa;e6B}6Crux2Abdx;!n$1kDWQL5 zPCzCwBg%ULk+Ut)LN+n_?SXB~EE9I4c@t4ldmEl%vb$c9eEmf#BXf0MG%r9JE zHd`G}XQdlQk;|3T$|Saq*(h1`3+XXEh>pj8lSZHe=vXgXX%LB69i*!D-x!Z3Q{?T6 z{ns4!>1EQ1^SB2X!xyvED^;%ESuU4>O&6-IJ(;d2q=kIfw!q=f2ugwvlds-_?$(e~ zm~5{zIVMsmrT0sH<~g4)*X2XBD40y9Zkc;FKEwW&!2PlCH|erSveoUq+go6J?&ewf zd~dnG>GAc|0D>mZ)dt&6k|6UyO_-n=Kp~R$@?}YyAn6Q7!!(qQy2H@oeYzchPYP#W zLntyIUbkq+WJnJt&40zRs2fY&v}T!K4KSrhKE{r<22COQ_ZQln=Yhcb$tbT8B&b>a1j#Wd4- z+#N03-2*H!4f6f%L@xz09frvoTm*x_?w>tIf$bQJs+L@>8etK!ibsA7m&RzmdCAo4 zSu|^i#-_EPnTK#}e;FrnSw3l5p+LWYob7+hCx}y@2>avit0`879=;_5Ofn6 zF8x>JoR2JbUGETyj>L>v4bLi-oXsX{bq~UOn$`?Em{T1Tv|{MMAlicCfIw$p+Ct|s zuABTY@31^0qGSxi;`HWI!svn!=yJ-2rVq0xpFnyx>)3dRMctfojE zUoL;=#OYs#mej)sN8K)H?zhcfzgqD80Mhr#_|AvM<7BFKz2j#z6?+BrCkz}%)63>L z)2us_566qkraA3-bTl3dqA8Z`$FdB8$`k^z7o5JXv&JmT>Xz2!Jz6I}mc8MJ4fc%@ zgnLJsX+gB+tzdfU;P0Y4c(%ueaqX5ZA{d{qCm&FS@aIiW{MQ`~2Y2>2vJ_LD1Gdtg zg|2@MPYG%a6C6xanKxE|bSoDdfLY$xM@?h9f@swOQmtR*!ZKESFWU22h2o%LcH#F? zuiux9lHtJ$2tinRby2i_>&8?|I%4N(+^v{Q`;s{4aox4`jVHBJ(2K!ngxqXx2rV%V zf`lIX1EwWuh-GHP@(PG2hlKxaWX|U?1euj~Mfh!8Y|tawP^pl8L^kp+YSt=K9<_jr zQitl5i)rT3Qy6m+uqN1oSs%`_h_KmebR;J`&i<@Dd+Hw)!u{3e-@_6HUQrv53T{ED z^?AXpm4gIG<^!1X`EfBuhcEog73Y`#Lbcxsz?1?r$06;*vZFGQ1j7f%)vJ9pxQ)Ln zQzc53>XOR6jL{6;QD_Ay0nBiP^4BQE6tLZ5(cM~x*nDOpN=tRA4&2f>F7_x=?6yq4 zkB0b?7^87cm%%Jvh1B(B(pGo{8RL+{Yy;|%_V5Cp9)<_vordCR^t8a&nen6y3u7bx z3W*Pd#y*K=KYKt6iE5iWl-d+>YQGz$1%ZCfw%{h6=SWc_95^grin$H2aCdCtW9$mO z$>?+-6nKMinm>P~lzFJrNxh5X$%o_HpCW=+yh4~d*I?56m5TQ=!DUkH6&;cnY!j$) z630)FhKw1r$!7axG?vFiyJoUqCrfxgD3ss#5ORTVPf_YL>Xc;zi|mqxHb80p3)adv6r_CXLW$h@kC479qh%Bd}h6LF88c3q90=zilgtB#>e1 z%oQFCBaDcd38~h`6j)0T>%mQ!u;J|PQDAv#)?OFI7hTbmt3{>Hxv>Wpi(?qW<&(~R zwIavYOs>l{gZHgX(@?p+?DJYDCuzqhRhDy?0xgm*?Bl2kA`BL*3)IjVLhPaWbMtBx zTQBH%%cHNpg;B7CD-8xLk$@{vRFx?OU(8OWCrk`$ua>C23SM=x;uAd8Z&#~#!^blG z%uA^PPe^4a5*Fd@oASNNCyOn}0Dsu~;8{t6EG;)S71SuSm4$#gP?z_hTPm>*={KAj zn+Zr-0#e_q0U`-!iTXkT?e?!!^sE!w*EY%R&cyz1vJ(CG#j|x0m&cwh*oTw#3b|KD zm#|lnx=tZ3r3Exq=3r4lKy)k$Pn(JqsGT#Sjlle%9u|R`FY64dL**vdIH&a79f;Pc z18p$Zp|RNeNHdtO%zjkaj`=4FG?mbCt(E68KoPyet6f2;VEEOZ2RLLZHa|DF+!rRG z|IDP0CM{D&4~P$3>Fba2Z{3h=g!BG_VF$gS0`7+O67p&nn5gn$sYLHY9rtcq*0VvQ z7?4t)RBl?SA53mu)T+^pxtp?EE?VW6DmOf5m>HkSbruFXEr|-4g^#Z@LE;Ip?P*rd`(?Xh(E37L~X196#c_$89Z zW(kAs=m{QW(^y40tU&U5H8PIj5H~|Zki@32<3f|g2G`BSxA1dhBfeI{ovX1tHVH`P2{I`Ukq-gLJzw?4PZ7+BfHzAq-=T1v8i z5XRSPK~hS*62I!fxiNoomaw>!kz$;jKsxB5a9}l@dJ_H0xSyaUy502QkigW$#jilW zj}vueBawfbG05&o!++}J(>)rs*6#oGTv$MA_w=3MeXarUeWYUjg5SM7!m^d$T3o{d zsHa`rfm+1%H81vV?xm@t=2(1&-TOyFtij)uDnl%5bBpKbDeFdlp+*fUG54-G!RhRI zXTSvD3o(bk#_1C2Yfh(O7vE_Se<^*u&3^Rl%t7V8qv&Zb=6tEgE!f9>U+sLn0(O2u z@0CI2{SqKJHQqX;*8?EUks0Ta3Cp3?;~9bevHQ}|5%SMO!WU{%e%O`C7sA=ALLFe< zfau=C2^c@_Q`U{%EusL)CrOV?>mL(VX&wTCIYxw)NGP!Hom|2ptV(&?+ig4BeXqkd z`}$Kags))ylUpewVdY2M3?~6J!YIfuygaG!s%)8+0)&q5b|tv%Jp@ z^yexpuZUkyr8Vz?BN5915z_lFE~hSpG@_MME+Z`wZ5y+73%J1Yi1}D#5&(D|xuqcc zB;~NRvoal!@_nlQeg5BvG|)(t;JK8v#De|#2lT|?&9~!Vk=Tqo9bhW@deDaqd{$@p(bsusSupCBKz(odjZTo zVxS!s$RIIvClO$n?;~yT0GixPU58CR!gJDfs&%unv!c>z)+?8?NH3GXZJj#ugl#|!M$RN;& zB+a-vgJjy!k0Ns0?HCDF%RBqTTP4m$`UvRW)FPzFAHMX21W*>wN|A7E<_AX>Y;dYk z4+Mc4YbR1VB2Jzpa~AAUX6a`}jHsdawC5zUkqWLN6>rv(Rhp4c{)dE6h7~Qc`P6Os zkEeRNQL(9PmtjH|nU_o&&%K$dU$Hm%nfLKYzdKSWeTXk_87XvX;g3kBWRa*rSwvfw z5FhO)UKZtd7NA3c_9>#JL7tLMSzcUTUVXj}C6L~{n(nX&UZz{=K^)UX;mR8%F}7>4 zEuGbmSgV6pgsSc@ z%bd=vfsP?C?=OU-npR%-y2FXCKau^S_yjx8wSm+^8BN2XY$UZXXNBuzE;ryl4`Ze% ziJ^*1t+dX)w05JSA3`-xy8w9#iCtVu3OVdpo`SXuo$lwKp0;e8rwT%wi5$BWbKZrR ztJH5U3kSD)jb7YbP@_uP8*sf$NHu4D9OFSc+zg?RSaqIVHG&qf zu0mDB9Www|+B`0@wN1N4IC6FW``V{`+n`kasA6aNG7Ie58L=9TxaOXg?qPdX^v`t) zFr6c6$w4~wVfWIZNsSxN)dRG`@E?B`1_j1R6t+0qrJvNfooX&l!^`Baks38GTIO(d z^_mRid@IbTMkU&NkoKx%Mp321j|}mq@X%zX`BlAQGHweQKp)`0(h5FIeS;@uhp%-& z+}RJt)lWT@6W9ttF8Ig?{kx<5Wo4RFD7R7%yu@vKpq}&*ChGBeOEC z!zcOD`%I!e9G&*hz5blH{c^F=@q$5P1&m*^$f|8s{qlv@;VlJ{WI!RRb?^YcLkhS< zB-}ic22%va2(6>=yBizoXN|7GTtIwwr+*ZwdCaEQPN&c47lFA^8$yBE(yD$zqlSa1 zfL*eKSKNmOu|QC*)E}%-gl9lPuS3cq2_2j;d_~(9*b$PhgV%OIL0^&wzp8|%35-da zM4SJkcH(H9LIK!1QBe8WeFZn&xsNGCp(4i_VGy1pfg#FfqeY{=V5IXT112YZQ4l39 zpIz*hgMsTO0t@(vsOC0MSZ$~KTo3*%z9v*{_*bl68$AIeGP@D)cb#5|9oj(mMXjJw z*STit{7i#W1&tjRnG01!RK#cm4_NaYGh?ZBpmLO*gg}w&rflo{K%7v^uE@w?%io#R$gv|6 zt40CQmG=j70MPp=t(@F8*T8e&$m>~)dg~}Yeb2Yxz^_P4?^uI(b4Ncz|N4B_PLTAj zL-EnqgR znoVm}y!FU)z)by^)&0&SE`eY6`RHJ7YXI-GiTLQCH3;)?Ue%gIFA0T@AS2&iGAFLC z)YGT*fb~y@g~+k7_Ki;L1W={6b84E5vTJ41Lw2Q?8&%grD?_xxSiXrAqs?{hTMQUQ(X!2rlVnf%G}n~#NkCf#l;M8`R2vu9@tV!k3QXwd^a>w~!BK`ag7urI2}w${tn^FA4|wFES}IvKhU&G@6YTPx_dkhUba z#J3Vx7WYKc=fs!nB+oN5-#1QukK%;ZV%_gcQ%ur`{rcHHUD+<_`;qY@W$K-?sT&Tx@mN#bJj1e*;SY=>Ce6Ec1Z5^YL0 zOs1x-A#^gw)*dCI9nw}D?sA^)zMLrq7PzE9go(fz9j;L$i{&-;&q*JkF#dbp?OSQf zkH9NFFRwH^fOa~BSExOPI!NVO>~<5<79L8b1ku(y{EkB1RTCzAjw zCcZRxU)LD)$u)UrN){`Zt){j>`VmL&_8$GL6g8ajcf0V;hB2<(1CRZ<1G$Ixt_!Ys z2+!;na7PgCLYU89WQq&@SGK?gH($2_rrrSv@8U@J=8xio`~0B;Slw|~>e*%)SFZ<; zQxQz`0H5LPP|h50=yBhI-s|$N4(>*_hFY#h>_3&X-0xEd+#{6df8||ARXDdCIOkTn zwjg+Bb6A6Patk;A1{uOTl^Hcnv07W!@+#UbO4g2SJcF}-cN}nRyL>&@f6^^*;YE7S zi8i-$0v>y);5KAiH!_O#$wM}KhDB$+n-ILiYra=2zMBHseLjNnLG7K!nB(Q~yiIGb zZ9n&jd?c@#516ng94;zT?CxB&IwiZu*~at&yB-1|M6|xUGa%4vEKfE@)_r|892-x` zP|kEkWxuT~JLOYc5U8rvRt1A+O(;Cq%pK*N7C ziJ%a(&k98aL4q+_Vf-TW4@0JqXjJ=wq@%DnT>gWk{iC3S;+fU&jm8tyH9b zn2b4V-5Ua-gE-yLfRIn4NtFbn z-{3KswK|H*@T8abbsFjBWA~dJiKc3KI`ZjKNXGNHX8WA-G2V$u71P!3qlq#j!w?7?`*w_7ts#~!l6W}>x>E2 zzu=hv@q=$!Irgy->A^BWcht|0!LnTbOXB^4r4d3>X9}DZP&Kj_!O&G|>;afD(@M8^ zWHz=Rk#{vJTrp4CjHYT4GM322N;!;?W(n1dD=Al%r>Pt~Nc7bE?8Yx+Td^1{YYpK% z1TuPO!Bn#zDIrc9AQ?KYaP0a+Rn7S-ieaRCS}t$P`7fv=m@ zm^LU|Vhq!6h64f03syONF1I1|mqDn;(kd$M8_BvMX~&r(-y4=SmdF04EuN%UcY~4D z*Qdbo)ld$_uKljuxs#H{X{ANQ>5k>V!<@@s5s27!XyouVE$SC2xR=4iIv)m+(ZU_Q z&DNnPTmQBQ`@}C1Dl$G#2%Dvo38H_@9rjJaYC}oJL5nz{xhNm{s$8xdZO$o9JbjUgy z{_eUUL?k|AoT6=^o`803^n+4hpunIZkYiq=-LtC^{&xRoJDcJE{yEHo9CPha^niNZ ztcr-|ju5hkoU=dLlJ$@mOCZybTbA40_VzU^A=s9K@i;;+tgjc`jU*d9DksDk4lC^} zuGg@gT#X4;;!oq$S2Y=*!|*SZd;CHWf(x?$BuhRBqAv|7)N@g zCM+vr=hSo#gxsCl!|H>WWd8aGvdnMz^oUd({$iin6jQV>>pF%8R2)`+RFapLRwu1~ z4-Nn+Hf~Js78sR7P=+S-!C)TOYH^4}qAtBP8c!|FPOz#VChD+MnV>#dG{Qe7tkEVf ze#TAousSBA3Lm5I@N;kV!4S>dMNxhac4@JtUGAQMsRA5d zh*yzXx81bBj!Ag`AB_I`W;${s>0J0ea%N^@DH&gz@OSD%cD2x)MBd1}YCK}H)GUxNMAUc<{o=n%82hbO0IWiuN;qFp{IJRx66S(fMK^qE~I%R57_ayP(j(8`LSY7 zM`Q^z!gCQ9{hVGD=-G6mgbHvxN)<_T5%=2pyj`#)6kYTgj=ivAAaG52b9)i{!aI}h zH)<_EoW;Me_pC?E1Xp5<0d2aL8e?A6^1q$Gl`SnKGmV=nHKl=7mC5GD^uoh9o{GhA z=U2LEXX8k}u+EN4nR=pco61_SO2y} z#s_q{19)f871T(U5h+qvWOQjmh_N%uN)syzSuV#=p|dnCP`8Ot3s<=&b$PHf5X)W_ zp^za=QPt{CSbj!y6BtfkiQ)BFa;oB_eR=GFJy1nqzw6DK7ON|{7C zT~=)mYP}V$;5J6pap=^FNwq3T30jC#O>hQ%C>GQxKuc+>gd3wxU)rP`!vY?ErJ<2U zSUKSC;T#3UV>DDk8Rvu0KuztN%!T>d1PErpE=8I&hSjYe^|uYhWx&xD+P9R7@@h7x zck>H#to78Ra(NCjIC>2sVg^+0Qx@|!VPl9}Qz*nucWu>F=+merY|4Q&sEB#!GvVP zh3o&tZ(!KAum4fJQ<*h}6v(*UI~5rl*y+>vZFcPzX_H`ha!6jXN3VK)zfUM( zGOArkj8>U9$+B{M)90QKvCYXr1i(4{TeFqfohcuuxjt6`_ql7U?iL=~CbhQws$y;| zho|v%u9{;-ps@8&t$KH%hyHOqCZp7VkI{CO(bjFbeFN!hQ;rJXTnndzXmXSVG{Tty zOg5%(%*8!!z2qHcO0``m=|Pqcf2QFfE3u(bJiKSq5MA-kR$anXmA1ltGF0s_GvPTD zp2V?HCHy`=^2IYL%-d(zak|{|ePXWIa|yR<)$6Vqc8GStEid7_4YPea2mbAurOmV6 zpVOUhsRt@2Ksj@dR((-u``#b(zAa3Ol3S}L1B_qV)oA-sE}Yhl@CiR=kxGd!2IK^7 zaB%&wu{1Yd%Om^-6k5MF|T@1G)