From a6e3ea5faa8c6501b442cd52d648ab4790ffd350 Mon Sep 17 00:00:00 2001 From: jagt Date: Wed, 3 Dec 2014 23:24:49 +0800 Subject: [PATCH] upgrade windivert to 1.1.7; fix warning --- external/WinDivert-1.0.5-MINGW/CHANGELOG | 20 - external/WinDivert-1.0.5-MINGW/README | 139 -- external/WinDivert-1.0.5-MINGW/VERSION | 1 - .../amd64/WdfCoInstaller01009.dll | Bin 69632 -> 0 bytes .../WinDivert-1.0.5-MINGW/amd64/WinDivert.dll | Bin 51919 -> 0 bytes .../WinDivert-1.0.5-MINGW/amd64/WinDivert.inf | 9 - .../WinDivert-1.0.5-MINGW/amd64/WinDivert.sys | Bin 34864 -> 0 bytes .../WinDivert-1.0.5-MINGW/amd64/netdump.exe | Bin 19968 -> 0 bytes .../WinDivert-1.0.5-MINGW/amd64/netfilter.exe | Bin 19456 -> 0 bytes .../WinDivert-1.0.5-MINGW/amd64/passthru.exe | Bin 15872 -> 0 bytes .../WinDivert-1.0.5-MINGW/amd64/webfilter.exe | Bin 20992 -> 0 bytes .../WinDivert-1.0.5-MINGW/doc/WinDivert.html | 1320 ----------------- .../WinDivert-1.0.5-MINGW/include/divert.h | 350 ----- .../x86/WdfCoInstaller01009.dll | Bin 65024 -> 0 bytes .../WinDivert-1.0.5-MINGW/x86/WinDivert.dll | Bin 48023 -> 0 bytes .../WinDivert-1.0.5-MINGW/x86/WinDivert.inf | 9 - .../WinDivert-1.0.5-MINGW/x86/WinDivert.sys | Bin 29744 -> 0 bytes .../WinDivert-1.0.5-MINGW/x86/netdump.exe | Bin 16384 -> 0 bytes .../WinDivert-1.0.5-MINGW/x86/netfilter.exe | Bin 16384 -> 0 bytes .../WinDivert-1.0.5-MINGW/x86/passthru.exe | Bin 12800 -> 0 bytes .../WinDivert-1.0.5-MINGW/x86/webfilter.exe | Bin 17408 -> 0 bytes external/WinDivert-1.0.5-MSVC/CHANGELOG | 20 - external/WinDivert-1.0.5-MSVC/README | 139 -- external/WinDivert-1.0.5-MSVC/VERSION | 1 - .../amd64/WdfCoInstaller01009.dll | Bin 69632 -> 0 bytes .../WinDivert-1.0.5-MSVC/amd64/WinDivert.dll | Bin 22016 -> 0 bytes .../WinDivert-1.0.5-MSVC/amd64/WinDivert.inf | 9 - .../WinDivert-1.0.5-MSVC/amd64/WinDivert.lib | Bin 3898 -> 0 bytes .../WinDivert-1.0.5-MSVC/amd64/WinDivert.sys | Bin 34864 -> 0 bytes .../WinDivert-1.0.5-MSVC/amd64/netdump.exe | Bin 11776 -> 0 bytes .../WinDivert-1.0.5-MSVC/amd64/netfilter.exe | Bin 11776 -> 0 bytes .../WinDivert-1.0.5-MSVC/amd64/passthru.exe | Bin 8704 -> 0 bytes .../WinDivert-1.0.5-MSVC/amd64/webfilter.exe | Bin 14336 -> 0 bytes .../WinDivert-1.0.5-MSVC/doc/WinDivert.html | 1320 ----------------- .../WinDivert-1.0.5-MSVC/include/divert.h | 350 ----- .../x86/WdfCoInstaller01009.dll | Bin 65024 -> 0 bytes .../WinDivert-1.0.5-MSVC/x86/WinDivert.dll | Bin 17920 -> 0 bytes .../WinDivert-1.0.5-MSVC/x86/WinDivert.inf | 9 - .../WinDivert-1.0.5-MSVC/x86/WinDivert.lib | Bin 3956 -> 0 bytes .../WinDivert-1.0.5-MSVC/x86/WinDivert.sys | Bin 29744 -> 0 bytes external/WinDivert-1.0.5-MSVC/x86/bl.txt | 2 - external/WinDivert-1.0.5-MSVC/x86/netdump.exe | Bin 10240 -> 0 bytes .../WinDivert-1.0.5-MSVC/x86/netfilter.exe | Bin 10752 -> 0 bytes .../WinDivert-1.0.5-MSVC/x86/passthru.exe | Bin 7168 -> 0 bytes .../WinDivert-1.0.5-MSVC/x86/webfilter.exe | Bin 11776 -> 0 bytes external/WinDivert-1.1.1-MINGW/LICENSE | 787 ---------- external/WinDivert-1.1.1-MINGW/VERSION | 1 - .../amd64/WdfCoInstaller01009.dll | Bin 69632 -> 0 bytes .../WinDivert-1.1.1-MINGW/amd64/WinDivert.dll | Bin 53671 -> 0 bytes .../WinDivert-1.1.1-MINGW/amd64/WinDivert.inf | 9 - .../WinDivert-1.1.1-MINGW/amd64/WinDivert.sys | Bin 35376 -> 0 bytes .../x86/WdfCoInstaller01009.dll | Bin 65024 -> 0 bytes .../WinDivert-1.1.1-MINGW/x86/WinDivert.dll | Bin 50308 -> 0 bytes .../WinDivert-1.1.1-MINGW/x86/WinDivert.inf | 9 - .../WinDivert-1.1.1-MINGW/x86/WinDivert.sys | Bin 30256 -> 0 bytes external/WinDivert-1.1.1-MSVC/LICENSE | 787 ---------- external/WinDivert-1.1.1-MSVC/VERSION | 1 - .../amd64/WdfCoInstaller01009.dll | Bin 69632 -> 0 bytes .../WinDivert-1.1.1-MSVC/amd64/WinDivert.dll | Bin 23040 -> 0 bytes .../WinDivert-1.1.1-MSVC/amd64/WinDivert.inf | 9 - .../WinDivert-1.1.1-MSVC/amd64/WinDivert.sys | Bin 35376 -> 0 bytes .../x86/WdfCoInstaller01009.dll | Bin 65024 -> 0 bytes .../WinDivert-1.1.1-MSVC/x86/WinDivert.dll | Bin 19456 -> 0 bytes .../WinDivert-1.1.1-MSVC/x86/WinDivert.inf | 9 - .../WinDivert-1.1.1-MSVC/x86/WinDivert.sys | Bin 30256 -> 0 bytes .../CHANGELOG | 24 +- .../LICENSE | 0 .../README | 0 external/WinDivert-1.1.7-MINGW/VERSION | 1 + .../WinDivert-1.1.7-MINGW/amd64/WinDivert.dll | Bin 0 -> 15360 bytes .../amd64/WinDivert64.sys | Bin 0 -> 38064 bytes .../amd64/netdump.exe | Bin 19968 -> 19968 bytes .../amd64/netfilter.exe | Bin 19456 -> 19456 bytes .../amd64/passthru.exe | Bin 15872 -> 15872 bytes .../amd64/webfilter.exe | Bin 20992 -> 20992 bytes .../doc/WinDivert.html | 176 ++- .../include/windivert.h | 2 +- .../WinDivert-1.1.7-MINGW/x86/WinDivert.dll | Bin 0 -> 14848 bytes .../WinDivert-1.1.7-MINGW/x86/WinDivert32.sys | Bin 0 -> 31408 bytes .../x86/netdump.exe | Bin 16384 -> 16384 bytes .../x86/netfilter.exe | Bin 16384 -> 16384 bytes .../x86/passthru.exe | Bin 12800 -> 12800 bytes .../x86/webfilter.exe | Bin 17408 -> 17408 bytes .../CHANGELOG | 24 +- .../LICENSE | 0 .../README | 0 external/WinDivert-1.1.7-MSVC/VERSION | 1 + .../WinDivert-1.1.7-MSVC/amd64/WinDivert.dll | Bin 0 -> 21504 bytes .../amd64/WinDivert.lib | Bin 6604 -> 6604 bytes .../amd64/WinDivert64.sys | Bin 0 -> 38064 bytes .../amd64/netdump.exe | Bin 11776 -> 11776 bytes .../amd64/netfilter.exe | Bin 11776 -> 11776 bytes .../amd64/passthru.exe | Bin 8704 -> 8704 bytes .../amd64/webfilter.exe | Bin 14336 -> 14336 bytes .../doc/WinDivert.html | 176 ++- .../include/windivert.h | 2 +- .../WinDivert-1.1.7-MSVC/x86/WinDivert.dll | Bin 0 -> 18944 bytes .../x86/WinDivert.lib | Bin 6728 -> 6728 bytes .../WinDivert-1.1.7-MSVC/x86/WinDivert32.sys | Bin 0 -> 31408 bytes .../x86/netdump.exe | Bin 10240 -> 10240 bytes .../x86/netfilter.exe | Bin 10752 -> 10752 bytes .../x86/passthru.exe | Bin 8192 -> 8192 bytes .../x86/webfilter.exe | Bin 12288 -> 12288 bytes premake4.lua | 29 +- src/drop.c | 4 +- src/duplicate.c | 4 +- src/lag.c | 4 +- src/ood.c | 4 +- src/tamper.c | 4 +- src/throttle.c | 4 +- 110 files changed, 374 insertions(+), 5395 deletions(-) delete mode 100644 external/WinDivert-1.0.5-MINGW/CHANGELOG delete mode 100644 external/WinDivert-1.0.5-MINGW/README delete mode 100644 external/WinDivert-1.0.5-MINGW/VERSION delete mode 100644 external/WinDivert-1.0.5-MINGW/amd64/WdfCoInstaller01009.dll delete mode 100644 external/WinDivert-1.0.5-MINGW/amd64/WinDivert.dll delete mode 100644 external/WinDivert-1.0.5-MINGW/amd64/WinDivert.inf delete mode 100644 external/WinDivert-1.0.5-MINGW/amd64/WinDivert.sys delete mode 100644 external/WinDivert-1.0.5-MINGW/amd64/netdump.exe delete mode 100644 external/WinDivert-1.0.5-MINGW/amd64/netfilter.exe delete mode 100644 external/WinDivert-1.0.5-MINGW/amd64/passthru.exe delete mode 100644 external/WinDivert-1.0.5-MINGW/amd64/webfilter.exe delete mode 100644 external/WinDivert-1.0.5-MINGW/doc/WinDivert.html delete mode 100644 external/WinDivert-1.0.5-MINGW/include/divert.h delete mode 100644 external/WinDivert-1.0.5-MINGW/x86/WdfCoInstaller01009.dll delete mode 100644 external/WinDivert-1.0.5-MINGW/x86/WinDivert.dll delete mode 100644 external/WinDivert-1.0.5-MINGW/x86/WinDivert.inf delete mode 100644 external/WinDivert-1.0.5-MINGW/x86/WinDivert.sys delete mode 100644 external/WinDivert-1.0.5-MINGW/x86/netdump.exe delete mode 100644 external/WinDivert-1.0.5-MINGW/x86/netfilter.exe delete mode 100644 external/WinDivert-1.0.5-MINGW/x86/passthru.exe delete mode 100644 external/WinDivert-1.0.5-MINGW/x86/webfilter.exe delete mode 100644 external/WinDivert-1.0.5-MSVC/CHANGELOG delete mode 100644 external/WinDivert-1.0.5-MSVC/README delete mode 100644 external/WinDivert-1.0.5-MSVC/VERSION delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/WdfCoInstaller01009.dll delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/WinDivert.dll delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/WinDivert.inf delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/WinDivert.lib delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/WinDivert.sys delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/netdump.exe delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/netfilter.exe delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/passthru.exe delete mode 100644 external/WinDivert-1.0.5-MSVC/amd64/webfilter.exe delete mode 100644 external/WinDivert-1.0.5-MSVC/doc/WinDivert.html delete mode 100644 external/WinDivert-1.0.5-MSVC/include/divert.h delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/WdfCoInstaller01009.dll delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/WinDivert.dll delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/WinDivert.inf delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/WinDivert.lib delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/WinDivert.sys delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/bl.txt delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/netdump.exe delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/netfilter.exe delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/passthru.exe delete mode 100644 external/WinDivert-1.0.5-MSVC/x86/webfilter.exe delete mode 100644 external/WinDivert-1.1.1-MINGW/LICENSE delete mode 100644 external/WinDivert-1.1.1-MINGW/VERSION delete mode 100644 external/WinDivert-1.1.1-MINGW/amd64/WdfCoInstaller01009.dll delete mode 100644 external/WinDivert-1.1.1-MINGW/amd64/WinDivert.dll delete mode 100644 external/WinDivert-1.1.1-MINGW/amd64/WinDivert.inf delete mode 100644 external/WinDivert-1.1.1-MINGW/amd64/WinDivert.sys delete mode 100644 external/WinDivert-1.1.1-MINGW/x86/WdfCoInstaller01009.dll delete mode 100644 external/WinDivert-1.1.1-MINGW/x86/WinDivert.dll delete mode 100644 external/WinDivert-1.1.1-MINGW/x86/WinDivert.inf delete mode 100644 external/WinDivert-1.1.1-MINGW/x86/WinDivert.sys delete mode 100644 external/WinDivert-1.1.1-MSVC/LICENSE delete mode 100644 external/WinDivert-1.1.1-MSVC/VERSION delete mode 100644 external/WinDivert-1.1.1-MSVC/amd64/WdfCoInstaller01009.dll delete mode 100644 external/WinDivert-1.1.1-MSVC/amd64/WinDivert.dll delete mode 100644 external/WinDivert-1.1.1-MSVC/amd64/WinDivert.inf delete mode 100644 external/WinDivert-1.1.1-MSVC/amd64/WinDivert.sys delete mode 100644 external/WinDivert-1.1.1-MSVC/x86/WdfCoInstaller01009.dll delete mode 100644 external/WinDivert-1.1.1-MSVC/x86/WinDivert.dll delete mode 100644 external/WinDivert-1.1.1-MSVC/x86/WinDivert.inf delete mode 100644 external/WinDivert-1.1.1-MSVC/x86/WinDivert.sys rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/CHANGELOG (62%) rename external/{WinDivert-1.0.5-MINGW => WinDivert-1.1.7-MINGW}/LICENSE (100%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/README (100%) create mode 100644 external/WinDivert-1.1.7-MINGW/VERSION create mode 100644 external/WinDivert-1.1.7-MINGW/amd64/WinDivert.dll create mode 100644 external/WinDivert-1.1.7-MINGW/amd64/WinDivert64.sys rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/amd64/netdump.exe (99%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/amd64/netfilter.exe (81%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/amd64/passthru.exe (99%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/amd64/webfilter.exe (99%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MINGW}/doc/WinDivert.html (92%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MINGW}/include/windivert.h (99%) create mode 100644 external/WinDivert-1.1.7-MINGW/x86/WinDivert.dll create mode 100644 external/WinDivert-1.1.7-MINGW/x86/WinDivert32.sys rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/x86/netdump.exe (99%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/x86/netfilter.exe (76%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/x86/passthru.exe (99%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MINGW}/x86/webfilter.exe (99%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/CHANGELOG (62%) rename external/{WinDivert-1.0.5-MSVC => WinDivert-1.1.7-MSVC}/LICENSE (100%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/README (100%) create mode 100644 external/WinDivert-1.1.7-MSVC/VERSION create mode 100644 external/WinDivert-1.1.7-MSVC/amd64/WinDivert.dll rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/amd64/WinDivert.lib (53%) create mode 100644 external/WinDivert-1.1.7-MSVC/amd64/WinDivert64.sys rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/amd64/netdump.exe (99%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/amd64/netfilter.exe (59%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/amd64/passthru.exe (99%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/amd64/webfilter.exe (99%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MSVC}/doc/WinDivert.html (92%) rename external/{WinDivert-1.1.1-MINGW => WinDivert-1.1.7-MSVC}/include/windivert.h (99%) create mode 100644 external/WinDivert-1.1.7-MSVC/x86/WinDivert.dll rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/x86/WinDivert.lib (53%) create mode 100644 external/WinDivert-1.1.7-MSVC/x86/WinDivert32.sys rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/x86/netdump.exe (99%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/x86/netfilter.exe (61%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/x86/passthru.exe (99%) rename external/{WinDivert-1.1.1-MSVC => WinDivert-1.1.7-MSVC}/x86/webfilter.exe (99%) diff --git a/external/WinDivert-1.0.5-MINGW/CHANGELOG b/external/WinDivert-1.0.5-MINGW/CHANGELOG deleted file mode 100644 index ba6bbc3..0000000 --- a/external/WinDivert-1.0.5-MINGW/CHANGELOG +++ /dev/null @@ -1,20 +0,0 @@ -WinDivert 1.0.0 - - First release of WinDivert 1.0 -WinDivert 1.0.1 - - Fixed stack overflow bug in 32bit versions of the driver. -WinDivert 1.0.2 - - WinDivert now requires Administrator privileges in order to access - (as opposed to just install) the WinDivert device. -WinDivert 1.0.3 - - Fix bug(s) relating to the parsing of IPv6 addresses. - - DivertOpen() now returns more meaningful error codes on failure. - - Two new helper API functions: DivertHelperParseIPvXAddress(..), X=4,6. - - Renamed DivertHelperParse(..) to DivertHelperParsePacket(..). -WinDivert 1.0.4 - - Same as WinDivert 1.0.3 except: - * Released with signed drivers. - * MinGW compiled gcc-4.6 - * Minor documentation changes. -WinDivert 1.0.5 - - Fix the DIVERT_NETWORK_FORWARD_LAYER implementation. - - Upgrade Visual Studio support to 2012. diff --git a/external/WinDivert-1.0.5-MINGW/README b/external/WinDivert-1.0.5-MINGW/README deleted file mode 100644 index aad5569..0000000 --- a/external/WinDivert-1.0.5-MINGW/README +++ /dev/null @@ -1,139 +0,0 @@ -WinDivert 1.0: Windows Packet Divert -==================================== - -1. Introduction ---------------- - -Windows Packet Divert (WinDivert) is a user-mode packet capture-and-divert -package for Windows Vista, Windows 2008, and Windows 7. - -With WinDivert developers can write user-mode programs that capture and -modify or drop network packets sent to/from the Windows network stack. -In summary, WinDivert can - - capture network packets - - filter/drop network packets - - sniff network packets - - (re)inject network packets - - modify network packets - -WinDivert can be used to implement user-mode packet filters, packet sniffers, -firewalls, NAT, VPNs, tunneling applications, etc., etc.. If you -need to intercept and modify packets, then WinDivert is for you. - -The features of WinDivert include: - - packet interception, sniffing, or dropping modes - - support for loopback (localhost) traffic - - full IPv6 support - - network layer - - simple and powerful API - - high-level filtering language - - filter priorities - - freely available under the terms of the GNU Lesser General Public - License (LGPL) - -For more information about WinDivert, see doc/divert.html - -2. Similar Packages -------------------- - -WinDivert is similar to divert sockets in FreeBSD/MacOS, NETLINK sockets in -Linux, and some commercial packet capturing packages such as WinPkFilter for -Windows. The design of WinDivert is largely influenced by FreeBSD's divert -sockets. - -WinDivert in packet-sniffing mode is similar to Winpcap. Unlike Winpcap, -WinDivert fully supports capturing loopback traffic. Furthermore, WinDivert -supports packet interception, which is not supported in Winpcap. - -3. Architecture ---------------- - -The basic architecture of WinDivert is as follows: - - +-----------------+ - | | - +------->| PROGRAM |--------+ - | | (WinDivert.dll) | | - | +-----------------+ | - | | (3) re-injected - | (2a) matching packet | packet - | | - | | - [user mode] | | - ....................|...................................|................... - [kernel mode] | | - | | - | | - +---------------+ +-----------------> - (1) packet | | (2b) non-matching packet - ------------>| WinDivert.sys |--------------------------------------------> - | | - +---------------+ - -The WinDivert.sys driver is inserted below the Windows network stack. The -following then happens - -(1) a new packet enters the network stack and is intercepted by WinDivert.sys -(2a) if the packet matches a PROGRAM-defined filter, it is diverted. The - PROGRAM reads the packet with a call to the DivertRecv() function. -(2b) if the packet does not match the filter, the packet is permitted to - continue as normal. -(3) PROGRAM either drops, modifies, or re-injects the packet. If the - (modified) packet is re-injected, via a call to DivertSend(), it is - inserted back into the Windows network stack. - -4. Building ------------ - -(1) In a WinDDK build environment, run the command: - - wddk-build.bat - -(2) [OPTIONAL Visual Studio 2010 support] In a VS2010 command prompt, run the - command: - - msvc-build.bat - -(3) [OPTIONAL MinGW support] In Linux with MinGW a cross-compiler, run the - command: - - sh mingw-build.sh - -For more detailed build instructions, see doc\divert.html - -5. License ----------- - -This package is distributed under the GNU Lesser General Public License -(LGPL) Version 3. See LICENSE for more information. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program. If not, see - -6. About --------- - -WinDivert was written by basil. - -For further information, or bug reports, please contact - - basil AT reqrypt DOT org - -The homepage for WinDivert is - - http://reqrypt.org/windivert.html - -The source code for WinDivert is hosted by GitHub at - - https://github.com/basil00/Divert - diff --git a/external/WinDivert-1.0.5-MINGW/VERSION b/external/WinDivert-1.0.5-MINGW/VERSION deleted file mode 100644 index 90a27f9..0000000 --- a/external/WinDivert-1.0.5-MINGW/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.0.5 diff --git a/external/WinDivert-1.0.5-MINGW/amd64/WdfCoInstaller01009.dll b/external/WinDivert-1.0.5-MINGW/amd64/WdfCoInstaller01009.dll deleted file mode 100644 index 6012ed3ad45e99e9eae925443cf5210df4f21d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69632 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 QY^~(Xl-O7e>IlmJ0Z8<7JOBUy diff --git a/external/WinDivert-1.0.5-MINGW/amd64/WinDivert.inf b/external/WinDivert-1.0.5-MINGW/amd64/WinDivert.inf deleted file mode 100644 index db4fbd8..0000000 --- a/external/WinDivert-1.0.5-MINGW/amd64/WinDivert.inf +++ /dev/null @@ -1,9 +0,0 @@ -[Version] -Signature="$WINDOWS NT$" - -[divert.NT.Wdf] -KmdfService = divert, divert_WdfSection - -[divert_WdfSection] -KmdfLibraryVersion = 1.9 - diff --git a/external/WinDivert-1.0.5-MINGW/amd64/WinDivert.sys b/external/WinDivert-1.0.5-MINGW/amd64/WinDivert.sys deleted file mode 100644 index 67aed0de6493a969a951e21df6a36e38e39c836f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34864 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 QCj2ks=x2`nKZ(G90Etb#7XSbN diff --git a/external/WinDivert-1.0.5-MINGW/amd64/netfilter.exe b/external/WinDivert-1.0.5-MINGW/amd64/netfilter.exe deleted file mode 100644 index 319fb2b4f0e18241605989d84334f674a0f70ef4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19456 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 S_2VY|r!n*!L;jC=;C}%$<(;7b diff --git a/external/WinDivert-1.0.5-MINGW/amd64/passthru.exe b/external/WinDivert-1.0.5-MINGW/amd64/passthru.exe deleted file mode 100644 index 906932c8f9cca2c2794733b37cb52e3785e59f51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15872 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 diff --git a/external/WinDivert-1.0.5-MINGW/amd64/webfilter.exe b/external/WinDivert-1.0.5-MINGW/amd64/webfilter.exe deleted file mode 100644 index c82b0459b11ddf09191e798ec17d946263f3dd68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20992 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 BrSt#* diff --git a/external/WinDivert-1.0.5-MINGW/doc/WinDivert.html b/external/WinDivert-1.0.5-MINGW/doc/WinDivert.html deleted file mode 100644 index 63583a9..0000000 --- a/external/WinDivert-1.0.5-MINGW/doc/WinDivert.html +++ /dev/null @@ -1,1320 +0,0 @@ - - - - WinDivert 1.0 Documentation - - -

WinDivert 1.0: Windows Packet Divert

-

Table of Contents

- - -
-

1. Introduction

-

-WinDivert is a user-mode -capture/sniffing/modification/blocking/re-injection package for -Windows Vista, Windows Server 2008, and Windows 7. -WinDivert can be used to implement user-mode packet filters, packet sniffers, -firewalls, NAT, VPNs, tunneling applications, etc., without the need to -write kernel-level code. -

-

-The main features of the WinDivert are: -

    -
  • User-mode packet capture, sniffing, dropping, filtering, modification, - re-injection, etc.
  • -
  • Simple, high-level, programming API.
  • -
  • Fully documented with sample programs.
  • -
  • Full IPv6 support.
  • -
  • Full loopback (localhost) support.
  • -
  • A modern WDF/WFP driver implementation.
  • -
  • Open source; Licensed under GNU Lesser General Public License (LGPL) - version 3. - See the License for more information.
  • -
-

-WinDivert provides similar functionality to -divert sockets in FreeBSD/MacOS, NETLINK sockets in Linux, -and some commercial packages such as WinPkFilter for Windows. -WinDivert also supports passive packet sniffing similar to Winpcap. -

- -
-

2. Building

-

-The source code for WinDivert is available for download at -

- - https://github.com/basil00/Divert -
-To build the WinDivert package from source: -
    -
  1. Download and install -Windows Driver Kit 7.1.0.
  2. -
  3. Open a Free Build Environment console (or - Checked Build Environment for debugging).
  4. -
  5. In the WinDivert package root directory, run the command: -
    -wddk-build.bat
    -
    -This will build the following files and place them in the -install\WDDK subdirectory: -
      -
    • WinDivert.dll: User-mode library.
    • -
    • WinDivert.sys: Kernel-mode WDF/WFP call-out driver.
    • -
    • WinDivert.inf: INF file for WinDivert.sys.
    • -
    • WdfCoInstaller*.dll: Microsoft WDF co-installer for - WinDivert.sys.
    • -
    • *.exe: Sample applications from the divert\examples - directory.
    • -
  6. -
-NOTE: The WinDivert.dll and WinDivert.lib files -are only compatible with programs compiled with the WDDK compiler. -See below for Visual Studio 2012 and MinGW support. -

- -

2.1 Driver Signing

-

-Before the WinDivert package can be used, the WinDivert.sys driver -must contain a valid digital signature. -This is Microsoft policy for all kernel drivers in recent versions of -Windows. -See Driver Signing Requirements for Windows -for more information. -

- -

2.2 Visual Studio 2012 Support

-

-To build the WinDivert package for Visual Studio 2012: -

    -
  1. First build the driver by running wddk-build.bat as per the -instructions above.
  2. -
  3. Open a Visual Studio Command Prompt environment.
  4. -
  5. In the WinDivert package root directory, run the command: -
    -msvc-build.bat
    -
    -This will build Visual Studio 2012 compatible files and place them in the -install\MSVC subdirectory.
  6. -
-

- -

2.3 MinGW Support

-

-To build the WinDivert package for MinGW: -

    -
  1. First build the driver by running wddk-build.bat as per -the instructions above.
  2. -
  3. In Linux (with the MinGW cross-compilers installed) and in the -WinDivert package root directory, run the command: -
    -sh mingw-build.sh
    -
    -This will build MinGW compatible files and place them in the -install\MINGW subdirectory.
  4. -
- -

- -
-

3. Installing

-

-WinDivert does not require any special installation. -Simply place the WinDivert.dll, WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files are in your -application's home directory. -

-

-The WinDivert driver is installed on demand, i.e., when your application -makes a call to DivertOpen() from -WinDivert.dll. -The driver is installed silently. -The calling application must be running with Administrator privileges. -

- -
-

4. Uninstalling

-

-To uninstall, simply delete the WinDivert.dll, WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files. -The WinDivert driver is silently uninstalled when the calling application -terminates or unloads the WinDivert.dll library. -The WinDivert driver can also be removed manually by issuing the following -commands at the command prompt -

-sc stop WinDivert1.0
-sc delete WinDivert1.0
-
-

- -
-

5. Programming API

-

-To use the WinDivert package, a program/application must: -

    -
  1. Include the divert.h header file -
    -#include "divert.h"
    -
  2. -
  3. Link or dynamically load the WinDivert.dll dynamic link -library.
  4. -
- -

5.1 DIVERT_ADDRESS

-
-
-typedef struct
-{
-    UINT32 IfIdx;
-    UINT32 SubIfIdx;
-    UINT8  Direction;
-} DIVERT_ADDRESS, *PDIVERT_ADDRESS;
-
-
-
-

-Fields -

    -
  • IfIdx: The interface index on which the packet arrived - (for inbound packets), or is to be sent (for outbound packets).
  • -
  • SubIfIdx: The sub-interface index for IfIdx.
  • -
  • Direction: The packet's direction. -The possible values are -
      -
    • DIVERT_DIRECTION_OUTBOUND with value 0 for outbound -packets.
    • -
    • DIVERT_DIRECTION_INBOUND with value 1 for inbound -packets.
    • -
  • -
-

-Remarks
-The DIVERT_ADDRESS structure represents the "address" of a captured -or injected packet. -The address includes the packet's network interfaces and the packet direction. -

-
- -

5.2 DivertOpen

-
-
-HANDLE DivertOpen(
-    __in const char *filter,
-    __in DIVERT_LAYER layer,
-    __in INT16 priority,
-    __in UINT64 flags
-);
-
-
-
-

-Parameters
-

    -
  • filter: A packet filter string specified in the WinDivert - filter language.
  • -
  • layer: The layer.
  • -
  • priority: The priority of the handle.
  • -
  • flags: Additional flags.
  • -
-

-Return Value
-A valid WinDivert handle on success, or -INVALID_HANDLE_VALUE if an error occurred. -Use GetLastError() to get the reason for the error. -Common errors include: -

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-Name - -Code - -Description -
-ERROR_INVALID_PARAMETER - -87 - -This indicates an invalid packet filter string, layer, priority, or flags. -
-ERROR_FILE_NOT_FOUND - -2 - -One or more of the WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files were not -found. -
-ERROR_ACCESS_DENIED - -5 - -The calling application does not have Administrator privileges. -
-ERROR_INVALID_IMAGE_HASH - -577 - -The WinDivert.sys driver does not have a valid digital signature -(see the driver signing requirements above), -or WinDivert.sys is the wrong version, i.e. 32-bit on -64-bit Windows or vice versa. -
-
-

-Remarks
-Opens a WinDivert handle for the given filter. -Unless otherwise specified by flags, any packet that matches the -filter will be diverted to the handle. -Diverted packets can be read by the application with -DivertRecv(). -

-

-A typical application is only interested in a subset of all network traffic. -In this case the filter should match as closely as possible to -the subset of interest. -This avoids unnecessary overheads introduced by diverting packets to the -user-mode application. -See the filter language section for more -information. -

-

-The layer of the WinDivert handle is determined by the layer -parameter. -Currently the following layers are supported. -

- - - - - - - - - - - - - -
-Layer - -Description -
-DIVERT_LAYER_NETWORK = 0 - -The network layer. -This is the default. -
-DIVERT_LAYER_NETWORK_FORWARD - -The network layer (forwarded packets). -
-
-

-

-Different WinDivert handles can be assigned different priorities by the -priority parameter. -Packets are diverted to higher priority handles before lower priority -handles. -Packets injected by a handle are then diverted to the next priority handle, -and so on, provided the packet matches the handle's filter. -A packet is only diverted once per priority level, so handles should not -share priority levels unless they use mutually exclusive filters. -Otherwise it is not defined which handle will receive the packet first. -Lower priority values represent higher priorities, with -1000 -being the highest priority, 0 the middle (and a good default) -priority, and 1000 the lowest priority. -

-

-The following flags are supported. -

- - - - - - - - - - - - - -
-Flag - -Description -
-DIVERT_FLAG_SNIFF - -This flag opens the WinDivert handle in packet sniffing mode. -In packet sniffing mode the original packet is not dropped-and-diverted -(the default) but copied-and-diverted. -This mode is useful for implementing packet sniffing tools similar to those -applications that currently use Winpcap. -
-DIVERT_FLAG_DROP - -This flag indicates that the user application does not intend to read matching -packets with DivertRecv(), instead the -packets should be silently dropped. -This is useful for implementing simple packet filters using the -WinDivert filter language. -
-
-If both DIVERT_FLAG_SNIFF and DIVERT_FLAG_DROP flags -are set, the WinDivert handle will be in "passthru" mode that neither -captures nor drops any packet. -Such a handle is useful for applications that only require packet injection. -

-
- -

5.3 DivertRecv

-
-
-BOOL DivertRecv(
-    __in HANDLE handle,
-    __out PVOID pPacket,
-    __in UINT packetLen,
-    __out_opt PDIVERT_ADDRESS pAddr,
-    __out_opt UINT *recvLen
-);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
  • pPacket: A buffer for the captured packet.
  • -
  • packetLen: The length of the buffer pPacket.
  • -
  • pAddr: The DIVERT_ADDRESS of the captured packet.
  • -
  • recvLen: The total number of bytes written to pPacket. - Can be NULL if this information is not required.
  • -
-

-Return Value
-TRUE if a packet was successfully received, or FALSE if -an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Receives a diverted packet that matched the filter passed to -DivertOpen(). -The received packet is guaranteed to match the filter. -

-The contents of the captured packet are written to pPacket. -If the captured packet is larger than the pPacket buffer length, -then the packet will be truncated. -If recvLen is non-NULL, then the total number of bytes -written to pPacket is placed there. -If non-NULL, the address of the captured packet is written to -pAddr. -

-An application should call DivertRecv() -as soon as possible -after a successful call to DivertOpen(). -When a WinDivert handle is open, any packet that matches the filter will -be captured and queued until handled by -DivertRecv(). -Packets are not queued indefinitely, and if not handled in a timely manner, -any captured packet may be dropped. -The amount of time a packet is queued can be controlled with the -DivertSetParam() function. -

-

-DivertRecv() should not be used on any -WinDivert handle created with the DIVERT_FLAG_DROP set. -

-
- -

5.4 DivertSend

-
-
-BOOL DivertSend(
-    __in HANDLE handle,
-    __in PVOID pPacket,
-    __in UINT packetLen,
-    __in PDIVERT_ADDRESS pAddr,
-    __out_opt UINT *sendLen
-);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
  • pPacket: A buffer containing the packet to be injected.
  • -
  • packetLen: The total length of the buffer pPacket.
  • -
  • pAddr: The DIVERT_ADDRESS for the injected packet.
  • -
  • sendLen: The total number of bytes injected. - Can be NULL if this information is not required.
  • -
-

-Return Value
-TRUE if a packet was successfully injected, or FALSE if -an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Injects a packet into the network stack. -The injected packet may be one received from -DivertRecv(), or a -modified version, or a completely new packet. -Injected packets can be captured and diverted again by other WinDivert -handles with lower priorities. -

-The pAddr parameter determines how the packet is injected. -If the Direction field is DIVERT_DIRECTION_OUTBOUND, -the packet is injected into the outbound path (i.e. a packet leaving -this computer). -Else, if Direction is DIVERT_DIRECTION_INBOUND, -the packet is injected into the inbound path (i.e. a packet arriving at -this computer). -Note that the Direction field, and not the IP addresses in -the injected packet, is used to determine the packet's direction. -

-For packets injected into the inbound path, the IfIdx and -SubIfIdx fields are assumed to contain valid interface numbers. -These may be retrieved from DivertRecv() -(for packet modification), -or from the IP Helper API. -

-For outbound injected packets, the IfIdx and SubIfIdx -fields are currently ignored and may be arbitrary values. -Injecting an inbound packet on the outbound path may work (for some -types of packets), however this should be considered "undocumented" behavior, -and may be changed in the future. -

-
- -

5.5 DivertClose

-
-
-BOOL DivertClose(
-    __in HANDLE handle
-);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Closes a WinDivert handle created by -DivertOpen(). -

-
- -

5.6 DivertSetParam

-
-
-BOOL DivertSetParam(
-    __in HANDLE handle,
-    __in DIVERT_PARAM param,
-    __in UINT64 value);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
  • param: A WinDivert parameter name.
  • -
  • value: The parameter's new value.
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Sets a WinDivert parameter. -Currently, the following WinDivert parameters are defined. -

- - - - - - - - - - - - - -
-Parameter - -Description -
-DIVERT_PARAM_QUEUE_LEN - -Sets the maximum length of the packet queue for -DivertRecv(). -Currently the default value is 512, the minimum is 1, and the maximum -is 8192. -
-DIVERT_PARAM_QUEUE_TIME - -Sets the minimum time, in milliseconds, a packet can be queued before it is -automatically dropped. -Packets cannot be queued indefinitely, and ideally, packets should be -processed by the application as soon as is possible. -Note that this sets the minimum time a packet can be queued before -it can be dropped. -The actual time may be exceed this value. -Currently the default value is 256, the minimum is 32, and the maximum is -1024. -
-
-

-
- -

5.7 DivertGetParam

-
-
-BOOL DivertGetParam(
-    __in HANDLE handle,
-    __in DIVERT_PARAM param,
-    __out UINT64 *pValue);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
  • param: A WinDivert parameter name.
  • -
  • value: The parameter's current value.
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Gets a WinDivert parameter. -See DivertSetParam() for the list -of parameters. -

-
- -
-

6. Helper Programming API

- -The WinDivert helper programming API is a collection of definitions -and functions designed to make writing WinDivert applications easier. -The use of the helper API is completely optional. - -

6.1 DIVERT_IPHDR

-
-
-typedef struct
-{
-    UINT8  HdrLength:4;
-    UINT8  Version:4;
-    UINT8  TOS;
-    UINT16 Length;
-    UINT16 Id;
-    UINT16 ...;
-    UINT8  TTL;
-    UINT8  Protocol;
-    UINT16 Checksum;
-    UINT32 SrcAddr;
-    UINT32 DstAddr;
-} DIVERT_IPHDR, *PDIVERT_IPHDR;
-
-
-
-

-Fields
-See
here -for more information. -

-Remarks
-IPv4 header definition. -

-The following fields can only be get/set using the following macro -definitions: -

    -
  • FragOff with DIVERT_IPHDR_GET_FRAGOFF(hdr) and - DIVERT_IPHDR_SET_FRAGOFF(hdr, val)
  • -
  • MF with DIVERT_IPHDR_GET_MF(hdr) and - DIVERT_IPHDR_SET_MF(hdr, val)
  • -
  • DF with DIVERT_IPHDR_GET_DF(hdr) and - DIVERT_IPHDR_SET_DF(hdr, val)
  • -
  • Reserved with DIVERT_IPHDR_GET_RESERVED(hdr) and - DIVERT_IPHDR_SET_RESERVED(hdr, val)
  • -
-

-
- -

6.2 DIVERT_IPV6HDR

-
-
-typedef struct
-{
-    UINT32 Version:4;
-    UINT32 ...:28;
-    UINT16 Length;
-    UINT8  NextHdr;
-    UINT8  HopLimit;
-    UINT32 SrcAddr[4];
-    UINT32 DstAddr[4];
-} DIVERT_IPV6HDR, *PDIVERT_IPV6HDR;
-
-
-
-Fields
-See here -for more information. -

-Remarks
-IPv6 header definition. -

-The following fields can only be get/set using the following macro -definitions: -

    -
  • TrafficClass with - DIVERT_IPV6HDR_GET_TRAFFICCLASS(hdr) and - DIVERT_IPV6HDR_SET_TRAFFICCLASS(hdr, val)
  • -
  • FlowLabel with DIVERT_IPV6HDR_GET_FLOWLABEL(hdr) and - DIVERT_IPV6HDR_SET_FLOWLABEL(hdr, val)
  • -
-

-
- -

6.3 DIVERT_ICMPHDR

-
-
-typedef struct
-{
-    UINT8  Type;
-    UINT8  Code;
-    UINT16 Checksum;
-    UINT32 Body;
-} DIVERT_ICMPHDR, *PDIVERT_ICMPHDR;
-
-
-
-Fields
-See here -for more information. -

-Remarks
-ICMP header definition. -

-
- -

6.4 DIVERT_ICMPV6HDR

-
-
-typedef struct
-{
-    UINT8  Type;
-    UINT8  Code;
-    UINT16 Checksum;
-    UINT32 Body;
-} DIVERT_ICMPV6HDR, *PDIVERT_ICMPV6HDR;
-
-
-
-Fields
-See here for -more information. -

-Remarks
-ICMPv6 header definition. -

-
- -

6.5 DIVERT_TCPHDR

-
-
-typedef struct
-{
-    UINT16 SrcPort;
-    UINT16 DstPort;
-    UINT32 SeqNum;
-    UINT32 AckNum;
-    UINT16 Reserved1:4;
-    UINT16 HdrLength:4;
-    UINT16 Fin:1;
-    UINT16 Syn:1;
-    UINT16 Rst:1;
-    UINT16 Psh:1;
-    UINT16 Ack:1;
-    UINT16 Urg:1;
-    UINT16 Reserved2:2;
-    UINT16 Window;
-    UINT16 Checksum;
-    UINT16 UrgPtr;
-} DIVERT_TCPHDR, *PDIVERT_TCPHDR;
-
-
-
-Fields
-See here -for more information. -

-Remarks
-TCP header definition. -

-
- -

6.6 DIVERT_UDPHDR

-
-
-typedef struct
-{
-    UINT16 SrcPort;
-    UINT16 DstPort;
-    UINT16 Length;
-    UINT16 Checksum;
-} DIVERT_UDPHDR, *PDIVERT_UDPHDR;
-
-
-
-Fields
-See here -for more information. -

-Remarks
-UDP header definition. -

-
- -

6.7 DivertHelperParsePacket

-
-
-BOOL DivertHelperParsePacket(
-    __in PVOID pPacket,
-    __in UINT packetLen,
-    __out_opt PDIVERT_IPHDR *ppIpHdr,
-    __out_opt PDIVERT_IPV6HDR *ppIpv6Hdr,
-    __out_opt PDIVERT_ICMPHDR *ppIcmpHdr,
-    __out_opt PDIVERT_ICMPV6HDR *ppIcmpv6Hdr,
-    __out_opt PDIVERT_TCPHDR *ppTcpHdr,
-    __out_opt PDIVERT_UDPHDR *ppUdpHdr,
-    __out_opt PVOID *ppData,
-    __out_opt UINT *pDataLen
-);
-
-
-
-

-Parameters
-

    -
  • pPacket: The packet to be parsed.
  • -
  • packetLen: The total length of the packet pPacket.
  • -
  • ppIpHdr: Output pointer to a DIVERT_IPHDR.
  • -
  • ppIpv6Hdr: Output pointer to a DIVERT_IPV6HDR.
  • -
  • ppIcmpHdr: Output pointer to a DIVERT_ICMPHDR.
  • -
  • ppIcmpv6Hdr: Output pointer to a DIVERT_ICMPV6HDR.
  • -
  • ppTcpHdr: Output pointer to a DIVERT_TCPHDR.
  • -
  • ppUdpHdr: Output pointer to a DIVERT_UDPHDR.
  • -
  • ppData: Output pointer to the packet's data/payload.
  • -
  • pDataLen Output data/payload length.
  • -
-

-Return Value
-TRUE if all expected (non-NULL) outputs were present, -FALSE otherwise. -Note that FALSE may sometimes be a legitimate return value, e.g., -when both ppIpHdr and ppIpv6Hdr are non-NULL. -

-Remarks
-Parses a raw packet (e.g. from DivertRecv()) into the -various packet headers and/or payloads that may or may not be present. -

-Each output parameter may be NULL or non-NULL. -For non-NULL parameters, this function will write the pointer to -the corresponding header/payload if it exists, or will write NULL -otherwise. -Any non-NULL pointer that is returned -

    -
  1. Is a pointer into the original pPacket packet; and
  2. -
  3. There is enough space in pPacket to fit the header.
  4. -
-

-This function does not do any verification of the header/payload contents -beyond checking the header length and any other minimal information required -for parsing. -

-

- -

6.8 DivertHelperParseIPv4Address

-
-
-BOOL DivertHelperParseIPv4Address(
-    __in const char *addrStr,
-    __out_opt UINT32 *pAddr
-);
-
-
-
-

-Parameters
-

    -
  • addrStr: The address string.
  • -
  • pAddr: Output address.
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Parses an IPv4 address stored in addrStr. -If non-NULL, the result is stored in pAddr. -

-
- -

6.9 DivertHelperParseIPv6Address

-
-
-BOOL DivertHelperParseIPv6Address(
-    __in const char *addrStr,
-    __out_opt UINT32 *pAddr
-);
-
-
-
-

-Parameters
-

    -
  • addrStr: The address string.
  • -
  • pAddr: Output address.
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Parses an IPv6 address stored in addrStr. -If non-NULL, the result is stored in pAddr. -The pAddr parameter is assumed to point to a buffer large enough -to hold a 16-byte IPv6 address. -

-
- -

6.10 DivertHelperCalcChecksums

-
-
-UINT DivertHelperCalcChecksums(
-    __inout PVOID pPacket,
-    __in UINT packetLen,
-    __in UINT64 flags
-);
-
-
-
-

-Parameters
-

    -
  • pPacket: The packet to be modified.
  • -
  • packetLen: The total length of the packet pPacket.
  • -
  • flags: One or more of the following flags: -
      -
    • DIVERT_HELPER_NO_IP_CHECKSUM: Do not calculate the IPv4 - checksum.
    • -
    • DIVERT_HELPER_NO_ICMP_CHECKSUM: Do not calculate the ICMP - checksum.
    • -
    • DIVERT_HELPER_NO_ICMPV6_CHECKSUM: Do not calculate the ICMPv6 - checksum.
    • -
    • DIVERT_HELPER_NO_TCP_CHECKSUM: Do not calculate the TCP - checksum.
    • -
    • DIVERT_HELPER_NO_UDP_CHECKSUM: Do not calculate the UDP - checksum.
    • -
  • -
-

-Return Value
-The number of checksums calculated. -

-Remarks
-(Re)calculates the checksum for any IPv4/ICMP/ICMPv6/TCP/UDP checksum present -in the given packet. -Individual checksum calculations may be disabled via the appropriate flag. -Typically this function should be invoked on a modified packet before it is -injected with DivertSend(). -

-This function will calculate each checksum from scratch, even if the existing -checksum is correct. -This may be inefficient for some applications. -For better performance, incremental checksum calculations should be used -instead (not provided by this API). -

-

- -
-

7. Filter Language

- -

-The DivertOpen() function accepts a -string containing a filter expression. -Only packets that match the filter expression are diverted. -Any other packet is allowed to continue as per normal. -

-Filter allows an application to select only the subset of traffic that is of -interest. -For example, a URL blacklist filter would only be interested in packets that -contain URLs. -This could be achieved via the following filter. -

-HANDLE handle = DivertOpen(
-    "outbound and "
-    "tcp.PayloadLength > 0 and "
-    "tcp.DstPort == 80", 0, 0, 0);
-
-This filter specifies that we should only divert traffic that is -
    -
  1. outbound;
  2. -
  3. contains a non-empty payload; and
  4. -
  5. has TCP destination port 80 (i.e. HTTP web traffic). -
-

-A filter is a Boolean expression of the form: -

-        FILTER := true | false | FILTER and FILTER | FILTER or FILTER | (FILTER) | TEST
-
-C-style syntax &&, ||, and ! may also -be used instead of and, or, and not, respectively. -A test is of the following form: -
-        TEST := TEST0 | not TEST0
-        TEST0 := FIELD | FIELD op VAL
-
-where op is one of the following: -

-

- - - - - - - - -
OperatorDescription
== or =Equal
!=Not equal
<Less-than
>Greater-than
<=Less-than-or-equal
>=Greater-than-or-equal
-
-

-and VAL is a decimal number, hexadecimal number, or IP -address. -If the "op VAL" is missing, the test is implicitly -"FIELD != 0". -

-Finally a field is some property about the packet. -The possible fields are: -

-

- - - - - - - - - - - - - - - - - - - - -
FieldDescription
outboundIs outbound?
inboundIs inbound?
ifIdxInterface index
subIfIdxSub-interface index
ipIs IPv4?
ipv6Is IPv6?
icmpIs ICMP?
icmpv6Is ICMPv6?
tcpIs TCP?
udpIs UDP?
ip.*IPv4 fields (see DIVERT_IPHDR)
ipv6.*IPv6 fields (see DIVERT_IPV6HDR)
icmp.*ICMP fields (see DIVERT_ICMPHDR)
icmpv6.*ICMPV6 fields (see DIVERT_ICMPV6HDR)
tcp.*TCP fields (see DIVERT_TCPHDR)
tcp.PayloadLengthThe TCP payload length
udp.*UDP fields (see DIVERT_UDPHDR)
udp.PayloadLengthThe UDP payload length
-
-

-A test also fails if the field is missing. -E.g. the test "tcp.DstPort == 80" will fail if the packet does not -contain a TCP header. -

- -

7.1 Filter Examples

- -

-

    -
  1. -Divert all outbound web traffic: -
    -HANDLE handle = DivertOpen(
    -        "outbound and "
    -        "(tcp.DstPort == 80 or udp.DstPort == 53)",
    -        0, 0, 0
    -    );
    -
    -
  2. -
  3. -Divert all inbound TCP SYNs: -
    -HANDLE handle = DivertOpen(
    -        "inbound and "
    -        "tcp.Syn",
    -        0, 0, 0
    -    );
    -
    -
  4. -
  5. -Divert only (inbound) local traffic: -
    -HANDLE handle = DivertOpen(
    -        "inbound and ("
    -        "(ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255) or"
    -        "ipv6.DstAddr == ::1)",
    -        0, 0, 0
    -    );
    -
    -
  6. -
  7. -Divert all traffic: -
    -HANDLE handle = DivertOpen("true", 0, 0, 0);
    -
    -
  8. -
  9. -Divert no traffic: -
    -HANDLE handle = DivertOpen("false", 0, 0, 0);
    -
    -This is useful for packet injection. -
- -

7.2 Filter Usage

- -

-The purpose of the filter is to help applications select the subset of -all network traffic that the application is interested in. -Ideally the filter should be -

    -
  1. As short as possible; and
  2. -
  3. As selective as possible.
  4. -
-For some applications these two objectives can conflict. -That is, a selective filter is not short, and a short filter is not selective. -For such applications the developer should experiment with different -filter configurations and carefully measure the performance impact to -find the optimal solution. -

- -
-

8. Samples

- -

-Some samples have been provided to demonstrate the WinDivert API. -The sample programs are: -

    -
  • webfilter.exe: A simple URL blacklist filter. - This program monitors outbound HTTP traffic. - If it finds a URL request that matches the blacklist, it hijacks the - TCP connection, reseting the connection at the server's end, and - sending a simple block-page to the browser. - The blacklist(s) are specified at the command-line.
  • -
  • netdump.exe: A simple packet sniffer based on the - WinDivert filter language. - This program takes a filter specified at the command line, and prints - information about any packet that matches the filter. - This example uses WinDivert in "packet sniffing" mode, similar to - winpcap. - However, unlike winpcap, WinDivert can see local (loopback) - packets. -
  • netfilter.exe: A simple firewall based on the WinDivert - filter language. - This program takes a filter specified at the command line, and blocks - any packet that matches the filter. - It blocks TCP by sending a TCP reset, UDP by an ICMP message, and all - other traffic it simply drops. - This is similar to the Linux iptables command with the - -j REJECT option.
  • -
  • passthru.exe: A simple program that simply re-injects every - packet it captures. - This example is multi-threaded, where multiple threads are processing - packets from a single handle. - This example is useful for performance testing, and as a starting point - for more interesting applications.
  • -
-

-The samples are intended for educational purposes only, and are not -fully-featured applications. -

-The following basic template for a WinDivert application. -The basic idea is to open a WinDivert handle, then enter a -capture-modify-reinject loop: -

-    HANDLE handle;          // Divert handle
-    DIVERT_ADDRESS addr;    // Packet address
-    char packet[MAXBUF];    // Packet buffer
-    UINT packetLen;
-
-    handle = DivertOpen("...", 0, 0, 0);   // Open some filter
-    if (handle == INVALID_HANDLE_VALUE)
-    {
-        // Handle error
-        exit(1);
-    }
-
-    // Main capture-modify-inject loop:
-    while (TRUE)
-    {
-        if (!DivertRecv(handle, packet, sizeof(packet), &addr, &packetLen))
-        {
-            // Handle recv error
-            continue;
-        }
-
-        // Modify packet.
-
-        if (!DivertSend(handle, packet, packetLen, &addr, NULL))
-        {
-            // Handle send error
-            continue;
-        }
-    }
-
-For applications that do not need to modify the packet, a better approach is -to open the WinDivert handle with the DIVERT_FLAG_SNIFF flag set, -and not re-inject the packet with -DivertSend(). -See the netdump.exe sample program for an example of this usage. -

- -
-

9. Known Issues

- -

-There are some limitations to the WinDivert package. -They are -

    -
  • Injecting inbound ICMP/ICMPv6 messages: - For some ICMP/ICMPv6 messages, inbound injection does not work. - An error will be returned and the packet will be lost. - It is suspected that this is an issue with the WFP framework on which - WinDivert is built. - The work-around is to inject inbound ICMP messages as outbound. -
  • -
  • No IPv6 extension header support: - Currently there is no filter support for IPv6 packets with extension - headers. - The work around is to capture all IPv6 traffic.
  • -
-

- -
-

10. License

-

-This package is distributed strictly under the -GNU Lesser General -Public License (GPL) Version 3. -Please note the following: -

-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-

-

















-

















-

















- - diff --git a/external/WinDivert-1.0.5-MINGW/include/divert.h b/external/WinDivert-1.0.5-MINGW/include/divert.h deleted file mode 100644 index 743d795..0000000 --- a/external/WinDivert-1.0.5-MINGW/include/divert.h +++ /dev/null @@ -1,350 +0,0 @@ -/* - * divert.h - * (C) 2012, all rights reserved, - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -#ifndef __DIVERT_H -#define __DIVERT_H - -#ifndef DIVERT_KERNEL -#include -#endif /* DIVERT_KERNEL */ - -#ifndef DIVERTEXPORT -#define DIVERTEXPORT __declspec(dllimport) -#endif /* DIVERTEXPORT */ - -#ifdef __MINGW32__ -#define __in -#define __out -#define __out_opt -#define __inout -#include -#define INT8 int8_t -#define UINT8 uint8_t -#define INT16 int16_t -#define UINT16 uint16_t -#define INT32 int32_t -#define UINT32 uint32_t -#define INT64 int64_t -#define UINT64 uint64_t -#endif /* __MINGW32__ */ - -#ifdef __cplusplus -extern "C" { -#endif - -/****************************************************************************/ -/* DIVERT API */ -/****************************************************************************/ - -/* - * Divert address. - */ -typedef struct -{ - UINT32 IfIdx; /* Packet's interface index. */ - UINT32 SubIfIdx; /* Packet's sub-interface index. */ - UINT8 Direction; /* Packet's direction. */ -} DIVERT_ADDRESS, *PDIVERT_ADDRESS; - -#define DIVERT_DIRECTION_OUTBOUND 0 -#define DIVERT_DIRECTION_INBOUND 1 - -/* - * Old names (deprecated). - */ -#define DIVERT_PACKET_DIRECTION_OUTBOUND \ - DIVERT_DIRECTION_OUTBOUND -#define DIVERT_PACKET_DIRECTION_INBOUND \ - DIVERT_DIRECTION_INBOUND - -/* - * Divert layers. - */ -typedef enum -{ - DIVERT_LAYER_NETWORK = 0, /* Network layer. */ - DIVERT_LAYER_NETWORK_FORWARD = 1 /* Network layer (forwarded packets) */ -} DIVERT_LAYER, *PDIVERT_LAYER; - -/* - * Divert flags. - */ -#define DIVERT_FLAG_SNIFF 1 -#define DIVERT_FLAG_DROP 2 - -/* - * Divert parameters. - */ -typedef enum -{ - DIVERT_PARAM_QUEUE_LEN = 0, /* Packet queue length. */ - DIVERT_PARAM_QUEUE_TIME = 1 /* Packet queue time. */ -} DIVERT_PARAM, *PDIVERT_PARAM; -#define DIVERT_PARAM_MAX DIVERT_PARAM_QUEUE_TIME - -/* - * Open a divert handle. - */ -extern DIVERTEXPORT HANDLE DivertOpen( - __in const char *filter, - __in DIVERT_LAYER layer, - __in INT16 priority, - __in UINT64 flags); - -/* - * Receive (read) a packet from a divert handle. - */ -extern DIVERTEXPORT BOOL DivertRecv( - __in HANDLE handle, - __out PVOID pPacket, - __in UINT packetLen, - __out_opt PDIVERT_ADDRESS pAddr, - __out_opt UINT *readLen); - -/* - * Send (write/inject) a packet to a divert handle. - */ -extern DIVERTEXPORT BOOL DivertSend( - __in HANDLE handle, - __in PVOID pPacket, - __in UINT packetLen, - __in PDIVERT_ADDRESS pAddr, - __out_opt UINT *writeLen); - -/* - * Close a divert handle. - */ -extern DIVERTEXPORT BOOL DivertClose( - __in HANDLE handle); - -/* - * Set a divert handle parameter. - */ -extern DIVERTEXPORT BOOL DivertSetParam( - __in HANDLE handle, - __in DIVERT_PARAM param, - __in UINT64 value); - -/* - * Get a divert handle parameter. - */ -extern DIVERTEXPORT BOOL DivertGetParam( - __in HANDLE handle, - __in DIVERT_PARAM param, - __out UINT64 *pValue); - -/****************************************************************************/ -/* DIVERT HELPER API */ -/****************************************************************************/ - -#ifndef DIVERT_NO_HELPER_API - -/* - * IPv4/IPv6/ICMP/ICMPv6/TCP/UDP header definitions. - */ -typedef struct -{ - UINT8 HdrLength:4; - UINT8 Version:4; - UINT8 TOS; - UINT16 Length; - UINT16 Id; - UINT16 FragOff0; - UINT8 TTL; - UINT8 Protocol; - UINT16 Checksum; - UINT32 SrcAddr; - UINT32 DstAddr; -} DIVERT_IPHDR, *PDIVERT_IPHDR; - -#define DIVERT_IPHDR_GET_FRAGOFF(hdr) \ - (((hdr)->FragOff0) & 0xFF1F) -#define DIVERT_IPHDR_GET_MF(hdr) \ - ((((hdr)->FragOff0) & 0x0020) != 0) -#define DIVERT_IPHDR_GET_DF(hdr) \ - ((((hdr)->FragOff0) & 0x0040) != 0) -#define DIVERT_IPHDR_GET_RESERVED(hdr) \ - ((((hdr)->FragOff0) & 0x0080) != 0) - -#define DIVERT_IPHDR_SET_FRAGOFF(hdr, val) \ - do \ - { \ - (hdr)->FragOff0 = (((hdr)->FragOff0) & 0x00E0) | \ - ((val) & 0xFF1F); \ - } \ - while (FALSE) -#define DIVERT_IPHDR_SET_MF(hdr, val) \ - do \ - { \ - (hdr)->FragOff0 = (((hdr)->FragOff0) & 0xFFDF) | \ - (((val) & 0x0001) << 5); \ - } \ - while (FALSE) -#define DIVERT_IPHDR_SET_DF(hdr, val) \ - do \ - { \ - (hdr)->FragOff0 = (((hdr)->FragOff0) & 0xFFBF) | \ - (((val) & 0x0001) << 6); \ - } \ - while (FALSE) -#define DIVERT_IPHDR_SET_RESERVED(hdr, val) \ - do \ - { \ - (hdr)->FragOff0 = (((hdr)->FragOff0) & 0xFF7F) | \ - (((val) & 0x0001) << 7); \ - } \ - while (FALSE) - -typedef struct -{ - UINT8 TrafficClass0:4; - UINT8 Version:4; - UINT8 FlowLabel0:4; - UINT8 TrafficClass1:4; - UINT16 FlowLabel1; - UINT16 Length; - UINT8 NextHdr; - UINT8 HopLimit; - UINT32 SrcAddr[4]; - UINT32 DstAddr[4]; -} DIVERT_IPV6HDR, *PDIVERT_IPV6HDR; - -#define DIVERT_IPV6HDR_GET_TRAFFICCLASS(hdr) \ - ((((hdr)->TrafficClass0) << 4) | ((hdr)->TrafficClass1)) -#define DIVERT_IPV6HDR_GET_FLOWLABEL(hdr) \ - ((((UINT32)(hdr)->FlowLabel0) << 16) | ((UINT32)(hdr)->FlowLabel1)) - -#define DIVERT_IPV6HDR_SET_TRAFFICCLASS(hdr, val) \ - do \ - { \ - (hdr)->TrafficClass0 = ((UINT8)(val) >> 4); \ - (hdr)->TrafficClass1 = (UINT8)(val); \ - } \ - while (FALSE) -#define DIVERT_IPV6HDR_SET_FLOWLABEL(hdr, val) \ - do \ - { \ - (hdr)->FlowLabel0 = (UINT8)((val) >> 16); \ - (hdr)->FlowLabel1 = (UINT16)(val); \ - } \ - while (FALSE) - -typedef struct -{ - UINT8 Type; - UINT8 Code; - UINT16 Checksum; - UINT32 Body; -} DIVERT_ICMPHDR, *PDIVERT_ICMPHDR; - -typedef struct -{ - UINT8 Type; - UINT8 Code; - UINT16 Checksum; - UINT32 Body; -} DIVERT_ICMPV6HDR, *PDIVERT_ICMPV6HDR; - -typedef struct -{ - UINT16 SrcPort; - UINT16 DstPort; - UINT32 SeqNum; - UINT32 AckNum; - UINT16 Reserved1:4; - UINT16 HdrLength:4; - UINT16 Fin:1; - UINT16 Syn:1; - UINT16 Rst:1; - UINT16 Psh:1; - UINT16 Ack:1; - UINT16 Urg:1; - UINT16 Reserved2:2; - UINT16 Window; - UINT16 Checksum; - UINT16 UrgPtr; -} DIVERT_TCPHDR, *PDIVERT_TCPHDR; - -typedef struct -{ - UINT16 SrcPort; - UINT16 DstPort; - UINT16 Length; - UINT16 Checksum; -} DIVERT_UDPHDR, *PDIVERT_UDPHDR; - -/* - * Flags for DivertHelperCalcChecksums() - */ -#define DIVERT_HELPER_NO_IP_CHECKSUM 1 -#define DIVERT_HELPER_NO_ICMP_CHECKSUM 2 -#define DIVERT_HELPER_NO_ICMPV6_CHECKSUM 4 -#define DIVERT_HELPER_NO_TCP_CHECKSUM 8 -#define DIVERT_HELPER_NO_UDP_CHECKSUM 16 - -/* - * Parse IPv4/IPv6/ICMP/ICMPv6/TCP/UDP headers from a raw packet. - */ -extern DIVERTEXPORT BOOL DivertHelperParsePacket( - __in PVOID pPacket, - __in UINT packetLen, - __out_opt PDIVERT_IPHDR *ppIpHdr, - __out_opt PDIVERT_IPV6HDR *ppIpv6Hdr, - __out_opt PDIVERT_ICMPHDR *ppIcmpHdr, - __out_opt PDIVERT_ICMPV6HDR *ppIcmpv6Hdr, - __out_opt PDIVERT_TCPHDR *ppTcpHdr, - __out_opt PDIVERT_UDPHDR *ppUdpHdr, - __out_opt PVOID *ppData, - __out_opt UINT *pDataLen); - -/* - * Old name (deprecated). - */ -#define DivertHelperParse(p, pl, ip, ip6, icmp, icmp6, tcp, udp, d, dl) \ - DivertHelperParsePacket((p), (pl), (ip), (ip6), (icmp), (icmp6), (tcp), \ - (udp), (d), (dl)) - -/* - * Parse an IPv4 address. - */ -extern DIVERTEXPORT BOOL DivertHelperParseIPv4Address( - __in const char *addrStr, - __out_opt UINT32 *pAddr); - -/* - * Parse an IPv6 address. - */ -extern DIVERTEXPORT BOOL DivertHelperParseIPv6Address( - __in const char *addrStr, - __out_opt UINT32 *pAddr); - -/* - * Calculate IPv4/IPv6/ICMP/ICMPv6/TCP/UDP checksums. - */ -extern DIVERTEXPORT UINT DivertHelperCalcChecksums( - __inout PVOID pPacket, - __in UINT packetLen, - __in UINT64 flags); - -#endif /* DIVERT_NO_HELPER_API */ - -#ifdef __cplusplus -} -#endif - -#endif /* __DIVERT_H */ diff --git a/external/WinDivert-1.0.5-MINGW/x86/WdfCoInstaller01009.dll b/external/WinDivert-1.0.5-MINGW/x86/WdfCoInstaller01009.dll deleted file mode 100644 index 068538ab460539b9ed85d1ad243a94bf68271fb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65024 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 RR?e9_D)qg;(N=T9{{aW_JU##b diff --git a/external/WinDivert-1.0.5-MINGW/x86/WinDivert.inf b/external/WinDivert-1.0.5-MINGW/x86/WinDivert.inf deleted file mode 100644 index db4fbd8..0000000 --- a/external/WinDivert-1.0.5-MINGW/x86/WinDivert.inf +++ /dev/null @@ -1,9 +0,0 @@ -[Version] -Signature="$WINDOWS NT$" - -[divert.NT.Wdf] -KmdfService = divert, divert_WdfSection - -[divert_WdfSection] -KmdfLibraryVersion = 1.9 - diff --git a/external/WinDivert-1.0.5-MINGW/x86/WinDivert.sys b/external/WinDivert-1.0.5-MINGW/x86/WinDivert.sys deleted file mode 100644 index a7ae13d6f21e3dabb2f90378a96aaa08451f5be1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29744 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 Mq+n%TBgDA>5B}U1O#lD@ diff --git a/external/WinDivert-1.0.5-MINGW/x86/netdump.exe b/external/WinDivert-1.0.5-MINGW/x86/netdump.exe deleted file mode 100644 index 86bb53269055addea187b42484658ee52862540e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 diff --git a/external/WinDivert-1.0.5-MINGW/x86/netfilter.exe b/external/WinDivert-1.0.5-MINGW/x86/netfilter.exe deleted file mode 100644 index 6973acfc737be30a6cd9279906d27279b1914db6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 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 diff --git a/external/WinDivert-1.0.5-MINGW/x86/passthru.exe b/external/WinDivert-1.0.5-MINGW/x86/passthru.exe deleted file mode 100644 index 8cf03d51a182f52069dbadcb5df343733ab23432..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12800 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 GRR0G{*UFjz diff --git a/external/WinDivert-1.0.5-MSVC/CHANGELOG b/external/WinDivert-1.0.5-MSVC/CHANGELOG deleted file mode 100644 index ba6bbc3..0000000 --- a/external/WinDivert-1.0.5-MSVC/CHANGELOG +++ /dev/null @@ -1,20 +0,0 @@ -WinDivert 1.0.0 - - First release of WinDivert 1.0 -WinDivert 1.0.1 - - Fixed stack overflow bug in 32bit versions of the driver. -WinDivert 1.0.2 - - WinDivert now requires Administrator privileges in order to access - (as opposed to just install) the WinDivert device. -WinDivert 1.0.3 - - Fix bug(s) relating to the parsing of IPv6 addresses. - - DivertOpen() now returns more meaningful error codes on failure. - - Two new helper API functions: DivertHelperParseIPvXAddress(..), X=4,6. - - Renamed DivertHelperParse(..) to DivertHelperParsePacket(..). -WinDivert 1.0.4 - - Same as WinDivert 1.0.3 except: - * Released with signed drivers. - * MinGW compiled gcc-4.6 - * Minor documentation changes. -WinDivert 1.0.5 - - Fix the DIVERT_NETWORK_FORWARD_LAYER implementation. - - Upgrade Visual Studio support to 2012. diff --git a/external/WinDivert-1.0.5-MSVC/README b/external/WinDivert-1.0.5-MSVC/README deleted file mode 100644 index aad5569..0000000 --- a/external/WinDivert-1.0.5-MSVC/README +++ /dev/null @@ -1,139 +0,0 @@ -WinDivert 1.0: Windows Packet Divert -==================================== - -1. Introduction ---------------- - -Windows Packet Divert (WinDivert) is a user-mode packet capture-and-divert -package for Windows Vista, Windows 2008, and Windows 7. - -With WinDivert developers can write user-mode programs that capture and -modify or drop network packets sent to/from the Windows network stack. -In summary, WinDivert can - - capture network packets - - filter/drop network packets - - sniff network packets - - (re)inject network packets - - modify network packets - -WinDivert can be used to implement user-mode packet filters, packet sniffers, -firewalls, NAT, VPNs, tunneling applications, etc., etc.. If you -need to intercept and modify packets, then WinDivert is for you. - -The features of WinDivert include: - - packet interception, sniffing, or dropping modes - - support for loopback (localhost) traffic - - full IPv6 support - - network layer - - simple and powerful API - - high-level filtering language - - filter priorities - - freely available under the terms of the GNU Lesser General Public - License (LGPL) - -For more information about WinDivert, see doc/divert.html - -2. Similar Packages -------------------- - -WinDivert is similar to divert sockets in FreeBSD/MacOS, NETLINK sockets in -Linux, and some commercial packet capturing packages such as WinPkFilter for -Windows. The design of WinDivert is largely influenced by FreeBSD's divert -sockets. - -WinDivert in packet-sniffing mode is similar to Winpcap. Unlike Winpcap, -WinDivert fully supports capturing loopback traffic. Furthermore, WinDivert -supports packet interception, which is not supported in Winpcap. - -3. Architecture ---------------- - -The basic architecture of WinDivert is as follows: - - +-----------------+ - | | - +------->| PROGRAM |--------+ - | | (WinDivert.dll) | | - | +-----------------+ | - | | (3) re-injected - | (2a) matching packet | packet - | | - | | - [user mode] | | - ....................|...................................|................... - [kernel mode] | | - | | - | | - +---------------+ +-----------------> - (1) packet | | (2b) non-matching packet - ------------>| WinDivert.sys |--------------------------------------------> - | | - +---------------+ - -The WinDivert.sys driver is inserted below the Windows network stack. The -following then happens - -(1) a new packet enters the network stack and is intercepted by WinDivert.sys -(2a) if the packet matches a PROGRAM-defined filter, it is diverted. The - PROGRAM reads the packet with a call to the DivertRecv() function. -(2b) if the packet does not match the filter, the packet is permitted to - continue as normal. -(3) PROGRAM either drops, modifies, or re-injects the packet. If the - (modified) packet is re-injected, via a call to DivertSend(), it is - inserted back into the Windows network stack. - -4. Building ------------ - -(1) In a WinDDK build environment, run the command: - - wddk-build.bat - -(2) [OPTIONAL Visual Studio 2010 support] In a VS2010 command prompt, run the - command: - - msvc-build.bat - -(3) [OPTIONAL MinGW support] In Linux with MinGW a cross-compiler, run the - command: - - sh mingw-build.sh - -For more detailed build instructions, see doc\divert.html - -5. License ----------- - -This package is distributed under the GNU Lesser General Public License -(LGPL) Version 3. See LICENSE for more information. - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program. If not, see - -6. About --------- - -WinDivert was written by basil. - -For further information, or bug reports, please contact - - basil AT reqrypt DOT org - -The homepage for WinDivert is - - http://reqrypt.org/windivert.html - -The source code for WinDivert is hosted by GitHub at - - https://github.com/basil00/Divert - diff --git a/external/WinDivert-1.0.5-MSVC/VERSION b/external/WinDivert-1.0.5-MSVC/VERSION deleted file mode 100644 index 90a27f9..0000000 --- a/external/WinDivert-1.0.5-MSVC/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.0.5 diff --git a/external/WinDivert-1.0.5-MSVC/amd64/WdfCoInstaller01009.dll b/external/WinDivert-1.0.5-MSVC/amd64/WdfCoInstaller01009.dll deleted file mode 100644 index 6012ed3ad45e99e9eae925443cf5210df4f21d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69632 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 z zd`dMo;A$Jb$#|7BGjw|9}t@Cyh)Cu%m8 zkGZZKM#HlLt{%)*M30n@T`^Zqif&=9qdL9jeIC{6QvX}y7*abm#F+ZNhL}>@G$bdr zMMH8^4{AtWDxx9gREvfTOEqdperlzL6r>huNMTCSkm0Gh8X~4XMX5h%$k^0xG-O=r1q~UWI<6rTQe7G{ zF?B#gCZ+yeLnfzwtRc44KWoUJvrs|Xm=1q2Lf69GLIs@_8yV(wz$c7RSO zqqew}rCSidx_gTSs&9!cOS)sr1~O}jG?o-k30AET{dj@c`D=6)jHCxEl9sI0m9%+c zcaEfK4gLVpz=x+tP@4i4Fa=*wD?n?*(G19R4xoEF+FLrEHF!DC$n&zA+(+hRI}ElX?5upZV>|1AWy>Rd z#r;K@T{b+4wzbqhBTCPGrXSfmXk?;CYG~spcX=o$uUNRyHN z7xIq){v0WZ^kbyoARR#Z5a~ElAJP*@JCI&NdIsqoq;p7*qkI7lH32CHX(ZCe;Lio0 z(ki4ok=7!~NbkbO_$p+6iu5efGf4Z9_979F@(3p$<&g|IS`^QxTP~snaC$Mm6n8)b z;?OlXr*X6=D?Y@+z8tduLiu7YpMRyiTRD!~!xWc#EK=Z&JNu=oejF|9CUJM{;AG|& zQX9xsr79JS`_4HM)k-gYPhgsnVuxmv@4%deJs)tb$RoE5{lw0ug<{gr#q8jh49DB9 zxJ#{82IwP28T#k;DQ_shRsI8{lMcr3(prq)c`T!)ubJ#C?=(DAe3SjXAuOxgW@Od4TQ>r4v5t-@9#iwQ=<-+>9xgp2TVz)5kmZM!zI5o~fJQYW(58zX+OJ;bIM zlycm;bt8SBT8P1evs>WoP)p?;yyrwJ$zQ-NOt#;-jVuT26l+q26ttgGSt=VV=S1c* zLVeb&9(8S9psL-`KifjjYxiJwJsN;>GWdZs>zbtf;-DK}{G*p_V)PEQhM-d|1{8NZ z*FoGH*sPJ@C>8zz^9J9G(Yz<_Dy2{mKIXtpQmv0qf*7v4cHCdx_@a3%A}W$Onz|+W zkxu-21UCf5X?DeOQwLF>YFz?x$J-P}LKw@FM>W;PN>r-@dbqYS=8`X_(oM?%zHfWT3 z5d7qEnDpef8!=T6BUm>FSCz*B_aR+E`aRNE@D?GhK@x`jl}AVU`e6p+m2#$>+$))X z1ILU#&A9}-6xQ1-s`by~1%X|{W2VDS?8NWlIL8Ge`8Hs*>fgY^r%oo2d=adJ!;C@# zyPfT>)M=2kKhgyP)s-I{1KH$ld2Ge!vR}hIcO4w@A7ara_p)j!h!8V9gq2G(uUv{I z%%DdSt(evlh?#!FKDuMq0p5?IJ*Iu&P_sRzy})Rt^q3BD?0^}hv^IeX3x7@}dyM28 z2$%Uv;W*;Qd`4S_iC_H`7G{_zxX2C-lNd&HtekGw=uXK&syPX@=>)}{n|HHB>t_8h z)=e`GhBBp>_47&8m^_U82mghK=?BoB`dPyJc|FmJDM}z_`Vb$adrYt5t@Z6iU|QdP z$FYpM)HnLRtsrnO#YX8s{_7O9HA~YNx{OLP z_64UO1QVWpdFm2-?WiFy>3N~neG6~FDb@ic>2&zGN(;aMVBl(5(AR> zv%>kvj=Yo3(Y`wa&^@9bOU_i1Z9hivcc9QhAkWw>fR0?KiWS?U;N#B$UZ z(8P0CrK1*0r?*NEZeHm}|f#obIyQOL|=+sHzh*%y6z^^I9&ZmJ48cBKmN;6GBDVWLhOPB(7 zwt}RvtY)Mt>faP)B`En zQZPC4Bz(8oV)_}a;MrBj0pzP8+yx{#6EbLUgim?)5Q(!N2K@v%s;L!k?vt}$Ftt!j zb)&t8K7Z8GJko-}T5JY0Nw!{*dK$7^7xPN0tXJe6W} zw_uy{VRq4JZ&v%1v*ZADz9w$|31kpC!OsNo^DjM?7tex&_;7aCeNaftLaZ?|6ShUL z?Wp4n6}yY|gA>mn3WmmBr=uQ?;mWCHsC|ginWCy8a?4mW)_N-EwehqJeZ zy+^Y5D72Inh|azE?M13}stJ_}zCN8RZMwKMiptif%N4l!xpptMq0%Q$m5$H_`o z5~cJGenTiv_Oi|IEb}8(>jWlkDkc@_69V=_jgt?K*5J2Ufo^RFr?WG88<`e!D{=9x z+6z9NsWf?(X<<AtsWdn&3W(*-h&Ue z>p>|AX*%I|Q%+ZZkw)D?RJ_`zQMDxJu_4 z!Vq{!9ZY9Qy4VNuR;Jw%+db&jTP3t%AOc>sWjqaOj%rm$WOkszzL~W-7oYfh2w~p+ z1|U6LQVcZ3^lBfzmYb!D*F$e-O|PuE8lU(}t=v=pg>q`~AEAI+oWvXZWdr{EM5+j? zsl~rz{C@U6$KG$T_XYN@#oM_IJ;DH-m+*ZyR*i2vI>j8TwkI309c-g9L{NKBsK-=} zQdU%+_pL4i_!*6i- zCWje&oU7NcOC09${Bay!%i$TGKabNs4p(y6!r@^q_Y{XaIs7h%TREJ`<%67F&?KL(dvc<0i8+f`vBsW9IX!{Xk8ye;rw?!%ekglRa(X_e`#25Xi#=yK z4R3@!NlwEPXU~V6rpp~YmpE->6kfHOJ+J1ph11t?+Q#WAoG#1#P% z&*`b0Uc>1UP6s)Sa5{TBIDI{*w{aT&5qlox^bMTe!RZ@0y_eJYPRpLBIejyyk8m1a z&Dhh+X}T=abC%Q7HBv}&dIqO2aoWLY%blA2$iJqip{+>>G_-{Mz?&OegN(`X(s}Jo z6x^VP@=E8g@i(pwM_LDI{AXU4%k!6R2xjV8$2SNnw{F(unm9dJQ-;pe#A#MjbHLlQ zK2v|&s`dzUZRQ#_XK4f6y&xk8JS@AKnnD@_c?&`ftG^To4AN3l$mefcEw3RC^1XC4 z01h&NS7+5%6Ka>+8{1o01;|?xYSiinzVu5=SlOjZeFQVT*6?giD6e!uOZ$DkhE;x4 z#b~KL=xc6mmRbAAAJl;7-+}+53vH=kCO_CRrO4T98SZaHSHnNQp;b^+{Wax4N2u{8aA}F zH#BASLX)ovuVM0w!!m@PGkL%onfHs@S<&3q)P5i84n^4X zi!=oVq#=3}ovk;~*@_YUdHNDRTb~t8ftrxt?O)g2==ZjT<%X6P56wy9w}<5+8DyVq z`NjU$_H}%L43W>uxElvVv(P5E@m?qRg^(Z%r9xQPfJD#d=Tix7LQ_6gurOa}7rfwx zQNBTF!9S|&deqg#C{`I>SGG1CGMU{3|2KY!9(UlsQkU`;v>NV)Mx~#t)zEtCgW5hL ze1$`FhE(qfRhBgh1Pb0%3w|7A7?13KN#*2oq+Sgb4%V`iuHT zCv@Y?!Z>-DFs=!3X09-9#_0aBV+?}%oN+*pp&^}|Xy@vy3xuoR%o8TOm@kYuQXq_! z3x&d_;evVTC}A58%y*C;1e6m{PCz*U<%G|a8(Ts;Ook4VgmJneVR(N* zFrVAx0NNjWZJsbnw@fG;$nPK4mzyvJjrE2aeHrOT|Jzq5<_MzhD#6^J6ExKr%a{$D zMhYEpUXCI8?&dc9a0H`AjK=&X9_pt2%QPzcOgWv|D41ukQ7RjIwOJVXe*VC){-HY1 zx*U6rQLyOpMMF?u&+G=KHkNs!#R46W`goh!H1%!F%(23l_bmhHcVAw@9L%lHsi8Wk zUfrY|VbV;CFzJyo!O`{B8l6cmnD7e?Hoo(aZ`KKBg7_WLuvLIG?jr%I?8E|L;*oq| zqMRp8TslmcIMXaloH2G_Ouw~ntko=7!M8RI6RhA{7mw)QI9Cg~UW8NhY6ZUkgC_VM zX!<7fENFU|y)mD}nXvne{NS)WqmTzYZ$?g#>Y%pcmALRD^@AojB1bRe%+Qx*^0y!~ zPQib{iG)X|<=1dnrYkfGg)@f%&i{x-inKN1T0+hlih$loZphc>Lh?^}fVA%BDHU(np* zUm<)$2OpzpeoH(2((f>QL31c9Ynj3~1(qYhcWv-?dXhG5X&wAdexw8+AA9Y4C;=eM`XA$WJkxdxtfPz@SwGc9ciyIR;^7kPwmRI|LH z1un-w5rsxH>f1yu2>JcOGdcpk=2fAF&<5dYY8SpEa~A#NpdB^%$UV~X(ZWK{;yXM( z$BfdZ7I=hytyfF@A@VhN=kRA?G`ny%N}U(n{uaON=Nw^_{!2lB+miX!4Q&mp{UJz< z);L;4pfBi`$PFQRunL!ZxvR#TY4?n&IlR89c{RDA-N3`ahDN_|2v|c)8{ER>IrlY& z8-p9_(1UV)oj(+6Ysc?}Osm5FhEU@g;ijCh9Fp53Ey6BSfXpEL&eRGwsU49FMORnX z7?SIn{Hr3XpJ&27yx#9D=(%Xpn1f9VJH)P;lo#%6fnby`m_`(_#H z(DSvz4~=z^Hili$)ipA6uo~kihv9B-W6k~6P{*+csShpwhPFBxmngIvXs>H)X!VDI zqWQK4%#g1eykR%DBzhUfJQWo1xRu&N3$TJ1X_iBR-8}z`7ng$*Jkf_nZLy}8gqxvEQ-BQdJJv8NS8D6p>b{} zkZOtq!G_>P0s#l|aS~S}!AG-|ArGko$qxB4q`63UAgw{_MB0gT2s6{>g z0+vxQ2{}TpU>1f6c>-=2?q+NmGMh9Ss_jM^?#3+uyT%4VBWa;G;7?w0Qu4P1{UP+V zF>{j&56OXS*zc`bHPhYqesZ z(sZM~UioA`<~(VFCioQ6CE&E~?nl7V zc@NeX;Md@*-vEBLU!U#2lOMkkDF_*Y-$vRDoZ#z7+ky837GW(v2AtOP_mJvwci90r z9_zatZP7a4hjm^68Cvg~u--RACi`x~?mXB7o&f(*!2g5vB5;CFBE1Qm_J|HU_5t7o zyNl5`)Y%94B=!#KSN5GP`#wkaypst2-GH(LUqo^OC-^Q>4e$ZL31#@LFX;?;I}-JU z_M@+Ioc5)DjuU(jd!!li9|Be(*jEJK*$Fse7RrG?3UDeC=~e>RjU)l5`^X!d|0dvV zw`gVS0sjrD7BUII*OBUhBfc-(TF&bSRB(rA0-yfA-7%!6fu97_SHd>H={G6#BbSrF z@l8OWU+0i+HGsmc=qvF7#~_hzMSy)swtF@B0q1`RcmwVnH-JyDiQ{yaq5F#ke1flY zobD%d2O&Pe@fjTCKc4?73+MzaKS~`#Tck4*XX@wh@#{T7LSFqg{7zmsv=mX5bJw@F z*l?7F;ontFonBft)#fL!q`7T%)zoE67u;Ar)rPQITT=r$MO9Nb_`_4@-ddPfiI}Fp zbydp-8!BiES51wC+UA5C*Z5l-!Z)@yH-_57?E(45#`e}Z4dK?(brs^4TAzQNzs1%<@2aT{VQ<^I_O<@dR9mFk)kyAb)l?RNpK7~lu%61BzPOdj zn}+CAdDCF$P`vV{jNL$7IUHAVYOtRYcc*!$ZD-j|=gyj)^*e(*J9ci{xnt+vor#@& zJNtJI>=brccG-57?Q-s_*;T(QxT|B=wp}}R?cJ5w)wipE*T61ew`I3&ciC>|?wZ~8 zyMwzsc5mCgWB1`*#oQ7WP>7*!Gm|aqg+vQ@mToZ{7Uuy!TImC!2bjHadZLz diff --git a/external/WinDivert-1.0.5-MSVC/amd64/WinDivert.inf b/external/WinDivert-1.0.5-MSVC/amd64/WinDivert.inf deleted file mode 100644 index db4fbd8..0000000 --- a/external/WinDivert-1.0.5-MSVC/amd64/WinDivert.inf +++ /dev/null @@ -1,9 +0,0 @@ -[Version] -Signature="$WINDOWS NT$" - -[divert.NT.Wdf] -KmdfService = divert, divert_WdfSection - -[divert_WdfSection] -KmdfLibraryVersion = 1.9 - diff --git a/external/WinDivert-1.0.5-MSVC/amd64/WinDivert.lib b/external/WinDivert-1.0.5-MSVC/amd64/WinDivert.lib deleted file mode 100644 index 2fc9829776ecfc1ce38853ea0c09dee603ce2985..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3898 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 diff --git a/external/WinDivert-1.0.5-MSVC/amd64/netfilter.exe b/external/WinDivert-1.0.5-MSVC/amd64/netfilter.exe deleted file mode 100644 index 80a3e3f335b2f4aad4030af017719b386e59d559..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11776 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 - - - WinDivert 1.0 Documentation - - -

WinDivert 1.0: Windows Packet Divert

-

Table of Contents

- - -
-

1. Introduction

-

-WinDivert is a user-mode -capture/sniffing/modification/blocking/re-injection package for -Windows Vista, Windows Server 2008, and Windows 7. -WinDivert can be used to implement user-mode packet filters, packet sniffers, -firewalls, NAT, VPNs, tunneling applications, etc., without the need to -write kernel-level code. -

-

-The main features of the WinDivert are: -

    -
  • User-mode packet capture, sniffing, dropping, filtering, modification, - re-injection, etc.
  • -
  • Simple, high-level, programming API.
  • -
  • Fully documented with sample programs.
  • -
  • Full IPv6 support.
  • -
  • Full loopback (localhost) support.
  • -
  • A modern WDF/WFP driver implementation.
  • -
  • Open source; Licensed under GNU Lesser General Public License (LGPL) - version 3. - See the License for more information.
  • -
-

-WinDivert provides similar functionality to -divert sockets in FreeBSD/MacOS, NETLINK sockets in Linux, -and some commercial packages such as WinPkFilter for Windows. -WinDivert also supports passive packet sniffing similar to Winpcap. -

- -
-

2. Building

-

-The source code for WinDivert is available for download at -

- - https://github.com/basil00/Divert -
-To build the WinDivert package from source: -
    -
  1. Download and install -Windows Driver Kit 7.1.0.
  2. -
  3. Open a Free Build Environment console (or - Checked Build Environment for debugging).
  4. -
  5. In the WinDivert package root directory, run the command: -
    -wddk-build.bat
    -
    -This will build the following files and place them in the -install\WDDK subdirectory: -
      -
    • WinDivert.dll: User-mode library.
    • -
    • WinDivert.sys: Kernel-mode WDF/WFP call-out driver.
    • -
    • WinDivert.inf: INF file for WinDivert.sys.
    • -
    • WdfCoInstaller*.dll: Microsoft WDF co-installer for - WinDivert.sys.
    • -
    • *.exe: Sample applications from the divert\examples - directory.
    • -
  6. -
-NOTE: The WinDivert.dll and WinDivert.lib files -are only compatible with programs compiled with the WDDK compiler. -See below for Visual Studio 2012 and MinGW support. -

- -

2.1 Driver Signing

-

-Before the WinDivert package can be used, the WinDivert.sys driver -must contain a valid digital signature. -This is Microsoft policy for all kernel drivers in recent versions of -Windows. -See Driver Signing Requirements for Windows -for more information. -

- -

2.2 Visual Studio 2012 Support

-

-To build the WinDivert package for Visual Studio 2012: -

    -
  1. First build the driver by running wddk-build.bat as per the -instructions above.
  2. -
  3. Open a Visual Studio Command Prompt environment.
  4. -
  5. In the WinDivert package root directory, run the command: -
    -msvc-build.bat
    -
    -This will build Visual Studio 2012 compatible files and place them in the -install\MSVC subdirectory.
  6. -
-

- -

2.3 MinGW Support

-

-To build the WinDivert package for MinGW: -

    -
  1. First build the driver by running wddk-build.bat as per -the instructions above.
  2. -
  3. In Linux (with the MinGW cross-compilers installed) and in the -WinDivert package root directory, run the command: -
    -sh mingw-build.sh
    -
    -This will build MinGW compatible files and place them in the -install\MINGW subdirectory.
  4. -
- -

- -
-

3. Installing

-

-WinDivert does not require any special installation. -Simply place the WinDivert.dll, WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files are in your -application's home directory. -

-

-The WinDivert driver is installed on demand, i.e., when your application -makes a call to DivertOpen() from -WinDivert.dll. -The driver is installed silently. -The calling application must be running with Administrator privileges. -

- -
-

4. Uninstalling

-

-To uninstall, simply delete the WinDivert.dll, WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files. -The WinDivert driver is silently uninstalled when the calling application -terminates or unloads the WinDivert.dll library. -The WinDivert driver can also be removed manually by issuing the following -commands at the command prompt -

-sc stop WinDivert1.0
-sc delete WinDivert1.0
-
-

- -
-

5. Programming API

-

-To use the WinDivert package, a program/application must: -

    -
  1. Include the divert.h header file -
    -#include "divert.h"
    -
  2. -
  3. Link or dynamically load the WinDivert.dll dynamic link -library.
  4. -
- -

5.1 DIVERT_ADDRESS

-
-
-typedef struct
-{
-    UINT32 IfIdx;
-    UINT32 SubIfIdx;
-    UINT8  Direction;
-} DIVERT_ADDRESS, *PDIVERT_ADDRESS;
-
-
-
-

-Fields -

    -
  • IfIdx: The interface index on which the packet arrived - (for inbound packets), or is to be sent (for outbound packets).
  • -
  • SubIfIdx: The sub-interface index for IfIdx.
  • -
  • Direction: The packet's direction. -The possible values are -
      -
    • DIVERT_DIRECTION_OUTBOUND with value 0 for outbound -packets.
    • -
    • DIVERT_DIRECTION_INBOUND with value 1 for inbound -packets.
    • -
  • -
-

-Remarks
-The DIVERT_ADDRESS structure represents the "address" of a captured -or injected packet. -The address includes the packet's network interfaces and the packet direction. -

-
- -

5.2 DivertOpen

-
-
-HANDLE DivertOpen(
-    __in const char *filter,
-    __in DIVERT_LAYER layer,
-    __in INT16 priority,
-    __in UINT64 flags
-);
-
-
-
-

-Parameters
-

    -
  • filter: A packet filter string specified in the WinDivert - filter language.
  • -
  • layer: The layer.
  • -
  • priority: The priority of the handle.
  • -
  • flags: Additional flags.
  • -
-

-Return Value
-A valid WinDivert handle on success, or -INVALID_HANDLE_VALUE if an error occurred. -Use GetLastError() to get the reason for the error. -Common errors include: -

- - - - - - - - - - - - - - - - - - - - - - - - - - -
-Name - -Code - -Description -
-ERROR_INVALID_PARAMETER - -87 - -This indicates an invalid packet filter string, layer, priority, or flags. -
-ERROR_FILE_NOT_FOUND - -2 - -One or more of the WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files were not -found. -
-ERROR_ACCESS_DENIED - -5 - -The calling application does not have Administrator privileges. -
-ERROR_INVALID_IMAGE_HASH - -577 - -The WinDivert.sys driver does not have a valid digital signature -(see the driver signing requirements above), -or WinDivert.sys is the wrong version, i.e. 32-bit on -64-bit Windows or vice versa. -
-
-

-Remarks
-Opens a WinDivert handle for the given filter. -Unless otherwise specified by flags, any packet that matches the -filter will be diverted to the handle. -Diverted packets can be read by the application with -DivertRecv(). -

-

-A typical application is only interested in a subset of all network traffic. -In this case the filter should match as closely as possible to -the subset of interest. -This avoids unnecessary overheads introduced by diverting packets to the -user-mode application. -See the filter language section for more -information. -

-

-The layer of the WinDivert handle is determined by the layer -parameter. -Currently the following layers are supported. -

- - - - - - - - - - - - - -
-Layer - -Description -
-DIVERT_LAYER_NETWORK = 0 - -The network layer. -This is the default. -
-DIVERT_LAYER_NETWORK_FORWARD - -The network layer (forwarded packets). -
-
-

-

-Different WinDivert handles can be assigned different priorities by the -priority parameter. -Packets are diverted to higher priority handles before lower priority -handles. -Packets injected by a handle are then diverted to the next priority handle, -and so on, provided the packet matches the handle's filter. -A packet is only diverted once per priority level, so handles should not -share priority levels unless they use mutually exclusive filters. -Otherwise it is not defined which handle will receive the packet first. -Lower priority values represent higher priorities, with -1000 -being the highest priority, 0 the middle (and a good default) -priority, and 1000 the lowest priority. -

-

-The following flags are supported. -

- - - - - - - - - - - - - -
-Flag - -Description -
-DIVERT_FLAG_SNIFF - -This flag opens the WinDivert handle in packet sniffing mode. -In packet sniffing mode the original packet is not dropped-and-diverted -(the default) but copied-and-diverted. -This mode is useful for implementing packet sniffing tools similar to those -applications that currently use Winpcap. -
-DIVERT_FLAG_DROP - -This flag indicates that the user application does not intend to read matching -packets with DivertRecv(), instead the -packets should be silently dropped. -This is useful for implementing simple packet filters using the -WinDivert filter language. -
-
-If both DIVERT_FLAG_SNIFF and DIVERT_FLAG_DROP flags -are set, the WinDivert handle will be in "passthru" mode that neither -captures nor drops any packet. -Such a handle is useful for applications that only require packet injection. -

-
- -

5.3 DivertRecv

-
-
-BOOL DivertRecv(
-    __in HANDLE handle,
-    __out PVOID pPacket,
-    __in UINT packetLen,
-    __out_opt PDIVERT_ADDRESS pAddr,
-    __out_opt UINT *recvLen
-);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
  • pPacket: A buffer for the captured packet.
  • -
  • packetLen: The length of the buffer pPacket.
  • -
  • pAddr: The DIVERT_ADDRESS of the captured packet.
  • -
  • recvLen: The total number of bytes written to pPacket. - Can be NULL if this information is not required.
  • -
-

-Return Value
-TRUE if a packet was successfully received, or FALSE if -an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Receives a diverted packet that matched the filter passed to -DivertOpen(). -The received packet is guaranteed to match the filter. -

-The contents of the captured packet are written to pPacket. -If the captured packet is larger than the pPacket buffer length, -then the packet will be truncated. -If recvLen is non-NULL, then the total number of bytes -written to pPacket is placed there. -If non-NULL, the address of the captured packet is written to -pAddr. -

-An application should call DivertRecv() -as soon as possible -after a successful call to DivertOpen(). -When a WinDivert handle is open, any packet that matches the filter will -be captured and queued until handled by -DivertRecv(). -Packets are not queued indefinitely, and if not handled in a timely manner, -any captured packet may be dropped. -The amount of time a packet is queued can be controlled with the -DivertSetParam() function. -

-

-DivertRecv() should not be used on any -WinDivert handle created with the DIVERT_FLAG_DROP set. -

-
- -

5.4 DivertSend

-
-
-BOOL DivertSend(
-    __in HANDLE handle,
-    __in PVOID pPacket,
-    __in UINT packetLen,
-    __in PDIVERT_ADDRESS pAddr,
-    __out_opt UINT *sendLen
-);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
  • pPacket: A buffer containing the packet to be injected.
  • -
  • packetLen: The total length of the buffer pPacket.
  • -
  • pAddr: The DIVERT_ADDRESS for the injected packet.
  • -
  • sendLen: The total number of bytes injected. - Can be NULL if this information is not required.
  • -
-

-Return Value
-TRUE if a packet was successfully injected, or FALSE if -an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Injects a packet into the network stack. -The injected packet may be one received from -DivertRecv(), or a -modified version, or a completely new packet. -Injected packets can be captured and diverted again by other WinDivert -handles with lower priorities. -

-The pAddr parameter determines how the packet is injected. -If the Direction field is DIVERT_DIRECTION_OUTBOUND, -the packet is injected into the outbound path (i.e. a packet leaving -this computer). -Else, if Direction is DIVERT_DIRECTION_INBOUND, -the packet is injected into the inbound path (i.e. a packet arriving at -this computer). -Note that the Direction field, and not the IP addresses in -the injected packet, is used to determine the packet's direction. -

-For packets injected into the inbound path, the IfIdx and -SubIfIdx fields are assumed to contain valid interface numbers. -These may be retrieved from DivertRecv() -(for packet modification), -or from the IP Helper API. -

-For outbound injected packets, the IfIdx and SubIfIdx -fields are currently ignored and may be arbitrary values. -Injecting an inbound packet on the outbound path may work (for some -types of packets), however this should be considered "undocumented" behavior, -and may be changed in the future. -

-
- -

5.5 DivertClose

-
-
-BOOL DivertClose(
-    __in HANDLE handle
-);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Closes a WinDivert handle created by -DivertOpen(). -

-
- -

5.6 DivertSetParam

-
-
-BOOL DivertSetParam(
-    __in HANDLE handle,
-    __in DIVERT_PARAM param,
-    __in UINT64 value);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
  • param: A WinDivert parameter name.
  • -
  • value: The parameter's new value.
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Sets a WinDivert parameter. -Currently, the following WinDivert parameters are defined. -

- - - - - - - - - - - - - -
-Parameter - -Description -
-DIVERT_PARAM_QUEUE_LEN - -Sets the maximum length of the packet queue for -DivertRecv(). -Currently the default value is 512, the minimum is 1, and the maximum -is 8192. -
-DIVERT_PARAM_QUEUE_TIME - -Sets the minimum time, in milliseconds, a packet can be queued before it is -automatically dropped. -Packets cannot be queued indefinitely, and ideally, packets should be -processed by the application as soon as is possible. -Note that this sets the minimum time a packet can be queued before -it can be dropped. -The actual time may be exceed this value. -Currently the default value is 256, the minimum is 32, and the maximum is -1024. -
-
-

-
- -

5.7 DivertGetParam

-
-
-BOOL DivertGetParam(
-    __in HANDLE handle,
-    __in DIVERT_PARAM param,
-    __out UINT64 *pValue);
-
-
-
-

-Parameters
-

    -
  • handle: A valid WinDivert handle created by - DivertOpen().
  • -
  • param: A WinDivert parameter name.
  • -
  • value: The parameter's current value.
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Gets a WinDivert parameter. -See DivertSetParam() for the list -of parameters. -

-
- -
-

6. Helper Programming API

- -The WinDivert helper programming API is a collection of definitions -and functions designed to make writing WinDivert applications easier. -The use of the helper API is completely optional. - -

6.1 DIVERT_IPHDR

-
-
-typedef struct
-{
-    UINT8  HdrLength:4;
-    UINT8  Version:4;
-    UINT8  TOS;
-    UINT16 Length;
-    UINT16 Id;
-    UINT16 ...;
-    UINT8  TTL;
-    UINT8  Protocol;
-    UINT16 Checksum;
-    UINT32 SrcAddr;
-    UINT32 DstAddr;
-} DIVERT_IPHDR, *PDIVERT_IPHDR;
-
-
-
-

-Fields
-See
here -for more information. -

-Remarks
-IPv4 header definition. -

-The following fields can only be get/set using the following macro -definitions: -

    -
  • FragOff with DIVERT_IPHDR_GET_FRAGOFF(hdr) and - DIVERT_IPHDR_SET_FRAGOFF(hdr, val)
  • -
  • MF with DIVERT_IPHDR_GET_MF(hdr) and - DIVERT_IPHDR_SET_MF(hdr, val)
  • -
  • DF with DIVERT_IPHDR_GET_DF(hdr) and - DIVERT_IPHDR_SET_DF(hdr, val)
  • -
  • Reserved with DIVERT_IPHDR_GET_RESERVED(hdr) and - DIVERT_IPHDR_SET_RESERVED(hdr, val)
  • -
-

-
- -

6.2 DIVERT_IPV6HDR

-
-
-typedef struct
-{
-    UINT32 Version:4;
-    UINT32 ...:28;
-    UINT16 Length;
-    UINT8  NextHdr;
-    UINT8  HopLimit;
-    UINT32 SrcAddr[4];
-    UINT32 DstAddr[4];
-} DIVERT_IPV6HDR, *PDIVERT_IPV6HDR;
-
-
-
-Fields
-See here -for more information. -

-Remarks
-IPv6 header definition. -

-The following fields can only be get/set using the following macro -definitions: -

    -
  • TrafficClass with - DIVERT_IPV6HDR_GET_TRAFFICCLASS(hdr) and - DIVERT_IPV6HDR_SET_TRAFFICCLASS(hdr, val)
  • -
  • FlowLabel with DIVERT_IPV6HDR_GET_FLOWLABEL(hdr) and - DIVERT_IPV6HDR_SET_FLOWLABEL(hdr, val)
  • -
-

-
- -

6.3 DIVERT_ICMPHDR

-
-
-typedef struct
-{
-    UINT8  Type;
-    UINT8  Code;
-    UINT16 Checksum;
-    UINT32 Body;
-} DIVERT_ICMPHDR, *PDIVERT_ICMPHDR;
-
-
-
-Fields
-See here -for more information. -

-Remarks
-ICMP header definition. -

-
- -

6.4 DIVERT_ICMPV6HDR

-
-
-typedef struct
-{
-    UINT8  Type;
-    UINT8  Code;
-    UINT16 Checksum;
-    UINT32 Body;
-} DIVERT_ICMPV6HDR, *PDIVERT_ICMPV6HDR;
-
-
-
-Fields
-See here for -more information. -

-Remarks
-ICMPv6 header definition. -

-
- -

6.5 DIVERT_TCPHDR

-
-
-typedef struct
-{
-    UINT16 SrcPort;
-    UINT16 DstPort;
-    UINT32 SeqNum;
-    UINT32 AckNum;
-    UINT16 Reserved1:4;
-    UINT16 HdrLength:4;
-    UINT16 Fin:1;
-    UINT16 Syn:1;
-    UINT16 Rst:1;
-    UINT16 Psh:1;
-    UINT16 Ack:1;
-    UINT16 Urg:1;
-    UINT16 Reserved2:2;
-    UINT16 Window;
-    UINT16 Checksum;
-    UINT16 UrgPtr;
-} DIVERT_TCPHDR, *PDIVERT_TCPHDR;
-
-
-
-Fields
-See here -for more information. -

-Remarks
-TCP header definition. -

-
- -

6.6 DIVERT_UDPHDR

-
-
-typedef struct
-{
-    UINT16 SrcPort;
-    UINT16 DstPort;
-    UINT16 Length;
-    UINT16 Checksum;
-} DIVERT_UDPHDR, *PDIVERT_UDPHDR;
-
-
-
-Fields
-See here -for more information. -

-Remarks
-UDP header definition. -

-
- -

6.7 DivertHelperParsePacket

-
-
-BOOL DivertHelperParsePacket(
-    __in PVOID pPacket,
-    __in UINT packetLen,
-    __out_opt PDIVERT_IPHDR *ppIpHdr,
-    __out_opt PDIVERT_IPV6HDR *ppIpv6Hdr,
-    __out_opt PDIVERT_ICMPHDR *ppIcmpHdr,
-    __out_opt PDIVERT_ICMPV6HDR *ppIcmpv6Hdr,
-    __out_opt PDIVERT_TCPHDR *ppTcpHdr,
-    __out_opt PDIVERT_UDPHDR *ppUdpHdr,
-    __out_opt PVOID *ppData,
-    __out_opt UINT *pDataLen
-);
-
-
-
-

-Parameters
-

    -
  • pPacket: The packet to be parsed.
  • -
  • packetLen: The total length of the packet pPacket.
  • -
  • ppIpHdr: Output pointer to a DIVERT_IPHDR.
  • -
  • ppIpv6Hdr: Output pointer to a DIVERT_IPV6HDR.
  • -
  • ppIcmpHdr: Output pointer to a DIVERT_ICMPHDR.
  • -
  • ppIcmpv6Hdr: Output pointer to a DIVERT_ICMPV6HDR.
  • -
  • ppTcpHdr: Output pointer to a DIVERT_TCPHDR.
  • -
  • ppUdpHdr: Output pointer to a DIVERT_UDPHDR.
  • -
  • ppData: Output pointer to the packet's data/payload.
  • -
  • pDataLen Output data/payload length.
  • -
-

-Return Value
-TRUE if all expected (non-NULL) outputs were present, -FALSE otherwise. -Note that FALSE may sometimes be a legitimate return value, e.g., -when both ppIpHdr and ppIpv6Hdr are non-NULL. -

-Remarks
-Parses a raw packet (e.g. from DivertRecv()) into the -various packet headers and/or payloads that may or may not be present. -

-Each output parameter may be NULL or non-NULL. -For non-NULL parameters, this function will write the pointer to -the corresponding header/payload if it exists, or will write NULL -otherwise. -Any non-NULL pointer that is returned -

    -
  1. Is a pointer into the original pPacket packet; and
  2. -
  3. There is enough space in pPacket to fit the header.
  4. -
-

-This function does not do any verification of the header/payload contents -beyond checking the header length and any other minimal information required -for parsing. -

-

- -

6.8 DivertHelperParseIPv4Address

-
-
-BOOL DivertHelperParseIPv4Address(
-    __in const char *addrStr,
-    __out_opt UINT32 *pAddr
-);
-
-
-
-

-Parameters
-

    -
  • addrStr: The address string.
  • -
  • pAddr: Output address.
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Parses an IPv4 address stored in addrStr. -If non-NULL, the result is stored in pAddr. -

-
- -

6.9 DivertHelperParseIPv6Address

-
-
-BOOL DivertHelperParseIPv6Address(
-    __in const char *addrStr,
-    __out_opt UINT32 *pAddr
-);
-
-
-
-

-Parameters
-

    -
  • addrStr: The address string.
  • -
  • pAddr: Output address.
  • -
-

-Return Value
-TRUE if successful, FALSE if an error occurred. -Use GetLastError() to get the reason for the error. -

-Remarks
-Parses an IPv6 address stored in addrStr. -If non-NULL, the result is stored in pAddr. -The pAddr parameter is assumed to point to a buffer large enough -to hold a 16-byte IPv6 address. -

-
- -

6.10 DivertHelperCalcChecksums

-
-
-UINT DivertHelperCalcChecksums(
-    __inout PVOID pPacket,
-    __in UINT packetLen,
-    __in UINT64 flags
-);
-
-
-
-

-Parameters
-

    -
  • pPacket: The packet to be modified.
  • -
  • packetLen: The total length of the packet pPacket.
  • -
  • flags: One or more of the following flags: -
      -
    • DIVERT_HELPER_NO_IP_CHECKSUM: Do not calculate the IPv4 - checksum.
    • -
    • DIVERT_HELPER_NO_ICMP_CHECKSUM: Do not calculate the ICMP - checksum.
    • -
    • DIVERT_HELPER_NO_ICMPV6_CHECKSUM: Do not calculate the ICMPv6 - checksum.
    • -
    • DIVERT_HELPER_NO_TCP_CHECKSUM: Do not calculate the TCP - checksum.
    • -
    • DIVERT_HELPER_NO_UDP_CHECKSUM: Do not calculate the UDP - checksum.
    • -
  • -
-

-Return Value
-The number of checksums calculated. -

-Remarks
-(Re)calculates the checksum for any IPv4/ICMP/ICMPv6/TCP/UDP checksum present -in the given packet. -Individual checksum calculations may be disabled via the appropriate flag. -Typically this function should be invoked on a modified packet before it is -injected with DivertSend(). -

-This function will calculate each checksum from scratch, even if the existing -checksum is correct. -This may be inefficient for some applications. -For better performance, incremental checksum calculations should be used -instead (not provided by this API). -

-

- -
-

7. Filter Language

- -

-The DivertOpen() function accepts a -string containing a filter expression. -Only packets that match the filter expression are diverted. -Any other packet is allowed to continue as per normal. -

-Filter allows an application to select only the subset of traffic that is of -interest. -For example, a URL blacklist filter would only be interested in packets that -contain URLs. -This could be achieved via the following filter. -

-HANDLE handle = DivertOpen(
-    "outbound and "
-    "tcp.PayloadLength > 0 and "
-    "tcp.DstPort == 80", 0, 0, 0);
-
-This filter specifies that we should only divert traffic that is -
    -
  1. outbound;
  2. -
  3. contains a non-empty payload; and
  4. -
  5. has TCP destination port 80 (i.e. HTTP web traffic). -
-

-A filter is a Boolean expression of the form: -

-        FILTER := true | false | FILTER and FILTER | FILTER or FILTER | (FILTER) | TEST
-
-C-style syntax &&, ||, and ! may also -be used instead of and, or, and not, respectively. -A test is of the following form: -
-        TEST := TEST0 | not TEST0
-        TEST0 := FIELD | FIELD op VAL
-
-where op is one of the following: -

-

- - - - - - - - -
OperatorDescription
== or =Equal
!=Not equal
<Less-than
>Greater-than
<=Less-than-or-equal
>=Greater-than-or-equal
-
-

-and VAL is a decimal number, hexadecimal number, or IP -address. -If the "op VAL" is missing, the test is implicitly -"FIELD != 0". -

-Finally a field is some property about the packet. -The possible fields are: -

-

- - - - - - - - - - - - - - - - - - - - -
FieldDescription
outboundIs outbound?
inboundIs inbound?
ifIdxInterface index
subIfIdxSub-interface index
ipIs IPv4?
ipv6Is IPv6?
icmpIs ICMP?
icmpv6Is ICMPv6?
tcpIs TCP?
udpIs UDP?
ip.*IPv4 fields (see DIVERT_IPHDR)
ipv6.*IPv6 fields (see DIVERT_IPV6HDR)
icmp.*ICMP fields (see DIVERT_ICMPHDR)
icmpv6.*ICMPV6 fields (see DIVERT_ICMPV6HDR)
tcp.*TCP fields (see DIVERT_TCPHDR)
tcp.PayloadLengthThe TCP payload length
udp.*UDP fields (see DIVERT_UDPHDR)
udp.PayloadLengthThe UDP payload length
-
-

-A test also fails if the field is missing. -E.g. the test "tcp.DstPort == 80" will fail if the packet does not -contain a TCP header. -

- -

7.1 Filter Examples

- -

-

    -
  1. -Divert all outbound web traffic: -
    -HANDLE handle = DivertOpen(
    -        "outbound and "
    -        "(tcp.DstPort == 80 or udp.DstPort == 53)",
    -        0, 0, 0
    -    );
    -
    -
  2. -
  3. -Divert all inbound TCP SYNs: -
    -HANDLE handle = DivertOpen(
    -        "inbound and "
    -        "tcp.Syn",
    -        0, 0, 0
    -    );
    -
    -
  4. -
  5. -Divert only (inbound) local traffic: -
    -HANDLE handle = DivertOpen(
    -        "inbound and ("
    -        "(ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255) or"
    -        "ipv6.DstAddr == ::1)",
    -        0, 0, 0
    -    );
    -
    -
  6. -
  7. -Divert all traffic: -
    -HANDLE handle = DivertOpen("true", 0, 0, 0);
    -
    -
  8. -
  9. -Divert no traffic: -
    -HANDLE handle = DivertOpen("false", 0, 0, 0);
    -
    -This is useful for packet injection. -
- -

7.2 Filter Usage

- -

-The purpose of the filter is to help applications select the subset of -all network traffic that the application is interested in. -Ideally the filter should be -

    -
  1. As short as possible; and
  2. -
  3. As selective as possible.
  4. -
-For some applications these two objectives can conflict. -That is, a selective filter is not short, and a short filter is not selective. -For such applications the developer should experiment with different -filter configurations and carefully measure the performance impact to -find the optimal solution. -

- -
-

8. Samples

- -

-Some samples have been provided to demonstrate the WinDivert API. -The sample programs are: -

    -
  • webfilter.exe: A simple URL blacklist filter. - This program monitors outbound HTTP traffic. - If it finds a URL request that matches the blacklist, it hijacks the - TCP connection, reseting the connection at the server's end, and - sending a simple block-page to the browser. - The blacklist(s) are specified at the command-line.
  • -
  • netdump.exe: A simple packet sniffer based on the - WinDivert filter language. - This program takes a filter specified at the command line, and prints - information about any packet that matches the filter. - This example uses WinDivert in "packet sniffing" mode, similar to - winpcap. - However, unlike winpcap, WinDivert can see local (loopback) - packets. -
  • netfilter.exe: A simple firewall based on the WinDivert - filter language. - This program takes a filter specified at the command line, and blocks - any packet that matches the filter. - It blocks TCP by sending a TCP reset, UDP by an ICMP message, and all - other traffic it simply drops. - This is similar to the Linux iptables command with the - -j REJECT option.
  • -
  • passthru.exe: A simple program that simply re-injects every - packet it captures. - This example is multi-threaded, where multiple threads are processing - packets from a single handle. - This example is useful for performance testing, and as a starting point - for more interesting applications.
  • -
-

-The samples are intended for educational purposes only, and are not -fully-featured applications. -

-The following basic template for a WinDivert application. -The basic idea is to open a WinDivert handle, then enter a -capture-modify-reinject loop: -

-    HANDLE handle;          // Divert handle
-    DIVERT_ADDRESS addr;    // Packet address
-    char packet[MAXBUF];    // Packet buffer
-    UINT packetLen;
-
-    handle = DivertOpen("...", 0, 0, 0);   // Open some filter
-    if (handle == INVALID_HANDLE_VALUE)
-    {
-        // Handle error
-        exit(1);
-    }
-
-    // Main capture-modify-inject loop:
-    while (TRUE)
-    {
-        if (!DivertRecv(handle, packet, sizeof(packet), &addr, &packetLen))
-        {
-            // Handle recv error
-            continue;
-        }
-
-        // Modify packet.
-
-        if (!DivertSend(handle, packet, packetLen, &addr, NULL))
-        {
-            // Handle send error
-            continue;
-        }
-    }
-
-For applications that do not need to modify the packet, a better approach is -to open the WinDivert handle with the DIVERT_FLAG_SNIFF flag set, -and not re-inject the packet with -DivertSend(). -See the netdump.exe sample program for an example of this usage. -

- -
-

9. Known Issues

- -

-There are some limitations to the WinDivert package. -They are -

    -
  • Injecting inbound ICMP/ICMPv6 messages: - For some ICMP/ICMPv6 messages, inbound injection does not work. - An error will be returned and the packet will be lost. - It is suspected that this is an issue with the WFP framework on which - WinDivert is built. - The work-around is to inject inbound ICMP messages as outbound. -
  • -
  • No IPv6 extension header support: - Currently there is no filter support for IPv6 packets with extension - headers. - The work around is to capture all IPv6 traffic.
  • -
-

- -
-

10. License

-

-This package is distributed strictly under the -GNU Lesser General -Public License (GPL) Version 3. -Please note the following: -

-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-

-

















-

















-

















- - diff --git a/external/WinDivert-1.0.5-MSVC/include/divert.h b/external/WinDivert-1.0.5-MSVC/include/divert.h deleted file mode 100644 index 743d795..0000000 --- a/external/WinDivert-1.0.5-MSVC/include/divert.h +++ /dev/null @@ -1,350 +0,0 @@ -/* - * divert.h - * (C) 2012, all rights reserved, - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - */ - -#ifndef __DIVERT_H -#define __DIVERT_H - -#ifndef DIVERT_KERNEL -#include -#endif /* DIVERT_KERNEL */ - -#ifndef DIVERTEXPORT -#define DIVERTEXPORT __declspec(dllimport) -#endif /* DIVERTEXPORT */ - -#ifdef __MINGW32__ -#define __in -#define __out -#define __out_opt -#define __inout -#include -#define INT8 int8_t -#define UINT8 uint8_t -#define INT16 int16_t -#define UINT16 uint16_t -#define INT32 int32_t -#define UINT32 uint32_t -#define INT64 int64_t -#define UINT64 uint64_t -#endif /* __MINGW32__ */ - -#ifdef __cplusplus -extern "C" { -#endif - -/****************************************************************************/ -/* DIVERT API */ -/****************************************************************************/ - -/* - * Divert address. - */ -typedef struct -{ - UINT32 IfIdx; /* Packet's interface index. */ - UINT32 SubIfIdx; /* Packet's sub-interface index. */ - UINT8 Direction; /* Packet's direction. */ -} DIVERT_ADDRESS, *PDIVERT_ADDRESS; - -#define DIVERT_DIRECTION_OUTBOUND 0 -#define DIVERT_DIRECTION_INBOUND 1 - -/* - * Old names (deprecated). - */ -#define DIVERT_PACKET_DIRECTION_OUTBOUND \ - DIVERT_DIRECTION_OUTBOUND -#define DIVERT_PACKET_DIRECTION_INBOUND \ - DIVERT_DIRECTION_INBOUND - -/* - * Divert layers. - */ -typedef enum -{ - DIVERT_LAYER_NETWORK = 0, /* Network layer. */ - DIVERT_LAYER_NETWORK_FORWARD = 1 /* Network layer (forwarded packets) */ -} DIVERT_LAYER, *PDIVERT_LAYER; - -/* - * Divert flags. - */ -#define DIVERT_FLAG_SNIFF 1 -#define DIVERT_FLAG_DROP 2 - -/* - * Divert parameters. - */ -typedef enum -{ - DIVERT_PARAM_QUEUE_LEN = 0, /* Packet queue length. */ - DIVERT_PARAM_QUEUE_TIME = 1 /* Packet queue time. */ -} DIVERT_PARAM, *PDIVERT_PARAM; -#define DIVERT_PARAM_MAX DIVERT_PARAM_QUEUE_TIME - -/* - * Open a divert handle. - */ -extern DIVERTEXPORT HANDLE DivertOpen( - __in const char *filter, - __in DIVERT_LAYER layer, - __in INT16 priority, - __in UINT64 flags); - -/* - * Receive (read) a packet from a divert handle. - */ -extern DIVERTEXPORT BOOL DivertRecv( - __in HANDLE handle, - __out PVOID pPacket, - __in UINT packetLen, - __out_opt PDIVERT_ADDRESS pAddr, - __out_opt UINT *readLen); - -/* - * Send (write/inject) a packet to a divert handle. - */ -extern DIVERTEXPORT BOOL DivertSend( - __in HANDLE handle, - __in PVOID pPacket, - __in UINT packetLen, - __in PDIVERT_ADDRESS pAddr, - __out_opt UINT *writeLen); - -/* - * Close a divert handle. - */ -extern DIVERTEXPORT BOOL DivertClose( - __in HANDLE handle); - -/* - * Set a divert handle parameter. - */ -extern DIVERTEXPORT BOOL DivertSetParam( - __in HANDLE handle, - __in DIVERT_PARAM param, - __in UINT64 value); - -/* - * Get a divert handle parameter. - */ -extern DIVERTEXPORT BOOL DivertGetParam( - __in HANDLE handle, - __in DIVERT_PARAM param, - __out UINT64 *pValue); - -/****************************************************************************/ -/* DIVERT HELPER API */ -/****************************************************************************/ - -#ifndef DIVERT_NO_HELPER_API - -/* - * IPv4/IPv6/ICMP/ICMPv6/TCP/UDP header definitions. - */ -typedef struct -{ - UINT8 HdrLength:4; - UINT8 Version:4; - UINT8 TOS; - UINT16 Length; - UINT16 Id; - UINT16 FragOff0; - UINT8 TTL; - UINT8 Protocol; - UINT16 Checksum; - UINT32 SrcAddr; - UINT32 DstAddr; -} DIVERT_IPHDR, *PDIVERT_IPHDR; - -#define DIVERT_IPHDR_GET_FRAGOFF(hdr) \ - (((hdr)->FragOff0) & 0xFF1F) -#define DIVERT_IPHDR_GET_MF(hdr) \ - ((((hdr)->FragOff0) & 0x0020) != 0) -#define DIVERT_IPHDR_GET_DF(hdr) \ - ((((hdr)->FragOff0) & 0x0040) != 0) -#define DIVERT_IPHDR_GET_RESERVED(hdr) \ - ((((hdr)->FragOff0) & 0x0080) != 0) - -#define DIVERT_IPHDR_SET_FRAGOFF(hdr, val) \ - do \ - { \ - (hdr)->FragOff0 = (((hdr)->FragOff0) & 0x00E0) | \ - ((val) & 0xFF1F); \ - } \ - while (FALSE) -#define DIVERT_IPHDR_SET_MF(hdr, val) \ - do \ - { \ - (hdr)->FragOff0 = (((hdr)->FragOff0) & 0xFFDF) | \ - (((val) & 0x0001) << 5); \ - } \ - while (FALSE) -#define DIVERT_IPHDR_SET_DF(hdr, val) \ - do \ - { \ - (hdr)->FragOff0 = (((hdr)->FragOff0) & 0xFFBF) | \ - (((val) & 0x0001) << 6); \ - } \ - while (FALSE) -#define DIVERT_IPHDR_SET_RESERVED(hdr, val) \ - do \ - { \ - (hdr)->FragOff0 = (((hdr)->FragOff0) & 0xFF7F) | \ - (((val) & 0x0001) << 7); \ - } \ - while (FALSE) - -typedef struct -{ - UINT8 TrafficClass0:4; - UINT8 Version:4; - UINT8 FlowLabel0:4; - UINT8 TrafficClass1:4; - UINT16 FlowLabel1; - UINT16 Length; - UINT8 NextHdr; - UINT8 HopLimit; - UINT32 SrcAddr[4]; - UINT32 DstAddr[4]; -} DIVERT_IPV6HDR, *PDIVERT_IPV6HDR; - -#define DIVERT_IPV6HDR_GET_TRAFFICCLASS(hdr) \ - ((((hdr)->TrafficClass0) << 4) | ((hdr)->TrafficClass1)) -#define DIVERT_IPV6HDR_GET_FLOWLABEL(hdr) \ - ((((UINT32)(hdr)->FlowLabel0) << 16) | ((UINT32)(hdr)->FlowLabel1)) - -#define DIVERT_IPV6HDR_SET_TRAFFICCLASS(hdr, val) \ - do \ - { \ - (hdr)->TrafficClass0 = ((UINT8)(val) >> 4); \ - (hdr)->TrafficClass1 = (UINT8)(val); \ - } \ - while (FALSE) -#define DIVERT_IPV6HDR_SET_FLOWLABEL(hdr, val) \ - do \ - { \ - (hdr)->FlowLabel0 = (UINT8)((val) >> 16); \ - (hdr)->FlowLabel1 = (UINT16)(val); \ - } \ - while (FALSE) - -typedef struct -{ - UINT8 Type; - UINT8 Code; - UINT16 Checksum; - UINT32 Body; -} DIVERT_ICMPHDR, *PDIVERT_ICMPHDR; - -typedef struct -{ - UINT8 Type; - UINT8 Code; - UINT16 Checksum; - UINT32 Body; -} DIVERT_ICMPV6HDR, *PDIVERT_ICMPV6HDR; - -typedef struct -{ - UINT16 SrcPort; - UINT16 DstPort; - UINT32 SeqNum; - UINT32 AckNum; - UINT16 Reserved1:4; - UINT16 HdrLength:4; - UINT16 Fin:1; - UINT16 Syn:1; - UINT16 Rst:1; - UINT16 Psh:1; - UINT16 Ack:1; - UINT16 Urg:1; - UINT16 Reserved2:2; - UINT16 Window; - UINT16 Checksum; - UINT16 UrgPtr; -} DIVERT_TCPHDR, *PDIVERT_TCPHDR; - -typedef struct -{ - UINT16 SrcPort; - UINT16 DstPort; - UINT16 Length; - UINT16 Checksum; -} DIVERT_UDPHDR, *PDIVERT_UDPHDR; - -/* - * Flags for DivertHelperCalcChecksums() - */ -#define DIVERT_HELPER_NO_IP_CHECKSUM 1 -#define DIVERT_HELPER_NO_ICMP_CHECKSUM 2 -#define DIVERT_HELPER_NO_ICMPV6_CHECKSUM 4 -#define DIVERT_HELPER_NO_TCP_CHECKSUM 8 -#define DIVERT_HELPER_NO_UDP_CHECKSUM 16 - -/* - * Parse IPv4/IPv6/ICMP/ICMPv6/TCP/UDP headers from a raw packet. - */ -extern DIVERTEXPORT BOOL DivertHelperParsePacket( - __in PVOID pPacket, - __in UINT packetLen, - __out_opt PDIVERT_IPHDR *ppIpHdr, - __out_opt PDIVERT_IPV6HDR *ppIpv6Hdr, - __out_opt PDIVERT_ICMPHDR *ppIcmpHdr, - __out_opt PDIVERT_ICMPV6HDR *ppIcmpv6Hdr, - __out_opt PDIVERT_TCPHDR *ppTcpHdr, - __out_opt PDIVERT_UDPHDR *ppUdpHdr, - __out_opt PVOID *ppData, - __out_opt UINT *pDataLen); - -/* - * Old name (deprecated). - */ -#define DivertHelperParse(p, pl, ip, ip6, icmp, icmp6, tcp, udp, d, dl) \ - DivertHelperParsePacket((p), (pl), (ip), (ip6), (icmp), (icmp6), (tcp), \ - (udp), (d), (dl)) - -/* - * Parse an IPv4 address. - */ -extern DIVERTEXPORT BOOL DivertHelperParseIPv4Address( - __in const char *addrStr, - __out_opt UINT32 *pAddr); - -/* - * Parse an IPv6 address. - */ -extern DIVERTEXPORT BOOL DivertHelperParseIPv6Address( - __in const char *addrStr, - __out_opt UINT32 *pAddr); - -/* - * Calculate IPv4/IPv6/ICMP/ICMPv6/TCP/UDP checksums. - */ -extern DIVERTEXPORT UINT DivertHelperCalcChecksums( - __inout PVOID pPacket, - __in UINT packetLen, - __in UINT64 flags); - -#endif /* DIVERT_NO_HELPER_API */ - -#ifdef __cplusplus -} -#endif - -#endif /* __DIVERT_H */ diff --git a/external/WinDivert-1.0.5-MSVC/x86/WdfCoInstaller01009.dll b/external/WinDivert-1.0.5-MSVC/x86/WdfCoInstaller01009.dll deleted file mode 100644 index 068538ab460539b9ed85d1ad243a94bf68271fb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65024 zcmeFaePC48wKsec5*Q#bQ4@(3G$JS##pnnU0~jEKp%R=hFhk@cB1t@qe8l7oP)js) zGA+}?w7y>3>+RKEtRJ=NbL(TJQa>1({c+Ef$x{B+;yH+x<~<+uE0#B+9e%`BUYb8qly+3_`cP4Jvz;eR*-c`be-qAE zj6B@jmZlu-uP8^(QIz54v)-vclDl5u3t$MA7N6-8LKg5e;wfB$PeDpr9 zYKgW4`No^@qsZYXWU%e87+sC4tFK#%GBE~>1w@epOs-cvuC99dDpY)PFdkrRN*1o4 z+A1MitSHlxOaA}6|7i+*{8vR;-k~Tyq*9~_NTZOlkrbr&@O&52vq+ne?nmO^{d|tU z5(sw<%D#a#0cki=f259&Az4nYect+zUt-A)OmbZfK=LuM5Tbgo0MurQ+)WXQ|gsv$|_~0G8ezoP%;zwdOTgC zEXRMM%ZHYKQV=_{~ELj$kRqbO-Xwl)Dq7C;@$DD3uuD zYC)kO$~m?w{Eh*g*CIb(xgs%Av$jXMMe!?cWsXvYUoZZf3L3akHdVP9SJK6-I~TQX z0fnb2vqare+}#2?v$eh6RJ15jJfgNoJe{jl;9f$mMEj}eXC^o&scypmvUYs#L)+PC z=|2e#2F4sI?`A5uqQxAPR)SN6Lwrj`j(AHflkxj9IOLyfJ6p7`Kp&E8 zQlR^a54q(Agj6VfZSO^EQkZnK^X1F&XTPbfEjp(1)lN}6z3mXD35ew9Es$!;-CWRo z4mgoaTS;%qf8}X;V3!deV9!DA8IWlEINgGBa%M~iB`D#hT$nUWoe|T)ds3Y9%?^wG zk*Az(6-jbaBE~W`WgN-!X_vF)@!H2>@2?E~a9noU+MjdI&BB;v@2p1(NJ`l2CF9M} zvKFb&HoQvAO?q&?%>tKr?}fJU3SM!pSo}{On?+eW4yklb#rJfrOkC{p)0g@)K(l$^ z9W|Xb$CK&JIZll;7yr#n=vQi+c^IdiZpm^n6Y%7SOx&a_&4irH20T7x-*bdkNgca= z9I2R@@Cd`?xgC#WTH9N5BvR+g5t??oMA$HCdrM$%Xq%V80@s5ow6;rxRrHD{L8TU@ z%P|j)bCl(j)~OYU*1M~40i$RWx_Kc z=F;jf1#U~a@s=Ldm3VqP>ek>tmgJ*VJ$~skEmyvI+P3+qA$==CVe2~F6NbepKPXp| z;IWB2{WrV+lUPv_B_5PJIRaBo=_`^~ z5?k}R^oPy)d^$SWc}<#Gb7ZA*xu6I+Nq?QAF?%&}p9Q>b$5Yn$ChUQfLlal}^QIp> zE@9XD!Z+fu67(fBYLiqyzc+qU4z2aU={@Z;p$9eIa!5+D6rK6_qU8qch>tSK)}s3A;|>%vlS(rRJorO{LQ5_0CtP z(^umQu`{(6c|sd#&Oej(c6*o)4}F+xmKZ$Tp?gc4JB8lq-EdadoC=Rq5?XLY}6&R@U#Lw+YzF~wlDG|t@!EXf&6i!H`AKV2CltZo;8rQ-YpNYHQUSi z`p>m7(oWH`at50^-?WU$QbuZ-v`UsN1>;@|8dpO{nKC&B`i60ee8giZdA0bx3jgIR z<4|ucMkz~+M9I>Wk~<-b?2j6U`i*vnmfJ4h$v99>>y$f1U2>u~|CBTS4%C>9D=qE} zLF*MM^Td4GyS_4KTD|Bgd2UI0qK_nFH_HT7?QtBlbuwkm9%XyG3?$dfw`qAff2zf7 z&|s0J)wQ>!u3IYTX3lovY}Xo=&0q~`LVEC~o*=JGn_-80YMe|@o1>IIl7yKIxi|kn zN?bBza&fwt!Arqca}2%JwCEx!NO`p8(Ng5;rBO1aW-zq@Z6l>B)d!^4C?$k3H`0KK zvTUcxxP%8u-C*yJ5~kUDvtX?f)Fl?Q-7@}}+BbEp^uvfR>!j9@Twy&sS4>V3o73Y% z?N1Mv9x}OoX80x3z_i=6OVZ{i%NVgtE-|HRES^ll`05~$sxk$4Ea50ji`<*dUX`#< zHK5BXWlaxzbLM!+dDL59D}<%wO5t`vEx8(#UV|xT_VG)do-D)p-8v>ev38PD-E(!i z3S6hIV?DXy^1#B|T#s9=Ou6ZayUC|B>z{q4Mi1m{H8m<{4=ufv&Vbrr*i+1GTV8 zgVV3(loaZnzCUwSX{{CK0uLX0v-YIyYne0Izvr zMgi6c&Bs+<6?jUkL>l+4ACsEW&RVub_C!y5DgLWQ5A~2RN;Z9L!e{i2>qM4mDZSw_ zFzlPW5LQpQk!ATpN~zbWN2QKSj>SnlEuxf4g)b5~K)e+KT&HME=sw7SW0L}~dL1)qi)m>Su&Gy_Lw!Z1g9 z`nIX#Uk3cRYCC-^_Q*BF3e@baPx6&BCso5yGD!{Yv9c%XIL4-A%t^+~C=GmOm$5oT zk2o^ZkDx4^N{5rKQo2*)m&9}-W&y3}IP|*&(jvVFE3#zip?csbH8OiMWlz$@Y|U~r zR(|T3I5i$uYQ$g8Pm5#3)||h@h4M?xC^w{zHSgA-RMJ4s^`0KExwfju%#%{LqFYP% z70-D#?O=LIrq4}W?a^bdi{}dOSw@Ag0%d7K?o7fvb^R@^3@Nb&iI&;2F>y zBe;S-S5sb1`8X5$aAsd6xNG?}mW-!zSjx&*p^?-V$?)W=uy5nEa7yK9GEC{sR6(DN z1|Q|`nb6bfr#H&dhDH&2CDX(7IBGFUQ=L`kj_g zdT^$_nvS_(X>eK#_K`1i3!l)plO8eWp&5Z7MAL(`G`DFB>GRUVXCG|E`Ia05llq;{ znfSL5x=r@IFtG|Z@5N(0F9TGr{8ym`brE~GS-_@tW1PPX<(%F5uoB$6ko=S@HmT#* zh_O&(Ce!vR)V&7sR0t?Ow3O5u2U^hAlKA~k_3uajE0t@Z*RKL4n4gbTfSG5x3z*Vp zsRm-RFd|y8q8Id%~)PF=qPvA zlIcqcPcD(s8_ssiBQ>Kp(whzn4im1W0eNS)iS!S7?t>>X=D=6;VjpQb{^MS}H{rWY z!!w?SlAc^SYH;_Tt0(i!6-Uzdam+a_Mx=J%VUdfRD^dg0+x&;V!*D}BIARaRI1?kC zEufLw_L${V$c4FLAdWM{OpxAyoH5c@H)CDGe`!-fPl};_&oE7vjsBDFgInlI;O~1j@}<(`J2L zZ+Q~4=wx21oi2r{)UY8(0_|`P7V8A9Flh_^-2HdH&Jc zPHY z*|3vP{--#>lZHPd1{e88L>se#=ngQc4Tj&Y@bD&1wTe=~SY`?nHymr%?z zOQ*66=FS;oyY*PXGtx}|hx;T_^755S#frw5Yt55r`FHx4t6nudQR%a`9&t@*0! z>X)rriF@~2t!~Lu4ZLJTlbVgEUF|ItWk>=hcaRI<>s8?_TXOC?A(Lj=4c$+<3YRTp z&V_p1c`$9+sdYW7Kvqb1$%E-)Mo<^!gBw zI!Q=S@;a1WE~CCvL~8{-NuHY0LhfbxoLry7Dxb|08%O z^RFl7y>aUw=}$%p7zOD`U5j45^_seW(Hn$Q^N0QNWKwUf{+a!fqC92!Ki#i9H$rRA zxD=(8k|}q1tHj-@XM)^c=Gg=5ydR@o-^9Bq+##0jN$WW%y#qEto;HwmC>>)^lW&Su zz^c%e$hSHwVK4Z0lzh9%ozN{-B&2WsCTnJ?yQIGATl=$xx73Ul_OvI~Zp=cA)4tn9 z-6_{hjB%5;8pfYYV`)tYhfleCYf^S5+Sb5Mn|j4=n>e22=d-~jxvSDsd|L16xO8d+9Nr3`Qfao6_z`B6mm9MI|lSX`A(v_%CY-($t~IcJb{UcC2f>l3VYYR z@D_QeS&en8+)= z>x3)0VeSx-C;a2eP~vtfKF~)$^=|PvJe9lA_I={h@x&fCm9wf|$cB^^?;LNnHmAB? zTUA%>S+#7X<~Q-Q^j=Ts<}R?@%T7Lt%{g>-v8)GOmkJq_Qa(;ttK|aGxnd0_*PUEd z%JaJx1t~$&muKXdxRJBHpLa1el>Pjv83&UmprtHQ>&w+Aq088eT!EXhn_AJA`Q8t8 z@hafP$SPMMrVd~^PivSS8rPJg@gG;yw8(tVi}yVBAWP&aAp04hap*}xkyiXv5N3&5 z^!=w}&F1aCn(a-^VbXJCVtsC%JhJbtj|8TaBFmRBZG+r9=h+NNZA!vSF=`n(F!i96 zMDo+BOG?N%mr0>y?%DTvq&BrUDW%RFg%#iZpWxf6XfADW0d@il@L!>@#gs)m%}sjS zc}i)f7BZuWa{kFvM_jX0hDm!c7QJVp&T8Pnh$X#6Vw1e~OC6Kl-?7dW5~2l*J#&VP6yq9+k(oXAegAPe zs7X7$0{_W5V!jhaZ<+KWOkU-kq+H+OF9CecckWYK66!&ot4>;GuJw4L(B7XpBKFI_ ze8flOP9*E|j!`Pp<`9Xh83@i;`j>*&;Qj;u1UzS#PAu2=7!U)(BP?k`* z1Kc-Uh#~!%t3{lNaasA^EypV5eikIEPS`q2OHjkwpXR4LmzI>8gEn7A@sj5_C6fI5 z=k;foOHj)6I>8tI^nKjDNs8G=-+fcQaY=te z?qN#KRHtx_c-cM7ueMGy&-Pj4r5>IOgRHh4Rz-HP38qQ{YajGPfoa@7kNG$XsD8P_&)?M!<}c$5TMS`)UJOSYC~P0Kg0OvK3fts2I@ zd9q_V5yoFnJucrRmv1~KV`zDu=02UJKYE*uRvd{t?)0>%`K1R$PsrToplL-W^|hMq`hU-{ZzP+{=L!d4q+eUu9u0clpt%&)(Pk2QH()b#`^@TZBiEVO(on>nio}on@&Rnh|xek8nPr;!e`5NaMxAF9Lz60*!2(hOZc2VJv~Z!28*j(`ergJX|C8# zwa%a?Yo2ULeUF~<$HYH=^JWHi6Zu^-o~rBZoF-3nQqP!c(^P*WSt~C@{87d#sR<~B z%K=r|!rt}EQlZScFGlsw6yau5~4{Cgm9f+HmPvFs4Df#q|<>3k!-FCo-d}sn#NuYGzDqv(y%pLuvr?w2P@vtNXvrkvc%6)Zw zd$(#|4d3bDI(L!fsyF$}iuAoChtK5PfsBEekr2uQEtb8Mxc1bUQs?nmstzW0lmzNP z%jYK4RGZWLygyZJuW$X(14)e*o_P$<99Qz!7?Uxm7b|U2-0lU`rAW55itC#n#QAy$ zAj>(<*s$g2B-?0Wb2jlKblLk1=n`50HPQF!{j0N$$LV{M^7hXew;YMZF|NCbhhdcsjqdx3vyuBu5}e&3W@>vTR96@ABC@=U6Hubaz5x z=~I|JlR96m|I>3SIdUU4&#Aa~rv0BO|cH_gAu=*a7Rtf(_eM)Z1|Khcj{WJ zPl=m_&8cSW0{A=fJC2N`S+cMIJI!YKpnm|P-X&k^2f1$HX#)Ce*0`kflh4);V`^N6 zv(j2m%h9rqy>y`sW=~ov(B+b9XRp6xS+GWA_0GPg0ZaM*#>9%?CeulBjq4V9f<@{?sZYG1liabM3u)jv(qxG` zb#JEM+Y`d6C@kZ7@||V+7aW<4G@5T>N=dQf%QKv*dzexhxh~>bzh1;cr2io0jnIe# zXSbYjGLFzw@5y;`w)&Ge+#;yB(&jy#iC1ht&w4iSO6Df1Vp;(i7vf5ja`BJQ`D~2a zz79AWuUe>Jma&2u<$I>lln@&=C`-Y1=KVi+VuQoqO3yTV;(+zc)Yso$X=a_vC z@xEtl;;YT0zT;*0t4^(v`Zh*8tgntYt?KE&y>Mzg&s4riCsV5=b1y$-4NNN`W4D~; zr^0~eL`)k=*^*y}U@u?YGdi80f9n2tLS`xS54|kYPqAz{_fG1eO?f)rI?Z{yp5**E zb$@3{`P27h((u%NhMeokJWF0XnJ_Ht+j9<@8r!UU>i$k`)9J;U(O$yK$LS>Q#;gYA zc^V-ZM=Q2zX~e$xRrS4i6Ws4jeh0c|G$vVYIV*`{WshIJWhmo6Ww`P?F#O|cL;lNA z@|>~sd!^o{zLHqUGsQfe<;Tti|L7mw4(VEpeDD2949s55J}vm<6(h9Oh!4_>;ySag z`#llPDDG$8i6q|{mgiB-dbG`EESYB<=zVeQi~{rhV)BPxj?^<8PihHAAwST+x_15N0ap)@@+&29A{oiSzFQtz@ zqt&OmLy^4a(${hJ{ohLavVG9rsLhco%EW1D=^K!k@88(?oyPTz_=oQLeW&p|-)_vw z%yhfm;cz$;d%OjWp2kMSp^UkFqQ~E;3{b8wDDZeTpjrNy#tnFce|qt@+f-F`I0me( ztzA=F>u@Nj?@$KdD*j3n*ROKPR?^bZNjedo<1O(%G`as1-@c%F>f`qhoc#A!e)35g z%KcR}(^t)0S+6ZwzP!4w;F^Mh!f~}#w|95<5&pf+BkyP2`-ZQ>Ra#9WTqeDSSNmMC8H7cR+V#=bYlv#6&3of#mOBdHGRd_^fJ-3kxl#c-V_Ly z27#vI(c5lHOLsLFCnJR+M5o3>otHVkTLjj`M}@x;QqooJ0zkZP6p(3ip;%pr``E|o zL|*=^X7O@FZO_Bycj``F-cmR5^152f%T9F?FR!Q$UVfz>9fr#<)aQA5Qr*bQBkFQq zeyq;rY}KJvz`mnuqVXV#+a8Hygy`?iu^0)k$Q>t#siAYFxY9a0g}G^CkG9wa}~ zVx(%MxMBH6opB{Ah^@gly_{eARxX15v9cmHT;iwnSopp|q z9&Qd^9MA2_25ucb<0m62!g*iA_`iiLML2eIK-n@9^*w5FzqIs6`O^(Ao;zH^7?pr= zF!aUU!3@`-*m+)~TmXBLA~;S0+o6|rRW5eDvA}q>LQ(c4O+tYyChgY(Ln{47u0&)w z+J1To#dkZjhrTQ7Nw3iz#lH6dnG>!gn7J$uBl{7_h?TJp$@=Ps{hKYhFGK7HQ?*RR# z+wnLWW>rtX6AdpE8HkOjD68CvD(hci75>x3&hOqLnv7yi^%qbj7xs*6F9h$!+#!vacN(AFq~#?U*%acB4h*rSVQk?CCo%Ys0fSK5i4S1Ssp z+EwxT3=l2u@~9Ip0pRliIJ7f69wv))@wuFCzDL=L6&pWWl}fvUkp;*To~!OD*8@M{$pt5nE=peo|D~bTL$RvsHS(C?zZ6 zn<-6dJ}MYhqIq`g>j3UkH(W$*?>A~hT?g)@wqH8}RSQvA5%5=rULmEG1zMIQT0GZ* zk%T65h)Qs%>ftQU5|xKkLPKDVxZYT7JOpPySw%qL<9B7~X`Xm(R=hy%fXEyBM}S|= zp`AG}i1ul-Q|K=7!gqX6u?$dWcg119Z_M{WUI z%esirV1ZC~CqAJMje|D>f#XHHg4Y&`DYkly|JD02Y5d09H^N0SR$}aa<1fW{U2c5~ zSz9Ek)xBToYF=#fZJ@j%dNzc&4#&L@sut`HC?4ZK=K>SA1NcE@M8ZcYdG4%0dO(S6 zW*vR}F=%nzg$>-r55$8xfwVcE_<=c|KtBlvLexo3FUL~^fP1!Q+jJ4tPcxh;$NJ9! z;ojBKBZD(`F1#U7Uj^WM1B$Wgcs!o0p3u_kYW8hqGXTgaI*@3rFLI#$IsRyaL*HS< z{~LIgIVxl6RCDXjLo-13jolYeqFFZ^!vL4gncdye%ZSq+-~}AnG zXHy=CUg*wtHaU^eCr<=4*B(zzWN@@BtK8$+Iv?f_Zk&TECzvm1iwA9ur593+8ZUvbl6u5i7 z=%(vyY~ocL+2$SGV63sVUUdxbpTK=Zg_r2%P9hyTv0!);xW!cX$u*<#bB;<|N1lZ#4@&l>ZIcgUsN#f2}z(=|p_I$yfB!-oP zFI(A%&)Aa>8p0)r2Zxw?rR^60 z88>^@GCwxj^|?dy!zrbRO*Sd2IrJ_KpJ@9XGbC_9LaBtz=I5Y#%~uV(Yfv0`}Gx z=;Q~YlYoDI+wOjl&iHr-T_tCjzO8vI2U?|Xla*pSKd7im0yyT6BD`Z zASjl|C+Znf(Txdf1Do7|CXhAr`OAor742vkpm(6QL!f=mA?=+U8 zG295kDVANgRiRZ<3)R8LihNu+q7iOFxcM*zM1n%Ek&D1f1?bLDhe;s2CGM|1mG#W zjfdHjE`EzLIaue$3ouz?xA=|mr~s>jx^16;`+j4TC@`RH+Kx~h!eZ9uNwd-RO;|x| zsOknPrFYL0$U~$GAEpq}z2sG@3cY19^aLEq1%?+M+MXom5T-T9Xd!Y8-CVK$B*k94 z#MNAwNvCx6uwN6~&?QRo`fb8x6UB8O`-}#3>QSGkHYh|k5#vetP=S8xq3d`gctl-( z18)Jb!cd`HBksdSxp1q3xoT@6p8bH&Bw_vn!bE~yg+WK~ycYLSKW^dipmw~i5qWs4 zMZ2^QLlYgr4`dwB_y~qM;y#KMzyV{31e;|x`42RSx{r8_Tj9KlN?O)r3S020NbqRv z@j#l-xDl_x#{NAXY&VAe4Pv8L8)_|)`W#C(_+Ce|EEHVFfRzWyog;Ge-VC9 z@LV;YWn)<;XdJuLXT0($C!etsbI50m!6T1)gk2tmN)?mJj13t-lTgl48z6zAI)x`s{1aQ2Qvm8gzIA zISV3-4kO?+LZ5jqT1WW~&4r7<=InG9ucW8tF1 z!D~a+N0b*E!4jYTI$CoZ;cri9nHM&P4ubUBkhDcd`n?@$IO3^$Kb8@yKB_FPwsX$~abb{WWIO@KP3OM9b134A?=h2|yIwZz)D0C)z8B9gcksQ~0RskUEh-eheTCc4WT9Z5OZcQ`}?wf{zv>D@MuXGEHc<7^!{F zB-Fmp#wM65U&L)-9fWoC(LlkLk~b8kCgSc`yrmVo6=n=KpTd9fdRpA=cmC!nWtaQd z#$E3J-o9bc@m=l{&AZ&4x9oC%wtbiT^B?YVfAO)=46R7QJVqw#ZX;Co3`|8375O9L!zd^a) z(Tz@|q1C8l4Pf9ioa`Qms1u1n+aQU7lO>(x)2~n>`Gl<|@=2X$GlW8!`vOqb+^;g+ zP}Gd^zlcTviVdvk08uZ2_S~w{$8Ukr;0h{!ef)qwejqh)jW~|i=W6yNHnRv)4oAut z{bt(t&Y9ZuR`9d2ztw-I&6wCCRK=zX_X%ipnLaPu|0;NJ@7T}AwnnqAN7<0?Wu-Um(fV(26weN} zS0XUczf=UPb}5PoR3+JE5$@90WMgk~m%ci~V|eLp91nhS$(rm`=9I(y(|d&4>B8`C zyIGk)khozvwVJaC%TEht&dkARuT8H zS6{|GH2d}HGsqwiiu}lE*^%;u9*(z$8rqdL>A@kee#hbmBJNHI>(`mjJq(EI0|Fi( zF`T~wUHJh-)N(dW!>vAo0VVZH#0(%$Z*wu>Y#NCNm~qh=!$s)DV;rQ^t`?=J18b*Q0BSvLf~X+aZ)j4j4w z40_M@JX@SP)NY1s!42?-VL)K@D#gP%B%GXeg$a+n8r zx;_ZLbs68MGGJ z(e5DXX03LLLk=J>JipCYRU`+y879uwJMhqTXtvMaBbu!Zhz+qtv!MqPhZ@p)s*7@l zB=>!+4JRV-ur)^8qZzkE()9yl_qp~&&Z~(y_zVh9yAk>V6dVm3sCXC)H*TCHtPL3x z97x?dG2)8lg^#bk3i>WuvgRa?N$hE1un>mcf%06!!W`GIaz$-;qOO|A0Bmw}ugru& z;>2BZ9yDWJCL*3|`f%W4eS1OD+L+tgSu{-Q7?isXMZ^2SH+UA|R$Q+{nepu+fqdbj zY%SM|CHK(yYRscC&AsHw%KR_gGMV)IR9?e|WufcfaE=6$aIfFkj=p&~rl`ZYaUc*p;T}#rz54GW2xKnm z(z58nV1i^HhH7#h=kp_od<@%47p`cxvuPvP!PxJBwr?W`p&J3SQ&X7kYOX1)}EAZwY2&RreTFTjippB?j=?*Cv^kvZs`5+fmZDp>>UDofP`d$9%C|Uv3`> z!z{L>qv1|y7ewCii+BfqJqV=pqFz^`q;G}naZ8VtJdw?OZZQ195FJ-|*rnr>cy24S zkMo7_$GpR}J#qagaWxWGQ5(-cOx*v0SJj}|62Rk|*|+ihQDVbRLp#T$#N}~>f=pdA z->bhlcDKJg+T<4489x#hd|hz@+j#DN+PWivZ4SUl2VA(9xp|4ngWWDUw0LelisHGW z?2~6N!sW@1Q)u#)+yd6JuqlCSLuIDL`)m9)cL64 z_Zdh35RVsP<_&~ZkS2|?2oJD(9~kG-LhU6K92^5^`oElJshc1BI-N}q_WnRp{~oyM zY9nfh0AiYoTqCs7%NUE^5jq*y7DnAK^W*|TJJeG%qV5i?Uz#B*J7vjr@!%2X3+|H; z7Z3$MpYx}aKOOuz&Yw>`e)R~(Wi)`GkOctTjpmCHzp)QzeS1}sjALSBcv+F~LlB`J z^7CtYi$&X3L)Etpp|QQbl~4=#W1mz|M~|e{|2cyp^LWv5A~zrO{k7}m@LtxJy~tL6z+Pp-UUx$`sAmBx0Uk?+=LIK%Pa(Sn zSu9c)FA$M}N~85UDf{Z}z)CuR7h>L5AYK!DH{s~|)Ipet-3t?#0W7KJ_+KS?{a8Qu zmoZv!-!--~6dzi5<*N*<`b8MmXCNR&kNZ*tQV&9D;jou#fI`MEaf98Lgy%(XeMf*h zAx}zdC+U-U_$&U-Zi4%CjdVm3c0KxQRZa>z>e-GoX{`=p*o_xY$Lis`&cJt6kl zhg+cELMRUoZ?>9`c5SsVlNcwEcnDqi^iJwd7|JY2>n4;yWsb4h{z$g%LWOKqox$;= z1e-~*egXet&Yb~hN8ORohV~O1@Xq0)jlU94{n4_na#!=KI0J}v%1cjv16%4UnA->s z6RtZ~Q&?ODXJL0=yNM3FpWzBv?k;%TI35rjs&i4MiG_PwY$l%Jr~{xFhhe!vTE7uP z1~zXd%620gyVR@J^5!MnR8+usH}+UHo0Vg&D8)7%3O&Z!%R3tAaLhWPd&ih^QNJCfA32-I53{?+ci?5>XI}ik(GXssm zU-z_crS7O_J%y+0xg@y#TLjAQ7cxO=m#WE|+56u?^F-UMjysRAX7aYQ&8 zUWcX_^(53}47M2|Sd2c3Fgy1O7;=wnW}V2Qqmf0O#tm?rFrkZfIKwBws!)TGrjKW6 zBv_=o4+pLb6l0omu6KYt+#4f`ZI4mO!UY0tN)bSF_PgJa|~e+d{Z@ zdW?s$gD1A!8!j^S!Og(Jqi&iDgvJPj+P;AE#n?0UNC^L%0={!25A@Nc3#1tt;2qZl zJddt7v@`B=0B0?NM_=Ml5c1=itnFrDx;pm#6-rLM4;{c=-E+`H;6f9D*RTQPQHzPd z&ya;R-R@I|^Y%e;8+GsXxL{AoP!IQt)BJvfArJ&x2a-Y=T#|sqs6c}N*6Ky;TSe=( z-#~N%m=Js8xs8GaT}3V0;6zCiN@Q>bk2l~33Zk&V2t7G-c~36qqU> zrnaaB=YF2`fqcL789#@Gf#`8o<_;G?8D^v(IJtmIXnT$iryDCps=AcVLWyBu@ox6c4b3s^Kk5{2+%z0sQCb#hpcdcFArUYld?R# zp?6|f8v)wYygp7@2xb;X`o}V{w0Z!pYjU(KFbe*Qu)~|6(81^Aw`~H0PWzbl)YUxE zovjV52~8R2{9$t}tr#}xilSgv{V3-P{b49>16&lHEAJMHyI{tQ8L?e3Td1$x7+?sC0ZhTc51}FYJELJHkL0(e0T)O(P`3`;vxwIK9~=6nkc&yE8b^V+?{u z@_2DdlqCBT_EdS|Ganu~@Ba(;II<+laj=j@+eHx_955lVZWYXOcP5aRIUK86Xh1gDk-ypVArbctV(QjK#;SIq*r0zQ~ zPA`rKVNN)Vry*u3=d#7d1Xl0y$V7yCDE`zJ>AcHJWP({mC$#Fq28VWAP2m)c&JJbh}0UY7yqyl<>Q_U~Pt1y1POTzhIFgJRi?Xo(}( z@SQ%{%}`?Up1IA(f@{ghqKBu+V5rLu8u@PtWp;jGja*c1`j|q4Lp5!*`>54pO&`n% z42d1_`lIV$ztf<;4ttCiEdD6AT3Jn~Xk73n{cqE!7rkG9Bm73M@f03nqFjrKqECJh ztctkzGY;9GP2=zAWd|c^HM)Dhm+RPfxMz7VGF2QU3k;cGDVNEMjh~NBbxlI;!!7SI z;rYR3TENIIHy;so5uF_MU}vL0kYHdWz9z%?9LhunNsfBdW0+T1$@q+?_6hS?3Duqx zShYaihw)3AZ2SvpqVI_1s5`m~*N8$83ZAJ506PSN_9>s_-iE68!;NBenma+)K^Q3) z&Ze&;2TTP)xGRoy6zO2pE%3ft;Ci$N7hoh&rlFn}v$h~sTy ztDuT_yr=u|AaxFUZF^pDSkj~gYdFxPM?a<7oKo$YQVp)zeja#gyFbxLz{T1ikO_aO z8}d!+YCw)HB6$&l6Hm*#pI)Kf$)`8+sX8BcC2CyVT?4K#YmDHcLm>U4@PHbwQ$sAz zR7p6&72vZ9s2G2ZkvZ6SH~x+stUSOP?}|cj24W?{^MOk#KFQp%9VQVAD8#WCruzV3 zC2zPk$N7JR%)ybva?%(dzbR(S2n17f_UKbLEku`hAP+MWSk=a0Nv{(JuaX(_1(IXf zV!S{yFhs1;@V-(Brh}MG--HRqgqd0snm8_4#959v88B6X*)W8%_e;?G5Q0J>pQ#Tn z0K`Ay$Pp|++ZyO77@=#S5DXLvsA>lZvrW{10knWq3BQ;NxQOIpK{cZ6Gp@rVGP9D3P+5avLFJO4|c-}|T7@T z_fUVfj_vRvoX)kNnB>=bR3L^GaC(;Yh> zoqG*Mpf(1m8NWA#y5h!^JfX8PKb4uG_B_1IjJ+d$8>3)zlefpT!A00!?tjUESbF4o9HMJ_8~p&PQH4dh-ih8L4edQ%5Q(mvn8Eiu zA`S4*@1v6taSw-l3I2br5kmmeO3q~DkIHqXDa5vz(1>v)BGdw!HR&N=*3ulR5c#UwK8~==&i5Ry1 zWmTMUh-&@QVj2m8eJZ`IGdii1yU!vnmvC^j@k9nN-5q`bbx8uM*g=qy@m`>&Y&rn8 z-q68UWTPc%X;=UtkXBseZg+mW5Q;;rb%u(;ER};)Sg( zGRx9~*P+L=(H&m$bVkb#mwQ~tjg3;aGF``K#2SP`%)1RMsVw|N!#SuNsPY)Qfwx?N zpQo-EV50t?e-d--H_72*=!9fCU|en^`CLZyw`5w8FlDtTd())2;?3 z7KeT5ik6K$V&VG z50&@&V&7s+y-awkJYL{1e#+&-Sn>R>2l?X?MY3 z;U{S|*yOm~wI|T8Cc?Ka%Z}mPTrF%PqmhJz_WbYnZzwS@39Lavc zi&8}Fh`e|olPn-;#MTjXQ?@$L7-ESk-Inj(6XWBZVnSpDR>g{dj?ajSl@YfU_e)0rWqU-Wb%!7k!{DTi!Km=+ z5LuJS0oq0MM|d+XHCmf|97di#;8vT713!VmSF>7);c@M2K4TX)2jK?Rpod41LiiUZR=jIpkgArDFP-KJFM+l73M9`-$M>};B3DNbwka5iRbM=nLAAcMG z4ii1m3)hRngpcqF^Wz&o5Ca%gX_Cd5SbWdczvhH%FPLXWQws( z@XQ&mKwYo8EOa-VRgi4DYUs_iLA76cgkq+W0bY;!qKn(^3?Y z?2a?M7ZffOXgZskk=I91`mq}gkE*#T^fSeGtrAj z-Le85UM4zByaTPn%pputw9DD_6Y|X63dM2|vw-#hukEN0q6rqg36roZxU?{MP+J_h zh}HmaXF#zYlnPKk2v7cU7W-8P``LP!BAMki-arO}U5>J+ki}rJ6hW&jj1$;hf%m^f zjcn9tTLj*Cj32Xru+&_1IX`M2^j7HFNI7c6&y@G6b}!`eRe;7W8KL7uVIT%7j!p@hQX zI#HY@cZ&-f62m^g-UTTRn93-I7i3b$pMx*7z_JOJx{jlxyUf@>j}tLa%rghh@V^KF z=mg!{k&bzMTeqMlFzzznxRSPzUQu9u{3BF{+l1F3u%2s2M2YQqc8Dz!GQp}N@cj?$ zKZ55S*loh5ZY>7%2uiq>KT_1CBnW5gJiqZDtgEhNrFF>4ZE|}EnTKF)vtWJuD2Lso z%8B4Qw3X*Tv0vE*&&TVDymAy*tnKl;EBpn1adQk8;}G5rfox$Tc0g9VZJ1D!e2|ET ztEF`bYMI`-GklPQ3b(V8gpZ5CJMXI#QQMCrZ@7zWW(|EjHE8_6uSqVPf_LBuQTSh( z$Mr>AHu>o2n@k{iF6*(%H-6eYBsq)}8x@hZ-Mh~M#c{F;27aSqt zz>N$n+o80wz87Zk20?*BK@Dw)gejL)6@`K-RFfQoRFmHm)w}1|cX5!HGA73!i`w0r z;Yqx}M;OQjOg3594?YN@*8l{Fj(7?>k(BmZl#aa8Df*^p7PUCT*U|*05}d>GV55WN zm89NE;`>1y%ixrAW`Qc2po7B^$wYoUyo6=9pIFNRhtsH9KLVDriu3fw2a90vBWpH@WufuV#+(z zXTcQXIoyHYs7~XCumksOk{4%J;#HBtMGpB^F;73x5eEQcF6SzD_O(C3I6BZiFbY8* zM>)Plf_Np~J?BXs2shupVNBlk%C!jo(7~w0IAqC9zH<@ z7%~YZ3-2T#28j^CAuM4NU;wWJ9YdJ#O|ifK7s>G?$?-0-6&00eYnp9rX=0yzN9y}I zq4rYCoj^pBE1qne9}Nt`OQKO&qIu1c;LgaRy^%$&E$%I2F#f+iUG%oIiSA#~-<(b5 zxF&Y>uvadE2i~nb%Ov;o;_qOA$iokOxu$T@UT4#1f`qNm$Ozgub8lP-t26v>cu?qW zbvE6H3`sUQn>5Y9i)&H$ZXD9_Zf#s6^nR;sq79A*cf->`VN8v>x4<~;#}WyPq+_cS z^{hn_PH4c@QETxehLaaLc*k1uXs2yeq)kH1HXhuWSVEcoTo(HgP=$dCg0%PU7b4>| zzK;wH0?Y117V8FaX37;WY}l(I$gmgZAsY4;Hnh?dVhR6x-^%N5OIDh$0}u)M=`ZJZ zUPJyRe*H@x{z_~=z{30;*5(JFqZjJHN?A}SKG37(!o1+I>R5+C9BmZ>8N1wmvdpM_ zUf8c0u;i%eF)k&(g!GN|;%FGp-OfmSS4@wUE<4VGet+{}{|E3q>V|It^iv7YSEz@9 zr3~r*2xamkM7e(B5m7gfbr*?py`|glaKe>H_H9#7`$C&Z#fqg+L>&3$9_Z8Pito2M zn;t=qLExd>etQ5nq#a*ZfmDk9H$e?!F*dw}VPB&@3xdF|V#Jb;esvQ{)Cc&Z@rN-F zk8$9aBw0Q-R&rHNSUIwnv8Tw9#m1RTz%fR{gSx0F_I|Bx-upyd=q?;?6}w|X6Y&i_ zo6zH!|N8d*NwEdI`yr#49BCzxVXV#BG!HouO$r}!HkIN=#3sWZNuD{w{M3ur_}TkJ zMShS@yGY&806TzVOxkk-!?BECc40JaCpe_q#8aPqI)qPoa=Ptzcq)%`IGcWee5tmw zR4Y^SP~Z49wh=1?6%(Jmi@G1g9+)7a0~OSxAYwFpC52CtQV00Z&QYL{${q^QL+oz# zAgTp$Q1n62`u_^-p5jx!=onk5wpvfO$fq0m^lN-NMcraO{jqrJj6#RSS>s&R7%uyV zip1XbbFw|SQ>pShjFOX|z9HsyOEP!v!Twot=yrX3a(oX$h1rhJU@`7yi|Exo$uV$Y z{wyG4Gx=W7Dk?f@Yw*NbYKz=K#A#yp+2m>;#onXv9)+{@7MJRUp%rffIz z3H|gPM17Lufm@c=uQ1%InGqW92rG|N0WNl*LB@fBi;cT5)>xs6PYk51yYbVK$>*$S^oNx3xR5h^ zH*)GuR%ynMaSiDcnaql=LluRKvT&pvzHu!&EF7^8r5d7mxETM6`40ea|KTmdV&Xg` zisNFqu{B9}A{ZkO{Yc=44~}YsfZf{!5G&J1kd|;?3-rk(XsD$NZ*UI)nRk>Q zz3IZ&SaHY;8@t(syLUxuW1AE=AJVgB|+DsCj^2fMCNrxa<4;0jFvA( z#asCukKwwzU3cgMBV|WCm;$C^t+Pnf!7w7}TR7Wx%mWyQentGQ z;qklj;&+WPauXF1W}4^od-ad-z5PS3x9If7_bov5V2A#Z{s~@>O*1YAI^yXbJdeje zl;7wV#_YRC@P?(a6cwnj(97~sjydIVZB&l&Ja8i><}$(Li4-;*TfygK^hG&7z24y} z@az3|x#O5G;sA2=TiKz`liFZ?c1FM7y0Rw5aSn5KmhN-#?grkuvyT^N)HuU*FQR2e zq~SA0ED!C(Db5_@X^;v_#KQSm8V_U5@#}BvyNzGSQk?OC z)OybAuH&6cuT zdHyGj`!EoOsgwF`TR+j`#s>3WU2pw*Fa}gpSeoa2V7tCOY1Ya1IG$QMso!qr3sZBv zKIaQ}^>@AHkCr(2X@Lt75W}}~iax`?!!X~`?{`IC)D4;zY93Q`pw1AdMiSrx4)qAl z-p`=cLe*XTTqc4c#zKsM7JD)T2q$OoJ}(PcGFC4hwavKrL~G~>&-9Q8v3yztMaQCK zGK7@hT-UeJwk4jsnvE#HOZ^fb-PBEy_~=G6pAgt=G4VsyoeGih`d^*>Vev~?iijkd`z!R;H=0F$47KknGc&-PgTn~1+xR{?yv)&QUou9Za6jvxcIDWUWp8J@~-QnVy z0Y`X*(7BmgZ$S@{@w_>4AcBu6rr{;tluy+1vmB33oQ}2Vkn8xHTfpBDSMqoK82(Nk zh2NTuxgK#DQX(!R^2H@{xVVhY6PK%UaCztlnWebsZspNQ;+pYjF|G*WJvxi`;Uh3s zEtwl&mC|q!`w>2Tv;=o8nfzBz24*PDEt!+V)5NAhB+OS;A0hgY@L^=Rmsf%@s}H~_ z#~06;Wjp*^1;~ORe4!+<1F?6nkD7QeUR;C*qgKY@#S@?49|(aG#1(H5pQu9lZhaT8 z{r1IfLVh7i=8no@oqcWl4({{D1&#iHom%10{#90V0uq{kQf$F>?a5KLBF>b zbaxjYT?N9(xf&m>neqv1Tx-iOx8>I&&uKvQv^R0({WCvQ(l;Zq+pKW94^Y%j0V4`V|HiTNr%P>(gR5MAT3AoAWcCUgOr1G@-K?=G17ZTZz63)dIo6|(nh4U zNHs|FkxG#!A&o=IM(P9(A0Zt?+Ku!a(oc~dK-z#*hjc5_1f;JcYLD z3|#*Jx@|`ql_+zdO&56eG14E94kEQ8?M8YT={ck)kRC$1AE^n6e@`UZzuB*Hb^XdU zwROu@YBkD787rz+EUo<};4xQUt>Hso{VMCVx@AjO)GEqP`c(#(Ypd2M%3u3cu31_y zOP6I-uF+O4Q=Z7EsjIHW_%c@DUtC(XR8c+?wN{F10i|;O(pqiCvgKNJo$_C4mCIHx z(~w=Eq@`6ZSy6vSW%b%+=x;^+>ZNtsxT@vLG5R!bwHB-`S$0#kR#LZYb#>j$l{KqM zsUPqmN(H49Q2PN|r4kN4O6G5y_{d(S=h+;h)1ccw{Bp8!d2^yTk3WhVo72 zW6@z6?>QcKS-CG)Epoek*vim2=rXAlj$$>Ko+`)Y0TBRYM+gJ0_@Nm4u$0U~7+(n8 zS#G;p2s0Ep)v`i!CH6#Mbc)mMRWsZrm_EP*RLvfb+XM7l1t8hwstX}tE$_EMw4fZ2 zP-HVIK_F%^Tk~>~a?%5O2@3=EGHhO-Mi#@&s11A+C)w>D)$4^ggCLo1yWgqyvbpSt zEVdym&FL<(Ia4(&Ij8TddK`nR;Oqs-A;kjD83cvZrMO*o2a;%}%{vt96`tWP4h}R0 z>PZ0$Yj=Mh#C(>m49&C(LGwZP?%`gO!vnf;d#V85CL-TqS5r!D9;-VOEZLD<<%1l1 z5l*mhr|L=qf7K!GG8{!7o2Lp>U@n_I*n;tIg=hPH<$lmik-sEhJ^&3zvuO-k9c5tu zujx|Vo-&&+6C`0PLHy)mno0taz~Xg?RfKDGTdKT1wJb31k`CygE+h*?0G6Lz6&!?3 z!%{q|&8G%*lmIkbc8w}#*6PU21AT`v6L>=ilh=ARlMZxaV}q2MOD0^OtCqPd)aJ1G zhYX*_uyRB>-Kw!VU<>-hoSe|Nt&$gx3jc)L+yObs|U3#YzH94=UB6YRD=-{$avOfBH9PBpt|2q+X=5nM$O4W!&jXRa&7!d z93Ho;Omzia930EoT$AQXz`hig?t<_GacZb)H&+&y+FT_nwpMR(s%klQzIks7xUkKm zHX&ip>T`Y0JlAkg0k%B+Rln+~%27R<(p<%XC;>5U7P1Sgqj;zmHZW{ET5*cs;{nF3 zrJziEx*f%x`_SN809=K}-ZzdUFVdZ6CiQ>D#}4ZAT);oL8Cr>2jw}ZTpg@Z)LvsHg zyZe}Pv&v-h*rIw+Gdv!PBTMHMw5$0&rcK%lgG{9d>}=BH;_bMq|LfW{ufz&Oi5_2~9wbtidBDnM$M zUgnIDQn%^Sy(r=(Im=6J(DzmIc9y>kf^cy@c1MRIT_~jGS{%$i=V6$4F8p*YTuHe8HXHV^aOI#c z70Li8ZYblSEP#S2g<;{C9*e;8O{po_=~)(QQbvY3S6lOgX&q6P#~io!!JFlSz(8cv zU>@~>o9e@0V7rK92s1bsarNlPs&-?Cr4iU{+%6l|`SGcVF?z z_Jxkb{R120&;D&{cFe``iNod|nUnHV#FTEU7A4-^yu@^QZ1l9T)A=+tAk7v8-%s`k~Cr9V}iZn)a* zl?h{CGIfo5ruNp#sMFiG-7#HUe(2iGizj<8LTm9qggToGN(c^8>#s`&)OOkk%pXZe?4{o(L7`Eh{qZ_TZfOoH)E_kgeEON5ES+sxxp!#%w0`;z>yK?6c^C5OEc$s;|NI%!=A7{_ zKAY7?EovM;ZPjD5N47cB^Vs6O-|W;Mt@-u|B;Wt92e>gDVHjFuEVyqJToVIs3^jNM z0tLN**$=P+C|97ALjjO>1jeIxdhopd5IDS{!#!3XPF!4-a^ zUpqQN8^x1QI}X|(Lc9sJTVs8&Ow0s%x(l(sm>G8c7RUvj4f&r7(GvjrQ53B=1xvz` zHJBMNvfx?1v(zU3C)6G1eSpDP&ka$){_7b7P3V!ZWobuQ;%y+gP^NFh zs~uL2R*Yo%Ag2k?hqA__V+_oq18J%teMA9`C+(zh>?Dmo z%CjD#;sq$mD(}^}t$?!~W=1*T(K@n&m}vcoi;x|lRvF;__4N#ajQ2X&Z6nRwF+b?h z*Gwu8vx}9$S-vKDJB%3)93n_INCC+;U?<2nW5H6ZG)bz!6FQQ?qy9M8AGQ9!=^W88 zLD7MKp-kQ7v-TUsA_5yHIAA{y+uu>W>Ryhcc?|w`&128ORc2VQtPM!*2Jc>*=#xc1>3;Ja3*ddw~*V&?d0}xr?@Lzlp)rTU|^A#MP6 zaf$ef*h@xH-6<1%gkS(Oh1tN|WU^QbTgr}L$FlFUH`o?jJFWxQos+p-ZVPviJIl2< z#2FOBNW(G1)4Yv$^VOh>_51<;B##NLg-${jfe|u<0YZf^O;{|{2@S$op{K};Y2qNU zOnhCOA-*ftivJMn#eL#=@i*~t>1nB}L`rGWAZe5|LpmZ|lx|5+$}h-8vRfV{*UD?< zqw;UE&KPZc&PW+$W3I8#_$KJej2}w z-@$E!gBVRrCN9BEtQFaTOa$NQN0x)fOaomZPdPzeBOA%KRA=ywLEsVds86V`sr}SR z>JrsRMbK^Nc={Duq?74^bTR!dy`H`RR-Vk{FqL54YnZ*vG3Hm$VGO&6z09>WR2sfE zMDksDi7(~9<}dKc!Z=}*@SX6Om?4f5_lsA>NU2&{C|!`E<*u?QFO|2;hvlorl?vK? zwFCd}jThi+@RRsYcm$C^WD-M&>BJ7=GLb;?WE%LrlblNKCch_7ljq0?sujgiL%~ZA zf={-kCE5&@HiBLZd~T)p&}Zn&;Fax}5@sdXS`>?erKPb0*lKnhJC$9)e!#9}KWF!` zciA*9hwICExshBAR}cPpfoo@oH&_j-VKjK*M#BZe4a1XsN1oyf`6+xozl%T1-{2#K z4nlV!QOFYB5Iz$22uFmwLQAo|__CNJW{b1LrQ#-WuXtOGmf|H&%9Ki_EmDK@FDXp! zCVwQ?%h%=ZM#*S1I*soc^$M@#D1#NRvR0{6b}J{9s|wouBAMv$C_D$R!YAW%@p^n0 z{vCb+Z%Jek1Bnlb&xqZ`QQ~LfCeezd$zEh0SqYxFh&)FAPPU{vQ8<+b5zhmWZ4t=n zJL)ubozl@Sfu#D=bLchne)>FUG?Q^M!$C?{m`Ju0%dmEKGkbtN%>KaMWIJ>D+{fH* z?i_cAi!eNG=m2pl4J0$(umz;@5}ycuS;;TvH-S`GK@yUL62UF_g%QG1p;q`(I4GPG zE(_N{GErhjv4=>4SLBF&#bStFlf;?gC*Tzu#O>f0XT{$khQ&er>IYVFLS~GEj1|Ul z#wo^H<9{1z>j?p({RJ|EDu9SS1)_Hi#O-wuu@8X_pQpm< zNV+xMp6)=uKz9X8W@(u=(S7J#SbY&agsz}RYjJ5dy^vl3vFS^Q;|=sddNeZ$BKIvu z&qlEwS(-JlR}}eoHGR!(^6tl`xnf$I3~C2WO^QFBv5n1#=2GuWhSy7~F_=*2eb+uS zh-uosANTX#AGb%>S^Mm@_S$Q&z4qE`pEFcEzK_K-#?*jFgt245bQSaaU%v%Go_gO; zr?S_Q-ky6*wc_o$HI7zSdY7|vv$JtadQ)RZN2fb|lRe!jcBHp1I9vTW7ZBB{1wraw%S{C+V(@HebKStpxnQ0ZXHnBEq- zbU2d}-KFvrVsiwoOkauW1xocoIh9vmM0FLa4NCQN-kZaZT9RSpwc>n5Mr9;*9eUUx z6_RYJkVHv^)KV%WPOb(QumSpnevQ=9z z`JO>ZdTt-xz5D6@^OyMjAiuwedn9!hx~{K}q#A(bk^E2G1uK0uxpBUgDOJ7=QzhRE zoNE|V&ndO!B>`T)`yQKbr3#8utNei5+7_osilmm3oacy5HjSWMC0~wQlD*U=hA#W4 zR~W25a>;W_?|o0VyAH#s4prgqtC<;B6-gcMi`t;Cmwlx(<1jbl^&|rI-;}v>zM7<1 zD|r+;dLz2sB1R^2UFGL^&%Vc0l@NWM4@2wq>%3JHSV*Al&si4TX5l^AmR7=06J$)~ z4Ag;qVg4mYGhF1+DxbCshMB+>yaoDm)W`hy9i`wYsg`FG-KTciA{RWTxIQO{%S+at zA8@3BtJvn#ZmS%pf1lHNU$e`o@pG?$w~7ReV#FShVWSnGD1G^SM8}{Nded#X&r1|r zedIzt<|dUU31$-_p3fjBAAHq{9G~|x_v3Vz3K2$ifu)si*XZynO0vq&n13ao)7 z%sH*#aH(87*2ZH0s@ha-@olQxI>i*zaK*e4akH{g3$w8UiIV~eG)`4?^;V21OSh6Q z-P$n(GTAyxs~4ld-K2#STD=i>Jl3&n9fl_Hpu;Yt%s~>ip@EO0jiHhvnrF1$J!PWC z-ymh-B6_r-1=)?o6jdr6O6m6dzfW>Pn^Dc@C#6off%)kvq-rLKqmoDyAc@x{aZJ>} zZX3vMKI@pxS1|%}U-wlE2hV*PGxhs0QB_dIpJ8hEJJs^~>)g0dk-{y^uS{?qrjRCB zvW_CSJ$l=Wuy%B6Z@K3~_Y|(XJ3S_a2ll}2S&15!$>S!4xoU@D&}y>V7}+#t&9&p^ z9F3Y&@SFL(G{6>oXyXpc?Xh4&@Sln-n1I;xGy#(M zA~|}GvPk4qYFdZjmLVl5{DwG8Qdu1gVD+SJ#r>-Pn*hT9mc#|q!60UIdr=_DSldm z7;XZrBI&ti$0)Dc5S$*>kB=GSMPG7-9#f{Rmv?Gx(5&*?Rkk+fn3r)E3x*N4Jg3qc z)+!t1U*ms(_D`wq2|yr>`Q}8ixgn2=4_A ziYjXx&^R{1Tz_l}-4A(2RbQKjQR}G*8WS*^V+jr71_EGo&@mkZKNq63mn$@~UQY6r zv%RXtapJuQH+St_s#^T0N}THHi}Rd_+wB*JsL4#f=W^tB_cZ>N{By1fUGIq}{L|6B zX8v2g(loWM_uN`va|YA(mfhMFQen?_CzXqnTcoaAVRehteM{G?iPme%MNNxj2*(b5G&j-4mPZM-ch4JLMs*Ar7 zeAb(7Hmj3#N6)v!(|=v>dDy5RPPm~vda?|v zc}6X|r=O?BM|;>TrjKNJhi4+D>VrSmftsNt`ttC-~)xG=(_wg~VA3arg^~=?XFUg~SYn zIP`_YOc3vuEL@w&9oj5t015GAOqxd9!M=CzW%{oGdI2GT8k4}(xKwmguDDp?Z{c`l zg;IQwof^p?JGD}mT6XHCE{*I=k-D_9GfnE!%g$L+SBmURm%7sAstn0COFk!m)OS_C z>jQ@O4at|}k9J+fKF<0=`s9!HR%rVEpuuz|U)ocav1?-nSeRr>ACCy=j~1b>_sqFa z-A`${{>G#FMvZ_UelztET7EEYbWr9g^q&D*g=pyKr@Rk~rpxsGUCsR}Y$| z;cUVqK31=$VFULgB~^&U(G7x<0mY&rKks;kC+v5EzfKl4Jxdl-kd}5{#9lQlS^pqe z|0r2+;NeqjPU0gyUsWx3-x~{!6rPo>?`JsWlWX)_2N407ClL4gBw*xMm!*m;VT~M- zE3U{pFG9XJ)3bAs>AbIkzN}{ni#E~i4xqxfen>!0kNB#4V=8Pk$ZbTag?8`sJt@NS zWi;-8#lF6EZ(^XdaEKKwcB>I{H@E41)*-}k#jbM2AVmUA-=JpK2V_`W)L<2kL8#lW~h+aY3s@hD^A-4UP6b0ACuB|l)B6y4611PA$z8TG+e zKaNDko5bXNuEjWg-^Kfw{#$@o0F%<0J~jmC?-?$ekbmLuEm_aXR(+lDUYYz+y(Idj z^_L~yBa4&Bp!7)^Kd>&^Gmw(?v7P=8`R>O#}7CHE)No2gJDiV=89 zL0X}xE$L5OLY3E{N`GPr6+DM8)3E(I2JC?{oT6Dn5_m zUUgbY!Gq%0`V&j3Y8O>$(@J`7?hv2oPsHm;7TQ8}weME$sl5_O9gU4%Ox|mKw;;={ zE?6us?Y9nqiOIFFhx%Sj` zLwKV5wl?bVoaFkwV=#^Bkw+~FlqOtZKI<`G?G?vB2^>nQJr+s5!WBw^1IJA=w;{@Nu_9s_*i?oACHVx`K(uUFzsBCqUETt=!|FC%1l0x6#Ulzi(c-BV5^juR~Oa&pW4oONEO$0y~%ZQpD(3{5^LH0yxOOJUe+UxlDjlZk!{J? z%8T_aQZkYsoP>0}s@EAUF6$V1W;AJ{UstF9bby%(>^b6SIg6oh30Y>@;AN3YbmR59ZDG++1hVQjQm{@s~4?BU2^)wh*a*{bV<^jgYu3NEbMO)so5 zQa(_@?5jx`|z$4Q|~j*~;_9BcV|kpP<#((~u3Aq~g6 z5aU=MqO>%?riDg0zAJw2$LCp*^rE)THz;nDzG5H1R^h2g~kmK8Py*rKo@zzpH}0hS$p zFu-!ca|28W&k8VO_?`eWh3^Wm-0+kD%L{7)%p8snFpFG^?KI`l7UaG+bh~9}gjs}_ za7TrwOe05qQbT_FB)JJ(0yB8xBplLGF{+$SaH`Nf{S!2Wk2oG?`aNZ;mPmYyjN`*w zKCL7hpY>^W6#B!mn~K^=NXDa427D22FC zDhe1aIk62zW!=9)D^R|P*Bf|&p$*RXC=#KSQLDk?z*u%Xg$VEzA^_H3HzEKQVD}eB z0PNLoz%qCNMe7j-Mh90O1zahxQ7D3!c@y(mCDPIxy~vsenEt^BnSL%{24EVX5p|1! zO#lO6KA;?ReSmKR&H?@jupRJqfCM-McpY#CunX{GKqVjvZGQ)R6A%J?1W=*w*TAiS z^(e0dd<9SncoI+z@B%ggHUr85MSym|YCsQQE8t1A|2FWmfc=2)0rmoPs3*tUL=Bs_J z%2)9U-bB3wd<^(FO{lNpNM)6+-+GE>B>0_w$F%P}f|oI#Q<=zF7s&z7AP%(2ePTw7 zw0yGesLt~{9UV|Ag)_nL{*eMEUSKSr3;{H`^7>=m_uNZ8S8>2i9?^L(&|0wiJ${XF z-X?!0oDuvjQgvLgDb}(iPPU$E*ialzI#$zeKvTZ{CCI7tTvaP_WRfHL<=W$(fTnFR zBER)?@Sov|!kHH7vA8<5Y>j_Z9kf@(Or8S2c?4MUbuQt=2+M z<+Xy(xDP{LC9l%T^%NmmRc}VenDHG<<2Wxm+Qv1%f<*~NwUn8}>Ty1>VN*)n+z#Omz z6fKi+hFFD{t|Kt6d<6}^X z;fG+|wrPrn)pu%`7<`pC<5DBmQ^;`m7=^dj27f@|0aHdk2>&~#>Bc-9M&)fcgcmv@ z35-?Re7>=#Baz_sYor8@vmyqgq?;R}V%kdKu-;K{MVW>3mHqq~gNLHigPT90#*}HE z)b(--Bp@NdK7IT-62BaKH9lu(Cn$D1pE;&k0R7_c(9g3ojlN@6>z<|v<(%x7Y;;&&WhhI7azdl>|RTOeZ3Z|Yfc-JPqs1TZSX?nrRsY@ z8c`Z-yA#nLuc+jKL*+_(X>3y1UK?kt)4gfcCoqhxkZ$f-#EKI-c(WDWJ>$HO z&~(9aNbxuaH^jr>@_m;K8r%@$6d%GX4SJ8c#{TqF}niD0* zCW6<}Tm-T7dBglE498zF?%K(aAM1)-qSCh_Lp}fWO#deX_n($eJ;31QIIT~X`_}B2 znWWA*xsZO^;AP>E9I2!E!};YR6k8*Y;9JKFC>`#u#?6fzJ{#cEckzako(EYl6YlQV zVMNM538j8@#y13%KZ7o7@ID1w8kS0BWi?*N)LX1tF~^cn0Oh`VfAgU<>SPK%$*a{K z`xui=&!C?-yU<1GLl6aj$dAeP?9{4s-k+eOKg;S0#LSg8Td%y}#6=Ej!c>xovS9Fy%>Y_XX!AB8{*(^h@!LUV~eI0?~;vr~+xt z8v5k)WtiTfCKiTU@B@r+jbtK5;k`AM^;%JbZc_K7L(A+PsCCbB5DNZ@hL4V>L_~b; z6E%@ks*doXheGJ%ud2%r5L{ha9#f#KNFDP$HDaP^kWB~BXXFwLK)JdH5+f#>8Z0s# z<+PGjFRj;j!s`6>TIWhnK677-qz;gp@$OJWpoXJLg%lsD9aV%zE-5mIhA(-emI}R? zV6kf4y;22s2ME>3m%~4bh+5^F@ESz|cM0wsg8wj?#$v_CHu|(%HRb!;F>ij zWqZ(LA7bRwI1b{N9SJ5uAK5w-%tYTO`x9uesE#P>gFIYJ2wFjdv*0y5<)3HKZVi8L zMN4Sca3*9QE~|u*rj*h>wV3X+3+Qe#)4kA$d&@Ja8#$U%!_jO5M+pl!dLWadg&9CE zJe#l@NVc-WD>zmkwgKaP?%{Rx>>b2M=>CKQP*sH^*C8SvUV*3ngks#2)Xd+XP|B&% zJy7yqMw3Ho)JfheC`MA<@PWhoP|>CesxZDai14Z1sB{d`o{-vuqNk7;n5Y5IZ^?oV zk{wCi4H{lv>;XD+($Ngp3Z5eJ$+i?n54qB}u(^GHK@8EGK`mc%$Ix(1xVcRe{4dmu zrX%L*aEaK0!JA;8b zfkI~8F&lBw?JsggH~J{z9pZKTv5Lo$J6Ke1q?71xX+eD7E;IeePyBb`{OidGZ!MOx zG~NCa@`(vw+s>X<+GBy26~v#`^)5}RuG95CnJApE_myhWuqbBI$Idcs{!M3+yjm0g z>-^80lOOf?GxIMwgZTZ?hUjJ@2@zMAf zF#AaJVIoO({B~iCN|Z9_gO9*+JmqlLAY)lbbvA`!;}i|dwpcFC=nLNW$pBLK=!D?C zbF(ys#H^tmladlzpu+iG7Q|3LA33ehC_5!(pKlO(;4Hbo1E=}@6uA9Uf_E8>*s_WledA0awKf{v2 zZ`#~byeHjBp9~zP#TvHP`RMl>sXJ(x;+P;}ci2dy8i}MfN3nxrXa~M_;8=cdEg~}e}&(V z@cV20ejInQ+W+6H<4gG930MKh1w07o0nqhSIb+`dyaf0u;548Oa20SJa0@UQypIEy z0SW*M0QUke1GEGcjNMp)Hh{B$BY+nGUj@tqZ4>ZHz+%8GKnmd2V~qU)@IHX9jlf$0 z{|I;y@G9V^fKz~#fMP%n;6cE2fCexEy{-TT00F>pz^i~C0lo*g3i$l>85}HDCpLFw zRXdw(olZBSvaNA@duLDAji6ddiF+Em-0TuIWXT;+0eY;!pj{5iddr>xl-Q;qX1 zYgJ^%bR?dMI@0sfrYFYxK$+Sxm$<3CrMwxZKgK#m_ohycYLa-uABw|Jkd<_yv*6S zc~wgbr;YcD`qHS3ag()nfu}<;M{CqTtxa3FHMV!zS+rb&pSq8iV=fV;J=)p4JxYTt zw9TrameDeA87s$HMxS|0rA)SHX>4~M}SG8A>e7iSAg#V9ss@@_!Mvo@NwW&;Mahs1HS@%5AX}XbToPf zcn0te;Cq3)fM)`41fB(K1D*|B06YiS3|sfew13VviH}C@BZs3K$ z?Z8>U&A_yYZUkNgYy&m`mjY)4n}KtHGk^u)G+-leeRGSg)8#I;Z*6U|SJ}68Zng6| zr~QtqJNe2xT<*qptT3g0j5k_sr3Jr^)w5>S!b(^tD`y?d#oVlswd0?iIoTsD3sicd zi+EeXQ;PdmPIrS&HCRl4k?vyKA(gJ?JKC*eHE6B$4*mX2ayF=B8R~Z(%3sv`Z64yI zB%YFcDwomi|MY^4V&r+Wj$#*5zAwD!EJTEXD2_dE$Wioo1b7J`R)6+$e7ShhK<#7n z%M<9oG%@}AfXoSlNyC0Ns~G$3gt~pS$D!`Xgt|{r_af@P==#r|3v5y?bK31IS~ocx zo!gl;Zn@o!y@YRNcG}#E;#W`#pwR0X%Ti%yZ7yl=L)BU3~|incA(|YIn9bc6HgCtL!eZ-OYZ> zl=WQRS<>0zc4Bust*&Wzp=n)XJJJg;D{}cF`?kmX_8nwUx*EH70Iray4~rZ-DjX zgceenol4k(*hPOcq)T+Uo$gMtoz01BusfX{oyZFlT3y}Et(z&Ka3pMU*&Cfr4)%T2 zHnw*liFz3&S65?`omEuVl~iRL49W{3Hx_*Lx%_h9Eoda?Pzto z?anRi$G6K3u%N1;af@qngT0%2%vLotlyr5iZt5a006Q!|0vnp`o5al+af73?^9lUG z3VcoN_Qs9|H@1DqZs~03Xxw6Vp@>!;jj*{--5_>goKLW|;Knp`cJNN_k8j|$XW|>8 zHFKeDcay!#-QeI8>@+qsb#B?x*}*Y@cg zrST9N`QeM{`6!5z2<+iOxO3Z2A6)8%y7%}%R z5^as}Hg~iU#fNCI%HFg!TCBDsomHg5K@{C+tbf1$qb)#hN`5@!O*%603uy+wV$Xla z|2Zr`XF!T22tNcp^h8&zp3aQOx_hXOu2?-@VDp@M^+vo0LSj6m5Lf|T2iUi4YTusT zy`{awRX9&{b}V)^IqX{+T?@CgHaR<8oh|N#*rygZy0&C(&7PNzh~3&^ce(5AP8arw z!g<+QhIvb-OioWPz#9~oyBxdZ|DrTOX@{0Bdz0vFb#Lc#(s30y?N5s6#olalwr)iz z-)wh{6DN|b-Dpai)e8GodwY62-3#Y6y2?AYc0OTu&Px|tmp0M1S2&L!!sjh1STrvC z&c@^NCvf~(?*)tQ(6wOE_@L3eU{TDTOKeMROG``3S1w<@I$HR@dFH1K%$wRU!!XB? zWe^Pc2CLyqhAP84L!+V9;52MAe9a&k_8FcxeAjT;@K1)H7~V1@XWyNjon4+?o4q!B zbM|+$|0VlE_GtFZoPwOXoJ~1j&Uq^5V9uL4zs|XtqZQ@~UlLk{ZwMa>j~E{{t}$*j z{ZO!pSL;hYk4!wmFE9$?pnNU@o@e~{`LIP z{IUFd3Udm-UD#VVQdqZS?~?G6ZxkIU`fkzDB7aeT(WRo_76ps`Q1o#TOUIsz@oNk^ z!@Y(~!vcfBU^FZ@JcF_J8{RSO&Hi!rpR%Xr%*?Uotj*b+vn%KMoWnW4$|(?vg;JqR zSRvSi8ez4tPS_~CZTu+r)x2)=4s(xrw|S5G8S_5#e)9qI3+9977tJr3Uojsszh*vW zK5q7#Pnl1f&zc9!7tNQ=SImRvA#>0?Y#uRRH;*;Xe?Tb-jZTTv&^!jTQV$} zmIW4r#b_~G3M|EzQcIa-g~ev6v8=YNvuw09TO5{lOP9rM>9*{!^jLOV_E?^=?6d5* z{LqqB@J_*;LUZA&!cB$l!lQ-lOa5WW50|{TB%w%Glu|UKXi-sq(Ym6xqHRSxioRd; za?$aki$x(==XwzqIu`vEAgy7VVYXo*{A019(ok=B!r(D{$8gB-n&G11_l6O}s3AT3 zq3i|l3UjtKyDr<6-IIMFJDi=CvoYsD&i8U&%=uByk({GBKhHUp^UIv`@QuNof6Mvz zoKJEhImtqbFhjUccv#303WaiErLaM0g3ojcUf~(xo5CUC72#Fk7s79Z-wU4!cN=FL zA2&7_dyHOVnW+L^v(xl-)AOcVCUx%QTz&4`+=aPIb2sF^oO=YG@?q{Lx$$|)d3WdC zmsgf&%UhSXDbJDDk>}3)avq(HU!bvN4+xiqK_MuN2%`csYK(egnlas&X*3wk#$scc z(Pmr?zjYY9jNRyWk8z*zfbpR5CF2p}F{9sj+BjgmY#cNOjU&cUBQt4CdQ+My-IQrE zn9QbPQ<=$TT5Z~Ba+tbI-KHMX9@9S40no?D03YFRd0^rTyEH8!@#kC6?n$ z>6JucN!2fkW_md-{`MjO&H$s|f$#`0u?j@~aEX2am`ulo98gUXdCz5L3}7;GjzFz5?tqu%h>rpP}b-^3khkNX9 zJleW%tgr2^!Qg$@tJS;pPV04MDNe&wYE46D;J({Uv#vUE4YwA|QdhNd4Y%%?^|ET^ z8g9*28*NiH3zh8M$roG2n(DG+N-g)gXSdx8akSiP!>l&VR<>9zW%td}%l4~UTOC&G z;O7~g+?}{1kshBdkCW3z- z1xCWa>ICqI82=>-#K~|#@}AmbGeC0^_(hT@+tVrFkc1KgVT>SxNklP?DU4za(|fdQ;O+_A1=cq=*t0HxHfQ zxV2hddmX$C?C;}*tB;Q^OT5R3_vp|a7b4jQoN4xHw@|KDiT3|G$y1B+h~JCk0wKKp z@b%$LfU(vpfrYa9?A41aJG=>G>F1qnh&qGWI}4R^u~WQ4Cp|B7RDC1)E!rWfGg$mA z{L(^AIROL+Px>)^2C>gUs^=(AScxi&x{A}Y(ulk;&gCLy(qF&||^)QmCzi3xso_dHFb@55r~xUIP3#xw0F0r0KX$8A8S zrDUiWAz7xmi!0NTQqTN;$cCs-IKF;jdXb<{@cc?H3o^#oOO&N)F2K&PbJhyO>RqaA z8HQ$lDxt@^L|6g3+cnR|<08rjchBlB5F&d&2t@m`Q{j}BkIYWXtDpyMp3p)Ln(h)+ zpoWiZI;oHBbwVELMfTjzD!9_}v+4oZqy4b$TVFv_FAyKtshj$BU!`@AX|cs?LWLcg z$w~RV?b+$GggfrwTF(>}N@@96;UJ{2gJeB_l(C17<5%`5_~C=gKMHPu?$ zTB{W+wr;hyDq!6}6x?^MRcl?_U}!}}MWyDOb3-s_ZGE2ieg60V{{Ox0+3;B$*{o`jC;d1IvGtQCu zxEX)K_j2l~8CS^f^%*~s-=j0mklz#JH!?jr4Yhq6rxG!Sg;C70Ult#oY{a>NQ7Kjw z3k>5y$xuV-A#eDy0sK*(Vn|al%pB52Ks8t;00`@1e+t5a6#S3cp%?k>`k+G0Hy6Y5 zQKAT%B0(FUDHw)xAhR6mq5O?*UjJs zV+Y}3SP+28!@;my?lQS78OlhR6hQ*&7 zz5ai5|0Dsur#78}X=_};2za)jTY2Tt)dN*&?P5Q!PAin{o2_ZyX(0dx_?UYim#Dw^R zOaqe!E>$g|QA9j5CN{%-8ow^XNmF?F(Uz&HYVl=___8F*(3by1t!!5-JAfykp(?y) z!z%j~*wBdEBpPw6B&HKj?{Em}MUAYb9Z;((Y-1`cYhhj0HMgK)C|ipbP^ql4OOUBO zuf?!bfjO(}2;?#t(7C3t_R$u9wfK-)d}JL5WT6&c(1<&rhgu^eP2yS(pz9s>f^5p_ zSW7D)M~FLA9E=F2TLm)|k%U-lcKzz_dR4n~o{Cjnlwb?8bSawvA7UO|BW6l6n6LP4 z0e;Ks=1Vd#y^?7Z)Jh<(7PkXkBD`JAh%%93$1Dn_>;D&ov_MF=iyUlOU7?MUVZFmv zs7Oqhar7Vq(~QTOdQvbpu;L5fCjjV+(diUAolXUyy#{m|sZabmzf^O)K&u*XC& zyR1%OF46KKla`V`PZFbd*a=G5KsGVVE*cg?+Yc~ccv=hic1=I2qi40T8QAp5X$l*n zkin|)okaUFKy*a*kZ3ro&A_H9te`ByQ1&?SNdraEgH;{WUr#&3syRp;t8Zr0ju7?r zS~jiz>6z|2$v>xRVG5#|N*h5mTWKMPwr7=|fyq)8GVEC;jgVT>W66=Co2^C9{8?qy zkdI{!!v`syg~5tie>Zr6#;>at3p%_WVn|o>fx^%h{@Ep+!%n zSuJt_h;YE6pm}ARtoh=WrNH*O&?E}RKdc7*5i?@=PhyFDrdnC4R<2YlE7Z!3YUOJ6 zzI+&qN^dXk!LMuH28}W#(?rkYRN{0@21OISHFB~<@4$xX6g4Vo8u8YsB~GmB{VN7%^djQaMmrmEoG876b96qL(shDy;q`50+eH)f}Up5}j5~SrTfl8?L&^ zs=rAk9zZR1$pb(o5un<$=r*h9g_&%W=xN^YC7~9q>Z9Wo394o@g{P|7N-o{Ts>Q2yzo5@XR*gTCI8uDG z6-Je+dM1&buGi94H&`0_B2kmBj@GCutb+BmQn!tWujJP?iI-ETNT5!|;^j!RAnZAH zPP8MeYKpo{0b=4mf!2Ke$VRoYT;U(8;D;(kgeo|p3dc|dGn7^44X%Lzy65og1mcal z-sn@IvqhhkIxBvi=(^4fWvW;o*Xd~dI)AVnrBrCdst%y2+6An|mB0WPi3`19-T=`a zjC1n`h$*ps^CI%gY+gWq+0FCdYoykkPG-uk>K+<;)1gm=?hg8F)cuS;t96$M=(-w% zK{N|UB2}rZYJbX-)+HBU9W@W>EF=7>Ivt><68?1EE!3vQ-&}RWznN}8Fl0H+kHKUZ z(9C}r0P;#5d{DOop;!AenlBqFA#Kroq6^Vdw*n9delo`4>on_#I=Z|$f~<2P-scc<5 zyi|BWs(_gn2QNqkFyxW2{8%*s^xbIrrHblVr8l5;0GaCD0hU%(xEy1ZB}1~=0$!aI z`x+?PcTu!N6n6l{d1yfcMXGMA0atdP#Fc4{xU%aAcQL}fpeyP`I%Ys>=t9~JNUX91 z7%L#kwlq&Mq?A>t@mhqoiV&BJ0$@w=g(}@rKx3705f*CbiV}0#tg-=+=tL~DgLLyu zc){{-_Ish%mpM_e76%IU41nTD!7KoJ0`v!P0pI}$07e4%14IDK0+<7!08jy}09X(3 zEx;atLjY$1egbF(p!T9*Rsi+@{Qv|2Apns82>_`8a{=Z7ybrJ#Up6H88V6-+l#=tRUb zc2kWifVLu4{YzB8_)AC|jIqYUX^A=7u35rxwsP8%2#PS=UOAanU58A&7E}0!Dn^GY zhJ`8ygevSpm9e4)jK0XuD#BSc!BpKu0m?tUtot1jy1P)TYX!T!fPpOXPli-Qo$fS3 zj@2ve^-8uRN*e;x1tctC%D{t)hiwMxU#V+ZFx2aA@#}Oq$w87H4R{@~8IJsO)1E%y z>(zyAunCKPWR=;#`25gujHRN%8~IDYY3K+S3mzKmvf%ECnpma3!J3MS5fpZ?7OjUQ zI0WF1*UzbQq#a!1RP+LNid|4#lut2ZE#3ktR!uIIRdcEMIa)&V8O6_$92eN8ik`9- z5l}CR?qI1(42bl%A%aV3K%54Nq8HAJK}9e6Df;ox2_%-RvLGlFNWkG1kqKK?84nVy z>hr4Sg1m98>J`uXAqV&4>+n(Kn^SbI@Mh@-73Z77-hkt?$$nVp+ME%zt9c&JanqLIo%Arb@)IU0Tqf!TsZL? zACq-g+=4^xE3YsLPFrpo@pj@t1}0JOx{S>J6|J2Unhb_!oLT)1I<1wUsdt@$8cpH$ z4e$^onp#{38!;S_YPBk`*&~C)GQbTLUxw3@>YxQ|;IxOD!fTJV5P`1hT^GpK*HCMf zv>nUvRf}6Sq(cSWHi_Gc;2fe|(+hefQHel?W*^#MPy@BNln7+1#pN0~90^x%*pRjo zM6f|qb`6L^^9|Y*)KJMFG>CmwqjmkSbk!jj+5^o#go0=gfo#-zAH9>Np&NBs3)F+t zpe}2LL{pguRMRAInB3>ng-8y3pS>|({~4_1vM|WTg4iVb?>Hb&^*$FUP=73ew{~7{ z;HFjdbiR~WgBa4w*~Zfx6V_L(Cj8oDi8jcHH8wWZAPI?n2co6zZ>;HqYS0LbHSK6x zfN~*APl`!<6%{n<*x=hYm8#g#8vX~55V^z&{F5`ZFCCCi+!+cmp0b&yr^t#_Sh9xW zK6%zB&UBvkNw?&(cJF<3+Gmw&fN-p4B2yFHrgy+Vk2UYx3&twO#Sq?vxw?lspH2k3 zi2~gegY^@g;k=@EpaYWj#|NM`(QVMs&`K~?c}mA5dZ^9S3+U=xy4pLT3mH7rK(`D% zIJ{}Cm(kSf<*w>LH*En7B2uE4yBNi|6nIXA<4(76bww+X*)@#FbR_NChkqDGG8SYM z1t%MQUKhdTKu|O3)!3Rs7zbgznnZgYhv38bXzHo-&Jme)j%ZTnh=6@TU*%7RTK}bJ_BhIs|?~uSWGObHLTL9h;|^3&b1Pwuoxf?WUqZuol&VsWdc%2nNWB~uWU2o zpMhuw{~XaSdaj18ZRvjKg%Gzs@i#Y9z_!3thqvn-GuV-l85B?+hmAmh45YNeW)|J9 zv^=m11%t{_t9*MRm~2wmAv!Imslz)6KXl$jP4&tSiT+18akC|$GGMbI^fZs5|53*x zYm}f@5P=1wuJ=T7A|krYG-gJ?h!j1E2q!gzh;UZJfjGjxJd~lI=Smc|>*u-X=W&3H zHX0TgU$5N^8d|2G?*K*Md2|gF1Dxw2ZS0R&Y-=nLu*3GY!Y{rQa~IdLH0{R7`_w*TiBpL#nwnl_Gs=b)d`Fx@l17$6A^6>u2Fe{y*kFZ^s2HK zahZQ^T)mDu_)5K&rjFsL6I|f54*aQuIqF~+b+9WD;+BC;RtLLjy`V=^gIK(fT*V68 zE@Q3z6I2KMU4Ko8J$Phb&m-t+E?9K_6Mcv?G09mpi8IfJU=x;VhB|<*pX5wD>}p*0 zL}8}gOA_#ZJ#IBQDu#HV3GbM!&t>wj>T~V&xu8s)l2`$24J1K_jtiq=waXy8u5;ea z)}d(!F%%VeQex9~f=2=CNZA+s_wKW!^f-N_ranedrDqQJ_fF zP}mbXO6`flmL1wi`07evN)gxgCeb$jxkz|ov;!WYbAr+ibWd%khK-qtUTig6Hy>i+ zA+fOt>G?xA6&_SrMP^V@RtMQwGO4C%uN&$tBT39Nkb@z`W|#q@nxd`iYH5yIen(cr zDFfx8dL85w4U|y>?T2JNTTST-wHkbY;uds9f8_-No1i%c!v!881YivtsJd`3xOwX6 zTEk8XI(t>UfL)7$?x}-A)xlv+=IBD9DVV%YXbNUj0$Fu}b5k$}9dMe0T`|!7@&u3a z1W$E>k2=9uo#3xd2vUE6HWvu9???O47I-wl_UbQOAfrxTs{QF|tUUfWtGe*GCWLfB z8^MBC!m2@w{Sa#@YOM*eK+frFH8xPAYO=2XjZS+B=P8pmZNS<~@$sU<<8;}E439+c zt&qDGCD9H68wUnl6O2ou4259l_Nw=xYQtvJR5lfoFe0p}3`GEFkkUJ}CU-IPDHNbv zgDNzZEuB{grQrOEYazO*33h>-gHnL1&fN}Fp-Ef?h6Xm_jlLY%n&P*r<99ZSw^N$L zr5q?%7cN&9R_Gnd!8IXAJ>M$>*N9I5ze*;CSrpzuEH8ql7|=Z-iOSGNX$h9WP#v0Y z0h593ylyNJjEfo+)?M2y@;ZoMmp98uT2Kse{Npxg@)&o3fL?h>udFlfxoG3*axT|d zA?LF53a4|Av5z5IS=GUwpzI@?8pV1{F)|b`UdUa90=xJOQmj{pm9?M-P-Snd+G$!vwt_0c z`VJJMww(7v3bK-)$w|RE*Cc<|4KC$Q&_}keUV}f1Fwp$YNAh6HiIFU zk(hwO^qrJq0YO(|x_fY7`I&68cR=26_s-k3{qJ<&zYl_rYQ#4{Bibb3i<(d}+=h|c z^%_7T;+=?wQNvwqF$GJdb%4OeQE-^l%2wS_v3CUtXzww|6@ZkCuow-?y4fjD{E<-|_n?Tku1D@mzfS*MQ-dm+LW0h@% zHmbr_2uywnDVPR`chg2Tk{1@sQAvoajz)xV)D%M84qLcx0eEc0WI6${%073*wfVZ%1%{3OJQ!Ych7gcL(4 zoywlDNcsJgHNVimgHz%vTW1%~C_Zt6h=^=uvtJrRW+`W;C7h!DD7*$Tb} z%&SEEJ}gV{0(uf-p?R5Jd6^J9H~)+#C=hvi$T3vnqNfUXq{YF|k`1v>q$uGKZe&Dh zAAzc%i=od^6E6|CF_&~y;wi#I*i7ODx(8M|Y0DoYM8!P93tXziPF5DYVkK7FdYi;R zZV=MzS53porpn_wfeBOl5JQNGPGrOt@RJPu=+2RNq*tpn)3T9kF~c8%J+~=VXnYDr z6NcoXvr&aQQ&cmZUN&JA$j?ZC)1s4U?6|MH9xQ(;5h|6G8IFQa0@5A6=BCa3+O5{OQt_>Ldi6i`W8R|(n+P|4J;60{AV zlKid`v=O0_@~#rJ5kU!g?Lj`Raa$HJTq_TFJ8I2Pz6 zyc}#}niE`J>6OckJ8&Dhb#4UhvaBUfQ*!_*!?tUCUkM?m44PiK(b%9A3N+$!aA~@V zRznfdTK1&S(WEd96*e|IBXZOPgA21S4S0OCWgYr82!!D@Whf5=LUA%g&=4_$AQYHB z^uvy(G88xShXv78hOR?q!f=|({2^sO5T($iISM(bcLhPJi6qBC`85j2tJmbi8;(c7 zN!leOiB~MwLRmMSkS}HAN4&9f_-~`Q7mcmGO#kM9o5&-t!5!=X0|fCztpgY|mBtP6 zqT0ZQH>TQPPks(DNgmYu5UQqAI+`*ZD!Z5|LvRlMTo64Nv zeHo70Z(|oZmgM|{Xf&k4A$rCMJp+S*P|-Y-q7G1sG;|Kiz+$vtz%RL=J|+#Fhcd8? zUfQLGk|5-vRv`6MNh`4oHdV;{6Xip z;bNw^{ocR@)6RJk>_kz_1e4D$(<@@Z+M-_y!QjXkp_l{51AE{Xj)sgTbJ7a&fEC~a z?1~8|6zzd$uzij}c1gkRYz}Pe9h{&w_-0*98qP^wJx`57UGuMsUMMD_&Z9D1C2BFW zd#zV@W3LcOFbuV69Ina2GJA@lf%6mMV;w2LO zTwe(wYp=GOpo*-~FF=&EgRo zM!N^rL)TAswBJCkn_i*wC~TrOuzSU7e*ig zZ;_^jT~U8VXQo9zuz2w>ySp9{t$2-YP%cJh9HYyE_@a4qI%f~ zI1qM{Hxh0$5?%;|5mB<+d6!-h++7aMiLu|9jYe#2<836PHh0ak{I;|(o;;*Q%%xwCh3_b=@gT6nn^m-B%N!LR+yyoP15sC z(nTieQj>JKNqVVCI?N;;YLfObN&A|l{Y}zACTZLx?Pij8F-f~ZIu08P|HWakSUQ%C z1;KkBCdFi!0^?%t7!E2N2c=RdO~;bq`*)at{J+otl@gdB!!TC>^elyM6+k<{Wq?`$ z^i(M^><54q01E)f2fqCQaDYgFO9~9z3ou9yzsClc4)7kpN`TD(djT#0XaPXQFna)Z zfC&I80P_L906>od`n3e;n2TX80Ji`R0&E7T1Xv1C0+0{zSC8?x{$P(mb1`hA1i;^b z`8I9mV5y+znZO!a0~}ZpQb^}vIgpzJc~_`M={zh6-YHNr9+SY@@WO_Zgx^Lt*o10u zHwqEmdN5Kma0z##(C)8RB?m^71bk)!EhTXHuX6e}x`ExOzB{LHqsPJIz~3z3GYKpB zH)V=s@izKVB=xW^>hH?&+vxqf^Y8KBI{zNV>3{3E|NZ$laQe3K|Eu$F?90qieeUCy^`m6@|aE0B@uBF7yBQoElW@ZS=eA z!Mk((HhS--2mj3R+vvY;2i}$Ax6%7&JAmx+t2z94_JQ%;DEyrkyxso2iyr(Pr*9j7 z_xXQ!PTxlF-RA%AIQ@HleSQAlmE*Vb`|sL;zqhadsvY=e`Uj zJ$RQ@^-uQoUHpN6=J;*%_PQRtE5~o6_wU*Pqio+s*HjPwSyzo(@Sm^)f3L6I=l|U~ zecQPID|Wyr(|^Sucvp^P(z%JrIoar6%O;|uiD}wkc?>^-q(BCpClEjoiUbsTMu6gA z2oTP@;Gy>Dm$#^G4*=8_E&;KLSQhvdsaP2J{!A;ObF)<)Q*8|45xJF zU9kX61pkF}ennUmHjVU1`@_kg_8;-yY(EYtp%aZ4=7Zh%7urVx4^v5AM3|9=5c9=2 z=-Wj+`90V0`7CUgP4*$x9WO&RpX$vIngtWWV=8v0?cM-e6V!;)Q2 zjM#WH;%3B7>7V_E9A{TKg?{pWQ*Yt;ngJ>|uhMf%Bcp<%9D5CU7%IIQ^y%{{)Y1#$ zQRMkv7?+ox4Oa|Onc`Jy6xSVh_lz?XkIG7tE2Ofx^lZ5zDKj%JHYjLfTsq&!D=s!Y zJBV!Qo|`g@RMY?8z3gGcY*^***dA0Wg5d@sI{+M?Y$K?fC@orvm;)s0#&X4*`4t2|#=BoA_z)PwdJO zKGcN*w2LX&N`O#+)}S}>4+8yKz^{Zle}L9Nzy}BgXdU+^{uQ9FMfgzX56~I__yC~* zt^RM~n?p3-34+rRzxwa_uJ?f;4vcRp$PQtmKb5e(ALJpk9B^KLP`v#A6%ToLz8ehz z!s~QVy|T}`)i729Bd>ARlQ%v+h2g)v+l%0bz7byFy=l=^a%a=V8!4_pHGqFjGENPZps(>pa zOq?GqlS(ByIhnEPinJ+7v$1ego0T(93h^{?en2MtF^nWdH;kvW@T~Bp+_0SFInoqK z(rl?bDp#7Eo>~x?l$<7oMT#gS=Yk_~4Jbq_(^CRvQlNoht7#LZQ__>?1m-BS71+Je49iyJ$mhtiGu@^6fIA(VD2Z^H-;2y;)#%)|=KA{Ci|Ik^SV+3Csf_h6zFvh?iP@DmO!A|+jp zBoHB0j8mqjN@YkC*tcYPh*S{-f2zb#j`bzWjPmHh4@;LT$TpUS`jmM|*~zcSAp*d> zOo6SXpuQrd3M7lJ=CA4_g2qR=M@@@@9}{4~dAaiO*%{JgMS4zlXi|1crZh+@SIBY- zaM=A&Z8x3~4>$&%8>$JC!oOSxFy+F4FqfDx$Mx(%H~XDjQcYQ3`YiqS~zB z^h_uUNJ#;DOtPdCpDfBUr4ZTK9xx+G%qZoou%rTG>*-|K6j@TXJc%4fz^oh@u-S_& z7iZ5-&z1&e=E$YcKJIngz?`hCbTpW&^a4>){X+&^=%QJpD1v;|h-=Oij#Ep07LBKcsDgt&F|+^WypPCh#J7k-Qk*blxT&?vd}I^}HasEVw4PA-E&Z z3R(oMf;K_BphEzEz)Q#wGKFlRz0gVMEaV7Xgswt2AujX~`Uri6{=y((s4z?@5l#_K z6~+l?3R8q>!c1YVP$A40&KDL5ONHgarNZUH3gJrOYGI|YO1M$DRk&TaQ&=m!E?VPT z<-5gipWi9J>wdTVe)YTO_lMs@zbAgdV=j%U8M|*Rs2TV_uwHNp9)ri>DR>#a8Q+8d zh`+??-2Plwt~+-UH=3KoozK;9S8>1Qe#5PXQ6J_W=g#MC%`^2 z%<;Is+#qfQH-#Q}RCJt>=BitKr?| zX?YJ|q`mo`{2=}W{`dSN{5$*(KGlQe;o#B7W28sAN47_A&sfi8o<}`-UXfl?y;5PM z3%r(ied@K|Ym?UjuOl#GXYaw@!@Wm)^SuS$W4r^s3%!?lf8xE~d!zR@@9({Dcx%1? z^rrc+e8&0&`Gonz`K0;0=R^3c@cG*3n9n7jTRwk)oXiEbg8qUL0x!WhL4;tsAXOj} zED$Uad?NT#uubrTpiyv6a9wau@I(MI@F({zY^UEfKj$$s#~d2tJGK_dMuI#iup!9k z&oulkK040Cop28Bio4-B?t%N@zMvIT@Ts5|GeI-b@Jzf2FU8C8rTB8Z0$+)*#<$}; z@mhQ@tc*kW5&Q&x1HXf7@fN%lZ^PSRt+2WFAa!Suy9?-&8`mEsKZTnH+64XP!Z{i~ z=FsZ^SYxB0Pssl7^S=`KAC~~m0T$q|Kj0;tf#wz?7KJW)YE9`utt{c#LXi!XLg8BB z7UpInZD`a!W*DAkZaLDNLZ_5?Qz`Vy>9A(_CM7I<2n}K~VNyN#8iUg!TtOY$c5ff1-lD z;3M6O`Hd0N?oC{kcfq_vgj;uUOfduAiV2ceS~T6ww#tLxy3;jD_QxRF=&N zOv;sV?QvUF+{4Z)NGY3@lszv!GgHcC0W~PKv@@TQmXxQEa{J+ZQGu16y`g{;2qDJw z)O0w1gSXBdfcHbyG&{%6>M7}2&`VMl9EfLg0t4{=y{y3k^LSjaG4M?9WzEC6JU-6j zdkQ=S)A0loW}~Bw-C5e%M-^lx!G%OJCoo5rnM-;eC6&!f zPnOD|YtAT62oEoz3^ElE#SEjBP*^b06iaFeg@S#zb;tNA6F+sfwY)r};KM<&BXX|Q z4m}hopL6hlyJY$c`-Ag72&4=N+_~NH?MLa0rNdQa2WQ$JI&xHGf2FRtb%3?v z`ienYjy-*$m_O{-rxW@v{JP`|8)t!yF5fp01qRbMGz5x`}t=pWn6l+HLJ- zDd+sGp}M9%sj$IH6c|;pf8pW3RS^6}kV6^UN8b^k!x~C=~ioFyMoXd7QGy zF-@V!6^R3NJ3Pn$6;O6k5LX34ROkuwPbRXOc_o(Dm;)~on z8z;*$P1=q&Xq2f!1qQeS4yn)mhR~U~rI7;~1Ghm`S*RyEtP^wG73F)<2jT;&K!>@# z@m>baVIzX1zKjA_&1V$XR6St*(29#On#JeK3hpnQhHt)~w(I$Ai++11m6*qSCw>*V z)=_iMd4)w#_Twzw)cLsfS-NJh+{!j5WYac5&-M}DeZIXXx8Ca)8@5sE)Lh^{Yse?rO-jPBbL8a#&useTjFo-+NM7UkKfZ8jebzoh_B2b?otv>-fuLD?w20p21%Sjo)LVU)P#s8THZjl~=!UV@)`m ztzYCD70q%uMISrz&rP3v^3(pL0;?HE!xqiEdn0h-ppXAJI5Mz)?d7zcANWuDqs(V_ z&%=Wsrc7;h;N?WbuG>~#Mg4I^|C1AM{+xWVmzpCd-P3^fs8_xVdeQ#afM>C`ifAmu9 z4Oled8Y67!ilrZp`XVoAK-#5^ioB~fGk8P{!Qb~&@{#dtgoh8`<6E73u)c2_vHzzX zv4rS4{p`TM9NPtJ1UOh zjwm+-EseifGChiLxp6tc0-udb@e#&6Eb#uFYg8d0MXvEYImB)Z7Mfh>-d(uVMI&F~ zCZ#92zlJ(mA(xLzP8v0v=bkK;;l7Bu0d!BCk8>+WSB^4mjSRxyv<6e~uB)79V%&lo z)7RTfu`G*EudxYUd#!)P2Ou^E)17d~qQAC&-FI2oL?~FkXy=C`u&~x;vvBYH z^`*mlzcW51%lg-b z*)~tjsys92s~sDgzyIa?=ASu@b6F=pR$Qx&yS~qRKw$o_`MXZK(mCrlKbUx^eE5ep zMQ3|<{2Vtgds2dpI5;5Ndiy<}Ro@A(Sj=U2I2Y_JdVgzr+n=kenT{hLESzEC_xX%l zj>qhZvoLob>y5*gx!wG}ZTcq4w+^e_Mvw1%b9Dmg)43}>~+3OSK=jR zA}~{f4Q9$Ri4(q)^yG%UZlD%+HxPDsPmnfvB$lyB@-%Q16yQm)Ned4CNRLQqN>)yG z3b#M*jL)4V zxg#1bR(Q<*($aZ*V)|G9-yN#?e%YCoRht5)3C~}vxa50P;Zrr?MEH=BrxP|r+4}tP zXnfY(4;Lg?Z}}>*p{lff(yYn*+Yh%~^;vP-{4V1|<{{UB=oiPQs~r~1)p{NXms$Aj z7y3wM6C&XTK|25t@ z%5A~QlYPt`tJ36WJm_|D>*k)HK0o?uLds3=#dr+;ZqJ>=i)iy)DkqzC} z`K%X~17|D@%q9+dD4dif8U;#eB)EwEjg98zyGxM+?8RzJMP3hJA0v+HFw{* z`CqB8oxHg3<1e>7_^4;0b}M)I#`x6SfHfV;qZfDd5sWxfW+oxFet7KAN5|)GSW{Jz zGnM%~n{$Z4-Bq?`LGiP5e#d4wm1SBkY8hnFcZ0%X(n8n0A5YlQuX^S7c#EpMc?<4; z{Xu-`6DODBXS2R)ShxBhTUn%E!~65s(}BX0r>B{F5F7^m{^tC%c->0i>Edx&D^iEIeM{o;o9c>eKuPMDtj#3lzn4q z#)vtqZ~rFUyLXgt);0RI*u%KfU4Sl9-&d&GxsZO?j!m_s9KvD{=?TEWSNtaNXJytnuG_Zl2m8 zZ1~Bsf{mA${{SZR%T6z^hkUE*XWrvUPfji@%?hgh;dLV_|F7C89*!Gq)bO|2D5SO= z@1=ba8sI=lbOXuX9&{5_l=NdNn!uUP|lf`BvUFC^Wge56LAqR&WJ^` z`#Y?EG^#g8-FkNX_v5qgr>=bY+4hScmrXoun|DOKV}I)12`OK>jjQ>)!^Zh7czJ31W53AM^T!ullq`DM@AyjdjLN&=z3X4B9Jjqm^XrE<>{i2 zPwgH|J>xX)n@v9jU#YXYQa^R1SBGw`EZqOIA zm;JSO|M_K~jSU#P&1%fjr3X(x>U0okeAux^cQb>ZhSGEnj5)i%pE~$Nh5Lg>>A92- zOw4HDl!Wuv&IPMB(~f`PIHStt^xo5px}UbdbwnYC*N$W~JRKDdpwEJEqI;!V<%mVD zuS_Yw+x|H^EooG;91dh$ZW3uO-@y0yd;Aj0A=DX%UP9Res!#*4!`x!#qEO1BKQn0* z$X4M(ql-$VI2wqnJ4te#)A@ix7<%Y4km=lz$-C=~(efeZtjjk;X0Oxg1qQ&6=91wj0o_kfukYUA{7=ql`mm>*QTwy? z+1-IX+_o3~`N8})v%vQro{WE)9CQbJ@Y}S|4BA==FCxgVmioIW+@fX8xo_&Y)?bUJ zR=Rn$TU+t%Hf;ZGtmvm585UYr@B)tI*Ob8U%=fdK#*O1n{dU0^X~k{%-ch@xQ?JtZ zY_LxsJZJ}Jh4)TLP+I2tn&p!R7L1!NyVB2n^DT$jd8Izr2Hc#u>|x6Vks4bzwpYK^ z^u!_OW85}=73mx3wc@+?wjb~ z{U^8o@Uy|cRt!5-WM5UpOY~o_$;qv|>os?-P+7IP&x#6l!q&lak4MZd3>drl_Qaa^ z_phnn=(8++w9utFZ<=jWDn0O^_0STvfA5EG_kIieZN6EbT79|2q@mvTg;mc7WtJbE z&^PJfHg-bJ-m?XtPji}i_mAPbXd|jlJy7+Ylx`+>wRkaz{n4Px<-PlaaUY%^dAT(3 zTi;~;%B!4n79*$B-}^H|^&5M=?cB$ge!OY>-o+a+(@))_%t({Ys2@8ulE29_DPqv^ z;$vRxZI7E@I^8$iX~FIlyKPVV552s~t89nE=8%s{=k(aK_u`K0L$ID|EUkXH@4Ydj z{*Y|>(HS?-_uarAJo`iA4h10$T2%KPhO+3dcbF1NgVF4RD@B388RdI(hSBUp?tiWR z{|#0j-9)?|C0=MW>97&V@wxA~5sWvs!l{e=jNZmOZv^5PbY3H)%nH1CnZbQ2UW^x) z;{KImDt#9TjU;86uQ@P(xv`kg%Y2i3gfUN?W{ z{%!Y<&fjtPhlwe_IHuoP^nCbF*H@Mm`lk-%j}D67ym@)EXRf8k{`1?WxPKtUF1^R& zjL95YyKw(J4ZZkeFfztAA2wKNzNkf(U_6^K^NO8)j_A0?mSk0?vCT_-=5qWbJL=3O+jGb z!ss}&Z$4r-x>?Vu`{G{y-E(=DYOkzXx$uXu6(iT|t1AEQ=WiRr&VBkht#Mmo-yjy> z+u`b6c?Yj(1F)G{|d@ed*C^Dw+uWlMEbK%(Z>aLN=Me*F;T^D{9G%nMm znhp`OSIAae8*pP@kiFa2 zHoWX{^Si*2v-;*7nU-F5LfW`v-pRnD_vkm~4z;VOI6Nc!2ikXg#(b6Px;n3}L;EH5 zXp=e)@~zb%Rwp+t1Yns`V#!J$;!zV{iKPmeMc(Shm+;LR#N| z3U$en-m~Q!1Mdnv?S?%#{rNz_IM;9L4h#>8yxa35ak;lGz2AizW$vo=7rdVmm;2lj zg-rP34>qysr_yiV-??fLRywr7dfbunEsU*?LQ7Peti>CjFZ;TEpyuA{3%DQ(JDwXXD0T>wq0^cwZ6M$;F*fnAbmgaudjz-KvmNJeFFqT1wxptYQ!CNG{#uo0orZdNM*IFo zJb|}8YnxZQ*V#J@i%zzF|JlY*&;CA7ImgRxcl5mJF9s|aHh#1Dfc_Hdqleqm*US6W z^WtYG(>%+(TjqV4@2* RHoNhiBL?|$dG!$E{y#qG8YTb$ diff --git a/external/WinDivert-1.0.5-MSVC/x86/bl.txt b/external/WinDivert-1.0.5-MSVC/x86/bl.txt deleted file mode 100644 index a59c5e4..0000000 --- a/external/WinDivert-1.0.5-MSVC/x86/bl.txt +++ /dev/null @@ -1,2 +0,0 @@ -google.com -www.google.com diff --git a/external/WinDivert-1.0.5-MSVC/x86/netdump.exe b/external/WinDivert-1.0.5-MSVC/x86/netdump.exe deleted file mode 100644 index eb633a17c89cc5dcb41433bf9bc1c7feec894235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10240 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 diff --git a/external/WinDivert-1.0.5-MSVC/x86/netfilter.exe b/external/WinDivert-1.0.5-MSVC/x86/netfilter.exe deleted file mode 100644 index 31b1fb8f13cb3d616eabf0472ed35043eb6e8a2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10752 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 K@ci{h;J*Qhl!>kY diff --git a/external/WinDivert-1.0.5-MSVC/x86/passthru.exe b/external/WinDivert-1.0.5-MSVC/x86/passthru.exe deleted file mode 100644 index e938a22eab7511ace6ec65367f698a9030f7b1e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7168 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 diff --git a/external/WinDivert-1.1.1-MINGW/LICENSE b/external/WinDivert-1.1.1-MINGW/LICENSE deleted file mode 100644 index 811aa5e..0000000 --- a/external/WinDivert-1.1.1-MINGW/LICENSE +++ /dev/null @@ -1,787 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - ------------------------------------------------------------------------------- - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. diff --git a/external/WinDivert-1.1.1-MINGW/VERSION b/external/WinDivert-1.1.1-MINGW/VERSION deleted file mode 100644 index 524cb55..0000000 --- a/external/WinDivert-1.1.1-MINGW/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.1.1 diff --git a/external/WinDivert-1.1.1-MINGW/amd64/WdfCoInstaller01009.dll b/external/WinDivert-1.1.1-MINGW/amd64/WdfCoInstaller01009.dll deleted file mode 100644 index 6012ed3ad45e99e9eae925443cf5210df4f21d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69632 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 diff --git a/external/WinDivert-1.1.1-MINGW/amd64/WinDivert.inf b/external/WinDivert-1.1.1-MINGW/amd64/WinDivert.inf deleted file mode 100644 index a877c20..0000000 --- a/external/WinDivert-1.1.1-MINGW/amd64/WinDivert.inf +++ /dev/null @@ -1,9 +0,0 @@ -[Version] -Signature="$WINDOWS NT$" - -[windivert.NT.Wdf] -KmdfService = windivert, windivert_WdfSection - -[windivert_WdfSection] -KmdfLibraryVersion = 1.9 - diff --git a/external/WinDivert-1.1.1-MINGW/amd64/WinDivert.sys b/external/WinDivert-1.1.1-MINGW/amd64/WinDivert.sys deleted file mode 100644 index 07aa6d8ac05c687276c3f01bdc95cf1b72e6c3eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35376 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�Ee6kIfQUc zysIe<;{_{ehA7waco)g`C}FHo+$OE2&RMd(u6(b$*P+5kjym6gE%FOMP^Y8y51n(f z)W#e~iv(=wQc&TOI|&tDOq9EZIaHP)3&-9rXQI5mbO%Y~LnYg5SiK@>RR9PB?N;nr z(sW(I(pO2gS4T(e&G#yN&7}q6A|!B~W^lBK0qMwaQdKe+p*XxHJ7)D|u*WMSF55{r z99xizsh#VlB71`cQnol+eNQ9hG?KNRq3CAQ$dY^dOco;9p_ypxtizm{XfMMsuX3kqleoNYpja0;&{0yl7zp&g`AdrR$Vj#i6Z1+1 zyWmepT#%GbM?EIg(h`kAuCY4eyreXq?dUVBg$Ar(iTTjRkv^ub?I49tnZ#uxXG8?w zm=jjtj__?X7!ui8gJ5p4kP+`fCFC{{+CXA3OUYP?N`{;w?i_QBSS|lfa2ib4JKKc$ z69Hm8I-(Er_F@#GOMjpx(H@SdD4ai2kUvWK;Bpm_Pg?X#gn=|wmpUTJ6+CtYoZUZ= zPgCk^T65knTAOGq87Hvd&+aIu?jUP{m&5f2GBT#HVb1y8Sw4Yj3y;;G0NId8P2McO zmT=a41{h)VS+s_U2{DeQ)Fdb5>R6pBy;LxOh9}6P#Mb9v8rBJskkX%ZE@}pA$_b7n zU24_&^2-b&mZ8exuoLcVHSr?flT{F+*zKONK)ChsXa7;otY=weCO9Lw$~@9AS4)4M zBVzLWXlA1HeiUbpqx>u#d2@Wk-W;<+gCBzsHPJp#o;S>N8L496)r@2_CrkxWQsE(o zf30DTtC;<2<_y`r6l9~O$wrM0b1sfk`h9X`BH~5|5}M*hobQWujUyBpBjFTrp^J2< z9I0_Wj6Ge(MnFv$Aupp`c4NhS;wysNc0MG$645mY%e4dMA(!UE)c?R&PK87vHB0i9*ulx~dPB+~WLo5Ye5HI^NlDFg&Ey4T3pEb=u|-{_#r zG;uxcYHsQ#Ygc_vM!L+d-Omnb~~CmYxSKGOF9>{M71}nRZKOgTYa~UCjAhDB%O-(RUjcT40awY zCv1++Gh!J@Ky-+lu$dcH-z&fZ|L(#tQuf%)R@Ym7XR=Ije*Zop+M4_QpQFmQ6P2zd z?HE7l3w;?+^hLqy3m0;;`bK~VXZhy=7MtQyFv}bW=s_mLSKsKX^TNJfP3!?p8*q5F z^aH}KJVJ!=5QT4s@GhpDL)e=oPWmzES9FWav806T3i?|jNy!#AgSmbHiuzl~d~M5Y zvSo;}p-C66f9xPB{T3x!-{>qUJwtL(90W{g5iE|U{vo!&J*Y*rz#?LXh0+G0`BPBf zq2fd|LyHly>4fNzq;xsyZ&Vi2g9@Fnk1Qf|3?mih0@A~%w9ORhrvDpUmlhGA;ZbV5aZ zZqxfWaZn}k7VZo-1h#}fzB1>nzT{5XG65Qy9ZlrwAw@I03ckZCKn7?u3}p&+Tv5*1KUD7tk6~LyJ_i#sWsq~WN47(8k@E8E$Yq791;pA$JI1V9- z?}aG7pPI>&B9h;9QV6Mja%RB2B+f14HOweyvRaAU)rKf`zQ>-E8N~|I3d^Ce# zks-cb$&9AehL}3#4oDxT64S>-U-kRO+pzv8aFPw@kZD|Vgio(`a+kmzw%%hm{8+}U zW*Y8C`3bnq3?~^d20N*nt7g)jnbE`vLtKwFO?jPJ%j0}dB!tdbCa5uy?9i8@51~Y> zFis4S-PJXSn1*o!C2>=^vK)6Zb7lT)u-o(*1W*(q03Mw;Gmdrj$d-bg+W}O_9K>M` zAp7b5m;>CXe9uN@ZF2hiaa~1-kc>;i+`#Uqn@`46pk{KMiHj0atu&7EX9F+qcWO4M zu{1O0uf~*0^cx!*uzW5cL-Z$+VX5gmh=3nYOO67t6C&_8LE-NP^dFdaUXSKH(IX58 zGY|i+nJOLqhd4RzfsozUn(HR+;hk|0@1-{6;XeK~#MH>u6ch@Z6sJ(p%oP=Lg9u(# zen(Q`ifN`{;R^|KrS~Nz4@rh!Ei^Mn4j)ZY!W!A;TM9Y(HEk)x$kGVB&`cH#@g^39 zM_=qBvBs!4nmLDfc|Lr2kDjP9SzEJ)P3NF*6y-}8)_8?;PQt7?G{c%LGRBhoI9w=+ z2|0$CSq;%yscAWu4-_TtK5PGk`GL{p$2H7;&|nQ#s?1--PB(lM0w;k-&qc4SzF$Zw zit8rG_tM9-6X;X?9v>7D6}LEYONKab;I}CX&WGXT+?7LiYNdpDN3 z!iFct%DJOW$RTC98Rv2EK<@fVtMi>gs?7nAKI?OG%Mg0PoI@bh>bs)@nU3oGcAYS2 zl`&m_6N)^VImS1yM6<;gkr#MP2;JA4X2OUo*~>PDbGZ$9z17S@vhEErKB!xPoT6;H zmm$VaQSx(sTc)nYBvKisx2rJ=m0gZ0yX-ea$qX@4i@QFh9i>l^;*nwFR6&4pHO8iq%((I^I!+e>?>xb0^}58OKR!CK4`sOWF{H1c%uP&MHB+oEat$ zxfC%hbe0#*v}NOmLY#9+oQ22O5;*A6OHKYa&^n_^$?Si|GJTD`$z|_^_zB`{&&eCg zoftI4eIc4Tt!9qsB$Dmo7}{E+64lcYhjZ_!nM3qRv(76D_2bpnTGVSIF61^S@7D-) zE>V(gDrYN!g;F>xCENEZnZq?^FHs#+Q)BW<6V;?WsJE#E8!JO3J5z>H>SR*;J7I1) zI2<1YUbst=3b4h@^b0`%7_OHJimiedMQfPb8pf(&9?;BfV#C5{Hr`STXycSPm2o7r z05>4;sUv5Y0JB07g`5gq=xOm5r<6<(DTK6J?KtBE*1 zTV5XNBH31_Hwz>stVd>c&`r>r-E_nC4}0X#k2Qw2&_vwEVb7>^M(0_XWcOGss{kkD zVju~|i`>W);b0%Z98OnYAEC)UV!Pq1RU5@E*h8mfhuYY?#g`2LPGe%-5#>qivNtWF zHg`Q;V-}OxlTmE2tcW!Z1ks-?1`P}tg|#KwesD(-I^mv|6skimrHKyHMjyDlm!c)x zeCpFM0dixM08)=aLLXHsn zhfWK!bXvHq6IkC5M5FNZ!_xx~VZtqNu~$D$EizS2KzC0VkB9d0ohu34hXw$UCB znuI=)co#fAMA~trGe+hvIb=Qyd9jFG&3P=&Z5o-2`75>-S!eTB8-U}Ej+o`NE;Z)i z9C3}zQGZoxev<=WOA2!-DFL^arBZKht;?}75(nauctY`XBTO8@>pV&()dXP$ z0AdMzw18Bb#CY2REw`bpASMGbDTuWLF+a;2`iH$GOK!4)V~;@(yDre_GW6ySx`{Tn zX|Ov0PXHb%9&f_B7fXKo2%-5Mf>*L_gura%a-L>#Tc~74ip?KzP{V}gwj8@71?FiS zl*Bxlg&H9?k3mLn?xu^gQ5*~^WVX8DX+@}2BC;vj9_wCX_UKY)?h1IWBsQN$3lr;X z?hE`(tk@iYlnBK93EL%_GFLS9b=O}Nm=SrvY6w}7sY}+I19b8BGy_4e10Hrg2670z z%u~3Gr+I7>CTDX#;p{=If}pmBi-rb|sdZ=<=mTcyCD+Nsw*JxFys%6j!3Ncku1srK)#z21uw}W5~yLb zq-JityJXQwwgy>Jqp5e6=m()DP06V0#jHh4L*%t26m>g_L4Ykyd_)+9Jq)p?MVye7 z9z@wZ6kj~a-vHP|@)lu>P;Vkh!Z|GU{1qI@MTb#iVYuGKWE{5M#l-42>s|c5t+%9f zELkNi(+k<7@=%mnB)N0*o!DNvd0c0dFvMIfH|Wy#wvM^+<`%Ym{xFUy1=l5sNVW7hvK(}2EwZfegyucSvdUr(cxbzHL-2<6Imk5`JhF>w z=AoK7PlCYYBtzoA8s?-)0BOUe^HFvZ;UC;#ya%C|Qs%Q5I$kvR94~!VtC_bbBFc@d?GQ%}@<2Y{+Ve3AA=L^yECXk$A?x%fMoL^+^3f0iOF^E*L) zHuk9R;1*y%je~olQ;;t?`I3?^FNB5i(?hBwbl*8k-mJFt<+JZpTYB=@x2r83`RuZ4 ziw~cDtJ>niXP0At*U2Q?6TTB#I}*3y`S@5Joj2-~G( z2Vk|Qd8n9;5>KhcdlWzMfxzZ+f>X)A9|29;OWu8`TEhf>X{uxbAuu&_lYVfGX7188 zw}dnf1koQrD9cr0g6b<`IKr-VW$vfB zvEzR6w2;k;NmdLi8|H|NGs(Cj<4!W3$iR_Mg?S_6gH2f+rf=-DAX?wpVO~G>2KrO* zrEhed-&x<-YJN+7BYZ}3Y%7$VzFX*iT4))L+#Qv3yVDj0at)RN`2GbgB8yz#*m-WY zzOn244*JH>`4Y%wK@wW;qt(&kjoh!uIar*LyN8@OEn0L09G|2k&Pj^7?SFfX?W9T@ z2P){ApAa3z`>7w1SR!LmN8rK`ml7n9j-Vm2Wlzq0(^(kumL-;~g4`$2G&z$azJ%p3 z#Y-$p*AAwrPw^bWvj@)>JZJEHj|U$|M>e4ZLLt;kBo+%D9mNhpu^0*RjkSFreQq#0#?H~ zbVI_u&wv*wc91wU?lZlfKtI8+!3z<+PD+a32U}`{pmV3*uW{1#C#OgEau%txQs~WL!+H$8=ckGL-`GA z{S_xf$?~1lOl_^CBLx~DV66e6{9j028uzh{AEl-EPhIqol2TM&B*CX)5?r0ZfRr{U zuV@UTOfc524WzaaG*H=q%EtUNpw*Fe?SZ5T-%`5h5d~4?eo+O4l*CW$D)CdfD(Iq` zLX^SAO}fZTAgUB7YZ!Nqo<>sZf@hSohS9is5n_HQs=Y`Zf+ZSPShWOKyq;U5AoW*B zy@}Lwj9KeQZ3C%o%wMlAG7$>uqDGQP^fO^n8w%ZJl=(}tOWX6yjvq2usutC;6O>FQ zs2`aiH`;p0Hb?CI(0a4bZjRXbL7lj1j-D|;a0!V_S-}bZJU@0MUT}U?u8l+z4IoS= z$PaUY7>UXig7e|XD4jKi7Wrq{=^^K#X5(e&r@?BS&CL(yf=o-(G;#A&V>dqgvH4J40mpMqwf~9B14FIis@0-_4KRn!`P($D!VE zbjXH?h4*6w7M{^}8>-N%5$uybfN zMPtYj`TZ0$G6Xs-70yCkJ3vkeMT@~iDuuPx#5}VG8#dbJqBZ%k zQgR>7JT!HjK-eSiKybYXta&5Qa1&tegfT}bupz1u1Yr_y3-V#3$$Z((lC>-CVp|o~t}45{!Y)71E+1x>54FqJVrqqAmsJu^!aSqe9R5A+Z*pxW&gYz2ENjjxY)8(W(rFJ;u z16v#A#n8^QD8~7|QY6v2OSUOR`YR3e3XP~v6LOeDj4=%p&8u;r$<;JS!wNmoR2%q{{gh^E*j*`Jvh9?5hk*a6C7+!{wIa6z{osQBs*}!9(+ig$ zUbLu=Y(e@fL*OPj=7)0yClo}w7T5-sE~O1Eu!XX|!aZ`E=33T*_YUsE?IFHElRto< zah{yO8*n#DHW_TaNYCTB!ft193=E?h@HFP1w=9PXpu(boeaC|y#QL*ckU39EY$v29 zQfMGwjrsN5uAILBH$0QKBmLoltPmB4ql25zwsf|JLM_jHgpWa=^mA~av8=RCc-~W)S8O)dW@Z}0V zeVtErd^&+oBW-2A-&{U@pHDaQ>3JTmn&X|MvPV*MrKDd3veZxuCwibKwkf+5D|$|!7w_;B_9l#+_T zzhQhDLB->bO?sfc10^M3RO1W5{~1ptFcLids4y0f|L7N?`vlKu@HC#~Edqax&*377 z2CzR+fS(rl2l&SQ38y_hB8LdrGZoACSWqXQYMu^Tz}H{P%^u${;Cgxt_U-oc{#-wr ziemZ5Vt+&dzX3tsbNw%+PxyN=9td4x*~w=U&j(w;*MFTnn#+ru2Yb0RZ@0;3K2^xF zqDbK6^VP}hx?`Q@t1EW4j!Y~|9DgKO`fIy)e;WEu`)-2hm2Vv0_(5WalJdUFH9>E= zC3JrO*z`}gtV!*=n0}-6FC&V5x~IsF_Wbzjh^r&EYX4~8^@!J6Kl<(04z?Mf-riB) zyI;wv#n0RCq*#L)R3@ZEc0nojL@n~Osce*{qwJ4%lAq14&{Wi@u`Xv}eUMf1dYK_=h&bHKG|U8(t3Q^YBTre&xspXc-YPxYZW$Irw6AJ+$t&c8hTRWbwf6etn-3-_B zwd48tUPM1$gyZMQ<7xePQI4O7@5S`v?>T-R{y*!-i*fuse1ESG&(mdl>-PNlYpxG3 zqRW40kN8`f3Ll0t{pF`AAhgQ{}ukl zvsYhpj-M~@=Kki3a{N4eFQy-V&++r{|5-m?jN@GG%qc0^c++r>Zb}|h#XdheUKQUk zbmhf4Ra+G+fBmHQ>ysBgCNYDQ0g0&@v$VOofEmeoI&E%ZMpm9KIWseHoJtjwm^>r3 zUufdEj4b?00$}jNd{fa!AQn(!WCSGd<4pOa;z@9#d_o;5pJ1;XfvcEuMcy^oF-IVA zq$H_Mlmul-uv?CxjVskg=R&nXpEl^z2K8-%eX9k2&XixO8|9baLir((>^Itn$Ky=7 zj&{sx6XZd4OzlW@Oz1#$3~f(!6ttrJ8d_cPsrRn-%E3?nskxs36yWs*hfw^^VtaS0 zy{-k-KGlnApCF;yhk8=&m$kXlx*oLHHV?D`CczDDu2lQce4C#u`0xTB67bPNK@_)xAnE=kS^pm1Yy!J&6kS&>)NE;4M;P5~{;93S8tlT}oqdRy6ufW|V z*SES&4>ziHXn(4;pf}YVJI7O86Hi{iCjma--Rzaq#@~f%l`w>A6*`z|B?zM=)gC$S zNn9Ti92YnWDaT+kGUUnE|9<}Ol)(SPlNVh1UBJ7z%{?|rdMfRV)ygU}X0e)&dlJ#O z;MvrkqR8KJ#~X zd@AMB`iWe94xiegVzcc6xpsLjmwNGVnu0qG+=n^J(?7k?z=M^Qf@UxxH{8~hO=@{LIQ;^uKY z@&l2kVO<hn}Fn1NPY2J9QWX>v_pEG&)-BE)`x>p zAT{v$rAY5!k)H>ABhqET6txTa6-dP)6txw3ccdb`2C|ssk@gyh7x<75MLK2>#({hy z(qaX8M7|E`Z9IO+!T3GXh&<&DNn1;iq|ElOdpl6&DW;J=VWAQvQws0lok;2S{;w`0cfbRGISZq znHjHYxyntbQ>M(!&&Yiqj(>|{XGG>_WTwWZW)98H9g&?Cmpo0IN|>h_1?p_V6`H8s z;0S<^E4cB%}0(p2cu ztQ$pb1gAE+6K?A;?#TRUQR&*0>Ctm2DodB0H$68iGf+DRJdJV~t;>wc&M6p^m63v9 z>W|muf(SWvjY!SNBO@N6)kWr~frus}Pshr_m2Fd|&PoQiP0cF&T0EvES4VvyAbm$` zb!0}L(f$(GpVy5hfF}H(vF*dOI)aj;O^r~g;{)Sgj)y&>hR)9UGiR{utx3y_=&WfO zSpe0@3z!K{_f<~K z&eh3r|4ulF!g)G7UpE@~$PpVDirIQ~7MVWG*6ifmRApX4R*IaGv6wh&D(JCJ8(9#e zEkGZ4wuQ&VGE!oP1+tl)ojW~Vn`Oh4$imx=Cn|f!j0`YEmD%;fI63X%)D*4L*;bog zG|60~C=5XxIV*|rkDzzNWBcqA5~z6GUgzR&Jd2vf-;ry9Ig7n- zhvi~n_JxJ%)l$pC4VXY=PYu(V;DpQ@Hsf__^4Q3NAmcIMi5@P_a?M#iJRTO;yIFP z0iL-TPlbHQjN9wQpZh*7eTwQ0U40tI)3acEOHu{C1y~v6y)7H3PqY_j1mMCc1Fb|4 z^4Rwu?DfkMw(#rJ8s!HjakJrf8)~&@vQE(3^zt!^9^y=}eb5<9w zUb=e4>WbALuimt}YIXhU^Q*6{Hmz=0-ME^nbgq`*D zy&MsQF77WBh$|+@$IC&y?{%vhxDp)cK=5tP=wFL>Y|2@9=dOrb^i45 zgWq&>yI+4W{G|mS)xICFvHZrm>+8F>nwR`w#mpAFuEnj6`Ek;tA3Z!6zL|G>$fcW_!oY9j!H&*QdItw5fk50%E|Yh*mF0qkt@0UgA{0>aA(+DU9mQete)7%l>3u%3vnlT$FW> zoaT5Dgsi><1j|Fi0)p(-1M5drR78nf{u;xj@#uS(_B%%wJ5K69W!>lx zS{ZM&Tjrw5`gMk7{9L)|VTQ3wo||{}uunFIw`lD7`M)-`t$p3{^4rwEkGscit`A!0 zoY?c#-><#eew^lGt)IC-F}3U4SqBgHe?{NP`E})uZ!U}*(tfsjQO{P6lh=j4(%E~> zs5bif+vLUKHCXWszv4Yl+zYFF{8is9@%dL)ywo=CDUSc!*ATacEFF2 z!}n)d7Y>XcBk?^h9@6WNPu_m}!k**;w~2=|3upa!B`T)#TetT1imLhGeEQbc6(etz zhV5vvzsud!@eRJg*(1iS-dMI)_;t??$6~I2lXAATA$a1Z$?s11c$I&gXX{&UUrLUM z9@YMY_gJ@O!+!sC^CQB zYj3sI?NTo6dD&UBc-i7N0^Xmk>X?4+W8Lgao)d$au}sMB3n_K#RRi|#zY*eg>du;% z?lF5VY#GNyd@KIw)y|t`8v_sK?B6p&-_7|qx80wNeAoG^mw)d1W869}7L0?W;^po{ z`PpSBlvDCnq|}uxjlWnjPKEM3+j7DJpC;GJd)mra;2rois>=&t*ZAx_oGm#E%`Wu* zO|Zg+y`I1(XCwzc1=>fKmlu$d955|7Fa;rkfrPn^;=b|_c~C{4iU9lG#31}dZp?4^}Ef?Y=qweZi4V>5dn-1#g}4)xF-` zQbK-Er_S)WUOUb6fy3IqnR5-T4wyH8x7qxS^uSEXvA1-Ww1IoIcWam-&V zU9)5 zKQAtu)G%o4sMQ4_y#im`aaropa;D{#HWN>nK9rB^ZBP%{abm%tuLgHcPl;c-J43f& zfBS(8mR+gc)$Y7FUta7G0W;NwGgGd~(%7x6`_=tv1GS*JfoLgj0cpb{aUGYOmkvik z2T#I_wczkaoJMO?XJluk26d3PBVevAePc6HaTNT7)}CD+I<3;R-KHrS>lB~w+rD{8{ff1pC|@3M`ttH~ z125^q)($@!+qL+?@DJm?!*2beo-y-{`6=5zT{oq6ZAs(EsiXEZ?!S2{Y}xmYKRUnR zzRzDd=C>mg48HScn)-efo9i-Y&w#MFiL--VGHy92i(dKBh8dL41o8GSTUtiBu23pF zkI*JBDpJO+D@Zha+h+K*Bhz3&u+msJW|%3h6qDgJz+@#(| zl{>TCMukjKOw+ng6Z*=;3Q+mpk zcf3E%uJHc(!Uv}=b|1Lqhp`V&o+*;d+#NZ0o#FDav%BA_{PfP7E#{dv1oilMQd*93 z)$jR-&TeTN-m|{cA&%Mb#^HT$9+~;!s#gCRw%@j5(y{BgB^6Q#}KRO(f z-aMZE-lFm5K;=(g+{X;)1Q*S=;;Wx!& zv(wl6Tzfg;vGvBS+c%cwbWSSzzH6824~|OIoBOUGUpt`oLaXIo@?ys?VL~f;FV87& zgZ`V~Uq{|QwxDE&s_M(9jcDF~)yMRr`pM+ag5Bs82`O2*$6=j&$SVkVPtp^UUaiCX>@)ZZG_s{z*@9{Ksm zwA*Pb9>2Tk>|3QV`@Lt^MQ_=Y_T%u>b-g3EzaF?DY4eyR)-$8U$8S)PgXTXzH{sVo zqti|wnSVBJ;e+-^Rye*=@ndY8n%`DLZaQeZ{>IhK=hxqSu<)(pJGuz#{UZPU$%Ua8 ztKBZvjPKR&cgqL4v5I%QKJps({o;3`FP$)aGPe8PuZ;J`>s7n@Y`xfdi(zfmkuMVm zCNBQ&2kF*tUhClfeZQ0)R=s)Tcv8j$_q*!JEeaN#DO{VT-8S^7#cNfEBfki* zSDJ$Awv@^y{iZJekm>E7)h4UJIdRb{acW>@=TBa}lWy=Snr?pecyQK7{X5JpeRqg* z$VRupix=-b@eA)DibAks_i1JZ-=ReoU+3vNHjnReba~*N1KLxmuiKf?sD#OSlIlu1=o>;7@j(kiR2livZHvaJV_o{(YvDOLjNbGG^E-7*(W_Y zASDk6vY?=3)?EGxKJ>5Qiv{}#F{!v%uoJ4V9nTg=m!yTXVBsH`A_0nP+w| z;dUuPrRfOm<{=lw2AxTulKfd5c{QAbk4bQw1fla#%D_YZ@Qeh`Nsv1Q|FmrIoCG>a zUJ6(nR#GB=WIhd#4L6|@NA+R9<5?VBpqy|);78*-6I_x&@HCX;K!yAnBjH<#8WLXD zvH^b*+?L``^9c7T_?Dty23iP@Ts|35ED|awHKe~SC{HjFT7(7}TP{XGzPa&|usz|0 zzz_&28)lcXtlG9U;FsC()J_4Muy=YLf8!8cmuIaht-adJnLQ}0dl{&;=v zJ%^}Q?;e}AXd{ ztpCDu|qrd$E1s`fI+^W|xFr?szq3$=#c0A`H}$A+6iLC!W&v^w{1X zuNyrus^7BDU&}kW^W?Cog((38$#s?0%y=~r?OR#(G#qPD9 z-@SzUPX1UvJl%b)agBKX{Mac^?_U4kde~&!3X%s0+4d>;`~6Tv^F1ffc&-V+b&yfn7pCO%p)VF%~K9p|9#B%*Y>Qc z`8aGzMxOyP^X!+s52lHu_Ih+HHYnQM?S11X%};Y3+E!W1Tt;^5e|x~%N1Zdv4h?@P z`R+!q$=SP37X0gFzoZ{;_4q>6bM5gv`Zgmo9P<2Ke(UV@X6K5fZQ5#r?w;;-z9j0i zfhpD%m!zj$dL`7{_~RA*PhM-hXa0Kb>#N?cp1m@5!ton|iRs#jHABXa4*8^S@`%ny ziVpW%<9)>O+=-WB{pRmjw!`~`qTBhE{Ytm^t{?Vh$#kckyUuR;wky@bK&9987dC56#`O|I3)v?^P4s&Qqjy3+ba8vwr)?9xueXM#9oS;>Zrt+DDywdMap=4GaT`=iOv{eXVJPy)fv|*j^!>&o&CSsg5t+dbsS=53Roc>Hf9BS6!-C z6+}fX7?bGm?>D^;^!Auu{r-(PKc1R>uIl2-6$`%9EbFyu_u8`0zxk|IbLyRci4JU> z@{&pt(%<*{Bi24+Pq$h-am=(;m4`2dX1eDM|Khc^+qRhd3g_h9q+UJpd(6nr{dW44 z99r_mH(X+xoND(!LjMdU88#tiRZRy zy6|%m1-aWbixDw<0_+y#2{-0R*;n4>Nk?%Iu6a^20`CR=c=YGSfMsV+y=@s(ym_OG z{l<;kGC0(fr}_7NK?C;{x^9%c8UJ4EM`d@ePgD)KuXFrDb?w^z{k^74c;EMp;=L0$ zl~b87$}8`+K-M-rprG~5!pW0{T`d}P=Pg*VN!WfYwI*T7XO*2_-FvuIjOFV1#woP}WuLtL zo>*Pg>f3G8S_X9=<0SnvCTdez;iueyKX=bSP`9J^rBHT5qOzqXDzdNF?8U`F)q zNaojT+dYn~Hk}<2KC^4p_BOkb{`N&xIyHBSNf1fYa4BORkvH<+Q4`$LeCCo4i=)^hA1&LB)bbY%lkS-sJvwU%&{x z{&WLmry-N%eoq(^1-Ug9oCHt@+hw+kLy&}=<>3K^$U{Q=^+nY4X?56{xGQbIH<_~8 zmI|5sqkU(lbp5vc8R{^=l2G^I-N>~8d){+wHE*-=w`EHl*JduB+_-H`pM&!x<<}FF zx5g)0g^b6iw~lYlD0%SN&sA3>yAQQfw%hRfczRb(?&6!D$%dZpd2wIs-tN01_f+lp z;rpyA==#emP1bmM>(Ykv&9BvTA;RDW>p{B>dV50(Y3 zF1+4h_1e1wocHV*DK6Z4&F$Ykm%4u8@Hk>}UhB4&js^Xhe_cB_XH4JX^4SsZeEU}9 mLg$BV($?23>EH4A)bXMHJ`8IZ`|XZc=Sf?(tm=vw_x}Nz)9ii# diff --git a/external/WinDivert-1.1.1-MINGW/x86/WdfCoInstaller01009.dll b/external/WinDivert-1.1.1-MINGW/x86/WdfCoInstaller01009.dll deleted file mode 100644 index 068538ab460539b9ed85d1ad243a94bf68271fb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65024 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

Y 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 d9&cN0d5ZPJWm#HDtpj}qhyT&C>M0Q8{$KW%Moj - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - - This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - - 0. Additional Definitions. - - As used herein, "this License" refers to version 3 of the GNU Lesser -General Public License, and the "GNU GPL" refers to version 3 of the GNU -General Public License. - - "The Library" refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - - An "Application" is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - - A "Combined Work" is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the "Linked -Version". - - The "Minimal Corresponding Source" for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - - The "Corresponding Application Code" for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - - 1. Exception to Section 3 of the GNU GPL. - - You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - - 2. Conveying Modified Versions. - - If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - - a) under this License, provided that you make a good faith effort to - ensure that, in the event an Application does not supply the - function or data, the facility still operates, and performs - whatever part of its purpose remains meaningful, or - - b) under the GNU GPL, with none of the additional permissions of - this License applicable to that copy. - - 3. Object Code Incorporating Material from Library Header Files. - - The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - - a) Give prominent notice with each copy of the object code that the - Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the object code with a copy of the GNU GPL and this license - document. - - 4. Combined Works. - - You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - - a) Give prominent notice with each copy of the Combined Work that - the Library is used in it and that the Library and its use are - covered by this License. - - b) Accompany the Combined Work with a copy of the GNU GPL and this license - document. - - c) For a Combined Work that displays copyright notices during - execution, include the copyright notice for the Library among - these notices, as well as a reference directing the user to the - copies of the GNU GPL and this license document. - - d) Do one of the following: - - 0) Convey the Minimal Corresponding Source under the terms of this - License, and the Corresponding Application Code in a form - suitable for, and under terms that permit, the user to - recombine or relink the Application with a modified version of - the Linked Version to produce a modified Combined Work, in the - manner specified by section 6 of the GNU GPL for conveying - Corresponding Source. - - 1) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (a) uses at run time - a copy of the Library already present on the user's computer - system, and (b) will operate properly with a modified version - of the Library that is interface-compatible with the Linked - Version. - - e) Provide Installation Information, but only if you would otherwise - be required to provide such information under section 6 of the - GNU GPL, and only to the extent that such information is - necessary to install and execute a modified version of the - Combined Work produced by recombining or relinking the - Application with a modified version of the Linked Version. (If - you use option 4d0, the Installation Information must accompany - the Minimal Corresponding Source and Corresponding Application - Code. If you use option 4d1, you must provide the Installation - Information in the manner specified by section 6 of the GNU GPL - for conveying Corresponding Source.) - - 5. Combined Libraries. - - You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - - a) Accompany the combined library with a copy of the same work based - on the Library, uncombined with any other library facilities, - conveyed under the terms of this License. - - b) Give prominent notice with the combined library that part of it - is a work based on the Library, and explaining where to find the - accompanying uncombined form of the same work. - - 6. Revised Versions of the GNU Lesser General Public License. - - The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - - Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License "or any later version" -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - - If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. - ------------------------------------------------------------------------------- - - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. diff --git a/external/WinDivert-1.1.1-MSVC/VERSION b/external/WinDivert-1.1.1-MSVC/VERSION deleted file mode 100644 index 524cb55..0000000 --- a/external/WinDivert-1.1.1-MSVC/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.1.1 diff --git a/external/WinDivert-1.1.1-MSVC/amd64/WdfCoInstaller01009.dll b/external/WinDivert-1.1.1-MSVC/amd64/WdfCoInstaller01009.dll deleted file mode 100644 index 6012ed3ad45e99e9eae925443cf5210df4f21d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69632 zcmeFaePC3@)jz%=SqLv-qq2%1u;8N607ipKT+l3R@UCtk@~)x;fe6Y=n(P89Xkrp% zy{xrXTie=}KD958^=YlO6{6Mf9^^#?K`g#dwC#2Rz<$)95J_Y{9J9FFe&8oN7Q=)A4} zs*KRK{u5@;srFP>Ex5C4`aI8!>GS6=2z&0B<*ACy_sp5^35*@@nYUo(tRXo$UAz|P zrtpr1_3l>&s^8eW{DBR)kIlPgpf2iP9q1AFg9mkX>SA;$nu*AAT>jw7h)A!}dw2xYFg?jZj1 z8dn`18RFN;8~!{BqJWs6^y&?|7Ndfc#gFW3UnK73qwZrrf%=VQTj%Ic( z&u|Q4IjEPz=!vo>Lx6hj9Ealq+_w7%<1HtnPw+D&JZo_n&q9ashq!U>7V5YXKOSH+ zWajknble%FRxak+5#^WoP5LQzIGTo3%7y}W%t5s4fHLU^?TUv~RaebGotP`;EZSwa z)o#|@1!&llk3a)K?(VJHjZ6an|6jI)0;97e4JTP;H>bS+mv#SFt9;Wc*IMNZR{6A5 z7Fgv9t6XfAv#nC0QeeSX_cabVUY6C)$dvbQT4keEK5dncSmpgzInyf3tnwBS zWvl$TRX%2wHC9<^mE~4B#wxG1$~>#=WtH8nvV&EAWYP54R{5b-9|d2(v7abgMT=8_->f?PF0!BVs-Q=PFi1PB zQa$ZhQ?sn5wg$R8b6L%@2Wxsboh2nD4Gj%W^eLz*tEq8hJMu0bRyMiD(aCXjK|xvB za`g4&)hx#&7=ZHf*|TS7XLnj$S-GgPGCSLW_Sue3D8C;`oaphXFu22oRjr<{{&KMpmejz#9+9 z*JE758V^_#am5kkNRoi6eHosOb(G=hI6w|2TB+y6avXY25Kl|R^AcQ7M4x25M~iXB z0JpZVv*(vQk5QPB#5aI3f@01bD;e%2LAfBH`Y|f!f8suznZi4j?x*Ty_Zua~8ztb3 zciaeU%1}ej>)aoQ0jb= zLenV;)5|outrM(XbTPSUK0R3p==fILz15aA*>B72>7f&LNO4QB){n(Cm z^aW<%njS$iBzgzQww)vXyW=Ipr$15wIwWJ9KIUZLRAG%;Cgw65Tvz~(vF~Ux%UPHw z`&C-cCDtCyXaWB7Bs`iyZOli(l&w8NB1fZLMFO()D82!YXO7?;`60P7!!a8pR^eAt zj~*AtxC3n~@E?6J4|-MOFMX=Hj(bkpHx*O%u0lV;u(@z*d{Ze%?=FIoiS>M3(}SA@ zS)%tO@#f5Dqb`|#q?}z(Es#nRTW^yOQeNkXF_LAMye0OOF;Yl+qhm1cJk&@SC1{~$ zc_(Vaq8+_D59lUW2dP(q`}tN+bx-fl_Gj5Xc^r>pF#6b(lk4SV z-5LXq&US6{k{Atv_Mn8TpJe=I0QM}5K*~vqP;1P?s9dpJudPS4=a47nP7E$VyS8Y- zF~^A!W?ERJa*C2PO320x$K44WB)+LFJ&s$&Xt$+lCkLS0{5?@0TQVsz5zLj+$~nuw zV;YO4P$jg`piYi2C6bsctvMZS$TOu$q>QAme6DyUZ*9##d7Y3Jq#bvfl?hvA z@A;_tX}LIR1@NV{Q#;z^HGeweDGG!D?GA8_Yx^E}7v!MYOOrY_7IOaSHikRp#lTBS z2W>^FPUgC6&sc1CI{3GrUQ#dL2%jY&G`sX1>^Yv8qF)ama*L~)C21LkPt2NG@NDcg zsdUweM?XD!P$uR=^GQ2I>7}%^hw|xMCT8TJ@+hjI6-mQzD~)tI^s#O8e80Y2Aod2XJ zq0dcQArdCN#rar0t*wvJ?vzv8ucP(hUWVSBv`qHQ$z$8LcftOR+WJ3blN2wMHKNSX z3z66=Udec-EqST*BA=yhY(2}=8pTz)j+BN_QB+c8p5Qpw_Z`52?Wu>Pl{j6{U3Xe*m^Vv{I|uR z|17js`yKk>+_!sh8clvw;_qPLj}Jk+#lT(G`cMu*-_)ABAv206oRQprlb)omz55{* z)Xs`Br}nSOySijqQ1Z!s($-8Db1OyMVhUn=jIc~V)FXLpdwi+Ksl!q+u=i-xEwWWQ z-{t9p^3=H=Xqo3>M)bDS>P()2+S3phIsf*Ke{#9AX{1I_>!r2qDLQa``YrSh>5nJt z`|+Y)`TEqXRoFMNEvX?fPi`L+I^a&UP@Ge1Cl!)Y9jUgBEvXBKB>hbtt-a&fR+OU-PLrt98MS@$ zv&WM*awcY54PK{P?^DmPedEz9xdSwn@f&GrXwQW5^T+M2@`W88EaBzvRnOkG?Tc?T{WT7@3H;+bn44k*U9N@uad7n|MYpE zOny$64qr!hPKTfEk&m|KWAks3#RVk=ws%VTkdX~31J$rfv~sjjHr;7Ur&>NDt@d=t zC4Z#uOSgG;B#-=0jSovmGNPj(5qFNMPPmhIp7a~Jua&s8W#PDLi7(IWITwz}_>J^| z8EZO`{gmrhSwoIMf5wg#6B;A4(l_RL&q(+R>F3$BBgzMqK8LiYyjB!EIRrsU@n;F!i4)He_>}rv`k1M6lo+(8Vteg6rNrJf+k4>&sGo!p?fBMs!EMRs z)5)t)91CI`(oD+eiTn(SkCgBTWHXGYjEqGo3fevoDShI66Vh)g{0BydiM5KPO9@Z) zab%QwrsFnHT5&|lqr#v27eBluo|gwis~Motso|vJV6Ru@XRC4AM;}EEsf%oSDoG^G zxXY-Vtd4+G-#Cap5oagE0%+f^sh86W79AJd^m5 zM>0xAZm9XT&pwrj^)wi}4(bgxGmda)0+QrV`{1R{j}nyZDJk3taWuwL)|z@!o<+(? zfusk|;kj<*{y5#XPZo6WIIa-hA9s0_7h;~wHI6`vl27(&M`|mseo0emee#xgwr{@D z9?J7PdCEo!oGx}Bv}H=CjX@lY`A!~aG>#&Dk7RnZZ@e$7CFV>pj?tCR~Fh z*ljYepbS1&5NGLQ#F}H<wx`9K5M0hl+h<;CGEMZ-Ja4cw6Wx7+p&WX z;Lxhig*G79c$d0Al6Xvo-s0H~p;Y6y0#sp)nUHCD8GkNCJ#8|j%ci=Fl*qHtMQFjj zqKui?k~0`oxEz|T2vDS?QO?x$6i`iFv%U~5X*YPzq<;SQ@S6lWNX&;oUovXUpQ+%h zJRhUC#0ZSKml#r4s9)BM0v+U;C+S7oOWjL(m8b8t6{OWYA_gk?BDGLkyk{M`Hb-!U zUI?J2eL9E@0`O5^G1lT^(iwUDi2&b%g(^lslgzy8W>KYU6m z`I2gh+uy%^I==nzQaPP`#;H62b?Q!UkUl(DI;GXNr0JH1c7wS=%tjmsPkB7_?HJ&bH$66L z&E+HG>*Vfi4s6&x@FT`UGsq~QfACuJDVfj=i_OBHkRmp6N0_;|1BCjX)YAEVBbNTd|#1*6S zvQAzVq8)e84o6PXe1;1yr+U=%-WaL57Hy?xDEEl=i5TfDe{4GQ=}d86W(w35~-wn{L}EXLinwy|UHW0cDZam8UqVZ52#H zo!<_59S^NR-AVs%DpqH56rXFA`j7U0E;J-p$5c_;=fFz8Qug>GPoY!Kml>_N2WS2E zI^r4}huS+~Z)DbkY(r}1p(WpJxEWTDwobm8H4V0jZ-~gZOG+%Amb`;Go$*sOy40ak zZ~pJ%FEw-WEF_f~4ONs0f(Q1S2(2+seXgQUZAoqNJSDYk`_8q`Gu>2Z>_MHB94kxK zha9C+SZNRJy^MiM9eNphG3G$+$4DWw>DY$*uFHf^BQY2#;+E8UjK2&7Uz5+n3gJmi zMGJal(^H~PZP^ie1I#LxawaLDJfimCM~nslhidCD@7o{$n~t$LI-_;=?w;>c&>GMm z;3`w^aBvjj#!_O+(N1T)xfqR9n1}!5j8)DnHG+aqelA2SJHKAdP@bFH&u0nSMO~EY zBUA!sJ7%6Lf343s)X6sAT%azWjx|o0>O7QQKBa*z(D?0i&G z%K_h3wn{!f;I2LuXO5^mcsYjc4@zHvyMNAxbQ^*z^`rKqG6S9QBpLsfyA@(u0qUr? zmsM|C{ueE3qvOEE006XqhZ)iU;Ja^xXzRhE#j0)5yb+;1qrF zQP3&l6Q$~}c&PYyqVTashUZ%pYR3 zh_XX%m+A+waq?3s*C7EXwIwlcOT*halBrfmN|Tbh@#tG>t%`J9+dqCXcCA;-49qos z{~*_d!jZgDTuqSaH0GZ=eky%r{7zC?>73*}sy*)4o$sl~v!#wRRkO9@DX9>GSRE6E z&LMAkm+Vu}M&1c}(n`|fwDE5ryfY&!_lUBPL*d}YxuOk!xnepg}5jURmN-0d` zhV&1V&S%7HKK`R_QP!jyy=Pz@69PFh1aN4f(|?lniQ2buHPYfL_$oe^`lbglqjjOy z;QF%nA+6ysN>A))J*iveIk#MIMZ$)8FyC&ZoJkuDfObmsk#En@=%*hoU9dZ8i8zNwG7^?bXM)7-@C7_{cm9=|eD6pW{j2iGC9!SFEA$b7Jfy z7H4LB8Cf~qvB?vzbjBsQ&y{~ArwXh)dSuD<)I`*6Tz%q*gx9!*#b(8GJ)y`9HW)Z0O^K1{4{v5UNi6UL6 zj}PZ&kCeW$=&8$dH?FX1%;@Xw3e*VGtT;KpxxiR9Pd!J0j;WDjMcuDM-}Ln+Ws82Z zl<0xrtdeUx?&y(XgQ#-r{U9F^BN+`yj@Byt$n#RrNxj98%JGSy8o7I?hz5_s2-M~> zmpe74MY&NjcRF#FWXzJI6<-HGsqaaxwsub3O^|AoPqs^`(p=Y`-qr7rANbIP=>=8X_xsJ3IL*IgFoXW)Lt{O=IF=KHgk6%^+gbKYp?vCir)4}^d0Q6+DGlv$A`F|%vVi~fSx{l z*~6BiRQ{_sc2aATZO7?l(b8V=n{skrMEh?0UG0niN(-l=!b&bxDQA<~M#grjH@OO!(yUNTs*jE1pP( zPQ(p4msH7`039?ET%y#cdKuEDDP2bIJ(aQ&BMI~L@sZlz9x)XwIg)&*wJq(go=f>k zj$hj63hkq3Yx|t6;nT5F-i*q7we`8;4{4tsC%9ACgyh+zTQlNHf1bW`vdvcW%!5sl znW)P0Uvff^O<^L-GmTFk=EC!Bex0N}IJ7ms@}Oi!7Ncym{xXti@4RG$P0C5KKAs^? zXw``;t&VKdnx<{h@kr)sgOh|9^?kF9;xnS(>vPTEiPNTUt%Ufm1U`lzwO{R?RWnHy$~Xz7pEr_n#^zE!RV;yaXUUq>r5oPrkAy)%sKN zRn$rOSZ$r(Ccg{9U2gJETa=ptDyPRP$Vbvl(JvJy*PH!LDD`J*`(zDm>j>gu?BsBMDo2WaoVjx1$3wZ+N&*tTR@$?wT9;~dU3{_XR7 zrL}3>uT7=>nZ}RM<>(T!O?jECL%LC0+w!J-R4I378lP0lnmYIY1b^)Lj~4cwU*?j2 z%c(Gt5-;aZEq5xJ=15=1OJYB@KC9F8fs$%Rn{h|m%1c~r`n4C|lgVY<^s#Zh8@N)x z+Bly6_@}$_TidYI(bf7sz4@PfWu$uA9Ph-dh50`+|K1M^);gOgSw>V=)dWzHIdsWh zyjp|F+AQ4;CF^&a3a1`l>Sdm8*dx+hnoNatg z%x7r_nT^31?)8Al{dr|#0Wgn2!5fb`%C|pBcgh4~)_h+C;q;QRHb8V+}T?Y#bOd zqcogs)PFa=IQ66>C!g1!F4p9!)L)Wwr?zajB67+%6Qs1;7VlPMW~urvNf`vEi&5Je z)AkK*{g^6wHsdh!Rh(IZOIMi!Bb$$PWq2pdneX^Ga!xW5jA_SCFNGV zT`TuQa<9t$fsDCP6WuA~`(%+8iP@RPhq~`%qbd&|UAvRBZOvSs0?T*Fc|yz?+UJC+ zvcnnK5sOqAO4e?+jXn`JsgioK`6R<_kJjXxk*iY52V*OoJL~0&livYnR3|mBR?hWI zjVEy!D=h1L%j1(C@4u6sF86b%V@2AcM=JG69owS*e`)^eB!irxEhWd&SNxg9x4oL2 z6q9*TwtkZ9{mkNHuQppppM2kxzG6=oA4-Fg+SC=E?*FCwV<%d}UuS%JD<}W9#fe5c z{q@25+Eh-RaWd|yYv%uA{MO#!oHU)rd%2V2`GCqamlARMb5#0}f0JVvC&P#Dv{Jv*rm3^qw%U(D8yWF!P2aXKY0vm2 zNi*QTYcLYD;%cESvd2?#!PK+A_P{5-ljoPbOFI*Dw5i=bdNcliH-7morump}G7elf zQc@Usl{-yJmfS}%eo88HHZnJ~6#fmrQKNonnWhQ*l>Ap^)Jgp0{zYmG)sJhJRHu)q zGToR@qTs9X+lDX4QlpF;9~fWVu)JTv&Rex_9=oB(wKIRcDFd)3&#V}=AUMA|Jbmum zSycs>7ZeoXpEZ@=*;9C^vZQcdiM}Q1+ZFDt)gCiV^MQpO{i`QCI@Of;wk*-CXIJqcF?yj+|%!RF)O>mkIS5jXogm|rh``ZQAXr_K#O$I>RLMZSKkXj z6@lpaetpflt?EaMPW5JM(Iwv8kiN6f4C;GB`rC~hGoZg7^1T)A9JEl$4Ct=~e6KIL zG^nq&o?TE;R1^ku4rXLT{-OCcg|kcbwW0i`ct6_SNTu|S6W31aK^a|$h2w$b? zYlHb~wfwio#2&{#7>v1KoZgr~*9rhQTQgt76oTe!0iv577X%mAl6Mo-Yow_)j}vD+4Cv77--csl+LfGgj-;dAvZ#tht}!Ai_g({~toxW%0Gkhe@L+-d~zy(NxY9@KB`8PxCg1oaQ5 zshO^#Ap3SiI%(0ILvK19s-6_q->5r!j_V-}O zlHcsA58|Jb#Pv-4PQY&fzeDls#cvN^v#Vhn`UA(QkD6vnPqf9ghu7WY^}%oAn*Wp~ z>R0jlU$XrLyf)-@4X@vk*8yJdkk`4qUN5hQ5+)I=Yv~%kM`3tEtge>5Mt=*v9+cNz zc)d_w?;*6ij}K(Khll%2C;coUT3j>rM!L; zg4pu7ync#pmdk4g;Kv`RYv~)VCMvTOV&lQX(fBRG?;t+u>uV05g#ljwwrK|RwMN}Q zi0F-|ScZ!D2wY6$#ZX-I;6*+zwh;ILTs+K+^Ko%AFLH6gdBr>7;&mWtTm@iUk4h4^ zZlxaUsYSzH&t$FkU^)IpX)MPXKw2!vdT$wOLa~6iK-2$;by>J?6Rtg|G~NFbHO+>m zNKez9k1M@d-z(wAa%K>*v0DGB-n>->0zl4lk0#*k!J>>he~bz&caQ0gNjMjq?hlp& z&fdBs_eQb`_r=fEn~lGC1+^apK(4-LaLd)VLg2*(*gTzZpYjrOtU;{5>b&GN7}DPf zMsLjyM(^$!j8~dJ0`dv{x`TDi?hYX)$*% zAX!qlxumcu7#(Gp?q`6YZ(Za<(>;u+a>}D5h6PVZ46||D(hGnz5KRM!x4sGOrEiBy z*Ys_qb{@4HrhU7Fb*bq-_>cwb@P+K>ei~iCu~L8x=}pG(QQNW!Vg$9eSqwu88uuP0 zE=wV=zb3-vUae+X+PKj+l|* zruzMr zUO;py%e%lnac8s)Ai%j$o_g3jg{++FErvuED5WXn5mv}Q!9USI$xos5kea%4djksE zhYN+Uk0mW}(#KL|3`&_q;tv(9r|0pT^&~)cvCJ@d`O!p(pOtXKVTs#K9ju_u2 z2CL_er;0RL(S#%jc`W0SLatAlrr(m5aJqDN_L zi4#jK;2l~D=1Qji1cNm+x$4iubN}ixL3A|W3aa$SZhBq-wc19kwsF9$UE&?efBN0^ z&`Y@E+{!SwUEd`yCwMD^`gYSj(Q03d7Fyj*uZQej{%zun=D-yF1*WFEm(_HTXu8=f zY|>&QZbQ?GfBr^0{Dx+3*6NOSa6QO>aGnDcfFjr8vFXl5Pfg#eaT3qrDGXgf!)90g z)3~lXnsI**w0!z|P$m8PgCx)e7y)$e3cBUIh$R@C;LI{yh3I&su&KdxJ>CSu6f~HT zCDGAeHZ+B&=}tFf(bqAYmESSm0d1Nh7YFn)SpmHxK;QFy6TZ}2#u^XkXRg<3HOw_LgspCsccX_>7i${#R(H`_IqnyNYGVmB{Nz->57vVvCis`;e zwe+I`O~#;Qe3$@>;Readd$0@}$rvu=gZ&KjeWZ1f@L1MRjI&$WhqaJlp? zrh6k=)s49GH3!xr7ts)q#`teEkwZY8tPl%VhlZPQgrH+caqN(8=vsrlLzV(a#9$y$++@aRYhICX7 zTuojA_KSc7484HuU&TkdP=H}n$48h=TCC5_kZFvm#fGEU0;OyePD4$!&yi*hrV}Q4J&bH%{}J+OO#_A^RJ?^ zfFqo=>ioXuh1~)AF|MF@`v9#uu{me?TB>f)cdsrckj$N?dwne_d?e^wA080UH$XHr zeY0W|<@tzRcpTa%DD9>V)m(B$lj4BKj z^!+Q`6@X0l%WOw9e(*==&Yi{tJQYe=>SGQ1*h9fla#K7WTDS~wpoO&>6jBQpqo$;A zX9)fW2BIP?2>Nzv`rBNa1tC|-YmH=l3HLS4TI|7N$ISV>QXjm>k#I3$AK9wk7?*e{OfKB)A8a$`yUTM0& zg=<)>AIYA+m)Ua{MYmkmye(kuGH$}{DoRm2N9sd#`o>YVUg70DxyWw28D;Hy62jih za7|$!IF}16%neQLLD61!_I)5hsRBW}9Lg1TH_*2p|0V{1XpN+rQgu7AE z8y$Sx7JU@I%UnY<5DpQ#rXRNkh}{F$_2?YaicR;84{*kNHQ$B^#iJWF&ea$wK17R6 z&IsunHIU_zLt-b@8x8J815Mv!oP#z(XC31-xGNMsnwT~S=bb_Y^OPVYe6(EbldxB+ zPT4Ejx=A{tN%lY2N$Ae)OHoM4bD*ZA5c;E~ME_gR_j;tCKlZ?6Xx%^bLYr7l*B=m# z9majQZ5aUK2lSj@KyU-P^C=X%`!W1QyL_}WCW$_fSfl=OHi2CU=&;$kG>ePa<_fD# zv7ueYCBMnl&=Wj?^Flu+0Eea+;9f@40Hjdg2(4zG&mmTLp9F^*d*F|eQ!Khhrm1S9 zYo4eHm(t4W&MzS`y8Af)j`$b;VkeN5-yH9ar$c?OS&mf~b#Uw#iX2Z0 zeuO7q^prGc0(y-u{4p{hJo*tqz=v7c1{S03bkeuyH`g8Q?s{-9ZlLX+_ysoelQJNHM#U$h-O`z>7jU#+V0<(PqXAI*;q#Ua z-(}oE#AsxL0Q@R&aL_$p;iX`4saH*u5=+s8#14bR7DHk+>?{&?bsdZ+LA-LG7&CIS z>An!qM!*YlMEWaB_=UZWecKmZNhJG2nBw`S`!jUJdg>sEl=A?vvvkw?^DOLsg%&{_ zv8eZ5^^@RxV=gryJ>_RVMhWR#8gqfX;j^aQLpnA3F3ffT8n!&fr#F8=$cI4K2tyqk z@xYjlAw=VrFq(v7^#UNCW`l2BI^EE~u674S^>$+^R=VI{c%c0>XS{g2$LJ~$hlTm) zy%@X~APal*A?_5;Mkg`d$JKa?DJMTZ7cH$xVXp;~bhInRY1R)JABsnb=9m0hxDCcU zRQr90mv+*Rw>(cxn&{2V8t526Xf7{=KOW<(bA;sThn9N84&Yk?WX`o1IY74WFvg>% z)Aoo$)W%BYx3xf_E|Kbph*F3E95w5{ovjhR#-t zGMd80{#9cA556q%{B3ZL29r+yRX?_=qc|#d2*%8VQtDSQMv+AB3(x~vcaEDVnNWeo zdo+d3I(Df07n^47S8GAONVe1qai`z+_sFPH-(l3~n@W6t3p+*h0odOKNd9Pv!?+2s zN{W^`!rf5&0&0!xP-AZNU3vAd9FC>qTDqC0SrT0eckkMJxP;@^(HqD7ayAO)?=rfh zL(4C}5;8pm*LW0%sKvWO#{0_q8*xv1e*k)jweuRVZK?gzG*wtt#3Rz|sc>qc{}-W? z)c@szyg5^AAl<(i?r>nU((oCit?=`rE3bYPyQpPkAmqYBuny zx(>k%zbBh5M6;Ij!A?{y6IBxg&{r^XdPbvJr;zK2{WBogyOJ8-#UA%Q3jF-5W{Qct zZd?J&Y0WhU3b8;E6mf z#QbzbQKrCQt?Vh{EDXX2^?#J=`$PIi`rCzObn&YGi?fXhAWGdA9b64hK{ku7bv0DT zb?1Ew4Cx0%jbqq3fbYF9foZJlf=bA6P=7NBxy1~y)YWhl ze8p&tpEv>!!#ZQU4syKQz{6WaRqRHm@d=&-hc41xS%*7{W(`VX(Pva`n9$`T=*xsJ zE!>P#k)ghv1C0(x^#%GGZBCQWA2GM*=ZJ@Ra~+vm*dqQ81}g$`&~CtWA06k{U=(0~ z82dO|-vu=i3BcwOE^CcNSSNKai*X%cL_pSAv;Pz;KYkv7%;$tx1BhW9BU&U$+>Hl6 zVL^9L z<$ky#0ewHnGBhD%W1WTzE5!12=CbV~w3Q;pGXl-`ex$nyMPecaGMMi>?5eK;#&y?b zNA3&iyXm8KhG6M?Npkx7-@;Rj;eRdzf_#J1_|bQ<(^N|HQ~Bu3IxBuSnZWHXBH!D#@xm;aa?{*&9CjBuvZh%hv;Hq4%lOUf~p@%*q@_7RW+&z z`=Qpb1&t6rcfL9wO}UCeTrN(!m~bZ|T_8rCYDB!hut@|)$dkNSStgr`!-oP~Aa?rk zJTc`?FFA`HHSwEa5sEuX?nOiYs}bSd2afcW^UAm8^+6ZG5jYve z)CyS|P_J8Grr0CTY;vixp5v@^=gxW7Wb3^vQL`$rjj{m=tnf!iy|Zcu%uXo52XBA{e{pZ^76-Tm|8>mXhJE++2B|*nOeAs&ASjmq^n29AN7D^h4CB_d#&{Eb z5uguWA&;g=h-Tv#R%IW(tQ*zwYsOEk8U+2cY-1gk50VtPK5hJonefMMLt6`hDv5w8 zRuAH*O~z0n07oh3ZXxq;8GpxWmLZ;%m!EY-*Z*+Fa8EdUc;|4|@M|JD^=R}ZrXMud z#6N_F8Fp6q{Gh(3_83DNuKGWdKxUJ4t#Mc;S{ z+VuehW;OkdVE*1v{^lEES(%iVbNmlyomJly?z+5#X08n~_2ffLD$*I5BmPE)Tm#E{ zfyj%8kRjf{u=B(H{KB7#cdseBCem?Z1`cJ`Y37=mB1h!ojo1hK5rCyeegjsdQMhEC zI$8SA*0$*}(nM^p?qKmNR6ao*#Oi+vA?@QhMt0RNflO)*J6-kFyg+;z&`tN!ySOCw zb0#;yuilPI;dlHD^{hl*3S1b7w9tj-jsPqS>fFCaLkI!l;{t$zwvlT^g^xXBIZp}j zeG}ka^@qVL^t?|EF*4E9Ro_gWzfugsHx7fN<7Y(uYy!f82_@u5qOayDG)4Fu={i>I zn>e2Ra8_5rfecVlWEvg7L?hWak$aU40EHXOdxU?Cy>jDs0L%D2f>14PLT&gsavn~{ z5LDST`T{yxesi~eq=lZZ#&etMIoO@(+hbEY=(|8K+=VQp-awO(zJcbr8FFUyhc*BV z0CjL{>3Za6xRRg+OjIqWY|-bqJvTlPCwxJK9IlX-Y=owd%GTi6B6DDLE}oh0UkVB! z9QI>e#9z~**CWjc^^dChhs4FS>^M%hzR>hrv(0T-@sXcvIv{{D12DP1{pWYIk z;sUIHPE(66D&y&S;JCgi?p#F^N=K*|n<%)`cOw8;jq9Y~p9)x{%QkF3 zl*yl>^AejU&B0IGqS=8J{5zNj6%l7tKuf<_azx_yLHcic3h)@5Kdjs)+S$ zMCjleB=ByXtERp2(H|kHm@hKc+LNyKF$mP|bT!TbQjS9!m6HIkqy`LtS2BDS3b~Q0 zL`_NI$NpC`ps{cwHXS=a5vd622bg9eQ^Yc_=dSjbymqHo|{Blgf&U-4LML%0u9 z5qT`OfvJ42GaJ!d%T&Ig@2kjLG7XWJBB8GYdr?>heIp{|mq71LDA)4WmLS0m${4`q zgSi;Rw%>W%qL@s&0C@pUQO+3a644KFi;Mfvxxh>|kN11)*dZ=C~ znd4gi(eM(j7E%OrRSnvN$}!;=B_%g&Kqaq*yXmCKYNCCuTb6J~2DfeGPC2 z0*i=%obMjvE<{kcvpJ4uBqD+mphO|gQ$IwF>HY)$#w{rN3NJZE&*dSUa4=*-o?^9Q zmESGG{MO;Q@&?3u(XzE@nb@O-qMC(oWz6eMHlzQ=3{b z8Nf$OhB^d_H&&br#zhzJjV^{QTZ04-pjfzbwSy5humB6c*9;OM=Lg7mIJ_4}PjJ^4 z;9BdABT?ticon;HArRCqWO&W@mIgje(Oe~KU5y{~d&vP|2)RbC5xX?#T7WbTAspq~ zwA2Ud*TDYJ!TEc%Slw|P-ZD+~TnK3wrkmR7vhj?_d)!xN@o>I^Ii?{F_Ien>!QbGcz!7xSzs6@uoVe_@{@9}jV#OKog%PB2 z)L2p18eG#App`V;JEs#3kZ2;Z;8L z4&bvXtgihm^EL6T3C~2{FQjDwv5c+o)=+`rV95!-7zcKdIQR5yyq;W&<$Uxw_NoIh z1w=XO2$&W?^)lVN$~n0sJbVw|@i`ci8!2`*!g6(~Lf#Hk3&!cx#yC>+B4V(`V{Lf* zrV%F&!SsfAaR=A!7vkm+ZsaKj*0P`o*78e5q|8&^Riseu`jsfAt!umkxVKzq+J_9q zNvHISr=h8&Yk_b!;X(?(4SoS;L&;c8&pn?+n9L``#3Yzakg$G9vD?|O zN|hcJzb%ISu6rGB?xEZby~DTxw=K7z1JcDNJxH?Ys~9MN!(YWQb_KY`=55S;jrxGvyO z@RX0sy%=i=%RH|J*Ie!(7AE__ZJdsfL*{C(P>{YWA%!V|`W|j=Z$?f0HiTXUn!C`C zArsh7L;+t9U^ZN|JXdSNBTV25oPQ~3LG)$1Ksk{67C?$rojp>PGYFR%^PmCJqnOeK z2|h>QHP>57&t|dAwwX=0EH%iM$XTrxzF9%AZidH!KRrRuW5`bRaLXKXzl$;btIv0I z5XVNF)?n^6GEMb^Te;WAS{W~OF?Mr7u0JFRs^-`*OB3>T>U zVmb9N1W5ic1|7wuAn5KHvi?~V#(AiOb2l6Xnw~Fg#ttKcw*nqgDW=fB?=D#E$7rG+ zn|&8|nXnOqQODSkwVas{3i5C_p2!N_x-~(QyOEn)En~!1erPUqJT&C5Z$%+jvI8|Q z%?9m*F^5H8llFVM_9N@)@W~h9I_DNRAHB#w=JWzI~StRguF}9 z{bU99_oVLbPYTAu-k~jX09a(0AioMjYC2TQrbyS9 zMs*bD7-eyU5pvGMu>MuFcHlup6nm11Hw*UO0YN`Ty%@{MM;l|v=b$mW0(DL_==(dD zHMCn6fJ4l&*+K>hg%R4jpb%mO^G@MB;U*FuN#^I8@6$!U@Z(4>vk5A4(NnQ0m-_Zr zJ)!RslmlH&_wRsF;by_~HId6PeqstipVBQ4pbgIWUG;Q!MZWMn)U-^(9eDjcOa#1c zL{W;jiKy>hm+b!4KLs;D-=#=RosK>TCeFt}80P&0G^b=1;x?{le(L+Qs)6=+ia4w` zvJseIR?Z3plF@FDKp6StfFTe>@PSDuok^{hACtmwd;%nXMqKo5!m2L@tKGh>?M&d!85(JcjhtVzqPMY5K7Q0{ya7<(4lscfiRgoa}70*vNg&D;lAYRxuIh5Mj_KR4aQ6X`a&8rE9WEf$-B{k-FA zBmCn57(c*BYj3&-$}aWaL?a$zA;A{lP4^!sa28Bi7g>u}p^H%qsgBP90OotMVFq{z z7o$bAJ;Ju6;lp?uM-Ft(H`r;3z~y!Q5Y_?Oq0PCbdn^buq5wqa9xsRaqVb>LqWJsh z&>N$?LU|%RIRl!r+c`uci@RLhsYN)hf3;TtR{8;P0(7v*6=&mfa8NWfE7IeSV&d@2e!zi||AWD_hR>-JvAvniVH(uD zZ^4~7SY*&cy(pLRq7LV7zlT%)mS@#oo>jxx3b#)~X+$pP z83vMh#`b{7;BAZUB{6>n@_|8g>~%Xh;E;(eFXriCY6e(L5kOk9^l?;l9hIBU8EP|l@0$QYw_L<`>a48D@O)< z3(_Z-bh)iS9@~rdkE1>IjQz28q@k(AAD zonc$y1{^s1A3h>pZhO19-VApwY^td94RJl898w6!C7SQOYOm`>gtI$?{-`-e++>Lx z#MkQ9b%?Kp3!5ntpRqxq1B)!Mq{D67f0Y7)kShfISQ+R|0jJs0*Wi^2sLxe+jR~ij ztME3kNSgKQUxE?fE!?5?_8ZIVll&pPv5f5bH=)xIf)NJ^e&3gHhx#vNCht)AfQ`tW za~OAhj9v2rT(yWGNFr9J_NR!kgzwT~OF|yO3nV;nJGb>Xg$^$otPhtWt$ax2dd`^2 z#`k`;kNTa9X^ZhR+Obid>&0tDe_()(;w*3pkCA3r5xv%QPr_}qM4T3jjC-j&vBJK( zguJ6?C6-rf#t9u^y}D8k>b*QRK|LA24(WduFZ7Lt7~@4gy>lQo3b_;rAXGrSJ^UlC zicR-(Hvy@{{Kad-1=yrBM^L>Vg}HB!^n$~}IH&Q}T5bTBdPOLt<)5G-o-E^&KguUv z8u|WU%U(S3!yG`GMV>#^spZbgb(}7M*^`sNqHc)0JrfQUKNSufK)C76#2i#cj)AxQ)Dn0`sZiZ ziF-&%Q9&GR*e(Sm4lu-YFT$mW!#s#FF!RYmHr$n> z$YDReJ6eQ?cT(OD?6qoZ*YhYo*2 z6RDudMhZmFi#P!Y1ny7Z3Mje2>oj6_fLs9_xj>;~$#1?fAs95wb^Re#;(RQ2PgdQ< z5YTU6;J528!WEYclVXe~kO4+lbBT~(YTDSqvpBz4&iCaOxVM;e$Xh84U?@71r&q8) z#sT>Jh<|z{$z$%jxCxHsWTHKeD~#UQ^tTMOz#_tlH#HNDDrV7@P&QC{A6ZokrxFuLIpD63(V3&Rj76Z23hB zNVaoZ(BeI^mvGbu^P?XN>2Kg87049Eeu?Nr|BA3p$>f%|K$eQ=r9$`1m#hj_W1T}R zKxupeB!K;A>?R2F?r`rC1Q ze*aR~)a4LjsSMA;xX=hap%AaYB^rE_e87r7{1>dCAhzIr;SWLN`ia8nh~P0vEP2l@ zsv>LEhl5@FHBZLMm`P{t$LeO}s!iFi zfRh~pv^Qm@`?uFqX~4~&O0J2m%s67EL84{>V|yzHoIR$y7VXhGn~Bt#BQh4M;u>HF zJ#sZ#qf;@bAIq7;+2Y|p5Y35Sg8DpJFZNsSpb`YjKu0v)Xc259Y7t#~B^XF4EzoRYjr#zCN?tRnPahiM9uU zUMw78Px<{6s8J6bQT;2+1*Q5Idx7iL`-ZV|g=MuxgDxFN$?_kwWNUzzW2!Un%?wjPYyiFDR;`Q6Ik!-uwteKxT>Y;dr3I zyMh@_#z54yEQDbe@0Vk0#iCKpZI%E#af=|PSV!Q_Mg1^CaHmGh6sZh}m1_I5wFkvE zQ+KumEdJDc%b^9125r(Xc=)dR`@txvDSYh%$Bf1s(6fHL5`3W_j`L(JrWgJ! z2=-?&86dI4ScsYy;k_ly1pUF{g!U=JvYhi2<19_sbQSQuX+DFH{%#bt0^o;pL71B* z=t*cA|0!S@8RBIl@wm5`E=V0jV}R&r$!2%lN?(VZ zLW2uZS5~?+z#B#d#3q6|ZC<1O9+t|9c7kj}9wEv@o+oe#NO0 zZv}=k15sZPAA!2PB2aWqI0Qzn`Z?pH$Z9$qpk!={^y1rJT}q-uM7$>66=Cym$4xxC zwANiv{}LM?zqtV$pVF8&R8dki+#7kp0-vvMQ0bD;A4n$R)|M8>W4{QQ8V}^RR(M9^ zDT$6sI;RnNQT1{opvxq6oLNSDV#B+&GPqHHunC=i4=yGSmmNM{(Jf)0@m(SAk!T=kEjjmR8}hkRdz`&amj`h|O2>P0_h z9l~a|;DzTKDvEkV{-QL`h*}IQABSQyFUiDLx4fqNafm<9TK4j+B|A1UyG3Y8oMpI{ zA*AT=*B$Q=fzvd+8Ub~fzTp5uGoFuk^M1#!zO}9uv>bAnK&&cLq41CRonvEz7Jy-$ z&A0HMs55Ozkx zg0T`Lm~C)9h<$=dj2GQT_@Vs20^^6D78nD4v6!Em6`0+8$qn$+-u~9c_USZ z&}PQDAR>Hu9@JlmDK*aP1aZ3g9jxe8>)f!D09xl3vwd(;Z% zFgN!RY8G#pnC|~Vg@9wfn)3jvK*LVr z)HRM>(-vbf)|RHPNW85xx2M3Cm?f~~T7=FLsX8)-b(O*xE*hBxY-8hl82!)-@EPZ+ zR?&LKsa+#DNFq)>jGLKVe*zbfWh4S7@TnmL*k6tiEk&dnOp`X4{576tbEjawh~a)Y z93T_1=1*`Zy=09__!s99oXRGI;<9rIt@ll2bln;A=frQfQa`Sd{2pMs%g94!O5BP; z!Ry(SELc?!Zjt-Um;v*wWU4P{_~CC7QuasUdgN`amwPcKp+%uK6O@#3$XxlYqe=AF z;fulG>mSiNi8rn)K|_ae)@PLIEB6TZf>AgTC4L{!TmDPXYQt(QZBv{du5mq7hdP+= zatd`hEq$eB>D|KtK}74eh$8&L71Qc=>lL(*g6|@@!pgg<#khl8oQXYbA zH?I9PkqG+U;mH9sOkW}e&xL1ub?Xc86`SO5*x2vC_^gE@HYpG~x!M0EWEed8?Th@H)NYYip78IrL3i7>~3 zYpluDix3x_0lesq*U#}H`s4?3>b1j79NP0AfFcaR~3UqSaJ-x^U`!z6_Jmd!ksb3Pz)V^0QN}; z3qQ^_S;u0GX&aG$h&mA&-Xsp4_Wc)_-SI6@Xe>XW;gMtLJA^~h*Mga?-;EfN8P7J| zpI$@O3$8ce(vQRJbKy@P+C%2$d<eoEP;c>|$-aPbiHEaaZaB~<0 z%X#Z5#%4C?yNw|F#SzWM(N^i4&v_Ig!#nwhup2L*OWI&@l*U3GbD4A?&pMcK;8vNq zo76`-}W%=X+3*1iYBKW86t)-v}R@1qsEE%||f!(5i1poWXY zj;Oqf<(U*w!Kudyv)08L!n=1f`T8};GX)Fz&<{cXwDVfa_&sqo#=^>RHM|Ry$pCZ^ zVYHAuaThTR?jn4csN6+}_x-H?^Hl%(AEN&VMn7Hke7Qh?l3717w~5I?ZI$770>L9! ziE2fH%gbhSxheVNDv3@w9~9p3CbMcn-U*a9qOgiIisjT|I-Ar)fmHDF*zBs`VQOjwZQ_la>cr3#GxGMz)u-|H45pcl(7Z^fpZ9Wj5xd= zhC^r66~Bn@JRu56CkPVbF2Z2xWELMNHQhrn9*Mlqq70hDE8!9fa3%>N-wqJgR*fTA zRLMr~)g&!6T()nGtAPi7Nd6v=86kYQc^D_Rmx);SlT-!tYnzRcK#g;T>jcM!h#;?< z1IFBkK|vY|)Is6@_m#o{8j6EnB=AFP;OKg$*CVtDju%ACBZudj#>Jl^t^5zzUlzOm z!17x zU`IJXy)I>51bL)@E=5oM$SN|!_Z66N#MRITKzv6cw@GFU$AS>2XB%Ag{IpXNLw<`@ zY>mdWSELdPhETFABsU2( zN5!%*koz^cc=P2KV>jr?3|HQi&()na23f>#KfIi@Z2`Fu;ZW%3PA0mT9d z#BR(a4{@q1CHmWm9tQ<}as|8U-@~2Ezt`j$MgU$P6qWlKr92>NrhB;6J=_P6zKKUd z;6d^q;M&-;9gghJ6L2vFO^Xe7P%A6ZMJ!c*)<;dDmx9=xx(BNxXFovUqbIQuFFrwT zLP7bh(`6h(?Sfc=akmI5OLA*>!{f=Le<;qG@ZG}#NtrOXwOgdl@fF-y&M2WSb{qLX z6|P_z3e;}11jfx<$ghZ+cf+|Dpiny&gJF_V;lZZ+dep`TqTA=tk^pbKw@m=cl)!2% zV9l&uC%&3`8`bG5+~ajLpa@utxgz$!krjp>mG%jmy&6=GICg2t@7wZos@P;y@}p^m zpWBPVufG@6k&w0MGI&(<4>v|S`(vXgxBLX+;9rFt6O1C)z_Vx~k~TMr{BQDrJ0m|( z#JoNMkI zy_O_o_Ta_{--&*Is~DjhcuYU)Y23D~MGpa9eIfC6%mm-N86t*=^f28|5J)VC_7b0` zTrOxhrYA)3@o%GzkPfuREV!vD;~$NGkUxmz4WP-g003s8dC(Quj?eQ6%?1(2H`)=J zVFQSFsWoH>`b*3x?uAy#mpC^I(b-`f+5+}7yXR`k`~lqgeeZ?O$5y2yv9We3bkslk zg7^mUeKx2^2yb727w)f{7e19>^-a)HeyyPrQs9AJgqzQAf7~|=uaU@ae_GKMDr1Bg zk(-n_XRo1WsXOl-fM7a5oqzNgAMbrg&1!yTA=lnXdQo=NS4#(DmEU6q@f98)W4TauAnxk<&?od zA%g0Kff_D(OjV?fp&yLG?*{`cUs(aYq3P%IR<|AN3YfGc#~Rj$UwKbSUPA!1n4iuU zC)MSWwEYGrNLz*)ruJ~FLyJ^V67>XqTV3_fV|)?R|8HD~5JFJrH}9Z3jA?(T7+^E) zY7og2G3P+c8zHW%MB%&+1r;Rx66ZPMT1YGCA!8AkyLE`&2m4aM5%KOzreo*v5=Jwo zZALAW=YqKSIJ)oNSb}WTwg_rZ9MhakSNnZ`O zVy~X;FZblx6QW!2xU319*tVCa1*76rioeSPX436COKy=Zp4X#n=GYj$D&YjYR~HT$Fmz zIYGTCz#q@gZImCZ%NaCH zLB!hm$v23n^L-ZZr>sCClHok9zJ~(+BhNXwL@Yz(;b#^0!y4fW>sPiibOuXxA1L&CUXD^{=c1UymcEogy8ZmU|M3i+$I)q)Tamt4LHbiXX zzZakn9z(=@@$l7}e&sd1uG@G7U%ka=rg47I!Q7$MeUc5Av>Gyq==-XCPO8sYY#8lx zHVS+bxDq!H_4y1%%Rc}fhrjfHUIn!szPIFdc$TJT4J<$fjw$rYYvo}ah!aC(+@c>LycC{ zM?(?jr#r91h4EL=6_}h=s;?KpWN{EN5Kl5j)a3&K;kuT|b02uE>Wk8rT@mkMV~YaY z67pt`7Ym(1Yq6$9c$S;TsGI+020n6dPLX>EfJV9&?qhw+x6!ojSVq`ccdSEXF|@|IH5G}y#`3SIIq1Hg zu#2nyEObrn7Q_lWX*VY6R^z(`3oNf@yKyeM#Lr1X2p+#D(c;T5PtXE$evY50gKgov(dwWurL3rM^{WS3 zpo1@`WgrCPY;Db&+=|0%Of!MvM~{#Z;4>)YAB)iN_9VWZfNj^QHy6XVpV5<@W~u_%f(4u?7sS%)up%K zxV|VmoLShkPMe_(*D{+6n`(>7N-)oEja@OTilUo(;xqZ5T8k>t8}Gc$@DIn%2minj z_TGp|7WY7^(v*%j#6pgqB@p?(`c2(JzMWNFbbof{+K_KYmCMhsimb`Qzk5`5fFmaU z$s+1+WEjKtEIWt(exTe1;-eUJa`p)x$gV+t>dzi0Y@n7!`{vK8~(`LG9hj+kyIPf^W zkWLz+RQiQLfSYC0y&RW#T`tHZ`TC^m8a6>|e4|-DT!e}c`V0%<@M#rhfFDTVg?qJC zh1PH(-}@m~U~eee=iv+Ca2?)-tL3=jP^r6dp2rdhyh^VBF5;`1A2@x zvMJmK2=`M*EYuL6W`U+bNDR3=j<8>Yk2y>TwAjqz5sWvjJg%@icD{-A#cNLp{mViK z$4%joumz_AMQfUN6Eelg+8{=$5e3sy~o)y*=srPl@Z|iI7+iGU2so zj1$oG3_Umc#4p7xV@FU#Czk0YWg})(&)d&0g+9SLy|m1j50w}#DTsI4R8oK{hhBnE z_j*s_UqO&KB*V|O;XjEE7;y)R=)_9Bq|%1ZI=!^g=q}(7BYeSRy+maCp9H?}=p_DI zCHzAIez{&!Zo_AtURrMa8vDO!iAMMus(?Q;-%f_V$HspJIspIuD56i);IH1mzjBoG zK&Abxi?Plq5d(QS5EdZ^^4bF>(yB(M8Ka-__I+3_&kR^8U2UZ@SD*A@S9LXCoa}Y7Tc6(onE@w*nSlB zX;_ZCc$ZD0#3lH|8hfAw{Wm%Pf-izntJx2+-ApVGJ)>}Q?J%dqfsdZ8(eYoaW(a0s z6_u9Zw^*};7Ny2vHIP`-p;by@;dseUoRn&~)+`NGIxGYUFU42>P&rJ`)nYk3hco)U zWLv_5+ty{A+r@G2gszTrhoZdV?ESerx;J&J>{_1Dv4f-I6&=dX@9A{({D19Tdtg&l zn*VN_mKM@BErm8vr1DVkfwcw{QTs?*DD;tO(ua<0n$5PZAQRd;C@g9^XQQpTn zRJ#DUzLr1c=t0AmYa_Qc4V^;X59=~t6boH0rOvS zC-X4GcbOOu{*r|M%oF1&%~MQi&RLXZnMrBV3^IxFv)ES6HrVBaUGQgWxk>ouE%>Gz zzS-C38~zP4^O#r~>P)4fmZ3ECD`SA|YvJ)UIp_~xq{0`e+3*qPTzOQM$h|Bn(@2?~ zWXg0VQKlu4GS!TeBYM)ihj*n0%p>79i;0ZO;sS$eW9^#XST5cM8CPz|(%X$>RQua` z**9mz!mlZmuqD20P$0IJ``MX3CJuUI53?xs66U6&h`6q|s6x^=F$di$8;| z_d_4}mitNRgDKsUMCr~%O1C6Xx~k`=o*yeHL0V3c{NT@KNFxW)NKYD#v<#<_QYxh) zc6y$hkmpIr^F+!}`$slk9D^J;Q<5~C;zXR=*=FQr66{HWJxN=JXmQj0bTQ9~0QheM zKYL!+ou5aTGY3(kR7``qBH66B@$)7({){Qx$Cr4nf~Z z=sS)~Clh;&-GjRZ`ibvZBoktbSR%eXkyg#$o&@;TNJ-0dfAdPOk9k?2ZQ9y!Sv;kO zDv%dW$Ed7F~0 zXZpakf^`z})E=K62OW~3gNf3&=y}Q42W|a*l4wLbQ61J_MqQ_B=u`!rDxs782Rdna zpsmxf+B&VrJsa`38a~Z}Pbc-oqZWh2Yimdf<{akU7X8W<8GqvwM3$BM_>6qCozszD zSN;tz*jaAp2Z!RA0nIa0aB?<6AsT~qk@xD_&J3XOw@!d|asbT+B(p#8$i1b@9KRCw9^A&{d500G7ibfBg}`)yQ36j&`glhK9uU|mutVT7fo%c< z0&4}93cN|+1c4(2CJKxa_^I&g`vUh1>=d{`;G+V)0xJb-PQuGd{2|Rpm%wg;y#h}Q zOcnj62wW=Yw+Y1V;Fm3w~8# zt-!4p$k{5!SugNjfh_{P0{=;%Q{YU2Hwl~~aFW0=0*4EX6ByCYc7eXt(KXFM-`s$z z_(JvcNmNZRq$=(vTpe1YYv#Ixdi@mYA-_V`8|qbA#-mfM&8Ibn3{Ci*Y`>dmVsuT| z8}iR3DyN!icOX=#ctf&EUa3a$DIrvwsGVwDO~Hm5xkU*PIjE+_S`!S&Zlzvv*EG6( z9{l1qQB$zlt%fFfyk4wYh9lpk49%oRQxc zuOg#9R#`yy75f{AHbweC1)JQgxMlHk9IOx zsFYPmxB7h^g>5Wx1?SL3Q4m<-_k_Lj3@yUwH=>`$%9gsCpfG*Q{gwJwyav&mLkDUc z^A@{;A#G4R2jg?-?auRfR5=(V+8H(7>#uWp3$^Slj4t-OUEVxBD_>;pDrAa(ZqTNv z@V#Gch18ikm)4~=#*4i7%Dz1ONR4E?W+UQc9{t{%jlHVGVDGz;J z9>D`yITEL$mOQ%a$*EDw<)A;Tx?!4C>k&C8T1Qq@c7VF zRR@yIE0@*X2K8x4bXhnQ2qQ*y;RZbs(ccnNr79tr$EO_zhjNGPukRnvBSA`&D^!BP zTn+5&V-oyQfN5w&8VEITeKI&PO%-3iYWV&^*y5F)N|WsLJ6eMwxrysU4+xEQliLgk z{D3G~G!JMAO7U6*IVgJ1O7{Jne(hon<#Ln1SsrNnEUiCJZ(V*lX|nVTqC;fEJk!ms zqEl=OvvJ0-nMj`eR>4YRrGl0K60gA5tf+oplk5xWUW40n2S&1>1%Bx=IJ~kPpi2zp zA#bIk@{FzU%|(2PMl-G0@1KLUC+yQ^ae*&{G@*2EvAP1Gu!?oX7lPXKO!P0pvf65w zRZS_MTVHXo!2O2(;Z)pnv?Yk>53Ij6tg2AW*@(pO6k)X22T(b6-@s+@QIo(&Y`yn#U(bX#^p}5pspXK`ck)VqO+F zOKxSxEI!xN0D-1zXWAqZ?RPN+CiP2pFs0BN4mNTRJ7FIC8X`s@O!Z0wbQ*Ww_z`lR ztrF{6#Qs9E%4&$C1mKGmCWweLLK6V7m8|7A+nu6Akg(+Fit9(eheGr6)0_Z)mTibpA0S%mX;l$TIi@HdWW713do zt?gLrpTzSw)DNNU7|L0cBz*jCEXq{vV|Wram!rvmpG&N=6h-{bjE8*n~&(t&tvLzyVQM(I1+qjLM|dt&h@QY`s(ApPKngp9(`%3=9#idj4|2EJwFTeAHrANN|-Psd&t^b8} z)v@M}_I)++s)h3}u}v_gtv|iV^wDd(&e%>oeel$`CqA5c$0KhR$opP@D6wNxyZNKl zg$Z(+F+Bg?aP!_7CDr-8Pd_|$+T@qEeC8;5`s3L*zBYT>;+4y8`F?iC$yJ$M&b3Rf zb-i_N@hyuFkDq z=k^;1A6gyYm(w}7c&7cS?EV$Llm*}9y!!SPviWFr+KX>}nbVy#cH#7q(>J{K^yfLb z9luw+n`2(S_FjCp{>IMyJ3fAA`HuhmbI#6l=k~i6CePjXY;Vq0#lQTpWY_lPj~v^Z zvuu}RTG;kR>h|Ak&NJTopIJa@X^Yc`5&1 zlXK|vtL~58zU-c1XKgv-a@Kw_b?v2}{(9YIId^VY)!XTrSJ?eQ#ZB&C#qJyHoV(!r zhvwh-(3$Jaceuw}ukPA#!^QW#b=}?5SG+{$4o!Q1QFYwN=Z}AMZ%6dB-3try2mSu> z@U`zvy8fEmGY*V>FZ=VN2XC3$@z2}4s@`3DcgIsNWFKwZlKgb}leU{*G+i;isQ1b# zmNLht{d2}YaI;}e*O8rfo;|+%qLqJMbW7DkH|(%47?WN)ORhV&;DODt%kNC?z4FMD z`w#3fe9&=tF#DI6f_RkYM(K5?{e1lWdZ2Rw*0F^|OTH#r1pETUg!*aVAMYXR{VVFg zUoFBjG0+zRXWs{&Z-_j=#KqX>0zDO|EX5wyY3w5bS3QXRGSt@rJ0Bw2gZeID%)_9A z-v}J?IG$O8o(lBi`rr5+_EUhamCyzCMqm`~1B$`V_XE$i13}mB4{&dAE9!jD5Jahk zK77B>jlz2JeZ&<{>2(V*Wi`eJJssGy277C;>o{=5TKvTXdOPsL4qeW1VCOTK1K`;O z46n!f4xV|yE1!k#(Aff9iNd~G16;e2=rPnc0N+LFM7;+Xvq`TTfoD+Wflix=hChe> zLdeem2A+psQEvfWz6JjN7V?3ntwdhX(}Ck&fW4?+0eop2+EM3kACK!q8|o%t?8`vZ zjlkU~U!Q`VK>rRr--Ul#fFGmug8moagje7n(6fN2cS29p=~bfS*Wf?skPbAzj%yw4 z%>>%_z*g{711Il={;1yooc$lr1^gc1nLof5ma`8s-vB@8v>);3f^oZnhPMz~@EC#L zqdW+nxC2BRQM?#yE3ox#A}8u?z;97FzH|`&e+SoK_CN3>7t~J!)x)51{s7ni5juW@ z_yH&4qii1dJPVlj0ep?IW&qEj*uY~rf<4(D_!aePVBJxS3!X;cs~idB2_QD^i z_W)NPL(ap`8-P71oNvd0+m3_xEBFGq@l*I1^{v1!QP}6#ogn%x3fsbab+4dsUoZ9< zHli#C&tc%=&(II`<-iv{hdk7IZ`zO23z@tx{idk%p7d2Gbvo}yKPKwD7yX5(^FDOh zmpTvcL2njy-hWPqJeJ9O&yz)+_nB`Mb>8z}n+U%B`S|Ul| zHOv!~D3or{s!@#KmbpNpSOuy1ua ztZxvlF6he|tB~WRO9sfP)TqI}QHZXlNi-GZTAHHSGYOO_bPZiclOc5i%>}Oytu>Gq zf+dr{H5KJr@LfY!;x!wblW8KxD#WIzr1>eNjpNfa>Gwbtd0;jBhkbdzrjyXdTJzC{ zQ6zX%hWFVP?h$}5IU)_z2tA0Nfp$OLpOe6yr^(M8ASDQ@icx}^w#|6;U}Wq`X?Bze zPPU)5h{S@=^oagcdv2rgu*VL0evA-C97F#{UTlJ9Rhs8L=rb1@GNlY&;Hc_(!nv7= zOl{RXDMKed@-d?>9P7fU|8Fs888#FNGs}gsB35(6^z6s|jka1iHBC5vR%h zDO_|FvwaYdGw~#`YN+a&;^?cqF6pde>B~-JY9`tlY__*Y6IyfJf)0<^ICO9-o`d0Qk{c60UA#!mFM+&Ye93Lbb_GrRsj;8 zQm*G|Y=L4w$)5(0UL_#mDP?R?0{h>ZlmqX{flm$h-zfJu?D^yh;9N7XJLs_69G3k@ zodqWj-)bMhBH32PmI1dYM*930@>A4)GP-Q zH0u(fnZ|3{3{K6O!BdJsM}A{U%*5MJx?<(3)l!ADQd%Xgmbbn44Cb4xn)coURB%iV zw%a=)ajVgS6Yikfp36rS^eqN{G}ja27AM_4J5wKH-k(@*nP z4m~u?9ojTfv%ZgHS&hIW%J|Uj2HuoUkXh}Oi_R#Gp=C*$^&i1&)?eZ+t1qfoG;0`{ zT?W-73s?=8t^&nCH)N2S6_35GVgbXOh3V@CeM6T){bh{ zH-tv?3uw&z0vZZ5_K*hZ)vSj_`U#}FXI?@Bd?KCd(X2lb>Hm}Rhbru)+|IgUY<6Kqu_!Z&`_Sl)zMpNT-|MNlmoq* zWfDyQ0bTgAIVnkRc_j=NFy)31Np(VR16KCnO`9H zGIz*5$lkW;PArux8ZF2{0gb{&q_8FqDLFKet{jDo_ceX3& z%W(xCut}>h2f|c=YWg2og2f!5U6r%olBE8wEa>Y694wr$3(1oD1(;_f^%BrNB^9M! zk1<74K{~jQS(qIBnY|C0HS66As8AaDmi87*e>r5$cc6rWngMF$|JhuF9H86;0iXVw zbs418^i<^0tWSa~v0;t1JZhS}hOwv}Vt2@G-%M_3l|zr(+fbbx!uSV{O!%DKpx8IJ zquP%sMLiR_l1+Fk)XA8)AT0>HL+$pRJg4>0VkBeYb5?z+N2h2>(X79|i>y(y$lf&A z65YegY`3=oyMv0onqHOkDyNrBuTqNrg|t3V*u&twg=#?ifuuuv`(LEUYeX^yUQ*Mn z^XHS9KpwB=lUMzgwz=(wQFZY%jU?LhpK$VrcZI!p%g zN$_N$All=^_lf9uUqJ|dQL}b{lT;M;TM(B0rlv~L*T)3aeUJ)5kn&F<$2?&VgLkQS z=eSg#&80q&>r($!y0?39wK;vdbj7OGSaWOz7YZlXP?-9e`jH%5YcHo)CB5M7wRYK` zjwl#7W~;jQ?rs_%GL4T?n%vvioN9(Y4O8m)LnGJ`v*xqE1!K=$*GUWyTz6RndL6+sIkjkbPnm4x(rH& z6mn^cEc-JJ#x7Y!`D&l#KyTN(*~YW#(XL2#z42)M&<} zp|q7~H?7jng>uOGTEPXEIzV$x*2h7}naXD#(ths_mA%QgU|=+N$a$HVTrmHxenzA% zG6yr3%$AN?h>`WSOx5{XS2P*j;Ruc2Nu9MxQcE+DbgI6`X<;e#U0vp&GZn&Y z%Yl`tL1%{LfHTdAA?D1Wre||9i@z=OhBc>*ebkoW^__A1A%OW9uP`6uRhVz=Q%_nB z9F6`S4yUd{f1s!6h=`uj`{Zh0iEg3p(mU$U>!R#yb`d!|?(aXhyC&(~HJCr%-v6M# z)DuwZ`nvwgrqO&FU4;Hh<^A_2k#to>EV{iVRqJknWA5pAYF$9P0i8U7B+3E{(V6|3iOXd;X5`@x=j)3Psv%iq8nrTkSR(XCyP?G*)Q0`eDH(&3YX! zWPJ4_kljjJ0W>khtmi=ii zt&5Id`E8%%`DYxWebUTRT6fn)7|RkT;3`}U z;9QBN2K!*zk74sC)9zsC-h$T1(iJ!c2Hx9D``Vk~}<$k^3L|f4UetNH`qaZCC zGXQhy@tWsQKk?hz9xyCWvP1G}%^I6Ubw+=M0Ve$hFPt{IlW05qG|_MvZUna4H@Jg! zv}bG-dq(MboZK;QF1oSONI4cd#qINY+|sP!PvPRB$ope1|XLOJapBNuu(aK&T^%tV>T9m$2*1{jMM zC}!-EJ6=ILHkQ~V6*@wTvat_DX@{v()ZY58esfpUTtD?>eMT>=@~0xAma$lx`hxZ% zoZ`rZVajMpJBC_afftgbz~^S)@PZT3xj5fZ29vYs-~0-+{4HRWTeTOYq7QtxT#ZNS zajF_CbA>(EfyHDI&NvNnXe2fo1}JN1>Vrx3j-UbAyx9I?<)*#XIE=5{pc(HQgK{zr zwxCSh+@PE}bS$jMC@`nmJYg!mDN~4%k|!9Ij{nWN3nFHJLKA4^{AZD zD~Fbzmy3G+!z}xkrMN>Yavh%^;kMCl6e0zn06E+APL=qWi#wHzU-KJ9wlgK z%i~Z9L`}-FKr};{8u;V}OUDxsm7%pb45Uke&&-yH;S%-14ak!v~O)pbFq|I^;uW*DbaFljcSDYOe{F&&JSSoxRODed;2MX;dGBDjc zF1dpFmLG)6I!-87SMUaiGpQ-5`fy63h=7v=I#RK^gR?1_g3r+8a*;e=Pu9MaTq%+# z>&b6_DY;rC^SaBvQuhXtJY3Ix?n}9Gx;>#79l1{x?uXf;Et?se+bMX`Q0gnHmX1xl9GW8Q|jR(|sHS0?=C>tG#{4*0T z?tVHb*MpUs^(2){_jjKoiB8=P`v&PyCY6iIDi6LKL74ex3aA@oq~YrH3?&p2Dl}Ziga5m;F8?_*}#ltNl=={0}LBbI<>iu>r?sTv{>w<#r z!%7+UJ_Aj+`Y6Aakku#bPlF$9TB&2F!@exuw8yB>=g1Yb=FyE~E*T0N$x&{)K1R!L zGa?M)q^nsAZ{Us1pvDS=X>3-Ko#XZE+v>Z;nhonP7ED=W9c_S4qD0L)4<*P!(`A`U z{U&}ji^J{nSe5xHHcMC7uPZ3HZ^}AJbjbQksNh~RmlyDqNOvRsSv~#ldHRcb`nN>- zjY$8tp1zx>|6EUR7U`KV@jjvhxFUw`y`VK~8PI;2l&Y4 z7~O^V7ircKu$aYZp=B+&SEB5=yQJYt1-n(fsdRBej-&B)BpZ0!G4e2OmAezod>s3R zuQBtgc>~uEn&(f8{ouIi_9eL1!meNj-I`&~_!8~_58s5JC2-e7{=)4$E&?Jl`iR{1 z2wFsO{d%E(hSYEViuxF?uB^BG<^>ajqe|!{GCBA?2+Jyd=6bIj;TZ|DoWSR#~Huh>4-D(*Ys4|;dJ?>J^ z#V1ST-{2YQ@mG^|OJ(&z8?IM`5rN_z#g<3AXiN2LD8MGFHkyG+pdLlV^XjD@npuyA z)la3MloF*=s&w3tr0>p;8w}CE*Cod2E}ck@KCTm{Xs1r3M0e;!YV;wUNRRq;!W?bX ziL_{~PGm&a=tO4pPMye#$~rMDx=<%9(Rn(N9lc2>hV$EO7&an0PM2I49ibB=qiH%} zjWV4W6}^o9gYxL;2Re}xeMcw8M1QLjW1}zY#JDKMc_@#McIm`~=s}&B82w*5F)8{J zov=kIR6u!h^iiFd5><6#YIM6!*kfCvFfFzT@9Sf&cu$Yrhj(tQ4(}Uc_u@SxR*Cn_ z*mAsYjJff?DYgXfyjUsTvtkSI&X3K-dv+`j?>VttybEGe@SYnRkN3^7QFzabW#fHI zEFJH{STf%8F+>VOiw*TbL<>v%M0f-@cQ%ZNB#NAp>ez{$;mDnQ1~_)=Q^2uPp97Aa zxQ@9JTGUPZznM4&-9Mi0d(UD7KBhjr{WOBBY&@x5l#WXV7IP6YM1P59(}`)vUJy|4 zh^xPysBVajC3REmIzq{@OhU$(iBJ+IYLb&I#Ms5eZ37=xNA7T_6+3Xjw{}N1Oy3b) z8F2(x4#ejYSuCs0T+CV)_;iV- zmwx7*tJ_kDfPq!3TPg}$LZ?ufbZ8si@%!Zir(^^Z*?7is;Lapz=2;~}JL%6vgQTRG z3CM*F`<=-{5|Z_V;c6sOdqEUW+qyr(wwbBZ3#zXE{(Yo7a|!+J>PT zu(1?i$86MBF`HL-H7!}BB~-be+{+^j!Vw~?h;}@({%1lS*=sqF6OXdKi4@kNPhyea zn@L(z+u$bbSjuVPq~pX;NquL_jf~xO6FxfuECt*O*bLd<04sovfOUX-AbT5d0B{L# z0`PsnKLGXu!hj2a_W@4;&H?HHHzThZFcmNyFcxqlKttL#z#h<#0D1x60vrK626zSV zEMOntVL%&TKj10A8NgA%w~_xn;C{fr0X_u00hk0i!6LwXz%oDu;H8<2t-;Ye2-pjF z3h=jpP5{X$jcAfl8tKp;538a~N3;=QfmJ5*Jz@Y~dC;z#Tue7f^i!W78($n~Xxm3( zj0IvU?5*){G0+!sH1;7a!gS=&mB0S04eQ6y;+1@<{*Nd8U(_$Y?cnuq{15Aoe+BY` zj}q$tQ{R7FH7W7?kAiUg3lOw6ACSwx0MR!y@BATNKHcvP{X~MChh6mcVjyuyEO=iE zNm`jYK!=rl_|)N6FRK5d{%^3Qv~d5BVnyht+fUrcJZ{9+qPhHXb?R_oEt5o2pq~=4t-ltKC}nZI~2h<*z+8IHPb*Za3Z>>%-}1o2kC2Vy6Q z=?+mnS-Nv8{T}%8c)ml=EN#>BloY%d_={;jgM*1;zpIlx2k-n`*UF+FU8WZ2DapkP z{0ljwz2MT0OFNfnT6f@&Ht$RNJqAD14q)>{QK%QCC7x~dFGjlY#YW(Y%@VjBwc*mR z5*>;oyL1RA0G!5fKE+1v$$!PT30c2|>YX7ekFN6YV;r`}nsp9jbX8}^{euI)Q=af! zRM{Me-V*r4VEL9GM;o=&ECo}ehftnoy)X_F>3upo;TqDJP9;?ab2aO8kkf@R;rY4# z(R9)+EG@jjp9Oc}{J^B(HS3AbjltZgGWHC-a<6ifR-Y)?h)ba|MMkzRKK4LV+g%Vx{=9DHaIeH1$C89nxgMh2yx zKkDP={Pj~(tLv_(yT($yc0OkQU18M<}1I_{>0G9SA9s{K(r5TgIs%J_` z{i^WKkeCs3`5g!5+w1s!e+*;%<|JsM?}Z}2$94k;pve2cfs#C$PyTeS5P1cnLutt@ zj4)@rJ9-u@#cw*`Acz+p!aXaCEaiu2C6#~8^x_RTD2&5r3z2=iSPIHPQxbj{rIA-C z2f}9Xk3a$8C`Kq~T1!8SBXZ+3Y^sK+$21QTsqoah9&{($;zE42l@*E$k@5A(urPvdM8gW{_JQtL4pGSwm`y7@?j%Gr zbMItSdQ5BZ*4tJA zN^je}f{L316Rd-D22A_Liv82HyK(j}IR8*Ak{{Gw+rt1VByeBNz5i@Rv|)U&SI?%ULn*|NGg8xveME;C<} zj20!+vR^U=`Um94+{Rva0jfHokAy9#3SLWmuEu-VmhBFX#4Q-U6DTXV;6^~manI~4 zvn+bq<5tH{qiJ1M^s;YMy@VfN2g*V}W&@aw$BiWQ54ct2rEd&SS2lGHe-g?s$~ts2 z2I+9Qt1G+ya+jw0lRoN}yG~?BYv}tZeXJiM-)h!3as7|$FkGo<)(40Vnzj~k)IXnPnhIaPO8pwjT1fOs&L2i(K*!CnKs8;&;KzFU9UIxx>rl0z=?p|3SxugXqcp6O%`uZ))TLMo z!UMA9AG5lV?EfH^qW^BBnw|q6xRRt;4o!l7WE~F4(Wg)v2K7E9;rkZ)N>+TR^%O5M z>$^N*3liMw`);-0tq!;XADG=m|J%F9HUC!SLkf-eA=x!QMR~`i4%4h|a0Ms0r|zVL zV2buKswm?n&4L6>AsDVP3B0=~<~O;E`jx$IHHKe0Vt*?K{>VRR!DmFz^U^eH3S|tM zG<^;*w4*I09nON$Q(lb<-2b1viz2>rB}%|DTHsaMoD@S74G;5S7!qNCkvkBVM6L%#@!9|MrR zDvBf?i{oRlm5)XKGcJDi9Z)~T803x#Rz`x>$MK79$2tFq`PLP%%%5Ix0pci~{6dQ~ zx>&pgVd@pJ+MBgL^*n6=Ixbk+e+nJk?BFv`e1(^U=_Qh|L3}td>3$fbC*j)FKNr5m zW#I9GbCm6F-VVV$&p+=otrwNyNUSGleYiz51vI1omcjZSf$rt=<4#OHrM^!0Ysz?- zd6USQ9aoE+8%sg6*4k}7rk~)1PZzH$4iwz~its;NpN}7qwP~FrpfT+c{(h9df5_jD z@%NAT`w6@$^tfxKV%#LU)pKrR7mk;uBXKUTOhJs#aT&w7l29h9<(c%YR63@z@ua)x ztaq5CbwMH5S#-+#Rzdiq!7zsMc%Sp`re769CGUl?4yiBkZ34#A6nQ2FJNo>k$ab`W z_FopY)ZP`Dbh$6kZ@{l!VSO;rIG}Q6wd+vX8k`U3n-wEI29s;$V%*FXgtyJ7KQ-}Z z9?rn|i0F@HbgJn(( zO`n<&4+r-ahz~aCY1Sm3m#_EuK0Je8ul^9S*hBgn`#I)dC$vAjnY3TQdO#aaEM{5f zx#XyjVCLX^<733By@Nme6h?Y^@H@}IliEA?wz8wOehJ_nEko*X7WH)q$IH$9Hyu3XgZe?ShE!B;8V zDkr|7aN-Ad`ui0%EYBwTZ3`5;`g3&dRpLTrHl6DShifk++aS!A3qTh*fxF~GG-ByX z3VAA+f~z&k7DpGl-~}9?spDn&av#{|iNz4W1wPtC0V7)ulvu`4m!@de9jGW_N02b) zLKA#Y!nkV$isA0tNJA`1>%-R$X1VB1@B0bEYe>FjdOpX0BA+&`83t(6T6ycUE*2ob z=fE^=T0NI<;P3nRTjB4A_`81?eid1X7NG;)mGS#}unboK2Gtxavqx$X4m$NVpB_}| zF&)Gm1$j=STunm8f)m>c5!1uCYgREK$z4~|^|3+6n0TqM@UPEb+5;cd=r#OS;L`#h z7Wf%~9})Nqfd}mp{0M=k2%IPIyVbhpZGx{5c%8uXw`BCZQOyxMDew`2pB4Bifjb2* z7Wp;{zPgU_XNkc10*?|nMPRSMmuhwWHv~Q|ur9^9ah*@`PhkGXY^Y+Z;J+>KV*>9IxLMRwFYsD{Wr2$Yo+EIsz~cp8E^xeE*TU5c zSepTfZ3}fgsJBYz9YT;Scv`LK$rQZK;m-jDPi4`QEBGXxWrcz_3SJg`vfwKOk2t}f zYQfVEJ^$^3mywFe?|%(+Z+Da1b?02^94Ur@Wq0+3f>|3 zQG$01ezf2#1yAvwo(+P>vcaFtf*&jRor1^Z4u2jKJob6~c}DQKJ><_p!A}(YX~8cR ze4pU4_uSM>aOTJTsV`Lj>( z*g){-h~TkX;?FU`&k}sE;PVB4UhuO89})ZgoOc~BJR<(5`=LsNso>qq*a1tR@+{7p8jrHZ-!V9kQB@YdAVH`Fd}tnvAv zgTJEqeJYz3aI?aJeGdMfI$1 zXs&CyA7y*}eE9k6S{Y!7-NYx_O?;wZ#DAT=Bu}(wbzObA*W>VPYN++Nnte)5W22MC zB*|NR%8&%|Pon;EPgBb#F+qmtCnT(8t62kUW)8eJF%R=Hh2=3H+XA5H>(eQRKAIZy2plg!;K6|NCHem|8?X1zENIMB6B};GGbOhgtCPy{D18#?BelKW4O%ncqqtNXpmkE=75h zCug$BZ>O{IuVk>%$1>RnC5vU%4P)ktk*wT?-?#y%h22B>OxTBA5%MwQW5~ylk9{fM zm|U`95^R{r#u{?iu>Q=}4B@wfsNaxmV9DDV8*_a+8);a{vIa8x)A~}wrq<+YV|h|O z`Ir7ee9VkAmZMById$V%&fIY<2W1WK*V{qmaQ|0~Wu@5o{2gHDTHV))yuqBz%yW3p z<&T+cW+Oh#7)a|MS{KdTG1erO@(aE0O5$PL=(%Iq=nu08V1HkF*xZ_0ol;J=k-lMK z3Y$1Ln@xOVbnB>UYq`Oc#7y{l!(cWr^CG0<+oH5}qOIWR;q4v)O!S0IHsM$Xo1mn# z2^DE%}rxjb5hC;3FY_Ri^9dzUW2mH=Q|T*!`2}YvZt%!T8w=TSU1;#tzr=vmFaZNOfm zZgFD^_NPDK^pXazPtgZta!1@J1H!1Zh~pBsMA!@=#v`x|0?qc(I{qBO(V7*-zN^0 z=-l^+TjKS2*z*QL?uK>V8t)c%gzCi}l5ZM4v{5^5bkjCTPe%>QoXc-_x(nvy)iq*g z=+RrX!sDeqhiDwTj|uyP9Cisig#hKe%N(9YkK&1|j7++t)ziFUaam1s&3ca)8l!ZH zUNrbiNh_2ZuQFJKy z;`e&QfFf7%|ITRJkW_5sHZ`>PeevY76{{96pFKNY_j?U=7q_-n*0$34QaoP#Uqe+j zO}_P2p3UTerN%1Vc(R)vPpWEYZcw1s#CopMRUZ7GPbjC#*XpTlz}~z{ZwbcZJYyAF zzLEVnxys+nsY`~cTJ8>BVhH u-Pb^l_l64XP~hDJ|KbCrVQ6>6<-scNoi^7ufa z`sNypnQs|gK8NrmTIs{cWh!LCOD*0dm{agiJgwB=Y_7$TtGtDmfz{UGN#qwM-|6>w zx0HLl^)23}n&w*1Vw}FnCwU3;wqgUOY8@S)J|pRhEk4E5RMF7nk$f~miDEfMq*OH2 zZsY~f7a4O54h*1mNaxwbG*}Er=sR9~`zHP`uBR|!Xbl@J;2>%m2^k$STZcoKjU@(9 z4QK_l0XhLs1Ns0AI;7VoboWQ17-z`{S4(F1oQwd0=@u@ z!*;s>a4WzCr~uRgynuGV4*|afybSmVFl;?z;{h`O3ji{p5hZ#r zwecgIZ%7JseI8f&rnz)}rP-61EuJ{7r?aNxXG~9B<$d4rjnY zp0{}jH#Akaf%^Wx-V^^Z?Zta+=j!oS1oZsZv+}PN{lz?h__q{Ljq?=6!jpog`1z@z zDURL;ARUUOMI-PT!admY124o`Yy;$p=P){-J%^zE4CI900UQB60Gx{$d>V8$@CCqJ zltXcO6XJ3ySp-)9WgU$!O4soCCPdsZUp4sUv-v}s1IfNBJIcUP)1w0Iz@H4pdtp-i_2w*d4 z!hHbJA^iDl#_Xtz))-n}xDSD8ogtcIL01ER;}-lEh|s6+)BXvNgELha_CfkQ07e&~(P7b8R-{gsTKi=T8_%|m<7hUWDp(^pn3xv6lv4cDs8 zbv3m0Et$T>_Ey-TLo_*~7KS~hyT({26+ zsg@2gCDZvYFwf6=7YhV}KoxR((JAZfS?(*H$yIXg+?e5(D^zMDT z!@K)-_wOFq&GuyPvF*voPxYSGJ#BkB_dLC4-=6TEzCHbW2KKPM*?Vn!^Y@nS sE#F(cw{>sZ-p;*G@7=dIyti*}|K5SU)z5Bt_WZM7HSe#IzpMxT539q(s{jB1 diff --git a/external/WinDivert-1.1.1-MSVC/amd64/WinDivert.inf b/external/WinDivert-1.1.1-MSVC/amd64/WinDivert.inf deleted file mode 100644 index a877c20..0000000 --- a/external/WinDivert-1.1.1-MSVC/amd64/WinDivert.inf +++ /dev/null @@ -1,9 +0,0 @@ -[Version] -Signature="$WINDOWS NT$" - -[windivert.NT.Wdf] -KmdfService = windivert, windivert_WdfSection - -[windivert_WdfSection] -KmdfLibraryVersion = 1.9 - diff --git a/external/WinDivert-1.1.1-MSVC/amd64/WinDivert.sys b/external/WinDivert-1.1.1-MSVC/amd64/WinDivert.sys deleted file mode 100644 index 07aa6d8ac05c687276c3f01bdc95cf1b72e6c3eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35376 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�Ee6kIfQUc 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 diff --git a/external/WinDivert-1.1.1-MSVC/x86/WdfCoInstaller01009.dll b/external/WinDivert-1.1.1-MSVC/x86/WdfCoInstaller01009.dll deleted file mode 100644 index 068538ab460539b9ed85d1ad243a94bf68271fb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65024 zcmeFaePC48wKsec5*Q#bQ4@(3G$JS##pnnU0~jEKp%R=hFhk@cB1t@qe8l7oP)js) zGA+}?w7y>3>+RKEtRJ=NbL(TJQa>1({c+Ef$x{B+;yH+x<~<+uE0#B+9e%`BUYb8qly+3_`cP4Jvz;eR*-c`be-qAE zj6B@jmZlu-uP8^(QIz54v)-vclDl5u3t$MA7N6-8LKg5e;wfB$PeDpr9 zYKgW4`No^@qsZYXWU%e87+sC4tFK#%GBE~>1w@epOs-cvuC99dDpY)PFdkrRN*1o4 z+A1MitSHlxOaA}6|7i+*{8vR;-k~Tyq*9~_NTZOlkrbr&@O&52vq+ne?nmO^{d|tU z5(sw<%D#a#0cki=f259&Az4nYect+zUt-A)OmbZfK=LuM5Tbgo0MurQ+)WXQ|gsv$|_~0G8ezoP%;zwdOTgC zEXRMM%ZHYKQV=_{~ELj$kRqbO-Xwl)Dq7C;@$DD3uuD zYC)kO$~m?w{Eh*g*CIb(xgs%Av$jXMMe!?cWsXvYUoZZf3L3akHdVP9SJK6-I~TQX z0fnb2vqare+}#2?v$eh6RJ15jJfgNoJe{jl;9f$mMEj}eXC^o&scypmvUYs#L)+PC z=|2e#2F4sI?`A5uqQxAPR)SN6Lwrj`j(AHflkxj9IOLyfJ6p7`Kp&E8 zQlR^a54q(Agj6VfZSO^EQkZnK^X1F&XTPbfEjp(1)lN}6z3mXD35ew9Es$!;-CWRo z4mgoaTS;%qf8}X;V3!deV9!DA8IWlEINgGBa%M~iB`D#hT$nUWoe|T)ds3Y9%?^wG zk*Az(6-jbaBE~W`WgN-!X_vF)@!H2>@2?E~a9noU+MjdI&BB;v@2p1(NJ`l2CF9M} zvKFb&HoQvAO?q&?%>tKr?}fJU3SM!pSo}{On?+eW4yklb#rJfrOkC{p)0g@)K(l$^ z9W|Xb$CK&JIZll;7yr#n=vQi+c^IdiZpm^n6Y%7SOx&a_&4irH20T7x-*bdkNgca= z9I2R@@Cd`?xgC#WTH9N5BvR+g5t??oMA$HCdrM$%Xq%V80@s5ow6;rxRrHD{L8TU@ z%P|j)bCl(j)~OYU*1M~40i$RWx_Kc z=F;jf1#U~a@s=Ldm3VqP>ek>tmgJ*VJ$~skEmyvI+P3+qA$==CVe2~F6NbepKPXp| z;IWB2{WrV+lUPv_B_5PJIRaBo=_`^~ z5?k}R^oPy)d^$SWc}<#Gb7ZA*xu6I+Nq?QAF?%&}p9Q>b$5Yn$ChUQfLlal}^QIp> zE@9XD!Z+fu67(fBYLiqyzc+qU4z2aU={@Z;p$9eIa!5+D6rK6_qU8qch>tSK)}s3A;|>%vlS(rRJorO{LQ5_0CtP z(^umQu`{(6c|sd#&Oej(c6*o)4}F+xmKZ$Tp?gc4JB8lq-EdadoC=Rq5?XLY}6&R@U#Lw+YzF~wlDG|t@!EXf&6i!H`AKV2CltZo;8rQ-YpNYHQUSi z`p>m7(oWH`at50^-?WU$QbuZ-v`UsN1>;@|8dpO{nKC&B`i60ee8giZdA0bx3jgIR z<4|ucMkz~+M9I>Wk~<-b?2j6U`i*vnmfJ4h$v99>>y$f1U2>u~|CBTS4%C>9D=qE} zLF*MM^Td4GyS_4KTD|Bgd2UI0qK_nFH_HT7?QtBlbuwkm9%XyG3?$dfw`qAff2zf7 z&|s0J)wQ>!u3IYTX3lovY}Xo=&0q~`LVEC~o*=JGn_-80YMe|@o1>IIl7yKIxi|kn zN?bBza&fwt!Arqca}2%JwCEx!NO`p8(Ng5;rBO1aW-zq@Z6l>B)d!^4C?$k3H`0KK zvTUcxxP%8u-C*yJ5~kUDvtX?f)Fl?Q-7@}}+BbEp^uvfR>!j9@Twy&sS4>V3o73Y% z?N1Mv9x}OoX80x3z_i=6OVZ{i%NVgtE-|HRES^ll`05~$sxk$4Ea50ji`<*dUX`#< zHK5BXWlaxzbLM!+dDL59D}<%wO5t`vEx8(#UV|xT_VG)do-D)p-8v>ev38PD-E(!i z3S6hIV?DXy^1#B|T#s9=Ou6ZayUC|B>z{q4Mi1m{H8m<{4=ufv&Vbrr*i+1GTV8 zgVV3(loaZnzCUwSX{{CK0uLX0v-YIyYne0Izvr zMgi6c&Bs+<6?jUkL>l+4ACsEW&RVub_C!y5DgLWQ5A~2RN;Z9L!e{i2>qM4mDZSw_ zFzlPW5LQpQk!ATpN~zbWN2QKSj>SnlEuxf4g)b5~K)e+KT&HME=sw7SW0L}~dL1)qi)m>Su&Gy_Lw!Z1g9 z`nIX#Uk3cRYCC-^_Q*BF3e@baPx6&BCso5yGD!{Yv9c%XIL4-A%t^+~C=GmOm$5oT zk2o^ZkDx4^N{5rKQo2*)m&9}-W&y3}IP|*&(jvVFE3#zip?csbH8OiMWlz$@Y|U~r zR(|T3I5i$uYQ$g8Pm5#3)||h@h4M?xC^w{zHSgA-RMJ4s^`0KExwfju%#%{LqFYP% z70-D#?O=LIrq4}W?a^bdi{}dOSw@Ag0%d7K?o7fvb^R@^3@Nb&iI&;2F>y zBe;S-S5sb1`8X5$aAsd6xNG?}mW-!zSjx&*p^?-V$?)W=uy5nEa7yK9GEC{sR6(DN z1|Q|`nb6bfr#H&dhDH&2CDX(7IBGFUQ=L`kj_g zdT^$_nvS_(X>eK#_K`1i3!l)plO8eWp&5Z7MAL(`G`DFB>GRUVXCG|E`Ia05llq;{ znfSL5x=r@IFtG|Z@5N(0F9TGr{8ym`brE~GS-_@tW1PPX<(%F5uoB$6ko=S@HmT#* zh_O&(Ce!vR)V&7sR0t?Ow3O5u2U^hAlKA~k_3uajE0t@Z*RKL4n4gbTfSG5x3z*Vp zsRm-RFd|y8q8Id%~)PF=qPvA zlIcqcPcD(s8_ssiBQ>Kp(whzn4im1W0eNS)iS!S7?t>>X=D=6;VjpQb{^MS}H{rWY z!!w?SlAc^SYH;_Tt0(i!6-Uzdam+a_Mx=J%VUdfRD^dg0+x&;V!*D}BIARaRI1?kC zEufLw_L${V$c4FLAdWM{OpxAyoH5c@H)CDGe`!-fPl};_&oE7vjsBDFgInlI;O~1j@}<(`J2L zZ+Q~4=wx21oi2r{)UY8(0_|`P7V8A9Flh_^-2HdH&Jc zPHY z*|3vP{--#>lZHPd1{e88L>se#=ngQc4Tj&Y@bD&1wTe=~SY`?nHymr%?z zOQ*66=FS;oyY*PXGtx}|hx;T_^755S#frw5Yt55r`FHx4t6nudQR%a`9&t@*0! z>X)rriF@~2t!~Lu4ZLJTlbVgEUF|ItWk>=hcaRI<>s8?_TXOC?A(Lj=4c$+<3YRTp z&V_p1c`$9+sdYW7Kvqb1$%E-)Mo<^!gBw zI!Q=S@;a1WE~CCvL~8{-NuHY0LhfbxoLry7Dxb|08%O z^RFl7y>aUw=}$%p7zOD`U5j45^_seW(Hn$Q^N0QNWKwUf{+a!fqC92!Ki#i9H$rRA zxD=(8k|}q1tHj-@XM)^c=Gg=5ydR@o-^9Bq+##0jN$WW%y#qEto;HwmC>>)^lW&Su zz^c%e$hSHwVK4Z0lzh9%ozN{-B&2WsCTnJ?yQIGATl=$xx73Ul_OvI~Zp=cA)4tn9 z-6_{hjB%5;8pfYYV`)tYhfleCYf^S5+Sb5Mn|j4=n>e22=d-~jxvSDsd|L16xO8d+9Nr3`Qfao6_z`B6mm9MI|lSX`A(v_%CY-($t~IcJb{UcC2f>l3VYYR z@D_QeS&en8+)= z>x3)0VeSx-C;a2eP~vtfKF~)$^=|PvJe9lA_I={h@x&fCm9wf|$cB^^?;LNnHmAB? zTUA%>S+#7X<~Q-Q^j=Ts<}R?@%T7Lt%{g>-v8)GOmkJq_Qa(;ttK|aGxnd0_*PUEd z%JaJx1t~$&muKXdxRJBHpLa1el>Pjv83&UmprtHQ>&w+Aq088eT!EXhn_AJA`Q8t8 z@hafP$SPMMrVd~^PivSS8rPJg@gG;yw8(tVi}yVBAWP&aAp04hap*}xkyiXv5N3&5 z^!=w}&F1aCn(a-^VbXJCVtsC%JhJbtj|8TaBFmRBZG+r9=h+NNZA!vSF=`n(F!i96 zMDo+BOG?N%mr0>y?%DTvq&BrUDW%RFg%#iZpWxf6XfADW0d@il@L!>@#gs)m%}sjS zc}i)f7BZuWa{kFvM_jX0hDm!c7QJVp&T8Pnh$X#6Vw1e~OC6Kl-?7dW5~2l*J#&VP6yq9+k(oXAegAPe zs7X7$0{_W5V!jhaZ<+KWOkU-kq+H+OF9CecckWYK66!&ot4>;GuJw4L(B7XpBKFI_ ze8flOP9*E|j!`Pp<`9Xh83@i;`j>*&;Qj;u1UzS#PAu2=7!U)(BP?k`* z1Kc-Uh#~!%t3{lNaasA^EypV5eikIEPS`q2OHjkwpXR4LmzI>8gEn7A@sj5_C6fI5 z=k;foOHj)6I>8tI^nKjDNs8G=-+fcQaY=te z?qN#KRHtx_c-cM7ueMGy&-Pj4r5>IOgRHh4Rz-HP38qQ{YajGPfoa@7kNG$XsD8P_&)?M!<}c$5TMS`)UJOSYC~P0Kg0OvK3fts2I@ zd9q_V5yoFnJucrRmv1~KV`zDu=02UJKYE*uRvd{t?)0>%`K1R$PsrToplL-W^|hMq`hU-{ZzP+{=L!d4q+eUu9u0clpt%&)(Pk2QH()b#`^@TZBiEVO(on>nio}on@&Rnh|xek8nPr;!e`5NaMxAF9Lz60*!2(hOZc2VJv~Z!28*j(`ergJX|C8# zwa%a?Yo2ULeUF~<$HYH=^JWHi6Zu^-o~rBZoF-3nQqP!c(^P*WSt~C@{87d#sR<~B z%K=r|!rt}EQlZScFGlsw6yau5~4{Cgm9f+HmPvFs4Df#q|<>3k!-FCo-d}sn#NuYGzDqv(y%pLuvr?w2P@vtNXvrkvc%6)Zw zd$(#|4d3bDI(L!fsyF$}iuAoChtK5PfsBEekr2uQEtb8Mxc1bUQs?nmstzW0lmzNP z%jYK4RGZWLygyZJuW$X(14)e*o_P$<99Qz!7?Uxm7b|U2-0lU`rAW55itC#n#QAy$ zAj>(<*s$g2B-?0Wb2jlKblLk1=n`50HPQF!{j0N$$LV{M^7hXew;YMZF|NCbhhdcsjqdx3vyuBu5}e&3W@>vTR96@ABC@=U6Hubaz5x z=~I|JlR96m|I>3SIdUU4&#Aa~rv0BO|cH_gAu=*a7Rtf(_eM)Z1|Khcj{WJ zPl=m_&8cSW0{A=fJC2N`S+cMIJI!YKpnm|P-X&k^2f1$HX#)Ce*0`kflh4);V`^N6 zv(j2m%h9rqy>y`sW=~ov(B+b9XRp6xS+GWA_0GPg0ZaM*#>9%?CeulBjq4V9f<@{?sZYG1liabM3u)jv(qxG` zb#JEM+Y`d6C@kZ7@||V+7aW<4G@5T>N=dQf%QKv*dzexhxh~>bzh1;cr2io0jnIe# zXSbYjGLFzw@5y;`w)&Ge+#;yB(&jy#iC1ht&w4iSO6Df1Vp;(i7vf5ja`BJQ`D~2a zz79AWuUe>Jma&2u<$I>lln@&=C`-Y1=KVi+VuQoqO3yTV;(+zc)Yso$X=a_vC z@xEtl;;YT0zT;*0t4^(v`Zh*8tgntYt?KE&y>Mzg&s4riCsV5=b1y$-4NNN`W4D~; zr^0~eL`)k=*^*y}U@u?YGdi80f9n2tLS`xS54|kYPqAz{_fG1eO?f)rI?Z{yp5**E zb$@3{`P27h((u%NhMeokJWF0XnJ_Ht+j9<@8r!UU>i$k`)9J;U(O$yK$LS>Q#;gYA zc^V-ZM=Q2zX~e$xRrS4i6Ws4jeh0c|G$vVYIV*`{WshIJWhmo6Ww`P?F#O|cL;lNA z@|>~sd!^o{zLHqUGsQfe<;Tti|L7mw4(VEpeDD2949s55J}vm<6(h9Oh!4_>;ySag z`#llPDDG$8i6q|{mgiB-dbG`EESYB<=zVeQi~{rhV)BPxj?^<8PihHAAwST+x_15N0ap)@@+&29A{oiSzFQtz@ zqt&OmLy^4a(${hJ{ohLavVG9rsLhco%EW1D=^K!k@88(?oyPTz_=oQLeW&p|-)_vw z%yhfm;cz$;d%OjWp2kMSp^UkFqQ~E;3{b8wDDZeTpjrNy#tnFce|qt@+f-F`I0me( ztzA=F>u@Nj?@$KdD*j3n*ROKPR?^bZNjedo<1O(%G`as1-@c%F>f`qhoc#A!e)35g z%KcR}(^t)0S+6ZwzP!4w;F^Mh!f~}#w|95<5&pf+BkyP2`-ZQ>Ra#9WTqeDSSNmMC8H7cR+V#=bYlv#6&3of#mOBdHGRd_^fJ-3kxl#c-V_Ly z27#vI(c5lHOLsLFCnJR+M5o3>otHVkTLjj`M}@x;QqooJ0zkZP6p(3ip;%pr``E|o zL|*=^X7O@FZO_Bycj``F-cmR5^152f%T9F?FR!Q$UVfz>9fr#<)aQA5Qr*bQBkFQq zeyq;rY}KJvz`mnuqVXV#+a8Hygy`?iu^0)k$Q>t#siAYFxY9a0g}G^CkG9wa}~ zVx(%MxMBH6opB{Ah^@gly_{eARxX15v9cmHT;iwnSopp|q z9&Qd^9MA2_25ucb<0m62!g*iA_`iiLML2eIK-n@9^*w5FzqIs6`O^(Ao;zH^7?pr= zF!aUU!3@`-*m+)~TmXBLA~;S0+o6|rRW5eDvA}q>LQ(c4O+tYyChgY(Ln{47u0&)w z+J1To#dkZjhrTQ7Nw3iz#lH6dnG>!gn7J$uBl{7_h?TJp$@=Ps{hKYhFGK7HQ?*RR# z+wnLWW>rtX6AdpE8HkOjD68CvD(hci75>x3&hOqLnv7yi^%qbj7xs*6F9h$!+#!vacN(AFq~#?U*%acB4h*rSVQk?CCo%Ys0fSK5i4S1Ssp z+EwxT3=l2u@~9Ip0pRliIJ7f69wv))@wuFCzDL=L6&pWWl}fvUkp;*To~!OD*8@M{$pt5nE=peo|D~bTL$RvsHS(C?zZ6 zn<-6dJ}MYhqIq`g>j3UkH(W$*?>A~hT?g)@wqH8}RSQvA5%5=rULmEG1zMIQT0GZ* zk%T65h)Qs%>ftQU5|xKkLPKDVxZYT7JOpPySw%qL<9B7~X`Xm(R=hy%fXEyBM}S|= zp`AG}i1ul-Q|K=7!gqX6u?$dWcg119Z_M{WUI z%esirV1ZC~CqAJMje|D>f#XHHg4Y&`DYkly|JD02Y5d09H^N0SR$}aa<1fW{U2c5~ zSz9Ek)xBToYF=#fZJ@j%dNzc&4#&L@sut`HC?4ZK=K>SA1NcE@M8ZcYdG4%0dO(S6 zW*vR}F=%nzg$>-r55$8xfwVcE_<=c|KtBlvLexo3FUL~^fP1!Q+jJ4tPcxh;$NJ9! z;ojBKBZD(`F1#U7Uj^WM1B$Wgcs!o0p3u_kYW8hqGXTgaI*@3rFLI#$IsRyaL*HS< z{~LIgIVxl6RCDXjLo-13jolYeqFFZ^!vL4gncdye%ZSq+-~}AnG zXHy=CUg*wtHaU^eCr<=4*B(zzWN@@BtK8$+Iv?f_Zk&TECzvm1iwA9ur593+8ZUvbl6u5i7 z=%(vyY~ocL+2$SGV63sVUUdxbpTK=Zg_r2%P9hyTv0!);xW!cX$u*<#bB;<|N1lZ#4@&l>ZIcgUsN#f2}z(=|p_I$yfB!-oP zFI(A%&)Aa>8p0)r2Zxw?rR^60 z88>^@GCwxj^|?dy!zrbRO*Sd2IrJ_KpJ@9XGbC_9LaBtz=I5Y#%~uV(Yfv0`}Gx z=;Q~YlYoDI+wOjl&iHr-T_tCjzO8vI2U?|Xla*pSKd7im0yyT6BD`Z zASjl|C+Znf(Txdf1Do7|CXhAr`OAor742vkpm(6QL!f=mA?=+U8 zG295kDVANgRiRZ<3)R8LihNu+q7iOFxcM*zM1n%Ek&D1f1?bLDhe;s2CGM|1mG#W zjfdHjE`EzLIaue$3ouz?xA=|mr~s>jx^16;`+j4TC@`RH+Kx~h!eZ9uNwd-RO;|x| zsOknPrFYL0$U~$GAEpq}z2sG@3cY19^aLEq1%?+M+MXom5T-T9Xd!Y8-CVK$B*k94 z#MNAwNvCx6uwN6~&?QRo`fb8x6UB8O`-}#3>QSGkHYh|k5#vetP=S8xq3d`gctl-( z18)Jb!cd`HBksdSxp1q3xoT@6p8bH&Bw_vn!bE~yg+WK~ycYLSKW^dipmw~i5qWs4 zMZ2^QLlYgr4`dwB_y~qM;y#KMzyV{31e;|x`42RSx{r8_Tj9KlN?O)r3S020NbqRv z@j#l-xDl_x#{NAXY&VAe4Pv8L8)_|)`W#C(_+Ce|EEHVFfRzWyog;Ge-VC9 z@LV;YWn)<;XdJuLXT0($C!etsbI50m!6T1)gk2tmN)?mJj13t-lTgl48z6zAI)x`s{1aQ2Qvm8gzIA zISV3-4kO?+LZ5jqT1WW~&4r7<=InG9ucW8tF1 z!D~a+N0b*E!4jYTI$CoZ;cri9nHM&P4ubUBkhDcd`n?@$IO3^$Kb8@yKB_FPwsX$~abb{WWIO@KP3OM9b134A?=h2|yIwZz)D0C)z8B9gcksQ~0RskUEh-eheTCc4WT9Z5OZcQ`}?wf{zv>D@MuXGEHc<7^!{F zB-Fmp#wM65U&L)-9fWoC(LlkLk~b8kCgSc`yrmVo6=n=KpTd9fdRpA=cmC!nWtaQd z#$E3J-o9bc@m=l{&AZ&4x9oC%wtbiT^B?YVfAO)=46R7QJVqw#ZX;Co3`|8375O9L!zd^a) z(Tz@|q1C8l4Pf9ioa`Qms1u1n+aQU7lO>(x)2~n>`Gl<|@=2X$GlW8!`vOqb+^;g+ zP}Gd^zlcTviVdvk08uZ2_S~w{$8Ukr;0h{!ef)qwejqh)jW~|i=W6yNHnRv)4oAut z{bt(t&Y9ZuR`9d2ztw-I&6wCCRK=zX_X%ipnLaPu|0;NJ@7T}AwnnqAN7<0?Wu-Um(fV(26weN} zS0XUczf=UPb}5PoR3+JE5$@90WMgk~m%ci~V|eLp91nhS$(rm`=9I(y(|d&4>B8`C zyIGk)khozvwVJaC%TEht&dkARuT8H zS6{|GH2d}HGsqwiiu}lE*^%;u9*(z$8rqdL>A@kee#hbmBJNHI>(`mjJq(EI0|Fi( zF`T~wUHJh-)N(dW!>vAo0VVZH#0(%$Z*wu>Y#NCNm~qh=!$s)DV;rQ^t`?=J18b*Q0BSvLf~X+aZ)j4j4w z40_M@JX@SP)NY1s!42?-VL)K@D#gP%B%GXeg$a+n8r zx;_ZLbs68MGGJ z(e5DXX03LLLk=J>JipCYRU`+y879uwJMhqTXtvMaBbu!Zhz+qtv!MqPhZ@p)s*7@l zB=>!+4JRV-ur)^8qZzkE()9yl_qp~&&Z~(y_zVh9yAk>V6dVm3sCXC)H*TCHtPL3x z97x?dG2)8lg^#bk3i>WuvgRa?N$hE1un>mcf%06!!W`GIaz$-;qOO|A0Bmw}ugru& z;>2BZ9yDWJCL*3|`f%W4eS1OD+L+tgSu{-Q7?isXMZ^2SH+UA|R$Q+{nepu+fqdbj zY%SM|CHK(yYRscC&AsHw%KR_gGMV)IR9?e|WufcfaE=6$aIfFkj=p&~rl`ZYaUc*p;T}#rz54GW2xKnm z(z58nV1i^HhH7#h=kp_od<@%47p`cxvuPvP!PxJBwr?W`p&J3SQ&X7kYOX1)}EAZwY2&RreTFTjippB?j=?*Cv^kvZs`5+fmZDp>>UDofP`d$9%C|Uv3`> z!z{L>qv1|y7ewCii+BfqJqV=pqFz^`q;G}naZ8VtJdw?OZZQ195FJ-|*rnr>cy24S zkMo7_$GpR}J#qagaWxWGQ5(-cOx*v0SJj}|62Rk|*|+ihQDVbRLp#T$#N}~>f=pdA z->bhlcDKJg+T<4489x#hd|hz@+j#DN+PWivZ4SUl2VA(9xp|4ngWWDUw0LelisHGW z?2~6N!sW@1Q)u#)+yd6JuqlCSLuIDL`)m9)cL64 z_Zdh35RVsP<_&~ZkS2|?2oJD(9~kG-LhU6K92^5^`oElJshc1BI-N}q_WnRp{~oyM zY9nfh0AiYoTqCs7%NUE^5jq*y7DnAK^W*|TJJeG%qV5i?Uz#B*J7vjr@!%2X3+|H; z7Z3$MpYx}aKOOuz&Yw>`e)R~(Wi)`GkOctTjpmCHzp)QzeS1}sjALSBcv+F~LlB`J z^7CtYi$&X3L)Etpp|QQbl~4=#W1mz|M~|e{|2cyp^LWv5A~zrO{k7}m@LtxJy~tL6z+Pp-UUx$`sAmBx0Uk?+=LIK%Pa(Sn zSu9c)FA$M}N~85UDf{Z}z)CuR7h>L5AYK!DH{s~|)Ipet-3t?#0W7KJ_+KS?{a8Qu zmoZv!-!--~6dzi5<*N*<`b8MmXCNR&kNZ*tQV&9D;jou#fI`MEaf98Lgy%(XeMf*h zAx}zdC+U-U_$&U-Zi4%CjdVm3c0KxQRZa>z>e-GoX{`=p*o_xY$Lis`&cJt6kl zhg+cELMRUoZ?>9`c5SsVlNcwEcnDqi^iJwd7|JY2>n4;yWsb4h{z$g%LWOKqox$;= z1e-~*egXet&Yb~hN8ORohV~O1@Xq0)jlU94{n4_na#!=KI0J}v%1cjv16%4UnA->s z6RtZ~Q&?ODXJL0=yNM3FpWzBv?k;%TI35rjs&i4MiG_PwY$l%Jr~{xFhhe!vTE7uP z1~zXd%620gyVR@J^5!MnR8+usH}+UHo0Vg&D8)7%3O&Z!%R3tAaLhWPd&ih^QNJCfA32-I53{?+ci?5>XI}ik(GXssm zU-z_crS7O_J%y+0xg@y#TLjAQ7cxO=m#WE|+56u?^F-UMjysRAX7aYQ&8 zUWcX_^(53}47M2|Sd2c3Fgy1O7;=wnW}V2Qqmf0O#tm?rFrkZfIKwBws!)TGrjKW6 zBv_=o4+pLb6l0omu6KYt+#4f`ZI4mO!UY0tN)bSF_PgJa|~e+d{Z@ zdW?s$gD1A!8!j^S!Og(Jqi&iDgvJPj+P;AE#n?0UNC^L%0={!25A@Nc3#1tt;2qZl zJddt7v@`B=0B0?NM_=Ml5c1=itnFrDx;pm#6-rLM4;{c=-E+`H;6f9D*RTQPQHzPd z&ya;R-R@I|^Y%e;8+GsXxL{AoP!IQt)BJvfArJ&x2a-Y=T#|sqs6c}N*6Ky;TSe=( z-#~N%m=Js8xs8GaT}3V0;6zCiN@Q>bk2l~33Zk&V2t7G-c~36qqU> zrnaaB=YF2`fqcL789#@Gf#`8o<_;G?8D^v(IJtmIXnT$iryDCps=AcVLWyBu@ox6c4b3s^Kk5{2+%z0sQCb#hpcdcFArUYld?R# zp?6|f8v)wYygp7@2xb;X`o}V{w0Z!pYjU(KFbe*Qu)~|6(81^Aw`~H0PWzbl)YUxE zovjV52~8R2{9$t}tr#}xilSgv{V3-P{b49>16&lHEAJMHyI{tQ8L?e3Td1$x7+?sC0ZhTc51}FYJELJHkL0(e0T)O(P`3`;vxwIK9~=6nkc&yE8b^V+?{u z@_2DdlqCBT_EdS|Ganu~@Ba(;II<+laj=j@+eHx_955lVZWYXOcP5aRIUK86Xh1gDk-ypVArbctV(QjK#;SIq*r0zQ~ zPA`rKVNN)Vry*u3=d#7d1Xl0y$V7yCDE`zJ>AcHJWP({mC$#Fq28VWAP2m)c&JJbh}0UY7yqyl<>Q_U~Pt1y1POTzhIFgJRi?Xo(}( z@SQ%{%}`?Up1IA(f@{ghqKBu+V5rLu8u@PtWp;jGja*c1`j|q4Lp5!*`>54pO&`n% z42d1_`lIV$ztf<;4ttCiEdD6AT3Jn~Xk73n{cqE!7rkG9Bm73M@f03nqFjrKqECJh ztctkzGY;9GP2=zAWd|c^HM)Dhm+RPfxMz7VGF2QU3k;cGDVNEMjh~NBbxlI;!!7SI z;rYR3TENIIHy;so5uF_MU}vL0kYHdWz9z%?9LhunNsfBdW0+T1$@q+?_6hS?3Duqx zShYaihw)3AZ2SvpqVI_1s5`m~*N8$83ZAJ506PSN_9>s_-iE68!;NBenma+)K^Q3) z&Ze&;2TTP)xGRoy6zO2pE%3ft;Ci$N7hoh&rlFn}v$h~sTy ztDuT_yr=u|AaxFUZF^pDSkj~gYdFxPM?a<7oKo$YQVp)zeja#gyFbxLz{T1ikO_aO z8}d!+YCw)HB6$&l6Hm*#pI)Kf$)`8+sX8BcC2CyVT?4K#YmDHcLm>U4@PHbwQ$sAz zR7p6&72vZ9s2G2ZkvZ6SH~x+stUSOP?}|cj24W?{^MOk#KFQp%9VQVAD8#WCruzV3 zC2zPk$N7JR%)ybva?%(dzbR(S2n17f_UKbLEku`hAP+MWSk=a0Nv{(JuaX(_1(IXf zV!S{yFhs1;@V-(Brh}MG--HRqgqd0snm8_4#959v88B6X*)W8%_e;?G5Q0J>pQ#Tn z0K`Ay$Pp|++ZyO77@=#S5DXLvsA>lZvrW{10knWq3BQ;NxQOIpK{cZ6Gp@rVGP9D3P+5avLFJO4|c-}|T7@T z_fUVfj_vRvoX)kNnB>=bR3L^GaC(;Yh> zoqG*Mpf(1m8NWA#y5h!^JfX8PKb4uG_B_1IjJ+d$8>3)zlefpT!A00!?tjUESbF4o9HMJ_8~p&PQH4dh-ih8L4edQ%5Q(mvn8Eiu zA`S4*@1v6taSw-l3I2br5kmmeO3q~DkIHqXDa5vz(1>v)BGdw!HR&N=*3ulR5c#UwK8~==&i5Ry1 zWmTMUh-&@QVj2m8eJZ`IGdii1yU!vnmvC^j@k9nN-5q`bbx8uM*g=qy@m`>&Y&rn8 z-q68UWTPc%X;=UtkXBseZg+mW5Q;;rb%u(;ER};)Sg( zGRx9~*P+L=(H&m$bVkb#mwQ~tjg3;aGF``K#2SP`%)1RMsVw|N!#SuNsPY)Qfwx?N zpQo-EV50t?e-d--H_72*=!9fCU|en^`CLZyw`5w8FlDtTd())2;?3 z7KeT5ik6K$V&VG z50&@&V&7s+y-awkJYL{1e#+&-Sn>R>2l?X?MY3 z;U{S|*yOm~wI|T8Cc?Ka%Z}mPTrF%PqmhJz_WbYnZzwS@39Lavc zi&8}Fh`e|olPn-;#MTjXQ?@$L7-ESk-Inj(6XWBZVnSpDR>g{dj?ajSl@YfU_e)0rWqU-Wb%!7k!{DTi!Km=+ z5LuJS0oq0MM|d+XHCmf|97di#;8vT713!VmSF>7);c@M2K4TX)2jK?Rpod41LiiUZR=jIpkgArDFP-KJFM+l73M9`-$M>};B3DNbwka5iRbM=nLAAcMG z4ii1m3)hRngpcqF^Wz&o5Ca%gX_Cd5SbWdczvhH%FPLXWQws( z@XQ&mKwYo8EOa-VRgi4DYUs_iLA76cgkq+W0bY;!qKn(^3?Y z?2a?M7ZffOXgZskk=I91`mq}gkE*#T^fSeGtrAj z-Le85UM4zByaTPn%pputw9DD_6Y|X63dM2|vw-#hukEN0q6rqg36roZxU?{MP+J_h zh}HmaXF#zYlnPKk2v7cU7W-8P``LP!BAMki-arO}U5>J+ki}rJ6hW&jj1$;hf%m^f zjcn9tTLj*Cj32Xru+&_1IX`M2^j7HFNI7c6&y@G6b}!`eRe;7W8KL7uVIT%7j!p@hQX zI#HY@cZ&-f62m^g-UTTRn93-I7i3b$pMx*7z_JOJx{jlxyUf@>j}tLa%rghh@V^KF z=mg!{k&bzMTeqMlFzzznxRSPzUQu9u{3BF{+l1F3u%2s2M2YQqc8Dz!GQp}N@cj?$ zKZ55S*loh5ZY>7%2uiq>KT_1CBnW5gJiqZDtgEhNrFF>4ZE|}EnTKF)vtWJuD2Lso z%8B4Qw3X*Tv0vE*&&TVDymAy*tnKl;EBpn1adQk8;}G5rfox$Tc0g9VZJ1D!e2|ET ztEF`bYMI`-GklPQ3b(V8gpZ5CJMXI#QQMCrZ@7zWW(|EjHE8_6uSqVPf_LBuQTSh( z$Mr>AHu>o2n@k{iF6*(%H-6eYBsq)}8x@hZ-Mh~M#c{F;27aSqt zz>N$n+o80wz87Zk20?*BK@Dw)gejL)6@`K-RFfQoRFmHm)w}1|cX5!HGA73!i`w0r z;Yqx}M;OQjOg3594?YN@*8l{Fj(7?>k(BmZl#aa8Df*^p7PUCT*U|*05}d>GV55WN zm89NE;`>1y%ixrAW`Qc2po7B^$wYoUyo6=9pIFNRhtsH9KLVDriu3fw2a90vBWpH@WufuV#+(z zXTcQXIoyHYs7~XCumksOk{4%J;#HBtMGpB^F;73x5eEQcF6SzD_O(C3I6BZiFbY8* zM>)Plf_Np~J?BXs2shupVNBlk%C!jo(7~w0IAqC9zH<@ z7%~YZ3-2T#28j^CAuM4NU;wWJ9YdJ#O|ifK7s>G?$?-0-6&00eYnp9rX=0yzN9y}I zq4rYCoj^pBE1qne9}Nt`OQKO&qIu1c;LgaRy^%$&E$%I2F#f+iUG%oIiSA#~-<(b5 zxF&Y>uvadE2i~nb%Ov;o;_qOA$iokOxu$T@UT4#1f`qNm$Ozgub8lP-t26v>cu?qW zbvE6H3`sUQn>5Y9i)&H$ZXD9_Zf#s6^nR;sq79A*cf->`VN8v>x4<~;#}WyPq+_cS z^{hn_PH4c@QETxehLaaLc*k1uXs2yeq)kH1HXhuWSVEcoTo(HgP=$dCg0%PU7b4>| zzK;wH0?Y117V8FaX37;WY}l(I$gmgZAsY4;Hnh?dVhR6x-^%N5OIDh$0}u)M=`ZJZ zUPJyRe*H@x{z_~=z{30;*5(JFqZjJHN?A}SKG37(!o1+I>R5+C9BmZ>8N1wmvdpM_ zUf8c0u;i%eF)k&(g!GN|;%FGp-OfmSS4@wUE<4VGet+{}{|E3q>V|It^iv7YSEz@9 zr3~r*2xamkM7e(B5m7gfbr*?py`|glaKe>H_H9#7`$C&Z#fqg+L>&3$9_Z8Pito2M zn;t=qLExd>etQ5nq#a*ZfmDk9H$e?!F*dw}VPB&@3xdF|V#Jb;esvQ{)Cc&Z@rN-F zk8$9aBw0Q-R&rHNSUIwnv8Tw9#m1RTz%fR{gSx0F_I|Bx-upyd=q?;?6}w|X6Y&i_ zo6zH!|N8d*NwEdI`yr#49BCzxVXV#BG!HouO$r}!HkIN=#3sWZNuD{w{M3ur_}TkJ zMShS@yGY&806TzVOxkk-!?BECc40JaCpe_q#8aPqI)qPoa=Ptzcq)%`IGcWee5tmw zR4Y^SP~Z49wh=1?6%(Jmi@G1g9+)7a0~OSxAYwFpC52CtQV00Z&QYL{${q^QL+oz# zAgTp$Q1n62`u_^-p5jx!=onk5wpvfO$fq0m^lN-NMcraO{jqrJj6#RSS>s&R7%uyV zip1XbbFw|SQ>pShjFOX|z9HsyOEP!v!Twot=yrX3a(oX$h1rhJU@`7yi|Exo$uV$Y z{wyG4Gx=W7Dk?f@Yw*NbYKz=K#A#yp+2m>;#onXv9)+{@7MJRUp%rffIz z3H|gPM17Lufm@c=uQ1%InGqW92rG|N0WNl*LB@fBi;cT5)>xs6PYk51yYbVK$>*$S^oNx3xR5h^ zH*)GuR%ynMaSiDcnaql=LluRKvT&pvzHu!&EF7^8r5d7mxETM6`40ea|KTmdV&Xg` zisNFqu{B9}A{ZkO{Yc=44~}YsfZf{!5G&J1kd|;?3-rk(XsD$NZ*UI)nRk>Q zz3IZ&SaHY;8@t(syLUxuW1AE=AJVgB|+DsCj^2fMCNrxa<4;0jFvA( z#asCukKwwzU3cgMBV|WCm;$C^t+Pnf!7w7}TR7Wx%mWyQentGQ z;qklj;&+WPauXF1W}4^od-ad-z5PS3x9If7_bov5V2A#Z{s~@>O*1YAI^yXbJdeje zl;7wV#_YRC@P?(a6cwnj(97~sjydIVZB&l&Ja8i><}$(Li4-;*TfygK^hG&7z24y} z@az3|x#O5G;sA2=TiKz`liFZ?c1FM7y0Rw5aSn5KmhN-#?grkuvyT^N)HuU*FQR2e zq~SA0ED!C(Db5_@X^;v_#KQSm8V_U5@#}BvyNzGSQk?OC z)OybAuH&6cuT zdHyGj`!EoOsgwF`TR+j`#s>3WU2pw*Fa}gpSeoa2V7tCOY1Ya1IG$QMso!qr3sZBv zKIaQ}^>@AHkCr(2X@Lt75W}}~iax`?!!X~`?{`IC)D4;zY93Q`pw1AdMiSrx4)qAl z-p`=cLe*XTTqc4c#zKsM7JD)T2q$OoJ}(PcGFC4hwavKrL~G~>&-9Q8v3yztMaQCK zGK7@hT-UeJwk4jsnvE#HOZ^fb-PBEy_~=G6pAgt=G4VsyoeGih`d^*>Vev~?iijkd`z!R;H=0F$47KknGc&-PgTn~1+xR{?yv)&QUou9Za6jvxcIDWUWp8J@~-QnVy z0Y`X*(7BmgZ$S@{@w_>4AcBu6rr{;tluy+1vmB33oQ}2Vkn8xHTfpBDSMqoK82(Nk zh2NTuxgK#DQX(!R^2H@{xVVhY6PK%UaCztlnWebsZspNQ;+pYjF|G*WJvxi`;Uh3s zEtwl&mC|q!`w>2Tv;=o8nfzBz24*PDEt!+V)5NAhB+OS;A0hgY@L^=Rmsf%@s}H~_ z#~06;Wjp*^1;~ORe4!+<1F?6nkD7QeUR;C*qgKY@#S@?49|(aG#1(H5pQu9lZhaT8 z{r1IfLVh7i=8no@oqcWl4({{D1&#iHom%10{#90V0uq{kQf$F>?a5KLBF>b zbaxjYT?N9(xf&m>neqv1Tx-iOx8>I&&uKvQv^R0({WCvQ(l;Zq+pKW94^Y%j0V4`V|HiTNr%P>(gR5MAT3AoAWcCUgOr1G@-K?=G17ZTZz63)dIo6|(nh4U zNHs|FkxG#!A&o=IM(P9(A0Zt?+Ku!a(oc~dK-z#*hjc5_1f;JcYLD z3|#*Jx@|`ql_+zdO&56eG14E94kEQ8?M8YT={ck)kRC$1AE^n6e@`UZzuB*Hb^XdU zwROu@YBkD787rz+EUo<};4xQUt>Hso{VMCVx@AjO)GEqP`c(#(Ypd2M%3u3cu31_y zOP6I-uF+O4Q=Z7EsjIHW_%c@DUtC(XR8c+?wN{F10i|;O(pqiCvgKNJo$_C4mCIHx z(~w=Eq@`6ZSy6vSW%b%+=x;^+>ZNtsxT@vLG5R!bwHB-`S$0#kR#LZYb#>j$l{KqM zsUPqmN(H49Q2PN|r4kN4O6G5y_{d(S=h+;h)1ccw{Bp8!d2^yTk3WhVo72 zW6@z6?>QcKS-CG)Epoek*vim2=rXAlj$$>Ko+`)Y0TBRYM+gJ0_@Nm4u$0U~7+(n8 zS#G;p2s0Ep)v`i!CH6#Mbc)mMRWsZrm_EP*RLvfb+XM7l1t8hwstX}tE$_EMw4fZ2 zP-HVIK_F%^Tk~>~a?%5O2@3=EGHhO-Mi#@&s11A+C)w>D)$4^ggCLo1yWgqyvbpSt zEVdym&FL<(Ia4(&Ij8TddK`nR;Oqs-A;kjD83cvZrMO*o2a;%}%{vt96`tWP4h}R0 z>PZ0$Yj=Mh#C(>m49&C(LGwZP?%`gO!vnf;d#V85CL-TqS5r!D9;-VOEZLD<<%1l1 z5l*mhr|L=qf7K!GG8{!7o2Lp>U@n_I*n;tIg=hPH<$lmik-sEhJ^&3zvuO-k9c5tu zujx|Vo-&&+6C`0PLHy)mno0taz~Xg?RfKDGTdKT1wJb31k`CygE+h*?0G6Lz6&!?3 z!%{q|&8G%*lmIkbc8w}#*6PU21AT`v6L>=ilh=ARlMZxaV}q2MOD0^OtCqPd)aJ1G zhYX*_uyRB>-Kw!VU<>-hoSe|Nt&$gx3jc)L+yObs|U3#YzH94=UB6YRD=-{$avOfBH9PBpt|2q+X=5nM$O4W!&jXRa&7!d z93Ho;Omzia930EoT$AQXz`hig?t<_GacZb)H&+&y+FT_nwpMR(s%klQzIks7xUkKm zHX&ip>T`Y0JlAkg0k%B+Rln+~%27R<(p<%XC;>5U7P1Sgqj;zmHZW{ET5*cs;{nF3 zrJziEx*f%x`_SN809=K}-ZzdUFVdZ6CiQ>D#}4ZAT);oL8Cr>2jw}ZTpg@Z)LvsHg zyZe}Pv&v-h*rIw+Gdv!PBTMHMw5$0&rcK%lgG{9d>}=BH;_bMq|LfW{ufz&Oi5_2~9wbtidBDnM$M zUgnIDQn%^Sy(r=(Im=6J(DzmIc9y>kf^cy@c1MRIT_~jGS{%$i=V6$4F8p*YTuHe8HXHV^aOI#c z70Li8ZYblSEP#S2g<;{C9*e;8O{po_=~)(QQbvY3S6lOgX&q6P#~io!!JFlSz(8cv zU>@~>o9e@0V7rK92s1bsarNlPs&-?Cr4iU{+%6l|`SGcVF?z z_Jxkb{R120&;D&{cFe``iNod|nUnHV#FTEU7A4-^yu@^QZ1l9T)A=+tAk7v8-%s`k~Cr9V}iZn)a* zl?h{CGIfo5ruNp#sMFiG-7#HUe(2iGizj<8LTm9qggToGN(c^8>#s`&)OOkk%pXZe?4{o(L7`Eh{qZ_TZfOoH)E_kgeEON5ES+sxxp!#%w0`;z>yK?6c^C5OEc$s;|NI%!=A7{_ zKAY7?EovM;ZPjD5N47cB^Vs6O-|W;Mt@-u|B;Wt92e>gDVHjFuEVyqJToVIs3^jNM z0tLN**$=P+C|97ALjjO>1jeIxdhopd5IDS{!#!3XPF!4-a^ zUpqQN8^x1QI}X|(Lc9sJTVs8&Ow0s%x(l(sm>G8c7RUvj4f&r7(GvjrQ53B=1xvz` zHJBMNvfx?1v(zU3C)6G1eSpDP&ka$){_7b7P3V!ZWobuQ;%y+gP^NFh zs~uL2R*Yo%Ag2k?hqA__V+_oq18J%teMA9`C+(zh>?Dmo z%CjD#;sq$mD(}^}t$?!~W=1*T(K@n&m}vcoi;x|lRvF;__4N#ajQ2X&Z6nRwF+b?h z*Gwu8vx}9$S-vKDJB%3)93n_INCC+;U?<2nW5H6ZG)bz!6FQQ?qy9M8AGQ9!=^W88 zLD7MKp-kQ7v-TUsA_5yHIAA{y+uu>W>Ryhcc?|w`&128ORc2VQtPM!*2Jc>*=#xc1>3;Ja3*ddw~*V&?d0}xr?@Lzlp)rTU|^A#MP6 zaf$ef*h@xH-6<1%gkS(Oh1tN|WU^QbTgr}L$FlFUH`o?jJFWxQos+p-ZVPviJIl2< z#2FOBNW(G1)4Yv$^VOh>_51<;B##NLg-${jfe|u<0YZf^O;{|{2@S$op{K};Y2qNU zOnhCOA-*ftivJMn#eL#=@i*~t>1nB}L`rGWAZe5|LpmZ|lx|5+$}h-8vRfV{*UD?< zqw;UE&KPZc&PW+$W3I8#_$KJej2}w z-@$E!gBVRrCN9BEtQFaTOa$NQN0x)fOaomZPdPzeBOA%KRA=ywLEsVds86V`sr}SR z>JrsRMbK^Nc={Duq?74^bTR!dy`H`RR-Vk{FqL54YnZ*vG3Hm$VGO&6z09>WR2sfE zMDksDi7(~9<}dKc!Z=}*@SX6Om?4f5_lsA>NU2&{C|!`E<*u?QFO|2;hvlorl?vK? zwFCd}jThi+@RRsYcm$C^WD-M&>BJ7=GLb;?WE%LrlblNKCch_7ljq0?sujgiL%~ZA zf={-kCE5&@HiBLZd~T)p&}Zn&;Fax}5@sdXS`>?erKPb0*lKnhJC$9)e!#9}KWF!` zciA*9hwICExshBAR}cPpfoo@oH&_j-VKjK*M#BZe4a1XsN1oyf`6+xozl%T1-{2#K z4nlV!QOFYB5Iz$22uFmwLQAo|__CNJW{b1LrQ#-WuXtOGmf|H&%9Ki_EmDK@FDXp! zCVwQ?%h%=ZM#*S1I*soc^$M@#D1#NRvR0{6b}J{9s|wouBAMv$C_D$R!YAW%@p^n0 z{vCb+Z%Jek1Bnlb&xqZ`QQ~LfCeezd$zEh0SqYxFh&)FAPPU{vQ8<+b5zhmWZ4t=n zJL)ubozl@Sfu#D=bLchne)>FUG?Q^M!$C?{m`Ju0%dmEKGkbtN%>KaMWIJ>D+{fH* z?i_cAi!eNG=m2pl4J0$(umz;@5}ycuS;;TvH-S`GK@yUL62UF_g%QG1p;q`(I4GPG zE(_N{GErhjv4=>4SLBF&#bStFlf;?gC*Tzu#O>f0XT{$khQ&er>IYVFLS~GEj1|Ul z#wo^H<9{1z>j?p({RJ|EDu9SS1)_Hi#O-wuu@8X_pQpm< zNV+xMp6)=uKz9X8W@(u=(S7J#SbY&agsz}RYjJ5dy^vl3vFS^Q;|=sddNeZ$BKIvu z&qlEwS(-JlRMWq;&>$%@`&Y2-7 zUSIF$ecnIq$!DFl_g-tSz4qFBuf6s@lgc}HvjoPN0U*na9RjAOSb6{VuThXEUH`%) z_RP3fZ#bl@c=d*r?q+XBho^nLr+#BbLw#FYyO42@E5jqUWi+>ClrF2v*x26a%9=QF ze5NLPdGP6@X~TbfGzM?nocie1$iH#(6b(;)^cp2^R`O}Xe|U5r@{vcI9yJ47Z<+jP zs)ExrJXOP2DR@P5gPUZ3u_sOkV->nY_OI2Ct%%WvnEr+dx(SSBp=7#RdLS3r3@BFe zW+km>EJ?{;!mJAgWJElAR;*JhQ9Y`lU=g`%hOmd)HC*!2}Q*K;FNZaZ)`DO%u~!*D9hvZG@wlB>pCQeuM{xmDJFRyS8F>M_mEB<05UZCIQA+2 zQVV0L|4jcq7FZ<>%c4snZgQ5MZW%;{c`Ifa2STsVa> z-{FkfzLpv}trV5G5LJsmio8@*lf@L`KQWH@710V0=(UmADU4|~l>Cpskl#FMEL|4U zWpRwiN3J4~scN%Id+Cyc=#QYy70wpso~bGOoynTAarLNwkoN`tSsH)cSMZN%{6YAI zFZAb-@jAxBAJ1g$ajXC{_nUy@qU11EOJZt`)M<9#hvgj%UVK-UmqS5k_?Rlf9}=h3 zaiO(Rfux$Ce-t&GK|fV=_A5CW*zm4YrThMn&}-^ZitB4)xzHd|(lQ5{S zq+s0DKRGQER5TcN$~nX%r`?T$L*%xIFIG5D%p=(xCqxQ}?52>Gq(Z7Kk~6-nBgEF)YzJ|o%| z`(%ju9r)m`6fwa;v=Usd4?dBJQr0Bte7*W6EXKdhJ^sdpV2M7VH{jn(JO;;@QH$F> zfJ)M@$?lTER#SYL>BQDUcazwFVQtV)O~G~~ZEl}4SfUFW%EnqyTqvm%H%N0fU{}o? z(5W_+f;4~YC`*$!kiGVx?k?3^c;Ru#Tc{IFPAf-u)v=CsJ~ko95V5hRG=^EVjoB{? z2{lnY%~A-hTg$y_4c!&KMw2{dz4?X@(8g5`-yr zaqWILL)EU@y^xs{A0nq2(6%%Z5KqwDHDg%avd+ZZ9heYMi4k=a8r?!32Sb&P0-D6n z!Io*fGe6HkTz9UF^Odxn+_ zN*_^b9d?>(Lhc9AaFgk@<8W2Kf#VG&Ku2v5#Q`aY1}NY- zBcDdA^64tVr{vR8PAbaLL6|9{tBCBt#MGc;$l0QU#mpcA85ML|a-2X{5}Z^QqNzg| z8pt*<~)6EMD7vQkb&KsVi8n6DRpXdU%NLlj2zlb*6=UM|EQ&9@x*+ zQ<-AwS(Q>{>ZvvJzwNx6Hvc9`Os{E@I#V|sn`-JQ)#>MN$0QRbmV+pongW7OAEic{ z0^4+YVlaG(!4PLKEH?EV=YPBHmvw9J8q+qdQM6xGZR!zI-uU1JG{9=4MFhu(JjSrqD4q?I=+W9`6kZgLc^m;jAz|`}Kbi6lWPB<#{_J+-M z3B7AS8Ms1wzTuT){6TdMdJ(KVyquG3f|a4=!ODYxX8;EPhX60CVb2e+ETq~OB@uIY z4vn;Q#5bgy&@awx3Y3gDJ(u7cGW8DWomDk8;hV5JFw==ZyA+cu5BQG>3w`hDeXlW- z|0K$|P*Y%$UUD4vg^bSS)z#sTK8H)LJfKutqz^99!C0!dbX=p(bzkQ*OjzN2&!7ki zLWm?D_8l=+w-f{&N1d{GDExjBDfvt_7pg+zdK9>Q3S6ar+K286KXkQfS#5sTaPP=zVJ!VXy0ps3oo^W*bQqm0MKEnWBO3WRH7V&ifDPo}CpeV(Q{7=1_dRliE6v;&*#U=1XS>HcFT ze-RkU`W?#o**?kCJpi7d<18o7JrZ!7k_NSS#`IDW+~irsF4**hlwCOx#(|;PY7EHmjIP|IZm7o+%Jm5bj&X62u z$VC{pze`bc@1KkljyDA=9K+y=PLp2g4I5|02(L5+N^5bJJaap`(Y1gH=HfE+$v0{= z?U;?_9UTXOiN4Wfu?bYM9_xF4$qUqT{%!A#(d1ZvdMZ{8H%Sl$c}N8+YKKd1ooBZDbIZ$~q&^hY+Y>sJ1D{=QMGnk(1?Hw}0mcG8h3B7!uIDXf% zq+rb)>Eq~~P%%;pKHq1lrXBf6>`Klw?Q~2iOf>Ddh05PG^}eg;e{b4B0WzfNIuyq38vb?SMD3l-@MrLT-V_n5ane04*~^N4f{S%^(->= zEKZS*s{YD%A<>hKE~##rAMxB6G|-U|?S&Es=8n*EtsO-;=cmgx?qp;SkXqR97$(NZ z4!i=Z!oJUqo@u6@+b;DPS{@ONzE_OC4~)_0VwJ*FDe6Qvu<9J2xqiop!f4=*aqnRBQ|1GLfN@;Ne=J}!eK#akrlN(b z0@q*;O@N?eg(a%zK*4$wrb?aX0{IG2zKl3sC5~K?n4uDfuSm>PiQy{}=YV)sV6xKS z$;%p?2Z}ymq1_B|*h3jO7X#`6&jAVm%z#HnFZI#K5?_ZCwEF-ftbyfIOm`M3(i>Pr zNtC4kxy(qZbV`{im9hO#3`-o7eaJjvK{ zOAl0Mtc`^&U-qBVtE5_LII~8*FbFu#%4ze8)dPWegA0YL`@Q}@e|s&Q)95N~4M zz|D?O!;X(}wS(PCa-;_wqjW3?I&fIx5szB$^5ywXf z2-49g2H<-Cd7(^lgzExH+ID~$g)5rR&8j2O!u-ErHxX?ux}akijSM&uxMp7xkSIBZ z14*&{L>2IBO#pJV&0%8+KcyALj$0JZJw8u~cTN7EK|AGgt{8IntEHm8wy#>sDMX3; zfCHy#`SgD6;BuS$Fbd=xVnit&InW!M`^?x6=|wv!;X)wI(fT+sFEp;GF9M7gS*kE_S( z@Ou}PI1R&fFWisRH=$RUuJSFfLVt1;rrtQy8q>=Tb0R~Ji|8fHh#gev^3$R)?};lHD^A0atpY|F+w)|t3+Rw^L_Iv7o2d3mJ%9LyGo)3i zIQ{4ma^X18iQx8}sRtWkzvCh{BHVvlN%KEW}BROt?*RJsE(@JMixt|^d= zmHRw;gZ+ivjU(KI4bFEbof<^5v}(xI^IM#y`b#bP?Q91F9#0a1p`U`M5cYjqA{Lo? zu0~8Iy@FP?_Nn3f;|<@BhVM5+EVaE@2jOb-O0&LCdD8=b#^RPUzneN26QtBxT|-yd zla)hBDxKaBgB)vwJBI%G3hyt3Jky?D#A@9?1Q~K6G;&f;E5r9`E>4_H{RRs(bzCGx z1ErRv$giQ^5rah^c}7j>B0p6V36USD2}9%&HIW$EttOHp52%Uc$h~S}d_+_e#t20h z5I8QzS)Vx(M6Oo}X26Q)S6nlMM^tBJ{xOf@kjGEGff6`7(YQX}Kk zL|TNYiK&rK&>b{-b>sszkskSrnz$xH9u}l)BX6pSX_4bmxr>6B&`m)Wi)+Yyr~Dh@_U>sKgd1$&7BpdscK4-Zw=%@SYuQ!Fx`$5$~I$Yw^A% zx*G4f(G_^li&o%0KU#)&Rg?|fh9MTW_btG%Xx-qd{-+L?Niu?{dNzGAXVjv-&D&(}Fho1-Hv&hU*U zZk~id%rK9ckCfu*8087+BHxBI5KRwsApwTz8iOu+EioiUuOeiKrVvVqCKA#&$;nL; zO@AEcH6_%E@9P{Yqg98=FWhgY>8UKTK(fjIH^`S(nI*^BK>G;If8GzB>~g^yI^tf~(0`2ZKW@F}Z|QZGLKpkd9q ze1(<2e1Jq<0^h&CEZT!_1EWb^{&&^rEZ}_}74E06zu% z2xaqu8DJq`3g8UNJ^_3H7>9f&AQ$i#>oQp@29Tz*SiHqu4Q|PXnE&f_EBX=X+e2m`*1EN{ptL z3>L)tLkK|BtK@5?&H>X)rFlB~Y7#FNho#O_IQ^IHs>qg2FTJs|@^#;*+e{A(p}(f* zcI>lYRb=|N0QD#HD2v$j*maW&DLEfW$uTHZ4itA4T8aXWK{2JQKY0PsrYUSClr$4t zdI`3iAIOa{^UiJ{28%Tq7$VSx$q{F|2`D< zCzldQ8cW(Hy8DwIR4kx)#m-7x=bwpLNSv_C@p@sFU??mQ7xg=+X{ZRB8M0xqOKg)+ zxXX~Oao&QQRCx*oJ4+{?SyUFNJmtHP;W?suLnUsVLSYxJOvfoVyN33q#54Fg0KT`h zEC@Ib1s#Xn#zl1cNIRwIf~ZKCAyuX<6(>sN2H%A|;TOIOcHw7Iu>nC)57bg`==zbu z`3v`VM{#I6gZcwXeT0msF5Tg!NtH*t@)=|~PW303p++DfDqbc5OaJedz@fz|XZR;k zn#M*%`P0#UDcV=dZ%~dJD8~&MZe7)eF+>>iVoVfYf2yx96_c08RNhgFi_0APH7 zu|*et4kc^c;|wem?xCdeWoi3xCL-aMtHb;7D-g_(#1{RUS8v{LUyd86i8gwtWz&1c zJbLHMp?6Ux-c1jtITbXqR6#Q`6qGn!L9@~oG(Qz+?{^Z*fg}gpU#MWi{$gO<5AUy_ zy#EXiH~on_aY)r6V11m3`%97QPqgDr3il@#Dpah$#BwdwVpzQ)#QM7`kjJ1gH7`wM z$OkGCN0ILxV$wu|mUo}RX)}BR)8-g`Qfo1Wsg`Dh>8cSPg%2hpz(4-~Ho{pL;qU7@ zlnm^o-m5+P2-E#oAFuRZ)PLL;xei^WO<;MjBGWMU=(Nx$12-O(4$opEvdka#jF)=X z?2%Z&kl8n%t_S=q8mXouI{d&sOsF-|2#%WDklNpYS+u_uFaLQlkqZ^C?epEl!kd%u ziJ0SI)V-Ka{f5kSl-^BK3%eKDc=>W)X9}yTt}*#?gZ+s z(Hc>#r`S>HV?gOhe&SyU@jE-CGxPE&gB0QQe*5ReezZ2N#M?xpPnOK?@+A=XU9^dcG-7ADckoG@ZY7G$v|1e({iv5;M6ylYr%;z4#f^}x7wwOq z!77FtlVWNNC<186p9Y^+8om#UAx?OB3}GMCQV6)q60^|PTTrEnRJ>nRSVN00734PXFZ5fl4tE!-g}hy!^(Rv-mp2o z?^a3Wg$YOTop}+?Xls&up>*zKLT?T3&8NYzQb!8^xo4bIZcKQMzu+0a*cY0^zv&5c zAq?EuU=jX;oa5*24vdle7*=%Sd0_%(b5s8E zbX@t=_W6p)fiNL~3-wjE7+Nyqv}a(~HDBccThdo69+13TOR9S}&E|dxyxd{nlAM01 zN7G+Udy(WtUD$N4#jdl)=eihkTc_zVU3FAQ4$+TA@M#YxC!>@@?nyrF41WaS$~V+N zCw|Fs7B|O=#}kK;BCmAW4C)VefxS=aJcHJLf#e!;#Wcg6Fh5P#PX^bNYdN#}@-;(S6MbVRr#hXNtHW^VhpO)RHZ)G156?hTzQgIb)t_}h(d(e{KBT-u z%KNbL?!ue&`seeHV}W~agZl*(1F`_q0Z9N4fF5BfWA_9874QSVTEI(yqkz+ZFyIcr z0zfw4I=~cw0dNp7T+Z0{D;Vnnv;drd1At;cHXs$i2=EM}P5tfA0k9ab5^xWo1F#LS z3-B+1y@00xhXAht-UIvzb>9XI0FD3-0)7P83)l^K5%9%l1C~gAzB=be7c(>MpBI61 zfej^Uc?vMx97_j=b7gaYv4=7nFk%c=42&Iwl>;XMuLP!eq!AeLKI;G;2fPh9AGjMh z5BNdg@xZ%*CjjpSP62)bnD(iIz>|Pq1jeT)b^@3d=P6+PN}UY>PXP`CUo|iz@Kj)Q%6v6&Ixt1UbAa)4C}sz~7PuUE8t_Ws>A;P^wtFxmjFKq zjNOgx2DSt51ug)75*Qao>;P~E@H4*8FDr- zgq!C8rvu*%oC$mja5nH7qJM%p9N^k8CR2f<}JQa+|5rDIA^`ipu|S*-1v#wMr7RqEQ*+~8W;<`wE& zTOBlisJz`PTt=X_$MUamZEW8JjV|NW3h!n$teLgJbu_b0%*8xRz`uog*;W8OSEf@9 zOhS#0)x=6zJ6noUFY4E`R{W8yTOg}Z$r10DTe5&oD;2lSiWXQ0W3;$~tpvRW5@K!L zjr^4~x+I4#cId)~WMcdIpFfb1jUbQwf9%1b<%$m-vWPIC;aL7$o~p;oz;6O#<%47R zF4*DwwS6c?KQV?*a&rsdpT~4&6nkq%G4?A&y0K>m?QzBM*<<)@*c%^2*_EDuw7q|Z zeu+yc5j`GPn^4;9aWx3-o~<>AV_1pDRWG>8np<5ptXl`4(OA;jj=kYKO1iAs;}ujQ z`!-W3<=8)3U95#9R@8e1hsQ(S>*~a+%kqyCec2|Lr?tML!_~OLs#Scx+#Z7)Z7lrm3dq){BISZispMf z^`5QlS!x&lUUBj+aslBRldC0eDox?9_H2t)4 z?EadbS^?zz2P<{8x&&8@B~`zy!_`(*Qd!?tzux5m$5gdM6^;CPeU(t}5#k~il~ylu zE{$oDkkstm(%8J7HkEUU&0cRueS?cdk*aTPgTwDk+T7r6=-66^KGo{$TpmwbJ7Z5L z-s5%Edm7wqb&^-`2<>7kJC)c(hG7$vHo{TT|CI9jx(1I>*XX)OTo2vq-0kff5S{Ak zsCZSITN%?v$Cd_HhtS;K#vV~AD_x$A&25+;WKc3@WmR>_3X3IMwVfASB^@2B8#-u? z2rdsx)YsK-^scXSZJ}OtCe*14P%G>MeO+@~vjDb@?EhR!*ST10LLIc+z)le6`9Sl}`n<93Kp-xMEhqP>U)wk6N2uUElslBePexu8aB${cf$M~*;rIc>f zsh#xL>KfWNZbTn_2}`}DnnAF+crpLjPLyeVZTFO6Wr!a1U8NQ39BmBbRKiz+*Wb_*qcC`khh;LS+ z>>z-=G6mF5KnI`;up6)s5CV(i8?G~i>vRm*U33Ah7rH=qUZO~6jT!vN}$ z9@oKbmck~oN%(IoGn>q&u&Y=qOJh?RqLI>OxF128s%ld8Y-*ak zL_PjjpQ+h$S8IpM1A{iiLMrcN6!3aoOP!l+6g$#N7+Wny%>7EDv%X=2OVBEjo6wRg zTn(GFWR(kXuqqW!PSq{m303oWwiMwH+~?Lyy^MD!&U2+6eSsL$JKm|UpvU`lCA!wN zI7#VUJg0QJcwXuAWx30#ni**9|KC4!CHM3-FPFw7BkWM(m{|Uw_#epvI!1Q{ zfUe7XO+E*H?+WGkfU3mU>(*hX8yhHV0ty#y+1Q!^7v#l`S~S~|l|4JdMLS4y+xnu} zt5%lHx6jVNQKqf2p0>84*;`%S*$Wp;9AAiYp=;wkty?o7pv_w}TlBOQcpKcVjrHF7 z8=D(E?cVk#VLrC8f_m@9tWB2L8Q5-`n_OO@dTeVDm61`1A zsOfbzh@NI)tCmNJ$Mp>nt+*PUp5{&1t=7A|apG9AV+*QMAW`AkrU&#*1gt!)+eklSSNC6oQ138 zYPdEo$Q|Hb=SH{`+YL6W?KayATbu2E+YfDrZEx9zZJ9Ysa)g{v&XJr`IYT+aIUncD z&MnP#=iZllfA05kf0+Ap?r83WytKUBJU(x6-W_>&<*m=VH&4pjlXoER`MhI!19|V| zeUNvpeYL&L-eK>uKVaWuf6V@b{pa=`d#`=a{-Hgu;Hkow3Xc^|FUl+O7M(7-Zovl& zK3j+mW#AqW^HHCD(DIDskmW^7$g4HxJiG7=*#-;wZrJ9=?1Jn?*&DLAX9u%?mfe^AdbZB8#j?%PW$Cu;v^;3p zZP{aa*s|9$(|WVD&?;EJY3;J!Z++1EFV;se6Mk&{ck8p(7p;BP-&)_azGMBXb;SBN z>u1(P&ct2M-O4TG%DJuFeVm_@xc|j{kNY>+`T+M!?gg%wJIW1kgWM1og{{wX%r@RO z!#2})tIcccwC%7xV0+B=6Wejype<@k$(flmCx_2jlyg_k`kaoOZ{~F6?94fYIrW>I z<2kSA{4QsF?(E!x+=aQ0+%>stb6aw^=5Eh@IQQRjPv*X#`)Tf^ye)Z8)GT5fe(S6kOv-PR847L3JC>u#*deby(f2QjBZ)}z(| q>!5YW8pcSR${oy|o|logF3+9Un%AATGw;bfsP)h1pBA{x0{;aomatO* diff --git a/external/WinDivert-1.1.1-MSVC/x86/WinDivert.inf b/external/WinDivert-1.1.1-MSVC/x86/WinDivert.inf deleted file mode 100644 index a877c20..0000000 --- a/external/WinDivert-1.1.1-MSVC/x86/WinDivert.inf +++ /dev/null @@ -1,9 +0,0 @@ -[Version] -Signature="$WINDOWS NT$" - -[windivert.NT.Wdf] -KmdfService = windivert, windivert_WdfSection - -[windivert_WdfSection] -KmdfLibraryVersion = 1.9 - diff --git a/external/WinDivert-1.1.1-MSVC/x86/WinDivert.sys b/external/WinDivert-1.1.1-MSVC/x86/WinDivert.sys deleted file mode 100644 index e508d781fd309dd8585b79cfb88534c7966f605c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30256 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 literal 0 HcmV?d00001 diff --git a/external/WinDivert-1.1.7-MINGW/amd64/WinDivert64.sys b/external/WinDivert-1.1.7-MINGW/amd64/WinDivert64.sys new file mode 100644 index 0000000000000000000000000000000000000000..245939b3b2d2512afc6a54302fa8a17f45a8aba5 GIT binary patch literal 38064 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 literal 0 HcmV?d00001 diff --git a/external/WinDivert-1.1.1-MINGW/amd64/netdump.exe b/external/WinDivert-1.1.7-MINGW/amd64/netdump.exe similarity index 99% rename from external/WinDivert-1.1.1-MINGW/amd64/netdump.exe rename to external/WinDivert-1.1.7-MINGW/amd64/netdump.exe index ce996d14dc439765e12bd72857a53a53c72aaa0c..d7c43c924a95d2988e61f631d6e239706b431bf0 100644 GIT binary patch delta 24 gcmZpe!`Lu~aY6^nkwbYQ6MKA^|8p{KyshdB0DqDS5&!@I delta 24 gcmZpe!`Lu~aY6@6Q~2DVi9J5dZ{{#;yshdB0DBDz5dZ)H diff --git a/external/WinDivert-1.1.1-MINGW/amd64/netfilter.exe b/external/WinDivert-1.1.7-MINGW/amd64/netfilter.exe similarity index 81% rename from external/WinDivert-1.1.1-MINGW/amd64/netfilter.exe rename to external/WinDivert-1.1.7-MINGW/amd64/netfilter.exe index e792c9bc66e1196816355c951e1bb29709fe594f..693659498de1f9ae1bd732dbae63bd55b98a4a46 100644 GIT binary patch delta 2078 zcmZvdUu+ab9LHz3|BlLaF2&_vL9VcHZ9*$GU;rD_YYrUBiA0QmfRsNes4eIj1A1Z zYS%7!H}uRdLRQs{)}0shUS_THgy^?txOQ(hAq+=ZW1gnQqA8dlW-S{M z2)y>&Hy8NJuM5-9wXd)m8==N`MfQBX?fEJh=eVAME1|{*C4>wYqG)D?^}Sr{*+~e$ z$l~5sKOx~bTM`^9#_lj+;%vId`7j)E@NRodUll0@DN;F8u+6OFI#E$oj8o$>P<}BS zkIWR25VQILI_M86Ob%^Ze_0cvRoc#tDA(nNm6c-u7{GWnV4je%CXXzV#$;y@vdQ8D^y>{0EuuyM=MdZeTnoRS)Izb5 zYvEH*NI}UK7H7oeOgQ#8I3Z1}6t7@^^f!A>^>p>UJNDA*dWG7pRSUglhQ)hz@!rFx zEOGYOcDKZX*&4DXQX^$wtZq}6Z5Kx>Z58b_FK3-1g;}RVDlVWDd(NxloTp2nrWQKS zz(V%<(F&>H=HL)6KKuMC1bP)0CN)0h5_q8KXqLEp8^ovoWQik>5E0^B0+PSq25-7G zhj%=J6X&zZ^wT*y{6F-8$@D#Z5n8%sxzhz7ksp+Ny=x~soXR^~o1J^ZdA?#YZ%Lk6 zY$h|i^t})nY`?JIa&3>W_e;CMSGQ-BLBSoE(qtoKYv`TQmgf7yOf-52gl?NW11dbb zux2$uwp$@AuKBiQWqW6<_)3oq*Q52~MZ_Kzvb Ln}e0huTJ|9?v4fB delta 2095 zcmaJ?ZBSHI7(RFTT1`AFdJ#loiJQuZ1mie5>DW@B2U>8)exQ9WDa4eRKd@=~v)107 zyxqMMa`}NXHs&-o%-A?gBnw1EC^0lnV>vlZj^Q*#m+40WrJ&a7Id^y6m6-T*-h1BX zd7tO(dC$v{PU%Re)OIxWt@`(N9}9a^CQNed>N)99&oSv}?(&UUgal`~cD}VFbhR~$ z8Jh~tlDuNatz|v+c`v6+kDJ4VA3WkU1{J>~5oVlFju5O`rLu=D7?=CCczoI#X|0x4M2#LBdBghJ4d z^(Cwxb7RpPlE*w-w6cse62joQTDw41X%RjQRapWM(>Gk)hfjUeXZs1M)h2|^*W1jg zB6rr5h}~T7MkX{w)o{95q_or)cmPNtWi3XU>4OS!z*&e>bwWUmojG3PRcBTC zFT#-DE}j8Ow0I^U(c*)*Ij^9RT2c|bAXNuP9Q+Dw{9XW;kxLbQj{<0Q2~6;A#^Eb8 zvMU=Ufe9Fyqj3<*5=#ZhR>>)ht1P{zQjerpKcM*kEA?i)iY>K0S!#{##UBUQGWh`X zBdRA>9zv$8iqk&$Q0ofX>#C%^9tj612g#bAivnB=07?bm+ZZ4x3ZSabVZO3vRbX{g zvXVwdt+Azi67v`DOO8uH>QyBsuhSgg*bHX1r1A{PyfU=?rg(zrtVpysY*AZ8gVM&iAH>mCZs>XCXKj6*ek+bU*^qWS8IyS zoWY+RT3G25e3nYpPzoAJu5KX2U=o+h%xBlGc5H1hyVpN#o?N?BnljI>bqCUr7Zz&Z zPH0722OHPniRr$a^08{I-igSK)rHlGHHYaQSGBg&J>TBZguQnbv=@%s>v9NtMRop| zzfB0L%7+HFLD#Fz;rwlYa=FS6$HnPh?Y395EkCsaNMX4X2Ne45_?3N*H$o!}eXEVe z6ExzqTW4Rs-NyDkZoVa&p~HTGEc6{!&zYWeMUIbenvLtWt@peTEqe*_Y!uH5hVWLx z%5`j1XtT`dP@=O%*vVEfE-YkVRR&WS`xHmJ@3;KITw2^xeDL}IE8KSgGEDn1ddloT zqHGm-qHHe8_Ads?I{6pplQrm~rczp<3V+d&v1^t6-uxAP=-Sw;enwy)1eVJeo+Bhh zRZ8%CX|%`7`>o>@F3r z!a-FXgUFr$rxqZ5J)hvD>i#(4wHP6gEOC53!$sAtamJGiNHl{mnHxteTL7_RUdhQZ zj1b%MwOsKd2E^b^95QD<+!S#6^wXHUqk<-X0~#}!A01*%&p^Hd@?y@57e#2uH;cXF z=sf(Ku`83C67)zCy$AHbUzpS0-@-R5?KfW^V{|9U14ByTBVVhXXKxKNJ%i4lK8=2gWcH;88HYd{n x2meLTZ+Z9H;l?zkvQ52$s4eNwJh-8~J;mK#S|&C3l$ZXoNP42DaLf4ee*wh23;+NC diff --git a/external/WinDivert-1.1.1-MINGW/amd64/passthru.exe b/external/WinDivert-1.1.7-MINGW/amd64/passthru.exe similarity index 99% rename from external/WinDivert-1.1.1-MINGW/amd64/passthru.exe rename to external/WinDivert-1.1.7-MINGW/amd64/passthru.exe index 4d68487f8ed10ea85b50a7419ac970925cb5868b..89888acdd7a167d63ac3e8a3eb1fb4d3a266499d 100644 GIT binary patch delta 22 dcmZpuX{edd!E*FaUdY5AA7%}C#*MdCZ2@t$2><{9 delta 22 dcmZpuX{edd!O|2yH)vvy53|T7hK;vXZ2@f>2>k#6 diff --git a/external/WinDivert-1.1.1-MINGW/amd64/webfilter.exe b/external/WinDivert-1.1.7-MINGW/amd64/webfilter.exe similarity index 99% rename from external/WinDivert-1.1.1-MINGW/amd64/webfilter.exe rename to external/WinDivert-1.1.7-MINGW/amd64/webfilter.exe index f6fd12cf83082bea248d6cbc9e479452332ee847..1a10f9a29ba709a204ac9dc774368e86508fe8c1 100644 GIT binary patch delta 23 fcmZoz!q~8caY6^n(L;G56MKA^6!vetr4|SPcOVJ; delta 23 fcmZoz!q~8caY6@6Q~2DVi9J3{JV6_8sRaT6ZHx%| diff --git a/external/WinDivert-1.1.1-MSVC/doc/WinDivert.html b/external/WinDivert-1.1.7-MINGW/doc/WinDivert.html similarity index 92% rename from external/WinDivert-1.1.1-MSVC/doc/WinDivert.html rename to external/WinDivert-1.1.7-MINGW/doc/WinDivert.html index a03633f..a359020 100644 --- a/external/WinDivert-1.1.1-MSVC/doc/WinDivert.html +++ b/external/WinDivert-1.1.7-MINGW/doc/WinDivert.html @@ -104,10 +104,8 @@

Table of Contents

install\WDDK subdirectory:
  • WinDivert.dll: User-mode library.
  • -
  • WinDivert.sys: Kernel-mode WDF/WFP call-out driver.
  • -
  • WinDivert.inf: INF file for WinDivert.sys.
  • -
  • WdfCoInstaller*.dll: Microsoft WDF co-installer for - WinDivert.sys.
  • +
  • WinDivert32.sys or WinDivert64.sys: + Kernel-mode WDF/WFP call-out driver.
  • *.exe: Sample applications from the divert\examples directory.
@@ -119,10 +117,9 @@

Table of Contents

2.1 Driver Signing

-Before the WinDivert package can be used, the WinDivert.sys driver -must contain a valid digital signature. -This is Microsoft policy for all kernel drivers in recent versions of -Windows. +Before the WinDivert package can be used, the +WinDivert32.sys/WinDivert64.sys driver +must be digitally signed. See Driver Signing Requirements for Windows for more information.

@@ -164,30 +161,134 @@

Table of Contents

3. Installing

WinDivert does not require any special installation. -Simply place the WinDivert.dll, WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files in the -application's home directory. +Depending on your target configuration, simply place the following files in +your application's home directory: +

+
+ + + + + + + + + + + + + + + + + + + + + +
+Application Type + +Target Windows Type + +Files Required +
+32-bit + +32-bit Windows only + +WinDivert.dll (32-bit version) and WinDivert32.sys +
+64-bit + +64-bit Windows only + +WinDivert.dll (64-bit version) and WinDivert64.sys +
+32-bit + +Both 32-bit and 64-bit Windows + +WinDivert.dll (32-bit version), WinDivert32.sys, + and WinDivert64.sys +
+
+

+The WinDivert driver is automatically (and silently) installed on demand +whenever your application calls +WinDivertOpen(). +The calling application must have Administrator privileges.

-The WinDivert driver is automatically installed on demand whenever your -application calls WinDivertOpen(). -The driver installation is also silent. -The calling application must be running with Administrator privileges. +The WinDivert.dll also depends on a C run-time library. +This is not distributed with the WinDivert binaries, and must be +installed/distributed separately if required.

+
+ + + + + + + + + + + + + + + + + + + + + +
+Build/Compiler + +C-Runtime Dependency + +Installed on Windows by Default? +
+WDDK (Windows Driver Kit 7.1) + +MSVCRT.dll + +Yes +
+MSVC (Visual Studio 2012) + +MSVCRT110.dll + +No. +Must be installed separately or included with your application. +
+MINGW + +MSVCRT.dll + +Yes +
+

4. Uninstalling

-To uninstall, simply delete the WinDivert.dll, WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files. -The WinDivert driver is silently uninstalled when the calling application -terminates or unloads the WinDivert.dll library. -The WinDivert driver can also be removed manually by issuing the following +To uninstall, simply delete the WinDivert.dll, +WinDivert32.sys, and WinDivert64.sys files. +If already running, the WinDivert driver will be automatically +uninstalled during the next machine reboot. +The WinDivert driver can also be manually removed by issuing the following commands at the command prompt

 sc stop WinDivert1.1
 sc delete WinDivert1.1
 
+Note that this is not recommended as it will interfere with other +applications that depend on WinDivert.


@@ -286,9 +387,9 @@

Table of Contents

2 -One or more of the WinDivert.sys, -WinDivert.inf, or WdfCoInstaller*.dll files were not -found. +The driver files +WinDivert32.sys or WinDivert64.sys +were not found. @@ -321,7 +422,8 @@

Table of Contents

577 -The WinDivert.sys driver does not have a valid digital signature +The WinDivert32.sys or WinDivert64.sys driver does not +have a valid digital signature (see the driver signing requirements above). @@ -335,9 +437,7 @@

Table of Contents

This error occurs for various reasons, including:
    -
  1. attempting to load the 32-bit WinDivert.sys driver on a 64-bit -system (or vice versa);
  2. -
  3. the WinDivert.sys driver is blocked by security software; or +
  4. the WinDivert driver is blocked by security software; or
  5. you are using a virtualization environment that does not support drivers.
@@ -1068,7 +1168,9 @@

Table of Contents

Remarks
Parses an IPv4 address stored in addrStr. -If non-NULL, the result is stored in pAddr. +If non-NULL, the result is stored in pAddr +in host-byte-order. +Use htonl() to convert the result into network-byte-order.

@@ -1098,6 +1200,18 @@

Table of Contents

If non-NULL, the result is stored in pAddr. The pAddr parameter is assumed to point to a buffer large enough to hold a 16-byte IPv6 address. +Given an IPv6 address of the form +0011:2233:4455:6677:8899:aabb:ccdd:eeff, then +the result is ordered as follows: +
+pAddr[0] = 0x00112233
+pAddr[1] = 0x44556677
+pAddr[2] = 0x8899aabb
+pAddr[3] = 0xccddeeff
+
+where each pAddr[i] is in host-byte-order. +The result can be converted into network-byte-order by setting +pAddr[i] = htonl(pAddr[i]) for each i.

@@ -1396,14 +1510,16 @@

Table of Contents

  • Injecting inbound ICMP/ICMPv6 messages: For some ICMP/ICMPv6 messages, inbound injection does not work. An error will be returned and the packet will be lost. - It is suspected that this is an issue with the WFP framework on which - WinDivert is built. The work-around is to inject inbound ICMP messages as outbound.
  • No IPv6 extension header support: Currently there is no filter support for IPv6 packets with extension headers. The work around is to capture all IPv6 traffic.
  • +
  • The forward layer does not interact well with the Windows NAT: + It is not possible to block packets pre-NAT with WinDivert. + As a general principle, you should not try and mix WinDivert at the + forward layer with the Windows NAT implementation.

    diff --git a/external/WinDivert-1.1.1-MSVC/include/windivert.h b/external/WinDivert-1.1.7-MINGW/include/windivert.h similarity index 99% rename from external/WinDivert-1.1.1-MSVC/include/windivert.h rename to external/WinDivert-1.1.7-MINGW/include/windivert.h index d83516a..438b903 100644 --- a/external/WinDivert-1.1.1-MSVC/include/windivert.h +++ b/external/WinDivert-1.1.7-MINGW/include/windivert.h @@ -1,6 +1,6 @@ /* * windivert.h - * (C) 2013, all rights reserved, + * (C) 2014, all rights reserved, * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by diff --git a/external/WinDivert-1.1.7-MINGW/x86/WinDivert.dll b/external/WinDivert-1.1.7-MINGW/x86/WinDivert.dll new file mode 100644 index 0000000000000000000000000000000000000000..25387bd29414d1723c3a334bd655465e44957a77 GIT binary patch literal 14848 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 X;jfGRm`>Vl{U7X*`0#*z$5Q@3N(MRu delta 1816 zcmZ`)U2GIp6rR}*?t)upa9dbRZMS8hOKD825>4P?K!z4Ax{$6AMTAHS4}CygKodyU z>`vf1+*rI!)F_BCCL|bxY0`=ovni!OAci0Yl463WVXM4g5k)B1@61q&0p?-Px#xW6 z-1B=kn^m(}wR4-6UAAlKj_oZa?~Eur20vF9biJ(}o;<1HNlVFHml@L;%;>UgSA$p< zPpS=F+4$^n>NwH;$hWiB-MlH?gY?^27~aS2ZN+21OX-%kziufUOR9D&J}>w0Y`$A3^)ovC8DuvikcCNsvZ;l zm40e=M^7J{7I8UD@Pdt5syz^vmQL7n&-vkm2{AS_TO`mX1>3MBD;&M`AYW19O*L4&P z{7cnst6v~KebPC_yj6%$&(BpACD#}Ev<$Y5gUnk2sq5<~)c{g*g+#6|&b;M8 zj!|@A(-KQ54*v_6zMbBqy(sqA)Rg@IQSN$p!|}jVb9=l)(MPNn+BpYW1Rcd|Gws;cK|mK1Wr2DDou>OHAY8%uwz_ZT3%_3l*Z)jlIr;y%;mX^B^LX-9UVolVW^E<*k z-J9L=wZiOPw@G7m!EK_Z8E~$krT$>}gKYO>z^S{z?C3k~et%fD-x?MRQM&d?imU?d zaGT?dw_<+X<_gA_`%HrI6~v@W1nsQ?%U@1KTr0wyH6)*}F=w66K+^6rQRb{CW;8P| zgOi_}w~@Hp`5`_2CLzZ%e7*!3KCB13#>!0QYz9DlHKXj+xyVkIZ>D(+2m1TffToPl zs0FHn8ua=L;P1~}HAta}u6>?r@T@p%&Yq+EO|kp!`UXz)Zi6bAyP)$5FG5~dm=W%U z5mxR{1wt%ty(%TEFr}9f&C?gAs5|%T4B1jd&L4ON#u_tV_XpcH+L$*=Za2mjzfAwW zgM0LF;5Nz)LC^+8i8ALiC~(r+aT=?S55LEJkUb&qRhzrQcqZge@dRZeR^{RqDTkW= zk+Q8*%&Rq{d*~d;8G|o6>!yak#5*v`e{mz=*Vo2HA{mV}089fxn-tRXr?G;9beC$Q zv1`L)x`>|NOS(O^W~}cHxq+PwY|Qa4Lu3JRZhA2Cp>%z55e#|m(jtYl~=`gGZPOUAss_1NYkpTd~`RR+mMbd-}##5zg)db zEd|XB9=Ke=!cG-85$xR&v9GQ&Mgh7{M@ak%#B5;beQ~a?w#C2!j{-e>#T%EU?7ZVk vv)^);;>90-@*!3^9>GOFOL^?jEe!6L2L9gYBVOzX72d0ls#aHN{c!9*oBchz diff --git a/external/WinDivert-1.1.1-MINGW/x86/passthru.exe b/external/WinDivert-1.1.7-MINGW/x86/passthru.exe similarity index 99% rename from external/WinDivert-1.1.1-MINGW/x86/passthru.exe rename to external/WinDivert-1.1.7-MINGW/x86/passthru.exe index 2b13026bc36864e7ef1265d78d6ad49638cfbfce..c35eddac9010f5220c1b082b0ebba90d7cf5a054 100644 GIT binary patch delta 21 ccmZojX-JvS!E*ReUdY5AAErRBjknYc0cflV6aWAK delta 21 ccmZojX-JvS!O{>uH)vvy50lN^jknYc0b~*h5dZ)H diff --git a/external/WinDivert-1.1.1-MINGW/x86/webfilter.exe b/external/WinDivert-1.1.7-MINGW/x86/webfilter.exe similarity index 99% rename from external/WinDivert-1.1.1-MINGW/x86/webfilter.exe rename to external/WinDivert-1.1.7-MINGW/x86/webfilter.exe index ffcd3a1f1631f0609ca5b54dfdf8fc26aefa7f79..bcfd073bfdf2d05124d34a2956ac06ee1e16602b 100644 GIT binary patch delta 24 gcmZqZU~K4MoY28?_)uQR#2z2!KN^f1Z>u^30DQs;`v3p{ delta 24 gcmZqZU~K4MoY2A25I#3(Vvi5=i`@(xZ>u^30C*<}_y7O^ diff --git a/external/WinDivert-1.1.1-MSVC/CHANGELOG b/external/WinDivert-1.1.7-MSVC/CHANGELOG similarity index 62% rename from external/WinDivert-1.1.1-MSVC/CHANGELOG rename to external/WinDivert-1.1.7-MSVC/CHANGELOG index 4800350..d54f0f0 100644 --- a/external/WinDivert-1.1.1-MSVC/CHANGELOG +++ b/external/WinDivert-1.1.7-MSVC/CHANGELOG @@ -18,7 +18,7 @@ WinDivert 1.0.4 WinDivert 1.0.5 - Fix the DIVERT_NETWORK_FORWARD_LAYER implementation. - Upgrade Visual Studio support to 2012. -WinDivert 1.1.0 +WinDivert 1.1.0-rc - Re-brand "DIVERT" to "WINDIVERT" throughout the code-base. - New flag: * WINDIVERT_FLAG_NO_CHECKSUM: Do not guarantee that diverted packets @@ -36,3 +36,25 @@ WinDivert 1.1.0 load. WinDivert 1.1.1 - Fixed a BSOD that sometimes occurs when the driver is unloaded. +WinDivert 1.1.2-rc + - Renamed drivers to "WinDivert32.sys" and "WinDivert64.sys". Both can + exist in the same directory, and WinDivert.dll automatically loads the + correct version. + - Deprecate both the WinDivert.inf and WdfCoInstaller*.dll files. +WinDivert 1.1.3 + - Fixed a bug that causes some outbound TCP packets to be lost. +WinDivert 1.1.4 + - Fixed a BSOD that occurs when NULL is passed as the address parameter to + WinDivertRecv(..) or WinDivertSend(..). +WinDivert 1.1.5 + - Insert WinDivert as the highest priority WFP sublayer. +WinDivert 1.1.6 + - WinDivert now searches for the driver files in the application's + directory (as opposed to the current directory). +WinDivert 1.1.7 + - Improved IPv6 support: + * Fixed incorrect IPV6 TCP/UDP checksum calculation in + WinDivertHelperCalcChecksums(). + * WinDivert driver now calculates checksums for IPV6 packets. + * WinDivert can now handle IPV6 extension headers. + * Fixed WinDivertHelperParseIPv6Address(). diff --git a/external/WinDivert-1.0.5-MSVC/LICENSE b/external/WinDivert-1.1.7-MSVC/LICENSE similarity index 100% rename from external/WinDivert-1.0.5-MSVC/LICENSE rename to external/WinDivert-1.1.7-MSVC/LICENSE diff --git a/external/WinDivert-1.1.1-MSVC/README b/external/WinDivert-1.1.7-MSVC/README similarity index 100% rename from external/WinDivert-1.1.1-MSVC/README rename to external/WinDivert-1.1.7-MSVC/README diff --git a/external/WinDivert-1.1.7-MSVC/VERSION b/external/WinDivert-1.1.7-MSVC/VERSION new file mode 100644 index 0000000..2bf1ca5 --- /dev/null +++ b/external/WinDivert-1.1.7-MSVC/VERSION @@ -0,0 +1 @@ +1.1.7 diff --git a/external/WinDivert-1.1.7-MSVC/amd64/WinDivert.dll b/external/WinDivert-1.1.7-MSVC/amd64/WinDivert.dll new file mode 100644 index 0000000000000000000000000000000000000000..122abf1d54b79a5af9b50e7959d40139d62f88b7 GIT binary patch literal 21504 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 diff --git a/external/WinDivert-1.1.7-MSVC/amd64/WinDivert64.sys b/external/WinDivert-1.1.7-MSVC/amd64/WinDivert64.sys new file mode 100644 index 0000000000000000000000000000000000000000..245939b3b2d2512afc6a54302fa8a17f45a8aba5 GIT binary patch literal 38064 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 literal 0 HcmV?d00001 diff --git a/external/WinDivert-1.1.1-MSVC/amd64/netdump.exe b/external/WinDivert-1.1.7-MSVC/amd64/netdump.exe similarity index 99% rename from external/WinDivert-1.1.1-MSVC/amd64/netdump.exe rename to external/WinDivert-1.1.7-MSVC/amd64/netdump.exe index 07fb08609b2036f0a3cd7dbf540a4fce149f7a85..af98667d50b7c904adb49d8b9a0492ec929e87eb 100644 GIT binary patch delta 15 WcmZpOX^5HdgJr!>Zpg+zEV=+W76#t{ delta 15 WcmZpOX^5HdgQY8MZqUX*EV=+WN(S-( diff --git a/external/WinDivert-1.1.1-MSVC/amd64/netfilter.exe b/external/WinDivert-1.1.7-MSVC/amd64/netfilter.exe similarity index 59% rename from external/WinDivert-1.1.1-MSVC/amd64/netfilter.exe rename to external/WinDivert-1.1.7-MSVC/amd64/netfilter.exe index e0dc0baa3508da9db72e862a93c8a28c7de03c83..4de928fc5dee50f7b4275247493aa18df55aa095 100644 GIT binary patch delta 2744 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 diff --git a/external/WinDivert-1.1.1-MSVC/amd64/webfilter.exe b/external/WinDivert-1.1.7-MSVC/amd64/webfilter.exe similarity index 99% rename from external/WinDivert-1.1.1-MSVC/amd64/webfilter.exe rename to external/WinDivert-1.1.7-MSVC/amd64/webfilter.exe index 093b8ef64cd2db53c3741f773066e65b9b229be6..f21af46769cb085ad67c6eb60688d7ef21741792 100644 GIT binary patch delta 16 XcmZoDXed~~$g;^NH)Jyl;~z5sHdqEP delta 16 XcmZoDXed~~$kG!wH)t~p;~z5sHkJlK diff --git a/external/WinDivert-1.1.1-MINGW/doc/WinDivert.html b/external/WinDivert-1.1.7-MSVC/doc/WinDivert.html similarity index 92% rename from external/WinDivert-1.1.1-MINGW/doc/WinDivert.html rename to external/WinDivert-1.1.7-MSVC/doc/WinDivert.html index a03633f..a359020 100644 --- a/external/WinDivert-1.1.1-MINGW/doc/WinDivert.html +++ b/external/WinDivert-1.1.7-MSVC/doc/WinDivert.html @@ -104,10 +104,8 @@

    Table of Contents

    install\WDDK subdirectory:
    • WinDivert.dll: User-mode library.
    • -
    • WinDivert.sys: Kernel-mode WDF/WFP call-out driver.
    • -
    • WinDivert.inf: INF file for WinDivert.sys.
    • -
    • WdfCoInstaller*.dll: Microsoft WDF co-installer for - WinDivert.sys.
    • +
    • WinDivert32.sys or WinDivert64.sys: + Kernel-mode WDF/WFP call-out driver.
    • *.exe: Sample applications from the divert\examples directory.
  • @@ -119,10 +117,9 @@

    Table of Contents

    2.1 Driver Signing

    -Before the WinDivert package can be used, the WinDivert.sys driver -must contain a valid digital signature. -This is Microsoft policy for all kernel drivers in recent versions of -Windows. +Before the WinDivert package can be used, the +WinDivert32.sys/WinDivert64.sys driver +must be digitally signed. See Driver Signing Requirements for Windows for more information.

    @@ -164,30 +161,134 @@

    Table of Contents

    3. Installing

    WinDivert does not require any special installation. -Simply place the WinDivert.dll, WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files in the -application's home directory. +Depending on your target configuration, simply place the following files in +your application's home directory: +

    +
    + + + + + + + + + + + + + + + + + + + + + +
    +Application Type + +Target Windows Type + +Files Required +
    +32-bit + +32-bit Windows only + +WinDivert.dll (32-bit version) and WinDivert32.sys +
    +64-bit + +64-bit Windows only + +WinDivert.dll (64-bit version) and WinDivert64.sys +
    +32-bit + +Both 32-bit and 64-bit Windows + +WinDivert.dll (32-bit version), WinDivert32.sys, + and WinDivert64.sys +
    +
    +

    +The WinDivert driver is automatically (and silently) installed on demand +whenever your application calls +WinDivertOpen(). +The calling application must have Administrator privileges.

    -The WinDivert driver is automatically installed on demand whenever your -application calls WinDivertOpen(). -The driver installation is also silent. -The calling application must be running with Administrator privileges. +The WinDivert.dll also depends on a C run-time library. +This is not distributed with the WinDivert binaries, and must be +installed/distributed separately if required.

    +
    + + + + + + + + + + + + + + + + + + + + + +
    +Build/Compiler + +C-Runtime Dependency + +Installed on Windows by Default? +
    +WDDK (Windows Driver Kit 7.1) + +MSVCRT.dll + +Yes +
    +MSVC (Visual Studio 2012) + +MSVCRT110.dll + +No. +Must be installed separately or included with your application. +
    +MINGW + +MSVCRT.dll + +Yes +
    +

    4. Uninstalling

    -To uninstall, simply delete the WinDivert.dll, WinDivert.sys, -WinDivert.inf, and WdfCoInstaller*.dll files. -The WinDivert driver is silently uninstalled when the calling application -terminates or unloads the WinDivert.dll library. -The WinDivert driver can also be removed manually by issuing the following +To uninstall, simply delete the WinDivert.dll, +WinDivert32.sys, and WinDivert64.sys files. +If already running, the WinDivert driver will be automatically +uninstalled during the next machine reboot. +The WinDivert driver can also be manually removed by issuing the following commands at the command prompt

     sc stop WinDivert1.1
     sc delete WinDivert1.1
     
    +Note that this is not recommended as it will interfere with other +applications that depend on WinDivert.


    @@ -286,9 +387,9 @@

    Table of Contents

    2 -One or more of the WinDivert.sys, -WinDivert.inf, or WdfCoInstaller*.dll files were not -found. +The driver files +WinDivert32.sys or WinDivert64.sys +were not found. @@ -321,7 +422,8 @@

    Table of Contents

    577 -The WinDivert.sys driver does not have a valid digital signature +The WinDivert32.sys or WinDivert64.sys driver does not +have a valid digital signature (see the driver signing requirements above). @@ -335,9 +437,7 @@

    Table of Contents

    This error occurs for various reasons, including:
      -
    1. attempting to load the 32-bit WinDivert.sys driver on a 64-bit -system (or vice versa);
    2. -
    3. the WinDivert.sys driver is blocked by security software; or +
    4. the WinDivert driver is blocked by security software; or
    5. you are using a virtualization environment that does not support drivers.
    @@ -1068,7 +1168,9 @@

    Table of Contents

    Remarks
    Parses an IPv4 address stored in addrStr. -If non-NULL, the result is stored in pAddr. +If non-NULL, the result is stored in pAddr +in host-byte-order. +Use htonl() to convert the result into network-byte-order.

    @@ -1098,6 +1200,18 @@

    Table of Contents

    If non-NULL, the result is stored in pAddr. The pAddr parameter is assumed to point to a buffer large enough to hold a 16-byte IPv6 address. +Given an IPv6 address of the form +0011:2233:4455:6677:8899:aabb:ccdd:eeff, then +the result is ordered as follows: +
    +pAddr[0] = 0x00112233
    +pAddr[1] = 0x44556677
    +pAddr[2] = 0x8899aabb
    +pAddr[3] = 0xccddeeff
    +
    +where each pAddr[i] is in host-byte-order. +The result can be converted into network-byte-order by setting +pAddr[i] = htonl(pAddr[i]) for each i.

    @@ -1396,14 +1510,16 @@

    Table of Contents

  • Injecting inbound ICMP/ICMPv6 messages: For some ICMP/ICMPv6 messages, inbound injection does not work. An error will be returned and the packet will be lost. - It is suspected that this is an issue with the WFP framework on which - WinDivert is built. The work-around is to inject inbound ICMP messages as outbound.
  • No IPv6 extension header support: Currently there is no filter support for IPv6 packets with extension headers. The work around is to capture all IPv6 traffic.
  • +
  • The forward layer does not interact well with the Windows NAT: + It is not possible to block packets pre-NAT with WinDivert. + As a general principle, you should not try and mix WinDivert at the + forward layer with the Windows NAT implementation.

    diff --git a/external/WinDivert-1.1.1-MINGW/include/windivert.h b/external/WinDivert-1.1.7-MSVC/include/windivert.h similarity index 99% rename from external/WinDivert-1.1.1-MINGW/include/windivert.h rename to external/WinDivert-1.1.7-MSVC/include/windivert.h index d83516a..438b903 100644 --- a/external/WinDivert-1.1.1-MINGW/include/windivert.h +++ b/external/WinDivert-1.1.7-MSVC/include/windivert.h @@ -1,6 +1,6 @@ /* * windivert.h - * (C) 2013, all rights reserved, + * (C) 2014, all rights reserved, * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by diff --git a/external/WinDivert-1.1.7-MSVC/x86/WinDivert.dll b/external/WinDivert-1.1.7-MSVC/x86/WinDivert.dll new file mode 100644 index 0000000000000000000000000000000000000000..bf78af3cf02be85d31d74d2766d42afa09062302 GIT binary patch literal 18944 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 literal 0 HcmV?d00001 diff --git a/external/WinDivert-1.1.1-MSVC/x86/WinDivert.lib b/external/WinDivert-1.1.7-MSVC/x86/WinDivert.lib similarity index 53% rename from external/WinDivert-1.1.1-MSVC/x86/WinDivert.lib rename to external/WinDivert-1.1.7-MSVC/x86/WinDivert.lib index 61a5c64f5f40744ebd33505c0ea0011a2d1ea968..c2f7e2d96c79d21776eb604e918427dfa0dcf7e6 100644 GIT binary patch delta 785 zcmX?Ma>8VSB&Ug?nTd&|k%7tN1VOQl7KN;+BAZXJRwD~FNQz4s7%D(O0+$aXGs702 z+z@_71_qAFYk8$7@k?*s$bEzn)s)Focm-HN>UK|l$R|Jf1n*Nc`7?Y1EFk&K5BQXk z^%}g+cb^3kh?A3{?jj$~u`}NObZ7A$26J7lfcD{u46BCY&LR zCd>;mO$ull2N1?j_K}pFtRO6iq!q=NHX_KrM3GvBAr&YL4K@i;TO>sF<04PXgfk7e! u3X<^5yvc>al9OWvgpf>WfO+DAge8(Nis25D$cDpptdm660S^s1DJ=k7aMUgU delta 785 zcmX?Ma>8VSB&V^3nSqJ1fw95l1VOQl7KN;+BAZXJRwD~FNQz4s7%D(O0+$aXGsCp7 zxk3Dl3=ABT*YZkF;+NjMk^2ZEswtDF@CvYk)a{=9kWYT{3Ern@@@M!2SU~cdAMhz7 z>%AZ(K3Q2n7%Vs0O28CJ8_*?_`(aYc1k9175(LF3{}mAC0hy@Dz`(%7z`-#2AdB>5 zb3p|ZWm*t}`vhIF33CY{3xn*-7ZT?0{TSwUD3Nh^vkZA6fLi6XTMLn=@h8f+4xwnzqkkc2w1N7Ncg zI6)BRa#3VYgF-S{3~Er7m?w%3B&lDRQsOXO;?79AKoNQuCiO)e**{Pz0Z@?00)s>d u6eQu9d6Nr;B`3!U2qBr$0Q1BJ2}>kl6vG`Pkqw9ISSN|B10EW3Qd$7SRn`sw diff --git a/external/WinDivert-1.1.7-MSVC/x86/WinDivert32.sys b/external/WinDivert-1.1.7-MSVC/x86/WinDivert32.sys new file mode 100644 index 0000000000000000000000000000000000000000..a1f83fb51f035fc7cca1109eb759752f9cd1f2d3 GIT binary patch literal 31408 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 SVnSrZJOIX@&DJ|5rhfpHTSW^1 diff --git a/external/WinDivert-1.1.1-MSVC/x86/passthru.exe b/external/WinDivert-1.1.7-MSVC/x86/passthru.exe similarity index 99% rename from external/WinDivert-1.1.1-MSVC/x86/passthru.exe rename to external/WinDivert-1.1.7-MSVC/x86/passthru.exe index d7a785a364cf1c802362127eb39d98638ca445ff..561bd10755416caa6d90042d3009d9ae90c7368e 100644 GIT binary patch delta 17 YcmZp0XmHrT!N{`RCpTm>591d(05pyT)Bpeg delta 17 YcmZp0XmHrT!N@WrY;MqI9>y591d-061p`B>(^b delta 17 YcmZojXh_(=!N@WrY;MqI9>y robolog.txt', + "robocopy " .. divert_lib .." ../" .. subdir .. ' *.dll *.sys > robolog.txt', "robocopy " .. iup_lib .. " ../" .. subdir .. ' iup.dll >> robolog.txt', "robocopy ../etc/ ../" .. subdir .. ' config.txt >> robolog.txt', "exit /B 0" @@ -124,8 +124,7 @@ solution('clumsy') elseif platform == 'gmake' then postbuildcommands({ -- robocopy returns non 0 will fail make - 'cp ' .. divert_lib .. "WinDivert.* ../" .. subdir, - 'cp ' .. divert_lib .. "WdfCoInstaller01009.dll ../" .. subdir, + 'cp ' .. divert_lib .. "WinDivert* ../" .. subdir, "cp ../etc/config.txt ../" .. subdir, }) end diff --git a/src/drop.c b/src/drop.c index ecf5c26..3548a4f 100644 --- a/src/drop.c +++ b/src/drop.c @@ -80,5 +80,7 @@ Module dropModule = { dropSetupUI, dropStartUp, dropCloseDown, - dropProcess + dropProcess, + // runtime fields + 0, 0, NULL }; diff --git a/src/duplicate.c b/src/duplicate.c index a2da38c..4f66e92 100644 --- a/src/duplicate.c +++ b/src/duplicate.c @@ -91,5 +91,7 @@ Module dupModule = { dupSetupUI, dupStartup, dupCloseDown, - dupProcess + dupProcess, + // runtime fields + 0, 0, NULL }; \ No newline at end of file diff --git a/src/lag.c b/src/lag.c index 0d930ed..0746c61 100644 --- a/src/lag.c +++ b/src/lag.c @@ -129,5 +129,7 @@ Module lagModule = { lagSetupUI, lagStartUp, lagCloseDown, - lagProcess + lagProcess, + // runtime fields + 0, 0, NULL }; \ No newline at end of file diff --git a/src/ood.c b/src/ood.c index f661ad4..836a898 100644 --- a/src/ood.c +++ b/src/ood.c @@ -146,5 +146,7 @@ Module oodModule = { oodSetupUI, oodStartUp, oodCloseDown, - oodProcess + oodProcess, + // runtime fields + 0, 0, NULL }; \ No newline at end of file diff --git a/src/tamper.c b/src/tamper.c index 1b5173a..a8d73fe 100644 --- a/src/tamper.c +++ b/src/tamper.c @@ -127,5 +127,7 @@ Module tamperModule = { tamperSetupUI, tamperStartup, tamperCloseDown, - tamperProcess + tamperProcess, + // runtime fields + 0, 0, NULL }; diff --git a/src/throttle.c b/src/throttle.c index 9c3c9ef..0734bbf 100644 --- a/src/throttle.c +++ b/src/throttle.c @@ -142,5 +142,7 @@ Module throttleModule = { throttleSetupUI, throttleStartUp, throttleCloseDown, - throttleProcess + throttleProcess, + // runtime fields + 0, 0, NULL }; \ No newline at end of file