From a70cb67e7abe891be1b1ea85beafb7925928c73c Mon Sep 17 00:00:00 2001 From: Stefan Dragnev Date: Wed, 10 Jun 2026 11:13:19 +0000 Subject: [PATCH 01/36] update C wrapper for windows --- examples/c/CMakeLists.txt | 19 +++-- examples/c/cmake/Download.cmake | 17 ++++ examples/c/cmake/FindScanbotSDK.cmake | 114 ++++++++++++++++++++------ 3 files changed, 117 insertions(+), 33 deletions(-) create mode 100644 examples/c/cmake/Download.cmake diff --git a/examples/c/CMakeLists.txt b/examples/c/CMakeLists.txt index 19a8676..50307f3 100644 --- a/examples/c/CMakeLists.txt +++ b/examples/c/CMakeLists.txt @@ -1,17 +1,24 @@ -cmake_minimum_required(VERSION 3.10) +cmake_minimum_required(VERSION 3.20) project(scanbotsdk_c_example C) set(CMAKE_C_STANDARD 99) # Find or download Scanbot SDK if(NOT SCANBOTSDK_VERSION) - message(FATAL_ERROR "SCANBOTSDK_VERSION is not set.") + set(SCANBOTSDK_VERSION "9.0.0") endif() -set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") -set(SCANBOTSDK_DIR "${CMAKE_CURRENT_BINARY_DIR}/scanbotsdk") +list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") find_package(ScanbotSDK REQUIRED) -file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c) +file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c") add_executable(scanbotsdk_example ${SOURCE_FILES}) target_include_directories(scanbotsdk_example PRIVATE include) -target_link_libraries(scanbotsdk_example PRIVATE scanbotsdk) +target_link_libraries(scanbotsdk_example PRIVATE ScanbotSDK::ScanbotSDK) + +if(WIN32) + add_custom_command(TARGET scanbotsdk_example POST_BUILD + COMMAND "${CMAKE_COMMAND}" -E copy_if_different + "$" + "$" + ) +endif() diff --git a/examples/c/cmake/Download.cmake b/examples/c/cmake/Download.cmake new file mode 100644 index 0000000..396312b --- /dev/null +++ b/examples/c/cmake/Download.cmake @@ -0,0 +1,17 @@ +# Download.cmake +if(NOT URL OR NOT DEST) + message(FATAL_ERROR "Both URL and DEST variables must be defined.") +endif() + +file(DOWNLOAD "${URL}" "${DEST}" + STATUS status + TLS_VERIFY ON +) + +list(GET status 0 status_code) +list(GET status 1 status_string) + +if(NOT status_code EQUAL 0) + file(REMOVE "${DEST}") + message(FATAL_ERROR "Download failed (${status_code}): ${status_string}") +endif() diff --git a/examples/c/cmake/FindScanbotSDK.cmake b/examples/c/cmake/FindScanbotSDK.cmake index d6fabb8..816d27b 100644 --- a/examples/c/cmake/FindScanbotSDK.cmake +++ b/examples/c/cmake/FindScanbotSDK.cmake @@ -1,47 +1,107 @@ -include(ExternalProject) include(FindPackageHandleStandardArgs) -if(NOT SCANBOTSDK_DIR) -message(FATAL_ERROR "SCANBOTSDK_DIR not set") +if(TARGET ScanbotSDK::ScanbotSDK) + return() endif() -if (NOT EXISTS ${SCANBOTSDK_DIR}) +if(NOT DEFINED SCANBOTSDK_VERSION) + message(FATAL_ERROR "SCANBOTSDK_VERSION is not set.") +endif() + +if(NOT DEFINED SCANBOTSDK_DIR) + set(SCANBOTSDK_DIR "${CMAKE_CURRENT_BINARY_DIR}") +endif() + +if(NOT EXISTS "${SCANBOTSDK_DIR}/scanbotsdk") + if(CMAKE_SYSTEM_NAME STREQUAL "Windows") + if(CMAKE_SIZEOF_VOID_P EQUAL 4) + set(SCANBOTSDK_TARGET "windows-x86") + else() + set(SCANBOTSDK_TARGET "windows-x64") + endif() + elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + if(CMAKE_SYSTEM_PROCESSOR MATCHES ".*arm.*" OR CMAKE_SYSTEM_PROCESSOR MATCHES ".*aarch64.*") + set(SCANBOTSDK_TARGET "linux-aarch64") + else() + set(SCANBOTSDK_TARGET "linux-x86_64") + endif() + else() + message(FATAL_ERROR "System ${CMAKE_SYSTEM_NAME} not supported") + endif() - find_program(WGET_PATH wget REQUIRED) + set(_archive "${SCANBOTSDK_DIR}/scanbotsdk-${SCANBOTSDK_VERSION}-${SCANBOTSDK_TARGET}.tar.gz") + set(_url "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv${SCANBOTSDK_VERSION}/scanbotsdk-${SCANBOTSDK_VERSION}-${SCANBOTSDK_TARGET}.tar.gz") - message(STATUS "Downloading ScanbotSDK ${SCANBOTSDK_VERSION} to ${SCANBOTSDK_DIR}") + file(MAKE_DIRECTORY "${SCANBOTSDK_DIR}") - if ("${CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES ".*arm.*" OR "${CMAKE_HOST_SYSTEM_PROCESSOR}" MATCHES ".*aarch64.*") - set(SCANBOTSDK_ARCHITECTURE "aarch64") - else () - set(SCANBOTSDK_ARCHITECTURE "x86_64") - endif () - string(TOLOWER "${CMAKE_HOST_SYSTEM_NAME}-${SCANBOTSDK_ARCHITECTURE}" PLATFORM_ID) - set(URL "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv${SCANBOTSDK_VERSION}/scanbotsdk-${SCANBOTSDK_VERSION}-linux-${SCANBOTSDK_ARCHITECTURE}.tar.gz") execute_process( - COMMAND ${WGET_PATH} "${URL}" - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND "${CMAKE_COMMAND}" + "-DURL=${_url}" + "-DDEST=${_archive}" + -P "${CMAKE_CURRENT_LIST_DIR}/Download.cmake" + RESULT_VARIABLE _rc ) + if(NOT _rc EQUAL 0) + file(REMOVE "${_archive}") + message(FATAL_ERROR "Failed to download Scanbot SDK from ${_url}") + endif() + execute_process( - COMMAND tar -xf scanbotsdk-${SCANBOTSDK_VERSION}-${PLATFORM_ID}.tar.gz - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND "${CMAKE_COMMAND}" -E tar -xf "${_archive}" + WORKING_DIRECTORY "${SCANBOTSDK_DIR}" + RESULT_VARIABLE _rc ) + if(NOT _rc EQUAL 0) + file(REMOVE "${_archive}") + file(REMOVE_RECURSE "${SCANBOTSDK_DIR}/scanbotsdk") + message(FATAL_ERROR "Failed to extract Scanbot SDK archive ${_archive}") + endif() + + file(REMOVE "${_archive}") endif() find_library(ScanbotSDK_LIBS - NAMES libscanbotsdk.so - HINTS ${SCANBOTSDK_DIR}/lib/ - ) + NAMES scanbotsdk + PATHS "${SCANBOTSDK_DIR}/scanbotsdk/lib" + NO_DEFAULT_PATH +) find_path(ScanbotSDK_INCLUDE_DIRS NAMES ScanbotSDK.h - HINTS ${SCANBOTSDK_DIR}/include/) + PATHS "${SCANBOTSDK_DIR}/scanbotsdk/include" + NO_DEFAULT_PATH +) + +set(SCANBOTSDK_REQUIRED_VARS ScanbotSDK_LIBS ScanbotSDK_INCLUDE_DIRS) + +if(WIN32) + find_file(ScanbotSDK_DLL + NAMES scanbotsdk.dll + PATHS "${SCANBOTSDK_DIR}/scanbotsdk/lib" + NO_DEFAULT_PATH + ) + list(APPEND SCANBOTSDK_REQUIRED_VARS ScanbotSDK_DLL) +endif() find_package_handle_standard_args(ScanbotSDK - REQUIRED_VARS ScanbotSDK_LIBS ScanbotSDK_INCLUDE_DIRS) + REQUIRED_VARS ${SCANBOTSDK_REQUIRED_VARS} + VERSION_VAR SCANBOTSDK_VERSION +) + +message(STATUS "Scanbot SDK third-party licenses are located at: ${SCANBOTSDK_DIR}/scanbotsdk/licenses/Libraries.txt") -add_library(scanbotsdk SHARED IMPORTED) -set_target_properties(scanbotsdk PROPERTIES - IMPORTED_LOCATION "${ScanbotSDK_LIBS}" - INTERFACE_INCLUDE_DIRECTORIES "${ScanbotSDK_INCLUDE_DIRS}" -) \ No newline at end of file +add_library(ScanbotSDK::ScanbotSDK SHARED IMPORTED) +set_target_properties(ScanbotSDK::ScanbotSDK PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${ScanbotSDK_INCLUDE_DIRS}" +) + +if(WIN32) + set_target_properties(ScanbotSDK::ScanbotSDK PROPERTIES + IMPORTED_LOCATION "${ScanbotSDK_DLL}" + IMPORTED_IMPLIB "${ScanbotSDK_LIBS}" + ) +else() + set_target_properties(ScanbotSDK::ScanbotSDK PROPERTIES + IMPORTED_LOCATION "${ScanbotSDK_LIBS}" + ) +endif() From 8660b091746d21182ebd9d67976068cae811a4c9 Mon Sep 17 00:00:00 2001 From: Stefan Dragnev Date: Wed, 10 Jun 2026 11:37:35 +0000 Subject: [PATCH 02/36] update readme --- examples/python/README.md | 119 +++++++++++++++++++++++++------------- 1 file changed, 78 insertions(+), 41 deletions(-) diff --git a/examples/python/README.md b/examples/python/README.md index 21cba6a..c3daf1b 100644 --- a/examples/python/README.md +++ b/examples/python/README.md @@ -1,33 +1,33 @@ -# Scanbot SDK – Python on Linux +# Scanbot SDK – Python on Linux/Windows ## NVidia Jetson > Requires **Jetpack 6.1**, **CUDA 12.6**, and **TensorRT 10.3** for GPU acceleration. ### 1. Install Python and OpenCV -```bash -sudo apt install -y python3-venv nvidia-opencv -``` + ```bash + sudo apt install -y python3-venv nvidia-opencv + ``` ### 2. (Optional) Install CUDA + TensorRT Make sure you are running a supported Jetpack version: -```bash -sudo apt install -y nvidia-l4t-cuda libnvinfer10 libnvinfer-plugin10 libnvonnxparsers10 -``` + ```bash + sudo apt install -y nvidia-l4t-cuda libnvinfer10 libnvinfer-plugin10 libnvonnxparsers10 + ``` ### 3. Create and activate a virtual environment -```bash -python3 -m venv .env --system-site-packages -source .env/bin/activate -pip install --upgrade pip setuptools wheel -``` + ```bash + python3 -m venv .env --system-site-packages + source .env/bin/activate + pip install --upgrade pip setuptools wheel + ``` ### 3. Install the Scanbot SDK Replace `` with the actual version number of the SDK you want to install. -```bash -export SCANBOT_SDK_VERSION= -``` + ```bash + export SCANBOT_SDK_VERSION= + ``` * **On ARM64 (Raspberry Pi, Jetson Nano, etc.):** ```bash @@ -40,42 +40,42 @@ export SCANBOT_SDK_VERSION= ``` ### 5. Verify installation -```bash -python -c "import scanbotsdk" -``` + ```bash + python -c "import scanbotsdk" + ``` ### ⚡ Performance notes (Jetson) To avoid throttling, set max GPU/CPU/memory clocks: -```bash -sudo jetson_clocks --store -sudo jetson_clocks -``` + ```bash + sudo jetson_clocks --store + sudo jetson_clocks + ``` Restore defaults later: -```bash -sudo jetson_clocks --restore -``` + ```bash + sudo jetson_clocks --restore + ``` ## Raspberry Pi OS, Ubuntu, Debian ### 1. Install Python and OpenCV -```bash -sudo apt install -y python3-venv python3-opencv -``` + ```bash + sudo apt install -y python3-venv python3-opencv + ``` ### 2. Create and activate a virtual environment -```bash -python3 -m venv .env --system-site-packages -source .env/bin/activate -pip install --upgrade pip setuptools wheel -``` + ```bash + python3 -m venv .env --system-site-packages + source .env/bin/activate + pip install --upgrade pip setuptools wheel + ``` ### 3. Install the Scanbot SDK Replace `` with the actual version number of the SDK you want to install. -```bash -export SCANBOT_SDK_VERSION= -``` + ```bash + export SCANBOT_SDK_VERSION= + ``` * **On ARM64 (Raspberry Pi, Jetson Nano, etc.):** ```bash @@ -88,16 +88,53 @@ export SCANBOT_SDK_VERSION= ``` ### 4. Verify installation -```bash -python -c "import scanbotsdk" -``` + ```bash + python -c "import scanbotsdk" + ``` + +## Windows + +### 1. Prerequisites +* x86/x86_64 CPU +* Python 3.6+ (32/64-bit) +* PowerShell +* OpenCV (only for examples) + +The snippets below are written for PowerShell, not cmd. + +### 2. Create and activate a virtual environment: + ```powershell + python -m venv .env --system-site-packages + . .\.env\Scripts\Activate.ps1 + python -m pip install --upgrade pip setuptools wheel + python -m pip install opencv-python + ``` + +### 3. Install the Scanbot SDK +Replace `` with the actual version number of the SDK you want to install. + ```powershell + $SCANBOT_SDK_VERSION = "" + ``` + +* **Python x86_64 (64-bit):** + ```powershell + pip install https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv${SCANBOT_SDK_VERSION}/scanbotsdk-${SCANBOT_SDK_VERSION}-py3-none-win_amd64.whl + ``` + +* **Python x86 (32-bit):** + ```powershell + pip install https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv${SCANBOT_SDK_VERSION}/scanbotsdk-${SCANBOT_SDK_VERSION}-py3-none-win32.whl + ``` + +### 4. Verify installation + ```powershell + python -c "import scanbotsdk" + ``` ## Usage The example supports four modes: **scan**, **analyze**, **classify**, and **parse**. ```bash python main.py scan --file [--license ] -python main.py scan --file [--license ] -python main.py analyze --file [--save ] [--license ] python main.py analyze --file [--save ] [--license ] python main.py classify --file|--resource [--license ] python main.py parse --text "" [--license ] From 7b12de4d41b15fee001f8ee563d6cc876a0d3745 Mon Sep 17 00:00:00 2001 From: Stefan Dragnev Date: Wed, 10 Jun 2026 11:49:59 +0000 Subject: [PATCH 03/36] downgrade to cmake 3.10 --- examples/c/CMakeLists.txt | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/c/CMakeLists.txt b/examples/c/CMakeLists.txt index 50307f3..8392d97 100644 --- a/examples/c/CMakeLists.txt +++ b/examples/c/CMakeLists.txt @@ -1,4 +1,5 @@ -cmake_minimum_required(VERSION 3.20) +# 3.10 is the version shipped with Ubuntu 18.04, which is the base of NVIDIA JetPack 4.6. +cmake_minimum_required(VERSION 3.10) project(scanbotsdk_c_example C) set(CMAKE_C_STANDARD 99) @@ -6,10 +7,10 @@ set(CMAKE_C_STANDARD 99) if(NOT SCANBOTSDK_VERSION) set(SCANBOTSDK_VERSION "9.0.0") endif() -list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) find_package(ScanbotSDK REQUIRED) -file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c") +file(GLOB_RECURSE SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.c") add_executable(scanbotsdk_example ${SOURCE_FILES}) target_include_directories(scanbotsdk_example PRIVATE include) target_link_libraries(scanbotsdk_example PRIVATE ScanbotSDK::ScanbotSDK) From 93c8b656da9d723878ad3261ea7c2e4f60e6c068 Mon Sep 17 00:00:00 2001 From: Stefan Dragnev Date: Thu, 11 Jun 2026 16:46:46 +0000 Subject: [PATCH 04/36] C project readme updated for Windows --- examples/c/README.md | 47 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 9 deletions(-) diff --git a/examples/c/README.md b/examples/c/README.md index 9663b36..39c689b 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -29,8 +29,6 @@ sudo jetson_clocks --restore * You're now ready to run the examples. ----- - ### Raspberry Pi OS, Ubuntu, Debian * Install a C compiler, CMake and wget: @@ -41,17 +39,48 @@ sudo apt install -y cmake build-essential wget * You're now ready to build the examples. +### Windows + +Requirements: + +* Visual Studio C++ Build Tools +* CMake 3.10+ +* Recommended: ninja + ## Building the Examples In order to build all examples, run the following commands: -```bash -mkdir build -cd build -# Replace `` with the actual version number of the SDK you want to install. -cmake -DSCANBOTSDK_VERSION= .. -make -``` +* With ninja (recommended): + ```bash + mkdir build + cd build + # Replace `` with the actual version number of the SDK you want to install. + cmake -GNinja -DSCANBOTSDK_VERSION= .. + ninja + ``` + +* With make: + + ```bash + mkdir build + cd build + # Replace `` with the actual version number of the SDK you want to install. + cmake -DSCANBOTSDK_VERSION= .. + make + ``` + +* With MS Visual Studio (Windows-only): + + ```powershell + mkdir build + cd build + # Replace `` with the actual version number of the SDK you want to install. + cmake "-DSCANBOTSDK_VERSION=" .. + msbuild scanbotsdk_c_example.sln + # scanbotsdk_example.exe will be created under Debug\ + ``` + ## Usage The example supports four modes: **scan**, **analyze**, **classify**, and **parse**. From 3b9640c28fc457347a11ca41cb3bdcd2be72aa87 Mon Sep 17 00:00:00 2001 From: Stefan Dragnev Date: Thu, 11 Jun 2026 21:49:39 +0000 Subject: [PATCH 05/36] remove mentions of wget --- examples/c/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/c/README.md b/examples/c/README.md index 39c689b..1051ffd 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -4,10 +4,10 @@ > Scanbot SDK requires Jetpack 6.1, CUDA 12.6 and TensorRT 10.3 to run with GPU acceleration. -* Install a C compiler, CMake and wget: +* Install a C compiler and CMake: ```bash -sudo apt install -y cmake build-essential wget +sudo apt install -y cmake build-essential ``` * Optionally, install CUDA and TensorRT for GPU acceleration. Make sure that you're running a supported Jetpack version. @@ -31,10 +31,10 @@ sudo jetson_clocks --restore ### Raspberry Pi OS, Ubuntu, Debian -* Install a C compiler, CMake and wget: +* Install a C compiler and CMake: ```bash -sudo apt install -y cmake build-essential wget +sudo apt install -y cmake build-essential ``` * You're now ready to build the examples. From 464ce1fd477b0b94c656e6c230202781e97d2b27 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Thu, 18 Jun 2026 08:45:32 +0200 Subject: [PATCH 06/36] Add document enhancement feature and update examples to v9.0 --- examples/c/README.md | 7 +- .../snippets/enhancer/document_enhancer.h | 8 +++ examples/c/src/main.c | 10 +++ .../snippets/document/analyze_multi_page.c | 12 +--- .../src/snippets/document/crop_and_analyze.c | 11 +-- .../src/snippets/enhancer/document_enhancer.c | 70 +++++++++++++++++++ examples/c/src/utils/utils.c | 5 ++ examples/java/README.md | 4 +- examples/java/build.gradle | 2 +- .../io/scanbot/sdk/ScanbotSDKExample.java | 11 +++ .../document/AnalyzeMultiPageSnippet.java | 6 +- .../document/CropAndAnalyzeSnippet.java | 3 +- .../enhancer/DocumentEnhancerSnippet.java | 30 ++++++++ examples/nodejs/README.md | 6 +- examples/nodejs/package-lock.json | 8 +-- examples/nodejs/package.json | 2 +- examples/nodejs/src/index.ts | 12 ++++ .../snippets/document/analyze-multipage.ts | 5 +- .../src/snippets/document/crop-analyze.ts | 2 +- .../snippets/enhancer/document-enhancer.ts | 22 ++++++ examples/python/README.md | 4 +- examples/python/main.py | 7 ++ .../snippets/document/analyze_multi_page.py | 1 - .../snippets/enhancer/document_enhancer.py | 16 +++++ 24 files changed, 220 insertions(+), 44 deletions(-) create mode 100644 examples/c/include/snippets/enhancer/document_enhancer.h create mode 100644 examples/c/src/snippets/enhancer/document_enhancer.c create mode 100644 examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java create mode 100644 examples/nodejs/src/snippets/enhancer/document-enhancer.ts create mode 100644 examples/python/snippets/enhancer/document_enhancer.py diff --git a/examples/c/README.md b/examples/c/README.md index 1051ffd..8ca796f 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -83,16 +83,14 @@ In order to build all examples, run the following commands: ## Usage -The example supports four modes: **scan**, **analyze**, **classify**, and **parse**. +The example supports five modes: **scan**, **analyze**, **classify**, **enhance**, and **parse**. ```bash ./scanbotsdk_example scan --file [--license ] -./scanbotsdk_example scan --file [--license ] -./scanbotsdk_example analyze --file [--save ] [--license ] ./scanbotsdk_example analyze --file [--save ] [--license ] ./scanbotsdk_example classify --file [--license ] +./scanbotsdk_example enhance --file [--license ] ./scanbotsdk_example parse --text "" [--license ] ./scanbotsdk_example live --file [--license ] [--use_tensorrt] - ``` ## Example @@ -100,6 +98,7 @@ The example supports four modes: **scan**, **analyze**, **classify**, and **pars ./scanbotsdk_example scan barcode --file images/example.jpg --license ./scanbotsdk_example analyze analyze_multi_page --file files/doc.pdf --license ./scanbotsdk_example analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license +./scanbotsdk_example enhance document --file images/doc.jpg --license ./scanbotsdk_example parse mrz --text "P ./scanbotsdk_example live barcode --file images/example.jpg --license ``` diff --git a/examples/c/include/snippets/enhancer/document_enhancer.h b/examples/c/include/snippets/enhancer/document_enhancer.h new file mode 100644 index 0000000..6826eea --- /dev/null +++ b/examples/c/include/snippets/enhancer/document_enhancer.h @@ -0,0 +1,8 @@ +#ifndef DOCUMENT_ENHANCER_H +#define DOCUMENT_ENHANCER_H + +#include + +scanbotsdk_error_code_t enhance_document(scanbotsdk_image_t *image); + +#endif diff --git a/examples/c/src/main.c b/examples/c/src/main.c index ee2d8e7..bd0029f 100644 --- a/examples/c/src/main.c +++ b/examples/c/src/main.c @@ -22,6 +22,7 @@ #include #include #include +#include #include @@ -78,6 +79,15 @@ int main(int argc, char *argv[]) { if (strcmp(command, "document") == 0) ec = classify_document(image); else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } } + else if (strcmp(category, "enhance") == 0) { + if (!file_path) { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; goto cleanup; } + + ec = load_image_from_path(file_path, &image); + if (ec != SCANBOTSDK_OK) goto cleanup; + + if (strcmp(command, "document") == 0) ec = enhance_document(image); + else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } + } else if (strcmp(category, "analyze") == 0) { if (!file_path) { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; goto cleanup; } diff --git a/examples/c/src/snippets/document/analyze_multi_page.c b/examples/c/src/snippets/document/analyze_multi_page.c index e767e8c..d157c65 100644 --- a/examples/c/src/snippets/document/analyze_multi_page.c +++ b/examples/c/src/snippets/document/analyze_multi_page.c @@ -5,22 +5,16 @@ #include void print_analyzer_result(scanbotsdk_document_quality_analyzer_result_t *result) { - char* quality_str[] = { "Very poor", "Poor", "Reasonable", "Good", "Excellent"}; + char* quality_str[] = { "ACCEPTABLE", "UNACCEPTABLE", "UNCERTAIN"}; bool document_found; - scanbotsdk_document_quality_t *quality = NULL; + scanbotsdk_document_quality_assessment_t quality; scanbotsdk_document_quality_analyzer_result_get_document_found(result, &document_found); scanbotsdk_document_quality_analyzer_result_get_quality(result, &quality); printf("Document detection: %s\n", document_found ? "Found" : "Not found"); - - if (quality) - { - printf("Document quality: %s\n", quality_str[*quality]); - } else { - printf("No document found.\n"); - } + printf("Document quality: %s\n", quality_str[quality]); } static scanbotsdk_error_code_t process_page(scanbotsdk_extracted_page_t *page, scanbotsdk_document_quality_analyzer_t *analyzer) diff --git a/examples/c/src/snippets/document/crop_and_analyze.c b/examples/c/src/snippets/document/crop_and_analyze.c index 70d7b83..7af1ba9 100644 --- a/examples/c/src/snippets/document/crop_and_analyze.c +++ b/examples/c/src/snippets/document/crop_and_analyze.c @@ -88,21 +88,16 @@ scanbotsdk_error_code_t save_cropped_image( } void print_result(scanbotsdk_document_quality_analyzer_result_t *result) { - const char* quality_str[] = { "Very poor", "Poor", "Reasonable", "Good", "Excellent" }; + const char* quality_str[] = { "ACCEPTABLE", "UNACCEPTABLE", "UNCERTAIN"}; bool document_found = false; - scanbotsdk_document_quality_t *quality = NULL; + scanbotsdk_document_quality_assessment_t quality; scanbotsdk_document_quality_analyzer_result_get_document_found(result, &document_found); scanbotsdk_document_quality_analyzer_result_get_quality(result, &quality); printf("Document detection: %s\n", document_found ? "Found" : "Not found"); - - if (quality) { - printf("Document quality: %s (%d)\n", quality_str[*quality], *quality); - } else { - printf("No document found.\n"); - } + printf("Document quality: %s (%d)\n", quality_str[quality], quality); } static scanbotsdk_error_code_t analyze_document_quality( diff --git a/examples/c/src/snippets/enhancer/document_enhancer.c b/examples/c/src/snippets/enhancer/document_enhancer.c new file mode 100644 index 0000000..dc637e1 --- /dev/null +++ b/examples/c/src/snippets/enhancer/document_enhancer.c @@ -0,0 +1,70 @@ +#include +#include + +#include +#include + +scanbotsdk_error_code_t enhance_document(scanbotsdk_image_t *image) { + scanbotsdk_error_code_t ec = SCANBOTSDK_OK; + + scanbotsdk_document_straightening_result_t *result = NULL; + scanbotsdk_document_straightening_parameters_t *straightening_params = NULL; + scanbotsdk_document_enhancer_t *enhancer = NULL; + scanbotsdk_image_t *straightened_image = NULL; + + scanbotsdk_aspect_ratio_t *aspect_ratios[4] = {0}; + + ec = scanbotsdk_aspect_ratio_create(5.0, 7.0, &aspect_ratios[0]); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "aspect_ratio_create(5:7): %d: %s\n", ec, error_message(ec)); goto cleanup; } + + ec = scanbotsdk_aspect_ratio_create(1.0, 1.0, &aspect_ratios[1]); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "aspect_ratio_create(1:1): %d: %s\n", ec, error_message(ec)); goto cleanup; } + + ec = scanbotsdk_aspect_ratio_create(16.0, 9.0, &aspect_ratios[2]); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "aspect_ratio_create(16:9): %d: %s\n", ec, error_message(ec)); goto cleanup; } + + ec = scanbotsdk_aspect_ratio_create(3.0, 4.0, &aspect_ratios[3]); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "aspect_ratio_create(3:4): %d: %s\n", ec, error_message(ec)); goto cleanup; } + + ec = scanbotsdk_document_straightening_parameters_create( + SCANBOTSDK_DOCUMENT_STRAIGHTENING_MODE_STRAIGHTEN, + aspect_ratios, + 4, + &straightening_params + ); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_straightening_parameters_create: %d: %s\n", ec, error_message(ec)); goto cleanup; } + + ec = scanbotsdk_document_enhancer_create(&enhancer); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_enhancer_create: %d: %s\n", ec, error_message(ec)); goto cleanup; } + + ec = scanbotsdk_document_enhancer_straighten( + enhancer, + image, + straightening_params, + NULL, + 0, + &result + ); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_enhancer_straighten: %d: %s\n", ec, error_message(ec)); goto cleanup; } + + ec = scanbotsdk_document_straightening_result_get_straightened_image(result, &straightened_image); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_straightening_result_get_straightened_image: %d: %s\n", ec, error_message(ec)); goto cleanup; } + + if (straightened_image == NULL) { + fprintf(stderr, "No straightened image returned.\n"); + } + + /* straightened_image can be saved or processed further here */ + +cleanup: + scanbotsdk_document_enhancer_free(enhancer); + scanbotsdk_document_straightening_result_free(result); + scanbotsdk_document_straightening_parameters_free(straightening_params); + + scanbotsdk_aspect_ratio_free(aspect_ratios[0]); + scanbotsdk_aspect_ratio_free(aspect_ratios[1]); + scanbotsdk_aspect_ratio_free(aspect_ratios[2]); + scanbotsdk_aspect_ratio_free(aspect_ratios[3]); + + return ec; +} \ No newline at end of file diff --git a/examples/c/src/utils/utils.c b/examples/c/src/utils/utils.c index cd1cc84..0faed5d 100644 --- a/examples/c/src/utils/utils.c +++ b/examples/c/src/utils/utils.c @@ -90,6 +90,8 @@ void print_usage(const char *prog) { printf("or\n"); printf(" %s classify --file [--license ]\n", prog); printf("or\n"); + printf(" %s enhance --file [--license ]\n", prog); + printf("or\n"); printf(" %s analyze --file --save [--license ]\n", prog); printf("or\n"); printf(" %s parse --text \"\" [--license ]\n\n", prog); @@ -103,6 +105,9 @@ void print_usage(const char *prog) { printf("Available classify commands:\n"); printf(" document \n\n"); + printf("Available enhance commands:\n"); + printf(" document \n\n"); + printf("Available analyze commands:\n"); printf(" analyze_multi_page | crop_analyze\n\n"); diff --git a/examples/java/README.md b/examples/java/README.md index ea8f421..c1c3a9a 100644 --- a/examples/java/README.md +++ b/examples/java/README.md @@ -9,13 +9,14 @@ def SCANBOTSDK_VERSION = "" // e.g., 8.1.0 ``` ## Usage -The example supports four commands: **scan**, **analyze**, **classify**, and **parse**. +The example supports five commands: **scan**, **analyze**, **classify**, **enhance**, and **parse**. ```bash ./gradlew run --args='scan --file [--license ]' ./gradlew run --args='scan --resource [--license ]' ./gradlew run --args='analyze --file --save [--license ]' ./gradlew run --args='analyze --resource --save [--license ]' ./gradlew run --args='classify --file|--resource [--license ]' +./gradlew run --args='enhance --file [--license ]' ./gradlew run --args='parse --text "" [--license ]' ``` @@ -24,6 +25,7 @@ The example supports four commands: **scan**, **analyze**, **classify**, and **p ./gradlew run --args='scan barcode --file images/example.jpg --license ' ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license ' ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license ' +./gradlew run --args='enhance document --file images/doc.jpg --license ' ./gradlew run --args='parse mrz --text "P' ``` diff --git a/examples/java/build.gradle b/examples/java/build.gradle index ce3694a..f8dd311 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -4,7 +4,7 @@ plugins { } // TODO Add your SCANBOTSDK_VERSION here. -def SCANBOTSDK_VERSION = "0.810.7" +def SCANBOTSDK_VERSION = "0.900.7" def arch = System.getProperty("os.arch") def SCANBOTSDK_ARCHITECTURE = (arch.contains("arm") || arch.contains("aarch64")) ? "aarch64" : "x86_64" diff --git a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java index 315c169..f2e0d63 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java +++ b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java @@ -7,6 +7,7 @@ import io.scanbot.sdk.snippets.barcode.*; import io.scanbot.sdk.snippets.datacapture.*; import io.scanbot.sdk.snippets.document.*; +import io.scanbot.sdk.snippets.enhancer.DocumentEnhancerSnippet; import io.scanbot.sdk.utils.*; import java.util.Arrays; @@ -83,6 +84,16 @@ public static void main(String[] args) throws Exception { break; } } + case "enhance": { + if (file == null && resource == null) { ExampleUsage.print(); return; } + try (ImageRef image = Utils.createImageRef(file, resource)) { + switch (subcommand) { + case "document": DocumentEnhancerSnippet.run(image); break; + default: ExampleUsage.print(); + } + break; + } + } case "parse": { if (text == null || text.trim().isEmpty()) { ExampleUsage.print(); return; } switch (subcommand) { diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/AnalyzeMultiPageSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/AnalyzeMultiPageSnippet.java index 0752356..fc9539a 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/AnalyzeMultiPageSnippet.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/AnalyzeMultiPageSnippet.java @@ -15,7 +15,6 @@ public class AnalyzeMultiPageSnippet { public static void run(String filePath, String resourcePath) throws Exception { DocumentQualityAnalyzerConfiguration analyze_config = new DocumentQualityAnalyzerConfiguration(); analyze_config.getProcessByTileConfiguration().setTileSize(300);; - analyze_config.setDetectOrientation(true); analyze_config.setMinEstimatedNumberOfSymbolsForDocument(20); // Configure other parameters as needed. @@ -37,9 +36,8 @@ public static void run(String filePath, String resourcePath) throws Exception { // early to avoid keeping too many decompressed images in memory. try (ImageRef image = images.get(imageIndex).getImage()) { DocumentQualityAnalyzerResult result = analyzer.run(image); - System.out.printf("Page %d, Image %d -> Found: %b, Quality: %s%n", - pageIndex + 1, imageIndex + 1, - result.getDocumentFound(), result.getQuality()); + System.out.printf("Page %d, Image %d -> Quality: %s%n", + pageIndex + 1, imageIndex + 1, result.getQuality()); System.out.printf("Orientation: %f", result.getOrientation()); } } diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/CropAndAnalyzeSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/CropAndAnalyzeSnippet.java index 6d03ebb..180fc31 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/CropAndAnalyzeSnippet.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/CropAndAnalyzeSnippet.java @@ -46,8 +46,7 @@ public static void run(String filePath, String resourcePath, String savePath) th } DocumentQualityAnalyzerResult result = analyzer.run(cropped); - System.out.printf("Found: %b, Quality: %s%n", - result.getDocumentFound(), result.getQuality()); + System.out.printf("Quality: %s%n", result.getQuality()); } } } diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java new file mode 100644 index 0000000..ae6b48a --- /dev/null +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java @@ -0,0 +1,30 @@ +package io.scanbot.sdk.snippets.enhancer; +import java.util.List; + +import io.scanbot.sdk.documentscanner.DocumentEnhancer; +import io.scanbot.sdk.documentscanner.DocumentStraighteningMode; +import io.scanbot.sdk.documentscanner.DocumentStraighteningParameters; +import io.scanbot.sdk.documentscanner.DocumentStraighteningResult; +import io.scanbot.sdk.geometry.AspectRatio; +import io.scanbot.sdk.image.ImageRef; + +public class DocumentEnhancerSnippet { + public static void run(ImageRef image) throws Exception { + DocumentStraighteningParameters params = new DocumentStraighteningParameters(); + params.setStraighteningMode(DocumentStraighteningMode.STRAIGHTEN); + params.setAspectRatios(List.of( + new AspectRatio(5.0, 7.0), + new AspectRatio(1.0, 1.0), + new AspectRatio(16.0, 9.0), + new AspectRatio(3.0, 4.0) + )); + + try ( + DocumentEnhancer enhancer = new DocumentEnhancer() + ) { + DocumentStraighteningResult result = enhancer.straighten(image, params, List.of()); + // The straightened image can be accessed via result.getStraightenedImage() and saved or further processed as needed. + + } + } +} diff --git a/examples/nodejs/README.md b/examples/nodejs/README.md index 724cba3..ba372c3 100644 --- a/examples/nodejs/README.md +++ b/examples/nodejs/README.md @@ -16,13 +16,12 @@ node -e "console.log(require('scanbotsdk') ? 'Scanbot SDK loaded' : 'Error')" ``` ## Usage -The example supports four modes: **scan**, **analyze**, **classify**, and **parse**. +The example supports five modes: **scan**, **analyze**, **classify**, **enhance**, and **parse**. ```bash npx ts-node src/index.ts scan --file [--license ] -npx ts-node src/index.ts scan --file [--license ] -npx ts-node src/index.ts analyze --file [--save ] [--license ] npx ts-node src/index.ts analyze --file [--save ] [--license ] npx ts-node src/index.ts classify --file [--license ] +npx ts-node src/index.ts enhance --file [--license ] npx ts-node src/index.ts parse --text "" [--license ] ``` @@ -31,6 +30,7 @@ npx ts-node src/index.ts parse --text "" [--license ] npx ts-node src/index.ts scan barcode --file images/example.jpg --license npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license +npx ts-node src/index.ts enhance document --file images/doc.jpg --license npx ts-node src/index.ts parse mrz --text "P ``` diff --git a/examples/nodejs/package-lock.json b/examples/nodejs/package-lock.json index 3a70624..5edff02 100644 --- a/examples/nodejs/package-lock.json +++ b/examples/nodejs/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.810.7/nodejs-scanbotsdk-0.810.7.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.7/nodejs-scanbotsdk-0.900.7.tgz" }, "devDependencies": { "@types/node": "^24.3.0", @@ -154,9 +154,9 @@ "license": "ISC" }, "node_modules/scanbotsdk": { - "version": "0.810.7", - "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.810.7/nodejs-scanbotsdk-0.810.7.tgz", - "integrity": "sha512-ro8X14c/ytXzXzG1rekqoHNKwS8GptRrBi1uJhVms9g1uc9SQrzyEV+u67/GddpPHCykGp1F/JVvjiLRsgcTBg==", + "version": "0.900.7", + "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.7/nodejs-scanbotsdk-0.900.7.tgz", + "integrity": "sha512-/pFpFk3H4eNmFpA+tmQI5A4uit5YiPFtyJhWvQJ35ukyw6KdaLrGV1GW6fMNBqyGBYyljn1CcCEP6kiVjfW2Cw==", "hasInstallScript": true, "license": "Commercial", "os": [ diff --git a/examples/nodejs/package.json b/examples/nodejs/package.json index b9c5408..e797c5f 100644 --- a/examples/nodejs/package.json +++ b/examples/nodejs/package.json @@ -15,6 +15,6 @@ "typescript": "^5.9.2" }, "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.810.7/nodejs-scanbotsdk-0.810.7.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.7/nodejs-scanbotsdk-0.900.7.tgz" } } diff --git a/examples/nodejs/src/index.ts b/examples/nodejs/src/index.ts index 66bbb6f..c153784 100644 --- a/examples/nodejs/src/index.ts +++ b/examples/nodejs/src/index.ts @@ -17,6 +17,7 @@ import { MrzParserSnippet } from "./snippets/datacapture/mrz-parser"; import { ParseBarcodeDocumentSnippet } from "./snippets/barcode/parse-barcode-document"; import { AnalyzeMultiPageSnippet } from "./snippets/document/analyze-multipage"; import { CropAndAnalyzeSnippet } from "./snippets/document/crop-analyze"; +import { DocumentEnhancerSnippet } from "./snippets/enhancer/document-enhancer"; async function awaitPromise(promise: Promise, maxAwaitTimeMs: number = 60 * 1000): Promise { const timer = setTimeout(() => { @@ -106,6 +107,17 @@ async function main(): Promise { break; } + case "enhance": { + if (!file) { printUsage(); return; } + const image = await ScanbotSDK.ImageRef.fromPath(file); + + switch (subcommand) { + case "document": await DocumentEnhancerSnippet.run(image); break; + default: printUsage(); + } + break; + } + case "parse": { if (!text || text.trim().length === 0) { printUsage(); return; } diff --git a/examples/nodejs/src/snippets/document/analyze-multipage.ts b/examples/nodejs/src/snippets/document/analyze-multipage.ts index ddf8df1..5614c28 100644 --- a/examples/nodejs/src/snippets/document/analyze-multipage.ts +++ b/examples/nodejs/src/snippets/document/analyze-multipage.ts @@ -5,7 +5,6 @@ export class AnalyzeMultiPageSnippet { public static async run(filePath: string): Promise { const analyzeConfig = new ScanbotSDK.DocumentQualityAnalyzerConfiguration(); analyzeConfig.processByTileConfiguration.tileSize = 300; - analyzeConfig.detectOrientation = true; analyzeConfig.minEstimatedNumberOfSymbolsForDocument = 20; // configure other parameters as needed @@ -31,9 +30,7 @@ export class AnalyzeMultiPageSnippet { // `await using` ensures the result is properly disposed when the scope ends, as it holds unmanaged resources. await using result = await analyzer.run(extractedImage); console.log( - `Page ${pageIndex + 1}, Image ${imageIndex + 1} -> Found: ${ - result.documentFound - }, Quality: ${result.quality}` + `Page ${pageIndex + 1}, Image ${imageIndex + 1} -> Quality: ${result.quality}` ); } } diff --git a/examples/nodejs/src/snippets/document/crop-analyze.ts b/examples/nodejs/src/snippets/document/crop-analyze.ts index 9e4755b..156d170 100644 --- a/examples/nodejs/src/snippets/document/crop-analyze.ts +++ b/examples/nodejs/src/snippets/document/crop-analyze.ts @@ -43,7 +43,7 @@ export class CropAndAnalyzeSnippet { await using result = await analyzer.run(cropped); console.log( - `Found: ${result.documentFound}, Quality: ${result.quality}` + `Quality: ${result.quality}` ); } } diff --git a/examples/nodejs/src/snippets/enhancer/document-enhancer.ts b/examples/nodejs/src/snippets/enhancer/document-enhancer.ts new file mode 100644 index 0000000..fddebcc --- /dev/null +++ b/examples/nodejs/src/snippets/enhancer/document-enhancer.ts @@ -0,0 +1,22 @@ +import * as ScanbotSDK from "scanbotsdk"; +import { AspectRatio } from "scanbotsdk"; + +export class DocumentEnhancerSnippet { + public static async run(image: ScanbotSDK.ImageRef): Promise { + var params = new ScanbotSDK.DocumentStraighteningParameters(); + params.straighteningMode = "STRAIGHTEN"; + params.aspectRatios =[ + new AspectRatio({ width: 5.0, height: 7.0 }), + new AspectRatio({ width: 1.0, height: 1.0 }), + new AspectRatio({ width: 16.0, height: 9.0 }), + new AspectRatio({ width: 3.0, height: 4.0 }) + ]; + + // `await using` ensures both enhancer and result are properly disposed + // when the scope ends, as they hold unmanaged resources. + await using enhancer = await ScanbotSDK.DocumentEnhancer.create(); + await using result = await enhancer.straighten(image, params); + + // The straightened image can be accessed via result.straightenedImage and saved or further processed as needed. + } +} diff --git a/examples/python/README.md b/examples/python/README.md index c3daf1b..0c2773d 100644 --- a/examples/python/README.md +++ b/examples/python/README.md @@ -132,11 +132,12 @@ Replace `` with the actual version number of the SDK you wa ``` ## Usage -The example supports four modes: **scan**, **analyze**, **classify**, and **parse**. +The example supports five modes: **scan**, **analyze**, **classify**, **enhance**, and **parse**. ```bash python main.py scan --file [--license ] python main.py analyze --file [--save ] [--license ] python main.py classify --file|--resource [--license ] +python main.py enhance --file [--license ] python main.py parse --text "" [--license ] python main.py live --device "" [--license ] [--preview] [--use_tensorrt] ``` @@ -146,6 +147,7 @@ python main.py live --device "" [--license ] [-- python main.py scan barcode --file images/example.jpg --license python main.py analyze analyze_multi_page --file files/doc.pdf --license python main.py analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license +python main.py enhance document --file images/doc.jpg --license python main.py parse mrz --text "P python main.py live barcode --device "0" --license ``` diff --git a/examples/python/main.py b/examples/python/main.py index ddaa035..cb8ae0f 100644 --- a/examples/python/main.py +++ b/examples/python/main.py @@ -1,6 +1,7 @@ import sys import scanbotsdk +from examples.python.snippets.enhancer.document_enhancer import enhance_document from snippets.document.document_classifier import classify_document from snippets.document.analyze_multi_page import analyze_multi_page from snippets.document.crop_and_analyze import crop_and_analyze @@ -72,6 +73,12 @@ def main(): with create_image_ref(file_path) as image: if subcommand == "document": classify_document(image) else: print_usage() + + elif category == "enhance": + if not file_path: print_usage(); return + with create_image_ref(file_path) as image: + if subcommand == "document": enhance_document(image) + else: print_usage() elif category == "analyze": if not file_path: print_usage(); return diff --git a/examples/python/snippets/document/analyze_multi_page.py b/examples/python/snippets/document/analyze_multi_page.py index 7aac17d..380dbfb 100644 --- a/examples/python/snippets/document/analyze_multi_page.py +++ b/examples/python/snippets/document/analyze_multi_page.py @@ -2,7 +2,6 @@ def analyze_multi_page(file_path: str): configuration = DocumentQualityAnalyzerConfiguration( - detect_orientation=True, min_estimated_number_of_symbols_for_document=20, process_by_tile_configuration=ProcessByTileConfiguration( tile_size=300 diff --git a/examples/python/snippets/enhancer/document_enhancer.py b/examples/python/snippets/enhancer/document_enhancer.py new file mode 100644 index 0000000..1f51408 --- /dev/null +++ b/examples/python/snippets/enhancer/document_enhancer.py @@ -0,0 +1,16 @@ +from scanbotsdk import * + +def enhance_document(image: ImageRef): + params = DocumentStraighteningParameters() + params.straightening_mode = DocumentStraighteningMode.STRAIGHTEN + params.aspect_ratios = [ + AspectRatio(width=5.0, height=7.0), + AspectRatio(width=1.0, height=1.0), + AspectRatio(width=16.0, height=9.0), + AspectRatio(width=3.0, height=4.0) + ] + + enhancer = DocumentEnhancer() + result: DocumentStraighteningResult = enhancer.straighten(image=image, parameters=params) + + # The straightened image can be accessed via result.straightened_image and saved or further processed as needed. From 9bfd17c62f78533b68f7849a2978b305e31d55fa Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Fri, 19 Jun 2026 14:30:13 +0200 Subject: [PATCH 07/36] Remove document classification feature and update usage examples across all languages --- examples/c/README.md | 3 +- .../snippets/document/document_classifier.h | 8 ---- examples/c/src/main.c | 10 ----- .../snippets/document/document_classifier.c | 45 ------------------- examples/c/src/utils/utils.c | 5 --- examples/java/README.md | 3 +- examples/java/build.gradle | 2 +- .../io/scanbot/sdk/ScanbotSDKExample.java | 10 ----- .../document/DocumentClassifierSnippet.java | 24 ---------- .../io/scanbot/sdk/utils/ExampleUsage.java | 5 --- examples/nodejs/README.md | 3 +- examples/nodejs/package-lock.json | 8 ++-- examples/nodejs/package.json | 2 +- examples/nodejs/src/index.ts | 14 +----- .../snippets/document/document-classifier.ts | 19 -------- .../src/snippets/utils/example-usage.ts | 1 - examples/python/README.md | 3 +- examples/python/main.py | 9 +--- .../snippets/document/document_classifier.py | 20 --------- examples/python/utils.py | 3 -- test-scripts/test-c.sh | 2 - test-scripts/test-java.sh | 2 - test-scripts/test-nodejs.sh | 2 - test-scripts/test-python.sh | 2 - 24 files changed, 12 insertions(+), 193 deletions(-) delete mode 100644 examples/c/include/snippets/document/document_classifier.h delete mode 100644 examples/c/src/snippets/document/document_classifier.c delete mode 100644 examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentClassifierSnippet.java delete mode 100644 examples/nodejs/src/snippets/document/document-classifier.ts delete mode 100644 examples/python/snippets/document/document_classifier.py diff --git a/examples/c/README.md b/examples/c/README.md index 8ca796f..10120d9 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -83,11 +83,10 @@ In order to build all examples, run the following commands: ## Usage -The example supports five modes: **scan**, **analyze**, **classify**, **enhance**, and **parse**. +The example supports five modes: **scan**, **analyze**, **enhance**, and **parse**. ```bash ./scanbotsdk_example scan --file [--license ] ./scanbotsdk_example analyze --file [--save ] [--license ] -./scanbotsdk_example classify --file [--license ] ./scanbotsdk_example enhance --file [--license ] ./scanbotsdk_example parse --text "" [--license ] ./scanbotsdk_example live --file [--license ] [--use_tensorrt] diff --git a/examples/c/include/snippets/document/document_classifier.h b/examples/c/include/snippets/document/document_classifier.h deleted file mode 100644 index 8dd80ef..0000000 --- a/examples/c/include/snippets/document/document_classifier.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef DOCUMENT_CLASSIFIER_H -#define DOCUMENT_CLASSIFIER_H - -#include - -scanbotsdk_error_code_t classify_document(scanbotsdk_image_t *image); - -#endif diff --git a/examples/c/src/main.c b/examples/c/src/main.c index bd0029f..865ccae 100644 --- a/examples/c/src/main.c +++ b/examples/c/src/main.c @@ -21,7 +21,6 @@ #include #include #include -#include #include #include @@ -70,15 +69,6 @@ int main(int argc, char *argv[]) { else if (strcmp(command, "vin") == 0) ec = detect_vin(image); else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } } - else if (strcmp(category, "classify") == 0) { - if (!file_path) { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; goto cleanup; } - - ec = load_image_from_path(file_path, &image); - if (ec != SCANBOTSDK_OK) goto cleanup; - - if (strcmp(command, "document") == 0) ec = classify_document(image); - else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } - } else if (strcmp(category, "enhance") == 0) { if (!file_path) { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; goto cleanup; } diff --git a/examples/c/src/snippets/document/document_classifier.c b/examples/c/src/snippets/document/document_classifier.c deleted file mode 100644 index c93b974..0000000 --- a/examples/c/src/snippets/document/document_classifier.c +++ /dev/null @@ -1,45 +0,0 @@ -#include -#include - -#include -#include - -scanbotsdk_error_code_t classify_document(scanbotsdk_image_t *image) { - scanbotsdk_error_code_t ec = SCANBOTSDK_OK; - - scanbotsdk_document_classifier_configuration_t *config = NULL; - scanbotsdk_document_classifier_result_t *result = NULL; - scanbotsdk_document_classifier_t *classifier = NULL; - scanbotsdk_document_detection_result_t *detection_result = NULL; - scanbotsdk_document_classifier_status_t status; - scanbotsdk_document_type_t doc_type; - - ec = scanbotsdk_document_classifier_configuration_create_with_defaults(&config); - // Configure other parameters as needed. - - ec = scanbotsdk_document_classifier_create(config, &classifier); - if (ec != SCANBOTSDK_OK) { fprintf(stderr, "classifier_create: %d: %s\n", ec, error_message(ec)); goto cleanup; } - - ec = scanbotsdk_document_classifier_run(classifier, image, &result); - if (ec != SCANBOTSDK_OK) { fprintf(stderr, "classifier_run: %d: %s\n", ec, error_message(ec)); goto cleanup; } - - ec = scanbotsdk_document_classifier_result_get_status(result, &status); - - const char *status_str = NULL; - ec = scanbotsdk_document_classifier_status_t_to_string(status, &status_str); - printf("Classifier Status: %s\n", status_str); - - ec = scanbotsdk_document_classifier_result_get_document_type(result, &doc_type); - - const char *doc_type_str = NULL; - ec = scanbotsdk_document_type_t_to_string(doc_type, &doc_type_str); - printf("Type: %s\n", doc_type_str); - -cleanup: - scanbotsdk_document_classifier_free(classifier); - scanbotsdk_document_detection_result_free(detection_result); - scanbotsdk_document_classifier_result_free(result); - scanbotsdk_document_classifier_configuration_free(config); - return ec; -} - diff --git a/examples/c/src/utils/utils.c b/examples/c/src/utils/utils.c index 0faed5d..dd334a1 100644 --- a/examples/c/src/utils/utils.c +++ b/examples/c/src/utils/utils.c @@ -88,8 +88,6 @@ void print_usage(const char *prog) { printf("Usage:\n"); printf(" %s scan --file [--license ]\n", prog); printf("or\n"); - printf(" %s classify --file [--license ]\n", prog); - printf("or\n"); printf(" %s enhance --file [--license ]\n", prog); printf("or\n"); printf(" %s analyze --file --save [--license ]\n", prog); @@ -102,9 +100,6 @@ void print_usage(const char *prog) { printf(" barcode | document | check | credit_card | document_data_extractor |\n"); printf(" medical_certificate | mrz | ocr | text_pattern | vin\n\n"); - printf("Available classify commands:\n"); - printf(" document \n\n"); - printf("Available enhance commands:\n"); printf(" document \n\n"); diff --git a/examples/java/README.md b/examples/java/README.md index c1c3a9a..3be21ed 100644 --- a/examples/java/README.md +++ b/examples/java/README.md @@ -9,13 +9,12 @@ def SCANBOTSDK_VERSION = "" // e.g., 8.1.0 ``` ## Usage -The example supports five commands: **scan**, **analyze**, **classify**, **enhance**, and **parse**. +The example supports five commands: **scan**, **analyze**, **enhance**, and **parse**. ```bash ./gradlew run --args='scan --file [--license ]' ./gradlew run --args='scan --resource [--license ]' ./gradlew run --args='analyze --file --save [--license ]' ./gradlew run --args='analyze --resource --save [--license ]' -./gradlew run --args='classify --file|--resource [--license ]' ./gradlew run --args='enhance --file [--license ]' ./gradlew run --args='parse --text "" [--license ]' ``` diff --git a/examples/java/build.gradle b/examples/java/build.gradle index f8dd311..689828c 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -4,7 +4,7 @@ plugins { } // TODO Add your SCANBOTSDK_VERSION here. -def SCANBOTSDK_VERSION = "0.900.7" +def SCANBOTSDK_VERSION = "0.900.6" def arch = System.getProperty("os.arch") def SCANBOTSDK_ARCHITECTURE = (arch.contains("arm") || arch.contains("aarch64")) ? "aarch64" : "x86_64" diff --git a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java index f2e0d63..e05c9c6 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java +++ b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java @@ -74,16 +74,6 @@ public static void main(String[] args) throws Exception { } break; } - case "classify": { - if (file == null && resource == null) { ExampleUsage.print(); return; } - try (ImageRef image = Utils.createImageRef(file, resource)) { - switch (subcommand) { - case "document": DocumentClassifierSnippet.run(image); break; - default: ExampleUsage.print(); - } - break; - } - } case "enhance": { if (file == null && resource == null) { ExampleUsage.print(); return; } try (ImageRef image = Utils.createImageRef(file, resource)) { diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentClassifierSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentClassifierSnippet.java deleted file mode 100644 index 2b9f3d8..0000000 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentClassifierSnippet.java +++ /dev/null @@ -1,24 +0,0 @@ -package io.scanbot.sdk.snippets.document; - -import io.scanbot.sdk.documentclassifier.DocumentClassifier; -import io.scanbot.sdk.documentclassifier.DocumentClassifierConfiguration; -import io.scanbot.sdk.documentclassifier.DocumentClassifierResult; -import io.scanbot.sdk.image.ImageRef; - -public class DocumentClassifierSnippet { - public static void run(ImageRef image) throws Exception { - DocumentClassifierConfiguration config = new DocumentClassifierConfiguration(); - // Configure other parameters as needed. - - try ( - DocumentClassifier classifier = new DocumentClassifier(config); - DocumentClassifierResult result = classifier.run(image); - ) { - System.out.println("Detection status: " + result.getStatus()); - System.out.println("Type: " + result.getDocumentType()); - result.getDocumentScanningResult().getDetectionResult().getPoints().forEach(p -> - System.out.printf("x: %d, y: %d%n", p.getX(), p.getY()) - ); - } - } -} diff --git a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java index 1298a77..5581063 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java +++ b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java @@ -9,8 +9,6 @@ public static void print() { System.out.println("or"); System.out.println(" ./gradlew run --args='scan --file [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='classify --file|--resource [--license ]'"); - System.out.println(); System.out.println(" ./gradlew run --args='analyze --resource --save [--license ]'"); System.out.println("or"); System.out.println(" ./gradlew run --args='analyze --file --save [--license ]'"); @@ -23,9 +21,6 @@ public static void print() { System.out.println("Available analyze commands:"); System.out.println(" analyze_multi_page | crop_analyze"); System.out.println(); - System.out.println("Available classify commands:"); - System.out.println(" document"); - System.out.println(); System.out.println("Available parse commands:"); System.out.println(" mrz | barcode_doc"); System.out.println(); diff --git a/examples/nodejs/README.md b/examples/nodejs/README.md index ba372c3..93f41f0 100644 --- a/examples/nodejs/README.md +++ b/examples/nodejs/README.md @@ -16,11 +16,10 @@ node -e "console.log(require('scanbotsdk') ? 'Scanbot SDK loaded' : 'Error')" ``` ## Usage -The example supports five modes: **scan**, **analyze**, **classify**, **enhance**, and **parse**. +The example supports five modes: **scan**, **analyze**, **enhance**, and **parse**. ```bash npx ts-node src/index.ts scan --file [--license ] npx ts-node src/index.ts analyze --file [--save ] [--license ] -npx ts-node src/index.ts classify --file [--license ] npx ts-node src/index.ts enhance --file [--license ] npx ts-node src/index.ts parse --text "" [--license ] ``` diff --git a/examples/nodejs/package-lock.json b/examples/nodejs/package-lock.json index 5edff02..3637aa3 100644 --- a/examples/nodejs/package-lock.json +++ b/examples/nodejs/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.7/nodejs-scanbotsdk-0.900.7.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.6/nodejs-scanbotsdk-0.900.6.tgz" }, "devDependencies": { "@types/node": "^24.3.0", @@ -154,9 +154,9 @@ "license": "ISC" }, "node_modules/scanbotsdk": { - "version": "0.900.7", - "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.7/nodejs-scanbotsdk-0.900.7.tgz", - "integrity": "sha512-/pFpFk3H4eNmFpA+tmQI5A4uit5YiPFtyJhWvQJ35ukyw6KdaLrGV1GW6fMNBqyGBYyljn1CcCEP6kiVjfW2Cw==", + "version": "0.900.6", + "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.6/nodejs-scanbotsdk-0.900.6.tgz", + "integrity": "sha512-Y83QsPumkkoa8ledS1eS69FxlYF7Di0izzHAotPtcIsRah+4X1cE697IwunzGG4g1KVTe+lJq0iu5i9Kk6rRjg==", "hasInstallScript": true, "license": "Commercial", "os": [ diff --git a/examples/nodejs/package.json b/examples/nodejs/package.json index e797c5f..9ed446d 100644 --- a/examples/nodejs/package.json +++ b/examples/nodejs/package.json @@ -15,6 +15,6 @@ "typescript": "^5.9.2" }, "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.7/nodejs-scanbotsdk-0.900.7.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.6/nodejs-scanbotsdk-0.900.6.tgz" } } diff --git a/examples/nodejs/src/index.ts b/examples/nodejs/src/index.ts index c153784..62bdb6d 100644 --- a/examples/nodejs/src/index.ts +++ b/examples/nodejs/src/index.ts @@ -12,7 +12,6 @@ import { MrzScannerSnippet } from "./snippets/datacapture/mrz-scanner"; import { TextPatternScannerSnippet } from "./snippets/datacapture/text-pattern-scanner"; import { OcrSnippet } from "./snippets/datacapture/ocr"; import { VinScannerSnippet } from "./snippets/datacapture/vin-scanner"; -import { DocumentClassifierSnippet } from "./snippets/document/document-classifier"; import { MrzParserSnippet } from "./snippets/datacapture/mrz-parser"; import { ParseBarcodeDocumentSnippet } from "./snippets/barcode/parse-barcode-document"; import { AnalyzeMultiPageSnippet } from "./snippets/document/analyze-multipage"; @@ -95,18 +94,7 @@ async function main(): Promise { } break; } - - case "classify": { - if (!file) { printUsage(); return; } - const image = await ScanbotSDK.ImageRef.fromPath(file); - - switch (subcommand) { - case "document": await DocumentClassifierSnippet.run(image); break; - default: printUsage(); - } - break; - } - + case "enhance": { if (!file) { printUsage(); return; } const image = await ScanbotSDK.ImageRef.fromPath(file); diff --git a/examples/nodejs/src/snippets/document/document-classifier.ts b/examples/nodejs/src/snippets/document/document-classifier.ts deleted file mode 100644 index bf85dd9..0000000 --- a/examples/nodejs/src/snippets/document/document-classifier.ts +++ /dev/null @@ -1,19 +0,0 @@ -import * as ScanbotSDK from "scanbotsdk"; - -export class DocumentClassifierSnippet { - public static async run(image: ScanbotSDK.ImageRef): Promise { - var config = new ScanbotSDK.DocumentClassifierConfiguration(); - - // `await using` ensures both classifier and result are properly disposed - // when the scope ends, as they hold unmanaged resources. - await using classifier = await ScanbotSDK.DocumentClassifier.create(config); - await using result = await classifier.run(image); - - console.log("Detection status: " + result.status); - console.log("Type: " + result.documentType); - - result.documentScanningResult.detectionResult.points.forEach((p) => { - console.log(`x: ${p.x}, y: ${p.y}`); - }); - } -} diff --git a/examples/nodejs/src/snippets/utils/example-usage.ts b/examples/nodejs/src/snippets/utils/example-usage.ts index ec91d1d..ff94d5b 100644 --- a/examples/nodejs/src/snippets/utils/example-usage.ts +++ b/examples/nodejs/src/snippets/utils/example-usage.ts @@ -6,7 +6,6 @@ Usage: Categories & subcommands: scan analyze - classify parse Flags: diff --git a/examples/python/README.md b/examples/python/README.md index 0c2773d..1d06c76 100644 --- a/examples/python/README.md +++ b/examples/python/README.md @@ -132,11 +132,10 @@ Replace `` with the actual version number of the SDK you wa ``` ## Usage -The example supports five modes: **scan**, **analyze**, **classify**, **enhance**, and **parse**. +The example supports five modes: **scan**, **analyze**, **enhance**, and **parse**. ```bash python main.py scan --file [--license ] python main.py analyze --file [--save ] [--license ] -python main.py classify --file|--resource [--license ] python main.py enhance --file [--license ] python main.py parse --text "" [--license ] python main.py live --device "" [--license ] [--preview] [--use_tensorrt] diff --git a/examples/python/main.py b/examples/python/main.py index cb8ae0f..3b198a9 100644 --- a/examples/python/main.py +++ b/examples/python/main.py @@ -1,8 +1,7 @@ import sys import scanbotsdk -from examples.python.snippets.enhancer.document_enhancer import enhance_document -from snippets.document.document_classifier import classify_document +from snippets.enhancer.document_enhancer import enhance_document from snippets.document.analyze_multi_page import analyze_multi_page from snippets.document.crop_and_analyze import crop_and_analyze from snippets.barcode.barcode_document_parser import parse_barcode_document @@ -67,12 +66,6 @@ def main(): elif subcommand == "text_pattern": scan_text_pattern(image) elif subcommand == "vin": scan_vin(image) else: print_usage() - - if category == "classify": - if not file_path: print_usage(); return - with create_image_ref(file_path) as image: - if subcommand == "document": classify_document(image) - else: print_usage() elif category == "enhance": if not file_path: print_usage(); return diff --git a/examples/python/snippets/document/document_classifier.py b/examples/python/snippets/document/document_classifier.py deleted file mode 100644 index 68244dd..0000000 --- a/examples/python/snippets/document/document_classifier.py +++ /dev/null @@ -1,20 +0,0 @@ -from scanbotsdk import * - -def classify_document(image: ImageRef): - config = DocumentClassifierConfiguration( - crop=True - ) - - classifier = DocumentClassifier(configuration=config) - result: DocumentClassifierResult = classifier.run(image=image) - - print(f"Detection status: {result.status.name}") - print(f"Type: {result.document_type.name}") - - if result.document_scanning_result: - print("Detected points:") - for point in result.document_scanning_result.detection_result.points: - print(f"\tx: {point.x}, y: {point.y}") - else: - print("No document corners detected.") - diff --git a/examples/python/utils.py b/examples/python/utils.py index 41c4f31..6fa4f3d 100644 --- a/examples/python/utils.py +++ b/examples/python/utils.py @@ -54,7 +54,6 @@ def print_usage(): print("Scanbot SDK Example\n") print("Usage:") print(" python main.py scan --file [--license ]") - print(" python main.py classify --file [--license ]") print(" python main.py analyze --file --save [--license ]") print(" python main.py parse --text \"\" [--license ]") print(" python main.py live --device [--license ] --preview --use_tensorrt\n") @@ -64,8 +63,6 @@ def print_usage(): " barcode | document | check | credit_card | document_data_extractor | medical_certificate | mrz | ocr | text_pattern | vin\n") print("Available analyze commands:") print(" analyze_multi_page | crop_analyze\n") - print("Available classify commands:") - print(" document\n") print("Available parse commands:") print(" mrz | barcode_doc\n") print("Available live commands:") diff --git a/test-scripts/test-c.sh b/test-scripts/test-c.sh index 6f27080..5af70cd 100755 --- a/test-scripts/test-c.sh +++ b/test-scripts/test-c.sh @@ -46,7 +46,6 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "classify document --file ../../test-scripts/test-images/toll_receipt.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -65,7 +64,6 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" - "Document classify" "Multi-page analyze" "Crop analyze" "MRZ parse" diff --git a/test-scripts/test-java.sh b/test-scripts/test-java.sh index 15c7c41..9b403d9 100755 --- a/test-scripts/test-java.sh +++ b/test-scripts/test-java.sh @@ -33,7 +33,6 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "classify document --file ../../test-scripts/test-images/toll_receipt.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --save /tmp/out.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --save /tmp/crop.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -52,7 +51,6 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" - "Document classify" "Multi-page analyze" "Crop analyze" "MRZ parse" diff --git a/test-scripts/test-nodejs.sh b/test-scripts/test-nodejs.sh index 5d2dac2..1b36db8 100755 --- a/test-scripts/test-nodejs.sh +++ b/test-scripts/test-nodejs.sh @@ -41,7 +41,6 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "classify document --file ../../test-scripts/test-images/toll_receipt.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -60,7 +59,6 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" - "Document classify" "Multi-page analyze" "Crop analyze" "MRZ parse" diff --git a/test-scripts/test-python.sh b/test-scripts/test-python.sh index 60c0b62..cd9b8b5 100755 --- a/test-scripts/test-python.sh +++ b/test-scripts/test-python.sh @@ -33,7 +33,6 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "classify document --file ../../test-scripts/test-images/toll_receipt.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -52,7 +51,6 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" - "Document classify" "Multi-page analyze" "Crop analyze" "MRZ parse" From dffd403e75af850325fe362d25d3c38c9879acc3 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Fri, 19 Jun 2026 14:37:22 +0200 Subject: [PATCH 08/36] Update SDK version to 0.900.6 in CI workflow and test scripts --- .github/workflows/run-tests-ci.yml | 2 +- test-scripts/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/run-tests-ci.yml b/.github/workflows/run-tests-ci.yml index 4221460..2282246 100644 --- a/.github/workflows/run-tests-ci.yml +++ b/.github/workflows/run-tests-ci.yml @@ -41,7 +41,7 @@ on: # Global environment variables env: - SDK_VERSION: '0.810.7' + SDK_VERSION: '0.900.6' jobs: test-x86_64: diff --git a/test-scripts/README.md b/test-scripts/README.md index 3f82e35..10ae792 100644 --- a/test-scripts/README.md +++ b/test-scripts/README.md @@ -29,7 +29,7 @@ test-scripts/ ```bash export SCANBOT_LICENSE="your-license-key-here" -export SDK_VERSION=0.810.7 +export SDK_VERSION=0.900.6 ``` ### 2. Build Test Container From a7955f5840747d86a27d5ed3c1046c5861e7d75b Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Fri, 19 Jun 2026 15:10:55 +0200 Subject: [PATCH 09/36] Update examples and tests to include 'enhance' command and improve error handling --- examples/c/README.md | 2 +- .../snippets/document/analyze_multi_page.c | 23 ++++++++++++++---- .../src/snippets/document/crop_and_analyze.c | 24 +++++++++++++++---- examples/java/README.md | 4 ++-- .../document/AnalyzeMultiPageSnippet.java | 2 +- .../io/scanbot/sdk/utils/ExampleUsage.java | 8 +++++++ examples/nodejs/README.md | 2 +- .../src/snippets/utils/example-usage.ts | 2 ++ examples/python/README.md | 2 +- examples/python/utils.py | 6 +++++ test-scripts/test-c.sh | 2 ++ test-scripts/test-java.sh | 2 ++ test-scripts/test-nodejs.sh | 2 ++ test-scripts/test-python.sh | 2 ++ 14 files changed, 69 insertions(+), 14 deletions(-) diff --git a/examples/c/README.md b/examples/c/README.md index 10120d9..3a835cd 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -83,7 +83,7 @@ In order to build all examples, run the following commands: ## Usage -The example supports five modes: **scan**, **analyze**, **enhance**, and **parse**. +The example supports five modes: **scan**, **analyze**, **enhance**, **parse**, and **live**. ```bash ./scanbotsdk_example scan --file [--license ] ./scanbotsdk_example analyze --file [--save ] [--license ] diff --git a/examples/c/src/snippets/document/analyze_multi_page.c b/examples/c/src/snippets/document/analyze_multi_page.c index d157c65..f152425 100644 --- a/examples/c/src/snippets/document/analyze_multi_page.c +++ b/examples/c/src/snippets/document/analyze_multi_page.c @@ -5,16 +5,31 @@ #include void print_analyzer_result(scanbotsdk_document_quality_analyzer_result_t *result) { - char* quality_str[] = { "ACCEPTABLE", "UNACCEPTABLE", "UNCERTAIN"}; + const char* quality_str[] = { "ACCEPTABLE", "UNACCEPTABLE", "UNCERTAIN" }; + const size_t quality_str_count = sizeof(quality_str) / sizeof(quality_str[0]); bool document_found; scanbotsdk_document_quality_assessment_t quality; + scanbotsdk_error_code_t ec; - scanbotsdk_document_quality_analyzer_result_get_document_found(result, &document_found); - scanbotsdk_document_quality_analyzer_result_get_quality(result, &quality); + ec = scanbotsdk_document_quality_analyzer_result_get_document_found(result, &document_found); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "analyzer_result_get_document_found: %d: %s\n", ec, error_message(ec)); + return; + } + + ec = scanbotsdk_document_quality_analyzer_result_get_quality(result, &quality); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "analyzer_result_get_quality: %d: %s\n", ec, error_message(ec)); + return; + } printf("Document detection: %s\n", document_found ? "Found" : "Not found"); - printf("Document quality: %s\n", quality_str[quality]); + if ((size_t)quality < quality_str_count) { + printf("Document quality: %s\n", quality_str[quality]); + } else { + printf("Document quality: UNKNOWN (%d)\n", (int)quality); + } } static scanbotsdk_error_code_t process_page(scanbotsdk_extracted_page_t *page, scanbotsdk_document_quality_analyzer_t *analyzer) diff --git a/examples/c/src/snippets/document/crop_and_analyze.c b/examples/c/src/snippets/document/crop_and_analyze.c index 7af1ba9..43f01f7 100644 --- a/examples/c/src/snippets/document/crop_and_analyze.c +++ b/examples/c/src/snippets/document/crop_and_analyze.c @@ -88,16 +88,32 @@ scanbotsdk_error_code_t save_cropped_image( } void print_result(scanbotsdk_document_quality_analyzer_result_t *result) { - const char* quality_str[] = { "ACCEPTABLE", "UNACCEPTABLE", "UNCERTAIN"}; + const char* quality_str[] = { "ACCEPTABLE", "UNACCEPTABLE", "UNCERTAIN" }; + const size_t quality_str_count = sizeof(quality_str) / sizeof(quality_str[0]); bool document_found = false; scanbotsdk_document_quality_assessment_t quality; + scanbotsdk_error_code_t ec = SCANBOTSDK_OK; + + ec = scanbotsdk_document_quality_analyzer_result_get_document_found(result, &document_found); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "get_document_found: %d: %s\n", ec, error_message(ec)); + return; + } - scanbotsdk_document_quality_analyzer_result_get_document_found(result, &document_found); - scanbotsdk_document_quality_analyzer_result_get_quality(result, &quality); + ec = scanbotsdk_document_quality_analyzer_result_get_quality(result, &quality); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "get_quality: %d: %s\n", ec, error_message(ec)); + return; + } printf("Document detection: %s\n", document_found ? "Found" : "Not found"); - printf("Document quality: %s (%d)\n", quality_str[quality], quality); + + if ((size_t)quality < quality_str_count) { + printf("Document quality: %s (%d)\n", quality_str[quality], quality); + } else { + printf("Document quality: UNKNOWN (%d)\n", quality); + } } static scanbotsdk_error_code_t analyze_document_quality( diff --git a/examples/java/README.md b/examples/java/README.md index 3be21ed..dca0ae6 100644 --- a/examples/java/README.md +++ b/examples/java/README.md @@ -5,11 +5,11 @@ Open `build.gradle` and replace the constant with the actual version number of the SDK you want to install. ```groovy -def SCANBOTSDK_VERSION = "" // e.g., 8.1.0 +def SCANBOTSDK_VERSION = "" // e.g., 9.0.0 ``` ## Usage -The example supports five commands: **scan**, **analyze**, **enhance**, and **parse**. +The example supports four commands: **scan**, **analyze**, **enhance**, and **parse**. ```bash ./gradlew run --args='scan --file [--license ]' ./gradlew run --args='scan --resource [--license ]' diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/AnalyzeMultiPageSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/AnalyzeMultiPageSnippet.java index fc9539a..90816f1 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/AnalyzeMultiPageSnippet.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/AnalyzeMultiPageSnippet.java @@ -14,7 +14,7 @@ public class AnalyzeMultiPageSnippet { public static void run(String filePath, String resourcePath) throws Exception { DocumentQualityAnalyzerConfiguration analyze_config = new DocumentQualityAnalyzerConfiguration(); - analyze_config.getProcessByTileConfiguration().setTileSize(300);; + analyze_config.getProcessByTileConfiguration().setTileSize(300); analyze_config.setMinEstimatedNumberOfSymbolsForDocument(20); // Configure other parameters as needed. diff --git a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java index 5581063..f76732e 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java +++ b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java @@ -12,6 +12,10 @@ public static void print() { System.out.println(" ./gradlew run --args='analyze --resource --save [--license ]'"); System.out.println("or"); System.out.println(" ./gradlew run --args='analyze --file --save [--license ]'"); + System.out.println("or"); + System.out.println(" ./gradlew run --args='enhance --resource --save [--license ]'"); + System.out.println("or"); + System.out.println(" ./gradlew run --args='enhance --file --save [--license ]'"); System.out.println(); System.out.println(" ./gradlew run --args='parse --text \"\" [--license ]'"); System.out.println(); @@ -21,6 +25,9 @@ public static void print() { System.out.println("Available analyze commands:"); System.out.println(" analyze_multi_page | crop_analyze"); System.out.println(); + System.out.println("Available enhance commands:"); + System.out.println(" document"); + System.out.println(); System.out.println("Available parse commands:"); System.out.println(" mrz | barcode_doc"); System.out.println(); @@ -32,6 +39,7 @@ public static void print() { System.out.println(" ./gradlew run --args='scan barcode --file images/example.jpg --license '"); System.out.println(" ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license '"); System.out.println(" ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license '"); + System.out.println(" ./gradlew run --args='enhance document --file images/doc.jpg --save out/enhanced.jpg --license '"); System.out.println(" ./gradlew run --args='parse mrz --text \"P'"); System.out.println(); } diff --git a/examples/nodejs/README.md b/examples/nodejs/README.md index 93f41f0..6d90c90 100644 --- a/examples/nodejs/README.md +++ b/examples/nodejs/README.md @@ -16,7 +16,7 @@ node -e "console.log(require('scanbotsdk') ? 'Scanbot SDK loaded' : 'Error')" ``` ## Usage -The example supports five modes: **scan**, **analyze**, **enhance**, and **parse**. +The example supports four modes: **scan**, **analyze**, **enhance**, and **parse**. ```bash npx ts-node src/index.ts scan --file [--license ] npx ts-node src/index.ts analyze --file [--save ] [--license ] diff --git a/examples/nodejs/src/snippets/utils/example-usage.ts b/examples/nodejs/src/snippets/utils/example-usage.ts index ff94d5b..a1b79e5 100644 --- a/examples/nodejs/src/snippets/utils/example-usage.ts +++ b/examples/nodejs/src/snippets/utils/example-usage.ts @@ -6,6 +6,7 @@ Usage: Categories & subcommands: scan analyze + enhance parse Flags: @@ -19,6 +20,7 @@ Examples: npx ts-node src/index.ts scan barcode --file images/example.jpg --license npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license + npx ts-node src/index.ts enhance document --file images/doc.jpg --save out/enhanced.jpg --license npx ts-node src/index.ts parse mrz --text "P `); } diff --git a/examples/python/README.md b/examples/python/README.md index 1d06c76..9818024 100644 --- a/examples/python/README.md +++ b/examples/python/README.md @@ -132,7 +132,7 @@ Replace `` with the actual version number of the SDK you wa ``` ## Usage -The example supports five modes: **scan**, **analyze**, **enhance**, and **parse**. +The example supports five modes: **scan**, **analyze**, **enhance**, **parse**, and **live**. ```bash python main.py scan --file [--license ] python main.py analyze --file [--save ] [--license ] diff --git a/examples/python/utils.py b/examples/python/utils.py index 6fa4f3d..f33c743 100644 --- a/examples/python/utils.py +++ b/examples/python/utils.py @@ -55,14 +55,20 @@ def print_usage(): print("Usage:") print(" python main.py scan --file [--license ]") print(" python main.py analyze --file --save [--license ]") + print(" python main.py enhance --file [--license ]") print(" python main.py parse --text \"\" [--license ]") print(" python main.py live --device [--license ] --preview --use_tensorrt\n") + print("Available commands:") + print(" scan | analyze | enhance | parse | live\n") + print("Available scan commands:") print( " barcode | document | check | credit_card | document_data_extractor | medical_certificate | mrz | ocr | text_pattern | vin\n") print("Available analyze commands:") print(" analyze_multi_page | crop_analyze\n") + print("Available enhance commands:") + print(" document \n") print("Available parse commands:") print(" mrz | barcode_doc\n") print("Available live commands:") diff --git a/test-scripts/test-c.sh b/test-scripts/test-c.sh index 5af70cd..41b92ad 100755 --- a/test-scripts/test-c.sh +++ b/test-scripts/test-c.sh @@ -46,6 +46,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" + "enhance document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -64,6 +65,7 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" + "Document enhance" "Multi-page analyze" "Crop analyze" "MRZ parse" diff --git a/test-scripts/test-java.sh b/test-scripts/test-java.sh index 9b403d9..6eea92d 100755 --- a/test-scripts/test-java.sh +++ b/test-scripts/test-java.sh @@ -33,6 +33,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" + "enhance document --file ../../test-scripts/test-images/Document.jpeg --save /tmp/enhanced.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --save /tmp/out.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --save /tmp/crop.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -51,6 +52,7 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" + "Document enhance" "Multi-page analyze" "Crop analyze" "MRZ parse" diff --git a/test-scripts/test-nodejs.sh b/test-scripts/test-nodejs.sh index 1b36db8..44f1394 100755 --- a/test-scripts/test-nodejs.sh +++ b/test-scripts/test-nodejs.sh @@ -41,6 +41,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" + "enhance document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -59,6 +60,7 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" + "Document enhance" "Multi-page analyze" "Crop analyze" "MRZ parse" diff --git a/test-scripts/test-python.sh b/test-scripts/test-python.sh index cd9b8b5..f45800c 100755 --- a/test-scripts/test-python.sh +++ b/test-scripts/test-python.sh @@ -33,6 +33,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" + "enhance document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -51,6 +52,7 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" + "Document enhance" "Multi-page analyze" "Crop analyze" "MRZ parse" From 0aaa3a3afb45b7d45357cadeceb8e7ef73be4d24 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Fri, 19 Jun 2026 15:29:32 +0200 Subject: [PATCH 10/36] Update usage examples to remove '--save' option from 'enhance' command --- .../src/main/java/io/scanbot/sdk/utils/ExampleUsage.java | 6 +++--- examples/nodejs/src/snippets/utils/example-usage.ts | 2 +- test-scripts/test-java.sh | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java index f76732e..c191403 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java +++ b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java @@ -13,9 +13,9 @@ public static void print() { System.out.println("or"); System.out.println(" ./gradlew run --args='analyze --file --save [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='enhance --resource --save [--license ]'"); + System.out.println(" ./gradlew run --args='enhance --resource [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='enhance --file --save [--license ]'"); + System.out.println(" ./gradlew run --args='enhance --file [--license ]'"); System.out.println(); System.out.println(" ./gradlew run --args='parse --text \"\" [--license ]'"); System.out.println(); @@ -39,7 +39,7 @@ public static void print() { System.out.println(" ./gradlew run --args='scan barcode --file images/example.jpg --license '"); System.out.println(" ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license '"); System.out.println(" ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license '"); - System.out.println(" ./gradlew run --args='enhance document --file images/doc.jpg --save out/enhanced.jpg --license '"); + System.out.println(" ./gradlew run --args='enhance document --file images/doc.jpg --license '"); System.out.println(" ./gradlew run --args='parse mrz --text \"P'"); System.out.println(); } diff --git a/examples/nodejs/src/snippets/utils/example-usage.ts b/examples/nodejs/src/snippets/utils/example-usage.ts index a1b79e5..760c1af 100644 --- a/examples/nodejs/src/snippets/utils/example-usage.ts +++ b/examples/nodejs/src/snippets/utils/example-usage.ts @@ -20,7 +20,7 @@ Examples: npx ts-node src/index.ts scan barcode --file images/example.jpg --license npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license - npx ts-node src/index.ts enhance document --file images/doc.jpg --save out/enhanced.jpg --license + npx ts-node src/index.ts enhance document --file images/doc.jpg --license npx ts-node src/index.ts parse mrz --text "P `); } diff --git a/test-scripts/test-java.sh b/test-scripts/test-java.sh index 6eea92d..d4d7522 100755 --- a/test-scripts/test-java.sh +++ b/test-scripts/test-java.sh @@ -33,7 +33,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "enhance document --file ../../test-scripts/test-images/Document.jpeg --save /tmp/enhanced.jpeg --license \"${SCANBOT_LICENSE}\"" + "enhance document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --save /tmp/out.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --save /tmp/crop.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests From 117c48492a2ddcecd01ef06bce351640cb779217 Mon Sep 17 00:00:00 2001 From: Yurii <150049366+yurii-scanbot@users.noreply.github.com> Date: Fri, 19 Jun 2026 15:37:09 +0200 Subject: [PATCH 11/36] include the result in the try-with-resources heade Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- .../sdk/snippets/enhancer/DocumentEnhancerSnippet.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java index ae6b48a..4dbebb7 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java @@ -20,11 +20,10 @@ public static void run(ImageRef image) throws Exception { )); try ( - DocumentEnhancer enhancer = new DocumentEnhancer() + DocumentEnhancer enhancer = new DocumentEnhancer(); + DocumentStraighteningResult result = enhancer.straighten(image, params, List.of()) ) { - DocumentStraighteningResult result = enhancer.straighten(image, params, List.of()); // The straightened image can be accessed via result.getStraightenedImage() and saved or further processed as needed. - } } } From cf6a31e904b271eea94705c56cf12a7cc797dbc9 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Mon, 22 Jun 2026 11:18:59 +0200 Subject: [PATCH 12/36] removed deprecated property usage for DocumentQualityAnalyzerResult --- examples/python/snippets/document/crop_and_analyze.py | 1 - 1 file changed, 1 deletion(-) diff --git a/examples/python/snippets/document/crop_and_analyze.py b/examples/python/snippets/document/crop_and_analyze.py index cb98731..154967f 100644 --- a/examples/python/snippets/document/crop_and_analyze.py +++ b/examples/python/snippets/document/crop_and_analyze.py @@ -35,5 +35,4 @@ def crop_and_analyze(image_path: str, save_path: Optional[str] = None): analyser = DocumentQualityAnalyzer(configuration=analyser_config) quality_result: DocumentQualityAnalyzerResult = analyser.run(image=cropped) - print(f"Document Found: {quality_result.document_found}") print(f"Quality: {quality_result.quality}") From 4c61051088a2fca86f86a11b6a86dcbfc5c8fdd6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Jun 2026 12:31:25 +0000 Subject: [PATCH 13/36] Increase Node.js command timeout in CI tests --- test-scripts/test-nodejs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-scripts/test-nodejs.sh b/test-scripts/test-nodejs.sh index 44f1394..21dfdbf 100755 --- a/test-scripts/test-nodejs.sh +++ b/test-scripts/test-nodejs.sh @@ -71,7 +71,7 @@ for i in "${!commands[@]}"; do cmd="${commands[$i]}" name="${command_names[$i]}" - if timeout 30 npx ts-node src/index.ts $cmd; then + if timeout 60 npx ts-node src/index.ts $cmd; then echo "PASS: $name: PASSED" elif [[ $? -eq 124 ]]; then echo "FAIL: $name: TIMEOUT" From 79689903238971d6ec9eca966f275203db84ffcf Mon Sep 17 00:00:00 2001 From: Aleksei Ioffe Date: Mon, 22 Jun 2026 16:01:55 +0200 Subject: [PATCH 14/36] Use node 22 --- Dockerfile | 2 +- test-scripts/test-nodejs.sh | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0eb7268..a64b5b0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -38,7 +38,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ git \ ca-certificates \ # Add Node.js repository and install - && curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - \ + && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt-get install -y nodejs \ && apt-get clean && rm -rf /var/lib/apt/lists/* diff --git a/test-scripts/test-nodejs.sh b/test-scripts/test-nodejs.sh index 21dfdbf..3c318d4 100755 --- a/test-scripts/test-nodejs.sh +++ b/test-scripts/test-nodejs.sh @@ -3,6 +3,9 @@ set -e echo "=== Node.js SDK Command Tests ===" +echo "Checking Node.js version..." +node -v + # Find the project root directory if [[ -d "/workspaces/scanbot-sdk-example-linux/examples/nodejs" ]]; then cd /workspaces/scanbot-sdk-example-linux/examples/nodejs From 5ebd3b7786a2ca04781bdd7b0d5b1090cb8ecef4 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Mon, 22 Jun 2026 16:14:00 +0200 Subject: [PATCH 15/36] Refactor document quality analysis by removing document found checks in print functions --- .vscode/settings.json | 6 ++++++ examples/c/src/snippets/document/analyze_multi_page.c | 8 -------- examples/c/src/snippets/document/crop_and_analyze.c | 9 --------- examples/python/snippets/document/analyze_multi_page.py | 3 +-- 4 files changed, 7 insertions(+), 19 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c00c037 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "cmake.sourceDirectory": "/home/workspace/temp/scanbot-sdk-example-linux/examples/c", + "chat.tools.terminal.autoApprove": { + "npm install": true + } +} \ No newline at end of file diff --git a/examples/c/src/snippets/document/analyze_multi_page.c b/examples/c/src/snippets/document/analyze_multi_page.c index f152425..cb99f98 100644 --- a/examples/c/src/snippets/document/analyze_multi_page.c +++ b/examples/c/src/snippets/document/analyze_multi_page.c @@ -8,23 +8,15 @@ void print_analyzer_result(scanbotsdk_document_quality_analyzer_result_t *result const char* quality_str[] = { "ACCEPTABLE", "UNACCEPTABLE", "UNCERTAIN" }; const size_t quality_str_count = sizeof(quality_str) / sizeof(quality_str[0]); - bool document_found; scanbotsdk_document_quality_assessment_t quality; scanbotsdk_error_code_t ec; - ec = scanbotsdk_document_quality_analyzer_result_get_document_found(result, &document_found); - if (ec != SCANBOTSDK_OK) { - fprintf(stderr, "analyzer_result_get_document_found: %d: %s\n", ec, error_message(ec)); - return; - } - ec = scanbotsdk_document_quality_analyzer_result_get_quality(result, &quality); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "analyzer_result_get_quality: %d: %s\n", ec, error_message(ec)); return; } - printf("Document detection: %s\n", document_found ? "Found" : "Not found"); if ((size_t)quality < quality_str_count) { printf("Document quality: %s\n", quality_str[quality]); } else { diff --git a/examples/c/src/snippets/document/crop_and_analyze.c b/examples/c/src/snippets/document/crop_and_analyze.c index 43f01f7..84721b1 100644 --- a/examples/c/src/snippets/document/crop_and_analyze.c +++ b/examples/c/src/snippets/document/crop_and_analyze.c @@ -91,24 +91,15 @@ void print_result(scanbotsdk_document_quality_analyzer_result_t *result) { const char* quality_str[] = { "ACCEPTABLE", "UNACCEPTABLE", "UNCERTAIN" }; const size_t quality_str_count = sizeof(quality_str) / sizeof(quality_str[0]); - bool document_found = false; scanbotsdk_document_quality_assessment_t quality; scanbotsdk_error_code_t ec = SCANBOTSDK_OK; - ec = scanbotsdk_document_quality_analyzer_result_get_document_found(result, &document_found); - if (ec != SCANBOTSDK_OK) { - fprintf(stderr, "get_document_found: %d: %s\n", ec, error_message(ec)); - return; - } - ec = scanbotsdk_document_quality_analyzer_result_get_quality(result, &quality); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "get_quality: %d: %s\n", ec, error_message(ec)); return; } - printf("Document detection: %s\n", document_found ? "Found" : "Not found"); - if ((size_t)quality < quality_str_count) { printf("Document quality: %s (%d)\n", quality_str[quality], quality); } else { diff --git a/examples/python/snippets/document/analyze_multi_page.py b/examples/python/snippets/document/analyze_multi_page.py index 380dbfb..5c07992 100644 --- a/examples/python/snippets/document/analyze_multi_page.py +++ b/examples/python/snippets/document/analyze_multi_page.py @@ -24,6 +24,5 @@ def analyze_multi_page(file_path: str): analysis_result = analyser.run(image=extracted_image.image) print( f"Page {page_index + 1}, Image {image_index + 1} " - f"-> Found: {analysis_result.document_found}, " - f"Quality: {analysis_result.quality}" + f"-> Quality: {analysis_result.quality}" ) From ad9c549dcad02565876ec1a8a8c7acbdfc593c7b Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Mon, 22 Jun 2026 16:19:13 +0200 Subject: [PATCH 16/36] Update .gitignore to include .vscode/ and remove settings.json --- .gitignore | 3 ++- .vscode/settings.json | 6 ------ 2 files changed, 2 insertions(+), 7 deletions(-) delete mode 100644 .vscode/settings.json diff --git a/.gitignore b/.gitignore index 000f2a2..eea3de2 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ examples/nodejs/node_modules examples/java/libs/*.jar get-pip.py .env -.venv \ No newline at end of file +.venv +.vscode/ \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index c00c037..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cmake.sourceDirectory": "/home/workspace/temp/scanbot-sdk-example-linux/examples/c", - "chat.tools.terminal.autoApprove": { - "npm install": true - } -} \ No newline at end of file From da094c92c2b03a7e7d75116ffad2407f376f3ab7 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Mon, 6 Jul 2026 13:56:31 +0200 Subject: [PATCH 17/36] Update Libraries.txt for SDK version 9.0.0 and update magic_enum copyright --- Libraries.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Libraries.txt b/Libraries.txt index 0a39244..4df6739 100644 --- a/Libraries.txt +++ b/Libraries.txt @@ -1,4 +1,4 @@ -Open Source libraries used in the Scanbot Linux SDK version 8.1.0: +Open Source libraries used in the Scanbot Linux SDK version 9.0.0: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ @@ -1784,12 +1784,12 @@ defined by AIM ITS/04-023 International Technical Standard - Extended Channel In magic-enum -Version v0.8.1 +Version v0.9.7 (https://github.com/Neargye/magic_enum) MIT License -Copyright (c) 2019 - 2022 Daniil Goncharov +Copyright (c) 2019 - 2024 Daniil Goncharov Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 041faf1a120d04f9d8d2ac090077ccbeb976cd70 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Mon, 6 Jul 2026 16:46:41 +0200 Subject: [PATCH 18/36] Update version to 9.0.0 and documentation --- .github/workflows/run-tests-ci.yml | 2 +- examples/java/build.gradle | 2 +- examples/nodejs/package-lock.json | 8 ++++---- examples/nodejs/package.json | 2 +- test-scripts/README.md | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/run-tests-ci.yml b/.github/workflows/run-tests-ci.yml index 2282246..9ddd06a 100644 --- a/.github/workflows/run-tests-ci.yml +++ b/.github/workflows/run-tests-ci.yml @@ -41,7 +41,7 @@ on: # Global environment variables env: - SDK_VERSION: '0.900.6' + SDK_VERSION: '9.0.0' jobs: test-x86_64: diff --git a/examples/java/build.gradle b/examples/java/build.gradle index 689828c..fa7de16 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -4,7 +4,7 @@ plugins { } // TODO Add your SCANBOTSDK_VERSION here. -def SCANBOTSDK_VERSION = "0.900.6" +def SCANBOTSDK_VERSION = "9.0.0" def arch = System.getProperty("os.arch") def SCANBOTSDK_ARCHITECTURE = (arch.contains("arm") || arch.contains("aarch64")) ? "aarch64" : "x86_64" diff --git a/examples/nodejs/package-lock.json b/examples/nodejs/package-lock.json index 3637aa3..d48279c 100644 --- a/examples/nodejs/package-lock.json +++ b/examples/nodejs/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.6/nodejs-scanbotsdk-0.900.6.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv9.0.0/nodejs-scanbotsdk-9.0.0.tgz" }, "devDependencies": { "@types/node": "^24.3.0", @@ -154,9 +154,9 @@ "license": "ISC" }, "node_modules/scanbotsdk": { - "version": "0.900.6", - "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.6/nodejs-scanbotsdk-0.900.6.tgz", - "integrity": "sha512-Y83QsPumkkoa8ledS1eS69FxlYF7Di0izzHAotPtcIsRah+4X1cE697IwunzGG4g1KVTe+lJq0iu5i9Kk6rRjg==", + "version": "9.0.0", + "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv9.0.0/nodejs-scanbotsdk-9.0.0.tgz", + "integrity": "sha512-aeyz2mSy7X9GY1EVoLFZnNIUTZhgRsjVuJVHsN+XLMatTa/Ifvxyf3gXUkw27SK2c32aesZnDSJfwz3NH3ruTQ==", "hasInstallScript": true, "license": "Commercial", "os": [ diff --git a/examples/nodejs/package.json b/examples/nodejs/package.json index 9ed446d..309e43d 100644 --- a/examples/nodejs/package.json +++ b/examples/nodejs/package.json @@ -15,6 +15,6 @@ "typescript": "^5.9.2" }, "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.900.6/nodejs-scanbotsdk-0.900.6.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv9.0.0/nodejs-scanbotsdk-9.0.0.tgz" } } diff --git a/test-scripts/README.md b/test-scripts/README.md index 10ae792..dcb2569 100644 --- a/test-scripts/README.md +++ b/test-scripts/README.md @@ -29,7 +29,7 @@ test-scripts/ ```bash export SCANBOT_LICENSE="your-license-key-here" -export SDK_VERSION=0.900.6 +export SDK_VERSION=9.0.0 ``` ### 2. Build Test Container From 030c8682fe597b271de7fcd6ab836350bef8a8cf Mon Sep 17 00:00:00 2001 From: Aleksei Ioffe Date: Wed, 29 Jul 2026 14:49:26 +0200 Subject: [PATCH 19/36] Initial Dockerfile --- Dockerfile | 149 ----------------------------------------------------- 1 file changed, 149 deletions(-) delete mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index a64b5b0..0000000 --- a/Dockerfile +++ /dev/null @@ -1,149 +0,0 @@ - -FROM debian:bookworm-slim AS base - -# Build Arguments -ARG ARCH -ARG SDK_VERSION -ARG JAVA_VERSION=17 -ARG SCANBOT_LICENSE - -# Environment Variables -ENV ARCH=${ARCH} \ - SDK_VERSION=${SDK_VERSION} \ - JAVA_VERSION=${JAVA_VERSION} \ - PYENV_ROOT="/opt/pyenv" \ - PATH="/opt/pyenv/bin:/opt/pyenv/shims:$PATH" \ - SDK_BASE_URL="https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv" \ - SCANBOT_LICENSE=${SCANBOT_LICENSE} \ - LANG=C.UTF-8 \ - LC_ALL=C.UTF-8 - -# Install system dependencies -RUN apt-get update && apt-get install -y --no-install-recommends \ - # Build tools - build-essential \ - cmake \ - make \ - libssl-dev \ - zlib1g-dev \ - libbz2-dev \ - libreadline-dev \ - libsqlite3-dev \ - libffi-dev \ - liblzma-dev \ - # Languages - openjdk-${JAVA_VERSION}-jdk \ - # Utilities - curl \ - git \ - ca-certificates \ - # Add Node.js repository and install - && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ - && apt-get install -y nodejs \ - && apt-get clean && rm -rf /var/lib/apt/lists/* - - # Install pyenv and Python 3.6.15 -RUN git clone --depth=1 https://github.com/pyenv/pyenv.git $PYENV_ROOT \ - && pyenv install 3.6.15 \ - && pyenv global 3.6.15 \ - && pyenv rehash - -# Set JAVA_HOME -RUN export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") && \ - echo "JAVA_HOME=$JAVA_HOME" >> /etc/environment - -ENV PATH="/opt/venv/bin:${PATH}" - -# Verify Java installation -RUN java -version && javac -version - -# Set up Python packages -RUN export PATH="/opt/pyenv/bin:/opt/pyenv/shims:$PATH" \ - && eval "$(/opt/pyenv/bin/pyenv init -)" \ - && python -m pip install --upgrade pip setuptools wheel \ - # The opencv-python version is specified to ensure compatibility with Python 3.6 and speed up docker builds - # Once the python is upgraded to 3.7+, this can be changed to just `opencv-python` - && python -m pip install opencv-python==4.5.5.64 numpy pillow - -# Install Python SDK -RUN if [ "${ARCH}" = "linux-aarch64" ]; then \ - PYTHON_ARCH="linux_aarch64"; \ - SDK_ARCH="linux-aarch64"; \ - else \ - PYTHON_ARCH="linux_x86_64"; \ - SDK_ARCH="linux-x86_64"; \ - fi && \ - python -m pip install "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-py3-none-${PYTHON_ARCH}.whl" && \ - echo "Python SDK installed successfully" - -# Set working directory and copy source code -WORKDIR /workspaces/scanbot-sdk-example-linux -COPY . . - -# Download and install all remaining SDKs in optimal locations -RUN echo "Installing Java and C SDKs for architecture: ${ARCH}" && \ - # Set the correct SDK architecture for downloads - if [ "${ARCH}" = "linux-aarch64" ]; then \ - SDK_ARCH="linux-aarch64"; \ - else \ - SDK_ARCH="linux-x86_64"; \ - fi && \ - # Download platform-dependent SDKs (Java and C only) - curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.jar" && \ - curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.tar.gz" && \ - # Install Node.js SDK (platform-independent npm package) - cd examples/nodejs && \ - npm install "${SDK_BASE_URL}${SDK_VERSION}/nodejs-scanbotsdk-${SDK_VERSION}.tgz" && \ - cd /workspaces/scanbot-sdk-example-linux && \ - # Setup Java SDK - mkdir -p examples/java/build/libs && \ - cp "scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.jar" examples/java/build/libs/scanbotsdk.jar && \ - # Setup C SDK - mkdir -p examples/c/build/scanbotsdk && \ - tar -xzf "scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.tar.gz" -C examples/c/build/scanbotsdk --strip-components=1 && \ - # Clean up downloads - rm -f *.tar.gz *.jar && \ - echo "All SDKs installed successfully" - -# Copy test scripts -COPY test-scripts/ /tests/ -RUN chmod +x /tests/*.sh - -# SDK Verification Stage -FROM base AS sdk-verification -RUN echo "=== Comprehensive SDK Verification ===" \ - && python -c "import scanbotsdk; print('Python SDK: Verified')" \ - && cd examples/nodejs && npm install && node -e "const sdk = require('scanbotsdk'); console.log(sdk ? 'OK' : 'FAIL');" \ - && cd /workspaces/scanbot-sdk-example-linux/examples/java && GRADLE_OPTS="-Dfile.encoding=UTF-8" ./gradlew check --no-daemon && echo "Java SDK: Verified" \ - && cd /workspaces/scanbot-sdk-example-linux/examples/c && mkdir -p build && cd build && cmake -DSCANBOTSDK_VERSION=${SDK_VERSION} .. && make && echo "C SDK: OK" - -# Python Tests Stage -FROM sdk-verification AS python-tests -RUN echo "=== Running Python Command Tests ===" \ - && /tests/test-python.sh - -# Java Tests Stage -FROM sdk-verification AS java-tests -RUN echo "=== Running Java Command Tests ===" \ - && /tests/test-java.sh - -# Node.js Tests Stage -FROM sdk-verification AS nodejs-tests -RUN echo "=== Running Node.js Command Tests ===" \ - && /tests/test-nodejs.sh - -# C Tests Stage -FROM sdk-verification AS c-tests -RUN echo "=== Running C Command Tests ===" \ - && /tests/test-c.sh - -# All Tests Stage -FROM sdk-verification AS all-tests -RUN echo "=== Running Complete Test Suite ===" \ - && /tests/run-all-tests.sh \ - && echo "Python import and commands verified" \ - && echo "Java compilation and commands verified" \ - && echo "Node.js compilation and commands verified" \ - && echo "C compilation and commands verified" - - \ No newline at end of file From 1d2e33dfe5c7f7a5551af6d3e4eac60d9621bfff Mon Sep 17 00:00:00 2001 From: Aleksei Ioffe Date: Wed, 29 Jul 2026 14:50:35 +0200 Subject: [PATCH 20/36] Initial dockerfile --- test-scripts/windows/Dockerfile | 177 ++++++++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) create mode 100644 test-scripts/windows/Dockerfile diff --git a/test-scripts/windows/Dockerfile b/test-scripts/windows/Dockerfile new file mode 100644 index 0000000..64dcf43 --- /dev/null +++ b/test-scripts/windows/Dockerfile @@ -0,0 +1,177 @@ +FROM mcr.microsoft.com/windows/servercore:ltsc2022 AS base + +SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"] + +# Build arguments +ARG ARCH=windows-x86_64 +ARG SDK_VERSION +ARG SCANBOT_LICENSE +ARG PYTHON_VERSION=3.10.11 +ARG PYTHON_SDK_WHL_URL +ARG VS_BUILDTOOLS_CHANNEL=17 +ARG C_SDK_ARCHIVE_URL + +# Environment +ENV ARCH=${ARCH} \ + SDK_VERSION=${SDK_VERSION} \ + C_SDK_ARCHIVE_URL=${C_SDK_ARCHIVE_URL} \ + SCANBOT_LICENSE=${SCANBOT_LICENSE} \ + PYTHON_VERSION=${PYTHON_VERSION} \ + PYTHON_SDK_WHL_URL=${PYTHON_SDK_WHL_URL} \ + VS_BUILDTOOLS_CHANNEL=${VS_BUILDTOOLS_CHANNEL} \ + SDK_BASE_URL="https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv" \ + PYTHONUTF8=1 + +# Install Visual Studio C++ Build Tools, CMake and Ninja for C tests +RUN $ErrorActionPreference = 'Stop'; \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + $vsInstaller = 'C:\vs_BuildTools.exe'; \ + $vsUri = ('https://aka.ms/vs/{0}/release/vs_BuildTools.exe' -f $env:VS_BUILDTOOLS_CHANNEL); \ + Invoke-WebRequest -Uri $vsUri -OutFile $vsInstaller; \ + $vsArgs = @( \ + '--quiet', \ + '--wait', \ + '--norestart', \ + '--installPath', 'C:\BuildTools', \ + '--add', 'Microsoft.VisualStudio.Workload.VCTools', \ + '--add', 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64', \ + '--add', 'Microsoft.VisualStudio.Component.Windows10SDK.19041', \ + '--includeRecommended' \ + ); \ + $proc = Start-Process -FilePath $vsInstaller -ArgumentList $vsArgs -Wait -PassThru; \ + $exitCode = $proc.ExitCode; \ + if (($exitCode -ne 0) -and ($exitCode -ne 3010)) { \ + Write-Host 'VS installer failed. Dumping VS temp logs:'; \ + Get-ChildItem -Path $env:TEMP -Filter 'dd_*' -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object -First 20 | ForEach-Object { Write-Host $_.FullName; Get-Content $_.FullName -Tail 80 }; \ + throw ('VS Build Tools install failed with exit code ' + $exitCode) \ + }; \ + $pf86 = [Environment]::GetFolderPath('ProgramFilesX86'); \ + $vsWhere = Join-Path $pf86 'Microsoft Visual Studio\Installer\vswhere.exe'; \ + if (-not (Test-Path $vsWhere)) { throw 'vswhere.exe not found after VS installer run.' }; \ + $installPath = (& $vsWhere -latest -products '*' -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath).Trim(); \ + if ([string]::IsNullOrWhiteSpace($installPath)) { throw 'VC Build Tools instance not found after installation.' }; \ + Set-Content -Path C:\vs-install-path.txt -Value $installPath -NoNewline; \ + Remove-Item $vsInstaller -Force + +# Install Python +RUN $ErrorActionPreference = 'Stop'; \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + $pythonInstaller = 'C:\python-installer.exe'; \ + $pythonUrl = ('https://www.python.org/ftp/python/{0}/python-{0}-amd64.exe' -f $env:PYTHON_VERSION); \ + Invoke-WebRequest -Uri $pythonUrl -OutFile $pythonInstaller; \ + $proc = Start-Process -FilePath $pythonInstaller -ArgumentList '/quiet InstallAllUsers=1 PrependPath=1 Include_pip=1 Include_test=0 Include_launcher=1' -Wait -PassThru; \ + if ($proc.ExitCode -ne 0) { throw ('Python installer failed with exit code ' + $proc.ExitCode) }; \ + Remove-Item $pythonInstaller -Force; \ + $env:Path = [System.Environment]::GetEnvironmentVariable('Path','Machine') + ';' + [System.Environment]::GetEnvironmentVariable('Path','User'); \ + $pythonExe = (Get-Command python -ErrorAction SilentlyContinue).Source; \ + if (-not $pythonExe) { $pythonExe = (Get-Command py -ErrorAction Stop).Source }; \ + Set-Content -Path C:\python-exe.txt -Value $pythonExe -NoNewline; \ + & $pythonExe --version; \ + & $pythonExe -m pip install --upgrade pip setuptools wheel; \ + & $pythonExe -m pip uninstall -y opencv-python opencv-python-headless numpy; \ + & $pythonExe -m pip install --no-cache-dir 'numpy==1.26.4' pillow cmake ninja; \ + & $pythonExe -m pip install --no-cache-dir --no-deps 'opencv-python-headless==4.5.5.64'; \ + & $pythonExe -c 'import numpy, cv2; print("numpy", numpy.__version__); print("cv2", cv2.__version__)'; \ + cmake --version; \ + ninja --version + +# Copy source +WORKDIR C:/workspaces/scanbot-sdk-example-linux +COPY . . + +# Install Scanbot Python SDK from either explicit URL or release URL computed from SDK_VERSION and ARCH +RUN $ErrorActionPreference = 'Stop'; \ + $pythonExe = (Get-Content C:\python-exe.txt -Raw).Trim(); \ + if ($env:ARCH -in @('windows-arm64', 'win-arm64')) { $pythonArch = 'win_arm64' } else { $pythonArch = 'win_amd64' }; \ + if ([string]::IsNullOrWhiteSpace($env:PYTHON_SDK_WHL_URL)) { \ + $wheelUrl = ('{0}{1}/scanbotsdk-{1}-py3-none-{2}.whl' -f $env:SDK_BASE_URL, $env:SDK_VERSION, $pythonArch); \ + } else { \ + $wheelUrl = $env:PYTHON_SDK_WHL_URL; \ + }; \ + Write-Host ('Installing Python SDK from: {0}' -f $wheelUrl); \ + # TODO: Uncomment the following line to install from URL instead of local wheel file + # & $pythonExe -m pip install $wheelUrl; \ + & $pythonExe -m pip install scanbotsdk-0.1000.0-py3-none-win_amd64.whl; \ + Write-Host 'Python SDK installed successfully' + +RUN $ErrorActionPreference = 'Stop'; \ + [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ + if ($env:ARCH -in @('windows-x86_64', 'windows-x64')) { $cSdkArch = 'windows-x64' } elseif ($env:ARCH -in @('windows-arm64', 'win-arm64')) { $cSdkArch = 'windows-arm64' } else { throw ('Unsupported ARCH for C SDK: ' + $env:ARCH) }; \ + if ([string]::IsNullOrWhiteSpace($env:C_SDK_ARCHIVE_URL)) { \ + $cSdkUrl = ('{0}{1}/scanbotsdk-{1}-{2}.tar.gz' -f $env:SDK_BASE_URL, $env:SDK_VERSION, $cSdkArch); \ + } else { \ + $cSdkUrl = $env:C_SDK_ARCHIVE_URL; \ + }; \ + $archiveName = ('scanbotsdk-{0}-{1}.tar.gz' -f $env:SDK_VERSION, $cSdkArch); \ + $localArchive = Join-Path 'C:\workspaces\scanbot-sdk-example-linux' $archiveName; \ + $archivePath = 'C:\scanbotsdk-c.tar.gz'; \ + $sdkRoot = 'C:\scanbotsdk-cache'; \ + if (Test-Path $sdkRoot) { Remove-Item $sdkRoot -Recurse -Force }; \ + New-Item -ItemType Directory -Path $sdkRoot | Out-Null; \ + if (Test-Path $localArchive) { \ + Write-Host ('Using local debug C SDK archive: {0}' -f $localArchive); \ + Copy-Item -Path $localArchive -Destination $archivePath -Force; \ + } else { \ + Write-Host ('Downloading C SDK from: {0}' -f $cSdkUrl); \ + Invoke-WebRequest -Uri $cSdkUrl -OutFile $archivePath; \ + }; \ + Push-Location $sdkRoot; \ + cmake -E tar -xf $archivePath; \ + Pop-Location; \ + Remove-Item $archivePath -Force; \ + if (-not (Test-Path (Join-Path $sdkRoot 'scanbotsdk\include\ScanbotSDK.h'))) { throw 'C SDK include files not found after extraction.' }; \ + if (-not (Test-Path (Join-Path $sdkRoot 'scanbotsdk\lib'))) { throw 'C SDK lib directory not found after extraction.' }; \ + Set-Content -Path C:\c-sdk-dir.txt -Value $sdkRoot -NoNewline; \ + Write-Host ('C SDK installed at: {0}' -f (Join-Path $sdkRoot 'scanbotsdk')) + +# Install CMake and Ninja for C tests +RUN $ErrorActionPreference = 'Stop'; \ + $installPath = (Get-Content C:\vs-install-path.txt -Raw).Trim(); \ + $vsDevCmd = Join-Path $installPath 'Common7\Tools\VsDevCmd.bat'; \ + $cSdkDir = (Get-Content C:\c-sdk-dir.txt -Raw).Trim(); \ + if ([string]::IsNullOrWhiteSpace($cSdkDir)) { throw 'C SDK dir is empty' }; \ + cmd /c ('"' + $vsDevCmd + '" -arch=x64 && cd /d C:\workspaces\scanbot-sdk-example-linux && cmake -S examples\c -B examples\c\build -G Ninja -DSCANBOTSDK_DIR=' + $cSdkDir + ' -DSCANBOTSDK_VERSION=' + $env:SDK_VERSION + ' && cmake --build examples\c\build --config Release -- -k 50'); \ + if ($LASTEXITCODE -ne 0) { throw ('C build failed with exit code ' + $LASTEXITCODE) }; + +# SDK verification stage +FROM base AS sdk-verification +RUN $ErrorActionPreference = 'Stop'; \ + Write-Host '=== Comprehensive SDK Verification ==='; \ + $installPath = (Get-Content C:\vs-install-path.txt -Raw).Trim(); \ + if ([string]::IsNullOrWhiteSpace($installPath)) { throw 'VS install path not found.' }; \ + $vsDevCmd = Join-Path $installPath 'Common7\Tools\VsDevCmd.bat'; \ + $vcvars64 = Join-Path $installPath 'VC\Auxiliary\Build\vcvars64.bat'; \ + if (Test-Path $vsDevCmd) { \ + cmd /c ('"' + $vsDevCmd + '" -arch=x64 && where cl && cl /? >nul'); \ + } elseif (Test-Path $vcvars64) { \ + cmd /c ('"' + $vcvars64 + '" && where cl && cl /? >nul'); \ + } else { \ + throw ('Neither VsDevCmd.bat nor vcvars64.bat found under: ' + $installPath) \ + }; \ + if ($LASTEXITCODE -ne 0) { throw ('MSVC toolchain verification failed with exit code ' + $LASTEXITCODE) }; \ + cmake --version; \ + if ($LASTEXITCODE -ne 0) { throw 'cmake not available' }; \ + ninja --version; \ + if ($LASTEXITCODE -ne 0) { throw 'ninja not available' }; \ + $pythonExe = (Get-Content C:\python-exe.txt -Raw).Trim(); \ + $pyCode = 'import scanbotsdk; print(''Python SDK: Verified'')'; \ + & $pythonExe -c $pyCode; \ + $pyExit = $LASTEXITCODE; \ + if ($pyExit -ne 0) { throw ('Python SDK verification failed with exit code ' + $pyExit) }; + +# Python tests stage (PowerShell-only, no bash) +FROM sdk-verification AS python-tests +RUN $ErrorActionPreference = 'Stop'; \ + Write-Host '=== Running Python Command Tests ==='; \ + powershell -NoProfile -ExecutionPolicy Bypass -File C:/workspaces/scanbot-sdk-example-linux/test-scripts/windows/test-python.ps1 + +# C tests stage (PowerShell-only, no bash) +FROM sdk-verification AS c-tests +RUN $ErrorActionPreference = 'Stop'; \ + Write-Host '=== Running C Command Tests ==='; \ + powershell -NoProfile -ExecutionPolicy Bypass -File C:/workspaces/scanbot-sdk-example-linux/test-scripts/windows/test-c.ps1 + +# All tests stage (kept for target compatibility with existing workflow patterns) +FROM sdk-verification AS all-tests +RUN $ErrorActionPreference = 'Stop'; \ + powershell -NoProfile -ExecutionPolicy Bypass -File C:/workspaces/scanbot-sdk-example-linux/test-scripts/windows/run-all-tests.ps1 From 0406ad5448f55cf8af9e1081c5e9d4172918146d Mon Sep 17 00:00:00 2001 From: Aleksei Ioffe Date: Wed, 29 Jul 2026 14:51:00 +0200 Subject: [PATCH 21/36] Initial ps1 scripts --- test-scripts/windows/run-all-tests.ps1 | 69 +++++++++++++++++ test-scripts/windows/test-c.ps1 | 102 +++++++++++++++++++++++++ test-scripts/windows/test-python.ps1 | 85 +++++++++++++++++++++ 3 files changed, 256 insertions(+) create mode 100755 test-scripts/windows/run-all-tests.ps1 create mode 100755 test-scripts/windows/test-c.ps1 create mode 100755 test-scripts/windows/test-python.ps1 diff --git a/test-scripts/windows/run-all-tests.ps1 b/test-scripts/windows/run-all-tests.ps1 new file mode 100755 index 0000000..d7a587b --- /dev/null +++ b/test-scripts/windows/run-all-tests.ps1 @@ -0,0 +1,69 @@ +$ErrorActionPreference = 'Stop' + +Write-Host '========================================' +Write-Host ' Scanbot SDK - Full Test Suite' +Write-Host '========================================' + +$failedTests = @() +$totalTests = 0 +$passedTests = 0 + +function Invoke-TestSuite { + param( + [Parameter(Mandatory = $true)][string]$TestName, + [Parameter(Mandatory = $true)][string]$ScriptPath + ) + + Write-Host '' + Write-Host ("Running {0} tests..." -f $TestName) + $script:totalTests += 1 + + if (-not (Test-Path -Path $ScriptPath)) { + Write-Host ("FAIL: {0} tests FAILED (script not found: {1})" -f $TestName, $ScriptPath) + $script:failedTests += $TestName + return + } + + try { + & powershell -NoProfile -ExecutionPolicy Bypass -File $ScriptPath + if ($LASTEXITCODE -eq 0) { + Write-Host ("PASS: {0} tests PASSED" -f $TestName) + $script:passedTests += 1 + } else { + Write-Host ("FAIL: {0} tests FAILED" -f $TestName) + $script:failedTests += $TestName + } + } catch { + Write-Host ("FAIL: {0} tests FAILED" -f $TestName) + Write-Host $_.Exception.Message + $script:failedTests += $TestName + } +} + +$pythonScript = Join-Path $PSScriptRoot 'test-python.ps1' +$cScript = Join-Path $PSScriptRoot 'test-c.ps1' + +Invoke-TestSuite -TestName 'Python' -ScriptPath $pythonScript +Invoke-TestSuite -TestName 'C' -ScriptPath $cScript + +Write-Host '' +Write-Host '========================================' +Write-Host ' Test Summary' +Write-Host '========================================' +Write-Host ("Total test suites: {0}" -f $totalTests) +Write-Host ("Passed: {0}" -f $passedTests) +Write-Host ("Failed: {0}" -f ($totalTests - $passedTests)) + +if ($passedTests -eq $totalTests) { + Write-Host '' + Write-Host 'ALL TESTS PASSED!' + Write-Host 'Scanbot SDK is working correctly across all platforms.' + exit 0 +} + +Write-Host '' +Write-Host 'Some tests failed:' +Write-Host ($failedTests -join ', ') +Write-Host '' +Write-Host 'Please check the logs above for details.' +exit 1 diff --git a/test-scripts/windows/test-c.ps1 b/test-scripts/windows/test-c.ps1 new file mode 100755 index 0000000..0d404dc --- /dev/null +++ b/test-scripts/windows/test-c.ps1 @@ -0,0 +1,102 @@ +$ErrorActionPreference = 'Stop' + +Write-Host '=== C SDK Command Tests ===' + +$repoCandidates = @( + 'C:/workspaces/scanbot-sdk-example-linux', + (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path +) + +$repoRoot = $null +foreach ($candidate in $repoCandidates) { + if (Test-Path (Join-Path $candidate 'examples/c/CMakeLists.txt')) { + $repoRoot = $candidate + break + } +} + +if (-not $repoRoot) { + Write-Host 'ERROR: Cannot find C examples directory' + exit 1 +} + +if ([string]::IsNullOrWhiteSpace($env:SCANBOT_LICENSE)) { + Write-Host 'ERROR: No license available' + Write-Host 'SCANBOT_LICENSE environment variable is not set' + Write-Host 'Tests cannot run without a valid license' + exit 1 +} + +Set-Location (Join-Path $repoRoot 'examples/c') + +$exePath = Join-Path (Get-Location) 'build/scanbotsdk_example.exe' +if (-not (Test-Path $exePath)) { + Write-Host 'FAIL: C executable: NOT FOUND' + Write-Host 'Looking for executable in current directory:' + Get-ChildItem -Force | Format-Table -AutoSize + Write-Host 'Looking for executable in build directory:' + if (Test-Path './build') { + Get-ChildItem './build' -Force | Format-Table -AutoSize + } else { + Write-Host 'Build directory not found' + } + exit 1 +} + +Write-Host 'PASS: C executable: EXISTS' +Get-Item $exePath | Format-List FullName, Length, LastWriteTime + +function Invoke-WithTimeout { + param( + [Parameter(Mandatory = $true)][string]$FilePath, + [Parameter(Mandatory = $true)][string[]]$ArgumentList, + [int]$TimeoutSec = 30 + ) + + $proc = Start-Process -FilePath $FilePath -ArgumentList $ArgumentList -NoNewWindow -PassThru + $null = Wait-Process -Id $proc.Id -Timeout $TimeoutSec -ErrorAction SilentlyContinue + + if (-not $proc.HasExited) { + Stop-Process -Id $proc.Id -Force -ErrorAction SilentlyContinue + return 124 + } + + $proc.Refresh() + return [int]$proc.ExitCode +} + +Write-Host 'Testing SCAN commands...' + +$commands = @( + @{ Name = 'Barcode scan'; Args = @('scan', 'barcode', '--file', '../../test-scripts/test-images/qrcode.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Document scan'; Args = @('scan', 'document', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Check scan'; Args = @('scan', 'check', '--file', '../../test-scripts/test-images/check.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Credit card scan'; Args = @('scan', 'credit_card', '--file', '../../test-scripts/test-images/credit_card.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Document extractor scan'; Args = @('scan', 'document_data_extractor', '--file', '../../test-scripts/test-images/EHIC.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Medical certificate scan'; Args = @('scan', 'medical_certificate', '--file', '../../test-scripts/test-images/medical_certificate.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'MRZ scan'; Args = @('scan', 'mrz', '--file', '../../test-scripts/test-images/MRZ_passport.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'OCR scan'; Args = @('scan', 'ocr', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Text pattern scan'; Args = @('scan', 'text_pattern', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'VIN scan'; Args = @('scan', 'vin', '--file', '../../test-scripts/test-images/VIN.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Document enhance'; Args = @('enhance', 'document', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Multi-page analyze'; Args = @('analyze', 'analyze_multi_page', '--file', '../../test-scripts/test-images/multi_page_document.pdf', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Crop analyze'; Args = @('analyze', 'crop_analyze', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'MRZ parse'; Args = @('parse', 'mrz', '--text', 'P Date: Wed, 29 Jul 2026 14:51:43 +0200 Subject: [PATCH 22/36] Move linux scripts --- .github/workflows/run-tests-ci.yml | 3 +- test-scripts/linux/Dockerfile | 149 ++++++++++++++++++++++ test-scripts/{ => linux}/run-all-tests.sh | 0 test-scripts/{ => linux}/test-c.sh | 0 test-scripts/{ => linux}/test-java.sh | 0 test-scripts/{ => linux}/test-nodejs.sh | 0 test-scripts/{ => linux}/test-python.sh | 0 7 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 test-scripts/linux/Dockerfile rename test-scripts/{ => linux}/run-all-tests.sh (100%) rename test-scripts/{ => linux}/test-c.sh (100%) rename test-scripts/{ => linux}/test-java.sh (100%) rename test-scripts/{ => linux}/test-nodejs.sh (100%) rename test-scripts/{ => linux}/test-python.sh (100%) diff --git a/.github/workflows/run-tests-ci.yml b/.github/workflows/run-tests-ci.yml index 9ddd06a..fee73e9 100644 --- a/.github/workflows/run-tests-ci.yml +++ b/.github/workflows/run-tests-ci.yml @@ -58,10 +58,11 @@ jobs: - name: Build Docker image (x86_64) run: | docker build \ + -f test-scripts/linux/Dockerfile \ --build-arg SDK_VERSION=${{ inputs.sdk_version || env.SDK_VERSION }} \ --build-arg ARCH=linux-x86_64 \ --build-arg SCANBOT_LICENSE="${{ secrets.SCANBOT_LICENSE_KEY }}" \ - --target all-tests \ + --target sdk-verification \ -t scanbot-linux-x86_64:latest . # Run the test suite with secure stdin approach diff --git a/test-scripts/linux/Dockerfile b/test-scripts/linux/Dockerfile new file mode 100644 index 0000000..7ea0c50 --- /dev/null +++ b/test-scripts/linux/Dockerfile @@ -0,0 +1,149 @@ + +FROM debian:bookworm-slim AS base + +# Build Arguments +ARG ARCH +ARG SDK_VERSION +ARG JAVA_VERSION=17 +ARG SCANBOT_LICENSE + +# Environment Variables +ENV ARCH=${ARCH} \ + SDK_VERSION=${SDK_VERSION} \ + JAVA_VERSION=${JAVA_VERSION} \ + PYENV_ROOT="/opt/pyenv" \ + PATH="/opt/pyenv/bin:/opt/pyenv/shims:$PATH" \ + SDK_BASE_URL="https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv" \ + SCANBOT_LICENSE=${SCANBOT_LICENSE} \ + LANG=C.UTF-8 \ + LC_ALL=C.UTF-8 + +# Install system dependencies +RUN apt-get update && apt-get install -y --no-install-recommends \ + # Build tools + build-essential \ + cmake \ + make \ + libssl-dev \ + zlib1g-dev \ + libbz2-dev \ + libreadline-dev \ + libsqlite3-dev \ + libffi-dev \ + liblzma-dev \ + # Languages + openjdk-${JAVA_VERSION}-jdk \ + # Utilities + curl \ + git \ + ca-certificates \ + # Add Node.js repository and install + && curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ + && apt-get install -y nodejs \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + + # Install pyenv and Python 3.6.15 +RUN git clone --depth=1 https://github.com/pyenv/pyenv.git $PYENV_ROOT \ + && pyenv install 3.6.15 \ + && pyenv global 3.6.15 \ + && pyenv rehash + +# Set JAVA_HOME +RUN export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") && \ + echo "JAVA_HOME=$JAVA_HOME" >> /etc/environment + +ENV PATH="/opt/venv/bin:${PATH}" + +# Verify Java installation +RUN java -version && javac -version + +# Set up Python packages +RUN export PATH="/opt/pyenv/bin:/opt/pyenv/shims:$PATH" \ + && eval "$(/opt/pyenv/bin/pyenv init -)" \ + && python -m pip install --upgrade pip setuptools wheel \ + # The opencv-python version is specified to ensure compatibility with Python 3.6 and speed up docker builds + # Once the python is upgraded to 3.7+, this can be changed to just `opencv-python` + && python -m pip install opencv-python==4.5.5.64 numpy pillow + +# Install Python SDK +RUN if [ "${ARCH}" = "linux-aarch64" ]; then \ + PYTHON_ARCH="linux_aarch64"; \ + SDK_ARCH="linux-aarch64"; \ + else \ + PYTHON_ARCH="linux_x86_64"; \ + SDK_ARCH="linux-x86_64"; \ + fi && \ + python -m pip install "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-py3-none-${PYTHON_ARCH}.whl" && \ + echo "Python SDK installed successfully" + +# Set working directory and copy source code +WORKDIR /workspaces/scanbot-sdk-example-linux +COPY . . + +# Download and install all remaining SDKs in optimal locations +RUN echo "Installing Java and C SDKs for architecture: ${ARCH}" && \ + # Set the correct SDK architecture for downloads + if [ "${ARCH}" = "linux-aarch64" ]; then \ + SDK_ARCH="linux-aarch64"; \ + else \ + SDK_ARCH="linux-x86_64"; \ + fi && \ + # Download platform-dependent SDKs (Java and C only) + curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.jar" && \ + curl -L -O "${SDK_BASE_URL}${SDK_VERSION}/scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.tar.gz" && \ + # Install Node.js SDK (platform-independent npm package) + cd examples/nodejs && \ + npm install "${SDK_BASE_URL}${SDK_VERSION}/nodejs-scanbotsdk-${SDK_VERSION}.tgz" && \ + cd /workspaces/scanbot-sdk-example-linux && \ + # Setup Java SDK + mkdir -p examples/java/build/libs && \ + cp "scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.jar" examples/java/build/libs/scanbotsdk.jar && \ + # Setup C SDK + mkdir -p examples/c/build/scanbotsdk && \ + tar -xzf "scanbotsdk-${SDK_VERSION}-${SDK_ARCH}.tar.gz" -C examples/c/build/scanbotsdk --strip-components=1 && \ + # Clean up downloads + rm -f *.tar.gz *.jar && \ + echo "All SDKs installed successfully" + +# Copy test scripts +COPY test-scripts/linux/ /tests/ +RUN chmod +x /tests/*.sh + +# SDK Verification Stage +FROM base AS sdk-verification +RUN echo "=== Comprehensive SDK Verification ===" \ + && python -c "import scanbotsdk; print('Python SDK: Verified')" \ + && cd examples/nodejs && npm install && node -e "const sdk = require('scanbotsdk'); console.log(sdk ? 'OK' : 'FAIL');" \ + && cd /workspaces/scanbot-sdk-example-linux/examples/java && GRADLE_OPTS="-Dfile.encoding=UTF-8" ./gradlew check --no-daemon && echo "Java SDK: Verified" \ + && cd /workspaces/scanbot-sdk-example-linux/examples/c && mkdir -p build && cd build && cmake -DSCANBOTSDK_VERSION=${SDK_VERSION} .. && make && echo "C SDK: OK" + +# Python Tests Stage +FROM sdk-verification AS python-tests +RUN echo "=== Running Python Command Tests ===" \ + && /tests/test-python.sh + +# Java Tests Stage +FROM sdk-verification AS java-tests +RUN echo "=== Running Java Command Tests ===" \ + && /tests/test-java.sh + +# Node.js Tests Stage +FROM sdk-verification AS nodejs-tests +RUN echo "=== Running Node.js Command Tests ===" \ + && /tests/test-nodejs.sh + +# C Tests Stage +FROM sdk-verification AS c-tests +RUN echo "=== Running C Command Tests ===" \ + && /tests/test-c.sh + +# All Tests Stage +FROM sdk-verification AS all-tests +RUN echo "=== Running Complete Test Suite ===" \ + && /tests/run-all-tests.sh \ + && echo "Python import and commands verified" \ + && echo "Java compilation and commands verified" \ + && echo "Node.js compilation and commands verified" \ + && echo "C compilation and commands verified" + + \ No newline at end of file diff --git a/test-scripts/run-all-tests.sh b/test-scripts/linux/run-all-tests.sh similarity index 100% rename from test-scripts/run-all-tests.sh rename to test-scripts/linux/run-all-tests.sh diff --git a/test-scripts/test-c.sh b/test-scripts/linux/test-c.sh similarity index 100% rename from test-scripts/test-c.sh rename to test-scripts/linux/test-c.sh diff --git a/test-scripts/test-java.sh b/test-scripts/linux/test-java.sh similarity index 100% rename from test-scripts/test-java.sh rename to test-scripts/linux/test-java.sh diff --git a/test-scripts/test-nodejs.sh b/test-scripts/linux/test-nodejs.sh similarity index 100% rename from test-scripts/test-nodejs.sh rename to test-scripts/linux/test-nodejs.sh diff --git a/test-scripts/test-python.sh b/test-scripts/linux/test-python.sh similarity index 100% rename from test-scripts/test-python.sh rename to test-scripts/linux/test-python.sh From 0998562e3281b4149fd42228ca3b23c18d82c507 Mon Sep 17 00:00:00 2001 From: Aleksei Ioffe Date: Wed, 29 Jul 2026 14:52:00 +0200 Subject: [PATCH 23/36] Update c tests --- examples/c/src/snippets/barcode/detect_barcode.c | 8 ++++---- .../src/snippets/barcode/parse_barcode_document.c | 3 ++- .../datacapture/medical_certificate_scanner.c | 7 ++++--- examples/c/src/snippets/datacapture/mrz_parser.c | 3 ++- examples/c/src/snippets/datacapture/ocr.c | 5 +++-- .../snippets/datacapture/text_pattern_scanner.c | 7 ++++--- examples/c/src/snippets/datacapture/vin_scanner.c | 5 +++-- .../c/src/snippets/enhancer/document_enhancer.c | 14 +++++++------- examples/c/src/snippets/live/live_barcode.c | 8 +++++--- examples/c/src/utils/utils.c | 10 ++++++---- 10 files changed, 40 insertions(+), 30 deletions(-) diff --git a/examples/c/src/snippets/barcode/detect_barcode.c b/examples/c/src/snippets/barcode/detect_barcode.c index fd33cf6..e4f4d4c 100644 --- a/examples/c/src/snippets/barcode/detect_barcode.c +++ b/examples/c/src/snippets/barcode/detect_barcode.c @@ -21,11 +21,11 @@ scanbotsdk_error_code_t print_barcodes_result(scanbotsdk_barcode_scanner_result_ if (ec != SCANBOTSDK_OK) { fprintf(stderr, "get_barcodes: %d: %s\n", ec, error_message(ec)); goto cleanup; } for (size_t i = 0; i < count; ++i) { - const char *text = NULL; + scanbotsdk_u8string_ref_t text_ref = {0}; scanbotsdk_generic_document_t *doc = NULL; - - scanbotsdk_barcode_item_get_text(barcodes[i], &text); - fprintf(stdout, " %zu) %s\n", i + 1, text); + scanbotsdk_barcode_item_get_text(barcodes[i], &text_ref); + const char *text = scanbotsdk_u8string_ref_assume_cstring(text_ref); + fprintf(stdout, " %zu) %s\n", i + 1, text ? text : ""); scanbotsdk_barcode_item_get_extracted_document(barcodes[i], &doc); if(doc != NULL) { diff --git a/examples/c/src/snippets/barcode/parse_barcode_document.c b/examples/c/src/snippets/barcode/parse_barcode_document.c index bebab44..537f02c 100644 --- a/examples/c/src/snippets/barcode/parse_barcode_document.c +++ b/examples/c/src/snippets/barcode/parse_barcode_document.c @@ -30,7 +30,8 @@ scanbotsdk_error_code_t parse_barcode_document(const char* raw_string) { ec = scanbotsdk_barcode_document_parser_create(formats, formats_count, &parser); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "create_parser: %d: %s\n", ec, error_message(ec)); goto cleanup; } - ec = scanbotsdk_barcode_document_parser_parse(parser, raw_string, &result); + scanbotsdk_u8string_ref_t raw_ref = scanbotsdk_u8string_ref_from_cstring(raw_string); + ec = scanbotsdk_barcode_document_parser_parse(parser, raw_ref, &result); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "parser_parse: %d: %s\n", ec, error_message(ec)); goto cleanup; } ec = scanbotsdk_barcode_document_parser_result_get_parsed_document(result, &parsed_doc); diff --git a/examples/c/src/snippets/datacapture/medical_certificate_scanner.c b/examples/c/src/snippets/datacapture/medical_certificate_scanner.c index 68b1afa..c156cb7 100644 --- a/examples/c/src/snippets/datacapture/medical_certificate_scanner.c +++ b/examples/c/src/snippets/datacapture/medical_certificate_scanner.c @@ -25,12 +25,13 @@ scanbotsdk_error_code_t print_medical_certificate_result(scanbotsdk_medical_cert for (size_t i = 0; i < count; ++i) { scanbotsdk_medical_certificate_patient_info_field_type_t type; - const char* value = NULL; + scanbotsdk_u8string_ref_t value_ref = {0}; scanbotsdk_medical_certificate_patient_info_field_get_type(fields[i], &type); - scanbotsdk_medical_certificate_patient_info_field_get_value(fields[i], &value); + scanbotsdk_medical_certificate_patient_info_field_get_value(fields[i], &value_ref); - fprintf(stderr, "Type: %d Value: %s\n", type, value); + const char *value = scanbotsdk_u8string_ref_assume_cstring(value_ref); + fprintf(stderr, "Type: %d Value: %s\n", type, value ? value : ""); } cleanup: diff --git a/examples/c/src/snippets/datacapture/mrz_parser.c b/examples/c/src/snippets/datacapture/mrz_parser.c index f319645..53453ba 100644 --- a/examples/c/src/snippets/datacapture/mrz_parser.c +++ b/examples/c/src/snippets/datacapture/mrz_parser.c @@ -19,7 +19,8 @@ scanbotsdk_error_code_t parse_mrz(const char* text) { ec = scanbotsdk_mrz_parser_create(config, &parser); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "create_parser: %d: %s\n", ec, error_message(ec)); goto cleanup; } - ec = scanbotsdk_mrz_parser_parse(parser, text, &result); + scanbotsdk_u8string_ref_t text_ref = scanbotsdk_u8string_ref_from_cstring(text); + ec = scanbotsdk_mrz_parser_parse(parser, text_ref, &result); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "parse: %d: %s\n", ec, error_message(ec)); goto cleanup; } ec = scanbotsdk_mrz_scanner_result_get_document(result, &mrz); diff --git a/examples/c/src/snippets/datacapture/ocr.c b/examples/c/src/snippets/datacapture/ocr.c index 34f9056..6abafb5 100644 --- a/examples/c/src/snippets/datacapture/ocr.c +++ b/examples/c/src/snippets/datacapture/ocr.c @@ -5,8 +5,9 @@ #include static void print_ocr_element_text(scanbotsdk_ocr_element_t *el, const char *label, int indent) { - const char *text = NULL; - scanbotsdk_ocr_element_get_text(el, &text); + scanbotsdk_u8string_ref_t text_ref = {0}; + scanbotsdk_ocr_element_get_text(el, &text_ref); + const char *text = scanbotsdk_u8string_ref_assume_cstring(text_ref); for (int i = 0; i < indent; i++) printf(" "); printf("%s: \"%s\"\n", label, text ? text : ""); diff --git a/examples/c/src/snippets/datacapture/text_pattern_scanner.c b/examples/c/src/snippets/datacapture/text_pattern_scanner.c index acff3cf..f843747 100644 --- a/examples/c/src/snippets/datacapture/text_pattern_scanner.c +++ b/examples/c/src/snippets/datacapture/text_pattern_scanner.c @@ -6,11 +6,12 @@ scanbotsdk_error_code_t print_text_pattern_result(scanbotsdk_text_pattern_scanner_result_t *result) { scanbotsdk_error_code_t ec; - const char* raw_text; + scanbotsdk_u8string_ref_t raw_text_ref = {0}; + const char *raw_text = NULL; - ec = scanbotsdk_text_pattern_scanner_result_get_raw_text(result, &raw_text); + ec = scanbotsdk_text_pattern_scanner_result_get_raw_text(result, &raw_text_ref); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "get_raw_text: %d\n", ec); return ec; } - + raw_text = scanbotsdk_u8string_ref_assume_cstring(raw_text_ref); printf("Raw Text: %s\n", raw_text); return ec; } diff --git a/examples/c/src/snippets/datacapture/vin_scanner.c b/examples/c/src/snippets/datacapture/vin_scanner.c index 0b974cd..28509b3 100644 --- a/examples/c/src/snippets/datacapture/vin_scanner.c +++ b/examples/c/src/snippets/datacapture/vin_scanner.c @@ -7,10 +7,11 @@ scanbotsdk_error_code_t print_vin_result(scanbotsdk_vin_scanner_result_t *result) { scanbotsdk_error_code_t ec = SCANBOTSDK_OK; scanbotsdk_text_pattern_scanner_result_t *text_result; - const char* raw_text; + scanbotsdk_u8string_ref_t raw_text_ref = {0}; scanbotsdk_vin_scanner_result_get_text_result(result, &text_result); - scanbotsdk_text_pattern_scanner_result_get_raw_text(text_result, &raw_text); + scanbotsdk_text_pattern_scanner_result_get_raw_text(text_result, &raw_text_ref); + const char* raw_text = scanbotsdk_u8string_ref_assume_cstring(raw_text_ref); printf("Text: %s\n", raw_text); return ec; diff --git a/examples/c/src/snippets/enhancer/document_enhancer.c b/examples/c/src/snippets/enhancer/document_enhancer.c index dc637e1..4d266fe 100644 --- a/examples/c/src/snippets/enhancer/document_enhancer.c +++ b/examples/c/src/snippets/enhancer/document_enhancer.c @@ -9,7 +9,7 @@ scanbotsdk_error_code_t enhance_document(scanbotsdk_image_t *image) { scanbotsdk_document_straightening_result_t *result = NULL; scanbotsdk_document_straightening_parameters_t *straightening_params = NULL; - scanbotsdk_document_enhancer_t *enhancer = NULL; + scanbotsdk_document_straightener_t *straightener = NULL; scanbotsdk_image_t *straightened_image = NULL; scanbotsdk_aspect_ratio_t *aspect_ratios[4] = {0}; @@ -34,18 +34,18 @@ scanbotsdk_error_code_t enhance_document(scanbotsdk_image_t *image) { ); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_straightening_parameters_create: %d: %s\n", ec, error_message(ec)); goto cleanup; } - ec = scanbotsdk_document_enhancer_create(&enhancer); - if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_enhancer_create: %d: %s\n", ec, error_message(ec)); goto cleanup; } + ec = scanbotsdk_document_straightener_create(&straightener); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_straightener_create: %d: %s\n", ec, error_message(ec)); goto cleanup; } - ec = scanbotsdk_document_enhancer_straighten( - enhancer, + ec = scanbotsdk_document_straightener_run( + straightener, image, straightening_params, NULL, 0, &result ); - if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_enhancer_straighten: %d: %s\n", ec, error_message(ec)); goto cleanup; } + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_straighten: %d: %s\n", ec, error_message(ec)); goto cleanup; } ec = scanbotsdk_document_straightening_result_get_straightened_image(result, &straightened_image); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "document_straightening_result_get_straightened_image: %d: %s\n", ec, error_message(ec)); goto cleanup; } @@ -57,7 +57,7 @@ scanbotsdk_error_code_t enhance_document(scanbotsdk_image_t *image) { /* straightened_image can be saved or processed further here */ cleanup: - scanbotsdk_document_enhancer_free(enhancer); + scanbotsdk_document_straightener_free(straightener); scanbotsdk_document_straightening_result_free(result); scanbotsdk_document_straightening_parameters_free(straightening_params); diff --git a/examples/c/src/snippets/live/live_barcode.c b/examples/c/src/snippets/live/live_barcode.c index 7a755b3..3c79aa8 100644 --- a/examples/c/src/snippets/live/live_barcode.c +++ b/examples/c/src/snippets/live/live_barcode.c @@ -128,8 +128,9 @@ scanbotsdk_error_code_t process_frame(scanbotsdk_barcode_scanner_t *scanner, fra scanbotsdk_barcode_scanner_result_get_barcodes(result, barcodes, count); for (size_t i = 0; i < count; i++) { - const char *text = NULL; - scanbotsdk_barcode_item_get_text(barcodes[i], &text); + scanbotsdk_u8string_ref_t text_ref = {0}; + scanbotsdk_barcode_item_get_text(barcodes[i], &text_ref); + const char *text = scanbotsdk_u8string_ref_assume_cstring(text_ref); fprintf(stdout, " Barcode %zu: %s\n", i, text); } free(barcodes); @@ -185,7 +186,8 @@ scanbotsdk_error_code_t create_barcode_scanner(bool use_tensor_rt, scanbotsdk_ba if (use_tensor_rt) { scanbotsdk_tensor_rt_accelerator_t *trt = NULL; - ec = scanbotsdk_tensor_rt_accelerator_create("./", &trt); + scanbotsdk_u8string_ref_t trt_dir = scanbotsdk_u8string_ref_from_cstring("./"); + ec = scanbotsdk_tensor_rt_accelerator_create(trt_dir, &trt); if (ec == SCANBOTSDK_OK) { scanbotsdk_tensor_rt_accelerator_as_scanbotsdk_accelerator(trt, &accelerator); diff --git a/examples/c/src/utils/utils.c b/examples/c/src/utils/utils.c index dd334a1..7cc68b7 100644 --- a/examples/c/src/utils/utils.c +++ b/examples/c/src/utils/utils.c @@ -34,13 +34,15 @@ scanbotsdk_error_code_t print_generic_document_fields(scanbotsdk_generic_documen scanbotsdk_field_type_t *field_type = NULL; scanbotsdk_field_get_type(fields[i], &field_type); - const char *type_name = NULL; - scanbotsdk_field_type_get_name(field_type, &type_name); + scanbotsdk_u8string_ref_t type_name_ref = {0}; + scanbotsdk_field_type_get_name(field_type, &type_name_ref); + const char *type_name = scanbotsdk_u8string_ref_assume_cstring(type_name_ref); scanbotsdk_ocr_result_t *ocr_result = NULL; if (scanbotsdk_field_get_value(fields[i], &ocr_result) == SCANBOTSDK_OK && ocr_result) { - const char *text = NULL; - scanbotsdk_ocr_result_get_text(ocr_result, &text); + scanbotsdk_u8string_ref_t text_ref = {0}; + scanbotsdk_ocr_result_get_text(ocr_result, &text_ref); + const char *text = scanbotsdk_u8string_ref_assume_cstring(text_ref); printf("Field[%zu]: type=%s, value=\"%s\"\n", i, type_name, text ? text : "text value n/a"); } else { From 94382560ac25137c8856fca34c4e04f546d6aac0 Mon Sep 17 00:00:00 2001 From: Aleksei Ioffe Date: Fri, 31 Jul 2026 14:16:03 +0200 Subject: [PATCH 24/36] java related fixes --- .../java/io/scanbot/sdk/ScanbotSDKExample.java | 4 ++-- .../snippets/image/ImageProcessingSnippets.java | 2 +- .../DocumentStraightenerSnippet.java} | 10 +++++----- test-scripts/windows/Dockerfile | 14 +++----------- 4 files changed, 11 insertions(+), 19 deletions(-) rename examples/java/src/main/java/io/scanbot/sdk/snippets/{enhancer/DocumentEnhancerSnippet.java => straightener/DocumentStraightenerSnippet.java} (74%) diff --git a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java index e05c9c6..519a061 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java +++ b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java @@ -7,7 +7,7 @@ import io.scanbot.sdk.snippets.barcode.*; import io.scanbot.sdk.snippets.datacapture.*; import io.scanbot.sdk.snippets.document.*; -import io.scanbot.sdk.snippets.enhancer.DocumentEnhancerSnippet; +import io.scanbot.sdk.snippets.straightener.DocumentStraightenerSnippet; import io.scanbot.sdk.utils.*; import java.util.Arrays; @@ -78,7 +78,7 @@ public static void main(String[] args) throws Exception { if (file == null && resource == null) { ExampleUsage.print(); return; } try (ImageRef image = Utils.createImageRef(file, resource)) { switch (subcommand) { - case "document": DocumentEnhancerSnippet.run(image); break; + case "document": DocumentStraightenerSnippet.run(image); break; default: ExampleUsage.print(); } break; diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java index c22de10..58db9e5 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java @@ -73,7 +73,7 @@ public static void detectAndCropDocument(ImageRef image) throws Exception { System.out.println("Detection status: " + detectionResult.getStatus()); System.out.println("Detected points: " + detectionResult.getPoints().size()); - try (ImageRef cropped = processor.crop(image, detectionResult.getPointsNormalized())) { + try (ImageRef cropped = processor.crop(image, detectionResult.getPointsNormalized(), null)) { ImageInfo croppedInfo = cropped.imageInfo(); System.out.println("Cropped WxH: " + croppedInfo.getWidth() + "x" + croppedInfo.getHeight()); } diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/straightener/DocumentStraightenerSnippet.java similarity index 74% rename from examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java rename to examples/java/src/main/java/io/scanbot/sdk/snippets/straightener/DocumentStraightenerSnippet.java index 4dbebb7..37ea69f 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/straightener/DocumentStraightenerSnippet.java @@ -1,14 +1,14 @@ -package io.scanbot.sdk.snippets.enhancer; +package io.scanbot.sdk.snippets.straightener; import java.util.List; -import io.scanbot.sdk.documentscanner.DocumentEnhancer; +import io.scanbot.sdk.documentscanner.DocumentStraightener; import io.scanbot.sdk.documentscanner.DocumentStraighteningMode; import io.scanbot.sdk.documentscanner.DocumentStraighteningParameters; import io.scanbot.sdk.documentscanner.DocumentStraighteningResult; import io.scanbot.sdk.geometry.AspectRatio; import io.scanbot.sdk.image.ImageRef; -public class DocumentEnhancerSnippet { +public class DocumentStraightenerSnippet { public static void run(ImageRef image) throws Exception { DocumentStraighteningParameters params = new DocumentStraighteningParameters(); params.setStraighteningMode(DocumentStraighteningMode.STRAIGHTEN); @@ -20,8 +20,8 @@ public static void run(ImageRef image) throws Exception { )); try ( - DocumentEnhancer enhancer = new DocumentEnhancer(); - DocumentStraighteningResult result = enhancer.straighten(image, params, List.of()) + DocumentStraightener straightener = new DocumentStraightener(); + DocumentStraighteningResult result = straightener.run(image, params, List.of()) ) { // The straightened image can be accessed via result.getStraightenedImage() and saved or further processed as needed. } diff --git a/test-scripts/windows/Dockerfile b/test-scripts/windows/Dockerfile index 64dcf43..be7e5f6 100644 --- a/test-scripts/windows/Dockerfile +++ b/test-scripts/windows/Dockerfile @@ -89,9 +89,7 @@ RUN $ErrorActionPreference = 'Stop'; \ $wheelUrl = $env:PYTHON_SDK_WHL_URL; \ }; \ Write-Host ('Installing Python SDK from: {0}' -f $wheelUrl); \ - # TODO: Uncomment the following line to install from URL instead of local wheel file - # & $pythonExe -m pip install $wheelUrl; \ - & $pythonExe -m pip install scanbotsdk-0.1000.0-py3-none-win_amd64.whl; \ + & $pythonExe -m pip install $wheelUrl; \ Write-Host 'Python SDK installed successfully' RUN $ErrorActionPreference = 'Stop'; \ @@ -103,18 +101,12 @@ RUN $ErrorActionPreference = 'Stop'; \ $cSdkUrl = $env:C_SDK_ARCHIVE_URL; \ }; \ $archiveName = ('scanbotsdk-{0}-{1}.tar.gz' -f $env:SDK_VERSION, $cSdkArch); \ - $localArchive = Join-Path 'C:\workspaces\scanbot-sdk-example-linux' $archiveName; \ $archivePath = 'C:\scanbotsdk-c.tar.gz'; \ $sdkRoot = 'C:\scanbotsdk-cache'; \ if (Test-Path $sdkRoot) { Remove-Item $sdkRoot -Recurse -Force }; \ New-Item -ItemType Directory -Path $sdkRoot | Out-Null; \ - if (Test-Path $localArchive) { \ - Write-Host ('Using local debug C SDK archive: {0}' -f $localArchive); \ - Copy-Item -Path $localArchive -Destination $archivePath -Force; \ - } else { \ - Write-Host ('Downloading C SDK from: {0}' -f $cSdkUrl); \ - Invoke-WebRequest -Uri $cSdkUrl -OutFile $archivePath; \ - }; \ + Write-Host ('Downloading C SDK from: {0}' -f $cSdkUrl); \ + Invoke-WebRequest -Uri $cSdkUrl -OutFile $archivePath; \ Push-Location $sdkRoot; \ cmake -E tar -xf $archivePath; \ Pop-Location; \ From 95cdd0c94abf91bf4071d1a182a1ae315fc431bf Mon Sep 17 00:00:00 2001 From: Aleksei Ioffe Date: Mon, 10 Aug 2026 16:10:37 +0200 Subject: [PATCH 25/36] Fix after review --- test-scripts/windows/Dockerfile | 131 ++++++++++----------------- test-scripts/windows/test-c.ps1 | 2 +- test-scripts/windows/test-python.ps1 | 18 +++- 3 files changed, 66 insertions(+), 85 deletions(-) diff --git a/test-scripts/windows/Dockerfile b/test-scripts/windows/Dockerfile index be7e5f6..de8f478 100644 --- a/test-scripts/windows/Dockerfile +++ b/test-scripts/windows/Dockerfile @@ -1,4 +1,5 @@ -FROM mcr.microsoft.com/windows/servercore:ltsc2022 AS base +ARG BASE_IMAGE +FROM ${BASE_IMAGE} AS base SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"] @@ -6,9 +7,7 @@ SHELL ["powershell", "-NoProfile", "-ExecutionPolicy", "Bypass", "-Command"] ARG ARCH=windows-x86_64 ARG SDK_VERSION ARG SCANBOT_LICENSE -ARG PYTHON_VERSION=3.10.11 ARG PYTHON_SDK_WHL_URL -ARG VS_BUILDTOOLS_CHANNEL=17 ARG C_SDK_ARCHIVE_URL # Environment @@ -16,72 +15,28 @@ ENV ARCH=${ARCH} \ SDK_VERSION=${SDK_VERSION} \ C_SDK_ARCHIVE_URL=${C_SDK_ARCHIVE_URL} \ SCANBOT_LICENSE=${SCANBOT_LICENSE} \ - PYTHON_VERSION=${PYTHON_VERSION} \ PYTHON_SDK_WHL_URL=${PYTHON_SDK_WHL_URL} \ - VS_BUILDTOOLS_CHANNEL=${VS_BUILDTOOLS_CHANNEL} \ + VS_INSTALL_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools" \ + PYTHON_EXE="C:\Python-amd64\python.exe" \ SDK_BASE_URL="https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv" \ + PATH="C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin;${PATH}" \ PYTHONUTF8=1 -# Install Visual Studio C++ Build Tools, CMake and Ninja for C tests +# Configure Python dependencies using preinstalled interpreter from the base image RUN $ErrorActionPreference = 'Stop'; \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - $vsInstaller = 'C:\vs_BuildTools.exe'; \ - $vsUri = ('https://aka.ms/vs/{0}/release/vs_BuildTools.exe' -f $env:VS_BUILDTOOLS_CHANNEL); \ - Invoke-WebRequest -Uri $vsUri -OutFile $vsInstaller; \ - $vsArgs = @( \ - '--quiet', \ - '--wait', \ - '--norestart', \ - '--installPath', 'C:\BuildTools', \ - '--add', 'Microsoft.VisualStudio.Workload.VCTools', \ - '--add', 'Microsoft.VisualStudio.Component.VC.Tools.x86.x64', \ - '--add', 'Microsoft.VisualStudio.Component.Windows10SDK.19041', \ - '--includeRecommended' \ - ); \ - $proc = Start-Process -FilePath $vsInstaller -ArgumentList $vsArgs -Wait -PassThru; \ - $exitCode = $proc.ExitCode; \ - if (($exitCode -ne 0) -and ($exitCode -ne 3010)) { \ - Write-Host 'VS installer failed. Dumping VS temp logs:'; \ - Get-ChildItem -Path $env:TEMP -Filter 'dd_*' -ErrorAction SilentlyContinue | Sort-Object LastWriteTime -Descending | Select-Object -First 20 | ForEach-Object { Write-Host $_.FullName; Get-Content $_.FullName -Tail 80 }; \ - throw ('VS Build Tools install failed with exit code ' + $exitCode) \ - }; \ - $pf86 = [Environment]::GetFolderPath('ProgramFilesX86'); \ - $vsWhere = Join-Path $pf86 'Microsoft Visual Studio\Installer\vswhere.exe'; \ - if (-not (Test-Path $vsWhere)) { throw 'vswhere.exe not found after VS installer run.' }; \ - $installPath = (& $vsWhere -latest -products '*' -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath).Trim(); \ - if ([string]::IsNullOrWhiteSpace($installPath)) { throw 'VC Build Tools instance not found after installation.' }; \ - Set-Content -Path C:\vs-install-path.txt -Value $installPath -NoNewline; \ - Remove-Item $vsInstaller -Force - -# Install Python -RUN $ErrorActionPreference = 'Stop'; \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - $pythonInstaller = 'C:\python-installer.exe'; \ - $pythonUrl = ('https://www.python.org/ftp/python/{0}/python-{0}-amd64.exe' -f $env:PYTHON_VERSION); \ - Invoke-WebRequest -Uri $pythonUrl -OutFile $pythonInstaller; \ - $proc = Start-Process -FilePath $pythonInstaller -ArgumentList '/quiet InstallAllUsers=1 PrependPath=1 Include_pip=1 Include_test=0 Include_launcher=1' -Wait -PassThru; \ - if ($proc.ExitCode -ne 0) { throw ('Python installer failed with exit code ' + $proc.ExitCode) }; \ - Remove-Item $pythonInstaller -Force; \ - $env:Path = [System.Environment]::GetEnvironmentVariable('Path','Machine') + ';' + [System.Environment]::GetEnvironmentVariable('Path','User'); \ - $pythonExe = (Get-Command python -ErrorAction SilentlyContinue).Source; \ - if (-not $pythonExe) { $pythonExe = (Get-Command py -ErrorAction Stop).Source }; \ - Set-Content -Path C:\python-exe.txt -Value $pythonExe -NoNewline; \ + $pythonExe = $env:PYTHON_EXE; \ + if (-not (Test-Path $pythonExe)) { throw ('Expected Python executable not found: ' + $pythonExe) }; \ & $pythonExe --version; \ & $pythonExe -m pip install --upgrade pip setuptools wheel; \ - & $pythonExe -m pip uninstall -y opencv-python opencv-python-headless numpy; \ - & $pythonExe -m pip install --no-cache-dir 'numpy==1.26.4' pillow cmake ninja; \ - & $pythonExe -m pip install --no-cache-dir --no-deps 'opencv-python-headless==4.5.5.64'; \ - & $pythonExe -c 'import numpy, cv2; print("numpy", numpy.__version__); print("cv2", cv2.__version__)'; \ - cmake --version; \ - ninja --version + & $pythonExe -m pip install --no-cache-dir 'numpy==1.26.4' pillow; -# Copy source +# Set workspace path (source is copied later to improve layer caching) WORKDIR C:/workspaces/scanbot-sdk-example-linux -COPY . . # Install Scanbot Python SDK from either explicit URL or release URL computed from SDK_VERSION and ARCH RUN $ErrorActionPreference = 'Stop'; \ - $pythonExe = (Get-Content C:\python-exe.txt -Raw).Trim(); \ + $pythonExe = $env:PYTHON_EXE; \ + if (-not (Test-Path $pythonExe)) { throw ('Expected Python executable not found: ' + $pythonExe) }; \ if ($env:ARCH -in @('windows-arm64', 'win-arm64')) { $pythonArch = 'win_arm64' } else { $pythonArch = 'win_amd64' }; \ if ([string]::IsNullOrWhiteSpace($env:PYTHON_SDK_WHL_URL)) { \ $wheelUrl = ('{0}{1}/scanbotsdk-{1}-py3-none-{2}.whl' -f $env:SDK_BASE_URL, $env:SDK_VERSION, $pythonArch); \ @@ -94,13 +49,12 @@ RUN $ErrorActionPreference = 'Stop'; \ RUN $ErrorActionPreference = 'Stop'; \ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - if ($env:ARCH -in @('windows-x86_64', 'windows-x64')) { $cSdkArch = 'windows-x64' } elseif ($env:ARCH -in @('windows-arm64', 'win-arm64')) { $cSdkArch = 'windows-arm64' } else { throw ('Unsupported ARCH for C SDK: ' + $env:ARCH) }; \ + if ($env:ARCH -in @('windows-x86_64', 'windows-x64')) { $cSdkArch = 'windows-x64' } else { throw ('Unsupported architecture: ' + $env:ARCH) }; \ if ([string]::IsNullOrWhiteSpace($env:C_SDK_ARCHIVE_URL)) { \ $cSdkUrl = ('{0}{1}/scanbotsdk-{1}-{2}.tar.gz' -f $env:SDK_BASE_URL, $env:SDK_VERSION, $cSdkArch); \ } else { \ $cSdkUrl = $env:C_SDK_ARCHIVE_URL; \ }; \ - $archiveName = ('scanbotsdk-{0}-{1}.tar.gz' -f $env:SDK_VERSION, $cSdkArch); \ $archivePath = 'C:\scanbotsdk-c.tar.gz'; \ $sdkRoot = 'C:\scanbotsdk-cache'; \ if (Test-Path $sdkRoot) { Remove-Item $sdkRoot -Recurse -Force }; \ @@ -108,7 +62,7 @@ RUN $ErrorActionPreference = 'Stop'; \ Write-Host ('Downloading C SDK from: {0}' -f $cSdkUrl); \ Invoke-WebRequest -Uri $cSdkUrl -OutFile $archivePath; \ Push-Location $sdkRoot; \ - cmake -E tar -xf $archivePath; \ + & cmake -E tar -xf $archivePath; \ Pop-Location; \ Remove-Item $archivePath -Force; \ if (-not (Test-Path (Join-Path $sdkRoot 'scanbotsdk\include\ScanbotSDK.h'))) { throw 'C SDK include files not found after extraction.' }; \ @@ -116,40 +70,51 @@ RUN $ErrorActionPreference = 'Stop'; \ Set-Content -Path C:\c-sdk-dir.txt -Value $sdkRoot -NoNewline; \ Write-Host ('C SDK installed at: {0}' -f (Join-Path $sdkRoot 'scanbotsdk')) -# Install CMake and Ninja for C tests +# Build C examples with preinstalled VS Build Tools +COPY . . + RUN $ErrorActionPreference = 'Stop'; \ - $installPath = (Get-Content C:\vs-install-path.txt -Raw).Trim(); \ - $vsDevCmd = Join-Path $installPath 'Common7\Tools\VsDevCmd.bat'; \ - $cSdkDir = (Get-Content C:\c-sdk-dir.txt -Raw).Trim(); \ - if ([string]::IsNullOrWhiteSpace($cSdkDir)) { throw 'C SDK dir is empty' }; \ - cmd /c ('"' + $vsDevCmd + '" -arch=x64 && cd /d C:\workspaces\scanbot-sdk-example-linux && cmake -S examples\c -B examples\c\build -G Ninja -DSCANBOTSDK_DIR=' + $cSdkDir + ' -DSCANBOTSDK_VERSION=' + $env:SDK_VERSION + ' && cmake --build examples\c\build --config Release -- -k 50'); \ - if ($LASTEXITCODE -ne 0) { throw ('C build failed with exit code ' + $LASTEXITCODE) }; + $installPath = $env:VS_INSTALL_PATH; \ + if ([string]::IsNullOrWhiteSpace($installPath)) { throw 'VS install path environment variable is empty.' }; \ + $dq = [char]34; \ + $nl = [Environment]::NewLine; \ + $installPath = $installPath.Trim().Trim($dq); \ + $vsDevCmd = (Join-Path $installPath 'Common7\Tools\VsDevCmd.bat').Trim($dq); \ + if (-not (Test-Path $vsDevCmd)) { throw ('VsDevCmd.bat not found under: ' + $installPath) }; \ + $cSdkDir = (Get-Content C:\c-sdk-dir.txt -Raw).Trim(); \ + if ([string]::IsNullOrWhiteSpace($cSdkDir)) { throw 'C SDK dir is empty' }; \ + $cmdFile = 'C:\build-c-sdk.cmd'; \ + $cmdText = '@echo on' + $nl + \ + 'setlocal EnableExtensions' + $nl + \ + ('call ' + $dq + $vsDevCmd + $dq + ' -arch=x64 || exit /b %errorlevel%') + $nl + \ + 'cd /d C:\workspaces\scanbot-sdk-example-linux || exit /b %errorlevel%' + $nl + \ + ('cmake -S examples\c -B examples\c\build -G' + $dq + 'Visual Studio 17 2022' + $dq + ' -A x64 -DSCANBOTSDK_DIR=' + $dq + $cSdkDir + $dq + ' -DSCANBOTSDK_VERSION=' + $env:SDK_VERSION + ' || exit /b %errorlevel%') + $nl + \ + 'cmake --build examples\c\build --config Release -- /m || exit /b %errorlevel%'; \ + [System.IO.File]::WriteAllText($cmdFile, $cmdText, [System.Text.Encoding]::ASCII); \ + & cmd.exe /d /c C:\build-c-sdk.cmd; \ + $exitCode = $LASTEXITCODE; \ + Remove-Item $cmdFile -Force -ErrorAction SilentlyContinue; \ + if ($exitCode -ne 0) { throw ('C build failed with exit code ' + $exitCode) }; # SDK verification stage FROM base AS sdk-verification RUN $ErrorActionPreference = 'Stop'; \ Write-Host '=== Comprehensive SDK Verification ==='; \ - $installPath = (Get-Content C:\vs-install-path.txt -Raw).Trim(); \ - if ([string]::IsNullOrWhiteSpace($installPath)) { throw 'VS install path not found.' }; \ - $vsDevCmd = Join-Path $installPath 'Common7\Tools\VsDevCmd.bat'; \ - $vcvars64 = Join-Path $installPath 'VC\Auxiliary\Build\vcvars64.bat'; \ - if (Test-Path $vsDevCmd) { \ - cmd /c ('"' + $vsDevCmd + '" -arch=x64 && where cl && cl /? >nul'); \ - } elseif (Test-Path $vcvars64) { \ - cmd /c ('"' + $vcvars64 + '" && where cl && cl /? >nul'); \ - } else { \ - throw ('Neither VsDevCmd.bat nor vcvars64.bat found under: ' + $installPath) \ - }; \ - if ($LASTEXITCODE -ne 0) { throw ('MSVC toolchain verification failed with exit code ' + $LASTEXITCODE) }; \ cmake --version; \ if ($LASTEXITCODE -ne 0) { throw 'cmake not available' }; \ - ninja --version; \ - if ($LASTEXITCODE -ne 0) { throw 'ninja not available' }; \ - $pythonExe = (Get-Content C:\python-exe.txt -Raw).Trim(); \ + $pythonExe = $env:PYTHON_EXE; \ + if (-not (Test-Path $pythonExe)) { throw ('Expected Python executable not found: ' + $pythonExe) }; \ $pyCode = 'import scanbotsdk; print(''Python SDK: Verified'')'; \ & $pythonExe -c $pyCode; \ $pyExit = $LASTEXITCODE; \ - if ($pyExit -ne 0) { throw ('Python SDK verification failed with exit code ' + $pyExit) }; + if ($pyExit -ne 0) { throw ('Python SDK verification failed with exit code ' + $pyExit) }; \ + $cSdkRoot = (Get-Content C:\c-sdk-dir.txt -Raw).Trim(); \ + if ([string]::IsNullOrWhiteSpace($cSdkRoot)) { throw 'C SDK dir file is empty' }; \ + if (-not (Test-Path (Join-Path $cSdkRoot 'scanbotsdk\include\ScanbotSDK.h'))) { throw 'C SDK header not found' }; \ + if (-not (Test-Path (Join-Path $cSdkRoot 'scanbotsdk\lib'))) { throw 'C SDK lib directory not found' }; \ + $exePath = 'C:\workspaces\scanbot-sdk-example-linux\examples\c\build\Release\scanbotsdk_example.exe'; \ + if ([string]::IsNullOrWhiteSpace($exePath)) { throw 'C example executable not found in build outputs' }; \ + Write-Host ('C SDK: Verified executable at {0}' -f $exePath) # Python tests stage (PowerShell-only, no bash) FROM sdk-verification AS python-tests diff --git a/test-scripts/windows/test-c.ps1 b/test-scripts/windows/test-c.ps1 index 0d404dc..3df12c9 100755 --- a/test-scripts/windows/test-c.ps1 +++ b/test-scripts/windows/test-c.ps1 @@ -29,7 +29,7 @@ if ([string]::IsNullOrWhiteSpace($env:SCANBOT_LICENSE)) { Set-Location (Join-Path $repoRoot 'examples/c') -$exePath = Join-Path (Get-Location) 'build/scanbotsdk_example.exe' +$exePath = Join-Path (Get-Location) 'build/Release/scanbotsdk_example.exe' if (-not (Test-Path $exePath)) { Write-Host 'FAIL: C executable: NOT FOUND' Write-Host 'Looking for executable in current directory:' diff --git a/test-scripts/windows/test-python.ps1 b/test-scripts/windows/test-python.ps1 index 5fdc418..35dfecb 100755 --- a/test-scripts/windows/test-python.ps1 +++ b/test-scripts/windows/test-python.ps1 @@ -29,6 +29,21 @@ if ([string]::IsNullOrWhiteSpace($env:SCANBOT_LICENSE)) { Set-Location (Join-Path $repoRoot 'examples/python') +$pythonCmd = $null +if (-not [string]::IsNullOrWhiteSpace($env:PYTHON_EXE) -and (Test-Path $env:PYTHON_EXE)) { + $pythonCmd = $env:PYTHON_EXE +} elseif (Get-Command python -ErrorAction SilentlyContinue) { + $pythonCmd = 'python' +} elseif (Get-Command py -ErrorAction SilentlyContinue) { + $pythonCmd = 'py' +} else { + Write-Host 'ERROR: Python executable not found' + Write-Host ('PYTHON_EXE env value: ' + $env:PYTHON_EXE) + exit 1 +} + +Write-Host ("Using Python executable: {0}" -f $pythonCmd) + function Invoke-WithTimeout { param( [Parameter(Mandatory = $true)][string]$FilePath, @@ -37,6 +52,7 @@ function Invoke-WithTimeout { ) $proc = Start-Process -FilePath $FilePath -ArgumentList $ArgumentList -NoNewWindow -PassThru + $null = Wait-Process -Id $proc.Id -Timeout $TimeoutSec -ErrorAction SilentlyContinue if (-not $proc.HasExited) { @@ -69,7 +85,7 @@ $commands = @( ) foreach ($entry in $commands) { - $exitCode = Invoke-WithTimeout -FilePath 'python' -ArgumentList $entry.Args -TimeoutSec 30 + $exitCode = Invoke-WithTimeout -FilePath $pythonCmd -ArgumentList $entry.Args -TimeoutSec 30 if ($exitCode -eq 0) { Write-Host ("PASS: {0}: PASSED" -f $entry.Name) } elseif ($exitCode -eq 124) { From e45c3cd6d5b339e25726d22899c0e788060243dc Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Tue, 11 Aug 2026 15:07:33 +0200 Subject: [PATCH 26/36] Refactor document enhancement and camera handling functions --- .../snippets/enhancer/document_enhancer.py | 4 +- examples/python/snippets/live/camera.py | 81 +++++++++++++++---- 2 files changed, 69 insertions(+), 16 deletions(-) diff --git a/examples/python/snippets/enhancer/document_enhancer.py b/examples/python/snippets/enhancer/document_enhancer.py index 1f51408..ec20ef6 100644 --- a/examples/python/snippets/enhancer/document_enhancer.py +++ b/examples/python/snippets/enhancer/document_enhancer.py @@ -10,7 +10,7 @@ def enhance_document(image: ImageRef): AspectRatio(width=3.0, height=4.0) ] - enhancer = DocumentEnhancer() - result: DocumentStraighteningResult = enhancer.straighten(image=image, parameters=params) + straightener = DocumentStraightener() + result: DocumentStraighteningResult = straightener.run(image=image, parameters=params) # The straightened image can be accessed via result.straightened_image and saved or further processed as needed. diff --git a/examples/python/snippets/live/camera.py b/examples/python/snippets/live/camera.py index 78f18fe..f5530f9 100644 --- a/examples/python/snippets/live/camera.py +++ b/examples/python/snippets/live/camera.py @@ -1,8 +1,11 @@ +import sys + import cv2 as cv -# Default camera settings (resolution and framerate) + WIDTH, HEIGHT, FPS = 1280, 720, 30 + def _gst_pipeline(device: str) -> str: if device == "jetson_csi": return ( @@ -11,26 +14,76 @@ def _gst_pipeline(device: str) -> str: f"framerate=(fraction){FPS}/1 ! " "nvvidconv flip-method=0 ! " "video/x-raw, format=(string)BGRx ! " - "videoconvert ! video/x-raw, format=(string)BGR ! appsink drop=1" + "videoconvert ! " + "video/x-raw, format=(string)BGR ! " + "appsink drop=1" ) + if device == "libcamera": return ( - "libcamerasrc ! video/x-raw, format=BGR, " + "libcamerasrc ! " + "video/x-raw, format=BGR, " f"width=(int){WIDTH}, height=(int){HEIGHT}, " - f"framerate=(fraction){FPS}/1 ! appsink" + f"framerate=(fraction){FPS}/1 ! " + "appsink drop=1" ) - raise ValueError(f"Invalid device for GStreamer: {device!r}") + + raise ValueError(f"Invalid GStreamer device: {device!r}") + + +def _backends_for_index() -> tuple[int, ...]: + if sys.platform.startswith("win"): + return (cv.CAP_MSMF, cv.CAP_DSHOW) + + if sys.platform == "darwin": + return (cv.CAP_AVFOUNDATION,) + + if sys.platform.startswith("linux"): + return (cv.CAP_V4L2,) + + return (cv.CAP_ANY,) + + +def _configure_camera(cap: cv.VideoCapture) -> None: + properties = ( + (cv.CAP_PROP_FRAME_WIDTH, WIDTH), + (cv.CAP_PROP_FRAME_HEIGHT, HEIGHT), + (cv.CAP_PROP_FPS, FPS), + ) + + for prop, value in properties: + cap.set(prop, value) + + +def _open_index(index: int) -> cv.VideoCapture: + for backend in _backends_for_index(): + cap = cv.VideoCapture(index, backend) + + if not cap.isOpened(): + cap.release() + continue + + _configure_camera(cap) + return cap + + raise RuntimeError(f"Cannot open camera index {index}") def open_camera(device: str) -> cv.VideoCapture: - """Open V4L2 (numeric index) or GStreamer ('jetson_csi' / 'libcamera').""" + """Open a numeric camera index or a supported GStreamer pipeline.""" + try: - cap = cv.VideoCapture(int(device), cv.CAP_V4L2) - cap.set(cv.CAP_PROP_FRAME_WIDTH, WIDTH) - cap.set(cv.CAP_PROP_FRAME_HEIGHT, HEIGHT) - cap.set(cv.CAP_PROP_FPS, FPS) + index = int(device) except ValueError: - cap = cv.VideoCapture(_gst_pipeline(device), cv.CAP_GSTREAMER) - if not cap.isOpened(): - raise RuntimeError("Cannot open camera") - return cap + pipeline = _gst_pipeline(device) + cap = cv.VideoCapture(pipeline, cv.CAP_GSTREAMER) + + if not cap.isOpened(): + cap.release() + raise RuntimeError( + f"Cannot open GStreamer pipeline for {device!r}" + ) + + return cap + + return _open_index(index) \ No newline at end of file From 4982a690923e5ef9dada38b1938ac418868b106a Mon Sep 17 00:00:00 2001 From: Aleksei Ioffe Date: Wed, 12 Aug 2026 12:36:23 +0200 Subject: [PATCH 27/36] install opencv --- test-scripts/windows/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/test-scripts/windows/Dockerfile b/test-scripts/windows/Dockerfile index de8f478..0f878da 100644 --- a/test-scripts/windows/Dockerfile +++ b/test-scripts/windows/Dockerfile @@ -28,6 +28,7 @@ RUN $ErrorActionPreference = 'Stop'; \ if (-not (Test-Path $pythonExe)) { throw ('Expected Python executable not found: ' + $pythonExe) }; \ & $pythonExe --version; \ & $pythonExe -m pip install --upgrade pip setuptools wheel; \ + & $pythonExe -m pip install --no-cache-dir --no-deps 'opencv-python-headless==4.5.5.64'; \ & $pythonExe -m pip install --no-cache-dir 'numpy==1.26.4' pillow; # Set workspace path (source is copied later to improve layer caching) From 7e2c12b5da014b5b27bd7ee50bab62c8ad7fa4c0 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Wed, 9 Sep 2026 14:52:59 +0200 Subject: [PATCH 28/36] Update to version to 0.1000.3 --- .github/workflows/run-tests-ci.yml | 2 +- examples/c/CMakeLists.txt | 3 +- .../c/src/snippets/barcode/detect_barcode.c | 1 - .../snippets/barcode/parse_barcode_document.c | 1 - .../datacapture/medical_certificate_scanner.c | 2 +- .../c/src/snippets/datacapture/mrz_parser.c | 1 - examples/java/build.gradle | 2 +- .../enhancer/DocumentEnhancerSnippet.java | 29 ------------------- examples/nodejs/package-lock.json | 8 ++--- examples/nodejs/package.json | 2 +- .../snippets/enhancer/document-enhancer.ts | 6 ++-- test-scripts/README.md | 2 +- 12 files changed, 13 insertions(+), 46 deletions(-) delete mode 100644 examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java diff --git a/.github/workflows/run-tests-ci.yml b/.github/workflows/run-tests-ci.yml index fee73e9..4d7038c 100644 --- a/.github/workflows/run-tests-ci.yml +++ b/.github/workflows/run-tests-ci.yml @@ -41,7 +41,7 @@ on: # Global environment variables env: - SDK_VERSION: '9.0.0' + SDK_VERSION: '0.1000.3' jobs: test-x86_64: diff --git a/examples/c/CMakeLists.txt b/examples/c/CMakeLists.txt index 8392d97..5051961 100644 --- a/examples/c/CMakeLists.txt +++ b/examples/c/CMakeLists.txt @@ -5,7 +5,7 @@ set(CMAKE_C_STANDARD 99) # Find or download Scanbot SDK if(NOT SCANBOTSDK_VERSION) - set(SCANBOTSDK_VERSION "9.0.0") + set(SCANBOTSDK_VERSION "0.1000.3") endif() set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) find_package(ScanbotSDK REQUIRED) @@ -22,4 +22,3 @@ if(WIN32) "$" ) endif() - diff --git a/examples/c/src/snippets/barcode/detect_barcode.c b/examples/c/src/snippets/barcode/detect_barcode.c index e4f4d4c..2d1be42 100644 --- a/examples/c/src/snippets/barcode/detect_barcode.c +++ b/examples/c/src/snippets/barcode/detect_barcode.c @@ -65,4 +65,3 @@ scanbotsdk_error_code_t detect_barcode(scanbotsdk_image_t *image) { scanbotsdk_barcode_scanner_configuration_free(config); return ec; } - diff --git a/examples/c/src/snippets/barcode/parse_barcode_document.c b/examples/c/src/snippets/barcode/parse_barcode_document.c index 537f02c..3739d71 100644 --- a/examples/c/src/snippets/barcode/parse_barcode_document.c +++ b/examples/c/src/snippets/barcode/parse_barcode_document.c @@ -50,4 +50,3 @@ scanbotsdk_error_code_t parse_barcode_document(const char* raw_string) { scanbotsdk_barcode_document_parser_free(parser); return ec; } - diff --git a/examples/c/src/snippets/datacapture/medical_certificate_scanner.c b/examples/c/src/snippets/datacapture/medical_certificate_scanner.c index c156cb7..3c7cbf9 100644 --- a/examples/c/src/snippets/datacapture/medical_certificate_scanner.c +++ b/examples/c/src/snippets/datacapture/medical_certificate_scanner.c @@ -29,8 +29,8 @@ scanbotsdk_error_code_t print_medical_certificate_result(scanbotsdk_medical_cert scanbotsdk_medical_certificate_patient_info_field_get_type(fields[i], &type); scanbotsdk_medical_certificate_patient_info_field_get_value(fields[i], &value_ref); - const char *value = scanbotsdk_u8string_ref_assume_cstring(value_ref); + fprintf(stderr, "Type: %d Value: %s\n", type, value ? value : ""); } diff --git a/examples/c/src/snippets/datacapture/mrz_parser.c b/examples/c/src/snippets/datacapture/mrz_parser.c index 53453ba..26dd4a7 100644 --- a/examples/c/src/snippets/datacapture/mrz_parser.c +++ b/examples/c/src/snippets/datacapture/mrz_parser.c @@ -39,4 +39,3 @@ scanbotsdk_error_code_t parse_mrz(const char* text) { scanbotsdk_mrz_scanner_result_free(result); return ec; } - diff --git a/examples/java/build.gradle b/examples/java/build.gradle index fa7de16..a19703a 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -4,7 +4,7 @@ plugins { } // TODO Add your SCANBOTSDK_VERSION here. -def SCANBOTSDK_VERSION = "9.0.0" +def SCANBOTSDK_VERSION = "0.1000.3" def arch = System.getProperty("os.arch") def SCANBOTSDK_ARCHITECTURE = (arch.contains("arm") || arch.contains("aarch64")) ? "aarch64" : "x86_64" diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java deleted file mode 100644 index 4dbebb7..0000000 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/enhancer/DocumentEnhancerSnippet.java +++ /dev/null @@ -1,29 +0,0 @@ -package io.scanbot.sdk.snippets.enhancer; -import java.util.List; - -import io.scanbot.sdk.documentscanner.DocumentEnhancer; -import io.scanbot.sdk.documentscanner.DocumentStraighteningMode; -import io.scanbot.sdk.documentscanner.DocumentStraighteningParameters; -import io.scanbot.sdk.documentscanner.DocumentStraighteningResult; -import io.scanbot.sdk.geometry.AspectRatio; -import io.scanbot.sdk.image.ImageRef; - -public class DocumentEnhancerSnippet { - public static void run(ImageRef image) throws Exception { - DocumentStraighteningParameters params = new DocumentStraighteningParameters(); - params.setStraighteningMode(DocumentStraighteningMode.STRAIGHTEN); - params.setAspectRatios(List.of( - new AspectRatio(5.0, 7.0), - new AspectRatio(1.0, 1.0), - new AspectRatio(16.0, 9.0), - new AspectRatio(3.0, 4.0) - )); - - try ( - DocumentEnhancer enhancer = new DocumentEnhancer(); - DocumentStraighteningResult result = enhancer.straighten(image, params, List.of()) - ) { - // The straightened image can be accessed via result.getStraightenedImage() and saved or further processed as needed. - } - } -} diff --git a/examples/nodejs/package-lock.json b/examples/nodejs/package-lock.json index d48279c..854ff52 100644 --- a/examples/nodejs/package-lock.json +++ b/examples/nodejs/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv9.0.0/nodejs-scanbotsdk-9.0.0.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.3/nodejs-scanbotsdk-0.1000.3.tgz" }, "devDependencies": { "@types/node": "^24.3.0", @@ -154,9 +154,9 @@ "license": "ISC" }, "node_modules/scanbotsdk": { - "version": "9.0.0", - "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv9.0.0/nodejs-scanbotsdk-9.0.0.tgz", - "integrity": "sha512-aeyz2mSy7X9GY1EVoLFZnNIUTZhgRsjVuJVHsN+XLMatTa/Ifvxyf3gXUkw27SK2c32aesZnDSJfwz3NH3ruTQ==", + "version": "0.1000.3", + "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.3/nodejs-scanbotsdk-0.1000.3.tgz", + "integrity": "sha512-JmNHGDi+mH+FbpTMt8z7+XwTwlQ3kl9SHsf2SJaODN4t/eXx9iQ8h7FwB6WZqqR0tpSGkHtzSkikRm+hWP0tdw==", "hasInstallScript": true, "license": "Commercial", "os": [ diff --git a/examples/nodejs/package.json b/examples/nodejs/package.json index 309e43d..882ed1d 100644 --- a/examples/nodejs/package.json +++ b/examples/nodejs/package.json @@ -15,6 +15,6 @@ "typescript": "^5.9.2" }, "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv9.0.0/nodejs-scanbotsdk-9.0.0.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.3/nodejs-scanbotsdk-0.1000.3.tgz" } } diff --git a/examples/nodejs/src/snippets/enhancer/document-enhancer.ts b/examples/nodejs/src/snippets/enhancer/document-enhancer.ts index fddebcc..10936ed 100644 --- a/examples/nodejs/src/snippets/enhancer/document-enhancer.ts +++ b/examples/nodejs/src/snippets/enhancer/document-enhancer.ts @@ -12,10 +12,10 @@ export class DocumentEnhancerSnippet { new AspectRatio({ width: 3.0, height: 4.0 }) ]; - // `await using` ensures both enhancer and result are properly disposed + // `await using` ensures both straightener and result are properly disposed // when the scope ends, as they hold unmanaged resources. - await using enhancer = await ScanbotSDK.DocumentEnhancer.create(); - await using result = await enhancer.straighten(image, params); + await using straightener = await ScanbotSDK.DocumentStraightener.create(); + await using result = await straightener.run(image, params); // The straightened image can be accessed via result.straightenedImage and saved or further processed as needed. } diff --git a/test-scripts/README.md b/test-scripts/README.md index dcb2569..f8ddf04 100644 --- a/test-scripts/README.md +++ b/test-scripts/README.md @@ -29,7 +29,7 @@ test-scripts/ ```bash export SCANBOT_LICENSE="your-license-key-here" -export SDK_VERSION=9.0.0 +export SDK_VERSION=0.1000.3 ``` ### 2. Build Test Container From b53de86afe4734903d1c0c2e2f2f9b00920d1c96 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Thu, 10 Sep 2026 12:02:57 +0200 Subject: [PATCH 29/36] Update CI workflow and documentation for Linux test scripts organization --- .github/workflows/run-tests-ci.yml | 4 ++-- Readme.md | 7 +++++++ examples/c/README.md | 6 +++--- test-scripts/README.md | 18 +++++++++++++----- 4 files changed, 25 insertions(+), 10 deletions(-) diff --git a/.github/workflows/run-tests-ci.yml b/.github/workflows/run-tests-ci.yml index 4d7038c..d49080a 100644 --- a/.github/workflows/run-tests-ci.yml +++ b/.github/workflows/run-tests-ci.yml @@ -10,7 +10,7 @@ on: paths: - 'examples/**' - 'test-scripts/**' - - 'Dockerfile' + - 'test-scripts/linux/Dockerfile' - '.github/workflows/run-tests-ci.yml' # Run on pull requests to main branch pull_request: @@ -18,7 +18,7 @@ on: paths: - 'examples/**' - 'test-scripts/**' - - 'Dockerfile' + - 'test-scripts/linux/Dockerfile' - '.github/workflows/run-tests-ci.yml' # Allow manual triggering with custom parameters workflow_dispatch: diff --git a/Readme.md b/Readme.md index 874734e..e5bddcd 100644 --- a/Readme.md +++ b/Readme.md @@ -66,6 +66,13 @@ A trial license key is required for evaluation or testing. To get a free trial l The test scripts validate SDK integration, detect compilation errors, and check license issues across all supported languages (Python, Java, Node.js, C). [Detailed documentation](test-scripts/README.md) +## Example projects + +- [Python example](examples/python/README.md) +- [Java example](examples/java/README.md) +- [Node.js example](examples/nodejs/README.md) +- [C example](examples/c/README.md) + ## Other supported platforms The Scanbot SDK is also available on Android, iOS, and most common cross-platform environments, such as React Native, Flutter, and .NET MAUI: diff --git a/examples/c/README.md b/examples/c/README.md index 3a835cd..cca17a5 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -51,7 +51,7 @@ Requirements: In order to build all examples, run the following commands: -* With ninja (recommended): +* With Ninja (recommended): ```bash mkdir build cd build @@ -60,7 +60,7 @@ In order to build all examples, run the following commands: ninja ``` -* With make: +* With Unix Makefiles: ```bash mkdir build @@ -70,7 +70,7 @@ In order to build all examples, run the following commands: make ``` -* With MS Visual Studio (Windows-only): +* With Visual Studio (Windows-only): ```powershell mkdir build diff --git a/test-scripts/README.md b/test-scripts/README.md index f8ddf04..0bb5caa 100644 --- a/test-scripts/README.md +++ b/test-scripts/README.md @@ -15,11 +15,18 @@ These test scripts validate the Scanbot SDK integration across all supported lan ``` test-scripts/ -├── test-python.sh # Python SDK tests -├── test-java.sh # Java SDK tests -├── test-nodejs.sh # Node.js SDK tests -├── test-c.sh # C SDK tests -├── run-all-tests.sh # Run all tests +├── linux/ +│ ├── test-python.sh # Python SDK tests +│ ├── test-java.sh # Java SDK tests +│ ├── test-nodejs.sh # Node.js SDK tests +│ ├── test-c.sh # C SDK tests +│ ├── run-all-tests.sh # Run all tests +│ └── Dockerfile # Linux CI/test image +├── windows/ +│ ├── test-python.ps1 # Python SDK tests +│ ├── test-c.ps1 # C SDK tests +│ ├── run-all-tests.ps1 # Run all tests +│ └── Dockerfile # Windows CI/test image └── test-images/ # Test image files ``` @@ -36,6 +43,7 @@ export SDK_VERSION=0.1000.3 ```bash docker build \ + -f test-scripts/linux/Dockerfile \ --build-arg SDK_VERSION=$SDK_VERSION \ --build-arg ARCH=linux-aarch64 \ --build-arg SCANBOT_LICENSE=$SCANBOT_LICENSE \ From 365e36e43e8413b0eab74ecf6a98e14061d0d8a1 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Mon, 14 Sep 2026 10:52:01 +0200 Subject: [PATCH 30/36] Refactor enhance functionality to straighten, updating commands and documentation across examples and test scripts --- examples/c/README.md | 6 +++--- examples/c/include/snippets/enhancer/document_enhancer.h | 8 -------- .../include/snippets/straightener/document_straightener.h | 8 ++++++++ examples/c/src/main.c | 6 +++--- examples/c/src/snippets/barcode/detect_barcode.c | 2 +- .../document_straightener.c} | 4 ++-- examples/c/src/utils/utils.c | 4 ++-- examples/java/README.md | 6 +++--- .../src/main/java/io/scanbot/sdk/ScanbotSDKExample.java | 2 +- .../sdk/snippets/image/ImageProcessingSnippets.java | 7 ++++++- .../src/main/java/io/scanbot/sdk/utils/ExampleUsage.java | 8 ++++---- examples/nodejs/README.md | 6 +++--- examples/nodejs/src/index.ts | 6 +++--- .../document-straightener.ts} | 2 +- examples/nodejs/src/snippets/utils/example-usage.ts | 4 ++-- examples/python/README.md | 6 +++--- examples/python/main.py | 6 +++--- .../document_straightener.py} | 2 +- examples/python/utils.py | 6 +++--- test-scripts/linux/test-c.sh | 5 ++--- test-scripts/linux/test-java.sh | 5 ++--- test-scripts/linux/test-nodejs.sh | 5 ++--- test-scripts/linux/test-python.sh | 5 ++--- test-scripts/windows/test-c.ps1 | 3 +-- test-scripts/windows/test-python.ps1 | 3 +-- 25 files changed, 62 insertions(+), 63 deletions(-) delete mode 100644 examples/c/include/snippets/enhancer/document_enhancer.h create mode 100644 examples/c/include/snippets/straightener/document_straightener.h rename examples/c/src/snippets/{enhancer/document_enhancer.c => straightener/document_straightener.c} (95%) rename examples/nodejs/src/snippets/{enhancer/document-enhancer.ts => straightener/document-straightener.ts} (95%) rename examples/python/snippets/{enhancer/document_enhancer.py => straightener/document_straightener.py} (93%) diff --git a/examples/c/README.md b/examples/c/README.md index cca17a5..5a64a73 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -83,11 +83,11 @@ In order to build all examples, run the following commands: ## Usage -The example supports five modes: **scan**, **analyze**, **enhance**, **parse**, and **live**. +The example supports five modes: **scan**, **analyze**, **straighten**, **parse**, and **live**. ```bash ./scanbotsdk_example scan --file [--license ] ./scanbotsdk_example analyze --file [--save ] [--license ] -./scanbotsdk_example enhance --file [--license ] +./scanbotsdk_example straighten --file [--license ] ./scanbotsdk_example parse --text "" [--license ] ./scanbotsdk_example live --file [--license ] [--use_tensorrt] ``` @@ -97,7 +97,7 @@ The example supports five modes: **scan**, **analyze**, **enhance**, **parse**, ./scanbotsdk_example scan barcode --file images/example.jpg --license ./scanbotsdk_example analyze analyze_multi_page --file files/doc.pdf --license ./scanbotsdk_example analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license -./scanbotsdk_example enhance document --file images/doc.jpg --license +./scanbotsdk_example straighten document --file images/doc.jpg --license ./scanbotsdk_example parse mrz --text "P ./scanbotsdk_example live barcode --file images/example.jpg --license ``` diff --git a/examples/c/include/snippets/enhancer/document_enhancer.h b/examples/c/include/snippets/enhancer/document_enhancer.h deleted file mode 100644 index 6826eea..0000000 --- a/examples/c/include/snippets/enhancer/document_enhancer.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef DOCUMENT_ENHANCER_H -#define DOCUMENT_ENHANCER_H - -#include - -scanbotsdk_error_code_t enhance_document(scanbotsdk_image_t *image); - -#endif diff --git a/examples/c/include/snippets/straightener/document_straightener.h b/examples/c/include/snippets/straightener/document_straightener.h new file mode 100644 index 0000000..1c63bc7 --- /dev/null +++ b/examples/c/include/snippets/straightener/document_straightener.h @@ -0,0 +1,8 @@ +#ifndef DOCUMENT_STRAIGHTENER_H +#define DOCUMENT_STRAIGHTENER_H + +#include + +scanbotsdk_error_code_t straighten_document(scanbotsdk_image_t *image); + +#endif diff --git a/examples/c/src/main.c b/examples/c/src/main.c index 865ccae..bb1d86b 100644 --- a/examples/c/src/main.c +++ b/examples/c/src/main.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include @@ -69,13 +69,13 @@ int main(int argc, char *argv[]) { else if (strcmp(command, "vin") == 0) ec = detect_vin(image); else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } } - else if (strcmp(category, "enhance") == 0) { + else if (strcmp(category, "straighten") == 0) { if (!file_path) { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; goto cleanup; } ec = load_image_from_path(file_path, &image); if (ec != SCANBOTSDK_OK) goto cleanup; - if (strcmp(command, "document") == 0) ec = enhance_document(image); + if (strcmp(command, "document") == 0) ec = straighten_document(image); else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } } else if (strcmp(category, "analyze") == 0) { diff --git a/examples/c/src/snippets/barcode/detect_barcode.c b/examples/c/src/snippets/barcode/detect_barcode.c index 2d1be42..1b213f7 100644 --- a/examples/c/src/snippets/barcode/detect_barcode.c +++ b/examples/c/src/snippets/barcode/detect_barcode.c @@ -25,7 +25,7 @@ scanbotsdk_error_code_t print_barcodes_result(scanbotsdk_barcode_scanner_result_ scanbotsdk_generic_document_t *doc = NULL; scanbotsdk_barcode_item_get_text(barcodes[i], &text_ref); const char *text = scanbotsdk_u8string_ref_assume_cstring(text_ref); - fprintf(stdout, " %zu) %s\n", i + 1, text ? text : ""); + fprintf(stdout, " %zu) %s\n", i + 1, text); scanbotsdk_barcode_item_get_extracted_document(barcodes[i], &doc); if(doc != NULL) { diff --git a/examples/c/src/snippets/enhancer/document_enhancer.c b/examples/c/src/snippets/straightener/document_straightener.c similarity index 95% rename from examples/c/src/snippets/enhancer/document_enhancer.c rename to examples/c/src/snippets/straightener/document_straightener.c index 4d266fe..22e91a3 100644 --- a/examples/c/src/snippets/enhancer/document_enhancer.c +++ b/examples/c/src/snippets/straightener/document_straightener.c @@ -1,10 +1,10 @@ #include #include -#include +#include #include -scanbotsdk_error_code_t enhance_document(scanbotsdk_image_t *image) { +scanbotsdk_error_code_t straighten_document(scanbotsdk_image_t *image) { scanbotsdk_error_code_t ec = SCANBOTSDK_OK; scanbotsdk_document_straightening_result_t *result = NULL; diff --git a/examples/c/src/utils/utils.c b/examples/c/src/utils/utils.c index 7cc68b7..fe144aa 100644 --- a/examples/c/src/utils/utils.c +++ b/examples/c/src/utils/utils.c @@ -90,7 +90,7 @@ void print_usage(const char *prog) { printf("Usage:\n"); printf(" %s scan --file [--license ]\n", prog); printf("or\n"); - printf(" %s enhance --file [--license ]\n", prog); + printf(" %s straighten --file [--license ]\n", prog); printf("or\n"); printf(" %s analyze --file --save [--license ]\n", prog); printf("or\n"); @@ -102,7 +102,7 @@ void print_usage(const char *prog) { printf(" barcode | document | check | credit_card | document_data_extractor |\n"); printf(" medical_certificate | mrz | ocr | text_pattern | vin\n\n"); - printf("Available enhance commands:\n"); + printf("Available straighten commands:\n"); printf(" document \n\n"); printf("Available analyze commands:\n"); diff --git a/examples/java/README.md b/examples/java/README.md index dca0ae6..a237eb6 100644 --- a/examples/java/README.md +++ b/examples/java/README.md @@ -9,13 +9,13 @@ def SCANBOTSDK_VERSION = "" // e.g., 9.0.0 ``` ## Usage -The example supports four commands: **scan**, **analyze**, **enhance**, and **parse**. +The example supports four commands: **scan**, **analyze**, **straighten**, and **parse**. ```bash ./gradlew run --args='scan --file [--license ]' ./gradlew run --args='scan --resource [--license ]' ./gradlew run --args='analyze --file --save [--license ]' ./gradlew run --args='analyze --resource --save [--license ]' -./gradlew run --args='enhance --file [--license ]' +./gradlew run --args='straighten --file [--license ]' ./gradlew run --args='parse --text "" [--license ]' ``` @@ -24,7 +24,7 @@ The example supports four commands: **scan**, **analyze**, **enhance**, and **pa ./gradlew run --args='scan barcode --file images/example.jpg --license ' ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license ' ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license ' -./gradlew run --args='enhance document --file images/doc.jpg --license ' +./gradlew run --args='straighten document --file images/doc.jpg --license ' ./gradlew run --args='parse mrz --text "P' ``` diff --git a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java index 519a061..a02e187 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java +++ b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java @@ -74,7 +74,7 @@ public static void main(String[] args) throws Exception { } break; } - case "enhance": { + case "straighten": { if (file == null && resource == null) { ExampleUsage.print(); return; } try (ImageRef image = Utils.createImageRef(file, resource)) { switch (subcommand) { diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java index 58db9e5..6303157 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java @@ -12,6 +12,7 @@ import io.scanbot.sdk.image.SaveImageOptions; import io.scanbot.sdk.imageprocessing.BinarizationFilterPreset; import io.scanbot.sdk.imageprocessing.CustomBinarizationFilter; +import io.scanbot.sdk.imageprocessing.DocumentCropOptimization; import io.scanbot.sdk.imageprocessing.ImageProcessor; public class ImageProcessingSnippets { @@ -73,7 +74,11 @@ public static void detectAndCropDocument(ImageRef image) throws Exception { System.out.println("Detection status: " + detectionResult.getStatus()); System.out.println("Detected points: " + detectionResult.getPoints().size()); - try (ImageRef cropped = processor.crop(image, detectionResult.getPointsNormalized(), null)) { + try (ImageRef cropped = processor.crop( + image, + detectionResult.getPointsNormalized(), + DocumentCropOptimization.NONE + )) { ImageInfo croppedInfo = cropped.imageInfo(); System.out.println("Cropped WxH: " + croppedInfo.getWidth() + "x" + croppedInfo.getHeight()); } diff --git a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java index c191403..0c080a0 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java +++ b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java @@ -13,9 +13,9 @@ public static void print() { System.out.println("or"); System.out.println(" ./gradlew run --args='analyze --file --save [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='enhance --resource [--license ]'"); + System.out.println(" ./gradlew run --args='straighten --resource [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='enhance --file [--license ]'"); + System.out.println(" ./gradlew run --args='straighten --file [--license ]'"); System.out.println(); System.out.println(" ./gradlew run --args='parse --text \"\" [--license ]'"); System.out.println(); @@ -25,7 +25,7 @@ public static void print() { System.out.println("Available analyze commands:"); System.out.println(" analyze_multi_page | crop_analyze"); System.out.println(); - System.out.println("Available enhance commands:"); + System.out.println("Available straighten commands:"); System.out.println(" document"); System.out.println(); System.out.println("Available parse commands:"); @@ -39,7 +39,7 @@ public static void print() { System.out.println(" ./gradlew run --args='scan barcode --file images/example.jpg --license '"); System.out.println(" ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license '"); System.out.println(" ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license '"); - System.out.println(" ./gradlew run --args='enhance document --file images/doc.jpg --license '"); + System.out.println(" ./gradlew run --args='straighten document --file images/doc.jpg --license '"); System.out.println(" ./gradlew run --args='parse mrz --text \"P'"); System.out.println(); } diff --git a/examples/nodejs/README.md b/examples/nodejs/README.md index 6d90c90..45c8c4a 100644 --- a/examples/nodejs/README.md +++ b/examples/nodejs/README.md @@ -16,11 +16,11 @@ node -e "console.log(require('scanbotsdk') ? 'Scanbot SDK loaded' : 'Error')" ``` ## Usage -The example supports four modes: **scan**, **analyze**, **enhance**, and **parse**. +The example supports four modes: **scan**, **analyze**, **straighten**, and **parse**. ```bash npx ts-node src/index.ts scan --file [--license ] npx ts-node src/index.ts analyze --file [--save ] [--license ] -npx ts-node src/index.ts enhance --file [--license ] +npx ts-node src/index.ts straighten --file [--license ] npx ts-node src/index.ts parse --text "" [--license ] ``` @@ -29,7 +29,7 @@ npx ts-node src/index.ts parse --text "" [--license ] npx ts-node src/index.ts scan barcode --file images/example.jpg --license npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license -npx ts-node src/index.ts enhance document --file images/doc.jpg --license +npx ts-node src/index.ts straighten document --file images/doc.jpg --license npx ts-node src/index.ts parse mrz --text "P ``` diff --git a/examples/nodejs/src/index.ts b/examples/nodejs/src/index.ts index 62bdb6d..00553f4 100644 --- a/examples/nodejs/src/index.ts +++ b/examples/nodejs/src/index.ts @@ -16,7 +16,7 @@ import { MrzParserSnippet } from "./snippets/datacapture/mrz-parser"; import { ParseBarcodeDocumentSnippet } from "./snippets/barcode/parse-barcode-document"; import { AnalyzeMultiPageSnippet } from "./snippets/document/analyze-multipage"; import { CropAndAnalyzeSnippet } from "./snippets/document/crop-analyze"; -import { DocumentEnhancerSnippet } from "./snippets/enhancer/document-enhancer"; +import { DocumentStraightenerSnippet } from "./snippets/straightener/document-straightener"; async function awaitPromise(promise: Promise, maxAwaitTimeMs: number = 60 * 1000): Promise { const timer = setTimeout(() => { @@ -95,12 +95,12 @@ async function main(): Promise { break; } - case "enhance": { + case "straighten": { if (!file) { printUsage(); return; } const image = await ScanbotSDK.ImageRef.fromPath(file); switch (subcommand) { - case "document": await DocumentEnhancerSnippet.run(image); break; + case "document": await DocumentStraightenerSnippet.run(image); break; default: printUsage(); } break; diff --git a/examples/nodejs/src/snippets/enhancer/document-enhancer.ts b/examples/nodejs/src/snippets/straightener/document-straightener.ts similarity index 95% rename from examples/nodejs/src/snippets/enhancer/document-enhancer.ts rename to examples/nodejs/src/snippets/straightener/document-straightener.ts index 10936ed..ed8a4c5 100644 --- a/examples/nodejs/src/snippets/enhancer/document-enhancer.ts +++ b/examples/nodejs/src/snippets/straightener/document-straightener.ts @@ -1,7 +1,7 @@ import * as ScanbotSDK from "scanbotsdk"; import { AspectRatio } from "scanbotsdk"; -export class DocumentEnhancerSnippet { +export class DocumentStraightenerSnippet { public static async run(image: ScanbotSDK.ImageRef): Promise { var params = new ScanbotSDK.DocumentStraighteningParameters(); params.straighteningMode = "STRAIGHTEN"; diff --git a/examples/nodejs/src/snippets/utils/example-usage.ts b/examples/nodejs/src/snippets/utils/example-usage.ts index 760c1af..b2a921e 100644 --- a/examples/nodejs/src/snippets/utils/example-usage.ts +++ b/examples/nodejs/src/snippets/utils/example-usage.ts @@ -6,7 +6,7 @@ Usage: Categories & subcommands: scan analyze - enhance + straighten parse Flags: @@ -20,7 +20,7 @@ Examples: npx ts-node src/index.ts scan barcode --file images/example.jpg --license npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license - npx ts-node src/index.ts enhance document --file images/doc.jpg --license + npx ts-node src/index.ts straighten document --file images/doc.jpg --license npx ts-node src/index.ts parse mrz --text "P `); } diff --git a/examples/python/README.md b/examples/python/README.md index 9818024..8924f3b 100644 --- a/examples/python/README.md +++ b/examples/python/README.md @@ -132,11 +132,11 @@ Replace `` with the actual version number of the SDK you wa ``` ## Usage -The example supports five modes: **scan**, **analyze**, **enhance**, **parse**, and **live**. +The example supports five modes: **scan**, **analyze**, **straighten**, **parse**, and **live**. ```bash python main.py scan --file [--license ] python main.py analyze --file [--save ] [--license ] -python main.py enhance --file [--license ] +python main.py straighten --file [--license ] python main.py parse --text "" [--license ] python main.py live --device "" [--license ] [--preview] [--use_tensorrt] ``` @@ -146,7 +146,7 @@ python main.py live --device "" [--license ] [-- python main.py scan barcode --file images/example.jpg --license python main.py analyze analyze_multi_page --file files/doc.pdf --license python main.py analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license -python main.py enhance document --file images/doc.jpg --license +python main.py straighten document --file images/doc.jpg --license python main.py parse mrz --text "P python main.py live barcode --device "0" --license ``` diff --git a/examples/python/main.py b/examples/python/main.py index 3b198a9..36d9175 100644 --- a/examples/python/main.py +++ b/examples/python/main.py @@ -1,7 +1,7 @@ import sys import scanbotsdk -from snippets.enhancer.document_enhancer import enhance_document +from snippets.straightener.document_straightener import straighten_document from snippets.document.analyze_multi_page import analyze_multi_page from snippets.document.crop_and_analyze import crop_and_analyze from snippets.barcode.barcode_document_parser import parse_barcode_document @@ -67,10 +67,10 @@ def main(): elif subcommand == "vin": scan_vin(image) else: print_usage() - elif category == "enhance": + elif category == "straighten": if not file_path: print_usage(); return with create_image_ref(file_path) as image: - if subcommand == "document": enhance_document(image) + if subcommand == "document": straighten_document(image) else: print_usage() elif category == "analyze": diff --git a/examples/python/snippets/enhancer/document_enhancer.py b/examples/python/snippets/straightener/document_straightener.py similarity index 93% rename from examples/python/snippets/enhancer/document_enhancer.py rename to examples/python/snippets/straightener/document_straightener.py index ec20ef6..bfbc0d2 100644 --- a/examples/python/snippets/enhancer/document_enhancer.py +++ b/examples/python/snippets/straightener/document_straightener.py @@ -1,6 +1,6 @@ from scanbotsdk import * -def enhance_document(image: ImageRef): +def straighten_document(image: ImageRef): params = DocumentStraighteningParameters() params.straightening_mode = DocumentStraighteningMode.STRAIGHTEN params.aspect_ratios = [ diff --git a/examples/python/utils.py b/examples/python/utils.py index f33c743..cd84e8f 100644 --- a/examples/python/utils.py +++ b/examples/python/utils.py @@ -55,19 +55,19 @@ def print_usage(): print("Usage:") print(" python main.py scan --file [--license ]") print(" python main.py analyze --file --save [--license ]") - print(" python main.py enhance --file [--license ]") + print(" python main.py straighten --file [--license ]") print(" python main.py parse --text \"\" [--license ]") print(" python main.py live --device [--license ] --preview --use_tensorrt\n") print("Available commands:") - print(" scan | analyze | enhance | parse | live\n") + print(" scan | analyze | straighten | parse | live\n") print("Available scan commands:") print( " barcode | document | check | credit_card | document_data_extractor | medical_certificate | mrz | ocr | text_pattern | vin\n") print("Available analyze commands:") print(" analyze_multi_page | crop_analyze\n") - print("Available enhance commands:") + print("Available straighten commands:") print(" document \n") print("Available parse commands:") print(" mrz | barcode_doc\n") diff --git a/test-scripts/linux/test-c.sh b/test-scripts/linux/test-c.sh index 41b92ad..34fc1f3 100755 --- a/test-scripts/linux/test-c.sh +++ b/test-scripts/linux/test-c.sh @@ -46,7 +46,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "enhance document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" + "straighten document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -65,7 +65,7 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" - "Document enhance" + "Document straighten" "Multi-page analyze" "Crop analyze" "MRZ parse" @@ -88,4 +88,3 @@ for i in "${!commands[@]}"; do done echo "PASS: C tests PASSED" - diff --git a/test-scripts/linux/test-java.sh b/test-scripts/linux/test-java.sh index d4d7522..5886525 100755 --- a/test-scripts/linux/test-java.sh +++ b/test-scripts/linux/test-java.sh @@ -33,7 +33,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "enhance document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" + "straighten document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --save /tmp/out.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --save /tmp/crop.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -52,7 +52,7 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" - "Document enhance" + "Document straighten" "Multi-page analyze" "Crop analyze" "MRZ parse" @@ -76,4 +76,3 @@ for i in "${!commands[@]}"; do done echo "PASS: Java tests PASSED" - diff --git a/test-scripts/linux/test-nodejs.sh b/test-scripts/linux/test-nodejs.sh index 3c318d4..378bd95 100755 --- a/test-scripts/linux/test-nodejs.sh +++ b/test-scripts/linux/test-nodejs.sh @@ -44,7 +44,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "enhance document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" + "straighten document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -63,7 +63,7 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" - "Document enhance" + "Document straighten" "Multi-page analyze" "Crop analyze" "MRZ parse" @@ -86,4 +86,3 @@ for i in "${!commands[@]}"; do done echo "PASS: Node.js tests PASSED" - diff --git a/test-scripts/linux/test-python.sh b/test-scripts/linux/test-python.sh index f45800c..eefe749 100755 --- a/test-scripts/linux/test-python.sh +++ b/test-scripts/linux/test-python.sh @@ -33,7 +33,7 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "enhance document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" + "straighten document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests @@ -52,7 +52,7 @@ command_names=( "OCR scan" "Text pattern scan" "VIN scan" - "Document enhance" + "Document straighten" "Multi-page analyze" "Crop analyze" "MRZ parse" @@ -75,4 +75,3 @@ for i in "${!commands[@]}"; do done echo "PASS: Python tests PASSED" - diff --git a/test-scripts/windows/test-c.ps1 b/test-scripts/windows/test-c.ps1 index 3df12c9..f8e0251 100755 --- a/test-scripts/windows/test-c.ps1 +++ b/test-scripts/windows/test-c.ps1 @@ -78,7 +78,7 @@ $commands = @( @{ Name = 'OCR scan'; Args = @('scan', 'ocr', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Text pattern scan'; Args = @('scan', 'text_pattern', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'VIN scan'; Args = @('scan', 'vin', '--file', '../../test-scripts/test-images/VIN.jpeg', '--license', $env:SCANBOT_LICENSE) }, - @{ Name = 'Document enhance'; Args = @('enhance', 'document', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Document straighten'; Args = @('straighten', 'document', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Multi-page analyze'; Args = @('analyze', 'analyze_multi_page', '--file', '../../test-scripts/test-images/multi_page_document.pdf', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Crop analyze'; Args = @('analyze', 'crop_analyze', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'MRZ parse'; Args = @('parse', 'mrz', '--text', 'P Date: Tue, 15 Sep 2026 16:51:28 +0200 Subject: [PATCH 31/36] Updated examples and tests to replace straighten with enhance, added document cleanup snippets (Java/Node.js/Python), adjusted enhance parameters, and included new cleanup test scenarios with supporting images --- examples/c/README.md | 7 +- .../snippets/document/document_cleanup.h | 12 ++ examples/c/src/main.c | 25 +++- .../src/snippets/document/document_cleanup.c | 113 ++++++++++++++++++ examples/c/src/utils/utils.c | 13 +- examples/java/README.md | 11 +- .../io/scanbot/sdk/ScanbotSDKExample.java | 23 ++-- .../document/DocumentCleanupSnippet.java | 38 ++++++ .../io/scanbot/sdk/utils/ExampleUsage.java | 18 +-- examples/nodejs/README.md | 7 +- examples/nodejs/src/index.ts | 16 ++- .../src/snippets/document/document-cleanup.ts | 26 ++++ .../src/snippets/utils/example-usage.ts | 7 +- examples/python/README.md | 7 +- examples/python/main.py | 14 ++- .../snippets/document/document_cleanup.py | 26 ++++ examples/python/utils.py | 15 ++- test-scripts/linux/test-c.sh | 12 +- test-scripts/linux/test-java.sh | 8 +- test-scripts/linux/test-nodejs.sh | 12 +- test-scripts/linux/test-python.sh | 12 +- test-scripts/test-images/finger_corner.jpeg | Bin 0 -> 254095 bytes .../test-images/finger_corner_mask_001.png | Bin 0 -> 26091 bytes test-scripts/test-images/highlighted.png | Bin 0 -> 530561 bytes .../test-images/highlighted_mask_001.png | Bin 0 -> 2495 bytes test-scripts/windows/test-c.ps1 | 2 +- test-scripts/windows/test-python.ps1 | 2 +- 27 files changed, 356 insertions(+), 70 deletions(-) create mode 100644 examples/c/include/snippets/document/document_cleanup.h create mode 100644 examples/c/src/snippets/document/document_cleanup.c create mode 100644 examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentCleanupSnippet.java create mode 100644 examples/nodejs/src/snippets/document/document-cleanup.ts create mode 100644 examples/python/snippets/document/document_cleanup.py create mode 100644 test-scripts/test-images/finger_corner.jpeg create mode 100644 test-scripts/test-images/finger_corner_mask_001.png create mode 100644 test-scripts/test-images/highlighted.png create mode 100644 test-scripts/test-images/highlighted_mask_001.png diff --git a/examples/c/README.md b/examples/c/README.md index 5a64a73..218d855 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -83,11 +83,11 @@ In order to build all examples, run the following commands: ## Usage -The example supports five modes: **scan**, **analyze**, **straighten**, **parse**, and **live**. +The example supports five modes: **scan**, **analyze**, **enhance**, **parse**, and **live**. ```bash ./scanbotsdk_example scan --file [--license ] ./scanbotsdk_example analyze --file [--save ] [--license ] -./scanbotsdk_example straighten --file [--license ] +./scanbotsdk_example enhance --file [--save ] [--mask ] [--license ] ./scanbotsdk_example parse --text "" [--license ] ./scanbotsdk_example live --file [--license ] [--use_tensorrt] ``` @@ -97,7 +97,8 @@ The example supports five modes: **scan**, **analyze**, **straighten**, **parse* ./scanbotsdk_example scan barcode --file images/example.jpg --license ./scanbotsdk_example analyze analyze_multi_page --file files/doc.pdf --license ./scanbotsdk_example analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license -./scanbotsdk_example straighten document --file images/doc.jpg --license +./scanbotsdk_example enhance straighten_document --file images/doc.jpg --license +./scanbotsdk_example enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license ./scanbotsdk_example parse mrz --text "P ./scanbotsdk_example live barcode --file images/example.jpg --license ``` diff --git a/examples/c/include/snippets/document/document_cleanup.h b/examples/c/include/snippets/document/document_cleanup.h new file mode 100644 index 0000000..bd6d91e --- /dev/null +++ b/examples/c/include/snippets/document/document_cleanup.h @@ -0,0 +1,12 @@ +#ifndef DOCUMENT_CLEANUP_H +#define DOCUMENT_CLEANUP_H + +#include + +scanbotsdk_error_code_t document_cleanup( + scanbotsdk_image_t *image, + scanbotsdk_image_t *mask, + const char *save_path +); + +#endif diff --git a/examples/c/src/main.c b/examples/c/src/main.c index bb1d86b..9a20e90 100644 --- a/examples/c/src/main.c +++ b/examples/c/src/main.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -35,6 +36,7 @@ int main(int argc, char *argv[]) { char *command = argv[2]; const char *file_path = get_flag(argc, argv, "--file"); const char *save_path = get_flag(argc, argv, "--save"); + const char *mask_path = get_flag(argc, argv, "--mask"); const char *text_input = get_flag(argc, argv, "--text"); const char *license_arg = get_flag(argc, argv, "--license"); bool use_tensor_rt = get_flag(argc, argv, "--use_tensorrt") != NULL; // live only, tensor rt accelerator @@ -47,6 +49,7 @@ int main(int argc, char *argv[]) { params.writeable_path = "."; scanbotsdk_image_t *image = NULL; + scanbotsdk_image_t *mask_image = NULL; scanbotsdk_error_code_t ec = scanbotsdk_initialize(¶ms); if (ec != SCANBOTSDK_OK) { fprintf(stderr, "initialize: %d: %s\n", ec, error_message(ec)); goto cleanup; } @@ -69,13 +72,26 @@ int main(int argc, char *argv[]) { else if (strcmp(command, "vin") == 0) ec = detect_vin(image); else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } } - else if (strcmp(category, "straighten") == 0) { + else if (strcmp(category, "enhance") == 0) { if (!file_path) { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; goto cleanup; } - ec = load_image_from_path(file_path, &image); - if (ec != SCANBOTSDK_OK) goto cleanup; + if (strcmp(command, "straighten_document") == 0) { + ec = load_image_from_path(file_path, &image); + if (ec != SCANBOTSDK_OK) goto cleanup; + + ec = straighten_document(image); + } + else if (strcmp(command, "cleanup_document") == 0) { + if (!mask_path) { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; goto cleanup; } - if (strcmp(command, "document") == 0) ec = straighten_document(image); + ec = load_image_from_path(file_path, &image); + if (ec != SCANBOTSDK_OK) goto cleanup; + + ec = load_image_from_path(mask_path, &mask_image); + if (ec != SCANBOTSDK_OK) goto cleanup; + + ec = document_cleanup(image, mask_image, save_path); + } else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } } else if (strcmp(category, "analyze") == 0) { @@ -107,6 +123,7 @@ int main(int argc, char *argv[]) { else { print_usage(argv[0]); ec = SCANBOTSDK_ERROR_INVALID_ARGUMENT; } cleanup: + scanbotsdk_image_free(mask_image); scanbotsdk_image_free(image); return (ec == SCANBOTSDK_OK) ? 0 : 1; } \ No newline at end of file diff --git a/examples/c/src/snippets/document/document_cleanup.c b/examples/c/src/snippets/document/document_cleanup.c new file mode 100644 index 0000000..f141e5e --- /dev/null +++ b/examples/c/src/snippets/document/document_cleanup.c @@ -0,0 +1,113 @@ +#include + +#include +#include + +scanbotsdk_error_code_t document_cleanup( + scanbotsdk_image_t *image, + scanbotsdk_image_t *mask, + const char *save_path +) { + scanbotsdk_error_code_t ec = SCANBOTSDK_OK; + scanbotsdk_document_cleanup_configuration_t *configuration = NULL; + scanbotsdk_document_cleanup_t *cleanup = NULL; + scanbotsdk_document_cleanup_result_t *result = NULL; + scanbotsdk_document_cleanup_status_t status; + const char *status_str = NULL; + + scanbotsdk_image_t *cleaned_image = NULL; + scanbotsdk_image_info_t *original_info = NULL; + scanbotsdk_image_info_t *cleaned_info = NULL; + int original_width = 0; + int original_height = 0; + int cleaned_width = 0; + int cleaned_height = 0; + + scanbotsdk_save_image_options_t *save_options = NULL; + + ec = scanbotsdk_document_cleanup_configuration_create_with_defaults(&configuration); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "document_cleanup_configuration_create_with_defaults: %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + ec = scanbotsdk_document_cleanup_create(image, configuration, &cleanup); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "document_cleanup_create: %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + ec = scanbotsdk_document_cleanup_run(cleanup, mask, &result); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "document_cleanup_run: %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + ec = scanbotsdk_document_cleanup_result_get_status(result, &status); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "document_cleanup_result_get_status: %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + ec = scanbotsdk_document_cleanup_status_t_to_string(status, &status_str); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "document_cleanup_status_t_to_string: %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + printf("Document cleanup status: %s\n", status_str); + + ec = scanbotsdk_image_info(image, &original_info); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "image_info(original): %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + ec = scanbotsdk_document_cleanup_result_get_image(result, &cleaned_image); + if (ec != SCANBOTSDK_OK || cleaned_image == NULL) { + fprintf(stderr, "document_cleanup_result_get_image: %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + ec = scanbotsdk_image_info(cleaned_image, &cleaned_info); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "image_info(cleaned): %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + ec = scanbotsdk_image_info_get_width(original_info, &original_width); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "image_info_get_width(original): %d: %s\n", ec, error_message(ec)); goto cleanup; } + ec = scanbotsdk_image_info_get_height(original_info, &original_height); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "image_info_get_height(original): %d: %s\n", ec, error_message(ec)); goto cleanup; } + ec = scanbotsdk_image_info_get_width(cleaned_info, &cleaned_width); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "image_info_get_width(cleaned): %d: %s\n", ec, error_message(ec)); goto cleanup; } + ec = scanbotsdk_image_info_get_height(cleaned_info, &cleaned_height); + if (ec != SCANBOTSDK_OK) { fprintf(stderr, "image_info_get_height(cleaned): %d: %s\n", ec, error_message(ec)); goto cleanup; } + + printf("Original WxH: %dx%d\n", original_width, original_height); + printf("Cleaned WxH: %dx%d\n", cleaned_width, cleaned_height); + + if (save_path && save_path[0] != '\0') { + ec = scanbotsdk_save_image_options_create_with_defaults(&save_options); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "save_image_options_create_with_defaults: %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + + ec = scanbotsdk_image_save(cleaned_image, save_path, save_options); + if (ec != SCANBOTSDK_OK) { + fprintf(stderr, "image_save: %d: %s\n", ec, error_message(ec)); + goto cleanup; + } + printf("Saved cleaned image to: %s\n", save_path); + } + +cleanup: + scanbotsdk_save_image_options_free(save_options); + scanbotsdk_image_info_free(cleaned_info); + scanbotsdk_image_info_free(original_info); + scanbotsdk_document_cleanup_result_free(result); + scanbotsdk_document_cleanup_free(cleanup); + scanbotsdk_document_cleanup_configuration_free(configuration); + return ec; +} diff --git a/examples/c/src/utils/utils.c b/examples/c/src/utils/utils.c index fe144aa..665ef64 100644 --- a/examples/c/src/utils/utils.c +++ b/examples/c/src/utils/utils.c @@ -90,9 +90,9 @@ void print_usage(const char *prog) { printf("Usage:\n"); printf(" %s scan --file [--license ]\n", prog); printf("or\n"); - printf(" %s straighten --file [--license ]\n", prog); + printf(" %s enhance --file [--save ] [--mask ] [--license ]\n", prog); printf("or\n"); - printf(" %s analyze --file --save [--license ]\n", prog); + printf(" %s analyze --file [--save ] [--license ]\n", prog); printf("or\n"); printf(" %s parse --text \"\" [--license ]\n\n", prog); printf("or\n"); @@ -102,8 +102,8 @@ void print_usage(const char *prog) { printf(" barcode | document | check | credit_card | document_data_extractor |\n"); printf(" medical_certificate | mrz | ocr | text_pattern | vin\n\n"); - printf("Available straighten commands:\n"); - printf(" document \n\n"); + printf("Available enhance commands:\n"); + printf(" straighten_document | cleanup_document\n\n"); printf("Available analyze commands:\n"); printf(" analyze_multi_page | crop_analyze\n\n"); @@ -122,7 +122,8 @@ void print_usage(const char *prog) { "to an actual camera or live video feed.\n"); printf("Note:\n"); - printf(" The --save argument is optional and only used with analyze/crop_analyze.\n"); + printf(" The --save argument is optional and used with analyze/crop_analyze and enhance/cleanup_document.\n"); + printf(" The --mask argument is required for enhance/cleanup_document.\n"); printf(" The --license argument is optional. If not provided, the program will\n"); printf(" \tcheck the placeholder in main.c\n"); @@ -130,6 +131,8 @@ void print_usage(const char *prog) { printf(" %s scan barcode --file images/example.jpg --license \n", prog); printf(" %s analyze analyze_multi_page --file files/doc.pdf --license \n", prog); printf(" %s analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license \n", prog); + printf(" %s enhance straighten_document --file images/doc.jpg --license \n", prog); + printf(" %s enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license \n", prog); printf(" %s parse mrz --text \"P\n", prog); printf(" %s live barcode --file images/example.jpg --license \n", prog); printf("\n"); diff --git a/examples/java/README.md b/examples/java/README.md index a237eb6..7610d32 100644 --- a/examples/java/README.md +++ b/examples/java/README.md @@ -9,13 +9,13 @@ def SCANBOTSDK_VERSION = "" // e.g., 9.0.0 ``` ## Usage -The example supports four commands: **scan**, **analyze**, **straighten**, and **parse**. +The example supports four commands: **scan**, **analyze**, **enhance**, and **parse**. ```bash ./gradlew run --args='scan --file [--license ]' ./gradlew run --args='scan --resource [--license ]' -./gradlew run --args='analyze --file --save [--license ]' -./gradlew run --args='analyze --resource --save [--license ]' -./gradlew run --args='straighten --file [--license ]' +./gradlew run --args='analyze --file [--save ] [--license ]' +./gradlew run --args='analyze --resource [--save ] [--license ]' +./gradlew run --args='enhance --file [--save ] [--mask ] [--mask-resource ] [--license ]' ./gradlew run --args='parse --text "" [--license ]' ``` @@ -24,7 +24,8 @@ The example supports four commands: **scan**, **analyze**, **straighten**, and * ./gradlew run --args='scan barcode --file images/example.jpg --license ' ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license ' ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license ' -./gradlew run --args='straighten document --file images/doc.jpg --license ' +./gradlew run --args='enhance straighten_document --file images/doc.jpg --license ' +./gradlew run --args='enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license ' ./gradlew run --args='parse mrz --text "P' ``` diff --git a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java index a02e187..506603e 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java +++ b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java @@ -28,6 +28,8 @@ public static void main(String[] args) throws Exception { final String file = f.get("--file"); final String resource = f.get("--resource"); final String save = f.get("--save"); + final String mask = f.get("--mask"); + final String maskResource = f.get("--mask-resource"); final String text = f.get("--text"); final String license = f.get("--license"); @@ -74,15 +76,22 @@ public static void main(String[] args) throws Exception { } break; } - case "straighten": { + case "enhance": { if (file == null && resource == null) { ExampleUsage.print(); return; } - try (ImageRef image = Utils.createImageRef(file, resource)) { - switch (subcommand) { - case "document": DocumentStraightenerSnippet.run(image); break; - default: ExampleUsage.print(); - } - break; + switch (subcommand) { + case "straighten_document": + try (ImageRef image = Utils.createImageRef(file, resource)) { + DocumentStraightenerSnippet.run(image); + } + break; + case "cleanup_document": + if (mask == null && maskResource == null) { ExampleUsage.print(); return; } + DocumentCleanupSnippet.run(file, resource, mask, maskResource, save); + break; + default: + ExampleUsage.print(); } + break; } case "parse": { if (text == null || text.trim().isEmpty()) { ExampleUsage.print(); return; } diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentCleanupSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentCleanupSnippet.java new file mode 100644 index 0000000..cf5edfc --- /dev/null +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentCleanupSnippet.java @@ -0,0 +1,38 @@ +package io.scanbot.sdk.snippets.document; + +import io.scanbot.sdk.image.ImageInfo; +import io.scanbot.sdk.image.ImageRef; +import io.scanbot.sdk.image.SaveImageOptions; +import io.scanbot.sdk.imageprocessing.DocumentCleanup; +import io.scanbot.sdk.imageprocessing.DocumentCleanupConfiguration; +import io.scanbot.sdk.imageprocessing.DocumentCleanupResult; +import io.scanbot.sdk.utils.Utils; + +public class DocumentCleanupSnippet { + public static void run( + String filePath, + String resourcePath, + String maskFilePath, + String maskResourcePath, + String savePath + ) throws Exception { + try ( + ImageRef image = Utils.createImageRef(filePath, resourcePath); + ImageRef mask = Utils.createImageRef(maskFilePath, maskResourcePath); + DocumentCleanup cleanup = new DocumentCleanup(image, new DocumentCleanupConfiguration()); + DocumentCleanupResult result = cleanup.run(mask) + ) { + System.out.println("Document cleanup status: " + result.getStatus()); + + ImageInfo originalInfo = image.imageInfo(); + ImageInfo cleanedInfo = result.getImage().imageInfo(); + System.out.printf("Original WxH: %dx%d%n", originalInfo.getWidth(), originalInfo.getHeight()); + System.out.printf("Cleaned WxH: %dx%d%n", cleanedInfo.getWidth(), cleanedInfo.getHeight()); + + if (savePath != null) { + result.getImage().saveImage(savePath, new SaveImageOptions()); + System.out.println("Saved cleaned image to: " + savePath); + } + } + } +} diff --git a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java index 0c080a0..f95844f 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java +++ b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java @@ -9,13 +9,13 @@ public static void print() { System.out.println("or"); System.out.println(" ./gradlew run --args='scan --file [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='analyze --resource --save [--license ]'"); + System.out.println(" ./gradlew run --args='analyze --resource [--save ] [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='analyze --file --save [--license ]'"); + System.out.println(" ./gradlew run --args='analyze --file [--save ] [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='straighten --resource [--license ]'"); + System.out.println(" ./gradlew run --args='enhance --resource [--save ] [--mask ] [--mask-resource ] [--license ]'"); System.out.println("or"); - System.out.println(" ./gradlew run --args='straighten --file [--license ]'"); + System.out.println(" ./gradlew run --args='enhance --file [--save ] [--mask ] [--mask-resource ] [--license ]'"); System.out.println(); System.out.println(" ./gradlew run --args='parse --text \"\" [--license ]'"); System.out.println(); @@ -25,21 +25,23 @@ public static void print() { System.out.println("Available analyze commands:"); System.out.println(" analyze_multi_page | crop_analyze"); System.out.println(); - System.out.println("Available straighten commands:"); - System.out.println(" document"); + System.out.println("Available enhance commands:"); + System.out.println(" straighten_document | cleanup_document"); System.out.println(); System.out.println("Available parse commands:"); System.out.println(" mrz | barcode_doc"); System.out.println(); System.out.println("Note:"); - System.out.println(" The --save argument is optional and only used with analyze/crop_analyze."); + System.out.println(" The --save argument is optional and used with analyze/crop_analyze and enhance/cleanup_document."); + System.out.println(" The --mask or --mask-resource argument is required for enhance/cleanup_document."); System.out.println(" The --license argument is optional. If not provided, the program will use placeholder variable ."); System.out.println(); System.out.println("Examples:"); System.out.println(" ./gradlew run --args='scan barcode --file images/example.jpg --license '"); System.out.println(" ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license '"); System.out.println(" ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license '"); - System.out.println(" ./gradlew run --args='straighten document --file images/doc.jpg --license '"); + System.out.println(" ./gradlew run --args='enhance straighten_document --file images/doc.jpg --license '"); + System.out.println(" ./gradlew run --args='enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license '"); System.out.println(" ./gradlew run --args='parse mrz --text \"P'"); System.out.println(); } diff --git a/examples/nodejs/README.md b/examples/nodejs/README.md index 45c8c4a..3acb76e 100644 --- a/examples/nodejs/README.md +++ b/examples/nodejs/README.md @@ -16,11 +16,11 @@ node -e "console.log(require('scanbotsdk') ? 'Scanbot SDK loaded' : 'Error')" ``` ## Usage -The example supports four modes: **scan**, **analyze**, **straighten**, and **parse**. +The example supports four modes: **scan**, **analyze**, **enhance**, and **parse**. ```bash npx ts-node src/index.ts scan --file [--license ] npx ts-node src/index.ts analyze --file [--save ] [--license ] -npx ts-node src/index.ts straighten --file [--license ] +npx ts-node src/index.ts enhance --file [--save ] [--mask ] [--license ] npx ts-node src/index.ts parse --text "" [--license ] ``` @@ -29,7 +29,8 @@ npx ts-node src/index.ts parse --text "" [--license ] npx ts-node src/index.ts scan barcode --file images/example.jpg --license npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license -npx ts-node src/index.ts straighten document --file images/doc.jpg --license +npx ts-node src/index.ts enhance straighten_document --file images/doc.jpg --license +npx ts-node src/index.ts enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license npx ts-node src/index.ts parse mrz --text "P ``` diff --git a/examples/nodejs/src/index.ts b/examples/nodejs/src/index.ts index 00553f4..0645b71 100644 --- a/examples/nodejs/src/index.ts +++ b/examples/nodejs/src/index.ts @@ -16,6 +16,7 @@ import { MrzParserSnippet } from "./snippets/datacapture/mrz-parser"; import { ParseBarcodeDocumentSnippet } from "./snippets/barcode/parse-barcode-document"; import { AnalyzeMultiPageSnippet } from "./snippets/document/analyze-multipage"; import { CropAndAnalyzeSnippet } from "./snippets/document/crop-analyze"; +import { DocumentCleanupSnippet } from "./snippets/document/document-cleanup"; import { DocumentStraightenerSnippet } from "./snippets/straightener/document-straightener"; async function awaitPromise(promise: Promise, maxAwaitTimeMs: number = 60 * 1000): Promise { @@ -40,6 +41,7 @@ async function main(): Promise { const file = flags["--file"] as string | undefined; const save = flags["--save"] as string | undefined; + const mask = flags["--mask"] as string | undefined; const text = flags["--text"] as string | undefined; const licenseFlag = flags["--license"] as string | undefined; @@ -95,12 +97,18 @@ async function main(): Promise { break; } - case "straighten": { + case "enhance": { if (!file) { printUsage(); return; } - const image = await ScanbotSDK.ImageRef.fromPath(file); - switch (subcommand) { - case "document": await DocumentStraightenerSnippet.run(image); break; + case "straighten_document": { + const image = await ScanbotSDK.ImageRef.fromPath(file); + await DocumentStraightenerSnippet.run(image); + break; + } + case "cleanup_document": + if (!mask) { printUsage(); return; } + await DocumentCleanupSnippet.run(file, mask, save); + break; default: printUsage(); } break; diff --git a/examples/nodejs/src/snippets/document/document-cleanup.ts b/examples/nodejs/src/snippets/document/document-cleanup.ts new file mode 100644 index 0000000..e798e9e --- /dev/null +++ b/examples/nodejs/src/snippets/document/document-cleanup.ts @@ -0,0 +1,26 @@ +import * as ScanbotSDK from "scanbotsdk"; + +export class DocumentCleanupSnippet { + public static async run(filePath: string, maskPath: string, savePath?: string): Promise { + await using image = await ScanbotSDK.ImageRef.fromPath(filePath); + await using mask = await ScanbotSDK.ImageRef.fromPath(maskPath); + await using cleanup = await ScanbotSDK.DocumentCleanup.create( + image, + new ScanbotSDK.DocumentCleanupConfiguration() + ); + await using result = await cleanup.run(mask); + + console.log("Document cleanup status: " + result.status); + + const originalInfo = await image.imageInfo(); + const cleanedInfo = await result.image.imageInfo(); + + console.log(`Original WxH: ${originalInfo.width}x${originalInfo.height}`); + console.log(`Cleaned WxH: ${cleanedInfo.width}x${cleanedInfo.height}`); + + if (savePath) { + await result.image.saveImage(savePath, new ScanbotSDK.SaveImageOptions()); + console.log("Saved cleaned image to: " + savePath); + } + } +} diff --git a/examples/nodejs/src/snippets/utils/example-usage.ts b/examples/nodejs/src/snippets/utils/example-usage.ts index b2a921e..9b1913e 100644 --- a/examples/nodejs/src/snippets/utils/example-usage.ts +++ b/examples/nodejs/src/snippets/utils/example-usage.ts @@ -2,16 +2,18 @@ export function printUsage(): void { console.log(` Usage: npx ts-node src/index.ts [--file ] [--save ] [--text ] [--license ] + npx ts-node src/index.ts enhance --file [--save ] [--mask ] [--license ] Categories & subcommands: scan analyze - straighten + enhance parse Flags: --file Path to an input image/file on disk --save Path to save outputs + --mask Path to cleanup mask image (required for enhance/cleanup_document) --text Text input for parsers --license Scanbot SDK license key (optional). If not provided, the placeholder variable "" is applied. @@ -20,7 +22,8 @@ Examples: npx ts-node src/index.ts scan barcode --file images/example.jpg --license npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license - npx ts-node src/index.ts straighten document --file images/doc.jpg --license + npx ts-node src/index.ts enhance straighten_document --file images/doc.jpg --license + npx ts-node src/index.ts enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license npx ts-node src/index.ts parse mrz --text "P `); } diff --git a/examples/python/README.md b/examples/python/README.md index 8924f3b..fc05eed 100644 --- a/examples/python/README.md +++ b/examples/python/README.md @@ -132,11 +132,11 @@ Replace `` with the actual version number of the SDK you wa ``` ## Usage -The example supports five modes: **scan**, **analyze**, **straighten**, **parse**, and **live**. +The example supports five modes: **scan**, **analyze**, **enhance**, **parse**, and **live**. ```bash python main.py scan --file [--license ] python main.py analyze --file [--save ] [--license ] -python main.py straighten --file [--license ] +python main.py enhance --file [--save ] [--mask ] [--license ] python main.py parse --text "" [--license ] python main.py live --device "" [--license ] [--preview] [--use_tensorrt] ``` @@ -146,7 +146,8 @@ python main.py live --device "" [--license ] [-- python main.py scan barcode --file images/example.jpg --license python main.py analyze analyze_multi_page --file files/doc.pdf --license python main.py analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license -python main.py straighten document --file images/doc.jpg --license +python main.py enhance straighten_document --file images/doc.jpg --license +python main.py enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license python main.py parse mrz --text "P python main.py live barcode --device "0" --license ``` diff --git a/examples/python/main.py b/examples/python/main.py index 36d9175..b240d76 100644 --- a/examples/python/main.py +++ b/examples/python/main.py @@ -4,6 +4,7 @@ from snippets.straightener.document_straightener import straighten_document from snippets.document.analyze_multi_page import analyze_multi_page from snippets.document.crop_and_analyze import crop_and_analyze +from snippets.document.document_cleanup import cleanup_document from snippets.barcode.barcode_document_parser import parse_barcode_document from snippets.datacapture.mrz_parser import parse_mrz from snippets.datacapture.vin import scan_vin @@ -47,6 +48,7 @@ def main(): file_path = flags.get("--file") save_path = flags.get("--save") + mask_path = flags.get("--mask") text_input = flags.get("--text") device_input = flags.get("--device") # live only show_preview = "--preview" in flags # live only @@ -67,11 +69,15 @@ def main(): elif subcommand == "vin": scan_vin(image) else: print_usage() - elif category == "straighten": + elif category == "enhance": if not file_path: print_usage(); return - with create_image_ref(file_path) as image: - if subcommand == "document": straighten_document(image) - else: print_usage() + if subcommand == "straighten_document": + with create_image_ref(file_path) as image: + straighten_document(image) + elif subcommand == "cleanup_document": + if not mask_path: print_usage(); return + cleanup_document(file_path, mask_path, save_path) + else: print_usage() elif category == "analyze": if not file_path: print_usage(); return diff --git a/examples/python/snippets/document/document_cleanup.py b/examples/python/snippets/document/document_cleanup.py new file mode 100644 index 0000000..a0ce48d --- /dev/null +++ b/examples/python/snippets/document/document_cleanup.py @@ -0,0 +1,26 @@ +import os +from typing import Optional + +from scanbotsdk import * +from utils import create_image_ref + + +def cleanup_document(image_path: str, mask_path: str, save_path: Optional[str] = None): + with create_image_ref(image_path) as image, create_image_ref(mask_path) as mask: + cleanup = DocumentCleanup( + image=image, + configuration=DocumentCleanupConfiguration() + ) + result = cleanup.run(mask=mask) + + print(f"Document cleanup status: {result.status.name}") + + if result.status == DocumentCleanupStatus.OK: + original_info = image.info() + cleaned_info = result.image.info() + print(f"Original WxH: {original_info.width}x{original_info.height}") + print(f"Cleaned WxH: {cleaned_info.width}x{cleaned_info.height}") + + if save_path: + result.image.save_image(save_path, SaveImageOptions()) + print(f"Saved cleaned image to: {os.path.abspath(save_path)}") diff --git a/examples/python/utils.py b/examples/python/utils.py index cd84e8f..2b5b8f9 100644 --- a/examples/python/utils.py +++ b/examples/python/utils.py @@ -54,28 +54,29 @@ def print_usage(): print("Scanbot SDK Example\n") print("Usage:") print(" python main.py scan --file [--license ]") - print(" python main.py analyze --file --save [--license ]") - print(" python main.py straighten --file [--license ]") + print(" python main.py analyze --file [--save ] [--license ]") + print(" python main.py enhance --file [--save ] [--mask ] [--license ]") print(" python main.py parse --text \"\" [--license ]") print(" python main.py live --device [--license ] --preview --use_tensorrt\n") print("Available commands:") - print(" scan | analyze | straighten | parse | live\n") + print(" scan | analyze | enhance | parse | live\n") print("Available scan commands:") print( " barcode | document | check | credit_card | document_data_extractor | medical_certificate | mrz | ocr | text_pattern | vin\n") print("Available analyze commands:") print(" analyze_multi_page | crop_analyze\n") - print("Available straighten commands:") - print(" document \n") + print("Available enhance commands:") + print(" straighten_document | cleanup_document\n") print("Available parse commands:") print(" mrz | barcode_doc\n") print("Available live commands:") print(" barcode | document\n") print("Note:") - print(" --save is optional, only used with analyze/crop_analyze.") + print(" --save is optional for analyze/crop_analyze and enhance/cleanup_document.") + print(" --mask is required for enhance/cleanup_document.") print(" --license is optional, default is \"\".") print(" --device is required for live command (e.g. libcamera or jetson_csi).\n") print(" --use_tensorrt is optional for live command to enable TensorRtAccelerator") @@ -84,6 +85,8 @@ def print_usage(): print(" python main.py scan barcode --file images/example.jpg --license ") print(" python main.py analyze analyze_multi_page --file files/doc.pdf --license ") print(" python main.py analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license ") + print(" python main.py enhance straighten_document --file images/doc.jpg --license ") + print(" python main.py enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license ") print(" python main.py parse mrz --text \"P") print(" python main.py live barcode --device jetson_csi --license ") print() diff --git a/test-scripts/linux/test-c.sh b/test-scripts/linux/test-c.sh index 34fc1f3..9760d60 100755 --- a/test-scripts/linux/test-c.sh +++ b/test-scripts/linux/test-c.sh @@ -46,9 +46,11 @@ commands=( "scan ocr --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan text_pattern --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" "scan vin --file ../../test-scripts/test-images/VIN.jpeg --license \"${SCANBOT_LICENSE}\"" - "straighten document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" - "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --license \"${SCANBOT_LICENSE}\"" - "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" + "enhance straighten_document --file ../../test-scripts/test-images/Document.jpeg --license \"${SCANBOT_LICENSE}\"" + "analyze analyze_multi_page --file ../../test-scripts/test-images/multi_page_document.pdf --save /tmp/out.pdf --license \"${SCANBOT_LICENSE}\"" + "analyze crop_analyze --file ../../test-scripts/test-images/Document.jpeg --save /tmp/crop.jpeg --license \"${SCANBOT_LICENSE}\"" + "enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save /tmp/highlighted_cleaned.png --license \"${SCANBOT_LICENSE}\"" + "enhance cleanup_document --file ../../test-scripts/test-images/finger_corner.jpeg --mask ../../test-scripts/test-images/finger_corner_mask_001.png --save /tmp/finger_corner_cleaned.png --license \"${SCANBOT_LICENSE}\"" # TODO: Fix C SDK parse test,which currently returns success 0 only in tests "parse mrz --text \"P0tlf==v}%JkrDz*2+~56rgRV# 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%0Dr36J&=7V7Z7V?^l$>}JHadB!XKSl| zxV|@OVZ*4LyUT*Zs#{GoAu2i!;y;MtQQS|>YOx-NafKS`ZJf-=b6F2Zki(&Ex|86g zL&&P#^Hj;T>KHm+)urZMCC-HG>@xFBcG^P1R8I0e)GAJ;tlVM0Qgr;iS)~_kfd(ws z(8>9;LM2?UxDi3zmPun7@>0CuU6D!`j_L9>n`XxhCDsOUmLXfbmkGM3`r5aaI=}l6$4VF_j(lF zcs%h}oxT}j{a@4f`_`jVmir3aWmeMD548YJQ;sOB(S^8#F@v=CFi*8d+j?uNq{6?- zxLV%)VCjoQD|@dgJA>_^!67I)0V^PYPo8|%ylxCLdxK$lN)oP7-;otN0ZN-|X7jrr z^N;oTsc)ovVB85w{GgG~jFI}EKczD2ePq(=vB_3P)P`<)Q>K?YLpIr#sd7hfrPuo| zsJNEd-a?8~jI928xpeuvyOK3c-sxwXZbi!OsSw$ikQQ1kAOb)n45$-|xixQ=N}EGU zQAxtEGE@5d;=J4m3P$0DAs~RQ-js~v+mGwGxN|}C- zAUH{R=NJiUFXjgcc}_3%AXRmG68&k0>&VeEXHK~3J7h&D1%Q{^aHc?6ZD~;<0S9hI z><~{i^b(-U066PqDLBD62|vI6D1r=xoH){uugZ6W!T98V`K`?4T&~|c4HMKyE%!&F zLY~F3+l{JA?V`|Qq2^GBJG&w!;#81SlBDkiTXJ*awvLJ0Z#G>wbrYYOrrw0KdsNIA?=9`U&CAAil6MpBkLD-- z)h>4UjJ|Yv?QFXw`Hx<;EGIPnhl4gFEl68wGZi7?r8o#Z#b5!0@-yvG`l9uyG~TJ! z4%%;XS$6Apv6rY3Ra369&{i|~>-NqYd)tch)Mj0FHVCydh>8iMI~yXlFSU2Lc4D^#hMYzbwg{W2O41SpU<xZQm3jucdA&X{F_&lsC0La-PdiJPp{~2tN7E zUC+UiL+YjCcAv0>U*kV>de3&5b8P_yNOgvkTMAD*a6lL%nrNG+P!__Boqr%L8c=FS z6q|cI$WX{+U~r6MKKUc>TI%E4VV9-33ItTV;SRXAklytyfwY_r*(Vq|%^6Twaa&a# zkgnfo<+SjR8xI~n#<@(V;?F3}J$Fso-x1R(rOYuHeo7KXP+UgfNcPFkpNhurEnYP8 zI)kn)$&n&Fo0Y=fJ%;_83HDpGyM@1Hd>vUzl4f8SZ!J4#N3?a`u0a!0W|)#WN%reUUaHRA1Yi*vf`##(lD z&P-Kl^u%n2nL>(EoTP6H+LWlM;CiY%s@l_0>C5AW4x@4;7|~GT+lbtE9S#*>sn*>g zOHSSbTjw>bH3kb)4b3*#ZOTz8T$D#bTq@5ymImTT#|D8e)o+;dawc0L%Xy`wwy6=D zaG>tUDJo7!^{wM(yfc)!c&xEn=I<@pSEu#4hWj@a#ff1M(ysGpK`Bbma^X_(oxp&f z80M%aSZf>os%oU&45Z1l%3R3HmeaclNDYKC+hDbWl%2~Y;=YTyL4@3o#0)s8n4((` zhL9dn=Z)ZQJb4+YsEr{DUuq0=sbmHAnnE{ym4GwPjQmx(N#--Hd1Ecy^~2h&7MRl) z3HEL<;z3}_cz?qHfK-_2Y^7;XD#=oYD$^ai+*nr2%a<$CW?VH~ggR8G7M9|)Boypx zI0?d2$GPLiD_n+R#eI*cnuI+gC}1gLa?}P&Qa#Q9KW=I2q(J(lK@u1e6q4c^?gG7| zfSHejN1B!bW zQLZiC?rhqU?=MfnyjofkB|77Uwu%a!$s;8sar7$-20Oz1?)-#U%kK!cPEf9x?4xoieW7>IS+)I_Yqh?1^Y%TB9s?Hz~cU?d>ikERl~Y88v#?r6(m@ zl1NbX0;O@s>&LZuGhsIC&|JAiOYJt7*2|A4a$6?}QOWU;27DUE=i#le*4xz=2)9Yc zP+wSjHNw$sgc*>up$S_I7nifaQ7T_P2kS<<%~h88tvzzqH;6VS^%B}#g-TMN?4lQO zN$wtT+#qJRKpx>~AcM*Ve6VBTm|e#L~yx|I@~lXZqCwD83`?q%t<*sn%$d0K9rzs$;RIp2ge?9NOofo zgJx9rqZtbgAgxBn%@TBr>7!6eJ-x$C2t3mr4UPs+xfh4j}>xJ z8P0e#M>iBF^b^AfgxY8rU7K0DcdC|89wwhG7?>I9iXW2 zc&UdYfp1cA>LR0U;Z8rf6*lk-XBhA~twB^s2+Lre56wAj5C$m@x3%RY{N{?;3FMlT zJC0J)Ooz@=kN2kTToTw^$Qe&G$`f8?Q`ldT#q3Ti;eB_hG!1xXWmWu%`$B?ZTEZyWKp|{{XXe zMaSsfr9X^Gn5Se*aY}tjQsbyT=28k%@-xpMk>|y9(+v_m>J`dVn2_%A-;of6%4N9- zTG=NgZ%R~1=Qz#?_@@g*$5Kgg&7+^p2m|%bKhnNqvB|mVrX*W!deZpR>-GNd^NE3O zitNXljNwU8eZqt`jmqb6Cq6I+D$$~K{-9b@?JZwJ_2^ zKf@&{0c+dmj1f}eUd^#Vt>KsCM=J{iHm#*WOD6{(C0;$vDacS?WyF|pUTO7ibaqg* zx}@>y;N?j?^WwgKxau2@r@q=_TyJ)puKUiC%=>Im(^A&A99q^1JBkP&mppSxYpJ^W zEsiAXH`3d!scz#kOZM9`W_H$@Yf203cM{?mC`lz~3OT95{--C`+O;@O)Nsml9p2BHCfcN_#P5wi2C*?IU1F9utfV0goJxDl!*NbS0kZ ztwC(j7D!hoR92}>L2V8deC`6W{UNTpgMIoPJE7atHnjd7al5?i=3jUewLMIw4UXU= zAY|n6o+y_-x$EVs%X4ngWwTl4+oDTcnX#nEY1s}arN&h2M-h^dw53Z)3fwsWbF5}s zR=onjVzoOmeYVXKB#G`9B)H2#DtSlwm5(RyQ1>33Xlv6`e-+ZU$zO>+i4wc9lCJBi z7)yu#Y!Wg#s5JFf=*VA4znr<4ZZFqgx`w*>0I`g6L?dM-mcJ;RD0xrd zK!+Z45@kY^n2s#4rLf^_t+KCH!a+RpD>k?FdssDQw!_l;CNpk=#I?C z8wm^TlA@r3Q}Mv3*jlU|4e5@bvp-~KO2vJ-kXwN-x}~WuG=L5fxRR9b8-PwZ1LBWt z=*LfB!jlD?8;_<_(Vub2GM#Rm>!e9|^+?W%o_>uW@acP3RHLN^hVC}4nm`}y{&lN|xjiA1!|YU?@4e@GpA zRQ0&Mv0V-_kWccYq+{(>)75L_{dF-Go5RM-BKN15irU*wP{fFCzWR9_WCZ8q6?acq z^zwA|mr=W9xwjVcXqR|HX-XV*mLnr_leci(N^!IgwKtJ0sOdl1`$Wl{E|$sndrZ}? zVxE38h$?XsT`stctt#3#l0i-g%{O=ZJ?P6dj^k^EaJi|Aj-P8z;q|3^T5ZQ1Lh?r| z1=2EofUAE?`imQ>Fyu{-r)68)W42J^l39JXLct&fG^Jrf19B7+N6DexdW`G$DYpAY zi@MyccDc!eaJew!K`gz&Ue?y2rJ(?VvOH&u(|Ia|bpFnk%|SQur*Cs2PE06KqrAdU zOD@K6t+zlU1m#CRIitVOTfCcuT}t;*u1@M0au)1Kj>JJ>rk2ocY$iYD2v7i=5y-0@ zgRAyCoXcN(PG4YJua7Q0s_P+!{+?RWl`GSSH>4>kB`Q(?B9&q5#)rMeYFh30t6jcL zu0`T3%Y-n~G9t15D$+ufMlucv=OZ3#Qsn2Cm2$!TpJUkd6`NBlQ9Uwsxi@1ZsyIoM z?DE-K@tgpX(m3Y>9MwNVe`oDschVM1F21{ltybebP1}S`ucW?TX(4XzAfzGHC=6%R z2eoR^I_06=k#L1NE$-OmzR&pL{<_?@_d@O^9mILgRHTe>e$_d7>PC&Q%#{k~b?iS9 z1Z$F#rc|OEeZ{ucFfvI}2-*hfzb8_5kmG9zwEqBQZ^5BVx263!8WtJ0c=Fh{EfSqn zhC4}H%2Kd6#_gbI9@VH?^mLdO2o^^}ZisgFp{;oIsG+cp*ze{nB z>Ysq5i819cwq0v*+>)fNAb_FZFwrJD}A?E+GI(&DM*aNa?)1fhH{WIl0gR}gIf7>o}BJBFf{Z> zsWCKl=Sm@~YpS|wD_yKOE(IHA!CrRlDalI4eOcp*P5%I-y+yc7zTd`^N7PNeMY_gJ zE6Ny|9RdJlYGrsWlf5M+DhF~#N1FO3*{L)|)@rSmomXs?EhtlqVTao;1fx5S(4&lF zocI~30_B-WVPfM92ia7Hh_Mwy=kgy)_QxTdRUomk>r)BBOiLi%G=&9Q*WH_Jv`NSZ>ZMS-5iOI%hho2GIY`(W#?A{ zG&RRSQ72-Y3UhfzNI0gtYoxQTnxfr!zV!VT+YG&5Ht>rarrKI<@l_2C1h~*82`h00 zds0Xn>vdmJG%RXj?qY3n+G9S-kvj>xWa>AyGHuBQc$LF zmkB{h+7ytlP#!q;KNZ&JXQh)*jU{xGQbB`ecJ-v^$+bXD>7+u9YmaeMb-6WbWkNfL zXhBBM6hAHpwMenknKniue}DR8ebsTC(`-VuwfregTjU{YDrLeH0}4CPd#T_A;=Z~z zOLL)arA)YtkW`b95BYfG?MPOeg0!Vc8%O5eFh&6VMN6Ht!m-U|qhx9hojGfX8OV2r zqPHd+W%BBy%4sQ55?B1*q~kvMHH_c%7P-|HxLWU5SnhF|yxw1a>1a$f%v4B-WHl5n zIu??&9jj5nI4TDQzOBAW(AsW#;NEWS#gfz{&n>7NhC894vw`m7f@;Lxn_w(B$sFft zNzOd+gU=k}pK4>4yt#XPv(o(+euJnqgy~kh!XY7>`9h~f`gKQb#WGq!M&)+WaIJ|X zkO`@tsC4XVjdbg>Y%(T8hoa|wF>I_fCwH>h^pFa`JXg`b-KI(cQne(5$m4e%e zQuN~sDMnTQ05LvsjB);znVVNBW8>@3Pp+DB$iT5^>%5P|v~*P6nnRKbo|a^`R;Lt# zRHX!|UXg-8#Y4o<*EzP0T^SZFK+Tcac6l-X01vRg9hI#e!s~)7i|#nkJ3@v*K5Om6 zr;-*5Tv~88|AEFr&0k@I6g-i{RJ-H5;fHi z{RGz*i1HU5(x%FA>OVNa^W<~j`(mFZ{A-P5ePXpwmC{?9ZRxl*ag@{)xAc3&fK>ZC z@KeYj6%u|0Q!h4~&X2j=?F`-T)}15$kG| z+g5k3*QVl60X_L}T0>?zDq3@ZwJZfF0<2W_gS=if7fmhmFVdb&`7qo=?)JhQQ3Xle zw2Ws1J}Yl?r;VvYvijX1m)6D{{BQlp`2LvAvVQXERQs{rso55Mi?9O9Z? z`cT#3nYwm#xU2ez$V`SpfLfYSPzpHY1BC(q0JPPeNe(shUBgn`Oih-pO75kMS++=& z{Fvxiiy>1G6oHh0GLpYfk&n`(bk4QEIn>c+n|~K5lO{}IDT)$M(hx~(I>Bu&GzI|N zauuIGE9fbGHv9(Gg)!xuzYh>rKVw_ee??B^|!l1pfdwH(-0@)?a>=cD_N4 zdAMCAF(La6h3OK~lnmxug=$to+q4j@eXHs_e@?D9mOiE=xD(i6iwQCeF@ zKY0MSpGHYLiQPa?Q19_9X6QAGv#;;9HN|Q4!VV@mZ@~1V7Q#H`N7b788h=kF!;0kV zjHofALrHzt7N8Q?1CHCnJjl51Zi{9ZNl z)GnawW})0dH8rX5h*8{a*Jnp@*4&)b6i3pMYpabfs@+Uq&g2Hz`+^KEuNL?n6boIcG&DR zlei(BsTt3l4l_=1srB;tj!o|KYK+V8+|x1RcfUFud4w&-J2BKzj(EufjB~{myY95L zE!LjY5}rhhHM(PxOmqPaZ%8O{NC_AKBzxx^pL+T-=h4~dfTu;0Gm@k@NGNS3K&W9v zpSV2IMu59o`%&g5BM!d8(i(9{1x+9Vtb@Tw9G_uX%PC_v?y)7?d(a65U`%(YcK62dGV9uH5U=q7`e@>X7p7jIC@@yKm+5!N)#)R%O*V)&};!)W6<{Zd>m1 z--{yk^lh^t_{mI`QdE)zWP;%tPxy;a&yX-h8>jl;TVL$_VP&KM zN_Mn_Z)~T5>pa%U_#+L^C}P(T%UV0(EV6>)li)7{k}@%$Y*Nvs=C>iqacpR5=f69x zM+s8=a#RLSin(2<8l`H@TCF>)t<1~3F%H<9RJksPNJvx3DF_)qnBbBC&x)#a`fbAV zuVCIT*SQW!b4bCu#NpRx(7y@o}ip+hVj_^A|I=aYjC+{{WX>2cJz$y9n0UEA~03DTJ;8Pnwcu1eEY&t3RQm3w*_#{WE}%99DKA*B`fp z1n1(uS^m{aSN@?wh@6k6w>AA#Nw2Y?>8bKx+@^{E!Q7)?AAf5I!Y5Z{vEJ?!MPVn8 z92)DpYi5C(St?lz^`%z^3DY%@QxE-%mfKS$0&_sU5WE9Mp=Ic9Dz&O`1q;gyZIq9Uaq? z<2AU=x1c?$LmknLW*|n1t-Y%G}#EsvrxT6 z)h}qhDCOcTsI16a%`nN5)2{_MvOr22Xcetw0zd#~2c9b9ciB^RyA7JrAyRD?JA5bC z%G{3?4XIx_AZDD~?H0R33ueu1i*G}YspY0SNo*;_9H~SPB%da*7CNcaolZrv4aPiK zcAZ&lfb4^Bkp;<--$+qPnsn|!$WS>xv4S&OS5UQkeLm6GEoA+@$-jrTm8GWgJB}44 z0V9Gy-l60l(AMrbMjf4^^p(lBVqEl{qGBVuxeX=QZLA^19H~Pif=?v-(xqr!6*>%i zWc?#%Tu4e=k=Rr=%34y6R8TR5?kAjithx_hFRe$oH+j>2#}O7Y*69tzn-V*(Jn(5T zlw>xYss%~)42%Qg6kESuulhO5)t_4F%Uc&4a;?aW#SEaRl0oB|&e8p%n{P}`x~k1@dPTnB795F@A9wJ^TYVeS`ra)Cwt?YU zK_LFL_8(KV-QQSfw&7T9KZ9MNT%=BJCDoZiKx7O!%ZVS$xj4?!caTREQj$phN4->a2D86G(b^X873S48 z^Ki9Cm`W3eQ2Ru!Ab3eQ@(=oEla^DklXs;03C%(M=0%=DBqrjEx*JUAlN?L{4)ACz zX8Zs=bBa3}3rO45X)Hl~D6!n7UE={IXKaV}he^rx0$x|Az|An}F16G;=SV+$)V5Ec zlHJZ^G$kuS(xf!{+ZfuT$l6k)?xd)W2&CRRn_;uT)N^hS=ApeWHY^!i5*3w5Eq2tA zoDr81ljLHvytkn{W3t-x+!fmF?7E20KO$3s#|poQ>i4YV_~k@?hO73zl<7-MS7ShO zGf%xLEbU2mwmB_^0SvPlq$#tF z*(%B0qwEk*nwqxtqfOlvX1Yga>uj>jOt%#x<7!eHlG7}g6yt6MaFpPJaC5-(TC+Lm zTvMhk4QQ0;5afYtO{7_g$V$TcU$rBO9IENB}3* z$jGBFta7qt-{S&R(3m zTov89Lbw*ywB*N#sKEtZPUNp~KE{P+=y|oKBqenY^z$~mRI5FxvcnBK6_>H=O412Z zz)0Fpx1V~wX^YL5RoJ56tTGhrIeFS#VNAG^2?|QmuojY%4nY+U2djDpcB4j?g+5~C zxgqF{$rks-S0uCvafH58+b#{N^lr{U9zhhBD$JUDr(H9Rp=Vrg4_*z*b3~$3c)^T zO!dz}%eFw8MNV&533Cl+9xzU7@2hV~ z)B0NPsSDyecI$i6%cZjB(3Z-#6aoqV0Nb3LVzd2s*N7Tw!1C;IZWk+@WLukZP`A7w zB21pv)I6|%hE$h92|R*Q54B02Ol9Q>Vd-AB)^l}S-FteN$hp{~SfDvBBy>8;67h9v zEwZhpC0)KsvQAF}0;O-g4Y}&4?$=#Ot07Ie&P}l~llXB&W<(XOX+n{_l_h1&pH_36 zV~W);_nU5;wavd?o-M++u(>i^2rAly<97p-=f~QrHomg->g>(NP`ydFw`_`;&;BO` z=!#r*5EAP_)Pmv(AO#~MCmw2CvTk@QrrkV7h5SxjhAeEzxjKTR+M+np650|*3Y>9j zQ8_+H11AEiTJxiq-BmME6i$R=T`soE%s{CxGNrC6c9_m7ycDFTBq=1EjGDGF)_#{c zW}SVNsSF6V#~Nl}xWsxZtd~`_qNdzHSPDD^V;SO_>F&4m=TluT(4yZOVlJPI#HZ&= z3y#T4nebc*BLpNI`;m_{-f78Jwe(JE?h&rH3v?Lkdr-l-OJR3OHwC)HR+fZsTlvcO zI0(Q3pF-&^)+^C&KSynCN$LyQrbCD$chG{e)(9V)8+|`|&@|?$(z>=QlXR}4x80eJ z=V{eNeJ*y^Ms}zUQgP2dMMzA(SnSRrtHz+WL2+OdHzr$cDL|YI1reN{DKg1&@cH+q zdJj`-y&0nAMALTLDs7G2Zer+{QeK|9QQvL0$OCW$zqxz4^rQ-xjni#;dXH?0dC~1N z63e1xY4(^^(Fs(UF1XI}7Jy1pQqQE2dEnOU&Bn(&>b{=y1;Ypb0Git+3hW>G@O>Y? zDlY4-tTvc->CI0?#fyc-n_CXTaW5b|=^z3^umHwRD$K3&#y(lkNVKN6(K4>9nPpS( zWv(1p#!!TdiVy({Tdv1KP~s2@cI7*WKYFrtn@Zia)`|Y?+Je&LyS=q?7Tdw4w!?DU zan&V65s(`sU>-oLc)Ho7+#a^VyuyBDVY&Ft%56@xK31IWPw!EeO=qL*mOGB7ov7hC z0@jW59FF=PE&l+@LP_NK1K-6?XGR_Q0f`*4Xue6Yl(Sm$92>x z)HRS2jE2EGa8A*ht?F)>Uu?H6Nf$?Gh^w*OV_4$|=u*Srtmm3S z^jA_Ik7H`}rQBl29^W-B+n9|iYebn+;v>WcE zl;cr@&BkplGN+t*_Z79aklH~mElMB+zgL1xJCU^ByK54ymnp@qF=)5A`|185S-KZqO1*034W$J7 zj~?cw^!#mn<=Vwym0{ES)Lv#D9+_D&bq8GHcw5uRzX$N&f)i*!fqetm+6hT|ma8k$t;f<6CTY>pZB} z6*MjHsiuLj(2Ya0g+ZMO`17xh16%RB#P!I?69j>236=AtxI^NDx_ zTA9f=Vr7olE||LOZBGR@h#Kjl>3s;@I#yvx#dVy2d*Hq3>89J-*{0~<*}#~Vt| z117duvr}=3)W~xZ`!8W^y3>J3T2DDi91;3gU7a1Jw;lV0bh`7UhR~-{6t@7}PzHHc zImeuHQ-8$d`P2JEU9JwNT-t8hqWx~!YKYF9wZK6wTvX}-eM?5g2S{*~kWZu!YLva| zZA$|CcMV?HZvE0MQ%aaj4! z6~&oBBo!+^b5iBMOEJ=&)kqU=-7?j1ZLKN!Z(1YN7F|A5ZdBhnK8j-Z_Kt=}Qg%gDS z)tOm!M!RoLUg0%2SzMe`F$0rh%yB^qQ`m5%y2o{rQ_7NnyaVaSn)*pD0ljayKtL*2 z*bZtLzM|;~I(>~%6HrE#YLz7r*^tRn!rxPYw4e`Tyn*`F#{U2rvupy|{<>{}4*GQ~ zI&IxTg*wa^rHKy4`b89_l{$W<#CL{Qw+iFNGAcSmokgm2Bv`CW)UqP1YQ{-*)v7^l zu-ap#)nJ^Bq+tA-`bSskJw2-;A`YdrN4YfG!rM#33PYYZAz+0h{)aT$&u6yj%X>Ck z1O{#JA|!@bj-7}=Cnt}bl1V(A)wyfY$NKsDGM=#BWXZE?%j53MPLxAynChJlwqzkM zoGCo*prySw~hcw|zgf=uvI+MH+CV>XS+>sY zF(|s%Q{Ap@={tv17i`n<<=h)as6%We%Ys991(G&LaxxUsNaSGz zV1Brw80`h6X^zTPmir*~hC&DOa6EJ4$2D=!edzhh*{E;!Jv(oOW7iC_>v~4quf$&Z zRJ+_<)um_-skI>_C(<_!sm5`VO={gE)iZCpI`X-Xf*U~>i!$k=Z8BW&A3BxHE zLGppe<@-=xvRdDh8bpgsCuGC)#&vN}rN-xgg%OnV@miUF#%$XY(>H0_M^;>Zvs%dw zO4cfmJL?@}CANN;uOx(mlov3NPZ%6jZTqR3g6|2dv>kZ1;ERpXZK6Eb(H)S}PT{pB zZzQG0(x3jADN>0X*8JtJ*(>T?nQ4USlAyUg$jDK7Nj_JR&+lG-({6c&;>fW;TP!QM z(@KnjmddIrGJMd0OqDmPSuBfZ|XIDkJo!?>mBd zrZOcE2nwW|s(mKngd@_dpL%;^Dw81~i~>2T(tv3Y%y)MBy{mF*DrahN z8}so_m}w2QfslF4HIL?=B>H?-;}s2dN$!K3@lm@J709WJm`jI&$Q2N^61)%6rC1^b z3iqe&8mibV*Qg>~bhsp>1*r-{i14(jBowG*@(A-qXdgcHTIwy{>1k_AJ8PKZ3zey$ z#Cu`?01=Xxl(c@~BQ<2wir-4K7is8i*j#VxCC8rY$(HGHa#<&~=~+=$;0PJX;CQQT z;?r)_Hi=d{%r@pin%81OPG<{Gjt`vsgTcrI5#&-D>n*X3H>WjB`zz7nY7eb(d2|&; zYBC&ISpa&84gC9xfYkk7*X(rS>8jxL+D)|!vi>J(n5pcz*lk5P4=4WsroF4(x7FZ} zBDH2!jl{M80HpAm()U|dmO*}e#v6`Ly-gL6X3YcXnKeZbk=V-%{cdO36~V3EC1p$u($;)ntnfq_|!5Y^}7JXqbeh^erhuQZf*d3UPux>h&*ETVQHCW|y3oQzGz()fMax($>hz(Yx5= zBz%BspnB7z9%U}ut=G$lEx93L9l36nqoKt%URFFLl&Ft#0U%&hoT!Pj^cululM+)p zrun|z21ULan=CL{Y19OgJ8c3~HiNw6pL&$johpl_rQB}NHB8^dt_?FC*@%T1thU>m z{YXMWR;6+Z)y@qdb$-syvVPGi=+5coS*>&7OlhSlZoM{3jiDzW%61RZiLH9Qru1~B zTf|vcDN(O6Z1US}hcO*bwj4?Hk5Sr2G5UEGbw$d2Sa&E=t&>^{jWL%Pbt&_;X(><# zjiiEojc4|*lu3mnPQ|_J>y_%srQ{+_y4?IWTH51jQd;ghpHqoICj$e|H9H%s-94G9 z4wq)~@@A^w<*f>OE3L9+AmFkcDcD!Rz|T11o1?28IDT``V`>8H&86+Qj_7IiGznX6 zxwmT8HlIpKJQ_)q@NOMwJtQx^(p}CnT#OLpaV5n%<7Ggd_*&J4d=NdV zudDhyFH=gsqAt2}-)Yoxpv|8JR`j}}?d73$flS?|Ta+^)n)gsrM(YeBWO z>0jnfGoKVoheToBG;W*GlQl6!dmW~AsmGdNg|EKQLS0Ty0ZAFb^I9SsOL@SqIHD8J zy<3%|GSvMv>ISy4Mz(6LUtm*~b-{k!9waA`9z)TV6jb_(yNL?`qy!KXyKu=Erh}sQ zr)(0D^!iNPC0$yc)f4iHE)?9hTEIy}$X;R9N+E%oMEF~lj%jA%Kt3R=HZ(7II*6Zc>Q(LFE zYP-s~B1d*go|4;v)S*3+Lrm=pNFgCv+vl3s5)=s`CkBqnP6les>@3?pwDh-C>3dd@ zk*2jBu{T{cWpc{;rbcnrBsSqfiqo}8Qb<}7e&dRVz4VV&T!rO?^%5f3)NH^_$xg6q20rTGWXODGfGwADWu29|{Jg&eCI~R=BW@S)wnRO{rf_tG%*B z0PzHbmk^|d5%JAXuKgFk&5b(6Zr1Q(*zT7rea>4BTU6uS$o-wowy>}RYV4%)GAmWv z>B*ri`yUmVbXh93)>yNy-7nP^`%`OrT)T6vG=|$NSt`K5Nb~0y%~Iubi&g5j*}UrA zOKN8GZ??sSYfMNh>@-?^x5;@cJC(gnpcIS*;aJUTsw93)gM(c=iOxy=eAc;Dotb^> zr8=`&-A<&{S33%4uH|NRQDPX>B_NxG1#PT7DZ! zZIs;1StZF#sN`izP5>&vJ_*GY9WB*YJKU??zf4Ed7U|dPT&VWI^IM{~6^D|!DobRx zm8nZ?Z9zOECbq@WN9w|;0ZNf<(f0|6}XN-L1r8+08?QUD6&C;%_Wv1Uf5@k7h zio-LWb(NzDTTLnQ98!rTWNpYinvIXqjb4opsw@yR32rOas7$dE;vpGJeW@r~(A$iV zmk^W%5VtU*pgdR7>uqF(5uEUHeXF@rNFiDI;0&MX{*`WarwG7xXG!&i(&r-ZjWsbg zb?PBC+eBo;apz-x9Mdc-vg(5??JX+>Dp$TnM>V5#b4}hfW|51ht~M)+UtKzEklWA4 zbLbgT$!#l3K`2H*&c^Z*Rpze;+>)+Ncmw{TyWCO7AOXfP?OC^NNu^V&Hu<-WHq1!+ zQLRN8Gud{067XtI(}VfruW~?jwQX4S4DG-Ky$!t6|t}I*3`_X56b}E7X>k za$D`m4oK~*dWu@@j0CMj?&rmAuDRr#ewjW#JkW~B_u5B-pCkJDq`I0eGO-O&r*&qu zm8|cRbatzQ0^u^wm~5dfE=OuRE^l#Bl;IAy++Gyk;7Gy6KtQz4gD*zdb?;9u7Ylno zjlP>y2<0w47^$$!?#3?=*(FLPu(A+TJ}c=ZOCg=0co-b``NlZs^fcdVPQHmsVY4L& zEv4dwl?0q_0OKGMkVyHhe2#CMZoM+s!JA3d7K{7V#M<0y1-c|Qu1kXAq&nbbd!0&J zUu?9Hzfc=-o&l-rk4W_;!q=-FyV>qju2FQwq7{kh5;wXfHkV7qB`Vw81xN*8e*9MQ zqN0U2`72x_1L_8d)K`0z_8rGX-tQNQ*V|N! zRn4#$8ZEi89ZOD1z(&;}&B?||IiYJ!2dF2@pC;jJz9lQvH(7C3n{l{BDO#Eh2N_Dz z;M|m*jwInc{37q5-B&v`-Tf(i z7p9@w+C{n69FY}4t_fmeZUseH1eJ#Zf%!S77R@)W&r!^)uIZHsq! zl>Y$5m%|;7&eW9l_i@HeeF|T61B0G8`3L@#g~)%5FC6&xsdBYs(?09-nyFTs6Lu+2 z!?c@%zZh{1zVS;vv)c|PI)k0P`*#!^fOE(MRVPd8Jx!&hX&Z*4zg(WvCS~m_eQ>2A zppMI5OxX_Q#iw|4VwH^6>bD%u;Cy2P-}>|Z)HO(VfEAJsNmoCnK0i_oCR&^wMA@*UEpNCs$UsxB?Ib90pq;!C#}$}#c18N(r?h3Ajc0ah6fG|*=P{O) zg?A+((gO=wPIf0J2_qyCn%w*D4^eSh18znKr}}bvr#Al6NyKREv7D3IZ79J!tH9)E zJbTh*AoVN#)V8$hCa$``wl0oRlzI)&^cC?{x90PP1p)wCNm zukn;>BMm9Iw;6E5sU!}{)D)!c{JF>+;+`evQ^4RJILH0H`K!t`GO7nct{RqW8i3xf zZQQNw%xN$kM41wHg5F$6ede1kCnO#+0m#pqq1!psq9T=l=i>YD~EJA3gT9+^(V9 zXT`T(qQ2gzaWl}CW;{d^TuB^=FgySDo&6yrD|rJpKrRqcmi|a zmry~D73v^hpGrnE_pRV5Ljb7fJe>L9`ybcO*i%IPK z>#c`Ck#vUBtJMO)l>o8)VIyeVq6qxJbI9}a=CkpyE;jXQ6lr~Tb-ls1L$XR-iD4>J zCCRA|oRp9Lo=F}Pf<3Er4lIri6fk`Ij~xF1*W#mDvs)OvO1>gE`ni#j4f0i#7LcVW zBWW9RxkQtWa%&rk&Tbt;m3qC;k!id@nF`&k<3focOrge`Y}?l1AmiE3<_9$Y0HeD4 z{{VWws>`Zxa;3?UZWB;DabAw$3jt2D^D4?xcPG%|0=PVy(iucXP?R$QGE#+i5<4jX zEDQy32RO*C+wJzdd(S;@wL^-x{{X~W3?Z_ej4NWhY<(Wc%XwyGS3LXO&4M)dA% z1*$@v0V!AI0Pg1l6}Tz39FoM>qcY@()X4ZerYZyKegsI#co9IwdiO#?_t8W8? zn%ug%t8cnHNUq z7tmg9vFAl36*T)vaU}eJpg{QjDY-^drFHjEwKS_FDc8vMrdT&uro7uMys0e2T6Pjp zR))z3)DTtgimk=!p03mv0c1|3oVG9aJEVr?xdJ>^(56~0A#qzu)bL3ghUbD$xEbQN zh%ha-)W=P_(+V;owx*d&5z>y@70QyFaF9=s1vY`DbgiyW)!TI4t}E&a1#QD=D#DYs zLm?oLQb-`0ZU!AWE;-ZfJf|*7p5eE$RQiAgM`+^%jyzSFv|uMcIix{_0^b=B?XVb% z!ZWp|P!NRYlYlTO*iRlS7swEAn(o1zd(jFN@+-+f_w!IBBVqAeQgS@ef18kNxE~Y& z?a}#(_wM?et>J_-05>JjPlh1%pHOHO`B&WgTQy1J( zCyMbqg(dI_!KmjPQq2|eO1U&3f`2cXcxy>pBwg<$k?&V#nA(IPK0MS7hA?d@aYK~~ zu;Ty_PZhjvt~pVfAQA!Qowk*fl~V%5Y6O+?8kB z6x!{b!RUsOj^q|*UawaRWwoiX;#;J=-(i+zB|+p3sR}s?I3-yg)#dbR)gr?)PF;1j zrny0K((RTKBuPN}IP2Ot+L7E?2uKQE{u~bM;O~03my}hH-5zgM>I7XbI<41XvpK2EA?tHaONgXx zJ+>uqw%a8++sO4Fn$ki*&L~a;jD=u>^GlUABDvIE80S$m+;}jrk}Q`vGXAa&#g_Z7 zFi2V!G313IYESR>sQCRUx@oCqUVzjvpfw`L7Rxp~=)K{F5}=3BLWb3P)=EzVo@(uG zLR=0qp`E8R^};~gl5zLr`gp9&tX4HUpmLc)#e-5Z$&YWb#)c#?qLn!UL$4`L6!}Vv zfN|p#?srY~#FuV&=@;8O*Lix9*QgO0Ejrr?ZYyCOjGUa1oP}e_KQ*Zof}&5qpZn0( zNIs8ANytARrEBC%HpO)2iq|@(4bI1ORkqn;PPmbJGB&)KMJ-A$At^$DPSvO<3(qMe z0BJVvkaZ<`j=_7>7nDmjo1@cSaofCwu&}n>Z7OCULRx5mus8)+<2;=08B@2sy(~18 z^X8l=1dXH$3XTpa5Wf@!H=c7waN~k=nnvOCKs2^UuI(d?Qqp}dW3?IL9Z+jFaR_-(i!@E1*JtN z83w$!0)RO@&?R`sDgOXk9eGX+<2AyegF)Pb#%U)WGeak6$fWKh(0R^y$)PPo5sD(f z+n>E7X(F>|@EnnxiX&(_p`a)nQ-l+Yd;8VYO+r*~4t=P5{znu=4^}>CN={D%)lx~` zuhP0eNeAYV%2Y;v^i=={Aesa%JY*bD$j>xY9E{M^k}6Tb$ju>1$jJGnfsZQUyl@8! z%^+;%0KoUBaMV-aW}2xWntK%+04MrWP(Nuu%}XO7kwa}njQFCYr6U90u9HwA*~KSr zIUglzDYMPwm1dnKB>48BzTOgXK*414F~uP%2l;5E5ItTgAmhbN zLCx*9LR@hvDmVa~6Z%tz&JKO30Yq`Z8O{jKDSM85)ebTU^Fuhn#U&>>8KmwbB7?)l zbwmn4QnzCqQj1Gj7)j(%C0zNXw%XkoN@$2<{PiY?s1f$0`R0N>sLMaMnlfXgpA_W@ z2^6kAC=%Rq2LNKcr0w!3z@53x4PzrG-hg|4_0fUtUNzCk%>qsV&OFz4f-_#*yWYA| zq^HdSDJtWdQOC7#fPBydrzbhD1myXp?KSP9fF-_oAlJ=*+mZ^TXlopx-g{G2jDh1R z{{Zb@OzlYI4r>ek*%3RvBt(Fm{XFz5`lQzSckEvc6v#o!cZ_11IQlnaDAOk&?q}3< z@k8Er@(p;S&~oFcSGVeEP_X2Hk13{!D^b87)~4*x9aE`ywlGf7`ux{SXLPGwp^Pz- zGmjr?e6ndV(b_;{o=2K0#xeG-xL+2^_-7tG7bSh6{ryI)jN&3sM!nx z{!T#q)S8gK?&YiiM;SEER?@FeH7FnD7*C2K61N5b%>a?W%}{#FY+dh9TI^A7v0IZi z^1wy9RM#RmcnLy^qIX;MCp;?|!nT})R~&iW4HZnfpU!dr0PN7oIoMC1io&An7J5Gl z{Tc?0yjbrJHvv)f)ACnvgjVzAkt#BfR=uS}g*KcLQZSsH)P!!eYosUeX<9G~tjnY; zWvX1LGT=jezFghh?`lepw3DL@ z(}1-pLmUbbB&Y*fyiTXxnU?jQ4xPAOZgaIn`$TphoYGLjn2v{360m`Wy<7v54>ab} z)+Y57J7O$aE_AEJ_0Mg~V0os#nNXhWKbJ`f#`NJNazV{LJLzKn;(bX2iXO!g$om_rJ=TO7eHW{|2 z<6rHzI58b*9p)U8&hO$BD{6*$3LiB1@3gHbZX6R{B%TMFr`@`*q-^qKLtA%QQzKqg zVN`gKl=H6442MEe2PGvc9G)qg9cQt~zG;hHs?Bzi)%Ik|e4Wr2z5~&acQoQQk`xty zteho2uN2@f*#5sYHh$URFv_*z&v%c>e%uufgiB zjJU&kR-e=mPsJ6K?^sDt z0G=`JS@rL(IvU?))N9k%sJAPvlHWReaTJxdnF)+k9PO;61*IeqN(tIVD$L%aN?KxE zc(UV4!xv_H-V9Y95;EYj>N2+GkP3Zp*17ToY_uFtt3(&Z&<3YiVE&$Xi)Z zBzYL}D_nLj&Pqx0GeBIV=BQG7p{1kTmR;1=_U$p^TwRppggV>kb`yz1*uroUo!}9i zo;HJ;k|YduYC&8+?JkU*zU(F8BX*#khFyXkgQ;j6)rj!lJW@ingfy& zkWE!Jk5RN-G-6WUXV3I}F$$*aZ2;cvD>mvXsHW;8fWE<~5zAR)9QWlJg} z(g#1%f#M|-`AIZ~CJ+y-RTYl1^u_yRtD)3RM?_G;>^}wepL9H}td^Nl0^JKxAQS>g zj^#8xBQ-f~xQkMY8pN;`-s&#NQTQhHBZ zXkADm%CcS6A*+q5MbbN+he1?U)=;MaBRK>gN#xQ>ZFWkdpmxh;Dfz(j`&Sf3Jvqm< zQ?5N@>Fg%sKlQWa$CVAMlaeD_pODl@u7XhPg`p%gk^wyU10-Xbx1mTV@3N$pl+jyj z9;7G~k~sc{k8TDk*aosw$v$ac%tCojv8r8{s(NN-m;7esa8rwir~d%FGaQW##5Q7u zI0}-LWkBw2%%qZO%DTOyKNV)%8YS*yN9hpsxc0{#jTKT-m9m$Vk%VsElgfA`Wb;Xm z#jdzeLizDo?T@Z@i-o94x#_Fp6Qy0}TcBHGL2>Cb1aeBI7JY;1H4d zi6g-W>?&~IabZGKPIF5hlh2b-ng>-!*ZMNotYblb5VJH zr=wGiBIc=%tC^G`Y}(;#>JNrH+je&kjfFv3;~v!N*VLYz-LJphn`Wts?Zr+w(`|sX zw(E_bS`gt#Le!JwAx9qmD(Z=(Bp~FDDNYOuW2tY}4Jm7O_o*)oz=YD06#Jy$sYeM) zK;=p&fH9NpRpoVarVUyZdzq_PjSabC3XGOrWz37TR(zVO`S>Y0v1j^jaLEh)4psJI9O6sRQ|NCXvwjw(ja)C~cuF7H`1 z=B~C}C$JW^u*;jW5OA%y0V@EE5}bf|H8du%j#4?VC=I74pNdS`mdj9M@f(9NjL9g8 z8@j!{$CaI}qZ|W z=Ap)NO3<8TTToO|Gr&A~sx0olY1lm^h1FqZn6~FSnC!qR0r2@*3vBWHp(SMe3euud?#lTJ|BtA!rLy6t7572PcY> z8(Rk)3Il|L=Bo?pu83yYBIfkFgGGt0+rEu<=?R#*4kvSMrH!G*6(^7Yb{6> z6ECS(MM#q=$Y{4B)g;aiwt%-%SqUyDY6?_OfC%}kV72Yt$fc#N!i8y{2K8)-b+xTd zMw*W6N?KHfZO%DLutCqwN1b)064+Rt<7-{rRzQNm3rxUB^&pIdgpK(l8%Ap)UmH#Z zdBko-RAO~&Ma`5DP2Lh07DU+3OSZhiB(lOvoKq!f8}^JG00{(n7@>}=Y1KN+w}hBB zmu-ul6*3F$$XY|FY&evtV`uRb_dC7?G%PZJNF&BPed)3ZK59Es>+Kh&{UOgQALa8+0imUyag5QEA1BpFiF(u1rb@QJzuP3ugcM~k+_u!?0X|C7 z4pWRA=i-pf?#B8RB0c)n<49UsQqeJ`0JRLIB!zh+!1tzuu)vC9&7)^1~`U+6Wf!g6Y#>0b!csMm&o7GJdXI<5Lg7pg17S}15iGD-F5?13u z)PyA?aBZ>s=z&zKoa0PO`K$0+cuUAS5=7zDbW`RW{0&__pmo@I^ zq;Xs>WP4C{vOn!%7(dYqyPI-YahC_%)sOntuvT&6v!Cr8$&=9?OagLSj+LLV3mnrA z`Y(Vt4aU6J@fH(;C}~hp*@J;kqO#fuQ3R7-S>@=5u&w!0RiElA;|3yG*pz|kPXiuJ zMp+qUP9;t^l#guHm?5yCwKxX5x#i>p`c;FFqwVIM1^`G>)yWwq+O9#6FsM)M?hB%E-N00Nq+StObX+^0&nW{O5q zD6kc%WOL$~Y7IN5^>wYwKBBh?aknA#5Tzx?oIxcHAz+0eK%NLAigfpWzN64KRzkQPU&L=X?QImK#sRHS~D=x?C7+h*HexSO&YYFwGK z9ez@h+P5|Xt5I5ZoDqUBMnyDxq&g~9zFaBd={3oc7?fwpxxDPgUSUB@xZ9+KAfSwl zeEZZzulqr0`<9?)(A~CkR{0kn!Wp`)=>4_J3npLNF&~+EImxodX?BM zTIEVvpKOtJZ!yYB8ez`cs95qGO1Rrkx8q!;4@UHg!=#?EO0ivTji$uZxae)?65x{5 zmphIn!bWlybCHAhs~)$~u(ht4m!|GAq(){^nO}L3p5sex)HsDC5J%=hYOIdB^y!$E z$t^i}l8c?ao2q`A+Uu&18Pyb_$5N0=K_L4QF;^W!aDE1!xn3eE4m%PXvRMmGQl%xe zDIkxIDfawDdehSzHKy$r_KTgt`AlAAUsR_GKypLuhFl83;W$E02f3)0xH*2kS2pYpuX-!oB0Ma*UxJHW-Y9lC`RSDLUMd# z#cFb%VXeC>qfn$J=hdvP>bev_ay7})mtSH;SDbkcoRAfg;*e9|1I0C8N3PPCyUv-f zR`vShdAHu%nqVO)KN}GQ`EA zdDUWd!~4{|O(oXic7n>I1_MDmjy9wx2R;DzrL)re^}kfw^)5$n=GF2fZEI3l4eE~p@Hx0N4JmRge zWwACJ6QMrbh|*e1%)Huykm3|Fl_ZV`Ac6?4d1YfrU3aGDYP}nH(@22=qs3qO)_X}!Sat(?rL2FtUm{Qd9gyB9)R04VS!K)SPt2%na z)ca3MZqej3CiMu)i#H>&-P}@^70;zh+O4_Zl;b%d6MItw>f02aan^vNd*x*|gkPjF#<@BSmG_UMnuRmXaMRPB5QPz~ttq9n_X9 zU4=707Ko;vY^j$FgaoW)41=CVPnv0L5!9tH+=d-}r1u_59!k`doB zT@z|VrHIYOVltQvCG{tjl(?c*v<&giGg|xVWrT&i^KEV+BYJ?z_#Z$0=q?~`LuUzb zV5u#r`iS|*_5PL9ozZpei^b_4wwEDS3)^~eawaQM88M8PT#gex4VGI`2}x2y+Z)Iq z1XY8iS~FW|X?J&ZJf6+AM0m`=w<_$rlabwQuejiSXbTOfDG5pmRsv0FDQE?jyNz%4 zdU7+zo<75xP-K*+YLY{l*|dYWfDa$GPwZ*VoufAD?t|2Nz59K~OhJfdMT;UZl-1SS zY`EplQc&U&QnvH?n_6&BIjT*|p*=xZl^RXv-Fsc~92V|U+`LSL%W_&_4Lr3)WCT8i zcEJNF&x3(mUGq>`tT7`_xXDu4m2i)2ZBf8;_|GgM8Nu)rp_A=Rbk3}>>h{C-mZpXR zUnTdM2yH55^)j?6S>ZuR&OQh=shwjhy3Q`WHtGvOdQ!rjKJ|rKraq%?;UZGgC8P&K zjx*cXa;$;^w{n~c&~@&Z8rMi(^pTQ?{{W0baw=pHRvIcEl6}Yr$oM=|<{DdJ*sh_( zpXWk?kbgol4M$%!C7Vq-0h`O^E?j3Z0hBj|C^+dMDp2whk&M=PZknv}`K7wUs=o-j zT@j=0)AYQUQ?2pZamQMnA(Ei5bPvc#g-~7E(93t>E}iIOmGdt(O?LYkPMx%g_?34@V7732DNn)>3%M^Nf#j z2;#YIzu7JqJDr{t!M7$^-D#PPsatj}#04aC=OBUlkUZA;qaME6?p-3hTQy6U`y^Q} z-!%jA&BZc4h{c#%aEBdjwRW8fYk)=+GLUjWb(5v+QLulK&Txip3n*mbZ_pofy?#V7cH;4JaQY3bD#`F9IjHs!ZHi=tjqCC8G|+DU8< zKR!u3k4Qc_#~FD(TTo$4xH!>uF=M+UVpW2zh*Gc#@%c?zozTnU^s84|?r}8*lK%i? zH#;@T=KKRDJF02ela!UXheB{t;#P!hQhkzh=B?TrN#3+|v5R|`c(VScOxumw)UvcG z*>AbO_#hl50Fp4H&NEQfKCI7@-G z$K2km=V%}#f1Ax(E?VD1+ikG#HyvAQW(~j-7DDBqA>s0qpI1C_NV#iG9cP;w-*VMf zsM02-D~#Kc(30v@aDp;?DEL10F}6g#>%Bj)-89aKv}vo%n35#gqoyx*Hu8m`93fu6 zP*ES7&)Ax+YCf0TuTiyOEUdWWE;T@8VqTWnnPt;8*q$w^o(f>*|KkP>n{ z@mba0(U`{QJ@jf>44bSe772IdUR^F+CkFyl_j|S?r9qOQu$(BI3}4)-hfmlR`Dx}^adRZ4TZ4HDNJ}ch&gCSMaqXI$>E^xDok+5OdGzFkE-GGmg#rfP zTTw~K1c9Ci=fMU~Y7 z(`?e0X5dRq#-4Fy<*;03IoyQ0fL7X%veU@>RR>A*M^xIcu&)=bK?Xr@Q?-7OpQ)1} zTN{Mq2}g14sbno-StJez1I1~U{-J0a%hMROYTImuz-4kIYsM(lIX*SJ zQ0iNKxr0mWuJnrPPLYwVbY;fH0!kxXx3@moA!E}Xb1ny2 zUPmAWqyvv)Yc!qFU1(U-I*k_wX5Zk*xlFt>8sw;5*XERNQ!f_RfZuE<3QsBUL9K#r zuF`O?ZRyFnmfXeB-Mb;XB?)lk0tPeW5-i3`l+hmPhXl7d>WyV)Aw5+bX&AJ65kw#J0gU#7ISs;T6Oxdff?=CUb9;_ZE;;kd&;Gf$CAf@GC&m z77b0M@A{!hu|km&`+aI_auGEMN+YS1A!;bb?da|27#oU@H8}3J(X3k|UEkGKq(Pgz z>7*)SVGnKdwM5|KKexRuoDt8pYUP$wNbaPz zO1o+6wXzn&Dr6}vG*r9|>uE_zDn2UM`?%3 zu#!7rEh#|x%Z9cQd9kx{k8FDR0W&0krei7e2Nnn;*ZOWei|aROZQB{JNop(d zWxAHzTAV;yag)ykef;A!zI7C*dRMP!={EXrF7;rIVTl?;4N76BS1tYAwU9s!f&AN4 zN%r}s@cJKieKH=oO0q?gqY0*z%H>Kuwq&K{DNB7yAggByNWdhVoSM<(YrPW+6bqEi zQEqNE&1JZ583`fv3}hn*)J8`Fo$3umr?k8u#I*(0m@$^1ge~KZ>OKNTl@stP^0ZMk zw@oz#_HE{UmsGb6S9^q6PDk!O$a$8TEvc2d$qpnEcX|l?xIA-JsQ&=j=I0wuy=N1& zP+ADWq;G zQb@>AKAaKf&IdGJr*$X)08gLO_PDWQNVsYXfQHGIzQ$3R?A9a*qWB#=E4_9;r@_Oxd?MBLN4Gg+lb!iD$NXa-p1w|gQ zX-kE<$(m;W0Bn8MWJW@aQpj>Y5>Za(`LkySjY?SHsExO z@BwHH3T!GUEthV0ieCRHk6V;SF0eAfOAi+dizb?TZJ~k zcePB7BH{FMRQ#1Nwob(?fR!gIRuhm8I2on63hl$B`m*f1z25%-ezII{cQ+uqhRjFV zX`vmmkP@^nxZ3?$3rWa1;}vh|&YHYwT{w$Ip}eN$E9xD6Dh@c}S#3utY%Sm7EGOAZ z=O@N0Lc^`}ezA4<`e#u_ob+bHt|c3WQ{#Gf0l6fDf;g_~eL&ul(>HBM>{UrkvMQvh zkg$Tizk1Iry*f_}x2bwZQCgv1p10a8^X=E0>>IPwR^q<4F-xqcU_e3LjfZIp0CP{* zp*8zg#_h~ntn0R;S39W_aaGHb%CZApox6g8@_ci~YVxgfqno%jXOpRI(e5vyvY3uY zPjf5Uq@<+tlb$|(slBJEIwtiJ<#1zBLux&$;^nqO(jP-f4xsWuD#1#*Ap3x7%&EA@ zH0MV8ix%?&OzRv7%s_>8jPGIiZ8YnWA~=L8rrJPQ1;Ub4;>xmfk2NaiLE^R>{{Zw7 z&{oEU`T(ZdV+p%&2XOZ8U>rI6^IJRDdovN3nEmDxY)K(3I=Ki4be|g(P8FZEDarQa zhC`Pa$PxilB~GP1&jZtw>hd@l^HSw@ruuoQkt{a&GaElp%oft>3h;Y@uocM9IUawZ z6@v7~MQaEhO0Zw$=n3|8vh2Zjl8bw7HnljFYz9i6Thc*Z4)f{fAY#6TORbkv8|qt2 zzC(L}UO!Jbr%VOqJFt+mgP(l-W8RZ8-7B3(vfVGbQ4y^$*D64}Kzt!23?aD*QqD;O zgo1q5H>oVI=%AUJuEAosxb33t9zDA0Iy)akS2gDoB^}R7f{@}t2+H!2#cemvs%Y&e zaF=VIyMvOT_7eDy3CBQjvn{mZ77jMy zdBG$c4Cjp1$2%PIyJCx>)cKZj}iLYQvL_Z~*zr24WF1_4rl=fz2??POSvv386Ex6D>D>VJsn1e6YWP}*`lj8?g# zv(l{}dClAedVcvHdSW@+ zc}y#EP_K;msS)5;J9l>JJUv|p2b%UUH)K*&bI7Q#5OMq0FimiC`HgtGQZO+=;-a2& z$Hg~&!cQLc)w`ZeH*sW;b3nc3h89Lip%)DePWx1?LyqVk^-1f2OWhmRC{f^A-BN|5_Ns%jy`&t{9()3Fa%gE@JWw1P)wq+I4xswUKNR38Bmti^*Eqn% z6(=Jgc%U4Sjw%aR>4!CSjjLpPs;#mkPK|J3^s*gFU159Exde=Z$UKaUd{pDuBgv@S zwxP0Vi+Zm5lJOeZ0SZbM{FQA$QjP~a`N$Pv5{qJ>Z`GcyCikX z3tNTNvLvV#c8i3O#^5kFahjC2^tmy;{J6xWl=d*`3|d{f(R zS2|O6dK5UFM6kTOi^e+){a6ky(Z=1U)CtN+2N}o%H6k_Mg4>OTYkB& z{{V0gQ(+}ur4D!;{kW}izl>`ZUwG->wy<>rNY2ssHUit3sAoGWL?yc!p(r+>%gIWC z1oMRh$Vt6nDEM-bFy3RD<0(Xe_C;Cyx6r13zcELTkcIE zdkc`|Hu6$_32j7Y73p*B_UOu=KI0Y~X7UvC?uL+nPr8&q2im2}Ey0XO=+?Wk>HEf& zvtO)>w(4jxV^4NVD-t3+i0NU~wg4${Dnb%KJ9eD;&3jRFk5|o3w9@vQt&r*cZrny* zT!cIIklSWEY$-@c8&*^s$jKW?&$Vmq+%2<`(%{_TKA8(sY!;+8pyKhlNkIgKkTJmd zsON4hqURRg%yh_%_6Zl@1{c94Fv5{w;%wm!vj2crxQANsN(1oWrkr$xJA{b_=d~MZ4NQ@YIq>4 z7)pvs@;=q1MVAh9Dt-j^B{UVaOJU&Z0>8>i2>|Gh(fma+MU5+gR{Qaux0fBZ4aBo}%eX)qOm3SnJD-i<4!mWbG`73{46f zqs~me>rN;6fkpy>`4yHor8=VvMws{AB@$)QMzo)BlPMPDT#HSumeQFFMlJ-exTKIu z^S5#0zKESFJ-P&omBs$dXss$k&nPH{(3Is$Bm!u5=32Zo%*gTs@#Qv$kl+UjLWWXD z9^;;Be3^bT!Z9A1^rGo;x!7WBy%@Lcu%%yJ2%7^lm^HvU# z^!9d=yY&9%G{Wt!ehqhvdvr8GTZL_Q68f@Ajse?}af6Izw&K7`VX=j^gS`^Srp4)tiqiT&gb3%1WozQxndeUlb&S?3q zw(O&CX))PK8~TBiHm2MThc^+sl6Pk{^s!~s?m##v$VvYIuj@ck+%6oPjP5(R=Q;PQ z@^wEagJ&xR-M+ORoh9*(>F_n zr>B;SqOIMhTxao9Eon@2A;kKLZGhk;5=Xb1`YeUGgr0FcJM5t=ajyD1s7n6; zCR3b^*ueSrrL9sBM&fwE2gVLO{{Yst&i*4Q{?8wYGYe5cm!{Z*38~Dx8eD5^i*r*{ zrjK!ABgB@Jl7#Nrgea0g9OjdA(<+avT1Cf0UuWvnbp3lj%}|v&iwE9&!4At!8Is@Z8Es`MTMpTD4F5uBG(u z^?tA-Rr!dlH*IoHVoL5yaV`V_kX&ehhcV~gg65QyZAPn+ZRySO-#S9H)#0X=!;&N_ zD-O0_M|+*_B&3xiJBjw%VOr<> zVS&ZdlJ(xLpFZKDF6P5CU&gowE>PCkaxdYbDs@O#{{T<8F@wf@(fWVWFYfK*PF-SY zC!t7-t?#Tn@MS?rwhJi6}hu26Y`vd)RvVchS1}z?j6J>f0U?xUVFJA+Gl-!+L1 zwCdSX+E`jb(n?f}{Da0m)I_$W0-d}8z#vw+Y7d_}aiz7y8||X)ang!z4Zi1adAFLi zHE(`fPQpS<&&3NUX=-&UY!rlr1cF9MHML86UF%FNn_KYTxm#WT0ECi|9c^whpc_~j z0a;cLH8Pm%<0$;RfD`$CG5c{tkip0VaD9nBJ-Mm9tea(>Iq0Q|&!jAO3&cy*oBT^! zP|G(f#Hmd~lvpTNZKoVlZK!7h0{|0>u3WSpxU=YPpIR)sbjEhs4QaX?bZBl*Ve)`5 zg-Hb|O1)c`g)8E>Nit$ut?dQCMI4 zm~#@PMRC>~WSlIFlsJ&AdUzxZjzQ+Na=wzyK5n#hbEy`KU6Nz*bu(&@5`0%;T4q30 zlqtz>I@xhgHl%G@R*|_OI3OP!RF&tXy3Wl4)gMb~%cOa~g~N!oo197Tq^-3rL79!o zZ;*|^1+|0lI2EGsEvtHDGLWZ62*4>x1d>L5vrpWX_$9z_ z7BUFub`OAj8qLos>1H;tb#!}KjafApIJ$ydY1)N1Zv0!!W-X~}xZ3xrC8GLVK}vv1 zRfB=xaaOwzO)i%9^y{)MFxis_URFBr`noznW$Q3y!39uNQb+0k!UR`aVtYBaKjid<7_1UQ_wQ;ZRn0!AxRQ>*mnaRB55x7h@h0Gul% z@-tcm?^VLnHd)$=?Bo9cM+KEhd+E?t=}Jc-C?A;TihsMx(LMn%QI;STqAX5{3CwF2SBZ3DD@ zY@xE@QcHfEFKOT$42rWc(iw_w)Fs;O&MmEY{rY0mQmn-x?YYSHA5(lBpEaoW6ri@# zoz0}>Au1bq@tl9B?~3YPE(IYD1#LT2l#JuwKAiFIo;+0fGM*zW5zQrh(mLBpw5=O& zy}oDadz&y+^GHG&dFHk$B}v#65_uT#udt>r^h;UU;o4+4sdpC>Ymph~mZ{NMOjn+k z`aw6I$Nz>I(oqrn6L^hza%nlCcyR?}paEi1}$Jmlve^{+PiWFx;GT3>Bh*y0vc zlg?B(cs~C0yzEDwx|&$Jo03`+L}XwgUmR1>Y=FlKW-nDlKca5tGNGbr4v+u@@A;|2l4LJKvcQRT+ z+(=S~*m*wQDb!^&)1o<$guJ1hgny~ zZbPzJPvK8B9JIaL`Pvkq=24zUih7Qg>q{;EE~qxRdXW}ugD!}UNo^)tKMrm=eH*}C|l;K1lBCIy;MGETV zw^)q(F{6f5nKDw8wEA2?SW*s2I2;_~6(qfi0n{uhILcNCIUi%@mgtjgV@7nZS!p@e zi>r~LKIBXM>x0ZH=IhH#5@Uw*-f=seaR-yT^B)-EuA1t{bJQ0dHvP6tR+DGCxjp4N zoB)#**3v>iaaCDkK% z+?0XI+xf5uzA;kUaX;VyXOH3drf>4y_ z@AGWFX-=o=?LNhV?P}AO)}RYpZ7HWWIUvW9($?T!)b`uh*&(r>ek%U}r|)*{M`nk9 zw5`{nO>8>K)X_qUa-{o?0*X!sY2+!$c1-99w@hIWi*5H^kFlrsqj)VVKCm-_c;r;M z+`J9;8lz_nZ%n+o*7iy~8qLxNQ1;G6WH`)4sfev8s5jks3?)kKs3j*pIl#qh9P;rXrF82;^&3asC(nm$`g?L9 zeLQ=LF5L8Dv$Gu&;hhm+mG;Q}!KX#s+c6 zIsTPvY_?LD1f&!Lj^_Qt?h;8quoNj`JXVV2zRO5$TUWVZAt%^m-~*qNS-E|-+{!X5 zpG*?dsis|<7WKnY z*7VmJo zoFSl`U=W;?3}UOO>E5foSZtTJt#=7gCTW;);UXQXEcYY2JA|Mu@)aM*Qd~g;+}G3> zy*FaNGRt~`!vf^gcY@kX=#9P`bK7q4Kp^{ybJ|8y!cx#nctTqV9*=+qIQST?^Vg=? zw@!3Q?OM-M>K#F7Q9kFw7)gRUMW`o(wlV&Va?oZ+ zQusT6mnz2toK%br6@0bHhc^AwxAhIKGH&sr+fo7SJnX{a9on@7gsrj?6h9~*2DW#v z7VBG)7@su^yFKw9GBJ|3FmR9nKH2ybNf&!mOROs#$C8Qn2HkQx0tqWiKoy+hjiE{R z_pQ#R{W;mDK>q+wbt$+a^qnCQEww7eEI>q-*V{`CsSh-juk#e}4tO~I=@4`_zc-5o zvCAw5t=4@_I`rhxF|xN>eGhGIEu}kw1<||o^INOy4JArL#W)%DDCBX;$?@&YRdp7w z)7pC2tHsvp%HbwUF%N0PybH@%LQ{ZGJC&2}0#r|mbN(!wGU@i5m!))7w!=M!8mL2+ZAYFo7_ z$GOc`x|*`SnCism0NNyj&-{j_*1VrJS?YVqM@+R@-H-kgAbwdI z5=0A3GOPBWv|Me=3qn-3W1)cQ&N7k1=|n#B;mPirH^HNYQ$F(PF+_ZfZm=MD%7Yt3zd7^}aHW6XQNke0$Zb zwy=Vx+B--Gc0ZRHuH5Sr40idt+0zYg8&IwcO$er~tuu3KOnZ#zuETY=n_kbNketb7 zPAsQzP}&opd{j&>p7kO%s^c2fpk=DuZPBAik9my+>4+`JNhpZ6$oixuu%e#!GN3;7 z^y;I$R8|sk`go)&bW3aS*qz@Cp7@N$#uTx?X;&l+CxCf8bN8&?rdPyU8IMJDmY~!6 zhgIBec59Rc?d}gPX~v9lz48E4;xxJJJJxM~hMydjsWNSP@Qen00GWUKU48pxl0?K7*APVw>^5*F*S~$ zyxQU?OQp>;B0l3SKO+wbDD?2-g!Vv6v+2(jP}Vx`{b_)|!0wkga;!Rf(&GX9*U+{c zF~a`<;o_mCDp5GXw~(Ci#eGW4CB%fS0ZH@f0YN-@@y8VGL}5s2=OeK8)M2$Lw5!pN z0OP?Q71C$?bJcwNu63o}4gUaJ&$o3JZk3LS^d)D!6(spZY`st}7#Y(5% zA8JE|)TKeCA+Xr(agZ>PQc`VDC$>>C(-KMoipo~XR5E!dk?(=cUQ^j6VD`SQUtlP| zsr5-^iCP|Xt8>y2mQyBE65T^@rz6zjn(e5hdB{HX52?DNtSrx1Z}WA0qiAnV*{(9t zY-8Y#eETUx7wz*!!vDAo#TT%x6Cdz%73{{WCF)ca++^9fe_wZ1&q>rz&xUuZajQ-TQ3#|E*EQr)GS zeA}vKYdeG1>sF<{xdwYk(i0}ijU9&E55Fnh=~9%Ol%psK-Nr{XHG1m4tb^1j2GOZ* z7dva(#jQO11{_u`sbNkQ)Y1Z#^)9-dytn{PLG~iIJEoqn-bA$BthVW&TGMPl-i(!Z zTS3cVSsd*?2Nx`L34f<55vm(oO0wcBpR#EiGLc8HX#ZT``ruh$Jba)WQV zM~qb-Ox1)i+Oh{KISJ1=C*K*zikXF@w3WW}?xTgKtpm2a5bWF^%TxIFYwHV<88F)oDM|dKf|JPhG?z4Xjkv>R z-zQ1hR|+Bj0D@u2ZK*8`YE`FB*sW|vi)67|;x`#; zdOK`JLPKj%!BRp}0Lb8UR+qB+Js?iEg+?g*`pFr74hv zJkV-DN=6H1XeT7+igSPJCF*<|zNl}i6YUcq&b2dZwG_0^)kSr-6kS_t1gTCb$8(H? z?7%!%&=Yj7n7OjkcP%??l-o`!LqW)GsVQ+sDp1@p&y({^wT6V#n$p^+mm6~p$lB6b zn$rkV%_S>Jf>NS59-rGhQfG@SvJXFhxA>*9WW9Wrkg3oLwMPO zc<0SPbWc}x2J^1;@s}kz^Ip;h?y_H2HzSxvcJZ4rb1TkImsYqrOJA16>F~UF?8up zt+q!~=n1ww;#SM03Mxq422;)%SgSYQNm=kacWpPvCa@W4e7;OWd|pwig`= zQ;3e+OA@m8aVp=HZ~y=RYwDI`_f(*!!oqV5>`rOeY|DKqa$4hhu-ZvV)K`M6`zYjl*VHj`*=-G>BM2>{0C10R zIPw0J(%+`-HrwsjQABA;nRqdaXXtmb5wWzLg_75FtwaNy{i^ZO__mu9w~MXO*`n#FH9gYa+T<1QWDYqVt2ePT*WY*rJj*B>W$7K>@`q1oPyNoqAWipzJCY1iG z$8qkMYN+wqTdykI?i)fBqDbUnK1n?AJ}S3$)a~^$c8;~^7A8rPWR>`ona@LdJ2AFL zT2h|lhybZ;T1EiyIW?)NK?_J*sSYfZpcMc~10(_Ofyw()oO$eF#Sk-$V;tkh`%@g| zGgd8|e9xpUNjB>YOBSBL#??^t{n;AT`7Az=>&6p+C2LsPn3c`j)UhQ{M20c7YiQ|&+Y?dmQZ#Oem8b15NkW-& zOG=7~s|^kBHx%;Hay)UnlUEfNjy*(?z&Y@I(|4AZl3kT0C`M8W*02Uiz!^Vs2kL7% zWy{jccEkG7Y`9O>?p|%WX6rWMs8QO8+N{Fi24c|RP;Cz(Nn8~I23AM}dsK3)TIPPU zMb1uzxyQYyQ^$ShB3iQ^JVdwxoK)4grMMK2g|8=S@v|OD`K|8TqBMn??Cznn>04AggS(35 zvm7PND|*FtjABAdZ(l>_dR#0CQgTalJ&^M7G>M44ND;) zCxlB{$I_In5_5r$d8NOkpHEZNSkl)!q`8+D6EzoGNlS=nO?u=adrR%Dk^mv4jOT${ z?3wXcn;PEqwwiuvSdP+{g*Z~2t7!MaeAkn5h_|Fb7ZwAs%YF9L@Ex810FyrjUfJ{Q zTA6n6wry4Dj0hIKm|3l{ZELr=8MU=3mB&*{OZ$mm2k+w?bH!El29J}edYbert)gVB zJNlwKuKHFPagcJ8PbH*An~9jfAf zip?e~9e~4$b#db;t<@vAKsmuAXBagm)umGI?CPyypf8s#HudK7C04_3an};J64+tq z7&uW$N>%{ca8xVkbZ=LM9E^j{j8_R*P2a&9FsRc_~C?w)@G9 z6jYQIsRJJSN~`Eaw6*dbmQ#$QEsBw@|g164pf~9RpKXR-A`igL# z;($_ec+Pk~?NaBzL+3kcCFzu2Et+oOc8@RdT}JGNd#;d?^yJ4;2Lsi@fgX6N_nOwa zUdHoUdikhkJ8;r)?h@US^5i_z%6YK!t%ZUD!)sXy9_g*2H+xKZD~%@c38%u^N}5~f zO1C+XfI;Uf0ORKzRK$J7ThgKwMh}l4AEizI00tcW$py#jx% zFyvq*Y5_}0P)6W=Aw@M02GF~d+iO-BTA}OmblugftJ6FCQ7vsY0s@zmg_VPioDdUV zN4+K_NN-#vJkt@Qq`2zTKto^*l72X+Og!9}=#b07ZMp)`pg{*Cj33h#seg=Qz%@Kg zQ?D&Ic($D@d=38qbXm6rN?~#P(!;3Ulm#5*Bp!Y7OV&LnZKm}seK(*Zt_l1WTu97E zKn|^!^B|!rIPP}xpOd@IZP#n7R@hI@mLKfJL3Mqm)Z)k-;VDllJdOn+0dKU2+e4qk z0YlJ7o_Pn5e$|_Mu09NHvsE#d_gH1y8;-Q0fcQdts4at(r6lbM&Imr@jJF0b4rxxM z-}q#$IfnyzwH zl%!Fu47W2)+;Wgz$j)eGdG@JPaJ74riUZC8nox7}rm~g^6_6E3CpcAA`lBHU>87U+ zsNq)EhaWhr3eEu|;;9{Ikfyp%sn(Ex`30x?;53D>(CB z+6N;5*Pm{|jQ;>Aqqe1dP*kOo0Klb%5HnhrOxSwE+f}tfy&#W11qGr@n{adUMUs+J zyP?wyXmeL3TPAdc8eX>d7 zys1(aRHol0w75{AxSSAhQh!VyO?3GqKOKDdjcOa4X3^@nU5)lPQQvYy2@mC{N^#N@ zrH(sgDsLR)$Hf~=TW8sHzKPUuub1>)Z(52=S2rD+`|ERW)upl8T8O|Q7#INIKG-$B zHzrUxFDR=%uT~HB`})7>M@)xso$ekv_Xj_3gZg=->PdH_i{~Hg^L;IAMO$Ltt~c+i zwK)9ACgU-CT|$A~GAx|^JLH|CwxRlC2DCo3F*bB9Cu)y&xx$Y#R=|fX%XFt$bLp0c zf|5!UFp_rU`&Nkb^#Vecf}%GlV0Z&O{fE!CDVt8A!U!l*feQ&zM+*M{HcojNO{fxCEbbY&8-0hQYV(97~Wt7Hg$Zb0-JJ8acTfVYD-~wq{Qt7ER zmDf#a#q|?Ye|MzcuW=w;qs>%#S37$xp-ic7U@2fItOfZ{9!NFx1cZlKQx8XJ##VPJ zw-A*jO8Fp+AM~#w1cuP0wv?c3MjIc(%5Zk$Byr~+YjZf49jV(%xbQt$B#8tJ`0%x0F-qc;)W+D;IpoU022 zA7TzY>v(258*6KEgJ6{?G};1vM<y2S+k#o>V*4N2WplYd>$nT@+8=Wd6aT;`oWk0pFZ7!ct86yey6(`be zsA|1Ic+>X1Nq>hXGw$ExIP&`n`jta!U+7>0B1hf=NP7UJrAMo@Y%N9v}KY+Nb)|Zwp@nTN?bVHur`bm z0Ps2E+PCsye8z0ClxgjGueJ2cWxVPr4Z>cNn|_v)YGy!|TbiZe`H_MqUz9()+QIjk^d*O>NfAF{f>7Y1kGEe08x2 z%W`{6B_R=(t?F+Bjk~$UF`Lr9o82WvlP^Zw%aEhD4J%4ioU()HZF@-Gl=%T!rsGISJ*qW=J9vD{-oG4$=C z^4yl&QFC*$!W;t%93MtL2Jf2MXGD!~i2NDw+kPabmc#700-JTE0uNzj4l5XMu3bX6>D@zhzi7D*D&Jss@Wby}X26VxQMC3}xAGhW z9EGI&XMja*>WK-fP_nrky#z7z%0sIzcN^QZrDa5u#~hQvHAaupEe42J8*7km568G$ zmuW4?xjyJ(BD}QL!u&IMceadM+|wy26rT3w!Qcr!F~@6nJgjyexU=f--roP3ZQGxys#(q-aY_biZw8 za>Pf&1wF0J9FIsq<~v z`k$_CS7V_r8dlP+Q!;dD*5t7*VhYgnZ!Jzal+I;g1ZM?`?)3P4(d zlHlO@IjXLg);(W#MxS=^c!?$qtCpbpmcpIxJk)hM0!cmsafAVm0M2V;)BP{f_9<5T zltD3bEz+dSOqmi?!&yplIyDkoG2@DkE;Xx z#;upms_VN0S35NAHD-5FLActYBeN;rqj9;;DG6Rk+zM2T6!JN#=Xyn;ZqV99n_Q(w z{4O=EEhb}$0f^)n>+_J~Wgw+_+%xS?p!A1~{ZZe*7;}+)h$#WL;hh2_IYjVlS z3E*SK3HRov<5MK9{&oJ*q$l0cY>P7U2Hv;KWUXPPxPVlq(m)Eq!NJCBKD%{kolAGq ztyt}4`+BYx1^rjny3&N1+lo@4gX`FW2}$=OBDQ_|%A8VDg^V6^$3OR~9gCzI3rkuX zv{|jvT49URclO78sEI9~;f$Z7j1VI2ApX(2Ibph!=EPIHY7!fPc5>8-vMPvDF@PU ztdG*PRytFm8h=&D79xMXM>j&HpI8Hpq;iZORssCn)I)tP(lL_jZ##9kxZ}}ZREgII zUU+>n%GpLq;Q>cGKp8pCeAcAGIjXn*ru7!zJ6gGNm!z17qgsHX=Rbcd+-jeT*y*{>1M;j|deMV5r{b(=klK)fAz1PwcYabJENA4 zn@PDm?b}FAQm*dqJD!gf)`V3r2g2Ks!RN_JzV-Eu;>~Zr!IfvaM-IcB(&N6^Q5%rI zBO}M_RDEUBjS3u?@+>JAJx<&>5}xiT7g&r^TL;bxLumy2;AXXkSjd@qQFRAfbrqYa z4_ld4zICOIOBTl=sP_3w`f&5eZAx-++RIM@r4HE0;{%$uf9iehHk%CPK!9Gk>iJrA z_QFUBjNjB8fuBmS$_f2x+`f$HN%wbd(rxpCmvR?j6*m{t8M&chW%RZcv@ED(oOwR< z;BrF`!)9yUh9o!?9C5byZAz3BLF3$-mn?VT6ev2&Ufr0{da~zf zv0Z208oJ4}MU0nNEEeLZrL`-$v1MvUlAZ?x=B&LQ>L#GpGp@EBT#z;f9p z-!Yt$6c&d{lC&hGe-Q-d-xX|EPIPOwn@yGbS9%SVnGxc$Vg9#1vR zA=Aw@qb9ChnW?LN=93%0GGnq-%PHhGg5r+U1MD&Ee$_V!h}N2`TBB3kboP&W(G=M% zD!)lx$%Qy1Zd!sHLPCH_e}+nx>`FyIN9z`?k)?HI<@O;q{g+MI?vc`_)>Gb;+lp9F zQS~P%z^mr8>5iP&@%LUBc@vWn*sZ?IhZ$0kq5d122;Sc8D5T_MR8xHj(DE&IhBYmn zsncLvBirPum)&idDP#?s(3JqarzCD3=B}}hsuk;5>*)6_OpPIFj-8s2wK2<8rMYv< zUqH)=Sd68P^0%ylp~y}+tv9E7k$THT+Apt7VoS4HQeJtet7RS3EaxpcHzcH^DhlTy zibeOPdKUflCgEZJB#D1sU1meAx`)e2Y^^Ioff-6bAYdApvf8b73w&!mk_sV1ik+=8 z-bhcK*(Z`oB$9a~n$G8_FiTbQQfWI?nq$`(HyNK@t6ySN%X3}UyDh0hw5((T;3`%< zun!oiDZN7KW{!-MUG-(U;PvNC!nv^e?Wl~+x%cIvl^h^|<7i8PUcd7Btx3M0Xl7q} zQZ(FDt>gdoNDusYkam$qqsl09w?S8{7;`=d?jSGm1++ z!JBF;=A_a3lFMbe>pLc@meu{GmX~W`xzUoil2#M7BhaN3VGB+cM;wK7OOvQIYHxZo zTikWjYqZ(=KK*r#8JLWqTbI~vK`GcWqyhjN@^>XzK5KEY=v@=1lEN(dUJPLxSJyVQ zr*edll7Qw^NhBnwbL^rk*4~}y8!f@x#ji(NBhP&fA=lfC0+g2l3r>BKLFFR?uJKDY z%{7lx^-D2J7A;i6GQYVoE{`b4EO+~ip_Wz-3`4LzZC4blYlwL0Hy zec1BIPX6FQ!-U``IT_$!=QWXP9bvEZW0$)OJ$-b#hb)#Wft5ApQshTvNpYu^+o8NP zjfepxq=cNFPc^#;FjW)qwL@gX?FM@aKvD_-+6D(0#X2_IW6OEREpVJvh7%RlErjK4 zCp%kEP{~Lt$Oj{n#aVRZz#!`lLfRbD_r9kon-}+nEGgF}FG-au+S=G#g@u}B z*dW<0@$HJw{1b6dmNI$eu${c{c^~Ug_T3ey?Gf&F<{+^u9maa+n9s*;O*XXv3Q*qO z00Y=lo-J~(obFvj)>o!%ZAaHDfoZrib-6ciRrwaPA#KZ25RoBhR^%bQq&3EO4Cjj5 zx@&!U^P#LVZ&#ai%e2TpP_@T(Kk*0)DDMQ}B!iAr5&>3Ey;yFRn`G#X+oxIJ$%@hL zB0I6$TS!nj%2GxGzd$R3JXOkWTHvxCZN9=>2nkwR&UR-R3HQgytlKi|vn{C_>g58{ z)J~sVZxY#s5J&a0oTt`=QJ^HI~Obi^|<8k<@c z<7HdZy+J`i1;DNkl;GCmbF$kn*7aL&*4TGAj^M3{ankE+P#DhD0z4D?P+QYFWs51( zP3gN@Z2W)lLX6mvfNDeO+!6^1@2lAD z$zR76nCi`0tu&wFx_-yh$FGjAHL3RQi((?2x4R;1Y~U0iAcdhtNlJkrd)CmTM{$Kj z5t{mSH`!B4Kqy;eV4$bQ+;NU`QP$lnq%9F#w_3EFq8wLVL+fRTZJ`TV6be+J5;8^s z9~c#8LpIejb?ue?UYK1+x;l*;5)14!^hmCKV~%bvce37gkOu=8I5iu3>V~psSEl1@ z)KbxF7x?yI%ETDa7L_dtb+odq$aI2L>l;Q+MQtxYwagORn{JBoXQc_09Azr+?d3bZ zNcKL|7W9seUD;RF={q^NIJB)&{)w{bQhXi7InO?GTHF}~?Paf*quSI1Tu<(54NY*g zg*zrRHsD5K=aPiB>y4DQwQNtVK$BV*NA*p{<6)H6qtv$hlb?yX5(~dx+?O0mKv!u` zB`HhGK?=%{4hNqGu1;EPZ(G%AddUIU4y?H3MaDsCYEp`pqMU8XB%I^PprcM{_SI@E zT3C*YBa3zeQQJ#Ru(cqdl%*gK%B2ir-khTsDz9~C@fU2Cs5aZx#@KFG_;DV73#F&K zDkpdg9P&NuI+J$Pb}y*2HLGvGPixheD3PQ(>g7oh({C$6PnEs3#S#T0kkl!73yS5>K9g)AXsbWcel@sgXBD-z-jQyN0LQn>?pxek}FE zFm*QuLc5*e+>Gf2lF2w2@GIy(sa|e+e@0yHmWd`C>;{mjVX(6qwYr43=F$lCps7Hf z1~czgHIS64p3`Nw4pxrX30eD$V3G5WVNIQItJ3lk=u%2ll>k8p$RO}R_sFZtHo~m; zu@777H|#pa8npuPry;p;eJnnw5Tvb2Y^eYtLAd*4$ zrW#+Rc8flsMyHc|xm;v0mwufxlGpIdfTXEQLPDHSLD~w*z^35NZMV&PZ?W6%6E*eL z;`R4NPrAI9`&eQ^17)?c5`nWD&&@DnR^MXv4&L*cp7U~+{FtZ~_AU~beJvJH2>L}N zu=60POD+s#sPm8oeH67uK}N{!BsPNDLQn?OoMj`92Lq23HOo2l@#));J-_q)s?6j| zHu+XG?LyGi&~4Lo73yTGCD9UOrbWfKC@_+OFYZpG`no_!NU~fpy))p90q{XyHySA%yZmGo~4XuO~>{7|dE8U)a)tXDZ zl1SwHP$k~M{{Ru?5Iw!WYK(g7r$$nYezk=?a!%8LX`-fYaHS+4nr7pxbAYZ54J9Zz zNFe;sf=GQ_f#!zED)Z)$q>fH`r7}Ps`K4@S5ImaTIp&5{>E^fz#}%FI7b2QTI7UaY zq5^U&j;C@6J}L$oQO*aoXZ?IpYoof6#FcI_!Z<%F09Jyo6jGmx&OfwkrLK)%Hva%H zXdnLo*ec`y08yNquyc{cFK|BG&_POx!Nx1V;N(}C+_i9XN(u@Xp{VX0`%+R!I2Cpu zHnX_k;*{&FP#`PKHbVHv%^8%HFCNuptk@>SlohSMJ&tJ!K`Q5uwHfC<0U6?imE(%* zjoLgAPzDG;wK#7B$NSI}zBu-yB!F;#TA|x#XwEqzsQqqbZ*-GZ>{vq4Y;nM|j3B3+ zpSJ@)rCn07;+x!U&@OQ$Tkeq?nF?zqhnRF_3rX^mk7Gt_1=TvQTqWZv9oH=_G$H>0#wPZa-Ym=v#>O+>F7HYLa8i;p&1yFOnRLq00^w`6=o>^xw?5z1Hq#^r0tiwQoa7`B z2uL7jJW@|hx@t9QwYoG-v|kq}&NA@lGBJ+fM(u?_cqKU%)8xgTHJ#}$u60)Ne}Q#& z5}vT!uJ2l%g1ahNW-0>QLRN{L@?3E$LP@uIwT+{qH+e6rS9~qaf%O6lp`xzZ zRzj8P2?x}D>B@Arl7!W!D;73G78f3J-i5g0!zy$rIr)@#1qG-Otd42ULs>C}>RzWp zzF76Pp}uL$i`N|qcD-BU!ne57EG$QD^s=$tPNX6Ua=YzdT`cAkAInQeB?>Ycesd;Sf~63Rl>LQn|E2?G@_c;ss(M(5P- zx7p3{sd6+!ro*S=YL%_KY?OziI;DdZDerKgTT$-h`TVtM>ovz%v8A-#$3@-ZT3(fX zwV`45oO3qj>REtJU&dlA0Ne`?Q!fdFezdT^AT++2h zl(6cpGBmB>i626O!q{69RNL&h$pxnn;PnM0q#X127~-6vteMsOU2Azty4)`I-8Ai% z(XAlZA~4vN)RipEX|np(9SOioi#u>ZIL{nYfBj_Y6~^s<)05(9%S5%qxUK^)nQ^7C zrjnxDo0L0JLV`-ahk}!X$Q)mlptP6aQf$hLDaIyUS-wb8<*iP+F}0y-aH#(P%-Tr< z0Mi&9}No}Rcb~Fh$cio2($I_&_wpvlb6hha7?YQF^txT}?mSm*ax}~Zt zk?ibTEf8+nlIf;whC0Q;^hc2*OqUyPxRqol(l;qd87CvgD#IJAdZyWR8gEwV8(TL9 zH8rzOy5t$|xXZ1|WlIkyasr3t17Z36)gs?UdVb}r@Oe&Nq_!=sTN!!#lFRYhW#aQC zw*UnyLe=R%01ib&!03E8oz)R9T88;0i=EcrcemWl%YDVEEF&GlvW=q(zyoeJ`%~-q zpJMed_JD__#F$I4$8zGWK_St5?_; z8}nM5Pu!%~p=!5m-;Iaa2#MTrC}ACtHx|N{gcX8tR5(1Euxq}W*!Ad|<1iEzw@Bu8@_ zn{hkB(~KvSt0bofjw@Qhb&~0)b(N0yrJvR?{-wB)1c51sTH7Iq7z*yTq-TXBp+gz? z`Jr4owWMtE#JNbG;#XjAQ75+>aWR(YZ7IfoKH@n0(sZtfYSE-_T3%h%*^+O+SpC9b zWHwxWNl{vofsl|lU?<=XYOx2R8j4qWI)hokkd*1z`f@Oh0JN6bW=dTSD=Q^SRxoja zkyyrKS-XoA{<>JKOWSnO+MS~s6E`WzFwy@21sTT_gst2!j#5qrP6vv8dh0fyvFg~` zT4j#xhU8qBwIXVe+FDeHib4WXrH2-hRFSzUB9E!MP}ZhasqWp}WjdbU2Hc<<{{R6I z)TJo-=XUe@W}zPF6nFK4wKLk4grsT&Y7jpPkM%2YE8dn@B>Kx~<7iGW0LeaUrtxQc zUhf*l+hf%By(=Osu0M2zGIAYBPQ)TOM&N&5;KgFv@2=XY$ZA%Lwz(n<`!$|wVK|2O zkE@!d)rArU?PMmRO(Pwl%#>k8@FPtm<~Yx(i##>dyBUi z7YlQ?_#)zlTOmKY0p z>1R!%bm7aqw&dH(*N2*U$kx~ig${L%NPZ+qQla+Reb$hrsUQ_^0|-_LP7XZPY3{gL->}KLS~TtLxe_fBuGWJx5N)~X zU;w?IvQEz8Ne3KqGfk|&+1=w8`eyB6 zw!>}&1P$AWKO=%MQ#m&@OQk`su~^fpV(FPS8{AY*oNbY(KN$#N**>f#IbU$3lpHH& z4<9uVu6lsQvtK6M)||axAGX6=iH~b#4k@Do6Y{E08E+Ex&DV|HCZBHIb5?%eJzz}n5byp*XS z@U;bk610_oleaw6xjkmnv9HoB%duaKSa(*e(k`irgAKVZ?G1vh`-o9eMnX@TugU24 zr*;kA!3(I}%QmWEhHvl8gcUwQ(#lzVO*)k&v?+=TkNhVS$ldCqJ1G5 z<0S4+%~bVoU4nFWu1%87cChLjZH-q*E!?BF3X!=9+)@^-9mHiT!RNuJaylf5I-^!< zD7vy#W^d6YqT3ofTTP}!t)Eiz6p|0Gwx1XyoDo&X-`U01t=DEAy6NjuZWcEzp%$A` zm`38_7G8IAg-)!L9OV1)SB@X3vd8Mwt1hOR-lV%qHuzT?s#{_t2FQ9eXidHX)sUc5 zxkPQw;-EMcchDV0htx^Q2m-=WOTz8lMWnlhYK#(c!HakMo#hQy_XZf&Pd(CR`` z0?0q5OnB_&PEpsJWyaSY>!oy6=KGsLz0E@pGS|_^4lS?>lyJ2bHs%6+gy%FXzg^bXn3^BN?7_<_7x=f zP$a9(Zp;o;Jz>_US~pdq!#heisDgZZdZn)C9k~Ytq?6c-rcmWla#Ta5kvp z6^q5JZq?l})d>29-8#dXdDyPsTDmFb*C{LdXJITh;sSy|UQ~EIewCQ&ex~XjMQCGD z*rrOeN4Qw6k`Wy;H+Gi0!Wt?H2^^^)q>wxued|D#(ul!}S}dB%?P!^7e&nGxGb}A` zH933UZ9!=u9D%idMn9`q-4W8z?6&(WSF5RJ+i!($Y1b5jvY67ulr3b8?o!4N>&7WE zku9>DN$cD3x|bJ6%+mJ8;?2CO&e?AAmnR`)t82@SmdaAu+ITL7V;ohNs~tzWXaNE} zq7{j6Pi@y${o;DqWOnxd01dX;-ssBI2K5|!RgYP8`q`~7Q7`J$7t1`z@SL`~<+0}5Q}I@?ve_#_iakT~ zAf;Z}t#1}k9XskKtJiw=4Z$(uMAO$TD;DG-nGQJfZo2A$I4KDydQ_50{GmJp#Rp$& zeO&Vz^`1bC~i!Ui$+s=cSCc3Uu< z^nFXJUbxROlI_X+nOwB8!uO$+xwnKIkghU9h$gMTg%WY^Shimc<82`*@B!wE5ym+F zl$4+aW{6Z02{oOxY_x?q2aHp;zyM;JB|%Fh)3)=0nggJauNloAhTk~*Q5C?=6HtS} zuOAiT&3KH{XBcSnd$}If9_~W%ij`V?dRB5t#dTl~F-TG4KNPKL)h`3Zaknt6Vuqy?U1(&IeXBcBO1SY}O1KX;? zaq&hv(onmi!NnaoBpi9BiOC$}H0nB&xCMX+ z91?4!@Q9h~5#1>WB_r3+XGI6hC@Q@fF6Y$5bYVNE%;Npo=8piTx3aC72IqE@5#bJ8RO6N$fspn7}>M^D>-XHB|8!l z0zd4^ zUK6(_j+PX(Whp206cskClx#b(oMYSOwb%_SB=AisPGjFE;)W1Y$0sL`y&-3Sd}L%F zkyyS$)bEe>qb0yWR`3<)&pE&ze?TfdYd(26@@w3b74j=xnLksDP(HKc*qR>UuON_Hn7VTw9gNjW(Fl&I(=tJA<4C*qpRx<+9*2YQbK1Kx|MdYJ8k6fvKi zeX&hv-7Qv@42h0$jj3$|Dp$vkYKW0_l;GM_PzSfgLEIcuk8W8cr;dH8;WYwuy{N8> z)DuEm3P@@@DmFq8~=;8N0s1IHN{ zIQJROKhl()fg>b}PjGRciYH@+iBG3IpZxy-r4WElPsIV36Yb~kN8FS8<3IWRD0T(( z1t8}i(u4}INhd1g^X8m5FhC>C0m2UhAE=?&7Y-Z;-6=TFIQ=PM1oMwL&mMnTN`?jx zpA@uZ1SI)B0jGme;F1U@oM*_*DNZO1m8*{&o-4eldU@kC2?c3L$o8Uu^My*m83)hB zaSOp7qDc9m?kCS5tr4UZD;Pf%I~)fPt`-8g!Ot{a-*AM1#xOqAsL&RpxkG`-sWu^o z@Zm?AZ954D2xYLh53AcX+0X4kLR>u2R8BoPBBP`ztwespwOr?uMK6pI&$*yEf^m{Z z>qo)aoFCSNQ_ljk<DIL<$RiVme4NT+BdkxdeL-JcZoq~HY_2PpGODjp3CFDC$IxLgDb zVCTj?{%AXsTvCV`%_nMOJxoF0p$L)4`p3a4jVZptJf(n%zZ7X!j{l-06tAE$q`yAOY<6S#3y=^ zwSYo=XP<15%_W$QI{8w$AIpjbwGgWqSKQOEz(z66EiCLII}S+puB2~L+G%a6X~0@S z!BTVMBil3$*4oPUq*s>H6tcQ1TDK`&V4fPt9a7A!G9bPwPn` zWMgeV+Mn`|=}91O@x>I!wojfbp$Zwt6zrrDat9PX6nOTi&_EI9grGMc){NlAAp_)4 zAs}Nu_1(wji`xKuQdE#eF+dj+xM$w7-|afI4vJn-P72&$57)RWSPkVhlm7r}5R`Ow z;*tlhOmye}0Nbr&{{T^(o5SOsx#WA$0!nj~`S+!`qNNf%Qb|z)yl-xZT87d<%@29t z?cjS-odXAxiW_)51NY{&v=}X3Jkgm_hbDqNxEoxKR`NPw7T=OAE;aA2i`A$vLKo7{=uIqHYQV4gsx0RPhQ=13vU;(Yhp%k@@4S z1MUt8&-znF^T9vMPn%LyLuyXssBKXBP7fdJO|fI-53joD4vyJ0#nx=8wtZ0bw(Fp zAJ^Kno6k?QWz$N=(Q`E1H|)@qg~W=mb~3apdK8~2I4ctcFU`cz6^28URfQ!^u0CInAb)oFw$-FHMUH* z9PA_^F`PhN(~^)zP6m8q9M$8b-AvZ^{c3cktYI=^O0^rTS%SdrtOX^+B~7-M6idzF zX(4zY_RuBtv!_$uc1+za%kI3n%TZg49L!2nB>rwUr2rBzMk&6U=}v*s*U#@QlG6CQ zA%#Uu$upml_hjJq_d2y5ppFN(KQ(Sx>%%h~wv5!5y?;AfNzpnB`@IRvWu?26x30{( z>SZZwT2Rt9EgKW)IafHy;;GQO&8#ozb5UDtwpJ`woif&89u<8Df)^gdOdW$VGnvUc{A{_Ukxa4O!TP_xqo$Zt5CyG=(C#3D}z4&#B zhMIoX-Ic}$OC}R}C~slo11kIak2NvN3+cW&dQk7$i>VgfEH1j@$E4;!n1~Z%Dh$ai zt(B@nNeEg>_b&lp?@0+Kf-zUFsA`+ukg&zMX}A{obEjP)+gWOImWGmEcelAkKCAm4v!p(|vv;*0s96G18B-}%54Ob-ify87-8i)^n3ofM zF&T#{1O&*sE=*V`kT$$pLWWx^2lH|V+OdcFx>oiw{{RnHr`>Ytp0m}nrP_4fv9wzl za^a^KyhM=-V%=G66gE)q@G!DURguRhnzU<;Q5!;O8@8!-7u9_OTbhcMZSK0Y1T>7F z3Er>?_5!1&={qyA7;?jMnF@40Ji7(5V^Ymsi*oADv(t_0s9Kvr+EaDY z(QT5WvkL0BBghipEdjk~+=84QIR=|`1Fm--naoTrO{etqX%V8aCTwwj21CWe>-u&> zWl9Mc<-m?}jxkNNXGiaHW@?$8L3VO~8jEa**pqlo!dVd9F7GaE0V&yRg%~PWFS5RCuEU3C8Pu=dbEp}NGrp=Xg zXg?7h$p~p-MZe>@mWsBV05*?|=#2E!O{1wc?x>d~D(wQ_^aw`r**p}7cH{g&g(*4k zLXQ;=*F$Y=TGeZ?YTL!7Qthr0Llj~7S3tCi1>Ko7RRff7cw=K~de_Gv*&JDoaBh6{HTT5AJvZj#8PQlH8LcHuLw#`2>WwI({&SEFlNLJERak(kO zAPv5!P7gd{ukkuFrCEn24C(jVn{UQy8bte>kCqs1VPUrS93&Ey?l{~)88zKa(hU`= zZgcKehVE_)phwq5YUd%S(iDymwX~Ill_UXzN3f?XKLjUA?%JaBd)G2AvY39}&E*VR z+6!4+a2Rb{Fnv2Pp}-z@9N>&ox{I!LwcaJjY5R02dVb%kVrlnf{ac8fwW0Qds!CFw zy9rjz5=j7&#}%+ybiJ2OT&~w!TIDwN<-|WJwa8kUE+sp6r3B$5fHRMZtlc_4p)Puf zT9wf`haR5I)GHzZ0BKDpk(|0yw+w|^6+Y_ANut({{T{BX&=Mv&cl;@ za?6O)o^|$Akl_wEu#U(ix65IBuzB%AgVw!QCev%X>OCINSsg%S4x_x9QcXau;gIrC7u zE27$d$6$pIQ9U~2J)3*b%3QcO?0ALbl)R|PR}GZ~5KcTFYTy2A#;SH6rR$45(^hIY zc80DN3q6|0DqAzI&baJ!sv?|m421<393fkYQ5hqVn$RS5m^R$^qga|+A?p|#St?Y5 zHzG%8`2PTx0H?qCd~gLt&*+AVoiX`eTc}uOa}eWPAu)7u5$7`*0S&bCWAlxnIq{xB z$fC^Y4w$%VCF%s-Z>+NI;x+kJ#$_ci*ENEjjuy&!7;PhIIO9HQ%(35sOSFEI>x}JX z)EPPw<6wtrOG}oK70ZcgdtscA?m~dv6wx@&PZfN+mm}I|$!TQ^Y9r1eL)1{9 z+KNa&Jf3Q$8>II1YB)NL{ZW0Mi#&-E?NFx3LfeM($XZEDn|q2t-gc!*DIXPRwc4%& zOEF~B7iC-~su7DaSOYIDNFht)dFSG>a>m~djH^p^re%{xTIO{dPRWNG`>bya+|w$&|&`oXq_=O9rgF^thp}9Y!`IGw%#MpQ_=g0Y^QsF;jAf1 z%1@m6tE|qB>6?v~*{7~DCOa0{V0%xeX-HbxaV@90yBsM!utqo)4*vj1q))Y9EH~YG zKIU$)5pN3mIPD>nhZ5%UhR3bKP%@%?_!T#W^f@1^F(SjeemkS?@NU-EpfJ_6INPsF zT)?lV2wD^qld)T~<8E_N);_ddnY-$k_x&$8$BVR7peMcVu03rp(akV=U)UcI(Gw@2wYao%_O1p{$Cmb4OW9b#bHTC^Z ze%33w+~w*PH3Wwf2r`nUqL}Gv04VJncHr~kt(fbwZo`Lq*`;G$%n4Szt5DdO&8}_4 zp|ctsw@OeOQ41>ctw~8zM!>A|?@5!@=+m8K*=_e|(b&{2+8mVawGTBt(cKO((Jlg# zOIhw?j1QAg*FWs{Y@4j+>K1>yYL9fgrtKlw+I^{0*-=_n<7~dOgrt=5>B!F&XGcvI zEtacczP3LO)ymYw_D?7-IF_mSzkc<(-qk0S_fdbrKfUKNZ*wlk;P>_Kj}WB)fytvY1bDt$FM|p z?&}Z)1+y?JOOjf{i&@4JmsCLmD#*=ij78!PTC}5(<<6U9)E34VwYzzWXG1L+@mt%u zObyx3ttVozaC1y;J#3#VSWUKEbRGH~q9&eh?3KF*e76?2mXw`{T8T=Nv?KwY+p~d9 zm(opHeT0}gw^>1v_+^4!hSI38RNm0~5QRSORC2A2fwedpIjN0j(#!Utyi2)QwR2X+ zt{QEN43zeq4j#+J)F~=Lfl61sX;2*C@N0U<^iFAAcMDX_xmnj`x>;_vrkRx@9P}V8 zwD4DL!L*P9iU`M$L8v`b)*CjLz1*!Y>C4-(tZzkb=W=0$nDK;?l%;tq3c=n12?rU? z2c^9vM@#Ovi?b`SFx}QO42YJCaf;JRY^?7&Qi{~A{-qvC0GcMK>8fwA^^{|IOK8<@ zTiie`6&609x196p+#AR5Tyn-*x~Ta*WVhL;J!MpDwf^NM@p6Y2D@-#ShT;aw(h8Ok zt-aLk{&nW8_8nN==U7g)wJze)6JxjBe-D)rwz~!8I7*5C01&uw>Pomy1}c}T`YyZl zNtXWr#jLX-&bv*yJqGP&Zd`SJKyL(Og`vcD_)=6n^WvtouT5?mMQzEpYQ?_#EY{mP zmo_nbaw9zA+*d39VCe(=yGNSeZFXxJq|Z_{MaxWS*59zS(7RpkQ7rHl@(S8v`7dk^ zsUsVbft77M5&%4AqZ+j9-45*A-S=KQt908?BuJO_v179;EA6K!43f z#%gm}X=r-qPrs+7OmY*w#%9Kv&>P}OWnpbPka);Y2Oj=C>a>jqs4v$?uA28-y>uem zCff~|QGSt@gX!Ait{^D)Rz?8N1Dp!8UfOo~)e9|x+>4BxMZwPQpZ@Trqy+Bm7aMFg zGDoPXW6vIGmZs|zjSUn|)V)2Q0k$KmT%!E=jD#a{fJ0e7$6nF6r2`^@o{8M2A;jtp zcI475t=OXm?dWL?u-t?^6h=u>j?PIw^!s1*E(X89-7g1FH4Qh5dLTWz*&X-T2}*_- zbVOMTEAK~Ca0YJf_>9V+a7@HlLO5+^by`+vxK2Qsb?$PzIYxv zpg+}JS!>i5{{X_H&7EU1H51ar$!!-N`b-dnVZ5aX8+MH3?!hM&I`2lilIF11w7559 zx|pAcTN{qpOW}kzkORM&AzifY$DTz$f1}oUA~I8Zn$jA6=;P^2P5%HHss8}tv`HKR zgy4>Nrm*}#b$?lZyH<7G5vN3zH>K04yK0q$l@*~WWSkrkzZv^gnVI^9oh<$0{{UcV zH%4Q)@wdTzycK{-P?aq?+;|=c&MK5TCvA}$d`sr9z1^28(u*rjJ{d>T#Y2HtNXPDEjdk*B;?hu>O&L+uvBt(5INp#%|-JX4!TTQB#>%Cy_Gv^8JkT$;B;aZX8Y z1IbfMaZYY=q`T-1s1Pzq1Ddjqjp^wNlPdS9H4Wx_%rhQ6!c6Q*gxf3bHX2$|2q9x7 zMN^si#UN zY8n3k-xswwLMJt-*cvVREd%cuR9@l+_J0>Bn~Py{+Vd$ zI;!ieWkY$(h2q$&OXs{o0}4nBDIUrpDH;1#Wt;BSF`QdJv~m5>Vlcq5}S5t5TN*-yoG=eaYlAViCDIkt&*QE5lw@6u+XoB>KA@|&uCHYDU zc0*n;0g8KY@B?4ZjWm4iapRAhVSQ~Jj!&zIZJGnUs9{kn!PjshG*=~*8 zBVI4=#E7St4&3#{ONkLq?%q(}kLOka&NIa#7eqBJ@`{y6MIDyjL8)*DBR)pPQ8(b+C=8G2>Qdb?- zZY{WTm4KpDGsrk1tP|`OYqgjAyK{`>s0%}FDYqO_lu&{Sa-+#PPIK>Bx4zrH87%z? zJ{wn^O={`P9S?7}>Fcvnkj$j1%Yv4|f&!ap?FmmR$>%1T#@5>JLfT)mT{T6zNLH1D zbGJM!_*7R`@>uMK+dH2)Qg(uQC!Q;Jn+_Gu-690|>2@rp6&>c6#`Gy95P8poimcwW zMvc5M^EX{J3R@1_(QI)qAe5M?P+D8_?4*J{$IWl#m&-WIwgmRS>g<`nOFDcE+n*9)mtWPAtjjJolpw`xcmSVo%gOkwkkMKd z3?>RRrM0N&j?`4P%XyoXW55gbe!g=}Ug@_^#rONm{mr%hDqs47`9^Z#P71)z z+?=aCbMI4@KZ2jqon@}4YP8w4{n!^Sah#JHGnSTFjIFB2{3M1>*P96=^ZJD&QR;nE z*HN6&8gAokvq-$$BEn7GcD9^#gd!WS5rTh+vQh$fc=$DU(%n7K+DhR4*G}n3P$tO* zDs{ce2?XUyLP;U8ei8*Zzv!(MsF|9@_e;W@n}e-Lk=#nMrKW3)&o{V2u8+RE*n ze$+R2?B7Mvi<^vUH)OMDckzhBzPRck!s1W(Y4ocH)tq<~JD*=#foOqyv*;+U>5J@7*-{wkBZX(VIZX1o0( zl;w`%R%iB%jQzED-7VAm?x43tvoU+QJss8=R3=?XQV>$Le-V39qC$O!a%-2r?G0?U zNS+wbI*M#7HNFMX>p7>RhT=w)-t?;lV63Eh1MgYhvFWz1(bl;dPe8q@1UZ^%i#&yq@gaYD{usn zxTJCSrgOTJCU0?@5`LMGa9(f%;U7N({c9_mc$0XR?7i4*gr#oe6NHQa5554$Ii(wx z*1{Qg3HS!SS68o=SL*xyKmLDD3}-(pMBBTsJf|Lzx13k=xUI_n0JTTRn5FVhBkxdu zTCDEeGfOiPwE6W{mn(0VuM9EAw1Y~JRB}Jwqt`L^T-@FPJZI#4gIsz*&zfZOr`bl6 zbG%%ny|lC0HTA~80*Nm{3jQkuXKH=Q2gvxXI^C)xTw|hj0LVZ$zrF6_9S62kgOEYM zQ1<5;A8NoAAhw_au$5#gkEAtAmJ8b8Ezp?q5A%3Ryo&b!0Gp|D%T@9J0Neh2b#5#6 zkL%P+?vf8l5~J!BTV=_Q^)}~Pg)R0Fva~ee;liDukO<&aou0GlNN}NkJnYurFd)ge zzaHH4ks-Mu0HiqTK}vE|Fa~j+NUWbtXf11Yv|04++fZ23Yp^pt%W9)G>SQ}5_8n~< z(s&6#bz8Q6ZZqPgFWmyxI+iq>d$)Tm)|`n2n35&Snv(!B%Scmgu-Oc+dYe%SSR`k~ zeN9Kj)ojf5M?x=Dt4F5kAkS*&_%he@PYCImjHQzCPQaxCF_X{Qqu=XQh0S57w7!>p zsc5)Kp4{0IVZN5aBgS#g;|st`i3>*66qCkrKpi!>yDj&exWEZ_Uoomv`LLL&DIL7y zA$)zQjjyE|_B^dKYL{@+#>u1FyGDTW6z|nbOsMN=wK@pel^`f?!8s#5Qd}+W&a(Eo z^yjLvwVtGxr3^mfkZlky3b?Yv>5Tf`3sS>-)51Ur#!1dd{$6alyQ(@rK|S>M*Jmx% zvSr9jI8I0rV}f@)=|CX}7*WaOfJhuwL#CP%{h~D!@?M()ObIqCUA=2*OAfa5L@Zz= zj1(xiPIK?}rhP={)SYRnWNIsW`gLfy+ZwjW7iexic->4gbG+$%i zEl&uW+m5zSgdw%GNZyi!s1OQqo-s{s-50sut*$XES;buIgx6Y zEwlSf*lw`zQytSUMN|tz_qdG)zNlb+;DQ^QOBVoy)-*1qu7Mb_E zvyQ3_x;o`P8f-YS+Cd})=LDR1$nrCarorjvsME5qnvOqEWnQ%v%G(Oq!;;`I!)!Ml z#VI%mRgJ4H6f z*BvhImUB=mNZ;-4q3EndirW$7F5tNe+R7uTmsHx6c_k%jDaSacPW7uxF$B9aPij_f z;^2!}uowtc#K==c)P$if6cm&Kt=snC9(}5{ZvM~mW3u(Z-CJ#idPC5q!jWjQ{VZh4 zis4!$KNz~CxV2=ZTS`4A0~F?0O7&y6H0!l%i(<9IHOUb?8te44>WNIsoy59x`u}hcPWTy#QHw2`mJQAf2at3il zZ>@T2ZPM9siE&FBW&1_SY{?Simfno?SCY{})0~2pD+CPZ9A>NXdN-|Ju)>EcQrK@3 z4f5rApAuUV*?}ceLN@M0P6eyBK_DoQN1l18xZl~fd)i28dyb^F2G5^zrLm#_s*X;Q_l?Wyj;swZ9%gOUnpkp|vM-foeNa zQ=d@-?^Zo4s_a_I)^64(q!y6+qrBXR%Z}?Vrx`-qa0LZ(@sGV^koqlrk88h`X-xve znb9J}Y8f-+wQkWsK@3c<>%Y1MYyg0Z=OE#&PXf%1=Optolkmq}5t}>mfGgG{B48lH+dw02ywBxhWemPV6Nh zWT=z05Hfjm>cxr1^yHl?rY=amUs|(E4hLFtF;h!%M4?FvO1&Hf0l~;87&Ts?bh}k* z-9@OT#9}0vHwSF@D8?FNrU6aC*R_Wd+Cn4V^T(!r>u&%N_AGnyEUtm zPTS=rrkO*AWH-{HT|q+9l{15lzWL5>80GA5y9gyKMhI5Y3GiyEc?7gljWjOk#&4ANWMANK(%9VMj@59HIP>i#k_;``Lh-l=Lf)e?f(Gn zRp+$L#_09GLbubgrf$Fbdv>yyoKqnaWcFHbDOw5KlB1o<#|rUXb&X?nA1uUkjh&u#arO0sCYXt zPx9wH;}t|}rWXrc;ronTFCCYa)UU=Hb*9@27R`wPc^(nxjQgG{f2lSbt?uWfpS8p? z8@Ic1RD-;K3^{Chl%7cZ%UDmxG?G@_v~^!fO}#r{z09{+rXh$AM@zRhoDx+fqOu!2 z1q7T7jORWFinK3P=~&nHw5!^Z+MCP71l!Dn{Xx%+BRu4C269KRtQIFvHGB(g-pcn& z#mW2ro3q-Y&n~fuPcp)i=JKU(LQ>FhMz5cagQBk;!ybHCz&?5}Z1LC3jL zPab$YRIQ$Mru}bf>tMM?pAqc#-(k?SE8BuI?l679#z!@nNzhu3#~#&x8eTok`)0Dc zUEj9_G8ZZ|g*+R1B}5>p0mQ5Y5r95a)_N{w_02CIR$AS=Hl?9Z(D?2JC-V#(0!O$RBB0&t4wX02 zr*zH6)pc-N?h~GpXKZRYjDVmPKt6>Nf~4mF6N8LZDn5YLbM5xM0QQ$=0xdULGn~}O zlG20iD7srx5IteVcT$yPW6?>s=uLSp-EXnW(3bmZY+5?yr_7YkX-J(V#uA3g0Ko`Z zPU25FQmb-frZV!=o9ecMjUwG`yK1Xb7b)?hzFBSMt+ba?3V(=F07=gUTS*u=_N#=2 zC8V63D4n1WIjj`u4xvEPSDg(TPTJ*0)U849UL2a*e-GHpC~+%q8CsLuJ2vs^t!~kE zm2eZ$GTOMN**S0!w->m{Z3#{u0|SGSKU%^e;q^m9%e_5hV)@*Z%=B8_#8>)el{rf{Cjr zOn0JvK0BcUa?zdMFnRIfuNbq+=coFmqIE3DQ0&sDlW~yrNNalB^G(QGNGo2&DL$lu zpI6AHH%_tW2r=P2mEI_0=DDQ$S*W!1Yf-!1Ev`s|X}iIE#|tPgOOmIMq~v~4 zy9YjMYC0t}hf_3uxSk;C_1uqkAfFZ4P#lij$lPUYm418`42%k1tm+P((lV0@;}Y{O zK#pcQ-MZZ5p2Gm+xZ;Kql<;xRP7f6yq_i~cH7`i2MA+`5PU)dydtg>n;8HzF6WM0S9c`9muH)AdH{&rdz_hwL>Ik#o=a>gDR_{uFz1W{J;8lOimgRwYfpcA zzM)IC{U6u&kb+g&+q*kX4t9cYDweLk^yzVy`jM#irZQ&?Sfm`pBR^B){2}h6;|GIN z3DOq?^soDbnGB*~vI}5*Zta%?MH}#Nag$NEE}dK^N4hf}d|~z4F*<3yr9_9eDJ9I~ zJ2Ih+e0ZnSO3vzzhqqkXfb5y?vxZCaV?bN6Vh0im3(k*Ac?5isk(_3^qq?(czg#EU z?pDe0R?eVZiVD{eVGpP`xDun_`c_ZC+vhbvkg%!KX=%*OF;x7!ie#p5c|j{ua*#;I2`AW9m3oHEjXZT*@*HN| zh<{qOI?9mZ8r!(#3c(7;^7+kWGCCowW>`@I<8snBd2ijW7ddRtx4fnlxlZri($KWL z+LAX84l(;;{{RC)p*=BgruSRaiJ^AGZ*qFFrIi$sxNaozo->nxGEFrE13h!oYIl>Ur7LrXZuMY*bH*xo zbdOTpB~Q6(U3A65;W^7&iBxM}VWv?D;NVJ9Tv5Wg$t3bmifRcRFV?8q-&xDjmhCMu zxU9V)fjjGCsHIG(g%_iP-DM>BBpm&z-lV)rLvtTnAjE`)y0o;uRkUXrI3CCPR8yTF za>J;e*VA=+?lR*pQ*-iXenLj)kbu4tKpYJ2rx9%utNPgsOuHg1eKzd5P2HDiY(H>jBy}wfCDOG%ze)iL z00YT2DXF?V_3q^=?+;MPfjw?ppNQ|#q0}(sJd_nDIB_JXqm;tJ8oIHjqITb%(WGELU{uD-x5Y*{louL4;FJ=R z`hr0e;pFj=#YSk&9E}U7A?Zj?yCpEfu(tqCrRHa@jn@s{eBlPZi55VV z@-lwa^KbUyjV30D)9Ts$FRpML{OqosF8OJkpFpIgM1m{1z`^lKR7VoB6~@ju_pbdq z&y1SzzLSYqBn(o5vaSz`5}I`x{{XdhDUcJ8-Uq&Y=+4eO`L6B*iUMC!KRasUig?T? z-^Rpn2PDx7WR>y{ns(ZD;GYzPvlWer`i8Ub{6U&h+^1H&Qg>sKkHBzPN(RZaHYas&QKB=TVu4&R5A)lAF`@^ zxPH2P9b4iZH`kt-M|NT$>R|J*n0dr6>0b;;4dkdW=|^qioE+>?&1Bja`$1}rac*L5 zs>Nz`xgpt7UwKl}mOwadm8iA?olx~*B!B^^J3XULSfN>%MC**#>}kYR$ej6U3jmJl z7%Ng6Q3}QdK2_2>8$@`CN?K@bZL|QCAZIv8908w-<<$QGM^7Hn?*9Nc{{TBKTk0+v zhge;1kPg4rt`H~^T`8`wNn<9&TuyBlty_wkBsO3v?p#sS;|OP&T2L3D+IWO zV+OoAWpcZ(yVB^+oa2h^9wnuglG-9Rq=A44;0p5XcDM8Y01l83x(*1cy{`Tgpv$ge zr(2vhl9ipK@8+bIyjk+YF6g_>y>|6?S@ke|{nJp2oEs%!eAS+F;!7?xwGYeV6`oCe zwDQsZRhrzvtaH*~R{+0?0_G2zg8J{`5uASY$0vl3KkHWX>vK6$Ql}&&bNs@gt`kt@ z$G8X>Qch2R06C`9E-BsWR~XOqsHMnp;H)PlVMze{li*iwo)%eS$^MHjHLL0Ue-_DW zm3Wf)aj5YZGqlTqE#x=Kibub&Kdo#!JE*oB^n1I{N^0K4l4DRGesk@#g}UT+-w8=7 z10XwtkDBr%Fk6(?ToSN7mX$A;wd=hvCfeo3<$8;0jxJBy+x$jjZ1-JdWdt|9LvYCOKJ^9AT{Eb3r%P;> zO-XKY4aJwFxb$T$wHCL^aY;znc3>qy;XHB2991sY)17f>epK0=HHCkA>1vr0GGCV* zi)@FbyyD8j{{WT5IMFIVCk^7cU&EwmeQXQ7crpsZ7JMW zu&XKwT&NxHW& z?!;DI4XHs5rLFzNr)W-i9Gr|+@xvJBbGc6KA5ZmPr+Sj@62+%=&6?#tb8CJp5hMkd zQjk=v0qz1xBRjA>RMw@}8h1q75p>k|U!!5igAJ#&wYck~WFZZt6)4~mKp6m42TgRU z_iwyu+l;hZ&@K9|^?sMxb32hChuUKp19GtF{V`JAT8dR}BHNK$c}V~}g4)bPc+J-GFgrm?Kaz01{+n}qeb+p97hLiVmY6}3erLzN|7 zl7W>2Q7CL_9mAa z?!<2MP}7m1s#+53p~P-%1gjV-Nl6J;I4Sw4F01sHQtJInXu9cHu_HyeL{*Pdq2~$| z?Z3Q-kfaP@YDq(=$DBHSs;@Jm8nzy?y+LXOiFP~Apl{#0MYVIA`iI+LdrN^C$jAiX8`5Lflullk2$Ob+RW{(5mNM32v7Z6?v%P5UJ%=fb+g<- zQ2`zeUKowI$hQ=}1lYS{y4z2G9Ug~Qjj34A1mqA;kVYyl&#WxhXxFDzDHisux0yCa zotq&IhaPBzk`z_%k_YKoY^@)z?ZZ%L=DK5WQZJf@(R6B51+wG_(a_XnxSi^7EU5}* zV;fFENzXLPQD}`@9`7l0`fWaJ2^zBZacV<$mac0{Zmk`Xh8E~;DRDXeBFCqn6(>&} zjp!k#5|<;b1+@gJr6i4@9|U8Le%@%U!%~%$6e%0FZVOKblaD8nj~;n7Q|LCDzUj`E zSnS${)h^vSD&&R5k`NZsJI*Np>?I%oMmC&$RVqE2^z@s4g_onX5}a#aJ$02OaMWR# zOIwNx?*oF8l_!syahuc{t%B`p)RuPdwn-|H4fh^tF6>fwEvFXRhdwz;^W<$l^&vhw zl?}887rkx+g&>~^KF8xH^s0aMeA4jr_f5r}y+10~HZ8(xCAT6mWlD3rvW0R^S^ofj*)Zpr8y4Y8%!AosS7{1=e`p2m2*Du=-?Wk`#~bCFmY+=`E6Ut}Jo!2F(|Hr%LR3~~ zO<{*8z9U6L&H!I@f~})IeJD|{pS0zs`92(LEG=Pjm1Cc)ZEUSp#^*+5ri*Tu(%bL2 zrL8K$cWpaCJX5Q_oqdVgeYx|m3yG)o^vJMPCR~LEn)+oaq?a;$yR{)oJ`_iSYH-Bl z-_n(a$O|KB&H?gHIsX7bL0!F236PBEPVbQWT&P2?HXWBTuHA-a$y-kVY_&KtH#NIuQ4yD5#PT zC*$M&tLMo2!4|un#oaruFE<@4Y}PhbotG+8k0FSPWyL%S)#@$o+6g1cAE@r6)>^9X z1<6*OP9fMQ>pPPUTxHCDBQ3^mGbTG-=8&bKwJ*3q18E}!^IG`i@3v-JZZ|Y6xP&RN zuzg&N^YcjUzqAzv;a=G|HC5?d{_`h9LXUB~#=pvTT&9}1G#y(_M(!vecOFU>>VU#` z>>e}Ela$BQeMOPf*Bo2^#>(;Br6%$J(Oo8m7Uj!oLB!eRA85#HSJ(T1aW|qR}NlXCW&6FinU+l#jdmpw|mtal5ANM$Wb?4jI@W0Vw(RY<{5W_o5A$S``T{HG$L49lrQbRVZnKjNw`n@5@~JCI7*pU$7+KyQ+xh!o;Tfew zu|m{$0c5bXd2^?-b$k}!w(8`i4ka-iGIo_7=V4B4^XbSm;r$;$eG}@*SW*r!M<9Sa zk8U~rDSt|$Kv>?aWCE?k59^WceY{uB8e$!p-FGn-2$z$rV)X&$+i@a7nU82`;Fk~< zPiwW?K^spwBBJy*n$&|zNs@R?FRe!*wn8~T&65-1pOy) zs5q(Re6m}@dt(RNX!BUs+vMF*6{kS{BT7nwfWneOurjVQl0Y8Zj8RWvmdo;;ZKNlT z=dFff9Y7SO`_^nubK-^%h6ZptJ1DsmvoyhFK#klbq<834rGTnZ^$Eqn$dcj zr+>X^(^kjqrsoW5IPXkpO$D}?=|j8J=6{zxu~Ui3WNGVkr6HKpV>sl5m7%uZK`I&Y zkPnRfQsW5Hbcb+5HkK`I_g;>ztO*5bb>$Us z9#&Jk1XF~*PEV!c$h4`4Cb4vg>kN7p@*hf)(a#%{4ioEop2 z`dTaTZgAS05=%0oJb+qtheFV_5$RG?lY_^&s^+`ZQ}nBLX6*JRuCuRq6x&#B$sLds zTU&)iTT}-KKGj<2UB6Oj-4hE--?XLT8;hNCe{-fflEX$qmdaP#SV${M#sgz$IUG~& ztHRXoJEd=0Urk89IbpsFgountVV4%zVb=IAtS8H#IjP!qZ1%_0aBeppJ+7>*>5GlF z7`gud7FryP#}vOLp>U0dmG%Ed2ILDp7hEl{0Ic`{Jp+S`laAf$}* zo;c>S{Y9g?h16H>`oi;Ji)5PJwTKp*EAvqD-9luhL%&e!GTK9h2|yV>`Jvo2X1~^# zceQ2HNJ6nKaxF2_Y%|$?Znqjqac{V$y$1scNiaZzpK-g;n#_2&gu!-G1|Vfc4}T)Y4gurj*KD0S*ZM)rCb6^W zSW_;sRdPhDGuQ3Q36my)~&JC4oYM_B}ggC z!oo*wvIht})g!7sHR^_~yWiTeqBFMpvkiSZh41JXYhn@sg-%afo8?Cl}twSzY(v@5h*nLg2ounWsDB7hR$-+U&&lKv()a?VQRRN18qG{O| z2VG&9>uJVh7aK_inSaY{jxLCh-t$erh#qM zfOh3bRtVs6O|F`Mt5dF4J$Riprjv2B+@F8&W^Nl6sLsahlH{J=*Bl3v$Brvs9wSh( zUoAJNNxE6zVpMYDhz_AR1xZm#hwMQV@@&PaNONj_4;4%4jf(lEG<17TqG~I50Q`sE zL|415B)IC90#$*Y6g{fLDblPYA5Xn=vsXcH&2`+4Jb3u7vZauaam_YJ^T&}+8T9jy z6&l(>xeiBf(0x?IEoyX?ah_>QUhjHOA8IJ5B$7@C?dFFe4pcIX;FF*;0W}1D|>_6%_-7B%hp9GU7^s z1K;Mm+(-ihIPxpR`ZVQFv!6tC=j5ik9*#&Z#!7(a08=nZj(7glur~Qtb4E`~_Qa#O zxM)#65=WC!x0YDAw3ekkDYQ7O7Nfh{M&E;hnseDn^*Fu<^3xeh3z39=QODYvx4>dF zUXWG+wWkBXDmnemY13LSO|n5mH6Wh@y08cO(I1l<*AdD02g58g%A8gR$o3w@{i`a~ zJ!rYQ^5W_BeIp6VL!*}!_aylJtDapuO7!$k1YV+lz31ano}h1y)TE>h$z$5wYZrK@pS`;*N?yD&c3 zQprwp={4ocsn5Iaf1CU`bf??BCSBR)-_LPnwH#!e(IYIlH~N&Hzlv<9Ql`spBoX9h zm`A#OB#{`pQio0w3Gizgdic*#V)~Yp3u-CI@UCmwWn(!ThrL0_kgfSX51R5OZQ%rg z@l%XmKI%#5QiWhB(9DpekQ6@k7cxqeoxxm+40(i);tow>O{~h=bo(>C4a7jKfKz8WjK^e|{swKxCE^SH{qE7)S zCY&bQAz&@ww0wd&uKaOJxd~jiUwAfhH*jguk=qDCP~_r*7;Z7z-g2+ZRCAxV+M6`$ zU6vE&De;e*-%lHEqeR?>JmdlrJl7yyEwj|> zVBKNJF@|0Y$U~j6@~x!caD3AXgR)a*xtNU?r6v@R%T3`S#fFu%Bzt7w54~bix;?3& zX@>2(OH7M&k<<1q(^kW6G^taJ))wjvW$6YX=Dn;FdPdOLyCD+dP(Nh5<_JK4H% zso9TkzCWaH^6l%n+Lt26{8$jxIy7MRuO%d79dA&pm26Yfbo z0ZbUzT1s7}UFIgMwK;BtNR=@%&{}0*3s!KS-_24w^g-zMr(vcN@}7*$WU^EMcYKyp zw3Em4e$_|0Xl++;zRlK=x^So#_U<-!2A3+2+?t4u$PPYIGJ>qU-U5$3k)JiZaOK^c zt6iC_bdxrgbqt+ZW^UCbdl{O!&83$W&!s9S1n_wC#YsV*Zk4pPb%?OGKB+q-AwaSJ z0P98%<@@-rp6>lR)$>g4SsO=OZ0=6KyKsSRwS5cD+S@T2WU1J$<(IpvLX@QBV|H_r zY4yIr)U7#cLf`4Srp%wB(99FJBwIh0V{{Ul( z^j0KZ;5O{wK9LKOfTzLmPzlP1+*c*fj^vYW`snGB0VRU+dzi+5E_2|6uGMMEqNIxMl4 z@>EH25xa*6k(KQMSQ#f7s~1?|TxX+2A_NIi1btG>mwQbp_Rxs3PU1&_xPhOztbhGz zXm-i1UG1!0A~OE~Y4q+&US(}8WS=NJgTUa^p}Z%MMn-T4Bkzj%>rmTWfu!D*)Eh3a zeQ`8gKkm!0zObSkv)(e4>1_HP-`XWk@w9RAR&8sk?-nZ_w$m<4)JwZw?Rs&$GGntL zd(tDam)uIwk`e0PyOGbD-xelYeJ2L*Zn;dKZi6W=$+f;C%R)gNw+cdl{)!*gp06n* zl>_mdSIZqjxSM9Cy<2Y2U7*3a>UnAo8;rYrN5gR=p|m>WWEWgfCn-Q6D1~{(D^ch! zsBzw%>FZ{pyGnBBG0Tb~wJ9&D)ilHE7%Fsc8&FaHCKZo4HJgo{+iM~1$tqKTB?Brd zUH|}Ol7C92ShcrIE>~Gvb4cnNQsz#5*^6bB5%n(QDa9b37OVrEq~ej)s28ipOLbMF zPbKBtB--9X2xQ^MGLg9{KP5YoKIW^ix|h+tPX3Y8dScra`#HHxxeDD4zvJ0^NWz_c zJQhP^f)#>K7&MaK15ss8qz$BiGmkjq{{YPtyy}zyP{|w&`LCOxb%EJYbajFryf0sk z+VZ=+bW00;5!q@ieWcU-)y=|Ml(078lcbBP#1WXFc&eDNLm#77%KsLQa~yR_Zc8(??heJ-j`m4 z?C8Px=|k?arKfTdqC!-po>P(t2i%JJUrg&+8ogR3^{P6+?wOS*PF+fFh;}1uk`Xwi zw36yOc?d#D!a-Kwy%SMton5W;Z0GNKiTiR>ZPQX#>k(OKt;cQ-Ah@DYl!YZIa|G=f z;0&6aDshjf(iR+3slihGs3Zcc_ymtWD2%q$aG=v@Z@5WX1`-K85O6vDO=0qSuX%wA z^KUx3I_@#G{7W1(Ei4yR34c$yJ3@RYDbu?jp{d@IUiDt6fqK-Mk5xTAr*D@#bSNo~ z${LK+X>PQgszO4_h)zk*id-_D8ebsU^qr35ahTGWZTtGs-DTI4vGq3I&=A=e7)Z$j zKQueF)V#v&@tA21E0qm^1!vfTG3~*sCsZ{Q>mB<>8+XzU?3=2Vxe-v})7rN@;x;K@ zsRw#foE}C&;F_%H4Nb3})D{a~tiQy&F{!k&@1ZT)+KQ-8A#EpON;xSZ-gk45F;>eX zGaWT}jW^j!$pZjjm2eNY$NN;YIFUpD09?4OeNtQ6UM-E`C-05GeulFyuQ;S=CmTpA zQtwul&H?advIxlVJk%6!wd-W-=#Bj|Hw`y7`7+uU8p|mRwuaF1g3&Q*0p;bQ6qKN+ zk~76I$9@dFH(#NO6ypAhI#%xB;*!`3Sy0AF1Roq%pxffxBC~I|#6vOTHkMm$85>ZL z037{?`qm=nRr-@-wA!^j%3Y3RO;u~1GT#O?MFqlBF}ui8)))L_{{Sk90|uMlx{KCG z4@1+C7K@Db?8v^&mj=el+8yODV=4~3kcQHf`kl!q-xaPEhSXH0I^xr}E)%(1InD^= z%@)j(m&{YWe2v)()>+Uz2dKX`aGuHuy4R#}T8+j_dET zmz+bg+<85=#{H>MK0KPxdQLC$HBP;`T`vXr&fQrXb`^tk*~y0+BRHx`nDe#*w-5?Fyy8y@!we)Y?Le&ww;b6pFcG!=DFAUp6hP0*|khtP@Aal z*7eOzwU?G6#ci_MQWwEioiBdq^3BV-d6|Vr1 zu)~*`PGrn z6{7S=?CAcDC1GG%Bd>B25*NYA$F}V5{p#FoSvIyUN&^d0fW|=2x0)OBSc4havZN)L z>>*A%;?4pRkVz!_a1CSf^_H!3s3)Y1-sOvgE4+*2lNv}$+_IsP>unMTyM--(`!xXf zQmz-<4w|(80DJzu`I;*AF7CozLW_>J*a=ghepLcgFmYL!wZ=Y(i6xnlTbU8`xXY*u zLy1;Gl0YDj*n|7hUM>NWt)tFQ0~PZWon1aF+KNItt#`FtwDqpWboH6JsY4STawBC) z?2-I!>N`jo$C|d?`jY!MJC>P$TPh{#-l4#R!~{zTkcetaCC1W>;ctVC zZO|nmU@kTlDRPjV%|bSC&@o`ta<&?xsu><+pYuKQUQa6@`^{(S#1QrJok(CYhSl1g_kXgK1vFsxas`n~YuKxFyA0RGh*-F8v_ z4pr_pjQOk|p!aKp{b1yHddW9vl5K(OgDAbtx+lN6AuhOHNKAJMih`R?GoJtoxb=eG zo7>tl#{A2h5pFt-3{6Z)kH=e#2=5Ytw$un4f^*`zaPH|mFVbhG6v(#MktDk_dRfCO zT2c@KmAyb=Cy|WM?vu@`I$w~)rG>hNLRw`@R^<=|K;#a5*UyeSa<)gc*r49;t-^(H z)i9ZHr=67{5zxvzY4sAfN=YR-Ir0Ij){(guY*$Ntg%Vz6GOZ3SeYSk}BDl25M)0O& z^3&uKxFuUoD|ZVf)%6-unCc}XjmK!`#&|r{YfyC>#bCXg1NQsm>B)>Gtq?7)N(gAE zq$rdQGEztFQ;gkhw`ZmsWYHt(B)b*x0Rax6oyh=!!1){+&hB=dQE}@G_36!8?w%jr z*vWQ6ZEZ{M52$eMNpN8#dC2*!&i+NV&91bq`a~G^$*#D&lvkxR6xl}9wC`=iuXZ*q zDQ>EJB}p)%)DN0QlGECWI>m;h#E{mdjVg1uRWYYu`j;9| zb0$Q`94)xgflkm9!2$BOx`-D|&EEf#B&`g-!F?RKp%B1>#Sbhwt7eZu(Ik(CsK z%11b*YdEj!RNS>Z-93CoxN4VVL`BC;$e9qKP}0&>A}&Lr3OU-Ojub(q!v2q>)R2R; zD?Dd3-NcRAs;5d!#(HsOW_^MCGpKDy5gl>WsR#=@Pw`1`0-O+)9Ds4{R;2|W%6P6< zwOu;O0@ag8IUElZmVg5|G?lGc!0}OZ@y2=fq?H98J*f)c=i0goK+nw;<*1}na zit51_rsc$gj%YgLn|L1dJ^AxoT7ktR_@E+iPdNSS4gT3t*7r$UdvG1AgJc2sN`-C! z)-nCB(uX=Y;U^m>GJoE+)Bgara&6p?=B{Ln;)E50g^~#N#t8nu_o(Z(tkZTxm0d3} z*dzHjB}zZAIsX7k`QIe=`ndG+%f#AOen<#bO&Kc40ZLCJASmLpoA+BGvcArnwV4Ee z_2dnS&)GT2{x!%{~mbgoveB^sq z8=9~SYH*M|5^I)U=($Zt(dmEk`gr%tx?fQ0yZ)hCS9!cR`cwHE2Wk?1u#v?@Jbhtn zR^n6VK54XvkV4bvC)%UFsZA+NKHyRhSs7A^#X{Z!gqEcw zZc9rXq;btHDrtZe;aSfr!f~1n%I6ivHjIIeermJNNjb7wTDLOh-<0C+XW9STS0Ap2JM@4=T)SEXd&5A~sUkfW7=uhdglT-cvd zx%*Q$ClGKmU1v{DS?4d5!MFyKfrNqa#W0h0-;#sL@=2)2W&#K%qAoXR@M1Xoq~R&# z57bv)pGxO@yj@=-@vMtn_P><*5v$$%8PCx zw%YI;M%?Ef{(sVz#oh1kEC%h9B&A03%t9QVo?G9A0U0R#q;A5LeB!788kOwIB_n9<1PGdlUZvdii&wa;=l@_Qzk;*H`Z{ zey8g#s8L%80G~^MkKk>>LVOhxeAb<=Zx*;Z!d#CeKuP@E)-O+aSmU_*RwsS5?sGema!P_p9{lr<+ny-$Wx}^dOq+z(BQmw2khhi+ z3yUErY-h<*hyZ(%E9V={{{T`ZJ=xo~puI!tBsJPtu-YNKu*<>5BbBSNJuZbQayONJ zPzcD!FEu8eV)0}er&8T-Yg~?^HwndlBKla34Kmh*l%Nn2kP4>coH$QmxoX0{{xu>0>>!F8s&S6C$xWg+`eX znG7jOD?_LXK*0(b2an8JkLqhM>4Zzf-CL=3CZ~~b{9ZJcAO=+- z)W&2OO)2EI&UO#t?)6~c`__Ba`_`^UP_L1l)KP5+g2Y8>^CE2amUlPmb~`c9Q6YW9 zg(XDe1KOtz`&%DF!@An;GHx&-Tw9R+rb1%QZ3!SS;X+*4tbjAIX;%c~8cf@*s@*t2 zxm=ly>X?xvcS%ZnEpp?9WNk`7$0URH@@wY3OEX%;ziL!BE<9Kl4PHggOsUds@!Tl1 z#3)MNWeRZ#Qp=dY#z09tQ>N!?i{6rY*?iOz=UbJeH6+GNIZ{Fv+iGjDlH-X>j_u_k zM0%1)=O((&l%8u9^d_FZ+4W7Wo9>&qCgE>IMsxN)#MHV%@Is0~ zPo(6I0O$AQ`+V_VDPAu+-%r2z6n#n{i#4X$n=&WrNf8z6U?{j4Om{x0mljikd<0>CY{wG509l6mp}0BZS;<9uGD)tYeMb<~r2Pg8_H z?#Xo>n6V>1;ADn~+z!Uj=W{--_4KR>ac6-h48|m~98+prO9~kWX&D6a2ss|rFKgIU zH7`oEZmhgHeZO0!J0<3uVo+*p&9yNNoVJIXN`hPo$>5K3=B?%T(xRQpX|$&SDbCa< zXdXTW2a3ThQ+k1XR+XHNs9mGEs`UlR*yBycj9ZTllK#-pQ)Gt+X+EMz!8{s@i`89I zI>TduGh1E0y@PZ5m0F-dL(&?LImQ}&=j13d(Aa^wDMuvdfyHj)m+ERhkW`mc2}{c$ zlb=!N{)BKm{{YsK^o5qx>(416Daqcf3}x$}%xc-3!-Do6@K$FhbFN6(-8kzPqHtxmRtCB>gofKnHi>x|oMsl^mW3valhQW7$-06VaJRJhT64aQ5ZydcIdysgeS8f>Y;0Rc-R zl5j}m_~27{kgc=P9htVMQdo+hW1-d?aV=mBYzhRV@H~79$SmDT>Ye^pmC}uyWuAS? z<8zBPbo)z*?na8+P6rVjJC@dan@URfGzcAI*7Eg@vI-?wBt*O2+_f^)dql-E9DuNg zOywyEby+|vLJ$We1srCzaj~zI?D02KUV2Moy6VfLHyM*w>#2F9EGV>J zQgEWR5=c4Z000Benyp&8!L6f2v}*lZVAJDG-sjD?w2OPs32dp9JhVEkOWWPLJWo*aqhNSNp zR!~M%i~w^{7cF+J-|m9T9>n!t5=2~xd*SDawp(bc=s z-c{lLo`mUG*F@Q*-BEN&c@n#!ryN9bfKMKha&`B2;km zayx6zJB_)$3gh8HC-$iOUrD-g9{SFqXHA1XJk?wyEm9p)7?83`l-p%n5xA*afB+Cp zG|*bs<*tR+VziL8+TmO!+oMfg!7mvu$9-)$dtnJEPEqG3s`~eMSSdZd-ZHwx<>8#XG&^TVdUI-%E<{}}$`>)0V=X1;7KAk6 z{vsPmRvQXD5S(V7YVMk79blMeQ|VZ9{)LjmAzPAC$;a@?Nd%ygou?wACG~3ByEGe% zR-1wobh^*8qhpPQvbgQMOPu6jhEzcL#aVQv&|WlMlJXTPNuO_GLRBQCPY|R6H3q?4$#NpLhFU6TYCCBE01X8R!c>&-5(wY{Q&6my zJ6+c0e1&dmJnOG->fLW6x==8ZQ{y0UkURnLS;o5l(3VXNsbyFmu?dK^A(t+XekjWh zG!~Ge7-eH~Y<9ixZ9FPF<$bPc|c1HkP$JRW$a zt8!^EtSlD&Q*M4M?6jF?G^p_i>EnHJ)@Kz+YBF0dh8jYbpIfgGpxOowNlC_2 z^H4VKtzB=CZE9K6@Ty7zA8IHSBzlzXC6c2g8wwyQ{cusxk zr0%`DqimLiUbN@dwk98NN^|h$u%Qqw#2ksAzESrSb-V1?C<1+p&=lX?rPKmukMZWQ)?DL{CC34Wrn22>Ld3>#4C?8Uf zntvInmiSED?a-Qw4l+AUFv0>*(g%d4Bf#gtsJ&IH2A|N=wWBuSAyFWiqA7d;vJ;(~ z(iA+9GBP-<#_!giqS(dV+lNanSg=ElcAeSO3OI!EI|F~f^*!lULBenb4?H+lvGUi1 zNUdBA%jn~xZ*Q=vL8OON*j7Rczcw;6iem>%>AP$0$%Uk>@t%KhdB)(hg6{qn6heJj z9N_upqx5~@yQSY%#zbe(n|_!LKJ}GE>SNkk6_d&8w^6j++T~-`T1!tg zCLC*Q#vFk)_ZxMoQoAQRk_adOpB$WfQ>|~UX2{i%^zZ^BHho)RX)ZMKkf{y6*>P!K zuo=MfjCt`|<5wHDo%A->0WR90x!iZ^6jc?ox!nG9$11@5-hTA$+$*-VFxgWpE;d3_ zmehUIp9dUqShkbvhNZi82Gyr7k#ysh`^%E!w3}d*wZ&U4DQOCj;zKVI5ONWW8nN|X zs5i|kaL0);6&gYrD%jE`?MjA;#JuXTq|G{xR=i)M);#W7QD zi;VbE-D&WJI-Sb&g&m7XQgRYXc|NMNbq7#u#b5XgBw*PTnH45`$IwuB9-+z;zU(;CLJJqKcMsAaBDT`0~e-V z*AHEF8M+av<+R9lFl8<6N-=^7$jbfxD?L4D*ZN`==IyBGsmTkq%9jQUwx<4(PN850 z#gfy9y4q4ol$QWj6XaI0!)EmQImwbSfa|3h+@ZZhayaAWf~nF*6Wm&ol?4EI9DEa+ z!I|n0RUlclB4$pWUS`!AdTR0gske0q zOpm3fTJX!ZsOd8iD`{~qDLC2^6mg6Z?oCP3-?MvfA6X$u!rWQdah#HHKi8VzlOZ^K ztzlRvcOd8PM>woL)vh&|ygh$^S~EI3dfDwbH0g@U6sW;vAcXS88+HTE3m9&TW_qBK=D!>%DwLLBcXrA>sWEE0L)CbjYFvAG{XscI)GJH7bi z*|)a!`QUQ|TG^$*Ui8;U^Ww&0RGP zgQ^Mh=7yyoG?M00HvHEVtPIprxBSvp-~)p}Tfk7%=vTb~7UttZQN?f^=g%K{LY6T> zg+bH*zs{?;l>oe{WTbM;Zc z{{Z)^r%HX9$xyiJok@2D-7j*ULF2X;u|NLma4I2BCw53s$KTB|a$>M^;+n2!K2P+` zes^{K2OgFff6US2k{fK2+EO{mpsq^PJD3S4+*2ncg#waNbNy&vR;&iM58PIC+4GY3 z9Iea|@AFO7DCZ?uNcg61ty_PIllx|XUD$$9N&RS+@$P-~K;$9JgXVzhkVmOl$GtHU zn`ruy5%#VwPjmAATHY>qsCJpbwD#Te;1S~$#T2iQ5~2RJ9JfE0*q;;balihKq zc6;wX_NTL>>_J;9N=N*oidW+7W7E8U?m4FOF08Gh3C&o}>O3iHJIb+xib~`q3))U| zLXkDFosIGd^Gw$EGoL>-xi?wL>K_;KNeURR7r+~od{la*gp2|O4atLG=QYw`<9EJ5mvB@w4KeL;*?q*i(Nf$iSr`~R za4O*sP~UCts`}W5?V*d)7L`EllJkjMsBd?0A4;;k{(`P@-tpzL^}T4wY#@h{!+phY zrETS3sq%m6T9%vB)~NT{I*Bx0})J1YGHR?F$Gg&KED$8Py`j^ohmt?k(rh~yNu6cUnLTD;@|j~rAk zr`8vZTcjn=dM&Aol+7b*eNz(;*WX?3rtnlb4R91upEW)^8RZ{O7giK}lC!v*8v9yVb%D@Vi=DRY^gTgqi0#TWK+0Z?GBfU}qJT(B z(58ne=W3IYQFm^sbuL^fmkSCPDike4e1hYai*r+^w;Ch8wp5s^aVl{c2YQkUv-;JT zFDvv)~V8VJwl0WOZ-j~ zG8FuFR@+Njk(DSR&r$|K^qxj}tl7){s=0kV=JfrZbSE{awLyUN1cb*+PduLKbgOW1 zg!v-_0n% z{Z8^BU7NGHJ`_1NVu;Q-mr^&xl-iWsmV#E0azXHM&0e~LuC?X5<*RL4BHs?-D$vEH z$jql{d;THC_lgj;q&%>Mvdhl2^YPeQjUVBuO{A&6{ihzE+MEO> zMN3q4t9zZ&b|=)}JQKz*xNBWGCHu6*y>NkWavYY|ZFU5f2niuCM{tsr z;a|#1NFa)+N!A*To}p?x7L$c!fi8ZphiF{MEV$WCN~tZv{QIpULQw_9v*)dtrbw921yLV;HNxV056U#TRT z!(;UuU(D3HW&4EqY_nvasH0vPij{;;LH!zLkupb7%8?s_?sGlYV9-Ccc?5phZX0IJaYzuz*@x zv$;v*(oRlD^O}m8qcl~?xaqj)+Z=?(QkKG9x3aL=Qi_$gDdQ?6pOR}fPf)s}IWVjd zEt+vR**blCmQ#)`^f4YHy$rI99mUe3ysPqz3Xkdk090>LI(H2-qkVL%XHVGFi;*Se zmB^4oyO83@&IxS#z3Y5xwL6Z4>Gjz$Te)a^45Y$oOvetvZ1!6ul9chl$tU+T`F0&L zwkO72j^En4G}ALs8UQ|q)3vm#9zs*V_^fX0*8OJ8E1mY)q%CjSY*y=K!f|qYjlAiU z(iB^1Aq0AN`Bnxh>7n(V{`+;*8gEqDA=|FDFQjo|6tg9jwIK>yeyjo(HsFsQeAKwn zK00~R!>Got{^r_6;5e6ru+9&0BMES)cG9o_8;H*Xnt7@8zMIxi6KmBrSl1}6x*u&W z6(vnL1_IEukff`hDInH;tGb%KDXk>h;=s6EroU`}-M$c(8;Q2-gq>{3u z$F(`>hNspy-A}D;`oa)|yIhD-*oM@vs$s3sx2bJ8wIxYW^<<7KJ?F7)v}kP;r_HQc zG|X6vvl$A6P+TRoK9C+#iBT(3z!_5VPCV32yQCd7w_W1jVri!nF5f83hntMGw;9r+ zR9bCL7TW}=SqVrSo-4ghzFllRH`I5F9M7b_)8wRr2K6bvK=83!o1=HqdRtFu%VD!=n6JiwsV+!NS0pXe zGNr3=OMA)KfTB*($D9hHbpHUNT5C#2fj0Eii;dPPl(5?F54{bQNK%5<%L+RXRE1+Z zea<}7tEXD6_RH+_J*007)0V5kEOYPZQ(cJC)U=~%WUIJRl{kc{VK~XE=CA9G&OBG8 z>HQ;i`fGNmi)37aBf4%14=paX!V0$naGWUP?cmc{`WBmiM6?`spJCyBlFHz}ZH(N@ zv#&L8jQ0*AIu*lN9B$;}jN+v4y*$(RShqG)zZ@dN4r_BO1(K~xm#sLWlps6Vwb{Jt;f((QlO^ulgEmm*IM??qM$^$ z&$nD=s^K}Cd}!AA-RGTodF`YlBgs#aN9$8}*sQOknq|uz`zrMX`D>YPg>6Kq9ca4B zB0b(?ZV|MQt)q}Z3FkDX`blT}RWE;gwF{PI+y&kHDxPIAADERTMbc7$;00;kTS|gA ze=nNg>n4*BnR!-CNUO8+owkb;R>dylA88%Mq_mT?B`7)ERfD)=oL8jvmqjra&n>80 zg5dT40P0f~9lp%-^1`DiCGnI>hCk+cD?Zc6`f#Tgn;V zCDl5lSQk ze`vO^=&}d&wbBFElwFFRdetnlz=~JfJA-*rPTZ`I$Y9^Wi-RWKu-;Yx1HOR*h&UeazFQmk+-aN$C2Xl*O*x41arAOq?fJe&-1jGBRC zt$jIXO@DZuzf4p%CnDTgHrXapB&j7xY{v-h0-y?#N_oc>alCK1!GvK4KjHvz1!W4^ zjxv*tzrHb7d3#A2j;iUCdV>2p^KI6bOB*+K*>3E_NYT~x1*GlV+wLT-g()Bcq#qf^ z4>ZpE(m3}^ytf(G7nnAg*C@Al?MaTpyON{q!7nWx!jcf2r#^6V$;;c9S9)t>y-KiL zZ?lmm6te;6Q)rUoDVC9xupCM@sl)uJPD+jky*OV~dU+Pl4)B|u$?wD-eU@$P+GROC zPBH!}RTMY9J2woHk&WZu6)nrsrS)x<{ZniD2pWdrWRi!{^KxP#4h59t?Qx~$4y1#E z6g`DhEd3E@P9ckilh?N^J^d?^hZKADXt@ zx~0?0E%aFBU8gB+xXV%{Mz=_I9Cf>Z(jAbLmfI>TMlyNLTd$I>I)2$M^>&$qae9raBNVXgd8<;R$!_467FM#Ro^5TRStJ73PS9{MfrM%v zx@kLBo?X`267e!yQzFG(zD=f7c_VO_GEl&csg034B5+x_m%r!@S%Pj~u+ zTcWTeKA^(X;t|IxMmG!->I85zPFb-$qUY%gG|d!rBOg-Dv*?p=K}v$1N)iAZt2tH^ z&+Acl&YoDWslK7-?gR1bOBR_Sw-N#xWT>R4DL5pk=k?;GH4jttKAD#`4A9OQP;CM6~`JaGfqZ zt8=W#ZE;qFEh^oOiwiq;5K4)_q}uwcr0xo3sTOTVYLvN=VYM3PYgBg#leo0tDmzLK zZCS#%4DttxOP8i{P_$P?Crz7wxNF8PXkzbghi_#L-<39E3l5hO?|CUmKm?-+1Hy87 zCa*TGjp;aRan-K-bCn|F9_J!V%ZlD{`3$6`vZJ^1fPX0CiY4QzcIekwOz9;d#G3bfv!w8(N2r$#quA%P);kd-MQD5*Fq z9+jmhpA~J(+X$OaL^Kwdx?1m{%lf3*+;MisWZqtVxQTEOv^Lp0Kp{kO3H#KJw9;C4 zTnJ|S7F>62#lsFn8IHt#gs%Z5SghEWy8uv}4W0O3#}2=Y<^Al82O z!=^qLh#fuAHfeTQ)|*_Ld)5Y>W+7%{sqP`uxxnZu!=*|)iB?W|^HP#6Hdz;6$7ID) z=KULxH}_NrVPq8}0N`YS&!4?fVfB{Q?p=|julC4tAW6DfT5)qDEyT8t*lkL}%GQyz;QE24vsIz~ zne^^VCvETPz_y)-8W18&!Dwnal%{s8e&neoY9T;{bICQ^cTe;!nGu<{*a8ek-IAA= zDdoJkU2nFvsl_a*WS{|+6ZYnzVRbprtBYyW8ZP-`oi1}QkcmOHG^D!P)Q1xC6i}h) z!AKy3$9_%j%?|9VY`b}u%3U#Kx3ShU{EG4pKg8+Ee9XYf~nRB&hyJHe3p~OC*(OOiOKRQAbN>Y`3gn$lts#IRF#=OO|&a~;pNry7g zBJVZlCpMJDWrtMTxHuug3V0*PBBTdW^&OW>N!8chnaPK2TsEh|d5P`33vMm6ggg>I zguSZ^!T2JVoboMp{+{&jPuk|&Z2C6a5-q?bGSG(9d)rRrg(#A64TAA}Y693*rI@d&(4m(@$XNp(*xOWHXVu3v zmavJV+Oxo0uCmOa}4Gq(6Ev9c%wHdbCrQT&+ z<=h*%{W4PfX?qlFp^iU*Q$`crqND|XMh=hXK*yN`qie=*0XHk|u$#SJ|^(GJ^HW_L_Nb{mk}fa6XD6sd$e+-u3h&8SUt487g_ClBQG=uINI%?Z=wXzrM4qT|2aE zEkkE{PCAG`UWT1PQwV)YLY?^93ev23{*^VHElH!M+5xK~^wWA)D7QH%Pf{{M%zyw6 z73X%~07yH|0LO|8-6-k1up-*iqwVdn3CCZKmP?InTcj5c1Sq9s0-#lokZQlEdgo)a zPLXY9(quT@)@+Rk5EQG!6g&x2COtd0IDAq;4{gZ4;wXx4}BqC;R6$OtW|44+W|xSijv zICTxg^gfvM-rn5iV(BP-sqx&3>qM<+3@qhMpeT@lNJ;dB_@Fn^Zkso4ooPBwDx=*y z22S@JQ;J(B_%3f!ink!+2Ox@wcdZekYk0asR*`kJO}MVv6MfP$WXW|QMI^@E+-;>P zI14x5OH2^{SJD4N{EsTsAd z>CH1>(pKf$bk(@TW!G0BYEsnV-EiP;TGUFEZ~)0Z)YNG$FCO-*@+_$O_1s0(PnQWM zKx65`$j&%#jCl9+Na^0S9YD26xuVRtD2(zM3ldqB%fU$s3PY?Yr0vcK_9GQtS6D5n z)zGxf$4XscHFCKdTzQfmU@6CjKv&b}yW3F*3L_r=DULbvO~lyHT0BaLIjc(AdKJP| z%?eBFPWR-Tz88fZ$X|k!#wmrrq&f}(bxg#ZT3jdX>@elQ=NpF|;f1AyDD7(?3gK+f`ib{$(jQ{e89kLdJF~mG;5+uVgzd)V<2fHSKWOSbhU+QF3%A|j zNoLgT;r3<3*yAlU>1jw;%7W5BBZKCj`busKsk(2Z^(#eMeRyoBl0>6mw>ANqB!LytWv)&c`*%9Wji2?IH-{{ZN#2B_(^i&k7D zUM5^_QD-|EBxWSUa3OIQ9rZlZ&E#WnQn?4n7_RBv0_L4^=Q)jUevxs!++$ChE=zIB zoJ&aquo9HvEvYz3$EXbAp6Oj{W!5R2-Lvc1lWtN3xRYWz74~c20m zI%dkL5ij>9QzP+7@FBHshbiSanCbywr)ecg1ZN(fif=z+)vPTsb#9osX{oZEj>XNM z!rf>BvH+;CVy+nxV?eNlyY15B9P3MiI%4yA7unWC!)W)U_fqLdkfm-y6yg$8Ht~!DT)Ont zb2Reo_WfG?8GqhEsTrH}A>PxW#V@zCtYl>4K21noI+N4uCC$4v&s0N1wT6|oAxleX zcLlXANd+hh1Q1k5nw56@VT#1L4_;z6)G3I!$XO(WNM1I#pOd*i*0sv}X5%f|9?8(Yd#0=WM)q$@z1(D?7iAI&i}cO1+k1~}As~4tIivMb9-z4+OE;#LmS;xP(Itrv zM=vtSNO10PAdI8cw49GVX~SJh(tloyO``K}pE0S-+vK(NCBD+swItw_;HVsWbDEK| z>un#Yu2QYKdsJJlb0UJ{tVNI(pn$9u06eEY<071>ti|but%-7puHfq%OPa|OB}kUJ z7WY$bd6(L4r7)J#vf_4z&_kQEkgV{kn$le~nPI=_`~2-i7IV-I<@<`8j;6!XXSmAA zX(XMkq&18apSLvcTk5!48%SMseCTqeF>7fqy3Blc77K|+6P`1b4k&Rtg=3KJm-+`6 zA)Q#vsZivhNe!h9HkGMP1MYVKalqPXZP2K*(rs~Wwc72h+_d}u0EV-BfR{tBwp7IA zsHNO?&+!tqay$`9Peyf;A&4-g*!M@b>E~j&rwLH^OU6fGUf5c%f zrw2F~3rIZqtW2t9;Sm!+Yb%B9^#@n}3j#xz>vhUhNRk%wY{Z8h_S5`DBo(-&JPtO1 zG3Kn6TfOsCKyLM^A*S9`^T=)+dx$KDRvKE$uzg5MRk!Xa`i}OC%9yZP9c|d8HuTvo zEGa7($VgB)#aABc7M+K7a>Z{dxxCG|Pg9X!X-$;(!zBfKuoMZ;pB2{Ux!Ih1c{Vx@ z>X}J=O@I(J@Asj>m4EWMJ5h`e;s8L$1MgM)_ey$$CTe8aFBWHFKXkdvkp*`dQ38a8 zp-noc89-9X5`_ZMARXVB;QH249IOuKEogVtSOgR~YgV+lpzz%gJ;l zW6DWMI6rE9iK@xv;x#<2(l9X9eu!50?Kd_5(0C{t(Il4@!NchWzsS`Q=_Uproy+Q4g!^@JZ>JM zGDnObY81=Oiq^|A?w6Pln3aypvLvCTIgkk2R6tjsYJd3kjx?riuHGObT!imog~>p1 z)Zm@SNjXr!Cm?tgGS26AtYshB*6ytcZC9N`0_T5C;yus5AugsghGVi=VmitQaUe8& zgTlES6IMM7(V4n!+fBk#mPTYpyS;Rj&Aq2WHWmvlwuc>2TZ#h&t$6c+z!jidFSa|| zjw;W2hj1(`w(4TYL%SFLRc$8+iUreC*7)E3+%L_ww#wO5*l99fI>@PC};Gk3$BdneyD<%@4Dj5tBeWI zXIrDkw>lt&M=B(^6rjD%Zs!WZam8ER)LMC)nX<^f+Z(tjqzH?a*nE`_NZ3y7pJ9yh zD3Nt0oso2U#~S|tZGPhz67)u;Hn*Dt87e?Kh6x@=85Ma`aYwiGV^p~f$8MU^B5rao zcMHq1;lx{ErAdfc0ko-k1q#A}C!AC!km)VMLF)LrmTmV>y7YK1!IIUw1Ff!3^(9@` zU3Jx|YCCdA0A%8>I-jiC7R_M0UE0)^`E6Pgwo+lsZN;HSfS)+eH2~(i(aD_&nR>p= z)7M7O6J0B7@H-`n>v?JRtyejdohe{~@+2kEwHZE=1E(aPVNphgX`iqBpl7bV2gpW-*xb&U{(%#G&x{1^VwBt4;y3}FZLybJ!sgN?P9$Eu#ed_M9 zkwIBIaaWyHGH*}yRn??Ryme9eS9sIoPJr?)h)hW3l&v`Wa=a3-vQ(|v;9yjAj*>|_ zeakwv+MjXzq`Rb*OtZ(69!lTASX6Z#soF*oLcS{Wa-S+RH4~l+ZXDB{U2U9czLROaHY3JG?rq9D7P&TswIQ@1 zxXaHi)hLvIHddf80P#j+qOc|D**bFluJsMZ1D5Z@VYIcj-_f=dl_5iFaN?7-04aav zt6CfX0Ej$zH7b&j-ZSk^btKZErnE|Qwa)8&m#Qvz%Z=d-CQOOQX+D-xQheN;f$TdCBTz`kQIV`sFC`8V~Z-$EvYk!v)*N1nF=W- zZph!gD*phKcMd)3&Vp6IuBklMdEa6x!C;A|Z6?)jko%1p4@k?n-MPmK$m828IH!vW z+)mW_@@dA?LUAUZLJl_Kl#h|X_@o{@($IMET31!#khNe@72t{shk&1q)U}|&%88|@ zj1FlD1S*OU2+d?Bl-SP|@3svUqyTe3q&6{%%>MwjBMM(cF9di?k;(gi5LTqxH)N)> zpY1T&JrC3+S;7MfIQu%9-%tLdH{0grxIy(K3JZ>c3C#)D6jOq{et7sa&2n&}J}Ik`Hy#ajm`4oq{75+`ImRiIlGdD%s%&2%oSJOwyT6*X zFx!>tXzj^MQhzlxc1xJX?-T_(d}f5Dl52CO#p-(zZl5`zcZ!#s4lBni90N&iEQKp6 z92)dY9(&e<1rzT}9zX{smdpo<1zsupQ4n$I!5(W|V~$;UuEq;yV~8n?q#@5@ut*<# zQYP3W&$p@yrsc(fxy7f0&Tv4-2jZvE4+$#4$fr!j7zZOFtekv2x#yNjoDBvexa)>g zRzs>`eYnxPX-REF@H6k9dXySf->zN7nQiwKJrgkFJCo@~+!0nL*-<#fJz_T?Z8fe{ z%3&4FKca<|=3b8U1vd>V5yEZlrR9wE&J+kv2=Hr`Xv6?;YV~GdWhb8% zi=L|RhB`;2@$JuVcCk4YbN)T3ot0ZJ!|HWCN9%_e*D&Xk6FLjvDn(^l&arIQZjrqL-0xV;UTYL;Z3 z&#C6!NlKKZ0HAmv{-&m_{XB;WEx7KbxXqHA9J?~4%1Tt?jD?l0?f?UmfPglD03IsB z(}O#G{`7F?I6v=KonA4XtE22fLlLz0w3%yRcIbBL;V>h(x5Q)y((7tkPi4Y^w2%%# zsrPzsXq5(hC0$<$ov0(HG8> zvl^w(r?*~LdP7ayW482{l(nl8WF&VU#_|SFfGE~3j++g+s4(@^_E!$oCev<{8Y&Rv zcHNSP_bViYkWx}X9;B&2`K=RR_Y{IgGvc>;xg27#)6Sp9&@!)=S0=`jJ5W5!(u_-c zP?$k!B`GLr839LeDp!&~_^O4kpwM7y7#FX{;1h4Ws_vNr#?RNuQE^My^s-Be191Zw z7z2vb7O|Y?G&dBSXN=UHO?P7BHltg5Su0Igw4_ZpsnE^WNupycN|h73#D-+3mA146 z0tYF<2aTedTzY4$-!rk&P?9!m+@z!&j8*(PwD1&b zg~C&`sN$a`PBC4&=$B@6t-hT`y0zSD40xYZrpQXWTQh`bjD&aqgLr&cB>il&2yHD#jiwph5ktBS%{12MPClfPZ~+`Q<30h$BCfvsvy=Lq z;*OMsdawyUJl3XGC5%5)^sB2^n+&Zr9%5aD{jT2+>q-V})t9yKT8@7#Gj4{73?ZnJo8P?GgFGY!H3MYgAZKJm&;pjGq*h z614)XdFLXv@>%ILqd?Fak*zld*z{Pdd7WbA>GX*S2r-o*#}cAIC>ahlw9CNOn7f|DVq6rI`I!ccwr#Zl*U<5fZGJW;2i zwEmHDHQH=*ya8{WE;vJs;Ggi;;7Y&)0IgN4n9Dd%J_z7qlC~cU0SDhF{{YP}&t6f0 z-fUX-`J|&-M^A4sT(sy(wl%H(+C$R{8&1~nqm-ST9y6MEbJ1GX;c#8TUryh<+P@q` z*Hr8T%?SvC(gK8KEhummp<^l}Cl$4uB#9R@-e03=U&dnk7W zjQ;>y={l3}WPLi(I<3x&UaW4~+_T-TBIF`OQc}-rdX$#J0tpF8PaGTys@(c}aJU6Rv0K^26uv`g0m1sE*9uD7{`e99{0Xvn1j1GK$ zpC7Gwk&*oe+y4MDPm_LP<23oM^U@2I-qWfkUbF*~ZVA!)el59g#tT?|uzT&auOVr| zLWsfp*0Z5BWNj7HOZ`!LSv(!S*AA zUJWFSD3UXrRJs2E74y736L)UuWwXZVwaPxIfvF_iZaS30Z7e?xW#YU@&RyPxHl2ro zikQ=VCbXDcEQNIG>>ku5On&s!mgZEHyr|$MZvvbsm1GUst-VQ33NgX+&zb^;RkEN$4_iFpy34JL&gBBCX?xo zr+-S_Q!h@t4^SNsZ?(XeDWrE=l$M=Kt)au6iaaNS{KMGR@s%M3YE}{f+s}dQKI8SM zsh0qeg0D&T&S`p|#J(8!M0BO<$*iB$5^Oi?OA+kC-yu`2kgcq^_i+RuHymzwqY5F# zf0+E5u4|s1>zl5;)Xpl=f1aD&+APat*f1eFgfx_+0LpZCBNob4!gxM>lUr2D&bly_ zk~84^Q`jjhU@2oHdHeW0{`DtP`;2j~pLHxo;c9zC3A!nX^IYnBCnrxpN~TRO@rl zUvnjFI^q_gfE`2_L>F9@^uA=vtGSvbK@54`3=j3}A$hf7+yyl%5G9f*ID7 zm(_vf(T3oU)9*!`gzw5nCV_wk(kL6gtYG8KHP5K=PF*7zKGfWtoPotk2!xPxno<38 zTmvJ{E4atLYG`nr4AK@dGxJ_rz{oYt*#nAb2}xE##SuHP$)qfwIijFsexkJ510)bn zG@ZF8G`tW_M>W)sI2o+y2qOnLrG%61iXcfp%S20ifF39Wl&H~=-7U7c0MmfdM}tre zv=pTM>puR`alWUb8legY0y}E{jwZBo=}(HFb@Y|=TUFq4Ap`#a@us(jn9fg-)U+>@ z{{X!O$HGR^k^0nk)xM4iPxPTKVzd0beXHYX`=pP32R?(Jkxb;gk`6&1tu}t(tOSlR z@lBkPl_c&_{1*xTa6KpPp;Z$x22CH6J2aPD$rA(qiG3a930Uv%Y}i z!yHp*Bq@CD#UKZrAR#1!@m=N@PbPg$3gd%mK54p~Bw--r{8N(^M*(U-pz}^6MM5*_ z&)nB+FxPtW<<|6%YBYzr+ky9@rW1n!N(atH4NG=&%~f?!yET8ci%ZULVV9*Tl#&wi zQ;$I&`SoM;uG}NfmsZ}%#$n_6b5A42$=Xm)-m5Y7G5Xtu+TK+rGSdaN7*fvE7Y-DE zT%Yu*ZB2WU+f(2{L$Q?_R3^jdS;~XX41tffYU#)2iPqwzdl60>h>YY6)p8!Bn{T$Q z>0zfkvt*<{E^BNw+7i8~PUU;?z{N>M)(M>!+U2^)?6+<#I`B$lASJXkKvCb22>a8G zPm*5=q{SzIIHyg;!+FO!sCyo-k9T?sm1ma~i<54-73Ve(;cxQ|splVm6*Vs78reD( zzEWKO0FRUO%{rVE2Lee6Kd?0MX&pva2Me@s4BKC_QHalZB916=Hi`-N)^cQf-2vqdW-dXhAoapk+`uAUE%u! za>MPq6)~hKMF~m{@|+<!Ft zUK&W;0y*+4KORZ)V|z8EuLC6eQoG72+>^lbQI>1vs{a6EhpH{JQ01tj zyeNU5Qj^FB1g5hjb$aG?MVj+)vCp$OWu^5boil9Hu_(L?8cc^6p(PC zzY0m@ZWuK^Y3j3gJFG`Wm7LC*y4|E%t+&S?Xr=j0DZ~O<8B$tXjV&QZJ_iD|aIrSf z8(O^Poi?>?$u&*s&ajiObgXSw=A3%Z7J37)lI)baw^}|4+rmzLyqXTRykBK%Ei<4r z-SNva*Z%;kl`4BIp~snt83^8nx1@lzDb$VFIIK#CBR9|K4xDjoPUM=z@w$pQ4O63Uaj_GYFO2APHN{T|TNI9q7M(Qj}4aMy|z`4Yc z2JvEwDmZZ264)H6~B((338Ll;J197jQmg)CzHq@YR+w4ZL?n_ zT%@+wv*hBrH}%9fM+x}y2%>cxy|Z56?nA02Fk1ZX?aYm zzZ5JaZP>Hw$>k(*Q-)uO%WWY~C(dh~-?*x7rRr9j(#yCtb!uk#P@+sqTL95OF271i zc*%RT(wSlW-PqvG6n{~?AmX|6dmzr@%ZQSoL()MeN$(BkolH@3lx}+&BxKyE)1TT^S z19Ep9ikQ3gI?rmlt{lBTs1t2w;N7v?(TB1SlIaNvN|d0bq$xmdNKnZ0R&?_1Qq{Rn zEnYaFIP!rh!8KH8s=8@fg?1OM*T!0E?5h&4uRz-gGl3`wE@#O+CnIi1&oxy&W|I#8 z0BnUO-7fhCb(&n|8)czk{^K(g($rJCDMA}gN#{5wwZ|{SYA0&BB-fir3dglUFQ~dK zLAYHRnCys_%NrVr_ZekaR5y321sw9Ns8^@R#Q}X!(hS{GYY}fwAr8ch{O0YhE-Yu{ zB`RsBTpyK0DIP{S@+rqJ!D1 z?o%(U$%Ndfv0)|*SDle5Z!jJRN&-l6MF%6cI38)oFTrwP?p{0$=ACdk$Bt^1({7^K zwZv9rEniOU#_e*q+S=_nlOd>uDl1S@a)oVkocwW4ruA#4&@IreGBpazS0>~xAZ{Fo z9CZx1TXkDff^d?ON{Ae1kxn^&Cf3lRuTV`8AP`o*c*RvLy-(6t{cMdBXOOv$KWA?7 z8cRrDWz?+j60M+cl>^Tlf#($e08@1bLTGtWV(T4M0@nQG?vBgLC1n7Fm8c{gsmTK; z1D`dnDW!?Dpu7h;DGB|BSz^RuJZB^+d(@ z8(~;<`)t|?&$tw5JxkJhnAy>!bq$j5674DIUFI%Lph@546 zQW6!wrv>A)%`#e>MqE>=Z3zlml&%sIJd%81RCSwJ=?zBom>PFi*)DIwPj*Xi=d|*e zNBNWiBoEZ!QcINF67IW&3?DSKtYlOrt5j)CLke8`9;>umqgz&_OOY09PBj@x{K3V7 zLUHetPOO(}MxlT%x_a*h>kO-EWI>XL+9%*C3RnAzYR@8BDjsu6?hIfI8jo)6XL9Ux z`**8(yCprt1v1+*Hv690C0PBdj9%Ip@VjvwgEpVoa-j{@WplLo%Fdb4o)4<;4YIKfWq1bEC*3O~B>uTH&JMHE({&uZEgtI`R|pVVxIBKLuGndL^#i+{4W#=G$@!-m zB}-)aIH{P3X&dF50g5 z7S|bW2HSDve~7#vN=Ne_umt$1Y5iB}jk*oG=Wy3nmZ9C7Q?TC;l_kU^;Y!MLgoSWQ zwtzty;L=Uai$l(FOrCg;2B7s1Q+jQtt_ZZ>b*;7}w-D2z3tEbHI5OLXVI?67_E8`a zk9v$>Ryu0+u1)QoTNTK0Wj6`crKd>_IsO_#LUMO|5DrJZIOX^)%1YHX=5C1tdgs~b2;@HP|w0J?+{6eT2uW~s9J*VB|- zG~_#V?TdqYjpx`zhD!FwQ$vv8+mxOAP(c8UoQf;mTj}+-+ij7lwT+(NCgBw`0$N*+ zwh&IxvaP%%l$>tc$>TKRMYnc5*L#3_)I{xDrJy3?CQb4?ZQ6SVVA`YDFQj&J!6$G~ zAY?l9yaU#(5Q$(By8Tj3p!Hg35x%b{a4njT(6Rj#W!bW7tp2NMA@_iKC0`d9;R`} zT^aR`X`<2f3&H^(dRZm&wJE2JM%V`&``3Ih{d~^1TUW8WHq-;_QkD9Oc8JJF2ozK$ z8Nf-%qa_1wPnz^e9z3$N-7OzD;)sUMX~<*{FgT@#(g?+AiP$tZ>ZF@gXRfT=m%P6n zm9ma-kd+*qkAD>HEsi{LY9?gOLn~CBKW3cTZ*yE<~0jy6es*Yg(Bgqyh#p$BHGB zQ7F3ouTb_`pB`c${{R6hD14}82M5QG6(utL1&2`@6~Zc3E(n76)Hbu~BRfC?1CM%^ z*ypTKfBJC+Qd^Z4=KBw_9RXdIojY7sdJ=BZA>2(+!CcQQSgu zL#o_VNaKQd{pszeQt9i=-=eq9Qr;aGTS9>Lal*qhX5gjWe zARLt_k2nL9ijyqT%x8o>qeU@nMUAw~TY}EZtfUkSx!eSEPc=TB8j{%LAF5PGceeWv zgo04wRgg#ZG~pVW-}t4v6g9H^Ta0-UzOXrjHW>ps{mu`?JB_F`w6@=o4*3bzqH^+s zqYZ)XbM5!3_m^oke4wQC@-)cJM2~P=EwgG}t*{#BDp*-`pOQz4?Cy{`eU&am>+1`4 zTG=JlTac$4C=8?Ye(yNP&MD6&hhR{@|o^3@)R?;~cI3tfHnA-JbijyhGtm-%py%nckakkzC zKsJ(B`-~j?RPKt^+E-NCS-V1-(?Q6qnps-GTWldkDp|*{H7@UxNdd5Q*-c+#>Wj{x zk#M^v;EA#wOmsAd5{4AZY^5Pyl%y#0l6gGUrrp!1DO4`))?fS{qMN8UA+!RgA4`Cs zVE+IwaFBk~mo=V;wZ9rY!&O_NJ1M55G?!ip+|!?te`KGN#aT4X`opN1dR2n&7U0}R z6w}3p?(L|1ANqXOGUXRosWxxy_iTgo=w7G(99w+*YbcLvVTCOcng~;`Eh8?u$L3M1 zE~V*2d)2}n*3*CdHe`EJERVkBwTXS^8&Oggkm&v!i7GfL;-&_&(#>CnmUmG?McAk# z>6G9HaTy8Ejo9ZI&350^9SL)GbZdUBx4iASmn2F7-WzQLD_(pMk>rfxrt?lX&g&dI zba-}{_BA-d7gAZDeQ>jz742lw*SK_NNrA90YcAD8}bA9|I!^$(|3JEN9cwzRg! zn868k4mfavQWTI>1_2<94D;<)T(R)YvY^}P3a+bmR;t#Q3&hbHBq)!$6{gc3GZIkw zNJ?>)El34Q&VD>ot4~QH*{+uE)~BBRhSPU?^>4GOrnWOFYFhnH@TH+Db;Sgc6mw?#wqfjdY@ zPzfA!K-F4IYA?fPM7ztg-R#mAD&KI7l&wuENZ8^Om2kG!oCPHOQf-}C(JQm*>6(h| z3ej-B+v3g<9a@iTyfTopj39Xcs~N>xFB7d=e%m7Rew@T8F%lO1hfWZLlZ=yt#dDmo z%VzcAkz4vNFvrx5U%G{Ly}5jbh{=^IIz#ZgZ+FreAw+EM6Tulc^Tj#5bj8_sDVGgF zt>s*96K+LrSX@_2 zh*@Z?rC_M!f<|h?)9nIuQtp!6RhzwXEdbS~&egq^lHNu@PbyN1vUe*V6*qO(nkvn7 zYQcHcR@iqJiV~R4$O%|0#>|i9&PFrmB9W%G#+=nxi}i}nEG}M~mY8zJ;H;>pB}vDG z=P3O__@?r+N~h}1mtSuG0NzMe4PeE#(W@n~I^z}SCDoo7WMU;vl8Y(aoLQa520c*7F^hdz(xktm z&R`}Iq@X-W83S%}k~ss(uExLVxmShQA!-|I*H*b)Cgq^KpOR1xc=!0LGRj2LF|+7> zS*c}SVBGGp;AyY#qxZDNFx*VHJ5oc9gsh#Rvapo`22KdB!s#x#)AuM>O*5;kjmnQ_ znPz!2p}MpvKQVGUso1RLJJLDfSo>Az^#e_vVQJA;>G7w`xhh&*R9Q$^im2`P2wFkN zC!gs{pRRPAOD*R60`UUsEOA_wDm)oYxZp}WgM-I8=C8?`c4v1UhiZ6sIht=sYU@*R zuDV&BIW^mqM-=J{UC-jS5tN<5!@|5&rQ@R7j^(Oi-mQ0QExE=%hZlILlN#XLY$X9q zkl78sl>{jvPI3~g8qyfOSe%s(6PH+QPMpdgW*d@FA5vDG$-*;}$J?5bi*mF(a(2qi z<`V8Kq^Zb>kb?36897FBJ-xl_H$26AsM==bsw_x_Vty+#V%;HJn)<@Dwy?vy$_kJU zGC0q%s2vy6OTCLz+pp8Ew$}tpo#t!JGTWXfDYYRWsW|lQP$$R5Xwzj|ZLz+p?Q@9% zr4p36CFC{<11AMUXB4(>7S^UkLqWG9ONR8pJu+G>A+!)V$=s~x^9~2iTyx3{w@Gxf zsJ%UhXnRV}({gSxtnS*T3H|gmg?&q|w(DgmC0j$-QV1Ko15I7&mbQhe7}e1)mPwbp zb=4OJn~>YA$B>ml5uQodliF5NRFVN00AyCBb=DT;!G`UjNlAJ}}oX*6loUFF*zRkF!-gDq^lcB({~Mda-TJGSG3 zd~;XyON!HJdD)R$LYLb~Q>g(<&I&=#DhJqeL2mg5Mxd3ZM|m@%MPggQNC`)6;zAM? zoRjH1Q{>4sqjcXwYOM`-v8HrbPeN}>F=m?U6G80BVbv@Ej1J;d7meQEwHs1t-ENI* zf7BXM!)?CB)cSrsm1vhWF_i&rmvXOIJKI-tDoT0EQ&$VU>e*v3lXJK?9NcCm1XL*G zxcZW%1bw(kJk;%}l@$O}>OS7$v&#MzoBsgl)}&6K)K)|$6t%l!)6gNQ=hNDpxClvg zrRUU!+)_63G3w8Xk$TUquX^uJYpaJ%;OY4Gi=2n#r4v|kQri46_JfY8vQlv3(v*ag zfyv`FrOBBZ(*{M-Ko_ZpQExzN|#Y375CE0MV>0|b7c z;;qWw+GPcAx;d$Ia&D~KpN##=3yMTnihGGsK>;L>Pv*ytD;>OadsI%*x_ZrEv9WHr zwWF>U`D;gMzxbB}BsA*5ep6e2P0-MC{{VK4(?g=;+-0=3nRzX={Gx{TmmF!O6gPrM9QuII#aNqAN(U#8 z2jo*Ljrt9)9E**{LKu$~wL0_4K9Gy3et8SX;?aNKiwCJmarslUHHrTjIQwc+D zHl!2vIdvsr%n`^w^{?8xtD$uZ>x*dBmiaCvmB>;OvXvInGNk~ZG5`m~Nt@g`_V~98 zY@|OLTPb;mP_IjfP|8R@1YrL4zmr|G&Bu3aZ&LLAh!8amw$GsCw*q#Kw8vaqVj5v` zB{Lu?cnTXFbt&YfUU?bjsKY|*skT<6Cr8{9Xo0AeHBs2I!;f&7g~dt?g9%Dg1fgSZ z@|6ReWM;mGTaP^8-Oe(6`+U=;V!93r6c^98jDO~7^8WxDotSo)(6?!zw>ZUZcRfpF)2A1kn^4vC@5;lQvRY*UZYzL%B!g2h(wXcv zGC2#6C8WO7i8%{Gk`xp;9>f~IFYtW(3#R&s=o*Il&V#=l^6d+14au8(FHA9?-s;f9 z7(gKepe;(u(lC4qvc0D@(7n52Yd~CniS2tIQ#Wx-vC_gJlG>CCdz*s6Ny>0Q;Bh2TaBHlGakC!WGw7QacwS3 zifodQe4wVY3#UyrgW9_30n07gbQ`7lo2yeQ*KyfPGwJ8QdTtG&Xl;rkNOh46bznmoKsCXp}LV|xx>^mtZJO=dY#*&(cQbS?1LHTfuN;0 z0#K!-M1wfHLJAD7}qIUec4;> zvZSUzdAHgKD?@}7C21hwD}o8CylpAe%RSa^ri-R@q^Vkh%x#k(Gbl!8-mdejO2ODe zfQP+%MoN-#TB_P9C<;(XIUb{o3L&HL*L?R(-e`tIr`< zlhbSDs1t4f08ji=l5jAsh!LQXJ(&@_(E3`_k?=`yHLAOPg_Nw(e4q4l2U8 zCC8LVN^&^o2b$L__%b`cOFEsbm{bi(A5L167fOpHSup0U(Da7hWyCE=?Sk8C?G6S? zcN({8TOPHYt|V*CXKJ@u){8rKW?{pd^*!u8+*7JpNB{x=N>4aZtI>5OMYOmIz{-*Q z$r$$@MKzalk8Ot{e6^Ib8Kt`6NZfX$608q=0a9gep_+9sKYR75n=90b2ff=@M5QWu2FrJ-ld4^;tr*cx2sUbNdz|S>sEv-o#P)~ut&zfBB zK87b~(4AO`{n@!*BC|Q$P2zjb$8zS%r6MGV!LVF;C_)}uSIUUw`);be<3V*7Kxj=& z8q?OBt2fO#9xT$UibCzqFdYgY6rSo-6on0^JBKy&d#pSL;t1pe`jAii15BN0twpC1 zyLYEzhI5~>^I7?SgB8_U52)9sZ;fe-MXp`HRl~DBCP=z=U5;b6&{_ftN{KsoIRleJ zm(lH9HDsm?Q6kSLP<}RNJE@;UbR)anDKJs_ol3Y0&JUW~wiF})3OzXq@qy#V?d?Hz zr&qvP9C+tH)B67aLsoS%^dh4>aCwz3;R(3ThZd0AQah>G6hcny4oJcKW}PyD@5k>z zwabTiw>5RO%uI-`sX-1T91@ifeEq?x7MTk0LHmm4)Nz(FlHv35MQM_ygr~`;EV6N& zW}Ps}1S@C+Q8p47QbrFn;SG#r`4qE~uQ|ng!RCao4;ACbn(*Y;SK_5;gTh8=OCvsM zYgwSEk2R2!=Ab%-7){{ZotpDF}YW~B&wOJ5m3&ux;Q>e7WJ)rn@~ z^HAX({zrgN%N^ETr&4lAq-R^rRGE=R6;3_j4S3R|}aw zE4ND>-tV9Oj;-`?&JO?p1wCas0|O?QHgSx6)A;G$umI%Osz-v`DhFy22(;cX<0ia$T)72q;_QYPJHurP9erA0kwzq6@a)E1=M z91cWGZIYCT}`zxnoYvs)4SANK~hkZAPu1@Jd>PO zwqm|^?cAV!Khgw^DZl@8`xr6@E*RFrTUny%%fVT=#(n`)a;CS}?{MItg;=FXGX^jthiZpthwXo8y&t0X? zJCZ^a`)-D^Je}Le9EvTMM)eNYZfL~O>2^c9NzFE-u6t+Th z>KEO$_WrGKtWu>%j#dJIQ>`IMPo#s+Fa=AUrjYjiE3IM+zLSZi?JmW-UZh+Vewz9m z4YKGsQd|7N^a2u|JY?pgXY|`$>J1@p(@*JZeWdBFKRN?WiRg3dpL##jfPetlf{p?2U4p28^ITbjBsj^bDHPJ_z>lP9*fk=KMLaT!{%n zZnL&r)VCZ-%oyox6XTQU;Cb^}r)^u0p>eXv&Wr_ve*6-J;NVl$PSv{F;#Y;}5N(3ci zu%wWA!Kip$Dc8DA*(>ntHJ0}}{{UyXLz2^zLrq(rnKDFzlx|P0pdB3MjJd@AqQs;8?y3;n-eK@_}wMG8(9?SKyU1HGGLl)=sQrcS`;aLr*S}$@f=)cQFuH|eAe&EU^M-M)gvbWqyQioN9;c7_9&V1JDlsV-jWdq6% z-x&uP$KIJ-;{Zd6AfX^7Sm0oeFg*L`$2GiqmtEp%^Ucep8vYfQ!Ynpfk+0CK5v{79 zYr8YrTZvN1W^{Q7Q*N>fi3K35k~reF%|CaWaGP|r+^ylK>_#IBl-WIrYjQeVQkotD zK_p|_#W%d`Z6~JgGA*~ugR!NC#tM{$Z7K**1f-qVRxo_iEV*{DU_D*wzf^U7!&bw!+T|j4<=Um8J9kJ@T}XYGk^uoN zoMZ|Xp6TYSZa$aME@=U6n_<7mxJ%V(b)_Ow6sMFOY=swGQ=!BHgWv=4TU`6qvdp-N zy4*gHPMDZcxmn#IUzH#a1mK+UT(jOS+K$?rt*T1ii6kr`P9es3ZCOgVa3x$RC)@ow zt2(xNEZYIJ^!rvscSyr$q-l*SOKH2!wrt5xv}4@nIS{3^l_f#P5aPi(Q3uzGh>6n< zq)m2oxjK62hMdu}?CrGd2rwB$g_g<~X{hINk^oi|;*?0oHT5V%g(V>cAddr&I5^|Z zc=7k9cS-Rqmf1I3w6PK_R?CjKp@5N$tI`JIM;-z5ioZ4W7`VsIHx82Pwd#AsNo?Pp z{8sxGY*`SZTa_IV(b*|d<-Cw+ZxB!?nCK|jKE3fi<2<8UP)kD8w)%gkJ4RQ2AKI+t5$84_#_TR~U-o8g;Vu%q@hrR7yc8 z8J|Em38f;I7(K9B%Gx{?ie^A z?jA-kGm<<|nV$jq(rvNs3@%(Chh#7mLfQ)o2vOr4@&*krQp@0C<3k-X<&}Lv&~tTV zxy>-+VU{5YW70od5$>J$gTm27{yh+jseDZtuBLOY?palj`yplDe3*$zdyX)QgdSF2-c zE1Q=IasH$scHmzfpz4WeTG`aT;H-*8A!AqdVrSW)B0o=-o})6G3QoQpNFGNZ*5`4URUQ}kp)fn7VyAAT`Av{?@D{550P4# zn(HXufh8HK~-TA2KnhEVk)7 z(f*%nd*u5Cve~EPt#8~UykjiPSJbUL&gA+N>mCJJ8rSb?4RLs%r}b6FMVMr}J9^QGS&SU7Y^Y=wH+92x1M7it9x3s@&nJ(cq7o|#!I|MCHN{H$= z!B`mqC?O{}#cSO|afy96)KcR}ZPuT&%3E%veMg-lt@ZOPAf6AT`pP&Nm^$yto176-1IZj-bd6W(;e2kNpI

4jG`X)^B5;hXN>GRf| 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 literal 0 HcmV?d00001 diff --git a/test-scripts/test-images/finger_corner_mask_001.png b/test-scripts/test-images/finger_corner_mask_001.png new file mode 100644 index 0000000000000000000000000000000000000000..7e6acc2e952cf8ebca53dff25724e751b18f8cb4 GIT binary patch literal 26091 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 literal 0 HcmV?d00001 diff --git a/test-scripts/test-images/highlighted.png b/test-scripts/test-images/highlighted.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc24c86ec6071fb41dc4cdcbf39fc30b895d7bb GIT binary patch literal 530561 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

T-5J*;-cK5g*qMmBNp&i9V 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%0ALu~0DZQOpunR}fs6oN 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

FqvZJ19reovBR7O47t3u;%T@_vFPGNI+&`#S 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
0hV3ykSSG(pNl$I0ji65`8wa*UWhc=B~(g29lz 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
aU5sqE?&Gu`B`pMXt(GS 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 z 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 +fJXdEI_wf2CbX;we->$`jG<**PQ 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

qwJ|xJfLcXPGa}X>paq+XXg|ppIfrvPx+YS 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 Dq5anh literal 0 HcmV?d00001 diff --git a/test-scripts/windows/test-c.ps1 b/test-scripts/windows/test-c.ps1 index f8e0251..6b198b9 100755 --- a/test-scripts/windows/test-c.ps1 +++ b/test-scripts/windows/test-c.ps1 @@ -78,7 +78,7 @@ $commands = @( @{ Name = 'OCR scan'; Args = @('scan', 'ocr', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Text pattern scan'; Args = @('scan', 'text_pattern', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'VIN scan'; Args = @('scan', 'vin', '--file', '../../test-scripts/test-images/VIN.jpeg', '--license', $env:SCANBOT_LICENSE) }, - @{ Name = 'Document straighten'; Args = @('straighten', 'document', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Document straighten enhance'; Args = @('enhance', 'straighten_document', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Multi-page analyze'; Args = @('analyze', 'analyze_multi_page', '--file', '../../test-scripts/test-images/multi_page_document.pdf', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Crop analyze'; Args = @('analyze', 'crop_analyze', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'MRZ parse'; Args = @('parse', 'mrz', '--text', 'P Date: Wed, 16 Sep 2026 11:33:52 +0200 Subject: [PATCH 32/36] Enhance CI scripts and tests: add error handling for Python dependencies, update bash commands to use pipefail. Include new document cleanup test scenarios in PowerShell scripts. --- .github/workflows/run-tests-ci.yml | 10 +++++----- examples/python/snippets/live/camera.py | 3 ++- test-scripts/windows/Dockerfile | 9 +++++++-- test-scripts/windows/test-c.ps1 | 1 + test-scripts/windows/test-python.ps1 | 1 + 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/run-tests-ci.yml b/.github/workflows/run-tests-ci.yml index d49080a..fb23135 100644 --- a/.github/workflows/run-tests-ci.yml +++ b/.github/workflows/run-tests-ci.yml @@ -74,34 +74,34 @@ jobs: docker run --rm \ -e SCANBOT_LICENSE="${{ secrets.SCANBOT_LICENSE_KEY }}" \ scanbot-linux-x86_64:latest \ - bash -c '/tests/test-python.sh 2>&1 | tee /tmp/test.log' + bash -o pipefail -c '/tests/test-python.sh 2>&1 | tee /tmp/test.log' ;; "java") echo "Running Java tests..." docker run --rm \ -e SCANBOT_LICENSE="${{ secrets.SCANBOT_LICENSE_KEY }}" \ scanbot-linux-x86_64:latest \ - bash -c '/tests/test-java.sh 2>&1 | tee /tmp/test.log' + bash -o pipefail -c '/tests/test-java.sh 2>&1 | tee /tmp/test.log' ;; "nodejs") echo "Running Node.js tests..." docker run --rm \ -e SCANBOT_LICENSE="${{ secrets.SCANBOT_LICENSE_KEY }}" \ scanbot-linux-x86_64:latest \ - bash -c '/tests/test-nodejs.sh 2>&1 | tee /tmp/test.log' + bash -o pipefail -c '/tests/test-nodejs.sh 2>&1 | tee /tmp/test.log' ;; "c") echo "Running C tests..." docker run --rm \ -e SCANBOT_LICENSE="${{ secrets.SCANBOT_LICENSE_KEY }}" \ scanbot-linux-x86_64:latest \ - bash -c '/tests/test-c.sh 2>&1 | tee /tmp/test.log' + bash -o pipefail -c '/tests/test-c.sh 2>&1 | tee /tmp/test.log' ;; "all"|*) echo "Running all tests..." docker run --rm \ -e SCANBOT_LICENSE="${{ secrets.SCANBOT_LICENSE_KEY }}" \ scanbot-linux-x86_64:latest \ - bash -c '/tests/run-all-tests.sh 2>&1 | tee /tmp/test.log' + bash -o pipefail -c '/tests/run-all-tests.sh 2>&1 | tee /tmp/test.log' ;; esac diff --git a/examples/python/snippets/live/camera.py b/examples/python/snippets/live/camera.py index f5530f9..f59af00 100644 --- a/examples/python/snippets/live/camera.py +++ b/examples/python/snippets/live/camera.py @@ -1,4 +1,5 @@ import sys +from typing import Tuple import cv2 as cv @@ -31,7 +32,7 @@ def _gst_pipeline(device: str) -> str: raise ValueError(f"Invalid GStreamer device: {device!r}") -def _backends_for_index() -> tuple[int, ...]: +def _backends_for_index() -> Tuple[int, ...]: if sys.platform.startswith("win"): return (cv.CAP_MSMF, cv.CAP_DSHOW) diff --git a/test-scripts/windows/Dockerfile b/test-scripts/windows/Dockerfile index 0f878da..d494f6b 100644 --- a/test-scripts/windows/Dockerfile +++ b/test-scripts/windows/Dockerfile @@ -27,9 +27,13 @@ RUN $ErrorActionPreference = 'Stop'; \ $pythonExe = $env:PYTHON_EXE; \ if (-not (Test-Path $pythonExe)) { throw ('Expected Python executable not found: ' + $pythonExe) }; \ & $pythonExe --version; \ + if ($LASTEXITCODE -ne 0) { throw ('Python version check failed with exit code ' + $LASTEXITCODE) }; \ & $pythonExe -m pip install --upgrade pip setuptools wheel; \ + if ($LASTEXITCODE -ne 0) { throw ('pip bootstrap install failed with exit code ' + $LASTEXITCODE) }; \ & $pythonExe -m pip install --no-cache-dir --no-deps 'opencv-python-headless==4.5.5.64'; \ - & $pythonExe -m pip install --no-cache-dir 'numpy==1.26.4' pillow; + if ($LASTEXITCODE -ne 0) { throw ('OpenCV dependency install failed with exit code ' + $LASTEXITCODE) }; \ + & $pythonExe -m pip install --no-cache-dir 'numpy==1.26.4' pillow; \ + if ($LASTEXITCODE -ne 0) { throw ('NumPy/Pillow dependency install failed with exit code ' + $LASTEXITCODE) }; # Set workspace path (source is copied later to improve layer caching) WORKDIR C:/workspaces/scanbot-sdk-example-linux @@ -46,6 +50,7 @@ RUN $ErrorActionPreference = 'Stop'; \ }; \ Write-Host ('Installing Python SDK from: {0}' -f $wheelUrl); \ & $pythonExe -m pip install $wheelUrl; \ + if ($LASTEXITCODE -ne 0) { throw ('Python SDK install failed with exit code ' + $LASTEXITCODE) }; \ Write-Host 'Python SDK installed successfully' RUN $ErrorActionPreference = 'Stop'; \ @@ -114,7 +119,7 @@ RUN $ErrorActionPreference = 'Stop'; \ if (-not (Test-Path (Join-Path $cSdkRoot 'scanbotsdk\include\ScanbotSDK.h'))) { throw 'C SDK header not found' }; \ if (-not (Test-Path (Join-Path $cSdkRoot 'scanbotsdk\lib'))) { throw 'C SDK lib directory not found' }; \ $exePath = 'C:\workspaces\scanbot-sdk-example-linux\examples\c\build\Release\scanbotsdk_example.exe'; \ - if ([string]::IsNullOrWhiteSpace($exePath)) { throw 'C example executable not found in build outputs' }; \ + if (-not (Test-Path $exePath)) { throw ('C example executable not found in build outputs: ' + $exePath) }; \ Write-Host ('C SDK: Verified executable at {0}' -f $exePath) # Python tests stage (PowerShell-only, no bash) diff --git a/test-scripts/windows/test-c.ps1 b/test-scripts/windows/test-c.ps1 index 6b198b9..2a7ebc5 100755 --- a/test-scripts/windows/test-c.ps1 +++ b/test-scripts/windows/test-c.ps1 @@ -79,6 +79,7 @@ $commands = @( @{ Name = 'Text pattern scan'; Args = @('scan', 'text_pattern', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'VIN scan'; Args = @('scan', 'vin', '--file', '../../test-scripts/test-images/VIN.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Document straighten enhance'; Args = @('enhance', 'straighten_document', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, + @{ Name = 'Document cleanup (highlighted)'; Args = @('enhance', 'cleanup_document', '--file', '../../test-scripts/test-images/highlighted.png', '--mask', '../../test-scripts/test-images/highlighted_mask_001.png', '--save', '/tmp/highlighted_cleaned.png', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Multi-page analyze'; Args = @('analyze', 'analyze_multi_page', '--file', '../../test-scripts/test-images/multi_page_document.pdf', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'Crop analyze'; Args = @('analyze', 'crop_analyze', '--file', '../../test-scripts/test-images/Document.jpeg', '--license', $env:SCANBOT_LICENSE) }, @{ Name = 'MRZ parse'; Args = @('parse', 'mrz', '--text', 'P Date: Wed, 16 Sep 2026 12:44:37 +0200 Subject: [PATCH 33/36] move document straightening under doc folder --- .../snippets/{straightener => document}/document_straightener.h | 0 examples/c/src/main.c | 2 +- .../snippets/{straightener => document}/document_straightener.c | 2 +- .../java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java | 1 - .../{straightener => document}/DocumentStraightenerSnippet.java | 2 +- examples/nodejs/src/index.ts | 2 +- .../{straightener => document}/document-straightener.ts | 0 examples/python/main.py | 2 +- .../{straightener => document}/document_straightener.py | 0 9 files changed, 5 insertions(+), 6 deletions(-) rename examples/c/include/snippets/{straightener => document}/document_straightener.h (100%) rename examples/c/src/snippets/{straightener => document}/document_straightener.c (98%) rename examples/java/src/main/java/io/scanbot/sdk/snippets/{straightener => document}/DocumentStraightenerSnippet.java (96%) rename examples/nodejs/src/snippets/{straightener => document}/document-straightener.ts (100%) rename examples/python/snippets/{straightener => document}/document_straightener.py (100%) diff --git a/examples/c/include/snippets/straightener/document_straightener.h b/examples/c/include/snippets/document/document_straightener.h similarity index 100% rename from examples/c/include/snippets/straightener/document_straightener.h rename to examples/c/include/snippets/document/document_straightener.h diff --git a/examples/c/src/main.c b/examples/c/src/main.c index 9a20e90..0f88f0d 100644 --- a/examples/c/src/main.c +++ b/examples/c/src/main.c @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include diff --git a/examples/c/src/snippets/straightener/document_straightener.c b/examples/c/src/snippets/document/document_straightener.c similarity index 98% rename from examples/c/src/snippets/straightener/document_straightener.c rename to examples/c/src/snippets/document/document_straightener.c index 22e91a3..d09d79d 100644 --- a/examples/c/src/snippets/straightener/document_straightener.c +++ b/examples/c/src/snippets/document/document_straightener.c @@ -1,7 +1,7 @@ #include #include -#include +#include #include scanbotsdk_error_code_t straighten_document(scanbotsdk_image_t *image) { diff --git a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java index 506603e..a34754e 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java +++ b/examples/java/src/main/java/io/scanbot/sdk/ScanbotSDKExample.java @@ -7,7 +7,6 @@ import io.scanbot.sdk.snippets.barcode.*; import io.scanbot.sdk.snippets.datacapture.*; import io.scanbot.sdk.snippets.document.*; -import io.scanbot.sdk.snippets.straightener.DocumentStraightenerSnippet; import io.scanbot.sdk.utils.*; import java.util.Arrays; diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/straightener/DocumentStraightenerSnippet.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentStraightenerSnippet.java similarity index 96% rename from examples/java/src/main/java/io/scanbot/sdk/snippets/straightener/DocumentStraightenerSnippet.java rename to examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentStraightenerSnippet.java index 37ea69f..b867c62 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/straightener/DocumentStraightenerSnippet.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/document/DocumentStraightenerSnippet.java @@ -1,4 +1,4 @@ -package io.scanbot.sdk.snippets.straightener; +package io.scanbot.sdk.snippets.document; import java.util.List; import io.scanbot.sdk.documentscanner.DocumentStraightener; diff --git a/examples/nodejs/src/index.ts b/examples/nodejs/src/index.ts index 0645b71..676b5d4 100644 --- a/examples/nodejs/src/index.ts +++ b/examples/nodejs/src/index.ts @@ -17,7 +17,7 @@ import { ParseBarcodeDocumentSnippet } from "./snippets/barcode/parse-barcode-do import { AnalyzeMultiPageSnippet } from "./snippets/document/analyze-multipage"; import { CropAndAnalyzeSnippet } from "./snippets/document/crop-analyze"; import { DocumentCleanupSnippet } from "./snippets/document/document-cleanup"; -import { DocumentStraightenerSnippet } from "./snippets/straightener/document-straightener"; +import { DocumentStraightenerSnippet } from "./snippets/document/document-straightener"; async function awaitPromise(promise: Promise, maxAwaitTimeMs: number = 60 * 1000): Promise { const timer = setTimeout(() => { diff --git a/examples/nodejs/src/snippets/straightener/document-straightener.ts b/examples/nodejs/src/snippets/document/document-straightener.ts similarity index 100% rename from examples/nodejs/src/snippets/straightener/document-straightener.ts rename to examples/nodejs/src/snippets/document/document-straightener.ts diff --git a/examples/python/main.py b/examples/python/main.py index b240d76..30ed29b 100644 --- a/examples/python/main.py +++ b/examples/python/main.py @@ -1,7 +1,7 @@ import sys import scanbotsdk -from snippets.straightener.document_straightener import straighten_document +from snippets.document.document_straightener import straighten_document from snippets.document.analyze_multi_page import analyze_multi_page from snippets.document.crop_and_analyze import crop_and_analyze from snippets.document.document_cleanup import cleanup_document diff --git a/examples/python/snippets/straightener/document_straightener.py b/examples/python/snippets/document/document_straightener.py similarity index 100% rename from examples/python/snippets/straightener/document_straightener.py rename to examples/python/snippets/document/document_straightener.py From 89ff543a3a5e9b0c72e5f580eefeb5d16a708618 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Wed, 16 Sep 2026 15:10:30 +0200 Subject: [PATCH 34/36] use highlighted and highlighted_mask_001 for document_cleanup tests and update default crop optimization with OPTIMIZE_QUAD --- examples/c/README.md | 2 +- examples/c/src/utils/utils.c | 2 +- examples/java/README.md | 2 +- .../io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java | 2 +- .../java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java | 2 +- examples/nodejs/README.md | 2 +- examples/nodejs/src/snippets/utils/example-usage.ts | 2 +- examples/python/README.md | 2 +- examples/python/utils.py | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/c/README.md b/examples/c/README.md index 218d855..a701b13 100644 --- a/examples/c/README.md +++ b/examples/c/README.md @@ -98,7 +98,7 @@ The example supports five modes: **scan**, **analyze**, **enhance**, **parse**, ./scanbotsdk_example analyze analyze_multi_page --file files/doc.pdf --license ./scanbotsdk_example analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license ./scanbotsdk_example enhance straighten_document --file images/doc.jpg --license -./scanbotsdk_example enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license +./scanbotsdk_example enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save out/cleaned.jpg --license ./scanbotsdk_example parse mrz --text "P ./scanbotsdk_example live barcode --file images/example.jpg --license ``` diff --git a/examples/c/src/utils/utils.c b/examples/c/src/utils/utils.c index 665ef64..425492d 100644 --- a/examples/c/src/utils/utils.c +++ b/examples/c/src/utils/utils.c @@ -132,7 +132,7 @@ void print_usage(const char *prog) { printf(" %s analyze analyze_multi_page --file files/doc.pdf --license \n", prog); printf(" %s analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license \n", prog); printf(" %s enhance straighten_document --file images/doc.jpg --license \n", prog); - printf(" %s enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license \n", prog); + printf(" %s enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save out/cleaned.jpg --license \n", prog); printf(" %s parse mrz --text \"P\n", prog); printf(" %s live barcode --file images/example.jpg --license \n", prog); printf("\n"); diff --git a/examples/java/README.md b/examples/java/README.md index 7610d32..d52cdc0 100644 --- a/examples/java/README.md +++ b/examples/java/README.md @@ -25,7 +25,7 @@ The example supports four commands: **scan**, **analyze**, **enhance**, and **pa ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license ' ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license ' ./gradlew run --args='enhance straighten_document --file images/doc.jpg --license ' -./gradlew run --args='enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license ' +./gradlew run --args='enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save out/cleaned.jpg --license ' ./gradlew run --args='parse mrz --text "P' ``` diff --git a/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java b/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java index 6303157..8b3562e 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java +++ b/examples/java/src/main/java/io/scanbot/sdk/snippets/image/ImageProcessingSnippets.java @@ -77,7 +77,7 @@ public static void detectAndCropDocument(ImageRef image) throws Exception { try (ImageRef cropped = processor.crop( image, detectionResult.getPointsNormalized(), - DocumentCropOptimization.NONE + DocumentCropOptimization.OPTIMIZE_QUAD )) { ImageInfo croppedInfo = cropped.imageInfo(); System.out.println("Cropped WxH: " + croppedInfo.getWidth() + "x" + croppedInfo.getHeight()); diff --git a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java index f95844f..6471268 100644 --- a/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java +++ b/examples/java/src/main/java/io/scanbot/sdk/utils/ExampleUsage.java @@ -41,7 +41,7 @@ public static void print() { System.out.println(" ./gradlew run --args='analyze analyze_multi_page --resource files/doc.pdf --license '"); System.out.println(" ./gradlew run --args='analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license '"); System.out.println(" ./gradlew run --args='enhance straighten_document --file images/doc.jpg --license '"); - System.out.println(" ./gradlew run --args='enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license '"); + System.out.println(" ./gradlew run --args='enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save out/cleaned.jpg --license '"); System.out.println(" ./gradlew run --args='parse mrz --text \"P'"); System.out.println(); } diff --git a/examples/nodejs/README.md b/examples/nodejs/README.md index 3acb76e..00f92d0 100644 --- a/examples/nodejs/README.md +++ b/examples/nodejs/README.md @@ -30,7 +30,7 @@ npx ts-node src/index.ts scan barcode --file images/example.jpg --license npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license npx ts-node src/index.ts enhance straighten_document --file images/doc.jpg --license -npx ts-node src/index.ts enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license +npx ts-node src/index.ts enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save out/cleaned.jpg --license npx ts-node src/index.ts parse mrz --text "P ``` diff --git a/examples/nodejs/src/snippets/utils/example-usage.ts b/examples/nodejs/src/snippets/utils/example-usage.ts index 9b1913e..d568f67 100644 --- a/examples/nodejs/src/snippets/utils/example-usage.ts +++ b/examples/nodejs/src/snippets/utils/example-usage.ts @@ -23,7 +23,7 @@ Examples: npx ts-node src/index.ts analyze analyze_multi_page --file files/doc.pdf --license npx ts-node src/index.ts analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license npx ts-node src/index.ts enhance straighten_document --file images/doc.jpg --license - npx ts-node src/index.ts enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license + npx ts-node src/index.ts enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save out/cleaned.jpg --license npx ts-node src/index.ts parse mrz --text "P `); } diff --git a/examples/python/README.md b/examples/python/README.md index fc05eed..eabba85 100644 --- a/examples/python/README.md +++ b/examples/python/README.md @@ -147,7 +147,7 @@ python main.py scan barcode --file images/example.jpg --license python main.py analyze analyze_multi_page --file files/doc.pdf --license python main.py analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license python main.py enhance straighten_document --file images/doc.jpg --license -python main.py enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license +python main.py enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save out/cleaned.jpg --license python main.py parse mrz --text "P python main.py live barcode --device "0" --license ``` diff --git a/examples/python/utils.py b/examples/python/utils.py index 2b5b8f9..e5dff9f 100644 --- a/examples/python/utils.py +++ b/examples/python/utils.py @@ -86,7 +86,7 @@ def print_usage(): print(" python main.py analyze analyze_multi_page --file files/doc.pdf --license ") print(" python main.py analyze crop_analyze --file images/doc.jpg --save out/crop.jpg --license ") print(" python main.py enhance straighten_document --file images/doc.jpg --license ") - print(" python main.py enhance cleanup_document --file images/credit_card.png --mask images/credit_card_mask.png --save out/cleaned.jpg --license ") + print(" python main.py enhance cleanup_document --file ../../test-scripts/test-images/highlighted.png --mask ../../test-scripts/test-images/highlighted_mask_001.png --save out/cleaned.jpg --license ") print(" python main.py parse mrz --text \"P") print(" python main.py live barcode --device jetson_csi --license ") print() From 23f4f32b93e02a0ffe6e82db7200fcca69fee105 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Mon, 21 Sep 2026 09:57:05 +0200 Subject: [PATCH 35/36] Update SDK version to 0.1000.4 across all relevant files --- .github/workflows/run-tests-ci.yml | 2 +- examples/c/CMakeLists.txt | 2 +- examples/java/build.gradle | 2 +- examples/nodejs/package-lock.json | 8 ++++---- examples/nodejs/package.json | 2 +- test-scripts/README.md | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/run-tests-ci.yml b/.github/workflows/run-tests-ci.yml index fb23135..39eb4ce 100644 --- a/.github/workflows/run-tests-ci.yml +++ b/.github/workflows/run-tests-ci.yml @@ -41,7 +41,7 @@ on: # Global environment variables env: - SDK_VERSION: '0.1000.3' + SDK_VERSION: '0.1000.4' jobs: test-x86_64: diff --git a/examples/c/CMakeLists.txt b/examples/c/CMakeLists.txt index 5051961..68447fa 100644 --- a/examples/c/CMakeLists.txt +++ b/examples/c/CMakeLists.txt @@ -5,7 +5,7 @@ set(CMAKE_C_STANDARD 99) # Find or download Scanbot SDK if(NOT SCANBOTSDK_VERSION) - set(SCANBOTSDK_VERSION "0.1000.3") + set(SCANBOTSDK_VERSION "0.1000.4") endif() set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH}) find_package(ScanbotSDK REQUIRED) diff --git a/examples/java/build.gradle b/examples/java/build.gradle index a19703a..beaed37 100644 --- a/examples/java/build.gradle +++ b/examples/java/build.gradle @@ -4,7 +4,7 @@ plugins { } // TODO Add your SCANBOTSDK_VERSION here. -def SCANBOTSDK_VERSION = "0.1000.3" +def SCANBOTSDK_VERSION = "0.1000.4" def arch = System.getProperty("os.arch") def SCANBOTSDK_ARCHITECTURE = (arch.contains("arm") || arch.contains("aarch64")) ? "aarch64" : "x86_64" diff --git a/examples/nodejs/package-lock.json b/examples/nodejs/package-lock.json index 854ff52..d182673 100644 --- a/examples/nodejs/package-lock.json +++ b/examples/nodejs/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.3/nodejs-scanbotsdk-0.1000.3.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.4/nodejs-scanbotsdk-0.1000.4.tgz" }, "devDependencies": { "@types/node": "^24.3.0", @@ -154,9 +154,9 @@ "license": "ISC" }, "node_modules/scanbotsdk": { - "version": "0.1000.3", - "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.3/nodejs-scanbotsdk-0.1000.3.tgz", - "integrity": "sha512-JmNHGDi+mH+FbpTMt8z7+XwTwlQ3kl9SHsf2SJaODN4t/eXx9iQ8h7FwB6WZqqR0tpSGkHtzSkikRm+hWP0tdw==", + "version": "0.1000.4", + "resolved": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.4/nodejs-scanbotsdk-0.1000.4.tgz", + "integrity": "sha512-ssPoOUqNE+mC/ALfG6UDCZ+daEnfuXDVnBt5y4V/lc/Yl+9Jeu3EW9/m2RvwTa+dokj5+RQhwqyPxQk3Nl9u+A==", "hasInstallScript": true, "license": "Commercial", "os": [ diff --git a/examples/nodejs/package.json b/examples/nodejs/package.json index 882ed1d..107aabf 100644 --- a/examples/nodejs/package.json +++ b/examples/nodejs/package.json @@ -15,6 +15,6 @@ "typescript": "^5.9.2" }, "dependencies": { - "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.3/nodejs-scanbotsdk-0.1000.3.tgz" + "scanbotsdk": "https://github.com/doo/scanbot-sdk-example-linux/releases/download/standalone-sdk%2Fv0.1000.4/nodejs-scanbotsdk-0.1000.4.tgz" } } diff --git a/test-scripts/README.md b/test-scripts/README.md index 0bb5caa..57abf1c 100644 --- a/test-scripts/README.md +++ b/test-scripts/README.md @@ -36,7 +36,7 @@ test-scripts/ ```bash export SCANBOT_LICENSE="your-license-key-here" -export SDK_VERSION=0.1000.3 +export SDK_VERSION=0.1000.4 ``` ### 2. Build Test Container From 31b5c99af932903a6f270404f1201de3738ffd33 Mon Sep 17 00:00:00 2001 From: yurii-scanbot Date: Wed, 30 Sep 2026 15:47:30 +0200 Subject: [PATCH 36/36] update libraries.txt --- Libraries.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries.txt b/Libraries.txt index 4df6739..8415a17 100644 --- a/Libraries.txt +++ b/Libraries.txt @@ -1,4 +1,4 @@ -Open Source libraries used in the Scanbot Linux SDK version 9.0.0: +Open Source libraries used in the Scanbot Linux SDK version 10.0.0: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+