From f99ba84c4386e461296c6e8919d9eae0ade9505c Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Tue, 19 Dec 2023 20:55:14 +0100 Subject: [PATCH 1/4] test --- .../.github/workflows/kdmp-parser.yml | 94 -- src/libs/kdmp-parser/.gitignore | 52 -- src/libs/kdmp-parser/CMakeLists.txt | 25 - src/libs/kdmp-parser/CMakeSettings.json | 68 -- src/libs/kdmp-parser/LICENSE | 21 - src/libs/kdmp-parser/README.md | 195 ----- src/libs/kdmp-parser/builder.py | 124 --- src/libs/kdmp-parser/pics/parser.jpg | Bin 544808 -> 0 bytes src/libs/kdmp-parser/src/.clang-format | 1 - src/libs/kdmp-parser/src/lib/CMakeLists.txt | 3 - src/libs/kdmp-parser/src/lib/filemap.h | 224 ----- .../kdmp-parser/src/lib/kdmp-parser-structs.h | 815 ------------------ src/libs/kdmp-parser/src/lib/kdmp-parser.h | 561 ------------ src/libs/kdmp-parser/src/lib/platform.h | 43 - .../kdmp-parser/src/parser/CMakeLists.txt | 3 - src/libs/kdmp-parser/src/parser/parser.cc | 367 -------- .../kdmp-parser/src/python/CMakeLists.txt | 33 - .../kdmp-parser/src/python/python-kdmp.cc | 325 ------- src/libs/kdmp-parser/src/python/python-kdmp.h | 104 --- .../kdmp-parser/src/testapp/CMakeLists.txt | 3 - src/libs/kdmp-parser/src/testapp/testapp.cc | 170 ---- src/libs/kdmp-parser/src/tests/CMakeLists.txt | 11 - src/libs/kdmp-parser/src/tests/tests.py | 81 -- .../kdmp-parser/src/tests/tests_bindings.py | 28 - 24 files changed, 3351 deletions(-) delete mode 100644 src/libs/kdmp-parser/.github/workflows/kdmp-parser.yml delete mode 100644 src/libs/kdmp-parser/.gitignore delete mode 100644 src/libs/kdmp-parser/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/CMakeSettings.json delete mode 100644 src/libs/kdmp-parser/LICENSE delete mode 100644 src/libs/kdmp-parser/README.md delete mode 100644 src/libs/kdmp-parser/builder.py delete mode 100644 src/libs/kdmp-parser/pics/parser.jpg delete mode 100644 src/libs/kdmp-parser/src/.clang-format delete mode 100644 src/libs/kdmp-parser/src/lib/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/lib/filemap.h delete mode 100644 src/libs/kdmp-parser/src/lib/kdmp-parser-structs.h delete mode 100644 src/libs/kdmp-parser/src/lib/kdmp-parser.h delete mode 100644 src/libs/kdmp-parser/src/lib/platform.h delete mode 100644 src/libs/kdmp-parser/src/parser/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/parser/parser.cc delete mode 100644 src/libs/kdmp-parser/src/python/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/python/python-kdmp.cc delete mode 100644 src/libs/kdmp-parser/src/python/python-kdmp.h delete mode 100644 src/libs/kdmp-parser/src/testapp/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/testapp/testapp.cc delete mode 100644 src/libs/kdmp-parser/src/tests/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/tests/tests.py delete mode 100644 src/libs/kdmp-parser/src/tests/tests_bindings.py diff --git a/src/libs/kdmp-parser/.github/workflows/kdmp-parser.yml b/src/libs/kdmp-parser/.github/workflows/kdmp-parser.yml deleted file mode 100644 index c5030ee..0000000 --- a/src/libs/kdmp-parser/.github/workflows/kdmp-parser.yml +++ /dev/null @@ -1,94 +0,0 @@ -# Axel '0vercl0k' Souchet - July 26 2020 -name: Builds - -on: [push, pull_request] - -jobs: - Ubuntu2004: - strategy: - fail-fast: false - matrix: - # Available versions: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json - # We don't test below 3.6 because f'strings were implemented in 3.6 and we use them in build scripts, etc. - pyver: ['3.6', '3.7', '3.8', '3.9', '3.x'] - compiler: ['clang', 'gcc'] - - name: Ubuntu 20.04 - Py${{ matrix.pyver }} / ${{ matrix.compiler }} - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Python3 - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.pyver }} - architecture: 'x64' - - - name: Install dependencies - run: | - sudo apt-get -y update - sudo apt install -y g++-10-multilib g++-10 ninja-build - sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" - - - name: Build with gcc - if: matrix.compiler == 'gcc' - run: python3 builder.py --run-tests - env: - CC: gcc-10 - CXX: g++-10 - - - name: Build with clang - if: matrix.compiler == 'clang' - run: python3 builder.py --run-tests - env: - CC: clang-11 - CXX: clang++-11 - - - name: Upload artifacts for rel/x64 - uses: actions/upload-artifact@v2 - with: - name: linx64-RelWithDebInfo-py${{ matrix.pyver }} - path: bin/linx64-RelWithDebInfo - - - name: Upload artifacts for dbg/x64 - uses: actions/upload-artifact@v2 - with: - name: linx64-Debug-py${{ matrix.pyver }} - path: bin/linx64-Debug - - Windows: - strategy: - fail-fast: false - matrix: - pyver: ['3.6', '3.7', '3.8', '3.9', '3.x'] - - name: Windows latest - Py${{ matrix.pyver }} - runs-on: windows-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Python3 - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.pyver }} - architecture: 'x64' - - - name: Setup vs prompt - uses: ilammy/msvc-dev-cmd@v1 - - - name: Build - run: python builder.py --run-tests - - - name: Upload artifacts for rel/x64 - uses: actions/upload-artifact@v2 - with: - name: winx64-RelWithDebInfo-py${{ matrix.pyver }} - path: bin/winx64-RelWithDebInfo - - - name: Upload artifacts for dbg/x64 - uses: actions/upload-artifact@v2 - with: - name: winx64-Debug - path: bin/winx64-Debug \ No newline at end of file diff --git a/src/libs/kdmp-parser/.gitignore b/src/libs/kdmp-parser/.gitignore deleted file mode 100644 index 896f43e..0000000 --- a/src/libs/kdmp-parser/.gitignore +++ /dev/null @@ -1,52 +0,0 @@ -# Prerequisites -*.d - -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app - -# x86 output -**/Debug -**/Release - -# x64 output -**/x64/Debug -**/x64/Release - -# vs directory -**/.vs - -# user files -*.vcxproj.user - -# Bin output -bin/ - -# Build output -build/ \ No newline at end of file diff --git a/src/libs/kdmp-parser/CMakeLists.txt b/src/libs/kdmp-parser/CMakeLists.txt deleted file mode 100644 index 5ee2525..0000000 --- a/src/libs/kdmp-parser/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# Axel '0vercl0k' Souchet - April 18 2020 -# CMakeList.txt : CMake project for kdmp-parser, include source and define -# project specific logic here. -# -cmake_minimum_required (VERSION 3.8) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED True) -set(CMAKE_POSITION_INDEPENDENT_CODE True) - -OPTION(BUILD_TESTS "Build and run tests" OFF) - -project(kdmp-parser) -add_compile_options( - $<$:/W4$/WX> - $<$:-Wall$-Wextra$-pedantic$-Werror> - $<$:-Wall$-Wextra$-pedantic$-Werror> -) - -add_subdirectory(src/lib) -add_subdirectory(src/parser) -add_subdirectory(src/testapp) -add_subdirectory(src/python) -if(BUILD_TESTS) - add_subdirectory(src/tests) -endif() diff --git a/src/libs/kdmp-parser/CMakeSettings.json b/src/libs/kdmp-parser/CMakeSettings.json deleted file mode 100644 index c2e72a2..0000000 --- a/src/libs/kdmp-parser/CMakeSettings.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "configurations": [ - { - "name": "x64-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": [ "msvc_x64_x64" ], - "buildRoot": "${projectDir}\\build\\x64-Debug", - "installRoot": "${projectDir}\\bin\\x64-Debug", - "cmakeCommandArgs": "", - "buildCommandArgs": "-v", - "ctestCommandArgs": "", - "variables": [] - }, - { - "name": "x64-Release", - "generator": "Ninja", - "configurationType": "RelWithDebInfo", - "buildRoot": "${projectDir}\\build\\x64-RelWithDebInfo", - "installRoot": "${projectDir}\\bin\\x64-RelWithDebInfo", - "cmakeCommandArgs": "", - "buildCommandArgs": "-v", - "ctestCommandArgs": "", - "inheritEnvironments": [ "msvc_x64_x64" ], - "variables": [] - }, - { - "name": "x86-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "buildRoot": "${projectDir}\\build\\x86-Debug", - "installRoot": "${projectDir}\\bin\\x86-Debug", - "cmakeCommandArgs": "", - "buildCommandArgs": "-v", - "ctestCommandArgs": "", - "inheritEnvironments": [ "msvc_x86" ], - "variables": [] - }, - { - "name": "x86-Release", - "generator": "Ninja", - "configurationType": "RelWithDebInfo", - "buildRoot": "${projectDir}\\build\\x86-RelWithDebInfo", - "installRoot": "${projectDir}\\bin\\x86-RelWithDebInfo", - "cmakeCommandArgs": "", - "buildCommandArgs": "-v", - "ctestCommandArgs": "", - "inheritEnvironments": [ "msvc_x86" ], - "variables": [] - }, - { - "name": "WSL-Clang-Release", - "generator": "Unix Makefiles", - "configurationType": "RelWithDebInfo", - "buildRoot": "${projectDir}\\build\\wsl-release", - "installRoot": "${projectDir}\\bin\\wsl-release", - "cmakeExecutable": "/usr/bin/cmake", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "linux_clang_x64" ], - "wslPath": "${defaultWSLPath}", - "addressSanitizerEnabled": true, - "addressSanitizerRuntimeFlags": "", - "variables": [] - } - ] -} \ No newline at end of file diff --git a/src/libs/kdmp-parser/LICENSE b/src/libs/kdmp-parser/LICENSE deleted file mode 100644 index 469f088..0000000 --- a/src/libs/kdmp-parser/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Axel Souchet - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/src/libs/kdmp-parser/README.md b/src/libs/kdmp-parser/README.md deleted file mode 100644 index 42b8c2c..0000000 --- a/src/libs/kdmp-parser/README.md +++ /dev/null @@ -1,195 +0,0 @@ -# kdmp-parser - -![Build status](https://github.com/0vercl0k/kdmp-parser/workflows/Builds/badge.svg) - -This C++ library parses Windows kernel [full](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/complete-memory-dump) dumps (`.dump /f` in WinDbg) as well as [BMP](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/active-memory-dump) dumps (`.dump /ka` in WinDbg). - -![parser](pics/parser.jpg) - -The library supports loading 64-bit dumps and provides read access to things like: - -- The context record, -- The exception record, -- The bugcheck parameters, -- The physical memory. - -Compiled binaries are available in the [releases](https://github.com/0vercl0k/kdmp-parser/releases) section. - -Special thanks to: -- [yrp604](https://github.com/yrp604) for being knowledgeable about the format, -- the [rekall](https://github.com/google/rekall) project and their [Python implementation](https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/overlays/windows/crashdump.py) (most of the structures in [kdmp-parser-structs.h](https://github.com/0vercl0k/kdmp-parser/blob/master/src/kdmp-parser/kdmp-parser-structs.h) have been adapted from it). - -## Python 3 bindings - -The bindings allow you to: read the context, read physical memory and to do virtual memory translations: - -```py -from kdmp import Dump, FullDump, BMPDump - -dmp = Dump(sys.argv[2]) -assert(dmp.type() == FullDump or dmp.type() == BMPDump) - -ctx = dmp.context() -dtb = ctx['dtb'] & ~0xfff # remove PCID - -assert(ctx['rip'] == 0xfffff805108776a0) -assert(dtb == 0x6d4000) - -page = dmp.get_physical_page(0x5000) -assert(page[0x34:0x38] == b'MSFT') - -assert(dmp.virt_translate(0xfffff78000000000) == 0x0000000000c2f000) -assert(dmp.virt_translate(0xfffff80513370000) == 0x000000003d555000) - -assert(dmp.get_virtual_page(0xfffff78000000000) == dmp.get_physical_page(0x0000000000c2f000)) -assert(dmp.get_virtual_page(0xfffff80513370000) == dmp.get_physical_page(0x000000003d555000)) - -v = 0xfffff80513568000 -assert(dmp.get_virtual_page(v) == dmp.get_physical_page(dmp.virt_translate(v))) -``` - -## Parser - -The `parser.exe` application is able to dump various information about the dump file: exception record, context record, etc. - -```text -kdmp-parser\src>x64\Debug\parser.exe -c -e -p 0x1000 full.dmp --------------------------------------------------------------------------------- -Context Record: - rax=0000000000000003 rbx=fffff8050f4e9f70 rcx=0000000000000001 - rdx=fffff805135684d0 rsi=0000000000000100 rdi=fffff8050f4e9f80 - rip=fffff805108776a0 rsp=fffff805135684f8 rbp=fffff80513568600 - r8=0000000000000003 r9=fffff805135684b8 r10=0000000000000000 - r11=ffffa8848825e000 r12=fffff8050f4e9f80 r13=fffff80510c3c958 - r14=0000000000000000 r15=0000000000000052 - cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040202 - fpcw=0000 fpsw=0000 fptw=0001 - st0=fffff80510bbf000fffff80510c3c9c0 st1=0005e5a800ab2000fffff805106b3000 - st2=4000000000200000fffff80510beaea8 st3=000000000a0d656c69666f7250206465 - st4=0000000a0d656c69666f725000000010 st5=0000000000000000fffff80510b16900 - st6=0000000000000000fffff805133e9000 st7=fffff47c02899f480000000000000000 - xmm0=000000000a0d656c69666f7250206465 xmm1=0000000a0d656c69666f725000000010 - xmm2=0000000000000000fffff80510b16900 xmm3=0000000000000000fffff805133e9000 - xmm4=fffff47c02899f480000000000000000 xmm5=00000000000000000000000000000000 - xmm6=00000000000000000000000000000000 xmm7=00000000000000000000000000000000 - xmm8=00000000000000000000000000000000 xmm9=00000000000000000000000000000000 - xmm10=00000000000000000000000000000000 xmm11=00000000000000000000000000000000 - xmm12=00000000000000000000000000000000 xmm13=00000000000000000000000000000000 - xmm14=00000000000000000000000000000000 xmm15=00000000000000000000000000000000 --------------------------------------------------------------------------------- -Exception Record: - KDMP_PARSER_EXCEPTION_RECORD64 - +0x0000: ExceptionCode : 0x80000003. - +0x0004: ExceptionFlags : 0x00000000. - +0x0008: ExceptionRecord : 0x0000000000000000. - +0x0010: ExceptionAddress : 0xfffff805108776a0. - +0x0018: NumberParameters : 0x00000001. - +0x0020: ExceptionInformation[0] : 0x0000000000000000. - +0x0028: ExceptionInformation[1] : 0x0000000000000000. - +0x0030: ExceptionInformation[2] : 0xffffa8848825e000. - +0x0038: ExceptionInformation[3] : 0x00000000000002c0. - +0x0040: ExceptionInformation[4] : 0xfffff80511022203. - +0x0048: ExceptionInformation[5] : 0x0000000000004280. - +0x0050: ExceptionInformation[6] : 0xfffff80510880524. - +0x0058: ExceptionInformation[7] : 0xffffa88488282360. - +0x0060: ExceptionInformation[8] : 0x0000000000000280. - +0x0068: ExceptionInformation[9] : 0xfffff805135683d8. - +0x0070: ExceptionInformation[10] : 0xffffa8848d9d6fb0. - +0x0078: ExceptionInformation[11] : 0x0000000000004280. - +0x0080: ExceptionInformation[12] : 0x00001f8001004280. - +0x0088: ExceptionInformation[13] : 0x0000000000000003. - +0x0090: ExceptionInformation[14] : 0xfffff80513568578. --------------------------------------------------------------------------------- -Physical memory: -00001000: 00 00 00 00 00 00 00 00 00 00 f9 ff 00 00 00 00 |................| -00001010: 00 06 01 01 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -000010a0: 00 00 00 00 00 00 00 00 00 a0 87 00 00 00 00 00 |................| -000010b0: ff ff ff ff ff ff ff ff 00 00 60 11 05 f8 ff ff |..........`.....| -000010c0: 00 90 2f 00 00 00 00 00 ff ff ff ff 03 80 ff ff |../.............| -000010d0: f8 00 00 c0 c1 f7 ff ff 00 00 00 00 03 00 00 00 |................| -000010e0: f8 00 00 c0 c1 f7 ff ff 00 00 00 00 03 00 00 00 |................| -000010f0: 00 00 00 00 00 00 00 00 70 37 01 c0 c1 f7 ff ff |........p7......| -... -``` - -## Building - -You can build it yourself using `builder.py` or [CMake](https://cmake.org/) on either [Windows](#Windows) or [Linux](#Linux). More detailed information are described in the below sections. - -### Linux - -You can build it via the command line using `builder.py` or by invoking `cmake` yourself: - -```text -over@oof:/kdmp-parser$ python3 builder.py -h -usage: Build and run test [-h] [--run-tests] - [--configuration {Debug,RelWithDebInfo}] - [--arch {x64,x86}] - -optional arguments: - -h, --help show this help message and exit - --run-tests - --configuration {Debug,RelWithDebInfo} - --arch {x64,x86} - -over@oof:/kdmp-parser$ python3 builder.py --configuration Debug -... -[6/6] Linking CXX executable ../../bin/linx64-Debug/testapp -[6/6] Linking CXX executable ../../bin/linx86-Debug/testapp - -over@oof:/kdmp-parser/$ cd build/ -over@oof:/kdmp-parser/build$ mkdir linx64-RelWithDebInfo/ -over@oof:/kdmp-parser/build$ cd linx64-RelWithDebInfo/ -over@oof:/kdmp-parser/build/linx64-RelWithDebInfo$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../../ && cmake --build . -``` - -### Windows - -You can build it using [Visual Studio 2019](https://visualstudio.microsoft.com/downloads/) by either using the *Open the folder* option or via the command line using `builder.py` / `cmake` directly: - -```text -kdmp-parser>python builder.py --configuration Debug -... -[6/6] Linking CXX executable ..\..\bin\x64-Debug\testapp.exe -[6/6] Linking CXX executable ..\..\bin\x86-Debug\testapp.exe - -kdmp-parser>cd build -kdmp-parser\build>mkdir x64-RelWithDebInfo -kdmp-parser\build>cd x64-RelWithDebInfo -kdmp-parser\build\x64-RelWithDebInfo>cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -GNinja ..\..\ --- The C compiler identification is MSVC 19.25.28614.0 --- The CXX compiler identification is MSVC 19.25.28614.0 --- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe --- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe -- works --- Detecting C compiler ABI info --- Detecting C compiler ABI info - done --- Detecting C compile features --- Detecting C compile features - done --- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe --- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.25.28610/bin/Hostx64/x64/cl.exe -- works --- Detecting CXX compiler ABI info --- Detecting CXX compiler ABI info - done --- Detecting CXX compile features --- Detecting CXX compile features - done --- Configuring done --- Generating done --- Build files have been written to: kdmp-parser/build/x64-RelWithDebInfo - -kdmp-parser\build\x64-RelWithDebInfo>cmake --build . -[6/6] Linking CXX executable ..\..\bin\x64-RelWithDebInfo\parser.exe -``` - -# Authors - -* Axel '[@0vercl0k](https://twitter.com/0vercl0k)' Souchet - -With contributions from: - - [@masthoon](https://github.com/masthoon). diff --git a/src/libs/kdmp-parser/builder.py b/src/libs/kdmp-parser/builder.py deleted file mode 100644 index b173274..0000000 --- a/src/libs/kdmp-parser/builder.py +++ /dev/null @@ -1,124 +0,0 @@ -# Axel '0vercl0k' Souchet - February 23 2020 -import urllib.request -import os -import sys -import zipfile -import subprocess -import itertools -import platform -import argparse - -os_prefix = 'win' if 'Windows' in platform.platform(terse = 1) else 'lin' -is_windows = os_prefix == 'win' -is_linux = not is_windows -is_linux64 = is_linux and platform.architecture()[0] == '64bit' - -vsdevprompt = r'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat' - -def source_bat(bat_file, arch): - '''https://dmerej.info/blog/post/cmake-visual-studio-and-the-command-line/''' - result = {} - process = subprocess.Popen( - f'"{bat_file}" {arch} & set', - stdout = subprocess.PIPE, - shell = True - ) - - (out, _) = process.communicate() - for line in out.splitlines(): - line = line.decode() - if '=' not in line: - continue - line = line.strip() - key, value = line.split('=', 1) - result[key] = value - - return result - -def build(arch, configuration, tests_on): - # Grab the environment needed for the appropriate arch on Windows. - env = source_bat(vsdevprompt, arch) if is_windows else os.environ - dir_name = f'{os_prefix}{arch}-{configuration}' - build_dir = os.path.join('build', dir_name) - if not os.path.isdir(build_dir): - os.mkdir(build_dir) - - # We build an absolute path here because otherwise Ninja ends up creating a 'bin' directory - # in build\\bin. - output_dir = os.path.abspath(os.path.join('bin', dir_name)) - if not os.path.isdir(output_dir): - os.mkdir(output_dir) - - extra_opts = () - if is_linux64 and arch == 'x86': - # To support 32b binary on a 64b host on Linux. - extra_opts = ( - f'-DCMAKE_CXX_FLAGS=-m32', - f'-DCMAKE_C_FLAGS=-m32' - ) - - # Allow the user to override the Python version if `pythonLocation` is found - # in the environment. This is particularly useful for the CI as `setup-python` - # sets this environment variable: - # https://github.com/actions/setup-python/blob/main/src/find-python.ts#L117 - py_root = os.getenv('pythonLocation') - if py_root is not None: - extra_opts = extra_opts + ( - f'-DPython3_FIND_STRATEGY=LOCATION', - f'-DPython3_ROOT_DIR={py_root}' - ) - - cmake_config = ( - 'cmake', - f'-DCMAKE_RUNTIME_OUTPUT_DIRECTORY={output_dir}', - f'-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={output_dir}', - f'-DCMAKE_BUILD_TYPE={configuration}', - f'-DBUILD_TESTS={tests_on}' - ) - cmake_config += extra_opts - cmake_config += ( - '-GNinja', - os.path.join('..', '..') - ) - - ret = subprocess.call(cmake_config, cwd = build_dir, env = env) - - if ret != 0: return ret - - ret = subprocess.call(( - 'cmake', - '--build', - '.' - ), cwd = build_dir, env = env) - - return ret - -def main(): - parser = argparse.ArgumentParser('Build and run test') - parser.add_argument('--run-tests', action = 'store_true', default = False) - parser.add_argument('--configuration', action = 'append', choices = ('Debug', 'RelWithDebInfo')) - parser.add_argument('--arch', action = 'append', choices = ('x64', 'x86')) - args = parser.parse_args() - - if args.configuration is None: - args.configuration = ('Debug', 'RelWithDebInfo') - - if args.arch is None: - args.arch = ('x64', 'x86') - - matrix = tuple(itertools.product( - args.arch, - args.configuration - )) - - tests_on = 'ON' if args.run_tests else 'OFF' - for arch, configuration in matrix: - if build(arch, configuration, tests_on) != 0: - print(f'{arch}/{configuration} build failed, bailing.') - return 1 - - print('All good!') - return 0 - -if __name__ == '__main__': - sys.exit(main()) \ No newline at end of file diff --git a/src/libs/kdmp-parser/pics/parser.jpg b/src/libs/kdmp-parser/pics/parser.jpg deleted file mode 100644 index 0f7d8d654b618967f7a5008c920590044f0e90e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544808 zcmbq)bzGBg*zf4>&Y>V7CDM%|B|ka^0Tt=)(IC<#pdcV69RraVjnn{2{D7wYm)mu zjE|!;N=SL1HufktKKXlkc7B1my!sax9)RFKVEq@e z{|y%%4i`QlAps%Dzqs)5gK%#GIzpm*62$aRj7VPlFx-C}P0IK*qolEqj91ba#q`E^ znw*(W3h@B_FSP%T?EehdyZ<~Xq3jqV?dY;i@Iis}BQ*Y%V*~=No zKgRZX8L1Efm2sf9iY9T$F#C)iJOzAi&g{w-~2=bnptq%1Ty84_v5O16*| zELGVc<>d0Cge*>Qqnu#5$W^)1j9vht^<3pp&h(>n2j{HM$jHjV-)*DV&yy?LJNx>9Th=W0fKv)^7~J3ghHn9{}V?QaTK-BbA{8g z$sJuB41hiNX~=omt!a=Hpy#H$YIsLyS-BcigQwEmoQnft^d)^E4u3;l>SOQE%rc@K z@B?5~DG3bsyYHO2LX4iz0b+ngdh%G8;R+#+<46T(!qQ8l)KxvUi;}32?KB~UaOX1o z^$;T+-9xqiMgGMEj6O5bhm$Sbt5tZafCfu2te6Si?KkZ+3^2spSaUC z;0iGft|nF;DZ@(%o!*CK0drgx^8j`c@HzXxWjICeGQF8psg^F1U zn?FW;O#!;H63h2VQFjZLyQ=a0xL}M_P<)f(r$!`xQU*P$NV%TEzuL~?i7@pah3W}d z0elE%vQA6E;w=Dy|ImmToMsmj4GC}wa<5z)9m1k$`qMs!!;I9(_HlZkh0tAyVrbzE zx-|uMt4RU;l5pn4AE{ugI#Nu)dQrOAB5+dLUJN)DfV9X03*>HA&MVMrILrKJry5%| zp|!6@k+L~sd#4TD~Xp~*T2r(hP%mTSk_de_Wm^FWEL z7TNE$l8Wu58PK|;Ve(26_FT^Rkf&NtY)Dd+1UwMgO`+oSyFG$U?dHn?Wjc?3|J2+B zRVE3Uu2)mq!sT9#YZdYIn_|vYoqnvXO+RVG8YyN zN9@~Mh1(NPewWZd*Vm&SF2+QVu3(xF6D1qTy^OmmY^a;Giag!%+VIBJdTv#Tr{&#U z!yHdGH!?0`ls2$8LK1s6kRiMG3djATCi;+h+lkv@lV;r;S&Nx%$ro$O5S{zJc6OxT#`cop`9-?p?GRvKMV-)r@2k3 zuwps8G5IB!+8263TBzF$#OHhMbK=r|-llxtgWXzQ#hKf80tePk3=-^!10n&Kpl9g& zuIx^UNEP_ABSW3UeL?m|41D;lAMv*KJZF#T{d*4S}GnG8yMo%Utn#D zF{%rDl7t-h_YgOZ|0j{5UoI=U>Zjkhun+ z-fTso+>w_tgQWGKCCLX(Qn;CK;HDGnNU?*J(S=(*rX96?j9?i|jqI0gD&Op|fev=0 z03fvALVyf3w89)&2e1jPMseu@(xq5+~44&Z4q*XeO z&^nj4xQ8kZeM$(@lkwpewtX#5oKvu}=}u?tM}}qfO=xq= z$GP-^itull?*RR~7;p(l^4jE@+}6o7SSI>o1Xo0^Q(#d)n!JpMgL59mIuKV zFtSw`@%|9;q{EhQfgx_DdB@BJDtiqVY*|}M0ZKb-h%sXnLP@|wS;i#r#TB%H(9Cf{ zW%U=)c0H)F`ID!-#BSS8g}gsj;aU@&OKSUVq}_QrEB4;E6%&Fnze%a>AxUMSAfOc> zlDpuK%-No9XC+ubSrE@9@Om+zCQO{Umsm|5=>PwAyx= zEMoonkr|*=TyESuKVeUeVlTx?nCn25IhPiz)~!a{I4&C@Hs!t$Vo7-G(Zfoud}CZebVr3DuVV7;2B1Pwiq-x^y1sK`czSL zlYbr#k1V8_-1g!K+^Co>GWv%`ai^Q4?Q4e13jQY@3Y*@(^!U~yW|jLcg$(TrvuZ`A zYeWTe-^lDk!DRy!4ztb~KT;lzQjVQ`S-e-}a-pDK5?~)pVQp)zJvB}lL&Z^j@8cD% zrYbq0j&&9ze_Fr40qLJcSs?4X*Lx2Q4ztReh0oV`NB)M57~8eCH>OJhL8p@~-lenU z+JI9|WKQ1EtwNZnDp7>cz6$m2?CsL+gtg!KTGJ)BQ@$7HnxCINx8quuUkdt*1xbn_ z{x!Fd^6pNzD1hG?r?3F~9zj6qGN;i@4p$Z6%Gjw~ykuAKP=8$@gc|2w$-b_OBeZe8 z49kFOQ3^oqLwk4{=OdAR2vA9P&a-PdQJ=R*yxIQYmp8MIJvkl`RIkFi?f@imW%x52 zGnr`xf_Nbtj77!eS7wJ4Pv(`3YSb%sVIFXB)i1WvrpD;)+ikD2&Te6R>-g{?45$}XDI3Ai=rc`ru zE&!nou_s~o(3@AJbM_0TJCJwR`tykNv83A>=LPLb4axyR89DnAr704MPIzpCQ~des zE^9mD0(|_+ae*F#V?5JHRWKoJF7Im#%S4xgJcv z#q)mJ;F(Pr{Cb3^{LLM!i4rS84G-sC#7dh9N0z~LTzEZTK$rfubB6&MM@GDfaQV_a z1^+UrAYOPnW9al`h#;P%rt=>cwc#*BeB*2TB>j(VhiW7ejg1n)@w8^NNe z{WRE$&x;9yx+%1MFvc6*0M3iz3#K)Y>iXeMk`hNSa{nes6IB#@cuf4Iqp+=D*wG`7je4REv1C zt4fXqZh&RY6k7AaV?GYStWlaUj{`mi&rL-iNnb+;T2ScBy z-Orp)U3i=#o7oC^d0uq}9{fGkMfwOM4ejg^hAwn<_lTDId)cLp{KMcWW=xgxchX0HR{b!rd4!sxg8K zhS4?oHm?ft2h#6J{0X#*UmBDP9}<8#P_OGSCK-K$7f2?phxph0>(&YjV#Q~&q;KiKi>3*=7Wt}eHjEL*YC~ZSaC%~6LDZJ!K zDb9_B?ikaXyny!xj2gwDqJct*c_s1fp2jlglU1!C4@T?3S;7v;`{xOxEh!I1#41_k z8-Skhj{r~Z=GuQv0_X~`)t7v7B-GyU5(Vr7lMLSh$gxgHH*rQ+^Q*;J|E)Q3|ISo) z2@f8ZuolZBqEUM&nJE30-@<2Z-K&|HlNn*hboUv+X!%*$`LRuU-*J2|s#Qf0vnM1VQ1KQ znnmEs7bmXAZgvQR7VVbBrKwN;RGbnJ;qSN|bwRA6xnGLv=?(1pyv0X!e*ZIxL z1|#0jf5X_m)?fs%2UV2NqDNzrd~lVW8zA~=PM+j#W4qSNv^EFTPa(j#9-2KnRCN{- zn2c2qE!oYnYMee0JuMIwKdR@`PRSe@<3ruoEOp%pm3R|jNUTlrX**@^>Yeq2oBky| z(V@JNezM904PGeC&tK7>h3QhN90BO8g?fzVvS#}{GTm-Y{B-KQT;*;{@D6z`f2}8+^*{0FF2LUZ1vjyd;0YgPi1+ zo9*Wo3-SP7|Hkx4PGgT9MnKVXq2K3Uqg3MB-pd{cJ1*pJ5g;kk!=neiZVJDOpl3PI zN5gwoc2tN+`rDyMMt=_u|Bi{=`Xx83)G|S<7gDHv+4b*CjG+^VVw$_<-PO88Q3IO>R6ZeO0)a@Pg$O4 z=Dd^^A#bVkbCfkgfrnf*VcK*44ROh6f&p_C?$#F6CatrV6aF*Lx;d%_{zZ?5ckTc1 zuiOl+PG(~optkqW3uSrniPEdOgR`hbaXPUHEY$9E^Uq^7 zxZa1<*M?UQS1yAK^58GK#ys$EewR|}4|09-CMj3U43+I`Rb^D6!2Cs|~s?*N?6@P|{IY03sVZPp3Tel&Y6W&Ggz=A5dsokqf?=_g~~KG696^x7T*?916(-iWy( zLM6rGy$fbrM$|`H1PmCHUn@gZRK7jJ6(?T;~gAGl#J~x%r}G6pjFLTZhTms3WPy%X1Ru>#^hN25~g2*0~4B zY*TWb55xeOZB@I^_89PnbC^h&BrrvKw@b?Y(H+2^zf!L0x6Yd$ZI65%zKoQ&d1q_! zYt77A#bFGySO%H|B^%V5<@b61o+2xhJKZl>jdmGP+Z{j$;%$HV6tSfJNAewB;n+Gb zmAQyr)r$yCTo4dYvnSKRbXd^b@j=CA@>AtV!^7o9VM<>)r;{H*P$q#S`DLlqO>vhW znxk*AkOED$sq!GkXzpuwbKBhLnQnc*pOJF zK20>0tvJI(tR&D(^P|ZY^MNHV1lmErvAn4JDX_Vzt8&9X54y>i^4-uZLxJYm3$1X01<^w=*s<{)Yr~dl65J&BwIK%u zN8t++sugw-l9fo>27!4MGR&e$ccJdMt|7(%p_tz}7AG$KYdr9}EMrn^hd@L}fN4{K zCe{malja{u{znGA2#KqC3gwan&rw{jVe|j*h zUg zz}vEBGp!Ssh4C)l@@q$kL`>RJp#L!EyhN2YyqBJ+8wZ$Y_xsBCAN;*9;*+hWEDQ^i z3@*hI*+nS?mTxGN3}o#Y^(IQ+h#R){vanE9)kDo`VI$Eqvvlc?HI#iB-}LCB>;}h8 ze%u1lo{4Tm1?O2vH=^%7Ej_6Pcv|!t3LXxFjo*G|eR%9!@h#w(_D|u%`HHzSu>N0* zxeD?JUA+Yrx&2jUlt(&pW@c==04^dxc%)OA>spi7yGYjp0rj@q$)1@2J#sFUGt%H! zki5_=#*B709i>DTY83~O=O5JWHzX)A6U>Sp!+v*X(G!3nhVZ~7vx)_Jh zs$F*OMntF0v!3@8wRNsDJz@)Q+OKs>>wGQ^+Iae7@las`gQ_e_e#mRZWRD;mxCO8$ z-J3ivb+bYQpN99JI<65OIZC`;&5$`;HcaV;0nwfXyIp*jP5rKd$3Sz|(q7)j1=P=> zr`c~c0hu*;eExvIVj5S}&{5+$a7pVWI_Ujo+jN+dY>H}Az_^8O%Cha=xysWnZ!a}= z(n6n!@seCKYHy;@$bp-`VUaflVNZ}0mRf^cCjD1+SEoT_*UMEi6NerG?Jx0XbjVYG zt$ZWkTelccVL&e?DiH-s@5Cvo*MLG!oUzrOQprmmZ~aFUUzEPm9w8xVW86ZoCEBCa zF`vTJYsC{*+QVPjj-5kAVp($`UWy++DV>mU2@>oIdvUt0F{{3fObWVvG`E8$f@jq4 zne2VH{jl~*QY!iWa@q%|Dc)8wDF7hY5R6jA@+*)Wj#grL`)B`j1oaou?4g?#%!@=m z>=oIE;u{Au(q>6P=sh2+>;%&oTM+z3E)H6O3zNf3m;VH1Uupa;%Q2_Z-zPkH|Ivk) z#Epq>{ew@TurEzAToE#RT1(pHh7>&T&!Kl&7_FITT>7S|HdPg-`Lwg%l#=-MR36~0 z=)Hn?LfAc&4b}me-f~R1d)1p@qS+kN7vj6}CkG--Ay3~i={ZJANR%?NoSR6O;;F29 z=z=OWLoXicm4W>Fuap+K?=7AdsBCY`v@p-;`l20Ob~Hv(+eGh8;8E%*W&Q1ae=7hQ z_z`#^bIXRdZAXlSR!}Kf>6c5_{8alP!uyI0P}uAe$x-K>=2&U`>G-Mvd` zsux*5eE@r#&?p|ypl}wy%D#q6=^_}w=9oQLk8)rb+a2C~xLha+iSU_NS^Nyj-w;U0 zx|Fx(B7vNsESuREF)i8UwJR^5{*pH~T1iP8W|{)+AS-fwP&xg*G)e+a!LLhU88!P^ zaQD9fqGlh2Wq<15OZ3f1d8f|&y0chvte5>F{r9oXyX)b?hduH7G3IEQbcBt%8EW<8 zRN}9^FHa~n?#a`S)VvLN%JGqqGTN5zHpKKQq9mZqm3eVNR`P|N)z7BomE{rpOaWsy z8&+DgXuvypLPHV@3XPJ1a(OK8YxFwCq5q7B85Ks zz59D~JjjmjOf^v!*yJ=o0i*@F4(p?cz(X6(R?RZIIV}1o5+AhHGl_%jH}%#%713?M z>B&9!FqKHcg%eECV8?L6R*UgB6>y~J>@zaL*vAq-fsOLMK4C5T?fV+Ooi!|f!^K9UqGj<@8t<2)dqM; z&Eh@v$++CMQhCifrvh|Ebq(4=t*?bLk#G>kc~g_JPPq?o%d`N3YycCLjF897pm(tS zTe=+d6Z=}rT?Rc5H-F9uw2f@$&x039jl5zjcte2j@?xwaN-G|L2}g8Rm9}ESHzE_N zkyQK>w_)Yu(K98PtkynbHIu&IXfOHdIkF}{W5l5PoDR;el_0Uw)u(I^8hhFc-59oXeYW7OBV`%h<1D`h2lb%>eDrwi zy@0US2w=i31Lgv0kk}geyN6{yz<|cabpg&6ohh{%EEZVp7?9G#cAj~yd%)3X$Lp$c zf4;>-(O~vCKzD46N}64f!#WYJ4K~a76VcYEW!{X18b~eM(f$dE$g0{4?D(|RnqL*{ zc>a@Z^>xR|@8*a%1TE*8&yPq5GX)8LtGcC{3{#zKUaoA;@AdWmsf!p^?B#k{-`7d)Y;F zgd3I9j_%Qbl@Ro9+H!ec(PY)Z8 zImL2ub(bF{A`P0l2ZP=`ozkVqPIC_Ih>g(Zdq*mF|1^ELv%S?NJ@af}p;8;m;N`;hNE#IaJk`Ek2p zc`jWPUrp607l6s2KSBX55aq?+g&Ix>u%osa2WE*vvqDAd(sD^${v)wFBH~ejPld@k zAbWvf4;H#CDqg^`W*sQ8@*3TWwP*ELpAIMl&fOt&-?-m4(C0j8_Y!>j#iB?xsViV3 z{kId6x_d*<-f98aiRLf5DGI1v8GZac?zKQB=NF#HoGm=xGHTQ4lda+8mgPwX@q{C3 zux2EkX#Xmem2Nfr@q{t?*bYM{=pm{5<}0&10BzVm==h}Uvw&Wv{g59$wBV`UIma(A zNt0RM=l?$XZS!+SF{o7{OAY9PeTvClKaR3vtMj)8M-EjYKJ{d{F>(`sL)|oY@K;uj zyOMp-zNmsw@iwO|QqlSG_++(q8LY1jc~JBLX|P6R(!5yduVND?hb))-T25d!)mjqSDfdvq~_>gD{y-)W>222J=Te@05SNXoaRR zzRlDp;md+IVS#Agph@F4hyA)DFUWF& z`s8{0L~kEp`X`5sL0@T@_PsHgX3P9d+@+7JfQ_U+ zS|9Sd!gXk(#L2B{oKrS`(Y?@D7>|F8kL$;#w===fS~9oDd>94t7&dD=;~6no2YUgs z8|gA>M+P&KrX;L>A!Dtjjwkf5Z`iQ;>#9(hQsRn-x=R*~>)dSL}S^1FYMS6u!#3pH{*=O{R5yq&i^L=REaB8m$ zOyznk};h3xC+Y4Y*<7Z4!boF)N?#;I_XnmJ*a}Hw-9TdI&pa|0(1} z3nVmy)qn9kDaS-m?52QNy(Erb-)kzA@rfRt*>P}FzV~T#EyW1g~kd@@}RkS_LXgEna-AU(~!!A z;|GNf{P!vKIukTZ+Z}7kXUB|g!`2JZ-CE`giJA(jXDeARw*aJJ&<8z+#PS>XQ7Vhp z!Ce}t&hz-0fL?YG1S#Dc54It|Bx^8V1*G0|_ZglWoL7fc^o40wvy6Ca5>F3=sbPAN z$FaRlYX>JdHn4KaR+nQxce_!=6vAz`@1CT?LOJb_FTv25I7%3uUKlW$f~%S3eCj}J zgCXC$o3q`;Tig<3p78SO(5>ujI;K6gD3Pe4xvc(2Wb9~V}7o7vyH-qtdTa^PD$tYm|l za?e`~;-Yici@KMt9ov<`b$=j4|182{2PUODO&=ZwJ;)~quqgu=@lJD6Z{?k>;st_2 zT+MY~E{vh{4}`*%Qm^W07uM>u@5kTH2%#Y%X~ zr0C3565i6hMy+$LcsmbVT7+{)viBhhp6jL`>`p!RJT#a2BmfYmz9%fB{bM;RidsoM z2$6JzbwZ~Pa?8yr3Dww0nJetX;kf>58{59Ev?Gn^Cd%*fe%Esw)SU(dZNyQ^ZX4k4 z$w9mKU^Ig+=2HV`vOfb9d!X7B=Hp&ndSu%Ycpb6>kII(LCTH9~tdW!?Qq)tLsy z0PQ8g`k=mnyo{M)0hKZS$?d1$a*qJ!(C|8lYwSP!El;C1580NRGYx+Bh+$HZlL`D& zn9?Ek#YDYgAFrE+D&2t1Bj{nFJy$!deb}aSrm3ZY&b5ax5AI=S+BNUc3Q1dF6ZhnH zOk!l!o@YR{Tw*UO*YnkW0L5plsNM$reBfD#CYmr*r(jZgEX5J={G#?)?~U^=IZHnC#XQ0qNIuLIhR_nj+!dS*OFR? zX$)fl?YW2IFT0A5YgsiIfSf#gef~9lB$5oIrPg zW^>xl*4wdfs5>F|AGzQ266;m1^Qv#|+z(wA&UHT)-Fi{n7X1^~pL=3q&RL6(N9aom zZj0apwXO|if-1xr-Hbp5e><)8p1uxQvWb@@hDX@tH0UcBl1!=apoz2GuKB{adUENg`mnAHYU)p~~SF7`rSj0=zm1!Q%O3l8q!)#92U z0z;EaUOEdWZ_xq+ZXc%`a?@;W`1h8;oSE`;|8KTxNn2@lX#DH+eVg05#Y2D?0 zWf@+oPu=4Kqg-`wH_M(6la~FB{W0!^mB*CVU?p)wJ8_B>q1OANq0jTRd%yS4OFdTS zS8?a9rY<8kpTrqe(fNB6w01*T@;qqjR9Pk5#G(hKQ6_U9INGDbIxY(cf2^YfAX6g0 zh~#qR=A7#hikPzHn{DB!wPONVs81io&H{aoaHbLw4>w7PARg93R=BD;C+on9_R_dG2|Sef@I>XqikD z?b7gC57$>^41YH^l#(UY8sS*(>lkYVm*-D(z{3l$ttnju-gjPOR`NiMQ(QA>qvLwZ zcRR6@2g}OFAdic;GRLBpV!n8La~3t&dpBQ2l|9m0<#1hGQg-cCn)KJBYQEL{;VS60lAw69>>QL z9WU(D48c${%86RO{Ko^amDqr{|5+k>T$MaQ7|=@s3mU+0h~bV8p8Q)P3S@jn7g8Bv zZqT#(n0y3~5ES^+!)-8#8<@7ff`JTKYgR_g>h%8P(G~lhg;CeuDMAb@vBaqex&BwF z2*#C)s{fXX@18E4^j~NGk5Vy?&|8B?rFTx{K4^P!gXCar{SH70hijCxIE zY~FigP3HAgL12$YG|knoI@h`ZPs^gmGhyPu_lFS=vCnYb6e{%}g~Sl_+q?&{lQHfQ z^HneFFZmMbjiiVby+l8yIg%b^Y`w@-^66z&b+K`RhS0qCr=bGH4|Zt9`>&DiT@ja- zwd@bL`T0=Vz8v4;i{;{o&IWvt$L|`(_1Wo^UZ8I3t^02U7Q&=1o@flXu$;hh-|cwb z0Yu{t92yIArSLAEy7W5Sbl&2vtZIM)Y_$4YbF2!W)vsEEAVK`_Lw4&bb(y84uf#;3 zQ`<&|!ZMKJFfFL97%C_sOrl=Tt=74tuJt<%_VQUj7wvNP3ABLzTiP6>V@m8xM!Ac6 z#am|CWL1c}^d#oFbQX9IeJK<2VUGV=?|ay=yRYX;j2Ko37~ZYtw<<_*2qbr1RAm#9 zqKUiZTEyz1YKN>0Vz*j4QGunE!9ARFR&vR?Z}pZEx3z-vbP$obALCbOTY&@Csj@$C z9Z{;@#O5LfOisT-`EjCS%fi_t*^G;-Dh~ z3fusu3|tybhuXfr}Q_BB_T}K$$LgNwt>a6eXjYpD0Oue_~RYGxib`0 zmMQ(W$NUwIh_$kBL?BxBkZZ$^6GUTzs!Tk#M?Xki#fGG?C}cKGR*V$C%l`c8!{CoY ziJC(Ipu{b^9mk9dA2ZOu)rd=xH7 z(A0&I-4Inp1jG-%IF+~P%URT%pfc3u5PnWkO+?^j)FI1}6gvX-)d(j+6j&Qz?5{A!oYD}pDD4!3t)^EQY$%vyJZ>$Njz(yYJpFC z`-eYuGf?ylJjRvL&~0dlr%E&4>2dU}ATYtMrC?~W|At-@m6HfAO&`jWX`(bYmzDYY z2y($f#?j?nK{3KfuilH7eBcITZNA}NGsnmx#Hm##mxhh!z?CsZX?w%xDU;sSp`!br zo@PO1d5l#w*j~Pky?nQU%t<+_mu}xidv;1)ZMso|`SLyvwUEvS*1V)&>o%-(rujg^ z^rh$VqQ!tX0;f0+P=5{1D`tpRirzln;C`K~Nb!m$pA8wMGK|Sb#}C*NViM5?eQ?Qz zE~h$Y6ZPOS7>L`83byPL@`Ce)j!XW`eeF5TQ9d7`fO}UERXTLifhr;}>?tlJ2Hnyf zWAw5ANa4Aiiyt%`CZ~VDDe{~Y__+pgT+8v4NRxQ!?d6^a_>F3*j}ES8#p+bMTA3GY zWeUuk?jDz~WyGGqL7EDi#~TDOg$k48yWGURn1OY$7?-`_T-Sr(>Lv9W8#i-_y;M#E z@7hO$K@6`6!;axJ0?|lJ%oQab*P)-+#eEX%ldxAgro_c$4upw!}KoY`WYs z$0bY!S@!Dh`sMx;_nnj}W|dO(@USR_Atn?}($6i07D(&zLsE=>I{h7HfVd77KTyPM zsk}BgU9tjL_7n-YEFI(B;8hw;#T4Ka@ zSATwaMEEuUSFK0}I@3*qG$;FWzQ0UobhCn{v&UX5y0Aa9ivF;9M9tR`<0uEEa1yAH zKR^CGAv>Dww*3Cv2MbEFq9YWF zd;dlxHNGgQ3`f-H{vVf)$U$+2J=whO`SgUdP(|=-zI2m3_?2nsmalHz;G@UHe3=~b zqvL>Z;cE+=*{iT)BGoZQ4}1Ico?rcOIpffQ+lSYb9kFxdl2lSZq zJ`e6s3y?!Lw9SSDWbh8a#)@uk!1A$xhAWhQ0xtA)4N<3&O*GP(F; z;r=*smi@hVy_yS~4P(k7VZn+J6G}DamJig4IEJOicA0=d&bIE?2Irb3(hWsTf#bK< zRLem!lCwT%b%(-(FlcJ0US9slnc&b1A8RyI zf-yr4m@GEe0?9$IdjyyC5I2$`b%7lLbsGHbPVQ_8*>>=W)t6Z(v8Fbv@r&7Ol#$L2 z3E74&7s4K;*85hyXD@YV61)~9$X8tydkgBQ61nPUh`OnPesHm{ z`Zxo7+L+q-KJjx+EbhOY(KAueKz_b71Q*mTVI#$!EWLAO3k_ zlD0lYypz)9vmwsCcja-B)Z$@b7bnCYH)}j!7Me(b$Du=8aPo^$%46&39%W|~@l)%m zTSeD3dTE;2ND?sC39(GYF%Z~cI*M~|rbeP??I*fQZ5izZKb302PrQQ|Y+oQJIY7z7 z9VtP#{EIEBbaq;_(PAxbqhjUS1I(oCntXyH!)#E?!ZYexB-qVv_H>!bz_NGF-GAhl zxeO#oTqH2T`}ts$-lt@&hEGng=GsSVSJlnV<5gL>8G1W=yfnsJdPAhnHw za}{6sF+1Ho@7O3sUAiBqj6W{80(JboVu9Z`88EN0CgE;AwXTzh;Mb0!*XBKG&xjwD zecrNMBXJ?b_a2Dx+t9$SvG*`zmWOY-F!4wauK{+?7SBZ$R&+~VZu4LH`;t!H4SbCXc>aWttyjSR=ozD1{Km;s{XKFW;{?RpI^zeVNt`E%^PereHi7J(QIGt z4C+Ltr(na~h#-krn+8xOeD&9dfm&A+8$NeUS;34163(~A1P75^pyPo^{D6iy=JQ)Y zv~3XzgNcA{bt#r%LSQ>OXi9obB1BtISE5tqt6yoh^d`In(JuuC?6_zsA|_RvfeA`f z+q>q6NGhql#|q*w_u_1qc^Mh&u}}6MC38o{I_4zAJ>jTHs45U6u4^MX0GC7a$5zy` zSSw4Kx3#{P^woamjVDk&EFFIbAaiVWmsX@XEKomCC>!&MbUUv+soykyVQV(Q_ezJS zRh#c>isT!}>HPfy_BGl7vCxfdpd8p3nZ#CPb- z+l^4LTES{!wAbjQdJ}P@VkuZ*mIT`$dp&ZkrgNuzg^$r?k|Y^?=IMS4gVPP8Y!Y9n zisW57%Hio%u(iDl6U#N&^Q`4nYi;{%HpVy$O_NWr)Ocb(Xu5d~thLr#V*QYB$%~*R7U)} z@>3?hu$tbEd}sMLtQ#@bhHiPo1FB0b{oFj5@L<1EyFakAQ*Qpn=Fk|TmB*S42ifTl zY4;npG<(qLqh^@LhwtK4x(I$LMu{@tac=GjdNoB)}*Wn4E@y|-|aJrI;3NiKp3eq1*`yA#7 zMtaeX)`BXu`S89rLJGhhQ(RpoLP`VP>#=e>1lwSB!_N5@iv0ck+y-&aa+k{XwhyCx z-z7vQ4t!rE@?{3|%^x#hATQDNRRQ93ZVGX|)r@rcH6J>4>e~c+t4T2c;VM!JinzE4uI1GD%UK@-M#gvv|pXLd3&@j4e<2=_D?707DJb|h|=~r zoL4mQhM(Au)nR=5*Uo=p^ftK2d4X|V0rk$ee2uo2YJY77U>;-sYn=NJKM}4ooiUwM z&`2-i3br*g36@8N1NB|$QDwZejo8-~vW}oME_?4fN1t{9&Mm*=Du7uY` zWZ6{@!_n%{MU6wO0K!H38tjSQ;HTp(a!!-ewda68C9i~giGHJ|dJDphL_We8p*Ggv zMv@&%QvnSYnuodz{|+22pLsa1JRbLYr0?X6rYHUKXyA}y&SLUb1UEhE#ces@gp6c$ zyS?8WXCR{(Zf#QdM=Ff2-CUE0lU{O>a5hXBZ2~PM_*OVJpd!B5rR=15nYp~D@a4R5 z1Vi8_;*KW=c>6aBH%T~djW~|$3dQ-b9(+i1Q!{EI9_dAc$uWd9->i0jz4=mK!{D?E z`)UMTkr0MTT4vv}%|vhvqe=}>S2_-eUY0PMnJ$eIb-waEJ-Owjjt0Ia(y|T-`X$Az z!eCXZ-JXXFSb3K!*q+ryNrknmVZPh0`%xidXTpxePsXVI(MxOIyjD?8!SDwyT;Y?02HL#IxAI_U@JT;wQqW|-qf^k^d{~B z7Zcq}BJLlCB-L2nj&4-sK@*w)%1z}6K@YNT6{H?j+w+gDia!S}b&afWp+&M{Q**tw z*T0Y-{x`zjJF2Pf+ZqmCsfsAQC@3JkOAS~kB3>VGqcIdI%c7`UycjZJDVgQj26%3gZtwqij^(g2@UA-EF1Kctw;J}l7e z9Bj(6V$ZOt$ZoP-AB!5Dvp~z$1M1J%?oU26Iuo>gdf22duhrGFYr|GA_ z#?Icqn&CTiTEJ-@_L#F=mR`|9={r1(gJZj(uF+C2?=;DkQx#s;d?C#`*|*-v$ zR6?E~Pk>AAW~cXdLv5?=)-EwYLyhYiq5291(n&+82gT3D z#Rd2R8nOY2xN^HRfQ>eZ)-sqBtTlVST0i>flbD8hdDQ#NaDM2P2I!N=E~gNlo5?Z2 zS9C6~rR_n@owVOIZ=XgQR9~knoLp5*0zZ7Eml5(IrglT&A+E7P>4Fi*ZfL?zDKUA) z+ZKTKBZt^K+Ilp7eJ>6q_BjBdzVkhU7U{Q{hgNM9Z)fb;c>RJt{GTaaz@;+{db}31O02D#d}?>w^2J>`Kjc#o%G9k!Q4tFdib*{O&l z$bX)-e}O>mcxAfUcN~1XAUF@WEfujzb^mJbyAvpXP1LmqWQ`XAcq*Z&WO!nBP>pnL zbF|EOr9+amWt7Sd4r|w_oGR{M;;PP$M~{y7=d7*)&HGe%Q>=0-izsfU3&DKh5b^Gr zr+|y7K+l5WQ9RGclVh{F%G;QwNVg@@Mbm{1rs>?=1=Eh{>cOJL0f&QM-FKoRZak;` z{ydACtndk-x1qJYx(T$B*i*c09d|SFL1>(0e#B_8tv;N82hjdTUzY*-<_6I|d+2#= zq+51qd$mF#n(xv?cXD3=AhnsxZP(P+;}-)x?VBE(ykX?ay2cT6je8u=hqgD+2e^n! z1=M>x4Xy4h!3hV;m*i}};e2rNogSAH^qW&{$yL~-0j0g*rPvA(mxqZ&I zs|odR3Es44&9fyZ{yjhM!^4`dPHrkg>E`{y5yG`uBR1Yf6;C9-PAnJ?uoVj1aAmM7 zJiXhdpTOpkKHi?%75zdE`K zaQdz%y1!{O4DL(4noaVO58V|&H~Ub_8kXg^C~@gS58~GcVs{^cmTyXby&-c$#kQ){ z7nU|0+o=_TpuqTrd8;GSD`~n)R7!n9&UOX%hEDCp4G#*20(AOiCtt^tsz{(LHxm>= zqkljZ5t@$%^8ESNq7m7d?rbcuEA~Z*hBog4pvq>Ji@JSzs(U{`Fzc|C$9sMuRZ z+awIFh1sD3djeBG-2=oddb@8%B{1}Ak+H1dp7;H#{|TV(mrl7IlMIg@5k%&N!Rm4ju9wEOrv~$5KPsFDhQm>pR&Ttqy*Gnuj$Wkxu%F%vZAL-!z5Zwy7?Z^8Qo6N-iQ4Zw34`TbI4rjM z4xePEF80dpWvth#qqfh^*$8W6s|+2Q1`03nwDm6xMrz1r*Sf>1-;6zH_No0#tJW;LyRTY!i*XN5 zep_Ls!Xz&5?Wl$2!CZNS#uJFvgzm49XgW&Cv`UA_2TnjszFrv>-H%( z6G!TBuA58q5GM`yezDc6db`hx!v}kWmi62uRYO^VRhaUOq^>Tek*d<}j>Yco51I*7Nmki zm-;(M7L+-qIjF_r*n^Lj2+cMN@oFfon-H1M6vZHQ44!`M>|aHX^aymWmyBDEP+HUH zQC__`pBAO5-OP<`V6(o-tM~)DchL7dVrv!CWwl|vCSh8k)*T%vEajHpJ)Ol|GsO|x z1+OUm4jE=jb&${y<>O5}z45#1es`z8S%Jt$HLll|_rtojTo5rW29_v$p^iIgFXEwo z-H7{>$HI#0KI&a{Cm-XoQ&M%$t%#|E-i&_RR!0u=Aup#B=zymR$Ez1@eXdWnFNQiJ z4sJ8bI`J)at8o(JgUDil9s%afD>}9%q)8TC4Q6q1r4(gv@(RY^?HOUu{UYLQ?m$6b zO^}0JB;iY64#WCg_;7Z}Yb;5NjB;hEg^hjnNJ}d$udeY$cJ>DfmwR<&oT3$4WRAw5 z&dss$VK-mC32z$fqFz7)P9G*=cgRCSU7FKr$<$Z#FB+|F{)5KR{7o>8)fg)I6;>s@ z>^Ly$T}?G+v9+hEPIK&m9d0&IBw;n`9mXl1p!b01ifKcR(-LX7Dd>mfnXZjylb|?p zhq;DT4uxjUe@@o^(8tjEVdbb#1YwMG0N)m91>UU&vQktS9tD4=gCOQ`yfzz&c9MIhQQF~jA@Q4aN^n40NbM3dijL)_y7*#uOyhspTj^UF+E zpF7MLbY{;`@<;p5USVcwd68jDYh)}=U17w{#}I1m3$F3|nJ3lkz7Dp!&>Y%Bvw3K` zzynfPbdD-wd!`j=e_q_h)YX^UG1p%fUs$MwY8_zf9YzJWe9q3QGaEX3cd)rmg?M=j zn$+?Z9Tdc^(}BTg;4l8fEWaN95Bw>zIJR;Z*?q@kr7x!s@>+CX-JPk4Y!|!vtYAai zqIV$RP;9`HKz{^E?nRXKk!Q2cmpQrn&}56LuG9`W&J`&CcwRlmu1+aiAiA;PsqT{C z>S4@6#+^RV-nV{PHJM&BN~moxg^|VwIia#`rtTMIR`wQZ5gqyO?8!MBv!R^QTov*( z_5vQyaXyZ@!;;Y`zgrgD9K12p7hOpwbvqtZ9Ygg8qDYS$-qrCSwDdJ==6#h`x3=38 z-q$^f7y+pq_$I{ozhF52p`*()_S5wdm);R!X=yb0aW$qJemrD6Qdw$f^PPR5r3#kU z)aZS)+Eu`XsX`fmUr^uhw7+ojW}1|DTVg#b(t^r(>xT+*(csmTYuCRxl;w>(W$m<7 z4-W!0tKRQb<0N8~$>M^wvBNh-)qwQk7BoR`vP*E#M+;c;#~-6ZFG_sG2+5RwtWUZX zk+GS;5-=5mU0w!V+vN|WC4j%jC2LI10zfRn{R6}^)x>?|Th&f5M<+U~HUTNCMP+XB zqK$j1){Jf3a!7Ym=AFTT*vdy;^)SK;vHrJEB9;}tW-ro+cNGhmCf*pWfM;lT}Qu zM8Cb(tCb{@(AleL{rQ78FZ7hNM`oldUpd!1r~q=)mh{QUe}dubI%hA-FVx;+@+9_) zbAN%zeeOL@=|2-l->-9?L+ALJzF9I`NOvhJr^GIOghK}7qne$Nq0{a*`{+<&YEK7P> zM{cP4w!Z%$F&aRkCp-Mf^Du<{e8y$^uB=#dl;@)KsBLo32^($o1vma498p`gw{#M_ z8_mWF9_(FAmuoILT^IN_7>1BZ|9h;OWlkqzPQU;f@p=FnM>&M66S~|tZLQ{id!q0^ zUaUACRL8i-B%1s(b_{gnw*mrDkOfSzJ0(Vd`*GlvJ8Sxyr7*B$Uwia5B2fsJ&p1}NY#QxzqIP>)wrZW@70?a*5GUc+^bkr@S~UiS0mZj0 zE^6lyJ1rW8cyKN3U4kMO94;ZRDthJ)a257DNKUYbXd!;+8Y^j6w$5}yR}&EF%O7yh z;I&ZpVtNaR_jTz&Q&Rs+LiaenrC)uV#H*weGH=L@h5vv|){WlcWkJgbi#+eYsr5bPt z)t7_be1dsdHI3fhY$L0l$V=!lzlSBQ^o0dO-Rwyzt|iH_{D_yG8~Cux?C!6`{jrx4 zu8@p5v8U#Bv!H{f4H~|)ykDLjvipCfql_FZ9%tKX1KVa~pFiOFJSF%#?e=3|7F{tbpkIEeR4j@qeOqZWxZ4w?Uog^tw}Auoa&2-e^H%|}6` z>>t)5w&aY8p$~tLkOI9361#6V2L8!P`ETALOSIYN=68vajIFf&2_#SZKrkFd`Tfse zSYwX@*Z8zZ4$m^<%K}EaVE&KBJbOhU;E*PZYqL0obJ=X%bGKm^6}N{1GpgfnCW(Xo zjfek1qp(172pGwKAw6~c1{saJf?fTN-2Fe|VG4t|@9lADTi-8zzxTk6yNStkZRW+* z#AQ`}SMeEizS=t3O##39Pe63(jUGwHVC57hOmO+#uKqY+S3C)3HXDYUp3X zOPAWFRis(|gT%h~qHX9#eXfQSVTzg%!RuU6l<&5o3BaLYS1|A(0LY5AymH=OcPxRr zBSvT&&%)z`)?O=aNU{Ju#{|9hT@6Y|9~;`0q;LCG5y8lfTQTV24=N&gr%f66sdiS2E&8VubYm(98Q?w=ZQMP!9qy5EC{%ux$dI3MK~ z?6{re%TN#Gr^d=vKz{nc^03m;^;>y`9{2h@;X;3TK>tu_Lg)N+CA3rnBcGMdjI-`G z=a|}$%26XN&ry0q+ZU*QowGF~sb8nwhJkC3p%b)n?kb)!1IgdCpn33L32N>CBS9UA zvg8hm$`}RqxbA^^E-Kp2XdJEGrUVlYt0lU-{?Y0FB(qbmunCaz{U*v@(ZNeJdRilE zvBsTtrMA^j>!B#t$M%9e`-C^7e$>%ZrUxt#o-GN3;u|{}QN!R)efKZ*ArhBBi3kzl z_o@pe3B33EpqzDOHRhv8jn{fD$oc4#!P_(g0Fo+lXL4GoS2I^bhK7})0&t*0?Dn&{ z@ZC-SA$4ZdCrk6Z@Sh4XZXuh_E^RGl%b?$k^KXSHy0R5Y7p3L#NA?@>pf;#RBh$@m);lQ!+wU%!{b`kGid|Fh0due7djBCfYqr?zOI zSp8I+jYQ~-HG@g;A5z#wJcT$Oy2SYxyauvUkhF!D){E(rbW3ETw+=s3Ncs19sLRk7 zm2V~xr{RBV#DAmWE!M_I0x@PlMN45c?C_t|lqL(_7I!DB-&y#Eikrf+va_107Yl}R z{SRo=SmwB5)Er3pOg7>N^8i9)=DeR`)z|{4r2ZnZ*>%v5lTr{xljN+(F6ev@Q@r{((nvKRzlr)Qr*@K^;c*L%`Hq@QRY6l*vJ-?+_=W7qJa{ zuc8GX=o38t($mQm7ZCM@QsUey7I{=L+70Z23$q7ma$uAN?N(aKL)s->09_gPT@G(O zv=~w%%9(Zk6jR%~D-QbF9?YyIrxSFg0pj*EzBW3Y3_;hDap&ZS-^$ie+Jz^xP1>X5 zBCg*6vN!@QV^eKH;CP_37tirJE&`P%qhsb$8zXexfJhgf zx=*@Zx)&&aLYXnJh|(s$N?nnnhyA(OQZZU(Y>e;}a2=8ti-PTL zXnDy$0|}jNtC-hVujM2B$$9c2j5!3psrfh`UO(~|Z&OHEfTuL)DIoGQ{iLnzTeIUT zK7F!zR7B{q#UtOWb5yuHO6UJ%TVqeLn8p~AL%co_!BcpCoI_MH>Lr6!Lc=3K+S2Su zO<=j{6B!es>x$PWa`V&Vzx7o<2bn{h4q%7MHUyI6_4V5-g+hQG-b3kvd0d1OuxM4_ z=MgWwd|h`=H*w=f;-Hj$e2Fw#{152yrwJb$0%`D7(~Db^dWVNP`-<1T(|G$n%1frx zCT_dr^}BqvX>8pATy5c=xGvG*61u(E1I43_=3MJ$m{!-?UvbIBJ+UW-U7L)ecYAd| z$f=|C>&dG_%pqzqVO& zCpjbv3tlkxKOi#?_G?$PTVRITOBMBrT2|TTGQR0frKXFv(LBK%pNZ~XPC83-uq+Eb zD)p7bar+^`1eccA*`$48ytHsVK!>7N(kQ{Og3@ajYmcCB<0Nw2&k8aX9G zBuk&`*~ot*Kpgo!e9c`e>vo3#u&l*RU6QF^&CiJMN(~?Q&bhF*r`Nj=@6ZDVcVaK% zV^oUigbLl;nS7c3e&yf_QD9Qw=JyZC4ro7JxXj*dQ%P9&{_gQ%VczR#!7luK;wE=F zM*&;rrXS6;|DE{Q3a|{g*Pq-xIzk2wOV}GDfXB3~MVJF$7kv5ho!9u$%J{LIHoYlHit-F>#(qgE_2IBm1i?TeiJ%SAOdFNWlElyj%x}) zq=8TgMLsriPAc->K!4w%9}qirVtZ4r&$J4eF93+sCD=#AuB!cIRg?V5dF3I{HGj%j zO`hFoi19p_sE(ovaV&*a995sr^nshE1{oZ5hPRm@$~)JMy;$^L-82P+); zNQ;;5LFrPc(IxqRKr?D8m300zmCu34a9BAOckcl)j%Xd`Pdo_H*ndGXx~ksMBZY_& zh0K!dcoq~K9Ty(4ZV*5VHnWXsSae2hzYy*Am2;now+Ax-zJM~Ph1>HHJitSo?yDRW z04L>)x*`c(R!xhGA}R0%zSd+LgDi|mxDSEs+!(}@za2Z00Q{fL#%z9tJkLc9$UVPO zx}b1<+8;13e8tFC1FY6Ziw@)ie5zxZ&UOz-sQurip61u_fJXK38$EO$Ii%~`5qh14 zr}7J^zaGXuC!?d(oOD|kZ+<4YFhysi02n3+Am$ddI9#t?aw{hk!sl~r-gkCbfC84v+)RC#r1L!$9jZWLk~|O`houq zYWWhIqvL$C2+*Sfz8O}C*58-=S|WKKSn|q5JGo@+iwkX{f7dJ$LF4#bQ5@#?(Ap6(G2IX~BlvVWq+7PRGaX#2H*dI_dhz@yLr8dL%)o0?$MUndNws*(*6*z(I{$cs4weQgy{X=Qmg29l56e#RaR zw3m78LW+k=p&rXik>VTPOBAM1PEA-&Q$S1qo2Gi&>${QEF;QyLD=Vi|krvbf64@c` z)z;k>H=w@L+p4%o%ZjTfB4{f_WA~Tv2NcYr%W<8{1`$v#RA>~Q#7?3; z#M`6-=Z-+)2XbLpm_*XHQN*?qQ8In;L1w(x1GQyQzN2Ztr@q(qa^~Y+zTB+{zYxRq^=<Asnp~B2ZUq~_Z7krdx+pHdW@Gs&`l2~D&oEk+dkmSEd2aI z>SjXJ(ZDxXa2Oj8rlQfU+$M`_>d41xLuSEN#^>mV=?m7NN1nHXB-cP0S*pZiWMjt3 zeN-yF>@2>l+ZJSb({A9fd%XgDFB>QM@75@AWE!qk+>7wM9ft;~j-UyM?l3>0Za>Mg z^8>^;RC5Xxo-%#`LUKydSi!wLs#l0z3q?Bf z4%-*bHN!MEo2hYZ7vyX|=pcNSe(L$DaX!O3Ltio-P4(&7xSIf{=5#GH6}KLF{j_Ag z^D~lJ(_Px$0zSalIiS~uXtO=Sf=S^%+;=FO*lnJj75bARy>B{a(v8o@eAOJHzvHPU z9&j+kIWpFbRO(}_jK6r>lzkm{QIW%!epyiUHk~MNj~)FSNiwcOr+0}ruQ^Ii^^S8sQex1_`U8@(xdJ*qrR0a; z%Eg|AgHA+njr-AEzhIBiG`DVZItyN^N7iwVy70?wrBYTP69DO+JM_ z`PUPM1F$CTqa!$_@1==gyM@!hc6BQ-Vl^vK+m)e%R@2updrMtOT~Fi3^M+fJc4j)> zzrQZrU>KD2q<^g?RAov+E2O<@FBTOWIC8vwtouQ&} z-h@Oq2u2huSthQeyr03uAJv%9utW0(RU$Zvy?olLomiWcm6(a&oCL36qx7{t1Mn&C z5L?g!%mZz&nA27tYdnba5h#70vqCEJgNtYuXuZXgx6B9~?MJnVWid+7M8G{l1srR_ zEAlD4s#M1#qaO<^3Ot;@ojkfaKeW_Pog_FT(Q43V@e|+xTGY{zgXIQ2ylAI4dA8>z zqUMW`U$lpP>)=s-UTJm_{@W?v`jifbE2C;J!QHzkbu$;;I_#|%r`!f1drzB1+dTTM z$b8op=02?KNpEXmrDD9*(DwQQdff_lrzCbY8K!ymCDaE5t)A){y)v8qLSV&V9jKwr z{_1LSsU|sEj_5+u`|0>@h5bIBf4nVKD5TQTac3?+jYNp+OK(4${fNmhSDPXuoNz*5 z53jepPkA+R&i-q@{E5a-?6dayTE1vP{Xl!oGlx_MU6g9S;1^{OeCeSe3Oc}k-!AQ> z80BNU{&L!lx!gpr(S8D9@nT|_4+P@hQM2?X?+e9o{N=eNpp+tw&T*% zl=~U6{Dp9Zvd+L}-5Jf%dY+H*9IplJh$s^D ziCeP6g3iWqV+8mTzeq&Fna=qb0W9`#I@Y1aWhQ4=u`7m``KWM5tCcMk4gW%UKCbzG z!%u;?#XTqYldj98?hzisD@^k%${k2}`jF2!$RVuQj>1bSwhV1T>v_7&s^<*uJv^PL z6w1QF_u{}0efDac)Q{*2p#_A#H9lUjs-ty86p-&sDR%ei!TnowmnVQR7!G8%`kSyQ z%P8&1Yw~|Ug+j%fYH2`PBDR@E!X8aD`_`XOMcj4&DCclr1+7T7#p}7)2b8RDq?olzQ+dqmX?g*(^1p@2 zXRXGOd$48b?2w^fePj+&o|s|LYk#6r$mgFO!YgY@w~YAuN#`T;bNW^x@fK|&s6&lC z+gJ3iDg=~rloPa6E?ojgQz(S}1mq{O*kKSWFU`98?sRe* z$N`br3K2OjMkP$t5;eeDoqaZn&;5eA*;llQyvT*29D03>rzZtDq{}grmUVs)-N$^t zrrR)lwQPG-IKLmH3^%3}+l|niEo1|JZ8Js+gC)w1*QHQhEZU$le1bW(IWBF^k8@kU zt^5IXQ3U)OKGv{G}%J!qr$+4RA^K=p*23Eg9p$SaEFzW`WuTq@SJs(>LI$_8m zezX>4d9D|cCV8>u&-~9eN_JdTt1p(u^AO1BTzO5@oop+^fsawJtqB)V-|Ph{5RnLD zdGN2V1i;u2c4Lbdx-npOTMVv zn9Zh$qq6`lvDN|;*nsCw3AJ^1gMaaV&K-(R;bMGq*r;t6jAOQQ^mM~U{!$PguJ1^f4KJMB zd)El4RIB!AJ?{K8qN+>};ds!|E)$zB`}hk@9FLrJt&c1gtuqN^Ik}qQXgfcu&9)ok zyOeB96K+YaenE-87sPU0Zj+veg(FJRC}(L=7wAFL2o7E$6qSkeKxP(Tvc*W zrO6TmTWc|zc-__0b z(0J&mQVr%Z^VfCm2FZz<)B1#gfc59tVCs$!W+hC)uU=8o(6n48dTYIRE3p|Y+n`sF zny6Wu+-qTUbQ0Tg>dukvhF6i(jW4WTJXLOF*rak1gyR{?EENY&Eb=aTzpIu>Q{%Tes5{dKPs^L2NWS^ zfZA2QTPxnhlF&m^Ez<4&o$a=#Gi7BkvyP%4_jE0o%CAcr&xn1#QHipP=B*WAeu06T zoSmqBZ=L(f3{yDaw8<106^p0vj@a6uxmACefj3{eRl84wxF3@I&F0Ri-}fbRGXiUC ztMAb#NpVUKM1S@wj}3YE{8~X(j%ZeV{yJGjBYF zPU2ZpYt$znkKS6&b#OXak0`Ffwp9TgipEz}-rgFJWf~g6|GUZP#($cOdT{ipq(nzd zDKez65~8m_hv~xW{7mmUH$OJqb=@|M&~P^UVRg^Q?~|;Xv)1q1I)?0Ww%OHe%|-Lj zJU+jhP`g)H`rvY=Q&Y@h@JgkRB`wH$kl{0JikIr$#FH;7w)se~zgI{*vYlo-tvDPn zy?nub!%U(Guy=8KWVfa!SMPS?iBK}rz(MN$*__i3E*~At`N2FgcK0@x_BRDZV%@m? zak)jGIoD)4xtc2*W0d|EfVeTRUsGr1WtZrB*uHo(&zVhba%V?@8BdM%4K5l+wbPnG z-Iuz2S%2ES5s1nB)*~M1xk&xA{{D&*-BU}x)>Hde9P9uMK;UiQf~ut3NUPDmx~*_K zx?rZ3%Jy+mlXJ+mX1IjQ-MHUncC^iE4Rn-^cM%V9G$?i&1XMzNyIiWr-CWp_@A0Io zT4rubifUC2$Md)*)ryTmGkWG=pK$EMi(d%wX)r|o-i3BkocJN~V$u47*?#!==#Fri z!DIe-0;3bo{yD>+?_SS7G{F?3Bno2^FxP7@n1v`zw#>y_n=vPGbS8Hvj>fG7-mJD+ z(KtOgg|%DDTRww%Yq%BTBD)YgEts~hN{BK4;ebnV?%U|Qhj*VQ za(Z*t&~QBN$W9heM}p@j46v-pA;uToS*)10e3bua?xyi-H+EsEuOUyB_+!)4_($)Q zQ}d}`CiZtKoMBGR=aEZz!BO(AVpAnR)IfvN)2qX>HJ7TaEN;uxp!l~a{92#~CRTxJTOyXxa5HwnzA$|B%G2M~2Tvg*ye5MP7`1X7s(>sC-hRJFlLw!3;?{!RB~_ z=@wQj(G%Rh2Ul`hRxEO#b$**ECb1y%=a$p`;<=lYL3@f0uTl%U?6r-Q-qwNv84oL~ zf$3%XGL{wsrw^AfvAC&_ZqFo8#`J+c&XdVmh5bIKbAY9TQPb+&>=&9Zcs0zOQ#Fix zJ<6W5$D9e9l$x`sVpqyah;skL$+;6ft3mlzHT6n|>)B)$ZmmXKXfC#!35IiqY2ARj zr~~%_{5@BZ$mWYi{gbN)kH@|Y-cq`m%n+r)|2~{mlyA0$s0`9Z1C(j)FJMQ_twNo~ z2B9nCf|a!<;0J&%ZRSB1SM-`5FvY7*F=;uQmobudXK!&oMku%LvRIC+1ghNYi3%a`pxFz&(m zriIaK#V8sDag#nSf$u7Gx*A-w25(ClXTPZ@G7Pr7!8ii}7NC_}7m2!=)?(khFEQ%- zHirv%mxk7AsEsr1lVQm7d|st&>iH>v#b4BJ6L_=GppG_SoEDbMB2BtBn`R@MPC~#K ztpZC2!%0^q=j0~t4oSjpCyT~t$~9nySiKKVDzML15Vvrg)+lvZeJpTpIDK1!s5{ud z4uqq2v!-VTqe{Z>&|SOv{AUp&mDFD@xtE=EUrubr zWN7sMtpl4{n$0Vh_FI{=wU9$CV;DUAJzh|C>wp#ACJ+w1!_V`%i~L)IPKAdGLO?0R9aHRL`&_@oM5$ zO1;_r>KMy#?;2Tyo23uYl%PthDejp(oaZOBo&Ce+?{nrOs+d zT1a(a7bnE{#Z1z`#SwAGd6}aN1-_3z*b@}g(Lr_#>xkU{tiZGl*p`=hn|ue%Sl}AS zsurys@%kT!+KDMD(oGNszQCLm19!2GURNueR1QuLIr_Op4{dR4%lKv6L-q7bDa~YJSAey zn;Vt)%%PzKI&afv`qF?2allBTVdOp~R3FZ`zxTRYDp~MQZB>a*dq3JJ6?Z@Lag17z z)dqr~7Q5cv%KXcmti2h?Wo!4|RM$04m&Nydj#0c1leQ+Hm*x_AL>4o(XF=lo!0t}_ z&;8yabuf(xjAQI=-JzUR@uQD3h1WC0$#%(z?iL}G&H~8NdM@Lx?%SUF)hvDHj2~6h zDYd)dlm8pDm(BP>aD3&qKeI2Hg62?00?=aZ>DNO;h68uX6y+A!m~&6dDSh8Oh0U2V zms9ic>EEp8RHKV@n32*bdyZLcQKqS7D|z-Yb6@VR*tF*G9r{rhhLY zG!c}h=;<4Dpu$N3J-kxYY1Gn-3Hvf_WpQ73!qbCS!xJ;6(QyGyIkynyU0bp zo6eXoAud*L(%XWxTrwL_+gqw8wTKmnnL~Up6N?CWJqsB?WXYv`*4rhBA!pjwHypRKLUZGx1EwP!l z!;GRG($Qw-es>T!3lz=CUaMmcN?O9zrXWPzit*sy;rwan+CiW&=!Y@rtPOqQj^*-I zz*vOX@7I)W$i3sRr!lWh(kospi@N2GW{4wKcr~6+{n@$Up{7Bs0zKr4@CsJ10LDz$ zmKvJYmch-_sS6$;Ds(y^W$3VAj`j6*7VC)9(MUgr+E_{)*@*{M?%X}q4z(zQ*2a<~ z#d93kf7mfb-L+;2U=R*YVksFh)yZ6bW13E@lBn-yGC{~oA#G~)$CoK?mk>E=$b)u3bKIT9RZV{`6tcg! zsy>fPrFi^=UxQd#TZAFaaF7;|Gsvw35^VGkK##iSrW1EZPYtsei?o^)jTd%r>>FdRmS1(Yl&0A<6*xo9hj{SQa-$n z0O5fAVp@T&Dt_kbrjMP`^z9(#pwi77vkd3cDiM$(rCH}MO|ATuEqcugR+OL&tD zS97zpcFegSU6czgVBpAfz0mb;U3Zb?Wc_B4foiow`vcTv*NNJ=#G(o6L3rhshl0Rl zEm>OxtD?ZsFzprU#>w|rUtfceoFEW$l(rb!!8fFps0&Q$SX)U9Fl}#2x0}F0EfNCz zCq9K&jVDPL_8q!=Kl&VrVWK%iE{WGDNEWmBw*A5^ZppD@XwVWdk#3c^8oX#dOyF%$ z$21#zUGme(qceLY(d%r-Pj|VZIcvL~nhvzQ+pSEmu?RN?N6GOO;-x0>w@PtEeOgn+ z4VcjrDqQs>nx5)n(1R3#w4&C(N0{@v-`9#5M2YnFz;s#QJkTXA+~4PW&(m7olGc7v zqgrqVy-A|q=->LSgs!+od_!hGlAR1Mg30doK-_4>X6`OUxt<9uw;CR4i>DO0MHlw; zH;9S$vK$Ef?0ICaRB4La#L@~;U5)!vjEhrfP^#x_z`-H4%tmGQ$54C0yM72Ix@3{Y z#hXryU)~&iroG1D++I%>Q_Hs>i%=NjsvA%GMfHL%iIw^{U)N_-hbGmh`!kt<9>a^A z*tw1BGGiGR@Xg!^>W7LA+~51KQ#>gs^{iBhMIV#v$>n+f$IE9RH!GqqGI53qH*tKP zD0YfDT!KE9EqJ+{_UgFiQs%H*bR_WnJ!o*1U-t}6LkYI@x-6ZNLLOmq-> zx8#VbjEKL?TDV!eTchqys=Vsl=3PK(O~q8gx?M3@OGDjvA>~bnm4yhQ28RJ5>$8a( z;=02RA!Vn^W;4w$*^4#0_uGvInA@Jc|45Ura2H2rgtI^kX#Kk42mmJL$WOgDETHA& z<8gI+)2XklPc|Ox;yp9wS9et|aoRJ?)CU*?A?}UiMG80Ji=9M5zCXxPGMq9R$XKs& z)B77j54AlIyG$2% zQ7l}EXP6@zZXEP1Q(qy-%n@)(OAeD54fgw)-KAmKL0_N6mTo>-D}+;%7^bxjS=~c^ zEi5mqzxL!_*!8$K{rU@|flA^8hmL5KnE(sTtD&a8Xo=V;Uw&ANy4^a|&gf@DLSK?s zm5fiBK6LT^Lhj3JYmc9B1}`>-5j$GygKbI^@^F#JzK{>pS=mH+Re^_Hy0%t3v$ogz z6~^7XroUH9bjD?iA3lmfe*oP&6NvbN)J@(77KI^~T~M>ODZ~G^`>BeP%`0Bu$Hx z2o4QGu1M|9SJxvGbQ&k{eD9Hr-q9X9(}iw-OC#lfN~2~uhg?hLi{g5T2elVqT)h_7 zI@py}klBw;DgqVZL-+@z9G5ktqav$09jBAe)0y-vQM<1uiQr@3_I||qQjjl)jRl)v zmin-s3T8iM_c&VpIgEPF?NR&~{2n9Og8xFPn0g32Cy^v#DmL^=My8_vLTVltEWSwA zomO5PmaS16eP^0VlA^yQTADL5KCV%bQ?A-=u)2zaodcS%%z6^LyzAHvq|+@DXaO;$ zrkEK68Iqx$6J?b-mZ%3IB3yv^H&6V%EiG>sV=wxhzDhfF`X!H7L`?79Mt&0z3C)z6HmV+Ymy`7v4uL-H8$U(T$o@`>r7Vz?X z>}`m`y)irlc_I4;w6pm5u~ehqvaotp4j6Wt?iL# z;$RTm3}UR1Xy+SNpO$&PST;kuAce1KILM=Z%V?NjOD!dK9#iaMXL;cS0o*?Vjx{{G zlc$X@XTtY5NJqL9Z}zT!n8g>Uk>8GA_a_i80z+XSZ=>awtBk0=2GThKsi|Xh9U^>^{I2a`n&wnAreou!Jb<<$QEJ-->VmrK^wJ`WtEKkJgL(++^Fhm8;G zo=Y37A>7A>RdN_|V*MTxY;GFFiBz7Qq4vl1{j&InO8xX7DwRIZ_P?l9H~I-dxg~%~ z)&GY|{ZD)|uD{Hbdjt54iJ4>MQL_-^kf0Bz=Y_|su=4+!JxN^i{(V^VcYx_6aCS0Z zEZfQgt_DNga1yALBLgh|xt^`DLMpPS{%|LM>Rq$w+EHw47@S+(SxlOvzQ3$;8}Tq} zuovFfBSf+d@7cskWcz!|Nu1U6-!a)Pu6Apf0%6An!8GBEsy zOtsT!{ecbnZ!&fNpShO$f9G1>2j*IGAj-(^F!ntG=308405|Gk%UJr5TF0AE^YKcz zcB)zP=cjcdIi%iIVM@HA1%bR45MsC6N8kX!&PyB5hqEl%Zh93PEGN1|$6quiKD<>0 z-<+d7F4}OC8|B_tg7ob&yu0i9OSj(G=bVC9gbIkgSAE z>4AXc`W*ifofoH+-~WJImBTvD^nUq)_K)|eHkj5*QGV1=nZ9l*4M;w#7wY58P`szZ z7DtGMphUu|sCt#l5-1KB)pH%y9D5s@|8y#^4pWc6_wB$A9#VT(-AwukvDq$DfSBio6Ql9v{k# zM1?=x=AntfzrrvB6B!#ZVH4I>So`Ei=cfBt{s-!}cOtf8Zy4R=QoET-#FrP>pzE!T zyH$bb#*79_3>)ZO11^UYoLH3}h1s7cvkS=gE9q6~Im$mqwOO|3ju1SwTa=lW^R--5xmZ?g*+gZri zE3Gi8)4xAVM3b9u!wRMI(O_-TzC$zSS};FqY~e-L3KFk;!QPutJOj(d9XienQV5dlp+Fl5LKAm_P{6KI7+}N830(ckC4% zD3fP}TxSfGkoJ~-o-XU?R+@~HVi~)8avVIu^pg+Ijf_hwZa^8BeN@n~5A(m_a&%hQ zi;StsFK(p+>EJg%s*Q4dg6*DtBak`1vLy&0Mi z=HMQX)ZW<3bJx6NOb)5bk$Co1lisdcUnL!=eGn1by00pRgN+dkKfJ2RSeFZU-u|f& zBwJ|#OGwkwJlX<1qASg?OtTl_Y!?UZ_r_KdrpXV>);|Y{;oS4vjpaAk0R3v8c&0*4 zd#t!N;p>TpqVX?_?ax6Twp!(k%Q~ZlAm+N$9=g{jYZ0In%T^9L*L*TqS>SXc&>Y~E zSdm|ZSb)r&!1(J<-GA2Tb}z4p%6xehu%R^k?30_*H#03aH@Rd3JyqDC_=wqxJJ)|Z zFGoZuy1BRie{{WNT$F43?mvit(%lV;NU3y#NJ}bRO2arHJv4%Jw*rDRNJ)3d3?S02 zLk>gd3}3LwL^B$+nw|`8>A~ zX!!2#{&S2cYYwZ3KD?nFfFF`zl`fSog)Xfz0&>6B&X=_JuI9xB4@;27tPduFkxUrD znxbf+TKlV|7I+gf-))n&7?{${9DP*VJ;?%}9KWOBPb z5hdIPU`-obabbx1-oD>O1>5%W#V&8d9PuEbHnbkDKt7!uo z0UguX`I5bl>*BG?sK=;>QHL1{ATC|(5am%r6Adve@Vo0Uv8q6Uss5r(=a2MB!lQVa zKxPd#R$*d-ReCWiI@7`_d|gqj{F*(fiAGO<<82RSkZ;W8vXhC|>h9y|HtZ?_83k?=&?D_L=y-X-4I4$;$*Jg1w1>3faGO)kH> zhhDe4`~jy*>{>MCp?zQ%s=Z@mP*i^qU)RKbhq9L!etPLv+mjt}%HnpsEED2Pa_(2s z4?`HDN8P?vj=f*LgTm$ou4YHh%&VctB0O79;#Kvb84{8QC!?}5#`2i7v`+k96x1?%F>|GE zo#p<^3?A&yrAj=<|3h2_e`Iuc<@Sk;9{R=0@hiy!Y^2&uLpP(NU*oZp_t_HLrIIxo z6f}&{A=a-9H!)Eee#CWq9G|ruAUv5KMpSi3mqVM)r$vYi;@Kx%PI!wOqirnyzyu4z znTbgWGkE5V;u~Eo7z6(nc3g#O@AB4f7hG7ly~d`izpEFm0fsjSfegROhO|H$kN(8$53aw zZDX9(%QQtImXy`q1@`Y5eDmrzOIkL6B*8|C1z5rnwXPM8ro{)bU(61UTpKPUL!oE9 zhKMaC;)+KSGNGy(sqkFB*(;|nU8So4+I6mx$3UfHx;l5&x&iY=%2i;#gJ{V{KmDW?5i<#EWeP z{L2A>uC4^pS0>fa1SW4GV!x(h(MdS`RXXM4ZxZ_|dBDT#2XL;@Gl{W{L-M506PeqT zyNX4;Q}{Oh8aSHBe@Wi<$OV_p$>A*mq7Gc@AaZq?6bnSJC!b|C_)%vn@9V2NPFgL` z!|Mh*@D{1$#Cb1EMQv6}_vTg)6A(e2WsW+f+ZQhJ6uvd0CbCLC zsWkmn{sPmWDy?=u4m|_rabqZ?{?yA zXZXfhgkFvj%_G>sIA`Gl92sXfeB(pU`OM~zxVPvDp3>V=l9I8{+C!=RHnS8w{WgJ9 z8e3>uJL^?Ly=&T4`?`5AEBq#3WRCXI%$_7in||Kab-S=2x=7@wjAnw^n~BwJ*O87J+MD6@fY`ul z7d%5u9EE=fk&v@B}en`!Bd9Sxl;%4SM3CG%`{fX z$_?pGAG%hF{EQPbJQFA5_O4A$Nv@!zP~Rkam$e&UfwltfT=B?#uomD;0q$JS0Ru~3 zB>W)WJHD~XRMI-(WoG)T$}qpL56yBsfzx*gIDMBM#4N)t8E0gak^U;3vsdD;efgGt z_J=SW^>f@VVSV<`or@Z0eKv@F`uDYv-jskSQ@e$<{?X061Mxx9BEV*n7sY|?yMAyX zAV_{bDO#ljYfEn`E?QpL&Wf)%PqO$mJfTHJ8dqIJBeyb_k2P9hx#>oB5}41(=pe@k zeqtlGt3*6%%(WTMQ*;CtpOFu(_t*T#rD8C7gNv<3^;z;xh(fEb9tQ9+4c0g_PKOJ4 zt`k%EG&pZ4aits2-t$g<`;gxDJwfiGxmKW;Xy0&+EPT`!_^+#Pe>`ZAMObkz3fDb2qiUq%A(UW{G4fiic?a+xub0D8wcDmT4D3(@ zM-8${&pslUes%Q4=iho6KdJ1a{BWyXeRY^KeDtMmUMS&nl;$Y9q+#n`3gXJ;E1g~7*6RE--V7)i~yJd)`cB&B^3w>ET zL>`6omC2PHu?C_77iaHIboPZvcl{FHm7UuQHE#R3n`wSU@payjkYHfg;~VebyOi8n z;%r1uSwT}_xwO+Vx(vT%dCXgKr7N&!)anG8L`CXc5o!qgL|=U)zEJloVYE10YGyOG zaN0%WkjMn8qEo+{7178S^`_*Bj1vU~cZzg<{|>E)%gfV^5J_Jd|5c|BV;Nn*315VH z7vv85xT_#hcNA#;DV7rBzuk0K6F3u}lA zl_K}8(HRf67b5>7jjCb@B1M3-OUAI(Ru@xud%BS8s;$sn;#v_31_ijalMTPxcCz{A z`x}y-CHBe2PMeoqf4m$83&r6}<$t^!bO~x^FB2XVrEm1M)2NO1JvA@uSInVv^_$3q zn|AhxxfW=Cu~aXZAD$!M9(%j7#B2QelMRr9@M5=}`@ADxpBKA#bAKzBpixWSa9VWe z<+MoqE>okJQO27DVBR*da^WIkE;=Ao%~&wdp$(wy8V>-D>4rq$m=+o5Kl}?+?|SG- z036fa<^vl=X!s@fdFYS)!h329q&Nz8&|s82TK!T% zT1ahSID@r%&swU1j5tQR-;!if(6b7+4{;D#yeKSlD&c3GTXzG&NI<5mymUe1)#XH`P6oyiM_)9q2(SZ0FmVzb7c%^dz-)BtzNk!Ul;3#zlyM(ApIa6A6$ z*>3Ixx%&ZB1}lod*h{0A9n&{3FiU*tydbMp{d|eH640-u(kh`BBHU9YbmvMLcrPzE zCK5qQP0SVvO8WJ&P;(EK|Qf$sq4S9*AYH^Lo#96E*W!V3Do296isEiRub4scLmABe= zxLQOffTl&#dUSWcX)a4kVh zQ7?c*MCZSW2<@p6UJ%ISXNop3?ah?_;U)5816&frfr@vm<6<}+ff{hd5{CSTmN=$0 zFx!fmXP((7(7IUw0;SR;M{<7xr5}Mn>A~ND(p?3*LZB!5^^{kjEHDb)&#TnjbT*9j ze-Lx3HQzj(UCZUNDUg~Kfdan#n-Ti~vTjw*R6ypMEp+X!pS#O&w>6JDn@qL3?71L9U zeS4u3-J3BtU>r;vR}_Bo-WpSgXKi4h4SZS5XQ4FPRwOqRrr7$PE`Cf?chy)v)C^Vw zapli2WmL zrc)CzffwS2z3cZUtO8nWYhoJxD0c9l4#OK+VqmG+A;8*504`lsx5cKj1bgaKg|UX#8nd3yX#zCp{)D!iW5?YVA{-9s~8bQRve64&@cu zrM(C$U)pW?r7_hwUl?^RYYaKzBYzk8@r-tU&qnvQn}T+LPCWYrcs&2v)o&jro& zvye+`KkjfUaY#4c!dc8g^EF^C&=K-+Ry3c{d66eRVVbEUpH2b|rv@D%oGK~mmh?-{ z9~np}Z1O8C;C$B-Lgs$N5cOxVMaVJjWR-N5I}5M}?=Omx2ync7x_%}wz4E2t`>?wC z?G-Uc+-#s$Lg!Dd#0U^Uj z&s1)IEQE*BrQ0H45AXIpl0o&#lgqq7-+(^`2(4P!z}y$UR380lL2CGH`%mXYf1vaG zAdVTExrmmmPpe?C*XcyL04z4yts9y>Ji33`1^G4VI|^<_XMQv3P)9HA4v63Ij|T`L zv0io)0VBqi9f|JaA46U?HGNq5?4m7qAS?U{xg0JIkbQsWGN6|#ig#=KsLV&IpG}!< zqs_R3Z09ID;cgvn@b+d}#UDr|%JwAsC4Qi#>?+U;Z!Ee)xdIxqx+qgtGE-CB2A$5? ze*xTle0wU4@~CAT%Akhw#EaNwi&pfsV{%EnSh4W0FZp=XPt9HtDzMvx;=RF+tt_5} z2T;965wZ9vW30lf56!fsGGe(`%ogzkIWnZ93X*{>zT9(i;jEuiH)LCkI=#ze&}BeF z>ik^{AAL&x(&~zH>A`G=_-SXiIiCPcFwSUkGMk}PN`w!YhKTZ^a&UxkOhChB!(XZP_6E}!ZIh71P+n| z`Q_C}c0spFYwxPekkwh)1x5RswRb2SC9!rf z1DI-j;=B$?=Ak|>F!rrw(4ZL`HIa%c4JU}TasSU=_^{s71bhPAcg6_0MBkd7SyRhw z*LzF(fim8+r#2KxMzF$(!meW zp0o_8Awxh3hwV{OVCft~p@KvrQGhNc@7)_g{tofgeIMAY4_OyDP)I)uA!$ax@FVUI z68y9>?{B3j;g3?}SG*DXW&S@(QS-k_5&2u++X*N00eo0ZFlq$gUvtlTP5rSIn*OmB zeg65LDF*)9l`hc~zt=?TpKb5Ct@M+E~@T(z^_r zpMw0*5w1royVn=_17A%9H**H4oq>43zhWcxF{D*xV04GO@|Q&`O@V0$1OAh`dRjcS z+vLyzn$9l)e%O!IPR*v?#TdH2tcW}xCM7qpSJlEGb?sLeUxk_yFTrh!Fe4d7w2;N* z*n93tSAH3bQfQNR{lp0gLotQ91%JW)WE@@E19cevPr25>hLil#yJqg_LEQ22Q z6981AK}Ub!c;&d7gpc$2!l(G}Ppv?drC~Kj9d`5?2OyKKrg;yD*oTmp{VqZT@-99& z`;3obMNQ^NP2}RSwr+&rB>aAOF_EKNh)5#6#*Otk|mdfAP4P& zh_kCLS&aHw?XJRIL`vE_6bLH; zW5Pp-kcL+2WC&I29*N*`z+_NbXBlV_I~D6OnH`tV&~cpb00%1hy&&Y)wd3czO`G$x zY3?2&558|w?_JI$`9z*3TEzOEdD^HslQDel%;?3ShnI9i-H33eFLR2?$3&ogllx@kmg;gYbq7W@GT3?S zeHT9Z-fX@NdV_^aYX+}6kx$7f7{bj_+R=LF=?_cua$l*WFOuwR(pYJsD{jVt{%$hp zfuU7sw7;8A<+7Ih#HWXQ=JLNv>Y1#>Ntc13n*{xvaKa$RI&3jYOGvS9;?0#+jj7`) zRn<&M9)78m+5B*wZw0qo1frVz9EOv$aI#Uh1VzEK62k9Cd##e_@2dF!vt;T7mP{Ux z=@c|fB`2e>T`S=U?m=CO6+VG0W{qd(>#UGo@s~rO- zfRel_Apg8}#;Z!{MeXG3BV#j53w060F0)Updi!0f)}-jQ z4iEr=NLd#9lw3Fc+B?uHI;6|PP0Zy%sI0vqF8?mErYqcq7V4{Vag9a@7QE>Y-dr#@ zGnL{A_iTL6{(-sj>9Vz)`t@pAz$=#?nyv1pM0mV~yyF;?)6+40~=sOR$cS2RqgOswO+NdQl=I^|w_ zylOg?8TI>>oDVZTtY+M}nwNY5&t@Pu6akJ+W?IApMc5a^%?{}6u=YGz=%?X()dce1 z)~Hfu!tle(KQEx7i!f!{a#+V;ey7pk75R`LzRBMJAn9orqtlI? zagAsEOa6K-KL+C+0jPIuREFqJv!N&zz06I-9qcA-iF@XXtI})-L0j%$u+wzek-aa4 zT*(#qVbIh@4toe^W>w_sG{-pnX?MJV@&K4n(O^m)mtu}o!>)|&0)6+Vz$WnS9#BYm z7dncVv39jeGMmc6q~b!Ar# z1qv10@?yP4lwhY7jEcn;&M(xRDEr%O?ovHAAd~clMmiJO;==xLRkFyi?gPPJIc2P+{; zf@HTour8v{UN&Op_U18u{qm&SH=v1zOEBNLD1@cd@kF|8{T3fzm>2i({28rsH0sV! zOGQ}BAXXW}C?5+n1CfR2-oyG9W9v0*KQ>fo#;Uu1o_-bKt2y+*vGgc9@%~dw&RhK+ z?@}$LSC^x6A7QS%CxG&7zvXDk>DqT*fhyqqyKh|hHXhIC5TmN`OcPNA2`Ka+8UdY$ zYa*A~frOfEydi2YSDpUxx!Eb;DR-bRBAAq8n+$loA|JZkAedONJ&xTMVWT$TQ}yK@ zWEst4u2-h6%l3|6q-btFSj1nAQ@2VkLX*M5<*B+I@@S1?Z7A7~ijBv{<9KW7HBlW#7@PhZnXfT0 z_|oIKD`h+C0^6pUM)iY26A-(E34O>HQle)JY-67FTu|Oif7t62L zdyqUrs4fY6t=k&^a_tpcAXvcg5;gEXKzP+cdsiEi(2h3W>OVcn@-I6fpgQFDXf0;4 zJ#6{f?+#u$ybJUn>4ey~W&%}%GgsmQKf*u#&OV2j>OKJ;Vv-))lM_*mVCr3QA5*(w zMCb20MsvMyuSGHiEhj~+CyJis6jV?un1j?gKd|WndWcTqsTFnzP)(R~S<%m^oU#Pt z@vz2+qAbrW?v`dD2bNnX;LQE4#z_x_m_FWUY+KO9c5y;$R&QsF02sqvR&KCD@8aJQ zG)HX<&xZjQ?`pR>+)1EkpmX5(GgoZHi?a1LT?V|1wyPb_Rm)QcxTKn#BW zBI=+F+$!SGaDB=IZW$W}qf;H&b;Y%cj>p>BZ;0jJF;)Mm!;Q=bnYyL!dwBtcalf%6IbcN)Mf>fVr-L%lZtk z(zeW2d(J~;UOT=p`kE$)WXrMC6HyV-f9`&pIB3QC8w6X}Z^@47-cxe&SrzcmpR2CA z;b4N=&j_xyLRT3bIYk|~!||efP^r6?OsmTPa0qh(rviA2SsN zq<=?(`>p>t0b+>&n_mP&*B}#$tGEBoQwQkQWh+dHe;ELmn!@$LDf?lMDTgk9Emx!j z>3)eVMc?eqBQt?ti*%HTD7g1EvfE?E}w;_WGy(LdVo@#+vr+8u8ojyV6Wbsw=1K!i*@b1?FriP98!3NoBjSYBcs`A< zX}ViJqj;wBq|4?2@gKZ8(ogv`A29s^(db}{9Z&CPIEOj|Za!xcn-TWLUo+ljWwsf~cen8`5Ir`w z_rfq48BIH_Zc|8a^rPjYTYAcYq)$kmH?ePgChz*mGEL(cL4d+|ko4mBvwxGzI~PE5 zndP74GR^;yTt)*t?i(KHK(Exj+4y{Dy~RX>e~C}a*QpcU&&?k{K794`E~YJR5=>~mMV9}tP4ONc2dJpbg(vF z0ZGb&XsUpB{L&N5NoR)~55}c+RRXfm@puQ3Hm6BN5&BYXz=?}F=GMTxoJ3aykYGi# zmLi!LPL?U48?u}z?V0ru(Wd00qDMs)j-;wNhP+wo&?DWXZfW5fSyT-}(< zHyzSX)Ka!-FVZFuQe8e3Pw6>GQj=6ACBMi~0nEE>YFHis5|HIRNq(#@CWsnEVRqm7Xup`GHoQAf^ zhQNoj*Ltp^(kJaE)%RLl&z;=XpE1Lq)Rs&$yZD^zU&7n^^8tdI;ECDpCrAmMK>5hq zeRsRt6dXyP=HG!1Mxhl;g4o#A8aCMq0Em4t7R@^Ss2O6Vo3Yi)#1#6c;t^M3_uaM{ zS^J4}wi(-eq;@MBPWAPkm{PAUf5P&K9 z*I=J3W5yt(TH+|jH)qI3=KH)U#nNKoZk1gZdnkvR>cZtDCD)J8jjk7wfI3%obw5CW zE>`q=$D<#E*MG$0Auu2wEBqrKbLTb^yzgSiR`dv)Ya$Z?GZa(C`qR-1t*fT0hoNf3 zHm_TVa~x(vWNS{RX9Z7$D6gcNW`DBL8e^aI%0kqPmzX}Xnsj7FD^R4H7_Ea|JpzI7 zyn-7JDjf1}CYSFtvM8sET*?x`n(2sP?9bvD23fH9T@Djh{(oBeVo+9-SE?0GZ6`3b zDd!BI$v!U*k4%AwUu{~B+3z}nW@-0TFYECqjp z{mu%lK#YfK?X=*?Vbt$LVkcAYW_P#DZe!eGZHZA^5Gwz+cMUQ6>?-p2Xz==u&^57v zbZoRsHFuUTqtlx8k@~-e6=20T!1Z)%tB*x{-A)4N7gandb<2Al1Q63A{}9u(0+c59 zT?7uV1OZ|i4?s+l|5dLlLTIVZ5uYS8pVOSB9uOkjfLCI+1TFn`!*HD|A|F2I7xBq% zH8!}}*@*FW)on!j(c+VZq9YYW&vzguvvuVK9R{woMIVdl4!sI<=dAuhuL@@$fiC}{ zZG=i9Sd7*8#Yh&f!_}28xK-`HN0n_ z_+1i2It>q`z=Q#=h_Jsvt~!*1`Cz|(?)Pbgl3_p59{HMyg1RF0ZX06+a ztu`2Djh(+#y%gV*pRe;>o@aBqyuT#8ah-WKAH174vTbQo0yLe?##Zl0jpm``$$x?w z6XfR0%$!sE+`JNU-^3vE*!HP(q0OsSu{Z3h5VjZ@qbh8Qw0=L{%n3s^T)DR8b8^Du zTj4}S1=jr4JgkB|l4<&;H;C%GdGE+q{#P(MGq56PDv@uWt#vs!*I_WPvmZPj#CD}W zYjYiU!)Zk%M9NU-$c^?X`1ZvT zR=D^*b-@XY288`?1h8Pz9#>LeL3S_z@zj`*~D(_T7V$xaizSh~t$cL)IlI?54 zGuPT7_!EAd6`izzWNJ&Z#Eb8K{t^CQ+{F9PLzcRd_axSiPEHxz}3p`?*!ubCs? zh3;q^H^gOacnSaqX;&3~dBKjjpLVH>dc;w`PlV%9u{JOr*gj@veIJv51N7I;01;2P ztU-WX;nwPul2~Rg_2gQL67mw)y*U4N)PYQ%*yG%ognU&HPM;WX*W9`38~GATMjTii z5YQAVjMU5IMMzOg>ZbfU)DxJpgRQSi_e-^pm-lXh7IR%QKeeA;wbufnN?n4f?yt*m z0e#n4#^Ny3tY{uqeg6VwD87fHTqG)Wei>O}0821J31%c^ zF&EijVWiX4o+;MF(iqBsB=7!6(b#B=2a~GRCBjYcAvPMjpo=LRwYZCwF9=S^H!GCS&2*8G(!t@^- zxx&tKG5mfP;%ty@~BP`XNE51%F&$}#ldWLM062XL9S zs9>C*ny-;H4A3xGll~8Te+bXZ+*$FYkm4WxE4003qrxGwe76P+I;TX{L^b(_VzpG3 z>{=s^7)Lq8~W5}h)JLQ)|V;+Y$?XWyzx3q?#{C6Yh*;8F2vW~M25GxL$mHc zl=Y?78-3=mv5bnAl_oX(E?10eqKp=5s7x?GXH~!qo=MJ;z|aWZcF7gxx%cur{9SHu zxg{8pn_skjVK-as<5B8#^SZ7s%LfYS=qKUHc)za&|3~Ay9cY9W(nklSehv^t4@7ja zZ#8AjHm}Oczra{@UMGBR7AK>b)&jpKDlSy5rKi1@gP;6vfd*WPwh9-KmPc@%zMp}d zOwY(@mCie7Wn>CQmJIrOl?>1A-FN)lVl2M+^aD)gQuTvIJH-HeR{TuL;-qsw9X{*R zbW}NRZq};KnXGLv6ZxhEC`GOOLMQagZ}+o8wrb!WGv2awr{S{S$*Am-Iy|90~B``%y;R)3A3*Q?Be+Jz*otm!i8Dx%v44V2n$Bsnf;Sd-m}ai(sHs{Ub}g zGv3-=msgr@jHXdPWD=z+-hi4j*46@$PBlAOE}3Oc8Ex^4)!Aj|!I1h0Z#9>WrbV_7 zA;{Baz%nZnQ;P&TdbBdf`K~6c4{)H=^p0=WfBPFOW%LIu z)movtZUKO$VE-3bisyUKLrh+jj92;n{8bAdeGJLPGj`1?!z0ad!$<0O7=9*wu4ncf zlxy^dF9S<*lon7Lf+36bTJ+Iwa^t4;%Pkg#KYpa2pUx6>o0p5-lUwhVWR~!;uDq!` zYBq_ak1brfN{GdO3a8y|{8(k#&x;wv3tBA6bS>uHNNxRmn`qQSGemk~d0X?W45!`C z1NbLyEBc-ipYhW_du_+~RPzRpX@KnR$sgKefrW}e425~7gg2f5js4@;WF}CH;7>?M zC|fRBe8%#C2*edOx2-CdqaV2Jra8}5b&F}ByGrl}K>Cz+#OWBvk=WPnSLK9S@CsNwNFYe6VgCAZ~d-$J5Z(6RY#XG+P_#Faq_IH#3AzC zosR&3IhWr?_I5(UMhR)8%=j%I&eXjA^cIQj3%#TUQ2(x~2GimH{MZDOsa2AJ{^Pi9 zo`sl#1Q0bSXR7UY(R^y3r2jamLm$m64eTgSKs?3NtavP>4?x$vsyxL!|NMbn5Lyif zEgNC`3Ix<1yQ;^9KyJ;8+GAT8q?sG2EGR!%>ZbK=z_k7ms>bxWztNYVAE=urn#jEC z$UT7I=sX7~n5T)Dyesa%K-3*P!5*%aQ1HvnmMPSvtBq^jb_LD1qoRgr27LxP$McZ$ z=zC$00SJy|Dsq`v!8e7U!Xfzrh%W<*HV@2BaRddxvihQ3b&*tYmL0E6f86Ch#moe*y>+-Ei?X)@ZK^ z7B-!xNzbBb!D?=`xRmch+-Odf?uVQHkF8b4@wLc+yZ+t%ED2zo*j^s#)+wFe z$U%*-RQbasY;Z5KO(SfawkgY?Oqx zym+s~`ng>V4T$|yjjihB;aa9l@-Z1;aK5it5bkVE;h!Cq+GId{lR7ceS|We2=Xzle zt_ui++ase~i1j@IGs)ip#`>0KdZp`fAhX4jWk&d=+(Y73pt_~MPxSywsMm@lfO%Hb zif92_qc_t5DL#L^Xo}dXtD{G#15J4 z=H>x$-0Gs4oF&hFD`_0w1P@5P?9;u*-@{2%zHaE^cAmJI$Q7FmFL`%r#$s_lM&&UtaQY;e;%9YE)1znqq_~LxNpba|sb*vh{-n4%#0#)tYBQcdipvy8alN&K z2Je$J{hi{{BG!*4tgDOv@Ji)w&FkyblTS8%tWU7ftFc?ZeH&Qhd+PyPkmBd<3+_kp z`Y`usj)u>PpCYu5CGDPw1ZiJpDMX zoH3j|4K}GrT+$#MI?`|kpbWpu0T~Oy6fXAgCJ@OIsHO6!-=FJCS}dcRD%vL zlR+lp0<}}~@47HAD&y^+bz!V)l{2s|WG!_3vo0K2H&tLtYd+?VPrKfYFbHnrdUigA zEbXJi1pd1%?EHIMSgy&EW@&dN_0Ft(qMC-4DD5fy!8hAi?TYNjX#`{|%kSI95<3*j zemeRv29ACzeGV`Y7oI~Zx#Ei{ii$U02Iu4y`OD0$@!P#K&Fo*szfxLBjBS=DS))bN zL|b=7YR8M56RFA^?H$c9%;?;kb|(<+MvdWY0eeoT_BaN>U!Ol6m8c(lcK4}Y@0f@=?Sz=1zfMn z{~9x%@XVvK*uLQeWXTwz0HLqDZHBP`{A+v5xKJ(NyWYKL|C>#@K|CJpFn_Hv2BQSC z@}dvl*T`toG(f~nGj_*1qW?FpE7iT?`QWFxpshtKg}-MAZ#gljDT^3XMjn_U2%WvV zxaPbZuPQnn40C+RE83a+sH7z#$kknJA)^YK2(9&mFsDn=ZA%IC^pYS(b|lTHi+Q$T zivef^Oi`gVY`()1+#pjMrom z_I%rR$K=Q;v8E{woI2qa2L=Xu(OQ)JJCYU6#5*i623Q#^r2A;~ooTb;z-4bD7S-=^ zPcSJ;0XF5bXU~~#qYJ&fs?bK}*iV<1KzeP~tE^G8u-ZbidiS(NE#=N)QEOhl@ps)G zUZnXK`<6Te)9U+Rx-LF2<9eEv-8gFgb>S}*5ya*WMNdq3uULGaKdlH(kWPqYFzk>D zI;4&{3_n@qf%W3}HM#BRsaZOSJ&WG_)n5tU3|RoF_iWTR`~?cl1S12*;jH&Cf?+HE zBnAPCkG=X^eGjei(tac%zKO)LuCvR;#4Puk<@k~9--$;DBO^n*i2Hj5OlbgtH?>bA z+g zkeWTDb6XiF=m*^4JpRB_MPLrCP{)u)qGWH4{sp=eyE%p(z72v&3)&p(L#+c-0>0Vl ze%DBDVaDB*y_lPA>JpqnU1#1r*+v9K@?C9#b0;rUvYy}Ir1 zgWPgRh#vxjyiWJT>?7#*dwSI zL|Av$v&9y|qmgyA7#tMxfz2TPfFt8YB=PhmM3nY>dz+iLqX?!SFV% zdE+J3>xhg~R%gokJDcKKTzGF^QV|~XL+MB3mI*|FH?kx;GbX@kHBeI{vya!qtz;V^ z7|(K9)uGKrsXb|-K;G_xpqBs9%1sqBeVrfl0Q@B2Ehdf42EC;v)JJ#dGKBmjBAwQf zuA1As?A7yaO~d^0+S;*Y>ZNjk-Ylex_=>`_4vk`Y0c*Y=EDU1=zrQ}WS_u0uMkFcL z=x;_OS)7b!F$f0*|vyL#I8x587-wGC{t}c=b@mxn)Tbe1I}k;p+L*9sK4v4VAKnN%*e6RXN=T_ zy*eb@quhp_51u1G%R5Rii_CwQe5JTi+ijZ|&DglS|9IuMzbuYQRi)x-7+s_%_Qz}Q zMD|M1JX-R|+jcD{H4AhMbcm3ngF_oNueqLLRz#=Y ze(T30MiFl29EzA_49~Yik^p&hW`xj{$?BrYyak3esckVMwQwuihuLtFmYkt9WrL-1 zor#0u^j)qyPU325AH>BqMyjJ^0QS0J#Paw%5fbv);OHQ)OV2eL!1d*}qk~*J=1Oj6 z@~A|^CxhsI5$TYfOO?V##GHO&UA3PSsyPsIq<&w%6&FxJp-`F*n#3JyVEc8fJ6(D8 z=%PC&KpM$3MztTvq&;ifCQg?u9fis}BL~Q}hph%Bwxj*>o-SXc$a-8Uc1#oF*k>H3 zu6Ui0cW*Op<6ed2W@ZAf5Mf^jE#1B|@yOhSJ$g^UFV7gXLKI71#?*JjPDNAMQ zU{>W}B=q%M2cs~jeO|McPz|4^-mo-!Gr zAXFS1n~$68yfVjrtAslA1lM;*mrgYdSHOm3MhoE3dfwSAF@FxeA?Ans>K&OUoO&qAJjg!}W|h}#Vx+65r8OG#&wv0#JY z$07y74n^O}ipq+pHmKa32qCv|V6;P|k5gp-0-*-r7FI~IeU6pxD1@I2hCd50w?ZiL zB)<*d=v!xqemz>HpiYqJsQdC3^_Jf_MTe&XD%9I0be$y{92M3(dvj~nbHqhJuE(ia zT*sk`JBFyAa>vPPBoZvQ_O{(Pv?wlwlUc8yR7C>fMQg`?L?GFRk(X&PqtHAQ2HdOWbbfWuxuAZrpTxN1P+KKCw1 ziTP_G8Q+hjrge^_psup*muIwK*0cXwD%%k z)crKgO*cMgzFMbemP@Z`FIPgpGMKpESZPbZuAXpZ)1Kz#Vm;zdREwN)>@bB1g$wb- zcShXrKkdtqwp6fe5T01fKNd6EY>sxAewv%glGuy;+V0pM*2b0DD^DJUi~`Ux6>Zn; zWu}(hbxLS?wBnn*%U$W_9fG9ci>G{x9+52`OZv3)P7`NW8ymy4$M&pQ zeJ(BQJRy;M|4M{IbNrmh5$h9CV?`1d*~#W+`y31BU>&Rd;}**M zMY3)WvOe4{TDeEVNUJI~s8|KAg#%9}4;*ovfoW_E&ih1@&%W@5OV&p}vF<7Reruwe z^Ai-LJXz@aAY&&Aeg!y>17jReWl*)qc`fCTxMcG-rl{AAOjWo`HY_Eneb(~%WT!wp z?e>n&V4L^mTUxxI#a$ke8ABcIj4o`9lXlUfo1b&U=WcLIsIRlh*&)yxfE^hY_KAQ( zE^)NA_h4|;XF&8IY_c~BX{me1s3Brv>GaCvW~>{tWnRq8^bUgijhl7&w*?~Z?EydX zNYgXEBPZxzkb>^9Q|xUA1gk{1Z?FW;5)4NYJ3xFPTa+mWr1BO;V$SrdPjeinlm;H( z>pATW-gG}MOL)Cs^#c;PF1o4_d8|*SjU_0{4QX`tzxDysW zbtWd?A_zk5=CIFIMFkU`&`-8;3=tm2ic0C;lp1d_nS9S&!DDW&+x6UG5l!{!39Z7r zftt8s;xD%0{-&LXXC`ez80A=~TNPM&+0bD&rY-w;Qlna%8ym6?3OsL(c0D5`?H}Oy zZ~-rRsSK-e!oiM7aEa(Wqt%!W9^gwk1yiLwg}|!X;MHJ%zZ_nFtWDSgd5lFr zqPnW>^s>koz-P3aWWxuNlS~s^Ypw6u8^ce>&5(ir+7 zyU)_qbraVkan1{jt1*Yl-y+exrGCe^aqa_Kl030@nwlH3-e69jJ?08Zu;EO)PmX_* zzZ~^;cP6k`N!Sw`VAJ%q94S+cX_~R%PU=a*>1!w8vonfbp1!yYC8akq&1&d-v*4Yr z3{c*If+KrTfx2intw8IyPR}>QoaNo)Sq|PshcVpG_`YptAC#xF75;R4q3v4w(_o4< zi{g&cJ80sVKrPQ)xc}sxM78=v-7&S(?_Z}iR#GWzhu^&EA)#|txQDMzPjMF7{ zNtjvVSS0d5XXvu?V;#`B4{apOBfaIzrk~01Y0+>T?*qj17J^=?>oj)Sm`;h|*a-K_ zwac+1!#vFKz)Siz(exK_$1@As`2-nIqriHEgRl445_vZq%C~rGo;$iMp?B0%>bzVl zoy7T{MZCN2kYx#NoMTboEo@QbA|jHhsI+R`BKo=V!FDE5+Vf|Big+bzNiVY+E`4yt zZXw>ScCr3zkNDtxkGTIz@_+3S?|Igu&HnFZ-nyJnhSe`!Zr|%S z|GSw7PygM_t6$tWZ{{r-{b}YE{a?*I|Dx(rctDqJ4Wf%o;{zLg14bsicAjQxpmNFu zc2Ft>&oB~Rj9Eyk>ElkTLrtreF=l!af8E!K1*wxTy(Ua|^LoZ=)XpYyql$V)g)A!~ zge&1@oolcWclhN#uMc=}=gUPrb|#$0Lirpo&ckad^DhYP4<&lciTwK?Z4Tw4Y#NPD zw?7bo+TPMVyN0Dyt}!_#k4{j%q=Gl?+`zPcPmCd~CG$QiEKhWP`0g!nvT54Z{oN#q z+S)v##SlGHMbHoG&67Fd38tyT1V^LiNnlDsIbC#5P;chBI~?a}EOn7x!eOowx;jLJ5lPZRl!AE4mz_8IhvM`8zu|4vP5@(84J&41kM^UZ5Sb8m|L-9NcTqc;@W6>4NJ?WDv$ak?S2|t%p9=|P> zp~Di*SzfjiQo8f{p<{L1X~ur6IaIX>g-h&gs)}h*u;)1_Ta0DgX4{>5Fn#dsCn^4% zMx^Ilb${=2P;<^w4y4ow>m*M+7 zEtedaJ3}YI#iSA#x`+syMD08qit({_)Wjen3bHEPkcyABs{O>b=2^sU(9~$vUKi?6 zj2(U_OH}_Xm}VY6eHV-WZN14#{z@42%(@b9v-6v=#b-*NmRFP|Us=8FWr+LS9og4u zH-F+==JW(XpzJs$+{R{(TklxuS^3cGrMPGBK{)j@FWjv#F1o;hPjtoo*JXal&IWns z&;_`H{%QUhJ8GRNbhtLQmCLlLe(b<%UEHiQJ^SJi;+nIObkaw&(7DB!R1S7=c>V&& zt}6R2ERR)s&(oUYT3af}4M*&sMC{(b+A|y~uD*7)`Aw>~l{;-AT6Aj2bVTy^43QIa z7$XWjA0gWO9wC1EdxWSte{qZC6UB4=FF#Gcf)QXam&Mc?J7n6nx(3tQR=A`v-A=wH zcFTmBOlI@J1e@i`y+bPEpSCN1BBAjh66$sy3AGK+{T&Hq{}T!IGEV&5JmKTqn{>Ik zn)h$NjTe{uV|@Ax==RZcuDxYLRE!Gae(vbOnwH9CWlpUl!!6*q3n6zO&mt7{*S71)dmR! z4CA}y@8&1$*#SPJQ}15E5^vUksIqrte5=gZ&!X!m&R#z+Gp}hZ%{>pB zOYFqt7qWG{B*u+;PNeVW=M~@$@cmkO;T5J4d@V%3LPTTjQ^A&+X0PL#CVZ$$+jep7 zR3N|rKkk%JtkiN8*bzzf|9RQ?^hHiP6A4~1SNsh)P6QPD3ilQH*9Q3^cZMny*q4VJ zjtmFo$M^6y;`~QT4o;lK^x2=hB>q`UULk{PC_c=C&c%77UlL=+WLI(qWO9lp zLYQV-1&ZU2?__S=c3lYe27gIL?mp`EEIG}5Z!3h$4qLQ3tu$U7rt5J-#31;k~=z8yW3oNPC<$|?;6XzbaS$KENum@Rrq(mRpDHvS;( z`K6N|G+wB50P?nYdC^qyM_y|;4W1oyiEMs`4Nx{35@zw4v<~|Sx~bl70Tvw+bAor) zsLy~M6!!e{`VAv;&(YlGmWFW;-sa|PowCx|!VJIH&7U^492}s@T77(#F5Zw6`9QKs~;Hp25A zg$amRi1uXEN83%*#HZ5R8Ltee&Y1{6?j zdiwYX>IhZ#@??EW?$ z-1XrM6EIb~cX!#FFA*IgIs=b2Z5ZC#)AG@ol7#tXpjqX%S*E)MNhQi3ZkceEUf|6v zz=ho%R+>6ZFSTCl*##B5wl4~5tJ7^VUB{X;@u8`5#4M9#Yl!#l(LS&ZYYJE}dmWJM zWdq3`;mp4!dkj<#iBuPDj8kBwB~VjgK!!eS17zr(b22pZf0Lm@`^7Z=gAA=$O1iMv zkT&6+afyvF|Iyk%O*^)IM~g`*QL6QH`Ru9^YnP_fFCN*u2M!s|mJDAMsLU|(8G8bt z<-=%sVwCb>^v1*br0Fa*qz6*;z~kUi;=tMPvBvDNO#08AjS~gmlT?kK93qbv!G$d4 z9%-h(<$2OTo=5dx@;o)6EB&B~ug2oG8YQKxqcsL3Pujbyx?^z>pFcZK<<PeO# zn$gh^As%ACn|9IOL*$&>VjQm%+AN2M*A4gW%4mP)6D8$Fa<_E^X&E%9dyw@Aqfht! z+O+jW`_DBO!ai~Pmdy#_LeYurR+dBPM6llB&Ysm)1xFg;v0DYp;o@Q+_}*3a%pZ7R z!vggHMg%S-*{XV@F5uMUX!i$+f{xT(kJ{RpOJb>M;?iYeKWPa2x(%?1k8X~g{>qWa z3h9I19(kfxiK%bv+3eJP|BY}~mnp*!Z|uClWrE9FV)gBOGRHc8Vp-|J#*Q=_CF9*N z%COW-6RW#kEkR?D9|BqMF0CDkos%CvkpbuR?aU>8inSxW1kHq0*xMo6QVs4;ZAJ~Z z#T-8MDkS(%Is-6t#&(VyIw}{-9rGzeIrqG0iT z)&hhRk%#ouIJ++Y_K1}RgA}a-TOF6t5;?p$*GrHCDOh(7b&LHH&TSE^9P2Yg+3DWB zm}oLy)MWN8j_QrNEH~b0y?1*^+qDL)X^f<KVviE-!ceJG9x3c+h z)M#>`xRaASu2ATH5_}yYsQO!R*P7XHmO;UzIm>P8ZS?-?!n@onh(B2y>pxi=#Kz&)1u5?j~{cvEw6t6dqqY2mM2y|--8bA&>VyROO_Xf0z0yw5<- ze?OjH6Du{5gBArn|DWeQ|AHSiLp+1o;W3ht{oz!1<1q=t&`=WmVB3tuOJ{>k^-*qt zl9OlLn4NGWI}K3~x%Q+8U&6|nVmFoH_l`9x&BY|9-F3bM_S?HRBp^iQnO9s?FAcm9W}Jz^(Fo)*qJ_Jif?5 zp#e1wSZoh%I;;0XF9TQ^ICY!DwQaeq#-&QlRPDu*^39^cxsztIWelqGgMcc?2xbdb z*s)+%MF+RMIl5SnRe)FWuMT_cIf??v7z^t^x;phlXCeHB=Ne=cFpEUMjmpwL@A~R$ ze?J6WUkT9l9Xr=Kht5p&yuxbq_=`rkL*8E2W-}- z7gwQ^hG_keNtAxr{t(rVvul|7xY_}t6$NXvA2QT6Q}k|0&6o1xw3wAYb4N9$%(G0S zMIMX8j!?i$r;F%pvWWc0)PM>pXnG+<&c+1vp#3uLS^}ZOkPf7`HsdpQ@iEO(sCtE(M zw7%u8b?t)0^^XkP*+otImrq!~B2W3OCZu#W$ccYg2zQvxxny(vT#B=9RB$treUt3W z`!})7tfa?wi9M`-o*Xbrf5@LT=6^F^H}PDT4(8P2Z5Z1Yen@JUMQR8wG|Lx(wth%Z zVHu{o9%v0(#|R3hb7W1BT~|D;0U&D-!XwY5Wn6zUYz=-Llwa^SRUF%}30)!&^9AG< zp5nOLzaSJ&U`7Kn6wab0PFs(j&TVR}Tr5afVR%TG;)PFBit;1IZ#nUbJ9WZ80{6AE zk8Tt$rgmyF_!xQ49*^FS$`Y6#MsTm+gysXHL3e58FX_)d%Pmkn?6mV zMdDT$g?7{Py9?Qotw!wH*ENt3cU*lh@au*uww&={*(%U-6~hJM>yx9ilG=Kjceq$C z{16;hc1}d;nBm5-#9fn2wo!pv?4d};H_6i~<5gCw44T7U?(Ze-R*gCtmscy`trg{m zlZKX-ojl!LgIo#x&uf~gL*5c|Cwqo&*ff_0_gkFh_*ATkZOpNcL+##}v8ozk3SZZg zBM4kdc1yf2)+cLz-R)!PpBD_dWW-Ool)qob6m&Y69^@8a?tLcvU6pZtuL>)bPBIdsIwla8u7b znmgH#I|Eq?Pc)t=uRT^&z0=xOGnRjS%5ug^G6~hAr+us7d5pfS73riK7IrR$WB!*E z4tB;f>OK&^jQHm4aepOG@Opxm_vm#~!W-8sHyuOcehgr|ZeVgcb1s2$VjJ&xZE2t( z>p)LtvD1;H@8G*zXff_Bo_;)%x~)9bld|L+vbp3^?$ag_&iVA&qDvFL&H#NGP^9a_A zGsk2D2^?7PX_aq8cFr+kkhK!?Gans1M66d*K0oEZKNr(K)MGx5*C$&(%l_d>n<6eX zAFltADSWQ@w8Doh3prTxFinX2F`h`$7o~BV!Z7L(J&A6J=cFn1ytS^Er%=jF|B4oG zYOF%FoWlb@?(E0@D;4XggW{^7C>M*=mHY$dhc(FKhg+gk3%56;W&TD?N==*?U?QJE zY2UgqsfVM3Y(e!u2O*sLv1x>>26>-Zyf#Twr0@yhi+hsJ&mTWh7esU+h)-ldyrV;j zu?_1O>q7!Wlm6NpPb^Fl-|)aIE7#gB3-lcA?|XrbR^L)a_jx&b=fb)zN{Mx1pX`FcF6s|wQulApB#R@` z7ex#*eI+i^!3-&;fU^lc;^+U#jNIL04>{u+-zTTP zQKox;QOEX=;?2c@Vygd-;?0kBiiJO(SwU-U;DVeS)DKW5O`wK+QAo$%lu3(&e^VwQ zgZ`vdyba*G3XAT|uq{fst=h0v$ zjoL}5Djo&DX>244jeDg#5+yH13N#ne`&8yEsvmvOHh3TZf%2)J=p~%K4whSn%7smG z_(TYM-8dGQiqv0Fei5CjD1wk5#N^yiVLb8x1$O$b9L)2zqq)5MRlkyf!_Uo^+t+f2 zVrS(kvlo%;>*Z~^br*d)+(uV6v^C;q*Bs|psD>|T@LgXf z6zI!@NH|eO`(+z4TR0oI2wcOzBu?$+O!fDA?qVP0liN8GTpv@0dobCJ+OLmz#U?$H zH(q2ZUa2GhQq{GSN{eARSyv6T8l&cfafpLSOt8LdD|1gyG6p%tBx0Fp_r6SuE80mhlx~Cq(EX$lPicYA++og;# z=^YAHlyGST-MajC(xNR{Z!maw!uMw6hkU>PD&kH+F&2DEBsI(Zy@?aR>)o)JC`9X8 ztls^)Pf~HmsL}1`oK63juAuk%GYX)A==gypyuqmVsrZIbbK{uz&h@FO0R^b^+W@ui`~7JdL4&pK)>X@K|B>Qv_S3;?C(Q9@5KDF>xr(K1lU{M^*(ZW$99lKh536Eik zhg&vf3yD+h-Py93;4-vX(P(WM2`k%P9kAj9(P|{>kBBgYV8`Nxqri#CjkQS`aoNcIbO^z#8M)iE4IsPv)DC|G8sk4 zx0)j;^IK+DJ^0Hv2RBQS-qh5v(JUmv&@vs?I*SuIi(4kTI=3fJl&dGPOG~UZ#qVPW1iyrm(`&Vg`HIn{)tlzK&GOA)AaYE6(B5aSI?)KD>4l8jQv;d|x zSp_CF^_y{w56wZ2S?eA>LC7Q2JfNXcTdR2ifmjBz-=MI?%hn1yn8eYcPI6uwyAp=v zz!H_7hMz{C7W$sX9^}-qDhzql{5qEQYqNQ>Gqt%-52)1tFo+L(rSkL6Qh?>($ z(>^*k>N61+wGQJ0joUER@Nqbn1PpgWd3 z<|A0aZis9j+b*tdN2WT~HzA+*a*GR)R>l?3f@5FUbCt?39qq(EwiM3(fVFRH23NQ_ zQc2bG^A46chl!+z&+XhKt#fXYF8yPY9xTc`mcz9Tq1~ew0*uG@-Bc}+x~e*D)y;Pt zeH}jS9K1-aLtn4{q_kz zkfpd7O(lSyoa}G}=*gOYqbI+>JhTi8m#Zeml`Je>>64FB!>P2=ONqJTM0Xk|5_dB7f5-m;RlP5fd3m9j&_m0=f18W+x5_;)WZ<#=|}X zI=8-Rzt7xK+Sc)VHxCEY58`&{qzPR9%)c? z;KoRFJ{0AumydPnSwqyQzvlX>`xgYIv@>0lYp0DAu4VO%MbDW zdc7>N#c?tLi?#&c;2piz=lbn{vYxSo!Z&@g6xRREpOl}}2{;zSWejc@jzrYt&fwJg zcWX!G2N?S{?6(B^>=Q3DCf>#poQHA!_+IRBg{Wbj8^*@0e|Uh}`!jgP+Vvx9w!L&h z*McPu--2qC!DDY?Y@$nSvXu3ju>>`_ZLd_sf9Vj2*L^zV@H01&5+T}LCP@R>>UNMH zT6BcXU2L%=6aNbWW>j1M=ZtDDS42-Bv>R8}GslUY%L5f$>wvph);-UQR2#-E$?JFH z#O{S=MU$l2CA_lRut3e9pNBJ5Q`9ET?*Wz?&#%^H1(nU{x_{KD0TN7UT?3F zZZ4jNXY&JoeyeGh4Sg+a)}!-@O!9w?r(%AOr!-lVpPli;zkHDXIgNAdZd#2L-e&L5 zVC6H)_{x3nI^#1}JlQ4Q_fTc<0z2fp+bZ(b(=(*YJevF3#3e%s4#~m}Gr=p(A{zezbBLD!H%i(ER=EmxDgf9_kC&Wwlj#D42A^5^sR>P?ePL}_)SG*Ss@D`K zE)v9r4kuX?$0!lt!a5IwujneR>S2x3W2gIu_sOUnojiDd(n&u9zxP_Svoz&V4Kso| zU|U^zPSxjaeupKGJkbwW42rZK-7{ZJUe&+Z&7`_=Gy0l3PQ%GYB|KDFv>yV^VLdW{ zvpNUZ)fe)q4nSCb>deIjOTK_Kpi`z(b~HxQt8fPRh-?AR$yT=05>W5*J{o;;m_H^7 zL4*@mRS5Gb)k5rih-q3z=J#?5*em!8_K0F20wB+`Z)7;exU``H$!8h%-z!|22%&Zp zt^Zk&Kkk!DxL+{cO#@aR{vZHXvV_SUJuH62yfGK5v81E<3D#i^iSQdko z%=4ux7n4(G=DpmDrvamP+L>T%h@OzkFd1zN_F?cY1B@=)0=&qD{ak|H;1_Jf7B=6u z)-=H9eQh(}Wr=SbJe%s3t>VFg_?#^rjGn2kv2+f`R5&;$wVkIh1Z^6jcA<>#o&#uLy8NI_j4~UJ+H{j zc@fPSSDvm2;ic)_VZ^aB!*e<;Cc!x14IJxQh-G_~i>t9V3sn3rj?(h;eZ+@M!#%wi z&dKhzqp6vAjU?lj9(xQM(3<68YQe?f!9RWSbFJC$K6!6~){sRQAV;?tFI;kW0P{_$ z#49?FX&r;Eo>`i_ApP^HDF!){9uF=V*wVw%OC4;SZ7@-m`9LNeR;|T4bN8hN=lGd} zYE+()1Kno-JKmWP`tJr87XnGJB)3L_@#bx`3K1PLm|gw9O`R$~XPBK)0ULeGAAT0X zJ0kDli;TzLeET*rfx640Jeb4UM@q1JVq#+}-^hH%DmMQ3WRdsZUbDbIUbB^RuURbc zn)P3_i*d6!vMi3*8vH6Q#^Lz-GEvah;;A}$B%*Gm+TPwxXh?V#G;^S)=&hR^w30O} zDcyuMVqGS0nP~kUlU5Mtkp|febqG_ zj=MG#xD@n!Buo!{Mw^s@++%Zm=)I&xUO!7<IbVsF;uSZ~5E zsW8zH*#NJkotC?Q_4$X_uU{`OkIxBUi=&`kr6T!gT~I!z%dL(w*)VQSUNL0genz^S zm0K;l*0-Na-l)Vri#icIebaW;{Nw#cbttK}nzHkiM{1syNLZ&>%qZFX`qnwhOWA+% ztL=8wi0u5|woM{j`^_<4tnL5TwwViTn@O#QZpO+Y>*sr)Kg7uNSgBc!b7G|BnvBJZ zQHxvEmESsU_5Tg_O7Ca~ZRiCUbF3&CuGt!Mn%cROF|R#dRF`1VGuvPCfjW*fyCXzt z`5%90b|Rw0S~HDoabx!3k7;+0s@&@E2Thcu&o2*EvrY@r-Hu}>)WQ^_r7E&hFqe?W z%%UWg>oyXt=SF*)fcs;6^VP9tejcyFX0%#9|8i!`>f_@D_}d*o*t`UzJE{wRYva^Z z(YC{Ttlt3Vi+!BxR{8Au=NbV3^->t0dQBi z#TBRopvvbK63P+x+92}ojP3XW>l($LoZ|I6H$48+tiY-Aga5)dc?@bbtc}A-nRR

cdrn0~&@v<&sUYpemiFWR!IzqxFv)A3rR~qVurC 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�m2mdeoEC$7+ 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

gx+B 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ô^<+qRn$nVy8&KDS(PHjSf)_5${uwK_9w!UJo2!zmLO$K| z(rA&`3de2GF(75!<;lmMN;reqtJk1iz4fP#wyNReHP#xxn^Tg2Rrubnglmy-$&~6z z`pIjSAL{2ShClD>!f%c_7I4f9zd7c!%5_R`fZ4B|oTyc1CvZNO_s&!dftx8zY?o;U zA5c#*QMA~4Ey*p}gPfkmQm{glUA2Rb&|kWb`_F3G2y+5@@o+UUsz{|sKPKPOQ&MM& z4Kvzfn}u3`%XI-GuUUZ_|CCOTxxuKtFD{c!j;@Q*3oqR`b|kgVN7;z8Q8re>d+P4` z-5xN?{u+3Nj53ZCVGA1;dt5pw_cw~+2nWSRvG-9nLB7uq(%dI&r+B7z6=i(Cc01yY zU619Unbv*24(K|_v(jSI-XiX!xrg-|yqP>NU#hSUZ5=ml4~q@C>TJw|9w(hrll7*_ ze9tlm&pWg}z*?|Bw-(3@7IFH%UxWe_!>bI-dA52V?ID_|S#ujc;Dr}ANLK{=7Tr6q zq^O4<6!ZabxKgmZ3o*Hq&F0szwgAT1IdDY@Mj1hk49!oG@g7R{!i)D~m zz9s5TY-k%DI;MU(_8QFmA(|r9Wev5iT%;-(GNYjUoO|mQLEu1C{f*WbYWnEju1d;z zqYdFHM$XBVy2(64_Xl|sY*y{hvC!anZ+gD9jbyS?y3uK>3orK=*L2INDE9#3J`}>V$CbfFdld@qP3A3>R#L|2Iy}k9mbCdUc89m+ z7Yhe0mnzSr+IK&IsJ6=QsP=_#mXH5-G1PosV2i=`{cTXR8Io0d3sj5!f`t5nP;4?! zf_(6@2BoQez3|L@mRldQoz1IlTKld*wV_+@x7g}`8#jlBEl`|5s1m{-!0?UO)i3HFiyZlO-w0j z{1HZG`9!~icH$saJSEN2F#oM5%owiBF=P1XWQwLgM($|Lo{<67y4pGCqu+)OJ@Ais zx)Lt9L*#Fx%6kwfP~>_1K;q`-{B%OG*%y-m%p=k)u$qph!R<r+a{_ux9J?k~U|!TZOLcDqz7 zO)nBeIpTuaKa)$|E3Mv4)7w|18MEm8JNi+9m^0xR8bn#z=rqH^7y7tr=+CgY2=}8* zJwkXy|Gs$i^k~Z0`Dlq@=bG?-yt_ZWX4~xunrYtQiWcwlQb3Kmzh$iClrET?PIuE& z)>G;8vb;Z!ASdYRV`LXS%7(vb&lstJU1mg!4KzIOkBlL6m*ax(nT(-SYU1FH_@|6v zoe^#$$}k9u_rUH*?$V<(7{h&|@>&V2YVIH?ps*kbjJUyFbM+Akf6paxeSH99D21F7 zuOAhL@W6G>V2m*=fH53vtxN?~K1AQVHE!}VirkBa?^?G@01xXggUv}3ZgVH96N3FSfF?_>Tmw)`wtgVd8Kfm696Y~J~dTt5U z9ur()gs3ZA9wv97ETG|z5;5xTDtZ#{(E_t&f%0DTCVgKazn3@LtMd3MMyHpN1;y}n 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

lViBLMUhFw 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

R>x8-Uiw8?)-yhp6W{KE?VT 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 P;}~S-gHo{k_2vHoi>x7& diff --git a/src/libs/kdmp-parser/src/.clang-format b/src/libs/kdmp-parser/src/.clang-format deleted file mode 100644 index 468ceea..0000000 --- a/src/libs/kdmp-parser/src/.clang-format +++ /dev/null @@ -1 +0,0 @@ -BasedOnStyle: LLVM \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/lib/CMakeLists.txt b/src/libs/kdmp-parser/src/lib/CMakeLists.txt deleted file mode 100644 index 8f534e9..0000000 --- a/src/libs/kdmp-parser/src/lib/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Axel '0vercl0k' Souchet - April 18 2020 -add_library(kdmp-parser INTERFACE) -target_include_directories(kdmp-parser INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/libs/kdmp-parser/src/lib/filemap.h b/src/libs/kdmp-parser/src/lib/filemap.h deleted file mode 100644 index 097e7f8..0000000 --- a/src/libs/kdmp-parser/src/lib/filemap.h +++ /dev/null @@ -1,224 +0,0 @@ -// Axel '0vercl0k' Souchet - April 28 2020 -#include "platform.h" -#include - -#if defined(WINDOWS) -class FileMap_t { - // - // Handle to the input file. - // - - HANDLE File_ = nullptr; - - // - // Handle to the file mapping. - // - - HANDLE FileMap_ = nullptr; - - // - // Base address of the file view. - // - - PVOID ViewBase_ = nullptr; - -public: - ~FileMap_t() { - // - // Unmap the view of the mapping.. - // - - if (ViewBase_ != nullptr) { - UnmapViewOfFile(ViewBase_); - ViewBase_ = nullptr; - } - - // - // Close the handle to the file mapping.. - // - - if (FileMap_ != nullptr) { - CloseHandle(FileMap_); - FileMap_ = nullptr; - } - - // - // And finally the file itself. - // - - if (File_ != nullptr) { - CloseHandle(File_); - File_ = nullptr; - } - } - - FileMap_t() = default; - FileMap_t(const FileMap_t &) = delete; - FileMap_t &operator=(const FileMap_t &) = delete; - - constexpr void *ViewBase() const { return ViewBase_; } - - bool MapFile(const char *PathFile) { - bool Success = true; - HANDLE File = nullptr; - HANDLE FileMap = nullptr; - PVOID ViewBase = nullptr; - - // - // Open the dump file in read-only. - // - - File = CreateFileA(PathFile, GENERIC_READ, FILE_SHARE_READ, nullptr, - OPEN_EXISTING, 0, nullptr); - - if (File == NULL) { - - // - // If we fail to open the file, let the user know. - // - - const DWORD GLE = GetLastError(); - printf("CreateFile failed with GLE=%lu.\n", GLE); - - if (GLE == ERROR_FILE_NOT_FOUND) { - printf(" The file %s was not found.\n", PathFile); - } - - Success = false; - goto clean; - } - - // - // Create the ro file mapping. - // - - FileMap = CreateFileMappingA(File, nullptr, PAGE_READONLY, 0, 0, nullptr); - - if (FileMap == nullptr) { - - // - // If we fail to create a file mapping, let - // the user know. - // - - const DWORD GLE = GetLastError(); - printf("CreateFileMapping failed with GLE=%lu.\n", GLE); - Success = false; - goto clean; - } - - // - // Map a view of the file in memory. - // - - ViewBase = MapViewOfFile(FileMap, FILE_MAP_READ, 0, 0, 0); - - if (ViewBase == nullptr) { - - // - // If we fail to map the view, let the user know. - // - - const DWORD GLE = GetLastError(); - printf("MapViewOfFile failed with GLE=%lu.\n", GLE); - Success = false; - goto clean; - } - - // - // Everything went well, so grab a copy of the handles for - // our class and null-out the temporary variables. - // - - File_ = File; - File = nullptr; - - FileMap_ = FileMap; - FileMap = nullptr; - - ViewBase_ = ViewBase; - ViewBase = nullptr; - - clean: - - // - // Close the handle to the file mapping.. - // - - if (FileMap != nullptr) { - CloseHandle(FileMap); - FileMap = nullptr; - } - - // - // And finally the file itself. - // - - if (File != nullptr) { - CloseHandle(File); - File = nullptr; - } - - return Success; - } -}; - -#elif defined(LINUX) - -#include -#include -#include -#include -#include -#include - -class FileMap_t { - void *ViewBase_ = nullptr; - off_t ViewSize_ = 0; - int Fd_ = -1; - -public: - ~FileMap_t() { - if (ViewBase_) { - munmap(ViewBase_, ViewSize_); - ViewBase_ = nullptr; - ViewSize_ = 0; - } - - if (Fd_ != -1) { - close(Fd_); - Fd_ = -1; - } - } - - FileMap_t() = default; - FileMap_t(const FileMap_t &) = delete; - FileMap_t &operator=(const FileMap_t &) = delete; - - constexpr void *ViewBase() const { return ViewBase_; } - - bool MapFile(const char *PathFile) { - Fd_ = open(PathFile, O_RDONLY); - if (Fd_ < 0) { - perror("Could not open dump file"); - return false; - } - - struct stat Stat; - if (fstat(Fd_, &Stat) < 0) { - perror("Could not stat dump file"); - return false; - } - - ViewSize_ = Stat.st_size; - ViewBase_ = mmap(nullptr, ViewSize_, PROT_READ, MAP_SHARED, Fd_, 0); - if (ViewBase_ == MAP_FAILED) { - perror("Could not mmap"); - return false; - } - - return true; - } -}; - -#endif \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/lib/kdmp-parser-structs.h b/src/libs/kdmp-parser/src/lib/kdmp-parser-structs.h deleted file mode 100644 index ac8a362..0000000 --- a/src/libs/kdmp-parser/src/lib/kdmp-parser-structs.h +++ /dev/null @@ -1,815 +0,0 @@ -// Axel '0vercl0k' Souchet - February 15 2019 -#pragma once - -#include "platform.h" -#include -#include -#include -#include -#include - -namespace kdmpparser { - -// -// We need a way to represent 128-bits integers so here goes. -// - -struct uint128_t { - uint64_t Low; - uint64_t High; -}; - -static_assert(sizeof(uint128_t) == 16, "uint128_t's size looks wrong."); - -enum class DumpType_t : uint32_t { FullDump = 1, KernelDump = 2, BMPDump = 5 }; - -// -// Save off the alignement setting and disable -// alignement. -// - -#pragma pack(push) -#pragma pack(1) - -// -// Field is a pointer inside the this object and this function -// returns the offset of Field in the object via pointer arithmetic. -// - -constexpr uint64_t OffsetFromThis(const uintptr_t This, const uintptr_t Field) { - return uint64_t(Field) - uint64_t(This); -} - -static void DisplayHeader(const uint32_t Prefix, const char *FieldName, - const void *This, const void *Field) { - printf("%*s+0x%04" PRIx64 ": %-25s", Prefix, "", - OffsetFromThis(uintptr_t(This), uintptr_t(Field)), FieldName); -} - -// -// This is the macro we use to get the field name via the preprocessor. -// - -#define DISPLAY_FIELD(FieldName) \ - DisplayField(Prefix + 2, #FieldName, this, &FieldName) - -#define DISPLAY_FIELD_OFFSET(FieldName) \ - DisplayHeader(Prefix + 2, #FieldName, this, &FieldName); \ - printf("\n") - -// -// This takes care of displaying basic types. -// - -template -static void DisplayField(const uint32_t Prefix, const char *FieldName, - const void *This, const Field_t *Field) { - DisplayHeader(Prefix, FieldName, This, Field); - if constexpr (std::is_same::value) { - printf(": 0x%02x.\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%04x.\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%08x.\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%016" PRIx64 ".\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%016" PRIx64 "%016" PRIx64 ".\n", Field->High, Field->Low); - } else if constexpr (std::is_same::value) { - switch (*Field) { - case DumpType_t::KernelDump: { - printf(": Kernel Dump.\n"); - return; - } - - case DumpType_t::FullDump: { - printf(": Full Dump.\n"); - return; - } - case DumpType_t::BMPDump: { - printf(": BMP Dump.\n"); - return; - } - } - printf(": Unknown.\n"); - } else { - - // - // We use std::is_same<> here because otherwise the static_assert fires - // immediately on g++/clang++ without even instantiating FieldType_t. - // So we kind of trick the compiler into doing what we want. - // - - static_assert(std::is_same::value, - "DisplayField: Unknown type trying to be displayed."); - } -} - -// -// Display the header of a dump section. -// - -#define DISPLAY_HEADER(Name) printf("%*s" Name "\n", Prefix, "") - -// -// All credit goes to the rekall project for the RE of the file format. -// https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/overlays/windows/crashdump.py -// - -struct PHYSMEM_RUN { - uint64_t BasePage; - uint64_t PageCount; - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("PHYSMEM_RUN"); - DISPLAY_FIELD(BasePage); - DISPLAY_FIELD(PageCount); - } -}; - -static_assert(sizeof(PHYSMEM_RUN) == 0x10, "PHYSMEM_RUN's size looks wrong."); - -struct PHYSMEM_DESC { - uint32_t NumberOfRuns; - uint32_t Padding0; - uint64_t NumberOfPages; - PHYSMEM_RUN Run[1]; - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("PHYSMEM_DESC"); - DISPLAY_FIELD(NumberOfRuns); - DISPLAY_FIELD(NumberOfPages); - DISPLAY_FIELD_OFFSET(Run); - if (!LooksGood()) { - return; - } - - for (uint32_t RunIdx = 0; RunIdx < NumberOfRuns; RunIdx++) { - Run[RunIdx].Show(Prefix + 2); - } - } - - constexpr bool LooksGood() const { - if (NumberOfRuns == 0x45474150 || NumberOfPages == 0x4547415045474150ULL) { - return false; - } - - return true; - } -}; - -static_assert(sizeof(PHYSMEM_DESC) == 0x20, - "PHYSICAL_MEMORY_DESCRIPTOR's size looks wrong."); - -struct BMP_HEADER64 { - static constexpr uint32_t ExpectedSignature = 0x504D4453; // 'PMDS' - static constexpr uint32_t ExpectedSignature2 = 0x504D4446; // 'PMDF' - static constexpr uint32_t ExpectedValidDump = 0x504D5544; // 'PMUD' - - // - // Should be FDMP. - // - - uint32_t Signature; - - // - // Should be DUMP. - // - - uint32_t ValidDump; - - // - // According to rekall there's a gap there: - // 'ValidDump': [0x4, ['String', dict( - // length=4, - // term=None, - // )]], - // # The offset of the first page in the file. - // 'FirstPage': [0x20, ['unsigned long long']], - // - - uint8_t Padding0[0x20 - (0x4 + sizeof(ValidDump))]; - - // - // The offset of the first page in the file. - // - - uint64_t FirstPage; - - // - // Total number of pages present in the bitmap. - // - uint64_t TotalPresentPages; - - // - // Total number of pages in image.This dictates the total size of the - // bitmap.This is not the same as the TotalPresentPages which is only - // the sum of the bits set to 1. - // - - uint64_t Pages; - - uint8_t Bitmap[1]; - - bool LooksGood() const { - - // - // Integrity check the headers. - // - - if (Signature != ExpectedSignature && Signature != ExpectedSignature2) { - printf("BMP_HEADER64::Signature looks wrong.\n"); - return false; - } - - if (ValidDump != ExpectedValidDump) { - printf("BMP_HEADER64::ValidDump looks wrong.\n"); - return false; - } - - return true; - } - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("BMP_HEADER64"); - DISPLAY_FIELD(Signature); - DISPLAY_FIELD(ValidDump); - DISPLAY_FIELD(FirstPage); - DISPLAY_FIELD(TotalPresentPages); - DISPLAY_FIELD(Pages); - DISPLAY_FIELD_OFFSET(Bitmap); - } -}; - -static_assert(offsetof(BMP_HEADER64, FirstPage) == 0x20, - "First page offset looks wrong."); - -struct CONTEXT { - - // - // Note that the below definition has been stolen directly from the windows - // headers. Why you might ask? Well the structure comes with DECLSPEC_ALIGN - // that was preventing me from layoung the Context structure at the offset I - // wanted. Maybe there's a cleaner way to do this, if so let me know :) - // - - // - // Register parameter home addresses. - // - // N.B. These fields are for convience - they could be used to extend the - // context record in the future. - // - - uint64_t P1Home; - uint64_t P2Home; - uint64_t P3Home; - uint64_t P4Home; - uint64_t P5Home; - uint64_t P6Home; - - // - // Control flags. - // - - uint32_t ContextFlags; - uint32_t MxCsr; - - // - // Segment Registers and processor flags. - // - - uint16_t SegCs; - uint16_t SegDs; - uint16_t SegEs; - uint16_t SegFs; - uint16_t SegGs; - uint16_t SegSs; - uint32_t EFlags; - - // - // Debug registers - // - - uint64_t Dr0; - uint64_t Dr1; - uint64_t Dr2; - uint64_t Dr3; - uint64_t Dr6; - uint64_t Dr7; - - // - // Integer registers. - // - - uint64_t Rax; - uint64_t Rcx; - uint64_t Rdx; - uint64_t Rbx; - uint64_t Rsp; - uint64_t Rbp; - uint64_t Rsi; - uint64_t Rdi; - uint64_t R8; - uint64_t R9; - uint64_t R10; - uint64_t R11; - uint64_t R12; - uint64_t R13; - uint64_t R14; - uint64_t R15; - - // - // Program counter. - // - - uint64_t Rip; - - // - // Floating point state. - // - - uint16_t ControlWord; - uint16_t StatusWord; - uint8_t TagWord; - uint8_t Reserved1; - uint16_t ErrorOpcode; - uint32_t ErrorOffset; - uint16_t ErrorSelector; - uint16_t Reserved2; - uint32_t DataOffset; - uint16_t DataSelector; - uint16_t Reserved3; - uint32_t MxCsr2; - uint32_t MxCsr_Mask; - uint128_t FloatRegisters[8]; - uint128_t Xmm0; - uint128_t Xmm1; - uint128_t Xmm2; - uint128_t Xmm3; - uint128_t Xmm4; - uint128_t Xmm5; - uint128_t Xmm6; - uint128_t Xmm7; - uint128_t Xmm8; - uint128_t Xmm9; - uint128_t Xmm10; - uint128_t Xmm11; - uint128_t Xmm12; - uint128_t Xmm13; - uint128_t Xmm14; - uint128_t Xmm15; - - // - // Vector registers. - // - - uint128_t VectorRegister[26]; - uint64_t VectorControl; - - // - // Special debug control registers. - // - - uint64_t DebugControl; - uint64_t LastBranchToRip; - uint64_t LastBranchFromRip; - uint64_t LastExceptionToRip; - uint64_t LastExceptionFromRip; - - bool LooksGood() const { - - // - // Integrity check the CONTEXT record. - // - - if (MxCsr != MxCsr2) { - printf("CONTEXT::MxCsr doesn't match MxCsr2.\n"); - return false; - } - - return true; - } - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("CONTEXT"); - DISPLAY_FIELD(P1Home); - DISPLAY_FIELD(P2Home); - DISPLAY_FIELD(P3Home); - DISPLAY_FIELD(P4Home); - DISPLAY_FIELD(P5Home); - DISPLAY_FIELD(P6Home); - - // - // Control flags. - // - - DISPLAY_FIELD(ContextFlags); - DISPLAY_FIELD(MxCsr); - - // - // Segment Registers and processor flags. - // - - DISPLAY_FIELD(SegCs); - DISPLAY_FIELD(SegDs); - DISPLAY_FIELD(SegEs); - DISPLAY_FIELD(SegFs); - DISPLAY_FIELD(SegGs); - DISPLAY_FIELD(SegSs); - DISPLAY_FIELD(EFlags); - - // - // Debug registers. - // XXX: Figure out what they don't look right. - // - - DISPLAY_FIELD(Dr0); - DISPLAY_FIELD(Dr1); - DISPLAY_FIELD(Dr2); - DISPLAY_FIELD(Dr3); - DISPLAY_FIELD(Dr6); - DISPLAY_FIELD(Dr7); - - // - // Integer registers. - // - - DISPLAY_FIELD(Rax); - DISPLAY_FIELD(Rcx); - DISPLAY_FIELD(Rdx); - DISPLAY_FIELD(Rbx); - DISPLAY_FIELD(Rsp); - DISPLAY_FIELD(Rbp); - DISPLAY_FIELD(Rsi); - DISPLAY_FIELD(Rdi); - DISPLAY_FIELD(R8); - DISPLAY_FIELD(R9); - DISPLAY_FIELD(R10); - DISPLAY_FIELD(R11); - DISPLAY_FIELD(R12); - DISPLAY_FIELD(R13); - DISPLAY_FIELD(R14); - DISPLAY_FIELD(R15); - - // - // Program counter. - // - - DISPLAY_FIELD(Rip); - - // - // Floating point state. - // - - DISPLAY_FIELD(ControlWord); - DISPLAY_FIELD(StatusWord); - DISPLAY_FIELD(TagWord); - DISPLAY_FIELD(ErrorOpcode); - DISPLAY_FIELD(ErrorOffset); - DISPLAY_FIELD(ErrorSelector); - DISPLAY_FIELD(DataOffset); - DISPLAY_FIELD(DataSelector); - DISPLAY_FIELD(MxCsr2); - DISPLAY_FIELD(MxCsr_Mask); - DISPLAY_FIELD(FloatRegisters[0]); - DISPLAY_FIELD(FloatRegisters[1]); - DISPLAY_FIELD(FloatRegisters[2]); - DISPLAY_FIELD(FloatRegisters[3]); - DISPLAY_FIELD(FloatRegisters[4]); - DISPLAY_FIELD(FloatRegisters[5]); - DISPLAY_FIELD(FloatRegisters[6]); - DISPLAY_FIELD(FloatRegisters[7]); - DISPLAY_FIELD(Xmm0); - DISPLAY_FIELD(Xmm1); - DISPLAY_FIELD(Xmm2); - DISPLAY_FIELD(Xmm3); - DISPLAY_FIELD(Xmm4); - DISPLAY_FIELD(Xmm5); - DISPLAY_FIELD(Xmm6); - DISPLAY_FIELD(Xmm7); - DISPLAY_FIELD(Xmm8); - DISPLAY_FIELD(Xmm9); - DISPLAY_FIELD(Xmm10); - DISPLAY_FIELD(Xmm11); - DISPLAY_FIELD(Xmm12); - DISPLAY_FIELD(Xmm13); - DISPLAY_FIELD(Xmm14); - DISPLAY_FIELD(Xmm15); - - // - // Vector registers. - // - - // M128A VectorRegister[26]; - DISPLAY_FIELD(VectorControl); - - // - // Special debug control registers. - // - - DISPLAY_FIELD(DebugControl); - DISPLAY_FIELD(LastBranchToRip); - DISPLAY_FIELD(LastBranchFromRip); - DISPLAY_FIELD(LastExceptionToRip); - DISPLAY_FIELD(LastExceptionFromRip); - } -}; - -static_assert(offsetof(CONTEXT, Xmm0) == 0x1a0, - "The offset of Xmm0 looks wrong."); - -struct EXCEPTION_RECORD64 { - uint32_t ExceptionCode; - uint32_t ExceptionFlags; - uint64_t ExceptionRecord; - uint64_t ExceptionAddress; - uint32_t NumberParameters; - uint32_t __unusedAlignment; - uint64_t ExceptionInformation[15]; - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("KDMP_PARSER_EXCEPTION_RECORD64"); - DISPLAY_FIELD(ExceptionCode); - DISPLAY_FIELD(ExceptionFlags); - DISPLAY_FIELD(ExceptionRecord); - DISPLAY_FIELD(ExceptionAddress); - DISPLAY_FIELD(NumberParameters); - DISPLAY_FIELD(ExceptionInformation[0]); - DISPLAY_FIELD(ExceptionInformation[1]); - DISPLAY_FIELD(ExceptionInformation[2]); - DISPLAY_FIELD(ExceptionInformation[3]); - DISPLAY_FIELD(ExceptionInformation[4]); - DISPLAY_FIELD(ExceptionInformation[5]); - DISPLAY_FIELD(ExceptionInformation[6]); - DISPLAY_FIELD(ExceptionInformation[7]); - DISPLAY_FIELD(ExceptionInformation[8]); - DISPLAY_FIELD(ExceptionInformation[9]); - DISPLAY_FIELD(ExceptionInformation[10]); - DISPLAY_FIELD(ExceptionInformation[11]); - DISPLAY_FIELD(ExceptionInformation[12]); - DISPLAY_FIELD(ExceptionInformation[13]); - DISPLAY_FIELD(ExceptionInformation[14]); - } -}; - -static_assert(sizeof(EXCEPTION_RECORD64) == 0x98, - "KDMP_PARSER_EXCEPTION_RECORD64's size looks wrong."); - -struct HEADER64 { - static const uint32_t ExpectedSignature = 0x45474150; // 'EGAP' - static const uint32_t ExpectedValidDump = 0x34365544; // '46UD' - - uint32_t Signature; - uint32_t ValidDump; - uint32_t MajorVersion; - uint32_t MinorVersion; - uint64_t DirectoryTableBase; - uint64_t PfnDatabase; - uint64_t PsLoadedModuleList; - uint64_t PsActiveProcessHead; - uint32_t MachineImageType; - uint32_t NumberProcessors; - uint32_t BugCheckCode; - - // - // According to rekall there's a gap here: - // 'BugCheckCode' : [0x38, ['unsigned long']], - // 'BugCheckCodeParameter' : [0x40, ['array', 4, ['unsigned long long']]], - // - - uint8_t Padding0[0x40 - (0x38 + sizeof(BugCheckCode))]; - uint64_t BugCheckCodeParameter[4]; - - // - // According to rekall there's a gap here: - // 'BugCheckCodeParameter' : [0x40, ['array', 4, ['unsigned long long']]], - // 'KdDebuggerDataBlock' : [0x80, ['unsigned long long']], - // - - uint8_t Padding1[0x80 - (0x40 + sizeof(BugCheckCodeParameter))]; - uint64_t KdDebuggerDataBlock; - PHYSMEM_DESC PhysicalMemoryBlockBuffer; - - // - // According to rekall there's a gap here: - // 'PhysicalMemoryBlockBuffer' : [0x88, ['_PHYSICAL_MEMORY_DESCRIPTOR']], - // 'ContextRecord' : [0x348, ['array', 3000, ['unsigned char']]], - // - - uint8_t Padding2[0x348 - (0x88 + sizeof(PhysicalMemoryBlockBuffer))]; - CONTEXT ContextRecord; - - // - // According to rekall there's a gap here: - // 'ContextRecord' : [0x348, ['array', 3000, ['unsigned char']]], - // 'Exception' : [0xf00, ['_EXCEPTION_RECORD64']], - // - - uint8_t Padding3[0xf00 - (0x348 + sizeof(ContextRecord))]; - EXCEPTION_RECORD64 Exception; - DumpType_t DumpType; - - // - // According to rekall there's a gap here: - // 'DumpType' : [0xf98, ['unsigned long']], - // 'RequiredDumpSpace' : [0xfa0, ['unsigned long long']], - // - uint8_t Padding4[0xfa0 - (0xf98 + sizeof(DumpType))]; - uint64_t RequiredDumpSpace; - uint64_t SystemTime; - uint8_t Comment[128]; - uint64_t SystemUpTime; - uint32_t MiniDumpFields; - uint32_t SecondaryDataState; - uint32_t ProductType; - uint32_t SuiteMask; - uint32_t WriterStatus; - uint8_t Unused1; - uint8_t KdSecondaryVersion; - uint8_t Unused[2]; - uint8_t _reserved0[4016]; - BMP_HEADER64 BmpHeader; - - bool LooksGood() const { - - // - // Integrity check the headers. - // - - if (Signature != ExpectedSignature) { - printf("HEADER64::Signature looks wrong.\n"); - return false; - } - - if (ValidDump != ExpectedValidDump) { - printf("HEADER64::ValidDump looks wrong.\n"); - return false; - } - - // - // Make sure it's a dump type we know how to handle. - // - - if (DumpType == DumpType_t::FullDump) { - if (!PhysicalMemoryBlockBuffer.LooksGood()) { - printf("The PhysicalMemoryBlockBuffer looks wrong.\n"); - return false; - } - } else if (DumpType == DumpType_t::BMPDump) { - if (!BmpHeader.LooksGood()) { - printf("The BmpHeader looks wrong.\n"); - return false; - } - } - - // - // Integrity check the CONTEXT record. - // - - if (!ContextRecord.LooksGood()) { - return false; - } - - return true; - } - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("HEADER64"); - DISPLAY_FIELD(Signature); - DISPLAY_FIELD(ValidDump); - DISPLAY_FIELD(MajorVersion); - DISPLAY_FIELD(MinorVersion); - DISPLAY_FIELD(DirectoryTableBase); - DISPLAY_FIELD(PfnDatabase); - DISPLAY_FIELD(PsLoadedModuleList); - DISPLAY_FIELD(PsActiveProcessHead); - DISPLAY_FIELD(MachineImageType); - DISPLAY_FIELD(NumberProcessors); - DISPLAY_FIELD(BugCheckCode); - DISPLAY_FIELD_OFFSET(BugCheckCodeParameter); - DISPLAY_FIELD(KdDebuggerDataBlock); - DISPLAY_FIELD_OFFSET(PhysicalMemoryBlockBuffer); - PhysicalMemoryBlockBuffer.Show(Prefix + 2); - DISPLAY_FIELD_OFFSET(ContextRecord); - ContextRecord.Show(Prefix + 2); - DISPLAY_FIELD_OFFSET(Exception); - Exception.Show(Prefix + 2); - DISPLAY_FIELD(DumpType); - DISPLAY_FIELD(RequiredDumpSpace); - DISPLAY_FIELD(SystemTime); - DISPLAY_FIELD_OFFSET(Comment); - DISPLAY_FIELD(SystemUpTime); - DISPLAY_FIELD(MiniDumpFields); - DISPLAY_FIELD(SecondaryDataState); - DISPLAY_FIELD(ProductType); - DISPLAY_FIELD(SuiteMask); - DISPLAY_FIELD(WriterStatus); - DISPLAY_FIELD(KdSecondaryVersion); - if (DumpType == DumpType_t::BMPDump) { - DISPLAY_FIELD_OFFSET(BmpHeader); - BmpHeader.Show(); - } - } -}; - -// -// Restore the default alignement setting. -// - -#pragma pack(pop) - -// -// Prevent the user to play around with those. -// - -#undef DISPLAY_HEADER -#undef DISPLAY_FIELD - -// -// Those asserts are the results of a lot of frustration getting the right -// layout, so hopefully they prevent any regressions regarding the layout. -// - -static_assert(offsetof(HEADER64, BugCheckCodeParameter) == 0x40, - "The offset of KdDebuggerDataBlock looks wrong."); - -static_assert(offsetof(HEADER64, KdDebuggerDataBlock) == 0x80, - "The offset of KdDebuggerDataBlock looks wrong."); - -static_assert(offsetof(HEADER64, ContextRecord) == 0x348, - "The offset of ContextRecord looks wrong."); - -static_assert(offsetof(HEADER64, Exception) == 0xf00, - "The offset of Exception looks wrong."); - -static_assert(offsetof(HEADER64, Comment) == 0xfb0, - "The offset of Comment looks wrong."); - -static_assert(offsetof(HEADER64, BmpHeader) == 0x2000, - "The offset of BmpHeaders looks wrong."); - -namespace Page { - -// -// Page size. -// - -constexpr uint64_t Size = 0x1000; - -// -// Page align an address. -// - -constexpr uint64_t Align(const uint64_t Address) { return Address & ~0xfff; } - -// -// Extract the page offset off an address. -// - -constexpr uint64_t Offset(const uint64_t Address) { return Address & 0xfff; } -} // namespace Page - -// -// Structure for parsing a PTE. -// - -union MMPTE_HARDWARE { - struct { - uint64_t Present : 1; - uint64_t Write : 1; - uint64_t UserAccessible : 1; - uint64_t WriteThrough : 1; - uint64_t CacheDisable : 1; - uint64_t Accessed : 1; - uint64_t Dirty : 1; - uint64_t LargePage : 1; - uint64_t Available : 4; - uint64_t PageFrameNumber : 36; - uint64_t ReservedForHardware : 4; - uint64_t ReservedForSoftware : 11; - uint64_t NoExecute : 1; - } u; - uint64_t AsUINT64; - constexpr MMPTE_HARDWARE(const uint64_t Value) : AsUINT64(Value) {} -}; - -// -// Structure to parse a virtual address. -// - -union VIRTUAL_ADDRESS { - struct { - uint64_t Offset : 12; - uint64_t PtIndex : 9; - uint64_t PdIndex : 9; - uint64_t PdPtIndex : 9; - uint64_t Pml4Index : 9; - uint64_t Reserved : 16; - } u; - uint64_t AsUINT64; - constexpr VIRTUAL_ADDRESS(const uint64_t Value) : AsUINT64(Value) {} -}; - -static_assert(sizeof(MMPTE_HARDWARE) == 8); -static_assert(sizeof(VIRTUAL_ADDRESS) == 8); -} // namespace kdmpparser \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/lib/kdmp-parser.h b/src/libs/kdmp-parser/src/lib/kdmp-parser.h deleted file mode 100644 index 20cb239..0000000 --- a/src/libs/kdmp-parser/src/lib/kdmp-parser.h +++ /dev/null @@ -1,561 +0,0 @@ -// Axel '0vercl0k' Souchet - February 15 2019 -#pragma once - -#include "filemap.h" -#include "kdmp-parser-structs.h" -#include -#include -#include -#include - -namespace kdmpparser { - -using Physmem_t = std::unordered_map; - -struct BugCheckParameters_t { - uint32_t BugCheckCode; - uint64_t BugCheckCodeParameter[4]; -}; - -class KernelDumpParser { - - // - // The mapped file. - // - - FileMap_t FileMap_; - - // - // Header of the crash-dump. - // - - HEADER64 *DmpHdr_ = nullptr; - - // - // File path to the crash-dump. - // - - const char *PathFile_ = nullptr; - - // - // Mapping between physical addresses / page data. - // - - Physmem_t Physmem_; - -public: - // - // Actually do the parsing of the file. - // - - bool Parse(const char *PathFile) { - - // - // Copy the path file. - // - - PathFile_ = PathFile; - - // - // Map a view of the file. - // - - if (!MapFile()) { - printf("MapFile failed.\n"); - return false; - } - - // - // Parse the DMP_HEADER. - // - - if (!ParseDmpHeader()) { - printf("ParseDmpHeader failed.\n"); - return false; - } - - // - // Retrieve the physical memory according to the type of dump we have. - // - - if (DmpHdr_->DumpType == DumpType_t::FullDump) { - if (!BuildPhysmemFullDump()) { - printf("BuildPhysmemFullDump failed.\n"); - return false; - } - } else if (DmpHdr_->DumpType == DumpType_t::BMPDump) { - if (!BuildPhysmemBMPDump()) { - printf("BuildPhysmemBMPDump failed.\n"); - return false; - } - } - - return true; - } - - // - // Give the Context record to the user. - // - - constexpr const CONTEXT *GetContext() const { - - // - // Give the user a view of the context record. - // - - return &DmpHdr_->ContextRecord; - } - - // - // Give the bugcheck parameters to the user. - // - - constexpr BugCheckParameters_t GetBugCheckParameters() const { - - // - // Give the user a view of the bugcheck parameters. - // - - return { - DmpHdr_->BugCheckCode, - {DmpHdr_->BugCheckCodeParameter[0], DmpHdr_->BugCheckCodeParameter[1], - DmpHdr_->BugCheckCodeParameter[2], DmpHdr_->BugCheckCodeParameter[3]}}; - } - - // - // Get the type of dump. - // - - constexpr DumpType_t GetDumpType() const { return DmpHdr_->DumpType; } - - // - // Get the physmem. - // - - constexpr const Physmem_t &GetPhysmem() const { return Physmem_; } - - // - // Show the exception record. - // - - void ShowExceptionRecord(const uint32_t Prefix) const { - DmpHdr_->Exception.Show(Prefix); - } - - // - // Show the context record. - // - - void ShowContextRecord(const uint32_t Prefix) const { - const CONTEXT &Context = DmpHdr_->ContextRecord; - printf("%*srax=%016" PRIx64 " rbx=%016" PRIx64 " rcx=%016" PRIx64 "\n", - Prefix, "", Context.Rax, Context.Rbx, Context.Rcx); - printf("%*srdx=%016" PRIx64 " rsi=%016" PRIx64 " rdi=%016" PRIx64 "\n", - Prefix, "", Context.Rdx, Context.Rsi, Context.Rdi); - printf("%*srip=%016" PRIx64 " rsp=%016" PRIx64 " rbp=%016" PRIx64 "\n", - Prefix, "", Context.Rip, Context.Rsp, Context.Rbp); - printf("%*s r8=%016" PRIx64 " r9=%016" PRIx64 " r10=%016" PRIx64 "\n", - Prefix, "", Context.R8, Context.R9, Context.R10); - printf("%*sr11=%016" PRIx64 " r12=%016" PRIx64 " r13=%016" PRIx64 "\n", - Prefix, "", Context.R11, Context.R12, Context.R13); - printf("%*sr14=%016" PRIx64 " r15=%016" PRIx64 "\n", Prefix, "", - Context.R14, Context.R15); - printf("%*scs=%04x ss=%04x ds=%04x es=%04x fs=%04x gs=%04x " - " efl=%08x\n", - Prefix, "", Context.SegCs, Context.SegSs, Context.SegDs, - Context.SegEs, Context.SegFs, Context.SegGs, Context.EFlags); - printf("%*sfpcw=%04x fpsw=%04x fptw=%04x\n", Prefix, "", - Context.ControlWord, Context.StatusWord, 1); - printf("%*s st0=%016" PRIx64 "%016" PRIx64 " st1=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.FloatRegisters[0].High, - Context.FloatRegisters[0].Low, Context.FloatRegisters[1].High, - Context.FloatRegisters[1].Low); - printf("%*s st2=%016" PRIx64 "%016" PRIx64 " st3=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.FloatRegisters[2].High, - Context.FloatRegisters[2].Low, Context.FloatRegisters[3].High, - Context.FloatRegisters[3].Low); - printf("%*s st4=%016" PRIx64 "%016" PRIx64 " st5=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.FloatRegisters[4].High, - Context.FloatRegisters[4].Low, Context.FloatRegisters[5].High, - Context.FloatRegisters[5].Low); - printf("%*s st6=%016" PRIx64 "%016" PRIx64 " st7=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.FloatRegisters[6].High, - Context.FloatRegisters[6].Low, Context.FloatRegisters[7].High, - Context.FloatRegisters[7].Low); - printf("%*s xmm0=%016" PRIx64 "%016" PRIx64 " xmm1=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm0.High, Context.Xmm0.Low, Context.Xmm1.High, - Context.Xmm1.Low); - printf("%*s xmm2=%016" PRIx64 "%016" PRIx64 " xmm3=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm2.High, Context.Xmm2.Low, Context.Xmm3.High, - Context.Xmm3.Low); - printf("%*s xmm4=%016" PRIx64 "%016" PRIx64 " xmm5=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm4.High, Context.Xmm4.Low, Context.Xmm5.High, - Context.Xmm5.Low); - printf("%*s xmm6=%016" PRIx64 "%016" PRIx64 " xmm7=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm6.High, Context.Xmm6.Low, Context.Xmm7.High, - Context.Xmm7.Low); - printf("%*s xmm8=%016" PRIx64 "%016" PRIx64 " xmm9=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm8.High, Context.Xmm8.Low, Context.Xmm9.High, - Context.Xmm9.Low); - printf("%*sxmm10=%016" PRIx64 "%016" PRIx64 " xmm11=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm10.High, Context.Xmm10.Low, - Context.Xmm11.High, Context.Xmm11.Low); - printf("%*sxmm12=%016" PRIx64 "%016" PRIx64 " xmm13=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm12.High, Context.Xmm12.Low, - Context.Xmm13.High, Context.Xmm13.Low); - printf("%*sxmm14=%016" PRIx64 "%016" PRIx64 " xmm15=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm14.High, Context.Xmm14.Low, - Context.Xmm15.High, Context.Xmm15.Low); - } - - // - // Show all the structures of the dump. - // - - void ShowAllStructures(const uint32_t Prefix) const { DmpHdr_->Show(Prefix); } - - // - // Get the content of a physical address. - // - - const uint8_t *GetPhysicalPage(const uint64_t PhysicalAddress) const { - - // - // Attempt to find the physical address. - // - - const auto &Pair = Physmem_.find(PhysicalAddress); - - // - // If it doesn't exist then return nullptr. - // - - if (Pair == Physmem_.end()) { - return nullptr; - } - - // - // Otherwise we return a pointer to the content of the page. - // - - return Pair->second; - } - - // - // Get the directory table base. - // - - constexpr uint64_t GetDirectoryTableBase() const { - return DmpHdr_->DirectoryTableBase; - } - - // - // Translate a virtual address to physical address using a directory table - // base. - // - - std::optional - VirtTranslate(const uint64_t VirtualAddress, - const uint64_t DirectoryTableBase = 0) const { - - // - // If DirectoryTableBase is null ; use the one from the dump header and - // clear PCID bits (bits 11:0). - // - - uint64_t LocalDTB = Page::Align(GetDirectoryTableBase()); - - if (DirectoryTableBase) { - LocalDTB = Page::Align(DirectoryTableBase); - } - - // - // Stole code from @yrp604 and @0vercl0k. - // - - const VIRTUAL_ADDRESS GuestAddress(VirtualAddress); - const MMPTE_HARDWARE Pml4(LocalDTB); - const uint64_t Pml4Base = Pml4.u.PageFrameNumber * Page::Size; - const uint64_t Pml4eGpa = Pml4Base + GuestAddress.u.Pml4Index * 8; - const MMPTE_HARDWARE Pml4e(PhyRead8(Pml4eGpa)); - if (!Pml4e.u.Present) { - printf("Invalid page map level 4, address translation failed!\n"); - return {}; - } - - const uint64_t PdptBase = Pml4e.u.PageFrameNumber * Page::Size; - const uint64_t PdpteGpa = PdptBase + GuestAddress.u.PdPtIndex * 8; - const MMPTE_HARDWARE Pdpte(PhyRead8(PdpteGpa)); - if (!Pdpte.u.Present) { - printf("Invalid page directory pointer table, address translation " - "failed!\n"); - return {}; - } - - // - // huge pages: - // 7 (PS) - Page size; must be 1 (otherwise, this entry references a page - // directory; see Table 4-1 - // - - const uint64_t PdBase = Pdpte.u.PageFrameNumber * Page::Size; - if (Pdpte.u.LargePage) { - return PdBase + (VirtualAddress & 0x3fff'ffff); - } - - const uint64_t PdeGpa = PdBase + GuestAddress.u.PdIndex * 8; - const MMPTE_HARDWARE Pde(PhyRead8(PdeGpa)); - if (!Pde.u.Present) { - printf("Invalid page directory entry, address translation failed!\n"); - return {}; - } - - // - // large pages: - // 7 (PS) - Page size; must be 1 (otherwise, this entry references a page - // table; see Table 4-18 - // - - const uint64_t PtBase = Pde.u.PageFrameNumber * Page::Size; - if (Pde.u.LargePage) { - return PtBase + (VirtualAddress & 0x1f'ffff); - } - - const uint64_t PteGpa = PtBase + GuestAddress.u.PtIndex * 8; - const MMPTE_HARDWARE Pte(PhyRead8(PteGpa)); - if (!Pte.u.Present) { - printf("Invalid page table entry, address translation failed!\n"); - return {}; - } - - const uint64_t PageBase = Pte.u.PageFrameNumber * Page::Size; - return PageBase + GuestAddress.u.Offset; - } - - // - // Get the content of a virtual address. - // - - const uint8_t *GetVirtualPage(const uint64_t VirtualAddress, - const uint64_t DirectoryTableBase = 0) const { - - // - // First remove offset and translate the virtual address. - // - - const auto &PhysicalAddress = - VirtTranslate(Page::Align(VirtualAddress), DirectoryTableBase); - - if (!PhysicalAddress) { - return nullptr; - } - - // - // Then get the physical page. - // - - return GetPhysicalPage(*PhysicalAddress); - } - -private: - // - // Utility function to read an uint64_t from a physical address. - // - - uint64_t PhyRead8(const uint64_t PhysicalAddress) const { - - // - // Get the physical page and read from the offset. - // - - const uint8_t *PhysicalPage = GetPhysicalPage(Page::Align(PhysicalAddress)); - - if (!PhysicalPage) { - printf("Internal page table parsing failed!\n"); - return 0; - } - - const uint64_t *Ptr = - (uint64_t *)(PhysicalPage + Page::Offset(PhysicalAddress)); - return *Ptr; - } - - // - // Build a map of physical addresses / page data pointers for full dump. - // - - bool BuildPhysmemFullDump() { - - // - // Walk through the runs. - // - - uint8_t *RunBase = (uint8_t *)&DmpHdr_->BmpHeader; - const uint32_t NumberOfRuns = - DmpHdr_->PhysicalMemoryBlockBuffer.NumberOfRuns; - - // - // Back at it, this time building the index! - // - - for (uint32_t RunIdx = 0; RunIdx < NumberOfRuns; RunIdx++) { - - // - // Grab the current run as well as its base page and page count. - // - - const PHYSMEM_RUN *Run = DmpHdr_->PhysicalMemoryBlockBuffer.Run + RunIdx; - - const uint64_t BasePage = Run->BasePage; - const uint64_t PageCount = Run->PageCount; - - // - // Walk the pages from the run. - // - - for (uint64_t PageIdx = 0; PageIdx < PageCount; PageIdx++) { - - // - // Compute the current PFN as well as the actual physical address of the - // page. - // - - const uint64_t Pfn = BasePage + PageIdx; - const uint64_t Pa = Pfn * Page::Size; - - // - // Now one thing to understand is that the Runs structure allows to skip - // for holes in memory. Instead of, padding them with empty spaces to - // conserve a 1:1 mapping between physical address and file offset, the - // Run gives you the base Pfn. This means that we don't have a 1:1 - // mapping between file offset and physical addresses so we need to keep - // track of where the Run starts in memory and then we can simply access - // our pages one after the other. - // - // If this is not clear enough, here is a small example: - // Run[0] - // BasePage = 1337, PageCount = 2 - // Run[1] - // BasePage = 1400, PageCount = 1 - // - // In the above we clearly see that there is a hole between the two - // runs; the dump file has 2+1 memory pages. Their Pfns are: 1337+0, - // 1337+1, 1400+0. - // - // Now if we want to get the file offset of those pages we start at - // Run0: - // Run0 starts at file offset 0x2000 so Page0 is at file offset - // 0x2000, Page1 is at file offset 0x3000. Run1 starts at file offset - // 0x2000+(2*0x1000) so Page3 is at file offset - // 0x2000+(2*0x1000)+0x1000. - // - // That is the reason why the computation below is RunBase + (PageIdx * - // 0x1000) instead of RunBase + (Pfn * 0x1000). - - const uint8_t *PageBase = RunBase + (PageIdx * Page::Size); - - // - // Map the Pfn to a page. - // - - Physmem_.try_emplace(Pa, PageBase); - } - - // - // Move the run base past all the pages in the current run. - // - - RunBase += PageCount * Page::Size; - } - - return true; - } - - // - // Build a map of physical addresses / page data pointers for BMP dump. - // - - bool BuildPhysmemBMPDump() { - const uint8_t *Page = (uint8_t *)DmpHdr_ + DmpHdr_->BmpHeader.FirstPage; - const uint64_t BitmapSize = DmpHdr_->BmpHeader.Pages / 8; - const uint8_t *Bitmap = DmpHdr_->BmpHeader.Bitmap; - - // - // Walk the bitmap byte per byte. - // - - for (uint64_t BitmapIdx = 0; BitmapIdx < BitmapSize; BitmapIdx++) { - - // - // Now walk the bits of the current byte. - // - - const uint8_t Byte = Bitmap[BitmapIdx]; - for (uint8_t BitIdx = 0; BitIdx < 8; BitIdx++) { - - // - // If the bit is not set we just skip to the next. - // - - const bool BitSet = ((Byte >> BitIdx) & 1) == 1; - if (!BitSet) { - continue; - } - - // - // If the bit is one we add the page to the physmem. - // - - const uint64_t Pfn = (BitmapIdx * 8) + BitIdx; - const uint64_t Pa = Pfn * Page::Size; - Physmem_.try_emplace(Pa, Page); - Page += Page::Size; - } - } - - return true; - } - - // - // Parse the DMP_HEADER. - // - - bool ParseDmpHeader() { - - // - // The base of the view points on the HEADER64. - // - - DmpHdr_ = (HEADER64 *)FileMap_.ViewBase(); - - // - // Now let's make sure the structures look right. - // - - if (!DmpHdr_->LooksGood()) { - printf("The header looks wrong.\n"); - return false; - } - - return true; - } - - // - // Map a view of the file in memory. - // - - bool MapFile() { return FileMap_.MapFile(PathFile_); } -}; -} // namespace kdmpparser diff --git a/src/libs/kdmp-parser/src/lib/platform.h b/src/libs/kdmp-parser/src/lib/platform.h deleted file mode 100644 index a858d2d..0000000 --- a/src/libs/kdmp-parser/src/lib/platform.h +++ /dev/null @@ -1,43 +0,0 @@ -// Axel '0vercl0k' Souchet - April 18 2020 -#pragma once - -#if defined(__i386__) || defined(_M_IX86) -#define ARCH_X86 -#elif defined(__amd64__) || defined(_M_X64) -#define ARCH_X64 -#else -#error Platform not supported. -#endif - -#if defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64) -#define WINDOWS -#define SYSTEM_PLATFORM "Windows" - -#include -#if defined ARCH_X86 -#define WINDOWS_X86 -#elif defined ARCH_X64 -#define WINDOWS_X64 -#endif -#elif defined(linux) || defined(__linux) || defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || defined(__MACH__) -#define LINUX - -#if defined(linux) || defined(__linux) -#define SYSTEM_PLATFORM "Linux" -#else -#error An error occured -#endif - -#define EXIT_FAILURE 1 -#define EXIT_SUCCESS 0 - -#if defined ARCH_X86 -#define LINUX_X86 -#elif defined ARCH_X64 -#define LINUX_X64 -#endif - -#else -#error Platform not supported. -#endif diff --git a/src/libs/kdmp-parser/src/parser/CMakeLists.txt b/src/libs/kdmp-parser/src/parser/CMakeLists.txt deleted file mode 100644 index c72ad51..0000000 --- a/src/libs/kdmp-parser/src/parser/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Axel '0vercl0k' Souchet - April 18 2020 -link_libraries(kdmp-parser) -add_executable(parser parser.cc) diff --git a/src/libs/kdmp-parser/src/parser/parser.cc b/src/libs/kdmp-parser/src/parser/parser.cc deleted file mode 100644 index 88ebd71..0000000 --- a/src/libs/kdmp-parser/src/parser/parser.cc +++ /dev/null @@ -1,367 +0,0 @@ -// Axel '0vercl0k' Souchet - February 15 2019 -#include "kdmp-parser.h" - -#include -#include -#include -#include -#include - -// -// Delimiter. -// - -#define DELIMITER \ - "----------------------------------------------------------------------" \ - "----------" - -// -// The options available for the parser. -// - -struct Options_t { - - // - // This is enabled if -h is used. - // - - bool ShowHelp = false; - - // - // This is enabled if -c is used. - // - - bool ShowContextRecord = false; - - // - // This is enabled if -a is used. - // - - bool ShowAllStructures = false; - - // - // This is enabled if -e is used. - // - - bool ShowExceptionRecord = false; - - // - // This is enable if -p is used. - // - - bool ShowPhysicalMem = false; - - // - // This is on if the user specified a physical address. - // - - bool HasPhysicalAddress = false; - - // - // If an optional physical address has been passed to -p then this is the - // physical address. - - uint64_t PhysicalAddress = 0; - - // - // The path to the dump file. - // - - std::string_view DumpPath; -}; - -// -// Display usage -// - -void Help() { - printf("parser.exe [-p []] [-c] [-e] [-h] \n"); - printf("\n"); - printf("Examples:\n"); - printf(" Show every structures of the dump:\n"); - printf(" parser.exe -a full.dmp\n"); - printf("\n"); - printf(" Show the context record:\n"); - printf(" parser.exe -c full.dmp\n"); - printf("\n"); - printf(" Show the exception record:\n"); - printf(" parser.exe -e full.dmp\n"); - printf("\n"); - printf(" Show all the physical memory (first 16 bytes of every " - "pages):\n"); - printf(" parser.exe -p full.dmp\n"); - printf("\n"); - printf(" Show the context record as well as the page at physical " - "address 0x1000:\n"); - printf(" parser.exe -c -p 0x1000 full.dmp\n"); -} - -// -// Copied from https://github.com/pvachon/tsl/blob/master/tsl/hexdump.c. -// Phil is the man. -// - -void Hexdump(const uint64_t Address, const void *Buffer, size_t Len) { - const uint8_t *ptr = (uint8_t *)Buffer; - - for (size_t i = 0; i < Len; i += 16) { - printf("%08" PRIx64 ": ", Address + i); - for (int j = 0; j < 16; j++) { - if (i + j < Len) { - printf("%02x ", ptr[i + j]); - } else { - printf(" "); - } - } - printf(" |"); - for (int j = 0; j < 16; j++) { - if (i + j < Len) { - printf("%c", isprint(ptr[i + j]) ? (char)ptr[i + j] : '.'); - } else { - printf(" "); - } - } - printf("|\n"); - } -} - -// -// Let's do some work! -// - -int main(int argc, const char *argv[]) { - - // - // This holds the options passed to the program. - // - - Options_t Opts; - - // - // Parse the arguments passed to the program. - // - - for (int ArgIdx = 1; ArgIdx < argc; ArgIdx++) { - const std::string_view Arg(argv[ArgIdx]); - const int IsLastArg = (ArgIdx + 1) >= argc; - - if (Arg == "-c") { - - // - // Show the context record. - // - - Opts.ShowContextRecord = 1; - } else if (Arg == "-p") { - - // - // Show the physical memory. - // - - Opts.ShowPhysicalMem = 1; - - // - // If the next argument is not the last one, we assume that it is followed - // by a physical address. - // - - const int NextArgIdx = ArgIdx + 1; - const bool IsNextArgLast = (NextArgIdx + 1) >= argc; - - if (!IsNextArgLast) { - - // - // In which case we convert it to an actual integer. - // - - Opts.HasPhysicalAddress = true; - Opts.PhysicalAddress = strtoull(argv[NextArgIdx], nullptr, 0); - - // - // Skip the next argument. - // - - ArgIdx++; - } - } else if (Arg == "-e") { - - // - // Show the exception record. - // - - Opts.ShowExceptionRecord = 1; - } else if (Arg == "-a") { - - // - // Show all the structures. - // - - Opts.ShowAllStructures = true; - } else if (Arg == "-h") { - - // - // Show the help. - // - - Opts.ShowHelp = true; - } else if (IsLastArg) { - - // - // If this is the last argument then this must be the dump path. - // - - Opts.DumpPath = Arg; - } else { - - // - // Otherwise it seems that the user passed something wrong? - // - - printf("The argument %s is not recognized.\n\n", Arg.data()); - Help(); - return EXIT_FAILURE; - } - } - - // - // Show the help. - // - - if (Opts.ShowHelp) { - Help(); - return EXIT_SUCCESS; - } - - // - // The only thing we actually need is a file path. So let's make sure we - // have one. - // - - if (Opts.DumpPath.empty()) { - printf("You didn't provide the path to the dump file.\n\n"); - Help(); - return EXIT_FAILURE; - } - - // - // If we only have a path, at least force to dump the context - // structure. - // - - if (!Opts.ShowContextRecord && !Opts.ShowPhysicalMem && - !Opts.ShowAllStructures && !Opts.ShowExceptionRecord) { - printf("Forcing to show the context record as no option as been " - "passed.\n\n"); - Opts.ShowContextRecord = 1; - } - - // - // Create the parser instance. - // - - kdmpparser::KernelDumpParser Dmp; - - // - // Parse the dump file. - // - - if (!Dmp.Parse(Opts.DumpPath.data())) { - printf("Parsing of the dump failed, exiting.\n"); - return EXIT_FAILURE; - } - - // - // If the user wants all the structures, then show them. - // - - if (Opts.ShowAllStructures) { - printf(DELIMITER "\nDump structures:\n"); - Dmp.ShowAllStructures(2); - } - - // - // If the user wants the context, then show it. - // - - if (Opts.ShowContextRecord) { - printf(DELIMITER "\nContext Record:\n"); - Dmp.ShowContextRecord(2); - } - - // - // If the user wants the exception record, then show it. - // - - if (Opts.ShowExceptionRecord) { - printf(DELIMITER "\nException Record:\n"); - Dmp.ShowExceptionRecord(2); - } - - // - // If the user wants some physical memory, then show it. - // - - if (Opts.ShowPhysicalMem) { - printf(DELIMITER "\nPhysical memory:\n"); - - // - // If the user specified a physical address this is the one we - // will dump. - // - - if (Opts.PhysicalAddress) { - - // - // Retrieve the page for the specified PhysicalAddress. - // If it doesn't exist then display a message, else dump it on stdout. - // - - const uint8_t *Page = Dmp.GetPhysicalPage(Opts.PhysicalAddress); - if (Page == nullptr) { - printf("0x%" PRIx64 " is not a valid physical address.\n", - Opts.PhysicalAddress); - } else { - Hexdump(Opts.PhysicalAddress, Page, 0x1000); - } - } else { - - // - // If the user didn't specify a physical address then dump the first - // 16 bytes of every physical pages. - // - // Note that as the physmem is unordered, so we order the addresses here - // so that it is nicer for the user as they probably don't expect unorder. - // - - const auto &Physmem = Dmp.GetPhysmem(); - std::vector OrderedPhysicalAddresses; - OrderedPhysicalAddresses.reserve(Physmem.size()); - - // - // Stuff the physical addresses in a vector. - // - - for (const auto &[PhysicalAddress, _] : Dmp.GetPhysmem()) { - OrderedPhysicalAddresses.emplace_back(PhysicalAddress); - } - - // - // Sort them. - // - - std::sort(OrderedPhysicalAddresses.begin(), - OrderedPhysicalAddresses.end()); - - // - // And now we can iterate through them and get the page content. - // - - for (const auto PhysicalAddress : OrderedPhysicalAddresses) { - const uint8_t *Page = Dmp.GetPhysicalPage(PhysicalAddress); - Hexdump(PhysicalAddress, Page, 16); - } - } - } - - return EXIT_SUCCESS; -} \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/python/CMakeLists.txt b/src/libs/kdmp-parser/src/python/CMakeLists.txt deleted file mode 100644 index c33d938..0000000 --- a/src/libs/kdmp-parser/src/python/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -# Mastho - 2020 -find_package(Python3 COMPONENTS Interpreter Development) - -message("Python3_Interpreter_FOUND:${Python3_Interpreter_FOUND}") -message("Python3_Development_FOUND:${Python3_Development_FOUND}") -message("Python3_LIBRARY_DIRS:${Python3_LIBRARY_DIRS}") - -# Python on Windows Debug build only load $_d.pyd and require python_d.exe -if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND WIN32) - set(PYMODULE kdmp_d CACHE INTERNAL "") -else() - set(PYMODULE kdmp CACHE INTERNAL "") -endif() - -# Require Python3 interpreter and development libs -if(NOT Python3_Interpreter_FOUND OR (NOT Python3_Development_FOUND) OR (CMAKE_BUILD_TYPE STREQUAL "Debug" AND WIN32 AND NOT Python3_LIBRARY_DEBUG)) - message(WARNING "Python3 development library not found") - set(PYMODULE "" CACHE INTERNAL "") - return() -endif() - -add_library(${PYMODULE} SHARED python-kdmp.cc) -target_include_directories(${PYMODULE} PRIVATE ${Python3_INCLUDE_DIRS}) -target_link_directories(${PYMODULE} PRIVATE ${Python3_LIBRARY_DIRS} kdmp-parser) -target_link_libraries(${PYMODULE} PRIVATE kdmp-parser) - -# On Windows Python load $.pyd :: On Linux remove lib$ prefix -if(WIN32) - set_target_properties(${PYMODULE} PROPERTIES SUFFIX ".pyd") -else() - set_target_properties(${PYMODULE} PROPERTIES PREFIX "") -endif() - diff --git a/src/libs/kdmp-parser/src/python/python-kdmp.cc b/src/libs/kdmp-parser/src/python/python-kdmp.cc deleted file mode 100644 index 7f0b7bb..0000000 --- a/src/libs/kdmp-parser/src/python/python-kdmp.cc +++ /dev/null @@ -1,325 +0,0 @@ -// Mastho - 2020 -// Axel '0vercl0k' Souchet - December 27 2020 -#include "python-kdmp.h" - -// -// Python Dump instance creation (allocate and initialize kernel dump object). -// >>> Dump(filepath) -// - -PyObject *NewDumpParser(PyTypeObject *Type, PyObject *Args, PyObject *) { - - // - // Allocate and zero PythonDumpParser. - // - - auto *Self = PyObject_New(PythonDumpParser, Type); - Self->DumpParser = nullptr; - - // - // Parse Python argument (expect a string i.e. the file path of the dump). - // *PyErr_Format returns nullptr to raise the exception* - // - - char *DumpPath = nullptr; - if (!PyArg_ParseTuple(Args, "s", &DumpPath)) { - DeleteDumpParser((PyObject *)Self); - return PyErr_Format(PyExc_TypeError, "Dump() expected a string"); - } - - // - // Initialize the internal KernelDumpParser and validate the dump file. - // - - Self->DumpParser = new kdmpparser::KernelDumpParser(); - if (!Self->DumpParser->Parse(DumpPath)) { - DeleteDumpParser((PyObject *)Self); - return PyErr_Format(PyExc_ValueError, "Dump() invalid path"); - } - - // - // Return the new instance of PythonDumpParser to Python. - // - - return (PyObject *)Self; -} - -// -// Python Dump instance destruction. -// >>> del dump_instance -// - -void DeleteDumpParser(PyObject *Object) { - - // - // Release internal KernelDumpParser object. - // - - auto *Self = (PythonDumpParser *)Object; - - if (Self->DumpParser) { - delete Self->DumpParser; - Self->DumpParser = nullptr; - } - - // - // Free type reference and self. - // - - PyObject_Del(Object); -} - -// -// Python Dump instance method to retrieve the DumpType. -// >>> dump_instance.type() # return int -// - -PyObject *DumpParserGetType(PyObject *Object, PyObject *) { - - // - // Get the dump type (FullDump, KernelDump or BMPDump). - // - - const auto *Self = (PythonDumpParser *)Object; - const auto DumpType = Self->DumpParser->GetDumpType(); - return PyLong_FromUnsignedLong(static_cast(DumpType)); -} - -// -// Python Dump instance method to retrieve the register context. -// >>> dump_instance.context() # return dict(str -> int) -// - -PyObject *DumpParserGetContext(PyObject *Object, PyObject *) { - - // - // Get the dump context (commons registers). - // - - const auto *Self = (PythonDumpParser *)Object; - const auto *C = Self->DumpParser->GetContext(); - - // - // Create a Python dict object with lowercase register name and value. - // - - PyObject *Context = PyDict_New(); - - PyDict_SetItemString(Context, "rax", PyLong_FromUnsignedLongLong(C->Rax)); - PyDict_SetItemString(Context, "rbx", PyLong_FromUnsignedLongLong(C->Rbx)); - PyDict_SetItemString(Context, "rcx", PyLong_FromUnsignedLongLong(C->Rcx)); - PyDict_SetItemString(Context, "rdx", PyLong_FromUnsignedLongLong(C->Rdx)); - PyDict_SetItemString(Context, "rsi", PyLong_FromUnsignedLongLong(C->Rsi)); - PyDict_SetItemString(Context, "rdi", PyLong_FromUnsignedLongLong(C->Rdi)); - PyDict_SetItemString(Context, "rip", PyLong_FromUnsignedLongLong(C->Rip)); - PyDict_SetItemString(Context, "rsp", PyLong_FromUnsignedLongLong(C->Rsp)); - PyDict_SetItemString(Context, "rbp", PyLong_FromUnsignedLongLong(C->Rbp)); - PyDict_SetItemString(Context, "r8", PyLong_FromUnsignedLongLong(C->R8)); - PyDict_SetItemString(Context, "r9", PyLong_FromUnsignedLongLong(C->R9)); - PyDict_SetItemString(Context, "r10", PyLong_FromUnsignedLongLong(C->R10)); - PyDict_SetItemString(Context, "r11", PyLong_FromUnsignedLongLong(C->R11)); - PyDict_SetItemString(Context, "r12", PyLong_FromUnsignedLongLong(C->R12)); - PyDict_SetItemString(Context, "r13", PyLong_FromUnsignedLongLong(C->R13)); - PyDict_SetItemString(Context, "r14", PyLong_FromUnsignedLongLong(C->R14)); - PyDict_SetItemString(Context, "r15", PyLong_FromUnsignedLongLong(C->R15)); - - // - // Get the DirectoryTableBase from the dump and return the created dict to - // Python. - // - PyDict_SetItemString( - Context, "dtb", - PyLong_FromUnsignedLongLong(Self->DumpParser->GetDirectoryTableBase())); - - return Context; -} - -// -// Python Dump instance method to retrieve the bugcheck parameters. -// >>> dump_instance.bugcheck() # return dict -// - -PyObject *DumpParserGetBugCheckParameters(PyObject *Object, PyObject *) { - - // - // Retrieve the bugcheck parameters. - // - - const auto *Self = (PythonDumpParser *)Object; - const auto Parameters = Self->DumpParser->GetBugCheckParameters(); - - const uint64_t NumberParams = sizeof(Parameters.BugCheckCodeParameter) / - sizeof(Parameters.BugCheckCodeParameter[0]); - PyObject *PythonParamsList = PyList_New(NumberParams); - - for (uint64_t Idx = 0; Idx < NumberParams; Idx++) { - PyList_SetItem( - PythonParamsList, Idx, - PyLong_FromUnsignedLongLong(Parameters.BugCheckCodeParameter[Idx])); - } - - // - // Create a Python dict object with code and parameters. - // - - PyObject *PythonParams = PyDict_New(); - - PyDict_SetItemString(PythonParams, "code", - PyLong_FromUnsignedLong(Parameters.BugCheckCode)); - PyDict_SetItemString(PythonParams, "parameters", PythonParamsList); - - return PythonParams; -} - -// -// Python Dump instance method to get a physical page from a physical address. -// >>> dump_instance.get_physical_page(addr) # return bytes -// - -PyObject *DumpParserGetPhysicalPage(PyObject *Object, PyObject *Args) { - - // - // Parse Python argument (expect one unsigned long long integer). - // - - const auto *Self = (PythonDumpParser *)Object; - - uint64_t PhysicalAddress = 0; - if (!PyArg_ParseTuple(Args, "K", &PhysicalAddress)) { - return PyErr_Format(PyExc_TypeError, - "get_physical_page() expected an integer"); - } - - // - // Get the physical page and return it as bytes. - // - - const uint8_t *Page = Self->DumpParser->GetPhysicalPage(PhysicalAddress); - if (Page == nullptr) { - return PyErr_Format(PyExc_ValueError, - "get_physical_page() invalid address"); - } - - return PyBytes_FromStringAndSize((char *)Page, kdmpparser::Page::Size); -} - -// -// Python Dump instance method to perform address translation (physical to -// virtual). -// >>> dump_instance.virt_translate(addr, [dtb]) # return int -// - -PyObject *DumpParserVirtTranslate(PyObject *Object, PyObject *Args) { - - // - // Parse Python argument (expect one or two unsigned long long integer). - // - - const auto *Self = (PythonDumpParser *)Object; - - uint64_t VirtualAddress = 0; - uint64_t DirectoryTableBase = 0; - if (!PyArg_ParseTuple(Args, "K|K", &VirtualAddress, &DirectoryTableBase)) { - return PyErr_Format(PyExc_TypeError, - "virt_translate() expected one or two integers"); - } - - // - // Retrieve the physical address (parse pages tables in the dump). - // - - const auto &PhysicalAddress = - Self->DumpParser->VirtTranslate(VirtualAddress, DirectoryTableBase); - - if (!PhysicalAddress) { - return PyErr_Format(PyExc_ValueError, "virt_translate() invalid address"); - } - - return PyLong_FromUnsignedLongLong(*PhysicalAddress); -} - -// -// Python Dump instance method to get a page from a virtual address. -// >>> dump_instance.get_virtual_page(addr, [dtb]) # return bytes -// - -PyObject *DumpParserGetVirtualPage(PyObject *Object, PyObject *Args) { - - // - // Parse Python argument (expect one or two unsigned long long integer). - // - - const auto *Self = (PythonDumpParser *)Object; - - uint64_t VirtualAddress = 0; - uint64_t DirectoryTableBase = 0; - if (!PyArg_ParseTuple(Args, "K|K", &VirtualAddress, &DirectoryTableBase)) { - return PyErr_Format(PyExc_TypeError, - "get_virtual_page() expected one or two integer"); - } - - const uint8_t *Page = - Self->DumpParser->GetVirtualPage(VirtualAddress, DirectoryTableBase); - if (Page == nullptr) { - return PyErr_Format(PyExc_ValueError, "get_virtual_page() invalid address"); - } - - return PyBytes_FromStringAndSize((char *)Page, kdmpparser::Page::Size); -} - -// -// KDMP Module initialization function. -// - -PyMODINIT_FUNC PyInit_kdmp() { - - // - // Initialize python. - // - - Py_Initialize(); - - // - // Expose the kdmp module. - // - - PyObject *M = PyModule_Create(&KDMPModule); - if (M == nullptr) { - return nullptr; - } - - // - // Register PythonDumpParserType. - // - - PyObject *Ty = PyType_FromSpec(&TySpec); - if (Ty == nullptr) { - return nullptr; - } - - KDMPState(M)->PythonDumpParserType = (PyTypeObject *)Ty; - - // - // Expose the PythonDumpParserType to Python in kdmp module. - // >>> kdmp.Dump class - // - - Py_INCREF(Ty); - if (PyModule_AddObject(M, "Dump", Ty) < 0) { - Py_DECREF(Ty); - Py_DECREF(M); - return nullptr; - } - - // - // Expose DumpType constants to Python. - // >>> kdmp.FullDump ... - // - - PyModule_AddIntConstant(M, "FullDump", - long(kdmpparser::DumpType_t::FullDump)); - PyModule_AddIntConstant(M, "KernelDump", - long(kdmpparser::DumpType_t::KernelDump)); - PyModule_AddIntConstant(M, "BMPDump", long(kdmpparser::DumpType_t::BMPDump)); - return M; -} diff --git a/src/libs/kdmp-parser/src/python/python-kdmp.h b/src/libs/kdmp-parser/src/python/python-kdmp.h deleted file mode 100644 index 81c6306..0000000 --- a/src/libs/kdmp-parser/src/python/python-kdmp.h +++ /dev/null @@ -1,104 +0,0 @@ -// Mastho - 2020 -// Axel '0vercl0k' Souchet - December 27 2020 -#pragma once - -// -// PEP-384 -// """ -// Applications shall only include the header file Python.h (before including -// any system headers). -// - -#define Py_LIMITED_API -#include - -#include "kdmp-parser.h" - -// -// Python object handling all interactions with the library. -// - -struct PythonDumpParser { - PyObject_HEAD kdmpparser::KernelDumpParser *DumpParser = nullptr; -}; - -// -// Python Dump type functions declarations (class instance creation and instance -// destruction). -// - -PyObject *NewDumpParser(PyTypeObject *Type, PyObject *Args, PyObject *Kwds); -void DeleteDumpParser(PyObject *Object); - -// -// Python Dump object methods functions declarations. -// - -PyObject *DumpParserGetType(PyObject *Object, PyObject *); -PyObject *DumpParserGetContext(PyObject *Object, PyObject *); -PyObject *DumpParserGetPhysicalPage(PyObject *Object, PyObject *Args); -PyObject *DumpParserVirtTranslate(PyObject *Object, PyObject *Args); -PyObject *DumpParserGetVirtualPage(PyObject *Object, PyObject *Args); -PyObject *DumpParserGetBugCheckParameters(PyObject *Object, PyObject *); - -// -// Object methods of Python Dump type. -// - -PyMethodDef DumpObjectMethod[] = { - {"type", DumpParserGetType, METH_NOARGS, - "Show Dump Type (FullDump, KernelDump, BMPDump)"}, - {"context", DumpParserGetContext, METH_NOARGS, "Get Register Context"}, - {"get_physical_page", DumpParserGetPhysicalPage, METH_VARARGS, - "Get Physical Page Content"}, - {"virt_translate", DumpParserVirtTranslate, METH_VARARGS, - "Translate Virtual to Physical Address"}, - {"get_virtual_page", DumpParserGetVirtualPage, METH_VARARGS, - "Get Virtual Page Content"}, - {"bugcheck", DumpParserGetBugCheckParameters, METH_NOARGS, - "Get BugCheck Parameters"}, - {nullptr, nullptr, 0, nullptr}}; - -// -// Define Slots/Spec (name, initialization & destruction -// functions and object methods). -// - -PyType_Slot TySlots[] = { - {Py_tp_doc, (void *)"Dump object"}, - {Py_tp_new, (void *)NewDumpParser}, - {Py_tp_dealloc, (void *)DeleteDumpParser}, - {Py_tp_methods, DumpObjectMethod}, - {0, 0}, -}; - -PyType_Spec TySpec = {"kdmp.Dump", sizeof(PythonDumpParser), 0, - Py_TPFLAGS_DEFAULT, TySlots}; - -// -// KDMP Module definition. -// - -struct KDMPState { - PyTypeObject *PythonDumpParserType = nullptr; -}; - -struct PyModuleDef KDMPModule = { - PyModuleDef_HEAD_INIT, /* m_base */ - "kdmp", /* m_name */ - "KDMP module", /* m_doc */ - sizeof(KDMPState), /* m_size */ - nullptr, /* m_methods */ - nullptr, /* m_slots */ - nullptr, /* m_traverse */ - nullptr, /* m_clear */ - nullptr, /* m_free */ -}; - -// -// KDMP Module initialization function. -// - -PyMODINIT_FUNC PyInit_kdmp(); - -#define KDMPState(o) ((KDMPState *)PyModule_GetState(o)) diff --git a/src/libs/kdmp-parser/src/testapp/CMakeLists.txt b/src/libs/kdmp-parser/src/testapp/CMakeLists.txt deleted file mode 100644 index 84c534e..0000000 --- a/src/libs/kdmp-parser/src/testapp/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -# Axel '0vercl0k' Souchet - April 18 2020 -link_libraries(kdmp-parser) -add_executable(testapp testapp.cc) diff --git a/src/libs/kdmp-parser/src/testapp/testapp.cc b/src/libs/kdmp-parser/src/testapp/testapp.cc deleted file mode 100644 index eb23ba1..0000000 --- a/src/libs/kdmp-parser/src/testapp/testapp.cc +++ /dev/null @@ -1,170 +0,0 @@ -// Axel '0vercl0k' Souchet - February 15 2019 -#include "kdmp-parser.h" -#include - -int main(int argc, const char *argv[]) { - if (argc != 2) { - printf("test.exe \n"); - return EXIT_FAILURE; - } - - kdmpparser::KernelDumpParser Dmp; - if (!Dmp.Parse(argv[1])) { - return EXIT_FAILURE; - } - - // - // kd> r - // rax=0000000000000003 rbx=fffff8050f4e9f70 rcx=0000000000000001 - // rdx=fffff805135684d0 rsi=0000000000000100 rdi=fffff8050f4e9f80 - // rip=fffff805108776a0 rsp=fffff805135684f8 rbp=fffff80513568600 - // r8=0000000000000003 r9=fffff805135684b8 r10=0000000000000000 - // r11=ffffa8848825e000 r12=fffff8050f4e9f80 r13=fffff80510c3c958 - // r14=0000000000000000 r15=0000000000000052 - // iopl=0 nv up ei pl nz na pe nc - // cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040202 - // - - const kdmpparser::CONTEXT *C = Dmp.GetContext(); - if (C->Rax != 0x0000000000000003ULL) { - printf("Rax(0x%016" PRIx64 ") does not match with 0x0000000000000003.", - C->Rax); - return EXIT_FAILURE; - } - - if (C->Rbx != 0xfffff8050f4e9f70ULL) { - printf("Rbx(0x%016" PRIx64 ") does not match with 0xfffff8050f4e9f70.", - C->Rbx); - return EXIT_FAILURE; - } - - if (C->Rcx != 0x0000000000000001ULL) { - printf("Rcx(0x%016" PRIx64 ") does not match with 0x0000000000000001.", - C->Rcx); - return EXIT_FAILURE; - } - - if (C->Rdx != 0xfffff805135684d0ULL) { - printf("Rdx(0x%016" PRIx64 ") does not match with 0xfffff805135684d0.", - C->Rdx); - return EXIT_FAILURE; - } - - if (C->Rsi != 0x0000000000000100ULL) { - printf("Rsi(0x%016" PRIx64 ") does not match with 0x0000000000000100.", - C->Rsi); - return EXIT_FAILURE; - } - - if (C->Rdi != 0xfffff8050f4e9f80ULL) { - printf("Rdi(0x%016" PRIx64 ") does not match with 0xfffff8050f4e9f80.", - C->Rdi); - return EXIT_FAILURE; - } - - if (C->Rip != 0xfffff805108776a0ULL) { - printf("Rip(0x%016" PRIx64 ") does not match with 0xfffff805108776a0.", - C->Rip); - return EXIT_FAILURE; - } - - if (C->Rsp != 0xfffff805135684f8ULL) { - printf("Rsp(0x%016" PRIx64 ") does not match with 0xfffff805135684f8.", - C->Rsp); - return EXIT_FAILURE; - } - - if (C->Rbp != 0xfffff80513568600ULL) { - printf("Rbp(0x%016" PRIx64 ") does not match with 0xfffff80513568600.", - C->Rbp); - return EXIT_FAILURE; - } - - if (C->R8 != 0x0000000000000003ULL) { - printf("R8(0x%016" PRIx64 ") does not match with 0x0000000000000003.", - C->R8); - return EXIT_FAILURE; - } - - if (C->R9 != 0xfffff805135684b8ULL) { - printf("R9(0x%016" PRIx64 ") does not match with 0xfffff805135684b8.", - C->R9); - return EXIT_FAILURE; - } - - if (C->R10 != 0x0000000000000000ULL) { - printf("R10(0x%016" PRIx64 ") does not match with 0x0000000000000000.", - C->R10); - return EXIT_FAILURE; - } - - if (C->R11 != 0xffffa8848825e000ULL) { - printf("R11(0x%016" PRIx64 ") does not match with 0xffffa8848825e000.", - C->R11); - return EXIT_FAILURE; - } - - if (C->R12 != 0xfffff8050f4e9f80ULL) { - printf("R12(0x%016" PRIx64 ") does not match with 0xfffff8050f4e9f80.", - C->R12); - return EXIT_FAILURE; - } - - if (C->R13 != 0xfffff80510c3c958ULL) { - printf("R13(0x%016" PRIx64 ") does not match with 0xfffff80510c3c958.", - C->R13); - return EXIT_FAILURE; - } - - if (C->R14 != 0x0000000000000000ULL) { - printf("R14(0x%016" PRIx64 ") does not match with 0x0000000000000000.", - C->R14); - return EXIT_FAILURE; - } - - if (C->R15 != 0x0000000000000052ULL) { - printf("R15(0x%016" PRIx64 ") does not match with 0x0000000000000052.", - C->R15); - return EXIT_FAILURE; - } - - printf("GPRs matches the testdatas.\n"); - - const kdmpparser::DumpType_t Type = Dmp.GetDumpType(); - const auto &Physmem = Dmp.GetPhysmem(); - if (Type == kdmpparser::DumpType_t::BMPDump) { - if (Physmem.size() != 0x544b) { - printf("0x544b pages are expected but found %zd.\n", Physmem.size()); - return EXIT_FAILURE; - } - } else if (Type == kdmpparser::DumpType_t::FullDump) { - if (Physmem.size() != 0x3fbe6) { - printf("0x3fbe6 pages are expected but found %zd.\n", Physmem.size()); - return EXIT_FAILURE; - } - } else { - printf("Unknown dump.\n"); - return EXIT_FAILURE; - } - - const uint64_t Address = 0x6d4d22; - const uint64_t AddressAligned = Address & 0xfffffffffffff000; - const uint64_t AddressOffset = Address & 0xfff; - const uint8_t ExpectedContent[] = {0x6d, 0x00, 0x00, 0x00, 0x00, 0x0a, - 0x63, 0x88, 0x75, 0x00, 0x00, 0x00, - 0x00, 0x0a, 0x63, 0x98}; - const uint8_t *Page = Dmp.GetPhysicalPage(AddressAligned); - if (Page == nullptr) { - printf("GetPhysicalPage failed for %p\n", (void *)Page); - return EXIT_FAILURE; - } - - if (memcmp(Page + AddressOffset, ExpectedContent, sizeof(ExpectedContent)) != - 0) { - printf("Physical memory is broken.\n"); - return EXIT_FAILURE; - } - - printf("Physical memory page matches the testdatas.\n"); - return EXIT_SUCCESS; -} \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/tests/CMakeLists.txt b/src/libs/kdmp-parser/src/tests/CMakeLists.txt deleted file mode 100644 index 8289ba9..0000000 --- a/src/libs/kdmp-parser/src/tests/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -# Axel '0vercl0k' Souchet - July 25 2020 -find_package(Python3 COMPONENTS Interpreter) -if(NOT Python3_Interpreter_FOUND) - message(FATAL_ERROR "Python3 interpreter could not be located") -endif() - -add_custom_target( - NativeTests ALL - COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/tests.py --bindir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} --pymodule ${PYMODULE} - DEPENDS testapp ${PYMODULE} -) \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/tests/tests.py b/src/libs/kdmp-parser/src/tests/tests.py deleted file mode 100644 index c1c7be1..0000000 --- a/src/libs/kdmp-parser/src/tests/tests.py +++ /dev/null @@ -1,81 +0,0 @@ -# Axel '0vercl0k' Souchet - July 25 2020 -import urllib.request -import os -import sys -import zipfile -import subprocess -import itertools -import platform -import argparse - -testdatas_url = 'https://github.com/0vercl0k/kdmp-parser/releases/download/v0.1/testdatas.zip' - -def test(bin_dir, dmp_path): - cmd = ( - os.path.join(bin_dir, 'testapp'), - dmp_path - ) - - print('Launching "{0}"..'.format(' '.join(cmd))) - return subprocess.call(cmd) - -def test_python(script_dir, bin_dir, dmp_path, pymodule): - py_exe = sys.executable - if pymodule == 'kdmp_d': - if py_exe.endswith('3.exe'): - py_exe = py_exe.replace('3.exe', '_d.exe') - else: - py_exe = py_exe.replace('.exe', '_d.exe') - cmd = ( - py_exe, - os.path.join(script_dir, 'tests_bindings.py'), - os.path.abspath(bin_dir), - dmp_path - ) - - print('Launching "{0}"..'.format(' '.join(cmd))) - return subprocess.call(cmd) - -def main(): - parser = argparse.ArgumentParser('Run test') - parser.add_argument('--bindir', required = True) - parser.add_argument('--pymodule', required = True, nargs = '?') - args = parser.parse_args() - - script_dir = os.path.dirname(__file__) - if not os.path.isfile(os.path.join(script_dir, 'full.dmp')): - # Download the test datas off github. - print(f'Downloading {testdatas_url}..') - archive_path, _ = urllib.request.urlretrieve(testdatas_url) - print(f'Successfully downloaded the test datas in {archive_path}, extracting..') - - # Unzip its content in the source directory so that we don't download the files - # for every targets we are building. - zipfile.ZipFile(archive_path).extractall(script_dir) - - # Once we have extracted the archive content, we can delete it. - os.remove(archive_path) - - # Build full path for both the full / bitmap dumps. - full = os.path.join(script_dir, 'full.dmp') - bmp = os.path.join(script_dir, 'bmp.dmp') - dmp_paths = (full, bmp) - - # Now iterate through all the configurations and run every flavor of test.exe against - # both dumps. - for dmp_path in dmp_paths: - if test(args.bindir, dmp_path) != 0: - print(f'{args.bindir}/{dmp_path} test failed, bailing.') - return 1 - - # Run python bindings tests - if args.pymodule: - if test_python(script_dir, args.bindir, dmp_path, args.pymodule) != 0: - print(f'{args.bindir}/{dmp_path} python test failed, bailing.') - return 1 - - print('All good!') - return 0 - -if __name__ == '__main__': - sys.exit(main()) \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/tests/tests_bindings.py b/src/libs/kdmp-parser/src/tests/tests_bindings.py deleted file mode 100644 index da9a1b5..0000000 --- a/src/libs/kdmp-parser/src/tests/tests_bindings.py +++ /dev/null @@ -1,28 +0,0 @@ -import sys -sys.path.append(sys.argv[1]) - -from kdmp import Dump, FullDump, BMPDump - -dmp = Dump(sys.argv[2]) -assert(dmp.type() == FullDump or dmp.type() == BMPDump) - -ctx = dmp.context() -dtb = ctx['dtb'] & ~0xfff # remove PCID - -assert(ctx['rip'] == 0xfffff805108776a0) -assert(dtb == 0x6d4000) - -page = dmp.get_physical_page(0x5000) -assert(page[0x34:0x38] == b'MSFT') - -assert(dmp.virt_translate(0xfffff78000000000) == 0x0000000000c2f000) -assert(dmp.virt_translate(0xfffff80513370000) == 0x000000003d555000) - -assert(dmp.get_virtual_page(0xfffff78000000000) == dmp.get_physical_page(0x0000000000c2f000)) -assert(dmp.get_virtual_page(0xfffff80513370000) == dmp.get_physical_page(0x000000003d555000)) - -v = 0xfffff80513568000 -assert(dmp.get_virtual_page(v) == dmp.get_physical_page(dmp.virt_translate(v))) - -print("Python tests: All good!") -sys.exit(0) \ No newline at end of file From 6d8f847a436455803168aa34d20a58a0ca9d3169 Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Tue, 19 Dec 2023 20:55:25 +0100 Subject: [PATCH 2/4] Squashed 'src/libs/kdmp-parser/' content from commit 2c65a9e04 git-subtree-dir: src/libs/kdmp-parser git-subtree-split: 2c65a9e0487304db67c60d391652d0d6c4c73019 --- .github/Invoke-VisualStudio.ps1 | 24 + .github/workflows/kdmp-parser.yml | 185 ++++++ .gitignore | 67 +++ CMakeLists.txt | 36 ++ LICENSE | 21 + README.md | 234 ++++++++ pics/parser.jpg | Bin 0 -> 544808 bytes src/.clang-format | 1 + src/lib/CMakeLists.txt | 4 + src/lib/filemap.h | 283 +++++++++ src/lib/kdmp-parser-structs.h | 929 +++++++++++++++++++++++++++++ src/lib/kdmp-parser-version.h.in | 11 + src/lib/kdmp-parser.h | 693 +++++++++++++++++++++ src/lib/platform.h | 54 ++ src/parser/CMakeLists.txt | 15 + src/parser/parser.cc | 367 ++++++++++++ src/python/CMakeLists.txt | 63 ++ src/python/README.md | 86 +++ src/python/kdmp_parser/__init__.py | 116 ++++ src/python/kdmp_parser/page.py | 43 ++ src/python/pyproject.toml | 44 ++ src/python/requirements.txt | 4 + src/python/src/kdmp_parser.cc | 341 +++++++++++ src/python/tests/pytest.ini | 15 + src/python/tests/requirements.txt | 4 + src/python/tests/test_page.py | 17 + src/python/tests/test_parser.py | 129 ++++ src/python/tests/test_version.py | 17 + src/tests/CMakeLists.txt | 29 + src/tests/tests_parser.cc | 240 ++++++++ src/tests/tests_version.cc | 13 + 31 files changed, 4085 insertions(+) create mode 100644 .github/Invoke-VisualStudio.ps1 create mode 100644 .github/workflows/kdmp-parser.yml create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 LICENSE create mode 100644 README.md create mode 100644 pics/parser.jpg create mode 100644 src/.clang-format create mode 100644 src/lib/CMakeLists.txt create mode 100644 src/lib/filemap.h create mode 100644 src/lib/kdmp-parser-structs.h create mode 100644 src/lib/kdmp-parser-version.h.in create mode 100644 src/lib/kdmp-parser.h create mode 100644 src/lib/platform.h create mode 100644 src/parser/CMakeLists.txt create mode 100644 src/parser/parser.cc create mode 100644 src/python/CMakeLists.txt create mode 100644 src/python/README.md create mode 100644 src/python/kdmp_parser/__init__.py create mode 100644 src/python/kdmp_parser/page.py create mode 100644 src/python/pyproject.toml create mode 100644 src/python/requirements.txt create mode 100644 src/python/src/kdmp_parser.cc create mode 100644 src/python/tests/pytest.ini create mode 100644 src/python/tests/requirements.txt create mode 100644 src/python/tests/test_page.py create mode 100644 src/python/tests/test_parser.py create mode 100644 src/python/tests/test_version.py create mode 100644 src/tests/CMakeLists.txt create mode 100644 src/tests/tests_parser.cc create mode 100644 src/tests/tests_version.cc diff --git a/.github/Invoke-VisualStudio.ps1 b/.github/Invoke-VisualStudio.ps1 new file mode 100644 index 0000000..da61850 --- /dev/null +++ b/.github/Invoke-VisualStudio.ps1 @@ -0,0 +1,24 @@ +Function Invoke-CmdScript { + param( + [String] $scriptName + ) + $cmdLine = """$scriptName"" $args & set" + & $env:SystemRoot\system32\cmd.exe /c $cmdLine | + Select-String '^([^=]*)=(.*)$' | ForEach-Object { + $varName = $_.Matches[0].Groups[1].Value + $varValue = $_.Matches[0].Groups[2].Value + Set-Item Env:$varName $varValue + } +} + +Function Invoke-VisualStudio2022win32 { + Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat" +} + +Function Invoke-VisualStudio2022x64 { + Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat" +} + +Function Invoke-VisualStudio2022arm64 { + Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsamd64_arm64.bat" +} diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml new file mode 100644 index 0000000..eb3d0b2 --- /dev/null +++ b/.github/workflows/kdmp-parser.yml @@ -0,0 +1,185 @@ +name: Builds + +on: [push, pull_request] + +jobs: + testdatas: + env: + TESTDATA_URL: https://github.com/0vercl0k/kdmp-parser/releases/download/v0.1/testdatas.7z + + name: Fetch Test Data + runs-on: ubuntu-latest + steps: + - name: Cache Artifacts + id: cache-testdatas + uses: actions/cache@v3 + with: + key: kdmp-parser-testdatas-cache + path: . + - if: steps.cache-testdatas.outputs.cache-hit != 'true' + run: | + sudo apt-get -y update; sudo apt-get install -y p7zip-full; + curl ${{ env.TESTDATA_URL }} -O -L + 7z x testdatas.7z; rm testdatas.7z + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + if-no-files-found: error + name: kdmp-parser-testdatas-cache + path: . + + parser: + needs: testdatas + strategy: + fail-fast: false + matrix: + variant: + - {os: windows-latest, generator: msvc, arch: x64, config: RelWithDebInfo} + - {os: windows-latest, generator: ninja, arch: x64, config: RelWithDebInfo} + - {os: windows-latest, generator: msvc, arch: win32, config: RelWithDebInfo} + # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo} + - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo} + - {os: macos-latest, generator: clang, arch: x64, config: Release} + runs-on: ${{ matrix.variant.os }} + name: parser / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.variant.arch }} + env: + CMAKE_FLAGS: "-DBUILD_PARSER:BOOL=ON -DBUILD_TESTS:BOOL=ON -DBUILD_PYTHON_BINDING:BOOL=OFF" + CMAKE_ARCH: "" + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Retrieve testdatas + uses: actions/download-artifact@v3 + with: + name: kdmp-parser-testdatas-cache + path: . + + - name: Environment Setup (Windows) + if: matrix.variant.os == 'windows-latest' + run: | + Import-Module .\.github\Invoke-VisualStudio.ps1 + Invoke-VisualStudio2022${{ matrix.variant.arch }} + echo "CMAKE_ARCH='-A ${{ matrix.variant.arch }}'" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + + - name: Environment Setup (Linux) + if: matrix.variant.os == 'ubuntu-latest' + run: | + sudo apt update + + - name: Build (Linux/GCC) + if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'gcc' + run: | + sudo apt install -y g++ + echo CC=gcc >> $GITHUB_ENV + echo CXX=g++ >> $GITHUB_ENV + + - name: Environment Setup (Linux/CLang) + if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'clang' + run: | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" + echo CC=clang >> $GITHUB_ENV + echo CXX=clang++ >> $GITHUB_ENV + + - name: Build + run: | + mkdir build + mkdir artifact + cmake -S . -B ./build ${{ env.CMAKE_ARCH }} ${{ env.CMAKE_FLAGS }} + cmake --build ./build --verbose --config ${{ matrix.variant.config }} + cmake --install ./build --config ${{ matrix.variant.config }} --prefix ./artifact + + - name: Tests + run: | + mv *.dmp ./build/src/tests/ + ctest --progress --build-config ${{ matrix.variant.config }} -T test --test-dir ./build/src/tests/ + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: parser-${{ matrix.variant.os }}.${{ matrix.variant.generator }}-${{ matrix.variant.arch }}.${{ matrix.variant.config }}-${{ github.sha }} + path: artifact/ + + bindings: + needs: testdatas + strategy: + fail-fast: false + matrix: + # nanobind does not support Python < 3.8. + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + variant: + - {os: windows-latest, generator: msvc, arch: x64, config: RelWithDebInfo, py-arch: x64} + - {os: windows-latest, generator: msvc, arch: win32, config: RelWithDebInfo, py-arch: x86} + # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo, py-arch: x64} # Unsupported (see https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) + - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo, py-arch: x64} + - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo, py-arch: x64} + - {os: macos-latest, generator: clang, arch: x64, config: Release, py-arch: x64} + runs-on: ${{ matrix.variant.os }} + name: bindings / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.python-version }} / ${{ matrix.variant.arch }} + env: + CMAKE_FLAGS: "-DBUILD_PARSER:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_PYTHON_BINDING:BOOL=ON" + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Retrieve testdatas + uses: actions/download-artifact@v3 + with: + name: kdmp-parser-testdatas-cache + path: . + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: ${{ matrix.variant.py-arch }} + + - name: Environment Setup (Windows) + if: matrix.variant.os == 'windows-latest' + run: | + Import-Module .\.github\Invoke-VisualStudio.ps1 + Invoke-VisualStudio2022${{ matrix.variant.arch }} + + - name: Environment Setup (Linux) + if: matrix.variant.os == 'ubuntu-latest' + run: | + sudo apt-get -y update + + - name: Environment Setup (OSX) + if: matrix.variant.os == 'macos-latest' + run: | + echo + + - name: Environment Setup (Linux/GCC) + if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'gcc' + run: | + sudo apt install -y g++ + echo CC=gcc >> $GITHUB_ENV + echo CXX=g++ >> $GITHUB_ENV + + - name: Environment Setup (Linux/CLang) + if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'clang' + run: | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" + echo CC=clang >> $GITHUB_ENV + echo CXX=clang++ >> $GITHUB_ENV + + - name: Build wheel + run: | + mkdir wheel + pip wheel src/python -w ./wheel + + - name: Python Binding Tests + run: | + pip install --upgrade pip setuptools wheel + pip install -U -r src/python/tests/requirements.txt + pip install -U --user src/python + pytest -vvv src/python/tests + + - name: Upload wheel + uses: actions/upload-artifact@v3 + with: + name: wheels + path: wheel/*.whl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a4b265c --- /dev/null +++ b/.gitignore @@ -0,0 +1,67 @@ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# x86 output +**/Debug +**/Release + +# x64 output +**/x64/Debug +**/x64/Release + +# vs directory +**/.vs +**/.vscode + +# user files +*.vcxproj.user + +# Bin output +bin/ + +# Build output +build/ +wheel/ + +# Cache folders +__pycache__/ +.pytest_cache/ + +# Test dumps +*.dmp + +# Version files +src/lib/kdmp-parser-version.h + +kdmp-parser-testdatas + diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..77b6dbc --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,36 @@ +# Axel '0vercl0k' Souchet - April 18 2020 +# CMakeList.txt : CMake project for kdmp-parser, include source and define +# project specific logic here. +# +cmake_minimum_required(VERSION 3.21) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED True) +set(CMAKE_POSITION_INDEPENDENT_CODE True) + +project( + kdmp-parser + DESCRIPTION "A Cross-Platform C++ parser library for Windows kernel minidumps." + HOMEPAGE_URL https://github.com/0vercl0k/kdmp-parser + VERSION 0.7.0 +) + +set(PROJECT_AUTHOR 0vercl0k) +set(PROJECT_LICENSE MIT) + +option(BUILD_PARSER "Build the parser executable for kdmp-parser" ON) +option(BUILD_TESTS "Build the test suite for kdmp-parser" OFF) +option(BUILD_PYTHON_BINDING "Build the Python bindings for kdmp-parser" OFF) + +add_subdirectory(src/lib) + +if(BUILD_PARSER) + add_subdirectory(src/parser) +endif(BUILD_PARSER) + +if(BUILD_PYTHON_BINDING) + add_subdirectory(src/python) +endif(BUILD_PYTHON_BINDING) + +if(BUILD_TESTS) + add_subdirectory(src/tests) +endif(BUILD_TESTS) diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..469f088 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Axel Souchet + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..292812f --- /dev/null +++ b/README.md @@ -0,0 +1,234 @@ +# kdmp-parser + +![Build status](https://github.com/0vercl0k/kdmp-parser/workflows/Builds/badge.svg) +[![Downloads](https://static.pepy.tech/badge/kdmp-parser/month)](https://pepy.tech/project/kdmp-parser) + +This C++ library parses Windows kernel [full](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/complete-memory-dump) dumps (`.dump /f` in WinDbg), [BMP](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/active-memory-dump) dumps (`.dump /ka` in WinDbg) as well as more recent dump types that were introduced in ~2022. + +![parser](pics/parser.jpg) + +The library supports loading 64-bit dumps and provides read access to things like: + +- The context record, +- The exception record, +- The bugcheck parameters, +- The physical memory. + +Compiled binaries are available in the [releases](https://github.com/0vercl0k/kdmp-parser/releases) section. + +Special thanks to: +- [yrp604](https://github.com/yrp604) for being knowledgeable about the format, +- the [rekall](https://github.com/google/rekall) project and their [Python implementation](https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/overlays/windows/crashdump.py) (most of the structures in [kdmp-parser-structs.h](https://github.com/0vercl0k/kdmp-parser/blob/master/src/kdmp-parser/kdmp-parser-structs.h) have been adapted from it). + +## Parser + +The `parser.exe` application is able to dump various information about the dump file: exception record, context record, etc. + +```text +>parser.exe -c -e -p 0x1000 full.dmp +-------------------------------------------------------------------------------- +Context Record: + rax=0000000000000003 rbx=fffff8050f4e9f70 rcx=0000000000000001 + rdx=fffff805135684d0 rsi=0000000000000100 rdi=fffff8050f4e9f80 + rip=fffff805108776a0 rsp=fffff805135684f8 rbp=fffff80513568600 + r8=0000000000000003 r9=fffff805135684b8 r10=0000000000000000 + r11=ffffa8848825e000 r12=fffff8050f4e9f80 r13=fffff80510c3c958 + r14=0000000000000000 r15=0000000000000052 + cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040202 + fpcw=0000 fpsw=0000 fptw=0001 + st0=fffff80510bbf000fffff80510c3c9c0 st1=0005e5a800ab2000fffff805106b3000 + st2=4000000000200000fffff80510beaea8 st3=000000000a0d656c69666f7250206465 + st4=0000000a0d656c69666f725000000010 st5=0000000000000000fffff80510b16900 + st6=0000000000000000fffff805133e9000 st7=fffff47c02899f480000000000000000 + xmm0=000000000a0d656c69666f7250206465 xmm1=0000000a0d656c69666f725000000010 + xmm2=0000000000000000fffff80510b16900 xmm3=0000000000000000fffff805133e9000 + xmm4=fffff47c02899f480000000000000000 xmm5=00000000000000000000000000000000 + xmm6=00000000000000000000000000000000 xmm7=00000000000000000000000000000000 + xmm8=00000000000000000000000000000000 xmm9=00000000000000000000000000000000 + xmm10=00000000000000000000000000000000 xmm11=00000000000000000000000000000000 + xmm12=00000000000000000000000000000000 xmm13=00000000000000000000000000000000 + xmm14=00000000000000000000000000000000 xmm15=00000000000000000000000000000000 +-------------------------------------------------------------------------------- +Exception Record: + KDMP_PARSER_EXCEPTION_RECORD64 + +0x0000: ExceptionCode : 0x80000003. + +0x0004: ExceptionFlags : 0x00000000. + +0x0008: ExceptionRecord : 0x0000000000000000. + +0x0010: ExceptionAddress : 0xfffff805108776a0. + +0x0018: NumberParameters : 0x00000001. + +0x0020: ExceptionInformation[0] : 0x0000000000000000. + +0x0028: ExceptionInformation[1] : 0x0000000000000000. + +0x0030: ExceptionInformation[2] : 0xffffa8848825e000. + +0x0038: ExceptionInformation[3] : 0x00000000000002c0. + +0x0040: ExceptionInformation[4] : 0xfffff80511022203. + +0x0048: ExceptionInformation[5] : 0x0000000000004280. + +0x0050: ExceptionInformation[6] : 0xfffff80510880524. + +0x0058: ExceptionInformation[7] : 0xffffa88488282360. + +0x0060: ExceptionInformation[8] : 0x0000000000000280. + +0x0068: ExceptionInformation[9] : 0xfffff805135683d8. + +0x0070: ExceptionInformation[10] : 0xffffa8848d9d6fb0. + +0x0078: ExceptionInformation[11] : 0x0000000000004280. + +0x0080: ExceptionInformation[12] : 0x00001f8001004280. + +0x0088: ExceptionInformation[13] : 0x0000000000000003. + +0x0090: ExceptionInformation[14] : 0xfffff80513568578. +-------------------------------------------------------------------------------- +Physical memory: +00001000: 00 00 00 00 00 00 00 00 00 00 f9 ff 00 00 00 00 |................| +00001010: 00 06 01 01 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000010a0: 00 00 00 00 00 00 00 00 00 a0 87 00 00 00 00 00 |................| +000010b0: ff ff ff ff ff ff ff ff 00 00 60 11 05 f8 ff ff |..........`.....| +000010c0: 00 90 2f 00 00 00 00 00 ff ff ff ff 03 80 ff ff |../.............| +000010d0: f8 00 00 c0 c1 f7 ff ff 00 00 00 00 03 00 00 00 |................| +000010e0: f8 00 00 c0 c1 f7 ff ff 00 00 00 00 03 00 00 00 |................| +000010f0: 00 00 00 00 00 00 00 00 70 37 01 c0 c1 f7 ff ff |........p7......| +... +``` + +## Building + +You can build it yourself using CMake and it builds on Linux, Windows, OSX with the Microsoft, the LLVM Clang and GNU compilers. + +Here is an example on Windows: +``` +> mkdir build +> cd build +> cmake .. +-- Building for: Visual Studio 17 2022 +... + +> cmake --build . --config RelWithDebInfo +MSBuild version 17.8.3+195e7f5a3 for .NET Framework +... + +> src\parser\RelWithDebInfo\parser.exe +You didn't provide the path to the dump file. + +parser.exe [-p []] [-c] [-e] [-h] + +Examples: + Show every structures of the dump: + parser.exe -a full.dmp + + Show the context record: + parser.exe -c full.dmp + + Show the exception record: + parser.exe -e full.dmp + + Show all the physical memory (first 16 bytes of every pages): + parser.exe -p full.dmp + + Show the context record as well as the page at physical address 0x1000: + parser.exe -c -p 0x1000 full.dmp +``` + +Here is another example on Linux (with the Python bindings): +``` +$ mkdir build +$ cd build +$ cmake .. -DBUILD_PYTHON_BINDING=ON +... + +$ cmake --build . --config RelWithDebInfo +... + +$ ./src/parser/parser +You didn't provide the path to the dump file. + +parser.exe [-p []] [-c] [-e] [-h] + +Examples: + Show every structures of the dump: + parser.exe -a full.dmp + + Show the context record: + parser.exe -c full.dmp + + Show the exception record: + parser.exe -e full.dmp + + Show all the physical memory (first 16 bytes of every pages): + parser.exe -p full.dmp + + Show the context record as well as the page at physical address 0x1000: + parser.exe -c -p 0x1000 full.dmp +``` + +## Python bindings + +### From PyPI + +The easiest way is simply to: +``` +pip install kdmp_parser +``` + +### Using PIP + +Run the following after installing [CMake](https://cmake.org/) and [Python](https://python.org/) 3.8+ / `pip`: +``` +cd src/python +pip install requirements.txt +pip install . +``` + +To create a wheel pacakge: +``` +cd src/python +pip wheel . +``` + +### Usage + +#### Get context, print the program counter + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +assert dmp.type == kdmp_parser.DumpType.FullDump +print(f"Dump RIP={dmp.context.Rip:#x}") +``` + +#### Read a virtual memory page at address pointed by RIP + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +dmp.read_virtual_page(dmp.context.Rip) +``` + +#### Explore the physical memory + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +pml4 = dmp.directory_table_base +print(f"{pml4=:#x}") +dmp.read_physical_page(pml4) +``` + +#### Translate a virtual address into a physical address + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +VA = dmp.context.Rip +PA = dmp.translate_virtual(VA) +print(f"{VA=:#x} -> {PA=:#x}") +``` + +# Authors + +* Axel '[@0vercl0k](https://twitter.com/0vercl0k)' Souchet + +# Contributors + +[ ![contributors-img](https://contrib.rocks/image?repo=0vercl0k/kdmp-parser) ](https://github.com/0vercl0k/kdmp-parser/graphs/contributors) diff --git a/pics/parser.jpg b/pics/parser.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0f7d8d654b618967f7a5008c920590044f0e90e6 GIT binary patch literal 544808 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

cdrn0~&@v<&sUYpemiFWR!IzqxFv)A3rR~qVurC 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�m2mdeoEC$7+ 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

gx+B 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ô^<+qRn$nVy8&KDS(PHjSf)_5${uwK_9w!UJo2!zmLO$K| z(rA&`3de2GF(75!<;lmMN;reqtJk1iz4fP#wyNReHP#xxn^Tg2Rrubnglmy-$&~6z z`pIjSAL{2ShClD>!f%c_7I4f9zd7c!%5_R`fZ4B|oTyc1CvZNO_s&!dftx8zY?o;U zA5c#*QMA~4Ey*p}gPfkmQm{glUA2Rb&|kWb`_F3G2y+5@@o+UUsz{|sKPKPOQ&MM& z4Kvzfn}u3`%XI-GuUUZ_|CCOTxxuKtFD{c!j;@Q*3oqR`b|kgVN7;z8Q8re>d+P4` z-5xN?{u+3Nj53ZCVGA1;dt5pw_cw~+2nWSRvG-9nLB7uq(%dI&r+B7z6=i(Cc01yY zU619Unbv*24(K|_v(jSI-XiX!xrg-|yqP>NU#hSUZ5=ml4~q@C>TJw|9w(hrll7*_ ze9tlm&pWg}z*?|Bw-(3@7IFH%UxWe_!>bI-dA52V?ID_|S#ujc;Dr}ANLK{=7Tr6q zq^O4<6!ZabxKgmZ3o*Hq&F0szwgAT1IdDY@Mj1hk49!oG@g7R{!i)D~m zz9s5TY-k%DI;MU(_8QFmA(|r9Wev5iT%;-(GNYjUoO|mQLEu1C{f*WbYWnEju1d;z zqYdFHM$XBVy2(64_Xl|sY*y{hvC!anZ+gD9jbyS?y3uK>3orK=*L2INDE9#3J`}>V$CbfFdld@qP3A3>R#L|2Iy}k9mbCdUc89m+ z7Yhe0mnzSr+IK&IsJ6=QsP=_#mXH5-G1PosV2i=`{cTXR8Io0d3sj5!f`t5nP;4?! zf_(6@2BoQez3|L@mRldQoz1IlTKld*wV_+@x7g}`8#jlBEl`|5s1m{-!0?UO)i3HFiyZlO-w0j z{1HZG`9!~icH$saJSEN2F#oM5%owiBF=P1XWQwLgM($|Lo{<67y4pGCqu+)OJ@Ais zx)Lt9L*#Fx%6kwfP~>_1K;q`-{B%OG*%y-m%p=k)u$qph!R<r+a{_ux9J?k~U|!TZOLcDqz7 zO)nBeIpTuaKa)$|E3Mv4)7w|18MEm8JNi+9m^0xR8bn#z=rqH^7y7tr=+CgY2=}8* zJwkXy|Gs$i^k~Z0`Dlq@=bG?-yt_ZWX4~xunrYtQiWcwlQb3Kmzh$iClrET?PIuE& z)>G;8vb;Z!ASdYRV`LXS%7(vb&lstJU1mg!4KzIOkBlL6m*ax(nT(-SYU1FH_@|6v zoe^#$$}k9u_rUH*?$V<(7{h&|@>&V2YVIH?ps*kbjJUyFbM+Akf6paxeSH99D21F7 zuOAhL@W6G>V2m*=fH53vtxN?~K1AQVHE!}VirkBa?^?G@01xXggUv}3ZgVH96N3FSfF?_>Tmw)`wtgVd8Kfm696Y~J~dTt5U z9ur()gs3ZA9wv97ETG|z5;5xTDtZ#{(E_t&f%0DTCVgKazn3@LtMd3MMyHpN1;y}n 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

lViBLMUhFw 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

R>x8-Uiw8?)-yhp6W{KE?VT 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 P;}~S-gHo{k_2vHoi>x7& literal 0 HcmV?d00001 diff --git a/src/.clang-format b/src/.clang-format new file mode 100644 index 0000000..468ceea --- /dev/null +++ b/src/.clang-format @@ -0,0 +1 @@ +BasedOnStyle: LLVM \ No newline at end of file diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt new file mode 100644 index 0000000..29177bf --- /dev/null +++ b/src/lib/CMakeLists.txt @@ -0,0 +1,4 @@ +# Axel '0vercl0k' Souchet - April 18 2020 +add_library(kdmp-parser INTERFACE) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kdmp-parser-version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/kdmp-parser-version.h) +target_include_directories(kdmp-parser INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/lib/filemap.h b/src/lib/filemap.h new file mode 100644 index 0000000..bbdbe9e --- /dev/null +++ b/src/lib/filemap.h @@ -0,0 +1,283 @@ +// Axel '0vercl0k' Souchet - April 28 2020 +#include "platform.h" +#include +#include + +#if defined(LINUX) +#include +#include +#include +#include +#include +#include +#endif + +namespace kdmpparser { +namespace Page { + +// +// Page size. +// + +constexpr uint64_t Size = 0x1000; + +// +// Page align an address. +// + +constexpr uint64_t Align(const uint64_t Address) { return Address & ~0xfff; } + +// +// Extract the page offset off an address. +// + +constexpr uint64_t Offset(const uint64_t Address) { return Address & 0xfff; } +} // namespace Page + +#if defined(WINDOWS) +class FileMap_t { + // + // Handle to the input file. + // + + HANDLE File_ = nullptr; + + // + // Handle to the file mapping. + // + + HANDLE FileMap_ = nullptr; + + // + // Base address of the file view. + // + + PVOID ViewBase_ = nullptr; + + // + // File size + // + + uint64_t FileSize_ = 0; + +public: + ~FileMap_t() { + // + // Unmap the view of the mapping.. + // + + if (ViewBase_ != nullptr) { + UnmapViewOfFile(ViewBase_); + ViewBase_ = nullptr; + } + + // + // Close the handle to the file mapping.. + // + + if (FileMap_ != nullptr) { + CloseHandle(FileMap_); + FileMap_ = nullptr; + } + + // + // And finally the file itself. + // + + if (File_ != nullptr) { + CloseHandle(File_); + File_ = nullptr; + } + } + + FileMap_t() = default; + FileMap_t(const FileMap_t &) = delete; + FileMap_t &operator=(const FileMap_t &) = delete; + + constexpr void *ViewBase() const { return ViewBase_; } + + bool MapFile(const char *PathFile) { + bool Success = true; + HANDLE File = nullptr; + HANDLE FileMap = nullptr; + PVOID ViewBase = nullptr; + LARGE_INTEGER FileSize = {0}; + + // + // Open the dump file in read-only. + // + + File = CreateFileA(PathFile, GENERIC_READ, FILE_SHARE_READ, nullptr, + OPEN_EXISTING, 0, nullptr); + + if (File == nullptr) { + + // + // If we fail to open the file, let the user know. + // + + const DWORD GLE = GetLastError(); + printf("CreateFile failed with GLE=%lu.\n", GLE); + + if (GLE == ERROR_FILE_NOT_FOUND) { + printf(" The file %s was not found.\n", PathFile); + } + + Success = false; + goto clean; + } + + // + // Create the ro file mapping. + // + + FileMap = CreateFileMappingA(File, nullptr, PAGE_READONLY, 0, 0, nullptr); + + if (FileMap == nullptr) { + + // + // If we fail to create a file mapping, let + // the user know. + // + + const DWORD GLE = GetLastError(); + printf("CreateFileMapping failed with GLE=%lu.\n", GLE); + Success = false; + goto clean; + } + + // + // Map a view of the file in memory. + // + + ViewBase = MapViewOfFile(FileMap, FILE_MAP_READ, 0, 0, 0); + + if (ViewBase == nullptr) { + + // + // If we fail to map the view, let the user know. + // + + const DWORD GLE = GetLastError(); + printf("MapViewOfFile failed with GLE=%lu.\n", GLE); + Success = false; + goto clean; + } + + // + // Get the file size. + // + + if (!GetFileSizeEx(File, &FileSize)) { + const DWORD GLE = GetLastError(); + printf("GetFileSizeEx failed with GLE=%lu.\n", GLE); + Success = false; + goto clean; + } + + FileSize_ = Page::Align(FileSize.QuadPart) + Page::Size; + + // + // Everything went well, so grab a copy of the handles for + // our class and null-out the temporary variables. + // + + File_ = File; + File = nullptr; + + FileMap_ = FileMap; + FileMap = nullptr; + + ViewBase_ = ViewBase; + ViewBase = nullptr; + + clean: + + // + // Close the handle to the file mapping.. + // + + if (FileMap != nullptr) { + CloseHandle(FileMap); + FileMap = nullptr; + } + + // + // And finally the file itself. + // + + if (File != nullptr) { + CloseHandle(File); + File = nullptr; + } + + return Success; + } + + bool InBounds(const void *Ptr, const size_t Size) const { + const uint8_t *ViewEnd = (uint8_t *)ViewBase_ + FileSize_; + const uint8_t *PtrEnd = (uint8_t *)Ptr + Size; + return PtrEnd > Ptr && ViewEnd > ViewBase_ && Ptr >= ViewBase_ && + PtrEnd < ViewEnd; + } +}; + +#elif defined(LINUX) + +class FileMap_t { + void *ViewBase_ = nullptr; + off_t ViewSize_ = 0; + int Fd_ = -1; + +public: + ~FileMap_t() { + if (ViewBase_) { + munmap(ViewBase_, ViewSize_); + ViewBase_ = nullptr; + ViewSize_ = 0; + } + + if (Fd_ != -1) { + close(Fd_); + Fd_ = -1; + } + } + + FileMap_t() = default; + FileMap_t(const FileMap_t &) = delete; + FileMap_t &operator=(const FileMap_t &) = delete; + + constexpr void *ViewBase() const { return ViewBase_; } + + bool MapFile(const char *PathFile) { + Fd_ = open(PathFile, O_RDONLY); + if (Fd_ < 0) { + perror("Could not open dump file"); + return false; + } + + struct stat Stat; + if (fstat(Fd_, &Stat) < 0) { + perror("Could not stat dump file"); + return false; + } + + ViewSize_ = Page::Align(Stat.st_size) + Page::Size; + ViewBase_ = mmap(nullptr, ViewSize_, PROT_READ, MAP_SHARED, Fd_, 0); + if (ViewBase_ == MAP_FAILED) { + perror("Could not mmap"); + return false; + } + + return true; + } + + bool InBounds(const void *Ptr, const size_t Size) const { + const uint8_t *ViewEnd = (uint8_t *)ViewBase_ + ViewSize_; + const uint8_t *PtrEnd = (uint8_t *)Ptr + Size; + return PtrEnd > Ptr && ViewEnd > ViewBase_ && Ptr >= ViewBase_ && + PtrEnd < ViewEnd; + } +}; +#endif +} // namespace kdmpparser diff --git a/src/lib/kdmp-parser-structs.h b/src/lib/kdmp-parser-structs.h new file mode 100644 index 0000000..e1668b8 --- /dev/null +++ b/src/lib/kdmp-parser-structs.h @@ -0,0 +1,929 @@ +// Axel '0vercl0k' Souchet - February 15 2019 +#pragma once + +#include "platform.h" +#include +#include +#include +#include +#include +#include +#include +#include + +namespace kdmpparser { + +// +// We need a way to represent 128-bits integers so here goes. +// + +struct uint128_t { + uint64_t Low; + uint64_t High; +}; + +static_assert(sizeof(uint128_t) == 16, "uint128_t's size looks wrong."); + +enum class DumpType_t : uint32_t { + // Old dump types from dbgeng.dll + FullDump = 0x1, + KernelDump = 0x2, + BMPDump = 0x5, + + // New stuff + MiniDump = 0x4, // Produced by `.dump /m` + KernelMemoryDump = 0x8, // Produced by `.dump /k` + KernelAndUserMemoryDump = 0x9, // Produced by `.dump /ka` + CompleteMemoryDump = 0xa, // Produced by `.dump /f` +}; + +// +// Save off the alignement setting and disable +// alignement. +// + +#pragma pack(push) +#pragma pack(1) + +// +// Field is a pointer inside the this object and this function +// returns the offset of Field in the object via pointer arithmetic. +// + +constexpr uint64_t OffsetFromThis(const uintptr_t This, const uintptr_t Field) { + return uint64_t(Field) - uint64_t(This); +} + +static void DisplayHeader(const uint32_t Prefix, const char *FieldName, + const void *This, const void *Field) { + printf("%*s+0x%04" PRIx64 ": %-25s", Prefix, "", + OffsetFromThis(uintptr_t(This), uintptr_t(Field)), FieldName); +} + +// +// This is the macro we use to get the field name via the preprocessor. +// + +#define DISPLAY_FIELD(FieldName) \ + DisplayField(Prefix + 2, #FieldName, this, &FieldName) + +#define DISPLAY_FIELD_OFFSET(FieldName) \ + DisplayHeader(Prefix + 2, #FieldName, this, &FieldName); \ + printf("\n") + +// +// This takes care of displaying basic types. +// + +const std::string_view DumpTypeToString(const DumpType_t Type) { + switch (Type) { + // Old dump types from dbgeng.dll + case DumpType_t::FullDump: + return "FullDump"; + case DumpType_t::KernelDump: + return "KernelDump"; + case DumpType_t::BMPDump: + return "BMPDump"; + + // New stuff + case DumpType_t::MiniDump: + return "MiniDump"; + case DumpType_t::KernelMemoryDump: + return "KernelMemoryDump"; + case DumpType_t::KernelAndUserMemoryDump: + return "KernelAndUserMemoryDump"; + case DumpType_t::CompleteMemoryDump: + return "CompleteMemoryDump"; + } + + return "Unknown"; +} + +template +static void DisplayField(const uint32_t Prefix, const char *FieldName, + const void *This, const Field_t *Field) { + DisplayHeader(Prefix, FieldName, This, Field); + if constexpr (std::is_same::value) { + printf(": 0x%02x.\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%04x.\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%08x.\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%016" PRIx64 ".\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%016" PRIx64 ".\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%016" PRIx64 "%016" PRIx64 ".\n", Field->High, Field->Low); + } else if constexpr (std::is_same::value) { + printf(": %s.\n", DumpTypeToString(*Field).data()); + } else { + + // + // We use std::is_same<> here because otherwise the static_assert fires + // immediately on g++/clang++ without even instantiating FieldType_t. + // So we kind of trick the compiler into doing what we want. + // + + static_assert(std::is_same::value, + "DisplayField: Unknown type trying to be displayed."); + } +} + +// +// Display the header of a dump section. +// + +#define DISPLAY_HEADER(Name) printf("%*s" Name "\n", Prefix, "") + +// +// All credit goes to the rekall project for the RE of the file format. +// https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/overlays/windows/crashdump.py +// + +struct PHYSMEM_RUN { + uint64_t BasePage; + uint64_t PageCount; + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("PHYSMEM_RUN"); + DISPLAY_FIELD(BasePage); + DISPLAY_FIELD(PageCount); + } +}; + +static_assert(sizeof(PHYSMEM_RUN) == 0x10, "PHYSMEM_RUN's size looks wrong."); + +struct PHYSMEM_DESC { + uint32_t NumberOfRuns; + uint32_t Padding0; + uint64_t NumberOfPages; + PHYSMEM_RUN Run[1]; + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("PHYSMEM_DESC"); + DISPLAY_FIELD(NumberOfRuns); + DISPLAY_FIELD(NumberOfPages); + DISPLAY_FIELD_OFFSET(Run); + if (!LooksGood()) { + return; + } + + for (uint32_t RunIdx = 0; RunIdx < NumberOfRuns; RunIdx++) { + Run[RunIdx].Show(Prefix + 2); + } + } + + constexpr bool LooksGood() const { + if (NumberOfRuns == 0x45474150 || NumberOfPages == 0x4547415045474150ULL) { + return false; + } + + return true; + } +}; + +static_assert(sizeof(PHYSMEM_DESC) == 0x20, + "PHYSICAL_MEMORY_DESCRIPTOR's size looks wrong."); + +struct BMP_HEADER64 { + static constexpr uint32_t ExpectedSignature = 0x50'4D'44'53; // 'PMDS' + static constexpr uint32_t ExpectedSignature2 = 0x50'4D'44'46; // 'PMDF' + static constexpr uint32_t ExpectedValidDump = 0x50'4D'55'44; // 'PMUD' + + // + // Should be FDMP. + // + + uint32_t Signature; + + // + // Should be DUMP. + // + + uint32_t ValidDump; + + // + // According to rekall there's a gap there: + // 'ValidDump': [0x4, ['String', dict( + // length=4, + // term=None, + // )]], + // # The offset of the first page in the file. + // 'FirstPage': [0x20, ['unsigned long long']], + // + + std::array Padding0; + + // + // The offset of the first page in the file. + // + + uint64_t FirstPage; + + // + // Total number of pages present in the bitmap. + // + uint64_t TotalPresentPages; + + // + // Total number of pages in image.This dictates the total size of the + // bitmap.This is not the same as the TotalPresentPages which is only + // the sum of the bits set to 1. + // + + uint64_t Pages; + + std::array Bitmap; + + bool LooksGood() const { + + // + // Integrity check the headers. + // + + if (Signature != ExpectedSignature && Signature != ExpectedSignature2) { + printf("BMP_HEADER64::Signature looks wrong.\n"); + return false; + } + + if (ValidDump != ExpectedValidDump) { + printf("BMP_HEADER64::ValidDump looks wrong.\n"); + return false; + } + + return true; + } + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("BMP_HEADER64"); + DISPLAY_FIELD(Signature); + DISPLAY_FIELD(ValidDump); + DISPLAY_FIELD(FirstPage); + DISPLAY_FIELD(TotalPresentPages); + DISPLAY_FIELD(Pages); + DISPLAY_FIELD_OFFSET(Bitmap); + } +}; + +static_assert(offsetof(BMP_HEADER64, FirstPage) == 0x20, + "First page offset looks wrong."); + +struct RDMP_HEADER64 { + static constexpr uint32_t ExpectedMarker = 0x40; + static constexpr uint32_t ExpectedSignature = 0x50'4D'44'52; // 'PMDR' + static constexpr uint32_t ExpectedValidDump = 0x50'4D'55'44; // 'PMUD' + + uint32_t Marker; + uint32_t Signature; + uint32_t ValidDump; + uint32_t __Unused; + uint64_t MetadataSize; + uint64_t FirstPageOffset; + + bool LooksGood() const { + if (Marker != ExpectedMarker) { + return false; + } + + if (Signature != RDMP_HEADER64::ExpectedSignature) { + return false; + } + + if (ValidDump != RDMP_HEADER64::ExpectedValidDump) { + return false; + } + + if (MetadataSize - 0x20 != + FirstPageOffset - + 0x20'40) { // sizeof(HEADER64) + sizeof(RDMP_HEADERS64) + return false; + } + + return true; + } + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("RDMP_HEADER64"); + DISPLAY_FIELD(Signature); + DISPLAY_FIELD(ValidDump); + DISPLAY_FIELD(FirstPageOffset); + DISPLAY_FIELD(MetadataSize); + } +}; + +static_assert(sizeof(RDMP_HEADER64) == 0x20, "Invalid size for RDMP_HEADER64"); + +struct KERNEL_RDMP_HEADER64 { + RDMP_HEADER64 Hdr; + uint64_t __Unknown1; + uint64_t __Unknown2; + std::array Bitmap; +}; + +static_assert(sizeof(KERNEL_RDMP_HEADER64) == 0x30 + 1, + "Invalid size for KERNEL_RDMP_HEADER64"); + +static_assert(offsetof(KERNEL_RDMP_HEADER64, Bitmap) == 0x30, + "Invalid offset for KERNEL_RDMP_HEADER64"); + +struct FULL_RDMP_HEADER64 { + RDMP_HEADER64 Hdr; + uint32_t NumberOfRanges; + uint16_t __Unknown1; + uint16_t __Unknown2; + uint64_t TotalNumberOfPages; + std::array Bitmap; +}; + +static_assert(sizeof(FULL_RDMP_HEADER64) == 0x30 + 1, + "Invalid size for FULL_RDMP_HEADER64"); + +static_assert(offsetof(FULL_RDMP_HEADER64, Bitmap) == 0x30, + "Invalid offset for FULL_RDMP_HEADER64"); + +struct CONTEXT { + + // + // Note that the below definition has been stolen directly from the windows + // headers. Why you might ask? Well the structure comes with DECLSPEC_ALIGN + // that was preventing me from layoung the Context structure at the offset I + // wanted. Maybe there's a cleaner way to do this, if so let me know :) + // + + // + // Register parameter home addresses. + // + // N.B. These fields are for convience - they could be used to extend the + // context record in the future. + // + + uint64_t P1Home; + uint64_t P2Home; + uint64_t P3Home; + uint64_t P4Home; + uint64_t P5Home; + uint64_t P6Home; + + // + // Control flags. + // + + uint32_t ContextFlags; + uint32_t MxCsr; + + // + // Segment Registers and processor flags. + // + + uint16_t SegCs; + uint16_t SegDs; + uint16_t SegEs; + uint16_t SegFs; + uint16_t SegGs; + uint16_t SegSs; + uint32_t EFlags; + + // + // Debug registers + // + + uint64_t Dr0; + uint64_t Dr1; + uint64_t Dr2; + uint64_t Dr3; + uint64_t Dr6; + uint64_t Dr7; + + // + // Integer registers. + // + + uint64_t Rax; + uint64_t Rcx; + uint64_t Rdx; + uint64_t Rbx; + uint64_t Rsp; + uint64_t Rbp; + uint64_t Rsi; + uint64_t Rdi; + uint64_t R8; + uint64_t R9; + uint64_t R10; + uint64_t R11; + uint64_t R12; + uint64_t R13; + uint64_t R14; + uint64_t R15; + + // + // Program counter. + // + + uint64_t Rip; + + // + // Floating point state. + // + + uint16_t ControlWord; + uint16_t StatusWord; + uint8_t TagWord; + uint8_t Reserved1; + uint16_t ErrorOpcode; + uint32_t ErrorOffset; + uint16_t ErrorSelector; + uint16_t Reserved2; + uint32_t DataOffset; + uint16_t DataSelector; + uint16_t Reserved3; + uint32_t MxCsr2; + uint32_t MxCsr_Mask; + std::array FloatRegisters; + uint128_t Xmm0; + uint128_t Xmm1; + uint128_t Xmm2; + uint128_t Xmm3; + uint128_t Xmm4; + uint128_t Xmm5; + uint128_t Xmm6; + uint128_t Xmm7; + uint128_t Xmm8; + uint128_t Xmm9; + uint128_t Xmm10; + uint128_t Xmm11; + uint128_t Xmm12; + uint128_t Xmm13; + uint128_t Xmm14; + uint128_t Xmm15; + + // + // Vector registers. + // + + std::array VectorRegister; + uint64_t VectorControl; + + // + // Special debug control registers. + // + + uint64_t DebugControl; + uint64_t LastBranchToRip; + uint64_t LastBranchFromRip; + uint64_t LastExceptionToRip; + uint64_t LastExceptionFromRip; + + bool LooksGood() const { + + // + // Integrity check the CONTEXT record. + // + + if (MxCsr != MxCsr2) { + printf("CONTEXT::MxCsr doesn't match MxCsr2.\n"); + return false; + } + + return true; + } + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("CONTEXT"); + DISPLAY_FIELD(P1Home); + DISPLAY_FIELD(P2Home); + DISPLAY_FIELD(P3Home); + DISPLAY_FIELD(P4Home); + DISPLAY_FIELD(P5Home); + DISPLAY_FIELD(P6Home); + + // + // Control flags. + // + + DISPLAY_FIELD(ContextFlags); + DISPLAY_FIELD(MxCsr); + + // + // Segment Registers and processor flags. + // + + DISPLAY_FIELD(SegCs); + DISPLAY_FIELD(SegDs); + DISPLAY_FIELD(SegEs); + DISPLAY_FIELD(SegFs); + DISPLAY_FIELD(SegGs); + DISPLAY_FIELD(SegSs); + DISPLAY_FIELD(EFlags); + + // + // Debug registers. + // XXX: Figure out what they don't look right. + // + + DISPLAY_FIELD(Dr0); + DISPLAY_FIELD(Dr1); + DISPLAY_FIELD(Dr2); + DISPLAY_FIELD(Dr3); + DISPLAY_FIELD(Dr6); + DISPLAY_FIELD(Dr7); + + // + // Integer registers. + // + + DISPLAY_FIELD(Rax); + DISPLAY_FIELD(Rcx); + DISPLAY_FIELD(Rdx); + DISPLAY_FIELD(Rbx); + DISPLAY_FIELD(Rsp); + DISPLAY_FIELD(Rbp); + DISPLAY_FIELD(Rsi); + DISPLAY_FIELD(Rdi); + DISPLAY_FIELD(R8); + DISPLAY_FIELD(R9); + DISPLAY_FIELD(R10); + DISPLAY_FIELD(R11); + DISPLAY_FIELD(R12); + DISPLAY_FIELD(R13); + DISPLAY_FIELD(R14); + DISPLAY_FIELD(R15); + + // + // Program counter. + // + + DISPLAY_FIELD(Rip); + + // + // Floating point state. + // + + DISPLAY_FIELD(ControlWord); + DISPLAY_FIELD(StatusWord); + DISPLAY_FIELD(TagWord); + DISPLAY_FIELD(ErrorOpcode); + DISPLAY_FIELD(ErrorOffset); + DISPLAY_FIELD(ErrorSelector); + DISPLAY_FIELD(DataOffset); + DISPLAY_FIELD(DataSelector); + DISPLAY_FIELD(MxCsr2); + DISPLAY_FIELD(MxCsr_Mask); + DISPLAY_FIELD(FloatRegisters[0]); + DISPLAY_FIELD(FloatRegisters[1]); + DISPLAY_FIELD(FloatRegisters[2]); + DISPLAY_FIELD(FloatRegisters[3]); + DISPLAY_FIELD(FloatRegisters[4]); + DISPLAY_FIELD(FloatRegisters[5]); + DISPLAY_FIELD(FloatRegisters[6]); + DISPLAY_FIELD(FloatRegisters[7]); + DISPLAY_FIELD(Xmm0); + DISPLAY_FIELD(Xmm1); + DISPLAY_FIELD(Xmm2); + DISPLAY_FIELD(Xmm3); + DISPLAY_FIELD(Xmm4); + DISPLAY_FIELD(Xmm5); + DISPLAY_FIELD(Xmm6); + DISPLAY_FIELD(Xmm7); + DISPLAY_FIELD(Xmm8); + DISPLAY_FIELD(Xmm9); + DISPLAY_FIELD(Xmm10); + DISPLAY_FIELD(Xmm11); + DISPLAY_FIELD(Xmm12); + DISPLAY_FIELD(Xmm13); + DISPLAY_FIELD(Xmm14); + DISPLAY_FIELD(Xmm15); + + // + // Vector registers. + // + + // M128A VectorRegister[26]; + DISPLAY_FIELD(VectorControl); + + // + // Special debug control registers. + // + + DISPLAY_FIELD(DebugControl); + DISPLAY_FIELD(LastBranchToRip); + DISPLAY_FIELD(LastBranchFromRip); + DISPLAY_FIELD(LastExceptionToRip); + DISPLAY_FIELD(LastExceptionFromRip); + } +}; + +static_assert(offsetof(CONTEXT, Xmm0) == 0x1a0, + "The offset of Xmm0 looks wrong."); + +struct EXCEPTION_RECORD64 { + uint32_t ExceptionCode; + uint32_t ExceptionFlags; + uint64_t ExceptionRecord; + uint64_t ExceptionAddress; + uint32_t NumberParameters; + uint32_t __unusedAlignment; + std::array ExceptionInformation; + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("KDMP_PARSER_EXCEPTION_RECORD64"); + DISPLAY_FIELD(ExceptionCode); + DISPLAY_FIELD(ExceptionFlags); + DISPLAY_FIELD(ExceptionRecord); + DISPLAY_FIELD(ExceptionAddress); + DISPLAY_FIELD(NumberParameters); + DISPLAY_FIELD(ExceptionInformation[0]); + DISPLAY_FIELD(ExceptionInformation[1]); + DISPLAY_FIELD(ExceptionInformation[2]); + DISPLAY_FIELD(ExceptionInformation[3]); + DISPLAY_FIELD(ExceptionInformation[4]); + DISPLAY_FIELD(ExceptionInformation[5]); + DISPLAY_FIELD(ExceptionInformation[6]); + DISPLAY_FIELD(ExceptionInformation[7]); + DISPLAY_FIELD(ExceptionInformation[8]); + DISPLAY_FIELD(ExceptionInformation[9]); + DISPLAY_FIELD(ExceptionInformation[10]); + DISPLAY_FIELD(ExceptionInformation[11]); + DISPLAY_FIELD(ExceptionInformation[12]); + DISPLAY_FIELD(ExceptionInformation[13]); + DISPLAY_FIELD(ExceptionInformation[14]); + } +}; + +static_assert(sizeof(EXCEPTION_RECORD64) == 0x98, + "KDMP_PARSER_EXCEPTION_RECORD64's size looks wrong."); + +union DUMP_FILE_ATTRIBUTES { + struct DUMP_FILE_ATTRIBUTES_0 { + uint32_t _bitfield; + } Anonymous; + uint32_t Attributes; +}; + +// +// Adjusted C struct for `DUMP_HEADERS64` from MS Rust docs. Padding +// adjustment added from reversing `nt!IoFillDumpHeader`. +// +// @link +// https://microsoft.github.io/windows-docs-rs/doc/windows/Win32/System/Diagnostics/Debug/struct.DUMP_HEADER64.html#structfield.DumpType +// + +struct HEADER64 { + static constexpr uint32_t ExpectedSignature = 0x45474150; // 'EGAP' + static constexpr uint32_t ExpectedValidDump = 0x34365544; // '46UD' + + /* 0x0000 */ uint32_t Signature; + /* 0x0004 */ uint32_t ValidDump; + /* 0x0008 */ uint32_t MajorVersion; + /* 0x000c */ uint32_t MinorVersion; + /* 0x0010 */ uint64_t DirectoryTableBase; + /* 0x0018 */ uint64_t PfnDatabase; + /* 0x0020 */ uint64_t PsLoadedModuleList; + /* 0x0028 */ uint64_t PsActiveProcessHead; + /* 0x0030 */ uint32_t MachineImageType; + /* 0x0034 */ uint32_t NumberProcessors; + /* 0x0038 */ uint32_t BugCheckCode; + /* 0x003c */ uint32_t __Padding0; + /* 0x0040 */ std::array BugCheckCodeParameters; + /* 0x0060 */ std::array VersionUser; + /* 0x0080 */ uint64_t KdDebuggerDataBlock; + /* 0x0088 */ union DUMP_HEADER64_0 { + PHYSMEM_DESC PhysicalMemoryBlock; + std::array PhysicalMemoryBlockBuffer; + } u1; + /* 0x0344 */ uint32_t __Padding1; + /* 0x0348 */ union CONTEXT_RECORD64_0 { + CONTEXT ContextRecord; + std::array ContextRecordBuffer; + } u2; + /* 0x0f00 */ EXCEPTION_RECORD64 Exception; + /* 0x0f98 */ DumpType_t DumpType; + /* 0x0f9c */ uint32_t __Padding2; + /* 0x0fa0 */ int64_t RequiredDumpSpace; + /* 0x0fa8 */ int64_t SystemTime; + /* 0x0fb0 */ std::array Comment; + /* 0x1030 */ int64_t SystemUpTime; + /* 0x1038 */ uint32_t MiniDumpFields; + /* 0x103c */ uint32_t SecondaryDataState; + /* 0x1040 */ uint32_t ProductType; + /* 0x1044 */ uint32_t SuiteMask; + /* 0x1048 */ uint32_t WriterStatus; + /* 0x104c */ uint8_t Unused1; + /* 0x104d */ uint8_t KdSecondaryVersion; + /* 0x104e */ std::array Unused; + /* 0x1050 */ DUMP_FILE_ATTRIBUTES Attributes; + /* 0x1054 */ uint32_t BootId; + /* 0x1058 */ std::array _reserved0; + + union { + BMP_HEADER64 BmpHeader; + KERNEL_RDMP_HEADER64 RdmpHeader; + FULL_RDMP_HEADER64 FullRdmpHeader; + } u3; + + bool LooksGood() const { + + // + // Integrity check the headers. + // + + if (Signature != ExpectedSignature) { + printf("HEADER64::Signature looks wrong.\n"); + return false; + } + + if (ValidDump != ExpectedValidDump) { + printf("HEADER64::ValidDump looks wrong.\n"); + return false; + } + + // + // Make sure it's a dump type we know how to handle. + // + + switch (DumpType) { + case DumpType_t::FullDump: { + if (!u1.PhysicalMemoryBlock.LooksGood()) { + printf("The PhysicalMemoryBlockBuffer looks wrong.\n"); + return false; + } + break; + } + + case DumpType_t::BMPDump: { + if (!u3.BmpHeader.LooksGood()) { + printf("The BmpHeader looks wrong.\n"); + return false; + } + break; + } + + case DumpType_t::KernelAndUserMemoryDump: + case DumpType_t::KernelMemoryDump: { + if (!u3.RdmpHeader.Hdr.LooksGood()) { + printf("The RdmpHeader looks wrong.\n"); + return false; + } + break; + } + + case DumpType_t::CompleteMemoryDump: { + if (!u3.FullRdmpHeader.Hdr.LooksGood()) { + printf("The RdmpHeader looks wrong.\n"); + return false; + } + break; + } + + case DumpType_t::MiniDump: { + printf("Unsupported type %s (%#x).\n", DumpTypeToString(DumpType).data(), + uint32_t(DumpType)); + return false; + } + + default: { + printf("Unknown Type %#x.\n", uint32_t(DumpType)); + return false; + } + } + + // + // Integrity check the CONTEXT record. + // + + if (!u2.ContextRecord.LooksGood()) { + return false; + } + + return true; + } + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("HEADER64"); + DISPLAY_FIELD(Signature); + DISPLAY_FIELD(ValidDump); + DISPLAY_FIELD(MajorVersion); + DISPLAY_FIELD(MinorVersion); + DISPLAY_FIELD(DirectoryTableBase); + DISPLAY_FIELD(PfnDatabase); + DISPLAY_FIELD(PsLoadedModuleList); + DISPLAY_FIELD(PsActiveProcessHead); + DISPLAY_FIELD(MachineImageType); + DISPLAY_FIELD(NumberProcessors); + DISPLAY_FIELD(BugCheckCode); + DISPLAY_FIELD_OFFSET(BugCheckCodeParameters); + DISPLAY_FIELD(KdDebuggerDataBlock); + DISPLAY_FIELD_OFFSET(u1.PhysicalMemoryBlockBuffer); + u1.PhysicalMemoryBlock.Show(Prefix + 2); + DISPLAY_FIELD_OFFSET(u2.ContextRecordBuffer); + u2.ContextRecord.Show(Prefix + 2); + DISPLAY_FIELD_OFFSET(Exception); + Exception.Show(Prefix + 2); + DISPLAY_FIELD(DumpType); + DISPLAY_FIELD(RequiredDumpSpace); + DISPLAY_FIELD(SystemTime); + DISPLAY_FIELD_OFFSET(Comment); + DISPLAY_FIELD(SystemUpTime); + DISPLAY_FIELD(MiniDumpFields); + DISPLAY_FIELD(SecondaryDataState); + DISPLAY_FIELD(ProductType); + DISPLAY_FIELD(SuiteMask); + DISPLAY_FIELD(WriterStatus); + DISPLAY_FIELD(KdSecondaryVersion); + if (DumpType == DumpType_t::BMPDump) { + DISPLAY_FIELD_OFFSET(u3.BmpHeader); + u3.BmpHeader.Show(); + } + } +}; + +// +// Restore the default alignement setting. +// + +#pragma pack(pop) + +// +// Prevent the user to play around with those. +// + +#undef DISPLAY_HEADER +#undef DISPLAY_FIELD + +// +// Those asserts are the results of a lot of frustration getting the right +// layout, so hopefully they prevent any regressions regarding the layout. +// + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Winvalid-offsetof" +#endif //__GNUC__ +static_assert(offsetof(HEADER64, Signature) == 0x00, + "The offset of KdDebuggerDataBlock looks wrong."); + +static_assert(offsetof(HEADER64, BugCheckCodeParameters) == 0x40, + "The offset of KdDebuggerDataBlock looks wrong."); + +static_assert(offsetof(HEADER64, KdDebuggerDataBlock) == 0x80, + "The offset of KdDebuggerDataBlock looks wrong."); + +static_assert(offsetof(HEADER64, u2.ContextRecord) == 0x348, + "The offset of ContextRecord looks wrong."); + +static_assert(offsetof(HEADER64, Exception) == 0xf00, + "The offset of Exception looks wrong."); + +static_assert(offsetof(HEADER64, Comment) == 0xfb0, + "The offset of Comment looks wrong."); + +static_assert(offsetof(HEADER64, u3.BmpHeader) == 0x2000, + "The offset of BmpHeaders looks wrong."); +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif //__GNUC__ + +// +// Structure for parsing a PTE. +// + +union MMPTE_HARDWARE { + struct { + uint64_t Present : 1; + uint64_t Write : 1; + uint64_t UserAccessible : 1; + uint64_t WriteThrough : 1; + uint64_t CacheDisable : 1; + uint64_t Accessed : 1; + uint64_t Dirty : 1; + uint64_t LargePage : 1; + uint64_t Available : 4; + uint64_t PageFrameNumber : 36; + uint64_t ReservedForHardware : 4; + uint64_t ReservedForSoftware : 11; + uint64_t NoExecute : 1; + } u; + uint64_t AsUINT64; + constexpr MMPTE_HARDWARE(const uint64_t Value) : AsUINT64(Value) {} +}; + +// +// Structure to parse a virtual address. +// + +union VIRTUAL_ADDRESS { + struct { + uint64_t Offset : 12; + uint64_t PtIndex : 9; + uint64_t PdIndex : 9; + uint64_t PdPtIndex : 9; + uint64_t Pml4Index : 9; + uint64_t Reserved : 16; + } u; + uint64_t AsUINT64; + constexpr VIRTUAL_ADDRESS(const uint64_t Value) : AsUINT64(Value) {} +}; + +static_assert(sizeof(MMPTE_HARDWARE) == 8); +static_assert(sizeof(VIRTUAL_ADDRESS) == 8); +} // namespace kdmpparser \ No newline at end of file diff --git a/src/lib/kdmp-parser-version.h.in b/src/lib/kdmp-parser-version.h.in new file mode 100644 index 0000000..dbe320b --- /dev/null +++ b/src/lib/kdmp-parser-version.h.in @@ -0,0 +1,11 @@ +#pragma once + +// clang-format off +#define KDMPPARSER_PROJECT_NAME "@PROJECT_NAME@" +#define KDMPPARSER_PROJECT_AUTHOR "@PROJECT_AUTHOR@" +#define KDMPPARSER_PROJECT_LICENSE "@PROJECT_LICENSE@" +#define KDMPPARSER_VERSION_MAJOR @PROJECT_VERSION_MAJOR@ +#define KDMPPARSER_VERSION_MINOR @PROJECT_VERSION_MINOR@ +#define KDMPPARSER_VERSION_PATCH @PROJECT_VERSION_PATCH@ +#define KDMPPARSER_VERSION_RELEASE "@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@" +// clang-format on diff --git a/src/lib/kdmp-parser.h b/src/lib/kdmp-parser.h new file mode 100644 index 0000000..7bb21cd --- /dev/null +++ b/src/lib/kdmp-parser.h @@ -0,0 +1,693 @@ +// Axel '0vercl0k' Souchet - February 15 2019 +#pragma once + +#include "filemap.h" +#include "kdmp-parser-structs.h" +#include "kdmp-parser-version.h" + +#include +#include +#include +#include +#include +#include +#include + +namespace kdmpparser { + +using Page_t = std::array; +using Physmem_t = std::unordered_map; + +struct BugCheckParameters_t { + uint32_t BugCheckCode; + std::array BugCheckCodeParameter; +}; + +class KernelDumpParser { + + // + // The mapped file. + // + + FileMap_t FileMap_; + + // + // Header of the crash-dump. + // + + HEADER64 *DmpHdr_ = nullptr; + + // + // File path to the crash-dump. + // + + std::filesystem::path PathFile_; + + // + // Mapping between physical addresses / page data. + // + + Physmem_t Physmem_; + +public: + // + // Actually do the parsing of the file. + // + + bool Parse(const char *PathFile) { + + // + // Copy the path file. + // + + PathFile_ = std::filesystem::path(PathFile); + if (!std::filesystem::exists(PathFile_)) { + printf("Invalid file: %s.\n", (char *)PathFile_.string().c_str()); + return false; + } + + // + // Map a view of the file. + // + + if (!MapFile()) { + printf("MapFile failed.\n"); + return false; + } + + // + // Parse the DMP_HEADER. + // + + if (!ParseDmpHeader()) { + printf("ParseDmpHeader failed.\n"); + return false; + } + + // + // Retrieve the physical memory according to the type of dump we have. + // + + switch (DmpHdr_->DumpType) { + case DumpType_t::FullDump: { + if (!BuildPhysmemFullDump()) { + printf("BuildPhysmemFullDump failed.\n"); + return false; + } + break; + } + case DumpType_t::BMPDump: { + if (!BuildPhysmemBMPDump()) { + printf("BuildPhysmemBMPDump failed.\n"); + return false; + } + break; + } + + case DumpType_t::CompleteMemoryDump: + case DumpType_t::KernelAndUserMemoryDump: + case DumpType_t::KernelMemoryDump: { + if (!BuildPhysicalMemoryFromDump(DmpHdr_->DumpType)) { + printf("BuildPhysicalMemoryFromDump failed.\n"); + return false; + } + break; + } + + default: { + printf("Invalid type\n"); + return false; + } + } + + return true; + } + + // + // Give the Context record to the user. + // + + constexpr const CONTEXT &GetContext() const { + + // + // Give the user a view of the context record. + // + + return DmpHdr_->u2.ContextRecord; + } + + // + // Give the bugcheck parameters to the user. + // + + constexpr BugCheckParameters_t GetBugCheckParameters() const { + + // + // Give the user a view of the bugcheck parameters. + // + + return {DmpHdr_->BugCheckCode, + {DmpHdr_->BugCheckCodeParameters[0], + DmpHdr_->BugCheckCodeParameters[1], + DmpHdr_->BugCheckCodeParameters[2], + DmpHdr_->BugCheckCodeParameters[3]}}; + } + + // + // Get the path of dump. + // + + const std::filesystem::path &GetDumpPath() const { return PathFile_; } + + // + // Get the type of dump. + // + + constexpr DumpType_t GetDumpType() const { return DmpHdr_->DumpType; } + + // + // Get the physmem. + // + + constexpr const Physmem_t &GetPhysmem() const { return Physmem_; } + + // + // Show the exception record. + // + + void ShowExceptionRecord(const uint32_t Prefix) const { + DmpHdr_->Exception.Show(Prefix); + } + + // + // Show the context record. + // + + void ShowContextRecord(const uint32_t Prefix) const { + const CONTEXT &Context = GetContext(); + printf("%*srax=%016" PRIx64 " rbx=%016" PRIx64 " rcx=%016" PRIx64 "\n", + Prefix, "", Context.Rax, Context.Rbx, Context.Rcx); + printf("%*srdx=%016" PRIx64 " rsi=%016" PRIx64 " rdi=%016" PRIx64 "\n", + Prefix, "", Context.Rdx, Context.Rsi, Context.Rdi); + printf("%*srip=%016" PRIx64 " rsp=%016" PRIx64 " rbp=%016" PRIx64 "\n", + Prefix, "", Context.Rip, Context.Rsp, Context.Rbp); + printf("%*s r8=%016" PRIx64 " r9=%016" PRIx64 " r10=%016" PRIx64 "\n", + Prefix, "", Context.R8, Context.R9, Context.R10); + printf("%*sr11=%016" PRIx64 " r12=%016" PRIx64 " r13=%016" PRIx64 "\n", + Prefix, "", Context.R11, Context.R12, Context.R13); + printf("%*sr14=%016" PRIx64 " r15=%016" PRIx64 "\n", Prefix, "", + Context.R14, Context.R15); + printf("%*scs=%04x ss=%04x ds=%04x es=%04x fs=%04x gs=%04x " + " efl=%08x\n", + Prefix, "", Context.SegCs, Context.SegSs, Context.SegDs, + Context.SegEs, Context.SegFs, Context.SegGs, Context.EFlags); + printf("%*sfpcw=%04x fpsw=%04x fptw=%04x\n", Prefix, "", + Context.ControlWord, Context.StatusWord, 1); + printf("%*s st0=%016" PRIx64 "%016" PRIx64 " st1=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.FloatRegisters[0].High, + Context.FloatRegisters[0].Low, Context.FloatRegisters[1].High, + Context.FloatRegisters[1].Low); + printf("%*s st2=%016" PRIx64 "%016" PRIx64 " st3=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.FloatRegisters[2].High, + Context.FloatRegisters[2].Low, Context.FloatRegisters[3].High, + Context.FloatRegisters[3].Low); + printf("%*s st4=%016" PRIx64 "%016" PRIx64 " st5=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.FloatRegisters[4].High, + Context.FloatRegisters[4].Low, Context.FloatRegisters[5].High, + Context.FloatRegisters[5].Low); + printf("%*s st6=%016" PRIx64 "%016" PRIx64 " st7=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.FloatRegisters[6].High, + Context.FloatRegisters[6].Low, Context.FloatRegisters[7].High, + Context.FloatRegisters[7].Low); + printf("%*s xmm0=%016" PRIx64 "%016" PRIx64 " xmm1=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm0.High, Context.Xmm0.Low, Context.Xmm1.High, + Context.Xmm1.Low); + printf("%*s xmm2=%016" PRIx64 "%016" PRIx64 " xmm3=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm2.High, Context.Xmm2.Low, Context.Xmm3.High, + Context.Xmm3.Low); + printf("%*s xmm4=%016" PRIx64 "%016" PRIx64 " xmm5=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm4.High, Context.Xmm4.Low, Context.Xmm5.High, + Context.Xmm5.Low); + printf("%*s xmm6=%016" PRIx64 "%016" PRIx64 " xmm7=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm6.High, Context.Xmm6.Low, Context.Xmm7.High, + Context.Xmm7.Low); + printf("%*s xmm8=%016" PRIx64 "%016" PRIx64 " xmm9=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm8.High, Context.Xmm8.Low, Context.Xmm9.High, + Context.Xmm9.Low); + printf("%*sxmm10=%016" PRIx64 "%016" PRIx64 " xmm11=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm10.High, Context.Xmm10.Low, + Context.Xmm11.High, Context.Xmm11.Low); + printf("%*sxmm12=%016" PRIx64 "%016" PRIx64 " xmm13=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm12.High, Context.Xmm12.Low, + Context.Xmm13.High, Context.Xmm13.Low); + printf("%*sxmm14=%016" PRIx64 "%016" PRIx64 " xmm15=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm14.High, Context.Xmm14.Low, + Context.Xmm15.High, Context.Xmm15.Low); + } + + // + // Show all the structures of the dump. + // + + void ShowAllStructures(const uint32_t Prefix) const { DmpHdr_->Show(Prefix); } + + // + // Get the content of a physical address. + // + + const uint8_t *GetPhysicalPage(const uint64_t PhysicalAddress) const { + + // + // Attempt to find the physical address. + // + + const auto &Pair = Physmem_.find(PhysicalAddress); + + // + // If it doesn't exist then return nullptr. + // + + if (Pair == Physmem_.end()) { + return nullptr; + } + + // + // Otherwise we return a pointer to the content of the page. + // + + return Pair->second; + } + + // + // Get the directory table base. + // + + constexpr uint64_t GetDirectoryTableBase() const { + return DmpHdr_->DirectoryTableBase; + } + + // + // Translate a virtual address to physical address using a directory table + // base. + // + + std::optional + VirtTranslate(const uint64_t VirtualAddress, + const uint64_t DirectoryTableBase = 0) const { + + // + // If DirectoryTableBase is null ; use the one from the dump header and + // clear PCID bits (bits 11:0). + // + + uint64_t LocalDTB = Page::Align(GetDirectoryTableBase()); + + if (DirectoryTableBase) { + LocalDTB = Page::Align(DirectoryTableBase); + } + + // + // Stole code from @yrp604 and @0vercl0k. + // + + const VIRTUAL_ADDRESS GuestAddress(VirtualAddress); + const MMPTE_HARDWARE Pml4(LocalDTB); + const uint64_t Pml4Base = Pml4.u.PageFrameNumber * Page::Size; + const uint64_t Pml4eGpa = Pml4Base + GuestAddress.u.Pml4Index * 8; + const MMPTE_HARDWARE Pml4e(PhyRead8(Pml4eGpa)); + if (!Pml4e.u.Present) { + printf("Invalid page map level 4, address translation failed!\n"); + return {}; + } + + const uint64_t PdptBase = Pml4e.u.PageFrameNumber * Page::Size; + const uint64_t PdpteGpa = PdptBase + GuestAddress.u.PdPtIndex * 8; + const MMPTE_HARDWARE Pdpte(PhyRead8(PdpteGpa)); + if (!Pdpte.u.Present) { + printf("Invalid page directory pointer table, address translation " + "failed!\n"); + return {}; + } + + // + // huge pages: + // 7 (PS) - Page size; must be 1 (otherwise, this entry references a page + // directory; see Table 4-1 + // + + const uint64_t PdBase = Pdpte.u.PageFrameNumber * Page::Size; + if (Pdpte.u.LargePage) { + return PdBase + (VirtualAddress & 0x3fff'ffff); + } + + const uint64_t PdeGpa = PdBase + GuestAddress.u.PdIndex * 8; + const MMPTE_HARDWARE Pde(PhyRead8(PdeGpa)); + if (!Pde.u.Present) { + printf("Invalid page directory entry, address translation failed!\n"); + return {}; + } + + // + // large pages: + // 7 (PS) - Page size; must be 1 (otherwise, this entry references a page + // table; see Table 4-18 + // + + const uint64_t PtBase = Pde.u.PageFrameNumber * Page::Size; + if (Pde.u.LargePage) { + return PtBase + (VirtualAddress & 0x1f'ffff); + } + + const uint64_t PteGpa = PtBase + GuestAddress.u.PtIndex * 8; + const MMPTE_HARDWARE Pte(PhyRead8(PteGpa)); + if (!Pte.u.Present) { + printf("Invalid page table entry, address translation failed!\n"); + return {}; + } + + const uint64_t PageBase = Pte.u.PageFrameNumber * Page::Size; + return PageBase + GuestAddress.u.Offset; + } + + // + // Get the content of a virtual address. + // + + const uint8_t *GetVirtualPage(const uint64_t VirtualAddress, + const uint64_t DirectoryTableBase = 0) const { + + // + // First remove offset and translate the virtual address. + // + + const auto &PhysicalAddress = + VirtTranslate(Page::Align(VirtualAddress), DirectoryTableBase); + + if (!PhysicalAddress) { + return nullptr; + } + + // + // Then get the physical page. + // + + return GetPhysicalPage(*PhysicalAddress); + } + + const HEADER64 &GetDumpHeader() const { + if (!DmpHdr_) { + std::abort(); + } + + return *DmpHdr_; + } + +private: + // + // Utility function to read an uint64_t from a physical address. + // + + uint64_t PhyRead8(const uint64_t PhysicalAddress) const { + + // + // Get the physical page and read from the offset. + // + + const uint8_t *PhysicalPage = GetPhysicalPage(Page::Align(PhysicalAddress)); + + if (!PhysicalPage) { + printf("Internal page table parsing failed!\n"); + return 0; + } + + const uint64_t *Ptr = + (uint64_t *)(PhysicalPage + Page::Offset(PhysicalAddress)); + return *Ptr; + } + + // + // Build a map of physical addresses / page data pointers for full dump. + // + + bool BuildPhysmemFullDump() { + + // + // Walk through the runs. + // + + uint8_t *RunBase = (uint8_t *)&DmpHdr_->u3.BmpHeader; + const uint32_t NumberOfRuns = DmpHdr_->u1.PhysicalMemoryBlock.NumberOfRuns; + + // + // Back at it, this time building the index! + // + + for (uint32_t RunIdx = 0; RunIdx < NumberOfRuns; RunIdx++) { + + // + // Grab the current run as well as its base page and page count. + // + + const PHYSMEM_RUN *Run = DmpHdr_->u1.PhysicalMemoryBlock.Run + RunIdx; + + const uint64_t BasePage = Run->BasePage; + const uint64_t PageCount = Run->PageCount; + + // + // Walk the pages from the run. + // + + for (uint64_t PageIdx = 0; PageIdx < PageCount; PageIdx++) { + + // + // Compute the current PFN as well as the actual physical address of + // the page. + // + + const uint64_t Pfn = BasePage + PageIdx; + const uint64_t Pa = Pfn * Page::Size; + + // + // Now one thing to understand is that the Runs structure allows to + // skip for holes in memory. Instead of, padding them with empty + // spaces to conserve a 1:1 mapping between physical address and file + // offset, the Run gives you the base Pfn. This means that we don't + // have a 1:1 mapping between file offset and physical addresses so we + // need to keep track of where the Run starts in memory and then we + // can simply access our pages one after the other. + // + // If this is not clear enough, here is a small example: + // Run[0] + // BasePage = 1337, PageCount = 2 + // Run[1] + // BasePage = 1400, PageCount = 1 + // + // In the above we clearly see that there is a hole between the two + // runs; the dump file has 2+1 memory pages. Their Pfns are: 1337+0, + // 1337+1, 1400+0. + // + // Now if we want to get the file offset of those pages we start at + // Run0: + // Run0 starts at file offset 0x2000 so Page0 is at file offset + // 0x2000, Page1 is at file offset 0x3000. Run1 starts at file + // offset 0x2000+(2*0x1000) so Page3 is at file offset + // 0x2000+(2*0x1000)+0x1000. + // + // That is the reason why the computation below is RunBase + (PageIdx + // * 0x1000) instead of RunBase + (Pfn * 0x1000). + + const uint8_t *PageBase = RunBase + (PageIdx * Page::Size); + + // + // Map the Pfn to a page. + // + + Physmem_.try_emplace(Pa, PageBase); + } + + // + // Move the run base past all the pages in the current run. + // + + RunBase += PageCount * Page::Size; + } + + return true; + } + + // + // Build a map of physical addresses / page data pointers for BMP dump. + // + + bool BuildPhysmemBMPDump() { + const uint8_t *Page = (uint8_t *)DmpHdr_ + DmpHdr_->u3.BmpHeader.FirstPage; + const uint64_t BitmapSize = DmpHdr_->u3.BmpHeader.Pages / 8; + const uint8_t *Bitmap = DmpHdr_->u3.BmpHeader.Bitmap.data(); + + // + // Walk the bitmap byte per byte. + // + + for (uint64_t BitmapIdx = 0; BitmapIdx < BitmapSize; BitmapIdx++) { + + // + // Now walk the bits of the current byte. + // + + const uint8_t Byte = Bitmap[BitmapIdx]; + for (uint8_t BitIdx = 0; BitIdx < 8; BitIdx++) { + + // + // If the bit is not set we just skip to the next. + // + + const bool BitSet = ((Byte >> BitIdx) & 1) == 1; + if (!BitSet) { + continue; + } + + // + // If the bit is one we add the page to the physmem. + // + + const uint64_t Pfn = (BitmapIdx * 8) + BitIdx; + const uint64_t Pa = Pfn * Page::Size; + Physmem_.try_emplace(Pa, Page); + Page += Page::Size; + } + } + + return true; + } + + // + // Populate the physical memory map for the 'new' dump types. + // `Type` must be either `KernelMemoryDump`, `KernelAndUserMemoryDump`, + // or `CompleteMemoryDump`. + // + // Returns true on success, false otherwise. + // + + bool BuildPhysicalMemoryFromDump(const DumpType_t Type) { + uint64_t FirstPageOffset = 0; + uint8_t *Page = nullptr; + uint64_t MetadataSize = 0; + uint8_t *Bitmap = nullptr; + + switch (Type) { + case DumpType_t::KernelMemoryDump: + case DumpType_t::KernelAndUserMemoryDump: { + FirstPageOffset = DmpHdr_->u3.RdmpHeader.Hdr.FirstPageOffset; + Page = (uint8_t *)DmpHdr_ + FirstPageOffset; + MetadataSize = DmpHdr_->u3.RdmpHeader.Hdr.MetadataSize; + Bitmap = DmpHdr_->u3.RdmpHeader.Bitmap.data(); + break; + } + + case DumpType_t::CompleteMemoryDump: { + FirstPageOffset = DmpHdr_->u3.RdmpHeader.Hdr.FirstPageOffset; + Page = (uint8_t *)DmpHdr_ + FirstPageOffset; + MetadataSize = DmpHdr_->u3.FullRdmpHeader.Hdr.MetadataSize; + Bitmap = DmpHdr_->u3.FullRdmpHeader.Bitmap.data(); + break; + } + + default: { + return false; + } + } + + if (!FirstPageOffset || !Page || !MetadataSize || !Bitmap) { + return false; + } + + auto IsPageInBounds = [&](const uint8_t *Ptr) { + return FileMap_.InBounds(Ptr, Page::Size); + }; + + if (!IsPageInBounds(Page)) { + return false; + } + + struct PfnRange { + uint64_t PageFileNumber; + uint64_t NumberOfPages; + }; + + for (uint64_t Offset = 0; Offset < MetadataSize; + Offset += sizeof(PfnRange)) { + const PfnRange &Entry = (PfnRange &)Bitmap[Offset]; + if (!FileMap_.InBounds(&Entry, sizeof(Entry))) { + return false; + } + + const uint64_t Pfn = Entry.PageFileNumber; + if (!Pfn) { + break; + } + + for (uint64_t PageIdx = 0; PageIdx < Entry.NumberOfPages; PageIdx++) { + if (!IsPageInBounds(Page)) { + return false; + } + + const uint64_t Pa = (Pfn * Page::Size) + (PageIdx * Page::Size); + Physmem_.try_emplace(Pa, Page); + Page += Page::Size; + } + } + + return true; + } + + // + // Parse the DMP_HEADER. + // + + bool ParseDmpHeader() { + + // + // The base of the view points on the HEADER64. + // + + DmpHdr_ = (HEADER64 *)FileMap_.ViewBase(); + + // + // Now let's make sure the structures look right. + // + + if (!DmpHdr_->LooksGood()) { + printf("The header looks wrong.\n"); + return false; + } + + return true; + } + + // + // Map a view of the file in memory. + // + + bool MapFile() { return FileMap_.MapFile(PathFile_.string().c_str()); } +}; + +struct Version_t { + static inline const uint16_t Major = KDMPPARSER_VERSION_MAJOR; + static inline const uint16_t Minor = KDMPPARSER_VERSION_MINOR; + static inline const uint16_t Patch = KDMPPARSER_VERSION_PATCH; + static inline const std::string Release = KDMPPARSER_VERSION_RELEASE; +}; + +} // namespace kdmpparser diff --git a/src/lib/platform.h b/src/lib/platform.h new file mode 100644 index 0000000..67595c7 --- /dev/null +++ b/src/lib/platform.h @@ -0,0 +1,54 @@ +// Axel '0vercl0k' Souchet - April 18 2020 +#pragma once + +#if defined(__i386__) || defined(_M_IX86) +#define ARCH_X86 +#elif defined(__amd64__) || defined(_M_X64) +#define ARCH_X64 +#else +#error Architecture not supported. +#endif + +#if defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64) +#define WINDOWS +#define SYSTEM_PLATFORM "Windows" + +#include +#if defined ARCH_X86 +#define WINDOWS_X86 +#elif defined ARCH_X64 +#define WINDOWS_X64 +#endif + +#elif defined(linux) || defined(__linux) || defined(__FreeBSD__) || \ + defined(__FreeBSD_kernel__) || defined(__MACH__) +#define LINUX + +#if defined(linux) || defined(__linux) +#define SYSTEM_PLATFORM "Linux" + +#if defined ARCH_X86 +#define LINUX_X86 +#elif defined ARCH_X64 +#define LINUX_X64 +#endif + +#elif defined(__APPLE__) + +#define SYSTEM_PLATFORM "OSX" +#if defined ARCH_X86 +#define OSX_X86 +#elif defined ARCH_X64 +#define OSX_X64 +#endif + +#else +#error An error occured +#endif + +#define EXIT_FAILURE 1 +#define EXIT_SUCCESS 0 + +#else +#error Platform not supported. +#endif diff --git a/src/parser/CMakeLists.txt b/src/parser/CMakeLists.txt new file mode 100644 index 0000000..fd062bd --- /dev/null +++ b/src/parser/CMakeLists.txt @@ -0,0 +1,15 @@ +# Axel '0vercl0k' Souchet - April 18 2020 +link_libraries(kdmp-parser) +add_executable(parser parser.cc) +target_compile_options( + parser + PUBLIC + $<$:/W4$/WX> + $<$:-Wall$-Wextra$-pedantic$-Werror> + $<$:-Wall$-Wextra$-pedantic$-Werror> +) +install(TARGETS parser DESTINATION .) + +if(MSVC) + install(FILES $ DESTINATION . OPTIONAL) +endif(MSVC) diff --git a/src/parser/parser.cc b/src/parser/parser.cc new file mode 100644 index 0000000..88ebd71 --- /dev/null +++ b/src/parser/parser.cc @@ -0,0 +1,367 @@ +// Axel '0vercl0k' Souchet - February 15 2019 +#include "kdmp-parser.h" + +#include +#include +#include +#include +#include + +// +// Delimiter. +// + +#define DELIMITER \ + "----------------------------------------------------------------------" \ + "----------" + +// +// The options available for the parser. +// + +struct Options_t { + + // + // This is enabled if -h is used. + // + + bool ShowHelp = false; + + // + // This is enabled if -c is used. + // + + bool ShowContextRecord = false; + + // + // This is enabled if -a is used. + // + + bool ShowAllStructures = false; + + // + // This is enabled if -e is used. + // + + bool ShowExceptionRecord = false; + + // + // This is enable if -p is used. + // + + bool ShowPhysicalMem = false; + + // + // This is on if the user specified a physical address. + // + + bool HasPhysicalAddress = false; + + // + // If an optional physical address has been passed to -p then this is the + // physical address. + + uint64_t PhysicalAddress = 0; + + // + // The path to the dump file. + // + + std::string_view DumpPath; +}; + +// +// Display usage +// + +void Help() { + printf("parser.exe [-p []] [-c] [-e] [-h] \n"); + printf("\n"); + printf("Examples:\n"); + printf(" Show every structures of the dump:\n"); + printf(" parser.exe -a full.dmp\n"); + printf("\n"); + printf(" Show the context record:\n"); + printf(" parser.exe -c full.dmp\n"); + printf("\n"); + printf(" Show the exception record:\n"); + printf(" parser.exe -e full.dmp\n"); + printf("\n"); + printf(" Show all the physical memory (first 16 bytes of every " + "pages):\n"); + printf(" parser.exe -p full.dmp\n"); + printf("\n"); + printf(" Show the context record as well as the page at physical " + "address 0x1000:\n"); + printf(" parser.exe -c -p 0x1000 full.dmp\n"); +} + +// +// Copied from https://github.com/pvachon/tsl/blob/master/tsl/hexdump.c. +// Phil is the man. +// + +void Hexdump(const uint64_t Address, const void *Buffer, size_t Len) { + const uint8_t *ptr = (uint8_t *)Buffer; + + for (size_t i = 0; i < Len; i += 16) { + printf("%08" PRIx64 ": ", Address + i); + for (int j = 0; j < 16; j++) { + if (i + j < Len) { + printf("%02x ", ptr[i + j]); + } else { + printf(" "); + } + } + printf(" |"); + for (int j = 0; j < 16; j++) { + if (i + j < Len) { + printf("%c", isprint(ptr[i + j]) ? (char)ptr[i + j] : '.'); + } else { + printf(" "); + } + } + printf("|\n"); + } +} + +// +// Let's do some work! +// + +int main(int argc, const char *argv[]) { + + // + // This holds the options passed to the program. + // + + Options_t Opts; + + // + // Parse the arguments passed to the program. + // + + for (int ArgIdx = 1; ArgIdx < argc; ArgIdx++) { + const std::string_view Arg(argv[ArgIdx]); + const int IsLastArg = (ArgIdx + 1) >= argc; + + if (Arg == "-c") { + + // + // Show the context record. + // + + Opts.ShowContextRecord = 1; + } else if (Arg == "-p") { + + // + // Show the physical memory. + // + + Opts.ShowPhysicalMem = 1; + + // + // If the next argument is not the last one, we assume that it is followed + // by a physical address. + // + + const int NextArgIdx = ArgIdx + 1; + const bool IsNextArgLast = (NextArgIdx + 1) >= argc; + + if (!IsNextArgLast) { + + // + // In which case we convert it to an actual integer. + // + + Opts.HasPhysicalAddress = true; + Opts.PhysicalAddress = strtoull(argv[NextArgIdx], nullptr, 0); + + // + // Skip the next argument. + // + + ArgIdx++; + } + } else if (Arg == "-e") { + + // + // Show the exception record. + // + + Opts.ShowExceptionRecord = 1; + } else if (Arg == "-a") { + + // + // Show all the structures. + // + + Opts.ShowAllStructures = true; + } else if (Arg == "-h") { + + // + // Show the help. + // + + Opts.ShowHelp = true; + } else if (IsLastArg) { + + // + // If this is the last argument then this must be the dump path. + // + + Opts.DumpPath = Arg; + } else { + + // + // Otherwise it seems that the user passed something wrong? + // + + printf("The argument %s is not recognized.\n\n", Arg.data()); + Help(); + return EXIT_FAILURE; + } + } + + // + // Show the help. + // + + if (Opts.ShowHelp) { + Help(); + return EXIT_SUCCESS; + } + + // + // The only thing we actually need is a file path. So let's make sure we + // have one. + // + + if (Opts.DumpPath.empty()) { + printf("You didn't provide the path to the dump file.\n\n"); + Help(); + return EXIT_FAILURE; + } + + // + // If we only have a path, at least force to dump the context + // structure. + // + + if (!Opts.ShowContextRecord && !Opts.ShowPhysicalMem && + !Opts.ShowAllStructures && !Opts.ShowExceptionRecord) { + printf("Forcing to show the context record as no option as been " + "passed.\n\n"); + Opts.ShowContextRecord = 1; + } + + // + // Create the parser instance. + // + + kdmpparser::KernelDumpParser Dmp; + + // + // Parse the dump file. + // + + if (!Dmp.Parse(Opts.DumpPath.data())) { + printf("Parsing of the dump failed, exiting.\n"); + return EXIT_FAILURE; + } + + // + // If the user wants all the structures, then show them. + // + + if (Opts.ShowAllStructures) { + printf(DELIMITER "\nDump structures:\n"); + Dmp.ShowAllStructures(2); + } + + // + // If the user wants the context, then show it. + // + + if (Opts.ShowContextRecord) { + printf(DELIMITER "\nContext Record:\n"); + Dmp.ShowContextRecord(2); + } + + // + // If the user wants the exception record, then show it. + // + + if (Opts.ShowExceptionRecord) { + printf(DELIMITER "\nException Record:\n"); + Dmp.ShowExceptionRecord(2); + } + + // + // If the user wants some physical memory, then show it. + // + + if (Opts.ShowPhysicalMem) { + printf(DELIMITER "\nPhysical memory:\n"); + + // + // If the user specified a physical address this is the one we + // will dump. + // + + if (Opts.PhysicalAddress) { + + // + // Retrieve the page for the specified PhysicalAddress. + // If it doesn't exist then display a message, else dump it on stdout. + // + + const uint8_t *Page = Dmp.GetPhysicalPage(Opts.PhysicalAddress); + if (Page == nullptr) { + printf("0x%" PRIx64 " is not a valid physical address.\n", + Opts.PhysicalAddress); + } else { + Hexdump(Opts.PhysicalAddress, Page, 0x1000); + } + } else { + + // + // If the user didn't specify a physical address then dump the first + // 16 bytes of every physical pages. + // + // Note that as the physmem is unordered, so we order the addresses here + // so that it is nicer for the user as they probably don't expect unorder. + // + + const auto &Physmem = Dmp.GetPhysmem(); + std::vector OrderedPhysicalAddresses; + OrderedPhysicalAddresses.reserve(Physmem.size()); + + // + // Stuff the physical addresses in a vector. + // + + for (const auto &[PhysicalAddress, _] : Dmp.GetPhysmem()) { + OrderedPhysicalAddresses.emplace_back(PhysicalAddress); + } + + // + // Sort them. + // + + std::sort(OrderedPhysicalAddresses.begin(), + OrderedPhysicalAddresses.end()); + + // + // And now we can iterate through them and get the page content. + // + + for (const auto PhysicalAddress : OrderedPhysicalAddresses) { + const uint8_t *Page = Dmp.GetPhysicalPage(PhysicalAddress); + Hexdump(PhysicalAddress, Page, 16); + } + } + } + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt new file mode 100644 index 0000000..d2dc0f9 --- /dev/null +++ b/src/python/CMakeLists.txt @@ -0,0 +1,63 @@ +# +# This file is part of kdmp-parser project +# +# Released under MIT License, by 0vercl0k - 2023 +# +# With contributions from: +# * masthoon - (github.com/masthoon) +# * hugsy - (github.com/hugsy) +# +cmake_minimum_required(VERSION 3.20) + +project( + kdmp-parser-python + DESCRIPTION "A Cross-Platform C++ parser library for Windows kernel minidumps." + HOMEPAGE_URL https://github.com/0vercl0k/kdmp-parser + VERSION 0.7.0 +) +set(PROJECT_AUTHOR 0vercl0k) +set(PROJECT_LICENSE MIT) +set(CMAKE_CXX_STANDARD 20) + +find_package(Python 3 + REQUIRED COMPONENTS Interpreter Development.Module + OPTIONAL_COMPONENTS Development.SABIModule +) + +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") +endif() + +set(KDMPPARSER_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../..") +set(KDMPPARSER_INCLUDE_DIR "${KDMPPARSER_ROOT}/src/lib") +configure_file(${KDMPPARSER_INCLUDE_DIR}/kdmp-parser-version.h.in ${KDMPPARSER_INCLUDE_DIR}/kdmp-parser-version.h) + +execute_process( + COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir + OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE NB_DIR) +list(APPEND CMAKE_PREFIX_PATH "${NB_DIR}") + +find_package(nanobind CONFIG REQUIRED) + +nanobind_add_module(_kdmp_parser NB_STATIC src/kdmp_parser.cc) + +if(BUILD_PYTHON_PACKAGE) + # + # Those directives are only used when creating a standalone `kdmp_parser` python package + # Usual case is when build with `pip install src/python` + # + target_include_directories(_kdmp_parser PRIVATE ${KDMPPARSER_INCLUDE_DIR}) + install(DIRECTORY kdmp_parser DESTINATION .) + install(TARGETS _kdmp_parser LIBRARY DESTINATION kdmp_parser) +else() + # + # This is the general case, when built from the root cmakefile + # + target_include_directories(_kdmp_parser PRIVATE $) + install(TARGETS _kdmp_parser DESTINATION bindings/python) + + if(MSVC) + install(FILES $ DESTINATION . OPTIONAL) + endif(MSVC) +endif() diff --git a/src/python/README.md b/src/python/README.md new file mode 100644 index 0000000..c9207ac --- /dev/null +++ b/src/python/README.md @@ -0,0 +1,86 @@ +# Python building for `kdmp-parser` + +![Build status](https://github.com/0vercl0k/kdmp-parser/workflows/Builds/badge.svg) + +This C++ library parses Windows kernel [full](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/complete-memory-dump) dumps (`.dump /f` in WinDbg), [BMP](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/active-memory-dump) dumps (`.dump /ka` in WinDbg) as well as more recent dump types that were introduced in ~2022. + +![parser](https://github.com/0vercl0k/kdmp-parser/raw/master/pics/parser.jpg) + +The library supports loading 64-bit dumps and provides read access to things like: + +- The context record, +- The exception record, +- The bugcheck parameters, +- The physical memory. + +The Python bindings were authored by [hugsy](https://github.com/hugsy) & [masthoon](https://github.com/masthoon). Refer to the [project page on Github](https://github.com/0vercl0k/kdmp-parser) for documentation, issues and pull requests. + +## Installing from PyPI + +The easiest way is simply to: + +```bash +pip install kdmp_parser +``` + +## Installing using PIP + +Run the following after installing [CMake](https://cmake.org/) and [Python](https://python.org/) 3.8+ / `pip`: +``` +cd src/python +pip install requirements.txt +pip install . +``` + +To create a wheel pacakge: +``` +cd src/python +pip wheel . +``` + +## Usage + +### Get context, print the program counter + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +assert dmp.type == kdmp_parser.DumpType.FullDump +print(f"Dump RIP={dmp.context.Rip:#x}") +``` + +### Read a virtual memory page at address pointed by RIP + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +dmp.read_virtual_page(dmp.context.Rip) +``` + +### Explore the physical memory + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +pml4 = dmp.directory_table_base +print(f"{pml4=:#x}") +dmp.read_physical_page(pml4) +``` + +### Translate a virtual address into a physical address + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +VA = dmp.context.Rip +PA = dmp.translate_virtual(VA) +print(f"{VA=:#x} -> {PA=:#x}") +``` + +# Authors + +* Axel '[@0vercl0k](https://twitter.com/0vercl0k)' Souchet + +# Contributors + +[ ![contributors-img](https://contrib.rocks/image?repo=0vercl0k/kdmp-parser) ](https://github.com/0vercl0k/kdmp-parser/graphs/contributors) diff --git a/src/python/kdmp_parser/__init__.py b/src/python/kdmp_parser/__init__.py new file mode 100644 index 0000000..59dd359 --- /dev/null +++ b/src/python/kdmp_parser/__init__.py @@ -0,0 +1,116 @@ +""" +Root module of `kdmp_parser` Python package. +""" + +import enum +import pathlib +from typing import Optional, Union + +# +# `_kdmp_parser` is the C++ module. It contains the port of all C++ classes/enums/etc. in their +# original form. The Python package part provides more Pythonic APIs. +# +from ._kdmp_parser import ( # type: ignore + version, + DumpType_t as _DumpType_t, + KernelDumpParser as _KernelDumpParser, + CONTEXT as __CONTEXT, + HEADER64 as __HEADER64, +) + +from .page import ( + PageIterator as _PageIterator, +) + + +class DumpType(enum.IntEnum): + FullDump = _DumpType_t.FullDump + KernelDump = _DumpType_t.KernelDump + BMPDump = _DumpType_t.BMPDump + MiniDump = _DumpType_t.MiniDump + KernelMemoryDump = _DumpType_t.KernelMemoryDump + KernelAndUserMemoryDump = _DumpType_t.KernelAndUserMemoryDump + CompleteMemoryDump = _DumpType_t.CompleteMemoryDump + + +class KernelDumpParser: + def __init__(self, path: Union[str, pathlib.Path]): + """Parse a kernel dump file + + Args: + path (pathlib.Path|str): Path to the kernel dump file + """ + if isinstance(path, str): + path = pathlib.Path(path) + + if not isinstance(path, pathlib.Path): + raise TypeError + + if not path.exists(): + raise ValueError + + self.__dump = _KernelDumpParser() + if not self.__dump.Parse(str(path.absolute())): + raise RuntimeError(f"Invalid kernel dump file: {path}") + + self.filepath = path + self.context: __CONTEXT = self.__dump.GetContext() + self.directory_table_base: int = self.__dump.GetDirectoryTableBase() & ~0xFFF + self.type = DumpType(self.__dump.GetDumpType()) + self.header: __HEADER64 = self.__dump.GetDumpHeader() + self.pages = _PageIterator(self.__dump) + return + + def __repr__(self) -> str: + return f"KernelDumpParser({self.filepath}, {self.type})" + + def read_physical_page(self, physical_address: int) -> Optional[bytearray]: + """Read a physical page from the memory dump + + Args: + physical_address (int): The physical address to read. Note that no alignment + of this parameter is assumed. + + Returns: + Optional[bytearray]: The bytes in the page if found, None otherwise + """ + raw_page = self.__dump.GetPhysicalPage(physical_address) + if not raw_page: + return None + + return bytearray(raw_page) + + def read_virtual_page( + self, virtual_address: int, directory_table_base: Optional[int] = 0 + ) -> Optional[bytearray]: + """Read a virtual page from the memory dump + + Args: + virtual_address (int): _description_ + directory_table_base (Optional[int]): if given, corresponds to the DirectoryTableBase value + + Returns: + Optional[bytearray]: The bytes in the page if found, None otherwise + """ + raw_page = self.__dump.GetVirtualPage(virtual_address, directory_table_base) + if not raw_page: + return None + + return bytearray(raw_page) + + def translate_virtual( + self, virtual_address: int, directory_table_base: Optional[int] = 0 + ) -> Optional[int]: + """Translate a virtual address to physical. A directory table base can be optionally + provided + + Args: + virtual_address (int): _description_ + directory_table_base (Optional[int]): if given, corresponds to the DirectoryTableBase + value + + Returns: + Optional[int]: If found, return the physical address to the virtual address. None + otherwise + """ + return self.__dump.VirtTranslate(virtual_address, directory_table_base) diff --git a/src/python/kdmp_parser/page.py b/src/python/kdmp_parser/page.py new file mode 100644 index 0000000..b3015de --- /dev/null +++ b/src/python/kdmp_parser/page.py @@ -0,0 +1,43 @@ +from typing import Generator +from ._kdmp_parser import ( # type: ignore + PageSize as size, + PageAlign as align, + PageOffset as offset, + KernelDumpParser as _KernelDumpParser, +) + +VALID_PAGE_SIZES = (0x1000, 0x20_0000, 0x4000_0000) + + +class PageIterator: + """Access a dump pages""" + + def __init__(self, dump: _KernelDumpParser) -> None: + self.__dump = dump + + def __getitem__(self, physical_address: int) -> bytearray: + raw_page = self.__dump.GetPhysicalPage(physical_address) + if not raw_page: + raise IndexError + return bytearray(raw_page) + + def __iter__(self) -> Generator[int, None, None]: + return self.keys() + + def __contains__(self, addr: int) -> bool: + return addr in self.keys() + + def __len__(self) -> int: + return len(list(self.keys())) + + def keys(self) -> Generator[int, None, None]: + for page_addr in self.__dump.GetPhysmem(): + yield page_addr + + def values(self) -> Generator[bytearray, None, None]: + for page_addr in self.__dump.GetPhysmem(): + yield self[page_addr] + + def items(self) -> Generator["tuple[int, bytearray]", None, None]: + for page_addr in self.__dump.GetPhysmem(): + yield page_addr, self[page_addr] diff --git a/src/python/pyproject.toml b/src/python/pyproject.toml new file mode 100644 index 0000000..e49b554 --- /dev/null +++ b/src/python/pyproject.toml @@ -0,0 +1,44 @@ +[build-system] +requires = ["scikit-build-core >=0.4.3", "nanobind >=1.3.2"] +build-backend = "scikit_build_core.build" + +[project] +name = "kdmp-parser" +version = "0.7.0" +description = "A Cross-Platform C++ parser library for Windows kernel minidumps." +readme = "README.md" +requires-python = ">=3.8" +authors = [{ name = "0vercl0k", email = "0vercl0k@not-your-biz.net" }] +classifiers = [ + "Development Status :: 4 - Beta", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Topic :: Software Development :: Assemblers", + "Natural Language :: English", +] +dependencies = [] + +[project.urls] +Homepage = "https://github.com/0vercl0k/kdmp-parser" + +[tool.isort] +profile = "black" + +[tool.scikit-build] +wheel.py-api = "cp312" +minimum-version = "0.4" +build-dir = "build/{wheel_tag}" +cmake.minimum-version = "3.20" +cmake.args = [ + "-DBUILD_PARSER:BOOL=OFF", + "-DBUILD_TESTS:BOOL=OFF", + "-DBUILD_PYTHON_PACKAGE:BOOL=ON", +] + +[tool.cibuildwheel] +build-verbosity = 1 +test-command = "pytest {project}/tests" +test-requires = "pytest" + +[tool.cibuildwheel.macos.environment] +MACOSX_DEPLOYMENT_TARGET = "10.14" diff --git a/src/python/requirements.txt b/src/python/requirements.txt new file mode 100644 index 0000000..f4b57e7 --- /dev/null +++ b/src/python/requirements.txt @@ -0,0 +1,4 @@ +setuptools +wheel +nanobind +black diff --git a/src/python/src/kdmp_parser.cc b/src/python/src/kdmp_parser.cc new file mode 100644 index 0000000..b790067 --- /dev/null +++ b/src/python/src/kdmp_parser.cc @@ -0,0 +1,341 @@ +// +// This file is part of kdmp-parser project +// +// Released under MIT License, by 0vercl0k - 2023 +// +// With contributions from: +// * hugsy - (github.com/hugsy) +// + +#include "kdmp-parser.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace nb = nanobind; +using namespace nb::literals; + +NB_MODULE(_kdmp_parser, m) { + + m.doc() = "KDMP parser module"; + + nb::class_(m, "version") + .def_ro_static("major", &kdmpparser::Version_t::Major) + .def_ro_static("minor", &kdmpparser::Version_t::Minor) + .def_ro_static("patch", &kdmpparser::Version_t::Patch) + .def_ro_static("release", &kdmpparser::Version_t::Release); + + nb::class_(m, "uint128_t") + .def(nb::init<>()) + .def_rw("Low", &kdmpparser::uint128_t::Low) + .def_rw("High", &kdmpparser::uint128_t::High); + + nb::enum_(m, "DumpType_t") + .value("FullDump", kdmpparser::DumpType_t::FullDump) + .value("KernelDump", kdmpparser::DumpType_t::KernelDump) + .value("BMPDump", kdmpparser::DumpType_t::BMPDump) + + .value("MiniDump", kdmpparser::DumpType_t::MiniDump) + .value("KernelMemoryDump", kdmpparser::DumpType_t::KernelMemoryDump) + .value("KernelAndUserMemoryDump", + kdmpparser::DumpType_t::KernelAndUserMemoryDump) + .value("CompleteMemoryDump", kdmpparser::DumpType_t::CompleteMemoryDump) + .export_values(); + + nb::class_(m, "PHYSMEM_RUN") + .def(nb::init<>()) + .def_rw("BasePage", &kdmpparser::PHYSMEM_RUN::BasePage) + .def_rw("PageCount", &kdmpparser::PHYSMEM_RUN::PageCount) + .def("Show", &kdmpparser::PHYSMEM_RUN::Show, "Prefix"_a); + + nb::class_(m, "PHYSMEM_DESC") + .def(nb::init<>()) + .def_ro("NumberOfRuns", &kdmpparser::PHYSMEM_DESC::NumberOfRuns) + .def_ro("Padding0", &kdmpparser::PHYSMEM_DESC::Padding0) + .def_ro("NumberOfPages", &kdmpparser::PHYSMEM_DESC::NumberOfPages) + .def_ro("Run", &kdmpparser::PHYSMEM_DESC::Run) + .def("Show", &kdmpparser::PHYSMEM_DESC::Show, "Prefix"_a) + .def("LooksGood", &kdmpparser::PHYSMEM_DESC::LooksGood); + + nb::class_(m, "BMP_HEADER64") + .def(nb::init<>()) + .def_ro_static("ExpectedSignature", + &kdmpparser::BMP_HEADER64::ExpectedSignature) + .def_ro_static("ExpectedSignature2", + &kdmpparser::BMP_HEADER64::ExpectedSignature2) + .def_ro_static("ExpectedValidDump", + &kdmpparser::BMP_HEADER64::ExpectedValidDump) + .def_ro("Signature", &kdmpparser::BMP_HEADER64::Signature) + .def_ro("ValidDump", &kdmpparser::BMP_HEADER64::ValidDump) + .def_ro("Padding0", &kdmpparser::BMP_HEADER64::Padding0) + .def_ro("FirstPage", &kdmpparser::BMP_HEADER64::FirstPage) + .def_ro("TotalPresentPages", &kdmpparser::BMP_HEADER64::TotalPresentPages) + .def_ro("Pages", &kdmpparser::BMP_HEADER64::Pages) + .def_ro("Bitmap", &kdmpparser::BMP_HEADER64::Bitmap) + .def("Show", &kdmpparser::PHYSMEM_DESC::Show, "Prefix"_a) + .def("LooksGood", &kdmpparser::PHYSMEM_DESC::LooksGood); + + nb::class_(m, "RDMP_HEADER64") + .def(nb::init<>()) + .def_ro_static("ExpectedMarker", + &kdmpparser::RDMP_HEADER64::ExpectedMarker) + .def_ro_static("ExpectedSignature", + &kdmpparser::RDMP_HEADER64::ExpectedSignature) + .def_ro_static("ExpectedValidDump", + &kdmpparser::RDMP_HEADER64::ExpectedValidDump) + .def_ro("Marker", &kdmpparser::RDMP_HEADER64::Marker) + .def_ro("Signature", &kdmpparser::RDMP_HEADER64::Signature) + .def_ro("ValidDump", &kdmpparser::RDMP_HEADER64::ValidDump) + .def_ro("MetadataSize", &kdmpparser::RDMP_HEADER64::MetadataSize) + .def_ro("FirstPageOffset", &kdmpparser::RDMP_HEADER64::FirstPageOffset) + .def("LooksGood", &kdmpparser::RDMP_HEADER64::LooksGood) + .def("Show", &kdmpparser::RDMP_HEADER64::Show); + + nb::class_(m, "KERNEL_RDMP_HEADER64") + .def(nb::init<>()); + + nb::class_(m, "FULL_RDMP_HEADER64") + .def(nb::init<>()); + + using CONTEXT = kdmpparser::CONTEXT; + nb::class_(m, "CONTEXT") + .def(nb::init<>()) + .def_ro("P1Home", &CONTEXT::P1Home) + .def_ro("P2Home", &CONTEXT::P2Home) + .def_ro("P3Home", &CONTEXT::P3Home) + .def_ro("P4Home", &CONTEXT::P4Home) + .def_ro("P5Home", &CONTEXT::P5Home) + .def_ro("P6Home", &CONTEXT::P6Home) + .def_ro("ContextFlags", &CONTEXT::ContextFlags) + .def_ro("MxCsr", &CONTEXT::MxCsr) + .def_ro("SegCs", &CONTEXT::SegCs) + .def_ro("SegDs", &CONTEXT::SegDs) + .def_ro("SegEs", &CONTEXT::SegEs) + .def_ro("SegFs", &CONTEXT::SegFs) + .def_ro("SegGs", &CONTEXT::SegGs) + .def_ro("SegSs", &CONTEXT::SegSs) + .def_ro("EFlags", &CONTEXT::EFlags) + .def_ro("Dr0", &CONTEXT::Dr0) + .def_ro("Dr1", &CONTEXT::Dr1) + .def_ro("Dr2", &CONTEXT::Dr2) + .def_ro("Dr3", &CONTEXT::Dr3) + .def_ro("Dr6", &CONTEXT::Dr6) + .def_ro("Dr7", &CONTEXT::Dr7) + .def_ro("Rax", &CONTEXT::Rax) + .def_ro("Rcx", &CONTEXT::Rcx) + .def_ro("Rdx", &CONTEXT::Rdx) + .def_ro("Rbx", &CONTEXT::Rbx) + .def_ro("Rsp", &CONTEXT::Rsp) + .def_ro("Rbp", &CONTEXT::Rbp) + .def_ro("Rsi", &CONTEXT::Rsi) + .def_ro("Rdi", &CONTEXT::Rdi) + .def_ro("R8", &CONTEXT::R8) + .def_ro("R9", &CONTEXT::R9) + .def_ro("R10", &CONTEXT::R10) + .def_ro("R11", &CONTEXT::R11) + .def_ro("R12", &CONTEXT::R12) + .def_ro("R13", &CONTEXT::R13) + .def_ro("R14", &CONTEXT::R14) + .def_ro("R15", &CONTEXT::R15) + .def_ro("Rip", &CONTEXT::Rip) + .def_ro("ControlWord", &CONTEXT::ControlWord) + .def_ro("StatusWord", &CONTEXT::StatusWord) + .def_ro("TagWord", &CONTEXT::TagWord) + .def_ro("Reserved1", &CONTEXT::Reserved1) + .def_ro("ErrorOpcode", &CONTEXT::ErrorOpcode) + .def_ro("ErrorOffset", &CONTEXT::ErrorOffset) + .def_ro("ErrorSelector", &CONTEXT::ErrorSelector) + .def_ro("Reserved2", &CONTEXT::Reserved2) + .def_ro("DataOffset", &CONTEXT::DataOffset) + .def_ro("DataSelector", &CONTEXT::DataSelector) + .def_ro("Reserved3", &CONTEXT::Reserved3) + .def_ro("MxCsr2", &CONTEXT::MxCsr2) + .def_ro("MxCsr_Mask", &CONTEXT::MxCsr_Mask) + .def_ro("FloatRegisters", &CONTEXT::FloatRegisters) + .def_ro("Xmm0", &CONTEXT::Xmm0) + .def_ro("Xmm1", &CONTEXT::Xmm1) + .def_ro("Xmm2", &CONTEXT::Xmm2) + .def_ro("Xmm3", &CONTEXT::Xmm3) + .def_ro("Xmm4", &CONTEXT::Xmm4) + .def_ro("Xmm5", &CONTEXT::Xmm5) + .def_ro("Xmm6", &CONTEXT::Xmm6) + .def_ro("Xmm7", &CONTEXT::Xmm7) + .def_ro("Xmm8", &CONTEXT::Xmm8) + .def_ro("Xmm9", &CONTEXT::Xmm9) + .def_ro("Xmm10", &CONTEXT::Xmm10) + .def_ro("Xmm11", &CONTEXT::Xmm11) + .def_ro("Xmm12", &CONTEXT::Xmm12) + .def_ro("Xmm13", &CONTEXT::Xmm13) + .def_ro("Xmm14", &CONTEXT::Xmm14) + .def_ro("Xmm15", &CONTEXT::Xmm15) + .def_ro("VectorRegister", &CONTEXT::VectorRegister) + .def_ro("VectorControl", &CONTEXT::VectorControl) + .def_ro("DebugControl", &CONTEXT::DebugControl) + .def_ro("LastBranchToRip", &CONTEXT::LastBranchToRip) + .def_ro("LastBranchFromRip", &CONTEXT::LastBranchFromRip) + .def_ro("LastExceptionToRip", &CONTEXT::LastExceptionToRip) + .def_ro("LastExceptionFromRip", &CONTEXT::LastExceptionFromRip) + .def("Show", &CONTEXT::Show, "Prefix"_a) + .def("LooksGood", &CONTEXT::LooksGood); + + using EXCEPTION_RECORD64 = kdmpparser::EXCEPTION_RECORD64; + nb::class_(m, "EXCEPTION_RECORD64") + .def(nb::init<>()) + .def_ro("ExceptionCode", &EXCEPTION_RECORD64::ExceptionCode) + .def_ro("ExceptionFlags", &EXCEPTION_RECORD64::ExceptionFlags) + .def_ro("ExceptionRecord", &EXCEPTION_RECORD64::ExceptionRecord) + .def_ro("ExceptionAddress", &EXCEPTION_RECORD64::ExceptionAddress) + .def_ro("NumberParameters", &EXCEPTION_RECORD64::NumberParameters) + .def_ro("__unusedAlignment", &EXCEPTION_RECORD64::__unusedAlignment) + .def_ro("ExceptionInformation", &EXCEPTION_RECORD64::ExceptionInformation) + .def("Show", &EXCEPTION_RECORD64::Show, "Prefix"_a); + + using HEADER64 = kdmpparser::HEADER64; + nb::class_(m, "HEADER64") + .def(nb::init<>()) + .def_ro_static("ExpectedSignature", &HEADER64::ExpectedSignature) + .def_ro_static("ExpectedValidDump", &HEADER64::ExpectedValidDump) + .def_ro("Signature", &HEADER64::Signature) + .def_ro("ValidDump", &HEADER64::ValidDump) + .def_ro("MajorVersion", &HEADER64::MajorVersion) + .def_ro("MinorVersion", &HEADER64::MinorVersion) + .def_ro("DirectoryTableBase", &HEADER64::DirectoryTableBase) + .def_ro("PfnDatabase", &HEADER64::PfnDatabase) + .def_ro("PsLoadedModuleList", &HEADER64::PsLoadedModuleList) + .def_ro("PsActiveProcessHead", &HEADER64::PsActiveProcessHead) + .def_ro("MachineImageType", &HEADER64::MachineImageType) + .def_ro("NumberProcessors", &HEADER64::NumberProcessors) + .def_ro("BugCheckCode", &HEADER64::BugCheckCode) + .def_ro("BugCheckCodeParameter", &HEADER64::BugCheckCodeParameters) + .def_ro("KdDebuggerDataBlock", &HEADER64::KdDebuggerDataBlock) + .def_prop_ro("PhysicalMemoryBlock", + [](const HEADER64 &Hdr) -> kdmpparser::PHYSMEM_DESC { + return Hdr.u1.PhysicalMemoryBlock; + }) + .def_prop_ro("ContextRecord", + [](const HEADER64 &Hdr) { return Hdr.u2.ContextRecord; }) + .def_ro("Exception", &HEADER64::Exception) + .def_ro("DumpType", &HEADER64::DumpType) + .def_ro("RequiredDumpSpace", &HEADER64::RequiredDumpSpace) + .def_ro("SystemTime", &HEADER64::SystemTime) + .def_ro("Comment", &HEADER64::Comment) + .def_ro("SystemUpTime", &HEADER64::SystemUpTime) + .def_ro("MiniDumpFields", &HEADER64::MiniDumpFields) + .def_ro("SecondaryDataState", &HEADER64::SecondaryDataState) + .def_ro("ProductType", &HEADER64::ProductType) + .def_ro("SuiteMask", &HEADER64::SuiteMask) + .def_ro("WriterStatus", &HEADER64::WriterStatus) + .def_ro("KdSecondaryVersion", &HEADER64::KdSecondaryVersion) + .def_ro("Attributes", &HEADER64::Attributes) + .def_ro("BootId", &HEADER64::BootId) + .def_prop_ro( + "BmpHeader", + [](const HEADER64 &Hdr) -> std::optional { + if (Hdr.DumpType != kdmpparser::DumpType_t::BMPDump) { + return {}; + } + + return Hdr.u3.BmpHeader; + }) + .def_prop_ro("RdmpHeader", + [](const HEADER64 &Hdr) + -> std::optional { + if (Hdr.DumpType != + kdmpparser::DumpType_t::KernelAndUserMemoryDump && + Hdr.DumpType != + kdmpparser::DumpType_t::KernelMemoryDump) { + return {}; + } + + return Hdr.u3.RdmpHeader; + }) + .def_prop_ro("FullRdmpHeader", + [](const HEADER64 &Hdr) + -> std::optional { + if (Hdr.DumpType != + kdmpparser::DumpType_t::CompleteMemoryDump) { + return {}; + } + + return Hdr.u3.FullRdmpHeader; + }) + .def("Show", &CONTEXT::Show, "Prefix"_a) + .def("LooksGood", &CONTEXT::LooksGood); + + m.attr("PageSize") = kdmpparser::Page::Size; + m.def("PageAlign", &kdmpparser::Page::Align, "Address"_a, + "Get the aligned value on the page for the given address."); + m.def("PageOffset", &kdmpparser::Page::Offset, "Address"_a, + "Get the offset to the page for the given address."); + + using BugCheckParameters_t = kdmpparser::BugCheckParameters_t; + nb::class_(m, "BugCheckParameters_t") + .def(nb::init<>()) + .def_ro("BugCheckCode", &BugCheckParameters_t::BugCheckCode) + .def_ro("BugCheckCodeParameter", + &BugCheckParameters_t::BugCheckCodeParameter); + + using KernelDumpParser = kdmpparser::KernelDumpParser; + nb::class_(m, "KernelDumpParser") + .def(nb::init<>()) + .def("Parse", &KernelDumpParser::Parse, "PathFile"_a) + .def("GetContext", &KernelDumpParser::GetContext) + .def("GetDumpHeader", &KernelDumpParser::GetDumpHeader, + nb::rv_policy::reference) + .def("GetBugCheckParameters", &KernelDumpParser::GetBugCheckParameters) + .def("GetDumpType", &KernelDumpParser::GetDumpType) + .def("GetPhysmem", + [](const KernelDumpParser &Parser) { + const auto &PhysMem = Parser.GetPhysmem(); + return nb::make_key_iterator(nb::type>(), + "it", PhysMem.cbegin(), + PhysMem.cend()); + }) + .def("ShowExceptionRecord", &KernelDumpParser::ShowExceptionRecord, + "Prefix"_a = 0) + .def("ShowContextRecord", &KernelDumpParser::ShowContextRecord, + "Prefix"_a = 0) + .def("ShowAllStructures", &KernelDumpParser::ShowAllStructures, + "Prefix"_a = 0) + .def( + "GetPhysicalPage", + [](const KernelDumpParser &Parser, const uint64_t PhysicalAddress) + -> std::optional { + const auto *Page = Parser.GetPhysicalPage(PhysicalAddress); + if (!Page) { + return std::nullopt; + } + + kdmpparser::Page_t Out; + memcpy(Out.data(), Page, kdmpparser::Page::Size); + return Out; + }, + "PhysicalAddress"_a) + .def("GetDirectoryTableBase", &KernelDumpParser::GetDirectoryTableBase) + .def("VirtTranslate", &KernelDumpParser::VirtTranslate, + "VirtualAddress"_a, "DirectoryTableBase"_a) + .def( + "GetVirtualPage", + [](const KernelDumpParser &Parser, const uint64_t VirtualAddress, + const uint64_t DirectoryTableBase = + 0) -> std::optional { + const auto *Page = + Parser.GetVirtualPage(VirtualAddress, DirectoryTableBase); + if (!Page) { + return std::nullopt; + } + + kdmpparser::Page_t Out; + memcpy(Out.data(), Page, kdmpparser::Page::Size); + return Out; + }, + "VirtualAddress"_a, "DirectoryTableBase"_a = 0); +} diff --git a/src/python/tests/pytest.ini b/src/python/tests/pytest.ini new file mode 100644 index 0000000..8a8695c --- /dev/null +++ b/src/python/tests/pytest.ini @@ -0,0 +1,15 @@ +[pytest] +log_level = INFO +minversion = 6.0 +required_plugins = + pytest-xdist + pytest-cov +python_functions = + test_* + time_* +python_files = *.py +testpaths = + . +markers = + slow: flag test as slow (deselect with '-m "not slow"') + online: flag test as requiring internet to work (deselect with '-m "not online"') diff --git a/src/python/tests/requirements.txt b/src/python/tests/requirements.txt new file mode 100644 index 0000000..eb9dfdd --- /dev/null +++ b/src/python/tests/requirements.txt @@ -0,0 +1,4 @@ +pytest +pytest-cov +pytest-xdist +pytest-forked diff --git a/src/python/tests/test_page.py b/src/python/tests/test_page.py new file mode 100644 index 0000000..e5e8049 --- /dev/null +++ b/src/python/tests/test_page.py @@ -0,0 +1,17 @@ +# +# This file is part of kdmp-parser project +# +# Released under MIT License, by 0vercl0k - 2023 +# +# With contributions from: +# * masthoon - (github.com/masthoon) +# * hugsy - (github.com/hugsy) +# +import kdmp_parser.page + + +def test_page(): + assert callable(kdmp_parser.page.align) + assert callable(kdmp_parser.page.offset) + assert isinstance(kdmp_parser.page.size, int) + assert kdmp_parser.page.size in kdmp_parser.page.VALID_PAGE_SIZES diff --git a/src/python/tests/test_parser.py b/src/python/tests/test_parser.py new file mode 100644 index 0000000..57c1214 --- /dev/null +++ b/src/python/tests/test_parser.py @@ -0,0 +1,129 @@ +# +# This file is part of kdmp-parser project +# +# Released under MIT License, by 0vercl0k - 2023 +# +# With contributions from: +# * masthoon - (github.com/masthoon) +# * hugsy - (github.com/hugsy) +# + +import pathlib +import unittest +import kdmp_parser + +REPO_ROOT = pathlib.Path(__file__).absolute().parent.parent.parent.parent + +class TestParserBasic(unittest.TestCase): + def setUp(self): + self.minidump_files: list[pathlib.Path] = [ + REPO_ROOT / "bmp.dmp", + REPO_ROOT / "full.dmp", + ] + + return super().setUp() + + def tearDown(self) -> None: + return super().tearDown() + + def test_parser_context(self): + expected_values = { + "bmp.dmp": { + "rip": 0xFFFFF805108776A0, + "rbp": 0xFFFFF80513568600, + "rsp": 0xFFFFF805135684F8, + "rax": 0x3, + "rbx": 0xFFFFF8050F4E9F70, + "rcx": 0x1, + "rdx": 0xFFFFF805135684D0, + "r8": 0x3, + "r9": 0xFFFFF805135684B8, + "r10": 0x0, + "r11": 0xFFFFA8848825E000, + "r12": 0xFFFFF8050F4E9F80, + "r13": 0xFFFFF80510C3C958, + "r14": 0x0, + "r15": 0x52, + "dtd": 0x6D4000, + }, + "full.dmp": { + "rip": 0xFFFFF805108776A0, + "rbp": 0xFFFFF80513568600, + "rsp": 0xFFFFF805135684F8, + "rax": 0x3, + "rbx": 0xFFFFF8050F4E9F70, + "rcx": 0x1, + "rdx": 0xFFFFF805135684D0, + "r8": 0x3, + "r9": 0xFFFFF805135684B8, + "r10": 0x0, + "r11": 0xFFFFA8848825E000, + "r12": 0xFFFFF8050F4E9F80, + "r13": 0xFFFFF80510C3C958, + "r14": 0x0, + "r15": 0x52, + "dtd": 0x6D4000, + }, + } + + for md in self.minidump_files: + parser = kdmp_parser.KernelDumpParser(md) + assert parser.filepath == md + + values = expected_values[md.name] + assert parser.context is not None + assert parser.context.Rip == values["rip"] + assert parser.context.Rbp == values["rbp"] + assert parser.context.Rsp == values["rsp"] + assert parser.context.Rax == values["rax"] + assert parser.context.Rbx == values["rbx"] + assert parser.context.Rcx == values["rcx"] + assert parser.context.Rdx == values["rdx"] + assert parser.context.R8 == values["r8"] + assert parser.context.R9 == values["r9"] + assert parser.context.R10 == values["r10"] + assert parser.context.R11 == values["r11"] + assert parser.context.R12 == values["r12"] + assert parser.context.R13 == values["r13"] + assert parser.context.R14 == values["r14"] + assert parser.context.R15 == values["r15"] + + assert parser.directory_table_base == values["dtd"] + + def test_parser_memory(self): + parser = kdmp_parser.KernelDumpParser(self.minidump_files[0]) + assert parser.directory_table_base == 0x6D4000 + + page = parser.read_physical_page(0x5000) + assert page is not None + assert page[0x34:0x38] == b"MSFT" + + assert parser.translate_virtual(0xFFFFF78000000000) == 0x0000000000C2F000 + assert parser.translate_virtual(0xFFFFF80513370000) == 0x000000003D555000 + + assert parser.read_virtual_page( + 0xFFFFF78000000000 + ) == parser.read_physical_page(0x0000000000C2F000) + assert parser.read_virtual_page( + 0xFFFFF80513370000 + ) == parser.read_physical_page(0x000000003D555000) + + def test_parser_page_iterator(self): + parser = kdmp_parser.KernelDumpParser(self.minidump_files[0]) + + page_addresses = list(parser.pages.keys()) + page_values = list(parser.pages.values()) + + assert len(parser.pages) > 0 + assert len(page_addresses) == len(parser.pages) + assert len(page_addresses) == len(page_values) + + addr = page_addresses[0] + page = parser.pages[addr] + assert parser.read_physical_page(addr) == page + + for addr, page in parser.pages.items(): + assert addr in page_addresses + assert page in page_values + assert len(page) == kdmp_parser.page.size + assert parser.read_physical_page(addr) == page diff --git a/src/python/tests/test_version.py b/src/python/tests/test_version.py new file mode 100644 index 0000000..1ef483a --- /dev/null +++ b/src/python/tests/test_version.py @@ -0,0 +1,17 @@ +# +# This file is part of kdmp-parser project +# +# Released under MIT License, by 0vercl0k - 2023 +# +# With contributions from: +# * masthoon - (github.com/masthoon) +# * hugsy - (github.com/hugsy) +# +import kdmp_parser + + +def test_version(): + assert isinstance(kdmp_parser.version.major, int) + assert isinstance(kdmp_parser.version.minor, int) + assert isinstance(kdmp_parser.version.patch, int) + assert isinstance(kdmp_parser.version.release, str) diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt new file mode 100644 index 0000000..2613707 --- /dev/null +++ b/src/tests/CMakeLists.txt @@ -0,0 +1,29 @@ +# Axel '0vercl0k' Souchet - April 18 2020 +enable_testing() + +# +# Build and link Catch2 library dependency automatically if not already found +# +include(FetchContent) +FetchContent_Declare( + Catch2 + URL https://github.com/catchorg/Catch2/archive/refs/tags/v3.4.0.zip + URL_HASH MD5=c426e77d4ee0055410bc930182959ae5 +) +FetchContent_MakeAvailable(Catch2) + +# +# Build all test files +# +list(APPEND TEST_SOURCE_FILES + tests_version.cc + tests_parser.cc +) + +foreach(SOURCE_FILE ${TEST_SOURCE_FILES}) + cmake_path(GET SOURCE_FILE STEM TEST_EXECUTABLE_NAME) + add_executable(${TEST_EXECUTABLE_NAME} ${SOURCE_FILE}) + target_link_libraries(${TEST_EXECUTABLE_NAME} PUBLIC kdmp-parser Catch2::Catch2WithMain) + add_test(NAME ${TEST_EXECUTABLE_NAME} COMMAND $) + install(FILES $ DESTINATION tests) +endforeach() diff --git a/src/tests/tests_parser.cc b/src/tests/tests_parser.cc new file mode 100644 index 0000000..36aa6c8 --- /dev/null +++ b/src/tests/tests_parser.cc @@ -0,0 +1,240 @@ +// Axel '0vercl0k' Souchet - 2023 +#define CATCH_CONFIG_MAIN + +#include "kdmp-parser.h" +#include +#include +#include +#include +#include +#include + +struct TestCaseValues { + std::string_view File; + kdmpparser::DumpType_t Type; + uint64_t Size = 0; + uint64_t ReadAddress = 0; + std::array Bytes; + uint64_t Rax = 0; + uint64_t Rbx = 0; + uint64_t Rcx = 0; + uint64_t Rdx = 0; + uint64_t Rsi = 0; + uint64_t Rdi = 0; + uint64_t Rip = 0; + uint64_t Rsp = 0; + uint64_t Rbp = 0; + uint64_t R8 = 0; + uint64_t R9 = 0; + uint64_t R10 = 0; + uint64_t R11 = 0; + uint64_t R12 = 0; + uint64_t R13 = 0; + uint64_t R14 = 0; + uint64_t R15 = 0; +}; + +constexpr TestCaseValues TestCaseBmp{ + // + // kd> r + // rax=0000000000000003 rbx=fffff8050f4e9f70 rcx=0000000000000001 + // rdx=fffff805135684d0 rsi=0000000000000100 rdi=fffff8050f4e9f80 + // rip=fffff805108776a0 rsp=fffff805135684f8 rbp=fffff80513568600 + // r8=0000000000000003 r9=fffff805135684b8 r10=0000000000000000 + // r11=ffffa8848825e000 r12=fffff8050f4e9f80 r13=fffff80510c3c958 + // r14=0000000000000000 r15=0000000000000052 + // iopl=0 nv up ei pl nz na pe nc + // cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040202 + // + "bmp.dmp", + kdmpparser::DumpType_t::BMPDump, + 0x54'4b, + 0x6d'4d'22, + {0x6d, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x63, 0x88, 0x75, 0x00, 0x00, 0x00, + 0x00, 0x0a, 0x63, 0x98}, + 0x00000000'00000003ULL, + 0xfffff805'0f4e9f70ULL, + 0x00000000'00000001ULL, + 0xfffff805'135684d0ULL, + 0x00000000'00000100ULL, + 0xfffff805'0f4e9f80ULL, + 0xfffff805'108776a0ULL, + 0xfffff805'135684f8ULL, + 0xfffff805'13568600ULL, + 0x00000000'00000003ULL, + 0xfffff805'135684b8ULL, + 0x00000000'00000000ULL, + 0xffffa884'8825e000ULL, + 0xfffff805'0f4e9f80ULL, + 0xfffff805'10c3c958ULL, + 0x00000000'00000000ULL, + 0x00000000'00000052ULL, +}; + +constexpr TestCaseValues TestCaseFull{ + "full.dmp", + kdmpparser::DumpType_t::FullDump, + 0x03'fb'e6, + 0x6d'4d'22, + {0x6d, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x63, 0x88, 0x75, 0x00, 0x00, 0x00, + 0x00, 0x0a, 0x63, 0x98}, + 0x00000000'00000003ULL, + 0xfffff805'0f4e9f70ULL, + 0x00000000'00000001ULL, + 0xfffff805'135684d0ULL, + 0x00000000'00000100ULL, + 0xfffff805'0f4e9f80ULL, + 0xfffff805'108776a0ULL, + 0xfffff805'135684f8ULL, + 0xfffff805'13568600ULL, + 0x00000000'00000003ULL, + 0xfffff805'135684b8ULL, + 0x00000000'00000000ULL, + 0xffffa884'8825e000ULL, + 0xfffff805'0f4e9f80ULL, + 0xfffff805'10c3c958ULL, + 0x00000000'00000000ULL, + 0x00000000'00000052ULL, +}; + +constexpr TestCaseValues TestCaseKernelDump{ + "kerneldump.dmp", + kdmpparser::DumpType_t::KernelMemoryDump, + 0xa0'2e, + 0x02'58'92'f0, + {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, + 0x0c, 0xc0, 0xff, 0xff}, + 0x00000000'00007a01ULL, + 0xffffc00c'5191e010ULL, + 0x00000000'00000001ULL, + 0x00000012'00000000ULL, + 0xffffc00c'51907bb0ULL, + 0x00000000'00000002ULL, + 0xfffff803'f2c35470ULL, + 0xfffff803'f515ec28ULL, + 0x00000000'0c1c9800ULL, + 0x00000000'000000b0ULL, + 0xffffc00c'502ff000ULL, + 0x00000000'00000057ULL, + 0xfffff803'f3a04500ULL, + 0xfffff803'f515ee60ULL, + 0x00000000'00000003ULL, + 0xfffff803'f1e9a180ULL, + 0x00000000'0000001fULL, +}; + +constexpr TestCaseValues TestCaseKernelUserDump{ + "kerneluserdump.dmp", + kdmpparser::DumpType_t::KernelAndUserMemoryDump, + 0x01'f7'c7, + 0x02'58'92'f0, + {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, + 0x0c, 0xc0, 0xff, 0xff}, + 0x00000000'00007a01ULL, + 0xffffc00c'5191e010ULL, + 0x00000000'00000001ULL, + 0x00000012'00000000ULL, + 0xffffc00c'51907bb0ULL, + 0x00000000'00000002ULL, + 0xfffff803'f2c35470ULL, + 0xfffff803'f515ec28ULL, + 0x00000000'0c1c9800ULL, + 0x00000000'000000b0ULL, + 0xffffc00c'502ff000ULL, + 0x00000000'00000057ULL, + 0xfffff803'f3a04500ULL, + 0xfffff803'f515ee60ULL, + 0x00000000'00000003ULL, + 0xfffff803'f1e9a180ULL, + 0x00000000'0000001fULL, +}; + +constexpr TestCaseValues TestCaseCompleteDump{ + "completedump.dmp", + kdmpparser::DumpType_t::CompleteMemoryDump, + 0x01'fb'f9, + 0x02'58'92'f0, + {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, + 0x0c, 0xc0, 0xff, 0xff}, + 0x00000000'00007a01ULL, + 0xffffc00c'5191e010ULL, + 0x00000000'00000001ULL, + 0x00000012'00000000ULL, + 0xffffc00c'51907bb0ULL, + 0x00000000'00000002ULL, + 0xfffff803'f2c35470ULL, + 0xfffff803'f515ec28ULL, + 0x00000000'0c1c9800ULL, + 0x00000000'000000b0ULL, + 0xffffc00c'502ff000ULL, + 0x00000000'00000057ULL, + 0xfffff803'f3a04500ULL, + 0xfffff803'f515ee60ULL, + 0x00000000'00000003ULL, + 0xfffff803'f1e9a180ULL, + 0x00000000'0000001fULL, +}; + +constexpr std::array Testcases{ + TestCaseBmp, TestCaseFull, + TestCaseKernelDump, TestCaseKernelUserDump, + TestCaseCompleteDump, +}; + +TEST_CASE("kdmp-parser", "parser") { + SECTION("Test minidump exists") { + for (const auto &Testcase : Testcases) { + REQUIRE(std::filesystem::exists(Testcase.File)); + } + } + + SECTION("Basic parsing") { + for (const auto &Testcase : Testcases) { + kdmpparser::KernelDumpParser Dmp; + REQUIRE(Dmp.Parse(Testcase.File.data())); + CHECK(Dmp.GetDumpType() == Testcase.Type); + const auto &Physmem = Dmp.GetPhysmem(); + CHECK(Physmem.size() == Testcase.Size); + } + } + + SECTION("Context values") { + for (const auto &Testcase : Testcases) { + kdmpparser::KernelDumpParser Dmp; + REQUIRE(Dmp.Parse(Testcase.File.data())); + const auto &Context = Dmp.GetContext(); + CHECK(Context.Rax == Testcase.Rax); + CHECK(Context.Rbx == Testcase.Rbx); + CHECK(Context.Rcx == Testcase.Rcx); + CHECK(Context.Rdx == Testcase.Rdx); + CHECK(Context.Rsi == Testcase.Rsi); + CHECK(Context.Rdi == Testcase.Rdi); + CHECK(Context.Rip == Testcase.Rip); + CHECK(Context.Rsp == Testcase.Rsp); + CHECK(Context.Rbp == Testcase.Rbp); + CHECK(Context.R8 == Testcase.R8); + CHECK(Context.R9 == Testcase.R9); + CHECK(Context.R10 == Testcase.R10); + CHECK(Context.R11 == Testcase.R11); + CHECK(Context.R12 == Testcase.R12); + CHECK(Context.R13 == Testcase.R13); + CHECK(Context.R14 == Testcase.R14); + CHECK(Context.R15 == Testcase.R15); + } + } + + SECTION("Memory access") { + for (const auto &Testcase : Testcases) { + kdmpparser::KernelDumpParser Dmp; + REQUIRE(Dmp.Parse(Testcase.File.data())); + const uint64_t Address = Testcase.ReadAddress; + const uint64_t AddressAligned = kdmpparser::Page::Align(Address); + const uint64_t AddressOffset = kdmpparser::Page::Offset(Address); + const auto &ExpectedContent = Testcase.Bytes; + const uint8_t *Page = Dmp.GetPhysicalPage(AddressAligned); + REQUIRE(Page != nullptr); + CHECK(memcmp(Page + AddressOffset, ExpectedContent.data(), + sizeof(ExpectedContent)) == 0); + } + } +} diff --git a/src/tests/tests_version.cc b/src/tests/tests_version.cc new file mode 100644 index 0000000..30e8802 --- /dev/null +++ b/src/tests/tests_version.cc @@ -0,0 +1,13 @@ +// Axel '0vercl0k' Souchet - 2023 +#define CATCH_CONFIG_MAIN + +#include + +#include "kdmp-parser.h" + +TEST_CASE("kdmp-parser", "version") { + CHECK(kdmpparser::Version_t::Major == KDMPPARSER_VERSION_MAJOR); + CHECK(kdmpparser::Version_t::Minor == KDMPPARSER_VERSION_MINOR); + CHECK(kdmpparser::Version_t::Patch == KDMPPARSER_VERSION_PATCH); + CHECK(kdmpparser::Version_t::Release == KDMPPARSER_VERSION_RELEASE); +} From cc9aa0537995588f89c619b4bb889e0577b0ce26 Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Tue, 19 Dec 2023 21:18:10 +0100 Subject: [PATCH 3/4] delete --- src/CMakeLists.txt | 10 +- .../.github/Invoke-VisualStudio.ps1 | 24 - .../.github/workflows/kdmp-parser.yml | 185 ---- src/libs/kdmp-parser/.gitignore | 67 -- src/libs/kdmp-parser/CMakeLists.txt | 36 - src/libs/kdmp-parser/LICENSE | 21 - src/libs/kdmp-parser/README.md | 234 ----- src/libs/kdmp-parser/pics/parser.jpg | Bin 544808 -> 0 bytes src/libs/kdmp-parser/src/.clang-format | 1 - src/libs/kdmp-parser/src/lib/CMakeLists.txt | 4 - src/libs/kdmp-parser/src/lib/filemap.h | 283 ------ .../kdmp-parser/src/lib/kdmp-parser-structs.h | 929 ------------------ .../src/lib/kdmp-parser-version.h.in | 11 - src/libs/kdmp-parser/src/lib/kdmp-parser.h | 693 ------------- src/libs/kdmp-parser/src/lib/platform.h | 54 - .../kdmp-parser/src/parser/CMakeLists.txt | 15 - src/libs/kdmp-parser/src/parser/parser.cc | 367 ------- .../kdmp-parser/src/python/CMakeLists.txt | 63 -- src/libs/kdmp-parser/src/python/README.md | 86 -- .../src/python/kdmp_parser/__init__.py | 116 --- .../src/python/kdmp_parser/page.py | 43 - .../kdmp-parser/src/python/pyproject.toml | 44 - .../kdmp-parser/src/python/requirements.txt | 4 - .../kdmp-parser/src/python/src/kdmp_parser.cc | 341 ------- .../kdmp-parser/src/python/tests/pytest.ini | 15 - .../src/python/tests/requirements.txt | 4 - .../kdmp-parser/src/python/tests/test_page.py | 17 - .../src/python/tests/test_parser.py | 129 --- .../src/python/tests/test_version.py | 17 - src/libs/kdmp-parser/src/tests/CMakeLists.txt | 29 - .../kdmp-parser/src/tests/tests_parser.cc | 240 ----- .../kdmp-parser/src/tests/tests_version.cc | 13 - 32 files changed, 2 insertions(+), 4093 deletions(-) delete mode 100644 src/libs/kdmp-parser/.github/Invoke-VisualStudio.ps1 delete mode 100644 src/libs/kdmp-parser/.github/workflows/kdmp-parser.yml delete mode 100644 src/libs/kdmp-parser/.gitignore delete mode 100644 src/libs/kdmp-parser/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/LICENSE delete mode 100644 src/libs/kdmp-parser/README.md delete mode 100644 src/libs/kdmp-parser/pics/parser.jpg delete mode 100644 src/libs/kdmp-parser/src/.clang-format delete mode 100644 src/libs/kdmp-parser/src/lib/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/lib/filemap.h delete mode 100644 src/libs/kdmp-parser/src/lib/kdmp-parser-structs.h delete mode 100644 src/libs/kdmp-parser/src/lib/kdmp-parser-version.h.in delete mode 100644 src/libs/kdmp-parser/src/lib/kdmp-parser.h delete mode 100644 src/libs/kdmp-parser/src/lib/platform.h delete mode 100644 src/libs/kdmp-parser/src/parser/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/parser/parser.cc delete mode 100644 src/libs/kdmp-parser/src/python/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/python/README.md delete mode 100644 src/libs/kdmp-parser/src/python/kdmp_parser/__init__.py delete mode 100644 src/libs/kdmp-parser/src/python/kdmp_parser/page.py delete mode 100644 src/libs/kdmp-parser/src/python/pyproject.toml delete mode 100644 src/libs/kdmp-parser/src/python/requirements.txt delete mode 100644 src/libs/kdmp-parser/src/python/src/kdmp_parser.cc delete mode 100644 src/libs/kdmp-parser/src/python/tests/pytest.ini delete mode 100644 src/libs/kdmp-parser/src/python/tests/requirements.txt delete mode 100644 src/libs/kdmp-parser/src/python/tests/test_page.py delete mode 100644 src/libs/kdmp-parser/src/python/tests/test_parser.py delete mode 100644 src/libs/kdmp-parser/src/python/tests/test_version.py delete mode 100644 src/libs/kdmp-parser/src/tests/CMakeLists.txt delete mode 100644 src/libs/kdmp-parser/src/tests/tests_parser.cc delete mode 100644 src/libs/kdmp-parser/src/tests/tests_version.cc diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7c13cf3..c1c24aa 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -7,7 +7,7 @@ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) project(wtf) include_directories(${CMAKE_CURRENT_LIST_DIR}/libs/bochscpu-bins/include) include_directories(${CMAKE_CURRENT_LIST_DIR}/libs/robin-map/include) -include_directories(${CMAKE_CURRENT_LIST_DIR}/libs/kdmp-parser/src/lib) +add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/libs/kdmp-parser/) include_directories(${CMAKE_CURRENT_LIST_DIR}/libs/libfuzzer) include_directories(${CMAKE_CURRENT_LIST_DIR}/libs/readerwriterqueue) include_directories(${CMAKE_CURRENT_LIST_DIR}/libs/json/single_include) @@ -22,12 +22,6 @@ file( wtf/*.cc ) -file( - GLOB_RECURSE - kdmp_srcfiles - ${CMAKE_CURRENT_LIST_DIR}/libs/kdmp-parser/src/lib/*.cc -) - file( GLOB_RECURSE libfuzzer_srcfiles @@ -44,7 +38,6 @@ set( add_executable( wtf ${wtf_srcfiles} - ${kdmp_srcfiles} ${libfuzzer_srcfiles} ${blake3_srcfiles} ) @@ -131,4 +124,5 @@ target_precompile_headers( target_link_libraries( wtf ${CMAKE_CURRENT_LIST_DIR}/libs/bochscpu-bins/lib/${CMAKE_SHARED_MODULE_PREFIX}bochscpu_ffi${CMAKE_STATIC_LIBRARY_SUFFIX} + kdmp-parser ) diff --git a/src/libs/kdmp-parser/.github/Invoke-VisualStudio.ps1 b/src/libs/kdmp-parser/.github/Invoke-VisualStudio.ps1 deleted file mode 100644 index da61850..0000000 --- a/src/libs/kdmp-parser/.github/Invoke-VisualStudio.ps1 +++ /dev/null @@ -1,24 +0,0 @@ -Function Invoke-CmdScript { - param( - [String] $scriptName - ) - $cmdLine = """$scriptName"" $args & set" - & $env:SystemRoot\system32\cmd.exe /c $cmdLine | - Select-String '^([^=]*)=(.*)$' | ForEach-Object { - $varName = $_.Matches[0].Groups[1].Value - $varValue = $_.Matches[0].Groups[2].Value - Set-Item Env:$varName $varValue - } -} - -Function Invoke-VisualStudio2022win32 { - Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat" -} - -Function Invoke-VisualStudio2022x64 { - Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat" -} - -Function Invoke-VisualStudio2022arm64 { - Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsamd64_arm64.bat" -} diff --git a/src/libs/kdmp-parser/.github/workflows/kdmp-parser.yml b/src/libs/kdmp-parser/.github/workflows/kdmp-parser.yml deleted file mode 100644 index eb3d0b2..0000000 --- a/src/libs/kdmp-parser/.github/workflows/kdmp-parser.yml +++ /dev/null @@ -1,185 +0,0 @@ -name: Builds - -on: [push, pull_request] - -jobs: - testdatas: - env: - TESTDATA_URL: https://github.com/0vercl0k/kdmp-parser/releases/download/v0.1/testdatas.7z - - name: Fetch Test Data - runs-on: ubuntu-latest - steps: - - name: Cache Artifacts - id: cache-testdatas - uses: actions/cache@v3 - with: - key: kdmp-parser-testdatas-cache - path: . - - if: steps.cache-testdatas.outputs.cache-hit != 'true' - run: | - sudo apt-get -y update; sudo apt-get install -y p7zip-full; - curl ${{ env.TESTDATA_URL }} -O -L - 7z x testdatas.7z; rm testdatas.7z - - name: Upload artifacts - uses: actions/upload-artifact@v3 - with: - if-no-files-found: error - name: kdmp-parser-testdatas-cache - path: . - - parser: - needs: testdatas - strategy: - fail-fast: false - matrix: - variant: - - {os: windows-latest, generator: msvc, arch: x64, config: RelWithDebInfo} - - {os: windows-latest, generator: ninja, arch: x64, config: RelWithDebInfo} - - {os: windows-latest, generator: msvc, arch: win32, config: RelWithDebInfo} - # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo} - - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo} - - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo} - - {os: macos-latest, generator: clang, arch: x64, config: Release} - runs-on: ${{ matrix.variant.os }} - name: parser / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.variant.arch }} - env: - CMAKE_FLAGS: "-DBUILD_PARSER:BOOL=ON -DBUILD_TESTS:BOOL=ON -DBUILD_PYTHON_BINDING:BOOL=OFF" - CMAKE_ARCH: "" - - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Retrieve testdatas - uses: actions/download-artifact@v3 - with: - name: kdmp-parser-testdatas-cache - path: . - - - name: Environment Setup (Windows) - if: matrix.variant.os == 'windows-latest' - run: | - Import-Module .\.github\Invoke-VisualStudio.ps1 - Invoke-VisualStudio2022${{ matrix.variant.arch }} - echo "CMAKE_ARCH='-A ${{ matrix.variant.arch }}'" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - - - name: Environment Setup (Linux) - if: matrix.variant.os == 'ubuntu-latest' - run: | - sudo apt update - - - name: Build (Linux/GCC) - if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'gcc' - run: | - sudo apt install -y g++ - echo CC=gcc >> $GITHUB_ENV - echo CXX=g++ >> $GITHUB_ENV - - - name: Environment Setup (Linux/CLang) - if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'clang' - run: | - sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" - echo CC=clang >> $GITHUB_ENV - echo CXX=clang++ >> $GITHUB_ENV - - - name: Build - run: | - mkdir build - mkdir artifact - cmake -S . -B ./build ${{ env.CMAKE_ARCH }} ${{ env.CMAKE_FLAGS }} - cmake --build ./build --verbose --config ${{ matrix.variant.config }} - cmake --install ./build --config ${{ matrix.variant.config }} --prefix ./artifact - - - name: Tests - run: | - mv *.dmp ./build/src/tests/ - ctest --progress --build-config ${{ matrix.variant.config }} -T test --test-dir ./build/src/tests/ - - - name: Upload artifacts - uses: actions/upload-artifact@v3 - with: - name: parser-${{ matrix.variant.os }}.${{ matrix.variant.generator }}-${{ matrix.variant.arch }}.${{ matrix.variant.config }}-${{ github.sha }} - path: artifact/ - - bindings: - needs: testdatas - strategy: - fail-fast: false - matrix: - # nanobind does not support Python < 3.8. - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] - variant: - - {os: windows-latest, generator: msvc, arch: x64, config: RelWithDebInfo, py-arch: x64} - - {os: windows-latest, generator: msvc, arch: win32, config: RelWithDebInfo, py-arch: x86} - # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo, py-arch: x64} # Unsupported (see https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) - - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo, py-arch: x64} - - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo, py-arch: x64} - - {os: macos-latest, generator: clang, arch: x64, config: Release, py-arch: x64} - runs-on: ${{ matrix.variant.os }} - name: bindings / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.python-version }} / ${{ matrix.variant.arch }} - env: - CMAKE_FLAGS: "-DBUILD_PARSER:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_PYTHON_BINDING:BOOL=ON" - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Retrieve testdatas - uses: actions/download-artifact@v3 - with: - name: kdmp-parser-testdatas-cache - path: . - - - name: Setup Python - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - architecture: ${{ matrix.variant.py-arch }} - - - name: Environment Setup (Windows) - if: matrix.variant.os == 'windows-latest' - run: | - Import-Module .\.github\Invoke-VisualStudio.ps1 - Invoke-VisualStudio2022${{ matrix.variant.arch }} - - - name: Environment Setup (Linux) - if: matrix.variant.os == 'ubuntu-latest' - run: | - sudo apt-get -y update - - - name: Environment Setup (OSX) - if: matrix.variant.os == 'macos-latest' - run: | - echo - - - name: Environment Setup (Linux/GCC) - if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'gcc' - run: | - sudo apt install -y g++ - echo CC=gcc >> $GITHUB_ENV - echo CXX=g++ >> $GITHUB_ENV - - - name: Environment Setup (Linux/CLang) - if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'clang' - run: | - sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" - echo CC=clang >> $GITHUB_ENV - echo CXX=clang++ >> $GITHUB_ENV - - - name: Build wheel - run: | - mkdir wheel - pip wheel src/python -w ./wheel - - - name: Python Binding Tests - run: | - pip install --upgrade pip setuptools wheel - pip install -U -r src/python/tests/requirements.txt - pip install -U --user src/python - pytest -vvv src/python/tests - - - name: Upload wheel - uses: actions/upload-artifact@v3 - with: - name: wheels - path: wheel/*.whl diff --git a/src/libs/kdmp-parser/.gitignore b/src/libs/kdmp-parser/.gitignore deleted file mode 100644 index a4b265c..0000000 --- a/src/libs/kdmp-parser/.gitignore +++ /dev/null @@ -1,67 +0,0 @@ -# Prerequisites -*.d - -# Compiled Object files -*.slo -*.lo -*.o -*.obj - -# Precompiled Headers -*.gch -*.pch - -# Compiled Dynamic libraries -*.so -*.dylib -*.dll - -# Fortran module files -*.mod -*.smod - -# Compiled Static libraries -*.lai -*.la -*.a -*.lib - -# Executables -*.exe -*.out -*.app - -# x86 output -**/Debug -**/Release - -# x64 output -**/x64/Debug -**/x64/Release - -# vs directory -**/.vs -**/.vscode - -# user files -*.vcxproj.user - -# Bin output -bin/ - -# Build output -build/ -wheel/ - -# Cache folders -__pycache__/ -.pytest_cache/ - -# Test dumps -*.dmp - -# Version files -src/lib/kdmp-parser-version.h - -kdmp-parser-testdatas - diff --git a/src/libs/kdmp-parser/CMakeLists.txt b/src/libs/kdmp-parser/CMakeLists.txt deleted file mode 100644 index 77b6dbc..0000000 --- a/src/libs/kdmp-parser/CMakeLists.txt +++ /dev/null @@ -1,36 +0,0 @@ -# Axel '0vercl0k' Souchet - April 18 2020 -# CMakeList.txt : CMake project for kdmp-parser, include source and define -# project specific logic here. -# -cmake_minimum_required(VERSION 3.21) -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED True) -set(CMAKE_POSITION_INDEPENDENT_CODE True) - -project( - kdmp-parser - DESCRIPTION "A Cross-Platform C++ parser library for Windows kernel minidumps." - HOMEPAGE_URL https://github.com/0vercl0k/kdmp-parser - VERSION 0.7.0 -) - -set(PROJECT_AUTHOR 0vercl0k) -set(PROJECT_LICENSE MIT) - -option(BUILD_PARSER "Build the parser executable for kdmp-parser" ON) -option(BUILD_TESTS "Build the test suite for kdmp-parser" OFF) -option(BUILD_PYTHON_BINDING "Build the Python bindings for kdmp-parser" OFF) - -add_subdirectory(src/lib) - -if(BUILD_PARSER) - add_subdirectory(src/parser) -endif(BUILD_PARSER) - -if(BUILD_PYTHON_BINDING) - add_subdirectory(src/python) -endif(BUILD_PYTHON_BINDING) - -if(BUILD_TESTS) - add_subdirectory(src/tests) -endif(BUILD_TESTS) diff --git a/src/libs/kdmp-parser/LICENSE b/src/libs/kdmp-parser/LICENSE deleted file mode 100644 index 469f088..0000000 --- a/src/libs/kdmp-parser/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 Axel Souchet - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/src/libs/kdmp-parser/README.md b/src/libs/kdmp-parser/README.md deleted file mode 100644 index 292812f..0000000 --- a/src/libs/kdmp-parser/README.md +++ /dev/null @@ -1,234 +0,0 @@ -# kdmp-parser - -![Build status](https://github.com/0vercl0k/kdmp-parser/workflows/Builds/badge.svg) -[![Downloads](https://static.pepy.tech/badge/kdmp-parser/month)](https://pepy.tech/project/kdmp-parser) - -This C++ library parses Windows kernel [full](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/complete-memory-dump) dumps (`.dump /f` in WinDbg), [BMP](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/active-memory-dump) dumps (`.dump /ka` in WinDbg) as well as more recent dump types that were introduced in ~2022. - -![parser](pics/parser.jpg) - -The library supports loading 64-bit dumps and provides read access to things like: - -- The context record, -- The exception record, -- The bugcheck parameters, -- The physical memory. - -Compiled binaries are available in the [releases](https://github.com/0vercl0k/kdmp-parser/releases) section. - -Special thanks to: -- [yrp604](https://github.com/yrp604) for being knowledgeable about the format, -- the [rekall](https://github.com/google/rekall) project and their [Python implementation](https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/overlays/windows/crashdump.py) (most of the structures in [kdmp-parser-structs.h](https://github.com/0vercl0k/kdmp-parser/blob/master/src/kdmp-parser/kdmp-parser-structs.h) have been adapted from it). - -## Parser - -The `parser.exe` application is able to dump various information about the dump file: exception record, context record, etc. - -```text ->parser.exe -c -e -p 0x1000 full.dmp --------------------------------------------------------------------------------- -Context Record: - rax=0000000000000003 rbx=fffff8050f4e9f70 rcx=0000000000000001 - rdx=fffff805135684d0 rsi=0000000000000100 rdi=fffff8050f4e9f80 - rip=fffff805108776a0 rsp=fffff805135684f8 rbp=fffff80513568600 - r8=0000000000000003 r9=fffff805135684b8 r10=0000000000000000 - r11=ffffa8848825e000 r12=fffff8050f4e9f80 r13=fffff80510c3c958 - r14=0000000000000000 r15=0000000000000052 - cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040202 - fpcw=0000 fpsw=0000 fptw=0001 - st0=fffff80510bbf000fffff80510c3c9c0 st1=0005e5a800ab2000fffff805106b3000 - st2=4000000000200000fffff80510beaea8 st3=000000000a0d656c69666f7250206465 - st4=0000000a0d656c69666f725000000010 st5=0000000000000000fffff80510b16900 - st6=0000000000000000fffff805133e9000 st7=fffff47c02899f480000000000000000 - xmm0=000000000a0d656c69666f7250206465 xmm1=0000000a0d656c69666f725000000010 - xmm2=0000000000000000fffff80510b16900 xmm3=0000000000000000fffff805133e9000 - xmm4=fffff47c02899f480000000000000000 xmm5=00000000000000000000000000000000 - xmm6=00000000000000000000000000000000 xmm7=00000000000000000000000000000000 - xmm8=00000000000000000000000000000000 xmm9=00000000000000000000000000000000 - xmm10=00000000000000000000000000000000 xmm11=00000000000000000000000000000000 - xmm12=00000000000000000000000000000000 xmm13=00000000000000000000000000000000 - xmm14=00000000000000000000000000000000 xmm15=00000000000000000000000000000000 --------------------------------------------------------------------------------- -Exception Record: - KDMP_PARSER_EXCEPTION_RECORD64 - +0x0000: ExceptionCode : 0x80000003. - +0x0004: ExceptionFlags : 0x00000000. - +0x0008: ExceptionRecord : 0x0000000000000000. - +0x0010: ExceptionAddress : 0xfffff805108776a0. - +0x0018: NumberParameters : 0x00000001. - +0x0020: ExceptionInformation[0] : 0x0000000000000000. - +0x0028: ExceptionInformation[1] : 0x0000000000000000. - +0x0030: ExceptionInformation[2] : 0xffffa8848825e000. - +0x0038: ExceptionInformation[3] : 0x00000000000002c0. - +0x0040: ExceptionInformation[4] : 0xfffff80511022203. - +0x0048: ExceptionInformation[5] : 0x0000000000004280. - +0x0050: ExceptionInformation[6] : 0xfffff80510880524. - +0x0058: ExceptionInformation[7] : 0xffffa88488282360. - +0x0060: ExceptionInformation[8] : 0x0000000000000280. - +0x0068: ExceptionInformation[9] : 0xfffff805135683d8. - +0x0070: ExceptionInformation[10] : 0xffffa8848d9d6fb0. - +0x0078: ExceptionInformation[11] : 0x0000000000004280. - +0x0080: ExceptionInformation[12] : 0x00001f8001004280. - +0x0088: ExceptionInformation[13] : 0x0000000000000003. - +0x0090: ExceptionInformation[14] : 0xfffff80513568578. --------------------------------------------------------------------------------- -Physical memory: -00001000: 00 00 00 00 00 00 00 00 00 00 f9 ff 00 00 00 00 |................| -00001010: 00 06 01 01 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -00001090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| -000010a0: 00 00 00 00 00 00 00 00 00 a0 87 00 00 00 00 00 |................| -000010b0: ff ff ff ff ff ff ff ff 00 00 60 11 05 f8 ff ff |..........`.....| -000010c0: 00 90 2f 00 00 00 00 00 ff ff ff ff 03 80 ff ff |../.............| -000010d0: f8 00 00 c0 c1 f7 ff ff 00 00 00 00 03 00 00 00 |................| -000010e0: f8 00 00 c0 c1 f7 ff ff 00 00 00 00 03 00 00 00 |................| -000010f0: 00 00 00 00 00 00 00 00 70 37 01 c0 c1 f7 ff ff |........p7......| -... -``` - -## Building - -You can build it yourself using CMake and it builds on Linux, Windows, OSX with the Microsoft, the LLVM Clang and GNU compilers. - -Here is an example on Windows: -``` -> mkdir build -> cd build -> cmake .. --- Building for: Visual Studio 17 2022 -... - -> cmake --build . --config RelWithDebInfo -MSBuild version 17.8.3+195e7f5a3 for .NET Framework -... - -> src\parser\RelWithDebInfo\parser.exe -You didn't provide the path to the dump file. - -parser.exe [-p []] [-c] [-e] [-h] - -Examples: - Show every structures of the dump: - parser.exe -a full.dmp - - Show the context record: - parser.exe -c full.dmp - - Show the exception record: - parser.exe -e full.dmp - - Show all the physical memory (first 16 bytes of every pages): - parser.exe -p full.dmp - - Show the context record as well as the page at physical address 0x1000: - parser.exe -c -p 0x1000 full.dmp -``` - -Here is another example on Linux (with the Python bindings): -``` -$ mkdir build -$ cd build -$ cmake .. -DBUILD_PYTHON_BINDING=ON -... - -$ cmake --build . --config RelWithDebInfo -... - -$ ./src/parser/parser -You didn't provide the path to the dump file. - -parser.exe [-p []] [-c] [-e] [-h] - -Examples: - Show every structures of the dump: - parser.exe -a full.dmp - - Show the context record: - parser.exe -c full.dmp - - Show the exception record: - parser.exe -e full.dmp - - Show all the physical memory (first 16 bytes of every pages): - parser.exe -p full.dmp - - Show the context record as well as the page at physical address 0x1000: - parser.exe -c -p 0x1000 full.dmp -``` - -## Python bindings - -### From PyPI - -The easiest way is simply to: -``` -pip install kdmp_parser -``` - -### Using PIP - -Run the following after installing [CMake](https://cmake.org/) and [Python](https://python.org/) 3.8+ / `pip`: -``` -cd src/python -pip install requirements.txt -pip install . -``` - -To create a wheel pacakge: -``` -cd src/python -pip wheel . -``` - -### Usage - -#### Get context, print the program counter - -```python -import kdmp_parser -dmp = kdmp_parser.KernelDumpParser("full.dmp") -assert dmp.type == kdmp_parser.DumpType.FullDump -print(f"Dump RIP={dmp.context.Rip:#x}") -``` - -#### Read a virtual memory page at address pointed by RIP - -```python -import kdmp_parser -dmp = kdmp_parser.KernelDumpParser("full.dmp") -dmp.read_virtual_page(dmp.context.Rip) -``` - -#### Explore the physical memory - -```python -import kdmp_parser -dmp = kdmp_parser.KernelDumpParser("full.dmp") -pml4 = dmp.directory_table_base -print(f"{pml4=:#x}") -dmp.read_physical_page(pml4) -``` - -#### Translate a virtual address into a physical address - -```python -import kdmp_parser -dmp = kdmp_parser.KernelDumpParser("full.dmp") -VA = dmp.context.Rip -PA = dmp.translate_virtual(VA) -print(f"{VA=:#x} -> {PA=:#x}") -``` - -# Authors - -* Axel '[@0vercl0k](https://twitter.com/0vercl0k)' Souchet - -# Contributors - -[ ![contributors-img](https://contrib.rocks/image?repo=0vercl0k/kdmp-parser) ](https://github.com/0vercl0k/kdmp-parser/graphs/contributors) diff --git a/src/libs/kdmp-parser/pics/parser.jpg b/src/libs/kdmp-parser/pics/parser.jpg deleted file mode 100644 index 0f7d8d654b618967f7a5008c920590044f0e90e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 544808 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

cdrn0~&@v<&sUYpemiFWR!IzqxFv)A3rR~qVurC zQBwM}E|W}^^#J?8RQQnyw()DuuYiM)Fssil1hTw`AEH!)xdPY+%8SZ9rxH4&+qLb4 z&Nl2Rx0>3%x}Id7+F546lVwu%ZU@^;-L!lfSl}R}Q`77lEZY(@4X|6h|B2nw|2KB) z%m2h~b+ZZKvXu^DJtIfZ-jFj>w! zHb~oPi`7=?!N1&SDH%jT9)Boa?1196F{bf1#Vh}BikHfNP`n)eMe)iy`#Q(hoYR3I za6QqmcbVg<9jTOJ-V$&dD5tQrvaUg)etD*fUF`_P7cjXyJ;pIP1cY?OQGvuIeI;<1 z&G?Bz5V!gzk=o2YVSA@OQiJ!`d9;jW*MOaYryVdi&J}5~2uhb>cxu+Ne82B##iFB8 z`P?J7U)Q>Ui#2I3L~*r?{yA>?K(1*VQ7v?Gq1fq6AZ`uyBy}ZI(cS#MeQF|#O)JC6 z*sFbjpE72Xz`ZJ?^~krPoesXy6%1`TAD41`4OH_Z4ZiKQKKb5SGdlT6L{jtx?$_RZ z<@bAA@u>@gNRElWd=DP6@Q#rEeyPyqVed6!_3jrl*P)c_f~!@XQh9msSYu3EZvByT zv0s7hHRyx&p2fu%f&wPipKp9Ly21MKYA9Q}&#@8w&;;|-*<#>C{%pWz-m<#+E0?qV z7+=(~aLEi6f1)adZU}@%I3WFla#R}~*ie#Fp4@N62(LUnvJVG37Bc7k2sd8l(p;yP zmLCrub-Vx+aEApOYGcm!0DQePA9iv1@Z{Y+t0RIhz7=LD*@2;~_YusDT)?@^tX8>Gn3J~+)&`qTT0Z+!oM^}f89h?4{!^{&W4 zCkxI-Y-yx2ZNroavV=}#^-33~({lPTgBgqD*`|k_6`w-v&iq_gvs)%VHznlxl+9bs z+gc3-1o#LJD0Tza8qa^a*2-OMu6_k=e0fkrywmdcB5c+QT7A9z@bz>3QY+>3J;@B#)^W zmcb~3a=RC2mBe3K=YJA}NS|B@%z7oqmy&@APz<;;1_p?_$Z_{A?^&HM^mUI0*T^Q* zrt^PNuqaI|KV)H3lhBxuBEPbphDu8f@+n%E2A9pvAr8Lqy>8R~gg!r49)I#FI;&motb za`eEd?=4-EjCj<+2#v?^_kOOXx$I{^7TD|QBeg$1DMPKL*x&y!+1aY5nM&({K6gq= ziV0FT;Lc=t`axQrZ%Hik!}rKzt1Zzae8-1|+k7q}dNlV)!PO(LV9wl$4pHNfx|B%v z1-(OUHP!96H~`ZNO`97O;J$C~_9%1mSoQPsZmu3s*CPCPT?_ViT`OkicU{X1)V11u zc`M^-lGNiq0Tt#-G^G4)0S z5+6h18B2O&Zh@A?RxWHDHKVuKbSnyD^(kuNRN@$Jez|ftCGE1_icr5_K!rpnf>DY1 z$HZS!IVjP@U-!X%?NoL$9%pLv9&?b#0}lO>l0(!TBMjZyWjv#|;>`75 zlGP5kE#R?KTZt{na=jS~h6d`5cu!j^>j5;t7ZMV)H0A(H>&GjyZ{k%hN5%5esz4yJ z3~&9xs*4S0zH`3nirPzSZ-AB6*p*q`bm#SG70R^o@S07~$|Z;6wy^XjIJILYu(VZ{hUCoJ}06Vx__hu(&tV2F>&i1GW2hW&wM-DYq{Bk0SnW6mU`2Mrh2@E zGI!lyxc|C&jrtcyH(#=*8OaCVN}pJF)wq2$&`uCMNEloEstnL$&rsc~3AI58BN_kG zXS~8pqU44LS zjm1C1av%VB>ROd=H;;RWc+V>LOF!|_+aare`LSSk_%$yYPxb;gu(|ypj)D4A;ld6u zz?X%zJX9tXc6HZlEvTc`v*av}Ohzv%ts$gR4hMcFCaDr$&hLfF1r@^28&-aNT~$|R za7!Ji;^@kUBNcm3V3zSBvde~#ldT^!41PSA-XwgX5dHjZI7XBr@E&$2X3unFznvME zXgX@^zCosH(vW?j_Gx4MOcepX>=LalIJgHoFEGnhKqb(p0iAU<%CCgv^@q!t_y%mLOTMtEwA4x!=6MzgJ5Z~OuUHbB&J5aFemUl{DbmZ} znl)9$f!PIRjvGZRcBj1OT*e?(gQl-YlHcJAkMrB79 zIhfOIo7@4JBCfgTLqM$oDp;z&D_BaLPQNQy48JQ_t?}(O4hc>)Ey=3P9Den39+Jtw zAdXHXHeSb96ZdlBY!7s$c24P8;R%hE>tHojDFs$z-~|XqkSTuO+>so8jhFU>J0*me z59!^;h8w{WcgWvnG6`R5r*>+xB8)SU53cqk5Zit*fTZk*tL9#KtX1sE)_pAdF&8!u z2^M!kwRSIG?>MrlL3k8&ytlOiQUJb})dD{V66w|$Xri=QB6=p)lsMq;r;Sdtf*Gda zVLBsFMY~dX5g0(%>ipQA==h=$GbgL^d>T~Lnpz59f4Y=x;ux5$RrP8T%@>o8^*!Oy zLA%)p8YUy^x=-5O`t*g){(?OD3(~l|f865zHkkYT2?k6il__BKN81ITOC~c?$7XJS zCW448Clk9nHL$g#6LBiU5&O#Tz`>=2zTE-AcPx5FwS)9Pd43PdKUDZR*8fZ5u%YT6 zE>xei(@KY1}%YQ4GUni*Gr+zs0Lf6$V?6ChpuvRW7|GYB- zcr;}}wuYm%DRtJ`+_lnC|KpLQ8e~0sHSPj$CNqMfC@UA2XpF>?tW8wEL47Q~;Y*)X z%$PB#(H3Q3GeNwa`XzJJ zQ!k0-_PF-?11S} z9EVWD<&=U)FQpg1&W2?K>iSk*UAbTPyu9(nW6$rs5%)G`;l37sGl1JTS|V>?2a%Zn z#Q?saFeiP9p%X&k*CJ> zbK(u-9jI>Ey8JOL-J)V^qHZiU4XC_*8^xbqeEvyq>qCgIBh=`^`oJHe@GKw-&#R=U zV#o?7QuEhLCO^gcmD*OI20Vp35npr?ML2pmQ=_GGm%Q3b)_tYxlkhj|6YbN}ET^Tns!97Q_&W@`we?RvRWCIIjOEP&=H z!ME|0y7%d4TgtTz@|gXvk)3Cj!UgH+zE=axJ)$_GjA)Ou9&+;<>rnonXL^cj?xkm= z#1d|p!&iN0p3dz^DAaHNs&|xIm81%a zUGRvq5Q)Xm9qj4~o>2}(RxK%B9_u{ty~q|2=BA(@;0Jxl=3T{LunAE^C6yQ(8_wba z3?dg-x2ns{%`Lu2eDOn|5w!4TgD67X>%H9A8?ODHtZyU3ZLGq$7Ky;94ky!{t%Q|H zbkA+XDn}tbC}&i%tt4DPVi4-2r(FsT63_+X%pveNJq{IQk8lSv@)?}Fq~@4LrqQd- zuLe(JIECL4a!`nUyg-Aumxg=`hn+D_FHFYVQA1E$IqQ}>flSN9{LuSE_V&zO$5bIB(2c8E@Z_kp{J)Wt=skWuj_0Y=m% zg$5%*&@?^K0Q%8`W^jkM?Pi*cXq&9rQl4UZHqrKEU|QyvtBjqOogx@r4~?Gami_Qw z_MgjqJGXY!|CsU4pYhzF@AV|jdwP0$0U5bUqZs9G)@$tH2vQ&60PSkfX17HLy+9GY zYBf=?mY=wqVwLX77?ox_H#lpRvKxNaTK_kw2|OAmMm;fbJ|uB_Grb|-o)D-}f}%AAbCce(IYuNO20wEXzDtZ}V36FX>Eh|j6bza@X*HjtQx_pU` zv6pY6$^{JP?0ygDQ0YMD@*l%FR9AI;^|R=gZ^KzgfzCyUc-%%|ynGLwf0ZwsSm&+P zz{|SQZCL9u^O5DKZ#s6x>y)}2*}kf&Y0E89SEJ${dIU`y>*oe)wPEVx_7hPWn(ggP zNkYt>hfRGW2Q%}wH|#EVdtY4+F$#*>o-%v?@ZPs;!EBf+fPls^^`O6W1`ADklPE;~ zPaUi*C)g{%!Yg9#lN7C0AKI?r(ctyJaO`Gjuh4!ElQdqRhI z&fRDE$`*-aCEhPs386>wdJP4R92ty58uHo35hAsoU}H42dLwtF!2tgV4f>Fi>Kd$S zBI`ta+BUkpJH6O^NhCw#n%0s3NP}26-(;b_7+q01#G0gxwOm3d9{}rbJ&ipa9 z+RGi=`JM$E8o$<5!aNK63J6vKzj2cv@9~qRD#^!Q-;5kma@TH{&?c^GAX$G5`9l;& z28cp8CPE{%^=$;ygMOTG)?`sci4 z@C&I6^!4~5ZR0V@BDI^3{RZ%v;5#Xr&ddIzZn-!8(TTuXEHanntiiT-QKh(5)XFZ- z5a$pBvD(Y?PZ-aEk5;v7-zF@+5?qv=&U$eb$-$~eGp1eeNbv{W_zQQM_#FMw5~8Ew zDOP@h{UOOYeGUV>6WMhM-Th4g^XhKNld{nerh%LaE}w2ue`oii5b9Q`nhdXiJ6_`e z#aJlT_5z#Z4-0+}LcO73p{>kffIsphz;GC0A(u;N6Ok^r+U88(?qZTl*sZ|!t>`a^ zNNqm5#XS*(ysD1cb@u5PYU3!7qZAwD#9jtOWc|b!qIz za@)Aamf4&+^gf&-O_&gX}sj3cq(h^Vi*TJFu2|(4cfTEs5)z>eVgw>+E9O z?;PZchz0mSG_u(?JOe}{9Y`64jQ@hL>n}8W zkk077L3C8hzkaNaCBuW>K6IoKI9Ihj0ID{X$Bn(R1w{(GUH`s$fq`9r)6aLnN4%5-fp8^G8}qqjwb-B{^6nk+gfZeKCsbgO3PKEvKs zzR?V^8&P&+k7jxgzGdea$gn>cNY%wz=wN?L96`-XXrHN~iMsv$PJGz{V&dWxHq2QP zrlxaF7F!&%QybtxIcxP1fS5%Rn&P{n-9I{{sq%DPVv4jkxF9AsNOT2SxoBs;Org-i z8KseQQ$hsJjsM6qK|HvqtqfQ38w&mEjCj8H{$iMPE(-IC2a}zK75UQeHSiqy$o&r# zy1I?-2f%y!Vlq3j1?z$C0dc7pJ>URbEIJtJI1f?L!ss+{5i={x9lQ^e9RqwveV6&? zc~zjMi$k5(chC-{B^GOA7E_kaY1A%YY#GGGP4^_pu0QplOaWr9a@XX68KhVWiPnEA zUzE6bN^U)ZbQA3H=dBJ#=_0qEx?iu)C*B;@fQo5Wf~vqB0+ujaTPs{pE&KF^rP8gl> z&JPwe*^*~Nbz?rRI+9Jzw7dIsEz@U7R3&D86g^!0eUTqHE_@bkcgS*?(5G~+o8!i; zl%d z{Mn>@M5&;fGen3=%GcPgaVFdtlB|ClUt^MKc|wU7hs5rvW6l!JsB!Tgxz?TKxTf8y z{ITua=u0hW3U&g=ml~B!rutJ>#2SPg)TP3YrPs45#*p)2!IT)^#M*~`K4wyhRH!~! zNpC=@3&T|fd*z3_EhRLIzS^`|uQ0Nbc)RlvXQUfSS0`Ewojkm^1a&d(FMYBepP5<; zN|}>t>y10Jw7k4^D?TfhJe~3CL@Q9Oj^%s=#$$iPc@2r)N-8a}#A)bSx2Jc_#f+JX zE>A7y2q0U{jU=FwNJQYgiVz)qXmXTCXch?^=*UL#x!Os0&UmI<;knmS zeFMU&gkZ^Ke8xzbNTfcE*;#+O4gNSM#wJv{l&3AcaD$|2We&>|zwN>ELgvUR+2D~e zr-8IOrRu{lD3|eRmJhQ6J8j)7bUPU?@ebxK6g8Mwq~k48VHbbWSU_Y6UrMzLBy!5? z<%kQ*2>YmvCjt$SjxC;oPj;A`aZS7tUppe0tWoUmC4bMGENe3-V3mh2XRrQ6WT81C z_{C&Z?GUxh7MI<^4w)86&CyP+jSiuO{ny7cVL$Ai2i2i2qHem9?v^HT2|uzTV${t| zuAM2#Oq@=V_a3bgkygT zuept_%MU7dwxNEH@e7r5_W9`bGQ&LXavsN1Qz33<&FP-t|Hs&U_*4D=|KmRrDl>cU zJ+rq%WhblbQ6vr_3CCX9D}-#avXd1KvX$&rwqu2GPDUpVuir!UdcEGC_viDyTz-Fn zb2;bY`FK9=<9d6yrf@g!Gsa6Veo+_AoQ8}vV`FO>0}LXkO}F<0iw?rw_XJ@A;f%@8 z<#kEVM(C@e7s+hfMw_T>&VSYSst>u1`+6&fxILvfWM-Me&9&}U?+xPa*A?t3FSAkvRo+7|!+TGw?~k-U zR17q;CNa}Ql9FtKVg=XB_EA6SKrj9U>zn;%|()@-DABbiQ^nf!7G9B^vwC- z){i88=4X%8WyGvlx29X)j_97jYfU?1!am8pR&xBP@I5~Te%#6Ua-+$k^Kf-9} zJ*x$AD(m97*uuEYm7gdeYi^Bc_a!|G`}rkXkA)edyR=(g4U_vH)1r6Kq`8bX=nu1w zi9M7_AEc;0m-Tw`llQ2Jm%a`d3J|Hqq`$&2Pd+_0*P9js)9!l}E)!p@OyA0%7IFE% zixqrA@s5w#+|61YzHN;XiB+P&s!XrPgT2vXk?vDZR--5m+W@bX@}3*8uSm!M)zhK=0+B!n7ts#-cw<6-1RjDBXL@|CYSa zWe8_~(eb!mQdZ1#jdkUA`pKO} zOZw|}{ouGg`4D~JnYbmIccN3)mdWN7qT5ROj8Et54QDS1wijWI^y(otM^4ogZ_Ru& zD!E%XE_Cpvdf9mYkd#ZS@Q3iHUd`woqX4n1aAc5bd#p9Vp=(G0ckQU8@2R{&#-47d zLHLSxl6qMF3-YY~$S?0V;}6?iPh_{uQq!si&$Ad7Kn$fK^u$nqq|WzCNmDe0^5X}d z7eX7~yZjbz4avyNTUPIk0uWQ6WATU^20a!kH|&zLfWEcwJhin#Q`7~5ifF+AXp%Bp zagNpf?Bzr>vvhvL=eW_|Cp&QIy^{6uR9d(n)B`z84m0D5A8yz(b~9C3C#U(8*eR^R zNc3jMssLyYWYw6PJJ1H`vKe@=KhzaJ15<07XR~n|3};;@v9`2dhD6VshklZ1yT6-< z@L$bC$A6oL)qk3Y-TyQXA@L%}=`K((ke-qZB>jwOG@Qn27S7klAp`FhwI*adtLT&+ z9M|Zupt{)EQj>!(UL@TyPte&;g5^O5(!(JK`|YkKbt0j=JOhN$AJzYu@B(MBe|a?I;J@ zj@!vH$z5_z&y>8a=fWG=N#s>)bA0xdnb}Z{%c|A!b)>ZL1k-8V2!!aelY@PGb4dUE zT+1L&%0<1dR;u*e5Yq|X)hr{IxFvb(|G`Z*opY0B|8SF;jv@v(z&4t^aU+%nlU`wd z_KAg_P7tfqrxAKRdhru#J!`qkijw>B2umF!3BB_w%S*DkDd}&?Xbz*6(_#hoBr}IA zlFl}yb>3D?<12h&GYTPZa9!VTeE5?5VRb!7p${4H%#UrU)!;9P#t1^E9ITq;26Cl* zXdY$%cSX(Xd_~PcLsmw?=tqEaz{B--Et;C`G z{<}`&P{;PDjLuCck)UdB1UB1nc{fw=o1b(E-PJ;Ie6kO#uEEMI{M~vYcOl?|cd4A_ z9ufoLSj-V*tDXzTy7dRn@}@}}Ksa6;hemZv=(Z7y|yUhq>bbz~L^ zy_>0vDyn|=fXpc)yk7j$qc!2tLX)ruU|Ws$&$gPs_<8$MDzMh&ynQ+Nt9_~Jy*zIZ z+Lwefg^6J)^_{NPjXw=&i;}KQt>I5DvU&;*YOB{;hqu!oEYfZ5W2%01o ze`Lr30&9lpD94;* zlf&oO<>11IeccUrzFy}msO33%`Sr9{ZA*;DO(zJG6M*(+L)Nv7_EOgne~?3 zzO}HjVRw-|=M4F%B8CYHZX3JzppjWd_u(tFR=BlNBtq!HG*-R{lhB=N^A|)Fwf4Vu zA+*Axn8XBfFzTp4L-1BDHQP}x_SG;HtY|LY{0s6`^m@g9Z7)9ZBUwtmZWK=4wG^sg=t)dc2yI@yShb6W@opn*ZPVJ zt6ZH;db#xFC<*C!KhAoQ;}QkIfs*fMzwAosce{Q%fE#%1T5m>$IGbzUHjWtdPU|5I zh{%ST{Y#as_M6fZ<0oc^+^nk6h`>(k6R>f(UX3PIovxQppx!bIT~sB>qdtBZ<$h6R z=T15Adz?-+2t*2>_YDis4&?T*;;1J-%uvQyuH&|*LO8VRiB+KejJ1NvbI8W zwo4+G45#ViGrXYr9D!|UBnvr$4aKm+l^Www4S$1`2-U2QCdK`X37D~@FdScRxY*C> zJ4sO&KeY3Blt#>jPTpyQi3X{bxI%hmGnd3e1kZ7Sw`Tkhwt<>HqRtaM8@rY{NGMcf51SrX$4FLx`Q>mFE2X!XajbB$a4j3pCgh{biY3Syjo zhT@PAZM8;Xyc`u&sMDJ5rpr%kB~aT@BvU_&9H&69X!|3b}+(lly0LQmB_hXNz+jU*-ff=Mt!Q->`L zlAj&coyzTXiw%Lf9LT^L=e3Ws9CN{Ib|w?=7;2v@jZScy@6C91=g>5awhf{S&aO7y z%R~}<*4q4Vt%0j5pm&Ug#}DuRiSf%WH`>q*c7(6~gn}Z=w?&k7_izz3dQT#EhnPWk zgnD+cmcDkL&dX|N`@6*L)Khy-m!DKA@0A{5B9@r!mlI;^p+rt7uC~gO=8AI0kel~D zGBKGvzMGg5d~n}l$DiQDd28I-&usLY2Sb4`l8K{B&MLQZj!f*wHpDxsk8U8yZDiH6 zniz#4up0LbEK*H4`KE{O0=|{$>N_Z1P_hBNRe2*cr#sB&ZdiPRSCuMBk@ws678Y&V`!)=6sq7%5O!h zNwi;Z2b%`G3)A{>xs=WJbH7jq7W&->p*OH9@KC5LCP;v5cVz@dR@sAUPLG^!Sds)$ zt>dU=e^Sr2F7V4#(57PqV!;O zx)3XiQFTHB!K=2n`KVqhY}u7mu^#c()FfuMB{OQ#QJqppP(v9fJ-yHZa*Z}eu9`Bi z^MZnW>1o6-eRAkb_sAN{wdlB5xAVPi^d$S|=DJ^c@2^%C0`Zp*u>1UG2EOS)MoF-a@R zsGX`(<``Gz%;K1nmhy&#L4FQczUtjrYQZtjUNP14Xhk&P9cwy=W10Gqvk%_OI>MTq za(KZ_1|uQ=)1K5xKrXbfe7iSO{n_uDi*et81BVjj*kF6wY1Uve!52g=ci>vSC1%A_ zrkJBwi3ZD|8*5FKhboDv_X^d1J|MqMUs;kgGIKs)2DeSRb?vT<@+vjIG|{TGHU?Jg zcl|d$DF^ULN3$3WmJ=_XP;HI7WGzZ-%~@2J-inhOrB3u|5m?m|X{_>uAI@@20xsNK2d$Gevy=L|-7(oXs)&7ow(2s2 zLWri5b6lNVO?o4lzqP@;`kK>s5+}J}DTj~G7O>yl?>eM*nBjOKz{OZMSpfVHQ z91*2p>6M4EI_m0Su@9~)oD|~p)#eH#Q%FKII+4DJ$}TFpBu#YTNz-0EX~G3pj24#9 zb?KC%r;U0_!4w+#XvagcRrA?!n@mHdQ>6K+d1Bp0>ak794#2$ug?%MJKq_&$!wu%- zcHjB6Zo&K~?ljGe2Mb3or{)8AkImOR=s2<6xEYupRG<-t2kE3pVcb6M!B=&Fk(6VLzR_EIP`f}1(|JcTv2A+1;kbhxnJq6X;>LIBhZ0eDtXm}N ztVyHEDD={$xW;<%!UCPO+fcx+lHu^JQ@s1-j!=@nAP?fid#p)vR#Yd!a_YPpJi=nE z=t1k-FewJ}8**pgWfmirg1RB@S;paxR-6;-=nSU-fpKH2_H?#)?;5A59m2Ni_-&I6 zDf&2Qt|xg1hiaI6KNQq-AZCfoz3f36k)a+TSx^ScVFjs)wi!Co#$%i>y2P(9bH^5r z_VLS+HxY&I5m5}u1VD@YRngpwI_TVv#bBSIri)7Wg8e(5Q{D3(j%c@^*S$09C;r-rnF|zgLcszfPfEe4kjHeBY4shszI7xm7a($G zZ+y~Y6s6NMD?lZDJ4A|5z+-xwrSiQ>;J3Fsrji!6g(@Xx?`ag?d3^Dz*3gspad{!K z7tuK_9XSH^7_=Meq{FAWYkQ9hQ=lI8)L(2veNyLzp((*4y_K5KnoT10i@HR_O%BHA z#{Mo?o6|zp(Ljg2n2f&gM|G~07~gJGpp8XU{ze_mHTLWAXasrhqWE=+mWQn#p`~bd->>k=m?CssU=ZFveib77;{_c$Uu8n3b^o; zNcfp3+HUjZrWb{dVo_7bQ?dm$?uTguX-ORR_po@69^{N$A;uMSfFTdcii>}j6~7N7 znSPfQ3!W3sI@rQ4zY+gfd^5Jb<1y_+#k?TW2=|#6M+e0}m?vD83~(lzkQwGoujk~) zZ~}g4K~uQ5Trp_no~6LUuZPHJr8**lBF2Lq&4W#C%*ZuaMF+*NYdTC{A#}_K(f;Ti z?M>zF!3(67w0r7-oguuCoeag-!yBp)rpO)TEodc^!{H!Kp0uJ&VNqW_6CQ+8Px08m z>mcvGmc#Z;LWvdxn!*^UC9cYPh4+!qXx|uc8w<93cocsYxcKN@IMMUR6udhs1U*Y% zgQHEACHlL)vUw`gMU-{9D?Jy(p&#-@te|FQU?VXkZ6?i}J@ffW+ z9N;i}4n9t>1n}-Emdam&Jo!;#AMLQhp55njk7r@?_CaBuE#ooz){P+0O|uGKWRI_F zH?zU}>EnKT`=FR8cBKf4I~7EtL(odsQP6sU1V*zRZK!c+{)`gRZYH{r%mWQ0klj2U zxo|W{X&=0;12w~!k&@HbV8AAWpt;dnE%)GFUjuScjn7!eD?%`z`rWWnb4NM5wchO4 zX8pD1^MHobrU*@W0A`*E@(H4&kB(OKT5`6wV8SjXiAAZfm$m(?Yw0h)YjP&(+!%J0 zU18$IZ5|I$^waq>>%8|N{DZh;#>T`xyWC;^uUYUi18qHS3~87?d;)aNh-oN z1Qe&Zx!pD~ee}pMe++SfJ_EkmOhwbi}>o{xQOnNM|82-xJce>moyhoIn zY<9)~epnHFupb8ehY@~T2P-9C|~xMm$A9|zSCTz#o>FA^bQ573BiADWOl z#p{^O8IO%fu54B8N1U{e8f+{_Gj>RP;maP#v>(V5{Pt~9zin)cm$TQ%Byy&r?~{e_ZT^UuGk|k5jAEgc zu(T;9(Gkhbg`vJXC`^vV%npN-8RAI~W2rQMhnZ-r1(nbcgm*iaP9YE(clkiazE6pB zvd-&{@wjWfZ&c-HK0KVbtkRCV9PyW!Q-;1CPvtMq8_XJvRaZS7RQrPcEF!q>@bDk) zYvNG%OM>NiC03ufJrW@aw1Li}INwT)OXqjv)|xno_*(4s%eNFc$v&QFa8%mEb^lc& ztN&IaC5z)uTis-w)-@FxJ;-i|q|vv3e2`|d(T2l{8#ChPfz-XSo$TZz0w7KnlT3KB z{+rfR!YJIVwoR%~roQClVIKv3U|C}J^|Zlc&31EIr0baIm3ha;BulND5Dn$;qHHP; zWj2%ioyx|}aN%VuJyv|9lJH8b5MVIN6f%zTD>V$JZ|il?_^MSs5R>Qctr4gT3szRs z2n5UXAO!hG4vCK3`SN^jEW^iJol6v)E=dB-K!@$PuS}=JiRoF{qu3PFKl{5YkZ%N3t>^J_rlU_2DCS`xUhYTK-ftQ@>Q}nlC;dXD2fRszuFpJ!S1*}R ze8;{=Re#$q$3zcz3Hc*+NigR6Xc_yFgX||r&|$mugHjU`Pot5fP82yV;rlVWiE%{Y z$&7Wc2=iB;hLSQ^n>3m$yrfL5^>nAI(v5N2&b{vA)^ZjYWZ|>WOj*@#_N9l zP{A1f{NG&UL*qy#2|pFIXM$8>6@0I|c`8L}QLImIa+fFg=#AYxLz7{+o|^ha+`C}x z<=<60%c?K%Cl8*cX*5n0$B$0#x0;d7UV4-j>z;4&4AgubI@vs=K$vV_zSXP3Le;NiuoY z&$b#JZJWb-1{@77TISMKE^0jB@mx}tug$^pu%g1qmpjeeZUU~(5i{vXo%xFz!~|Al zqmQ=b$@Q5+H&xEJI$@stHQCY6+D2oy9HF(jF*{1!U)wI#TSAQ{BnQA+K+85my_9k4 zqj*pN(zJHrAY^>Ddqq8U&JZ^d?6&Aq!A~o#dziVW{4|bQ!de``w5m5-O^f}@J{Qj_ zx7Z~k$j_$gn`rwE?LATqkYs#xBcDR)9sWo%xN}!+W$6+IHJ77~H23im?-p=r%#q;i z7p+upDAVIwPfV)-FjCr9%_-66>7ruWko_e+?X?XTR3UH*3Fvxsmvd>H+AdFo7cK8N z>5WK|g^PL>TWY%U8curU6A;9Un?gS}DzGeN+xN}XZq9JMnz!h?m}aOj-sg&k;BE4@ z%TO~xDvPFi;&KwL2C2~Juww?mfE|rVWqj)j@OV81*gpw*FahS}+SZdQs=2tXnjN#j z6IHB!dMnadq%p|jtBM{UpfAmaVe5q$i*)q?oH!NAiTlLC7XD) zHaN@n9XJmbAuAZ;Qb#j2P|fH}gopHg5oS>jSG=v6g%FT%D~}Noa2F^RXVo)Ly7rjp zd&R_&T-Z>WzpJ;Mn^5*IMUqT5UZc?9O7oizqDvRA_Os^^j5QC3FA{rz2(Zb?@HC;K zEGelcj?%~B1=1)_KxguGJx7yfHtp!$20Ss?iQuZF% zDii&*B?~bmWmlmD$)fUl1ZiKkXL53jw&d)Ji@cqSx7eZo2PjE7$YDC604<$$^szh~ zN`F1`E{SkJHiPfgeXQ1&is3G?4^3FWg+)M^WRNtK!85zsNNdn|<7N&U7Voko_XTsz zn;>uE1_l#)=d0Ca zHOPneRf|0=7yML~PlgGEbKOheWy3u?YYsl)QQ~#d$=)#xH==$SD^#hf7SzAk|LNb+ zp(fyHIpaZ~+PbPXeFXPExR>PH#IfzO-Av*5lN_2QGN?Rc-IYs=@LxLRlBgu;J>wje zs1r0AxII}Vv}Dko$_5ria&#G|py7V^tKmEbXJe?{#@7z?5vevOR%sqwbuA=fEhC|! z!HHRJmSCZ@-QL-{+bDoudVvGA7cNOkap9ObrOHB=X(*o=8O3|`UsBkxkt1UOpkV-r zJy*kY)K+v+^=Z#mze^6@Fin|a;EPS5@4U&!8UGF490pKHT^EO|pFXS%lMfWVWi63(+PPG5A^m-26T&o-{|5@sFHmS7r@G|>ou@Vd!!91$G(ftZ1HapfK$SjwhTO(Bk^^@_z?(&j}iAQSRxWh#`AN>X4O=92D^>YW`sV;bB z6yoXpj&bShXpE&usx~yzPC26-$W7uBCzS^XSL}qW? zvNSaf>BVqq+NX2Rm?}sveO2}G1gh}%@kfm3FICt$NY5g9->MuqcXKFR6}NQGu`S)N3H4HLWZJYVO8G37`^Z*vjFdDbhOhN8;1X!7Ln7Jj7C}#o#93dCydNLh3!su)?->)X$ zRgebzB}$}Y!cQx4dotD|isr=?j?BQ*6d_j2Ya|%iVUhx21j{)srvgXjXzp@fAdNLH zpSUv2|4P$oq!AbXU(#3?KPlA!Sl7qfh*n_nM$VqPtD{Q7oxydcIp^(uO3t=}JCXiu zk6=Xyt*E?IkeUwU@zlPilY+Yn#|?>FOq{VPcK4oK;>gFZ*fv`)LMj?;7*6i(p3~Ef zf9UC0yX+{=B@gb_3xQu2d!-hCkzx-Uqg*`jC)>sfbm-v;gTPGx@5{{a()^DwKdSpH zgiPQvV;nAA&2U>THF`fR^!UEl*p@|mBr;=Dx0WYR3QuG+rj` zxHnTYWPLu;xk9#|Bji%Y#m6cHtu`*qb(h+!oHEj)>Yd_rO(tCGEx|Xh>+LVEBT)hY z-@M>s$m&s5LRUMz5-UbsBUEby;f1uM(GIGK?z=rD%o?Kj$+Y2>jD9L-775_52j{&D z|AMdw)qF9*+Mw5y!K>zES{zm#R^h0Ex0~-;Zo$V#H1FF@pBoMS zxS{EU%c1}6rSP2Z$DSE54akL|?iv79e#O%pHY1>fJQlcq&NOB)O~nDG5kKJ{rcu0l z&MTIwVj$--9aT2=_1ROrfn%0PNhsmgh+~FSfmflU9<`{I$$jG#xW;y)TmVCDD9mHgnO_?2j+^xDKy*VZ4#uj}gJ%ocC*0C1m7x9@vzT=`BVB2n7C0J%vHh-nmZxH<4r9@yaY(NTVGccS zhshNl)zm$MSX4a1dBh)k_?{|rd6>@W?CKOrW!|<=YE;?Vw+uUSzy$1fMM&op4+nTx zxVo!P*t}#4jA|2w|LC1D9rsgRalN`dY;yK|}GUft3&XUWJoC+%rh>~Q^7s?W2Lc?;La zd+S;ibU$Q>p4`^BxNosOH#$7Nd5ahXC6t(;!z+bBb7^{Jy@dB}(hq|s->58JoZr^y zgQFhDIjlZ9dn1e>Y*)duYIym1Iqm3!iFGH|vW^tLq}gk<__&N@#828fV>f~va7*hk zxhn$DD~(}0Al<BI zZbQ7s%)G~FWt_qz_Ov$zGeIPE0SX5G@PfyOU>Aam4p(74b9!?oIN?X(_8|9e)2ozd zrXD7OBJrR4!z-#mUOravm6`OcXa<%zYBFT!^F}LC&0mE>zM!4Crv)5M$joE?*&>|# zXL$ii6A=^9t~`H1DwU5%1W1Ud$AXh}HcE?zt0}{Ii=bxqJR$DqzwxUsrp3?tnjZ>3 z9AaO;AuTv8c2UHm8>V~p9{O_($Z?xl(PI8O5MlLJVR=I@gN^Y@(JM6dbbT@fvyEd3 z)s$C|t9ppXsyz3#v)q&kr_#{K%+17~1|w{4n(EaOfr-k5dz#Z37KekBkSv3vgTk{r zfpQS}@urp7qhhp{TdY?hZmo);KX_8aE_9DiWB37ovAt;L@Om=%J zzWvk@pD)N|dsAl>Sa61Y+{s(KID94Bw_RRt-`c=B;4tj@UePiT(~;O<&ec-pU=B%` zO6DnIg6CaSICVIMxrM+7rS}VQdT4i4S%zm`LaZk28IcJti&{zuLmYL9wr&HF`J$s@ zoT;>T9mwP@Q7!%`rf4l|t3Weof1b*oR$cmb1~1N>es;Oe*`3^>Af^`L3Hn_c;=q(zc~5zF#)3%m1}OtBL_=Pj-SIIP9o7QNNvA0w3WAseHGI}} z6nHG@RF0`RQO69Qktal3QM7{&lb>Yif`y5C;iB52-FT`%=$a;sT&z$`cyu3UpIjT? zHUrfvVAM8JukEa^^E-x!+T6EAlb+A!Ib*ny!IkH}q54)(n=c_=6yzPAw4K z-qt)RQYGT*!i{Ksmsp&$j=cU|n}ZyjmR!FtVGw`Q6Jr=NbIoa$W0o=tv(IO9W**aFOa6uyXs*-Lb`PX)Bu?#{k&A9k=F(6;^6Oy_n!e)Ff~Kz6 zWAMK&{mi2s*fTfKOEqcTJ`Y2YgWmU0=*Y_dxpJE8bG=jHwXoBgOaKq&<19EB-e4O4 zFNhW#3>l%Ffk2u=ojIlZi2y^R>&ZN?>7qt^>SU4LZSbgdfh5NsXFyKIHvXaJTAf6g zto`WCiM2GGQ_bJ)67}x-n(XLR{Wmp7p$e$Eg#}IUM(`ijT$2jt5BwR=oa67_kpH=L zitfZj+)1#q^ze`e*4)Ow*4+6v>)x+zR#}kfgZ>eP_4mLVjs`3UJPC9GmNSh(7huI= zwXE(}7a&OK5Oq{Q+SNYmZc3uyAT zSxGo}O-I@H@V)wgbc*Au7h<@DnwkB1_S2nmYgH=5!$b z`^eI72uGLt@A8rmBanQO|GXwVGDKl1E?hW01dv@ftwVL~a{}uLb z5j@j)y18@ zb7^9c9h|IQoI7|?y>92++`BUtD|0`wU)-F^{U?98x$SPB-`t#Z3Jibm(DUp;&D-4e z#~-VI+;qqaOpugUgf6$gU!?i!^JqZ;Ei@e=gq2?2=58SWyg3squECQ%vS!yL!hY!$ z2c6|!i(~0e_dDQ#{ga=B0QpHuzw?v!&hwK}@IQBU{}(rBPI%7EHCmz$v%9>L%{R?n zOpSj0-1}?Sv{%;=a*~X+{1JwLRRoOrsGgoqM3v-{E^PCt&AR*hw?FyES?F7LT>orVP&^22sqC#mx&C4s{(}5+8w7s44R3zC4WcPYyL?_j zxt>JcacO*O*j%J*G_yFmD$ThV6VWrX+frhFEs0Q3*B}GQ`;t%ZV|+K?6^(wT%al3H zpe84B>1(5zR2Xv5U2P1sa#nQ55Bc&M)6=hu!bd}D_{&N-o;YjxRX|-=VnUU*CaRd_dZwMV+&Y%7N!XdjlYh6s@08bUPPxR2P^QocecpVS8d_X|j#{Zzn($%91#KW@xo zG0ewuDt)O^pzFIsn(<6!ZgOCSle;dt+CJZhgn?OB?Z>(=Vtb-Iy-V zncN81!pQeO%qM=B#tNz0a zvYX)sUM?4Lvo-);Rw@LbsFH8(=(OA82eJx^OOagT5|;D~sG0>wxyWV;UCFL^t0i?> zcltFOo!1B#`=27!hgG3Hi&yMn|ELWXD|GJKedP_62~RP?L9s1uSVNYbS3YrQyqd$+ zJ?q~oxJTfZ7T5d>GU{v|fHQeeJ#*4~CXm(#$}mA}T?_5-3V5jcUoU6>@5zCw{ZSTQQxw5-&^-D}=Etb!xT*e?)AN;#={E#NbD8m>vB-%s$;rIy>_G zeVA=x@W0P4=kAcANro5*!x}~_53{ZNm^mh#uV_AHri(Rtj{g_L*mYf-fsaM9i@$yT z>MOq+$Xq&jXdivjmJ$buS|oEMqz!Ya*KQKFyBeaQx2rirND;e|ylpJ03kZ;D1!FHH54X*q2PE` zhkaN+zyFV+VCU7aQ&uw4#$^pR@6G7jVJozDq%q(MMxE}yed^pOJw5Wdv&QmLxCWm6 z=lGqJ7;ZJH@Y5>9zn-00-Lu82qYt zy|i_7+z?S_^|iU^Z{{@NZ|3w@B4QqCs}dDft-f|F;DS`Eo&B<}^WTU<3_uhdYN_9R zUlb>J_gpsR>^GqLZZYBq(4j4fhaqTF z&uQZ26qV|@QQo3_ZKrNS8T9Ma!8r`DIw6%dFZdMHFo=p2XE5&xBrxd zxKwQF(KLV9BCaXG7B&81i^dOjv>aIfIoa|x!O2#}OoIkp|2W+f^{(crf;>kCB5S9y z-PMN7`@P0KWRD-q3_IfcZ!D2AWgDBHW;tW8H@kpT3!`bU6Jf3v}GV}4NX7!Ut4(|>iL9NX_lAIaw^);L6M zEVE}<2Lrq1N`BSN%qOZP;|!KUC3jA{h9wFid9{GFhA`#?U714Lckj_+jtT#qH;?~4 zZxnt-G}uVzC5nenumXkfXVg?c+RfGM5%A4*kzGN1TO_=kRuto=I(z7meR9)Xm7WWd zjkRQP(4DunU%D9i;=<+OpE+%bAS%7fR@$#H<65<+nP);X=3mJj0xr}ygFP(%sZ)Jd zN%_MT(<-iau0LUJYd0CY#S)7r7+oIzG}!N+Y0Ix}Yw{{vn0L~-*5s_^l;)ev%Nj-W zYPnTGgKV90`l_~=8ac4{C%}vf`XFP_( zS)IXMkLfU{_20W*ztQ0E$D7Z40agUL*!l8wIXMJf5{2ce^urld@DwaUQv+4J8mQt* zHUcoNwfXlsQ|8~uZt{^04Y#tfiRCp_r?7#SGlsy+xrD07!6za_R1f6%9SsSEDtbP9 z%QxJs5mb}qQFH`|pYq?P5a%yb=vnqb=BBfm-ep$NxNv38B^EQtN$=mPxD^`$sN&Xs zOy*3QNT7-rWEcM<6{Xq*d#*y-`GeFG9CNO{f!6HB+rAxR=sF{ApO%;x?>rLcb&5&P z6C3dIR>&ijGPVq!gT&Nx=#`ZftR4JPi<*&JUQv}o!?S9IwQrhe7=HZhytTV8?KfMS zwVyS)NDbfbK2vNC+2~$ipG2s;UGR3(DYw>siq4mvDOTeoI-xHdGMT6eYENwdpnJgYYDMQN}e;=T*VoXeL4%_s>+H;KtpW;%* zPi*g5ucrWq#xhTC5 z#o}F{nTPJsoeE* z1jgsjOUB{|t(0iIufiR~th=m<387uIFNSJ%Pvk z!r!6))k{1P%Jku}gbl4FUZpPuUL{($Ks8EPcx78{ZzwszOx~jh!W1UNMM<(G57s7W zByz2ICGfhcnO<+7!lYTWF87TEZ;3S06&w`KDe}%^yz(R|0Y3A><*2}IQ~8Q`4@)KY zN=`bKPdeZZenA}bda~PkvQkK}qdfS`;@ZkMM+L`Y4-Ar(dkV2ov&&4wYsz`J=%T{@ z9+o&(B47Q(jhT2-A2CID)n44Ogi1zz<&d;!oz8@fTf+Q}uLp&fXN#mk_;#=ZROv5> z7L){*-sj`FD~Ajw+#HmVUe-ZIL*R+@OcsjGl>apUNC0hzEJzdoJSI z$A;qCpk|E+O<{iVFbxccmiatPt8SHUucSNJR3?#dn;7?Eb^yN-_{b9r4tY3Do9a_Z z;dvLiGr?C}0%8 zcOXjX1xnexeYenBc}IB!0Z=X7t_+#Of<_BN3X;y80#q^ShHe=rful8YJ((r!Vj%c9 z9xL@sft8FSYVv4hg7a^>;2gSvuzXA&O9S64^9x9Uf_~pr=8!)OngWq&ERvR89XlTL z=f!c~R>h4!(7SlbTO^>_HSKo(0vLID1lpW$lum2Jal`Ij5cH3Jic z&fj*abWbL$(FI7b=SS?igVZJ@g||`{u)Vr?C_=5Pm+DO3dCdB{B;_|$d?>=z9A zI_Htlyl2J*P6oW?Hfk!^rBSYOU#vSxqlWdanwRH8R{k;pQJ%LMn+S81+7Iv?dxy44 zMlzB1X5eN21vzp)T@U8!I3fBbt-fA}>OSH88S=5LUn}t)Bkmqc?VJ+bWSf{{0P~0> z>E%shB{mS2R%m94QI!nW*ey)p*O<_F{-MVD0!QfkEtrHgJ7-26ZlF;P8*e)ukRxqYpuFNMsV?BmT$J-4PT+z)ltU#z=lDi4dpn-?Q0{oMX@ z#MJQ9O=$Bq&Ov5QGDJD|m{=a#G#3xtqlc;ep0vG<(8$#q-Kn-u8XNmzjyO^967LOB zkEXl}7tMC%(ws2|)Y{RQ8d!SNxgNhQJiPe)^xVHEa)QdiMi9=mVkmqJ zZvQQ}!VDgBgcJA$oc5rbLd3H;N@|{JWgHuvS#(K9=He9$cUP~J-0z@rs|FBMPW?|%Iav?C zsIrOQOID9+&C^)tZ}o$QNY`+CgcIS8S4U$*!&rywQB1^Lcu|gw%|(f~FAda8Uc{YT z>fe&{H}9DeI$^|YF$l3@d^?)MTZ&;h)HUfhEar7^Qq5aFtUM$zn)T1#Px9*T3b+W z_aPx+1HFwWHH!?v5M@(!ah-2@^_Rt?Qgi{P^W#cS(&lpu?)*x)*%WV;1X`|_Mn9My zD$JKWq_Pje{Seo^lvN!Uz}$=&J);9IAd&*BjB0CA7@4(%_fEkjFDaD1(8c=@x0+%8 z^dolU<7W}!9-~L^2!;dA4oRuP0+TILptx>y=>M4549$6bnJK&! zyt}V%dga=KaTDmqPm#6Lk8nLxk7kEczdK-i@;{hDl!t4%hICR>H+ZbWJOf(Lb6}5`K$zSsU3q zAV|`v<}|(o59yC$*NEMsv!r1N^N&LFpL8xrOa;Oe*-!ME6Q3TT4$p5)Y2e0Wa(-h9 z=Dbk*P2KZjPcjF7hv5nfqo3Jv+PCy2dGk}@*{;PID^3ImCCH!YzAISwvU24aMEBFl zn&7(efYzs7P0kF+cim`~3-!a#&S+4@EoEC~LZ^+9aWl#pieFp4TYV`oHP9sUeh~f~ z6uQM|?W0@s0*0Hzi|m&{FbgHdtJ64#XJ$q!yHfk9iwL{d)jsLn^YGWzxw3IFds~)f zX=8nKC=~SpT04B|h2}X+Rk0c@Tr~MAm0N3dzA~?a{0l-cZ>sA1hy4CX2gq-yzsYaG z#PCL5sj8p2HTOtk5Sq(_>K$jS6LpFake!olr@?tT@ zUg&+Di397n9NC&_Nx0;W4U^5LtE9la3%VjNwXf;_AbD~n@G_pSvE~UI#$FvAu|u~s z&tp~7I8nFxFvq&aig;vL(DVBTBA2Ev0jTA~KFp$WSvZDJ1x-wL~(yD7U@n~UN zD}4OK3a0RKLq|oY`|-`bNB6zduDlAfPI-I{59S9b)m*ANYaBn}5rrE_*DxjF1dXJN zqg>c`YH>Nc{aM8U2%#bSfI2eouV$7=?jA-Gq&$a+Q^4ArMU%6r ze?|>E*MlgZ+SOmr^R1l!ex7SeMw~y-*Ek(HH6DDf4!+v4Y>^?z2Rnn+U}vzQnRN;abzaFFlyTI9iy_zT zCKjZ0Maj;-zE75bKfnIHBGbf9MW)(#)X%QSEMTymMsTO@vIG<|GY>OUN^uH^Y|O|$ zp0AiDpMzrS-hD@s*wAStJCaC?AE%bMJK3H*hD|Hc1|RCUcc)GHoK8pWvf>YQDPQel zGne|ix%BIS{s4kW>j)%q#+nv=cx??I?^2>{JTd#y**y8F7gi|nE|Cgh(4Y8vHvPe! zTUq#=*O;n8Peh&E{cfYvLKJTJWiS^lx03Ih!tO^}sy=<*&7~_CZk?oR$997Iaf1~G zXIZ|T3El~G;}kq97Fmd~9OEA5F{irbDOXaX*6riRAZlhvRXe>rrj}sV?6QS&l-J4) zKac5UCI zgoNn5M+g!v(R+;^z4suZWr!dKgGBFLB+4L&Iz*2yYV;bSGlC$PQ3qqL_mu0p@8`as z?|r|2vnAU$IcLtb)^V(T-+wIkdAD;ZAO$Aq@XI^9HXP{iVBZQiHsrfrwupKX?GGF0 zAG!8<$dH{h|V7{6AEm7bT=(LvOpo4a}6u?NK2;vbd)DXrklkfFp zdu^sb0<`Zdt0m<-v@>UhqSFMTX0Nt!_!8UI7LqeZtI->)!Dtt-8-g`_P1X}5DVCyw zxd=?7J)5^WysIo$jQ@0iT6go|1M});n>?5zo8Y_SLK4{G?6@r>5ESEAfDuOZp7qe7 z->wC|^2={%L4{W!Z5PfBd0@n;Oamef+v(>Y(?8o-$5hNgd`!?jS08*&gV9E;!6{hV zx!^USqeigA+$J=ub}D!%+bM3GkYi2v%`El~a`|ngD=;o?h5m*rd(UJ_&KCbmjLH5l zF{alFD6_l>bL*OX*J}9D6=jJA$ahA5K6}dM$ti#I_Wz~DROsdm#91HF8Pi33AfD`e%$pJkHNtX%p6~i z2@F0rHA-gLr{%a6pQC(U_SP%KGeyK_?2Ye?9LX$3J0DWs9V9Y^k@sX~tobFh_<^q{ z&iLM4$X&|EX5bYD&lG7d8#pSqhc1Zo>K&G4TQ|SI$a>d?ySW897Af+J{wnK%cI zLP7SF=lq*u7N$-wQZ&lsgd+M+ZP476P?=1WM>`LC0-W0e#OM-4D%He?RnOOwGWv20 zCg3(m^GXn=Vhqs+K@84Vymss~7C3r^6)VMB9%9Ef0TIYv}8`DcucCCM_X5? zu_F@y>E`{3b?))>Z+o^{*hMx9QFV-C!7s#=vRDR;dh%zA^4cZdtD=1TsC}7Su}83& zxI9u2UJU5m(6eYUP&+UlIo9(EV=@7~foxGk5k|MuK$>Oms#5_Sg9@-+-a`nhi4H%F zxVoqonCumCe5k+?0cc*6Aev*^(@#;ibIBZAVo(JdGEcAo2or?&NG$8JfYmEx<&orG z!yAcQ5Sq>${Q+?$-EDE3*sE-%_GXHPi3m~D=>Ble4P%w(+@B4t#bf1etw4gm&ayt3 zgevEw$AFvDKY&%dMe!d_9RCxH#q;c*`cgLD{y%je3(WCssl+Vmn(;p>w{5} zQI2=DOC%QeaWT&}bdl5jC*(~Oes0nPnz#+CTV`@DbSuDS#7y)h83-IE~Xz~OQ}YR_GMjTc$e z7&Z4bwB{TvT#s#5}l?-Q&bvbqZ#={f0~?vCH2I#+Rz$!T8H_`&W~- zUtY&0RZf0GIBk2-E6pQv2Ey#8Il0VGmT4%{8Vg(R>-oM^L?W?k>VOL=yg+8z!ivjR zk<+V}x@7I;;wPfdcQSY6T@oXgnb49b*mA#8jnMXY|3)?>?yI)1`WvFo|)BRz1>)YVj0aTMhEDo=zg~Co2aW@$;)ot-@#hl z%QUBUa1A?u3p$??X$_(tncJOd|B58d7YC9y9LFN1A~H~2E^)BEEbBCFN=D_<6kUaQlBpKuQ+1n|fj_Ug zZvG-7+FhTWZU&(+(KWspY_ybwFhIY2#~O0B(8(fivAACk^t+cr2S8M5 zxZoxpSsC+=hUmyo?Q+sNs8+aiUA$Y7vyt9E{x05)j}?c$J^K*r7ymAOZhzvH$7`ql_#>gJP7uuERo%YXd{;Z{P`o zW4~(_pJhLe~9RD09ReGCsyV6*-g(&G;& z1yvRxFN%d-?aLJlc?(Sd(h9^U-}lSA@zWq!$|^`Cs{}`JPotM>NBDdkck5h_=dyJx zMu-Q;d2CiB6gKU7{0aBxS>AfFrUbx;ZEw|kq=B*aE811SktKCrgcNuHG0~WD+|7)a z7eprqb5z~Ugs~mYzz)F0hO42mZPHzkEfD^L;C_*r^;&#d60=A-W15WEYZ%}UiEo#5 z_64>_SU^482N<+w6QGI#LIcIhh(O%sp-WP%r0#peD>0L|n)`7*QF)|dF$#V_v>(N` ze{t89A%ZLhs^ysnc|B{CsM46IJ$2)1V`)Lv@lSY(%AfF(PKLX13^UqrjVyMB3XWl6 zixq7Xu-5!->0%nchIXW^oVizQ+mOf^M@l}FeL}PI5@R*XaTRN6Ov_4tX@EX|fvH`S zzBdm9 zbcymn5+EWFsx4Rx+cWFKB0X}19q_u>@gctD^pVv%H$$KQcecJZ#{NqVEFD+VRpZs$ zQ?iC-z-k+ob*cQ@?}&-vlJMZn-yzY4_YHLYx1Ob3>)&*ABu1sQ&803Z3n4 zvwXPBBM*qkTIsH?r1^dW;lqBGR)fJ|icqRrXZ&Zg^Zq&C;fZ^_#a3v0!tbIhl(utj zXExkl-Y`j%fYg}7Uo2t@HEuipOONIvLB<3r=#u&yeR=|*Pr0tqr#5C#`Tq<0)C^!C zWP;B3gXgCDOaLx;AyOo14vw(QQTgLY4%MMJFV?$MTe=j_I6BzHNc&>awfcey4xqfN zS!DD-+~xsP5x=khyvuZ*1~=~V9}WMa3UyR3j@{wYx7oAvzKk*Gj(%}gauf-GSJ=5+ zoj2RjC8-(mW$Aw6zEz*_ohbETK+h};y--;2~jgAZOrD0Nh9F1F6_J)iC>G69Oali;=N3r$9`iWeUk^Y(( z;1b+`Y_*x4Mr$|YOLx(!@M*?12&qd9BQw5Qj*&xbrg|~~tGwV1XWuh;@%Ai?{hbfp z6c2&z{W}pRhwDK8)zj*bRrgVai!;UVQ1SI#5~yP>@*oi^OZWD;gCL$m<#Pgw9*NL| zli}7PVU6{q=A7ScdsV(4KY2vAr1oYbDuSI7Lxb2Y+1K6TDNbaGpG@q*EwtsdjVp)S z!OIHvpMsQb-wQRG~*aChh8}n=8 z-0tW5Z&eJBqglSaeEo*LbiFFXe(4pqyVua!wA6<9a@7I7&Ihpqdo z&lUK?%jr63FeGciv21u)HgtfYwN@t#X9kgZ*<;FNz^`;@8Riz7bgQc?JV+S^;^uqU zgEv_3F_&sRwb%N$sksdO$J7iU5B@ea6F3dghf%)wSHGKnnxrOC5gfUKKh|^8+sKv) zt))DDQvR-fst&Gm_`K;uC_YmU`CyX!E91v|3@@IM6q#MwBC&v|AaRcdML9?!w*juR z40JOEb~>U=N-5Ta5e_tkI86yF!|%il&ng*=vA^P}zIHeXMr69b^&sohjWX0ILKAnN zx$%cL-?rMF4|DQ<-OzcWw?o{aK%F4>T!D-nST*~w-Q2xMh_0~Ea46fJC3Euua}ldO zcw}M~qWG0CIVr#-n4vNfAs&AqcMsTrvGPvSIJC|PerijR7&VdIH@lmwg3oh`+qCRV z9Q&;h>-`1eBAMq)%{rZ}KUTyx`sRz%x!(Pt1Ia=lv))2j@;-i@li~73?q~GMRWy0rE{u5(s3S?Us6R@k&rh}QZfFlLs$@pn-;rg}$*(tMr zueh|!O2ARx4T(K<$%{#BT^hi!&eQ~w_V|A0KH<@wO{5OSR#fMeq zsJ}o!((2mt_(Da52i1-SV$V<|(jr!K${W}Sg*{=&k8sOqicdcc7i^#-ZV5r>k;;uB z8sm>wh&v)GFb-Ao5b(zof{C^7+*)D@N_~$XM$Fa6KH{L4PVmqCxxE7TIVjDStz6EM ztmnt>)lXCMRcjNcL6&rk(4W=6fU#j)ckvwywh*xge{Ufe|K36@|MwPxLgns1TZlX|xyphrTN)X+RVEEM^baKMU9Ef; zAEQpOXqo!|K+>$Qwtkl*0<_>-s@VB)cc@3POTS?=(y^^)thAr9#8(fR%f4YY_TEk- zQ#)@>gTB(MOa4ZcjPhE5Jf-V0$2gQGe}}GEcMA9;z8%3$z1!^uUvI-V`kU|u2dhh8 ziaXr_!ZXxj>sQFo(LPs#7SrBKKGr|24Mum=D?=sNe`pqpnF-^1jjqG$06`{twue<} zI#mxP07xq$_0+?7eae-`OV#oWYK}7th&+~}Qq83HmDK*x$!srU4L)~Zwbga;r znu=GqC_;I>eeBNC|D+^NHVuMa;!QRu5@GaExo=k6>V6RH7$;sYqW2V@40G9}sTeD*VMNf#QlR%71Rj zB5wMn@vRo6S(qA;ke`fiWqD67AygDlqjt&Bx1*e5>zM+5d;FDlUt8!Te!Tb7(^B0` z;WwvLmZ?qqSFk=*xT}I*6ribEeNJ3y_{WUicya zcX~I!LuhUfqkVvC&MxN#;IYprwyh&Wf~Z#@L){mRQI+-9!d+PUspl~>U^fewFcL4W zC$CYQj|TW^XiQ&GkbXB9HloPMQ9kuTh3EF{QFWe{7w^m`G`VI*WCS|A{xo_xlDx8a zpLegv&OR;YtNP(W4CrU8HHxV>n4EDAqmKYP^~AfnDyoh|wosT!ThJIbfA=TI@|in< zI$pNZTb2Ia4(27u$CaL1$W)III$@cuw!3_wY;@N1v9BYo{pI%{-*d(O;pIsy5c{TZvKB&I`d%4c4jwuBB-U;+Lb5!rP5v98%q@*E!~Fvs6|Z4 z)g>TH>UU0dZr;8LiV5Na<_{S^Kazv!R^>8u%sxG)WM9;BPN4AdfV6R;y}|%DUXy5K z;%LI$o*MPdUr-Lkyay>*CS>Bz4!Uu4Ayx-XqkXEDXzx*6o!OLCF;rX(8V4 zyNfJ|t4ug__%w$1*lWydmEh8W7nCB;O*un66_`E30SDt)=ZrWlU{-Z+TD!dFL^b^3 zL?u`MDI;&=U|ls(pnzC*N&R;L+5e9MGWgODKj9?jB4#&;8YBE&?jhvt2{Iwx(+OPa zit9k#IJ$lFaLv!s)7at6;l)!{0Kr5g71={Zy|c^{+LN)&H6tjag2$m;zGypm=2;Wi zRZF`}bozC@-rd!fO^$2VB5)?R1fzm-yb7PzCh3LGH2H8Es&+=GslH-R=Ol+nR#K*y z;8jjxAEJQ}lOM>FYwN31-c1z_%&f6cLRpG(49dUAeyP-NY5mPFPB_#I_e73Ozls4o&mf>GhG=gjlM4l@sOBfG<$fWC9 zvvgWQc4l1o-Sd3j-OqoO$W%I5^Z6&a!kq*aFaZ1m_7vCRyhOmTeJ#!-_?+j($&FhrPR(P=E zXr;$@@`vkZJAwR7AN+aVodj*#B?jX`0e307Dot(g4iCP*lkj4<%$mRBSrX;fNgDUUEpvWlv`BK~&x|=lX!y^Jgvb zsrxkV8<3_AWGv;dMOnWh;GXpEKLf*_+x5V}7PZVj%_s2DS%BZYeyH?rrWpM*Zz1wQ z#XBJny^M|l;fIavBoxqo-MmT!-e$)?Z*%$o=WQ14cUp+iUd#jqcX+t!ZtZF>0;p_H z;JkD(k?a55YZ`0h#Bq{G2;0oc1)>-4fdq7IcrY&V`dXntwBQQp~eZuQt}%D{`TN`)8HQ+E|+#w(6dW&&63mwEj#I6O0dt>XQldBiV|^D3+lUfTs0+U({{R z{lA)4MBrbbboR?>JOvgRd1@Ia@EX;cbE|n}?^;Mjq>8qtonw7=3mK=_FzvmlYv^V^ zKz>N7uVgl@o%o=mb6nnvmW42hybodi@*98%@pTBGR(&7dFy#) zH$MdPw@%#$_edAuc77&Ioqk>ksYUe1WBiJH?GPS-fuYCbktUZG*wP5LBa(!R7oHqN z5@DA-dh4W8S8^x#fp9XwzSb`XOat%Q)>=HsTy6LPKsDJs;9*GhE!E~Py!J4te~97H z@9bRlE}tjsCyQF9odh4Z(e-0_CXQQPnlLeuJm0)&kDsFSQNs9VYUhr&r|n?MTSl8Z z*O7Q5_Uk6IqS7NyMqeI0Z<`ii_50Zs&XhCY5DvNx$j(Q{)-*0+tk_%$xS^CT#-D>P zjsfZ+scbKUd_4CHgY`_11%MfzOl4}$6h2TOw3_HF+&=mE=F1n>Gy{W6Jv!1lcNx^b zf7*)^{hEq{=eBkBgL6QFIspNO%~vitwe#to{UV?PIM3OqEm_?S zO;XSEaXeIZrl#$Nh63>zzz@_{C94O~Z{bg=*`)2L?ke1TDBCOA958v>i|><1FcI^p zrL;iq_>D)UGa|KkCPw{6=kcfG(=iJR$!+a7*_o&2_me1i4fm;Y9X>%e;K4@(Pv zpld;B_a9dgPm}_k-P4?a53TKxyQOXy_j3}E);`d5U>5RbPSg9}r+EFdg*UwvgJ27WJUAR`CH+&zkFpUlz4`*;>hr zR^REm!>2)1@J5Ps8t1gH07cbz+Cc{l?TLhF*V99OuA?p(v-rG8F5CXe&7X1nUz_#h zp|QAZCm+ndo5eTTLvm>Nplryk^|4qiT~tCxF*@(ZoU6YbiClVq%dp(Ui*7(aW_LUG zo6S1hucP;1Ue_G;E^>{9usety#g)3YC*5Tc6k4*)?~j~cTvVn=cz#%rR9^5>sFRZL zj%g~|p*Qm&q+YQUpd3$ovpnWd6%-k2;x8f!Iy_J!CG*S#T@au8py*OyJTATVz;vNyvg_;53Y!yA@|~>X&+EMl~5>{ma#+jcdZZxkzx!{@*z|{ zSrC808_POV(zQD-rJUj;@3?Uv8zu2{_AADq=h`_S)vY!%CQ#jqThXwJ3?OY zDroO7&<<9o!#5$@*c6o;MH=b%@h_0OtD0JC)1~7~?&*Nsm<%T9WPNldh;UdHLXERG z4jfJ!4%f#p_u)SnfOMc+mHRoUzMyPVhpYUx_rcFraM7@xZ;+IgF8@vVa~XN}lwhZU zV9&c+VE%M)!{a{GrUY&BOd3|1t)wr~feq zWbOdQfJ**Zz!<>o`AR_i;HY&NFa}`$Z49{V!OAs9Z1n&`8%E93{a>hIx9mNWKd50n z!sYhsL~q|q@Gh;1$>iYS(h9oZI?>x6$587}qPOsMqIW)!=sk$mZxHQ1m#Z&D1I*#E z)v-U!VcjCJq5>Bfla`lkifh$t$B}Ke0E#-DcmL!6?ud~C{NE2?^ewI*%dmG02bBVz2&=;GLMQ}=9j+W3E5WQY;rR@3E=cA-Q2U4o!S?;*9_Ar zPX3gsDsZU2@Zm>xipGw{!4ugM5XrYqSly^Rk#C1T$R^iI_7|vI2v|{zi<=1V$gxdseo53&%3zFGh*s*B z798Qbc{_5@;j>=~rQ`_I4hSDLoW=HD6_;A?*xEH{@#_0YYyGs$muA=Q*;5(lN+8f> zo~?yGx%yNe@71}CgB%NMRYrjEbS5yOtnuY$z5b`Cvt9&&do_|by?F+kUf#mPw|^r` zpvwZ0Up?zPNbq!FbZ;s|+iz~ymCMsWgsADH@UadJ-)?6a8>l5bp05lm1Xq6+lCs4| z+Zs&-yLj9-cWoB{e)|Bk0-d-z)ZzxV*_?x)5SMH0aosxovLZ0Hsa9>ito_j0hXx`75^2e(wGgs4 zx>SVb1a-5MSxbZYG_8n*L+TrZG9W@t(52MuntUXd9Kz9uy@$LIh4&?{0&Rc@ow;fy z885m;dnaAsRS|ZU^C=H8HsK}CH@SO7z+2yp9jZM7lGJt2v6_CluE5718eOV$3eGrm zAG6LC@JitA`-vKh=A1eSAVd+AoJ#c|b`2Wb=AM{N5iE0l@U>SXIdXrIeKhkK6=TYC zG1ff=kvcmyoUZiY39c6jCPwcdE)JB(@rP*EU`q})E1Z#|Armp`?JsiM*k!6C19$gW zS!OC_wBZ;@q(_to`?!n`94avjUbl36baM*3z$=?gq4fT6_!>|*3;3=uN*(h5JURV8 zo~|;;YwX_-?%LA@Jh*~?KR9CG){ilwb$)NTJkST;+O+{VqgnPX^b{%m3jcOnb>@+k zUyJ7f*pzMW!aw5q$%AY0ytN{Qhp4Qg`;1$(I}_Hz%1@v0(d|NwdP1h0D=nj@Yj{H4 z?lnB&Qxih^k{^I4oc#k&NP=gvrA4#HRb}nel(ktnb-O(0@Sje}SC# zsQP0axTB6o2zxVkx&a#{fB1E72kt+pc#0e#x8t#&v4GpiUm&oy{gDAmyt~}mZ4+gk z7|O>nGaarLv9avZnh~vFHfLgV4x+ye0^!(juL%OV#^_-F;dVM8vu~}*-G~n$ZXV8m zP)bp7U?S;!cCwv0(B9tky{b}B5XeJmZAveOA=ZXduJcgl68U;kG-Ohoalc3hx-5L5 zo*E@nRLE0q8TVB6*VD!o_;pb?&squ&2D8-FF0>zO4VhKiaR&R}H%{)az0dmnM0bw? zrDa}^euPw<9O@3+fw43RpTp>pq?Imv+yXq6R@@`RzkH<{UO26tLCP3kOD=)MF0uJbqmWm zXtKYrGQDIM`YL`uE2qQj%=*2%3A^X7b`q3!e?;(VK_>jWIoFU<5~AJ`q{s+mvrwl_n@kMPm6TpK;{9kO`_R3lls(HYU9RO^p(JE z_k7u}=+2EBz?tO@=;txsWIfaxrQ9bc7qZMo1%!v7n8kkE+yv5l+=`;3zCPe|2vOKm zU;{%C7fc@W0iFK2|5#;9jsxPQP2VkwHY67oKH?m5CRNLRY$%d~`kBuj^xDam1?>TM z!E*iu3W>CIZPrrb`Vg=lkQM7<|8o1T$RYWT8orqCZO<{9HO63IEwC*|m(^_|Coub> zRZ>VwtI%@CP|f9TyKlJ?Jv&KiHW2$D7={I;J)L5;3&21-e-O#P&#WP0@n`7-oWS{B z;7F`<6AHw+FD4_T{SDj;P+|kl2m^*?j5cF1FLkePZB#mUm-e8Q8!Is4=fjWIM%x$YeGXpYl+DV66kS zZpJ*BgiV9o&+=VJ<%z6(^YCEDtcVzuJlwRvd2xO8IPNpRvKHW5bSeT0lq|>umfd}T zIx3MmU}DUl2S-@ddB;VeAF79IaOn`Elh*3}@6RaQZ#(mbs_lL+*IK_Oalkk(mO8S! zXi?(RSwC=Hqo1hxWFp(U7bIw9pL$H)zRniTkca2t{{(fQwf$paN`e~1>NmpLsmGIt zmp!48X*mCeqKOQnhw9_Leh#jN=?{COB_T zrqbu#IF-?#%9K1%0ST;WWjYyZcH9RZP!VB+MB#Ay~@)YnO)_plHEC2u-z_S!>c};y#B$}uR(r()pKD?Z~crD^R#!`Y) z4D-_XeFHZ}K{$It)kW7;9e?RSVT6z^oZaT?;^b4OK1^8gm-Bk#hW01C4h#J=m$K=O zco2g~dmU_PJ1`z35#XgJ5)*jeGX^C4_d~t^=0nj4i#Eui{XQs1g|&cLe=-BF2qeC( z0ZaRGFdi^5|Nho;a;ev3hzn??E9q2ZJ;t5X(+Ky9=VOe5#g&WmS)n}q4q0D1AS08# zFOdgahR`tEr}}a?@Gf>Ztwhtxle99eJCrU!3KXm4K8OCse*Hj(tWpI zy{Y(>Qb0k@9GVV7HLT&6MT!W=i1rdNVZ?`ytin@6A*yu$e;q*-UXfxYY~kFWKF* z{U}v5@<)ng4Y`(LjZxZ~@6P^jDHah;%2wXBTYO#P2;5%1N=CkGbML!Ae|Mf>efdI` zCn6lh(|TxQ;(W*_|BB9K9o-h7M;K~8uU%r@?dBd~8U53&KxJoG2gGKe;_uX_8`cg` z>neb)ZxhO6Etzt=654l@Ilgbvop&5BbEX;v&JDvpbdFz> zkRg-JnSS?q=qkBzab+HF>(I!JqP2P`&at4gZ;^Swvix)som?)s$FLsAWB!Y4rrT5_ zKe<)9I4k0r(bIdm-;VBCotQJEN8Y}Pcq75f7K&w?459(@f>=dR)~AVJ1aEm(Ag}I3 zo#V7qGXD?G$-!q|-g4;uE(1O1&t4BTU%Ayz(T|e4>=hSs9Vvu30o>k;zWkE<;vD&u zFnsm=<+8~Zp*NpY^p7YpUVCgb?E-EMxwYb*m&c!x-MS@Wt+jkGs!71F zS1fBa>UAlCjLL;B-ocN4JY~LnM9IXCd2_q)X(dsJo%N3~JceIEH!wyspU@|3x0Z*x z-=6S$JZZ@0ju4rCtpBp?_5=Q|PP9Wt6faeX#vKa5JqlnLOI^>1TNSfmxm5)DbhS4J z75)_YDuc4*=)L9s7kZiK*a-PY_(1AyDu!`fh8wxkWpf`@6@9|bf2Gb1B!d10dV9tg8SYI+?gryU9)yalkZXxpXt^bNYyXH* zWUe8rT^Qz2@oMxg!eOsYy2ZM3sR}iifd>&|$h>Qi>tdyA3!lDFLL9VT=5{zcoSBlStv9`%Ge09y| z;En%GVmXABIM7se=D3Ps__OoHW{wElNd)Hl_}ABU4gCTaa-q7X@r!u2hLBiQs^y?* zR%XqiarCfV$SCr1Q*_*RT{Vw0KnXcFp!~5ng(o-RD_e)z!IqqfW;M&|S zxb|@X3+Zo27dW6>3jgKjkg+EXF`Ozgkv@KJy*OAVYt_%MrO7NPrZtk>?g04fu3ZFS zgs66aT5|wz4x4VQ!O`%5V8&hEq320C#h%>5pm6C|FG-6df}eZPLt+7CMy!psux9m? zw^t<`mhaPWxHJ67R!ls3B;ukG#GvOZ1Du5oBMv;Y8$gsd&G_D%i zqD9R2XO{Ob%q;^8Cl<#ZPzkFOMK#dyF0#~Hp6c}j*+27CQ&{pQ`QxW~PN`5Cv|$NG zY3gLj*oQ@25s3|Fe&uR0TEz=*Yf4Lx7VAmm{r6(htsdF54yiT8XcqJ2-nRxn#C=Tb+-#rux%UI`XiCu|em1scsUW!1JyTxbqTug%~kn66D zjwx?hFoNWCY_51$-fp<^l#cq!HQ{_c9}`osL>Qhn^c0Fr7uiiisOR>ZSA5$mBz0p^tU?nq!pIfF@2x7OJ6sC8@a-fQH*ysL%U4S} zL}BI(u{51J;!cSL@{R}emfI_JV+qG>B+B_3Yw86k{EHV8F0@{ncE)L4v>P9RC!&PO zI!#_6Xaek+y|cEIKv}d9DDW)&WdW;S<2O~Aa<7Z0oa}yf*q_uTZT4~b(inwNqbCH+ zvhuW0%64FQ4|PJBBqK=3`hwVM+p!}ZZOF_222Nbt9Vq~Vd`D5xAeQU<0sP;xWf?%W zEb#x3EhE~TR8X)~7ro9SqR;y+OIKqRd0Uu$uG|_3h>zq~D!4oo`RL~Z7MTCMv)nr6ImO$p9>fCV7Bj0KWLDNcX^&3TM*+kQ&%QZ%A6 z_3>8sykE`-8v0vKhcW}EvL>pIcHOuV@Z6XcI?*BBxq{X3Lo6(twAcP_+VHz2=g~ou zy&go{a(7VeiFpul!;bH!hA?9F;u-Jb&z_!~S-5EletpZPn@cd=p?-Nq?2tTpy_p;Z z#;L(lo1|b8dVkY019=rH6FFwX?RCrT?by=$FWddNty`-ez5LIE6N4ynDq5vDr%&31 z=3fFA7seDfy5897yVDYOGq)<5CEbz)y-|}#xvd?9$uaIqHAYqdo;o)y*QCIFA4>l7 zSBN{68KvJQvgU{qW?%>-s5`MFBmIh%2O02 z;DYl^h?BA5+5Z$(|GX*~S z>}tnXIxRL*VOQYJ#ii%Zoy&!y?P5fuoI<~IgV&giGhR;}S%^5$v5)_wV{89+$NtI_ zPcynSnT8+Hr9xC5kDQ>iv7wlS?#(gpq0efk~3|+1}_s-XKa|h@7$BS@!4jDW>=wq~s6LNFc zYN`_8RmK}yPwc}6w^XM-PPZNjX>EKfJ2WrkcDb!_1Y*~@B|*3t#0k}D1-2N4#o~O8wI^* zx4P$~sk>K#QTsUdy5Y=sa&TdfD`C@5??a}7k;>;%o7KHMGI`|6?=isRPXQscKsgK* zZHr00PV(ukn-)O%`8=nu%3|gLsC0O4|7zaD7@+T#LjUi5Hz_?_49G0m-!Oad@zLrQ zUgpWloElc6YLDqC)GwJPJ zM&Bu|0p{&-;mG<$^ z6bhro_U|e&yv&)reCsrRrpoY?}aabSNZyjL1Fpr(60-~#QsEDv~J&N`+d}7VMsf_ zp?a=Hn>9FFqueE>HTg-0OW)~>Xby9YR}l|e%U)DzxK-VT=$=ZWTHo0)PPYocM81n$ zg1IlfjOiLJGUlEMjqurlR~7LULk^7OWh#o$#)X7K+Hcz2+K|CtFUP1MVn@C65iK9l zhFzy;p*oDPx@%C!Q?J{e{{iaIbv?74XX<5rh_*ur;z88bibnH`Aa{=*S7&L~Pbi8l z-^p~I8clJYrfKnost(+FsX*LF5|SB|zxE^8VI>mAGtF0sdH~Ti`_8w}y+-!q=d?Sk zBzU9!sp6r5h&<1xk`iv2**M{72bCO?n=KL4+%wNDxyzk`5+VS?L+(PP^^c!iCt4Hw!63@2aat42D8`Oha+x6%p8)cOfhzNw}$H~k5E z`Vb&?K)2DWdN}G*lZSF?X`s5GG^fyQ;1=)JkICbo%#*KAfP^I;&@m!G7p*_rNK?Jq z=YxufaF`^EdPX-+Gl@$l4$%7)>u@do&R^nOE|Gv7P$NDa$cht1kz>iaxAmkoOhwJv?WPO{Y_fpjP@bB}pE;I!1EONVyohp}5zDZiWC(noT~fepV+ z(W?FEm^Np*%4({(k9|iSaVw~s?&qsw10m`}?s>%+)w6O$R*#3iQv-tdA=LK)I(KY2~FwV(P|0)}5>x7bij1(=~zG%;{ zwBRZzS}|KHt!b@&=6k8BzTio3_LKXiflLFUJqfiE1--Q{7}i1Fswm^-CdW38<=L@l z>q{(b53bW51lRa|QhpCEV%Jp+h?XHf9^ z_hBw8;B?sF&9x_f&!r*nIo%>ach+BiBJ5@5LvsWIzb}GCNR>o-HBygYU zH&ya`%ruNX_gU^kb7Ko3y~^LKEFQE$W4x>M-uVdmC>Z6W;0gbO6|+#?6j=jvXml#{ zX`P8Ky~7j}nxj&(%BmjqI*09dBPvU0s_r_d7Xk$JYBLi53F=My6V#j7@scA-GX7Qd z9U~iY;YqYS0xW!5gO1NfYxM^aPRYdD0_$NX@tEU)*o6SNz|17BLsOc_fx8h6(Lw>} z10ly7J+}L^F38|Dol;bBKP{GaQjm{NkSio0vCdWZZf7*LHb;tsnn!anz2Qh83G!5% zyVJJjaS+Ei#uTATY`cX17$ED^BS$rvf;iz&pZa}zsO}D4zG-Iv#2q~PLpIzK#&=az z*G9JfE*(YJX<=aFs`W8e*4{c;+fwDb;LjNK%F20S^KZ&LFSlNVZt>~(zavaS*M7aw zjo4$)(nXDiB1$<^9W1vWy52dm(mP92p%p>Q%iFD&po4t;~pwkKh;qHB8ok}f*raofMy3{ zqZ(kcE&#ikCYTj`;My?bRTVGC4R7jKE5i=^pXP!QQE-gfTAO8$4Q-vODpTlSKR0CmX$(5r=|=eAf^);gOx1c7rK?ytXEWLDK3;Xa;PS?!d(mlEml4KL zFvUj@l=z(Jm`2Q_%vS{sK~hPL3cd~-jWJUY*nh6k*Y>?MX?&tAW59w1lZy$}8mU1uH$ z_5Q{E5hZ(M-wP@GE(~KSYZ9_=MfQ+=>{={YLnvj-mOa_BZ-XRc8yV}2E&B{%%H;Qa zsC)14{+{Rg^Zs>jSH9zf{J_df&$n~Vt+p>7i}!zQ^?9Q4A!S$WrlcYM69w0# z$9zH)cFVQ44PUTeR2Oz`YU+cNkKpC6IvgON>l$^8NO|pN{D4LQ$WT{G@d=|{qQ^2+ zIFO+#0~u=hu?*E?VOpQ})K#mCTI>?)e`Khy+b9VXxHAm_m~VT6nXpczHEqhr327=9 z<8xm>--9FRE@<)kJI0R*InDX(FSn-RAA%r771q@P8~+3aqPxx4(Qbf#-~8x{*4;d2 zlfDm`o`8NY_YeJkZ;nxV=nMg1>Y;yQ>eGJq6cjkE+;4m>KKU!@)<>nqGfQR}mNMfc zZ-tD*m6VZffS$&Bc`W2 zBtg1_Z$D-Jmp1|hi)of#5SCPFOqei{KmB=Q|C0J7d)&VTcs6%}m2i{ezLk@Wa|oTn zZ@>Ut9(?VmTbWZ`-A^AT&j3~z4JJMwuWj1Di(h9Q>XTfGYciRth zNb3uq3UIgq%DQS3u4ltj>k!Z}#xLQkN=&6IBDvEw#w%ZrD!((k7J0_4^m0^SZ_?3Q zu|#&aUV5V4?AVRqD-OsxZ0x%E;JY}sO;VGQ3!|SMiz6IfIbw++2@MwbgDk;roJRSSxadi4`w?}HWczFMuzHnuF~I@`Xh zU&?3vw%Mpkezc(^;rU@t35Us!%~*t0B|hBqeTVI6%YF+njL6kwxEdbXQQ)kkKE)eJwWE;+YxEjkAa;j9h(CT$ zj6j7UL>X1y;E9b}$1hlziAqy|x2rRD_0}p@T~-GgA>znsz&$;XIg@JojFM9juiy_l z5t8c*RDuY3*;s<~{%*mvjnkZq-uvkvw%4?H8XhqbP4JoBuKd)+jk9hz=@^J@F-d`wf*9u}pN=;o3i{y4)E^I1LzxW-`>$3P}^Jk3O~XS2vE; z+%5aYWPNqCW_etsnaRUba?KM_!tsTR|6_o$w1CBt=ypmv_-yiJ)Br3D3GB*TNyb zpVl=y5wV|QbOJ_s-;y_|FI7Jt371nOMZ4!>=FYpY8b2&{&ZteuX8zDP5xieBn)6to z&@p+*_TH^QCd%BG(d1>CXY^uVXMNki-=Fi_&19i~0AKHd`~-Us?KAMpy1W!`M;WsL zTq!b-v(C8s@8{sXa|oC5Xp9X7-euV}UZ4*n$iBs!JTuGd|L`@XxVmk_`p*0gRgg!| zrpFEJ9DzQj>o$@%fl6Y?1WTAWfAh8m9fg8~RqQ#4O|#awGfwX~VI`rT<@d8aj;r-` zbh!m0^tf7kbontQw`|5a5oHSvpXC!0-XMEUS)j0aTdyu*=O>EHJ+~^xjDd4)UM_)w_tXZhSxiEaOI7>)`RKA6pFYaIY!2^KnFT(osdQKF#vGaDCkH1L(RTp39Rfe6NkkiBkxB z5a$z5Z2{j?$$Ry&u-fcvzJY|5MW-1Hwn6tR?>(Xc8*I@@#U1Jb2^mBdJGL$l6F!u? zD!+ulO|Q{zT~1CE0se6<;)_xPoICjy>QsTEUBD^d8&>VueaK9ZD*mh_luVdRhF5y4bY3pV2;r1O9Fc9eT`8lQIs<7K9Z@8vw5JHl_1 zd)37%Q#~aX1cj#!euVSSJm$2s{}kXvlhG`Rl|``5ti&#iRrrA9<0M>NuX?>Pp;j{b zexU@^mF!%8vgY6ZT4&V6#vx`C);-JcrRIYh;nu8Bq}+E7HT9&734M*L3ar=F=~h9g$N@A~tmXA~x)w>d4=Srbz8Io_{5=sot&T>h7T#uOj6P+jVp zUG3Wzov!;OSgQnukI|JuN?DjneHFd9Bej?yqOHDks^@prRR%yJ(RQ6p{*K1Er!|QT zaMvE7M&(#0#VRMFix;na|ImEKx*oK^-zaW#y6ctSrNayX87W)K253$^b`;UM< z-VS3m$|HQw$2=nq)XifLz3omAzsYqY1L8zFy89+Qjyg=>$}|PL{`Wk^pP^DARNPFn zDWg)YPY&|;a?SuIK)eTD@0dPBEd9Ba`FE_+$T&bM_J^Cf5y>;=o-Xct3re-&dIK6Q z5OZYh0JzL67%VOYev`riuc?*hmY0PY#yzrUbZ*9_ zF}2?VSX>=4oGqC973fS4Q*Qr)R~q2Q53j;2=fSat&K!MzVOi^iNau_1Yclh*hTqU` zCp@?%@L~7%U9$$#q-o;8N~lVSi@bGq!HkPZy17Hfy+elQqfK3|%VN&Ze15VI;TBFT z+zy!_DPZzt)0e_Z_IAtY<{oqCP!Lsl7b0EUQGu6S+4mzU>BScF-F+jRVkR;#ucA7~ z5)b;ogd*Sh{-CF?3={ZnZRPy1R{KdC z=jWPn7G@cv#+#yvNb|Gx`mDv9(s!xl;v6`)55Q+u!Z~sGrCQXK>wPH0)?W7k<;3+1^ z`#y(?YPVb3sz+_bCM~9?p-HHoo7(DSzoqj5<&|UvbKFq)_aESkOo<-?7p(7+4HZzU z$97n$Cj#kL*uqUC^s_$buUgd=0|G3{w?5`#J&q}|7N}Lthbw)Ds8$b7ioT?hDT4cX z*N6%w5YEfT3}TDgLB9PQ{14gAy923o5s>Ye0og9H)jp-)U!O$chi6&#m1L_Jn&4B) zq!jt^CTqZaH?bMn%hb3rVKl2!Vm1Rcx$s(|DWF8n{;?Q8G*WKe&}9~ilWD=2La!IY zV~xjxRfsis&1+}Azqjfcer9K%`r@5{atCP~rHNqyfdpsu7w;5qazuMA;Q!61ra1L5 zomZjTh6pgC)`!j%9*g5EhI*)gI6fijSR7Brc}9EHg@Z!TcI=T9Kop283|;} zgF_Y#k<97uO9aF7zLI}~Y8=X~%U?>w1hv2r)?7Hn?TCF2f9+xZES*e63VLUnm*l*~ zfUuYoaEgxXhgUmzQ!ka`lP9`#!~VRfuR4CIIeAl8{@0tD=f?21fc7Fd-@cg*j#5y1 zF(ScQc9?RPA%uy=lbFg_nH3y~<)E0HMqFF;HuQGur4JK(S_IAa`3t6L zJL=7J+(cZ1!fg-8A#xwvd$resWsmFl_)2VwLBl9P&>qbKjrZ0^7WzK=WXGfaE{PnR zuS4B)fi}4)XE_tY^$-B;gSF7*GFE!mvTxw{8m(5Xd6+t>L@f609=kiARxg$o zGf(Y`EVi!ztb}9_CoBO4JCCol#9cH`6BDU?JK%FcIKG=C&TobI>iR?DHnb=H@QAhz zuK`0}#c>gM<{S_C_x1K`dnciz+mI)D7}pX%#z z|Cc{rm1UWg=BacT`JD7}e2MicliT@DcOiF9GRpg6s|}h8rVlh!1u`=ifBKHe8mH*E z`jW&78LBRE${MEH-~GrPuELo*g*Tbs0>f$k-@|EACwb{lrn4@g+`9{L*5V3o23OxC zJ74N-VlW--R<&{J@s*~T9O_{VJ71$mjH<{kbzxm9abdOEi$}c@?3d99tI4mdr;SKZ z^*_zi?|vn2fnarV*>D2s2swdtSY%osSyZ3B?@qQXK9!jV{%@`tbl_k;#z*Is7^1ox z7pNyh(zbmRi&H5*`FD*@)U68AsMYcPRkHvMe!f8kZXtis;6J(YG{*QNEX zq?v+aw)I$Fb5b@my!4fgPx+U^0LgL-4l)8Oov?FI!+A1ydu;Dh-$bf@uafG%e4Bok zk+;0Sn#>m7x4v%X&sw{OEWK1Ly@^0QPkEKzoNVlzVK5aJ(Kl^cuK-jsR@sk_&ROI0 zI_k4T+9rHF$l=zrSm*xYb!|rhG^ABT4E2Np+L9rnNs-<4=- zT{Z2|@BQW4TPwPw&0UU;Qd?i90^(Tpgvn5^qEFX7OqOsR21yQ(!aGTFv>YcnO#Vu8 z#DgS<@jpq9zIwKp?~vu}B7k8(O2O85&C24^W43F8JZLSaI|@vl8YR{wKc;OkI^UD9 zR8D&9X9U3JS+7|kyXB&Yz`7{cw-(Ng1)C9dxipj87ivGiN0xQ`iJoyU!l9efY=_w)-FL5hyeiZh^`8a6FB;m4|k9X|~JPukG zv+2o)@twV`iJoOB@Uthn5tFyfhhL#02o}JjdQh+^0$cGK>-)8o4oAwLgIQ_R{As!m zwKbp%9)i2>L;On%)xjfw2V9+s}JzpNCkC~#hB`0%Wc_q{k@CO9S1;!XC_l6Ex2 zaaNX_IU~&zii1L&i`4JFuW$Gez*8Id`uS7SXEAzLExoPUy4%1>72dVnWtQ_D&b_!2 z|4OsTmF>fSApf73M)seW#(A7xd@zV<7{WnJ!)FGjK71V0I3|_M{tu}nDk4+}zR(_c zKaGneZMc8x=MVSv2A-XHoix$tcpxre}CwA7fbb@sEqvQK0d3e~kV`etB`MHq+XSad!HnnXPVB-pAjm ziywL_0}yZXgJ@|z23IE5iu&T&-&ZA5;HqTtg6gBe#p*i{IYkIVB}VU9t(unTmhXBb zGU3}IGKtg_@)f@68hz2;pyX3R_w5LWTgvm|9P7hS(L>R-#)1L!GdT zIY`)}p`@XjflnZ0l{if8>R4}}%C?;@-nbv9YU41D`e1p-jd|4+?62IL<}>wuMXA@# zBOex%ICU?l`|{OH=^4#FVQ2S}H1jFi+U*vTox;e*(!_$BLm{QhNWB;h*i;zmd`QzT zoAjeLzyClQc6<+;eM+)`v8rjo?beC0iX%+_a@DH=gVikul+xO^*Go67MXRwkJp2_|o?CmILT8 zx^+&rv?U|Qkc&qa>ZvNcXT;x46Y*ExK%Vx`qQh%|Q0SQ<%%+aj2=og2?H*CVrGhfH zD6=g>n^b4gl$z9&lDo0=tXEr)JqRh_j}Go4IjLAv^TUI9r%CW z!MRX3n^@o^(G{iGN`(HZd|6$(DrQ9RP~n%7hYV^TWi&&N6Nfy%yGAs>NWQp#_~le! zSOjT3-r)Tv%K&o@$?BI8Z=Fqbm;gkMK8%WeIO7g|kU^lqAtqeDjWO61*On-S-+<}@ zq8B`-=gKwQlnW~VKtDg6ftq1D{Hp`YdZbdVVJD0hYJxq|c?lK9fUTK_4}&`!FmjK5 zVp328_t-r*B}Xqc?2i7hZA9W7OK6_-<0yt|j=JU1Ur5;IHkIJ@=eMTn-3N+TW?t|2 zN`*T_;p}>jn8x<3G}LkF(Nghh#_2<2B4xf>=(HW(&r{335ANM>dR@gYG+S5-J_DjL zN8Bx?_&mUmddm4ltR9$MGro1QvDLBsh4ISkRALzo);v(t$N9yh#m^eVmv#qnXUl!m ztF{=3yW{9Lo5!-kbi^MlG9F3~ut^C8-u7W0#m-;WP=0xZpYGK+*F5J)E?hE!r21YM zH)W9H01<@43B4kM0WK>E9S|&SkJN`1ua$5T_TYlEVr$*5|xE) z=EFJajg^=+f*{u47uX7++y(LmN84PH z+jjDe=^G1}L%pXc{)d|;dgFT>UgOdnB0qaJ%|HD^Q?q-P{F|n>@aF`TbsW&t{xoWJ zRd03vK0&SZ2IwMhOMC}lEw)Nn;n8`}VN?@KX6)A!(d+@b?anm>|%lK(TKk#XE}L7*qe0eTXT^Dgzs z#*6EroVB=t+1Junp-i6M5^ITU{4b)zd>8-Nrnrq+Zr!|0JV4;W5qERZY>Dt=+oJcv zsP!J?@~3FF9!uoC0Gj2VV^!%KwjSyWRva(_ZyPoP{sf-bcL>|>-3QR``#Wt7D;{(8 zQ&-DjX9!%)IE}|1P>Z*&8L|;jQ9vvnAKNSD7gQWpUS?jXk1;cQBxdX928qiW5A^`u zukjq92@7`J6XmIwk9Fx;4XcJ#KM8dnJ0?61ED`=DJVHE`uHe$z7UDHstpC!#KCxO$ z_pt+)1S7K)wT-(>uQCsw0>+f8)G@6N+#u7%CNQiJsz zeT$v?!8Srk7HlKNwwhV~+D451&o<%~DG^#UCQBMiRff!B#znTEr_Azq?H_B6t<-99 zLEP=*!}$Sg#Z_h$2)nZ}!1`q6daDjc_HyfHIo0%2|K(PlzU9YF-tPD7yu7@TjoW7l z49z&2hz){PDLhdHYy9-BbzOFmH9XSni_MK3mf-wHEH?LooS<{LAyiR`zbJSz1 zM{I_*Pq^MKSYth1J-3!Vk*;ipGAqdoDagO26$eJ>wPuMgazwz-Kl)f2ueMOG<@;M2 zFNzc=pINK_8xPkm)XUO)snTVR9%^3+cbVvFOpo=QQR~_-WmUuAQj`E06ht$g+4Qgi3=7A66A>X0?YFWT#AUu$_>)TKA*=4LY`Rc0|| z5F+ZOn990LTrdhQvU}CA0{{xY&FGrO$=P7W7;0s zpVGiF90ANouT9m2$AtZCv0I5A$9Vh4tI0-ggA%1X_|vxDoVDLsFjM*i<7bD(0`EJV2JtgH%J+~=YQRx9vwW-EzC*lmuY)9# z^z9u@?nh)KtdNXDz}Xoi=yN@-gld$|;1l?@&YNcaG-*~>J|zZdRkw*AXNiehpo)5j zo}y-7`4+9gXqzp>4d9;XPiid6*;E0Q@69UHjcw1O)t}G5SbQGLWo~xr zFikZw&|HMbljowtm|bVjj>Bq#2s6mimUj}JwJcX@m-~I$~@U9 zlm=}>?|P(&ZHv6$tV=S%8q%`kBJsJ8K2lalcw@=vN7O+h?Y8C0!z22&wsW=d##7pj zRaT-}YD&44);Ey*jCF^dWSKK+5Jddja~~($RpB|*t_V)<@nEAey^{67%;l;Q%V!R) zZJ8?>2K1MOwsd45#3^6MCvg79!r>z}r@!Ru;&7hvJr*Ee=OKBU6it$VDS=ljS7DcP zIa;EgN)6Gg;>f6$Q#i&vdFV9Ku74J5orgfLSc&B^5-0aI-r{Y@;r^o_^U0E#)b0k+%CATBQZWZKjcO2<5X_sjcpeo0_1 zDEMLY=IG7hux@PFM>mgbcu$_*CgMzFGwzQ2>{raPr+WG)o}+ z{?zAX@KlI8OQdZE(}hq~qNPWhsHyOd5^E5Cah*2}uES+V?hP1SGIjT9Vc9B7o{ULG ze7RBpfc@=woYIIa&mDU`QuYZCupYX(po5)FErVxwD{*0+ z$IDwM3s-+uHKuK?O%dPkRB#PwuJO`TyP}Kd^J+%=KU6xumUVT+SJAW5XPX*tcf&qr z*BV&>-^@!*eR)xz6`K69<0c)iA8|5dIb1H2#%hcpT57SDp_J#Jzveg4NHN8NV!`mz zrutlXKA+UFZEh`skH-u}Q#l3eW8xhVg`*GZ<$D0#G|Er*{xRKjd{BOqGu6cSi@^j! zLu+Ku0!DWRzVPVahSmtnWGD6!d?6*$txbYjrAM9YJ1o|Qlpu1eN%=h>)eeHL9GLD4VRC;aG*z{Bwu)XLkIbB{vLt6&Zl zC4wqB@OoWzE+*M$nah5ZCFa-bBR#4MEg_>n?#w4W%MYh^>}-|7k%sT_j|EFt z0vBc*JWd!8QncIv=!1_!T}42ro0Js}TT6ir}oE|^)Z%ixcxsbrn8(X=&{VspjfT5n%W@^mA!U3!-*8#4O(-aVqm zO7JxRN&h3QZX8~A(#b*(DC>dDg=B@yfpQsRP>ll#$jnNa{#?M59$ zZl0XntDivc?7Yu@y|)mTu~lm`nP@$_N%)6JkBkp0$GiMy(nBPd;#A3QDDu*3A8PW{ z-V27|c|*C?-jv`MI?XwY$}MZ_G7DV%t7|_GGGCrsR1@fE7#u%eV_)@5<{5%G37ehJ ztToTpR|yrzaF}$ZduuFddFIddyYdvOpgzZuu|Vc=?fGNPz8GCQ#4sFefDrQK2hnem zoMP_X2L!* ziA$S)@m85ARa!beKQHw!%Dl3@ZD)M5Pj#SQeXW!N>!nrBOYu{hW8ayQO)F+t3^X5U zv1-5Pk$4mrz7%B+=>gL5A?9FZFtDYEms;Wk{tRsWF8Wfvyqjrx&@OF6KHbfZgEauO%0O3VR3- zbblAJagJY1I8#TRw`?!Dq|8m26LumH|9V9*IlS)jvmiY(f3yrUYHQ~1QR|Gl%#f{Q zdFPEJQ%Hg`#V}h^3}l`lx)*Y7?B8xWaBj$A&-L~lHO_?-vzs$3ZW3_JDo~JXPC_MU+ z+(5Ep3MpaviY@7lY05u7Ie794qZif8h908-7J8u(Srm!lP#yNTSQ}%;o}&dlgfA{U z($1q4>)_{x*yHOlVR5b8Y96F9P>TwDGMl3)WngQb^auiRCzVdTgJ+~6S#q!9ptp?z z{Du(K<+;zou*lj{=L2C^ne;-nVzTl{R`+bC6!P8lGGt6Jr8Ah6Hcz`w1;`6Od4jczOt^f zipuC!ydri!TVG`pl~^F^4$lu)(^Pnl*9Yfnh=h ztPs^ascgN$%&cE9R{8Hzkh$QIK!@!5TmTuY2yp_u6h&wGy*&Jff`tkv2qX{_b86A^ zIz(@KB>g{-arG^|z?)xlh!ypA3%cnue|{lW$T$!M=X03rQ6L8f|GMUPbomPpGMPdU z#*V)!edv(w$s+OVl{fTGujr@2rvl>V9)6Uwp*|=FoG^kiP9xl*A-#)}4=CFCK9%TQ zN(vJ$)jp$1X?OPnrvfi4?6RwKK-u-us> zyeY2_a%l2e*{y@cu-n}_mFKP3k0?g$hkZJ{b5N_s85=)!2aD5b6?;*4ljqMSOtL7G zBh=}C{oD?{(E1Ww{OrSV#!U+|Ojbd9v@RK$GoK&WoEg87QATG8Rn@r%DKyI-*x4N% z*u#aPO)8}~^=^%P|0S}m-`qGVwJo_}YV9;9xnMbWp{1ZPi`f@uTpLU@2iD0H@It7!_fM?VgCOUC*Xcf6D5# z>tfiFQF2cI8ebhG|J0eQ+_rfDshY?XtaNBXxHx+S*(@cpACh;-bt_|ZaI(n(5UL_K z-0wRUF03na1;a}){XMAOZqd{0sBRoiF*_UzmHtulk*}P z_^psFL({kiZ^LtSvI}Yr{7ynQB@=WZA>G)Yf0J3Nx&@^ITjIQ@obo16hM*|`i~^-&9Njc(wQ+}hWgrnOVWy#1}uOPq;`(V0`6}B zo=9);q2qR%Ql%~0&Te;2dw9ssi(eFBMJ7UN<|nByIT{!GDhmn zV-;B#+Y&J%f4+C}L>Z7n8uYKd`mQ#-RV(9T-7Fd!d{}2jW_|SDj5$nT+ibkh<|2c? z-HSJlj^{e5Enc#DKcfxh)^$}niD#!iK^^>+&PF^M)3O8U>`xzF*nyOo*EW&T2JvKp6O@T-At7xzI}5A_f{J3HWjfi~B@h-B?C(+LB5(Z6 zufMo6E&JXz37Q6?24jbGs#+EM(=ii?pdm+%Ae^Hg#(i`h{t<>vviQ z?4URedwQAmWFFtxMSi|VX?(GgT(5(VJBtq1BG6g*f+)vWa5dAER1*M>e)UW}9r%!CwicmSYpA&oY5Ta(pFew#n0c2*Rxu4?AZvIVKq7|!qnchu>j?NN~HS^dhfmtql zZ{D;ss<{qbUK7uEA>xvSvKJInbz?-QH~C4#kIBqXS!Ad@K?}#3?pX*P+|5SCtM!-d zvIcj}8!}jK{|7>mCr7CmT{Z*5B*uLYqtr#0axt#gS+l?7O|ZH+XON+wVKTVqq;~(p zd#|%A&{5*`Y!26>)3~Tkn`n8$@IV

^eTT*kyuMDf!3Iuu?tr9@or@Zo|}jF%l02=klXc(PxW;0FyA>v zElW=L4+M;Ip=w~1tE<*!z7MD(KWxPmktqRuW#ue)x_>`4dOTA(AH8V?*{!#(n-yRh zHDNyWS;WF11C3hzboQd!1%>)kL^H2(%84c4^;n&a!>T>H`*qw->C&{zq?;Qj7MRby z5ne6|t#_41)Kh^^p$PQt;}=o=bZ#m=%N_<}6(_PyrN3pH{WkxSZLa*0Z7P#Rh#&TZ zJ%Ju?-a}zPCj~q9@U*-I9-h`*>4{`EwnqUV$KbNU@j$>dlpo(S_ZL#I^U#bsma{-& z(#=7ntBNykI}qL?^gXeg%Z11uUE7-7A86RArC+$oBcOofXGG^ zu7P2S2`2il{F_05)T)j+bBt`UHV>1`WWvqu1?LnE=dzQ>*iZ|7+v!f z!|^?eaub6_x7}Im&!f76cPOi?_!4hw6*N!mDXM9Wes3z*-U0jfxX8gz&NI1nyUbEq z=I5VGD+||9CZ#BI=>cQ_(AxrJfK$DN6=iQe-tcq1GZc1b`@-(Tub>w?meipe-Mu%j zGOWOeLoct(a&b0acz_ILrzv&~v~OPLij*1$ES?y^;@SU;#dA}c=aW<$?HY=sBG;|R zB|RggF7MCQJsE7>?>*F{Zh&mwj~ln3ILs6{n%)1jY@yKa%;+R?f)-RUF($q65b{Wl z~?^* zxl{oiqI9k}f3Oth#X22*M&WvOR^YD9r!26eNv#g`akHNHK@j$^6r&Q7;fx6j?kbN*E+?raO$;651F3u0;D{YeRw6Pz4XC$Tj1<5*gR z(Xm)TNcHWYWCU@oy)&oC1Q3PrPSmux>W})4`#*C@^EbHe#nM4N>+)>!&S$cr3kiW= zNXKBbt(RuLg;f`I4rqOk6(-++w;n@#DE|fRc`TQduxgecoUBzw!DdCgAB|<|5#@kK zbsBThAbs+WrVLI+HdMIzgShaFvU7qxp z=sHcbxwDm=5wu~cN45{aKz+?o0h{16LF&$lPI4iH(71qOemMUS*s^Pp&;zO zeA!li*odKBf8(^hGmry9E%NbMD~L4fE66f}nh&!cn2w#-@E6%|pA&Q2d`-Ey3!uT? z1O=S^M0Bv{A%9`LvvZMa^^7a)Yjd~Ps%=Loh#3J^;T$E0e(M^T{XDQ-ad{pw;z{cBWVc+SteOmY|dM{ z{>(q(H8Z|jrW3$p9S{xC*nK+p;q)zPFER0va{TY?0$&L{uRCxhdZAY6%SlM=c;;{| z&M)O5a1RySQThnU=-y{PgEpX_rTLdw=`=|LZp z11?d1TSD_mh+Sn^k<@%kKk|JTBrGtt56gU3ErcKa=OhuMp@ zADWQvt(@J(@7Gyx=v%wUm#BHYJuoioHV;-WugX6hzAWN7^e9*pKa>O1(H=2SQ49m{M>=IQMYCAowBb1-;%h}t&_s%H=-o=!jEKymyz({q zh+i=!<}+4SeY|yRWmebjf7TBF{22nJ(+ixy$@ajw;6pkgq6j6R(rPMHD6P#ZDz&s! zHM@EHxxawshUX2M+9OiDq!AX@D@=^GZd<6N#V7E6iFIkEe)mNU?x0{M%#2Z&EP1A* zJ|I^2V<~0Xc5Asg2u(<{X8IMsGDh$$2v()&xmjXj!3LqDDARSb9=H8;e)K!`&ESZlE!wv3YtwD@hu9aS#2iGJY9Q@A zMsbHufL5w4MjD{FD;-f`ReNOR(0`-2M~Eld++sP@=P*5~o^V`uku~05uVMIm?%jR< zkuq{xs@Ly4LXtIVA5*RHuEcF}!D5=qT{F@_v@KK5WK5*i>gH1YP(YBRu2gxPedbf% zg$8Lo>@O!se%^ZGU?MK(RC=Cm0)RFi)>m0eRSzubu!i3Tg7Yj zcy5@nU;OpxoxbER zTIe@D($pbkAeoYqOi0!`(;D$BM|i^nYK9F%aPnC3sHYfVn^m_v8+T?ZGV{8aUOW>h zf5xOm^7tS+Te9?g!;Dt%V<#KNW>0j8j&a*?vpt3i9J&0?Hb@_58*Ws4yiDy#dcWm0 zDd(p+;Ek#)4XSi8F;6H6@O-<*WFR%cWa3rx{`2BubrYRw$`}B%^)A@W|7H)g;f=yP zcK!pjks$m+<~Sw!Kk$KMT=#|yfDarTvj@Hc_CV|(_J9!4NvjdNr-Zp+B)5*rqo#5rI%w-8*M{u6TC4x@c zoPay-q_5%gid_y^m7f29I_X(pH~0Y3Uf6|>Ebitg<&#d@`gbR-cic(ey8c%uZ7D`X z$`%nC3a}%y7qOfLmvYgWLASA+gd}Fpb*<)Pq)FT}&`7tZ^4(sz3a&mX129%L1~}sN z`oQu%WZfu5+Sqb~e}ly1B>opSH`~Mg9ifKrxQxGLNsZhG!K=2|IzJTgH)}|3?OAa`{${h@Pv)!h#@;C&?V-pYq4?n>e; z6JDWvjyBi?N3_Y-t;CNE*4%H3Xh2GnxyLC~eYlX6Fui%4Q%mED;gqPyW)m*H132Fk z&m8Ea#oh}HT1BNaIZ)6c?2@&>P{RZc;N0iHMei?~-cozf-)!!k4)pew<3_swuSS~u z*HFuayPQB_{GBaRCD>}=RpMEA|dA*WVL$nWj7<$1egTGy2s!u8#uYSY{i~G)|2mDFg0b5ix zn~HmjJ9h#`n(wN;BVuw<&owgA2mp7AG{5f@?OgwLr^q1H^=HcD_h-sftNwL@25S=w z4ftckNu+g|BE(KNywE$_{v?Z0k}HS7cYrJw#?l0hX9Wh79(^Byw87Jvsv)%{ZqYaap(# z>o!NIDZ7zt`5pcHt&w(^e&XRrvz$p&^KqHTSrc;SvbuA-*{X*+Ug3ZMbS zW?zF(W>z#{W@Y`)%&PNvW)Sr(F?kE=3~D15(2jL zJu32F2vv&(V~O*MZMB2rcfEqGaf{Y0N^E*;@Tb9wi)aOLUZ6q*P= zUqYqR)i{`!HG$tfYJ%yknVgtqCLG3;%tF03s6_5go#qQ`6CQYCs) zq%g>>O7}hL_U>eXX@#EhV0&Vtr?m~P6a(v~3If;I*zM>FU#FTTvQNLETo;-DA5bnf z04~G`TXdtkd&(=;(ld~yp7n!mWA4@gOQ>8E?*^dUHnOBE|{+`WDPj?z<6Q8uOYei}dq)ol{G@lP>^&1wdj)95pzNj?zkyiCF0p!`HbE zkndg}Ln41IlWu%c`*EJPRLGf=USn*LQyn^V1E05`$kZi?_r3}KlHC0}c?#eBojfhC zeSAsG9bMq7c-yIo`3maXZS*o$GT3hoC{mI3L)7RJ|hs3tz}#>GiQ1!7!8# z+W*nwh;Bl4E7G0U4^w^nE<{G9aWrII=c z)pcIOYu#4N?2!h?(t+z9Ag2k74do6=Iikx3vN66x(E3z^D4olBs{n<%?aAY7j?&k@ zD9MpQAr9Qr3;C|9}sll70E^ z)Pk${>Ck{`!2i&Nb;hG(ZJ5@PM{GXuDfKAB%=@337=6VezpBw`F#~|qao5Os8B5iT z03l?NN_1ZZJ@1G!(+H|2h8h?vD8qwTAqO5DtBqkDu=v@toD9QdK8biupK^YKF&`?I z&bixe7cu_R``_Hb4k(=V;nioP>mwyc)0_%pm8~%NVb{)-Q~%vFh2*-_QT7bz&MRyc z$+QZ-E8edUR;`JA%UzgI2vqI(-at>O)bg6eYN12svXEK6BajUtk`XJ=;qrC!#HY0u z<$5M*E8-v^{d>TiI-QUa-g^TTbwcWv!MlLnZ5UF57FzF2f}bAru!?ppnW zdw_7X3v!oN;p3Xyrft=89W7ke^)2`)9QCp;7dk9z$)@%*(?MhT(5w#IozTNNrTZb{ za(vz&0;sEw(fqphzeHfm<9F|+hSTDG+8L@CMe#SF;i9u4Z1MKgY2p)HzUb;Lcp8!0Pq zw4CymC5y;jg4aO|r*(ddwx_gNY)hHlZnRktT}c9W5Dm9s6qRy(Yaq)0A5}><~!bw<|;ku&%>? zk4RXJ2}0+xkjOtL{`&tu@wc<*S@~dZa`;9{@AR+Np)Af>T#vZo+RiPf=wO+mw$dyp zd@(CFV>}9Zb#B_#S)r8_+rXb5YS-g-$%Z)!CbE$C}=3(f$)n@6WcB%9({C1|3AJzy#E}ROZjNM)uFP#^IJ&PE)cb zan694Qu`|MVsmR5HEI52y!o{`(Y*R~AICnPHS*GtB(k9g z=NXCd(7Sn4tDyUft=;t2uJcW1qtY?Vz?^+~`_22jDx(W#;oJ|H6C&SBaReCwEY_Lg zH)|$=>IEJtRGSf9YEl6PMXtpp_vnu0o{$h(Y%3LMmrb>3k86;i6+ea#nO(BVWMZw- z8aash5=Fit)A7JSj`c>kT~`F}`v-)%__p`0=cWj>_;U3BVe2g8qFlE=Jct5H3DT{g zvX9#xg$%CO33r^ z99Nc-QBn7L4t!8!IFsj?UxFf1K?aCd_^eADpx%tJO!#Z~?)mYE{{`9~6Wn@qY2)XZ zO^xTH{q;CSrlZIHR-Vqvs>=I?cs{mNfXWkSoZ!jxi+JwF45i_OL4fFxhHE26MWX>g z6Evt!zaN*E0oo@T0PBdJrP4=S*hhm3h=qw;0Kwsap^rMM;q zB2zu`YvXZligkkWYsySlKF*}+*oh-#V2!(Gx--;=(*gSeMA)Q_9tQG2+;yz4IUd#z zSqjfv*K@QfP;|M{8(TGbI<+C9XA|cxlVn)-iAVG@JmrKCvKYa9YjsAq5o_~t_JKQ} zod;YXoW^d6G$>9!rPx9gpSMmI?fZnBifDHyB!k@5FKqr+jQnU4b#h<)_thUiv`DKG zEA7o7Vas3++st@h{|lY?RZB8~V)N8!`H;wB*DczvblUnRN8#^AdiTi+iVai>gJc9^TB*f>~bb#GAFzT&@>x->ki( zu*rU(IsioUGjtX$&?$9I9!u!uaVrtHK`nHA2HRvJV7^00{8Gn{OXwc!C0oxR%=q3$%hi5~h@Wrp1>Ssm!0X|>E&HRq_(?5eMXdBN`XGzEqh$ta zP+nf0WRnDRsk&HrF>YCuL27(G92hx=0cYmIkRUUYKwjioUB7%ZUx0*TZDazaxz(so z)TG}alA`ipj{GOb9Fu07gQ;WE2kf?K{JjIq0ShjRU=UpZNVCOoXo8*#`v3TWdeGN6JacSdhY>*?Fhc0?CHsUS9XGP=F{^zqa?Fu# zTpxNpxj)K$MM$;GWdRhoZ~o79$^I-U=L-L@JYe$!Zpzn%-u!5HXsj(uuIVo zafMRC#vn1owiORAr3Jr@lfU5cYBDl(EGaInL%6f|%L^qoR>tGiCY$z_igY-NSB9kO zFbph?bX4pDH3#KFlCSl+__3hExG37!DV5o*6y9aeKThmjKIN(2g+(BtTjV(#zQP!2 zr`o zUN=$<=AikYN=nz>tlQZS*!`SUS3wzWBpy-8+$;XxkkW7NIJ#*OX2!?W5H$^ry7;m0 zbG>s^Wo7z0k&(gL_wJ#Z@VhhcOHTxl3&CPXKAR~37=D<8|BJV0Oi64E7#<0&7zImI`0yYl!NeYoj|U8Uuuc z@2BiI)D?+KfS+MCRp3{w%?PYse*Ef+c7P}1s6 z)TiXxPQaFhe?@1sWnAFgx`gK5-t#gQo$f-&98>`bLjfBP{>27^XU7r+?*`JZ@C4?nEOlH&(jD z25YB&Qd#k}PeqY;?u1KARAVjy8&1qn?Xs$gi^)?GkxuA!cgbblD2g_k_wTMMq!Q3N z-Kk~O@&@D(?3f1!o#p7D>5dKKIr7danuIP?s^fjMX{zY>bbn(tufW$Nu0*P*$XM2! zHP_NX(%R^rw$wRD8-6!Kb3-;(vO{~`&jw)*@w1b0e9!G}U|ADvN5_Wml1M~+X)c|+ zzNWQ>ZrzWX7KySe`Us1*F)z=3-#22~`FWKC)2C$4)w8=}0n$`;Y{M@e_jbwMkY@aZ z)hULVYhqTaBZ_BP$;@HaSVObVYl4QBh$nT1+ImW9x{vShMh%b=j>{l$tc|BxRXbN^ z*4+?M+hOQvD2ZRYjHUP1n)w4FyW;EbSLTugL~pdx{AA4{1Ob1|3$68jfyvKWqJS`3 zL{(Z=(#(Tn%b&(BNxL^|qB%_>38H3Mh8E?f2F#of~ibjwMGqG_ER4%7+;AKAre(#d>`d-SB~Myphr?Tt6SI5N2-9;}@i!M-GD)^NBtFLWt&pQvd!qU~dRVh=)gZ=v1WGGN2ogMBWRi) zfpVO8gJqxkZ43$% zUjOJVqllr2`T&D=dTKt({u zNO)JVeqFTbv|n7ec;(YQZok~))5?*y;)?%pk7x_O_v$Ckm7hfm&2%uAHs8zG)MGK& z5i_?psUPZ{Q_{};cn|C97*L0!2Sr-S!)X0D1E@7!o3`v{jgZ5s1v20@>;}_g7Db(> zHS5pPnuA6%w}7-}KFdR%?H<90LqpeJGt~^TJH5C7g3$)~*_fJl>iN<`b|_))?ME@; z_|hT2PVSG2wI7tgwf}+Zozf3(CfGOvn0^UbwZB+E-oIEt!2k=W`%@g{-z=b^aItBY9U$9@X~syE8RExqSGf=k3=Q>E`AbbEC8D zCi$=IW{P4+<9T*d{Vcor@PD(L2X8~9De3Z&xf5%F<#vh3gr*Zzt! zX~?3Kr5f6=-8`DXIyraF&iBe#qs*-^SD(VKKgEu^YlJZzP@ea1PnybK*IfLmG+=PX z>cz|vA6QQB=b~3~(%I0f$tZJ5!-!Mb4)?<* zU!;s72w4I~oeO@}3-bVAh^XvsWY202y7QRhXFzXZuSy(XnL5Z1aV?6u1~Dh|rbiL? zz9eS`{^>dcn?elS2XbT8eZw{vpXY%qm>V4^17Iwv zp*;n0Y#t3P&d`E`>Fu&rEMB}nHRm@nyrdimi2Nv1|fra*!iT(Wd#fQcZ z-daY_b3d~tY76^Xc|iy=fn$onwzWhovF@^t`R(z1bAUEVl5hH<54&g&v|({z&SLwd zDCB9#<_mjTa;EAZ3wPLlax<{Lak+jSPxrPh{u(sQoU{raB+XYlBGUPK_67&q)JW-O zbz@DOyS($oz>uhk0CKZTKvUIk`4_0fTpou=nVio>nTNR5e>r~B2Wpe(5qc97BSFOZ7!Szie6J&vkzd#Ob7r`FMUEorx; z)_%U1Ye@`21w5isG)769E!MnMM~TQ}fmP6%VC1qSZX3k0{mr(PZbp&0s2CdTnTb`G zKKE)+0bY%(gnpGCC_L${2DeRwbK2Ko2N!b%Z<8s;rLzYvG+h8a9RrrFzZE8uJCwa> zPKU^k%j1hF^KBEls}S_;bc`oQh_1hYlS2w(9?43{c);ajG2D&g#*LR@#t{8}|6lCI z7Qe%n$(yAC8-Z-0f%#(t717%f$hTX$69OX8%1;+OygwfBH&QluV+mK5*!G6R;nd$m zrI{z#YsOEM^I#unLzSSyZ@1$)ER=rq0?gytJLFgNNyItXTya;hOGPjZRZMBd$8{rU zq$AkkiO*AS*+VGD4pq0SpC~;l!8vx@!XREzYWG_PwKTx4Zj+d9FM%9Os-in!84427 za3qvM&5u7i9jU_cuEx62Adjs#qV6pVF?BD9Rr~<{WW>)};3`BF*`SXh3=wXjge47_ ze@katDx zY}v?XJ~wQ1of|fGeuZ30v427?=YkF8KZ1>agv|uD>F8*HC+&}Kogp$a93rJ+h$OSFqVZmo!Z1&?1J5FMjV z7K&B}*P;iQy;{gN^jU5Jf(`85PTJUSEE4}C*vNY1aGo#!m5Kp*>!5~T9pYHgFL69$ z;0IaQabV`X@U`YJID!Q6Nzt%%n&dv{eIoKHUqb*XbAIi3L5F>n4nK#Z-jb zfUVl`k3QMkr>Xsnhpss02As;#weDsvbad6R%(rwYV|uV+o~<q$@PkF#`*HCM? z^{kmK;JT86o6kBi(T_rt=`0g_{H}TNT69P#G^M{sY=K~`M;qptWL&$=VCgPZ?DkRr zF7b5OuC*yeT> zKNIA<<2EOC)^RhQeS}DPc*gqXJ!5@0w*Mx4njsf~NY(8KH08k$HC_N47*Y-!ma9ac zrnM8MFV3isFPLet;SVJ)U19boYS0$BQdlV2LT-Q6Tk^DeKb4o)?wJQv0N}E;(Ao=< z7Ua<_r*rYYi@s5%Ia1Ug`^=kbhQWW4l@6=8*t8bf$ZvyEGw<{y57?8szh8MOvD>LV z^x^0k{@{-!x@Ug3rFvQPi0N(Vd8s$eVO;@W1q0hN}XwOq#UUmC$Td*F5l&0Ijw4GYo3u%7kYjM4KM z9=!8ky8Y>YbYH)i$Aprj0*IiJfU|=Tn*}&K;K=B6X9qR9-&?aRLv~#3f1MrizM6#* z`Dh%l(v`7w4MRCZOq^If>bRd~-XqOEQF2B3B@2C|UaZq!AbsenDkJytG)duKpqC1v zct7B0t-TE#ZLhl#SO{ldJ<8WtuI8+oM>r~h`8VSk)6YbaA{CwSOZXl zNp>Bvq>6<%s=6Zk{YbH%y)%~`UT!JS=Uf~5_Tpxpzzw1g?DVEP4fX|l0%7{|G?+a2 zv9cX4B4{G)$vkV*lzLS4>d_G~ogQx%Eysm~O~ttKGOOOUPmle*Jy03`IJS}7Crl}> zQ>myT0Xnh7tnUmQLnHHpt9*_`lsQiEy!E`i9~M8A2vGVCd3Hx+V^elCFytYPS{_KB z5Yw?e!?pM|jr&~;3cJ@ICbE08SCX^cZ_P+vg%{zdP82H3#(eRZeY^YHrx3}JKrcut zN1o-&%Tr;)2m=r3yTDoH#=gHm!jVJE2?-`pe}R%_=9s8-nvnCwFR%8LT=-cjAxJ%6 zQKSwI)t!sB2upkafQaMYr3COC0HuW2c`1STS1EDU1Y|pF0xBWn7_4JFwDs8u%7L8r zFFg2pDZ&2>E2=q_>rDElTOsP{4UTw4H`v_$?x;fm$L7O{x!`436%*+BUmZYWt((!2 zBLIN>PPd+F?aKTGpD%)|q9*ytQzwAP2H=A~!0w#!!P8@q3(PZr_~6br^S@G%WN*tl z>AuVDaMV-@=(5FMmO3jWfclIEW_*8~tp=kCE9F`naV2F?fSAfNEdrGU$ul~k-tt1a zgZS3lmoqxe@t`kb2shGij-Kcu;q-PXq!VuSbt6tTHf2K6y>qWeIys^;Rwy5uDt~hx z^zj0kWIc+yQ$Tw1*zam-Y9=;8w+eG@y}IlJqAjn@oi;9?!}*1_nBXh=mDEzxw6I+$ z==%{gu=&~vbX>UP_J%52FA@1uShZ+Nd-!w9lt^8E7`w-t<(`$TH#a|V_9<9fn5KQf zZ*QbV$EZyD(gMp~z&WQHh2K$KpX15j=;@RquyeZOQdgyA zi41(%EN!e7(w<^i!+rXGu(s8)vEr8BN|q^h$?abD0V6iBPz_`G_!GpDy!YJtksw?4 zkM$$trxl$d0BsEi{T%L^lBO<)m}BMlODqi(NDl&w?I;ZBh8f+6w(}P<{w_07myU~f;y z`MZteoT9(R2DCJgN4|HG(rCoyqo!&IH*FSu3?0CCrggA+M}$!)+__b?x?xJZc-4Zu zp5-4cXH(iwDzCmB+qqTHR@h!?6MDw=IbE2ox=LxVr zx!w<|G7LstmDQG~r{yC;!qJJlmf^EJMBq0(_zl7#{7U4k&3_PE9fl*fy`lMbTZN`D zp?Q?e#2A42_Wv);w*ihBODhUTchB_HXGDS}kv;@#Itj`l$6C;w#5JX<`=T?5!BivUWq{_1V~IsyAHpyl0>m$j#(r9RKY9I{uM3RkVJ09c{ajO-E5n z2tpt*3B{QX=TGx}nZLgyLj%bcv!E7O!U)MhCi(SA8EYvo^=iyRO;|*S z5gfSV*iP3k1aAu5^qQd?!T$sPK0D^cyIg$lVhw@OX-xZHpb%dHiF}~ZgS;J%(FPiX!YrXG&C-^6kJ5u|zw9 zoqac)Rhdvm)AK%f6c7Xwn`&l>isO^x_w&^*rgnTgb)G@Gx_ zrWX{r>s?ioi5oN;DuEzjJ11&LI2lBmD^%lyt!LA~hPw}=GjSl30M&iHpE^UZLyGl4 zv(%4(n>-ynEiL(FqZu!xy#_~F(LAw)VQ$)5OLtnzpm^ZArZOUFLbKE#&G-I|<~{0W z3hY?VQcI^m(2?VgzbmOmml=Ik`S`TnxNAm*L2hC;JlWX;@70Wha@1ymVgp@YJQscs zfHT%G#c(w9KsJiViPz_;pVCwnKwe06*zig!#8HQF#4Xz>YJQCL)fsWoJKtjMs`rZk z^JdvSH^yc)>QlLVlL(Gtmn!`b{rn%BR-XCAm<;6c6|m_Bfd+sV!wT_U)x-OqHd1AWTmvPZoc93 zx7p*4-Df6~H&K0fzmHWA769mE;6W=h2qEdW#=!p^-DUqex_efCHv#wVtu}Uq17;7S za|zc1AmQRwtsgr9%pPYFuH)Yhu78O={&sL-H%IXHRs+*d?FP4|5eZ2(;wS8ea}dvP_78#1_Il*!%XcZxNzVXi&w9Dge_Ue z0)LKTN3M%zd;}OJ8>%NCao3}LZ0UyHw5*j}w2ZFQ#OtB@?sPAgbcBWLYKsxKk4$?) z^aQA`b@h$gjfDIqWm)nQt{w;65b!nmSZWO3bYh$+bxqzxSI{AL^j6W({1;7LVskplz?RN$6|J;VxKrq zCA<5+0XcV3xn+-6fmn^W_JFzby)9W{L_+$9@O^~!l3b#dmj>ZGzGo%c3$JI!}442n)D-M{>_rr;R*Z^46tMg)bDN>n1ZOL zhQXRQR;xVyGogB)=!F@hd(!g@MpDPU0N8QbF}i7v1ds!aEP^j1cgjAu*)7SP(QH$C?|h4>C1&!BD%#_;Sueulwecz-Wi;nAC(5_Fo%3Sh}rbH zZ>%9>y_I@W%~-vC&Mz^G@Hpm$r4Mark0zg851jMX2MgwYT@RMR9!q|d){p&BY%_2t z2T)G|J}`Z8Bx^uT^L2Dn2Ea3=_$Ga2RD^gbe|_5bdXg*cE*F70_mg1#A4{{ZR-Tjv zEIJLzf|g#wuR$1C8d$3Gz5`a^3Z^I?dzu;n>h|7$@k@aE(C(aHQUFUZnK(J;m())> zE!QPlUW`qh3v1eW(z`Lt`8C7v& zjy5+y4*^;-h+5MpO!O5upji;tlfD2>;;R6r99@uHdFzGFigeWvkgTEfaJ$;|82%_s{nM&6k;^(%5QF9`r2OXFka)isL!lY zXAN^5s(wpgQ6{_;tcyy!rWd}@-hvMA{sBP*S6x>%6@PHibcdlXws*6Lp|f<%=@LFk zY%>p*0+^M}!$hT|H`Fnv$&svmBUQ|lHnvdfT^iBXm$k)|spqJQfVw-ABnrAj8{@5B zDw4s7jnUJui5~=NIlc5JBT8C1q1!HRtfPhWv$*QM@xVixIkElio;RnWvS2m9%r~Oi zrgnVqRK=Em)mpRIO!!H$N?`%V3lMWrIffRP41TLu4BM_eGst^&(KZ8J_fzd0V!TfJ?WWQ6SiPJ-5dpI(FiRzxZCK`pxm}InWo9POq1_irrGvojEAo8 z&a=2@k8RJ3>MM7^`WV%2UvPQAaOeE(>Ba|k_&;OY3ctIU^e{e&>MIunEyl%tnMgLL z1-tqogV2-104T%-IT^;^9e2A((ugR5k^P72CZa(fpN@`h-IO*IcVWR!ntbX+EgM_Z z;VU#Q49Mg}Try|Xhpoo`vr6BIhG^VBeY<~Z=Pho>844E9#U^xCTl@u*N6(#36nObv zyKbxWEG#p$KT_dVl2B*#J1R<#mLPB7fxlp{@eu|wn>dm3<4~ZfAA@sLCuVa{1}!~N zi7#}1Z$++BPzph0080l^8io^45l5Ak8VwI0Nj2ddkkC+P(ml`%FMU(Mn^zAH6)tfx zm=q`mGiTY>a9es5!u&NDh`Tu*3l*uf)i}QBTNKfM`KU@wHriPYF);v2@G(|B%xwjk>@$n=VlSe6!60zrWd;?*Q9FtNTm$iXol57TEH z7~m*w3FdD!EuDecjV?K|FsnSP;Mp{sXlHy%qRe3#uTcWURxBnSyjolbpwn0YI-T(g zIt|?cOCOT(S+l?NwbvlgDA#z)S6KWy%k*oj6hY!KA1qm~v2v8w2z?5VzP*PjFvbd@ zR-aAGi)sj7#clK|r+}5Nd+4bZ3uV67B+S4<0r*lQbB@Wn5n+VuAh~M2o5$wMITZ-( z8SoelgaUY4&CBeupkii8&H6D{V&e_Qf?{~dGsDcfn%Eu=ZQ!gc7T3FYfoPc`Wy_lx z?R(h8Le_|J#Q~ujoerAAKy_0MqxcsUa}H!rqa|UviEr5nIITyBJ{L+$V+~Q{A<|+{ zV*5|>A}8rOMrt-(N%KeavUdi7DOzyqGc#$$3Q+x z`@Q-aNx&rS6DZxpxgO>5&vICw=vAy+gO? z4=KfdMkjap5xPd{v>!_IO}Lsf+W9_mcdJGSL-NAjQ7k{Khhzu_5U@M@JMoU-r}%^b zH4*u`46(P&k{>;`@K~W5Lp?aapqKICTmMIm8^)gub7Ma{Ur@;U`WQ5z?h;K30J15t z5vYZb)o)nyE{5UY!KsBxKP!7m#LpR*8o#6tH!;z>uAQ)JgiX(L)g|aTvUivZ?GP%3l$P%iRi!zfgsHddOZT_Icc`<4cJOPX~a z%M|b{uihtAk_Bd#PNNn&c8I)1rbM7*U$702F@#|+BdW_9<+5^{LQ-BAw~G&sE47(W zUu&56ojz@}=C#B`vnF}mXKJra5jv_yjDS8of_>)QQ67vF;fjeS|MtS%p6=CT-q8dM88OiUefu|htl zy7utlJkfhazQ9fNBX)V0nwPnF*UMsaLLMAT!wOmHvG9(gvNH4!tTwxJO_9A$+%roS z*{F!_(xGQIatsQ^+a^z89KwWzXK$ZyS4fn;(F9z?M}09+Wb0%HJQfSOG#6&w3VPv* zXEc8c*zS^HuuDQfL%oelHxRBBApyfW6M1#Px2`-E$}YQdKVFFNzWhtXVXGQcezK9` zQgc!EhNphys)4YNi+YNVjc~gC!|!cN%39fWSA{B{M50OM0IU{iMn^;mRHGjI3Yn&1 zI=Y?Sx28CboM_w?QeEjS{9%~GX-A^G3%ag8rVR3b0`mj5z8Y_SnEQsHjSv}RRIa!7 zijvWo$P2jq?hQL_6df;RVWBdUKcW3UQ0hj>5}*n^<9km34W)ka{Q13M`#l*_+#rhp zaQ?Z%X}~FFiI#cmgr>%l$0aq%dQZcDmbHfu6e|5R(xUTTAqI6mpTCOkPDLryGsHwx zLa&70f8%Jx`}N|_;mZdQkNV%@gG;SL(~WY4*do1Jz;CL)YcP5Hj?Ed6I$ay2Y4|1S zo+cq@=7p+8V_+%COuD8fq!XZjfE7s_Xal6owNutDE$*m<(JjUjs!U^Q+8K93()mXB zd?1EnPs*nFGAA}&v1WF~))jA=6Qbhi16B-G-qr-RMHFxhPQe6YtHPzF4J9GCvJ$))GHw`!3ABr>lM|ImB9-Jz244 zA}@M$a<|Fo>I{*?`vCD_5yjuvgUcf1q!8eG0AD$`CM=&>6N;$#8819e)QNtlwQkV4 z+OTlxgsmB4^V*e_+H6BYG00os*^6raB8Y}qvdB27eV%JE+|bG=#H0P`W2?AsO{Uzn zuqvMiout3UEMLYP_JoM&D=6}@ zG#{4J2MHuIW?@B2f3hV&;~fZ>_^JjT(Dx4feLRIT2tAH!UA#&JpgC=!;nmfcHbMY! zD@US2aU;g8L01flVWr>2) z!vZ_?1XXTD&*)8Z)!0OeX=Rz1GWH$Ath632;f#1Sz=LMe`x2><0OOh4oUsnC; zvjAL4O|S^Rj@CH@gi~`ecejeTfms`NvoV2hX60Xgle#%$J>Xp6O;glqs-19UEFc-5 zGwmDeznc(0w5e>(Ss>Dclp(S+P0`~Am!v&8|k(p`y5wZWXaFIeqnf{8kvr~G#}8NLex zr+~E3n74pHaIv>3+z{&qfInVF_^8-!F`G+HW|3SC{@ly{{{6IoS;k_#FmA*YLb1_acTTzo1cd(Z1iWYo@ffyV}mw}K~4vdGL=8-gmVc>0VCH;&_oY4 z0oX5`QY59RomjlF%4j@YmhBhHoWl1n0ggwB2g>n`;{o~2@rX#8$g2f79sxwLz3N+E zLEA&H(s3lTT^QSiFxXe`n%81we#5w5(I23pIK!@ieUL?RvCtoJO1B~ zUe_pG{WABdx5w#u-I*Qn9NJNZeupjw!UPuRHoXTQ@&INB0$_H;GyY+AnAUV<1g10o z%kC}?*xkLN#56`JimxXbOr6`^na=I*6lZpKV_+s!3CBL}$B=j7t~ZTTs+JghJMw8x z$j!@gb-wY?DoMeR^A)AYPkqU+5!ZhB3(4LaK4b7|_}{EcZpQ%(UNQc@Ab{Di?r5ZW znN9qR+2MJVGHgy^Uk2E{CMMvt#>VjKC}kVJ%801rlbySgje`rKn`_`T5yS~6R)eq$ zN)M6nX>K@8K+dshG)zHVz50d5dY(E7jrpW8*C@%E&xLfWi>2qk#XO4%=G)FRC$T@O zhCAupRW7pAGLWc-T`8L#qO+`HU!Q+V7y&Gh`>~qJxuBo`p@Y4yM&mZOD`ed%U6}Lc z<6fXC(_TF9t%*s`LK>V1x})aY);hF4D5MA@-V9q8zNXT;?C8%8dKFECYLJO&sn8FX zCN#u~`q9j<>zSkDi-RnJ?QZ&jdsaLmUeL%SCJ&jso`*f1rmt9B_&T(Jx^%jd^a@zI zcRv(O()ljN_+c_Lnh~bi7~dHGh3CdcW<&qa_yw8dGQa~4r8$xM2hGviVu$NFLvvLB z7n(zwV@jC$g%nf`DD2PB9JTmXMIXT9M2&ZH%5qro%C+#tq|ppB*+) zWfcip6C$Mdp*)DbDWR;@IDh_18m%Bb3j+`-+g-5knO|u`+w?(a3V?TKmb1KCGF9Yp zb07? zy68N63>j4Ut{V1Ew)N6%g1-dGR7_Yi7r@v^c~%Wa?6S0Ndh={FnAX(N(x9PS9l2072R0|{~wcGy?O5K5k{@37Tk zY|Me*gmBcgPDF4b%8wjYi#2-|VO%+~TqpFES5k2mcSJO1&>2zL$j`?3=5)N?UtEUV zTm6^7g!RFH3rq(72uyV1dO-jLhZeBxET*X*D|V#J19**_B<7H@?d9s^r``IVSD!x@ zx*L7T&5yL1!WdT3+RTTkZYdeg#F}>uIzsu9^llt%ucF)$ab4F`DW8A_2F7lK=twk} zwo?}?mNY_Xd>PP+Gy8`VPVCj6#N6y4;Nn)RMhIUK9if}XTUp&%r8Urik5?xHJiN;5 z*9|;Mdx-$D0r=!{&wO&7WoI{V5U+7p%eBU5OW*hxF)|S%3lv>WUC0={iM)D)w~>?| z6eN{d62D?M4(u=?0lv4_Gstc@%5Bjod|s`lqj#5HWYoLJMiUEPOM z9k{UuT$h-Pqr~&H=D&?6b~AwSgud%`;2B@|aM0re00@ysMj^#$Xvs-}#pqu0y=E@H z$DT#Kenbw$gf@Vrq9IrgIVjMXezW}8Hv-vkT&H({yLEpgw*Q(O#T$~}Efne@n9e^+ z)D3dNZ${@z)O5CM-2s>|V*9u*ssv?G>Mw-~ZakDL3PP=mg}6EtsZJL|4kD?dz|8*W z&GEyUCf9jCvNy`ddj1{s=F>5Kn`fY_gnkd~{ zsGd=_dEu}IYdm)E#%9~*A$RKURIO6KEVgJ#{p#HB$#?~XU2luC|WJtbOALT`ToU@Zit8fbV(d`ys z8+MVhH0SDbrNupwT%dh`9VD~)zi1a7}gY5@=BkD3J*VNTuVod-{;4THfX2g_U6lAFvhe zhwdeLX{z$^&-u3llCSnNcWNm`_7amPTqLV(?Q8_tE&Ph@Wmt=iuA{Bt;HAe=!X8!J zDTBI1R)5a3JAyheFBGt%cXB=3&&t+J6vGmc`z&>n!MDiyB0aRxjXh|sg=yNw>+dmu z(b*Uv-|p`*z*$P*j|}`zRM2GSb@P?^GZ}a~$KNt=^6l)r(PvIKU58kgygu)gf46As!Mohk5x7rV$8ee zrOJZ)JLd&4grS?LgrVpK;I>>J#Q};!T3O&fiF!_I#@U+PsF6!U#F|x!Wru&DzX7YHCfIkgI}(vBVrg>12yR0`FutY zW;waf{oC~veVHY3#14r0={uv~RJJLVdh;|u%ui1&!E8dL;EK_DAKi@|+sT1o#b*Xn zH{BAR^UzrZVKiD}u3~+6+dk);tk3h5V*)*lXtF*$+9F+^x9A>u#iOu(qv1n&JzxU| zwPIL-=@qs|p?XZ@9DoEMrusQ(B$9IfjhF(-E>cR4J2i7*`*z!lkX|t~8x>ePT}x92 zQx)rqE5-DW?;Bg=g8-PCb%P8A5b7I>0GO;B8W`HYLw%M14)wjGKu3>&UlCvMHBU)6 z+qo@4@oJp!+)AG9+~Q?C7^~_JTdJF2pVhj_VsblIf4h(e!)kVk3W||CGKQi3p)yDGCZ;|pig7!AcA~y#6Od%g$#nVB zj8xV-o@mbV26OL`K9G+~pVm^8RMv~rip?f4q|trAGG=h8jg4t1;%s)(Q+M`>Yfvmzu`F%%#{=MT~xM0LQK zalP%f7Jv45&PMp1*0BVV7BQZe2bu3>;%|@kZpjNEWiJnpjQ$1M$d-QNywL>`_;HwX zJikYR6V}8V6l-C&o81SKdqOcbR3sAnr`+P%V@ah?d4J|W)h;pV%I6EXLXf+?MhT-o$U1UA^Fnm` zM6K|<%u78#_HsB=#4MYbSoT1TyU~?zDlQ9?tbZ@6M=P1Q&jtlRBOY`D>r{d@s44+4MMXy8BE&pq+@;D3!E zt?MS|d?uk=&e7-yo}%;{kkiZpl~&+P3fBc$AB}aj3(5C#daCfrn%k3Eqi*tFpopQ~ zmH|RAoe`|T&E%MtgS47(unbFOtf3)nt=(B*M))}NbMod)+7f~I^Wtyu*%U-ffr;p; zqp8E!&1X~mYrquWkMcW?A!(Us;7IMHx`ZeCRiuL$UP9#22w@%eK!f^(>@>Ua?nh+| z<&Gw9x@sKC*qQXfRA_ZqEpY_3f6u4$A#oUegrjz6I>2;rj0rUpO<3yb6u9!;?ACM+ zde1ZcTcvT-ee24{i1LSelrx|P4f~DnL5%xPD^a=l+K7#CC@FVe+`}xXSD~ zZ@f;VstEAA_5ey~){uP-p#7meVreic+|Z=$;i#*_2nu`qk@!{gy&fvO1A)##{B{{C z83%{}k*T+IRny3cTK?Bz)^Nuv;x;#j84WGwl`=!$fwG5yF(+8oJ84!O_H(VRTAE;- z4_aI$IUJ05J#{$VLA?;#6Lx6;!~2wp6#Q274n5t?y5&8%RP`?m*9(}%bl1^-P4HJ1 z(a{eRtHz@GH`5+nuYMXqsUXgAG|i_WjJLngY78abNWX_oK$hIt?WiU+LGw@MHa3&j zOx~vG>x-XNq%wL%d(DK7-Hqbe)#(JIMbU(1o!~b$CMW|hPAGCY{qBe(SjOi0 ztF>Cu@yf%RWXk_SQFb#p<-2Fw>(w04>KH5-^(D;A87qzUlZ4MCj=s8NsC1E{mrbuG z0{o}8^`rRSd`_R#u|K0v+N!%1#D(F57c~jzn^`8VW8IIPAT)ZSyYa-{;otuPiTtjg9|I;yz?}joRR|5sRx5b)KiLBr0F#YA-tt3- zWAlyB(})9~{9{(FlR_eRLoeFpufGx( z7azWrk5P;Q%Plo2i~O>5x?YOBU*nm(oGcXD#=+*!v32R~E1)j6#ov|*IZRq0@w0`8 zCTZFo@;ZK)*)VE}ZdCq=po;$nzDrlaHh0K>^4a2dX-U5rgo*U3hC&0Em z7`MjghdDKhLy;|HUqwD8^{7u+q{xA{Lv9$y|6mKhA(*(!>NctKW3>eH;Ec-U2vE7O z6@Yf=7nN)NA1c@H`dcx`7a%saR*TV?F#wuro}ID+gO+}08Nqk z{|I~Uc&h*Z|NmGiviCehMpnwoOtO-ZvR8$S6DRw~F;d80A!L-5tjuE^#4(cWmF*mR zpQCW%@cKTfSMS&B{rP-;zyG>i>JQ{RACKq#e!E?-4`+?~cP*wlj1bccvrhXofUEXZ zk&7p9s8OmO4Nv?`7Dk^L5+F5_eh+u1@;ziC@k5TavyZ-;qyZpL;h&>^E=9CQgE~A6 z470&DD2h?1D{_Oe`ytW_P`dSrs)rnn4#uy2X^R>-+Zhz(LTR<3X&O@tq&{uuN?fG@ z$i?g*$c59tAQ$s&X5yF>*q^R!7qGC&Ia%0vpDb)_{$AJ^{$AKHX+C5O;kToH5ur~5 z#6eR1kTb|N_vpp%`a#7B=pU6|v{v}UoJ1yYGp2$-ie#=uv zV#AIV7~BbFq|olnqun z|HMoFG&XFPK2)N5)yLgJ_v5@s<5@X5PKRn$3=QpC)1^^yX)EYmBrur_K0k)or%~LA zd#eGw-<@u&R5eGBiASXXT7>|9Hs9%~)o99Gi6Bt5N->!z$w~|?hIr`HYkU{(itU~h z(z&nyDylu)+sAeLM4xgzlu0s7_@z(b()|C?r(DE2oO(t7zH7!=l>fev$eegZfxG6b z`as}cI4QHFqr8>H#vUUTt|+=Y?j5`u7_V>gDSRO__>1_gDmcciFh-!9r+ERCz`cHA z(#^2P;W#zJky0st;mV_Tu6JD$d#-SzTzJhqgcjzzW6!sY)nm7+-7qdtbmw!psxS4k zc_0kh+W=*s9Dk{iwKs0IF&DwufjX(YN~1uuZnY+#lo^266D0Y2Wq|k`2)v&BAwC;N zRg~Wt_;^v;yg>dN#Qct^B%H=&OXdFDu^=~ zUg($Ld%)t$-=WM3mWcs9-jE{VbZ4sc*oo(tOiEY|B04Fu+2Pdy;pd$85T7mQOUd(e0P+T#1?)E791se|!|apdR?64zQi>HXeglA* z_sd0rGcOHvP}Tv2%6~Q26fM}`C(SjHF=HAU-^Vox)>c#JemB=Nrw#|1&n1!dIKbWU z(It+}tO0bBGpM{Ne2vO^C+7N{wKVmNNsB3MH~wQlouXH>Rdng-(~C2p`ydej6mt$> zx#^>RieJQbhI<84b-Ob;BmxHakvvcWpu=`05oFsfF5HEzHyT?R`b~ycUlWv-@Z~Qa zlFCD{Q6?s|*8$9D;ENU9>%+$a-2;|+7meVH5DiiBD!OOl0g-XU6 z_770RawV}5SuE0%Hse`yAqS@T2l>q|u-geh>onowIUn}2BnAt{u;+crMYVG^T0QWV z5=eb)xU^36-BV)yt<`@L>qP_dGknT`tVm+PYKnREVsCnZZ`Q-gG;f#-vV%(S)r(C) zWcH1O->#p0XttuSP04r`4es#ss_Osx)Fec)+dC1pN4*8#1vh(~gFNe-eqFoTNsL^d zgSK-y2gX{{W)u_T_=l?-WhT7z&pUm1`3`;k@_WQ22|C7_r&#aYHBhY3AVIsx(YrpR zCgX#()80gsibG@QC>o>lx-uhyj7NUKfhykUvBZ{V(YoKHNb2Klu?4fYwFviwn`?kN zg|mp5h}8XTHjVw!+a{s)D{yyQQe7o>J0%bH?r2T~ogt<0sy2!IP3x@Jr z8jwL?vGlh)MI3Oa2m&zlt~c7~XzA9#T&APX5O*HdP3B(T^&a?JfE{n%xZAV4J3NL! z7*-8US!(r(R!EBWe)WCCpP;>v;M|*s(X}uyAKKWZGThng(~CmcL%p8tXhPVo3A2~; zGG;!hT?$gJ{a81E1Y>3AZU@pK#U$GNAe%QJSv08Jn_u>xNG<5Ph_GDvQCam^EVxb8 zu*sDg07VGIAXu`1C|H=HUs>0OHSdF%q*CWf*wX>^k*%zAqK0Q9Ws@0t5E_rfKR$1a zN`ErT3A>Bwj8P=d?=HYQbXfCXH=`0#XU1-g2v&#Z^4_a6og!|#6t&wLd+Q6pIWAq{ z=C$(E8Lg(0wKDN#xmQ`AAd=ln(ct?*&HnjiLB-H(05shIP)nryzCG^EqS%!k6!jD- z$Na3`rgD^QZKc$`G9eVtxWhHF)Sb$@m6WF0#h>=+V|71pmmmV74uCA=;)A(Ohg#+T!q$hB)Su_po5{Xv~Of zSzhv*Ow^K$nHhpOm-wvW{f7lOpSC_0{DA^MO^m2+rq^^f{ZtR=G5;w}Azsu3!Vq#G=NKM4jD`~WVc9yW-ZXU8GD?8F;%R{dN{&gr&Zw=)`J{S);#>S90w~6 z)5LG$1X1<&HK}=URh)5Z{v=NfrGk>{66*t-t#=|pIo~Ksa!*1W&ptS(C8q#eIH!r2 z_v-?0eVvN*8ONgPCI;(kuh7+fG=1Z$oFAlQv4=$XwO~5>8+iR7=xUErC0@XBn1sSEO@M)yzL{T{*5)?mFkv}!5vj^`^Q^>3f@PZf`Zqs zNdvB#3$P*#X>uPXkO9KY?`P0W;=KReiuL*ZkNT1^{ZFpO)N;Qf+JnX*z0l3i%*Rk1 zK(q~CrjLhvQgWnVw-V9o5Wv-US(}z6ba7_qVy5=5ACCUx+A4xZ_oRR(s7FGdqhN{nwbe6XvwEi5^VVA>MVn)Tg{c#W}C+YylXp; zAJoMbc4gDli*8GG_eEv0;cd^%QbNiJA`RG`!Z*`XPGg9(gCz}@LCAsju1SPP9Yx`% zGLZpAr#!Rco@N#?u`2R@BniYPcjdsSER&ajJhM%uI5&B?=G{&+@5 zgOtklhDV{&5)5$p>e1I=rf>Kwtx7JYqEM=Cd|V9;y`4^yMiXG~(IWQ6YU1_}NbKH>)-cPwzCk_I0Tr`>q#0f)D@aa`x$KKvy` z(R5xzYwzWcjn-EJMj#W03sIsS;(%Ul+cM>5H_M#Vutq#fBqo%kU9jgl~4a z6gekOYb1cKKdHDz^zrM}G17w({j-FdIFlg$`a~4)TL8ay@v~7z72tcg{nn#OHW~GV zO|I{D8fYzml5lOf*-;`Y%{v~dH~6K~D1 zbR@odT2ExtS@`Ynmf?=7*bn!NA^y#VDan$*2vTb3n8gMMwu-!u20#!F zlZ3LVzd#QITTS+Q#=&b%V~5eRyF*b9O(Ojl@O7n~hs-q}MB$fRQ##ij`IH$3qnr9R zmL9)W?paK|3K;SzwmUh>+u=FpU~HUo);GbMzc)pX<$W>%DAV`7$KT<|%~{0abkuwl zCJwB3j8dVk)@~AYPNssqeR*+U7qVpEFKYaN_gT907v7oj z46EnV3$9!{y8f8zHx}H(M7!jhJvfGYHWTFS6SP(RO`YI9&q!hH(X$4Av&pXK9t*x- zW!>Vtl|~U$RjzjqGuwezQ;Qf=LQx zSC3UtqZ@vfc$)?|t?U9{rWMNsGKnS+-Pn0dAS81wu{^Jc(q$I zimDbw?Jx(8QIvcSS8c>)#Z<>qugG_V**2p_ZLqO`KA>(`87iPXKeVYe&H%nlc=qN6 z$44qyeqz~LCiu{4a95#6ZpK0>X>4535s3$Hw;gItML$crMox0!y&=h3--McOd zg;5Gv>TAp78GO^}=fqAbGn#Mr6BCVx6O+&q2?E#UaSQ|){c+%DbMc)9BVxNfK&#se zk}6iB=4>)5vy=Osb$IhTe;NbZOy_>4!|TP0Ho`O-494etVwlngMv%_OoN4GAx&n#* zfSWmc;f&)`UF{92vKmP;~!7O=2mTY*ld!CB_G?Cw_hi{ngk=S5)YNqJOe!JG2f#@%g1pTId+|fX=Ta-%Q)8#e^Mtr(;^_Vo! zcVe$WKt5WmnT+l9cu;qUrt?1%Z7@x^3=@q16$QhS5j7et`x399nT;#{%I&)x~kYRaEmQ>He4()J$)dW?^8YKrM>yk_pFh)u`H;ZB1h>7@IDHIVr(Lj z;6m%!6>j0tDxJgm^r8}lJ83f(F**Ub_-C%#iiur4Ab)k7AjYn_ayux1R5cssi&Vf^ zv2Otr=W{ubF@c?>iF2ujl3p(&Q-hK|7BP=dc5GDN!8??|M6~fXxPnf0hhQ%W@|AAur9a4&A;TV#>g8<1j9Q+g~`3%JeN&L(@bO zq;v6CJFG7xc08pCX%dFSOxOd1iWFn4Q?hv0D#NE5;{=U_t}NjjFTOQ==7|$&6$9R= z%vXG#in5n1$SX}1N_S*&p-Pa0g3~@xT*atzzKA|REp~w0e<7{VJSjLg3DfLI<0^ZZ zu01#({-~xtuKm1s%+BpE0~h4A+3P=?W9qt3lahf7A1$r2VTZHhzpDhnmE5psv1&@c zEV|BOUT965pi$@`y`_H$azHfNB|QAmJq8zp>Ye1bm?J;q5f^ElP3Rru@Wv>A4YIZ& zK|9+NxA?+c+u$|Fbw%$I6=qGHJaT57LEj#+tp@|s z%1s+i8#R|hJs6E4HahBH`y~=MBb76Xx?R~PwFV7Y4ehJQ`Fcedd-##QLRvN%sbiVA z(PjV|1%$JnmGy8=^o3Q~M6kz{D97e02UbyiajEdlS9|S}Ds`Nr1`{aT(7UjU5A zG856hNLgFV^wU06B7b~$&g9zNi@6a$XG+exypYjT$k# z_7k!Vkz9PeiMbyib?WN!6^NYI73kY@!Phys0GtOvQDWs}uABr3c!@~MIG8T}=Z)3$ z*NwFRuy)zr8B4dSA1QOKu6biwlP8U8?0Q9eGxUa!E9q&z7KrA_MjZ1f6~S`a4mw{> z3|~gLm>)xO&OUZMcOntVImy>v2m7q0$N*EDlWS|F&xrIaz0Eje%v!KEh(m!2q{$ib zc#4p#ecs-#ZiR&PE*L5C>BOu>2Q;7@ju<+Fzv$DgrqM)7FFr>dTZrYRr1${54(Lms zmxgp1fTQ+?y{dAe*OyjatmOjb-# zKT98Bo5Q_gsdYTxI{05WwzzvKDvq_|^m65f|#H-;As<-f=F;u!N$N9fsYkcLDJkicu(1Xy;>Be|Fnwbn9m z)p%^qV@TLeG~_OJjBvHAC5y2%TJWDH_7qMX`~ybZj2ZNNAQY$B;%o#Y$1LJIQIfiMDTxPT8&wbzhqi94yPjcU(1YnAl=tU zFj7j1u8xhcrT|1;Lm0^4qApPcLjTda+j~ulg){L<17~~twWnL-EuqhVT($v01plBA zQg0L+0>3=VC|b}j)wotZu{v7Ln6}Vx|Le_)<2~=Sg{)VX-Vu!Q@aZP~)!%j-WsMq# zs$VZSCEls7Jy~Y>T#nbeucxQymzLFTeHBL@Q+;t5u3frj%{$C2Nin^al3@9Tk2LP2 z=Rx1ewso@0pgG-TG@tG=Of5@lqM;?u$MQJt97jW)Y;4b>`E`y{R`=tAZOdP*Zt(o{ zAEFO)>OY7+T_rDSEDc?g4WoVqsiu)p9ID> z9wWtE3SonL+o*|~cQ!*&|C^|*CGVG-OlqQOnshw6BKjOh&pI)X@s^K zGeBmp0DSfzC48+rlqbBN2R4^5_8rC+wRzt``VD6kJGx)(9P8m^Poz>qI*1{-8ek!_ z9x8dGO_o_usO!OaoAEth?K<6NgfV7v1HA_D*%gGjOc-X`Lt|hoHFF+_sR(ByQd4hS zgAD|iUwW&j$wLI_$mZ~6r7&5{nK0bUmL_ueM<6wRXV!GsvxILkU!V0RMt z;vR7h=io1tOhqa*1Wzwr=pOWWn@;`;&=Yro-#lP6)kWI|7n@PwSksN=s#K}oBY%xU$-`dh=##|y{VbmZnsL_JUwzGntq=v z>Q5%Haq>sG+#I(R-yR-U)ok)RLtLv3v1N-|PaKK#*y9d-@|H8lbB`~9EC&sbVY%c( z5g?AiwCNCu=?-dLfweQ7cQkJ)tn>YHA*P%{pU*r zCxH|uQidX&7i`aDG)RHm)VYNAvq=gDlL7z&6UEiRB>!GVA`OLpGPZUBrT3uq4PiI@ zfI8@+0ycM36Zrn9ueb~4$k8vv7ynZh2+HP5M6GLAS ztPI`vLh&vpTBiFhe$}DCMi$lbVT#VJXuR!xx73Q!i-eozw$LS}@7{^ADPQHYDgq;_ zCu7M7^72X3Z4)sKIF5T&qXNioOUoRm!^H>$f8@UDHhRhh)}yqS0&|0C@PHTuwpT4zC>Qbaq(Nrxi%6yv6<{tg8C5Xxz_ zI)C?hOA5l?QRFshVaD_l;HhPX#R$_AA5Fr%nF%up#@l4LDyJ6vL; z`ml^)>N-_MXb@k_jZ>Fr=#>h~AEz!)Hf0E6gg}Jhf&edL>P6KWqQ+iL*)xTO}(kV*suDdBSYCKTr>na$Bjei%c zz1|Np4e};9V4Z<*;aMPD82UfMg*)~!7@=GZq0?|-^|lI;3sRyKHjmK{t@7)m{ubzp zXI>kfu_3ou^Eta{ukFeg!F4?{-1R(N!`Zly`$5FY4`tz$IGURS0Yo!1%0PnTpH>jk z#Hs(o3PN*&C(?EBDs%+!M6Rd&fxq!Y|2Kai^8&US;159QR;(!oB({GC5BpDphq<9_ z7IuDdip53jDJ0(RAj zWPXPv(oqN2|05*f<=(kS@je@@xRzDP-B>UQd&jD%i7qi|vu3G+OnacbSrQsIqa2B{ zL?6=LdeF;H`{huJui61f9&^9N&`_YmV5^Y>PFq9uL^iiOvme{Vx_X)rQxbC$R~>rP@=AnVv#tT3%)rc6JUL z`9nzt$^?jYP|3&a*v&+XbHxBWQ21|n;H5wCK+w;99XutbD3%FUpf-X*V9N*>%B#}$ z-j-+?j_Db+uy|;c+Fen&)KM-{74pmg#jnr~CI*t$>&@f>86Nrg((Vqbg%$JAu&Y(F zmFJiRenSkHk_Le7@V7wvGNc$F(A;}9D6vafNdF1{bl*%~=8qIa?O$X<1X`sHVj(6t zM+w=J31F@nMmqWVpf?4CBGd|2-+eVlb;G}MV|15H6mlQ=@V`j|{ZwnSsmv^Yx2i1A zFho#CZ!=osEgpofKQPv04O+7(?m$WAv$E76!QM5^tT% z7u#@CYjj&e2{hs?S_zux}|JP+iDX*jK zltUi%PY(IJVeJPwtR`P-Q{9r1w}gFy{^JjEDRVSAW&!*mV89=u^xGfuQVj5iXsQAJ z5K^~QV>lmL$)+3p;ZWbXW(vpp=+X=?pvBcCUTqORaWl-m!MB_hBf(Kwn@R%8K6mxm%7B_f0m0)a z(@RWa3k!>F<7RFi>TSSSNS8O)*E`w=4{W8t!@epEkhprgba#DbJdd9Rc!Uz3fdG$C zU;t@^29yvdJi@fPesO?D=-?mUaPDpF*WWxsfOJ4Pw~v~|TYwn|vH)&rlV$^81GiNj zIwUUpDpY=dJk`*Y9^!v-j_Z_W9{6vXxzFD;b47q=e&rXK$$4E#IZy0e2tKCo?7TzsQU+#y0l zD>r0581n$i@6IH)tkEnV-A6EOcW=5{UwxDg_rj)QOrCod>GD|(S4oYED@wqJ^j++) z7NP2Vw3pB3-CerWkW8+kAPxfIfDfvy7IrI(t2b-DnFgQv=#|FfAFrhulNdu4y6UPz zWTJ>r%-z&yyEwA2c@BdF*}Qdb0i52mx$RAetzZ7?L8X9v<}FOTC*5g%amIovWuu$(R%A5xGfl!|cpnIS z_Q1IBIRRV@J8T=}=EfdHI-56se-%8=X5vO+n(!5nUWGpVdL2Zs1sZF@TTT%qk6sfX z7=5DIW&-~JzDo+IVNGb;HPj5=RGqVnH?2l`=v_9`nyogdd?KQ@XE#zG77+nd#1iM3wx2n^Z?1H^Nxk4V)EA`h3Tih2fu&$q(Lgpl5-uBvv1l~W!8V6%eI!kCqA&7yo{>7{DkMqRaX+P?5m)98yG zamDKn*)wNuf$-luX6S~Hd{T6#_)ayPZKYO41|5|6)4d>B>2{>*bGx~>4|d+n^C^)> zGywt*O8o~X{v3Aj%j9oXV9Kv!cbzGUuY?OGlAsu)YN6uVMz1bUu}H65v-iX4WM4Ef z!gcGh(^)}VG_fT=y3-vc#LYX7TV=HE>+g7p#*jMfKknwey)36lUDh^p20PZaJwY;W z65_Q@Jc&1|`t0RmMKIyooVS|%8oR9NA(wF1b>Oze*4f0xRPT>`ZlIs*Xq#3)D7Pc` zWt@0rX%-F4rnRQOFVKT56U<)ebML)cd*7?GhQNeREw%{go@GxJB`E5}pLx!ONJTeZ zLxna9-9~4tILdKKO@3Cn%v)E+ij{b=n>9g+*^A9K&&#MOES=^T-;<#=pPcL{O1(&X zqrBroe9kqBGv1lG{bypMn@DD1vTE2zW#9-!g;G;|jnlg!pr(u&rsIs{=n_T-6EXUI zquRKE?UXaTnYR3iV;y{EeFgvl01tb1rx|c<43(MZxl(f-Nj@fRt<1A8;+Z*oIxOv; z52ZC9YQZqz2pd-FbhN2mEp{fFQ<)Pxo%Hd$js@zl>Kn^;s*OjKyHCUx(jIDiC`OYH!UnT1_|2o}u&>7IB}9JMA4n-)r!sp0gzQyY2G(v5FGt z1_}BWVD1csr$tp>QRj{Bru4gJ6!73^>xD5mIDl>zj{(!$v=lqZJA@Jx8P~XZhwW0u z7`{F-z45MNNI}b}=0lss^SH~9!2mjfrha5vC%}{p$-Id7$-^UVm1k5H=|oQ05|oZF-4BDoKUZjuejy zia)g4=TZCmiN3jj> zHBlBfQM1>}1dBwCql{x(YXaAh>)a^8rOa}22H$(YCfjnqpR3>WrsnyTukDkHoH5$1 z#Bx1=H3WC2s)@5Y5rAzC5_B*YDu|UPj$!ddok@HuWviN~E~$pW*(hC6`*5x+B8ga& zR$Y${6ZX|d)!4ms^pDx%wY149<^vzm4+)?W-uR4LqFPZKpU^P5Ly2EO$)?kwq}z!X zKysCZ-Mj4n^a5C`by`ben+mZG^W1e0&>1Qn$>jv&ECYydnFBL+QlBv#>LWP55Tg-2 z*?X@oq9ONK^kI#Co1w8zmJ0vefz7S%*Vo>BVWlGKl!YaLhE8+F$B)H)U zIG=F)Dr|I39@-1XfY-oVTbctQu);|wo4s~H%)~>|HZ6W05g}1lq8uFR_|o>c;LS0w z*q3Pn&4p7igyAsvv5*%CF(jq)nwQ2o&rAbEO@A3gR0~i%@c|Tld3flp5rRG@gQTT- zVszH!Z)+IhU)C_J))&I?_E`c`N?R7y7ThZk1CVBBz+uK#3|~h=)<5rSFkGfc9v$Lj zr0VLN<{MHm1a66nC(1BDoZ~->nmkd4P58gT!9GkHAXy&uRPF9;i$!$r*+*PdCxKrf zS*X$O152$mGv#4pL#6dY)lg4qVv%ykJn~5mvn6ZV(yeb1FUFhh-^T~VsNe4_XnZcDw4SA@$K8>m_%&;R^Ie% zBS@j(mI}M;mT%r?kRfO(WmW5mE>WH0@hcE@UEZ8YzfF1O+Y(Fswi)(NooO32t#kV| ztaZ|$9^xnDxoDHQ`pv9{~Rhv+ZFx^*kYsJ6Kk z)wL)*Imh`IC>k#4GpElEIc9H$U2GokqKuZu=sXf*&^{l{!N?ClR^<3eqMnGXszk?Y z(hwNk$s(kpWFtJaIh>y*+gCq=7V;$Fqmf zZ{>U8cRk)RYHSXV ztKz@X)_>EUgf2WUs+=!h-3o^w@Bod6HI?x&G!PhR{uLN8`|rTWss!f@%H>cW0PO+dZsZwmHY9+0ZH8yitH<_U^GB?A$h)b$=%oS-SXr)p zKCxzmFG5%#;ju`$QPjr0i#1UW`hZXf{s0gP-NY)rAKLX-v#i!t(`hPixNGnG==1j8 ztE3vtUs$5lCnV?{fm z45U#Hg3iiK0nUUnW;lIQzaoblrjf5r9t?n=9RiQi1AWo^wGV71E&oW1zI+%+$aU={ zT9L{cw`i-c-pqelzZ_Nq_wXs8(xV}pn)+Iw-qE#m0X)r0|0tIJthG_16Ptma$SAOF zb&?6JgtkxWKxw+(!iYz=wFiC_S*g-NrIl2n%#d(bj$?C6-#g@z=X15I$vHBPbnezw zmmk$ht!GhA0_G4rU=FeQ|1gKxf$)_r&E(t2Q)$r}`&KkspK@}BO3wM|P_MCH$=k1z zno!1yO49pn8xurq(r;BZ*5^e6BMf0oa}^ffHhbTBL8~S9?hm~Pa2i$~*bnGgBpd?z z3F_&;Ko|Yb%|jXRn&wAYKlHgN+2Goz=8)vy`D<&-@Zb4slP&+%b99TU9@Zgl?rVoV;tOt;vS50zv?=BUEGOSfC6D*xW)ft1B@DJ>1N6nH`XU-Lgi z>%PfJx%g(n6P|hsOEpm+I`s>Z*G=KCc^ssNtbum5U}gPq)q~;{7G>F?s-@vABnR}j ztatdAI%J8}@VBgY@^tpse+lzEX{ zg3~dtANo<}B6`ZaXdaekLl!|qOuvMsX@F|_%`}+I!taBmHv_3Wt$cthP3!D=d`&lo zJeE18G{}Kc@iZ(GyKGT#hdHSgQQh9`tX`aS$_-| zzyCd8VDCvm*I_rpd%Lk$a$nb9q+q>Xvkm+#kfth-cBQ6?1Do7{lj)dLA9(PplO ztYR&6g|r&CHZ7CL!WF`Kz(O#axy|E7^i@oTh54W&7@aBzv2fA1N_cF2yTPZE)IeQy z(B(Yk<=BTmL}{30QO&`KK>A$?7WD#H;?2q-xTLLko=>qgfY;5fiBVVMcaD>4<7x?V z9Qo)A!dcJH_gJV^;=zYXjR;hO1ed9m>C`vYt%9bglDP(D&&!ccwile(!n=Q_H{FN; zDf|R;!(zJkjPYokN^2&=P}Mda9%@i^+)-CKx{zk@@pHM3sInb>TT6oOz_NFMTBdI{ z4JS_Ug^N`BA%_x2+ks6~euDz>$`kA07%hqrS248cSA8P2z)Lf@v6fY3jtNUtDL{Yw z2+JH6s>N0#5wa}(b^iIX33BY?RvKon`r?SlmwrN4^v~cWK4o&@!w#?F7k^03O=dBy z3FyqyC=TgD!AV#0N){eHax%PTl@z)UJmmO^^|;>x10ibsp#^^PK^g1}n8F6H_vJ6p z-PktoeMFOQLkwJ*?AgA{NBN~wTN3}>i7aIy$yU8c(=Zgf^N$5M>m2khZY(}rF$sQ zC5w&2ZKWlo-#gU67h$Gd9jtNZ*osunOP|dKQfhKNMKE(JXxm=>ah6Z9<9@uZ1AF_@ zt>(svskXKFFN0k1Rel_gwqHHIPeWafH}b_mxmT6xu>s}z_({Xzur2#RV+^ZN=+2jp zHC9uXd*T+Z{RP{0w9<-qurk|f*qAbmF1Q_dCCE?8na)ct6bxIe73g}C6#Y$~)FQ{5 z%vft*n6K>CkLkOngUTdRa3(wg-ApmL^0cGeK2RnHtzGJnFkZ4V`p%Is<`ge}A;B;& zHRuw>0!c;|x=_r7A=-^o=FdzGf17cAP?_@+vuh z2+?rpXYvRq;3Y;p2iug2p`nMRt74Txi<=(3uAiS)+%G?4eI;Y<0YRw8dRzPMn{N-`cn!3Df+ zi%O+Ln~Qv>S_S^O1MpA^7k!OHrashBBWZ#7$d21ZkDC^M$dxZ$z1k~z9W0*}hA>A& zOKqQrnHW~$n%=&bSATpUY9f@N)fWA_E|i7TmOp8N{MskE^7*nb@1`>^cyR?`($hv4 zOMzGE0Lfha^@3}?5VMuAr_A_pITqK^k`%~I}h?fGTAKQii z($D3FnVpDOZrn`IWrt|S&o|=SqPt_VIa5LdPJJIkfbRnd_&yv{%JKXFEe8(Tl67RsjE!%CiA&L{vJkek zNUG-JI=hJeqNW?SPs;^;MnjFmC!el>zNnIZ4=-hD{|f{(R64rrL`4^efj1z3)kRa< zWYg!|A>})r>>ycgrn?gjWfKhT)+|_?XFpVeXU;ao+6;LrERR$-)A1@uQ<)8YaRaR` zbOiCZ`UHORkt3JH@$Ci1qOJ1^o#cTipUSy*3?-#qZK7tdlAiV(q==MTQKW>32VeeG z9s`SHR=I9$Y>P!79n5;@BtBXNCUf-J?*ZuDnY_uKhn`=EQod+CNJ7@`^Z1$>OP|=c zXdYpy0n*AhYdPHGCV8xP$~%4TXBRhTqouBu@%k&3JcxdfV3&r`I&Xi0j_GW%kKJXS zw7NoPW$suYkR^=q9?WV_NxMGmX{B)8!baw^bDyXEv>)Qy(WLqXi`_Tz4GS73ARJ7^ zL7xTDw(0k2KhidDjh(7;))_IDa^Gyi>_d)!Uao+uL3MH;xFzrsr|Yx5 z>in61tj~_&@zoRm)^B~hWbwwo8Uy?cI3Qp~BvaYCY(d*-00@g6TN>h_|5wLY{ZGgE z3_j=7zZIHSy83s=IQ{zI{%`-5U&7{dN&4=?@yVhS|5gOi_tB!mE0B7BM8pNeztA40 zztA3Ee?B@vd&tG9i)`}5RA-=7{)6_2Q2ZP15d)w-P&O6Xiw*CC+2FOK`X}o%a>Y4% zWq^eP$UizyN1YR*s)%v-`W^}v~%@Bjz z%5!+|Ykem6U+c3I_tu~F*?-(yr|UB+Oi|W9)@Sj^zt?9*{}O!Ze#(B3z=bIbI_AM1 zEkD1jS3d+dvY$V*Q>CPKGj)Qa3)vq1miS)upt_IxrIlJykqwn!Vz2T;?Nye8Q?VEK zzrTPg~!EaS1vzh62srYagTOutT=*LYUimK^xR}Tv9Qbv_4f z+Me!}fRlWR*M?#*F!|WNe&^so+j>syyVkEPk5UP+K7;(x_-dk0HNL@rug_lFiil0Q z{|pkGe$H)c|Hbz{_!=I(=Z_1FMp^};cSHMbrt1!;XaS@jouGAfc%eN<5&TBQ4~SVrts8f?+=Talclz`cyVDze3oM4eTH zTR7$n3=}VPzj-j%tT?@6l(snhOGCS&q}Hc>vVoU;!PJm!ynP_V0XREZaF6d!wb;A) zVo6|B(a(WPPR*XygcN0* z!Fc;!*si$7s(b#1*7)%qe)ZwZFwU{p51UX}>dJh)3RZ;D*){kZ~Cu?xx&HCn% z$At7FTgx<9f^4eZ?EvfX8y3Xy+()81l?`y8hL|c))6d)=o#y7(^{=sIlkGABtdNqQ zcjBr*uNsAgmV%fQRixPntFjKY$DW`KL+_=;CpkU=KS0esd9up*oMt7*Iil<2QvO1U z15^DV`K1^#uH#q!Yak_|+(#D@-N+e1&3Qr#Kk~QMBdj_J5g_whx^44mlt30|W1z1@ z)@NB`yCaC@+JWJbTrSm5!$S&?&|dylOS{69XEungW&KA^)-C;pEnz=9uWXXPKw}z0 z$DSS$Af@k``SJr=jo*88i2T(BRiZ@#?%9b+5oz8MT6#^!_VfL*ryamAc^KQ8INZi~T}`yr;|RDJ5@7fj2o`hIvTQH{G!uzoi744H`~qfx(3xFqY)`Y$ z47}9FQ_EX=fwF<7$EMQ1YhenPJ^#Ehx3`$%_2YUs6B3ZXo~CN-z~L??r8M6 zdGuyig3-UU`v%S@#A}w(!fDwskZKi?sOydUAQ}^Y>*G4jD+6VW9{A;Y7xqX{MLjU!djoF6|IvstnJZp)U~umJnL8Rh!m<+fwK5u~<< zYpC3#k?p*C*zlVq<5T#CQEXTsjdWo6j6kgVKr&OxmxQ&Yot-;WB^g!D))wIliu{h* z2~U53n0dIG+2L$W*n(hyddm83eL^BqQNrixgxheHnII)u{|yYAZEdJ9U4-z7?qf7a z5((c9&Z|l}0xxgkIEq6$Zt~@jT1{LaMRM1QkdbULAR- z7!TP@R~|Zwf3FK!emq@y0w|yEiTW|+4;g?q+uJaVPdl4m9`&Tm;#i&VaQ3mLMAW5L z%VCVDS7?$J6pPrtpBKKWUBxNP2QcO|=Sl!sr-Tzw+dYwWRw>=UuO4_UzqHR#CwxA+ zF7W=kE|`kmujQzW1IbN`wAD9-m1>r()|c#M6?gL8N{h}zwLgg&pZX2l*m8z4!G_wn z<%bjR-~{RlVPOWQZ6aPDX0$zoqUdk9dJ8)8zj5G9+XN~E0ErHGcL%W1G_V?W>$lk! zO2>u%zMf=%`#!oPlaepU6iEVzFW3j}%XpDuJV2uaE(X7HHTnO_)!_b4%nRto*N25|CQCint{=`%9%YJhi4y&jO@&ziSz!XDt(yb7nFZ3sU0EA= z1>!Gam^pFHf_18!1EdFHQz~jW6@cmgEdWFOEdcv**k!%fA;tD9MYGBiVKSl0iK#>i zV=4Xu*Z{Y#8{>(Szh@sPTy= z*qCx?k)wIuR^*4ttsQ99VOTJ1U)XqJMeTgiWjV!Q&8LZNGoqsehYwAK7%m{8Y(1R8 z#Qy!>pJ?i*1DsW85|*Leg!>XsFTAK7Sk<9#`buxAna3ymcTgt%*>x1ZO1ljaK@EM_ zcP2j_2+Di_f-;MaKu|^m2+H_Ia@-&-}=C}rSt ze$7Mv>{7Z`Q}W1yfk$=J<8y4wXNn+AqGO7ByzIS|@0~HsNf?$fec9x}&-O_vZgLWQ zSIfb^uYszK*D*Vu14HHdy&bn^!VZ`|kiShIy(gv**eHEDe}Y0~#~QN~wBFCdaNP#r zK1DuOG()?P>jclXQ(->aW~mNKIXF}g-{~E^lY39{)&1@ZU*6kJ=zwY;67}ILfg&r? zp9-lggnLwnkrVrdq+6SKHKxPBeeMn)Cq22d1vny8dhmw=7jqu~I?9Z;m7kh$>UZ|Y zYeaSnrd4RN`oC}0e{&fWx?CnbgpZxOxRp3}t9kE_ zdjljY@xX?Ld&Kj|;?9^DP_El9b{!tKHmguL%CmQ=jS_XIHx=f#0PF+~k&0dzeQs-Y zVEjS5mdS?E>+nTayJkkj(USEkQIWC`K$evF+{Nx? z<5;cNwUG%E#!+#%m~WgA6|Y7;TfGgO9S!ecuVFFU7Q^E3>w-G*MY>*m)4m^6wG{__ zT&;>ido{@Oytscc)yZe@4F+RUffTTZGp9^-Lp@-+{p_n`=Rc?0S@YW=X@7xGfgHeq zCK=ZqaC~>-kL#oFx9j717wH*N5CyjwJ_M8XlEI=I69|aL_!CCV?)zIGTjbEn@e9YF zH0xtk?*fo?z+d3&1chLr%gB zg)h1@0*B=Nl$tPb#tbrVBJL;Z@Frl$qSY$i6TN=3OmZejuIwy9180NUtA|qJbIh>g4QItw zDx}Z3z&GnAo4X%0aGav6Mkv7y>+&`)S*$7m0;zO+YAMUT;Kjj(TW!gKQe2ZUdV22e zkP5s$Hbw=oeFy`#5C31bkC9!jnTmL_4q>?;T4 z&%G3m%)GSGl@b09`a0w+^x7YVwU*zwEC#rYFA$LKL>ZVq4p?Mo+6$j!0f16UXVXdh zOuQP>C7x^AB1$XuA}+g<(}C@w-^jGuNyjDjyc)Uz;4Q8rnz%yvV#EaI4byaPYT*_? zwA$RKd=^B`%32!s%lsiT>J><13TwDGM$pZjPUraC5t_Wm{n+k*Gk=h@W>F(g%^z7O z<`2VD^GEcl`GeuN`9plNCWL0ERGSnNq&V1TGa|Jqac4+OTBO@W;m%I`=9{Y(YF>*q zD}*+3n(8`^XDti&G64)lC0e1&^@pzYp+&vJ z%+1md2f(josHXEna8=O(C$Unc0oh<-QuoiweWa~YCJH{c4Cp!7Kymm$hi0b#$Jbj2 zG}*@O`$JN?Q%X=!1VmEWphZGD6+~jvH5x^_1O%i(Iw!(tLAph{W22-uB!*0$?>*2b z-uM0e{`Q|+V7ssD^EuDsP*@hELkH-cQiLYA#ianHR_*tZe2n{eFU>?fT)8BPMntV$ zmPuMUaEIJ7jE?V(mAkWw?Jqwb<9|+LJa5!DtVR>_fU6i^S%&CtMavWP2};~#bhrA~ z1B7^_#D8wY*|Sby==R583ek}0?Q?r{XQ4%&hjL5H7N^pFqfXDVXLZT*E)o(>-l zO4_RDeex=$$t8@w7M*KL`!C@~VY^Sc>$&hF`fuR}VytOd#O1{0W>bwV)yxBG-!DW@ zUU!26Ed@LG*c9MdXeEZOg{$V|Cj_&n*WAIcY*#W#{U85IQy%J%(o@31DmHBa1O6*`%KavP$d_MQCMOHca{qz=NoJ^+?&+_lM06u(F*t-Wvy;Ncaall5hJ=37o}7WdCkvQ_r()1rIaEU&%02N5uN8CRWdK!-BYFM*q=#NUmD+ zZn*&G)WAT**^^y8MWyIA$+(_YJoH*F_=xQO=4?R9O5gBqmvD6)AaNvG96jSj_p2bA z7Fa5QGqp8*I!SqTcn5YPx7yuzkBsu^@5*8h+?*K_^u;@2lZ|=OU5>(zg6dU8by_dK zl}#_+Z*zb(6Yfak1dw|)v_?YBP~!(bA7@$Twpx3NCCIF~)4$$)7<1Y89ocFr11VlU zW6>NAY z%H#lMg{3BTsa?6ArFNd`4dDKb8QXjb5WNR?`Xf>meCS4H})1pq5IQ@}cWfA|a1epP$JKT1S zDG|%rEa8`uJJ|_#4+QZk7&au&VwWk%uN@z`j~_({ByW4-<9<+M9iZ&Nt=OrcExy_A zB&|sxn$;=Dym3YwKr(}FG^;_5a&^s!7`^L%q1$WygvkEAg$mb|c$Gqk25_B}#xLx* zgl7R9$o85$eb(`_SmI9f3daqX$~ydyC3n2Ouq7^R$bG5}cL#5&Q-b~3Yfys=>7o+S z49>21HXT`b-iHOauW%2taZ@&xUY}sngjATf0?HCcU#+FBA^JsdgZLYakUc~MUc801 zfkY7A?qqG!?i-*AqN%dM1K>>f+_552`%=Wr5nSjp~2<8yeO;g z(8DRXI1yI<5&uX2aqr*qk7`i;VV=n61}%AFIZpLoH~fnI8opif@yPpr!)L^YjThHa z1E8ko*+|BOTb6H%d5e9}S=g93cDeSs*G#9EQOX>T)Paz(bVj3NkMX;hq*YQ1P{?{* zHOd1nB>|hN+T>QJ1QEnv)5Bp5bux5P_Ba$BbWPWE9SM{qlSA-CRHqqBf!V3I=sk`! zHNar9&zPdO4}|zdoCBwH-|lbTW;`6^pX|_}TQr)RH9=J%y(|g8=6E4|S}}jt0QwSb7X$sbfr7XN5E;JVU%A+D(+5!DfM$ zGME>r`+vIpBmK>(Xwy^|fv5dxJJUMD8Luz@cr)#mq+d+Ft5twwu`P15!6Ubz?|E%g z^*h%1f>nLoo0|_xKHhZU#f@FwG8M}Ly0G3F!E4Cz*hu#+Ir2yGN&<0?#pNZ<`bjsN%6p+TB?4yubTDIFPe7GW0&$B%%k8O&WY=SmGati90Y*B)h7m_@SmN?EgB-}YD#V&e(}x)A3bE9loHcD6 zhgQI9-ecRt{r_nXFX`)JopiNfA{kgG-L^Cf)=Brws~80F?s=-JI_u16kjLYsEnR~Myi36V&{V8D z2(jq5TtgJ!%@D7d~jiT2n#;l+(XdB!$rEN>MF_-X(R&<;=fjn#IsazFmjt~VSPLyM6_)8tN-I`(Bpv9Zi~Mk#R5cK* z_bcgN9-@XuTt(ePhw7M9bypWu2wI&Q?c8HV*w1!R;$J}$Na}0B&RtuGyB+14*T)}s5AMkBsIqr#;+E|@yE#db1zZIKScE6$r{qA2?8xS2tVaQ9LT4r8zTWgi2-IA@TK&#Z1AW|MocjrCH=4MkAv>(YD@2ryvFHnl2E{^U^}tE6SDY^f^`BTexYCu z5?+nEfBBINHTYyu?R!N}xJIVLp0jE^HJq{R%m`nf&)TByp{I!uL;l;9aK>5=Fy zIim*rL$RPCXJQeeo&2T{=2KB zNyrYzJ_wSm`e=a(ICH@peL|_#$PCOp;z(0l5FJSEIB;j-}#h z-oaYn-QH$S$cL@Y+)iOgf?je5Jh7|#cpvuNN;AS2F}qI-d}2VXH!0`=f`cqDywpSq zG!{cbeqE)!b}rE=W#oQCzOAfj7$Y3}{^#Vga{r+-{!xq}-1K~`!~c7%W5`tQPU{*} z`QNdQrChk|C39O@vPtQ4;i?%{xLUO14hUDj4q7}v2eV_xF#F+G1@ex89_oN?04>Hg z2mK;|+!heNx&cm06YjXdyqV1>O14*fh~kW{J3ZO+&dM=N;MV}8XbORTC )OVZae$zs1v0t86v6JR62TQhz?NzgyD@SSw#YN}f zc|O@2y8CtRsrwM?P$x8~nHg|miHE{s8SEG`C2Ol+Bi7YN4@AI3&yz$GpMeYOmADl* z)o$Tka{fvVlAdv-1}f)d&EW#YUINjM!X^(2McdOL`OiY)EWeIhNPc7znPsQ4Yj8*? zw$<~_->FD0_ImNNizQT9ps9wRJvDI0FG|Jq%Tjv8fgCA@btJaU3YdKWaw4PCuf1yMBxXy2vu1l3JGhls9ErCJq5&<8@)G#*vDZns+%I zi3@M8P!lLRe<{zR#ym$IM~l>sNH9vG%R7rRx>MAsgBe z43STVn{Y}NH{a%$)ux8zAf$-g>Rxh$IV5=zn|zhd(|BLw=^U)bjmr=zOFj1M>ZfZ!qd*UsnI7q?Mcl4VJk6MU_~>? zRwCPGyBo5iq^00~1j|nnRNics`f)=g6+cnc%uJY&m5;@J`$l*0> zQ;-XGL7DKSufB04@rq2BbMKu8ZhnK7XFg)Nd9 zLp+}V2B#vl|G1^HNZMyrTl=d9T~lox16ucE2nccW+32ux(sQbYW9Q6XXxTYcL-m}h zaV{#SiMivWuM6au*p_vW&@jeD}Vr?A` zX185+{Mj(qtI*+MiPrYZd!)8TYlTky_6L4iqImE7hAL@$l439INwnUvTw~%&2RSdW zqu9>z;CkO+#`6ppc<@O85AJi02T#5^K#s+O=b^+SMTeN}hJXsAVaueuxUOQ;SViXA z3tdJ~W4sgLV@OexLiQqB-+b&q-Dqyc&f9*V#?xcFHA=f{mG#bLLejkF)DpmEA8x7- zOhiWASc$vT)eOe0jeU#_oEuaak#``t^*kWbczLF5GP#Q_g&THDAq#9Nb|j}e-WqPE zzMB+!*s2<$`4f|>oZOHNJ+KSAmbX-Z@0_q^KJ=?=Rp>&jTF~el zz%R1YO#R-*!t$C4@Pm$jm0Z$Sf|bvdo6#W1qcT)*q+@&76j$DW3A-R&#mMl=T`C=50QwFJ5fx}4Rx7i@;;Kh zmcKj105lkrW6O7zP)d>Ri&U*xGZ&C;{B7ov;2F~w&3dn21W8_EJxW;GaqXCqi|{?) zLDa{L>YaV5&&cfPndS1Jc|aL27Vu7m%AF^tTNEHk$9jWg{sJYkwEWU>%bn81X(GkKT~-0o>Jin8&C$~p6QfK|2D39;h_K+M?B#+`-n z$ouj3403t9W#i9BjaVb|)+Msn^Fi#vY%9Z?-ddySnwPAzj7$O&l-O18b{m1rWUJpF zeMkzVIr+x>Q)?lRqAS^%?OnQOF4m6%yX&mJmZZ}he`tW$ zF`pg#%-=C`#FARuH*Qm)@|Md5x0D{JfLvA1yz;Ls4KGGy(`?=2u-@p&g>h+ujNN&> zrQALQa6Bh#quM*Dd~CYBb5V@ca{OG)O&V{c6y^pnrM1u=PujQ>2Z z?vtpsKsxzNuUxjVYE2x>2EO1(%mE0v_TOM({hp2AwMovq7V{SXhXjeF>9`N%D68;VXSMUia*8N=H-gReoXPlVIQZyyev&Qoo4sB`Sz1Hm6$p~e(P`z=1u)ffL3emzGAYaiDv2cFW4CE7;Wc z7RUh?8JMa+3$VR8bN!(MkLF6Hk&$_m{?sUU7LKyi!zUd5e4du47g~}(hqb~ z%@jd&S9|U>Q`$#6ooSTY`7`|m3UNaVBl3pLJ4QDy%qAnh%_ai>HJbn#ZP5jc7S;@^ zgX~<4gw1A=brmz)jM}-%q?S->J-k)}%DY4$(M`wx#-AHf3*P{iDHjKn&V?ahAN|~p z#>neb{N>{6$NA{eIiu`d|=3jO-feATeEaE|{E4ea^_4Q#-oI>_^9Bakti{ySqB zg*qw*SPSC7s{0qkqqI){YYoWNmJp28^NBWNRw=CzTf83)SITOyt=yx1Xvw!GyHirQ zI{yTFZrLN7g?MVC92)5^z) z@#c146>d-uw@x!R>P79cy6&MIbi znO`2Av0>FFYUWg14b>KW|3hu!@*4&g^e-6L*>4zFJM}pX>>D)ES#lZ34{BfJ2cKQQ zzyvQ~U^T#L{{jY<@%-FHU-yrTUV`;976z8JEQp1H$pSDiPle&#=?fTG`Oex4&8VS& zvKK`FDK6sYdXPVdjX9gZO8gI0{bzv9J)WV-E3~10(R7qFdRO zMwP&dqgzR5QtriR0F^*mHabBUhN9W18U8TSTF~mr5Ld|U?4m8si}%NEl0||BMlFiP zzw+UOSR5E@G{ek6V?BSt)KuTzeR6W(BGY*f3JKCh=~cRxg1s|H?(ur?3(H3jC-W^%Q)K^+T4@lZKEG``NadS_AF9yI|JJKX99gHfA~a9E3(KPT-a;$NYUIbR0&wGPSl-P(|M4jF z_N=m=N#9+G{pI%C?z@j6aAh%bSj*3z1Uv+3L$cyNQ-{$AI5fcCfm|H}XeGRgIJO4;+a-H=%WN~QxeJ!NxAVukNT z_v%$;&9Y<}kR`x(57BrdZHi*(44`BlZ_+~eS$4$QG1<==j9qKE9n!V*dk}z?V^c)1 z3DqLAFjt2mwI-46_=e<>Y=9m6CSb=-Xawxo-7zXdMjimKnFW&DCbK!aF-sul8-emi9gqr3iNn9Fg6d?xtfO&>i!rzuO9g5^aevJb|1&Z?w z=V6~alBv~Ky|g>}9X3A|&JpR{#s%S+3!V?UeQ`twni)|7PBj-LI~LQaA@nJ2@y8J@XmC zt{H=>Z~lXprFp~3zA}X=({WmXNda5~iLT?%U+7)A%@r|&E=RcECg@}y}Jm@AfFPjfJz1Q`Ld0&2Tt$xLW~d&#E0db3aebgFIs zOUql^DmO=jdbQESj-e9Vx;H#1io@|r^^1@A z4jD?xFkv}4s(dgx^r5$Ygy6z_a=WCB=MCqZu`)!3VYVp2#iOD%s;0+uqHK_%0km-log>sr5Zg=7TGTfEAChBQ`uam1lbc zS@p#JYX5^Kw%ciD$ge?HZgEtN@_z`Y(%_sodkT#6+{#8|Rk$bcqicdr6(AJL6fsQ? z;CvK>U`f>g`)-6fvk$Dcu{lX^(N@G$xbMxt$fXbb!K%lE_K@qv%PrJfncSfrMpr@IgN2+aIRU)~EOW0!^jxoJ9eJe?38pE%r}x(N`z@=lyKqL$pR) zGntY3n5s?swdtIY>j`Iu?dw;X-b>M`fGUkp>MYB(9Z+(>7v_+NBIz_TOS5||acldq z@qJFX&&>~Y#4>?p<#Gs($m%SbIdpt?r{sKASVhp~Lmxjyo88s<=-GU-&sDF|Go5&u zj^)~+^rk>~hy9cHmPb;mL!-<@WpQW0bO--(-ti<68zkKt@Xb|0 z)j&~FaEk8I7S=fxPq@7pi|)7VIMwNmhSy&$YeV{k_S<}GtgNC)bFQJ+nqM>kTTH00 zj*6sR+h3s3#FxG@KtNjVh!;f*fT8-aV5sPw zT`U+1zyXfjxHaHp@~CECiBo&Q4g8}BXux+y>BntkvCHzBkj?q3}-XOCkh)DX_tT0I`-bzhu&9GEl0!xiD0pD za^Q3g)|`aV-(zYT7s#tmv-#dQm+)%JIs$b1L#Gb*5nD8ek{bVi7R|Z%t_{gEw!Qxa zPY6WShGRI(&xU@o$LjT&Q`=$@(c_`*3tGl1f`S5izY)=NUxz+(K4a5i5Z!-cPAhHY z2&aJ?_!?Izz+K9jhM#Dsy!`K~R}(;7F+?=854!$d!-Dg5GY$X;hmkJc687zM$2rRg zbhJ2YY}h!~q>kL2HGb-AXt~r+bO__rTB`R$#b#*TLYFyNY)3MjWx#PXK$NfW7K_1@2jhWSR{vw*V=+5hKpvB&z z3N+S&K~h|k`}xb62Sfg2F9KylenmMRmO@#<%(x14#{k(vE&ZHqVRI{I^qtjiMu>+R zQ)~2>`Gi1u3-EXL%j#bFXXECVeED)5*a_l?E1GT&Q(KNDZm*syjJMmHPAV!oZR+}d z{(_J5X_0W_?Dk}J2Cmk(ZTHWLLyBV&Y4c(WyUIHi5$VP8w>_GP80W}uo+SV$J4w2j z6srPst;y*2LH*2T+rp@JD(}wqr>%M6x`9fZbMz+Ete@3E{(%@_)ERVnFVz21-Nf^d z)h3mt7W&?jSWfu{HJ{?73Hs&hjCzK6&g*u260AZz(Y`)FaSg5!&G5M4^!5l46Snx- z)0NFAuqyk&l=Dh>$Foa4DbZta7=Z7anUe?1`f3OrA&>+hd|9c3pG9vB zrbfYvPVIg&E?pJiV_!O_B)XWCZ~4R2gkk0~uCoLlqCVPKuXz%tR<88qbKRIbOEI%? zWMjRN;R_cR!};)A9f#a&fih`b-2?-+_)d~n5AW_ zka5UYf5hx=bI9URCX&7oPQnuH*37_M zUkA2MPQH`5{S4?7WZJ-r2lar_Z&}mbJ1SQiWSa9uJYt|3=Lufy$^3^ryD56FgAETA z+h!hSgc(*ZL;E~L=N8)?Gt0)GoDGZLsOeoxA%9l$wygf0i}PxCh?V;ufUlp!;_ID% zkQhk2)6*ZX^=I^qWv(&?4|o#r$UNq~z=)0b}jV)rFNlaxAo-{v2BWo?ZXD z|Alz4C9(!99=wml&tFLRBOY8VM_|Q+e}Mq=;7!0h`0m_1SbJ_BWUsvrm%Jr+n>o8$w}E@^=IQFv6u_l2wWlnt;Zr_aR8+CVF3bGh}5vl-0JYVOOd#;Ss-F?3k2 zvyGlRs+{4}enG!I@bUUwAj7IA5t^$_j? zDMJ`R9RRN10=pj#7niq3#yPhHq;vmmtgyv7(s<>6)h1Q&i`3S%2o$Y&#-_3?LonKY z;{w)Hk2_pTbN8b13ReIV5Z3^d2XR&olackg;MMC zjt#a%c3!A>uX5W0D&7ICidX(`c>P;;HLy`(h{pCh(z;V6R}O&Ur)dvY50RC(Wc?pd zd_Dam3OW-5^u^RFz~Hm&^(rJ`Xh@4#%B6lkx1-0k%x|13ZH?BqxV0H+5)v{2@!teeu#^8fdoTbkknvQhL>30mBBG-f*hh|Uc7qFzI<&$6 zbZ?X7cy$%V(0=FD*hqAw6+xCu&5UR>tQ5V~k(!vJA`sLro@fhlJoGqwUim4j#id+BZFhUB}6;l8P^HG`>3PN3c$Lo@c@Dqg*B?tkyv z{;lGTNN0N!bAWTacn-#w)c8XGKfw6*p&FwK?_r@yC+}rC(gvVOaVc~0F5oD%kDonq z>x{uMIA_#>0~qmyHr*(mLC2bo=Tez&8C5U$1e;E+@up07+n7D|Mtv0!J3eNkJHP4m&ZGdn{`uc7 zUeM1`1l~j~b9Za`KWO~wb2R?F-)MaIb2R?KCBG@5H8GRI*!)`tW z)^(!?zf^7bfvH%GnaI;J)so_#6_Au(zta$ zQ?$==Zpl_am3vEA0zk1Okw*|OfmA>W|2P94XfU(w^yp&KCHTf1t&G?gctt{kx!!6uBth#>(fc*9;eXRQUY zyL9u3>8(eKKxc>&u<_y?m;^A0_5hl*u5pFX5ZRGtIb*q7Xbn}dGxH-?u}1{6{dcU- zjOZ3)#4RJ_p2db4_YWQCUvlH;@kpK7}IhhzBC(}=D&KDcz zUp?599)jJkSa(rrD|wah1>})UQHr^+oe3eu{8JKzK)$o$KzKWv zVDUk+&Y$qM8GNwmBD`%^34}P*#g$M5#o2yUr^4Dzqv|`Q)AN2Y9+5+}zK-EXarG>? zHz5*Cv^WQj+sOzG8p!B!NKSc2sk!BF@q&t;f-Z!A}2l5NaFtKUR!PMcex#1gxHV z+*?U{-bMU6_tmfTrsvY4D6V!bLkO-KDyHUVHHGc9)&_BBu~o)kZ7p(mKc5=uD`V1o zxO83UT10JhlbvlulAhW*w14bVG>lYSHDnBQQtn|LRLRGfp%y~naqxMm zuI8(w7@5^xh9mWwa%Z}VUJ@pTKK;ufw>qMp?%v(B!QE^jL+js1ddA4v?mX`Al&r}? z2vSHpS|Xwa+W3AM&0MZXJH3zKZJN>_kbmg%I4VTcmdOJ*VyVgSRMXbujxVtL2o=Qg zkd=_ZV>@!;()#%dxaKppKkKgV@8)}XSd9rwJY`%8GM7XLba>akIgIo(elWHtVz0O8 z90K@TAUt7-H$56C6?NVM`j&|4$>v*-*-oRFu zN?@^~Ty=8EJ_0^j0qrv2RwIqJy=ectBN&=uh@A4cn^YFXjHw;)>%N+_zcC))H>fv5 z*{Vw#Tc2lT@D@oT^u3wG#Apu8P5^@vO{qiC{T=@FBh^_XJ^T-on1zCU)50g23>^^3 z130qVj6YZep7ftkbOKcwt>x25FN_vK-Mk}Vwpf{ad~dbE=3RQ?6RsQj6|ds&XRN5z z=E`DQqkFRgg~UdFag=?sD+H^CsU~9MctyAL%6w%})8pmdj_mu))cTf`wZkYmr(?&3i(zq273v>p#L*^q} z*~*L6-719`uRV^yt#-dET7Q#T?|BW3Q9{ z0*%Z6vI~6VxuHBKXyp0Q;~-D=0JH!MJ~&k(q`u*zI@#v1k0@x4%*F$PFWSpcZ<$lA zgKWa#(Jd8>EcPksH1-SGnyVwv)CFa$L6+`PQBS-IW6xkf?ju|4I~grV8(>^-=H(X1 zm4kRjBFr$vHv+Bm+4I>UBYxi6pn}@Fhax|1+0uUkunF@33{Ty7lOb}wP4)&#HqE*i z<5o2aO@l9uI}p{4ZzFW9Qr&L0sa)k3s{KKH(x}qizs4#zE!SzZ)BXC4l~r{YVXtJ0 zjxI3*)0kOR2xwLR+VA8N9}IE3-#_;Oh~D_Sr>g$qL>5NFSoUzgn+Z4U3%J+$k}WsB zv;9EE9O<)S!$~s3h@`VTEy=Y3IX^;~Rmnx2(LvHQCJz~xKenJv;Td4f&vmsw)D~4y zd9^?6@mJq*Yemm}qzY_aVrTXh{gsB%M=8OFqNE)G{kP$FS?1bQpK!tT=ROIvW^Qp` zN}}t>#S$`d*Uh|^`&mSfCxhJCFGEtdx|u10&N#nQqiKLEG?}}fxJngRMpf#)o=$KD zbhqk7$-utAI#trkm&DOQ=Avlg$yRzv^}(7_PvnqRUC6G@#1AtzUc>b$F?t1hyUMUB z(u!66){{VBp%!B}Js9AQU*5n}n5qyXFr5%-=6XrbK$*l-C0d-;DGWREECE^7z94}rjM%I8ailVtzn5?OQy{7#YX4dzUaH}v zWJ+#3)3vI~K{^0LN`?t>jkJS^%_n0Tx4N3)BRs_(a#fzK$B^vnY!dsHw z269>4X_wx`cy$dYp43_=?4!OOcMgR%Q=-9Tc4urKQ69xmbh2_27-+!0Nt$4@qpl)a z7gy)PchaFD2D(&?L-&y4h$NUZYOjrf%nJVHXJ&1I@nf2HX1fo(b@HUV{6}BVmdRm! z)HvL4iIR^((D`M(sQxY|7CCY+U>W7OFb540`L?T#&|z~W@tedYj02WYYj>r;5jZ2DM^ffh9oOr|L{*IVlyRQMl{S>JeqFg)gct9J!!;*oGZf)H4s8v1wVPyi z<;A$Pl*{NzCgZ3H=a0U#714T1QjbV$>BF^#mT9OCG9;_Qmj#&|)D)0gI#@EhC3_u~ zG^rJH{ABF*LytcH-c>Kn8*RJq_@sm>i3kE^)kn|Rr+X{Fsd}(w8IrbRX48IS`mx;R zL;*v?@hI~bHSd;a&u+K)IcGYTqj;9ehuX7<(8e9*2zv^E>=!Qk&FyHU6QSHof)}r- z76}P6?Y5Cv35p6-cihY(a**ZrA00*WwEvussdO#}yOx?wbxOnxKl&uyIbnmau!uID zwc!XpF#yzx9W6`{OT;?B?)2m6d+RGS;?647F2*~G7a=2XBc3P0J1%gk_d4=kdkiGo zdI+|8M)xa2)RAf$3yV;~!XntPu!w|zU=jOpw{UK!UKVVxKy~Hmr2grB$X_6YHRje( zI2&oay7o}Jq+iEG3o=pxH{ivTEwbnJ{Blie%r&Bqp9V@UFEEOKRXH>dqq#T`v|Khg zKMK$8AWy#L{O?amtEeBrKYuuvRKZ-?uTC)epD;_OSn@r*a z`S&x6tRC>=@Qx5+Qm57{RjRFtwX{(s!6zv$jWEo;Q)zU!0{Rtz79=uk1tVA=bT~cm z{9tM;99lE>>>c$dCGJ;ZMeVpvH%tp9u1uC;^w40Q9WKCasNzR(wD<^F9()Sav*NcR zWh9AoEmL2-44k%EnaYk{uQT~L@$HO54drvxfY$%ud$ZY;@FB9y>3akIQ6*FIK+P*| zufimu>MGUDr_=9vZVEGT7YTR3ps)1B{25T>jX992_DtbwAOWMKXfaI8-JFUP9dQg`e@ zR!kO~G&>^Nv6X?R<0tjZ0@#eJc7m)X4*&C8!ky#Wei^A^%9c?9-EE2^SDkR_IASj& zlUp-1I?Ncyfg8NtjCl}7s$f1^(p1e%xa2b&^ea^&C&JK7zR(%xb~bf~b9z>I7MZ(w za3*K0>Nt0Gqj8!6bQ?w{YsnAWDa#caq@ld5*t&_s$PuXE9g>5pQa}Yk+FKh!-#B74 zvcZ``btwASUy%VvtoQlCr@AN|UR%YPO2ejCUlT3;cs1cawjd4U&loyd$g5eolt*tJ z%8^497d2W&4*_Va^|rS1j^K121C=C`k7hZxd>?-buBLxI&V;=!>xy zI9rvt6DO?3!`0>Oul(058985d>~XK?7o){Bk;&l>O^(^<2MGFCg0Dm+zL|1QxX12P&naFLxeRMV`l%oFQ z@fZ6*j$3NH4q`iV_p{8A>5`7G1DyONq6U`S81D_#}i!XXYJ5Zj_ScW z*htqJjEAPpJB~b!VxmMd2$s8kdZfEcK?#6r;7q#n%}{s3zI`^`sFM)dl)M>o+PH{g zc3j{4!)}g&wScbG92t#~`CHd2eM~Upk$JT51!8lnc=g~T4uhRyj;^kfC;XQpduTun zKw-7Azct7Y1gpa_x`>_ox9MeW|9uG$2{tnc;({wqO_G}cwmdGR*^dr3hAI?WIf9?C z)#!STx7#ntA02nTwm787-#Jkuz0;D+wnD*&AH@I|*zkJ-tjz(u<9t9XLpXqUlq73h zv`d~$mj4glu?LHHgu8b7ynq#>!Dmd9OOp{#6a%P-^2PFVH!`mn2gvq{>Nnn5JBZrt zu&2o*Jh!h|1(>6BCd|YpfXlw%xg4!r8W)a&su#$A!qOefJ24j%Yuby6H7yQMGH52* zVq+O@k}J2Ztzocf&G+3L7o$0ngVslOYfrkB zvJ*qBnt2V?vu%A6En%bO7B@tDJzC#~Tm9PJ8Sljout(3?jzdS`=uqqP0XBbgRVjMC z!~0@@Efg_A`h&G4<<`qQ-(%7e^bFTSdEaul`JZl~-EVNzJpdeachUg>NA;W;H-vE} z_eVd+f}>2<(=XXoBqLb>+7r;H0%%W;@F#GC1$7_IiRU-Kg}hHAKj-S-VPZ|RG)SDe z|D}kF+Yf(v@bTAfc=wk*hVR}l7jB}iO@{Jg#Nk`lVboI_Gf_{Jc{0AOsJWOuqBDZUu(f+2_OT=WmIJDp_aw=pRL~;42e$XWl?l zA=oJvAa_MhGo(5_%x*jK-5(RVn~~G>Ub(WGLp82J`8QF@77}~pI^kx@(=llj5Y{Az z@L43;mfTJJFeIHU=}mugg#8Y!ine&0l>9#4t;;9=c0b$UN`QS$hG&W9+`d*j)?|&f zuU+LmYJXM`DFmkA|8d(VTs*~`pG&x&du5UddGvD;zK9VRBDq&EbdGj3#iAW|%NZl~ zjK&Mt9^TyT7JB&gD`(i1+B;(F92|s!5aT1)ag2gBJOQg;Lz@HoHK2)@fo&qX6CKm4 zfMU+|Yhj}zK7H}^SJI(m7%~(=y%z#~$QLcwRwGN5&;wY~?5rs-kWg1uxZ|dW$8On7 z&-l2St77ig!O{%SqU8|PHv0g;XO3)6%tKo!z^DzrchT)T@R(RxHAa{&{UJyCId%f? zv-8V7gNw{sF;I`~_W0SAn{P|_vLRi?_UPdQj?=d+i7#xOW_9Q_4a#x9`vzC|f>8FM zk$%1YKOh`=U%v5038I}W%MG* zm9?V6jU{DzJF>ZF{>`@z?%$d;=_{`0<`_BbG+}7EdGUWMVNE;#C}D9}T+WrSC(uAx zhB&}+xa=>1jc&Tei13-xOU6Q}gV8PCxlZ(epp0fh?h36J7xyB#eayQhoc5q$NUS`_9U1PB&?oUzTVKafeAkU6X7p0i) z@1hT&sn)=qsmLnblw2*bV>UgEo=M~D7gGwT&V$xc1xILm;&WL#>tIZgil^;oWOXRB zI0P$2S0;N^%h_N{6Y_M9>c29D9@V(IE4W83p`xX+G~g_9X(j|oj~fLm*qmH+3odN|M0=Fd>u#OyRKT9{sTtnlEyMa;qts~1GA;nUTZfR5TsLq=zL z>`rf?Da4HMw`l#?jQ2mHbu~Pz=M5L4b?YT*dqgY|IH2k%ba~iHFzjHEurqbP9lm!X zX+*8R|CLNxZ3pGU8$=f&8eO%wIQ!6!mXMjrwg7q)8|H1Nw6I~G*PA2v_+hI}kqvxd z+*hO>@+iFz0i+eV{|T7Clrs+|wBapf{N^FIVKOwwkZHTLv zv*wyYbU$!+7xPW49YvOg%rsU+MZw2PPJ9B1ajgR7WWBX|p(6nynSYC21j+g#39bJ8 z3IB*)SbmFLGD_=~+}bhV_585zyl=s z9{K`!5Qyu;$pblBvG<}Z{5mEdDnl5p74>RUujBQ3(lo~3-E{58=%VeH7V);^h}~PZ z=Y`wJ5Pr0qk}bhaN@6+uA?a{c?yT?IlaaI?OjMr2xUClTAl!B0BN>XLXOo9Ln7d$} zFllk11llnX;5aNTUS!%=TZ_6w|0cvBl_)CPLP(@CiQBEGbODHrzacrJGF3YjJfk!J zm+)m^C7|U05q943RR8b)KT=VM?5(mBvWsIxR+1IUOp+Hx^p-q7iTQ#;i97v~|8!t%a&4#_w;qE39^*y@k3HdA9f zec%LrjBqt7+t&+Cy$9JfE!ryVZ})V_SN@5w9=HjP;yMQf&Qt#tI2W(|;mW zLaMcj3fx4B!1ID0gy{2(1V#019=p>T^Bz;kYq%WsENe< z4eR)-zlx3LVCoc@78q{KK8d`hvJ81Jfm3&c0KVIs6V5OO&oiVM+jJkmp zZPlhbi{Izt#h37>?wMh(T6&=T$8f^y+jHk|!G~V#HP2@aHZXo6o}F}WK*6Mi`E6U<>jhD(NpWZRAQ$u7 zH@TDNI|giML#)4_5li57&*+y}m*AJ-ix;(nB}o&DmhX3N9) zli}TF5K+eLFNhblgk;Q%|F?`8=BqhFeW$iJq&$Ec1m7{Ck?vI9p4;yYnY!)whPXE2 zyrp8QUP$-n!qc-vplUUx$f zZ<&v%)s6{-gXq%0@E;f9JL2t8?%vx{KeN0vm;@amL~0+7@gs2LZ%aAcn6Y z51~(AK5+k}>O^1RL(1sR(xP*iqgQlKzUETKe={f>*kaqD#DxSu?M64zjw5eQw)k^A zM_37mJkD#AyyG=~=xi15$K7kPw_CiHNYnP(4vbLNH?;A)JTJi6*#`SLiO441=&9%HNO4Z zFAsy&n}nA~QX`H(6fT^H&ye_Ra-qf*?kRiMC!8m!>rZmM4c=wS@}5*zFB4ymYc5{D zqgmW9-F#3g|B;G~SlrB|dl0WLO-8pg%Wq&bWz85(IaCG=nI27qwPi0*frBX}MQ7y` zEh^^bM#I*Yzt)xuTPG0yRQTH&8_2r2Whrg0mPUBhkd&~HhMdhHT1)ZyF&6c)z_CIJ zt&oud5VI*K!EIHnD}!WIvov}Ud0CG*ijQSRX6?VsXsE*3 ze`()K34Fp7FY!2hO)-4q7ob*w3mk{P&L*HyuI`{wzMuNk_yX@YQwF7OoCv8K_^;HB z@NcOb_F!1#*PW+_M-+5423{WCgqH`uCiXix8rvcsjs5-dkPs8;StOb9re1uBrm}~h zwkI|W39XgN|G>^-Co(;cTTHgTGNEO;YIjWh_Py5r_DgXC-0swDdzjnt>VuXY+tyW1jLXm~z) z`3}`3odA(m3=^#K}?7SzC5t z`*>}w_rFzfy9xeqI5!{wjc~=N-f!d?kmO=SbWw-a1DCO=$kN%>=aV#NXtKG9Hn)p4 zFfMpE7*%$TqVK2ei)WLnj~<&BE@aEudc%4nrdu|2#DDoieN%dX<@9LNY=MO&UcztM za+i zyL2#(%_eC{E{G_K6M7h2C$S@nJ4L-`L#0nrCs1a4iU<#2`7E8rSypp~x9w%+K&CEIZ@>XgDd=4HN?q39?HrRsQ|sh4Coy$)?&^7SMN~b)~vYC1+F@cPz2|-+;4s9 zGUu6cbp}vyl@p&uKPgc*>bFo9f9$9s?d&Ygzae9L#4mFiLzq-9m0DXPPV_>P%5b1E8SnI6pC;ey3vd>UVrf?+Z>&bAKoCeMxIy7RQ~X$fwN$`^9UIvWy&%tJW8a z#L5t|u$B}n!hdFAw>>ma7WVWX9-8*Tbuq+bKrchz`M*K|f*ssQc^Vf|yv2kbzjRP@j`^Y6mN=uF!oPv_VEi>&Ckf_!w3-&7P zaHwO-ptg0c!^!R=X`U)^!mqt(R1Y(E{*0+}$cO!0*1}Vu3xOU!_v|}#6*eFHMDlkM zni@nxJJwz*R2~e`=|#i+N%5gAKhmhcr&Akeo*ZfV`fUZrAzM3_>)#lq?;ePk(PS8> zFMKlf3{~0)ItH*q|J5_V-BfoDR zZ_Qpw55W5bxL}vJm^_26wqv-yf(0go81C1Sm0}auS>=*NH~RC7Xy!A#HE~s^NjPwO zd`zRPr+TWUITVP)#LC2MLsNt&AaNmIP4kCNh!h>xp@B=0>jesghA zgX|S2FaCgEHeSXICmn-EQ6YQJzjd~*c-M2=O-?>6ZdIN8KxU*Sn_?%=z1oCH_Tgk7 zj|NSu6A~Kf480u4n;R*4x#rjIDAvB{BzzG@nl~{UI6q z+W6%2w#@Bj7L@h}$f{_m!bD316*t|zJ#xBX{O3+f`m;OVF*hP!l^hPtYqw)dDN%59NT0f0Q(f@U!C(k!{bvRb@9n)&D=$HGk$2lt3S-2lM8!jMf|*08)U`%n}Eg=Tj}e%`f90ZS{w(f4aZe5 z&utB+dyk7d+P65ribZvr`GS3`v0!>n&_tk2Ca~HRI>|d;1s78c@up)Y!nKy*jlo2f zdhgEC3r&qKl$yNT+4RG3L#gb_7_^fWhOac@d^}mx{j3qyt%9+VMdk#&!BX@KV+Akf z?3M15l9K5(4k^^5hm!NgzdT+2u(;ItT26KD1%8qa!+leF|3$3ptD?2<0eJmnR?Cp` z2J6->fwypu&0=R4$#F$PM85M&3?UHBR3qEYA;U3t6*0ejl&H(e1b) zhxaM+y?~SS7KwgVly))MSjIE{o>NhAmi{+0oukv-s{11RcU3c}JC1N`E7a%46WE6F z8T(xQKAuMuJ{dW!;vKH^`dRdpEwe94i(#(Ggu8Ek!rgaQvBZUMREhTo>RJ$=PTIq> z`47|t3YSyHbt`It^McHgdBzdve4pG=hm)IWt8AvBVIo(1ZfVd5E`a7euFbn*d9e`f zBUh}YW)9)m8i{zeE}w^~1{#SfwL!B#sgJk&wj4a)??iS`qs=YtFkZ+DElTkLpJ0UJ z44x{c)@^W7yikv$EX!zuHj1ERRS`Cd$J=vWj6Vt_d1?P+Sk`c*0+ZM};d^G$Wnk=Xd5Cu?hC@;6uhZy z!1|9rL_N+c}+0j~w^5<_weO^eexe2zs0@7*t0JC>+z3C>hOURHf z#gZ-<$SxI+5e`s#=UgE#VLn(segVT1jsDudr1A9OwU6({ zHBKA^Nz@Bl-a9mw^XC98rxIs z$qdm52yY}shAP#8xAw4!3wUc^nb>)2pNzA%Q%dA^k2CK(S6f1HaKDvN- zY7(G88nKIl?5_4qviJK<)JkW%4DXgIF_FR!ofOjscPHR12dS=F+gGm0xR4?ecWWER zwwLZNX-pZ8Y4IbF#^{8VfK3lk8pHVBV_fKLnwLoV>JFR~w7abxp`mjvQT*hS)aqFD|f?SlUT^0K*%Q zaxto!u3ic+U&x-9FbO+1XCELOf|g;oeF|`aqTv=2xZqEZy->(H^Py$QVew17`3`P6 zyoI#c<>wdA(du0=W-nMfID(ygF-e0k_7{!OuO6s}fTeH{`HJL!mJ>KFP#bCx}<82wgmjbRwKQ0{95Lw z7t`h?WA|h>znb0OaWK^-L1@9f!LaOY3J$d_}Coea6@>*{{d12o$ZU6_aSD>AbkWHLGOG6W z%Z_7pE({xVjo`m<&=TA@8yTvCOAlQHytOiyWl6GXMXLvq+aC0meQ_#k=Mu*sk-q(6 z`MejLh%9Iy_GqFWMWUB=SnqRE0<@QhOjN>~vx>DRw^8^4*@*O7cY`Vt1LF#D<8w+`XY_@G_LCXki?z|6Lh+qojS#hL)FUm1F`<9E3JYViSp zK(u5w-Ox{X(My#w!CNzEY9ynznYx+A{mp;!FX(m*&Nc?FGc!tnZVLnGHVuC=Wi8>< zaZc{ytJd3TH;%UrgAcre0;3M)IQa0?V8`t4rAUt4@4a4dmwpfJC`_M(l$}P%1?0e% zeTl&uSrDx0r8Kwr6|C82ZpSfaoKQGVBRj0+wSEGb(zC4B*It$}h6nsIXwvPp^IFyY zYto%T4ade11ZyBEcWg^w$X9B$A>DrK)gWKRw@T*^yIPnb|6~x{R~hCW`i?PL*BRoD z%h6UInnqU}J3{o({ijc#UN(=pyG1d93~FBW2bwAMOr+@9K~d8S+i%~ey5Q}5X8Y~? z(t01LcDJu{eHd-S;N&c@s_6Ij-XTGbKh}y@KE7qVmE@2&X>U(YYc0fc4ZKSmZq%I0 zI3(I;AwIm}ktdRc)&`WVeQSjK#-;81##YSUG})Ve4ikkqxpvvP5DeJC0dUTsB!ywr zk$&e2!JP6iYc}fxbYg}FPcgF}+UJCZeVK}8A|oDnxP`Ic)Yj>gcxBHguF~K zl$RmSuc5q5bkN1khf)}Y(Keb0m|u(94cAVFEQ)-D@-o+bOCcF*_8mb>`@J6Y zBrU+L77Dr5+-#rKZm&YYvwBT^bD8joEuWrYw6ntAz#N;-+Z76^Of?G!6p_oj3nOR?X#8XegEhECm>*0NF zrYL41+JXX2_CT^Tm$#UJu42khcOE+A;2_oe`o_``I^;;UYKPFEwY<qlnI@R5Y8B-p;HkOlSWa9TgLTruL3{# z@6Q;S_hQt0ZOW^=64U;}onI#D;kMaG3m2+O z;12gWcD57Om2Eoj)?o+kRs2k7M#&u?-8tPWrPb^&jiU}+IUq$%xiFF&>N0z8v|%WL zK;5>v8k}|ITzrA+BOCP`Z-wA>v4ypM{LLZ2>T^4X6Ag0=-U^$pTd&by-QrVz8@oVv z=I{ebHNGVA*64>UpX&LsE{3@M2_*>DoXyZ6cVWhlCtRcyX~JgC{IMIhChmr>^ca0> z9cj-(Db#ruOqwH{PSrSFK!hR^P96!Pyt_0;PIk+!%@P;TYRRyngfPOXhpnX3He^^i zk2Gcqf4D0xv-cao#r8e&c=5fYNq_T^FVIxT0Zm25z>1TKS-G}~R%22O2_4PH0Pt(xTT|jHD zX?q=>#1pSMo1n|(FO-i@#EzQa_0V576iYe|R7Y{AQ52p&TREKcRpfKYk=Pr!+SoG- zgEY)Er=6Q0>=Qv|!}U76VG2La31n>`vtj!c*S>q>R7HmZrOKC?5hE9Z^6YNOPGs3W zndjABN_Fu(W@^rG+Tg?$j4zE?HM`*^KX9m(vvEjwoCjvW+{^ZE72UxNB{`CMBj;ZR zY0?(LqE)I-RP)Grr+o5%EEvEF`+PzHU`EbWlvO_eg&BD^I@!f~hO)cX?(KdyedU{- zCz-#xsZJ7%GUFy=`1DKFl{FP1%}AR;-fKw{+z+fgghQgJkB0^??sFT<&uW0(l67f! zxhJcD%6F*b-1W&+LOz*=E;j3LW(soz90=K-nkWMZ2O>wrfk;v0vmzo2cX1$^ONfAG zf9if;OllhXpmo`5!UG3mvv3S(h7_XHMm0& zC8Nmr*A;A{i&;0HQ`}f*)a0(d!*6(#%W5=)yyK}j$=syL7w{|qkjZ|yD1_)U2Z+9# z*WypR14JJZ!(-gDVyCkA=<}Q8bMRrYNi6E>+otQ(Gzi3WmnQtobc1MXBX1eg8h^<0 z(nqaP{AG$}l@r=~)y#GRBCp6&x4|Bnd;shb@F&>g1oO5~#=SFWq;LY*a0h*rMlch_ zer_d_=#LeGCFV;ex@Txv4vbgR99oPcfj zeHa?C#f>aOlbXte`vRm#A_3_k`tdK?Ui>74^r+_ty=9RCB$cT#Qh8FcjoXWZaC?ML zXe}3$?_olt>kK!{#z&~&a(5bCxFT;0#evT4@CW}JMnftP{+PN!t&+XfIl%{PdhTK+ zNblhenH1#U6xO`$O;-W@eA?Bco5Qg?;g3r;XMj*{rr8q6gr^QT^J0N4DuznyWt$7%@Ss#TTXPx|MBD!87iaz@KFpL^oSPA{4A)08YB&z9%DLrL7C9%c zORS$#|MXY|!{xa+VcFY+!eS=B>Pkf8Tz0H7dXQBn88o=`M3zTFJYab!^`2sI_y$S( zs1N3bhyc>*IMP8I-I z2g^12_kg9(uPn!vTR3v|@Z-{D`p1nP=Ts zHVG&6zj3@-Q)mCqdhV3DC(3KZ_xr?WK>7PGg;sr0lKP7rncg3vWh&zoOnZ2T9tIo{$TdJ9FG_1pE}^OzO4QeWDa~ z2A@_{J$$Hq8rgTJ^msuoMCZQ<7oDNMd*0EjyH1S4fw^P8qq%@Y#ZX z^HD{>VH3O+YD06n7kGpD_175x$0-;=F(U;jWH8Pb`1>{tr%^0lyr~9n)z-XqwzYk3>lasdAoJeNM&#{G3hbjh zsErm9{q>+W7Qvy~_}}>2Zx`$NXIu^=DfAO`u{})%$Xjc>c!Nt~%6$ZURgZYaDoW#R zz;%uQ6P-gQnqcer#ex?n9NYAJ!m_aF_X1jiXine1;zDCD3uwQS?~yXfea`yL%NKFf z>8unT{7wbx^!nO7?~SkKv%JsKN@RXTCg=s=PPzmyn+ws)mMaf=+1Pj6TsveP7{+ZK zkt#zHtOyp66~R(BX|bh_?T%OEtvQD|jvGR#!6rhQ@&ZUx+SU4_@)nZv^Xz|5Q#OvN zF$!vqL21f@Mqxa+9|-U49|OEL+@a7JOX?2<(J#_(iTV%GZvj#CdxU+Z3CuK1@MrNx zTug{K)FGoF2J;()a z9#Hamf)3lzFg2h?6sW!bJNFQHdLQmkAs5ixnxDgYRMf274JJ*uy{e|J*Zwr;`LOQO z_@lW;pTJPFV}cL2ImiTFW#A@AE7kq$^ftxatpcLB&+VyWX|h#h8QHj)@Z$NI>!Q0Z zwrQ>u59)Hi$uci%|E;E$s({xQ>+P{ue>689cn0)o4Uj%*LmDb-G|%W~h8n;BMs$`aq?Qy$2(}X#p+V z6uXWIz(yc*O|ZkG(wn*KT)HU(Js;|TCS5oLQ%6wyrhG>%6N)F{> z_g`mM4_=qE3vx5`Al0Xe=kEE6+CtC@I#@|8=J)+19!M>8r!zwR=?}t zPTCXsS6NQ(N0X1YvU8r{ZcuD(JTbIkUnrfArh@7lKd5g7=9+F20?fMRuN_GSQWo8z z1Y-?IFuKcI2yG`AMF%C-r=^jtuZGQwUbR zIJ8f(VygltPJ1r6lEYK8k3UVTSe}C3p6yLA?X@Uu^jr9Ciaq|85BTqbQLV5gB%hI) z;K9xXdvMY3_oL7p7U7Sc(~WUG8|y`s&qP7{4qmYDpq9rrMS`>}>3lkY`9T~NZ8JZ% zM@6d)`y0?4#%=AMv%5swuDe(N50vYErwETWSUxC z9>U-h!OZq7?w}@5bT3=prM|{5m~O4@T4xTa)IuiPc55A^QY**&88D#yrJb3o3TopN z20TNmI;IeL%UwKsx}Mol>dJR8TP z?=zF~bvgGOOfgZEt3N?fmqe8+#^e;hVf+J=)j`oe`td2*+1miNnz4>kcg3h%Y3xac z>vIasG{Crga_IH8;JUxPH|5VGfD?uXZ*-Yl=RFXO;KG#C->hTPJt=t(gY2H?OgT1_)(!sIs==fyL!N>bxr|s>*`kiA_0G1=^0sW3J zuFh!19F`{uuqPoMV2LkygnCYWIQ)XoH?^_v1tflX3LAQ3KKi%lVdb{r)by?sfpp96 zPm&TgkQp%Qul7?nkl7aYlP0h;S{TjmU$pRVNnWoR#CWTArT{jHoASy+xV!*|R|eUf zq;-QNJF5qbqfEVmWdn$0_D0{=>n#z;*#9GEE?PeSRF0#+B<%Wwj=V2Aa}^S4;{pV$ z%rI+JgaSKWg=m!#{V%J`-T1R6)-InIzTHZQNq!?6@H`;A;==|L_Vc`_C!K@ra;ua6 zz@?OL!mc-?a+i|?S!#e(#zy`;A}tYnD~lK@DB3s^fcCro&4Lgqh*G{Rl0mMi6rVI! zr^$0AlFq1U+7Ulxu6_${gQl)fM~;N+Z00Mh)Y`ls2$_sKYI(nDf;$o&sPGMoijoqV z1OO88+ON(PdA|T8_eA3|?((0ZL>?^Ne5Y3qJD%K1eRvX|I)#cXUePrADu)W@-ueDbf>Q|Zq1IR$l5o5@^*w)~s!}axAn#DUmh^)W;li=eEEO`fRDDmt zaqs=F3w<%V_B{Adbbist@&GynH9`sqWnwEfaya`%SByS-UTIBlPItexCs3gm4-oe1 z=uk|A&D45R=ulNHQ&{=>X*5o|G7~A%ooc`Eal$k)d9jQBTsRDQjjYqDbuK2Yp2cd) zNxXfnSHBMLlBeb32NxU1M($q_~XJO<<4@+v(O>tmmQ;avb1E_g$X+ieW z3vzd<<%vPVwDUxkChQoIrHSv*8AM4sog3O}UP1`1YwG*>6ne3qwu;lRakn{AxQApf z`yC;Jwh1CXvj(R~;Ag%_Gc#})?jMKSLl`C6{a!Dgl1(&n4j#dKt~(>7jg0!wf1R)d zU_5`3!K=D-=l{M$&;yqUKh-J1SkI3(+Al%!XMU|P2!xxf>`-irN(Qk&{Dbr`2GK47&8uUc@aKo3Ygz(-0}713CSTvd+lRe zTk~fJMq7q!fq8ap((;V;!8Z3}uaD5DUzMvQ>SPk86~UpgFxM0XI5f6ktlT*?W?ogv z{qp3ENlTaS8&0(L7UE;}bx)p0DR`!q3Ep=b+(oAIBaHbzPv$Gv>r*ib)0nyK_q}-0 znU}M)a)T4R1fPsvg$@k@_+;{Hk4t^ZfqXJ~FZO}XkKmJ0q;}cy$rQ;tVvzwY6ZC@^ zUv-p2-%lCup5jwqj~d@P9nN>lmGVgZq-0dhEAr)gbR*qGzN|wVyjIdpGopu)rsw+M zVn?>Gic9#+Y_8QsTb|q@kciGM(}DgYJxa39PXe;!c>qgZON)K}yn&f2-M-^2dhdge zYO;`K9*d!dHuZPiO^ex7z+wjUDd&4ZpR#s;XcchDj6{h(8Hk*zOE&rsj8Up-|Ax}r zM!E6VywI_-C-GR>ZVntP3;z39`4R~9XB8kU%lwEKO|2b_CKTwe0~pQtKQNkr_X|kh z_0;(Rc6c|_L0`qZMKQK+ktHqrN_HF1OfoW3ZutTZpH>sFZbC#Em<%q1b<_3GvA9PCa5glS*m{@P2 zPLLFrNAVsF<}+3L^JLhc7iSAzguY65Cb;OqZ7q&ndeMS;#pxU(C+yzK<2=^ov2yxf zz+sQCO*Wpmc``4S@6q+ zN?dWpgS+4(ddM@+dtH}9zUQ%~gq>-hwuB)K0QC>cnF&(5Mj=2TP9{+dSqhM@q|;piLCrFllNO= zvL3@BNBj)Ta2zXX4IXHpdn9Gg-tKjMWz^lXuY9-PqP zJk668CPoBOMOGZsMb5;xAHfo@_cEsQwa!;)2oXFzp>@y4LpV|NOQyoz^wo z;Bpt5%1GYJ;~g~JHbqrN{f9Fh<`*^PaxaB10?W9%sx7p2xGD5GvRAnrTyAudrTw?O z%`=T_@F?DE-4VfPWc2(^Kd6rBP<1>8<9o2ptd4%C(p)TZCJvhgF{?$}8WnIdF(p@^ znp**w)k!TaN%5jTo@^Q%CK+}q>2XN$J3a>LmdD)s|gSFbALY6DRs&Ey@&Fr zQFvR+APYflmJMx%`y)wFPmxYe8|yspEEc;``xREX?H&vFO2kw6hIei?pbI0o*brRw z^-L%PQ*P^!KM58;{Au9GWf$kP?xY#rXogo*+(J(dKh8*~3qIC(02|sGz__6Zg*hfb zm_ueK%u&7*=5YSh?(KYP9s$yh(xsUTaR?LVLciRF!>{_EW)fVml{?S$B|ke-jN+a@ znICwoZRW?jUFOH5e=$G00P`cvc3*Jks9oh+4{9d;@VrqlPc1cNyO4%VKw;H4-l+SV z>mh~#wcKa%0mMv4J~7iVys{6ByG?e--KX{@M9w5E7*|+^O^6S}C7hoq;5y8@{2-mgXvIJ#rh1heUSKHuc6 z5j{r!gqy`u?1z(~Lh!HZC`_o1&lI>ChAu=^ep*|jU^WuUWa8PAu&5sQy!6_um(MP4 z$W2=U=rC43sx3KW!xVD3O%ok%KEUDT)J1f-eYvc_f#WNl=D0ff=aYReZb`qm;%x{E zapnz>)m0F(y3$1Fg)~4`ZwR~O<9k+@TSm_6E&eZLbpSwCgRH#mFJ$$`4ze0#Y=2Ba;qOEs?jsu)FfRnu@Jy#&4{uB8;r|6fZ$xH z^(ZTf{V?x+fB0nU%X4?~7L{YOBX7Tr)1WTgI-&z`x>$rMHt{YXq(|1PPCE%{U|S=0 zlK1DUJ70U!*S*lG+YfIC0=Kp02-e9U|08ya97{yin*497HJ3 z`ZiP;8;FI`+5GdFmoHv@X%kEL0qBmtcTxm&hfuDa0?#{P-#_E;WI`q-FC@LfvPgpr>T)@f#xSeW3(4gTNuHVdB)|07ubNCnyr<>61! zPPQ#0{B0asM%8`alL3gQM!Ql+@|7D^d9cl!tb`a5xCEJHTsd(X4i_U#!%IH=Jq@R% zA;{dmUGybP!>RR?{(-f~Zsl*g)}hn~isechh1!cm-itF&mA*eE`^*$7RTo3IK!9?v zK~Ro`T`0#gfyr^>sWdZY=1N=%@h&cbco!$_YhDiB#c_eVxL+mm!X`kihdG;Wmq^NN z%?dKM$6I>!IFZsk1A7?Gi{{_t=`vz(A{2E*dIw<_Pig*U!@J1qREfZ-?g=! zh=8-sZ>?3pYsIWX4qaW+ZqwC#0%qQ+)$uQ%@eepdN=IioKy zY7-wa_AaQ;w24ewC>|7B*4W#|E9YWi2YTC~4C+ipYc`C-OovH(V4tcF_J{reALq%+ zL6H;+X7`U=@&hM(UR$3Mt7dzC>kcWcLLfFWImH%Zh~;h`IWIx(`)Tzr^MUPJzV zlU;4KQ(^7rS3Ml(P|4M>3~AG8dBwK1)r3q3S>B|oybqs8!VG+#j*e?`RP-4ninkvc zeo4x9yZ!iTA{6hVB4}*N%m#|eYeqh`|Ch!l)J=&iU_%nOikg`O8k_XX@oY&r{yQ7y zdXG`h6M;*X z!sJKtP`yryz@S^6iV#9@(IFUb4e9D25L68td9f;D zhRjn&q}I3$>KnLHEYrrZ+T>NsjpI!iYM~#B@6)kKer31R*H9H(GoG97Gc3#DYdRe= z&>`;@>0td)YlQ~1B8Pg`nEgn7>}qOozce-9KCc2Bwl){(iEnEl9*uNa z$du3!k4=M?WJ0^o_Z4dQRp>?8_FPOfh<>Q|Mb`qE01D@)VP~+0D0Y3yB%H5(WBI1d z-or=lKOVgeTk1gqmcF|stG#qUnPuC8oD22qOyr*a1jzi%)n6{*t#QQL0H(MMZB#)iJZc0u^e318@JCL95rPv@QseQyUZnH& zW_Ze@<}L*2_b*^Tzke9=NACB#JmW%-R59I5cUR;r1{b~k-+#O46&2aLbI}W69l>|K z3`G!cOQc9Hn3lJ_mN5VrU_H2xVAC+J99moK-7jjY+wM<$1bWJ0w z?VD&98M&Y(fU-S32j=vpAX!Rxw$GnrVnQ<;uotATUv-E_yw$2+OH}0;`IXtPSG@Y` zt#(m>UelY(5DM@U0R`9#Io7uiZ1>n-Kg}Obaoze}@kRLYud^(cUQ{EKfz)L3&`2*ffobL=4&{~H7y4d>4(!5Ro@n~e((BUy_vl;d91eS8M44f zbi3`>OkfdWQ_iX6(U%?w-o3=TBpyz+zJ-sRFU39C~ zqezvnM&!N3;S)^_kJoCfx2YROMCwKofw~bzq;BjU&ju;ZV>Vu2wNdn+PPAOQ*9Y2S z<0!bwOtH2HH7x=x0Hugc|5&nk(Uo`__}#}D@w*uplOG|N`qPAri!aEyWV31yG`!Q?~nVlVNsxl;~Cr0T`m4#_o8TfW9!<`nnjLO`OQkP znj~qG=#%1pLi{a_JUf%HLcd>=u&FfRPQ%JtnwH~l4pAS8n+R0E6O_#zL}hb&aB&4u z*{m5Z{Orq`%llob#!VA7+nbuNOC+W-n5q^O-n@|^NIQ+18XwS{l7kA98aGiqzI^#z z?k>&mF0JW9Hn&*1nPoa;nJMmR!CLw~k0=%M!Eq4kHUOdShf3SywxMKVsJj*lb%T}t z2ncmIYn)gSzJR!Q6@KB{MI{SpSP)sZRAi}j{D6EFA89rVBN@C(_-)Tv1b*x#@N z?Dziv0sFsN5Ep|L?O-wJNn8v!ip^^1|`|3GC!n+QwK}dM7 z-5=JXBPP6Os&Zg{RWlKu>9T1I9XdLvaLjH^Yi|AQf0f8rwZB>7goho0B@TY`3**{-95ik#R4yj^ zn|A^*)Vlw7%YV^Zm+Uijs0ZNi{ddd%i^B(ce)O-NKSl+YmS7K980NbyjAAZL!dOg4 z_rFcc_m|;Xh4ZZI3sv3~D?`--6iI_mYdmYjgW`_HJ|2Az25wkl(~m@lj8VC* z2E5(yt`rAsx3}=is1phtU&H^US!O(txbM}^3tV6>RE14Nn*3_|f4M7nn|_7eray+z z^v@pGAr?pacv9x~&ZPV-E0QEXa(XfvMR08$ci}3&Ll&})c*#oEgcir=;~h5!*lIA= z70NXaow}eY8_Y6MiTe&7u&%XGU zgKQ4HvPWbvO1YpQCYq^Lw#fg8xrc{b+tAPgCQIKml^p}q<(kMUSf%fd#f^tGACQxAoyP8SXf*N(Z{JgX>$u{LHIB(=U zfxDGOL-IG(BBlcHcd2LBhH{|cm|_s8pfZ{jpg*U{u=nt0{avgxCV;^+> zs+4h1rL3*t|9CL3iQ$U{-;kudx4g^wcP{Rm4uY%~2c4Wbh3>jNdKRZ~<-&yvZr$2w z6e}{c!zA88foIr5k!G?;nE}M{d1~$-;R&W(yzutYBlp?0w`60M)Jw&U%v*hyhfhom zEE$ceRSi`D-FkvvxghUb{{D!&u#CaWIAdSlhUy>Q?`+k^3pC0`1pmE zq%Bq~Cc^Z$!PxV$%BrXYjTHuBn2p&39um zd!R)W94w+JfW{33Qg<|NCiho=Y23sTMgkRP@X0>YmY}~We;VVLXHKlT!>iJxsSBS^ zSY0Z)tHQIVYYw=!^xrd zR_?mowj^*&!NBF#LQA2?8xm<{c^pl2xqXA}492#!fhdlP1wXJYit{udD878{x5P}= zPGSb>1Jw`iCm;~Y6(KcFr?C?Vy)$v$hP-V??OaT79g>bQv$C~BdZkY4?gE4BZJ%XcthsgS)8guCb?K8X&YgOIW90-TW_Th2rgIB|^ zFlXnie2V!h2=nP1PLUV}L76s=27#@M={Dw zP|WD9>5b;VI9qU8#T)@^gOs{3YRhv<2XcN$`l$(!be;1r56a~5FL&FLgn6#g>tnjv z|ADRL!LnAeSLr>_2_ylJh56439yuh?;UKW(|4xa-NAHnaxO|2)w$={~-)DWOF1KYm!}d4ahKc3kv*7^b5? z!4q{(r$4!BPatWpPU@PT=4*`VN%nx_@`84AIY&s+1e=QGnu<@ZtaiipCsbiTunsd~c-+zv^# zt-}uy5qA+(f9rBU28qf)7VP6{qn2-f7iBT`k}(-m*pGYn#!2!_mY$1m)ZU}A*Bd0o}D20^R0Bh ztA!koHhmO(c;Bn+LLo|;Gqcte{^4pCiX)!Q3Uq_zp~*9joGjrZlO3z8=hs})R$oLU zT)$>nPM-PAn#r`!x4U&TU0CU-%8S)4nz8|rDI8UAi&pmqp$~B-@H6~jJk|I2x34%U z{x}gDpY7Xm8XRNw`g3l`4=L~?ljNDyF45}IC(FnrZ$mM@juD|4VQVl7nnS%rBIZkJ zPO;MA@@*m}KxYw%n1m||l^r7HP{X$=`KI8NNwy6Q>`9>C=6kA$3U1wk zf(+7@+f9q>^y&T=YAPZJC@|W?%qj~+<6HEDAfTyYx{zD)iZR3Spnj1 zwnZftJ+H6Y=5CS)UL2sjsYB2BrsMEP9@6mREAd7er>GlSI>ioYU{es{j+X$>@$}Y# zFS~IUZ6mER0hw&S#of4z$1Sq3mw;bZzi|QV-I0~77MU5N@>_*|UhexI=cE+KjF_nI z1uP8~z|vUOWr7=0Gy5`t&07{ez;wU`07^0t0}YR(bEk3exQY?!p$fZ?;ivVT4eyj& zdshpXKJu#~?)WU}>!GFt+VR1#Ul+dF$DXJf*15jmnx}qnc7I%ApGMDH&GF_qGfRky zd2-`8-YS1##4sk<_v8*0v*Ev~m>0=8Ha5T^7^&GiUjkAnrEJ;TEV*S1Ar#3LDq%2|$i9W*j%?YIE!nbXuY|H@XKW$N2u%$A-k;A5QQhbJ z`vcB7o%?Y&*XMm*uh;X*G}?TzRSn$e#OqgR!Ho{DLb%a6{`ZaU2%D^>2MJ314my|S zi%YrA;9-C%))a?I%^8GJ^Bi1iK2Ah$o*e6l=fP2;DJcg4i+?5?X7OLA^?Pm+380uT zsN)F{)FDW|Z}pe8Hb!PW$>EsgBw-nFbt50M^Wi?VP0+tGAYzI_M9f`r3EH@73MlmoeyS~G1niGlJGsKYtmuS~1nhbqQLAtw_wgOcQ9gnGyYrhSKg5sRS`Sjxne0Jig(zPf z!2KKjiTigl4*|IUp?k{{sa=%_Wbq}e9TA5q9*7QgBUAqr7Y`cCQkNRS)f+Ut`Gbxp zg<10N7zyjHI=s{h#b?02fDoT?ZH(Gv{r?u9p-#-x&jUBYM)S*EAYHNQK_wWQh>O%N z#2%U|%6ryZomTBc7oN^>=dPwW&rb6w+Y(1d4&Yg#!jo3ENi${RVimEvzId~=FXGD9 znQ=QN9IcPd!_n9u;raMyN zbUTIrC64S$J1|Sdj`}`HwRCbZ_PUo#`RUv&|sV-w3v2(15CDuDH$2U!0l8o|?6a`_2CU)Q-U z;>n5(;m+jwzjP* z>2pcAR-hUm>M8yn&lWMf=IeNs2n_k*^)~6@WA@t;WQlDaW?|IR-9<6SX586|u=Sw! zEFn#I$NuEB-68IO{qN9i)F|&mHOdMDa8!J3zWVE^xFvT(JSzT{yID_#Rs!z*`Wv|$ z!b)IE?j{W6ZWbQrcNDq}XuC-X^uf$N!WVS-gqBb62d1noQk5Lwj(|L%tTDp=|g3zoVcjl{6x4*-AeC*mA- z_*FFF#^`Vj{2TuWJ~F=9I5N7mRvbNg5Njds?Yk$t5;xU5CyLc_`u45o}6_{IENsVhr&6#QI;cYUf;pr z%!&m6B@Y16CjYnuL$s@YL9}c6ZiU??d+Y`CweH(e_H@@bW5tayGJrS|^B3aCr^itz z#WIBl6G5q@*CAW2))=(EcB3?7_;4|!7YU@zA|h$ieuK0*arcZ}xS?@3Ui*$2M8b^r zTAC%0FlAX8@x3?51(w=-O8c#-YD!2_%K31@s9Z7lFVf9r_O7Kc3&#= zPwD3D+ik)b{XM@*m)~9eMNsOmaBB;N?6^&VwVSyv7GQdq&PEuL`Pv=d9OZH@gk?TL z_6jEVjRC+=A?@V5MU82Y_SMU>M@y|$>1VnR`BvVDeD9>O^W={^nfNqiM;-v?I()Cy zbNx6((1!Xa9^@W1d`wNbR*WBf1n!ORr*aapnmEV)n208!zY&%w?VO?a86}QmLa+Vd zpl8`|&}R_=+Uy_P`n1)O@E0pF#UY|$y=qETRi)t~-(YPIq?lh>QP(Inmk-;>=lIXmHb|=0{)Xf-^j22Ceip1>Q`n9kex&3Q_>l+`Q@U?KK zigKPX%4abJ#02bN5LHpknf~PeN4%%f60G_UlDX$MopB*jq@kNN=Qm{ZbnlSo-x}M*v7DM0N}H6MYZ+uhdjjm}1(9{E%x&c=Xaix7XE>|%Il#&b zcv!%3vhL$~Gg7L6)Zje!voX3k1#PT4N)PdWmw&$bfXYmy$TN>)JM*EHt_a@Lf)Px+vA}A zvS$eC0S|K&80PI@nEyodl=@8i4T5QYwn>2i&ZalkZUjFi02-Oe!jPh;Iys-o!0x{ z(>iWP+x+HfeZFfOJp0EnSlqK`!HsWO7b}?UW|@>zJTha)Y&cb`Rg5tM?1hZ-TM&EU z-F+?#>=B=FJ+bh|WP#)5OcI|T}H!&7EvB9EqJ72 z<7{`#HxRv-jFKs1Cu_wSlKZ4lt?3t6_?El606gOmO0ux4PZnf@%%E&gUOAnnbiT6? zwP)VRtQU@m6Z8ngj!K8gLImKtVkRQP^o<7Y$dg^aK%NfQw)S386etat~W=OUhF$U*+3Y1$W?)%83XL{ES-|=$g;VRn77t%iUZ3YAX z6um5FI8pQJEqj=huJfBIHEepAXaWVE7n|6gXq>G-Q*=|54$fa9=k&? z|BAE(RdB@XnWyXl@P}bhYh-2XmcAgEnvS%qSrHDDYPP#_irgVaft;D=Wh2KcC1;8A zQrgNk$uSvN_7V3?Ow0F+27N&?DwjIHCU@LxHdb|VHRy9v@&?r+BDODg+d! zvK>!Fpq^G_e!eHv<7eE}UKh5T+P8nLxM})V`Y$Z0S9dyPv2rG3`{XM zNfNwlDj5^K`KvOktJb;1a<@~ILU5&FR`v0CEPGY2rf#2qO+7ECSNM4G;YGjD@-xH6 z^e9f8cWyItZ>!&;TA*Z9?j87d>(F0(V--ULADGAAd|(^VLxK)W*cWkxzMqE_olA?N zssf+Y-nIZ;hy&=twEN~BYq1{ABi|u%VUFoHO{9ri1Vy!(w#7S5adX6?r0&;Tf(;Bb z)0ZnH%G!O?$-L$SZyKtO-uOmEIamJR$+J2yy2m$qYmZYNo?#RU5y_P6$wkk`75j~S z#FJP%qArow0SP_yfF<9a3bxV+nSSk^bf!(+O#WST7z#*2|JW zOJZ+vZ}ci`^OuB~NtSBhLj}MSCkJBl6;sCrc7& z?E_yZBgdpO8NTi3J*5oy*ymVxO@FJ5MWl#SR*C1~jDK$4| z>3>=8<{=ZrbSe-`h+}49+K_FLeBgT*s7|0s3tZ<)0B;dR z0`)(_D%a7hd5X=Is^C)8*iFJ)KECG!PTGOKtV%%pb~>Ky3R%Ps#!=i?oJ8$3p~ zmEpl-d~kL_ivrLMH43_+GGS&Tx86`U$^}eAx3wXK z=zKY>5PbwIL{(+VWn8o3m~5Jt7HLmp>7G5Jj7V9f8oQOHck;xo!$;UyaGAq${wO)8 z;g0s4dqanNkk#ec&Iv!6djQR zXB$GktJzvl{plR11vVdob6nU56&nz}Ve^@-91?ytE?rrMZYUle@@J%L3@YI$?-cQ% zL@o?n=_trPG8?VsBOv?M-;C`p>D{bWK_)A&_vD8YDIdb?m-=3hAlM|@2TY=RG+JL6 zeM8t~a-N0Wb}R@CVNlrrivNYLOv+1gFLThlR~caYd+%Ofv4`np4E=+RWnfbhgs)Hn!FTnXWc zg@n*Iga~+I`8pFzQ+}nX@T)@))(=<>9%*xEHoaW+5@WmZAR&>y6SVa~Lgdr5evX%@ z-0~oqhaV)PmpaEiMT^2yI8LNASsYM&s`G1unJY6|br5-|fo-q*QKXl}L>Ef#8A`pQ z&=q+4Zh=fQ(;uF`6Ap+Uwd%k?cb$M}d@;3BnUtfSmXtblWgz2KdHxNj)r;>}@6cZv z=f15eU4(vt%O4K;?uTc)gRbDN(`O5jmNR!-iv@acm|es73(=^pfAVt3n_;#>)amT2 z$XEm1o#EDlgXa>FGy1qYxdshIT_#lNYehP)JnTNgziM zJlAs)pGU{Utqk&aQ}@fUnr*T9JcVsO#&x9?OKHBa&F79&It8%#M2nvie2#qu*?hQm zK1u%d?a+i1hipD5g3U*fX!8-3u>=dou8-RnjPae|L2}3X`sy9aZljF{iOU}kl5-4t zf=I-neWu?-xJgDm4k6D0uIQp1YY;C=G4+cqe|Hocr86YzGwjdWlKp+~;Jw#`r>slD zvOV^3RXwjXIfs~vE6@OfCFVtFi7EXDB~Dw25yeo6A%glXD)}}*{WqTO5hU_%l!Dc1 z*|_#F?5^y1-9ZP|m#;B?{&q2qjk-g-qiQvgHc^rXM?xPC`-@-y$A?2RPI0(!9&mmM031560@brW{sVwR zFSz^b7-fO9%=0st`Q`pD{;X`XC*x&RSj9lR;qy9#D*vW+9R6-#AK6VvJ;9YgHE-G9 zQ%~<@wCCW|lZjYBTmQGyM~dI(dL`cc~pfeY{CGV{DM^o z$Crh)Q@|`2rVV~ZHp+LWZCfyY`n6!Zrd}+uYFDqNhwRhCr4CoPUa64fD!`EWMH|Qd zbKk78)K%OdXV|C=WzvEjwqgG_NjcQA zSvU_T8%*PJ;6@3tYo#l9G?&`yR|(M`7LTXT_n*vMBVHrhH?EOSeqAG7-eo^1l5|Yo z-^Tx~lzDT*=sMT?LSELjZG8tWXSCjk_me0xyPO|&JZuX@hoAw3Av&sW63yNn!0Nv7 zIEZuqR-HEmNdvM7(tuyLNP;v#&kzXu+yb!2zisX6zm#R&)F>?yYo0=ju-Xj&|GyG zG|*pC#*~X=#OoLbCWG2FO4{*|R6w>hXIio&=Ou8DTXaz$Rpy9L*!X6!QU#r6tZf2% z2v`LGKbcpSuw7Juw~N2?ldI*7@mIR=V1IcA>@PW@W70r+nWb-rF*GtcF5l|*U((B_ zBi};-8fd+_YyFt2_!-dsv_^Bc+n8P`^j7tn6Jo!lgdR(=d$}p|Xu#t$j#!J=RS#N zVUzNRm7BpU_mXMsdp-BBwz)HZYRne0eVw>_cGzA4ScZ?X#hp0ln2ak)>6@wF=@I`3 z;V@dr;*rh#Q9%l;MA{epX+@)+ZM_shIj%gVqA0_IU_gg;g{~KP97j;FPK4>pK0Y3LW6VTOfd&$H?vZjN**4C*?)i0^sw} zsHgFeOe9%sW>}n302!rii>lp{T5o1mjrH{r8ogoYiAXjdL4aSD_?cX70Vqo1~~Z zcD9Pwqg;`p{%%4xNFLkv;m={UE90Ytk;v_f=(2BG=g{z|KfAUIKdz>G5@XW^m;2;ySmX#q>(OD3}{PJze$Ao+0!=7NyNwg=l z)>iqIHrCA_QhfGhYM;uuvV*;|6OV82`(9BYfw~3py^Kfrm6su1P%a~W<1558*8?-A8h#zchf8MH#sJzba3P>5LDumXs+somZJb6jqh zBp_$dxbxqfL6qcrxJX?rt2gWnl5~u7M)R6$c%1Y!TZr0Y<{>EamQ_bPm<|wTNl8Q6 z@TyrBE?-@`VqXkdu6(#FlJUH^Us`wHq}0Cza_#A{j`ic%bbo0FLeX9eyE`#&kIuYy zS;T|}J%`T$5G+=fXgMug*k=GN!$Niez2EQ8)7GkVh%lK~b=u_$dgd48Yb&g(C?!U1 zd|t?3#a@=a4w-`nfjP)dwK5Ou`@1c4cD24JZ!WfF5>N zFERdzP!kw9f3Ru1;T4K_tV96r9!SIf;_hh^xqH7#{ALo;UWzWUb@6wDF`pogU~3b@gRwA22kT6xEc5%H^aYBjc3En zz@Z7SvKuL4x**Z!Us%~cQpAq#9BWS<;^>sHqJyxS;o0|^aVEpIMZL+0NwrPo--en& z=)<9!s{HtDG@l%W==T6=sS!8DdXkini`jS4$T_>wehm)RtFUE=_>~Z9NisP|@H1$w zD%QpfCMQ}k?f=cs(0W~cX7Fey_zCW}DjiIB&a!giV3@a?be??VNki+z84B4G_I<^R zV#JNRg`|l_206&cPzsC;dv2wj6tUh*#StL|Oa1IhT@F|o!ruXLkX=afDr^_3|790? z$`W!cSz${m$)D^rdLHyRu!~|CWI}!Ee8ACS6O3Y}m6jp@Erq=r>?|p(E?QacJjf6z9ik(`rH{Jn!TB?E}ruh5zTG@q1n%FN3$nVN&vW9`GsMbi>l{9OFtd7 z^i594bVa&yW@R%R4WteB0%g|V(c?15$y*NrJy3b?Y*)6MLv}$8fz19-;@D<=p6>-F zx4PM&juE7crlXfx4}2^zc#v1#fj>9dNMBA&8MUc`lu`Ib%E&lBI#@uK+oF=JknwMD zSy=#=J*~_S!DSN6HGOLvZnzk`=&ObF;tm5`yTiqW_L?OijCImtNGuPV+1XipNLhl^>6YK!$Axi zNOmrI{y?Dag^}#3?(f$DlHEq+LbtS>&1g`Cgw<{2N%VwS$Do*+@WJ)5H@_p< zW7e&opo9R6xAyM9@vH?)@rB+em#O7VnJC`efROB1T#$B{F`+*b1@&k2`mY9stm5ZS zNfi?-tT|=XRb=zTJ^f6nxDQGg?CD1`X4GKm(1K~`Ag|fYJ@4zj_L4A2cLl?*J)3o2 z~+Uwlymi>BVx7c$N4@lL=!+yRC=4na(I>t3NiypV%S z@12eUz3oi)>kBZGy%iXWyPROG>~6w@i`$rRkH{Q;!^%QT_Je@QKIAuK%}R^CR5+4b z_;porSvE;DH?G)m0HEPM_kV6xZS3fBe~h*?CLQy& zoD-w}t&Wv0AIqAHmLad!XH9as2SIA7TfA0?MD{**uy;4R((#%p|DizjswA?a671dg zRKR<8o6Ws@+poR5e@N25^8hT%!%&aRYyj_`&_d1*6hwwQ(m}hytIhLLl5bId!{5lz z$dxml01O|w$eVq&r3pa}1Lx$6uC!5b&1l9LT!|7cIuU;AuzKP(gaq@x9;`<-U~{<0 z`4wi1t<*M1?yivP`8*xZcIX|GVX}?2PUw~7$DHF=_>RD+T9yMDz@pOYRvdT~lHV2@ zQz4CD`R!+;i{Fcc6L)X-4*A}$JPbH4ayvfv>mlvxOTUAS2pg(vMTgi^eN4aOPJ`NY zJtNjlIL#8^$!^RwJ89QPnSdwjtL+cZwRzxVIRIXL;8rQxtX0p-jByL|w~c96kX-x* zrF)vTq_y4tL&fXJT0Yn{$>EvO_}_ap<$V~8%R`sVrd z2!zB>1SqLq#l~-zR0-yxh>4rp5VDqoPk2gHY=Gc^cL)N(jqY}xJv%ZPa~8(c!rq~MU08D% zva>!oNO=fXY)Is@xoz;-Oi0+<+e&4&zMR3tgv~=Nz&x~(%h{IW4F>O8$ey<$sfFx$ zw#fw>_B?pV9o-mm$}^!Bq*3kb0Cf$<=O7rLj%DUs#%H*(RA&+e)JSbSJ@FjWwFd#3 zEg2GzxDv!8tTW2x5nVdL4~Yz#VeDhFLKg*ZAdFt=Mc(aF^{9>6JdzI$ye}@so}_!= zdnIO1@S6>#Nvk;U?8W5zi^SPq=@j}Z&6H$O%zGVp_B_>?O|b9!titPQB9+Ase}19h zc$|7%;nex3k0%2PL(bJv(qL)|f~ncb3Qx^1Tc@T(jxl_bmevM0Y1$!Z)=3N7Y~G{|&izZAb=3hq z1*GpL{tabPuPg!PA)#Dg9;zq_hs;ACB2?I^^?Jhi>mrn;BUH~As@3I!&3R1%?NtlL zvD<4&RNP+EZ5jfFO1ZM ze(w$U%OnjvBA&nzbZOD0jnr5TD8f>{NcsktW>4$52tL!!z1QcO!CqW?{EQaIhJR?5 z8^AOQ_*lf6Q~?Dty=N-2usNh6E%}#!C>Zt+odW(L7mx@!j`$)1wwCUEZ8o=Nvrwv8 zdVM|BGKE=U-xr>p+245YQzC_rG9`a9Nf@_Cu`z)6d05-q*aNyRx@)?NY41qXx{k69 z`g9yd~{`HW1L#T38=&v&-yPl{|+h z1JIPMBtV+7H{bPD$D&>p-0yoy867~-V#w# zQ~)GJf(e<^ztVG3O=5~31u0N^F7T`hl%C@u4Z}J?j z&^m{eYY?kEBzrihz7$Y2kH5Wlz9Y@xSl0Mw=c7f}^7xTs5!Q*nsmUz=Q%wfny?Wlr z9Eb$LZXh)%_(XRVvsN4`xHytgJzN&MxxX`Ui40zeX)!)%m4~|z{6x8QSAP*42f3)t9oL4$zD`O{igttR*6chSpYL09 zQoyA9%+BwATKdcgqghPv6~}$MLHx zKM@B8ej+$YCFW_7t99$LrCyVD>&JkO(tZcTa4`l9myFZL(-b)Nf4i?^C(DZjh6O+} zp06*RZS@_!d>%B&(_KX`A9?1lLTr#{S1}N-Sp3qara51rD^}->W#fi!8vn%fbs#TQ z;0|bibUG($by*uL6W5iROkplxifxEZXSp;}?fCtWY+CqnzrTD7yF-4Wp{;(Ru0ykO zJ&X^2^AoXH%PE6jW&mxR(YMV8&_-bZZA^xtjZeKc-3nzwd+>+Lv1C49@nCBab_QeQ z_uMEBGEURvr}x1Q&g%Wyub}M_Il)iVj%(gA3KKzs!I74#pq^_~ZQg$DuuKJy{nhZw$>olA$Jg(`DMSA9^K zLlG-;8Jm?kjfnm6osU7Tf!b=2s_RH+fq>@s z^PM)|oyB|IYO6QDhyP_}Jx4WILAs?LC#^QpO7`tfRAB-Y7OZ=H3y-Q8o<6tJu$i&s;oGm7jCDC}w!26Ll@OzN zWpssoLrmth`_V2@sF;4)y7}VN9G4j>g6{4m#PEK=Y=O274ZRSvMQCH$BOnTvJutIn zbJ?SN1|4>v^(ba-(p&3NX*){We3WdVK;Yc@C%sJX9t1I+-T96wC2%hA{g>DLd@A55 z6rcBOij}*x9q1mwQ3z)MjzZbA&SNE;MmriSPX4ei#-M z_2A5M%ZY*_3NF7?YpC(&!HNzzLRB+GtuzwOcr(mdtC&5e3Df$f!UKE_qg+B75=N|r z_Now;K9Gi!5okCym05a59mpBQ9OL^xo(kwLKl1{Ysr$Oqq2l5yBTSVwo1-S$K40 z7UHtdZ{xB!GKPH}N3X)Ub7DgD)1L{^#-mbDLX@?zTo0qLDvz;g3|ve&_{Cl1BmaCu ztcUB!4?)V$H`#@MWJn9kzLUN7>iG@O;CQ-&q@@BS|P`{c_|NbEwdw5h3|yI{!7h?RFU$`E=X^kusTvhRiG!zb66h9 z*gG`4fnu3mt+eTBac%(}+#qQ;v>n^P83%M26gzxYu`+yrv2>Y$;0I8X@_gKg8~z&0JXmip}7 z)*L1e1IS_SwwM24-3m05Tgb;L=g)td=t$c>K!FN??YCPAqypG_D^(|)n%jaiRHoSxE-a=C0olB`h;Ot%t#~ zb5~&)1*9h`n3-Xtw~+jco+$S5wJdL!m!KAoFtr*wgg4DaT7hj+bdW>yx!UDS#xtro5Vs{Y{zMUfZ?;Rd(lSuwGi7?B;c0q5)K%Bv#rg-APrm zB-^0Qh_1kTz^>MjE}~*K*n(tRR5M&}@Gy>SQ^FT^04dv82OUY`T%2o-e|JsesSy&C zTOHPOK`;6shxLqKalFhn=2IOeq0dE|#~ADSRZac}$341c|6 zmh|nxm)zsv=ZJ4r(rW!!0imQ-xwWJfi~CNaj0lBY)8PfptP3eQiX5b^eg~&{gSEnf zfwl7p_qjlw2E}oCW)p9D3M)BAomthTG!n&c$=Pi0Jr8(fGtBpfbp^_^@FW7K5D$q= zsYbm3i_6N#9ZwxonAbp7B5_A_aGORmf;mtwjvj9@;mMpHtWke#vMmn(h2#`I;{u!0 z(@$-l`>wV*B!{JP?QpZaBzZ5{TUi-VS+HLNZ|IzytxodQBH8YujO#b~y*Mpjxqbh5 zcV{0T1IviTjb#Kc1%hU-pV98lCFaR4Pa5}o9+Hxu@XryGE1%-mo`XLHX)4WO@ZXQ% zF1{#{_>v~hWo0putVl}B_1aR(WVgs8L}oM1Q;mQ2R;;>egtdhB%qr4&&Qwy(#Pee& z>k@zf_Lxd4R&%f}imI2I(UQTF>cmc4#nr5IuN3cU(IuzZ)BD}YaHi-d?sV1WW;R*Y z3Pb4gF{17LYhH`>Oac$=@-Fr~VMV=sYsrxO-t!>d4(RNy-6=W`X?+xpT_e}LaKoVa zi?$GP^&KSVXx-as{W zdCDnETVp8=3bDHNK?bf5yyOl{8|@9dXclZ+;QIFcfGUHWqaJ&VQm{A0OP|&qr2>pU z7KQw~^ljtA^?IhOXhmK5-j0OmwiLTbD|0B4&PlyEbzqz({_&5XJ6QJmZY|?h@j!=+ zv<}umm3JH+TsKRsQEqW5oUbPMDIQGP%3i%ZgegMZ7ECS!JL=XtHmg8vA^qffN5Th# zG{Z0nn;+DNf2gdXC0ck$`#h}TKrL*D%zgh%X=GM!NJr%{#Yo#7=VL;T`H*268RMRN zk6%FW?8uk1vV2w?J1ml){$!`e0g;>GV%{a^yLSe&mK+|{_o%a@wbZga^%<9-R}igq zN-UPMGU=pfcr2IcUW(O6jyXiZ3oRqw;dVhJD5ciz=E=%vFs?^D3Y$fb$d=&9ZARSe8^Gg9S~SH7=~%mJ|E5?cY5^xZr1e^n@3_hxX7%Zv zS5mrt9?Qz{fbR#w5 z3-m}=;M9mFq(|Cii7RW2=f*CL5p9i9LHC5~LH7@U=^l)|ctZd1R0{x3&5R73rG#j( z`DUgz{H+38X|TRT8tg2A2FnK1V7a>rg(y5~B~kR)ix#xd_9M*$KT@l2^5x(CNTkdMg*A}p(27CsY;L*hRCY8oMvSXBTMK?7 zOs5a&JNJp-8XA8&P;751BhIFeSe>lb>Oq2fc=~XK2NcT82cb;gDzPU!n%wRIvL)k# z+d1-<42B1TXLrW+^B%6p(V?Rv$!cFI48{6xT%_?LY?VwaK zr~>jSNttzwsHnX<#z5BZ*`Ikz#kV){l~=u0W9?4_3yYS)T5LA{e5tKBT2;ThPA#ps zA;@}n?5=(zg{R^5@09uzue9n}Rp z?K3gU>p)g~Vux4DSl%1NT^EuIUXxw!JGw-M$Up&cB+b&ruq%2vo4arYinr4o2 zXC5WvxF_9cJ6H!1mRRfu7@6JD$`tu@UR$h=0A|Pf2-u2%=qm+hVodQFoIqb;zP{st zsjcrUk5xKlz!4L6=CO&OU9CAN2Q=jlT;qsP9gF*~c7=5an=%TtD`NlBu9(A15y}tt zp!{HTE)nGZ%ffwv??gKR+6L5*7^WFD~g-VpyC#vi2SLwLE6IY_xnIqKn9Z9F> znUJwHlHFf_BAy{JSDMhOr_Nw+mcB%~zBem~SeP4DvlhVaq}q2@7V2{U^BiE)Z5?)E zJwk1z+0jfBdDzaMi0YKQj(9$^sJYXdyB>i($qJ)m*`;Wn!PId#|Y+LMG07m}?7znHZ z&rqZl6_KE;@xX3m6i1l2HGHkNZPG30bGai)TON<@WAWTmrYXAb#S5ucN~?n?skNe| zSUx^WGiN&?yau|8&Po`Ok^1jgJdePWQ1(LgkC{ymZ=iVk7(IU?c0#gbFn;Ukj9^)^ zl>eb7UmN`ugY*#lh!;0Zi#fnaXyM+Hup4!`ls}&9 zbz7|Fr-D|BELOJ&t5=3k?gJJq+=>WpQ4(0-%UmT3Oa}(Rye$SnHrOC|IBI3;>wvB3 zo{_7bZ6`~48G83hz1HL#Hr|6$#@d0O6+peJ5kkjV*BamISq=kOSZg)8tytJ;YpIKy zswA*=w-$ce&XsI^8+(<#$ms-twl;EepC0>oY8FtjG}@AIx|l{S2nM?k3Bh1h6D?zj zswA0rj@AD{s-*eOCbmb%pH1QA$_sI3s~1q`^Sx>SX~n?JS{K{xzr+WVR!k44FjaN- z{fKCI@4i-hylQ~z8A=LTynAn7OO$omj+HzDYYC^f%DsC{gTIS9=@9nrVuZcB)t0G9 z%%RYzXTEted@qsTO?kBWQcL4V)th;G3;kPzd|1wIKLNb>$P8@}_2;SHU@ax?xQ}Bh zca6?domV(nHssg|wHb2>ZN|tpp+fSELuz)EMl*7sf1y?G%Ja$AIT728aui5iNC-@B zddF-em(IG9?bU0Klh$s0S~0z+4d`K267Un=zEp{;fzHbiLamce-Kw)4(V zpi1h7R7p{iYH!%lbJHtf z4qE!AM$nQBXatolZ2rbg2NSpn?BX}L=|Nxu18zERqLb-;(7dp8?l{|!%JTSHOPHtVvL+MLqYT-6d*?w&OS23{5{O-9Vx94*!EGGN{ zu?zlFOz1q%g7bb8e*&k9B{POqf?pDVO3>&(Rf0KH$Dk2hZVo<~?4S{B1bGUNDW@1r zYc)b6IP)yib&AM`il-+skZN#DB?%slT9_p~VKhd8n955|qACe&<}Y41U8ICDD1dz; zyB&jKN5r7y0}Kk&en;#}r3QM0r|Iq7W1q?`Q+n2$6XJppu?dlSUn~v278Oi{3tG|%dAP*=ypcNpg$d#(7uV6TO zIS2RI7nrl$mI1nBic9F;#$`0Hl?ang$4vUqXZ@*4^4a&!{^O48|F~ll?nCSVPKX`A z9j4QuMl}^f86-Lm0Eh+xDbdloIPuH=C15zKeSVDHi`=+Ko{ij z7Ii{9a+Ox*qS>qCErx!PWjD#G>r5k*XS9J*gdA3iL=tY$obO+>tX#ksrDD|arOgH86qK|TTw<>i$@rYEd=<WXAuO2zYl+DcsJ z9A!_S1j+-GU;7EAlmDtiWL8Muz}QcmaiG1%E*GCJkY2X)ZkNHRAHTe|Tb@_X=PJsC z3IoaX5a~0y`cq=P@nsoSV!h{0SR|Rs-f^n%G{{~#Crp+5zFd&(z07g>Rj1*qFlkhb zZoQ3ty)K!%)9jDXo(#)QmFowRr1?^3^^-0nykt1MDFL~_mWtjo|nGY z*zEDj40gw_rBjdYjeH0DoVtQAr^#YbZS!k zqBJ}kbF57jaI;vx+ETNkC#fj#A9<2)z#Y9SHNM!MMwsWzi@;%?4?~3?O%aJ}pHv zaqy?5QOAj58>4lDgFL~CuQ9GPG_+LHTQI#(@qT^Q8wAQ-Jjpt0b z)j||2881CGmBAV-BPUjv?0Q|_=qEh5W!{atF#3Gad2!ar;5J}9MQkvhuB2IVj=np4 z7XP)SDxsuR>xZsdIv&(lB1fFzFe`bS$0cW25zI@b_uAJY&O(NZC-mGzP*HgUpxQQ3(~EkSCfl1;Tz-d45JD5O>bKUR>}ZRvNf8|UVa z73LkrDX5YixFaB89ORC8oPCabi#sCL))5HfcBxQ;MRyN35Q*7n_36o9wZ z1ari~RTWql#~cCa;*PBw=sectfI@pDz#Q>{v`#X`Wo0HaW00$;_}G$zXxw_6p!oc^ z@(*)EWfKEWC!bE-XEOm01loWkJZVKa@qy4Ef9j(R=*-{tQu#j+DTM%$VxWAgX#AgtWMRV5R+CKRsre3>wNT&>~H8G#o;@tP+Qbo*xR7uN9 zUzQ+MiqwwyQ>9vkjtv4*B{@i?3S*Z4f22yZ1eNOg7O4_v;Wm}3Y+8On6(~}$marD5 zO?UUY=QD>Kw-PI+JX~|SWrCV_|K4|#;CaA4YfOq#Cp-^eR|Nb#&{Ipabp73=I^X$D zjz{}KJI=$|dV7f(m{fDAro}c*s@vHoYJMoKQMrT2QB6a|x)?x@V>!cqFuN<$ne)T5 z6Uuv7KF1~I!38hZ%eVw+Yo@dHeK4e4+L0F3#u;oA%>PgQWuD<{w7(Q50k1LFsYh**RHc-($a0vGEO>S@5{OzEE~i3mF0cVIF;{z zeP`5<6aY8b^}XzPR7q1o(c}Wc%@n)C+91Sqc(8bcZ*L*EpFsrXNSMIf2oso3LIh?_KwzG& z+%8fzW))0{_;wl4dVomPShKCbyU6eoM}e5Xug3Qy;>SNMj1)cRJY!M_J$Rr{OO2!e z{5CNBR1lQ5Wjhy2a4JFf%zK9wxB11(<(|`TN|lJ4vsNp_Y9Gi-g@$HiyEiZY(R9A# zwLok-+p6#BgQ?5h&8Xk8CHnt2wq%GC=?#g@MXf`02_o|`Z_%Z-+E(y7_$5-cqXp}l z=&+Gu?|N2&ZfQk|vgl0>gx>k!+jsiaPt8^_4{iZ0&->#YSi@xFGMj7(faM4nu)K94 z7Y`od(hvX{R0SP=B**Fz3CKAjZoJ>t5^c52BAZV#*V-J_v*#HbZ3^38-92U_g$@f5 zN!YJCk_pB_krB%ij!@NOLz*#Cin=XJ7UymqeRX%wq;#j;K4f>D5oyPb4(U_5R`D!V z5$rpo;aF-ph@~2d?aVly&T=wwIg#=s<$)Q3yBv9{PMqj2x9-~FE`Pt>U4FrtD`-@e zt9AJnuFTwSGluzaA zk`@(cgWd*ydDr~}mwp&h25Ah%o6SaJ=e;)>WxL^ZT;5}@Ef&L2 z@;6ln3k>OoIcLXWbn)ySlpNT2Zzx{-h*GAyC@#ISJpLa_N!?%`N5rvNrH}}yXFhpDXo4Ed3LXu9afD`|3rum zqBNl1^Lb1&IFUfT=jQ>*%^4rMte&5dKPvEY*O7z5)jN`bVLXf$B?}wIiDS`X{cQ&r zi`!g-1>l!>>q-uVQnehWgjaIApp{(z)eRK#Spo`Kmtoi=Q1Y_ezIA#l{pH7|BWnA_ z>&bZwC{F#M9o S-Nv|F3Q{$u)frpTd;QXG~<;eCKYhAx;n|vp-F!zGVD#a z@%CsLg^wxGXGUV*7kE3Zlx;v6wQ=wm@oxi;D$_kaP;uC`0{7H3|2 zA${6IHL0ZcO?QnhL#wk&Q@{*yH|lifMm8B?I*a`Zfe|bw%r9F<#QS2|_R$Mf#H2S4 zRzx$M1X1TYyTv$%BCs+$wx5$+A zV40HR`}#=s-PM{yK5SIkw+a$G1#&<4Aocq+v8l5|eg*$N<2#U$wic{k+l2bSidLP_ zZBqI$r+iuzBL|hAk&0KmVS_o-Ww`v@P5FEIIkIl>c(=6Wi=uQi#m%1xqYkLTrBxb% zzNvnK1RSg!0XV1{=eFT2zus;O*}eVB{|{$53voCCKLHqy+x-N;O~W-N8i=llEjT-P~QM_t{o_kBN~kB3J} zmSnsBNrUug_Fw}tZm#=0`e1~Ga-70MhPh;X2Ss!Vvtx6K^Fk7&lNE6&62hzWWFREh zf?w|x`6o@Ig=UH!XV25iFxi%)MgCg1cO}wKIwkl2R`F14<&`ozgVGuM@;>3NQ zsT%z;>WDu6`99}i+p^kY-ckb+rk5qYiym8)n1~cPr*Tw;TY&%?R;GYkG_$NeSQee* zB-+cLoboRIV<#swc8O&*SkmH%9V1IodG3fEOV+zRp2MfzQrz#Rt6JT-JO-0hgwc~N zXZyJjl;yQDHc93QZdo|NbKsnEymy17EdSXUjr?%Wa&hIu;V*RGxCzSg@y>5%qG3QX z(}vz%gXG|c^n@}5Jt1g9Z0ZRk#RL;OYha>9*67&mzDS@N;&}2T*`^2fJW2h#j-XTD zv*#?=m@*=t&^mbMtjuj~NzPL&XSOKX`0khMCd;1hb{hR=qUpI~FBR{)`fz{7! zr;W2*bWE#R%X3=zoOx^5>fD^VvYfnCDVrYI@{91PTzt+)jae0{@QH2%(5yKJlbt=w znUg^|;77+cmZaaGMPI10zk<9+A3sew+$7KTiA-ZLgS9G2d_jeh_^S;)zx(adi@v*Wqz5?RW zAWAeYEAgauJ-4z6CUbL&{-XHVlS1D7o#zy3RW)o?_&n?^CBNW#`T_59G{l^(1|yLm zh|a2s5aKSqK}hNx+&dJtdPR4)7Ue^`nS}vYCOkE!p-Buc`tak2(aU|comdVXmg#w= zcOEw);_IcqRNrZjQqnz|c{@q~cA5-Ji_&p4Sy#knH|jX_H(4+U+s_|n!prBvc@6Kfa z3iF}CGxtmKUMXeG^*R&9b=5vZlI`q%T2!Q@ygucJP?#R&k)SnGtRqH^bLsq2)H`={ncoToMp`{J~GzLtkuttqd{dxPwZryeC8W)(H^8Y|z}^?g9>^c#1B zt3$)XAC8v2DT~lKcr1cH>808fa*+_(xxt18iU1? zERf{H!=K~dhd-Et6rsYB)t8YGVW(1wt$mg)mF+Ut<{6TDG4iU_cKC4O=w1RQtv>mf$D+6Z!JLD^npk| z^-d>ca7K!6-LezfHZq?+S}M`N7TdJD_*A279>)>)dj}8!td>`mV`ohg0)0{2pZnVm z8V<1VQ9eB~}vol;ad2pQh|2pCSSIG*?>Soyn=1tMtMjl?JhwR?MaPd``dx zE&4=tLkjR@C={aO<>@!0W{S@Wo733@AG4?%pW&8Q<#XGA)+vP&my!7ngFppl6-^r{ z(PJ9C^xiyE>0ZrivCB4TG_Z@A^OuFlr-KCYX(-vxKB)6uPAZ$I)DP=HLEXaw>wywGN6s;@O{oDDB1cWOgYti7^qzf-9z9Q-T4 z0j!@OXH%`B`nWEpFyYb7Mad2|lf*{Ql;MyJ4vrx;Wu%7{DJ7-0B@87M_V^1Uf}yfY z)Wov4@!y!V22O;J5D0@3(mYil&7;HFP%B^FC&|tSrFqbVG>^tsnkQ~|Xm3=|hMe5X z$~EahT*&=l%EqKZL~yE3X#_(bwG>qaGD4O+EGD{A<#o!Hs&8MvJf?l@rG+`XrU?~j z>{*-4S+FU@0u4J*HhJ>?7c+(PM+=(TMnTqwFIZu#?s5jIyW~Q37xcRJs<0&D_|X7f zQ%@4Oq<|3eE-b^f+XXW~Q zG(TB_OMU_8=)J#gs@E?}r`Nqu;L!7RP;9Y{X ziLkR!Gw6kO7RAuc!v0@7iz>`~xf9yn8P(#ipyp2FKVE2uYOZl)8N3p#p1Sh&%8#^A z`j&Xh@`#7(71wsrNbgruI)Qb3#|rh&$D2GfAk+$ufLf8(Lt@s3q`z40sNCe0+{|Sy z_Vb|T13ek3LQk6)B0CfeW=-wy^ArdQhW<@&(=&p%$qGsW5ya4ds>*p9vpZ`fHe=eT z{Ck*t?r0&p!%4Wow@o`rfNS#TlMt!2ap$_+88?P9&T`NJKm~JN>i5#}y@eQtr=VeX zen^n9-8)k3yco@MDlTR!jiUbP`nYDZm*Loge}C->jQvy?*x<3&`!JOwS?l`olm)H5JY4N7l`6wCIB7Eb(2u>FgJ-#A{9?j>mB?Qsq?wU^qXl7y^ z^#p`wc~_M5bHxa%qh>&L)U8=w?HTfnFw6b6W;wHze*n*onufP^ha_|u$JmKW4vYW) zl4Ai7Pt^eNbg=JEfqhouB$7ltRZrvHA#H-r0C5;d+N9!j9VPm(Jmn~mHibw+(x&}g zl2o6wZTeG=#=9{7!MM!MBpZ4wC>?<3N*EJQ15yd7((<1_{x}V^wog19 zJyuos3ZCb=eH!@xYM=d-c(88o>@6ESq#=IGO3My@3)0>-qO{Ol_D1BTgt%*kOn~1K zKgGVM5U?m9e#@~jE~r3r8Np2gnF#a-8*`$bA%pi7}R5B z*saRU{au;E*44w8v>j!CS zvaA#6-n(QUy%E9fzJq$I+ZNAx8Giy7VRtJNPiF7a+*aTBJ0U{U0k4>OmgCF)b%`rs zm)#u`{fD%WAAZ>|C%@<8t>_HuUm2yTL%G6D*rnhKil~MCw(+&x{Vvw{{2Du>r~eW# zs?d@F2Fy3Wfce~@>y6f>*<`>ZZ!yz$$!u#LlPlT!j00=;;2;K!mq#3Ey_ynGXGxKz z;=urQra(ZQX%ekX^Rb_keqTgWtPp(EcJ)Sdb|X7|)R6=q^({~jsK|nR)Q$wIYHc05 zxe~&p)3!XTkrIKsZ=JX zw6?BsyV9vK#qjz*(K_V9v)m%N{12>Qfj!yuDk1-y1m%B?p#1NkIwAi%VXmG8<$otO zEsvyo0}a5Wx18@Tsjm40lfHK4|DdFsbM+-O#J_>WD#k>yiY~Rq@P~wLX3UpON_vW8 zeI2EX<3Ss_`PX?C(;GCdWdpgmD+>LUK z5GMUUS8~iUd&|a=A%K?o#w&LM?>^~jx=bYiquWQh>%y=2;< zt7qDjgfeI z(5m_A^Id3Fst<4MA+%^4PI+v76`&+M(FBx4>JF5|_Z;T~PCLv^I^Nlk=y78xi70yf zyEs!x5H}Gy>5%BLIo1zb9;(1yxY0Sl8FltaE%#>$P6oR++92dhQ!Pw^XjO=sgZ}>5O z!D`g7ts=?+js1973)oTM6&agMj2y$|Te5$TNF!v73<(*d(#?#~Zeqshh7Qcfu)h!vp=*MO=$cXO?mH60T(kLB zIcDg^`Sw#5QZo8i;Su5xMV(5q0K89d)`Nzj{%)K)Ct*$$~d~ z$Jg?aV<1M9`UVc#idJi?|G>T^@NIaVw#_!HL6&G!b*Ji?>+s){s!w;ieDd3 zdnb+Du_Tu-TStZe3d@0`=3X~MWDPLI#qj>`n^%>@{Nz(Zz(n9Y2AyyIZpk|{e@S!uP56gwKwOQimIhM zy3>E-D2Pt7C?p{Q(2PDu`s3&B4|6af8y^_n@vGA0;Y6PKm3%q*aNci8J(dT�m2mdeoEC$7+ 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

gx+B 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ô^<+qRn$nVy8&KDS(PHjSf)_5${uwK_9w!UJo2!zmLO$K| z(rA&`3de2GF(75!<;lmMN;reqtJk1iz4fP#wyNReHP#xxn^Tg2Rrubnglmy-$&~6z z`pIjSAL{2ShClD>!f%c_7I4f9zd7c!%5_R`fZ4B|oTyc1CvZNO_s&!dftx8zY?o;U zA5c#*QMA~4Ey*p}gPfkmQm{glUA2Rb&|kWb`_F3G2y+5@@o+UUsz{|sKPKPOQ&MM& z4Kvzfn}u3`%XI-GuUUZ_|CCOTxxuKtFD{c!j;@Q*3oqR`b|kgVN7;z8Q8re>d+P4` z-5xN?{u+3Nj53ZCVGA1;dt5pw_cw~+2nWSRvG-9nLB7uq(%dI&r+B7z6=i(Cc01yY zU619Unbv*24(K|_v(jSI-XiX!xrg-|yqP>NU#hSUZ5=ml4~q@C>TJw|9w(hrll7*_ ze9tlm&pWg}z*?|Bw-(3@7IFH%UxWe_!>bI-dA52V?ID_|S#ujc;Dr}ANLK{=7Tr6q zq^O4<6!ZabxKgmZ3o*Hq&F0szwgAT1IdDY@Mj1hk49!oG@g7R{!i)D~m zz9s5TY-k%DI;MU(_8QFmA(|r9Wev5iT%;-(GNYjUoO|mQLEu1C{f*WbYWnEju1d;z zqYdFHM$XBVy2(64_Xl|sY*y{hvC!anZ+gD9jbyS?y3uK>3orK=*L2INDE9#3J`}>V$CbfFdld@qP3A3>R#L|2Iy}k9mbCdUc89m+ z7Yhe0mnzSr+IK&IsJ6=QsP=_#mXH5-G1PosV2i=`{cTXR8Io0d3sj5!f`t5nP;4?! zf_(6@2BoQez3|L@mRldQoz1IlTKld*wV_+@x7g}`8#jlBEl`|5s1m{-!0?UO)i3HFiyZlO-w0j z{1HZG`9!~icH$saJSEN2F#oM5%owiBF=P1XWQwLgM($|Lo{<67y4pGCqu+)OJ@Ais zx)Lt9L*#Fx%6kwfP~>_1K;q`-{B%OG*%y-m%p=k)u$qph!R<r+a{_ux9J?k~U|!TZOLcDqz7 zO)nBeIpTuaKa)$|E3Mv4)7w|18MEm8JNi+9m^0xR8bn#z=rqH^7y7tr=+CgY2=}8* zJwkXy|Gs$i^k~Z0`Dlq@=bG?-yt_ZWX4~xunrYtQiWcwlQb3Kmzh$iClrET?PIuE& z)>G;8vb;Z!ASdYRV`LXS%7(vb&lstJU1mg!4KzIOkBlL6m*ax(nT(-SYU1FH_@|6v zoe^#$$}k9u_rUH*?$V<(7{h&|@>&V2YVIH?ps*kbjJUyFbM+Akf6paxeSH99D21F7 zuOAhL@W6G>V2m*=fH53vtxN?~K1AQVHE!}VirkBa?^?G@01xXggUv}3ZgVH96N3FSfF?_>Tmw)`wtgVd8Kfm696Y~J~dTt5U z9ur()gs3ZA9wv97ETG|z5;5xTDtZ#{(E_t&f%0DTCVgKazn3@LtMd3MMyHpN1;y}n z3Y6wtDqWgw%-zjz7<0C&iyvp+;-up%&bqL}rSO2@T2{zeQ(-Jw;^P=V+a9 z+&5fqXu{1-PR<bLwW3>* zf&`@w0;ZQ$EnT!&7#iOVi7!6NWCMR$HR$Z0*|*(5`?XfukBBC4scGnBu5f(0kdw?1 zhR4PCf#C|ndS!I2FO?ixFV}Ku3k-OpDe?b3;N?CW@FwtSJe_2pcoHCFgZ5~46;2eK znamZOxo=OI&YJpM!0@KxrZ0WZ*m>6I3% zM^`?=SfWxp7s#;O$n;2m@^uesmh)NdaADt@p2-9yTn^Iw4^0b=L4^jgG)@gPyKOBx zI1T$7s_L^33oa$V()D9IE3MGy7oX2~yp5=9D+9ubC9|@M- zIeZ+Gu(F|Z+C2gn$r}XECj-t0;rEq;4Umz~@#E)`AVZN8Db(*TJ*PDf7xE=Hi8UH` zH=dI*j8ROHx;M6jY|s}QxI(dw_w`5SN&#Bq?0S-ZU9|`nYdX;)=T{Y`xACYsVMU9Y z^(E2QjO+xL*Ux>S%2=*^SZL3T^ozwU6|k*qst&uelw~kJ_P^k8GujqBj=l8zTO2Nd zp57XBz7{?6zv6JtnK*pMR-zRC5L9|Cf!&66vpZ8l*Dg$3J`hYVSFv||V$k!sraq}6kgZD}X*WimG%(=U1HFR^E>0{c0>O?_ZjAGB-{wN&LcYRx?uNUwInXZDm ztHKDNYWb?Fq;_9%btzbz5sqd!E^kq1AyXeSc}LPrIYZ^&-^fZH@evg0Wlr^`5uZcD zp`EAHs8#?Co18(zR$h6#*%2I`**3Pz+&2Tn*y8B*L$P2jQ^}zIQ>~Qxp~5G}LobmT z-_G}fK1rpHfcw+^i=I)ArB$LUlWP)dU(!~Ly!Hefh$mj%6I#iCen@`zMF2q~JH&0J ziGk^zN1G%jITxexUOafdz#aP6xh~8Kbm6ynO-gr;wOkYA$pc_pMs0i;+ocU&8r~o* zQzaCf+~p=^s$PoF-Vqia?^~gM5n_(`FxaG)&Egnv4Z^Jtm`Wk#)9N8sqz%+4Zk7 z?(xG$1FLRdS65=jnQ2xtKJc7yywmb%#x??M$xCT;RJF_u#pVyV@swLeV;l1>L1D|u zmhemb5;1Z#_<{=rr$bHcVP)96Q@7vQxT0=KAy zG3lI+p;qdPzSG9^gw3saY8$J*UFK@NEGkNGOMkVp5)%Zv-O8m)f7hXd4Z35^jKVbS z^KLg`2yWuY)twez6uH4vIo3#OeHCr!DCp`Ezy0y=lTk8(r(R;~vkB*%= z#&ysctBYYO$FhLqUoki~#um+D5++sCb@EKplcN;hGZ=RKjRYq@;ZtkJf#WA4-RitO zL*R}}8LC}}DZ^6jA;Yta&GC~0EV7KMy7fQ!^8CwZ9xO#eT%^g*ga`a0oOMt?@{2BxTIL zfNT%JDu%&t^Lyh;Mi@(1CQoWt8heNv!v!Cx&p?Ld)kYr@eqPKP^*2j^>&vn;mp?fnH#t#$lD=nbd6qKMqhJ)S=W-1*{i~ z<+DD9l#FAZjl;CbtffA<{L%&!!#ZWw(>j#z$3rIPXQP6nibHSdU|$pXXtb4+u;1zI z0jH}kR=BmT3dEv+zo6MI(E=DpLUXLqyi z)9S>kPXmQhM_zY*(a(hd|FENpQ*sngxjC%Gvtk5^ub3*yBybBAx#P09{rvH_sv)Nn zA4P7C)aabET+)aUGQSE7HU;C_J+m6LUE$<* z4XQb^&BF{eTp4%DtM{^aLZJBV@|~9@-!$-X$7(KKZOmT#YDIn>--sA08 z`M1(Ia6}LDdo5HI@e2hZFI>Cn_q!!NKa);sH{-y`_or2B4J-7Z@X@^BIJ}qZ+}O=K z@gxG`G^65QDVVNQI2J%YpI9k)$|)RypZ!`3=!?Be%GmEXtw%a_uZg6J&L>wF=rw)N zL8`+JV#^F1Bt%KR8Wes>9v~hYGw17D^iE2F*ZdTLO99DjOZr0V-s8*_>wj<|b`rEb#57*`3xBE{&p(=1g%dJ#kq*`^I_{r^;G?NW z03=r|v~V}?2rWw}I6jW26YHS3mwjnJ7mZ9@=T~69L^0#)wxRY5ax;L~Tl|Nj_eumr zG`BvVsXy`O2+n-QFujisEdQyWAjBrnJ0{6>CI;540x{C4RFP4UaLdO1>?i1+3l^u0 zKw24RW9nIK44KMq3-PdHFIrQQDq4+l z%f_!%k#6OL?2M(>t3afK1hx9M6d*USMSJefMj^&% z`QRmr{*ZR4ia1>Fz>+A7F_C<_DU4M{sIO69CwlINlPtrow8MVs5oK!$?2pO2^WYQr znaOJlV+)IWlszfK z<9RyCy50FbK36lAJcrQC^(3bPO#=ioqdfjEO=I(aG!4(6;$yqZ8qI<0V_w`9Iq}vJ zFq7P#{^v9X&o8qu15HEZUz&y)*Obsk`URsgM-8pCZ+|q6E4K?{w?V4-I8;8}bV8c` z`>Ak4b$#PWel{v;%+5tkLc_~5uk=ktF6%9#jZeV^q=DUerbF_{S0%gM2WbxvR8j0v z`yVRc<}OREu6iNMO6jh%U)EE#Sx1J8q_=u*DOkp~a`8PZ;(@M&17NjoxjP*B3a(SG ziiDwSjC}7|dN-H`kyFk~{~mPC5QCIFM*qN({t6Q};pFJ+5twmCDbLC!G zbtO+3X3gBgIkX-+%e;2?zJ$wz%&R!ayw=es#m#^Y+AlP1Q&MFfMfw5+9ySK#PKsxm z#_kDwPa2_24SrbgWP}@2C{-rM=-w8AMuWy((@S2jlSzLe?VYzFbM*kjd7Vs8B!ps@zGiVL4u* zU)lYGr3C)0<6BD2ZMJ(QRIAV|KuWcs62ND3=Fx+mNVY-&!;5-^rC(E~1K#mb zF9s;E2TR|EO}*1gG&);aISl2t0Xr+#*mW{LvBGg0Q-mR}A$NT_aW=DR3$m845g)WE zWv=&j`Q1s`dDv8q2>fV#Kc??WU9FEL%THs)uFqCaqsV$apn)faLQJ#{;E}&Y#|urY zR5Jp%yc0)vBHrnoc;#5qLO5=l$nx{_{BwiXQ<-Yz4pc_t>p#rrR7;h`ntTplMQ!mr z_Q+!n@QL^PDJ(8Kg5yF=BNFE6tGI!d!6ehL=&{n30_bxizXAL}P> zNrA#)p-Sw{Dp~)Ur-B$OIVbe&<6g3t28K4ecsqo2tE@+eo#;L17iLr#7SDW4O}8Hv zYHRX^bE)atDZ|KO)A)XAPuxj^>BGZ#udxf1EOfbHam>`$B7RB(xFZ&L8ibuot@8hm zvAd3Hf`9+VKU$>}326|dL!@&kQX;8zDTpv|AW|cTA|NdwARr|zB~nUDsz~?fAt24j zN!{PqFz)+)zu%wV`TgZND(B3pY`d=K^?0`K@2m&kjg&(735iQ*l}A{&#}}N#;l;#K zjjif4(9mP44VJV^Q9(Y|C0O@14au4->%%(3Ni0~dK#^LX*~E%|MWEKPdtq<;AuqRJdMgYoTnkqTD8<` z-T}`a2i}xD{^xmI%bb3!L#b?2K+I)_P@Ifxc?iWiVQw^$+qTfAieYSql3n1%M&?)4 z80d4ngOZ%tVqHSKBE~}CBkOZsd(XtRsqL#6a?0|}mryAm$;DT<*X8=2Lx@s7TRnt) z+s5}-h&ih9V@LEHx?+&Q_c0Q6e?d;gp^UYOV=o;}-ANL4A}uJqR7tZ%U8#8RMO*i_ z0yDOwh2`SW^J58Eb@7LM+$0Zt$)N$QN5Ufw^4E-2L{=)CDwp3}PWSCyv=DZ~+-ge- z4x|HRws&C`qy9=u)+V^`sV zkA3F3k?KhZ=9k;#RgvOTVXW`8TV?-(&@H)OpMdSDSpN2?u$t3b`XuG(JO3=T6L;!f z5%vZh%q(PoL8jl?W4xWt*$>GGu7S#Hi>p~vGU{%3X_^b^$ezBi4QDRA9s5L;UaGhi zX(t@2tN2zJoLye3E^ZBX7`}RKmQis_BwUB25MkI3GV5S*Fydo|b-I;&eZcW&k~qxM zLml+rQ5Z<8{n&OE47nvQ%XTUm*4NjRg-Qt)3l&?avqeI8 z?7~~(^jAm-Dj>e>2fEnz4pSBGbu(~JF;i_aWRohKd2rlIKCZ6sCk zUU26~GwC;q`@^L?l3w+r9t#`uE+KmlbWHimFeb7dvmZtxEtlWkxCCKdQFu^Ff+lw` z9q>_qGk!7~FZf%HE)6d$6=;7vuv=6BR70@=AE8wG8r&>&ruBM=t7nCDYNzfgo)aYe zDgltq{pHs+F}ro3R*${6SWe{cTD^!I_8O!5&i|~{b3Z&uDRY68@^bsUEV*o}`@TVd z(^1ArO8MxYDdonq#Qbx-a!PMHGFo3NWFz*)42hTIrE^^zW6#oLom;SbL`-Tebs?(^ zL!6tlm=u%@%bP$gRzC~3Kq<*)8D3@dvARw|K@&9do{2>n;uql8zi++}RSU%^HB~Od zekYxK3w2Qck#t^twOwqj-tWXwhTWR3vu&FM)qGVytND_V>7;n{%;vte^v&Muu@O1(6=!{c_kZ)sPy$t69@vh}9);Dq2&K#l`pGL@9Tt0k zH)iSt)G%fcyUxDFr2K+MH}F%NR0$*27&JrB{sp;E4mS~|S&p`^&dGKlI@+`sJ-s$7 z%El}37*zA|%!DwVnLXqMXUhnRP16Q4YyjxN8t?s~X9kmehx&y1#+-d3YLG+{!C+Ig zwJuo>NkJ9Xv(U4n4l>X1w{)upZ6nbOps1W+&Br>T1z0uP5+BmB$X3=3-LVPbR(>b0 zU>9_-@k}+FGC!OPM{4x_BsH=(oWc&_7-GxFYUsa7jib5ZkYA)m$3IC8OB|0~)86|p z9vcOCY^oC;8zx2HZgwUX?Ek52VYBcnQs5B`U^fo;M5e3WOw1<6E>4)&4vSn#H2oSanex>r z<_BmM6Wl9rE~}qnxTdCK94Q(eyJSZ&++ZVe&=6jW?35b(3$o3_-{e<&U|4#{h!uv zDIE5w-dT8ds669+gy)JC%Tvyx6y;SX|5!cQe6CnE=G3_JE0@`{A~7z4zUbg0L29zy zFnMkCHNT&+>q66Cb%7vuo&76z-CZr$85~>Yr(lAykX{AjYZk7-*^RC5{BNd&p6)>( z_+B=Xs(>}EQoSrIuOBBL>5}TSi5hyzs&w2ov}-b-j}dKlnW%_Z`!IdbVG6rjb#Q&< z4Ms!mVaqAlz02+F=kk9R0G1&(nI(5`V8ZvspH5P5wCo=z*vwpT3H$5_N2wP(Wv3`! zx!I^%t=yDxJ3=B*pOp_*9XJ`4XEHTnu5IlL13W{)6FI zRe>%1W;iYod}P{EWOZ5s@oGy-VIK#0jtPiY3xas{06Ns*Bwii9#DD6h;PSOn67#X> z3le85zig(BBGD4X4QKqsuEV#Dp=ELc_k+}38R=pSM2mg)>@>_Myl$F#J6lROgJuQy zV*wbt5TR+u z4a`_y0fYnm6U{%Q#AXzBV`iH~E7F3mC;h1beEq*_07)=Vqn|Z^;P-l2h6+#O*VFea zeb5NG?fF%3PwTQLRRWoxb!;bMC=Kb7J!LvMYNi46bh_9{)LI+J8LG@yz)ztBAQRV% z2|5Ep6%Gdl%gc!+PLB6rxgXv?|IGPL5ve!DNzCij|vuwCRQxZhg$23*e#xw`6BjII1 z9%_!Yl@qK<{{9E1(KS+Xq0i-)!I@NafrVc`%URX(9vU~e1!cLX1#|x_Zy-wU$y)-a z#)Z$Lu`!;~c`H7u=%{B?6$)XQuqqkifc!B;MMO}BQ^x4%k4J(ZoB!49S7t$;xhxYE z?8Xn*xKaP1U!2i)i>ZR@$7g zG2m&d{B3L)VSgGM?mvx<>Yv62{x0eQ>e>Uc&HQMcijNO3;7a=rL22KtAxJYLPSVU4 zAkCccA8F& zJ02b|#iS2(buCQPQ&-a>Rwc~+53d*L9&DPy_WiQOXtzXpRD>BW8(h-A{p}HinTKHF zSl$O2d=I%8GV&MTtJ+YQZW!3yM9 z?}OV|1#-z7HN9?>REUed%5oy|9bzbhO!=&-@1F%ijg8uhsyfLU-+z+Eub16O05v%X z;vw`@Gx#9vBklC?_+HPV%!{FX4m|&_9CuE)(~AcPl^})Qpb93(74rIz@=KELizZe% zZjmmyua2()?|@}iIPg$p)(OmXHx8xZ4;_l+ji5%&U@~^E)6}O-IWX>%GVDg~$`5{dz72cZQog zDNhGowr4c)FSCk;_hH#f)9>sy>FpVv4I2B$n|t(7v)-1013A zzT8H%8!J^KdHMWfnW8FWKJchHftsjK3g@vEfVy0K2Ro(*u?#ucyPP>56@6~%t5&d6 z`a%X0I!1xIuWZlA^V6wfXp3f6?U}7_46KWFn$TTQM%q5aXfvL@Y7?z?M~(ZrcM_qm zDp~`qaXNM{Z>$c7Riv2g9_V9(DR(V0(4>ntPG!lw=k6IshY48RiA_x;Q}$NKV5>jM zlT)AZhBK~AF{lP*S0$rKMvPs*y)>m7hFZfYW9!EYq4rxBoH)+`cN(0QTIgA1FLzeyv&5oom84mcbO=!tv~^Xtj!t zQEbx_qv>fTCgnB5Z);~;K;aStb8BafNw-9@+ohTg(z7NKJXh~sx*aFS zM0w+jWf4S3KHoXD_CR;&h5P!VB7WpR{eZ3_kubGeHUX;%@x|~R`s{tz>{h1T^lR3W zv8*Y=Eai38Xn)44$6a|Erbjx0$Pedcy% zDD=pcq7libeZxe0QL&IfPItd|YA9+>(Z6@iZYOh5kz^~qS3~iXZ{BgajvXEhN;wn| z2?{+4z^_<{s^(TOSLbaXEOTdOMjr>BO@YgkJsmA~y-Mq_VS)UET2NT%wci z`^wzHXtM356ITr{Y931GGI{lTyR||jsda%jK`5UO4NKC4o`Hc!%0^M^o>{V!nRKe% zj|Z|lE9UpYS@kbSu|L5NJukgpU}+E|GIuf?idet+6R3X39E!?@uyzF~3qsg;GxvM1 zrW0iyLQN=Sk6%!NUx*Ooc6{+hw95`cIz_!+qA=hF9wWp{?@C{!{<>dJqct1k=8YFMyR75!8-cm*b|Q=O~+Ho;#)zexIs zq*#&UDVC(stG#844mQcq10Pz@ufJ~;qfX0tCa-JlYYUOS@_o+TTjs)H3a6$J$dAJ; z{Cz%38QA{jU5~#Yqg8vUtlogt_ypbSK_iJd3qD`4kSnSMxFa{PtCGN9Ox-vOin z+e0gYYcZ@(ciSV^JK^w7b&WMYTrzf3Od##f!} z6*~X5SLh|Z$w3sRR`W8LkJ|Iea<%ySO2V`@{c^M!wi*bg^F`!sQ4$MP9|nc8)HBj_ zeAYzxc%=^d$_U5PKcrLAB=5Rm;u=8i_{@fJ5!y6Gxx%S}r=K|WckI|ncwypa?6@JM z{`3R_+2o}iy6U5m4(=5_P{F&V%OP0odHl*s;!A!Tf@EbZ;;N7N zY(dm1M9@y5j|*}GCg8@)UV#(4MSr>)A6}Z4U1_X&1hI@$eR!bTD2Imvb_34#VbEF2(MHnuzaKB4~)=wTq8}; zTf~lhjC@zP_s*#bW7(?i*X^jV62E_`hJeF&JW4^2STrc&cI3{GeNu4n-J@g$9Hfze zv6+uP%6z>z$!cmT@yWj1)n>xGYTa-3b+jNR@dVOvCFw+-lOrhd5ys@?&p4e`jNh+J zU5Y8xJAE$hg^bMG=>iUZg6~Zq#)k)3E4ZqP%>4RN2`ef_ixFGOeXjhZbBQ$Z3x?NK zZJeLy3VkoULi|YTV~G%Mc|gDPXL(TGBll-{aBh?1bd|$<=_qSk&(BuiCEao=X@?*B z*v5|q>(nMQ6>%s&<15^vXWpLM3_f-WY%;=VxW0^`ZWKIO22tkv_nT|vzS8J!>cv$0 zqgX#8An0PDppPiU4b3WyTNE63SI(2I9Eg9Fo`_BvtN-36{fVTDp)HLf;f=Y;n7st5 z_MAdXeVMTVef!??8_%YZwQqdiylnNQKe*^1Q(1x$Z85oN;+y0nIV9j{*;;-3|5y$R>}IamxP!xVN8&5ay9BG?ZeRwu5rZ)Fh*s7Rk{QR5(hpkK05Q|5Ys z@`?KQINq9>bp{D|>xQ5W&6yg~2<_{>y!QZ!rXA@JmhO{IDxme|>zhxH5{cB<&UO3T z2YJ5Ga?79w!de56aW78`@d}E~3p+C5{{Y{SO@Xc&z4Oe{WA2Tax2*T3;z%*Y)qNU;}5BF#Z3BZq0mG@NLPI^&Ziu^Eh6~`Pk6s{K>D`+c=g>XN;F)>sj{{k3 zKnv~Ll7G(6Gyldjq7swiA@^SCkTi-fm-=--|GcqN>ja=~;U?0Vod$E>VltCrfM?wN zjc1IEwMiNx;j?fLbo)vyMhl!>?Y}x^tLby=6!H~c|1}&JY!jijQDiZJ_(SkR=QI9- z#M0KaA5kNq+oR$Tgdub&r>r7br#c8VDG~3PVihUA^i>OTsOifw1AWHubLj1AjsQdN zKYT{mFFqsgKlqG#X~YSiK?nE@jT1gYfu*N-N4f&=8QXx*@cHbY#C@9Mj!i!~XdT8( zgjpYdfsVfQuW4u)jayclb0p-J1{4Bdzx zQ}u99`Z?X+E1TrJW`$pNuRJ(cp2$ljss#IHeYbP?nAst^+hHST+`@DMVRaR3Q@!D| zQuOH`Hs4x5yL;!w4T$WB&nV|v%BOYJx~;ydx!407_k8yIFw2EOM=^&E9QT}ZqxrpS0W_5U%sv$kPAv)=@s?g{Nd2Cs`pdRNCkR^ zbzASh^o*oGdWJv*gUTO0<3c;ltmTDaDGNcJfirYegmy=O26pVu9 ze~*HDMvaV{(P7@+rvJe!E3!(L1gsw3n$-{_XnbU!dda)5bS!N7)JiVw)TPJDAZo31 z#q2!$^TQVuf!oL#5IH~M(poyTnwGsDXfBl({GfT8{?owYP!v7Qvq9g|Dr?ixEZm6Vvu(R@V0EMxfAZ+L3c#q!)=kQHI!?Gk3e zn~L6jJT$BBGHES=M=|T$SRYBN-#jzCe^tYC?#)vYztxv0$rZVjWX$Gps9TO`HWsL#}F=L0Mgq8+!Ft4PmUI%uzc+DA7kEXtD`dZ1Rdl9>*@O7{ zosnx}{9hVu!0RQd`j8jfd#(%zaru6>sciLPEQUa@@~ zzJ4-6?mU?wCj=X4YMA!J7fu5wS(n<3hnR-;;Es>T5A>Oq=@>Oab#Qm2GsKCVndKo* zz)g@t)+dQA$zd7e*)4D6=4lUdFUW;x1j)Thg_)6kKBoAtK!bIgfl?#-TTt-{!l8Qe zvzq3bu+IpEDIZL#rwS^NU*1Bm3^dq|b z=|_AW>_vRv?@AZwA1`q{dR@=6EHOoVd|JjB>zab&ouy)%WgMO!{jeMls=A05+52E2 zwRXt%BQhkZwF-PV%Z}-8UU7XU#6ME`$A;yNVY$1`7y>jK<{Fk^s=3-nZ)%B!q1VcEV9VTEx$Ft$ zrMm*ws7;R6P0^rB7B>&H!^?fGTdNx0Rc2=|?}w)f4hjpkHiXt1=aQO^&W0}0Rd_zv zV2{K9Fq+8t)sQJ-8*i(v+p$>}S&u4H0pqmj z^)+e2drSi+lq-Kh^6U-#=wl5rs=+>&JkY)+nK0DX1TOR@H&RHt!I`jt+VLRHphjFeWeyUlx;}VD!cXcI{D`rN}AEd&2F@y*U~_;!*}b4!h#tQSzL|Xe2KJI`V&sH z=OoR!$N<}4+A~O%iMO6;&#vF;@05kAUobWq=h`_y#<52lhKqktr1AK~90u`;u-#~A z*_)yY_P6T0uOQ&CmBS2u(jf&eJWW_U$QCn-f^bXCS2wWubt+um&~EJ%ovG#42JaKZ zr81H}*;NruC)yCjQmK{tUp_7H5X6=ZOErals?Rxt^<3Xi)MugXK%DwqTVVQIeI^3x zv*~a3IRK|Vdmt-SKUV%jeWvPk`ajg?MuItVmud6Pw7^5BL28W-4yt86$~cNUDnnGJJ=pYF=Xdvm zCntDlCDLqHmU+I$_D^@WCr9BS+!tn=OqOW(6gZ-ct~Kqm%M?nyjhS5$oDaF@@ZhG# zmGor$z!Jrc?BP%!=>tO_jt$AjLOZ0a!Dkm49PVAg!`^3UFX!p@mtqesA&%{7InW@sCr7GOTR8+u2^2WFlwT`M-;eo;<8a4fIZ)fGY zTe^dis+y+Gs%G22GcgZKHY!=EAXl)I7}_1ueYp_wj4<=g4&=!xwsRKQ`950x-(uUK zWZ+l@j9qdyt1)q1CArM!bq{C`JtEtPl?4fxFIK;Sq*}Q2Y*}9Gwn<-_Vyj zn994%<>x)^7TC$MC8y)QY+1}t@?oYTk$2Oc$*f0+M>v>rzG?LA^85)2H6kU>F%a@Yz10VrOn)gnMA$MwI;>k_CQu(uEg$h9vJ;aGkVtO zz)xLXq2GN-Hf)>0skVCI;^YO){X+P51Er-yteHKE+Muh`G2vFP^tw+SI<$@Yoy@%(DJ7GR3qVSmU7dEKA8@*yNZKK_B9M$LiuR?BHzGICn z*_jGG79CnIbiMz+d_$@w>ssV$Q-93Z&H<*OwXr&LYw?FS`an@{tZn|*MSGit3~?N4hxJ=9W>AfvSo6Twz9^h;`k2YvDI%rKav z(fQmTtZ+aQV*TK{g@Tj&XzIkXS0Q&ux;c36e}kmQKcK?<*iO^uPkk@R4;I!18~5db z?DshLXA2WQcTXoFYJ;ip91GR<4*3&|^r}q0@Y4tPVLA2^tCTj#!4}{WQDl_c{G)06M8HXQL(`C1)c2^@wtK4}zonZND z`^AI+O)wbNWNQ`1xXnkFLz+kWwe8&}U-bVNbi>PCRBxZr`m{b=Cw9+U?>hlwP%C+O z)R%+{jjinIg!bBPaW%JmVG!NJ@5`#2=>%!ZDxm9e=QW^}bqpebMUgtegN~1^^R>g% zlGUT|D+doAPooXSGw)BK%-R+1C+4CE0nz(NU!G%ENWl?rQ&IzO7i@wDlHJK|BDD`( zW|)?YYi5AD;wi7BtD%YNrq z_$_h>HOK=m-(2Ix&QAKDp_AUrEaK}S_;6hQ#(OvG2zFZse>{fFc96g^{}-L)W3c*iRQ*lqOr)2W!M5W3`Ov) zHsvUI^L>A665+dcsx&b{IY z_n)@yJggxGwYqD+YZIfw4|zdtV*H=lM2m?Ldzb&HP1JOunZiPUdlsuo=Dj$R4tN$q z`9*Sbw$*%0%}nkX4gSk2WLll+=VBF^p8By5vSaX<3-TvH2O<>Ckkkd{Lv)OLKPK;c zIGqHGyIc%?jAz%+WB2Dt)6U~Ysmz_#7iN+T>f;w@^;{}$hO5yp;MXuljdr&IABg(i z2Iq5Q(v~WjF#9Qc%az{TQ@^<8v<}8!Typ>j5)nEcLTAjmTixrqd*qa6WLK3AgftyA zywmu)7Kmy;pyN-?-+C(=uJY)ObFBY83T`6|Z2?-il-cxl?LcQlp}R!GgOvFL`D)vH zB5T|a9AckdAmGL?_u&8~lns=AARlw8D%7on+_%IQg)H4UT_m@fT5x@%3POBqKtn_MKeJ2;W72nKHaj%$hDqBp=68 zG(J|=gDXPS*9g(8^&h-7WtL4P|1Z*_Bi}sdweZlAO}()X#`WDf9$cqnmxt}EoleaX zM8K^RB4ODiZXOT`&-*8T6A9z-*8U{i=`=+cj+x2Qjodb`s35lywE4BK`CEeDw%Ai8 zbub-_QMHlbg_I;D&nXn=VUYJMaVUh#EVPA{cu@rAMG{%7k+JAZ)jJA9)wS007|lJq z{xCg8U5Y8zOy4Uzp|KLYY(0^vB; z+`nuRKFM1CV%&7`iutFZx1U`8QDazPXw*NA6D>@APecp8e~A`x+7-9D`X6iJ4J?7z zL|7sAzA*U|w#K4JLWa_#^uC%l;(xb97^A_LhzVjX<+I1!F=LmrZ$FMa0WE$8kF^140X`a@h!zod zfN1eMczjk3KMw*SA)rx3mo&?3Pwz!lSe|ka9UWgXfrV=bhLtsGw8W5S$7!oFD}H0p ztiSi>p33H?F9a}XaQ}#K@PDSLj)VV>veJs z^S!Z2&h=w9W~og!*hq-}G*6!j#SowRN48lx!@I1jr@>y-)D;^yOZ50w$2p-oS85@V zDwg{qk%J4Phs(q0qtxkGpdXJN(^@_~f1)3E^(@uIuf7&N!rt z>a7DJSEYRO6naNZ^x~wq?<=j_>@QSPYIgl=N?$=lL(}vyT4hBRC<}Xrx}(*(SGphJ z&MuEO)d`*df)rf8FRgFU_)ymBo%3p|wzY%c(KmxiOrj&VTcjAXaY!R;h!~!&$*?#p zl|4|Zi}K9vlOmcyG1lhqVl1OsW=*(-k1me1aK(`p70YQ97f(nFtzG+PSC!Akj|TFc zx-k7XGH&qD8ml|g9k5@SKNFTly~I!wzTLnjTi^g^5bwWU_-yl{xp?=>kCNwNA>$o5 z^mvko;F|W?rFV8B-(&1?qJ^xvYOZ*5vTI@j?73=6#-|J5^gdKW-uqU+Yn_s2#X#|@ z>#CYcRps-p&on&|Rc)6PAI_N0)02=y8~^CO^+Wen)R4anvo)F|)aNQiCPhBl+)^)C zCq<})qqZSlzdDhcPo3>P`^4=#qWAnoOk_&hqMpgD=2s5XdZ6LgMl)i@o81b{ZUk|g zm#_>yl6bdan8Cy_+YomN;)npC1?L9y%5W+JI6e6ZTBO~miyue%Hk%vpvMs#Vy`~HIRzKZ_Q|xV(|IH*fU{2>EZ?y zgE95HIP>gZ!`J!8w$^zLC>sD;L~z_potG-Epk&WI5D;jTt2fy^xE+s@mTFv9WT+Rw z#-i6*FO~c80E-wcR{5tQ&cF5g?}|7CsE7+cgynq9MFh8^*6MP{-p4b_Yu`#j^NjQA ze2Hwq$GiJnhKesCqPz~LSpcqh0(qiY;Qt=DJ~0IY*URb`xGNpbdlV6f&;QaaaQW0~ zxqoRE(&7A%@MlSqwzd6{bPwc+FiN*El40|MZqx(YtJnIL)&^m?z005TH5#(;w6!+=ML4g$6-kgQHQ#3U{(C@ zyk#fs=k07P-ruuj4^nl$o$#>-QP5^!Lh_h%&_`{ruypLGx=EIIqD#Yu)>B_sk@JHO zP>RiC>FW?WA4K{7^l$fJV*HUk;#v>^iYhxjlNXlox(=e4DpYK zcQFAodxv~!A>g7ucno}0g_f2u^slCB$1cFzJIh?)-8r*n$coEi2`#85tmih-U`fI? z@2E!zAoxD>8IBe1IajG2;vODpxWR=hjz zcL0lYnH?K}?m*IfM!&4pE^I}^L>o*ruiZVdG>Cs%8Z!F)Q1HO)?ZaS&_O$tL+N>JR zj#rbm2)-|T53QwNAWwDRUmJdn)tGKwcqS(d!#QatbWgT54*GK!hf~?&-RSyxh%I^V z1{sXvHuOZ{bOi2?2p@kmni^m97}~4!xPr1URV!0+cAVo38JIISVhSR}KlSaLN(R!c zz@AQWc=(pZ4d8OO6^=199FOQmzo5@9wu}kw(m9kT(g87xY z?JtrjzB*#AGCA*u)ovGk;@uCMW3GPo1i`4$ySQTtub}(`QHM&}WA0GOvsfp63}xV| z$)4%PMBsRdw>1OAw&TK6s+TSygnIRTr5!S? zj(#}&HOA9%i9N_tNF4d%vrucd556MF`57cVBA{_UY)OG>SX`KLs{B4}b>G^z$`@^F zmq;^6V0;v!ktEsB7C$KrYj_gt>Jjqxuv|in5dd9F?!6z`JbTY(vYjZjSlc&Ko_CBS<7g_NANa+!w`^vKaendj zIN%r8wnk*&-;U^0_E6^g{$7BGfDv@X`S{KX3jXPe`&vBYm0BdW3;AC$u`PH5|smK5!-xMI9Nba`T-hup_i) zvZ`JuKcpDmDQKYM%610F)E!NFKN#jSi*7EHzi3m5u)4?@qw0>BxYic&B{d+)uWEy& zHJ(Laqc||T*$EwlF%#)dxBT8^F|4a9C2OLrM6W{jPT)~4;^HHIKIjU8g0p>*$8D@(<^6FM8O>u;aVa28U zCMRuTJB>NQB?j(tcU^!exeO;Q$!Tmb?5S@!en7)HS}hnb@rmgZstyIr_-J=;4vv+G z5lu3SdpG}r@WfnP()MvNVW3-SFIkTM0}Km?6t*6R{Q-tIPJrQ;zky+De>7;pvu#&6 zN7sA}ge=8$eR)$?VEb9SXtdJcw~<*F7EfvM&P7xlF8aU3;5)EOxBISech8_t>{0W@ z=U={mc~qE%e@dFr&|$_hAgSt^Sc;3$pzw+ubNctH(|0}dvHsdjR+x}6`{-8cSak`S zkvDDbd{lEPqPcm;T?&`Wu*t6xEQ78`mO8_N=XLtl3mpdwO9V!lkNaZk$5m*hPYX~- z3BFIK(6GQJ&Qj7Gl{@(H5A8hmVW)G*vlrD~coufyY4XV0i23fq+WG@)uB-|yD7t|* z70rZM(k%~7GTcLqsRZk#JQy{Lce@-kqD0FX{z#p>$O&6E9kG6*1=n%lv|t~ot?yAX z(sO3-J@oF&Vr!~DTJZBYj)zjj>&=#<4XtU^3QX9Bw*7n6@YH~rWY64GjUS^d-&-kD z1RnBbI=X3QE!h1SPDK!V0(ikbmDQnprBiE5Q?jz##${K1Qdohc4VwmIjDCA1mu>pq z?Ro}`O4;;;m7t;GU`e^A*4ZZ635mJYdBw&cyq+glPLrg%n3Fv5V=_gQX~gQ(V{(J! zxSe*h%R<}=62tq|44p6XBXXiSbgQm>%4adf3n3#OpDHT}FY*(xx1?NyuL`=sB_wO= z>XPORzL1Jv<**QI*lM}1^o@LkjYx2_ha(DO8R?@w+wsXsP8-c^*y8c9{ad?pfklVg zMJ{y|g9;~E%tLuivuc2l$tyL1_tU`6s8V2z&=c#OAINbKzs>d<9C+fX5t2PrY<0kv zOoRK}X+*7gHa0*N;}O*P7i8CL4<(5LH%SUc(Nt<{cLE!2#`WWFq!eDEB+08iiaXS{ zb<6uc`wRYE&7Z(ZOrq}(%!b^S%~LRZzFBDdRfO~F!PTZ15k(g3nFiYBRLbfPA9~!1 zl&-)3@VLk}S+hE3VlMERAR{%~JE}J~QYlEXZ6am*^*!8jeaRuR!}7d{oRW?-6F0~O zmKS=rKBN;ZtI8!=7SW>~@<3XdT+_W>R#mI)A=*umFMLrC(+PKS(n>01H*%^v6;Gog z!CH!sax#n9pYD~8%yw4yg4Qe$1#enUCJa|_Z)Sc-_n`Ef9I)QXtn}7xg|M3Nba|zH z3IFC-e#*?2D<)4vx}5n#H)2AQ zelMM9r<0r7b-!1Um?WF}Mg0I|s6)@?bFSp%d~!-IzCUBAgLSqn_8C*ZX@6-Bf$7?I zt7Nv+1}_ma#KEIel4&QKgE^4d4lj4D&w1*HUe!)cfEv*PHANk-=#PGIFL}}b{Dr;j zomKV2yfr(>-s-9fR7Tdef=LH&=XLl({$XC1>arqf__sbi@JGG@kp}H>d6^_A|MN`K zNxH+?)J2M?F3Y#Fc14b4GWFn>czJB*8K>n4gMBdDf-jb7fTmgYR73U{;^0xoLF= zb#Yj%n-vqeagA|5uCL@4#zGQVup6Jr+fq8)^f- zxe144woSk)PDd=wNRZt$MKqm^SM8tx%$+g6r8`h=N#{_lkeM$Xv%lG_mvp)~+1bj* z^^V!veQ7IC&K{D9D#>N^I@35pwMDYXdNvv0#p-wS=;$34hJYEp+}jlRTQuDWmY zSmGO`fzMwxVkz}+gGbCLhB`yF9z>_rm0S(MVQvB^NaE z?9wsE`zmcA`U;0d$5iny_X4$+$Ego_@mAwY)i)$}Z>R2R4juDjbGb)X+a&7hLma0+ zO?hyvQau-WC1;=IQJmIXm82bnw1EaYVfdR96l6Av3(yXUVh(V6aB!p%DNSvbm0%Vm z`qsB{49|uFeUC50&vHl(uxnu}mMB!peBJ}NUfaN=ncS3Z)y*Fd+ux^@7Hd)8A$xUZ zcq0wGxj>xh^42CpG+S)U6>fUIYtCA7LA7&ClYcFJOE`@eyQoHKeUvRAXPt38{AFum z1QFF5GqIRpAo12X%r1KLqQp?tgL_DRyOCtFi0CIqYn=}*%jYw3^>GQIj>o_2TPo(FEcC$?9$Rl9XV5kl+ESqi}c!w_3ydZyuius&2to@p4B{EuF_O0K%7 zPpx0+M|T}wy3}yUR{8dZyQICWjB2V8rZ~J0py7#&g2IZJ;gE98D<{x!p_yq@APyS# zzoO1fke^Oz3hL!jK)qZdS`gIB^(rtf)8gvoguH*&%V}uVjgDF{MG1a}iMFjLCRL|} z4^?(zgr}#T$aQo4qBGp$GJ}p$#vF7B9#9fTm+#(G^v4f~|53RBPHjpA-3mMp zZxv}f6{&Fzvd8Kq#vFYl6q~NR#P+zuHd`;b6}7q$v??d7P?6U;b6|XP_ZLf?GV1y) z&h~@0`FPVTK5r=mJC{2 zflh`E#1_9*b5o#DkW4XUeFd@KQ46N`;*Ti z9_hJ=UR=Buuhf#qo|XF0wh&>#NoO+-Gu;ORmBQyx2dy44EYWtEMx!He~

@1xSUL~q}S4xf?deY_p@q@L5*4lLa+bDpUGefX-va(ia)MuoJ!G8)PFvA<;-(Mjx=oNELd!OpCb1=4L;W>6~LfW z733Vc2Yv-KUp|@|fZ9*4qGM3{h@` zkFi_M_?Uw`-OU){AXw^5_A52cakNFIJK9ugea>Va7)hCi?+12@ZfqG0tf|4)LHR(= z3x8@_56+kqN)NKHagx@(_0P1fx{Vye&4exACw85+LWQNYBZgn~MhVvOy+SiUTGxUN zL$?x)DbpNu>(l_1bpNWb(6@O0>ynXYTEf-B?-~XY0M!T+))1O1-mviwdw&5i zCAj(ZGrKK&m%4w}l)`PiC|9)>cup*a|n#p?Qs>{#a2li;t_{|NrhVGsTl{LR|m z_Beeo_Omr_<{_y%C&&E#Ie&U?8VpweIIvBn8FF&-Wo%^_iYl;lJkUQ1$`BA8cZ7G& ztA+pcnK{JIVAoqpu_?dc3_V)gA)=Mva7LF-oZRMVaNqcy)QQQVfd)vqX`vp+!UGE! zqRHsuMHkpRi|12!M8(1`D*m%r?{XUUqeJ%r&jxZ4s2Rz~bD$br9;aqZ0yRVKk-3rb z!)2mo_Ag@50TrP!57nf)X@=Vmt{&csoPZCbEyJmZECsHMFQ;cXhg$>H8Rai;-BhoD zA;Ga39;*rr0}H+4q$SU8DWU=an{iUW_umO(kk|zUe60R%4jS^f0zQx+{=0zB-!s|tzY$BRkhLS za9MfubuKpE2l3Ch7t%}APSgzZRNcwqv5LmAV{-`iYq#Iv~fFN?(l=0cOf0 zr4m$=ZvjB>Z&CUq0r)$e1UnX1hXzWd6*J3hGec2Zgs0oALyb$mi4|jc*h*=s(VS(f zV5^~f8{y;fn5=-RY1Sxr?q?7ro`pQX>xOB1;XM_DFdH+AU{b)ABQ!ftM z^t|q6y;bW=%ZmbPMlsV^R;zm=p(l#z@sp7*VqSs6t8ZY{78$uF_J;1&?pYkBV`{ed zLcgnw_1y5E*{%92Nf7X9-XD4m3IfjS?USq^;A}+ICqmi6%+;C*T+;Eb8BI|(=s{t7rJ{$w+11C{+cTh&Vg6 z_4@s@ATY^HM7};>rXzO*WB~t;IRCRCFid4|1}xff1%VQ8?dd+}edVqR|LULh&T-=6 za}qMOX+!oIOD1e=qes65!nTDWH`sAL>Px&Y*RH8C^A(CAyAi4@cpqmUn=l|-yP56w z*D{NYK>AR^q${)BVo74Z5HoHzyY?f7gbcg-{*{jIw!&{UWBHGokzkDex0*qLs}ZE1 zWo7ia`rkEz4gW|%H_mkYPC@$&qt`<$gfW|@+#%qK9}yv_A$Ix%%?`tRpB^1KK5fhV zkQYeLxwF~~i|+d#&uYy}98j)Qr>#JETzbtaqA89nZ$*(!gq{Eg;8g)L1Dk*|Gb%Fe z{+Jng;*U3N>a{Dc2#8j13Ggx8ygq8y!Txc=ti4HIqW}8QI|ZS|YTrTw1KNk!oJkal z@Ly&Io~3X%`pA6=ei61)r(#_0s#ZSAS^c~shQm?$Y3$3UDmJ0Zo;2UnAoapV2oiK; zKH7<{qrhHd$;&+h=H_8v;O4$%*7n85>B{v<4-qR3a9JHo%bm0@y88l(xeMl~cc9-1 zJi)CbDQFwdH$kYjp0&hsv@i_8{eNl~3BR?A-8(;|<<9gE)k__!Vz?4qa_pzh%H29y zKRC#);?@sl3uNKnE`MS=rx>Mz75)ptRdt|jdyGIJ|AJ_V&q2wM-?9Kn&tUB1A7ndH0XL&Ulw%dpKGA9c%7p}!#7Va*1@ z8y{;`s?IwU;rr%0$yMn1uTPXQs{TLP-ZQM}Z4KWHq9W21kzSPE5vkG@=_0)gC`gTf zfI#R7(mMz!NKty1E?wz@NCycup_f2HjkG;0>fUFcGyj?Enh*2MPa1xPWUc3Y-ur(0 zamU@MyU&c%J7U=Un*AD3XHkqf{hkOU*OBt2K5z6Hp>*Gd3*sgMsnr2TbO&N}l@lVe z;Td$Pm=Y(q0Rl7QDK(N-I6s3PGT9apc4fHtNz6SKZLw!vN?POn3q93ylN?<_ws4>S zKr}ooc1+UT6QF5p?3%=hx2|r*KQGW@QGc&Xmh@ug;kME!pBstHI+Sk1NZ;E#&65}; zX&=Fz=dM18(*d`8ycr_^xZPu$BBnN-UgM=jYdCKAu~w?*FKl=Go60LcSkAll-;kLb z<9EZhFq&b5#N+Tw9nW zwz-0~>AbyG32XQZq9zd&Yx$nYUt-|cbStWJyCQv#MSJ;Ti{Ih$OtxNgw39B_AqFcVXHz@g?2TIrd{syesS=ujtbLO zkC$WhLR+Ys+~awU0o}ZR1nnc)%V#w9##>322y^1Pj$^KB5+Roo_Xf8T1@?OWA3|4o zTbt4w>N%D!7qn8@`LT`d@wrGt)yJG(oLbzW)g9$?WaJ5U|8A(9bBlw6L%LrbSq>uj zZrap!8Q`)LxME&nalLWOak2ijBH>N>dR9)}hY~J!cn8}70(>ptObHCio9{o?n>f(U z8I3hLBc&Awb5iai(t4`{#JHT6)#$jGq}z*HXRdy5K9d|R*_5F_xq|Tv%?JMuxhc$j zuHBEZ68eNMCbK|6IM8#3^nM-N(p`%CmMq>|@FKs*V={n1ZHfjMrWyfC03>>8Uy(zr z2iW|z6}**AJ-z(wczZ^~h=s5~0t9fs_NC8q(h6+5t95y#_%RJzL_U@9OFIyRlJV`{@(ve!YtF|aRL{CN@uh_c!(NJz zwwTi&+*j+T(yg0WoU=P5JCE7YF0C01q0zSzmkLyn?U>~rKd~wj%}0{hXikW5=qWah zmSrHVwb}x=R6a9Yw8h^T2t6F1BmGA)C`?9%HPETWFxD3G*Z} ze#&>ufv2{h&OfJ)A&7LF@pxGGgq1QiIaj1Z@YV%+ZpkZ`v=!x6)ft(vX$wq*wkgJ< zp~!w$g<<};8OU~x(Y!#yx35`JqN#bvi;7(CfLQ9-30Ye|zs+Q8&agGJEuzlSJ}X%_ zw$H$$ENL~0RMV(rrXiSqHC-&E76Q*ox)3o6?j$GfZtAWFV8`{cT?1LzzKQu&nKURZ zUkU9qDrZkx7bPk-7MGWnQdMq!RTZ)qVdkAjhkSy2z<#tC zsB#jXiQA=`r2vj1k1F~km2K>x&}MONgLZMGBfhD~#d7DMhkW|l5{saPQTkLPrhiZL zw?R`aeYV6VM zEYme?-6IUW=%yL(BS4L6EpSqdK;08nuv`GIXTtweA3V!q~>tm`P* zF}HXW-=n@sk{G9SXE{Ko9y1XpMYO>5YVL~L&kt!v=(9+SJiw?3`*Q7`esI)rNbJ8& z-|leJ$dz+(p)Z#B%R~cutHv4W;EL!D^117I@#R7(6w%e}L_1{^rkHs!X|$OYLD8LT zSr;9s`04REQnAY?e?ids(M|I6(u(Tx?ZyZBh^e2LYPM!)1%E$nhm zBB;@C!mw8qU|-hsmFgdDnAmmp+3P%NoPK-vyvlN7pDLp-)6?%fN6O- z4~j{~=UeaxWoXxr9Fwfay|EEf(r&e5Yts@sV4UuspoU9NYmjuP~0C zXdxXeJECo=<=lMlnPii0QW7o;PNf5e$LGD084lbzu7CT$EY~A1ti;g}vpm5IOL zqfs5*^Mgj`OE+_XwE2AbXQ(;-hH+OTQreM02w@Xq%~yi`z#4B^ujiCZbeEZ@x-!Z^ z`{iqK-p1N&Z>l!)2;+fnGWb+yhUgG#q4NL92-xA{8G%pk^4Y=ZEm*?#?)D=XF?ood ziw4~BQ>h+n(Nz6n>1u@@NNvaS+j98g1Lv}vaf2J3j&VQMW{i8Y2a-ql>XiKh z<-KeBy#fa@v)d-?8p5gxe^y5?15QrXLbvjOxu@2p=RQo!}H&Vhl3 z7>=Xybogl4+avct7?Sa6IjvtZU)51ij-Ub=>vd;a0m5$Qs-z=Fy&VDJJm{uK=W+%) zeJ;(K()(3TlpKKPtP4`RsTz+tDKzoE+hz-cmbc?!mZmcnND3jdE<(!Q5&8_B%!Bw6!%vav z8P(%QBY5?~8P)k)@w16Ph6XRzncc}*PWmLJ;~W8@8^ov|=8Jld*g@Xr_A{tMEL%7s z*;Dk|FLJx>Au_LRav4LjvTGm=tK!+xoa_Nq=p5;28hY)=D-@7w%i#zKAmiJJ()Mzv zXjOeMcn-C#lKDOMVOPvsWB~o073o6XfV^^@hgtaVh7@h33m`Mw_lD{HC_Zh=k=&W- zzq!R_QkY{5QPn!Mol#nlBg9DpQL`yO2J!ZmV{F%kqbvf*EIS$ZTxY>VXk_ zb+>rdxlB|HR}#CVCZuI_b1z40aF3$70MDTCq!2vbU@l?E(vhY&Efu}jFz$7>s&d(8 zT>`*zW9c=r4LO1Zl@rDEGcO(SX(DspeGvXsuu^G;2&^OGn4Q31AAm2XSQ9G*A)X7Hyred~*r=1@Y8BLU=?U^DyI zl%uQyG54=22VeRBPC3Tn_I2VQ-?xNIe5@>?$G1+NR*neU`H0Oo8tpaH-H$nZW>9yO zFhiJ^fxO!{9fl;ed{m-*ohthKJQIt7@BCcQVGAePVLQ@|#6uCCAHuhNF|{GNayKbs zJ2N$rl;Z%B^haN97u~bT3wrb~)Pfm<>zS@}o-6xK!qiZdRF$)=31}cdhwXDgL7k1pJP_wSiGB#B(r% zFB1My&qPpEof*F?Jzk*F^IMMtwt&LE{o1tT5IM*l{{sk@lJ^-myVLp`5I)5V0O7)2 zTi%8!%`$7s&2JysrvrWg!e3#ow-g?8VyhkwS1+Nr!PepPhs1xdl(qx7*rcBbAQOo2HGvbeUt3>3Yuk_H`eQm}pY(&JC&vbFKG#zRkt)EJa|>Wz zvXfQw`QdY_{*-2ROmGSQOvHZe?z51xLq*exMz1p*%j4*~^2`noPnHZ68$8cogYbyj zmnFgmo(JZcL)|3HIOV94qSf{Gz!Ff+&c3`Nv1_h*Hfp?FBa7mgH!(3yU5OPo<+%5; z#VFp$(e1^3cYT`6E?W`p;@_31MV4Btmva}S|4cM&4^j!DtP;RP$fu+xlNY0v-R zfDaP9dFsnEvUzqP9=+XeCOF>YgeWIk^Sha_B`w3CAVO&E>cE^+PdT1YG~ckm*W*+s z)%bH_q=g5g`1Zd>7l&py!2(Xra?5{>E)H>{i#W1(B9YX>&8o}eQ(84+^Wg_<`>DMj zzsWXz&{e`eUD846$+DO$ob{x3l@|M`VJH(R(`_?J_9N+1Fpf#mi-T*m#!mWa-c^-N zcNk3)hHawfghbrTY4{w{kTze+&l5_;P9E6_PYSDy>nl5^19jK^26dPGFQ|KK8VBkw-Hxty zdg=EMsGAbK|1VJY$MJGn`2&QT(5%9W@+HG4!0d@ryohfRAj9+CZ{OE#zBTN?SfFhi z?)^7dy9)=_X8lF-FiHDE^4ProXE>0K{rYP-09seL=|I!n;x%*JbU>5psM^3~%HBi5 zA0F^;l!vB^A_)Xm*Xb0Jnh%b`O!l)^#%-$WN2^DuQ=wEI!F9ND_n5|v^ShVd{i;)C zL!|^ffhE;+Y`f{nX*x3P&Ifhb_RPtIzSFFzUeHV-?WsM73Zap_B@uC`F;#_RiYDup zrG~ltUxUt}!%cHvqwQ{+_aD$?i=scdy{c_%u}JP=f?XTcBMX(eJ#nIN%qQo2K z>|YR!Gx*dQc{+-R;8tR(QMZJOoKB05uUe(r7%oJ)S#vi*9&2xgo*{ zPE=6UhV#~eE4^Q0ZUzTxaYDAA>{^B0U?TJrE;iS)JCm94WAf{e5E%&GH;Ja*+31>Z zU(u>MM_2PZFlUl7i6}!wfghTcoOCWgMjDpVF-PnteIh6LV-1J%sHXErk;qU+=cJ&_ zl;CN+{(gF2X9Ytb0fKT&H$AeW3|7lgvUz5(V=(HVkm7Nyjlbk~V~tYcfjVs`NlBe1 zL9#{?%#JNX$>WPP|Kz~A`e+vQrkH_+fx!J(I#^n_`x!ktFRRYj>MVe-nn7ZRjRdcn z9q~$%hW>uxc~w2a2iyf&WN|ORqKj8;Av)gx`|^5c!YbS>oAj+P>GnZLvL0_qah=^G zQkBQP#qZFkNipxs?UEbvvQOjlG+gNoj6>r_PLnAgGn(`H+5GKDJc>lDbjH#t9aCbF z>XKc?Cte{zWp>Zo*=qleyP2>2jA8Dj;A~rRHWNfwA#I}g&IDKCO=djf$T2r{#c`tJ z#Zl{Pvx?So+6FTX3X)17?Doh>1|t14_r&sST1AXas(iaKBS zda=?)`ODs6iLBNHyrptNn28LVd3IUWI~SYlusFEoqrE0&?angeelQ*_>cyosuR zyooF~^`gE~vj)iZT|R;u1ErbyC42MA@yM+8gwQ+imZ2 zI@Di(tE6Wb`{u(kyt$__#e&>Q%b!xPdSXKs;ebMA$;Efl5{_xm&qeg_{NEK8{m5O#4Dt~Z3l z7MNgT#?^{-a%SlM@4_yPjK{kh=89*-nPQ)vCa3-&J;zVqH`X)j05lJ-rQ$J=5D{syRG)H`n2ROssaw)4d9rC#|OUHmLcro=Hx1pxQcu zM2|)K+;X~F+5ulM$%pIj_UTy}GFbm&fPxkF5{>#; z(xRJUAeNGVlP)f3?@VjlM6f8FPsBnD1Kdxn(2j>~vxFZp!7hMkfAtw$u2Jxq`74QNkfNw=k-PPy%?9{PK!2Xj``(}Qx zKAT9`>@_>4nb{H6W@|P2dZ9(Z>IFg6-D62ueG5Bu_EM7xgOKK+L&mXgOH;$S@5B9i zbSOS%ph~xjiZ1%*QAQ=D?;qJhw82O>EG1iNS2xZmFzB{6`@LIt@ccHNX|@AYKgKXS ziEYV{=f-T=Wy%#MC@c@z*9GtHWV)~c?_9(1Wd=0Kh^$rjP?~JyS6O{(jk(@K!ou_6 zYI;^;V=(il?Qoj(0y7HFN&EiW35^^Ce^d-(vmD|Mo<=9B46FVya~5D-9(Lj zmF3h^cL2_0$_bpjeTgE#?&%c4?{=x~EE7<`Mo8Ki^qx^_9#vq)(Nzw_?N@gVT zF}Yh~lsWaT)K)07Ny5&J2xh_f=0gWPPO{AE@_-DXQQRh>#fo~QLi6B?p@?_1HsVI@ zN4^`;YCR8`obM>adMnG06_1N`YJ?nRwrMbJ$Xprcr~zlO!uvvf7MtiQ3IjSd?u1+I z1=oSwXSons>^GU>;Bebix)}h$#pUwOr^o0iPKN^?ydj zur3-u+3$Q|=e61~r_;?lb$55=Z%a9io-T=tOUnu4^6{9e0V23p7^F#h<(mx;_lGoT9RXLJZ0bMzFT#g_5wH#?9HiQsmr}Q1Ef%6AL7~rEfp3b z9=j2*)7IX&PTu%plh-0*F-c+X=SGA z;gFyB9hrDeFZ>Che(b|idWcpUyHt`<_lDMk3*WZJ*_9^gKBiJP^-P{=u_}xvPSB5* z9*bftClHR!3&m^Ir4j>5fxTP4+}_{T`7Vrx)06+?r0dh?rzTV-&#DZ(rSSZFt)Kc?MVW?_3f;GSc3FXEFZsU6XbVxYP0lne%(tGT zwxa0%f;^Iv{tJ@N{n)eh<=M44SbO_XdDxblsX*Hq^$1(UxC7MK?iGnEyQ)c7TsLcF zkDh7I{l`VQZwk8HYnUecIuA0h32WdRmt_{O(=HX+)0*x_!_#>BM3wxjOQP$p2FKj< zxWLlq$TNDz)Q>RP{_$f58aHE~Y(|NRoU^B;%uMqB%2A`dc{aqHK4?@6Bf2==gn%wnO(;;?dL zXnQ6VY~ex5Ltw`eauPlyH~-#q$j<4r#`02+&b7#a!+lV!TndAl1#_Tiw_|Z1|I)lp6KgZO1uNpFfmPZO1NW_a~4(} z$@o$r;6xTZVleWeShQ+1yFS=T*?9eIThzW}fO*TA#=7fs!E;;uh0F^+;&mA76!!PN z3!v7hI)_rTxx8VZLz5R*hPuZyb0}J? zXdXi?PH@-iAJ_&eHre^Fghhql#(Q?_&FP`P@^5`q9DI7z#yT-12SX9ZU-@6ql=Pp}c}ZR2 zHMfYlvbL-*F))H0lDRlm~_ zk)Y&yULf>QTyO5fuJb{iZd93-t>GnGH4OAn36g>6J=C2V$?}U+(+}XO_lpKAYV z#r^T*#Mz*uK|JhWb?Ztl2L%LNc(ff)1XX3;3Pb$4r8!S+Pi!ICqizS;vcdE=vjJpX z5z?MnyBT{O1hxLgwoP*T_TZ!fq)YS2+^L zoZ+h@??&FZ#;eOdy8Kx5?TKRMkSqMH+@-d}y-Qi4uC)8St?Z0a)VLTmh_|iu z&m$(Sc9D7g8dB}|x_>KY>TgYD!Y5TL#a&QM9E8SP8)B3wtPdH2SyI0@)TzP(v zy})KUdp3ZrrYZAbL*N$BM>=M?C37KMV(AJm{OP@`&iwXAjxTqubjSdIE3Tm+!j-+w`^Ifm3<`0-*{d=UVbGz}|P z!LdYS0ZYXHH%f%;hYio0lhF+7%%^VvN~DrJ7kpv{xVrc#V;s68bvkcjvyD?aFbj?V zCDQ+IX(YEP0Wi;=@D$n`Cr2V@JQPRWICce`ct!qpMiv8Sq+s8*uN=*;vLVoBw8xi? zxocR7-OjqBt!RV>vB@mS9XDya6&~p!xn=6?x(Fkqz*`pX4v?r+$f7}qM2Q!ALPw{` z)WNX@F2a`H+4E_x_4}?+qu+L#yK9DPYBO?x36|MCq4@}#*U7B;J5g9K2Odr!J8k$vST`bDsZZvSiqYc z@!UW-JNjsA$kIrKu5_5q!TqDLgqt8L)#U10Y{`# z8UZKFnPSuwsw`R> zJ@-%!f(Xg=WXuv6{sR(Wm9fQvL^c|wR_^qx0g#9;kZ(H|{R<@WaJQce0s$lU-yo3+ z3x7CiXsH@}Fhpg)#d zsv6XjjHQB3WYATk_m0N1WkXR`Vw6V@QnW=%ZqqLfGrJcv^e0^Ov)s_b#nb)TzvJnw z;NDyiPggvUZ3_H5o>po#e(WX@3S1aaMw-xe(B++Q@{zu*L~pGAJy$q6tPsZ$vG^a3 zi2H3rm<^6@9QrIbZh);esYnA#*CS`TWcirriLOl%YP6eDvl8Pi~xPlg?A$p z`K1u>bqgpWz6d>Z=RlOmMkYy#-R0Gt_1`V*`)mhKR15K`FDOdr=cQmakdBdg@U3@V^cNA%fsBPFmx$4 zW8(+rH5E@eJ8+dP^8AduEV)m16>ahFO?1$fCP#YbnAm$HAE|HTr08FLi0esp8G3ZPKx)mJ|-sBW(Ix!@Ynb(0-S z=V*MIP_w!hW}@ct-sv`^M2M7HAAASX5`&i3KO#ZLe~Sb!LQqDT?E|A0xitU`-4r;E z14HK+E<}4(T?>#ElA{zUg=%8hi(L!XkAlYmOtSXpwt%%=UeYHT8w)jhuT*#wC>uyC zwXGqF%c(XdWa#fJrzofCr2i>1f4l%#A`AEoJjK{fbbfm#!G5$(JCzLgs2f<^^?Tr< zU)vxB%?mfWx_G|A8=_~*(hDz*9}LsXFgIMS#dZ{sGC@h&pNmVy*oVHC zUX!-P&l)?s2?O#y`zrvt`$xXF^WXA4IlMGhyoix8KVhGH6AtSCuPx#-Az2ZDW{3mU zpqr5e&9FF;LGw3DBFWn=jwtfR`z;Qm2i$M0ja1hW6eUM7vK}Et_WTaZwpDRb7@cEc_ z1?<@3SR!tDg#`ePyOucJeSQ4>qA)OFhQA?5=`%C8Pnc5Tpk}beSL)0pZ!%w4tc~qB z;~GCvPR@-YDqa^dy%cHbti{4m|M|Pbye{bO<}PT^**&*wVFs0va=Y=Z%67XVd)G&u zbiv#-T0a8rB|~s>ydv0w%8;<^b$d!ihKW`L=g{NlweZ#-vm+>;YVujNgs)#&2u4JL z?>~->1nN8e$&FN!U_^vMNqT5^@|qF=4&XMaJArHBZ&KL5Am}IeMaw z{8{6mAfhg&S>4cBtI*KsS!Q8%yY4NsljNHUwjIxM77$L7&6~Hq@e_o>eMwgg6Xomb zMjUHs_>t9A8nu_Ag7t-1A17SA^F&T4vuU(ciUpvTaWs)o@AAYizg$=GVFL6S zJIgE>Dd^NBm{oTF&UNibfAK{008ivOYS<5!VsXtVd2%tu@1ZpMEawAnR$xyt^6FKA-v_{clLH?g=*kB&xUaEz~pEsPs*suK?ID!Wo=KP7(gW&B`W@iA62b>|6Z{KN8Nzx>S*rvor zOsP!lmulRHP9kfoQyva4w9K%4GM^>*6lxI_6#wa1lSO`^JC;|55X13GX704`G!`h@06H{N(h2iydde>? zcKp*3WXSv)R1oW~j^}2wG?-IQ6`LCwN?9sy+F}_>cYj#jxU90I;_B+*!5ISYofQ$_>)2r=7uHmf z`TTc63@V?OD?mcr_yJq~Cm~iycz)v-NyOu-0<)mpH*g{oN`Myw6yqId8EmHNUGWkZ2 zR>%%f3*o@5OkRCex7VI5p$}CPh9DRvr36+K@1d>3{k`CRnI1?&8!g}40aiQ7)K*UX z(mjm&M6@Y@DFPv&13Yho!J3}^bTPe_k^MI_xnNdT=PzF5B%o*&IMXq2b8~${Mex_Ao?W{0MReldHIw5 z4*kx4jc-?WDUR`i?3d$uCUQIQs5@lOpKQa}4HX-?N8;sCRXMtcClxlKJY_tVoy@tU z;;DbRN38fw$*9bpk*UUTn1p*S!9Y@`E5jj)@R6b z2`z+w1fw8YB)Bsr-QaT^0joYSrux#^vu$g_Zglz^;eYXcR&}}fcw^kBZE53 z=*B=B&Rem0{6y@DC(rDUt^k^yuAArc7!xk#`sQ36)%OVY!=KwYqZ@SV*XaNgIN#VX z{?rL22~-E7{O!}7nNfM-mPddy&Xr&qL58D?Fd<~YS^u-pBMn3>x&17CD&n3xd!jF2 zv1-=hMZu5Lc$@bAls@X1*x0PPppIGI2`MF#Mye2L6YbPB3ro<`w5*Pw);~x=Gj)nF za$yuBi`yL#PFMv?PZ5;7QCx1>yZ3?o%h8W|p1SKrTNv08oqHdm>=7Yz9vjqtm_ep4 zv+@w5mlDO)JGf6mX=CfezDp?@N}l7Gz|+8Gpz!619KB2hps*bN=*kDSYS|~XYLezP z--mxvuBFGbBi%nNA`~HCJ6|v|0LJ|`!5UYtt&BK^F*5hPwF#f3{-?TNHTsH6F%Z^w z89ap;j?Ik{+XmV2vQ0450r|x&%>2oOa5K5*V*SWqg<{;#xDTrFEmz@GaW@}p^zG{S z@EuF6&oWn|zqVkQLVfrOVDE%hz4Ysyr98wiTbv1G{8Y*bO2lC!!rr~<_4LUE8CaXn zqwSab@`W%DlhGF>N|p)-&HSK-Tl=Sm8+A~01bUlp8vm)`=6<>8y>T3xVW*6D7i>;_ zhPZg)nU;sj5NsTcZAYeP*N>d=SRuHiqFpt|^PGQSN1pr#J94PuXm>R6nThfTwyLdx zGKB;e*lPX?Z2w?KX#Wd45-4}4l@g~DjD24h+HuA=A*J%4|4)lss^Qcq4tS05Tx{mG zYOuPZF>=NNt88l<7YUplpLo;|!)d7%d|xl_f+hrl7jOXzi=F2?NSr@)>VPXnG>I(m z3EiuYnb3E*xcm=n#6tOZGMj;2E?@Ppq6!nKMla=L+(0iUAvMS+BTuijdmOstqD~$J zBW{kf2eNQdN2&8#g)`jd#2?s`4Qt^+e{c3Kvz_G_7fyHF6K@zTaU*QAQ&@^dbCh>!P-vd#^{Oc!AS19L8^0et+!-(TPyMAXU=S%kA8RowvmO2~SKhb1$nG z@?lP08O(#iyEl_cg`4$}aOOpbiG?^_7=A|6WvfGQL$l9dug0)#1BPDfRimt!DT7R% zw_6CU#wC?VN3Gpfkk4H6N*zZ#eK{VWfQjOAh~;R6InmTCiHMuDy-M$Z+s8X0;wWUY z{^KZWTn~?<##S8+U%TdzuQM*fo&_(0?t+8ijKG1@0W7v(3^4kSTdn^SAOzeor#w-_ z*mRIp*8M8i#=#vaR}4nk8+JVY^Js_Gbj*A-F&Xa>h9^R9$bR>YcIOX@sZ#LQ{nkY} z6k3E10bG!mF_*4a0gjfz>~*wyY!t8C3>A)})%;%^t>52%h750R*ob65L9?C6e}GP$ zQDMqMd<J*d+BS@04Ezfrs=Zng`=wxI#V^w$Jz%g5pow_ zu5vO~>&Vd`IX`45tX^6hFqRY0$=Gv426fj^1W3!a1x=lBN_pfmr9(I#h9st%+YA2G z#CMP1%Rvoi_H!T}TpU8l^9w4qa1meHP})${VDNjBBMfm?8jd<#!w&5UUo!X7crXmI zwKM?lIP)5sD5d#XaF}&2f=j|W;JV-2Y^*PrKk+bN5M#ByFbaABl1GDze$`&?xlVUa z3L)35Wsx$-*M2V`=@PVevf)vFx)2x6Gw?@{Qa(J$^S_dRj0~V4 zt!^#F&)?}}%7w^AXaS5%&Vc*~CfBTq7UI#&eUz$k&wKbFi@-ml+C@Y7?a#u`r1ggY zY|Z%TLn4Ldd9zc_zaaZsjft}{KeF(pHFoom=?~7hA*x3vK)C1gk8sa|iJWhit=4(;)}9;x=&Z?Zg?&FjBOk2F?j2sTgm}d8UBl^O#Zm}WBPn5^WF2sg~Z~l z&%Lh6F{z&QN|*<2wQz3$e_rc9{ycX0uKrMVrMLH6X44S1h;<88%~PrCcOb-D3##2+ z`l78>1YMGR0tzYZW<<4_YD0U<+wPs-{)K!$Qth@_>6?3EZY+!RcD&SrP51A(r7s@2 z0mw+nj*01A=0A{;z><%So*+Ny;M zgFrzwZA{Uy^&Y*Vh$-z)s_91YIU%@m1{YG@Gj_IB3=~Wil~oxgK2W|5G2** z+{G)ioye>-f9YdW+UbfsjwRVhtrnvdp30bA(QSxl5AnUb`>CU##Q8ASny~(^tGS3e zfDYF&@@Y`?A*1chuXRT^jI3Xy8*AI7ep8G2rFkCC8T8|X4YW06WEa|I@K3z(Rnm64 zeXy%Bx*Q12<29@=+K4h;`VpH@{#u%myu|}iYC*(j{A2Pw@`@4 z1=q!m66npkx`@F>%;}uI_A$s`Gj_omv^BJb3#T)+=^s8jKl14Qj*6SFvpD{@_}5*G za-!^`(f5jqVqcGR(3W^%Cv>#`pR?L}?H4^WTuCzr8*&JR@cQP_-~V z9A9c)8-IJ|onw4uM$q+~!%I{LqAQmS8S(nzd3K!{Cj=A%((Y%rIV zZkg+2QtGbkkq+6EHJ^qTVic&j*amwnB?+b+K2mCKvEM7ATAB2_4LjRtXKAm3Ep#Mc zeM~@Zn*(y&k*}K9Eq3ZqKOhkPTM&9(#_QO^1#<{o4T^}RhMv*aygiwGJnVJ{rLFXt z?yV(mDUCgjvHMun?(7y=rGqYdmX!eQ^CbUXUoo8_Z)deuBda2O2o)8(EFAkY*f^!@R1LbK2WrXnCO26UB}Ljl@T)lfL8yV+p_*% zm6AV!u5Dk(W2+j>1xNR^ZpGXN)5BJywdSb}L-6JLH6#@jHjcDGK z3OSv5aE^9gi>{>;qg)M7UI~Zfw_ok*8YOw!5 zz=%rT*AEXXE9Lzic*E-cjTV({3PIHZ$JPAHn7uXUrMLsTIkyzZYUV4!mUd z<(cYT{0o(^qC{+~X(M{3Jk(L7RMCkHuIk9Q_m)2gs{B;4a_y?5Ud-|$@k#f10hz<; zdnsRxz!{}YN9;wZhTQy+7eALlF8|7ylkQlwT_fZ^w zV9~)+A)Ermyv!q|3=sZgrnZ#un%PXm3@K4Di9IGq){#m`deQ7fKyX;sDw6f;%K&F{ z4tsMPdm3g9cq3pZtOdRIi#<*IZpT;LABgz3?AJtxS8__F*e6w89@0%#PQlkzR0$AWQ<;@6e(v;+CwBAvsToLpAn zW2Q+)q&hbW&!4+97lqr5{%|6KWkc3sE|%u{sE!Ip-#1?$GVOCJoL&Q+j&om^;*~uV z6%wI>KigI~f*#p`P7RqRurSRblU_-DZ?*d$thLQ2I~#IBG4YfFl26Isd3tM5{<^;* zpF;89xDn_8z>NTeLko31#;@5G zksHlSD+PbIZGH6;XN!u%8|@;wEyE^B=ikz;OrI$dBjRa>W!Bev_2oVtRgMCPN zlF+Lw$z8}nUH$@n@n?(7+4r*>m5sW@HK!NLA5A6?oa+1qXOXB8VoS7UML$524Y3nhzCCIgm-f48DJ7|G1gOba;8>Y4gpN&(?O73IUc^6?Gvj za#tV_tw;U!Oz5^lka71b1^oq4Pnd`@#zyK@43)n~b9lHz!u^Z8&GVbP{XGEXQZLR* z{}kDjWVPE7jY!< zkF)SPa26_37j1Fgz2U%N_t?Yl4(u0kgbGI-`P*6eAL0mb7FGy9Bv<_0mqoH|&I@K@ zcMEF+8*Yv|evhhSN86ow`@Z=%tDD&7I)5%Q9ctWC-83o!J>F;(&klrpr==t)v&5bn zvk0>3dE?^53(_~6X30n@@Rwa*w$uHgLh*LT(YrxXtQ)HnfQ14`3gk^C_hUF zdp(RThZXG}eETIc?1!R1%sBCtH3@Q@yae56gmuVDZ+FU-wlAEoAs!!pR(3FjiIlo( zVHitY3+*QkjmvUfrdFDo-sYw1f5wIMjPDXn3^KvKC|Jq^T}>p)Yok3ZoP2fHUPmPL z!xgRjY_*WwyZH211cw8pw>2;ajo^NDaC2zON1$lhb|S@0w6X4NxTZr4N;R2nQPJD_ ze`rv*f(EsZob4viW16fPleA9lVU0x-%xgR^u2ps)E2?AfCKIte;Vc$wrbk+Kp-R4z}YyV)DaEYSQm>Hjg^g7%hCN$KU!{i6f3A*y6AHy52<}M##=*Pr%J1^k>yc zS2{@(J735}=uf>_c!rkmx%%8|tJ^E(OUo@xT?e6`q%HU^UTR5eKQaj2Cn|g~qjs3w zz@AIzP^I>Gj+KTTw4VNDcfTJ$HVFxqMwA?wBBb<6vGIIr)YtS!tsAaVezpiy zlvKfuB6LpFF=|~IBE$0|KJrMEx7kRRGp~MXM!v{5txwwTlNiFzUu3!Qg4H9-W*j~N zB3-PK_GxmpDS=LkLN)lNVc5U;QRYF)*MmBR5Dzn}V0o3WG_JQ##U+d1V3l$wSN&^& zpG)##O+;7QcP5IdDfs7?EFr?zikJ)LIf1x9j%S$&407vq?1VH*?S<5Hm=*GR4qb$d zm_-*2RsLYmsryWVIn0{c&xNJ6lZBnJ4sQwfn*$2Io4V+dyM~Q-$#g$)@jFEPyAT@uKu-KISxecg zgfe_E54j3-aN;^urY(?O=sSsz?j3uwSb4wsmLOei&30${F^4V7joS5{*h_{ccCs{k zYCMvoqnoIvyXSAsb~WlFD3|n};&b2ykVIwFm~DVJObr=vEU76V)QHJ28fyOldm&ZL zS>b|}f>(Xh4D9DE@ol?RQxI0$!F!pMKkQpLMr)v#UTnN^oLA>~5P`{i8Yif@%YXC7 zEgAI8MD95WaE>@Wd+3CeJq=+yOIp~U^?_lwGBNTCWRX4wx$@3VfO)*_cHSeR_;z6z z{sn8uDPb8IFhasN-88~Bj@jncFfjYh7OJ|ianG9ee-TQyqL0ZqtWSJukV!ci?Bmzk zD{YC2=J0zL^%$y_PKm+Y6H(JQlK;9q{m+`u{1wFXe| z#qxEfxm|7=>&b+g)GJ=_kAAji?&4)LeSV)~c`T84GMEdut3NEVr zxYVxvNtZi5Z?GtPNm@*+acG~;|#ASQ;vsC6i<@R^iAb>Hi^@EAu zYd)4`SfH6{NQo5bmzS$G9G+8c7|lx_XNz)(Vtvr5%Q+7br@sv56dbU=&*Ng0X7nI0 z%QBj-{rP+Lu?S`#+_!MhNjWA^erZ9sMvKJ4<&|4n8{&D%LbpYNvV-eeT0*+6N31G* zg_Im$ovEyN+Vkb3ZXH6S!$ggbWu66kpl?Q1H`-+7>47+9=RA4Wu9KJ7!LF^5A>F}QF07h&($#SSlShUkR>EQykrf4G!E zDRw~DSEEDX`}?wW-lAyFLR0CEPPxw)rW53TaY^PN<|aN;pv*9afK^YE8A3wV0U*WmP?rKnR*ux+CfTKI`L|geWJ+{DL}O5r4jO! z@`D-!bz6&GM_*J)inChN`Qwk4-|o0%nD_dz0je?+t(`mEDa^;D4BFsUMG!awn5~~e z*e~ne&aSw8FX1-9J-ZAhFoI$tT&?rMfk`|RabS`KjgftttUzn4%bg2~mph7rS!3kz z0s5sLV`+@`h}{#2nQ&3@EL=Tf#LTpm7pxiIo#M|YH};Lc(j&8Yamgt4k?7ck*OWXu zC$gBKF_H4gwz&?Tyj2<2F$bUfM-J7twIA&UO*9o>ufr@W07YL~e+(R8)Q z-xdodBGnA{-$$anOsA8FH^qCm?~#%c(4h2cwn0yUd#p@E9jenbE}|AleAw`6TWUD& zT;TV`3fw>h!u4`L_Fr6*hX3M{6#wFqOyjsDy*MsO?;kFSY5G(XrgIU;C0PmBm%TKp zf#Z@0t{&35m-6BPE(zQJiA%zPaRTZq045=V`Dg*IOULu63K+{+4Odw*JIjUF%H8K* z!V}s-L$5lM7&zpasGzlG^lw>X)EVcr-|{h-OSa#qd-97*awm(d^u!HGb`IN(5bI#@ zgDsEy$bJAVfEs8tld2C$xzk=x{a>`5Wn7eP_pXOV5fB9FP(V7R8A5#|q(P-aX%I$w z=n{|?kWPi6q?B$XRismz0YQ2Oi2(+leW5<@`~G9^Z~GfRzHl*fuWPM)t#cixm+Z6mW9wL@h8XDS>;OD@T*N=g+G+@b)M_4b3xukWk{BX{Cg? z<8@&ygT~ve^DaA>s2wFq9$RhjY!C^F=SJ3CmMI@?W}(gYo-dv>K9 z8lFu??649JbShBv-Y^oE=cc?vXCUAWQR9xAr@_c~FHrdEp>ehux|umAe3cKILK`N; zE;&WZysy6jplsW8y~dZ*FPuo~P&r_a7+z-*)yZK%7R8JZ`oJ?_5}w#(O+wjak)X1v zM*hy%4hbXPG^;v~SnmFi(&cR(g6wyH0%GuWpB=~dxlh>>Mo8kDRH6QB^RFu7co6;G z)B}GO=`Wghrc$7JS1X;^`Rv17uT<*XpaWA0^{ppPU;A(!KjHX4g2V+kvwdv5d$Xk?`;_IFQI6*g1?$-~@6+xX8~5WR8#R6Y4)OZXxJ9;z zZ&FMj`sfi|z=!!_2V}oY&-wMZ&c=XHzCu(M(tciiGoN^(G( z{Z$2{7M?2rDoG2gs>}ycrW9};}GOaS2?nUY%7_%-WQas zh6v7|aerg39zR?eZ7qz1xGd9&ww*WH?;{S7fh@ZtnR43_o}4XG{yTu}vUW0xRyVC~ z`2i`kz}FEp95fBQ8+FZ>#^fM3J00Qr1j*bSn>~bun9wEx}tQ| zmHzuvg`#FBPslNg+*J9|#|5HYU+u-2!Ruz5!0{d`2!o3*6>n-v8SK=C3w1L!>wNi2 z5pu1{7T5w*#b`tcUDF>^Gq}x9^kOyfUaZ};PhSg%3AH=j4K7d9QhuT6>-;x& zo-!6`uabb#NE;Z9K>y2V1p0p)jVLhlN^ET|GXzBHz^^MmoA{;We&1-ewXn6slI~7k z?YB_n6(D!s)>#+u`H}AEaXEC&K!s5~K>Lx%~_8Y4?cX=QN;wrKunRR^~T<9_t* zj@2vM-~k}L&yQ?CT`RW#|Q0etmzaYWx<=ibFV`+St4VcVkSZbPb3^1n#zNq5l9 zg5>94TDiwWO?b~K+OFhK+FhR~uda`=tgmmZ@#1V~&Q>Fr*25Lr4vYfCl9G})I4g!J zTWv^ExlN?9kmI4rK+e6EU+G{;)~R!TsRu>^pFHKN#Xri2sEQ;=0{dU zo3dfLeHK;w3HF;vfWn4;#(|?c)v2(~Hr43k;qwlMi2NHj6TBpo)d+cnqe|?Vnd1%} zG2BRxk(}<7bfv@Cs6x1(qwma(ce2AN?mG)Dr?ruP)on_#d47s64?HeJ0!VO9C?N4c z`77F!Piiwa5=vbzQ6$BiFzG*k6rU8d|HOEAvdr(^sm^Blc<(m%qN zhaP&ru_dfFY|-?4yVEcobU_8c9!LaS-S<()>k;{Uscp2>#{VF$ ze>Fj;HN~CAi9~1=zb}Vt^M?9ge<{haa5CB>?_f6T=+!Ds2 zW}TCU1g-Bp3o)Mef;TmPV@q8BJGLa1g}U7DcE6F+tiBQR%>=?F;#&|fM{1=#Sw$S$BzgkfIfUEZPxS8sT_!l6jcBQ}4*v zd3FiX2XySC!@**PIPg#+PMS8*BuwPM{tbDO&ITh12dsDARqkg&N3XNr7GY)3$!);O ziDub4qhzx&xwz2Iq7$ueFmLjiPy8i}o#3e=yCU(UC56+xAuXZ-`7bG$mdzh=`12cb zcxUkk@-%Rs)nzrb+B~m`jQ&LRhvEP0cmNa73X5B)YHdT3=qq)RYIdBI^|UZ`{DUs3 zzd)D#p^@VT%Hj49$?{I-on|fG)we#f3lsy5t4;x<~-J<;^nAz^XS|GGG_8i^D#qt-)7a{msE=wVbdTWYt*(E_B|s0|>o4rf ziCX)3X7&)(JsDZUq}P*flaK<0=pq8?9F|J)ldG{VS?kRb_A2A-#OtlcUHA`Dfb!O9SswY=@Qw7YdLZx&j2o=3c2viJ<+yPw_lB|B5? zuf!7`zVg80p*OpL{?!7#i^PfTRY#k&CgskYwP}Xt*>Rley>j|*=n{XbiT%OvW_c{t z=P91cyX06+R4Iww)o>(PyhVQ3aOv~uK6i+n<>K=ZRcP#P@K=+nYyy{QjSP5l4zn*! zDSV;pT)Gam7Ai*2I0~!Af#t4G#&g+{7W}(!Zowf`@-`@k6-=uxAN

lViBLMUhFw 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

R>x8-Uiw8?)-yhp6W{KE?VT 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 P;}~S-gHo{k_2vHoi>x7& diff --git a/src/libs/kdmp-parser/src/.clang-format b/src/libs/kdmp-parser/src/.clang-format deleted file mode 100644 index 468ceea..0000000 --- a/src/libs/kdmp-parser/src/.clang-format +++ /dev/null @@ -1 +0,0 @@ -BasedOnStyle: LLVM \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/lib/CMakeLists.txt b/src/libs/kdmp-parser/src/lib/CMakeLists.txt deleted file mode 100644 index 29177bf..0000000 --- a/src/libs/kdmp-parser/src/lib/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Axel '0vercl0k' Souchet - April 18 2020 -add_library(kdmp-parser INTERFACE) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kdmp-parser-version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/kdmp-parser-version.h) -target_include_directories(kdmp-parser INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/libs/kdmp-parser/src/lib/filemap.h b/src/libs/kdmp-parser/src/lib/filemap.h deleted file mode 100644 index bbdbe9e..0000000 --- a/src/libs/kdmp-parser/src/lib/filemap.h +++ /dev/null @@ -1,283 +0,0 @@ -// Axel '0vercl0k' Souchet - April 28 2020 -#include "platform.h" -#include -#include - -#if defined(LINUX) -#include -#include -#include -#include -#include -#include -#endif - -namespace kdmpparser { -namespace Page { - -// -// Page size. -// - -constexpr uint64_t Size = 0x1000; - -// -// Page align an address. -// - -constexpr uint64_t Align(const uint64_t Address) { return Address & ~0xfff; } - -// -// Extract the page offset off an address. -// - -constexpr uint64_t Offset(const uint64_t Address) { return Address & 0xfff; } -} // namespace Page - -#if defined(WINDOWS) -class FileMap_t { - // - // Handle to the input file. - // - - HANDLE File_ = nullptr; - - // - // Handle to the file mapping. - // - - HANDLE FileMap_ = nullptr; - - // - // Base address of the file view. - // - - PVOID ViewBase_ = nullptr; - - // - // File size - // - - uint64_t FileSize_ = 0; - -public: - ~FileMap_t() { - // - // Unmap the view of the mapping.. - // - - if (ViewBase_ != nullptr) { - UnmapViewOfFile(ViewBase_); - ViewBase_ = nullptr; - } - - // - // Close the handle to the file mapping.. - // - - if (FileMap_ != nullptr) { - CloseHandle(FileMap_); - FileMap_ = nullptr; - } - - // - // And finally the file itself. - // - - if (File_ != nullptr) { - CloseHandle(File_); - File_ = nullptr; - } - } - - FileMap_t() = default; - FileMap_t(const FileMap_t &) = delete; - FileMap_t &operator=(const FileMap_t &) = delete; - - constexpr void *ViewBase() const { return ViewBase_; } - - bool MapFile(const char *PathFile) { - bool Success = true; - HANDLE File = nullptr; - HANDLE FileMap = nullptr; - PVOID ViewBase = nullptr; - LARGE_INTEGER FileSize = {0}; - - // - // Open the dump file in read-only. - // - - File = CreateFileA(PathFile, GENERIC_READ, FILE_SHARE_READ, nullptr, - OPEN_EXISTING, 0, nullptr); - - if (File == nullptr) { - - // - // If we fail to open the file, let the user know. - // - - const DWORD GLE = GetLastError(); - printf("CreateFile failed with GLE=%lu.\n", GLE); - - if (GLE == ERROR_FILE_NOT_FOUND) { - printf(" The file %s was not found.\n", PathFile); - } - - Success = false; - goto clean; - } - - // - // Create the ro file mapping. - // - - FileMap = CreateFileMappingA(File, nullptr, PAGE_READONLY, 0, 0, nullptr); - - if (FileMap == nullptr) { - - // - // If we fail to create a file mapping, let - // the user know. - // - - const DWORD GLE = GetLastError(); - printf("CreateFileMapping failed with GLE=%lu.\n", GLE); - Success = false; - goto clean; - } - - // - // Map a view of the file in memory. - // - - ViewBase = MapViewOfFile(FileMap, FILE_MAP_READ, 0, 0, 0); - - if (ViewBase == nullptr) { - - // - // If we fail to map the view, let the user know. - // - - const DWORD GLE = GetLastError(); - printf("MapViewOfFile failed with GLE=%lu.\n", GLE); - Success = false; - goto clean; - } - - // - // Get the file size. - // - - if (!GetFileSizeEx(File, &FileSize)) { - const DWORD GLE = GetLastError(); - printf("GetFileSizeEx failed with GLE=%lu.\n", GLE); - Success = false; - goto clean; - } - - FileSize_ = Page::Align(FileSize.QuadPart) + Page::Size; - - // - // Everything went well, so grab a copy of the handles for - // our class and null-out the temporary variables. - // - - File_ = File; - File = nullptr; - - FileMap_ = FileMap; - FileMap = nullptr; - - ViewBase_ = ViewBase; - ViewBase = nullptr; - - clean: - - // - // Close the handle to the file mapping.. - // - - if (FileMap != nullptr) { - CloseHandle(FileMap); - FileMap = nullptr; - } - - // - // And finally the file itself. - // - - if (File != nullptr) { - CloseHandle(File); - File = nullptr; - } - - return Success; - } - - bool InBounds(const void *Ptr, const size_t Size) const { - const uint8_t *ViewEnd = (uint8_t *)ViewBase_ + FileSize_; - const uint8_t *PtrEnd = (uint8_t *)Ptr + Size; - return PtrEnd > Ptr && ViewEnd > ViewBase_ && Ptr >= ViewBase_ && - PtrEnd < ViewEnd; - } -}; - -#elif defined(LINUX) - -class FileMap_t { - void *ViewBase_ = nullptr; - off_t ViewSize_ = 0; - int Fd_ = -1; - -public: - ~FileMap_t() { - if (ViewBase_) { - munmap(ViewBase_, ViewSize_); - ViewBase_ = nullptr; - ViewSize_ = 0; - } - - if (Fd_ != -1) { - close(Fd_); - Fd_ = -1; - } - } - - FileMap_t() = default; - FileMap_t(const FileMap_t &) = delete; - FileMap_t &operator=(const FileMap_t &) = delete; - - constexpr void *ViewBase() const { return ViewBase_; } - - bool MapFile(const char *PathFile) { - Fd_ = open(PathFile, O_RDONLY); - if (Fd_ < 0) { - perror("Could not open dump file"); - return false; - } - - struct stat Stat; - if (fstat(Fd_, &Stat) < 0) { - perror("Could not stat dump file"); - return false; - } - - ViewSize_ = Page::Align(Stat.st_size) + Page::Size; - ViewBase_ = mmap(nullptr, ViewSize_, PROT_READ, MAP_SHARED, Fd_, 0); - if (ViewBase_ == MAP_FAILED) { - perror("Could not mmap"); - return false; - } - - return true; - } - - bool InBounds(const void *Ptr, const size_t Size) const { - const uint8_t *ViewEnd = (uint8_t *)ViewBase_ + ViewSize_; - const uint8_t *PtrEnd = (uint8_t *)Ptr + Size; - return PtrEnd > Ptr && ViewEnd > ViewBase_ && Ptr >= ViewBase_ && - PtrEnd < ViewEnd; - } -}; -#endif -} // namespace kdmpparser diff --git a/src/libs/kdmp-parser/src/lib/kdmp-parser-structs.h b/src/libs/kdmp-parser/src/lib/kdmp-parser-structs.h deleted file mode 100644 index e1668b8..0000000 --- a/src/libs/kdmp-parser/src/lib/kdmp-parser-structs.h +++ /dev/null @@ -1,929 +0,0 @@ -// Axel '0vercl0k' Souchet - February 15 2019 -#pragma once - -#include "platform.h" -#include -#include -#include -#include -#include -#include -#include -#include - -namespace kdmpparser { - -// -// We need a way to represent 128-bits integers so here goes. -// - -struct uint128_t { - uint64_t Low; - uint64_t High; -}; - -static_assert(sizeof(uint128_t) == 16, "uint128_t's size looks wrong."); - -enum class DumpType_t : uint32_t { - // Old dump types from dbgeng.dll - FullDump = 0x1, - KernelDump = 0x2, - BMPDump = 0x5, - - // New stuff - MiniDump = 0x4, // Produced by `.dump /m` - KernelMemoryDump = 0x8, // Produced by `.dump /k` - KernelAndUserMemoryDump = 0x9, // Produced by `.dump /ka` - CompleteMemoryDump = 0xa, // Produced by `.dump /f` -}; - -// -// Save off the alignement setting and disable -// alignement. -// - -#pragma pack(push) -#pragma pack(1) - -// -// Field is a pointer inside the this object and this function -// returns the offset of Field in the object via pointer arithmetic. -// - -constexpr uint64_t OffsetFromThis(const uintptr_t This, const uintptr_t Field) { - return uint64_t(Field) - uint64_t(This); -} - -static void DisplayHeader(const uint32_t Prefix, const char *FieldName, - const void *This, const void *Field) { - printf("%*s+0x%04" PRIx64 ": %-25s", Prefix, "", - OffsetFromThis(uintptr_t(This), uintptr_t(Field)), FieldName); -} - -// -// This is the macro we use to get the field name via the preprocessor. -// - -#define DISPLAY_FIELD(FieldName) \ - DisplayField(Prefix + 2, #FieldName, this, &FieldName) - -#define DISPLAY_FIELD_OFFSET(FieldName) \ - DisplayHeader(Prefix + 2, #FieldName, this, &FieldName); \ - printf("\n") - -// -// This takes care of displaying basic types. -// - -const std::string_view DumpTypeToString(const DumpType_t Type) { - switch (Type) { - // Old dump types from dbgeng.dll - case DumpType_t::FullDump: - return "FullDump"; - case DumpType_t::KernelDump: - return "KernelDump"; - case DumpType_t::BMPDump: - return "BMPDump"; - - // New stuff - case DumpType_t::MiniDump: - return "MiniDump"; - case DumpType_t::KernelMemoryDump: - return "KernelMemoryDump"; - case DumpType_t::KernelAndUserMemoryDump: - return "KernelAndUserMemoryDump"; - case DumpType_t::CompleteMemoryDump: - return "CompleteMemoryDump"; - } - - return "Unknown"; -} - -template -static void DisplayField(const uint32_t Prefix, const char *FieldName, - const void *This, const Field_t *Field) { - DisplayHeader(Prefix, FieldName, This, Field); - if constexpr (std::is_same::value) { - printf(": 0x%02x.\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%04x.\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%08x.\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%016" PRIx64 ".\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%016" PRIx64 ".\n", *Field); - } else if constexpr (std::is_same::value) { - printf(": 0x%016" PRIx64 "%016" PRIx64 ".\n", Field->High, Field->Low); - } else if constexpr (std::is_same::value) { - printf(": %s.\n", DumpTypeToString(*Field).data()); - } else { - - // - // We use std::is_same<> here because otherwise the static_assert fires - // immediately on g++/clang++ without even instantiating FieldType_t. - // So we kind of trick the compiler into doing what we want. - // - - static_assert(std::is_same::value, - "DisplayField: Unknown type trying to be displayed."); - } -} - -// -// Display the header of a dump section. -// - -#define DISPLAY_HEADER(Name) printf("%*s" Name "\n", Prefix, "") - -// -// All credit goes to the rekall project for the RE of the file format. -// https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/overlays/windows/crashdump.py -// - -struct PHYSMEM_RUN { - uint64_t BasePage; - uint64_t PageCount; - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("PHYSMEM_RUN"); - DISPLAY_FIELD(BasePage); - DISPLAY_FIELD(PageCount); - } -}; - -static_assert(sizeof(PHYSMEM_RUN) == 0x10, "PHYSMEM_RUN's size looks wrong."); - -struct PHYSMEM_DESC { - uint32_t NumberOfRuns; - uint32_t Padding0; - uint64_t NumberOfPages; - PHYSMEM_RUN Run[1]; - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("PHYSMEM_DESC"); - DISPLAY_FIELD(NumberOfRuns); - DISPLAY_FIELD(NumberOfPages); - DISPLAY_FIELD_OFFSET(Run); - if (!LooksGood()) { - return; - } - - for (uint32_t RunIdx = 0; RunIdx < NumberOfRuns; RunIdx++) { - Run[RunIdx].Show(Prefix + 2); - } - } - - constexpr bool LooksGood() const { - if (NumberOfRuns == 0x45474150 || NumberOfPages == 0x4547415045474150ULL) { - return false; - } - - return true; - } -}; - -static_assert(sizeof(PHYSMEM_DESC) == 0x20, - "PHYSICAL_MEMORY_DESCRIPTOR's size looks wrong."); - -struct BMP_HEADER64 { - static constexpr uint32_t ExpectedSignature = 0x50'4D'44'53; // 'PMDS' - static constexpr uint32_t ExpectedSignature2 = 0x50'4D'44'46; // 'PMDF' - static constexpr uint32_t ExpectedValidDump = 0x50'4D'55'44; // 'PMUD' - - // - // Should be FDMP. - // - - uint32_t Signature; - - // - // Should be DUMP. - // - - uint32_t ValidDump; - - // - // According to rekall there's a gap there: - // 'ValidDump': [0x4, ['String', dict( - // length=4, - // term=None, - // )]], - // # The offset of the first page in the file. - // 'FirstPage': [0x20, ['unsigned long long']], - // - - std::array Padding0; - - // - // The offset of the first page in the file. - // - - uint64_t FirstPage; - - // - // Total number of pages present in the bitmap. - // - uint64_t TotalPresentPages; - - // - // Total number of pages in image.This dictates the total size of the - // bitmap.This is not the same as the TotalPresentPages which is only - // the sum of the bits set to 1. - // - - uint64_t Pages; - - std::array Bitmap; - - bool LooksGood() const { - - // - // Integrity check the headers. - // - - if (Signature != ExpectedSignature && Signature != ExpectedSignature2) { - printf("BMP_HEADER64::Signature looks wrong.\n"); - return false; - } - - if (ValidDump != ExpectedValidDump) { - printf("BMP_HEADER64::ValidDump looks wrong.\n"); - return false; - } - - return true; - } - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("BMP_HEADER64"); - DISPLAY_FIELD(Signature); - DISPLAY_FIELD(ValidDump); - DISPLAY_FIELD(FirstPage); - DISPLAY_FIELD(TotalPresentPages); - DISPLAY_FIELD(Pages); - DISPLAY_FIELD_OFFSET(Bitmap); - } -}; - -static_assert(offsetof(BMP_HEADER64, FirstPage) == 0x20, - "First page offset looks wrong."); - -struct RDMP_HEADER64 { - static constexpr uint32_t ExpectedMarker = 0x40; - static constexpr uint32_t ExpectedSignature = 0x50'4D'44'52; // 'PMDR' - static constexpr uint32_t ExpectedValidDump = 0x50'4D'55'44; // 'PMUD' - - uint32_t Marker; - uint32_t Signature; - uint32_t ValidDump; - uint32_t __Unused; - uint64_t MetadataSize; - uint64_t FirstPageOffset; - - bool LooksGood() const { - if (Marker != ExpectedMarker) { - return false; - } - - if (Signature != RDMP_HEADER64::ExpectedSignature) { - return false; - } - - if (ValidDump != RDMP_HEADER64::ExpectedValidDump) { - return false; - } - - if (MetadataSize - 0x20 != - FirstPageOffset - - 0x20'40) { // sizeof(HEADER64) + sizeof(RDMP_HEADERS64) - return false; - } - - return true; - } - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("RDMP_HEADER64"); - DISPLAY_FIELD(Signature); - DISPLAY_FIELD(ValidDump); - DISPLAY_FIELD(FirstPageOffset); - DISPLAY_FIELD(MetadataSize); - } -}; - -static_assert(sizeof(RDMP_HEADER64) == 0x20, "Invalid size for RDMP_HEADER64"); - -struct KERNEL_RDMP_HEADER64 { - RDMP_HEADER64 Hdr; - uint64_t __Unknown1; - uint64_t __Unknown2; - std::array Bitmap; -}; - -static_assert(sizeof(KERNEL_RDMP_HEADER64) == 0x30 + 1, - "Invalid size for KERNEL_RDMP_HEADER64"); - -static_assert(offsetof(KERNEL_RDMP_HEADER64, Bitmap) == 0x30, - "Invalid offset for KERNEL_RDMP_HEADER64"); - -struct FULL_RDMP_HEADER64 { - RDMP_HEADER64 Hdr; - uint32_t NumberOfRanges; - uint16_t __Unknown1; - uint16_t __Unknown2; - uint64_t TotalNumberOfPages; - std::array Bitmap; -}; - -static_assert(sizeof(FULL_RDMP_HEADER64) == 0x30 + 1, - "Invalid size for FULL_RDMP_HEADER64"); - -static_assert(offsetof(FULL_RDMP_HEADER64, Bitmap) == 0x30, - "Invalid offset for FULL_RDMP_HEADER64"); - -struct CONTEXT { - - // - // Note that the below definition has been stolen directly from the windows - // headers. Why you might ask? Well the structure comes with DECLSPEC_ALIGN - // that was preventing me from layoung the Context structure at the offset I - // wanted. Maybe there's a cleaner way to do this, if so let me know :) - // - - // - // Register parameter home addresses. - // - // N.B. These fields are for convience - they could be used to extend the - // context record in the future. - // - - uint64_t P1Home; - uint64_t P2Home; - uint64_t P3Home; - uint64_t P4Home; - uint64_t P5Home; - uint64_t P6Home; - - // - // Control flags. - // - - uint32_t ContextFlags; - uint32_t MxCsr; - - // - // Segment Registers and processor flags. - // - - uint16_t SegCs; - uint16_t SegDs; - uint16_t SegEs; - uint16_t SegFs; - uint16_t SegGs; - uint16_t SegSs; - uint32_t EFlags; - - // - // Debug registers - // - - uint64_t Dr0; - uint64_t Dr1; - uint64_t Dr2; - uint64_t Dr3; - uint64_t Dr6; - uint64_t Dr7; - - // - // Integer registers. - // - - uint64_t Rax; - uint64_t Rcx; - uint64_t Rdx; - uint64_t Rbx; - uint64_t Rsp; - uint64_t Rbp; - uint64_t Rsi; - uint64_t Rdi; - uint64_t R8; - uint64_t R9; - uint64_t R10; - uint64_t R11; - uint64_t R12; - uint64_t R13; - uint64_t R14; - uint64_t R15; - - // - // Program counter. - // - - uint64_t Rip; - - // - // Floating point state. - // - - uint16_t ControlWord; - uint16_t StatusWord; - uint8_t TagWord; - uint8_t Reserved1; - uint16_t ErrorOpcode; - uint32_t ErrorOffset; - uint16_t ErrorSelector; - uint16_t Reserved2; - uint32_t DataOffset; - uint16_t DataSelector; - uint16_t Reserved3; - uint32_t MxCsr2; - uint32_t MxCsr_Mask; - std::array FloatRegisters; - uint128_t Xmm0; - uint128_t Xmm1; - uint128_t Xmm2; - uint128_t Xmm3; - uint128_t Xmm4; - uint128_t Xmm5; - uint128_t Xmm6; - uint128_t Xmm7; - uint128_t Xmm8; - uint128_t Xmm9; - uint128_t Xmm10; - uint128_t Xmm11; - uint128_t Xmm12; - uint128_t Xmm13; - uint128_t Xmm14; - uint128_t Xmm15; - - // - // Vector registers. - // - - std::array VectorRegister; - uint64_t VectorControl; - - // - // Special debug control registers. - // - - uint64_t DebugControl; - uint64_t LastBranchToRip; - uint64_t LastBranchFromRip; - uint64_t LastExceptionToRip; - uint64_t LastExceptionFromRip; - - bool LooksGood() const { - - // - // Integrity check the CONTEXT record. - // - - if (MxCsr != MxCsr2) { - printf("CONTEXT::MxCsr doesn't match MxCsr2.\n"); - return false; - } - - return true; - } - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("CONTEXT"); - DISPLAY_FIELD(P1Home); - DISPLAY_FIELD(P2Home); - DISPLAY_FIELD(P3Home); - DISPLAY_FIELD(P4Home); - DISPLAY_FIELD(P5Home); - DISPLAY_FIELD(P6Home); - - // - // Control flags. - // - - DISPLAY_FIELD(ContextFlags); - DISPLAY_FIELD(MxCsr); - - // - // Segment Registers and processor flags. - // - - DISPLAY_FIELD(SegCs); - DISPLAY_FIELD(SegDs); - DISPLAY_FIELD(SegEs); - DISPLAY_FIELD(SegFs); - DISPLAY_FIELD(SegGs); - DISPLAY_FIELD(SegSs); - DISPLAY_FIELD(EFlags); - - // - // Debug registers. - // XXX: Figure out what they don't look right. - // - - DISPLAY_FIELD(Dr0); - DISPLAY_FIELD(Dr1); - DISPLAY_FIELD(Dr2); - DISPLAY_FIELD(Dr3); - DISPLAY_FIELD(Dr6); - DISPLAY_FIELD(Dr7); - - // - // Integer registers. - // - - DISPLAY_FIELD(Rax); - DISPLAY_FIELD(Rcx); - DISPLAY_FIELD(Rdx); - DISPLAY_FIELD(Rbx); - DISPLAY_FIELD(Rsp); - DISPLAY_FIELD(Rbp); - DISPLAY_FIELD(Rsi); - DISPLAY_FIELD(Rdi); - DISPLAY_FIELD(R8); - DISPLAY_FIELD(R9); - DISPLAY_FIELD(R10); - DISPLAY_FIELD(R11); - DISPLAY_FIELD(R12); - DISPLAY_FIELD(R13); - DISPLAY_FIELD(R14); - DISPLAY_FIELD(R15); - - // - // Program counter. - // - - DISPLAY_FIELD(Rip); - - // - // Floating point state. - // - - DISPLAY_FIELD(ControlWord); - DISPLAY_FIELD(StatusWord); - DISPLAY_FIELD(TagWord); - DISPLAY_FIELD(ErrorOpcode); - DISPLAY_FIELD(ErrorOffset); - DISPLAY_FIELD(ErrorSelector); - DISPLAY_FIELD(DataOffset); - DISPLAY_FIELD(DataSelector); - DISPLAY_FIELD(MxCsr2); - DISPLAY_FIELD(MxCsr_Mask); - DISPLAY_FIELD(FloatRegisters[0]); - DISPLAY_FIELD(FloatRegisters[1]); - DISPLAY_FIELD(FloatRegisters[2]); - DISPLAY_FIELD(FloatRegisters[3]); - DISPLAY_FIELD(FloatRegisters[4]); - DISPLAY_FIELD(FloatRegisters[5]); - DISPLAY_FIELD(FloatRegisters[6]); - DISPLAY_FIELD(FloatRegisters[7]); - DISPLAY_FIELD(Xmm0); - DISPLAY_FIELD(Xmm1); - DISPLAY_FIELD(Xmm2); - DISPLAY_FIELD(Xmm3); - DISPLAY_FIELD(Xmm4); - DISPLAY_FIELD(Xmm5); - DISPLAY_FIELD(Xmm6); - DISPLAY_FIELD(Xmm7); - DISPLAY_FIELD(Xmm8); - DISPLAY_FIELD(Xmm9); - DISPLAY_FIELD(Xmm10); - DISPLAY_FIELD(Xmm11); - DISPLAY_FIELD(Xmm12); - DISPLAY_FIELD(Xmm13); - DISPLAY_FIELD(Xmm14); - DISPLAY_FIELD(Xmm15); - - // - // Vector registers. - // - - // M128A VectorRegister[26]; - DISPLAY_FIELD(VectorControl); - - // - // Special debug control registers. - // - - DISPLAY_FIELD(DebugControl); - DISPLAY_FIELD(LastBranchToRip); - DISPLAY_FIELD(LastBranchFromRip); - DISPLAY_FIELD(LastExceptionToRip); - DISPLAY_FIELD(LastExceptionFromRip); - } -}; - -static_assert(offsetof(CONTEXT, Xmm0) == 0x1a0, - "The offset of Xmm0 looks wrong."); - -struct EXCEPTION_RECORD64 { - uint32_t ExceptionCode; - uint32_t ExceptionFlags; - uint64_t ExceptionRecord; - uint64_t ExceptionAddress; - uint32_t NumberParameters; - uint32_t __unusedAlignment; - std::array ExceptionInformation; - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("KDMP_PARSER_EXCEPTION_RECORD64"); - DISPLAY_FIELD(ExceptionCode); - DISPLAY_FIELD(ExceptionFlags); - DISPLAY_FIELD(ExceptionRecord); - DISPLAY_FIELD(ExceptionAddress); - DISPLAY_FIELD(NumberParameters); - DISPLAY_FIELD(ExceptionInformation[0]); - DISPLAY_FIELD(ExceptionInformation[1]); - DISPLAY_FIELD(ExceptionInformation[2]); - DISPLAY_FIELD(ExceptionInformation[3]); - DISPLAY_FIELD(ExceptionInformation[4]); - DISPLAY_FIELD(ExceptionInformation[5]); - DISPLAY_FIELD(ExceptionInformation[6]); - DISPLAY_FIELD(ExceptionInformation[7]); - DISPLAY_FIELD(ExceptionInformation[8]); - DISPLAY_FIELD(ExceptionInformation[9]); - DISPLAY_FIELD(ExceptionInformation[10]); - DISPLAY_FIELD(ExceptionInformation[11]); - DISPLAY_FIELD(ExceptionInformation[12]); - DISPLAY_FIELD(ExceptionInformation[13]); - DISPLAY_FIELD(ExceptionInformation[14]); - } -}; - -static_assert(sizeof(EXCEPTION_RECORD64) == 0x98, - "KDMP_PARSER_EXCEPTION_RECORD64's size looks wrong."); - -union DUMP_FILE_ATTRIBUTES { - struct DUMP_FILE_ATTRIBUTES_0 { - uint32_t _bitfield; - } Anonymous; - uint32_t Attributes; -}; - -// -// Adjusted C struct for `DUMP_HEADERS64` from MS Rust docs. Padding -// adjustment added from reversing `nt!IoFillDumpHeader`. -// -// @link -// https://microsoft.github.io/windows-docs-rs/doc/windows/Win32/System/Diagnostics/Debug/struct.DUMP_HEADER64.html#structfield.DumpType -// - -struct HEADER64 { - static constexpr uint32_t ExpectedSignature = 0x45474150; // 'EGAP' - static constexpr uint32_t ExpectedValidDump = 0x34365544; // '46UD' - - /* 0x0000 */ uint32_t Signature; - /* 0x0004 */ uint32_t ValidDump; - /* 0x0008 */ uint32_t MajorVersion; - /* 0x000c */ uint32_t MinorVersion; - /* 0x0010 */ uint64_t DirectoryTableBase; - /* 0x0018 */ uint64_t PfnDatabase; - /* 0x0020 */ uint64_t PsLoadedModuleList; - /* 0x0028 */ uint64_t PsActiveProcessHead; - /* 0x0030 */ uint32_t MachineImageType; - /* 0x0034 */ uint32_t NumberProcessors; - /* 0x0038 */ uint32_t BugCheckCode; - /* 0x003c */ uint32_t __Padding0; - /* 0x0040 */ std::array BugCheckCodeParameters; - /* 0x0060 */ std::array VersionUser; - /* 0x0080 */ uint64_t KdDebuggerDataBlock; - /* 0x0088 */ union DUMP_HEADER64_0 { - PHYSMEM_DESC PhysicalMemoryBlock; - std::array PhysicalMemoryBlockBuffer; - } u1; - /* 0x0344 */ uint32_t __Padding1; - /* 0x0348 */ union CONTEXT_RECORD64_0 { - CONTEXT ContextRecord; - std::array ContextRecordBuffer; - } u2; - /* 0x0f00 */ EXCEPTION_RECORD64 Exception; - /* 0x0f98 */ DumpType_t DumpType; - /* 0x0f9c */ uint32_t __Padding2; - /* 0x0fa0 */ int64_t RequiredDumpSpace; - /* 0x0fa8 */ int64_t SystemTime; - /* 0x0fb0 */ std::array Comment; - /* 0x1030 */ int64_t SystemUpTime; - /* 0x1038 */ uint32_t MiniDumpFields; - /* 0x103c */ uint32_t SecondaryDataState; - /* 0x1040 */ uint32_t ProductType; - /* 0x1044 */ uint32_t SuiteMask; - /* 0x1048 */ uint32_t WriterStatus; - /* 0x104c */ uint8_t Unused1; - /* 0x104d */ uint8_t KdSecondaryVersion; - /* 0x104e */ std::array Unused; - /* 0x1050 */ DUMP_FILE_ATTRIBUTES Attributes; - /* 0x1054 */ uint32_t BootId; - /* 0x1058 */ std::array _reserved0; - - union { - BMP_HEADER64 BmpHeader; - KERNEL_RDMP_HEADER64 RdmpHeader; - FULL_RDMP_HEADER64 FullRdmpHeader; - } u3; - - bool LooksGood() const { - - // - // Integrity check the headers. - // - - if (Signature != ExpectedSignature) { - printf("HEADER64::Signature looks wrong.\n"); - return false; - } - - if (ValidDump != ExpectedValidDump) { - printf("HEADER64::ValidDump looks wrong.\n"); - return false; - } - - // - // Make sure it's a dump type we know how to handle. - // - - switch (DumpType) { - case DumpType_t::FullDump: { - if (!u1.PhysicalMemoryBlock.LooksGood()) { - printf("The PhysicalMemoryBlockBuffer looks wrong.\n"); - return false; - } - break; - } - - case DumpType_t::BMPDump: { - if (!u3.BmpHeader.LooksGood()) { - printf("The BmpHeader looks wrong.\n"); - return false; - } - break; - } - - case DumpType_t::KernelAndUserMemoryDump: - case DumpType_t::KernelMemoryDump: { - if (!u3.RdmpHeader.Hdr.LooksGood()) { - printf("The RdmpHeader looks wrong.\n"); - return false; - } - break; - } - - case DumpType_t::CompleteMemoryDump: { - if (!u3.FullRdmpHeader.Hdr.LooksGood()) { - printf("The RdmpHeader looks wrong.\n"); - return false; - } - break; - } - - case DumpType_t::MiniDump: { - printf("Unsupported type %s (%#x).\n", DumpTypeToString(DumpType).data(), - uint32_t(DumpType)); - return false; - } - - default: { - printf("Unknown Type %#x.\n", uint32_t(DumpType)); - return false; - } - } - - // - // Integrity check the CONTEXT record. - // - - if (!u2.ContextRecord.LooksGood()) { - return false; - } - - return true; - } - - void Show(const uint32_t Prefix = 0) const { - DISPLAY_HEADER("HEADER64"); - DISPLAY_FIELD(Signature); - DISPLAY_FIELD(ValidDump); - DISPLAY_FIELD(MajorVersion); - DISPLAY_FIELD(MinorVersion); - DISPLAY_FIELD(DirectoryTableBase); - DISPLAY_FIELD(PfnDatabase); - DISPLAY_FIELD(PsLoadedModuleList); - DISPLAY_FIELD(PsActiveProcessHead); - DISPLAY_FIELD(MachineImageType); - DISPLAY_FIELD(NumberProcessors); - DISPLAY_FIELD(BugCheckCode); - DISPLAY_FIELD_OFFSET(BugCheckCodeParameters); - DISPLAY_FIELD(KdDebuggerDataBlock); - DISPLAY_FIELD_OFFSET(u1.PhysicalMemoryBlockBuffer); - u1.PhysicalMemoryBlock.Show(Prefix + 2); - DISPLAY_FIELD_OFFSET(u2.ContextRecordBuffer); - u2.ContextRecord.Show(Prefix + 2); - DISPLAY_FIELD_OFFSET(Exception); - Exception.Show(Prefix + 2); - DISPLAY_FIELD(DumpType); - DISPLAY_FIELD(RequiredDumpSpace); - DISPLAY_FIELD(SystemTime); - DISPLAY_FIELD_OFFSET(Comment); - DISPLAY_FIELD(SystemUpTime); - DISPLAY_FIELD(MiniDumpFields); - DISPLAY_FIELD(SecondaryDataState); - DISPLAY_FIELD(ProductType); - DISPLAY_FIELD(SuiteMask); - DISPLAY_FIELD(WriterStatus); - DISPLAY_FIELD(KdSecondaryVersion); - if (DumpType == DumpType_t::BMPDump) { - DISPLAY_FIELD_OFFSET(u3.BmpHeader); - u3.BmpHeader.Show(); - } - } -}; - -// -// Restore the default alignement setting. -// - -#pragma pack(pop) - -// -// Prevent the user to play around with those. -// - -#undef DISPLAY_HEADER -#undef DISPLAY_FIELD - -// -// Those asserts are the results of a lot of frustration getting the right -// layout, so hopefully they prevent any regressions regarding the layout. -// - -#ifdef __GNUC__ -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Winvalid-offsetof" -#endif //__GNUC__ -static_assert(offsetof(HEADER64, Signature) == 0x00, - "The offset of KdDebuggerDataBlock looks wrong."); - -static_assert(offsetof(HEADER64, BugCheckCodeParameters) == 0x40, - "The offset of KdDebuggerDataBlock looks wrong."); - -static_assert(offsetof(HEADER64, KdDebuggerDataBlock) == 0x80, - "The offset of KdDebuggerDataBlock looks wrong."); - -static_assert(offsetof(HEADER64, u2.ContextRecord) == 0x348, - "The offset of ContextRecord looks wrong."); - -static_assert(offsetof(HEADER64, Exception) == 0xf00, - "The offset of Exception looks wrong."); - -static_assert(offsetof(HEADER64, Comment) == 0xfb0, - "The offset of Comment looks wrong."); - -static_assert(offsetof(HEADER64, u3.BmpHeader) == 0x2000, - "The offset of BmpHeaders looks wrong."); -#ifdef __GNUC__ -#pragma GCC diagnostic pop -#endif //__GNUC__ - -// -// Structure for parsing a PTE. -// - -union MMPTE_HARDWARE { - struct { - uint64_t Present : 1; - uint64_t Write : 1; - uint64_t UserAccessible : 1; - uint64_t WriteThrough : 1; - uint64_t CacheDisable : 1; - uint64_t Accessed : 1; - uint64_t Dirty : 1; - uint64_t LargePage : 1; - uint64_t Available : 4; - uint64_t PageFrameNumber : 36; - uint64_t ReservedForHardware : 4; - uint64_t ReservedForSoftware : 11; - uint64_t NoExecute : 1; - } u; - uint64_t AsUINT64; - constexpr MMPTE_HARDWARE(const uint64_t Value) : AsUINT64(Value) {} -}; - -// -// Structure to parse a virtual address. -// - -union VIRTUAL_ADDRESS { - struct { - uint64_t Offset : 12; - uint64_t PtIndex : 9; - uint64_t PdIndex : 9; - uint64_t PdPtIndex : 9; - uint64_t Pml4Index : 9; - uint64_t Reserved : 16; - } u; - uint64_t AsUINT64; - constexpr VIRTUAL_ADDRESS(const uint64_t Value) : AsUINT64(Value) {} -}; - -static_assert(sizeof(MMPTE_HARDWARE) == 8); -static_assert(sizeof(VIRTUAL_ADDRESS) == 8); -} // namespace kdmpparser \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/lib/kdmp-parser-version.h.in b/src/libs/kdmp-parser/src/lib/kdmp-parser-version.h.in deleted file mode 100644 index dbe320b..0000000 --- a/src/libs/kdmp-parser/src/lib/kdmp-parser-version.h.in +++ /dev/null @@ -1,11 +0,0 @@ -#pragma once - -// clang-format off -#define KDMPPARSER_PROJECT_NAME "@PROJECT_NAME@" -#define KDMPPARSER_PROJECT_AUTHOR "@PROJECT_AUTHOR@" -#define KDMPPARSER_PROJECT_LICENSE "@PROJECT_LICENSE@" -#define KDMPPARSER_VERSION_MAJOR @PROJECT_VERSION_MAJOR@ -#define KDMPPARSER_VERSION_MINOR @PROJECT_VERSION_MINOR@ -#define KDMPPARSER_VERSION_PATCH @PROJECT_VERSION_PATCH@ -#define KDMPPARSER_VERSION_RELEASE "@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@" -// clang-format on diff --git a/src/libs/kdmp-parser/src/lib/kdmp-parser.h b/src/libs/kdmp-parser/src/lib/kdmp-parser.h deleted file mode 100644 index 7bb21cd..0000000 --- a/src/libs/kdmp-parser/src/lib/kdmp-parser.h +++ /dev/null @@ -1,693 +0,0 @@ -// Axel '0vercl0k' Souchet - February 15 2019 -#pragma once - -#include "filemap.h" -#include "kdmp-parser-structs.h" -#include "kdmp-parser-version.h" - -#include -#include -#include -#include -#include -#include -#include - -namespace kdmpparser { - -using Page_t = std::array; -using Physmem_t = std::unordered_map; - -struct BugCheckParameters_t { - uint32_t BugCheckCode; - std::array BugCheckCodeParameter; -}; - -class KernelDumpParser { - - // - // The mapped file. - // - - FileMap_t FileMap_; - - // - // Header of the crash-dump. - // - - HEADER64 *DmpHdr_ = nullptr; - - // - // File path to the crash-dump. - // - - std::filesystem::path PathFile_; - - // - // Mapping between physical addresses / page data. - // - - Physmem_t Physmem_; - -public: - // - // Actually do the parsing of the file. - // - - bool Parse(const char *PathFile) { - - // - // Copy the path file. - // - - PathFile_ = std::filesystem::path(PathFile); - if (!std::filesystem::exists(PathFile_)) { - printf("Invalid file: %s.\n", (char *)PathFile_.string().c_str()); - return false; - } - - // - // Map a view of the file. - // - - if (!MapFile()) { - printf("MapFile failed.\n"); - return false; - } - - // - // Parse the DMP_HEADER. - // - - if (!ParseDmpHeader()) { - printf("ParseDmpHeader failed.\n"); - return false; - } - - // - // Retrieve the physical memory according to the type of dump we have. - // - - switch (DmpHdr_->DumpType) { - case DumpType_t::FullDump: { - if (!BuildPhysmemFullDump()) { - printf("BuildPhysmemFullDump failed.\n"); - return false; - } - break; - } - case DumpType_t::BMPDump: { - if (!BuildPhysmemBMPDump()) { - printf("BuildPhysmemBMPDump failed.\n"); - return false; - } - break; - } - - case DumpType_t::CompleteMemoryDump: - case DumpType_t::KernelAndUserMemoryDump: - case DumpType_t::KernelMemoryDump: { - if (!BuildPhysicalMemoryFromDump(DmpHdr_->DumpType)) { - printf("BuildPhysicalMemoryFromDump failed.\n"); - return false; - } - break; - } - - default: { - printf("Invalid type\n"); - return false; - } - } - - return true; - } - - // - // Give the Context record to the user. - // - - constexpr const CONTEXT &GetContext() const { - - // - // Give the user a view of the context record. - // - - return DmpHdr_->u2.ContextRecord; - } - - // - // Give the bugcheck parameters to the user. - // - - constexpr BugCheckParameters_t GetBugCheckParameters() const { - - // - // Give the user a view of the bugcheck parameters. - // - - return {DmpHdr_->BugCheckCode, - {DmpHdr_->BugCheckCodeParameters[0], - DmpHdr_->BugCheckCodeParameters[1], - DmpHdr_->BugCheckCodeParameters[2], - DmpHdr_->BugCheckCodeParameters[3]}}; - } - - // - // Get the path of dump. - // - - const std::filesystem::path &GetDumpPath() const { return PathFile_; } - - // - // Get the type of dump. - // - - constexpr DumpType_t GetDumpType() const { return DmpHdr_->DumpType; } - - // - // Get the physmem. - // - - constexpr const Physmem_t &GetPhysmem() const { return Physmem_; } - - // - // Show the exception record. - // - - void ShowExceptionRecord(const uint32_t Prefix) const { - DmpHdr_->Exception.Show(Prefix); - } - - // - // Show the context record. - // - - void ShowContextRecord(const uint32_t Prefix) const { - const CONTEXT &Context = GetContext(); - printf("%*srax=%016" PRIx64 " rbx=%016" PRIx64 " rcx=%016" PRIx64 "\n", - Prefix, "", Context.Rax, Context.Rbx, Context.Rcx); - printf("%*srdx=%016" PRIx64 " rsi=%016" PRIx64 " rdi=%016" PRIx64 "\n", - Prefix, "", Context.Rdx, Context.Rsi, Context.Rdi); - printf("%*srip=%016" PRIx64 " rsp=%016" PRIx64 " rbp=%016" PRIx64 "\n", - Prefix, "", Context.Rip, Context.Rsp, Context.Rbp); - printf("%*s r8=%016" PRIx64 " r9=%016" PRIx64 " r10=%016" PRIx64 "\n", - Prefix, "", Context.R8, Context.R9, Context.R10); - printf("%*sr11=%016" PRIx64 " r12=%016" PRIx64 " r13=%016" PRIx64 "\n", - Prefix, "", Context.R11, Context.R12, Context.R13); - printf("%*sr14=%016" PRIx64 " r15=%016" PRIx64 "\n", Prefix, "", - Context.R14, Context.R15); - printf("%*scs=%04x ss=%04x ds=%04x es=%04x fs=%04x gs=%04x " - " efl=%08x\n", - Prefix, "", Context.SegCs, Context.SegSs, Context.SegDs, - Context.SegEs, Context.SegFs, Context.SegGs, Context.EFlags); - printf("%*sfpcw=%04x fpsw=%04x fptw=%04x\n", Prefix, "", - Context.ControlWord, Context.StatusWord, 1); - printf("%*s st0=%016" PRIx64 "%016" PRIx64 " st1=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.FloatRegisters[0].High, - Context.FloatRegisters[0].Low, Context.FloatRegisters[1].High, - Context.FloatRegisters[1].Low); - printf("%*s st2=%016" PRIx64 "%016" PRIx64 " st3=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.FloatRegisters[2].High, - Context.FloatRegisters[2].Low, Context.FloatRegisters[3].High, - Context.FloatRegisters[3].Low); - printf("%*s st4=%016" PRIx64 "%016" PRIx64 " st5=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.FloatRegisters[4].High, - Context.FloatRegisters[4].Low, Context.FloatRegisters[5].High, - Context.FloatRegisters[5].Low); - printf("%*s st6=%016" PRIx64 "%016" PRIx64 " st7=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.FloatRegisters[6].High, - Context.FloatRegisters[6].Low, Context.FloatRegisters[7].High, - Context.FloatRegisters[7].Low); - printf("%*s xmm0=%016" PRIx64 "%016" PRIx64 " xmm1=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm0.High, Context.Xmm0.Low, Context.Xmm1.High, - Context.Xmm1.Low); - printf("%*s xmm2=%016" PRIx64 "%016" PRIx64 " xmm3=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm2.High, Context.Xmm2.Low, Context.Xmm3.High, - Context.Xmm3.Low); - printf("%*s xmm4=%016" PRIx64 "%016" PRIx64 " xmm5=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm4.High, Context.Xmm4.Low, Context.Xmm5.High, - Context.Xmm5.Low); - printf("%*s xmm6=%016" PRIx64 "%016" PRIx64 " xmm7=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm6.High, Context.Xmm6.Low, Context.Xmm7.High, - Context.Xmm7.Low); - printf("%*s xmm8=%016" PRIx64 "%016" PRIx64 " xmm9=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm8.High, Context.Xmm8.Low, Context.Xmm9.High, - Context.Xmm9.Low); - printf("%*sxmm10=%016" PRIx64 "%016" PRIx64 " xmm11=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm10.High, Context.Xmm10.Low, - Context.Xmm11.High, Context.Xmm11.Low); - printf("%*sxmm12=%016" PRIx64 "%016" PRIx64 " xmm13=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm12.High, Context.Xmm12.Low, - Context.Xmm13.High, Context.Xmm13.Low); - printf("%*sxmm14=%016" PRIx64 "%016" PRIx64 " xmm15=%016" PRIx64 - "%016" PRIx64 "\n", - Prefix, "", Context.Xmm14.High, Context.Xmm14.Low, - Context.Xmm15.High, Context.Xmm15.Low); - } - - // - // Show all the structures of the dump. - // - - void ShowAllStructures(const uint32_t Prefix) const { DmpHdr_->Show(Prefix); } - - // - // Get the content of a physical address. - // - - const uint8_t *GetPhysicalPage(const uint64_t PhysicalAddress) const { - - // - // Attempt to find the physical address. - // - - const auto &Pair = Physmem_.find(PhysicalAddress); - - // - // If it doesn't exist then return nullptr. - // - - if (Pair == Physmem_.end()) { - return nullptr; - } - - // - // Otherwise we return a pointer to the content of the page. - // - - return Pair->second; - } - - // - // Get the directory table base. - // - - constexpr uint64_t GetDirectoryTableBase() const { - return DmpHdr_->DirectoryTableBase; - } - - // - // Translate a virtual address to physical address using a directory table - // base. - // - - std::optional - VirtTranslate(const uint64_t VirtualAddress, - const uint64_t DirectoryTableBase = 0) const { - - // - // If DirectoryTableBase is null ; use the one from the dump header and - // clear PCID bits (bits 11:0). - // - - uint64_t LocalDTB = Page::Align(GetDirectoryTableBase()); - - if (DirectoryTableBase) { - LocalDTB = Page::Align(DirectoryTableBase); - } - - // - // Stole code from @yrp604 and @0vercl0k. - // - - const VIRTUAL_ADDRESS GuestAddress(VirtualAddress); - const MMPTE_HARDWARE Pml4(LocalDTB); - const uint64_t Pml4Base = Pml4.u.PageFrameNumber * Page::Size; - const uint64_t Pml4eGpa = Pml4Base + GuestAddress.u.Pml4Index * 8; - const MMPTE_HARDWARE Pml4e(PhyRead8(Pml4eGpa)); - if (!Pml4e.u.Present) { - printf("Invalid page map level 4, address translation failed!\n"); - return {}; - } - - const uint64_t PdptBase = Pml4e.u.PageFrameNumber * Page::Size; - const uint64_t PdpteGpa = PdptBase + GuestAddress.u.PdPtIndex * 8; - const MMPTE_HARDWARE Pdpte(PhyRead8(PdpteGpa)); - if (!Pdpte.u.Present) { - printf("Invalid page directory pointer table, address translation " - "failed!\n"); - return {}; - } - - // - // huge pages: - // 7 (PS) - Page size; must be 1 (otherwise, this entry references a page - // directory; see Table 4-1 - // - - const uint64_t PdBase = Pdpte.u.PageFrameNumber * Page::Size; - if (Pdpte.u.LargePage) { - return PdBase + (VirtualAddress & 0x3fff'ffff); - } - - const uint64_t PdeGpa = PdBase + GuestAddress.u.PdIndex * 8; - const MMPTE_HARDWARE Pde(PhyRead8(PdeGpa)); - if (!Pde.u.Present) { - printf("Invalid page directory entry, address translation failed!\n"); - return {}; - } - - // - // large pages: - // 7 (PS) - Page size; must be 1 (otherwise, this entry references a page - // table; see Table 4-18 - // - - const uint64_t PtBase = Pde.u.PageFrameNumber * Page::Size; - if (Pde.u.LargePage) { - return PtBase + (VirtualAddress & 0x1f'ffff); - } - - const uint64_t PteGpa = PtBase + GuestAddress.u.PtIndex * 8; - const MMPTE_HARDWARE Pte(PhyRead8(PteGpa)); - if (!Pte.u.Present) { - printf("Invalid page table entry, address translation failed!\n"); - return {}; - } - - const uint64_t PageBase = Pte.u.PageFrameNumber * Page::Size; - return PageBase + GuestAddress.u.Offset; - } - - // - // Get the content of a virtual address. - // - - const uint8_t *GetVirtualPage(const uint64_t VirtualAddress, - const uint64_t DirectoryTableBase = 0) const { - - // - // First remove offset and translate the virtual address. - // - - const auto &PhysicalAddress = - VirtTranslate(Page::Align(VirtualAddress), DirectoryTableBase); - - if (!PhysicalAddress) { - return nullptr; - } - - // - // Then get the physical page. - // - - return GetPhysicalPage(*PhysicalAddress); - } - - const HEADER64 &GetDumpHeader() const { - if (!DmpHdr_) { - std::abort(); - } - - return *DmpHdr_; - } - -private: - // - // Utility function to read an uint64_t from a physical address. - // - - uint64_t PhyRead8(const uint64_t PhysicalAddress) const { - - // - // Get the physical page and read from the offset. - // - - const uint8_t *PhysicalPage = GetPhysicalPage(Page::Align(PhysicalAddress)); - - if (!PhysicalPage) { - printf("Internal page table parsing failed!\n"); - return 0; - } - - const uint64_t *Ptr = - (uint64_t *)(PhysicalPage + Page::Offset(PhysicalAddress)); - return *Ptr; - } - - // - // Build a map of physical addresses / page data pointers for full dump. - // - - bool BuildPhysmemFullDump() { - - // - // Walk through the runs. - // - - uint8_t *RunBase = (uint8_t *)&DmpHdr_->u3.BmpHeader; - const uint32_t NumberOfRuns = DmpHdr_->u1.PhysicalMemoryBlock.NumberOfRuns; - - // - // Back at it, this time building the index! - // - - for (uint32_t RunIdx = 0; RunIdx < NumberOfRuns; RunIdx++) { - - // - // Grab the current run as well as its base page and page count. - // - - const PHYSMEM_RUN *Run = DmpHdr_->u1.PhysicalMemoryBlock.Run + RunIdx; - - const uint64_t BasePage = Run->BasePage; - const uint64_t PageCount = Run->PageCount; - - // - // Walk the pages from the run. - // - - for (uint64_t PageIdx = 0; PageIdx < PageCount; PageIdx++) { - - // - // Compute the current PFN as well as the actual physical address of - // the page. - // - - const uint64_t Pfn = BasePage + PageIdx; - const uint64_t Pa = Pfn * Page::Size; - - // - // Now one thing to understand is that the Runs structure allows to - // skip for holes in memory. Instead of, padding them with empty - // spaces to conserve a 1:1 mapping between physical address and file - // offset, the Run gives you the base Pfn. This means that we don't - // have a 1:1 mapping between file offset and physical addresses so we - // need to keep track of where the Run starts in memory and then we - // can simply access our pages one after the other. - // - // If this is not clear enough, here is a small example: - // Run[0] - // BasePage = 1337, PageCount = 2 - // Run[1] - // BasePage = 1400, PageCount = 1 - // - // In the above we clearly see that there is a hole between the two - // runs; the dump file has 2+1 memory pages. Their Pfns are: 1337+0, - // 1337+1, 1400+0. - // - // Now if we want to get the file offset of those pages we start at - // Run0: - // Run0 starts at file offset 0x2000 so Page0 is at file offset - // 0x2000, Page1 is at file offset 0x3000. Run1 starts at file - // offset 0x2000+(2*0x1000) so Page3 is at file offset - // 0x2000+(2*0x1000)+0x1000. - // - // That is the reason why the computation below is RunBase + (PageIdx - // * 0x1000) instead of RunBase + (Pfn * 0x1000). - - const uint8_t *PageBase = RunBase + (PageIdx * Page::Size); - - // - // Map the Pfn to a page. - // - - Physmem_.try_emplace(Pa, PageBase); - } - - // - // Move the run base past all the pages in the current run. - // - - RunBase += PageCount * Page::Size; - } - - return true; - } - - // - // Build a map of physical addresses / page data pointers for BMP dump. - // - - bool BuildPhysmemBMPDump() { - const uint8_t *Page = (uint8_t *)DmpHdr_ + DmpHdr_->u3.BmpHeader.FirstPage; - const uint64_t BitmapSize = DmpHdr_->u3.BmpHeader.Pages / 8; - const uint8_t *Bitmap = DmpHdr_->u3.BmpHeader.Bitmap.data(); - - // - // Walk the bitmap byte per byte. - // - - for (uint64_t BitmapIdx = 0; BitmapIdx < BitmapSize; BitmapIdx++) { - - // - // Now walk the bits of the current byte. - // - - const uint8_t Byte = Bitmap[BitmapIdx]; - for (uint8_t BitIdx = 0; BitIdx < 8; BitIdx++) { - - // - // If the bit is not set we just skip to the next. - // - - const bool BitSet = ((Byte >> BitIdx) & 1) == 1; - if (!BitSet) { - continue; - } - - // - // If the bit is one we add the page to the physmem. - // - - const uint64_t Pfn = (BitmapIdx * 8) + BitIdx; - const uint64_t Pa = Pfn * Page::Size; - Physmem_.try_emplace(Pa, Page); - Page += Page::Size; - } - } - - return true; - } - - // - // Populate the physical memory map for the 'new' dump types. - // `Type` must be either `KernelMemoryDump`, `KernelAndUserMemoryDump`, - // or `CompleteMemoryDump`. - // - // Returns true on success, false otherwise. - // - - bool BuildPhysicalMemoryFromDump(const DumpType_t Type) { - uint64_t FirstPageOffset = 0; - uint8_t *Page = nullptr; - uint64_t MetadataSize = 0; - uint8_t *Bitmap = nullptr; - - switch (Type) { - case DumpType_t::KernelMemoryDump: - case DumpType_t::KernelAndUserMemoryDump: { - FirstPageOffset = DmpHdr_->u3.RdmpHeader.Hdr.FirstPageOffset; - Page = (uint8_t *)DmpHdr_ + FirstPageOffset; - MetadataSize = DmpHdr_->u3.RdmpHeader.Hdr.MetadataSize; - Bitmap = DmpHdr_->u3.RdmpHeader.Bitmap.data(); - break; - } - - case DumpType_t::CompleteMemoryDump: { - FirstPageOffset = DmpHdr_->u3.RdmpHeader.Hdr.FirstPageOffset; - Page = (uint8_t *)DmpHdr_ + FirstPageOffset; - MetadataSize = DmpHdr_->u3.FullRdmpHeader.Hdr.MetadataSize; - Bitmap = DmpHdr_->u3.FullRdmpHeader.Bitmap.data(); - break; - } - - default: { - return false; - } - } - - if (!FirstPageOffset || !Page || !MetadataSize || !Bitmap) { - return false; - } - - auto IsPageInBounds = [&](const uint8_t *Ptr) { - return FileMap_.InBounds(Ptr, Page::Size); - }; - - if (!IsPageInBounds(Page)) { - return false; - } - - struct PfnRange { - uint64_t PageFileNumber; - uint64_t NumberOfPages; - }; - - for (uint64_t Offset = 0; Offset < MetadataSize; - Offset += sizeof(PfnRange)) { - const PfnRange &Entry = (PfnRange &)Bitmap[Offset]; - if (!FileMap_.InBounds(&Entry, sizeof(Entry))) { - return false; - } - - const uint64_t Pfn = Entry.PageFileNumber; - if (!Pfn) { - break; - } - - for (uint64_t PageIdx = 0; PageIdx < Entry.NumberOfPages; PageIdx++) { - if (!IsPageInBounds(Page)) { - return false; - } - - const uint64_t Pa = (Pfn * Page::Size) + (PageIdx * Page::Size); - Physmem_.try_emplace(Pa, Page); - Page += Page::Size; - } - } - - return true; - } - - // - // Parse the DMP_HEADER. - // - - bool ParseDmpHeader() { - - // - // The base of the view points on the HEADER64. - // - - DmpHdr_ = (HEADER64 *)FileMap_.ViewBase(); - - // - // Now let's make sure the structures look right. - // - - if (!DmpHdr_->LooksGood()) { - printf("The header looks wrong.\n"); - return false; - } - - return true; - } - - // - // Map a view of the file in memory. - // - - bool MapFile() { return FileMap_.MapFile(PathFile_.string().c_str()); } -}; - -struct Version_t { - static inline const uint16_t Major = KDMPPARSER_VERSION_MAJOR; - static inline const uint16_t Minor = KDMPPARSER_VERSION_MINOR; - static inline const uint16_t Patch = KDMPPARSER_VERSION_PATCH; - static inline const std::string Release = KDMPPARSER_VERSION_RELEASE; -}; - -} // namespace kdmpparser diff --git a/src/libs/kdmp-parser/src/lib/platform.h b/src/libs/kdmp-parser/src/lib/platform.h deleted file mode 100644 index 67595c7..0000000 --- a/src/libs/kdmp-parser/src/lib/platform.h +++ /dev/null @@ -1,54 +0,0 @@ -// Axel '0vercl0k' Souchet - April 18 2020 -#pragma once - -#if defined(__i386__) || defined(_M_IX86) -#define ARCH_X86 -#elif defined(__amd64__) || defined(_M_X64) -#define ARCH_X64 -#else -#error Architecture not supported. -#endif - -#if defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64) -#define WINDOWS -#define SYSTEM_PLATFORM "Windows" - -#include -#if defined ARCH_X86 -#define WINDOWS_X86 -#elif defined ARCH_X64 -#define WINDOWS_X64 -#endif - -#elif defined(linux) || defined(__linux) || defined(__FreeBSD__) || \ - defined(__FreeBSD_kernel__) || defined(__MACH__) -#define LINUX - -#if defined(linux) || defined(__linux) -#define SYSTEM_PLATFORM "Linux" - -#if defined ARCH_X86 -#define LINUX_X86 -#elif defined ARCH_X64 -#define LINUX_X64 -#endif - -#elif defined(__APPLE__) - -#define SYSTEM_PLATFORM "OSX" -#if defined ARCH_X86 -#define OSX_X86 -#elif defined ARCH_X64 -#define OSX_X64 -#endif - -#else -#error An error occured -#endif - -#define EXIT_FAILURE 1 -#define EXIT_SUCCESS 0 - -#else -#error Platform not supported. -#endif diff --git a/src/libs/kdmp-parser/src/parser/CMakeLists.txt b/src/libs/kdmp-parser/src/parser/CMakeLists.txt deleted file mode 100644 index fd062bd..0000000 --- a/src/libs/kdmp-parser/src/parser/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -# Axel '0vercl0k' Souchet - April 18 2020 -link_libraries(kdmp-parser) -add_executable(parser parser.cc) -target_compile_options( - parser - PUBLIC - $<$:/W4$/WX> - $<$:-Wall$-Wextra$-pedantic$-Werror> - $<$:-Wall$-Wextra$-pedantic$-Werror> -) -install(TARGETS parser DESTINATION .) - -if(MSVC) - install(FILES $ DESTINATION . OPTIONAL) -endif(MSVC) diff --git a/src/libs/kdmp-parser/src/parser/parser.cc b/src/libs/kdmp-parser/src/parser/parser.cc deleted file mode 100644 index 88ebd71..0000000 --- a/src/libs/kdmp-parser/src/parser/parser.cc +++ /dev/null @@ -1,367 +0,0 @@ -// Axel '0vercl0k' Souchet - February 15 2019 -#include "kdmp-parser.h" - -#include -#include -#include -#include -#include - -// -// Delimiter. -// - -#define DELIMITER \ - "----------------------------------------------------------------------" \ - "----------" - -// -// The options available for the parser. -// - -struct Options_t { - - // - // This is enabled if -h is used. - // - - bool ShowHelp = false; - - // - // This is enabled if -c is used. - // - - bool ShowContextRecord = false; - - // - // This is enabled if -a is used. - // - - bool ShowAllStructures = false; - - // - // This is enabled if -e is used. - // - - bool ShowExceptionRecord = false; - - // - // This is enable if -p is used. - // - - bool ShowPhysicalMem = false; - - // - // This is on if the user specified a physical address. - // - - bool HasPhysicalAddress = false; - - // - // If an optional physical address has been passed to -p then this is the - // physical address. - - uint64_t PhysicalAddress = 0; - - // - // The path to the dump file. - // - - std::string_view DumpPath; -}; - -// -// Display usage -// - -void Help() { - printf("parser.exe [-p []] [-c] [-e] [-h] \n"); - printf("\n"); - printf("Examples:\n"); - printf(" Show every structures of the dump:\n"); - printf(" parser.exe -a full.dmp\n"); - printf("\n"); - printf(" Show the context record:\n"); - printf(" parser.exe -c full.dmp\n"); - printf("\n"); - printf(" Show the exception record:\n"); - printf(" parser.exe -e full.dmp\n"); - printf("\n"); - printf(" Show all the physical memory (first 16 bytes of every " - "pages):\n"); - printf(" parser.exe -p full.dmp\n"); - printf("\n"); - printf(" Show the context record as well as the page at physical " - "address 0x1000:\n"); - printf(" parser.exe -c -p 0x1000 full.dmp\n"); -} - -// -// Copied from https://github.com/pvachon/tsl/blob/master/tsl/hexdump.c. -// Phil is the man. -// - -void Hexdump(const uint64_t Address, const void *Buffer, size_t Len) { - const uint8_t *ptr = (uint8_t *)Buffer; - - for (size_t i = 0; i < Len; i += 16) { - printf("%08" PRIx64 ": ", Address + i); - for (int j = 0; j < 16; j++) { - if (i + j < Len) { - printf("%02x ", ptr[i + j]); - } else { - printf(" "); - } - } - printf(" |"); - for (int j = 0; j < 16; j++) { - if (i + j < Len) { - printf("%c", isprint(ptr[i + j]) ? (char)ptr[i + j] : '.'); - } else { - printf(" "); - } - } - printf("|\n"); - } -} - -// -// Let's do some work! -// - -int main(int argc, const char *argv[]) { - - // - // This holds the options passed to the program. - // - - Options_t Opts; - - // - // Parse the arguments passed to the program. - // - - for (int ArgIdx = 1; ArgIdx < argc; ArgIdx++) { - const std::string_view Arg(argv[ArgIdx]); - const int IsLastArg = (ArgIdx + 1) >= argc; - - if (Arg == "-c") { - - // - // Show the context record. - // - - Opts.ShowContextRecord = 1; - } else if (Arg == "-p") { - - // - // Show the physical memory. - // - - Opts.ShowPhysicalMem = 1; - - // - // If the next argument is not the last one, we assume that it is followed - // by a physical address. - // - - const int NextArgIdx = ArgIdx + 1; - const bool IsNextArgLast = (NextArgIdx + 1) >= argc; - - if (!IsNextArgLast) { - - // - // In which case we convert it to an actual integer. - // - - Opts.HasPhysicalAddress = true; - Opts.PhysicalAddress = strtoull(argv[NextArgIdx], nullptr, 0); - - // - // Skip the next argument. - // - - ArgIdx++; - } - } else if (Arg == "-e") { - - // - // Show the exception record. - // - - Opts.ShowExceptionRecord = 1; - } else if (Arg == "-a") { - - // - // Show all the structures. - // - - Opts.ShowAllStructures = true; - } else if (Arg == "-h") { - - // - // Show the help. - // - - Opts.ShowHelp = true; - } else if (IsLastArg) { - - // - // If this is the last argument then this must be the dump path. - // - - Opts.DumpPath = Arg; - } else { - - // - // Otherwise it seems that the user passed something wrong? - // - - printf("The argument %s is not recognized.\n\n", Arg.data()); - Help(); - return EXIT_FAILURE; - } - } - - // - // Show the help. - // - - if (Opts.ShowHelp) { - Help(); - return EXIT_SUCCESS; - } - - // - // The only thing we actually need is a file path. So let's make sure we - // have one. - // - - if (Opts.DumpPath.empty()) { - printf("You didn't provide the path to the dump file.\n\n"); - Help(); - return EXIT_FAILURE; - } - - // - // If we only have a path, at least force to dump the context - // structure. - // - - if (!Opts.ShowContextRecord && !Opts.ShowPhysicalMem && - !Opts.ShowAllStructures && !Opts.ShowExceptionRecord) { - printf("Forcing to show the context record as no option as been " - "passed.\n\n"); - Opts.ShowContextRecord = 1; - } - - // - // Create the parser instance. - // - - kdmpparser::KernelDumpParser Dmp; - - // - // Parse the dump file. - // - - if (!Dmp.Parse(Opts.DumpPath.data())) { - printf("Parsing of the dump failed, exiting.\n"); - return EXIT_FAILURE; - } - - // - // If the user wants all the structures, then show them. - // - - if (Opts.ShowAllStructures) { - printf(DELIMITER "\nDump structures:\n"); - Dmp.ShowAllStructures(2); - } - - // - // If the user wants the context, then show it. - // - - if (Opts.ShowContextRecord) { - printf(DELIMITER "\nContext Record:\n"); - Dmp.ShowContextRecord(2); - } - - // - // If the user wants the exception record, then show it. - // - - if (Opts.ShowExceptionRecord) { - printf(DELIMITER "\nException Record:\n"); - Dmp.ShowExceptionRecord(2); - } - - // - // If the user wants some physical memory, then show it. - // - - if (Opts.ShowPhysicalMem) { - printf(DELIMITER "\nPhysical memory:\n"); - - // - // If the user specified a physical address this is the one we - // will dump. - // - - if (Opts.PhysicalAddress) { - - // - // Retrieve the page for the specified PhysicalAddress. - // If it doesn't exist then display a message, else dump it on stdout. - // - - const uint8_t *Page = Dmp.GetPhysicalPage(Opts.PhysicalAddress); - if (Page == nullptr) { - printf("0x%" PRIx64 " is not a valid physical address.\n", - Opts.PhysicalAddress); - } else { - Hexdump(Opts.PhysicalAddress, Page, 0x1000); - } - } else { - - // - // If the user didn't specify a physical address then dump the first - // 16 bytes of every physical pages. - // - // Note that as the physmem is unordered, so we order the addresses here - // so that it is nicer for the user as they probably don't expect unorder. - // - - const auto &Physmem = Dmp.GetPhysmem(); - std::vector OrderedPhysicalAddresses; - OrderedPhysicalAddresses.reserve(Physmem.size()); - - // - // Stuff the physical addresses in a vector. - // - - for (const auto &[PhysicalAddress, _] : Dmp.GetPhysmem()) { - OrderedPhysicalAddresses.emplace_back(PhysicalAddress); - } - - // - // Sort them. - // - - std::sort(OrderedPhysicalAddresses.begin(), - OrderedPhysicalAddresses.end()); - - // - // And now we can iterate through them and get the page content. - // - - for (const auto PhysicalAddress : OrderedPhysicalAddresses) { - const uint8_t *Page = Dmp.GetPhysicalPage(PhysicalAddress); - Hexdump(PhysicalAddress, Page, 16); - } - } - } - - return EXIT_SUCCESS; -} \ No newline at end of file diff --git a/src/libs/kdmp-parser/src/python/CMakeLists.txt b/src/libs/kdmp-parser/src/python/CMakeLists.txt deleted file mode 100644 index d2dc0f9..0000000 --- a/src/libs/kdmp-parser/src/python/CMakeLists.txt +++ /dev/null @@ -1,63 +0,0 @@ -# -# This file is part of kdmp-parser project -# -# Released under MIT License, by 0vercl0k - 2023 -# -# With contributions from: -# * masthoon - (github.com/masthoon) -# * hugsy - (github.com/hugsy) -# -cmake_minimum_required(VERSION 3.20) - -project( - kdmp-parser-python - DESCRIPTION "A Cross-Platform C++ parser library for Windows kernel minidumps." - HOMEPAGE_URL https://github.com/0vercl0k/kdmp-parser - VERSION 0.7.0 -) -set(PROJECT_AUTHOR 0vercl0k) -set(PROJECT_LICENSE MIT) -set(CMAKE_CXX_STANDARD 20) - -find_package(Python 3 - REQUIRED COMPONENTS Interpreter Development.Module - OPTIONAL_COMPONENTS Development.SABIModule -) - -if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) - set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) - set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") -endif() - -set(KDMPPARSER_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../..") -set(KDMPPARSER_INCLUDE_DIR "${KDMPPARSER_ROOT}/src/lib") -configure_file(${KDMPPARSER_INCLUDE_DIR}/kdmp-parser-version.h.in ${KDMPPARSER_INCLUDE_DIR}/kdmp-parser-version.h) - -execute_process( - COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir - OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE NB_DIR) -list(APPEND CMAKE_PREFIX_PATH "${NB_DIR}") - -find_package(nanobind CONFIG REQUIRED) - -nanobind_add_module(_kdmp_parser NB_STATIC src/kdmp_parser.cc) - -if(BUILD_PYTHON_PACKAGE) - # - # Those directives are only used when creating a standalone `kdmp_parser` python package - # Usual case is when build with `pip install src/python` - # - target_include_directories(_kdmp_parser PRIVATE ${KDMPPARSER_INCLUDE_DIR}) - install(DIRECTORY kdmp_parser DESTINATION .) - install(TARGETS _kdmp_parser LIBRARY DESTINATION kdmp_parser) -else() - # - # This is the general case, when built from the root cmakefile - # - target_include_directories(_kdmp_parser PRIVATE $) - install(TARGETS _kdmp_parser DESTINATION bindings/python) - - if(MSVC) - install(FILES $ DESTINATION . OPTIONAL) - endif(MSVC) -endif() diff --git a/src/libs/kdmp-parser/src/python/README.md b/src/libs/kdmp-parser/src/python/README.md deleted file mode 100644 index c9207ac..0000000 --- a/src/libs/kdmp-parser/src/python/README.md +++ /dev/null @@ -1,86 +0,0 @@ -# Python building for `kdmp-parser` - -![Build status](https://github.com/0vercl0k/kdmp-parser/workflows/Builds/badge.svg) - -This C++ library parses Windows kernel [full](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/complete-memory-dump) dumps (`.dump /f` in WinDbg), [BMP](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/active-memory-dump) dumps (`.dump /ka` in WinDbg) as well as more recent dump types that were introduced in ~2022. - -![parser](https://github.com/0vercl0k/kdmp-parser/raw/master/pics/parser.jpg) - -The library supports loading 64-bit dumps and provides read access to things like: - -- The context record, -- The exception record, -- The bugcheck parameters, -- The physical memory. - -The Python bindings were authored by [hugsy](https://github.com/hugsy) & [masthoon](https://github.com/masthoon). Refer to the [project page on Github](https://github.com/0vercl0k/kdmp-parser) for documentation, issues and pull requests. - -## Installing from PyPI - -The easiest way is simply to: - -```bash -pip install kdmp_parser -``` - -## Installing using PIP - -Run the following after installing [CMake](https://cmake.org/) and [Python](https://python.org/) 3.8+ / `pip`: -``` -cd src/python -pip install requirements.txt -pip install . -``` - -To create a wheel pacakge: -``` -cd src/python -pip wheel . -``` - -## Usage - -### Get context, print the program counter - -```python -import kdmp_parser -dmp = kdmp_parser.KernelDumpParser("full.dmp") -assert dmp.type == kdmp_parser.DumpType.FullDump -print(f"Dump RIP={dmp.context.Rip:#x}") -``` - -### Read a virtual memory page at address pointed by RIP - -```python -import kdmp_parser -dmp = kdmp_parser.KernelDumpParser("full.dmp") -dmp.read_virtual_page(dmp.context.Rip) -``` - -### Explore the physical memory - -```python -import kdmp_parser -dmp = kdmp_parser.KernelDumpParser("full.dmp") -pml4 = dmp.directory_table_base -print(f"{pml4=:#x}") -dmp.read_physical_page(pml4) -``` - -### Translate a virtual address into a physical address - -```python -import kdmp_parser -dmp = kdmp_parser.KernelDumpParser("full.dmp") -VA = dmp.context.Rip -PA = dmp.translate_virtual(VA) -print(f"{VA=:#x} -> {PA=:#x}") -``` - -# Authors - -* Axel '[@0vercl0k](https://twitter.com/0vercl0k)' Souchet - -# Contributors - -[ ![contributors-img](https://contrib.rocks/image?repo=0vercl0k/kdmp-parser) ](https://github.com/0vercl0k/kdmp-parser/graphs/contributors) diff --git a/src/libs/kdmp-parser/src/python/kdmp_parser/__init__.py b/src/libs/kdmp-parser/src/python/kdmp_parser/__init__.py deleted file mode 100644 index 59dd359..0000000 --- a/src/libs/kdmp-parser/src/python/kdmp_parser/__init__.py +++ /dev/null @@ -1,116 +0,0 @@ -""" -Root module of `kdmp_parser` Python package. -""" - -import enum -import pathlib -from typing import Optional, Union - -# -# `_kdmp_parser` is the C++ module. It contains the port of all C++ classes/enums/etc. in their -# original form. The Python package part provides more Pythonic APIs. -# -from ._kdmp_parser import ( # type: ignore - version, - DumpType_t as _DumpType_t, - KernelDumpParser as _KernelDumpParser, - CONTEXT as __CONTEXT, - HEADER64 as __HEADER64, -) - -from .page import ( - PageIterator as _PageIterator, -) - - -class DumpType(enum.IntEnum): - FullDump = _DumpType_t.FullDump - KernelDump = _DumpType_t.KernelDump - BMPDump = _DumpType_t.BMPDump - MiniDump = _DumpType_t.MiniDump - KernelMemoryDump = _DumpType_t.KernelMemoryDump - KernelAndUserMemoryDump = _DumpType_t.KernelAndUserMemoryDump - CompleteMemoryDump = _DumpType_t.CompleteMemoryDump - - -class KernelDumpParser: - def __init__(self, path: Union[str, pathlib.Path]): - """Parse a kernel dump file - - Args: - path (pathlib.Path|str): Path to the kernel dump file - """ - if isinstance(path, str): - path = pathlib.Path(path) - - if not isinstance(path, pathlib.Path): - raise TypeError - - if not path.exists(): - raise ValueError - - self.__dump = _KernelDumpParser() - if not self.__dump.Parse(str(path.absolute())): - raise RuntimeError(f"Invalid kernel dump file: {path}") - - self.filepath = path - self.context: __CONTEXT = self.__dump.GetContext() - self.directory_table_base: int = self.__dump.GetDirectoryTableBase() & ~0xFFF - self.type = DumpType(self.__dump.GetDumpType()) - self.header: __HEADER64 = self.__dump.GetDumpHeader() - self.pages = _PageIterator(self.__dump) - return - - def __repr__(self) -> str: - return f"KernelDumpParser({self.filepath}, {self.type})" - - def read_physical_page(self, physical_address: int) -> Optional[bytearray]: - """Read a physical page from the memory dump - - Args: - physical_address (int): The physical address to read. Note that no alignment - of this parameter is assumed. - - Returns: - Optional[bytearray]: The bytes in the page if found, None otherwise - """ - raw_page = self.__dump.GetPhysicalPage(physical_address) - if not raw_page: - return None - - return bytearray(raw_page) - - def read_virtual_page( - self, virtual_address: int, directory_table_base: Optional[int] = 0 - ) -> Optional[bytearray]: - """Read a virtual page from the memory dump - - Args: - virtual_address (int): _description_ - directory_table_base (Optional[int]): if given, corresponds to the DirectoryTableBase value - - Returns: - Optional[bytearray]: The bytes in the page if found, None otherwise - """ - raw_page = self.__dump.GetVirtualPage(virtual_address, directory_table_base) - if not raw_page: - return None - - return bytearray(raw_page) - - def translate_virtual( - self, virtual_address: int, directory_table_base: Optional[int] = 0 - ) -> Optional[int]: - """Translate a virtual address to physical. A directory table base can be optionally - provided - - Args: - virtual_address (int): _description_ - directory_table_base (Optional[int]): if given, corresponds to the DirectoryTableBase - value - - Returns: - Optional[int]: If found, return the physical address to the virtual address. None - otherwise - """ - return self.__dump.VirtTranslate(virtual_address, directory_table_base) diff --git a/src/libs/kdmp-parser/src/python/kdmp_parser/page.py b/src/libs/kdmp-parser/src/python/kdmp_parser/page.py deleted file mode 100644 index b3015de..0000000 --- a/src/libs/kdmp-parser/src/python/kdmp_parser/page.py +++ /dev/null @@ -1,43 +0,0 @@ -from typing import Generator -from ._kdmp_parser import ( # type: ignore - PageSize as size, - PageAlign as align, - PageOffset as offset, - KernelDumpParser as _KernelDumpParser, -) - -VALID_PAGE_SIZES = (0x1000, 0x20_0000, 0x4000_0000) - - -class PageIterator: - """Access a dump pages""" - - def __init__(self, dump: _KernelDumpParser) -> None: - self.__dump = dump - - def __getitem__(self, physical_address: int) -> bytearray: - raw_page = self.__dump.GetPhysicalPage(physical_address) - if not raw_page: - raise IndexError - return bytearray(raw_page) - - def __iter__(self) -> Generator[int, None, None]: - return self.keys() - - def __contains__(self, addr: int) -> bool: - return addr in self.keys() - - def __len__(self) -> int: - return len(list(self.keys())) - - def keys(self) -> Generator[int, None, None]: - for page_addr in self.__dump.GetPhysmem(): - yield page_addr - - def values(self) -> Generator[bytearray, None, None]: - for page_addr in self.__dump.GetPhysmem(): - yield self[page_addr] - - def items(self) -> Generator["tuple[int, bytearray]", None, None]: - for page_addr in self.__dump.GetPhysmem(): - yield page_addr, self[page_addr] diff --git a/src/libs/kdmp-parser/src/python/pyproject.toml b/src/libs/kdmp-parser/src/python/pyproject.toml deleted file mode 100644 index e49b554..0000000 --- a/src/libs/kdmp-parser/src/python/pyproject.toml +++ /dev/null @@ -1,44 +0,0 @@ -[build-system] -requires = ["scikit-build-core >=0.4.3", "nanobind >=1.3.2"] -build-backend = "scikit_build_core.build" - -[project] -name = "kdmp-parser" -version = "0.7.0" -description = "A Cross-Platform C++ parser library for Windows kernel minidumps." -readme = "README.md" -requires-python = ">=3.8" -authors = [{ name = "0vercl0k", email = "0vercl0k@not-your-biz.net" }] -classifiers = [ - "Development Status :: 4 - Beta", - "License :: OSI Approved :: MIT License", - "Programming Language :: Python :: 3", - "Topic :: Software Development :: Assemblers", - "Natural Language :: English", -] -dependencies = [] - -[project.urls] -Homepage = "https://github.com/0vercl0k/kdmp-parser" - -[tool.isort] -profile = "black" - -[tool.scikit-build] -wheel.py-api = "cp312" -minimum-version = "0.4" -build-dir = "build/{wheel_tag}" -cmake.minimum-version = "3.20" -cmake.args = [ - "-DBUILD_PARSER:BOOL=OFF", - "-DBUILD_TESTS:BOOL=OFF", - "-DBUILD_PYTHON_PACKAGE:BOOL=ON", -] - -[tool.cibuildwheel] -build-verbosity = 1 -test-command = "pytest {project}/tests" -test-requires = "pytest" - -[tool.cibuildwheel.macos.environment] -MACOSX_DEPLOYMENT_TARGET = "10.14" diff --git a/src/libs/kdmp-parser/src/python/requirements.txt b/src/libs/kdmp-parser/src/python/requirements.txt deleted file mode 100644 index f4b57e7..0000000 --- a/src/libs/kdmp-parser/src/python/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -setuptools -wheel -nanobind -black diff --git a/src/libs/kdmp-parser/src/python/src/kdmp_parser.cc b/src/libs/kdmp-parser/src/python/src/kdmp_parser.cc deleted file mode 100644 index b790067..0000000 --- a/src/libs/kdmp-parser/src/python/src/kdmp_parser.cc +++ /dev/null @@ -1,341 +0,0 @@ -// -// This file is part of kdmp-parser project -// -// Released under MIT License, by 0vercl0k - 2023 -// -// With contributions from: -// * hugsy - (github.com/hugsy) -// - -#include "kdmp-parser.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace nb = nanobind; -using namespace nb::literals; - -NB_MODULE(_kdmp_parser, m) { - - m.doc() = "KDMP parser module"; - - nb::class_(m, "version") - .def_ro_static("major", &kdmpparser::Version_t::Major) - .def_ro_static("minor", &kdmpparser::Version_t::Minor) - .def_ro_static("patch", &kdmpparser::Version_t::Patch) - .def_ro_static("release", &kdmpparser::Version_t::Release); - - nb::class_(m, "uint128_t") - .def(nb::init<>()) - .def_rw("Low", &kdmpparser::uint128_t::Low) - .def_rw("High", &kdmpparser::uint128_t::High); - - nb::enum_(m, "DumpType_t") - .value("FullDump", kdmpparser::DumpType_t::FullDump) - .value("KernelDump", kdmpparser::DumpType_t::KernelDump) - .value("BMPDump", kdmpparser::DumpType_t::BMPDump) - - .value("MiniDump", kdmpparser::DumpType_t::MiniDump) - .value("KernelMemoryDump", kdmpparser::DumpType_t::KernelMemoryDump) - .value("KernelAndUserMemoryDump", - kdmpparser::DumpType_t::KernelAndUserMemoryDump) - .value("CompleteMemoryDump", kdmpparser::DumpType_t::CompleteMemoryDump) - .export_values(); - - nb::class_(m, "PHYSMEM_RUN") - .def(nb::init<>()) - .def_rw("BasePage", &kdmpparser::PHYSMEM_RUN::BasePage) - .def_rw("PageCount", &kdmpparser::PHYSMEM_RUN::PageCount) - .def("Show", &kdmpparser::PHYSMEM_RUN::Show, "Prefix"_a); - - nb::class_(m, "PHYSMEM_DESC") - .def(nb::init<>()) - .def_ro("NumberOfRuns", &kdmpparser::PHYSMEM_DESC::NumberOfRuns) - .def_ro("Padding0", &kdmpparser::PHYSMEM_DESC::Padding0) - .def_ro("NumberOfPages", &kdmpparser::PHYSMEM_DESC::NumberOfPages) - .def_ro("Run", &kdmpparser::PHYSMEM_DESC::Run) - .def("Show", &kdmpparser::PHYSMEM_DESC::Show, "Prefix"_a) - .def("LooksGood", &kdmpparser::PHYSMEM_DESC::LooksGood); - - nb::class_(m, "BMP_HEADER64") - .def(nb::init<>()) - .def_ro_static("ExpectedSignature", - &kdmpparser::BMP_HEADER64::ExpectedSignature) - .def_ro_static("ExpectedSignature2", - &kdmpparser::BMP_HEADER64::ExpectedSignature2) - .def_ro_static("ExpectedValidDump", - &kdmpparser::BMP_HEADER64::ExpectedValidDump) - .def_ro("Signature", &kdmpparser::BMP_HEADER64::Signature) - .def_ro("ValidDump", &kdmpparser::BMP_HEADER64::ValidDump) - .def_ro("Padding0", &kdmpparser::BMP_HEADER64::Padding0) - .def_ro("FirstPage", &kdmpparser::BMP_HEADER64::FirstPage) - .def_ro("TotalPresentPages", &kdmpparser::BMP_HEADER64::TotalPresentPages) - .def_ro("Pages", &kdmpparser::BMP_HEADER64::Pages) - .def_ro("Bitmap", &kdmpparser::BMP_HEADER64::Bitmap) - .def("Show", &kdmpparser::PHYSMEM_DESC::Show, "Prefix"_a) - .def("LooksGood", &kdmpparser::PHYSMEM_DESC::LooksGood); - - nb::class_(m, "RDMP_HEADER64") - .def(nb::init<>()) - .def_ro_static("ExpectedMarker", - &kdmpparser::RDMP_HEADER64::ExpectedMarker) - .def_ro_static("ExpectedSignature", - &kdmpparser::RDMP_HEADER64::ExpectedSignature) - .def_ro_static("ExpectedValidDump", - &kdmpparser::RDMP_HEADER64::ExpectedValidDump) - .def_ro("Marker", &kdmpparser::RDMP_HEADER64::Marker) - .def_ro("Signature", &kdmpparser::RDMP_HEADER64::Signature) - .def_ro("ValidDump", &kdmpparser::RDMP_HEADER64::ValidDump) - .def_ro("MetadataSize", &kdmpparser::RDMP_HEADER64::MetadataSize) - .def_ro("FirstPageOffset", &kdmpparser::RDMP_HEADER64::FirstPageOffset) - .def("LooksGood", &kdmpparser::RDMP_HEADER64::LooksGood) - .def("Show", &kdmpparser::RDMP_HEADER64::Show); - - nb::class_(m, "KERNEL_RDMP_HEADER64") - .def(nb::init<>()); - - nb::class_(m, "FULL_RDMP_HEADER64") - .def(nb::init<>()); - - using CONTEXT = kdmpparser::CONTEXT; - nb::class_(m, "CONTEXT") - .def(nb::init<>()) - .def_ro("P1Home", &CONTEXT::P1Home) - .def_ro("P2Home", &CONTEXT::P2Home) - .def_ro("P3Home", &CONTEXT::P3Home) - .def_ro("P4Home", &CONTEXT::P4Home) - .def_ro("P5Home", &CONTEXT::P5Home) - .def_ro("P6Home", &CONTEXT::P6Home) - .def_ro("ContextFlags", &CONTEXT::ContextFlags) - .def_ro("MxCsr", &CONTEXT::MxCsr) - .def_ro("SegCs", &CONTEXT::SegCs) - .def_ro("SegDs", &CONTEXT::SegDs) - .def_ro("SegEs", &CONTEXT::SegEs) - .def_ro("SegFs", &CONTEXT::SegFs) - .def_ro("SegGs", &CONTEXT::SegGs) - .def_ro("SegSs", &CONTEXT::SegSs) - .def_ro("EFlags", &CONTEXT::EFlags) - .def_ro("Dr0", &CONTEXT::Dr0) - .def_ro("Dr1", &CONTEXT::Dr1) - .def_ro("Dr2", &CONTEXT::Dr2) - .def_ro("Dr3", &CONTEXT::Dr3) - .def_ro("Dr6", &CONTEXT::Dr6) - .def_ro("Dr7", &CONTEXT::Dr7) - .def_ro("Rax", &CONTEXT::Rax) - .def_ro("Rcx", &CONTEXT::Rcx) - .def_ro("Rdx", &CONTEXT::Rdx) - .def_ro("Rbx", &CONTEXT::Rbx) - .def_ro("Rsp", &CONTEXT::Rsp) - .def_ro("Rbp", &CONTEXT::Rbp) - .def_ro("Rsi", &CONTEXT::Rsi) - .def_ro("Rdi", &CONTEXT::Rdi) - .def_ro("R8", &CONTEXT::R8) - .def_ro("R9", &CONTEXT::R9) - .def_ro("R10", &CONTEXT::R10) - .def_ro("R11", &CONTEXT::R11) - .def_ro("R12", &CONTEXT::R12) - .def_ro("R13", &CONTEXT::R13) - .def_ro("R14", &CONTEXT::R14) - .def_ro("R15", &CONTEXT::R15) - .def_ro("Rip", &CONTEXT::Rip) - .def_ro("ControlWord", &CONTEXT::ControlWord) - .def_ro("StatusWord", &CONTEXT::StatusWord) - .def_ro("TagWord", &CONTEXT::TagWord) - .def_ro("Reserved1", &CONTEXT::Reserved1) - .def_ro("ErrorOpcode", &CONTEXT::ErrorOpcode) - .def_ro("ErrorOffset", &CONTEXT::ErrorOffset) - .def_ro("ErrorSelector", &CONTEXT::ErrorSelector) - .def_ro("Reserved2", &CONTEXT::Reserved2) - .def_ro("DataOffset", &CONTEXT::DataOffset) - .def_ro("DataSelector", &CONTEXT::DataSelector) - .def_ro("Reserved3", &CONTEXT::Reserved3) - .def_ro("MxCsr2", &CONTEXT::MxCsr2) - .def_ro("MxCsr_Mask", &CONTEXT::MxCsr_Mask) - .def_ro("FloatRegisters", &CONTEXT::FloatRegisters) - .def_ro("Xmm0", &CONTEXT::Xmm0) - .def_ro("Xmm1", &CONTEXT::Xmm1) - .def_ro("Xmm2", &CONTEXT::Xmm2) - .def_ro("Xmm3", &CONTEXT::Xmm3) - .def_ro("Xmm4", &CONTEXT::Xmm4) - .def_ro("Xmm5", &CONTEXT::Xmm5) - .def_ro("Xmm6", &CONTEXT::Xmm6) - .def_ro("Xmm7", &CONTEXT::Xmm7) - .def_ro("Xmm8", &CONTEXT::Xmm8) - .def_ro("Xmm9", &CONTEXT::Xmm9) - .def_ro("Xmm10", &CONTEXT::Xmm10) - .def_ro("Xmm11", &CONTEXT::Xmm11) - .def_ro("Xmm12", &CONTEXT::Xmm12) - .def_ro("Xmm13", &CONTEXT::Xmm13) - .def_ro("Xmm14", &CONTEXT::Xmm14) - .def_ro("Xmm15", &CONTEXT::Xmm15) - .def_ro("VectorRegister", &CONTEXT::VectorRegister) - .def_ro("VectorControl", &CONTEXT::VectorControl) - .def_ro("DebugControl", &CONTEXT::DebugControl) - .def_ro("LastBranchToRip", &CONTEXT::LastBranchToRip) - .def_ro("LastBranchFromRip", &CONTEXT::LastBranchFromRip) - .def_ro("LastExceptionToRip", &CONTEXT::LastExceptionToRip) - .def_ro("LastExceptionFromRip", &CONTEXT::LastExceptionFromRip) - .def("Show", &CONTEXT::Show, "Prefix"_a) - .def("LooksGood", &CONTEXT::LooksGood); - - using EXCEPTION_RECORD64 = kdmpparser::EXCEPTION_RECORD64; - nb::class_(m, "EXCEPTION_RECORD64") - .def(nb::init<>()) - .def_ro("ExceptionCode", &EXCEPTION_RECORD64::ExceptionCode) - .def_ro("ExceptionFlags", &EXCEPTION_RECORD64::ExceptionFlags) - .def_ro("ExceptionRecord", &EXCEPTION_RECORD64::ExceptionRecord) - .def_ro("ExceptionAddress", &EXCEPTION_RECORD64::ExceptionAddress) - .def_ro("NumberParameters", &EXCEPTION_RECORD64::NumberParameters) - .def_ro("__unusedAlignment", &EXCEPTION_RECORD64::__unusedAlignment) - .def_ro("ExceptionInformation", &EXCEPTION_RECORD64::ExceptionInformation) - .def("Show", &EXCEPTION_RECORD64::Show, "Prefix"_a); - - using HEADER64 = kdmpparser::HEADER64; - nb::class_(m, "HEADER64") - .def(nb::init<>()) - .def_ro_static("ExpectedSignature", &HEADER64::ExpectedSignature) - .def_ro_static("ExpectedValidDump", &HEADER64::ExpectedValidDump) - .def_ro("Signature", &HEADER64::Signature) - .def_ro("ValidDump", &HEADER64::ValidDump) - .def_ro("MajorVersion", &HEADER64::MajorVersion) - .def_ro("MinorVersion", &HEADER64::MinorVersion) - .def_ro("DirectoryTableBase", &HEADER64::DirectoryTableBase) - .def_ro("PfnDatabase", &HEADER64::PfnDatabase) - .def_ro("PsLoadedModuleList", &HEADER64::PsLoadedModuleList) - .def_ro("PsActiveProcessHead", &HEADER64::PsActiveProcessHead) - .def_ro("MachineImageType", &HEADER64::MachineImageType) - .def_ro("NumberProcessors", &HEADER64::NumberProcessors) - .def_ro("BugCheckCode", &HEADER64::BugCheckCode) - .def_ro("BugCheckCodeParameter", &HEADER64::BugCheckCodeParameters) - .def_ro("KdDebuggerDataBlock", &HEADER64::KdDebuggerDataBlock) - .def_prop_ro("PhysicalMemoryBlock", - [](const HEADER64 &Hdr) -> kdmpparser::PHYSMEM_DESC { - return Hdr.u1.PhysicalMemoryBlock; - }) - .def_prop_ro("ContextRecord", - [](const HEADER64 &Hdr) { return Hdr.u2.ContextRecord; }) - .def_ro("Exception", &HEADER64::Exception) - .def_ro("DumpType", &HEADER64::DumpType) - .def_ro("RequiredDumpSpace", &HEADER64::RequiredDumpSpace) - .def_ro("SystemTime", &HEADER64::SystemTime) - .def_ro("Comment", &HEADER64::Comment) - .def_ro("SystemUpTime", &HEADER64::SystemUpTime) - .def_ro("MiniDumpFields", &HEADER64::MiniDumpFields) - .def_ro("SecondaryDataState", &HEADER64::SecondaryDataState) - .def_ro("ProductType", &HEADER64::ProductType) - .def_ro("SuiteMask", &HEADER64::SuiteMask) - .def_ro("WriterStatus", &HEADER64::WriterStatus) - .def_ro("KdSecondaryVersion", &HEADER64::KdSecondaryVersion) - .def_ro("Attributes", &HEADER64::Attributes) - .def_ro("BootId", &HEADER64::BootId) - .def_prop_ro( - "BmpHeader", - [](const HEADER64 &Hdr) -> std::optional { - if (Hdr.DumpType != kdmpparser::DumpType_t::BMPDump) { - return {}; - } - - return Hdr.u3.BmpHeader; - }) - .def_prop_ro("RdmpHeader", - [](const HEADER64 &Hdr) - -> std::optional { - if (Hdr.DumpType != - kdmpparser::DumpType_t::KernelAndUserMemoryDump && - Hdr.DumpType != - kdmpparser::DumpType_t::KernelMemoryDump) { - return {}; - } - - return Hdr.u3.RdmpHeader; - }) - .def_prop_ro("FullRdmpHeader", - [](const HEADER64 &Hdr) - -> std::optional { - if (Hdr.DumpType != - kdmpparser::DumpType_t::CompleteMemoryDump) { - return {}; - } - - return Hdr.u3.FullRdmpHeader; - }) - .def("Show", &CONTEXT::Show, "Prefix"_a) - .def("LooksGood", &CONTEXT::LooksGood); - - m.attr("PageSize") = kdmpparser::Page::Size; - m.def("PageAlign", &kdmpparser::Page::Align, "Address"_a, - "Get the aligned value on the page for the given address."); - m.def("PageOffset", &kdmpparser::Page::Offset, "Address"_a, - "Get the offset to the page for the given address."); - - using BugCheckParameters_t = kdmpparser::BugCheckParameters_t; - nb::class_(m, "BugCheckParameters_t") - .def(nb::init<>()) - .def_ro("BugCheckCode", &BugCheckParameters_t::BugCheckCode) - .def_ro("BugCheckCodeParameter", - &BugCheckParameters_t::BugCheckCodeParameter); - - using KernelDumpParser = kdmpparser::KernelDumpParser; - nb::class_(m, "KernelDumpParser") - .def(nb::init<>()) - .def("Parse", &KernelDumpParser::Parse, "PathFile"_a) - .def("GetContext", &KernelDumpParser::GetContext) - .def("GetDumpHeader", &KernelDumpParser::GetDumpHeader, - nb::rv_policy::reference) - .def("GetBugCheckParameters", &KernelDumpParser::GetBugCheckParameters) - .def("GetDumpType", &KernelDumpParser::GetDumpType) - .def("GetPhysmem", - [](const KernelDumpParser &Parser) { - const auto &PhysMem = Parser.GetPhysmem(); - return nb::make_key_iterator(nb::type>(), - "it", PhysMem.cbegin(), - PhysMem.cend()); - }) - .def("ShowExceptionRecord", &KernelDumpParser::ShowExceptionRecord, - "Prefix"_a = 0) - .def("ShowContextRecord", &KernelDumpParser::ShowContextRecord, - "Prefix"_a = 0) - .def("ShowAllStructures", &KernelDumpParser::ShowAllStructures, - "Prefix"_a = 0) - .def( - "GetPhysicalPage", - [](const KernelDumpParser &Parser, const uint64_t PhysicalAddress) - -> std::optional { - const auto *Page = Parser.GetPhysicalPage(PhysicalAddress); - if (!Page) { - return std::nullopt; - } - - kdmpparser::Page_t Out; - memcpy(Out.data(), Page, kdmpparser::Page::Size); - return Out; - }, - "PhysicalAddress"_a) - .def("GetDirectoryTableBase", &KernelDumpParser::GetDirectoryTableBase) - .def("VirtTranslate", &KernelDumpParser::VirtTranslate, - "VirtualAddress"_a, "DirectoryTableBase"_a) - .def( - "GetVirtualPage", - [](const KernelDumpParser &Parser, const uint64_t VirtualAddress, - const uint64_t DirectoryTableBase = - 0) -> std::optional { - const auto *Page = - Parser.GetVirtualPage(VirtualAddress, DirectoryTableBase); - if (!Page) { - return std::nullopt; - } - - kdmpparser::Page_t Out; - memcpy(Out.data(), Page, kdmpparser::Page::Size); - return Out; - }, - "VirtualAddress"_a, "DirectoryTableBase"_a = 0); -} diff --git a/src/libs/kdmp-parser/src/python/tests/pytest.ini b/src/libs/kdmp-parser/src/python/tests/pytest.ini deleted file mode 100644 index 8a8695c..0000000 --- a/src/libs/kdmp-parser/src/python/tests/pytest.ini +++ /dev/null @@ -1,15 +0,0 @@ -[pytest] -log_level = INFO -minversion = 6.0 -required_plugins = - pytest-xdist - pytest-cov -python_functions = - test_* - time_* -python_files = *.py -testpaths = - . -markers = - slow: flag test as slow (deselect with '-m "not slow"') - online: flag test as requiring internet to work (deselect with '-m "not online"') diff --git a/src/libs/kdmp-parser/src/python/tests/requirements.txt b/src/libs/kdmp-parser/src/python/tests/requirements.txt deleted file mode 100644 index eb9dfdd..0000000 --- a/src/libs/kdmp-parser/src/python/tests/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -pytest -pytest-cov -pytest-xdist -pytest-forked diff --git a/src/libs/kdmp-parser/src/python/tests/test_page.py b/src/libs/kdmp-parser/src/python/tests/test_page.py deleted file mode 100644 index e5e8049..0000000 --- a/src/libs/kdmp-parser/src/python/tests/test_page.py +++ /dev/null @@ -1,17 +0,0 @@ -# -# This file is part of kdmp-parser project -# -# Released under MIT License, by 0vercl0k - 2023 -# -# With contributions from: -# * masthoon - (github.com/masthoon) -# * hugsy - (github.com/hugsy) -# -import kdmp_parser.page - - -def test_page(): - assert callable(kdmp_parser.page.align) - assert callable(kdmp_parser.page.offset) - assert isinstance(kdmp_parser.page.size, int) - assert kdmp_parser.page.size in kdmp_parser.page.VALID_PAGE_SIZES diff --git a/src/libs/kdmp-parser/src/python/tests/test_parser.py b/src/libs/kdmp-parser/src/python/tests/test_parser.py deleted file mode 100644 index 57c1214..0000000 --- a/src/libs/kdmp-parser/src/python/tests/test_parser.py +++ /dev/null @@ -1,129 +0,0 @@ -# -# This file is part of kdmp-parser project -# -# Released under MIT License, by 0vercl0k - 2023 -# -# With contributions from: -# * masthoon - (github.com/masthoon) -# * hugsy - (github.com/hugsy) -# - -import pathlib -import unittest -import kdmp_parser - -REPO_ROOT = pathlib.Path(__file__).absolute().parent.parent.parent.parent - -class TestParserBasic(unittest.TestCase): - def setUp(self): - self.minidump_files: list[pathlib.Path] = [ - REPO_ROOT / "bmp.dmp", - REPO_ROOT / "full.dmp", - ] - - return super().setUp() - - def tearDown(self) -> None: - return super().tearDown() - - def test_parser_context(self): - expected_values = { - "bmp.dmp": { - "rip": 0xFFFFF805108776A0, - "rbp": 0xFFFFF80513568600, - "rsp": 0xFFFFF805135684F8, - "rax": 0x3, - "rbx": 0xFFFFF8050F4E9F70, - "rcx": 0x1, - "rdx": 0xFFFFF805135684D0, - "r8": 0x3, - "r9": 0xFFFFF805135684B8, - "r10": 0x0, - "r11": 0xFFFFA8848825E000, - "r12": 0xFFFFF8050F4E9F80, - "r13": 0xFFFFF80510C3C958, - "r14": 0x0, - "r15": 0x52, - "dtd": 0x6D4000, - }, - "full.dmp": { - "rip": 0xFFFFF805108776A0, - "rbp": 0xFFFFF80513568600, - "rsp": 0xFFFFF805135684F8, - "rax": 0x3, - "rbx": 0xFFFFF8050F4E9F70, - "rcx": 0x1, - "rdx": 0xFFFFF805135684D0, - "r8": 0x3, - "r9": 0xFFFFF805135684B8, - "r10": 0x0, - "r11": 0xFFFFA8848825E000, - "r12": 0xFFFFF8050F4E9F80, - "r13": 0xFFFFF80510C3C958, - "r14": 0x0, - "r15": 0x52, - "dtd": 0x6D4000, - }, - } - - for md in self.minidump_files: - parser = kdmp_parser.KernelDumpParser(md) - assert parser.filepath == md - - values = expected_values[md.name] - assert parser.context is not None - assert parser.context.Rip == values["rip"] - assert parser.context.Rbp == values["rbp"] - assert parser.context.Rsp == values["rsp"] - assert parser.context.Rax == values["rax"] - assert parser.context.Rbx == values["rbx"] - assert parser.context.Rcx == values["rcx"] - assert parser.context.Rdx == values["rdx"] - assert parser.context.R8 == values["r8"] - assert parser.context.R9 == values["r9"] - assert parser.context.R10 == values["r10"] - assert parser.context.R11 == values["r11"] - assert parser.context.R12 == values["r12"] - assert parser.context.R13 == values["r13"] - assert parser.context.R14 == values["r14"] - assert parser.context.R15 == values["r15"] - - assert parser.directory_table_base == values["dtd"] - - def test_parser_memory(self): - parser = kdmp_parser.KernelDumpParser(self.minidump_files[0]) - assert parser.directory_table_base == 0x6D4000 - - page = parser.read_physical_page(0x5000) - assert page is not None - assert page[0x34:0x38] == b"MSFT" - - assert parser.translate_virtual(0xFFFFF78000000000) == 0x0000000000C2F000 - assert parser.translate_virtual(0xFFFFF80513370000) == 0x000000003D555000 - - assert parser.read_virtual_page( - 0xFFFFF78000000000 - ) == parser.read_physical_page(0x0000000000C2F000) - assert parser.read_virtual_page( - 0xFFFFF80513370000 - ) == parser.read_physical_page(0x000000003D555000) - - def test_parser_page_iterator(self): - parser = kdmp_parser.KernelDumpParser(self.minidump_files[0]) - - page_addresses = list(parser.pages.keys()) - page_values = list(parser.pages.values()) - - assert len(parser.pages) > 0 - assert len(page_addresses) == len(parser.pages) - assert len(page_addresses) == len(page_values) - - addr = page_addresses[0] - page = parser.pages[addr] - assert parser.read_physical_page(addr) == page - - for addr, page in parser.pages.items(): - assert addr in page_addresses - assert page in page_values - assert len(page) == kdmp_parser.page.size - assert parser.read_physical_page(addr) == page diff --git a/src/libs/kdmp-parser/src/python/tests/test_version.py b/src/libs/kdmp-parser/src/python/tests/test_version.py deleted file mode 100644 index 1ef483a..0000000 --- a/src/libs/kdmp-parser/src/python/tests/test_version.py +++ /dev/null @@ -1,17 +0,0 @@ -# -# This file is part of kdmp-parser project -# -# Released under MIT License, by 0vercl0k - 2023 -# -# With contributions from: -# * masthoon - (github.com/masthoon) -# * hugsy - (github.com/hugsy) -# -import kdmp_parser - - -def test_version(): - assert isinstance(kdmp_parser.version.major, int) - assert isinstance(kdmp_parser.version.minor, int) - assert isinstance(kdmp_parser.version.patch, int) - assert isinstance(kdmp_parser.version.release, str) diff --git a/src/libs/kdmp-parser/src/tests/CMakeLists.txt b/src/libs/kdmp-parser/src/tests/CMakeLists.txt deleted file mode 100644 index 2613707..0000000 --- a/src/libs/kdmp-parser/src/tests/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Axel '0vercl0k' Souchet - April 18 2020 -enable_testing() - -# -# Build and link Catch2 library dependency automatically if not already found -# -include(FetchContent) -FetchContent_Declare( - Catch2 - URL https://github.com/catchorg/Catch2/archive/refs/tags/v3.4.0.zip - URL_HASH MD5=c426e77d4ee0055410bc930182959ae5 -) -FetchContent_MakeAvailable(Catch2) - -# -# Build all test files -# -list(APPEND TEST_SOURCE_FILES - tests_version.cc - tests_parser.cc -) - -foreach(SOURCE_FILE ${TEST_SOURCE_FILES}) - cmake_path(GET SOURCE_FILE STEM TEST_EXECUTABLE_NAME) - add_executable(${TEST_EXECUTABLE_NAME} ${SOURCE_FILE}) - target_link_libraries(${TEST_EXECUTABLE_NAME} PUBLIC kdmp-parser Catch2::Catch2WithMain) - add_test(NAME ${TEST_EXECUTABLE_NAME} COMMAND $) - install(FILES $ DESTINATION tests) -endforeach() diff --git a/src/libs/kdmp-parser/src/tests/tests_parser.cc b/src/libs/kdmp-parser/src/tests/tests_parser.cc deleted file mode 100644 index 36aa6c8..0000000 --- a/src/libs/kdmp-parser/src/tests/tests_parser.cc +++ /dev/null @@ -1,240 +0,0 @@ -// Axel '0vercl0k' Souchet - 2023 -#define CATCH_CONFIG_MAIN - -#include "kdmp-parser.h" -#include -#include -#include -#include -#include -#include - -struct TestCaseValues { - std::string_view File; - kdmpparser::DumpType_t Type; - uint64_t Size = 0; - uint64_t ReadAddress = 0; - std::array Bytes; - uint64_t Rax = 0; - uint64_t Rbx = 0; - uint64_t Rcx = 0; - uint64_t Rdx = 0; - uint64_t Rsi = 0; - uint64_t Rdi = 0; - uint64_t Rip = 0; - uint64_t Rsp = 0; - uint64_t Rbp = 0; - uint64_t R8 = 0; - uint64_t R9 = 0; - uint64_t R10 = 0; - uint64_t R11 = 0; - uint64_t R12 = 0; - uint64_t R13 = 0; - uint64_t R14 = 0; - uint64_t R15 = 0; -}; - -constexpr TestCaseValues TestCaseBmp{ - // - // kd> r - // rax=0000000000000003 rbx=fffff8050f4e9f70 rcx=0000000000000001 - // rdx=fffff805135684d0 rsi=0000000000000100 rdi=fffff8050f4e9f80 - // rip=fffff805108776a0 rsp=fffff805135684f8 rbp=fffff80513568600 - // r8=0000000000000003 r9=fffff805135684b8 r10=0000000000000000 - // r11=ffffa8848825e000 r12=fffff8050f4e9f80 r13=fffff80510c3c958 - // r14=0000000000000000 r15=0000000000000052 - // iopl=0 nv up ei pl nz na pe nc - // cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040202 - // - "bmp.dmp", - kdmpparser::DumpType_t::BMPDump, - 0x54'4b, - 0x6d'4d'22, - {0x6d, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x63, 0x88, 0x75, 0x00, 0x00, 0x00, - 0x00, 0x0a, 0x63, 0x98}, - 0x00000000'00000003ULL, - 0xfffff805'0f4e9f70ULL, - 0x00000000'00000001ULL, - 0xfffff805'135684d0ULL, - 0x00000000'00000100ULL, - 0xfffff805'0f4e9f80ULL, - 0xfffff805'108776a0ULL, - 0xfffff805'135684f8ULL, - 0xfffff805'13568600ULL, - 0x00000000'00000003ULL, - 0xfffff805'135684b8ULL, - 0x00000000'00000000ULL, - 0xffffa884'8825e000ULL, - 0xfffff805'0f4e9f80ULL, - 0xfffff805'10c3c958ULL, - 0x00000000'00000000ULL, - 0x00000000'00000052ULL, -}; - -constexpr TestCaseValues TestCaseFull{ - "full.dmp", - kdmpparser::DumpType_t::FullDump, - 0x03'fb'e6, - 0x6d'4d'22, - {0x6d, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x63, 0x88, 0x75, 0x00, 0x00, 0x00, - 0x00, 0x0a, 0x63, 0x98}, - 0x00000000'00000003ULL, - 0xfffff805'0f4e9f70ULL, - 0x00000000'00000001ULL, - 0xfffff805'135684d0ULL, - 0x00000000'00000100ULL, - 0xfffff805'0f4e9f80ULL, - 0xfffff805'108776a0ULL, - 0xfffff805'135684f8ULL, - 0xfffff805'13568600ULL, - 0x00000000'00000003ULL, - 0xfffff805'135684b8ULL, - 0x00000000'00000000ULL, - 0xffffa884'8825e000ULL, - 0xfffff805'0f4e9f80ULL, - 0xfffff805'10c3c958ULL, - 0x00000000'00000000ULL, - 0x00000000'00000052ULL, -}; - -constexpr TestCaseValues TestCaseKernelDump{ - "kerneldump.dmp", - kdmpparser::DumpType_t::KernelMemoryDump, - 0xa0'2e, - 0x02'58'92'f0, - {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, - 0x0c, 0xc0, 0xff, 0xff}, - 0x00000000'00007a01ULL, - 0xffffc00c'5191e010ULL, - 0x00000000'00000001ULL, - 0x00000012'00000000ULL, - 0xffffc00c'51907bb0ULL, - 0x00000000'00000002ULL, - 0xfffff803'f2c35470ULL, - 0xfffff803'f515ec28ULL, - 0x00000000'0c1c9800ULL, - 0x00000000'000000b0ULL, - 0xffffc00c'502ff000ULL, - 0x00000000'00000057ULL, - 0xfffff803'f3a04500ULL, - 0xfffff803'f515ee60ULL, - 0x00000000'00000003ULL, - 0xfffff803'f1e9a180ULL, - 0x00000000'0000001fULL, -}; - -constexpr TestCaseValues TestCaseKernelUserDump{ - "kerneluserdump.dmp", - kdmpparser::DumpType_t::KernelAndUserMemoryDump, - 0x01'f7'c7, - 0x02'58'92'f0, - {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, - 0x0c, 0xc0, 0xff, 0xff}, - 0x00000000'00007a01ULL, - 0xffffc00c'5191e010ULL, - 0x00000000'00000001ULL, - 0x00000012'00000000ULL, - 0xffffc00c'51907bb0ULL, - 0x00000000'00000002ULL, - 0xfffff803'f2c35470ULL, - 0xfffff803'f515ec28ULL, - 0x00000000'0c1c9800ULL, - 0x00000000'000000b0ULL, - 0xffffc00c'502ff000ULL, - 0x00000000'00000057ULL, - 0xfffff803'f3a04500ULL, - 0xfffff803'f515ee60ULL, - 0x00000000'00000003ULL, - 0xfffff803'f1e9a180ULL, - 0x00000000'0000001fULL, -}; - -constexpr TestCaseValues TestCaseCompleteDump{ - "completedump.dmp", - kdmpparser::DumpType_t::CompleteMemoryDump, - 0x01'fb'f9, - 0x02'58'92'f0, - {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, - 0x0c, 0xc0, 0xff, 0xff}, - 0x00000000'00007a01ULL, - 0xffffc00c'5191e010ULL, - 0x00000000'00000001ULL, - 0x00000012'00000000ULL, - 0xffffc00c'51907bb0ULL, - 0x00000000'00000002ULL, - 0xfffff803'f2c35470ULL, - 0xfffff803'f515ec28ULL, - 0x00000000'0c1c9800ULL, - 0x00000000'000000b0ULL, - 0xffffc00c'502ff000ULL, - 0x00000000'00000057ULL, - 0xfffff803'f3a04500ULL, - 0xfffff803'f515ee60ULL, - 0x00000000'00000003ULL, - 0xfffff803'f1e9a180ULL, - 0x00000000'0000001fULL, -}; - -constexpr std::array Testcases{ - TestCaseBmp, TestCaseFull, - TestCaseKernelDump, TestCaseKernelUserDump, - TestCaseCompleteDump, -}; - -TEST_CASE("kdmp-parser", "parser") { - SECTION("Test minidump exists") { - for (const auto &Testcase : Testcases) { - REQUIRE(std::filesystem::exists(Testcase.File)); - } - } - - SECTION("Basic parsing") { - for (const auto &Testcase : Testcases) { - kdmpparser::KernelDumpParser Dmp; - REQUIRE(Dmp.Parse(Testcase.File.data())); - CHECK(Dmp.GetDumpType() == Testcase.Type); - const auto &Physmem = Dmp.GetPhysmem(); - CHECK(Physmem.size() == Testcase.Size); - } - } - - SECTION("Context values") { - for (const auto &Testcase : Testcases) { - kdmpparser::KernelDumpParser Dmp; - REQUIRE(Dmp.Parse(Testcase.File.data())); - const auto &Context = Dmp.GetContext(); - CHECK(Context.Rax == Testcase.Rax); - CHECK(Context.Rbx == Testcase.Rbx); - CHECK(Context.Rcx == Testcase.Rcx); - CHECK(Context.Rdx == Testcase.Rdx); - CHECK(Context.Rsi == Testcase.Rsi); - CHECK(Context.Rdi == Testcase.Rdi); - CHECK(Context.Rip == Testcase.Rip); - CHECK(Context.Rsp == Testcase.Rsp); - CHECK(Context.Rbp == Testcase.Rbp); - CHECK(Context.R8 == Testcase.R8); - CHECK(Context.R9 == Testcase.R9); - CHECK(Context.R10 == Testcase.R10); - CHECK(Context.R11 == Testcase.R11); - CHECK(Context.R12 == Testcase.R12); - CHECK(Context.R13 == Testcase.R13); - CHECK(Context.R14 == Testcase.R14); - CHECK(Context.R15 == Testcase.R15); - } - } - - SECTION("Memory access") { - for (const auto &Testcase : Testcases) { - kdmpparser::KernelDumpParser Dmp; - REQUIRE(Dmp.Parse(Testcase.File.data())); - const uint64_t Address = Testcase.ReadAddress; - const uint64_t AddressAligned = kdmpparser::Page::Align(Address); - const uint64_t AddressOffset = kdmpparser::Page::Offset(Address); - const auto &ExpectedContent = Testcase.Bytes; - const uint8_t *Page = Dmp.GetPhysicalPage(AddressAligned); - REQUIRE(Page != nullptr); - CHECK(memcmp(Page + AddressOffset, ExpectedContent.data(), - sizeof(ExpectedContent)) == 0); - } - } -} diff --git a/src/libs/kdmp-parser/src/tests/tests_version.cc b/src/libs/kdmp-parser/src/tests/tests_version.cc deleted file mode 100644 index 30e8802..0000000 --- a/src/libs/kdmp-parser/src/tests/tests_version.cc +++ /dev/null @@ -1,13 +0,0 @@ -// Axel '0vercl0k' Souchet - 2023 -#define CATCH_CONFIG_MAIN - -#include - -#include "kdmp-parser.h" - -TEST_CASE("kdmp-parser", "version") { - CHECK(kdmpparser::Version_t::Major == KDMPPARSER_VERSION_MAJOR); - CHECK(kdmpparser::Version_t::Minor == KDMPPARSER_VERSION_MINOR); - CHECK(kdmpparser::Version_t::Patch == KDMPPARSER_VERSION_PATCH); - CHECK(kdmpparser::Version_t::Release == KDMPPARSER_VERSION_RELEASE); -} From 18ac4a051db65ac18ba39896e20251ec01911268 Mon Sep 17 00:00:00 2001 From: 0vercl0k <1476421+0vercl0k@users.noreply.github.com> Date: Tue, 19 Dec 2023 21:31:43 +0100 Subject: [PATCH 4/4] Squashed 'src/libs/kdmp-parser/' content from commit 1d18e53dd git-subtree-dir: src/libs/kdmp-parser git-subtree-split: 1d18e53dd8d336a638deae74078b6853c867a654 --- .github/Invoke-VisualStudio.ps1 | 24 + .github/workflows/kdmp-parser.yml | 185 ++++++ .gitignore | 67 +++ CMakeLists.txt | 36 ++ LICENSE | 21 + README.md | 234 ++++++++ pics/parser.jpg | Bin 0 -> 544808 bytes src/.clang-format | 1 + src/lib/CMakeLists.txt | 4 + src/lib/filemap.h | 283 +++++++++ src/lib/kdmp-parser-structs.h | 929 +++++++++++++++++++++++++++++ src/lib/kdmp-parser-version.h.in | 11 + src/lib/kdmp-parser.h | 693 +++++++++++++++++++++ src/lib/platform.h | 54 ++ src/parser/CMakeLists.txt | 15 + src/parser/parser.cc | 367 ++++++++++++ src/python/CMakeLists.txt | 63 ++ src/python/README.md | 86 +++ src/python/kdmp_parser/__init__.py | 116 ++++ src/python/kdmp_parser/page.py | 43 ++ src/python/pyproject.toml | 44 ++ src/python/requirements.txt | 4 + src/python/src/kdmp_parser.cc | 341 +++++++++++ src/python/tests/pytest.ini | 15 + src/python/tests/requirements.txt | 4 + src/python/tests/test_page.py | 17 + src/python/tests/test_parser.py | 129 ++++ src/python/tests/test_version.py | 17 + src/tests/CMakeLists.txt | 29 + src/tests/tests_parser.cc | 240 ++++++++ src/tests/tests_version.cc | 13 + 31 files changed, 4085 insertions(+) create mode 100644 .github/Invoke-VisualStudio.ps1 create mode 100644 .github/workflows/kdmp-parser.yml create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 LICENSE create mode 100644 README.md create mode 100644 pics/parser.jpg create mode 100644 src/.clang-format create mode 100644 src/lib/CMakeLists.txt create mode 100644 src/lib/filemap.h create mode 100644 src/lib/kdmp-parser-structs.h create mode 100644 src/lib/kdmp-parser-version.h.in create mode 100644 src/lib/kdmp-parser.h create mode 100644 src/lib/platform.h create mode 100644 src/parser/CMakeLists.txt create mode 100644 src/parser/parser.cc create mode 100644 src/python/CMakeLists.txt create mode 100644 src/python/README.md create mode 100644 src/python/kdmp_parser/__init__.py create mode 100644 src/python/kdmp_parser/page.py create mode 100644 src/python/pyproject.toml create mode 100644 src/python/requirements.txt create mode 100644 src/python/src/kdmp_parser.cc create mode 100644 src/python/tests/pytest.ini create mode 100644 src/python/tests/requirements.txt create mode 100644 src/python/tests/test_page.py create mode 100644 src/python/tests/test_parser.py create mode 100644 src/python/tests/test_version.py create mode 100644 src/tests/CMakeLists.txt create mode 100644 src/tests/tests_parser.cc create mode 100644 src/tests/tests_version.cc diff --git a/.github/Invoke-VisualStudio.ps1 b/.github/Invoke-VisualStudio.ps1 new file mode 100644 index 0000000..da61850 --- /dev/null +++ b/.github/Invoke-VisualStudio.ps1 @@ -0,0 +1,24 @@ +Function Invoke-CmdScript { + param( + [String] $scriptName + ) + $cmdLine = """$scriptName"" $args & set" + & $env:SystemRoot\system32\cmd.exe /c $cmdLine | + Select-String '^([^=]*)=(.*)$' | ForEach-Object { + $varName = $_.Matches[0].Groups[1].Value + $varValue = $_.Matches[0].Groups[2].Value + Set-Item Env:$varName $varValue + } +} + +Function Invoke-VisualStudio2022win32 { + Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars32.bat" +} + +Function Invoke-VisualStudio2022x64 { + Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvars64.bat" +} + +Function Invoke-VisualStudio2022arm64 { + Invoke-CmdScript "C:/Program Files/Microsoft Visual Studio/2022/Enterprise/VC/Auxiliary/Build/vcvarsamd64_arm64.bat" +} diff --git a/.github/workflows/kdmp-parser.yml b/.github/workflows/kdmp-parser.yml new file mode 100644 index 0000000..eb3d0b2 --- /dev/null +++ b/.github/workflows/kdmp-parser.yml @@ -0,0 +1,185 @@ +name: Builds + +on: [push, pull_request] + +jobs: + testdatas: + env: + TESTDATA_URL: https://github.com/0vercl0k/kdmp-parser/releases/download/v0.1/testdatas.7z + + name: Fetch Test Data + runs-on: ubuntu-latest + steps: + - name: Cache Artifacts + id: cache-testdatas + uses: actions/cache@v3 + with: + key: kdmp-parser-testdatas-cache + path: . + - if: steps.cache-testdatas.outputs.cache-hit != 'true' + run: | + sudo apt-get -y update; sudo apt-get install -y p7zip-full; + curl ${{ env.TESTDATA_URL }} -O -L + 7z x testdatas.7z; rm testdatas.7z + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + if-no-files-found: error + name: kdmp-parser-testdatas-cache + path: . + + parser: + needs: testdatas + strategy: + fail-fast: false + matrix: + variant: + - {os: windows-latest, generator: msvc, arch: x64, config: RelWithDebInfo} + - {os: windows-latest, generator: ninja, arch: x64, config: RelWithDebInfo} + - {os: windows-latest, generator: msvc, arch: win32, config: RelWithDebInfo} + # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo} + - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo} + - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo} + - {os: macos-latest, generator: clang, arch: x64, config: Release} + runs-on: ${{ matrix.variant.os }} + name: parser / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.variant.arch }} + env: + CMAKE_FLAGS: "-DBUILD_PARSER:BOOL=ON -DBUILD_TESTS:BOOL=ON -DBUILD_PYTHON_BINDING:BOOL=OFF" + CMAKE_ARCH: "" + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Retrieve testdatas + uses: actions/download-artifact@v3 + with: + name: kdmp-parser-testdatas-cache + path: . + + - name: Environment Setup (Windows) + if: matrix.variant.os == 'windows-latest' + run: | + Import-Module .\.github\Invoke-VisualStudio.ps1 + Invoke-VisualStudio2022${{ matrix.variant.arch }} + echo "CMAKE_ARCH='-A ${{ matrix.variant.arch }}'" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + + - name: Environment Setup (Linux) + if: matrix.variant.os == 'ubuntu-latest' + run: | + sudo apt update + + - name: Build (Linux/GCC) + if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'gcc' + run: | + sudo apt install -y g++ + echo CC=gcc >> $GITHUB_ENV + echo CXX=g++ >> $GITHUB_ENV + + - name: Environment Setup (Linux/CLang) + if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'clang' + run: | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" + echo CC=clang >> $GITHUB_ENV + echo CXX=clang++ >> $GITHUB_ENV + + - name: Build + run: | + mkdir build + mkdir artifact + cmake -S . -B ./build ${{ env.CMAKE_ARCH }} ${{ env.CMAKE_FLAGS }} + cmake --build ./build --verbose --config ${{ matrix.variant.config }} + cmake --install ./build --config ${{ matrix.variant.config }} --prefix ./artifact + + - name: Tests + run: | + mv *.dmp ./build/src/tests/ + ctest --progress --build-config ${{ matrix.variant.config }} -T test --test-dir ./build/src/tests/ + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: parser-${{ matrix.variant.os }}.${{ matrix.variant.generator }}-${{ matrix.variant.arch }}.${{ matrix.variant.config }}-${{ github.sha }} + path: artifact/ + + bindings: + needs: testdatas + strategy: + fail-fast: false + matrix: + # nanobind does not support Python < 3.8. + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + variant: + - {os: windows-latest, generator: msvc, arch: x64, config: RelWithDebInfo, py-arch: x64} + - {os: windows-latest, generator: msvc, arch: win32, config: RelWithDebInfo, py-arch: x86} + # - {os: windows-latest, generator: msvc, arch: arm64, config: RelWithDebInfo, py-arch: x64} # Unsupported (see https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) + - {os: ubuntu-latest, generator: gcc, arch: x64, config: RelWithDebInfo, py-arch: x64} + - {os: ubuntu-latest, generator: clang, arch: x64, config: RelWithDebInfo, py-arch: x64} + - {os: macos-latest, generator: clang, arch: x64, config: Release, py-arch: x64} + runs-on: ${{ matrix.variant.os }} + name: bindings / ${{ matrix.variant.os }} / ${{ matrix.variant.generator }} / ${{ matrix.python-version }} / ${{ matrix.variant.arch }} + env: + CMAKE_FLAGS: "-DBUILD_PARSER:BOOL=OFF -DBUILD_TESTS:BOOL=OFF -DBUILD_PYTHON_BINDING:BOOL=ON" + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Retrieve testdatas + uses: actions/download-artifact@v3 + with: + name: kdmp-parser-testdatas-cache + path: . + + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + architecture: ${{ matrix.variant.py-arch }} + + - name: Environment Setup (Windows) + if: matrix.variant.os == 'windows-latest' + run: | + Import-Module .\.github\Invoke-VisualStudio.ps1 + Invoke-VisualStudio2022${{ matrix.variant.arch }} + + - name: Environment Setup (Linux) + if: matrix.variant.os == 'ubuntu-latest' + run: | + sudo apt-get -y update + + - name: Environment Setup (OSX) + if: matrix.variant.os == 'macos-latest' + run: | + echo + + - name: Environment Setup (Linux/GCC) + if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'gcc' + run: | + sudo apt install -y g++ + echo CC=gcc >> $GITHUB_ENV + echo CXX=g++ >> $GITHUB_ENV + + - name: Environment Setup (Linux/CLang) + if: matrix.variant.os == 'ubuntu-latest' && matrix.variant.generator == 'clang' + run: | + sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" + echo CC=clang >> $GITHUB_ENV + echo CXX=clang++ >> $GITHUB_ENV + + - name: Build wheel + run: | + mkdir wheel + pip wheel src/python -w ./wheel + + - name: Python Binding Tests + run: | + pip install --upgrade pip setuptools wheel + pip install -U -r src/python/tests/requirements.txt + pip install -U --user src/python + pytest -vvv src/python/tests + + - name: Upload wheel + uses: actions/upload-artifact@v3 + with: + name: wheels + path: wheel/*.whl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a4b265c --- /dev/null +++ b/.gitignore @@ -0,0 +1,67 @@ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# x86 output +**/Debug +**/Release + +# x64 output +**/x64/Debug +**/x64/Release + +# vs directory +**/.vs +**/.vscode + +# user files +*.vcxproj.user + +# Bin output +bin/ + +# Build output +build/ +wheel/ + +# Cache folders +__pycache__/ +.pytest_cache/ + +# Test dumps +*.dmp + +# Version files +src/lib/kdmp-parser-version.h + +kdmp-parser-testdatas + diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..053b0ff --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,36 @@ +# Axel '0vercl0k' Souchet - April 18 2020 +# CMakeList.txt : CMake project for kdmp-parser, include source and define +# project specific logic here. +# +cmake_minimum_required(VERSION 3.21) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED True) +set(CMAKE_POSITION_INDEPENDENT_CODE True) + +project( + kdmp-parser + DESCRIPTION "A Cross-Platform C++ parser library for Windows kernel minidumps." + HOMEPAGE_URL https://github.com/0vercl0k/kdmp-parser + VERSION 0.7.1 +) + +set(PROJECT_AUTHOR 0vercl0k) +set(PROJECT_LICENSE MIT) + +option(BUILD_PARSER "Build the parser executable for kdmp-parser" ON) +option(BUILD_TESTS "Build the test suite for kdmp-parser" OFF) +option(BUILD_PYTHON_BINDING "Build the Python bindings for kdmp-parser" OFF) + +add_subdirectory(src/lib) + +if(BUILD_PARSER) + add_subdirectory(src/parser) +endif(BUILD_PARSER) + +if(BUILD_PYTHON_BINDING) + add_subdirectory(src/python) +endif(BUILD_PYTHON_BINDING) + +if(BUILD_TESTS) + add_subdirectory(src/tests) +endif(BUILD_TESTS) diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..469f088 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Axel Souchet + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..292812f --- /dev/null +++ b/README.md @@ -0,0 +1,234 @@ +# kdmp-parser + +![Build status](https://github.com/0vercl0k/kdmp-parser/workflows/Builds/badge.svg) +[![Downloads](https://static.pepy.tech/badge/kdmp-parser/month)](https://pepy.tech/project/kdmp-parser) + +This C++ library parses Windows kernel [full](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/complete-memory-dump) dumps (`.dump /f` in WinDbg), [BMP](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/active-memory-dump) dumps (`.dump /ka` in WinDbg) as well as more recent dump types that were introduced in ~2022. + +![parser](pics/parser.jpg) + +The library supports loading 64-bit dumps and provides read access to things like: + +- The context record, +- The exception record, +- The bugcheck parameters, +- The physical memory. + +Compiled binaries are available in the [releases](https://github.com/0vercl0k/kdmp-parser/releases) section. + +Special thanks to: +- [yrp604](https://github.com/yrp604) for being knowledgeable about the format, +- the [rekall](https://github.com/google/rekall) project and their [Python implementation](https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/overlays/windows/crashdump.py) (most of the structures in [kdmp-parser-structs.h](https://github.com/0vercl0k/kdmp-parser/blob/master/src/kdmp-parser/kdmp-parser-structs.h) have been adapted from it). + +## Parser + +The `parser.exe` application is able to dump various information about the dump file: exception record, context record, etc. + +```text +>parser.exe -c -e -p 0x1000 full.dmp +-------------------------------------------------------------------------------- +Context Record: + rax=0000000000000003 rbx=fffff8050f4e9f70 rcx=0000000000000001 + rdx=fffff805135684d0 rsi=0000000000000100 rdi=fffff8050f4e9f80 + rip=fffff805108776a0 rsp=fffff805135684f8 rbp=fffff80513568600 + r8=0000000000000003 r9=fffff805135684b8 r10=0000000000000000 + r11=ffffa8848825e000 r12=fffff8050f4e9f80 r13=fffff80510c3c958 + r14=0000000000000000 r15=0000000000000052 + cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040202 + fpcw=0000 fpsw=0000 fptw=0001 + st0=fffff80510bbf000fffff80510c3c9c0 st1=0005e5a800ab2000fffff805106b3000 + st2=4000000000200000fffff80510beaea8 st3=000000000a0d656c69666f7250206465 + st4=0000000a0d656c69666f725000000010 st5=0000000000000000fffff80510b16900 + st6=0000000000000000fffff805133e9000 st7=fffff47c02899f480000000000000000 + xmm0=000000000a0d656c69666f7250206465 xmm1=0000000a0d656c69666f725000000010 + xmm2=0000000000000000fffff80510b16900 xmm3=0000000000000000fffff805133e9000 + xmm4=fffff47c02899f480000000000000000 xmm5=00000000000000000000000000000000 + xmm6=00000000000000000000000000000000 xmm7=00000000000000000000000000000000 + xmm8=00000000000000000000000000000000 xmm9=00000000000000000000000000000000 + xmm10=00000000000000000000000000000000 xmm11=00000000000000000000000000000000 + xmm12=00000000000000000000000000000000 xmm13=00000000000000000000000000000000 + xmm14=00000000000000000000000000000000 xmm15=00000000000000000000000000000000 +-------------------------------------------------------------------------------- +Exception Record: + KDMP_PARSER_EXCEPTION_RECORD64 + +0x0000: ExceptionCode : 0x80000003. + +0x0004: ExceptionFlags : 0x00000000. + +0x0008: ExceptionRecord : 0x0000000000000000. + +0x0010: ExceptionAddress : 0xfffff805108776a0. + +0x0018: NumberParameters : 0x00000001. + +0x0020: ExceptionInformation[0] : 0x0000000000000000. + +0x0028: ExceptionInformation[1] : 0x0000000000000000. + +0x0030: ExceptionInformation[2] : 0xffffa8848825e000. + +0x0038: ExceptionInformation[3] : 0x00000000000002c0. + +0x0040: ExceptionInformation[4] : 0xfffff80511022203. + +0x0048: ExceptionInformation[5] : 0x0000000000004280. + +0x0050: ExceptionInformation[6] : 0xfffff80510880524. + +0x0058: ExceptionInformation[7] : 0xffffa88488282360. + +0x0060: ExceptionInformation[8] : 0x0000000000000280. + +0x0068: ExceptionInformation[9] : 0xfffff805135683d8. + +0x0070: ExceptionInformation[10] : 0xffffa8848d9d6fb0. + +0x0078: ExceptionInformation[11] : 0x0000000000004280. + +0x0080: ExceptionInformation[12] : 0x00001f8001004280. + +0x0088: ExceptionInformation[13] : 0x0000000000000003. + +0x0090: ExceptionInformation[14] : 0xfffff80513568578. +-------------------------------------------------------------------------------- +Physical memory: +00001000: 00 00 00 00 00 00 00 00 00 00 f9 ff 00 00 00 00 |................| +00001010: 00 06 01 01 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +00001090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| +000010a0: 00 00 00 00 00 00 00 00 00 a0 87 00 00 00 00 00 |................| +000010b0: ff ff ff ff ff ff ff ff 00 00 60 11 05 f8 ff ff |..........`.....| +000010c0: 00 90 2f 00 00 00 00 00 ff ff ff ff 03 80 ff ff |../.............| +000010d0: f8 00 00 c0 c1 f7 ff ff 00 00 00 00 03 00 00 00 |................| +000010e0: f8 00 00 c0 c1 f7 ff ff 00 00 00 00 03 00 00 00 |................| +000010f0: 00 00 00 00 00 00 00 00 70 37 01 c0 c1 f7 ff ff |........p7......| +... +``` + +## Building + +You can build it yourself using CMake and it builds on Linux, Windows, OSX with the Microsoft, the LLVM Clang and GNU compilers. + +Here is an example on Windows: +``` +> mkdir build +> cd build +> cmake .. +-- Building for: Visual Studio 17 2022 +... + +> cmake --build . --config RelWithDebInfo +MSBuild version 17.8.3+195e7f5a3 for .NET Framework +... + +> src\parser\RelWithDebInfo\parser.exe +You didn't provide the path to the dump file. + +parser.exe [-p []] [-c] [-e] [-h] + +Examples: + Show every structures of the dump: + parser.exe -a full.dmp + + Show the context record: + parser.exe -c full.dmp + + Show the exception record: + parser.exe -e full.dmp + + Show all the physical memory (first 16 bytes of every pages): + parser.exe -p full.dmp + + Show the context record as well as the page at physical address 0x1000: + parser.exe -c -p 0x1000 full.dmp +``` + +Here is another example on Linux (with the Python bindings): +``` +$ mkdir build +$ cd build +$ cmake .. -DBUILD_PYTHON_BINDING=ON +... + +$ cmake --build . --config RelWithDebInfo +... + +$ ./src/parser/parser +You didn't provide the path to the dump file. + +parser.exe [-p []] [-c] [-e] [-h] + +Examples: + Show every structures of the dump: + parser.exe -a full.dmp + + Show the context record: + parser.exe -c full.dmp + + Show the exception record: + parser.exe -e full.dmp + + Show all the physical memory (first 16 bytes of every pages): + parser.exe -p full.dmp + + Show the context record as well as the page at physical address 0x1000: + parser.exe -c -p 0x1000 full.dmp +``` + +## Python bindings + +### From PyPI + +The easiest way is simply to: +``` +pip install kdmp_parser +``` + +### Using PIP + +Run the following after installing [CMake](https://cmake.org/) and [Python](https://python.org/) 3.8+ / `pip`: +``` +cd src/python +pip install requirements.txt +pip install . +``` + +To create a wheel pacakge: +``` +cd src/python +pip wheel . +``` + +### Usage + +#### Get context, print the program counter + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +assert dmp.type == kdmp_parser.DumpType.FullDump +print(f"Dump RIP={dmp.context.Rip:#x}") +``` + +#### Read a virtual memory page at address pointed by RIP + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +dmp.read_virtual_page(dmp.context.Rip) +``` + +#### Explore the physical memory + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +pml4 = dmp.directory_table_base +print(f"{pml4=:#x}") +dmp.read_physical_page(pml4) +``` + +#### Translate a virtual address into a physical address + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +VA = dmp.context.Rip +PA = dmp.translate_virtual(VA) +print(f"{VA=:#x} -> {PA=:#x}") +``` + +# Authors + +* Axel '[@0vercl0k](https://twitter.com/0vercl0k)' Souchet + +# Contributors + +[ ![contributors-img](https://contrib.rocks/image?repo=0vercl0k/kdmp-parser) ](https://github.com/0vercl0k/kdmp-parser/graphs/contributors) diff --git a/pics/parser.jpg b/pics/parser.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0f7d8d654b618967f7a5008c920590044f0e90e6 GIT binary patch literal 544808 zcmbq)bzGBg*zf4>&Y>V7CDM%|B|ka^0Tt=)(IC<#pdcV69RraVjnn{2{D7wYm)mu zjE|!;N=SL1HufktKKXlkc7B1my!sax9)RFKVEq@e z{|y%%4i`QlAps%Dzqs)5gK%#GIzpm*62$aRj7VPlFx-C}P0IK*qolEqj91ba#q`E^ znw*(W3h@B_FSP%T?EehdyZ<~Xq3jqV?dY;i@Iis}BQ*Y%V*~=No zKgRZX8L1Efm2sf9iY9T$F#C)iJOzAi&g{w-~2=bnptq%1Ty84_v5O16*| zELGVc<>d0Cge*>Qqnu#5$W^)1j9vht^<3pp&h(>n2j{HM$jHjV-)*DV&yy?LJNx>9Th=W0fKv)^7~J3ghHn9{}V?QaTK-BbA{8g z$sJuB41hiNX~=omt!a=Hpy#H$YIsLyS-BcigQwEmoQnft^d)^E4u3;l>SOQE%rc@K z@B?5~DG3bsyYHO2LX4iz0b+ngdh%G8;R+#+<46T(!qQ8l)KxvUi;}32?KB~UaOX1o z^$;T+-9xqiMgGMEj6O5bhm$Sbt5tZafCfu2te6Si?KkZ+3^2spSaUC z;0iGft|nF;DZ@(%o!*CK0drgx^8j`c@HzXxWjICeGQF8psg^F1U zn?FW;O#!;H63h2VQFjZLyQ=a0xL}M_P<)f(r$!`xQU*P$NV%TEzuL~?i7@pah3W}d z0elE%vQA6E;w=Dy|ImmToMsmj4GC}wa<5z)9m1k$`qMs!!;I9(_HlZkh0tAyVrbzE zx-|uMt4RU;l5pn4AE{ugI#Nu)dQrOAB5+dLUJN)DfV9X03*>HA&MVMrILrKJry5%| zp|!6@k+L~sd#4TD~Xp~*T2r(hP%mTSk_de_Wm^FWEL z7TNE$l8Wu58PK|;Ve(26_FT^Rkf&NtY)Dd+1UwMgO`+oSyFG$U?dHn?Wjc?3|J2+B zRVE3Uu2)mq!sT9#YZdYIn_|vYoqnvXO+RVG8YyN zN9@~Mh1(NPewWZd*Vm&SF2+QVu3(xF6D1qTy^OmmY^a;Giag!%+VIBJdTv#Tr{&#U z!yHdGH!?0`ls2$8LK1s6kRiMG3djATCi;+h+lkv@lV;r;S&Nx%$ro$O5S{zJc6OxT#`cop`9-?p?GRvKMV-)r@2k3 zuwps8G5IB!+8263TBzF$#OHhMbK=r|-llxtgWXzQ#hKf80tePk3=-^!10n&Kpl9g& zuIx^UNEP_ABSW3UeL?m|41D;lAMv*KJZF#T{d*4S}GnG8yMo%Utn#D zF{%rDl7t-h_YgOZ|0j{5UoI=U>Zjkhun+ z-fTso+>w_tgQWGKCCLX(Qn;CK;HDGnNU?*J(S=(*rX96?j9?i|jqI0gD&Op|fev=0 z03fvALVyf3w89)&2e1jPMseu@(xq5+~44&Z4q*XeO z&^nj4xQ8kZeM$(@lkwpewtX#5oKvu}=}u?tM}}qfO=xq= z$GP-^itull?*RR~7;p(l^4jE@+}6o7SSI>o1Xo0^Q(#d)n!JpMgL59mIuKV zFtSw`@%|9;q{EhQfgx_DdB@BJDtiqVY*|}M0ZKb-h%sXnLP@|wS;i#r#TB%H(9Cf{ zW%U=)c0H)F`ID!-#BSS8g}gsj;aU@&OKSUVq}_QrEB4;E6%&Fnze%a>AxUMSAfOc> zlDpuK%-No9XC+ubSrE@9@Om+zCQO{Umsm|5=>PwAyx= zEMoonkr|*=TyESuKVeUeVlTx?nCn25IhPiz)~!a{I4&C@Hs!t$Vo7-G(Zfoud}CZebVr3DuVV7;2B1Pwiq-x^y1sK`czSL zlYbr#k1V8_-1g!K+^Co>GWv%`ai^Q4?Q4e13jQY@3Y*@(^!U~yW|jLcg$(TrvuZ`A zYeWTe-^lDk!DRy!4ztb~KT;lzQjVQ`S-e-}a-pDK5?~)pVQp)zJvB}lL&Z^j@8cD% zrYbq0j&&9ze_Fr40qLJcSs?4X*Lx2Q4ztReh0oV`NB)M57~8eCH>OJhL8p@~-lenU z+JI9|WKQ1EtwNZnDp7>cz6$m2?CsL+gtg!KTGJ)BQ@$7HnxCINx8quuUkdt*1xbn_ z{x!Fd^6pNzD1hG?r?3F~9zj6qGN;i@4p$Z6%Gjw~ykuAKP=8$@gc|2w$-b_OBeZe8 z49kFOQ3^oqLwk4{=OdAR2vA9P&a-PdQJ=R*yxIQYmp8MIJvkl`RIkFi?f@imW%x52 zGnr`xf_Nbtj77!eS7wJ4Pv(`3YSb%sVIFXB)i1WvrpD;)+ikD2&Te6R>-g{?45$}XDI3Ai=rc`ru zE&!nou_s~o(3@AJbM_0TJCJwR`tykNv83A>=LPLb4axyR89DnAr704MPIzpCQ~des zE^9mD0(|_+ae*F#V?5JHRWKoJF7Im#%S4xgJcv z#q)mJ;F(Pr{Cb3^{LLM!i4rS84G-sC#7dh9N0z~LTzEZTK$rfubB6&MM@GDfaQV_a z1^+UrAYOPnW9al`h#;P%rt=>cwc#*BeB*2TB>j(VhiW7ejg1n)@w8^NNe z{WRE$&x;9yx+%1MFvc6*0M3iz3#K)Y>iXeMk`hNSa{nes6IB#@cuf4Iqp+=D*wG`7je4REv1C zt4fXqZh&RY6k7AaV?GYStWlaUj{`mi&rL-iNnb+;T2ScBy z-Orp)U3i=#o7oC^d0uq}9{fGkMfwOM4ejg^hAwn<_lTDId)cLp{KMcWW=xgxchX0HR{b!rd4!sxg8K zhS4?oHm?ft2h#6J{0X#*UmBDP9}<8#P_OGSCK-K$7f2?phxph0>(&YjV#Q~&q;KiKi>3*=7Wt}eHjEL*YC~ZSaC%~6LDZJ!K zDb9_B?ikaXyny!xj2gwDqJct*c_s1fp2jlglU1!C4@T?3S;7v;`{xOxEh!I1#41_k z8-Skhj{r~Z=GuQv0_X~`)t7v7B-GyU5(Vr7lMLSh$gxgHH*rQ+^Q*;J|E)Q3|ISo) z2@f8ZuolZBqEUM&nJE30-@<2Z-K&|HlNn*hboUv+X!%*$`LRuU-*J2|s#Qf0vnM1VQ1KQ znnmEs7bmXAZgvQR7VVbBrKwN;RGbnJ;qSN|bwRA6xnGLv=?(1pyv0X!e*ZIxL z1|#0jf5X_m)?fs%2UV2NqDNzrd~lVW8zA~=PM+j#W4qSNv^EFTPa(j#9-2KnRCN{- zn2c2qE!oYnYMee0JuMIwKdR@`PRSe@<3ruoEOp%pm3R|jNUTlrX**@^>Yeq2oBky| z(V@JNezM904PGeC&tK7>h3QhN90BO8g?fzVvS#}{GTm-Y{B-KQT;*;{@D6z`f2}8+^*{0FF2LUZ1vjyd;0YgPi1+ zo9*Wo3-SP7|Hkx4PGgT9MnKVXq2K3Uqg3MB-pd{cJ1*pJ5g;kk!=neiZVJDOpl3PI zN5gwoc2tN+`rDyMMt=_u|Bi{=`Xx83)G|S<7gDHv+4b*CjG+^VVw$_<-PO88Q3IO>R6ZeO0)a@Pg$O4 z=Dd^^A#bVkbCfkgfrnf*VcK*44ROh6f&p_C?$#F6CatrV6aF*Lx;d%_{zZ?5ckTc1 zuiOl+PG(~optkqW3uSrniPEdOgR`hbaXPUHEY$9E^Uq^7 zxZa1<*M?UQS1yAK^58GK#ys$EewR|}4|09-CMj3U43+I`Rb^D6!2Cs|~s?*N?6@P|{IY03sVZPp3Tel&Y6W&Ggz=A5dsokqf?=_g~~KG696^x7T*?916(-iWy( zLM6rGy$fbrM$|`H1PmCHUn@gZRK7jJ6(?T;~gAGl#J~x%r}G6pjFLTZhTms3WPy%X1Ru>#^hN25~g2*0~4B zY*TWb55xeOZB@I^_89PnbC^h&BrrvKw@b?Y(H+2^zf!L0x6Yd$ZI65%zKoQ&d1q_! zYt77A#bFGySO%H|B^%V5<@b61o+2xhJKZl>jdmGP+Z{j$;%$HV6tSfJNAewB;n+Gb zmAQyr)r$yCTo4dYvnSKRbXd^b@j=CA@>AtV!^7o9VM<>)r;{H*P$q#S`DLlqO>vhW znxk*AkOED$sq!GkXzpuwbKBhLnQnc*pOJF zK20>0tvJI(tR&D(^P|ZY^MNHV1lmErvAn4JDX_Vzt8&9X54y>i^4-uZLxJYm3$1X01<^w=*s<{)Yr~dl65J&BwIK%u zN8t++sugw-l9fo>27!4MGR&e$ccJdMt|7(%p_tz}7AG$KYdr9}EMrn^hd@L}fN4{K zCe{malja{u{znGA2#KqC3gwan&rw{jVe|j*h zUg zz}vEBGp!Ssh4C)l@@q$kL`>RJp#L!EyhN2YyqBJ+8wZ$Y_xsBCAN;*9;*+hWEDQ^i z3@*hI*+nS?mTxGN3}o#Y^(IQ+h#R){vanE9)kDo`VI$Eqvvlc?HI#iB-}LCB>;}h8 ze%u1lo{4Tm1?O2vH=^%7Ej_6Pcv|!t3LXxFjo*G|eR%9!@h#w(_D|u%`HHzSu>N0* zxeD?JUA+Yrx&2jUlt(&pW@c==04^dxc%)OA>spi7yGYjp0rj@q$)1@2J#sFUGt%H! zki5_=#*B709i>DTY83~O=O5JWHzX)A6U>Sp!+v*X(G!3nhVZ~7vx)_Jh zs$F*OMntF0v!3@8wRNsDJz@)Q+OKs>>wGQ^+Iae7@las`gQ_e_e#mRZWRD;mxCO8$ z-J3ivb+bYQpN99JI<65OIZC`;&5$`;HcaV;0nwfXyIp*jP5rKd$3Sz|(q7)j1=P=> zr`c~c0hu*;eExvIVj5S}&{5+$a7pVWI_Ujo+jN+dY>H}Az_^8O%Cha=xysWnZ!a}= z(n6n!@seCKYHy;@$bp-`VUaflVNZ}0mRf^cCjD1+SEoT_*UMEi6NerG?Jx0XbjVYG zt$ZWkTelccVL&e?DiH-s@5Cvo*MLG!oUzrOQprmmZ~aFUUzEPm9w8xVW86ZoCEBCa zF`vTJYsC{*+QVPjj-5kAVp($`UWy++DV>mU2@>oIdvUt0F{{3fObWVvG`E8$f@jq4 zne2VH{jl~*QY!iWa@q%|Dc)8wDF7hY5R6jA@+*)Wj#grL`)B`j1oaou?4g?#%!@=m z>=oIE;u{Au(q>6P=sh2+>;%&oTM+z3E)H6O3zNf3m;VH1Uupa;%Q2_Z-zPkH|Ivk) z#Epq>{ew@TurEzAToE#RT1(pHh7>&T&!Kl&7_FITT>7S|HdPg-`Lwg%l#=-MR36~0 z=)Hn?LfAc&4b}me-f~R1d)1p@qS+kN7vj6}CkG--Ay3~i={ZJANR%?NoSR6O;;F29 z=z=OWLoXicm4W>Fuap+K?=7AdsBCY`v@p-;`l20Ob~Hv(+eGh8;8E%*W&Q1ae=7hQ z_z`#^bIXRdZAXlSR!}Kf>6c5_{8alP!uyI0P}uAe$x-K>=2&U`>G-Mvd` zsux*5eE@r#&?p|ypl}wy%D#q6=^_}w=9oQLk8)rb+a2C~xLha+iSU_NS^Nyj-w;U0 zx|Fx(B7vNsESuREF)i8UwJR^5{*pH~T1iP8W|{)+AS-fwP&xg*G)e+a!LLhU88!P^ zaQD9fqGlh2Wq<15OZ3f1d8f|&y0chvte5>F{r9oXyX)b?hduH7G3IEQbcBt%8EW<8 zRN}9^FHa~n?#a`S)VvLN%JGqqGTN5zHpKKQq9mZqm3eVNR`P|N)z7BomE{rpOaWsy z8&+DgXuvypLPHV@3XPJ1a(OK8YxFwCq5q7B85Ks zz59D~JjjmjOf^v!*yJ=o0i*@F4(p?cz(X6(R?RZIIV}1o5+AhHGl_%jH}%#%713?M z>B&9!FqKHcg%eECV8?L6R*UgB6>y~J>@zaL*vAq-fsOLMK4C5T?fV+Ooi!|f!^K9UqGj<@8t<2)dqM; z&Eh@v$++CMQhCifrvh|Ebq(4=t*?bLk#G>kc~g_JPPq?o%d`N3YycCLjF897pm(tS zTe=+d6Z=}rT?Rc5H-F9uw2f@$&x039jl5zjcte2j@?xwaN-G|L2}g8Rm9}ESHzE_N zkyQK>w_)Yu(K98PtkynbHIu&IXfOHdIkF}{W5l5PoDR;el_0Uw)u(I^8hhFc-59oXeYW7OBV`%h<1D`h2lb%>eDrwi zy@0US2w=i31Lgv0kk}geyN6{yz<|cabpg&6ohh{%EEZVp7?9G#cAj~yd%)3X$Lp$c zf4;>-(O~vCKzD46N}64f!#WYJ4K~a76VcYEW!{X18b~eM(f$dE$g0{4?D(|RnqL*{ zc>a@Z^>xR|@8*a%1TE*8&yPq5GX)8LtGcC{3{#zKUaoA;@AdWmsf!p^?B#k{-`7d)Y;F zgd3I9j_%Qbl@Ro9+H!ec(PY)Z8 zImL2ub(bF{A`P0l2ZP=`ozkVqPIC_Ih>g(Zdq*mF|1^ELv%S?NJ@af}p;8;m;N`;hNE#IaJk`Ek2p zc`jWPUrp607l6s2KSBX55aq?+g&Ix>u%osa2WE*vvqDAd(sD^${v)wFBH~ejPld@k zAbWvf4;H#CDqg^`W*sQ8@*3TWwP*ELpAIMl&fOt&-?-m4(C0j8_Y!>j#iB?xsViV3 z{kId6x_d*<-f98aiRLf5DGI1v8GZac?zKQB=NF#HoGm=xGHTQ4lda+8mgPwX@q{C3 zux2EkX#Xmem2Nfr@q{t?*bYM{=pm{5<}0&10BzVm==h}Uvw&Wv{g59$wBV`UIma(A zNt0RM=l?$XZS!+SF{o7{OAY9PeTvClKaR3vtMj)8M-EjYKJ{d{F>(`sL)|oY@K;uj zyOMp-zNmsw@iwO|QqlSG_++(q8LY1jc~JBLX|P6R(!5yduVND?hb))-T25d!)mjqSDfdvq~_>gD{y-)W>222J=Te@05SNXoaRR zzRlDp;md+IVS#Agph@F4hyA)DFUWF& z`s8{0L~kEp`X`5sL0@T@_PsHgX3P9d+@+7JfQ_U+ zS|9Sd!gXk(#L2B{oKrS`(Y?@D7>|F8kL$;#w===fS~9oDd>94t7&dD=;~6no2YUgs z8|gA>M+P&KrX;L>A!Dtjjwkf5Z`iQ;>#9(hQsRn-x=R*~>)dSL}S^1FYMS6u!#3pH{*=O{R5yq&i^L=REaB8m$ zOyznk};h3xC+Y4Y*<7Z4!boF)N?#;I_XnmJ*a}Hw-9TdI&pa|0(1} z3nVmy)qn9kDaS-m?52QNy(Erb-)kzA@rfRt*>P}FzV~T#EyW1g~kd@@}RkS_LXgEna-AU(~!!A z;|GNf{P!vKIukTZ+Z}7kXUB|g!`2JZ-CE`giJA(jXDeARw*aJJ&<8z+#PS>XQ7Vhp z!Ce}t&hz-0fL?YG1S#Dc54It|Bx^8V1*G0|_ZglWoL7fc^o40wvy6Ca5>F3=sbPAN z$FaRlYX>JdHn4KaR+nQxce_!=6vAz`@1CT?LOJb_FTv25I7%3uUKlW$f~%S3eCj}J zgCXC$o3q`;Tig<3p78SO(5>ujI;K6gD3Pe4xvc(2Wb9~V}7o7vyH-qtdTa^PD$tYm|l za?e`~;-Yici@KMt9ov<`b$=j4|182{2PUODO&=ZwJ;)~quqgu=@lJD6Z{?k>;st_2 zT+MY~E{vh{4}`*%Qm^W07uM>u@5kTH2%#Y%X~ zr0C3565i6hMy+$LcsmbVT7+{)viBhhp6jL`>`p!RJT#a2BmfYmz9%fB{bM;RidsoM z2$6JzbwZ~Pa?8yr3Dww0nJetX;kf>58{59Ev?Gn^Cd%*fe%Esw)SU(dZNyQ^ZX4k4 z$w9mKU^Ig+=2HV`vOfb9d!X7B=Hp&ndSu%Ycpb6>kII(LCTH9~tdW!?Qq)tLsy z0PQ8g`k=mnyo{M)0hKZS$?d1$a*qJ!(C|8lYwSP!El;C1580NRGYx+Bh+$HZlL`D& zn9?Ek#YDYgAFrE+D&2t1Bj{nFJy$!deb}aSrm3ZY&b5ax5AI=S+BNUc3Q1dF6ZhnH zOk!l!o@YR{Tw*UO*YnkW0L5plsNM$reBfD#CYmr*r(jZgEX5J={G#?)?~U^=IZHnC#XQ0qNIuLIhR_nj+!dS*OFR? zX$)fl?YW2IFT0A5YgsiIfSf#gef~9lB$5oIrPg zW^>xl*4wdfs5>F|AGzQ266;m1^Qv#|+z(wA&UHT)-Fi{n7X1^~pL=3q&RL6(N9aom zZj0apwXO|if-1xr-Hbp5e><)8p1uxQvWb@@hDX@tH0UcBl1!=apoz2GuKB{adUENg`mnAHYU)p~~SF7`rSj0=zm1!Q%O3l8q!)#92U z0z;EaUOEdWZ_xq+ZXc%`a?@;W`1h8;oSE`;|8KTxNn2@lX#DH+eVg05#Y2D?0 zWf@+oPu=4Kqg-`wH_M(6la~FB{W0!^mB*CVU?p)wJ8_B>q1OANq0jTRd%yS4OFdTS zS8?a9rY<8kpTrqe(fNB6w01*T@;qqjR9Pk5#G(hKQ6_U9INGDbIxY(cf2^YfAX6g0 zh~#qR=A7#hikPzHn{DB!wPONVs81io&H{aoaHbLw4>w7PARg93R=BD;C+on9_R_dG2|Sef@I>XqikD z?b7gC57$>^41YH^l#(UY8sS*(>lkYVm*-D(z{3l$ttnju-gjPOR`NiMQ(QA>qvLwZ zcRR6@2g}OFAdic;GRLBpV!n8La~3t&dpBQ2l|9m0<#1hGQg-cCn)KJBYQEL{;VS60lAw69>>QL z9WU(D48c${%86RO{Ko^amDqr{|5+k>T$MaQ7|=@s3mU+0h~bV8p8Q)P3S@jn7g8Bv zZqT#(n0y3~5ES^+!)-8#8<@7ff`JTKYgR_g>h%8P(G~lhg;CeuDMAb@vBaqex&BwF z2*#C)s{fXX@18E4^j~NGk5Vy?&|8B?rFTx{K4^P!gXCar{SH70hijCxIE zY~FigP3HAgL12$YG|knoI@h`ZPs^gmGhyPu_lFS=vCnYb6e{%}g~Sl_+q?&{lQHfQ z^HneFFZmMbjiiVby+l8yIg%b^Y`w@-^66z&b+K`RhS0qCr=bGH4|Zt9`>&DiT@ja- zwd@bL`T0=Vz8v4;i{;{o&IWvt$L|`(_1Wo^UZ8I3t^02U7Q&=1o@flXu$;hh-|cwb z0Yu{t92yIArSLAEy7W5Sbl&2vtZIM)Y_$4YbF2!W)vsEEAVK`_Lw4&bb(y84uf#;3 zQ`<&|!ZMKJFfFL97%C_sOrl=Tt=74tuJt<%_VQUj7wvNP3ABLzTiP6>V@m8xM!Ac6 z#am|CWL1c}^d#oFbQX9IeJK<2VUGV=?|ay=yRYX;j2Ko37~ZYtw<<_*2qbr1RAm#9 zqKUiZTEyz1YKN>0Vz*j4QGunE!9ARFR&vR?Z}pZEx3z-vbP$obALCbOTY&@Csj@$C z9Z{;@#O5LfOisT-`EjCS%fi_t*^G;-Dh~ z3fusu3|tybhuXfr}Q_BB_T}K$$LgNwt>a6eXjYpD0Oue_~RYGxib`0 zmMQ(W$NUwIh_$kBL?BxBkZZ$^6GUTzs!Tk#M?Xki#fGG?C}cKGR*V$C%l`c8!{CoY ziJC(Ipu{b^9mk9dA2ZOu)rd=xH7 z(A0&I-4Inp1jG-%IF+~P%URT%pfc3u5PnWkO+?^j)FI1}6gvX-)d(j+6j&Qz?5{A!oYD}pDD4!3t)^EQY$%vyJZ>$Njz(yYJpFC z`-eYuGf?ylJjRvL&~0dlr%E&4>2dU}ATYtMrC?~W|At-@m6HfAO&`jWX`(bYmzDYY z2y($f#?j?nK{3KfuilH7eBcITZNA}NGsnmx#Hm##mxhh!z?CsZX?w%xDU;sSp`!br zo@PO1d5l#w*j~Pky?nQU%t<+_mu}xidv;1)ZMso|`SLyvwUEvS*1V)&>o%-(rujg^ z^rh$VqQ!tX0;f0+P=5{1D`tpRirzln;C`K~Nb!m$pA8wMGK|Sb#}C*NViM5?eQ?Qz zE~h$Y6ZPOS7>L`83byPL@`Ce)j!XW`eeF5TQ9d7`fO}UERXTLifhr;}>?tlJ2Hnyf zWAw5ANa4Aiiyt%`CZ~VDDe{~Y__+pgT+8v4NRxQ!?d6^a_>F3*j}ES8#p+bMTA3GY zWeUuk?jDz~WyGGqL7EDi#~TDOg$k48yWGURn1OY$7?-`_T-Sr(>Lv9W8#i-_y;M#E z@7hO$K@6`6!;axJ0?|lJ%oQab*P)-+#eEX%ldxAgro_c$4upw!}KoY`WYs z$0bY!S@!Dh`sMx;_nnj}W|dO(@USR_Atn?}($6i07D(&zLsE=>I{h7HfVd77KTyPM zsk}BgU9tjL_7n-YEFI(B;8hw;#T4Ka@ zSATwaMEEuUSFK0}I@3*qG$;FWzQ0UobhCn{v&UX5y0Aa9ivF;9M9tR`<0uEEa1yAH zKR^CGAv>Dww*3Cv2MbEFq9YWF zd;dlxHNGgQ3`f-H{vVf)$U$+2J=whO`SgUdP(|=-zI2m3_?2nsmalHz;G@UHe3=~b zqvL>Z;cE+=*{iT)BGoZQ4}1Ico?rcOIpffQ+lSYb9kFxdl2lSZq zJ`e6s3y?!Lw9SSDWbh8a#)@uk!1A$xhAWhQ0xtA)4N<3&O*GP(F; z;r=*smi@hVy_yS~4P(k7VZn+J6G}DamJig4IEJOicA0=d&bIE?2Irb3(hWsTf#bK< zRLem!lCwT%b%(-(FlcJ0US9slnc&b1A8RyI zf-yr4m@GEe0?9$IdjyyC5I2$`b%7lLbsGHbPVQ_8*>>=W)t6Z(v8Fbv@r&7Ol#$L2 z3E74&7s4K;*85hyXD@YV61)~9$X8tydkgBQ61nPUh`OnPesHm{ z`Zxo7+L+q-KJjx+EbhOY(KAueKz_b71Q*mTVI#$!EWLAO3k_ zlD0lYypz)9vmwsCcja-B)Z$@b7bnCYH)}j!7Me(b$Du=8aPo^$%46&39%W|~@l)%m zTSeD3dTE;2ND?sC39(GYF%Z~cI*M~|rbeP??I*fQZ5izZKb302PrQQ|Y+oQJIY7z7 z9VtP#{EIEBbaq;_(PAxbqhjUS1I(oCntXyH!)#E?!ZYexB-qVv_H>!bz_NGF-GAhl zxeO#oTqH2T`}ts$-lt@&hEGng=GsSVSJlnV<5gL>8G1W=yfnsJdPAhnHw za}{6sF+1Ho@7O3sUAiBqj6W{80(JboVu9Z`88EN0CgE;AwXTzh;Mb0!*XBKG&xjwD zecrNMBXJ?b_a2Dx+t9$SvG*`zmWOY-F!4wauK{+?7SBZ$R&+~VZu4LH`;t!H4SbCXc>aWttyjSR=ozD1{Km;s{XKFW;{?RpI^zeVNt`E%^PereHi7J(QIGt z4C+Ltr(na~h#-krn+8xOeD&9dfm&A+8$NeUS;34163(~A1P75^pyPo^{D6iy=JQ)Y zv~3XzgNcA{bt#r%LSQ>OXi9obB1BtISE5tqt6yoh^d`In(JuuC?6_zsA|_RvfeA`f z+q>q6NGhql#|q*w_u_1qc^Mh&u}}6MC38o{I_4zAJ>jTHs45U6u4^MX0GC7a$5zy` zSSw4Kx3#{P^woamjVDk&EFFIbAaiVWmsX@XEKomCC>!&MbUUv+soykyVQV(Q_ezJS zRh#c>isT!}>HPfy_BGl7vCxfdpd8p3nZ#CPb- z+l^4LTES{!wAbjQdJ}P@VkuZ*mIT`$dp&ZkrgNuzg^$r?k|Y^?=IMS4gVPP8Y!Y9n zisW57%Hio%u(iDl6U#N&^Q`4nYi;{%HpVy$O_NWr)Ocb(Xu5d~thLr#V*QYB$%~*R7U)} z@>3?hu$tbEd}sMLtQ#@bhHiPo1FB0b{oFj5@L<1EyFakAQ*Qpn=Fk|TmB*S42ifTl zY4;npG<(qLqh^@LhwtK4x(I$LMu{@tac=GjdNoB)}*Wn4E@y|-|aJrI;3NiKp3eq1*`yA#7 zMtaeX)`BXu`S89rLJGhhQ(RpoLP`VP>#=e>1lwSB!_N5@iv0ck+y-&aa+k{XwhyCx z-z7vQ4t!rE@?{3|%^x#hATQDNRRQ93ZVGX|)r@rcH6J>4>e~c+t4T2c;VM!JinzE4uI1GD%UK@-M#gvv|pXLd3&@j4e<2=_D?707DJb|h|=~r zoL4mQhM(Au)nR=5*Uo=p^ftK2d4X|V0rk$ee2uo2YJY77U>;-sYn=NJKM}4ooiUwM z&`2-i3br*g36@8N1NB|$QDwZejo8-~vW}oME_?4fN1t{9&Mm*=Du7uY` zWZ6{@!_n%{MU6wO0K!H38tjSQ;HTp(a!!-ewda68C9i~giGHJ|dJDphL_We8p*Ggv zMv@&%QvnSYnuodz{|+22pLsa1JRbLYr0?X6rYHUKXyA}y&SLUb1UEhE#ces@gp6c$ zyS?8WXCR{(Zf#QdM=Ff2-CUE0lU{O>a5hXBZ2~PM_*OVJpd!B5rR=15nYp~D@a4R5 z1Vi8_;*KW=c>6aBH%T~djW~|$3dQ-b9(+i1Q!{EI9_dAc$uWd9->i0jz4=mK!{D?E z`)UMTkr0MTT4vv}%|vhvqe=}>S2_-eUY0PMnJ$eIb-waEJ-Owjjt0Ia(y|T-`X$Az z!eCXZ-JXXFSb3K!*q+ryNrknmVZPh0`%xidXTpxePsXVI(MxOIyjD?8!SDwyT;Y?02HL#IxAI_U@JT;wQqW|-qf^k^d{~B z7Zcq}BJLlCB-L2nj&4-sK@*w)%1z}6K@YNT6{H?j+w+gDia!S}b&afWp+&M{Q**tw z*T0Y-{x`zjJF2Pf+ZqmCsfsAQC@3JkOAS~kB3>VGqcIdI%c7`UycjZJDVgQj26%3gZtwqij^(g2@UA-EF1Kctw;J}l7e z9Bj(6V$ZOt$ZoP-AB!5Dvp~z$1M1J%?oU26Iuo>gdf22duhrGFYr|GA_ z#?Icqn&CTiTEJ-@_L#F=mR`|9={r1(gJZj(uF+C2?=;DkQx#s;d?C#`*|*-v$ zR6?E~Pk>AAW~cXdLv5?=)-EwYLyhYiq5291(n&+82gT3D z#Rd2R8nOY2xN^HRfQ>eZ)-sqBtTlVST0i>flbD8hdDQ#NaDM2P2I!N=E~gNlo5?Z2 zS9C6~rR_n@owVOIZ=XgQR9~knoLp5*0zZ7Eml5(IrglT&A+E7P>4Fi*ZfL?zDKUA) z+ZKTKBZt^K+Ilp7eJ>6q_BjBdzVkhU7U{Q{hgNM9Z)fb;c>RJt{GTaaz@;+{db}31O02D#d}?>w^2J>`Kjc#o%G9k!Q4tFdib*{O&l z$bX)-e}O>mcxAfUcN~1XAUF@WEfujzb^mJbyAvpXP1LmqWQ`XAcq*Z&WO!nBP>pnL zbF|EOr9+amWt7Sd4r|w_oGR{M;;PP$M~{y7=d7*)&HGe%Q>=0-izsfU3&DKh5b^Gr zr+|y7K+l5WQ9RGclVh{F%G;QwNVg@@Mbm{1rs>?=1=Eh{>cOJL0f&QM-FKoRZak;` z{ydACtndk-x1qJYx(T$B*i*c09d|SFL1>(0e#B_8tv;N82hjdTUzY*-<_6I|d+2#= zq+51qd$mF#n(xv?cXD3=AhnsxZP(P+;}-)x?VBE(ykX?ay2cT6je8u=hqgD+2e^n! z1=M>x4Xy4h!3hV;m*i}};e2rNogSAH^qW&{$yL~-0j0g*rPvA(mxqZ&I zs|odR3Es44&9fyZ{yjhM!^4`dPHrkg>E`{y5yG`uBR1Yf6;C9-PAnJ?uoVj1aAmM7 zJiXhdpTOpkKHi?%75zdE`K zaQdz%y1!{O4DL(4noaVO58V|&H~Ub_8kXg^C~@gS58~GcVs{^cmTyXby&-c$#kQ){ z7nU|0+o=_TpuqTrd8;GSD`~n)R7!n9&UOX%hEDCp4G#*20(AOiCtt^tsz{(LHxm>= zqkljZ5t@$%^8ESNq7m7d?rbcuEA~Z*hBog4pvq>Ji@JSzs(U{`Fzc|C$9sMuRZ z+awIFh1sD3djeBG-2=oddb@8%B{1}Ak+H1dp7;H#{|TV(mrl7IlMIg@5k%&N!Rm4ju9wEOrv~$5KPsFDhQm>pR&Ttqy*Gnuj$Wkxu%F%vZAL-!z5Zwy7?Z^8Qo6N-iQ4Zw34`TbI4rjM z4xePEF80dpWvth#qqfh^*$8W6s|+2Q1`03nwDm6xMrz1r*Sf>1-;6zH_No0#tJW;LyRTY!i*XN5 zep_Ls!Xz&5?Wl$2!CZNS#uJFvgzm49XgW&Cv`UA_2TnjszFrv>-H%( z6G!TBuA58q5GM`yezDc6db`hx!v}kWmi62uRYO^VRhaUOq^>Tek*d<}j>Yco51I*7Nmki zm-;(M7L+-qIjF_r*n^Lj2+cMN@oFfon-H1M6vZHQ44!`M>|aHX^aymWmyBDEP+HUH zQC__`pBAO5-OP<`V6(o-tM~)DchL7dVrv!CWwl|vCSh8k)*T%vEajHpJ)Ol|GsO|x z1+OUm4jE=jb&${y<>O5}z45#1es`z8S%Jt$HLll|_rtojTo5rW29_v$p^iIgFXEwo z-H7{>$HI#0KI&a{Cm-XoQ&M%$t%#|E-i&_RR!0u=Aup#B=zymR$Ez1@eXdWnFNQiJ z4sJ8bI`J)at8o(JgUDil9s%afD>}9%q)8TC4Q6q1r4(gv@(RY^?HOUu{UYLQ?m$6b zO^}0JB;iY64#WCg_;7Z}Yb;5NjB;hEg^hjnNJ}d$udeY$cJ>DfmwR<&oT3$4WRAw5 z&dss$VK-mC32z$fqFz7)P9G*=cgRCSU7FKr$<$Z#FB+|F{)5KR{7o>8)fg)I6;>s@ z>^Ly$T}?G+v9+hEPIK&m9d0&IBw;n`9mXl1p!b01ifKcR(-LX7Dd>mfnXZjylb|?p zhq;DT4uxjUe@@o^(8tjEVdbb#1YwMG0N)m91>UU&vQktS9tD4=gCOQ`yfzz&c9MIhQQF~jA@Q4aN^n40NbM3dijL)_y7*#uOyhspTj^UF+E zpF7MLbY{;`@<;p5USVcwd68jDYh)}=U17w{#}I1m3$F3|nJ3lkz7Dp!&>Y%Bvw3K` zzynfPbdD-wd!`j=e_q_h)YX^UG1p%fUs$MwY8_zf9YzJWe9q3QGaEX3cd)rmg?M=j zn$+?Z9Tdc^(}BTg;4l8fEWaN95Bw>zIJR;Z*?q@kr7x!s@>+CX-JPk4Y!|!vtYAai zqIV$RP;9`HKz{^E?nRXKk!Q2cmpQrn&}56LuG9`W&J`&CcwRlmu1+aiAiA;PsqT{C z>S4@6#+^RV-nV{PHJM&BN~moxg^|VwIia#`rtTMIR`wQZ5gqyO?8!MBv!R^QTov*( z_5vQyaXyZ@!;;Y`zgrgD9K12p7hOpwbvqtZ9Ygg8qDYS$-qrCSwDdJ==6#h`x3=38 z-q$^f7y+pq_$I{ozhF52p`*()_S5wdm);R!X=yb0aW$qJemrD6Qdw$f^PPR5r3#kU z)aZS)+Eu`XsX`fmUr^uhw7+ojW}1|DTVg#b(t^r(>xT+*(csmTYuCRxl;w>(W$m<7 z4-W!0tKRQb<0N8~$>M^wvBNh-)qwQk7BoR`vP*E#M+;c;#~-6ZFG_sG2+5RwtWUZX zk+GS;5-=5mU0w!V+vN|WC4j%jC2LI10zfRn{R6}^)x>?|Th&f5M<+U~HUTNCMP+XB zqK$j1){Jf3a!7Ym=AFTT*vdy;^)SK;vHrJEB9;}tW-ro+cNGhmCf*pWfM;lT}Qu zM8Cb(tCb{@(AleL{rQ78FZ7hNM`oldUpd!1r~q=)mh{QUe}dubI%hA-FVx;+@+9_) zbAN%zeeOL@=|2-l->-9?L+ALJzF9I`NOvhJr^GIOghK}7qne$Nq0{a*`{+<&YEK7P> zM{cP4w!Z%$F&aRkCp-Mf^Du<{e8y$^uB=#dl;@)KsBLo32^($o1vma498p`gw{#M_ z8_mWF9_(FAmuoILT^IN_7>1BZ|9h;OWlkqzPQU;f@p=FnM>&M66S~|tZLQ{id!q0^ zUaUACRL8i-B%1s(b_{gnw*mrDkOfSzJ0(Vd`*GlvJ8Sxyr7*B$Uwia5B2fsJ&p1}NY#QxzqIP>)wrZW@70?a*5GUc+^bkr@S~UiS0mZj0 zE^6lyJ1rW8cyKN3U4kMO94;ZRDthJ)a257DNKUYbXd!;+8Y^j6w$5}yR}&EF%O7yh z;I&ZpVtNaR_jTz&Q&Rs+LiaenrC)uV#H*weGH=L@h5vv|){WlcWkJgbi#+eYsr5bPt z)t7_be1dsdHI3fhY$L0l$V=!lzlSBQ^o0dO-Rwyzt|iH_{D_yG8~Cux?C!6`{jrx4 zu8@p5v8U#Bv!H{f4H~|)ykDLjvipCfql_FZ9%tKX1KVa~pFiOFJSF%#?e=3|7F{tbpkIEeR4j@qeOqZWxZ4w?Uog^tw}Auoa&2-e^H%|}6` z>>t)5w&aY8p$~tLkOI9361#6V2L8!P`ETALOSIYN=68vajIFf&2_#SZKrkFd`Tfse zSYwX@*Z8zZ4$m^<%K}EaVE&KBJbOhU;E*PZYqL0obJ=X%bGKm^6}N{1GpgfnCW(Xo zjfek1qp(172pGwKAw6~c1{saJf?fTN-2Fe|VG4t|@9lADTi-8zzxTk6yNStkZRW+* z#AQ`}SMeEizS=t3O##39Pe63(jUGwHVC57hOmO+#uKqY+S3C)3HXDYUp3X zOPAWFRis(|gT%h~qHX9#eXfQSVTzg%!RuU6l<&5o3BaLYS1|A(0LY5AymH=OcPxRr zBSvT&&%)z`)?O=aNU{Ju#{|9hT@6Y|9~;`0q;LCG5y8lfTQTV24=N&gr%f66sdiS2E&8VubYm(98Q?w=ZQMP!9qy5EC{%ux$dI3MK~ z?6{re%TN#Gr^d=vKz{nc^03m;^;>y`9{2h@;X;3TK>tu_Lg)N+CA3rnBcGMdjI-`G z=a|}$%26XN&ry0q+ZU*QowGF~sb8nwhJkC3p%b)n?kb)!1IgdCpn33L32N>CBS9UA zvg8hm$`}RqxbA^^E-Kp2XdJEGrUVlYt0lU-{?Y0FB(qbmunCaz{U*v@(ZNeJdRilE zvBsTtrMA^j>!B#t$M%9e`-C^7e$>%ZrUxt#o-GN3;u|{}QN!R)efKZ*ArhBBi3kzl z_o@pe3B33EpqzDOHRhv8jn{fD$oc4#!P_(g0Fo+lXL4GoS2I^bhK7})0&t*0?Dn&{ z@ZC-SA$4ZdCrk6Z@Sh4XZXuh_E^RGl%b?$k^KXSHy0R5Y7p3L#NA?@>pf;#RBh$@m);lQ!+wU%!{b`kGid|Fh0due7djBCfYqr?zOI zSp8I+jYQ~-HG@g;A5z#wJcT$Oy2SYxyauvUkhF!D){E(rbW3ETw+=s3Ncs19sLRk7 zm2V~xr{RBV#DAmWE!M_I0x@PlMN45c?C_t|lqL(_7I!DB-&y#Eikrf+va_107Yl}R z{SRo=SmwB5)Er3pOg7>N^8i9)=DeR`)z|{4r2ZnZ*>%v5lTr{xljN+(F6ev@Q@r{((nvKRzlr)Qr*@K^;c*L%`Hq@QRY6l*vJ-?+_=W7qJa{ zuc8GX=o38t($mQm7ZCM@QsUey7I{=L+70Z23$q7ma$uAN?N(aKL)s->09_gPT@G(O zv=~w%%9(Zk6jR%~D-QbF9?YyIrxSFg0pj*EzBW3Y3_;hDap&ZS-^$ie+Jz^xP1>X5 zBCg*6vN!@QV^eKH;CP_37tirJE&`P%qhsb$8zXexfJhgf zx=*@Zx)&&aLYXnJh|(s$N?nnnhyA(OQZZU(Y>e;}a2=8ti-PTL zXnDy$0|}jNtC-hVujM2B$$9c2j5!3psrfh`UO(~|Z&OHEfTuL)DIoGQ{iLnzTeIUT zK7F!zR7B{q#UtOWb5yuHO6UJ%TVqeLn8p~AL%co_!BcpCoI_MH>Lr6!Lc=3K+S2Su zO<=j{6B!es>x$PWa`V&Vzx7o<2bn{h4q%7MHUyI6_4V5-g+hQG-b3kvd0d1OuxM4_ z=MgWwd|h`=H*w=f;-Hj$e2Fw#{152yrwJb$0%`D7(~Db^dWVNP`-<1T(|G$n%1frx zCT_dr^}BqvX>8pATy5c=xGvG*61u(E1I43_=3MJ$m{!-?UvbIBJ+UW-U7L)ecYAd| z$f=|C>&dG_%pqzqVO& zCpjbv3tlkxKOi#?_G?$PTVRITOBMBrT2|TTGQR0frKXFv(LBK%pNZ~XPC83-uq+Eb zD)p7bar+^`1eccA*`$48ytHsVK!>7N(kQ{Og3@ajYmcCB<0Nw2&k8aX9G zBuk&`*~ot*Kpgo!e9c`e>vo3#u&l*RU6QF^&CiJMN(~?Q&bhF*r`Nj=@6ZDVcVaK% zV^oUigbLl;nS7c3e&yf_QD9Qw=JyZC4ro7JxXj*dQ%P9&{_gQ%VczR#!7luK;wE=F zM*&;rrXS6;|DE{Q3a|{g*Pq-xIzk2wOV}GDfXB3~MVJF$7kv5ho!9u$%J{LIHoYlHit-F>#(qgE_2IBm1i?TeiJ%SAOdFNWlElyj%x}) zq=8TgMLsriPAc->K!4w%9}qirVtZ4r&$J4eF93+sCD=#AuB!cIRg?V5dF3I{HGj%j zO`hFoi19p_sE(ovaV&*a995sr^nshE1{oZ5hPRm@$~)JMy;$^L-82P+); zNQ;;5LFrPc(IxqRKr?D8m300zmCu34a9BAOckcl)j%Xd`Pdo_H*ndGXx~ksMBZY_& zh0K!dcoq~K9Ty(4ZV*5VHnWXsSae2hzYy*Am2;now+Ax-zJM~Ph1>HHJitSo?yDRW z04L>)x*`c(R!xhGA}R0%zSd+LgDi|mxDSEs+!(}@za2Z00Q{fL#%z9tJkLc9$UVPO zx}b1<+8;13e8tFC1FY6Ziw@)ie5zxZ&UOz-sQurip61u_fJXK38$EO$Ii%~`5qh14 zr}7J^zaGXuC!?d(oOD|kZ+<4YFhysi02n3+Am$ddI9#t?aw{hk!sl~r-gkCbfC84v+)RC#r1L!$9jZWLk~|O`houq zYWWhIqvL$C2+*Sfz8O}C*58-=S|WKKSn|q5JGo@+iwkX{f7dJ$LF4#bQ5@#?(Ap6(G2IX~BlvVWq+7PRGaX#2H*dI_dhz@yLr8dL%)o0?$MUndNws*(*6*z(I{$cs4weQgy{X=Qmg29l56e#RaR zw3m78LW+k=p&rXik>VTPOBAM1PEA-&Q$S1qo2Gi&>${QEF;QyLD=Vi|krvbf64@c` z)z;k>H=w@L+p4%o%ZjTfB4{f_WA~Tv2NcYr%W<8{1`$v#RA>~Q#7?3; z#M`6-=Z-+)2XbLpm_*XHQN*?qQ8In;L1w(x1GQyQzN2Ztr@q(qa^~Y+zTB+{zYxRq^=<Asnp~B2ZUq~_Z7krdx+pHdW@Gs&`l2~D&oEk+dkmSEd2aI z>SjXJ(ZDxXa2Oj8rlQfU+$M`_>d41xLuSEN#^>mV=?m7NN1nHXB-cP0S*pZiWMjt3 zeN-yF>@2>l+ZJSb({A9fd%XgDFB>QM@75@AWE!qk+>7wM9ft;~j-UyM?l3>0Za>Mg z^8>^;RC5Xxo-%#`LUKydSi!wLs#l0z3q?Bf z4%-*bHN!MEo2hYZ7vyX|=pcNSe(L$DaX!O3Ltio-P4(&7xSIf{=5#GH6}KLF{j_Ag z^D~lJ(_Px$0zSalIiS~uXtO=Sf=S^%+;=FO*lnJj75bARy>B{a(v8o@eAOJHzvHPU z9&j+kIWpFbRO(}_jK6r>lzkm{QIW%!epyiUHk~MNj~)FSNiwcOr+0}ruQ^Ii^^S8sQex1_`U8@(xdJ*qrR0a; z%Eg|AgHA+njr-AEzhIBiG`DVZItyN^N7iwVy70?wrBYTP69DO+JM_ z`PUPM1F$CTqa!$_@1==gyM@!hc6BQ-Vl^vK+m)e%R@2updrMtOT~Fi3^M+fJc4j)> zzrQZrU>KD2q<^g?RAov+E2O<@FBTOWIC8vwtouQ&} z-h@Oq2u2huSthQeyr03uAJv%9utW0(RU$Zvy?olLomiWcm6(a&oCL36qx7{t1Mn&C z5L?g!%mZz&nA27tYdnba5h#70vqCEJgNtYuXuZXgx6B9~?MJnVWid+7M8G{l1srR_ zEAlD4s#M1#qaO<^3Ot;@ojkfaKeW_Pog_FT(Q43V@e|+xTGY{zgXIQ2ylAI4dA8>z zqUMW`U$lpP>)=s-UTJm_{@W?v`jifbE2C;J!QHzkbu$;;I_#|%r`!f1drzB1+dTTM z$b8op=02?KNpEXmrDD9*(DwQQdff_lrzCbY8K!ymCDaE5t)A){y)v8qLSV&V9jKwr z{_1LSsU|sEj_5+u`|0>@h5bIBf4nVKD5TQTac3?+jYNp+OK(4${fNmhSDPXuoNz*5 z53jepPkA+R&i-q@{E5a-?6dayTE1vP{Xl!oGlx_MU6g9S;1^{OeCeSe3Oc}k-!AQ> z80BNU{&L!lx!gpr(S8D9@nT|_4+P@hQM2?X?+e9o{N=eNpp+tw&T*% zl=~U6{Dp9Zvd+L}-5Jf%dY+H*9IplJh$s^D ziCeP6g3iWqV+8mTzeq&Fna=qb0W9`#I@Y1aWhQ4=u`7m``KWM5tCcMk4gW%UKCbzG z!%u;?#XTqYldj98?hzisD@^k%${k2}`jF2!$RVuQj>1bSwhV1T>v_7&s^<*uJv^PL z6w1QF_u{}0efDac)Q{*2p#_A#H9lUjs-ty86p-&sDR%ei!TnowmnVQR7!G8%`kSyQ z%P8&1Yw~|Ug+j%fYH2`PBDR@E!X8aD`_`XOMcj4&DCclr1+7T7#p}7)2b8RDq?olzQ+dqmX?g*(^1p@2 zXRXGOd$48b?2w^fePj+&o|s|LYk#6r$mgFO!YgY@w~YAuN#`T;bNW^x@fK|&s6&lC z+gJ3iDg=~rloPa6E?ojgQz(S}1mq{O*kKSWFU`98?sRe* z$N`br3K2OjMkP$t5;eeDoqaZn&;5eA*;llQyvT*29D03>rzZtDq{}grmUVs)-N$^t zrrR)lwQPG-IKLmH3^%3}+l|niEo1|JZ8Js+gC)w1*QHQhEZU$le1bW(IWBF^k8@kU zt^5IXQ3U)OKGv{G}%J!qr$+4RA^K=p*23Eg9p$SaEFzW`WuTq@SJs(>LI$_8m zezX>4d9D|cCV8>u&-~9eN_JdTt1p(u^AO1BTzO5@oop+^fsawJtqB)V-|Ph{5RnLD zdGN2V1i;u2c4Lbdx-npOTMVv zn9Zh$qq6`lvDN|;*nsCw3AJ^1gMaaV&K-(R;bMGq*r;t6jAOQQ^mM~U{!$PguJ1^f4KJMB zd)El4RIB!AJ?{K8qN+>};ds!|E)$zB`}hk@9FLrJt&c1gtuqN^Ik}qQXgfcu&9)ok zyOeB96K+YaenE-87sPU0Zj+veg(FJRC}(L=7wAFL2o7E$6qSkeKxP(Tvc*W zrO6TmTWc|zc-__0b z(0J&mQVr%Z^VfCm2FZz<)B1#gfc59tVCs$!W+hC)uU=8o(6n48dTYIRE3p|Y+n`sF zny6Wu+-qTUbQ0Tg>dukvhF6i(jW4WTJXLOF*rak1gyR{?EENY&Eb=aTzpIu>Q{%Tes5{dKPs^L2NWS^ zfZA2QTPxnhlF&m^Ez<4&o$a=#Gi7BkvyP%4_jE0o%CAcr&xn1#QHipP=B*WAeu06T zoSmqBZ=L(f3{yDaw8<106^p0vj@a6uxmACefj3{eRl84wxF3@I&F0Ri-}fbRGXiUC ztMAb#NpVUKM1S@wj}3YE{8~X(j%ZeV{yJGjBYF zPU2ZpYt$znkKS6&b#OXak0`Ffwp9TgipEz}-rgFJWf~g6|GUZP#($cOdT{ipq(nzd zDKez65~8m_hv~xW{7mmUH$OJqb=@|M&~P^UVRg^Q?~|;Xv)1q1I)?0Ww%OHe%|-Lj zJU+jhP`g)H`rvY=Q&Y@h@JgkRB`wH$kl{0JikIr$#FH;7w)se~zgI{*vYlo-tvDPn zy?nub!%U(Guy=8KWVfa!SMPS?iBK}rz(MN$*__i3E*~At`N2FgcK0@x_BRDZV%@m? zak)jGIoD)4xtc2*W0d|EfVeTRUsGr1WtZrB*uHo(&zVhba%V?@8BdM%4K5l+wbPnG z-Iuz2S%2ES5s1nB)*~M1xk&xA{{D&*-BU}x)>Hde9P9uMK;UiQf~ut3NUPDmx~*_K zx?rZ3%Jy+mlXJ+mX1IjQ-MHUncC^iE4Rn-^cM%V9G$?i&1XMzNyIiWr-CWp_@A0Io zT4rubifUC2$Md)*)ryTmGkWG=pK$EMi(d%wX)r|o-i3BkocJN~V$u47*?#!==#Fri z!DIe-0;3bo{yD>+?_SS7G{F?3Bno2^FxP7@n1v`zw#>y_n=vPGbS8Hvj>fG7-mJD+ z(KtOgg|%DDTRww%Yq%BTBD)YgEts~hN{BK4;ebnV?%U|Qhj*VQ za(Z*t&~QBN$W9heM}p@j46v-pA;uToS*)10e3bua?xyi-H+EsEuOUyB_+!)4_($)Q zQ}d}`CiZtKoMBGR=aEZz!BO(AVpAnR)IfvN)2qX>HJ7TaEN;uxp!l~a{92#~CRTxJTOyXxa5HwnzA$|B%G2M~2Tvg*ye5MP7`1X7s(>sC-hRJFlLw!3;?{!RB~_ z=@wQj(G%Rh2Ul`hRxEO#b$**ECb1y%=a$p`;<=lYL3@f0uTl%U?6r-Q-qwNv84oL~ zf$3%XGL{wsrw^AfvAC&_ZqFo8#`J+c&XdVmh5bIKbAY9TQPb+&>=&9Zcs0zOQ#Fix zJ<6W5$D9e9l$x`sVpqyah;skL$+;6ft3mlzHT6n|>)B)$ZmmXKXfC#!35IiqY2ARj zr~~%_{5@BZ$mWYi{gbN)kH@|Y-cq`m%n+r)|2~{mlyA0$s0`9Z1C(j)FJMQ_twNo~ z2B9nCf|a!<;0J&%ZRSB1SM-`5FvY7*F=;uQmobudXK!&oMku%LvRIC+1ghNYi3%a`pxFz&(m zriIaK#V8sDag#nSf$u7Gx*A-w25(ClXTPZ@G7Pr7!8ii}7NC_}7m2!=)?(khFEQ%- zHirv%mxk7AsEsr1lVQm7d|st&>iH>v#b4BJ6L_=GppG_SoEDbMB2BtBn`R@MPC~#K ztpZC2!%0^q=j0~t4oSjpCyT~t$~9nySiKKVDzML15Vvrg)+lvZeJpTpIDK1!s5{ud z4uqq2v!-VTqe{Z>&|SOv{AUp&mDFD@xtE=EUrubr zWN7sMtpl4{n$0Vh_FI{=wU9$CV;DUAJzh|C>wp#ACJ+w1!_V`%i~L)IPKAdGLO?0R9aHRL`&_@oM5$ zO1;_r>KMy#?;2Tyo23uYl%PthDejp(oaZOBo&Ce+?{nrOs+d zT1a(a7bnE{#Z1z`#SwAGd6}aN1-_3z*b@}g(Lr_#>xkU{tiZGl*p`=hn|ue%Sl}AS zsurys@%kT!+KDMD(oGNszQCLm19!2GURNueR1QuLIr_Op4{dR4%lKv6L-q7bDa~YJSAey zn;Vt)%%PzKI&afv`qF?2allBTVdOp~R3FZ`zxTRYDp~MQZB>a*dq3JJ6?Z@Lag17z z)dqr~7Q5cv%KXcmti2h?Wo!4|RM$04m&Nydj#0c1leQ+Hm*x_AL>4o(XF=lo!0t}_ z&;8yabuf(xjAQI=-JzUR@uQD3h1WC0$#%(z?iL}G&H~8NdM@Lx?%SUF)hvDHj2~6h zDYd)dlm8pDm(BP>aD3&qKeI2Hg62?00?=aZ>DNO;h68uX6y+A!m~&6dDSh8Oh0U2V zms9ic>EEp8RHKV@n32*bdyZLcQKqS7D|z-Yb6@VR*tF*G9r{rhhLY zG!c}h=;<4Dpu$N3J-kxYY1Gn-3Hvf_WpQ73!qbCS!xJ;6(QyGyIkynyU0bp zo6eXoAud*L(%XWxTrwL_+gqw8wTKmnnL~Up6N?CWJqsB?WXYv`*4rhBA!pjwHypRKLUZGx1EwP!l z!;GRG($Qw-es>T!3lz=CUaMmcN?O9zrXWPzit*sy;rwan+CiW&=!Y@rtPOqQj^*-I zz*vOX@7I)W$i3sRr!lWh(kospi@N2GW{4wKcr~6+{n@$Up{7Bs0zKr4@CsJ10LDz$ zmKvJYmch-_sS6$;Ds(y^W$3VAj`j6*7VC)9(MUgr+E_{)*@*{M?%X}q4z(zQ*2a<~ z#d93kf7mfb-L+;2U=R*YVksFh)yZ6bW13E@lBn-yGC{~oA#G~)$CoK?mk>E=$b)u3bKIT9RZV{`6tcg! zsy>fPrFi^=UxQd#TZAFaaF7;|Gsvw35^VGkK##iSrW1EZPYtsei?o^)jTd%r>>FdRmS1(Yl&0A<6*xo9hj{SQa-$n z0O5fAVp@T&Dt_kbrjMP`^z9(#pwi77vkd3cDiM$(rCH}MO|ATuEqcugR+OL&tD zS97zpcFegSU6czgVBpAfz0mb;U3Zb?Wc_B4foiow`vcTv*NNJ=#G(o6L3rhshl0Rl zEm>OxtD?ZsFzprU#>w|rUtfceoFEW$l(rb!!8fFps0&Q$SX)U9Fl}#2x0}F0EfNCz zCq9K&jVDPL_8q!=Kl&VrVWK%iE{WGDNEWmBw*A5^ZppD@XwVWdk#3c^8oX#dOyF%$ z$21#zUGme(qceLY(d%r-Pj|VZIcvL~nhvzQ+pSEmu?RN?N6GOO;-x0>w@PtEeOgn+ z4VcjrDqQs>nx5)n(1R3#w4&C(N0{@v-`9#5M2YnFz;s#QJkTXA+~4PW&(m7olGc7v zqgrqVy-A|q=->LSgs!+od_!hGlAR1Mg30doK-_4>X6`OUxt<9uw;CR4i>DO0MHlw; zH;9S$vK$Ef?0ICaRB4La#L@~;U5)!vjEhrfP^#x_z`-H4%tmGQ$54C0yM72Ix@3{Y z#hXryU)~&iroG1D++I%>Q_Hs>i%=NjsvA%GMfHL%iIw^{U)N_-hbGmh`!kt<9>a^A z*tw1BGGiGR@Xg!^>W7LA+~51KQ#>gs^{iBhMIV#v$>n+f$IE9RH!GqqGI53qH*tKP zD0YfDT!KE9EqJ+{_UgFiQs%H*bR_WnJ!o*1U-t}6LkYI@x-6ZNLLOmq-> zx8#VbjEKL?TDV!eTchqys=Vsl=3PK(O~q8gx?M3@OGDjvA>~bnm4yhQ28RJ5>$8a( z;=02RA!Vn^W;4w$*^4#0_uGvInA@Jc|45Ura2H2rgtI^kX#Kk42mmJL$WOgDETHA& z<8gI+)2XklPc|Ox;yp9wS9et|aoRJ?)CU*?A?}UiMG80Ji=9M5zCXxPGMq9R$XKs& z)B77j54AlIyG$2% zQ7l}EXP6@zZXEP1Q(qy-%n@)(OAeD54fgw)-KAmKL0_N6mTo>-D}+;%7^bxjS=~c^ zEi5mqzxL!_*!8$K{rU@|flA^8hmL5KnE(sTtD&a8Xo=V;Uw&ANy4^a|&gf@DLSK?s zm5fiBK6LT^Lhj3JYmc9B1}`>-5j$GygKbI^@^F#JzK{>pS=mH+Re^_Hy0%t3v$ogz z6~^7XroUH9bjD?iA3lmfe*oP&6NvbN)J@(77KI^~T~M>ODZ~G^`>BeP%`0Bu$Hx z2o4QGu1M|9SJxvGbQ&k{eD9Hr-q9X9(}iw-OC#lfN~2~uhg?hLi{g5T2elVqT)h_7 zI@py}klBw;DgqVZL-+@z9G5ktqav$09jBAe)0y-vQM<1uiQr@3_I||qQjjl)jRl)v zmin-s3T8iM_c&VpIgEPF?NR&~{2n9Og8xFPn0g32Cy^v#DmL^=My8_vLTVltEWSwA zomO5PmaS16eP^0VlA^yQTADL5KCV%bQ?A-=u)2zaodcS%%z6^LyzAHvq|+@DXaO;$ zrkEK68Iqx$6J?b-mZ%3IB3yv^H&6V%EiG>sV=wxhzDhfF`X!H7L`?79Mt&0z3C)z6HmV+Ymy`7v4uL-H8$U(T$o@`>r7Vz?X z>}`m`y)irlc_I4;w6pm5u~ehqvaotp4j6Wt?iL# z;$RTm3}UR1Xy+SNpO$&PST;kuAce1KILM=Z%V?NjOD!dK9#iaMXL;cS0o*?Vjx{{G zlc$X@XTtY5NJqL9Z}zT!n8g>Uk>8GA_a_i80z+XSZ=>awtBk0=2GThKsi|Xh9U^>^{I2a`n&wnAreou!Jb<<$QEJ-->VmrK^wJ`WtEKkJgL(++^Fhm8;G zo=Y37A>7A>RdN_|V*MTxY;GFFiBz7Qq4vl1{j&InO8xX7DwRIZ_P?l9H~I-dxg~%~ z)&GY|{ZD)|uD{Hbdjt54iJ4>MQL_-^kf0Bz=Y_|su=4+!JxN^i{(V^VcYx_6aCS0Z zEZfQgt_DNga1yALBLgh|xt^`DLMpPS{%|LM>Rq$w+EHw47@S+(SxlOvzQ3$;8}Tq} zuovFfBSf+d@7cskWcz!|Nu1U6-!a)Pu6Apf0%6An!8GBEsy zOtsT!{ecbnZ!&fNpShO$f9G1>2j*IGAj-(^F!ntG=308405|Gk%UJr5TF0AE^YKcz zcB)zP=cjcdIi%iIVM@HA1%bR45MsC6N8kX!&PyB5hqEl%Zh93PEGN1|$6quiKD<>0 z-<+d7F4}OC8|B_tg7ob&yu0i9OSj(G=bVC9gbIkgSAE z>4AXc`W*ifofoH+-~WJImBTvD^nUq)_K)|eHkj5*QGV1=nZ9l*4M;w#7wY58P`szZ z7DtGMphUu|sCt#l5-1KB)pH%y9D5s@|8y#^4pWc6_wB$A9#VT(-AwukvDq$DfSBio6Ql9v{k# zM1?=x=AntfzrrvB6B!#ZVH4I>So`Ei=cfBt{s-!}cOtf8Zy4R=QoET-#FrP>pzE!T zyH$bb#*79_3>)ZO11^UYoLH3}h1s7cvkS=gE9q6~Im$mqwOO|3ju1SwTa=lW^R--5xmZ?g*+gZri zE3Gi8)4xAVM3b9u!wRMI(O_-TzC$zSS};FqY~e-L3KFk;!QPutJOj(d9XienQV5dlp+Fl5LKAm_P{6KI7+}N830(ckC4% zD3fP}TxSfGkoJ~-o-XU?R+@~HVi~)8avVIu^pg+Ijf_hwZa^8BeN@n~5A(m_a&%hQ zi;StsFK(p+>EJg%s*Q4dg6*DtBak`1vLy&0Mi z=HMQX)ZW<3bJx6NOb)5bk$Co1lisdcUnL!=eGn1by00pRgN+dkKfJ2RSeFZU-u|f& zBwJ|#OGwkwJlX<1qASg?OtTl_Y!?UZ_r_KdrpXV>);|Y{;oS4vjpaAk0R3v8c&0*4 zd#t!N;p>TpqVX?_?ax6Twp!(k%Q~ZlAm+N$9=g{jYZ0In%T^9L*L*TqS>SXc&>Y~E zSdm|ZSb)r&!1(J<-GA2Tb}z4p%6xehu%R^k?30_*H#03aH@Rd3JyqDC_=wqxJJ)|Z zFGoZuy1BRie{{WNT$F43?mvit(%lV;NU3y#NJ}bRO2arHJv4%Jw*rDRNJ)3d3?S02 zLk>gd3}3LwL^B$+nw|`8>A~ zX!!2#{&S2cYYwZ3KD?nFfFF`zl`fSog)Xfz0&>6B&X=_JuI9xB4@;27tPduFkxUrD znxbf+TKlV|7I+gf-))n&7?{${9DP*VJ;?%}9KWOBPb z5hdIPU`-obabbx1-oD>O1>5%W#V&8d9PuEbHnbkDKt7!uo z0UguX`I5bl>*BG?sK=;>QHL1{ATC|(5am%r6Adve@Vo0Uv8q6Uss5r(=a2MB!lQVa zKxPd#R$*d-ReCWiI@7`_d|gqj{F*(fiAGO<<82RSkZ;W8vXhC|>h9y|HtZ?_83k?=&?D_L=y-X-4I4$;$*Jg1w1>3faGO)kH> zhhDe4`~jy*>{>MCp?zQ%s=Z@mP*i^qU)RKbhq9L!etPLv+mjt}%HnpsEED2Pa_(2s z4?`HDN8P?vj=f*LgTm$ou4YHh%&VctB0O79;#Kvb84{8QC!?}5#`2i7v`+k96x1?%F>|GE zo#p<^3?A&yrAj=<|3h2_e`Iuc<@Sk;9{R=0@hiy!Y^2&uLpP(NU*oZp_t_HLrIIxo z6f}&{A=a-9H!)Eee#CWq9G|ruAUv5KMpSi3mqVM)r$vYi;@Kx%PI!wOqirnyzyu4z znTbgWGkE5V;u~Eo7z6(nc3g#O@AB4f7hG7ly~d`izpEFm0fsjSfegROhO|H$kN(8$53aw zZDX9(%QQtImXy`q1@`Y5eDmrzOIkL6B*8|C1z5rnwXPM8ro{)bU(61UTpKPUL!oE9 zhKMaC;)+KSGNGy(sqkFB*(;|nU8So4+I6mx$3UfHx;l5&x&iY=%2i;#gJ{V{KmDW?5i<#EWeP z{L2A>uC4^pS0>fa1SW4GV!x(h(MdS`RXXM4ZxZ_|dBDT#2XL;@Gl{W{L-M506PeqT zyNX4;Q}{Oh8aSHBe@Wi<$OV_p$>A*mq7Gc@AaZq?6bnSJC!b|C_)%vn@9V2NPFgL` z!|Mh*@D{1$#Cb1EMQv6}_vTg)6A(e2WsW+f+ZQhJ6uvd0CbCLC zsWkmn{sPmWDy?=u4m|_rabqZ?{?yA zXZXfhgkFvj%_G>sIA`Gl92sXfeB(pU`OM~zxVPvDp3>V=l9I8{+C!=RHnS8w{WgJ9 z8e3>uJL^?Ly=&T4`?`5AEBq#3WRCXI%$_7in||Kab-S=2x=7@wjAnw^n~BwJ*O87J+MD6@fY`ul z7d%5u9EE=fk&v@B}en`!Bd9Sxl;%4SM3CG%`{fX z$_?pGAG%hF{EQPbJQFA5_O4A$Nv@!zP~Rkam$e&UfwltfT=B?#uomD;0q$JS0Ru~3 zB>W)WJHD~XRMI-(WoG)T$}qpL56yBsfzx*gIDMBM#4N)t8E0gak^U;3vsdD;efgGt z_J=SW^>f@VVSV<`or@Z0eKv@F`uDYv-jskSQ@e$<{?X061Mxx9BEV*n7sY|?yMAyX zAV_{bDO#ljYfEn`E?QpL&Wf)%PqO$mJfTHJ8dqIJBeyb_k2P9hx#>oB5}41(=pe@k zeqtlGt3*6%%(WTMQ*;CtpOFu(_t*T#rD8C7gNv<3^;z;xh(fEb9tQ9+4c0g_PKOJ4 zt`k%EG&pZ4aits2-t$g<`;gxDJwfiGxmKW;Xy0&+EPT`!_^+#Pe>`ZAMObkz3fDb2qiUq%A(UW{G4fiic?a+xub0D8wcDmT4D3(@ zM-8${&pslUes%Q4=iho6KdJ1a{BWyXeRY^KeDtMmUMS&nl;$Y9q+#n`3gXJ;E1g~7*6RE--V7)i~yJd)`cB&B^3w>ET zL>`6omC2PHu?C_77iaHIboPZvcl{FHm7UuQHE#R3n`wSU@payjkYHfg;~VebyOi8n z;%r1uSwT}_xwO+Vx(vT%dCXgKr7N&!)anG8L`CXc5o!qgL|=U)zEJloVYE10YGyOG zaN0%WkjMn8qEo+{7178S^`_*Bj1vU~cZzg<{|>E)%gfV^5J_Jd|5c|BV;Nn*315VH z7vv85xT_#hcNA#;DV7rBzuk0K6F3u}lA zl_K}8(HRf67b5>7jjCb@B1M3-OUAI(Ru@xud%BS8s;$sn;#v_31_ijalMTPxcCz{A z`x}y-CHBe2PMeoqf4m$83&r6}<$t^!bO~x^FB2XVrEm1M)2NO1JvA@uSInVv^_$3q zn|AhxxfW=Cu~aXZAD$!M9(%j7#B2QelMRr9@M5=}`@ADxpBKA#bAKzBpixWSa9VWe z<+MoqE>okJQO27DVBR*da^WIkE;=Ao%~&wdp$(wy8V>-D>4rq$m=+o5Kl}?+?|SG- z036fa<^vl=X!s@fdFYS)!h329q&Nz8&|s82TK!T% zT1ahSID@r%&swU1j5tQR-;!if(6b7+4{;D#yeKSlD&c3GTXzG&NI<5mymUe1)#XH`P6oyiM_)9q2(SZ0FmVzb7c%^dz-)BtzNk!Ul;3#zlyM(ApIa6A6$ z*>3Ixx%&ZB1}lod*h{0A9n&{3FiU*tydbMp{d|eH640-u(kh`BBHU9YbmvMLcrPzE zCK5qQP0SVvO8WJ&P;(EK|Qf$sq4S9*AYH^Lo#96E*W!V3Do296isEiRub4scLmABe= zxLQOffTl&#dUSWcX)a4kVh zQ7?c*MCZSW2<@p6UJ%ISXNop3?ah?_;U)5816&frfr@vm<6<}+ff{hd5{CSTmN=$0 zFx!fmXP((7(7IUw0;SR;M{<7xr5}Mn>A~ND(p?3*LZB!5^^{kjEHDb)&#TnjbT*9j ze-Lx3HQzj(UCZUNDUg~Kfdan#n-Ti~vTjw*R6ypMEp+X!pS#O&w>6JDn@qL3?71L9U zeS4u3-J3BtU>r;vR}_Bo-WpSgXKi4h4SZS5XQ4FPRwOqRrr7$PE`Cf?chy)v)C^Vw zapli2WmL zrc)CzffwS2z3cZUtO8nWYhoJxD0c9l4#OK+VqmG+A;8*504`lsx5cKj1bgaKg|UX#8nd3yX#zCp{)D!iW5?YVA{-9s~8bQRve64&@cu zrM(C$U)pW?r7_hwUl?^RYYaKzBYzk8@r-tU&qnvQn}T+LPCWYrcs&2v)o&jro& zvye+`KkjfUaY#4c!dc8g^EF^C&=K-+Ry3c{d66eRVVbEUpH2b|rv@D%oGK~mmh?-{ z9~np}Z1O8C;C$B-Lgs$N5cOxVMaVJjWR-N5I}5M}?=Omx2ync7x_%}wz4E2t`>?wC z?G-Uc+-#s$Lg!Dd#0U^Uj z&s1)IEQE*BrQ0H45AXIpl0o&#lgqq7-+(^`2(4P!z}y$UR380lL2CGH`%mXYf1vaG zAdVTExrmmmPpe?C*XcyL04z4yts9y>Ji33`1^G4VI|^<_XMQv3P)9HA4v63Ij|T`L zv0io)0VBqi9f|JaA46U?HGNq5?4m7qAS?U{xg0JIkbQsWGN6|#ig#=KsLV&IpG}!< zqs_R3Z09ID;cgvn@b+d}#UDr|%JwAsC4Qi#>?+U;Z!Ee)xdIxqx+qgtGE-CB2A$5? ze*xTle0wU4@~CAT%Akhw#EaNwi&pfsV{%EnSh4W0FZp=XPt9HtDzMvx;=RF+tt_5} z2T;965wZ9vW30lf56!fsGGe(`%ogzkIWnZ93X*{>zT9(i;jEuiH)LCkI=#ze&}BeF z>ik^{AAL&x(&~zH>A`G=_-SXiIiCPcFwSUkGMk}PN`w!YhKTZ^a&UxkOhChB!(XZP_6E}!ZIh71P+n| z`Q_C}c0spFYwxPekkwh)1x5RswRb2SC9!rf z1DI-j;=B$?=Ak|>F!rrw(4ZL`HIa%c4JU}TasSU=_^{s71bhPAcg6_0MBkd7SyRhw z*LzF(fim8+r#2KxMzF$(!meW zp0o_8Awxh3hwV{OVCft~p@KvrQGhNc@7)_g{tofgeIMAY4_OyDP)I)uA!$ax@FVUI z68y9>?{B3j;g3?}SG*DXW&S@(QS-k_5&2u++X*N00eo0ZFlq$gUvtlTP5rSIn*OmB zeg65LDF*)9l`hc~zt=?TpKb5Ct@M+E~@T(z^_r zpMw0*5w1royVn=_17A%9H**H4oq>43zhWcxF{D*xV04GO@|Q&`O@V0$1OAh`dRjcS z+vLyzn$9l)e%O!IPR*v?#TdH2tcW}xCM7qpSJlEGb?sLeUxk_yFTrh!Fe4d7w2;N* z*n93tSAH3bQfQNR{lp0gLotQ91%JW)WE@@E19cevPr25>hLil#yJqg_LEQ22Q z6981AK}Ub!c;&d7gpc$2!l(G}Ppv?drC~Kj9d`5?2OyKKrg;yD*oTmp{VqZT@-99& z`;3obMNQ^NP2}RSwr+&rB>aAOF_EKNh)5#6#*Otk|mdfAP4P& zh_kCLS&aHw?XJRIL`vE_6bLH; zW5Pp-kcL+2WC&I29*N*`z+_NbXBlV_I~D6OnH`tV&~cpb00%1hy&&Y)wd3czO`G$x zY3?2&558|w?_JI$`9z*3TEzOEdD^HslQDel%;?3ShnI9i-H33eFLR2?$3&ogllx@kmg;gYbq7W@GT3?S zeHT9Z-fX@NdV_^aYX+}6kx$7f7{bj_+R=LF=?_cua$l*WFOuwR(pYJsD{jVt{%$hp zfuU7sw7;8A<+7Ih#HWXQ=JLNv>Y1#>Ntc13n*{xvaKa$RI&3jYOGvS9;?0#+jj7`) zRn<&M9)78m+5B*wZw0qo1frVz9EOv$aI#Uh1VzEK62k9Cd##e_@2dF!vt;T7mP{Ux z=@c|fB`2e>T`S=U?m=CO6+VG0W{qd(>#UGo@s~rO- zfRel_Apg8}#;Z!{MeXG3BV#j53w060F0)Updi!0f)}-jQ z4iEr=NLd#9lw3Fc+B?uHI;6|PP0Zy%sI0vqF8?mErYqcq7V4{Vag9a@7QE>Y-dr#@ zGnL{A_iTL6{(-sj>9Vz)`t@pAz$=#?nyv1pM0mV~yyF;?)6+40~=sOR$cS2RqgOswO+NdQl=I^|w_ zylOg?8TI>>oDVZTtY+M}nwNY5&t@Pu6akJ+W?IApMc5a^%?{}6u=YGz=%?X()dce1 z)~Hfu!tle(KQEx7i!f!{a#+V;ey7pk75R`LzRBMJAn9orqtlI? zagAsEOa6K-KL+C+0jPIuREFqJv!N&zz06I-9qcA-iF@XXtI})-L0j%$u+wzek-aa4 zT*(#qVbIh@4toe^W>w_sG{-pnX?MJV@&K4n(O^m)mtu}o!>)|&0)6+Vz$WnS9#BYm z7dncVv39jeGMmc6q~b!Ar# z1qv10@?yP4lwhY7jEcn;&M(xRDEr%O?ovHAAd~clMmiJO;==xLRkFyi?gPPJIc2P+{; zf@HTour8v{UN&Op_U18u{qm&SH=v1zOEBNLD1@cd@kF|8{T3fzm>2i({28rsH0sV! zOGQ}BAXXW}C?5+n1CfR2-oyG9W9v0*KQ>fo#;Uu1o_-bKt2y+*vGgc9@%~dw&RhK+ z?@}$LSC^x6A7QS%CxG&7zvXDk>DqT*fhyqqyKh|hHXhIC5TmN`OcPNA2`Ka+8UdY$ zYa*A~frOfEydi2YSDpUxx!Eb;DR-bRBAAq8n+$loA|JZkAedONJ&xTMVWT$TQ}yK@ zWEst4u2-h6%l3|6q-btFSj1nAQ@2VkLX*M5<*B+I@@S1?Z7A7~ijBv{<9KW7HBlW#7@PhZnXfT0 z_|oIKD`h+C0^6pUM)iY26A-(E34O>HQle)JY-67FTu|Oif7t62L zdyqUrs4fY6t=k&^a_tpcAXvcg5;gEXKzP+cdsiEi(2h3W>OVcn@-I6fpgQFDXf0;4 zJ#6{f?+#u$ybJUn>4ey~W&%}%GgsmQKf*u#&OV2j>OKJ;Vv-))lM_*mVCr3QA5*(w zMCb20MsvMyuSGHiEhj~+CyJis6jV?un1j?gKd|WndWcTqsTFnzP)(R~S<%m^oU#Pt z@vz2+qAbrW?v`dD2bNnX;LQE4#z_x_m_FWUY+KO9c5y;$R&QsF02sqvR&KCD@8aJQ zG)HX<&xZjQ?`pR>+)1EkpmX5(GgoZHi?a1LT?V|1wyPb_Rm)QcxTKn#BW zBI=+F+$!SGaDB=IZW$W}qf;H&b;Y%cj>p>BZ;0jJF;)Mm!;Q=bnYyL!dwBtcalf%6IbcN)Mf>fVr-L%lZtk z(zeW2d(J~;UOT=p`kE$)WXrMC6HyV-f9`&pIB3QC8w6X}Z^@47-cxe&SrzcmpR2CA z;b4N=&j_xyLRT3bIYk|~!||efP^r6?OsmTPa0qh(rviA2SsN zq<=?(`>p>t0b+>&n_mP&*B}#$tGEBoQwQkQWh+dHe;ELmn!@$LDf?lMDTgk9Emx!j z>3)eVMc?eqBQt?ti*%HTD7g1EvfE?E}w;_WGy(LdVo@#+vr+8u8ojyV6Wbsw=1K!i*@b1?FriP98!3NoBjSYBcs`A< zX}ViJqj;wBq|4?2@gKZ8(ogv`A29s^(db}{9Z&CPIEOj|Za!xcn-TWLUo+ljWwsf~cen8`5Ir`w z_rfq48BIH_Zc|8a^rPjYTYAcYq)$kmH?ePgChz*mGEL(cL4d+|ko4mBvwxGzI~PE5 zndP74GR^;yTt)*t?i(KHK(Exj+4y{Dy~RX>e~C}a*QpcU&&?k{K794`E~YJR5=>~mMV9}tP4ONc2dJpbg(vF z0ZGb&XsUpB{L&N5NoR)~55}c+RRXfm@puQ3Hm6BN5&BYXz=?}F=GMTxoJ3aykYGi# zmLi!LPL?U48?u}z?V0ru(Wd00qDMs)j-;wNhP+wo&?DWXZfW5fSyT-}(< zHyzSX)Ka!-FVZFuQe8e3Pw6>GQj=6ACBMi~0nEE>YFHis5|HIRNq(#@CWsnEVRqm7Xup`GHoQAf^ zhQNoj*Ltp^(kJaE)%RLl&z;=XpE1Lq)Rs&$yZD^zU&7n^^8tdI;ECDpCrAmMK>5hq zeRsRt6dXyP=HG!1Mxhl;g4o#A8aCMq0Em4t7R@^Ss2O6Vo3Yi)#1#6c;t^M3_uaM{ zS^J4}wi(-eq;@MBPWAPkm{PAUf5P&K9 z*I=J3W5yt(TH+|jH)qI3=KH)U#nNKoZk1gZdnkvR>cZtDCD)J8jjk7wfI3%obw5CW zE>`q=$D<#E*MG$0Auu2wEBqrKbLTb^yzgSiR`dv)Ya$Z?GZa(C`qR-1t*fT0hoNf3 zHm_TVa~x(vWNS{RX9Z7$D6gcNW`DBL8e^aI%0kqPmzX}Xnsj7FD^R4H7_Ea|JpzI7 zyn-7JDjf1}CYSFtvM8sET*?x`n(2sP?9bvD23fH9T@Djh{(oBeVo+9-SE?0GZ6`3b zDd!BI$v!U*k4%AwUu{~B+3z}nW@-0TFYECqjp z{mu%lK#YfK?X=*?Vbt$LVkcAYW_P#DZe!eGZHZA^5Gwz+cMUQ6>?-p2Xz==u&^57v zbZoRsHFuUTqtlx8k@~-e6=20T!1Z)%tB*x{-A)4N7gandb<2Al1Q63A{}9u(0+c59 zT?7uV1OZ|i4?s+l|5dLlLTIVZ5uYS8pVOSB9uOkjfLCI+1TFn`!*HD|A|F2I7xBq% zH8!}}*@*FW)on!j(c+VZq9YYW&vzguvvuVK9R{woMIVdl4!sI<=dAuhuL@@$fiC}{ zZG=i9Sd7*8#Yh&f!_}28xK-`HN0n_ z_+1i2It>q`z=Q#=h_Jsvt~!*1`Cz|(?)Pbgl3_p59{HMyg1RF0ZX06+a ztu`2Djh(+#y%gV*pRe;>o@aBqyuT#8ah-WKAH174vTbQo0yLe?##Zl0jpm``$$x?w z6XfR0%$!sE+`JNU-^3vE*!HP(q0OsSu{Z3h5VjZ@qbh8Qw0=L{%n3s^T)DR8b8^Du zTj4}S1=jr4JgkB|l4<&;H;C%GdGE+q{#P(MGq56PDv@uWt#vs!*I_WPvmZPj#CD}W zYjYiU!)Zk%M9NU-$c^?X`1ZvT zR=D^*b-@XY288`?1h8Pz9#>LeL3S_z@zj`*~D(_T7V$xaizSh~t$cL)IlI?54 zGuPT7_!EAd6`izzWNJ&Z#Eb8K{t^CQ+{F9PLzcRd_axSiPEHxz}3p`?*!ubCs? zh3;q^H^gOacnSaqX;&3~dBKjjpLVH>dc;w`PlV%9u{JOr*gj@veIJv51N7I;01;2P ztU-WX;nwPul2~Rg_2gQL67mw)y*U4N)PYQ%*yG%ognU&HPM;WX*W9`38~GATMjTii z5YQAVjMU5IMMzOg>ZbfU)DxJpgRQSi_e-^pm-lXh7IR%QKeeA;wbufnN?n4f?yt*m z0e#n4#^Ny3tY{uqeg6VwD87fHTqG)Wei>O}0821J31%c^ zF&EijVWiX4o+;MF(iqBsB=7!6(b#B=2a~GRCBjYcAvPMjpo=LRwYZCwF9=S^H!GCS&2*8G(!t@^- zxx&tKG5mfP;%ty@~BP`XNE51%F&$}#ldWLM062XL9S zs9>C*ny-;H4A3xGll~8Te+bXZ+*$FYkm4WxE4003qrxGwe76P+I;TX{L^b(_VzpG3 z>{=s^7)Lq8~W5}h)JLQ)|V;+Y$?XWyzx3q?#{C6Yh*;8F2vW~M25GxL$mHc zl=Y?78-3=mv5bnAl_oX(E?10eqKp=5s7x?GXH~!qo=MJ;z|aWZcF7gxx%cur{9SHu zxg{8pn_skjVK-as<5B8#^SZ7s%LfYS=qKUHc)za&|3~Ay9cY9W(nklSehv^t4@7ja zZ#8AjHm}Oczra{@UMGBR7AK>b)&jpKDlSy5rKi1@gP;6vfd*WPwh9-KmPc@%zMp}d zOwY(@mCie7Wn>CQmJIrOl?>1A-FN)lVl2M+^aD)gQuTvIJH-HeR{TuL;-qsw9X{*R zbW}NRZq};KnXGLv6ZxhEC`GOOLMQagZ}+o8wrb!WGv2awr{S{S$*Am-Iy|90~B``%y;R)3A3*Q?Be+Jz*otm!i8Dx%v44V2n$Bsnf;Sd-m}ai(sHs{Ub}g zGv3-=msgr@jHXdPWD=z+-hi4j*46@$PBlAOE}3Oc8Ex^4)!Aj|!I1h0Z#9>WrbV_7 zA;{Baz%nZnQ;P&TdbBdf`K~6c4{)H=^p0=WfBPFOW%LIu z)movtZUKO$VE-3bisyUKLrh+jj92;n{8bAdeGJLPGj`1?!z0ad!$<0O7=9*wu4ncf zlxy^dF9S<*lon7Lf+36bTJ+Iwa^t4;%Pkg#KYpa2pUx6>o0p5-lUwhVWR~!;uDq!` zYBq_ak1brfN{GdO3a8y|{8(k#&x;wv3tBA6bS>uHNNxRmn`qQSGemk~d0X?W45!`C z1NbLyEBc-ipYhW_du_+~RPzRpX@KnR$sgKefrW}e425~7gg2f5js4@;WF}CH;7>?M zC|fRBe8%#C2*edOx2-CdqaV2Jra8}5b&F}ByGrl}K>Cz+#OWBvk=WPnSLK9S@CsNwNFYe6VgCAZ~d-$J5Z(6RY#XG+P_#Faq_IH#3AzC zosR&3IhWr?_I5(UMhR)8%=j%I&eXjA^cIQj3%#TUQ2(x~2GimH{MZDOsa2AJ{^Pi9 zo`sl#1Q0bSXR7UY(R^y3r2jamLm$m64eTgSKs?3NtavP>4?x$vsyxL!|NMbn5Lyif zEgNC`3Ix<1yQ;^9KyJ;8+GAT8q?sG2EGR!%>ZbK=z_k7ms>bxWztNYVAE=urn#jEC z$UT7I=sX7~n5T)Dyesa%K-3*P!5*%aQ1HvnmMPSvtBq^jb_LD1qoRgr27LxP$McZ$ z=zC$00SJy|Dsq`v!8e7U!Xfzrh%W<*HV@2BaRddxvihQ3b&*tYmL0E6f86Ch#moe*y>+-Ei?X)@ZK^ z7B-!xNzbBb!D?=`xRmch+-Odf?uVQHkF8b4@wLc+yZ+t%ED2zo*j^s#)+wFe z$U%*-RQbasY;Z5KO(SfawkgY?Oqx zym+s~`ng>V4T$|yjjihB;aa9l@-Z1;aK5it5bkVE;h!Cq+GId{lR7ceS|We2=Xzle zt_ui++ase~i1j@IGs)ip#`>0KdZp`fAhX4jWk&d=+(Y73pt_~MPxSywsMm@lfO%Hb zif92_qc_t5DL#L^Xo}dXtD{G#15J4 z=H>x$-0Gs4oF&hFD`_0w1P@5P?9;u*-@{2%zHaE^cAmJI$Q7FmFL`%r#$s_lM&&UtaQY;e;%9YE)1znqq_~LxNpba|sb*vh{-n4%#0#)tYBQcdipvy8alN&K z2Je$J{hi{{BG!*4tgDOv@Ji)w&FkyblTS8%tWU7ftFc?ZeH&Qhd+PyPkmBd<3+_kp z`Y`usj)u>PpCYu5CGDPw1ZiJpDMX zoH3j|4K}GrT+$#MI?`|kpbWpu0T~Oy6fXAgCJ@OIsHO6!-=FJCS}dcRD%vL zlR+lp0<}}~@47HAD&y^+bz!V)l{2s|WG!_3vo0K2H&tLtYd+?VPrKfYFbHnrdUigA zEbXJi1pd1%?EHIMSgy&EW@&dN_0Ft(qMC-4DD5fy!8hAi?TYNjX#`{|%kSI95<3*j zemeRv29ACzeGV`Y7oI~Zx#Ei{ii$U02Iu4y`OD0$@!P#K&Fo*szfxLBjBS=DS))bN zL|b=7YR8M56RFA^?H$c9%;?;kb|(<+MvdWY0eeoT_BaN>U!Ol6m8c(lcK4}Y@0f@=?Sz=1zfMn z{~9x%@XVvK*uLQeWXTwz0HLqDZHBP`{A+v5xKJ(NyWYKL|C>#@K|CJpFn_Hv2BQSC z@}dvl*T`toG(f~nGj_*1qW?FpE7iT?`QWFxpshtKg}-MAZ#gljDT^3XMjn_U2%WvV zxaPbZuPQnn40C+RE83a+sH7z#$kknJA)^YK2(9&mFsDn=ZA%IC^pYS(b|lTHi+Q$T zivef^Oi`gVY`()1+#pjMrom z_I%rR$K=Q;v8E{woI2qa2L=Xu(OQ)JJCYU6#5*i623Q#^r2A;~ooTb;z-4bD7S-=^ zPcSJ;0XF5bXU~~#qYJ&fs?bK}*iV<1KzeP~tE^G8u-ZbidiS(NE#=N)QEOhl@ps)G zUZnXK`<6Te)9U+Rx-LF2<9eEv-8gFgb>S}*5ya*WMNdq3uULGaKdlH(kWPqYFzk>D zI;4&{3_n@qf%W3}HM#BRsaZOSJ&WG_)n5tU3|RoF_iWTR`~?cl1S12*;jH&Cf?+HE zBnAPCkG=X^eGjei(tac%zKO)LuCvR;#4Puk<@k~9--$;DBO^n*i2Hj5OlbgtH?>bA z+g zkeWTDb6XiF=m*^4JpRB_MPLrCP{)u)qGWH4{sp=eyE%p(z72v&3)&p(L#+c-0>0Vl ze%DBDVaDB*y_lPA>JpqnU1#1r*+v9K@?C9#b0;rUvYy}Ir1 zgWPgRh#vxjyiWJT>?7#*dwSI zL|Av$v&9y|qmgyA7#tMxfz2TPfFt8YB=PhmM3nY>dz+iLqX?!SFV% zdE+J3>xhg~R%gokJDcKKTzGF^QV|~XL+MB3mI*|FH?kx;GbX@kHBeI{vya!qtz;V^ z7|(K9)uGKrsXb|-K;G_xpqBs9%1sqBeVrfl0Q@B2Ehdf42EC;v)JJ#dGKBmjBAwQf zuA1As?A7yaO~d^0+S;*Y>ZNjk-Ylex_=>`_4vk`Y0c*Y=EDU1=zrQ}WS_u0uMkFcL z=x;_OS)7b!F$f0*|vyL#I8x587-wGC{t}c=b@mxn)Tbe1I}k;p+L*9sK4v4VAKnN%*e6RXN=T_ zy*eb@quhp_51u1G%R5Rii_CwQe5JTi+ijZ|&DglS|9IuMzbuYQRi)x-7+s_%_Qz}Q zMD|M1JX-R|+jcD{H4AhMbcm3ngF_oNueqLLRz#=Y ze(T30MiFl29EzA_49~Yik^p&hW`xj{$?BrYyak3esckVMwQwuihuLtFmYkt9WrL-1 zor#0u^j)qyPU325AH>BqMyjJ^0QS0J#Paw%5fbv);OHQ)OV2eL!1d*}qk~*J=1Oj6 z@~A|^CxhsI5$TYfOO?V##GHO&UA3PSsyPsIq<&w%6&FxJp-`F*n#3JyVEc8fJ6(D8 z=%PC&KpM$3MztTvq&;ifCQg?u9fis}BL~Q}hph%Bwxj*>o-SXc$a-8Uc1#oF*k>H3 zu6Ui0cW*Op<6ed2W@ZAf5Mf^jE#1B|@yOhSJ$g^UFV7gXLKI71#?*JjPDNAMQ zU{>W}B=q%M2cs~jeO|McPz|4^-mo-!Gr zAXFS1n~$68yfVjrtAslA1lM;*mrgYdSHOm3MhoE3dfwSAF@FxeA?Ans>K&OUoO&qAJjg!}W|h}#Vx+65r8OG#&wv0#JY z$07y74n^O}ipq+pHmKa32qCv|V6;P|k5gp-0-*-r7FI~IeU6pxD1@I2hCd50w?ZiL zB)<*d=v!xqemz>HpiYqJsQdC3^_Jf_MTe&XD%9I0be$y{92M3(dvj~nbHqhJuE(ia zT*sk`JBFyAa>vPPBoZvQ_O{(Pv?wlwlUc8yR7C>fMQg`?L?GFRk(X&PqtHAQ2HdOWbbfWuxuAZrpTxN1P+KKCw1 ziTP_G8Q+hjrge^_psup*muIwK*0cXwD%%k z)crKgO*cMgzFMbemP@Z`FIPgpGMKpESZPbZuAXpZ)1Kz#Vm;zdREwN)>@bB1g$wb- zcShXrKkdtqwp6fe5T01fKNd6EY>sxAewv%glGuy;+V0pM*2b0DD^DJUi~`Ux6>Zn; zWu}(hbxLS?wBnn*%U$W_9fG9ci>G{x9+52`OZv3)P7`NW8ymy4$M&pQ zeJ(BQJRy;M|4M{IbNrmh5$h9CV?`1d*~#W+`y31BU>&Rd;}**M zMY3)WvOe4{TDeEVNUJI~s8|KAg#%9}4;*ovfoW_E&ih1@&%W@5OV&p}vF<7Reruwe z^Ai-LJXz@aAY&&Aeg!y>17jReWl*)qc`fCTxMcG-rl{AAOjWo`HY_Eneb(~%WT!wp z?e>n&V4L^mTUxxI#a$ke8ABcIj4o`9lXlUfo1b&U=WcLIsIRlh*&)yxfE^hY_KAQ( zE^)NA_h4|;XF&8IY_c~BX{me1s3Brv>GaCvW~>{tWnRq8^bUgijhl7&w*?~Z?EydX zNYgXEBPZxzkb>^9Q|xUA1gk{1Z?FW;5)4NYJ3xFPTa+mWr1BO;V$SrdPjeinlm;H( z>pATW-gG}MOL)Cs^#c;PF1o4_d8|*SjU_0{4QX`tzxDysW zbtWd?A_zk5=CIFIMFkU`&`-8;3=tm2ic0C;lp1d_nS9S&!DDW&+x6UG5l!{!39Z7r zftt8s;xD%0{-&LXXC`ez80A=~TNPM&+0bD&rY-w;Qlna%8ym6?3OsL(c0D5`?H}Oy zZ~-rRsSK-e!oiM7aEa(Wqt%!W9^gwk1yiLwg}|!X;MHJ%zZ_nFtWDSgd5lFr zqPnW>^s>koz-P3aWWxuNlS~s^Ypw6u8^ce>&5(ir+7 zyU)_qbraVkan1{jt1*Yl-y+exrGCe^aqa_Kl030@nwlH3-e69jJ?08Zu;EO)PmX_* zzZ~^;cP6k`N!Sw`VAJ%q94S+cX_~R%PU=a*>1!w8vonfbp1!yYC8akq&1&d-v*4Yr z3{c*If+KrTfx2intw8IyPR}>QoaNo)Sq|PshcVpG_`YptAC#xF75;R4q3v4w(_o4< zi{g&cJ80sVKrPQ)xc}sxM78=v-7&S(?_Z}iR#GWzhu^&EA)#|txQDMzPjMF7{ zNtjvVSS0d5XXvu?V;#`B4{apOBfaIzrk~01Y0+>T?*qj17J^=?>oj)Sm`;h|*a-K_ zwac+1!#vFKz)Siz(exK_$1@As`2-nIqriHEgRl445_vZq%C~rGo;$iMp?B0%>bzVl zoy7T{MZCN2kYx#NoMTboEo@QbA|jHhsI+R`BKo=V!FDE5+Vf|Big+bzNiVY+E`4yt zZXw>ScCr3zkNDtxkGTIz@_+3S?|Igu&HnFZ-nyJnhSe`!Zr|%S z|GSw7PygM_t6$tWZ{{r-{b}YE{a?*I|Dx(rctDqJ4Wf%o;{zLg14bsicAjQxpmNFu zc2Ft>&oB~Rj9Eyk>ElkTLrtreF=l!af8E!K1*wxTy(Ua|^LoZ=)XpYyql$V)g)A!~ zge&1@oolcWclhN#uMc=}=gUPrb|#$0Lirpo&ckad^DhYP4<&lciTwK?Z4Tw4Y#NPD zw?7bo+TPMVyN0Dyt}!_#k4{j%q=Gl?+`zPcPmCd~CG$QiEKhWP`0g!nvT54Z{oN#q z+S)v##SlGHMbHoG&67Fd38tyT1V^LiNnlDsIbC#5P;chBI~?a}EOn7x!eOowx;jLJ5lPZRl!AE4mz_8IhvM`8zu|4vP5@(84J&41kM^UZ5Sb8m|L-9NcTqc;@W6>4NJ?WDv$ak?S2|t%p9=|P> zp~Di*SzfjiQo8f{p<{L1X~ur6IaIX>g-h&gs)}h*u;)1_Ta0DgX4{>5Fn#dsCn^4% zMx^Ilb${=2P;<^w4y4ow>m*M+7 zEtedaJ3}YI#iSA#x`+syMD08qit({_)Wjen3bHEPkcyABs{O>b=2^sU(9~$vUKi?6 zj2(U_OH}_Xm}VY6eHV-WZN14#{z@42%(@b9v-6v=#b-*NmRFP|Us=8FWr+LS9og4u zH-F+==JW(XpzJs$+{R{(TklxuS^3cGrMPGBK{)j@FWjv#F1o;hPjtoo*JXal&IWns z&;_`H{%QUhJ8GRNbhtLQmCLlLe(b<%UEHiQJ^SJi;+nIObkaw&(7DB!R1S7=c>V&& zt}6R2ERR)s&(oUYT3af}4M*&sMC{(b+A|y~uD*7)`Aw>~l{;-AT6Aj2bVTy^43QIa z7$XWjA0gWO9wC1EdxWSte{qZC6UB4=FF#Gcf)QXam&Mc?J7n6nx(3tQR=A`v-A=wH zcFTmBOlI@J1e@i`y+bPEpSCN1BBAjh66$sy3AGK+{T&Hq{}T!IGEV&5JmKTqn{>Ik zn)h$NjTe{uV|@Ax==RZcuDxYLRE!Gae(vbOnwH9CWlpUl!!6*q3n6zO&mt7{*S71)dmR! z4CA}y@8&1$*#SPJQ}15E5^vUksIqrte5=gZ&!X!m&R#z+Gp}hZ%{>pB zOYFqt7qWG{B*u+;PNeVW=M~@$@cmkO;T5J4d@V%3LPTTjQ^A&+X0PL#CVZ$$+jep7 zR3N|rKkk%JtkiN8*bzzf|9RQ?^hHiP6A4~1SNsh)P6QPD3ilQH*9Q3^cZMny*q4VJ zjtmFo$M^6y;`~QT4o;lK^x2=hB>q`UULk{PC_c=C&c%77UlL=+WLI(qWO9lp zLYQV-1&ZU2?__S=c3lYe27gIL?mp`EEIG}5Z!3h$4qLQ3tu$U7rt5J-#31;k~=z8yW3oNPC<$|?;6XzbaS$KENum@Rrq(mRpDHvS;( z`K6N|G+wB50P?nYdC^qyM_y|;4W1oyiEMs`4Nx{35@zw4v<~|Sx~bl70Tvw+bAor) zsLy~M6!!e{`VAv;&(YlGmWFW;-sa|PowCx|!VJIH&7U^492}s@T77(#F5Zw6`9QKs~;Hp25A zg$amRi1uXEN83%*#HZ5R8Ltee&Y1{6?j zdiwYX>IhZ#@??EW?$ z-1XrM6EIb~cX!#FFA*IgIs=b2Z5ZC#)AG@ol7#tXpjqX%S*E)MNhQi3ZkceEUf|6v zz=ho%R+>6ZFSTCl*##B5wl4~5tJ7^VUB{X;@u8`5#4M9#Yl!#l(LS&ZYYJE}dmWJM zWdq3`;mp4!dkj<#iBuPDj8kBwB~VjgK!!eS17zr(b22pZf0Lm@`^7Z=gAA=$O1iMv zkT&6+afyvF|Iyk%O*^)IM~g`*QL6QH`Ru9^YnP_fFCN*u2M!s|mJDAMsLU|(8G8bt z<-=%sVwCb>^v1*br0Fa*qz6*;z~kUi;=tMPvBvDNO#08AjS~gmlT?kK93qbv!G$d4 z9%-h(<$2OTo=5dx@;o)6EB&B~ug2oG8YQKxqcsL3Pujbyx?^z>pFcZK<<PeO# zn$gh^As%ACn|9IOL*$&>VjQm%+AN2M*A4gW%4mP)6D8$Fa<_E^X&E%9dyw@Aqfht! z+O+jW`_DBO!ai~Pmdy#_LeYurR+dBPM6llB&Ysm)1xFg;v0DYp;o@Q+_}*3a%pZ7R z!vggHMg%S-*{XV@F5uMUX!i$+f{xT(kJ{RpOJb>M;?iYeKWPa2x(%?1k8X~g{>qWa z3h9I19(kfxiK%bv+3eJP|BY}~mnp*!Z|uClWrE9FV)gBOGRHc8Vp-|J#*Q=_CF9*N z%COW-6RW#kEkR?D9|BqMF0CDkos%CvkpbuR?aU>8inSxW1kHq0*xMo6QVs4;ZAJ~Z z#T-8MDkS(%Is-6t#&(VyIw}{-9rGzeIrqG0iT z)&hhRk%#ouIJ++Y_K1}RgA}a-TOF6t5;?p$*GrHCDOh(7b&LHH&TSE^9P2Yg+3DWB zm}oLy)MWN8j_QrNEH~b0y?1*^+qDL)X^f<KVviE-!ceJG9x3c+h z)M#>`xRaASu2ATH5_}yYsQO!R*P7XHmO;UzIm>P8ZS?-?!n@onh(B2y>pxi=#Kz&)1u5?j~{cvEw6t6dqqY2mM2y|--8bA&>VyROO_Xf0z0yw5<- ze?OjH6Du{5gBArn|DWeQ|AHSiLp+1o;W3ht{oz!1<1q=t&`=WmVB3tuOJ{>k^-*qt zl9OlLn4NGWI}K3~x%Q+8U&6|nVmFoH_l`9x&BY|9-F3bM_S?HRBp^iQnO9s?FAcm9W}Jz^(Fo)*qJ_Jif?5 zp#e1wSZoh%I;;0XF9TQ^ICY!DwQaeq#-&QlRPDu*^39^cxsztIWelqGgMcc?2xbdb z*s)+%MF+RMIl5SnRe)FWuMT_cIf??v7z^t^x;phlXCeHB=Ne=cFpEUMjmpwL@A~R$ ze?J6WUkT9l9Xr=Kht5p&yuxbq_=`rkL*8E2W-}- z7gwQ^hG_keNtAxr{t(rVvul|7xY_}t6$NXvA2QT6Q}k|0&6o1xw3wAYb4N9$%(G0S zMIMX8j!?i$r;F%pvWWc0)PM>pXnG+<&c+1vp#3uLS^}ZOkPf7`HsdpQ@iEO(sCtE(M zw7%u8b?t)0^^XkP*+otImrq!~B2W3OCZu#W$ccYg2zQvxxny(vT#B=9RB$treUt3W z`!})7tfa?wi9M`-o*Xbrf5@LT=6^F^H}PDT4(8P2Z5Z1Yen@JUMQR8wG|Lx(wth%Z zVHu{o9%v0(#|R3hb7W1BT~|D;0U&D-!XwY5Wn6zUYz=-Llwa^SRUF%}30)!&^9AG< zp5nOLzaSJ&U`7Kn6wab0PFs(j&TVR}Tr5afVR%TG;)PFBit;1IZ#nUbJ9WZ80{6AE zk8Tt$rgmyF_!xQ49*^FS$`Y6#MsTm+gysXHL3e58FX_)d%Pmkn?6mV zMdDT$g?7{Py9?Qotw!wH*ENt3cU*lh@au*uww&={*(%U-6~hJM>yx9ilG=Kjceq$C z{16;hc1}d;nBm5-#9fn2wo!pv?4d};H_6i~<5gCw44T7U?(Ze-R*gCtmscy`trg{m zlZKX-ojl!LgIo#x&uf~gL*5c|Cwqo&*ff_0_gkFh_*ATkZOpNcL+##}v8ozk3SZZg zBM4kdc1yf2)+cLz-R)!PpBD_dWW-Ool)qob6m&Y69^@8a?tLcvU6pZtuL>)bPBIdsIwla8u7b znmgH#I|Eq?Pc)t=uRT^&z0=xOGnRjS%5ug^G6~hAr+us7d5pfS73riK7IrR$WB!*E z4tB;f>OK&^jQHm4aepOG@Opxm_vm#~!W-8sHyuOcehgr|ZeVgcb1s2$VjJ&xZE2t( z>p)LtvD1;H@8G*zXff_Bo_;)%x~)9bld|L+vbp3^?$ag_&iVA&qDvFL&H#NGP^9a_A zGsk2D2^?7PX_aq8cFr+kkhK!?Gans1M66d*K0oEZKNr(K)MGx5*C$&(%l_d>n<6eX zAFltADSWQ@w8Doh3prTxFinX2F`h`$7o~BV!Z7L(J&A6J=cFn1ytS^Er%=jF|B4oG zYOF%FoWlb@?(E0@D;4XggW{^7C>M*=mHY$dhc(FKhg+gk3%56;W&TD?N==*?U?QJE zY2UgqsfVM3Y(e!u2O*sLv1x>>26>-Zyf#Twr0@yhi+hsJ&mTWh7esU+h)-ldyrV;j zu?_1O>q7!Wlm6NpPb^Fl-|)aIE7#gB3-lcA?|XrbR^L)a_jx&b=fb)zN{Mx1pX`FcF6s|wQulApB#R@` z7ex#*eI+i^!3-&;fU^lc;^+U#jNIL04>{u+-zTTP zQKox;QOEX=;?2c@Vygd-;?0kBiiJO(SwU-U;DVeS)DKW5O`wK+QAo$%lu3(&e^VwQ zgZ`vdyba*G3XAT|uq{fst=h0v$ zjoL}5Djo&DX>244jeDg#5+yH13N#ne`&8yEsvmvOHh3TZf%2)J=p~%K4whSn%7smG z_(TYM-8dGQiqv0Fei5CjD1wk5#N^yiVLb8x1$O$b9L)2zqq)5MRlkyf!_Uo^+t+f2 zVrS(kvlo%;>*Z~^br*d)+(uV6v^C;q*Bs|psD>|T@LgXf z6zI!@NH|eO`(+z4TR0oI2wcOzBu?$+O!fDA?qVP0liN8GTpv@0dobCJ+OLmz#U?$H zH(q2ZUa2GhQq{GSN{eARSyv6T8l&cfafpLSOt8LdD|1gyG6p%tBx0Fp_r6SuE80mhlx~Cq(EX$lPicYA++og;# z=^YAHlyGST-MajC(xNR{Z!maw!uMw6hkU>PD&kH+F&2DEBsI(Zy@?aR>)o)JC`9X8 ztls^)Pf~HmsL}1`oK63juAuk%GYX)A==gypyuqmVsrZIbbK{uz&h@FO0R^b^+W@ui`~7JdL4&pK)>X@K|B>Qv_S3;?C(Q9@5KDF>xr(K1lU{M^*(ZW$99lKh536Eik zhg&vf3yD+h-Py93;4-vX(P(WM2`k%P9kAj9(P|{>kBBgYV8`Nxqri#CjkQS`aoNcIbO^z#8M)iE4IsPv)DC|G8sk4 zx0)j;^IK+DJ^0Hv2RBQS-qh5v(JUmv&@vs?I*SuIi(4kTI=3fJl&dGPOG~UZ#qVPW1iyrm(`&Vg`HIn{)tlzK&GOA)AaYE6(B5aSI?)KD>4l8jQv;d|x zSp_CF^_y{w56wZ2S?eA>LC7Q2JfNXcTdR2ifmjBz-=MI?%hn1yn8eYcPI6uwyAp=v zz!H_7hMz{C7W$sX9^}-qDhzql{5qEQYqNQ>Gqt%-52)1tFo+L(rSkL6Qh?>($ z(>^*k>N61+wGQJ0joUER@Nqbn1PpgWd3 z<|A0aZis9j+b*tdN2WT~HzA+*a*GR)R>l?3f@5FUbCt?39qq(EwiM3(fVFRH23NQ_ zQc2bG^A46chl!+z&+XhKt#fXYF8yPY9xTc`mcz9Tq1~ew0*uG@-Bc}+x~e*D)y;Pt zeH}jS9K1-aLtn4{q_kz zkfpd7O(lSyoa}G}=*gOYqbI+>JhTi8m#Zeml`Je>>64FB!>P2=ONqJTM0Xk|5_dB7f5-m;RlP5fd3m9j&_m0=f18W+x5_;)WZ<#=|}X zI=8-Rzt7xK+Sc)VHxCEY58`&{qzPR9%)c? z;KoRFJ{0AumydPnSwqyQzvlX>`xgYIv@>0lYp0DAu4VO%MbDW zdc7>N#c?tLi?#&c;2piz=lbn{vYxSo!Z&@g6xRREpOl}}2{;zSWejc@jzrYt&fwJg zcWX!G2N?S{?6(B^>=Q3DCf>#poQHA!_+IRBg{Wbj8^*@0e|Uh}`!jgP+Vvx9w!L&h z*McPu--2qC!DDY?Y@$nSvXu3ju>>`_ZLd_sf9Vj2*L^zV@H01&5+T}LCP@R>>UNMH zT6BcXU2L%=6aNbWW>j1M=ZtDDS42-Bv>R8}GslUY%L5f$>wvph);-UQR2#-E$?JFH z#O{S=MU$l2CA_lRut3e9pNBJ5Q`9ET?*Wz?&#%^H1(nU{x_{KD0TN7UT?3F zZZ4jNXY&JoeyeGh4Sg+a)}!-@O!9w?r(%AOr!-lVpPli;zkHDXIgNAdZd#2L-e&L5 zVC6H)_{x3nI^#1}JlQ4Q_fTc<0z2fp+bZ(b(=(*YJevF3#3e%s4#~m}Gr=p(A{zezbBLD!H%i(ER=EmxDgf9_kC&Wwlj#D42A^5^sR>P?ePL}_)SG*Ss@D`K zE)v9r4kuX?$0!lt!a5IwujneR>S2x3W2gIu_sOUnojiDd(n&u9zxP_Svoz&V4Kso| zU|U^zPSxjaeupKGJkbwW42rZK-7{ZJUe&+Z&7`_=Gy0l3PQ%GYB|KDFv>yV^VLdW{ zvpNUZ)fe)q4nSCb>deIjOTK_Kpi`z(b~HxQt8fPRh-?AR$yT=05>W5*J{o;;m_H^7 zL4*@mRS5Gb)k5rih-q3z=J#?5*em!8_K0F20wB+`Z)7;exU``H$!8h%-z!|22%&Zp zt^Zk&Kkk!DxL+{cO#@aR{vZHXvV_SUJuH62yfGK5v81E<3D#i^iSQdko z%=4ux7n4(G=DpmDrvamP+L>T%h@OzkFd1zN_F?cY1B@=)0=&qD{ak|H;1_Jf7B=6u z)-=H9eQh(}Wr=SbJe%s3t>VFg_?#^rjGn2kv2+f`R5&;$wVkIh1Z^6jcA<>#o&#uLy8NI_j4~UJ+H{j zc@fPSSDvm2;ic)_VZ^aB!*e<;Cc!x14IJxQh-G_~i>t9V3sn3rj?(h;eZ+@M!#%wi z&dKhzqp6vAjU?lj9(xQM(3<68YQe?f!9RWSbFJC$K6!6~){sRQAV;?tFI;kW0P{_$ z#49?FX&r;Eo>`i_ApP^HDF!){9uF=V*wVw%OC4;SZ7@-m`9LNeR;|T4bN8hN=lGd} zYE+()1Kno-JKmWP`tJr87XnGJB)3L_@#bx`3K1PLm|gw9O`R$~XPBK)0ULeGAAT0X zJ0kDli;TzLeET*rfx640Jeb4UM@q1JVq#+}-^hH%DmMQ3WRdsZUbDbIUbB^RuURbc zn)P3_i*d6!vMi3*8vH6Q#^Lz-GEvah;;A}$B%*Gm+TPwxXh?V#G;^S)=&hR^w30O} zDcyuMVqGS0nP~kUlU5Mtkp|febqG_ zj=MG#xD@n!Buo!{Mw^s@++%Zm=)I&xUO!7<IbVsF;uSZ~5E zsW8zH*#NJkotC?Q_4$X_uU{`OkIxBUi=&`kr6T!gT~I!z%dL(w*)VQSUNL0genz^S zm0K;l*0-Na-l)Vri#icIebaW;{Nw#cbttK}nzHkiM{1syNLZ&>%qZFX`qnwhOWA+% ztL=8wi0u5|woM{j`^_<4tnL5TwwViTn@O#QZpO+Y>*sr)Kg7uNSgBc!b7G|BnvBJZ zQHxvEmESsU_5Tg_O7Ca~ZRiCUbF3&CuGt!Mn%cROF|R#dRF`1VGuvPCfjW*fyCXzt z`5%90b|Rw0S~HDoabx!3k7;+0s@&@E2Thcu&o2*EvrY@r-Hu}>)WQ^_r7E&hFqe?W z%%UWg>oyXt=SF*)fcs;6^VP9tejcyFX0%#9|8i!`>f_@D_}d*o*t`UzJE{wRYva^Z z(YC{Ttlt3Vi+!BxR{8Au=NbV3^->t0dQBi z#TBRopvvbK63P+x+92}ojP3XW>l($LoZ|I6H$48+tiY-Aga5)dc?@bbtc}A-nRR

cdrn0~&@v<&sUYpemiFWR!IzqxFv)A3rR~qVurC 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�m2mdeoEC$7+ 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

gx+B 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ô^<+qRn$nVy8&KDS(PHjSf)_5${uwK_9w!UJo2!zmLO$K| z(rA&`3de2GF(75!<;lmMN;reqtJk1iz4fP#wyNReHP#xxn^Tg2Rrubnglmy-$&~6z z`pIjSAL{2ShClD>!f%c_7I4f9zd7c!%5_R`fZ4B|oTyc1CvZNO_s&!dftx8zY?o;U zA5c#*QMA~4Ey*p}gPfkmQm{glUA2Rb&|kWb`_F3G2y+5@@o+UUsz{|sKPKPOQ&MM& z4Kvzfn}u3`%XI-GuUUZ_|CCOTxxuKtFD{c!j;@Q*3oqR`b|kgVN7;z8Q8re>d+P4` z-5xN?{u+3Nj53ZCVGA1;dt5pw_cw~+2nWSRvG-9nLB7uq(%dI&r+B7z6=i(Cc01yY zU619Unbv*24(K|_v(jSI-XiX!xrg-|yqP>NU#hSUZ5=ml4~q@C>TJw|9w(hrll7*_ ze9tlm&pWg}z*?|Bw-(3@7IFH%UxWe_!>bI-dA52V?ID_|S#ujc;Dr}ANLK{=7Tr6q zq^O4<6!ZabxKgmZ3o*Hq&F0szwgAT1IdDY@Mj1hk49!oG@g7R{!i)D~m zz9s5TY-k%DI;MU(_8QFmA(|r9Wev5iT%;-(GNYjUoO|mQLEu1C{f*WbYWnEju1d;z zqYdFHM$XBVy2(64_Xl|sY*y{hvC!anZ+gD9jbyS?y3uK>3orK=*L2INDE9#3J`}>V$CbfFdld@qP3A3>R#L|2Iy}k9mbCdUc89m+ z7Yhe0mnzSr+IK&IsJ6=QsP=_#mXH5-G1PosV2i=`{cTXR8Io0d3sj5!f`t5nP;4?! zf_(6@2BoQez3|L@mRldQoz1IlTKld*wV_+@x7g}`8#jlBEl`|5s1m{-!0?UO)i3HFiyZlO-w0j z{1HZG`9!~icH$saJSEN2F#oM5%owiBF=P1XWQwLgM($|Lo{<67y4pGCqu+)OJ@Ais zx)Lt9L*#Fx%6kwfP~>_1K;q`-{B%OG*%y-m%p=k)u$qph!R<r+a{_ux9J?k~U|!TZOLcDqz7 zO)nBeIpTuaKa)$|E3Mv4)7w|18MEm8JNi+9m^0xR8bn#z=rqH^7y7tr=+CgY2=}8* zJwkXy|Gs$i^k~Z0`Dlq@=bG?-yt_ZWX4~xunrYtQiWcwlQb3Kmzh$iClrET?PIuE& z)>G;8vb;Z!ASdYRV`LXS%7(vb&lstJU1mg!4KzIOkBlL6m*ax(nT(-SYU1FH_@|6v zoe^#$$}k9u_rUH*?$V<(7{h&|@>&V2YVIH?ps*kbjJUyFbM+Akf6paxeSH99D21F7 zuOAhL@W6G>V2m*=fH53vtxN?~K1AQVHE!}VirkBa?^?G@01xXggUv}3ZgVH96N3FSfF?_>Tmw)`wtgVd8Kfm696Y~J~dTt5U z9ur()gs3ZA9wv97ETG|z5;5xTDtZ#{(E_t&f%0DTCVgKazn3@LtMd3MMyHpN1;y}n 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

lViBLMUhFw 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

R>x8-Uiw8?)-yhp6W{KE?VT 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 P;}~S-gHo{k_2vHoi>x7& literal 0 HcmV?d00001 diff --git a/src/.clang-format b/src/.clang-format new file mode 100644 index 0000000..468ceea --- /dev/null +++ b/src/.clang-format @@ -0,0 +1 @@ +BasedOnStyle: LLVM \ No newline at end of file diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt new file mode 100644 index 0000000..29177bf --- /dev/null +++ b/src/lib/CMakeLists.txt @@ -0,0 +1,4 @@ +# Axel '0vercl0k' Souchet - April 18 2020 +add_library(kdmp-parser INTERFACE) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/kdmp-parser-version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/kdmp-parser-version.h) +target_include_directories(kdmp-parser INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/lib/filemap.h b/src/lib/filemap.h new file mode 100644 index 0000000..bbdbe9e --- /dev/null +++ b/src/lib/filemap.h @@ -0,0 +1,283 @@ +// Axel '0vercl0k' Souchet - April 28 2020 +#include "platform.h" +#include +#include + +#if defined(LINUX) +#include +#include +#include +#include +#include +#include +#endif + +namespace kdmpparser { +namespace Page { + +// +// Page size. +// + +constexpr uint64_t Size = 0x1000; + +// +// Page align an address. +// + +constexpr uint64_t Align(const uint64_t Address) { return Address & ~0xfff; } + +// +// Extract the page offset off an address. +// + +constexpr uint64_t Offset(const uint64_t Address) { return Address & 0xfff; } +} // namespace Page + +#if defined(WINDOWS) +class FileMap_t { + // + // Handle to the input file. + // + + HANDLE File_ = nullptr; + + // + // Handle to the file mapping. + // + + HANDLE FileMap_ = nullptr; + + // + // Base address of the file view. + // + + PVOID ViewBase_ = nullptr; + + // + // File size + // + + uint64_t FileSize_ = 0; + +public: + ~FileMap_t() { + // + // Unmap the view of the mapping.. + // + + if (ViewBase_ != nullptr) { + UnmapViewOfFile(ViewBase_); + ViewBase_ = nullptr; + } + + // + // Close the handle to the file mapping.. + // + + if (FileMap_ != nullptr) { + CloseHandle(FileMap_); + FileMap_ = nullptr; + } + + // + // And finally the file itself. + // + + if (File_ != nullptr) { + CloseHandle(File_); + File_ = nullptr; + } + } + + FileMap_t() = default; + FileMap_t(const FileMap_t &) = delete; + FileMap_t &operator=(const FileMap_t &) = delete; + + constexpr void *ViewBase() const { return ViewBase_; } + + bool MapFile(const char *PathFile) { + bool Success = true; + HANDLE File = nullptr; + HANDLE FileMap = nullptr; + PVOID ViewBase = nullptr; + LARGE_INTEGER FileSize = {0}; + + // + // Open the dump file in read-only. + // + + File = CreateFileA(PathFile, GENERIC_READ, FILE_SHARE_READ, nullptr, + OPEN_EXISTING, 0, nullptr); + + if (File == nullptr) { + + // + // If we fail to open the file, let the user know. + // + + const DWORD GLE = GetLastError(); + printf("CreateFile failed with GLE=%lu.\n", GLE); + + if (GLE == ERROR_FILE_NOT_FOUND) { + printf(" The file %s was not found.\n", PathFile); + } + + Success = false; + goto clean; + } + + // + // Create the ro file mapping. + // + + FileMap = CreateFileMappingA(File, nullptr, PAGE_READONLY, 0, 0, nullptr); + + if (FileMap == nullptr) { + + // + // If we fail to create a file mapping, let + // the user know. + // + + const DWORD GLE = GetLastError(); + printf("CreateFileMapping failed with GLE=%lu.\n", GLE); + Success = false; + goto clean; + } + + // + // Map a view of the file in memory. + // + + ViewBase = MapViewOfFile(FileMap, FILE_MAP_READ, 0, 0, 0); + + if (ViewBase == nullptr) { + + // + // If we fail to map the view, let the user know. + // + + const DWORD GLE = GetLastError(); + printf("MapViewOfFile failed with GLE=%lu.\n", GLE); + Success = false; + goto clean; + } + + // + // Get the file size. + // + + if (!GetFileSizeEx(File, &FileSize)) { + const DWORD GLE = GetLastError(); + printf("GetFileSizeEx failed with GLE=%lu.\n", GLE); + Success = false; + goto clean; + } + + FileSize_ = Page::Align(FileSize.QuadPart) + Page::Size; + + // + // Everything went well, so grab a copy of the handles for + // our class and null-out the temporary variables. + // + + File_ = File; + File = nullptr; + + FileMap_ = FileMap; + FileMap = nullptr; + + ViewBase_ = ViewBase; + ViewBase = nullptr; + + clean: + + // + // Close the handle to the file mapping.. + // + + if (FileMap != nullptr) { + CloseHandle(FileMap); + FileMap = nullptr; + } + + // + // And finally the file itself. + // + + if (File != nullptr) { + CloseHandle(File); + File = nullptr; + } + + return Success; + } + + bool InBounds(const void *Ptr, const size_t Size) const { + const uint8_t *ViewEnd = (uint8_t *)ViewBase_ + FileSize_; + const uint8_t *PtrEnd = (uint8_t *)Ptr + Size; + return PtrEnd > Ptr && ViewEnd > ViewBase_ && Ptr >= ViewBase_ && + PtrEnd < ViewEnd; + } +}; + +#elif defined(LINUX) + +class FileMap_t { + void *ViewBase_ = nullptr; + off_t ViewSize_ = 0; + int Fd_ = -1; + +public: + ~FileMap_t() { + if (ViewBase_) { + munmap(ViewBase_, ViewSize_); + ViewBase_ = nullptr; + ViewSize_ = 0; + } + + if (Fd_ != -1) { + close(Fd_); + Fd_ = -1; + } + } + + FileMap_t() = default; + FileMap_t(const FileMap_t &) = delete; + FileMap_t &operator=(const FileMap_t &) = delete; + + constexpr void *ViewBase() const { return ViewBase_; } + + bool MapFile(const char *PathFile) { + Fd_ = open(PathFile, O_RDONLY); + if (Fd_ < 0) { + perror("Could not open dump file"); + return false; + } + + struct stat Stat; + if (fstat(Fd_, &Stat) < 0) { + perror("Could not stat dump file"); + return false; + } + + ViewSize_ = Page::Align(Stat.st_size) + Page::Size; + ViewBase_ = mmap(nullptr, ViewSize_, PROT_READ, MAP_SHARED, Fd_, 0); + if (ViewBase_ == MAP_FAILED) { + perror("Could not mmap"); + return false; + } + + return true; + } + + bool InBounds(const void *Ptr, const size_t Size) const { + const uint8_t *ViewEnd = (uint8_t *)ViewBase_ + ViewSize_; + const uint8_t *PtrEnd = (uint8_t *)Ptr + Size; + return PtrEnd > Ptr && ViewEnd > ViewBase_ && Ptr >= ViewBase_ && + PtrEnd < ViewEnd; + } +}; +#endif +} // namespace kdmpparser diff --git a/src/lib/kdmp-parser-structs.h b/src/lib/kdmp-parser-structs.h new file mode 100644 index 0000000..455db31 --- /dev/null +++ b/src/lib/kdmp-parser-structs.h @@ -0,0 +1,929 @@ +// Axel '0vercl0k' Souchet - February 15 2019 +#pragma once + +#include "platform.h" +#include +#include +#include +#include +#include +#include +#include +#include + +namespace kdmpparser { + +// +// We need a way to represent 128-bits integers so here goes. +// + +struct uint128_t { + uint64_t Low; + uint64_t High; +}; + +static_assert(sizeof(uint128_t) == 16, "uint128_t's size looks wrong."); + +enum class DumpType_t : uint32_t { + // Old dump types from dbgeng.dll + FullDump = 0x1, + KernelDump = 0x2, + BMPDump = 0x5, + + // New stuff + MiniDump = 0x4, // Produced by `.dump /m` + KernelMemoryDump = 0x8, // Produced by `.dump /k` + KernelAndUserMemoryDump = 0x9, // Produced by `.dump /ka` + CompleteMemoryDump = 0xa, // Produced by `.dump /f` +}; + +// +// Save off the alignement setting and disable +// alignement. +// + +#pragma pack(push) +#pragma pack(1) + +// +// Field is a pointer inside the this object and this function +// returns the offset of Field in the object via pointer arithmetic. +// + +constexpr uint64_t OffsetFromThis(const uintptr_t This, const uintptr_t Field) { + return uint64_t(Field) - uint64_t(This); +} + +static void DisplayHeader(const uint32_t Prefix, const char *FieldName, + const void *This, const void *Field) { + printf("%*s+0x%04" PRIx64 ": %-25s", Prefix, "", + OffsetFromThis(uintptr_t(This), uintptr_t(Field)), FieldName); +} + +// +// This is the macro we use to get the field name via the preprocessor. +// + +#define DISPLAY_FIELD(FieldName) \ + DisplayField(Prefix + 2, #FieldName, this, &FieldName) + +#define DISPLAY_FIELD_OFFSET(FieldName) \ + DisplayHeader(Prefix + 2, #FieldName, this, &FieldName); \ + printf("\n") + +// +// This takes care of displaying basic types. +// + +constexpr std::string_view DumpTypeToString(const DumpType_t Type) { + switch (Type) { + // Old dump types from dbgeng.dll + case DumpType_t::FullDump: + return "FullDump"; + case DumpType_t::KernelDump: + return "KernelDump"; + case DumpType_t::BMPDump: + return "BMPDump"; + + // New stuff + case DumpType_t::MiniDump: + return "MiniDump"; + case DumpType_t::KernelMemoryDump: + return "KernelMemoryDump"; + case DumpType_t::KernelAndUserMemoryDump: + return "KernelAndUserMemoryDump"; + case DumpType_t::CompleteMemoryDump: + return "CompleteMemoryDump"; + } + + return "Unknown"; +} + +template +static void DisplayField(const uint32_t Prefix, const char *FieldName, + const void *This, const Field_t *Field) { + DisplayHeader(Prefix, FieldName, This, Field); + if constexpr (std::is_same::value) { + printf(": 0x%02x.\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%04x.\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%08x.\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%016" PRIx64 ".\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%016" PRIx64 ".\n", *Field); + } else if constexpr (std::is_same::value) { + printf(": 0x%016" PRIx64 "%016" PRIx64 ".\n", Field->High, Field->Low); + } else if constexpr (std::is_same::value) { + printf(": %s.\n", DumpTypeToString(*Field).data()); + } else { + + // + // We use std::is_same<> here because otherwise the static_assert fires + // immediately on g++/clang++ without even instantiating FieldType_t. + // So we kind of trick the compiler into doing what we want. + // + + static_assert(std::is_same::value, + "DisplayField: Unknown type trying to be displayed."); + } +} + +// +// Display the header of a dump section. +// + +#define DISPLAY_HEADER(Name) printf("%*s" Name "\n", Prefix, "") + +// +// All credit goes to the rekall project for the RE of the file format. +// https://github.com/google/rekall/blob/master/rekall-core/rekall/plugins/overlays/windows/crashdump.py +// + +struct PHYSMEM_RUN { + uint64_t BasePage; + uint64_t PageCount; + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("PHYSMEM_RUN"); + DISPLAY_FIELD(BasePage); + DISPLAY_FIELD(PageCount); + } +}; + +static_assert(sizeof(PHYSMEM_RUN) == 0x10, "PHYSMEM_RUN's size looks wrong."); + +struct PHYSMEM_DESC { + uint32_t NumberOfRuns; + uint32_t Padding0; + uint64_t NumberOfPages; + PHYSMEM_RUN Run[1]; + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("PHYSMEM_DESC"); + DISPLAY_FIELD(NumberOfRuns); + DISPLAY_FIELD(NumberOfPages); + DISPLAY_FIELD_OFFSET(Run); + if (!LooksGood()) { + return; + } + + for (uint32_t RunIdx = 0; RunIdx < NumberOfRuns; RunIdx++) { + Run[RunIdx].Show(Prefix + 2); + } + } + + constexpr bool LooksGood() const { + if (NumberOfRuns == 0x45474150 || NumberOfPages == 0x4547415045474150ULL) { + return false; + } + + return true; + } +}; + +static_assert(sizeof(PHYSMEM_DESC) == 0x20, + "PHYSICAL_MEMORY_DESCRIPTOR's size looks wrong."); + +struct BMP_HEADER64 { + static constexpr uint32_t ExpectedSignature = 0x50'4D'44'53; // 'PMDS' + static constexpr uint32_t ExpectedSignature2 = 0x50'4D'44'46; // 'PMDF' + static constexpr uint32_t ExpectedValidDump = 0x50'4D'55'44; // 'PMUD' + + // + // Should be FDMP. + // + + uint32_t Signature; + + // + // Should be DUMP. + // + + uint32_t ValidDump; + + // + // According to rekall there's a gap there: + // 'ValidDump': [0x4, ['String', dict( + // length=4, + // term=None, + // )]], + // # The offset of the first page in the file. + // 'FirstPage': [0x20, ['unsigned long long']], + // + + std::array Padding0; + + // + // The offset of the first page in the file. + // + + uint64_t FirstPage; + + // + // Total number of pages present in the bitmap. + // + uint64_t TotalPresentPages; + + // + // Total number of pages in image.This dictates the total size of the + // bitmap.This is not the same as the TotalPresentPages which is only + // the sum of the bits set to 1. + // + + uint64_t Pages; + + std::array Bitmap; + + bool LooksGood() const { + + // + // Integrity check the headers. + // + + if (Signature != ExpectedSignature && Signature != ExpectedSignature2) { + printf("BMP_HEADER64::Signature looks wrong.\n"); + return false; + } + + if (ValidDump != ExpectedValidDump) { + printf("BMP_HEADER64::ValidDump looks wrong.\n"); + return false; + } + + return true; + } + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("BMP_HEADER64"); + DISPLAY_FIELD(Signature); + DISPLAY_FIELD(ValidDump); + DISPLAY_FIELD(FirstPage); + DISPLAY_FIELD(TotalPresentPages); + DISPLAY_FIELD(Pages); + DISPLAY_FIELD_OFFSET(Bitmap); + } +}; + +static_assert(offsetof(BMP_HEADER64, FirstPage) == 0x20, + "First page offset looks wrong."); + +struct RDMP_HEADER64 { + static constexpr uint32_t ExpectedMarker = 0x40; + static constexpr uint32_t ExpectedSignature = 0x50'4D'44'52; // 'PMDR' + static constexpr uint32_t ExpectedValidDump = 0x50'4D'55'44; // 'PMUD' + + uint32_t Marker; + uint32_t Signature; + uint32_t ValidDump; + uint32_t __Unused; + uint64_t MetadataSize; + uint64_t FirstPageOffset; + + bool LooksGood() const { + if (Marker != ExpectedMarker) { + return false; + } + + if (Signature != RDMP_HEADER64::ExpectedSignature) { + return false; + } + + if (ValidDump != RDMP_HEADER64::ExpectedValidDump) { + return false; + } + + if (MetadataSize - 0x20 != + FirstPageOffset - + 0x20'40) { // sizeof(HEADER64) + sizeof(RDMP_HEADERS64) + return false; + } + + return true; + } + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("RDMP_HEADER64"); + DISPLAY_FIELD(Signature); + DISPLAY_FIELD(ValidDump); + DISPLAY_FIELD(FirstPageOffset); + DISPLAY_FIELD(MetadataSize); + } +}; + +static_assert(sizeof(RDMP_HEADER64) == 0x20, "Invalid size for RDMP_HEADER64"); + +struct KERNEL_RDMP_HEADER64 { + RDMP_HEADER64 Hdr; + uint64_t __Unknown1; + uint64_t __Unknown2; + std::array Bitmap; +}; + +static_assert(sizeof(KERNEL_RDMP_HEADER64) == 0x30 + 1, + "Invalid size for KERNEL_RDMP_HEADER64"); + +static_assert(offsetof(KERNEL_RDMP_HEADER64, Bitmap) == 0x30, + "Invalid offset for KERNEL_RDMP_HEADER64"); + +struct FULL_RDMP_HEADER64 { + RDMP_HEADER64 Hdr; + uint32_t NumberOfRanges; + uint16_t __Unknown1; + uint16_t __Unknown2; + uint64_t TotalNumberOfPages; + std::array Bitmap; +}; + +static_assert(sizeof(FULL_RDMP_HEADER64) == 0x30 + 1, + "Invalid size for FULL_RDMP_HEADER64"); + +static_assert(offsetof(FULL_RDMP_HEADER64, Bitmap) == 0x30, + "Invalid offset for FULL_RDMP_HEADER64"); + +struct CONTEXT { + + // + // Note that the below definition has been stolen directly from the windows + // headers. Why you might ask? Well the structure comes with DECLSPEC_ALIGN + // that was preventing me from layoung the Context structure at the offset I + // wanted. Maybe there's a cleaner way to do this, if so let me know :) + // + + // + // Register parameter home addresses. + // + // N.B. These fields are for convience - they could be used to extend the + // context record in the future. + // + + uint64_t P1Home; + uint64_t P2Home; + uint64_t P3Home; + uint64_t P4Home; + uint64_t P5Home; + uint64_t P6Home; + + // + // Control flags. + // + + uint32_t ContextFlags; + uint32_t MxCsr; + + // + // Segment Registers and processor flags. + // + + uint16_t SegCs; + uint16_t SegDs; + uint16_t SegEs; + uint16_t SegFs; + uint16_t SegGs; + uint16_t SegSs; + uint32_t EFlags; + + // + // Debug registers + // + + uint64_t Dr0; + uint64_t Dr1; + uint64_t Dr2; + uint64_t Dr3; + uint64_t Dr6; + uint64_t Dr7; + + // + // Integer registers. + // + + uint64_t Rax; + uint64_t Rcx; + uint64_t Rdx; + uint64_t Rbx; + uint64_t Rsp; + uint64_t Rbp; + uint64_t Rsi; + uint64_t Rdi; + uint64_t R8; + uint64_t R9; + uint64_t R10; + uint64_t R11; + uint64_t R12; + uint64_t R13; + uint64_t R14; + uint64_t R15; + + // + // Program counter. + // + + uint64_t Rip; + + // + // Floating point state. + // + + uint16_t ControlWord; + uint16_t StatusWord; + uint8_t TagWord; + uint8_t Reserved1; + uint16_t ErrorOpcode; + uint32_t ErrorOffset; + uint16_t ErrorSelector; + uint16_t Reserved2; + uint32_t DataOffset; + uint16_t DataSelector; + uint16_t Reserved3; + uint32_t MxCsr2; + uint32_t MxCsr_Mask; + std::array FloatRegisters; + uint128_t Xmm0; + uint128_t Xmm1; + uint128_t Xmm2; + uint128_t Xmm3; + uint128_t Xmm4; + uint128_t Xmm5; + uint128_t Xmm6; + uint128_t Xmm7; + uint128_t Xmm8; + uint128_t Xmm9; + uint128_t Xmm10; + uint128_t Xmm11; + uint128_t Xmm12; + uint128_t Xmm13; + uint128_t Xmm14; + uint128_t Xmm15; + + // + // Vector registers. + // + + std::array VectorRegister; + uint64_t VectorControl; + + // + // Special debug control registers. + // + + uint64_t DebugControl; + uint64_t LastBranchToRip; + uint64_t LastBranchFromRip; + uint64_t LastExceptionToRip; + uint64_t LastExceptionFromRip; + + bool LooksGood() const { + + // + // Integrity check the CONTEXT record. + // + + if (MxCsr != MxCsr2) { + printf("CONTEXT::MxCsr doesn't match MxCsr2.\n"); + return false; + } + + return true; + } + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("CONTEXT"); + DISPLAY_FIELD(P1Home); + DISPLAY_FIELD(P2Home); + DISPLAY_FIELD(P3Home); + DISPLAY_FIELD(P4Home); + DISPLAY_FIELD(P5Home); + DISPLAY_FIELD(P6Home); + + // + // Control flags. + // + + DISPLAY_FIELD(ContextFlags); + DISPLAY_FIELD(MxCsr); + + // + // Segment Registers and processor flags. + // + + DISPLAY_FIELD(SegCs); + DISPLAY_FIELD(SegDs); + DISPLAY_FIELD(SegEs); + DISPLAY_FIELD(SegFs); + DISPLAY_FIELD(SegGs); + DISPLAY_FIELD(SegSs); + DISPLAY_FIELD(EFlags); + + // + // Debug registers. + // XXX: Figure out what they don't look right. + // + + DISPLAY_FIELD(Dr0); + DISPLAY_FIELD(Dr1); + DISPLAY_FIELD(Dr2); + DISPLAY_FIELD(Dr3); + DISPLAY_FIELD(Dr6); + DISPLAY_FIELD(Dr7); + + // + // Integer registers. + // + + DISPLAY_FIELD(Rax); + DISPLAY_FIELD(Rcx); + DISPLAY_FIELD(Rdx); + DISPLAY_FIELD(Rbx); + DISPLAY_FIELD(Rsp); + DISPLAY_FIELD(Rbp); + DISPLAY_FIELD(Rsi); + DISPLAY_FIELD(Rdi); + DISPLAY_FIELD(R8); + DISPLAY_FIELD(R9); + DISPLAY_FIELD(R10); + DISPLAY_FIELD(R11); + DISPLAY_FIELD(R12); + DISPLAY_FIELD(R13); + DISPLAY_FIELD(R14); + DISPLAY_FIELD(R15); + + // + // Program counter. + // + + DISPLAY_FIELD(Rip); + + // + // Floating point state. + // + + DISPLAY_FIELD(ControlWord); + DISPLAY_FIELD(StatusWord); + DISPLAY_FIELD(TagWord); + DISPLAY_FIELD(ErrorOpcode); + DISPLAY_FIELD(ErrorOffset); + DISPLAY_FIELD(ErrorSelector); + DISPLAY_FIELD(DataOffset); + DISPLAY_FIELD(DataSelector); + DISPLAY_FIELD(MxCsr2); + DISPLAY_FIELD(MxCsr_Mask); + DISPLAY_FIELD(FloatRegisters[0]); + DISPLAY_FIELD(FloatRegisters[1]); + DISPLAY_FIELD(FloatRegisters[2]); + DISPLAY_FIELD(FloatRegisters[3]); + DISPLAY_FIELD(FloatRegisters[4]); + DISPLAY_FIELD(FloatRegisters[5]); + DISPLAY_FIELD(FloatRegisters[6]); + DISPLAY_FIELD(FloatRegisters[7]); + DISPLAY_FIELD(Xmm0); + DISPLAY_FIELD(Xmm1); + DISPLAY_FIELD(Xmm2); + DISPLAY_FIELD(Xmm3); + DISPLAY_FIELD(Xmm4); + DISPLAY_FIELD(Xmm5); + DISPLAY_FIELD(Xmm6); + DISPLAY_FIELD(Xmm7); + DISPLAY_FIELD(Xmm8); + DISPLAY_FIELD(Xmm9); + DISPLAY_FIELD(Xmm10); + DISPLAY_FIELD(Xmm11); + DISPLAY_FIELD(Xmm12); + DISPLAY_FIELD(Xmm13); + DISPLAY_FIELD(Xmm14); + DISPLAY_FIELD(Xmm15); + + // + // Vector registers. + // + + // M128A VectorRegister[26]; + DISPLAY_FIELD(VectorControl); + + // + // Special debug control registers. + // + + DISPLAY_FIELD(DebugControl); + DISPLAY_FIELD(LastBranchToRip); + DISPLAY_FIELD(LastBranchFromRip); + DISPLAY_FIELD(LastExceptionToRip); + DISPLAY_FIELD(LastExceptionFromRip); + } +}; + +static_assert(offsetof(CONTEXT, Xmm0) == 0x1a0, + "The offset of Xmm0 looks wrong."); + +struct EXCEPTION_RECORD64 { + uint32_t ExceptionCode; + uint32_t ExceptionFlags; + uint64_t ExceptionRecord; + uint64_t ExceptionAddress; + uint32_t NumberParameters; + uint32_t __unusedAlignment; + std::array ExceptionInformation; + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("KDMP_PARSER_EXCEPTION_RECORD64"); + DISPLAY_FIELD(ExceptionCode); + DISPLAY_FIELD(ExceptionFlags); + DISPLAY_FIELD(ExceptionRecord); + DISPLAY_FIELD(ExceptionAddress); + DISPLAY_FIELD(NumberParameters); + DISPLAY_FIELD(ExceptionInformation[0]); + DISPLAY_FIELD(ExceptionInformation[1]); + DISPLAY_FIELD(ExceptionInformation[2]); + DISPLAY_FIELD(ExceptionInformation[3]); + DISPLAY_FIELD(ExceptionInformation[4]); + DISPLAY_FIELD(ExceptionInformation[5]); + DISPLAY_FIELD(ExceptionInformation[6]); + DISPLAY_FIELD(ExceptionInformation[7]); + DISPLAY_FIELD(ExceptionInformation[8]); + DISPLAY_FIELD(ExceptionInformation[9]); + DISPLAY_FIELD(ExceptionInformation[10]); + DISPLAY_FIELD(ExceptionInformation[11]); + DISPLAY_FIELD(ExceptionInformation[12]); + DISPLAY_FIELD(ExceptionInformation[13]); + DISPLAY_FIELD(ExceptionInformation[14]); + } +}; + +static_assert(sizeof(EXCEPTION_RECORD64) == 0x98, + "KDMP_PARSER_EXCEPTION_RECORD64's size looks wrong."); + +union DUMP_FILE_ATTRIBUTES { + struct DUMP_FILE_ATTRIBUTES_0 { + uint32_t _bitfield; + } Anonymous; + uint32_t Attributes; +}; + +// +// Adjusted C struct for `DUMP_HEADERS64` from MS Rust docs. Padding +// adjustment added from reversing `nt!IoFillDumpHeader`. +// +// @link +// https://microsoft.github.io/windows-docs-rs/doc/windows/Win32/System/Diagnostics/Debug/struct.DUMP_HEADER64.html#structfield.DumpType +// + +struct HEADER64 { + static constexpr uint32_t ExpectedSignature = 0x45474150; // 'EGAP' + static constexpr uint32_t ExpectedValidDump = 0x34365544; // '46UD' + + /* 0x0000 */ uint32_t Signature; + /* 0x0004 */ uint32_t ValidDump; + /* 0x0008 */ uint32_t MajorVersion; + /* 0x000c */ uint32_t MinorVersion; + /* 0x0010 */ uint64_t DirectoryTableBase; + /* 0x0018 */ uint64_t PfnDatabase; + /* 0x0020 */ uint64_t PsLoadedModuleList; + /* 0x0028 */ uint64_t PsActiveProcessHead; + /* 0x0030 */ uint32_t MachineImageType; + /* 0x0034 */ uint32_t NumberProcessors; + /* 0x0038 */ uint32_t BugCheckCode; + /* 0x003c */ uint32_t __Padding0; + /* 0x0040 */ std::array BugCheckCodeParameters; + /* 0x0060 */ std::array VersionUser; + /* 0x0080 */ uint64_t KdDebuggerDataBlock; + /* 0x0088 */ union DUMP_HEADER64_0 { + PHYSMEM_DESC PhysicalMemoryBlock; + std::array PhysicalMemoryBlockBuffer; + } u1; + /* 0x0344 */ uint32_t __Padding1; + /* 0x0348 */ union CONTEXT_RECORD64_0 { + CONTEXT ContextRecord; + std::array ContextRecordBuffer; + } u2; + /* 0x0f00 */ EXCEPTION_RECORD64 Exception; + /* 0x0f98 */ DumpType_t DumpType; + /* 0x0f9c */ uint32_t __Padding2; + /* 0x0fa0 */ int64_t RequiredDumpSpace; + /* 0x0fa8 */ int64_t SystemTime; + /* 0x0fb0 */ std::array Comment; + /* 0x1030 */ int64_t SystemUpTime; + /* 0x1038 */ uint32_t MiniDumpFields; + /* 0x103c */ uint32_t SecondaryDataState; + /* 0x1040 */ uint32_t ProductType; + /* 0x1044 */ uint32_t SuiteMask; + /* 0x1048 */ uint32_t WriterStatus; + /* 0x104c */ uint8_t Unused1; + /* 0x104d */ uint8_t KdSecondaryVersion; + /* 0x104e */ std::array Unused; + /* 0x1050 */ DUMP_FILE_ATTRIBUTES Attributes; + /* 0x1054 */ uint32_t BootId; + /* 0x1058 */ std::array _reserved0; + + union { + BMP_HEADER64 BmpHeader; + KERNEL_RDMP_HEADER64 RdmpHeader; + FULL_RDMP_HEADER64 FullRdmpHeader; + } u3; + + bool LooksGood() const { + + // + // Integrity check the headers. + // + + if (Signature != ExpectedSignature) { + printf("HEADER64::Signature looks wrong.\n"); + return false; + } + + if (ValidDump != ExpectedValidDump) { + printf("HEADER64::ValidDump looks wrong.\n"); + return false; + } + + // + // Make sure it's a dump type we know how to handle. + // + + switch (DumpType) { + case DumpType_t::FullDump: { + if (!u1.PhysicalMemoryBlock.LooksGood()) { + printf("The PhysicalMemoryBlockBuffer looks wrong.\n"); + return false; + } + break; + } + + case DumpType_t::BMPDump: { + if (!u3.BmpHeader.LooksGood()) { + printf("The BmpHeader looks wrong.\n"); + return false; + } + break; + } + + case DumpType_t::KernelAndUserMemoryDump: + case DumpType_t::KernelMemoryDump: { + if (!u3.RdmpHeader.Hdr.LooksGood()) { + printf("The RdmpHeader looks wrong.\n"); + return false; + } + break; + } + + case DumpType_t::CompleteMemoryDump: { + if (!u3.FullRdmpHeader.Hdr.LooksGood()) { + printf("The RdmpHeader looks wrong.\n"); + return false; + } + break; + } + + case DumpType_t::MiniDump: { + printf("Unsupported type %s (%#x).\n", DumpTypeToString(DumpType).data(), + uint32_t(DumpType)); + return false; + } + + default: { + printf("Unknown Type %#x.\n", uint32_t(DumpType)); + return false; + } + } + + // + // Integrity check the CONTEXT record. + // + + if (!u2.ContextRecord.LooksGood()) { + return false; + } + + return true; + } + + void Show(const uint32_t Prefix = 0) const { + DISPLAY_HEADER("HEADER64"); + DISPLAY_FIELD(Signature); + DISPLAY_FIELD(ValidDump); + DISPLAY_FIELD(MajorVersion); + DISPLAY_FIELD(MinorVersion); + DISPLAY_FIELD(DirectoryTableBase); + DISPLAY_FIELD(PfnDatabase); + DISPLAY_FIELD(PsLoadedModuleList); + DISPLAY_FIELD(PsActiveProcessHead); + DISPLAY_FIELD(MachineImageType); + DISPLAY_FIELD(NumberProcessors); + DISPLAY_FIELD(BugCheckCode); + DISPLAY_FIELD_OFFSET(BugCheckCodeParameters); + DISPLAY_FIELD(KdDebuggerDataBlock); + DISPLAY_FIELD_OFFSET(u1.PhysicalMemoryBlockBuffer); + u1.PhysicalMemoryBlock.Show(Prefix + 2); + DISPLAY_FIELD_OFFSET(u2.ContextRecordBuffer); + u2.ContextRecord.Show(Prefix + 2); + DISPLAY_FIELD_OFFSET(Exception); + Exception.Show(Prefix + 2); + DISPLAY_FIELD(DumpType); + DISPLAY_FIELD(RequiredDumpSpace); + DISPLAY_FIELD(SystemTime); + DISPLAY_FIELD_OFFSET(Comment); + DISPLAY_FIELD(SystemUpTime); + DISPLAY_FIELD(MiniDumpFields); + DISPLAY_FIELD(SecondaryDataState); + DISPLAY_FIELD(ProductType); + DISPLAY_FIELD(SuiteMask); + DISPLAY_FIELD(WriterStatus); + DISPLAY_FIELD(KdSecondaryVersion); + if (DumpType == DumpType_t::BMPDump) { + DISPLAY_FIELD_OFFSET(u3.BmpHeader); + u3.BmpHeader.Show(); + } + } +}; + +// +// Restore the default alignement setting. +// + +#pragma pack(pop) + +// +// Prevent the user to play around with those. +// + +#undef DISPLAY_HEADER +#undef DISPLAY_FIELD + +// +// Those asserts are the results of a lot of frustration getting the right +// layout, so hopefully they prevent any regressions regarding the layout. +// + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Winvalid-offsetof" +#endif //__GNUC__ +static_assert(offsetof(HEADER64, Signature) == 0x00, + "The offset of KdDebuggerDataBlock looks wrong."); + +static_assert(offsetof(HEADER64, BugCheckCodeParameters) == 0x40, + "The offset of KdDebuggerDataBlock looks wrong."); + +static_assert(offsetof(HEADER64, KdDebuggerDataBlock) == 0x80, + "The offset of KdDebuggerDataBlock looks wrong."); + +static_assert(offsetof(HEADER64, u2.ContextRecord) == 0x348, + "The offset of ContextRecord looks wrong."); + +static_assert(offsetof(HEADER64, Exception) == 0xf00, + "The offset of Exception looks wrong."); + +static_assert(offsetof(HEADER64, Comment) == 0xfb0, + "The offset of Comment looks wrong."); + +static_assert(offsetof(HEADER64, u3.BmpHeader) == 0x2000, + "The offset of BmpHeaders looks wrong."); +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif //__GNUC__ + +// +// Structure for parsing a PTE. +// + +union MMPTE_HARDWARE { + struct { + uint64_t Present : 1; + uint64_t Write : 1; + uint64_t UserAccessible : 1; + uint64_t WriteThrough : 1; + uint64_t CacheDisable : 1; + uint64_t Accessed : 1; + uint64_t Dirty : 1; + uint64_t LargePage : 1; + uint64_t Available : 4; + uint64_t PageFrameNumber : 36; + uint64_t ReservedForHardware : 4; + uint64_t ReservedForSoftware : 11; + uint64_t NoExecute : 1; + } u; + uint64_t AsUINT64; + constexpr MMPTE_HARDWARE(const uint64_t Value) : AsUINT64(Value) {} +}; + +// +// Structure to parse a virtual address. +// + +union VIRTUAL_ADDRESS { + struct { + uint64_t Offset : 12; + uint64_t PtIndex : 9; + uint64_t PdIndex : 9; + uint64_t PdPtIndex : 9; + uint64_t Pml4Index : 9; + uint64_t Reserved : 16; + } u; + uint64_t AsUINT64; + constexpr VIRTUAL_ADDRESS(const uint64_t Value) : AsUINT64(Value) {} +}; + +static_assert(sizeof(MMPTE_HARDWARE) == 8); +static_assert(sizeof(VIRTUAL_ADDRESS) == 8); +} // namespace kdmpparser \ No newline at end of file diff --git a/src/lib/kdmp-parser-version.h.in b/src/lib/kdmp-parser-version.h.in new file mode 100644 index 0000000..dbe320b --- /dev/null +++ b/src/lib/kdmp-parser-version.h.in @@ -0,0 +1,11 @@ +#pragma once + +// clang-format off +#define KDMPPARSER_PROJECT_NAME "@PROJECT_NAME@" +#define KDMPPARSER_PROJECT_AUTHOR "@PROJECT_AUTHOR@" +#define KDMPPARSER_PROJECT_LICENSE "@PROJECT_LICENSE@" +#define KDMPPARSER_VERSION_MAJOR @PROJECT_VERSION_MAJOR@ +#define KDMPPARSER_VERSION_MINOR @PROJECT_VERSION_MINOR@ +#define KDMPPARSER_VERSION_PATCH @PROJECT_VERSION_PATCH@ +#define KDMPPARSER_VERSION_RELEASE "@PROJECT_VERSION_MAJOR@.@PROJECT_VERSION_MINOR@.@PROJECT_VERSION_PATCH@" +// clang-format on diff --git a/src/lib/kdmp-parser.h b/src/lib/kdmp-parser.h new file mode 100644 index 0000000..7bb21cd --- /dev/null +++ b/src/lib/kdmp-parser.h @@ -0,0 +1,693 @@ +// Axel '0vercl0k' Souchet - February 15 2019 +#pragma once + +#include "filemap.h" +#include "kdmp-parser-structs.h" +#include "kdmp-parser-version.h" + +#include +#include +#include +#include +#include +#include +#include + +namespace kdmpparser { + +using Page_t = std::array; +using Physmem_t = std::unordered_map; + +struct BugCheckParameters_t { + uint32_t BugCheckCode; + std::array BugCheckCodeParameter; +}; + +class KernelDumpParser { + + // + // The mapped file. + // + + FileMap_t FileMap_; + + // + // Header of the crash-dump. + // + + HEADER64 *DmpHdr_ = nullptr; + + // + // File path to the crash-dump. + // + + std::filesystem::path PathFile_; + + // + // Mapping between physical addresses / page data. + // + + Physmem_t Physmem_; + +public: + // + // Actually do the parsing of the file. + // + + bool Parse(const char *PathFile) { + + // + // Copy the path file. + // + + PathFile_ = std::filesystem::path(PathFile); + if (!std::filesystem::exists(PathFile_)) { + printf("Invalid file: %s.\n", (char *)PathFile_.string().c_str()); + return false; + } + + // + // Map a view of the file. + // + + if (!MapFile()) { + printf("MapFile failed.\n"); + return false; + } + + // + // Parse the DMP_HEADER. + // + + if (!ParseDmpHeader()) { + printf("ParseDmpHeader failed.\n"); + return false; + } + + // + // Retrieve the physical memory according to the type of dump we have. + // + + switch (DmpHdr_->DumpType) { + case DumpType_t::FullDump: { + if (!BuildPhysmemFullDump()) { + printf("BuildPhysmemFullDump failed.\n"); + return false; + } + break; + } + case DumpType_t::BMPDump: { + if (!BuildPhysmemBMPDump()) { + printf("BuildPhysmemBMPDump failed.\n"); + return false; + } + break; + } + + case DumpType_t::CompleteMemoryDump: + case DumpType_t::KernelAndUserMemoryDump: + case DumpType_t::KernelMemoryDump: { + if (!BuildPhysicalMemoryFromDump(DmpHdr_->DumpType)) { + printf("BuildPhysicalMemoryFromDump failed.\n"); + return false; + } + break; + } + + default: { + printf("Invalid type\n"); + return false; + } + } + + return true; + } + + // + // Give the Context record to the user. + // + + constexpr const CONTEXT &GetContext() const { + + // + // Give the user a view of the context record. + // + + return DmpHdr_->u2.ContextRecord; + } + + // + // Give the bugcheck parameters to the user. + // + + constexpr BugCheckParameters_t GetBugCheckParameters() const { + + // + // Give the user a view of the bugcheck parameters. + // + + return {DmpHdr_->BugCheckCode, + {DmpHdr_->BugCheckCodeParameters[0], + DmpHdr_->BugCheckCodeParameters[1], + DmpHdr_->BugCheckCodeParameters[2], + DmpHdr_->BugCheckCodeParameters[3]}}; + } + + // + // Get the path of dump. + // + + const std::filesystem::path &GetDumpPath() const { return PathFile_; } + + // + // Get the type of dump. + // + + constexpr DumpType_t GetDumpType() const { return DmpHdr_->DumpType; } + + // + // Get the physmem. + // + + constexpr const Physmem_t &GetPhysmem() const { return Physmem_; } + + // + // Show the exception record. + // + + void ShowExceptionRecord(const uint32_t Prefix) const { + DmpHdr_->Exception.Show(Prefix); + } + + // + // Show the context record. + // + + void ShowContextRecord(const uint32_t Prefix) const { + const CONTEXT &Context = GetContext(); + printf("%*srax=%016" PRIx64 " rbx=%016" PRIx64 " rcx=%016" PRIx64 "\n", + Prefix, "", Context.Rax, Context.Rbx, Context.Rcx); + printf("%*srdx=%016" PRIx64 " rsi=%016" PRIx64 " rdi=%016" PRIx64 "\n", + Prefix, "", Context.Rdx, Context.Rsi, Context.Rdi); + printf("%*srip=%016" PRIx64 " rsp=%016" PRIx64 " rbp=%016" PRIx64 "\n", + Prefix, "", Context.Rip, Context.Rsp, Context.Rbp); + printf("%*s r8=%016" PRIx64 " r9=%016" PRIx64 " r10=%016" PRIx64 "\n", + Prefix, "", Context.R8, Context.R9, Context.R10); + printf("%*sr11=%016" PRIx64 " r12=%016" PRIx64 " r13=%016" PRIx64 "\n", + Prefix, "", Context.R11, Context.R12, Context.R13); + printf("%*sr14=%016" PRIx64 " r15=%016" PRIx64 "\n", Prefix, "", + Context.R14, Context.R15); + printf("%*scs=%04x ss=%04x ds=%04x es=%04x fs=%04x gs=%04x " + " efl=%08x\n", + Prefix, "", Context.SegCs, Context.SegSs, Context.SegDs, + Context.SegEs, Context.SegFs, Context.SegGs, Context.EFlags); + printf("%*sfpcw=%04x fpsw=%04x fptw=%04x\n", Prefix, "", + Context.ControlWord, Context.StatusWord, 1); + printf("%*s st0=%016" PRIx64 "%016" PRIx64 " st1=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.FloatRegisters[0].High, + Context.FloatRegisters[0].Low, Context.FloatRegisters[1].High, + Context.FloatRegisters[1].Low); + printf("%*s st2=%016" PRIx64 "%016" PRIx64 " st3=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.FloatRegisters[2].High, + Context.FloatRegisters[2].Low, Context.FloatRegisters[3].High, + Context.FloatRegisters[3].Low); + printf("%*s st4=%016" PRIx64 "%016" PRIx64 " st5=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.FloatRegisters[4].High, + Context.FloatRegisters[4].Low, Context.FloatRegisters[5].High, + Context.FloatRegisters[5].Low); + printf("%*s st6=%016" PRIx64 "%016" PRIx64 " st7=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.FloatRegisters[6].High, + Context.FloatRegisters[6].Low, Context.FloatRegisters[7].High, + Context.FloatRegisters[7].Low); + printf("%*s xmm0=%016" PRIx64 "%016" PRIx64 " xmm1=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm0.High, Context.Xmm0.Low, Context.Xmm1.High, + Context.Xmm1.Low); + printf("%*s xmm2=%016" PRIx64 "%016" PRIx64 " xmm3=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm2.High, Context.Xmm2.Low, Context.Xmm3.High, + Context.Xmm3.Low); + printf("%*s xmm4=%016" PRIx64 "%016" PRIx64 " xmm5=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm4.High, Context.Xmm4.Low, Context.Xmm5.High, + Context.Xmm5.Low); + printf("%*s xmm6=%016" PRIx64 "%016" PRIx64 " xmm7=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm6.High, Context.Xmm6.Low, Context.Xmm7.High, + Context.Xmm7.Low); + printf("%*s xmm8=%016" PRIx64 "%016" PRIx64 " xmm9=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm8.High, Context.Xmm8.Low, Context.Xmm9.High, + Context.Xmm9.Low); + printf("%*sxmm10=%016" PRIx64 "%016" PRIx64 " xmm11=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm10.High, Context.Xmm10.Low, + Context.Xmm11.High, Context.Xmm11.Low); + printf("%*sxmm12=%016" PRIx64 "%016" PRIx64 " xmm13=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm12.High, Context.Xmm12.Low, + Context.Xmm13.High, Context.Xmm13.Low); + printf("%*sxmm14=%016" PRIx64 "%016" PRIx64 " xmm15=%016" PRIx64 + "%016" PRIx64 "\n", + Prefix, "", Context.Xmm14.High, Context.Xmm14.Low, + Context.Xmm15.High, Context.Xmm15.Low); + } + + // + // Show all the structures of the dump. + // + + void ShowAllStructures(const uint32_t Prefix) const { DmpHdr_->Show(Prefix); } + + // + // Get the content of a physical address. + // + + const uint8_t *GetPhysicalPage(const uint64_t PhysicalAddress) const { + + // + // Attempt to find the physical address. + // + + const auto &Pair = Physmem_.find(PhysicalAddress); + + // + // If it doesn't exist then return nullptr. + // + + if (Pair == Physmem_.end()) { + return nullptr; + } + + // + // Otherwise we return a pointer to the content of the page. + // + + return Pair->second; + } + + // + // Get the directory table base. + // + + constexpr uint64_t GetDirectoryTableBase() const { + return DmpHdr_->DirectoryTableBase; + } + + // + // Translate a virtual address to physical address using a directory table + // base. + // + + std::optional + VirtTranslate(const uint64_t VirtualAddress, + const uint64_t DirectoryTableBase = 0) const { + + // + // If DirectoryTableBase is null ; use the one from the dump header and + // clear PCID bits (bits 11:0). + // + + uint64_t LocalDTB = Page::Align(GetDirectoryTableBase()); + + if (DirectoryTableBase) { + LocalDTB = Page::Align(DirectoryTableBase); + } + + // + // Stole code from @yrp604 and @0vercl0k. + // + + const VIRTUAL_ADDRESS GuestAddress(VirtualAddress); + const MMPTE_HARDWARE Pml4(LocalDTB); + const uint64_t Pml4Base = Pml4.u.PageFrameNumber * Page::Size; + const uint64_t Pml4eGpa = Pml4Base + GuestAddress.u.Pml4Index * 8; + const MMPTE_HARDWARE Pml4e(PhyRead8(Pml4eGpa)); + if (!Pml4e.u.Present) { + printf("Invalid page map level 4, address translation failed!\n"); + return {}; + } + + const uint64_t PdptBase = Pml4e.u.PageFrameNumber * Page::Size; + const uint64_t PdpteGpa = PdptBase + GuestAddress.u.PdPtIndex * 8; + const MMPTE_HARDWARE Pdpte(PhyRead8(PdpteGpa)); + if (!Pdpte.u.Present) { + printf("Invalid page directory pointer table, address translation " + "failed!\n"); + return {}; + } + + // + // huge pages: + // 7 (PS) - Page size; must be 1 (otherwise, this entry references a page + // directory; see Table 4-1 + // + + const uint64_t PdBase = Pdpte.u.PageFrameNumber * Page::Size; + if (Pdpte.u.LargePage) { + return PdBase + (VirtualAddress & 0x3fff'ffff); + } + + const uint64_t PdeGpa = PdBase + GuestAddress.u.PdIndex * 8; + const MMPTE_HARDWARE Pde(PhyRead8(PdeGpa)); + if (!Pde.u.Present) { + printf("Invalid page directory entry, address translation failed!\n"); + return {}; + } + + // + // large pages: + // 7 (PS) - Page size; must be 1 (otherwise, this entry references a page + // table; see Table 4-18 + // + + const uint64_t PtBase = Pde.u.PageFrameNumber * Page::Size; + if (Pde.u.LargePage) { + return PtBase + (VirtualAddress & 0x1f'ffff); + } + + const uint64_t PteGpa = PtBase + GuestAddress.u.PtIndex * 8; + const MMPTE_HARDWARE Pte(PhyRead8(PteGpa)); + if (!Pte.u.Present) { + printf("Invalid page table entry, address translation failed!\n"); + return {}; + } + + const uint64_t PageBase = Pte.u.PageFrameNumber * Page::Size; + return PageBase + GuestAddress.u.Offset; + } + + // + // Get the content of a virtual address. + // + + const uint8_t *GetVirtualPage(const uint64_t VirtualAddress, + const uint64_t DirectoryTableBase = 0) const { + + // + // First remove offset and translate the virtual address. + // + + const auto &PhysicalAddress = + VirtTranslate(Page::Align(VirtualAddress), DirectoryTableBase); + + if (!PhysicalAddress) { + return nullptr; + } + + // + // Then get the physical page. + // + + return GetPhysicalPage(*PhysicalAddress); + } + + const HEADER64 &GetDumpHeader() const { + if (!DmpHdr_) { + std::abort(); + } + + return *DmpHdr_; + } + +private: + // + // Utility function to read an uint64_t from a physical address. + // + + uint64_t PhyRead8(const uint64_t PhysicalAddress) const { + + // + // Get the physical page and read from the offset. + // + + const uint8_t *PhysicalPage = GetPhysicalPage(Page::Align(PhysicalAddress)); + + if (!PhysicalPage) { + printf("Internal page table parsing failed!\n"); + return 0; + } + + const uint64_t *Ptr = + (uint64_t *)(PhysicalPage + Page::Offset(PhysicalAddress)); + return *Ptr; + } + + // + // Build a map of physical addresses / page data pointers for full dump. + // + + bool BuildPhysmemFullDump() { + + // + // Walk through the runs. + // + + uint8_t *RunBase = (uint8_t *)&DmpHdr_->u3.BmpHeader; + const uint32_t NumberOfRuns = DmpHdr_->u1.PhysicalMemoryBlock.NumberOfRuns; + + // + // Back at it, this time building the index! + // + + for (uint32_t RunIdx = 0; RunIdx < NumberOfRuns; RunIdx++) { + + // + // Grab the current run as well as its base page and page count. + // + + const PHYSMEM_RUN *Run = DmpHdr_->u1.PhysicalMemoryBlock.Run + RunIdx; + + const uint64_t BasePage = Run->BasePage; + const uint64_t PageCount = Run->PageCount; + + // + // Walk the pages from the run. + // + + for (uint64_t PageIdx = 0; PageIdx < PageCount; PageIdx++) { + + // + // Compute the current PFN as well as the actual physical address of + // the page. + // + + const uint64_t Pfn = BasePage + PageIdx; + const uint64_t Pa = Pfn * Page::Size; + + // + // Now one thing to understand is that the Runs structure allows to + // skip for holes in memory. Instead of, padding them with empty + // spaces to conserve a 1:1 mapping between physical address and file + // offset, the Run gives you the base Pfn. This means that we don't + // have a 1:1 mapping between file offset and physical addresses so we + // need to keep track of where the Run starts in memory and then we + // can simply access our pages one after the other. + // + // If this is not clear enough, here is a small example: + // Run[0] + // BasePage = 1337, PageCount = 2 + // Run[1] + // BasePage = 1400, PageCount = 1 + // + // In the above we clearly see that there is a hole between the two + // runs; the dump file has 2+1 memory pages. Their Pfns are: 1337+0, + // 1337+1, 1400+0. + // + // Now if we want to get the file offset of those pages we start at + // Run0: + // Run0 starts at file offset 0x2000 so Page0 is at file offset + // 0x2000, Page1 is at file offset 0x3000. Run1 starts at file + // offset 0x2000+(2*0x1000) so Page3 is at file offset + // 0x2000+(2*0x1000)+0x1000. + // + // That is the reason why the computation below is RunBase + (PageIdx + // * 0x1000) instead of RunBase + (Pfn * 0x1000). + + const uint8_t *PageBase = RunBase + (PageIdx * Page::Size); + + // + // Map the Pfn to a page. + // + + Physmem_.try_emplace(Pa, PageBase); + } + + // + // Move the run base past all the pages in the current run. + // + + RunBase += PageCount * Page::Size; + } + + return true; + } + + // + // Build a map of physical addresses / page data pointers for BMP dump. + // + + bool BuildPhysmemBMPDump() { + const uint8_t *Page = (uint8_t *)DmpHdr_ + DmpHdr_->u3.BmpHeader.FirstPage; + const uint64_t BitmapSize = DmpHdr_->u3.BmpHeader.Pages / 8; + const uint8_t *Bitmap = DmpHdr_->u3.BmpHeader.Bitmap.data(); + + // + // Walk the bitmap byte per byte. + // + + for (uint64_t BitmapIdx = 0; BitmapIdx < BitmapSize; BitmapIdx++) { + + // + // Now walk the bits of the current byte. + // + + const uint8_t Byte = Bitmap[BitmapIdx]; + for (uint8_t BitIdx = 0; BitIdx < 8; BitIdx++) { + + // + // If the bit is not set we just skip to the next. + // + + const bool BitSet = ((Byte >> BitIdx) & 1) == 1; + if (!BitSet) { + continue; + } + + // + // If the bit is one we add the page to the physmem. + // + + const uint64_t Pfn = (BitmapIdx * 8) + BitIdx; + const uint64_t Pa = Pfn * Page::Size; + Physmem_.try_emplace(Pa, Page); + Page += Page::Size; + } + } + + return true; + } + + // + // Populate the physical memory map for the 'new' dump types. + // `Type` must be either `KernelMemoryDump`, `KernelAndUserMemoryDump`, + // or `CompleteMemoryDump`. + // + // Returns true on success, false otherwise. + // + + bool BuildPhysicalMemoryFromDump(const DumpType_t Type) { + uint64_t FirstPageOffset = 0; + uint8_t *Page = nullptr; + uint64_t MetadataSize = 0; + uint8_t *Bitmap = nullptr; + + switch (Type) { + case DumpType_t::KernelMemoryDump: + case DumpType_t::KernelAndUserMemoryDump: { + FirstPageOffset = DmpHdr_->u3.RdmpHeader.Hdr.FirstPageOffset; + Page = (uint8_t *)DmpHdr_ + FirstPageOffset; + MetadataSize = DmpHdr_->u3.RdmpHeader.Hdr.MetadataSize; + Bitmap = DmpHdr_->u3.RdmpHeader.Bitmap.data(); + break; + } + + case DumpType_t::CompleteMemoryDump: { + FirstPageOffset = DmpHdr_->u3.RdmpHeader.Hdr.FirstPageOffset; + Page = (uint8_t *)DmpHdr_ + FirstPageOffset; + MetadataSize = DmpHdr_->u3.FullRdmpHeader.Hdr.MetadataSize; + Bitmap = DmpHdr_->u3.FullRdmpHeader.Bitmap.data(); + break; + } + + default: { + return false; + } + } + + if (!FirstPageOffset || !Page || !MetadataSize || !Bitmap) { + return false; + } + + auto IsPageInBounds = [&](const uint8_t *Ptr) { + return FileMap_.InBounds(Ptr, Page::Size); + }; + + if (!IsPageInBounds(Page)) { + return false; + } + + struct PfnRange { + uint64_t PageFileNumber; + uint64_t NumberOfPages; + }; + + for (uint64_t Offset = 0; Offset < MetadataSize; + Offset += sizeof(PfnRange)) { + const PfnRange &Entry = (PfnRange &)Bitmap[Offset]; + if (!FileMap_.InBounds(&Entry, sizeof(Entry))) { + return false; + } + + const uint64_t Pfn = Entry.PageFileNumber; + if (!Pfn) { + break; + } + + for (uint64_t PageIdx = 0; PageIdx < Entry.NumberOfPages; PageIdx++) { + if (!IsPageInBounds(Page)) { + return false; + } + + const uint64_t Pa = (Pfn * Page::Size) + (PageIdx * Page::Size); + Physmem_.try_emplace(Pa, Page); + Page += Page::Size; + } + } + + return true; + } + + // + // Parse the DMP_HEADER. + // + + bool ParseDmpHeader() { + + // + // The base of the view points on the HEADER64. + // + + DmpHdr_ = (HEADER64 *)FileMap_.ViewBase(); + + // + // Now let's make sure the structures look right. + // + + if (!DmpHdr_->LooksGood()) { + printf("The header looks wrong.\n"); + return false; + } + + return true; + } + + // + // Map a view of the file in memory. + // + + bool MapFile() { return FileMap_.MapFile(PathFile_.string().c_str()); } +}; + +struct Version_t { + static inline const uint16_t Major = KDMPPARSER_VERSION_MAJOR; + static inline const uint16_t Minor = KDMPPARSER_VERSION_MINOR; + static inline const uint16_t Patch = KDMPPARSER_VERSION_PATCH; + static inline const std::string Release = KDMPPARSER_VERSION_RELEASE; +}; + +} // namespace kdmpparser diff --git a/src/lib/platform.h b/src/lib/platform.h new file mode 100644 index 0000000..67595c7 --- /dev/null +++ b/src/lib/platform.h @@ -0,0 +1,54 @@ +// Axel '0vercl0k' Souchet - April 18 2020 +#pragma once + +#if defined(__i386__) || defined(_M_IX86) +#define ARCH_X86 +#elif defined(__amd64__) || defined(_M_X64) +#define ARCH_X64 +#else +#error Architecture not supported. +#endif + +#if defined(WIN32) || defined(WIN64) || defined(_WIN32) || defined(_WIN64) +#define WINDOWS +#define SYSTEM_PLATFORM "Windows" + +#include +#if defined ARCH_X86 +#define WINDOWS_X86 +#elif defined ARCH_X64 +#define WINDOWS_X64 +#endif + +#elif defined(linux) || defined(__linux) || defined(__FreeBSD__) || \ + defined(__FreeBSD_kernel__) || defined(__MACH__) +#define LINUX + +#if defined(linux) || defined(__linux) +#define SYSTEM_PLATFORM "Linux" + +#if defined ARCH_X86 +#define LINUX_X86 +#elif defined ARCH_X64 +#define LINUX_X64 +#endif + +#elif defined(__APPLE__) + +#define SYSTEM_PLATFORM "OSX" +#if defined ARCH_X86 +#define OSX_X86 +#elif defined ARCH_X64 +#define OSX_X64 +#endif + +#else +#error An error occured +#endif + +#define EXIT_FAILURE 1 +#define EXIT_SUCCESS 0 + +#else +#error Platform not supported. +#endif diff --git a/src/parser/CMakeLists.txt b/src/parser/CMakeLists.txt new file mode 100644 index 0000000..fd062bd --- /dev/null +++ b/src/parser/CMakeLists.txt @@ -0,0 +1,15 @@ +# Axel '0vercl0k' Souchet - April 18 2020 +link_libraries(kdmp-parser) +add_executable(parser parser.cc) +target_compile_options( + parser + PUBLIC + $<$:/W4$/WX> + $<$:-Wall$-Wextra$-pedantic$-Werror> + $<$:-Wall$-Wextra$-pedantic$-Werror> +) +install(TARGETS parser DESTINATION .) + +if(MSVC) + install(FILES $ DESTINATION . OPTIONAL) +endif(MSVC) diff --git a/src/parser/parser.cc b/src/parser/parser.cc new file mode 100644 index 0000000..88ebd71 --- /dev/null +++ b/src/parser/parser.cc @@ -0,0 +1,367 @@ +// Axel '0vercl0k' Souchet - February 15 2019 +#include "kdmp-parser.h" + +#include +#include +#include +#include +#include + +// +// Delimiter. +// + +#define DELIMITER \ + "----------------------------------------------------------------------" \ + "----------" + +// +// The options available for the parser. +// + +struct Options_t { + + // + // This is enabled if -h is used. + // + + bool ShowHelp = false; + + // + // This is enabled if -c is used. + // + + bool ShowContextRecord = false; + + // + // This is enabled if -a is used. + // + + bool ShowAllStructures = false; + + // + // This is enabled if -e is used. + // + + bool ShowExceptionRecord = false; + + // + // This is enable if -p is used. + // + + bool ShowPhysicalMem = false; + + // + // This is on if the user specified a physical address. + // + + bool HasPhysicalAddress = false; + + // + // If an optional physical address has been passed to -p then this is the + // physical address. + + uint64_t PhysicalAddress = 0; + + // + // The path to the dump file. + // + + std::string_view DumpPath; +}; + +// +// Display usage +// + +void Help() { + printf("parser.exe [-p []] [-c] [-e] [-h] \n"); + printf("\n"); + printf("Examples:\n"); + printf(" Show every structures of the dump:\n"); + printf(" parser.exe -a full.dmp\n"); + printf("\n"); + printf(" Show the context record:\n"); + printf(" parser.exe -c full.dmp\n"); + printf("\n"); + printf(" Show the exception record:\n"); + printf(" parser.exe -e full.dmp\n"); + printf("\n"); + printf(" Show all the physical memory (first 16 bytes of every " + "pages):\n"); + printf(" parser.exe -p full.dmp\n"); + printf("\n"); + printf(" Show the context record as well as the page at physical " + "address 0x1000:\n"); + printf(" parser.exe -c -p 0x1000 full.dmp\n"); +} + +// +// Copied from https://github.com/pvachon/tsl/blob/master/tsl/hexdump.c. +// Phil is the man. +// + +void Hexdump(const uint64_t Address, const void *Buffer, size_t Len) { + const uint8_t *ptr = (uint8_t *)Buffer; + + for (size_t i = 0; i < Len; i += 16) { + printf("%08" PRIx64 ": ", Address + i); + for (int j = 0; j < 16; j++) { + if (i + j < Len) { + printf("%02x ", ptr[i + j]); + } else { + printf(" "); + } + } + printf(" |"); + for (int j = 0; j < 16; j++) { + if (i + j < Len) { + printf("%c", isprint(ptr[i + j]) ? (char)ptr[i + j] : '.'); + } else { + printf(" "); + } + } + printf("|\n"); + } +} + +// +// Let's do some work! +// + +int main(int argc, const char *argv[]) { + + // + // This holds the options passed to the program. + // + + Options_t Opts; + + // + // Parse the arguments passed to the program. + // + + for (int ArgIdx = 1; ArgIdx < argc; ArgIdx++) { + const std::string_view Arg(argv[ArgIdx]); + const int IsLastArg = (ArgIdx + 1) >= argc; + + if (Arg == "-c") { + + // + // Show the context record. + // + + Opts.ShowContextRecord = 1; + } else if (Arg == "-p") { + + // + // Show the physical memory. + // + + Opts.ShowPhysicalMem = 1; + + // + // If the next argument is not the last one, we assume that it is followed + // by a physical address. + // + + const int NextArgIdx = ArgIdx + 1; + const bool IsNextArgLast = (NextArgIdx + 1) >= argc; + + if (!IsNextArgLast) { + + // + // In which case we convert it to an actual integer. + // + + Opts.HasPhysicalAddress = true; + Opts.PhysicalAddress = strtoull(argv[NextArgIdx], nullptr, 0); + + // + // Skip the next argument. + // + + ArgIdx++; + } + } else if (Arg == "-e") { + + // + // Show the exception record. + // + + Opts.ShowExceptionRecord = 1; + } else if (Arg == "-a") { + + // + // Show all the structures. + // + + Opts.ShowAllStructures = true; + } else if (Arg == "-h") { + + // + // Show the help. + // + + Opts.ShowHelp = true; + } else if (IsLastArg) { + + // + // If this is the last argument then this must be the dump path. + // + + Opts.DumpPath = Arg; + } else { + + // + // Otherwise it seems that the user passed something wrong? + // + + printf("The argument %s is not recognized.\n\n", Arg.data()); + Help(); + return EXIT_FAILURE; + } + } + + // + // Show the help. + // + + if (Opts.ShowHelp) { + Help(); + return EXIT_SUCCESS; + } + + // + // The only thing we actually need is a file path. So let's make sure we + // have one. + // + + if (Opts.DumpPath.empty()) { + printf("You didn't provide the path to the dump file.\n\n"); + Help(); + return EXIT_FAILURE; + } + + // + // If we only have a path, at least force to dump the context + // structure. + // + + if (!Opts.ShowContextRecord && !Opts.ShowPhysicalMem && + !Opts.ShowAllStructures && !Opts.ShowExceptionRecord) { + printf("Forcing to show the context record as no option as been " + "passed.\n\n"); + Opts.ShowContextRecord = 1; + } + + // + // Create the parser instance. + // + + kdmpparser::KernelDumpParser Dmp; + + // + // Parse the dump file. + // + + if (!Dmp.Parse(Opts.DumpPath.data())) { + printf("Parsing of the dump failed, exiting.\n"); + return EXIT_FAILURE; + } + + // + // If the user wants all the structures, then show them. + // + + if (Opts.ShowAllStructures) { + printf(DELIMITER "\nDump structures:\n"); + Dmp.ShowAllStructures(2); + } + + // + // If the user wants the context, then show it. + // + + if (Opts.ShowContextRecord) { + printf(DELIMITER "\nContext Record:\n"); + Dmp.ShowContextRecord(2); + } + + // + // If the user wants the exception record, then show it. + // + + if (Opts.ShowExceptionRecord) { + printf(DELIMITER "\nException Record:\n"); + Dmp.ShowExceptionRecord(2); + } + + // + // If the user wants some physical memory, then show it. + // + + if (Opts.ShowPhysicalMem) { + printf(DELIMITER "\nPhysical memory:\n"); + + // + // If the user specified a physical address this is the one we + // will dump. + // + + if (Opts.PhysicalAddress) { + + // + // Retrieve the page for the specified PhysicalAddress. + // If it doesn't exist then display a message, else dump it on stdout. + // + + const uint8_t *Page = Dmp.GetPhysicalPage(Opts.PhysicalAddress); + if (Page == nullptr) { + printf("0x%" PRIx64 " is not a valid physical address.\n", + Opts.PhysicalAddress); + } else { + Hexdump(Opts.PhysicalAddress, Page, 0x1000); + } + } else { + + // + // If the user didn't specify a physical address then dump the first + // 16 bytes of every physical pages. + // + // Note that as the physmem is unordered, so we order the addresses here + // so that it is nicer for the user as they probably don't expect unorder. + // + + const auto &Physmem = Dmp.GetPhysmem(); + std::vector OrderedPhysicalAddresses; + OrderedPhysicalAddresses.reserve(Physmem.size()); + + // + // Stuff the physical addresses in a vector. + // + + for (const auto &[PhysicalAddress, _] : Dmp.GetPhysmem()) { + OrderedPhysicalAddresses.emplace_back(PhysicalAddress); + } + + // + // Sort them. + // + + std::sort(OrderedPhysicalAddresses.begin(), + OrderedPhysicalAddresses.end()); + + // + // And now we can iterate through them and get the page content. + // + + for (const auto PhysicalAddress : OrderedPhysicalAddresses) { + const uint8_t *Page = Dmp.GetPhysicalPage(PhysicalAddress); + Hexdump(PhysicalAddress, Page, 16); + } + } + } + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt new file mode 100644 index 0000000..8a98fd5 --- /dev/null +++ b/src/python/CMakeLists.txt @@ -0,0 +1,63 @@ +# +# This file is part of kdmp-parser project +# +# Released under MIT License, by 0vercl0k - 2023 +# +# With contributions from: +# * masthoon - (github.com/masthoon) +# * hugsy - (github.com/hugsy) +# +cmake_minimum_required(VERSION 3.20) + +project( + kdmp-parser-python + DESCRIPTION "A Cross-Platform C++ parser library for Windows kernel minidumps." + HOMEPAGE_URL https://github.com/0vercl0k/kdmp-parser + VERSION 0.7.1 +) +set(PROJECT_AUTHOR 0vercl0k) +set(PROJECT_LICENSE MIT) +set(CMAKE_CXX_STANDARD 20) + +find_package(Python 3 + REQUIRED COMPONENTS Interpreter Development.Module + OPTIONAL_COMPONENTS Development.SABIModule +) + +if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) + set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") +endif() + +set(KDMPPARSER_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/../..") +set(KDMPPARSER_INCLUDE_DIR "${KDMPPARSER_ROOT}/src/lib") +configure_file(${KDMPPARSER_INCLUDE_DIR}/kdmp-parser-version.h.in ${KDMPPARSER_INCLUDE_DIR}/kdmp-parser-version.h) + +execute_process( + COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir + OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE NB_DIR) +list(APPEND CMAKE_PREFIX_PATH "${NB_DIR}") + +find_package(nanobind CONFIG REQUIRED) + +nanobind_add_module(_kdmp_parser NB_STATIC src/kdmp_parser.cc) + +if(BUILD_PYTHON_PACKAGE) + # + # Those directives are only used when creating a standalone `kdmp_parser` python package + # Usual case is when build with `pip install src/python` + # + target_include_directories(_kdmp_parser PRIVATE ${KDMPPARSER_INCLUDE_DIR}) + install(DIRECTORY kdmp_parser DESTINATION .) + install(TARGETS _kdmp_parser LIBRARY DESTINATION kdmp_parser) +else() + # + # This is the general case, when built from the root cmakefile + # + target_include_directories(_kdmp_parser PRIVATE $) + install(TARGETS _kdmp_parser DESTINATION bindings/python) + + if(MSVC) + install(FILES $ DESTINATION . OPTIONAL) + endif(MSVC) +endif() diff --git a/src/python/README.md b/src/python/README.md new file mode 100644 index 0000000..c9207ac --- /dev/null +++ b/src/python/README.md @@ -0,0 +1,86 @@ +# Python building for `kdmp-parser` + +![Build status](https://github.com/0vercl0k/kdmp-parser/workflows/Builds/badge.svg) + +This C++ library parses Windows kernel [full](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/complete-memory-dump) dumps (`.dump /f` in WinDbg), [BMP](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/active-memory-dump) dumps (`.dump /ka` in WinDbg) as well as more recent dump types that were introduced in ~2022. + +![parser](https://github.com/0vercl0k/kdmp-parser/raw/master/pics/parser.jpg) + +The library supports loading 64-bit dumps and provides read access to things like: + +- The context record, +- The exception record, +- The bugcheck parameters, +- The physical memory. + +The Python bindings were authored by [hugsy](https://github.com/hugsy) & [masthoon](https://github.com/masthoon). Refer to the [project page on Github](https://github.com/0vercl0k/kdmp-parser) for documentation, issues and pull requests. + +## Installing from PyPI + +The easiest way is simply to: + +```bash +pip install kdmp_parser +``` + +## Installing using PIP + +Run the following after installing [CMake](https://cmake.org/) and [Python](https://python.org/) 3.8+ / `pip`: +``` +cd src/python +pip install requirements.txt +pip install . +``` + +To create a wheel pacakge: +``` +cd src/python +pip wheel . +``` + +## Usage + +### Get context, print the program counter + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +assert dmp.type == kdmp_parser.DumpType.FullDump +print(f"Dump RIP={dmp.context.Rip:#x}") +``` + +### Read a virtual memory page at address pointed by RIP + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +dmp.read_virtual_page(dmp.context.Rip) +``` + +### Explore the physical memory + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +pml4 = dmp.directory_table_base +print(f"{pml4=:#x}") +dmp.read_physical_page(pml4) +``` + +### Translate a virtual address into a physical address + +```python +import kdmp_parser +dmp = kdmp_parser.KernelDumpParser("full.dmp") +VA = dmp.context.Rip +PA = dmp.translate_virtual(VA) +print(f"{VA=:#x} -> {PA=:#x}") +``` + +# Authors + +* Axel '[@0vercl0k](https://twitter.com/0vercl0k)' Souchet + +# Contributors + +[ ![contributors-img](https://contrib.rocks/image?repo=0vercl0k/kdmp-parser) ](https://github.com/0vercl0k/kdmp-parser/graphs/contributors) diff --git a/src/python/kdmp_parser/__init__.py b/src/python/kdmp_parser/__init__.py new file mode 100644 index 0000000..59dd359 --- /dev/null +++ b/src/python/kdmp_parser/__init__.py @@ -0,0 +1,116 @@ +""" +Root module of `kdmp_parser` Python package. +""" + +import enum +import pathlib +from typing import Optional, Union + +# +# `_kdmp_parser` is the C++ module. It contains the port of all C++ classes/enums/etc. in their +# original form. The Python package part provides more Pythonic APIs. +# +from ._kdmp_parser import ( # type: ignore + version, + DumpType_t as _DumpType_t, + KernelDumpParser as _KernelDumpParser, + CONTEXT as __CONTEXT, + HEADER64 as __HEADER64, +) + +from .page import ( + PageIterator as _PageIterator, +) + + +class DumpType(enum.IntEnum): + FullDump = _DumpType_t.FullDump + KernelDump = _DumpType_t.KernelDump + BMPDump = _DumpType_t.BMPDump + MiniDump = _DumpType_t.MiniDump + KernelMemoryDump = _DumpType_t.KernelMemoryDump + KernelAndUserMemoryDump = _DumpType_t.KernelAndUserMemoryDump + CompleteMemoryDump = _DumpType_t.CompleteMemoryDump + + +class KernelDumpParser: + def __init__(self, path: Union[str, pathlib.Path]): + """Parse a kernel dump file + + Args: + path (pathlib.Path|str): Path to the kernel dump file + """ + if isinstance(path, str): + path = pathlib.Path(path) + + if not isinstance(path, pathlib.Path): + raise TypeError + + if not path.exists(): + raise ValueError + + self.__dump = _KernelDumpParser() + if not self.__dump.Parse(str(path.absolute())): + raise RuntimeError(f"Invalid kernel dump file: {path}") + + self.filepath = path + self.context: __CONTEXT = self.__dump.GetContext() + self.directory_table_base: int = self.__dump.GetDirectoryTableBase() & ~0xFFF + self.type = DumpType(self.__dump.GetDumpType()) + self.header: __HEADER64 = self.__dump.GetDumpHeader() + self.pages = _PageIterator(self.__dump) + return + + def __repr__(self) -> str: + return f"KernelDumpParser({self.filepath}, {self.type})" + + def read_physical_page(self, physical_address: int) -> Optional[bytearray]: + """Read a physical page from the memory dump + + Args: + physical_address (int): The physical address to read. Note that no alignment + of this parameter is assumed. + + Returns: + Optional[bytearray]: The bytes in the page if found, None otherwise + """ + raw_page = self.__dump.GetPhysicalPage(physical_address) + if not raw_page: + return None + + return bytearray(raw_page) + + def read_virtual_page( + self, virtual_address: int, directory_table_base: Optional[int] = 0 + ) -> Optional[bytearray]: + """Read a virtual page from the memory dump + + Args: + virtual_address (int): _description_ + directory_table_base (Optional[int]): if given, corresponds to the DirectoryTableBase value + + Returns: + Optional[bytearray]: The bytes in the page if found, None otherwise + """ + raw_page = self.__dump.GetVirtualPage(virtual_address, directory_table_base) + if not raw_page: + return None + + return bytearray(raw_page) + + def translate_virtual( + self, virtual_address: int, directory_table_base: Optional[int] = 0 + ) -> Optional[int]: + """Translate a virtual address to physical. A directory table base can be optionally + provided + + Args: + virtual_address (int): _description_ + directory_table_base (Optional[int]): if given, corresponds to the DirectoryTableBase + value + + Returns: + Optional[int]: If found, return the physical address to the virtual address. None + otherwise + """ + return self.__dump.VirtTranslate(virtual_address, directory_table_base) diff --git a/src/python/kdmp_parser/page.py b/src/python/kdmp_parser/page.py new file mode 100644 index 0000000..b3015de --- /dev/null +++ b/src/python/kdmp_parser/page.py @@ -0,0 +1,43 @@ +from typing import Generator +from ._kdmp_parser import ( # type: ignore + PageSize as size, + PageAlign as align, + PageOffset as offset, + KernelDumpParser as _KernelDumpParser, +) + +VALID_PAGE_SIZES = (0x1000, 0x20_0000, 0x4000_0000) + + +class PageIterator: + """Access a dump pages""" + + def __init__(self, dump: _KernelDumpParser) -> None: + self.__dump = dump + + def __getitem__(self, physical_address: int) -> bytearray: + raw_page = self.__dump.GetPhysicalPage(physical_address) + if not raw_page: + raise IndexError + return bytearray(raw_page) + + def __iter__(self) -> Generator[int, None, None]: + return self.keys() + + def __contains__(self, addr: int) -> bool: + return addr in self.keys() + + def __len__(self) -> int: + return len(list(self.keys())) + + def keys(self) -> Generator[int, None, None]: + for page_addr in self.__dump.GetPhysmem(): + yield page_addr + + def values(self) -> Generator[bytearray, None, None]: + for page_addr in self.__dump.GetPhysmem(): + yield self[page_addr] + + def items(self) -> Generator["tuple[int, bytearray]", None, None]: + for page_addr in self.__dump.GetPhysmem(): + yield page_addr, self[page_addr] diff --git a/src/python/pyproject.toml b/src/python/pyproject.toml new file mode 100644 index 0000000..e1dfdba --- /dev/null +++ b/src/python/pyproject.toml @@ -0,0 +1,44 @@ +[build-system] +requires = ["scikit-build-core >=0.4.3", "nanobind >=1.3.2"] +build-backend = "scikit_build_core.build" + +[project] +name = "kdmp-parser" +version = "0.7.1" +description = "A Cross-Platform C++ parser library for Windows kernel minidumps." +readme = "README.md" +requires-python = ">=3.8" +authors = [{ name = "0vercl0k", email = "0vercl0k@not-your-biz.net" }] +classifiers = [ + "Development Status :: 4 - Beta", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Topic :: Software Development :: Assemblers", + "Natural Language :: English", +] +dependencies = [] + +[project.urls] +Homepage = "https://github.com/0vercl0k/kdmp-parser" + +[tool.isort] +profile = "black" + +[tool.scikit-build] +wheel.py-api = "cp312" +minimum-version = "0.4" +build-dir = "build/{wheel_tag}" +cmake.minimum-version = "3.20" +cmake.args = [ + "-DBUILD_PARSER:BOOL=OFF", + "-DBUILD_TESTS:BOOL=OFF", + "-DBUILD_PYTHON_PACKAGE:BOOL=ON", +] + +[tool.cibuildwheel] +build-verbosity = 1 +test-command = "pytest {project}/tests" +test-requires = "pytest" + +[tool.cibuildwheel.macos.environment] +MACOSX_DEPLOYMENT_TARGET = "10.14" diff --git a/src/python/requirements.txt b/src/python/requirements.txt new file mode 100644 index 0000000..f4b57e7 --- /dev/null +++ b/src/python/requirements.txt @@ -0,0 +1,4 @@ +setuptools +wheel +nanobind +black diff --git a/src/python/src/kdmp_parser.cc b/src/python/src/kdmp_parser.cc new file mode 100644 index 0000000..b790067 --- /dev/null +++ b/src/python/src/kdmp_parser.cc @@ -0,0 +1,341 @@ +// +// This file is part of kdmp-parser project +// +// Released under MIT License, by 0vercl0k - 2023 +// +// With contributions from: +// * hugsy - (github.com/hugsy) +// + +#include "kdmp-parser.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace nb = nanobind; +using namespace nb::literals; + +NB_MODULE(_kdmp_parser, m) { + + m.doc() = "KDMP parser module"; + + nb::class_(m, "version") + .def_ro_static("major", &kdmpparser::Version_t::Major) + .def_ro_static("minor", &kdmpparser::Version_t::Minor) + .def_ro_static("patch", &kdmpparser::Version_t::Patch) + .def_ro_static("release", &kdmpparser::Version_t::Release); + + nb::class_(m, "uint128_t") + .def(nb::init<>()) + .def_rw("Low", &kdmpparser::uint128_t::Low) + .def_rw("High", &kdmpparser::uint128_t::High); + + nb::enum_(m, "DumpType_t") + .value("FullDump", kdmpparser::DumpType_t::FullDump) + .value("KernelDump", kdmpparser::DumpType_t::KernelDump) + .value("BMPDump", kdmpparser::DumpType_t::BMPDump) + + .value("MiniDump", kdmpparser::DumpType_t::MiniDump) + .value("KernelMemoryDump", kdmpparser::DumpType_t::KernelMemoryDump) + .value("KernelAndUserMemoryDump", + kdmpparser::DumpType_t::KernelAndUserMemoryDump) + .value("CompleteMemoryDump", kdmpparser::DumpType_t::CompleteMemoryDump) + .export_values(); + + nb::class_(m, "PHYSMEM_RUN") + .def(nb::init<>()) + .def_rw("BasePage", &kdmpparser::PHYSMEM_RUN::BasePage) + .def_rw("PageCount", &kdmpparser::PHYSMEM_RUN::PageCount) + .def("Show", &kdmpparser::PHYSMEM_RUN::Show, "Prefix"_a); + + nb::class_(m, "PHYSMEM_DESC") + .def(nb::init<>()) + .def_ro("NumberOfRuns", &kdmpparser::PHYSMEM_DESC::NumberOfRuns) + .def_ro("Padding0", &kdmpparser::PHYSMEM_DESC::Padding0) + .def_ro("NumberOfPages", &kdmpparser::PHYSMEM_DESC::NumberOfPages) + .def_ro("Run", &kdmpparser::PHYSMEM_DESC::Run) + .def("Show", &kdmpparser::PHYSMEM_DESC::Show, "Prefix"_a) + .def("LooksGood", &kdmpparser::PHYSMEM_DESC::LooksGood); + + nb::class_(m, "BMP_HEADER64") + .def(nb::init<>()) + .def_ro_static("ExpectedSignature", + &kdmpparser::BMP_HEADER64::ExpectedSignature) + .def_ro_static("ExpectedSignature2", + &kdmpparser::BMP_HEADER64::ExpectedSignature2) + .def_ro_static("ExpectedValidDump", + &kdmpparser::BMP_HEADER64::ExpectedValidDump) + .def_ro("Signature", &kdmpparser::BMP_HEADER64::Signature) + .def_ro("ValidDump", &kdmpparser::BMP_HEADER64::ValidDump) + .def_ro("Padding0", &kdmpparser::BMP_HEADER64::Padding0) + .def_ro("FirstPage", &kdmpparser::BMP_HEADER64::FirstPage) + .def_ro("TotalPresentPages", &kdmpparser::BMP_HEADER64::TotalPresentPages) + .def_ro("Pages", &kdmpparser::BMP_HEADER64::Pages) + .def_ro("Bitmap", &kdmpparser::BMP_HEADER64::Bitmap) + .def("Show", &kdmpparser::PHYSMEM_DESC::Show, "Prefix"_a) + .def("LooksGood", &kdmpparser::PHYSMEM_DESC::LooksGood); + + nb::class_(m, "RDMP_HEADER64") + .def(nb::init<>()) + .def_ro_static("ExpectedMarker", + &kdmpparser::RDMP_HEADER64::ExpectedMarker) + .def_ro_static("ExpectedSignature", + &kdmpparser::RDMP_HEADER64::ExpectedSignature) + .def_ro_static("ExpectedValidDump", + &kdmpparser::RDMP_HEADER64::ExpectedValidDump) + .def_ro("Marker", &kdmpparser::RDMP_HEADER64::Marker) + .def_ro("Signature", &kdmpparser::RDMP_HEADER64::Signature) + .def_ro("ValidDump", &kdmpparser::RDMP_HEADER64::ValidDump) + .def_ro("MetadataSize", &kdmpparser::RDMP_HEADER64::MetadataSize) + .def_ro("FirstPageOffset", &kdmpparser::RDMP_HEADER64::FirstPageOffset) + .def("LooksGood", &kdmpparser::RDMP_HEADER64::LooksGood) + .def("Show", &kdmpparser::RDMP_HEADER64::Show); + + nb::class_(m, "KERNEL_RDMP_HEADER64") + .def(nb::init<>()); + + nb::class_(m, "FULL_RDMP_HEADER64") + .def(nb::init<>()); + + using CONTEXT = kdmpparser::CONTEXT; + nb::class_(m, "CONTEXT") + .def(nb::init<>()) + .def_ro("P1Home", &CONTEXT::P1Home) + .def_ro("P2Home", &CONTEXT::P2Home) + .def_ro("P3Home", &CONTEXT::P3Home) + .def_ro("P4Home", &CONTEXT::P4Home) + .def_ro("P5Home", &CONTEXT::P5Home) + .def_ro("P6Home", &CONTEXT::P6Home) + .def_ro("ContextFlags", &CONTEXT::ContextFlags) + .def_ro("MxCsr", &CONTEXT::MxCsr) + .def_ro("SegCs", &CONTEXT::SegCs) + .def_ro("SegDs", &CONTEXT::SegDs) + .def_ro("SegEs", &CONTEXT::SegEs) + .def_ro("SegFs", &CONTEXT::SegFs) + .def_ro("SegGs", &CONTEXT::SegGs) + .def_ro("SegSs", &CONTEXT::SegSs) + .def_ro("EFlags", &CONTEXT::EFlags) + .def_ro("Dr0", &CONTEXT::Dr0) + .def_ro("Dr1", &CONTEXT::Dr1) + .def_ro("Dr2", &CONTEXT::Dr2) + .def_ro("Dr3", &CONTEXT::Dr3) + .def_ro("Dr6", &CONTEXT::Dr6) + .def_ro("Dr7", &CONTEXT::Dr7) + .def_ro("Rax", &CONTEXT::Rax) + .def_ro("Rcx", &CONTEXT::Rcx) + .def_ro("Rdx", &CONTEXT::Rdx) + .def_ro("Rbx", &CONTEXT::Rbx) + .def_ro("Rsp", &CONTEXT::Rsp) + .def_ro("Rbp", &CONTEXT::Rbp) + .def_ro("Rsi", &CONTEXT::Rsi) + .def_ro("Rdi", &CONTEXT::Rdi) + .def_ro("R8", &CONTEXT::R8) + .def_ro("R9", &CONTEXT::R9) + .def_ro("R10", &CONTEXT::R10) + .def_ro("R11", &CONTEXT::R11) + .def_ro("R12", &CONTEXT::R12) + .def_ro("R13", &CONTEXT::R13) + .def_ro("R14", &CONTEXT::R14) + .def_ro("R15", &CONTEXT::R15) + .def_ro("Rip", &CONTEXT::Rip) + .def_ro("ControlWord", &CONTEXT::ControlWord) + .def_ro("StatusWord", &CONTEXT::StatusWord) + .def_ro("TagWord", &CONTEXT::TagWord) + .def_ro("Reserved1", &CONTEXT::Reserved1) + .def_ro("ErrorOpcode", &CONTEXT::ErrorOpcode) + .def_ro("ErrorOffset", &CONTEXT::ErrorOffset) + .def_ro("ErrorSelector", &CONTEXT::ErrorSelector) + .def_ro("Reserved2", &CONTEXT::Reserved2) + .def_ro("DataOffset", &CONTEXT::DataOffset) + .def_ro("DataSelector", &CONTEXT::DataSelector) + .def_ro("Reserved3", &CONTEXT::Reserved3) + .def_ro("MxCsr2", &CONTEXT::MxCsr2) + .def_ro("MxCsr_Mask", &CONTEXT::MxCsr_Mask) + .def_ro("FloatRegisters", &CONTEXT::FloatRegisters) + .def_ro("Xmm0", &CONTEXT::Xmm0) + .def_ro("Xmm1", &CONTEXT::Xmm1) + .def_ro("Xmm2", &CONTEXT::Xmm2) + .def_ro("Xmm3", &CONTEXT::Xmm3) + .def_ro("Xmm4", &CONTEXT::Xmm4) + .def_ro("Xmm5", &CONTEXT::Xmm5) + .def_ro("Xmm6", &CONTEXT::Xmm6) + .def_ro("Xmm7", &CONTEXT::Xmm7) + .def_ro("Xmm8", &CONTEXT::Xmm8) + .def_ro("Xmm9", &CONTEXT::Xmm9) + .def_ro("Xmm10", &CONTEXT::Xmm10) + .def_ro("Xmm11", &CONTEXT::Xmm11) + .def_ro("Xmm12", &CONTEXT::Xmm12) + .def_ro("Xmm13", &CONTEXT::Xmm13) + .def_ro("Xmm14", &CONTEXT::Xmm14) + .def_ro("Xmm15", &CONTEXT::Xmm15) + .def_ro("VectorRegister", &CONTEXT::VectorRegister) + .def_ro("VectorControl", &CONTEXT::VectorControl) + .def_ro("DebugControl", &CONTEXT::DebugControl) + .def_ro("LastBranchToRip", &CONTEXT::LastBranchToRip) + .def_ro("LastBranchFromRip", &CONTEXT::LastBranchFromRip) + .def_ro("LastExceptionToRip", &CONTEXT::LastExceptionToRip) + .def_ro("LastExceptionFromRip", &CONTEXT::LastExceptionFromRip) + .def("Show", &CONTEXT::Show, "Prefix"_a) + .def("LooksGood", &CONTEXT::LooksGood); + + using EXCEPTION_RECORD64 = kdmpparser::EXCEPTION_RECORD64; + nb::class_(m, "EXCEPTION_RECORD64") + .def(nb::init<>()) + .def_ro("ExceptionCode", &EXCEPTION_RECORD64::ExceptionCode) + .def_ro("ExceptionFlags", &EXCEPTION_RECORD64::ExceptionFlags) + .def_ro("ExceptionRecord", &EXCEPTION_RECORD64::ExceptionRecord) + .def_ro("ExceptionAddress", &EXCEPTION_RECORD64::ExceptionAddress) + .def_ro("NumberParameters", &EXCEPTION_RECORD64::NumberParameters) + .def_ro("__unusedAlignment", &EXCEPTION_RECORD64::__unusedAlignment) + .def_ro("ExceptionInformation", &EXCEPTION_RECORD64::ExceptionInformation) + .def("Show", &EXCEPTION_RECORD64::Show, "Prefix"_a); + + using HEADER64 = kdmpparser::HEADER64; + nb::class_(m, "HEADER64") + .def(nb::init<>()) + .def_ro_static("ExpectedSignature", &HEADER64::ExpectedSignature) + .def_ro_static("ExpectedValidDump", &HEADER64::ExpectedValidDump) + .def_ro("Signature", &HEADER64::Signature) + .def_ro("ValidDump", &HEADER64::ValidDump) + .def_ro("MajorVersion", &HEADER64::MajorVersion) + .def_ro("MinorVersion", &HEADER64::MinorVersion) + .def_ro("DirectoryTableBase", &HEADER64::DirectoryTableBase) + .def_ro("PfnDatabase", &HEADER64::PfnDatabase) + .def_ro("PsLoadedModuleList", &HEADER64::PsLoadedModuleList) + .def_ro("PsActiveProcessHead", &HEADER64::PsActiveProcessHead) + .def_ro("MachineImageType", &HEADER64::MachineImageType) + .def_ro("NumberProcessors", &HEADER64::NumberProcessors) + .def_ro("BugCheckCode", &HEADER64::BugCheckCode) + .def_ro("BugCheckCodeParameter", &HEADER64::BugCheckCodeParameters) + .def_ro("KdDebuggerDataBlock", &HEADER64::KdDebuggerDataBlock) + .def_prop_ro("PhysicalMemoryBlock", + [](const HEADER64 &Hdr) -> kdmpparser::PHYSMEM_DESC { + return Hdr.u1.PhysicalMemoryBlock; + }) + .def_prop_ro("ContextRecord", + [](const HEADER64 &Hdr) { return Hdr.u2.ContextRecord; }) + .def_ro("Exception", &HEADER64::Exception) + .def_ro("DumpType", &HEADER64::DumpType) + .def_ro("RequiredDumpSpace", &HEADER64::RequiredDumpSpace) + .def_ro("SystemTime", &HEADER64::SystemTime) + .def_ro("Comment", &HEADER64::Comment) + .def_ro("SystemUpTime", &HEADER64::SystemUpTime) + .def_ro("MiniDumpFields", &HEADER64::MiniDumpFields) + .def_ro("SecondaryDataState", &HEADER64::SecondaryDataState) + .def_ro("ProductType", &HEADER64::ProductType) + .def_ro("SuiteMask", &HEADER64::SuiteMask) + .def_ro("WriterStatus", &HEADER64::WriterStatus) + .def_ro("KdSecondaryVersion", &HEADER64::KdSecondaryVersion) + .def_ro("Attributes", &HEADER64::Attributes) + .def_ro("BootId", &HEADER64::BootId) + .def_prop_ro( + "BmpHeader", + [](const HEADER64 &Hdr) -> std::optional { + if (Hdr.DumpType != kdmpparser::DumpType_t::BMPDump) { + return {}; + } + + return Hdr.u3.BmpHeader; + }) + .def_prop_ro("RdmpHeader", + [](const HEADER64 &Hdr) + -> std::optional { + if (Hdr.DumpType != + kdmpparser::DumpType_t::KernelAndUserMemoryDump && + Hdr.DumpType != + kdmpparser::DumpType_t::KernelMemoryDump) { + return {}; + } + + return Hdr.u3.RdmpHeader; + }) + .def_prop_ro("FullRdmpHeader", + [](const HEADER64 &Hdr) + -> std::optional { + if (Hdr.DumpType != + kdmpparser::DumpType_t::CompleteMemoryDump) { + return {}; + } + + return Hdr.u3.FullRdmpHeader; + }) + .def("Show", &CONTEXT::Show, "Prefix"_a) + .def("LooksGood", &CONTEXT::LooksGood); + + m.attr("PageSize") = kdmpparser::Page::Size; + m.def("PageAlign", &kdmpparser::Page::Align, "Address"_a, + "Get the aligned value on the page for the given address."); + m.def("PageOffset", &kdmpparser::Page::Offset, "Address"_a, + "Get the offset to the page for the given address."); + + using BugCheckParameters_t = kdmpparser::BugCheckParameters_t; + nb::class_(m, "BugCheckParameters_t") + .def(nb::init<>()) + .def_ro("BugCheckCode", &BugCheckParameters_t::BugCheckCode) + .def_ro("BugCheckCodeParameter", + &BugCheckParameters_t::BugCheckCodeParameter); + + using KernelDumpParser = kdmpparser::KernelDumpParser; + nb::class_(m, "KernelDumpParser") + .def(nb::init<>()) + .def("Parse", &KernelDumpParser::Parse, "PathFile"_a) + .def("GetContext", &KernelDumpParser::GetContext) + .def("GetDumpHeader", &KernelDumpParser::GetDumpHeader, + nb::rv_policy::reference) + .def("GetBugCheckParameters", &KernelDumpParser::GetBugCheckParameters) + .def("GetDumpType", &KernelDumpParser::GetDumpType) + .def("GetPhysmem", + [](const KernelDumpParser &Parser) { + const auto &PhysMem = Parser.GetPhysmem(); + return nb::make_key_iterator(nb::type>(), + "it", PhysMem.cbegin(), + PhysMem.cend()); + }) + .def("ShowExceptionRecord", &KernelDumpParser::ShowExceptionRecord, + "Prefix"_a = 0) + .def("ShowContextRecord", &KernelDumpParser::ShowContextRecord, + "Prefix"_a = 0) + .def("ShowAllStructures", &KernelDumpParser::ShowAllStructures, + "Prefix"_a = 0) + .def( + "GetPhysicalPage", + [](const KernelDumpParser &Parser, const uint64_t PhysicalAddress) + -> std::optional { + const auto *Page = Parser.GetPhysicalPage(PhysicalAddress); + if (!Page) { + return std::nullopt; + } + + kdmpparser::Page_t Out; + memcpy(Out.data(), Page, kdmpparser::Page::Size); + return Out; + }, + "PhysicalAddress"_a) + .def("GetDirectoryTableBase", &KernelDumpParser::GetDirectoryTableBase) + .def("VirtTranslate", &KernelDumpParser::VirtTranslate, + "VirtualAddress"_a, "DirectoryTableBase"_a) + .def( + "GetVirtualPage", + [](const KernelDumpParser &Parser, const uint64_t VirtualAddress, + const uint64_t DirectoryTableBase = + 0) -> std::optional { + const auto *Page = + Parser.GetVirtualPage(VirtualAddress, DirectoryTableBase); + if (!Page) { + return std::nullopt; + } + + kdmpparser::Page_t Out; + memcpy(Out.data(), Page, kdmpparser::Page::Size); + return Out; + }, + "VirtualAddress"_a, "DirectoryTableBase"_a = 0); +} diff --git a/src/python/tests/pytest.ini b/src/python/tests/pytest.ini new file mode 100644 index 0000000..8a8695c --- /dev/null +++ b/src/python/tests/pytest.ini @@ -0,0 +1,15 @@ +[pytest] +log_level = INFO +minversion = 6.0 +required_plugins = + pytest-xdist + pytest-cov +python_functions = + test_* + time_* +python_files = *.py +testpaths = + . +markers = + slow: flag test as slow (deselect with '-m "not slow"') + online: flag test as requiring internet to work (deselect with '-m "not online"') diff --git a/src/python/tests/requirements.txt b/src/python/tests/requirements.txt new file mode 100644 index 0000000..eb9dfdd --- /dev/null +++ b/src/python/tests/requirements.txt @@ -0,0 +1,4 @@ +pytest +pytest-cov +pytest-xdist +pytest-forked diff --git a/src/python/tests/test_page.py b/src/python/tests/test_page.py new file mode 100644 index 0000000..e5e8049 --- /dev/null +++ b/src/python/tests/test_page.py @@ -0,0 +1,17 @@ +# +# This file is part of kdmp-parser project +# +# Released under MIT License, by 0vercl0k - 2023 +# +# With contributions from: +# * masthoon - (github.com/masthoon) +# * hugsy - (github.com/hugsy) +# +import kdmp_parser.page + + +def test_page(): + assert callable(kdmp_parser.page.align) + assert callable(kdmp_parser.page.offset) + assert isinstance(kdmp_parser.page.size, int) + assert kdmp_parser.page.size in kdmp_parser.page.VALID_PAGE_SIZES diff --git a/src/python/tests/test_parser.py b/src/python/tests/test_parser.py new file mode 100644 index 0000000..57c1214 --- /dev/null +++ b/src/python/tests/test_parser.py @@ -0,0 +1,129 @@ +# +# This file is part of kdmp-parser project +# +# Released under MIT License, by 0vercl0k - 2023 +# +# With contributions from: +# * masthoon - (github.com/masthoon) +# * hugsy - (github.com/hugsy) +# + +import pathlib +import unittest +import kdmp_parser + +REPO_ROOT = pathlib.Path(__file__).absolute().parent.parent.parent.parent + +class TestParserBasic(unittest.TestCase): + def setUp(self): + self.minidump_files: list[pathlib.Path] = [ + REPO_ROOT / "bmp.dmp", + REPO_ROOT / "full.dmp", + ] + + return super().setUp() + + def tearDown(self) -> None: + return super().tearDown() + + def test_parser_context(self): + expected_values = { + "bmp.dmp": { + "rip": 0xFFFFF805108776A0, + "rbp": 0xFFFFF80513568600, + "rsp": 0xFFFFF805135684F8, + "rax": 0x3, + "rbx": 0xFFFFF8050F4E9F70, + "rcx": 0x1, + "rdx": 0xFFFFF805135684D0, + "r8": 0x3, + "r9": 0xFFFFF805135684B8, + "r10": 0x0, + "r11": 0xFFFFA8848825E000, + "r12": 0xFFFFF8050F4E9F80, + "r13": 0xFFFFF80510C3C958, + "r14": 0x0, + "r15": 0x52, + "dtd": 0x6D4000, + }, + "full.dmp": { + "rip": 0xFFFFF805108776A0, + "rbp": 0xFFFFF80513568600, + "rsp": 0xFFFFF805135684F8, + "rax": 0x3, + "rbx": 0xFFFFF8050F4E9F70, + "rcx": 0x1, + "rdx": 0xFFFFF805135684D0, + "r8": 0x3, + "r9": 0xFFFFF805135684B8, + "r10": 0x0, + "r11": 0xFFFFA8848825E000, + "r12": 0xFFFFF8050F4E9F80, + "r13": 0xFFFFF80510C3C958, + "r14": 0x0, + "r15": 0x52, + "dtd": 0x6D4000, + }, + } + + for md in self.minidump_files: + parser = kdmp_parser.KernelDumpParser(md) + assert parser.filepath == md + + values = expected_values[md.name] + assert parser.context is not None + assert parser.context.Rip == values["rip"] + assert parser.context.Rbp == values["rbp"] + assert parser.context.Rsp == values["rsp"] + assert parser.context.Rax == values["rax"] + assert parser.context.Rbx == values["rbx"] + assert parser.context.Rcx == values["rcx"] + assert parser.context.Rdx == values["rdx"] + assert parser.context.R8 == values["r8"] + assert parser.context.R9 == values["r9"] + assert parser.context.R10 == values["r10"] + assert parser.context.R11 == values["r11"] + assert parser.context.R12 == values["r12"] + assert parser.context.R13 == values["r13"] + assert parser.context.R14 == values["r14"] + assert parser.context.R15 == values["r15"] + + assert parser.directory_table_base == values["dtd"] + + def test_parser_memory(self): + parser = kdmp_parser.KernelDumpParser(self.minidump_files[0]) + assert parser.directory_table_base == 0x6D4000 + + page = parser.read_physical_page(0x5000) + assert page is not None + assert page[0x34:0x38] == b"MSFT" + + assert parser.translate_virtual(0xFFFFF78000000000) == 0x0000000000C2F000 + assert parser.translate_virtual(0xFFFFF80513370000) == 0x000000003D555000 + + assert parser.read_virtual_page( + 0xFFFFF78000000000 + ) == parser.read_physical_page(0x0000000000C2F000) + assert parser.read_virtual_page( + 0xFFFFF80513370000 + ) == parser.read_physical_page(0x000000003D555000) + + def test_parser_page_iterator(self): + parser = kdmp_parser.KernelDumpParser(self.minidump_files[0]) + + page_addresses = list(parser.pages.keys()) + page_values = list(parser.pages.values()) + + assert len(parser.pages) > 0 + assert len(page_addresses) == len(parser.pages) + assert len(page_addresses) == len(page_values) + + addr = page_addresses[0] + page = parser.pages[addr] + assert parser.read_physical_page(addr) == page + + for addr, page in parser.pages.items(): + assert addr in page_addresses + assert page in page_values + assert len(page) == kdmp_parser.page.size + assert parser.read_physical_page(addr) == page diff --git a/src/python/tests/test_version.py b/src/python/tests/test_version.py new file mode 100644 index 0000000..1ef483a --- /dev/null +++ b/src/python/tests/test_version.py @@ -0,0 +1,17 @@ +# +# This file is part of kdmp-parser project +# +# Released under MIT License, by 0vercl0k - 2023 +# +# With contributions from: +# * masthoon - (github.com/masthoon) +# * hugsy - (github.com/hugsy) +# +import kdmp_parser + + +def test_version(): + assert isinstance(kdmp_parser.version.major, int) + assert isinstance(kdmp_parser.version.minor, int) + assert isinstance(kdmp_parser.version.patch, int) + assert isinstance(kdmp_parser.version.release, str) diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt new file mode 100644 index 0000000..2613707 --- /dev/null +++ b/src/tests/CMakeLists.txt @@ -0,0 +1,29 @@ +# Axel '0vercl0k' Souchet - April 18 2020 +enable_testing() + +# +# Build and link Catch2 library dependency automatically if not already found +# +include(FetchContent) +FetchContent_Declare( + Catch2 + URL https://github.com/catchorg/Catch2/archive/refs/tags/v3.4.0.zip + URL_HASH MD5=c426e77d4ee0055410bc930182959ae5 +) +FetchContent_MakeAvailable(Catch2) + +# +# Build all test files +# +list(APPEND TEST_SOURCE_FILES + tests_version.cc + tests_parser.cc +) + +foreach(SOURCE_FILE ${TEST_SOURCE_FILES}) + cmake_path(GET SOURCE_FILE STEM TEST_EXECUTABLE_NAME) + add_executable(${TEST_EXECUTABLE_NAME} ${SOURCE_FILE}) + target_link_libraries(${TEST_EXECUTABLE_NAME} PUBLIC kdmp-parser Catch2::Catch2WithMain) + add_test(NAME ${TEST_EXECUTABLE_NAME} COMMAND $) + install(FILES $ DESTINATION tests) +endforeach() diff --git a/src/tests/tests_parser.cc b/src/tests/tests_parser.cc new file mode 100644 index 0000000..36aa6c8 --- /dev/null +++ b/src/tests/tests_parser.cc @@ -0,0 +1,240 @@ +// Axel '0vercl0k' Souchet - 2023 +#define CATCH_CONFIG_MAIN + +#include "kdmp-parser.h" +#include +#include +#include +#include +#include +#include + +struct TestCaseValues { + std::string_view File; + kdmpparser::DumpType_t Type; + uint64_t Size = 0; + uint64_t ReadAddress = 0; + std::array Bytes; + uint64_t Rax = 0; + uint64_t Rbx = 0; + uint64_t Rcx = 0; + uint64_t Rdx = 0; + uint64_t Rsi = 0; + uint64_t Rdi = 0; + uint64_t Rip = 0; + uint64_t Rsp = 0; + uint64_t Rbp = 0; + uint64_t R8 = 0; + uint64_t R9 = 0; + uint64_t R10 = 0; + uint64_t R11 = 0; + uint64_t R12 = 0; + uint64_t R13 = 0; + uint64_t R14 = 0; + uint64_t R15 = 0; +}; + +constexpr TestCaseValues TestCaseBmp{ + // + // kd> r + // rax=0000000000000003 rbx=fffff8050f4e9f70 rcx=0000000000000001 + // rdx=fffff805135684d0 rsi=0000000000000100 rdi=fffff8050f4e9f80 + // rip=fffff805108776a0 rsp=fffff805135684f8 rbp=fffff80513568600 + // r8=0000000000000003 r9=fffff805135684b8 r10=0000000000000000 + // r11=ffffa8848825e000 r12=fffff8050f4e9f80 r13=fffff80510c3c958 + // r14=0000000000000000 r15=0000000000000052 + // iopl=0 nv up ei pl nz na pe nc + // cs=0010 ss=0018 ds=002b es=002b fs=0053 gs=002b efl=00040202 + // + "bmp.dmp", + kdmpparser::DumpType_t::BMPDump, + 0x54'4b, + 0x6d'4d'22, + {0x6d, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x63, 0x88, 0x75, 0x00, 0x00, 0x00, + 0x00, 0x0a, 0x63, 0x98}, + 0x00000000'00000003ULL, + 0xfffff805'0f4e9f70ULL, + 0x00000000'00000001ULL, + 0xfffff805'135684d0ULL, + 0x00000000'00000100ULL, + 0xfffff805'0f4e9f80ULL, + 0xfffff805'108776a0ULL, + 0xfffff805'135684f8ULL, + 0xfffff805'13568600ULL, + 0x00000000'00000003ULL, + 0xfffff805'135684b8ULL, + 0x00000000'00000000ULL, + 0xffffa884'8825e000ULL, + 0xfffff805'0f4e9f80ULL, + 0xfffff805'10c3c958ULL, + 0x00000000'00000000ULL, + 0x00000000'00000052ULL, +}; + +constexpr TestCaseValues TestCaseFull{ + "full.dmp", + kdmpparser::DumpType_t::FullDump, + 0x03'fb'e6, + 0x6d'4d'22, + {0x6d, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x63, 0x88, 0x75, 0x00, 0x00, 0x00, + 0x00, 0x0a, 0x63, 0x98}, + 0x00000000'00000003ULL, + 0xfffff805'0f4e9f70ULL, + 0x00000000'00000001ULL, + 0xfffff805'135684d0ULL, + 0x00000000'00000100ULL, + 0xfffff805'0f4e9f80ULL, + 0xfffff805'108776a0ULL, + 0xfffff805'135684f8ULL, + 0xfffff805'13568600ULL, + 0x00000000'00000003ULL, + 0xfffff805'135684b8ULL, + 0x00000000'00000000ULL, + 0xffffa884'8825e000ULL, + 0xfffff805'0f4e9f80ULL, + 0xfffff805'10c3c958ULL, + 0x00000000'00000000ULL, + 0x00000000'00000052ULL, +}; + +constexpr TestCaseValues TestCaseKernelDump{ + "kerneldump.dmp", + kdmpparser::DumpType_t::KernelMemoryDump, + 0xa0'2e, + 0x02'58'92'f0, + {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, + 0x0c, 0xc0, 0xff, 0xff}, + 0x00000000'00007a01ULL, + 0xffffc00c'5191e010ULL, + 0x00000000'00000001ULL, + 0x00000012'00000000ULL, + 0xffffc00c'51907bb0ULL, + 0x00000000'00000002ULL, + 0xfffff803'f2c35470ULL, + 0xfffff803'f515ec28ULL, + 0x00000000'0c1c9800ULL, + 0x00000000'000000b0ULL, + 0xffffc00c'502ff000ULL, + 0x00000000'00000057ULL, + 0xfffff803'f3a04500ULL, + 0xfffff803'f515ee60ULL, + 0x00000000'00000003ULL, + 0xfffff803'f1e9a180ULL, + 0x00000000'0000001fULL, +}; + +constexpr TestCaseValues TestCaseKernelUserDump{ + "kerneluserdump.dmp", + kdmpparser::DumpType_t::KernelAndUserMemoryDump, + 0x01'f7'c7, + 0x02'58'92'f0, + {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, + 0x0c, 0xc0, 0xff, 0xff}, + 0x00000000'00007a01ULL, + 0xffffc00c'5191e010ULL, + 0x00000000'00000001ULL, + 0x00000012'00000000ULL, + 0xffffc00c'51907bb0ULL, + 0x00000000'00000002ULL, + 0xfffff803'f2c35470ULL, + 0xfffff803'f515ec28ULL, + 0x00000000'0c1c9800ULL, + 0x00000000'000000b0ULL, + 0xffffc00c'502ff000ULL, + 0x00000000'00000057ULL, + 0xfffff803'f3a04500ULL, + 0xfffff803'f515ee60ULL, + 0x00000000'00000003ULL, + 0xfffff803'f1e9a180ULL, + 0x00000000'0000001fULL, +}; + +constexpr TestCaseValues TestCaseCompleteDump{ + "completedump.dmp", + kdmpparser::DumpType_t::CompleteMemoryDump, + 0x01'fb'f9, + 0x02'58'92'f0, + {0x10, 0x8c, 0x24, 0x50, 0x0c, 0xc0, 0xff, 0xff, 0xa0, 0x19, 0x38, 0x51, + 0x0c, 0xc0, 0xff, 0xff}, + 0x00000000'00007a01ULL, + 0xffffc00c'5191e010ULL, + 0x00000000'00000001ULL, + 0x00000012'00000000ULL, + 0xffffc00c'51907bb0ULL, + 0x00000000'00000002ULL, + 0xfffff803'f2c35470ULL, + 0xfffff803'f515ec28ULL, + 0x00000000'0c1c9800ULL, + 0x00000000'000000b0ULL, + 0xffffc00c'502ff000ULL, + 0x00000000'00000057ULL, + 0xfffff803'f3a04500ULL, + 0xfffff803'f515ee60ULL, + 0x00000000'00000003ULL, + 0xfffff803'f1e9a180ULL, + 0x00000000'0000001fULL, +}; + +constexpr std::array Testcases{ + TestCaseBmp, TestCaseFull, + TestCaseKernelDump, TestCaseKernelUserDump, + TestCaseCompleteDump, +}; + +TEST_CASE("kdmp-parser", "parser") { + SECTION("Test minidump exists") { + for (const auto &Testcase : Testcases) { + REQUIRE(std::filesystem::exists(Testcase.File)); + } + } + + SECTION("Basic parsing") { + for (const auto &Testcase : Testcases) { + kdmpparser::KernelDumpParser Dmp; + REQUIRE(Dmp.Parse(Testcase.File.data())); + CHECK(Dmp.GetDumpType() == Testcase.Type); + const auto &Physmem = Dmp.GetPhysmem(); + CHECK(Physmem.size() == Testcase.Size); + } + } + + SECTION("Context values") { + for (const auto &Testcase : Testcases) { + kdmpparser::KernelDumpParser Dmp; + REQUIRE(Dmp.Parse(Testcase.File.data())); + const auto &Context = Dmp.GetContext(); + CHECK(Context.Rax == Testcase.Rax); + CHECK(Context.Rbx == Testcase.Rbx); + CHECK(Context.Rcx == Testcase.Rcx); + CHECK(Context.Rdx == Testcase.Rdx); + CHECK(Context.Rsi == Testcase.Rsi); + CHECK(Context.Rdi == Testcase.Rdi); + CHECK(Context.Rip == Testcase.Rip); + CHECK(Context.Rsp == Testcase.Rsp); + CHECK(Context.Rbp == Testcase.Rbp); + CHECK(Context.R8 == Testcase.R8); + CHECK(Context.R9 == Testcase.R9); + CHECK(Context.R10 == Testcase.R10); + CHECK(Context.R11 == Testcase.R11); + CHECK(Context.R12 == Testcase.R12); + CHECK(Context.R13 == Testcase.R13); + CHECK(Context.R14 == Testcase.R14); + CHECK(Context.R15 == Testcase.R15); + } + } + + SECTION("Memory access") { + for (const auto &Testcase : Testcases) { + kdmpparser::KernelDumpParser Dmp; + REQUIRE(Dmp.Parse(Testcase.File.data())); + const uint64_t Address = Testcase.ReadAddress; + const uint64_t AddressAligned = kdmpparser::Page::Align(Address); + const uint64_t AddressOffset = kdmpparser::Page::Offset(Address); + const auto &ExpectedContent = Testcase.Bytes; + const uint8_t *Page = Dmp.GetPhysicalPage(AddressAligned); + REQUIRE(Page != nullptr); + CHECK(memcmp(Page + AddressOffset, ExpectedContent.data(), + sizeof(ExpectedContent)) == 0); + } + } +} diff --git a/src/tests/tests_version.cc b/src/tests/tests_version.cc new file mode 100644 index 0000000..30e8802 --- /dev/null +++ b/src/tests/tests_version.cc @@ -0,0 +1,13 @@ +// Axel '0vercl0k' Souchet - 2023 +#define CATCH_CONFIG_MAIN + +#include + +#include "kdmp-parser.h" + +TEST_CASE("kdmp-parser", "version") { + CHECK(kdmpparser::Version_t::Major == KDMPPARSER_VERSION_MAJOR); + CHECK(kdmpparser::Version_t::Minor == KDMPPARSER_VERSION_MINOR); + CHECK(kdmpparser::Version_t::Patch == KDMPPARSER_VERSION_PATCH); + CHECK(kdmpparser::Version_t::Release == KDMPPARSER_VERSION_RELEASE); +}