From f47ca29098846c155977974276ddac1b2e442717 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 11:23:50 +0200 Subject: [PATCH 01/31] chore: drop Windows/Linux builds, focus on the native macOS app --- .github/workflows/cmake.yml | 72 - .github/workflows/xcodebuild.yml | 10 +- .gitignore | 4 - .gitmodules | 3 - Client/CMakeLists.txt | 112 - Client/CMakeSettings.json | 26 - Client/CascadiaCodeFont.cpp | 100 - Client/CascadiaCodeFont.h | 6 - Client/Constants.h | 11 - Client/CrossPlatformGUI.cpp | 673 -- Client/CrossPlatformGUI.h | 109 - Client/Fonts/CascadiaCode.ttf | Bin 358448 -> 0 bytes Client/Fonts/FontLicense.txt | 94 - Client/Fonts/encodeFont.py | 20 - Client/Headphones.h | 1 - Client/IBluetoothConnector.h | 2 +- Client/SingleInstanceFuture.h | 54 - Client/TimedMessageQueue.cpp | 40 - Client/TimedMessageQueue.h | 48 - Client/imgui | 1 - Client/linux/DBusHelper.cpp | 335 - Client/linux/DBusHelper.h | 16 - Client/linux/FindDBus.cmake | 59 - Client/linux/LinuxBluetoothConnector.cpp | 151 - Client/linux/LinuxBluetoothConnector.h | 25 - Client/linux/LinuxGUI.cpp | 88 - Client/linux/LinuxGUI.h | 5 - Client/linux/main.cpp | 22 - .../project.pbxproj | 8 - Client/resources/devices/linkbuds-s.png | Bin 72807 -> 0 bytes Client/resources/devices/mdr-xb950bt.png | Bin 107133 -> 0 bytes Client/resources/devices/wf-1000xm4.png | Bin 63054 -> 0 bytes Client/resources/devices/wf-1000xm5.png | Bin 63455 -> 0 bytes Client/resources/devices/wf-c700n.png | Bin 65464 -> 0 bytes Client/resources/devices/wh-1000xm2.png | Bin 120624 -> 0 bytes Client/resources/devices/wh-1000xm3.png | Bin 69683 -> 0 bytes Client/resources/devices/wh-1000xm4.png | Bin 77456 -> 0 bytes Client/resources/devices/wh-1000xm5.png | Bin 76768 -> 0 bytes Client/resources/devices/wh-1000xm6.png | Bin 112001 -> 0 bytes Client/resources/devices/wh-ch520.png | Bin 68700 -> 0 bytes Client/resources/devices/wh-ch720n.png | Bin 122300 -> 0 bytes Client/resources/devices/wh-xb900n.png | Bin 72622 -> 0 bytes Client/resources/devices/wh-xb910n.png | Bin 77342 -> 0 bytes Client/stb_image.h | 7988 ----------------- Client/windows/WindowsBluetoothConnector.cpp | 238 - Client/windows/WindowsBluetoothConnector.h | 41 - Client/windows/WindowsGUI.cpp | 197 - Client/windows/WindowsGUI.h | 38 - Client/windows/main.cpp | 23 - README.md | 53 +- docs/banner.svg | 4 - docs/index.html | 27 +- 52 files changed, 19 insertions(+), 10685 deletions(-) delete mode 100644 .github/workflows/cmake.yml delete mode 100644 .gitmodules delete mode 100644 Client/CMakeLists.txt delete mode 100644 Client/CMakeSettings.json delete mode 100644 Client/CascadiaCodeFont.cpp delete mode 100644 Client/CascadiaCodeFont.h delete mode 100644 Client/CrossPlatformGUI.cpp delete mode 100644 Client/CrossPlatformGUI.h delete mode 100644 Client/Fonts/CascadiaCode.ttf delete mode 100644 Client/Fonts/FontLicense.txt delete mode 100644 Client/Fonts/encodeFont.py delete mode 100644 Client/SingleInstanceFuture.h delete mode 100644 Client/TimedMessageQueue.cpp delete mode 100644 Client/TimedMessageQueue.h delete mode 160000 Client/imgui delete mode 100644 Client/linux/DBusHelper.cpp delete mode 100644 Client/linux/DBusHelper.h delete mode 100644 Client/linux/FindDBus.cmake delete mode 100644 Client/linux/LinuxBluetoothConnector.cpp delete mode 100644 Client/linux/LinuxBluetoothConnector.h delete mode 100644 Client/linux/LinuxGUI.cpp delete mode 100644 Client/linux/LinuxGUI.h delete mode 100644 Client/linux/main.cpp delete mode 100644 Client/resources/devices/linkbuds-s.png delete mode 100644 Client/resources/devices/mdr-xb950bt.png delete mode 100644 Client/resources/devices/wf-1000xm4.png delete mode 100644 Client/resources/devices/wf-1000xm5.png delete mode 100644 Client/resources/devices/wf-c700n.png delete mode 100644 Client/resources/devices/wh-1000xm2.png delete mode 100644 Client/resources/devices/wh-1000xm3.png delete mode 100644 Client/resources/devices/wh-1000xm4.png delete mode 100644 Client/resources/devices/wh-1000xm5.png delete mode 100644 Client/resources/devices/wh-1000xm6.png delete mode 100644 Client/resources/devices/wh-ch520.png delete mode 100644 Client/resources/devices/wh-ch720n.png delete mode 100644 Client/resources/devices/wh-xb900n.png delete mode 100644 Client/resources/devices/wh-xb910n.png delete mode 100644 Client/stb_image.h delete mode 100644 Client/windows/WindowsBluetoothConnector.cpp delete mode 100644 Client/windows/WindowsBluetoothConnector.h delete mode 100644 Client/windows/WindowsGUI.cpp delete mode 100644 Client/windows/WindowsGUI.h delete mode 100644 Client/windows/main.cpp diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml deleted file mode 100644 index 37a3a53..0000000 --- a/.github/workflows/cmake.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Linux & Windows - -on: - push: - branches: - - main - - master - - 'feature/**' - pull_request: - branches: - - main - - master - workflow_dispatch: - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: Release - -jobs: - build: - strategy: - matrix: - os: ["ubuntu-latest", "windows-latest"] - include: - - os: ubuntu-latest - binary_path: Client/build/SonyHeadphonesClient - artifact_name: "SonyHeadphonesClient-linux-x64" - script: "sudo apt-get update && sudo apt-get install libbluetooth-dev libglew-dev libglfw3-dev libdbus-1-dev" - - os: windows-latest - binary_path: Client/build/Release/SonyHeadphonesClient.exe - artifact_name: "SonyHeadphonesClient-win-x64.exe" - script: "" - runs-on: ${{ matrix.os }} - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Download Packages - run: ${{ matrix.script }} - - - name: Create Build Environment - # Some projects don't allow in-source building, so create a separate build directory - # We'll use this as our working directory for all subsequent commands - run: cmake -E make_directory ${{github.workspace}}/Client/build - - - name: Configure CMake - # Use a bash shell so we can use the same syntax for environment variable - # access regardless of the host operating system - shell: bash - working-directory: ${{github.workspace}}/Client/build - # Note the current convention is to use the -S and -B options here to specify source - # and build directories, but this is only available with CMake 3.13 and higher. - # The CMake binaries on the Github Actions machines are (as of this writing) 3.12 - run: cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE - - - name: Build - working-directory: ${{github.workspace}}/Client/build - shell: bash - # Execute the build. You can specify a specific target with "--target " - run: cmake --build . --config $BUILD_TYPE - - name: Upload a Build Artifact - uses: actions/upload-artifact@v4 - with: - # Artifact name - name: ${{ matrix.artifact_name }} - # A file, directory or wildcard pattern that describes what to upload - path: ${{github.workspace}}/${{matrix.binary_path}} - # The desired behavior if no files are found using the provided path. - - diff --git a/.github/workflows/xcodebuild.yml b/.github/workflows/xcodebuild.yml index 2d3193e..97ddde4 100644 --- a/.github/workflows/xcodebuild.yml +++ b/.github/workflows/xcodebuild.yml @@ -3,10 +3,10 @@ name: macOS on: push: branches: - - master + - main pull_request: branches: - - master + - main jobs: build: @@ -20,9 +20,7 @@ jobs: runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v3 - with: - submodules: true + - uses: actions/checkout@v4 - name: Create build directory working-directory: ${{github.workspace}}/Client @@ -44,7 +42,7 @@ jobs: run: zip -r SonyHeadphonesClient.zip SonyHeadphonesClient.app - name: Upload the zipped application - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: # Artifact name name: ${{ matrix.artifact_name }} diff --git a/.gitignore b/.gitignore index 32ccd08..954cfbc 100644 --- a/.gitignore +++ b/.gitignore @@ -523,10 +523,6 @@ MigrationBackup/ .ionide/ # End of https://www.toptal.com/developers/gitignore/api/c++,visualstudio,python -Client/imgui.ini # vscode .vscode/ - -# linux build -Client/linux/sonyheadphonesclient.build/ diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index a739d31..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "Client/imgui"] - path = Client/imgui - url = https://github.com/ocornut/imgui.git diff --git a/Client/CMakeLists.txt b/Client/CMakeLists.txt deleted file mode 100644 index 9695cef..0000000 --- a/Client/CMakeLists.txt +++ /dev/null @@ -1,112 +0,0 @@ -cmake_minimum_required(VERSION 3.5) -project(SonyHeadphonesClient) - -set(CMAKE_CXX_STANDARD 20) - -find_package(Threads REQUIRED) - -add_executable(SonyHeadphonesClient) - -add_definitions(-D__HEADPHONES_APP_VERSION__="0.4.0-beta2") - -target_sources(SonyHeadphonesClient - PRIVATE BluetoothWrapper.cpp - ByteMagic.cpp - CommandSerializer.cpp - TimedMessageQueue.cpp - CrossPlatformGUI.cpp "Headphones.cpp") - -target_include_directories (SonyHeadphonesClient - PRIVATE ${CMAKE_SOURCE_DIR} -) - -if(UNIX AND NOT APPLE) - set(LINUX TRUE) -endif() - -if (WIN32 OR LINUX) - set (DEAR_IMGUI TRUE) -endif() - -if (DEAR_IMGUI) - target_sources(SonyHeadphonesClient - PRIVATE CrossPlatformGUI.cpp - imgui/imgui.cpp - imgui/imgui_draw.cpp - imgui/imgui_tables.cpp - imgui/imgui_widgets.cpp - CascadiaCodeFont.cpp - ) - - target_include_directories (SonyHeadphonesClient - PRIVATE ${CMAKE_SOURCE_DIR}/imgui - ) -endif () - -if (LINUX) - target_sources(SonyHeadphonesClient - PRIVATE linux/DBusHelper.cpp - linux/LinuxBluetoothConnector.cpp - linux/LinuxGUI.cpp - linux/main.cpp - imgui/backends/imgui_impl_glfw.cpp - imgui/backends/imgui_impl_opengl3.cpp - ) - - set (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/linux) - - set (OpenGL_GL_PREFERENCE GLVND) - - find_package(DBus REQUIRED) - - find_package(glfw3 REQUIRED) - - find_package(OpenGL REQUIRED) - - if ((NOT DBUS_FOUND) OR (NOT glfw3_FOUND) OR (NOT OPENGL_FOUND)) - message ( FATAL_ERROR - "Didn't find one of the packages. For Debian based systems, use:" - "sudo apt install libbluetooth-dev libglfw3-dev libdbus-1-dev" ) - endif () - - target_include_directories(SonyHeadphonesClient - PRIVATE ${DBUS_INCLUDE_DIRS} - ${OPENGL_INCLUDE_DIRS} - ) - - target_link_libraries(SonyHeadphonesClient - PRIVATE ${DBUS_LIBRARIES} - glfw - bluetooth - OpenGL::GL - ) - -endif () - -if (WIN32) - ADD_DEFINITIONS(-DUNICODE) - - target_sources(SonyHeadphonesClient - PRIVATE windows/WindowsGUI.cpp - windows/main.cpp - windows/WindowsBluetoothConnector.cpp - imgui/backends/imgui_impl_dx11.cpp - imgui/backends/imgui_impl_win32.cpp - ) - - target_link_libraries(SonyHeadphonesClient - PRIVATE d3d11 - ) -endif () - -target_link_libraries(SonyHeadphonesClient - PRIVATE Threads::Threads -) - -if (WIN32 OR LINUX) - add_custom_command(TARGET SonyHeadphonesClient POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_directory - "${CMAKE_CURRENT_SOURCE_DIR}/resources/devices" - "$/resources/devices" - COMMENT "Copying device hero images next to the binary") -endif() diff --git a/Client/CMakeSettings.json b/Client/CMakeSettings.json deleted file mode 100644 index 4c88030..0000000 --- a/Client/CMakeSettings.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "configurations": [ - { - "name": "x64-Debug", - "generator": "Ninja", - "configurationType": "Debug", - "inheritEnvironments": [ "msvc_x64_x64" ], - "buildRoot": "${projectDir}\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "" - }, - { - "name": "x64-Release", - "generator": "Ninja", - "configurationType": "Release", - "buildRoot": "${projectDir}\\build\\${name}", - "installRoot": "${projectDir}\\out\\install\\${name}", - "cmakeCommandArgs": "", - "buildCommandArgs": "", - "ctestCommandArgs": "", - "inheritEnvironments": [ "msvc_x64_x64" ] - } - ] -} \ No newline at end of file diff --git a/Client/CascadiaCodeFont.cpp b/Client/CascadiaCodeFont.cpp deleted file mode 100644 index 621453a..0000000 --- a/Client/CascadiaCodeFont.cpp +++ /dev/null @@ -1,100 +0,0 @@ -#include "CascadiaCodeFont.h" - -/* -Copyright (c) 2019 - Present, Microsoft Corporation, -with Reserved Font Name Cascadia Code. - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. -*/ - -unsigned char CascadiaCodeTTF[358448] = {0,1,0,0,0,23,1,0,0,4,0,112,71,68,69,70,81,102,150,3,0,0,1,124,0,0,2,64,71,80,79,83,159,158,209,172,0,0,3,188,0,0,24,82,71,83,85,66,109,248,194,236,0,0,28,16,0,0,84,90,72,86,65,82,6,104,0,51,0,0,112,108,0,0,0,54,79,83,47,50,107,254,128,250,0,0,112,164,0,0,0,96,83,84,65,84,133,190,111,53,0,0,113,4,0,0,0,116,97,118,97,114,224,9,250,172,0,0,113,120,0,0,0,34,99,109,97,112,255,232,237,9,0,0,113,156,0,0,13,236,99,118,97,114,98,64,72,163,0,0,127,136,0,0,0,38,99,118,116,32,91,102,60,18,0,0,127,176,0,0,1,54,102,112,103,109,87,139,15,16,0,0,128,232,0,0,15,131,102,118,97,114,140,158,105,146,0,0,144,108,0,0,0,84,103,97,115,112,0,59,0,38,0,0,144,192,0,0,0,16,103,108,121,102,20,79,161,34,0,0,144,208,0,2,44,240,103,118,97,114,150,216,133,215,0,2,189,192,0,1,229,40,104,101,97,100,19,45,98,193,0,4,162,232,0,0,0,54,104,104,101,97,255,183,4,214,0,4,163,32,0,0,0,36,104,109,116,120,235,186,84,243,0,4,163,68,0,0,25,84,108,111,99,97,6,51,105,60,0,4,188,152,0,0,25,100,109,97,120,112,10,65,16,163,0,4,213,252,0,0,0,32,110,97,109,101,208,92,112,138,0,4,214,28,0,0,27,9,112,111,115,116,0,27,136,175,0,4,241,40,0,0,132,7,112,114,101,112,95,40,173,248,0,5,117,48,0,0,3,0,0,1,0,3,0,18,0,0,0,0,0,0,1,216,0,0,1,252,0,2,0,75,0,1,0,54,0,1,0,57,0,57,0,1,0,59,0,70,0,1,0,72,0,122,0,1,0,124,0,140,0,1,0,143,0,167,0,1,0,169,0,187,0,1,0,189,0,193,0,1,0,195,0,228,0,1,0,231,0,249,0,1,0,251,0,252,0,1,0,254,1,17,0,1,1,19,1,21,0,1,1,23,1,26,0,1,1,28,1,39,0,1,1,42,1,64,0,1,1,66,1,70,0,1,1,72,1,82,0,1,1,84,1,89,0,1,1,91,1,110,0,1,1,112,1,130,0,1,1,133,1,137,0,1,1,141,1,141,0,1,1,143,1,143,0,1,1,145,1,145,0,1,1,150,1,152,0,1,1,155,1,157,0,1,1,161,1,163,0,1,1,165,1,169,0,1,1,171,1,171,0,1,1,182,1,187,0,1,1,195,1,198,0,1,1,201,1,201,0,1,1,203,1,205,0,1,1,209,1,209,0,1,1,212,1,213,0,1,1,216,1,218,0,1,1,221,1,225,0,1,1,229,1,229,0,1,1,231,1,232,0,1,1,234,1,235,0,1,1,237,1,237,0,1,1,248,1,252,0,1,2,2,2,2,0,1,2,4,2,4,0,1,2,8,2,8,0,1,2,10,2,15,0,1,2,18,2,18,0,1,2,21,2,23,0,1,2,26,2,27,0,1,2,35,2,36,0,1,2,39,2,44,0,1,2,46,2,47,0,1,2,49,2,49,0,1,2,51,2,51,0,1,2,53,2,54,0,1,2,56,2,56,0,1,2,59,2,59,0,1,2,66,2,67,0,1,2,73,2,73,0,1,2,75,2,75,0,1,2,77,2,77,0,1,2,83,2,83,0,1,2,89,2,89,0,1,2,93,2,101,0,1,2,103,2,104,0,1,3,29,3,32,0,1,3,34,3,35,0,1,3,39,3,40,0,1,3,42,3,42,0,1,3,47,3,50,0,1,3,56,3,58,0,1,6,27,6,46,0,3,6,60,6,75,0,3,6,79,6,80,0,3,0,1,0,1,0,0,0,8,0,2,0,4,6,27,6,39,0,0,6,45,6,46,0,13,6,60,6,71,0,15,6,73,6,75,0,27,0,1,0,0,0,16,0,2,0,0,0,32,0,0,0,50,0,1,0,2,192,0,192,0,0,0,0,0,64,0,64,0,0,10,0,0,0,1,0,0,158,215,221,230,233,246,3,5,20,35,0,4,0,0,0,2,0,0,0,1,0,236,0,20,4,248,10,60,0,1,0,0,0,10,0,94,0,120,0,3,68,70,76,84,0,20,99,121,114,108,0,24,108,97,116,110,0,40,0,54,0,0,0,50,0,2,66,71,82,32,0,50,83,82,66,32,0,50,0,34,0,5,67,65,84,32,0,34,77,79,76,32,0,34,78,76,68,32,0,34,80,76,75,32,0,34,82,79,77,32,0,34,0,0,255,255,0,2,0,0,0,1,0,2,109,97,114,107,0,14,109,107,109,107,0,20,0,0,0,1,0,0,0,0,0,1,0,1,0,2,0,6,21,218,0,4,0,0,0,1,0,8,0,1,0,12,0,28,0,4,1,208,2,110,0,2,0,2,6,27,6,46,0,0,6,60,6,75,0,20,0,2,0,72,0,1,0,54,0,0,0,57,0,57,0,54,0,59,0,70,0,55,0,72,0,122,0,67,0,124,0,140,0,118,0,143,0,167,0,135,0,169,0,187,0,160,0,189,0,193,0,179,0,195,0,228,0,184,0,231,0,249,0,218,0,251,0,252,0,237,0,254,1,17,0,239,1,19,1,21,1,3,1,23,1,26,1,6,1,28,1,39,1,10,1,42,1,64,1,22,1,66,1,70,1,45,1,72,1,82,1,50,1,84,1,89,1,61,1,91,1,110,1,67,1,112,1,130,1,87,1,133,1,137,1,106,1,141,1,141,1,111,1,143,1,143,1,112,1,145,1,145,1,113,1,150,1,152,1,114,1,155,1,157,1,117,1,161,1,163,1,120,1,165,1,168,1,123,1,171,1,171,1,127,1,182,1,187,1,128,1,195,1,198,1,134,1,201,1,201,1,138,1,203,1,205,1,139,1,209,1,209,1,142,1,212,1,213,1,143,1,216,1,218,1,145,1,221,1,225,1,148,1,229,1,229,1,153,1,231,1,232,1,154,1,234,1,235,1,156,1,237,1,237,1,158,1,248,1,252,1,159,2,2,2,2,1,164,2,4,2,4,1,165,2,8,2,8,1,166,2,10,2,15,1,167,2,18,2,18,1,173,2,21,2,23,1,174,2,26,2,27,1,177,2,35,2,36,1,179,2,39,2,44,1,181,2,46,2,47,1,187,2,49,2,49,1,189,2,51,2,51,1,190,2,53,2,54,1,191,2,56,2,56,1,193,2,59,2,59,1,194,2,66,2,67,1,195,2,73,2,73,1,197,2,75,2,75,1,198,2,77,2,77,1,199,2,83,2,83,1,200,2,89,2,89,1,201,2,93,2,101,1,202,2,103,2,104,1,211,3,29,3,32,1,213,3,34,3,35,1,217,3,39,3,40,1,219,3,42,3,42,1,221,3,47,3,50,1,222,3,56,3,58,1,226,0,36,0,0,20,202,0,0,20,208,0,0,20,242,0,0,21,8,0,0,20,214,0,0,20,230,0,0,20,230,0,0,20,230,0,0,20,230,0,0,20,220,0,0,20,230,0,0,20,236,0,0,21,20,0,1,0,146,0,2,19,246,0,2,19,246,0,2,19,168,0,3,0,152,0,0,20,242,0,0,21,8,0,0,21,14,0,0,21,14,0,0,21,14,0,0,21,14,0,0,21,14,0,0,20,248,0,0,21,14,0,0,21,14,0,0,21,14,0,0,21,2,0,0,21,14,0,0,21,14,0,1,18,208,0,0,21,8,0,0,21,14,0,0,21,20,0,1,2,228,4,36,0,1,2,203,0,10,1,229,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,21,52,0,0,19,88,18,206,21,52,0,0,19,88,18,206,21,52,0,0,19,88,18,206,21,52,0,0,19,88,18,206,21,52,0,0,19,88,18,206,21,52,0,0,19,88,18,206,21,46,0,0,19,88,18,206,15,212,0,0,19,88,18,206,15,212,0,0,19,88,18,206,15,212,0,0,19,88,18,206,15,212,0,0,19,88,18,206,15,212,0,0,19,88,18,206,15,212,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,21,58,0,0,19,88,18,206,21,58,0,0,19,88,18,206,20,112,0,0,19,88,18,206,15,184,0,0,19,64,15,42,15,184,0,0,19,64,18,206,19,70,0,0,19,76,0,0,19,4,0,0,19,10,0,0,19,4,0,0,19,10,0,0,15,58,0,0,19,10,0,0,19,4,0,0,19,10,0,0,15,64,0,0,19,10,0,0,15,70,0,0,19,10,0,0,15,82,0,0,18,116,0,0,15,82,0,0,18,116,0,0,15,76,0,0,18,116,0,0,15,82,0,0,18,116,0,0,18,188,0,0,18,194,18,206,18,188,0,0,18,194,18,206,15,88,0,0,18,194,18,206,15,94,0,0,18,194,18,206,15,100,0,0,18,194,18,206,15,100,0,0,18,194,18,206,15,100,0,0,18,194,18,206,15,100,0,0,18,194,18,206,15,100,0,0,18,194,18,206,15,100,0,0,18,194,18,206,18,188,0,0,18,194,18,206,15,106,0,0,18,194,18,206,18,188,0,0,18,194,18,206,18,188,0,0,18,194,18,206,18,188,0,0,18,194,18,206,18,188,0,0,18,194,18,206,18,188,0,0,18,194,18,206,18,188,0,0,18,194,18,206,19,40,0,0,19,46,0,0,19,52,0,0,19,58,0,0,15,112,0,0,19,58,0,0,15,118,0,0,19,58,0,0,15,124,0,0,19,58,0,0,19,52,0,0,19,58,0,0,15,130,0,0,19,58,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,21,46,0,0,19,88,0,0,15,212,0,0,19,88,0,0,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,21,52,0,0,19,88,18,206,15,212,0,0,19,88,18,206,20,112,0,0,19,88,18,206,21,18,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,15,136,0,0,19,88,0,0,15,146,0,0,19,88,0,0,20,112,0,0,19,64,0,0,20,112,0,0,19,64,0,0,15,162,18,200,15,168,0,0,15,162,18,200,15,168,0,0,15,162,18,200,15,168,0,0,15,162,18,200,15,168,0,0,15,162,18,200,15,168,0,0,15,162,18,200,15,168,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,21,46,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,18,200,15,174,18,206,20,112,18,200,19,88,18,206,21,52,18,200,19,88,18,206,15,212,18,200,19,88,18,206,15,212,18,200,19,88,18,206,15,212,18,200,19,88,18,206,15,212,18,200,19,88,18,206,15,212,18,200,19,88,18,206,15,212,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,15,184,0,0,19,64,0,0,19,70,0,0,19,76,0,0,19,70,0,0,19,76,0,0,20,112,18,200,19,88,18,206,19,70,0,0,19,16,0,0,19,70,0,0,19,16,0,0,15,190,0,0,19,16,0,0,19,70,0,0,19,16,0,0,15,196,0,0,19,16,0,0,20,112,0,0,19,16,0,0,21,46,0,0,19,16,0,0,20,112,0,0,19,16,0,0,15,212,0,0,19,16,0,0,20,112,0,0,19,16,0,0,20,112,0,0,19,82,0,0,20,112,0,0,19,82,0,0,21,46,0,0,19,82,0,0,20,112,0,0,19,82,0,0,20,112,0,0,19,82,0,0,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,21,52,18,200,19,88,18,206,15,212,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,18,200,19,88,18,206,21,58,18,200,19,88,18,206,20,112,18,200,19,88,18,206,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,15,212,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,15,212,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,15,218,0,0,15,228,0,0,20,112,0,0,19,88,0,0,21,46,0,0,19,88,0,0,21,18,0,0,19,88,0,0,19,4,0,0,19,10,0,0,20,112,0,0,19,88,0,0,20,112,18,200,19,88,18,206,20,112,0,0,19,16,0,0,20,112,0,0,19,88,0,0,20,78,0,0,19,88,16,74,15,244,0,0,19,88,18,206,16,148,0,0,19,88,18,206,15,250,0,0,19,88,18,206,16,148,0,0,19,88,18,206,16,0,0,0,19,88,18,206,16,148,0,0,19,88,18,206,16,148,0,0,19,88,18,206,16,154,0,0,19,88,18,206,16,160,0,0,19,88,18,206,16,6,0,0,19,88,18,206,16,160,0,0,19,88,18,206,16,12,0,0,19,88,18,206,16,160,0,0,19,88,18,206,16,160,0,0,19,88,18,206,16,18,0,0,19,88,18,206,20,78,0,0,19,88,18,206,16,154,0,0,19,88,18,206,20,78,0,0,19,88,18,206,16,24,0,0,19,88,18,206,20,78,0,0,19,88,18,206,16,30,0,0,19,88,18,206,16,36,0,0,19,88,18,206,20,78,0,0,19,88,18,206,20,72,0,0,19,88,0,0,18,2,0,0,19,88,0,0,16,42,0,0,19,64,0,0,18,248,0,0,18,254,0,0,16,210,0,0,18,254,0,0,16,228,0,0,18,254,0,0,18,248,0,0,18,254,0,0,16,222,0,0,18,254,0,0,16,48,0,0,18,254,0,0,16,54,16,64,19,34,0,0,19,22,19,28,19,34,0,0,17,90,0,0,18,194,16,74,16,84,0,0,18,194,18,206,16,90,0,0,18,194,18,206,18,80,0,0,18,194,18,206,16,108,0,0,18,194,18,206,16,96,0,0,18,194,18,206,16,108,0,0,18,194,18,206,16,102,0,0,18,194,18,206,16,108,0,0,18,194,18,206,16,108,0,0,18,194,18,206,18,86,0,0,18,194,18,206,16,114,0,0,18,194,18,206,18,74,0,0,18,194,18,206,18,80,0,0,18,194,18,206,18,74,0,0,18,194,18,206,16,120,0,0,18,194,18,206,18,74,0,0,18,194,18,206,18,242,0,0,0,0,0,0,18,74,0,0,18,194,18,206,20,106,0,0,16,126,0,0,17,146,0,0,16,142,0,0,20,78,0,0,18,164,0,0,16,148,0,0,18,164,0,0,16,154,0,0,18,164,0,0,16,160,0,0,18,164,0,0,20,78,0,0,18,164,0,0,16,166,0,0,18,164,0,0,16,172,0,0,19,88,0,0,18,128,0,0,19,88,0,0,16,182,0,0,19,88,0,0,16,188,0,0,19,88,0,0,0,0,0,0,18,134,0,0,18,248,0,0,18,134,16,204,16,210,0,0,18,134,18,206,16,216,0,0,18,134,18,206,16,222,0,0,18,134,18,206,18,122,0,0,18,134,18,206,0,0,0,0,18,134,0,0,16,228,0,0,18,134,18,206,18,248,0,0,18,134,18,206,16,234,0,0,18,134,18,206,0,0,0,0,18,134,0,0,18,248,0,0,18,134,18,206,16,240,0,0,17,10,0,0,16,250,0,0,17,10,0,0,17,16,0,0,17,38,0,0,17,32,0,0,17,38,0,0,17,44,17,50,18,134,0,0,17,44,17,50,18,134,0,0,17,44,17,50,18,134,0,0,17,44,17,50,18,134,0,0,17,44,17,50,18,134,0,0,17,44,17,50,18,134,0,0,20,72,0,0,19,88,0,0,20,118,0,0,19,88,0,0,18,92,0,0,19,88,0,0,20,118,0,0,19,88,0,0,18,170,0,0,19,88,0,0,20,118,0,0,19,88,0,0,20,118,0,0,19,88,0,0,20,72,17,56,19,88,18,236,18,2,18,230,19,88,18,236,20,206,18,230,19,88,18,236,20,194,18,230,19,88,18,236,17,72,18,230,19,88,18,236,20,194,18,230,19,88,18,236,17,78,18,230,19,88,18,236,20,194,18,230,19,88,18,236,20,194,18,230,19,88,18,236,18,224,18,230,19,88,18,236,20,72,18,230,19,88,18,236,20,200,18,230,19,88,18,236,20,72,18,230,19,88,18,236,20,72,18,230,19,88,18,236,18,2,18,230,19,88,18,236,20,72,18,230,19,88,18,236,20,200,18,230,19,88,18,236,20,72,18,230,19,88,18,236,20,72,18,230,19,88,18,236,17,84,18,230,19,88,18,236,18,146,18,230,19,88,18,236,20,72,18,230,19,88,18,236,20,72,18,230,19,88,18,236,18,2,18,230,19,88,18,236,20,72,18,230,19,88,18,236,17,90,0,0,19,16,0,0,18,248,0,0,18,254,0,0,17,96,0,0,17,106,0,0,20,72,0,0,17,122,0,0,18,2,0,0,17,122,0,0,20,200,0,0,17,122,0,0,20,72,0,0,17,122,0,0,18,104,0,0,19,16,0,0,17,128,0,0,19,16,0,0,17,134,0,0,19,16,0,0,18,104,0,0,19,16,0,0,17,140,0,0,19,16,0,0,18,104,0,0,19,16,0,0,17,146,0,0,17,152,0,0,17,168,17,174,17,180,0,0,17,168,17,174,17,180,0,0,17,168,17,174,17,180,0,0,17,168,17,174,17,180,0,0,17,168,17,174,17,180,0,0,20,118,18,176,18,182,18,206,18,92,18,176,18,182,18,206,17,186,18,176,18,182,18,206,17,222,18,176,18,182,18,206,17,228,18,176,18,182,18,206,20,118,18,176,18,182,18,206,18,170,18,176,18,182,18,206,20,118,18,176,18,182,18,206,20,118,18,176,18,182,18,206,18,92,18,176,18,182,18,206,20,118,18,176,18,182,18,206,18,170,18,176,18,182,18,206,20,118,18,176,18,182,18,206,20,118,18,176,18,182,18,206,17,192,18,176,18,182,18,206,17,198,18,176,18,182,18,206,20,118,18,176,18,182,18,206,17,204,18,176,18,182,18,206,20,118,18,176,18,182,18,206,17,210,0,0,17,216,0,0,20,118,0,0,18,140,0,0,18,92,0,0,18,140,0,0,17,222,0,0,18,140,0,0,17,228,0,0,18,140,0,0,18,170,0,0,18,140,0,0,20,72,0,0,19,88,0,0,18,98,0,0,18,158,0,0,17,234,0,0,18,158,0,0,17,240,0,0,18,158,0,0,17,246,0,0,18,158,0,0,18,98,0,0,18,158,0,0,17,252,0,0,18,158,0,0,18,98,0,0,18,158,0,0,18,152,0,0,18,158,0,0,18,98,0,0,18,158,0,0,20,72,0,0,19,88,0,0,18,2,0,0,19,88,0,0,20,200,0,0,19,88,0,0,18,8,0,0,19,88,0,0,18,14,0,0,18,254,0,0,18,20,0,0,19,88,0,0,18,32,18,230,19,88,18,236,18,26,0,0,19,16,0,0,18,32,0,0,19,88,0,0,0,0,0,0,0,0,18,38,20,112,0,0,19,88,18,206,19,70,0,0,19,76,0,0,18,188,0,0,18,194,18,206,18,188,0,0,18,194,18,206,18,188,0,0,18,194,18,206,20,112,0,0,19,88,0,0,0,0,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,18,200,19,88,18,206,19,70,0,0,19,76,0,0,19,4,0,0,19,10,0,0,20,112,0,0,19,82,0,0,18,56,0,0,0,0,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,16,0,0,19,4,0,0,19,10,0,0,18,44,0,0,19,76,0,0,20,112,0,0,19,88,18,206,20,112,0,0,19,88,18,206,18,50,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,18,206,20,112,0,0,19,88,0,0,20,112,18,200,19,88,18,206,18,56,0,0,0,0,0,0,20,78,0,0,19,88,18,206,18,62,0,0,0,0,0,0,18,68,0,0,0,0,0,0,18,74,0,0,18,194,18,206,18,80,0,0,18,194,18,206,18,86,0,0,18,194,18,206,20,72,0,0,0,0,0,0,20,72,0,0,0,0,0,0,20,200,0,0,0,0,0,0,20,118,0,0,0,0,0,0,18,92,0,0,0,0,0,0,20,72,18,230,19,88,18,236,18,248,0,0,18,254,0,0,18,248,0,0,18,254,0,0,18,98,0,0,18,158,0,0,18,98,0,0,18,158,0,0,20,72,0,0,19,88,0,0,18,104,0,0,19,16,0,0,18,248,0,0,18,254,0,0,18,110,0,0,18,116,0,0,0,0,0,0,18,134,0,0,18,122,0,0,18,134,18,206,18,242,0,0,0,0,0,0,20,118,0,0,0,0,0,0,20,72,0,0,19,88,0,0,18,128,0,0,19,88,0,0,18,248,0,0,18,134,18,206,20,106,0,0,18,140,0,0,18,146,0,0,0,0,0,0,20,72,18,230,19,88,18,236,18,152,0,0,18,158,0,0,20,78,0,0,18,164,0,0,20,118,18,176,18,182,18,206,20,118,18,176,18,182,18,206,18,170,18,176,18,182,18,206,20,118,0,0,19,88,0,0,20,72,0,0,19,88,0,0,20,112,0,0,19,88,18,206,19,70,0,0,19,76,0,0,18,188,0,0,18,194,18,206,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,18,200,19,88,18,206,20,112,0,0,19,88,18,206,20,112,0,0,19,64,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,18,200,19,88,18,206,19,70,0,0,19,76,0,0,20,112,0,0,19,82,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,20,112,0,0,0,0,0,0,20,112,0,0,19,88,18,206,20,112,0,0,19,88,0,0,18,242,0,0,0,0,0,0,20,118,0,0,0,0,0,0,18,218,0,0,0,0,0,0,20,72,18,230,19,88,18,236,20,72,0,0,0,0,0,0,20,72,0,0,19,88,0,0,18,218,0,0,0,0,0,0,18,212,0,0,0,0,0,0,18,218,0,0,0,0,0,0,20,72,0,0,0,0,0,0,18,224,0,0,0,0,0,0,20,72,0,0,0,0,0,0,20,72,18,230,19,88,18,236,20,72,0,0,19,88,0,0,18,242,0,0,0,0,0,0,20,118,0,0,0,0,0,0,19,70,0,0,19,76,0,0,19,4,0,0,19,10,0,0,18,248,0,0,18,254,0,0,19,4,0,0,19,10,0,0,20,112,0,0,19,16,0,0,19,22,19,28,19,34,0,0,19,40,0,0,19,46,0,0,19,52,0,0,19,58,0,0,20,112,0,0,19,64,0,0,20,112,0,0,19,88,0,0,19,70,0,0,19,76,0,0,19,70,0,0,19,76,0,0,19,70,0,0,19,76,0,0,20,112,0,0,19,82,0,0,20,112,0,0,19,88,0,0,20,112,0,0,19,88,0,0,0,3,4,56,0,10,0,10,0,0,0,0,0,3,128,0,0,1,2,193,7,48,0,1,2,193,6,212,0,1,2,193,7,56,0,1,2,38,7,48,0,1,2,38,5,140,0,1,2,118,6,206,0,1,2,118,7,48,0,1,2,118,6,212,0,1,2,118,7,56,0,1,2,183,6,206,0,1,2,183,7,48,0,1,2,183,6,212,0,1,2,183,7,56,0,3,3,12,5,140,0,20,0,0,0,3,3,12,6,212,0,10,0,0,0,1,0,3,128,0,0,1,1,4,5,140,0,1,2,108,0,0,0,3,2,88,0,0,0,0,0,32,0,1,2,128,5,140,0,1,2,48,7,48,0,3,2,108,5,140,0,10,0,0,0,1,0,0,128,0,0,1,2,88,6,212,0,3,2,88,5,140,0,20,0,0,0,3,2,88,0,0,0,10,0,0,0,0,0,8,128,0,0,1,2,68,6,82,0,1,2,68,7,219,0,1,2,68,7,229,0,1,3,169,7,166,0,1,3,168,7,176,0,1,2,70,5,226,0,1,2,68,5,156,0,1,2,68,6,94,0,1,2,68,7,106,0,1,1,24,6,32,0,1,2,136,5,226,0,3,3,158,6,32,1,12,0,0,0,3,4,156,4,36,1,2,0,0,0,3,4,56,0,10,0,248,0,0,0,1,2,108,6,82,0,1,2,108,5,173,0,1,3,209,7,166,0,1,3,208,7,176,0,1,2,108,5,238,0,1,2,106,5,226,0,1,2,108,5,156,0,3,2,78,0,0,0,10,0,0,0,0,0,5,128,0,0,1,1,252,0,0,0,1,2,68,5,173,0,1,2,68,6,92,0,1,2,68,5,238,0,1,2,66,5,226,0,3,1,18,5,220,0,26,0,0,0,1,1,18,7,128,0,3,1,18,7,36,0,10,0,0,0,0,0,2,128,0,0,1,2,219,0,10,0,1,2,138,6,82,0,1,2,138,5,173,0,1,2,138,5,238,0,1,2,138,6,92,0,1,2,138,5,156,0,3,3,14,4,36,0,20,0,0,0,3,3,14,5,238,0,10,0,0,0,0,0,9,128,0,0,1,3,12,254,32,0,3,1,10,6,32,0,10,0,0,0,0,0,1,128,0,0,1,1,10,6,32,0,1,2,68,0,0,0,1,1,250,5,220,0,1,3,192,5,220,0,3,4,16,4,36,0,10,0,0,0,0,0,4,128,0,0,1,3,189,7,166,0,1,3,188,7,176,0,1,2,168,6,92,0,1,2,98,4,36,0,3,2,36,4,36,0,20,0,0,0,3,2,36,0,0,0,10,0,0,0,1,0,2,128,0,0,1,1,174,0,0,0,1,2,118,6,82,0,1,2,118,6,92,0,1,2,118,5,238,0,1,2,228,6,32,0,3,1,252,0,0,0,10,0,0,0,1,0,1,128,0,0,1,2,88,5,100,0,1,4,46,4,36,0,1,2,143,0,0,0,1,2,78,5,173,0,1,2,158,6,92,0,1,2,78,5,156,0,1,2,78,6,94,0,1,2,93,4,36,0,1,2,93,0,0,0,1,2,78,5,238,0,1,2,80,5,226,0,1,2,103,6,82,0,1,2,103,5,238,0,1,2,105,5,226,0,1,2,103,6,92,0,1,2,88,6,82,0,1,2,86,5,226,0,1,2,138,6,112,0,1,2,78,6,112,0,1,2,118,6,112,0,1,2,88,6,112,0,1,1,44,0,5,0,1,2,18,5,140,0,1,3,12,5,140,0,1,2,138,5,140,0,1,2,178,4,36,0,1,2,128,6,82,0,1,2,108,4,36,0,1,2,108,6,92,0,1,2,110,5,226,0,1,2,78,6,82,0,1,2,103,4,36,0,1,2,118,4,36,0,1,2,38,4,36,0,1,2,38,0,0,0,1,2,140,5,226,0,1,1,18,5,220,0,1,2,158,0,0,0,1,2,78,0,0,0,1,2,88,5,156,0,1,2,103,5,156,0,1,3,177,0,0,0,1,2,28,254,32,0,1,2,78,6,92,0,1,4,96,4,36,0,1,2,58,0,0,0,1,2,118,5,140,0,1,2,118,0,0,0,1,4,156,5,140,0,1,4,56,0,10,0,1,2,26,5,226,0,1,2,24,4,36,0,1,2,90,5,226,0,1,4,16,4,36,0,1,2,88,0,10,0,1,2,128,4,36,0,1,2,138,4,36,0,1,2,138,0,0,0,1,2,193,5,140,0,1,2,163,0,0,0,1,2,98,0,0,0,1,3,158,6,32,0,1,4,156,4,36,0,1,2,28,0,0,0,1,2,148,5,140,0,1,2,148,0,0,0,1,2,183,5,140,0,1,2,203,0,0,0,1,2,128,0,0,0,1,2,48,5,140,0,1,2,48,0,0,0,1,2,83,0,0,0,1,2,88,0,0,0,6,0,16,0,1,0,10,0,0,0,1,0,12,0,40,0,1,0,74,1,20,0,2,0,4,6,27,6,39,0,0,6,45,6,46,0,13,6,60,6,71,0,15,6,73,6,75,0,27,0,2,0,5,6,27,6,39,0,0,6,45,6,46,0,13,6,61,6,71,0,15,6,73,6,73,0,26,6,75,6,75,0,27,0,30,0,0,0,122,0,0,0,128,0,0,0,162,0,0,0,184,0,0,0,134,0,0,0,150,0,0,0,150,0,0,0,150,0,0,0,150,0,0,0,140,0,0,0,150,0,0,0,156,0,0,0,196,0,0,0,162,0,0,0,184,0,0,0,190,0,0,0,190,0,0,0,190,0,0,0,190,0,0,0,190,0,0,0,168,0,0,0,190,0,0,0,190,0,0,0,190,0,0,0,178,0,0,0,190,0,0,0,190,0,0,0,184,0,0,0,190,0,0,0,196,0,1,2,86,4,36,0,1,2,90,4,36,0,1,2,18,4,36,0,3,2,78,4,36,0,166,0,0,0,1,2,88,4,36,0,1,2,68,4,36,0,1,2,43,4,36,0,3,2,88,5,140,0,206,0,0,0,1,2,78,5,140,0,1,2,58,4,36,0,1,2,88,5,140,0,1,2,78,4,36,0,28,0,58,0,58,0,138,0,144,0,64,0,70,0,76,0,82,0,88,0,94,0,110,0,126,0,132,0,138,0,144,0,150,0,156,0,156,0,156,0,162,0,178,0,184,0,190,0,196,0,202,0,208,0,214,0,220,0,1,2,88,5,226,0,1,2,98,6,92,0,1,2,88,5,238,0,1,2,88,6,92,0,1,2,88,5,173,0,1,2,88,6,94,0,3,2,78,5,226,0,10,0,0,0,0,0,6,128,0,0,3,2,88,5,156,0,0,0,10,0,0,0,0,128,0,0,1,2,78,6,62,0,1,2,78,5,218,0,1,2,43,6,92,0,1,2,58,6,82,0,1,2,88,7,56,0,1,2,88,6,231,0,3,2,88,6,212,0,10,0,0,0,0,0,7,128,0,0,1,2,88,7,48,0,1,2,88,6,206,0,1,2,88,7,108,0,1,2,88,6,241,0,1,2,88,6,201,0,1,2,88,6,251,0,1,2,58,6,112,0,1,2,78,6,70,0,0,0,1,0,1,0,14,1,110,3,138,0,0,84,42,0,3,68,70,76,84,0,20,99,121,114,108,0,24,108,97,116,110,0,120,1,38,0,0,1,34,0,2,66,71,82,32,0,16,83,82,66,32,0,56,0,0,255,255,0,17,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,12,0,13,0,14,0,16,0,17,0,18,0,19,0,20,0,21,0,15,0,0,255,255,0,17,0,0,0,1,0,2,0,3,0,4,0,5,0,11,0,12,0,13,0,14,0,16,0,17,0,18,0,19,0,20,0,21,0,15,0,194,0,5,67,65,84,32,0,34,77,79,76,32,0,74,78,76,68,32,0,114,80,76,75,32,0,154,82,79,77,32,0,194,0,0,255,255,0,17,0,0,0,1,0,2,0,3,0,4,0,5,0,7,0,12,0,13,0,14,0,16,0,17,0,18,0,19,0,20,0,21,0,15,0,0,255,255,0,17,0,0,0,1,0,2,0,3,0,4,0,5,0,8,0,12,0,13,0,14,0,16,0,17,0,18,0,19,0,20,0,21,0,15,0,0,255,255,0,17,0,0,0,1,0,2,0,3,0,4,0,5,0,9,0,12,0,13,0,14,0,16,0,17,0,18,0,19,0,20,0,21,0,15,0,0,255,255,0,17,0,0,0,1,0,2,0,3,0,4,0,5,0,10,0,12,0,13,0,14,0,16,0,17,0,18,0,19,0,20,0,21,0,15,0,0,255,255,0,16,0,0,0,1,0,2,0,3,0,4,0,5,0,12,0,13,0,14,0,16,0,17,0,18,0,19,0,20,0,21,0,15,0,22,97,97,108,116,0,134,99,97,108,116,0,142,99,97,115,101,1,158,99,99,109,112,1,164,100,110,111,109,1,172,102,114,97,99,1,178,108,111,99,108,1,188,108,111,99,108,1,194,108,111,99,108,1,200,108,111,99,108,1,206,108,111,99,108,1,212,108,111,99,108,1,218,110,117,109,114,1,224,111,114,100,110,1,230,114,99,108,116,1,238,114,118,114,110,1,244,115,105,110,102,1,248,115,115,48,50,1,254,115,115,49,57,2,4,115,117,98,115,2,10,115,117,112,115,2,16,122,101,114,111,2,22,0,0,0,2,0,0,0,1,0,0,0,134,0,2,0,6,0,10,0,13,0,16,0,21,0,24,0,28,0,31,0,34,0,38,0,41,0,44,0,47,0,51,0,54,0,57,0,60,0,63,0,66,0,69,0,72,0,75,0,78,0,82,0,85,0,88,0,91,0,94,0,98,0,101,0,104,0,106,0,108,0,111,0,113,0,115,0,118,0,120,0,123,0,125,0,128,0,131,0,134,0,137,0,141,0,143,0,145,0,149,0,151,0,154,0,158,0,162,0,165,0,169,0,172,0,176,0,179,0,181,0,184,0,186,0,188,0,190,0,192,0,195,0,197,0,199,0,202,0,204,0,206,0,208,0,210,0,212,0,214,0,216,0,218,0,221,0,223,0,225,0,227,0,229,0,232,0,234,0,236,0,239,0,241,0,243,0,246,0,248,0,250,0,252,0,254,1,1,1,3,1,5,1,7,1,9,1,11,1,13,1,15,1,17,1,19,1,22,1,24,1,26,1,28,1,30,1,32,1,34,1,36,1,39,1,41,1,43,1,45,1,48,1,50,1,52,1,55,1,57,1,59,1,62,1,64,1,66,1,68,1,71,1,74,1,76,1,78,1,80,1,83,1,86,1,88,1,90,1,93,0,0,0,1,1,124,0,0,0,2,1,96,1,100,0,0,0,1,1,115,0,0,0,3,1,116,1,117,1,118,0,0,0,1,1,109,0,0,0,1,1,106,0,0,0,1,1,103,0,0,0,1,1,105,0,0,0,1,1,104,0,0,0,1,1,110,0,0,0,1,1,114,0,0,0,2,1,121,1,123,0,0,0,1,1,128,0,0,0,0,0,0,0,1,1,112,0,0,0,1,1,125,0,0,0,1,1,127,0,0,0,1,1,111,0,0,0,1,1,113,0,0,0,1,1,126,1,130,3,6,4,180,7,44,7,190,44,56,44,56,7,208,8,98,44,56,44,56,8,116,9,30,50,254,9,50,9,220,56,112,9,250,10,140,64,108,64,108,64,108,10,154,11,10,40,150,11,28,11,180,42,214,42,214,11,194,12,50,44,56,12,68,12,200,44,56,12,218,13,96,48,120,48,120,13,110,13,244,48,120,14,6,14,118,72,242,14,144,15,46,50,254,15,64,15,222,50,254,50,254,15,236,16,138,50,254,16,156,17,58,50,254,17,76,17,234,54,72,17,252,18,154,60,248,18,172,19,74,50,254,19,92,19,250,50,254,20,12,20,170,52,186,20,196,21,52,54,72,21,70,21,182,54,72,21,200,22,116,54,72,54,72,22,130,22,242,54,72,23,4,23,116,54,72,23,134,23,246,54,72,24,8,24,120,56,112,24,138,24,250,56,112,56,112,25,8,25,120,60,248,25,138,25,250,40,150,26,12,26,124,26,154,26,226,27,0,27,132,44,56,27,150,28,6,28,36,28,108,28,138,29,16,50,254,29,34,29,168,29,198,30,76,60,248,30,94,30,206,30,236,31,92,56,112,31,110,31,222,60,248,31,240,32,96,60,248,32,114,32,226,60,248,32,244,33,160,60,248,60,248,33,174,33,246,34,20,34,132,34,162,35,18,64,108,64,108,35,32,35,144,35,174,36,30,67,118,36,56,36,168,67,118,67,118,36,182,37,38,68,180,68,180,37,52,37,164,50,254,37,182,38,38,72,242,72,242,38,52,38,164,73,96,38,190,39,46,39,60,39,60,39,80,39,162,39,176,39,196,40,28,40,54,40,136,40,150,40,164,40,252,41,22,41,104,41,130,41,212,41,238,42,64,42,82,42,200,42,214,42,228,43,54,43,80,43,198,43,216,44,42,44,56,44,70,44,170,44,196,45,40,45,66,45,148,45,174,46,0,46,26,46,126,46,144,46,250,47,20,47,120,47,146,47,234,48,4,48,106,48,120,48,134,48,236,49,6,49,126,49,144,49,246,50,8,50,90,50,116,50,240,50,254,51,12,51,136,51,154,52,22,52,48,52,172,52,186,52,200,53,26,53,52,53,152,53,178,54,58,54,72,54,86,54,168,54,186,55,12,55,38,55,138,55,164,55,246,56,16,56,98,56,112,56,126,56,208,56,226,57,52,57,78,57,160,57,186,58,18,58,44,58,126,58,152,58,234,59,4,59,106,59,132,59,214,59,240,60,66,60,92,60,234,60,248,61,6,61,88,61,114,61,196,61,222,62,54,62,80,62,168,62,194,63,20,63,46,63,128,63,154,63,242,64,12,64,94,64,108,64,122,64,204,64,230,65,56,65,82,65,170,65,196,66,22,66,36,66,56,66,138,66,164,66,252,67,22,67,104,67,118,67,132,67,214,67,232,68,58,68,84,68,166,68,180,68,200,69,50,69,76,69,176,69,202,70,34,70,60,70,142,70,156,70,176,71,2,71,16,71,36,71,154,71,180,72,12,72,38,72,120,72,146,72,228,72,242,73,0,73,82,73,96,73,116,73,204,73,230,74,68,74,94,74,182,74,196,74,216,75,176,75,206,75,226,76,170,76,142,76,170,77,0,79,242,79,242,77,68,77,102,77,164,77,210,78,10,78,42,78,74,78,176,78,196,78,196,78,210,79,2,78,224,78,238,79,2,79,16,79,78,79,78,79,102,79,174,79,208,79,242,80,58,80,78,80,78,80,98,80,122,0,1,0,0,0,1,0,8,0,2,0,212,0,103,1,140,0,189,0,190,1,141,0,191,0,192,0,140,0,147,0,193,1,140,1,133,1,131,1,134,1,141,1,135,1,136,1,82,1,89,1,138,1,137,1,206,1,207,1,208,2,34,2,16,2,17,2,18,2,19,2,20,2,21,2,22,2,23,2,24,2,25,2,26,2,27,2,28,2,29,2,30,2,31,2,32,2,33,2,127,2,128,2,129,2,130,2,131,2,132,2,133,2,134,2,135,2,136,2,252,4,207,6,82,4,111,4,112,4,113,4,114,4,115,4,116,4,117,4,118,4,119,4,120,4,121,4,122,4,123,4,124,4,125,4,126,4,127,4,128,4,129,4,130,4,131,4,132,4,133,4,134,4,135,4,136,4,137,4,138,4,139,4,140,4,141,4,142,5,13,2,246,6,60,6,61,6,62,6,64,6,65,6,66,6,67,6,68,6,69,6,70,6,71,6,72,6,77,6,80,0,1,0,103,0,1,0,29,0,95,0,101,0,102,0,136,0,138,0,146,0,185,0,195,0,223,0,230,1,36,1,43,1,44,1,78,1,80,1,88,1,117,1,128,1,149,1,160,1,170,1,210,1,211,1,212,1,215,1,219,1,220,1,221,1,222,1,223,1,224,1,226,1,230,1,233,1,239,1,240,1,241,1,243,1,244,1,255,2,137,2,138,2,139,2,140,2,141,2,142,2,143,2,144,2,145,2,146,2,184,2,186,3,81,3,106,3,107,3,108,3,109,3,110,3,111,3,112,3,113,3,114,3,115,3,116,3,117,3,118,3,119,3,120,3,121,3,122,3,123,3,124,3,125,3,126,3,127,3,128,3,129,3,130,3,131,3,132,3,133,3,134,3,135,3,136,3,137,4,155,5,14,6,27,6,28,6,29,6,31,6,32,6,33,6,34,6,35,6,36,6,37,6,38,6,40,6,76,6,79,0,3,0,0,0,1,0,8,0,1,2,36,0,36,0,78,0,84,0,96,0,106,0,116,0,126,0,136,0,146,0,156,0,166,0,176,0,186,0,198,0,214,0,220,0,228,0,238,0,252,1,8,1,24,1,30,1,38,1,44,1,50,1,56,1,82,1,92,1,98,1,108,1,158,1,222,1,244,2,0,2,6,2,12,2,30,0,2,1,139,6,82,0,5,2,116,2,117,2,127,2,137,2,147,0,4,2,118,2,128,2,138,2,148,0,4,2,119,2,129,2,139,2,149,0,4,2,120,2,130,2,140,2,150,0,4,2,121,2,131,2,141,2,151,0,4,2,122,2,132,2,142,2,152,0,4,2,123,2,133,2,143,2,153,0,4,2,124,2,134,2,144,2,154,0,4,2,125,2,135,2,145,2,155,0,4,2,126,2,136,2,146,2,156,0,5,2,230,2,231,2,245,2,248,6,82,0,7,2,236,2,237,2,249,3,4,4,230,4,241,6,82,0,2,2,243,6,82,0,3,2,244,3,5,6,82,0,4,2,234,2,250,3,6,6,82,0,6,2,224,2,253,2,254,3,13,4,243,6,82,0,5,2,228,3,7,3,8,3,9,6,82,0,7,2,157,2,242,3,0,3,17,3,18,5,10,6,82,0,2,3,19,6,82,0,3,3,1,3,12,6,82,0,2,3,2,6,82,0,2,3,3,6,82,0,2,4,208,6,82,0,12,2,215,2,216,2,229,4,206,4,228,4,234,4,237,4,238,4,242,5,4,5,12,6,82,0,4,3,11,3,20,3,21,6,82,0,2,4,249,6,82,0,4,4,216,4,217,4,251,6,82,0,24,2,235,2,238,2,239,2,246,2,247,2,251,3,10,3,14,3,15,4,211,4,213,4,219,4,220,4,221,4,222,4,227,4,231,4,235,4,253,4,254,5,5,5,14,5,18,6,82,0,31,2,217,2,219,2,220,2,240,2,255,3,16,4,210,4,212,4,214,4,215,4,218,4,223,4,224,4,225,4,229,4,232,4,233,4,236,4,239,4,244,4,248,4,250,4,252,4,255,5,0,5,2,5,8,5,11,5,15,5,17,6,82,0,10,2,221,2,222,2,233,2,241,4,226,4,240,5,1,5,3,5,6,6,82,0,5,2,223,5,7,5,9,5,16,6,82,0,2,5,19,6,82,0,2,4,205,6,82,0,8,2,218,2,225,2,227,4,209,4,245,4,246,4,247,6,82,0,2,6,63,6,73,0,1,0,36,1,112,2,106,2,107,2,108,2,109,2,110,2,111,2,112,2,113,2,114,2,115,2,165,2,167,2,168,2,170,2,172,2,176,2,178,2,181,2,182,2,183,2,185,2,187,2,188,2,193,2,200,3,34,3,67,3,71,3,73,3,74,3,79,3,93,4,156,4,167,6,30,0,6,0,0,0,6,0,18,0,38,0,58,0,80,0,102,0,124,0,3,0,1,50,206,0,1,50,206,0,3,50,206,50,206,67,200,0,0,0,3,0,0,0,1,50,186,0,4,50,186,50,186,67,180,67,180,0,0,0,3,0,3,67,56,67,56,67,56,0,1,67,160,0,0,0,1,0,0,0,3,0,3,0,2,67,34,67,34,0,1,50,144,0,1,67,138,0,1,0,0,0,3,0,3,0,1,67,12,0,1,50,122,0,2,50,122,67,116,0,1,0,0,0,4,0,3,0,0,0,1,50,100,0,3,50,100,50,100,67,94,0,1,0,0,0,5,0,1,0,0,0,1,0,8,0,2,38,76,0,2,4,210,6,82,0,6,0,0,0,6,0,18,0,38,0,58,0,80,0,102,0,124,0,3,0,1,67,24,0,1,67,24,0,3,50,42,50,42,50,42,0,0,0,3,0,0,0,1,67,4,0,4,50,22,50,22,50,22,50,22,0,0,0,3,0,3,66,148,66,148,66,148,0,1,50,2,0,0,0,1,0,0,0,7,0,3,0,2,66,126,66,126,0,1,49,236,0,1,49,236,0,1,0,0,0,8,0,3,0,1,66,104,0,1,49,214,0,2,49,214,49,214,0,1,0,0,0,9,0,3,0,0,0,1,66,174,0,3,49,192,49,192,49,192,0,1,0,0,0,7,0,1,0,0,0,1,0,8,0,2,49,186,0,2,6,82,4,247,0,6,0,0,0,7,0,20,0,40,0,60,0,82,0,104,0,126,0,148,0,3,0,1,66,114,0,1,66,114,0,3,63,126,63,126,66,126,0,0,0,3,0,0,0,1,66,94,0,4,63,106,63,106,66,106,66,106,0,0,0,3,0,2,61,250,65,22,0,1,66,74,0,3,63,86,63,86,66,86,0,0,0,3,0,3,65,216,65,216,65,216,0,1,66,64,0,0,0,1,0,0,0,11,0,3,0,2,65,194,65,194,0,1,63,42,0,1,66,42,0,1,0,0,0,11,0,3,0,1,65,172,0,1,63,20,0,2,63,20,66,20,0,1,0,0,0,12,0,3,0,0,0,1,65,242,0,3,62,254,62,254,65,254,0,1,0,0,0,11,0,1,0,0,0,1,0,8,0,2,20,150,0,3,6,82,4,255,6,82,0,6,0,0,0,7,0,20,0,40,0,60,0,82,0,104,0,126,0,148,0,3,0,1,65,180,0,1,65,180,0,3,54,166,57,176,57,176,0,0,0,3,0,0,0,1,65,160,0,4,54,146,57,156,57,156,57,156,0,0,0,3,0,2,61,60,64,88,0,1,65,140,0,3,54,126,57,136,57,136,0,0,0,3,0,3,65,26,65,26,65,26,0,1,57,114,0,0,0,1,0,0,0,14,0,3,0,2,65,4,65,4,0,1,57,92,0,1,57,92,0,1,0,0,0,15,0,3,0,1,64,238,0,1,54,60,0,2,57,70,57,70,0,1,0,0,0,14,0,3,0,0,0,1,65,52,0,3,54,38,57,48,57,48,0,1,0,0,0,14,0,1,0,0,0,1,0,8,0,2,0,12,0,3,6,82,4,242,6,82,0,1,0,3,2,170,2,193,3,74,0,6,0,0,0,6,0,18,0,38,0,58,0,80,0,102,0,124,0,3,0,1,55,152,0,1,55,152,0,3,55,152,55,152,55,152,0,0,0,3,0,0,0,1,55,132,0,4,55,132,55,132,55,132,55,132,0,0,0,3,0,3,64,106,64,106,64,106,0,1,55,112,0,0,0,1,0,0,0,17,0,3,0,2,64,84,64,84,0,1,55,90,0,1,55,90,0,1,0,0,0,18,0,3,0,1,64,62,0,1,55,68,0,2,55,68,55,68,0,1,0,0,0,19,0,3,0,0,0,1,55,46,0,3,55,46,55,46,55,46,0,1,0,0,0,20,0,1,0,0,0,1,0,8,0,1,55,16,0,87,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,64,86,0,1,64,86,0,2,64,86,64,92,0,0,0,3,0,0,0,1,64,68,0,3,64,68,64,74,64,74,0,0,0,3,0,2,63,208,63,208,0,1,64,56,0,0,0,1,0,0,0,22,0,3,0,1,63,188,0,1,64,30,0,1,64,36,0,1,0,0,0,22,0,3,0,0,0,1,64,10,0,2,64,10,64,16,0,1,0,0,0,23,0,1,0,0,0,1,0,8,0,2,30,212,0,2,5,17,6,82,0,6,0,0,0,7,0,20,0,38,0,56,0,74,0,92,0,112,0,132,0,3,0,1,63,8,0,1,63,8,0,2,63,8,63,8,0,0,0,3,0,0,0,1,62,246,0,3,62,246,62,246,62,246,0,0,0,3,0,1,67,168,0,1,62,228,0,2,62,228,62,228,0,0,0,3,0,0,0,1,62,210,0,3,62,210,62,210,67,150,0,0,0,3,0,2,63,38,63,38,0,1,62,192,0,0,0,1,0,0,0,25,0,3,0,1,63,18,0,1,62,172,0,1,62,172,0,1,0,0,0,26,0,3,0,0,0,1,62,152,0,2,62,152,62,152,0,1,0,0,0,27,0,1,0,0,0,1,0,8,0,1,62,124,0,78,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,46,58,0,1,46,58,0,2,46,58,60,52,0,0,0,3,0,0,0,1,46,40,0,3,46,40,60,34,60,34,0,0,0,3,0,2,62,168,62,168,0,1,60,16,0,0,0,1,0,0,0,29,0,3,0,1,62,148,0,1,46,2,0,1,59,252,0,1,0,0,0,29,0,3,0,0,0,1,45,238,0,2,45,238,59,232,0,1,0,0,0,30,0,1,0,0,0,1,0,8,0,2,33,108,0,2,4,211,6,82,0,6,0,0,0,6,0,18,0,36,0,54,0,72,0,92,0,112,0,3,0,1,45,182,0,1,45,182,0,2,45,182,62,176,0,0,0,3,0,0,0,1,45,164,0,3,45,164,62,158,62,158,0,0,0,3,0,1,62,128,0,1,45,146,0,2,45,146,62,140,0,0,0,3,0,2,62,18,62,18,0,1,62,122,0,0,0,1,0,0,0,32,0,3,0,1,61,254,0,1,45,108,0,1,62,102,0,1,0,0,0,32,0,3,0,0,0,1,45,88,0,2,45,88,62,82,0,1,0,0,0,33,0,1,0,0,0,1,0,8,0,2,33,66,0,2,4,212,6,82,0,6,0,0,0,6,0,18,0,36,0,54,0,74,0,94,0,114,0,3,0,1,56,64,0,1,56,64,0,2,56,64,56,64,0,0,0,3,0,0,0,1,56,46,0,3,56,46,56,46,56,46,0,0,0,3,0,2,57,154,60,182,0,1,56,28,0,2,56,28,56,28,0,0,0,3,0,2,61,122,61,122,0,1,56,8,0,0,0,1,0,0,0,35,0,3,0,1,61,102,0,1,55,244,0,1,55,244,0,1,0,0,0,36,0,3,0,0,0,1,55,224,0,2,55,224,55,224,0,1,0,0,0,37,0,1,0,0,0,1,0,8,0,1,55,196,0,70,0,6,0,0,0,6,0,18,0,36,0,54,0,74,0,94,0,114,0,3,0,1,55,172,0,1,55,172,0,2,55,172,58,134,0,0,0,3,0,0,0,1,55,154,0,3,55,154,58,116,58,116,0,0,0,3,0,2,57,6,60,34,0,1,55,136,0,2,55,136,58,98,0,0,0,3,0,2,60,230,60,230,0,1,58,78,0,0,0,1,0,0,0,39,0,3,0,1,60,210,0,1,55,96,0,1,58,58,0,1,0,0,0,39,0,3,0,0,0,1,55,76,0,2,55,76,58,38,0,1,0,0,0,40,0,1,0,0,0,1,0,8,0,2,35,2,0,2,6,82,2,238,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,55,22,0,1,55,22,0,2,64,230,64,230,0,0,0,3,0,0,0,1,55,4,0,3,64,212,64,212,64,212,0,0,0,3,0,2,60,100,60,100,0,1,64,194,0,0,0,1,0,0,0,42,0,3,0,1,60,80,0,1,64,174,0,1,64,174,0,1,0,0,0,43,0,3,0,0,0,1,54,202,0,2,64,154,64,154,0,1,0,0,0,42,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,242,0,1,0,2,2,167,2,181,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,57,98,0,1,57,98,0,2,54,136,57,98,0,0,0,3,0,0,0,1,57,80,0,3,54,118,57,80,57,80,0,0,0,3,0,2,55,226,58,254,0,1,57,62,0,2,54,100,57,62,0,0,0,3,0,3,60,30,55,206,58,234,0,1,57,42,0,2,54,80,57,42,0,0,0,3,0,2,59,172,59,172,0,1,57,20,0,0,0,1,0,0,0,45,0,3,0,1,59,152,0,1,54,38,0,1,57,0,0,1,0,0,0,45,0,3,0,0,0,1,56,236,0,2,54,18,56,236,0,1,0,0,0,46,0,1,0,0,0,1,0,8,0,2,33,200,0,2,6,82,4,219,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,56,178,0,1,56,178,0,2,56,178,56,178,0,0,0,3,0,0,0,1,56,160,0,3,56,160,56,160,56,160,0,0,0,3,0,2,55,50,58,78,0,1,56,142,0,2,56,142,56,142,0,0,0,3,0,3,59,110,55,30,58,58,0,1,56,122,0,2,56,122,56,122,0,0,0,3,0,2,58,252,58,252,0,1,56,100,0,0,0,1,0,0,0,48,0,3,0,1,58,232,0,1,56,80,0,1,56,80,0,1,0,0,0,49,0,3,0,0,0,1,56,60,0,2,56,60,56,60,0,1,0,0,0,50,0,1,0,0,0,1,0,8,0,1,56,32,1,151,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,56,6,0,1,56,6,0,2,56,6,59,6,0,0,0,3,0,0,0,1,55,244,0,3,55,244,58,244,58,244,0,0,0,3,0,2,54,134,57,162,0,1,55,226,0,2,55,226,58,226,0,0,0,3,0,3,58,194,54,114,57,142,0,1,55,206,0,2,55,206,58,206,0,0,0,3,0,2,58,80,58,80,0,1,58,184,0,0,0,1,0,0,0,52,0,3,0,1,58,60,0,1,55,164,0,1,58,164,0,1,0,0,0,52,0,3,0,0,0,1,55,144,0,2,55,144,58,144,0,1,0,0,0,53,0,1,0,0,0,1,0,8,0,2,37,24,0,2,6,82,4,223,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,55,86,0,1,55,86,0,2,47,60,55,86,0,0,0,3,0,0,0,1,55,68,0,3,47,42,55,68,55,68,0,0,0,3,0,2,53,214,56,242,0,1,55,50,0,2,47,24,55,50,0,0,0,3,0,3,58,18,53,194,56,222,0,1,55,30,0,2,47,4,55,30,0,0,0,3,0,2,57,160,57,160,0,1,55,8,0,0,0,1,0,0,0,55,0,3,0,1,57,140,0,1,46,218,0,1,54,244,0,1,0,0,0,55,0,3,0,0,0,1,54,224,0,2,46,198,54,224,0,1,0,0,0,56,0,1,0,0,0,1,0,8,0,2,34,230,0,2,6,82,4,220,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,54,166,0,1,54,166,0,2,57,166,57,166,0,0,0,3,0,0,0,1,54,148,0,3,57,148,57,148,57,148,0,0,0,3,0,2,53,38,56,66,0,1,54,130,0,2,57,130,57,130,0,0,0,3,0,3,57,98,53,18,56,46,0,1,54,110,0,2,57,110,57,110,0,0,0,3,0,2,56,240,56,240,0,1,57,88,0,0,0,1,0,0,0,58,0,3,0,1,56,220,0,1,57,68,0,1,57,68,0,1,0,0,0,59,0,3,0,0,0,1,54,48,0,2,57,48,57,48,0,1,0,0,0,58,0,1,0,0,0,1,0,8,0,2,35,184,0,2,6,82,4,225,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,53,246,0,1,53,246,0,2,56,234,56,234,0,0,0,3,0,0,0,1,53,228,0,3,56,216,56,216,56,216,0,0,0,3,0,2,52,118,55,146,0,1,53,210,0,2,56,198,56,198,0,0,0,3,0,3,56,178,52,98,55,126,0,1,53,190,0,2,56,178,56,178,0,0,0,3,0,2,56,64,56,64,0,1,56,156,0,0,0,1,0,0,0,61,0,3,0,1,56,44,0,1,56,136,0,1,56,136,0,1,0,0,0,62,0,3,0,0,0,1,53,128,0,2,56,116,56,116,0,1,0,0,0,61,0,1,0,0,0,1,0,8,0,2,40,218,0,2,6,82,4,226,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,53,70,0,1,53,70,0,2,60,60,53,70,0,0,0,3,0,0,0,1,53,52,0,3,60,42,53,52,53,52,0,0,0,3,0,2,51,198,54,226,0,1,53,34,0,2,60,24,53,34,0,0,0,3,0,3,56,2,51,178,54,206,0,1,53,14,0,2,60,4,53,14,0,0,0,3,0,2,55,144,55,144,0,1,52,248,0,0,0,1,0,0,0,64,0,3,0,1,55,124,0,1,59,218,0,1,52,228,0,1,0,0,0,64,0,3,0,0,0,1,52,208,0,2,59,198,52,208,0,1,0,0,0,65,0,1,0,0,0,1,0,8,0,2,52,204,0,2,6,82,4,227,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,44,124,0,1,44,124,0,2,52,150,52,150,0,0,0,3,0,0,0,1,44,106,0,3,52,132,52,132,52,132,0,0,0,3,0,2,51,22,54,50,0,1,44,88,0,2,52,114,52,114,0,0,0,3,0,3,55,82,51,2,54,30,0,1,44,68,0,2,52,94,52,94,0,0,0,3,0,2,54,224,54,224,0,1,52,72,0,0,0,1,0,0,0,67,0,3,0,1,54,204,0,1,52,52,0,1,52,52,0,1,0,0,0,68,0,3,0,0,0,1,44,6,0,2,52,32,52,32,0,1,0,0,0,67,0,1,0,0,0,1,0,8,0,2,32,38,0,2,6,82,2,247,0,6,0,0,0,7,0,20,0,38,0,56,0,76,0,98,0,118,0,138,0,3,0,1,43,204,0,1,43,204,0,2,43,204,49,252,0,0,0,3,0,0,0,1,43,186,0,3,43,186,49,234,49,234,0,0,0,3,0,2,50,102,53,130,0,1,43,168,0,2,43,168,49,216,0,0,0,3,0,3,54,162,50,82,53,110,0,1,43,148,0,2,43,148,49,196,0,0,0,3,0,2,54,48,54,48,0,1,49,174,0,0,0,1,0,0,0,70,0,3,0,1,54,28,0,1,43,106,0,1,49,154,0,1,0,0,0,70,0,3,0,0,0,1,43,86,0,2,43,86,49,134,0,1,0,0,0,71,0,1,0,0,0,1,0,8,0,2,0,10,0,2,2,245,6,82,0,1,0,2,2,165,2,170,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,54,50,0,1,54,50,0,2,51,50,54,50,0,0,0,3,0,0,0,1,54,32,0,3,51,32,54,32,54,32,0,0,0,3,0,2,53,166,53,166,0,1,54,14,0,0,0,1,0,0,0,73,0,3,0,1,53,146,0,1,50,250,0,1,53,250,0,1,0,0,0,73,0,3,0,0,0,1,53,230,0,2,50,230,53,230,0,1,0,0,0,74,0,1,0,0,0,1,0,8,0,2,32,110,0,2,6,82,4,232,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,53,176,0,1,53,176,0,2,53,176,50,176,0,0,0,3,0,0,0,1,53,158,0,3,53,158,50,158,50,158,0,0,0,3,0,2,53,36,53,36,0,1,50,140,0,0,0,1,0,0,0,76,0,3,0,1,53,16,0,1,53,120,0,1,50,120,0,1,0,0,0,76,0,3,0,0,0,1,53,100,0,2,53,100,50,100,0,1,0,0,0,77,0,1,0,0,0,1,0,8,0,2,31,236,0,2,4,235,6,82,0,6,0,0,0,8,0,22,0,40,0,58,0,76,0,94,0,112,0,132,0,152,0,3,0,1,53,40,0,1,53,40,0,2,53,40,53,40,0,0,0,3,0,0,0,1,53,22,0,3,53,22,53,22,53,22,0,0,0,3,0,1,52,54,0,1,53,4,0,2,53,4,53,4,0,0,0,3,0,1,46,174,0,1,52,242,0,2,52,242,52,242,0,0,0,3,0,1,38,154,0,1,52,224,0,2,52,224,52,224,0,0,0,3,0,2,52,102,52,102,0,1,52,206,0,0,0,1,0,0,0,79,0,3,0,1,52,82,0,1,52,186,0,1,52,186,0,1,0,0,0,80,0,3,0,0,0,1,52,166,0,2,52,166,52,166,0,1,0,0,0,81,0,1,0,0,0,1,0,8,0,1,52,138,1,163,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,52,116,0,1,52,116,0,2,52,116,44,100,0,0,0,3,0,0,0,1,52,98,0,3,52,98,44,82,44,82,0,0,0,3,0,2,51,232,51,232,0,1,44,64,0,0,0,1,0,0,0,83,0,3,0,1,51,212,0,1,52,60,0,1,44,44,0,1,0,0,0,83,0,3,0,0,0,1,52,40,0,2,52,40,44,24,0,1,0,0,0,84,0,1,0,0,0,1,0,8,0,2,33,14,0,2,4,234,6,82,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,51,242,0,1,51,242,0,2,43,226,51,242,0,0,0,3,0,0,0,1,51,224,0,3,43,208,51,224,51,224,0,0,0,3,0,2,51,102,51,102,0,1,51,206,0,0,0,1,0,0,0,86,0,3,0,1,51,82,0,1,43,170,0,1,51,186,0,1,0,0,0,86,0,3,0,0,0,1,51,166,0,2,43,150,51,166,0,1,0,0,0,87,0,1,0,0,0,1,0,8,0,2,32,140,0,2,6,82,4,229,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,43,96,0,1,43,96,0,2,51,112,51,112,0,0,0,3,0,0,0,1,43,78,0,3,51,94,51,94,51,94,0,0,0,3,0,2,50,228,50,228,0,1,51,76,0,0,0,1,0,0,0,89,0,3,0,1,50,208,0,1,51,56,0,1,51,56,0,1,0,0,0,90,0,3,0,0,0,1,43,20,0,2,51,36,51,36,0,1,0,0,0,89,0,1,0,0,0,1,0,8,0,2,32,10,0,2,6,82,2,220,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,42,222,0,1,42,222,0,2,42,222,50,238,0,0,0,3,0,0,0,1,42,204,0,3,42,204,50,220,50,220,0,0,0,3,0,2,50,98,50,98,0,1,50,202,0,0,0,1,0,0,0,92,0,3,0,1,50,78,0,1,42,166,0,1,50,182,0,1,0,0,0,92,0,3,0,0,0,1,42,146,0,2,42,146,50,162,0,1,0,0,0,93,0,1,0,0,0,1,0,8,0,2,31,136,0,2,6,82,2,217,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,42,92,0,1,42,92,0,2,42,92,42,92,0,0,0,3,0,0,0,1,42,74,0,3,42,74,42,74,42,74,0,0,0,3,0,2,49,224,49,224,0,1,42,56,0,0,0,1,0,0,0,95,0,3,0,1,49,204,0,1,42,36,0,1,42,36,0,1,0,0,0,96,0,3,0,0,0,1,42,16,0,2,42,16,42,16,0,1,0,0,0,97,0,1,0,0,0,1,0,8,0,1,41,244,0,23,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,41,222,0,1,41,222,0,2,49,226,49,226,0,0,0,3,0,0,0,1,41,204,0,3,49,208,49,208,49,208,0,0,0,3,0,2,49,98,49,98,0,1,49,190,0,0,0,1,0,0,0,99,0,3,0,1,49,78,0,1,49,170,0,1,49,170,0,1,0,0,0,100,0,3,0,0,0,1,41,146,0,2,49,150,49,150,0,1,0,0,0,99,0,1,0,0,0,1,0,8,0,2,34,212,0,2,6,82,2,222,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,49,96,0,1,49,96,0,2,49,102,49,102,0,0,0,3,0,0,0,1,49,78,0,3,49,84,49,84,49,84,0,0,0,3,0,2,48,224,48,224,0,1,49,66,0,0,0,1,0,0,0,102,0,3,0,1,48,204,0,1,49,46,0,1,49,46,0,1,0,0,0,103,0,3,0,0,0,1,49,20,0,2,49,26,49,26,0,1,0,0,0,102,0,1,0,0,0,1,0,8,0,2,31,68,0,2,6,82,5,9,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,48,222,0,1,48,222,0,2,48,228,48,234,0,0,0,3,0,0,0,1,48,204,0,3,48,210,48,216,48,216,0,0,0,3,0,2,48,94,48,94,0,1,48,198,0,0,0,1,0,0,0,105,0,3,0,1,48,74,0,1,48,172,0,1,48,178,0,1,0,0,0,105,0,3,0,0,0,1,48,146,0,2,48,152,48,158,0,1,0,0,0,105,0,1,0,0,0,1,0,8,0,2,0,12,0,3,5,8,6,82,6,82,0,1,0,3,3,73,3,74,3,79,0,6,0,0,0,3,0,12,0,32,0,52,0,3,0,2,47,248,47,248,0,1,48,96,0,0,0,1,0,0,0,107,0,3,0,1,47,228,0,1,47,126,0,1,48,76,0,1,0,0,0,107,0,3,0,0,0,1,48,44,0,2,47,106,48,56,0,1,0,0,0,107,0,1,0,0,0,1,0,8,0,2,0,12,0,3,6,82,4,244,6,82,0,1,0,3,2,176,3,73,3,74,0,6,0,0,0,6,0,18,0,36,0,54,0,72,0,92,0,112,0,3,0,1,47,232,0,1,47,232,0,2,30,250,30,250,0,0,0,3,0,0,0,1,47,214,0,3,30,232,30,232,30,232,0,0,0,3,0,0,0,1,47,196,0,3,30,214,30,214,47,208,0,0,0,3,0,2,47,86,47,86,0,1,30,196,0,0,0,1,0,0,0,109,0,3,0,1,47,66,0,1,30,176,0,1,30,176,0,1,0,0,0,110,0,3,0,0,0,1,47,138,0,2,30,156,30,156,0,1,0,0,0,109,0,1,0,0,0,1,0,8,0,2,30,152,0,2,6,82,4,246,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,47,84,0,1,47,84,0,2,30,102,47,96,0,0,0,3,0,0,0,1,47,66,0,3,30,84,47,78,47,78,0,0,0,3,0,2,46,212,46,212,0,1,47,60,0,0,0,1,0,0,0,112,0,3,0,1,46,192,0,1,30,46,0,1,47,40,0,1,0,0,0,112,0,3,0,0,0,1,47,8,0,2,30,26,47,20,0,1,0,0,0,112,0,1,0,0,0,1,0,8,0,2,0,12,0,3,4,248,6,82,6,82,0,1,0,3,3,73,3,74,4,167,0,6,0,0,0,3,0,12,0,32,0,52,0,3,0,2,46,110,46,110,0,1,46,214,0,0,0,1,0,0,0,114,0,3,0,1,46,90,0,1,32,124,0,1,46,194,0,1,0,0,0,114,0,3,0,0,0,1,46,162,0,2,32,104,46,174,0,1,0,0,0,114,0,1,0,0,0,1,0,8,0,2,0,12,0,3,6,82,4,250,6,82,0,1,0,3,3,34,3,73,3,74,0,6,0,0,0,6,0,18,0,36,0,54,0,74,0,94,0,114,0,3,0,1,46,94,0,1,46,94,0,2,43,106,43,106,0,0,0,3,0,0,0,1,46,76,0,3,43,88,43,88,43,88,0,0,0,3,0,2,41,234,45,6,0,1,46,58,0,2,43,70,43,70,0,0,0,3,0,2,45,202,45,202,0,1,43,50,0,0,0,1,0,0,0,116,0,3,0,1,45,182,0,1,43,30,0,1,43,30,0,1,0,0,0,117,0,3,0,0,0,1,45,254,0,2,43,10,43,10,0,1,0,0,0,116,0,1,0,0,0,1,0,8,0,2,30,100,0,2,4,254,6,82,0,6,0,0,0,6,0,18,0,36,0,54,0,74,0,94,0,114,0,3,0,1,45,198,0,1,45,198,0,2,42,210,45,210,0,0,0,3,0,0,0,1,45,180,0,3,42,192,45,192,45,192,0,0,0,3,0,2,41,82,44,110,0,1,45,162,0,2,42,174,45,174,0,0,0,3,0,2,45,50,45,50,0,1,45,154,0,0,0,1,0,0,0,119,0,3,0,1,45,30,0,1,42,134,0,1,45,134,0,1,0,0,0,119,0,3,0,0,0,1,45,102,0,2,42,114,45,114,0,1,0,0,0,119,0,1,0,0,0,1,0,8,0,2,0,12,0,3,6,82,5,0,6,82,0,1,0,3,3,71,3,73,3,74,0,6,0,0,0,6,0,18,0,36,0,54,0,74,0,94,0,114,0,3,0,1,45,34,0,1,45,34,0,2,42,46,45,34,0,0,0,3,0,0,0,1,45,16,0,3,42,28,45,16,45,16,0,0,0,3,0,2,40,174,43,202,0,1,44,254,0,2,42,10,44,254,0,0,0,3,0,2,44,142,44,142,0,1,44,234,0,0,0,1,0,0,0,121,0,3,0,1,44,122,0,1,41,226,0,1,44,214,0,1,0,0,0,121,0,3,0,0,0,1,44,194,0,2,41,206,44,194,0,1,0,0,0,122,0,1,0,0,0,1,0,8,0,2,29,40,0,2,6,82,5,1,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,44,140,0,1,44,140,0,2,36,136,44,152,0,0,0,3,0,0,0,1,44,122,0,3,36,118,44,134,44,134,0,0,0,3,0,2,44,12,44,12,0,1,44,116,0,0,0,1,0,0,0,124,0,3,0,1,43,248,0,1,36,80,0,1,44,96,0,1,0,0,0,124,0,3,0,0,0,1,44,64,0,2,36,60,44,76,0,1,0,0,0,124,0,1,0,0,0,1,0,8,0,2,0,12,0,3,6,82,4,239,6,82,0,1,0,3,2,193,3,73,3,74,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,43,254,0,1,43,254,0,2,35,250,35,250,0,0,0,3,0,0,0,1,43,236,0,3,35,232,35,232,35,232,0,0,0,3,0,2,43,126,43,126,0,1,35,214,0,0,0,1,0,0,0,126,0,3,0,1,43,106,0,1,35,194,0,1,35,194,0,1,0,0,0,127,0,3,0,0,0,1,43,178,0,2,35,174,35,174,0,1,0,0,0,126,0,1,0,0,0,1,0,8,0,2,28,240,0,2,4,238,6,82,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,43,124,0,1,43,124,0,2,35,120,43,124,0,0,0,3,0,0,0,1,43,106,0,3,35,102,43,106,43,106,0,0,0,3,0,2,42,252,42,252,0,1,43,88,0,0,0,1,0,0,0,129,0,3,0,1,42,232,0,1,35,64,0,1,43,68,0,1,0,0,0,129,0,3,0,0,0,1,43,48,0,2,35,44,43,48,0,1,0,0,0,130,0,1,0,0,0,1,0,8,0,2,28,110,0,2,6,82,4,240,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,42,250,0,1,42,250,0,2,42,250,40,6,0,0,0,3,0,0,0,1,42,232,0,3,42,232,39,244,39,244,0,0,0,3,0,2,42,122,42,122,0,1,39,226,0,0,0,1,0,0,0,132,0,3,0,1,42,102,0,1,42,194,0,1,39,206,0,1,0,0,0,132,0,3,0,0,0,1,42,174,0,2,42,174,39,186,0,1,0,0,0,133,0,1,0,0,0,1,0,8,0,2,27,20,0,2,5,5,6,82,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,42,120,0,1,42,120,0,2,42,120,34,116,0,0,0,3,0,0,0,1,42,102,0,3,42,102,34,98,34,98,0,0,0,3,0,2,41,248,41,248,0,1,34,80,0,0,0,1,0,0,0,135,0,3,0,1,41,228,0,1,42,64,0,1,34,60,0,1,0,0,0,135,0,3,0,0,0,1,42,44,0,2,42,44,34,40,0,1,0,0,0,136,0,1,0,0,0,1,0,8,0,2,27,106,0,2,5,4,6,82,0,6,0,0,0,8,0,22,0,40,0,58,0,76,0,94,0,112,0,132,0,152,0,3,0,1,41,240,0,1,41,240,0,2,41,240,41,240,0,0,0,3,0,0,0,1,41,222,0,3,41,222,41,222,41,222,0,0,0,3,0,0,0,1,41,204,0,3,41,204,41,204,41,10,0,0,0,3,0,0,0,1,41,186,0,3,41,186,41,186,35,130,0,0,0,3,0,0,0,1,41,168,0,3,41,168,41,168,27,110,0,0,0,3,0,2,41,58,41,58,0,1,41,150,0,0,0,1,0,0,0,138,0,3,0,1,41,38,0,1,41,130,0,1,41,130,0,1,0,0,0,139,0,3,0,0,0,1,41,110,0,2,41,110,41,110,0,1,0,0,0,140,0,1,0,0,0,1,0,8,0,1,41,82,1,188,0,6,0,0,0,3,0,12,0,32,0,52,0,3,0,2,40,228,40,228,0,1,41,76,0,0,0,1,0,0,0,142,0,3,0,1,40,208,0,1,34,244,0,1,41,56,0,1,0,0,0,142,0,3,0,0,0,1,41,24,0,2,34,224,41,36,0,1,0,0,0,142,0,1,0,0,0,1,0,8,0,2,0,12,0,3,6,82,4,252,6,82,0,1,0,3,3,67,3,73,3,74,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,40,214,0,1,40,214,0,2,44,216,40,226,0,0,0,3,0,0,0,1,40,196,0,3,44,198,40,208,40,208,0,0,0,3,0,2,40,86,40,86,0,1,40,190,0,0,0,1,0,0,0,144,0,3,0,1,40,66,0,1,44,160,0,1,40,170,0,1,0,0,0,144,0,3,0,0,0,1,40,138,0,2,44,140,40,150,0,1,0,0,0,144,0,1,0,0,0,1,0,8,0,2,0,12,0,3,6,82,5,11,6,82,0,1,0,3,2,181,3,73,3,74,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,30,242,0,1,30,242,0,2,30,242,30,242,0,0,0,3,0,0,0,1,30,224,0,3,30,224,30,224,30,224,0,0,0,3,0,2,39,200,39,200,0,1,30,206,0,0,0,1,0,0,0,146,0,3,0,1,39,180,0,1,30,186,0,1,30,186,0,1,0,0,0,147,0,3,0,0,0,1,30,166,0,2,30,166,30,166,0,1,0,0,0,148,0,1,0,0,0,1,0,8,0,1,30,138,0,86,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,30,116,0,1,30,116,0,2,38,62,38,150,0,0,0,3,0,0,0,1,30,98,0,3,38,44,38,132,38,132,0,0,0,3,0,2,39,74,39,74,0,1,38,114,0,0,0,1,0,0,0,150,0,3,0,1,39,54,0,1,38,6,0,1,38,94,0,1,0,0,0,150,0,3,0,0,0,1,30,40,0,2,37,242,38,74,0,1,0,0,0,150,0,1,0,0,0,1,0,8,0,2,0,12,0,3,6,82,3,12,6,82,0,1,0,3,2,178,2,183,2,200,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,34,94,0,1,34,94,0,2,34,94,39,60,0,0,0,3,0,0,0,1,34,76,0,3,34,76,39,42,39,42,0,0,0,3,0,2,38,188,38,188,0,1,39,24,0,0,0,1,0,0,0,152,0,3,0,1,38,168,0,1,34,38,0,1,39,4,0,1,0,0,0,152,0,3,0,0,0,1,34,18,0,2,34,18,38,240,0,1,0,0,0,153,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,233,0,1,0,2,2,165,3,74,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,33,212,0,1,33,212,0,2,33,212,33,212,0,0,0,3,0,0,0,1,33,194,0,3,33,194,33,194,33,194,0,0,0,3,0,2,38,50,38,50,0,1,33,176,0,0,0,1,0,0,0,155,0,3,0,1,38,30,0,1,33,156,0,1,33,156,0,1,0,0,0,156,0,3,0,0,0,1,33,136,0,2,33,136,33,136,0,1,0,0,0,157,0,1,0,0,0,1,0,8,0,1,33,108,0,66,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,31,252,0,1,31,252,0,2,31,252,31,252,0,0,0,3,0,0,0,1,31,234,0,3,31,234,31,234,31,234,0,0,0,3,0,2,37,180,37,180,0,1,31,216,0,0,0,1,0,0,0,159,0,3,0,1,37,160,0,1,31,196,0,1,31,196,0,1,0,0,0,160,0,3,0,0,0,1,31,176,0,2,31,176,31,176,0,1,0,0,0,161,0,1,0,0,0,1,0,8,0,1,31,148,1,150,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,41,184,0,1,41,184,0,2,34,194,34,194,0,0,0,3,0,0,0,1,41,166,0,3,34,176,34,176,34,176,0,0,0,3,0,2,37,54,37,54,0,1,34,158,0,0,0,1,0,0,0,163,0,3,0,1,37,34,0,1,34,138,0,1,34,138,0,1,0,0,0,164,0,3,0,0,0,1,41,108,0,2,34,118,34,118,0,1,0,0,0,163,0,1,0,0,0,1,0,8,0,2,34,114,0,2,6,82,3,15,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,41,54,0,1,41,54,0,2,41,54,41,54,0,0,0,3,0,0,0,1,41,36,0,3,41,36,41,36,41,36,0,0,0,3,0,2,36,180,36,180,0,1,41,18,0,0,0,1,0,0,0,166,0,3,0,1,36,160,0,1,40,254,0,1,40,254,0,1,0,0,0,167,0,3,0,0,0,1,40,234,0,2,40,234,40,234,0,1,0,0,0,168,0,1,0,0,0,1,0,8,0,1,40,206,0,93,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,35,42,0,1,35,42,0,2,19,200,35,42,0,0,0,3,0,0,0,1,35,24,0,3,19,182,35,24,35,24,0,0,0,3,0,2,36,54,36,54,0,1,35,6,0,0,0,1,0,0,0,170,0,3,0,1,36,34,0,1,19,144,0,1,34,242,0,1,0,0,0,170,0,3,0,0,0,1,34,222,0,2,19,124,34,222,0,1,0,0,0,171,0,1,0,0,0,1,0,8,0,2,0,10,0,2,3,20,6,82,0,1,0,2,2,200,4,167,0,6,0,0,0,5,0,16,0,34,0,52,0,72,0,92,0,3,0,1,0,124,0,1,0,124,0,2,0,124,0,124,0,0,0,3,0,0,0,1,0,106,0,3,0,106,0,106,0,106,0,0,0,3,0,2,35,172,35,172,0,1,0,88,0,0,0,1,0,0,0,173,0,3,0,1,35,152,0,1,0,68,0,1,0,68,0,1,0,0,0,174,0,3,0,0,0,1,0,48,0,2,0,48,0,48,0,1,0,0,0,175,0,1,0,0,0,1,0,8,0,1,0,20,0,27,0,1,0,0,0,1,0,8,0,1,0,6,4,226,0,1,0,1,1,112,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,96,0,1,0,96,0,1,0,96,0,0,0,3,0,0,0,1,0,80,0,2,0,80,0,80,0,0,0,3,0,1,35,32,0,1,0,64,0,0,0,1,0,0,0,177,0,3,0,0,0,1,0,46,0,1,0,46,0,1,0,0,0,178,0,1,0,0,0,1,0,8,0,1,0,20,0,49,0,1,0,0,0,1,0,8,0,1,0,6,1,182,0,1,0,1,4,156,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,68,0,1,0,68,0,1,32,52,0,0,0,3,0,0,0,1,0,52,0,2,32,36,32,36,0,0,0,3,0,1,34,172,0,1,32,20,0,0,0,1,0,0,0,180,0,3,0,0,0,1,0,18,0,1,32,2,0,1,0,0,0,180,0,1,0,1,3,81,0,1,0,0,0,1,0,8,0,2,0,10,0,2,5,18,6,82,0,1,0,2,3,71,3,81,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,34,188,0,1,34,188,0,1,34,188,0,0,0,3,0,0,0,1,34,172,0,2,34,172,34,172,0,0,0,3,0,1,34,58,0,1,34,156,0,0,0,1,0,0,0,182,0,3,0,0,0,1,34,138,0,1,34,138,0,1,0,0,0,183,0,1,0,0,0,1,0,8,0,1,34,112,1,193,0,1,0,0,0,1,0,8,0,1,34,98,3,3,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,34,78,0,1,34,78,0,1,0,68,0,0,0,3,0,0,0,1,34,62,0,2,0,52,0,52,0,0,0,3,0,1,33,204,0,1,0,36,0,0,0,1,0,0,0,185,0,3,0,0,0,1,34,28,0,1,0,18,0,1,0,0,0,185,0,1,0,1,4,155,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,5,13,0,1,0,2,3,79,4,155,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,33,220,0,1,33,220,0,1,30,226,0,0,0,3,0,0,0,1,33,204,0,2,30,210,30,210,0,0,0,3,0,1,33,90,0,1,30,194,0,0,0,1,0,0,0,187,0,3,0,0,0,1,33,170,0,1,30,176,0,1,0,0,0,187,0,1,0,0,0,1,0,8,0,2,0,10,0,2,5,14,6,82,0,1,0,2,3,71,3,79,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,33,112,0,1,33,112,0,1,33,118,0,0,0,3,0,0,0,1,33,96,0,2,33,102,33,102,0,0,0,3,0,1,32,238,0,1,33,86,0,0,0,1,0,0,0,189,0,3,0,0,0,1,33,62,0,1,33,68,0,1,0,0,0,189,0,1,0,0,0,1,0,8,0,2,0,10,0,2,5,15,6,82,0,1,0,2,3,73,3,79,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,33,4,0,1,33,4,0,1,24,250,0,0,0,3,0,0,0,1,32,244,0,2,24,234,24,234,0,0,0,3,0,1,32,130,0,1,24,218,0,0,0,1,0,0,0,191,0,3,0,0,0,1,32,210,0,1,24,200,0,1,0,0,0,191,0,1,0,0,0,1,0,8,0,2,12,214,0,2,5,12,6,82,0,6,0,0,0,6,0,18,0,34,0,50,0,66,0,82,0,100,0,3,0,1,31,212,0,1,31,212,0,1,31,212,0,0,0,3,0,0,0,1,31,196,0,2,31,196,31,196,0,0,0,3,0,1,36,120,0,1,31,180,0,1,31,180,0,0,0,3,0,0,0,1,31,164,0,2,31,164,36,104,0,0,0,3,0,1,31,250,0,1,31,148,0,0,0,1,0,0,0,193,0,3,0,0,0,1,31,130,0,1,31,130,0,1,0,0,0,194,0,1,0,0,0,1,0,8,0,1,31,104,0,77,0,1,0,0,0,1,0,8,0,1,31,90,3,162,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,31,70,0,1,31,70,0,1,32,20,0,0,0,3,0,0,0,1,31,54,0,2,32,4,32,4,0,0,0,3,0,1,31,140,0,1,31,244,0,0,0,1,0,0,0,196,0,3,0,0,0,1,31,20,0,1,31,226,0,1,0,0,0,196,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,255,0,1,0,2,2,176,3,73,0,6,0,0,0,6,0,18,0,34,0,50,0,66,0,82,0,100,0,3,0,1,30,214,0,1,30,214,0,1,35,154,0,0,0,3,0,0,0,1,30,198,0,2,35,138,35,138,0,0,0,3,0,1,35,122,0,1,30,182,0,1,35,122,0,0,0,3,0,0,0,1,30,166,0,2,35,106,30,166,0,0,0,3,0,1,30,252,0,1,35,90,0,0,0,1,0,0,0,198,0,3,0,0,0,1,30,132,0,1,35,72,0,1,0,0,0,198,0,1,0,0,0,1,0,8,0,2,27,222,0,2,6,82,3,0,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,14,38,0,1,14,38,0,1,14,38,0,0,0,3,0,0,0,1,14,22,0,2,14,22,14,22,0,0,0,3,0,1,30,152,0,1,14,6,0,0,0,1,0,0,0,200,0,3,0,0,0,1,13,244,0,1,13,244,0,1,0,0,0,201,0,1,0,0,0,1,0,8,0,1,13,218,0,42,0,1,0,0,0,1,0,8,0,1,13,204,1,171,0,6,0,0,0,5,0,16,0,32,0,48,0,64,0,82,0,3,0,1,13,182,0,1,13,182,0,1,2,122,0,0,0,3,0,0,0,1,13,166,0,2,2,106,2,106,0,0,0,3,0,1,17,186,0,1,13,150,0,1,2,90,0,0,0,3,0,1,30,24,0,1,2,74,0,0,0,1,0,0,0,203,0,3,0,0,0,1,13,116,0,1,2,56,0,1,0,0,0,203,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,207,6,82,0,1,0,2,2,186,4,167,0,6,0,0,0,5,0,16,0,32,0,48,0,64,0,82,0,3,0,1,13,56,0,1,13,56,0,1,3,16,0,0,0,3,0,0,0,1,13,40,0,2,3,0,3,0,0,0,0,3,0,1,17,174,0,1,13,24,0,1,2,240,0,0,0,3,0,1,29,154,0,1,2,224,0,0,0,1,0,0,0,205,0,3,0,0,0,1,12,246,0,1,2,206,0,1,0,0,0,205,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,208,6,82,0,1,0,2,2,188,4,167,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,12,188,0,1,12,188,0,1,26,182,0,0,0,3,0,0,0,1,12,172,0,2,26,166,26,166,0,0,0,3,0,1,29,46,0,1,26,150,0,0,0,1,0,0,0,207,0,3,0,0,0,1,12,138,0,1,26,132,0,1,0,0,0,207,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,213,6,82,0,1,0,2,3,71,4,167,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,12,80,0,1,12,80,0,1,29,74,0,0,0,3,0,0,0,1,12,64,0,2,29,58,29,58,0,0,0,3,0,1,28,194,0,1,29,42,0,0,0,1,0,0,0,209,0,3,0,0,0,1,12,30,0,1,29,24,0,1,0,0,0,209,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,214,6,82,0,1,0,2,3,73,4,167,0,6,0,0,0,5,0,16,0,32,0,48,0,64,0,82,0,3,0,1,11,226,0,1,11,226,0,1,20,204,0,0,0,3,0,0,0,1,11,210,0,2,20,188,20,188,0,0,0,3,0,0,0,1,11,194,0,2,20,172,11,194,0,0,0,3,0,1,28,68,0,1,20,156,0,0,0,1,0,0,0,211,0,3,0,0,0,1,11,160,0,1,20,138,0,1,0,0,0,211,0,1,0,0,0,1,0,8,0,2,9,22,0,2,4,206,6,82,0,6,0,0,0,5,0,16,0,32,0,48,0,70,0,88,0,3,0,1,15,144,0,1,15,144,0,1,11,108,0,0,0,3,0,0,0,1,15,128,0,2,11,92,11,92,0,0,0,3,0,0,0,1,15,112,0,2,11,76,0,16,0,0,0,1,0,1,2,186,0,3,0,1,27,200,0,1,11,54,0,0,0,1,0,0,0,213,0,3,0,0,0,1,15,72,0,1,11,36,0,1,0,0,0,213,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,225,0,1,0,2,2,185,4,167,0,6,0,0,0,5,0,16,0,32,0,48,0,64,0,82,0,3,0,1,15,126,0,1,15,126,0,1,10,232,0,0,0,3,0,0,0,1,15,110,0,2,10,216,10,216,0,0,0,3,0,0,0,1,15,94,0,2,10,200,0,160,0,0,0,3,0,1,27,74,0,1,10,184,0,0,0,1,0,0,0,215,0,3,0,0,0,1,15,60,0,1,10,166,0,1,0,0,0,215,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,227,0,1,0,2,2,187,4,167,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,68,0,1,0,68,0,1,18,4,0,0,0,3,0,0,0,1,0,52,0,2,17,244,17,244,0,0,0,3,0,1,26,222,0,1,17,228,0,0,0,1,0,0,0,217,0,3,0,0,0,1,0,18,0,1,17,210,0,1,0,0,0,217,0,1,0,1,2,188,0,1,0,0,0,1,0,8,0,2,0,10,0,2,2,228,6,82,0,1,0,2,2,178,2,188,0,6,0,0,0,5,0,16,0,32,0,48,0,66,0,84,0,3,0,1,21,24,0,1,21,24,0,1,21,24,0,0,0,3,0,0,0,1,21,8,0,2,21,8,21,8,0,0,0,3,0,2,22,118,25,146,0,1,20,248,0,1,20,248,0,0,0,3,0,1,26,88,0,1,20,230,0,0,0,1,0,0,0,219,0,3,0,0,0,1,20,212,0,1,20,212,0,1,0,0,0,220,0,1,0,0,0,1,0,8,0,1,20,186,0,69,0,1,0,0,0,1,0,8,0,1,20,172,3,171,0,6,0,0,0,5,0,16,0,32,0,48,0,66,0,84,0,3,0,1,20,150,0,1,20,150,0,1,23,112,0,0,0,3,0,0,0,1,20,134,0,2,23,96,23,96,0,0,0,3,0,2,21,244,25,16,0,1,20,118,0,1,23,80,0,0,0,3,0,1,25,214,0,1,23,62,0,0,0,1,0,0,0,222,0,3,0,0,0,1,20,82,0,1,23,44,0,1,0,0,0,222,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,239,0,1,0,2,2,167,3,71,0,6,0,0,0,6,0,18,0,34,0,50,0,68,0,84,0,102,0,3,0,1,20,20,0,1,20,20,0,1,25,238,0,0,0,3,0,0,0,1,20,4,0,2,25,222,25,222,0,0,0,3,0,2,21,114,24,142,0,1,19,244,0,1,25,206,0,0,0,3,0,0,0,1,19,226,0,2,25,188,22,188,0,0,0,3,0,1,25,68,0,1,25,172,0,0,0,1,0,0,0,224,0,3,0,0,0,1,19,192,0,1,25,154,0,1,0,0,0,224,0,1,0,0,0,1,0,8,0,2,3,166,0,2,6,82,2,240,0,6,0,0,0,5,0,16,0,32,0,48,0,66,0,84,0,3,0,1,19,140,0,1,19,140,0,1,25,90,0,0,0,3,0,0,0,1,19,124,0,2,25,74,25,74,0,0,0,3,0,2,20,234,24,6,0,1,19,108,0,1,25,58,0,0,0,3,0,1,24,204,0,1,25,40,0,0,0,1,0,0,0,226,0,3,0,0,0,1,19,72,0,1,25,22,0,1,0,0,0,226,0,1,0,0,0,1,0,8,0,2,8,146,0,2,6,82,2,241,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,10,170,0,1,10,170,0,1,24,240,0,0,0,3,0,0,0,1,10,154,0,2,24,224,24,224,0,0,0,3,0,1,24,104,0,1,24,208,0,0,0,1,0,0,0,228,0,3,0,0,0,1,10,120,0,1,24,190,0,1,0,0,0,228,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,4,215,0,1,0,2,3,34,3,73,0,6,0,0,0,6,0,18,0,34,0,50,0,68,0,88,0,106,0,3,0,1,21,128,0,1,21,128,0,1,21,128,0,0,0,3,0,0,0,1,21,112,0,2,21,112,21,112,0,0,0,3,0,2,20,4,23,32,0,1,21,96,0,1,21,96,0,0,0,3,0,3,24,66,19,242,23,14,0,1,21,78,0,1,21,78,0,0,0,3,0,1,23,210,0,1,21,58,0,0,0,1,0,0,0,230,0,3,0,0,0,1,21,40,0,1,21,40,0,1,0,0,0,231,0,1,0,0,0,1,0,8,0,1,21,14,1,150,0,1,0,0,0,1,0,8,0,1,21,0,3,11,0,6,0,0,0,6,0,18,0,34,0,50,0,68,0,88,0,106,0,3,0,1,20,232,0,1,20,232,0,1,23,232,0,0,0,3,0,0,0,1,20,216,0,2,23,216,23,216,0,0,0,3,0,2,19,108,22,136,0,1,20,200,0,1,23,200,0,0,0,3,0,3,23,170,19,90,22,118,0,1,20,182,0,1,23,182,0,0,0,3,0,1,23,58,0,1,23,162,0,0,0,1,0,0,0,233,0,3,0,0,0,1,20,144,0,1,23,144,0,1,0,0,0,233,0,1,0,0,0,1,0,8,0,2,2,26,0,2,6,82,4,224,0,6,0,0,0,6,0,18,0,34,0,50,0,68,0,88,0,106,0,3,0,1,12,64,0,1,12,64,0,1,20,90,0,0,0,3,0,0,0,1,12,48,0,2,20,74,20,74,0,0,0,3,0,2,18,222,21,250,0,1,12,32,0,1,20,58,0,0,0,3,0,3,23,28,18,204,21,232,0,1,12,14,0,1,20,40,0,0,0,3,0,1,22,172,0,1,20,20,0,0,0,1,0,0,0,235,0,3,0,0,0,1,11,232,0,1,20,2,0,1,0,0,0,235,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,246,0,1,0,2,2,170,3,71,0,6,0,0,0,6,0,18,0,34,0,50,0,68,0,88,0,106,0,3,0,1,11,170,0,1,11,170,0,1,11,170,0,0,0,3,0,0,0,1,11,154,0,2,11,154,11,154,0,0,0,3,0,2,18,72,21,100,0,1,11,138,0,1,11,138,0,0,0,3,0,3,22,134,18,54,21,82,0,1,11,120,0,1,11,120,0,0,0,3,0,1,22,22,0,1,11,100,0,0,0,1,0,0,0,237,0,3,0,0,0,1,11,82,0,1,11,82,0,1,0,0,0,238,0,1,0,0,0,1,0,8,0,1,11,56,0,74,0,1,0,0,0,1,0,8,0,1,11,42,3,168,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,22,48,0,1,22,48,0,1,16,86,0,0,0,3,0,0,0,1,22,32,0,2,16,70,16,70,0,0,0,3,0,1,21,168,0,1,16,54,0,0,0,1,0,0,0,240,0,3,0,0,0,1,21,254,0,1,16,36,0,1,0,0,0,240,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,230,6,82,0,1,0,2,2,167,3,73,0,6,0,0,0,5,0,16,0,32,0,48,0,64,0,82,0,3,0,1,21,194,0,1,21,194,0,1,18,194,0,0,0,3,0,0,0,1,21,178,0,2,18,178,18,178,0,0,0,3,0,0,0,1,21,162,0,2,18,162,21,150,0,0,0,3,0,1,21,42,0,1,18,146,0,0,0,1,0,0,0,242,0,3,0,0,0,1,21,128,0,1,18,128,0,1,0,0,0,242,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,231,6,82,0,1,0,2,3,71,3,73,0,6,0,0,0,7,0,20,0,36,0,52,0,68,0,84,0,100,0,118,0,3,0,1,21,64,0,1,21,64,0,1,21,64,0,0,0,3,0,0,0,1,21,48,0,2,21,48,21,48,0,0,0,3,0,1,20,82,0,1,21,32,0,1,21,32,0,0,0,3,0,1,14,204,0,1,21,16,0,1,21,16,0,0,0,3,0,1,6,186,0,1,21,0,0,1,21,0,0,0,0,3,0,1,20,136,0,1,20,240,0,0,0,1,0,0,0,244,0,3,0,0,0,1,20,222,0,1,20,222,0,1,0,0,0,245,0,1,0,0,0,1,0,8,0,1,20,196,1,160,0,1,0,0,0,1,0,8,0,1,20,182,3,9,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,20,162,0,1,20,162,0,1,12,146,0,0,0,3,0,0,0,1,20,146,0,2,12,130,12,130,0,0,0,3,0,1,20,26,0,1,12,114,0,0,0,1,0,0,0,247,0,3,0,0,0,1,20,112,0,1,12,96,0,1,0,0,0,247,0,1,0,0,0,1,0,8,0,2,1,88,0,2,4,228,6,82,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,12,46,0,1,12,46,0,1,20,56,0,0,0,3,0,0,0,1,12,30,0,2,20,40,20,40,0,0,0,3,0,1,19,182,0,1,20,24,0,0,0,1,0,0,0,249,0,3,0,0,0,1,11,252,0,1,20,6,0,1,0,0,0,249,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,223,0,1,0,2,2,193,3,79,0,6,0,0,0,5,0,16,0,32,0,48,0,64,0,82,0,3,0,1,11,192,0,1,11,192,0,1,2,214,0,0,0,3,0,0,0,1,11,176,0,2,2,198,2,198,0,0,0,3,0,1,2,182,0,1,11,160,0,1,2,182,0,0,0,3,0,1,19,56,0,1,2,166,0,0,0,1,0,0,0,251,0,3,0,0,0,1,11,126,0,1,2,148,0,1,0,0,0,251,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,218,0,1,0,2,2,193,4,167,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,11,68,0,1,11,68,0,1,19,84,0,0,0,3,0,0,0,1,11,52,0,2,19,68,19,68,0,0,0,3,0,1,18,204,0,1,19,52,0,0,0,1,0,0,0,253,0,3,0,0,0,1,11,18,0,1,19,34,0,1,0,0,0,253,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,219,0,1,0,2,2,193,3,73,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,10,216,0,1,10,216,0,1,10,216,0,0,0,3,0,0,0,1,10,200,0,2,10,200,10,200,0,0,0,3,0,1,18,96,0,1,10,184,0,0,0,1,0,0,0,255,0,3,0,0,0,1,10,166,0,1,10,166,0,1,0,0,1,0,0,1,0,0,0,1,0,8,0,1,10,140,0,22,0,1,0,0,0,1,0,8,0,1,10,126,3,145,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,10,106,0,1,10,106,0,1,18,110,0,0,0,3,0,0,0,1,10,90,0,2,18,94,18,94,0,0,0,3,0,1,17,242,0,1,18,78,0,0,0,1,0,0,1,2,0,3,0,0,0,1,10,56,0,1,18,60,0,1,0,0,1,2,0,1,0,0,0,1,0,8,0,2,3,124,0,2,6,82,2,221,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,18,10,0,1,18,10,0,1,18,16,0,0,0,3,0,0,0,1,17,250,0,2,18,0,18,0,0,0,0,3,0,1,17,142,0,1,17,240,0,0,0,1,0,0,1,4,0,3,0,0,0,1,17,216,0,1,17,222,0,1,0,0,1,4,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,5,7,0,1,0,2,3,74,3,79,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,17,158,0,1,17,158,0,1,16,220,0,0,0,3,0,0,0,1,17,142,0,2,16,204,16,204,0,0,0,3,0,1,17,34,0,1,16,188,0,0,0,1,0,0,1,6,0,3,0,0,0,1,17,108,0,1,16,170,0,1,0,0,1,6,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,243,6,82,0,1,0,2,2,176,3,74,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,17,50,0,1,17,50,0,1,0,68,0,0,0,3,0,0,0,1,17,34,0,2,0,52,0,52,0,0,0,3,0,1,16,182,0,1,0,36,0,0,0,1,0,0,1,8,0,3,0,0,0,1,17,0,0,1,0,18,0,1,0,0,1,8,0,1,0,1,4,167,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,4,245,0,1,0,2,3,74,4,167,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,16,192,0,1,16,192,0,1,10,242,0,0,0,3,0,0,0,1,16,176,0,2,10,226,10,226,0,0,0,3,0,1,16,68,0,1,10,210,0,0,0,1,0,0,1,10,0,3,0,0,0,1,16,142,0,1,10,192,0,1,0,0,1,10,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,241,6,82,0,1,0,2,2,167,3,74,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,16,84,0,1,16,84,0,1,2,26,0,0,0,3,0,0,0,1,16,68,0,2,2,10,2,10,0,0,0,3,0,1,15,216,0,1,1,250,0,0,0,1,0,0,1,12,0,3,0,0,0,1,16,34,0,1,1,232,0,1,0,0,1,12,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,249,6,82,0,1,0,2,3,34,3,74,0,6,0,0,0,5,0,16,0,32,0,48,0,66,0,84,0,3,0,1,15,230,0,1,15,230,0,1,12,242,0,0,0,3,0,0,0,1,15,214,0,2,12,226,12,226,0,0,0,3,0,2,11,118,14,146,0,1,15,198,0,1,12,210,0,0,0,3,0,1,15,88,0,1,12,192,0,0,0,1,0,0,1,14,0,3,0,0,0,1,15,162,0,1,12,174,0,1,0,0,1,14,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,253,6,82,0,1,0,2,3,71,3,74,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,15,104,0,1,15,104,0,1,15,116,0,0,0,3,0,0,0,1,15,88,0,2,15,100,15,100,0,0,0,3,0,1,14,236,0,1,15,84,0,0,0,1,0,0,1,16,0,3,0,0,0,1,15,54,0,1,15,66,0,1,0,0,1,16,0,1,0,0,0,1,0,8,0,2,0,10,0,2,5,2,6,82,0,1,0,2,3,73,3,74,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,14,252,0,1,14,252,0,1,6,248,0,0,0,3,0,0,0,1,14,236,0,2,6,232,6,232,0,0,0,3,0,1,14,128,0,1,6,216,0,0,0,1,0,0,1,18,0,3,0,0,0,1,14,202,0,1,6,198,0,1,0,0,1,18,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,237,6,82,0,1,0,2,2,193,3,74,0,6,0,0,0,7,0,20,0,36,0,52,0,68,0,84,0,106,0,124,0,3,0,1,14,138,0,1,14,138,0,1,14,138,0,0,0,3,0,0,0,1,14,122,0,2,14,122,14,122,0,0,0,3,0,0,0,1,14,106,0,2,14,106,13,168,0,0,0,3,0,0,0,1,14,90,0,2,14,90,8,34,0,0,0,3,0,0,0,1,14,74,0,2,14,74,0,16,0,0,0,1,0,1,3,34,0,3,0,1,13,216,0,1,14,52,0,0,0,1,0,0,1,20,0,3,0,0,0,1,14,34,0,1,14,34,0,1,0,0,1,21,0,1,0,0,0,1,0,8,0,1,14,8,1,185,0,1,0,0,0,1,0,8,0,1,13,250,3,8,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,13,230,0,1,13,230,0,1,7,174,0,0,0,3,0,0,0,1,13,214,0,2,7,158,7,158,0,0,0,3,0,1,13,106,0,1,7,142,0,0,0,1,0,0,1,23,0,3,0,0,0,1,13,180,0,1,7,124,0,1,0,0,1,23,0,1,0,0,0,1,0,8,0,2,0,10,0,2,4,251,6,82,0,1,0,2,3,67,3,74,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,13,122,0,1,13,122,0,1,17,124,0,0,0,3,0,0,0,1,13,106,0,2,17,108,17,108,0,0,0,3,0,1,12,254,0,1,17,92,0,0,0,1,0,0,1,25,0,3,0,0,0,1,13,72,0,1,17,74,0,1,0,0,1,25,0,1,0,0,0,1,0,8,0,2,0,10,0,2,5,10,6,82,0,1,0,2,2,181,3,74,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,3,184,0,1,3,184,0,1,0,68,0,0,0,3,0,0,0,1,3,168,0,2,0,52,0,52,0,0,0,3,0,1,12,146,0,1,0,36,0,0,0,1,0,0,1,27,0,3,0,0,0,1,3,134,0,1,0,18,0,1,0,0,1,27,0,1,0,1,2,185,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,3,2,0,1,0,2,2,178,2,185,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,3,70,0,1,3,70,0,1,0,68,0,0,0,3,0,0,0,1,3,54,0,2,0,52,0,52,0,0,0,3,0,1,12,32,0,1,0,36,0,0,0,1,0,0,1,29,0,3,0,0,0,1,3,20,0,1,0,18,0,1,0,0,1,29,0,1,0,1,2,187,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,3,3,0,1,0,2,2,178,2,187,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,2,212,0,1,2,212,0,1,6,92,0,0,0,3,0,0,0,1,2,196,0,2,6,76,6,76,0,0,0,3,0,1,11,174,0,1,6,60,0,0,0,1,0,0,1,31,0,3,0,0,0,1,2,162,0,1,6,42,0,1,0,0,1,31,0,1,0,0,0,1,0,8,0,2,0,10,0,2,3,4,6,82,0,1,0,2,2,167,2,178,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,2,104,0,1,2,104,0,1,8,202,0,0,0,3,0,0,0,1,2,88,0,2,8,186,8,186,0,0,0,3,0,1,11,66,0,1,8,170,0,0,0,1,0,0,1,33,0,3,0,0,0,1,2,54,0,1,8,152,0,1,0,0,1,33,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,3,10,0,1,0,2,2,178,3,71,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,1,252,0,1,1,252,0,1,0,68,0,0,0,3,0,0,0,1,1,236,0,2,0,52,0,52,0,0,0,3,0,1,10,214,0,1,0,36,0,0,0,1,0,0,1,35,0,3,0,0,0,1,1,202,0,1,0,18,0,1,0,0,1,35,0,1,0,1,2,170,0,1,0,0,0,1,0,8,0,2,0,10,0,2,3,5,6,82,0,1,0,2,2,170,2,178,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,1,138,0,1,1,138,0,1,1,138,0,0,0,3,0,0,0,1,1,122,0,2,1,122,1,122,0,0,0,3,0,1,10,100,0,1,1,106,0,0,0,1,0,0,1,37,0,3,0,0,0,1,1,88,0,1,1,88,0,1,0,0,1,38,0,1,0,0,0,1,0,8,0,1,1,62,0,85,0,1,0,0,0,1,0,8,0,1,1,48,3,160,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,1,28,0,1,1,28,0,1,9,62,0,0,0,3,0,0,0,1,1,12,0,2,9,46,9,46,0,0,0,3,0,1,9,246,0,1,9,30,0,0,0,1,0,0,1,40,0,3,0,0,0,1,0,234,0,1,9,12,0,1,0,0,1,40,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,3,1,0,1,0,2,2,178,2,183,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,176,0,1,0,176,0,1,5,182,0,0,0,3,0,0,0,1,0,160,0,2,5,166,5,166,0,0,0,3,0,1,9,138,0,1,5,150,0,0,0,1,0,0,1,42,0,3,0,0,0,1,0,126,0,1,5,132,0,1,0,0,1,42,0,1,0,0,0,1,0,8,0,2,0,10,0,2,3,6,6,82,0,1,0,2,2,172,2,178,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,68,0,1,0,68,0,1,8,14,0,0,0,3,0,0,0,1,0,52,0,2,7,254,7,254,0,0,0,3,0,1,9,30,0,1,7,238,0,0,0,1,0,0,1,44,0,3,0,0,0,1,0,18,0,1,7,220,0,1,0,0,1,44,0,1,0,1,2,178,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,3,11,0,1,0,2,2,178,2,200,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,96,0,1,0,96,0,1,0,96,0,0,0,3,0,0,0,1,0,80,0,2,0,80,0,80,0,0,0,3,0,1,8,172,0,1,0,64,0,0,0,1,0,0,1,46,0,3,0,0,0,1,0,46,0,1,0,46,0,1,0,0,1,47,0,1,0,0,0,1,0,8,0,1,0,20,1,182,0,1,0,0,0,1,0,8,0,1,0,6,2,245,0,1,0,1,3,93,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,3,214,0,1,3,214,0,1,5,192,0,0,0,3,0,0,0,1,3,198,0,2,5,176,5,176,0,0,0,3,0,1,8,56,0,1,5,160,0,0,0,1,0,0,1,49,0,3,0,0,0,1,3,164,0,1,5,142,0,1,0,0,1,49,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,235,0,1,0,2,2,165,3,71,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,3,106,0,1,3,106,0,1,0,68,0,0,0,3,0,0,0,1,3,90,0,2,0,52,0,52,0,0,0,3,0,1,7,204,0,1,0,36,0,0,0,1,0,0,1,51,0,3,0,0,0,1,3,56,0,1,0,18,0,1,0,0,1,51,0,1,0,1,2,193,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,229,0,1,0,2,2,165,2,193,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,2,248,0,1,2,248,0,1,2,248,0,0,0,3,0,0,0,1,2,232,0,2,2,232,2,232,0,0,0,3,0,1,7,90,0,1,2,216,0,0,0,1,0,0,1,53,0,3,0,0,0,1,2,198,0,1,2,198,0,1,0,0,1,54,0,1,0,0,0,1,0,8,0,1,2,172,0,65,0,1,0,0,0,1,0,8,0,1,2,158,3,173,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,2,138,0,1,2,138,0,1,3,24,0,0,0,3,0,0,0,1,2,122,0,2,3,8,3,8,0,0,0,3,0,1,6,236,0,1,2,248,0,0,0,1,0,0,1,56,0,3,0,0,0,1,2,88,0,1,2,230,0,1,0,0,1,56,0,1,0,0,0,1,0,8,0,2,2,86,0,2,6,82,2,234,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,204,0,1,0,204,0,1,7,16,0,0,0,3,0,0,0,1,0,188,0,2,7,0,7,0,0,0,0,3,0,1,6,136,0,1,6,240,0,0,0,1,0,0,1,58,0,3,0,0,0,1,0,154,0,1,6,222,0,1,0,0,1,58,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,4,218,0,1,0,2,3,67,3,73,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,96,0,1,0,96,0,1,0,96,0,0,0,3,0,0,0,1,0,80,0,2,0,80,0,80,0,0,0,3,0,1,6,28,0,1,0,64,0,0,0,1,0,0,1,60,0,3,0,0,0,1,0,46,0,1,0,46,0,1,0,0,1,61,0,1,0,0,0,1,0,8,0,1,0,20,1,149,0,1,0,0,0,1,0,8,0,1,0,6,3,15,0,1,0,1,3,67,0,6,0,0,0,5,0,16,0,32,0,48,0,64,0,82,0,3,0,1,1,210,0,1,1,210,0,1,0,84,0,0,0,3,0,0,0,1,1,194,0,2,0,68,0,68,0,0,0,3,0,1,4,206,0,1,1,178,0,1,0,52,0,0,0,3,0,1,5,150,0,1,0,36,0,0,0,1,0,0,1,63,0,3,0,0,0,1,1,144,0,1,0,18,0,1,0,0,1,63,0,1,0,1,2,167,0,1,0,0,0,1,0,8,0,2,0,10,0,2,2,249,6,82,0,1,0,2,2,167,2,172,0,6,0,0,0,5,0,16,0,32,0,48,0,64,0,82,0,3,0,1,1,78,0,1,1,78,0,1,2,170,0,0,0,3,0,0,0,1,1,62,0,2,2,154,2,154,0,0,0,3,0,1,4,74,0,1,1,46,0,1,2,138,0,0,0,3,0,1,5,18,0,1,2,122,0,0,0,1,0,0,1,65,0,3,0,0,0,1,1,12,0,1,2,104,0,1,0,0,1,65,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,251,0,1,0,2,2,172,3,71,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,210,0,1,0,210,0,1,0,68,0,0,0,3,0,0,0,1,0,194,0,2,0,52,0,52,0,0,0,3,0,1,4,166,0,1,0,36,0,0,0,1,0,0,1,67,0,3,0,0,0,1,0,160,0,1,0,18,0,1,0,0,1,67,0,1,0,1,2,165,0,1,0,0,0,1,0,8,0,2,0,10,0,2,2,248,6,82,0,1,0,2,2,165,2,172,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,96,0,1,0,96,0,1,0,96,0,0,0,3,0,0,0,1,0,80,0,2,0,80,0,80,0,0,0,3,0,1,4,52,0,1,0,64,0,0,0,1,0,0,1,69,0,3,0,0,0,1,0,46,0,1,0,46,0,1,0,0,1,70,0,1,0,0,0,1,0,8,0,1,0,20,0,78,0,1,0,0,0,1,0,8,0,1,0,6,3,166,0,1,0,1,2,172,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,96,0,1,0,96,0,1,0,96,0,0,0,3,0,0,0,1,0,80,0,2,0,80,0,80,0,0,0,3,0,1,3,192,0,1,0,64,0,0,0,1,0,0,1,72,0,3,0,0,0,1,0,46,0,1,0,46,0,1,0,0,1,73,0,1,0,0,0,1,0,8,0,1,0,20,0,75,0,1,0,0,0,1,0,8,0,1,0,6,3,170,0,1,0,1,2,168,0,6,0,0,0,6,0,18,0,34,0,50,0,66,0,82,0,100,0,3,0,1,7,198,0,1,7,198,0,1,3,2,0,0,0,3,0,0,0,1,7,182,0,2,2,242,2,242,0,0,0,3,0,0,0,1,7,166,0,2,2,226,7,166,0,0,0,3,0,1,2,210,0,1,7,150,0,1,2,210,0,0,0,3,0,1,3,40,0,1,2,194,0,0,0,1,0,0,1,75,0,3,0,0,0,1,7,116,0,1,2,176,0,1,0,0,1,75,0,1,0,0,0,1,0,8,0,2,0,10,0,2,3,13,6,82,0,1,0,2,2,176,2,181,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,7,58,0,1,7,58,0,1,0,68,0,0,0,3,0,0,0,1,7,42,0,2,0,52,0,52,0,0,0,3,0,1,2,188,0,1,0,36,0,0,0,1,0,0,1,77,0,3,0,0,0,1,7,8,0,1,0,18,0,1,0,0,1,77,0,1,0,1,3,71,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,3,14,0,1,0,2,2,181,3,71,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,6,200,0,1,6,200,0,1,2,210,0,0,0,3,0,0,0,1,6,184,0,2,2,194,2,194,0,0,0,3,0,1,2,74,0,1,2,178,0,0,0,1,0,0,1,79,0,3,0,0,0,1,6,150,0,1,2,160,0,1,0,0,1,79,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,3,16,0,1,0,2,2,181,3,73,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,6,92,0,1,6,92,0,1,6,92,0,0,0,3,0,0,0,1,6,76,0,2,6,76,6,76,0,0,0,3,0,1,1,222,0,1,6,60,0,0,0,1,0,0,1,81,0,3,0,0,0,1,6,42,0,1,6,42,0,1,0,0,1,82,0,1,0,0,0,1,0,8,0,1,6,16,0,92,0,1,0,0,0,1,0,8,0,1,6,2,3,157,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,96,0,1,0,96,0,1,0,96,0,0,0,3,0,0,0,1,0,80,0,2,0,80,0,80,0,0,0,3,0,1,1,112,0,1,0,64,0,0,0,1,0,0,1,84,0,3,0,0,0,1,0,46,0,1,0,46,0,1,0,0,1,85,0,1,0,0,0,1,0,8,0,1,0,20,0,77,0,1,0,0,0,1,0,8,0,1,0,6,3,138,0,1,0,1,2,200,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,68,0,1,0,68,0,1,0,182,0,0,0,3,0,0,0,1,0,52,0,2,0,166,0,166,0,0,0,3,0,1,0,252,0,1,0,150,0,0,0,1,0,0,1,87,0,3,0,0,0,1,0,18,0,1,0,132,0,1,0,0,1,87,0,1,0,1,2,183,0,1,0,0,0,1,0,8,0,2,0,10,0,2,2,224,6,82,0,1,0,2,2,176,2,183,0,6,0,0,0,4,0,14,0,30,0,46,0,64,0,3,0,1,0,68,0,1,0,68,0,1,0,74,0,0,0,3,0,0,0,1,0,52,0,2,0,58,0,58,0,0,0,3,0,1,0,138,0,1,0,42,0,0,0,1,0,0,1,89,0,3,0,0,0,1,0,18,0,1,0,24,0,1,0,0,1,89,0,1,0,1,2,176,0,1,0,1,2,184,0,1,0,0,0,1,0,8,0,2,0,10,0,2,6,82,2,252,0,1,0,2,2,176,2,184,0,6,0,0,0,4,0,14,0,30,0,46,0,70,0,3,0,1,0,102,0,1,0,102,0,1,0,102,0,0,0,3,0,0,0,1,0,86,0,2,0,86,0,86,0,0,0,3,0,1,0,18,0,1,0,70,0,0,0,1,0,0,1,91,0,1,0,1,6,82,0,3,0,0,0,1,0,46,0,1,0,46,0,1,0,0,1,92,0,1,0,0,0,1,0,8,0,1,0,20,0,93,0,1,0,0,0,1,0,8,0,1,0,6,3,156,0,1,0,1,2,182,0,6,0,0,0,4,0,14,0,52,0,128,0,196,0,3,0,1,0,20,0,1,0,26,0,1,0,32,0,1,0,0,1,94,0,1,0,1,3,74,0,1,0,1,3,79,0,1,0,1,3,73,0,3,0,0,0,1,0,18,0,1,0,24,0,1,0,0,1,94,0,1,0,1,0,230,0,2,0,8,0,1,0,193,0,0,0,221,0,221,0,193,1,5,1,6,0,194,1,8,1,8,0,196,1,25,1,26,0,197,1,28,1,33,0,199,1,143,1,208,0,205,2,35,2,68,1,15,0,3,0,1,5,4,0,1,0,132,0,1,0,20,0,1,0,0,1,94,0,1,0,22,0,1,0,27,0,28,0,34,0,38,0,59,0,195,0,221,0,222,0,228,0,232,0,254,2,106,2,107,2,108,2,109,2,110,2,111,2,112,2,113,2,114,2,115,0,3,0,1,4,0,0,1,0,64,0,1,4,0,0,1,0,0,1,95,0,1,0,0,0,1,0,8,0,2,0,12,0,3,1,131,1,138,5,16,0,1,0,3,0,230,1,117,3,79,0,1,0,0,0,1,0,8,0,1,0,6,0,21,0,1,0,1,1,117,0,6,0,0,0,5,0,16,0,34,0,52,0,114,0,132,0,3,0,0,0,1,0,56,0,1,0,76,0,1,0,0,1,97,0,3,0,0,0,1,0,154,0,1,0,58,0,1,0,0,1,98,0,3,0,0,0,1,0,20,0,2,0,28,0,40,0,1,0,0,1,99,0,1,0,2,1,9,1,22,0,1,0,4,6,40,6,41,6,43,6,44,0,2,0,3,6,27,6,39,0,0,6,45,6,46,0,13,6,75,6,75,0,15,0,3,0,1,3,202,0,1,3,202,0,0,0,1,0,0,1,97,0,3,0,1,0,18,0,1,3,184,0,0,0,1,0,0,1,99,0,2,0,3,0,1,0,193,0,0,1,143,1,208,0,193,2,35,2,68,1,3,0,2,0,0,0,1,0,8,0,1,0,8,0,1,0,14,0,1,0,1,1,20,0,2,1,10,6,44,0,1,0,0,0,1,0,8,0,2,0,40,0,17,1,10,1,23,6,60,6,61,6,62,6,63,6,64,6,65,6,66,6,67,6,68,6,69,6,70,6,71,6,72,6,77,6,80,0,1,0,17,1,9,1,22,6,27,6,28,6,29,6,30,6,31,6,32,6,33,6,34,6,35,6,36,6,37,6,38,6,40,6,76,6,79,0,6,0,0,0,2,0,10,0,28,0,3,0,0,0,1,3,20,0,1,0,36,0,1,0,0,1,101,0,3,0,1,0,18,0,1,3,2,0,0,0,1,0,0,1,102,0,2,0,3,6,60,6,72,0,0,6,77,6,77,0,13,6,80,6,80,0,14,0,1,0,0,0,1,0,8,0,2,0,14,0,4,0,140,0,147,1,82,1,89,0,1,0,4,0,138,0,146,1,80,1,88,0,1,0,0,0,1,0,8,0,2,0,28,0,11,0,189,0,190,0,191,0,192,0,193,1,133,1,134,1,135,1,136,1,137,6,73,0,1,0,11,0,29,0,95,0,102,0,136,0,185,0,223,1,36,1,44,1,78,1,128,6,30,0,4,0,0,0,1,0,8,0,1,0,30,0,2,0,10,0,20,0,1,0,4,0,188,0,2,0,83,0,1,0,4,1,132,0,2,1,22,0,1,0,2,0,72,1,11,0,6,0,0,0,2,0,10,0,30,0,3,0,0,0,2,0,62,0,40,0,1,0,62,0,1,0,0,1,107,0,3,0,0,0,2,0,74,0,20,0,1,0,74,0,1,0,0,1,108,0,1,0,1,2,174,0,4,0,0,0,1,0,8,0,1,0,8,0,1,0,14,0,1,0,1,1,28,0,1,0,4,1,32,0,2,2,174,0,4,0,0,0,1,0,8,0,1,0,8,0,1,0,14,0,1,0,1,0,87,0,1,0,4,0,91,0,2,2,174,0,1,0,0,0,1,0,8,0,2,0,48,0,21,1,206,1,207,1,208,2,16,2,17,2,18,2,19,2,20,2,21,2,22,2,23,2,24,2,25,2,26,2,27,2,28,2,29,2,30,2,31,2,32,2,33,0,1,0,21,1,149,1,160,1,170,1,211,1,212,1,215,1,219,1,220,1,221,1,222,1,223,1,224,1,226,1,230,1,233,1,239,1,240,1,241,1,243,1,244,1,255,0,1,0,0,0,1,0,8,0,1,0,6,0,80,0,1,0,1,1,210,0,1,0,0,0,1,0,8,0,1,0,208,0,11,0,1,0,0,0,1,0,8,0,1,0,194,0,41,0,1,0,0,0,1,0,8,0,1,0,180,0,21,0,1,0,0,0,1,0,8,0,1,0,6,255,232,0,1,0,1,2,181,0,1,0,0,0,1,0,8,0,1,0,146,0,31,0,6,0,0,0,2,0,10,0,34,0,3,0,1,0,18,0,1,0,66,0,0,0,1,0,0,1,119,0,1,0,1,2,157,0,3,0,1,0,18,0,1,0,42,0,0,0,1,0,0,1,120,0,2,0,1,2,127,2,136,0,0,0,1,0,0,0,1,0,8,0,1,0,6,255,246,0,2,0,1,2,137,2,146,0,0,0,6,0,0,0,2,0,10,0,36,0,3,0,1,0,44,0,1,0,18,0,0,0,1,0,0,1,122,0,1,0,2,0,1,0,195,0,3,0,1,0,18,0,1,0,28,0,0,0,1,0,0,1,122,0,2,0,1,2,106,2,115,0,0,0,1,0,2,0,101,1,43,0,1,0,0,0,1,0,8,0,2,0,14,0,4,1,140,1,141,1,140,1,141,0,1,0,4,0,1,0,101,0,195,1,43,0,4,0,0,0,1,0,8,0,1,0,20,0,1,0,8,0,1,0,4,4,172,0,3,1,43,2,165,0,1,0,1,0,94,0,1,0,0,0,1,0,8,0,2,0,36,0,15,6,60,6,61,6,62,6,63,6,64,6,65,6,66,6,67,6,68,6,69,6,70,6,71,6,72,6,77,6,80,0,2,0,4,6,27,6,38,0,0,6,40,6,40,0,12,6,76,6,76,0,13,6,79,6,79,0,14,0,1,0,0,0,1,0,8,0,1,0,6,253,232,0,1,0,1,5,14,0,1,0,0,0,1,0,8,0,1,0,6,0,10,0,1,0,1,2,106,0,1,0,0,0,1,0,8,0,1,0,6,1,5,0,2,0,1,3,106,3,137,0,0,0,1,0,0,0,1,0,8,0,2,0,16,0,5,6,83,6,84,6,85,6,86,6,87,0,1,0,5,3,29,3,34,4,215,4,249,4,250,0,1,0,0,0,0,0,1,0,0,0,16,0,0,0,30,0,1,0,0,0,6,0,1,0,0,32,0,64,0,0,1,0,0,0,1,0,15,0,0,0,12,0,0,0,1,1,129,0,0,0,1,0,0,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,12,0,1,0,0,0,28,0,1,0,2,192,0,192,0,0,0,0,0,64,0,64,0,6,88,0,0,0,0,0,0,0,4,4,176,1,144,0,5,0,0,5,51,4,205,0,0,0,154,5,51,4,205,0,0,2,205,0,50,2,124,0,0,2,11,6,9,2,0,0,2,0,4,161,0,2,255,0,0,248,251,0,4,0,0,0,0,0,0,83,65,74,65,0,192,0,9,43,203,7,108,254,32,0,0,8,178,1,224,96,0,1,159,223,215,0,0,4,36,5,140,0,0,0,32,0,5,0,1,0,1,0,8,0,1,0,0,0,20,0,6,0,0,0,28,0,2,119,103,104,116,1,0,0,0,0,12,0,24,0,36,0,48,0,64,0,76,0,1,0,0,0,0,1,1,0,200,0,0,0,1,0,0,0,0,1,2,1,44,0,0,0,1,0,0,0,0,1,3,1,94,0,0,0,3,0,0,0,2,1,4,1,144,0,0,2,188,0,0,0,1,0,0,0,0,1,5,2,88,0,0,0,1,0,0,0,0,1,6,2,188,0,0,0,1,0,0,0,0,0,1,0,6,192,0,192,0,224,0,213,85,240,0,234,171,0,0,0,0,42,171,32,0,64,0,64,0,0,0,0,0,0,2,0,0,0,3,0,0,0,20,0,3,0,1,0,0,0,20,0,4,13,216,0,0,1,36,1,0,0,7,0,36,0,9,0,13,0,47,0,57,0,126,1,127,1,134,1,144,1,146,1,157,1,161,1,169,1,176,1,183,1,206,1,231,1,235,1,255,2,27,2,31,2,51,2,55,2,69,2,84,2,89,2,91,2,106,2,114,2,131,2,140,2,146,2,167,2,188,2,199,2,201,2,221,3,4,3,12,3,18,3,27,3,35,3,40,3,66,3,117,3,126,3,138,3,140,3,144,3,161,3,169,3,176,3,201,3,207,3,215,4,26,4,35,4,58,4,67,4,95,4,147,4,151,4,155,4,163,4,179,4,183,4,187,4,192,4,207,4,217,4,227,4,233,4,239,14,63,30,133,30,158,30,249,32,8,32,17,32,21,32,30,32,34,32,36,32,38,32,40,32,48,32,51,32,58,32,60,32,62,32,68,32,112,32,121,32,127,32,137,32,161,32,164,32,174,32,178,32,181,32,186,32,190,33,5,33,19,33,23,33,34,33,38,33,46,33,94,33,149,33,168,33,225,33,227,34,2,34,6,34,15,34,18,34,21,34,26,34,31,34,41,34,43,34,72,34,101,35,16,35,33,35,175,37,148,37,159,37,255,38,25,38,60,38,64,38,66,38,96,38,99,38,102,38,107,39,19,39,103,39,111,40,255,42,47,43,47,43,200,43,203,255,255,0,0,0,9,0,13,0,32,0,48,0,58,0,160,1,134,1,143,1,146,1,157,1,160,1,169,1,175,1,183,1,205,1,230,1,234,1,250,2,24,2,30,2,50,2,55,2,69,2,84,2,89,2,91,2,106,2,114,2,131,2,140,2,146,2,167,2,187,2,198,2,201,2,216,3,0,3,6,3,18,3,27,3,35,3,38,3,64,3,116,3,126,3,132,3,140,3,142,3,145,3,163,3,170,3,177,3,202,3,215,4,0,4,27,4,36,4,59,4,68,4,144,4,150,4,154,4,162,4,174,4,182,4,186,4,192,4,207,4,216,4,226,4,232,4,238,14,63,30,128,30,158,30,160,32,8,32,16,32,19,32,23,32,32,32,36,32,38,32,40,32,48,32,50,32,57,32,60,32,62,32,68,32,112,32,116,32,127,32,128,32,160,32,163,32,166,32,177,32,180,32,184,32,188,33,5,33,19,33,22,33,34,33,38,33,46,33,91,33,144,33,168,33,225,33,227,34,2,34,6,34,15,34,17,34,21,34,25,34,30,34,41,34,43,34,72,34,96,35,16,35,32,35,175,37,0,37,149,37,160,38,25,38,58,38,64,38,66,38,96,38,99,38,101,38,106,39,19,39,103,39,108,40,0,42,47,43,18,43,197,43,202,255,255,6,72,3,14,0,0,2,58,0,0,0,0,254,245,0,0,1,148,254,198,0,0,254,143,0,0,254,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,224,254,99,254,237,254,163,254,158,254,88,254,183,254,119,254,227,254,107,254,179,0,0,3,110,3,81,0,0,0,0,0,0,3,21,3,13,3,6,3,4,0,0,2,162,255,153,0,0,254,179,0,0,254,146,254,145,0,0,254,148,0,0,254,146,0,0,253,133,0,0,253,167,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,9,253,60,0,0,0,0,0,0,0,0,244,222,0,0,225,239,0,0,227,16,226,182,226,176,0,0,0,0,226,143,226,131,226,244,227,46,228,115,226,154,226,117,226,118,226,89,226,35,226,35,225,15,225,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,158,227,151,0,0,227,128,226,47,227,127,225,70,0,0,225,191,225,135,225,134,225,89,225,80,225,72,0,0,225,39,0,0,0,0,225,42,225,41,225,6,0,0,224,49,0,0,223,143,0,0,221,231,0,0,222,118,222,86,222,83,222,82,222,53,222,51,222,50,222,170,221,134,221,51,0,0,0,0,217,49,0,0,0,0,0,0,0,1,0,0,0,0,1,32,0,0,1,60,1,196,0,0,3,128,0,0,0,0,3,126,0,0,3,126,0,0,3,126,3,128,3,130,3,132,3,142,3,148,3,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,130,0,0,0,0,3,128,3,138,3,146,0,0,0,0,0,0,0,0,3,150,0,0,0,0,3,150,0,0,3,160,0,0,0,0,3,160,0,0,3,170,0,0,3,178,0,0,3,228,0,0,4,14,4,68,4,74,4,76,4,78,4,80,4,90,4,92,0,0,0,0,4,90,4,92,4,94,4,96,0,0,4,96,0,0,4,104,0,0,0,0,0,0,5,20,5,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,12,5,14,5,16,5,32,5,34,5,36,5,40,0,0,0,0,5,40,0,0,0,0,0,0,0,0,5,34,0,0,0,0,0,0,0,0,0,0,0,0,5,32,0,0,5,32,5,34,0,0,0,0,0,0,5,30,0,0,5,38,0,0,5,38,0,0,6,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,246,6,252,0,0,8,248,9,50,9,56,0,0,3,25,2,170,2,213,2,178,3,34,3,93,4,156,2,214,2,183,2,184,2,176,3,67,2,166,2,193,2,165,2,181,2,167,2,168,3,74,3,71,3,73,2,172,4,155,0,1,0,27,0,28,0,34,0,38,0,59,0,60,0,66,0,70,0,83,0,85,0,87,0,93,0,94,0,101,0,128,0,130,0,131,0,135,0,143,0,148,0,167,0,169,0,174,0,175,0,184,2,187,2,182,2,188,3,81,2,200,6,49,0,195,0,221,0,222,0,228,0,232,0,254,0,255,1,5,1,9,1,22,1,25,1,28,1,34,1,35,1,43,1,70,1,72,1,73,1,77,1,85,1,91,1,110,1,112,1,117,1,118,1,127,2,185,4,167,2,186,3,79,3,26,2,171,3,31,3,54,3,33,3,58,4,168,4,158,6,47,4,159,1,140,2,209,3,80,2,194,4,160,6,57,4,164,3,77,2,149,2,150,6,50,3,90,4,157,2,174,6,58,2,148,1,141,2,210,2,159,2,158,2,160,2,173,0,18,0,2,0,10,0,24,0,16,0,22,0,25,0,31,0,51,0,39,0,42,0,48,0,78,0,72,0,74,0,75,0,35,0,100,0,112,0,102,0,104,0,126,0,110,3,69,0,124,0,154,0,149,0,151,0,152,0,176,0,129,1,83,0,212,0,196,0,204,0,218,0,210,0,216,0,219,0,225,0,245,0,233,0,236,0,242,1,16,1,11,1,13,1,14,0,229,1,42,1,54,1,44,1,46,1,68,1,52,3,70,1,66,1,97,1,92,1,94,1,95,1,119,1,71,1,121,0,20,0,214,0,3,0,197,0,21,0,215,0,29,0,223,0,32,0,226,0,33,0,227,0,30,0,224,0,36,0,230,0,37,0,231,0,53,0,247,0,40,0,234,0,49,0,243,0,54,0,248,0,41,0,235,0,63,1,2,0,61,1,0,0,65,1,4,0,64,1,3,0,69,1,8,0,67,1,6,0,82,1,21,0,80,1,19,0,73,1,12,0,81,1,20,0,76,1,10,0,71,1,18,0,84,1,24,0,86,1,26,1,27,0,88,1,29,0,90,1,31,0,89,1,30,0,91,1,32,0,92,1,33,0,95,1,36,0,97,1,39,0,96,1,38,1,37,0,98,1,40,0,121,1,63,0,103,1,45,0,120,1,62,0,127,1,69,0,132,1,74,0,134,1,76,0,133,1,75,0,136,1,78,0,139,1,81,0,138,1,80,0,137,1,79,0,146,1,88,0,145,1,87,0,144,1,86,0,166,1,109,0,163,1,106,0,150,1,93,0,165,1,108,0,162,1,105,0,164,1,107,0,171,1,114,0,177,1,120,0,178,0,185,1,128,0,187,1,130,0,186,1,129,1,84,0,142,0,55,0,114,1,56,0,156,1,99,0,9,0,203,0,62,1,1,0,122,1,64,0,23,0,217,0,26,0,220,0,125,1,67,0,140,1,82,0,147,1,89,0,68,1,7,0,182,1,125,6,25,6,24,6,54,6,48,6,55,6,59,6,56,6,51,6,29,6,30,6,32,6,36,6,37,6,34,6,28,6,27,6,38,6,35,6,31,6,33,6,45,6,46,6,75,6,76,6,78,2,59,3,22,2,60,2,61,2,62,2,64,2,65,2,96,2,66,2,67,2,102,2,103,2,104,2,94,2,99,2,95,2,98,2,100,2,97,2,101,2,68,1,151,1,152,1,191,1,147,1,183,1,182,1,185,1,186,1,187,1,180,1,181,1,188,1,159,1,157,1,169,1,176,1,143,1,144,1,145,1,146,1,149,1,150,1,153,1,154,1,155,1,156,1,158,1,170,1,171,1,173,1,172,1,174,1,175,1,178,1,179,1,177,1,184,1,189,1,190,1,209,1,210,1,211,1,212,1,215,1,216,1,219,1,220,1,221,1,222,1,224,1,236,1,237,1,239,1,238,1,240,1,241,1,244,1,245,1,243,1,250,1,255,2,0,1,217,1,218,2,1,1,213,1,249,1,248,1,251,1,252,1,253,1,246,1,247,1,254,1,225,1,223,1,235,1,242,1,148,1,214,1,192,2,2,1,193,2,3,1,194,2,4,1,195,2,5,1,196,2,6,1,197,2,7,1,198,2,8,1,199,2,9,1,200,2,10,1,202,2,12,1,203,2,13,1,204,2,14,1,205,2,15,0,173,1,116,0,170,1,113,0,172,1,115,0,17,0,211,0,19,0,213,0,11,0,205,0,13,0,207,0,14,0,208,0,15,0,209,0,12,0,206,0,4,0,198,0,6,0,200,0,7,0,201,0,8,0,202,0,5,0,199,0,50,0,244,0,52,0,246,0,57,0,251,0,43,0,237,0,45,0,239,0,46,0,240,0,47,0,241,0,44,0,238,0,79,1,17,0,77,1,15,0,111,1,53,0,113,1,55,0,105,1,47,0,107,1,49,0,108,1,50,0,109,1,51,0,106,1,48,0,115,1,57,0,117,1,59,0,118,1,60,0,119,1,61,0,116,1,58,0,153,1,96,0,155,1,98,0,157,1,100,0,159,1,102,0,160,1,103,0,161,1,104,0,158,1,101,0,180,1,123,0,179,1,122,0,181,1,124,0,183,1,126,2,201,2,206,2,207,2,202,2,208,2,204,2,205,2,203,4,169,4,171,2,175,3,37,3,32,3,39,3,44,3,47,3,48,3,51,3,57,3,53,3,35,3,36,3,42,3,56,3,49,3,40,3,41,3,30,3,55,3,52,3,45,3,46,3,50,3,43,4,172,4,161,3,100,3,97,3,98,3,99,3,101,3,102,3,88,3,68,3,59,3,89,3,82,3,92,3,72,3,61,3,66,3,95,3,76,3,75,3,64,3,63,4,56,4,18,4,69,4,31,4,62,4,24,4,63,4,25,4,59,4,21,4,60,4,22,4,55,4,6,4,0,4,17,4,54,4,4,3,254,4,16,4,68,4,95,4,89,4,30,4,67,4,93,4,87,4,28,4,72,4,107,4,88,4,1,4,104,4,7,4,94,4,34,4,71,4,106,4,86,3,255,4,103,4,5,4,92,4,33,4,53,4,36,4,74,4,3,3,253,4,77,4,39,4,15,4,66,4,37,4,75,4,91,4,85,4,78,4,40,4,27,4,70,4,38,4,76,4,105,4,84,4,2,4,102,4,42,4,80,4,35,4,73,4,8,4,90,4,79,4,41,4,32,4,50,4,12,4,51,4,13,3,242,3,246,4,11,3,252,3,241,4,10,3,251,3,240,4,98,4,83,3,245,4,97,4,82,3,244,4,110,4,101,3,249,4,109,4,100,3,248,4,9,3,250,3,239,4,96,4,81,3,243,4,108,4,99,3,247,4,44,4,43,4,45,4,46,4,49,4,48,4,47,4,57,4,64,4,61,4,52,4,19,4,26,4,23,4,14,4,58,4,65,4,20,4,29,3,114,3,106,3,107,3,108,3,109,3,110,3,111,3,112,3,113,3,122,3,121,3,120,3,119,3,118,3,117,3,116,3,123,3,135,3,136,3,137,3,115,3,182,3,183,3,184,3,185,3,187,3,188,3,189,3,190,3,191,3,192,3,193,3,194,3,179,3,180,3,178,3,181,3,176,3,177,3,208,3,212,3,223,3,227,3,209,3,213,3,224,3,228,3,219,3,221,3,210,3,214,3,225,3,229,3,211,3,215,3,226,3,230,3,220,3,222,3,168,3,169,3,174,3,155,3,175,3,139,3,154,3,153,3,156,3,138,3,141,3,142,3,143,3,144,3,147,3,148,3,145,3,146,3,158,3,159,3,160,3,161,3,164,3,165,3,166,3,167,3,162,3,163,3,232,3,233,3,234,3,231,3,157,3,195,3,196,3,197,3,198,3,199,3,216,3,217,3,218,3,140,3,200,3,201,3,202,3,203,3,149,3,150,3,151,3,152,3,238,3,235,3,237,3,204,3,205,3,206,3,207,3,236,2,191,2,192,2,189,2,190,5,22,5,23,5,151,5,24,5,215,5,88,5,152,5,25,5,247,5,120,5,184,5,57,5,216,5,89,5,153,5,26,6,7,5,136,5,200,5,73,5,232,5,105,5,169,5,42,5,248,5,121,5,185,5,58,5,217,5,90,5,154,5,27,6,15,5,144,5,208,5,81,5,240,5,113,5,177,5,50,6,0,5,129,5,193,5,66,5,225,5,98,5,162,5,35,6,8,5,137,5,201,5,74,5,233,5,106,5,170,5,43,5,249,5,122,5,186,5,59,5,218,5,91,5,155,5,28,6,19,5,148,5,212,5,85,5,244,5,117,5,181,5,54,6,4,5,133,5,197,5,70,5,229,5,102,5,166,5,39,6,12,5,141,5,205,5,78,5,237,5,110,5,174,5,47,5,253,5,126,5,190,5,63,5,222,5,95,5,159,5,32,6,16,5,145,5,209,5,82,5,241,5,114,5,178,5,51,6,1,5,130,5,194,5,67,5,226,5,99,5,163,5,36,6,9,5,138,5,202,5,75,5,234,5,107,5,171,5,44,5,250,5,123,5,187,5,60,5,219,5,92,5,156,5,29,6,21,5,150,5,214,5,87,5,246,5,119,5,183,5,56,6,6,5,135,5,199,5,72,5,231,5,104,5,168,5,41,6,14,5,143,5,207,5,80,5,239,5,112,5,176,5,49,5,255,5,128,5,192,5,65,5,224,5,97,5,161,5,34,6,18,5,147,5,211,5,84,5,243,5,116,5,180,5,53,6,3,5,132,5,196,5,69,5,228,5,101,5,165,5,38,6,11,5,140,5,204,5,77,5,236,5,109,5,173,5,46,5,252,5,125,5,189,5,62,5,221,5,94,5,158,5,31,6,20,5,149,5,213,5,86,5,245,5,118,5,182,5,55,6,5,5,134,5,198,5,71,5,230,5,103,5,167,5,40,6,13,5,142,5,206,5,79,5,238,5,111,5,175,5,48,5,254,5,127,5,191,5,64,5,223,5,96,5,160,5,33,6,17,5,146,5,210,5,83,5,242,5,115,5,179,5,52,6,2,5,131,5,195,5,68,5,227,5,100,5,164,5,37,6,10,5,139,5,203,5,76,5,235,5,108,5,172,5,45,5,251,5,124,5,188,5,61,5,220,5,93,5,157,5,30,4,191,4,194,4,192,4,195,3,170,3,171,3,172,3,173,3,186,4,177,4,198,4,188,4,204,4,184,4,201,4,196,4,174,4,190,4,176,4,178,4,199,4,181,4,200,4,185,4,186,4,202,4,175,4,197,4,187,4,203,4,183,4,179,4,180,4,182,4,193,4,189,0,1,0,0,0,2,0,20,0,9,160,0,192,0,0,9,160,0,64,0,3,2,147,1,3,2,208,208,211,3,2,147,1,3,2,34,40,40,0,0,5,220,0,20,5,140,0,20,5,140,0,20,4,36,0,20,0,0,255,236,0,0,255,236,0,0,255,236,254,52,255,238,5,140,0,20,0,0,255,236,0,0,0,206,0,199,0,190,0,190,0,212,0,176,0,176,0,13,0,200,0,10,0,188,0,95,255,252,1,84,0,142,0,204,0,192,0,195,0,12,0,213,0,176,0,80,0,182,255,248,0,190,0,117,0,190,0,177,0,213,0,213,0,149,1,78,0,18,0,184,0,154,0,205,0,192,0,3,0,214,0,197,0,181,0,172,0,183,0,163,0,189,1,124,0,184,0,168,0,192,0,203,0,230,0,12,0,30,0,192,0,200,0,211,0,95,0,183,0,190,1,84,0,122,0,142,0,165,0,176,0,187,0,196,0,208,0,216,0,12,0,160,0,176,0,192,0,200,0,212,0,220,0,80,0,140,0,161,0,173,0,180,0,191,0,226,0,117,0,171,0,177,0,185,0,190,0,199,0,204,0,208,0,213,0,138,0,154,0,172,0,202,0,206,0,214,0,220,0,252,1,78,0,18,0,176,0,184,0,190,0,149,0,158,0,192,0,207,0,3,0,171,0,181,0,192,0,201,0,216,0,163,0,170,0,180,0,188,0,201,1,124,0,159,0,168,0,182,0,193,0,204,0,230,3,34,4,28,6,194,4,152,3,42,6,74,6,98,6,84,0,0,64,74,153,152,151,150,135,134,133,132,131,130,129,128,127,126,125,124,123,122,121,120,119,118,117,116,115,114,113,112,111,110,109,108,107,106,105,104,103,102,101,100,99,98,97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,81,80,79,78,77,76,75,74,73,72,71,70,40,31,16,10,9,44,1,177,11,10,67,35,67,101,10,45,44,0,177,10,11,67,35,67,11,45,44,1,176,6,67,176,7,67,101,10,45,44,176,79,43,32,176,64,81,88,33,75,82,88,69,68,27,33,33,89,27,35,33,176,64,176,4,37,69,176,4,37,69,97,100,138,99,82,88,69,68,27,33,33,89,89,45,44,0,176,7,67,176,6,67,11,45,44,75,83,35,75,81,90,88,32,69,138,96,68,27,33,33,89,45,44,75,84,88,32,69,138,96,68,27,33,33,89,45,44,75,83,35,75,81,90,88,56,27,33,33,89,45,44,75,84,88,56,27,33,33,89,45,44,176,2,67,84,88,176,70,43,27,33,33,33,33,89,45,44,176,2,67,84,88,176,71,43,27,33,33,33,89,45,44,176,2,67,84,88,176,72,43,27,33,33,33,33,89,45,44,176,2,67,84,88,176,73,43,27,33,33,33,89,45,44,35,32,176,0,80,138,138,100,177,0,3,37,84,88,176,64,27,177,1,3,37,84,88,176,5,67,139,89,176,79,43,89,35,176,98,43,35,33,35,88,101,89,45,44,177,8,0,12,33,84,96,67,45,44,177,12,0,12,33,84,96,67,45,44,1,32,71,176,2,67,32,184,16,0,98,184,16,0,99,87,35,184,1,0,98,184,16,0,99,87,90,88,176,32,96,102,89,72,45,44,177,0,2,37,176,2,37,176,2,37,83,184,0,53,35,120,176,2,37,176,2,37,96,176,32,99,32,32,176,6,37,35,98,80,88,138,33,176,1,96,35,27,32,32,176,6,37,35,98,82,88,35,33,176,1,97,27,138,33,35,33,32,89,89,184,255,193,28,96,176,32,99,35,33,45,44,177,2,0,66,177,35,1,136,81,177,64,1,136,83,90,88,185,16,0,0,32,136,84,88,178,2,1,2,67,96,66,89,177,36,1,136,81,88,185,32,0,0,64,136,84,88,178,2,2,2,67,96,66,177,36,1,136,84,88,178,2,32,2,67,96,66,0,75,1,75,82,88,178,2,8,2,67,96,66,89,27,185,64,0,0,128,136,84,88,178,2,4,2,67,96,66,89,185,64,0,0,128,99,184,1,0,136,84,88,178,2,8,2,67,96,66,89,185,64,0,1,0,99,184,2,0,136,84,88,178,2,16,2,67,96,66,89,177,38,1,136,81,88,185,64,0,2,0,99,184,4,0,136,84,88,178,2,64,2,67,96,66,89,185,64,0,4,0,99,184,8,0,136,84,88,178,2,128,2,67,96,66,89,177,40,1,136,81,88,185,64,0,8,0,99,184,16,0,136,84,88,186,0,2,1,0,0,2,67,96,66,89,89,89,89,89,89,89,177,0,2,67,84,88,64,10,5,64,8,64,9,64,12,2,13,2,27,177,1,2,67,84,88,178,5,64,8,186,1,0,0,9,1,0,179,12,1,13,1,27,177,128,2,67,82,88,178,5,64,8,184,1,128,177,9,64,27,185,1,0,0,2,67,82,88,178,5,64,8,186,1,128,0,9,1,64,27,185,1,128,0,2,67,82,88,178,5,64,8,184,2,0,177,9,64,27,178,5,64,8,186,1,0,0,9,1,0,89,89,89,185,64,0,0,128,136,85,185,64,0,2,0,99,184,4,0,136,85,90,88,179,12,0,13,1,27,179,12,0,13,1,89,89,89,66,66,66,66,66,45,44,69,177,2,78,43,35,176,79,43,32,176,64,81,88,33,75,81,88,176,2,37,69,177,1,78,43,96,89,27,35,75,81,88,176,3,37,69,32,100,138,99,176,64,83,88,177,2,78,43,96,27,33,89,27,33,89,89,68,45,44,32,176,0,80,32,88,35,101,27,35,89,177,20,20,138,112,69,177,16,16,67,75,138,67,81,90,88,176,64,27,176,79,43,89,35,177,97,6,38,96,43,138,88,176,5,67,139,89,35,88,101,89,35,16,58,45,44,176,3,37,73,99,35,70,96,176,79,43,35,176,4,37,176,4,37,73,176,3,37,99,86,32,96,176,98,96,43,176,3,37,32,16,70,138,70,96,176,32,99,97,58,45,44,176,0,22,177,2,3,37,177,1,4,37,1,62,0,62,177,1,2,6,12,176,10,35,101,66,176,11,35,66,177,2,3,37,177,1,4,37,1,63,0,63,177,1,2,6,12,176,6,35,101,66,176,7,35,66,176,1,22,177,0,2,67,84,88,69,35,69,32,24,105,138,99,35,98,32,32,176,64,80,88,103,27,102,89,97,176,32,99,176,64,35,97,176,4,35,66,27,177,4,0,66,33,33,89,24,1,45,44,32,69,177,0,78,43,68,45,44,75,81,177,64,79,43,80,91,88,32,69,177,1,78,43,32,138,138,68,32,177,64,4,38,97,99,97,177,1,78,43,68,33,27,35,33,138,69,177,1,78,43,32,138,35,68,68,89,45,44,75,81,177,64,79,43,80,91,88,69,32,138,176,64,97,99,96,27,35,33,69,89,177,1,78,43,68,45,44,35,69,32,138,69,35,97,32,100,176,64,81,176,4,37,32,176,0,83,35,176,64,81,90,90,177,64,79,43,84,90,88,138,12,100,35,100,35,83,88,177,64,64,138,97,32,99,97,27,32,99,89,27,138,89,99,177,2,78,43,96,68,45,44,1,45,44,0,45,44,5,177,11,10,67,35,67,101,10,45,44,177,10,11,67,35,67,11,2,45,44,176,2,37,99,102,176,2,37,184,32,0,98,96,35,98,45,44,176,2,37,99,176,32,96,102,176,2,37,184,32,0,98,96,35,98,45,44,176,2,37,99,103,176,2,37,184,32,0,98,96,35,98,45,44,176,2,37,99,102,176,32,96,176,2,37,184,32,0,98,96,35,98,45,44,35,74,177,2,78,43,45,44,35,74,177,1,78,43,45,44,35,138,74,35,69,100,176,2,37,100,176,2,37,97,100,176,3,67,82,88,33,32,100,89,177,2,78,43,35,176,0,80,88,101,89,45,44,35,138,74,35,69,100,176,2,37,100,176,2,37,97,100,176,3,67,82,88,33,32,100,89,177,1,78,43,35,176,0,80,88,101,89,45,44,32,176,3,37,74,177,2,78,43,138,16,59,45,44,32,176,3,37,74,177,1,78,43,138,16,59,45,44,176,3,37,176,3,37,138,176,103,43,138,16,59,45,44,176,3,37,176,3,37,138,176,104,43,138,16,59,45,44,176,3,37,70,176,3,37,70,96,176,4,37,46,176,4,37,176,4,37,176,4,38,32,176,0,80,88,33,176,106,27,176,108,89,43,176,3,37,70,176,3,37,70,96,97,176,128,98,32,138,32,16,35,58,35,32,16,35,58,45,44,176,3,37,71,176,3,37,71,96,176,5,37,71,176,128,99,97,176,2,37,176,6,37,73,99,35,176,5,37,74,176,128,99,32,88,98,27,33,89,176,4,38,70,96,138,70,138,70,96,176,32,99,97,45,44,176,4,38,176,4,37,176,4,37,176,4,38,176,110,43,32,138,32,16,35,58,35,32,16,35,58,45,44,35,32,176,1,84,88,33,176,2,37,177,2,78,43,176,128,80,32,96,89,32,96,96,32,176,1,81,88,33,33,27,32,176,5,81,88,33,32,102,97,176,64,35,97,177,0,3,37,80,176,3,37,176,3,37,80,90,88,32,176,3,37,97,138,83,88,33,176,0,89,27,33,89,27,176,7,84,88,32,102,97,101,35,33,27,33,33,176,0,89,89,89,177,2,78,43,45,44,176,2,37,176,4,37,74,176,0,83,88,176,0,27,138,138,35,138,176,1,89,176,4,37,70,32,102,97,32,176,5,38,176,6,38,73,176,5,38,176,5,38,176,112,43,35,97,101,176,32,96,32,102,97,176,32,97,101,45,44,176,2,37,70,32,138,32,176,0,80,88,33,177,2,78,43,27,69,35,33,89,97,101,176,2,37,16,59,45,44,176,4,38,32,184,2,0,98,32,184,2,0,99,138,35,97,32,176,93,96,43,176,5,37,17,138,18,138,32,57,138,88,186,0,93,16,0,0,4,38,99,86,96,43,35,33,32,16,32,70,32,177,2,78,43,35,97,27,35,33,32,138,32,16,73,177,2,78,43,89,59,45,44,186,0,93,16,0,0,9,37,99,86,96,43,176,5,37,176,5,37,176,5,38,176,109,43,177,93,7,37,96,43,176,5,37,176,5,37,176,5,37,176,5,37,176,111,43,186,0,93,16,0,0,8,38,99,86,96,43,32,176,0,82,88,176,80,43,176,5,37,176,5,37,176,7,37,176,7,37,176,5,37,176,113,43,176,2,23,56,176,0,82,176,2,37,176,1,82,90,88,176,4,37,176,6,37,73,176,3,37,176,5,37,73,96,32,176,64,82,88,33,27,176,0,82,88,32,176,2,84,88,176,4,37,176,4,37,176,7,37,176,7,37,73,176,2,23,56,27,176,4,37,176,4,37,176,4,37,176,6,37,73,176,2,23,56,89,89,89,89,89,33,33,33,33,33,45,44,186,0,93,16,0,0,11,37,99,86,96,43,176,7,37,176,7,37,176,6,37,176,6,37,176,12,37,176,12,37,176,9,37,176,8,37,176,110,43,176,4,23,56,176,7,37,176,7,37,176,7,38,176,109,43,176,4,37,176,4,37,176,4,38,176,109,43,176,80,43,176,6,37,176,6,37,176,3,37,176,113,43,176,5,37,176,5,37,176,3,37,176,2,23,56,32,176,6,37,176,6,37,176,5,37,176,113,43,96,176,6,37,176,6,37,176,4,37,101,176,2,23,56,176,2,37,176,2,37,96,32,176,64,83,88,33,176,64,97,35,176,64,97,35,27,184,255,192,80,88,176,64,96,35,176,64,96,35,89,89,176,8,37,176,8,37,176,4,38,176,2,23,56,176,5,37,176,5,37,138,176,2,23,56,32,176,0,82,88,176,6,37,176,8,37,73,176,3,37,176,5,37,73,96,32,176,64,82,88,33,27,176,0,82,88,176,6,37,176,6,37,176,6,37,176,6,37,176,11,37,176,11,37,73,176,4,23,56,176,6,37,176,6,37,176,6,37,176,6,37,176,10,37,176,10,37,176,7,37,176,113,43,176,4,23,56,176,4,37,176,4,37,176,5,37,176,7,37,176,5,37,176,113,43,176,2,23,56,27,176,4,37,176,4,37,185,255,192,0,2,23,56,89,89,89,33,33,33,33,33,33,33,33,45,44,176,4,37,176,3,37,135,176,3,37,176,3,37,138,32,176,0,80,88,33,176,101,27,176,104,89,43,100,176,4,37,176,4,37,6,176,4,37,176,4,37,73,32,32,99,176,3,37,32,99,81,177,0,3,37,84,91,88,33,33,35,33,7,27,32,99,176,2,37,32,99,97,32,176,83,43,138,99,176,5,37,176,5,37,135,176,4,37,176,4,38,74,176,0,80,88,101,89,176,4,38,32,1,70,35,0,70,176,5,38,32,1,70,35,0,70,176,0,22,0,176,0,35,72,1,176,0,35,72,0,32,176,1,35,72,176,2,35,72,1,32,176,1,35,72,176,2,35,72,35,178,2,0,1,8,35,56,178,2,0,1,9,35,56,177,2,1,7,176,1,22,89,45,44,35,16,13,12,138,99,35,138,99,96,100,185,64,0,4,0,99,80,88,176,0,56,27,60,89,45,44,176,6,37,176,9,37,176,9,37,176,7,38,176,118,43,35,176,0,84,88,5,27,4,89,176,4,37,176,6,38,176,119,43,176,5,37,176,5,38,176,5,37,176,5,38,176,118,43,176,0,84,88,5,27,4,89,176,119,43,45,44,176,7,37,176,10,37,176,10,37,176,8,38,176,118,43,138,176,0,84,88,5,27,4,89,176,5,37,176,7,38,176,119,43,176,6,37,176,6,38,176,6,37,176,6,38,176,118,43,8,176,119,43,45,44,176,7,37,176,10,37,176,10,37,176,8,38,176,118,43,138,138,8,176,4,37,176,6,38,176,119,43,176,5,37,176,5,38,176,5,37,176,5,38,176,118,43,176,0,84,88,5,27,4,89,176,119,43,45,44,176,8,37,176,11,37,176,11,37,176,9,38,176,118,43,176,4,38,176,4,38,8,176,5,37,176,7,38,176,119,43,176,6,37,176,6,38,176,6,37,176,6,38,176,118,43,8,176,119,43,45,44,3,176,3,37,176,3,37,74,176,4,37,176,3,37,74,2,176,5,37,176,5,38,74,176,5,38,176,5,38,74,176,4,38,99,138,138,99,97,45,44,177,93,14,37,96,43,176,12,38,17,176,5,38,18,176,10,37,57,176,7,37,57,176,10,37,176,10,37,176,9,37,176,124,43,176,0,80,176,11,37,176,8,37,176,10,37,176,124,43,176,0,80,84,88,176,7,37,176,11,37,135,176,4,37,176,4,37,11,176,10,37,16,176,9,37,193,176,2,37,176,2,37,11,176,7,37,16,176,6,37,193,27,176,7,37,176,11,37,176,11,37,185,255,255,0,118,43,176,4,37,176,4,37,11,176,7,37,176,10,37,176,119,43,176,10,37,176,8,37,176,8,37,185,255,255,0,118,43,176,2,37,176,2,37,11,176,10,37,176,7,37,176,119,43,89,176,10,37,70,176,10,37,70,96,176,8,37,70,176,8,37,70,96,176,6,37,176,6,37,11,176,12,37,176,12,37,176,12,38,32,176,0,80,88,33,176,106,27,176,108,89,43,176,4,37,176,4,37,11,176,9,37,176,9,37,176,9,38,32,176,0,80,88,33,176,106,27,176,108,89,43,35,176,10,37,70,176,10,37,70,96,97,176,32,99,35,176,8,37,70,176,8,37,70,96,97,176,32,99,177,1,12,37,84,88,4,27,5,89,176,10,38,32,16,176,3,37,58,176,6,38,176,6,38,11,176,7,38,32,16,138,58,177,1,7,38,84,88,4,27,5,89,176,5,38,32,16,176,2,37,58,138,138,11,35,32,16,35,58,45,44,35,176,1,84,88,185,0,0,64,0,27,185,64,0,0,0,89,138,176,1,84,88,185,0,0,64,0,27,185,64,0,0,0,89,176,125,43,45,44,138,138,8,13,138,176,1,84,88,185,0,0,64,0,27,185,64,0,0,0,89,176,125,43,45,44,8,176,1,84,88,185,0,0,64,0,27,185,64,0,0,0,89,13,176,125,43,45,44,176,4,38,176,4,38,8,13,176,4,38,176,4,38,8,13,176,125,43,45,44,32,1,70,35,0,70,176,10,67,176,11,67,138,99,35,98,97,45,44,176,9,43,176,6,37,46,176,5,37,125,197,176,6,37,176,5,37,176,4,37,32,176,0,80,88,33,176,106,27,176,108,89,43,176,5,37,176,4,37,176,3,37,32,176,0,80,88,33,176,106,27,176,108,89,43,24,176,8,37,176,7,37,176,6,37,176,10,37,176,111,43,176,6,37,176,5,37,176,4,38,32,176,0,80,88,33,176,102,27,176,104,89,43,176,5,37,176,4,37,176,4,38,32,176,0,80,88,33,176,102,27,176,104,89,43,84,88,125,176,4,37,16,176,3,37,197,176,2,37,16,176,1,37,197,176,5,38,33,176,5,38,33,27,176,6,38,176,4,37,176,3,37,176,8,38,176,111,43,89,177,0,2,67,84,88,125,176,2,37,176,130,43,176,5,37,176,130,43,32,32,105,97,176,4,67,1,35,97,176,96,96,32,105,97,176,32,97,32,176,8,38,176,8,38,138,176,2,23,56,138,138,97,32,105,97,97,176,2,23,56,27,33,33,33,33,89,24,45,44,75,82,177,1,2,67,83,90,88,35,16,32,1,60,0,60,27,33,33,89,45,44,35,176,2,37,176,2,37,83,88,32,176,4,37,88,60,27,57,89,176,1,96,184,255,233,28,89,33,33,33,45,44,176,2,37,71,176,2,37,71,84,138,32,32,16,17,176,1,96,138,32,18,176,1,97,176,133,43,45,44,176,4,37,71,176,2,37,71,84,35,32,18,176,1,97,35,32,176,6,38,32,32,16,17,176,1,96,176,6,38,176,133,43,138,138,176,133,43,45,44,176,2,67,84,88,12,2,138,75,83,176,4,38,75,81,90,88,10,56,27,10,33,33,89,27,33,33,33,33,89,45,44,176,152,43,88,12,2,138,75,83,176,4,38,75,81,90,88,10,56,27,10,33,33,89,27,33,33,33,33,89,45,44,32,176,2,67,84,176,1,35,176,95,35,120,33,177,0,2,67,176,86,35,121,33,176,2,67,35,176,32,32,92,88,33,33,33,177,0,71,28,89,138,138,32,138,32,138,35,184,16,0,99,86,88,184,16,0,99,86,88,33,33,33,177,1,44,28,89,27,33,89,176,128,98,32,92,88,33,33,33,177,0,27,28,89,35,176,128,98,32,92,88,33,33,33,177,0,12,28,89,138,176,1,97,184,255,179,28,35,33,45,44,32,176,2,67,84,176,1,35,176,123,35,120,33,177,0,2,67,176,114,35,121,33,177,0,2,67,138,176,32,32,92,88,33,33,33,176,99,28,89,138,138,32,138,32,138,35,184,16,0,99,86,88,184,16,0,99,86,88,176,4,38,176,1,91,176,4,38,176,4,38,176,4,38,27,33,33,33,33,177,54,0,35,28,89,27,33,89,176,4,38,35,176,128,98,32,92,88,138,92,138,90,35,33,35,33,176,29,28,89,138,176,128,98,32,92,88,33,33,35,33,176,14,28,89,176,4,38,176,1,97,184,255,152,28,35,33,45,0,0,1,0,0,0,16,0,2,0,1,0,20,0,6,0,8,119,103,104,116,0,200,0,0,1,144,0,0,2,188,0,0,0,0,1,0,1,1,0,0,0,200,0,0,1,2,0,0,1,44,0,0,1,3,0,0,1,94,0,0,1,4,0,0,1,144,0,0,1,5,0,0,2,88,0,0,1,6,0,0,2,188,0,0,0,1,0,3,0,9,0,10,0,50,0,15,255,255,0,10,0,4,0,128,0,0,4,48,5,140,0,3,0,7,0,11,0,15,0,29,64,16,13,12,106,13,4,5,106,4,9,1,2,114,8,0,8,114,0,43,50,43,50,47,43,47,43,48,49,33,17,51,17,33,53,33,21,33,17,51,17,3,53,33,21,3,92,212,252,80,3,176,252,80,212,212,3,176,5,140,250,116,190,190,5,140,250,116,4,206,190,190,0,2,0,45,0,0,4,131,5,140,0,7,0,11,0,29,64,15,8,9,106,8,8,0,5,4,1,2,114,4,0,8,114,0,43,50,43,18,57,18,57,47,43,48,49,51,1,33,1,35,1,35,1,3,53,33,21,45,1,154,1,34,1,154,210,254,176,18,254,176,20,2,208,5,140,250,116,4,224,251,32,1,90,190,190,0,255,255,0,45,0,0,4,131,7,38,2,38,0,1,0,0,1,6,6,63,0,0,0,11,182,2,12,1,1,1,160,86,0,43,52,0,255,255,0,45,0,0,4,131,7,68,2,38,0,1,0,0,1,6,6,67,0,0,0,11,182,2,12,1,1,1,150,86,0,43,52,0,255,255,0,45,0,0,4,131,8,104,2,38,0,1,0,0,0,38,6,67,0,0,1,7,6,63,0,0,1,66,0,21,64,14,3,26,15,1,1,42,86,2,12,1,1,1,150,86,0,43,52,43,52,0,255,255,0,45,254,92,4,131,7,68,2,38,0,1,0,0,0,38,6,41,0,0,1,6,6,67,0,0,0,24,64,12,3,24,1,1,1,150,86,2,18,4,1,1,185,255,104,0,86,0,43,52,43,52,255,255,0,45,0,0,4,131,8,104,2,38,0,1,0,0,0,38,6,67,0,0,1,7,6,62,0,0,1,66,0,21,64,14,3,26,15,1,1,42,86,2,12,1,1,1,150,86,0,43,52,43,52,0,255,255,0,45,0,0,4,131,8,178,2,38,0,1,0,0,0,38,6,67,0,0,1,7,6,71,0,0,1,66,0,23,180,3,26,22,1,0,184,255,247,183,86,2,12,1,1,1,150,86,0,43,52,43,52,0,255,255,0,45,0,0,4,131,8,164,2,38,0,1,0,0,0,38,6,67,0,0,1,7,6,69,0,10,1,66,0,21,64,14,3,26,15,1,0,28,86,2,12,1,1,1,150,86,0,43,52,43,52,0,255,255,0,45,0,0,4,131,7,48,2,38,0,1,0,0,1,6,6,66,0,0,0,11,182,2,12,1,1,1,160,86,0,43,52,0,255,255,0,45,0,0,4,131,7,48,2,38,0,1,0,0,1,6,6,65,0,0,0,11,182,2,16,1,1,1,160,86,0,43,52,0,255,255,0,45,0,0,5,42,8,30,2,38,0,1,0,0,0,38,6,65,0,0,1,7,6,63,1,95,0,248,0,21,64,14,3,20,17,1,0,43,86,2,16,1,1,1,160,86,0,43,52,43,52,0,255,255,0,45,254,92,4,131,7,48,2,38,0,1,0,0,0,38,6,41,0,0,1,6,6,65,0,0,0,24,64,12,3,28,1,1,1,160,86,2,18,4,1,1,185,255,104,0,86,0,43,52,43,52,255,255,0,45,0,0,4,131,8,30,2,38,0,1,0,0,0,38,6,65,0,0,1,7,6,62,1,95,0,248,0,21,64,14,3,20,17,1,0,43,86,2,16,1,1,1,160,86,0,43,52,43,52,0,255,255,0,45,0,0,4,162,8,104,2,38,0,1,0,0,0,38,6,65,0,0,1,7,6,71,1,95,0,248,0,23,180,3,20,17,1,0,184,255,248,183,86,2,16,1,1,1,160,86,0,43,52,43,52,0,255,255,0,45,0,0,4,131,8,170,2,38,0,1,0,0,0,38,6,65,0,0,1,7,6,69,0,10,1,72,0,21,64,14,3,20,13,1,1,54,86,2,16,1,1,1,160,86,0,43,52,43,52,0,255,255,0,45,0,0,4,131,7,56,2,38,0,1,0,0,1,6,6,60,0,0,0,13,183,3,2,12,1,1,1,160,86,0,43,52,52,0,255,255,0,45,254,92,4,131,5,140,2,38,0,1,0,0,1,6,6,41,0,0,0,14,180,2,18,4,1,1,185,255,104,0,86,0,43,52,255,255,0,45,0,0,4,131,7,38,2,38,0,1,0,0,1,6,6,62,0,0,0,11,182,2,12,1,1,1,160,86,0,43,52,0,255,255,0,45,0,0,4,131,7,112,2,38,0,1,0,0,1,6,6,71,0,0,0,11,182,2,12,1,1,1,109,86,0,43,52,0,255,255,0,45,0,0,4,131,6,232,2,38,0,1,0,0,1,6,6,70,0,0,0,11,182,2,12,1,1,1,160,86,0,43,52,0,0,3,0,45,254,88,4,131,5,140,0,19,0,27,0,31,0,47,64,26,9,6,28,29,106,28,28,24,26,20,21,2,114,24,6,6,20,0,14,106,20,0,105,20,8,114,0,43,43,43,17,51,17,51,43,17,57,17,57,47,43,17,51,48,49,1,34,38,53,52,54,55,55,23,23,34,6,21,20,51,50,55,7,6,6,1,1,33,1,35,1,35,1,3,53,33,21,3,250,115,125,88,79,17,170,20,106,118,116,35,47,18,23,47,252,31,1,154,1,34,1,154,210,254,176,18,254,176,20,2,208,254,88,111,101,81,111,20,50,18,32,82,76,98,11,170,4,5,1,168,5,140,250,116,4,224,251,32,1,90,190,190,255,255,0,45,0,0,4,131,7,108,2,38,0,1,0,0,1,6,6,68,0,0,0,13,183,3,2,12,1,1,1,68,86,0,43,52,52,0,255,255,0,45,0,0,4,131,8,22,0,39,6,63,0,0,0,240,3,6,0,22,0,0,0,14,180,0,0,22,0,0,185,255,176,0,86,0,43,52,255,255,0,45,0,0,4,131,7,98,2,38,0,1,0,0,1,6,6,69,10,0,0,11,182,2,12,1,1,1,146,86,0,43,52,0,0,6,0,42,0,0,4,76,5,140,0,5,0,9,0,13,0,17,0,21,0,25,0,53,64,31,23,22,105,23,4,106,23,1,7,6,106,18,19,106,7,18,7,18,0,15,1,2,114,10,11,106,10,14,0,8,114,0,43,50,50,43,43,50,17,57,57,47,47,43,43,17,51,43,43,48,49,51,1,33,21,35,1,53,53,33,21,7,53,33,21,33,17,51,17,3,53,33,21,1,53,33,21,42,1,144,1,19,134,254,161,1,214,102,1,244,254,12,180,180,1,184,254,72,1,244,5,140,172,251,32,246,165,165,246,180,180,5,140,250,116,2,109,180,180,2,107,180,180,0,255,255,0,42,0,0,4,76,7,38,2,38,0,25,0,0,1,6,6,63,40,0,0,11,182,6,26,1,1,1,160,86,0,43,52,0,0,4,0,160,0,0,4,110,5,140,0,17,0,21,0,25,0,43,0,45,64,26,36,35,106,36,19,26,10,22,3,9,27,105,23,9,9,18,19,2,114,0,1,106,0,18,8,114,0,43,50,43,43,17,57,47,57,43,23,57,17,51,43,48,49,33,53,33,50,54,53,52,38,35,33,39,33,50,22,21,20,6,35,33,17,51,17,3,53,33,21,37,53,51,50,54,53,52,38,35,35,39,33,50,22,21,20,6,35,1,90,1,44,132,146,152,140,254,230,24,1,100,216,236,224,206,253,224,200,82,1,160,254,164,240,113,125,131,121,222,24,1,0,216,236,224,206,190,121,109,112,123,91,186,170,186,204,5,140,250,116,2,186,98,98,56,91,101,94,92,98,190,187,173,147,159,0,1,0,96,255,236,4,125,5,160,0,21,0,27,64,15,8,9,0,5,12,106,5,3,114,0,17,106,0,9,114,0,43,43,43,43,18,57,57,48,49,5,32,17,16,0,33,50,22,23,7,38,38,35,34,2,17,16,33,50,55,23,6,2,246,253,106,1,78,1,48,147,218,50,148,45,139,81,193,233,1,226,145,141,46,174,20,2,220,1,91,1,125,93,86,147,68,74,254,234,255,0,253,210,60,176,68,0,255,255,0,96,255,236,4,125,7,38,2,38,0,28,0,0,1,6,6,63,105,0,0,11,182,1,22,5,1,1,140,86,0,43,52,0,255,255,0,96,255,236,4,125,7,48,2,38,0,28,0,0,1,6,6,66,105,0,0,11,182,1,22,5,1,1,140,86,0,43,52,0,255,255,0,96,254,32,4,125,5,160,2,38,0,28,0,0,1,6,6,43,0,0,0,11,182,1,31,0,0,0,15,86,0,43,52,0,255,255,0,96,255,236,4,125,7,48,2,38,0,28,0,0,1,6,6,65,105,0,0,11,182,1,26,5,1,1,140,86,0,43,52,0,255,255,0,96,255,236,4,125,7,56,2,38,0,28,0,0,1,6,6,61,105,0,0,11,182,1,22,5,1,1,140,86,0,43,52,0,0,2,0,160,0,0,4,130,5,140,0,15,0,19,0,27,64,15,0,1,106,0,16,10,9,106,10,17,2,114,16,8,114,0,43,43,50,43,17,51,43,48,49,33,53,51,50,54,53,16,2,35,35,39,51,32,17,16,33,33,17,51,17,1,90,158,219,221,221,219,154,24,178,2,138,253,118,254,168,200,190,250,250,1,15,1,13,190,253,38,253,78,5,140,250,116,0,3,0,42,0,0,4,130,5,140,0,3,0,19,0,23,0,39,64,22,4,5,106,4,20,0,1,106,0,0,20,21,14,13,106,14,21,2,114,20,8,114,0,43,43,50,43,17,18,57,47,43,17,51,43,48,49,19,53,33,21,1,53,51,50,54,53,16,2,35,35,39,51,32,17,16,33,33,17,51,17,42,2,127,254,177,158,219,221,221,219,154,24,178,2,138,253,118,254,168,200,2,100,190,190,253,156,190,250,250,1,15,1,13,190,253,38,253,78,5,140,250,116,0,255,255,0,160,0,0,4,130,7,48,2,38,0,34,0,0,1,6,6,66,206,0,0,11,182,2,20,10,1,1,160,86,0,43,52,0,255,255,0,42,0,0,4,130,5,140,2,6,0,35,0,0,0,4,0,160,0,0,4,76,5,140,0,3,0,7,0,11,0,15,0,39,64,22,4,5,106,4,0,8,9,106,8,8,0,1,13,12,106,13,1,2,114,0,8,114,0,43,43,50,43,17,18,57,47,43,17,51,43,48,49,51,17,51,17,35,53,33,21,1,53,33,21,1,53,33,21,160,200,200,3,172,252,84,2,248,253,8,3,172,5,140,250,116,190,190,2,104,190,190,2,102,190,190,255,255,0,160,0,0,4,76,7,38,2,38,0,38,0,0,1,6,6,63,30,0,0,11,182,4,16,1,1,1,160,86,0,43,52,0,255,255,0,160,0,0,4,76,7,68,2,38,0,38,0,0,1,6,6,67,30,0,0,11,182,4,16,1,1,1,150,86,0,43,52,0,255,255,0,160,0,0,4,76,7,48,2,38,0,38,0,0,1,6,6,66,30,0,0,11,182,4,16,1,1,1,160,86,0,43,52,0,255,255,0,160,0,0,4,76,7,48,2,38,0,38,0,0,1,6,6,65,30,0,0,11,182,4,20,1,1,1,160,86,0,43,52,0,255,255,0,160,0,0,5,72,8,30,2,38,0,38,0,0,0,38,6,65,30,0,1,7,6,63,1,125,0,248,0,21,64,14,5,24,21,1,0,43,86,4,20,1,1,1,160,86,0,43,52,43,52,0,255,255,0,160,254,92,4,76,7,48,2,38,0,38,0,0,0,38,6,41,30,0,1,6,6,65,30,0,0,24,64,12,5,32,1,1,1,160,86,4,22,4,1,1,185,255,104,0,86,0,43,52,43,52,255,255,0,160,0,0,4,98,8,30,2,38,0,38,0,0,0,38,6,65,30,0,1,7,6,62,1,125,0,248,0,21,64,14,5,24,21,1,0,43,86,4,20,1,1,1,160,86,0,43,52,43,52,0,255,255,0,160,0,0,4,192,8,104,2,38,0,38,0,0,0,38,6,65,30,0,1,7,6,71,1,125,0,248,0,23,180,5,24,21,1,0,184,255,248,183,86,4,20,1,1,1,160,86,0,43,52,43,52,0,255,255,0,160,0,0,4,76,8,170,2,38,0,38,0,0,0,38,6,65,30,0,1,7,6,69,0,40,1,72,0,21,64,14,5,24,17,1,1,54,86,4,20,1,1,1,160,86,0,43,52,43,52,0,255,255,0,160,0,0,4,76,7,56,2,38,0,38,0,0,1,6,6,60,30,0,0,13,183,5,4,16,1,1,1,160,86,0,43,52,52,0,255,255,0,160,0,0,4,76,7,56,2,38,0,38,0,0,1,6,6,61,30,0,0,11,182,4,16,1,1,1,160,86,0,43,52,0,255,255,0,160,254,92,4,76,5,140,2,38,0,38,0,0,1,6,6,41,30,0,0,14,180,4,22,4,1,1,185,255,104,0,86,0,43,52,255,255,0,160,0,0,4,76,7,38,2,38,0,38,0,0,1,6,6,62,30,0,0,11,182,4,16,1,1,1,160,86,0,43,52,0,255,255,0,160,0,0,4,76,7,112,2,38,0,38,0,0,1,6,6,71,30,0,0,11,182,4,16,1,1,1,109,86,0,43,52,0,255,255,0,160,0,0,4,76,6,232,2,38,0,38,0,0,1,6,6,70,30,0,0,11,182,4,16,1,1,1,160,86,0,43,52,0,0,5,0,160,254,88,4,76,5,140,0,20,0,24,0,28,0,32,0,36,0,53,64,31,30,30,22,7,26,9,21,30,29,106,34,33,106,34,22,2,114,25,26,106,25,21,0,15,106,21,0,105,21,8,114,0,43,43,43,17,51,43,43,50,43,43,17,51,18,57,18,57,47,48,49,1,34,38,53,52,54,55,53,55,23,34,6,21,20,22,51,50,55,7,6,6,1,17,51,17,35,53,33,21,1,53,33,21,1,53,33,21,3,198,115,125,59,55,240,20,106,118,61,55,35,47,18,23,47,252,198,200,200,3,172,252,84,2,248,253,8,3,172,254,88,111,101,74,100,18,50,2,32,88,80,42,46,11,170,4,5,1,168,5,140,250,116,190,190,2,104,190,190,2,102,190,190,0,0,1,0,128,255,236,4,101,5,160,0,46,0,39,64,22,41,38,15,13,106,4,3,15,15,0,30,21,106,30,9,114,0,7,106,0,3,114,0,43,43,43,43,18,57,47,57,57,43,57,57,48,49,1,50,22,23,7,38,38,35,34,6,21,20,22,23,7,35,34,6,21,20,22,51,50,54,54,55,23,14,2,35,34,38,38,53,52,54,54,55,7,53,23,38,38,53,52,54,2,178,163,220,52,148,44,148,94,162,141,208,242,22,150,148,182,177,156,82,118,113,72,46,64,120,143,99,168,245,133,118,191,109,17,17,193,169,238,5,160,93,86,147,70,72,114,84,106,104,8,188,123,114,118,133,10,25,23,174,26,30,12,102,187,125,117,160,83,2,54,117,56,27,176,127,155,192,0,255,255,0,150,0,0,4,46,5,140,2,6,2,52,0,0,255,255,0,160,0,0,4,76,7,98,2,38,0,38,0,0,1,6,6,69,40,0,0,11,182,4,16,1,1,1,146,86,0,43,52,0,0,1,0,64,255,236,4,48,5,140,0,29,0,37,64,21,16,21,19,18,106,15,22,14,23,106,14,0,19,3,114,0,7,106,0,9,114,0,43,43,43,18,57,43,57,57,43,50,57,48,49,5,32,39,55,30,2,51,50,54,53,52,38,35,35,39,1,7,33,53,33,21,1,53,22,4,21,20,6,6,2,34,254,216,186,144,59,103,110,71,147,166,209,191,135,20,2,10,1,253,91,3,85,254,50,252,1,20,128,236,20,171,141,46,56,26,128,113,128,139,124,1,243,61,186,201,254,76,43,4,218,195,130,193,106,0,0,3,0,160,0,0,4,76,5,140,0,3,0,7,0,11,0,31,64,17,4,5,106,4,4,0,1,9,8,106,9,1,2,114,0,8,114,0,43,43,50,43,17,18,57,47,43,48,49,51,17,51,17,3,53,33,21,1,53,33,21,160,200,200,2,248,253,8,3,172,5,140,250,116,2,44,190,190,2,162,190,190,0,3,0,96,255,236,4,126,5,160,0,25,0,29,0,33,0,39,64,22,27,30,31,106,10,6,30,30,0,6,13,106,6,3,114,26,0,19,106,0,9,114,0,43,43,57,43,43,18,57,47,18,57,43,50,48,49,5,32,0,17,16,0,33,50,22,23,7,38,38,35,34,2,21,16,18,51,50,54,55,23,6,6,55,17,51,17,1,53,33,21,2,220,254,194,254,194,1,74,1,42,149,224,53,149,46,139,80,202,224,224,222,95,145,46,78,42,211,63,190,254,32,1,218,20,1,110,1,110,1,91,1,125,93,85,148,68,74,254,233,255,254,233,254,233,37,13,174,13,47,60,2,158,253,98,1,224,190,190,0,255,255,0,96,255,236,4,126,7,68,2,38,0,60,0,0,1,6,6,67,95,0,0,11,182,3,34,6,1,1,130,86,0,43,52,0,255,255,0,96,255,236,4,126,7,48,2,38,0,60,0,0,1,6,6,66,95,0,0,11,182,3,34,6,1,1,140,86,0,43,52,0,255,255,0,96,255,236,4,126,7,48,2,38,0,60,0,0,1,6,6,65,95,0,0,11,182,3,38,6,1,1,140,86,0,43,52,0,255,255,0,96,254,32,4,126,5,160,2,38,0,60,0,0,1,6,6,42,115,0,0,14,180,3,35,0,1,1,185,255,136,0,86,0,43,52,255,255,0,96,255,236,4,126,7,56,2,38,0,60,0,0,1,6,6,61,95,0,0,11,182,3,34,6,1,1,140,86,0,43,52,0,0,3,0,140,0,0,4,36,5,140,0,3,0,7,0,11,0,31,64,16,0,4,1,5,8,9,106,8,8,4,5,2,114,4,8,114,0,43,43,17,57,47,43,17,51,17,51,48,49,33,17,51,17,33,17,51,17,3,53,33,21,3,92,200,252,104,200,158,3,73,5,140,250,116,5,140,250,116,2,100,190,190,0,4,0,62,0,0,4,114,5,140,0,3,0,7,0,11,0,15,0,35,64,20,0,1,106,13,0,105,12,13,106,12,12,8,5,9,2,114,4,8,8,114,0,43,50,43,50,17,57,47,43,43,43,48,49,19,53,33,21,1,17,51,17,33,17,51,17,3,53,33,21,62,4,52,254,234,200,252,104,200,158,3,73,3,234,190,190,252,22,5,140,250,116,5,140,250,116,2,100,190,190,0,255,255,0,140,0,0,4,36,7,48,2,38,0,66,0,0,1,6,6,66,0,0,0,11,182,3,12,1,1,1,160,86,0,43,52,0,255,255,0,140,0,0,4,36,7,48,2,38,0,66,0,0,1,6,6,65,0,0,0,11,182,3,16,1,1,1,160,86,0,43,52,0,0,3,0,168,0,0,4,8,5,140,0,3,0,7,0,11,0,29,64,16,0,4,1,9,4,5,106,9,8,106,9,2,114,4,8,114,0,43,43,43,43,17,51,17,51,48,49,33,17,51,17,33,53,33,21,1,53,33,21,1,243,200,253,237,3,96,252,160,3,96,5,140,250,116,190,190,4,206,190,190,0,5,0,45,0,0,4,48,5,140,0,15,0,19,0,23,0,27,0,31,0,47,64,27,11,29,29,25,20,16,17,106,3,16,105,3,3,0,25,24,106,21,25,2,114,0,7,106,0,8,114,0,43,43,43,50,43,18,57,47,43,43,51,17,51,17,51,48,49,33,34,38,53,51,20,22,51,50,54,53,17,51,17,20,6,1,53,33,21,33,17,51,17,1,53,33,21,51,53,33,21,2,112,205,203,200,107,106,122,121,200,223,252,220,2,32,254,144,190,254,146,2,12,111,1,30,188,188,98,98,137,139,3,196,252,60,229,227,2,5,190,190,3,135,252,121,2,201,190,190,190,190,255,255,0,168,0,0,4,8,7,38,2,38,0,70,0,0,1,6,6,63,0,0,0,11,182,3,12,1,1,1,160,86,0,43,52,0,255,255,0,168,0,0,4,8,7,68,2,38,0,70,0,0,1,6,6,67,0,0,0,11,182,3,12,1,1,1,150,86,0,43,52,0,255,255,0,168,0,0,4,8,7,48,2,38,0,70,0,0,1,6,6,65,0,0,0,11,182,3,16,1,1,1,160,86,0,43,52,0,255,255,0,168,0,0,4,8,7,56,2,38,0,70,0,0,1,6,6,60,0,0,0,13,183,4,3,12,1,1,1,160,86,0,43,52,52,0,255,255,0,168,0,0,4,8,7,56,2,38,0,70,0,0,1,6,6,61,0,0,0,11,182,3,12,1,1,1,160,86,0,43,52,0,255,255,0,168,254,92,4,8,5,140,2,38,0,70,0,0,1,6,6,41,0,0,0,14,180,3,18,0,1,1,185,255,104,0,86,0,43,52,255,255,0,168,0,0,4,8,7,38,2,38,0,70,0,0,1,6,6,62,0,0,0,11,182,3,12,1,1,1,160,86,0,43,52,0,255,255,0,168,0,0,4,8,7,112,2,38,0,70,0,0,1,6,6,71,0,0,0,11,182,3,12,1,1,1,109,86,0,43,52,0,255,255,0,168,0,0,4,8,6,232,2,38,0,70,0,0,1,6,6,70,0,0,0,11,182,3,12,9,1,1,160,86,0,43,52,0,0,4,0,168,254,88,4,8,5,140,0,20,0,24,0,28,0,32,0,41,64,24,30,29,106,22,30,2,114,7,25,26,106,6,25,0,15,106,25,0,105,21,9,25,8,114,0,43,50,50,43,43,18,57,43,57,43,50,43,48,49,1,34,38,53,52,54,55,53,55,23,34,6,21,20,22,51,50,55,7,6,6,3,17,51,17,33,53,33,21,1,53,33,21,2,124,115,125,59,55,240,20,106,118,61,55,35,47,18,23,47,157,200,253,237,3,96,252,160,3,96,254,88,111,101,74,100,18,50,2,32,88,80,42,46,11,170,4,5,1,168,5,140,250,116,190,190,4,206,190,190,0,255,255,0,168,0,0,4,8,7,98,2,38,0,70,0,0,1,6,6,69,10,0,0,11,182,3,12,9,1,1,146,86,0,43,52,0,0,2,0,96,255,236,4,48,5,140,0,15,0,19,0,29,64,16,4,4,0,17,16,106,12,17,2,114,0,7,106,0,9,114,0,43,43,43,50,43,18,57,47,48,49,5,34,2,53,51,20,22,51,50,54,53,17,51,17,20,0,1,53,33,21,2,72,234,254,200,153,140,136,147,200,254,254,254,198,1,210,20,1,5,235,150,166,165,151,3,176,252,80,236,254,252,4,226,190,190,255,255,0,96,255,236,4,107,7,48,2,38,0,83,0,0,1,7,6,65,0,180,0,0,0,11,182,2,24,11,1,1,160,86,0,43,52,0,0,3,0,160,0,0,4,148,5,140,0,11,0,15,0,19,0,33,64,17,0,1,106,18,17,13,0,0,12,6,13,2,114,16,12,8,114,0,43,50,43,50,18,57,47,18,57,57,43,48,49,1,55,50,54,54,18,53,51,20,2,2,4,1,17,51,17,33,1,55,1,1,30,18,154,224,145,71,206,110,210,254,208,254,192,200,2,58,254,152,180,1,166,1,196,198,129,219,1,19,147,189,254,164,254,239,158,254,60,5,140,250,116,2,180,102,252,230,255,255,0,160,254,32,4,148,5,140,2,38,0,85,0,0,1,6,6,42,40,0,0,14,180,3,21,12,1,1,185,255,116,0,86,0,43,52,0,2,0,160,0,0,4,76,5,140,0,3,0,7,0,21,64,11,4,5,106,4,0,1,2,114,0,8,114,0,43,43,17,51,43,48,49,51,17,51,17,35,53,33,21,160,200,200,3,172,5,140,250,116,190,190,255,255,0,129,0,0,4,76,7,38,2,38,0,87,0,0,1,7,6,63,254,172,0,0,0,11,182,2,8,1,1,1,160,86,0,43,52,0,0,3,0,160,0,0,4,76,6,32,0,3,0,7,0,11,0,27,64,16,1,0,106,5,1,105,5,2,114,8,9,106,8,4,8,114,0,43,50,43,43,43,43,48,49,1,19,51,3,1,17,51,17,35,53,33,21,2,250,50,212,90,252,250,200,200,3,172,4,164,1,124,254,132,251,92,5,140,250,116,190,190,255,255,0,160,254,32,4,76,5,140,2,38,0,87,0,0,1,6,6,42,20,0,0,14,180,2,9,4,1,1,185,255,116,0,86,0,43,52,255,255,0,160,0,0,4,76,5,140,2,38,0,87,0,0,1,7,2,174,0,200,1,64,0,14,180,2,14,1,2,0,185,255,14,0,86,0,43,52,0,3,0,58,0,0,4,76,5,140,0,3,0,7,0,11,0,33,64,19,0,1,106,2,3,106,0,2,11,9,2,114,11,4,5,106,4,8,114,0,43,43,51,43,17,57,57,43,43,48,49,19,53,1,21,1,53,33,21,33,17,51,17,58,3,38,253,164,3,72,252,184,200,1,199,185,1,164,185,252,149,190,190,5,140,250,116,0,0,4,0,128,0,0,4,48,5,140,0,7,0,11,0,19,0,23,0,41,64,22,5,9,14,106,17,12,1,106,0,12,12,20,21,15,3,9,2,114,20,8,8,114,0,43,50,43,50,50,50,17,57,47,51,43,50,43,50,48,49,1,55,51,19,51,21,35,3,1,17,51,17,19,3,35,53,51,19,51,23,1,17,51,17,2,54,30,12,162,142,58,162,253,204,192,188,162,58,142,162,8,20,1,4,192,2,68,230,2,98,252,253,180,253,188,5,140,250,116,2,68,2,76,252,253,158,230,253,188,5,140,250,116,0,3,0,148,0,0,4,28,5,140,0,7,0,11,0,15,0,27,64,13,2,5,8,13,4,9,2,114,12,7,8,8,114,0,43,50,50,43,50,50,18,57,57,48,49,33,1,35,17,51,1,51,17,33,17,51,17,33,17,51,17,3,32,254,72,92,132,1,184,50,253,26,192,2,8,192,4,56,1,84,251,200,254,172,5,140,250,116,5,140,250,116,255,255,0,148,0,0,4,28,7,38,2,38,0,94,0,0,1,6,6,63,0,0,0,11,182,3,16,9,1,1,160,86,0,43,52,0,255,255,0,148,0,0,4,28,7,48,2,38,0,94,0,0,1,6,6,66,0,0,0,11,182,3,16,13,1,1,160,86,0,43,52,0,255,255,0,148,254,32,4,28,5,140,2,38,0,94,0,0,1,6,6,42,0,0,0,14,180,3,17,8,1,1,185,255,116,0,86,0,43,52,0,4,0,148,254,32,4,28,5,140,0,12,0,20,0,24,0,28,0,47,64,27,6,21,18,26,17,22,15,106,22,2,114,25,13,13,21,0,1,106,21,0,105,21,18,105,21,8,114,0,43,43,43,43,17,51,17,51,43,43,51,51,17,18,57,48,49,1,39,55,54,54,53,17,51,17,20,6,6,7,19,1,35,17,51,1,51,17,33,17,51,17,33,17,51,17,2,81,10,120,78,78,193,77,147,105,77,254,72,92,132,1,184,50,253,26,192,2,8,192,254,32,168,18,12,100,94,1,16,254,232,108,160,94,10,1,212,4,56,1,84,251,200,254,172,5,140,250,116,5,140,250,116,0,0,4,255,128,254,32,4,28,5,140,0,12,0,20,0,24,0,28,0,37,64,22,7,28,18,105,0,1,106,28,0,105,24,13,28,8,114,22,15,106,22,26,2,114,0,43,50,43,43,50,50,43,43,43,57,48,49,3,39,55,54,54,53,17,51,17,20,6,6,7,1,1,35,17,51,1,51,17,33,17,51,17,33,17,51,17,118,10,120,78,78,193,77,147,105,3,20,254,72,92,132,1,184,50,253,26,192,2,8,192,254,32,168,18,9,103,94,1,16,254,232,110,161,93,8,1,212,4,56,1,84,251,200,254,172,5,140,250,116,5,140,250,116,0,255,255,0,148,0,0,4,28,7,98,2,38,0,94,0,0,1,6,6,69,10,0,0,11,182,3,16,9,1,1,146,86,0,43,52,0,0,2,0,76,255,236,4,100,5,160,0,7,0,15,0,21,64,12,0,8,106,4,12,106,4,3,114,0,9,114,0,43,43,43,43,48,49,5,32,17,16,33,32,17,16,37,32,17,16,33,32,17,16,2,88,253,244,2,12,2,12,253,244,1,58,254,198,254,198,20,2,208,2,228,253,28,253,48,184,2,24,2,44,253,212,253,232,0,255,255,0,76,255,236,4,100,7,38,2,38,0,101,0,0,1,6,6,63,0,0,0,11,182,2,16,4,1,1,140,86,0,43,52,0,255,255,0,76,255,236,4,100,7,68,2,38,0,101,0,0,1,6,6,67,0,0,0,11,182,2,16,4,1,1,130,86,0,43,52,0,255,255,0,76,255,236,4,100,7,48,2,38,0,101,0,0,1,6,6,65,0,0,0,11,182,2,20,4,1,1,140,86,0,43,52,0,255,255,0,76,255,236,5,42,8,30,2,38,0,101,0,0,0,38,6,65,0,0,1,7,6,63,1,95,0,248,0,21,64,14,3,24,21,1,0,43,86,2,20,4,1,1,140,86,0,43,52,43,52,0,255,255,0,76,254,92,4,100,7,48,2,38,0,101,0,0,0,38,6,41,0,0,1,6,6,65,0,0,0,24,64,12,3,32,4,1,1,140,86,2,22,0,1,1,185,255,124,0,86,0,43,52,43,52,255,255,0,76,255,236,4,100,8,30,2,38,0,101,0,0,0,38,6,65,0,0,1,7,6,62,1,95,0,248,0,21,64,14,3,24,21,1,0,43,86,2,20,4,1,1,140,86,0,43,52,43,52,0,255,255,0,76,255,236,4,162,8,104,2,38,0,101,0,0,0,38,6,65,0,0,1,7,6,71,1,95,0,248,0,23,180,3,24,21,1,0,184,255,248,183,86,2,20,4,1,1,140,86,0,43,52,43,52,0,255,255,0,76,255,236,4,100,8,170,2,38,0,101,0,0,0,38,6,65,0,0,1,7,6,69,0,10,1,72,0,21,64,14,3,24,17,1,1,54,86,2,20,4,1,1,140,86,0,43,52,43,52,0,255,255,0,76,255,236,4,100,7,56,2,38,0,101,0,0,1,6,6,60,0,0,0,13,183,3,2,16,4,1,1,140,86,0,43,52,52,0,255,255,0,76,254,92,4,100,5,160,2,38,0,101,0,0,1,6,6,41,0,0,0,14,180,2,22,0,1,1,185,255,124,0,86,0,43,52,255,255,0,76,255,236,4,100,7,38,2,38,0,101,0,0,1,6,6,62,0,0,0,11,182,2,16,4,1,1,140,86,0,43,52,0,255,255,0,76,255,236,4,100,7,112,2,38,0,101,0,0,1,6,6,71,0,0,0,11,182,2,16,4,1,1,89,86,0,43,52,0,255,255,0,76,255,236,4,224,6,117,2,38,0,101,0,0,1,7,6,72,1,144,0,0,0,11,182,2,21,4,0,0,213,86,0,43,52,0,255,255,0,76,255,236,4,224,7,38,2,38,0,114,0,0,1,6,6,63,0,0,0,11,182,3,26,4,1,1,140,86,0,43,52,0,255,255,0,76,254,92,4,224,6,117,2,38,0,114,0,0,1,6,6,41,0,0,0,14,180,3,32,0,1,1,185,255,124,0,86,0,43,52,255,255,0,76,255,236,4,224,7,38,2,38,0,114,0,0,1,6,6,62,0,0,0,11,182,3,26,4,1,1,140,86,0,43,52,0,255,255,0,76,255,236,4,224,7,112,2,38,0,114,0,0,1,6,6,71,0,0,0,11,182,3,26,4,1,1,89,86,0,43,52,0,255,255,0,76,255,236,4,224,7,98,2,38,0,114,0,0,1,6,6,69,10,0,0,11,182,3,26,4,1,1,126,86,0,43,52,0,255,255,0,76,255,236,4,100,7,38,2,38,0,101,0,0,1,6,6,64,0,0,0,13,183,3,2,16,4,1,1,140,86,0,43,52,52,0,255,255,0,76,255,236,4,100,6,232,2,38,0,101,0,0,1,6,6,70,0,0,0,11,182,2,16,4,1,1,140,86,0,43,52,0,0,3,0,76,254,88,4,100,5,160,0,20,0,28,0,36,0,39,64,24,25,33,106,25,3,114,7,6,8,3,21,29,105,5,21,0,15,106,21,0,105,21,9,114,0,43,43,43,18,57,43,23,57,43,43,48,49,1,34,38,53,52,55,53,55,23,14,2,21,20,22,51,50,55,7,6,6,3,32,17,16,33,32,17,16,37,32,17,16,33,32,17,16,2,146,115,125,114,210,44,49,101,68,46,70,37,45,18,25,45,78,253,244,2,12,2,12,253,244,1,58,254,198,254,198,254,88,101,91,154,38,70,10,32,17,38,65,56,26,62,11,170,4,5,1,148,2,208,2,228,253,28,253,48,184,2,24,2,44,253,212,253,232,0,0,1,0,17,255,236,4,80,5,160,0,24,0,27,64,15,4,3,0,19,14,106,19,3,114,0,8,106,0,9,114,0,43,43,43,43,18,57,57,48,49,5,34,38,39,55,30,2,51,50,18,53,16,2,35,34,7,39,54,51,32,0,17,16,0,1,220,135,235,89,144,59,99,103,65,194,216,240,236,148,141,46,174,195,1,64,1,73,254,198,20,86,85,141,49,56,23,1,32,253,1,7,1,32,60,176,68,254,138,254,159,254,169,254,122,0,0,3,0,66,255,122,4,100,5,252,0,3,0,11,0,19,0,35,64,19,3,1,0,2,8,8,16,106,8,3,114,0,4,4,12,106,4,9,114,0,43,43,16,206,43,43,16,206,17,57,57,48,49,23,39,1,23,1,32,17,16,33,32,17,16,37,32,17,16,33,32,17,16,201,135,3,145,135,253,254,253,244,2,12,2,12,253,244,1,58,254,198,254,198,134,75,6,55,75,250,59,2,208,2,228,253,28,253,48,184,2,24,2,44,253,212,253,232,255,255,0,66,255,122,4,100,7,38,2,38,0,124,0,0,1,6,6,63,0,0,0,11,182,3,20,8,1,1,140,86,0,43,52,0,255,255,0,76,255,236,4,100,7,98,2,38,0,101,0,0,1,6,6,69,10,0,0,11,182,2,16,4,1,1,126,86,0,43,52,0,0,5,0,76,255,236,4,76,5,160,0,14,0,18,0,29,0,33,0,37,0,51,64,32,35,34,106,10,35,2,114,15,16,106,12,15,8,114,30,31,106,30,30,0,6,24,106,6,3,114,0,19,106,0,9,114,0,43,43,43,43,18,57,47,43,43,50,43,43,50,43,48,49,5,34,2,17,16,18,51,50,22,51,51,17,35,34,6,55,53,33,21,37,50,55,17,38,35,34,2,17,16,18,1,53,33,21,1,53,33,21,2,8,211,233,233,211,54,80,46,80,80,35,89,74,1,194,253,198,40,30,35,45,112,122,128,1,0,1,114,254,112,1,204,20,1,121,1,87,1,97,1,131,20,250,116,20,20,180,180,164,6,4,40,22,254,221,254,247,255,0,254,232,1,201,180,180,2,107,180,180,0,0,2,0,160,0,0,4,96,5,140,0,17,0,21,0,31,64,17,0,1,106,0,0,18,19,10,9,106,10,19,2,114,18,8,114,0,43,43,50,43,17,18,57,47,43,48,49,1,53,51,50,54,53,52,38,35,35,53,51,32,0,21,20,0,33,1,17,51,17,1,80,242,158,174,174,158,238,238,1,3,1,27,254,229,254,253,254,94,200,1,184,190,158,142,143,157,190,254,255,233,234,255,0,254,72,5,140,250,116,0,0,2,0,160,0,0,4,96,5,140,0,17,0,21,0,35,64,19,0,1,106,0,0,18,19,10,9,106,10,10,18,19,2,114,18,8,114,0,43,43,17,57,47,43,17,18,57,47,43,48,49,37,53,51,50,54,53,52,38,35,35,53,51,32,0,21,20,0,33,5,17,51,17,1,80,242,158,174,174,158,238,238,1,2,1,28,254,228,254,254,254,94,200,220,190,158,142,144,156,190,255,0,234,234,255,0,220,5,140,250,116,0,0,3,0,76,254,52,4,100,5,160,0,11,0,19,0,27,0,31,64,19,16,24,106,16,3,114,5,12,20,105,0,9,106,12,0,105,12,9,114,0,43,43,43,43,57,43,43,48,49,1,34,38,53,53,51,21,20,22,51,51,7,1,32,17,16,33,32,17,16,37,32,17,16,33,32,17,16,3,162,216,218,198,118,118,102,20,254,100,253,244,2,12,2,12,253,244,1,58,254,198,254,198,254,52,220,220,82,84,129,129,180,1,184,2,208,2,228,253,28,253,48,184,2,24,2,44,253,212,253,232,0,3,0,140,0,0,4,118,5,140,0,17,0,21,0,25,0,35,64,19,10,9,106,10,19,23,0,1,106,0,0,18,19,2,114,22,18,8,114,0,43,50,43,17,57,47,43,57,17,51,43,48,49,1,53,33,50,54,53,52,38,35,33,39,33,50,22,21,20,6,35,1,17,51,17,33,1,51,1,1,70,1,46,119,133,133,119,254,214,24,1,66,221,241,241,221,254,24,200,2,50,254,194,220,1,82,2,28,190,126,114,125,135,190,224,206,214,236,253,228,5,140,250,116,2,156,253,100,255,255,0,140,0,0,4,118,7,38,2,38,0,131,0,0,1,6,6,63,216,0,0,11,182,3,26,10,1,1,160,86,0,43,52,0,255,255,0,140,0,0,4,118,7,48,2,38,0,131,0,0,1,6,6,66,216,0,0,11,182,3,26,10,1,1,160,86,0,43,52,0,255,255,0,140,254,32,4,118,5,140,2,38,0,131,0,0,1,6,6,42,10,0,0,14,180,3,27,18,1,1,185,255,116,0,86,0,43,52,0,1,0,129,255,236,4,37,5,160,0,39,0,36,64,24,10,37,13,14,34,33,17,30,24,23,10,0,20,27,106,20,3,114,0,7,106,0,9,114,0,43,43,43,43,18,23,57,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,39,39,38,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,23,23,22,22,21,20,6,2,39,121,211,90,26,110,205,97,140,136,67,63,246,145,155,224,205,143,220,102,140,88,153,83,103,113,74,72,208,158,164,251,20,39,39,202,47,49,98,100,66,92,28,112,66,186,138,186,204,84,95,142,72,65,99,97,69,87,34,98,74,186,146,193,193,255,255,0,129,255,236,4,37,7,38,2,38,0,135,0,0,1,6,6,63,20,0,0,11,182,1,40,20,1,1,140,86,0,43,52,0,255,255,0,129,255,236,4,37,7,48,2,38,0,135,0,0,1,6,6,66,20,0,0,11,182,1,40,20,1,1,140,86,0,43,52,0,255,255,0,129,254,32,4,37,5,160,2,38,0,135,0,0,1,6,6,43,191,0,0,11,182,1,49,0,0,0,15,86,0,43,52,0,255,255,0,129,255,236,4,37,7,48,2,38,0,135,0,0,1,6,6,65,20,0,0,11,182,1,44,20,1,1,140,86,0,43,52,0,255,255,0,129,254,32,4,37,5,160,2,38,0,135,0,0,1,6,6,42,10,0,0,14,180,1,41,0,1,1,185,255,136,0,86,0,43,52,0,2,0,140,255,236,4,133,5,160,0,15,0,38,0,40,64,25,32,33,29,106,33,8,31,7,4,4,16,22,106,16,9,114,15,8,114,4,11,106,4,3,114,0,43,43,43,43,43,18,23,57,43,57,48,49,51,17,16,54,33,50,22,23,7,38,38,35,38,6,21,17,5,34,39,55,22,22,51,50,54,53,52,38,39,39,1,51,1,39,22,22,21,20,4,140,245,1,15,128,223,97,171,70,137,70,166,150,1,65,120,82,26,45,101,46,127,139,116,106,175,1,77,226,254,218,28,179,195,254,252,3,162,1,13,241,84,86,140,60,60,1,153,168,252,94,20,23,187,8,10,136,124,96,142,34,50,2,4,254,89,29,31,225,174,222,244,0,0,2,0,76,255,236,4,100,5,160,0,22,0,26,0,31,64,18,0,10,106,23,24,106,23,23,0,19,14,106,19,3,114,0,9,114,0,43,43,43,18,57,47,43,43,48,49,5,32,17,52,54,55,23,6,21,16,33,32,17,16,33,34,7,39,54,51,32,17,16,1,53,33,21,2,88,253,244,2,2,209,3,1,58,1,58,254,98,163,141,28,156,176,2,112,251,236,3,173,20,2,188,31,59,28,16,49,53,253,252,2,24,2,44,39,177,46,253,28,253,48,2,116,190,190,0,0,2,0,80,0,0,4,96,5,140,0,3,0,7,0,19,64,10,2,5,4,106,5,2,114,0,8,114,0,43,43,43,51,48,49,33,17,51,17,1,53,33,21,1,244,200,253,148,4,16,5,140,250,116,4,206,190,190,0,3,0,80,0,0,4,96,5,140,0,3,0,7,0,11,0,31,64,17,6,9,0,1,106,0,0,4,9,8,106,9,2,114,4,8,114,0,43,43,43,18,57,47,43,17,51,48,49,19,53,33,21,1,17,51,17,1,53,33,21,192,3,48,254,4,200,253,148,4,16,2,75,190,190,253,181,5,140,250,116,4,206,190,190,0,255,255,0,80,0,0,4,96,7,48,2,38,0,143,0,0,1,6,6,66,0,0,0,11,182,2,8,1,1,1,160,86,0,43,52,0,255,255,0,80,254,32,4,96,5,140,2,38,0,143,0,0,1,6,6,43,176,0,0,14,180,2,17,0,1,0,185,255,251,0,86,0,43,52,255,255,0,80,254,32,4,96,5,140,2,38,0,143,0,0,1,6,6,42,251,0,0,14,180,2,9,0,1,1,185,255,116,0,86,0,43,52,0,1,0,140,255,236,4,36,5,140,0,15,0,21,64,11,12,3,0,8,106,3,2,114,0,9,114,0,43,43,43,17,51,48,49,5,32,17,17,51,17,20,22,51,32,17,17,51,17,20,6,2,84,254,56,200,125,135,1,4,200,236,20,1,220,3,196,252,60,142,144,1,30,3,196,252,60,238,238,0,255,255,0,140,255,236,4,36,7,38,2,38,0,148,0,0,1,6,6,63,0,0,0,11,182,1,16,3,1,1,160,86,0,43,52,0,255,255,0,140,255,236,4,36,7,68,2,38,0,148,0,0,1,6,6,67,0,0,0,11,182,1,16,11,1,1,150,86,0,43,52,0,255,255,0,140,255,236,4,36,7,48,2,38,0,148,0,0,1,6,6,65,0,0,0,11,182,1,20,11,1,1,160,86,0,43,52,0,255,255,0,140,255,236,4,36,7,56,2,38,0,148,0,0,1,6,6,60,0,0,0,13,183,2,1,16,11,1,1,160,86,0,43,52,52,0,255,255,0,140,254,92,4,36,5,140,2,38,0,148,0,0,1,6,6,41,0,0,0,14,180,1,22,0,1,1,185,255,124,0,86,0,43,52,255,255,0,140,255,236,4,36,7,38,2,38,0,148,0,0,1,6,6,62,0,0,0,11,182,1,16,3,1,1,160,86,0,43,52,0,255,255,0,140,255,236,4,36,7,112,2,38,0,148,0,0,1,6,6,71,0,0,0,11,182,1,16,11,1,1,109,86,0,43,52,0,0,2,0,140,255,236,5,18,6,117,0,9,0,25,0,29,64,17,1,22,0,105,22,13,5,105,13,2,114,10,18,106,10,9,114,0,43,43,43,43,51,43,51,48,49,1,39,55,54,54,53,51,20,6,7,1,32,17,17,51,17,20,22,51,32,17,17,51,17,20,6,3,143,51,61,93,92,192,163,164,254,137,254,56,200,125,135,1,4,200,236,4,231,165,10,15,111,97,169,192,27,250,251,1,220,3,196,252,60,142,144,1,30,3,196,252,60,238,238,0,255,255,0,140,255,236,5,18,7,38,2,38,0,156,0,0,1,6,6,63,0,0,0,11,182,2,26,13,1,1,160,86,0,43,52,0,255,255,0,140,254,92,5,18,6,117,2,38,0,156,0,0,1,6,6,41,0,0,0,14,180,2,32,10,1,1,185,255,124,0,86,0,43,52,255,255,0,140,255,236,5,18,7,38,2,38,0,156,0,0,1,6,6,62,0,0,0,11,182,2,26,13,1,1,160,86,0,43,52,0,255,255,0,140,255,236,5,18,7,112,2,38,0,156,0,0,1,6,6,71,0,0,0,11,182,2,26,21,1,1,109,86,0,43,52,0,255,255,0,140,255,236,5,18,7,98,2,38,0,156,0,0,1,6,6,69,10,0,0,11,182,2,26,13,1,1,146,86,0,43,52,0,255,255,0,140,255,236,4,77,7,38,2,38,0,148,0,0,1,6,6,64,0,0,0,13,183,2,1,16,11,1,1,160,86,0,43,52,52,0,255,255,0,140,255,236,4,36,6,232,2,38,0,148,0,0,1,6,6,70,0,0,0,11,182,1,16,3,1,1,160,86,0,43,52,0,0,2,0,140,254,88,4,36,5,140,0,20,0,36,0,37,64,22,33,24,2,114,7,6,8,3,21,29,105,5,21,0,15,106,21,0,105,21,9,114,0,43,43,43,18,57,43,23,57,43,50,48,49,1,34,38,53,52,55,53,55,23,14,2,21,20,22,51,50,55,7,6,6,3,32,17,17,51,17,20,22,51,32,17,17,51,17,20,6,2,156,115,125,114,220,44,52,105,71,46,70,37,45,18,25,45,92,254,56,200,125,135,1,4,200,236,254,88,101,91,154,38,70,10,27,17,39,67,58,26,62,11,170,4,5,1,148,1,220,3,196,252,60,142,144,1,30,3,196,252,60,238,238,0,255,255,0,140,255,236,4,36,7,108,2,38,0,148,0,0,1,6,6,68,0,0,0,13,183,2,1,16,11,1,1,68,86,0,43,52,52,0,255,255,0,140,255,236,4,36,7,98,2,38,0,148,0,0,1,6,6,69,10,0,0,11,182,1,16,3,1,1,146,86,0,43,52,0,0,1,0,44,0,0,4,130,5,140,0,7,0,19,64,9,3,0,6,1,2,114,0,8,114,0,43,43,50,18,57,48,49,33,1,51,1,51,1,51,1,1,188,254,112,214,1,76,18,1,76,214,254,112,5,140,251,30,4,226,250,116,255,255,0,45,0,0,4,131,5,140,2,6,1,207,0,0,0,2,0,20,0,0,4,156,5,140,0,9,0,19,0,37,64,20,5,12,13,106,8,12,12,10,17,1,2,114,10,15,0,3,106,0,8,114,0,43,43,50,51,43,50,17,57,17,51,43,50,48,49,51,3,51,19,51,19,51,7,35,3,51,3,35,39,51,19,51,19,51,3,180,160,210,120,20,131,200,67,40,105,222,105,40,65,200,129,20,120,210,160,5,140,251,20,3,132,198,252,162,3,94,198,252,124,4,236,250,116,0,255,255,0,20,0,0,4,156,7,38,2,38,0,169,0,0,1,6,6,63,0,0,0,11,182,2,20,1,1,1,160,86,0,43,52,0,255,255,0,20,0,0,4,156,7,48,2,38,0,169,0,0,1,6,6,65,0,0,0,11,182,2,24,17,1,1,160,86,0,43,52,0,255,255,0,20,0,0,4,156,7,56,2,38,0,169,0,0,1,6,6,60,0,0,0,13,183,3,2,20,17,1,1,160,86,0,43,52,52,0,255,255,0,20,0,0,4,156,7,38,2,38,0,169,0,0,1,6,6,62,0,0,0,11,182,2,20,17,1,1,160,86,0,43,52,0,0,2,0,66,0,0,4,112,5,140,0,5,0,11,0,28,64,15,1,10,4,7,4,2,5,5,6,8,114,9,2,2,114,0,43,50,43,50,17,18,23,57,48,49,33,1,1,51,1,1,33,1,1,51,1,1,3,138,254,148,254,36,230,1,122,1,206,251,210,1,206,1,122,230,254,36,254,148,2,124,3,16,253,94,253,22,2,234,2,162,252,240,253,132,0,2,0,25,0,0,4,151,5,140,0,7,0,11,0,23,64,12,0,9,3,3,1,8,8,114,6,1,2,114,0,43,50,43,17,23,57,48,49,1,1,51,1,51,1,51,1,3,17,51,17,2,3,254,22,220,1,90,18,1,90,220,254,22,185,200,1,218,3,178,253,58,2,198,252,78,254,38,2,188,253,68,255,255,0,25,0,0,4,151,7,38,2,38,0,175,0,0,1,6,6,63,0,0,0,11,182,2,12,1,1,1,160,86,0,43,52,0,255,255,0,25,0,0,4,151,7,48,2,38,0,175,0,0,1,6,6,65,0,0,0,11,182,2,16,5,1,1,160,86,0,43,52,0,255,255,0,25,0,0,4,151,7,56,2,38,0,175,0,0,1,6,6,60,0,0,0,13,183,3,2,12,5,1,1,160,86,0,43,52,52,0,255,255,0,25,254,92,4,151,5,140,2,38,0,175,0,0,1,6,6,41,0,0,0,14,180,2,18,8,1,1,185,255,104,0,86,0,43,52,255,255,0,25,0,0,4,151,7,38,2,38,0,175,0,0,1,6,6,62,0,0,0,11,182,2,12,5,1,1,160,86,0,43,52,0,255,255,0,25,0,0,4,151,7,112,2,38,0,175,0,0,1,6,6,71,0,0,0,11,182,2,12,5,1,1,109,86,0,43,52,0,255,255,0,25,0,0,4,151,6,232,2,38,0,175,0,0,1,6,6,70,0,0,0,11,182,2,12,1,1,1,160,86,0,43,52,0,255,255,0,25,0,0,4,151,7,98,2,38,0,175,0,0,1,6,6,69,10,0,0,11,182,2,12,1,1,1,146,86,0,43,52,0,0,3,0,150,0,0,4,46,5,140,0,3,0,7,0,11,0,29,64,16,2,3,9,8,106,9,2,114,0,1,4,6,106,4,8,114,0,43,43,50,57,43,43,50,57,48,49,37,39,1,23,1,53,33,21,1,53,33,21,1,46,152,2,236,152,252,124,3,152,252,104,3,132,68,122,4,148,132,251,50,190,190,4,206,190,190,255,255,0,150,0,0,4,46,7,38,2,38,0,184,0,0,1,6,6,63,0,0,0,11,182,3,12,9,1,1,160,86,0,43,52,0,255,255,0,150,0,0,4,46,7,48,2,38,0,184,0,0,1,6,6,66,0,0,0,11,182,3,12,9,1,1,160,86,0,43,52,0,255,255,0,150,0,0,4,46,7,56,2,38,0,184,0,0,1,6,6,61,0,0,0,11,182,3,12,9,1,1,160,86,0,43,52,0,255,255,0,45,0,0,5,51,7,38,2,38,0,71,0,0,0,39,6,63,254,232,0,0,1,7,6,63,1,104,0,0,0,21,64,14,6,36,11,1,1,160,86,5,32,21,1,1,160,86,0,43,52,43,52,0,255,255,0,96,255,236,4,125,7,48,2,38,0,28,0,0,1,6,6,74,105,0,0,11,182,1,22,5,1,1,100,86,0,43,52,0,255,255,0,148,0,0,4,28,7,48,2,38,0,94,0,0,1,6,6,74,0,0,0,11,182,3,16,13,1,1,120,86,0,43,52,0,255,255,0,76,255,236,4,100,7,48,2,38,0,101,0,0,1,6,6,74,0,0,0,11,182,2,16,4,1,1,100,86,0,43,52,0,255,255,0,129,255,236,4,37,7,48,2,38,0,135,0,0,1,6,6,74,20,0,0,11,182,1,40,20,1,1,100,86,0,43,52,0,255,255,0,150,0,0,4,46,7,48,2,38,0,184,0,0,1,6,6,74,0,0,0,11,182,3,12,9,1,1,120,86,0,43,52,0,0,3,0,168,0,0,4,8,4,36,0,3,0,7,0,11,0,25,64,14,9,8,106,1,9,6,114,4,5,106,0,4,10,114,0,43,50,43,43,50,43,48,49,33,17,51,17,33,53,33,21,1,53,33,21,1,244,200,253,236,3,96,252,160,3,96,4,36,251,220,190,190,3,102,190,190,0,2,0,96,255,236,4,134,4,46,0,15,0,45,0,42,64,27,22,29,106,41,42,1,39,22,5,8,16,34,106,16,11,114,15,13,106,15,10,8,7,106,8,7,114,0,43,43,63,43,43,43,18,23,57,43,48,49,5,3,39,17,52,38,39,39,55,23,4,22,21,17,23,21,5,34,38,53,52,54,51,50,22,23,7,38,38,35,32,21,20,22,51,50,54,54,53,53,19,35,55,20,6,6,3,50,14,28,149,147,254,20,214,1,7,255,180,253,54,166,182,251,229,95,149,58,44,67,128,67,254,236,95,87,99,133,66,62,84,34,85,154,10,1,58,88,1,18,106,99,4,7,188,3,4,219,210,254,70,22,170,20,160,146,168,180,23,23,144,15,5,158,74,82,68,106,56,116,254,240,32,92,123,61,255,255,0,96,255,236,4,134,6,92,2,38,0,195,0,0,1,6,6,30,10,0,0,11,182,2,46,8,1,1,178,86,0,43,52,0,255,255,0,96,255,236,4,134,6,67,2,38,0,195,0,0,1,6,6,34,236,0,0,11,182,2,46,8,1,1,168,86,0,43,52,0,255,255,0,96,255,236,4,134,7,229,2,38,0,195,0,0,0,38,6,34,236,0,1,7,6,30,0,10,1,137,0,21,64,14,3,64,50,1,1,38,86,2,46,8,1,1,168,86,0,43,52,43,52,0,255,255,0,96,254,92,4,134,6,67,2,38,0,195,0,0,0,38,6,41,0,0,1,6,6,34,236,0,0,24,64,12,3,58,8,1,1,168,86,2,52,16,1,1,185,255,124,0,86,0,43,52,43,52,255,255,0,96,255,236,4,134,7,229,2,38,0,195,0,0,0,38,6,34,236,0,1,7,6,29,0,25,1,137,0,21,64,14,3,64,59,1,1,38,86,2,46,8,1,1,168,86,0,43,52,43,52,0,255,255,0,96,255,236,4,134,8,37,2,38,0,195,0,0,0,38,6,34,236,0,1,7,6,38,0,0,1,137,0,23,64,15,4,3,64,59,1,1,38,86,2,46,8,1,1,168,86,0,43,52,43,52,52,0,255,255,0,96,255,236,4,134,7,201,2,38,0,195,0,0,0,38,6,34,236,0,1,7,6,36,255,246,1,137,0,21,64,14,3,64,50,1,1,46,86,2,46,8,1,1,168,86,0,43,52,43,52,0,255,255,0,96,255,236,4,134,6,92,2,38,0,195,0,0,1,6,6,33,236,0,0,11,182,2,46,8,1,1,178,86,0,43,52,0,255,255,0,96,255,236,4,134,6,92,2,38,0,195,0,0,1,6,6,32,236,0,0,11,182,2,50,8,1,1,178,86,0,43,52,0,255,255,0,96,255,236,4,194,7,176,2,38,0,195,0,0,0,38,6,32,236,0,1,7,6,30,1,111,1,84,0,23,180,3,54,47,1,0,184,255,216,183,86,2,50,8,1,1,178,86,0,43,52,43,52,0,255,255,0,96,254,92,4,134,6,92,2,38,0,195,0,0,0,38,6,41,0,0,1,6,6,32,236,0,0,24,64,12,3,62,8,1,1,178,86,2,52,16,1,1,185,255,124,0,86,0,43,52,43,52,255,255,0,96,255,236,4,134,7,176,2,38,0,195,0,0,0,38,6,32,236,0,1,7,6,29,1,125,1,84,0,23,180,3,54,47,1,0,184,255,216,183,86,2,50,8,1,1,178,86,0,43,52,43,52,0,255,255,0,96,255,236,4,134,7,240,2,38,0,195,0,0,0,38,6,32,236,0,1,7,6,38,1,101,1,84,0,25,181,4,3,54,47,1,0,184,255,216,183,86,2,50,8,1,1,178,86,0,43,52,43,52,52,0,255,255,0,96,255,236,4,134,8,10,2,38,0,195,0,0,0,38,6,32,236,0,1,7,6,36,255,246,1,202,0,21,64,14,3,54,47,1,1,86,86,2,50,8,1,1,178,86,0,43,52,43,52,0,255,255,0,96,255,236,4,134,5,226,2,38,0,195,0,0,1,6,6,27,238,0,0,13,183,3,2,46,8,1,1,168,86,0,43,52,52,0,255,255,0,96,254,92,4,134,4,46,2,38,0,195,0,0,1,6,6,41,0,0,0,14,180,2,52,16,1,1,185,255,124,0,86,0,43,52,255,255,0,96,255,236,4,134,6,92,2,38,0,195,0,0,1,6,6,29,25,0,0,11,182,2,46,8,1,1,178,86,0,43,52,0,255,255,0,96,255,236,4,134,6,156,2,38,0,195,0,0,1,6,6,38,0,0,0,13,183,3,2,46,8,1,1,178,86,0,43,52,52,0,255,255,0,96,255,236,4,134,5,156,2,38,0,195,0,0,1,6,6,37,236,0,0,11,182,2,46,8,1,1,178,86,0,43,52,0,0,3,0,96,254,88,4,134,4,46,0,20,0,36,0,66,0,57,64,37,43,50,106,62,63,22,60,43,5,29,37,0,15,106,37,0,105,37,55,106,37,11,114,7,8,36,34,105,36,10,114,29,28,106,29,7,114,0,43,43,43,43,57,57,43,43,43,43,17,18,23,57,43,48,49,1,34,38,53,52,54,55,53,55,23,34,6,21,20,22,51,50,55,7,6,6,3,3,39,17,52,38,39,39,55,23,4,22,21,17,23,21,5,34,38,53,52,54,51,50,22,23,7,38,38,35,32,21,20,22,51,50,54,54,53,53,19,35,55,20,6,6,3,252,115,125,59,55,240,20,106,118,61,55,35,47,18,23,47,222,14,28,149,147,254,20,214,1,7,255,180,253,54,166,182,251,229,95,149,58,44,67,128,67,254,236,95,87,99,133,66,62,84,34,85,154,254,88,111,101,68,93,16,65,2,32,88,80,42,46,11,170,4,5,1,158,1,58,88,1,18,106,99,4,7,188,3,4,219,210,254,70,22,170,20,160,146,168,180,23,23,144,15,5,158,74,82,68,106,56,116,254,240,32,92,123,61,0,255,255,0,96,255,236,4,134,6,94,2,38,0,195,0,0,1,6,6,35,236,0,0,13,183,3,2,46,8,1,1,128,86,0,43,52,52,0,255,255,0,96,255,236,4,134,7,116,2,38,0,195,0,0,0,38,6,35,236,0,1,7,6,30,0,10,1,24,0,26,180,4,66,52,0,0,184,255,154,64,9,86,3,2,46,8,1,1,128,86,0,43,52,52,43,52,255,255,0,96,255,236,4,134,6,64,2,38,0,195,0,0,1,6,6,36,246,0,0,11,182,2,46,8,1,1,186,86,0,43,52,0,0,3,0,21,255,236,4,151,4,56,0,28,0,41,0,71,0,60,64,39,56,55,106,56,56,42,48,60,106,48,7,114,42,66,106,42,11,114,6,13,106,24,29,10,6,4,0,36,35,106,36,7,114,0,19,106,0,11,114,0,43,43,43,43,18,23,57,43,43,43,43,43,18,57,47,43,48,49,5,34,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,51,50,54,53,53,19,35,55,6,6,19,53,17,52,38,39,39,55,23,22,22,21,17,1,34,2,17,16,18,51,50,18,21,20,6,7,33,53,33,52,38,35,34,6,21,20,22,51,50,55,23,6,6,1,43,133,145,194,176,65,110,37,44,26,90,56,84,92,75,67,80,88,152,164,84,16,138,82,156,140,94,20,94,204,224,1,34,193,213,165,148,146,159,3,3,254,28,1,52,69,77,75,69,149,135,57,63,26,40,89,20,160,146,166,182,19,17,154,23,7,88,80,74,82,121,109,176,254,180,22,127,139,1,74,82,1,18,99,116,4,3,182,3,7,225,201,254,188,254,182,1,25,1,15,1,5,1,31,254,246,242,34,72,30,152,161,145,167,185,184,202,13,171,8,10,255,255,0,21,255,236,4,151,6,92,2,38,0,219,0,0,1,6,6,30,30,0,0,11,182,3,72,36,1,1,178,86,0,43,52,0,0,2,0,168,255,236,4,80,5,220,0,24,0,28,0,37,64,22,26,0,114,17,15,0,19,13,106,19,7,114,28,3,25,3,0,7,106,0,11,114,0,43,43,23,57,43,43,18,57,57,43,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,35,32,17,3,51,54,51,50,22,21,16,0,37,17,51,17,1,196,72,140,72,82,53,128,63,191,209,127,117,254,242,62,82,15,245,212,232,254,171,253,173,212,20,11,9,194,25,9,230,210,144,156,254,208,1,16,212,250,230,254,217,254,187,20,5,220,250,54,0,1,0,136,255,236,4,73,4,56,0,25,0,27,64,15,9,10,0,6,13,106,6,7,114,0,19,106,0,11,114,0,43,43,43,43,18,57,57,48,49,5,32,0,17,16,0,33,50,22,23,7,38,38,35,34,6,21,20,22,51,50,54,55,23,6,6,2,170,254,251,254,227,1,23,1,3,155,221,47,163,45,140,83,147,163,182,168,80,157,75,24,87,184,20,1,29,1,11,1,4,1,32,115,105,123,73,80,181,167,181,191,14,12,186,18,12,0,255,255,0,136,255,236,4,73,6,92,2,38,0,222,0,0,1,6,6,30,80,0,0,11,182,1,26,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,73,6,92,2,38,0,222,0,0,1,6,6,33,50,0,0,11,182,1,26,6,1,1,168,86,0,43,52,0,255,255,0,136,254,32,4,73,4,56,2,38,0,222,0,0,1,6,6,43,231,0,0,11,182,1,35,0,0,0,15,86,0,43,52,0,255,255,0,136,255,236,4,73,6,92,2,38,0,222,0,0,1,6,6,32,50,0,0,11,182,1,30,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,73,5,226,2,38,0,222,0,0,1,6,6,28,48,0,0,11,182,1,26,6,1,1,158,86,0,43,52,0,0,2,0,96,255,236,4,8,5,220,0,25,0,30,0,37,64,23,30,10,28,0,114,9,11,21,23,4,0,6,13,106,6,7,114,0,18,106,0,11,114,0,43,43,43,43,18,23,57,43,63,48,49,5,34,2,17,16,18,51,50,22,23,51,3,16,33,34,6,21,16,51,32,53,53,19,35,6,6,55,39,17,51,17,2,6,201,221,222,202,128,139,13,82,62,254,242,117,127,246,1,12,72,92,10,152,204,22,212,20,1,23,1,5,1,11,1,37,105,107,254,240,1,48,198,182,254,152,180,116,254,220,91,93,10,208,5,22,250,36,0,4,0,118,255,236,4,80,5,236,0,10,0,21,0,36,0,40,0,49,64,33,37,38,106,28,37,105,28,16,106,0,33,10,34,31,28,4,7,5,22,11,106,22,11,114,39,40,106,5,39,105,5,1,114,0,43,43,43,43,43,18,23,57,43,43,43,48,49,1,17,16,2,37,55,22,4,18,17,21,1,32,17,52,38,35,34,6,21,20,22,23,34,2,53,52,54,51,50,22,23,51,17,55,16,0,1,39,37,23,3,94,248,254,236,50,244,1,51,145,254,10,1,24,138,128,127,137,130,122,223,243,202,186,129,179,30,74,166,254,252,253,222,40,3,58,40,1,16,1,138,1,37,1,100,101,100,74,245,254,146,254,255,48,254,150,1,20,142,154,133,123,151,165,184,1,6,238,210,230,111,101,254,212,118,254,251,254,227,3,249,175,240,175,0,3,0,96,255,236,5,104,6,32,0,3,0,29,0,34,0,44,64,28,34,10,1,3,106,32,1,105,32,0,27,25,15,13,4,4,10,17,106,10,7,114,4,22,106,4,11,114,0,43,43,43,43,18,23,57,63,43,43,63,48,49,1,19,51,3,1,34,2,17,16,18,51,50,22,23,51,3,16,33,34,6,21,16,51,32,53,53,19,35,6,6,55,39,17,51,17,4,98,50,212,90,252,248,201,221,222,202,128,139,13,82,62,254,242,117,127,246,1,12,72,92,10,152,204,22,212,4,164,1,124,254,132,251,72,1,23,1,5,1,11,1,37,105,107,254,240,1,48,198,182,254,152,180,116,254,220,91,93,10,208,5,22,250,36,0,0,3,0,96,255,236,4,114,5,220,0,3,0,29,0,34,0,44,64,27,34,10,0,1,106,0,10,32,0,27,25,15,13,4,4,10,17,106,10,7,114,4,22,106,4,11,114,0,43,43,43,43,18,23,57,63,18,57,43,63,48,49,1,53,33,21,1,34,2,17,16,18,51,50,22,23,51,3,16,33,34,6,21,16,51,32,53,53,19,35,6,6,55,39,17,51,17,1,206,2,164,253,148,201,221,222,202,128,139,13,82,62,254,242,117,127,246,1,12,72,92,10,152,204,22,212,4,194,174,174,251,42,1,23,1,5,1,11,1,37,105,107,254,240,1,48,198,182,254,152,180,116,254,220,91,93,10,208,5,22,250,36,0,1,0,136,255,236,4,40,4,56,0,29,0,33,64,19,27,0,23,106,12,13,106,12,12,0,6,17,106,6,7,114,0,11,114,0,43,43,43,18,57,47,43,43,51,48,49,5,32,0,17,16,18,51,50,18,21,20,7,33,53,33,52,38,35,34,6,21,20,22,51,50,54,55,23,6,6,2,190,254,241,254,217,250,228,215,235,6,253,24,2,46,136,120,135,149,205,189,66,128,66,26,94,156,20,1,29,1,11,1,4,1,32,254,252,248,73,63,162,143,153,184,168,184,192,15,13,186,18,10,255,255,0,136,255,236,4,40,6,92,2,38,0,232,0,0,1,6,6,30,40,0,0,11,182,1,30,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,40,6,67,2,38,0,232,0,0,1,6,6,34,10,0,0,11,182,1,30,6,1,1,158,86,0,43,52,0,255,255,0,136,255,236,4,40,6,92,2,38,0,232,0,0,1,6,6,33,10,0,0,11,182,1,30,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,40,6,92,2,38,0,232,0,0,1,6,6,32,10,0,0,11,182,1,34,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,224,7,176,2,38,0,232,0,0,0,38,6,32,10,0,1,7,6,30,1,141,1,84,0,23,180,2,38,31,1,0,184,255,216,183,86,1,34,6,1,1,168,86,0,43,52,43,52,0,255,255,0,136,254,92,4,40,6,92,2,38,0,232,0,0,0,38,6,41,30,0,1,6,6,32,10,0,0,24,64,12,2,46,6,1,1,168,86,1,36,0,1,1,185,255,124,0,86,0,43,52,43,52,255,255,0,136,255,236,4,58,7,176,2,38,0,232,0,0,0,38,6,32,10,0,1,7,6,29,1,155,1,84,0,23,180,2,38,31,1,0,184,255,216,183,86,1,34,6,1,1,168,86,0,43,52,43,52,0,255,255,0,136,255,236,4,138,7,240,2,38,0,232,0,0,0,38,6,32,10,0,1,7,6,38,1,131,1,84,0,25,181,3,2,38,31,1,0,184,255,216,183,86,1,34,6,1,1,168,86,0,43,52,43,52,52,0,255,255,0,136,255,236,4,40,8,10,2,38,0,232,0,0,0,38,6,32,10,0,1,7,6,36,0,20,1,202,0,21,64,14,2,38,31,1,1,86,86,1,34,6,1,1,168,86,0,43,52,43,52,0,255,255,0,136,255,236,4,40,5,226,2,38,0,232,0,0,1,6,6,27,12,0,0,13,183,2,1,30,6,1,1,158,86,0,43,52,52,0,255,255,0,136,255,236,4,40,5,226,2,38,0,232,0,0,1,6,6,28,8,0,0,11,182,1,30,6,1,1,158,86,0,43,52,0,255,255,0,136,254,92,4,40,4,56,2,38,0,232,0,0,1,6,6,41,30,0,0,14,180,1,36,0,1,1,185,255,124,0,86,0,43,52,255,255,0,136,255,236,4,40,6,92,2,38,0,232,0,0,1,6,6,29,55,0,0,11,182,1,30,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,40,6,156,2,38,0,232,0,0,1,6,6,38,30,0,0,13,183,2,1,30,6,1,1,168,86,0,43,52,52,0,255,255,0,136,255,236,4,40,5,156,2,38,0,232,0,0,1,6,6,37,10,0,0,11,182,1,30,6,1,1,168,86,0,43,52,0,0,2,0,136,254,88,4,40,4,56,0,21,0,51,0,49,64,30,35,34,106,35,35,22,28,39,106,28,7,114,7,9,49,3,22,45,106,6,22,0,16,106,22,0,105,22,11,114,0,43,43,43,18,57,43,23,57,43,43,18,57,47,43,48,49,1,34,38,53,52,54,55,53,55,23,14,2,21,20,22,51,50,55,7,6,6,3,32,0,17,16,18,51,50,18,21,20,7,33,53,33,52,38,35,34,6,21,20,22,51,50,54,55,23,6,6,3,110,115,125,60,54,240,20,51,103,70,46,70,37,45,18,25,45,196,254,241,254,217,250,228,215,235,6,253,24,2,46,136,120,135,149,205,189,66,128,66,26,94,156,254,88,101,91,74,100,18,70,10,32,12,39,69,56,26,62,11,170,4,5,1,148,1,29,1,11,1,4,1,32,254,252,248,73,63,162,143,153,184,168,184,192,15,13,186,18,10,0,255,255,0,166,255,236,4,26,4,56,2,6,2,73,0,0,255,255,0,68,254,35,4,100,5,160,2,6,3,84,0,0,255,255,0,136,255,236,4,40,6,64,2,38,0,232,0,0,1,6,6,36,20,0,0,11,182,1,30,6,1,1,176,86,0,43,52,0,0,1,0,136,255,236,4,40,4,56,0,29,0,31,64,18,0,11,106,8,5,106,8,8,0,24,17,106,24,7,114,0,11,114,0,43,43,43,18,57,47,43,43,48,49,5,34,2,53,52,55,33,21,33,20,22,51,50,54,53,52,38,35,34,6,7,39,54,54,51,32,0,17,16,2,2,74,214,236,6,2,232,253,210,136,120,135,149,205,189,66,128,66,26,95,155,60,1,16,1,38,250,20,1,5,247,73,63,162,142,154,184,168,185,191,20,18,176,31,17,254,227,254,245,254,253,254,223,0,2,0,79,254,52,4,37,4,27,0,21,0,31,0,45,64,25,25,28,27,106,24,23,14,106,13,30,28,3,0,23,23,28,0,6,106,28,0,105,28,6,114,0,43,43,43,18,57,47,18,57,18,57,51,43,57,43,57,48,49,1,32,39,55,22,22,51,50,54,53,52,38,35,35,39,51,22,4,21,20,6,6,3,35,39,1,23,33,53,33,21,1,2,29,254,223,173,140,80,148,105,138,153,174,158,111,8,180,233,1,0,122,232,240,128,20,1,241,24,253,101,3,55,254,75,254,52,179,148,72,65,152,129,125,137,153,4,225,200,134,206,117,2,221,124,2,17,49,174,201,254,46,0,0,2,0,68,0,0,4,100,5,240,0,12,0,16,0,27,64,15,13,14,106,13,13,0,3,9,106,3,1,114,0,10,114,0,43,43,43,18,57,47,43,48,49,33,17,16,33,50,23,7,38,38,35,32,17,17,1,53,33,21,1,146,1,246,114,106,22,63,96,45,254,228,253,222,3,212,3,202,2,38,20,184,8,6,254,162,252,44,2,134,174,174,0,3,0,96,254,34,4,8,4,56,0,28,0,40,0,45,0,48,64,30,44,6,29,30,106,29,15,114,45,36,23,11,9,5,6,26,26,0,6,14,106,6,7,114,0,20,106,0,11,114,0,43,43,43,43,18,57,47,18,23,57,43,43,63,48,49,5,34,2,17,16,18,51,50,22,23,51,7,52,38,35,34,6,21,20,22,51,50,54,53,53,19,35,6,6,1,39,37,54,54,53,53,51,21,16,0,5,1,17,55,51,17,2,6,201,221,222,202,128,139,13,82,62,120,120,131,143,140,136,120,118,72,92,10,152,254,56,10,1,84,161,145,214,254,254,254,230,1,72,20,192,20,1,23,1,5,1,11,1,37,105,107,232,133,131,198,182,178,182,90,90,116,254,220,91,93,254,54,194,10,5,168,163,242,210,254,229,254,242,9,2,216,2,64,224,252,224,0,255,255,0,96,254,34,4,8,6,67,2,38,0,255,0,0,1,6,6,34,236,0,0,11,182,3,46,6,1,1,158,86,0,43,52,0,255,255,0,96,254,34,4,8,6,92,2,38,0,255,0,0,1,6,6,33,236,0,0,11,182,3,46,6,1,1,168,86,0,43,52,0,255,255,0,96,254,34,4,8,6,92,2,38,0,255,0,0,1,6,6,32,236,0,0,11,182,3,50,6,1,1,168,86,0,43,52,0,255,255,0,96,254,34,4,8,6,52,2,38,0,255,0,0,1,6,6,39,246,0,0,11,182,3,46,6,1,1,128,86,0,43,52,0,255,255,0,96,254,34,4,8,5,226,2,38,0,255,0,0,1,6,6,28,234,0,0,11,182,3,46,6,1,1,158,86,0,43,52,0,0,2,0,168,0,0,4,8,5,220,0,15,0,19,0,29,64,16,17,0,114,7,6,11,15,16,10,114,11,4,106,11,7,114,0,43,43,43,50,17,57,57,43,48,49,33,17,52,38,35,34,17,3,51,54,54,51,50,22,21,17,33,17,51,17,3,52,100,90,250,62,82,9,138,133,168,184,252,160,212,2,178,101,109,254,208,1,16,107,105,204,186,253,78,5,220,250,36,0,3,0,62,0,0,4,8,5,220,0,3,0,19,0,23,0,39,64,22,0,1,106,0,0,15,21,0,114,11,10,15,19,20,10,114,15,8,106,15,7,114,0,43,43,43,50,17,57,57,43,17,57,47,43,48,49,19,53,33,21,19,17,52,38,35,34,17,3,51,54,54,51,50,22,21,17,33,17,51,17,62,2,164,82,100,90,250,62,82,9,138,133,168,184,252,160,212,4,194,174,174,251,62,2,178,101,109,254,208,1,16,107,105,204,186,253,78,5,220,250,36,255,255,255,184,0,0,4,8,7,128,2,38,1,5,0,0,1,7,6,66,254,186,0,80,0,11,182,2,20,17,1,1,160,86,0,43,52,0,255,255,255,189,0,0,4,8,7,128,2,38,1,5,0,0,1,7,6,65,254,186,0,80,0,11,182,2,24,17,1,1,160,86,0,43,52,0,0,5,0,160,0,0,4,78,5,244,0,3,0,7,0,11,0,15,0,27,0,37,64,22,16,22,106,13,16,105,1,13,12,106,13,6,114,9,4,5,106,8,0,4,10,114,0,43,50,50,43,50,43,43,57,43,43,48,49,33,17,51,17,33,53,33,21,51,53,33,21,1,53,33,21,3,34,38,53,52,54,51,50,22,21,20,6,2,52,212,253,152,1,168,172,1,90,252,142,2,44,118,61,87,87,61,62,86,86,3,232,252,24,174,174,174,174,3,116,176,176,1,88,87,61,62,86,86,62,61,87,0,0,4,0,160,0,0,4,78,4,36,0,3,0,7,0,11,0,15,0,33,64,18,0,4,1,13,9,8,4,5,106,13,12,106,13,6,114,4,10,114,0,43,43,43,43,51,50,17,51,17,51,48,49,33,17,51,17,33,53,33,21,51,53,33,21,1,53,33,21,2,52,212,253,152,1,168,172,1,90,252,142,2,44,4,36,251,220,174,174,174,174,3,118,174,174,0,255,255,0,160,0,0,4,78,6,92,2,38,1,10,0,0,1,6,6,30,80,0,0,11,182,4,16,1,1,1,188,86,0,43,52,0,255,255,0,160,0,0,4,78,6,67,2,38,1,10,0,0,1,6,6,34,50,0,0,11,182,4,16,1,1,1,178,86,0,43,52,0,255,255,0,160,0,0,4,78,6,92,2,38,1,10,0,0,1,6,6,32,50,0,0,11,182,4,20,1,1,1,188,86,0,43,52,0,255,255,0,160,0,0,4,78,5,226,2,38,1,10,0,0,1,6,6,27,52,0,0,13,183,5,4,16,1,1,1,178,86,0,43,52,52,0,255,255,0,160,254,92,4,78,5,244,2,38,1,9,0,0,1,6,6,41,70,0,0,14,180,5,34,8,1,1,185,255,104,0,86,0,43,52,255,255,0,160,0,0,4,78,6,92,2,38,1,10,0,0,1,6,6,29,95,0,0,11,182,4,16,1,1,1,188,86,0,43,52,0,255,255,0,160,0,0,4,78,6,156,2,38,1,10,0,0,1,6,6,38,70,0,0,13,183,5,4,16,1,1,1,188,86,0,43,52,52,0,0,5,0,200,254,32,3,232,5,244,0,11,0,15,0,19,0,31,0,43,0,41,64,24,38,20,26,106,32,13,20,105,6,19,12,17,13,6,114,12,10,114,0,1,106,0,15,114,0,43,43,43,43,50,18,57,57,43,50,43,50,48,49,19,39,55,54,54,53,17,51,17,16,0,5,3,17,51,17,1,17,51,17,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,252,10,200,161,145,212,255,0,254,230,178,212,1,36,212,253,156,61,87,87,61,62,86,86,1,186,61,87,87,61,62,86,86,254,32,188,18,14,159,163,1,66,254,222,254,229,254,253,20,1,212,4,36,251,220,1,94,2,198,253,58,3,110,87,61,62,86,86,62,61,87,87,61,62,86,86,62,61,87,255,255,0,160,0,0,4,78,5,156,2,38,1,10,0,0,1,6,6,37,50,0,0,11,182,4,16,13,1,1,188,86,0,43,52,0,0,6,0,160,254,88,4,78,5,244,0,20,0,24,0,28,0,32,0,36,0,48,0,53,64,32,37,43,106,34,37,105,22,34,33,106,34,6,114,7,31,25,26,106,6,25,0,15,106,25,0,105,32,21,9,25,10,114,0,43,50,50,50,43,43,18,57,43,50,57,43,43,57,43,43,48,49,1,34,38,53,52,54,55,53,55,23,34,6,21,20,22,51,50,55,7,6,6,3,17,51,17,33,53,33,21,51,53,33,21,1,53,33,21,3,34,38,53,52,54,51,50,22,21,20,6,2,158,115,125,59,55,240,20,106,118,61,55,35,47,18,23,47,126,212,253,152,1,168,172,1,90,252,142,2,44,118,61,87,87,61,62,86,86,254,88,111,101,74,100,18,50,2,32,88,80,42,46,11,170,4,5,1,168,3,232,252,24,174,174,174,174,3,116,176,176,1,88,87,61,62,86,86,62,61,87,255,255,0,160,0,0,4,78,6,64,2,38,1,10,0,0,1,6,6,36,60,0,0,11,182,4,16,13,1,1,196,86,0,43,52,0,0,4,0,170,254,32,3,140,5,244,0,12,0,16,0,20,0,32,0,37,64,22,21,27,106,14,21,105,7,20,0,18,14,13,106,14,6,114,0,1,106,0,15,114,0,43,43,43,43,51,18,57,57,43,43,48,49,19,39,55,54,54,53,17,51,17,20,6,6,7,3,53,33,21,3,17,51,17,3,34,38,53,52,54,51,50,22,21,20,6,180,10,200,161,145,212,112,238,188,86,1,172,16,212,128,61,87,87,61,62,86,86,254,32,188,18,15,158,163,1,66,254,222,189,237,121,15,5,74,174,174,253,232,2,198,253,58,3,110,87,61,62,86,86,62,61,87,0,0,3,0,170,254,32,3,120,4,36,0,12,0,16,0,20,0,25,64,13,6,20,0,18,14,13,106,14,6,114,0,15,114,0,43,43,43,51,18,57,57,48,49,19,39,55,54,54,53,17,51,17,20,6,6,7,3,53,33,21,3,17,51,17,180,10,200,161,145,212,112,238,188,86,1,172,16,212,254,32,188,18,15,158,163,1,66,254,222,189,237,121,15,5,74,174,174,253,232,2,198,253,58,0,255,255,0,170,254,32,4,84,6,92,2,38,1,23,0,0,1,7,6,32,0,182,0,0,0,11,182,3,25,14,1,1,188,86,0,43,52,0,0,3,0,160,0,0,4,116,5,220,0,10,0,14,0,18,0,34,64,18,17,16,0,1,106,0,0,11,6,12,0,114,15,11,10,114,6,6,0,63,43,50,43,17,18,57,47,43,57,57,48,49,1,53,51,50,54,54,55,51,2,0,33,1,17,51,17,33,1,55,1,1,54,120,132,170,97,23,220,42,254,219,254,255,254,192,212,1,250,254,210,200,1,108,1,146,190,91,206,171,254,181,254,185,254,110,5,220,250,36,2,4,82,253,170,0,255,255,0,160,254,32,4,116,5,220,2,38,1,25,0,0,1,6,6,42,236,0,0,14,180,3,20,11,1,1,185,255,116,0,86,0,43,52,0,3,0,160,0,0,4,116,4,36,0,10,0,14,0,18,0,31,64,16,17,16,0,1,106,0,0,11,7,12,6,114,15,11,10,114,0,43,50,43,50,17,57,47,43,57,57,48,49,1,53,51,50,54,54,55,51,2,0,33,1,17,51,17,33,1,55,1,1,54,120,132,170,97,23,220,42,254,219,254,255,254,192,212,1,250,254,210,200,1,108,1,146,190,91,206,171,254,181,254,185,254,110,4,36,251,220,2,4,82,253,170,0,2,0,88,255,236,4,40,5,220,0,15,0,19,0,25,64,14,5,17,0,10,106,17,16,106,17,0,114,0,11,114,0,43,43,43,43,17,51,48,49,5,34,38,53,17,51,17,20,22,22,51,50,55,23,6,6,1,53,33,21,2,236,184,164,212,32,93,91,83,129,24,81,149,253,22,1,74,20,200,220,4,76,251,190,84,106,50,38,186,22,20,5,66,174,174,255,255,0,88,255,236,4,40,7,118,2,38,1,28,0,0,1,6,6,63,162,80,0,11,182,2,20,4,1,1,160,86,0,43,52,0,0,3,0,88,255,236,4,40,6,32,0,3,0,19,0,23,0,31,64,19,1,3,106,21,1,105,21,20,106,9,21,0,114,4,14,106,4,11,114,0,43,43,43,50,43,43,43,48,49,1,19,51,3,3,34,38,53,17,51,17,20,22,22,51,50,55,23,6,6,1,53,33,21,2,250,50,212,90,186,184,164,212,32,93,91,83,129,24,81,149,253,22,1,74,4,164,1,124,254,132,251,72,200,220,4,76,251,190,84,106,50,38,186,22,20,5,66,174,174,0,255,255,0,88,254,32,4,40,5,220,2,38,1,28,0,0,1,6,6,42,70,0,0,14,180,2,21,0,1,1,185,255,136,0,86,0,43,52,255,255,0,88,255,236,4,40,5,220,2,38,1,28,0,0,1,7,2,174,1,60,1,44,0,14,180,2,20,12,1,1,185,2,142,0,86,0,43,52,0,3,0,88,255,236,4,40,5,220,0,3,0,19,0,23,0,37,64,22,2,3,106,0,1,106,2,0,4,21,20,106,9,21,0,114,4,14,106,4,11,114,0,43,43,43,50,43,18,57,57,43,43,48,49,19,53,1,21,3,34,38,53,17,51,17,20,22,22,51,50,55,23,6,6,1,53,33,21,118,3,38,176,184,164,212,32,93,91,83,129,24,81,149,253,22,1,74,1,199,185,1,164,185,252,129,200,220,4,76,251,190,84,106,50,38,186,22,20,5,66,174,174,0,0,3,0,112,0,0,4,64,4,56,0,14,0,19,0,34,0,41,64,23,10,3,106,10,30,7,114,6,26,5,25,26,3,15,16,6,114,14,34,34,15,10,114,0,43,50,17,51,43,18,23,57,17,51,43,50,43,48,49,33,17,52,35,34,21,39,51,54,54,51,50,22,21,17,33,17,51,23,17,51,17,52,35,34,21,39,51,54,54,51,50,22,21,17,3,108,82,104,72,82,5,89,84,110,100,252,48,188,24,186,84,102,62,68,6,89,87,83,95,3,42,110,144,152,62,90,118,132,252,194,4,36,224,252,188,3,62,90,144,152,77,75,114,116,252,174,0,2,0,168,0,0,4,8,4,56,0,15,0,20,0,29,64,16,7,6,16,17,6,114,15,16,10,114,11,4,106,11,7,114,0,43,43,43,50,43,18,57,57,48,49,33,17,52,38,35,34,17,3,51,54,54,51,50,22,21,17,33,17,51,23,17,3,52,100,90,250,62,82,9,138,133,168,184,252,160,192,20,2,178,96,104,254,218,1,16,107,105,204,186,253,78,4,36,224,252,188,0,255,255,0,168,0,0,4,8,6,92,2,38,1,35,0,0,1,6,6,30,20,0,0,11,182,2,21,17,1,1,188,86,0,43,52,0,0,3,0,0,0,0,4,8,6,92,0,3,0,19,0,24,0,39,64,23,10,11,20,21,0,1,106,21,0,105,21,6,114,19,20,10,114,15,8,106,15,7,114,0,43,43,43,50,43,43,43,17,18,57,57,48,49,17,19,51,3,1,17,52,38,35,34,17,3,51,54,54,51,50,22,21,17,33,17,51,23,17,70,232,140,2,146,100,90,250,62,82,9,138,133,168,184,252,160,192,20,4,224,1,124,254,132,251,32,2,178,96,104,254,218,1,16,107,105,204,186,253,78,4,36,224,252,188,255,255,0,168,0,0,4,8,6,92,2,38,1,35,0,0,1,6,6,33,246,0,0,11,182,2,21,17,1,1,188,86,0,43,52,0,255,255,0,168,254,32,4,8,4,56,2,38,1,35,0,0,1,6,6,42,0,0,0,14,180,2,22,16,1,1,185,255,116,0,86,0,43,52,0,3,0,168,254,32,4,8,4,56,0,15,0,28,0,33,0,34,64,21,7,6,22,15,4,29,30,6,114,29,10,114,16,17,106,16,15,114,11,7,114,0,43,43,43,43,43,17,23,57,48,49,1,17,52,38,35,34,17,3,51,54,54,51,50,22,21,17,1,39,55,54,54,53,17,51,17,20,6,6,7,1,17,51,23,17,3,52,100,90,250,62,82,9,138,133,168,184,253,200,10,130,124,112,212,98,206,164,254,116,192,20,1,133,1,45,101,109,254,208,1,16,107,105,204,186,254,211,252,155,188,18,15,158,163,1,126,254,162,189,237,121,15,1,212,4,36,224,252,188,0,3,255,58,254,32,4,8,4,56,0,15,0,28,0,33,0,38,64,24,33,23,6,7,4,0,30,6,114,16,17,106,16,15,114,11,4,106,11,7,114,0,10,114,0,43,43,43,43,43,43,18,23,57,48,49,33,17,52,38,35,34,17,3,51,54,54,51,50,22,21,17,1,39,55,54,54,53,17,51,17,20,6,6,7,1,17,51,23,17,3,52,100,90,250,62,82,9,138,133,168,184,251,60,10,130,124,112,212,98,207,163,1,0,192,20,2,178,101,109,254,208,1,16,107,105,204,186,253,78,254,32,188,18,17,156,163,1,126,254,162,189,233,120,20,2,186,3,62,224,253,162,255,255,0,168,0,0,4,8,6,64,2,38,1,35,0,0,1,6,6,36,0,0,0,11,182,2,21,17,1,1,196,86,0,43,52,0,0,2,0,136,255,236,4,40,4,56,0,11,0,23,0,21,64,12,0,12,106,6,18,106,6,7,114,0,11,114,0,43,43,43,43,48,49,5,34,2,17,16,18,51,50,18,17,16,2,39,50,54,53,52,38,35,34,6,21,20,22,2,88,220,244,244,220,221,243,243,221,117,127,127,117,117,127,127,20,1,32,1,6,1,7,1,31,254,225,254,249,254,250,254,224,190,188,172,173,187,187,173,172,188,255,255,0,136,255,236,4,40,6,92,2,38,1,43,0,0,1,6,6,30,30,0,0,11,182,2,24,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,40,6,67,2,38,1,43,0,0,1,6,6,34,0,0,0,11,182,2,24,6,1,1,158,86,0,43,52,0,255,255,0,136,255,236,4,40,6,92,2,38,1,43,0,0,1,6,6,32,0,0,0,11,182,2,28,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,214,7,176,2,38,1,43,0,0,0,38,6,32,0,0,1,7,6,30,1,131,1,84,0,23,180,3,32,25,1,0,184,255,216,183,86,2,28,6,1,1,168,86,0,43,52,43,52,0,255,255,0,136,254,92,4,40,6,92,2,38,1,43,0,0,0,38,6,41,0,0,1,6,6,32,0,0,0,24,64,12,3,40,6,1,1,168,86,2,30,0,1,1,185,255,124,0,86,0,43,52,43,52,255,255,0,136,255,236,4,48,7,176,2,38,1,43,0,0,0,38,6,32,0,0,1,7,6,29,1,145,1,84,0,23,180,3,32,25,1,0,184,255,216,183,86,2,28,6,1,1,168,86,0,43,52,43,52,0,255,255,0,136,255,236,4,128,7,240,2,38,1,43,0,0,0,38,6,32,0,0,1,7,6,38,1,121,1,84,0,25,181,4,3,32,25,1,0,184,255,216,183,86,2,28,6,1,1,168,86,0,43,52,43,52,52,0,255,255,0,136,255,236,4,40,8,10,2,38,1,43,0,0,0,38,6,32,0,0,1,7,6,36,0,10,1,202,0,21,64,14,3,32,25,1,1,86,86,2,28,6,1,1,168,86,0,43,52,43,52,0,255,255,0,136,255,236,4,40,5,226,2,38,1,43,0,0,1,6,6,27,2,0,0,13,183,3,2,24,6,1,1,158,86,0,43,52,52,0,255,255,0,136,254,92,4,40,4,56,2,38,1,43,0,0,1,6,6,41,0,0,0,14,180,2,30,0,1,1,185,255,124,0,86,0,43,52,255,255,0,136,255,236,4,40,6,92,2,38,1,43,0,0,1,6,6,29,45,0,0,11,182,2,24,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,40,6,156,2,38,1,43,0,0,1,6,6,38,20,0,0,13,183,3,2,24,6,1,1,168,86,0,43,52,52,0,255,255,0,136,255,236,4,184,5,63,2,38,1,43,0,0,1,7,6,40,1,44,0,0,0,14,180,2,24,6,0,0,185,255,71,0,86,0,43,52,255,255,0,136,255,236,4,184,6,92,2,38,1,56,0,0,1,6,6,30,30,0,0,11,182,3,34,6,1,1,168,86,0,43,52,0,255,255,0,136,254,92,4,184,5,63,2,38,1,56,0,0,1,6,6,41,0,0,0,14,180,3,40,0,1,1,185,255,124,0,86,0,43,52,255,255,0,136,255,236,4,184,6,92,2,38,1,56,0,0,1,6,6,29,45,0,0,11,182,3,34,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,184,6,156,2,38,1,56,0,0,1,6,6,38,20,0,0,13,183,4,3,34,6,1,1,168,86,0,43,52,52,0,255,255,0,136,255,236,4,184,6,64,2,38,1,56,0,0,1,6,6,36,10,0,0,11,182,3,34,6,1,1,176,86,0,43,52,0,255,255,0,136,255,236,4,40,6,92,2,38,1,43,0,0,1,6,6,31,70,0,0,13,183,3,2,24,6,1,1,168,86,0,43,52,52,0,255,255,0,136,255,236,4,40,5,156,2,38,1,43,0,0,1,6,6,37,0,0,0,11,182,2,24,6,1,1,168,86,0,43,52,0,0,3,0,136,254,88,4,40,4,56,0,21,0,33,0,45,0,39,64,24,28,40,106,28,7,114,9,7,8,3,22,34,105,6,22,0,16,106,22,0,105,22,11,114,0,43,43,43,18,57,43,23,57,43,43,48,49,1,34,38,53,52,54,55,53,55,23,14,2,21,20,22,51,50,55,7,6,6,3,34,2,17,16,18,51,50,18,17,16,2,39,50,54,53,52,38,35,34,6,21,20,22,2,157,115,125,60,54,220,19,41,95,67,46,70,37,45,18,25,45,89,220,244,244,220,221,243,243,221,117,127,127,117,117,127,127,254,88,101,91,74,100,18,70,6,25,16,39,66,58,26,62,11,170,4,5,1,148,1,32,1,6,1,7,1,31,254,225,254,249,254,250,254,224,190,188,172,173,187,187,173,172,188,0,0,1,0,132,255,236,4,40,4,56,0,25,0,27,64,15,3,4,0,20,13,106,20,7,114,0,7,106,0,11,114,0,43,43,43,43,18,57,57,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,35,34,6,7,39,54,54,51,32,0,17,16,0,2,14,129,206,59,104,50,156,92,152,168,198,182,67,118,77,32,77,143,98,1,15,1,39,254,233,20,71,52,160,37,56,182,166,182,190,18,23,184,26,21,254,227,254,245,254,253,254,223,0,3,0,136,255,122,4,40,4,174,0,3,0,15,0,27,0,35,64,19,3,1,0,2,10,10,22,106,10,7,114,0,4,4,16,106,4,11,114,0,43,43,16,206,43,43,16,206,17,57,57,48,49,5,39,1,23,1,34,2,17,16,18,51,50,18,17,16,2,39,50,54,53,52,38,35,34,6,21,20,22,1,45,105,2,188,115,254,101,220,244,244,220,221,243,243,221,117,127,127,117,117,127,127,134,75,4,233,65,251,127,1,32,1,6,1,7,1,31,254,225,254,249,254,250,254,224,190,188,172,173,187,187,173,172,188,255,255,0,136,255,122,4,40,6,92,2,38,1,66,0,0,1,6,6,30,30,0,0,11,182,3,28,10,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,40,6,64,2,38,1,43,0,0,1,6,6,36,10,0,0,11,182,2,24,6,1,1,176,86,0,43,52,0,0,3,0,20,255,236,4,150,4,56,0,7,0,17,0,47,0,45,64,27,31,32,106,31,31,0,4,24,36,106,24,4,13,106,4,7,114,18,42,106,18,0,8,106,0,11,114,0,43,43,51,43,43,43,51,43,17,18,57,47,43,48,49,5,32,17,16,33,32,17,16,37,50,17,52,38,35,34,6,21,16,5,34,2,17,16,18,51,50,18,21,20,6,7,33,53,33,52,38,35,34,6,21,20,22,51,50,55,23,6,6,1,108,254,168,1,88,1,48,254,208,144,71,73,82,80,2,248,193,213,165,148,146,159,3,3,254,28,1,52,69,77,75,69,149,135,57,63,26,40,89,20,2,38,2,38,253,218,253,218,190,1,104,181,179,179,181,254,152,190,1,33,1,7,1,5,1,31,254,246,242,34,72,30,152,161,145,167,185,184,202,13,171,8,10,0,0,2,0,168,254,52,4,80,4,56,0,28,0,33,0,38,64,24,30,6,114,29,14,114,3,5,18,20,4,0,23,15,106,23,7,114,0,9,106,0,11,114,0,43,43,43,43,18,23,57,43,43,48,49,5,34,38,39,35,19,21,20,22,51,50,54,53,52,38,35,34,6,21,39,51,54,54,51,50,18,17,16,2,1,17,51,23,17,2,170,120,151,11,92,72,118,120,137,139,143,131,120,120,62,82,14,139,127,203,221,221,253,53,192,20,20,93,91,1,36,116,90,90,182,178,182,198,131,133,232,107,105,254,219,254,245,254,251,254,233,254,72,5,240,224,250,240,0,0,2,0,168,254,52,4,80,5,220,0,28,0,32,0,38,64,24,30,0,114,29,14,114,3,5,18,20,4,0,23,15,106,23,7,114,0,9,106,0,11,114,0,43,43,43,43,18,23,57,43,43,48,49,5,34,38,39,35,19,21,20,22,51,50,54,53,52,38,35,34,6,21,3,51,54,54,51,50,18,17,16,2,1,17,51,17,2,170,120,151,11,92,72,133,135,122,124,127,117,135,135,62,82,14,139,127,203,221,221,253,53,212,20,93,91,1,36,116,90,90,182,178,182,198,151,153,1,16,107,105,254,219,254,245,254,251,254,233,254,72,7,168,248,88,0,0,2,0,96,254,52,4,8,4,56,0,28,0,33,0,38,64,24,33,14,114,32,6,114,25,24,11,10,4,0,6,14,106,6,7,114,0,20,106,0,11,114,0,43,43,43,43,18,23,57,43,43,48,49,5,34,2,17,16,18,51,50,22,23,51,7,52,38,35,34,6,21,20,22,51,50,54,53,53,19,35,6,6,19,17,55,51,17,2,6,201,221,222,202,128,139,13,82,62,120,120,131,143,140,136,120,118,72,92,10,152,182,20,192,20,1,23,1,5,1,11,1,37,105,107,232,133,131,198,182,178,182,90,90,116,254,220,91,93,254,72,5,16,224,250,16,0,4,0,80,0,0,4,128,4,56,0,13,0,17,0,22,0,26,0,45,64,26,0,1,14,24,23,106,19,24,6,114,8,8,4,18,14,15,106,14,10,114,4,11,106,4,7,114,0,43,43,43,43,51,18,57,47,43,50,43,18,57,57,48,49,1,3,51,18,33,50,22,21,35,52,38,35,34,6,1,53,33,21,33,17,51,19,17,1,53,33,23,2,16,62,82,18,1,18,164,148,210,69,77,135,133,254,64,2,196,254,40,172,40,254,104,1,98,20,1,200,1,76,1,36,188,210,116,102,231,253,99,174,174,4,36,254,208,253,12,3,118,174,174,255,255,0,80,0,0,4,128,6,92,2,38,1,73,0,0,1,6,6,30,30,0,0,11,182,4,27,19,1,1,188,86,0,43,52,0,255,255,0,80,0,0,4,128,6,92,2,38,1,73,0,0,1,6,6,33,0,0,0,11,182,4,27,19,1,1,188,86,0,43,52,0,255,255,0,80,254,32,4,128,4,56,2,38,1,73,0,0,1,7,6,42,255,86,0,0,0,14,180,4,28,18,1,1,185,255,116,0,86,0,43,52,0,1,0,156,255,236,4,20,4,56,0,39,0,34,64,22,10,37,13,14,34,33,17,30,8,0,20,27,106,20,7,114,0,7,106,0,11,114,0,43,43,43,43,18,23,57,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,39,39,38,38,53,52,36,33,50,22,23,7,38,38,35,34,6,21,20,22,23,23,22,22,21,20,6,2,6,120,171,71,24,105,161,72,161,145,51,53,244,157,147,1,11,1,41,77,133,70,22,81,124,59,178,160,66,68,196,167,155,250,20,14,16,192,16,16,63,69,48,47,13,62,40,118,120,174,156,9,11,184,8,6,61,69,46,41,17,48,40,134,128,171,155,255,255,0,156,255,236,4,20,6,92,2,38,1,77,0,0,1,6,6,30,60,0,0,11,182,1,40,20,1,1,168,86,0,43,52,0,255,255,0,156,255,236,4,20,6,92,2,38,1,77,0,0,1,6,6,33,30,0,0,11,182,1,40,20,1,1,168,86,0,43,52,0,255,255,0,156,254,32,4,20,4,56,2,38,1,77,0,0,1,6,6,43,191,0,0,11,182,1,49,0,0,0,15,86,0,43,52,0,255,255,0,156,255,236,4,20,6,92,2,38,1,77,0,0,1,6,6,32,30,0,0,11,182,1,44,20,1,1,168,86,0,43,52,0,255,255,0,156,254,32,4,20,4,56,2,38,1,77,0,0,1,6,6,42,10,0,0,14,180,1,41,0,1,1,185,255,136,0,86,0,43,52,0,2,0,68,255,236,4,140,5,240,0,54,0,58,0,50,64,33,55,56,106,55,55,31,10,52,13,48,17,45,42,20,38,23,10,0,35,26,106,35,1,114,31,10,114,0,7,106,0,11,114,0,43,43,43,43,43,18,23,57,18,57,47,43,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,39,46,2,53,52,54,55,54,54,53,52,38,39,34,6,21,17,35,17,52,54,51,50,22,21,20,6,6,7,6,6,21,20,22,23,30,2,21,20,6,1,53,33,21,3,50,79,124,49,24,73,112,43,60,66,73,50,40,78,51,50,25,29,53,73,68,112,122,212,237,215,170,185,31,47,23,19,37,65,43,43,85,56,181,252,109,1,44,20,16,14,192,15,17,59,53,73,95,39,35,75,99,72,70,105,46,44,102,73,56,63,1,131,119,251,200,4,46,215,235,162,148,70,92,67,35,36,73,57,49,85,47,40,91,111,71,146,160,2,152,176,176,0,0,2,0,68,0,0,4,100,5,240,0,12,0,16,0,27,64,15,13,14,106,13,13,0,3,9,106,3,1,114,0,10,114,0,43,43,43,18,57,47,43,48,49,33,17,16,33,50,23,7,38,38,35,34,17,17,1,53,33,21,1,166,1,216,120,110,22,66,101,47,254,253,202,1,244,3,202,2,38,20,184,8,6,254,162,252,44,2,132,176,176,0,0,3,0,60,255,236,4,36,5,100,0,15,0,19,0,23,0,35,64,20,4,21,16,16,0,21,20,106,21,17,105,21,6,114,0,9,106,0,11,114,0,43,43,43,43,43,18,57,47,18,57,48,49,5,34,38,53,53,51,21,20,22,51,50,54,55,23,6,6,1,17,51,17,1,53,33,21,3,14,241,215,212,123,141,50,112,72,24,70,133,253,237,212,254,34,3,192,20,200,220,180,170,126,114,11,9,186,12,12,2,8,3,112,252,144,1,130,174,174,0,0,4,0,60,255,236,4,36,5,100,0,3,0,19,0,23,0,27,0,37,64,23,1,0,106,20,8,1,3,4,25,24,106,25,21,105,25,6,114,4,13,106,4,11,114,0,43,43,43,43,43,18,23,57,43,48,49,19,53,33,21,3,34,38,53,53,51,21,20,22,51,50,54,55,23,6,6,1,17,51,17,1,53,33,21,60,3,192,238,241,215,212,123,141,50,112,72,24,70,133,253,237,212,254,34,3,192,1,240,174,174,253,252,200,220,180,170,126,114,11,9,186,12,12,2,8,3,112,252,144,1,130,174,174,0,4,0,60,255,236,4,36,6,32,0,3,0,19,0,23,0,27,0,41,64,24,20,8,4,25,0,1,106,0,25,25,24,106,25,21,105,25,6,114,4,13,106,4,11,114,0,43,43,43,43,43,16,204,43,17,18,57,57,48,49,1,19,51,3,3,34,38,53,53,51,21,20,22,51,50,54,55,23,6,6,1,17,51,17,1,53,33,21,2,170,50,212,90,72,241,215,212,123,141,50,112,72,24,70,133,253,237,212,254,34,3,192,4,164,1,124,254,132,251,72,200,220,180,170,126,114,11,9,186,12,12,2,8,3,112,252,144,1,130,174,174,255,255,0,60,254,32,4,36,5,100,2,38,1,85,0,0,1,6,6,43,236,0,0,11,182,3,33,0,0,0,15,86,0,43,52,0,255,255,0,60,254,32,4,36,5,100,2,38,1,85,0,0,1,6,6,42,55,0,0,14,180,3,25,0,1,1,185,255,136,0,86,0,43,52,0,5,0,0,254,35,4,200,5,160,0,15,0,19,0,23,0,38,0,50,0,50,64,33,39,40,106,39,15,114,28,34,106,21,28,105,24,45,19,5,4,0,21,20,106,21,17,105,21,6,114,0,9,106,0,11,114,0,43,43,43,43,43,18,23,57,43,43,43,43,48,49,5,34,38,53,53,51,21,20,22,51,50,54,55,23,6,6,1,17,51,17,1,53,33,21,3,17,52,54,51,50,22,23,7,38,35,34,6,21,17,1,39,55,54,54,53,17,51,17,20,6,5,1,246,166,150,212,59,65,18,41,25,24,32,61,254,161,212,254,114,3,102,118,166,166,36,73,31,22,39,45,73,81,253,182,10,118,140,126,212,236,254,250,20,143,157,220,210,63,57,6,4,186,7,7,1,184,3,192,252,64,1,210,174,174,253,242,2,188,191,189,7,8,184,9,94,86,253,58,252,187,188,12,14,123,122,1,146,254,142,237,230,18,0,3,0,156,255,236,4,134,4,36,0,16,0,23,0,27,0,39,64,23,23,21,106,23,10,114,12,20,24,3,14,14,0,25,4,6,114,0,9,106,0,11,114,0,43,43,43,50,17,57,47,23,57,43,43,48,49,5,34,38,53,17,51,17,20,22,51,50,54,53,19,35,6,6,55,39,53,51,21,23,21,1,17,51,17,1,250,167,183,212,104,94,116,118,54,70,25,146,205,18,212,146,254,154,212,20,199,181,2,188,253,68,91,99,147,173,254,226,108,116,10,254,186,238,22,170,1,44,2,248,253,68,255,255,0,156,255,236,4,134,6,92,2,38,1,91,0,0,1,6,6,30,20,0,0,11,182,3,28,4,1,1,188,86,0,43,52,0,255,255,0,156,255,236,4,134,6,67,2,38,1,91,0,0,1,6,6,34,246,0,0,11,182,3,28,4,1,1,178,86,0,43,52,0,255,255,0,156,255,236,4,134,6,92,2,38,1,91,0,0,1,6,6,32,246,0,0,11,182,3,32,4,1,1,188,86,0,43,52,0,255,255,0,156,255,236,4,134,5,226,2,38,1,91,0,0,1,6,6,27,248,0,0,13,183,4,3,28,4,1,1,178,86,0,43,52,52,0,255,255,0,156,254,92,4,134,4,36,2,38,1,91,0,0,1,6,6,41,226,0,0,14,180,3,34,0,1,1,185,255,124,0,86,0,43,52,255,255,0,156,255,236,4,134,6,92,2,38,1,91,0,0,1,6,6,29,35,0,0,11,182,3,28,4,1,1,188,86,0,43,52,0,255,255,0,156,255,236,4,134,6,156,2,38,1,91,0,0,1,6,6,38,10,0,0,13,183,4,3,28,4,1,1,188,86,0,43,52,52,0,0,4,0,156,255,236,4,214,5,63,0,9,0,26,0,33,0,37,0,47,64,30,33,31,106,33,10,114,24,34,37,30,22,5,10,35,14,5,105,1,14,0,105,14,6,114,10,19,106,10,11,114,0,43,43,43,43,51,43,51,18,23,57,43,43,48,49,1,39,55,54,54,53,51,20,6,7,1,34,38,53,17,51,17,20,22,51,50,54,53,19,35,6,6,55,39,53,51,21,23,21,1,17,51,17,3,83,50,40,93,84,220,165,182,254,127,167,183,212,104,94,116,118,54,70,25,146,205,18,212,146,254,154,212,3,127,165,10,23,130,120,184,208,46,252,99,199,181,2,188,253,68,91,99,147,173,254,226,108,116,10,254,186,238,22,170,1,44,2,248,253,68,255,255,0,156,255,236,4,214,6,92,2,38,1,99,0,0,1,6,6,30,20,0,0,11,182,4,38,14,1,1,188,86,0,43,52,0,255,255,0,156,254,92,4,214,5,63,2,38,1,99,0,0,1,6,6,41,226,0,0,14,180,4,44,10,1,1,185,255,124,0,86,0,43,52,255,255,0,156,255,236,4,214,6,92,2,38,1,99,0,0,1,6,6,29,35,0,0,14,180,4,38,5,1,0,185,255,161,0,86,0,43,52,255,255,0,156,255,236,4,214,6,156,2,38,1,99,0,0,1,6,6,38,10,0,0,16,181,5,4,38,5,1,0,185,255,161,0,86,0,43,52,52,255,255,0,156,255,236,4,214,6,64,2,38,1,99,0,0,1,6,6,36,0,0,0,11,182,4,38,14,1,1,196,86,0,43,52,0,255,255,0,156,255,236,4,134,6,92,2,38,1,91,0,0,1,6,6,31,60,0,0,13,183,4,3,28,4,1,1,188,86,0,43,52,52,0,255,255,0,156,255,236,4,134,5,156,2,38,1,91,0,0,1,6,6,37,246,0,0,11,182,3,28,4,1,1,188,86,0,43,52,0,0,4,0,156,254,88,4,134,4,36,0,20,0,37,0,44,0,48,0,54,64,33,8,7,44,42,105,6,15,9,44,10,33,41,48,45,35,5,21,46,25,6,114,15,0,106,21,15,105,21,30,106,21,11,114,0,43,43,43,43,43,50,17,23,57,63,51,18,57,43,57,57,48,49,1,34,38,53,52,54,55,53,55,23,34,6,21,20,22,51,50,55,7,6,6,1,34,38,53,17,51,17,20,22,51,50,54,53,19,35,6,6,55,39,53,51,21,23,21,1,17,51,17,3,252,115,125,59,55,240,20,106,118,61,55,35,47,18,23,47,253,234,167,183,212,104,94,116,118,54,70,25,146,205,18,212,146,254,154,212,254,88,111,101,68,93,16,65,2,32,88,80,42,46,11,170,4,5,1,148,199,181,2,188,253,68,91,99,147,173,254,226,108,116,10,254,186,238,22,170,1,44,2,248,253,68,255,255,0,156,255,236,4,134,6,94,2,38,1,91,0,0,1,6,6,35,246,0,0,13,183,4,3,28,4,1,1,138,86,0,43,52,52,0,255,255,0,156,255,236,4,134,6,64,2,38,1,91,0,0,1,6,6,36,0,0,0,11,182,3,28,4,1,1,196,86,0,43,52,0,0,1,0,80,0,0,4,96,4,36,0,7,0,19,64,10,6,1,6,114,0,3,106,0,10,114,0,43,43,43,50,48,49,33,1,51,1,51,1,51,1,1,208,254,128,226,1,34,18,1,24,226,254,138,4,36,252,144,3,112,251,220,255,255,0,95,0,0,4,81,4,36,2,6,2,25,0,0,0,2,0,70,0,0,4,106,4,36,0,9,0,19,0,33,64,18,18,11,2,105,16,8,3,11,6,114,5,10,13,106,0,10,10,114,0,43,50,43,50,43,50,50,50,43,50,48,49,33,3,35,39,51,19,51,19,51,3,33,3,51,19,51,19,51,7,35,3,2,208,124,16,87,194,125,18,90,210,150,252,234,120,200,80,18,125,194,89,14,124,3,74,218,252,124,3,132,251,220,4,36,252,124,3,132,218,252,182,0,255,255,0,70,0,0,4,106,6,92,2,38,1,112,0,0,1,6,6,30,20,0,0,11,182,2,20,3,1,1,188,86,0,43,52,0,255,255,0,70,0,0,4,106,6,92,2,38,1,112,0,0,1,6,6,32,246,0,0,11,182,2,24,3,1,1,188,86,0,43,52,0,255,255,0,70,0,0,4,106,5,226,2,38,1,112,0,0,1,6,6,27,248,0,0,13,183,3,2,20,7,1,1,178,86,0,43,52,52,0,255,255,0,70,0,0,4,106,6,92,2,38,1,112,0,0,1,6,6,29,35,0,0,11,182,2,20,3,1,1,188,86,0,43,52,0,0,2,0,106,0,0,4,70,4,36,0,5,0,11,0,26,64,14,7,4,1,10,4,11,3,8,6,114,11,0,10,114,0,43,50,43,50,18,23,57,48,49,51,1,1,51,1,1,33,1,1,51,1,1,106,1,166,1,70,240,254,74,254,202,1,252,254,190,254,86,240,1,70,1,166,2,72,1,220,253,166,254,54,1,202,2,90,254,36,253,184,0,0,2,0,55,254,32,4,91,4,36,0,13,0,19,0,27,64,16,8,15,6,114,14,17,106,14,10,114,0,1,106,0,15,114,0,43,43,43,43,43,50,48,49,19,39,55,62,2,55,1,51,1,14,2,7,19,1,51,1,51,21,75,10,166,105,149,106,40,1,8,220,254,206,60,149,203,142,222,254,90,220,1,90,32,254,32,190,20,13,88,173,140,3,148,252,58,190,232,116,16,1,204,4,36,252,124,160,0,255,255,0,55,254,32,4,91,6,92,2,38,1,118,0,0,1,6,6,30,45,0,0,11,182,2,20,7,1,1,188,86,0,43,52,0,255,255,0,55,254,32,4,91,6,92,2,38,1,118,0,0,1,6,6,32,15,0,0,11,182,2,24,7,1,1,188,86,0,43,52,0,255,255,0,55,254,32,4,91,5,226,2,38,1,118,0,0,1,6,6,27,17,0,0,13,183,3,2,20,7,1,1,178,86,0,43,52,52,0,255,255,0,55,254,32,4,91,4,36,2,38,1,118,0,0,1,7,6,41,1,89,0,0,0,11,182,2,20,0,2,0,60,86,0,43,52,0,255,255,0,55,254,32,4,91,6,92,2,38,1,118,0,0,1,6,6,29,60,0,0,11,182,2,20,7,1,1,188,86,0,43,52,0,255,255,0,55,254,32,4,91,6,156,2,38,1,118,0,0,1,6,6,38,35,0,0,13,183,3,2,20,7,1,1,188,86,0,43,52,52,0,255,255,0,55,254,32,4,91,5,156,2,38,1,118,0,0,1,6,6,37,15,0,0,11,182,2,20,15,1,1,188,86,0,43,52,0,255,255,0,55,254,32,4,91,6,64,2,38,1,118,0,0,1,6,6,36,25,0,0,11,182,2,20,15,1,1,196,86,0,43,52,0,0,3,0,160,0,0,4,12,4,36,0,3,0,7,0,11,0,33,64,18,0,5,4,2,3,9,8,106,9,6,114,1,4,5,106,4,10,114,0,43,43,50,43,43,50,57,17,18,57,48,49,37,39,1,23,1,53,33,21,1,53,33,21,1,50,146,2,198,146,252,168,3,108,252,148,3,88,54,122,3,58,118,252,140,176,176,3,116,176,176,255,255,0,160,0,0,4,12,6,92,2,38,1,127,0,0,1,6,6,30,30,0,0,11,182,3,12,9,1,1,188,86,0,43,52,0,255,255,0,160,0,0,4,12,6,92,2,38,1,127,0,0,1,6,6,33,0,0,0,11,182,3,12,9,1,1,188,86,0,43,52,0,255,255,0,160,0,0,4,12,5,226,2,38,1,127,0,0,1,6,6,28,254,0,0,11,182,3,12,9,1,1,178,86,0,43,52,0,0,3,0,96,255,236,5,4,6,32,0,25,0,30,0,34,0,46,64,30,30,10,114,32,34,106,28,32,105,28,0,114,23,21,11,9,4,0,6,13,106,6,7,114,0,18,106,0,11,114,0,43,43,43,43,18,23,57,43,43,43,43,48,49,5,34,2,17,16,18,51,50,22,23,51,3,16,35,34,6,21,16,51,50,53,53,19,35,6,6,55,39,17,51,17,19,19,51,3,1,222,192,190,191,193,110,118,12,82,62,210,112,112,226,208,72,92,10,129,181,22,212,90,50,192,90,20,1,13,1,15,1,25,1,23,105,107,254,240,1,48,189,191,254,152,180,116,254,220,91,93,10,208,5,22,250,36,4,164,1,124,254,132,0,0,5,0,242,254,32,4,117,6,92,0,12,0,16,0,20,0,24,0,28,0,39,64,22,26,21,22,106,25,21,6,17,13,18,14,6,114,13,10,114,0,1,106,0,15,114,0,43,43,43,43,50,18,57,57,206,50,43,50,48,49,19,39,55,54,54,53,17,51,17,20,6,6,7,3,17,51,17,1,17,51,17,1,19,51,3,33,19,51,3,252,10,200,161,145,212,112,238,188,178,212,1,36,212,253,67,170,212,190,1,52,170,212,190,254,32,188,18,14,159,163,1,66,254,222,189,238,121,14,1,212,4,36,251,220,1,94,2,198,253,58,3,130,1,124,254,132,1,124,254,132,0,255,255,0,136,255,236,4,73,6,112,2,38,0,222,0,0,1,6,6,73,80,0,0,11,182,1,26,6,1,1,168,86,0,43,52,0,255,255,0,168,0,0,4,8,6,112,2,38,1,35,0,0,1,6,6,73,20,0,0,11,182,2,21,17,1,1,188,86,0,43,52,0,255,255,0,136,255,236,4,40,6,112,2,38,1,43,0,0,1,6,6,73,30,0,0,11,182,2,24,6,1,1,168,86,0,43,52,0,255,255,0,156,255,236,4,20,6,112,2,38,1,77,0,0,1,6,6,73,60,0,0,11,182,1,40,20,1,1,168,86,0,43,52,0,255,255,0,160,0,0,4,12,6,112,2,38,1,127,0,0,1,6,6,73,30,0,0,11,182,3,12,9,1,1,188,86,0,43,52,0,255,255,0,121,0,188,4,55,4,164,2,6,3,69,0,0,0,10,246,230,0,0,4,106,4,36,0,9,0,19,0,27,0,35,0,43,0,51,0,59,0,67,0,75,0,83,0,137,64,76,19,20,20,35,35,36,36,51,51,52,52,67,67,68,68,83,83,9,26,14,30,30,42,46,46,58,62,62,74,78,78,9,6,106,80,3,2,106,38,31,34,105,40,31,70,63,66,105,72,63,54,47,50,105,56,47,22,15,18,105,24,15,15,47,63,31,3,5,8,9,10,114,11,8,6,114,0,43,50,43,17,23,57,17,51,43,50,17,51,43,50,17,51,43,50,17,51,43,50,43,51,43,50,17,51,51,17,51,51,17,51,51,17,51,51,17,51,17,51,17,51,17,51,17,51,17,51,17,51,17,51,17,51,48,49,33,3,35,39,51,19,51,19,51,3,33,3,51,19,51,19,51,7,35,3,33,3,35,39,51,19,51,21,35,53,51,19,51,7,35,3,33,3,35,39,51,19,51,21,35,53,51,19,51,7,35,3,33,3,35,39,51,19,51,21,35,53,51,19,51,7,35,3,33,3,35,39,51,19,51,21,35,53,51,19,51,7,35,3,2,218,158,50,66,220,154,20,80,200,110,243,88,110,200,80,20,154,220,86,30,158,1,62,148,50,66,220,164,20,20,20,174,220,86,30,158,1,62,148,50,66,220,164,20,20,20,184,220,86,30,168,1,92,168,50,66,220,184,20,20,20,164,220,86,30,148,1,62,158,50,66,220,174,20,20,20,164,220,86,30,148,2,230,198,252,244,3,132,251,220,4,36,252,124,3,12,198,253,26,2,230,198,252,244,160,160,3,12,198,253,26,2,230,198,252,244,160,160,3,12,198,253,26,2,230,198,252,244,160,160,3,12,198,253,26,2,230,198,252,244,160,160,3,12,198,253,26,0,0,2,1,28,3,5,3,226,5,160,0,15,0,42,0,35,64,21,33,39,36,29,22,5,8,16,15,13,106,15,8,16,105,8,7,106,8,17,114,0,43,43,43,50,43,17,18,23,57,48,49,1,39,7,53,52,38,35,35,55,23,22,22,21,21,23,21,5,34,38,53,52,54,51,50,22,23,7,38,38,35,34,21,20,51,50,54,53,53,23,35,55,6,6,2,233,8,16,88,87,185,11,162,180,173,107,254,19,103,114,149,136,67,105,40,26,46,90,46,114,86,88,88,36,61,20,25,92,3,11,185,1,215,56,60,146,1,1,143,136,249,13,112,12,101,92,104,113,12,14,108,8,2,76,74,84,46,39,164,7,73,75,0,2,1,2,3,2,3,174,5,160,0,11,0,23,0,21,64,12,0,12,106,6,0,105,6,18,106,6,17,114,0,43,43,43,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,2,88,154,188,188,154,155,187,187,155,71,86,86,71,71,86,86,3,2,184,151,152,183,183,152,151,184,150,102,83,83,102,102,83,83,102,0,0,2,1,33,3,22,3,130,5,160,0,15,0,20,0,27,64,15,17,16,114,8,6,20,11,0,105,11,3,106,11,17,114,0,43,43,43,50,57,57,43,48,49,1,17,52,35,34,6,21,39,51,54,54,51,50,22,21,17,33,17,51,23,17,2,200,115,60,60,37,48,5,84,71,119,131,253,159,176,12,3,22,1,135,125,71,71,149,61,66,123,111,254,96,2,126,135,254,9,0,255,255,0,45,0,0,4,131,5,140,2,6,0,1,0,0,0,3,0,160,0,0,4,96,5,140,0,17,0,21,0,25,0,35,64,20,9,10,106,9,9,18,23,19,22,106,19,2,114,0,1,106,0,18,8,114,0,43,50,43,43,43,51,18,57,47,43,48,49,33,53,33,50,54,53,52,38,35,33,39,33,50,22,21,20,6,35,33,17,51,17,3,53,33,21,1,90,1,30,133,145,145,133,254,230,24,1,108,205,225,225,205,253,238,200,158,3,46,190,132,121,111,122,190,221,202,211,232,5,140,250,116,4,206,190,190,255,255,0,160,0,0,4,110,5,140,2,6,0,27,0,0,0,2,0,180,0,0,4,66,5,140,0,3,0,7,0,19,64,10,5,4,106,5,1,2,114,0,8,114,0,43,43,50,43,48,49,51,17,51,17,3,53,33,21,180,200,200,3,142,5,140,250,116,4,206,190,190,255,255,0,180,0,0,4,66,7,38,2,38,1,146,0,0,1,6,6,63,20,0,0,11,182,2,8,1,1,1,160,86,0,43,52,0,0,3,0,180,0,0,4,86,6,194,0,3,0,7,0,11,0,23,64,13,8,5,4,106,5,9,105,5,2,114,0,8,114,0,43,43,43,43,57,48,49,51,17,51,17,3,53,33,21,39,17,51,17,180,200,200,3,162,200,200,5,140,250,116,4,206,190,190,40,1,204,254,52,0,0,6,0,30,254,222,4,146,5,140,0,13,0,17,0,21,0,25,0,29,0,33,0,40,64,23,1,0,19,15,4,32,33,106,18,14,96,22,32,8,114,27,7,26,106,23,7,2,114,0,43,50,43,51,43,50,26,206,50,43,23,57,48,49,37,39,62,3,53,17,51,17,20,14,2,1,17,51,17,33,17,51,17,1,17,51,17,1,53,33,21,19,21,33,53,1,40,180,30,45,30,16,185,15,31,47,254,213,200,2,228,200,254,186,200,253,65,2,108,209,251,140,155,25,43,161,198,203,84,2,39,253,223,87,208,206,171,254,19,1,164,254,92,1,164,254,92,1,34,5,140,250,116,4,206,190,190,251,240,190,190,0,255,255,0,160,0,0,4,76,5,140,2,6,0,38,0,0,255,255,0,160,0,0,4,76,7,38,2,38,1,150,0,0,1,6,6,62,30,0,0,11,182,4,16,1,1,1,160,86,0,43,52,0,255,255,0,160,0,0,4,76,7,56,2,38,1,150,0,0,1,6,6,60,30,0,0,13,183,5,4,16,1,1,1,160,86,0,43,52,52,0,0,7,0,27,255,251,4,149,5,145,0,19,0,39,0,43,0,63,0,67,0,87,0,91,0,80,64,46,54,53,106,54,65,77,30,44,0,4,89,76,88,88,43,1,89,89,63,43,42,106,31,43,43,65,64,10,11,106,10,65,2,114,87,86,106,87,64,20,21,106,20,64,8,114,0,43,50,43,17,51,43,43,50,43,17,18,57,47,51,43,50,50,17,51,17,51,17,51,18,23,57,17,51,43,48,49,1,55,50,54,54,53,17,52,54,51,51,21,35,34,6,21,17,20,6,7,1,53,51,50,54,53,17,52,54,55,55,7,34,6,6,21,17,20,6,35,19,53,51,21,39,39,38,38,53,17,52,38,35,35,53,51,50,22,21,17,20,22,22,51,19,17,51,17,5,34,38,53,17,52,38,38,35,39,23,22,22,21,17,20,22,51,51,21,1,53,51,21,3,15,48,39,33,6,89,85,90,23,19,30,85,69,252,104,23,19,30,85,69,164,48,39,32,7,88,86,162,236,98,164,69,85,30,19,23,90,86,88,7,32,39,146,170,1,142,85,89,6,33,39,48,164,69,85,30,19,23,254,24,226,2,212,81,15,40,36,1,76,104,93,190,30,34,254,216,64,72,5,253,29,190,30,34,1,40,65,72,4,10,81,15,39,37,254,180,103,94,2,108,190,190,109,10,5,72,64,1,40,34,30,190,93,104,254,180,36,40,15,252,219,5,140,250,116,5,94,103,1,76,37,39,15,81,10,4,72,65,254,216,34,30,190,2,108,190,190,0,1,0,64,255,236,4,48,5,160,0,46,0,37,64,20,36,39,15,2,3,14,14,0,30,21,106,30,3,114,0,7,106,0,9,114,0,43,43,43,43,18,57,47,57,57,205,57,57,48,49,5,32,39,55,30,2,51,50,54,53,52,38,35,35,39,54,54,53,52,38,35,34,6,6,7,39,62,2,51,32,4,21,20,6,7,55,21,39,30,2,21,20,6,6,2,54,254,204,194,144,63,108,116,76,137,156,182,148,150,22,242,208,159,183,40,86,88,43,25,31,89,108,57,1,31,1,0,168,194,17,17,109,191,118,123,227,20,171,141,46,56,26,133,118,114,123,188,8,104,106,83,114,12,18,10,184,10,18,13,192,155,127,161,42,56,117,54,2,83,160,117,125,187,102,0,0,3,0,148,0,0,4,28,5,140,0,7,0,11,0,15,0,29,64,14,14,4,4,1,6,12,9,2,114,12,7,8,8,114,0,43,50,50,43,17,57,57,50,17,51,48,49,33,17,51,1,51,17,35,1,35,17,51,17,33,17,51,17,1,2,102,1,224,60,60,254,32,212,192,2,8,192,1,94,4,46,254,162,251,210,5,140,250,116,5,140,250,116,0,255,255,0,148,0,0,4,28,7,68,2,38,1,155,0,0,1,6,6,80,0,0,0,11,182,3,16,13,1,1,150,86,0,43,52,0,255,255,0,148,0,0,4,28,7,38,2,38,1,155,0,0,1,6,6,62,0,0,0,11,182,3,16,9,1,1,160,86,0,43,52,0,0,4,0,140,255,251,4,106,5,145,0,19,0,23,0,27,0,47,0,49,64,27,19,38,1,36,36,1,24,25,106,24,24,20,21,10,11,106,10,21,2,114,47,46,106,47,20,8,114,0,43,50,43,43,50,43,17,18,57,47,43,50,51,17,18,57,57,48,49,1,55,50,54,55,55,62,2,51,51,21,35,34,6,7,7,6,6,35,1,17,51,17,3,53,33,21,1,34,38,38,39,39,38,38,35,39,51,50,22,23,23,22,22,51,51,21,2,23,11,98,74,19,38,21,58,102,87,68,48,46,36,14,53,22,93,121,253,230,200,45,1,77,1,169,87,102,58,21,38,18,78,105,11,143,128,105,22,53,14,36,46,48,2,212,81,79,90,184,101,116,50,190,48,56,213,88,106,253,44,5,140,250,116,2,103,190,190,253,148,50,117,100,184,89,80,81,106,88,213,56,48,190,255,255,0,140,255,251,4,106,7,38,2,38,1,158,0,0,1,6,6,63,0,0,0,11,182,4,48,21,1,1,160,86,0,43,52,0,0,3,0,37,0,0,4,36,5,140,0,12,0,16,0,20,0,27,64,15,0,1,106,0,16,8,114,18,17,106,18,15,6,2,114,0,43,50,50,43,43,50,43,48,49,55,53,50,54,54,53,17,51,17,20,14,2,5,17,51,17,1,53,33,21,37,104,91,22,185,23,78,162,2,172,200,253,50,2,169,1,190,103,190,130,3,38,252,225,144,229,161,86,1,5,140,250,116,4,206,190,190,255,255,0,128,0,0,4,48,5,140,2,6,0,93,0,0,255,255,0,140,0,0,4,36,5,140,2,6,0,66,0,0,255,255,0,76,255,236,4,100,5,160,2,6,0,101,0,0,0,3,0,140,0,0,4,36,5,140,0,3,0,7,0,11,0,27,64,14,0,4,1,5,9,8,106,9,5,2,114,4,8,114,0,43,43,50,43,17,51,17,51,48,49,33,17,51,17,33,17,51,17,3,53,33,21,3,92,200,252,104,200,158,3,73,5,140,250,116,5,140,250,116,4,206,190,190,255,255,0,160,0,0,4,96,5,140,2,6,0,128,0,0,255,255,0,96,255,236,4,125,5,160,2,6,0,28,0,0,255,255,0,80,0,0,4,96,5,140,2,6,0,143,0,0,0,2,0,96,0,0,4,152,5,140,0,11,0,16,0,27,64,14,16,12,7,0,7,13,2,114,0,1,106,0,8,114,0,43,43,43,50,17,18,57,57,48,49,51,53,50,54,54,55,1,51,1,14,2,55,1,51,1,51,203,140,179,111,38,1,29,220,254,163,52,149,237,189,254,30,220,1,95,34,190,50,122,108,3,182,251,220,138,157,65,200,4,196,252,114,0,255,255,0,96,0,0,4,152,7,68,2,38,1,168,0,0,1,6,6,80,50,0,0,11,182,2,17,6,1,1,150,86,0,43,52,0,0,3,0,66,255,236,4,110,5,180,0,7,0,19,0,27,0,41,64,25,11,16,15,12,4,4,24,105,9,18,17,10,4,0,20,105,4,0,8,13,3,114,8,9,114,0,43,43,18,57,57,43,23,57,43,23,57,48,49,37,32,17,16,33,32,17,16,5,53,55,17,39,53,51,21,7,17,23,21,3,32,17,16,33,32,17,16,2,88,253,234,2,22,2,22,253,148,10,10,170,10,10,84,1,78,254,178,254,178,140,2,58,2,78,253,178,253,198,160,228,63,3,150,59,212,212,59,252,106,63,228,1,68,1,150,1,170,254,86,254,106,0,255,255,0,66,0,0,4,112,5,140,2,6,0,174,0,0,0,2,0,140,0,0,4,36,5,140,0,11,0,15,0,27,64,14,14,4,0,9,106,0,0,15,4,2,114,15,8,114,0,43,43,17,57,47,43,17,51,48,49,1,34,38,53,17,51,17,20,22,51,33,21,3,17,51,17,2,68,232,208,200,114,126,1,42,18,200,2,33,227,253,1,139,254,117,152,138,190,253,223,5,140,250,116,0,0,4,0,140,254,222,4,136,5,140,0,3,0,7,0,11,0,15,0,31,64,16,1,9,2,114,13,4,5,106,0,4,4,12,96,8,8,114,0,43,26,206,51,17,51,43,50,43,50,48,49,33,17,51,17,33,53,33,21,33,17,51,17,1,17,51,17,3,82,200,252,156,3,208,252,6,200,2,108,200,5,140,250,116,190,190,5,140,250,116,254,222,1,224,254,32,0,4,0,128,0,0,4,48,5,140,0,3,0,7,0,11,0,15,0,37,64,19,12,8,13,9,0,8,1,9,4,5,106,4,8,9,2,114,8,8,114,0,43,43,17,51,43,17,51,17,51,17,51,17,51,48,49,33,17,51,17,33,53,33,21,33,17,51,17,51,17,51,17,3,104,200,252,122,3,97,252,117,200,187,170,5,140,250,116,180,180,5,140,250,116,5,140,250,116,0,0,5,0,128,254,222,4,136,5,140,0,3,0,7,0,11,0,15,0,19,0,39,64,20,1,17,17,9,2,114,0,16,16,8,14,4,5,106,4,12,96,8,8,114,0,43,26,206,51,43,50,17,51,17,51,43,50,17,51,48,49,33,17,51,17,33,53,33,21,33,17,51,17,1,17,51,17,1,17,51,17,3,104,200,252,122,3,97,252,117,200,2,120,200,253,123,170,5,140,250,116,180,180,5,140,250,116,254,222,1,214,254,42,1,34,5,140,250,116,0,0,4,0,140,254,222,4,36,5,140,0,3,0,7,0,11,0,15,0,33,64,18,1,13,2,114,4,96,12,8,114,6,0,8,9,106,0,8,8,114,0,43,50,43,17,57,43,26,206,43,50,48,49,33,17,51,17,1,17,51,17,1,53,33,21,33,17,51,17,3,92,200,253,208,200,253,208,3,152,252,104,200,5,140,250,116,254,222,1,164,254,92,1,34,190,190,5,140,250,116,0,2,0,160,0,0,4,110,5,140,0,19,0,23,0,31,64,17,0,1,106,0,20,10,9,106,10,10,20,21,2,114,20,8,114,0,43,43,17,57,47,43,17,51,43,48,49,33,53,33,50,54,53,52,38,35,33,53,33,50,22,22,21,20,6,6,35,33,17,51,17,1,90,1,44,126,152,152,126,254,192,1,122,130,193,107,107,193,130,253,224,200,190,147,121,122,146,190,114,206,138,138,206,114,5,140,250,116,0,3,0,0,0,0,4,110,5,140,0,19,0,23,0,27,0,39,64,22,22,25,0,1,106,0,20,10,9,106,10,10,20,25,24,106,25,2,114,20,8,114,0,43,43,43,18,57,47,43,17,51,43,17,51,48,49,33,53,51,50,54,53,52,38,35,35,53,33,50,22,22,21,20,6,6,35,33,17,51,17,1,53,33,21,1,180,210,126,152,152,126,230,1,32,130,193,107,107,193,130,254,58,200,254,62,1,68,190,147,121,122,146,190,114,206,138,138,206,114,5,140,250,116,4,206,190,190,0,3,0,128,0,0,4,48,5,140,0,19,0,23,0,27,0,39,64,21,24,20,25,21,0,1,106,0,20,10,9,106,10,10,20,21,2,114,20,8,114,0,43,43,17,57,47,43,17,51,43,17,51,17,51,48,49,33,53,51,50,54,53,52,38,35,35,53,51,50,22,22,21,20,6,6,35,33,17,51,17,33,17,51,17,1,58,82,76,92,92,76,102,160,91,134,75,75,134,91,254,186,200,2,42,190,190,147,121,122,146,190,114,206,138,138,206,114,5,140,250,116,5,140,250,116,0,4,0,53,0,0,4,100,5,140,0,10,0,14,0,34,0,38,0,45,64,26,36,35,106,36,5,25,24,106,25,25,0,12,5,2,114,15,16,106,15,11,0,1,106,0,8,114,0,43,43,51,51,43,43,50,17,57,47,43,17,51,43,48,49,51,53,50,54,53,17,51,17,20,6,6,33,17,51,17,35,53,51,50,54,53,52,38,35,35,53,51,50,22,22,21,20,6,6,35,1,53,33,21,53,96,71,160,60,142,1,131,180,24,85,58,70,70,58,105,163,79,116,65,65,116,79,253,166,1,179,190,109,146,3,207,252,56,173,198,81,5,140,250,116,190,147,121,122,146,190,114,206,138,138,206,114,4,206,190,190,0,0,4,0,128,0,0,4,100,5,140,0,19,0,23,0,27,0,33,0,51,64,28,28,20,29,21,0,1,106,0,20,24,25,106,24,24,20,21,10,9,106,10,10,20,21,2,114,20,8,114,0,43,43,17,57,47,43,17,18,57,47,43,17,51,43,17,51,17,51,48,49,33,53,51,50,54,53,52,38,35,35,53,51,50,22,22,21,20,6,6,35,33,17,51,17,3,53,33,21,3,17,51,17,21,17,2,208,76,62,76,76,62,76,134,82,121,67,67,121,82,253,42,200,158,2,19,157,200,190,147,121,122,146,190,114,206,138,138,206,114,5,140,250,116,2,100,190,190,253,156,5,140,253,175,20,252,217,0,255,255,0,129,255,236,4,37,5,160,2,6,0,135,0,0,0,2,0,96,255,236,4,125,5,160,0,21,0,25,0,37,64,21,22,23,106,9,8,5,22,22,0,5,12,106,5,3,114,0,17,106,0,9,114,0,43,43,43,43,18,57,47,18,57,57,43,48,49,5,32,17,16,0,33,50,22,23,7,38,38,35,34,2,17,16,33,50,55,23,6,1,53,33,21,2,246,253,106,1,78,1,48,147,218,50,148,45,139,81,198,238,1,236,145,141,46,174,253,0,2,168,20,2,220,1,91,1,125,93,86,147,68,74,254,234,255,0,253,210,60,176,68,2,140,190,190,0,0,2,0,17,255,236,4,80,5,160,0,25,0,29,0,35,64,20,26,27,106,3,4,26,26,0,20,14,106,20,3,114,0,8,106,0,9,114,0,43,43,43,43,18,57,47,57,57,43,48,49,5,34,38,39,55,30,2,51,50,18,53,16,2,35,34,6,7,39,54,51,32,0,17,16,0,1,53,33,21,1,220,135,235,89,144,59,99,103,65,194,216,240,236,76,142,71,46,175,194,1,64,1,73,254,198,254,55,2,173,20,86,85,141,49,56,23,1,32,253,1,7,1,32,25,25,176,58,254,138,254,159,254,169,254,122,2,140,190,190,255,255,0,168,0,0,4,8,5,140,2,6,0,70,0,0,255,255,0,168,0,0,4,8,7,56,2,38,0,70,0,0,1,6,6,60,0,0,0,13,183,4,3,12,1,1,1,160,86,0,43,52,52,0,255,255,0,96,255,236,4,48,5,140,2,6,0,83,0,0,0,3,0,20,0,0,4,38,5,140,0,11,0,15,0,19,0,35,64,19,14,17,11,12,5,6,106,5,5,12,17,16,106,17,2,114,12,8,114,0,43,43,43,18,57,47,43,17,51,17,51,48,49,33,17,52,38,35,35,53,51,50,22,21,17,33,17,51,17,1,53,33,21,3,94,100,112,228,228,217,195,252,202,200,254,92,3,52,1,134,152,138,190,227,253,254,122,5,140,250,116,4,206,190,190,0,0,4,0,80,255,236,4,100,5,160,0,11,0,15,0,19,0,31,0,39,64,24,0,20,106,16,17,106,16,16,0,6,26,106,13,2,114,12,8,114,6,3,114,0,9,114,0,43,43,43,43,43,18,57,47,43,43,48,49,5,34,2,17,16,18,51,50,18,17,16,2,37,17,51,17,3,53,33,21,1,50,54,17,16,2,35,34,2,17,16,22,3,7,184,165,165,184,184,165,165,252,145,190,108,1,75,1,16,84,75,75,84,84,75,75,20,1,85,1,123,1,133,1,95,254,161,254,123,254,133,254,171,20,5,140,250,116,2,100,190,190,254,64,254,1,26,1,37,1,7,254,249,254,219,254,230,254,0,0,4,0,72,255,251,4,38,5,140,0,20,0,41,0,45,0,49,0,45,64,25,0,31,18,42,43,105,33,42,42,49,9,21,22,106,21,49,8,114,48,9,12,106,9,2,114,0,43,43,51,43,50,43,17,18,57,47,51,43,50,57,57,48,49,1,34,46,3,53,52,54,51,33,7,33,34,6,21,20,22,51,33,21,1,53,51,50,54,55,55,62,2,51,51,21,34,6,6,7,7,6,6,35,1,53,33,21,3,17,51,17,2,52,39,115,123,108,67,252,220,1,56,24,254,224,119,143,143,119,1,36,252,220,33,39,62,19,36,21,63,81,49,191,83,88,40,12,51,23,115,139,1,124,1,147,36,200,2,116,7,33,78,140,110,203,221,190,125,125,121,139,92,253,135,190,39,71,130,75,77,27,74,27,57,45,204,93,109,2,23,190,190,253,238,5,140,250,116,0,0,3,0,20,0,0,4,88,5,140,0,15,0,19,0,23,0,35,64,20,8,9,106,8,8,16,21,20,106,18,21,2,114,0,1,106,0,16,8,114,0,43,50,43,43,50,43,18,57,47,43,48,49,33,53,50,54,53,52,38,35,33,53,33,50,22,21,20,6,33,17,51,17,1,53,33,21,2,130,136,134,126,126,254,225,1,31,227,225,234,253,160,200,254,62,3,52,190,128,127,125,124,190,218,221,223,222,5,130,250,126,4,206,190,190,0,0,3,255,252,0,0,4,66,5,140,0,3,0,7,0,11,0,31,64,17,0,1,106,0,0,4,5,9,8,106,9,5,2,114,4,8,114,0,43,43,50,43,17,18,57,47,43,48,49,3,53,33,21,1,17,51,17,3,53,33,21,4,2,200,253,240,200,200,3,142,2,73,190,190,253,183,5,140,250,116,4,206,190,190,0,8,0,27,254,222,4,176,5,145,0,19,0,39,0,43,0,47,0,67,0,71,0,91,0,95,0,82,64,46,58,57,106,58,69,80,92,92,44,1,93,93,48,0,81,30,4,67,44,45,105,31,44,44,68,69,10,11,106,10,69,2,114,22,41,41,72,89,105,72,40,96,39,68,8,114,0,43,50,26,206,51,43,50,17,51,43,50,43,17,18,57,47,51,43,50,23,57,50,17,51,17,51,17,51,17,51,43,48,49,1,55,50,54,54,53,17,52,54,51,51,21,35,34,6,21,17,20,6,7,1,53,51,50,54,53,17,52,54,55,55,7,34,6,6,21,17,20,6,35,1,17,51,17,1,53,51,21,39,39,38,38,53,17,52,38,35,35,53,51,50,22,21,17,20,22,22,51,19,17,51,17,5,34,38,53,17,52,38,38,35,39,23,22,22,21,17,20,22,51,51,21,1,53,51,21,2,191,68,29,24,5,89,85,90,23,19,30,85,69,252,184,23,19,30,85,69,164,68,29,24,5,88,86,3,125,190,252,111,188,58,164,69,85,30,19,23,90,86,88,5,24,29,126,170,1,102,85,89,5,24,29,68,164,69,85,30,19,23,254,64,178,2,212,81,15,40,36,1,76,104,93,190,30,34,254,216,64,72,5,253,29,190,30,34,1,40,65,72,4,10,81,15,39,37,254,180,103,94,254,227,1,224,254,32,3,137,190,190,109,10,5,72,64,1,40,34,30,190,93,104,254,180,36,40,15,252,219,5,140,250,116,5,94,103,1,76,37,39,15,81,10,4,72,65,254,221,34,30,195,2,108,190,190,0,5,0,140,254,222,4,136,5,145,0,19,0,23,0,27,0,31,0,51,0,45,64,24,0,41,40,29,28,106,1,29,29,20,10,21,2,114,25,32,49,105,32,24,96,20,8,114,0,43,26,206,51,43,50,43,50,17,57,47,51,43,50,57,57,48,49,1,55,50,54,55,55,62,2,51,51,21,35,34,6,7,7,6,6,35,1,17,51,17,1,17,51,17,1,53,33,21,1,34,38,38,39,39,38,38,35,39,51,50,22,23,23,22,22,51,51,21,2,23,11,98,74,19,38,21,58,102,87,68,48,46,36,14,53,22,93,121,253,230,200,2,118,190,252,159,1,77,1,169,87,102,58,21,38,18,78,105,11,143,128,105,22,53,14,36,46,48,2,212,81,79,90,184,101,116,50,190,48,56,213,88,106,253,44,5,140,250,116,254,222,1,219,254,37,3,137,190,190,253,148,50,117,100,184,89,80,81,106,88,213,56,48,190,0,4,0,140,254,222,4,136,5,140,0,3,0,7,0,11,0,15,0,35,64,19,13,12,106,13,13,8,6,9,2,114,4,1,106,4,0,96,8,8,114,0,43,26,206,51,43,43,50,17,57,47,43,48,49,1,17,51,17,1,17,51,17,33,17,51,17,3,53,33,21,3,202,190,254,212,200,252,104,200,158,3,73,254,222,1,224,254,32,1,34,5,140,250,116,5,140,250,116,2,100,190,190,0,255,255,0,25,0,0,4,151,5,140,2,6,0,175,0,0,0,3,0,25,0,0,4,151,5,140,0,3,0,11,0,15,0,31,64,17,0,1,106,7,13,4,3,0,0,5,12,8,114,10,5,2,114,0,43,50,43,18,57,47,23,57,43,48,49,1,53,33,21,37,1,51,1,51,1,51,1,3,17,51,17,1,1,2,177,254,81,254,22,220,1,90,18,1,90,220,254,22,185,200,1,39,190,190,179,3,178,253,58,2,198,252,78,254,38,2,188,253,68,0,0,3,0,66,254,222,4,136,5,140,0,3,0,9,0,15,0,38,64,21,11,8,14,5,4,10,13,4,1,106,0,4,96,4,10,8,114,13,6,2,114,0,43,50,43,50,26,16,206,43,17,18,23,57,48,49,1,17,51,17,3,1,1,51,1,1,33,1,1,51,1,1,3,202,190,254,254,148,254,36,230,1,122,1,206,251,210,1,206,1,122,230,254,36,254,148,254,222,1,224,254,32,1,34,2,124,3,16,253,94,253,22,2,234,2,162,252,240,253,132,0,3,0,140,254,222,4,136,5,140,0,3,0,15,0,19,0,35,64,19,4,13,106,4,4,8,0,16,96,16,1,106,16,8,114,18,8,2,114,0,43,50,43,43,26,16,206,18,57,47,43,48,49,1,17,51,17,1,34,38,53,17,51,17,20,22,51,33,21,3,17,51,17,3,202,190,253,188,232,208,200,114,126,1,42,18,200,254,222,1,224,254,32,3,67,227,253,1,139,254,117,152,138,190,253,223,5,140,250,116,0,2,0,140,0,0,4,36,5,140,0,11,0,15,0,27,64,14,11,12,5,6,106,5,5,12,13,2,114,12,8,114,0,43,43,17,57,47,43,17,51,48,49,33,17,52,38,35,33,53,33,50,22,21,17,33,17,51,17,3,92,114,126,254,214,1,42,232,208,252,104,200,1,139,152,138,190,227,253,254,117,5,140,250,116,0,255,255,0,168,0,0,4,8,5,140,2,6,0,70,0,0,255,255,0,76,255,236,4,100,5,160,2,6,0,142,0,0,255,255,0,148,0,0,4,28,6,232,2,38,1,155,0,0,1,6,6,70,0,0,0,11,182,3,16,9,1,1,160,86,0,43,52,0,0,3,0,76,255,236,4,100,5,160,0,3,0,11,0,19,0,31,64,18,4,12,106,0,1,106,0,0,4,8,16,106,8,3,114,4,9,114,0,43,43,43,18,57,47,43,43,48,49,19,53,33,21,1,32,17,16,33,32,17,16,37,32,17,16,33,32,17,16,182,3,73,254,89,253,244,2,12,2,12,253,244,1,58,254,198,254,198,2,100,190,190,253,136,2,208,2,228,253,28,253,48,184,2,24,2,44,253,212,253,232,0,255,255,0,96,0,0,4,152,6,232,2,38,1,168,0,0,1,6,6,70,50,0,0,11,182,2,17,13,1,1,160,86,0,43,52,0,0,4,0,30,254,222,4,146,5,140,0,7,0,11,0,15,0,19,0,33,64,17,6,0,1,2,114,9,17,0,13,105,16,11,96,4,0,8,114,0,43,50,26,205,50,43,57,57,43,18,57,48,49,51,1,33,1,35,1,35,1,1,17,51,17,3,53,33,21,3,17,51,17,102,1,94,1,34,1,94,210,254,236,18,254,236,254,230,200,200,4,116,200,200,5,140,250,116,4,224,251,32,254,222,1,164,254,92,1,34,190,190,254,222,1,164,254,92,0,1,0,45,0,0,4,131,5,140,0,7,0,19,64,9,6,4,1,2,114,4,0,8,114,0,43,50,43,17,57,48,49,51,1,33,1,35,1,35,1,45,1,154,1,34,1,154,220,254,186,18,254,186,5,140,250,116,4,224,251,32,0,3,0,66,255,106,4,110,6,34,0,11,0,23,0,35,0,41,64,25,15,20,19,16,4,6,30,105,17,6,3,114,14,21,13,22,4,0,24,105,12,96,0,9,114,0,43,26,205,43,23,57,43,205,43,23,57,48,49,5,32,2,17,16,18,33,32,18,17,16,2,5,53,55,17,39,53,51,21,7,17,23,21,3,50,18,17,16,2,35,34,2,17,16,18,2,88,254,231,253,253,1,25,1,25,253,253,254,135,10,10,190,10,10,94,170,154,154,170,170,154,154,20,1,85,1,123,1,133,1,95,254,161,254,123,254,133,254,171,130,184,70,4,211,65,166,166,65,251,45,70,184,1,38,1,8,1,36,1,47,1,17,254,239,254,209,254,220,254,248,255,255,0,96,255,236,4,134,4,46,2,6,0,195,0,0,0,2,0,122,255,236,4,60,5,145,0,25,0,36,0,33,64,19,20,32,106,16,20,20,0,9,10,106,9,3,114,0,26,106,0,11,114,0,43,43,43,43,18,57,47,57,43,48,49,5,34,0,17,53,52,18,54,55,37,23,5,14,2,21,21,51,54,54,51,50,22,21,20,2,39,50,54,53,52,38,35,34,6,21,16,2,106,239,254,255,113,240,188,1,113,10,254,188,145,167,71,23,31,184,133,180,198,244,220,119,131,133,121,132,144,20,1,61,1,33,118,200,1,13,157,32,63,190,55,24,87,147,116,98,111,121,246,224,233,254,255,184,160,146,137,149,138,128,254,186,0,4,0,168,0,0,4,60,4,36,0,17,0,21,0,25,0,43,0,44,64,26,36,35,106,36,19,22,10,26,23,4,9,27,105,9,9,18,19,6,114,0,1,106,0,18,10,114,0,43,50,43,43,17,57,47,43,23,57,17,51,43,48,49,33,53,33,50,54,53,52,38,35,33,53,33,50,22,21,20,6,35,33,17,51,17,3,53,33,21,37,53,33,50,54,53,52,38,35,33,53,33,50,22,21,20,6,35,1,110,1,84,74,82,89,81,254,166,1,140,163,179,168,152,253,172,212,82,1,200,254,104,1,64,74,82,89,81,254,226,1,80,163,179,168,152,190,73,67,67,73,71,136,125,133,147,4,36,251,220,1,242,98,98,61,71,63,57,57,63,190,146,134,106,115,0,0,2,1,60,0,0,4,46,4,36,0,3,0,7,0,19,64,10,5,4,106,5,1,6,114,0,10,114,0,43,43,50,43,48,49,33,17,51,17,3,53,33,21,1,60,212,150,2,180,4,36,251,220,3,102,190,190,0,255,255,1,60,0,0,4,46,6,92,2,38,1,212,0,0,1,6,6,30,120,0,0,11,182,2,8,1,1,1,188,86,0,43,52,0,0,3,1,60,0,0,4,66,5,40,0,3,0,7,0,11,0,25,64,13,8,5,4,106,5,9,96,1,6,114,0,10,114,0,43,43,26,206,51,43,50,48,49,33,17,51,17,3,53,33,21,35,17,51,17,1,60,212,150,2,180,180,200,4,36,251,220,3,102,190,190,1,194,254,62,0,0,6,0,40,254,242,4,106,4,36,0,9,0,13,0,17,0,21,0,25,0,29,0,40,64,23,11,15,0,1,4,28,29,106,14,10,96,18,28,10,114,23,22,106,23,20,5,6,114,0,43,50,50,43,43,50,26,206,50,43,23,57,48,49,37,39,54,54,53,17,51,17,20,2,1,17,51,17,33,17,51,17,1,17,51,17,1,53,33,21,19,21,33,53,1,62,190,59,52,185,48,254,176,200,2,178,200,254,174,212,253,105,2,68,209,251,190,145,25,86,249,169,1,130,254,133,173,254,246,254,0,1,144,254,112,1,144,254,112,1,14,4,36,251,220,3,102,190,190,253,88,190,190,0,255,255,0,136,255,236,4,40,4,56,2,6,0,232,0,0,255,255,0,136,255,236,4,40,6,92,2,38,1,216,0,0,1,6,6,29,65,0,0,11,182,1,30,6,1,1,168,86,0,43,52,0,255,255,0,136,255,236,4,40,5,226,2,38,1,216,0,0,1,6,6,27,22,0,0,13,183,2,1,30,6,1,1,158,86,0,43,52,52,0,0,7,0,37,255,246,4,139,4,46,0,18,0,37,0,41,0,60,0,64,0,83,0,87,0,78,64,45,52,51,106,52,62,72,84,84,41,1,85,85,29,73,0,42,4,60,41,40,106,30,41,41,62,61,9,10,106,9,62,6,114,83,82,106,83,61,19,20,106,19,61,10,114,0,43,50,43,17,51,43,43,50,43,17,18,57,47,51,43,50,23,57,50,17,51,17,51,17,51,17,51,43,48,49,1,53,50,54,53,53,52,54,51,51,21,35,34,6,21,21,20,6,7,1,53,51,50,54,53,53,52,54,55,55,21,34,6,21,21,20,6,35,19,53,51,21,39,39,38,38,53,53,52,38,35,35,53,51,50,22,21,21,20,22,51,19,17,51,17,5,34,38,53,53,52,38,35,53,23,22,22,21,21,20,22,51,51,21,1,53,51,21,3,38,54,17,110,103,73,43,22,37,84,61,252,145,43,23,36,84,61,110,54,17,109,104,212,203,131,110,61,84,36,23,43,73,104,109,17,54,115,180,1,145,103,110,17,54,110,61,84,37,22,43,254,18,209,2,24,81,36,55,170,101,91,190,27,32,134,64,72,5,253,212,190,28,31,134,65,71,5,10,81,36,55,170,101,91,1,197,174,174,93,10,5,72,64,134,32,27,190,91,101,170,55,36,253,151,4,36,251,220,10,91,101,170,55,36,81,10,5,71,65,134,31,28,190,1,197,174,174,0,0,1,0,115,255,236,4,12,4,56,0,44,0,39,64,22,37,38,14,15,106,3,4,14,14,0,30,23,106,30,7,114,0,7,106,0,11,114,0,43,43,43,43,18,57,47,57,57,43,57,57,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,35,35,39,51,50,54,54,53,52,38,35,34,6,7,39,54,54,51,50,4,21,20,6,6,7,21,30,2,21,20,4,2,44,122,235,84,102,72,185,74,125,143,161,201,42,11,56,138,136,44,163,124,69,108,86,25,74,131,105,223,1,6,60,118,87,103,135,68,254,252,20,52,78,148,52,42,77,64,83,81,164,32,63,44,62,62,13,9,180,10,16,131,142,54,100,71,12,20,15,68,105,72,140,170,0,3,0,168,0,0,4,8,4,36,0,7,0,11,0,15,0,27,64,13,6,1,8,13,4,9,6,114,15,7,8,10,114,0,43,50,50,43,50,50,18,57,57,48,49,33,17,51,1,51,17,35,1,35,17,51,17,33,17,51,17,1,52,92,1,159,70,85,254,97,217,212,1,184,212,1,34,3,2,254,222,252,254,4,36,251,220,4,36,251,220,0,255,255,0,168,0,0,4,8,6,67,2,38,1,221,0,0,1,6,6,79,0,0,0,11,182,3,16,3,1,1,178,86,0,43,52,0,255,255,0,168,0,0,4,8,6,92,2,38,1,221,0,0,1,6,6,29,45,0,0,11,182,3,16,3,1,1,188,86,0,43,52,0,0,4,0,168,255,251,4,49,4,41,0,19,0,23,0,27,0,47,0,45,64,25,37,0,1,24,25,106,36,24,24,20,21,10,11,106,10,21,6,114,28,45,106,28,20,10,114,0,43,50,43,43,50,43,17,18,57,47,51,43,50,57,57,48,49,1,53,50,54,55,55,62,2,51,51,21,35,34,6,7,7,6,6,35,1,17,51,17,3,53,33,21,1,34,38,38,39,39,38,38,35,53,51,50,22,23,23,22,22,51,51,21,2,34,64,51,17,69,31,66,98,78,43,43,37,38,14,70,25,95,81,254,20,212,15,1,53,1,100,78,103,71,31,69,17,51,64,124,81,105,25,70,14,38,37,33,2,32,81,39,43,171,77,81,29,190,20,34,164,57,56,253,224,4,36,251,220,1,179,190,190,254,72,29,81,77,171,43,39,81,56,57,164,34,20,190,255,255,0,168,255,251,4,49,6,92,2,38,1,224,0,0,1,6,6,30,20,0,0,11,182,4,48,21,1,1,188,86,0,43,52,0,0,3,0,63,0,0,4,14,4,36,0,11,0,15,0,19,0,27,64,15,17,16,106,17,13,6,6,114,12,0,1,106,0,10,114,0,43,43,51,43,50,50,43,48,49,51,53,50,54,54,53,17,51,17,20,6,6,33,17,51,17,1,53,33,21,63,80,91,38,185,71,172,2,100,212,253,54,2,165,190,55,132,117,2,54,253,209,193,218,90,4,36,251,220,3,102,190,190,0,4,0,128,0,0,4,48,4,36,0,7,0,11,0,19,0,23,0,41,64,21,6,14,2,17,19,0,0,17,14,3,8,21,15,3,9,6,114,20,8,10,114,0,43,50,43,50,50,50,18,23,57,17,51,17,51,17,51,48,49,37,55,51,19,51,21,35,3,5,17,51,17,55,3,35,53,51,19,51,23,23,17,51,17,2,54,30,12,172,122,58,162,253,214,202,188,162,58,122,172,8,20,250,202,220,230,2,98,252,253,180,220,4,36,251,220,220,2,76,252,253,158,230,220,4,36,251,220,0,0,3,0,168,0,0,4,8,4,36,0,3,0,7,0,11,0,31,64,16,0,4,1,5,8,9,106,8,8,4,5,6,114,4,10,114,0,43,43,17,57,47,43,17,51,17,51,48,49,33,17,51,17,33,17,51,17,3,53,33,21,3,52,212,252,160,212,150,3,3,4,36,251,220,4,36,251,220,1,187,174,174,255,255,0,136,255,236,4,40,4,56,2,6,1,43,0,0,0,3,0,168,0,0,4,8,4,36,0,3,0,7,0,11,0,27,64,14,0,4,1,5,9,8,106,9,5,6,114,4,10,114,0,43,43,50,43,17,51,17,51,48,49,33,17,51,17,33,17,51,17,3,53,33,21,3,52,212,252,160,212,150,3,3,4,36,251,220,4,36,251,220,3,102,190,190,255,255,0,168,254,52,4,80,4,56,2,6,1,70,0,0,255,255,0,136,255,236,4,73,4,56,2,6,0,222,0,0,0,2,0,90,0,0,4,86,4,36,0,3,0,7,0,19,64,10,2,5,4,106,5,6,114,0,10,114,0,43,43,43,51,48,49,33,17,51,17,1,53,33,21,1,238,212,253,152,3,252,4,36,251,220,3,102,190,190,255,255,0,55,254,32,4,91,4,36,2,6,1,118,0,0,255,255,0,55,254,32,4,91,6,67,2,38,1,234,0,0,1,6,6,79,251,0,0,11,182,2,20,7,1,1,178,86,0,43,52,0,0,3,0,45,254,72,4,131,5,220,0,27,0,55,0,67,0,50,64,32,61,0,114,56,14,114,15,34,41,106,3,53,5,51,17,39,19,37,8,28,22,34,7,114,9,28,47,106,0,28,11,114,0,43,50,43,50,43,50,18,23,57,43,50,43,43,48,49,5,34,38,39,35,19,21,20,22,51,50,54,53,52,38,35,34,17,3,51,54,54,51,50,18,17,16,2,33,34,2,17,16,18,51,50,22,23,51,3,16,35,34,6,21,20,22,51,50,54,53,53,19,35,6,6,19,17,55,17,39,17,51,17,7,17,23,17,3,140,79,101,7,92,57,63,65,69,62,61,68,130,47,82,9,92,84,131,118,117,253,22,130,117,118,131,84,92,9,82,47,130,67,62,62,69,65,63,57,92,7,100,127,15,15,202,15,15,20,88,86,1,46,116,90,90,170,190,200,180,254,208,1,26,101,101,254,247,254,217,254,228,255,0,1,0,1,28,1,39,1,9,101,101,254,230,1,48,180,200,190,170,90,90,116,254,210,86,88,254,92,2,125,57,2,41,33,2,148,253,108,33,253,215,57,253,131,0,255,255,0,106,0,0,4,70,4,36,2,6,1,117,0,0,0,2,0,128,0,0,4,8,4,36,0,11,0,15,0,27,64,14,14,4,0,9,106,0,0,15,4,6,114,15,10,114,0,43,43,17,57,47,43,17,51,48,49,1,34,38,53,53,51,21,20,22,51,33,21,3,17,51,17,2,48,217,215,212,110,110,1,62,58,212,1,124,215,215,250,250,128,128,174,254,132,4,36,251,220,0,0,4,0,140,254,242,4,106,4,36,0,3,0,7,0,11,0,15,0,29,64,15,1,9,6,114,13,4,5,106,4,12,96,0,8,10,114,0,43,50,26,206,51,43,50,43,50,48,49,33,17,51,17,33,53,33,21,33,17,51,17,1,17,51,17,3,14,212,252,232,3,107,252,87,212,2,66,200,4,36,251,220,190,190,4,36,251,220,254,242,1,204,254,52,0,4,0,112,0,0,4,64,4,36,0,3,0,7,0,11,0,15,0,37,64,19,12,8,13,9,0,8,1,9,4,5,106,4,8,9,6,114,8,10,114,0,43,43,17,51,43,17,51,17,51,17,51,17,51,48,49,33,17,51,17,33,53,33,21,33,17,51,17,51,17,51,17,3,108,212,252,90,3,129,252,85,212,185,180,4,36,251,220,180,180,4,36,251,220,4,36,251,220,0,0,5,0,112,254,242,4,134,4,36,0,3,0,7,0,11,0,15,0,19,0,35,64,18,17,1,9,6,114,0,16,16,13,4,5,106,4,12,96,8,10,114,0,43,26,206,51,43,50,51,17,51,43,50,50,48,49,33,17,51,17,33,53,33,21,33,17,51,17,1,17,51,17,1,17,51,17,3,88,212,252,110,3,129,252,85,212,2,122,200,253,114,170,4,36,251,220,180,180,4,36,251,220,254,242,1,194,254,62,1,14,4,36,251,220,0,0,4,0,173,254,242,4,3,4,36,0,3,0,7,0,11,0,15,0,33,64,17,1,13,6,114,5,0,0,15,15,8,9,106,4,96,8,10,114,0,43,26,206,43,51,17,51,17,57,43,50,48,49,33,17,51,17,1,17,51,17,1,53,33,21,33,17,51,17,3,47,212,253,247,200,253,235,3,86,252,170,212,4,36,251,220,254,242,1,144,254,112,1,14,174,174,4,36,251,220,0,2,0,188,0,0,4,80,4,36,0,17,0,21,0,31,64,17,0,1,106,0,18,9,10,106,9,9,18,19,6,114,18,10,114,0,43,43,17,57,47,43,17,51,43,48,49,33,53,33,50,54,53,52,38,35,33,53,33,50,22,21,20,6,35,33,17,51,17,1,130,1,74,80,88,88,80,254,162,1,122,172,188,188,172,253,212,212,190,88,80,80,88,190,187,171,171,187,4,36,251,220,0,3,0,0,0,0,4,80,4,36,0,17,0,21,0,25,0,39,64,22,20,23,0,1,106,0,18,9,10,106,9,9,18,23,22,106,23,6,114,18,10,114,0,43,43,43,18,57,47,43,17,51,43,17,51,48,49,33,53,51,50,54,53,52,38,35,33,53,33,50,22,21,20,6,35,33,17,51,17,1,53,33,21,1,190,250,90,98,98,90,254,242,1,42,182,198,198,182,254,36,212,254,52,1,97,190,88,80,80,88,190,187,171,171,187,4,36,251,220,3,102,190,190,0,0,3,0,112,0,0,4,64,4,36,0,17,0,21,0,25,0,39,64,21,22,18,23,19,0,1,106,0,18,10,9,106,10,10,18,19,6,114,18,10,114,0,43,43,17,57,47,43,17,51,43,17,51,17,51,48,49,33,53,51,50,54,53,52,38,35,35,53,51,50,22,21,20,6,35,33,17,51,17,33,17,51,17,1,54,79,80,88,88,80,99,127,158,172,172,158,254,207,212,2,40,212,170,98,90,90,98,170,187,171,171,187,4,36,251,220,4,36,251,220,0,4,0,63,0,0,4,147,4,36,0,10,0,14,0,32,0,36,0,45,64,26,34,33,106,34,5,24,25,106,24,24,0,12,5,6,114,15,16,106,15,11,0,1,106,0,10,114,0,43,43,51,51,43,43,50,17,57,47,43,17,51,43,48,49,51,53,50,54,53,17,51,17,20,6,6,33,17,51,17,35,53,51,50,54,53,52,38,35,35,53,51,50,22,21,20,6,35,1,53,33,21,63,79,58,185,58,140,1,128,192,14,74,71,77,77,71,94,112,158,172,172,158,253,169,1,228,190,65,89,2,204,253,59,135,153,63,4,36,251,220,190,88,80,80,88,190,187,171,171,187,3,118,174,174,0,0,4,0,88,0,0,4,147,4,36,0,17,0,21,0,25,0,31,0,43,64,23,26,18,27,19,0,1,106,0,18,10,9,22,23,106,22,22,18,19,6,114,18,10,114,0,43,43,17,57,47,43,51,50,17,51,43,17,51,17,51,48,49,33,53,51,50,54,53,52,38,35,35,53,51,50,22,21,20,6,35,33,17,51,17,3,53,33,21,3,17,51,17,21,17,2,207,104,71,77,77,71,124,142,158,172,172,158,253,15,212,150,1,195,60,192,190,88,80,74,80,174,171,157,171,187,4,36,251,220,2,0,174,174,254,0,4,36,254,69,50,253,201,0,255,255,0,156,255,236,4,20,4,56,2,6,1,77,0,0,0,2,0,136,255,236,4,73,4,56,0,25,0,29,0,39,64,22,26,27,106,10,9,6,26,26,0,6,13,106,6,7,114,23,0,19,106,0,11,114,0,43,43,51,43,43,18,57,47,18,57,57,43,48,49,5,32,0,17,16,0,33,50,22,23,7,38,38,35,34,6,21,20,22,51,50,54,55,23,6,6,1,53,33,21,2,170,254,251,254,227,1,23,1,3,155,221,47,163,45,140,83,151,169,188,172,80,157,75,24,87,184,253,212,2,57,20,1,29,1,11,1,4,1,32,115,105,123,73,80,181,167,181,191,14,12,186,18,12,1,210,174,174,0,0,2,0,132,255,236,4,40,4,56,0,25,0,29,0,37,64,21,26,27,106,3,4,26,26,0,17,20,13,106,20,7,114,0,7,106,0,11,114,0,43,43,43,43,51,18,57,47,57,57,43,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,35,34,6,7,55,54,54,51,32,0,17,16,0,1,53,33,21,2,14,129,206,59,104,50,156,92,152,168,208,192,61,125,66,18,55,129,74,1,25,1,49,254,233,254,143,2,22,20,71,52,160,37,56,182,166,182,190,10,11,194,8,9,254,227,254,245,254,253,254,223,1,210,174,174,255,255,0,160,0,0,4,78,5,244,2,6,1,9,0,0,255,255,0,160,0,0,4,78,5,226,2,38,1,10,0,0,1,6,6,27,52,0,0,13,183,5,4,16,1,1,1,178,86,0,43,52,52,0,255,255,0,170,254,32,3,140,5,244,2,6,1,22,0,0,0,3,0,0,0,0,4,8,5,220,0,14,0,18,0,22,0,39,64,21,10,4,106,20,19,106,6,8,15,10,20,10,20,15,16,0,114,14,15,10,114,0,43,50,43,17,57,57,47,47,18,57,57,43,43,48,49,33,17,52,38,35,34,17,3,51,54,51,50,22,21,17,33,17,51,17,1,53,33,21,3,52,90,80,230,62,82,16,244,158,174,252,200,212,254,92,3,2,2,58,101,109,254,208,1,16,212,204,186,253,198,5,220,250,36,4,122,174,174,0,0,4,0,110,255,236,4,100,4,56,0,11,0,15,0,19,0,31,0,39,64,24,0,20,106,16,17,106,16,16,0,6,26,106,13,6,114,12,10,114,6,7,114,0,11,114,0,43,43,43,43,43,18,57,47,43,43,48,49,5,34,2,17,16,18,51,50,18,17,16,2,37,17,51,17,3,53,33,21,19,50,54,53,52,38,35,34,6,21,20,22,3,7,173,156,156,173,184,165,165,252,175,197,125,1,75,252,78,71,71,78,78,71,71,20,1,0,1,28,1,39,1,9,254,247,254,217,254,228,255,0,20,4,36,251,220,1,184,174,174,254,236,169,187,198,178,178,198,187,169,0,4,0,126,255,251,4,3,4,36,0,17,0,38,0,42,0,46,0,45,64,25,0,27,15,39,40,105,29,39,39,46,6,18,19,106,18,46,10,114,45,6,9,106,6,6,114,0,43,43,51,43,50,43,17,18,57,47,51,43,50,57,57,48,49,1,34,38,53,52,54,51,33,21,33,34,6,21,20,22,51,33,7,1,53,51,50,54,55,55,54,54,51,51,7,34,6,6,7,7,14,2,35,1,53,33,21,3,17,51,17,1,221,154,168,210,192,1,36,254,220,87,95,95,87,1,16,10,253,75,33,41,45,23,50,32,87,73,190,8,65,68,34,15,43,36,73,104,85,1,85,1,97,48,212,1,194,152,139,152,167,190,86,79,74,81,100,254,57,190,35,34,74,47,46,61,18,36,28,81,69,89,44,1,109,190,190,254,152,4,36,251,220,0,0,4,0,0,254,32,4,8,5,220,0,14,0,18,0,22,0,35,0,44,64,27,23,24,106,23,15,114,10,4,106,20,19,106,10,7,29,0,4,15,20,20,15,16,0,114,15,10,114,0,43,43,17,57,47,18,23,57,43,43,43,43,48,49,37,17,52,38,35,34,17,3,51,54,51,50,22,21,17,5,17,51,17,1,53,33,21,1,39,55,54,54,53,17,51,17,20,6,6,7,3,52,90,80,230,62,82,16,244,158,174,252,200,212,254,92,3,2,255,0,10,140,92,84,212,85,180,143,140,1,174,101,109,254,208,1,16,212,204,186,254,82,140,5,220,250,36,4,122,174,174,249,166,188,18,8,128,130,1,136,254,152,165,211,106,10,0,3,0,106,0,0,4,46,4,36,0,3,0,7,0,11,0,31,64,17,0,1,106,0,0,4,5,9,8,106,9,5,6,114,4,10,114,0,43,43,50,43,17,18,57,47,43,48,49,19,53,33,21,1,17,51,17,3,53,33,21,106,2,170,254,40,212,150,2,180,1,167,174,174,254,89,4,36,251,220,3,102,190,190,0,8,0,47,254,242,4,142,4,41,0,19,0,39,0,43,0,63,0,67,0,87,0,91,0,95,0,78,64,45,54,53,106,54,65,77,30,44,0,4,90,63,1,40,41,105,91,76,31,40,40,65,64,10,11,106,10,65,6,114,94,87,86,106,87,64,20,21,106,20,92,96,64,10,114,0,43,26,206,51,43,17,51,43,50,43,50,43,17,18,57,47,51,51,51,43,50,50,50,23,57,17,51,43,48,49,1,39,50,54,54,53,53,52,54,51,51,21,35,34,6,21,21,20,6,7,1,53,51,50,54,53,53,52,54,55,55,23,34,6,6,21,21,20,6,35,19,53,51,21,39,39,38,38,53,53,52,38,35,35,53,51,50,22,21,21,20,22,22,51,3,17,51,17,5,34,38,53,53,52,38,38,35,55,23,22,22,21,21,20,22,51,51,21,1,53,51,21,19,17,51,17,2,156,32,71,58,11,116,108,73,63,19,30,96,69,253,19,63,19,30,96,69,138,22,70,59,11,116,108,242,128,28,138,69,96,30,19,63,73,108,116,11,59,70,4,160,1,104,108,116,11,58,71,32,128,69,96,30,19,63,254,69,128,208,200,2,24,81,15,40,36,160,104,93,190,30,34,124,64,72,5,253,217,190,30,34,124,65,71,5,10,81,15,39,37,160,103,94,1,192,174,174,93,10,5,72,64,124,34,30,190,93,104,160,36,40,15,253,151,4,36,251,220,5,94,103,160,37,39,15,81,10,5,71,65,119,34,30,195,1,192,174,174,253,55,1,204,254,52,0,5,0,168,254,242,4,142,4,41,0,19,0,23,0,27,0,31,0,51,0,51,64,29,0,41,1,24,25,106,40,24,24,21,20,10,11,106,10,21,6,114,30,51,50,106,51,20,28,105,20,10,114,0,43,43,51,43,50,43,50,43,17,18,57,47,51,43,50,57,57,48,49,1,55,50,54,55,55,62,2,51,51,21,35,34,6,7,7,6,6,35,1,17,51,17,3,53,33,21,1,17,51,17,3,34,38,38,39,39,38,38,35,39,51,50,22,23,23,22,22,51,51,21,2,26,8,64,51,17,69,31,66,98,78,43,43,37,38,14,70,25,95,81,254,20,212,15,1,53,1,36,200,136,78,103,71,31,69,17,51,64,8,132,81,105,25,70,14,38,37,33,2,32,81,39,43,171,77,81,29,190,20,34,164,57,56,253,224,4,36,251,220,1,179,190,190,253,63,1,199,254,57,1,9,29,81,77,171,43,39,81,56,57,164,34,20,190,0,4,0,168,254,242,4,142,4,36,0,3,0,7,0,11,0,15,0,35,64,19,13,12,106,13,13,8,6,9,6,114,4,1,106,4,0,96,8,10,114,0,43,26,206,51,43,43,50,17,57,47,43,48,49,1,17,51,17,1,17,51,17,33,17,51,17,3,53,33,21,3,198,200,254,166,212,252,160,212,150,3,3,254,242,1,204,254,52,1,14,4,36,251,220,4,36,251,220,1,187,174,174,0,0,2,0,80,254,52,4,96,4,36,0,7,0,11,0,25,64,13,8,14,114,4,9,0,6,1,6,114,0,10,114,0,43,43,50,18,57,57,43,48,49,33,1,51,1,35,1,51,1,3,17,51,17,1,243,254,93,226,1,69,62,1,69,226,254,93,207,212,4,36,252,124,3,132,251,220,254,52,2,44,253,212,0,3,0,80,254,52,4,96,4,36,0,3,0,11,0,15,0,31,64,17,12,14,114,8,13,4,10,5,6,114,1,0,106,1,4,10,114,0,43,50,43,43,50,18,57,57,43,48,49,23,53,33,21,37,1,51,1,35,1,51,1,3,17,51,17,215,3,3,254,25,254,93,226,1,69,62,1,69,226,254,93,207,212,174,174,174,174,4,36,252,124,3,132,251,220,254,52,2,44,253,212,0,0,3,0,106,254,242,4,132,4,36,0,3,0,9,0,15,0,38,64,21,8,11,5,14,4,7,4,7,12,6,114,10,1,106,0,10,96,10,4,10,114,0,43,50,26,16,206,43,43,50,17,18,23,57,48,49,1,17,51,17,9,2,51,1,1,33,1,1,51,1,1,3,188,200,251,230,1,166,1,70,240,254,74,254,202,1,252,254,190,254,86,240,1,70,1,166,254,242,1,204,254,52,1,14,2,72,1,220,253,166,254,54,1,202,2,90,254,36,253,184,0,3,0,128,254,242,4,142,4,36,0,3,0,15,0,19,0,35,64,19,4,13,106,4,4,8,0,16,96,16,1,106,16,10,114,18,8,6,114,0,43,50,43,43,26,16,206,18,57,47,43,48,49,1,17,51,17,1,34,38,53,53,51,21,20,22,51,33,21,3,17,51,17,3,198,200,253,162,217,215,212,110,110,1,62,58,212,254,242,1,204,254,52,2,138,215,215,250,250,128,128,174,254,132,4,36,251,220,255,255,0,168,0,0,4,8,5,220,2,6,1,5,0,0,255,255,0,160,0,0,4,78,4,36,2,6,1,10,0,0,255,255,0,136,255,236,4,40,4,56,2,6,0,252,0,0,255,255,0,168,0,0,4,8,5,156,2,38,1,221,0,0,1,6,6,37,0,0,0,11,182,3,16,9,1,1,188,86,0,43,52,0,0,3,0,136,255,236,4,40,4,56,0,3,0,15,0,27,0,31,64,18,4,16,106,0,1,106,0,0,4,10,22,106,10,7,114,4,11,114,0,43,43,43,18,57,47,43,43,48,49,19,53,33,21,1,34,2,17,16,18,51,50,18,17,16,2,39,50,54,53,52,38,35,34,6,21,20,22,230,3,3,254,111,220,244,244,220,221,243,243,221,117,127,127,117,117,127,127,1,193,162,162,254,43,1,32,1,6,1,7,1,31,254,225,254,249,254,250,254,224,190,188,172,173,187,187,173,172,188,255,255,0,55,254,32,4,91,5,156,2,38,1,234,0,0,1,6,6,37,15,0,0,11,182,2,20,15,1,1,188,86,0,43,52,0,0,2,0,160,255,236,4,50,5,160,0,18,0,38,0,35,64,20,12,13,26,27,106,26,26,0,6,34,106,6,3,114,0,19,106,0,11,114,0,43,43,43,43,18,57,47,43,57,57,48,49,5,34,38,17,17,16,33,50,22,21,20,6,7,21,22,22,21,20,6,39,50,54,53,52,38,35,35,53,51,50,54,53,52,38,35,34,17,17,16,2,102,239,215,1,196,201,221,146,134,153,167,241,217,113,125,126,116,104,98,99,109,106,96,240,20,232,1,2,1,217,1,241,189,171,126,154,20,14,4,190,172,200,220,190,131,119,122,133,190,108,97,86,94,254,202,254,42,254,212,0,1,0,156,255,236,4,20,4,56,0,43,0,34,64,22,3,34,31,30,8,9,12,25,8,0,22,15,106,22,7,114,0,37,106,0,11,114,0,43,43,43,43,18,23,57,48,49,5,34,38,53,52,62,2,55,55,54,54,53,52,38,35,34,6,7,55,54,54,51,32,4,21,20,14,2,7,5,6,6,21,20,22,51,50,54,55,23,6,6,2,140,253,243,70,105,108,39,216,53,61,147,178,70,120,77,14,57,115,70,1,29,1,15,57,89,98,40,254,248,55,49,139,148,92,160,105,24,83,205,20,157,144,85,112,68,36,9,51,13,44,52,68,71,1,5,188,5,3,159,155,79,100,58,31,11,68,14,64,39,73,59,25,27,183,31,28,0,255,255,0,96,254,34,4,8,4,56,2,6,0,255,0,0,0,7,0,37,255,246,4,139,5,220,0,19,0,39,0,43,0,63,0,69,0,89,0,93,0,78,64,46,66,0,114,89,88,106,89,64,78,93,93,40,1,92,92,79,30,44,0,4,63,40,41,105,31,40,40,54,64,20,21,106,20,64,8,114,10,11,106,10,54,53,106,54,6,114,0,43,43,51,43,43,50,43,17,18,57,47,51,43,50,23,57,50,17,51,17,51,17,51,17,51,43,43,48,49,1,39,50,54,54,53,53,52,54,51,51,21,35,34,6,21,21,20,6,7,1,53,51,50,54,53,53,52,54,55,55,23,34,6,6,21,21,20,6,35,19,53,51,21,39,39,38,38,53,53,52,38,35,35,53,51,50,22,21,21,20,22,22,51,19,17,3,51,3,17,5,34,38,53,53,52,38,38,35,55,23,22,22,21,21,20,22,51,51,21,1,53,51,21,3,10,32,66,54,11,110,103,73,43,22,37,84,61,252,145,43,23,36,84,61,138,32,66,54,11,109,104,212,188,88,138,61,84,36,23,43,73,104,109,11,54,66,56,5,190,5,1,144,103,110,11,54,66,32,138,61,84,37,22,43,254,39,188,2,24,81,15,40,36,170,101,91,190,27,32,134,64,72,5,253,212,190,28,31,134,65,72,4,10,81,15,39,37,170,101,91,1,197,174,174,93,10,5,72,64,134,32,27,190,91,101,170,36,40,15,253,151,2,63,3,157,252,99,253,193,10,91,101,170,37,39,15,81,10,4,72,65,134,31,28,190,1,197,174,174,0,1,0,79,254,52,4,37,4,56,0,47,0,41,64,23,37,40,14,15,106,3,2,0,14,14,30,0,6,106,30,0,105,30,22,106,30,7,114,0,43,43,43,43,18,57,47,18,57,57,43,57,57,48,49,1,32,39,55,22,22,51,50,54,53,52,38,38,35,35,39,54,54,53,52,38,38,35,34,6,7,39,62,2,51,32,22,21,20,6,7,7,55,21,39,30,2,21,20,6,6,2,29,254,223,173,140,80,148,105,138,153,95,156,91,111,24,221,193,61,131,106,56,161,52,25,22,100,121,55,1,10,242,166,133,53,24,14,108,186,115,122,232,254,52,179,148,72,65,141,120,92,121,60,191,8,108,108,58,96,57,16,11,189,7,13,8,201,163,145,151,30,12,55,123,57,2,88,172,128,128,197,112,0,255,255,0,156,255,236,4,134,4,36,2,6,1,91,0,0,255,255,0,156,255,236,4,134,6,67,2,38,2,21,0,0,0,6,6,79,246,0,255,255,0,156,255,236,4,134,6,92,2,38,2,21,0,0,0,6,6,29,35,0,0,4,0,168,255,251,4,49,5,220,0,19,0,23,0,27,0,47,0,47,64,27,21,0,114,28,45,106,28,20,0,37,1,24,25,106,36,24,24,10,20,10,114,10,11,106,10,6,114,0,43,43,43,17,57,47,51,43,50,57,57,17,51,43,43,48,49,1,55,50,54,55,55,62,2,51,51,21,35,34,6,7,7,6,6,35,1,17,51,17,3,53,33,21,1,34,38,38,39,39,38,38,35,39,51,50,22,23,23,22,22,51,51,21,2,26,8,64,51,17,69,31,66,98,78,43,43,37,38,14,70,25,95,81,254,20,212,15,1,53,1,100,78,103,71,31,69,17,51,64,8,132,81,105,25,70,14,38,37,33,2,32,81,39,43,171,77,81,29,190,20,34,164,57,56,253,224,5,220,250,36,1,179,190,190,254,72,29,81,77,171,43,39,81,56,57,164,34,20,190,0,1,0,95,0,0,4,81,4,36,0,7,0,19,64,9,6,4,1,6,114,4,0,10,114,0,43,50,43,18,57,48,49,51,1,33,1,35,1,35,1,95,1,104,1,34,1,104,220,254,236,18,254,236,4,36,251,220,3,120,252,136,255,255,0,168,0,0,4,8,4,56,2,6,1,35,0,0,255,255,0,112,0,0,4,64,4,56,2,6,1,34,0,0,0,4,0,156,254,242,4,134,4,36,0,3,0,20,0,27,0,31,0,44,64,27,25,27,2,105,27,10,114,18,28,31,23,24,16,6,4,29,8,6,114,4,13,106,0,96,4,11,114,0,43,26,206,43,43,50,18,23,57,43,43,57,48,49,1,17,51,17,37,34,38,53,17,51,17,20,22,51,50,54,53,19,35,6,6,55,39,53,51,21,23,21,1,17,51,17,3,190,200,253,116,167,183,212,104,94,116,118,54,70,25,146,205,18,212,146,254,154,212,254,242,1,204,254,52,250,199,181,2,188,253,68,91,99,147,173,254,226,108,116,10,254,186,248,12,170,1,44,2,248,253,68,0,1,0,112,255,236,4,64,4,36,0,34,0,35,64,19,22,10,114,20,13,13,4,6,114,25,31,17,0,9,106,28,0,11,114,0,43,50,43,50,57,57,43,50,17,51,43,48,49,5,34,38,53,17,51,17,20,22,51,50,54,53,17,51,17,20,51,50,53,17,51,17,7,39,35,6,6,35,34,38,39,35,6,6,1,77,107,114,212,47,46,46,47,180,94,92,212,194,11,18,16,87,65,61,85,21,16,16,96,20,177,163,2,228,253,28,76,84,78,92,2,218,253,28,160,160,2,228,251,216,6,154,79,85,85,79,79,85,0,2,0,82,254,242,4,166,4,36,0,3,0,38,0,45,64,25,3,26,96,26,2,106,26,11,114,24,17,17,8,6,114,36,29,21,4,13,106,32,4,11,114,0,43,50,43,50,57,57,43,50,17,51,43,43,26,16,205,48,49,1,17,51,17,37,34,38,53,17,51,17,20,22,51,50,54,53,17,51,17,20,51,50,53,17,51,17,7,39,35,6,6,35,34,38,39,35,6,6,3,222,200,252,137,107,114,212,47,46,46,47,180,94,92,212,194,11,18,16,87,65,61,85,21,16,16,96,254,242,1,204,254,52,250,177,163,2,228,253,28,76,84,78,92,2,218,253,28,160,160,2,228,251,216,6,154,79,85,85,79,79,85,0,0,2,0,168,255,236,4,100,4,36,0,15,0,26,0,31,64,17,10,22,106,6,0,10,10,0,4,6,114,0,16,106,0,11,114,0,43,43,43,17,57,47,18,57,43,48,49,5,34,38,39,17,51,17,51,54,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,2,126,225,243,2,212,18,30,179,129,185,203,254,230,126,138,135,123,127,139,20,220,202,2,146,254,20,104,113,207,188,196,214,184,118,108,101,110,115,106,216,0,0,2,0,0,255,236,4,100,4,36,0,17,0,28,0,33,64,19,12,24,106,8,12,12,0,6,5,106,6,6,114,0,18,106,0,11,114,0,43,43,43,43,18,57,47,57,43,48,49,5,34,38,39,17,35,53,33,17,51,54,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,2,161,203,220,2,248,1,204,18,26,155,112,169,184,236,213,110,119,116,107,106,115,20,220,202,1,212,190,254,20,104,113,207,188,196,214,184,118,108,101,110,115,106,216,0,4,0,110,255,236,4,100,5,220,0,11,0,15,0,19,0,31,0,38,64,23,15,10,114,13,0,114,16,17,106,16,16,0,6,26,106,6,7,114,0,20,106,0,11,0,63,43,43,43,18,57,47,43,43,43,48,49,5,34,2,17,16,18,51,50,18,17,16,2,37,17,51,17,3,53,33,21,19,50,54,53,52,38,35,34,6,21,20,22,3,7,173,156,156,173,184,165,165,252,175,197,125,1,75,252,78,71,71,78,78,71,71,20,1,0,1,28,1,39,1,9,254,247,254,217,254,228,255,0,20,5,220,250,36,1,184,174,174,254,236,169,187,198,178,178,198,187,169,0,0,2,0,126,255,236,4,60,5,141,0,36,0,48,0,33,64,19,8,7,28,43,106,28,0,18,19,106,0,37,106,18,2,114,0,11,114,0,43,43,43,43,18,57,43,57,57,48,49,5,34,38,38,53,52,54,55,53,46,2,53,52,62,2,55,37,23,5,14,2,21,20,22,22,23,30,3,21,20,6,6,39,50,54,53,52,38,35,34,6,21,20,22,2,88,142,214,118,184,147,111,110,36,102,153,159,56,1,74,10,254,153,66,109,64,55,85,44,89,173,142,84,120,217,142,128,137,148,118,122,142,145,20,110,206,143,182,204,28,23,25,79,93,45,102,117,54,16,2,12,189,17,3,13,45,51,47,54,30,12,24,61,103,169,133,154,220,116,184,172,129,139,152,160,135,137,160,0,255,255,0,45,0,0,4,131,5,140,2,6,0,1,0,0,255,255,0,160,0,0,4,110,5,140,2,6,0,27,0,0,255,255,0,180,0,0,4,66,5,140,2,6,1,146,0,0,0,2,0,45,0,0,4,131,5,140,0,7,0,11,0,25,64,13,6,4,1,2,114,8,9,106,8,4,0,8,114,0,43,50,50,43,43,18,57,48,49,51,1,33,1,35,1,35,1,35,53,33,21,45,1,154,1,34,1,154,210,254,176,18,254,176,80,3,72,5,140,250,116,4,224,251,32,190,190,0,255,255,0,160,0,0,4,76,5,140,2,6,0,38,0,0,255,255,0,150,0,0,4,46,5,140,2,6,0,184,0,0,255,255,0,140,0,0,4,36,5,140,2,6,0,66,0,0,0,3,0,76,255,236,4,100,5,160,0,3,0,11,0,19,0,31,64,18,4,12,106,0,1,106,0,0,4,8,16,106,8,3,114,4,9,114,0,43,43,43,18,57,47,43,43,48,49,19,53,33,21,1,32,17,16,33,32,17,16,37,32,17,16,33,32,17,16,213,3,6,254,125,253,244,2,12,2,12,253,244,1,58,254,198,254,198,2,104,188,188,253,132,2,208,2,228,253,28,253,48,184,2,24,2,44,253,212,253,232,0,255,255,0,168,0,0,4,8,5,140,2,6,0,70,0,0,255,255,0,160,0,0,4,148,5,140,2,6,0,85,0,0,255,255,0,45,0,0,4,131,5,140,2,6,1,207,0,0,255,255,0,128,0,0,4,48,5,140,2,6,0,93,0,0,255,255,0,148,0,0,4,28,5,140,2,6,0,94,0,0,0,3,0,100,0,0,4,76,5,140,0,3,0,7,0,11,0,31,64,18,4,5,106,8,9,106,8,8,4,1,0,106,1,2,114,4,8,114,0,43,43,43,18,57,47,43,43,48,49,19,53,33,21,1,53,33,21,1,53,33,21,100,3,232,252,24,3,232,252,114,3,52,4,206,190,190,251,50,190,190,2,104,190,190,255,255,0,76,255,236,4,100,5,160,2,6,0,101,0,0,255,255,0,140,0,0,4,36,5,140,2,6,1,164,0,0,255,255,0,160,0,0,4,96,5,140,2,6,0,128,0,0,0,3,0,150,0,0,4,46,5,140,0,5,0,9,0,13,0,35,64,19,4,3,11,10,106,2,5,6,11,2,114,0,1,6,7,106,6,8,114,0,43,43,50,57,43,18,57,57,43,50,57,48,49,37,39,1,1,55,1,1,53,33,21,1,53,33,21,1,40,146,1,185,254,71,162,2,23,253,71,3,152,252,104,3,132,54,122,2,25,2,5,132,253,119,253,55,176,176,4,206,190,190,255,255,0,80,0,0,4,96,5,140,2,6,0,143,0,0,255,255,0,25,0,0,4,151,5,140,2,6,0,175,0,0,255,255,0,66,255,236,4,110,5,180,2,6,1,170,0,0,255,255,0,66,0,0,4,112,5,140,2,6,0,174,0,0,0,3,0,76,0,0,4,100,5,140,0,13,0,17,0,21,0,26,64,14,14,15,19,18,4,3,17,8,114,20,11,3,2,114,0,43,50,50,43,18,23,57,48,49,1,32,17,17,51,17,16,33,32,17,17,51,17,16,37,51,17,35,19,35,17,51,2,88,253,244,200,1,68,1,68,200,253,143,200,200,200,200,200,1,54,2,28,2,58,253,198,254,156,1,100,2,58,253,198,253,228,100,254,102,1,154,3,242,0,3,0,76,0,0,4,100,5,160,0,25,0,29,0,33,0,45,64,25,15,30,31,106,14,0,30,30,26,13,1,1,25,26,27,106,26,8,114,7,20,106,7,3,114,0,43,43,43,43,50,50,17,51,17,51,17,57,57,43,50,48,49,37,53,46,2,53,16,33,32,17,20,6,6,7,21,39,54,18,53,16,33,32,17,20,18,23,5,53,33,21,51,53,33,21,1,94,91,122,61,2,12,2,12,55,111,84,180,110,110,254,198,254,198,122,122,254,86,1,170,164,1,146,127,76,20,136,235,166,2,168,253,88,169,236,133,16,71,51,40,1,31,247,1,240,254,16,243,254,225,44,186,186,186,186,186,0,0,3,255,255,0,0,4,131,5,140,0,7,0,11,0,15,0,35,64,19,8,9,106,8,8,0,5,4,13,15,106,2,13,2,114,4,0,8,114,0,43,50,43,50,43,18,57,18,57,47,43,48,49,51,1,33,1,35,3,35,3,3,53,33,21,1,19,51,3,245,1,54,1,34,1,54,210,236,18,236,20,2,8,252,68,90,212,110,5,140,250,116,4,224,251,32,1,90,190,190,2,182,1,124,254,132,0,5,255,255,0,0,4,76,5,140,0,3,0,7,0,11,0,15,0,19,0,43,64,25,17,16,106,17,13,8,9,106,8,8,0,13,15,106,2,13,2,114,4,5,106,4,0,8,114,0,43,50,43,43,50,43,18,57,47,43,17,51,43,48,49,33,17,51,17,35,53,33,21,1,53,33,21,1,19,51,3,55,53,33,21,1,104,200,200,2,228,253,28,2,48,252,103,90,212,110,169,2,228,5,140,250,116,190,190,2,104,190,190,1,168,1,124,254,132,190,190,190,0,4,255,255,0,0,4,36,5,140,0,3,0,7,0,11,0,15,0,33,64,18,12,13,106,12,12,4,9,11,106,6,1,9,2,114,0,4,8,114,0,43,50,43,50,50,43,18,57,47,43,48,49,33,17,51,17,33,17,51,17,1,19,51,3,19,53,33,21,3,92,200,253,48,200,253,227,90,212,110,191,2,129,5,140,250,116,5,140,250,116,4,16,1,124,254,132,254,84,190,190,0,0,4,255,255,0,0,4,8,5,140,0,3,0,7,0,11,0,15,0,31,64,18,13,12,106,13,9,11,106,1,9,2,114,4,5,106,0,4,8,114,0,43,50,43,43,50,43,51,43,48,49,33,17,51,17,33,53,33,21,1,19,51,3,55,53,33,21,2,87,200,254,81,2,152,251,247,90,212,110,177,2,152,5,140,250,116,190,190,4,16,1,124,254,132,190,190,190,0,0,3,255,255,255,236,4,100,5,160,0,7,0,11,0,19,0,29,64,18,9,11,106,9,2,114,4,16,106,4,3,114,0,12,106,0,9,114,0,43,43,43,43,43,43,48,49,5,32,17,16,33,32,17,16,1,19,51,3,1,50,17,16,35,34,17,16,2,188,254,88,1,168,1,168,251,155,90,212,110,1,253,214,214,214,20,2,208,2,228,253,28,253,48,4,36,1,124,254,132,252,148,2,24,2,44,253,212,253,232,0,3,255,255,0,0,4,152,5,140,0,7,0,11,0,15,0,31,64,17,0,9,3,3,1,11,1,13,15,106,6,13,2,114,11,8,114,0,43,43,50,43,51,17,18,23,57,48,49,1,1,51,19,51,19,51,1,3,17,51,17,1,19,51,3,2,156,254,180,220,186,18,196,220,254,174,185,200,252,170,90,212,110,1,214,3,182,253,58,2,198,252,74,254,42,2,188,253,68,4,16,1,124,254,132,0,0,4,255,255,0,0,4,100,5,160,0,19,0,23,0,27,0,31,0,45,64,25,29,31,106,29,2,114,11,9,26,24,24,10,0,19,1,21,20,8,114,5,15,106,5,3,114,0,43,43,43,205,50,50,57,57,51,16,205,50,50,43,43,48,49,37,53,36,17,16,33,32,17,16,7,21,39,54,17,16,35,34,17,16,23,5,53,33,21,51,53,33,21,1,19,51,3,2,28,254,248,1,168,1,168,240,130,160,214,214,184,254,146,1,110,84,1,86,251,183,90,212,110,127,76,59,1,242,2,168,253,88,254,6,48,71,51,79,1,239,1,240,254,16,254,26,88,186,186,186,186,186,4,16,1,124,254,132,255,255,0,168,0,0,4,8,7,56,2,38,2,43,0,0,1,6,6,60,0,0,0,13,183,4,3,12,1,1,1,160,86,0,43,52,52,0,255,255,0,25,0,0,4,151,7,56,2,38,2,54,0,0,1,6,6,60,0,0,0,13,183,3,2,12,5,1,1,160,86,0,43,52,52,0,0,3,0,160,254,117,4,148,5,140,0,11,0,15,0,27,0,43,64,22,0,1,106,22,21,6,26,17,12,0,0,6,12,6,13,2,114,16,96,12,8,114,0,43,26,206,43,50,17,18,57,47,18,57,57,18,57,57,43,48,49,1,55,50,54,54,18,53,51,20,2,2,4,1,17,51,17,1,17,52,38,39,1,55,1,22,22,21,17,1,30,18,154,224,145,71,206,110,210,254,208,254,192,200,2,100,24,32,254,166,180,1,110,32,24,1,196,198,129,219,1,19,147,189,254,164,254,239,158,254,60,5,140,250,116,254,117,1,166,36,62,48,2,7,102,253,207,49,79,58,254,70,0,3,0,76,255,236,4,134,4,56,0,26,0,33,0,37,0,44,64,29,35,6,114,33,31,106,33,10,114,9,11,22,30,37,24,6,0,6,13,106,6,7,114,0,18,106,0,11,114,0,43,43,43,43,18,23,57,43,43,43,48,49,5,34,2,17,16,18,51,50,22,23,51,3,16,33,34,6,21,16,51,50,54,53,53,19,35,6,6,55,39,53,51,21,23,21,1,17,51,17,2,16,215,237,237,217,114,124,12,82,62,254,242,117,127,246,135,133,72,92,10,135,183,18,212,146,254,154,212,20,1,23,1,5,1,11,1,37,105,107,254,240,1,48,198,182,254,152,90,90,116,254,220,91,93,10,254,186,238,22,170,1,44,2,248,253,68,0,0,3,0,160,254,52,4,50,5,160,0,44,0,48,0,52,0,52,64,32,48,14,114,52,39,16,51,4,37,18,105,47,10,5,3,28,3,37,37,0,10,25,106,10,3,114,0,30,106,0,11,114,0,43,43,43,43,18,57,47,23,57,18,57,43,23,57,43,48,49,5,34,38,53,23,35,38,53,17,16,33,50,22,21,20,6,35,35,53,51,50,54,53,52,38,35,34,17,17,16,51,50,54,53,52,38,35,35,53,51,50,22,21,20,6,1,17,51,17,19,53,51,21,2,142,126,138,34,93,171,1,196,201,221,194,176,156,98,99,109,106,96,240,244,113,125,126,116,104,234,158,174,220,253,74,212,136,246,20,124,112,40,110,184,1,217,1,241,189,171,145,161,91,108,97,86,94,254,202,254,42,254,212,131,119,122,133,91,191,175,200,220,254,72,4,144,251,112,4,154,98,98,0,2,0,36,254,52,4,116,4,76,0,5,0,23,0,29,64,17,14,6,15,7,114,6,14,114,3,6,114,0,1,106,0,11,114,0,43,43,43,43,43,17,57,48,49,5,53,32,17,51,16,1,54,54,53,52,2,38,38,39,55,30,2,18,21,20,6,7,1,108,2,52,212,252,170,5,5,23,58,101,78,122,105,136,78,31,5,5,20,190,3,122,251,200,254,72,98,235,137,213,1,40,202,143,61,175,76,175,240,254,164,251,137,235,98,0,0,2,0,126,255,236,4,60,5,160,0,34,0,46,0,39,64,24,7,9,8,3,27,41,106,27,19,18,3,0,16,21,106,16,3,114,0,35,106,0,11,114,0,43,43,43,43,18,23,57,43,23,57,48,49,5,34,38,38,53,52,54,55,53,23,46,2,53,52,54,51,50,23,7,38,35,34,6,21,20,22,23,30,2,21,20,6,6,39,50,54,53,52,38,35,34,6,21,20,22,2,91,144,215,118,177,163,41,107,136,64,227,207,220,180,102,127,171,117,105,92,112,149,209,110,120,216,143,120,145,150,124,115,141,145,20,111,201,134,167,194,9,66,56,31,81,110,73,162,177,107,163,80,61,68,58,72,31,41,112,191,160,143,215,118,184,171,141,122,148,159,131,132,160,0,2,0,166,255,236,4,26,4,56,0,17,0,33,0,39,64,22,5,19,4,33,32,106,6,33,33,0,23,28,106,23,7,114,0,11,106,0,11,114,0,43,43,43,43,18,57,47,51,43,57,57,50,48,49,5,32,17,52,37,37,7,35,32,21,20,51,50,54,55,23,6,6,1,53,36,53,16,33,32,23,7,38,35,34,21,20,5,7,2,114,254,52,1,106,1,50,24,32,254,121,247,124,163,64,55,80,209,254,233,254,236,1,190,1,27,125,65,138,183,247,1,161,24,20,1,44,226,30,80,181,145,126,38,17,191,22,26,1,199,115,70,202,1,2,58,181,55,124,140,16,181,0,2,0,176,254,32,4,58,5,220,0,25,0,29,0,31,64,18,13,14,12,27,26,106,27,0,114,7,20,106,7,10,114,0,15,114,0,43,43,43,43,43,50,50,57,48,49,1,39,54,54,53,52,38,35,32,0,53,16,1,53,5,4,0,21,20,22,51,50,22,21,20,6,1,53,33,21,2,255,95,101,99,73,67,254,247,254,221,2,114,1,18,254,149,254,185,209,191,141,155,157,253,75,3,76,254,32,180,29,87,58,50,56,1,14,252,1,209,1,64,74,47,231,254,132,191,167,175,155,141,137,176,6,217,186,186,0,2,0,168,254,52,4,8,4,56,0,15,0,20,0,30,64,17,17,6,114,7,6,11,16,10,114,11,4,106,11,7,114,0,14,0,63,43,43,43,17,57,57,43,48,49,1,17,52,38,35,34,17,3,51,54,54,51,50,22,21,17,1,17,51,23,17,3,52,100,90,250,62,82,9,138,133,168,184,252,160,192,20,254,52,4,126,101,109,254,208,1,16,107,105,204,186,251,130,1,204,4,36,224,252,188,0,3,0,136,255,236,4,40,5,160,0,11,0,23,0,27,0,31,64,18,0,12,106,24,25,106,24,24,0,6,18,106,6,3,114,0,11,114,0,43,43,43,18,57,47,43,43,48,49,5,34,2,17,16,18,51,50,18,17,16,2,39,50,18,17,16,2,35,34,2,17,16,18,1,53,33,21,2,88,244,220,220,244,244,220,220,244,134,120,120,134,133,121,121,254,237,3,73,20,1,90,1,128,1,128,1,90,254,166,254,128,254,128,254,166,184,1,3,1,31,1,31,1,3,254,253,254,225,254,225,254,253,1,198,190,190,0,2,0,130,255,236,4,40,4,36,0,15,0,19,0,25,64,14,5,17,0,10,106,17,16,106,17,6,114,0,11,114,0,43,43,43,43,17,51,48,49,5,34,38,53,17,51,17,20,22,22,51,50,55,23,6,6,1,53,33,21,2,252,177,157,212,30,87,85,78,118,24,77,142,253,53,1,62,20,200,220,2,148,253,118,84,106,50,38,186,22,20,3,136,176,176,0,3,0,168,0,0,4,136,4,56,0,7,0,12,0,16,0,30,64,17,1,14,5,15,4,8,9,6,114,13,0,8,10,114,6,7,114,0,43,43,50,50,43,18,23,57,48,49,33,39,51,54,54,55,1,23,1,17,51,17,7,33,1,55,1,1,104,38,80,15,79,72,1,150,153,252,65,212,20,2,51,254,206,149,1,138,171,110,200,90,1,253,119,252,63,4,36,252,71,107,1,212,140,253,160,0,0,2,0,67,255,236,4,150,5,220,0,23,0,31,0,34,64,21,24,10,114,25,26,27,30,4,0,12,7,106,12,0,114,0,19,106,0,11,114,0,43,43,43,43,18,23,57,43,48,49,5,34,38,39,3,38,38,35,34,7,39,54,51,50,22,23,1,22,22,51,50,55,23,6,37,1,23,7,22,6,7,3,4,44,130,160,44,255,27,81,58,27,35,24,51,55,128,156,42,1,2,27,83,61,27,35,24,51,251,224,1,203,136,135,16,5,20,224,20,117,154,3,121,95,75,8,186,12,112,148,252,124,95,75,8,186,12,20,4,84,191,41,66,122,57,253,137,0,0,4,0,156,254,52,4,134,4,36,0,17,0,21,0,28,0,32,0,47,64,30,28,26,106,28,10,114,18,14,114,13,19,24,4,29,20,2,7,15,15,0,30,5,6,114,0,10,106,0,11,114,0,43,43,43,50,17,57,47,23,57,43,43,43,48,49,5,34,39,35,39,17,51,17,20,22,51,50,54,53,19,35,6,6,1,17,23,19,1,39,53,51,21,23,21,1,17,51,17,2,54,162,43,57,148,212,104,94,116,118,54,70,21,109,254,14,184,38,1,184,18,212,146,254,154,212,20,224,156,2,188,253,138,115,125,138,162,254,226,112,112,254,72,3,122,193,253,71,1,194,254,186,238,22,170,1,44,2,248,253,68,0,2,0,6,0,0,4,96,4,56,0,5,0,17,0,27,64,15,12,7,114,17,2,11,3,3,6,5,10,114,3,6,114,0,43,43,50,17,23,57,43,48,49,33,55,51,1,51,1,33,3,46,2,39,55,30,2,23,19,1,188,142,18,1,34,226,254,128,254,220,113,39,81,115,90,122,103,138,93,34,122,180,3,112,251,220,1,134,134,207,140,34,175,38,142,206,134,254,31,0,0,4,0,142,254,32,4,48,5,220,0,14,0,28,0,43,0,47,0,61,64,35,30,5,42,29,37,38,36,45,44,106,6,29,42,105,8,29,29,0,45,0,114,15,16,106,15,15,114,23,0,12,106,22,0,11,114,0,43,50,43,50,43,43,43,18,57,47,51,43,50,43,50,50,57,17,18,57,57,48,49,5,32,17,52,54,55,37,7,35,32,17,20,33,51,7,19,39,54,54,53,52,38,35,55,50,22,21,20,6,1,53,38,38,53,52,54,55,53,5,32,21,16,33,7,1,53,33,21,2,102,254,54,198,234,1,150,14,32,253,186,1,59,95,54,35,75,85,95,73,67,54,141,155,157,254,159,206,170,128,128,1,186,254,24,2,86,14,252,186,3,136,20,1,84,161,190,30,94,190,254,247,170,190,254,52,180,29,87,58,50,56,190,155,141,137,176,4,20,110,15,153,139,116,131,24,72,50,253,254,245,190,2,197,186,186,255,255,0,136,255,236,4,40,4,56,2,6,1,43,0,0,0,3,0,90,255,236,4,120,4,36,0,15,0,19,0,23,0,29,64,17,21,20,106,18,5,21,6,114,16,10,114,0,9,106,0,11,114,0,43,43,43,43,50,50,43,48,49,5,34,38,53,17,51,17,20,22,51,50,54,55,23,6,6,37,17,51,17,1,53,33,21,3,230,147,131,212,47,79,14,29,19,24,37,62,252,237,212,254,132,4,16,20,157,173,2,238,253,28,79,71,4,4,186,7,5,20,4,36,251,220,3,102,190,190,0,2,0,168,254,52,4,80,4,56,0,27,0,31,0,36,64,23,28,14,114,3,6,5,18,19,29,6,0,22,15,106,22,7,114,0,9,106,0,11,114,0,43,43,43,43,18,23,57,43,48,49,5,34,38,39,35,19,21,20,22,51,50,54,53,52,38,35,34,6,21,39,52,54,51,50,18,17,16,2,1,17,51,17,2,150,112,140,10,92,72,133,135,122,124,129,129,122,134,212,245,223,235,233,231,253,63,212,20,93,91,1,36,116,90,90,182,178,191,189,159,145,9,227,248,254,233,254,231,254,251,254,233,254,72,4,41,251,215,0,0,1,0,136,254,32,4,73,4,56,0,34,0,35,64,21,18,17,7,14,21,106,14,7,114,7,28,106,7,11,114,0,1,106,0,15,114,0,43,43,43,43,43,43,18,57,57,48,49,1,39,54,54,53,52,39,35,34,2,17,52,54,54,51,50,22,23,7,38,38,35,34,6,6,21,20,22,51,51,22,22,21,20,6,2,185,95,98,108,117,89,223,243,125,241,172,155,221,47,163,45,140,83,98,139,73,156,144,90,130,142,168,254,32,180,28,91,55,103,3,1,29,1,11,173,245,130,115,105,123,73,80,81,156,111,181,191,2,155,139,130,185,0,3,0,136,255,236,4,176,4,36,0,15,0,27,0,31,0,31,64,18,7,8,29,28,106,29,6,22,106,6,6,114,0,16,106,0,11,114,0,43,43,43,43,51,43,50,57,48,49,5,34,2,17,52,18,51,23,21,30,2,21,20,6,6,39,50,54,53,52,38,35,34,6,21,20,22,19,53,33,21,2,83,218,241,241,218,224,65,101,59,112,201,136,110,119,119,110,115,124,124,115,2,93,20,1,32,1,6,253,1,21,63,151,10,106,163,97,147,221,122,190,188,172,163,177,177,163,172,188,2,188,190,190,0,0,2,0,130,255,236,4,46,4,36,0,15,0,19,0,25,64,14,5,17,0,9,106,17,16,106,17,6,114,0,11,114,0,43,43,43,43,17,51,48,49,5,34,38,53,17,51,17,20,22,51,50,54,55,23,6,6,1,53,33,21,2,252,177,157,212,75,127,41,94,61,24,77,142,253,53,3,172,20,200,220,2,148,253,118,126,114,19,19,186,22,20,3,122,190,190,0,1,0,5,255,236,4,20,4,36,0,21,0,25,64,14,19,8,0,15,106,8,7,106,8,6,114,0,11,114,0,43,43,43,43,17,51,48,49,5,32,17,3,52,38,35,35,53,51,50,22,21,19,20,51,50,53,17,51,17,16,2,128,254,108,1,50,62,118,158,157,127,1,192,192,212,20,1,174,1,64,77,63,190,125,155,254,142,240,240,2,138,253,118,254,82,0,5,0,86,254,72,4,90,5,220,0,11,0,15,0,27,0,31,0,35,0,37,64,22,33,0,114,12,14,114,35,29,6,22,105,6,7,114,31,14,0,16,105,0,11,114,0,43,43,57,57,43,43,57,57,43,43,48,49,5,32,0,17,16,0,33,32,0,17,16,0,1,19,51,19,3,50,54,53,52,38,35,34,6,21,20,22,23,17,51,17,3,3,51,3,2,88,254,254,255,0,1,0,1,2,1,2,1,0,255,0,254,148,25,162,25,106,158,156,156,158,157,157,157,76,162,162,25,212,25,20,1,18,1,20,1,20,1,18,254,238,254,236,254,236,254,238,254,92,1,215,254,41,2,68,194,196,196,194,194,196,196,194,38,3,103,252,153,3,148,1,226,254,30,0,2,0,57,254,72,4,105,4,56,0,25,0,31,0,40,64,26,3,16,30,27,4,15,6,28,31,14,114,28,6,114,12,7,106,12,7,114,0,19,106,0,15,114,0,43,43,43,43,43,43,17,23,57,48,49,1,34,38,39,1,38,38,35,34,7,39,54,51,50,22,23,1,22,22,51,50,54,55,23,6,6,37,1,1,51,1,1,3,255,134,154,57,254,168,36,90,65,27,35,24,51,55,132,149,55,1,92,37,92,67,14,29,19,24,28,48,252,57,1,206,1,70,240,254,44,254,192,254,72,123,148,3,121,93,77,8,186,12,118,142,252,124,94,76,4,4,186,7,5,20,3,46,2,154,252,212,253,100,0,0,2,0,106,254,72,4,70,5,220,0,13,0,19,0,31,64,18,16,0,114,14,14,114,10,3,6,114,18,15,0,7,105,0,11,114,0,43,43,57,57,43,50,43,43,48,49,5,32,17,17,51,17,16,33,32,17,17,51,17,16,1,19,3,51,3,19,2,88,254,18,202,1,36,1,36,202,253,173,20,15,192,15,20,20,2,38,2,18,253,238,254,142,1,114,2,18,253,238,253,218,254,92,2,69,5,79,250,177,253,187,0,0,3,0,106,255,236,4,58,4,36,0,16,0,33,0,37,0,39,64,23,34,30,3,5,29,5,35,35,0,13,21,6,114,0,8,106,0,17,26,106,17,11,114,0,43,43,51,43,43,50,18,57,47,23,57,48,49,5,34,38,39,51,55,20,22,51,50,54,53,17,51,17,20,6,33,34,38,53,17,51,17,20,22,51,50,54,53,23,51,6,6,19,17,51,17,3,59,106,109,16,1,87,47,46,46,47,212,130,253,167,119,126,212,47,46,46,47,87,1,16,114,42,180,20,173,191,16,109,91,84,76,2,228,253,28,163,177,177,163,2,228,253,28,76,84,91,109,16,191,173,1,88,2,24,253,232,255,255,0,130,255,236,4,40,6,92,2,38,2,77,0,0,1,6,6,76,222,0,0,11,182,2,20,4,1,1,188,86,0,43,52,0,255,255,0,130,255,236,4,40,5,226,2,38,2,77,0,0,1,6,6,27,194,0,0,13,183,3,2,20,4,1,1,178,86,0,43,52,52,0,255,255,0,94,255,236,4,40,6,92,2,38,2,77,0,0,1,6,6,78,214,0,0,16,64,9,4,3,2,24,17,1,1,178,86,0,43,52,52,52,255,255,0,5,255,236,4,20,6,92,2,38,2,89,0,0,1,6,6,76,30,0,0,11,182,1,22,18,1,1,188,86,0,43,52,0,255,255,0,5,255,236,4,20,5,226,2,38,2,89,0,0,1,6,6,27,2,0,0,13,183,2,1,22,18,1,1,178,86,0,43,52,52,0,255,255,0,5,255,236,4,72,6,92,2,38,2,89,0,0,1,6,6,78,22,0,0,16,64,9,3,2,1,26,8,1,1,178,86,0,43,52,52,52,255,255,0,136,255,236,4,40,6,92,2,38,2,83,0,0,1,6,6,76,30,0,0,11,182,2,24,6,1,1,168,86,0,43,52,0,255,255,0,106,255,236,4,58,6,92,2,38,2,93,0,0,1,6,6,76,30,0,0,11,182,3,38,21,1,1,188,86,0,43,52,0,255,255,0,76,255,236,4,134,6,92,2,38,2,69,0,0,1,6,6,76,0,0,0,11,182,3,38,6,1,1,168,86,0,43,52,0,255,255,0,166,255,236,4,26,6,92,2,38,2,73,0,0,1,6,6,76,70,0,0,11,182,2,34,23,1,1,168,86,0,43,52,0,255,255,0,168,254,52,4,8,6,92,2,38,2,75,0,0,1,6,6,76,20,0,0,11,182,2,21,17,1,1,188,86,0,43,52,0,0,3,0,168,254,117,4,103,4,56,0,7,0,12,0,24,0,38,64,24,13,14,114,14,23,1,18,5,19,6,8,9,6,114,0,8,10,114,6,7,106,6,7,114,0,43,43,43,50,43,18,23,57,43,48,49,33,39,51,54,54,55,1,23,1,17,51,17,7,1,17,52,38,39,3,55,1,22,22,21,17,1,104,38,80,15,79,72,1,150,153,252,65,212,20,2,31,18,22,246,149,1,32,34,27,171,110,200,90,1,253,119,252,63,4,36,252,71,107,254,117,1,151,51,63,28,1,58,140,254,139,42,83,60,254,67,0,3,0,116,255,236,4,60,5,160,0,7,0,19,0,27,0,29,64,17,8,14,106,8,0,4,24,106,4,5,114,0,20,106,0,13,114,0,43,43,43,43,18,57,43,48,49,5,32,17,16,33,32,17,16,1,34,38,53,52,54,51,50,22,21,20,6,3,32,17,16,33,32,17,16,2,88,254,28,1,228,1,228,254,28,67,83,83,67,68,82,82,68,1,14,254,242,254,242,20,2,208,2,228,253,28,253,48,2,58,83,67,68,82,82,68,67,83,254,126,2,24,2,44,253,212,253,232,0,4,0,170,0,0,4,28,5,140,0,3,0,7,0,11,0,15,0,37,64,21,13,12,106,13,4,14,15,106,1,14,4,114,9,4,5,106,8,0,4,12,114,0,43,50,50,43,50,43,50,43,18,57,43,48,49,33,17,51,17,33,53,33,21,51,53,33,21,1,53,37,21,2,12,212,253,202,1,118,172,1,80,252,162,1,78,5,140,250,116,186,186,186,186,4,74,202,120,206,0,2,0,126,0,0,4,72,5,160,0,21,0,25,0,35,64,20,11,10,0,14,7,106,14,5,114,22,23,106,22,20,0,1,106,0,12,114,0,43,43,50,51,43,43,43,18,57,57,48,49,51,53,36,0,53,52,38,35,34,6,7,39,54,54,51,50,22,21,20,0,5,21,35,53,33,21,172,1,73,1,69,120,122,81,176,63,138,69,254,139,225,223,254,239,254,233,252,3,96,224,182,1,140,210,122,122,94,78,137,99,120,213,215,216,254,115,183,216,186,186,0,0,2,0,125,255,236,4,20,5,160,0,22,0,45,0,45,64,25,17,44,16,45,24,105,15,35,34,38,45,45,0,38,31,106,38,5,114,0,7,106,0,13,114,0,43,43,43,43,18,57,47,18,57,57,51,43,50,57,57,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,38,35,35,39,5,22,22,21,20,4,1,39,62,2,53,52,38,35,34,6,7,39,54,54,51,50,22,21,20,6,7,21,2,2,110,183,71,25,61,153,117,154,170,98,187,133,32,24,1,50,170,212,254,235,254,125,24,156,196,92,111,103,76,171,76,138,92,242,149,194,212,164,132,20,26,22,191,17,38,124,112,80,112,58,130,24,13,195,168,190,210,2,158,130,21,82,117,72,87,97,76,76,137,104,95,165,153,128,189,35,120,0,0,4,0,72,0,0,4,96,5,140,0,3,0,7,0,11,0,15,0,33,64,17,5,8,9,106,7,3,8,2,8,2,14,15,12,114,14,4,114,0,43,43,18,57,57,47,47,51,51,43,50,48,49,19,19,51,3,35,55,33,21,51,53,51,21,1,17,51,17,74,200,206,202,206,142,2,78,162,154,254,176,202,1,62,3,254,252,2,176,176,176,176,254,194,5,140,250,116,0,3,0,132,255,236,4,70,5,140,0,26,0,31,0,35,0,51,64,30,33,32,106,33,28,27,16,106,15,27,19,13,106,4,27,19,19,27,4,3,0,28,4,114,0,7,106,0,13,114,0,43,43,43,17,23,57,47,47,47,43,17,51,43,17,51,43,48,49,5,34,38,53,51,20,22,51,50,54,53,52,38,35,34,7,55,54,54,51,50,22,22,21,20,6,6,1,19,51,3,7,19,39,33,21,2,102,230,252,214,140,130,126,138,151,137,140,122,18,79,156,79,138,193,101,113,214,253,219,20,210,34,84,4,18,2,176,20,219,199,111,123,154,140,137,151,66,170,45,31,110,209,149,152,214,112,2,188,2,228,253,152,124,2,42,186,186,0,0,3,0,118,255,236,4,60,5,146,0,8,0,23,0,35,0,42,64,26,18,30,106,15,8,1,12,13,0,6,9,18,18,5,9,24,106,9,13,114,5,6,106,5,4,114,0,43,43,43,43,18,57,47,18,23,57,43,48,49,1,39,53,16,0,37,23,4,17,1,34,0,17,23,17,51,54,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,1,37,175,1,157,1,167,20,253,134,1,22,240,254,252,166,74,30,179,129,186,202,242,222,117,127,133,125,128,140,142,1,69,201,88,1,132,1,148,20,190,27,253,225,253,82,1,29,1,5,118,1,4,111,121,230,210,228,252,184,155,141,123,133,144,132,138,138,0,3,0,112,0,0,4,130,5,140,0,3,0,7,0,11,0,27,64,14,5,9,4,96,9,8,106,1,9,4,114,0,12,114,0,43,43,50,43,26,206,18,57,48,49,33,1,51,1,1,17,51,17,3,53,33,7,1,191,1,232,219,254,24,253,214,206,206,4,18,142,5,140,250,116,3,154,1,212,254,44,1,52,190,190,0,0,5,0,116,255,236,4,60,5,160,0,11,0,23,0,27,0,39,0,51,0,43,64,26,26,27,18,28,40,105,18,28,105,18,6,105,18,0,46,34,106,46,5,114,0,12,106,0,13,114,0,43,43,43,43,18,57,43,43,43,18,57,57,48,49,5,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,3,53,33,21,39,50,54,53,52,38,35,34,6,21,20,22,23,34,38,53,52,54,51,50,22,21,20,6,2,88,231,253,253,231,231,253,253,231,129,141,141,129,129,141,141,37,1,78,168,110,120,120,110,109,121,121,109,211,233,233,211,212,232,232,20,215,195,179,195,195,179,195,215,184,124,112,120,134,134,120,112,124,2,30,102,102,140,103,91,104,112,112,104,91,103,100,175,159,171,189,189,171,159,175,0,0,3,0,118,255,250,4,60,5,160,0,8,0,20,0,35,0,42,64,26,21,9,106,4,31,5,30,3,32,6,27,21,21,0,27,15,106,27,5,114,0,1,106,0,12,114,0,43,43,43,43,18,57,47,18,23,57,43,48,49,23,39,36,17,17,23,21,16,0,3,50,54,53,52,38,35,34,6,21,20,22,23,34,38,53,52,54,51,50,0,17,39,17,35,6,6,248,20,2,122,222,254,99,75,128,138,140,140,120,130,137,37,186,202,243,223,240,1,4,166,74,30,179,6,190,27,2,31,1,138,254,48,254,106,254,87,2,177,144,132,138,138,155,141,123,133,184,230,210,228,252,254,227,254,251,118,254,252,111,121,0,3,0,116,255,236,4,60,5,160,0,7,0,11,0,19,0,30,64,18,8,9,11,10,4,0,4,16,106,4,5,114,0,12,106,0,13,114,0,43,43,43,43,18,23,57,48,49,5,32,17,16,33,32,17,16,37,39,1,23,1,32,17,16,33,32,17,16,2,88,254,28,1,228,1,228,252,252,82,2,130,98,254,142,1,14,254,242,254,242,20,2,208,2,228,253,28,253,48,252,106,3,14,80,252,148,2,24,2,44,253,212,253,232,255,255,1,8,255,236,3,122,2,116,2,7,2,147,0,0,252,212,255,255,1,86,255,254,3,92,2,106,2,7,2,148,0,0,252,222,255,255,1,61,255,255,3,90,2,125,2,7,2,149,0,0,252,221,255,255,1,80,255,235,3,79,2,115,2,7,2,150,0,0,252,211,255,255,1,64,0,0,3,98,2,106,2,7,2,151,0,0,252,222,255,255,1,80,255,236,3,106,2,95,2,7,2,152,0,0,252,211,255,255,1,68,255,236,3,112,2,115,2,7,2,153,0,0,252,211,255,255,1,98,0,0,3,131,2,106,2,7,2,154,0,0,252,222,255,255,1,68,255,237,3,107,2,115,2,7,2,155,0,0,252,211,255,255,1,68,255,240,3,112,2,114,2,7,2,156,0,0,252,210,255,255,1,8,255,236,3,122,2,116,2,7,2,147,0,0,252,212,255,255,1,86,255,254,3,92,2,106,2,7,2,148,0,0,252,222,255,255,1,61,255,255,3,90,2,125,2,7,2,149,0,0,252,221,255,255,1,80,255,235,3,79,2,115,2,7,2,150,0,0,252,211,255,255,1,64,0,0,3,98,2,106,2,7,2,151,0,0,252,222,255,255,1,80,255,236,3,106,2,95,2,7,2,152,0,0,252,211,255,255,1,68,255,236,3,112,2,115,2,7,2,153,0,0,252,211,255,255,1,98,0,0,3,131,2,106,2,7,2,154,0,0,252,222,255,255,1,68,255,237,3,107,2,115,2,7,2,155,0,0,252,211,255,255,1,68,255,240,3,112,2,114,2,7,2,156,0,0,252,210,255,255,1,8,3,24,3,122,5,160,2,6,2,147,0,0,255,255,1,86,3,32,3,92,5,140,2,6,2,148,0,0,255,255,1,61,3,34,3,90,5,160,2,6,2,149,0,0,255,255,1,80,3,24,3,79,5,160,2,6,2,150,0,0,255,255,1,64,3,34,3,98,5,140,2,6,2,151,0,0,255,255,1,80,3,25,3,106,5,140,2,6,2,152,0,0,255,255,1,68,3,25,3,112,5,160,2,6,2,153,0,0,255,255,1,98,3,34,3,131,5,140,2,6,2,154,0,0,255,255,1,68,3,26,3,107,5,160,2,6,2,155,0,0,255,255,1,68,3,30,3,112,5,160,2,6,2,156,0,0,0,2,1,8,3,24,3,122,5,160,0,11,0,23,0,21,64,12,0,12,106,6,0,105,6,18,106,6,3,114,0,43,43,43,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,2,66,142,172,172,142,141,171,171,141,59,72,72,59,61,72,72,3,24,179,148,146,175,172,149,148,179,163,91,73,72,86,86,72,73,91,0,0,4,1,86,3,32,3,92,5,140,0,3,0,7,0,11,0,15,0,35,64,19,13,12,2,6,11,10,106,7,3,2,11,105,2,15,106,14,2,2,114,0,43,50,43,43,50,50,43,50,18,57,57,48,49,1,17,51,17,33,53,51,21,51,53,51,21,1,53,55,21,2,29,156,254,157,207,139,172,254,3,190,3,32,2,108,253,148,141,141,141,141,1,153,158,53,160,0,0,2,1,61,3,34,3,90,5,160,0,19,0,23,0,33,64,18,9,8,12,21,18,0,1,106,20,12,0,105,12,6,106,12,3,114,0,43,43,43,50,43,50,57,18,57,57,48,49,1,53,54,54,53,52,35,34,7,39,54,54,51,50,22,21,20,6,7,21,35,53,33,21,1,86,149,148,102,74,80,66,44,134,79,117,141,121,123,220,1,234,3,34,157,53,115,60,93,46,138,33,35,109,89,78,143,66,153,140,140,0,2,1,80,3,24,3,79,5,160,0,21,0,41,0,32,64,20,23,40,15,16,14,22,6,34,0,7,106,34,0,105,34,28,106,34,3,114,0,43,43,43,43,18,23,57,48,49,1,6,38,39,55,22,22,51,50,54,53,52,38,35,35,53,23,22,22,21,20,6,3,39,54,54,53,52,35,34,7,39,54,54,51,50,22,21,20,6,7,21,2,42,65,110,43,41,31,81,51,64,70,66,61,64,173,86,105,153,211,10,97,86,112,97,78,21,50,113,63,123,133,82,67,3,25,1,14,13,146,6,15,33,30,25,27,96,15,7,77,68,93,100,1,8,116,7,35,24,49,29,149,16,14,71,67,52,75,14,72,0,0,4,1,64,3,34,3,98,5,140,0,3,0,7,0,11,0,15,0,31,64,16,6,11,10,106,4,3,2,14,11,11,14,15,105,14,2,114,0,43,43,57,47,18,57,51,51,43,50,48,49,1,19,51,3,35,55,33,21,51,53,51,21,7,17,51,17,1,65,78,164,78,165,62,1,12,138,78,225,156,3,140,1,223,254,33,140,140,140,140,106,2,106,253,150,0,0,3,1,80,3,25,3,106,5,140,0,23,0,28,0,32,0,27,64,17,6,4,24,14,12,27,15,18,32,9,25,0,105,30,25,2,114,0,43,50,43,23,57,48,49,1,34,38,53,51,20,51,50,54,53,52,38,35,34,7,55,54,54,51,50,22,21,20,6,37,19,51,3,7,39,39,33,21,2,90,127,139,191,76,41,44,50,46,56,46,8,29,73,37,113,124,142,254,142,9,184,14,51,8,8,1,106,3,25,102,92,50,37,33,32,35,28,112,15,17,93,85,104,115,253,1,118,254,231,93,234,140,140,0,0,3,1,68,3,25,3,112,5,160,0,9,0,24,0,33,0,35,64,20,13,1,14,0,25,5,10,6,19,16,3,5,29,29,5,10,105,5,3,114,0,43,43,57,47,18,23,57,18,23,57,48,49,1,39,53,52,54,55,23,6,6,21,19,34,38,53,23,55,51,54,54,51,50,22,21,20,6,39,50,53,52,35,34,6,21,20,1,195,127,227,251,8,163,146,108,136,149,124,30,31,15,92,66,95,103,141,135,100,100,49,55,3,191,80,21,191,180,9,141,4,93,98,254,201,128,118,70,136,42,46,98,89,101,112,130,78,74,40,37,75,0,0,3,1,98,3,34,3,131,5,140,0,3,0,7,0,11,0,27,64,15,6,9,8,4,105,9,8,106,9,3,105,1,9,2,114,0,43,50,43,43,43,18,57,48,49,1,19,51,3,1,17,51,17,39,53,33,7,2,35,175,177,176,254,143,156,156,2,33,63,3,34,2,106,253,150,1,67,1,25,254,231,156,139,139,0,5,1,68,3,26,3,107,5,160,0,11,0,20,0,24,0,32,0,44,0,24,64,15,12,16,24,33,6,23,25,29,8,39,0,105,39,3,114,0,43,43,23,57,48,49,1,34,38,53,52,54,51,50,22,21,20,6,39,50,53,52,35,34,6,21,20,55,53,51,21,39,50,53,52,35,34,21,20,23,34,38,53,52,54,51,50,22,21,20,6,2,87,130,145,145,130,131,145,145,131,100,100,47,52,29,142,72,83,83,82,82,122,136,136,122,123,136,136,3,26,97,88,79,85,85,79,88,97,118,84,81,43,38,84,206,44,44,77,64,63,63,64,60,80,72,73,80,80,73,72,80,0,3,1,68,3,30,3,112,5,160,0,9,0,24,0,33,0,25,64,16,10,21,4,25,6,19,20,5,30,9,16,0,105,16,3,114,0,43,43,23,57,48,49,1,39,54,54,53,55,23,21,20,6,39,34,38,53,52,54,51,50,22,21,39,7,35,6,6,55,50,54,53,52,35,34,21,20,1,146,8,163,146,50,127,227,131,95,103,141,130,137,148,124,30,31,15,92,12,50,54,104,100,3,30,141,5,89,96,145,80,21,188,178,233,98,89,101,112,128,118,70,136,42,46,118,40,37,75,78,74,0,1,0,94,1,50,4,92,4,82,0,3,0,10,179,2,0,106,2,0,47,43,48,49,19,39,1,23,186,92,3,162,92,1,50,136,2,152,130,0,0,7,0,82,255,255,4,104,5,140,0,3,0,7,0,11,0,15,0,19,0,39,0,43,0,68,64,42,38,43,42,106,32,26,106,43,32,105,20,21,106,20,0,1,3,2,4,6,43,8,114,17,16,6,9,15,14,106,8,7,6,15,105,6,19,106,18,6,2,114,0,43,50,43,43,50,50,43,50,18,57,57,43,17,23,57,50,43,43,43,43,50,48,49,19,39,1,23,5,17,51,17,33,53,51,21,51,53,51,21,1,53,55,21,1,53,54,54,53,52,35,34,7,39,54,54,51,50,22,21,20,6,7,21,35,53,33,21,186,92,3,162,92,252,189,156,254,157,207,139,172,254,3,190,1,75,149,148,102,74,80,66,44,134,79,117,141,121,123,220,1,234,1,40,136,2,152,130,166,2,108,253,148,141,141,141,141,1,153,158,53,160,251,19,157,53,115,60,93,46,138,33,35,109,89,78,143,66,153,140,140,0,0,9,0,82,0,0,4,92,5,140,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,35,0,68,64,40,25,31,30,106,33,32,24,24,23,22,31,105,0,1,3,2,4,19,22,35,106,34,22,2,114,10,15,14,106,11,7,6,15,15,19,17,106,19,8,114,0,43,43,57,47,57,51,51,43,50,43,50,43,18,23,57,43,50,50,18,57,57,43,50,48,49,19,39,1,23,1,19,51,3,35,55,33,21,51,53,51,21,7,17,51,17,1,17,51,17,33,53,51,21,51,53,51,21,1,53,55,21,186,92,3,162,92,253,213,78,164,78,165,62,1,12,138,78,225,156,253,12,156,254,157,207,139,172,254,3,190,1,30,136,2,152,130,252,174,1,223,254,33,140,140,140,140,106,2,106,253,150,3,32,2,108,253,148,141,141,141,141,1,153,158,53,160,0,0,7,0,94,0,0,4,92,5,160,0,3,0,7,0,11,0,15,0,19,0,41,0,61,0,58,64,37,27,42,34,61,36,35,60,43,48,9,54,20,105,0,1,3,2,4,19,54,3,114,10,15,14,106,11,7,6,15,15,19,18,105,19,8,114,0,43,43,57,47,57,51,51,43,50,43,18,23,57,43,23,57,48,49,19,39,1,23,1,19,51,3,35,55,33,21,51,53,51,21,7,17,51,17,1,6,38,39,55,22,22,51,50,54,53,52,38,35,35,53,23,22,22,21,20,6,3,39,54,54,53,52,35,34,7,39,54,54,51,50,22,21,20,6,7,21,186,92,3,162,92,253,213,78,164,78,165,62,1,12,138,78,225,156,253,45,65,110,43,41,31,81,51,64,70,66,61,64,173,86,105,153,211,10,97,86,112,97,78,21,50,113,63,123,133,82,67,1,50,136,2,152,130,252,154,1,223,254,33,140,140,140,140,106,2,106,253,150,3,25,1,14,13,146,6,15,33,30,25,27,96,15,7,77,68,93,100,1,8,116,7,35,24,49,29,149,16,14,71,67,52,75,14,72,0,10,0,82,255,237,4,121,5,140,0,3,0,7,0,11,0,15,0,19,0,31,0,40,0,44,0,52,0,64,0,63,64,40,32,36,44,53,26,43,45,49,8,20,59,105,0,1,3,2,4,6,20,9,114,17,16,6,10,15,14,106,11,7,6,15,105,6,19,106,18,6,2,114,0,43,50,43,43,50,50,43,50,18,57,57,43,17,23,57,43,23,57,48,49,19,39,1,23,5,17,51,17,33,53,51,21,51,53,51,21,1,53,55,21,1,34,38,53,52,54,51,50,22,21,20,6,39,50,53,52,35,34,6,21,20,55,53,51,21,39,50,53,52,35,34,21,20,23,34,38,53,52,54,51,50,22,21,20,6,186,92,3,162,92,252,189,156,254,157,207,139,172,254,3,190,2,76,130,145,145,130,131,145,145,131,100,100,47,52,29,142,72,83,83,82,82,122,136,136,122,123,136,136,1,40,136,2,152,130,166,2,108,253,148,141,141,141,141,1,153,158,53,160,251,1,97,88,79,85,85,79,88,97,118,84,81,43,38,84,206,44,44,77,64,63,63,64,60,80,72,73,80,80,73,72,80,0,0,8,0,76,255,237,4,121,5,160,0,3,0,25,0,45,0,57,0,66,0,70,0,78,0,90,0,52,64,36,58,62,67,79,52,68,71,75,8,46,85,105,0,1,3,2,4,38,46,9,114,26,18,45,20,19,44,27,32,8,38,4,105,38,3,114,0,43,43,23,57,43,17,23,57,43,23,57,48,49,19,39,1,23,5,6,38,39,55,22,22,51,50,54,53,52,38,35,35,53,23,22,22,21,20,6,3,39,54,54,53,52,35,34,7,39,54,54,51,50,22,21,20,6,7,21,1,34,38,53,52,54,51,50,22,21,20,6,39,50,53,52,35,34,6,21,20,55,53,51,21,39,50,53,52,35,34,21,20,23,34,38,53,52,54,51,50,22,21,20,6,186,92,3,162,92,252,202,65,110,43,41,31,81,51,64,70,66,61,64,173,86,105,153,211,10,97,86,112,97,78,21,50,113,63,123,133,82,67,1,192,130,145,145,130,131,145,145,131,100,100,47,52,29,142,72,83,83,82,82,122,136,136,122,123,136,136,1,40,136,2,152,130,173,1,14,13,146,6,15,33,30,25,27,96,15,7,77,68,93,100,1,8,116,7,35,24,49,29,149,16,14,71,67,52,75,14,72,251,172,97,88,79,85,85,79,88,97,118,84,81,43,38,84,206,44,44,77,64,63,63,64,60,80,72,73,80,80,73,72,80,0,0,9,0,76,255,237,4,121,5,140,0,3,0,27,0,32,0,36,0,48,0,57,0,61,0,69,0,81,0,52,64,35,49,53,61,70,43,60,62,66,8,37,76,105,0,1,3,2,4,35,37,9,114,10,8,32,16,31,22,6,35,4,105,30,35,2,114,0,43,50,43,23,57,43,17,23,57,43,23,57,48,49,19,39,1,23,5,34,38,53,51,20,51,50,54,53,52,38,35,34,7,55,54,54,51,50,22,21,20,6,37,19,51,3,7,39,39,33,21,1,34,38,53,52,54,51,50,22,21,20,6,39,50,53,52,35,34,6,21,20,55,53,51,21,39,50,53,52,35,34,21,20,23,34,38,53,52,54,51,50,22,21,20,6,186,92,3,162,92,252,250,127,139,191,76,41,44,50,46,56,46,8,29,73,37,113,124,142,254,142,9,184,14,51,8,8,1,106,1,37,130,145,145,130,131,145,145,131,100,100,47,52,29,142,72,83,83,82,82,122,136,136,122,123,136,136,1,40,136,2,152,130,173,102,92,50,37,33,32,35,28,112,15,17,93,85,104,115,253,1,118,254,231,93,234,140,140,250,237,97,88,79,85,85,79,88,97,118,84,81,43,38,84,206,44,44,77,64,63,63,64,60,80,72,73,80,80,73,72,80,0,9,0,94,255,237,4,121,5,140,0,3,0,7,0,11,0,15,0,27,0,36,0,40,0,48,0,60,0,46,64,30,28,32,40,49,22,39,41,45,8,16,55,105,16,9,114,10,13,12,8,105,13,12,106,13,7,105,5,13,2,114,0,43,50,43,43,43,18,57,43,43,23,57,48,49,19,39,1,23,5,19,51,3,1,17,51,17,39,53,33,7,1,34,38,53,52,54,51,50,22,21,20,6,39,50,53,52,35,34,6,21,20,55,53,51,21,39,50,53,52,35,34,21,20,23,34,38,53,52,54,51,50,22,21,20,6,186,92,3,162,92,252,195,175,177,176,254,143,156,156,2,33,63,1,37,130,145,145,130,131,145,145,131,100,100,47,52,29,142,72,83,83,82,82,122,136,136,122,123,136,136,1,40,136,2,152,130,164,2,106,253,150,1,67,1,25,254,231,156,139,139,250,236,97,88,79,85,85,79,88,97,118,84,81,43,38,84,206,44,44,77,64,63,63,64,60,80,72,73,80,80,73,72,80,0,0,1,1,196,255,236,2,236,1,20,0,11,0,12,181,0,6,106,0,19,114,0,43,43,48,49,5,34,38,53,52,54,51,50,22,21,20,6,2,88,61,87,87,61,62,86,86,20,87,61,62,86,86,62,61,87,0,1,1,146,254,76,2,202,0,254,0,3,0,10,179,1,0,106,1,0,47,43,48,49,1,19,51,3,1,146,80,232,120,254,76,2,178,253,78,0,0,2,1,196,255,236,2,236,4,56,0,11,0,23,0,21,64,12,12,18,106,12,19,114,6,0,106,6,7,114,0,43,43,43,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,2,88,61,87,87,61,62,86,86,62,61,87,87,61,62,86,86,3,16,87,61,62,86,86,62,61,87,252,220,87,61,62,86,86,62,61,87,0,2,1,146,254,76,2,236,4,56,0,11,0,15,0,19,64,10,14,12,106,14,6,0,106,6,7,114,0,43,43,47,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,1,19,51,3,2,88,61,87,87,61,62,86,86,254,252,80,232,120,3,16,87,61,62,86,86,62,61,87,251,60,2,178,253,78,0,255,255,0,54,255,236,4,122,1,20,2,39,2,165,254,114,0,0,2,39,2,165,1,142,0,0,2,6,2,165,0,0,0,2,1,196,255,236,2,236,5,150,0,3,0,15,0,21,64,12,10,3,105,4,10,106,4,19,114,1,16,114,0,43,43,43,43,48,49,1,3,51,3,3,34,38,53,52,54,51,50,22,21,20,6,1,246,6,208,10,94,61,87,87,61,62,86,86,1,200,3,206,252,50,254,36,87,61,62,86,86,62,61,87,0,2,1,196,254,142,2,236,4,56,0,3,0,15,0,21,64,12,10,1,105,4,10,106,4,0,105,4,7,114,0,43,43,43,43,48,49,1,19,51,19,3,50,22,21,20,6,35,34,38,53,52,54,1,240,6,192,10,104,62,86,86,62,61,87,87,254,142,3,206,252,50,5,170,86,62,61,87,87,61,62,86,0,3,0,156,255,236,4,22,5,160,0,21,0,29,0,41,0,44,64,28,23,22,7,14,4,17,6,0,11,27,106,11,10,106,36,0,105,30,36,106,22,30,19,114,26,11,3,114,0,43,50,43,50,43,43,43,43,18,23,57,48,49,1,53,52,54,55,54,54,53,52,38,35,55,50,22,21,20,6,7,6,6,21,21,1,39,54,36,51,7,34,6,19,34,38,53,52,54,51,50,22,21,20,6,1,244,82,82,81,81,100,92,2,195,215,111,111,64,64,254,110,138,70,1,3,151,2,94,182,244,61,87,87,61,62,86,86,1,200,96,99,151,52,50,119,69,75,83,190,177,161,111,182,71,42,99,59,82,2,110,143,99,120,190,94,251,104,87,61,62,86,86,62,61,87,0,0,3,0,154,254,132,4,20,4,56,0,21,0,29,0,41,0,42,64,27,27,26,3,18,15,6,6,30,36,10,105,30,36,106,22,30,0,105,30,23,105,30,21,105,30,7,114,0,43,43,43,43,50,43,43,17,23,57,48,49,1,34,38,53,52,54,55,54,54,53,53,51,21,20,6,7,6,6,21,20,22,51,7,55,50,54,55,23,6,4,3,50,22,21,20,6,35,34,38,53,52,54,2,52,195,215,111,111,65,63,196,81,83,81,81,101,91,2,2,94,182,64,138,70,254,253,117,62,86,86,62,61,87,87,254,132,178,160,111,182,71,42,100,58,82,96,99,150,53,50,119,69,75,83,190,190,94,78,143,99,120,5,180,86,62,61,87,87,61,62,86,0,255,255,1,196,2,50,2,236,3,90,2,7,2,165,0,0,2,70,0,1,1,48,1,158,3,128,3,238,0,15,0,10,179,8,0,106,8,0,47,43,48,49,1,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,2,88,82,134,80,80,134,82,82,134,80,80,134,1,158,80,134,82,82,134,80,80,134,82,82,134,80,0,0,5,0,110,1,2,4,62,4,152,0,3,0,7,0,11,0,15,0,19,0,49,64,32,16,8,1,7,15,12,6,2,11,17,10,13,4,4,0,10,9,106,18,19,106,3,5,18,10,4,13,0,105,13,150,114,0,43,43,23,57,43,43,17,51,17,18,23,57,48,49,1,1,55,1,5,39,1,23,7,37,55,5,7,3,51,3,7,39,37,23,3,56,254,230,112,1,80,253,150,166,1,80,112,82,254,50,74,1,184,100,34,216,34,48,52,1,184,74,1,2,1,134,96,254,166,140,140,1,90,96,22,132,204,196,70,1,224,254,32,70,140,196,204,255,255,0,182,255,236,3,250,5,150,0,39,2,170,254,242,0,0,0,7,2,170,1,14,0,0,0,4,0,120,0,0,4,96,5,140,0,3,0,7,0,11,0,15,0,35,64,19,5,4,106,12,13,106,5,12,5,12,8,1,9,16,114,0,8,18,114,0,43,50,43,50,17,57,57,47,47,43,43,48,49,33,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,2,178,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,0,255,255,1,196,255,236,2,236,1,20,2,6,2,165,0,0,0,1,0,100,6,32,4,76,6,208,0,3,0,10,179,0,1,106,0,0,47,43,48,49,19,53,33,21,100,3,232,6,32,176,176,0,0,1,0,104,255,66,4,96,6,74,0,3,0,12,181,1,0,106,1,152,114,0,43,43,48,49,23,1,51,1,104,3,36,212,252,220,190,7,8,248,248,0,0,1,0,104,255,66,4,96,6,74,0,3,0,12,181,1,0,106,1,152,114,0,43,43,48,49,5,1,51,1,3,140,252,220,212,3,36,190,7,8,248,248,0,1,1,10,255,56,3,230,6,84,0,17,0,21,64,12,0,15,106,6,0,105,6,9,106,6,154,114,0,43,43,43,43,48,49,5,32,0,17,16,0,33,51,7,35,34,0,17,16,0,51,51,23,3,182,254,187,254,153,1,103,1,69,48,20,8,237,254,255,1,1,237,8,20,200,1,223,1,181,1,175,1,217,180,254,132,254,168,254,162,254,126,180,0,0,1,0,202,255,56,3,166,6,84,0,17,0,21,64,12,0,1,106,10,0,105,10,9,106,10,154,114,0,43,43,43,43,48,49,23,55,51,50,0,17,16,0,35,35,39,51,32,0,17,16,0,33,202,20,8,237,1,1,254,255,237,8,20,48,1,70,1,102,254,154,254,186,200,180,1,130,1,94,1,88,1,124,180,254,39,254,81,254,75,254,33,0,1,1,0,255,42,3,228,6,90,0,54,0,33,64,19,38,39,10,11,106,10,22,0,48,106,22,0,105,22,29,106,22,154,114,0,43,43,43,43,18,57,43,57,57,48,49,5,34,38,53,52,54,53,52,38,38,35,53,50,62,2,53,52,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,21,20,6,7,21,22,22,21,20,6,21,20,22,51,50,54,55,23,6,6,3,58,163,179,42,95,127,48,35,91,87,57,42,179,163,59,78,33,24,35,65,28,71,75,46,138,124,124,138,46,75,71,28,65,35,24,33,78,214,195,175,84,164,88,56,63,25,158,19,37,54,34,92,160,84,169,183,11,9,170,5,5,90,82,87,158,87,99,109,2,34,2,113,95,91,158,83,91,99,6,4,170,9,11,0,0,1,0,206,255,42,3,178,6,90,0,54,0,33,64,19,17,16,45,44,106,45,33,0,7,106,33,0,105,33,26,106,33,154,114,0,43,43,43,43,18,57,43,57,57,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,53,52,54,55,53,38,38,53,52,54,53,52,38,35,34,6,7,39,54,54,51,50,22,21,20,6,21,20,30,2,51,21,34,6,6,21,20,22,21,20,6,1,120,58,79,33,24,35,65,28,71,75,46,138,124,124,138,46,75,71,28,65,35,24,33,79,58,163,179,42,57,87,92,34,48,127,95,42,179,214,11,9,170,4,6,99,91,83,158,91,95,113,2,34,2,109,99,87,158,87,82,90,5,5,170,9,11,183,169,84,160,92,34,54,37,19,158,25,63,56,88,164,84,175,195,0,0,3,1,116,255,42,3,230,6,98,0,3,0,7,0,11,0,27,64,15,9,8,106,9,1,4,5,106,4,1,0,106,1,153,114,0,43,43,50,43,17,51,43,48,49,5,17,51,17,35,53,33,21,1,53,33,21,1,116,200,20,1,190,254,66,1,190,214,7,56,248,200,190,190,6,122,190,190,0,3,0,202,255,42,3,60,6,98,0,3,0,7,0,11,0,27,64,15,9,8,106,9,10,4,5,106,4,10,0,105,10,153,114,0,43,43,50,43,17,51,43,48,49,5,17,51,17,33,53,33,21,1,53,33,21,2,104,212,253,142,1,178,254,78,1,178,214,7,56,248,200,190,190,6,122,190,190,0,0,1,0,152,0,0,3,252,5,140,0,7,0,22,64,12,1,6,5,2,4,0,3,2,114,0,8,114,0,43,43,18,23,57,48,49,33,1,53,1,33,1,21,1,2,173,253,235,2,21,1,79,253,235,2,21,2,189,18,2,189,253,67,18,253,67,0,1,0,180,0,0,4,24,5,140,0,7,0,22,64,12,1,6,5,2,4,0,3,2,114,0,8,114,0,43,43,18,23,57,48,49,51,1,53,1,33,1,21,1,180,2,21,253,235,1,79,2,21,253,235,2,189,18,2,189,253,67,18,253,67,0,0,1,0,221,0,0,3,221,5,140,0,7,0,22,64,12,1,6,5,2,4,0,3,2,114,0,8,114,0,43,43,18,23,57,48,49,33,1,53,1,51,1,21,1,2,242,253,235,2,21,235,253,235,2,21,2,189,18,2,189,253,67,18,253,67,0,0,1,0,211,0,0,3,211,5,140,0,7,0,22,64,12,2,1,5,6,4,0,3,2,114,0,8,114,0,43,43,18,23,57,48,49,51,1,53,1,51,1,21,1,211,2,21,253,235,235,2,21,253,235,2,189,18,2,189,253,67,18,253,67,255,255,0,100,2,104,4,76,3,34,2,6,3,68,0,0,255,255,0,100,2,104,4,76,3,34,2,6,2,193,0,0,0,1,0,70,2,104,4,106,3,34,0,3,0,12,181,1,0,106,1,147,114,0,43,43,48,49,19,53,33,21,70,4,36,2,104,186,186,0,0,1,0,40,2,104,4,136,3,34,0,3,0,12,181,1,0,106,1,147,114,0,43,43,48,49,19,53,33,21,40,4,96,2,104,186,186,0,255,255,0,40,2,104,4,136,3,34,2,6,2,196,0,0,255,255,0,100,2,104,4,76,3,34,2,6,2,193,0,0,255,255,0,100,2,104,4,76,3,34,2,6,2,198,0,0,0,1,0,100,255,80,4,76,0,0,0,3,0,12,181,1,0,106,1,8,114,0,43,43,48,49,23,53,33,21,100,3,232,176,176,176,255,255,0,100,254,32,4,76,0,0,2,38,2,200,0,0,2,7,2,200,0,0,254,208,255,255,1,116,254,76,3,76,0,254,2,7,2,207,0,0,251,114,255,255,0,150,254,76,4,38,0,254,0,39,2,207,0,218,251,114,0,7,2,207,255,34,251,114,255,255,0,200,2,218,4,88,5,140,0,39,2,206,255,34,0,0,0,7,2,206,0,218,0,0,255,255,0,150,2,218,4,38,5,140,0,39,2,207,0,218,0,0,0,7,2,207,255,34,0,0,0,1,1,166,2,218,3,126,5,140,0,3,0,12,181,1,0,106,1,16,114,0,43,43,48,49,1,1,51,3,1,166,1,54,162,190,2,218,2,178,253,78,0,1,1,116,2,218,3,76,5,140,0,3,0,12,181,1,0,106,1,16,114,0,43,43,48,49,1,19,33,1,1,116,190,1,26,254,202,2,218,2,178,253,78,0,255,255,1,140,2,218,3,100,5,140,0,71,2,207,4,216,0,0,192,0,64,0,0,2,0,76,0,74,4,60,3,216,0,7,0,15,0,38,64,23,12,3,4,106,15,0,7,106,1,6,5,2,14,13,9,10,8,8,3,0,105,11,3,0,47,51,43,50,23,57,43,50,43,50,48,49,37,1,53,1,21,5,21,5,5,1,53,1,21,5,21,5,4,60,254,24,1,232,254,212,1,44,253,248,254,24,1,232,254,212,1,44,74,1,128,142,1,128,230,216,18,216,230,1,128,142,1,128,230,216,18,216,0,2,0,116,0,74,4,100,3,216,0,7,0,15,0,46,64,29,13,12,106,13,5,8,9,106,8,6,7,3,4,15,14,10,11,8,5,0,1,106,5,0,105,5,4,106,5,0,47,43,43,43,18,23,57,51,43,17,51,43,48,49,37,53,37,53,37,53,1,21,1,53,37,53,37,53,1,21,2,124,1,44,254,212,1,232,252,16,1,44,254,212,1,232,74,230,216,18,216,230,254,128,142,254,128,230,216,18,216,230,254,128,142,0,0,1,0,236,0,74,3,166,3,216,0,7,0,28,64,16,5,6,2,1,4,3,0,7,106,3,0,105,3,4,106,3,0,47,43,43,43,18,23,57,48,49,37,1,53,1,21,5,21,5,3,166,253,70,2,186,254,42,1,214,74,1,128,142,1,128,220,226,18,226,0,1,1,10,0,74,3,196,3,216,0,7,0,28,64,16,6,3,2,7,4,5,0,1,106,5,0,105,5,4,106,5,0,47,43,43,43,18,23,57,48,49,37,53,37,53,37,53,1,21,1,10,1,214,254,42,2,186,74,220,226,18,226,220,254,128,142,0,255,255,1,26,3,12,3,150,5,140,0,39,2,214,255,56,0,0,0,7,2,214,0,204,0,0,0,1,1,226,3,12,2,202,5,140,0,3,0,12,181,1,0,106,1,16,114,0,43,43,48,49,1,3,51,3,1,246,20,232,20,3,12,2,128,253,128,0,0,2,252,104,2,104,3,152,3,34,0,3,0,7,0,16,183,0,5,4,106,1,5,147,114,0,43,50,43,50,48,49,19,53,33,21,33,53,33,21,120,3,32,248,208,3,12,2,104,186,186,186,186,0,0,3,247,184,2,104,3,152,3,34,0,3,0,7,0,11,0,27,64,13,1,9,9,5,0,8,8,5,4,106,5,147,114,0,43,43,50,17,51,17,51,17,51,48,49,19,53,33,21,33,53,33,21,33,53,33,21,120,3,32,244,32,3,12,1,74,3,32,2,104,186,186,186,186,186,186,0,2,247,184,0,112,3,192,5,24,0,15,0,19,0,38,64,24,6,15,14,7,4,13,1,0,106,16,1,105,17,16,106,12,13,106,17,12,105,17,147,114,0,43,43,43,43,43,43,17,23,57,48,49,55,53,62,3,55,17,46,3,39,53,1,21,5,53,33,21,6,167,211,122,63,19,20,67,124,209,162,3,186,243,248,10,202,112,240,71,85,44,17,1,1,20,2,14,43,86,73,240,253,234,122,34,188,188,0,2,252,104,254,202,3,12,6,194,0,3,0,7,0,21,64,12,5,4,105,5,149,114,1,0,106,1,147,114,0,43,43,43,43,48,49,1,53,33,21,3,17,51,17,252,104,6,24,60,200,2,104,186,186,252,98,7,248,248,8,0,0,2,252,104,0,112,3,192,5,24,0,15,0,19,0,38,64,24,6,15,14,7,4,13,1,0,106,16,1,105,17,16,106,12,13,106,17,12,105,17,147,114,0,43,43,43,43,43,43,17,23,57,48,49,55,53,62,3,55,17,46,3,39,53,1,21,5,53,33,21,6,167,211,123,63,18,20,67,124,209,162,3,186,248,168,6,26,112,230,74,90,46,17,1,1,20,2,14,43,86,73,240,253,234,122,34,188,188,0,3,247,184,0,112,3,192,5,24,0,7,0,11,0,27,0,52,64,33,7,2,3,18,19,27,26,6,8,5,0,5,24,25,106,4,9,24,105,0,13,12,106,1,8,13,105,9,8,106,9,147,114,0,43,43,43,50,43,50,43,50,43,50,17,18,23,57,48,49,55,53,1,53,1,53,1,21,5,53,33,21,1,53,62,3,55,17,46,3,39,53,1,21,6,2,138,253,118,3,186,243,248,7,88,253,132,167,211,122,63,19,20,67,124,209,162,3,186,112,240,1,92,18,1,90,240,253,234,122,34,188,188,254,10,240,68,84,46,19,1,1,20,2,14,42,87,73,240,253,234,122,0,2,252,104,0,112,3,152,5,24,0,7,0,11,0,36,64,23,7,0,106,8,7,105,1,2,5,6,4,9,8,106,4,3,106,9,4,105,9,147,114,0,43,43,43,43,23,57,43,43,48,49,37,1,53,1,21,1,21,1,1,53,33,21,3,152,252,70,3,186,253,118,2,138,248,208,3,184,112,2,24,122,2,22,240,254,166,18,254,164,1,16,168,168,0,3,247,184,0,112,3,152,5,24,0,3,0,11,0,19,0,48,64,31,7,16,15,106,8,1,16,105,4,19,12,106,11,0,19,105,13,14,18,17,5,6,9,10,8,1,0,106,1,147,114,0,43,43,23,57,43,50,43,50,43,50,43,50,48,49,1,53,33,21,1,1,53,1,21,1,21,1,5,1,53,1,21,1,21,1,247,184,5,52,6,172,252,70,3,186,253,118,2,138,252,204,252,70,3,186,253,118,2,138,2,102,188,188,254,10,2,24,122,2,22,240,254,166,18,254,164,240,2,24,122,2,22,240,254,166,18,254,164,0,0,2,252,104,2,35,3,232,3,209,0,29,0,33,0,35,64,20,6,15,106,21,0,106,6,30,21,21,30,25,105,11,31,30,106,31,147,114,0,43,43,50,43,57,47,18,57,43,43,48,49,1,34,38,39,38,38,35,34,6,21,21,35,53,52,54,51,50,22,23,22,22,51,50,54,53,53,51,21,20,6,37,53,33,21,2,228,74,129,62,57,113,60,55,50,204,138,152,77,138,60,58,99,55,45,40,202,123,248,251,4,36,2,35,62,37,35,61,42,47,27,17,158,142,62,37,35,61,57,62,110,100,173,157,79,186,186,0,0,6,252,120,255,56,3,218,6,84,0,27,0,31,0,35,0,39,0,43,0,47,0,65,64,44,45,39,30,34,43,40,29,35,44,36,10,32,41,32,28,38,37,106,46,47,106,31,33,46,38,4,41,28,105,41,150,114,0,21,106,8,0,105,8,15,106,8,154,114,0,43,43,43,43,43,43,23,57,43,43,17,51,17,18,23,57,48,49,7,34,36,2,17,16,18,36,51,50,22,23,7,38,38,35,32,0,17,16,0,33,50,54,55,23,6,6,1,1,55,1,5,39,1,23,7,37,55,5,7,3,51,3,7,39,37,23,140,242,254,170,180,180,1,86,242,27,54,27,20,17,34,17,254,236,254,214,1,42,1,20,20,39,19,20,29,60,3,67,254,230,112,1,80,253,150,166,1,80,112,82,254,50,74,1,184,100,34,216,34,48,52,1,184,74,200,215,1,153,1,36,1,32,1,148,212,1,4,180,4,1,254,132,254,168,254,162,254,126,2,5,180,5,2,1,202,1,134,96,254,166,140,140,1,90,96,22,132,204,196,70,1,224,254,32,70,140,196,204,0,0,2,252,64,254,202,2,188,6,194,0,53,0,57,0,41,64,25,55,54,106,55,149,114,37,38,11,10,106,11,21,0,47,106,21,0,105,21,28,106,21,154,114,0,43,43,43,43,18,57,43,57,57,43,43,48,49,5,34,38,53,52,54,53,52,38,38,35,53,50,54,54,53,52,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,21,20,6,7,21,22,22,21,20,6,21,20,22,51,50,54,55,23,6,6,5,17,51,17,254,222,210,232,2,81,108,41,39,109,82,2,232,210,93,144,33,24,63,115,50,120,126,6,117,105,105,117,6,126,120,50,115,63,24,52,125,2,185,200,214,226,204,69,135,72,56,63,25,158,34,64,46,75,132,69,197,215,11,9,170,5,5,122,110,71,130,71,99,109,2,34,2,113,95,74,130,68,119,131,6,4,170,9,11,96,7,248,248,8,0,0,5,252,67,255,42,3,152,6,90,0,54,0,58,0,62,0,66,0,70,0,62,64,38,66,65,106,57,58,106,45,16,17,44,4,57,66,57,66,57,68,67,68,60,2,114,67,59,8,114,0,7,106,33,0,105,33,26,106,33,154,114,0,43,43,43,43,43,50,43,50,17,18,57,57,47,47,18,23,57,43,43,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,53,52,54,55,53,38,38,53,52,54,53,52,38,35,34,6,7,39,54,54,51,50,22,21,20,6,21,20,30,2,51,21,34,6,6,21,20,22,21,20,6,19,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,252,237,58,79,33,24,35,65,28,71,75,46,138,124,124,138,46,75,71,28,65,35,24,33,79,58,163,179,42,57,87,92,34,48,127,95,42,179,125,5,139,252,158,120,176,120,253,46,5,132,254,82,120,176,120,214,11,9,170,4,6,99,91,83,158,91,95,113,2,34,2,109,99,87,158,87,82,90,5,5,170,9,11,183,169,84,160,92,42,64,45,23,98,31,75,68,88,164,84,175,195,2,62,170,170,254,152,5,140,250,116,3,122,170,170,252,134,5,140,250,116,0,0,4,253,108,254,202,2,142,6,194,0,3,0,7,0,11,0,15,0,35,64,21,13,15,106,13,149,114,10,11,106,10,1,7,6,106,7,1,3,105,1,153,114,0,43,43,50,43,17,51,43,43,43,48,49,5,17,51,17,35,53,33,21,1,53,33,21,1,17,51,17,253,108,202,20,2,154,253,102,2,154,1,10,200,200,7,28,248,228,176,176,6,108,176,176,249,38,7,248,248,8,0,0,7,252,63,255,42,3,152,6,98,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,55,64,33,21,22,106,16,26,21,105,26,25,106,19,26,153,114,15,14,106,6,7,106,15,6,15,6,2,11,3,8,114,10,2,2,114,0,43,50,43,50,17,57,57,47,47,43,43,43,50,43,43,50,43,48,49,33,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,35,17,51,3,33,53,33,17,33,53,33,1,234,120,176,120,251,194,5,60,252,158,120,176,120,253,118,5,60,251,25,200,200,180,254,66,1,190,254,66,1,190,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,251,176,7,56,248,200,190,5,188,190,0,2,252,216,2,48,3,152,3,88,0,3,0,15,0,21,64,12,10,4,106,1,10,105,1,0,106,1,147,114,0,43,43,43,43,48,49,3,53,33,21,5,34,38,53,52,54,51,50,22,21,20,6,180,4,76,249,212,61,87,87,61,62,86,86,2,102,186,186,54,87,61,62,86,86,62,61,87,255,255,253,160,255,236,2,96,1,20,0,39,2,165,251,220,0,0,0,7,2,165,255,116,0,0,255,255,249,244,255,236,1,92,1,20,0,39,2,165,248,48,0,0,0,39,2,165,251,80,0,0,0,7,2,165,254,112,0,0,0,4,247,236,1,110,3,152,4,28,0,3,0,7,0,19,0,31,0,35,64,21,26,20,106,14,8,106,26,14,1,4,5,106,1,4,105,1,0,106,1,148,114,0,43,43,43,43,18,57,57,43,43,48,49,1,53,33,21,1,53,33,21,37,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,254,12,5,140,250,116,5,140,244,232,61,87,87,61,62,86,86,2,196,61,87,87,61,62,86,86,3,98,186,186,254,12,186,186,194,87,61,62,86,86,62,61,87,87,61,62,86,86,62,61,87,0,3,248,40,0,214,3,152,4,180,0,7,0,19,0,31,0,47,64,29,14,8,106,26,20,106,14,26,0,4,3,106,2,4,106,7,0,106,1,7,106,6,5,2,1,106,2,151,114,0,43,43,57,57,43,43,43,43,17,57,57,43,43,48,49,37,1,53,1,21,1,21,1,37,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,152,251,142,4,114,252,164,3,92,245,36,61,87,87,61,62,86,86,3,168,61,87,87,61,62,86,86,214,1,138,202,1,138,220,254,246,18,254,246,108,87,61,62,86,86,62,61,87,87,61,62,86,86,62,61,87,255,255,253,120,255,236,3,38,5,160,0,39,2,165,251,180,0,0,0,7,2,172,255,16,0,0,0,3,252,216,1,110,3,152,4,28,0,3,0,7,0,19,0,29,64,17,14,8,106,14,1,4,5,106,1,4,105,1,0,106,1,148,114,0,43,43,43,43,18,57,43,48,49,3,53,33,21,1,53,33,21,37,34,38,53,52,54,51,50,22,21,20,6,100,3,252,252,4,3,252,249,212,61,87,87,61,62,86,86,3,98,186,186,254,12,186,186,194,87,61,62,86,86,62,61,87,255,255,253,160,255,236,2,96,4,56,0,39,2,167,251,220,0,0,0,7,2,167,255,116,0,0,255,255,249,244,255,236,1,92,4,56,0,39,2,167,248,48,0,0,0,39,2,167,251,80,0,0,0,7,2,167,254,112,0,0,0,6,247,236,0,160,3,152,4,236,0,3,0,7,0,19,0,31,0,43,0,55,0,45,64,28,32,14,8,106,38,1,14,105,50,20,26,106,44,4,20,105,4,5,106,1,4,105,1,0,106,1,148,114,0,43,43,43,43,43,50,43,50,43,50,43,50,48,49,1,53,33,21,1,53,33,21,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,254,12,5,140,250,116,5,140,247,234,61,87,87,61,62,86,86,62,61,87,87,61,62,86,86,252,192,61,87,87,61,62,86,86,62,61,87,87,61,62,86,86,3,98,186,186,254,12,186,186,2,86,87,61,62,86,86,62,61,87,252,220,87,61,62,86,86,62,61,87,3,36,87,61,62,86,86,62,61,87,252,220,87,61,62,86,86,62,61,87,0,0,4,252,216,0,160,3,152,4,236,0,3,0,7,0,19,0,31,0,37,64,24,14,8,106,1,14,105,20,26,106,4,20,105,4,5,106,1,4,105,1,0,106,1,148,114,0,43,43,43,43,43,43,43,43,48,49,3,53,33,21,1,53,33,21,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,200,4,96,251,160,4,96,249,212,61,87,87,61,62,86,86,62,61,87,87,61,62,86,86,3,58,186,186,254,12,186,186,2,126,87,61,62,86,86,62,61,87,252,220,87,61,62,86,86,62,61,87,0,0,3,252,216,0,160,3,194,4,236,0,7,0,19,0,31,0,53,64,34,2,3,7,6,20,26,106,0,20,105,1,0,106,7,1,106,6,7,106,14,8,106,5,14,105,4,5,106,6,4,106,6,151,114,0,43,43,43,43,43,43,43,43,43,43,17,18,57,57,48,49,39,53,1,53,1,53,1,21,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,156,3,52,252,204,4,94,249,170,61,87,87,61,62,86,86,62,61,87,87,61,62,86,86,214,220,1,10,18,1,10,220,254,118,202,1,100,87,61,62,86,86,62,61,87,252,220,87,61,62,86,86,62,61,87,0,3,252,224,0,160,3,152,4,236,0,7,0,19,0,31,0,53,64,34,6,5,1,2,14,8,106,3,14,105,4,3,106,2,4,106,20,26,106,0,20,105,7,0,106,1,7,106,2,1,106,2,151,114,0,43,43,43,43,43,43,43,43,43,43,17,18,57,57,48,49,37,1,53,1,21,1,21,1,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,152,251,162,4,94,252,204,3,52,249,220,61,87,87,61,62,86,86,62,61,87,87,61,62,86,86,214,1,138,202,1,138,220,254,246,18,254,246,2,18,87,61,62,86,86,62,61,87,252,220,87,61,62,86,86,62,61,87,255,255,248,210,255,66,3,32,6,74,0,39,2,167,247,14,0,0,0,39,2,181,254,192,0,0,0,7,2,181,251,0,0,0,255,255,253,136,254,76,2,120,4,56,0,39,2,168,251,246,0,0,0,6,2,168,140,0,255,255,253,160,255,236,2,96,5,150,0,39,2,170,251,220,0,0,0,7,2,170,255,116,0,0,255,255,248,200,255,236,2,136,5,150,0,39,2,170,247,4,0,0,0,39,2,170,251,100,0,0,0,6,2,165,156,0,0,3,252,4,255,156,3,252,5,240,0,3,0,7,0,11,0,29,64,18,4,5,106,4,0,105,9,4,105,9,8,106,9,1,105,9,148,114,0,43,43,43,43,43,43,48,49,5,1,51,1,1,53,33,21,1,53,33,21,253,252,3,46,202,252,210,253,62,7,248,248,8,7,248,100,6,84,249,172,1,210,186,186,1,244,186,186,0,0,4,247,84,255,156,3,252,5,240,0,3,0,7,0,11,0,15,0,37,64,24,13,1,105,12,13,106,9,12,105,4,0,105,5,4,106,8,5,105,9,8,106,9,147,114,0,43,43,43,43,43,43,43,43,48,49,5,1,51,1,1,53,33,21,1,53,33,21,1,53,33,21,251,204,3,46,202,252,210,250,190,12,168,243,88,12,168,243,88,12,168,100,6,84,249,172,1,50,186,186,1,154,186,186,1,154,186,186,0,255,255,252,220,255,236,2,136,5,160,0,39,2,172,252,64,0,0,0,6,2,165,156,0,255,255,252,220,255,236,2,136,5,160,0,39,2,172,252,64,0,0,0,6,2,167,156,0,255,255,252,66,255,236,3,108,5,160,0,39,2,172,251,166,0,0,0,7,2,172,255,86,0,0,0,5,252,22,255,236,3,152,5,160,0,3,0,9,0,31,0,39,0,51,0,54,64,36,33,24,17,32,14,27,6,36,46,10,105,40,46,106,40,9,114,37,36,20,106,36,3,114,3,2,106,8,3,105,8,9,106,8,148,114,0,43,43,43,43,43,43,50,43,43,43,17,23,57,48,49,3,53,33,21,1,54,54,55,33,21,1,53,52,54,55,54,54,53,52,38,35,55,50,22,21,20,6,7,6,6,21,21,1,39,54,36,51,7,34,6,19,34,38,53,52,54,51,50,22,21,20,6,98,3,250,252,60,23,34,7,3,132,249,214,82,82,81,81,100,92,2,195,215,111,111,64,64,254,110,138,70,1,3,151,2,94,182,244,61,87,87,61,62,86,86,1,110,186,186,1,244,41,102,43,186,254,102,96,99,151,52,50,119,69,75,83,190,177,161,111,182,71,42,99,59,82,2,110,143,99,120,190,94,251,104,87,61,62,86,86,62,61,87,0,0,6,252,139,255,56,3,218,6,84,0,25,0,29,0,33,0,37,0,41,0,45,0,65,64,44,34,42,33,27,41,38,32,28,43,37,10,39,30,36,35,106,44,45,106,31,29,44,36,4,26,26,39,30,105,39,150,114,0,7,106,20,0,105,20,13,106,20,154,114,0,43,43,43,43,43,43,50,18,23,57,43,43,17,18,23,57,48,49,23,34,38,39,55,22,22,51,32,0,17,16,0,33,34,6,7,39,54,54,51,32,0,17,16,0,1,1,55,1,5,39,1,23,7,37,55,5,7,3,51,3,7,39,37,23,222,29,60,29,20,20,39,19,1,19,1,43,254,213,254,237,17,34,17,20,27,54,27,1,108,1,144,254,112,253,11,254,230,112,1,80,253,150,166,1,80,112,82,254,50,74,1,184,100,34,216,34,48,52,1,184,74,200,2,5,180,5,2,1,130,1,94,1,88,1,124,1,4,180,4,1,254,39,254,81,254,75,254,33,1,202,1,134,96,254,166,140,140,1,90,96,22,132,204,196,70,1,224,254,32,70,140,196,204,255,255,251,252,1,2,4,4,4,152,0,39,2,176,251,142,0,0,0,6,2,176,198,0,255,255,247,76,1,2,4,4,5,196,0,38,2,176,198,0,0,39,2,176,246,222,0,0,0,7,2,176,251,90,1,44,255,255,251,252,0,214,3,238,4,180,0,39,2,176,251,142,0,0,0,6,3,73,158,0,255,255,251,252,255,66,4,38,6,74,0,39,2,176,251,142,0,0,0,6,2,181,198,0,0,5,252,104,255,56,3,210,6,84,0,3,0,7,0,11,0,15,0,33,0,51,64,31,16,31,106,22,16,105,22,24,106,22,154,114,12,13,106,9,8,106,12,9,12,9,4,1,5,2,114,0,4,8,114,0,43,50,43,50,18,57,57,47,47,43,43,43,43,43,43,48,49,33,19,51,3,33,19,51,3,1,53,33,21,1,53,33,21,1,32,0,17,16,0,33,51,7,35,34,0,17,16,0,51,51,23,254,162,120,176,120,253,156,120,176,120,254,202,5,60,250,196,5,60,1,254,254,187,254,153,1,103,1,69,48,20,8,237,254,255,1,1,237,8,20,5,140,250,116,5,140,250,116,1,104,170,170,2,18,170,170,251,190,1,223,1,181,1,175,1,217,180,254,132,254,168,254,162,254,126,180,0,5,252,84,255,42,3,228,6,90,0,54,0,58,0,62,0,66,0,70,0,60,64,37,67,68,106,60,59,106,10,39,38,11,4,60,67,60,67,60,55,64,56,2,114,63,55,8,114,0,48,106,22,0,105,22,29,106,22,154,114,0,43,43,43,43,43,50,43,50,18,57,57,47,47,18,23,57,43,43,48,49,5,34,38,53,52,54,53,52,38,38,35,53,50,62,2,53,52,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,21,20,6,7,21,22,22,21,20,6,21,20,22,51,50,54,55,23,6,6,37,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,3,58,163,179,42,95,127,48,35,91,87,57,42,179,163,59,78,33,24,35,65,28,71,75,46,138,124,124,138,46,75,71,28,65,35,24,33,78,249,101,120,176,120,254,202,5,220,252,94,120,176,120,253,22,5,220,214,195,175,92,179,95,56,63,25,98,19,37,54,34,100,175,91,169,183,11,9,170,5,5,90,82,87,158,87,99,109,2,34,2,113,95,91,158,83,91,99,6,4,170,9,11,214,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,0,0,7,252,104,255,42,3,194,6,98,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,57,64,34,23,16,23,22,106,17,16,105,26,27,106,26,17,153,114,12,13,106,9,8,106,12,9,12,9,4,1,5,2,114,0,4,8,114,0,43,50,43,50,18,57,57,47,47,43,43,43,50,43,43,43,17,51,48,49,33,19,51,3,33,19,51,3,1,53,33,21,1,53,33,21,3,17,51,17,35,53,33,21,1,53,33,21,254,162,120,176,120,253,156,120,176,120,254,202,5,80,250,176,5,80,104,200,20,1,190,254,66,1,190,5,140,250,116,5,140,250,116,1,104,170,170,2,18,170,170,251,176,7,56,248,200,190,190,6,122,190,190,255,255,252,104,0,0,3,2,5,140,0,39,2,178,251,240,0,0,0,7,2,167,0,22,0,180,255,255,252,104,255,236,3,2,5,150,0,39,2,178,251,240,0,0,0,6,2,170,22,0,0,6,252,104,255,236,3,194,5,160,0,30,0,34,0,38,0,42,0,46,0,58,0,66,64,41,26,4,7,23,4,20,53,30,105,47,53,106,47,9,114,14,43,44,106,32,31,106,43,32,43,32,35,40,36,2,114,39,35,8,114,20,10,106,20,3,114,0,43,43,43,50,43,50,18,57,57,47,47,43,43,57,43,43,43,17,23,57,48,49,1,53,52,54,55,54,54,53,52,38,35,34,6,6,21,35,52,62,2,51,50,22,21,20,6,7,6,6,21,21,5,53,33,21,1,19,51,3,33,19,51,3,1,53,33,21,19,34,38,53,52,54,51,50,22,21,20,6,1,160,82,82,81,81,106,96,77,109,58,202,60,115,167,106,200,220,111,111,64,64,250,4,3,232,252,158,120,176,120,1,4,120,176,120,253,22,4,192,222,61,87,87,61,62,86,86,1,200,96,99,151,52,53,123,72,71,77,53,102,73,100,155,107,56,172,156,114,188,72,42,99,59,82,96,170,170,254,152,5,140,250,116,5,140,250,116,3,122,170,170,252,114,87,61,62,86,86,62,61,87,255,255,252,104,0,0,3,152,5,140,0,39,2,178,251,240,0,0,0,7,2,178,255,56,0,0,0,14,247,184,0,0,3,152,5,140,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,35,0,39,0,43,0,47,0,51,0,55,0,119,64,61,54,38,38,22,5,5,20,21,106,55,39,39,23,4,4,20,47,31,31,15,0,0,13,12,106,46,30,30,14,1,1,13,20,13,20,13,16,41,49,49,25,25,33,33,9,9,17,2,114,40,48,48,24,24,32,32,8,8,16,8,114,0,43,50,17,51,17,51,17,51,17,51,43,50,17,51,17,51,17,51,17,51,17,57,57,47,47,17,51,17,51,51,17,51,43,50,17,51,51,17,51,17,51,17,51,51,17,51,43,50,17,51,51,17,51,48,49,1,53,33,21,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,251,38,5,50,250,206,5,50,249,154,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,2,78,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,2,78,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,1,104,170,170,2,18,170,170,252,134,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,252,134,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,252,134,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,0,0,18,243,8,0,0,3,152,5,140,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,35,0,39,0,43,0,47,0,51,0,55,0,59,0,63,0,67,0,71,0,143,64,73,60,44,44,28,28,4,4,13,12,106,61,45,45,29,29,5,5,13,69,53,53,37,37,1,1,20,21,106,68,52,52,36,36,0,0,20,13,20,13,20,16,57,65,65,41,41,49,49,25,25,33,33,9,9,17,2,114,56,64,64,40,40,48,48,24,24,32,32,8,8,16,8,114,0,43,50,17,51,17,51,17,51,17,51,17,51,17,51,43,50,17,51,17,51,17,51,17,51,17,51,17,51,17,57,57,47,47,17,51,17,51,17,51,17,51,43,50,17,51,17,51,17,51,17,51,17,51,17,51,17,51,43,50,17,51,17,51,17,51,48,49,1,53,33,21,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,246,118,9,226,246,30,9,226,244,234,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,2,138,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,2,138,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,2,138,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,3,122,170,170,253,238,170,170,254,152,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,252,134,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,252,134,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,252,134,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,0,0,6,252,104,0,0,3,152,5,140,0,3,0,7,0,11,0,15,0,19,0,23,0,47,64,25,1,20,21,106,0,20,4,13,12,106,5,13,20,13,20,13,16,9,17,2,114,8,16,8,114,0,43,50,43,50,18,57,57,47,47,17,51,43,50,17,51,43,50,48,49,19,53,33,21,1,53,33,21,1,19,51,3,1,53,33,21,1,19,51,3,1,53,33,21,160,2,248,253,8,2,248,251,10,120,176,120,253,22,3,232,252,158,120,176,120,254,202,3,232,3,116,176,176,253,242,176,176,254,154,5,140,250,116,1,104,170,170,254,152,5,140,250,116,3,122,170,170,0,5,252,104,255,80,3,192,5,140,0,3,0,7,0,11,0,15,0,19,0,41,64,23,16,17,106,5,4,106,16,5,16,5,8,1,9,2,114,12,8,0,105,13,8,8,114,0,43,50,43,50,43,50,18,57,57,47,47,43,43,48,49,5,19,51,3,1,53,33,21,1,19,51,3,5,55,33,21,1,53,33,21,254,148,134,176,134,253,36,3,232,252,158,120,176,120,1,54,2,4,234,248,168,3,232,176,6,60,249,196,2,24,170,170,254,152,5,140,250,116,176,176,176,4,42,170,170,0,6,247,184,255,80,3,212,6,84,0,19,0,23,0,27,0,31,0,35,0,39,0,59,64,34,32,33,106,21,20,106,32,21,32,21,24,29,25,2,114,18,1,2,37,37,28,0,24,36,105,24,8,114,9,11,106,9,154,114,0,43,43,43,43,50,50,51,17,51,57,57,43,50,18,57,57,47,47,43,43,48,49,5,37,53,34,38,2,53,16,0,33,51,7,35,34,0,17,16,0,51,51,1,53,33,21,1,19,51,3,23,19,51,3,1,53,33,21,1,53,33,23,3,206,254,150,86,168,110,1,103,1,69,48,20,8,237,254,255,1,1,237,8,243,248,3,232,252,158,120,176,120,246,134,176,134,253,36,3,232,254,132,8,192,234,176,130,66,163,1,55,222,1,175,1,217,180,254,132,254,168,254,157,254,121,1,134,170,170,254,152,5,140,250,116,176,6,60,249,196,4,42,170,170,251,214,176,176,0,255,255,252,48,255,66,4,4,6,74,0,39,2,181,251,200,0,0,0,6,2,176,198,0,0,3,252,48,255,66,3,154,6,74,0,3,0,7,0,11,0,29,64,18,9,11,106,9,152,114,3,2,106,6,3,105,6,7,106,6,148,114,0,43,43,43,43,43,43,48,49,1,55,33,21,1,55,33,21,1,1,51,1,254,204,90,4,116,252,24,90,3,142,248,150,3,36,212,252,220,1,110,186,186,1,244,186,186,251,224,7,8,248,248,0,5,247,128,255,66,3,152,6,74,0,3,0,7,0,11,0,15,0,19,0,37,64,22,17,19,106,17,152,114,7,14,15,106,2,11,10,106,3,14,11,105,6,14,148,114,0,43,50,43,50,43,50,43,50,43,43,48,49,1,55,33,21,1,55,33,21,19,53,33,21,1,53,33,21,1,1,51,1,250,28,90,4,116,252,24,90,3,142,158,4,16,251,240,4,16,243,232,3,36,212,252,220,1,110,186,186,1,244,186,186,254,12,186,186,1,244,186,186,251,224,7,8,248,248,0,0,2,252,48,255,66,3,238,6,74,0,7,0,11,0,45,64,28,2,3,7,6,9,11,106,9,152,114,1,0,106,7,1,106,6,7,106,4,5,106,6,4,105,6,151,114,0,43,43,43,43,43,43,43,43,17,18,57,57,48,49,55,53,1,53,1,53,1,21,1,1,51,1,48,2,188,252,50,4,208,248,66,3,36,212,252,220,214,220,1,10,18,1,128,215,254,5,202,252,226,7,8,248,248,255,255,252,98,255,66,3,204,6,74,0,39,2,181,251,250,0,0,0,7,2,181,255,108,0,0,255,255,247,218,255,66,3,172,6,74,0,39,2,181,255,76,0,0,0,39,2,181,247,114,0,0,0,7,2,181,251,110,0,0,255,255,252,98,255,66,3,204,6,74,0,39,2,182,251,250,0,0,0,7,2,182,255,108,0,0,0,2,247,184,255,80,3,152,6,224,0,3,0,7,0,19,64,10,5,149,114,7,2,3,106,2,8,114,0,43,43,57,43,48,49,5,53,33,21,37,17,51,17,247,184,11,224,249,172,200,176,176,176,56,7,88,248,168,0,1,252,104,255,80,3,152,0,0,0,3,0,12,181,1,0,106,1,8,114,0,43,43,48,49,5,53,33,21,252,104,7,48,176,176,176,0,255,255,1,196,3,16,2,236,4,56,2,7,2,165,0,0,3,36,255,255,1,146,254,76,2,236,4,56,2,6,2,168,0,0,0,5,0,160,254,192,4,110,6,204,0,3,0,21,0,25,0,29,0,47,0,48,64,28,26,27,14,30,4,13,31,105,13,13,22,40,23,39,106,1,23,2,114,22,5,106,4,0,96,22,8,114,0,43,26,206,51,43,43,206,43,51,18,57,47,43,23,57,48,49,1,17,51,17,1,53,33,50,54,53,52,38,35,33,39,33,50,22,21,20,6,35,33,17,51,17,3,53,33,21,37,53,51,50,54,53,52,38,35,35,39,33,50,22,21,20,6,35,2,2,138,254,206,1,44,132,146,152,140,254,230,24,1,100,216,236,224,206,253,224,200,82,1,160,254,164,240,113,125,131,121,222,24,1,0,216,236,224,206,254,192,8,12,247,244,1,64,190,121,109,112,123,91,186,170,186,204,5,140,250,116,2,186,98,98,56,91,101,94,92,98,190,187,173,147,159,0,2,0,96,254,192,4,125,6,204,0,3,0,25,0,33,64,18,12,13,4,9,16,105,1,9,3,114,4,21,105,0,96,4,9,114,0,43,26,205,43,43,205,43,18,57,57,48,49,1,17,51,17,3,32,17,16,0,33,50,22,23,7,38,38,35,34,2,17,16,33,50,55,23,6,2,122,138,14,253,106,1,78,1,48,147,218,50,148,45,139,81,193,233,1,226,145,141,46,174,254,192,8,12,247,244,1,44,2,220,1,91,1,125,93,86,147,68,74,254,234,255,0,253,210,60,176,68,0,2,0,136,254,178,4,73,5,114,0,3,0,29,0,27,64,15,10,17,105,1,10,7,114,4,23,105,3,96,4,11,114,0,43,26,205,43,43,205,43,48,49,1,17,51,17,3,32,0,17,16,0,33,50,22,23,7,38,38,35,34,6,21,20,22,51,50,54,55,23,6,6,2,82,138,50,254,251,254,227,1,23,1,3,155,221,47,163,45,140,83,147,163,182,168,80,157,75,24,87,184,254,178,6,192,249,64,1,58,1,29,1,11,1,4,1,32,115,105,123,73,80,181,167,181,191,14,12,186,18,12,0,3,0,96,254,182,4,125,6,180,0,3,0,7,0,29,0,51,64,31,16,17,8,3,13,7,105,2,13,6,105,13,20,106,13,3,114,5,8,1,105,4,8,0,105,8,25,106,8,9,114,0,43,43,43,50,43,50,43,43,43,50,43,50,18,57,57,48,49,1,39,1,23,1,39,1,23,19,32,17,16,0,33,50,22,23,7,38,38,35,34,2,17,16,33,50,55,23,6,2,161,136,1,100,136,253,132,136,1,100,136,9,253,106,1,78,1,48,147,218,50,148,45,139,81,193,233,1,226,145,141,46,174,254,182,24,7,230,24,248,26,24,7,230,24,249,80,2,220,1,91,1,125,93,86,147,68,74,254,234,255,0,253,210,60,176,68,0,0,6,0,72,0,131,4,104,4,235,0,15,0,19,0,23,0,35,0,39,0,43,0,57,64,36,43,37,8,42,105,41,39,40,26,4,8,30,106,19,21,18,22,4,0,24,106,23,17,0,20,105,0,16,105,8,0,105,8,38,105,8,0,47,43,43,43,43,57,57,43,23,57,43,23,57,43,57,57,48,49,1,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,5,39,55,23,5,3,55,23,37,50,54,53,52,38,35,34,6,21,20,22,3,39,55,23,5,39,55,23,2,91,128,191,105,105,191,128,128,191,105,105,191,253,225,116,197,143,2,88,228,128,216,253,243,92,112,112,92,92,112,112,239,200,127,220,1,254,143,215,127,1,44,100,180,120,121,179,100,100,179,121,120,180,100,169,132,207,86,253,1,3,101,228,227,115,95,95,115,115,95,95,115,1,180,209,124,251,82,88,245,124,0,0,2,0,129,254,192,4,37,6,204,0,3,0,43,0,42,64,27,34,21,37,38,18,17,14,41,28,27,10,4,24,31,105,1,24,3,114,4,11,105,3,96,4,9,114,0,43,26,205,43,43,205,43,18,23,57,48,49,1,17,51,17,3,34,38,39,55,22,22,51,50,54,53,52,38,39,39,38,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,23,23,22,22,21,20,6,2,32,138,131,121,211,90,26,110,205,97,140,136,67,63,246,145,155,224,205,143,220,102,140,88,153,83,103,113,74,72,208,158,164,251,254,192,8,12,247,244,1,44,39,39,202,47,49,98,100,66,92,28,112,66,186,138,186,204,84,95,142,72,65,99,97,69,87,34,98,74,186,146,193,193,0,0,4,0,96,254,182,4,114,5,220,0,3,0,7,0,33,0,38,0,57,64,37,17,19,29,30,35,5,8,14,2,3,106,38,2,105,38,11,114,4,5,106,4,14,36,0,114,14,21,106,14,7,114,8,26,106,8,11,114,0,43,43,43,43,43,18,57,43,43,43,43,17,18,23,57,48,49,19,53,33,21,1,53,33,21,1,34,2,17,16,18,51,50,22,23,51,3,16,33,34,6,21,16,51,32,53,53,19,35,6,6,55,39,17,51,17,166,3,98,253,198,2,164,253,148,201,221,222,202,128,139,13,82,62,254,242,117,127,246,1,12,72,92,10,152,204,22,212,254,182,176,176,6,12,174,174,251,42,1,23,1,5,1,11,1,37,105,107,254,240,1,48,198,182,254,152,180,116,254,220,91,93,10,208,5,22,250,36,0,3,0,79,255,236,4,125,5,160,0,21,0,25,0,29,0,38,64,24,26,27,106,23,22,106,23,26,9,8,4,0,5,12,106,5,3,114,0,17,106,0,11,114,0,43,43,43,43,18,23,57,43,43,48,49,5,32,17,16,0,33,50,22,23,7,38,38,35,34,2,17,16,33,50,55,23,6,1,53,33,21,1,53,33,21,3,10,253,186,1,30,1,6,144,212,49,168,40,123,72,153,183,1,146,136,130,46,166,252,145,3,50,252,206,3,50,20,2,220,1,91,1,125,115,104,127,77,85,254,234,255,0,253,210,60,176,68,1,255,138,138,1,34,138,138,0,5,0,62,0,0,4,55,5,159,0,21,0,25,0,29,0,33,0,37,0,53,64,32,32,33,25,36,37,106,28,25,36,105,29,25,24,106,25,8,114,9,10,6,0,19,105,6,0,105,6,13,106,6,3,114,0,43,43,43,43,18,57,57,43,43,51,43,50,43,18,57,57,48,49,1,34,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,51,51,21,3,53,33,21,33,17,51,17,3,53,33,21,1,53,33,21,1,252,213,233,230,208,116,140,57,133,29,93,56,105,115,131,119,96,109,2,48,253,208,185,185,1,204,254,52,2,48,2,43,228,208,214,234,74,66,143,44,49,135,123,117,129,190,253,213,186,186,3,112,252,144,1,92,186,186,1,90,186,186,0,3,0,78,254,35,4,110,5,160,0,12,0,25,0,29,0,37,64,21,28,29,106,12,20,13,28,28,3,13,14,106,13,15,114,3,9,106,3,3,114,0,43,43,43,43,18,57,47,18,57,57,43,48,49,1,17,16,33,50,23,7,38,38,35,32,17,17,1,39,55,54,54,53,17,51,17,20,6,6,7,3,53,33,21,1,156,1,246,114,106,22,63,96,45,254,228,253,232,10,108,118,108,212,96,202,160,88,3,212,1,104,2,18,2,38,20,184,8,6,254,162,253,228,252,187,188,15,17,156,163,1,66,254,222,189,234,120,19,4,8,174,174,0,0,4,0,30,0,0,4,76,5,140,0,3,0,7,0,11,0,15,0,33,64,18,11,10,106,2,3,11,11,7,14,15,106,6,14,2,114,7,8,114,0,43,43,50,43,18,57,47,57,57,43,48,49,55,53,33,21,5,17,51,17,3,53,33,21,1,53,33,21,30,2,136,253,250,200,200,2,248,253,8,3,172,231,138,138,231,5,140,250,116,2,44,190,190,2,162,190,190,0,4,0,96,254,192,4,126,6,204,0,7,0,33,0,37,0,41,0,49,64,27,39,38,106,35,17,18,14,39,39,8,14,21,105,1,14,3,114,31,37,8,27,105,0,96,8,9,114,0,43,26,205,43,57,57,43,205,43,18,57,47,18,57,57,51,43,48,49,1,17,51,17,21,17,21,17,3,32,0,17,16,0,33,50,22,23,7,38,38,35,34,2,21,16,18,51,50,54,55,23,6,6,55,17,51,17,1,53,33,21,2,112,138,30,254,194,254,194,1,74,1,42,149,224,53,149,46,139,80,202,224,224,222,95,145,46,78,42,211,63,190,254,32,1,218,254,192,8,12,251,205,62,254,2,78,254,177,1,44,1,110,1,110,1,91,1,125,93,85,148,68,74,254,233,255,254,233,254,233,37,13,174,13,47,60,2,158,253,98,1,224,190,190,0,5,0,70,255,236,4,106,5,160,0,19,0,40,0,44,0,48,0,52,0,59,64,35,47,46,19,3,18,49,50,106,28,48,27,3,26,42,41,106,10,9,49,42,49,42,13,20,34,106,20,9,114,13,6,106,13,3,114,0,43,43,43,43,18,57,57,47,47,57,57,43,50,23,57,43,50,23,57,48,49,1,54,54,53,52,38,35,34,6,7,39,54,36,51,50,22,21,20,7,21,1,34,38,53,52,54,55,53,23,6,6,21,20,22,51,50,54,55,23,6,6,1,53,33,21,37,1,51,1,1,53,33,21,2,181,63,63,97,89,82,186,86,140,100,1,8,141,185,204,149,254,237,222,244,79,79,151,48,47,134,122,95,225,112,26,94,242,253,103,4,36,252,216,1,129,126,254,127,254,134,4,36,3,72,47,110,63,94,102,72,65,142,86,93,141,129,124,97,48,252,103,139,127,55,106,34,84,45,34,73,41,80,88,50,46,202,37,41,1,225,148,148,54,1,74,254,182,1,10,148,148,0,5,0,0,0,0,4,176,5,140,0,3,0,7,0,19,0,23,0,27,0,39,64,20,1,5,9,8,106,26,21,25,9,5,5,20,14,21,2,114,24,20,8,114,0,43,50,43,50,18,57,47,57,57,18,57,43,17,51,48,49,1,53,33,21,33,53,33,21,7,55,50,54,54,18,53,51,20,2,2,4,1,17,51,17,33,1,55,1,2,188,1,244,251,80,1,41,11,18,154,224,145,71,206,110,210,254,208,254,192,200,2,58,254,152,180,1,166,2,89,138,138,138,138,149,198,129,219,1,19,147,189,254,164,254,239,158,254,60,5,140,250,116,2,180,102,252,230,0,4,0,76,0,0,4,100,6,32,0,23,0,27,0,31,0,35,0,43,64,23,0,23,1,24,25,106,31,32,12,12,7,24,8,114,30,33,7,7,16,106,7,3,114,0,43,43,16,206,50,43,17,57,47,57,57,43,50,50,57,48,49,37,53,38,2,53,16,0,33,50,0,17,21,35,53,52,38,35,34,2,21,20,22,22,51,5,53,33,21,1,17,51,17,51,17,51,17,1,124,137,167,1,27,1,0,243,1,10,200,161,148,162,177,120,218,146,253,94,3,252,253,96,108,122,108,143,69,31,1,16,235,1,73,1,105,254,219,254,245,172,172,189,207,254,237,251,170,254,140,186,186,186,2,196,3,92,252,164,3,92,252,164,0,4,0,109,0,0,4,91,5,160,0,23,0,27,0,31,0,35,0,51,64,29,22,1,27,26,106,32,33,106,29,28,106,11,12,8,32,29,32,29,8,0,27,8,114,8,15,106,8,3,114,0,43,43,43,50,17,57,57,47,47,18,57,57,43,43,43,50,50,48,49,51,53,54,54,53,17,52,54,51,50,22,23,7,38,38,35,34,6,21,17,20,6,7,23,35,53,33,21,1,53,33,21,1,53,33,21,132,81,79,222,196,144,212,49,168,42,128,75,87,109,80,82,100,252,3,136,252,37,3,20,252,236,3,20,186,116,210,115,1,153,194,210,115,104,127,74,80,109,104,254,104,115,212,114,186,186,186,1,215,138,138,1,4,138,138,0,3,0,120,255,236,4,100,5,140,0,16,0,20,0,24,0,43,64,24,23,21,22,106,24,21,20,18,17,106,19,18,21,18,0,4,2,114,0,10,106,0,9,114,0,43,43,43,18,57,57,17,51,43,50,17,51,43,50,48,49,5,34,38,53,17,51,17,20,22,22,51,50,54,55,23,6,6,1,53,37,21,37,53,37,21,2,176,195,173,200,32,94,92,68,151,83,84,109,206,253,79,3,110,252,146,3,110,20,200,220,3,252,252,14,84,106,50,54,54,166,70,62,1,225,148,150,148,180,148,150,148,0,2,0,76,0,0,4,100,5,140,0,13,0,17,0,25,64,13,3,10,105,3,14,15,2,114,13,7,14,8,114,0,43,50,50,43,18,57,43,48,49,51,17,16,33,32,17,17,35,17,16,33,32,17,17,51,17,51,17,76,2,12,2,12,210,254,198,254,198,245,138,2,28,2,88,253,168,253,228,2,28,1,160,254,96,253,228,5,140,250,116,0,0,4,0,0,0,0,4,176,5,140,0,3,0,11,0,15,0,19,0,43,64,22,17,8,8,13,1,0,106,6,13,10,1,1,19,13,2,114,19,4,4,12,8,114,0,43,50,17,51,43,18,57,47,57,18,57,43,17,51,17,51,48,49,17,53,33,21,1,1,35,17,51,1,51,17,33,17,51,17,33,17,51,17,4,176,254,112,254,72,92,132,1,184,50,253,26,192,2,8,192,2,129,138,138,253,127,4,56,1,84,251,200,254,172,5,140,250,116,5,140,250,116,0,3,0,0,0,0,4,176,5,140,0,3,0,21,0,25,0,37,64,20,5,4,106,0,5,1,5,1,5,22,14,23,13,106,23,2,114,22,8,114,0,43,43,43,51,18,57,57,47,47,18,57,43,48,49,17,53,33,21,1,53,51,50,54,53,52,38,35,35,53,51,32,0,21,20,0,33,1,17,51,17,4,176,252,160,242,158,174,174,158,238,238,1,3,1,27,254,229,254,253,254,94,200,3,83,138,138,254,101,190,158,142,143,157,190,254,255,233,234,255,0,254,72,5,140,250,116,0,0,4,0,0,0,0,4,176,5,140,0,3,0,7,0,25,0,29,0,38,64,22,9,8,106,4,5,0,1,4,27,9,9,26,19,27,17,106,27,2,114,26,8,114,0,43,43,43,51,18,57,47,18,23,57,43,48,49,17,53,33,21,5,53,33,21,1,53,51,50,54,53,52,38,35,35,53,51,32,0,21,20,0,33,1,17,51,17,4,176,251,80,4,176,252,160,242,158,174,174,158,238,238,1,3,1,27,254,229,254,253,254,94,200,3,213,138,138,245,138,138,254,216,190,158,142,143,157,190,254,255,233,234,255,0,254,72,5,140,250,116,0,0,4,0,0,0,0,4,96,5,140,0,3,0,7,0,25,0,29,0,43,64,23,4,9,8,106,5,9,0,1,9,1,9,1,26,18,27,17,106,27,2,114,26,8,114,0,43,43,43,51,18,57,57,47,47,17,57,17,51,43,50,48,49,53,53,33,21,1,53,33,21,35,53,51,50,54,53,52,38,35,35,53,51,32,0,21,20,0,33,1,17,51,17,3,20,252,236,1,181,101,242,158,174,174,158,238,238,1,3,1,27,254,229,254,253,254,94,200,161,138,138,1,23,190,190,190,158,142,143,157,190,254,255,233,234,255,0,254,72,5,140,250,116,0,0,4,0,80,255,236,4,150,5,140,0,34,0,38,0,42,0,60,0,60,64,38,36,44,43,106,44,44,39,53,40,52,106,40,2,114,35,39,8,114,9,32,12,29,15,26,6,0,18,23,106,18,7,114,0,6,106,0,11,114,0,43,43,43,43,18,23,57,43,50,43,43,51,18,57,47,43,57,48,49,5,34,39,55,22,22,51,50,54,53,52,38,39,38,38,53,52,54,51,50,23,7,38,35,34,6,21,20,22,23,22,22,21,20,6,37,3,51,19,33,17,51,17,3,53,51,50,54,53,52,38,35,35,53,51,50,22,21,20,6,35,3,110,117,85,24,65,88,25,48,48,68,68,70,76,131,133,93,77,22,68,36,54,54,70,64,74,74,147,253,178,138,175,158,253,216,185,14,57,80,82,82,80,77,77,161,171,171,161,20,20,196,13,13,46,46,33,107,75,77,154,82,146,144,20,184,14,50,50,35,102,74,85,151,67,148,148,20,2,156,253,100,5,140,250,116,2,28,174,135,121,132,144,174,224,206,214,236,0,4,0,164,0,0,4,76,5,140,0,17,0,21,0,25,0,29,0,44,64,24,10,28,16,11,9,27,29,106,19,1,0,106,23,22,27,1,1,21,27,2,114,21,8,114,0,43,43,18,57,47,18,57,57,43,57,43,50,50,63,57,48,49,19,53,33,50,54,53,52,38,35,33,37,21,22,22,21,20,6,35,1,1,51,1,1,53,33,21,1,53,33,21,164,1,108,119,133,133,119,254,148,2,142,82,90,241,221,1,18,254,154,220,1,122,252,146,3,168,252,88,3,160,2,28,190,126,114,125,135,38,58,15,135,110,196,214,253,228,2,156,253,100,3,143,138,138,1,63,190,190,0,6,0,80,0,0,4,96,4,36,0,3,0,7,0,11,0,15,0,19,0,23,0,34,64,18,10,19,14,23,4,2,15,11,0,4,8,114,22,17,6,2,6,114,0,43,50,50,50,43,50,50,50,17,23,57,48,49,33,17,51,17,33,17,51,17,51,53,33,21,33,17,51,17,19,17,51,17,1,53,33,21,3,162,190,251,240,190,109,2,229,253,27,160,122,160,253,27,2,229,4,36,251,220,4,36,251,220,170,170,3,12,252,244,1,24,3,12,252,244,2,98,170,170,0,3,0,109,0,0,4,91,5,160,0,23,0,27,0,31,0,45,64,25,1,22,22,27,26,106,30,31,106,11,12,8,30,30,8,23,27,8,114,8,15,106,8,3,114,0,43,43,43,50,17,57,47,18,57,57,43,43,50,17,51,48,49,51,53,54,54,53,17,52,54,51,50,22,23,7,38,38,35,34,6,21,17,20,6,7,21,35,53,33,21,1,53,33,21,132,81,79,222,196,144,212,49,168,42,128,75,87,109,80,82,152,3,136,252,37,3,20,186,116,210,115,1,153,194,210,115,104,127,74,80,109,104,254,104,115,212,114,186,186,186,2,69,138,138,0,0,3,0,80,0,0,4,96,5,140,0,3,0,7,0,11,0,27,64,16,5,4,106,1,8,5,105,9,8,106,9,2,114,0,8,114,0,43,43,43,43,50,43,48,49,33,17,51,17,1,53,33,21,1,53,33,21,1,244,200,253,148,4,16,251,240,4,16,4,36,251,220,3,102,190,190,1,104,190,190,0,4,0,80,0,0,4,96,5,140,0,3,0,7,0,11,0,15,0,32,64,20,4,5,7,6,0,1,3,2,8,8,13,12,106,9,13,2,114,8,8,114,0,43,43,50,43,18,23,57,48,49,19,53,37,21,1,53,37,21,1,17,51,17,1,53,33,21,161,3,110,252,146,3,110,253,229,200,253,148,4,16,2,159,148,150,148,254,32,148,150,148,254,21,5,140,250,116,4,206,190,190,0,3,0,0,0,0,4,176,5,140,0,3,0,13,0,23,0,51,64,25,10,17,17,9,2,3,106,12,9,19,7,2,4,9,2,9,2,21,4,21,5,4,14,4,12,0,63,51,63,51,17,18,57,57,47,47,17,18,57,57,17,57,43,17,51,17,51,48,49,17,53,33,21,1,3,51,19,51,19,51,7,35,3,51,3,35,39,51,19,51,19,51,3,4,176,252,4,160,210,120,20,131,200,67,40,105,222,105,40,65,200,129,20,120,210,160,2,69,138,138,253,187,5,140,251,20,3,132,198,252,162,3,94,198,252,124,4,236,250,116,0,4,0,25,0,0,4,151,5,140,0,3,0,7,0,15,0,19,0,27,64,16,4,5,8,0,1,17,11,7,9,16,8,114,13,9,2,114,0,43,50,43,17,23,57,48,49,19,53,33,21,1,53,33,21,1,1,51,1,51,1,51,1,3,17,51,17,162,3,110,252,146,3,110,253,243,254,22,220,1,90,18,1,90,220,254,22,185,200,1,245,138,138,254,202,138,138,1,27,3,178,253,58,2,198,252,78,254,38,2,188,253,68,0,255,255,1,48,1,158,3,128,3,238,2,6,2,175,0,0,255,255,0,106,255,66,4,98,6,74,0,6,2,181,2,0,0,3,0,100,0,226,4,76,4,168,0,3,0,7,0,11,0,18,64,9,5,8,9,0,4,1,4,105,1,0,47,43,23,57,48,49,19,53,33,21,1,53,33,21,1,53,33,21,100,3,232,252,24,3,232,252,24,3,232,3,238,186,186,252,244,186,186,1,134,186,186,0,255,255,255,150,1,168,5,26,2,124,2,6,4,56,0,0,0,1,0,68,254,35,2,102,7,16,0,12,0,15,183,0,6,105,0,1,106,0,15,0,63,43,43,48,49,19,39,55,54,54,53,17,51,17,20,6,6,7,78,10,108,118,108,212,96,202,160,254,35,188,15,17,156,163,6,210,249,78,189,234,120,19,0,1,1,146,253,18,4,100,5,160,0,12,0,15,183,3,9,106,3,0,105,3,3,0,63,43,43,48,49,1,17,16,33,50,23,7,38,38,35,32,17,17,1,146,1,246,114,106,22,63,96,45,254,228,253,18,6,104,2,38,20,184,8,6,254,162,249,142,0,2,0,100,1,94,4,76,3,135,0,3,0,7,0,16,183,6,1,3,106,1,7,105,1,0,47,43,43,57,48,49,19,53,33,21,1,17,51,17,100,3,232,252,24,192,2,205,186,186,254,145,1,211,254,45,0,5,0,100,0,0,4,76,5,140,0,3,0,7,0,11,0,15,0,19,0,26,64,16,8,9,12,13,16,17,4,5,8,1,3,8,114,1,2,114,0,43,43,17,23,57,48,49,51,1,51,1,3,53,33,21,1,53,33,21,1,53,33,21,1,53,33,21,142,2,202,202,253,54,244,3,232,252,24,3,232,252,24,3,232,252,24,3,232,5,140,250,116,4,72,166,166,252,94,166,166,1,54,166,166,1,54,166,166,0,0,2,0,100,0,190,4,76,4,204,0,3,0,7,0,21,64,12,4,0,105,5,4,106,5,1,105,5,147,114,0,43,43,43,43,48,49,37,17,51,17,1,53,33,21,1,248,192,253,172,3,232,190,4,14,251,242,1,171,186,186,0,0,1,0,100,2,104,4,76,3,34,0,3,0,12,181,1,0,106,1,147,114,0,43,43,48,49,19,53,33,21,100,3,232,2,104,186,186,0,0,2,0,121,0,188,4,55,4,164,0,3,0,7,0,22,64,11,5,3,7,1,4,4,2,0,105,6,2,0,47,51,43,50,23,57,48,49,55,1,39,1,5,55,1,7,249,3,62,128,252,194,3,62,128,252,194,128,188,3,109,123,252,145,121,121,3,111,123,0,0,3,0,100,0,151,4,76,4,241,0,3,0,15,0,27,0,29,64,18,16,22,106,1,16,105,10,4,106,0,10,105,1,0,106,1,147,114,0,43,43,43,43,43,43,48,49,19,53,33,21,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,100,3,232,254,12,58,83,83,58,59,82,82,59,58,83,83,58,59,82,83,2,104,186,186,254,47,82,58,59,82,82,59,58,82,3,65,83,58,58,82,82,58,58,83,0,0,2,0,100,1,110,4,76,4,28,0,3,0,7,0,21,64,12,4,5,106,1,4,105,1,0,106,1,148,114,0,43,43,43,43,48,49,19,53,33,21,1,53,33,21,100,3,232,252,24,3,232,3,98,186,186,254,12,186,186,0,3,0,100,0,0,4,76,5,140,0,3,0,7,0,11,0,29,64,18,4,5,106,9,4,105,9,8,106,9,148,114,3,8,114,1,2,114,0,43,43,43,43,43,43,48,49,51,1,51,1,3,53,33,21,1,53,33,21,142,2,202,202,253,54,244,3,232,252,24,3,232,5,140,250,116,1,110,186,186,1,244,186,186,0,1,0,146,0,214,4,80,4,180,0,7,0,37,64,22,3,2,6,7,1,0,106,7,1,106,6,7,106,4,5,106,6,4,106,6,151,114,0,43,43,43,43,43,43,17,18,57,57,48,49,55,53,1,53,1,53,1,21,146,2,188,253,68,3,190,214,220,1,10,18,1,10,220,254,118,202,0,0,1,0,96,0,214,4,30,4,180,0,7,0,33,64,20,4,3,106,2,4,106,7,0,106,1,7,106,5,6,2,1,106,2,151,114,0,43,43,57,57,43,43,43,43,48,49,37,1,53,1,21,1,21,1,4,30,252,66,3,190,253,28,2,228,214,1,138,202,1,138,220,254,246,18,254,246,0,0,2,0,126,0,103,4,60,4,180,0,7,0,11,0,40,64,22,9,8,106,0,9,105,1,0,106,7,1,106,6,7,106,4,5,106,6,4,106,6,185,255,255,0,114,0,43,43,43,43,43,43,43,43,48,49,19,53,37,53,37,53,1,21,1,53,33,21,126,2,228,253,28,3,190,252,67,3,185,1,58,220,216,18,216,220,254,168,202,253,213,186,186,0,0,2,0,116,0,103,4,50,4,180,0,7,0,11,0,39,64,24,4,3,106,2,4,106,10,11,106,0,10,105,7,0,106,1,7,106,5,6,2,1,106,2,0,47,43,57,57,43,43,43,43,43,43,48,49,1,1,53,1,21,5,21,5,1,53,33,21,4,50,252,66,3,190,253,28,2,228,252,70,3,185,1,58,1,88,202,1,88,220,216,18,216,254,81,186,186,0,3,0,100,0,186,4,76,4,200,0,3,0,7,0,11,0,25,64,13,0,8,9,106,4,5,106,4,4,1,8,105,1,0,47,43,57,47,43,43,57,48,49,37,17,51,17,1,53,33,21,1,53,33,21,1,248,192,253,172,3,232,252,24,3,232,246,3,210,252,46,1,181,186,186,254,15,186,186,0,255,255,0,100,0,196,4,76,4,196,2,39,3,79,0,0,1,34,2,7,3,79,0,0,254,222,0,1,0,100,1,230,4,76,3,162,0,29,0,23,64,12,10,19,106,25,4,106,10,25,14,29,105,14,0,47,43,57,57,43,43,48,49,19,53,52,54,51,50,22,23,22,22,51,50,54,53,53,51,21,20,6,35,34,38,39,38,38,35,34,6,21,21,100,128,142,73,129,58,49,87,47,45,40,202,114,126,71,128,57,51,93,51,56,51,1,230,80,173,157,54,35,29,57,57,62,90,80,173,157,55,34,31,55,57,62,90,0,0,2,0,100,1,94,4,76,3,135,0,3,0,7,0,16,183,5,1,0,106,1,7,105,1,0,47,43,43,57,48,49,19,53,33,21,3,17,51,17,100,3,232,192,192,2,205,186,186,254,145,1,211,254,45,0,0,1,0,204,3,52,3,226,5,140,0,7,0,16,183,6,4,1,0,106,1,2,114,0,43,43,50,57,48,49,19,1,33,1,35,3,35,3,204,1,4,1,14,1,4,220,166,18,166,3,52,2,88,253,168,1,184,254,72,0,0,3,0,100,1,88,4,122,4,46,0,25,0,38,0,51,0,37,64,19,45,6,33,106,9,23,13,19,13,6,39,0,26,106,19,6,0,105,6,0,47,43,50,43,50,17,51,17,18,57,57,43,50,48,49,1,34,38,53,52,54,51,50,22,23,35,54,54,51,50,22,21,20,6,35,34,38,39,51,6,6,39,50,54,55,21,38,38,35,34,6,21,20,22,33,50,54,53,52,38,35,34,6,7,53,22,22,1,116,123,149,149,123,102,132,47,60,47,132,102,123,149,149,123,102,132,47,60,47,132,53,63,67,15,15,68,62,61,75,75,1,208,62,74,74,62,63,67,15,15,67,1,88,199,163,169,195,123,134,134,123,195,169,163,199,123,133,133,123,168,129,100,71,105,129,107,91,87,107,107,87,91,107,129,105,71,100,129,0,1,0,136,0,0,4,40,4,56,0,13,0,19,64,10,3,10,106,3,7,114,7,0,8,114,0,43,50,43,43,48,49,51,17,16,33,32,17,17,35,17,16,35,34,17,17,136,1,208,1,208,220,244,244,2,78,1,234,254,22,253,178,2,78,1,44,254,212,253,178,0,0,2,0,68,254,35,4,100,5,160,0,12,0,25,0,27,64,15,20,12,3,13,14,106,13,15,114,3,9,106,3,3,114,0,43,43,43,43,18,57,57,48,49,1,17,16,33,50,23,7,38,38,35,32,17,17,1,39,55,54,54,53,17,51,17,20,6,6,7,1,146,1,246,114,106,22,63,96,45,254,228,253,232,10,108,118,108,212,96,202,160,1,104,2,18,2,38,20,184,8,6,254,162,253,228,252,187,188,15,17,156,163,1,66,254,222,189,234,120,19,255,255,0,76,0,0,4,100,5,160,2,6,2,58,0,0,255,255,0,45,0,0,4,131,5,140,2,6,2,38,0,0,0,3,0,80,255,56,4,96,5,140,0,3,0,7,0,11,0,25,64,13,1,5,5,0,9,4,105,9,8,106,9,2,114,0,43,43,43,50,51,17,51,48,49,5,17,51,17,33,17,51,17,1,53,33,21,3,12,212,252,240,212,254,172,4,16,200,6,84,249,172,6,84,249,172,5,150,190,190,0,3,0,150,255,56,4,46,5,140,0,5,0,9,0,13,0,33,64,18,4,3,12,13,106,0,1,9,8,106,5,2,12,9,105,12,2,114,0,43,43,57,57,43,50,57,43,50,57,48,49,5,39,1,1,55,1,1,53,33,21,1,53,33,21,1,40,146,1,195,254,61,162,2,23,253,71,3,152,252,104,3,132,146,122,2,126,2,104,132,253,18,252,212,176,176,5,150,190,190,0,2,0,86,255,56,4,106,5,140,0,7,0,11,0,25,64,13,3,2,2,10,7,105,10,11,106,6,10,2,114,0,43,50,43,43,57,47,57,48,49,5,3,51,19,51,1,51,1,19,53,33,21,1,18,188,206,109,18,1,5,196,254,192,124,1,194,200,2,89,254,91,5,160,249,172,5,150,190,190,255,255,0,156,254,52,4,134,4,36,2,6,2,80,0,0,255,255,0,118,255,236,4,60,5,146,0,71,2,112,4,178,0,0,192,0,64,0,0,2,0,100,0,0,4,76,4,36,0,3,0,7,0,19,64,10,7,6,106,3,7,8,114,1,6,114,0,43,43,50,43,48,49,51,17,51,17,35,53,33,21,100,192,192,3,232,4,36,251,220,186,186,0,5,0,54,255,236,4,142,5,160,0,3,0,15,0,27,0,39,0,51,0,44,64,28,28,40,106,34,28,105,0,1,3,2,4,4,34,46,106,34,17,10,22,106,4,10,105,4,16,106,4,19,0,63,43,43,43,63,43,18,23,57,43,43,48,49,19,39,1,23,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,186,92,3,162,92,254,250,142,172,172,142,141,171,171,141,59,72,72,59,61,72,72,254,87,142,172,172,142,141,171,171,141,59,72,72,59,61,72,72,1,50,136,2,152,130,252,28,177,145,147,177,177,147,145,177,163,88,71,73,88,88,73,71,88,2,139,177,145,147,177,174,150,145,177,163,88,71,74,89,89,74,71,88,0,0,7,0,32,255,236,4,173,5,160,0,3,0,15,0,27,0,39,0,51,0,63,0,75,0,47,64,31,28,40,106,34,28,105,0,1,3,2,4,4,34,46,106,34,3,114,16,52,22,64,10,70,6,4,58,105,4,9,114,0,43,43,23,57,43,43,18,23,57,43,43,48,49,19,39,1,23,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,3,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,136,92,3,162,92,253,244,107,130,130,107,107,129,129,107,38,45,45,38,38,46,46,158,142,172,172,142,141,171,171,141,59,72,72,59,61,72,72,2,164,107,130,130,107,107,129,129,107,38,45,45,38,38,46,46,1,50,136,2,152,130,252,28,138,113,114,138,138,114,113,138,144,59,48,49,59,59,49,48,59,2,158,177,145,147,177,174,150,145,177,163,88,71,74,89,89,74,71,88,253,97,138,113,114,138,138,114,113,138,144,59,48,49,59,59,49,48,59,0,0,4,0,100,0,166,4,76,4,238,0,3,0,7,0,11,0,15,0,20,64,11,6,11,10,15,14,3,6,1,4,105,1,0,47,43,23,57,48,49,19,53,33,21,1,53,33,21,1,53,33,21,1,53,33,21,100,3,232,252,24,3,232,252,24,3,232,252,24,3,232,4,72,166,166,252,94,166,166,1,54,166,166,1,54,166,166,0,255,255,0,121,0,188,4,55,4,164,2,6,3,69,0,0,0,2,0,194,0,0,3,238,5,160,0,7,0,11,0,23,64,12,4,7,7,6,9,3,8,1,105,8,8,114,0,43,43,23,57,17,51,48,49,19,1,51,1,35,3,33,3,19,17,51,17,194,1,139,22,1,139,222,50,254,244,50,90,188,3,8,2,152,253,104,1,70,254,186,252,248,4,168,251,88,0,2,0,100,1,46,4,106,4,90,0,7,0,11,0,33,64,18,6,7,9,8,1,0,106,1,9,8,106,4,5,106,4,9,147,114,0,43,206,43,43,206,43,17,18,57,57,48,49,1,53,37,17,37,53,1,21,5,53,33,21,1,210,1,29,254,227,2,152,251,250,3,14,1,46,222,50,1,12,50,222,254,118,22,84,188,188,0,0,2,0,194,255,236,3,238,5,140,0,7,0,11,0,23,64,11,5,3,8,2,2,9,0,105,9,2,114,0,43,43,57,47,57,57,51,48,49,5,1,51,19,33,19,51,1,39,17,51,17,2,77,254,117,222,50,1,12,50,222,254,117,105,188,20,2,152,254,186,1,70,253,104,248,4,168,251,88,0,0,2,0,70,1,46,4,76,4,90,0,7,0,11,0,29,64,16,7,0,106,7,2,1,10,11,106,4,3,106,4,10,147,114,0,43,206,43,43,57,57,206,43,48,49,1,1,53,1,21,5,17,5,37,53,33,21,2,222,253,104,2,152,254,227,1,29,254,96,3,14,1,46,1,140,22,1,138,222,50,254,244,50,90,188,188,0,3,0,65,1,46,4,111,4,90,0,7,0,15,0,19,0,44,64,25,7,9,10,6,4,18,19,8,1,0,106,15,1,18,19,106,11,4,5,106,12,4,18,147,114,0,43,204,50,43,50,43,204,50,43,50,17,18,23,57,48,49,1,53,55,17,39,53,1,21,1,1,53,1,21,7,17,23,37,53,33,21,2,189,195,195,1,178,253,132,254,78,1,178,195,195,254,236,2,242,1,46,222,50,1,12,50,222,254,118,22,254,116,1,140,22,1,138,222,50,254,244,50,90,188,188,0,3,0,194,255,236,3,238,5,160,0,7,0,15,0,19,0,37,64,17,17,6,1,4,13,7,11,16,10,7,10,7,10,1,8,105,1,0,47,43,57,57,47,47,17,57,57,18,57,57,17,57,57,48,49,19,1,51,1,35,39,33,7,19,1,51,23,33,55,51,1,39,17,51,17,194,1,139,22,1,139,222,50,254,244,50,173,254,117,222,50,1,12,50,222,254,117,105,188,3,118,2,42,253,214,246,246,252,118,2,42,246,246,253,214,218,4,0,252,0,0,4,0,194,255,70,3,238,5,160,0,3,0,11,0,19,0,23,0,42,64,22,21,10,6,11,15,20,14,11,14,11,14,6,12,105,6,17,2,3,106,2,8,114,0,43,43,63,43,57,57,47,47,17,57,57,17,18,57,57,48,49,23,53,33,21,1,1,51,1,35,39,33,7,19,1,51,23,33,55,51,1,39,17,51,17,200,3,22,252,228,1,139,22,1,139,222,50,254,244,50,173,254,117,222,50,1,12,50,222,254,117,105,188,186,186,186,4,48,2,42,253,214,246,246,252,118,2,42,246,246,253,214,218,4,0,252,0,0,5,0,194,0,0,3,238,5,160,0,7,0,11,0,15,0,19,0,23,0,40,64,21,22,23,1,3,10,15,14,19,4,7,8,3,7,3,7,8,1,105,8,8,114,0,43,43,57,57,47,47,17,18,23,57,17,18,57,57,48,49,19,1,51,1,35,3,33,3,19,53,51,21,3,53,51,21,3,53,51,21,3,17,51,17,194,1,139,22,1,139,222,50,254,244,50,90,188,188,188,188,188,188,188,3,8,2,152,253,104,1,70,254,186,252,248,194,194,1,48,182,182,1,36,182,182,1,36,1,48,254,208,0,0,5,0,194,255,236,3,238,5,140,0,7,0,11,0,15,0,19,0,23,0,41,64,23,13,16,17,20,4,21,2,8,3,9,12,4,5,2,5,2,5,21,0,105,21,2,114,0,43,43,57,57,47,47,17,23,57,17,18,23,57,48,49,5,1,51,19,33,19,51,1,39,17,51,17,3,53,51,21,3,53,51,21,3,53,51,21,2,77,254,117,222,50,1,12,50,222,254,117,105,188,188,188,188,188,188,188,20,2,152,254,186,1,70,253,104,248,1,48,254,208,1,158,182,182,1,36,182,182,1,36,194,194,0,0,1,0,0,254,32,4,176,255,83,0,3,0,0,17,17,33,17,4,176,254,32,1,51,254,205,0,1,0,0,254,32,4,176,0,135,0,3,0,0,17,17,33,17,4,176,254,32,2,103,253,153,0,1,0,0,254,32,4,176,1,186,0,3,0,0,17,17,33,17,4,176,254,32,3,154,252,102,0,1,0,0,254,32,4,176,2,238,0,3,0,0,17,17,33,17,4,176,254,32,4,206,251,50,0,1,0,0,254,32,4,176,4,33,0,3,0,0,17,17,33,17,4,176,254,32,6,1,249,255,0,1,0,0,254,32,4,176,5,85,0,3,0,0,17,17,33,17,4,176,254,32,7,53,248,203,0,1,0,0,254,32,4,176,6,136,0,3,0,0,17,17,33,17,4,176,254,32,8,104,247,152,0,1,0,0,254,32,4,176,7,188,0,3,0,0,17,17,33,17,4,176,254,32,9,156,246,100,0,1,0,0,2,18,4,176,7,188,0,3,0,0,17,17,33,17,4,176,2,18,5,170,250,86,0,1,0,0,6,136,4,176,7,188,0,3,0,0,17,17,33,17,4,176,6,136,1,52,254,204,0,1,0,0,254,32,0,150,7,188,0,3,0,0,17,17,51,17,150,254,32,9,156,246,100,0,0,1,0,0,254,32,1,44,7,188,0,3,0,0,17,17,33,17,1,44,254,32,9,156,246,100,0,1,0,0,254,32,1,194,7,188,0,3,0,0,17,17,33,17,1,194,254,32,9,156,246,100,0,1,0,0,254,32,2,88,7,188,0,3,0,0,17,17,33,17,2,88,254,32,9,156,246,100,0,1,0,0,254,32,2,238,7,188,0,3,0,0,17,17,33,17,2,238,254,32,9,156,246,100,0,1,0,0,254,32,3,132,7,188,0,3,0,0,17,17,33,17,3,132,254,32,9,156,246,100,0,1,0,0,254,32,4,26,7,188,0,3,0,0,17,17,33,17,4,26,254,32,9,156,246,100,0,1,2,88,254,32,4,176,7,188,0,3,0,0,1,17,33,17,2,88,2,88,254,32,9,156,246,100,0,1,4,26,254,32,4,176,7,188,0,3,0,0,1,17,51,17,4,26,150,254,32,9,156,246,100,0,0,1,0,0,254,32,2,88,2,238,0,3,0,0,17,17,33,17,2,88,254,32,4,206,251,50,0,1,2,88,254,32,4,176,2,18,0,3,0,0,1,17,33,17,2,88,2,88,254,32,3,242,252,14,0,1,0,0,2,18,2,88,7,188,0,3,0,0,17,17,33,17,2,88,2,18,5,170,250,86,0,1,0,0,254,32,4,176,7,188,0,5,0,0,17,17,33,17,33,17,2,88,2,88,254,32,9,156,251,50,251,50,0,2,0,0,254,32,4,176,7,188,0,3,0,7,0,0,17,17,33,25,2,33,17,2,88,2,88,2,18,5,170,250,86,252,14,3,242,252,14,0,0,1,0,0,254,32,4,176,7,188,0,5,0,0,17,17,33,17,33,17,4,176,253,168,254,32,9,156,250,86,252,14,0,1,0,0,254,32,4,176,7,188,0,5,0,0,1,17,33,17,33,17,2,88,253,168,4,176,254,32,3,242,5,170,246,100,0,1,2,88,2,18,4,176,7,188,0,3,0,0,1,17,33,17,2,88,2,88,2,18,5,170,250,86,0,1,0,0,254,32,4,176,7,188,0,7,0,0,17,17,33,17,33,17,33,17,2,88,2,88,253,168,254,32,4,206,4,206,250,86,252,14,0,1,0,0,254,32,4,176,7,188,0,5,0,0,17,17,33,17,33,17,2,88,2,88,254,32,4,206,4,206,246,100,0,9,0,0,254,32,4,176,7,188,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,35,0,0,17,53,1,21,1,1,21,1,33,1,21,1,33,55,21,7,37,53,1,21,1,53,1,21,1,53,1,51,1,53,1,51,1,53,1,51,4,176,252,124,3,132,252,164,1,104,1,244,254,52,1,104,100,60,251,140,4,176,251,80,4,176,251,80,1,104,40,254,112,2,248,40,252,224,4,136,40,1,124,40,4,176,40,247,244,3,132,40,252,164,1,244,40,254,52,100,40,60,60,40,4,176,40,252,224,40,4,176,40,1,144,40,1,104,252,224,40,2,248,251,80,40,4,136,0,18,0,0,254,32,4,176,7,188,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,35,0,39,0,43,0,47,0,51,0,55,0,59,0,63,0,67,0,71,0,0,17,53,1,21,1,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,55,21,7,37,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,37,53,55,51,3,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,4,176,251,180,4,76,251,220,160,3,132,252,164,160,2,188,253,108,160,1,244,254,52,160,1,44,254,252,160,100,60,251,140,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,160,40,200,1,104,40,254,112,2,48,40,253,168,2,248,40,252,224,3,192,40,252,24,4,136,40,2,68,40,4,176,40,247,44,4,76,40,251,220,3,132,40,252,164,2,188,40,253,108,1,244,40,254,52,1,44,40,254,252,100,40,60,60,40,4,176,40,252,24,40,4,176,40,252,24,40,4,176,40,252,24,40,4,176,40,252,24,40,4,176,40,200,40,160,254,112,40,1,104,253,168,40,2,48,252,224,40,2,248,252,24,40,3,192,251,80,40,4,136,0,36,0,0,254,32,4,176,7,188,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,35,0,39,0,43,0,47,0,51,0,55,0,59,0,63,0,67,0,71,0,75,0,79,0,83,0,87,0,91,0,95,0,99,0,103,0,107,0,111,0,115,0,119,0,123,0,127,0,131,0,135,0,139,0,143,0,0,17,53,1,21,1,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,55,21,7,51,55,21,7,37,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,37,53,55,51,7,53,55,51,3,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,4,176,251,80,4,176,251,120,60,4,76,251,220,60,3,232,252,64,60,3,132,252,164,60,3,32,253,8,60,2,188,253,108,60,2,88,253,208,60,1,244,254,52,60,1,144,254,152,60,1,44,254,252,60,200,160,60,100,60,251,140,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,60,40,100,160,40,200,1,4,40,254,212,1,104,40,254,112,1,204,40,254,12,2,48,40,253,168,2,148,40,253,68,2,248,40,252,224,3,92,40,252,124,3,192,40,252,24,4,36,40,251,180,4,136,40,2,168,40,4,176,40,246,200,4,176,40,251,120,4,76,40,251,220,3,232,40,252,64,3,132,40,252,164,3,32,40,253,8,2,188,40,253,108,2,88,40,253,208,1,244,40,254,52,1,144,40,254,152,1,44,40,254,252,200,40,160,100,40,60,60,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,100,40,60,200,40,160,254,212,40,1,4,254,112,40,1,104,254,12,40,1,204,253,168,40,2,48,253,68,40,2,148,252,224,40,2,248,252,124,40,3,92,252,24,40,3,192,251,180,40,4,36,251,80,40,4,136,0,1,0,75,0,185,4,101,4,211,0,15,0,0,37,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,2,88,158,236,131,131,236,158,158,236,131,131,236,185,131,236,158,158,236,131,131,236,158,158,236,131,0,2,0,75,0,185,4,101,4,211,0,15,0,31,0,0,37,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,2,88,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,185,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,0,2,0,0,0,110,4,176,5,30,0,15,0,31,0,0,37,34,36,2,53,52,18,36,51,50,4,18,21,20,2,4,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,2,88,181,254,242,149,149,1,14,181,181,1,14,149,149,254,242,181,136,202,112,112,202,136,135,203,112,112,203,110,149,1,14,181,181,1,14,149,149,254,242,181,181,254,242,149,150,112,203,135,136,202,112,112,202,136,135,203,112,0,0,3,0,75,0,185,4,101,4,211,0,4,0,20,0,36,0,0,1,3,19,33,17,21,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,1,93,207,160,1,42,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,1,35,1,157,1,154,252,201,106,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,3,0,75,0,185,4,101,4,211,0,4,0,20,0,36,0,0,1,17,33,19,3,7,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,2,88,1,42,160,207,251,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,1,35,3,66,254,91,254,99,106,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,0,3,0,75,0,185,4,101,4,211,0,4,0,20,0,36,0,0,37,37,53,33,17,5,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,2,82,254,99,3,66,254,97,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,252,207,251,254,214,227,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,0,3,0,75,0,185,4,101,4,211,0,4,0,20,0,36,0,0,19,53,37,5,17,1,50,22,22,21,20,6,6,35,34,38,38,53,52,54,54,23,34,6,6,21,20,22,22,51,50,54,54,53,52,38,38,181,1,157,1,165,254,97,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,2,198,251,207,160,254,214,2,13,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,0,1,0,75,0,185,2,88,4,211,0,8,0,0,37,34,38,38,53,52,54,54,51,2,88,158,236,131,131,236,158,185,131,236,158,158,236,131,0,1,2,88,0,185,4,101,4,211,0,8,0,0,37,17,50,22,22,21,20,6,6,2,88,158,236,131,131,236,185,4,26,131,236,158,158,236,131,0,0,3,0,75,0,185,4,101,4,211,0,3,0,19,0,35,0,0,1,17,5,19,1,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,2,88,1,103,116,254,37,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,2,198,1,219,105,254,142,253,243,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,3,0,75,0,185,4,101,4,211,0,8,0,24,0,40,0,0,37,1,53,33,17,51,1,17,3,5,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,1,175,254,206,1,219,180,1,36,197,254,237,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,225,1,53,176,1,219,254,228,254,172,254,227,91,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,3,0,75,0,185,4,101,4,211,0,5,0,21,0,37,0,0,19,53,33,17,51,17,3,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,153,1,116,150,75,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,2,123,150,1,107,253,255,254,62,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,3,0,75,0,185,4,101,4,211,0,5,0,21,0,37,0,0,1,17,33,53,33,17,7,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,2,13,254,149,2,1,75,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,1,7,1,116,150,253,246,78,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,0,3,0,75,0,185,4,101,4,211,0,5,0,21,0,37,0,0,1,17,33,21,33,17,7,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,2,13,2,21,254,129,75,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,1,7,2,10,150,254,140,78,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,0,3,0,75,0,185,4,101,4,211,0,5,0,21,0,37,0,0,1,17,51,17,33,21,1,50,22,22,21,20,6,6,35,34,38,38,53,52,54,54,23,34,6,6,21,20,22,22,51,50,54,54,53,52,38,38,2,13,150,1,127,254,54,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,2,123,2,10,254,140,150,2,88,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,4,0,75,0,185,4,101,4,211,0,3,0,7,0,23,0,39,0,0,1,17,23,17,51,17,23,17,3,50,22,22,21,20,6,6,35,34,38,38,53,52,54,54,23,34,6,6,21,20,22,22,51,50,54,54,53,52,38,38,1,119,150,150,150,225,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,1,18,3,127,1,252,130,3,127,1,252,130,3,193,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,12,0,75,0,185,4,101,4,211,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,95,0,107,0,119,0,131,0,143,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,39,34,38,53,52,54,51,50,22,21,20,6,5,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,55,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,55,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,5,34,38,53,52,54,51,50,22,21,20,6,3,58,34,41,41,34,34,41,41,254,27,34,41,41,34,34,41,41,197,34,41,41,34,34,41,41,1,98,34,41,41,34,34,41,41,254,28,34,41,41,34,34,41,41,28,34,41,41,34,34,41,41,2,68,34,41,41,34,34,41,41,254,27,34,41,41,34,34,41,41,2,68,34,41,41,34,34,41,41,27,34,41,41,34,34,41,41,254,28,34,41,41,34,34,41,41,1,99,34,41,41,34,34,41,41,4,0,41,34,34,41,41,34,34,41,252,246,41,34,34,41,41,34,34,41,165,41,34,34,41,41,34,34,41,226,41,34,34,41,41,34,34,41,1,194,41,34,34,41,41,34,34,41,225,41,34,34,41,41,34,34,41,253,154,41,34,34,41,41,34,34,41,3,10,41,34,34,41,41,34,34,41,253,155,41,34,34,41,41,34,34,41,224,41,34,34,41,41,34,34,41,1,194,41,34,34,41,41,34,34,41,225,41,34,34,41,41,34,34,41,0,3,0,75,0,185,4,101,4,211,0,11,0,27,0,43,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,50,22,22,21,20,6,6,35,34,38,38,53,52,54,54,23,34,6,6,21,20,22,22,51,50,54,54,53,52,38,38,2,88,102,123,123,102,102,123,123,102,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,1,229,123,102,102,123,123,102,102,123,2,238,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,255,255,0,0,0,110,4,176,5,30,2,38,3,140,0,0,0,6,3,157,0,0,0,2,1,48,1,158,3,128,3,238,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,2,88,133,163,163,133,134,162,162,134,66,80,80,66,66,80,80,1,158,163,133,134,162,162,134,133,163,150,80,66,66,80,80,66,66,80,0,2,0,75,0,185,4,101,4,211,0,3,0,15,0,0,55,17,33,17,37,50,54,53,52,38,35,34,6,21,20,22,75,4,26,253,243,134,162,162,134,133,163,163,185,4,26,251,230,215,163,133,134,162,162,134,133,163,0,3,0,0,0,110,4,176,5,30,0,3,0,19,0,35,0,0,53,17,33,17,37,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,55,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,4,176,253,168,158,236,131,131,236,158,158,236,131,131,236,158,113,169,93,93,169,113,113,169,93,93,169,110,4,176,251,80,75,131,236,158,158,236,131,131,236,158,158,236,131,150,93,169,113,113,169,93,93,169,113,113,169,93,0,2,0,0,2,198,4,176,5,30,0,12,0,21,0,0,17,17,33,17,35,52,38,38,35,34,6,6,21,51,52,54,54,51,50,22,22,21,4,176,75,131,236,158,158,236,131,150,93,169,113,113,169,93,2,198,2,88,253,168,158,236,131,131,236,158,113,169,93,93,169,113,0,2,0,0,0,110,4,176,2,198,0,12,0,21,0,0,53,17,51,20,22,22,51,50,54,54,53,51,17,37,34,38,38,53,33,20,6,6,75,131,236,158,158,236,131,75,253,168,113,169,93,2,238,93,169,110,2,88,158,236,131,131,236,158,253,168,225,93,169,113,113,169,93,0,0,1,0,75,2,198,4,101,4,211,0,17,0,0,19,52,54,54,51,50,22,22,21,35,52,38,38,35,34,6,6,21,75,131,236,158,158,236,131,150,93,169,113,113,169,93,2,198,158,236,131,131,236,158,113,169,93,93,169,113,0,1,0,75,0,185,4,101,2,198,0,17,0,0,37,34,38,38,53,51,20,22,22,51,50,54,54,53,51,20,6,6,2,88,158,236,131,150,93,169,113,113,169,93,150,131,236,185,131,236,158,113,169,93,93,169,113,158,236,131,0,1,0,75,2,198,2,88,4,211,0,9,0,0,19,52,54,54,51,21,34,6,6,21,75,131,236,158,113,169,93,2,198,158,236,131,150,93,169,113,0,1,2,88,2,198,4,101,4,211,0,9,0,0,1,52,38,38,35,53,50,22,22,21,3,207,93,169,113,158,236,131,2,198,113,169,93,150,131,236,158,0,0,1,2,88,0,185,4,101,2,198,0,9,0,0,37,53,50,54,54,53,51,20,6,6,2,88,113,169,93,150,131,236,185,150,93,169,113,158,236,131,0,1,0,75,0,185,2,88,2,198,0,9,0,0,37,34,38,38,53,51,20,22,22,51,2,88,158,236,131,150,93,169,113,185,131,236,158,113,169,93,0,1,0,0,0,110,4,176,5,30,0,3,0,0,37,9,2,2,88,253,168,2,88,2,88,110,2,88,2,88,253,168,0,2,0,0,0,110,4,176,5,30,0,3,0,7,0,0,37,9,6,2,88,253,168,2,88,2,88,253,168,1,132,254,124,254,124,110,2,88,2,88,253,168,254,124,1,132,1,132,254,124,0,3,0,0,0,110,4,176,5,30,0,2,0,6,0,10,0,0,37,1,1,17,9,6,2,88,253,235,2,21,253,168,2,88,2,88,253,168,1,132,254,124,254,124,192,2,6,2,6,251,162,2,88,2,88,253,168,254,124,1,132,1,132,254,124,0,0,3,0,0,0,110,4,176,5,30,0,2,0,6,0,10,0,0,37,17,9,8,2,88,2,21,253,235,253,168,2,88,2,88,253,168,1,132,254,124,254,124,192,4,12,253,250,253,168,2,88,2,88,253,168,254,124,1,132,1,132,254,124,0,0,3,0,0,0,110,4,176,5,30,0,2,0,6,0,10,0,0,19,9,9,67,2,21,2,21,253,235,253,168,2,88,2,88,253,168,1,132,254,124,254,124,2,198,2,6,253,250,253,168,2,88,2,88,253,168,254,124,1,132,1,132,254,124,0,3,0,0,0,110,4,176,5,30,0,2,0,6,0,10,0,0,19,33,1,17,9,6,67,4,42,253,235,2,88,253,168,253,168,2,88,254,124,1,132,1,132,2,198,253,250,4,94,253,168,253,168,2,88,1,132,254,124,254,124,1,132,0,0,3,0,0,0,110,4,176,5,30,0,3,0,7,0,11,0,0,1,39,55,23,3,9,6,2,88,176,176,176,176,2,88,253,168,253,168,2,88,254,124,1,132,1,132,2,22,176,176,176,2,88,253,168,253,168,2,88,1,132,254,124,254,124,1,132,0,2,0,80,0,0,4,96,5,140,0,5,0,9,0,0,33,1,1,51,1,1,39,9,2,1,223,254,113,1,143,232,1,153,254,103,116,1,54,254,202,254,212,2,198,2,198,253,58,253,58,172,2,26,2,26,253,230,0,1,0,0,1,154,4,176,3,242,0,3,0,0,17,19,33,3,170,4,6,170,1,154,2,88,253,168,0,2,0,0,1,154,4,176,3,242,0,3,0,11,0,0,17,19,33,3,37,39,33,7,19,23,33,55,170,4,6,170,252,170,59,3,113,103,129,59,252,143,103,1,154,2,88,253,168,72,78,78,1,200,78,78,0,1,1,44,0,110,3,132,5,30,0,3,0,0,37,17,33,17,1,44,2,88,110,4,176,251,80,0,0,1,0,0,1,154,4,176,3,242,0,3,0,0,17,17,33,17,4,176,1,154,2,88,253,168,0,2,0,0,1,154,4,176,3,242,0,3,0,7,0,0,17,17,33,17,37,33,17,33,4,176,251,230,3,132,252,124,1,154,2,88,253,168,150,1,44,0,0,2,1,44,0,110,3,132,5,30,0,3,0,7,0,0,37,17,33,17,37,33,17,33,1,44,2,88,254,62,1,44,254,212,110,4,176,251,80,150,3,132,0,1,0,75,0,185,4,101,4,211,0,3,0,0,55,17,33,17,75,4,26,185,4,26,251,230,0,2,0,75,0,185,4,101,4,211,0,3,0,7,0,0,55,17,33,17,37,33,17,33,75,4,26,252,124,2,238,253,18,185,4,26,251,230,150,2,238,0,0,2,0,75,0,185,4,101,4,211,0,15,0,31,0,0,37,34,38,53,17,52,54,51,33,50,22,21,17,20,6,35,37,33,50,54,53,17,52,38,35,33,34,6,21,17,20,22,1,75,115,141,141,115,2,26,115,141,141,115,253,229,2,28,48,57,57,48,253,228,48,57,57,185,141,115,2,26,115,141,141,115,253,230,115,141,150,57,48,2,28,48,57,57,48,253,228,48,57,0,0,3,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,0,1,17,33,17,1,17,33,17,37,33,17,33,1,119,1,194,253,18,4,26,252,124,2,238,253,18,1,229,1,194,254,62,254,212,4,26,251,230,150,2,238,0,0,12,0,75,0,185,4,101,4,211,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,95,0,107,0,119,0,131,0,143,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,4,26,31,44,44,31,31,44,44,252,93,31,44,44,31,31,44,44,31,31,44,44,31,31,44,44,1,13,31,44,44,31,31,44,44,254,181,31,44,44,31,31,44,44,2,57,31,44,44,31,31,44,44,253,137,31,44,44,31,31,44,44,3,101,31,44,44,31,31,44,44,253,137,31,44,44,31,31,44,44,2,57,31,44,44,31,31,44,44,31,31,44,44,31,31,44,44,254,181,31,44,44,31,31,44,44,4,61,44,31,31,44,44,31,31,44,252,124,44,31,31,44,44,31,31,44,1,44,44,31,31,44,44,31,31,44,254,212,44,31,31,44,44,31,31,44,2,88,44,31,31,44,44,31,31,44,253,168,44,31,31,44,44,31,31,44,3,132,44,31,31,44,44,31,31,44,252,124,44,31,31,44,44,31,31,44,3,132,44,31,31,44,44,31,31,44,253,168,44,31,31,44,44,31,31,44,1,44,44,31,31,44,44,31,31,44,1,44,44,31,31,44,44,31,31,44,0,4,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,15,0,0,19,53,33,21,1,53,33,21,1,17,33,17,37,33,17,33,149,3,134,252,122,3,134,252,48,4,26,252,124,2,238,253,18,3,17,150,150,254,212,150,150,254,212,4,26,251,230,150,2,238,0,4,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,15,0,0,1,35,17,51,1,35,17,51,1,33,17,33,3,17,33,17,2,13,150,150,1,44,150,150,1,44,251,230,4,26,150,253,18,1,3,3,134,252,122,3,134,252,48,4,26,252,124,2,238,253,18,0,0,6,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,15,0,19,0,23,0,0,19,53,33,21,1,17,51,17,37,53,33,21,5,17,51,17,5,17,33,17,37,33,17,33,149,3,134,253,92,150,254,136,3,134,254,136,150,253,18,4,26,252,124,2,238,253,18,3,17,150,150,253,242,3,134,252,122,226,150,150,226,3,134,252,122,74,4,26,251,230,150,2,238,0,0,5,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,15,0,19,0,0,19,55,1,7,1,53,1,35,3,51,1,21,1,17,33,17,37,33,17,33,129,111,3,79,101,252,188,2,103,212,111,212,1,170,252,19,4,26,252,124,2,238,253,18,4,56,101,252,177,111,1,170,212,253,153,3,163,254,86,212,254,158,4,26,251,230,150,2,238,0,0,5,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,15,0,19,0,0,1,1,39,1,19,1,35,9,2,53,1,1,33,17,33,3,17,33,17,4,47,252,167,101,3,79,90,254,109,212,2,103,254,220,253,130,1,170,2,67,251,230,4,26,150,253,18,4,56,252,167,111,3,79,253,236,254,109,2,103,1,60,253,130,212,1,170,252,32,4,26,252,124,2,238,253,18,0,0,8,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,0,37,1,55,1,5,1,53,1,5,39,1,23,1,1,21,1,1,53,1,51,1,1,51,1,1,17,33,17,37,33,17,33,3,218,252,167,111,3,79,253,234,254,109,2,103,253,217,101,3,79,111,253,132,2,103,254,109,253,241,1,170,212,1,66,253,130,212,1,170,252,19,4,26,252,124,2,238,253,18,223,3,89,101,252,177,88,1,147,212,253,153,23,111,3,79,101,252,190,2,103,212,254,109,1,37,212,1,170,253,130,2,126,254,86,253,202,4,26,251,230,150,2,238,0,0,1,1,44,1,154,3,132,3,242,0,3,0,0,1,17,33,17,1,44,2,88,1,154,2,88,253,168,0,2,1,44,1,154,3,132,3,242,0,3,0,7,0,0,1,17,33,17,37,33,17,33,1,44,2,88,254,62,1,44,254,212,1,154,2,88,253,168,150,1,44,0,0,3,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,0,37,33,17,33,1,17,33,17,37,33,17,33,2,88,254,27,1,229,253,243,4,26,252,124,2,238,253,18,235,3,182,252,24,4,26,251,230,150,2,238,0,3,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,0,37,17,33,17,23,33,17,33,3,17,33,17,2,88,1,229,40,251,230,4,26,150,253,18,235,3,182,252,74,50,4,26,252,124,2,238,253,18,0,3,0,75,0,185,4,101,4,211,0,2,0,6,0,10,0,0,55,17,33,19,33,17,33,3,17,33,17,101,3,220,36,251,230,4,26,150,253,18,221,3,211,252,9,4,26,252,124,2,238,253,18,0,0,3,0,75,0,185,4,101,4,211,0,2,0,6,0,10,0,0,1,17,33,3,33,17,33,19,17,33,17,4,75,252,36,36,4,26,251,230,150,2,238,4,175,252,45,3,247,251,230,3,132,253,18,2,238,0,0,3,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,0,37,35,17,51,37,33,17,33,19,17,33,17,2,163,150,150,253,168,4,26,251,230,150,2,238,219,3,214,34,251,230,3,132,253,18,2,238,0,0,3,0,75,0,185,4,101,4,211,0,5,0,9,0,13,0,0,19,53,33,17,51,17,1,33,17,33,19,17,33,17,130,1,140,150,253,167,4,26,251,230,150,2,238,2,123,150,1,140,253,222,2,88,251,230,3,132,253,18,2,238,0,3,0,75,0,185,4,101,4,211,0,5,0,9,0,13,0,0,19,33,17,35,17,33,3,17,33,17,37,33,17,33,130,2,34,150,254,116,55,4,26,252,124,2,238,253,18,3,17,253,222,1,140,254,62,4,26,251,230,150,2,238,0,3,0,75,0,185,4,101,4,211,0,5,0,9,0,13,0,0,1,21,33,17,35,17,1,33,17,33,3,17,33,17,4,46,254,116,150,2,89,251,230,4,26,150,253,18,3,17,150,254,116,2,34,253,168,4,26,252,124,2,238,253,18,0,0,3,0,75,0,185,4,101,4,211,0,5,0,9,0,13,0,0,1,33,17,51,17,33,19,17,33,17,5,33,17,33,4,46,253,222,150,1,140,55,251,230,3,132,253,18,2,238,2,123,2,34,254,116,1,194,251,230,4,26,150,253,18,0,0,2,0,150,1,4,4,26,4,136,0,3,0,7,0,0,19,17,33,17,37,33,17,33,150,3,132,253,18,2,88,253,168,1,4,3,132,252,124,150,2,88,0,1,0,150,1,4,4,26,4,136,0,3,0,0,19,17,33,17,150,3,132,1,4,3,132,252,124,0,0,2,0,225,1,79,3,207,4,61,0,3,0,7,0,0,19,17,33,17,37,33,17,33,225,2,238,253,168,1,194,254,62,1,79,2,238,253,18,150,1,194,0,1,0,225,1,79,3,207,4,61,0,3,0,0,19,17,33,17,225,2,238,1,79,2,238,253,18,0,0,1,0,0,0,230,4,176,4,226,0,2,0,0,53,1,1,2,88,2,88,230,3,252,252,4,0,1,0,120,0,110,4,116,5,30,0,2,0,0,55,17,1,120,3,252,110,4,176,253,168,0,0,1,0,0,0,170,4,176,4,166,0,2,0,0,37,1,33,2,88,253,168,4,176,170,3,252,0,1,0,60,0,110,4,56,5,30,0,2,0,0,37,1,1,4,56,252,4,3,252,110,2,88,2,88,0,2,0,0,0,230,4,176,4,226,0,2,0,8,0,0,53,1,1,37,39,33,7,1,51,2,88,2,88,252,10,67,3,202,78,254,27,148,230,3,252,252,4,20,130,124,3,56,0,2,0,120,0,110,4,116,5,30,0,2,0,8,0,0,55,17,1,1,39,1,21,1,55,120,3,252,252,154,124,3,56,252,194,130,110,4,176,253,168,254,23,78,1,229,148,1,232,67,0,2,0,0,0,170,4,176,4,166,0,2,0,8,0,0,37,1,33,1,1,23,33,55,1,2,88,253,168,4,176,253,94,1,229,78,252,54,67,1,232,170,3,252,252,174,3,56,124,130,252,194,0,2,0,60,0,110,4,56,5,30,0,2,0,8,0,0,37,1,1,3,17,23,1,53,1,4,56,252,4,3,252,150,130,252,194,3,56,110,2,88,2,88,251,191,3,202,67,254,24,148,254,27,0,3,0,0,0,230,4,176,4,226,0,11,0,14,0,20,0,0,1,34,38,53,52,54,51,50,22,21,20,6,9,2,37,39,33,7,1,51,2,88,31,44,44,31,31,44,44,253,137,2,88,2,88,252,10,67,3,202,78,254,27,148,2,3,44,31,31,44,44,31,31,44,254,227,3,252,252,4,20,130,124,3,56,0,0,3,0,0,0,230,4,176,4,226,0,2,0,5,0,11,0,0,1,33,9,3,37,39,33,7,1,51,2,88,254,22,1,234,253,168,2,88,2,88,252,10,67,3,202,78,254,27,148,1,24,3,56,252,150,3,252,252,4,20,130,124,3,56,0,3,0,0,0,230,4,176,4,226,0,2,0,5,0,11,0,0,1,17,1,23,33,9,2,51,1,39,33,2,88,1,234,110,251,80,2,88,1,158,254,24,148,254,27,78,3,202,1,24,3,56,252,200,50,3,252,252,24,3,62,252,200,124,0,1,0,120,1,94,4,116,4,46,0,2,0,0,19,17,1,120,3,252,1,94,2,208,254,152,0,1,0,60,1,94,4,56,4,46,0,2,0,0,9,2,4,56,252,4,3,252,1,94,1,104,1,104,0,2,0,120,1,94,4,116,4,46,0,2,0,8,0,0,19,17,1,5,39,37,21,37,55,120,3,252,252,154,78,2,143,253,113,78,1,94,2,208,254,152,229,48,214,66,214,48,0,2,0,60,1,94,4,56,4,46,0,2,0,8,0,0,9,2,3,17,23,5,53,5,4,56,252,4,3,252,150,78,253,66,2,190,1,94,1,104,1,104,253,159,1,242,68,229,96,229,0,1,0,131,1,49,4,45,4,78,0,2,0,0,19,1,1,131,1,213,1,213,1,49,3,29,252,227,0,1,0,195,0,241,3,224,4,155,0,2,0,0,55,17,1,195,3,29,241,3,170,254,43,0,0,1,0,131,1,62,4,45,4,91,0,2,0,0,1,1,33,2,88,254,43,3,170,1,62,3,29,0,0,1,0,208,0,241,3,237,4,155,0,2,0,0,37,1,1,3,237,252,227,3,29,241,1,213,1,213,0,2,0,131,1,49,4,45,4,78,0,2,0,8,0,0,19,1,1,37,39,33,7,1,51,131,1,213,1,213,253,51,40,2,64,40,254,223,82,1,49,3,29,252,227,80,70,70,1,235,0,2,0,195,0,241,3,224,4,155,0,2,0,8,0,0,55,17,1,1,39,1,21,1,55,195,3,29,253,121,70,1,235,254,21,70,241,3,170,254,43,254,224,40,1,33,82,1,33,40,0,2,0,131,1,62,4,45,4,91,0,2,0,8,0,0,1,1,33,1,1,23,33,55,1,2,88,254,43,3,170,254,2,1,33,40,253,192,40,1,33,1,62,3,29,253,197,1,235,70,70,254,21,0,0,2,0,208,0,241,3,237,4,155,0,2,0,8,0,0,37,1,1,3,17,23,1,53,1,3,237,252,227,3,29,150,70,254,21,1,235,241,1,213,1,213,253,11,2,64,40,254,223,82,254,223,0,1,0,75,0,185,4,101,4,211,0,2,0,0,37,1,33,4,101,251,230,4,26,185,4,26,0,1,0,75,0,185,4,101,4,211,0,2,0,0,55,1,17,75,4,26,185,4,26,251,230,0,0,1,0,75,0,185,4,101,4,211,0,2,0,0,55,17,1,75,4,26,185,4,26,251,230,0,0,1,0,75,0,185,4,101,4,211,0,2,0,0,55,17,33,75,4,26,185,4,26,0,0,2,0,75,0,185,4,101,4,211,0,2,0,8,0,0,37,1,33,3,7,17,23,33,55,4,101,251,230,4,26,93,57,81,253,68,24,185,4,26,253,23,24,2,188,81,57,0,0,2,0,75,0,185,4,101,4,211,0,2,0,8,0,0,1,17,33,1,1,39,33,7,17,4,101,251,230,3,189,253,116,24,2,188,81,4,211,251,230,2,233,253,116,57,81,2,188,0,0,2,0,75,0,185,4,101,4,211,0,2,0,8,0,0,19,1,33,19,55,17,39,33,7,75,4,26,251,230,93,57,81,2,188,24,4,211,251,230,2,233,24,253,68,81,57,0,0,2,0,75,0,185,4,101,4,211,0,2,0,8,0,0,55,17,33,1,1,23,33,55,17,75,4,26,252,67,2,140,24,253,68,81,185,4,26,253,23,2,140,57,81,253,68,0,0,3,255,150,251,60,5,26,3,80,0,5,0,11,0,15,0,0,1,17,33,21,33,17,33,17,33,53,33,17,1,53,33,21,2,194,2,88,254,124,253,132,254,124,2,88,253,168,5,132,251,60,6,108,212,250,104,5,152,212,249,148,7,64,212,212,0,2,255,150,251,60,3,150,3,80,0,5,0,11,0,0,1,17,33,53,33,17,33,17,33,53,33,17,2,194,252,212,4,0,253,132,254,124,2,88,251,60,7,64,212,247,236,5,152,212,249,148,0,2,1,26,251,60,5,26,3,80,0,5,0,11,0,0,1,17,33,21,33,17,51,17,33,21,33,17,1,26,4,0,252,212,212,2,88,254,124,251,60,8,20,212,248,192,6,108,212,250,104,0,0,2,255,150,0,212,5,26,3,80,0,3,0,7,0,0,3,53,33,21,1,53,33,21,106,5,132,250,124,5,132,2,124,212,212,254,88,212,212,0,0,3,255,150,0,212,5,26,8,232,0,5,0,9,0,15,0,0,1,17,51,17,33,21,1,53,33,21,1,53,33,17,51,17,2,194,212,1,132,250,124,5,132,250,124,1,132,212,2,124,6,108,250,104,212,254,88,212,212,1,168,212,5,152,249,148,0,2,255,150,0,212,3,150,8,232,0,5,0,11,0,0,39,53,33,17,51,17,1,53,33,17,51,17,106,3,44,212,252,0,1,132,212,212,212,7,64,247,236,1,168,212,5,152,249,148,0,2,1,26,0,212,5,26,8,232,0,5,0,11,0,0,37,17,51,17,33,21,1,17,51,17,33,21,1,26,212,3,44,253,168,212,1,132,212,8,20,248,192,212,1,168,6,108,250,104,212,0,0,2,1,26,251,60,3,150,8,232,0,3,0,7,0,0,1,17,51,17,33,17,51,17,2,194,212,253,132,212,251,60,13,172,242,84,13,172,242,84,0,4,255,150,251,60,5,26,8,232,0,5,0,11,0,17,0,23,0,0,1,17,51,17,33,21,1,17,33,53,33,17,51,17,33,21,33,17,1,53,33,17,51,17,2,194,212,1,132,252,0,254,124,2,88,212,2,88,254,124,252,0,1,132,212,2,124,6,108,250,104,212,248,192,5,152,212,249,148,6,108,212,250,104,7,64,212,5,152,249,148,0,0,3,255,150,251,60,3,150,8,232,0,5,0,11,0,15,0,0,3,53,33,17,51,17,3,17,33,53,33,17,51,17,51,17,106,1,132,212,212,254,124,2,88,212,212,2,124,212,5,152,249,148,248,192,5,152,212,249,148,13,172,242,84,0,0,3,1,26,251,60,5,26,8,232,0,5,0,11,0,15,0,0,1,17,51,17,33,21,1,17,33,21,33,17,33,17,51,17,2,194,212,1,132,253,168,2,88,254,124,253,132,212,2,124,6,108,250,104,212,248,192,6,108,212,250,104,13,172,242,84,0,1,255,150,251,60,5,26,2,124,0,11,0,0,1,17,33,53,33,21,33,17,35,17,35,17,1,26,254,124,5,132,254,124,212,212,251,60,6,108,212,212,249,148,6,108,249,148,0,1,255,150,251,60,3,150,2,124,0,9,0,0,1,17,33,53,33,17,35,17,35,17,1,26,254,124,4,0,212,212,251,60,6,108,212,248,192,6,108,249,148,0,0,1,1,26,251,60,5,26,2,124,0,9,0,0,1,17,33,21,33,17,35,17,35,17,1,26,4,0,254,124,212,212,251,60,7,64,212,249,148,6,108,249,148,0,0,1,255,150,251,60,5,26,2,124,0,7,0,0,1,17,33,53,33,21,33,17,1,132,254,18,5,132,254,18,251,60,6,108,212,212,249,148,0,1,255,150,251,60,3,44,2,124,0,5,0,0,1,17,33,53,33,17,1,132,254,18,3,150,251,60,6,108,212,248,192,0,0,1,255,150,251,60,3,44,8,232,0,9,0,0,1,17,33,53,33,17,51,17,51,17,1,132,254,18,2,88,212,106,251,60,6,108,212,6,108,249,148,248,192,0,0,1,1,132,251,60,5,26,2,124,0,5,0,0,1,17,33,21,33,17,1,132,3,150,254,18,251,60,7,64,212,249,148,0,0,1,1,132,251,60,5,26,8,232,0,9,0,0,1,17,51,17,51,17,33,21,33,17,1,132,106,212,2,88,254,18,251,60,7,64,6,108,249,148,212,249,148,0,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,53,33,17,51,17,33,21,33,17,1,132,254,18,2,88,212,2,88,254,18,251,60,6,108,212,6,108,249,148,212,249,148,0,0,1,255,150,251,60,5,26,2,230,0,7,0,0,1,17,33,17,33,17,33,17,1,238,253,168,5,132,253,168,251,60,6,2,1,168,254,88,249,254,0,1,255,150,251,60,2,194,2,230,0,5,0,0,1,17,33,17,33,17,1,238,253,168,3,44,251,60,6,2,1,168,248,86,0,1,255,150,251,60,3,44,8,232,0,9,0,0,1,17,33,17,33,17,33,17,35,17,1,238,253,168,1,238,1,168,106,251,60,6,2,1,168,6,2,248,86,249,254,0,0,1,1,238,251,60,5,26,2,230,0,5,0,0,1,17,33,17,33,17,1,238,3,44,253,168,251,60,7,170,254,88,249,254,0,1,1,132,251,60,5,26,8,232,0,9,0,0,1,17,35,17,33,17,33,17,33,17,1,238,106,1,168,1,238,253,168,251,60,6,2,7,170,249,254,254,88,249,254,0,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,17,33,17,33,17,33,17,33,17,1,238,253,168,1,238,1,168,1,238,253,168,251,60,6,2,1,168,6,2,249,254,254,88,249,254,0,2,255,150,251,60,5,26,3,80,0,7,0,11,0,0,1,17,33,53,33,21,33,17,1,53,33,21,1,238,253,168,5,132,253,168,252,212,5,132,251,60,5,152,212,212,250,104,7,64,212,212,0,1,255,150,251,60,2,194,3,80,0,9,0,0,1,17,33,53,33,53,33,53,33,17,1,238,253,168,2,88,253,168,3,44,251,60,5,152,212,212,212,247,236,0,0,1,1,238,251,60,5,26,3,80,0,9,0,0,1,17,33,21,33,21,33,21,33,17,1,238,3,44,253,168,2,88,253,168,251,60,8,20,212,212,212,250,104,0,0,2,0,150,1,62,4,26,2,230,0,3,0,7,0,0,1,17,33,17,33,17,33,17,2,238,1,44,252,124,1,44,1,62,1,168,254,88,1,168,254,88,0,2,1,132,255,58,3,44,4,233,0,3,0,7,0,0,1,17,33,17,1,17,33,17,1,132,1,168,254,88,1,168,3,4,1,229,254,27,252,54,1,229,254,27,0,1,1,132,251,60,3,44,2,124,0,3,0,0,1,17,33,17,1,132,1,168,251,60,7,64,248,192,0,1,255,150,251,60,5,26,2,230,0,7,0,0,1,17,33,17,33,17,33,17,1,132,254,18,5,132,254,18,251,60,6,2,1,168,254,88,249,254,0,1,255,150,251,60,3,44,2,230,0,5,0,0,1,17,33,17,33,17,1,132,254,18,3,150,251,60,6,2,1,168,248,86,0,1,1,132,251,60,5,26,2,230,0,5,0,0,1,17,33,17,33,17,1,132,3,150,254,18,251,60,7,170,254,88,249,254,0,1,255,150,1,62,5,26,2,230,0,3,0,0,3,17,33,17,106,5,132,1,62,1,168,254,88,0,0,1,255,150,1,62,2,194,2,230,0,3,0,0,3,17,33,17,106,3,44,1,62,1,168,254,88,0,0,1,255,150,1,62,5,26,2,230,0,7,0,0,3,17,33,21,33,21,33,21,106,3,44,2,88,253,168,1,62,1,168,106,212,106,0,4,0,37,1,62,4,138,2,230,0,3,0,7,0,11,0,15,0,0,1,17,51,17,33,17,51,17,51,17,51,17,51,17,51,17,3,169,225,251,155,225,75,225,75,225,1,62,1,168,254,88,1,168,254,88,1,168,254,88,1,168,254,88,0,4,1,132,254,132,3,44,5,159,0,3,0,7,0,11,0,15,0,0,1,17,33,17,1,17,33,17,1,17,33,17,1,17,33,17,1,132,1,168,254,88,1,168,254,88,1,168,254,88,1,168,4,51,1,108,254,148,250,81,1,108,254,148,1,229,1,108,254,148,1,229,1,108,254,148,0,1,1,238,1,62,5,26,2,230,0,3,0,0,1,17,33,17,1,238,3,44,1,62,1,168,254,88,0,3,0,66,1,62,4,109,2,230,0,3,0,7,0,11,0,0,1,17,33,17,33,17,33,17,51,17,33,17,3,98,1,11,251,213,1,11,133,1,11,1,62,1,168,254,88,1,168,254,88,1,168,254,88,0,0,3,1,132,254,179,3,44,5,110,0,3,0,7,0,11,0,0,1,17,33,17,1,17,33,17,1,17,33,17,1,132,1,168,254,88,1,168,254,88,1,168,3,191,1,175,254,81,250,244,1,175,254,81,2,134,1,175,254,81,0,1,1,132,1,168,3,44,8,232,0,3,0,0,1,17,33,17,1,132,1,168,1,168,7,64,248,192,0,1,255,150,1,62,5,26,8,232,0,7,0,0,3,17,33,17,33,17,33,17,106,1,238,1,168,1,238,1,62,1,168,6,2,249,254,254,88,0,0,1,255,150,1,62,3,44,8,232,0,5,0,0,3,17,33,17,33,17,106,1,238,1,168,1,62,1,168,6,2,248,86,0,0,1,1,132,251,60,3,44,8,232,0,7,0,0,1,17,35,17,33,17,35,17,1,238,106,1,168,106,251,60,6,108,7,64,248,192,249,148,0,1,1,132,1,62,5,26,8,232,0,5,0,0,1,17,33,17,33,17,1,132,1,168,1,238,1,62,7,170,249,254,254,88,0,1,1,132,251,60,3,44,8,232,0,3,0,0,1,17,33,17,1,132,1,168,251,60,13,172,242,84,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,17,33,17,33,17,33,17,33,17,1,132,254,18,1,238,1,168,1,238,254,18,251,60,6,2,1,168,6,2,249,254,254,88,249,254,0,1,255,150,251,60,3,44,8,232,0,7,0,0,1,17,33,17,33,17,33,17,1,132,254,18,1,238,1,168,251,60,6,2,1,168,6,2,242,84,0,1,1,132,251,60,5,26,8,232,0,7,0,0,1,17,33,17,33,17,33,17,1,132,1,168,1,238,254,18,251,60,13,172,249,254,254,88,249,254,0,1,255,150,251,60,5,26,8,232,0,13,0,0,1,17,33,17,33,17,51,17,51,21,33,21,33,17,1,132,254,18,2,88,212,106,1,238,254,18,251,60,6,2,1,168,6,2,249,254,106,212,249,148,0,1,255,150,251,60,5,26,2,230,0,9,0,0,1,17,33,17,33,21,33,21,33,17,1,238,253,168,3,44,2,88,253,168,251,60,6,2,1,168,106,212,249,148,0,1,255,150,1,62,5,26,8,232,0,9,0,0,3,17,33,17,51,17,33,21,33,21,106,2,88,212,2,88,253,168,1,62,1,168,6,2,249,148,212,106,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,17,33,17,51,17,33,21,33,17,1,238,253,168,2,88,212,2,88,253,168,251,60,6,2,1,168,6,2,249,148,212,249,148,0,1,255,150,251,60,5,26,2,230,0,9,0,0,1,17,33,53,33,53,33,17,33,17,1,132,254,18,1,238,3,150,254,18,251,60,6,108,212,106,254,88,249,254,0,1,255,150,1,62,5,26,8,232,0,9,0,0,1,53,33,53,33,17,33,17,33,17,1,132,254,18,1,238,1,168,1,238,1,62,106,212,6,108,249,254,254,88,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,53,33,17,33,17,33,17,33,17,1,132,254,18,1,238,1,168,1,238,254,18,251,60,6,108,212,6,108,249,254,254,88,249,254,0,0,1,255,150,251,60,5,26,8,232,0,13,0,0,1,17,33,17,33,17,33,17,33,21,33,21,35,17,1,238,253,168,1,238,1,168,1,238,254,18,106,251,60,6,2,1,168,6,2,249,148,212,106,249,254,0,0,1,255,150,251,60,2,194,2,124,0,15,0,0,1,17,52,46,2,35,35,53,51,50,4,22,18,21,17,1,238,77,136,179,102,106,106,146,1,0,194,110,251,60,4,126,102,179,136,77,212,110,194,255,0,146,251,130,0,1,1,238,251,60,5,26,2,124,0,15,0,0,1,17,52,18,54,36,51,51,21,35,34,14,2,21,17,1,238,110,194,1,0,146,106,106,102,179,136,77,251,60,4,126,146,1,0,194,110,212,77,136,179,102,251,130,0,1,255,150,1,168,2,194,8,232,0,15,0,0,3,53,51,50,62,2,53,17,51,17,20,2,6,4,35,106,106,102,179,136,77,212,110,194,255,0,146,1,168,212,77,136,179,102,4,126,251,130,146,255,0,194,110,0,0,1,1,238,1,168,5,26,8,232,0,15,0,0,1,34,36,38,2,53,17,51,17,20,30,2,51,51,21,4,176,146,255,0,194,110,212,77,136,179,102,106,1,168,110,194,1,0,146,4,126,251,130,102,179,136,77,212,0,1,0,0,254,72,4,176,5,220,0,15,0,0,17,53,1,1,53,51,1,1,51,21,1,1,21,35,1,1,1,219,254,37,125,1,219,1,219,125,254,37,1,219,125,254,37,254,37,254,72,202,3,0,3,0,202,253,0,3,0,202,253,0,253,0,202,3,0,253,0,0,0,1,0,0,254,72,4,176,5,220,0,5,0,0,1,1,53,51,1,21,4,51,251,205,125,4,51,254,72,6,202,202,249,54,202,0,0,1,0,0,254,72,4,176,5,220,0,5,0,0,17,53,1,51,21,1,4,51,125,251,205,254,72,202,6,202,202,249,54,0,0,2,0,150,1,168,4,26,2,124,0,3,0,7,0,0,1,53,33,21,33,53,33,21,2,238,1,44,252,124,1,44,1,168,212,212,212,212,0,2,1,238,255,58,2,194,4,233,0,3,0,7,0,0,1,17,51,17,3,17,51,17,1,238,212,212,212,3,4,1,229,254,27,252,54,1,229,254,27,0,0,1,1,238,251,60,2,194,2,124,0,3,0,0,1,17,51,17,1,238,212,251,60,7,64,248,192,0,0,1,255,150,251,60,5,26,2,124,0,7,0,0,1,17,33,53,33,21,33,17,1,238,253,168,5,132,253,168,251,60,6,108,212,212,249,148,0,1,255,150,251,60,2,194,2,124,0,5,0,0,1,17,33,53,33,17,1,238,253,168,3,44,251,60,6,108,212,248,192,0,0,1,1,238,251,60,5,26,2,124,0,5,0,0,1,17,33,21,33,17,1,238,3,44,253,168,251,60,7,64,212,249,148,0,0,1,255,150,1,168,5,26,2,124,0,3,0,0,3,53,33,21,106,5,132,1,168,212,212,0,0,1,255,150,1,168,2,194,2,124,0,3,0,0,3,53,33,21,106,3,44,1,168,212,212,0,0,1,255,150,1,62,5,26,2,230,0,7,0,0,1,53,33,53,33,53,33,17,1,238,253,168,2,88,3,44,1,62,106,212,106,254,88,0,0,4,0,37,1,168,4,138,2,124,0,3,0,7,0,11,0,15,0,0,1,53,51,21,33,53,51,21,51,53,51,21,51,53,51,21,3,169,225,251,155,225,75,225,75,225,1,168,212,212,212,212,212,212,212,212,0,4,1,238,254,132,2,194,5,159,0,3,0,7,0,11,0,15,0,0,1,17,51,17,3,17,51,17,3,17,51,17,3,17,51,17,1,238,212,212,212,212,212,212,212,4,51,1,108,254,148,250,81,1,108,254,148,1,229,1,108,254,148,1,229,1,108,254,148,0,0,1,1,238,1,168,5,26,2,124,0,3,0,0,1,53,33,21,1,238,3,44,1,168,212,212,0,3,0,66,1,168,4,109,2,124,0,3,0,7,0,11,0,0,1,53,33,21,33,53,33,21,51,53,33,21,3,98,1,11,251,213,1,11,133,1,11,1,168,212,212,212,212,212,212,0,0,3,1,238,254,179,2,194,5,110,0,3,0,7,0,11,0,0,1,17,51,17,3,17,51,17,3,17,51,17,1,238,212,212,212,212,212,3,191,1,175,254,81,250,244,1,175,254,81,2,134,1,175,254,81,0,0,1,1,238,1,168,2,194,8,232,0,3,0,0,1,17,51,17,1,238,212,1,168,7,64,248,192,0,0,1,1,132,251,60,3,44,8,232,0,7,0,0,1,17,51,17,51,17,51,17,1,132,106,212,106,251,60,7,64,6,108,249,148,248,192,0,0,1,255,150,1,168,5,26,8,232,0,7,0,0,3,53,33,17,51,17,33,21,106,2,88,212,2,88,1,168,212,6,108,249,148,212,0,1,255,150,1,168,2,194,8,232,0,5,0,0,3,53,33,17,51,17,106,2,88,212,1,168,212,6,108,248,192,0,0,1,1,238,1,168,5,26,8,232,0,5,0,0,1,17,51,17,33,21,1,238,212,2,88,1,168,7,64,249,148,212,0,1,1,238,251,60,2,194,8,232,0,3,0,0,1,17,51,17,1,238,212,251,60,13,172,242,84,0,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,53,33,17,51,17,33,21,33,17,1,238,253,168,2,88,212,2,88,253,168,251,60,6,108,212,6,108,249,148,212,249,148,0,0,1,255,150,251,60,2,194,8,232,0,7,0,0,1,17,33,53,33,17,51,17,1,238,253,168,2,88,212,251,60,6,108,212,6,108,242,84,0,1,1,238,251,60,5,26,8,232,0,7,0,0,1,17,51,17,33,21,33,17,1,238,212,2,88,253,168,251,60,13,172,249,148,212,249,148,0,1,255,150,251,60,5,26,8,232,0,13,0,0,1,17,33,53,33,53,51,17,51,17,33,17,33,17,1,132,254,18,1,238,106,212,2,88,254,18,251,60,6,108,212,106,6,2,249,254,254,88,249,254,0,1,255,150,251,60,5,26,2,230,0,9,0,0,1,17,33,53,33,53,33,17,33,17,1,238,253,168,2,88,3,44,253,168,251,60,6,108,212,106,254,88,249,254,0,1,255,150,1,62,5,26,8,232,0,9,0,0,1,53,33,53,33,17,51,17,33,17,1,238,253,168,2,88,212,2,88,1,62,106,212,6,108,249,254,254,88,0,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,53,33,17,51,17,33,17,33,17,1,238,253,168,2,88,212,2,88,253,168,251,60,6,108,212,6,108,249,254,254,88,249,254,0,1,255,150,251,60,5,26,2,230,0,9,0,0,1,17,33,17,33,21,33,21,33,17,1,132,254,18,3,150,1,238,254,18,251,60,6,2,1,168,106,212,249,148,0,1,255,150,1,62,5,26,8,232,0,9,0,0,3,17,33,17,33,17,33,21,33,21,106,1,238,1,168,1,238,254,18,1,62,1,168,6,2,249,148,212,106,0,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,17,33,17,33,17,33,21,33,17,1,132,254,18,1,238,1,168,1,238,254,18,251,60,6,2,1,168,6,2,249,148,212,249,148,0,0,1,255,150,251,60,5,26,8,232,0,13,0,0,1,17,35,53,33,53,33,17,33,17,33,17,33,17,1,238,106,254,18,1,238,1,168,1,238,253,168,251,60,6,2,106,212,6,108,249,254,254,88,249,254,0,0,1,255,150,1,168,5,26,8,232,0,11,0,0,3,53,33,17,51,17,51,17,51,17,33,21,106,1,132,212,212,212,1,132,1,168,212,6,108,249,148,6,108,249,148,212,0,1,255,150,1,168,3,150,8,232,0,9,0,0,3,53,33,17,51,17,51,17,51,17,106,1,132,212,212,212,1,168,212,6,108,249,148,6,108,248,192,0,0,1,1,26,1,168,5,26,8,232,0,9,0,0,1,17,51,17,51,17,51,17,33,21,1,26,212,212,212,1,132,1,168,7,64,249,148,6,108,249,148,212,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,53,33,17,33,17,33,21,33,17,1,238,253,168,1,238,1,168,1,238,253,168,251,60,6,108,212,6,108,249,148,212,249,148,0,1,255,150,1,168,5,26,8,232,0,7,0,0,3,53,33,17,33,17,33,21,106,1,238,1,168,1,238,1,168,212,6,108,249,148,212,0,0,1,255,150,251,60,3,44,8,232,0,9,0,0,1,17,33,53,33,17,33,17,35,17,1,238,253,168,1,238,1,168,106,251,60,6,108,212,6,108,248,192,249,148,0,1,255,150,1,168,3,44,8,232,0,5,0,0,3,53,33,17,33,17,106,1,238,1,168,1,168,212,6,108,248,192,0,1,1,132,251,60,5,26,8,232,0,9,0,0,1,17,35,17,33,17,33,21,33,17,1,238,106,1,168,1,238,253,168,251,60,6,108,7,64,249,148,212,249,148,0,1,1,132,1,168,5,26,8,232,0,5,0,0,1,17,33,17,33,21,1,132,1,168,1,238,1,168,7,64,249,148,212,0,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,17,33,17,51,17,33,17,33,17,1,132,254,18,2,88,212,2,88,254,18,251,60,6,2,1,168,6,2,249,254,254,88,249,254,0,0,1,255,150,1,62,5,26,8,232,0,7,0,0,3,17,33,17,51,17,33,17,106,2,88,212,2,88,1,62,1,168,6,2,249,254,254,88,0,1,255,150,251,60,3,44,8,232,0,9,0,0,1,17,33,17,33,17,51,17,51,17,1,132,254,18,2,88,212,106,251,60,6,2,1,168,6,2,249,254,248,86,0,1,255,150,1,62,2,194,8,232,0,5,0,0,3,17,33,17,51,17,106,2,88,212,1,62,1,168,6,2,248,86,0,1,1,132,251,60,5,26,8,232,0,9,0,0,1,17,51,17,51,17,33,17,33,17,1,132,106,212,2,88,254,18,251,60,7,170,6,2,249,254,254,88,249,254,0,1,1,238,1,62,5,26,8,232,0,5,0,0,1,17,51,17,33,17,1,238,212,2,88,1,62,7,170,249,254,254,88,0,0,2,255,150,0,212,5,26,8,232,0,7,0,11,0,0,3,53,33,17,51,17,33,21,1,53,33,21,106,2,88,212,2,88,250,124,5,132,2,124,212,5,152,250,104,212,254,88,212,212,0,1,255,150,0,212,2,194,8,232,0,9,0,0,39,53,33,53,33,53,33,17,51,17,106,2,88,253,168,2,88,212,212,212,212,212,5,152,247,236,0,1,1,238,0,212,5,26,8,232,0,9,0,0,37,17,51,17,33,21,33,21,33,21,1,238,212,2,88,253,168,2,88,212,8,20,250,104,212,212,212,0,0,1,255,150,251,60,5,26,8,232,0,19,0,0,1,17,33,53,33,17,51,17,51,17,51,17,33,21,33,17,35,17,35,17,1,26,254,124,1,132,212,212,212,1,132,254,124,212,212,251,60,6,108,212,6,108,249,148,6,108,249,148,212,249,148,6,108,249,148,0,0,2,255,150,251,60,3,150,8,232,0,7,0,11,0,0,1,17,33,53,33,17,51,17,51,17,51,17,1,26,254,124,1,132,212,212,212,251,60,6,108,212,6,108,242,84,13,172,242,84,0,2,1,26,251,60,5,26,8,232,0,7,0,11,0,0,1,17,51,17,33,21,33,17,33,17,51,17,2,194,212,1,132,254,124,253,132,212,251,60,13,172,249,148,212,249,148,13,172,242,84,0,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,53,33,17,33,17,33,21,33,17,1,132,254,18,1,238,1,168,1,238,254,18,251,60,6,108,212,6,108,249,148,212,249,148,0,1,255,150,251,60,3,44,8,232,0,7,0,0,1,17,33,53,33,17,33,17,1,132,254,18,1,238,1,168,251,60,6,108,212,6,108,242,84,0,0,1,1,132,251,60,5,26,8,232,0,7,0,0,1,17,33,17,33,21,33,17,1,132,1,168,1,238,254,18,251,60,13,172,249,148,212,249,148,0,0,1,255,150,251,60,5,26,8,232,0,11,0,0,1,17,33,17,33,17,51,17,33,17,33,17,1,238,253,168,2,88,212,2,88,253,168,251,60,6,2,1,168,6,2,249,254,254,88,249,254,0,0,1,255,150,251,60,2,194,8,232,0,7,0,0,1,17,33,17,33,17,51,17,1,238,253,168,2,88,212,251,60,6,2,1,168,6,2,242,84,0,0,1,1,238,251,60,5,26,8,232,0,7,0,0,1,17,51,17,33,17,33,17,1,238,212,2,88,253,168,251,60,13,172,249,254,254,88,249,254,0,0,1,255,150,251,60,5,26,8,232,0,19,0,0,1,17,33,53,33,53,33,53,33,17,51,17,33,21,33,21,33,21,33,17,1,238,253,168,2,88,253,168,2,88,212,2,88,253,168,2,88,253,168,251,60,5,152,212,212,212,5,152,250,104,212,212,212,250,104,0,0,1,255,150,251,60,2,194,8,232,0,11,0,0,1,17,33,53,33,53,33,53,33,17,51,17,1,238,253,168,2,88,253,168,2,88,212,251,60,5,152,212,212,212,5,152,242,84,0,1,1,238,251,60,5,26,8,232,0,11,0,0,1,17,51,17,33,21,33,21,33,21,33,17,1,238,212,2,88,253,168,2,88,253,168,251,60,13,172,250,104,212,212,212,250,104,0,1,0,0,254,32,4,176,255,73,0,3,0,0,17,17,33,17,4,176,254,32,1,41,254,215,0,1,0,0,254,32,4,176,0,115,0,3,0,0,17,17,33,17,4,176,254,32,2,83,253,173,0,1,0,0,254,32,4,176,1,156,0,3,0,0,17,17,33,17,4,176,254,32,3,124,252,132,0,1,0,0,254,32,4,176,2,198,0,3,0,0,17,17,33,17,4,176,254,32,4,166,251,90,0,1,0,0,254,32,4,176,3,239,0,3,0,0,17,17,33,17,4,176,254,32,5,207,250,49,0,1,0,0,254,32,4,176,5,25,0,3,0,0,17,17,33,17,4,176,254,32,6,249,249,7,0,1,0,0,254,32,4,176,6,66,0,3,0,0,17,17,33,17,4,176,254,32,8,34,247,222,0,1,0,0,254,32,4,176,7,108,0,3,0,0,17,17,33,17,4,176,254,32,9,76,246,180,0,1,0,0,2,18,4,176,7,108,0,3,0,0,17,17,33,17,4,176,2,18,5,90,250,166,0,1,0,0,6,66,4,176,7,108,0,3,0,0,17,17,33,17,4,176,6,66,1,42,254,214,0,1,0,0,254,32,0,150,7,108,0,3,0,0,17,17,51,17,150,254,32,9,76,246,180,0,0,1,0,0,254,32,1,44,7,108,0,3,0,0,17,17,33,17,1,44,254,32,9,76,246,180,0,1,0,0,254,32,1,194,7,108,0,3,0,0,17,17,33,17,1,194,254,32,9,76,246,180,0,1,0,0,254,32,2,88,7,108,0,3,0,0,17,17,33,17,2,88,254,32,9,76,246,180,0,1,0,0,254,32,2,238,7,108,0,3,0,0,17,17,33,17,2,238,254,32,9,76,246,180,0,1,0,0,254,32,3,132,7,108,0,3,0,0,17,17,33,17,3,132,254,32,9,76,246,180,0,1,0,0,254,32,4,26,7,108,0,3,0,0,17,17,33,17,4,26,254,32,9,76,246,180,0,1,2,88,254,32,4,176,7,108,0,3,0,0,1,17,33,17,2,88,2,88,254,32,9,76,246,180,0,1,4,26,254,32,4,176,7,108,0,3,0,0,1,17,51,17,4,26,150,254,32,9,76,246,180,0,0,1,0,0,254,32,2,88,2,198,0,3,0,0,17,17,33,17,2,88,254,32,4,166,251,90,0,1,2,88,254,32,4,176,2,18,0,3,0,0,1,17,33,17,2,88,2,88,254,32,3,242,252,14,0,1,0,0,2,18,2,88,7,108,0,3,0,0,17,17,33,17,2,88,2,18,5,90,250,166,0,1,0,0,254,32,4,176,7,108,0,5,0,0,17,17,33,17,33,17,2,88,2,88,254,32,9,76,251,90,251,90,0,2,0,0,254,32,4,176,7,108,0,3,0,7,0,0,17,17,33,25,2,33,17,2,88,2,88,2,18,5,90,250,166,252,14,3,242,252,14,0,0,1,0,0,254,32,4,176,7,108,0,5,0,0,17,17,33,17,33,17,4,176,253,168,254,32,9,76,250,166,252,14,0,1,0,0,254,32,4,176,7,108,0,5,0,0,1,17,33,17,33,17,2,88,253,168,4,176,254,32,3,242,5,90,246,180,0,1,2,88,2,18,4,176,7,108,0,3,0,0,1,17,33,17,2,88,2,88,2,18,5,90,250,166,0,1,0,0,254,32,4,176,7,108,0,7,0,0,17,17,33,17,33,17,33,17,2,88,2,88,253,168,254,32,4,166,4,166,250,166,252,14,0,1,0,0,254,32,4,176,7,108,0,5,0,0,17,17,33,17,33,17,2,88,2,88,254,32,4,166,4,166,246,180,0,9,0,0,254,32,4,176,7,108,0,3,0,7,0,11,0,14,0,18,0,22,0,26,0,30,0,34,0,0,17,53,1,21,1,1,21,1,33,1,21,1,33,55,21,33,39,1,21,1,53,1,21,1,53,1,51,1,53,1,51,1,53,1,51,4,176,252,204,3,52,252,244,1,104,1,164,254,132,1,104,20,251,100,20,4,176,251,80,4,176,251,80,1,104,40,254,112,2,248,40,252,224,4,136,40,1,44,40,4,176,40,248,68,3,52,40,252,244,1,164,40,254,132,20,20,20,4,176,40,252,224,40,4,176,40,1,144,40,1,104,252,224,40,2,248,251,80,40,4,136,0,0,18,0,0,254,32,4,176,7,108,0,3,0,7,0,11,0,15,0,19,0,23,0,26,0,30,0,34,0,38,0,42,0,46,0,50,0,54,0,58,0,62,0,66,0,70,0,0,17,53,1,21,1,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,55,21,7,51,55,21,33,39,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,37,53,55,51,3,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,4,176,252,4,3,252,252,44,160,3,52,252,244,160,2,108,253,188,160,1,164,254,132,160,220,180,160,20,251,100,20,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,160,40,200,1,104,40,254,112,2,48,40,253,168,2,248,40,252,224,3,192,40,252,24,4,136,40,1,244,40,4,176,40,247,124,3,252,40,252,44,3,52,40,252,244,2,108,40,253,188,1,164,40,254,132,220,40,180,20,20,20,4,176,40,252,24,40,4,176,40,252,24,40,4,176,40,252,24,40,4,176,40,252,24,40,4,176,40,200,40,160,254,112,40,1,104,253,168,40,2,48,252,224,40,2,248,252,24,40,3,192,251,80,40,4,136,0,0,36,0,0,254,32,4,176,7,108,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,35,0,39,0,43,0,47,0,50,0,54,0,58,0,62,0,66,0,70,0,74,0,78,0,82,0,86,0,90,0,94,0,98,0,102,0,106,0,110,0,114,0,118,0,122,0,126,0,130,0,134,0,138,0,142,0,0,17,53,1,21,1,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,1,21,1,51,55,21,7,51,55,21,7,51,55,21,33,39,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,1,53,1,21,37,53,55,51,7,53,55,51,3,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,1,53,1,51,4,176,251,160,4,96,251,200,60,3,252,252,44,60,3,152,252,144,60,3,52,252,244,60,2,208,253,88,60,2,108,253,188,60,2,8,254,32,60,1,164,254,132,60,1,64,254,232,60,220,180,60,120,80,60,20,251,100,20,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,4,176,251,80,60,40,100,160,40,200,1,4,40,254,212,1,104,40,254,112,1,204,40,254,12,2,48,40,253,168,2,148,40,253,68,2,248,40,252,224,3,92,40,252,124,3,192,40,252,24,4,36,40,251,180,4,136,40,2,88,40,4,176,40,247,24,4,96,40,251,200,3,252,40,252,44,3,152,40,252,144,3,52,40,252,244,2,208,40,253,88,2,108,40,253,188,2,8,40,254,32,1,164,40,254,132,1,64,40,254,232,220,40,180,120,40,80,20,20,20,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,251,180,40,4,176,40,100,40,60,200,40,160,254,212,40,1,4,254,112,40,1,104,254,12,40,1,204,253,168,40,2,48,253,68,40,2,148,252,224,40,2,248,252,124,40,3,92,252,24,40,3,192,251,180,40,4,36,251,80,40,4,136,0,0,3,0,0,0,8,4,176,4,248,0,20,0,56,0,68,0,30,64,20,24,28,25,46,45,0,20,50,39,57,58,64,63,9,14,60,21,105,10,60,0,47,51,43,23,57,48,49,1,46,2,39,46,3,39,55,30,3,23,30,3,23,1,34,38,39,55,22,22,51,50,54,53,52,46,2,53,52,54,51,50,22,21,20,6,7,23,62,2,51,50,22,21,20,6,6,19,39,18,33,50,22,23,7,38,38,35,34,3,252,16,74,155,137,135,186,122,74,23,180,33,76,99,134,90,120,164,108,71,27,252,236,147,192,73,86,53,63,30,29,36,58,77,58,105,94,84,102,38,7,35,21,43,68,58,95,114,116,209,137,180,138,1,2,89,147,52,104,38,95,47,151,1,190,86,111,83,44,43,84,100,135,95,40,86,109,69,49,27,36,70,91,129,95,254,14,76,69,138,41,37,34,34,44,58,58,81,65,95,104,102,84,52,90,20,14,55,91,55,113,94,123,185,102,3,55,68,1,117,66,66,144,44,42,0,5,0,0,0,110,4,176,5,30,0,15,0,30,0,42,0,58,0,70,0,30,64,18,16,21,58,30,36,64,6,42,8,50,106,0,42,105,8,0,105,8,0,47,43,43,43,17,23,57,48,49,37,34,36,2,53,52,18,36,51,50,4,18,21,20,2,4,39,34,38,53,52,51,58,2,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,19,50,54,54,53,52,38,38,35,34,6,6,21,20,22,22,1,34,38,53,52,54,51,50,22,21,20,6,2,88,181,254,242,149,149,1,14,181,181,1,14,149,149,254,242,186,139,169,66,67,181,186,72,35,31,181,254,158,59,72,72,59,59,72,72,151,141,209,116,116,209,141,140,210,116,116,210,1,94,59,72,72,59,59,72,72,110,149,1,14,181,181,1,14,149,149,254,242,181,181,254,242,149,219,136,112,66,29,37,112,136,1,174,72,59,59,72,72,59,59,72,253,253,116,210,140,141,209,116,116,209,141,140,210,116,2,3,72,59,59,72,72,59,59,72,0,0,4,0,0,0,110,4,176,5,30,0,15,0,30,0,42,0,54,0,20,64,11,16,21,30,42,48,36,6,8,0,105,8,0,47,43,23,57,48,49,37,34,36,2,53,52,18,36,51,50,4,18,21,20,2,4,39,50,54,53,52,38,35,42,2,35,34,21,20,22,3,50,54,53,52,38,35,34,6,21,20,22,33,50,54,53,52,38,35,34,6,21,20,22,2,88,181,254,242,149,149,1,14,181,181,1,14,149,149,254,242,186,149,181,31,35,72,186,181,67,66,169,66,59,72,72,59,59,72,72,1,223,59,72,72,59,59,72,72,110,149,1,14,181,181,1,14,149,149,254,242,181,181,254,242,149,219,136,112,37,29,66,112,136,1,174,72,59,59,72,72,59,59,72,72,59,59,72,72,59,59,72,0,10,0,31,0,139,4,148,5,0,0,11,0,15,0,19,0,23,0,35,0,39,0,43,0,47,0,51,0,55,0,54,64,39,12,40,43,13,15,41,14,42,44,23,22,45,52,36,53,39,37,55,54,38,20,49,19,0,24,105,19,0,106,49,19,105,6,30,105,49,6,106,49,0,47,43,43,43,43,43,17,18,23,57,48,49,1,34,38,53,52,54,51,50,22,21,20,6,5,39,55,23,19,17,51,17,1,39,33,21,5,50,54,53,52,38,35,34,6,21,20,22,3,39,55,23,1,39,55,23,3,53,33,21,1,17,51,17,23,39,55,23,2,88,160,195,195,160,161,194,194,253,249,87,198,86,102,122,253,137,1,1,23,1,34,93,112,112,93,93,112,112,155,197,86,197,2,11,199,86,199,157,1,26,253,137,122,186,86,199,86,1,99,195,160,161,194,194,161,160,195,92,86,197,86,254,191,1,23,254,234,1,252,122,122,143,112,93,93,112,112,93,93,112,1,111,197,87,197,253,72,199,86,199,1,43,122,122,1,94,1,26,254,230,128,86,199,86,0,4,0,136,0,0,4,40,5,160,0,15,0,19,0,23,0,35,0,35,64,19,22,0,24,105,0,8,19,18,18,8,23,8,114,8,30,106,8,3,114,0,43,43,43,17,57,47,57,18,57,43,57,48,49,1,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,1,53,33,21,5,17,51,17,3,50,54,53,52,38,35,34,6,21,20,22,2,88,147,207,110,110,207,147,147,208,109,109,208,253,203,3,73,253,245,200,100,117,127,127,117,117,127,127,2,8,110,211,149,143,201,106,106,201,143,149,211,110,254,174,190,190,182,2,68,253,188,2,198,146,134,125,135,135,125,134,146,0,5,0,36,255,236,4,146,5,130,0,11,0,23,0,27,0,36,0,45,0,49,64,30,24,25,6,18,106,6,32,33,27,40,42,26,7,38,36,36,0,38,37,106,34,38,2,114,0,12,106,0,9,114,0,43,43,43,50,43,18,57,47,18,23,57,43,57,57,48,49,5,34,2,53,52,54,51,50,22,21,20,2,39,50,54,53,52,38,35,34,6,21,20,22,1,39,1,23,3,53,52,54,55,39,39,51,17,1,53,33,21,39,39,6,6,35,1,214,206,228,228,206,206,228,228,206,103,111,111,103,103,111,111,1,64,133,1,138,154,112,44,49,57,36,180,253,188,2,68,226,55,46,78,39,20,1,6,238,229,251,251,229,238,254,250,190,162,148,139,151,151,139,148,162,2,85,134,1,158,90,254,117,136,34,84,61,48,217,253,188,1,144,180,180,29,47,40,36,0,0,2,0,89,0,60,4,87,5,0,0,18,0,22,0,18,64,9,12,0,15,21,4,19,6,105,19,0,47,43,23,57,48,49,37,34,38,53,16,0,55,22,0,17,20,6,35,34,38,53,35,20,6,23,17,51,17,1,54,105,116,1,19,246,242,1,3,110,101,87,97,212,105,124,174,162,148,134,1,8,1,168,148,150,254,88,254,250,134,148,106,95,95,106,102,3,232,252,24,0,0,6,0,49,0,60,4,127,5,0,0,11,0,27,0,32,0,36,0,41,0,57,0,28,64,19,35,30,39,18,52,0,40,29,49,21,25,45,42,12,14,33,6,105,33,0,47,43,23,57,48,49,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,39,23,21,35,20,6,3,53,55,51,21,3,17,51,17,3,53,51,23,21,19,34,38,53,35,53,55,7,52,54,51,50,22,21,20,6,2,88,169,206,206,169,170,205,205,254,22,104,127,129,106,100,120,129,232,93,128,42,92,211,114,134,114,211,92,64,106,128,93,232,129,120,100,107,128,127,2,58,181,149,172,208,208,172,149,181,254,74,130,106,112,135,138,114,118,35,83,104,127,1,31,52,150,202,254,153,3,232,252,24,1,103,202,150,52,254,225,127,104,83,35,118,114,138,135,112,106,130,0,1,0,69,0,60,4,107,4,236,0,20,0,14,181,10,7,0,106,14,7,0,47,51,43,57,48,49,37,38,2,2,53,52,54,51,50,22,23,51,54,54,51,50,22,21,20,2,2,2,88,160,239,132,146,120,101,142,16,12,16,142,101,120,146,132,239,60,90,1,9,1,57,160,168,204,160,131,131,160,204,168,160,254,198,254,247,0,0,1,0,109,0,40,4,67,5,20,0,3,0,10,179,2,0,106,2,0,47,43,48,49,37,9,2,2,92,254,17,1,239,1,231,40,2,118,2,118,253,138,0,1,0,126,0,0,4,102,5,140,0,7,0,21,64,10,4,2,2,0,6,2,114,0,8,114,0,43,43,18,57,47,57,48,49,33,3,51,19,51,1,51,1,1,68,198,206,119,18,1,195,206,253,242,2,89,254,91,4,216,250,116,0,3,0,0,0,8,4,176,4,248,0,20,0,56,0,68,0,29,64,19,54,50,53,32,33,0,1,28,39,57,68,62,63,13,66,21,105,11,66,0,47,51,43,23,57,48,49,19,39,62,3,55,62,3,55,23,14,3,7,14,2,1,34,38,38,53,52,54,51,50,22,22,23,55,38,38,53,52,54,51,50,22,21,20,14,2,21,20,22,51,50,54,55,23,6,6,1,38,35,34,6,7,39,54,54,51,32,19,180,180,27,71,108,164,120,90,134,99,76,33,180,23,74,122,186,135,137,155,74,2,80,140,210,116,115,94,59,67,43,21,35,7,38,102,84,95,104,58,77,58,36,29,30,63,53,86,73,192,254,87,69,151,47,95,38,104,52,148,88,1,2,138,1,190,60,95,129,91,70,36,27,49,69,109,86,40,95,135,100,84,43,44,83,111,253,244,102,185,123,94,113,55,91,55,14,20,90,52,84,102,104,95,65,81,58,58,44,34,34,37,41,138,69,76,3,55,251,42,44,144,66,66,254,139,0,4,0,108,255,13,4,48,5,159,0,26,0,41,0,53,0,57,0,42,64,28,33,48,106,27,42,106,27,54,38,11,45,56,36,33,8,6,0,22,106,6,0,105,6,17,106,6,3,114,0,43,43,43,43,18,23,57,43,43,48,49,5,34,36,2,17,16,33,32,17,20,20,21,35,52,52,53,16,33,32,17,16,18,51,50,55,21,6,3,34,38,53,52,54,51,50,22,23,51,17,35,6,6,39,50,54,53,52,38,35,34,6,21,20,22,23,17,51,17,2,198,211,254,246,125,2,0,1,196,172,254,232,254,168,206,228,125,72,79,152,133,147,147,135,77,111,22,74,74,18,111,25,80,86,78,74,82,90,83,241,172,243,175,1,115,1,39,3,73,253,222,90,170,109,107,168,88,1,126,253,97,254,164,254,199,25,180,25,1,135,247,224,237,233,121,111,254,35,111,121,190,121,111,172,157,134,146,134,147,170,2,89,253,167,0,0,3,0,56,255,236,4,200,5,160,0,15,0,35,0,43,0,45,64,25,22,23,32,36,32,36,32,16,39,40,8,106,7,40,3,114,16,29,106,16,9,114,0,8,114,0,43,43,43,43,50,43,50,18,57,57,47,47,17,57,57,48,49,33,1,38,38,53,52,54,51,23,34,6,21,20,22,23,1,5,34,38,53,52,54,55,23,6,6,21,20,22,51,50,18,17,51,16,0,19,52,38,35,39,50,22,21,3,194,253,252,130,114,213,195,4,91,101,77,67,2,146,253,6,183,223,199,181,110,138,150,125,103,198,216,192,254,182,14,85,77,4,181,199,2,54,143,227,106,191,207,184,112,104,73,140,77,253,18,20,199,165,161,206,27,122,27,137,98,85,105,1,58,1,32,254,137,254,101,4,118,65,69,184,166,152,0,4,0,36,0,0,4,136,5,140,0,6,0,10,0,14,0,18,0,27,64,14,9,17,18,106,0,7,13,6,17,2,114,7,8,114,0,43,43,50,50,17,57,43,57,48,49,1,34,38,53,52,54,51,3,17,51,17,51,17,51,17,1,55,33,21,2,0,227,249,253,235,102,200,170,200,254,24,20,2,124,2,128,197,185,188,210,250,116,5,6,250,250,5,140,250,116,4,206,190,190,0,0,2,0,69,255,36,4,107,6,32,0,54,0,67,0,41,64,23,31,30,65,51,106,3,4,59,24,106,65,59,38,10,17,106,38,10,105,38,44,106,38,0,47,43,43,43,18,57,57,43,57,57,43,57,57,48,49,1,20,6,7,21,22,22,21,20,6,33,34,38,39,55,22,22,51,50,54,53,52,38,39,37,38,38,53,52,54,23,53,46,2,53,52,54,33,50,23,7,38,38,35,34,6,21,20,22,23,5,30,2,5,20,22,22,51,50,54,53,52,38,35,34,6,4,107,147,162,107,102,240,254,246,120,171,71,24,105,161,72,150,136,40,44,254,158,157,147,187,208,115,129,51,248,1,20,146,134,22,81,124,59,157,141,45,49,1,70,110,142,70,252,182,88,152,96,150,136,164,140,168,150,2,162,140,129,2,28,43,119,107,171,155,14,16,192,16,16,63,69,48,47,13,110,49,143,146,134,136,1,23,39,73,99,77,174,156,20,184,8,6,61,69,46,40,18,120,40,86,125,105,75,83,32,92,100,118,80,94,0,3,0,26,0,15,4,150,5,125,0,11,0,36,0,48,0,36,64,22,18,24,106,12,30,106,12,22,21,18,4,6,0,37,106,6,0,105,6,43,106,6,0,47,43,43,43,18,23,57,43,43,48,49,37,32,0,17,16,0,33,32,0,17,16,0,3,34,38,53,52,54,51,50,22,23,7,38,35,34,6,21,20,22,51,50,54,55,23,6,6,7,50,18,53,16,2,35,34,2,17,20,18,2,88,254,238,254,212,1,44,1,18,1,18,1,44,254,212,222,175,191,186,172,89,127,27,123,44,84,76,84,103,97,44,87,41,24,52,113,107,193,211,211,193,193,211,211,15,1,100,1,68,1,82,1,116,254,140,254,174,254,188,254,156,1,109,172,160,155,173,63,57,113,73,82,76,88,94,14,12,156,18,12,211,1,20,250,1,9,1,35,254,221,254,247,250,254,236,0,0,5,0,26,0,15,4,150,5,125,0,11,0,15,0,19,0,31,0,49,0,39,64,23,43,13,16,12,12,32,17,18,33,41,13,7,20,6,26,106,0,20,106,6,0,105,6,0,47,43,43,43,17,23,57,17,51,17,51,48,49,37,32,0,17,16,0,33,32,0,17,16,0,1,17,51,17,51,39,55,23,5,50,18,53,16,2,35,34,2,17,20,18,19,53,51,50,54,53,52,38,35,35,53,51,50,22,21,20,6,35,2,88,254,238,254,212,1,44,1,18,1,18,1,44,254,212,253,242,160,209,114,154,147,254,208,193,211,211,193,193,211,211,87,154,44,48,48,44,174,174,116,126,126,116,15,1,100,1,68,1,82,1,116,254,140,254,174,254,188,254,156,1,125,2,122,253,134,212,27,239,227,1,20,250,1,9,1,35,254,221,254,247,250,254,236,1,175,130,45,40,41,44,130,107,98,107,118,0,4,0,26,0,15,4,150,5,125,0,11,0,15,0,27,0,45,0,33,64,19,39,13,12,28,29,37,13,5,6,0,16,106,6,0,105,6,22,106,6,0,47,43,43,43,18,23,57,17,51,48,49,37,32,0,17,16,0,33,32,0,17,16,0,1,17,51,17,23,50,18,53,16,2,35,34,2,17,20,18,19,53,51,50,54,53,52,38,35,35,53,51,50,22,21,20,6,35,2,88,254,238,254,212,1,44,1,18,1,18,1,44,254,212,253,242,160,92,193,211,211,193,193,211,211,87,144,44,48,48,44,164,174,116,126,126,116,15,1,100,1,68,1,82,1,116,254,140,254,174,254,188,254,156,1,125,2,122,253,134,227,1,20,250,1,9,1,35,254,221,254,247,250,254,236,1,135,130,55,50,50,55,130,118,107,117,128,0,6,0,29,3,6,4,119,5,140,0,3,0,7,0,15,0,19,0,27,0,31,0,57,64,30,13,22,22,5,4,106,30,11,11,24,24,17,17,1,1,15,20,25,9,4,5,28,28,16,16,5,0,105,5,2,0,63,43,50,17,51,17,18,23,57,50,17,51,17,51,17,51,17,51,43,50,17,51,48,49,19,17,51,17,1,53,33,21,1,55,51,19,51,21,35,3,5,17,51,17,55,3,35,53,51,19,51,23,23,17,51,17,192,151,254,198,1,224,1,62,16,6,85,80,31,79,254,145,146,103,89,31,90,85,4,10,142,146,3,6,2,134,253,122,2,2,132,132,254,206,161,1,21,172,254,246,208,2,134,253,122,208,1,10,172,254,235,161,208,2,134,253,122,0,4,0,52,255,236,4,142,5,159,0,3,0,15,0,27,0,51,0,46,64,30,28,47,106,34,28,105,0,1,3,2,4,4,34,41,106,34,3,114,10,22,106,4,10,105,4,16,106,4,9,114,0,43,43,43,43,43,43,18,23,57,43,43,48,49,19,39,1,23,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,1,34,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,51,50,55,23,6,186,92,3,162,92,254,250,142,172,172,142,141,171,171,141,57,69,69,57,58,70,70,254,104,160,176,182,166,93,132,28,123,21,67,40,76,84,89,81,83,89,24,90,1,50,136,2,152,130,252,28,177,145,147,177,177,147,145,177,168,85,69,71,85,85,71,69,85,2,155,165,151,147,161,63,57,113,35,38,77,71,74,82,36,156,40,0,2,1,2,3,2,3,174,5,160,0,11,0,23,0,21,64,12,0,12,106,6,0,105,6,18,106,6,3,114,0,43,43,43,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,2,88,154,188,188,154,155,187,187,155,76,91,91,76,76,91,91,3,2,184,151,152,183,183,152,151,184,150,102,83,83,102,102,83,83,102,0,0,1,1,206,3,12,3,36,5,140,0,3,0,12,181,1,0,106,1,2,114,0,43,43,48,49,1,19,33,3,1,206,80,1,6,190,3,12,2,128,253,128,0,2,0,242,3,12,3,216,5,140,0,3,0,7,0,16,183,7,5,0,105,2,5,2,114,0,43,50,43,50,48,49,1,19,33,3,33,19,33,3,2,130,80,1,6,190,253,216,80,1,6,190,3,12,2,128,253,128,2,128,253,128,0,1,1,244,254,202,2,188,6,194,0,3,0,12,181,1,0,106,1,149,114,0,43,43,48,49,1,17,51,17,1,244,200,254,202,7,248,248,8,0,0,2,1,244,254,202,2,188,6,194,0,3,0,7,0,21,64,12,0,5,105,1,0,106,1,4,105,1,149,114,0,43,43,43,43,48,49,1,17,51,17,3,17,51,17,1,244,200,200,200,3,102,3,92,252,164,251,100,3,92,252,164,0,2,0,220,1,16,3,212,5,160,0,3,0,9,0,21,64,11,5,4,106,5,5,1,0,106,1,3,114,0,43,43,57,47,43,48,49,1,3,51,3,1,53,33,33,21,33,1,255,10,192,10,254,49,1,126,1,122,254,134,1,16,4,144,251,112,2,180,168,168,0,1,0,0,0,0,4,40,5,160,0,28,0,29,64,17,15,14,106,15,0,7,21,106,7,3,114,0,28,106,0,9,114,0,43,43,43,43,18,57,43,48,49,33,34,36,2,53,16,18,51,50,22,21,20,2,4,33,53,32,0,17,52,38,35,34,2,21,20,22,22,51,3,192,212,254,195,175,237,217,169,185,250,254,36,254,174,1,151,1,191,75,69,116,128,130,236,158,187,1,81,226,1,73,1,105,209,191,232,254,186,172,184,1,30,1,4,103,113,254,248,242,170,255,141,0,0,5,0,220,1,16,3,212,5,160,0,5,0,9,0,15,0,19,0,23,0,55,64,29,3,0,1,106,4,0,14,11,10,106,13,11,18,23,21,0,19,8,11,0,11,0,11,21,6,105,21,3,114,0,43,43,57,57,47,47,17,57,57,17,18,57,57,17,51,43,50,17,51,43,50,48,49,19,53,33,33,21,33,3,19,51,19,1,53,33,33,21,33,39,17,51,17,3,3,51,3,220,1,126,1,122,254,134,101,10,172,10,254,39,1,126,1,122,254,134,91,172,172,10,192,10,4,0,158,158,253,16,1,92,254,164,1,22,158,158,110,1,188,254,68,1,166,1,102,254,154,0,0,6,0,58,0,0,4,132,5,140,0,11,0,15,0,19,0,31,0,39,0,43,0,57,64,34,41,36,36,37,33,43,17,43,32,32,17,16,106,17,2,114,6,26,106,0,6,105,0,20,106,14,0,105,15,14,106,15,8,114,0,43,43,43,43,43,43,43,43,50,17,51,17,18,57,57,51,17,51,48,49,37,34,38,53,52,54,51,50,22,21,20,6,5,53,33,21,1,17,51,17,1,50,54,53,52,38,35,34,6,21,20,22,1,3,35,53,51,19,51,21,35,17,51,17,3,86,138,166,166,138,137,165,165,254,71,2,94,251,182,172,2,112,53,63,63,53,54,64,64,254,102,140,92,132,140,50,30,172,220,171,141,143,171,171,143,141,171,220,138,138,3,72,2,68,253,188,254,60,80,64,66,80,80,66,64,80,1,196,1,124,200,254,132,200,2,68,253,188,0,0,4,0,76,255,236,4,100,4,156,0,30,0,34,0,38,0,42,0,50,64,31,35,36,106,12,13,42,33,41,40,34,6,6,31,27,32,3,35,35,0,6,18,106,0,6,105,0,24,106,0,9,114,0,43,43,43,43,18,57,47,23,57,18,23,57,51,43,48,49,5,34,0,17,16,0,51,50,0,17,20,6,7,39,54,53,52,38,35,34,2,21,20,22,51,50,54,55,51,6,4,37,3,19,55,3,53,33,21,37,17,23,19,2,98,254,254,232,1,24,254,245,1,13,2,2,159,3,185,169,173,191,191,173,125,179,38,151,45,254,254,254,97,240,12,228,206,3,173,254,207,251,12,20,1,43,1,15,1,44,1,74,254,203,254,231,39,62,17,16,36,66,227,249,254,242,246,217,239,139,126,181,198,117,1,71,1,191,237,253,132,154,154,66,2,58,237,254,179,0,0,1,0,80,0,110,4,96,5,30,0,5,0,0,37,1,17,1,1,17,2,88,253,248,2,8,2,8,110,1,44,2,88,1,44,254,212,253,168,0,0,1,0,75,1,139,4,101,4,1,0,15,0,0,1,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,2,88,158,236,131,131,236,158,158,236,131,131,236,1,139,78,142,95,95,142,78,78,142,95,95,142,78,0,0,1,0,0,0,110,4,176,5,30,0,15,0,0,37,34,36,2,53,52,18,36,51,50,4,18,21,20,2,4,2,88,181,254,242,149,149,1,14,181,181,1,14,149,149,254,242,110,149,1,14,181,181,1,14,149,149,254,242,181,181,254,242,149,0,1,0,0,0,110,4,176,5,30,0,3,0,0,53,17,33,17,4,176,110,4,176,251,80,0,0,1,0,212,1,66,3,220,4,74,0,3,0,0,9,3,2,88,254,124,1,132,1,132,1,66,1,132,1,132,254,124,0,1,1,6,1,210,3,170,4,16,0,2,0,0,1,1,33,2,88,254,174,2,164,1,210,2,62,0,0,1,1,10,1,116,3,72,4,24,0,2,0,0,9,2,3,72,253,194,2,62,1,116,1,82,1,82,0,1,1,72,1,0,3,105,4,140,0,3,0,0,9,3,2,88,254,240,1,16,1,17,1,0,1,198,1,198,254,58,0,1,1,104,1,116,3,166,4,24,0,2,0,0,1,17,1,1,104,2,62,1,116,2,164,254,174,0,0,1,1,6,1,124,3,170,3,186,0,2,0,0,9,2,1,6,1,82,1,82,1,124,2,62,253,194,0,1,0,0,0,168,4,176,5,30,0,4,0,0,55,3,1,1,3,230,230,2,88,2,88,230,168,2,194,1,180,254,76,253,62,0,0,1,1,168,2,22,3,8,3,118,0,3,0,0,1,39,55,23,2,88,176,176,176,2,22,176,176,176,0,1,1,159,1,146,3,17,3,251,0,3,0,0,1,3,19,19,2,88,185,185,185,1,146,1,52,1,53,254,203,0,0,1,1,29,0,185,3,147,4,211,0,15,0,0,37,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,2,88,95,142,78,78,142,95,95,142,78,78,142,185,131,236,158,158,236,131,131,236,158,158,236,131,0,1,1,119,1,229,3,57,3,167,0,3,0,0,1,17,33,17,1,119,1,194,1,229,1,194,254,62,0,1,0,75,0,185,4,101,2,198,0,8,0,0,37,34,38,38,53,33,20,6,6,2,88,158,236,131,4,26,131,236,185,131,236,158,158,236,131,0,0,1,0,0,0,190,4,176,4,206,0,5,0,0,37,1,1,33,1,1,1,44,254,212,1,44,2,88,1,44,254,212,190,2,8,2,8,253,248,253,248,0,0,3,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,0,19,17,33,17,1,33,17,33,19,17,33,17,125,3,182,252,24,4,26,251,230,150,2,238,2,198,1,229,254,27,2,13,251,230,3,132,253,18,2,238,0,3,0,75,0,185,4,101,4,211,0,2,0,6,0,10,0,0,19,33,17,5,17,33,17,37,33,17,33,111,3,211,252,9,4,26,252,124,2,238,253,18,4,185,252,36,36,4,26,251,230,150,2,238,0,1,0,75,2,198,4,101,4,211,0,8,0,0,19,52,54,54,51,50,22,22,21,75,131,236,158,158,236,131,2,198,158,236,131,131,236,158,0,3,0,75,0,185,4,101,4,211,0,3,0,7,0,11,0,0,19,33,17,33,7,17,33,17,37,33,17,33,125,3,182,252,74,50,4,26,252,124,2,238,253,18,2,198,254,27,40,4,26,251,230,150,2,238,0,3,0,75,0,185,4,101,4,211,0,2,0,6,0,10,0,0,37,33,17,37,17,33,17,5,33,17,33,4,65,252,45,3,247,251,230,3,132,253,18,2,238,211,3,220,36,251,230,4,26,150,253,18,0,2,0,80,0,110,4,96,5,30,0,5,0,17,0,0,37,1,17,1,1,17,5,35,1,7,17,23,1,51,1,55,17,39,2,88,253,248,2,8,2,8,254,62,140,1,254,70,70,254,2,140,254,2,70,70,110,1,44,2,88,1,44,254,212,253,168,168,1,40,122,2,76,122,1,40,254,216,122,253,180,122,0,2,0,75,1,139,4,101,4,1,0,15,0,27,0,0,1,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,53,52,38,35,34,6,21,20,22,2,88,158,236,131,131,236,158,158,236,131,131,236,158,170,205,205,170,169,206,206,1,139,78,142,95,95,142,78,78,142,95,95,142,78,150,91,74,74,91,91,74,74,91,0,2,0,0,0,110,4,176,5,30,0,3,0,7,0,0,53,17,33,17,37,33,17,33,4,176,251,230,3,132,252,124,110,4,176,251,80,150,3,132,0,2,0,212,1,66,3,220,4,74,0,3,0,11,0,0,9,3,5,35,1,21,1,51,1,53,2,88,254,124,1,132,1,132,254,181,114,1,34,254,222,114,254,222,1,66,1,132,1,132,254,124,233,1,34,114,1,34,254,222,114,0,0,2,1,72,1,0,3,105,4,140,0,3,0,11,0,0,9,3,7,35,19,21,3,51,3,53,2,88,254,240,1,16,1,17,231,84,182,182,84,182,1,0,1,198,1,198,254,58,232,1,45,138,1,45,254,211,138,0,0,2,0,0,0,168,4,176,5,30,0,4,0,9,0,0,55,3,1,1,3,37,33,19,1,1,230,230,2,88,2,88,230,253,137,2,10,163,254,88,254,88,168,2,194,1,180,254,76,253,62,150,1,243,1,52,254,204,0,2,1,159,1,146,3,17,3,251,0,3,0,7,0,0,1,3,19,19,7,55,39,7,2,88,185,185,185,185,69,69,68,1,146,1,52,1,53,254,203,114,114,114,114,0,0,2,1,29,0,185,3,147,4,211,0,15,0,27,0,0,37,34,38,38,53,52,54,54,51,50,22,22,21,20,6,6,39,50,54,53,52,38,35,34,6,21,20,22,2,88,95,142,78,78,142,95,95,142,78,78,142,95,74,91,91,74,74,91,91,185,131,236,158,158,236,131,131,236,158,158,236,131,150,206,169,170,205,205,170,169,206,0,0,2,1,119,1,229,3,57,3,167,0,3,0,7,0,0,1,17,33,17,37,51,53,35,1,119,1,194,254,212,150,150,1,229,1,194,254,62,150,150,0,6,252,10,255,236,3,226,5,160,0,15,0,36,0,52,0,73,0,81,0,89,0,77,64,41,85,8,77,77,78,45,106,60,23,59,22,69,32,82,74,23,22,16,32,74,32,74,16,86,44,7,78,3,114,0,37,8,114,66,16,29,106,53,16,9,114,0,43,50,43,50,43,50,43,50,50,50,17,57,57,47,47,18,57,57,17,51,17,51,17,51,17,51,43,50,17,51,51,48,49,33,1,38,38,53,52,54,51,23,34,6,21,20,22,23,1,5,34,38,53,52,54,55,23,6,6,21,20,22,51,50,18,17,51,16,2,6,55,1,38,38,53,52,54,51,23,34,6,21,20,22,23,1,5,34,38,53,52,54,55,23,6,6,21,20,22,51,50,18,17,51,16,2,6,1,52,38,35,39,50,22,21,33,52,38,35,39,50,22,21,2,250,254,48,67,97,187,169,4,66,74,54,34,2,40,249,150,183,183,150,150,110,105,103,94,94,162,162,182,117,236,213,254,48,69,95,187,169,4,66,74,52,36,2,40,1,142,183,183,150,150,110,105,103,94,94,162,162,182,113,235,252,86,74,68,4,171,189,3,38,74,68,4,180,180,2,214,107,187,82,161,177,184,81,75,57,119,54,252,154,20,181,183,170,196,28,122,28,130,104,100,100,1,49,1,51,254,249,254,163,174,20,2,214,108,192,76,161,177,184,81,75,55,118,57,252,154,20,181,183,170,196,28,122,28,130,104,100,100,1,50,1,50,254,249,254,163,174,4,118,65,69,184,166,152,65,69,184,159,159,0,0,2,253,22,254,202,3,152,6,194,0,3,0,7,0,21,64,11,1,0,106,1,1,6,4,105,6,149,114,0,43,43,57,47,43,48,49,1,53,33,21,1,35,17,51,253,48,6,104,250,70,200,200,2,104,186,186,252,98,7,248,0,0,2,253,68,254,202,3,192,6,194,0,54,0,58,0,41,64,25,57,55,106,57,149,114,17,16,44,45,106,44,33,0,7,106,33,0,105,33,26,106,33,154,114,0,43,43,43,43,18,57,43,57,57,43,43,48,49,5,34,38,39,55,22,22,51,50,54,53,52,38,53,52,54,55,53,38,38,53,52,54,53,52,38,35,34,6,7,39,54,54,51,50,22,21,20,6,21,20,30,2,51,21,34,6,6,21,20,22,21,20,6,5,35,17,51,1,34,93,124,53,24,63,116,49,120,126,46,138,124,124,138,46,126,120,49,116,63,24,33,144,93,210,232,42,57,87,92,34,48,127,95,42,232,252,24,200,200,214,11,9,170,4,6,131,119,68,130,74,95,113,2,34,2,109,99,71,130,71,110,122,5,5,170,9,11,215,197,69,132,75,34,54,37,19,158,25,63,56,72,135,69,204,226,96,7,248,0,4,253,114,254,202,2,142,6,194,0,3,0,7,0,11,0,15,0,33,64,20,13,15,106,13,149,114,3,6,106,4,2,3,106,2,11,106,9,2,153,114,0,43,50,43,43,50,43,43,43,48,49,5,17,51,17,33,53,33,21,1,53,33,21,1,17,51,17,1,196,202,253,0,2,74,253,182,2,74,251,154,200,200,7,28,248,228,176,176,6,108,176,176,249,38,7,248,248,8,255,255,253,198,254,202,2,58,6,194,0,39,4,167,255,126,0,0,0,7,4,167,251,210,0,0,0,4,245,72,254,202,2,188,6,194,0,7,0,11,0,15,0,19,0,63,64,37,19,13,15,106,17,13,149,114,3,2,6,7,0,8,10,5,4,11,1,8,106,7,1,105,6,7,106,9,4,5,106,6,4,105,6,151,114,0,43,43,43,50,43,43,43,57,17,18,57,17,51,17,18,57,57,43,50,43,50,48,49,5,53,1,53,1,53,1,21,1,17,23,17,1,17,51,17,33,17,51,17,252,220,4,222,251,34,5,224,250,32,200,247,164,200,3,32,200,10,240,1,214,18,1,216,240,253,148,202,253,150,5,160,100,251,40,254,112,7,248,248,8,7,248,248,8,0,4,249,112,254,202,3,152,6,194,0,3,0,7,0,11,0,15,0,33,64,20,9,13,15,106,10,13,149,114,7,6,106,2,7,105,2,3,106,2,148,114,0,43,43,43,43,43,50,43,50,48,49,1,53,33,21,1,53,33,21,1,35,17,51,1,17,51,17,253,8,6,144,249,112,6,144,249,172,200,200,252,44,200,3,98,186,186,254,12,186,186,253,92,7,248,248,8,7,248,248,8,0,3,249,152,254,202,2,143,6,194,0,7,0,11,0,15,0,59,64,35,2,3,6,11,7,1,10,5,4,14,12,106,14,149,114,8,1,0,106,7,1,105,6,7,106,9,4,5,106,6,4,105,6,151,114,0,43,43,43,50,43,43,43,50,43,43,17,18,57,17,18,57,17,57,57,48,49,5,53,1,53,1,53,1,21,1,17,23,17,1,35,17,51,252,175,4,222,251,34,5,224,250,32,200,252,233,200,200,10,240,1,214,18,1,216,240,253,148,202,253,150,5,160,100,251,40,254,112,7,248,0,3,253,22,254,202,3,152,6,194,0,3,0,7,0,11,0,29,64,18,10,8,105,10,149,114,7,6,106,2,7,105,2,3,106,2,148,114,0,43,43,43,43,43,43,48,49,1,53,33,21,1,53,33,21,1,35,17,51,253,88,6,64,249,192,6,64,250,70,200,200,3,98,186,186,254,12,186,186,253,92,7,248,0,0,2,253,109,255,246,3,77,5,150,0,7,0,11,0,45,64,26,3,2,6,7,11,0,1,8,106,7,1,105,6,7,106,10,5,4,9,106,6,4,105,6,151,114,0,43,43,43,50,57,43,43,43,50,57,17,18,57,57,48,49,5,53,1,53,1,53,1,21,1,17,23,17,253,109,4,222,251,34,5,224,250,32,200,10,240,1,214,18,1,216,240,253,148,202,253,150,5,160,100,251,40,0,3,252,10,254,192,3,197,6,204,0,7,0,41,0,45,0,76,64,49,18,39,21,22,36,35,25,32,8,8,43,28,28,29,106,28,3,114,45,8,96,8,15,105,8,9,114,3,2,6,7,1,0,106,7,1,106,6,7,106,4,5,106,6,4,105,6,151,114,0,43,43,43,43,43,43,17,18,57,57,43,43,26,16,205,43,43,16,205,18,23,57,48,49,55,53,1,53,1,53,1,21,1,34,38,39,55,22,22,51,50,54,53,52,38,39,39,38,38,53,52,54,51,21,34,6,21,20,22,23,23,22,22,21,20,6,1,17,51,17,7,2,188,251,71,5,187,249,235,121,211,90,26,110,205,97,140,136,67,63,246,145,155,236,214,112,124,74,72,208,158,164,251,254,253,138,214,220,1,10,18,1,248,215,253,141,202,253,140,39,39,194,43,45,98,100,66,92,28,112,66,186,138,186,204,184,103,93,69,86,35,98,73,187,146,193,193,254,212,8,12,247,244,0,255,255,252,64,0,190,3,192,4,204,0,39,3,67,251,220,0,0,0,7,3,67,255,116,0,0,0,8,247,184,0,190,3,152,4,204,0,3,0,7,0,11,0,15,0,19,0,23,0,27,0,31,0,61,64,32,8,24,24,23,16,105,15,7,7,31,31,3,3,22,23,106,9,25,25,22,17,105,14,6,6,30,30,2,2,22,147,114,0,43,50,17,51,17,51,17,51,43,50,17,51,43,50,17,51,17,51,17,51,43,50,17,51,48,49,1,53,33,21,33,53,33,21,1,17,51,17,1,53,33,21,1,17,51,17,1,53,33,21,1,17,51,17,1,53,33,21,253,229,3,117,248,163,3,117,251,218,192,253,172,3,232,5,164,192,253,172,3,232,249,176,192,253,172,3,232,2,105,186,186,186,186,254,85,4,14,251,242,1,171,186,186,254,85,4,14,251,242,1,171,186,186,254,85,4,14,251,242,1,171,186,186,255,255,252,104,0,190,3,196,4,204,0,39,3,67,252,4,0,0,0,7,3,73,255,116,0,0,255,255,247,184,0,160,3,152,4,236,0,39,3,71,247,84,0,0,0,39,3,71,255,76,0,0,0,7,2,167,251,80,0,180,255,255,247,184,255,236,3,152,5,150,0,39,3,71,247,84,0,0,0,39,3,71,255,76,0,0,0,7,2,170,251,80,0,0,0,4,252,4,1,110,3,252,4,28,0,3,0,7,0,11,0,15,0,29,64,16,6,15,14,106,7,2,15,105,11,2,3,106,10,2,148,114,0,43,50,43,50,43,50,43,50,48,49,19,53,33,21,1,53,33,21,1,53,33,21,19,53,33,21,80,3,172,248,8,3,152,252,104,3,152,180,3,172,3,98,186,186,254,12,186,186,1,244,186,186,254,12,186,186,0,0,3,247,84,0,206,3,252,4,188,0,3,0,7,0,11,0,29,64,18,5,4,106,8,5,105,9,8,106,0,1,106,9,0,105,9,147,114,0,43,43,43,43,43,43,48,49,1,53,33,21,1,53,33,21,1,53,33,21,247,84,12,168,243,88,12,168,243,88,12,168,4,2,186,186,252,204,186,186,1,154,186,186,0,0,3,247,184,0,112,3,192,5,24,0,11,0,15,0,19,0,50,64,30,10,5,4,11,4,17,3,13,12,1,0,106,1,13,12,106,16,13,105,6,17,16,106,8,9,106,8,17,148,114,0,43,206,43,43,57,43,43,206,43,17,18,57,18,23,57,48,49,55,53,55,53,1,53,1,53,39,53,1,21,1,53,33,5,1,53,33,5,6,200,1,204,254,56,204,3,186,243,248,10,240,254,252,246,20,9,96,1,4,112,220,30,82,1,0,18,1,8,70,32,220,253,234,122,254,250,186,186,1,204,186,186,0,3,252,104,0,112,3,192,5,24,0,11,0,15,0,19,0,47,64,28,6,17,16,106,3,12,13,106,11,4,5,10,4,17,12,1,0,106,1,17,12,105,8,9,106,8,17,148,0,63,206,43,43,206,43,17,18,23,57,43,57,43,57,48,49,55,53,55,53,1,53,1,53,39,53,1,21,1,53,33,5,1,53,33,5,6,200,1,204,254,56,204,3,186,248,168,6,64,254,252,250,196,4,176,1,4,112,220,30,82,1,0,18,1,8,70,32,220,253,234,122,254,250,186,186,1,204,186,186,0,0,4,247,184,0,112,3,192,5,24,0,7,0,11,0,15,0,27,0,59,64,36,5,24,25,106,4,24,13,22,13,12,106,0,17,16,106,1,17,8,19,8,9,106,7,27,20,2,3,21,26,6,8,13,8,105,13,148,0,63,43,23,57,43,57,16,206,50,43,50,43,57,16,206,50,43,50,48,49,55,53,1,53,1,53,1,21,1,53,33,5,1,53,33,5,1,53,55,53,1,53,1,53,39,53,1,21,6,2,148,253,108,3,186,243,248,8,32,254,252,248,228,6,144,1,4,253,234,200,1,204,254,56,204,3,186,112,220,1,112,18,1,110,220,253,234,122,254,250,186,186,1,204,186,186,253,34,220,30,82,1,0,18,1,8,70,32,220,253,234,122,0,0,5,247,184,0,112,3,152,5,24,0,7,0,11,0,15,0,19,0,23,0,64,64,39,3,23,22,106,4,13,23,105,21,13,1,6,5,2,4,9,20,13,12,106,0,19,16,106,7,8,19,105,17,18,8,9,106,13,8,105,13,148,114,0,43,43,43,50,57,43,50,43,50,43,50,17,23,57,17,57,43,50,43,50,48,49,37,1,53,1,21,1,21,1,37,53,33,21,1,53,33,21,1,1,55,5,1,39,1,21,3,152,252,70,3,186,253,108,2,148,244,32,7,36,248,220,7,36,1,136,253,244,132,1,136,254,120,132,2,12,112,2,24,122,2,22,220,254,146,18,254,144,34,186,186,1,244,186,186,253,14,1,40,144,220,2,22,142,1,40,220,0,0,3,247,84,255,156,3,252,5,240,0,3,0,7,0,11,0,28,64,17,4,5,106,4,0,105,9,4,105,9,8,106,9,1,105,9,148,0,63,43,43,43,43,43,48,49,5,1,51,1,1,53,33,21,1,53,33,21,251,164,3,46,202,252,210,250,230,12,168,243,88,12,168,100,6,84,249,172,1,210,186,186,1,244,186,186,0,2,252,104,0,112,3,152,5,24,0,7,0,11,0,40,64,25,7,2,3,6,4,10,11,1,0,106,11,1,105,10,11,106,4,5,106,10,4,105,10,147,114,0,43,43,43,43,43,43,17,18,23,57,48,49,37,53,1,53,1,53,1,21,7,53,33,21,252,104,2,148,253,108,3,186,96,3,214,112,220,1,112,18,1,110,220,253,234,122,34,188,188,0,0,3,247,184,0,112,3,192,5,24,0,15,0,23,0,27,0,50,64,31,22,23,19,18,15,14,6,25,24,0,17,16,106,1,24,17,106,25,24,106,13,20,21,106,12,25,20,106,25,147,114,0,43,43,50,43,50,43,43,50,43,50,17,18,23,57,48,49,55,53,62,3,55,17,46,3,39,53,1,21,1,53,1,53,1,53,1,21,7,53,33,21,6,167,211,122,63,19,20,67,124,209,162,3,186,243,248,2,148,253,108,3,186,106,7,122,112,240,65,84,47,21,1,1,20,2,16,44,86,70,240,253,234,122,253,232,220,1,112,18,1,110,220,253,234,122,34,188,188,0,255,255,252,216,0,160,3,34,4,236,0,39,3,73,252,70,0,0,0,7,2,167,0,54,0,180,0,2,253,74,0,144,2,238,5,154,0,7,0,11,0,43,64,26,2,3,7,6,9,8,106,0,9,105,1,0,106,7,1,106,6,7,106,4,5,106,6,4,106,6,0,47,43,43,43,43,43,43,43,17,18,57,57,48,49,1,53,37,53,37,53,1,21,1,53,33,21,253,74,4,112,251,144,5,164,250,92,5,164,1,228,220,246,18,246,220,254,148,222,253,64,190,190,0,0,5,247,184,0,112,3,192,5,24,0,11,0,15,0,19,0,23,0,27,0,64,64,37,6,19,26,11,4,5,10,4,22,16,26,27,106,3,15,14,23,22,106,12,1,0,106,13,1,26,23,105,18,8,9,106,17,8,26,148,114,0,43,204,50,43,50,43,205,50,43,50,43,50,57,57,43,50,17,23,57,17,57,57,48,49,55,53,55,53,1,53,1,53,39,53,1,21,1,53,37,23,3,37,53,1,3,53,33,5,1,53,33,5,6,200,1,204,254,56,204,3,186,243,248,1,136,132,132,254,120,2,12,132,9,104,254,252,247,156,7,216,1,4,112,220,30,82,1,0,18,1,8,70,32,220,253,234,122,253,232,220,230,154,1,192,228,220,254,216,253,146,176,176,1,214,176,176,0,2,252,104,0,174,3,192,4,220,0,7,0,15,0,58,64,34,3,2,11,10,4,7,6,8,9,1,12,4,13,5,1,0,106,7,1,106,15,6,7,106,4,5,106,6,4,106,14,6,151,114,0,43,50,43,43,43,50,43,43,17,51,17,51,17,51,50,17,18,23,57,48,49,55,53,1,53,1,53,1,21,1,53,1,53,1,53,1,21,2,2,188,253,68,3,190,248,168,2,188,253,68,3,190,174,220,1,50,18,1,50,220,254,78,202,254,78,220,1,50,18,1,50,220,254,78,202,0,3,247,184,0,112,3,152,5,24,0,7,0,15,0,19,0,54,64,34,8,9,1,12,4,13,5,1,0,106,19,1,105,4,5,106,18,4,105,6,7,14,15,11,10,3,2,8,18,19,106,18,147,114,0,43,43,23,57,43,43,43,43,17,51,17,51,17,51,50,48,49,37,53,1,53,1,53,1,21,1,53,1,53,1,53,1,21,5,53,33,21,250,236,2,148,253,108,3,206,248,254,2,148,253,108,3,186,2,242,5,52,112,220,1,112,18,1,110,220,253,234,122,253,232,220,1,112,18,1,110,220,253,234,122,34,188,188,0,5,247,184,0,112,3,152,5,24,0,7,0,11,0,15,0,19,0,23,0,78,64,44,15,23,22,11,19,12,6,7,3,2,4,18,23,0,8,1,9,4,5,13,14,106,9,8,106,9,19,13,22,10,14,23,19,18,106,22,19,105,22,23,106,22,148,114,0,43,43,43,43,17,51,50,16,204,16,204,43,43,50,51,17,51,17,51,17,18,23,57,51,17,57,17,18,57,48,49,37,53,1,53,1,53,1,21,3,53,37,23,3,37,53,1,3,53,33,21,1,53,33,21,247,184,2,148,253,108,3,186,134,1,136,132,132,254,120,2,12,132,7,36,248,220,7,36,112,220,1,112,18,1,110,220,253,234,122,253,232,220,220,144,1,202,218,220,254,216,253,126,186,186,1,244,186,186,255,255,247,184,0,214,3,192,4,180,0,39,3,73,255,112,0,0,0,39,3,73,247,38,0,0,0,7,3,73,251,80,0,0,0,2,252,64,0,112,3,152,5,24,0,15,0,19,0,37,64,22,1,2,19,18,15,0,106,19,15,105,4,3,106,18,4,105,18,19,106,18,147,114,0,43,43,43,43,43,43,17,18,57,57,48,49,39,1,53,1,21,14,3,7,17,30,3,23,1,53,33,21,6,252,70,3,186,162,209,124,67,20,19,63,122,212,166,253,132,6,26,112,2,24,122,2,22,240,70,86,44,16,2,254,236,1,21,47,84,65,1,6,188,188,0,0,2,247,144,0,112,3,152,5,24,0,15,0,19,0,37,64,22,1,2,19,18,15,0,106,19,15,105,4,3,106,18,4,105,18,19,106,18,147,114,0,43,43,43,43,43,43,17,18,57,57,48,49,37,1,53,1,21,14,3,7,17,30,3,23,1,53,33,21,251,74,252,70,3,186,162,209,124,67,20,19,63,122,212,166,253,132,10,202,112,2,24,122,2,22,240,70,86,44,16,2,254,236,1,21,47,84,65,1,6,188,188,0,3,247,144,0,112,3,192,5,24,0,15,0,31,0,35,0,56,64,33,16,0,31,1,20,12,19,13,14,15,18,17,4,35,34,1,0,106,35,1,105,12,13,106,34,12,105,34,35,106,34,147,114,0,43,43,43,43,43,43,17,18,23,57,17,51,17,51,17,51,17,51,48,49,55,53,62,3,55,17,46,3,39,53,1,21,1,1,53,1,21,14,3,7,17,30,3,23,1,53,33,21,6,167,211,122,63,19,20,67,124,209,162,3,186,247,138,252,70,3,186,162,209,124,67,20,19,63,122,212,166,253,132,9,180,112,240,65,84,47,21,1,1,20,2,16,44,86,70,240,253,234,122,253,232,2,24,122,2,22,240,70,86,44,16,2,254,236,1,21,47,84,65,1,6,188,188,0,0,3,247,144,0,112,3,152,5,24,0,7,0,23,0,27,0,52,64,32,8,23,7,12,4,11,3,7,0,106,27,7,106,4,3,106,26,4,106,2,1,5,6,10,9,6,26,27,106,26,147,114,0,43,43,23,57,43,43,43,43,17,51,17,51,17,51,50,48,49,37,1,53,1,21,1,21,1,5,1,53,1,21,14,3,7,17,30,3,23,1,53,33,21,3,152,252,70,3,186,253,128,2,128,247,178,252,70,3,186,162,209,124,67,20,19,63,122,212,166,253,132,7,82,112,2,24,122,2,22,240,254,166,18,254,164,240,2,24,122,2,22,240,70,86,44,16,2,254,236,1,21,47,84,65,1,6,188,188,0,255,255,252,238,0,160,3,38,4,236,0,39,3,74,252,142,0,0,0,7,2,167,0,58,0,180,0,5,242,224,255,236,3,152,5,150,0,15,0,19,0,23,0,27,0,39,0,57,64,36,1,2,19,18,15,0,106,19,15,105,4,3,106,18,4,105,34,24,105,28,34,106,28,9,114,25,2,114,20,18,19,106,21,18,147,114,0,43,50,43,50,43,43,43,43,43,43,43,43,17,18,57,57,48,49,37,1,53,1,21,14,3,7,17,30,3,23,1,53,33,21,33,53,33,21,5,3,51,3,3,34,38,53,52,54,51,50,22,21,20,6,246,154,252,70,3,186,162,209,124,67,20,19,63,122,212,166,253,132,4,16,2,208,8,154,245,158,6,208,10,94,61,87,87,61,62,86,86,112,2,24,122,2,22,240,70,86,44,16,2,254,236,1,21,47,84,65,1,6,188,188,188,188,158,3,206,252,50,254,36,87,61,62,86,86,62,61,87,255,255,252,84,0,214,3,218,4,180,0,39,3,74,251,244,0,0,0,6,2,176,156,0,255,255,247,164,0,214,3,192,4,180,0,39,3,73,255,112,0,0,0,39,3,74,247,68,0,0,0,7,2,176,251,90,0,0,0,2,252,179,255,246,2,147,5,150,0,7,0,11,0,45,64,26,10,3,4,9,8,7,0,106,1,7,105,11,4,3,106,2,4,105,6,5,2,1,106,2,151,114,0,43,43,57,57,43,43,50,43,43,50,57,17,18,57,48,49,5,1,53,1,21,1,21,1,21,39,17,55,2,147,250,32,5,224,251,34,4,222,200,200,10,2,106,202,2,108,240,254,40,18,254,42,240,100,4,216,100,0,3,248,144,254,202,2,28,6,194,0,7,0,11,0,15,0,49,64,30,13,15,106,13,149,114,10,11,4,3,106,2,4,105,9,8,7,0,106,1,7,105,6,5,2,1,106,2,151,114,0,43,43,57,57,43,43,50,57,43,43,50,57,43,43,48,49,5,1,53,1,21,1,21,1,21,39,17,55,1,17,51,17,254,112,250,32,5,224,251,34,4,222,200,200,2,228,200,10,2,106,202,2,108,240,254,40,18,254,42,240,100,4,216,100,249,52,7,248,248,8,0,0,4,243,224,254,202,1,88,6,194,0,7,0,11,0,15,0,19,0,53,64,32,16,13,15,106,17,13,149,114,10,11,4,3,106,2,4,105,9,8,7,0,106,1,7,105,6,5,2,1,106,2,151,114,0,43,43,57,57,43,43,50,57,43,43,50,57,43,50,43,50,48,49,5,1,53,1,21,1,21,1,21,39,17,55,1,17,51,17,33,17,51,17,249,192,250,32,5,224,251,34,4,222,200,200,2,232,200,3,32,200,10,2,106,202,2,108,240,254,40,18,254,42,240,100,4,216,100,249,52,7,248,248,8,7,248,248,8,255,255,247,164,254,202,3,192,6,194,0,39,3,73,255,112,0,0,0,39,3,74,247,68,0,0,0,7,4,167,251,90,0,0,0,3,252,24,254,192,3,206,6,204,0,7,0,41,0,45,0,74,64,49,25,26,32,19,35,36,16,15,39,12,10,8,43,22,22,29,105,22,3,114,42,8,96,8,9,106,8,9,114,4,3,106,2,4,106,7,0,106,1,7,105,6,5,2,1,106,2,151,114,0,43,43,57,57,43,43,43,43,43,43,26,16,204,43,43,16,205,18,23,57,48,49,5,1,53,1,21,1,21,1,7,55,50,54,53,52,38,39,39,38,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,23,23,22,22,21,20,6,1,17,51,17,1,242,250,38,3,210,253,38,4,226,30,16,140,136,67,63,246,145,155,236,214,147,218,50,168,42,129,75,113,124,74,72,208,158,164,251,254,253,138,42,2,138,202,1,144,216,254,236,18,253,246,198,194,94,94,66,92,28,112,66,186,138,186,204,115,104,127,73,79,97,89,69,87,34,98,74,186,146,193,193,254,212,8,12,247,244,0,4,247,104,254,192,3,192,6,204,0,7,0,35,0,39,0,47,0,104,64,67,43,42,46,47,41,40,106,47,41,106,7,0,106,1,7,105,5,6,2,1,1,46,47,106,44,45,106,46,44,105,4,3,106,2,4,106,2,46,151,114,12,33,15,16,30,29,19,26,8,8,37,22,22,23,106,22,3,114,36,8,96,8,9,106,8,9,114,0,43,43,26,16,204,43,43,16,205,18,23,57,43,50,43,43,43,43,43,50,17,18,57,57,43,43,43,43,17,18,57,57,48,49,5,1,53,1,21,1,21,1,7,55,50,54,53,52,38,39,39,38,38,53,52,54,51,21,34,6,21,20,22,23,23,22,22,21,20,6,1,17,51,17,1,53,1,53,1,53,1,21,253,164,249,196,3,210,253,38,5,68,60,16,140,136,67,63,246,145,155,236,214,112,124,74,72,208,158,164,251,254,253,138,2,20,2,188,251,31,5,227,63,2,159,202,1,144,216,254,236,18,253,215,177,184,103,105,66,92,28,112,66,186,138,186,204,184,103,93,69,87,34,98,74,186,146,198,198,254,222,8,12,247,244,2,22,220,1,10,18,2,2,215,253,131,202,0,255,255,252,84,0,190,3,152,4,204,0,39,3,74,251,244,0,0,0,7,3,67,255,76,0,0,255,255,247,164,0,190,3,192,4,204,0,39,3,73,255,112,0,0,0,39,3,74,247,68,0,0,0,7,3,67,251,90,0,0,0,2,253,74,0,144,2,238,5,154,0,7,0,11,0,43,64,26,6,5,1,2,4,3,106,2,4,106,10,11,106,0,10,105,7,0,106,1,7,106,2,1,106,2,0,47,43,43,43,43,43,43,43,17,18,57,57,48,49,1,1,53,1,21,5,21,5,1,53,33,21,2,238,250,92,5,164,251,144,4,112,250,92,5,164,1,228,1,108,222,1,108,220,246,18,246,253,208,190,190,0,3,247,144,0,92,3,152,5,44,0,11,0,15,0,19,0,58,64,34,2,1,7,8,4,19,9,15,14,6,19,18,11,0,106,11,15,15,14,106,18,15,105,4,3,106,4,18,18,19,106,18,148,114,0,43,43,16,206,43,43,43,16,206,43,17,18,57,17,18,57,18,23,57,48,49,37,1,53,1,21,7,21,1,21,1,21,23,37,37,33,21,1,37,33,21,251,74,252,70,3,186,204,254,56,1,204,200,254,98,254,252,10,240,245,156,1,4,9,96,92,2,44,122,2,42,240,32,70,254,248,18,255,0,82,30,54,186,186,1,204,186,186,0,0,4,242,224,0,112,3,192,5,24,0,11,0,23,0,27,0,31,0,72,64,43,0,12,1,23,8,16,9,15,6,18,29,13,20,19,14,5,4,10,11,8,25,29,28,106,3,21,24,25,106,23,12,106,23,29,24,105,16,15,106,16,29,148,114,0,43,204,43,43,205,43,43,57,57,43,17,23,57,17,57,57,17,51,17,51,17,51,17,51,48,49,55,53,55,53,1,53,1,53,39,53,1,21,1,1,53,1,21,7,21,1,21,1,21,23,37,37,33,5,1,37,33,5,6,200,1,204,254,56,204,3,186,242,218,252,70,3,186,204,254,56,1,204,200,254,98,254,252,14,176,254,252,242,224,1,4,11,144,1,4,112,220,30,82,1,0,18,1,8,70,32,220,253,234,122,253,232,2,24,122,2,22,220,32,70,254,248,18,255,0,82,30,54,166,166,1,224,166,166,0,4,247,144,0,92,3,192,5,44,0,11,0,23,0,27,0,31,0,82,64,48,0,12,1,23,8,16,9,15,20,19,14,13,5,4,10,11,8,28,3,21,24,25,6,18,29,28,23,12,106,23,24,24,25,106,29,24,105,16,15,106,16,29,29,28,106,29,148,114,0,43,43,16,204,43,43,43,16,205,43,17,18,57,57,17,18,57,57,18,23,57,17,51,17,51,17,51,17,51,48,49,55,53,55,53,1,53,1,53,39,53,1,21,1,1,53,1,21,7,21,1,21,1,21,23,37,37,33,5,1,37,33,5,6,200,1,204,254,56,204,3,186,247,138,252,70,3,186,204,254,56,1,204,200,254,98,254,252,10,0,254,252,247,144,1,4,6,224,1,4,92,240,30,82,1,0,18,1,8,70,32,240,253,214,122,253,212,2,44,122,2,42,240,32,70,254,248,18,255,0,82,30,54,186,186,1,204,186,186,0,5,247,144,0,92,3,152,5,44,0,11,0,15,0,19,0,23,0,27,0,72,64,41,20,0,23,11,27,4,26,3,6,25,17,2,7,8,1,4,13,24,17,16,106,21,9,22,12,13,106,11,0,106,11,17,12,105,4,3,106,4,17,148,114,0,43,204,43,43,205,43,43,50,57,57,43,50,17,23,57,17,57,57,17,51,17,51,17,51,17,51,48,49,37,1,53,1,21,7,21,1,21,1,21,23,37,37,33,21,1,37,33,21,1,1,55,1,1,39,1,21,251,74,252,70,3,186,204,254,56,1,204,200,254,98,254,252,9,104,247,36,1,4,7,216,1,136,253,244,132,1,136,254,120,132,2,12,92,2,44,122,2,42,240,32,70,254,248,18,255,0,82,30,54,206,206,1,184,206,206,253,54,1,60,164,254,252,1,238,162,1,60,220,255,255,252,76,0,214,3,200,4,180,0,39,3,74,251,236,0,0,0,7,3,73,255,120,0,0,0,2,252,64,0,164,3,152,4,230,0,7,0,15,0,58,64,34,5,6,13,14,4,2,9,1,10,2,8,0,15,7,12,11,4,3,106,2,4,106,7,0,106,1,7,106,2,1,106,2,151,114,0,43,43,43,43,43,43,50,51,17,51,17,51,17,51,17,51,18,23,57,48,49,55,1,53,1,21,1,21,1,5,1,53,1,21,1,21,1,18,252,46,3,210,253,48,2,208,3,134,252,66,3,190,253,68,2,188,164,1,188,202,1,188,220,254,196,18,254,196,220,1,188,202,1,188,220,254,196,18,254,196,0,0,3,247,144,0,112,3,152,5,24,0,15,0,23,0,27,0,58,64,35,16,0,23,15,20,4,19,3,2,1,18,17,21,22,6,24,25,15,0,106,24,15,105,4,3,106,25,4,105,25,24,106,25,147,114,0,43,43,43,43,43,43,17,18,23,57,17,51,17,51,17,51,17,51,48,49,37,1,53,1,21,14,3,7,17,30,3,23,5,1,53,1,21,1,21,1,19,53,33,21,254,188,252,70,3,186,162,209,124,67,20,19,63,122,212,166,252,142,252,70,3,186,253,108,2,148,246,7,88,112,2,24,122,2,22,240,70,86,44,16,2,254,236,1,21,47,84,65,240,2,24,122,2,22,240,254,166,18,254,164,1,6,188,188,0,4,247,144,0,92,3,152,5,44,0,11,0,19,0,23,0,27,0,80,64,47,7,8,2,1,17,18,14,13,8,22,27,12,0,19,11,16,4,15,3,9,23,22,6,27,26,11,0,106,11,23,23,22,106,26,23,105,4,3,106,4,26,26,27,106,26,148,114,0,43,43,16,206,43,43,43,16,206,43,17,18,57,17,18,57,17,51,17,51,17,51,17,51,17,18,23,57,48,49,37,1,53,1,21,7,21,1,21,1,21,23,5,1,53,1,21,1,21,1,37,37,33,21,1,37,33,21,254,26,252,70,3,186,204,254,56,1,204,200,253,48,252,70,3,186,253,108,2,148,1,50,254,252,8,32,248,108,1,4,6,144,92,2,44,122,2,42,240,32,70,254,248,18,255,0,82,30,240,2,44,122,2,42,240,254,146,18,254,144,54,186,186,1,204,186,186,0,255,255,247,164,0,214,3,152,4,180,0,39,3,74,255,122,0,0,0,39,3,74,247,68,0,0,0,7,3,74,251,100,0,0,0,2,252,64,0,112,3,232,5,24,0,15,0,53,0,57,64,37,36,27,106,47,16,106,22,41,106,22,47,36,3,3,15,0,106,31,15,105,1,2,32,31,106,4,3,106,32,4,105,32,50,105,32,147,114,0,43,43,43,43,43,57,57,43,43,17,23,57,43,43,43,48,49,39,1,53,1,21,14,3,7,17,30,3,23,37,34,38,39,38,38,35,34,14,2,35,34,38,38,35,53,50,22,22,51,50,62,2,51,50,22,23,22,22,51,50,53,53,51,21,16,6,252,70,3,186,162,209,124,67,20,19,63,122,212,166,2,174,81,139,65,53,107,61,57,98,98,110,69,65,123,123,66,71,122,119,65,69,111,99,100,59,75,130,63,53,112,65,120,202,112,2,24,122,2,22,240,70,86,44,16,2,254,236,1,21,47,84,65,138,65,38,31,51,35,45,35,31,31,180,20,21,35,45,35,62,38,31,54,189,70,90,254,142,255,255,247,164,0,214,3,192,4,180,0,39,3,73,255,112,0,0,0,39,3,74,247,68,0,0,0,7,3,79,251,90,0,0,0,2,247,144,0,112,3,232,5,24,0,63,0,79,0,67,64,45,22,11,106,45,52,106,33,0,106,58,39,106,6,27,106,6,58,33,45,22,5,64,68,67,106,17,68,105,79,64,106,16,79,105,66,65,17,16,106,17,48,105,17,147,114,0,43,43,43,57,57,43,43,43,43,17,23,57,43,43,43,43,43,48,49,1,34,38,39,38,38,35,34,14,2,35,34,46,2,35,53,50,30,2,51,50,62,2,51,50,22,23,22,22,51,50,54,55,54,54,51,50,22,23,22,22,51,50,53,53,51,21,16,33,34,38,39,38,38,35,34,6,7,6,6,1,1,53,1,21,14,3,7,17,30,3,23,254,112,90,136,60,58,116,74,74,113,104,116,77,81,116,97,104,69,69,104,97,114,81,78,118,104,116,76,100,147,68,47,101,63,56,120,61,79,163,73,83,149,67,58,110,61,120,202,254,192,88,155,74,55,107,57,55,120,60,79,159,252,147,252,70,3,186,162,209,124,67,20,19,63,122,212,166,1,234,52,33,31,49,23,29,23,10,12,10,196,8,11,8,23,29,23,62,37,26,40,51,32,41,61,68,34,29,54,189,70,90,254,142,70,37,28,50,41,32,41,71,254,134,2,24,122,2,22,240,70,86,44,16,2,254,236,1,21,47,84,65,0,2,252,64,255,66,4,40,6,74,0,7,0,11,0,41,64,26,9,11,106,9,152,114,4,3,106,2,4,106,7,0,106,1,7,105,5,6,2,1,106,2,151,114,0,43,43,57,57,43,43,43,43,43,43,48,49,37,1,53,1,21,1,21,9,2,51,1,1,80,250,240,3,210,253,38,4,54,254,194,3,36,212,252,220,46,2,50,202,1,148,220,254,236,18,254,58,254,76,7,8,248,248,0,0,3,247,144,255,66,3,192,6,74,0,7,0,15,0,19,0,68,64,45,15,8,106,9,15,105,12,11,106,10,12,106,1,0,106,7,1,106,4,5,106,6,4,105,3,2,13,14,4,7,6,17,19,106,17,152,114,9,6,7,106,10,6,151,114,0,43,50,43,50,43,43,17,18,23,57,43,43,43,43,43,43,43,43,48,49,55,53,1,53,1,53,1,21,1,1,53,1,21,1,21,1,3,1,51,1,2,2,188,251,237,5,21,248,224,250,240,3,210,253,38,4,54,252,3,36,212,252,220,214,220,1,10,18,1,173,215,253,216,202,253,206,2,50,202,1,148,220,254,236,18,254,58,254,76,7,8,248,248,0,0,2,252,24,1,182,3,152,3,100,0,29,0,33,0,35,64,22,33,29,105,32,33,106,10,19,106,4,10,105,4,25,106,32,4,105,15,32,147,114,0,43,50,43,43,43,43,43,43,48,49,1,53,52,54,51,50,22,23,22,22,51,50,54,53,53,51,21,20,6,35,34,38,39,38,38,35,34,6,21,21,37,53,33,21,252,24,128,142,77,134,64,58,113,59,45,40,202,114,126,84,154,65,57,98,55,55,50,2,144,4,36,1,182,80,184,166,71,38,34,52,47,52,20,10,163,147,50,39,35,71,66,73,90,168,186,186,0,0,5,252,24,255,13,3,152,5,159,0,44,0,58,0,73,0,85,0,89,0,64,64,42,59,74,106,40,4,106,10,34,106,65,80,106,48,71,86,59,4,54,65,68,10,40,77,51,23,7,27,44,44,27,45,54,106,17,45,105,17,27,106,17,3,114,0,43,43,43,43,17,57,47,18,23,57,18,23,57,43,43,43,43,48,49,1,53,52,54,51,50,22,23,22,22,51,50,54,54,55,54,36,51,50,22,22,21,17,35,17,52,38,35,34,6,7,14,2,35,34,38,39,38,38,35,34,6,21,21,1,32,0,3,54,54,55,18,18,51,50,55,21,6,3,34,38,53,52,54,51,50,22,23,51,17,35,6,6,39,50,54,53,52,38,35,34,6,21,20,22,23,17,51,17,252,24,128,142,77,137,61,50,78,59,52,48,30,24,78,1,23,223,153,201,100,172,142,138,172,215,64,29,71,101,74,61,110,52,57,98,55,55,50,5,74,254,231,254,225,27,44,81,37,7,207,219,125,72,79,152,133,147,147,135,77,111,22,74,74,18,111,25,80,86,78,74,82,90,83,241,172,1,182,80,184,166,67,42,34,52,87,137,73,236,233,132,245,169,254,143,1,107,191,191,215,254,115,145,68,58,31,35,71,66,73,90,253,87,1,61,1,90,20,67,46,254,188,254,220,25,180,25,1,135,247,224,237,233,121,111,254,35,111,121,190,121,111,172,157,134,146,134,147,170,2,89,253,167,0,0,2,253,68,1,110,2,188,4,106,0,27,0,31,0,31,64,17,29,28,106,29,27,24,4,106,10,18,106,24,10,13,27,105,13,0,47,43,57,57,43,43,16,198,43,48,49,1,53,52,54,51,50,30,3,51,50,53,53,51,21,20,6,35,34,46,3,35,34,21,21,3,53,33,21,253,68,179,181,79,143,137,137,143,79,120,202,157,163,79,145,139,139,145,79,150,204,5,120,2,174,70,181,179,43,64,65,43,159,70,90,171,169,43,64,65,43,179,50,254,192,186,186,0,0,2,252,25,0,112,3,192,5,24,0,15,0,53,0,63,64,40,25,44,106,50,19,106,39,30,106,39,50,25,3,13,0,35,53,105,15,14,35,34,1,0,106,35,1,105,34,35,106,12,13,106,34,12,105,34,147,114,0,43,43,43,43,43,43,17,18,57,57,43,17,18,23,57,43,43,43,48,49,55,53,62,3,55,17,46,3,39,53,1,21,5,53,16,33,50,22,23,22,22,51,50,62,2,51,50,22,22,51,21,34,38,38,35,34,14,2,35,34,38,39,38,38,35,34,21,21,6,167,211,122,63,19,20,67,124,209,162,3,186,248,89,1,64,81,139,65,53,107,61,57,98,98,110,69,66,123,123,65,70,123,118,66,69,111,99,100,59,75,130,63,53,112,65,120,112,240,65,84,47,21,1,1,20,2,16,44,86,70,240,253,234,122,182,90,1,114,65,38,31,51,35,45,35,31,31,180,21,20,35,45,35,63,37,32,53,189,70,0,1,252,104,1,190,3,152,4,36,0,53,0,34,64,21,22,30,106,36,16,106,10,44,106,50,4,106,50,10,36,22,4,25,53,105,25,0,47,43,23,57,43,43,43,43,48,49,1,53,52,54,51,50,22,23,22,22,51,50,54,55,54,54,51,50,22,23,22,22,51,50,53,53,51,21,20,6,35,34,38,39,38,38,35,34,6,6,7,14,2,35,34,38,39,38,38,35,34,21,21,252,104,128,142,89,107,54,35,82,56,69,83,48,41,130,106,51,111,65,52,75,29,85,202,114,126,77,92,46,56,83,77,52,63,42,22,31,72,101,76,60,117,53,46,85,40,105,1,190,80,173,157,60,31,19,25,71,62,54,78,41,33,26,35,119,90,80,173,157,45,22,27,41,34,51,25,36,71,48,39,28,25,43,119,90,0,2,247,104,0,112,3,192,5,24,0,63,0,79,0,71,64,47,21,42,106,9,54,106,48,15,106,60,3,106,37,26,106,37,60,48,9,21,5,64,76,77,106,31,76,105,78,79,31,32,65,64,106,32,65,105,32,63,105,31,32,106,31,147,114,0,43,43,43,43,43,17,18,57,57,43,43,17,23,57,43,43,43,43,43,48,49,1,53,16,33,50,22,23,22,22,51,50,54,55,54,54,51,50,22,23,22,22,51,50,62,2,51,50,30,2,51,21,34,46,2,35,34,14,2,35,34,38,39,38,38,35,34,6,7,6,6,35,34,38,39,38,38,35,34,21,21,1,53,62,3,55,17,46,3,39,53,1,21,247,104,1,64,88,155,74,56,106,57,55,120,60,79,159,71,90,136,60,58,117,73,74,113,104,116,77,81,116,97,104,69,69,104,97,114,81,78,118,104,115,77,100,147,68,47,101,63,55,120,62,79,162,74,82,149,68,58,110,61,120,7,212,167,211,122,63,19,20,67,124,209,162,3,186,1,210,90,1,114,70,37,28,50,42,31,41,71,52,33,31,49,23,29,23,10,12,10,196,8,11,8,23,29,23,62,37,26,40,51,32,41,61,68,34,29,54,189,70,254,158,240,65,84,47,21,1,1,20,2,16,44,86,70,240,253,234,122,0,0,3,252,44,1,110,3,152,5,140,0,7,0,11,0,15,0,35,64,20,3,14,15,106,6,7,7,1,11,10,106,14,11,105,14,148,114,1,2,114,0,43,43,43,43,18,57,47,57,43,50,48,49,1,1,33,19,35,3,35,3,1,53,33,21,1,53,33,21,252,44,1,64,1,14,246,220,152,18,226,2,184,3,216,250,252,5,4,2,146,2,250,253,214,1,138,253,166,254,220,186,186,1,244,186,186,0,10,251,220,255,236,4,72,5,160,0,3,0,15,0,27,0,39,0,51,0,63,0,75,0,79,0,91,0,103,0,66,64,42,98,34,46,106,92,28,40,106,80,34,28,105,76,0,77,1,79,78,3,2,8,4,86,34,3,114,64,4,16,106,70,10,22,106,58,4,10,105,52,4,9,114,0,43,50,43,50,43,50,43,50,43,50,18,23,57,43,50,43,50,43,50,48,49,1,39,1,23,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,37,39,1,23,5,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,252,96,92,4,70,92,254,86,142,172,172,142,141,171,171,141,57,69,69,57,58,70,70,254,84,142,172,172,142,141,171,171,141,57,69,69,57,58,70,70,6,52,142,172,172,142,141,171,171,141,57,69,69,57,58,70,70,253,26,92,4,38,92,253,20,142,172,172,142,141,171,171,141,57,69,69,57,58,70,70,1,50,126,3,26,120,251,154,177,145,147,177,177,147,145,177,168,85,69,71,85,85,71,69,85,2,134,177,145,147,177,174,150,145,177,168,85,69,72,86,86,72,69,85,252,42,177,145,147,177,177,147,145,177,168,85,69,71,85,85,71,69,85,62,126,3,2,120,192,177,145,147,177,174,150,145,177,168,85,69,72,86,86,72,69,85,0,3,0,156,255,239,4,81,5,140,0,11,0,23,0,27,0,35,64,20,0,1,12,25,7,106,8,25,2,114,24,27,21,3,12,18,106,12,9,114,0,43,43,23,57,43,50,43,18,57,57,48,49,1,39,54,54,53,52,38,35,17,32,17,20,1,34,38,53,52,54,51,50,22,21,20,6,55,17,23,17,3,146,84,44,44,197,199,2,71,253,53,117,117,127,127,107,127,138,16,122,2,102,62,49,117,68,107,107,1,40,254,103,205,252,201,96,96,97,96,89,74,100,122,202,4,211,50,251,115,0,5,0,5,255,236,4,79,5,180,0,3,0,15,0,19,0,31,0,35,0,44,64,26,13,19,4,10,106,29,35,20,26,106,20,4,33,18,1,34,4,2,3,106,4,2,105,4,9,114,0,43,43,43,23,57,18,57,43,57,57,43,57,57,48,49,1,3,37,17,1,34,38,53,52,54,51,50,22,21,20,6,55,17,23,17,5,34,38,53,52,54,51,50,22,21,20,6,55,17,55,17,1,94,9,2,250,252,150,101,123,134,110,97,117,128,6,122,1,150,101,123,134,110,97,117,128,6,122,4,60,1,40,80,254,216,251,96,116,96,96,117,111,92,100,122,222,4,154,50,251,152,79,116,96,96,117,111,92,100,122,222,3,172,125,251,215,0,0,1,0,200,4,116,1,244,5,160,0,11,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,0,0,2,0,200,2,191,1,244,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,3,0,200,1,11,1,244,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,5,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,7,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,8,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,95,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,7,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,7,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,7,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,5,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,7,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,4,0,200,255,86,1,244,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,3,0,200,2,191,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,2,191,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,7,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,3,0,200,2,191,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,3,0,200,255,86,1,244,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,2,0,200,1,11,1,244,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,0,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,7,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,3,0,200,255,86,1,244,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,2,0,200,4,116,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,3,0,200,2,191,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,2,0,200,2,191,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,5,30,88,62,62,88,88,62,62,88,0,2,0,200,1,11,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,2,0,200,255,86,1,244,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,2,0,200,255,86,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,0,1,0,200,2,191,1,244,3,235,0,11,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,0,0,2,0,200,1,11,1,244,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,5,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,7,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,83,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,4,0,200,1,11,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,5,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,3,0,200,255,86,1,244,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,2,0,200,2,191,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,3,0,200,2,191,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,2,0,200,2,191,3,232,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,2,0,200,1,11,3,232,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,2,0,200,255,86,1,244,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,2,0,200,255,86,3,232,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,0,1,0,200,1,11,1,244,2,55,0,11,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,0,0,2,0,200,1,11,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,4,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,6,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,71,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,3,0,200,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,2,0,200,1,11,3,232,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,3,0,200,1,11,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,2,0,200,1,11,3,232,2,55,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,2,55,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,4,0,200,255,86,3,232,2,55,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,2,55,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,2,0,200,255,86,1,244,2,55,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,2,55,0,11,0,23,0,35,0,0,5,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,170,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,2,0,200,255,86,3,232,2,55,0,11,0,23,0,0,5,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,170,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,1,2,188,4,116,3,232,5,160,0,11,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,0,0,2,2,188,2,191,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,3,2,188,1,11,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,5,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,59,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,4,2,188,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,1,180,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,3,2,188,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,3,105,88,62,62,88,88,62,62,88,0,0,2,2,188,1,11,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,3,2,188,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,2,0,200,255,86,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,5,160,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,2,2,188,255,86,3,232,5,160,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,4,116,88,62,62,88,88,62,62,88,250,226,88,62,62,88,88,62,62,88,0,0,1,2,188,2,191,3,232,3,235,0,11,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,0,0,2,2,188,1,11,3,232,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,254,76,88,62,62,88,88,62,62,88,0,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,4,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,47,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,3,2,188,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,1,181,88,62,62,88,88,62,62,88,0,0,2,0,200,255,86,3,232,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,3,235,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,2,2,188,255,86,3,232,3,235,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,2,191,88,62,62,88,88,62,62,88,252,151,88,62,62,88,88,62,62,88,0,0,1,2,188,1,11,3,232,2,55,0,11,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,0,0,2,0,200,255,86,3,232,2,55,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,3,0,200,255,86,3,232,2,55,0,11,0,23,0,35,0,0,1,34,38,53,52,54,51,50,22,21,20,6,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,1,182,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,2,2,188,255,86,3,232,2,55,0,11,0,23,0,0,1,34,38,53,52,54,51,50,22,21,20,6,3,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,62,62,88,88,62,62,88,88,1,11,88,62,62,88,88,62,62,88,254,75,88,62,62,88,88,62,62,88,0,0,1,0,200,255,86,1,244,0,130,0,11,0,0,5,34,38,53,52,54,51,50,22,21,20,6,1,94,62,88,88,62,62,88,88,170,88,62,62,88,88,62,62,88,0,2,0,200,255,86,3,232,0,130,0,11,0,23,0,0,5,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,253,206,62,88,88,62,62,88,88,170,88,62,62,88,88,62,62,88,88,62,62,88,88,62,62,88,0,0,1,2,188,255,86,3,232,0,130,0,11,0,0,5,34,38,53,52,54,51,50,22,21,20,6,3,82,62,88,88,62,62,88,88,170,88,62,62,88,88,62,62,88,255,255,1,116,2,218,3,76,5,140,2,6,2,207,0,0,255,255,1,146,254,76,2,202,0,254,2,6,2,166,0,0,255,255,1,116,2,218,3,76,5,140,2,6,2,207,0,0,0,1,1,176,3,12,3,96,5,190,0,3,0,10,179,0,1,106,0,0,47,43,48,49,1,1,51,3,1,176,1,14,162,150,3,12,2,178,253,78,255,255,0,170,4,224,4,6,5,156,2,6,6,57,0,0,0,2,1,0,4,214,3,176,5,226,0,11,0,23,0,14,181,18,0,6,106,12,0,0,47,50,43,50,48,49,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,42,55,79,79,55,56,78,78,254,36,55,79,79,55,56,78,78,4,214,79,55,56,78,78,56,55,79,79,55,56,78,78,56,55,79,0,1,1,210,4,214,2,222,5,226,0,11,0,10,179,0,6,106,0,0,47,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,2,88,55,79,79,55,56,78,78,4,214,79,55,56,78,78,56,55,79,0,0,1,1,33,4,224,2,159,6,92,0,3,0,10,179,0,1,106,0,0,47,43,48,49,1,3,51,19,1,223,190,212,170,4,224,1,124,254,132,0,0,1,1,213,4,224,3,83,6,92,0,3,0,10,179,0,1,106,0,0,47,43,48,49,1,19,51,3,1,213,170,212,190,4,224,1,124,254,132,0,0,2,0,219,4,224,3,203,6,92,0,3,0,7,0,14,181,5,0,1,106,4,0,0,47,50,43,50,48,49,1,19,51,3,33,19,51,3,2,87,150,222,170,253,186,150,222,170,4,224,1,124,254,132,1,124,254,132,0,1,1,18,4,224,3,158,6,92,0,7,0,14,181,5,0,1,106,4,0,0,47,50,43,57,48,49,1,19,51,19,35,39,51,7,1,18,240,172,240,212,124,20,124,4,224,1,124,254,132,246,246,0,0,1,1,18,4,224,3,158,6,92,0,7,0,16,182,3,6,6,0,1,106,0,0,47,43,50,18,57,48,49,1,3,51,23,35,55,51,3,2,2,240,212,124,20,124,212,240,4,224,1,124,246,246,254,132,0,0,1,0,251,4,214,3,181,6,67,0,17,0,16,183,14,0,4,106,0,9,106,0,0,47,43,43,50,48,49,1,34,38,53,53,51,21,20,22,51,50,54,53,53,51,21,20,6,2,88,166,183,175,90,84,84,90,175,182,4,214,168,154,43,43,89,97,97,89,43,43,154,168,0,0,2,1,106,4,174,3,70,6,94,0,11,0,19,0,19,64,10,6,16,106,0,6,105,0,12,106,0,0,47,43,43,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,39,50,53,52,35,34,21,20,2,88,113,125,125,113,113,125,125,113,96,96,96,4,174,113,103,103,113,113,103,103,113,116,100,100,100,100,0,0,1,0,240,4,232,3,202,6,64,0,27,0,23,64,12,9,17,106,23,3,106,9,23,27,12,105,27,0,47,43,57,57,43,43,48,49,19,53,52,51,50,22,23,22,22,51,50,53,53,51,21,20,6,35,34,38,39,38,38,35,34,6,21,21,240,210,40,70,38,50,71,25,54,172,94,94,28,82,53,33,66,32,37,37,4,232,40,250,25,19,25,31,64,90,80,120,120,24,26,17,33,36,38,50,0,0,1,0,170,4,224,4,6,5,156,0,3,0,10,179,0,1,106,0,0,47,43,48,49,19,53,33,21,170,3,92,4,224,188,188,0,0,2,1,100,4,224,3,7,6,156,0,19,0,26,0,20,64,10,25,10,9,106,24,0,10,105,0,16,0,63,43,50,43,50,48,49,1,53,52,62,2,53,52,38,35,55,50,22,21,20,14,2,21,21,39,39,54,54,51,7,34,1,246,32,43,32,34,28,21,94,113,36,46,36,234,67,31,116,65,21,73,4,224,36,39,55,42,40,25,26,30,151,106,87,48,59,45,51,39,9,250,119,34,41,151,0,0,1,1,236,4,184,2,242,6,52,0,3,0,10,179,0,1,106,0,0,47,43,48,49,1,19,51,3,1,236,90,172,50,4,184,1,124,254,132,0,0,1,1,195,3,127,3,140,5,63,0,9,0,17,64,9,1,5,105,1,0,106,1,6,114,0,43,43,43,48,49,1,39,55,54,54,53,51,20,6,7,1,245,50,60,94,93,210,173,174,3,127,165,10,16,138,119,190,219,29,0,1,1,210,254,92,2,222,255,104,0,11,0,10,179,6,0,106,6,0,47,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,2,88,55,79,79,55,56,78,78,254,92,79,55,56,78,78,56,55,79,0,0,1,1,159,254,32,2,202,255,116,0,3,0,10,179,1,0,106,1,0,47,43,48,49,1,19,51,3,1,159,77,222,117,254,32,1,84,254,172,0,0,1,2,2,254,32,3,124,0,6,0,15,0,25,64,15,1,0,106,7,1,105,10,7,106,9,10,106,9,8,114,0,43,43,43,43,43,48,49,1,53,50,54,53,52,38,35,55,23,7,22,22,21,20,6,2,2,95,93,80,82,69,136,25,86,86,188,254,32,150,36,36,35,33,196,11,95,18,83,66,106,107,0,1,1,156,254,88,3,18,0,32,0,20,0,21,64,11,15,0,106,9,15,105,7,6,9,8,114,0,43,50,50,43,43,48,49,1,34,38,53,52,54,55,53,55,21,34,6,21,20,22,51,50,55,7,6,6,2,140,115,125,70,64,240,106,118,61,55,35,47,18,22,48,254,88,101,91,74,100,18,70,2,32,88,80,42,46,11,170,4,5,255,255,1,33,4,224,2,159,6,92,2,6,6,29,0,0,255,255,1,213,4,224,3,83,6,92,2,6,6,30,0,0,255,255,1,0,4,214,3,176,5,226,0,6,6,27,0,0,255,255,1,210,4,214,2,222,5,226,0,6,6,28,0,0,255,255,1,33,4,224,2,159,6,92,0,6,6,29,0,0,255,255,1,213,4,224,3,83,6,92,0,6,6,30,0,0,255,255,0,219,4,224,3,203,6,92,0,6,6,31,0,0,255,255,1,18,4,224,3,158,6,92,0,6,6,32,0,0,255,255,1,18,4,224,3,158,6,92,0,6,6,33,0,0,255,255,0,251,4,214,3,181,6,67,0,6,6,34,0,0,255,255,1,106,4,174,3,70,6,94,0,6,6,35,0,0,255,255,0,240,4,232,3,202,6,64,0,6,6,36,0,0,255,255,0,170,4,224,4,6,5,156,0,6,6,37,0,0,255,255,2,2,254,32,3,124,0,6,0,6,6,43,0,0,255,255,1,156,254,88,3,18,0,32,0,6,6,44,0,0,0,2,1,2,6,44,3,174,7,56,0,11,0,23,0,14,181,18,0,6,106,12,0,0,47,50,43,50,48,49,1,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,3,40,55,79,79,55,56,78,78,254,40,55,79,79,55,56,78,78,6,44,79,55,56,78,78,56,55,79,79,55,56,78,78,56,55,79,0,1,1,210,6,44,2,222,7,56,0,11,0,10,179,0,6,106,0,0,47,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,2,88,55,79,79,55,56,78,78,6,44,79,55,56,78,78,56,55,79,0,0,1,0,239,6,44,2,229,7,38,0,3,0,10,179,0,1,106,0,0,47,43,48,49,1,37,33,23,1,243,254,252,1,26,220,6,44,250,250,0,0,1,1,213,6,44,3,203,7,38,0,3,0,10,179,0,1,106,0,0,47,43,48,49,1,55,33,5,1,213,220,1,26,254,252,6,44,250,250,0,0,2,0,249,6,44,4,77,7,38,0,3,0,7,0,14,181,5,0,1,106,4,0,0,47,50,43,50,48,49,1,55,33,7,33,55,33,7,2,147,160,1,26,200,253,116,160,1,26,200,6,44,250,250,250,250,0,1,1,3,6,44,3,183,7,48,0,7,0,14,181,5,0,1,106,4,0,0,47,50,43,57,48,49,1,1,51,1,35,39,51,7,1,3,1,4,172,1,4,222,177,106,177,6,44,1,4,254,252,205,205,0,0,1,0,254,6,44,3,178,7,48,0,7,0,14,181,4,6,0,1,106,0,0,47,43,50,57,48,49,1,1,51,23,35,55,51,1,2,2,254,252,222,134,20,134,222,254,252,6,44,1,4,156,156,254,252,0,0,1,0,226,6,34,3,206,7,68,0,13,0,16,183,11,0,3,106,0,7,106,0,0,47,43,43,50,48,49,1,34,38,53,51,20,22,51,50,54,53,51,20,6,2,88,178,196,175,105,94,95,104,175,196,6,34,152,138,73,81,81,73,138,152,0,0,2,1,106,5,208,3,70,7,108,0,11,0,23,0,19,64,10,6,18,106,0,6,105,0,12,106,0,0,47,43,43,43,48,49,1,34,38,53,52,54,51,50,22,21,20,6,39,50,54,53,52,38,35,34,6,21,20,22,2,88,113,125,125,113,113,125,125,113,47,49,49,47,46,50,50,5,208,108,98,98,108,108,98,98,108,116,47,43,44,47,47,44,43,47,0,0,1,0,215,6,30,3,217,7,98,0,27,0,23,64,12,10,18,106,24,4,106,10,24,27,13,105,27,0,47,43,57,57,43,43,48,49,19,53,52,54,51,50,22,23,22,22,51,50,53,53,51,21,20,6,35,34,38,39,38,38,35,34,21,21,215,105,105,41,89,58,59,62,25,54,172,94,94,34,94,65,43,72,26,74,6,30,50,125,125,25,24,24,27,64,60,50,120,120,28,27,18,27,74,60,0,0,1,0,213,6,44,3,219,6,232,0,3,0,10,179,0,1,106,0,0,47,43,48,49,19,53,33,21,213,3,6,6,44,188,188,0,0,1,1,100,5,249,3,67,7,112,0,22,0,16,183,14,9,106,22,14,105,22,0,0,47,47,43,43,48,49,1,53,52,54,55,54,54,53,52,35,34,7,39,54,51,50,21,20,6,7,6,6,21,2,20,30,36,39,32,82,96,68,67,81,171,227,54,65,16,13,5,249,21,18,35,25,25,33,16,51,43,119,75,163,60,79,38,9,16,10,0,1,1,135,4,181,3,80,6,117,0,9,0,14,182,1,5,105,1,0,106,1,0,47,43,43,48,49,1,39,55,54,54,53,51,20,6,7,1,185,50,60,103,102,192,173,174,4,181,165,10,17,137,119,190,219,29,0,0,1,1,223,4,224,3,13,6,112,0,3,0,10,179,0,1,106,0,0,47,43,48,49,1,19,51,3,1,223,90,212,110,4,224,1,144,254,112,0,0,1,2,7,6,4,3,23,7,48,0,3,0,10,179,0,1,106,0,0,47,43,48,49,1,19,51,3,2,7,30,242,90,6,4,1,44,254,212,0,255,255,0,240,4,232,3,202,6,64,2,6,6,36,0,0,255,255,1,213,4,224,3,83,6,92,0,6,6,30,0,0,255,255,1,213,4,224,3,83,6,92,2,6,6,76,0,0,0,3,0,136,4,214,4,50,6,92,0,3,0,15,0,27,0,23,64,11,10,16,22,106,16,16,4,3,1,106,3,0,47,43,51,51,47,43,50,48,49,1,19,51,3,5,34,38,53,52,54,51,50,22,21,20,6,33,34,38,53,52,54,51,50,22,21,20,6,1,202,130,212,150,254,132,55,79,79,55,56,78,78,2,102,55,79,79,55,56,78,78,4,224,1,124,254,132,10,79,55,56,78,78,56,55,79,79,55,56,78,78,56,55,79,0,0,1,0,253,4,214,3,179,6,67,0,13,0,16,183,11,0,3,106,0,7,106,0,0,47,43,43,50,48,49,1,34,38,53,51,20,22,51,50,54,53,51,20,6,2,88,179,168,188,72,87,89,70,188,169,4,214,181,184,120,109,111,118,185,180,0,0,1,1,0,6,34,3,176,7,68,0,13,0,16,183,11,0,3,106,0,7,106,0,0,47,43,43,50,48,49,1,34,38,53,51,20,22,51,50,54,53,51,20,6,2,88,163,181,195,78,71,71,78,195,180,6,34,152,138,88,66,66,88,138,152,0,0,6,0,160,254,192,4,110,6,204,0,3,0,7,0,25,0,29,0,33,0,51,0,56,64,32,0,45,45,27,43,106,33,19,51,32,4,17,35,105,17,17,26,1,27,2,114,5,25,25,26,9,106,4,96,26,8,114,0,43,26,206,43,51,17,57,43,206,18,57,47,43,23,57,43,51,17,57,48,49,1,17,51,17,3,17,51,17,1,53,33,50,54,53,52,38,35,33,39,33,50,22,21,20,6,35,33,17,51,17,3,53,33,21,37,53,51,50,54,53,52,38,35,35,39,33,50,22,21,20,6,35,2,2,138,138,138,254,206,1,44,132,146,152,140,254,230,24,1,100,216,236,224,206,253,224,200,82,1,160,254,164,240,113,125,131,121,222,24,1,0,216,236,224,206,5,44,1,160,254,96,249,148,1,133,254,123,1,64,190,121,109,112,123,91,186,170,186,204,5,140,250,116,2,186,98,98,56,91,101,94,92,98,190,187,173,147,159,0,3,0,129,254,192,4,37,6,204,0,3,0,7,0,47,0,46,64,29,3,28,35,105,18,45,21,22,42,41,25,38,32,31,10,8,2,96,28,3,114,6,8,15,105,7,8,9,114,0,43,205,43,57,43,26,205,18,23,57,43,57,48,49,1,17,51,17,3,17,51,17,3,34,38,39,55,22,22,51,50,54,53,52,38,39,39,38,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,23,23,22,22,21,20,6,2,32,138,138,138,131,121,211,90,26,110,205,97,140,136,67,63,246,145,155,224,205,143,220,102,140,88,153,83,103,113,74,72,208,158,164,251,5,56,1,148,254,108,249,136,1,146,254,110,1,44,39,39,202,47,49,98,100,66,92,28,112,66,186,138,186,204,84,95,142,72,65,99,97,69,87,34,98,74,186,146,193,193,0,0,4,252,10,254,192,3,197,6,204,0,7,0,11,0,45,0,49,0,74,64,47,2,3,7,6,49,33,64,22,43,25,26,40,39,29,36,8,12,48,32,3,114,12,19,105,11,96,12,9,114,1,0,106,7,1,106,6,7,106,4,5,106,6,4,106,6,151,114,0,43,43,43,43,43,43,43,26,205,43,43,204,18,23,57,26,205,50,17,18,57,57,48,49,55,53,1,53,1,53,1,21,1,17,51,17,3,34,38,39,55,22,22,51,50,54,53,52,38,39,39,38,38,53,52,54,51,21,34,6,21,20,22,23,23,22,22,21,20,6,1,17,51,17,7,2,188,250,247,6,11,249,231,138,134,121,211,90,26,110,205,97,140,136,67,63,246,145,155,236,214,112,124,74,72,208,158,164,251,254,253,138,214,220,1,10,18,2,26,215,253,107,202,252,96,1,138,254,118,1,44,39,39,194,43,45,98,100,66,92,28,112,66,186,138,186,204,184,103,93,69,87,34,98,74,186,146,193,193,4,252,1,228,254,28,0,0,4,252,24,254,192,3,206,6,204,0,7,0,41,0,45,0,49,0,78,64,51,6,5,1,2,47,22,29,105,12,39,15,16,36,35,19,32,26,25,10,8,49,22,3,114,42,8,9,106,45,96,8,9,114,4,3,106,2,4,106,7,0,106,1,7,105,2,1,106,2,151,114,0,43,43,43,43,43,43,43,26,204,43,50,43,205,18,23,57,43,57,17,18,57,57,48,49,5,1,53,1,21,1,21,1,7,55,50,54,53,52,38,39,39,38,38,53,52,54,51,50,22,23,7,38,38,35,34,6,21,20,22,23,23,22,22,21,20,6,37,51,17,35,19,35,17,51,2,4,250,20,3,210,253,38,4,244,48,16,140,136,67,63,246,145,155,236,214,147,218,50,168,42,129,75,113,124,74,72,208,158,164,251,254,253,138,138,138,138,138,50,2,146,202,1,144,216,254,236,18,253,238,190,194,94,94,66,92,28,112,66,186,138,186,204,115,104,127,73,79,97,89,69,87,34,98,74,186,146,193,193,194,254,18,6,125,1,143,0,0,5,247,104,254,192,3,192,6,204,0,7,0,11,0,39,0,43,0,51,0,0,5,1,53,1,21,1,21,1,3,17,51,17,3,55,50,54,53,52,38,39,39,38,38,53,52,54,51,21,34,6,21,20,22,23,23,22,22,21,20,6,1,17,51,17,1,53,1,53,1,53,1,21,253,164,249,196,3,210,253,38,5,68,64,138,134,16,140,136,67,63,246,145,155,236,214,112,124,74,72,208,158,164,251,254,253,138,2,20,2,188,250,202,6,56,63,2,159,202,1,144,216,254,236,18,253,215,254,45,1,218,254,38,1,34,184,103,105,66,92,28,112,66,186,138,186,204,184,103,93,69,87,34,98,74,186,146,198,198,5,6,1,228,254,28,251,238,220,1,10,18,2,37,215,253,96,202,0,1,0,0,0,1,0,2,0,0,12,198,6,88,0,0,0,0,12,202,0,0,0,26,0,54,0,63,0,72,0,81,0,90,0,99,0,108,0,117,0,126,0,136,0,148,0,158,0,170,0,182,0,192,0,201,0,210,0,219,0,228,0,237,1,45,1,54,1,65,1,74,1,119,1,128,1,217,2,3,2,12,2,21,2,30,2,40,2,49,2,90,2,136,2,145,2,154,2,182,2,191,2,200,2,209,2,219,2,231,2,241,2,253,3,9,3,19,3,28,3,37,3,46,3,55,3,64,3,73,3,143,3,222,3,231,3,240,4,50,4,73,4,137,4,146,4,155,4,165,4,174,4,183,4,204,4,232,4,241,4,251,5,18,5,86,5,95,5,104,5,114,5,123,5,132,5,141,5,150,5,159,5,168,5,231,5,240,6,28,6,40,6,85,6,94,6,112,6,121,6,147,6,156,6,168,6,196,6,249,7,31,7,40,7,49,7,58,7,122,7,186,7,195,7,218,7,227,7,236,7,246,8,2,8,14,8,26,8,38,8,48,8,57,8,67,8,76,8,85,8,94,8,103,8,112,8,121,8,130,8,139,8,148,8,157,8,225,9,16,9,48,9,57,9,66,9,131,9,175,9,226,10,19,10,72,10,81,10,90,10,99,10,185,10,195,10,205,10,214,10,226,10,235,11,47,11,97,11,114,11,137,11,146,11,155,11,164,11,183,11,192,11,201,11,211,11,220,11,229,11,238,11,247,12,38,12,47,12,56,12,65,12,74,12,83,12,92,12,101,12,173,12,182,12,191,12,213,12,222,13,14,13,23,13,33,13,42,13,51,13,85,13,115,13,124,13,134,13,143,13,152,13,161,13,170,13,179,13,188,13,217,13,227,13,237,13,247,14,2,14,11,14,20,14,29,14,39,14,49,14,74,14,169,14,178,14,187,14,196,14,205,14,214,14,223,14,233,14,242,14,251,15,4,15,13,15,22,15,31,15,41,15,50,15,59,15,68,15,77,15,86,15,215,15,224,15,234,15,244,16,116,16,125,16,173,16,221,16,230,16,239,16,248,17,1,17,10,17,71,17,149,17,214,18,26,18,85,18,94,18,103,18,112,18,121,18,130,18,139,18,148,18,157,18,167,18,176,18,185,18,194,18,203,18,212,18,221,19,67,19,76,19,85,19,95,19,160,19,231,20,12,20,96,20,105,20,114,20,123,20,132,20,141,20,179,20,222,20,232,20,242,21,44,21,72,21,81,21,90,21,99,21,108,21,117,21,126,21,135,21,223,21,232,22,79,22,89,22,156,22,198,22,208,22,249,23,2,23,43,23,90,23,99,23,150,23,159,23,169,23,223,24,27,24,65,24,74,24,114,24,123,24,132,24,197,25,8,25,18,25,57,25,66,25,75,25,84,25,93,25,102,25,111,25,120,25,130,25,139,25,148,25,157,25,166,25,176,25,185,25,194,25,203,25,212,25,222,25,231,25,240,26,72,26,120,26,171,26,180,26,190,27,20,27,85,27,148,27,213,28,5,28,14,28,23,28,32,28,119,28,128,28,137,28,146,28,155,28,164,29,22,29,57,29,108,29,166,29,219,29,228,29,237,30,71,30,122,30,131,30,140,30,149,30,158,30,167,30,176,30,185,31,1,31,10,31,19,31,28,31,37,31,47,31,56,31,65,31,148,31,157,31,167,31,189,31,198,31,244,31,253,32,6,32,15,32,24,32,58,32,106,32,115,32,124,32,133,32,142,32,151,32,160,32,169,32,179,32,209,32,218,32,227,32,236,33,50,33,98,33,107,33,116,33,125,33,134,33,143,33,152,34,66,34,146,34,180,34,223,34,232,35,26,35,35,35,52,35,61,35,83,35,138,35,147,35,156,35,165,36,90,36,181,36,219,36,228,36,237,37,82,37,91,37,132,37,141,37,150,37,159,37,179,37,188,37,197,37,206,37,250,38,3,38,56,38,65,38,97,38,124,38,148,38,178,38,203,38,253,39,55,39,112,39,188,40,2,40,11,40,57,40,115,40,124,40,133,40,142,40,179,40,231,41,74,41,124,41,147,42,89,42,197,42,223,42,232,43,13,43,55,43,93,43,124,43,133,43,142,43,151,43,181,43,190,43,237,44,4,44,72,44,81,44,150,44,229,44,246,44,255,45,21,45,77,45,86,45,95,45,104,46,4,46,97,46,133,46,142,46,151,46,253,47,6,47,49,47,99,47,121,47,130,47,150,47,159,47,168,47,185,47,194,47,203,48,48,48,57,48,94,48,121,48,145,48,181,48,206,48,249,49,43,49,97,49,170,49,236,49,245,50,45,50,96,50,105,50,114,50,123,50,166,50,213,51,55,51,133,51,156,52,99,52,208,52,235,53,7,53,42,53,84,53,128,53,137,53,146,53,155,53,164,53,206,53,215,54,21,54,113,54,122,55,43,55,135,55,144,55,153,55,162,56,8,56,30,56,39,56,48,56,105,56,172,56,247,57,37,57,93,57,143,57,237,57,246,57,255,58,8,58,37,58,46,58,55,58,64,58,95,58,104,58,113,58,122,58,131,58,140,58,164,58,173,58,182,58,191,58,230,58,239,58,248,59,1,59,10,59,47,59,121,59,157,59,198,59,230,60,8,60,42,60,79,60,142,60,151,60,160,60,225,61,43,61,130,61,168,62,6,62,80,62,149,62,187,62,233,63,12,63,53,63,130,63,187,63,232,64,82,64,91,64,141,64,202,65,21,65,76,65,120,65,164,65,227,66,39,66,80,66,159,66,168,66,177,66,186,66,195,66,204,66,213,66,222,66,231,66,240,66,249,67,2,67,61,67,103,67,131,67,188,68,28,68,67,68,140,68,205,68,236,69,57,69,129,69,166,69,175,69,184,69,193,69,202,69,211,69,220,69,229,69,238,69,247,70,0,70,9,70,18,70,27,70,36,70,45,70,54,70,63,70,72,70,81,70,90,70,99,70,108,70,117,70,126,70,135,70,144,70,153,70,162,70,171,70,180,70,217,70,246,71,45,71,130,71,165,71,226,72,34,72,61,72,122,72,187,72,205,73,42,73,116,73,237,74,78,74,233,75,103,75,196,75,224,75,238,76,34,76,71,76,80,76,120,76,160,76,253,77,87,77,97,77,129,77,178,77,187,77,215,77,224,77,237,77,251,78,9,78,45,78,83,78,172,79,10,79,33,79,56,79,74,79,92,79,110,79,128,79,137,79,146,79,160,79,174,79,183,79,192,79,201,79,215,79,225,79,234,79,243,79,252,80,5,80,20,80,35,80,44,80,86,80,127,80,154,80,181,80,193,80,207,80,225,80,247,81,43,81,63,81,115,81,180,81,212,82,14,82,86,82,180,83,32,83,161,83,188,83,230,84,7,84,16,84,25,84,80,84,148,84,157,84,194,84,203,84,212,85,58,85,121,85,192,86,8,86,17,86,26,86,35,86,44,86,68,86,96,86,105,86,114,86,123,86,232,87,69,87,78,87,87,87,96,87,105,87,164,88,35,88,76,88,85,88,94,88,214,88,223,89,43,89,139,89,175,89,223,90,51,90,60,90,91,90,130,90,161,90,170,90,179,90,188,90,206,90,220,90,231,90,240,90,240,90,240,90,240,90,240,90,240,91,77,91,123,91,175,91,225,92,54,92,145,92,219,93,20,93,83,93,148,93,177,94,1,94,107,94,163,94,226,95,45,95,100,95,133,95,178,95,228,96,27,96,82,96,197,97,10,97,51,97,117,97,143,97,180,97,235,98,22,98,31,98,40,98,65,98,74,98,108,98,140,98,159,98,191,98,212,98,226,98,252,99,46,99,65,99,91,99,120,99,147,99,182,99,217,99,244,99,253,100,61,100,80,100,102,100,182,100,210,101,13,101,22,101,31,101,51,101,90,101,122,101,131,101,140,101,158,101,242,102,75,102,101,102,110,102,137,102,167,102,197,102,227,103,23,103,68,103,118,103,162,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,207,103,240,104,20,104,63,104,102,104,141,104,180,104,180,104,180,104,213,104,246,105,33,105,76,105,119,105,162,105,204,106,175,106,214,106,223,106,248,106,248,107,28,107,54,107,79,107,106,107,134,107,155,107,175,107,196,107,217,107,217,107,236,107,255,108,18,108,37,108,56,108,79,108,104,108,104,108,131,108,131,108,131,108,145,108,159,108,159,108,173,108,212,108,226,109,99,109,120,109,141,109,174,109,219,110,9,110,82,110,82,110,96,110,110,110,124,110,138,110,152,110,170,110,192,110,214,110,236,111,2,111,16,111,16,111,25,111,25,111,25,111,25,111,25,111,25,111,47,111,71,111,94,111,117,111,139,111,161,111,182,111,182,111,182,111,205,111,228,111,228,111,228,111,228,111,228,111,251,112,18,112,41,112,63,112,63,112,63,112,63,112,63,112,91,112,119,112,147,112,175,112,210,112,239,113,11,113,32,113,67,113,96,113,125,113,145,113,194,113,227,114,4,114,25,114,43,114,61,114,80,114,97,114,119,114,136,114,158,114,182,114,201,114,218,114,240,115,1,115,23,115,47,115,74,115,92,115,110,115,128,115,146,115,160,115,179,115,196,115,213,115,227,115,241,115,255,116,25,116,51,116,65,116,87,116,109,116,123,116,142,116,159,116,178,116,195,116,209,116,233,116,251,117,14,117,38,117,57,117,76,117,100,117,122,117,144,117,168,117,192,117,220,117,248,118,20,118,48,118,89,118,109,118,130,118,148,118,166,118,180,118,199,118,216,118,233,118,247,119,5,119,19,119,45,119,71,119,85,119,107,119,129,119,143,119,162,119,181,119,198,119,215,119,229,119,253,120,16,120,34,120,58,120,77,120,96,120,120,120,142,120,164,120,188,120,212,120,233,120,251,121,13,121,37,121,56,121,78,121,95,121,117,121,134,121,158,121,177,121,199,121,216,121,238,121,255,122,26,122,44,122,62,122,89,122,113,122,138,122,162,122,180,122,199,122,223,122,242,123,4,123,31,123,51,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,70,123,194,124,7,124,65,124,163,124,228,125,68,125,96,125,189,125,223,125,237,126,3,126,127,126,215,127,50,127,86,127,226,128,48,128,133,128,213,129,18,129,103,129,136,129,151,129,172,129,186,129,204,129,230,130,31,130,78,130,139,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,212,130,226,130,240,130,240,130,254,131,12,131,46,131,71,131,85,131,114,131,141,131,164,131,183,131,208,131,222,132,154,132,175,133,23,133,50,133,59,133,96,133,124,133,157,133,180,133,209,134,49,134,58,134,113,134,124,134,133,134,142,134,168,134,190,134,238,135,30,135,91,135,141,135,166,135,200,136,14,136,23,136,50,136,116,136,156,136,204,136,254,137,7,137,58,137,109,137,199,138,13,138,22,138,110,138,120,138,129,138,157,138,190,138,227,138,236,139,78,139,182,139,192,139,201,139,228,140,21,140,99,140,179,140,250,141,4,141,43,141,108,141,172,141,181,142,41,142,50,142,183,142,214,143,6,143,82,144,13,144,79,144,200,145,62,145,201,145,236,146,143,146,206,147,32,147,32,147,66,147,112,147,176,148,2,148,102,148,220,149,100,149,254,150,134,150,252,151,132,151,250,152,94,152,212,153,92,153,210,154,54,154,172,155,16,155,98,155,198,156,60,156,196,157,58,157,158,158,20,158,120,158,202,159,46,159,164,160,8,160,90,160,190,161,16,161,80,161,162,162,6,162,124,163,4,163,122,163,222,164,84,164,184,165,10,165,110,165,228,166,72,166,154,166,254,167,80,167,144,167,226,168,70,168,188,169,32,169,114,169,214,170,40,170,104,170,186,171,30,171,112,171,176,172,2,172,66,172,112,172,176,173,2,173,102,173,220,174,100,174,218,175,62,175,180,176,24,176,106,176,206,177,68,177,168,177,250,178,94,178,176,178,240,179,66,179,166,180,28,180,128,180,210,181,54,181,136,181,200,182,26,182,126,182,208,183,16,183,98,183,162,183,208,184,16,184,98,184,198,185,60,185,160,185,242,186,86,186,168,186,232,187,58,187,158,187,240,188,48,188,130,188,194,188,240,189,48,189,130,189,230,190,56,190,120,190,202,191,10,191,56,191,120,191,202,192,10,192,56,192,120,192,166,192,194,192,240,193,48,193,130,193,230,194,92,194,228,195,90,195,190,196,52,196,152,196,234,197,78,197,196,198,40,198,122,198,222,199,48,199,112,199,194,200,38,200,156,201,0,201,82,201,182,202,8,202,72,202,154,202,254,203,80,203,144,203,226,204,34,204,80,204,144,204,226,205,70,205,188,206,32,206,114,206,214,207,40,207,104,207,186,208,30,208,112,208,176,209,2,209,66,209,112,209,176,210,2,210,102,210,184,210,248,211,74,211,138,211,184,211,248,212,74,212,138,212,184,212,248,213,38,213,66,213,112,213,176,214,2,214,102,214,220,215,64,215,146,215,246,216,72,216,136,216,218,217,62,217,144,217,208,218,34,218,98,218,144,218,208,219,34,219,134,219,216,220,24,220,106,220,170,220,216,221,24,221,106,221,170,221,216,222,24,222,70,222,98,222,144,222,208,223,34,223,134,223,216,224,24,224,106,224,170,224,216,225,24,225,106,225,170,225,216,226,24,226,70,226,98,226,144,226,208,227,34,227,98,227,144,227,208,227,254,228,26,228,72,228,136,228,182,228,210,229,0,229,28,229,37,229,46,229,55,229,70,229,79,229,128,229,153,229,167,229,181,229,199,229,219,229,239,230,12,230,40,230,98,230,113,230,176,230,190,230,206,230,231,230,245,231,30,231,74,231,83,231,92,231,101,231,110,231,119,231,128,231,137,231,146,231,155,231,164,231,173,231,182,231,191,231,200,231,209,232,5,232,30,232,46,232,62,232,81,232,103,232,125,232,153,232,202,233,9,233,22,233,75,233,104,233,118,233,132,233,141,233,150,233,159,233,217,233,244,234,16,234,16,234,16,234,119,234,226,235,80,235,190,236,47,192,0,64,0,128,2,0,12,0,15,0,0,0,15,0,1,8,7,1,2,2,2,2,2,2,2,7,96,230,26,230,26,160,26,230,129,0,154,131,0,102,7,212,20,236,20,236,44,236,20,129,0,64,131,0,192,128,2,0,12,0,20,0,0,0,23,0,1,0,7,24,81,175,232,95,252,4,161,135,132,6,95,95,0,51,205,205,51,131,4,236,236,20,20,186,129,0,70,135,132,65,255,46,255,46,128,3,164,228,228,164,131,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,171,131,134,129,0,40,131,134,128,2,0,12,0,5,0,0,0,2,0,1,0,129,0,251,131,134,134,134,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,211,131,134,129,0,40,131,134,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,211,131,134,129,0,40,131,134,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,132,134,134,134,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,57,0,0,0,57,0,1,0,27,251,15,45,45,45,57,95,90,230,235,221,241,241,241,251,246,244,255,254,251,24,81,175,232,95,252,4,161,135,129,3,226,206,196,197,131,8,172,138,156,171,171,171,165,0,254,133,6,95,95,0,51,205,205,51,131,132,2,224,196,211,129,14,28,60,60,60,30,32,30,30,22,6,236,236,20,20,186,129,0,70,135,129,5,5,10,255,249,0,238,130,7,20,40,60,60,60,64,4,1,133,65,255,46,255,46,128,3,164,228,228,164,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,6,0,0,0,2,0,1,0,0,226,132,0,8,132,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,30,0,0,0,30,0,1,15,14,0,1,2,1,1,2,2,2,2,2,2,2,2,2,2,14,26,125,236,40,177,20,0,40,230,40,206,40,230,40,230,129,5,84,84,0,217,38,164,130,3,210,46,0,92,14,239,156,10,196,73,0,10,226,20,226,40,226,20,226,20,129,5,182,182,0,246,157,74,130,3,37,219,0,182,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,87,0,0,0,77,32,1,0,43,170,170,20,56,94,94,94,65,40,170,170,10,250,232,232,232,223,216,24,24,170,170,230,230,10,10,170,170,0,45,94,94,94,54,20,170,170,0,244,232,232,232,25,70,131,128,14,154,154,154,186,216,3,51,51,51,4,4,4,252,246,251,133,13,35,231,231,35,4,205,205,205,249,30,63,102,102,102,130,4,4,10,8,4,4,131,26,25,1,1,3,3,1,2,3,2,1,2,2,2,2,2,1,1,1,1,1,1,1,1,2,3,2,1,25,56,0,196,0,56,100,20,9,0,236,56,56,30,56,0,232,196,196,196,232,0,56,0,20,61,100,5,64,64,20,224,224,242,134,12,32,32,32,8,246,222,192,192,192,0,10,14,14,0,128,2,0,12,0,38,0,0,0,32,0,1,0,21,246,14,14,14,1,246,238,225,222,49,39,8,246,201,148,148,148,226,235,243,222,233,131,136,10,80,86,94,94,94,45,0,162,162,162,169,133,128,6,236,236,236,246,0,249,248,132,3,25,56,56,56,136,134,12,2,5,205,190,175,175,175,217,0,81,81,81,81,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,34,0,0,0,34,0,1,0,19,170,170,0,49,94,94,94,49,0,170,170,0,232,232,232,0,24,24,170,170,131,128,8,154,154,154,205,0,51,102,102,102,141,19,56,56,0,227,196,196,196,227,0,56,56,0,20,20,20,0,236,236,56,56,131,128,8,75,75,75,42,0,214,181,181,181,141,0,128,2,0,12,0,39,0,0,0,39,0,1,0,131,19,170,170,0,49,94,94,94,49,0,170,170,0,232,232,232,0,24,24,170,170,131,13,51,205,205,51,0,154,154,154,205,0,51,102,102,102,141,131,19,56,56,0,227,196,196,196,227,0,56,56,0,20,20,20,0,236,236,56,56,131,13,224,32,32,224,0,75,75,75,42,0,214,181,181,181,141,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,17,0,0,0,17,0,1,8,7,1,2,2,2,2,2,2,2,7,24,170,24,232,24,232,24,232,129,5,154,0,205,51,0,102,7,236,56,236,20,236,20,236,20,129,5,64,0,32,224,0,192,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,171,131,134,129,0,40,131,134,128,2,0,12,0,5,0,0,0,2,0,1,0,129,0,251,131,134,134,134,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,211,131,134,129,0,40,131,134,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,211,131,134,129,0,40,131,134,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,132,134,134,134,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,75,0,0,0,52,32,1,0,7,247,253,1,1,1,7,10,10,64,255,126,27,231,214,197,197,197,223,247,242,240,251,250,247,24,24,170,170,24,24,232,232,24,24,232,232,24,24,232,232,131,129,5,253,250,239,248,10,20,130,8,227,216,194,171,171,171,165,0,254,133,7,154,154,0,51,205,205,51,102,129,0,102,131,17,16,0,1,2,2,1,3,3,3,3,4,2,2,2,2,2,2,2,128,2,252,246,252,129,10,50,20,20,236,56,236,20,236,20,236,20,130,4,247,246,0,50,60,130,5,64,0,32,224,0,192,128,2,0,12,0,89,0,0,0,55,32,1,0,12,246,227,230,237,55,39,3,246,227,168,168,168,209,130,21,215,164,164,164,213,0,255,255,254,254,232,236,242,251,0,8,18,24,24,24,18,7,131,4,12,24,24,24,33,131,129,23,2,5,80,84,94,94,94,56,0,231,207,206,50,50,50,4,216,191,162,162,162,163,168,171,133,6,246,227,216,228,243,251,251,129,4,251,244,253,0,11,132,19,18,0,1,1,1,1,3,3,2,1,2,3,1,2,4,1,4,5,10,1,129,1,2,20,129,1,62,34,129,8,62,62,0,20,20,0,236,236,246,129,11,254,10,215,175,0,36,38,218,0,39,81,81,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,61,0,0,0,57,32,1,0,29,10,20,24,203,214,232,253,10,51,92,92,92,36,216,254,4,105,80,24,24,232,232,131,136,197,232,232,232,244,5,131,130,15,182,176,167,164,164,164,200,236,12,31,31,31,225,96,98,98,129,7,98,225,223,223,236,231,232,245,132,17,16,1,1,1,1,1,2,3,3,2,1,1,2,2,1,1,1,2,6,244,236,30,25,15,0,194,129,3,156,0,236,20,64,0,130,128,1,10,20,129,14,80,81,81,81,20,201,45,188,188,0,188,45,45,45,0,0,128,2,0,12,0,13,0,0,0,13,0,1,6,5,1,2,2,2,2,2,5,24,170,24,16,24,232,129,3,205,51,0,102,5,236,56,236,0,236,20,129,3,33,223,0,192,128,2,0,12,0,66,0,0,0,49,32,1,0,33,246,16,14,14,14,0,246,233,220,225,49,37,7,246,198,148,148,148,209,246,244,242,242,222,222,238,66,66,222,222,246,246,222,222,131,129,0,17,132,14,12,23,103,99,94,94,94,44,0,225,162,162,162,162,162,131,6,206,206,0,52,206,206,52,131,16,15,0,4,1,1,2,1,1,3,3,3,3,1,4,2,2,2,128,4,236,246,0,18,20,129,0,56,129,4,20,190,20,0,20,131,11,250,246,195,175,0,81,81,0,30,0,30,222,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,11,0,0,0,11,0,1,6,5,1,2,2,2,2,2,5,86,232,24,170,24,232,131,1,205,51,5,200,20,236,56,236,20,131,1,32,224,128,2,0,12,0,15,0,0,0,19,32,1,8,7,0,2,3,2,2,2,2,2,129,5,86,232,24,170,24,232,1,51,205,131,1,205,51,6,5,5,2,2,2,2,2,5,200,20,236,56,236,20,131,1,32,224,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,13,0,0,0,13,0,1,6,5,1,2,2,2,2,2,5,55,201,24,232,24,232,129,0,154,129,0,102,5,218,38,236,20,236,20,129,0,57,129,0,199,128,2,0,12,0,59,0,0,0,64,32,1,0,15,31,52,54,54,202,202,251,31,51,86,86,86,232,232,232,250,131,3,50,50,206,206,133,1,40,40,131,2,236,236,255,129,5,208,146,146,146,180,196,129,5,196,227,236,0,154,154,132,0,102,129,1,102,102,129,0,102,131,19,18,0,3,2,1,1,1,1,1,2,1,1,3,2,2,2,2,2,2,2,18,254,208,38,13,254,233,202,202,20,20,20,236,30,209,39,236,30,0,202,128,9,85,80,85,85,85,79,85,0,85,43,64,0,149,6,85,0,85,0,192,0,192,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,64,0,0,0,49,32,1,0,32,252,2,6,6,6,12,15,15,131,0,229,202,202,202,228,252,247,245,0,255,252,55,55,201,201,24,24,232,232,24,24,232,232,131,129,5,253,250,239,248,10,20,130,8,227,216,194,171,171,171,165,0,254,133,3,154,154,0,102,129,0,102,131,16,15,0,1,2,2,1,2,1,3,3,3,4,2,2,2,2,2,15,20,16,10,16,20,40,20,70,40,40,218,38,236,20,236,20,130,1,247,246,129,1,50,60,130,0,57,129,0,199,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,41,0,0,0,33,32,1,0,128,14,2,24,24,172,172,207,0,49,86,86,86,232,232,232,3,129,1,40,40,131,129,0,242,129,4,203,166,166,166,204,131,2,243,0,102,129,0,102,131,10,9,1,2,2,1,1,3,2,1,3,2,7,246,236,70,34,0,200,20,20,129,128,8,10,45,85,85,10,0,10,192,0,0,128,2,0,12,0,5,0,0,0,5,0,1,0,128,0,5,131,133,128,0,60,131,133,0,128,2,0,12,0,43,0,0,0,33,0,1,0,16,216,216,235,24,64,90,90,232,232,231,227,221,24,24,170,170,110,64,0,144,1,42,232,131,5,40,188,188,171,167,203,129,3,224,227,6,40,132,1,214,172,132,129,17,242,222,209,202,202,20,20,18,12,5,236,236,56,56,176,9,89,20,131,128,4,80,80,66,44,16,138,1,180,180,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,9,0,0,0,9,0,1,4,3,1,2,2,2,3,24,170,24,232,129,1,154,0,3,236,56,236,20,129,1,64,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,19,0,0,0,19,32,1,0,11,35,60,201,211,24,24,170,170,24,24,232,232,131,136,1,154,154,132,6,5,1,2,2,2,2,2,5,186,20,236,56,236,20,131,1,64,0,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,5,0,1,0,128,0,216,131,133,128,0,40,131,133,0,128,2,0,12,0,23,0,0,0,20,0,1,0,131,5,180,180,232,232,180,180,65,255,70,255,70,131,128,5,171,0,85,0,154,154,136,131,1,216,216,129,3,216,216,36,36,131,6,226,60,30,196,0,65,65,136,128,2,0,12,0,52,0,0,0,40,0,1,0,23,21,4,250,124,78,78,94,220,24,24,178,178,36,162,196,196,132,6,1,250,78,78,232,232,131,2,80,194,194,129,65,0,164,0,164,0,80,131,0,80,65,0,164,0,164,129,2,194,194,80,135,130,13,186,192,212,206,0,236,236,44,44,0,50,44,64,70,129,4,10,212,212,20,20,131,2,156,226,226,131,0,156,131,0,156,131,2,226,226,156,135,0,128,2,0,12,0,31,0,0,0,32,0,1,0,15,81,166,203,203,176,91,83,83,24,24,178,178,78,78,232,232,131,128,65,0,252,0,252,129,65,255,4,255,4,140,64,255,102,2,74,54,54,64,0,154,10,182,202,202,236,236,54,54,202,202,20,20,131,128,1,36,36,129,1,220,220,140,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,58,0,0,0,57,0,1,0,28,55,55,25,63,79,79,79,232,232,232,253,17,15,81,166,203,203,176,91,83,83,24,24,178,178,78,78,232,232,131,128,4,180,179,189,233,40,129,5,40,16,11,15,5,0,65,0,252,0,252,129,65,255,4,255,4,140,12,136,146,217,214,203,203,203,20,20,20,18,255,227,64,255,102,2,74,54,54,64,0,154,10,182,202,202,236,236,54,54,202,202,20,20,131,128,3,86,68,59,24,131,6,231,222,236,245,0,36,36,129,1,220,220,140,128,2,0,12,0,57,0,0,0,57,0,1,0,129,26,226,8,24,24,24,177,177,177,198,218,216,81,166,203,203,176,91,83,83,24,24,178,178,78,78,232,232,131,128,4,180,179,192,233,40,129,5,40,18,14,17,5,0,65,0,252,0,252,129,65,255,4,255,4,140,12,249,3,250,247,236,236,236,53,53,53,51,32,4,64,255,102,2,74,54,54,64,0,154,10,182,202,202,236,236,54,54,202,202,20,20,131,128,3,86,68,59,24,131,6,233,225,238,245,0,36,36,129,1,220,220,140,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,13,0,0,0,13,0,1,6,5,3,4,2,1,3,1,5,24,232,94,94,162,162,129,3,152,0,94,0,5,236,20,196,196,60,60,129,3,81,0,175,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,171,131,134,129,0,40,131,134,128,2,0,12,0,5,0,0,0,5,0,1,0,129,0,251,131,134,134,128,0,236,132,0,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,211,131,134,129,0,40,131,134,128,2,0,12,0,6,0,0,0,5,0,1,0,128,1,251,211,131,134,129,0,40,131,134,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,132,134,134,134,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,133,128,0,236,131,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,70,0,0,0,52,32,1,0,36,230,236,240,240,240,1,1,139,240,201,177,180,180,180,221,230,223,223,234,235,230,0,24,24,24,0,232,232,232,0,94,94,94,0,162,162,162,131,129,17,7,14,254,14,4,248,253,245,232,222,216,178,171,171,171,165,0,254,136,7,152,152,0,94,94,94,0,152,131,16,15,0,1,2,2,3,4,3,2,1,1,5,4,2,1,3,1,128,1,247,236,129,10,70,30,20,20,14,236,20,196,196,60,60,9,246,246,0,246,0,20,50,50,0,250,129,3,81,0,175,0,0,128,2,0,12,0,39,32,0,0,42,0,1,0,13,12,0,2,1,1,2,2,3,1,2,2,1,2,4,128,11,20,24,206,230,0,87,87,10,6,24,0,232,130,6,184,168,164,0,43,92,92,130,128,12,250,240,236,246,247,247,3,20,236,193,193,193,224,130,7,236,245,0,10,20,20,20,9,131,131,12,81,81,81,81,81,81,38,0,217,175,175,175,175,139,128,2,0,12,0,22,0,0,0,17,0,1,10,9,0,1,1,1,4,4,2,1,3,1,9,246,55,10,201,24,232,94,94,162,162,128,2,226,0,30,129,3,152,0,94,0,9,60,0,196,0,236,20,196,196,60,60,133,3,81,0,175,0,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,0,2,0,12,0,53,32,0,0,64,32,1,18,17,0,4,2,3,2,1,4,2,1,1,1,1,2,3,4,2,2,2,128,0,26,129,0,206,129,10,230,0,24,40,40,0,164,0,230,0,230,133,11,164,0,162,162,162,94,94,0,210,46,0,92,22,21,6,2,1,2,1,1,1,2,2,1,2,1,1,1,1,1,1,1,3,2,2,2,21,236,61,90,48,90,68,15,216,20,236,208,208,222,236,19,60,60,60,216,20,216,20,134,14,74,0,74,74,192,182,182,182,228,7,43,37,219,0,182,0,128,2,0,12,0,43,0,0,0,32,32,1,0,21,170,170,20,56,94,94,94,56,20,170,170,20,255,232,232,232,255,20,24,24,170,170,131,9,50,204,204,204,243,25,62,102,102,102,130,4,14,25,37,50,50,135,10,9,1,1,4,2,2,1,3,3,2,2,9,56,0,186,0,56,0,20,0,236,56,3,24,24,215,192,130,0,216,129,128,2,0,12,0,44,0,0,0,44,0,1,0,21,170,170,20,56,94,94,94,56,20,170,170,20,0,232,232,232,0,20,24,24,170,170,131,17,25,179,179,179,218,0,36,77,77,77,231,231,231,244,0,12,25,25,135,21,56,56,0,223,186,186,186,223,0,56,56,0,11,20,20,20,11,0,236,236,56,56,131,17,241,49,49,49,26,5,239,217,217,217,25,25,25,24,25,6,241,241,135,0,128,2,0,12,0,52,0,0,0,32,32,1,0,10,50,61,54,54,54,202,202,202,6,50,248,129,14,24,24,24,0,232,232,232,0,94,94,94,0,162,162,162,131,129,8,10,0,236,236,0,219,164,164,164,136,7,152,152,0,94,94,94,0,152,131,10,9,1,3,2,3,6,4,2,1,3,1,9,246,215,41,20,236,20,196,196,60,60,130,0,85,129,3,81,0,175,0,0,128,2,0,12,0,47,0,0,0,45,0,1,0,25,170,170,40,67,94,94,94,67,40,170,170,40,9,232,232,232,9,40,24,24,170,170,106,80,216,232,131,9,51,205,205,205,242,20,58,102,102,102,130,4,10,20,35,51,51,139,25,56,56,0,223,186,186,186,223,0,56,56,0,9,20,20,20,9,0,236,236,56,56,186,246,60,20,131,9,232,40,40,40,19,0,225,192,192,192,132,2,244,232,232,139,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,81,0,0,0,78,0,1,0,128,4,10,23,24,12,5,129,31,48,98,98,98,86,66,165,217,24,24,24,7,10,254,250,235,54,49,19,10,206,158,158,158,155,154,66,27,232,232,232,243,131,129,16,251,246,141,151,162,162,162,192,221,237,17,30,121,102,60,20,19,130,16,1,12,89,88,94,94,94,59,20,14,248,247,161,177,186,221,238,132,129,37,236,236,248,247,6,0,216,190,190,190,197,206,0,249,236,236,236,6,30,15,33,20,226,249,8,30,48,66,66,66,60,50,31,22,20,20,20,252,131,129,14,2,0,81,82,81,81,81,55,20,251,233,231,215,224,8,132,16,247,0,175,168,175,175,175,204,236,6,9,10,8,3,234,10,14,132,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,128,0,236,131,133,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,128,0,236,131,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,5,0,1,0,128,0,251,131,133,128,0,236,131,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,68,0,0,0,54,32,1,0,15,26,26,26,13,0,6,239,230,70,55,28,0,211,172,172,172,134,15,46,96,96,96,61,30,112,110,230,226,0,243,230,230,230,244,131,133,7,3,0,80,94,100,100,100,53,132,18,154,154,154,154,154,199,239,9,50,60,40,30,0,226,236,209,203,225,239,132,19,18,2,1,3,1,1,3,3,2,2,4,2,3,1,2,1,1,1,1,3,3,236,245,15,20,129,0,56,130,8,200,230,0,186,20,80,0,9,20,131,1,181,181,130,6,73,35,188,176,181,0,206,130,0,0,2,0,12,0,42,32,0,0,45,32,1,13,12,2,3,3,3,1,2,1,1,1,2,3,2,2,12,26,26,164,92,92,0,10,16,26,0,230,26,0,7,206,206,206,162,0,94,94,89,130,1,206,50,14,13,3,1,1,1,2,3,1,2,2,1,2,2,3,2,13,236,236,236,60,60,196,196,0,236,236,0,20,236,0,8,8,25,32,32,0,81,0,175,175,130,1,32,224,0,128,2,0,12,0,8,0,0,0,8,0,1,4,3,1,2,2,2,3,55,201,24,232,130,0,102,3,218,38,236,20,130,0,192,128,2,0,12,0,12,0,0,0,14,32,1,6,5,0,2,3,2,2,2,129,3,55,201,24,232,1,51,205,130,0,102,4,3,5,2,2,2,3,218,38,236,20,130,0,192,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,2,4,3,5,3,24,170,86,232,128,2,206,156,0,3,236,56,200,20,128,2,37,75,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,28,0,0,0,39,32,1,13,12,0,1,1,1,1,2,1,1,1,3,4,3,5,12,57,88,87,87,80,236,236,24,57,24,170,86,232,0,80,129,9,1,247,0,24,76,80,0,206,156,0,12,11,0,1,1,1,1,2,1,1,4,4,3,5,128,3,216,203,190,176,130,3,236,56,200,20,11,196,0,246,231,251,0,230,197,0,37,75,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,69,0,0,0,61,32,1,0,6,220,226,230,230,230,247,247,64,255,119,28,220,184,164,170,170,170,211,220,213,213,224,225,220,0,24,24,24,170,170,170,211,0,86,86,86,232,232,232,244,131,129,17,7,14,254,14,4,248,248,240,228,220,216,178,171,171,171,165,0,254,134,3,206,156,156,156,137,19,18,0,1,2,2,1,1,1,1,1,1,1,3,2,1,1,4,4,3,5,18,246,237,226,246,246,236,236,255,35,60,60,20,10,10,4,236,56,200,20,3,246,246,0,246,129,12,247,249,255,11,20,50,50,0,250,0,37,75,0,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,15,0,0,0,15,0,1,0,7,92,25,158,5,253,100,233,166,131,130,1,163,163,134,2,196,236,50,129,2,206,20,60,131,130,1,80,80,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,43,0,0,0,39,0,1,0,6,84,24,156,236,236,25,231,129,1,186,70,129,6,25,231,20,20,100,232,172,131,130,1,176,176,129,65,0,128,0,128,129,65,0,128,0,128,129,1,176,176,134,6,226,236,40,0,10,236,20,129,1,30,226,129,6,236,20,246,0,216,20,30,131,130,1,90,90,129,1,166,166,129,1,166,166,129,1,90,90,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,27,0,0,0,27,0,1,0,11,106,36,24,150,219,232,24,36,106,232,220,150,131,128,0,31,129,0,225,129,0,224,129,0,31,132,11,176,236,216,80,20,40,216,236,176,40,20,80,131,128,0,236,129,0,20,129,0,20,129,0,236,132,0,128,2,0,12,0,23,0,0,0,24,0,1,0,11,60,24,159,5,251,97,232,196,55,55,201,201,131,130,1,151,151,131,1,146,146,132,2,218,236,70,129,6,186,20,38,218,218,38,38,131,0,196,129,1,60,60,129,0,196,135,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,251,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,18,0,0,0,18,0,1,8,7,0,1,1,1,2,2,2,2,7,200,24,56,232,24,232,24,232,4,224,154,22,102,154,129,0,102,7,10,236,246,20,236,20,236,20,128,3,64,0,192,64,129,0,192,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,20,131,133,133,133,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,20,131,133,133,133,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,20,131,133,133,133,128,2,0,12,0,6,0,0,0,2,0,1,0,128,1,236,10,131,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,128,0,236,131,133,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,20,131,133,133,133,128,2,0,12,0,21,32,0,0,16,0,1,0,6,5,1,2,2,2,2,2,5,55,201,24,232,24,232,129,0,156,129,0,100,3,215,215,41,41,139,132,3,74,74,0,182,129,0,182,131,128,2,0,12,0,92,0,0,0,84,0,1,0,45,62,59,81,81,81,42,236,24,24,0,251,229,229,229,232,232,4,13,24,24,24,2,2,20,66,60,95,98,25,1,176,176,176,203,226,244,40,81,81,81,94,100,77,69,41,12,131,128,6,104,247,200,29,101,100,96,130,3,252,219,140,149,130,20,240,224,223,208,208,208,212,215,22,32,35,35,35,211,194,178,178,178,189,218,247,130,2,244,5,9,132,45,228,218,246,246,246,252,0,236,236,0,30,60,60,60,20,20,246,242,236,236,236,230,226,217,189,198,198,201,233,246,70,70,70,47,30,17,255,246,246,246,218,216,218,214,222,238,131,129,5,60,236,210,186,186,186,132,1,60,60,130,20,7,15,27,40,40,40,45,50,226,226,226,226,226,15,40,70,70,70,67,63,60,138,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,5,0,0,0,2,0,1,0,129,0,253,131,134,134,134,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,5,0,0,0,2,0,1,0,129,0,253,131,134,134,134,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,133,0,0,0,112,0,1,0,63,252,2,6,6,6,12,15,15,131,236,219,202,202,202,228,252,247,245,0,255,252,62,59,81,81,81,42,236,24,24,0,251,229,229,229,232,232,4,13,24,24,24,2,2,20,66,60,95,98,25,1,176,176,176,203,226,244,40,81,81,81,94,100,77,2,69,41,12,131,129,5,253,250,244,1,20,20,130,8,227,216,194,171,171,171,165,0,254,129,6,104,247,200,29,101,100,96,130,3,252,219,140,149,130,20,240,224,223,208,208,208,212,215,22,32,35,35,35,211,194,178,178,178,189,218,247,130,2,244,5,9,132,137,56,28,60,60,60,39,20,24,30,20,15,4,228,218,246,246,246,252,0,236,236,0,30,60,60,60,20,20,246,242,236,236,236,230,226,217,189,198,198,201,233,246,70,70,70,47,30,17,255,246,246,246,218,216,218,214,222,238,131,129,4,246,236,239,245,246,131,6,26,50,64,80,80,80,80,132,5,60,236,210,186,186,186,132,1,60,60,130,20,7,15,27,40,40,40,45,50,226,226,226,226,226,15,40,70,70,70,67,63,60,138,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,134,129,0,25,131,134,134,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,128,2,0,12,0,141,0,0,0,101,32,1,0,63,29,27,24,24,24,0,251,7,29,28,63,46,0,250,213,186,186,186,210,231,252,29,29,29,248,83,15,16,5,29,29,29,29,15,0,24,24,0,230,201,201,201,247,6,24,24,24,14,6,254,232,232,232,232,232,195,195,62,62,43,31,253,200,200,7,200,225,247,243,233,222,233,245,131,129,25,244,234,237,223,223,223,223,220,32,34,35,35,35,4,221,199,178,178,178,221,247,196,50,50,48,26,131,3,43,87,90,90,130,0,255,131,2,7,12,7,130,20,5,240,252,22,32,32,226,226,24,94,94,94,27,0,217,172,172,172,184,7,4,132,35,34,0,1,3,2,3,1,3,3,3,3,1,1,3,2,1,1,3,1,1,1,1,1,3,1,4,4,4,2,1,2,3,3,2,1,1,128,1,247,236,129,5,40,40,60,10,206,226,129,21,226,206,206,0,236,236,0,237,216,0,9,20,20,30,198,198,246,30,0,20,20,16,132,3,216,216,20,70,129,6,50,26,0,236,216,168,168,129,0,3,132,6,240,26,225,172,0,94,94,129,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,45,0,0,0,38,32,1,0,28,206,225,7,24,4,248,220,206,17,90,90,90,44,0,158,158,158,148,205,0,244,232,232,232,218,24,24,158,158,131,131,10,148,166,168,168,168,214,0,42,88,88,88,145,14,13,0,3,1,3,3,3,2,2,1,1,1,3,3,2,128,0,236,129,9,186,0,50,60,75,50,35,20,236,50,129,3,90,90,0,166,135,0,2,0,12,0,37,32,0,0,46,32,1,12,11,0,4,2,3,1,1,1,1,3,3,3,1,128,10,24,0,232,56,47,18,0,156,0,8,252,131,7,70,98,98,98,0,158,166,5,16,15,0,1,3,1,1,3,1,3,1,1,1,3,3,1,1,1,15,50,16,236,247,0,30,246,0,29,60,60,50,15,20,28,42,132,7,226,186,176,176,217,0,80,80,130,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,58,32,0,0,50,0,1,0,19,18,0,4,2,1,1,1,2,2,3,2,2,1,2,1,1,1,1,2,1,18,45,24,49,58,97,106,94,11,166,11,94,94,110,105,65,93,94,232,232,131,9,225,210,211,88,0,168,59,84,46,34,129,2,70,0,251,30,216,226,236,236,236,225,216,207,192,198,206,206,206,12,40,70,70,70,10,206,206,206,206,203,195,211,226,206,206,20,20,131,138,8,186,166,166,166,212,0,110,110,110,64,0,170,0,100,140,0,128,2,0,12,0,63,32,0,0,80,0,1,0,21,20,2,2,1,1,1,1,3,2,2,1,1,2,4,3,5,2,2,2,1,1,1,20,101,10,0,248,237,232,0,102,48,0,210,162,11,24,110,80,232,248,10,0,236,10,9,21,0,251,252,0,164,0,92,92,92,133,3,40,206,0,90,40,196,198,200,221,246,0,7,16,20,20,20,10,198,198,198,233,10,37,66,66,66,37,10,251,236,236,236,246,0,226,185,178,198,196,20,20,15,10,251,251,10,131,129,19,229,196,186,0,3,13,29,40,40,86,86,10,220,170,170,170,199,226,26,86,129,2,241,226,240,134,6,40,21,0,226,30,20,216,131,128,2,0,12,0,63,0,0,0,54,0,1,0,34,47,60,196,209,45,35,24,24,24,37,49,58,97,106,94,94,94,11,219,166,166,166,11,94,94,94,94,110,105,65,93,94,94,232,232,131,139,16,225,210,210,211,88,88,88,42,0,168,168,168,59,84,46,46,34,129,0,70,129,0,251,131,34,236,236,20,20,216,226,236,236,236,225,216,207,192,198,206,206,206,12,40,70,70,70,10,206,206,206,206,203,195,211,226,206,206,20,20,131,142,8,186,166,166,166,212,0,110,110,110,64,0,170,0,100,140,128,2,0,12,0,64,32,0,0,58,0,1,0,21,20,0,2,2,4,2,1,1,1,2,2,3,2,2,1,2,1,1,1,1,2,1,129,18,45,24,49,58,97,106,94,11,166,11,94,94,110,105,65,93,94,232,232,1,42,214,131,9,225,210,211,88,0,168,59,84,46,34,129,2,70,0,251,129,32,20,20,216,226,236,236,236,225,216,207,192,198,206,206,206,12,40,70,70,70,10,206,206,206,206,203,195,211,226,206,206,20,20,131,0,196,129,0,196,138,8,186,166,166,166,212,0,110,110,110,64,0,170,0,100,140,0,128,2,0,12,0,61,0,0,0,43,32,1,0,29,1,13,24,24,24,12,1,244,232,232,232,232,175,175,72,72,37,1,220,180,180,180,222,1,247,251,243,232,13,18,131,129,2,11,12,8,130,4,6,24,41,72,72,129,13,43,94,94,94,44,0,217,162,162,162,162,162,0,5,132,14,13,0,4,1,1,3,1,2,2,3,3,3,2,1,1,13,246,236,242,246,20,20,236,188,246,64,246,13,20,20,131,9,241,242,240,16,182,0,84,84,84,0,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,5,0,0,0,2,0,1,0,129,0,253,131,134,134,134,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,103,0,0,0,87,0,1,0,1,246,252,130,46,255,253,253,247,232,200,187,196,196,196,237,246,239,239,250,251,246,1,13,24,24,24,12,1,244,232,232,232,232,175,175,72,72,37,1,220,180,180,180,222,1,247,251,243,232,13,18,131,129,18,7,14,3,255,6,4,251,0,243,230,223,216,178,171,171,171,165,0,254,130,2,11,12,8,130,4,6,24,41,72,72,129,13,43,94,94,94,44,0,217,162,162,162,162,162,0,5,132,132,0,255,131,41,255,29,60,60,60,54,20,22,30,20,17,4,246,241,236,236,236,242,246,4,20,20,20,20,236,236,188,188,219,246,25,64,64,64,25,246,254,13,20,20,11,252,131,131,14,253,252,251,0,248,253,2,7,26,50,48,80,80,80,80,138,18,248,241,242,240,240,16,16,229,182,182,182,221,0,41,84,84,84,84,84,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,128,2,0,12,0,61,0,0,0,55,32,1,0,29,255,11,24,24,24,24,81,81,184,184,219,255,36,76,76,76,34,255,9,6,13,24,242,238,255,242,232,232,232,244,131,129,4,250,232,216,184,184,129,13,212,162,162,162,212,0,38,94,94,94,100,104,20,2,130,2,246,244,247,132,18,17,0,1,1,1,1,2,2,1,2,3,1,2,2,1,1,3,1,3,17,10,251,236,236,236,20,68,68,10,192,192,10,244,236,236,10,14,20,129,12,7,15,15,16,240,26,74,0,214,172,178,182,20,130,0,128,2,0,12,0,66,0,0,0,63,0,1,0,128,10,15,24,200,214,238,0,47,98,98,98,47,129,8,12,195,213,232,232,232,238,249,195,129,5,85,110,24,24,232,232,64,255,120,131,130,14,172,165,158,158,158,204,242,12,40,40,40,233,233,237,246,131,5,40,40,216,84,84,84,129,1,114,216,131,128,11,244,236,236,241,250,0,227,194,194,194,211,226,130,6,10,20,20,20,16,7,226,129,6,176,0,236,236,20,20,90,131,130,14,80,80,80,80,80,42,10,238,206,206,206,41,41,40,20,131,5,206,206,31,166,166,166,129,1,166,30,131,128,2,0,12,0,29,32,0,0,20,0,1,10,9,2,1,2,1,1,1,1,2,3,2,9,8,2,1,2,1,2,1,2,3,2,8,59,0,232,232,251,0,197,24,232,130,5,98,98,98,0,214,42,9,221,0,20,15,11,3,0,35,236,20,130,6,176,176,176,176,0,35,221,0,128,2,0,12,0,78,0,0,0,77,0,1,0,45,40,33,24,24,24,32,40,47,89,106,94,94,94,29,236,203,166,166,166,207,236,28,94,94,94,94,106,90,60,24,30,0,48,94,94,94,232,232,232,243,0,94,94,84,232,232,131,129,0,4,132,0,250,129,11,236,24,88,88,88,42,0,220,168,168,168,219,131,0,3,129,3,150,152,155,205,143,28,216,226,236,236,236,225,216,207,192,198,206,206,206,222,238,24,70,70,70,24,236,220,206,206,206,206,203,195,211,130,13,229,206,206,206,20,20,20,11,0,206,206,206,20,20,131,138,10,146,156,166,166,166,212,0,54,110,110,110,65,0,140,0,170,0,100,132,3,50,50,49,24,132,0,1,137,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,31,0,0,0,31,32,1,0,19,94,94,94,44,0,162,162,160,150,170,195,197,214,232,232,232,24,24,162,162,131,128,5,4,44,88,88,88,4,144,11,10,1,1,2,2,2,1,1,1,4,2,2,10,206,206,251,50,58,65,38,20,20,236,50,3,196,181,166,196,134,0,128,2,0,12,0,36,0,0,0,37,32,1,0,131,19,94,94,94,44,0,162,162,160,150,170,195,197,214,232,232,232,24,24,162,162,131,10,42,214,214,42,0,4,44,88,88,88,4,144,13,12,1,2,2,1,2,2,2,1,1,1,4,2,2,12,236,0,206,206,251,50,58,65,38,20,20,236,50,5,20,216,196,181,166,196,134,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,221,131,133,133,133,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,216,131,133,133,133,128,2,0,12,0,46,32,0,0,56,0,1,0,14,13,1,2,2,2,2,2,2,2,2,3,2,1,1,3,13,59,197,24,60,196,232,24,197,15,43,251,230,203,230,4,12,0,172,0,172,129,6,86,95,25,254,254,25,95,27,221,221,35,35,236,236,221,221,35,35,20,20,236,236,35,35,0,237,226,226,226,237,0,18,30,30,30,18,131,132,1,90,90,129,3,90,90,0,166,129,12,166,226,226,237,0,18,30,30,30,18,0,237,226,131,0,128,2,0,12,0,17,0,0,0,17,0,1,8,7,1,2,2,2,2,2,2,2,7,59,197,24,60,196,232,24,197,129,2,172,0,172,129,0,84,7,221,35,236,221,35,20,236,35,129,2,90,0,90,129,0,164,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,82,32,0,0,81,0,1,0,28,27,0,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,3,2,1,1,3,2,3,2,1,1,3,27,18,24,0,51,101,98,94,232,236,240,246,0,59,197,94,232,22,50,2,237,210,237,57,85,37,16,245,16,128,3,154,152,158,202,132,0,2,132,11,95,25,254,254,25,95,95,25,254,254,25,95,42,236,236,0,224,196,196,196,20,20,20,11,0,236,236,60,60,196,196,20,20,32,13,2,2,2,13,32,50,62,62,62,50,238,219,208,208,208,219,238,0,12,12,12,132,128,3,80,80,77,39,132,0,1,136,23,226,226,237,0,18,30,30,30,18,0,237,226,226,226,237,0,18,30,30,30,18,0,237,226,131,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,100,0,0,0,93,0,1,0,48,8,14,18,18,18,24,27,27,143,248,231,214,214,214,240,8,3,1,12,11,8,59,59,197,197,24,24,60,60,196,196,232,232,24,24,197,197,251,15,43,43,43,15,251,230,203,203,203,230,131,129,5,253,250,239,0,10,20,130,8,227,216,194,171,171,171,165,0,254,129,1,12,12,129,1,172,172,129,3,172,172,0,86,129,12,86,95,95,66,46,25,254,254,254,25,46,66,95,131,48,10,10,10,10,10,10,10,10,30,10,38,70,70,70,49,30,34,40,30,25,14,221,221,35,35,236,236,221,221,35,35,20,20,236,236,35,35,0,237,226,226,226,237,0,18,30,30,30,18,131,129,4,246,236,233,232,231,131,6,26,50,64,80,80,80,80,135,1,90,90,129,3,90,90,0,166,129,12,166,226,226,237,0,18,30,30,30,18,0,237,226,131,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,128,2,0,12,0,58,32,0,0,62,0,1,0,19,18,0,1,1,1,1,5,1,1,1,2,2,2,2,2,3,2,1,1,3,18,18,24,0,51,94,232,238,249,0,18,94,94,232,58,86,38,17,246,17,128,3,154,152,157,202,132,0,84,129,5,95,25,254,254,25,95,130,8,229,206,206,206,20,20,20,16,7,130,17,206,206,206,206,20,20,246,227,216,216,216,227,246,8,20,20,20,8,131,128,3,86,81,75,39,132,3,255,255,0,166,129,0,166,131,11,226,226,237,0,18,30,30,30,18,0,237,226,131,0,128,2,0,12,0,36,0,0,0,35,32,1,0,20,18,24,0,51,101,98,94,232,236,239,242,249,0,18,18,94,94,94,94,232,232,131,128,3,154,152,157,202,135,0,84,129,0,84,135,11,10,1,1,1,1,5,2,1,2,2,2,2,129,3,229,206,20,7,129,2,206,206,20,5,86,81,75,39,0,255,129,0,166,129,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,35,131,133,133,133,128,2,0,12,0,37,0,0,0,32,0,1,0,18,158,158,176,232,46,87,96,232,223,195,146,24,24,158,158,123,122,0,232,131,5,30,186,186,186,200,230,129,2,1,30,30,132,0,30,133,130,15,241,220,209,206,20,19,9,0,236,236,50,50,206,0,50,20,131,5,226,50,50,50,41,18,129,2,241,226,226,139,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,37,0,0,0,32,0,1,0,18,158,158,176,232,46,87,96,232,223,195,146,24,24,158,158,123,122,0,232,131,5,30,186,186,186,200,230,129,2,1,30,30,132,0,30,133,130,15,241,220,209,206,20,19,9,0,236,236,50,50,206,0,50,20,131,5,226,50,50,50,41,18,129,2,241,226,226,139,128,2,0,12,0,43,0,0,0,37,32,1,0,19,70,74,59,59,59,197,197,197,226,255,0,254,245,232,0,44,24,24,59,59,131,129,1,241,206,129,10,196,187,170,158,158,158,149,246,251,0,84,129,0,84,131,11,10,0,2,1,2,1,2,2,2,1,4,2,128,9,221,221,35,35,30,0,12,20,236,221,128,6,23,50,0,50,97,110,110,129,0,166,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,47,0,0,0,41,32,1,0,23,40,90,236,226,70,74,59,59,59,197,197,197,226,255,0,254,245,232,0,44,24,24,59,59,131,133,1,241,206,129,10,196,187,170,158,158,158,149,246,251,0,84,129,0,84,131,13,12,1,2,1,2,1,2,1,2,2,2,1,4,2,12,236,70,0,221,221,35,35,30,0,12,20,236,221,130,6,23,50,0,50,97,110,110,129,0,166,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,128,0,60,131,133,128,2,0,12,0,49,0,0,0,45,32,1,0,131,19,70,74,59,59,59,197,197,197,226,255,0,254,245,232,0,44,24,24,59,59,131,128,2,177,0,79,129,1,241,206,129,10,196,187,170,158,158,158,149,246,251,0,84,129,0,84,131,15,14,0,1,1,1,1,2,1,2,1,2,2,2,1,4,2,132,9,221,221,35,35,30,0,12,20,236,221,11,236,80,20,176,0,23,50,0,50,97,110,110,129,0,166,0,128,2,0,12,0,54,0,0,0,53,32,1,0,34,94,94,94,30,213,213,213,201,212,224,226,224,232,232,232,24,24,172,162,162,43,43,43,236,162,162,162,157,169,185,186,206,213,213,213,131,129,2,68,68,68,130,0,15,130,0,249,136,2,68,68,68,141,18,17,1,2,2,2,1,1,1,4,2,1,4,2,2,2,1,1,1,4,17,211,233,15,25,30,34,25,20,236,45,246,14,45,55,60,53,30,15,4,146,146,176,0,11,132,4,146,146,176,0,252,130,128,2,0,12,0,32,0,0,0,30,32,1,0,20,94,94,94,44,0,162,162,160,150,170,195,197,214,232,232,232,24,24,174,162,162,131,128,5,4,49,98,98,98,4,145,11,10,1,3,2,2,1,1,1,4,2,1,2,10,206,251,50,58,65,38,20,20,236,40,50,2,176,176,176,135,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,36,0,0,0,30,32,1,0,24,20,80,206,216,94,94,94,44,0,162,162,160,150,170,195,197,214,232,232,232,24,24,174,162,162,131,132,5,4,49,98,98,98,4,145,11,10,5,3,2,2,1,1,1,4,2,1,2,10,206,251,50,58,65,38,20,20,236,40,50,2,176,176,176,135,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,60,0,0,0,57,0,1,0,33,94,94,94,44,0,162,162,160,150,170,195,197,214,232,232,232,69,75,0,51,94,94,94,232,232,232,238,249,0,24,24,174,162,162,131,6,147,4,44,88,88,88,4,135,12,147,10,164,152,157,202,0,196,196,246,250,250,251,137,33,206,206,206,230,251,50,50,50,58,65,38,20,20,20,20,20,0,246,0,230,206,206,206,20,20,20,16,6,0,236,236,40,50,50,131,6,1,176,171,166,166,166,176,135,5,1,0,70,70,68,33,132,1,5,6,137,128,2,0,12,0,64,0,0,0,57,32,1,0,33,94,94,94,44,0,162,162,160,150,170,195,197,214,232,232,232,255,5,186,237,24,24,24,162,162,162,168,180,186,24,24,174,162,162,131,128,5,4,44,88,88,88,4,136,13,10,164,152,155,202,0,196,196,246,250,246,246,0,70,130,0,70,131,19,18,1,3,2,2,1,1,1,4,2,1,1,1,5,1,1,1,1,2,1,7,206,251,50,58,65,38,20,20,129,8,245,236,50,39,17,0,236,40,50,2,176,166,176,132,8,70,70,69,33,0,1,2,0,70,129,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,0,2,0,12,0,41,32,0,0,25,32,1,14,13,1,3,1,2,3,1,2,2,1,1,2,1,1,2,13,12,24,12,244,232,244,47,100,100,47,209,156,156,209,133,7,158,0,46,98,98,46,0,158,8,7,1,3,3,3,3,3,3,3,7,246,236,9,20,227,196,29,60,131,3,80,217,176,38,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,5,0,0,0,2,0,1,0,129,0,253,131,134,134,134,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,233,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,83,0,0,0,80,0,1,0,1,246,252,130,40,4,7,7,9,251,210,189,196,196,196,237,246,239,239,250,251,246,0,12,24,24,24,12,0,244,232,232,232,244,0,47,100,100,100,47,0,209,156,156,156,209,131,129,18,1,4,254,2,11,4,4,2,246,233,223,216,178,171,171,171,165,0,254,140,11,158,158,209,0,46,98,98,98,46,0,209,158,131,45,251,251,251,251,251,250,251,251,15,5,249,20,55,55,55,49,15,17,25,15,12,255,0,246,236,236,236,246,0,9,20,20,20,9,0,227,196,196,196,227,0,29,60,60,60,29,131,131,14,253,252,251,0,252,255,253,254,21,50,48,80,80,80,80,142,11,80,80,38,0,217,176,176,176,217,0,38,80,131,0,2,0,12,0,44,32,0,0,40,32,1,15,14,0,2,1,1,3,1,1,1,3,1,2,1,3,4,1,128,13,21,24,221,0,42,90,90,20,20,24,24,0,232,245,130,7,165,158,158,208,0,98,98,98,131,13,12,0,3,1,1,1,1,3,2,1,3,1,3,4,12,226,236,10,4,231,226,186,223,0,249,236,0,20,129,7,60,68,80,80,0,176,176,183,130,128,2,0,12,0,50,0,0,0,38,32,1,0,128,26,30,0,226,0,12,24,24,24,12,0,244,232,232,232,244,0,47,100,100,100,47,0,209,156,156,156,209,131,128,2,231,0,25,139,11,158,158,209,0,46,98,98,98,46,0,209,158,131,12,11,0,1,1,1,2,3,3,3,3,3,3,3,128,10,226,0,30,246,236,9,20,227,196,29,60,128,2,20,0,236,131,3,80,217,176,38,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,128,2,0,12,0,91,0,0,0,67,32,1,0,47,246,24,24,24,246,216,216,216,246,48,48,48,19,246,220,194,194,194,248,7,25,25,25,15,7,255,233,233,233,233,233,196,196,63,63,44,32,254,201,201,201,226,248,244,234,223,234,246,131,135,9,158,158,0,49,98,98,98,49,0,158,129,2,255,12,7,130,20,5,240,252,22,32,32,226,226,24,94,94,94,27,0,217,172,172,172,184,7,4,132,23,22,0,3,1,3,1,3,2,1,1,3,1,4,4,4,2,2,1,3,3,1,1,1,1,22,246,236,246,0,15,226,15,42,70,0,9,20,20,0,186,215,246,30,0,8,20,20,16,131,4,70,221,176,176,221,131,7,240,27,172,172,0,94,94,94,129,0,128,2,0,12,0,60,0,0,0,57,0,1,0,33,216,197,165,150,162,162,162,162,228,20,48,90,90,90,53,20,227,162,162,162,150,166,208,216,223,232,232,232,224,24,24,162,162,162,131,129,0,3,131,11,219,168,168,168,220,0,42,88,88,88,14,216,129,0,250,132,0,4,137,33,40,48,65,58,50,50,50,50,36,20,231,186,186,186,232,18,35,50,50,50,58,64,48,40,30,20,20,20,30,236,236,50,50,50,131,132,0,100,65,0,170,0,130,10,90,90,90,44,0,212,166,166,166,156,146,146,128,2,0,12,0,58,0,0,0,55,32,1,0,32,216,197,165,150,162,162,162,162,213,246,33,90,90,90,37,246,212,162,162,162,150,166,208,216,223,232,232,232,224,24,24,162,162,131,129,0,3,131,10,219,168,168,168,220,0,42,88,88,88,34,130,0,250,132,0,4,136,19,18,0,1,1,1,2,1,2,1,3,1,3,2,2,1,1,1,4,3,2,18,40,48,65,58,50,50,21,246,186,186,20,50,58,64,48,40,20,236,50,131,0,100,64,0,170,5,90,90,0,212,166,186,134,128,2,0,12,0,60,0,0,0,57,32,1,0,33,40,33,24,24,24,32,40,47,89,106,94,94,94,29,236,203,166,166,166,207,236,28,94,94,94,94,106,90,60,94,94,94,232,232,131,129,0,4,132,0,250,129,11,216,14,88,88,88,42,0,220,168,168,168,219,131,0,3,137,20,19,0,4,1,1,1,1,1,2,3,2,2,2,1,2,1,2,1,1,3,2,19,216,236,225,216,207,192,198,206,238,70,70,236,220,206,206,198,190,209,206,20,134,5,146,166,212,44,90,90,64,0,170,0,100,132,0,2,0,12,0,41,32,0,0,42,32,1,15,14,0,2,1,1,3,2,2,4,2,2,1,2,2,1,1,14,197,185,213,216,232,90,0,24,0,59,217,197,24,197,177,132,2,46,88,172,133,0,84,13,12,0,2,2,1,1,2,3,4,2,2,1,3,2,12,35,45,20,5,20,206,206,236,20,221,35,236,35,128,0,40,129,3,215,216,166,70,130,1,186,0,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,77,0,0,0,84,0,1,0,128,38,5,16,24,12,9,2,0,52,100,100,100,54,255,8,11,24,24,24,12,0,245,227,232,243,242,247,0,203,156,156,156,201,4,251,245,232,232,232,245,131,131,14,159,158,158,158,158,187,220,243,35,50,47,47,63,41,20,132,14,98,98,98,98,98,65,30,16,221,206,209,209,200,216,236,132,128,12,255,235,236,245,15,28,0,220,186,186,186,212,236,64,255,126,24,186,236,236,236,5,0,245,6,20,12,255,242,0,32,60,60,60,15,227,80,44,20,20,20,254,131,129,16,1,0,80,80,80,80,80,49,15,243,221,216,6,249,6,246,242,130,16,255,0,176,175,176,176,176,207,241,10,26,37,252,1,248,10,12,132,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,100,0,0,0,115,0,1,0,135,50,47,100,100,100,95,100,100,100,100,100,100,97,100,103,100,100,100,48,0,211,162,162,162,24,24,24,11,0,244,232,232,232,232,232,232,230,232,232,232,230,232,232,232,232,232,232,245,24,24,196,196,131,131,17,158,158,158,158,158,209,0,1,254,5,11,11,9,10,7,3,0,4,129,4,45,97,98,98,47,138,3,2,2,0,2,130,3,253,0,254,254,131,3,43,213,213,43,131,128,1,4,3,129,51,5,6,0,229,196,196,196,203,196,187,199,216,216,216,194,203,207,196,196,196,206,216,252,35,35,35,221,221,221,218,216,244,20,20,20,27,29,20,17,20,20,20,20,20,39,35,20,20,20,19,236,236,133,129,27,255,0,80,79,80,80,80,62,50,6,240,0,13,36,31,0,243,237,246,255,229,196,187,176,176,176,192,206,129,1,20,10,130,6,246,236,15,31,13,0,2,132,9,239,223,233,0,248,0,212,44,44,212,131,0,2,0,12,0,29,32,0,0,29,32,1,9,8,2,1,2,1,2,1,2,3,2,8,40,10,232,232,3,10,176,24,212,130,5,98,98,98,0,214,44,9,8,1,2,2,1,2,1,2,3,2,8,221,0,20,20,5,0,35,236,0,130,5,176,176,176,246,45,211,128,2,0,12,0,45,0,0,0,43,32,1,0,128,22,54,83,83,83,221,221,221,247,0,12,8,245,232,238,249,83,83,221,221,24,24,232,232,131,129,1,15,10,130,5,213,158,158,158,158,159,134,0,84,129,0,84,131,13,12,0,2,1,2,1,3,1,2,1,4,2,2,2,12,40,221,221,35,35,40,35,20,20,221,35,236,20,128,6,23,50,0,70,80,80,80,129,2,20,0,166,0,128,2,0,12,0,54,0,0,0,48,32,1,0,27,24,24,232,232,0,54,83,83,83,221,221,221,247,0,12,8,245,232,238,249,83,83,221,221,24,24,232,232,131,3,42,214,214,42,129,1,15,10,130,5,213,158,158,158,158,159,134,0,84,129,0,84,131,15,14,0,2,2,2,1,2,1,3,1,2,1,4,2,2,2,129,12,40,221,221,35,35,40,35,20,20,221,35,236,20,0,166,129,6,23,50,0,70,80,80,80,129,2,20,0,166,0,128,2,0,12,0,49,0,0,0,43,32,1,0,27,40,60,196,216,0,54,83,83,83,221,221,221,247,0,12,8,245,232,238,249,83,83,221,221,24,24,232,232,131,133,1,15,10,130,5,213,158,158,158,158,159,134,0,84,129,0,84,131,13,12,4,2,1,2,1,3,1,2,1,4,2,2,2,12,40,221,221,35,35,40,35,20,20,221,35,236,20,128,6,23,50,0,70,80,80,80,129,2,20,0,166,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,92,0,0,0,75,32,1,0,128,11,30,59,59,59,197,197,197,225,0,2,8,12,130,5,59,59,197,197,24,24,129,26,59,59,59,36,0,250,238,232,243,240,236,217,197,197,197,0,3,220,15,59,59,59,197,197,197,207,217,131,134,5,204,158,158,158,158,158,134,0,84,129,3,84,0,90,37,130,7,2,5,101,98,98,98,83,70,129,3,156,154,164,209,130,3,226,240,0,254,131,25,24,0,4,2,3,3,1,4,2,1,2,3,3,3,1,2,3,3,1,1,1,1,3,1,1,1,7,10,246,60,10,20,20,246,60,129,5,221,0,20,20,0,35,129,6,238,221,221,35,35,18,0,129,2,50,110,110,130,0,166,131,7,176,176,176,100,100,98,63,30,129,1,1,0,128,2,0,12,0,48,0,0,0,41,32,1,0,27,50,37,24,24,24,162,162,162,212,0,46,94,94,94,104,98,71,94,94,94,232,232,232,232,94,94,232,232,131,134,4,208,158,158,158,203,130,0,2,132,1,137,149,131,0,156,131,14,13,0,4,2,3,3,2,2,1,3,1,1,1,2,2,13,196,236,50,0,206,191,193,206,20,20,20,20,206,20,129,2,80,80,80,131,1,60,60,130,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,68,0,0,0,63,32,1,0,37,93,93,93,92,100,100,232,232,27,93,50,37,24,24,24,162,162,162,212,0,46,94,94,94,104,98,71,94,94,94,232,232,232,232,94,94,232,232,131,0,100,130,0,6,129,2,42,83,100,134,4,208,158,158,158,203,130,0,2,132,1,137,149,131,0,156,131,21,20,0,1,1,1,1,3,1,2,4,2,3,3,2,2,1,3,1,1,1,2,2,128,19,226,226,228,226,0,2,196,236,50,0,206,191,193,206,20,20,20,20,206,20,6,206,0,246,223,0,235,206,129,2,80,80,80,131,1,60,60,130,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,88,0,0,0,64,32,1,0,48,252,2,6,6,6,22,35,35,131,236,219,202,202,202,228,252,247,245,0,255,252,50,37,24,24,24,162,162,162,212,0,46,94,94,94,104,98,71,94,94,94,232,232,232,232,94,94,232,232,131,129,5,250,245,240,0,20,20,130,8,227,216,194,171,171,171,165,0,254,135,4,208,158,158,158,203,130,0,2,132,1,137,149,131,0,156,131,23,22,0,3,1,2,3,3,3,2,1,3,4,2,3,3,2,2,1,3,1,1,1,2,2,132,17,60,20,30,20,196,236,50,0,206,191,193,206,20,20,20,20,206,20,128,6,236,239,246,0,50,80,80,130,2,80,80,80,131,1,60,60,130,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,128,2,0,12,0,15,0,0,0,15,0,1,0,7,73,24,155,5,251,101,232,179,131,130,1,156,156,134,2,216,236,40,129,2,216,20,40,131,130,1,70,70,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,43,0,0,0,35,0,1,0,19,37,0,2,24,233,17,12,102,232,178,78,24,164,244,239,24,233,2,0,224,131,128,65,0,138,0,138,129,1,176,176,133,1,176,176,129,65,0,138,0,138,132,0,236,131,9,251,251,221,20,80,176,236,55,5,5,131,0,20,131,128,1,204,204,129,1,110,110,133,1,110,110,129,1,204,204,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,27,0,0,0,27,0,1,0,11,24,44,98,232,232,158,98,39,24,158,217,232,131,128,0,232,129,0,34,129,0,39,129,0,237,132,11,226,246,186,30,10,70,186,246,226,70,10,30,131,128,0,10,129,0,246,129,0,246,129,0,10,132,0,128,2,0,12,0,44,0,0,0,39,0,1,0,9,24,30,187,179,188,222,251,90,232,145,65,255,127,255,123,7,154,187,65,24,166,235,225,220,131,128,4,157,149,154,176,219,131,3,255,251,249,249,130,1,186,186,132,19,236,236,0,243,225,211,206,196,20,30,30,21,8,0,156,236,60,216,236,236,131,128,4,54,54,51,40,18,131,2,255,254,255,131,1,84,84,132,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,5,0,0,0,2,0,1,0,128,0,253,131,133,133,133,128,2,0,12,0,28,32,0,0,19,0,1,0,8,7,0,1,1,1,2,2,2,2,7,199,24,57,232,24,232,24,232,4,235,170,23,86,170,129,0,86,2,76,0,196,140,8,68,68,188,188,0,68,68,0,188,129,0,188,131,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,68,0,0,0,59,0,1,0,34,42,44,25,25,25,46,46,57,97,105,93,93,93,244,212,167,167,167,244,93,93,93,93,109,106,64,92,93,93,231,231,63,76,232,245,131,129,2,10,0,242,130,16,225,210,210,211,88,88,88,33,0,168,168,168,59,84,46,46,34,129,0,70,129,0,251,135,34,196,225,236,236,236,225,196,196,192,198,206,206,206,12,45,70,70,70,10,206,206,206,206,203,197,200,226,206,206,20,20,236,236,40,40,131,129,2,10,0,242,133,8,186,166,166,166,203,0,110,110,110,64,0,170,0,100,144,128,2,0,12,0,45,0,0,0,38,0,1,0,25,18,24,0,51,94,94,94,232,232,232,238,249,0,24,24,162,162,94,94,232,232,10,80,235,175,85,64,0,155,1,54,250,131,128,3,154,152,158,202,132,1,1,1,148,28,236,236,0,224,196,196,196,20,20,20,16,7,0,236,236,60,60,196,196,20,20,211,231,65,45,211,231,65,45,131,128,3,80,80,77,39,155,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,168,0,0,0,159,0,1,0,4,30,253,17,31,219,129,5,90,232,158,98,24,166,129,63,37,225,3,3,226,49,3,23,37,225,9,9,9,9,9,9,39,227,5,5,225,57,5,25,39,227,17,17,17,17,17,17,37,225,3,3,233,29,3,23,37,225,245,245,245,245,245,245,29,217,251,251,205,31,251,15,29,217,247,247,247,247,247,247,4,31,219,253,253,207,131,128,1,118,118,129,1,176,176,133,1,176,176,129,1,118,118,129,1,118,118,129,1,176,176,129,1,176,176,129,1,118,118,129,1,118,118,129,1,176,176,129,1,176,176,129,1,118,118,129,1,118,118,129,1,176,176,129,1,176,176,129,1,118,118,129,1,118,118,129,1,176,176,129,1,176,176,129,1,118,118,132,40,191,236,236,216,0,232,232,212,20,40,216,236,44,24,24,0,40,40,20,55,246,20,20,0,40,10,10,10,10,10,10,241,25,5,5,20,236,5,5,241,25,133,1,236,20,129,1,20,236,129,1,236,20,133,20,231,15,251,251,20,226,251,251,231,15,246,246,246,246,246,246,216,0,236,236,10,131,128,1,184,184,129,1,110,110,133,1,110,110,129,1,184,184,129,1,184,184,129,1,110,110,129,1,110,110,129,1,184,184,129,1,184,184,129,1,110,110,129,1,110,110,129,1,184,184,129,1,184,184,129,1,110,110,129,1,110,110,129,1,184,184,129,1,184,184,129,1,110,110,129,1,110,110,129,1,184,184,132,128,2,0,12,0,68,0,0,0,78,0,1,0,8,50,50,50,50,50,25,0,24,24,129,31,232,232,232,232,232,30,27,24,24,24,11,0,16,50,50,50,37,13,0,196,196,196,0,25,50,50,50,50,60,60,57,44,131,131,3,28,60,60,60,132,1,216,216,138,9,38,42,44,44,44,246,200,200,200,235,138,42,196,196,206,206,206,231,0,236,236,0,11,20,20,20,20,20,216,225,236,236,236,215,196,196,186,196,196,211,241,0,31,31,31,10,236,206,206,206,196,176,186,190,189,131,131,3,236,216,216,216,130,7,1,0,70,70,0,253,253,254,134,9,226,233,236,236,236,5,30,30,30,10,132,1,254,253,131,0,128,2,0,12,0,21,0,0,0,21,32,1,12,11,0,1,3,1,2,3,3,1,2,3,1,2,128,10,10,24,10,245,232,32,70,70,224,186,186,133,5,186,224,33,70,33,224,6,5,4,6,3,3,3,3,5,236,20,229,196,27,60,129,3,60,229,196,27,0,2,0,12,0,37,32,0,0,36,32,1,12,11,2,1,2,1,2,1,1,1,3,2,2,1,11,70,20,184,184,184,187,218,246,232,24,184,184,5,54,54,243,216,216,235,132,0,216,11,10,0,1,3,2,2,1,1,1,3,3,1,10,176,176,41,80,100,109,114,110,20,236,80,128,4,5,191,18,236,246,129,0,60,129,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,44,32,0,0,44,32,1,14,13,1,1,1,2,2,1,1,2,3,3,2,2,2,2,13,170,0,44,94,44,0,170,216,232,216,24,170,24,232,8,154,154,154,226,51,51,51,205,226,131,0,102,14,13,1,1,3,3,1,1,1,3,1,2,2,2,2,2,13,56,246,196,246,32,56,0,20,20,0,236,56,236,20,8,64,64,6,224,224,32,32,5,2,131,0,192,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,8,0,0,0,8,0,1,4,3,1,2,2,2,3,24,170,24,232,130,0,102,3,236,56,236,0,130,0,192,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,12,0,0,0,11,0,1,6,5,1,2,2,2,2,2,128,4,146,0,232,86,232,130,2,102,0,100,5,236,56,236,0,180,0,130,0,192,129,0,0,2,0,12,0,53,32,0,0,45,32,1,17,16,0,1,1,2,1,1,4,5,2,2,2,2,2,2,2,2,2,16,166,0,6,21,24,24,185,24,170,86,232,80,226,9,0,232,24,9,156,156,163,215,243,0,244,156,0,156,131,2,102,0,154,14,13,0,1,5,4,5,2,2,2,2,2,1,2,3,2,9,65,230,230,65,236,56,200,20,198,18,129,1,20,236,6,64,64,0,8,64,0,64,130,0,192,129,0,64,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,189,0,0,0,159,32,1,0,39,190,148,178,223,0,12,62,79,72,74,20,20,20,1,227,216,166,150,158,150,236,236,236,255,30,40,90,105,99,106,66,108,78,32,0,244,194,178,183,182,65,0,168,0,168,47,40,40,66,106,99,107,90,40,30,255,236,236,236,182,183,178,194,244,0,33,78,108,40,40,216,216,74,72,78,62,12,1,223,178,148,190,150,158,151,166,216,226,1,20,20,20,216,216,65,255,98,255,98,131,7,235,205,205,220,3,40,10,4,130,26,102,102,102,80,52,50,17,236,235,0,154,154,154,176,204,216,245,19,21,21,51,51,39,4,226,246,249,129,13,51,205,205,51,235,235,236,17,50,52,80,102,102,102,130,6,4,10,40,3,220,205,205,133,21,249,246,226,4,39,51,51,21,21,19,245,216,204,176,154,154,154,0,51,205,205,51,131,55,54,0,1,4,1,1,1,4,3,1,1,1,1,4,2,1,1,1,1,1,1,4,1,1,1,1,2,2,1,1,1,1,1,1,4,2,1,1,1,1,4,2,2,2,1,1,1,4,1,1,1,2,1,3,4,2,10,172,192,192,192,192,222,20,20,20,20,9,134,9,104,84,84,84,84,53,24,84,4,104,133,20,24,53,84,84,84,84,236,20,222,192,192,192,192,172,0,9,20,20,20,20,192,128,6,43,43,196,227,0,192,192,129,3,254,0,64,64,129,0,2,129,3,213,213,60,28,129,1,43,213,129,0,253,129,1,192,192,129,3,227,196,43,43,130,3,28,60,213,213,129,5,1,0,64,64,43,213,0,128,2,0,12,0,82,0,0,0,86,32,1,0,35,236,7,24,200,206,216,229,236,33,92,92,92,41,0,251,7,49,84,84,84,61,60,58,32,10,14,24,17,35,58,60,3,232,232,232,243,131,6,250,238,232,232,232,233,235,131,130,25,181,174,165,162,162,162,207,246,19,49,49,49,207,209,242,20,74,95,95,95,93,90,89,250,250,254,130,0,19,129,0,249,142,29,28,0,1,1,1,3,1,1,2,3,1,1,1,2,3,1,1,1,1,1,2,2,1,2,1,2,1,1,2,3,28,226,231,236,10,243,236,217,194,0,246,246,216,190,20,3,239,233,236,236,6,40,30,20,20,20,20,20,20,20,130,14,61,81,81,81,30,223,223,33,30,226,176,176,176,176,176,132,1,3,10,129,1,246,0,0,128,2,0,12,0,31,32,0,0,31,0,1,0,9,8,1,1,1,3,1,2,2,2,2,8,228,178,78,78,178,24,178,78,232,65,255,86,255,86,128,64,0,170,132,15,64,64,74,192,192,192,182,64,236,236,64,64,192,192,20,20,131,128,65,0,130,0,130,129,65,255,126,255,126,140,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,100,0,0,0,89,0,1,0,38,11,0,223,236,251,90,89,92,70,30,251,251,19,13,241,235,175,158,130,156,24,24,170,170,156,156,216,216,20,60,82,79,80,241,226,216,0,11,156,64,255,123,7,139,156,216,222,250,0,232,232,131,19,244,205,205,206,206,123,76,24,1,1,1,101,101,101,101,103,1,236,244,244,131,3,51,205,205,51,129,16,234,180,134,51,51,51,51,13,13,13,21,0,154,156,156,156,156,132,129,9,230,222,206,176,160,181,231,0,20,20,129,9,245,0,45,63,35,25,236,236,56,56,132,6,231,181,160,176,206,221,230,129,5,25,34,63,45,0,245,129,1,20,20,131,128,2,32,32,15,129,1,2,2,130,6,192,192,192,194,192,0,254,133,3,224,32,32,224,129,1,254,253,129,2,241,224,224,130,6,2,0,64,62,64,64,64,132,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,30,32,0,0,25,0,1,12,11,0,2,1,2,2,1,1,2,3,2,2,2,9,8,0,2,3,2,1,6,2,2,2,8,24,24,24,185,185,86,232,0,232,128,3,156,136,0,136,130,0,102,11,236,236,226,216,51,51,51,34,200,20,236,20,128,6,64,24,156,0,156,180,242,130,0,192,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,10,0,0,0,10,0,1,6,5,1,2,2,2,2,2,5,86,232,24,170,24,232,132,0,102,5,200,20,236,56,236,0,132,0,192,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,40,0,0,0,34,0,1,0,16,24,24,28,39,51,55,100,232,232,234,238,0,35,24,156,248,248,131,128,4,154,154,170,199,216,129,4,40,31,13,0,225,129,65,255,43,255,43,131,130,13,4,1,246,196,20,50,59,33,0,219,236,60,0,60,131,128,3,64,64,30,253,131,3,252,253,0,213,129,1,50,50,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,0,2,0,12,0,52,32,0,0,42,32,1,16,15,3,4,1,1,1,1,1,2,1,1,1,1,3,1,3,1,15,24,232,40,40,30,30,40,216,216,226,226,216,84,84,172,172,15,20,236,0,196,156,80,60,0,60,80,156,196,162,0,94,0,14,13,1,1,3,1,3,2,2,2,2,2,2,1,3,1,13,246,246,10,10,208,236,208,48,20,48,176,176,80,80,3,206,246,50,246,133,3,51,246,205,246,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,27,32,0,0,24,32,1,8,7,0,3,2,1,3,2,2,2,128,6,24,170,170,0,86,86,232,5,40,40,0,40,194,40,129,7,6,1,1,4,1,2,4,2,6,246,236,56,56,0,200,20,4,213,234,0,22,43,129,0,128,2,0,12,0,16,0,0,0,16,0,1,8,7,1,2,2,2,2,2,2,2,7,110,0,24,232,24,170,86,232,129,0,154,130,1,154,0,7,200,20,236,20,236,56,200,20,129,0,64,130,1,64,0,128,2,0,12,0,13,0,0,0,13,0,1,8,7,1,2,2,2,2,2,2,2,7,86,232,24,232,24,170,40,216,129,0,164,132,7,200,20,236,20,236,56,236,20,129,0,74,132,128,2,0,12,0,18,0,0,0,18,0,1,10,9,1,2,2,2,2,2,2,2,2,2,9,86,232,24,0,24,170,86,232,40,216,129,0,164,130,0,164,130,9,200,20,236,0,236,56,200,20,236,20,129,0,74,130,0,74,130,128,2,0,12,0,15,0,0,0,13,0,1,8,7,1,2,2,2,2,2,2,2,7,86,232,55,201,24,232,24,170,129,2,196,0,154,130,7,200,20,218,38,236,20,236,56,131,0,64,130,128,2,0,12,0,46,0,0,0,41,32,1,0,23,170,170,10,57,94,94,94,57,10,170,170,216,228,234,232,232,232,234,228,216,24,24,170,170,131,128,16,154,154,154,188,231,17,52,52,52,206,206,206,218,231,231,232,244,137,13,12,1,1,1,1,2,1,1,2,1,5,3,2,2,12,56,226,225,196,196,225,226,56,236,20,236,236,56,9,64,64,64,27,4,224,224,32,32,11,130,128,2,0,12,0,56,0,0,0,47,32,1,0,27,170,170,246,46,94,94,94,46,246,170,170,196,214,229,232,232,232,229,214,196,24,24,170,170,24,24,250,250,131,128,16,154,154,154,188,231,17,52,52,52,206,206,206,218,231,231,232,244,133,0,102,129,0,102,131,15,14,1,1,1,1,2,1,1,2,1,5,3,2,2,1,2,12,56,0,234,196,196,234,0,56,0,20,0,236,56,129,9,64,64,64,32,255,224,224,32,32,11,130,1,192,0,128,2,0,12,0,50,0,0,0,50,0,1,0,27,170,170,215,20,77,77,77,20,215,170,170,157,186,221,235,235,235,221,186,157,24,24,170,170,76,76,232,232,131,128,16,154,154,154,188,231,17,52,52,52,206,206,206,218,231,231,232,244,141,27,234,234,206,216,216,216,216,216,206,234,234,206,227,3,20,20,20,3,227,206,236,236,56,56,190,190,20,20,131,128,16,44,44,44,22,16,9,244,244,244,32,32,32,28,21,16,11,4,141,0,0,2,0,12,0,64,32,0,0,75,32,1,20,19,0,2,2,2,1,5,2,2,1,2,1,3,2,1,2,3,1,2,2,2,19,24,24,24,210,210,45,211,206,226,74,74,226,216,166,216,232,216,166,30,216,128,3,156,146,0,146,129,9,154,154,195,231,52,206,206,212,239,250,129,0,102,23,22,1,3,4,2,2,2,2,1,1,1,2,1,1,2,1,1,1,3,1,1,1,2,2,128,5,216,54,20,215,241,197,64,255,126,3,154,176,176,154,64,255,126,9,197,166,199,249,20,249,199,166,236,0,0,86,132,12,44,44,44,22,9,244,244,32,32,32,28,11,4,130,0,192,0,128,2,0,12,0,66,0,0,0,60,32,1,0,33,216,216,236,28,74,74,74,28,236,216,216,176,198,222,232,232,232,222,198,176,24,24,170,170,24,24,205,206,70,70,216,216,216,216,131,128,16,154,154,154,188,231,16,48,48,48,206,206,206,218,231,231,232,244,133,3,50,206,206,50,130,1,251,251,132,19,18,1,1,1,1,2,1,1,2,1,5,3,2,2,2,2,1,2,1,1,18,198,136,160,176,176,160,136,178,176,20,176,236,56,236,0,211,11,11,227,9,44,44,44,22,9,244,244,32,32,11,130,1,43,213,129,1,47,27,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,41,32,0,0,38,0,1,0,14,13,0,3,2,2,1,1,1,2,3,2,2,1,2,2,11,246,14,246,225,222,49,39,246,158,226,243,222,129,132,8,80,86,94,0,162,169,0,51,205,128,6,236,236,236,246,0,249,248,132,3,26,56,56,56,140,134,12,2,5,205,190,175,175,175,217,0,81,81,81,81,129,3,224,32,32,224,131,128,2,0,12,0,54,0,0,0,49,0,1,0,128,12,7,20,24,202,212,228,245,0,42,91,91,91,45,129,9,1,2,23,11,0,244,232,232,232,244,135,129,16,245,236,161,162,162,162,162,162,211,0,45,94,94,94,96,98,8,134,3,50,206,206,50,131,131,13,20,6,237,212,196,199,203,203,203,244,30,27,22,20,130,4,10,20,20,20,9,135,129,15,245,236,40,56,73,80,80,80,37,0,217,175,175,175,175,175,135,3,224,32,32,224,131,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,29,32,0,0,33,32,1,9,8,2,2,2,1,3,3,2,2,2,8,86,0,201,0,232,55,201,24,232,3,30,57,211,211,131,0,102,10,9,1,3,2,1,1,2,3,2,2,2,9,200,0,46,0,10,20,226,46,236,20,5,77,213,43,43,43,113,130,0,170,0,2,0,12,0,51,32,0,0,41,32,1,18,17,1,3,1,2,3,1,2,2,1,2,3,2,1,1,2,1,1,2,7,14,25,14,242,231,242,24,180,129,7,48,83,83,48,228,193,193,228,135,9,51,205,162,0,49,94,94,49,0,162,14,13,0,4,2,4,3,2,1,2,2,3,3,1,2,2,5,5,236,5,20,236,66,129,5,5,200,5,40,70,40,133,7,224,32,81,0,175,175,0,81,128,2,0,12,0,90,0,0,0,95,0,1,0,49,236,240,251,7,18,24,24,24,6,0,86,86,0,206,162,162,162,206,0,86,86,24,24,0,29,49,55,55,54,68,90,100,196,196,204,216,220,216,216,210,212,0,50,50,86,86,86,86,232,232,131,138,8,102,102,102,48,10,236,207,206,205,129,17,154,154,154,206,236,0,9,17,19,19,19,51,51,39,17,0,10,247,129,3,51,206,205,51,135,128,21,254,249,244,239,236,236,236,247,0,200,200,0,27,60,60,60,27,0,200,200,236,236,129,5,6,0,239,230,235,252,130,6,23,42,51,60,104,120,49,130,5,200,200,200,200,20,20,131,5,10,10,10,9,7,3,132,28,192,192,192,224,0,15,32,32,32,10,0,64,64,64,61,64,40,30,6,246,246,246,226,226,226,226,226,65,40,129,3,226,30,32,224,135,128,2,0,12,0,44,0,0,0,42,32,1,0,129,4,34,86,86,86,35,131,10,233,232,232,232,233,55,55,201,201,24,24,133,128,13,156,156,212,251,16,51,51,51,205,205,205,218,251,8,132,0,102,129,0,102,131,14,13,1,3,1,1,1,2,1,1,2,2,2,2,2,2,13,226,186,186,222,0,60,0,9,20,250,226,46,236,20,8,75,18,248,224,224,32,32,32,18,132,0,128,2,0,12,0,13,0,0,0,13,0,1,6,5,1,2,2,2,2,2,5,24,0,24,170,24,232,1,206,50,130,0,102,128,4,20,236,56,236,0,1,43,213,130,0,192,128,2,0,12,0,210,0,0,0,172,0,1,0,5,14,208,248,46,80,92,67,0,142,0,159,0,152,0,154,20,100,100,100,81,51,40,246,230,238,230,236,236,236,255,30,40,90,105,99,106,66,64,0,128,11,88,34,0,244,194,178,183,182,93,93,249,249,65,0,160,0,160,20,80,80,66,106,99,107,90,40,30,255,236,236,236,182,183,178,194,244,0,35,88,64,0,128,1,80,80,129,67,0,154,0,152,0,158,0,142,15,92,81,46,248,208,14,230,238,231,246,40,50,81,100,100,100,129,1,186,186,131,7,235,205,205,220,3,40,10,4,130,26,102,102,102,80,52,50,17,236,235,0,154,154,154,176,204,216,245,19,21,21,51,51,39,4,226,246,249,130,16,154,154,0,51,205,205,51,235,235,236,17,50,52,80,102,102,102,130,6,4,10,40,3,220,205,205,133,21,249,246,226,4,39,51,51,21,21,19,245,216,199,174,154,154,154,0,51,205,205,51,131,18,172,182,192,201,202,202,202,202,232,6,20,20,20,20,20,20,20,20,9,138,11,104,94,84,76,74,74,74,74,43,14,170,170,129,4,66,66,34,34,104,137,36,14,43,74,74,74,74,76,84,94,231,231,25,25,6,232,202,202,202,202,201,192,182,172,0,9,20,20,20,20,20,20,20,20,236,236,210,210,131,128,6,43,43,43,43,43,196,227,130,4,192,192,192,192,192,129,0,254,129,4,64,64,64,64,64,129,0,2,129,6,213,213,213,213,213,60,28,130,6,59,59,0,213,43,43,213,129,0,253,129,4,192,192,192,192,192,130,6,227,196,43,43,43,43,43,133,6,28,60,213,213,213,213,213,129,0,1,129,9,59,59,59,59,59,0,213,43,43,213,131,0,128,2,0,12,0,107,0,0,0,96,0,1,0,42,11,0,223,236,251,90,89,92,70,30,251,251,19,13,241,235,175,158,130,156,24,24,170,170,76,76,232,232,156,156,216,216,20,60,82,79,80,241,226,216,0,11,156,64,255,123,7,139,156,216,221,250,0,232,232,131,19,244,205,205,206,206,123,76,24,1,1,1,101,101,101,101,103,1,236,244,244,132,6,159,159,0,51,205,205,51,129,16,234,180,134,51,51,51,51,13,13,13,21,0,154,158,159,159,159,132,129,9,230,222,206,176,160,181,231,0,20,20,129,13,245,0,45,63,35,25,236,236,56,56,190,190,20,20,132,6,231,181,160,176,206,221,230,129,5,25,34,63,45,0,245,129,1,20,20,131,128,2,32,32,15,129,1,2,2,130,6,192,192,192,194,192,0,254,134,6,64,64,0,224,32,32,224,129,1,254,253,129,2,241,224,224,130,6,2,0,64,62,64,64,64,132,128,2,0,12,0,15,0,0,0,15,0,1,8,7,1,2,2,2,2,2,2,2,7,60,216,86,232,24,170,24,232,0,154,132,1,205,51,7,190,20,200,20,236,56,236,20,0,64,132,1,32,224,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,29,0,0,0,32,0,1,0,131,11,60,24,159,5,251,97,232,196,55,55,201,201,131,3,51,205,205,51,130,1,151,151,131,1,146,146,132,6,236,236,20,20,218,236,70,129,6,186,20,38,218,218,38,38,131,4,224,32,32,224,196,129,1,60,60,129,0,196,135,128,2,0,12,0,35,0,0,0,35,0,1,0,15,76,76,232,232,106,36,24,150,219,232,24,36,106,232,220,150,131,128,1,154,154,129,0,31,129,0,225,129,0,224,129,0,31,132,15,190,190,20,20,176,236,216,80,20,40,216,236,176,40,20,80,131,128,1,64,64,129,0,236,129,0,20,129,0,20,129,0,236,132,0,0,2,0,12,0,33,32,0,0,30,32,1,10,9,1,2,1,3,2,1,3,2,2,2,9,66,222,0,24,170,170,0,86,86,232,7,154,0,40,40,0,40,194,40,129,9,8,1,2,2,1,4,1,2,4,2,8,190,20,246,236,56,56,0,200,20,6,64,0,213,234,0,22,43,129,0,128,2,0,12,0,23,32,0,0,17,0,1,8,7,1,1,2,2,1,3,3,2,7,6,2,2,2,1,3,3,2,6,86,0,170,0,232,24,170,3,27,51,205,205,130,7,200,200,40,56,60,20,236,56,5,90,27,224,32,32,110,129,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,17,0,0,0,21,32,1,8,7,0,2,5,4,2,1,3,1,129,5,24,232,94,94,162,162,1,51,205,129,3,152,0,94,0,6,5,7,4,2,1,3,1,5,236,20,196,196,60,60,129,3,81,0,175,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,39,0,0,0,41,0,1,0,19,47,75,187,215,74,255,7,188,24,24,170,170,24,24,232,232,86,86,232,232,131,132,1,100,100,129,1,186,186,129,1,154,154,129,1,186,186,132,19,179,239,23,83,249,3,3,13,236,236,56,56,236,236,20,20,200,200,20,20,131,132,65,255,46,255,46,129,1,64,64,129,1,64,64,129,1,64,64,132,0,128,2,0,12,0,15,0,0,0,17,0,1,0,7,24,81,175,232,105,252,4,151,131,132,1,95,95,132,4,236,236,20,20,196,129,0,60,131,132,65,255,46,255,46,132,0,128,2,0,12,0,60,32,0,0,63,0,1,0,20,19,4,3,3,1,1,1,1,1,1,2,1,1,1,1,3,2,2,2,2,2,19,24,244,232,244,50,50,40,40,50,206,206,216,216,206,50,94,50,206,162,206,132,14,216,216,20,20,0,20,20,216,216,182,0,74,74,0,182,128,34,5,236,236,236,5,0,251,20,20,20,251,213,213,236,236,213,213,43,43,20,20,43,43,0,218,196,196,196,218,0,38,60,60,60,38,131,129,2,18,0,238,130,2,238,0,18,140,11,81,81,54,0,201,175,175,175,201,0,54,81,131,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,65,32,0,0,61,32,1,21,20,4,1,1,1,1,1,1,1,1,1,1,1,2,3,4,1,1,3,3,1,2,20,24,24,41,74,100,232,232,100,26,197,161,161,146,176,232,245,0,94,0,210,161,128,10,6,10,15,20,0,95,115,101,57,237,176,131,4,164,0,92,92,0,20,19,1,4,1,1,1,1,1,1,1,1,1,1,2,3,4,2,3,1,2,3,19,246,236,241,248,0,20,20,0,24,51,62,62,72,20,20,241,190,190,241,62,129,1,255,255,129,4,166,166,170,191,228,131,4,86,0,214,170,236,128,2,0,12,0,68,32,0,0,77,0,1,0,22,21,1,1,3,1,2,2,1,3,3,2,2,2,2,2,1,1,2,3,2,1,3,3,21,162,50,102,102,0,162,0,232,0,24,162,192,226,162,0,49,102,50,162,0,232,0,6,156,156,206,246,35,5,5,131,6,226,30,221,221,221,40,100,129,1,10,251,8,50,50,228,217,198,198,198,224,242,130,9,10,20,20,20,10,0,236,236,50,50,129,1,236,236,129,14,12,237,198,198,198,244,26,50,50,0,10,20,20,20,10,132,128,12,80,80,80,54,35,11,236,236,236,246,246,246,251,139,9,10,20,20,20,248,226,204,176,176,176,132,2,5,10,10,131,128,2,0,12,0,8,0,0,0,8,0,1,4,3,1,2,2,2,3,24,162,0,232,130,0,100,3,236,50,236,20,130,0,182,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,12,0,0,0,12,0,1,6,5,1,2,2,2,2,2,5,24,162,24,232,82,232,130,2,100,0,100,5,236,50,0,20,194,20,130,2,182,0,182,0,2,0,12,0,50,32,0,0,49,32,1,16,15,0,1,1,2,4,1,2,2,2,2,2,2,2,2,2,2,15,165,0,11,20,185,176,24,174,82,232,98,236,9,254,232,24,8,154,154,172,0,223,173,166,0,166,131,2,100,0,156,16,15,0,1,1,2,2,1,4,2,2,2,2,2,2,2,2,2,0,97,130,11,97,97,236,62,194,20,194,20,0,194,20,236,2,74,74,62,129,3,146,74,0,74,131,2,182,0,74,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,174,0,0,0,124,32,1,0,8,216,216,204,248,5,95,112,79,30,129,7,10,3,255,246,151,138,160,166,129,29,246,252,1,10,105,119,96,90,40,40,52,9,251,161,145,176,226,45,45,50,50,40,90,96,119,105,10,1,252,246,129,28,226,176,145,161,251,9,52,40,46,46,212,212,30,79,112,95,5,248,204,216,216,166,160,138,151,246,255,3,10,129,3,212,212,211,211,131,128,5,214,214,226,214,80,32,130,25,100,100,100,97,100,186,207,241,246,0,156,156,156,159,156,70,48,15,10,0,42,42,31,42,176,224,129,13,42,214,214,42,0,246,241,207,186,100,97,100,100,100,130,5,32,80,214,226,214,214,133,20,224,176,42,31,42,42,0,10,15,48,70,156,159,156,156,156,0,42,214,214,42,131,44,43,0,1,3,1,2,1,2,1,3,1,5,1,3,1,4,1,3,1,3,2,2,1,4,1,3,2,1,3,1,3,2,2,1,1,2,1,3,1,4,1,3,2,2,2,128,5,188,188,188,182,178,20,130,0,236,131,5,68,68,68,78,234,252,131,11,236,78,68,68,68,246,10,178,182,188,188,188,131,2,20,0,22,128,1,45,45,130,6,196,196,196,0,60,60,60,129,1,211,211,129,1,45,211,129,1,196,196,130,1,45,45,132,1,211,211,129,4,60,60,0,45,211,0,128,2,0,12,0,89,0,0,0,83,0,1,0,128,12,4,11,14,220,228,248,0,46,100,100,100,47,236,129,28,236,31,83,100,100,100,43,0,2,6,9,24,18,8,0,245,232,232,232,246,241,212,212,236,243,232,232,232,245,131,129,26,254,250,176,169,164,164,164,215,0,18,37,37,37,219,219,219,233,2,20,56,92,92,92,96,92,0,4,132,9,254,246,242,247,1,7,9,8,10,5,132,128,11,251,240,236,10,8,2,0,228,196,196,196,223,131,19,230,204,196,196,196,230,0,254,249,246,236,241,249,0,9,20,20,20,15,7,129,5,6,16,20,20,20,9,131,131,22,66,77,86,86,86,56,30,245,206,206,206,50,50,50,32,251,226,199,170,170,170,170,170,134,9,1,254,254,5,251,5,8,6,10,5,132,0,128,2,0,12,0,31,0,0,0,27,32,1,0,15,176,176,162,94,80,80,94,162,24,24,162,162,94,94,232,232,131,128,65,255,126,255,126,129,65,0,130,0,130,140,8,7,2,1,3,1,2,2,2,2,7,60,206,196,50,236,50,206,20,64,0,180,128,64,255,76,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,95,0,0,0,96,0,1,0,8,60,60,39,48,50,105,88,67,35,130,35,5,9,2,5,222,222,233,0,24,24,162,162,162,162,246,246,246,25,62,88,105,50,48,39,60,60,246,223,202,202,241,238,245,241,246,246,131,7,246,206,206,213,216,90,46,8,130,8,100,100,100,93,100,0,252,246,246,131,3,50,206,206,50,129,16,248,210,166,40,44,50,50,10,10,10,5,0,156,163,156,156,156,132,128,46,236,225,243,236,206,189,203,232,236,20,20,0,2,250,0,52,62,51,50,236,236,50,50,50,50,20,20,236,222,187,175,196,236,246,227,236,0,50,55,62,52,0,250,2,0,20,20,131,7,10,37,37,41,37,20,252,246,130,8,182,182,182,174,182,20,19,10,10,131,3,219,37,37,219,129,16,10,4,236,219,215,219,219,246,246,246,238,236,74,83,74,74,74,132,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,41,0,0,0,31,32,1,0,19,24,24,18,19,24,24,24,189,189,189,197,236,94,94,232,232,24,24,232,232,131,128,4,156,156,164,167,156,129,2,156,209,249,132,0,100,129,0,100,131,10,9,0,2,1,1,1,4,4,2,2,2,9,236,229,220,216,216,57,206,20,216,20,128,2,74,60,29,132,0,182,0,128,2,0,12,0,51,0,0,0,35,0,1,0,23,34,0,252,103,83,83,103,238,25,25,173,173,19,153,173,173,153,4,0,236,83,83,231,231,131,128,65,255,116,255,116,129,65,0,162,0,162,133,65,0,162,0,162,129,65,255,116,255,116,136,0,20,129,13,174,214,214,204,10,236,236,42,42,246,52,42,42,82,129,4,246,214,214,20,20,131,128,1,80,80,141,1,80,80,136,0,128,2,0,12,0,11,0,0,0,13,0,1,6,5,1,2,2,2,2,2,5,94,232,24,162,254,227,131,1,214,42,4,206,20,236,50,120,64,255,105,131,1,45,211,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,10,0,0,0,10,0,1,6,5,1,2,2,2,2,2,5,94,232,24,162,250,232,132,0,100,5,206,20,236,50,174,51,132,0,182,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,8,0,0,0,8,0,1,4,3,1,2,2,2,3,59,197,24,232,130,0,100,3,221,35,236,20,130,0,182,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,0,2,0,12,0,100,32,0,0,89,32,1,37,36,0,3,1,2,3,3,1,2,2,1,1,2,1,4,2,1,3,2,3,1,2,1,1,1,1,3,1,2,2,1,1,3,2,2,2,2,2,36,196,192,247,222,0,90,90,0,222,247,192,195,196,232,60,42,24,60,74,19,44,0,208,166,166,0,23,44,19,74,74,59,44,59,207,222,207,128,6,236,236,0,168,0,47,88,139,10,88,88,88,47,0,168,168,0,236,236,246,133,35,34,0,1,1,1,2,1,1,3,2,3,2,2,1,1,1,4,2,1,3,2,1,1,1,3,1,3,4,1,1,1,2,1,1,4,6,34,30,30,40,30,20,20,20,222,204,241,20,30,40,30,30,20,226,232,236,226,226,216,226,236,15,52,253,236,236,236,226,216,226,236,20,132,4,120,113,90,0,166,140,5,166,166,0,90,113,120,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,30,32,0,0,30,0,1,0,9,8,0,3,2,1,2,1,2,2,2,8,236,24,162,162,198,236,80,94,232,6,42,20,0,20,214,214,42,129,128,14,235,236,236,236,50,50,50,45,50,206,206,206,206,20,20,131,2,211,211,221,131,4,17,45,45,45,211,135,0,128,2,0,12,0,16,0,0,0,16,0,1,8,7,1,2,2,2,2,2,2,2,7,119,1,24,0,24,162,82,232,129,0,156,130,1,156,0,7,206,20,236,0,236,50,194,20,129,0,74,130,1,74,0,128,2,0,12,0,13,0,0,0,13,0,1,8,7,1,2,2,2,2,2,2,2,7,94,232,22,229,24,162,43,213,129,0,166,132,7,206,20,236,20,236,50,236,20,129,0,84,132,128,2,0,12,0,30,32,0,0,29,0,1,0,10,9,1,2,2,2,2,2,2,2,2,2,9,118,0,24,0,24,162,82,232,38,218,129,0,166,130,0,166,130,3,206,206,20,20,131,3,236,236,50,50,129,5,20,20,241,241,15,15,131,132,1,84,84,133,1,84,84,136,128,2,0,12,0,15,0,0,0,13,0,1,8,7,1,2,2,2,2,2,2,2,7,94,232,53,203,24,232,24,162,129,2,166,0,172,130,7,206,20,224,32,236,20,236,50,131,0,90,130,0,2,0,12,0,32,32,0,0,41,32,1,10,9,1,1,2,4,2,1,4,2,2,2,9,162,10,100,10,162,0,232,0,24,162,6,156,156,196,50,206,206,243,130,13,12,1,1,1,1,2,1,1,2,1,2,4,2,2,12,50,226,215,196,196,215,226,50,0,20,0,236,50,9,74,74,74,42,251,219,219,37,37,27,130,0,0,2,0,12,0,49,32,0,0,39,32,1,16,15,1,1,1,1,3,1,2,1,1,3,1,1,2,2,2,2,15,194,0,47,100,47,0,206,236,233,232,233,236,60,194,24,0,9,156,156,156,196,50,50,206,206,206,243,132,0,100,12,11,0,2,1,1,2,1,1,3,8,2,1,2,9,246,246,225,196,196,225,246,20,226,40,129,128,6,74,74,42,251,219,219,37,129,1,182,0,128,2,0,12,0,41,32,0,0,53,0,1,0,14,13,1,1,2,4,2,1,1,2,2,1,2,2,2,2,13,162,0,94,0,162,236,245,0,245,236,24,162,94,232,7,176,176,208,40,216,216,216,236,133,65,255,102,255,102,6,7,233,193,193,193,233,7,65,255,102,255,102,14,243,5,27,27,27,5,243,236,236,50,50,206,206,20,20,131,128,14,94,94,94,52,18,241,199,199,199,37,37,37,27,18,10,141,0,128,2,0,12,0,67,32,0,0,66,0,1,0,23,22,1,1,1,1,2,1,1,1,1,2,2,2,1,3,3,2,1,1,3,1,1,2,2,22,24,28,45,45,210,210,210,216,245,49,207,207,0,80,0,206,0,244,232,244,0,45,206,7,156,156,174,176,0,176,216,249,130,3,156,156,0,100,134,0,84,34,236,236,225,216,216,216,57,57,57,43,9,231,231,15,15,160,160,246,225,196,196,196,225,246,180,180,236,254,20,20,20,254,236,216,216,133,128,3,74,74,61,44,129,2,246,250,254,133,14,74,74,74,42,18,251,219,219,219,37,37,37,27,18,10,137,128,2,0,12,0,62,0,0,0,56,32,1,0,21,207,207,0,43,80,80,80,43,0,205,205,246,246,232,232,232,246,246,24,24,162,162,129,7,9,9,49,49,207,207,207,207,131,128,14,156,156,156,184,220,6,42,42,42,214,214,214,224,220,230,133,3,42,214,214,42,130,1,254,24,132,18,17,1,1,3,3,2,1,1,2,2,1,2,2,1,2,2,2,1,1,128,10,236,196,236,0,236,254,20,254,236,236,50,129,3,206,40,40,0,7,74,74,9,219,37,37,37,9,131,1,219,37,129,1,15,16,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,48,32,0,0,52,32,1,16,15,0,4,2,3,1,1,1,1,1,2,2,1,3,1,3,2,128,12,24,0,232,56,47,18,0,213,166,212,0,8,252,129,131,11,70,98,98,98,98,0,158,158,166,5,42,214,18,17,0,1,3,1,1,3,1,3,2,1,2,1,3,1,1,1,1,2,15,50,16,236,247,0,30,246,0,70,70,59,50,15,20,28,42,129,132,7,226,186,176,217,0,80,80,80,130,1,211,45,128,2,0,12,0,50,0,0,0,39,32,1,0,128,24,8,21,24,227,233,247,0,42,90,90,90,44,0,8,27,35,24,19,7,0,244,232,232,232,245,135,131,12,170,165,158,158,158,208,0,48,98,98,98,99,102,136,3,42,214,214,42,131,13,12,0,3,1,3,3,3,3,1,3,1,3,2,2,128,0,236,129,6,216,0,226,236,0,9,20,129,129,4,60,80,0,176,176,131,1,211,45,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,39,32,0,0,34,32,1,12,11,2,2,2,2,1,1,1,2,3,2,2,2,11,94,246,162,152,206,206,219,232,24,162,25,0,1,23,48,129,2,216,216,216,130,1,214,42,11,10,1,2,1,2,2,2,4,2,2,2,2,10,206,228,246,50,65,50,20,236,50,0,20,3,166,166,166,166,132,1,45,211,0,0,2,0,12,0,39,32,0,0,43,32,1,14,13,0,4,2,1,3,1,2,2,1,2,3,2,4,2,7,254,0,254,243,232,243,24,177,129,3,51,90,221,182,135,5,42,214,148,0,108,0,14,13,0,4,9,2,2,2,2,1,1,1,3,1,1,1,13,20,10,236,50,40,0,224,186,186,186,52,90,90,90,131,9,45,211,66,34,0,222,190,222,0,34,128,2,0,12,0,91,0,0,0,92,0,1,0,128,26,12,24,24,24,11,0,94,94,0,208,156,156,156,208,0,94,94,24,24,0,37,97,111,105,107,94,70,129,2,23,28,11,129,11,253,241,241,0,70,70,94,94,94,94,232,232,131,2,246,246,252,132,24,100,100,100,61,25,245,206,206,206,246,0,158,158,158,188,226,236,254,10,10,10,50,50,42,20,129,1,251,251,129,3,50,206,206,50,135,128,18,247,236,236,236,246,0,206,206,10,26,50,50,50,26,10,206,206,236,236,129,4,7,0,216,202,244,129,8,50,32,6,250,255,33,53,43,11,130,5,206,206,206,206,20,20,131,4,5,5,254,246,251,130,28,182,182,182,216,242,8,37,37,37,5,0,74,74,74,68,74,26,26,5,5,5,219,219,215,201,185,226,225,239,129,3,219,37,37,219,135,0,2,0,12,0,79,32,0,0,64,32,1,24,23,0,1,3,2,2,1,1,1,2,3,2,2,2,1,1,1,1,1,1,2,1,1,2,1,23,94,94,246,162,152,206,206,219,232,24,162,25,0,39,45,41,71,94,94,232,232,232,19,41,64,255,116,128,0,48,129,2,216,216,216,130,7,214,42,0,154,152,155,199,246,64,255,66,1,216,229,129,21,20,0,1,2,1,2,2,2,3,3,2,2,2,2,1,1,1,1,4,1,1,1,20,206,206,228,246,50,65,50,20,236,50,0,20,236,236,220,206,206,20,11,249,236,4,176,166,166,166,166,132,5,45,211,100,100,102,49,129,2,6,7,0,0,128,2,0,12,0,13,0,0,0,13,0,1,6,5,1,2,2,2,2,2,5,24,0,24,162,0,232,1,214,42,130,0,100,5,236,20,236,50,236,20,1,45,211,130,0,182,128,2,0,12,0,215,0,0,0,169,32,1,0,0,98,64,0,130,3,87,75,97,106,66,0,196,0,213,0,174,27,120,90,90,120,110,99,90,251,238,16,30,246,246,216,226,237,246,85,99,64,50,228,206,248,5,239,230,140,64,255,124,18,162,216,5,5,85,85,228,50,64,99,85,246,237,226,216,246,246,216,162,64,255,124,10,140,230,239,5,248,206,75,75,5,5,120,66,0,174,0,213,0,196,3,106,97,75,87,64,0,130,18,98,30,16,238,251,90,98,110,120,90,90,251,251,75,75,103,103,253,253,131,128,62,214,214,220,221,214,90,39,5,5,5,105,105,105,105,110,186,207,241,246,251,151,151,151,152,146,70,48,15,10,0,42,42,36,34,42,166,216,251,251,42,214,214,42,0,246,241,207,186,110,105,105,105,105,5,5,5,39,90,214,221,220,214,214,131,26,251,251,216,166,42,34,36,42,42,0,10,15,48,70,141,151,156,156,156,251,42,214,214,42,0,156,156,132,56,55,0,1,2,2,1,2,1,3,1,1,1,1,3,3,3,1,3,1,1,4,1,1,1,1,2,2,1,1,3,1,1,2,3,1,2,1,4,2,2,1,1,1,1,1,2,2,1,1,3,1,2,1,4,2,2,2,55,58,22,215,209,209,197,188,30,27,20,20,20,40,226,236,236,216,188,234,47,47,47,59,68,194,31,188,216,236,236,236,226,68,59,47,47,234,245,9,188,197,209,209,209,215,22,58,40,20,20,27,30,215,62,194,20,128,9,45,45,45,10,5,5,201,201,204,206,129,1,55,50,130,7,211,211,246,248,251,251,45,211,130,7,206,204,201,5,5,10,45,45,129,6,251,251,248,246,211,211,211,130,6,45,50,50,45,211,50,0,0,128,2,0,12,0,102,0,0,0,103,0,1,0,8,68,60,39,48,50,105,88,67,35,130,39,5,9,2,5,222,222,233,0,24,24,162,162,162,162,246,246,82,82,232,232,246,25,62,88,105,50,48,39,60,68,246,223,202,202,241,238,245,241,246,246,131,7,246,206,206,213,216,90,46,8,130,8,100,100,100,93,100,0,252,246,246,131,6,50,206,206,50,0,161,161,130,16,248,210,166,40,44,50,50,10,10,10,5,0,156,165,161,161,161,132,51,8,236,225,243,236,206,189,203,232,236,20,20,0,2,249,0,52,62,51,50,236,236,50,50,50,50,20,20,194,194,20,20,236,222,187,175,196,236,246,227,236,8,50,55,62,52,0,249,2,0,20,20,131,7,10,37,37,41,37,20,252,246,130,8,182,182,182,174,182,20,19,10,10,131,6,219,37,37,219,0,74,74,130,16,10,4,236,219,215,219,219,246,246,246,238,236,74,83,74,74,74,132,128,2,0,12,0,15,0,0,0,17,0,1,8,7,1,2,2,2,2,2,2,2,7,40,190,94,232,24,162,254,227,0,156,132,1,214,42,6,194,20,206,20,236,50,120,64,255,105,0,74,132,1,45,211,128,2,0,12,0,23,0,0,0,19,0,1,0,2,64,24,156,129,6,100,232,192,59,59,197,197,131,130,1,166,166,131,1,196,196,132,2,221,236,40,129,6,216,20,35,221,221,35,35,131,130,1,100,100,138,0,128,2,0,12,0,29,0,0,0,28,0,1,0,131,2,64,24,156,129,6,100,232,192,59,59,197,197,131,0,84,129,0,84,130,1,166,166,131,1,196,196,132,6,236,236,20,20,221,236,40,129,6,216,20,35,221,221,35,35,131,0,166,129,0,166,130,1,100,100,138,128,2,0,12,0,35,0,0,0,35,0,1,0,15,46,45,197,198,24,44,98,232,232,158,98,39,24,158,217,232,131,128,1,156,156,129,0,232,129,0,34,129,0,39,129,0,237,132,15,194,194,20,20,226,246,186,30,10,70,186,246,226,70,10,30,131,128,1,74,74,129,0,10,129,0,246,129,0,246,129,0,10,132,0,128,2,0,12,0,36,32,0,0,38,0,1,0,11,10,1,2,1,3,2,1,2,1,2,2,2,10,42,192,236,24,162,162,198,236,80,94,232,8,156,0,42,20,0,20,214,214,42,129,19,194,194,20,20,0,235,236,236,236,50,50,50,45,50,206,206,206,206,20,20,131,128,5,74,74,0,211,211,221,131,4,17,45,45,45,211,135,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,46,0,0,0,25,32,1,0,132,22,12,24,24,24,12,0,244,232,232,232,244,0,47,100,100,100,47,0,209,156,156,156,209,131,3,36,220,220,36,139,11,158,158,209,0,46,98,98,98,46,0,209,158,131,8,7,5,3,3,3,3,3,3,3,7,246,236,9,20,227,196,29,60,131,3,80,217,176,38,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,0,2,0,12,0,61,32,0,0,51,32,1,20,19,5,2,2,3,1,3,3,1,2,2,1,2,1,1,2,1,1,1,2,1,19,24,245,232,232,232,232,0,48,100,16,196,0,196,17,100,100,47,0,164,164,130,14,253,3,0,158,158,0,50,50,206,206,206,0,46,98,98,129,17,16,0,5,1,3,3,1,3,3,1,1,1,3,4,2,3,2,1,128,15,236,0,20,50,50,20,5,231,196,196,0,228,196,5,50,50,131,10,15,241,0,80,80,48,20,219,37,236,176,129,128,2,0,12,0,85,0,0,0,85,0,1,0,128,6,5,24,24,24,245,212,217,129,19,60,100,100,100,46,0,241,246,24,24,5,250,0,251,232,232,232,3,29,28,129,11,204,156,156,156,201,0,238,236,232,232,237,12,131,129,16,232,236,209,188,191,207,216,216,229,19,40,76,98,98,98,96,98,132,16,24,30,55,71,64,46,40,40,26,254,216,189,158,158,158,158,158,134,128,42,238,236,236,236,205,181,198,244,196,206,196,196,196,224,0,228,212,236,236,229,238,0,18,20,20,20,48,75,77,50,110,80,60,60,60,19,246,241,9,20,20,12,22,131,129,16,251,20,6,255,8,28,40,30,33,20,246,216,176,176,176,174,176,132,16,10,0,13,12,251,231,226,246,241,10,20,53,80,80,80,80,80,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,189,0,0,0,151,0,1,0,9,244,20,238,230,252,5,95,112,79,30,129,7,10,3,255,246,151,138,160,166,129,30,246,252,1,10,105,119,96,90,12,236,18,26,4,251,161,145,176,226,45,45,65,65,12,90,96,119,105,10,1,252,246,129,32,226,176,145,161,251,4,26,18,236,45,45,50,206,211,211,30,79,112,95,5,252,230,238,20,244,166,160,138,151,246,255,3,10,129,3,191,191,211,211,131,128,6,214,214,220,221,214,80,32,130,26,100,100,100,97,100,186,207,241,246,0,156,156,156,159,156,70,48,14,10,0,42,42,36,34,42,176,224,129,13,42,214,214,42,0,246,241,207,186,100,97,100,100,100,130,8,32,80,214,221,220,214,214,0,220,129,0,220,130,21,224,176,42,34,36,42,42,0,10,14,48,70,156,159,156,156,156,0,42,214,214,42,131,11,28,248,218,194,188,188,188,188,182,178,20,20,135,1,236,236,135,14,228,8,38,63,68,68,68,68,73,78,234,234,11,11,228,135,26,236,236,78,73,68,68,68,68,63,38,8,245,245,210,44,9,9,178,182,188,188,188,188,194,218,248,28,135,5,20,20,235,235,22,22,131,128,4,45,45,45,45,45,132,4,196,196,196,196,196,132,4,60,60,60,60,60,129,0,255,129,4,211,211,211,211,211,131,3,211,45,45,211,132,4,196,196,196,196,196,132,6,45,45,45,45,45,0,246,129,0,254,132,4,211,211,211,211,211,129,0,255,129,9,60,60,60,60,60,0,211,45,45,211,131,0,128,2,0,12,0,86,0,0,0,84,0,1,0,128,46,15,24,210,222,242,0,47,98,98,98,73,34,10,250,4,54,94,94,94,75,34,0,3,12,15,24,22,14,5,0,244,232,232,232,242,232,232,232,232,232,237,236,232,232,232,238,249,131,130,22,178,168,158,158,158,200,236,6,39,56,56,56,211,214,250,30,49,79,98,98,98,98,98,136,7,246,254,2,226,30,2,7,5,136,128,11,244,236,20,16,6,0,227,194,194,194,211,240,130,19,220,190,190,190,204,233,0,255,252,251,236,238,244,253,0,11,20,20,20,8,132,6,5,15,20,20,20,16,7,131,130,22,50,66,80,80,80,37,0,244,228,220,220,220,37,36,18,0,234,198,176,176,176,176,176,135,3,4,12,10,10,129,3,246,246,248,253,135,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,95,0,0,0,96,0,1,0,8,68,60,39,48,50,105,88,67,35,130,35,5,9,2,5,222,222,233,0,24,24,162,162,162,162,246,246,246,25,62,88,105,50,48,39,60,68,246,223,202,202,241,238,245,241,246,246,131,7,246,206,206,213,216,90,46,8,130,8,100,100,100,93,100,0,252,246,246,131,3,50,206,206,50,129,16,248,210,166,40,44,50,50,10,10,10,5,0,156,163,156,156,156,132,47,8,236,225,243,236,206,189,203,232,236,20,20,0,2,249,0,52,62,51,50,236,236,50,50,50,50,20,20,236,222,187,175,196,236,246,227,236,8,50,55,62,52,0,249,2,0,20,20,131,7,10,37,37,41,37,20,252,246,130,8,182,182,182,174,182,20,19,10,10,131,3,219,37,37,219,129,16,10,4,236,219,215,219,219,246,246,246,238,236,74,83,74,74,74,132,128,2,0,12,0,15,0,0,0,15,0,1,0,4,24,75,181,232,95,129,0,161,131,132,1,80,80,132,7,221,225,41,35,225,5,5,31,131,132,1,178,178,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,56,0,0,0,45,32,1,0,31,30,30,180,180,50,37,24,24,24,162,162,162,212,0,46,94,94,94,104,98,71,94,94,94,232,232,180,180,94,94,232,232,131,128,1,156,156,135,4,208,158,158,158,203,130,0,2,132,1,147,149,131,0,156,131,15,14,1,2,1,4,2,3,3,2,3,3,1,1,1,2,2,14,194,20,196,236,50,0,206,192,206,20,20,20,20,206,20,0,74,130,2,80,80,80,130,1,40,40,130,128,2,0,12,0,58,0,0,0,63,0,1,0,34,30,23,24,24,24,162,162,162,193,226,6,43,43,43,213,213,213,20,92,92,92,232,232,92,92,105,102,83,70,60,39,43,55,52,40,131,129,1,219,196,129,6,196,178,168,168,168,181,196,129,4,196,168,168,168,196,146,128,33,246,236,236,236,50,50,50,33,15,2,246,246,246,10,10,10,241,206,206,206,20,20,206,206,196,199,222,231,237,247,0,246,246,252,131,129,1,230,206,129,5,10,48,90,90,90,50,130,4,10,90,90,90,10,133,0,249,130,0,249,135,128,2,0,12,0,66,0,0,0,70,0,1,0,38,44,44,196,196,30,23,24,24,24,162,162,162,193,226,6,43,43,43,213,213,213,20,92,92,92,232,232,92,92,105,102,83,70,60,39,43,55,52,40,131,128,1,156,156,130,1,219,196,129,6,196,178,168,168,168,181,196,129,4,196,168,168,168,196,146,1,174,174,130,33,246,236,236,236,50,50,50,33,15,2,246,246,246,10,10,10,241,206,206,206,20,20,206,206,196,199,222,231,237,247,0,246,246,252,131,128,1,74,74,130,1,230,206,129,5,10,48,90,90,90,50,130,4,10,90,90,90,10,133,0,249,130,0,249,135,0,0,2,0,12,0,37,32,0,0,43,32,1,12,11,1,1,2,3,1,2,4,2,3,1,2,3,11,11,22,24,152,155,186,232,0,100,100,0,162,131,0,7,129,4,164,0,43,92,0,13,12,0,3,2,2,3,1,1,1,1,3,3,3,2,128,11,236,50,65,40,31,20,20,20,232,206,24,50,128,11,18,0,40,40,40,29,18,10,86,243,210,18,0,2,0,12,0,48,32,0,0,51,32,1,16,15,0,1,1,1,2,2,2,1,1,1,4,2,3,1,2,3,15,20,22,22,24,24,162,152,156,180,196,232,20,100,100,0,162,131,0,100,129,0,7,130,4,164,0,43,92,0,16,15,0,1,1,1,2,2,2,3,1,1,1,1,2,4,2,3,15,251,234,214,216,0,30,45,25,22,20,20,20,251,206,251,30,129,13,9,18,182,0,40,40,40,29,18,10,86,243,210,18,0,0,2,0,12,0,39,32,0,0,49,32,1,14,13,0,4,2,1,3,1,2,2,1,2,3,2,4,2,7,254,0,254,243,232,243,24,177,129,3,51,90,221,182,135,5,42,214,148,0,108,0,18,17,0,1,3,1,1,1,3,1,2,2,2,2,1,1,2,2,1,3,17,5,249,236,249,5,14,20,14,236,50,40,0,15,225,186,225,15,100,137,7,45,211,86,86,0,170,170,0,128,2,0,12,0,98,0,0,0,77,32,1,0,128,5,7,18,24,24,24,1,129,39,11,21,24,24,24,234,192,200,0,232,225,0,212,173,164,164,164,190,232,0,33,36,6,232,232,232,237,248,0,34,94,94,94,54,0,207,162,162,162,214,131,129,5,4,5,0,249,21,15,132,3,222,210,229,254,129,29,106,110,109,70,24,10,252,231,221,226,238,222,205,216,0,7,6,0,164,164,207,0,36,75,75,75,41,0,217,164,131,25,24,1,3,2,1,1,2,1,1,3,2,1,1,1,1,3,2,2,1,1,1,3,4,2,4,3,24,250,236,214,196,196,231,236,236,215,196,20,20,196,231,68,47,0,3,11,16,20,224,190,31,66,128,5,236,199,196,206,227,246,131,7,180,180,182,216,243,0,255,255,129,3,86,0,170,40,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,23,0,0,0,21,0,1,0,11,24,72,184,232,91,252,4,165,216,216,40,40,131,132,1,100,100,129,1,154,154,132,4,236,236,20,20,186,129,0,70,135,132,65,255,46,255,46,129,1,64,64,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,18,0,0,0,21,32,1,8,7,1,2,4,4,2,1,3,1,7,216,40,24,232,94,94,162,162,1,206,50,129,3,152,0,94,0,6,5,7,4,2,1,3,1,5,236,20,196,196,60,60,129,3,81,0,175,0,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,24,232,24,232,4,252,128,4,102,154,0,205,51,5,236,20,236,20,236,20,128,4,172,84,0,42,214,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,32,0,0,0,32,0,1,0,13,206,24,90,24,190,216,24,24,232,232,24,24,232,232,131,4,240,170,0,102,20,129,3,170,170,0,102,129,0,102,131,13,70,236,186,236,70,20,236,236,20,20,236,236,20,20,131,4,78,78,0,192,192,129,3,78,78,0,192,129,0,192,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,28,32,0,0,34,32,1,8,7,2,4,3,4,2,2,2,2,7,24,170,86,232,201,55,55,201,128,6,211,0,49,248,0,248,0,10,9,2,2,1,3,1,2,4,2,2,2,9,236,56,56,200,200,20,38,218,238,18,9,216,0,216,41,216,0,252,0,252,0,128,2,0,12,0,64,0,0,0,70,0,1,0,129,10,18,27,24,24,24,0,232,232,232,229,238,130,11,47,94,94,94,0,162,162,162,209,0,24,24,131,1,232,232,131,4,178,150,168,191,223,132,18,223,190,166,147,178,158,165,213,0,94,94,94,0,214,166,158,0,158,158,129,1,158,158,132,33,216,216,232,240,236,236,236,0,20,20,20,16,23,40,40,216,186,196,196,196,0,60,60,60,70,40,236,236,40,40,216,216,20,20,131,5,68,88,107,87,40,20,130,19,20,41,88,108,88,68,68,61,6,216,175,175,175,216,6,60,68,0,68,68,129,1,68,68,132,0,128,2,0,12,0,28,0,0,0,31,0,1,0,15,92,70,182,160,19,250,2,233,43,43,214,214,74,74,220,210,131,132,6,100,100,0,51,205,205,51,135,4,236,236,20,20,186,129,8,70,196,196,60,60,0,206,20,60,131,132,65,255,46,255,46,128,3,164,228,228,164,135,128,2,0,12,0,34,32,0,0,22,0,1,12,11,1,2,2,2,2,2,1,1,1,1,2,2,11,10,1,2,2,2,2,2,2,1,1,2,2,128,9,146,0,233,0,233,24,170,160,0,233,129,3,154,0,205,51,131,0,102,11,236,56,236,20,236,20,236,186,0,40,236,20,129,3,64,0,32,224,132,0,192,128,2,0,12,0,25,32,0,0,25,0,1,0,9,8,1,2,2,2,2,1,1,2,2,8,86,232,0,146,24,170,160,0,232,134,1,205,51,15,200,200,20,20,236,236,56,56,236,186,0,40,236,236,20,20,131,139,3,224,32,32,224,131,0,128,2,0,12,0,27,32,0,0,17,0,1,10,9,1,2,2,2,1,1,1,1,2,2,9,8,1,2,2,2,2,1,1,2,2,8,54,200,0,232,24,170,160,0,232,129,0,154,132,0,102,9,219,39,236,20,236,186,0,40,236,20,129,0,57,133,0,199,128,2,0,12,0,27,32,0,0,17,0,1,10,9,3,4,1,1,1,1,2,1,3,1,9,8,3,4,2,1,1,2,1,3,1,128,7,232,24,170,160,94,94,138,138,132,3,152,0,94,0,9,236,20,236,186,0,40,196,196,60,60,133,3,81,0,175,0,128,2,0,12,0,31,0,0,0,30,0,1,0,15,52,13,149,255,255,95,231,198,52,52,198,198,24,24,170,160,131,0,230,129,1,146,146,129,3,230,0,146,146,136,15,218,235,69,2,2,185,19,38,218,218,38,38,236,186,0,40,131,0,200,129,65,0,160,0,160,129,0,200,139,0,2,0,12,0,56,32,0,0,57,32,1,19,18,0,1,2,5,1,1,1,1,1,3,1,2,2,2,2,2,2,1,1,129,1,24,232,130,5,90,90,166,166,0,24,129,3,232,24,170,160,14,136,158,0,167,158,136,158,172,0,94,0,158,158,0,158,131,19,18,1,2,3,1,1,1,2,2,3,1,2,2,2,2,2,1,1,1,1,11,176,236,20,20,20,80,0,196,60,60,0,236,129,4,20,236,186,0,40,13,78,50,0,50,75,78,68,0,175,0,68,68,0,68,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,67,0,0,0,49,0,1,0,20,216,216,235,24,64,90,90,232,232,231,227,221,24,24,170,170,86,86,86,94,106,64,0,132,5,30,242,236,232,232,232,131,5,40,188,188,171,167,203,129,3,224,227,6,40,132,2,139,135,130,64,255,120,1,238,195,67,255,114,255,111,255,109,255,119,132,129,25,242,222,209,202,202,20,20,18,12,5,236,236,56,56,200,200,200,200,200,230,50,31,19,20,20,20,131,128,4,80,80,66,44,16,138,9,207,204,222,227,236,236,208,225,200,207,132,0,128,2,0,12,0,68,0,0,0,67,32,1,0,128,36,11,24,24,24,12,0,23,57,68,57,57,57,0,213,166,166,166,0,29,57,57,57,17,82,73,36,62,65,57,195,195,232,232,57,57,195,195,131,135,12,238,246,246,0,88,88,88,42,0,168,168,168,212,129,2,20,20,35,129,0,120,129,1,141,148,136,20,19,0,4,2,3,2,2,3,2,1,2,1,2,3,1,3,1,1,1,2,1,19,196,236,186,191,206,35,70,35,4,206,206,196,206,206,20,20,20,206,20,20,131,4,216,166,0,90,90,64,0,160,0,80,129,3,80,60,60,0,64,0,160,128,0,90,0,2,0,12,0,85,32,0,0,77,32,1,29,28,0,3,2,1,1,1,3,1,1,3,4,1,1,2,1,2,1,2,1,2,3,3,3,4,2,1,1,1,1,19,226,162,162,24,24,24,245,232,232,0,47,100,100,47,0,162,162,0,48,100,129,2,232,24,162,131,130,19,1,0,60,0,6,10,0,206,237,10,98,98,60,0,158,158,226,50,0,236,129,1,10,246,129,28,27,0,3,1,1,4,1,3,1,1,1,3,1,1,1,2,1,2,1,2,3,3,3,3,2,2,2,2,2,27,60,70,50,30,236,0,20,20,26,30,0,228,196,196,228,0,50,50,0,196,0,216,20,42,236,50,0,216,134,14,4,10,10,37,37,1,226,176,176,236,60,80,40,219,246,133,128,2,0,12,0,37,0,0,0,25,32,1,0,129,21,92,92,232,232,24,24,24,24,24,27,37,52,64,0,228,192,170,162,162,162,162,162,131,128,1,158,158,134,4,21,48,68,82,87,140,8,7,1,2,2,4,5,1,7,1,128,6,206,20,236,236,30,50,50,0,80,130,0,216,130,0,128,2,0,12,0,94,0,0,0,81,32,1,0,128,45,7,18,24,24,24,27,30,30,0,13,23,24,24,24,1,236,234,232,20,4,236,213,164,164,164,220,0,247,237,232,232,232,245,1,0,51,94,94,94,52,0,213,162,162,162,213,131,129,6,251,242,236,248,253,5,5,129,3,9,19,20,10,131,20,80,98,98,98,40,0,223,166,156,159,170,191,206,214,238,0,164,164,168,186,226,130,3,229,206,187,164,131,27,26,1,1,3,3,1,1,1,1,1,3,2,1,2,3,1,1,1,1,4,3,2,1,1,1,1,3,2,26,250,242,236,236,0,239,232,236,236,0,20,20,0,68,68,36,0,6,20,10,190,190,190,231,10,66,36,131,3,20,249,248,5,130,15,176,176,216,231,246,0,255,0,86,34,236,217,180,180,0,86,128,2,0,12,0,69,0,0,0,66,0,1,0,128,9,24,24,24,0,251,5,0,155,155,155,129,4,1,1,232,236,249,129,13,24,24,24,0,240,232,9,6,0,155,155,155,251,5,131,129,19,236,250,251,210,45,45,45,236,164,164,164,158,159,0,255,0,45,251,250,246,131,7,94,92,92,92,20,218,210,45,131,128,3,236,236,236,40,130,23,59,59,59,0,7,16,20,20,16,6,40,40,236,236,236,0,13,20,20,10,0,59,59,59,133,129,12,236,241,241,38,221,221,221,30,86,86,86,86,86,130,3,251,5,7,10,130,8,10,180,170,170,170,226,31,38,221,131,128,2,0,12,0,64,0,0,0,61,32,1,0,128,28,51,76,90,90,90,49,246,249,24,24,24,120,120,232,216,166,166,166,181,216,239,232,232,232,251,24,24,232,232,131,128,25,157,163,178,196,224,247,0,17,8,0,7,106,96,96,77,9,0,219,175,158,147,180,196,220,1,96,129,0,96,131,19,18,0,1,1,1,1,3,1,2,2,1,1,3,2,1,1,2,1,3,2,18,186,146,166,186,186,226,230,236,146,146,20,70,34,0,9,20,20,236,20,128,3,70,64,43,30,129,11,236,158,168,178,236,80,80,80,50,30,0,178,128,2,0,12,0,32,0,0,0,30,32,1,0,20,94,94,94,44,0,162,162,160,150,170,195,197,214,232,232,232,24,24,174,162,162,131,128,5,4,44,88,88,88,4,145,11,10,1,3,2,2,1,1,1,4,2,1,2,10,206,251,50,58,65,38,20,20,236,40,50,2,176,166,176,135,0,0,2,0,12,0,45,32,0,0,34,32,1,14,13,4,6,2,1,1,2,1,1,1,1,2,1,2,2,13,24,232,0,49,94,94,49,0,206,162,162,206,24,232,129,11,162,162,206,50,94,94,94,50,206,162,205,51,12,11,1,3,1,2,3,1,5,3,3,1,1,2,9,246,236,246,10,20,10,186,36,70,36,129,133,5,211,170,45,86,219,37,0,128,2,0,12,0,19,0,0,0,27,32,1,10,9,0,4,2,3,1,2,1,2,2,2,9,60,61,195,231,0,242,232,38,24,61,130,2,162,162,162,130,0,86,8,7,0,4,2,4,2,1,4,2,128,6,221,35,0,20,20,236,0,129,2,80,80,80,129,0,168,128,2,0,12,0,33,0,0,0,35,0,1,0,16,128,128,148,177,238,10,66,234,24,24,158,158,128,107,40,219,232,131,130,4,226,199,226,0,69,133,64,0,140,0,60,132,16,50,50,70,55,54,55,221,20,236,236,50,50,50,166,166,0,20,131,128,68,0,160,0,160,0,148,0,132,0,130,128,0,196,140,0,128,2,0,12,0,71,0,0,0,69,0,1,0,128,30,21,61,70,10,16,18,0,3,14,24,14,0,232,187,176,226,225,231,0,248,244,232,242,24,20,214,28,20,10,7,144,131,129,1,239,206,64,0,140,4,116,100,100,100,103,131,7,22,60,146,153,156,156,156,155,130,1,240,123,67,0,144,0,147,0,182,0,185,132,128,30,240,217,216,213,224,238,246,241,236,236,245,0,15,39,40,37,26,18,10,15,20,20,11,236,206,10,10,14,255,246,75,131,129,7,253,0,9,225,186,186,186,186,131,7,3,0,11,51,70,70,70,70,130,0,186,68,255,66,255,66,255,42,254,247,254,232,132,0,128,2,0,12,0,50,0,0,0,51,0,1,0,32,20,193,170,181,24,24,162,162,162,222,20,56,94,94,94,104,97,43,24,24,182,152,94,94,94,232,232,232,232,94,94,232,232,131,135,4,199,138,138,138,192,130,0,7,136,1,137,149,136,128,31,17,60,50,236,236,50,50,50,24,0,231,206,206,196,196,217,248,236,236,50,50,206,206,206,20,20,20,20,206,206,20,20,131,134,6,60,60,60,60,60,60,60,137,3,60,60,60,60,136,128,2,0,12,0,41,0,0,0,36,0,1,0,17,93,11,5,101,232,189,93,36,30,6,1,23,209,183,178,199,212,6,131,128,1,156,156,131,0,125,64,0,129,8,121,108,100,0,10,14,1,241,177,131,17,216,246,10,216,20,50,216,216,213,197,204,236,0,237,234,245,250,10,131,128,1,70,70,132,8,12,252,221,206,0,7,52,79,60,132,128,2,0,12,0,98,0,0,0,101,0,1,0,128,34,24,24,24,57,40,232,232,146,166,166,166,255,245,246,0,43,66,90,90,90,38,246,245,239,232,232,232,237,40,40,65,24,24,24,12,130,8,166,166,166,232,232,24,24,232,232,131,129,11,20,11,14,251,206,50,50,50,0,156,156,156,129,4,152,152,178,196,226,129,21,156,156,177,196,225,247,50,251,3,20,44,53,88,106,96,96,96,4,206,206,50,96,129,0,96,131,128,6,236,236,236,246,0,20,20,64,255,36,2,70,70,70,129,14,10,236,206,196,186,186,186,228,10,0,10,20,20,20,1,129,4,245,236,236,236,246,130,8,70,70,70,20,20,236,236,20,20,131,129,11,246,251,255,0,37,219,219,219,50,74,74,74,129,4,70,65,49,40,22,129,21,74,74,61,50,30,6,219,20,16,238,206,186,163,158,178,178,178,236,37,37,219,178,129,0,178,131,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,48,0,0,0,38,32,1,0,128,22,32,60,60,60,196,196,196,223,226,223,232,242,232,240,244,59,59,197,197,24,24,232,232,131,129,1,237,216,129,8,216,186,158,158,158,158,158,2,2,132,0,100,129,0,100,131,13,12,0,4,2,3,1,2,1,1,1,2,2,2,2,128,11,226,40,0,4,20,20,14,7,216,30,236,20,129,3,80,80,80,80,133,0,182,0,128,2,0,12,0,56,0,0,0,52,32,1,0,31,226,208,173,152,162,162,162,162,219,0,39,90,90,90,37,0,212,162,162,24,24,12,0,233,232,232,232,229,24,24,162,162,131,129,0,3,131,10,219,168,168,168,220,0,33,88,88,88,42,133,2,242,0,4,136,16,15,0,1,1,2,1,1,2,1,3,4,2,1,4,3,3,2,15,70,70,72,50,50,50,11,226,186,18,50,236,10,20,236,50,131,0,90,64,0,180,5,90,90,0,166,226,226,129,1,226,0,0,128,2,0,12,0,72,0,0,0,64,0,1,0,128,26,57,73,90,90,90,55,54,41,24,24,24,27,17,0,238,216,232,72,57,27,0,231,185,156,156,156,210,129,4,251,232,232,232,245,131,128,4,150,162,202,226,3,130,3,4,0,248,250,130,18,5,0,72,89,98,98,98,68,24,0,212,156,156,156,158,200,226,237,252,131,27,236,236,212,186,186,186,236,0,247,236,236,236,241,249,0,7,18,20,246,251,253,0,19,46,60,60,60,29,129,4,10,20,20,20,255,131,128,4,70,63,42,30,1,139,16,186,181,176,176,176,194,231,0,39,80,80,80,80,70,60,38,7,131,0,0,2,0,12,0,52,32,0,0,46,32,1,17,16,1,3,2,1,1,1,1,2,2,2,2,1,3,3,1,3,2,1,11,24,130,11,249,238,232,239,0,100,100,0,156,156,0,232,130,13,50,110,101,80,40,10,158,208,0,100,0,208,0,100,16,15,1,3,1,1,1,1,1,1,1,1,4,3,3,3,3,2,2,246,236,246,130,7,5,15,20,20,0,196,0,60,129,132,10,156,154,163,178,186,80,0,176,0,176,0,0,2,0,12,0,39,32,0,0,37,32,1,12,11,0,1,1,1,2,1,2,1,3,1,4,2,11,20,37,50,50,206,206,236,226,242,232,24,232,129,9,213,168,0,158,158,158,158,252,0,100,12,11,0,4,2,2,1,1,1,2,1,1,2,2,128,2,221,35,21,129,5,20,20,20,0,236,20,129,4,80,80,80,80,80,131,0,182,0,2,0,12,0,37,32,0,0,39,32,1,11,10,3,1,1,1,3,1,1,1,1,3,4,10,24,24,18,24,0,192,158,158,158,98,232,3,100,94,100,100,129,4,11,50,0,158,0,13,12,1,1,1,3,2,1,1,1,1,1,3,1,3,12,237,236,236,236,0,50,50,49,50,50,206,206,20,129,1,182,182,132,3,10,80,10,0,128,2,0,12,0,50,32,0,0,63,0,1,0,18,17,4,6,2,1,1,1,1,4,2,1,3,1,2,2,1,1,1,1,17,24,232,61,35,221,195,0,80,0,215,176,215,36,220,35,61,195,221,133,7,188,34,68,68,222,188,60,196,131,128,34,4,236,236,236,4,0,252,20,20,20,252,216,226,30,40,0,210,176,176,176,210,0,45,80,80,80,45,246,246,10,10,226,216,40,30,131,129,2,14,0,243,130,2,243,0,14,132,11,70,70,42,0,214,186,186,186,214,0,42,70,139,128,2,0,12,0,62,0,0,0,60,0,1,0,31,20,63,109,110,217,216,233,236,227,247,4,10,236,191,147,146,40,40,23,20,20,13,9,252,248,5,24,30,110,232,226,146,131,129,7,223,196,125,115,98,98,98,101,131,8,31,56,128,142,158,158,158,156,156,131,0,236,129,0,20,132,128,17,250,247,241,241,238,250,0,246,236,236,245,0,6,9,15,15,18,5,129,10,20,20,20,20,0,236,246,196,20,10,60,131,131,5,176,175,176,176,176,176,131,8,1,0,80,81,80,80,80,80,80,131,0,40,129,0,216,132,0,128,2,0,12,0,42,0,0,0,27,32,1,0,128,18,24,24,24,172,172,172,0,84,84,84,232,232,232,54,34,49,207,222,202,131,129,0,176,129,4,176,172,172,172,176,129,0,176,129,0,172,129,0,172,132,10,9,2,4,3,4,1,1,1,1,1,1,9,236,60,196,20,216,236,216,40,20,40,128,0,90,135,128,2,0,12,0,78,0,0,0,66,32,1,0,2,236,245,247,129,24,211,211,250,30,61,94,94,94,232,232,232,233,20,22,24,24,24,162,162,162,190,216,2,45,45,129,5,9,11,45,45,211,211,131,129,9,204,146,146,146,158,168,168,168,182,196,129,1,196,225,130,1,225,196,129,11,196,182,168,168,168,158,146,146,146,204,0,146,129,0,146,131,22,21,0,1,1,1,1,1,2,3,4,2,1,1,2,4,1,4,1,1,1,1,2,2,21,30,21,4,10,107,20,3,206,20,24,226,230,236,50,33,236,149,246,252,235,236,20,129,5,9,20,62,216,90,42,132,5,42,90,216,62,20,9,129,0,40,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,50,0,0,0,55,0,1,0,24,128,128,148,177,238,10,66,234,24,24,158,158,128,94,94,94,95,94,40,219,248,238,232,232,232,131,130,4,226,199,226,0,69,133,3,226,214,213,222,64,0,140,4,60,167,171,180,196,132,24,50,50,70,55,54,55,221,20,236,236,50,50,50,206,206,206,205,206,226,40,20,18,20,20,20,131,128,68,0,160,0,160,0,148,0,132,0,130,128,0,196,133,9,226,226,226,226,226,226,226,224,226,226,132,0,2,0,12,0,33,32,0,0,39,32,1,10,9,3,4,2,1,5,3,3,1,3,1,9,24,232,22,50,233,206,98,98,158,158,129,7,51,22,206,22,162,0,94,0,12,11,3,4,2,1,1,4,2,1,2,2,2,2,11,236,20,7,18,18,245,234,234,0,206,0,46,129,9,216,237,0,40,0,237,66,0,190,0,128,2,0,12,0,17,0,0,0,17,0,1,8,7,1,2,2,2,2,2,2,2,7,61,195,24,61,195,232,24,61,129,2,158,0,158,129,0,110,7,221,35,236,221,35,20,236,221,129,2,58,0,58,129,0,196,128,2,0,12,0,58,0,0,0,43,32,1,0,19,24,24,58,94,94,94,39,0,231,220,200,24,35,247,0,234,232,232,232,135,65,255,58,255,58,3,24,24,232,232,131,128,11,163,181,220,246,34,94,94,94,116,120,40,24,130,4,240,246,200,146,138,129,1,158,158,132,13,12,0,1,3,3,2,1,1,3,3,2,1,3,2,12,236,236,196,0,240,236,216,0,20,64,110,236,20,128,5,68,236,175,175,176,226,129,3,60,78,68,0,128,2,0,12,0,92,0,0,0,87,0,1,0,128,44,7,24,24,11,9,4,0,46,98,98,98,68,23,0,249,3,186,210,232,232,232,245,249,3,10,56,98,98,98,57,20,244,230,210,24,22,2,10,250,232,232,232,181,136,136,131,131,32,152,155,162,162,162,190,216,233,9,31,31,31,245,242,240,226,236,245,0,31,245,246,10,38,50,72,94,94,94,99,95,25,13,130,5,255,0,245,238,236,40,131,128,12,250,239,236,236,240,249,0,230,200,200,200,213,238,130,5,236,253,20,20,20,10,129,20,237,212,200,200,200,243,21,16,248,236,236,240,250,0,10,20,20,20,254,236,236,131,131,15,81,81,81,81,81,43,10,244,212,196,196,196,60,216,229,247,130,13,196,60,56,39,15,0,218,175,175,175,190,205,30,15,132,2,248,239,236,132,128,2,0,12,0,32,0,0,0,32,0,1,0,15,24,0,142,166,24,220,32,32,176,176,232,232,32,32,176,176,131,0,9,129,8,9,9,177,177,9,9,177,177,9,135,15,236,206,25,55,236,0,199,199,17,17,20,20,199,199,17,17,131,0,217,129,8,217,217,39,39,217,217,39,39,217,135,0,128,2,0,12,0,59,32,0,0,73,0,1,0,19,18,3,2,3,2,3,2,1,1,1,1,1,3,4,1,1,1,1,1,2,15,25,159,46,97,70,0,196,214,248,10,254,231,28,25,161,175,129,0,231,128,9,212,162,0,60,0,146,193,226,226,226,131,3,206,0,98,0,31,236,236,236,236,56,56,22,246,218,200,200,200,235,20,42,60,100,70,53,40,26,18,20,20,20,3,240,236,236,46,46,60,129,1,20,20,131,129,15,21,40,40,60,81,81,81,50,10,216,171,171,171,181,20,1,130,6,252,255,10,15,10,0,181,130,1,181,188,129,0,188,131,0,128,2,0,12,0,61,0,0,0,55,32,1,0,35,152,24,24,24,0,232,221,152,152,0,11,24,24,152,152,142,145,163,176,203,232,232,232,244,0,50,104,104,104,50,0,206,152,152,152,204,131,129,5,10,5,1,0,100,96,143,11,162,162,228,0,45,94,94,94,45,0,226,162,131,19,18,0,1,1,3,1,1,1,1,1,2,2,1,3,3,3,3,3,2,1,18,50,236,236,20,20,50,50,246,242,236,50,60,20,20,246,206,0,50,50,129,3,216,0,181,184,134,5,242,81,242,175,221,6,0,128,2,0,12,0,25,0,0,0,24,0,1,0,11,125,101,232,0,24,24,164,164,24,24,232,56,131,131,0,60,129,1,60,102,129,0,102,131,128,9,196,20,60,236,236,50,50,236,236,20,132,131,0,196,129,1,196,192,129,0,192,131,0,2,0,12,0,93,32,0,0,48,32,1,30,29,0,3,3,3,4,1,1,3,1,2,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,4,2,128,10,24,0,232,47,98,98,0,210,158,158,210,130,14,46,98,98,98,46,0,209,158,158,158,209,11,24,244,232,128,28,236,8,236,162,200,236,51,51,236,200,162,20,236,205,205,242,20,55,94,94,94,55,20,242,205,248,20,0,20,16,15,4,6,3,1,1,4,2,1,6,3,4,2,4,3,3,3,15,236,20,229,200,200,27,56,56,0,200,27,56,246,236,9,20,129,9,81,56,35,221,35,56,35,241,175,241,131,0,128,2,0,12,0,64,0,0,0,67,32,1,0,3,24,35,104,104,64,0,151,2,232,232,232,129,25,50,106,106,106,52,0,210,158,158,158,208,80,53,24,24,24,11,0,245,232,232,104,104,114,111,93,131,128,19,156,160,0,203,0,206,230,255,162,162,211,0,30,94,94,94,29,0,211,162,146,21,20,0,1,1,1,1,1,4,1,1,1,2,1,1,2,3,3,2,1,3,2,1,20,236,236,206,206,253,20,0,232,208,208,236,10,33,56,236,236,251,10,20,206,196,20,242,61,58,242,189,242,67,67,21,236,161,161,161,0,242,0,242,242,242,242,242,0,2,0,12,0,32,32,0,0,29,32,1,10,9,3,4,1,1,1,1,2,1,3,1,9,24,232,0,30,34,4,98,98,158,158,130,6,226,41,71,162,0,94,0,10,9,3,4,1,1,1,1,1,2,2,2,1,236,20,132,2,206,0,46,130,6,20,0,236,66,0,190,0,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,25,0,0,0,21,32,1,14,13,1,3,2,1,3,1,1,1,2,2,1,1,2,2,13,11,24,0,246,232,246,0,28,61,28,0,229,195,229,133,7,195,195,0,61,61,61,0,195,6,5,4,6,3,2,2,4,5,236,20,234,206,234,50,129,3,60,0,196,0,128,2,0,12,0,18,0,0,0,18,0,1,8,7,1,2,2,2,2,2,2,2,7,31,225,24,31,225,232,24,31,7,2,2,207,2,207,2,2,67,7,226,30,236,226,30,20,236,226,7,2,2,81,2,81,2,2,193,128,2,0,12,0,48,0,0,0,49,32,1,0,11,24,24,49,73,73,73,37,15,249,24,20,8,129,9,232,232,232,204,176,176,24,24,232,232,131,128,7,206,237,26,53,68,68,68,64,132,4,10,0,228,202,206,129,1,206,206,132,15,14,0,1,3,2,1,1,1,1,2,3,1,1,1,3,2,14,236,236,196,236,237,236,236,243,20,20,20,59,90,236,20,128,13,80,0,196,196,206,10,6,0,20,42,91,110,80,0,128,2,0,12,0,81,0,0,0,75,32,1,0,128,11,7,19,24,11,9,4,0,25,54,54,54,25,130,5,216,223,232,232,232,244,129,17,28,54,54,54,20,17,16,24,18,7,0,245,232,232,232,218,206,206,131,131,26,197,197,197,197,197,217,236,252,13,13,13,216,242,242,239,236,246,0,13,243,248,21,40,58,58,58,58,132,5,246,236,234,229,229,254,131,25,24,0,3,1,3,3,3,2,1,1,1,1,2,1,1,3,2,2,1,1,1,4,1,1,1,1,128,21,236,236,0,196,0,216,0,9,20,20,9,216,216,196,0,236,236,240,251,20,20,9,129,129,14,30,30,10,236,0,236,227,236,236,0,236,20,246,226,226,131,3,253,246,246,0,0,128,2,0,12,0,25,32,0,0,32,0,1,0,8,7,1,2,2,2,2,2,2,2,7,24,211,24,31,225,232,31,225,129,2,206,0,206,130,15,236,216,0,25,236,0,226,226,20,20,20,20,226,226,20,20,131,0,246,129,8,246,246,40,40,246,246,40,40,246,135,128,2,0,12,0,61,0,0,0,48,32,1,0,128,31,12,24,24,185,185,0,31,66,66,66,42,20,226,186,186,199,229,246,240,232,232,232,245,24,24,186,186,186,216,226,232,232,131,132,11,204,204,204,224,241,7,30,30,30,0,216,244,130,2,248,241,248,133,0,50,129,0,50,131,16,15,1,2,2,1,1,3,2,2,1,3,4,3,2,1,2,2,7,247,236,30,0,241,226,10,30,129,5,20,236,30,30,0,20,129,5,30,30,30,249,236,226,132,2,226,0,206,128,2,0,12,0,53,0,0,0,61,32,1,0,33,200,24,24,24,1,232,229,211,195,195,246,6,24,24,200,195,191,192,194,196,214,232,232,232,239,0,56,56,56,0,226,195,195,195,131,133,2,49,47,25,143,8,218,218,0,36,36,36,17,0,218,131,20,19,0,1,1,2,1,1,3,2,1,1,1,1,1,3,4,2,2,2,1,3,128,18,236,236,255,20,20,40,246,236,236,0,40,60,50,20,0,216,0,18,40,128,4,20,20,1,0,206,129,1,11,20,132,4,30,0,226,226,30,0,128,2,0,12,0,21,0,0,0,20,0,1,0,11,46,53,232,226,24,24,214,214,24,24,232,232,131,135,0,49,129,0,49,131,10,246,216,20,50,236,236,40,40,236,236,20,132,135,0,195,129,0,195,131,0,2,0,12,0,52,32,0,0,58,32,1,16,15,1,2,7,3,1,3,2,2,5,1,3,1,2,3,3,3,15,11,24,232,56,56,229,200,0,56,56,200,200,0,24,0,232,15,255,245,250,219,242,2,242,245,232,0,35,0,245,250,255,250,18,17,1,3,1,2,3,1,2,4,2,2,7,4,2,3,1,2,3,1,17,246,236,246,10,20,10,216,19,40,0,226,30,246,236,246,10,20,10,17,255,255,255,255,255,255,39,255,19,255,215,255,255,255,255,255,255,255,128,2,0,12,0,53,32,0,0,63,0,1,0,19,18,0,1,3,1,2,1,2,4,2,1,2,1,1,1,1,2,3,2,3,18,24,27,61,56,232,232,60,24,10,249,232,56,61,65,64,0,61,0,200,1,251,202,130,0,254,136,3,220,0,38,220,33,236,236,225,216,216,0,20,20,20,1,206,220,236,236,236,247,0,9,20,20,0,216,196,197,202,0,237,216,216,216,0,40,40,40,131,3,251,45,43,23,129,3,236,236,243,250,135,1,246,236,132,8,30,30,15,0,226,226,226,0,30,131,0,128,2,0,12,0,12,0,0,0,11,0,1,0,128,2,38,0,218,131,128,2,196,0,54,131,2,60,0,196,132,3,236,20,20,236,131,128,2,0,12,0,88,0,0,0,85,32,1,0,128,30,38,0,218,31,31,225,225,24,24,31,31,225,225,232,232,24,24,31,31,24,24,49,73,73,73,37,15,249,24,20,8,129,9,232,232,232,204,176,176,24,24,232,232,131,128,27,196,0,54,2,2,2,2,2,207,207,2,2,207,207,2,67,2,2,67,0,206,237,26,53,68,68,68,64,132,4,10,0,228,202,206,129,1,206,206,132,27,26,0,1,1,1,2,2,2,2,2,2,2,2,1,1,3,2,1,1,1,1,2,3,1,1,1,3,2,26,20,236,236,20,226,30,236,226,30,20,236,226,236,236,196,236,237,236,236,243,20,20,20,59,90,236,20,26,236,0,20,0,2,2,81,2,81,2,2,193,0,80,0,196,196,206,10,6,0,20,42,91,110,80,0,0,2,0,12,0,63,32,0,0,73,32,1,20,19,0,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,128,18,38,0,218,24,211,24,31,225,232,31,225,31,225,24,31,225,232,24,31,128,2,196,0,54,129,2,206,0,206,130,7,2,2,207,2,207,2,2,67,23,22,0,1,1,1,1,1,1,1,1,1,2,1,2,3,2,2,2,2,2,2,2,2,2,22,20,236,236,20,236,216,0,25,236,0,226,20,20,226,20,226,30,236,226,30,20,236,226,4,246,10,30,10,246,129,5,246,246,40,246,246,40,129,7,2,2,81,2,81,2,2,193,128,2,0,12,0,114,0,0,0,114,0,1,0,128,31,38,0,218,24,24,211,211,24,24,31,31,225,225,232,232,31,31,225,225,0,7,19,24,11,9,4,0,25,54,54,54,25,130,5,216,223,232,232,232,244,129,17,28,54,54,54,20,17,16,24,18,7,0,245,232,232,232,218,206,206,131,128,2,196,0,54,132,1,206,206,129,1,206,206,136,26,197,197,197,197,197,217,236,252,13,13,13,216,242,242,239,236,246,0,13,243,248,21,40,58,58,58,58,132,5,246,236,234,229,229,254,131,59,20,236,236,20,236,216,0,25,236,0,226,226,20,20,20,20,226,226,20,20,0,250,240,236,236,240,250,0,227,196,196,196,227,0,216,216,0,9,20,20,20,9,216,216,205,196,196,196,0,245,236,236,240,251,0,10,20,20,20,9,133,4,226,246,10,246,246,129,8,246,246,40,40,246,246,40,40,246,135,26,30,30,30,30,30,20,10,252,236,236,236,0,236,227,236,236,246,0,236,20,17,1,246,226,226,226,226,134,2,253,246,246,132,0,0,2,0,12,0,88,32,0,0,94,32,1,28,27,0,1,1,1,2,2,2,2,2,2,2,2,2,2,7,3,1,3,2,2,5,1,3,1,2,3,3,3,128,26,38,0,218,31,225,24,31,225,232,24,31,11,24,232,56,56,229,200,0,56,56,200,200,0,24,0,232,128,26,196,0,54,2,2,207,2,207,2,2,67,255,245,250,219,242,2,242,245,232,0,35,0,245,250,255,250,30,29,0,1,1,1,2,2,2,2,2,2,2,2,2,3,1,2,3,1,2,4,2,2,7,4,2,3,1,2,3,1,29,20,236,236,20,226,30,236,226,30,20,236,226,246,236,246,10,20,10,216,19,40,0,226,30,246,236,246,10,20,10,29,236,0,20,0,2,2,81,2,81,2,2,193,255,255,255,255,255,255,39,255,19,255,215,255,255,255,255,255,255,255,0,2,0,12,0,154,32,0,0,143,32,1,51,50,0,1,1,1,1,3,1,2,1,1,2,2,1,2,1,3,2,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,2,2,7,3,1,3,2,2,5,1,3,1,2,3,3,3,128,10,38,0,218,0,24,11,4,0,25,54,25,129,2,216,232,244,129,31,28,54,54,20,17,16,24,18,7,0,245,232,232,218,206,206,11,24,232,56,56,229,200,0,56,56,200,200,0,24,0,232,128,2,196,0,54,129,18,197,197,197,197,236,13,13,216,242,236,0,13,243,248,21,40,58,58,58,132,20,236,234,229,229,254,255,245,250,219,242,2,242,245,232,0,35,0,245,250,255,250,47,46,0,1,1,1,1,3,1,3,3,3,2,1,1,1,1,2,1,1,3,2,2,1,1,1,4,1,1,1,1,2,3,1,2,3,1,2,4,2,2,7,4,2,3,1,2,3,1,26,20,236,236,20,0,236,236,0,196,0,216,0,9,20,20,9,216,216,196,0,236,236,240,251,20,20,9,129,17,246,236,246,10,20,10,216,19,40,0,226,30,246,236,246,10,20,10,3,246,10,30,10,129,14,30,30,10,236,0,236,227,236,236,0,236,20,246,226,226,131,21,253,246,246,0,255,255,255,255,255,255,39,255,19,255,215,255,255,255,255,255,255,255,0,0,2,0,12,0,125,32,0,0,115,32,1,41,40,0,1,1,1,4,2,1,1,2,1,2,1,1,1,1,1,1,1,2,2,2,3,1,1,2,2,2,7,3,1,3,2,2,5,1,3,1,2,3,3,3,128,39,38,0,218,24,185,0,31,66,66,20,226,186,186,199,229,246,240,232,245,24,186,216,226,232,11,24,232,56,56,229,200,0,56,56,200,200,0,24,0,232,128,13,196,0,54,0,204,204,204,241,7,30,30,0,216,244,130,0,241,130,18,50,0,50,255,245,250,219,242,2,242,245,232,0,35,0,245,250,255,250,38,37,0,1,1,1,2,2,2,1,1,3,2,2,1,3,4,3,2,1,2,2,2,3,1,2,3,1,2,4,2,2,7,4,2,3,1,2,3,1,11,20,236,236,20,247,236,30,0,241,226,10,30,129,23,20,236,30,30,0,20,246,236,246,10,20,10,216,19,40,0,226,30,246,236,246,10,20,10,3,246,10,30,10,129,5,30,30,30,249,236,226,132,20,226,0,206,255,255,255,255,255,255,39,255,19,255,215,255,255,255,255,255,255,255,0,2,0,12,0,83,32,0,0,91,32,1,28,27,0,1,1,1,1,1,1,1,2,2,2,2,2,2,7,3,1,3,2,2,5,1,3,1,2,3,3,3,128,26,38,0,218,46,53,232,226,24,214,24,232,11,24,232,56,56,229,200,0,56,56,200,200,0,24,0,232,128,2,196,0,54,134,16,49,255,245,250,219,242,2,242,245,232,0,35,0,245,250,255,250,31,30,0,1,1,1,1,1,1,1,2,2,2,1,1,2,3,1,2,3,1,2,4,2,2,7,4,2,3,1,2,3,1,30,20,236,236,20,246,216,20,50,236,40,236,20,0,246,236,246,10,20,10,216,19,40,0,226,30,246,236,246,10,20,10,3,246,10,30,10,135,18,195,255,255,255,255,255,255,39,255,19,255,215,255,255,255,255,255,255,255,0,2,0,12,0,22,32,0,0,21,32,1,6,5,1,3,2,1,1,3,5,20,48,0,235,208,235,128,4,186,159,159,186,0,6,5,0,1,3,1,1,4,128,4,238,215,238,0,41,129,3,58,82,82,24,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,60,60,181,216,131,135,3,216,216,40,40,131,135,0,128,2,0,12,0,40,32,0,0,50,0,1,0,12,11,1,3,2,1,1,3,2,3,2,1,1,3,11,20,48,0,235,208,235,20,48,0,235,208,235,1,97,27,129,7,27,97,0,186,159,159,186,0,128,22,231,196,196,196,231,0,24,60,60,60,24,0,231,196,196,196,231,0,24,60,60,60,24,131,4,136,136,171,196,220,130,3,220,196,171,136,129,8,35,60,84,120,120,120,84,60,35,132,0,128,2,0,12,0,29,32,0,0,31,0,1,0,9,8,1,3,2,1,1,3,2,1,1,8,20,48,0,235,208,235,60,181,216,1,97,27,129,1,27,97,130,128,14,231,196,196,196,231,0,24,60,60,60,24,216,216,40,40,131,4,136,136,171,196,220,130,3,220,196,171,136,135,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,0,2,0,12,0,34,32,0,0,34,32,1,10,9,0,1,1,1,2,3,2,1,1,3,9,55,59,197,201,20,48,0,235,208,235,0,156,129,6,156,0,186,159,159,186,0,10,9,0,1,1,1,1,1,3,1,1,4,9,216,196,60,40,0,238,215,238,0,41,0,120,129,0,120,129,3,58,82,82,24,128,2,0,12,0,33,32,0,0,34,0,1,0,10,9,0,1,1,1,1,1,3,1,2,2,9,59,55,201,197,0,235,208,235,20,48,128,1,100,100,130,3,69,97,97,49,15,196,216,40,60,0,17,41,41,41,17,0,238,215,215,215,238,131,128,1,136,136,130,8,231,215,197,174,174,174,197,215,231,132,128,2,0,12,0,87,0,0,0,85,32,1,0,9,53,53,53,58,73,93,104,104,104,49,129,13,245,232,232,232,229,213,204,203,203,203,201,24,65,22,129,13,245,240,0,20,48,48,48,20,0,235,208,208,208,235,131,10,156,176,169,161,176,197,224,246,43,100,100,129,11,251,246,239,235,216,207,192,176,156,120,40,36,129,2,100,100,122,129,8,227,207,186,159,159,159,186,207,227,132,27,26,0,1,1,1,1,1,1,1,3,1,3,1,1,1,1,1,1,2,1,3,1,3,1,3,1,1,4,26,216,216,216,235,0,224,196,196,236,0,20,20,11,0,18,40,40,236,226,0,236,0,238,215,238,0,41,8,40,25,30,23,40,22,247,226,181,129,9,244,223,216,228,244,241,181,236,0,181,129,3,58,82,82,24,0,128,2,0,12,0,84,0,0,0,83,0,1,0,128,19,11,24,24,24,27,43,51,53,53,53,203,203,203,197,183,163,152,152,152,206,130,17,11,16,55,232,191,234,0,235,208,208,208,235,0,20,48,48,48,20,131,129,26,4,10,17,21,40,49,63,80,100,100,80,88,95,80,60,33,10,214,156,156,0,156,156,134,136,216,221,130,8,28,49,69,97,97,97,69,49,28,132,128,40,246,236,236,236,246,0,238,216,216,216,40,40,40,21,0,32,60,60,60,38,20,0,20,20,20,20,30,26,10,0,17,41,41,41,17,0,238,215,215,215,238,131,131,24,12,33,40,28,11,15,216,216,231,227,232,216,234,9,30,51,75,75,0,75,75,75,75,20,11,130,8,231,215,197,174,174,174,197,215,231,132,128,2,0,12,0,2,0,0,0,4,0,1,0,132,132,132,0,216,131,0,0,2,0,12,0,24,32,0,0,28,32,1,4,3,1,4,4,4,0,39,66,0,140,255,217,255,116,67,0,140,255,217,255,116,0,39,8,7,0,2,2,2,3,1,2,2,128,6,211,194,211,17,46,62,46,7,194,210,0,46,62,46,0,210,128,2,0,12,0,42,0,0,0,42,0,1,0,19,20,27,229,183,236,73,27,229,15,18,227,241,38,63,193,218,241,15,29,238,131,11,23,27,229,192,23,192,229,27,36,44,181,220,131,3,36,220,181,44,131,19,192,212,36,10,64,246,212,36,247,242,3,12,216,216,40,50,12,247,253,14,131,11,219,231,19,253,219,253,25,237,218,202,23,48,131,3,208,38,23,202,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,17,0,0,0,17,0,1,8,7,1,2,2,2,2,2,2,2,7,50,216,24,232,40,206,24,232,129,1,234,60,129,1,196,22,7,206,30,236,20,226,50,236,20,129,1,34,196,129,1,60,222,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,6,0,0,0,6,0,1,0,135,128,1,170,170,132,135,128,1,88,88,132,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,24,90,232,166,131,135,3,236,201,20,55,131,135,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,90,24,166,232,131,135,3,201,236,55,20,131,135,0,128,2,0,12,0,32,0,0,0,26,32,1,0,17,232,254,24,24,24,254,232,232,242,232,198,162,162,162,198,232,242,232,131,135,8,90,90,90,43,0,213,166,166,166,132,8,7,0,4,2,2,1,3,3,1,128,6,236,0,20,0,60,0,20,130,4,171,171,0,85,85,0,128,2,0,12,0,31,32,0,0,32,0,1,0,10,9,0,1,1,3,3,1,1,1,4,2,9,24,14,24,94,24,14,24,24,232,24,128,4,166,166,0,90,90,131,17,235,235,255,227,195,195,195,227,255,235,235,255,8,19,19,19,8,255,131,128,8,85,85,85,40,0,216,171,171,171,139,128,2,0,12,0,80,0,0,0,85,32,1,0,135,6,38,56,24,24,47,47,24,135,31,247,237,232,242,246,253,0,195,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,132,195,0,253,247,243,232,237,247,131,134,8,5,10,13,13,243,243,245,248,253,137,5,88,88,90,90,90,43,131,5,250,243,243,13,13,6,131,5,214,166,166,166,167,168,134,30,29,0,3,3,1,1,1,2,1,1,1,1,1,3,3,1,2,1,3,3,1,2,3,1,3,1,2,3,3,1,2,131,5,31,29,236,18,36,21,131,15,6,20,20,50,64,64,64,64,64,64,64,64,50,20,20,6,129,9,200,192,193,200,56,56,55,54,54,56,131,11,171,171,171,194,0,5,251,0,24,85,85,85,129,0,2,0,12,0,87,32,0,0,88,32,1,29,28,0,2,1,1,1,2,1,1,1,3,3,1,3,3,2,1,2,1,1,1,2,6,2,1,1,2,1,1,2,28,254,18,22,11,8,254,59,122,122,122,122,122,122,122,59,254,9,12,22,18,254,254,230,207,206,230,199,216,254,130,4,168,167,166,166,214,129,1,13,243,129,3,90,90,88,88,131,6,248,245,243,13,13,10,0,30,29,0,3,1,3,1,2,2,1,3,1,3,2,1,2,1,3,1,3,3,3,1,1,1,1,2,1,1,1,1,3,128,15,236,236,206,200,192,192,192,192,192,192,192,192,200,206,236,236,131,5,235,220,237,20,227,225,130,129,13,85,85,85,85,24,0,251,5,0,194,171,171,171,171,130,10,56,54,54,55,56,200,200,193,192,200,0,0,128,2,0,12,0,13,0,0,0,13,0,1,6,5,1,2,2,2,2,2,5,24,170,170,232,170,232,129,0,154,129,0,102,5,236,56,56,20,56,20,129,0,74,129,0,182,128,2,0,12,0,13,0,0,0,13,0,1,6,5,1,2,2,2,2,2,5,98,232,24,98,24,98,129,0,154,129,0,102,5,212,20,236,212,236,212,129,0,74,129,0,182,128,2,0,12,0,11,0,0,0,11,0,1,0,7,85,24,24,85,232,171,171,232,131,139,7,136,236,236,136,40,120,120,40,131,139,0,128,2,0,12,0,11,0,0,0,11,0,1,0,7,26,87,87,26,173,234,234,173,131,139,7,208,128,128,208,112,12,12,112,131,139,0,128,2,0,12,0,11,0,0,0,11,0,1,0,7,90,24,24,90,232,166,166,232,131,139,7,160,220,220,160,4,64,64,4,131,139,0,128,2,0,12,0,11,0,0,0,11,0,1,0,7,24,90,90,24,166,232,232,166,131,139,7,252,192,192,252,96,36,36,96,131,139,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,7,0,0,0,7,0,1,0,135,3,48,208,208,48,131,135,3,217,39,39,217,131,0,128,2,0,12,0,7,0,0,0,7,0,1,0,135,3,48,208,208,48,131,135,3,217,39,39,217,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,7,0,0,0,7,0,1,0,135,0,88,129,0,88,131,135,0,178,129,0,178,131,0,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,133,128,0,206,131,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,9,0,0,0,7,0,1,0,128,1,50,216,64,255,116,131,135,3,136,186,0,236,131,135,0,128,2,0,12,0,10,0,0,0,7,0,1,0,0,40,64,0,140,128,0,206,131,135,3,226,246,90,40,131,135,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,35,0,0,0,35,0,1,0,0,232,129,7,232,232,172,172,232,0,24,24,129,1,196,196,132,128,3,35,221,0,115,129,5,141,0,35,221,0,115,129,0,141,131,10,20,246,246,20,20,100,100,20,0,246,246,129,1,90,90,132,128,14,236,20,0,186,10,246,70,0,236,20,0,186,10,246,70,131,0,128,2,0,12,0,33,0,0,0,36,0,1,0,129,1,60,60,129,7,232,232,24,24,84,84,24,24,133,128,0,141,129,5,115,0,221,35,0,141,129,3,115,0,221,35,131,15,10,10,176,176,10,10,20,20,246,246,166,166,246,246,20,20,131,128,14,70,246,10,186,0,20,236,0,70,246,10,186,0,20,236,131,128,2,0,12,0,20,0,0,0,20,0,1,0,7,212,4,4,212,212,156,156,212,131,128,3,40,216,0,110,129,0,146,131,7,20,236,236,20,20,120,120,20,131,128,6,236,20,0,196,10,246,60,131,0,128,2,0,12,0,20,0,0,0,20,0,1,0,7,44,44,100,100,44,44,252,252,131,128,0,146,129,3,110,0,216,40,131,7,236,236,136,136,236,236,20,20,131,128,6,60,246,10,196,0,20,236,131,0,128,2,0,12,0,5,0,0,0,5,0,1,0,1,20,236,131,133,1,216,40,131,133,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,51,66,190,205,131,135,3,226,206,50,30,131,135,0,128,2,0,12,0,11,0,0,0,11,0,1,0,139,7,48,208,208,48,48,208,208,48,131,139,7,222,34,34,222,222,34,34,222,131,0,128,2,0,12,0,15,0,0,0,15,0,1,0,143,11,48,208,208,48,48,208,208,48,48,208,208,48,131,143,11,222,34,34,222,222,34,34,222,222,34,34,222,131,0,128,2,0,12,0,47,0,0,0,44,0,1,0,129,2,41,91,123,67,0,149,0,164,0,164,0,150,2,124,91,40,133,65,0,144,0,144,131,128,18,131,176,246,41,73,81,179,186,221,17,84,125,0,206,50,51,209,209,51,131,129,0,172,71,255,75,255,40,255,57,255,86,255,86,255,57,255,41,255,77,0,174,139,128,11,100,46,242,217,216,224,34,41,43,18,213,156,130,3,224,34,34,224,131,128,2,0,12,0,13,0,0,0,13,0,1,0,131,3,55,55,201,201,131,3,48,208,208,48,135,131,3,218,218,38,38,131,3,222,34,34,222,135,0,128,2,0,12,0,47,0,0,0,44,0,1,0,129,2,41,91,122,67,0,148,0,164,0,164,0,150,2,124,91,40,133,65,0,144,0,144,131,128,18,141,183,248,41,73,81,179,186,221,17,84,125,0,206,50,51,209,209,51,131,129,0,172,71,255,75,255,39,255,56,255,86,255,86,255,57,255,41,255,77,0,174,139,128,11,110,53,244,217,216,224,34,41,43,18,213,156,130,3,224,34,34,224,131,128,2,0,12,0,64,0,0,0,53,0,1,0,129,65,0,150,0,150,133,65,0,144,0,144,129,2,41,91,123,67,0,149,0,164,0,164,0,150,2,124,91,40,135,128,64,255,126,129,64,0,130,128,21,206,50,51,209,209,51,0,131,179,250,43,73,81,179,186,221,18,84,125,0,206,50,131,129,1,156,156,137,0,172,71,255,75,255,40,255,57,255,86,255,86,255,57,255,41,255,77,0,174,135,128,0,70,129,0,186,130,16,224,34,34,224,0,100,49,246,219,216,224,34,41,43,19,213,156,134,128,2,0,12,0,29,0,0,0,22,0,1,0,132,65,255,106,255,106,130,1,40,40,131,128,2,50,206,0,64,0,130,129,64,255,126,3,39,217,217,39,131,132,1,100,100,130,65,0,190,0,190,131,131,0,186,129,4,70,213,43,43,213,131,128,2,0,12,0,67,0,0,0,35,0,1,0,129,1,40,40,79,252,204,252,204,252,204,252,204,252,204,252,54,252,54,252,204,3,52,3,52,3,52,3,52,3,52,2,158,2,158,3,52,131,7,49,207,207,49,0,50,206,0,64,0,130,129,64,255,126,128,2,50,206,0,64,0,130,129,64,255,126,131,129,65,0,190,0,190,132,1,100,100,133,65,0,140,0,140,132,3,223,33,33,223,131,0,186,129,0,70,131,0,186,129,0,70,131,0,128,2,0,12,0,64,0,0,0,67,0,1,0,7,34,32,50,23,252,7,18,9,130,18,114,114,114,78,38,26,5,38,72,69,60,76,90,90,90,234,234,234,4,135,129,11,13,65,115,111,111,111,91,70,57,57,70,33,131,6,206,154,145,145,145,207,20,129,6,20,9,0,48,208,208,48,131,7,238,236,228,227,227,0,10,4,130,18,182,182,182,201,222,223,217,227,216,210,204,204,204,204,204,22,22,22,3,135,33,227,227,217,217,215,207,207,207,202,197,224,224,1,27,51,51,51,57,51,58,71,71,71,52,31,31,31,227,227,227,222,34,34,222,131,128,2,0,12,0,88,0,0,0,87,0,1,0,47,16,18,22,24,24,24,22,18,16,13,6,3,13,9,0,252,209,162,162,162,209,252,255,6,10,0,4,13,20,27,229,183,236,73,27,229,15,18,227,241,38,63,193,218,241,15,29,238,131,138,28,2,92,90,90,90,90,43,0,213,166,166,166,165,163,253,255,0,23,27,229,192,23,192,229,27,36,44,181,220,131,3,36,220,181,44,131,47,238,238,238,238,238,238,238,238,238,243,253,2,2,253,243,238,21,62,62,62,21,238,240,245,248,248,245,241,192,212,36,10,64,246,212,36,247,242,3,12,216,216,40,50,12,247,253,14,131,139,27,171,171,171,171,171,216,0,40,85,85,85,84,83,254,255,0,219,231,19,253,219,253,25,237,218,202,23,48,131,3,208,38,23,202,131,128,2,0,12,0,104,32,0,0,99,0,1,0,35,34,2,1,3,2,1,2,1,1,2,1,2,1,3,1,1,1,1,2,2,1,3,2,1,1,1,2,1,2,3,3,1,1,1,2,2,34,54,54,94,106,80,24,80,105,94,94,54,54,6,231,246,0,4,14,186,186,226,188,132,132,188,226,226,186,14,1,246,250,6,55,201,11,225,196,0,10,13,243,243,246,0,17,60,32,130,14,88,88,90,75,60,0,243,243,13,13,0,239,196,166,168,132,132,11,40,40,40,57,36,236,236,38,58,40,40,40,133,0,237,129,23,14,38,50,57,64,64,64,104,104,104,83,64,64,83,104,104,104,64,64,64,57,50,38,14,131,3,218,218,38,38,131,129,17,225,196,197,199,200,192,193,200,200,56,56,54,54,56,58,59,60,32,132,25,171,171,171,171,171,203,231,238,250,0,2,5,5,251,251,254,0,7,19,25,53,85,85,85,85,85,138,128,2,0,12,0,133,0,0,0,112,32,1,0,15,252,253,255,0,245,248,251,252,44,93,93,93,93,93,93,111,65,0,147,0,147,52,111,93,93,93,93,93,93,44,252,251,248,246,0,255,253,252,239,225,225,225,225,225,225,208,199,218,255,255,206,199,225,225,225,225,225,225,239,189,189,232,232,40,40,206,206,182,182,232,232,50,50,216,216,131,131,25,168,167,166,166,166,214,0,5,13,17,23,13,13,243,243,233,239,244,252,0,43,90,90,90,88,88,134,5,252,243,239,244,249,254,131,4,3,10,17,13,5,130,3,60,234,234,60,131,3,22,196,196,22,135,38,37,0,3,1,3,1,2,2,1,3,1,3,2,1,2,1,3,1,3,3,3,1,1,1,1,2,1,1,1,1,3,4,2,2,2,2,2,2,2,128,15,236,236,206,200,192,192,192,192,192,192,192,192,200,206,236,236,131,5,235,220,237,20,227,225,130,7,245,20,196,20,238,20,196,20,129,13,85,85,85,85,24,0,251,5,0,194,171,171,171,171,130,12,56,44,28,20,16,240,240,224,204,200,0,34,196,129,1,60,222,129,128,2,0,12,0,16,0,0,0,16,0,1,8,7,1,2,2,2,2,2,2,2,7,24,172,172,0,172,0,55,201,129,0,170,129,0,86,129,7,236,54,54,20,54,20,218,38,129,0,78,129,0,178,129,128,2,0,12,0,28,0,0,0,28,0,1,14,13,1,2,2,2,2,2,2,2,1,2,3,2,2,2,13,50,216,14,232,40,206,14,232,232,86,24,86,24,86,129,1,234,60,129,1,196,22,130,2,154,102,0,13,196,20,0,20,196,20,0,20,20,200,236,200,236,200,129,1,34,196,129,1,60,222,130,2,74,182,0,0,2,0,12,0,27,32,0,0,26,32,1,8,7,0,2,3,3,2,1,1,3,129,5,20,48,0,235,208,235,7,48,208,23,209,182,182,209,23,8,7,0,2,2,1,3,1,1,4,130,4,238,215,238,0,41,7,222,34,218,218,20,44,44,242,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,0,2,0,12,0,49,32,0,0,48,32,1,16,15,0,2,2,2,3,3,2,1,1,3,2,3,2,1,1,3,131,11,20,48,0,235,208,235,20,48,0,235,208,235,15,48,208,48,208,50,236,209,209,236,50,50,236,209,209,236,50,16,15,0,2,2,2,2,1,3,1,1,4,2,1,3,1,1,4,132,10,238,215,238,0,41,0,238,215,238,0,41,15,228,40,216,28,218,218,20,44,44,242,218,218,20,44,44,242,0,0,2,0,12,0,64,32,0,0,60,32,1,20,19,0,1,1,1,1,1,1,1,2,3,2,1,1,3,2,3,2,1,1,3,128,1,1,1,129,14,153,153,0,20,48,0,235,208,235,20,48,0,235,208,235,4,40,70,186,216,70,129,12,186,68,254,227,227,254,68,68,254,227,227,254,68,20,19,0,1,1,1,1,1,1,1,1,1,3,1,1,4,2,1,3,1,1,4,132,1,50,50,129,10,238,215,238,0,41,0,238,215,238,0,41,19,236,216,40,20,216,10,246,40,236,236,38,62,62,4,236,236,38,62,62,4,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,0,2,0,12,0,31,32,0,0,30,32,1,10,9,0,2,2,2,3,3,2,1,1,3,131,5,20,48,0,235,208,235,9,48,208,50,210,50,236,209,209,236,50,10,9,0,2,2,2,2,1,3,1,1,4,132,4,238,215,238,0,41,9,227,40,216,27,218,218,20,44,44,242,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,85,32,0,0,105,0,1,0,28,27,0,2,2,2,3,3,2,1,1,3,2,3,2,1,1,3,2,3,2,1,1,3,2,3,2,1,1,3,131,23,20,48,0,235,208,235,20,48,0,235,208,235,20,48,0,235,208,235,20,48,0,235,208,235,5,48,208,50,210,97,27,129,9,27,97,0,186,159,159,186,0,97,27,129,7,27,97,0,186,159,159,186,0,136,46,231,196,196,196,231,0,24,60,60,60,24,0,231,196,196,196,231,0,24,60,60,60,24,0,231,196,196,196,231,0,24,60,60,60,24,0,231,196,196,196,231,0,24,60,60,60,24,131,12,228,40,40,228,216,28,28,216,136,136,171,196,220,130,3,220,196,171,136,129,14,35,60,84,120,120,120,84,60,35,0,136,136,171,196,220,130,3,220,196,171,136,129,8,35,60,84,120,120,120,84,60,35,132,0,0,2,0,12,0,49,32,0,0,64,32,1,16,15,0,2,2,2,3,3,2,1,1,3,2,3,2,1,1,3,131,11,20,48,0,235,208,235,20,48,0,235,208,235,5,88,248,90,250,97,27,129,7,27,97,0,186,159,159,186,0,20,19,1,2,2,2,1,3,1,2,1,1,1,2,1,3,1,2,1,1,1,2,2,100,0,100,129,14,196,196,0,24,60,60,24,0,196,196,0,24,60,60,24,6,80,11,67,0,136,196,220,129,10,220,196,136,0,60,84,120,120,84,60,0,0,128,2,0,12,0,63,32,0,0,66,0,1,0,20,19,0,1,1,1,1,1,1,1,2,3,2,1,1,3,2,3,2,1,1,3,129,1,123,123,129,13,255,255,20,48,0,235,208,235,20,48,0,235,208,235,1,40,186,129,5,70,216,186,70,97,27,129,7,27,97,0,186,159,159,186,0,31,239,239,229,229,239,239,3,3,0,231,196,196,196,231,0,24,60,60,60,24,0,231,196,196,196,231,0,24,60,60,60,24,131,12,236,40,246,10,216,20,40,216,136,136,171,196,220,130,3,220,196,171,136,129,8,35,60,84,120,120,120,84,60,35,132,128,2,0,12,0,64,32,0,0,66,0,1,0,20,19,0,1,1,1,1,1,1,1,2,3,2,1,1,3,2,3,2,1,1,3,128,1,1,1,129,14,133,133,0,20,48,0,235,208,235,20,48,0,235,208,235,4,40,70,186,216,70,129,2,186,97,27,129,7,27,97,0,186,159,159,186,0,128,1,236,236,129,1,10,10,129,22,231,196,196,196,231,0,24,60,60,60,24,0,231,196,196,196,231,0,24,60,60,60,24,131,12,236,216,40,20,216,10,246,40,136,136,171,196,220,130,3,220,196,171,136,129,8,35,60,84,120,120,120,84,60,35,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,17,0,0,0,17,0,1,0,128,2,100,0,156,139,131,7,48,208,208,48,48,208,208,48,131,3,236,196,20,60,139,131,7,216,28,28,216,228,40,40,228,131,0,128,2,0,12,0,21,0,0,0,21,0,1,0,128,2,100,0,156,143,131,11,48,208,208,48,48,208,208,48,48,208,208,48,131,3,246,206,30,70,143,131,11,243,54,54,243,223,33,33,223,202,13,13,202,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,103,0,0,0,101,0,1,0,132,2,241,220,216,129,9,53,53,53,58,73,93,104,104,104,49,129,13,245,232,232,232,229,213,204,203,203,203,201,24,65,22,129,13,245,240,0,20,48,48,48,20,0,235,208,208,208,235,131,20,48,208,208,48,48,27,230,208,208,48,156,176,169,161,176,197,224,246,43,100,100,129,11,251,246,239,235,216,207,192,176,156,120,40,36,129,2,100,100,122,129,8,227,207,186,159,159,159,186,207,227,132,131,2,236,250,5,130,41,216,216,216,235,0,224,196,196,196,217,236,0,10,20,20,20,11,0,18,40,40,40,236,226,230,247,0,236,236,236,0,238,215,215,215,238,0,17,41,41,41,17,131,20,216,27,27,216,226,241,23,40,40,226,40,25,30,23,40,22,247,226,205,181,181,131,9,244,223,216,228,244,241,40,181,236,245,129,2,181,181,181,129,8,24,41,58,82,82,82,58,41,24,132,0,128,2,0,12,0,87,0,0,0,86,0,1,0,45,240,244,253,0,246,249,0,4,48,94,94,94,48,4,0,247,243,253,250,243,240,236,232,232,232,236,20,27,229,183,236,73,27,229,15,18,227,241,38,63,193,218,241,15,29,238,131,129,15,255,253,163,165,166,166,166,213,0,43,90,90,90,90,92,2,135,11,23,27,229,192,23,192,229,27,36,44,181,220,131,3,36,220,181,44,131,15,20,17,13,10,10,12,17,20,238,196,196,196,238,20,15,5,129,27,5,15,20,20,20,20,20,20,192,212,36,10,64,246,212,36,247,242,3,12,216,216,40,50,12,247,253,14,131,129,14,255,254,83,84,85,85,85,40,0,216,171,171,171,171,171,136,11,219,231,19,253,219,253,25,237,218,202,23,48,131,3,208,38,23,202,131,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,0,2,0,12,0,57,32,0,0,48,32,1,20,19,1,2,2,2,2,2,2,2,1,1,3,1,1,1,1,1,4,2,1,1,19,30,196,20,186,4,172,4,172,232,254,24,254,232,232,242,232,162,232,242,232,131,3,234,60,196,22,133,5,90,90,213,166,166,0,16,15,1,2,2,2,2,2,2,2,1,4,2,2,1,3,3,1,6,246,70,246,70,236,0,236,129,6,236,0,20,0,60,0,20,131,3,34,196,60,222,130,4,171,171,0,85,85,0,0,2,0,12,0,128,32,0,0,113,32,1,42,41,0,3,3,2,1,2,1,1,1,2,3,3,1,2,1,1,2,3,2,2,1,1,1,1,1,1,2,1,1,2,1,2,1,2,2,2,2,2,2,2,2,2,20,4,31,31,57,50,1,37,57,48,31,31,4,2,0,10,8,4,163,163,163,146,65,255,109,255,109,18,146,163,163,163,163,163,4,5,11,0,2,40,206,24,36,50,216,24,36,129,1,243,253,130,2,2,5,13,131,17,88,88,90,0,244,233,243,243,13,13,23,17,5,0,214,166,166,168,131,1,234,60,129,1,196,22,38,37,0,3,3,1,1,1,2,1,1,1,1,1,3,3,1,2,1,3,3,1,2,3,1,3,1,2,3,3,1,2,2,2,2,2,2,2,2,2,37,7,7,7,7,38,36,243,25,43,28,7,7,7,7,13,27,27,57,71,71,71,71,71,71,71,71,57,27,27,13,10,90,0,60,10,90,0,60,129,9,170,186,218,240,16,16,24,40,66,86,131,11,171,171,171,194,0,5,251,0,24,85,85,85,131,1,34,196,129,1,60,222,0,128,2,0,12,0,27,0,0,0,27,0,1,14,13,1,2,2,2,2,2,2,2,2,2,2,2,2,2,13,30,196,20,186,4,222,4,222,24,170,170,232,170,232,131,3,234,60,196,22,129,0,154,129,0,102,13,246,70,246,70,236,216,236,216,236,56,56,20,56,20,131,3,34,196,60,222,129,0,74,129,0,182,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,114,0,0,0,113,0,1,0,58,53,53,53,58,73,93,104,104,104,55,10,235,191,169,169,24,24,22,18,13,10,250,232,232,232,229,213,204,203,203,203,25,25,233,233,41,41,207,207,51,51,217,217,25,25,169,169,0,20,48,48,48,20,0,235,208,208,208,235,131,18,156,176,169,161,176,194,217,236,37,100,100,101,71,16,234,234,239,248,253,130,12,246,236,232,234,216,207,192,176,156,60,234,234,60,135,3,22,196,196,22,129,8,227,207,186,159,159,159,186,207,227,132,12,216,216,216,235,0,224,196,196,196,223,246,24,23,129,29,204,204,241,25,36,10,15,20,20,20,11,0,18,40,40,40,236,236,20,20,226,226,50,50,206,206,30,30,236,236,130,10,238,215,215,215,238,0,17,41,41,41,17,131,18,40,25,30,23,40,19,240,216,199,181,181,181,198,225,237,49,59,48,23,130,12,251,246,237,222,216,228,244,241,40,196,34,34,196,135,3,222,60,60,222,129,8,24,41,58,82,82,82,58,41,24,132,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,55,0,0,0,55,0,1,28,27,0,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,131,23,50,216,24,232,40,206,24,232,50,216,24,232,40,206,24,232,50,216,24,232,40,206,24,232,3,60,234,23,196,129,1,234,60,129,1,196,22,129,1,234,60,129,1,196,22,129,1,234,60,129,1,196,22,131,23,206,30,236,20,226,50,236,20,206,30,236,20,226,50,236,20,206,30,236,20,226,50,236,20,3,196,34,222,60,129,1,34,196,129,1,60,222,129,1,34,196,129,1,60,222,129,1,34,196,129,1,60,222,128,2,0,12,0,71,0,0,0,71,0,1,36,35,0,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,131,31,50,216,24,232,40,206,24,232,50,216,24,232,40,206,24,232,50,216,24,232,40,206,24,232,50,216,24,232,40,206,24,232,3,22,196,60,234,129,1,234,60,129,1,196,22,129,1,234,60,129,1,196,22,129,1,234,60,129,1,196,22,129,1,234,60,129,1,196,22,131,31,206,30,236,20,226,50,236,20,206,30,236,20,226,50,236,20,206,30,236,20,226,50,236,20,206,30,236,20,226,50,236,20,3,222,60,196,34,129,1,34,196,129,1,60,222,129,1,34,196,129,1,60,222,129,1,34,196,129,1,60,222,129,1,34,196,129,1,60,222,128,2,0,12,0,23,0,0,0,23,0,1,12,11,0,2,2,2,3,2,2,2,2,2,2,2,131,7,50,216,24,232,40,206,24,232,3,28,196,62,230,129,1,234,60,129,1,196,22,131,7,206,30,236,20,226,50,236,20,3,228,60,198,30,129,1,34,196,129,1,60,222,128,2,0,12,0,42,0,0,0,40,32,1,0,13,57,50,216,223,24,24,232,232,40,40,206,206,30,28,129,3,24,24,232,232,131,0,86,129,4,86,60,234,234,60,131,0,86,129,4,86,22,196,196,22,131,12,11,0,1,1,1,2,2,2,2,1,2,3,2,7,199,206,30,23,236,20,226,50,129,1,236,20,0,178,129,2,178,34,196,129,3,178,0,60,222,0,128,2,0,12,0,76,0,0,0,79,32,1,0,0,233,129,36,250,7,25,25,25,255,233,233,243,233,199,163,163,163,199,233,243,24,24,232,232,40,40,206,206,57,50,216,223,24,24,232,232,30,30,216,232,131,5,86,20,241,14,13,252,132,3,90,90,90,43,132,3,60,234,234,60,131,0,86,129,5,86,22,196,196,22,86,129,0,86,131,25,24,0,1,2,1,2,3,2,1,3,3,1,2,2,2,2,1,1,1,1,2,2,1,1,1,1,24,24,176,165,196,234,254,18,254,58,254,18,236,20,226,50,199,206,30,23,236,20,0,2,20,24,3,178,248,20,16,129,6,171,171,0,41,41,34,196,129,0,178,129,3,178,60,222,178,129,0,178,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,24,0,0,0,24,0,1,0,1,23,233,129,1,23,233,129,3,24,90,232,166,131,7,48,208,208,48,48,208,208,48,135,1,244,6,129,1,231,251,129,3,236,201,20,55,131,7,216,27,27,216,226,40,40,226,135,0,128,2,0,12,0,32,0,0,0,32,0,1,0,1,23,233,129,1,23,233,137,3,24,90,232,166,131,15,48,208,208,48,48,208,208,48,48,208,208,48,48,208,208,48,135,1,244,6,129,1,231,251,137,3,236,201,20,55,131,15,216,27,27,216,226,40,40,226,216,27,27,216,226,40,40,226,135,0,128,2,0,12,0,26,0,0,0,23,0,1,0,129,65,0,175,0,175,1,26,26,129,3,24,90,232,166,131,128,6,131,5,251,119,255,211,45,135,129,9,185,185,239,239,255,255,236,201,20,55,131,7,236,40,246,10,228,37,40,216,135,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,9,0,0,0,9,0,1,4,3,0,2,3,2,129,1,55,201,0,86,129,0,70,129,1,218,38,0,178,129,0,178,128,2,0,12,0,7,0,0,0,7,0,1,0,135,0,86,129,0,86,131,135,0,178,129,0,178,131,0,128,2,0,12,0,4,0,0,0,4,0,1,0,132,0,96,131,132,0,173,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,91,0,0,0,82,32,1,0,47,24,24,232,232,170,170,20,56,94,94,94,65,40,170,170,10,250,232,232,232,223,216,24,24,170,170,230,230,10,10,170,170,0,45,94,94,94,54,20,170,170,0,244,232,232,232,25,70,131,132,14,154,154,154,186,216,3,51,51,51,4,4,4,252,246,251,133,13,35,231,231,35,4,205,205,205,249,30,63,102,102,102,130,4,4,10,8,4,4,131,28,27,1,2,2,1,3,3,1,2,3,2,1,2,2,2,2,2,1,1,1,1,1,1,1,1,2,3,2,1,27,187,69,56,0,196,0,56,100,20,9,0,236,56,56,30,56,0,232,196,196,196,232,0,56,0,20,61,100,129,5,64,64,20,224,224,242,134,12,32,32,32,8,246,222,192,192,192,0,10,14,14,128,2,0,12,0,42,0,0,0,36,0,1,0,25,24,24,232,232,246,14,14,14,1,246,238,225,222,49,39,8,246,201,148,148,148,226,235,243,222,233,131,140,10,80,86,94,94,94,45,0,162,162,162,169,133,11,186,186,70,70,0,236,236,236,246,0,249,248,132,3,25,56,56,56,136,138,12,2,5,205,190,175,175,175,217,0,81,81,81,81,133,0,0,2,0,12,0,41,32,0,0,50,32,1,14,13,1,2,1,4,2,3,1,1,1,1,3,3,3,1,13,24,232,0,24,0,232,56,47,18,0,156,0,8,252,133,7,70,98,98,98,0,158,166,5,18,17,1,2,1,1,3,1,1,3,1,3,1,1,1,3,3,1,1,1,17,184,72,50,16,236,247,0,30,246,0,29,60,60,50,15,20,28,42,134,7,226,186,176,176,217,0,80,80,130,0,128,2,0,12,0,46,0,0,0,40,0,1,0,29,216,10,40,0,206,0,30,246,246,14,14,14,1,246,238,225,222,49,39,8,246,201,148,148,148,226,235,243,222,233,131,144,10,80,86,94,94,94,45,0,162,162,162,169,133,0,80,129,12,80,60,236,236,60,0,236,236,236,246,0,249,248,132,3,25,56,56,56,136,142,12,2,5,205,190,175,175,175,217,0,81,81,81,81,133,0,128,2,0,12,0,75,32,0,0,54,0,1,26,25,1,4,4,4,3,1,1,1,1,1,1,1,1,1,3,1,2,3,2,1,1,1,1,1,1,1,24,23,5,8,3,1,1,1,1,1,1,1,1,1,3,1,2,3,2,1,1,1,1,1,1,1,23,24,232,240,24,10,216,16,40,246,232,0,48,104,48,209,152,10,24,229,216,246,40,27,232,129,21,58,0,236,20,58,20,236,0,156,156,45,100,100,211,20,0,198,236,20,236,198,0,25,250,236,6,20,21,237,236,20,236,236,20,20,0,241,221,241,16,35,236,237,21,20,20,236,237,21,25,236,6,20,250,238,22,0,216,235,216,0,19,36,36,240,220,220,16,0,234,18,40,0,40,20,236,0,128,2,0,12,0,85,0,0,0,83,0,1,0,9,24,24,232,232,0,10,23,24,12,5,129,31,48,98,98,98,86,66,165,217,24,24,24,7,10,254,250,235,54,49,19,10,206,158,158,158,155,154,66,27,232,232,232,243,131,133,16,251,246,141,151,162,162,162,192,221,237,17,30,121,102,60,20,19,130,16,1,12,89,88,94,94,94,59,20,14,248,247,161,177,186,221,238,132,3,187,187,69,69,129,37,236,236,248,247,6,0,216,190,190,190,197,206,0,249,236,236,236,6,30,15,33,20,226,249,8,30,48,66,66,66,60,50,31,22,20,20,20,252,131,133,14,2,0,81,82,81,81,81,55,20,251,233,231,215,224,8,132,16,247,0,175,168,175,175,175,204,236,6,9,10,8,3,234,10,14,132,0,128,2,0,12,0,68,32,0,0,67,0,1,0,23,22,0,2,2,2,2,4,2,1,1,1,2,2,3,2,2,1,2,1,1,1,1,2,1,131,18,45,24,49,58,97,106,94,11,166,11,94,94,110,105,65,93,94,232,232,3,38,218,42,214,131,9,225,210,211,88,0,168,59,84,46,34,129,2,70,0,251,3,236,236,20,20,129,32,20,20,216,226,236,236,236,225,216,207,192,198,206,206,206,12,40,70,70,70,10,206,206,206,206,203,195,211,226,206,206,20,20,131,4,208,40,40,208,196,129,0,196,138,8,186,166,166,166,212,0,110,110,110,64,0,170,0,100,140,128,2,0,12,0,50,0,0,0,50,0,1,0,21,20,39,39,39,35,30,11,238,232,79,71,45,30,235,173,173,173,0,253,253,232,255,139,134,12,22,40,100,97,94,94,94,45,0,162,162,162,169,129,7,24,232,232,24,24,232,232,24,131,18,236,236,236,236,242,246,242,247,0,20,15,255,246,21,56,56,56,236,245,129,0,248,139,134,12,24,45,225,201,175,175,175,217,0,81,81,81,81,129,7,216,20,20,216,236,40,40,236,131,0,0,2,0,12,0,60,32,0,0,54,32,1,19,18,0,3,3,3,1,2,1,3,1,2,2,2,2,2,2,2,2,2,2,128,0,24,129,14,66,20,0,156,156,0,206,0,232,0,165,0,252,0,232,1,49,30,129,7,72,98,98,30,243,207,49,160,130,3,208,48,0,96,18,17,0,3,3,2,1,1,1,2,3,2,5,2,2,2,2,2,2,2,128,16,236,30,55,60,60,57,40,70,34,216,20,216,40,216,20,216,20,10,226,231,0,10,20,196,187,176,241,50,78,133,0,178,128,2,0,12,0,63,0,0,0,53,0,1,0,25,49,49,49,246,234,222,222,230,241,246,187,187,187,0,6,231,14,49,49,49,187,187,187,196,216,231,135,64,255,116,0,60,131,5,98,98,98,98,98,60,64,255,116,16,1,155,152,160,162,176,176,176,176,203,241,3,0,42,214,214,42,131,25,214,214,214,246,0,10,10,4,251,246,22,22,22,226,226,246,229,214,214,214,22,22,22,16,1,246,135,133,5,181,181,181,181,181,221,129,4,71,71,66,50,31,131,6,253,253,0,216,40,40,216,131,0,128,2,0,12,0,18,0,0,0,18,0,1,8,7,1,2,2,2,2,2,2,2,7,24,0,24,170,24,16,24,232,1,232,24,129,3,205,51,0,102,7,236,20,236,56,236,0,236,20,1,20,218,129,3,33,223,0,192,128,2,0,12,0,80,0,0,0,67,32,1,0,41,4,4,212,212,212,212,212,212,246,16,14,14,14,0,246,233,220,225,49,37,7,246,198,148,148,148,209,246,244,242,242,222,222,238,66,66,222,222,246,246,222,222,131,130,3,223,244,196,244,130,0,17,132,14,12,23,103,99,94,94,94,44,0,225,162,162,162,162,162,131,6,206,206,0,52,206,206,52,131,22,21,0,2,1,1,1,1,2,4,1,1,2,1,1,3,3,3,3,1,4,2,2,2,11,177,59,59,255,255,59,0,236,246,0,18,20,129,0,56,129,4,20,190,20,0,20,129,3,236,226,34,47,131,11,250,246,195,175,0,81,81,0,30,0,30,222,128,2,0,12,0,106,0,0,0,92,32,1,0,128,16,49,98,98,98,52,10,253,218,199,24,21,14,10,251,232,232,232,130,31,11,24,24,24,31,30,30,0,212,158,158,158,209,0,6,236,245,232,229,7,24,24,232,232,50,14,225,5,24,24,232,232,131,9,236,251,52,80,86,94,94,94,87,81,132,4,245,236,224,216,226,129,30,1,1,22,39,41,30,30,18,221,191,177,162,162,162,146,138,0,252,0,29,227,227,29,0,232,232,0,29,227,227,29,131,30,29,0,3,2,1,3,1,2,1,3,1,1,1,4,3,2,2,1,3,3,1,1,1,2,2,1,1,1,1,2,2,29,200,200,244,30,236,236,251,0,20,20,60,60,236,196,56,56,56,0,20,20,17,5,236,20,236,196,40,80,236,20,4,100,20,170,170,176,130,10,40,45,50,40,216,206,216,244,0,86,80,130,7,40,216,0,40,40,0,40,216,0,128,2,0,12,0,57,0,0,0,41,0,1,0,1,60,60,131,18,206,206,216,216,235,24,64,90,90,232,232,231,227,221,24,24,170,170,110,64,0,144,1,42,232,131,13,25,231,231,25,25,231,231,25,40,188,188,171,167,203,129,3,224,227,6,40,132,1,214,172,132,137,17,242,222,209,202,202,20,20,18,12,5,236,236,56,56,176,9,89,20,131,13,196,20,20,196,196,20,20,196,0,80,80,66,44,16,138,1,180,180,132,0,0,2,0,12,0,64,32,0,0,50,32,1,20,19,1,1,1,1,4,2,2,1,3,3,1,1,1,1,2,2,2,2,2,2,128,18,4,24,24,245,232,84,84,0,172,172,178,212,0,24,232,9,247,9,247,3,143,178,197,236,129,8,60,0,74,236,192,160,158,158,158,129,2,60,0,60,17,16,1,1,2,2,4,4,2,1,2,2,2,2,2,2,2,2,2,16,196,214,236,246,20,200,0,34,70,53,0,236,20,250,44,235,29,1,98,93,130,6,205,150,150,0,59,78,78,132,128,2,0,12,0,71,0,0,0,66,32,1,0,2,12,12,6,131,15,10,20,255,238,244,78,68,37,20,214,136,136,136,136,143,151,64,255,51,11,12,12,244,244,12,12,244,244,12,12,244,244,131,128,2,160,185,232,135,5,70,85,102,102,102,49,129,2,232,185,160,129,10,160,160,0,24,232,232,24,24,232,232,24,131,21,20,1,3,3,1,3,1,1,1,1,2,1,1,2,1,1,2,2,2,2,2,2,13,236,236,11,40,20,236,250,35,60,60,60,60,60,60,129,4,20,236,0,236,0,0,68,130,16,246,211,197,183,183,181,181,0,51,68,0,68,0,20,216,40,236,128,2,0,12,0,51,0,0,0,46,0,1,0,18,30,44,53,53,53,203,203,203,223,240,236,1,12,22,234,239,7,24,24,129,1,24,24,133,129,1,222,186,129,18,186,176,164,158,158,158,157,162,251,254,0,32,234,230,28,32,234,230,28,131,128,17,246,236,236,236,56,56,56,48,24,0,5,15,20,20,15,5,236,236,129,1,236,236,133,133,7,75,75,75,75,75,75,75,75,130,7,186,20,20,186,246,80,80,246,131,128,2,0,12,0,21,0,0,0,21,32,1,10,9,0,1,3,1,2,1,3,1,3,2,9,24,24,232,232,94,94,162,162,24,232,128,6,60,210,60,0,60,46,60,129,6,5,1,3,4,3,4,2,5,236,20,210,46,216,40,128,2,20,0,195,129,128,2,0,12,0,39,32,0,0,37,0,1,0,12,11,1,2,1,1,2,1,1,2,2,2,2,2,11,24,232,81,166,203,176,91,83,24,178,78,232,2,231,25,0,64,0,252,129,64,255,4,132,131,64,255,102,2,74,54,54,64,0,154,10,182,202,202,236,236,54,54,202,202,20,20,131,6,206,50,50,206,0,36,36,129,1,220,220,140,0,0,2,0,12,0,51,32,0,0,37,32,1,16,15,1,2,2,1,1,1,1,2,1,2,1,2,2,2,2,2,15,24,232,170,20,56,94,94,56,20,170,20,232,232,20,24,170,8,231,25,204,204,204,243,25,102,102,129,2,14,37,50,129,12,11,0,2,3,1,4,2,2,1,3,3,2,2,129,9,56,0,186,0,56,0,20,0,236,56,5,206,50,24,24,215,192,130,0,216,129,0,2,0,12,0,57,32,0,0,41,32,1,18,17,1,2,2,2,2,1,1,1,1,2,1,2,1,2,2,2,2,2,17,24,232,24,232,170,20,56,94,94,56,20,170,20,232,232,20,24,170,10,231,25,231,25,204,204,204,243,25,102,102,129,2,14,37,50,129,14,13,0,2,2,2,3,1,4,2,2,1,3,3,2,2,131,9,56,0,186,0,56,0,20,0,236,56,7,226,0,236,10,24,24,215,192,130,0,216,129,0,2,0,12,0,57,32,0,0,41,32,1,18,17,1,2,2,2,2,1,1,1,1,2,1,2,1,2,2,2,2,2,17,24,0,24,0,170,20,56,94,94,56,20,170,20,232,232,20,24,170,10,231,25,204,50,204,204,204,243,25,102,102,129,2,14,37,50,129,14,13,0,2,2,2,3,1,4,2,2,1,3,3,2,2,131,9,56,0,186,0,56,0,20,0,236,56,7,196,20,216,20,24,24,215,192,130,0,216,129,128,2,0,12,0,110,0,0,0,106,0,1,0,128,12,6,0,245,226,229,0,44,80,80,80,72,54,21,130,36,241,236,232,232,242,215,206,175,152,152,152,180,220,232,232,232,232,250,100,70,246,0,24,24,185,185,185,185,0,38,78,78,78,38,0,185,185,138,130,13,153,156,158,158,158,183,216,244,16,30,60,72,70,40,131,12,98,98,98,98,88,70,49,1,216,207,209,206,224,129,1,216,216,132,9,43,213,213,213,251,31,57,86,86,86,130,4,10,20,31,43,43,131,131,9,245,231,226,216,206,206,206,210,226,234,132,41,11,20,20,26,30,50,70,70,70,62,50,25,20,20,20,9,226,40,100,30,236,236,60,60,10,10,40,10,236,236,236,10,40,10,10,40,40,40,40,40,40,40,131,130,13,80,80,80,80,80,60,40,33,20,20,33,22,30,15,131,12,176,176,176,176,202,226,232,249,246,2,240,236,245,136,9,216,40,40,40,18,0,218,176,176,176,132,2,237,216,216,131,0,128,2,0,12,0,62,0,0,0,62,32,1,0,29,24,24,0,46,94,94,94,46,0,24,246,246,239,232,232,232,244,0,101,85,236,232,24,24,232,232,24,24,232,232,131,17,50,206,206,206,237,10,52,100,100,100,100,110,98,55,30,40,50,50,131,4,49,1,1,49,100,129,0,100,131,20,19,1,1,2,1,3,1,2,2,1,1,1,1,1,1,1,1,2,2,2,2,19,236,0,196,196,0,236,0,20,20,20,9,0,196,196,20,20,236,20,236,20,11,249,249,241,236,192,192,182,201,216,202,185,185,131,3,23,163,0,192,0,0,2,0,12,0,37,32,0,0,32,32,1,12,11,1,2,2,2,2,2,2,2,2,2,2,2,11,72,232,24,184,24,232,24,214,42,232,24,232,131,2,176,0,236,129,2,20,0,80,12,11,1,2,2,2,2,2,1,2,2,2,3,2,11,186,20,236,70,28,20,28,28,228,228,236,228,134,1,50,206,130,0,128,2,0,12,0,60,0,0,0,59,32,1,0,2,12,12,6,131,24,10,20,255,238,244,78,68,37,20,214,136,136,136,136,143,151,151,12,12,244,244,12,12,244,244,131,128,2,160,185,232,135,5,70,85,102,102,102,49,129,2,232,185,160,129,6,160,160,0,24,232,232,24,131,19,18,1,3,3,1,3,1,1,1,1,2,1,1,2,1,1,2,2,1,2,16,236,236,11,40,20,236,250,35,60,60,60,60,60,60,100,0,20,129,0,68,130,14,246,211,197,183,183,181,181,0,51,68,0,68,0,198,58,128,2,0,12,0,17,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,53,203,24,232,24,232,2,100,0,100,64,0,200,128,0,100,5,218,38,236,20,236,20,5,252,0,252,188,0,192,0,128,2,0,12,0,27,0,0,0,34,0,1,0,135,7,55,55,201,201,24,24,232,232,131,7,27,229,229,27,27,229,229,27,131,0,102,129,0,102,131,15,236,236,20,20,236,236,20,20,218,218,38,38,236,236,20,20,131,7,206,50,50,206,176,20,20,176,131,0,192,129,0,192,131,128,2,0,12,0,52,0,0,0,45,0,1,0,10,24,24,232,232,84,24,156,236,236,25,231,129,1,186,70,129,6,25,231,20,20,100,232,172,131,3,24,232,232,24,130,1,176,176,129,65,0,128,0,128,129,65,0,128,0,128,129,1,176,176,134,131,6,226,236,40,0,10,236,20,129,1,30,226,129,6,236,20,246,0,216,20,30,131,3,216,60,60,216,130,1,90,90,129,1,166,166,129,1,166,166,129,1,90,90,134,128,2,0,12,0,33,0,0,0,40,0,1,0,135,11,60,24,159,5,251,97,232,196,55,55,201,201,131,7,8,216,216,8,24,232,232,24,130,1,151,151,131,1,146,146,132,10,236,236,20,20,236,236,20,20,218,236,70,129,6,186,20,38,218,218,38,38,131,8,206,50,50,206,186,30,30,186,196,129,1,60,60,129,0,196,135,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,22,32,0,0,15,0,1,0,6,5,1,2,2,2,2,2,5,24,232,24,232,24,232,5,208,48,208,48,208,48,143,11,222,34,34,222,222,34,34,222,222,34,34,222,131,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,29,0,0,0,26,0,1,0,12,10,16,241,24,59,59,59,197,197,197,206,226,241,131,11,1,155,152,160,162,176,255,255,176,203,241,3,132,11,236,236,0,239,224,224,224,32,32,32,26,11,132,128,4,71,71,66,50,31,131,1,253,253,132,128,2,0,12,0,27,0,0,0,23,32,1,0,12,59,59,59,0,244,232,232,240,251,0,197,197,197,131,128,0,60,131,5,98,98,98,98,98,60,132,7,6,1,2,2,1,2,1,2,6,224,0,20,20,5,0,32,130,3,181,181,181,221,0,128,2,0,12,0,10,0,0,0,9,0,1,4,3,1,2,2,2,3,24,232,24,182,128,2,96,50,0,3,236,20,236,64,1,34,222,129,0,128,2,0,12,0,25,0,0,0,25,0,1,0,128,2,103,0,153,147,131,15,38,218,218,38,38,218,218,38,38,218,218,38,38,218,218,38,131,128,2,176,0,80,147,131,15,246,70,70,246,186,10,10,186,206,30,30,206,226,50,50,226,131,0,128,2,0,12,0,15,32,0,0,13,0,1,0,4,3,1,2,2,2,3,49,207,24,232,129,1,208,48,3,210,210,46,46,135,131,3,221,33,33,221,131,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,24,232,1,208,48,1,236,20,1,34,222,128,2,0,12,0,19,0,0,0,19,0,1,0,7,215,232,41,24,41,232,215,24,131,6,65,0,191,0,65,0,191,132,6,60,0,196,0,196,0,60,132,128,6,196,0,60,0,60,0,196,131,0,0,2,0,12,0,34,32,0,0,53,32,1,10,9,1,2,2,3,3,3,3,3,3,3,9,24,232,15,36,241,220,15,36,241,220,9,208,48,36,241,220,15,36,241,220,15,17,16,0,2,2,2,2,2,1,1,2,1,2,1,2,2,1,2,1,130,13,209,209,0,18,47,47,18,237,209,209,0,18,47,47,16,208,48,195,223,4,32,32,4,223,195,226,253,36,63,63,17,253,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,1,2,2,2,3,24,232,24,232,3,208,48,208,48,3,236,20,236,20,3,40,228,28,216,128,2,0,12,0,15,0,0,0,15,0,1,8,7,0,1,1,1,2,2,2,2,7,24,85,232,171,24,232,24,232,131,3,208,48,208,48,7,216,216,40,40,236,20,236,20,131,3,28,216,40,228,128,2,0,12,0,24,0,0,0,20,0,1,0,1,24,24,65,0,156,0,156,3,24,24,232,232,131,128,6,131,5,251,125,0,211,45,131,7,216,216,20,20,216,216,40,40,131,1,236,40,129,3,216,20,40,216,131,0,128,2,0,12,0,20,0,0,0,20,0,1,0,7,232,24,24,232,232,140,140,232,131,128,6,45,211,0,125,251,5,131,131,7,40,216,216,40,40,20,20,40,131,4,236,216,40,20,216,129,0,40,131,0,128,2,0,12,0,28,0,0,0,28,0,1,0,11,21,21,113,113,21,21,229,229,20,20,233,233,131,11,50,181,5,251,75,206,211,45,48,208,208,48,131,11,236,236,156,156,236,236,20,20,235,235,24,24,131,1,236,40,129,7,216,20,40,216,216,28,28,216,131,0,128,2,0,12,0,28,0,0,0,28,0,1,0,11,235,27,27,235,235,143,143,235,23,23,236,236,131,11,50,45,211,206,75,251,5,181,48,208,208,48,131,11,20,236,236,20,20,100,100,20,232,232,21,21,131,4,236,216,40,20,216,129,4,40,216,28,28,216,131,0,0,2,0,12,0,21,32,0,0,21,32,1,6,5,1,2,2,2,2,2,5,49,207,24,232,24,232,129,3,208,48,208,48,6,5,1,2,1,2,3,2,1,214,42,129,1,236,20,129,3,218,38,34,222,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,51,0,0,0,64,32,1,0,29,24,24,24,13,0,245,228,5,41,50,46,69,88,88,88,232,232,232,243,0,254,14,246,215,212,216,190,168,168,168,131,133,6,246,196,146,145,145,145,197,135,6,7,55,107,111,111,111,59,133,20,19,0,1,2,1,2,1,1,1,1,3,2,1,3,2,1,1,1,1,1,2,19,236,236,251,10,3,0,245,223,212,202,20,20,246,255,0,11,25,34,45,56,19,216,40,40,40,43,40,44,60,60,20,40,216,216,213,216,212,196,196,196,236,128,2,0,12,0,10,0,0,0,9,0,1,4,3,1,2,2,2,3,24,232,74,232,128,2,96,50,0,3,236,20,192,20,1,34,222,129,0,128,2,0,12,0,15,0,0,0,15,0,1,0,7,24,74,182,232,95,251,5,161,131,132,1,80,80,132,4,226,236,20,30,236,129,0,20,131,132,1,196,196,132,0,128,2,0,12,0,94,0,0,0,53,32,1,0,51,20,22,24,24,24,22,20,7,254,241,15,3,249,236,235,232,232,232,235,236,249,3,15,241,254,7,226,250,27,25,25,27,250,226,210,191,191,191,210,30,46,66,66,66,46,30,6,230,231,231,230,6,131,135,0,249,129,0,249,136,0,7,129,4,7,0,180,180,230,129,16,26,74,74,74,34,0,222,180,180,180,222,0,34,74,74,74,26,129,1,230,180,131,18,17,0,4,2,7,4,2,7,2,2,1,2,3,3,4,2,2,2,1,128,0,236,129,13,20,0,31,5,1,5,31,65,226,192,226,252,0,252,133,11,80,35,0,220,176,0,80,219,176,220,0,35,0,2,0,12,0,28,32,0,0,15,32,1,8,7,0,1,3,1,2,1,3,1,7,24,24,232,232,102,102,154,154,128,6,50,0,50,0,50,98,50,4,3,2,3,4,3,3,236,20,214,42,129,1,176,0,0,128,2,0,12,0,58,0,0,0,47,0,1,0,25,59,59,59,0,244,232,232,240,251,0,197,197,197,10,16,241,24,59,59,59,197,197,197,206,226,241,131,64,255,116,0,60,131,5,98,98,98,98,98,60,64,255,116,11,1,155,152,160,162,176,176,176,176,203,241,3,132,24,224,224,224,0,10,20,20,14,5,0,32,32,32,236,236,0,239,224,224,224,32,32,32,26,11,132,133,5,181,181,181,181,181,221,129,4,71,71,66,50,31,131,1,253,253,132,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,10,0,0,0,10,0,1,6,5,1,2,2,2,2,2,5,61,195,61,195,24,232,132,0,102,5,212,20,236,44,236,20,132,0,182,128,2,0,12,0,32,0,0,0,32,0,1,0,13,196,24,125,24,180,0,24,24,232,232,24,24,232,232,131,4,226,168,0,102,34,129,3,168,168,0,102,129,0,102,131,13,70,236,176,236,70,20,236,236,40,40,236,236,40,40,131,10,78,78,255,192,192,1,0,78,78,0,192,129,0,192,131,0,128,2,0,12,0,25,0,0,0,25,0,1,0,11,34,24,180,225,225,40,196,160,40,40,232,232,131,130,1,166,166,130,0,102,129,0,102,131,7,196,226,30,236,246,236,60,34,129,1,20,20,131,130,1,120,120,130,0,192,129,0,192,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,9,0,0,0,9,0,1,4,3,1,2,2,2,3,24,182,24,232,129,1,158,0,3,236,64,236,20,129,1,68,0,0,2,0,12,0,100,32,0,0,55,32,1,32,31,0,1,1,1,4,1,3,1,4,1,1,1,2,1,1,2,1,1,4,1,3,1,4,1,1,1,2,1,1,2,1,1,128,30,42,0,214,232,232,232,232,232,17,65,65,17,232,193,143,143,193,24,24,24,24,24,65,113,113,65,24,241,191,191,241,128,30,190,0,60,0,255,0,255,183,183,222,0,73,73,73,0,222,183,255,254,255,251,182,182,221,255,70,70,70,255,221,182,17,16,0,1,1,1,5,6,3,3,3,3,6,2,2,5,3,3,3,16,249,219,249,23,253,17,245,223,25,47,229,239,249,221,199,1,23,128,2,30,0,226,129,3,60,229,196,27,129,4,253,60,228,194,27,0,0,2,0,12,0,85,32,0,0,81,32,1,28,27,0,1,1,1,2,3,3,3,2,1,3,1,2,3,6,6,2,3,1,2,2,1,7,6,3,3,1,5,27,15,57,10,224,250,0,241,236,246,15,47,15,220,189,24,0,12,85,85,12,185,185,20,232,18,43,18,209,3,20,209,236,41,131,5,194,194,28,62,62,228,129,4,185,0,32,69,32,130,3,194,28,62,228,27,26,0,1,1,1,2,3,3,3,3,3,1,5,6,2,2,5,3,3,3,3,3,3,3,3,3,1,5,26,249,219,249,23,241,236,250,0,232,216,232,20,236,246,0,228,206,8,30,5,0,14,20,252,236,252,40,3,236,10,20,246,131,3,40,238,216,18,129,4,253,60,228,194,27,131,3,40,238,216,18,128,2,0,12,0,19,0,0,0,19,0,1,0,147,15,38,218,218,38,38,218,218,38,38,218,218,38,38,218,218,38,131,147,15,246,70,70,246,186,10,10,186,206,30,30,206,226,50,50,226,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,22,0,0,0,18,0,1,0,131,7,110,176,80,146,49,49,207,207,131,132,65,0,130,0,130,129,1,100,100,132,131,7,14,54,202,242,212,212,44,44,131,132,65,254,246,254,246,136,0,128,2,0,12,0,25,0,0,0,21,0,1,0,129,65,0,171,0,171,133,1,100,100,131,5,1,147,81,177,111,1,129,3,50,208,208,50,131,129,65,255,31,255,31,139,5,1,254,214,44,4,1,129,3,224,34,34,224,131,0,128,2,0,12,0,26,0,0,0,20,0,1,0,129,3,146,80,176,110,129,3,49,49,207,207,131,130,65,255,126,255,126,130,0,156,129,0,156,131,129,3,242,202,54,14,129,3,212,212,44,44,131,130,65,1,10,1,10,138,0,128,2,0,12,0,25,0,0,0,21,0,1,0,132,65,255,85,255,85,128,1,156,156,133,0,1,129,8,1,111,177,81,147,50,208,208,50,131,132,65,0,225,0,225,136,0,1,129,8,1,4,44,214,254,224,34,34,224,131,0,128,2,0,12,0,43,0,0,0,48,0,1,0,129,1,96,96,129,4,251,251,0,5,5,129,6,160,160,0,211,211,45,45,131,5,1,157,81,177,101,1,129,0,1,129,8,1,101,177,81,157,50,208,208,50,131,129,65,255,121,255,121,129,4,251,251,0,5,5,129,65,0,135,0,135,128,3,95,95,144,144,131,5,1,254,214,44,4,1,129,0,1,129,8,1,4,44,214,254,224,34,34,224,131,128,2,0,12,0,38,0,0,0,38,0,1,0,131,3,110,176,80,146,129,3,146,80,176,110,129,3,49,49,207,207,131,132,65,0,130,0,130,131,65,255,126,255,126,130,3,168,70,70,168,131,131,3,14,54,202,242,129,3,242,202,54,14,129,3,212,212,44,44,131,132,65,255,70,255,70,131,65,0,186,0,186,130,3,30,164,164,30,131,0,128,2,0,12,0,43,0,0,0,43,0,1,0,135,3,110,176,80,146,129,3,146,80,176,110,129,3,49,49,207,207,131,0,98,129,0,98,132,65,0,130,0,130,131,65,255,126,255,126,130,3,168,70,70,168,131,135,3,14,54,202,242,129,3,242,202,54,14,129,3,212,212,44,44,131,0,188,129,0,188,132,65,255,70,255,70,131,65,0,186,0,186,130,3,30,164,164,30,131,0,128,2,0,12,0,30,0,0,0,30,0,1,14,13,0,3,1,1,1,1,2,2,2,2,2,2,2,2,129,11,110,176,80,146,49,207,49,207,49,207,49,207,130,65,0,130,0,130,128,0,246,129,4,40,246,30,50,30,129,11,250,34,222,6,212,44,212,44,212,44,212,44,130,65,255,40,255,40,128,7,30,0,20,236,0,226,0,206,128,2,0,12,0,31,0,0,0,31,0,1,14,13,1,1,1,1,1,1,3,2,2,2,2,2,2,2,128,12,146,80,176,110,0,49,207,49,207,49,207,49,207,129,65,255,126,255,126,129,4,226,206,226,10,216,129,0,10,128,12,6,222,34,250,0,212,44,212,44,212,44,212,44,129,65,0,216,0,216,129,7,50,0,30,0,20,236,0,226,128,2,0,12,0,37,0,0,0,16,32,1,0,144,14,17,40,54,54,54,40,17,0,239,216,202,202,202,216,239,131,143,15,198,198,213,239,0,18,43,58,58,58,43,18,0,239,213,198,131,4,3,17,4,4,4,3,226,156,30,100,3,100,226,156,30,128,2,0,12,0,37,0,0,0,22,32,1,0,144,14,16,41,54,54,54,41,16,0,239,215,202,202,202,215,239,131,143,15,198,198,213,238,0,17,44,58,58,58,44,17,0,238,213,198,131,6,5,17,4,3,1,4,2,5,226,156,0,29,100,29,5,100,226,156,156,30,100,128,2,0,12,0,57,0,0,0,16,32,1,0,67,0,251,0,117,255,66,254,171,145,14,17,40,54,54,54,40,17,0,239,216,202,202,202,216,239,131,0,210,67,254,159,254,102,255,236,3,116,143,15,198,198,213,239,0,18,43,58,58,58,43,18,0,239,213,198,131,4,3,22,4,4,4,3,226,156,30,100,3,100,226,156,30,128,2,0,12,0,48,0,0,0,16,32,1,0,129,2,43,30,90,144,14,17,40,54,54,54,40,17,0,240,216,202,202,202,216,240,131,4,210,50,225,0,60,143,15,198,198,213,239,0,18,43,58,58,58,43,18,0,239,213,198,131,4,3,22,4,4,4,3,226,156,30,100,3,100,226,156,30,0,128,2,0,12,0,49,0,0,0,16,32,1,0,128,3,60,210,50,225,144,14,17,40,54,54,54,40,17,0,239,216,202,202,202,216,239,131,1,226,166,129,0,213,143,15,198,198,213,239,0,18,43,58,58,58,43,18,0,239,213,198,131,4,3,22,4,4,4,3,226,156,30,100,3,100,226,156,30,128,2,0,12,0,48,0,0,0,16,32,1,0,4,210,60,0,225,50,144,14,239,216,202,202,202,216,239,0,17,40,54,54,54,40,17,131,128,2,90,30,43,144,15,58,58,43,18,0,239,213,198,198,198,213,239,0,18,43,58,131,4,3,22,4,4,4,3,30,100,226,156,3,156,30,100,226,0,128,2,0,12,0,37,0,0,0,16,32,1,0,148,14,17,40,54,54,54,40,17,0,239,216,202,202,202,216,239,131,147,15,198,198,213,239,0,18,43,58,58,58,43,18,0,239,213,198,131,4,3,21,4,4,4,3,226,156,30,100,3,100,226,156,30,128,2,0,12,0,37,0,0,0,16,32,1,0,153,14,17,40,54,54,54,40,17,0,240,216,202,202,202,216,240,131,152,15,198,198,213,239,0,18,43,58,58,58,43,18,0,239,213,198,131,4,3,26,4,4,4,3,226,156,30,100,3,100,226,156,30,128,2,0,12,0,32,0,0,0,25,32,1,15,14,1,2,2,17,1,1,2,1,1,1,2,1,1,2,1,128,13,28,228,0,17,40,54,54,40,17,240,216,202,202,216,14,226,20,30,198,198,213,0,18,43,58,58,43,18,239,213,7,6,1,2,2,18,4,4,4,128,5,236,20,226,156,30,100,6,20,0,236,100,226,156,30,128,2,0,12,0,32,0,0,0,25,32,1,15,14,1,2,2,17,1,1,2,1,1,1,2,1,1,2,1,14,30,236,226,0,17,40,54,54,40,17,240,216,202,202,216,14,28,228,0,198,198,213,0,18,43,58,58,43,18,239,213,7,6,1,2,2,18,4,4,4,6,236,0,20,226,156,30,100,6,236,20,0,100,226,156,30,128,2,0,12,0,32,0,0,0,25,32,1,15,14,1,2,2,18,1,2,1,1,1,2,1,1,2,1,1,14,30,0,226,17,40,54,54,40,17,239,216,202,202,216,239,14,228,28,0,198,213,0,18,43,58,58,43,18,239,213,198,7,6,1,2,2,18,4,4,4,6,236,0,20,226,156,30,100,6,20,236,0,100,226,156,30,128,2,0,12,0,32,0,0,0,25,32,1,15,14,1,2,2,18,1,1,2,1,1,2,1,2,1,1,1,14,30,226,0,239,216,202,202,216,239,17,40,54,54,40,17,128,13,228,28,58,43,18,239,213,198,198,213,0,18,43,58,7,6,1,2,2,18,4,4,4,6,236,20,0,30,100,226,156,128,5,20,236,156,30,100,226,128,2,0,12,0,46,0,0,0,25,32,1,0,7,28,28,228,228,28,28,228,228,144,14,239,216,202,202,202,216,239,0,17,40,54,54,54,40,17,131,151,15,58,58,43,18,0,239,213,198,198,198,213,239,0,18,43,58,131,8,7,1,2,2,2,18,4,4,4,7,24,44,211,231,30,100,226,156,131,3,156,30,100,226,128,2,0,12,0,148,32,0,0,196,0,1,96,95,0,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,48,47,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,47,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,47,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,13,250,243,6,128,63,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,30,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,63,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,31,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,240,240,250,7,16,16,0,250,128,2,0,12,0,37,0,0,0,28,32,1,0,156,14,239,216,202,202,202,216,239,0,17,40,54,54,54,40,17,131,155,15,58,58,43,18,0,239,213,198,198,198,213,239,0,18,43,58,131,8,7,1,3,3,3,19,4,4,4,7,18,39,238,217,30,100,226,156,7,39,238,217,18,156,30,100,226,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,14,0,0,0,16,32,1,6,5,13,3,1,2,3,1,5,25,54,25,231,202,231,5,198,26,58,58,230,198,4,3,13,3,3,3,3,234,206,23,50,3,50,234,206,23,128,2,0,12,0,37,0,0,0,22,32,1,0,148,14,239,216,202,202,202,216,239,0,17,40,54,54,54,40,17,131,147,15,198,198,213,239,0,18,43,58,58,58,43,18,0,239,213,198,131,6,5,20,5,1,3,1,1,128,4,70,53,235,203,186,5,70,235,203,186,203,235,128,2,0,12,0,22,0,0,0,16,32,1,0,140,8,202,202,216,239,0,17,40,54,54,131,141,6,18,43,58,58,58,43,18,132,4,3,13,5,1,2,3,70,235,203,186,128,2,186,203,0,0,0,2,0,12,0,22,32,0,0,15,32,1,6,5,14,1,2,2,1,1,5,239,216,202,54,40,17,5,198,213,0,239,213,198,4,3,14,1,2,1,3,21,53,70,186,1,70,53,129,0,128,2,0,12,0,22,0,0,0,19,32,1,0,136,8,54,54,40,17,0,239,216,202,202,131,137,6,18,43,58,58,58,43,18,132,6,5,2,6,1,5,1,2,129,3,186,21,53,70,130,2,186,203,0,128,2,0,12,0,22,0,0,0,20,32,1,0,132,8,202,202,216,239,0,17,40,54,54,135,133,6,239,213,198,198,198,213,239,136,6,5,4,1,5,1,2,3,128,4,70,235,203,186,0,129,1,70,53,129,0,128,2,0,12,0,14,0,0,0,14,0,1,0,133,3,239,216,202,202,131,132,3,58,58,43,18,132,133,3,21,53,70,70,131,132,3,186,186,203,235,132,0,128,2,0,12,0,13,0,0,0,13,0,1,0,3,54,54,40,17,137,128,3,18,43,58,58,136,3,186,186,203,235,137,128,3,235,203,186,186,136,0,128,2,0,12,0,14,0,0,0,14,0,1,0,129,3,17,40,54,54,135,128,3,198,198,213,239,136,129,3,235,203,186,186,135,128,3,70,70,53,21,136,0,128,2,0,12,0,14,0,0,0,14,0,1,0,132,3,202,202,216,239,132,133,3,239,213,198,198,131,132,3,70,70,53,21,132,133,3,21,53,70,70,131,0,128,2,0,12,0,12,0,0,0,12,0,1,0,132,2,90,0,166,131,131,2,166,0,90,132,132,2,166,0,90,131,131,2,90,0,166,132,0,128,2,0,12,0,12,0,0,0,12,0,1,0,135,2,90,0,166,131,134,2,166,0,90,132,135,2,166,0,90,131,134,2,90,0,166,132,0,128,2,0,12,0,12,0,0,0,12,0,1,0,135,2,90,0,166,131,134,2,166,0,90,132,135,2,166,0,90,131,134,2,90,0,166,132,0,128,2,0,12,0,12,0,0,0,12,0,1,0,135,2,90,0,166,131,134,2,166,0,90,132,135,2,166,0,90,131,134,2,90,0,166,132,0,128,2,0,12,0,12,0,0,0,12,0,1,0,135,2,166,0,90,131,134,2,90,0,166,132,135,2,90,0,166,131,134,2,166,0,90,132,0,128,2,0,12,0,12,0,0,0,21,0,1,0,136,2,166,0,90,131,135,2,90,0,166,132,128,2,20,0,236,132,2,90,0,166,131,2,20,0,236,132,2,166,0,90,132,128,2,0,12,0,18,0,0,0,18,0,1,0,9,50,0,50,206,0,206,0,103,0,153,131,133,2,136,0,120,132,9,226,0,226,30,0,30,0,186,0,70,131,133,2,70,0,186,132,0,128,2,0,12,0,20,0,0,0,20,0,1,0,131,0,201,129,1,55,55,129,0,201,131,132,1,196,196,129,1,60,60,132,131,0,70,129,1,186,186,129,0,70,131,132,1,70,70,129,1,186,186,132,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,5,2,1,56,200,1,206,60,1,186,70,1,70,186,128,2,0,12,0,6,0,0,0,6,0,1,2,1,5,2,1,56,200,1,196,60,1,186,70,1,70,186,128,2,0,12,0,6,0,0,0,6,0,1,2,1,5,2,1,56,200,1,196,60,1,146,110,1,110,146,128,2,0,12,0,36,0,0,0,28,32,1,0,145,5,26,56,56,56,56,26,129,5,231,200,200,200,200,231,131,143,3,196,196,196,228,129,5,28,60,60,60,60,28,129,1,228,196,131,8,7,16,1,3,1,3,1,3,1,7,70,186,186,186,186,70,70,70,7,70,70,70,186,186,186,186,70,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,9,2,1,56,200,1,196,60,1,146,110,1,110,146,128,2,0,12,0,98,0,0,0,98,0,1,48,47,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,47,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,47,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,13,251,243,6,47,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,47,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,240,7,16,250,128,2,0,12,0,11,0,0,0,11,0,1,6,5,0,2,2,2,7,2,131,1,56,200,5,30,226,30,226,196,60,131,1,146,110,5,206,246,10,50,110,146,128,2,0,12,0,11,0,0,0,11,0,1,6,5,0,2,2,2,7,2,5,226,30,226,30,60,196,131,1,56,200,5,50,10,246,206,146,110,131,1,146,110,128,2,0,12,0,21,0,0,0,21,0,1,10,9,0,2,3,2,1,2,3,2,6,2,129,1,30,226,129,3,30,226,56,200,1,30,226,129,1,30,226,129,1,196,60,129,1,25,35,129,3,221,231,146,110,1,221,231,129,1,25,35,129,1,110,146,128,2,0,12,0,36,0,0,0,40,0,1,0,3,243,203,5,45,129,3,216,40,40,216,133,3,200,56,56,200,131,5,53,13,211,251,40,216,131,1,216,40,131,3,196,196,60,60,131,128,10,20,0,236,40,40,60,40,216,236,236,236,131,3,110,146,146,110,131,11,236,0,20,0,40,60,40,40,196,196,216,176,131,3,110,110,146,146,131,0,128,2,0,12,0,39,0,0,0,40,0,1,0,8,13,211,251,53,0,216,40,0,216,129,0,40,131,3,56,56,200,200,131,4,53,251,211,13,40,129,3,216,0,40,216,132,3,196,60,60,196,131,11,16,36,16,252,232,232,212,232,56,36,36,36,131,3,146,146,110,110,131,11,236,0,20,0,40,40,40,60,196,176,216,196,131,3,110,146,146,110,131,128,2,0,12,0,63,0,0,0,69,0,1,0,4,45,243,203,5,40,129,5,216,211,251,53,13,40,129,0,216,129,4,40,216,0,40,216,132,3,200,56,56,200,131,17,251,53,13,211,0,40,216,0,251,211,13,53,0,216,40,0,40,216,129,0,40,129,0,216,131,3,196,196,60,60,131,23,20,0,236,0,80,60,60,40,236,0,20,0,216,196,196,176,60,60,80,40,196,216,176,196,131,3,110,146,146,110,131,128,15,20,0,236,90,110,70,90,0,236,0,20,90,70,110,90,166,64,255,126,4,166,166,166,166,166,64,255,126,131,3,110,110,146,146,131,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,5,2,1,56,200,1,196,60,1,216,40,1,40,216,128,2,0,12,0,6,0,0,0,6,0,1,2,1,9,2,1,56,200,1,196,60,1,146,110,1,110,146,128,2,0,12,0,6,0,0,0,6,0,1,2,1,9,2,1,56,200,1,60,196,1,146,110,1,146,110,128,2,0,12,0,6,0,0,0,6,0,1,2,1,8,2,1,56,200,1,60,196,1,146,110,1,146,110,128,2,0,12,0,6,0,0,0,6,0,1,2,1,8,2,1,200,56,1,196,60,1,110,146,1,110,146,128,2,0,12,0,9,0,0,0,9,0,1,4,3,0,2,7,2,3,228,28,200,56,129,1,196,60,3,40,216,110,146,129,1,110,146,128,2,0,12,0,12,0,0,0,12,0,1,5,4,1,2,2,6,2,4,235,27,227,200,56,4,226,20,30,196,60,128,3,236,20,110,146,4,20,0,236,110,146,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,1,2,2,6,2,4,227,27,235,56,200,4,226,236,30,196,60,4,20,236,0,146,110,4,20,0,236,110,146,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,1,2,2,6,2,4,21,229,29,56,200,4,30,236,226,60,196,128,3,20,236,146,110,4,236,0,20,146,110,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,1,2,2,6,2,4,29,229,21,200,56,4,30,20,226,60,196,4,236,20,0,110,146,4,236,0,20,146,110,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,5,2,1,56,200,1,196,60,1,216,40,1,40,216,128,1,0,8,0,6,0,0,2,1,5,2,1,56,200,1,196,60,128,2,0,12,0,14,0,0,0,17,0,1,0,130,0,186,129,2,70,70,186,131,131,1,186,186,134,130,5,80,30,216,176,225,33,131,131,4,80,80,0,178,176,131,128,2,0,12,0,16,0,0,0,18,0,1,0,130,0,186,131,0,186,131,130,5,255,185,185,69,69,255,131,130,5,60,230,156,158,242,60,131,130,5,38,77,33,225,173,224,131,0,128,2,0,12,0,14,0,0,0,18,0,1,0,130,1,70,70,129,1,186,186,131,132,1,70,70,133,130,5,225,176,216,30,80,33,131,130,5,98,20,196,196,20,100,131,0,128,2,0,12,0,14,0,0,0,18,0,1,0,130,1,70,70,135,130,5,255,255,69,69,185,185,131,130,5,196,196,14,98,100,26,131,130,5,38,224,173,225,33,77,131,0,128,2,0,12,0,14,0,0,0,17,0,1,0,142,0,186,129,2,70,70,186,131,143,1,186,186,134,142,5,80,30,216,176,225,33,131,143,4,80,80,0,178,176,131,128,2,0,12,0,14,0,0,0,17,0,1,0,133,0,186,129,2,70,70,186,131,134,1,186,186,134,133,5,80,30,216,176,225,33,131,134,4,80,80,0,178,176,131,128,2,0,12,0,12,0,0,0,17,0,1,0,133,3,70,70,186,186,133,137,1,186,186,131,133,5,176,223,31,80,40,226,131,134,4,176,178,0,80,80,131,128,2,0,12,0,18,0,0,0,14,0,1,0,130,5,196,0,57,57,0,196,131,130,5,236,211,232,24,45,20,131,130,0,60,131,0,60,131,131,3,50,50,206,206,132,0,128,2,0,12,0,15,0,0,0,17,0,1,0,130,4,60,60,0,246,246,132,132,3,45,39,217,211,131,130,4,196,196,0,47,47,132,130,5,20,236,206,221,35,50,131,0,128,2,0,12,0,18,0,0,0,14,0,1,0,130,5,170,206,57,91,7,252,131,130,5,229,196,196,220,110,110,131,130,0,50,129,2,206,206,50,131,131,1,50,50,134,0,128,2,0,12,0,18,0,0,0,14,0,1,0,130,5,196,220,110,110,229,196,131,130,5,199,165,249,4,86,50,131,130,0,50,131,0,50,131,131,3,50,50,206,206,132,0,128,2,0,12,0,18,0,0,0,14,0,1,0,130,5,7,91,57,206,170,252,131,130,5,146,36,60,60,27,146,131,130,1,206,206,129,1,50,50,131,132,1,206,206,133,0,128,2,0,12,0,18,0,0,0,12,0,1,0,130,5,60,60,27,146,146,36,131,130,5,199,50,86,4,249,165,131,130,1,206,206,135,132,3,206,206,50,50,131,0,128,2,0,12,0,24,0,0,0,18,0,1,0,130,3,82,56,56,50,65,255,126,255,102,131,130,65,255,94,255,116,3,50,60,60,74,131,130,2,80,176,176,129,0,80,131,130,0,20,129,2,176,176,20,131,0,128,2,0,12,0,26,0,0,0,16,0,1,0,130,0,82,65,255,102,255,126,2,50,56,56,131,130,64,0,162,3,182,196,196,206,64,0,140,131,130,1,80,80,129,1,176,176,131,130,3,236,236,80,80,133,0,128,2,0,12,0,24,0,0,0,18,0,1,0,130,3,174,200,200,206,65,0,130,0,154,131,130,65,0,162,0,140,3,206,196,196,182,131,130,2,176,80,80,129,0,176,131,130,0,236,129,2,80,80,236,131,0,128,2,0,12,0,26,0,0,0,16,0,1,0,130,0,174,65,0,154,0,130,2,206,200,200,131,130,64,255,94,3,74,60,60,50,64,255,116,131,130,1,176,176,129,1,80,80,131,130,3,20,20,176,176,133,0,128,2,0,12,0,30,0,0,0,18,0,1,8,7,1,2,2,2,2,2,2,2,1,197,197,65,255,79,0,177,3,59,59,59,197,0,59,64,0,177,128,64,0,177,1,59,0,65,255,79,255,197,7,35,35,105,151,221,221,221,35,7,221,151,0,151,221,0,105,35,128,2,0,12,0,23,0,0,0,14,0,1,6,5,1,2,2,2,2,2,1,197,59,65,255,79,0,177,1,59,59,0,197,64,255,79,128,64,0,177,1,59,0,5,35,221,105,151,221,221,5,35,105,0,151,221,0,0,128,2,0,12,0,22,0,0,0,14,0,1,6,5,1,2,2,2,2,2,64,0,177,3,197,59,197,197,64,255,79,64,255,79,2,197,0,59,64,0,177,128,5,151,35,221,35,35,105,5,105,35,0,221,151,0,128,2,0,12,0,14,0,0,0,10,0,1,4,3,1,2,2,2,3,59,197,59,197,64,255,79,1,197,59,64,0,177,3,221,35,221,35,3,105,35,221,151,128,2,0,12,0,30,0,0,0,18,0,1,8,7,1,2,2,2,2,2,2,2,0,197,64,255,79,3,197,59,197,59,65,0,177,0,59,128,64,255,79,1,197,59,65,0,177,255,79,128,0,197,7,35,105,35,221,35,221,151,221,128,6,105,35,221,151,105,0,35,128,2,0,12,0,23,0,0,0,14,0,1,6,5,1,2,2,2,2,2,1,59,197,67,255,79,0,59,0,177,0,59,1,59,0,65,0,177,255,79,128,0,197,5,221,35,105,221,151,221,5,221,0,151,105,0,35,0,128,2,0,12,0,24,0,0,0,14,0,1,6,5,1,2,2,2,2,2,64,0,177,2,59,197,197,65,255,79,255,197,128,0,59,64,0,177,128,65,255,79,255,197,5,151,221,35,35,105,35,128,4,221,151,0,105,35,128,2,0,12,0,16,32,0,0,11,0,1,0,4,3,1,2,2,2,0,197,66,255,79,0,177,0,59,131,7,35,35,105,105,151,151,221,221,131,139,128,2,0,12,0,45,0,0,0,26,0,1,12,11,1,2,2,2,2,2,2,2,2,2,2,2,0,197,66,255,79,255,197,0,177,3,59,59,197,197,67,255,79,0,59,0,177,0,59,128,66,255,79,255,197,0,177,2,59,0,59,64,0,177,128,64,255,79,128,0,197,11,35,105,35,151,221,221,35,35,105,221,151,221,128,10,105,35,151,221,0,221,151,0,105,0,35,0,128,2,0,12,0,28,0,0,0,16,0,1,8,7,1,2,2,2,2,2,2,2,0,59,66,0,177,0,59,0,177,2,59,59,197,64,255,79,64,255,79,128,0,197,64,0,177,0,59,130,7,221,151,221,151,221,221,35,105,4,105,0,35,151,221,130,128,2,0,12,0,27,0,0,0,16,0,1,8,7,1,2,2,2,2,2,2,2,0,197,64,255,79,2,197,197,197,66,255,79,0,177,0,59,128,64,255,79,1,197,59,64,0,177,130,7,35,105,35,35,35,105,151,221,128,3,105,35,221,151,130,0,128,2,0,12,0,14,0,0,0,10,0,1,4,3,1,2,2,2,64,0,177,1,59,197,64,255,79,3,59,197,59,0,3,151,221,35,105,3,221,35,221,0,128,2,0,12,0,11,0,0,0,8,0,1,3,2,1,2,2,66,0,177,0,59,255,79,2,59,197,0,2,151,221,105,2,221,35,0,128,2,0,12,0,11,0,0,0,8,0,1,3,2,0,2,2,66,0,177,255,197,255,79,128,1,197,59,2,151,35,105,128,1,35,221,128,2,0,12,0,10,0,0,0,10,0,1,4,3,1,2,2,2,3,118,59,197,138,3,59,197,59,0,3,186,221,35,70,3,221,35,221,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,1,2,2,2,118,59,138,2,59,197,0,2,186,221,70,2,221,35,0,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,0,2,2,2,2,4,118,59,59,197,138,128,3,59,197,0,197,4,186,221,221,35,70,128,3,221,35,0,35,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,1,2,2,2,118,197,138,2,197,59,0,2,186,35,70,2,35,221,0,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,0,2,2,2,2,4,118,59,197,197,138,128,3,197,0,197,59,4,186,221,35,35,70,128,3,35,0,35,221,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,118,59,59,197,197,138,5,59,197,0,197,59,0,5,186,221,221,35,35,70,5,221,35,0,35,221,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,2,3,59,59,197,197,128,2,118,138,118,3,221,221,35,35,128,2,186,70,186,128,2,0,12,0,8,0,0,0,8,0,1,3,2,0,2,2,2,59,59,197,128,1,118,138,2,221,221,35,128,1,186,70,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,0,2,2,2,1,4,59,59,118,138,138,128,3,118,138,0,118,4,221,221,186,70,70,128,3,186,70,0,186,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,0,2,2,2,59,197,197,128,1,138,118,2,221,35,35,128,1,70,186,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,0,2,2,2,2,4,59,118,138,197,197,128,3,118,0,138,118,4,221,186,70,35,35,128,3,186,0,70,186,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,59,59,118,138,197,197,5,118,138,0,138,118,0,5,221,221,186,70,35,35,5,186,70,0,70,186,0,128,2,0,12,0,19,0,0,0,14,0,1,6,5,0,2,2,2,3,2,5,59,59,197,197,59,197,128,68,0,177,0,59,0,177,255,79,255,197,5,221,221,35,35,221,35,128,4,151,221,151,105,35,0,128,2,0,12,0,10,0,0,0,8,0,1,3,2,0,1,7,2,59,59,197,128,65,0,177,255,79,2,221,221,35,128,1,151,105,0,128,2,0,12,0,10,0,0,0,8,0,1,3,2,0,2,6,2,59,197,197,128,65,255,79,0,177,2,221,35,35,128,1,105,151,0,128,2,0,12,0,11,0,0,0,11,0,1,0,139,7,118,138,138,118,118,138,138,118,131,139,7,186,70,70,186,186,70,70,186,131,0,128,2,0,12,0,11,0,0,0,11,0,1,0,7,118,118,138,138,118,118,138,138,131,139,7,186,186,70,70,186,186,70,70,131,139,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,118,138,1,197,0,1,186,70,1,35,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,1,2,2,2,3,118,59,197,138,3,118,138,118,0,3,186,221,35,70,3,186,70,186,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,1,2,2,2,118,59,138,2,118,138,0,2,186,221,70,2,186,70,0,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,1,2,2,2,118,197,138,2,138,118,0,2,186,35,70,2,70,186,0,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,59,197,1,138,118,1,221,35,1,70,186,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,59,197,1,138,118,1,221,35,1,70,186,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,6,1,59,197,1,138,118,1,221,35,1,70,186,128,2,0,12,0,19,0,0,0,19,0,1,0,147,15,118,138,138,118,118,138,138,118,118,138,138,118,118,138,138,118,131,147,15,186,70,70,186,186,70,70,186,186,70,70,186,186,70,70,186,131,0,128,2,0,12,0,19,0,0,0,19,0,1,0,15,118,118,138,138,118,118,138,138,118,118,138,138,118,118,138,138,131,147,15,186,186,70,70,186,186,70,70,186,186,70,70,186,186,70,70,131,147,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,59,197,1,138,118,1,221,35,1,70,186,128,2,0,12,0,15,0,0,0,15,0,1,0,143,11,118,138,138,118,118,138,138,118,118,138,138,118,131,143,11,186,70,70,186,186,70,70,186,186,70,70,186,131,0,128,2,0,12,0,15,0,0,0,15,0,1,0,11,118,118,138,138,118,118,138,138,118,118,138,138,131,143,11,186,186,70,70,186,186,70,70,186,186,70,70,131,143,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,118,138,128,0,59,1,186,70,128,0,221,128,2,0,12,0,10,0,0,0,10,0,1,4,3,1,2,2,2,3,59,118,138,197,3,138,0,138,118,3,221,186,70,35,3,70,0,70,186,128,2,0,12,0,8,0,0,0,8,0,1,3,2,1,2,2,2,59,118,138,2,138,0,118,2,221,186,70,2,70,0,186,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,2,3,59,118,138,197,128,2,59,0,59,3,221,186,70,35,128,2,221,0,221,128,2,0,12,0,8,0,0,0,8,0,1,3,2,1,2,2,2,118,138,197,128,1,138,118,2,186,70,35,128,1,70,186,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,118,118,138,138,131,135,3,186,186,70,70,131,135,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,118,59,118,138,197,138,5,118,138,0,138,118,0,5,186,221,186,70,35,70,5,186,70,0,70,186,0,128,2,0,12,0,9,0,0,0,9,0,1,4,3,1,2,2,2,3,118,59,118,138,1,118,138,129,3,186,221,186,70,1,186,70,129,128,2,0,12,0,10,0,0,0,10,0,1,4,3,1,2,2,2,3,118,138,197,138,128,2,138,118,0,3,186,70,35,70,128,2,70,186,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,3,3,2,5,118,59,59,138,197,138,5,118,138,0,138,59,0,5,186,221,221,70,35,70,5,186,70,0,70,221,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,4,3,59,59,197,197,128,2,118,138,59,3,221,221,35,35,128,2,186,70,221,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,1,3,59,59,197,197,3,118,138,0,197,3,221,221,35,35,3,186,70,0,35,128,2,0,12,0,14,0,0,0,14,0,1,6,5,0,2,2,2,2,2,5,59,59,59,197,197,197,128,4,118,138,0,197,59,5,221,221,221,35,35,35,128,4,186,70,0,35,221,128,2,0,12,0,12,0,0,0,12,0,1,5,4,1,2,2,2,2,4,118,59,118,197,138,4,59,197,138,118,0,4,186,221,186,35,70,4,221,35,70,186,0,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,1,2,2,2,2,4,118,59,118,138,197,4,59,197,0,138,118,4,186,221,186,70,35,4,221,35,0,70,186,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,118,59,118,138,197,138,5,59,197,0,138,118,0,5,186,221,186,70,35,70,5,221,35,0,70,186,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,0,2,2,2,2,3,5,59,59,118,138,197,138,128,4,118,138,0,197,118,5,221,221,186,70,35,70,128,4,186,70,0,35,186,0,2,0,12,0,19,32,0,0,25,32,1,5,4,1,5,2,1,5,4,59,0,59,0,197,128,3,59,197,197,0,7,6,2,1,1,2,2,1,5,6,221,227,236,0,221,0,35,6,249,236,227,221,35,35,0,128,2,0,12,0,19,32,0,0,16,0,1,7,6,1,5,2,1,2,1,2,5,4,1,5,2,1,5,4,59,0,197,0,197,128,3,197,59,59,0,6,221,0,35,0,20,29,35,128,5,35,221,221,227,236,0,128,2,0,12,0,19,32,0,0,16,0,1,7,6,1,1,2,1,2,3,5,5,4,1,1,5,3,5,4,59,0,59,197,0,1,197,197,129,0,59,6,221,0,236,227,221,35,0,3,35,35,29,20,129,0,221,0,2,0,12,0,19,32,0,0,25,32,1,5,4,0,5,3,5,2,128,3,59,197,0,197,0,59,129,1,197,59,7,6,0,5,4,1,1,2,2,128,5,221,35,29,20,0,35,6,221,0,7,20,29,35,221,128,2,0,12,0,34,0,0,0,34,0,1,0,129,0,70,129,2,186,0,70,129,0,186,129,2,70,0,186,131,128,2,143,0,113,129,0,143,129,2,113,0,143,129,0,113,132,129,0,215,129,2,41,0,215,129,0,41,129,2,215,0,41,131,128,2,66,0,190,129,0,66,129,2,190,0,66,129,0,190,132,0,128,2,0,12,0,13,0,0,0,13,0,1,0,0,70,129,0,186,133,128,0,113,129,0,143,132,0,215,129,0,41,133,128,0,190,129,0,66,132,0,128,2,0,12,0,14,0,0,0,14,0,1,0,129,0,70,129,0,186,131,128,0,143,129,0,113,132,129,0,215,129,0,41,131,128,0,66,129,0,190,132,0,128,2,0,12,0,11,0,0,0,11,0,1,0,139,7,59,197,197,59,59,197,197,59,131,139,7,221,35,35,221,221,35,35,221,131,0,128,2,0,12,0,11,0,0,0,11,0,1,0,7,59,59,197,197,59,59,197,197,131,139,7,221,221,35,35,221,221,35,35,131,139,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,59,197,1,197,0,1,221,35,1,35,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,2,3,59,59,197,197,128,2,59,197,59,3,221,221,35,35,128,2,221,35,221,128,2,0,12,0,8,0,0,0,8,0,1,3,2,0,2,2,2,59,59,197,128,1,59,197,2,221,221,35,128,1,221,35,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,0,2,2,2,59,197,197,128,1,197,59,2,221,35,35,128,1,35,221,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,59,197,1,197,59,1,221,35,1,35,221,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,59,197,1,197,59,1,221,35,1,35,221,128,2,0,12,0,6,0,0,0,6,0,1,2,1,5,2,1,59,197,1,138,118,1,221,35,1,70,186,128,2,0,12,0,19,0,0,0,19,0,1,0,147,15,59,197,197,59,59,197,197,59,59,197,197,59,59,197,197,59,131,147,15,221,35,35,221,221,35,35,221,221,35,35,221,221,35,35,221,131,0,128,2,0,12,0,19,0,0,0,19,0,1,0,15,59,59,197,197,59,59,197,197,59,59,197,197,59,59,197,197,131,147,15,221,221,35,35,221,221,35,35,221,221,35,35,221,221,35,35,131,147,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,59,197,1,197,59,1,221,35,1,35,221,128,2,0,12,0,15,0,0,0,15,0,1,0,143,11,59,197,197,59,59,197,197,59,59,197,197,59,131,143,11,221,35,35,221,221,35,35,221,221,35,35,221,131,0,128,2,0,12,0,15,0,0,0,15,0,1,0,11,59,59,197,197,59,59,197,197,59,59,197,197,131,143,11,221,221,35,35,221,221,35,35,221,221,35,35,131,143,0,128,2,0,12,0,6,0,0,0,6,0,1,2,1,1,2,1,59,197,128,0,59,1,221,35,128,0,221,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,2,3,118,59,197,138,128,2,197,0,197,3,186,221,35,70,128,2,35,0,35,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,2,3,59,59,197,197,3,59,197,0,197,3,221,221,35,35,3,221,35,0,35,128,2,0,12,0,8,0,0,0,8,0,1,3,2,0,2,2,2,59,59,197,2,59,197,0,2,221,221,35,2,221,35,0,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,0,2,1,2,59,197,197,2,59,0,197,2,221,35,35,2,221,0,35,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,59,59,197,197,131,135,3,221,221,35,35,131,135,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,0,2,2,2,2,2,5,59,59,59,197,197,197,128,4,59,197,0,197,59,5,221,221,221,35,35,35,128,4,221,35,0,35,221,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,2,3,59,59,59,197,128,2,59,197,0,3,221,221,221,35,128,2,221,35,0,128,2,0,12,0,9,0,0,0,9,0,1,4,3,0,2,2,2,3,59,197,197,197,129,1,197,59,3,221,35,35,35,129,1,35,221,128,2,0,12,0,14,0,0,0,14,0,1,6,5,0,2,3,3,2,2,5,118,59,118,197,197,138,128,4,59,138,0,138,118,5,186,221,186,35,35,70,128,4,221,70,0,70,186,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,1,5,2,3,59,59,197,197,128,2,59,138,118,3,221,221,35,35,128,2,221,70,186,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,4,2,2,3,59,59,197,197,3,118,197,0,138,3,221,221,35,35,3,186,35,0,70,128,2,0,12,0,14,0,0,0,14,0,1,6,5,0,2,2,2,2,2,5,59,59,59,197,197,197,128,4,59,197,0,138,118,5,221,221,221,35,35,35,128,4,221,35,0,70,186,128,2,0,12,0,12,0,0,0,12,0,1,5,4,1,2,2,2,2,4,118,59,138,197,138,4,118,138,197,59,0,4,186,221,70,35,70,4,186,70,35,221,0,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,1,2,2,2,2,4,59,118,138,197,138,4,138,0,197,59,118,4,221,186,70,35,70,4,70,0,35,221,186,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,118,59,118,138,197,138,5,118,138,0,197,59,0,5,186,221,186,70,35,70,5,186,70,0,35,221,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,2,3,2,2,2,2,5,118,59,118,138,197,197,5,118,197,0,138,118,0,5,186,221,186,70,35,35,5,186,35,0,70,186,0,128,2,0,12,0,14,0,0,0,10,0,1,4,3,1,2,6,2,0,59,66,0,177,255,79,255,197,3,197,0,197,59,3,221,151,105,35,3,35,0,35,221,128,2,0,12,0,11,0,0,0,8,0,1,3,2,0,2,6,0,59,65,0,177,255,79,2,59,197,0,2,221,151,105,2,221,35,0,128,2,0,12,0,11,0,0,0,8,0,1,3,2,1,6,2,66,0,177,255,79,255,197,128,1,197,59,2,151,105,35,128,1,35,221,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,59,59,118,138,197,197,5,59,197,0,197,59,0,5,221,221,186,70,35,35,5,221,35,0,35,221,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,1,2,2,2,3,59,118,138,197,3,197,0,197,59,3,221,186,70,35,3,35,0,35,221,128,2,0,12,0,12,0,0,0,12,0,1,5,4,0,2,2,2,1,4,59,59,118,138,138,128,3,59,197,0,59,4,221,221,186,70,70,128,3,221,35,0,221,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,1,2,2,2,59,118,138,2,197,0,59,2,221,186,70,2,35,0,221,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,0,2,2,2,2,4,59,118,138,197,197,128,3,59,0,197,59,4,221,186,70,35,35,128,3,221,0,35,221,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,1,2,2,2,118,138,197,128,1,197,59,2,186,70,35,128,1,35,221,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,118,59,59,197,197,138,5,118,138,0,138,118,0,5,186,221,221,35,35,70,5,186,70,0,70,186,0,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,2,3,59,59,197,197,3,118,138,0,138,3,221,221,35,35,3,186,70,0,70,128,2,0,12,0,12,0,0,0,12,0,1,5,4,0,2,2,2,2,4,118,59,59,197,138,128,3,118,138,0,138,4,186,221,221,35,70,128,3,186,70,0,70,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,0,2,2,2,59,59,197,2,118,138,0,2,221,221,35,2,186,70,0,0,128,2,0,12,0,12,0,0,0,12,0,1,5,4,0,2,2,2,2,4,118,59,197,197,138,128,3,138,0,138,118,4,186,221,35,35,70,128,3,70,0,70,186,0,128,2,0,12,0,8,0,0,0,8,0,1,3,2,0,2,1,2,59,197,197,2,118,0,138,2,221,35,35,2,186,0,70,0,128,2,0,12,0,20,0,0,0,14,0,1,6,5,0,2,2,2,3,2,5,59,59,197,197,59,197,0,197,64,255,79,128,66,255,79,0,59,0,177,5,221,221,35,35,221,35,5,35,105,0,105,221,151,128,2,0,12,0,10,0,0,0,8,0,1,3,2,0,6,2,2,59,59,197,65,0,177,255,79,128,2,221,221,35,2,151,105,0,0,128,2,0,12,0,11,0,0,0,8,0,1,3,2,0,2,1,2,59,197,197,64,0,177,128,64,255,79,2,221,35,35,2,151,0,105,128,2,0,12,0,20,0,0,0,14,0,1,6,5,1,2,2,6,2,2,69,0,177,0,59,0,177,255,79,255,197,255,79,5,59,197,0,197,59,0,5,151,221,151,105,35,105,5,221,35,0,35,221,0,128,2,0,12,0,17,0,0,0,11,0,1,6,5,1,2,2,2,2,2,66,0,177,0,59,0,177,1,59,197,64,255,79,1,59,197,131,5,151,221,151,221,35,105,1,221,35,131,128,2,0,12,0,18,0,0,0,12,0,1,6,5,1,2,2,2,2,2,0,197,68,255,79,255,197,255,79,0,177,0,59,128,1,197,59,130,5,35,105,35,105,151,221,128,1,35,221,130,128,2,0,12,0,14,0,0,0,14,0,1,6,5,1,2,2,2,2,2,5,118,59,118,138,197,138,5,59,197,0,197,59,0,5,186,221,186,70,35,70,5,221,35,0,35,221,0,128,2,0,12,0,9,0,0,0,9,0,1,4,3,1,2,2,2,3,118,59,118,138,1,59,197,129,3,186,221,186,70,1,221,35,129,128,2,0,12,0,10,0,0,0,10,0,1,4,3,1,2,2,2,3,118,138,197,138,128,2,197,59,0,3,186,70,35,70,128,2,35,221,0,128,2,0,12,0,14,0,0,0,14,0,1,6,5,0,2,2,2,2,2,5,59,59,59,197,197,197,128,4,118,138,0,138,118,5,221,221,221,35,35,35,128,4,186,70,0,70,186,128,2,0,12,0,10,0,0,0,10,0,1,4,3,0,2,2,2,3,59,59,59,197,128,2,118,138,0,3,221,221,221,35,128,2,186,70,0,128,2,0,12,0,9,0,0,0,9,0,1,4,3,0,2,2,2,3,59,197,197,197,129,1,138,118,3,221,35,35,35,129,1,70,186,128,2,0,12,0,19,0,0,0,14,0,1,6,5,0,2,6,2,2,6,5,59,59,59,197,197,197,128,65,0,177,255,79,128,65,255,79,0,177,5,221,221,221,35,35,35,128,4,151,105,0,105,151,0,128,2,0,12,0,12,0,0,0,10,0,1,4,3,0,2,6,2,3,59,59,59,197,128,65,0,177,255,79,128,3,221,221,221,35,128,2,151,105,0,128,2,0,12,0,11,0,0,0,9,0,1,4,3,0,2,2,6,3,59,197,197,197,129,65,255,79,0,177,3,221,35,35,35,129,1,105,151,128,2,0,12,0,126,0,0,0,109,0,1,0,49,56,48,36,14,246,1,20,33,33,24,190,194,206,221,237,246,241,233,228,224,222,0,5,10,12,228,240,254,5,17,30,30,30,28,26,24,24,24,11,0,3,7,7,7,7,7,247,248,250,253,134,11,211,50,40,20,12,248,242,41,36,26,20,232,131,20,20,35,56,73,80,77,61,39,9,246,226,230,240,247,247,241,239,233,232,237,246,130,11,1,188,179,171,171,171,184,196,204,217,228,243,132,7,255,253,253,253,253,5,3,1,135,1,80,40,130,6,6,10,91,95,100,100,100,131,19,236,235,203,183,196,240,19,21,6,0,20,13,13,17,12,0,226,212,226,250,133,14,227,193,176,167,156,156,156,180,212,236,236,236,236,236,245,132,11,20,21,23,27,30,25,20,20,20,15,6,40,133,4,236,240,251,0,28,131,128,19,235,239,1,0,245,239,233,208,176,0,34,52,44,29,30,36,31,29,48,80,131,10,70,96,120,120,120,110,100,85,67,48,21,132,3,6,10,7,2,146,4,226,220,216,216,216,131,0,2,0,12,0,82,32,0,0,43,32,1,26,25,17,3,6,1,1,2,2,3,3,3,2,1,1,1,1,4,1,1,2,1,1,1,2,3,3,3,25,13,29,230,227,227,244,15,33,241,223,0,11,29,38,38,0,243,225,214,214,225,243,15,33,241,223,25,14,242,242,244,248,14,33,241,223,15,212,212,223,242,0,44,44,33,0,242,223,212,33,241,223,15,13,12,16,16,3,3,3,3,4,4,4,4,3,3,3,128,11,14,6,26,34,244,216,12,40,230,222,242,250,12,10,212,232,240,220,40,244,216,12,212,232,240,220,0,0,2,0,12,0,46,32,0,0,58,32,1,14,13,17,2,1,5,4,1,2,3,3,3,3,3,3,3,13,244,227,227,17,29,13,241,223,15,33,241,223,15,33,13,14,248,244,242,2,14,33,241,223,15,33,241,223,15,18,17,16,2,2,1,3,1,1,2,1,1,2,3,3,3,3,3,3,3,17,255,32,32,28,0,237,231,224,224,240,6,14,250,242,6,14,250,242,17,240,253,13,15,15,15,15,9,253,240,242,6,14,250,242,6,14,250,128,2,0,12,0,89,0,0,0,93,32,1,0,139,7,245,11,11,244,16,16,240,240,132,18,25,54,54,54,25,0,231,202,202,202,231,12,12,245,245,12,12,245,246,131,7,16,16,240,240,244,11,11,245,131,139,43,11,244,245,11,0,3,3,255,16,240,240,16,198,198,230,0,26,58,58,58,26,0,230,198,11,11,244,244,11,11,245,244,16,240,240,16,3,255,0,3,11,245,245,12,131,30,29,4,6,2,1,1,1,2,2,2,2,2,3,1,5,2,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,29,236,20,14,214,227,28,216,40,236,0,234,206,234,50,228,214,14,29,243,228,29,43,0,20,216,40,28,227,242,42,129,27,214,14,28,227,0,236,40,216,60,229,196,27,228,241,42,28,213,228,28,14,40,216,20,0,228,28,43,242,0,128,2,0,12,0,75,0,0,0,41,32,1,0,128,34,15,24,24,24,24,24,15,0,242,231,232,232,232,231,242,24,24,232,232,50,50,206,206,0,38,100,100,100,38,0,218,156,156,156,218,131,6,40,40,42,34,20,7,255,130,25,255,7,20,34,42,40,50,206,206,50,0,40,40,0,198,198,248,20,48,98,98,98,48,20,248,198,131,14,13,1,1,3,1,1,6,4,2,2,2,2,2,4,2,13,250,240,236,240,250,20,236,20,218,38,232,206,24,50,133,1,30,226,129,3,75,0,181,0,0,0,2,0,12,0,90,32,0,0,90,32,1,26,25,4,6,3,1,1,4,2,1,2,1,1,1,2,1,1,1,1,1,2,2,2,1,1,1,1,1,20,24,0,66,124,124,214,156,156,228,35,104,14,62,62,33,0,251,0,232,232,232,65,0,139,0,132,2,117,101,106,129,9,158,208,0,98,0,208,70,251,62,102,68,0,130,0,130,0,140,0,140,0,154,130,5,24,26,41,65,86,86,27,26,1,3,1,2,3,1,2,2,4,2,3,1,1,1,1,1,1,1,1,1,1,4,2,1,1,1,2,22,246,236,246,10,20,10,232,206,24,50,216,156,232,36,196,196,196,173,156,156,0,156,0,67,255,96,255,96,255,96,255,96,133,8,75,0,181,0,196,0,38,234,156,68,255,96,255,97,255,103,255,106,255,106,130,3,166,166,178,196,0,2,0,12,0,26,32,0,0,18,32,1,11,10,0,1,3,1,5,2,1,2,2,3,2,10,30,26,20,10,236,226,216,206,50,40,216,138,7,6,4,3,5,3,2,3,2,6,216,19,40,40,216,236,20,134,0,2,0,12,0,94,32,0,0,79,32,1,30,29,1,1,2,3,2,1,2,4,2,1,1,1,1,2,2,3,1,4,2,3,2,1,2,2,2,1,1,1,1,4,29,9,20,20,247,236,236,40,40,20,24,30,30,40,40,30,20,0,20,236,0,236,216,226,216,216,226,226,232,236,216,16,20,14,5,0,10,14,30,15,10,10,16,20,20,20,24,20,20,129,10,20,20,30,24,20,20,20,16,10,10,24,25,24,1,2,1,3,1,1,3,2,4,3,1,2,2,2,6,2,1,5,3,2,1,1,3,1,3,24,247,236,236,9,20,20,226,216,226,226,216,216,226,0,236,20,0,30,30,40,40,30,30,34,40,13,236,246,250,0,250,246,226,231,246,236,236,236,231,236,129,8,236,226,236,236,236,236,246,246,231,0,0,2,0,12,0,37,32,0,0,18,32,1,12,11,0,1,2,1,3,3,1,3,1,2,1,2,128,10,6,20,20,10,5,251,246,242,236,236,250,128,2,6,49,60,132,2,60,48,7,7,6,5,2,2,1,1,3,4,6,216,236,246,246,10,20,40,134,0,128,2,0,12,0,7,0,0,0,7,0,1,0,128,2,40,0,216,131,135,128,2,216,0,40,131,135,0,128,2,0,12,0,15,0,0,0,15,0,1,0,2,75,24,171,129,2,85,232,182,131,130,1,176,176,134,2,226,236,40,129,2,206,20,20,131,130,1,120,120,134,0,128,2,0,12,0,125,0,0,0,109,0,1,0,20,200,34,33,28,23,15,10,19,35,50,62,66,232,223,223,236,0,10,242,220,208,135,39,3,6,8,9,249,249,249,249,249,253,0,244,232,232,232,230,228,226,226,226,240,251,2,16,28,244,247,252,45,24,236,231,220,215,14,8,243,236,217,206,131,20,20,246,237,232,233,239,241,247,247,240,230,226,246,9,39,61,77,80,73,56,35,136,7,1,3,5,253,253,253,253,255,132,11,243,228,217,204,196,184,171,171,171,179,188,1,129,7,80,100,100,100,95,91,10,6,130,0,40,131,32,20,0,6,30,44,30,0,244,239,243,244,236,0,250,235,237,16,60,73,53,22,0,250,241,236,236,236,230,226,229,233,235,236,132,14,11,20,20,20,20,20,44,76,100,100,100,89,80,64,29,131,5,216,228,0,5,16,20,137,128,19,80,48,29,31,36,30,29,44,52,34,0,176,208,233,239,245,0,1,239,235,140,3,2,7,10,6,132,10,21,48,67,85,100,110,120,120,120,96,70,131,4,216,216,216,220,226,137,0,0,2,0,12,0,84,32,0,0,79,32,1,28,27,0,1,1,2,2,2,8,1,2,3,3,2,4,2,1,1,1,2,1,2,1,3,2,1,3,1,3,2,128,7,9,19,24,10,232,58,10,204,129,16,20,0,20,35,58,63,8,63,36,216,58,7,216,166,166,58,232,2,40,40,31,130,4,80,80,0,206,40,131,10,6,10,246,246,0,156,50,100,100,1,208,129,25,24,0,2,1,1,2,2,8,1,2,3,3,2,4,2,1,2,2,1,1,2,3,3,4,3,2,24,20,245,236,236,0,20,196,0,62,20,20,216,62,216,204,186,196,186,188,246,196,246,80,196,20,2,206,216,239,129,19,226,176,176,0,20,206,226,226,226,226,226,226,226,226,10,19,186,245,226,226,0,128,2,0,12,0,83,0,0,0,86,0,1,0,6,110,165,231,14,14,14,8,129,29,202,142,142,142,139,135,232,0,1,24,24,24,12,0,196,184,170,170,170,209,0,35,76,76,232,232,245,98,98,47,129,2,245,232,232,131,128,64,0,150,3,71,12,0,255,129,5,94,94,44,0,251,242,131,0,248,131,8,60,54,23,0,205,162,162,162,213,132,2,44,94,94,135,2,196,206,234,130,15,246,20,0,27,70,70,70,38,20,20,0,247,236,236,236,246,129,19,34,70,70,70,31,0,219,178,178,20,20,10,186,186,223,0,20,20,20,20,131,128,4,50,29,3,0,18,129,6,176,176,223,0,6,32,50,132,11,16,37,40,196,207,2,40,58,80,80,80,38,131,3,196,186,176,176,129,1,224,196,131,0,2,0,12,0,29,32,0,0,31,32,1,9,8,0,2,4,2,2,2,2,2,2,128,7,24,0,55,201,55,201,0,232,3,60,44,0,100,131,0,102,10,9,0,4,1,3,2,2,2,1,1,2,128,8,236,247,0,76,24,100,0,236,20,1,136,225,132,2,192,0,192,128,2,0,12,0,138,0,0,0,128,32,1,0,63,232,232,207,196,196,212,232,232,232,232,0,11,13,24,24,15,11,0,46,104,104,104,40,236,50,41,24,24,24,52,60,60,65,46,24,24,24,26,0,243,232,232,246,250,0,211,152,152,152,231,50,0,246,236,232,152,152,162,205,0,46,104,104,104,3,65,0,213,152,131,128,7,1,246,246,5,28,10,0,8,130,24,1,0,156,156,156,156,156,209,0,45,108,111,46,23,25,0,19,35,35,20,3,4,10,0,248,131,26,100,99,100,100,100,47,0,226,163,155,216,235,237,239,0,254,235,216,216,216,240,0,1,40,40,40,14,131,43,42,0,2,1,1,3,2,1,2,1,1,3,2,1,1,1,1,1,1,1,1,2,2,1,1,2,2,1,2,1,3,3,1,1,1,1,1,1,1,1,3,1,4,2,1,20,11,129,38,20,10,0,239,236,236,0,206,206,206,209,206,0,250,236,236,246,0,248,240,236,246,0,20,20,0,50,50,48,50,0,4,14,20,50,15,0,206,0,0,10,129,0,246,132,14,75,75,53,30,17,3,0,216,205,233,226,0,10,8,6,131,14,181,181,226,239,253,0,40,47,29,8,0,50,50,226,206,0,0,2,0,12,0,85,32,0,0,58,32,1,28,27,1,3,3,3,2,1,2,1,2,3,1,2,1,2,1,1,1,4,4,1,1,1,1,2,1,1,1,1,15,12,24,245,232,0,23,47,47,0,246,43,0,233,209,209,234,129,9,25,54,54,54,25,231,202,202,202,231,131,23,34,34,0,241,222,226,21,34,34,0,239,222,222,34,192,225,0,29,62,62,29,0,225,192,20,19,1,3,3,3,2,4,2,3,1,1,1,2,1,3,3,1,4,2,4,2,19,247,236,10,20,5,30,5,236,236,255,25,80,80,5,226,226,232,206,24,50,134,12,30,236,206,206,226,246,50,50,0,70,0,186,0,0,0,2,0,12,0,85,32,0,0,73,32,1,28,27,1,3,3,3,3,2,1,1,1,1,2,1,1,1,1,2,1,1,1,1,2,1,4,2,2,1,4,2,27,12,24,245,232,33,223,65,70,0,232,25,54,54,54,25,231,202,202,202,231,223,0,30,0,223,0,232,0,131,0,236,129,20,20,20,0,192,225,0,29,62,62,29,0,225,192,236,236,9,20,236,236,10,20,25,24,1,3,3,3,3,2,1,1,1,1,2,2,4,2,4,1,1,3,1,1,2,1,2,1,3,24,247,236,10,20,20,70,221,251,25,251,232,206,24,50,40,216,201,186,201,216,40,236,236,236,236,134,12,20,20,0,70,0,186,0,20,20,20,231,216,216,129,2,245,236,236,0,2,0,12,0,82,32,0,0,65,32,1,27,26,1,3,3,3,3,2,2,1,1,1,1,2,1,1,1,1,2,1,1,2,2,1,2,1,2,2,2,26,12,24,245,232,43,233,25,54,54,54,25,231,202,202,202,231,226,10,28,50,28,10,226,10,242,242,10,131,22,236,0,192,225,0,29,62,62,29,0,225,192,236,236,236,0,20,20,236,236,247,10,20,22,21,1,3,3,3,3,2,2,2,4,2,4,1,1,3,1,1,2,1,2,1,1,2,21,247,236,10,20,20,70,232,206,24,50,20,0,241,226,241,0,40,10,10,10,10,10,133,9,70,0,186,0,30,30,30,227,206,206,129,3,248,236,238,236,0,128,2,0,12,0,35,0,0,0,53,32,1,19,18,1,2,2,2,1,2,1,2,1,1,2,2,1,1,2,1,1,4,2,18,25,224,24,222,6,254,33,105,38,244,34,238,12,228,161,223,2,28,232,130,5,42,0,196,0,80,80,131,0,80,129,0,196,129,18,17,1,2,2,2,3,1,2,1,1,2,2,1,1,2,1,1,4,2,17,226,10,236,0,15,221,251,241,25,0,35,5,45,35,65,15,251,20,130,4,196,110,0,196,196,131,0,196,129,0,110,129,0,128,2,0,12,0,90,0,0,0,66,32,1,0,128,38,38,0,218,0,11,24,24,24,11,0,246,232,232,232,246,0,30,66,66,66,30,0,226,190,190,190,226,0,12,24,24,24,12,0,240,228,232,30,16,129,9,223,186,186,186,222,0,251,242,232,242,131,128,2,196,0,54,139,11,180,180,222,0,34,76,76,76,34,0,222,180,135,13,11,20,70,76,68,68,68,32,0,224,188,188,188,188,133,22,21,0,1,1,1,5,6,3,3,3,3,2,4,1,1,3,1,1,2,2,1,3,3,12,249,219,249,23,236,20,238,216,18,40,0,236,247,129,4,246,248,0,36,36,129,128,2,30,0,226,129,3,40,238,216,18,132,6,206,196,186,223,0,70,0,0,0,2,0,12,0,33,32,0,0,21,32,1,10,9,4,6,3,2,1,1,2,1,2,1,9,14,242,29,65,65,29,227,191,191,227,129,7,198,0,27,58,58,27,230,198,6,5,4,6,3,2,4,2,5,236,20,233,206,23,50,129,3,50,0,206,0,128,2,0,12,0,10,0,0,0,7,0,1,0,0,25,64,0,155,128,0,216,131,135,3,226,226,40,40,131,135,128,2,0,12,0,17,0,0,0,11,0,1,0,0,25,64,0,155,128,1,216,25,64,0,155,128,0,216,131,139,7,236,236,50,50,236,236,50,50,131,139,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,55,55,201,201,131,135,3,218,218,38,38,131,135,0,128,2,0,12,0,11,0,0,0,11,0,1,0,7,55,55,201,201,55,55,201,201,131,139,7,218,218,38,38,218,218,38,38,131,139,0,128,2,0,12,0,19,32,0,0,20,0,1,0,6,5,0,1,1,1,2,3,5,44,54,208,218,26,230,131,1,216,40,8,214,214,42,42,236,236,0,20,20,132,131,5,213,43,33,43,213,223,131,128,2,0,12,0,40,32,0,0,60,0,1,0,13,12,0,5,2,3,4,2,1,1,3,3,1,2,1,0,232,129,9,232,24,59,96,96,0,138,138,193,216,131,8,47,209,233,0,94,0,227,162,162,13,20,239,206,196,196,196,212,226,250,20,20,20,15,7,129,12,228,196,196,196,211,226,250,20,20,20,13,12,20,131,129,3,255,15,40,21,130,19,245,236,230,220,216,216,41,41,244,195,186,175,175,175,238,40,43,63,81,81,131,0,128,2,0,12,0,39,32,0,0,42,0,1,0,14,13,1,3,2,1,1,1,2,3,3,2,1,1,1,1,13,26,230,53,43,217,207,26,230,43,217,43,53,207,217,1,221,35,131,1,221,35,133,23,236,236,0,20,20,0,206,206,50,50,236,236,0,20,20,0,206,206,50,50,206,206,50,50,131,5,208,48,38,48,208,218,131,5,208,48,38,48,208,218,139,128,2,0,12,0,54,32,0,0,33,0,1,20,19,4,6,3,2,2,2,2,2,1,3,1,2,2,1,2,1,1,2,2,2,18,17,4,6,3,2,2,2,2,3,3,1,4,1,2,1,1,2,2,2,17,24,232,24,232,24,202,30,66,226,190,64,192,212,192,64,54,54,232,129,0,208,130,5,180,35,76,35,0,95,129,0,161,130,19,236,20,236,20,236,20,242,226,226,14,30,30,206,30,20,50,226,236,236,20,129,0,50,130,5,30,0,243,226,243,13,135,0,128,2,0,12,0,72,32,0,0,61,0,1,0,24,23,0,4,3,2,2,1,1,1,1,3,2,2,2,2,1,1,3,1,1,3,2,2,1,1,128,15,24,245,232,232,232,40,40,40,0,206,206,0,35,40,232,176,129,4,24,232,80,246,232,131,9,28,32,30,20,0,22,11,246,234,246,130,6,156,186,224,32,216,196,0,128,11,246,236,236,236,246,0,10,20,20,20,20,20,142,14,20,19,7,100,236,236,100,236,236,20,20,156,156,0,20,131,137,2,253,248,246,130,10,246,236,236,236,246,0,10,20,20,20,10,131,0,196,129,4,30,246,10,10,246,135,128,2,0,12,0,6,0,0,0,6,0,1,2,1,9,2,1,196,60,1,200,56,1,110,146,1,110,146,128,2,0,12,0,6,0,0,0,6,0,1,2,1,8,2,1,60,196,1,200,56,1,146,110,1,110,146,128,2,0,12,0,6,0,0,0,6,0,1,2,1,9,2,1,60,196,1,200,56,1,146,110,1,110,146,128,2,0,12,0,6,0,0,0,6,0,1,2,1,8,2,1,196,60,1,56,200,1,110,146,1,146,110,128,2,0,12,0,30,0,0,0,24,0,1,0,133,11,5,250,51,56,56,61,26,230,196,200,200,203,131,133,11,193,193,226,231,20,25,45,45,25,20,230,227,131,136,1,166,166,131,1,90,90,132,133,2,90,90,90,129,3,166,166,166,166,129,0,90,131,0,128,2,0,12,0,14,0,0,0,16,32,1,6,5,17,2,1,3,1,2,5,24,54,54,231,202,202,5,198,0,27,58,27,230,4,3,17,3,3,3,3,215,166,40,90,3,40,238,216,18,128,2,0,12,0,6,0,0,0,6,0,1,2,1,5,2,1,56,200,1,196,60,1,166,90,1,90,166,128,2,0,12,0,22,0,0,0,22,0,1,0,131,7,235,21,69,69,10,246,193,193,131,131,7,197,197,245,11,70,70,17,239,131,131,7,30,226,226,226,226,30,30,30,131,131,7,30,30,30,226,226,226,226,30,131,0,128,2,0,12,0,19,32,0,0,22,0,1,0,4,3,5,2,2,2,128,2,70,0,186,64,255,126,128,64,0,130,128,131,7,20,236,236,236,236,20,20,20,131,131,7,10,10,10,246,246,246,246,10,131,128,2,0,12,0,16,0,0,0,16,0,1,0,132,4,211,45,72,0,184,131,132,4,196,196,23,75,23,131,132,4,30,226,196,0,60,131,132,4,60,60,236,196,236,131,0,128,2,0,12,0,12,0,0,0,12,0,1,0,132,2,25,0,231,131,131,2,201,0,55,132,132,2,226,0,30,131,131,2,30,0,226,132,0,0,2,0,12,0,22,32,0,0,16,32,1,6,5,17,1,1,4,2,1,5,24,54,54,232,202,202,5,198,229,0,58,0,229,4,3,17,3,3,3,3,229,196,27,60,3,80,220,176,36,128,2,0,12,0,6,0,0,0,6,0,1,2,1,5,2,1,56,200,1,196,60,1,236,20,1,20,236,128,2,0,12,0,179,0,0,0,183,0,1,0,63,86,247,251,36,36,36,22,10,10,217,164,164,164,166,193,238,250,18,27,27,27,74,104,44,245,173,173,173,218,250,24,72,72,238,238,233,237,90,251,1,40,40,40,26,14,14,221,168,168,168,172,197,242,246,14,23,23,23,70,100,40,241,169,169,25,169,214,246,20,68,68,234,234,225,229,102,102,56,14,14,254,236,236,98,98,52,10,10,241,232,232,131,128,4,60,42,19,30,16,129,6,94,94,61,32,8,236,206,130,13,10,0,239,239,236,30,36,6,0,220,172,172,172,232,129,1,13,11,129,4,60,41,13,30,16,129,6,94,94,61,32,6,233,206,130,13,10,0,239,239,236,30,36,6,0,220,172,172,172,231,129,1,13,11,129,2,44,94,94,132,2,44,94,94,129,0,249,132,63,196,230,227,18,18,18,18,20,15,46,88,88,88,73,85,20,0,9,236,236,236,39,80,80,76,60,60,60,36,0,211,178,178,20,20,241,226,196,230,229,18,18,18,18,20,15,46,88,88,88,75,85,20,0,9,236,236,236,39,80,80,76,60,60,25,60,36,0,211,178,178,20,20,237,221,186,186,230,15,20,21,20,20,186,186,230,15,20,12,20,20,131,128,4,215,220,230,246,251,129,6,176,176,192,196,174,168,149,130,13,7,236,251,37,40,196,204,227,0,46,80,80,80,53,129,1,13,11,129,4,215,219,224,246,251,129,6,176,176,192,196,172,165,149,130,13,7,236,251,37,40,196,204,227,0,46,80,80,80,52,129,6,13,11,0,196,186,176,176,129,5,224,196,196,186,176,176,129,1,217,196,131,0,128,2,0,12,0,15,32,0,0,13,0,1,0,4,3,1,2,1,2,3,70,0,201,55,1,209,49,129,131,3,38,218,218,38,131,3,222,34,34,222,135,0,0,2,0,12,0,103,32,0,0,93,32,1,34,33,2,1,1,3,3,2,1,2,1,1,1,2,3,1,2,2,1,1,1,1,3,1,2,1,2,1,1,2,1,1,2,3,3,2,33,5,10,255,242,70,70,70,88,124,124,88,70,70,70,242,252,0,10,25,250,202,202,202,202,185,176,195,232,183,176,202,202,201,55,129,14,168,166,196,239,0,13,13,243,243,0,60,75,90,88,88,130,11,32,60,17,0,248,245,243,13,13,10,0,196,129,33,32,2,1,1,3,2,1,3,3,1,3,2,1,3,3,1,1,1,3,1,2,1,1,1,1,1,2,1,1,1,1,3,3,2,130,9,206,192,192,192,192,192,192,192,192,206,129,0,20,133,5,235,220,237,20,227,225,130,1,38,218,129,11,85,85,53,25,0,251,5,0,238,231,171,171,130,13,32,60,58,56,54,54,55,56,200,200,193,192,200,196,129,128,2,0,12,0,16,0,0,0,16,0,1,8,7,1,2,2,2,2,2,2,2,7,84,232,0,84,0,84,55,201,129,0,170,129,0,86,129,7,182,0,136,182,136,182,218,38,129,0,78,129,0,178,129,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,29,0,0,0,31,0,1,0,129,65,0,140,0,140,133,9,150,150,55,55,201,201,55,55,201,201,131,128,0,136,129,3,120,0,216,40,143,129,1,146,146,133,9,80,80,218,218,38,38,218,218,38,38,131,128,6,80,246,10,176,0,40,216,129,1,236,20,139,0,128,2,0,12,0,21,0,0,0,21,0,1,0,135,7,201,55,55,201,55,55,201,201,131,7,48,208,208,48,48,208,208,48,139,135,7,38,218,218,38,218,218,38,38,131,7,228,40,40,228,216,28,28,216,139,0,128,2,0,12,0,25,0,0,0,27,0,1,0,129,65,0,140,0,140,133,5,150,150,201,55,55,201,131,128,0,136,129,3,120,0,216,40,139,129,1,146,146,133,5,80,80,38,218,218,38,131,128,6,80,246,10,176,0,40,216,129,1,236,20,135,0,128,2,0,12,0,13,0,0,0,13,0,1,6,5,1,2,2,2,1,2,5,30,0,30,0,201,55,3,208,48,208,48,129,5,176,0,176,0,38,218,3,40,228,28,216,129,128,2,0,12,0,21,0,0,0,23,0,1,0,129,65,0,140,0,140,133,1,150,150,131,128,0,136,129,3,120,0,216,40,135,129,1,146,146,133,1,80,80,131,128,6,80,246,10,176,0,40,216,129,1,236,20,131,0,128,2,0,12,0,90,0,0,0,89,0,1,0,129,65,0,175,0,175,131,37,2,12,25,26,14,7,2,2,50,100,100,100,88,68,167,219,26,26,26,253,247,248,197,160,160,160,157,156,68,29,234,234,234,245,23,23,231,231,131,128,6,131,5,251,117,253,211,45,129,16,251,246,149,155,162,162,162,192,221,237,17,30,121,102,60,20,19,129,11,94,94,63,20,14,247,247,161,176,186,221,238,136,7,252,252,201,201,18,18,15,15,129,35,236,236,248,247,6,0,216,190,190,190,197,206,0,249,236,236,236,250,9,10,37,66,66,66,60,50,31,22,20,20,20,252,184,184,66,66,131,7,226,30,246,10,189,254,40,216,129,14,2,0,89,86,81,81,81,55,20,251,233,231,215,224,8,131,11,175,175,208,236,6,8,10,8,2,234,10,14,136,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,49,32,0,0,47,0,1,0,16,15,0,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,131,11,49,207,24,232,49,207,24,232,49,207,24,232,3,48,208,48,208,129,1,208,48,129,1,208,48,129,1,208,48,135,3,210,210,46,46,131,3,210,210,46,46,131,3,210,210,46,46,135,7,221,33,33,221,221,33,33,221,131,3,221,33,33,221,131,3,221,33,33,221,131,3,221,33,33,221,131,0,128,2,0,12,0,2,0,0,0,7,0,1,0,133,133,64,255,126,0,10,131,133,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,19,0,0,0,19,0,1,0,147,15,48,208,208,48,48,208,208,48,48,208,208,48,48,208,208,48,131,147,15,228,40,40,228,216,28,28,216,228,40,40,228,216,28,28,216,131,0,128,2,0,12,0,15,0,0,0,15,0,1,0,143,11,48,208,208,48,48,208,208,48,48,208,208,48,131,143,11,222,34,34,222,222,34,34,222,222,34,34,222,131,0,128,2,0,12,0,51,0,0,0,31,0,1,0,129,69,0,170,0,170,0,140,0,140,0,170,0,170,133,64,255,116,0,20,129,64,0,160,132,0,236,64,255,126,0,60,131,0,196,64,0,130,10,20,206,50,48,208,208,48,48,208,208,48,131,129,5,156,156,196,196,152,152,138,64,0,140,131,128,1,226,226,131,1,30,30,131,3,60,60,0,196,129,0,196,131,0,128,2,0,12,0,51,0,0,0,31,0,1,0,129,69,0,170,0,170,0,140,0,140,0,170,0,170,133,64,255,116,0,20,129,64,0,160,132,0,236,64,255,126,0,60,131,0,196,64,0,130,10,20,206,50,48,208,208,48,48,208,208,48,131,129,5,156,156,196,196,152,152,138,64,0,140,131,128,1,226,226,131,1,30,30,131,3,60,60,0,196,129,0,196,131,0,128,2,0,12,0,69,0,0,0,40,0,1,0,129,65,0,150,0,150,133,64,255,116,0,20,129,64,0,160,130,69,0,170,0,170,0,140,0,140,0,170,0,170,135,0,236,64,255,126,129,64,0,130,11,20,206,50,48,208,208,48,48,208,208,48,236,64,255,126,0,60,131,0,196,64,0,130,2,20,206,50,131,129,1,146,146,138,64,0,140,129,5,156,156,196,196,152,152,135,128,0,90,129,0,166,131,3,60,60,0,196,129,3,196,0,226,226,131,1,30,30,134,128,2,0,12,0,46,0,0,0,41,0,1,0,132,65,255,126,255,126,130,1,254,254,129,3,254,254,0,30,130,0,30,133,128,3,50,206,0,95,129,16,161,68,228,228,68,28,188,188,28,0,75,226,146,30,181,0,110,131,132,1,110,110,130,1,2,2,129,3,2,2,0,236,130,0,236,133,131,0,166,129,16,90,20,80,80,20,176,236,236,176,0,20,80,70,176,236,0,186,131,128,2,0,12,0,20,0,0,0,17,0,1,0,0,40,64,0,140,1,40,196,139,131,7,48,208,208,48,48,208,208,48,131,3,223,183,7,47,139,131,7,222,34,34,222,222,34,34,222,131,128,2,0,12,0,30,0,0,0,24,0,1,0,1,1,1,65,0,141,0,141,5,1,1,1,1,247,247,133,128,0,146,129,7,110,0,206,50,49,207,207,49,131,129,1,146,146,131,65,255,96,255,96,133,128,0,90,129,0,166,130,3,223,33,33,223,131,0,128,2,0,12,0,64,0,0,0,62,0,1,0,129,2,41,91,123,67,0,149,0,164,0,164,0,150,2,124,91,40,133,65,0,140,0,140,131,1,227,227,65,0,144,0,144,131,128,16,131,182,253,45,73,81,179,186,219,14,81,125,0,206,50,0,146,129,7,110,0,206,50,51,209,209,51,131,129,0,172,71,255,75,255,40,255,57,255,86,255,86,255,57,255,41,255,77,0,174,133,65,255,86,255,86,131,65,255,108,255,108,133,128,11,100,52,249,221,216,224,34,41,41,15,210,156,131,0,120,129,0,136,130,3,224,34,34,224,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,21,0,0,0,19,0,1,0,129,65,0,210,0,210,139,128,10,136,5,251,120,0,201,55,50,206,206,50,131,129,1,206,206,139,128,0,60,129,7,196,0,30,226,224,32,32,224,131,0,128,2,0,12,0,67,0,0,0,51,0,1,0,129,69,0,170,0,170,0,140,0,140,0,170,0,170,134,0,226,130,2,226,2,2,64,255,116,2,20,2,2,64,0,160,132,0,236,64,255,126,0,60,131,0,196,64,0,130,18,20,206,50,0,146,216,75,40,110,0,181,48,218,218,48,38,208,208,38,131,129,5,156,156,196,196,152,152,134,0,20,130,2,20,254,254,129,2,254,254,0,64,0,140,131,128,1,226,226,131,1,30,30,131,11,70,70,20,186,186,0,236,0,70,70,0,186,129,0,186,131,0,128,2,0,12,0,36,0,0,0,30,0,1,0,1,255,255,65,0,180,0,180,1,255,255,131,65,0,180,0,180,135,15,40,171,5,251,85,216,211,45,40,171,5,251,85,216,211,45,131,5,236,236,236,236,236,236,131,1,236,236,135,1,246,50,129,5,206,10,40,216,246,50,129,3,206,10,40,216,131,0,128,2,0,12,0,43,0,0,0,40,0,1,0,129,65,0,140,0,140,129,1,236,236,129,65,0,140,0,140,131,1,216,216,133,128,0,146,129,5,110,0,206,50,0,146,129,7,110,0,206,50,49,207,207,49,131,129,65,255,106,255,106,129,1,236,236,129,1,146,146,131,65,255,66,255,66,133,128,0,90,129,0,166,131,0,90,129,0,166,130,3,223,33,33,223,131,128,2,0,12,0,45,0,0,0,41,0,1,0,129,65,0,140,0,140,134,0,226,130,2,226,2,2,129,1,2,2,133,128,0,146,129,19,110,0,206,50,0,146,226,75,30,110,0,181,68,228,228,68,28,188,188,28,131,129,1,146,146,134,0,20,130,2,20,254,254,129,1,254,254,133,128,0,90,129,0,166,131,14,70,80,20,176,186,0,236,20,80,80,20,176,236,236,176,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,47,0,0,0,42,0,1,0,132,2,216,165,132,67,255,107,255,92,255,92,255,108,3,133,165,214,0,65,255,112,255,112,133,128,18,50,206,0,125,81,14,219,186,179,81,73,45,253,182,131,51,209,209,51,131,132,0,83,71,0,179,0,215,0,200,0,170,0,170,0,199,0,216,0,181,0,83,136,131,15,156,210,15,41,41,34,224,216,221,249,52,100,224,34,34,224,131,128,2,0,12,0,47,0,0,0,42,0,1,0,132,2,216,165,132,67,255,107,255,92,255,92,255,108,3,133,165,214,0,65,255,112,255,112,133,128,18,50,206,0,125,81,14,219,186,179,81,73,45,253,182,131,51,209,209,51,131,132,0,83,71,0,179,0,215,0,200,0,170,0,170,0,199,0,216,0,181,0,83,136,131,15,156,210,15,41,41,34,224,216,221,249,52,100,224,34,34,224,131,128,2,0,12,0,85,0,0,0,82,0,1,0,129,2,41,91,123,67,0,149,0,164,0,164,0,150,2,124,91,40,136,2,216,165,132,67,255,107,255,92,255,92,255,108,3,133,165,214,0,67,255,112,255,112,0,138,0,138,131,128,34,131,182,253,45,73,81,179,186,219,14,81,125,0,206,50,0,50,206,0,125,81,14,219,186,179,81,73,45,253,182,131,51,209,209,51,131,129,0,172,71,255,75,255,40,255,57,255,86,255,86,255,57,255,41,255,77,0,174,136,0,83,71,0,179,0,215,0,200,0,170,0,170,0,199,0,216,0,181,0,83,130,1,234,234,131,128,11,100,52,249,221,216,224,34,41,41,15,210,156,134,15,156,210,15,41,41,34,224,216,221,249,52,100,224,34,34,224,131,128,2,0,12,0,68,0,0,0,58,0,1,0,132,65,255,96,255,96,133,2,216,165,132,67,255,107,255,92,255,92,255,108,3,133,165,214,0,65,255,112,255,112,1,69,69,131,128,2,50,206,0,64,0,130,129,64,255,126,128,18,50,206,0,125,81,14,219,186,179,81,73,45,253,182,131,51,209,209,51,131,132,1,90,90,133,0,83,71,0,179,0,215,0,200,0,170,0,170,0,199,0,216,0,181,0,83,130,65,0,188,0,188,131,131,0,186,129,0,70,131,15,156,210,15,41,41,34,224,216,221,249,52,100,224,34,34,224,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,133,133,133,133,0,128,2,0,12,0,84,0,0,0,79,0,1,0,132,2,216,165,132,67,255,107,255,92,255,92,255,108,3,133,165,214,0,65,255,112,255,112,133,15,55,59,197,201,0,20,48,48,48,20,0,235,208,208,208,235,131,128,23,50,206,0,125,81,14,219,186,179,81,73,45,253,182,131,51,209,209,51,49,207,207,49,156,129,0,156,129,8,227,207,186,159,159,159,186,207,227,132,132,0,83,71,0,179,0,215,0,200,0,170,0,170,0,199,0,216,0,181,0,83,136,15,216,196,60,40,0,238,215,215,215,238,0,17,41,41,41,17,131,131,20,156,210,15,41,41,34,224,216,221,249,52,100,224,34,34,224,224,34,34,224,120,129,0,120,129,8,24,41,58,82,82,82,58,41,24,132,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,1,216,40,131,133,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,21,0,0,0,22,0,1,0,132,65,255,116,255,116,129,1,106,106,132,128,3,40,216,0,120,129,0,136,135,132,1,110,110,129,1,176,176,132,128,9,216,40,0,176,10,246,80,0,20,236,132,128,2,0,12,0,26,0,0,0,27,0,1,0,132,65,255,116,255,116,129,6,106,106,0,55,55,201,201,131,128,3,40,216,0,120,129,0,136,139,132,1,110,110,129,6,176,176,0,218,218,38,38,131,128,9,216,40,0,176,10,246,80,0,20,236,136,128,2,0,12,0,30,0,0,0,31,0,1,0,132,65,255,116,255,116,129,10,106,106,0,55,55,201,201,55,55,201,201,131,128,3,40,216,0,120,129,0,136,143,132,1,110,110,129,10,176,176,0,218,218,38,38,218,218,38,38,131,128,9,216,40,0,176,10,246,80,0,20,236,140,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,94,0,0,0,88,0,1,0,2,73,1,1,129,65,255,92,255,92,38,73,78,62,80,102,102,102,90,70,169,221,28,28,28,255,249,233,231,12,115,64,10,249,199,162,162,162,159,158,70,31,236,236,236,28,25,25,233,233,131,20,22,42,208,247,112,248,2,153,2,154,163,197,221,237,17,30,121,102,60,20,19,130,17,32,52,114,112,104,104,104,67,20,14,248,247,161,177,186,221,252,15,135,0,3,129,4,255,255,80,80,3,129,35,216,190,190,190,197,206,0,249,236,236,236,250,9,246,10,49,27,4,251,9,37,66,66,66,60,50,31,22,20,20,20,252,184,184,66,66,131,18,22,216,40,24,216,10,246,82,0,71,71,49,20,251,233,231,215,224,8,132,16,22,40,200,192,185,185,185,212,236,6,9,10,8,3,234,10,14,136,0,128,2,0,12,0,101,0,0,0,94,0,1,0,2,231,1,1,129,65,255,92,255,92,32,231,58,42,69,98,98,98,86,66,165,217,24,24,24,251,245,246,195,158,158,158,155,154,66,27,232,232,232,15,21,21,229,229,129,65,0,175,0,175,1,222,222,133,20,43,42,208,247,112,248,2,184,11,173,180,205,221,237,17,30,121,102,60,20,19,129,12,94,94,63,20,14,248,247,161,177,186,221,254,22,132,6,131,5,251,107,243,211,45,131,0,231,129,42,69,69,80,80,231,2,2,218,192,192,192,199,208,2,251,238,238,238,252,11,12,39,68,68,68,62,52,33,24,22,22,22,254,186,186,68,68,237,237,186,186,233,233,133,18,23,216,40,24,216,10,246,93,10,91,91,60,20,251,233,231,215,224,8,131,12,175,175,208,236,6,9,10,8,3,234,10,19,10,131,7,226,30,246,10,201,10,40,216,131,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,1,156,60,131,133,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,21,0,0,0,19,0,1,0,132,65,255,46,255,46,136,128,10,55,201,0,120,251,5,136,50,206,206,50,131,132,1,50,50,136,128,3,226,30,0,196,129,4,60,224,32,32,224,131,0,128,2,0,12,0,51,0,0,0,33,0,1,0,132,69,255,86,255,86,255,116,255,116,255,86,255,86,128,0,236,64,0,140,130,64,255,96,133,128,2,50,206,0,64,0,130,0,196,131,0,60,64,255,126,7,48,208,208,48,48,208,208,48,131,132,5,104,104,60,60,100,100,132,64,255,116,134,0,20,129,2,236,30,30,131,6,226,226,0,60,60,0,196,129,0,196,131,0,128,2,0,12,0,87,0,0,0,55,0,1,0,129,69,0,170,0,170,0,140,0,140,0,170,0,170,136,69,255,86,255,86,255,116,255,116,255,86,255,86,128,0,236,65,0,140,255,116,1,20,0,65,255,96,0,160,132,0,236,64,255,126,0,60,131,0,196,64,0,130,6,20,206,50,236,50,206,20,64,0,130,0,196,131,0,60,64,255,126,7,48,228,228,48,28,208,208,28,131,129,5,156,156,196,196,152,152,136,5,104,104,60,60,100,100,130,1,40,156,64,255,116,128,0,40,64,0,180,131,128,1,226,226,131,1,30,30,134,1,30,30,131,6,226,226,0,80,80,0,176,129,0,176,131,0,128,2,0,12,0,86,0,0,0,60,0,1,0,129,69,0,170,0,170,0,140,0,140,0,170,0,170,136,69,255,86,255,86,255,116,255,116,255,86,255,86,128,0,236,65,0,140,255,116,1,20,0,65,255,96,0,160,132,128,64,255,126,0,60,131,0,196,64,0,130,128,5,206,50,0,50,206,0,64,0,130,0,196,131,0,60,64,255,126,7,48,208,208,48,48,208,208,48,131,129,5,156,156,196,196,152,152,136,5,104,104,60,60,100,100,130,1,40,156,64,255,116,128,0,40,64,0,180,131,2,20,226,226,131,2,30,30,236,129,0,20,129,2,236,30,30,131,6,226,226,0,60,60,0,196,129,0,196,131,0,128,2,0,12,0,75,0,0,0,53,0,1,0,132,69,255,86,255,86,255,116,255,116,255,86,255,86,128,0,236,64,0,140,2,254,254,0,64,255,96,3,254,254,0,30,130,0,30,133,128,2,50,206,0,64,0,130,0,196,131,0,60,64,255,126,10,48,188,188,48,68,208,208,68,236,55,186,64,255,126,2,70,201,20,64,0,130,131,132,5,104,104,60,60,100,100,130,1,2,2,64,255,116,128,3,2,2,0,236,130,0,236,133,0,20,129,2,236,30,30,131,6,226,226,0,40,40,0,216,129,0,216,129,2,40,70,216,129,0,186,131,0,128,2,0,12,0,2,0,0,0,5,0,1,0,133,133,1,216,40,131,133,128,2,0,12,0,38,0,0,0,27,0,1,0,0,237,129,1,237,237,65,255,76,255,76,0,237,132,65,255,76,255,76,132,15,50,45,211,206,75,251,5,181,50,45,211,206,75,251,5,181,131,132,1,20,20,133,1,20,20,132,128,3,216,40,0,196,129,5,60,0,216,40,0,196,129,0,60,131,128,2,0,12,0,65,0,0,0,52,0,1,0,132,2,216,165,132,67,255,107,255,92,255,92,255,108,2,133,165,214,133,65,255,116,255,116,128,65,255,112,255,112,133,128,18,50,206,0,125,81,14,219,186,179,81,73,45,253,182,131,0,50,206,0,64,0,130,129,64,255,126,3,51,209,209,51,131,132,0,83,71,0,179,0,215,0,200,0,170,0,170,0,199,0,216,0,181,0,83,133,1,110,110,136,131,11,156,210,15,41,41,34,224,216,221,249,52,100,131,0,186,129,4,70,224,34,34,224,131,128,2,0,12,0,69,0,0,0,45,0,1,0,132,69,255,86,255,86,255,116,255,116,255,86,255,86,133,65,255,106,255,106,128,0,236,64,0,140,130,64,255,96,133,128,2,50,206,0,64,0,130,0,196,131,0,60,64,255,126,128,2,50,206,0,64,0,130,129,64,255,126,7,48,208,208,48,48,208,208,48,131,132,5,104,104,60,60,100,100,133,1,110,110,132,64,255,116,134,0,20,129,2,236,30,30,131,2,226,226,20,129,1,236,166,129,5,90,0,60,60,0,196,129,0,196,131,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,0,2,0,12,0,117,32,0,0,103,32,1,36,35,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,5,4,2,1,2,5,1,1,1,1,2,2,2,1,132,2,216,165,132,67,255,107,255,92,255,92,255,108,10,133,165,214,0,236,228,226,222,211,206,196,64,255,126,11,139,162,196,206,211,222,226,228,236,82,232,232,128,34,50,206,0,125,81,14,219,186,179,81,73,45,253,182,131,50,54,55,57,55,55,55,49,207,204,202,202,202,204,202,201,202,202,206,211,34,33,0,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,5,3,2,4,5,1,1,1,1,1,1,2,2,1,130,3,63,106,89,34,129,24,25,73,92,57,0,40,26,255,246,244,236,10,1,0,10,40,32,14,10,251,237,226,202,20,20,129,31,156,205,1,19,15,10,246,241,243,8,57,100,246,246,241,246,247,246,0,226,30,60,60,60,94,90,94,90,90,0,20,0,128,2,0,12,0,2,0,0,0,2,0,1,0,134,134,134,134,0,128,2,0,12,0,136,32,0,0,117,0,1,0,43,42,0,2,1,8,1,1,1,2,4,1,1,8,1,2,6,2,1,1,1,1,3,2,2,1,1,2,2,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,26,226,201,196,196,185,171,158,136,170,186,196,196,202,226,226,234,236,240,251,0,82,232,0,251,240,233,226,132,2,216,165,132,67,255,107,255,92,255,92,255,108,3,133,165,214,0,42,54,51,54,54,54,54,55,55,201,201,201,201,198,201,201,202,201,199,201,201,0,241,54,54,53,55,54,0,50,206,0,115,71,7,216,186,179,81,73,48,4,192,141,164,14,4,15,20,3,234,216,221,223,226,206,206,206,20,20,20,131,4,2,8,10,10,2,135,3,63,106,89,34,129,3,25,73,92,57,132,63,246,246,246,246,246,246,246,246,243,239,236,236,236,237,240,241,241,15,15,25,40,50,50,50,53,57,60,60,60,60,60,60,60,60,60,60,60,63,60,60,60,101,110,107,90,90,90,60,20,20,0,246,246,246,246,246,245,246,246,246,246,246,246,246,131,11,156,205,1,19,15,10,246,241,243,8,57,100,131,128,2,0,12,0,25,0,0,0,24,0,1,0,0,200,131,65,255,91,255,91,4,170,24,90,232,166,131,7,41,45,211,246,115,251,5,192,135,0,21,129,8,255,255,80,80,247,236,201,20,55,131,7,248,216,40,20,216,10,246,72,135,128,2,0,12,0,43,0,0,0,40,0,1,0,129,65,0,175,0,175,1,33,33,129,0,228,131,65,255,91,255,91,4,198,24,90,232,166,131,128,14,131,5,251,102,238,211,45,28,45,211,246,115,251,5,179,135,8,1,1,206,206,222,222,20,20,21,129,8,255,255,80,80,247,236,201,20,55,131,15,226,30,246,10,223,32,40,216,248,216,40,20,216,10,246,72,135,0,2,0,12,0,70,32,0,0,70,32,1,22,21,0,1,2,1,2,1,1,1,1,3,2,1,3,1,1,1,1,1,1,3,3,2,21,24,24,4,236,208,246,19,7,250,26,170,170,204,212,249,231,194,192,196,166,27,0,21,255,254,254,254,248,194,150,143,143,194,208,194,254,254,13,53,108,109,109,254,208,48,22,21,0,1,2,1,1,1,2,1,1,3,2,1,3,1,1,1,1,1,1,3,2,2,21,236,236,251,10,10,12,10,238,228,2,78,78,244,250,17,11,21,26,32,52,2,2,21,228,52,32,32,32,51,53,52,52,52,32,248,208,208,214,218,212,188,188,248,222,34,128,2,0,12,0,176,0,0,0,185,0,1,0,63,24,24,24,19,0,243,233,236,252,13,7,5,33,61,60,30,5,248,230,231,242,242,242,68,68,68,14,246,245,252,22,24,11,254,254,240,234,221,219,210,216,193,166,166,166,10,14,25,31,10,229,214,217,242,10,10,10,10,10,30,20,10,10,10,25,20,30,45,68,73,18,18,73,69,46,226,17,68,68,68,17,226,202,176,176,176,202,68,68,242,242,131,11,1,1,239,237,237,237,232,200,159,148,148,148,65,255,109,255,109,1,169,212,130,1,252,252,131,33,18,80,80,80,68,93,40,3,1,1,1,6,54,90,90,90,90,42,1,1,40,40,37,37,32,2,233,220,206,206,206,206,40,40,135,18,6,10,10,246,246,251,0,156,156,234,50,76,100,100,100,53,1,208,156,135,63,236,236,236,251,10,3,247,241,234,239,223,214,211,211,208,186,192,198,222,1,20,20,20,196,196,196,197,196,226,16,51,60,45,19,8,1,245,241,2,21,34,44,54,54,54,20,255,236,235,11,52,61,56,35,20,20,20,20,20,216,8,62,62,62,25,9,216,204,189,186,196,196,186,188,204,246,222,196,196,196,222,246,33,80,80,80,33,196,196,20,20,131,15,226,50,39,30,30,30,46,50,55,70,70,70,18,232,248,251,130,63,4,250,226,226,226,226,202,176,176,176,205,16,1,236,226,226,226,220,226,218,186,186,186,214,246,226,206,206,225,249,0,17,28,24,20,20,20,20,206,206,226,226,226,226,226,226,226,226,226,226,226,226,226,226,226,10,10,15,19,228,186,186,186,205,6,226,245,10,226,226,226,226,131,128,2,0,12,0,57,0,0,0,62,0,1,0,8,26,26,26,13,0,12,19,16,7,129,11,80,80,80,230,230,230,242,0,244,237,240,249,129,6,174,174,174,26,26,230,230,131,133,5,234,201,169,147,147,147,135,5,22,55,87,109,109,109,129,3,48,208,208,48,131,130,24,239,236,248,252,243,229,218,217,202,202,202,20,20,20,30,30,33,11,238,223,245,29,74,74,74,135,31,216,10,24,20,20,20,32,50,68,80,80,80,40,40,40,10,242,236,236,236,224,206,188,176,176,176,236,216,222,34,34,222,131,128,2,0,12,0,120,0,0,0,108,0,1,0,129,2,35,84,119,68,0,149,0,164,0,164,0,150,0,128,1,98,46,131,17,23,23,23,19,22,27,29,33,44,49,51,53,55,58,59,71,94,117,65,0,129,0,129,17,116,93,71,59,58,55,53,50,49,44,33,29,27,22,19,173,173,173,131,128,52,141,190,0,44,69,77,175,182,212,3,70,115,0,204,48,50,45,206,206,206,202,201,199,201,201,201,201,201,201,201,201,204,207,207,49,49,51,54,54,54,54,54,54,54,54,51,54,54,54,54,54,54,50,131,129,3,188,143,162,221,129,3,232,188,171,204,131,37,235,235,235,215,229,1,9,12,16,19,15,8,1,250,245,246,250,253,255,255,253,250,246,245,240,233,226,219,215,223,241,245,5,18,29,53,53,53,131,128,27,100,56,6,241,240,246,10,14,17,255,204,156,0,254,254,236,0,10,10,10,16,10,9,10,10,10,7,3,130,21,15,30,30,226,226,211,196,196,196,196,196,196,196,196,161,166,161,166,166,166,0,236,131,0,128,2,0,12,0,111,0,0,0,112,0,1,0,53,24,24,24,19,0,214,222,236,251,3,246,230,251,0,18,16,236,241,243,236,246,8,10,82,82,82,232,232,232,223,226,253,233,216,221,206,236,2,4,243,236,220,197,200,226,228,234,231,221,213,216,172,172,172,131,128,23,251,239,241,241,241,251,231,214,201,201,201,192,191,208,201,201,201,200,191,171,161,161,161,251,129,25,4,17,14,14,14,17,44,56,54,54,54,66,73,64,45,43,54,54,54,59,74,93,94,94,94,251,132,42,236,236,236,246,0,238,217,206,228,219,226,230,240,236,236,230,226,222,215,206,216,198,196,202,202,202,20,20,20,11,0,252,244,246,2,10,20,14,6,1,0,3,2,129,8,2,10,10,22,41,50,50,50,50,131,53,226,0,27,50,50,50,73,80,68,70,70,70,54,50,49,50,50,50,59,50,30,40,40,40,20,20,20,0,224,196,196,196,202,206,205,216,216,216,217,217,216,219,228,236,236,236,236,236,230,206,206,206,216,226,131,0,2,0,12,0,145,32,0,0,120,32,1,46,45,1,2,1,1,1,1,1,1,6,2,1,8,1,1,1,2,4,1,1,8,1,1,1,6,2,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,29,24,0,5,16,20,22,28,30,30,56,60,60,71,85,98,120,86,70,60,60,55,39,30,30,21,20,17,5,0,174,129,2,41,91,123,67,0,149,0,164,0,164,0,150,2,124,91,40,131,28,15,202,202,203,202,202,202,202,202,205,202,202,202,202,201,201,55,55,55,55,58,55,55,55,55,55,58,55,55,129,14,131,182,253,45,73,81,179,186,219,14,81,125,0,206,50,42,41,0,1,2,9,1,2,2,1,4,5,1,1,2,2,5,5,8,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,236,236,129,2,2,10,2,137,9,253,240,236,252,22,40,35,33,30,50,129,3,188,143,162,221,129,3,232,188,171,204,130,41,236,0,10,10,11,10,9,10,10,20,19,16,15,241,206,196,196,194,196,196,196,155,146,149,166,166,196,0,100,56,6,241,240,246,10,14,17,255,204,156,0,254,0,128,2,0,12,0,30,0,0,0,26,0,1,0,7,255,73,181,196,60,250,4,137,131,1,60,60,133,130,12,48,48,80,80,0,48,208,208,48,48,208,208,48,131,7,225,237,21,37,243,1,1,19,139,130,12,228,228,196,196,0,216,28,28,216,228,40,40,228,131,0,0,2,0,12,0,184,32,0,0,130,32,1,60,59,0,1,1,1,4,1,3,1,4,2,1,3,1,2,1,1,4,1,3,1,4,2,1,1,2,1,1,1,1,1,4,1,3,1,4,2,1,3,1,2,1,1,1,1,1,1,4,1,3,1,4,2,1,1,2,1,1,1,1,1,128,58,42,204,162,232,232,232,232,232,70,70,232,190,138,138,190,24,24,24,24,24,118,118,118,24,238,186,186,186,238,232,232,232,232,232,70,70,232,190,138,138,190,21,63,0,214,24,24,24,24,24,118,118,118,24,238,186,186,186,238,128,58,200,227,21,0,255,0,255,178,220,0,78,78,0,220,178,255,254,255,251,177,219,255,33,75,75,33,255,219,177,0,255,0,255,178,220,0,78,78,0,220,178,4,204,0,50,255,254,255,251,177,219,255,33,75,75,33,255,219,177,42,41,0,1,1,1,5,6,2,4,2,1,3,1,5,2,2,4,4,2,1,3,1,5,6,2,4,2,1,3,1,1,1,1,1,5,2,2,4,4,2,1,3,1,41,1,227,205,235,5,25,15,236,15,30,50,30,237,247,1,247,212,247,6,26,6,255,19,9,230,9,24,44,24,38,8,251,25,231,241,251,241,206,241,0,20,0,128,2,40,211,171,129,5,55,231,201,201,25,55,129,6,253,55,230,199,199,25,55,129,9,55,231,201,201,25,55,37,77,0,216,129,6,253,55,230,199,199,25,55,128,2,0,12,0,60,0,0,0,53,0,1,0,128,7,23,58,91,91,91,53,14,14,130,15,12,27,32,32,32,17,248,248,238,238,238,3,14,14,238,238,131,128,4,240,12,52,80,116,65,0,140,0,140,131,15,253,253,226,193,160,133,133,133,163,183,210,253,203,216,10,183,131,128,18,206,206,206,206,206,231,0,196,10,10,10,236,238,216,216,216,239,236,244,130,2,244,196,196,133,128,6,30,24,9,0,221,186,186,133,10,31,40,48,80,80,80,41,10,5,0,30,129,0,10,131,128,2,0,12,0,79,0,0,0,72,0,1,0,1,18,17,129,22,251,250,5,5,5,239,231,241,241,241,241,252,17,17,241,241,10,9,20,20,20,254,246,131,2,11,32,32,133,64,0,130,129,64,0,130,129,2,209,176,144,66,255,96,255,96,255,96,23,148,186,213,0,156,0,50,186,92,92,45,12,236,188,188,188,240,22,49,92,2,95,226,22,131,35,236,235,20,20,5,244,236,236,236,233,241,7,20,20,20,18,236,236,20,20,5,244,236,236,236,233,241,7,20,20,20,18,216,216,20,20,131,0,176,129,0,176,129,10,11,30,50,60,60,60,49,30,9,0,30,129,12,30,226,226,237,0,20,30,30,30,19,0,235,226,135,0,2,0,12,0,28,32,0,0,28,32,1,8,7,1,2,1,2,1,1,2,1,7,25,60,60,0,232,196,196,232,7,60,0,232,196,196,232,25,60,8,7,1,1,2,1,2,1,2,1,7,243,226,226,243,13,30,30,13,7,226,243,13,30,30,13,243,226,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,4,2,4,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,13,30,244,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,172,32,0,0,88,32,1,56,55,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,55,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,55,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,28,27,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,26,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,27,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,196,32,0,0,100,32,1,64,63,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,63,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,63,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,32,31,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,30,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,31,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,172,32,0,0,88,32,1,56,55,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,55,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,55,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,28,27,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,26,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,27,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,172,32,0,0,88,32,1,56,55,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,55,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,55,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,28,27,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,26,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,27,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,172,32,0,0,88,32,1,56,55,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,55,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,55,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,28,27,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,26,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,27,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,12,30,243,226,13,30,244,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,12,30,243,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,13,30,244,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,172,32,0,0,88,32,1,56,55,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,55,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,55,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,28,27,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,26,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,27,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,12,30,243,226,13,30,244,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,172,32,0,0,88,32,1,56,55,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,55,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,55,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,28,27,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,26,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,27,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,13,30,244,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,13,30,244,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,13,30,244,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,4,2,4,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,172,32,0,0,88,32,1,56,55,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,55,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,55,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,28,27,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,26,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,27,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,12,30,243,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,0,30,0,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,4,2,4,2,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,12,30,243,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,12,30,243,226,12,30,243,226,0,30,0,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,12,30,243,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,4,2,4,2,3,3,3,3,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,12,30,243,226,0,30,0,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,3,3,3,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,3,3,3,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,0,30,0,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,3,3,3,3,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,0,30,0,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,4,2,4,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,3,3,3,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,3,3,3,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,0,30,0,0,2,0,12,0,28,32,0,0,16,32,1,8,7,1,2,1,2,1,1,2,1,7,25,60,60,0,232,196,196,232,7,60,0,232,196,196,232,25,60,4,3,0,4,2,4,128,2,226,0,30,3,226,13,30,244,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,4,2,4,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,13,30,244,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,172,32,0,0,88,32,1,56,55,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,55,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,55,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,28,27,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,26,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,27,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,4,2,4,2,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,12,30,243,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,12,30,243,226,13,30,244,226,12,30,243,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,12,30,243,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,12,30,243,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,12,30,243,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,12,30,243,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,4,2,4,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,13,30,244,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,13,30,244,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,13,30,244,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,4,2,4,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,13,30,244,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,13,30,244,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,4,2,4,128,6,226,0,30,0,226,0,30,7,226,12,30,243,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,12,30,243,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,3,3,3,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,3,3,3,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,0,30,0,0,2,0,12,0,28,32,0,0,16,32,1,8,7,1,2,1,2,1,1,2,1,7,25,60,60,0,232,196,196,232,7,60,0,232,196,196,232,25,60,4,3,0,4,2,4,128,2,226,0,30,3,226,12,30,243,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,4,2,4,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,12,30,243,226,13,30,244,0,2,0,12,0,148,32,0,0,76,32,1,48,47,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,47,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,47,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,24,23,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,22,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,23,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,4,2,4,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,12,30,243,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,12,30,243,226,12,30,243,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,3,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,4,2,4,2,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,12,30,243,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,12,30,243,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,4,2,4,128,6,226,0,30,0,226,0,30,7,226,12,30,243,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,12,30,243,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,4,2,4,2,3,3,3,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,12,30,243,226,0,30,0,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,4,2,4,2,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,12,30,243,226,12,30,243,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,3,3,3,128,6,226,0,30,0,226,0,30,7,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,4,2,4,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,12,30,243,0,2,0,12,0,28,32,0,0,16,32,1,8,7,1,2,1,2,1,1,2,1,7,25,60,60,0,232,196,196,232,7,60,0,232,196,196,232,25,60,4,3,0,3,3,3,128,2,226,0,30,3,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,4,2,4,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,4,2,4,2,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,124,32,0,0,64,32,1,40,39,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,39,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,39,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,20,19,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,18,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,19,226,0,30,0,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,4,2,4,2,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,12,30,243,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,13,30,244,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,4,2,4,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,3,3,3,3,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,0,30,0,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,3,3,3,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,3,3,3,3,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,0,30,0,226,0,30,0,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,3,3,3,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,0,30,0,0,2,0,12,0,28,32,0,0,16,32,1,8,7,1,2,1,2,1,1,2,1,7,25,60,60,0,232,196,196,232,7,60,0,232,196,196,232,25,60,4,3,0,4,2,4,128,2,226,0,30,3,226,13,30,244,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,4,2,4,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,12,30,243,0,2,0,12,0,100,32,0,0,52,32,1,32,31,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,31,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,31,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,16,15,0,4,2,4,2,3,3,3,3,3,3,3,3,4,2,4,128,14,226,0,30,0,226,0,30,0,226,0,30,0,226,0,30,15,226,13,30,244,226,0,30,0,226,0,30,0,226,12,30,243,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,4,2,4,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,12,30,243,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,3,3,3,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,13,30,244,226,0,30,0,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,3,3,3,128,6,226,0,30,0,226,0,30,7,226,13,30,244,226,0,30,0,0,2,0,12,0,28,32,0,0,16,32,1,8,7,1,2,1,2,1,1,2,1,7,25,60,60,0,232,196,196,232,7,60,0,232,196,196,232,25,60,4,3,0,4,2,4,128,2,226,0,30,3,226,12,30,243,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,3,3,3,128,6,226,0,30,0,226,0,30,7,226,12,30,243,226,0,30,0,0,2,0,12,0,76,32,0,0,40,32,1,24,23,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,23,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,23,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,12,11,0,4,2,4,2,3,3,3,3,3,3,3,128,10,226,0,30,0,226,0,30,0,226,0,30,11,226,12,30,243,226,0,30,0,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,4,2,4,2,3,3,3,128,6,226,0,30,0,226,0,30,7,226,12,30,243,226,0,30,0,0,2,0,12,0,28,32,0,0,16,32,1,8,7,1,2,1,2,1,1,2,1,7,25,60,60,0,232,196,196,232,7,60,0,232,196,196,232,25,60,4,3,0,3,3,3,128,2,226,0,30,3,226,0,30,0,0,2,0,12,0,52,32,0,0,28,32,1,16,15,1,2,1,2,1,1,2,1,2,2,1,2,1,1,2,1,15,25,60,60,0,232,196,196,232,25,60,60,0,232,196,196,232,15,60,0,232,196,196,232,25,60,60,0,232,196,196,232,25,60,8,7,0,3,3,3,3,3,3,3,128,6,226,0,30,0,226,0,30,7,226,0,30,0,226,0,30,0,0,2,0,12,0,28,32,0,0,16,32,1,8,7,1,2,1,2,1,1,2,1,7,25,60,60,0,232,196,196,232,7,60,0,232,196,196,232,25,60,4,3,0,3,3,3,128,2,226,0,30,3,226,0,30,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,9,0,0,0,7,0,1,0,2,236,70,236,64,255,96,131,135,3,206,40,110,50,131,135,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,40,32,0,0,46,32,1,12,11,1,3,2,1,1,3,2,3,2,1,1,3,11,14,34,0,241,222,241,14,34,0,241,222,241,11,35,241,222,222,241,35,35,241,222,222,241,35,14,13,1,1,2,3,2,1,2,1,1,2,1,2,2,1,13,5,245,245,28,45,45,239,227,211,211,227,251,11,11,13,248,8,32,48,20,8,248,248,8,32,48,48,20,8,128,2,0,12,0,14,0,0,0,16,32,1,6,5,1,3,2,1,1,3,5,14,34,0,241,222,241,5,35,241,222,222,241,35,4,3,1,3,3,1,3,238,212,18,44,3,208,15,40,15,128,2,0,12,0,7,0,0,0,7,0,1,0,3,52,248,147,217,131,135,3,211,191,25,45,131,135,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,45,115,14,210,131,135,3,211,231,65,45,131,135,0,128,2,0,12,0,11,0,0,0,11,0,1,0,7,57,67,212,212,51,61,206,206,131,139,7,206,236,50,20,206,236,50,20,131,139,0,128,2,0,12,0,15,0,0,0,11,0,1,0,128,3,55,201,0,90,129,0,166,131,132,1,45,45,132,4,186,186,70,70,226,129,0,30,131,139,0,128,2,0,12,0,15,0,0,0,11,0,1,0,2,55,0,166,129,2,90,0,201,131,130,1,211,211,134,2,186,186,30,129,2,226,70,70,131,139,0,0,2,0,12,0,23,32,0,0,22,32,1,7,6,1,2,4,3,1,4,2,6,7,15,186,34,70,241,248,129,2,231,205,231,129,7,6,0,3,4,3,2,4,1,128,5,206,50,232,206,50,23,129,1,33,70,130,0,128,2,0,12,0,15,32,0,0,18,0,1,8,7,1,1,2,3,1,2,5,4,4,3,4,6,5,4,3,24,232,28,228,129,1,32,224,7,232,206,206,24,50,50,226,30,7,246,252,4,10,4,252,226,30,0,128,2,0,12,0,48,0,0,0,55,0,1,0,27,19,19,19,251,2,15,20,26,35,35,55,55,55,227,227,227,240,251,239,226,226,225,222,221,206,191,191,191,131,132,5,231,216,198,186,186,186,135,6,29,40,48,70,70,70,35,133,27,206,206,206,236,243,239,246,222,183,186,186,186,186,20,20,20,30,30,3,2,20,21,45,50,50,50,50,50,131,129,11,50,50,50,49,40,49,60,60,60,55,20,20,132,7,7,0,1,246,246,246,252,246,132,128,2,0,12,0,10,32,0,0,6,0,1,0,2,1,1,2,1,26,230,1,158,0,135,128,1,76,76,132,0,128,2,0,12,0,58,0,0,0,55,32,1,0,26,30,30,30,34,37,41,41,41,24,0,246,247,227,227,227,227,227,227,227,227,233,255,2,249,246,0,247,131,128,8,236,248,8,20,32,40,52,59,59,129,5,30,40,33,22,14,6,129,2,49,6,4,129,1,59,59,131,17,16,1,1,2,1,1,3,1,3,1,1,1,2,2,1,3,1,1,16,226,226,212,206,206,216,20,60,60,51,39,30,246,236,20,216,235,128,11,253,242,239,236,216,0,20,17,12,7,0,226,129,1,216,216,128,2,0,12,0,7,0,0,0,7,0,1,0,3,50,15,186,191,131,135,3,216,206,30,40,131,135,0,128,1,0,8,0,23,0,0,0,0,246,129,6,43,90,90,232,232,239,246,131,0,75,129,0,7,130,2,32,74,75,131,128,2,0,12,0,14,0,0,0,16,32,1,6,5,1,3,2,1,1,3,5,14,34,0,241,222,241,5,34,240,221,221,240,34,4,3,1,3,3,1,3,238,212,18,44,3,222,29,54,29,128,2,0,12,0,7,0,0,0,7,0,1,0,3,62,60,191,228,131,135,3,216,216,40,40,131,135,0,128,2,0,12,0,35,0,0,0,33,0,1,0,15,20,20,58,84,84,84,60,25,40,231,216,231,236,236,236,8,131,128,13,187,187,209,237,3,21,21,43,17,246,1,253,246,246,132,15,216,216,206,196,196,196,206,216,216,40,40,31,20,20,20,246,131,128,6,10,10,5,0,250,246,246,129,2,246,247,252,134,0,128,2,0,12,0,42,0,0,0,32,32,1,0,1,246,252,130,15,5,9,9,230,230,213,196,196,196,222,246,241,239,250,248,246,131,129,5,4,9,254,7,25,2,130,8,227,216,194,171,171,171,165,0,254,132,10,9,0,1,1,1,3,3,3,3,3,1,9,4,0,250,250,240,4,54,24,24,18,129,5,10,20,10,0,50,60,129,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,40,32,0,0,52,32,1,12,11,1,3,2,1,1,3,2,3,2,1,1,3,11,14,34,0,241,222,241,14,34,0,241,222,241,11,34,240,221,221,240,34,34,240,221,221,240,34,16,15,0,1,1,1,2,1,3,1,2,1,1,1,2,1,3,1,15,40,21,252,252,21,40,84,84,216,197,172,172,197,216,4,4,15,7,7,32,51,95,95,51,32,7,7,32,51,95,95,51,32,128,2,0,12,0,14,0,0,0,16,32,1,6,5,1,3,2,1,1,3,5,14,34,0,241,222,241,5,35,241,222,222,241,35,4,3,1,3,3,1,3,238,212,18,44,3,246,53,78,53,128,2,0,12,0,7,0,0,0,11,0,1,0,3,46,71,167,172,131,135,3,226,186,40,30,131,128,1,30,30,132,0,128,2,0,12,0,7,0,0,0,11,0,1,0,3,75,80,176,201,131,135,3,236,226,80,40,131,128,1,30,30,132,0,128,2,0,12,0,14,0,0,0,11,0,1,0,1,25,30,64,255,126,4,151,115,120,216,241,131,139,7,246,216,40,40,226,196,10,20,131,139,128,2,0,12,0,15,0,0,0,15,0,1,0,7,20,45,211,236,75,250,6,181,131,132,1,34,34,132,7,211,191,55,35,201,38,208,45,131,132,1,177,177,132,0,128,2,0,12,0,15,0,0,0,15,0,1,0,7,45,20,181,49,207,75,236,211,131,130,1,173,173,134,2,196,216,50,129,2,206,40,60,131,130,1,30,30,134,0,0,2,0,12,0,21,32,0,0,22,32,1,6,5,3,2,2,1,2,2,5,20,191,0,30,65,236,128,2,232,205,205,129,6,5,1,2,2,3,1,2,5,247,236,90,213,166,20,5,236,0,2,30,2,0,0,128,2,0,12,0,50,0,0,0,34,32,1,0,128,22,15,20,20,20,15,0,241,236,236,236,241,0,18,46,46,46,18,0,238,210,210,210,238,131,129,2,5,0,251,130,15,251,0,5,0,216,216,241,0,15,39,39,39,15,0,241,216,131,10,9,1,3,1,2,3,1,5,3,3,1,9,227,196,227,29,60,29,236,9,20,9,9,246,5,10,10,251,246,241,226,14,30,0,128,2,0,12,0,57,0,0,0,56,0,1,0,27,20,20,20,8,252,255,13,13,9,34,41,64,64,64,238,238,238,249,4,247,234,237,227,217,213,192,192,192,131,128,1,30,15,130,6,235,212,192,175,175,175,236,129,1,236,246,130,6,21,43,66,81,81,81,30,132,27,236,236,236,240,0,255,237,216,210,210,199,174,174,174,20,20,20,16,0,250,5,20,23,47,60,80,80,80,131,129,14,22,30,30,30,41,50,52,60,60,60,40,30,30,30,8,130,5,249,246,247,236,236,236,133,128,2,0,12,0,6,0,0,0,7,0,1,0,135,128,1,156,156,132,135,3,236,40,40,236,131,128,2,0,12,0,46,0,0,0,47,0,1,0,22,29,29,29,38,34,41,50,50,50,10,253,247,20,16,10,236,236,236,237,226,229,226,226,131,129,9,11,16,10,13,27,39,65,65,65,50,131,5,10,22,18,10,12,4,132,22,231,231,231,228,231,212,191,191,191,211,222,231,231,238,0,30,30,30,24,20,14,5,5,131,129,13,5,18,20,7,253,246,226,226,226,226,0,10,10,10,129,2,2,0,252,133,128,2,0,12,0,24,0,0,0,21,0,1,0,9,33,63,63,76,80,80,236,236,13,33,131,4,50,226,226,229,232,129,2,8,47,50,131,130,5,227,196,196,20,20,10,132,4,236,30,30,25,13,129,2,247,238,236,131,128,2,0,12,0,7,0,0,0,7,0,1,0,3,49,49,193,207,131,135,3,216,216,40,40,131,135,0,128,2,0,12,0,7,0,0,0,7,0,1,0,3,50,95,206,216,131,135,3,216,226,50,40,131,135,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,128,2,0,12,0,2,0,0,0,2,0,1,0,132,132,132,132,0,0,2,0,12,0,48,32,0,0,55,32,1,16,15,0,1,1,1,2,3,2,1,1,3,2,3,2,1,1,3,15,50,100,255,215,84,104,70,55,36,55,210,230,196,181,162,181,132,3,206,187,187,206,129,4,206,187,187,206,0,18,17,0,1,1,1,1,1,1,2,1,2,2,1,3,1,2,3,2,1,17,218,198,32,52,232,220,204,204,220,244,4,4,24,8,8,47,64,64,131,13,248,248,8,32,48,48,20,8,248,8,32,48,20,8,0,0,2,0,12,0,21,32,0,0,21,32,1,6,5,1,2,2,3,1,2,5,13,24,186,39,70,232,129,3,230,206,231,0,6,5,3,2,1,2,2,2,5,196,35,20,236,221,60,128,2,37,70,70,129,0,2,0,12,0,21,32,0,0,22,32,1,6,5,1,2,2,3,1,2,5,11,24,175,39,81,232,129,3,244,200,244,0,6,5,1,2,2,3,2,2,5,232,206,40,237,216,50,5,236,0,17,30,0,246,0,128,2,0,12,0,103,0,0,0,89,32,1,0,51,24,24,232,232,24,24,232,232,170,170,20,56,94,94,94,65,40,170,170,10,250,232,232,232,223,216,24,24,170,170,230,230,10,10,170,170,0,45,94,94,94,54,20,170,170,0,244,232,232,232,25,70,131,0,47,129,3,47,0,232,232,129,14,154,154,154,186,216,3,51,51,51,4,4,4,252,246,251,133,13,35,231,231,35,4,205,205,205,249,30,63,102,102,102,130,4,4,10,8,4,4,131,30,29,1,2,2,2,2,1,3,3,1,2,3,2,1,2,2,2,2,2,1,1,1,1,1,1,1,1,2,3,2,1,29,187,69,187,69,56,0,196,0,56,100,20,9,0,236,56,56,30,56,0,232,196,196,196,232,0,56,0,20,61,100,128,8,204,74,0,64,64,20,224,224,242,134,12,32,32,32,8,246,222,192,192,192,0,10,14,14,0,128,2,0,12,0,106,0,0,0,95,0,1,0,13,24,24,232,232,24,24,232,232,0,10,23,24,12,5,129,31,48,98,98,98,86,66,165,217,24,24,24,7,10,254,250,235,54,49,19,10,206,158,158,158,155,154,66,27,232,232,232,243,131,71,249,136,249,90,249,90,249,136,6,177,6,122,6,122,6,177,129,16,251,246,141,151,162,162,162,192,221,237,17,30,121,102,60,20,19,130,16,1,12,89,88,94,94,94,59,20,14,248,247,161,177,186,221,238,132,7,187,187,69,69,187,187,69,69,129,37,236,236,248,247,6,0,216,190,190,190,197,206,0,249,236,236,236,6,30,15,33,20,226,249,8,30,48,66,66,66,60,50,31,22,20,20,20,252,131,0,198,129,3,198,0,59,59,130,14,2,0,81,82,81,81,81,55,20,251,233,231,215,224,8,132,16,247,0,175,168,175,175,175,204,236,6,9,10,8,3,234,10,14,132,128,2,0,12,0,105,0,0,0,101,0,1,0,129,65,0,175,0,175,1,30,30,129,41,23,23,231,231,2,12,25,26,14,7,2,2,50,100,100,100,88,68,167,219,26,26,26,253,247,248,197,160,160,160,157,156,68,29,234,234,234,245,23,23,231,231,131,128,9,131,5,251,106,242,211,45,0,206,206,130,16,251,246,149,155,162,162,162,192,221,237,17,30,121,102,60,20,19,129,13,94,94,63,20,14,248,247,161,177,186,221,238,0,94,129,0,94,131,11,252,252,201,201,16,16,15,15,184,184,66,66,129,35,236,236,248,247,6,0,216,190,190,190,197,206,0,249,236,236,236,250,9,10,37,66,66,66,60,50,31,22,20,20,20,252,184,184,66,66,131,10,226,30,246,10,186,251,40,216,0,12,12,130,14,2,0,89,86,81,81,81,55,20,251,233,231,215,224,8,131,13,175,175,208,236,6,9,10,8,3,234,10,14,0,175,129,0,175,131,0,128,2,0,12,0,107,0,0,0,99,0,1,0,2,55,1,1,129,65,255,92,255,92,42,55,78,62,80,102,102,102,90,70,169,221,28,28,28,255,249,233,231,12,115,64,10,249,199,162,162,162,159,158,70,31,236,236,236,28,25,233,233,25,233,25,25,233,131,20,30,42,208,247,112,248,2,161,2,154,163,197,221,237,17,30,121,102,60,20,19,130,17,32,52,114,112,104,104,104,67,20,14,248,247,161,177,186,221,252,15,65,255,120,255,120,129,1,65,65,133,0,59,129,4,255,255,80,80,59,129,39,216,190,190,190,197,206,0,249,236,236,236,250,9,246,10,49,27,4,251,9,37,66,66,66,60,50,31,22,20,20,20,252,184,66,66,184,66,184,184,66,131,18,1,216,40,24,216,10,246,61,0,71,71,49,20,251,233,231,215,224,8,132,19,22,40,200,192,185,185,185,212,236,6,9,10,8,3,234,10,14,0,71,71,129,1,196,196,133,0,128,2,0,12,0,109,0,0,0,104,0,1,0,2,27,1,1,129,65,255,92,255,92,36,27,21,21,229,229,58,42,69,98,98,98,86,66,165,217,24,24,24,251,245,246,195,158,158,158,155,154,66,27,232,232,232,15,21,21,229,229,129,65,0,175,0,175,135,24,21,42,208,247,112,248,2,162,0,173,173,0,11,173,180,205,221,237,17,30,121,102,60,20,19,129,13,94,94,63,20,14,248,247,161,177,186,221,254,22,94,129,8,94,0,131,5,251,93,229,211,45,131,0,231,129,46,69,69,80,80,231,186,186,68,68,2,2,218,192,192,192,199,208,2,251,238,238,238,252,11,12,39,68,68,68,62,52,33,24,22,22,22,254,186,186,68,68,237,237,186,186,62,62,133,22,23,216,40,24,216,10,246,93,0,91,91,0,10,91,91,60,20,251,233,231,215,224,8,131,13,175,175,208,236,6,9,10,8,3,234,10,19,10,175,129,8,175,226,30,246,10,166,231,40,216,131,0,1,0,0,7,215,0,66,121,53,134,224,95,15,60,245,0,11,8,0,0,0,0,0,216,207,225,101,0,0,0,0,219,32,55,250,242,224,251,60,5,104,8,232,0,0,0,6,0,2,0,1,0,0,0,0,0,1,0,0,7,108,254,32,0,0,4,176,242,224,251,179,5,104,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,82,4,176,0,128,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,45,4,176,0,42,4,176,0,42,4,176,0,160,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,160,4,176,0,42,4,176,0,160,4,176,0,42,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,128,4,176,0,150,4,176,0,160,4,176,0,64,4,176,0,160,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,140,4,176,0,62,4,176,0,140,4,176,0,140,4,176,0,168,4,176,0,45,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,96,4,176,0,96,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,129,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,58,4,176,0,128,4,176,0,148,4,176,0,148,4,176,0,148,4,176,0,148,4,176,0,148,4,176,255,128,4,176,0,148,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,76,4,176,0,17,4,176,0,66,4,176,0,66,4,176,0,76,4,176,0,76,4,176,0,160,4,176,0,160,4,176,0,76,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,129,4,176,0,129,4,176,0,129,4,176,0,129,4,176,0,129,4,176,0,129,4,176,0,140,4,176,0,76,4,176,0,80,4,176,0,80,4,176,0,80,4,176,0,80,4,176,0,80,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,140,4,176,0,44,4,176,0,45,4,176,0,20,4,176,0,20,4,176,0,20,4,176,0,20,4,176,0,20,4,176,0,66,4,176,0,25,4,176,0,25,4,176,0,25,4,176,0,25,4,176,0,25,4,176,0,25,4,176,0,25,4,176,0,25,4,176,0,25,4,176,0,150,4,176,0,150,4,176,0,150,4,176,0,150,4,176,0,45,4,176,0,96,4,176,0,148,4,176,0,76,4,176,0,129,4,176,0,150,4,176,0,168,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,21,4,176,0,21,4,176,0,168,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,96,4,176,0,118,4,176,0,96,4,176,0,96,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,166,4,176,0,68,4,176,0,136,4,176,0,136,4,176,0,79,4,176,0,68,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,96,4,176,0,168,4,176,0,62,4,176,255,184,4,176,255,189,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,200,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,170,4,176,0,170,4,176,0,170,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,88,4,176,0,88,4,176,0,88,4,176,0,88,4,176,0,88,4,176,0,88,4,176,0,112,4,176,0,168,4,176,0,168,4,176,0,0,4,176,0,168,4,176,0,168,4,176,0,168,4,176,255,58,4,176,0,168,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,132,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,20,4,176,0,168,4,176,0,168,4,176,0,96,4,176,0,80,4,176,0,80,4,176,0,80,4,176,0,80,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,68,4,176,0,68,4,176,0,60,4,176,0,60,4,176,0,60,4,176,0,60,4,176,0,60,4,176,0,0,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,80,4,176,0,95,4,176,0,70,4,176,0,70,4,176,0,70,4,176,0,70,4,176,0,70,4,176,0,106,4,176,0,55,4,176,0,55,4,176,0,55,4,176,0,55,4,176,0,55,4,176,0,55,4,176,0,55,4,176,0,55,4,176,0,55,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,96,4,176,0,242,4,176,0,136,4,176,0,168,4,176,0,136,4,176,0,156,4,176,0,160,4,176,0,121,4,176,246,230,4,176,1,28,4,176,1,2,4,176,1,33,4,176,0,45,4,176,0,160,4,176,0,160,4,176,0,180,4,176,0,180,4,176,0,180,4,176,0,30,4,176,0,160,4,176,0,160,4,176,0,160,4,176,0,27,4,176,0,64,4,176,0,148,4,176,0,148,4,176,0,148,4,176,0,140,4,176,0,140,4,176,0,37,4,176,0,128,4,176,0,140,4,176,0,76,4,176,0,140,4,176,0,160,4,176,0,96,4,176,0,80,4,176,0,96,4,176,0,96,4,176,0,66,4,176,0,66,4,176,0,140,4,176,0,140,4,176,0,128,4,176,0,128,4,176,0,140,4,176,0,160,4,176,0,0,4,176,0,128,4,176,0,53,4,176,0,128,4,176,0,129,4,176,0,96,4,176,0,17,4,176,0,168,4,176,0,168,4,176,0,96,4,176,0,20,4,176,0,80,4,176,0,72,4,176,0,20,4,176,255,252,4,176,0,27,4,176,0,140,4,176,0,140,4,176,0,25,4,176,0,25,4,176,0,66,4,176,0,140,4,176,0,140,4,176,0,168,4,176,0,76,4,176,0,148,4,176,0,76,4,176,0,96,4,176,0,30,4,176,0,45,4,176,0,66,4,176,0,96,4,176,0,122,4,176,0,168,4,176,1,60,4,176,1,60,4,176,1,60,4,176,0,40,4,176,0,136,4,176,0,136,4,176,0,136,4,176,0,37,4,176,0,115,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,168,4,176,0,63,4,176,0,128,4,176,0,168,4,176,0,136,4,176,0,168,4,176,0,168,4,176,0,136,4,176,0,90,4,176,0,55,4,176,0,55,4,176,0,45,4,176,0,106,4,176,0,128,4,176,0,140,4,176,0,112,4,176,0,112,4,176,0,173,4,176,0,188,4,176,0,0,4,176,0,112,4,176,0,63,4,176,0,88,4,176,0,156,4,176,0,136,4,176,0,132,4,176,0,160,4,176,0,160,4,176,0,170,4,176,0,0,4,176,0,110,4,176,0,126,4,176,0,0,4,176,0,106,4,176,0,47,4,176,0,168,4,176,0,168,4,176,0,80,4,176,0,80,4,176,0,106,4,176,0,128,4,176,0,168,4,176,0,160,4,176,0,136,4,176,0,168,4,176,0,136,4,176,0,55,4,176,0,160,4,176,0,156,4,176,0,96,4,176,0,37,4,176,0,79,4,176,0,156,4,176,0,156,4,176,0,156,4,176,0,168,4,176,0,95,4,176,0,168,4,176,0,112,4,176,0,156,4,176,0,112,4,176,0,82,4,176,0,168,4,176,0,0,4,176,0,110,4,176,0,126,4,176,0,45,4,176,0,160,4,176,0,180,4,176,0,45,4,176,0,160,4,176,0,150,4,176,0,140,4,176,0,76,4,176,0,168,4,176,0,160,4,176,0,45,4,176,0,128,4,176,0,148,4,176,0,100,4,176,0,76,4,176,0,140,4,176,0,160,4,176,0,150,4,176,0,80,4,176,0,25,4,176,0,66,4,176,0,66,4,176,0,76,4,176,0,76,4,176,255,255,4,176,255,255,4,176,255,255,4,176,255,255,4,176,255,255,4,176,255,255,4,176,255,255,4,176,0,168,4,176,0,25,4,176,0,160,4,176,0,76,4,176,0,160,4,176,0,36,4,176,0,126,4,176,0,166,4,176,0,176,4,176,0,168,4,176,0,136,4,176,0,130,4,176,0,168,4,176,0,67,4,176,0,156,4,176,0,6,4,176,0,142,4,176,0,136,4,176,0,90,4,176,0,168,4,176,0,136,4,176,0,136,4,176,0,130,4,176,0,5,4,176,0,86,4,176,0,57,4,176,0,106,4,176,0,106,4,176,0,130,4,176,0,130,4,176,0,94,4,176,0,5,4,176,0,5,4,176,0,5,4,176,0,136,4,176,0,106,4,176,0,76,4,176,0,166,4,176,0,168,4,176,0,168,4,176,0,116,4,176,0,170,4,176,0,126,4,176,0,125,4,176,0,72,4,176,0,132,4,176,0,118,4,176,0,112,4,176,0,116,4,176,0,118,4,176,0,116,4,176,1,8,4,176,1,86,4,176,1,61,4,176,1,80,4,176,1,64,4,176,1,80,4,176,1,68,4,176,1,98,4,176,1,68,4,176,1,68,4,176,1,8,4,176,1,86,4,176,1,61,4,176,1,80,4,176,1,64,4,176,1,80,4,176,1,68,4,176,1,98,4,176,1,68,4,176,1,68,4,176,1,8,4,176,1,86,4,176,1,61,4,176,1,80,4,176,1,64,4,176,1,80,4,176,1,68,4,176,1,98,4,176,1,68,4,176,1,68,4,176,1,8,4,176,1,86,4,176,1,61,4,176,1,80,4,176,1,64,4,176,1,80,4,176,1,68,4,176,1,98,4,176,1,68,4,176,1,68,4,176,0,94,4,176,0,82,4,176,0,82,4,176,0,94,4,176,0,82,4,176,0,76,4,176,0,76,4,176,0,94,4,176,1,196,4,176,1,146,4,176,1,196,4,176,1,146,4,176,0,54,4,176,1,196,4,176,1,196,4,176,0,156,4,176,0,154,4,176,1,196,4,176,1,48,4,176,0,110,4,176,0,182,4,176,0,120,4,176,1,196,4,176,0,100,4,176,0,104,4,176,0,104,4,176,1,10,4,176,0,202,4,176,1,0,4,176,0,206,4,176,1,116,4,176,0,202,4,176,0,152,4,176,0,180,4,176,0,221,4,176,0,211,4,176,0,100,4,176,0,100,4,176,0,70,4,176,0,40,4,176,0,40,4,176,0,100,4,176,0,100,4,176,0,100,4,176,0,100,4,176,1,116,4,176,0,150,4,176,0,200,4,176,0,150,4,176,1,166,4,176,1,116,4,176,1,140,4,176,0,76,4,176,0,116,4,176,0,236,4,176,1,10,4,176,1,26,4,176,1,226,4,176,252,104,4,176,247,184,4,176,247,184,4,176,252,104,4,176,252,104,4,176,247,184,4,176,252,104,4,176,247,184,4,176,252,104,4,176,252,120,4,176,252,64,4,176,252,67,4,176,253,108,4,176,252,63,4,176,252,216,4,176,253,160,4,176,249,244,4,176,247,236,4,176,248,40,4,176,253,120,4,176,252,216,4,176,253,160,4,176,249,244,4,176,247,236,4,176,252,216,4,176,252,216,4,176,252,224,4,176,248,210,4,176,253,136,4,176,253,160,4,176,248,200,4,176,252,4,4,176,247,84,4,176,252,220,4,176,252,220,4,176,252,66,4,176,252,22,4,176,252,139,4,176,251,252,4,176,247,76,4,176,251,252,4,176,251,252,4,176,252,104,4,176,252,84,4,176,252,104,4,176,252,104,4,176,252,104,4,176,252,104,4,176,252,104,4,176,247,184,4,176,243,8,4,176,252,104,4,176,252,104,4,176,247,184,4,176,252,48,4,176,252,48,4,176,247,128,4,176,252,48,4,176,252,98,4,176,247,218,4,176,252,98,4,176,247,184,4,176,252,104,4,176,1,196,4,176,1,146,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,160,4,176,0,96,4,176,0,136,4,176,0,96,4,176,0,72,4,176,0,129,4,176,0,96,4,176,0,79,4,176,0,62,4,176,0,78,4,176,0,30,4,176,0,96,4,176,0,70,4,176,0,0,4,176,0,76,4,176,0,109,4,176,0,120,4,176,0,76,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,80,4,176,0,164,4,176,0,80,4,176,0,109,4,176,0,80,4,176,0,80,4,176,0,0,4,176,0,25,4,176,1,48,4,176,0,106,4,176,0,100,4,176,255,150,4,176,0,68,4,176,1,146,4,176,0,100,4,176,0,100,4,176,0,100,4,176,0,100,4,176,0,121,4,176,0,100,4,176,0,100,4,176,0,100,4,176,0,146,4,176,0,96,4,176,0,126,4,176,0,116,4,176,0,100,4,176,0,100,4,176,0,100,4,176,0,100,4,176,0,204,4,176,0,100,4,176,0,136,4,176,0,68,4,176,0,76,4,176,0,45,4,176,0,80,4,176,0,150,4,176,0,86,4,176,0,156,4,176,0,118,4,176,0,100,4,176,0,54,4,176,0,32,4,176,0,100,4,176,0,121,4,176,0,194,4,176,0,100,4,176,0,194,4,176,0,70,4,176,0,65,4,176,0,194,4,176,0,194,4,176,0,194,4,176,0,194,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,2,88,4,176,4,26,4,176,0,0,4,176,2,88,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,2,88,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,75,4,176,0,75,4,176,0,0,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,2,88,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,0,4,176,1,48,4,176,0,75,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,75,4,176,0,75,4,176,0,75,4,176,2,88,4,176,2,88,4,176,0,75,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,80,4,176,0,0,4,176,0,0,4,176,1,44,4,176,0,0,4,176,0,0,4,176,1,44,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,1,44,4,176,1,44,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,150,4,176,0,150,4,176,0,225,4,176,0,225,4,176,0,0,4,176,0,120,4,176,0,0,4,176,0,60,4,176,0,0,4,176,0,120,4,176,0,0,4,176,0,60,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,120,4,176,0,60,4,176,0,120,4,176,0,60,4,176,0,131,4,176,0,195,4,176,0,131,4,176,0,208,4,176,0,131,4,176,0,195,4,176,0,131,4,176,0,208,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,255,150,4,176,255,150,4,176,1,26,4,176,255,150,4,176,255,150,4,176,255,150,4,176,1,26,4,176,1,26,4,176,255,150,4,176,255,150,4,176,1,26,4,176,255,150,4,176,255,150,4,176,1,26,4,176,255,150,4,176,255,150,4,176,255,150,4,176,1,132,4,176,1,132,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,1,238,4,176,1,132,4,176,255,150,4,176,255,150,4,176,255,150,4,176,1,238,4,176,0,150,4,176,1,132,4,176,1,132,4,176,255,150,4,176,255,150,4,176,1,132,4,176,255,150,4,176,255,150,4,176,255,150,4,176,0,37,4,176,1,132,4,176,1,238,4,176,0,66,4,176,1,132,4,176,1,132,4,176,255,150,4,176,255,150,4,176,1,132,4,176,1,132,4,176,1,132,4,176,255,150,4,176,255,150,4,176,1,132,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,1,238,4,176,255,150,4,176,1,238,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,150,4,176,1,238,4,176,1,238,4,176,255,150,4,176,255,150,4,176,1,238,4,176,255,150,4,176,255,150,4,176,255,150,4,176,0,37,4,176,1,238,4,176,1,238,4,176,0,66,4,176,1,238,4,176,1,238,4,176,1,132,4,176,255,150,4,176,255,150,4,176,1,238,4,176,1,238,4,176,255,150,4,176,255,150,4,176,1,238,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,1,26,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,1,132,4,176,1,132,4,176,255,150,4,176,255,150,4,176,255,150,4,176,255,150,4,176,1,132,4,176,1,238,4,176,255,150,4,176,255,150,4,176,1,238,4,176,255,150,4,176,255,150,4,176,1,26,4,176,255,150,4,176,255,150,4,176,1,132,4,176,255,150,4,176,255,150,4,176,1,238,4,176,255,150,4,176,255,150,4,176,1,238,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,2,88,4,176,4,26,4,176,0,0,4,176,2,88,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,2,88,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,0,4,176,0,31,4,176,0,136,4,176,0,36,4,176,0,89,4,176,0,49,4,176,0,69,4,176,0,109,4,176,0,126,4,176,0,0,4,176,0,108,4,176,0,56,4,176,0,36,4,176,0,69,4,176,0,26,4,176,0,26,4,176,0,26,4,176,0,29,4,176,0,52,4,176,1,2,4,176,1,206,4,176,0,242,4,176,1,244,4,176,1,244,4,176,0,220,4,176,0,0,4,176,0,220,4,176,0,58,4,176,0,76,4,176,0,80,4,176,0,75,4,176,0,0,4,176,0,0,4,176,0,212,4,176,1,6,4,176,1,10,4,176,1,72,4,176,1,104,4,176,1,6,4,176,0,0,4,176,1,168,4,176,1,159,4,176,1,29,4,176,1,119,4,176,0,75,4,176,0,0,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,75,4,176,0,80,4,176,0,75,4,176,0,0,4,176,0,212,4,176,1,72,4,176,0,0,4,176,1,159,4,176,1,29,4,176,1,119,4,176,252,10,4,176,253,22,4,176,253,68,4,176,253,114,4,176,253,198,4,176,245,72,4,176,249,112,4,176,249,152,4,176,253,22,4,176,253,109,4,176,252,10,4,176,252,64,4,176,247,184,4,176,252,104,4,176,247,184,4,176,247,184,4,176,252,4,4,176,247,84,4,176,247,184,4,176,252,104,4,176,247,184,4,176,247,184,4,176,247,84,4,176,252,104,4,176,247,184,4,176,252,216,4,176,253,74,4,176,247,184,4,176,252,104,4,176,247,184,4,176,247,184,4,176,247,184,4,176,252,64,4,176,247,144,4,176,247,144,4,176,247,144,4,176,252,238,4,176,242,224,4,176,252,84,4,176,247,164,4,176,252,179,4,176,248,144,4,176,243,224,4,176,247,164,4,176,252,24,4,176,247,104,4,176,252,84,4,176,247,164,4,176,253,74,4,176,247,144,4,176,242,224,4,176,247,144,4,176,247,144,4,176,252,76,4,176,252,64,4,176,247,144,4,176,247,144,4,176,247,164,4,176,252,64,4,176,247,164,4,176,247,144,4,176,252,64,4,176,247,144,4,176,252,24,4,176,252,24,4,176,253,68,4,176,252,25,4,176,252,104,4,176,247,104,4,176,252,44,4,176,251,220,4,176,0,156,4,176,0,5,4,176,0,0,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,0,200,4,176,2,188,4,176,2,188,4,176,2,188,4,176,0,200,4,176,0,200,4,176,2,188,4,176,0,200,4,176,0,200,4,176,2,188,4,176,2,188,4,176,0,200,4,176,0,200,4,176,2,188,4,176,0,200,4,176,0,200,4,176,2,188,4,176,2,188,4,176,2,188,4,176,0,200,4,176,0,200,4,176,2,188,4,176,0,200,4,176,0,200,4,176,2,188,4,176,2,188,4,176,0,200,4,176,0,200,4,176,2,188,4,176,0,200,4,176,0,200,4,176,2,188,4,176,1,116,4,176,1,146,4,176,1,116,4,176,1,176,4,176,0,170,0,0,1,0,0,0,1,210,0,0,1,33,0,0,1,213,0,0,0,219,0,0,1,18,0,0,1,18,0,0,0,251,0,0,1,106,0,0,0,240,0,0,0,170,0,0,1,100,0,0,1,236,0,0,1,195,0,0,1,210,0,0,1,159,0,0,2,2,0,0,1,156,0,0,1,33,0,0,1,213,4,176,1,0,4,176,1,210,4,176,1,33,4,176,1,213,4,176,0,219,4,176,1,18,4,176,1,18,4,176,0,251,4,176,1,106,4,176,0,240,4,176,0,170,4,176,2,2,4,176,1,156,0,0,1,2,0,0,1,210,0,0,0,239,0,0,1,213,0,0,0,249,0,0,1,3,0,0,0,254,0,0,0,226,0,0,1,106,0,0,0,215,0,0,0,213,0,0,1,100,0,0,1,135,0,0,1,223,0,0,2,7,0,0,0,240,4,176,1,213,4,176,1,213,4,176,0,136,0,0,0,253,0,0,1,0,4,176,0,0,0,0,0,160,0,129,252,10,252,24,247,104,0,0,0,0,0,0,0,92,0,0,0,178,0,0,0,214,0,0,0,250,0,0,1,48,0,0,1,102,0,0,1,156,0,0,1,212,0,0,2,10,0,0,2,46,0,0,2,82,0,0,2,136,0,0,2,190,0,0,2,244,0,0,3,44,0,0,3,98,0,0,3,136,0,0,3,174,0,0,3,210,0,0,3,246,0,0,4,26,0,0,4,188,0,0,4,226,0,0,5,10,0,0,5,46,0,0,5,196,0,0,5,232,0,0,6,152,0,0,7,4,0,0,7,40,0,0,7,76,0,0,7,112,0,0,7,148,0,0,7,184,0,0,8,24,0,0,8,148,0,0,8,184,0,0,8,200,0,0,9,46,0,0,9,82,0,0,9,118,0,0,9,154,0,0,9,190,0,0,9,244,0,0,10,42,0,0,10,96,0,0,10,152,0,0,10,206,0,0,10,244,0,0,11,24,0,0,11,62,0,0,11,98,0,0,11,134,0,0,11,170,0,0,12,92,0,0,13,14,0,0,13,30,0,0,13,66,0,0,13,202,0,0,14,28,0,0,14,188,0,0,14,224,0,0,15,4,0,0,15,40,0,0,15,78,0,0,15,114,0,0,15,196,0,0,16,42,0,0,16,78,0,0,16,114,0,0,16,194,0,0,17,90,0,0,17,126,0,0,17,162,0,0,17,198,0,0,17,236,0,0,18,16,0,0,18,54,0,0,18,90,0,0,18,126,0,0,18,162,0,0,19,58,0,0,19,94,0,0,19,194,0,0,19,232,0,0,20,94,0,0,20,132,0,0,20,188,0,0,20,226,0,0,21,52,0,0,21,90,0,0,21,130,0,0,21,218,0,0,22,96,0,0,22,188,0,0,22,224,0,0,23,4,0,0,23,42,0,0,23,196,0,0,24,84,0,0,24,120,0,0,24,208,0,0,24,244,0,0,25,24,0,0,25,60,0,0,25,114,0,0,25,168,0,0,25,222,0,0,26,22,0,0,26,76,0,0,26,114,0,0,26,152,0,0,26,188,0,0,26,224,0,0,27,6,0,0,27,42,0,0,27,80,0,0,27,116,0,0,27,152,0,0,27,188,0,0,27,226,0,0,28,6,0,0,28,170,0,0,29,30,0,0,29,148,0,0,29,184,0,0,29,220,0,0,30,146,0,0,31,0,0,0,31,112,0,0,31,242,0,0,32,114,0,0,32,150,0,0,32,186,0,0,32,224,0,0,33,124,0,0,33,160,0,0,33,196,0,0,33,232,0,0,34,12,0,0,34,50,0,0,34,218,0,0,35,88,0,0,35,146,0,0,35,232,0,0,36,12,0,0,36,50,0,0,36,88,0,0,36,168,0,0,36,204,0,0,36,240,0,0,37,20,0,0,37,58,0,0,37,96,0,0,37,132,0,0,37,168,0,0,38,32,0,0,38,68,0,0,38,106,0,0,38,142,0,0,38,178,0,0,38,214,0,0,38,252,0,0,39,32,0,0,39,186,0,0,39,224,0,0,40,4,0,0,40,66,0,0,40,82,0,0,40,194,0,0,40,230,0,0,41,10,0,0,41,48,0,0,41,84,0,0,41,178,0,0,42,4,0,0,42,40,0,0,42,76,0,0,42,114,0,0,42,152,0,0,42,188,0,0,42,224,0,0,43,4,0,0,43,40,0,0,43,126,0,0,43,162,0,0,43,198,0,0,43,234,0,0,44,34,0,0,44,70,0,0,44,106,0,0,44,142,0,0,44,178,0,0,44,214,0,0,45,34,0,0,45,218,0,0,45,254,0,0,46,34,0,0,46,88,0,0,46,142,0,0,46,196,0,0,46,252,0,0,47,50,0,0,47,86,0,0,47,122,0,0,47,178,0,0,47,232,0,0,48,32,0,0,48,90,0,0,48,144,0,0,48,182,0,0,48,220,0,0,49,0,0,0,49,38,0,0,49,74,0,0,50,76,0,0,50,114,0,0,50,172,0,0,50,208,0,0,51,224,0,0,52,4,0,0,52,138,0,0,53,0,0,0,53,36,0,0,53,72,0,0,53,108,0,0,53,144,0,0,53,180,0,0,54,64,0,0,55,2,0,0,55,168,0,0,56,74,0,0,56,204,0,0,56,240,0,0,57,20,0,0,57,56,0,0,57,92,0,0,57,148,0,0,57,202,0,0,58,2,0,0,58,60,0,0,58,114,0,0,58,152,0,0,58,188,0,0,58,226,0,0,59,6,0,0,59,44,0,0,59,80,0,0,60,32,0,0,60,48,0,0,60,64,0,0,60,100,0,0,60,228,0,0,61,126,0,0,61,218,0,0,62,160,0,0,62,196,0,0,62,232,0,0,63,12,0,0,63,48,0,0,63,84,0,0,63,182,0,0,64,48,0,0,64,86,0,0,64,124,0,0,65,0,0,0,65,96,0,0,65,132,0,0,65,168,0,0,65,204,0,0,65,242,0,0,66,24,0,0,66,60,0,0,66,98,0,0,67,28,0,0,67,64,0,0,68,14,0,0,68,50,0,0,68,198,0,0,69,46,0,0,69,84,0,0,69,200,0,0,69,238,0,0,70,94,0,0,70,190,0,0,70,226,0,0,71,90,0,0,71,128,0,0,71,168,0,0,72,36,0,0,72,182,0,0,73,28,0,0,73,64,0,0,73,192,0,0,73,228,0,0,74,10,0,0,74,160,0,0,75,56,0,0,75,92,0,0,75,196,0,0,75,232,0,0,76,12,0,0,76,48,0,0,76,104,0,0,76,158,0,0,76,214,0,0,77,16,0,0,77,70,0,0,77,108,0,0,77,146,0,0,77,182,0,0,77,220,0,0,78,4,0,0,78,40,0,0,78,78,0,0,78,114,0,0,78,152,0,0,78,188,0,0,78,226,0,0,79,6,0,0,79,190,0,0,80,50,0,0,80,186,0,0,80,222,0,0,81,2,0,0,81,198,0,0,82,90,0,0,82,236,0,0,83,126,0,0,84,14,0,0,84,50,0,0,84,86,0,0,84,126,0,0,85,26,0,0,85,62,0,0,85,98,0,0,85,134,0,0,85,170,0,0,85,208,0,0,86,174,0,0,87,10,0,0,87,130,0,0,88,8,0,0,88,150,0,0,88,186,0,0,88,224,0,0,89,182,0,0,90,58,0,0,90,94,0,0,90,130,0,0,90,166,0,0,90,204,0,0,90,242,0,0,91,22,0,0,91,60,0,0,91,232,0,0,92,12,0,0,92,50,0,0,92,88,0,0,92,128,0,0,92,164,0,0,92,202,0,0,92,238,0,0,93,188,0,0,93,226,0,0,94,6,0,0,94,68,0,0,94,84,0,0,94,194,0,0,94,230,0,0,95,10,0,0,95,48,0,0,95,84,0,0,95,176,0,0,96,28,0,0,96,64,0,0,96,100,0,0,96,138,0,0,96,176,0,0,96,212,0,0,96,250,0,0,97,30,0,0,97,66,0,0,97,156,0,0,97,192,0,0,97,228,0,0,98,8,0,0,98,172,0,0,99,68,0,0,99,104,0,0,99,140,0,0,99,176,0,0,99,212,0,0,99,248,0,0,100,8,0,0,101,154,0,0,102,60,0,0,102,158,0,0,103,2,0,0,103,18,0,0,103,138,0,0,103,154,0,0,103,210,0,0,103,246,0,0,104,64,0,0,104,226,0,0,104,242,0,0,105,22,0,0,105,60,0,0,106,150,0,0,107,70,0,0,107,164,0,0,107,200,0,0,107,236,0,0,108,182,0,0,108,218,0,0,109,64,0,0,109,80,0,0,109,96,0,0,109,112,0,0,109,190,0,0,109,206,0,0,109,222,0,0,109,238,0,0,110,78,0,0,110,114,0,0,111,0,0,0,111,16,0,0,111,104,0,0,111,200,0,0,112,44,0,0,112,164,0,0,113,8,0,0,113,116,0,0,113,244,0,0,114,114,0,0,115,20,0,0,115,178,0,0,115,194,0,0,116,70,0,0,116,210,0,0,116,226,0,0,117,8,0,0,117,24,0,0,117,130,0,0,118,32,0,0,118,232,0,0,119,92,0,0,119,176,0,0,121,28,0,0,121,242,0,0,122,90,0,0,122,106,0,0,122,210,0,0,123,74,0,0,123,184,0,0,124,14,0,0,124,30,0,0,124,46,0,0,124,82,0,0,124,194,0,0,124,230,0,0,125,92,0,0,125,154,0,0,126,68,0,0,126,84,0,0,126,234,0,0,127,154,0,0,127,212,0,0,127,248,0,0,128,68,0,0,128,222,0,0,128,238,0,0,129,18,0,0,129,56,0,0,130,122,0,0,131,36,0,0,131,128,0,0,131,164,0,0,131,200,0,0,132,140,0,0,132,176,0,0,133,18,0,0,133,148,0,0,133,230,0,0,133,246,0,0,134,68,0,0,134,84,0,0,134,100,0,0,134,158,0,0,134,174,0,0,134,210,0,0,135,210,0,0,135,226,0,0,136,56,0,0,136,150,0,0,136,250,0,0,137,110,0,0,137,210,0,0,138,56,0,0,138,180,0,0,139,44,0,0,139,200,0,0,140,88,0,0,140,104,0,0,140,248,0,0,141,132,0,0,141,148,0,0,141,186,0,0,141,202,0,0,142,66,0,0,142,216,0,0,143,154,0,0,144,64,0,0,144,148,0,0,145,242,0,0,146,204,0,0,147,52,0,0,147,134,0,0,147,236,0,0,148,100,0,0,148,208,0,0,148,224,0,0,148,240,0,0,149,0,0,0,149,36,0,0,149,164,0,0,149,200,0,0,150,94,0,0,151,6,0,0,151,22,0,0,152,110,0,0,153,38,0,0,153,54,0,0,153,76,0,0,153,98,0,0,154,42,0,0,154,104,0,0,154,120,0,0,154,136,0,0,155,32,0,0,155,170,0,0,156,78,0,0,156,194,0,0,157,60,0,0,157,210,0,0,158,132,0,0,158,148,0,0,158,164,0,0,158,180,0,0,159,4,0,0,159,20,0,0,159,36,0,0,159,52,0,0,159,164,0,0,159,180,0,0,159,196,0,0,159,212,0,0,159,228,0,0,159,244,0,0,160,72,0,0,160,88,0,0,160,104,0,0,160,120,0,0,160,222,0,0,160,238,0,0,160,254,0,0,161,14,0,0,161,30,0,0,161,138,0,0,162,40,0,0,162,146,0,0,163,12,0,0,163,114,0,0,163,212,0,0,164,66,0,0,164,172,0,0,165,74,0,0,165,112,0,0,165,150,0,0,166,46,0,0,166,214,0,0,167,160,0,0,168,20,0,0,168,194,0,0,169,90,0,0,169,226,0,0,170,76,0,0,170,212,0,0,171,52,0,0,171,158,0,0,172,50,0,0,172,212,0,0,173,56,0,0,174,16,0,0,174,32,0,0,174,146,0,0,175,30,0,0,175,172,0,0,176,50,0,0,176,146,0,0,176,242,0,0,177,160,0,0,178,64,0,0,178,176,0,0,179,76,0,0,179,112,0,0,179,150,0,0,179,190,0,0,179,226,0,0,180,8,0,0,180,48,0,0,180,84,0,0,180,120,0,0,180,156,0,0,180,192,0,0,180,228,0,0,181,108,0,0,181,236,0,0,182,80,0,0,182,202,0,0,183,132,0,0,183,230,0,0,184,142,0,0,185,50,0,0,185,136,0,0,186,74,0,0,186,234,0,0,187,92,0,0,187,110,0,0,187,128,0,0,187,146,0,0,187,164,0,0,187,182,0,0,187,200,0,0,187,218,0,0,187,236,0,0,187,254,0,0,188,16,0,0,188,34,0,0,188,52,0,0,188,70,0,0,188,88,0,0,188,106,0,0,188,124,0,0,188,142,0,0,188,160,0,0,188,178,0,0,188,196,0,0,188,212,0,0,188,228,0,0,188,244,0,0,189,4,0,0,189,20,0,0,189,36,0,0,189,52,0,0,189,68,0,0,189,84,0,0,189,100,0,0,189,198,0,0,190,40,0,0,190,150,0,0,191,54,0,0,191,150,0,0,192,28,0,0,192,170,0,0,192,254,0,0,193,150,0,0,194,24,0,0,194,64,0,0,195,20,0,0,195,220,0,0,196,218,0,0,197,220,0,0,199,20,0,0,200,54,0,0,201,34,0,0,201,90,0,0,201,130,0,0,201,228,0,0,202,54,0,0,202,86,0,0,202,168,0,0,202,250,0,0,203,170,0,0,204,86,0,0,204,104,0,0,204,172,0,0,205,60,0,0,205,86,0,0,205,194,0,0,205,210,0,0,205,246,0,0,206,32,0,0,206,74,0,0,206,168,0,0,207,4,0,0,207,190,0,0,208,120,0,0,208,198,0,0,209,22,0,0,209,88,0,0,209,154,0,0,209,220,0,0,210,28,0,0,210,44,0,0,210,60,0,0,210,98,0,0,210,136,0,0,210,152,0,0,210,168,0,0,210,184,0,0,210,220,0,0,210,244,0,0,211,6,0,0,211,32,0,0,211,58,0,0,211,84,0,0,211,126,0,0,211,170,0,0,211,192,0,0,212,46,0,0,212,160,0,0,212,230,0,0,213,42,0,0,213,68,0,0,213,110,0,0,213,164,0,0,213,240,0,0,214,92,0,0,214,154,0,0,215,6,0,0,215,158,0,0,215,252,0,0,216,136,0,0,217,18,0,0,218,12,0,0,218,218,0,0,219,238,0,0,220,84,0,0,220,252,0,0,221,74,0,0,221,100,0,0,221,134,0,0,222,16,0,0,222,170,0,0,222,196,0,0,223,40,0,0,223,66,0,0,223,100,0,0,224,60,0,0,224,202,0,0,225,104,0,0,226,10,0,0,226,44,0,0,226,68,0,0,226,94,0,0,226,126,0,0,226,214,0,0,227,68,0,0,227,92,0,0,227,116,0,0,227,142,0,0,228,106,0,0,229,94,0,0,229,118,0,0,229,150,0,0,229,174,0,0,229,198,0,0,230,124,0,0,231,142,0,0,232,52,0,0,232,78,0,0,232,102,0,0,233,96,0,0,233,122,0,0,234,212,0,0,236,132,0,0,237,24,0,0,237,152,0,0,238,106,0,0,238,130,0,0,238,220,0,0,239,90,0,0,239,194,0,0,239,220,0,0,239,254,0,0,240,24,0,0,240,82,0,0,240,120,0,0,240,138,0,0,240,154,0,0,240,154,0,0,240,154,0,0,240,154,0,0,240,154,0,0,240,154,0,0,241,94,0,0,241,222,0,0,242,98,0,0,243,10,0,0,243,218,0,0,244,140,0,0,245,72,0,0,245,218,0,0,246,138,0,0,247,26,0,0,247,124,0,0,248,62,0,0,249,38,0,0,249,186,0,0,250,94,0,0,251,4,0,0,251,136,0,0,251,228,0,0,252,94,0,0,252,222,0,0,253,108,0,0,253,252,0,0,254,234,0,0,255,130,0,0,255,254,0,1,0,144,0,1,0,224,0,1,1,70,0,1,1,210,0,1,2,68,0,1,2,84,0,1,2,100,0,1,2,172,0,1,2,188,0,1,2,254,0,1,3,66,0,1,3,122,0,1,3,232,0,1,4,38,0,1,4,76,0,1,4,146,0,1,5,10,0,1,5,70,0,1,5,154,0,1,5,232,0,1,6,54,0,1,6,148,0,1,6,244,0,1,7,68,0,1,7,94,0,1,7,206,0,1,8,6,0,1,8,66,0,1,8,254,0,1,9,70,0,1,9,190,0,1,9,206,0,1,9,222,0,1,10,44,0,1,10,144,0,1,10,224,0,1,10,240,0,1,11,6,0,1,11,60,0,1,12,6,0,1,13,18,0,1,13,106,0,1,13,122,0,1,13,202,0,1,14,34,0,1,14,114,0,1,14,200,0,1,15,70,0,1,15,190,0,1,16,72,0,1,16,206,0,1,17,84,0,1,17,110,0,1,17,136,0,1,17,162,0,1,17,188,0,1,17,214,0,1,17,240,0,1,18,10,0,1,18,36,0,1,18,62,0,1,18,88,0,1,18,114,0,1,18,140,0,1,18,166,0,1,18,192,0,1,18,218,0,1,18,244,0,1,19,14,0,1,19,42,0,1,19,70,0,1,19,96,0,1,19,124,0,1,19,150,0,1,19,182,0,1,19,222,0,1,19,254,0,1,20,32,0,1,20,60,0,1,20,98,0,1,20,130,0,1,21,28,0,1,22,64,0,1,24,124,0,1,24,180,0,1,25,24,0,1,25,132,0,1,25,250,0,1,26,114,0,1,26,232,0,1,27,96,0,1,27,134,0,1,27,174,0,1,28,36,0,1,28,168,0,1,29,30,0,1,29,150,0,1,30,14,0,1,30,134,0,1,31,6,0,1,32,150,0,1,33,26,0,1,33,48,0,1,33,124,0,1,33,182,0,1,34,38,0,1,34,110,0,1,34,184,0,1,34,244,0,1,35,48,0,1,35,88,0,1,35,130,0,1,35,170,0,1,35,210,0,1,35,242,0,1,36,36,0,1,36,102,0,1,36,166,0,1,36,230,0,1,37,38,0,1,37,104,0,1,37,162,0,1,37,190,0,1,37,246,0,1,38,18,0,1,38,44,0,1,38,86,0,1,38,128,0,1,38,154,0,1,38,196,0,1,39,40,0,1,39,100,0,1,40,250,0,1,41,64,0,1,41,136,0,1,41,234,0,1,42,70,0,1,42,170,0,1,43,66,0,1,43,94,0,1,43,138,0,1,43,196,0,1,43,252,0,1,44,50,0,1,44,106,0,1,44,162,0,1,44,224,0,1,45,30,0,1,45,94,0,1,45,158,0,1,45,200,0,1,45,228,0,1,46,14,0,1,46,42,0,1,46,68,0,1,46,94,0,1,46,120,0,1,46,148,0,1,46,196,0,1,46,246,0,1,47,42,0,1,47,94,0,1,47,178,0,1,47,242,0,1,48,50,0,1,48,76,0,1,48,104,0,1,48,152,0,1,48,202,0,1,48,230,0,1,49,0,0,1,49,28,0,1,49,56,0,1,49,106,0,1,49,156,0,1,49,210,0,1,50,6,0,1,50,32,0,1,50,58,0,1,50,84,0,1,50,108,0,1,50,156,0,1,50,206,0,1,50,254,0,1,51,46,0,1,51,112,0,1,51,164,0,1,51,216,0,1,52,0,0,1,52,66,0,1,52,116,0,1,52,168,0,1,52,208,0,1,53,44,0,1,53,108,0,1,53,174,0,1,53,222,0,1,54,10,0,1,54,54,0,1,54,92,0,1,54,126,0,1,54,170,0,1,54,204,0,1,54,248,0,1,55,42,0,1,55,82,0,1,55,116,0,1,55,162,0,1,55,196,0,1,55,242,0,1,56,38,0,1,56,90,0,1,56,134,0,1,56,178,0,1,56,220,0,1,57,8,0,1,57,36,0,1,57,76,0,1,57,110,0,1,57,144,0,1,57,172,0,1,57,200,0,1,57,236,0,1,58,44,0,1,58,120,0,1,58,148,0,1,58,204,0,1,59,8,0,1,59,36,0,1,59,76,0,1,59,110,0,1,59,148,0,1,59,182,0,1,59,210,0,1,60,6,0,1,60,46,0,1,60,86,0,1,60,140,0,1,60,184,0,1,60,226,0,1,61,20,0,1,61,64,0,1,61,108,0,1,61,160,0,1,61,216,0,1,62,18,0,1,62,76,0,1,62,134,0,1,62,192,0,1,63,8,0,1,63,44,0,1,63,78,0,1,63,116,0,1,63,158,0,1,63,186,0,1,63,224,0,1,64,2,0,1,64,36,0,1,64,62,0,1,64,88,0,1,64,126,0,1,64,182,0,1,64,252,0,1,65,22,0,1,65,72,0,1,65,128,0,1,65,156,0,1,65,194,0,1,65,230,0,1,66,6,0,1,66,38,0,1,66,66,0,1,66,116,0,1,66,154,0,1,66,192,0,1,66,246,0,1,67,34,0,1,67,78,0,1,67,128,0,1,67,172,0,1,67,216,0,1,68,12,0,1,68,68,0,1,68,114,0,1,68,156,0,1,68,198,0,1,68,248,0,1,69,30,0,1,69,74,0,1,69,106,0,1,69,150,0,1,69,184,0,1,69,236,0,1,70,18,0,1,70,62,0,1,70,94,0,1,70,138,0,1,70,172,0,1,70,222,0,1,71,6,0,1,71,48,0,1,71,118,0,1,71,168,0,1,71,220,0,1,72,14,0,1,72,54,0,1,72,94,0,1,72,146,0,1,72,186,0,1,72,226,0,1,73,40,0,1,73,88,0,1,73,136,0,1,73,162,0,1,73,188,0,1,73,214,0,1,73,240,0,1,74,10,0,1,74,36,0,1,74,62,0,1,74,88,0,1,74,114,0,1,74,140,0,1,74,166,0,1,74,192,0,1,74,218,0,1,74,244,0,1,75,14,0,1,75,40,0,1,75,66,0,1,75,94,0,1,75,122,0,1,75,148,0,1,75,176,0,1,75,202,0,1,75,234,0,1,76,18,0,1,76,50,0,1,76,84,0,1,76,112,0,1,76,150,0,1,76,182,0,1,77,78,0,1,78,108,0,1,80,162,0,1,81,140,0,1,82,124,0,1,83,50,0,1,84,42,0,1,84,194,0,1,85,138,0,1,85,238,0,1,86,184,0,1,87,16,0,1,87,58,0,1,87,120,0,1,88,98,0,1,89,58,0,1,89,244,0,1,90,90,0,1,91,72,0,1,92,16,0,1,92,224,0,1,93,156,0,1,94,74,0,1,95,22,0,1,95,120,0,1,95,162,0,1,95,224,0,1,96,8,0,1,96,70,0,1,96,140,0,1,97,10,0,1,97,162,0,1,98,106,0,1,99,50,0,1,99,90,0,1,99,148,0,1,99,212,0,1,99,238,0,1,100,14,0,1,100,42,0,1,100,70,0,1,100,102,0,1,100,130,0,1,100,158,0,1,100,194,0,1,100,222,0,1,100,254,0,1,101,54,0,1,101,82,0,1,101,122,0,1,101,164,0,1,101,222,0,1,102,20,0,1,102,58,0,1,102,114,0,1,102,168,0,1,102,250,0,1,103,82,0,1,103,122,0,1,103,184,0,1,103,242,0,1,104,44,0,1,104,90,0,1,104,178,0,1,104,218,0,1,106,58,0,1,106,120,0,1,107,70,0,1,107,170,0,1,107,196,0,1,108,88,0,1,108,190,0,1,109,64,0,1,109,148,0,1,109,250,0,1,110,218,0,1,110,244,0,1,111,174,0,1,111,200,0,1,111,234,0,1,112,12,0,1,112,108,0,1,112,192,0,1,113,68,0,1,113,198,0,1,114,114,0,1,115,30,0,1,115,116,0,1,115,210,0,1,116,104,0,1,116,130,0,1,116,228,0,1,117,150,0,1,118,22,0,1,118,160,0,1,119,82,0,1,119,116,0,1,119,228,0,1,120,84,0,1,121,6,0,1,121,166,0,1,121,192,0,1,122,128,0,1,122,152,0,1,122,186,0,1,123,32,0,1,123,154,0,1,124,36,0,1,124,70,0,1,125,38,0,1,126,50,0,1,126,76,0,1,126,110,0,1,126,210,0,1,127,98,0,1,128,42,0,1,128,252,0,1,129,190,0,1,129,216,0,1,130,94,0,1,131,2,0,1,131,200,0,1,131,234,0,1,132,192,0,1,132,226,0,1,134,10,0,1,134,114,0,1,135,18,0,1,135,156,0,1,136,230,0,1,137,98,0,1,138,60,0,1,138,246,0,1,140,32,0,1,140,138,0,1,141,250,0,1,142,124,0,1,143,36,0,1,143,36,0,1,143,82,0,1,143,160,0,1,144,14,0,1,144,156,0,1,145,76,0,1,146,30,0,1,147,16,0,1,148,36,0,1,149,24,0,1,149,232,0,1,150,218,0,1,151,172,0,1,152,92,0,1,153,44,0,1,154,30,0,1,154,240,0,1,155,158,0,1,156,110,0,1,157,30,0,1,157,172,0,1,158,92,0,1,159,44,0,1,160,30,0,1,160,240,0,1,161,158,0,1,162,110,0,1,163,30,0,1,163,172,0,1,164,90,0,1,165,42,0,1,165,218,0,1,166,104,0,1,167,24,0,1,167,168,0,1,168,22,0,1,168,166,0,1,169,88,0,1,170,42,0,1,171,28,0,1,171,238,0,1,172,158,0,1,173,110,0,1,174,30,0,1,174,174,0,1,175,94,0,1,176,46,0,1,176,222,0,1,177,108,0,1,178,26,0,1,178,168,0,1,179,20,0,1,179,162,0,1,180,82,0,1,181,34,0,1,181,210,0,1,182,96,0,1,183,14,0,1,183,156,0,1,184,10,0,1,184,152,0,1,185,70,0,1,185,214,0,1,186,68,0,1,186,210,0,1,187,66,0,1,187,144,0,1,187,254,0,1,188,142,0,1,189,62,0,1,190,14,0,1,191,0,0,1,191,210,0,1,192,130,0,1,193,84,0,1,194,6,0,1,194,148,0,1,195,66,0,1,196,18,0,1,196,194,0,1,197,80,0,1,198,0,0,1,198,144,0,1,198,254,0,1,199,140,0,1,200,58,0,1,201,10,0,1,201,186,0,1,202,72,0,1,202,248,0,1,203,136,0,1,203,244,0,1,204,128,0,1,205,46,0,1,205,188,0,1,206,42,0,1,206,184,0,1,207,38,0,1,207,114,0,1,207,224,0,1,208,112,0,1,209,34,0,1,209,242,0,1,210,162,0,1,211,50,0,1,211,226,0,1,212,114,0,1,212,224,0,1,213,112,0,1,214,30,0,1,214,172,0,1,215,26,0,1,215,168,0,1,216,22,0,1,216,100,0,1,216,210,0,1,217,98,0,1,218,16,0,1,218,158,0,1,219,12,0,1,219,154,0,1,220,8,0,1,220,86,0,1,220,196,0,1,221,80,0,1,221,190,0,1,222,12,0,1,222,120,0,1,222,198,0,1,222,244,0,1,223,66,0,1,223,176,0,1,224,62,0,1,224,238,0,1,225,190,0,1,226,176,0,1,227,130,0,1,228,48,0,1,229,0,0,1,229,176,0,1,230,64,0,1,230,240,0,1,231,194,0,1,232,116,0,1,233,2,0,1,233,178,0,1,234,66,0,1,234,176,0,1,235,64,0,1,235,240,0,1,236,194,0,1,237,116,0,1,238,2,0,1,238,178,0,1,239,66,0,1,239,174,0,1,240,60,0,1,240,236,0,1,241,122,0,1,241,232,0,1,242,118,0,1,242,228,0,1,243,50,0,1,243,160,0,1,244,48,0,1,244,224,0,1,245,176,0,1,246,96,0,1,246,238,0,1,247,156,0,1,248,42,0,1,248,154,0,1,249,42,0,1,249,218,0,1,250,106,0,1,250,216,0,1,251,102,0,1,251,212,0,1,252,32,0,1,252,142,0,1,253,30,0,1,253,206,0,1,254,94,0,1,254,204,0,1,255,90,0,1,255,200,0,2,0,22,0,2,0,132,0,2,1,18,0,2,1,128,0,2,1,206,0,2,2,58,0,2,2,136,0,2,2,182,0,2,3,4,0,2,3,116,0,2,4,2,0,2,4,176,0,2,5,128,0,2,6,48,0,2,6,192,0,2,7,112,0,2,8,0,0,2,8,110,0,2,8,252,0,2,9,172,0,2,10,60,0,2,10,170,0,2,11,58,0,2,11,170,0,2,11,248,0,2,12,102,0,2,12,244,0,2,13,164,0,2,14,52,0,2,14,162,0,2,15,50,0,2,15,162,0,2,15,238,0,2,16,92,0,2,16,236,0,2,17,90,0,2,17,168,0,2,18,20,0,2,18,98,0,2,18,144,0,2,18,222,0,2,19,76,0,2,19,220,0,2,20,138,0,2,21,24,0,2,21,136,0,2,22,22,0,2,22,132,0,2,22,210,0,2,23,66,0,2,23,208,0,2,24,62,0,2,24,140,0,2,24,250,0,2,25,72,0,2,25,118,0,2,25,196,0,2,26,52,0,2,26,194,0,2,27,48,0,2,27,126,0,2,27,236,0,2,28,58,0,2,28,104,0,2,28,182,0,2,29,36,0,2,29,114,0,2,29,158,0,2,29,234,0,2,30,22,0,2,30,38,0,2,30,54,0,2,30,70,0,2,30,110,0,2,30,126,0,2,30,216,0,2,31,16,0,2,31,56,0,2,31,96,0,2,31,154,0,2,31,208,0,2,32,8,0,2,32,82,0,2,32,166,0,2,33,16,0,2,33,52,0,2,33,158,0,2,33,198,0,2,34,2,0,2,34,58,0,2,34,98,0,2,34,180,0,2,35,14,0,2,35,30,0,2,35,46,0,2,35,62,0,2,35,78,0,2,35,94,0,2,35,110,0,2,35,126,0,2,35,142,0,2,35,158,0,2,35,174,0,2,35,190,0,2,35,206,0,2,35,222,0,2,35,238,0,2,35,254,0,2,36,88,0,2,36,144,0,2,36,184,0,2,36,224,0,2,37,24,0,2,37,80,0,2,37,136,0,2,37,202,0,2,38,42,0,2,38,148,0,2,38,184,0,2,39,18,0,2,39,76,0,2,39,116,0,2,39,156,0,2,39,172,0,2,39,188,0,2,39,204,0,2,40,64,0,2,40,130,0,2,40,196,0,2,40,196,0,2,40,196,0,2,41,158,0,2,42,98,0,2,43,78,0,2,44,62,0,2,44,240,0,1,0,0,6,88,0,144,0,36,0,92,0,15,0,2,0,16,0,47,0,154,0,0,3,8,15,131,0,3,0,3,0,0,0,28,1,86,0,1,0,0,0,0,1,0,0,6,0,0,0,1,0,0,0,0,1,1,0,10,0,6,0,1,0,0,0,0,1,2,0,5,0,16,0,1,0,0,0,0,1,3,0,9,0,21,0,1,0,0,0,0,1,4,0,7,0,30,0,1,0,0,0,0,1,5,0,8,0,37,0,1,0,0,0,0,1,6,0,4,0,45,0,3,0,1,4,9,0,0,0,100,0,49,0,3,0,1,4,9,0,1,0,26,0,149,0,3,0,1,4,9,0,2,0,14,0,175,0,3,0,1,4,9,0,3,0,68,0,189,0,3,0,1,4,9,0,4,0,42,1,1,0,3,0,1,4,9,0,5,0,32,1,43,0,3,0,1,4,9,0,6,0,40,1,75,0,3,0,1,4,9,0,7,0,130,1,115,0,3,0,1,4,9,0,8,0,28,1,245,0,3,0,1,4,9,0,9,0,20,2,17,0,3,0,1,4,9,0,11,0,48,2,37,0,3,0,1,4,9,0,12,0,48,2,37,0,3,0,1,4,9,0,13,22,212,2,85,0,3,0,1,4,9,0,14,0,54,25,41,0,3,0,1,4,9,1,0,0,12,25,95,0,3,0,1,4,9,1,1,0,20,25,107,0,3,0,1,4,9,1,2,0,10,25,127,0,3,0,1,4,9,1,3,0,18,25,137,0,3,0,1,4,9,1,4,0,14,0,175,0,3,0,1,4,9,1,5,0,16,25,155,0,3,0,1,4,9,1,6,0,8,25,171,87,101,105,103,104,116,69,120,116,114,97,76,105,103,104,116,76,105,103,104,116,83,101,109,105,76,105,103,104,116,82,101,103,117,108,97,114,83,101,109,105,66,111,108,100,66,111,108,100,0,169,0,32,0,50,0,48,0,50,0,48,0,32,0,77,0,105,0,99,0,114,0,111,0,115,0,111,0,102,0,116,0,32,0,67,0,111,0,114,0,112,0,111,0,114,0,97,0,116,0,105,0,111,0,110,0,46,0,32,0,65,0,108,0,108,0,32,0,82,0,105,0,103,0,104,0,116,0,115,0,32,0,82,0,101,0,115,0,101,0,114,0,118,0,101,0,100,0,46,0,67,0,97,0,115,0,99,0,97,0,100,0,105,0,97,0,32,0,67,0,111,0,100,0,101,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,50,0,48,0,48,0,55,0,46,0,48,0,48,0,49,0,59,0,83,0,65,0,74,0,65,0,59,0,67,0,97,0,115,0,99,0,97,0,100,0,105,0,97,0,67,0,111,0,100,0,101,0,45,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,67,0,97,0,115,0,99,0,97,0,100,0,105,0,97,0,32,0,67,0,111,0,100,0,101,0,32,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,86,0,101,0,114,0,115,0,105,0,111,0,110,0,32,0,50,0,48,0,48,0,55,0,46,0,48,0,48,0,49,0,67,0,97,0,115,0,99,0,97,0,100,0,105,0,97,0,67,0,111,0,100,0,101,0,45,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,67,0,97,0,115,0,99,0,97,0,100,0,105,0,97,0,32,0,67,0,111,0,100,0,101,0,32,0,105,0,115,0,32,0,97,0,32,0,116,0,114,0,97,0,100,0,101,0,109,0,97,0,114,0,107,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,77,0,105,0,99,0,114,0,111,0,115,0,111,0,102,0,116,0,32,0,103,0,114,0,111,0,117,0,112,0,32,0,111,0,102,0,32,0,99,0,111,0,109,0,112,0,97,0,110,0,105,0,101,0,115,0,46,0,83,0,97,0,106,0,97,0,32,0,84,0,121,0,112,0,101,0,119,0,111,0,114,0,107,0,115,0,65,0,97,0,114,0,111,0,110,0,32,0,66,0,101,0,108,0,108,0,104,0,116,0,116,0,112,0,58,0,47,0,47,0,115,0,97,0,106,0,97,0,116,0,121,0,112,0,101,0,119,0,111,0,114,0,107,0,115,0,46,0,99,0,111,0,109,0,77,0,105,0,99,0,114,0,111,0,115,0,111,0,102,0,116,0,32,0,115,0,117,0,112,0,112,0,108,0,105,0,101,0,100,0,32,0,102,0,111,0,110,0,116,0,46,0,32,0,89,0,111,0,117,0,32,0,109,0,97,0,121,0,32,0,117,0,115,0,101,0,32,0,116,0,104,0,105,0,115,0,32,0,102,0,111,0,110,0,116,0,32,0,116,0,111,0,32,0,99,0,114,0,101,0,97,0,116,0,101,0,44,0,32,0,100,0,105,0,115,0,112,0,108,0,97,0,121,0,44,0,32,0,97,0,110,0,100,0,32,0,112,0,114,0,105,0,110,0,116,0,32,0,99,0,111,0,110,0,116,0,101,0,110,0,116,0,32,0,97,0,115,0,32,0,112,0,101,0,114,0,109,0,105,0,116,0,116,0,101,0,100,0,32,0,98,0,121,0,32,0,116,0,104,0,101,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,32,0,116,0,101,0,114,0,109,0,115,0,32,0,111,0,114,0,32,0,116,0,101,0,114,0,109,0,115,0,32,0,111,0,102,0,32,0,117,0,115,0,101,0,44,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,77,0,105,0,99,0,114,0,111,0,115,0,111,0,102,0,116,0,32,0,112,0,114,0,111,0,100,0,117,0,99,0,116,0,44,0,32,0,115,0,101,0,114,0,118,0,105,0,99,0,101,0,44,0,32,0,111,0,114,0,32,0,99,0,111,0,110,0,116,0,101,0,110,0,116,0,32,0,105,0,110,0,32,0,119,0,104,0,105,0,99,0,104,0,32,0,116,0,104,0,105,0,115,0,32,0,102,0,111,0,110,0,116,0,32,0,119,0,97,0,115,0,32,0,105,0,110,0,99,0,108,0,117,0,100,0,101,0,100,0,46,0,32,0,89,0,111,0,117,0,32,0,109,0,97,0,121,0,32,0,111,0,110,0,108,0,121,0,32,0,40,0,105,0,41,0,32,0,101,0,109,0,98,0,101,0,100,0,32,0,116,0,104,0,105,0,115,0,32,0,102,0,111,0,110,0,116,0,32,0,105,0,110,0,32,0,99,0,111,0,110,0,116,0,101,0,110,0,116,0,32,0,97,0,115,0,32,0,112,0,101,0,114,0,109,0,105,0,116,0,116,0,101,0,100,0,32,0,98,0,121,0,32,0,116,0,104,0,101,0,32,0,101,0,109,0,98,0,101,0,100,0,100,0,105,0,110,0,103,0,32,0,114,0,101,0,115,0,116,0,114,0,105,0,99,0,116,0,105,0,111,0,110,0,115,0,32,0,105,0,110,0,99,0,108,0,117,0,100,0,101,0,100,0,32,0,105,0,110,0,32,0,116,0,104,0,105,0,115,0,32,0,102,0,111,0,110,0,116,0,59,0,32,0,97,0,110,0,100,0,32,0,40,0,105,0,105,0,41,0,32,0,116,0,101,0,109,0,112,0,111,0,114,0,97,0,114,0,105,0,108,0,121,0,32,0,100,0,111,0,119,0,110,0,108,0,111,0,97,0,100,0,32,0,116,0,104,0,105,0,115,0,32,0,102,0,111,0,110,0,116,0,32,0,116,0,111,0,32,0,97,0,32,0,112,0,114,0,105,0,110,0,116,0,101,0,114,0,32,0,111,0,114,0,32,0,111,0,116,0,104,0,101,0,114,0,32,0,111,0,117,0,116,0,112,0,117,0,116,0,32,0,100,0,101,0,118,0,105,0,99,0,101,0,32,0,116,0,111,0,32,0,104,0,101,0,108,0,112,0,32,0,112,0,114,0,105,0,110,0,116,0,32,0,99,0,111,0,110,0,116,0,101,0,110,0,116,0,46,0,32,0,65,0,110,0,121,0,32,0,111,0,116,0,104,0,101,0,114,0,32,0,117,0,115,0,101,0,32,0,105,0,115,0,32,0,112,0,114,0,111,0,104,0,105,0,98,0,105,0,116,0,101,0,100,0,46,0,10,0,32,0,10,0,84,0,104,0,101,0,32,0,102,0,111,0,108,0,108,0,111,0,119,0,105,0,110,0,103,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,44,0,32,0,98,0,97,0,115,0,101,0,100,0,32,0,111,0,110,0,32,0,116,0,104,0,101,0,32,0,83,0,73,0,76,0,32,0,79,0,112,0,101,0,110,0,32,0,70,0,111,0,110,0,116,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,32,0,40,0,104,0,116,0,116,0,112,0,115,0,58,0,47,0,47,0,115,0,99,0,114,0,105,0,112,0,116,0,115,0,46,0,115,0,105,0,108,0,46,0,111,0,114,0,103,0,47,0,79,0,70,0,76,0,41,0,44,0,32,0,97,0,112,0,112,0,108,0,105,0,101,0,115,0,32,0,116,0,111,0,32,0,116,0,104,0,105,0,115,0,32,0,102,0,111,0,110,0,116,0,46,0,32,0,65,0,100,0,100,0,105,0,116,0,105,0,111,0,110,0,97,0,108,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,32,0,116,0,101,0,114,0,109,0,115,0,32,0,109,0,97,0,121,0,32,0,98,0,101,0,32,0,102,0,111,0,117,0,110,0,100,0,32,0,111,0,110,0,32,0,116,0,104,0,101,0,32,0,71,0,105,0,116,0,72,0,117,0,98,0,32,0,114,0,101,0,112,0,111,0,115,0,105,0,116,0,111,0,114,0,121,0,32,0,102,0,111,0,114,0,32,0,116,0,104,0,105,0,115,0,32,0,102,0,111,0,110,0,116,0,32,0,40,0,104,0,116,0,116,0,112,0,115,0,58,0,47,0,47,0,103,0,105,0,116,0,104,0,117,0,98,0,46,0,99,0,111,0,109,0,47,0,109,0,105,0,99,0,114,0,111,0,115,0,111,0,102,0,116,0,47,0,99,0,97,0,115,0,99,0,97,0,100,0,105,0,97,0,45,0,99,0,111,0,100,0,101,0,47,0,98,0,108,0,111,0,98,0,47,0,109,0,97,0,115,0,116,0,101,0,114,0,47,0,76,0,73,0,67,0,69,0,78,0,83,0,69,0,41,0,46,0,10,0,32,0,10,0,80,0,101,0,114,0,109,0,105,0,115,0,115,0,105,0,111,0,110,0,32,0,105,0,115,0,32,0,104,0,101,0,114,0,101,0,98,0,121,0,32,0,103,0,114,0,97,0,110,0,116,0,101,0,100,0,44,0,32,0,102,0,114,0,101,0,101,0,32,0,111,0,102,0,32,0,99,0,104,0,97,0,114,0,103,0,101,0,44,0,32,0,116,0,111,0,32,0,97,0,110,0,121,0,32,0,112,0,101,0,114,0,115,0,111,0,110,0,32,0,111,0,98,0,116,0,97,0,105,0,110,0,105,0,110,0,103,0,32,0,97,0,32,0,99,0,111,0,112,0,121,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,44,0,32,0,116,0,111,0,32,0,117,0,115,0,101,0,44,0,32,0,115,0,116,0,117,0,100,0,121,0,44,0,32,0,99,0,111,0,112,0,121,0,44,0,32,0,109,0,101,0,114,0,103,0,101,0,44,0,32,0,101,0,109,0,98,0,101,0,100,0,44,0,32,0,109,0,111,0,100,0,105,0,102,0,121,0,44,0,32,0,114,0,101,0,100,0,105,0,115,0,116,0,114,0,105,0,98,0,117,0,116,0,101,0,44,0,32,0,97,0,110,0,100,0,32,0,115,0,101,0,108,0,108,0,32,0,109,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,32,0,97,0,110,0,100,0,32,0,117,0,110,0,109,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,32,0,99,0,111,0,112,0,105,0,101,0,115,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,44,0,32,0,115,0,117,0,98,0,106,0,101,0,99,0,116,0,32,0,116,0,111,0,32,0,116,0,104,0,101,0,32,0,102,0,111,0,108,0,108,0,111,0,119,0,105,0,110,0,103,0,32,0,99,0,111,0,110,0,100,0,105,0,116,0,105,0,111,0,110,0,115,0,58,0,10,0,32,0,10,0,49,0,41,0,32,0,78,0,101,0,105,0,116,0,104,0,101,0,114,0,32,0,116,0,104,0,101,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,110,0,111,0,114,0,32,0,97,0,110,0,121,0,32,0,111,0,102,0,32,0,105,0,116,0,115,0,32,0,105,0,110,0,100,0,105,0,118,0,105,0,100,0,117,0,97,0,108,0,32,0,99,0,111,0,109,0,112,0,111,0,110,0,101,0,110,0,116,0,115,0,44,0,32,0,105,0,110,0,32,0,79,0,114,0,105,0,103,0,105,0,110,0,97,0,108,0,32,0,111,0,114,0,32,0,77,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,32,0,86,0,101,0,114,0,115,0,105,0,111,0,110,0,115,0,44,0,32,0,109,0,97,0,121,0,32,0,98,0,101,0,32,0,115,0,111,0,108,0,100,0,32,0,98,0,121,0,32,0,105,0,116,0,115,0,101,0,108,0,102,0,46,0,10,0,32,0,10,0,50,0,41,0,32,0,79,0,114,0,105,0,103,0,105,0,110,0,97,0,108,0,32,0,111,0,114,0,32,0,77,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,32,0,86,0,101,0,114,0,115,0,105,0,111,0,110,0,115,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,109,0,97,0,121,0,32,0,98,0,101,0,32,0,98,0,117,0,110,0,100,0,108,0,101,0,100,0,44,0,32,0,114,0,101,0,100,0,105,0,115,0,116,0,114,0,105,0,98,0,117,0,116,0,101,0,100,0,32,0,97,0,110,0,100,0,47,0,111,0,114,0,32,0,115,0,111,0,108,0,100,0,32,0,119,0,105,0,116,0,104,0,32,0,97,0,110,0,121,0,32,0,115,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,44,0,32,0,112,0,114,0,111,0,118,0,105,0,100,0,101,0,100,0,32,0,116,0,104,0,97,0,116,0,32,0,101,0,97,0,99,0,104,0,32,0,99,0,111,0,112,0,121,0,32,0,99,0,111,0,110,0,116,0,97,0,105,0,110,0,115,0,32,0,116,0,104,0,101,0,32,0,97,0,98,0,111,0,118,0,101,0,32,0,99,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,32,0,110,0,111,0,116,0,105,0,99,0,101,0,32,0,97,0,110,0,100,0,32,0,116,0,104,0,105,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,46,0,32,0,84,0,104,0,101,0,115,0,101,0,32,0,99,0,97,0,110,0,32,0,98,0,101,0,32,0,105,0,110,0,99,0,108,0,117,0,100,0,101,0,100,0,32,0,101,0,105,0,116,0,104,0,101,0,114,0,32,0,97,0,115,0,32,0,115,0,116,0,97,0,110,0,100,0,45,0,97,0,108,0,111,0,110,0,101,0,32,0,116,0,101,0,120,0,116,0,32,0,102,0,105,0,108,0,101,0,115,0,44,0,32,0,104,0,117,0,109,0,97,0,110,0,45,0,114,0,101,0,97,0,100,0,97,0,98,0,108,0,101,0,32,0,104,0,101,0,97,0,100,0,101,0,114,0,115,0,32,0,111,0,114,0,32,0,105,0,110,0,32,0,116,0,104,0,101,0,32,0,97,0,112,0,112,0,114,0,111,0,112,0,114,0,105,0,97,0,116,0,101,0,32,0,109,0,97,0,99,0,104,0,105,0,110,0,101,0,45,0,114,0,101,0,97,0,100,0,97,0,98,0,108,0,101,0,32,0,109,0,101,0,116,0,97,0,100,0,97,0,116,0,97,0,32,0,102,0,105,0,101,0,108,0,100,0,115,0,32,0,119,0,105,0,116,0,104,0,105,0,110,0,32,0,116,0,101,0,120,0,116,0,32,0,111,0,114,0,32,0,98,0,105,0,110,0,97,0,114,0,121,0,32,0,102,0,105,0,108,0,101,0,115,0,32,0,97,0,115,0,32,0,108,0,111,0,110,0,103,0,32,0,97,0,115,0,32,0,116,0,104,0,111,0,115,0,101,0,32,0,102,0,105,0,101,0,108,0,100,0,115,0,32,0,99,0,97,0,110,0,32,0,98,0,101,0,32,0,101,0,97,0,115,0,105,0,108,0,121,0,32,0,118,0,105,0,101,0,119,0,101,0,100,0,32,0,98,0,121,0,32,0,116,0,104,0,101,0,32,0,117,0,115,0,101,0,114,0,46,0,10,0,32,0,10,0,51,0,41,0,32,0,78,0,111,0,32,0,77,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,32,0,86,0,101,0,114,0,115,0,105,0,111,0,110,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,109,0,97,0,121,0,32,0,117,0,115,0,101,0,32,0,116,0,104,0,101,0,32,0,82,0,101,0,115,0,101,0,114,0,118,0,101,0,100,0,32,0,70,0,111,0,110,0,116,0,32,0,78,0,97,0,109,0,101,0,40,0,115,0,41,0,32,0,117,0,110,0,108,0,101,0,115,0,115,0,32,0,101,0,120,0,112,0,108,0,105,0,99,0,105,0,116,0,32,0,119,0,114,0,105,0,116,0,116,0,101,0,110,0,32,0,112,0,101,0,114,0,109,0,105,0,115,0,115,0,105,0,111,0,110,0,32,0,105,0,115,0,32,0,103,0,114,0,97,0,110,0,116,0,101,0,100,0,32,0,98,0,121,0,32,0,116,0,104,0,101,0,32,0,99,0,111,0,114,0,114,0,101,0,115,0,112,0,111,0,110,0,100,0,105,0,110,0,103,0,32,0,67,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,32,0,72,0,111,0,108,0,100,0,101,0,114,0,46,0,32,0,84,0,104,0,105,0,115,0,32,0,114,0,101,0,115,0,116,0,114,0,105,0,99,0,116,0,105,0,111,0,110,0,32,0,111,0,110,0,108,0,121,0,32,0,97,0,112,0,112,0,108,0,105,0,101,0,115,0,32,0,116,0,111,0,32,0,116,0,104,0,101,0,32,0,112,0,114,0,105,0,109,0,97,0,114,0,121,0,32,0,102,0,111,0,110,0,116,0,32,0,110,0,97,0,109,0,101,0,32,0,97,0,115,0,32,0,112,0,114,0,101,0,115,0,101,0,110,0,116,0,101,0,100,0,32,0,116,0,111,0,32,0,116,0,104,0,101,0,32,0,117,0,115,0,101,0,114,0,115,0,46,0,10,0,32,0,10,0,52,0,41,0,32,0,84,0,104,0,101,0,32,0,110,0,97,0,109,0,101,0,40,0,115,0,41,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,67,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,32,0,72,0,111,0,108,0,100,0,101,0,114,0,40,0,115,0,41,0,32,0,111,0,114,0,32,0,116,0,104,0,101,0,32,0,65,0,117,0,116,0,104,0,111,0,114,0,40,0,115,0,41,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,115,0,104,0,97,0,108,0,108,0,32,0,110,0,111,0,116,0,32,0,98,0,101,0,32,0,117,0,115,0,101,0,100,0,32,0,116,0,111,0,32,0,112,0,114,0,111,0,109,0,111,0,116,0,101,0,44,0,32,0,101,0,110,0,100,0,111,0,114,0,115,0,101,0,32,0,111,0,114,0,32,0,97,0,100,0,118,0,101,0,114,0,116,0,105,0,115,0,101,0,32,0,97,0,110,0,121,0,32,0,77,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,32,0,86,0,101,0,114,0,115,0,105,0,111,0,110,0,44,0,32,0,101,0,120,0,99,0,101,0,112,0,116,0,32,0,116,0,111,0,32,0,97,0,99,0,107,0,110,0,111,0,119,0,108,0,101,0,100,0,103,0,101,0,32,0,116,0,104,0,101,0,32,0,99,0,111,0,110,0,116,0,114,0,105,0,98,0,117,0,116,0,105,0,111,0,110,0,40,0,115,0,41,0,32,0,111,0,102,0,32,0,116,0,104,0,101,0,32,0,67,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,32,0,72,0,111,0,108,0,100,0,101,0,114,0,40,0,115,0,41,0,32,0,97,0,110,0,100,0,32,0,116,0,104,0,101,0,32,0,65,0,117,0,116,0,104,0,111,0,114,0,40,0,115,0,41,0,32,0,111,0,114,0,32,0,119,0,105,0,116,0,104,0,32,0,116,0,104,0,101,0,105,0,114,0,32,0,101,0,120,0,112,0,108,0,105,0,99,0,105,0,116,0,32,0,119,0,114,0,105,0,116,0,116,0,101,0,110,0,32,0,112,0,101,0,114,0,109,0,105,0,115,0,115,0,105,0,111,0,110,0,46,0,10,0,32,0,10,0,53,0,41,0,32,0,84,0,104,0,101,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,44,0,32,0,109,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,32,0,111,0,114,0,32,0,117,0,110,0,109,0,111,0,100,0,105,0,102,0,105,0,101,0,100,0,44,0,32,0,105,0,110,0,32,0,112,0,97,0,114,0,116,0,32,0,111,0,114,0,32,0,105,0,110,0,32,0,119,0,104,0,111,0,108,0,101,0,44,0,32,0,109,0,117,0,115,0,116,0,32,0,98,0,101,0,32,0,100,0,105,0,115,0,116,0,114,0,105,0,98,0,117,0,116,0,101,0,100,0,32,0,101,0,110,0,116,0,105,0,114,0,101,0,108,0,121,0,32,0,117,0,110,0,100,0,101,0,114,0,32,0,116,0,104,0,105,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,44,0,32,0,97,0,110,0,100,0,32,0,109,0,117,0,115,0,116,0,32,0,110,0,111,0,116,0,32,0,98,0,101,0,32,0,100,0,105,0,115,0,116,0,114,0,105,0,98,0,117,0,116,0,101,0,100,0,32,0,117,0,110,0,100,0,101,0,114,0,32,0,97,0,110,0,121,0,32,0,111,0,116,0,104,0,101,0,114,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,46,0,32,0,84,0,104,0,101,0,32,0,114,0,101,0,113,0,117,0,105,0,114,0,101,0,109,0,101,0,110,0,116,0,32,0,102,0,111,0,114,0,32,0,102,0,111,0,110,0,116,0,115,0,32,0,116,0,111,0,32,0,114,0,101,0,109,0,97,0,105,0,110,0,32,0,117,0,110,0,100,0,101,0,114,0,32,0,116,0,104,0,105,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,32,0,100,0,111,0,101,0,115,0,32,0,110,0,111,0,116,0,32,0,97,0,112,0,112,0,108,0,121,0,32,0,116,0,111,0,32,0,97,0,110,0,121,0,32,0,100,0,111,0,99,0,117,0,109,0,101,0,110,0,116,0,32,0,99,0,114,0,101,0,97,0,116,0,101,0,100,0,32,0,117,0,115,0,105,0,110,0,103,0,32,0,116,0,104,0,101,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,46,0,10,0,32,0,10,0,84,0,72,0,69,0,32,0,70,0,79,0,78,0,84,0,32,0,83,0,79,0,70,0,84,0,87,0,65,0,82,0,69,0,32,0,73,0,83,0,32,0,80,0,82,0,79,0,86,0,73,0,68,0,69,0,68,0,32,0,34,0,65,0,83,0,32,0,73,0,83,0,34,0,44,0,32,0,87,0,73,0,84,0,72,0,79,0,85,0,84,0,32,0,87,0,65,0,82,0,82,0,65,0,78,0,84,0,89,0,32,0,79,0,70,0,32,0,65,0,78,0,89,0,32,0,75,0,73,0,78,0,68,0,44,0,32,0,69,0,88,0,80,0,82,0,69,0,83,0,83,0,32,0,79,0,82,0,32,0,73,0,77,0,80,0,76,0,73,0,69,0,68,0,44,0,32,0,73,0,78,0,67,0,76,0,85,0,68,0,73,0,78,0,71,0,32,0,66,0,85,0,84,0,32,0,78,0,79,0,84,0,32,0,76,0,73,0,77,0,73,0,84,0,69,0,68,0,32,0,84,0,79,0,32,0,65,0,78,0,89,0,32,0,87,0,65,0,82,0,82,0,65,0,78,0,84,0,73,0,69,0,83,0,32,0,79,0,70,0,32,0,77,0,69,0,82,0,67,0,72,0,65,0,78,0,84,0,65,0,66,0,73,0,76,0,73,0,84,0,89,0,44,0,32,0,70,0,73,0,84,0,78,0,69,0,83,0,83,0,32,0,70,0,79,0,82,0,32,0,65,0,32,0,80,0,65,0,82,0,84,0,73,0,67,0,85,0,76,0,65,0,82,0,32,0,80,0,85,0,82,0,80,0,79,0,83,0,69,0,32,0,65,0,78,0,68,0,32,0,78,0,79,0,78,0,73,0,78,0,70,0,82,0,73,0,78,0,71,0,69,0,77,0,69,0,78,0,84,0,32,0,79,0,70,0,32,0,67,0,79,0,80,0,89,0,82,0,73,0,71,0,72,0,84,0,44,0,32,0,80,0,65,0,84,0,69,0,78,0,84,0,44,0,32,0,84,0,82,0,65,0,68,0,69,0,77,0,65,0,82,0,75,0,44,0,32,0,79,0,82,0,32,0,79,0,84,0,72,0,69,0,82,0,32,0,82,0,73,0,71,0,72,0,84,0,46,0,32,0,73,0,78,0,32,0,78,0,79,0,32,0,69,0,86,0,69,0,78,0,84,0,32,0,83,0,72,0,65,0,76,0,76,0,32,0,84,0,72,0,69,0,32,0,67,0,79,0,80,0,89,0,82,0,73,0,71,0,72,0,84,0,32,0,72,0,79,0,76,0,68,0,69,0,82,0,32,0,66,0,69,0,32,0,76,0,73,0,65,0,66,0,76,0,69,0,32,0,70,0,79,0,82,0,32,0,65,0,78,0,89,0,32,0,67,0,76,0,65,0,73,0,77,0,44,0,32,0,68,0,65,0,77,0,65,0,71,0,69,0,83,0,32,0,79,0,82,0,32,0,79,0,84,0,72,0,69,0,82,0,32,0,76,0,73,0,65,0,66,0,73,0,76,0,73,0,84,0,89,0,44,0,32,0,73,0,78,0,67,0,76,0,85,0,68,0,73,0,78,0,71,0,32,0,65,0,78,0,89,0,32,0,71,0,69,0,78,0,69,0,82,0,65,0,76,0,44,0,32,0,83,0,80,0,69,0,67,0,73,0,65,0,76,0,44,0,32,0,73,0,78,0,68,0,73,0,82,0,69,0,67,0,84,0,44,0,32,0,73,0,78,0,67,0,73,0,68,0,69,0,78,0,84,0,65,0,76,0,44,0,32,0,79,0,82,0,32,0,67,0,79,0,78,0,83,0,69,0,81,0,85,0,69,0,78,0,84,0,73,0,65,0,76,0,32,0,68,0,65,0,77,0,65,0,71,0,69,0,83,0,44,0,32,0,87,0,72,0,69,0,84,0,72,0,69,0,82,0,32,0,73,0,78,0,32,0,65,0,78,0,32,0,65,0,67,0,84,0,73,0,79,0,78,0,32,0,79,0,70,0,32,0,67,0,79,0,78,0,84,0,82,0,65,0,67,0,84,0,44,0,32,0,84,0,79,0,82,0,84,0,32,0,79,0,82,0,32,0,79,0,84,0,72,0,69,0,82,0,87,0,73,0,83,0,69,0,44,0,32,0,65,0,82,0,73,0,83,0,73,0,78,0,71,0,32,0,70,0,82,0,79,0,77,0,44,0,32,0,79,0,85,0,84,0,32,0,79,0,70,0,32,0,84,0,72,0,69,0,32,0,85,0,83,0,69,0,32,0,79,0,82,0,32,0,73,0,78,0,65,0,66,0,73,0,76,0,73,0,84,0,89,0,32,0,84,0,79,0,32,0,85,0,83,0,69,0,32,0,84,0,72,0,69,0,32,0,70,0,79,0,78,0,84,0,32,0,83,0,79,0,70,0,84,0,87,0,65,0,82,0,69,0,32,0,79,0,82,0,32,0,70,0,82,0,79,0,77,0,32,0,79,0,84,0,72,0,69,0,82,0,32,0,68,0,69,0,65,0,76,0,73,0,78,0,71,0,83,0,32,0,73,0,78,0,32,0,84,0,72,0,69,0,32,0,70,0,79,0,78,0,84,0,32,0,83,0,79,0,70,0,84,0,87,0,65,0,82,0,69,0,46,0,104,0,116,0,116,0,112,0,115,0,58,0,47,0,47,0,115,0,99,0,114,0,105,0,112,0,116,0,115,0,46,0,115,0,105,0,108,0,46,0,111,0,114,0,103,0,47,0,79,0,70,0,76,0,87,0,101,0,105,0,103,0,104,0,116,0,69,0,120,0,116,0,114,0,97,0,76,0,105,0,103,0,104,0,116,0,76,0,105,0,103,0,104,0,116,0,83,0,101,0,109,0,105,0,76,0,105,0,103,0,104,0,116,0,83,0,101,0,109,0,105,0,66,0,111,0,108,0,100,0,66,0,111,0,108,0,100,0,0,0,0,2,0,0,0,0,0,0,255,156,0,50,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,88,0,0,0,36,0,201,1,2,6,97,6,98,6,99,6,100,6,101,6,102,0,199,6,103,6,104,6,105,6,106,6,107,0,98,6,108,0,173,6,109,1,16,1,17,0,99,1,18,0,174,0,144,1,19,0,37,0,38,0,253,0,255,0,100,1,20,1,21,0,39,0,233,1,22,1,23,0,40,0,101,1,24,1,25,0,200,6,110,6,111,6,112,6,113,6,114,0,202,1,31,6,115,0,203,6,116,1,34,1,35,6,117,6,118,6,119,6,120,0,41,0,42,0,248,1,40,1,41,6,121,1,43,0,43,1,44,6,122,1,46,0,44,1,47,0,204,1,48,0,205,0,206,0,250,6,123,0,207,6,124,1,51,1,52,1,53,0,45,1,54,0,46,6,125,0,47,1,56,1,57,6,126,1,59,0,226,0,48,0,49,1,60,1,61,6,127,1,63,6,128,0,102,0,50,0,208,1,65,0,209,6,129,6,130,6,131,6,132,6,133,0,103,6,134,0,211,6,135,1,73,6,136,6,137,6,138,6,139,6,140,1,79,1,80,6,141,6,142,0,145,1,83,0,175,0,176,0,51,0,237,0,52,0,53,1,84,1,85,6,143,0,54,1,87,0,228,0,251,1,88,6,144,6,145,6,146,0,55,1,92,1,93,6,147,6,148,0,56,0,212,1,96,0,213,0,104,6,149,0,214,6,150,1,99,6,151,6,152,6,153,6,154,6,155,1,105,1,106,1,107,1,108,1,109,0,57,6,156,0,58,1,111,1,112,1,113,1,114,0,59,0,60,0,235,1,115,0,187,6,157,1,117,6,158,6,159,6,160,0,61,1,121,0,230,1,122,1,123,1,124,1,125,1,126,1,127,1,128,6,161,0,68,0,105,1,130,6,162,6,163,6,164,6,165,6,166,6,167,0,107,6,168,6,169,6,170,6,171,6,172,0,108,6,173,0,106,6,174,1,144,1,145,0,110,1,146,0,109,0,160,1,147,0,69,0,70,0,254,1,0,0,111,1,148,1,149,0,71,0,234,1,150,1,1,0,72,0,112,1,151,1,152,0,114,6,175,6,176,6,177,6,178,6,179,0,115,1,158,6,180,0,113,6,181,1,161,1,162,6,182,6,183,6,184,6,185,6,186,0,73,0,74,0,249,1,168,1,169,6,187,1,171,0,75,1,172,6,188,1,174,0,76,0,215,0,116,1,176,0,118,0,119,6,189,0,117,6,190,1,179,1,180,1,181,1,182,0,77,6,191,1,184,0,78,6,192,1,186,0,79,1,187,1,188,6,193,1,190,0,227,0,80,0,81,1,191,1,192,1,193,6,194,1,195,6,195,0,120,0,82,0,121,1,197,0,123,6,196,6,197,6,198,6,199,6,200,0,124,6,201,0,122,6,202,1,205,6,203,6,204,6,205,6,206,6,207,1,211,1,212,6,208,6,209,0,161,1,215,0,125,0,177,0,83,0,238,0,84,0,85,1,216,1,217,6,210,0,86,1,219,0,229,0,252,1,220,6,211,0,137,1,222,0,87,1,223,1,224,6,212,6,213,6,214,0,88,0,126,1,228,0,128,0,129,6,215,0,127,6,216,1,231,6,217,6,218,6,219,6,220,6,221,1,237,1,238,1,239,1,240,1,241,0,89,6,222,0,90,1,243,1,244,1,245,1,246,0,91,0,92,0,236,1,247,0,186,6,223,1,249,6,224,6,225,6,226,0,93,1,253,0,231,1,254,1,255,2,0,2,1,2,2,2,3,2,4,2,5,2,6,2,7,0,157,0,158,6,227,6,228,6,229,6,230,6,231,6,232,6,233,6,234,6,235,6,236,6,237,6,238,6,239,6,240,6,241,6,242,6,243,6,244,6,245,6,246,6,247,6,248,6,249,6,250,6,251,6,252,6,253,6,254,6,255,7,0,7,1,7,2,7,3,7,4,7,5,7,6,7,7,7,8,7,9,7,10,7,11,7,12,7,13,7,14,7,15,7,16,7,17,7,18,7,19,7,20,7,21,7,22,7,23,7,24,7,25,7,26,7,27,7,28,7,29,7,30,7,31,7,32,7,33,7,34,7,35,7,36,7,37,7,38,7,39,7,40,7,41,7,42,7,43,7,44,7,45,7,46,7,47,7,48,7,49,7,50,7,51,7,52,7,53,7,54,7,55,7,56,7,57,7,58,7,59,7,60,7,61,7,62,7,63,7,64,7,65,7,66,7,67,7,68,7,69,7,70,7,71,7,72,7,73,7,74,7,75,7,76,7,77,7,78,7,79,7,80,7,81,7,82,7,83,7,84,7,85,7,86,7,87,7,88,7,89,7,90,7,91,7,92,7,93,7,94,7,95,7,96,7,97,7,98,7,99,7,100,7,101,7,102,7,103,7,104,7,105,7,106,7,107,7,108,7,109,7,110,7,111,7,112,7,113,7,114,7,115,7,116,7,117,7,118,7,119,2,157,2,158,2,159,7,120,2,160,2,161,2,162,2,163,2,164,2,165,2,166,2,167,2,168,2,169,2,170,2,171,2,172,2,173,2,174,2,175,2,176,2,177,2,178,7,121,2,179,2,180,2,181,2,182,2,183,2,184,2,185,2,186,2,187,7,122,2,189,2,190,2,191,2,192,2,193,2,194,2,195,2,196,2,197,2,198,2,199,7,123,2,200,2,201,2,202,0,155,2,203,7,124,2,205,2,206,2,207,2,208,2,209,2,210,2,211,2,212,2,213,2,214,2,215,2,216,2,217,2,218,2,219,2,220,2,221,2,222,7,125,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,2,224,7,126,7,127,7,128,7,129,7,130,7,131,7,132,7,133,7,134,7,135,2,235,2,236,2,237,2,238,2,239,2,240,2,241,2,242,2,243,2,244,2,245,2,246,2,247,2,248,2,249,2,250,2,251,2,252,2,253,2,254,7,136,7,137,7,138,7,139,7,140,7,141,7,142,7,143,7,144,7,145,0,188,0,244,0,245,0,246,3,6,3,7,3,8,3,9,0,17,0,15,0,29,0,30,0,171,0,4,0,163,0,34,0,162,0,195,0,135,0,13,7,146,0,6,3,11,7,147,0,18,0,63,0,11,0,12,0,94,0,96,0,62,0,64,7,148,7,149,7,150,7,151,0,16,7,152,0,178,0,179,7,153,7,154,7,155,0,66,3,21,0,196,0,197,0,180,0,181,0,182,0,183,3,22,0,169,0,170,0,190,0,191,0,5,0,10,3,25,3,26,3,27,3,28,3,29,3,30,3,31,3,32,3,33,3,34,3,35,3,36,3,37,3,38,3,39,3,40,3,41,3,42,3,43,3,44,3,45,3,46,3,47,3,48,3,49,3,50,3,51,3,52,3,53,3,54,3,55,3,56,3,57,3,58,3,59,3,60,3,61,3,62,3,63,3,64,3,65,3,66,3,67,3,68,3,69,3,70,3,71,3,72,3,73,7,156,7,157,3,76,3,77,3,78,3,79,3,80,3,81,3,82,3,83,3,84,3,85,3,86,3,87,3,88,7,158,7,159,0,3,7,160,3,92,7,161,7,162,7,163,0,132,7,164,0,189,0,7,3,97,7,165,7,166,0,166,0,247,7,167,7,168,7,169,7,170,3,104,7,171,7,172,7,173,3,108,7,174,7,175,7,176,7,177,7,178,0,133,7,179,7,180,7,181,0,150,7,182,7,183,3,119,7,184,3,121,3,122,7,185,7,186,0,14,0,239,0,240,0,184,0,32,0,143,0,33,0,31,0,149,0,148,0,147,0,167,0,97,0,164,0,65,0,146,3,125,0,156,7,187,7,188,0,154,0,153,0,165,7,189,0,152,3,129,0,8,0,198,7,190,7,191,7,192,7,193,7,194,7,195,7,196,7,197,7,198,7,199,7,200,7,201,7,202,7,203,7,204,7,205,7,206,7,207,7,208,7,209,7,210,7,211,7,212,7,213,7,214,7,215,7,216,7,217,7,218,7,219,7,220,7,221,7,222,7,223,7,224,7,225,7,226,7,227,7,228,7,229,7,230,7,231,7,232,7,233,7,234,7,235,7,236,7,237,7,238,7,239,7,240,7,241,7,242,7,243,7,244,7,245,7,246,7,247,7,248,7,249,7,250,7,251,7,252,7,253,7,254,7,255,8,0,8,1,8,2,8,3,8,4,8,5,8,6,8,7,8,8,8,9,8,10,8,11,8,12,8,13,0,185,8,14,8,15,8,16,8,17,8,18,8,19,8,20,8,21,8,22,8,23,8,24,8,25,8,26,8,27,8,28,8,29,8,30,8,31,8,32,8,33,8,34,8,35,8,36,8,37,8,38,8,39,8,40,8,41,8,42,8,43,8,44,8,45,8,46,8,47,8,48,8,49,8,50,8,51,8,52,8,53,8,54,8,55,8,56,8,57,8,58,8,59,8,60,8,61,8,62,8,63,8,64,8,65,8,66,8,67,8,68,8,69,8,70,8,71,8,72,8,73,8,74,8,75,8,76,8,77,8,78,8,79,8,80,8,81,8,82,8,83,8,84,8,85,8,86,8,87,8,88,8,89,8,90,8,91,8,92,8,93,8,94,8,95,8,96,8,97,8,98,8,99,8,100,8,101,8,102,8,103,8,104,8,105,8,106,8,107,8,108,8,109,8,110,8,111,8,112,8,113,8,114,8,115,8,116,8,117,8,118,8,119,8,120,8,121,8,122,8,123,8,124,8,125,8,126,8,127,8,128,8,129,8,130,8,131,8,132,8,133,8,134,8,135,8,136,8,137,8,138,8,139,8,140,8,141,8,142,8,143,8,144,8,145,8,146,8,147,8,148,8,149,8,150,8,151,8,152,8,153,8,154,8,155,8,156,8,157,8,158,8,159,8,160,8,161,8,162,8,163,8,164,8,165,8,166,8,167,8,168,8,169,8,170,8,171,8,172,8,173,8,174,8,175,8,176,8,177,8,178,8,179,8,180,8,181,8,182,8,183,8,184,8,185,8,186,8,187,8,188,8,189,8,190,8,191,8,192,8,193,8,194,8,195,8,196,8,197,8,198,8,199,8,200,8,201,8,202,8,203,8,204,8,205,8,206,8,207,8,208,8,209,8,210,8,211,8,212,8,213,8,214,8,215,8,216,8,217,8,218,8,219,8,220,8,221,8,222,8,223,8,224,8,225,8,226,8,227,8,228,8,229,8,230,8,231,8,232,8,233,8,234,8,235,8,236,8,237,8,238,8,239,8,240,8,241,8,242,8,243,8,244,8,245,8,246,8,247,8,248,0,35,0,9,0,136,0,134,0,139,0,138,8,249,0,140,8,250,0,131,4,191,4,192,0,95,0,232,0,130,8,251,0,194,8,252,4,195,8,253,8,254,8,255,9,0,9,1,9,2,9,3,9,4,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,12,9,13,9,14,9,15,9,16,9,17,9,18,9,19,9,20,9,21,9,22,9,23,9,24,9,25,9,26,9,27,4,227,4,228,4,229,4,230,4,231,4,232,4,233,4,234,4,235,4,236,4,237,4,238,4,239,4,240,4,241,4,242,4,243,4,244,4,245,4,246,4,247,4,248,4,249,4,250,4,251,4,252,4,253,4,254,4,255,5,0,5,1,5,2,5,3,5,4,5,5,5,6,5,7,5,8,5,9,5,10,5,11,5,12,5,13,5,14,5,15,5,16,5,17,5,18,5,19,5,20,5,21,5,22,5,23,5,24,5,25,5,26,5,27,5,28,5,29,5,30,5,31,5,32,5,33,5,34,5,35,5,36,5,37,5,38,5,39,5,40,5,41,9,28,9,29,9,30,9,31,9,32,9,33,9,34,9,35,9,36,9,37,9,38,9,39,9,40,9,41,9,42,9,43,9,44,9,45,9,46,9,47,9,48,9,49,9,50,9,51,9,52,9,53,9,54,9,55,9,56,9,57,9,58,9,59,9,60,9,61,9,62,9,63,9,64,9,65,9,66,9,67,9,68,9,69,9,70,9,71,9,72,9,73,9,74,9,75,9,76,9,77,9,78,9,79,9,80,9,81,9,82,9,83,9,84,9,85,9,86,9,87,9,88,9,89,9,90,9,91,9,92,9,93,9,94,9,95,9,96,9,97,9,98,9,99,9,100,9,101,9,102,9,103,9,104,9,105,9,106,9,107,9,108,9,109,9,110,9,111,9,112,9,113,9,114,9,115,9,116,9,117,9,118,9,119,9,120,9,121,9,122,9,123,9,124,9,125,9,126,9,127,9,128,9,129,9,130,9,131,9,132,9,133,9,134,9,135,9,136,9,137,9,138,9,139,9,140,9,141,9,142,9,143,9,144,9,145,9,146,9,147,9,148,9,149,9,150,9,151,9,152,9,153,9,154,9,155,9,156,9,157,9,158,9,159,9,160,9,161,9,162,9,163,9,164,9,165,9,166,9,167,9,168,9,169,9,170,9,171,9,172,9,173,9,174,9,175,9,176,9,177,9,178,9,179,9,180,9,181,9,182,9,183,9,184,9,185,9,186,9,187,9,188,9,189,9,190,9,191,9,192,9,193,9,194,9,195,9,196,9,197,9,198,9,199,9,200,9,201,9,202,9,203,9,204,9,205,9,206,9,207,9,208,9,209,9,210,9,211,9,212,9,213,9,214,9,215,9,216,9,217,9,218,9,219,9,220,9,221,9,222,9,223,9,224,9,225,9,226,9,227,9,228,9,229,9,230,9,231,9,232,9,233,9,234,9,235,9,236,9,237,9,238,9,239,9,240,9,241,9,242,9,243,9,244,9,245,9,246,9,247,9,248,9,249,9,250,9,251,9,252,9,253,9,254,9,255,10,0,10,1,10,2,10,3,10,4,10,5,10,6,10,7,10,8,10,9,10,10,10,11,10,12,10,13,10,14,10,15,10,16,10,17,10,18,10,19,10,20,10,21,10,22,10,23,10,24,10,25,10,26,10,27,10,28,10,29,10,30,10,31,10,32,10,33,10,34,10,35,10,36,6,51,6,52,10,37,10,38,10,39,10,40,10,41,6,58,10,42,6,60,10,43,10,44,6,63,10,45,10,46,10,47,10,48,10,49,0,142,0,220,0,67,0,141,0,223,0,216,0,225,0,219,0,221,0,217,0,218,0,222,0,224,10,50,10,51,6,71,6,72,10,52,10,53,10,54,10,55,10,56,6,78,10,57,6,80,10,58,6,82,6,83,10,59,6,85,6,86,6,87,10,60,10,61,6,90,6,91,10,62,6,93,6,94,6,95,6,96,6,65,98,114,101,118,101,11,65,98,114,101,118,101,97,99,117,116,101,14,65,98,114,101,118,101,100,111,116,98,101,108,111,119,11,65,98,114,101,118,101,103,114,97,118,101,15,65,98,114,101,118,101,104,111,111,107,97,98,111,118,101,11,65,98,114,101,118,101,116,105,108,100,101,6,65,99,97,114,111,110,16,65,99,105,114,99,117,109,102,108,101,120,97,99,117,116,101,19,65,99,105,114,99,117,109,102,108,101,120,100,111,116,98,101,108,111,119,16,65,99,105,114,99,117,109,102,108,101,120,103,114,97,118,101,20,65,99,105,114,99,117,109,102,108,101,120,104,111,111,107,97,98,111,118,101,16,65,99,105,114,99,117,109,102,108,101,120,116,105,108,100,101,9,65,100,111,116,98,101,108,111,119,10,65,104,111,111,107,97,98,111,118,101,7,65,109,97,99,114,111,110,7,65,111,103,111,110,101,107,10,65,114,105,110,103,97,99,117,116,101,7,65,69,97,99,117,116,101,11,67,99,105,114,99,117,109,102,108,101,120,10,67,100,111,116,97,99,99,101,110,116,6,68,99,97,114,111,110,6,68,99,114,111,97,116,6,69,98,114,101,118,101,6,69,99,97,114,111,110,16,69,99,105,114,99,117,109,102,108,101,120,97,99,117,116,101,19,69,99,105,114,99,117,109,102,108,101,120,100,111,116,98,101,108,111,119,16,69,99,105,114,99,117,109,102,108,101,120,103,114,97,118,101,20,69,99,105,114,99,117,109,102,108,101,120,104,111,111,107,97,98,111,118,101,16,69,99,105,114,99,117,109,102,108,101,120,116,105,108,100,101,10,69,100,111,116,97,99,99,101,110,116,9,69,100,111,116,98,101,108,111,119,10,69,104,111,111,107,97,98,111,118,101,7,69,109,97,99,114,111,110,7,69,111,103,111,110,101,107,5,69,111,112,101,110,3,69,115,104,6,69,116,105,108,100,101,3,69,122,104,6,71,99,97,114,111,110,11,71,99,105,114,99,117,109,102,108,101,120,12,71,99,111,109,109,97,97,99,99,101,110,116,10,71,100,111,116,97,99,99,101,110,116,4,72,98,97,114,6,72,99,97,114,111,110,11,72,99,105,114,99,117,109,102,108,101,120,2,73,74,6,73,98,114,101,118,101,9,73,100,111,116,98,101,108,111,119,10,73,104,111,111,107,97,98,111,118,101,7,73,109,97,99,114,111,110,7,73,111,103,111,110,101,107,6,73,116,105,108,100,101,11,74,99,105,114,99,117,109,102,108,101,120,12,75,99,111,109,109,97,97,99,99,101,110,116,6,76,97,99,117,116,101,6,76,99,97,114,111,110,12,76,99,111,109,109,97,97,99,99,101,110,116,4,76,100,111,116,6,78,97,99,117,116,101,6,78,99,97,114,111,110,12,78,99,111,109,109,97,97,99,99,101,110,116,3,69,110,103,9,78,104,111,111,107,108,101,102,116,6,79,98,114,101,118,101,16,79,99,105,114,99,117,109,102,108,101,120,97,99,117,116,101,19,79,99,105,114,99,117,109,102,108,101,120,100,111,116,98,101,108,111,119,16,79,99,105,114,99,117,109,102,108,101,120,103,114,97,118,101,20,79,99,105,114,99,117,109,102,108,101,120,104,111,111,107,97,98,111,118,101,16,79,99,105,114,99,117,109,102,108,101,120,116,105,108,100,101,9,79,100,111,116,98,101,108,111,119,10,79,104,111,111,107,97,98,111,118,101,5,79,104,111,114,110,10,79,104,111,114,110,97,99,117,116,101,13,79,104,111,114,110,100,111,116,98,101,108,111,119,10,79,104,111,114,110,103,114,97,118,101,14,79,104,111,114,110,104,111,111,107,97,98,111,118,101,10,79,104,111,114,110,116,105,108,100,101,13,79,104,117,110,103,97,114,117,109,108,97,117,116,7,79,109,97,99,114,111,110,7,79,111,103,111,110,101,107,5,79,111,112,101,110,11,79,115,108,97,115,104,97,99,117,116,101,6,82,97,99,117,116,101,6,82,99,97,114,111,110,12,82,99,111,109,109,97,97,99,99,101,110,116,6,83,97,99,117,116,101,11,83,99,105,114,99,117,109,102,108,101,120,12,83,99,111,109,109,97,97,99,99,101,110,116,10,71,101,114,109,97,110,100,98,108,115,5,83,99,104,119,97,4,84,98,97,114,6,84,99,97,114,111,110,8,84,99,101,100,105,108,108,97,12,84,99,111,109,109,97,97,99,99,101,110,116,6,85,98,114,101,118,101,9,85,100,111,116,98,101,108,111,119,10,85,104,111,111,107,97,98,111,118,101,5,85,104,111,114,110,10,85,104,111,114,110,97,99,117,116,101,13,85,104,111,114,110,100,111,116,98,101,108,111,119,10,85,104,111,114,110,103,114,97,118,101,14,85,104,111,114,110,104,111,111,107,97,98,111,118,101,10,85,104,111,114,110,116,105,108,100,101,13,85,104,117,110,103,97,114,117,109,108,97,117,116,7,85,109,97,99,114,111,110,7,85,111,103,111,110,101,107,5,85,114,105,110,103,6,85,116,105,108,100,101,7,86,116,117,114,110,101,100,6,87,97,99,117,116,101,11,87,99,105,114,99,117,109,102,108,101,120,9,87,100,105,101,114,101,115,105,115,6,87,103,114,97,118,101,11,89,99,105,114,99,117,109,102,108,101,120,9,89,100,111,116,98,101,108,111,119,6,89,103,114,97,118,101,10,89,104,111,111,107,97,98,111,118,101,7,89,109,97,99,114,111,110,6,89,116,105,108,100,101,6,90,97,99,117,116,101,10,90,100,111,116,97,99,99,101,110,116,16,73,97,99,117,116,101,95,74,46,108,111,99,108,78,76,68,14,67,97,99,117,116,101,46,108,111,99,108,80,76,75,14,78,97,99,117,116,101,46,108,111,99,108,80,76,75,14,79,97,99,117,116,101,46,108,111,99,108,80,76,75,14,83,97,99,117,116,101,46,108,111,99,108,80,76,75,14,90,97,99,117,116,101,46,108,111,99,108,80,76,75,6,73,115,109,97,108,108,6,97,98,114,101,118,101,11,97,98,114,101,118,101,97,99,117,116,101,14,97,98,114,101,118,101,100,111,116,98,101,108,111,119,11,97,98,114,101,118,101,103,114,97,118,101,15,97,98,114,101,118,101,104,111,111,107,97,98,111,118,101,11,97,98,114,101,118,101,116,105,108,100,101,6,97,99,97,114,111,110,16,97,99,105,114,99,117,109,102,108,101,120,97,99,117,116,101,19,97,99,105,114,99,117,109,102,108,101,120,100,111,116,98,101,108,111,119,16,97,99,105,114,99,117,109,102,108,101,120,103,114,97,118,101,20,97,99,105,114,99,117,109,102,108,101,120,104,111,111,107,97,98,111,118,101,16,97,99,105,114,99,117,109,102,108,101,120,116,105,108,100,101,9,97,100,111,116,98,101,108,111,119,10,97,104,111,111,107,97,98,111,118,101,7,97,109,97,99,114,111,110,7,97,111,103,111,110,101,107,10,97,114,105,110,103,97,99,117,116,101,7,97,101,97,99,117,116,101,11,99,99,105,114,99,117,109,102,108,101,120,10,99,100,111,116,97,99,99,101,110,116,6,100,99,97,114,111,110,6,101,98,114,101,118,101,6,101,99,97,114,111,110,16,101,99,105,114,99,117,109,102,108,101,120,97,99,117,116,101,19,101,99,105,114,99,117,109,102,108,101,120,100,111,116,98,101,108,111,119,16,101,99,105,114,99,117,109,102,108,101,120,103,114,97,118,101,20,101,99,105,114,99,117,109,102,108,101,120,104,111,111,107,97,98,111,118,101,16,101,99,105,114,99,117,109,102,108,101,120,116,105,108,100,101,10,101,100,111,116,97,99,99,101,110,116,9,101,100,111,116,98,101,108,111,119,10,101,104,111,111,107,97,98,111,118,101,7,101,109,97,99,114,111,110,7,101,111,103,111,110,101,107,5,101,111,112,101,110,3,101,115,104,6,101,116,105,108,100,101,5,115,99,104,119,97,3,101,122,104,6,103,99,97,114,111,110,11,103,99,105,114,99,117,109,102,108,101,120,12,103,99,111,109,109,97,97,99,99,101,110,116,10,103,100,111,116,97,99,99,101,110,116,4,104,98,97,114,6,104,99,97,114,111,110,11,104,99,105,114,99,117,109,102,108,101,120,8,105,100,111,116,108,101,115,115,6,105,98,114,101,118,101,9,105,100,111,116,98,101,108,111,119,10,105,104,111,111,107,97,98,111,118,101,2,105,106,7,105,109,97,99,114,111,110,7,105,111,103,111,110,101,107,6,105,116,105,108,100,101,8,106,100,111,116,108,101,115,115,11,106,99,105,114,99,117,109,102,108,101,120,12,107,99,111,109,109,97,97,99,99,101,110,116,12,107,103,114,101,101,110,108,97,110,100,105,99,6,108,97,99,117,116,101,6,108,99,97,114,111,110,12,108,99,111,109,109,97,97,99,99,101,110,116,4,108,100,111,116,6,110,97,99,117,116,101,11,110,97,112,111,115,116,114,111,112,104,101,6,110,99,97,114,111,110,12,110,99,111,109,109,97,97,99,99,101,110,116,3,101,110,103,9,110,104,111,111,107,108,101,102,116,6,111,98,114,101,118,101,16,111,99,105,114,99,117,109,102,108,101,120,97,99,117,116,101,19,111,99,105,114,99,117,109,102,108,101,120,100,111,116,98,101,108,111,119,16,111,99,105,114,99,117,109,102,108,101,120,103,114,97,118,101,20,111,99,105,114,99,117,109,102,108,101,120,104,111,111,107,97,98,111,118,101,16,111,99,105,114,99,117,109,102,108,101,120,116,105,108,100,101,9,111,100,111,116,98,101,108,111,119,10,111,104,111,111,107,97,98,111,118,101,5,111,104,111,114,110,10,111,104,111,114,110,97,99,117,116,101,13,111,104,111,114,110,100,111,116,98,101,108,111,119,10,111,104,111,114,110,103,114,97,118,101,14,111,104,111,114,110,104,111,111,107,97,98,111,118,101,10,111,104,111,114,110,116,105,108,100,101,13,111,104,117,110,103,97,114,117,109,108,97,117,116,7,111,109,97,99,114,111,110,7,111,111,103,111,110,101,107,5,111,111,112,101,110,11,111,115,108,97,115,104,97,99,117,116,101,6,114,97,99,117,116,101,6,114,99,97,114,111,110,12,114,99,111,109,109,97,97,99,99,101,110,116,6,115,97,99,117,116,101,11,115,99,105,114,99,117,109,102,108,101,120,12,115,99,111,109,109,97,97,99,99,101,110,116,5,108,111,110,103,115,4,116,98,97,114,6,116,99,97,114,111,110,8,116,99,101,100,105,108,108,97,12,116,99,111,109,109,97,97,99,99,101,110,116,4,116,101,115,104,6,117,98,114,101,118,101,9,117,100,111,116,98,101,108,111,119,10,117,104,111,111,107,97,98,111,118,101,5,117,104,111,114,110,10,117,104,111,114,110,97,99,117,116,101,13,117,104,111,114,110,100,111,116,98,101,108,111,119,10,117,104,111,114,110,103,114,97,118,101,14,117,104,111,114,110,104,111,111,107,97,98,111,118,101,10,117,104,111,114,110,116,105,108,100,101,13,117,104,117,110,103,97,114,117,109,108,97,117,116,7,117,109,97,99,114,111,110,7,117,111,103,111,110,101,107,5,117,114,105,110,103,6,117,116,105,108,100,101,7,118,116,117,114,110,101,100,6,119,97,99,117,116,101,11,119,99,105,114,99,117,109,102,108,101,120,9,119,100,105,101,114,101,115,105,115,6,119,103,114,97,118,101,11,121,99,105,114,99,117,109,102,108,101,120,9,121,100,111,116,98,101,108,111,119,6,121,103,114,97,118,101,10,121,104,111,111,107,97,98,111,118,101,7,121,109,97,99,114,111,110,6,121,116,105,108,100,101,6,122,97,99,117,116,101,10,122,100,111,116,97,99,99,101,110,116,10,100,99,97,114,111,110,46,97,108,116,16,105,97,99,117,116,101,95,106,46,108,111,99,108,78,76,68,14,99,97,99,117,116,101,46,108,111,99,108,80,76,75,14,110,97,99,117,116,101,46,108,111,99,108,80,76,75,14,111,97,99,117,116,101,46,108,111,99,108,80,76,75,14,115,97,99,117,116,101,46,108,111,99,108,80,76,75,14,122,97,99,117,116,101,46,108,111,99,108,80,76,75,10,120,46,109,117,108,116,105,112,108,121,10,119,95,119,95,119,46,108,105,103,97,4,110,109,111,100,4,65,45,99,121,5,66,101,45,99,121,5,86,101,45,99,121,5,71,101,45,99,121,6,71,106,101,45,99,121,12,71,104,101,117,112,116,117,114,110,45,99,121,5,68,101,45,99,121,5,73,101,45,99,121,10,73,101,103,114,97,118,101,45,99,121,5,73,111,45,99,121,6,90,104,101,45,99,121,5,90,101,45,99,121,5,73,105,45,99,121,10,73,105,115,104,111,114,116,45,99,121,10,73,105,103,114,97,118,101,45,99,121,5,75,97,45,99,121,6,75,106,101,45,99,121,5,69,108,45,99,121,5,69,109,45,99,121,5,69,110,45,99,121,4,79,45,99,121,5,80,101,45,99,121,5,69,114,45,99,121,5,69,115,45,99,121,5,84,101,45,99,121,4,85,45,99,121,9,85,115,104,111,114,116,45,99,121,5,69,102,45,99,121,5,72,97,45,99,121,6,67,104,101,45,99,121,6,84,115,101,45,99,121,6,83,104,97,45,99,121,8,83,104,99,104,97,45,99,121,7,68,122,104,101,45,99,121,11,83,111,102,116,115,105,103,110,45,99,121,11,72,97,114,100,115,105,103,110,45,99,121,7,89,101,114,117,45,99,121,6,76,106,101,45,99,121,6,78,106,101,45,99,121,6,68,122,101,45,99,121,4,69,45,99,121,12,69,114,101,118,101,114,115,101,100,45,99,121,4,73,45,99,121,5,89,105,45,99,121,5,74,101,45,99,121,7,84,115,104,101,45,99,121,5,73,117,45,99,121,5,73,97,45,99,121,6,68,106,101,45,99,121,12,71,104,101,115,116,114,111,107,101,45,99,121,15,90,104,101,100,101,115,99,101,110,100,101,114,45,99,121,14,75,97,100,101,115,99,101,110,100,101,114,45,99,121,14,69,110,100,101,115,99,101,110,100,101,114,45,99,121,12,85,115,116,114,97,105,103,104,116,45,99,121,18,85,115,116,114,97,105,103,104,116,115,116,114,111,107,101,45,99,121,14,72,97,100,101,115,99,101,110,100,101,114,45,99,121,15,67,104,101,100,101,115,99,101,110,100,101,114,45,99,121,7,83,104,104,97,45,99,121,11,80,97,108,111,99,104,107,97,45,99,121,8,83,99,104,119,97,45,99,121,10,73,109,97,99,114,111,110,45,99,121,10,79,98,97,114,114,101,100,45,99,121,10,85,109,97,99,114,111,110,45,99,121,13,68,101,45,99,121,46,108,111,99,108,66,71,82,13,69,108,45,99,121,46,108,111,99,108,66,71,82,13,69,102,45,99,121,46,108,111,99,108,66,71,82,4,97,45,99,121,5,98,101,45,99,121,5,118,101,45,99,121,5,103,101,45,99,121,6,103,106,101,45,99,121,12,103,104,101,117,112,116,117,114,110,45,99,121,5,100,101,45,99,121,5,105,101,45,99,121,10,105,101,103,114,97,118,101,45,99,121,5,105,111,45,99,121,6,122,104,101,45,99,121,5,122,101,45,99,121,5,105,105,45,99,121,10,105,105,115,104,111,114,116,45,99,121,10,105,105,103,114,97,118,101,45,99,121,5,107,97,45,99,121,6,107,106,101,45,99,121,5,101,108,45,99,121,5,101,109,45,99,121,5,101,110,45,99,121,4,111,45,99,121,5,112,101,45,99,121,5,101,114,45,99,121,5,101,115,45,99,121,5,116,101,45,99,121,4,117,45,99,121,9,117,115,104,111,114,116,45,99,121,5,101,102,45,99,121,5,104,97,45,99,121,6,99,104,101,45,99,121,6,116,115,101,45,99,121,6,115,104,97,45,99,121,8,115,104,99,104,97,45,99,121,7,100,122,104,101,45,99,121,11,115,111,102,116,115,105,103,110,45,99,121,11,104,97,114,100,115,105,103,110,45,99,121,7,121,101,114,117,45,99,121,6,108,106,101,45,99,121,6,110,106,101,45,99,121,6,100,122,101,45,99,121,4,101,45,99,121,12,101,114,101,118,101,114,115,101,100,45,99,121,4,105,45,99,121,5,121,105,45,99,121,5,106,101,45,99,121,7,116,115,104,101,45,99,121,5,105,117,45,99,121,5,105,97,45,99,121,6,100,106,101,45,99,121,12,103,104,101,115,116,114,111,107,101,45,99,121,15,122,104,101,100,101,115,99,101,110,100,101,114,45,99,121,14,107,97,100,101,115,99,101,110,100,101,114,45,99,121,14,101,110,100,101,115,99,101,110,100,101,114,45,99,121,12,117,115,116,114,97,105,103,104,116,45,99,121,18,117,115,116,114,97,105,103,104,116,115,116,114,111,107,101,45,99,121,14,104,97,100,101,115,99,101,110,100,101,114,45,99,121,15,99,104,101,100,101,115,99,101,110,100,101,114,45,99,121,7,115,104,104,97,45,99,121,11,112,97,108,111,99,104,107,97,45,99,121,8,115,99,104,119,97,45,99,121,10,105,109,97,99,114,111,110,45,99,121,10,111,98,97,114,114,101,100,45,99,121,10,117,109,97,99,114,111,110,45,99,121,13,118,101,45,99,121,46,108,111,99,108,66,71,82,13,103,101,45,99,121,46,108,111,99,108,66,71,82,13,100,101,45,99,121,46,108,111,99,108,66,71,82,14,122,104,101,45,99,121,46,108,111,99,108,66,71,82,13,122,101,45,99,121,46,108,111,99,108,66,71,82,13,105,105,45,99,121,46,108,111,99,108,66,71,82,18,105,105,115,104,111,114,116,45,99,121,46,108,111,99,108,66,71,82,18,105,105,103,114,97,118,101,45,99,121,46,108,111,99,108,66,71,82,13,107,97,45,99,121,46,108,111,99,108,66,71,82,13,101,108,45,99,121,46,108,111,99,108,66,71,82,13,112,101,45,99,121,46,108,111,99,108,66,71,82,13,116,101,45,99,121,46,108,111,99,108,66,71,82,14,116,115,101,45,99,121,46,108,111,99,108,66,71,82,14,115,104,97,45,99,121,46,108,111,99,108,66,71,82,16,115,104,99,104,97,45,99,121,46,108,111,99,108,66,71,82,19,115,111,102,116,115,105,103,110,45,99,121,46,108,111,99,108,66,71,82,19,104,97,114,100,115,105,103,110,45,99,121,46,108,111,99,108,66,71,82,13,105,117,45,99,121,46,108,111,99,108,66,71,82,13,98,101,45,99,121,46,108,111,99,108,83,82,66,5,65,108,112,104,97,4,66,101,116,97,5,71,97,109,109,97,7,69,112,115,105,108,111,110,4,90,101,116,97,3,69,116,97,5,84,104,101,116,97,4,73,111,116,97,5,75,97,112,112,97,6,76,97,109,98,100,97,2,77,117,2,78,117,2,88,105,7,79,109,105,99,114,111,110,2,80,105,3,82,104,111,5,83,105,103,109,97,3,84,97,117,7,85,112,115,105,108,111,110,3,80,104,105,3,67,104,105,3,80,115,105,10,65,108,112,104,97,116,111,110,111,115,12,69,112,115,105,108,111,110,116,111,110,111,115,8,69,116,97,116,111,110,111,115,9,73,111,116,97,116,111,110,111,115,12,79,109,105,99,114,111,110,116,111,110,111,115,12,85,112,115,105,108,111,110,116,111,110,111,115,10,79,109,101,103,97,116,111,110,111,115,12,73,111,116,97,100,105,101,114,101,115,105,115,15,85,112,115,105,108,111,110,100,105,101,114,101,115,105,115,9,75,97,105,83,121,109,98,111,108,5,97,108,112,104,97,4,98,101,116,97,5,103,97,109,109,97,5,100,101,108,116,97,7,101,112,115,105,108,111,110,4,122,101,116,97,3,101,116,97,5,116,104,101,116,97,4,105,111,116,97,5,107,97,112,112,97,6,108,97,109,98,100,97,2,110,117,2,120,105,7,111,109,105,99,114,111,110,3,114,104,111,10,115,105,103,109,97,102,105,110,97,108,5,115,105,103,109,97,3,116,97,117,7,117,112,115,105,108,111,110,3,112,104,105,3,99,104,105,3,112,115,105,5,111,109,101,103,97,9,105,111,116,97,116,111,110,111,115,12,105,111,116,97,100,105,101,114,101,115,105,115,17,105,111,116,97,100,105,101,114,101,115,105,115,116,111,110,111,115,12,117,112,115,105,108,111,110,116,111,110,111,115,15,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115,20,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115,116,111,110,111,115,12,111,109,105,99,114,111,110,116,111,110,111,115,10,111,109,101,103,97,116,111,110,111,115,10,97,108,112,104,97,116,111,110,111,115,12,101,112,115,105,108,111,110,116,111,110,111,115,8,101,116,97,116,111,110,111,115,9,107,97,105,83,121,109,98,111,108,9,122,101,114,111,46,122,101,114,111,12,122,101,114,111,105,110,102,101,114,105,111,114,11,111,110,101,105,110,102,101,114,105,111,114,11,116,119,111,105,110,102,101,114,105,111,114,13,116,104,114,101,101,105,110,102,101,114,105,111,114,12,102,111,117,114,105,110,102,101,114,105,111,114,12,102,105,118,101,105,110,102,101,114,105,111,114,11,115,105,120,105,110,102,101,114,105,111,114,13,115,101,118,101,110,105,110,102,101,114,105,111,114,13,101,105,103,104,116,105,110,102,101,114,105,111,114,12,110,105,110,101,105,110,102,101,114,105,111,114,9,122,101,114,111,46,100,110,111,109,8,111,110,101,46,100,110,111,109,8,116,119,111,46,100,110,111,109,10,116,104,114,101,101,46,100,110,111,109,9,102,111,117,114,46,100,110,111,109,9,102,105,118,101,46,100,110,111,109,8,115,105,120,46,100,110,111,109,10,115,101,118,101,110,46,100,110,111,109,10,101,105,103,104,116,46,100,110,111,109,9,110,105,110,101,46,100,110,111,109,9,122,101,114,111,46,110,117,109,114,8,111,110,101,46,110,117,109,114,8,116,119,111,46,110,117,109,114,10,116,104,114,101,101,46,110,117,109,114,9,102,111,117,114,46,110,117,109,114,9,102,105,118,101,46,110,117,109,114,8,115,105,120,46,110,117,109,114,10,115,101,118,101,110,46,110,117,109,114,10,101,105,103,104,116,46,110,117,109,114,9,110,105,110,101,46,110,117,109,114,12,122,101,114,111,115,117,112,101,114,105,111,114,12,102,111,117,114,115,117,112,101,114,105,111,114,12,102,105,118,101,115,117,112,101,114,105,111,114,11,115,105,120,115,117,112,101,114,105,111,114,13,115,101,118,101,110,115,117,112,101,114,105,111,114,13,101,105,103,104,116,115,117,112,101,114,105,111,114,12,110,105,110,101,115,117,112,101,114,105,111,114,9,111,110,101,101,105,103,104,116,104,12,116,104,114,101,101,101,105,103,104,116,104,115,11,102,105,118,101,101,105,103,104,116,104,115,12,115,101,118,101,110,101,105,103,104,116,104,115,12,101,120,99,108,97,109,100,111,117,98,108,101,14,111,110,101,100,111,116,101,110,108,101,97,100,101,114,8,111,118,101,114,108,105,110,101,43,104,101,97,118,121,108,101,102,116,112,111,105,110,116,105,110,103,97,110,103,108,101,113,117,111,116,97,116,105,111,110,109,97,114,107,111,114,110,97,109,101,110,116,44,104,101,97,118,121,114,105,103,104,116,112,111,105,110,116,105,110,103,97,110,103,108,101,113,117,111,116,97,116,105,111,110,109,97,114,107,111,114,110,97,109,101,110,116,38,109,101,100,105,117,109,108,101,102,116,112,111,105,110,116,105,110,103,97,110,103,108,101,98,114,97,99,107,101,116,111,114,110,97,109,101,110,116,39,109,101,100,105,117,109,114,105,103,104,116,112,111,105,110,116,105,110,103,97,110,103,108,101,98,114,97,99,107,101,116,111,114,110,97,109,101,110,116,10,115,111,102,116,104,121,112,104,101,110,13,104,111,114,105,122,111,110,116,97,108,98,97,114,9,104,121,112,104,101,110,116,119,111,17,110,111,110,98,114,101,97,107,105,110,103,104,121,112,104,101,110,13,117,110,100,101,114,115,99,111,114,101,100,98,108,13,113,117,111,116,101,114,101,118,101,114,115,101,100,13,103,117,105,108,108,101,109,101,116,108,101,102,116,14,103,117,105,108,108,101,109,101,116,114,105,103,104,116,18,104,121,112,104,101,110,95,104,121,112,104,101,110,46,108,105,103,97,25,104,121,112,104,101,110,95,104,121,112,104,101,110,95,104,121,112,104,101,110,46,108,105,103,97,26,104,121,112,104,101,110,95,104,121,112,104,101,110,95,103,114,101,97,116,101,114,46,108,105,103,97,15,104,121,112,104,101,110,95,98,97,114,46,108,105,103,97,19,104,121,112,104,101,110,95,103,114,101,97,116,101,114,46,108,105,103,97,27,104,121,112,104,101,110,95,103,114,101,97,116,101,114,95,103,114,101,97,116,101,114,46,108,105,103,97,16,104,121,112,104,101,110,95,108,101,115,115,46,108,105,103,97,21,104,121,112,104,101,110,95,108,101,115,115,95,108,101,115,115,46,108,105,103,97,22,104,121,112,104,101,110,95,97,115,99,105,105,116,105,108,100,101,46,108,105,103,97,23,112,97,114,101,110,108,101,102,116,95,97,115,116,101,114,105,115,107,46,108,105,103,97,18,98,114,97,99,101,108,101,102,116,95,98,97,114,46,108,105,103,97,26,98,114,97,99,101,114,105,103,104,116,95,110,117,109,98,101,114,115,105,103,110,46,108,105,103,97,20,98,114,97,99,107,101,116,108,101,102,116,95,98,97,114,46,108,105,103,97,28,98,114,97,99,107,101,116,114,105,103,104,116,95,110,117,109,98,101,114,115,105,103,110,46,108,105,103,97,18,112,101,114,105,111,100,95,104,121,112,104,101,110,46,108,105,103,97,18,112,101,114,105,111,100,95,112,101,114,105,111,100,46,108,105,103,97,25,112,101,114,105,111,100,95,112,101,114,105,111,100,95,112,101,114,105,111,100,46,108,105,103,97,24,112,101,114,105,111,100,95,112,101,114,105,111,100,95,101,113,117,97,108,46,108,105,103,97,23,112,101,114,105,111,100,95,112,101,114,105,111,100,95,108,101,115,115,46,108,105,103,97,20,112,101,114,105,111,100,95,113,117,101,115,116,105,111,110,46,108,105,103,97,17,112,101,114,105,111,100,95,101,113,117,97,108,46,108,105,103,97,16,99,111,108,111,110,95,99,111,108,111,110,46,108,105,103,97,22,99,111,108,111,110,95,99,111,108,111,110,95,99,111,108,111,110,46,108,105,103,97,22,99,111,108,111,110,95,99,111,108,111,110,95,101,113,117,97,108,46,108,105,103,97,16,99,111,108,111,110,95,101,113,117,97,108,46,108,105,103,97,18,99,111,108,111,110,95,103,114,101,97,116,101,114,46,108,105,103,97,15,99,111,108,111,110,95,108,101,115,115,46,108,105,103,97,22,99,111,108,111,110,95,115,108,97,115,104,95,115,108,97,115,104,46,108,105,103,97,24,115,101,109,105,99,111,108,111,110,95,115,101,109,105,99,111,108,111,110,46,108,105,103,97,18,101,120,99,108,97,109,95,101,120,99,108,97,109,46,108,105,103,97,25,101,120,99,108,97,109,95,101,120,99,108,97,109,95,112,101,114,105,111,100,46,108,105,103,97,17,101,120,99,108,97,109,95,101,113,117,97,108,46,108,105,103,97,23,101,120,99,108,97,109,95,101,113,117,97,108,95,101,113,117,97,108,46,108,105,103,97,20,113,117,101,115,116,105,111,110,95,112,101,114,105,111,100,46,108,105,103,97,19,113,117,101,115,116,105,111,110,95,99,111,108,111,110,46,108,105,103,97,22,113,117,101,115,116,105,111,110,95,113,117,101,115,116,105,111,110,46,108,105,103,97,19,113,117,101,115,116,105,111,110,95,101,113,117,97,108,46,108,105,103,97,24,97,115,116,101,114,105,115,107,95,112,97,114,101,110,114,105,103,104,116,46,108,105,103,97,22,97,115,116,101,114,105,115,107,95,97,115,116,101,114,105,115,107,46,108,105,103,97,31,97,115,116,101,114,105,115,107,95,97,115,116,101,114,105,115,107,95,97,115,116,101,114,105,115,107,46,108,105,103,97,21,97,115,116,101,114,105,115,107,95,103,114,101,97,116,101,114,46,108,105,103,97,19,97,115,116,101,114,105,115,107,95,115,108,97,115,104,46,108,105,103,97,25,110,117,109,98,101,114,115,105,103,110,95,112,97,114,101,110,108,101,102,116,46,108,105,103,97,25,110,117,109,98,101,114,115,105,103,110,95,98,114,97,99,101,108,101,102,116,46,108,105,103,97,27,110,117,109,98,101,114,115,105,103,110,95,98,114,97,99,107,101,116,108,101,102,116,46,108,105,103,97,21,110,117,109,98,101,114,115,105,103,110,95,99,111,108,111,110,46,108,105,103,97,22,110,117,109,98,101,114,115,105,103,110,95,101,120,99,108,97,109,46,108,105,103,97,24,110,117,109,98,101,114,115,105,103,110,95,113,117,101,115,116,105,111,110,46,108,105,103,97,26,110,117,109,98,101,114,115,105,103,110,95,110,117,109,98,101,114,115,105,103,110,46,108,105,103,97,37,110,117,109,98,101,114,115,105,103,110,95,110,117,109,98,101,114,115,105,103,110,95,110,117,109,98,101,114,115,105,103,110,46,108,105,103,97,48,110,117,109,98,101,114,115,105,103,110,95,110,117,109,98,101,114,115,105,103,110,95,110,117,109,98,101,114,115,105,103,110,95,110,117,109,98,101,114,115,105,103,110,46,108,105,103,97,21,110,117,109,98,101,114,115,105,103,110,95,101,113,117,97,108,46,108,105,103,97,26,110,117,109,98,101,114,115,105,103,110,95,117,110,100,101,114,115,99,111,114,101,46,108,105,103,97,36,110,117,109,98,101,114,115,105,103,110,95,117,110,100,101,114,115,99,111,114,101,95,112,97,114,101,110,108,101,102,116,46,108,105,103,97,19,115,108,97,115,104,95,97,115,116,101,114,105,115,107,46,108,105,103,97,16,115,108,97,115,104,95,101,113,117,97,108,46,108,105,103,97,22,115,108,97,115,104,95,101,113,117,97,108,95,101,113,117,97,108,46,108,105,103,97,18,115,108,97,115,104,95,103,114,101,97,116,101,114,46,108,105,103,97,16,115,108,97,115,104,95,115,108,97,115,104,46,108,105,103,97,22,115,108,97,115,104,95,115,108,97,115,104,95,115,108,97,115,104,46,108,105,103,97,24,98,97,99,107,115,108,97,115,104,95,98,97,99,107,115,108,97,115,104,46,108,105,103,97,30,117,110,100,101,114,115,99,111,114,101,95,98,97,114,95,117,110,100,101,114,115,99,111,114,101,46,108,105,103,97,26,117,110,100,101,114,115,99,111,114,101,95,117,110,100,101,114,115,99,111,114,101,46,108,105,103,97,9,97,110,111,116,101,108,101,105,97,13,113,117,101,115,116,105,111,110,103,114,101,101,107,16,112,117,110,99,116,117,97,116,105,111,110,115,112,97,99,101,7,110,98,115,112,97,99,101,2,67,82,13,108,105,110,101,115,101,112,97,114,97,116,111,114,4,98,97,104,116,4,99,101,100,105,9,99,111,108,111,110,115,105,103,110,4,100,111,110,103,4,101,117,114,111,12,101,117,114,111,99,117,114,114,101,110,99,121,7,103,117,97,114,97,110,105,7,104,114,121,118,110,105,97,3,107,105,112,4,108,97,114,105,4,108,105,114,97,11,108,105,114,97,84,117,114,107,105,115,104,5,109,97,110,97,116,5,110,97,105,114,97,6,112,101,115,101,116,97,4,112,101,115,111,5,114,117,98,108,101,5,114,117,112,101,101,11,114,117,112,101,101,73,110,100,105,97,110,6,115,104,101,113,101,108,5,116,101,110,103,101,6,116,117,103,114,105,107,3,119,111,110,14,98,117,108,108,101,116,111,112,101,114,97,116,111,114,13,100,105,118,105,115,105,111,110,115,108,97,115,104,11,101,113,117,105,118,97,108,101,110,99,101,23,104,111,114,105,122,111,110,116,97,108,108,105,110,101,101,120,116,101,110,115,105,111,110,10,105,110,116,101,103,114,97,108,98,116,10,105,110,116,101,103,114,97,108,116,112,18,108,111,103,105,99,97,108,110,111,116,82,101,118,101,114,115,101,100,12,110,111,116,105,100,101,110,116,105,99,97,108,12,105,110,116,101,114,115,101,99,116,105,111,110,3,79,104,109,9,105,110,99,114,101,109,101,110,116,5,109,105,99,114,111,10,111,114,116,104,111,103,111,110,97,108,20,115,116,114,105,99,116,108,121,101,113,117,105,118,97,108,101,110,116,116,111,20,118,101,99,116,111,114,79,114,67,114,111,115,115,80,114,111,100,117,99,116,7,117,112,65,114,114,111,119,10,114,105,103,104,116,65,114,114,111,119,9,100,111,119,110,65,114,114,111,119,9,108,101,102,116,65,114,114,111,119,14,108,101,102,116,82,105,103,104,116,65,114,114,111,119,11,117,112,68,111,119,110,65,114,114,111,119,15,117,112,68,111,119,110,98,97,115,101,65,114,114,111,119,11,117,112,68,97,115,104,65,114,114,111,119,13,100,97,115,104,100,111,119,110,65,114,114,111,119,19,108,111,119,101,114,79,110,101,69,105,103,104,116,104,66,108,111,99,107,20,108,111,119,101,114,79,110,101,81,117,97,114,116,101,114,66,108,111,99,107,22,108,111,119,101,114,84,104,114,101,101,69,105,103,104,116,104,115,66,108,111,99,107,14,108,111,119,101,114,72,97,108,102,66,108,111,99,107,21,108,111,119,101,114,70,105,118,101,69,105,103,104,116,104,115,66,108,111,99,107,23,108,111,119,101,114,84,104,114,101,101,81,117,97,114,116,101,114,115,66,108,111,99,107,22,108,111,119,101,114,83,101,118,101,110,69,105,103,104,116,104,115,66,108,111,99,107,9,102,117,108,108,66,108,111,99,107,14,117,112,112,101,114,72,97,108,102,66,108,111,99,107,19,117,112,112,101,114,79,110,101,69,105,103,104,116,104,66,108,111,99,107,18,108,101,102,116,79,110,101,69,105,103,104,116,104,66,108,111,99,107,19,108,101,102,116,79,110,101,81,117,97,114,116,101,114,66,108,111,99,107,21,108,101,102,116,84,104,114,101,101,69,105,103,104,116,104,115,66,108,111,99,107,9,108,101,102,116,66,108,111,99,107,20,108,101,102,116,70,105,118,101,69,105,103,104,116,104,115,66,108,111,99,107,22,108,101,102,116,84,104,114,101,101,81,117,97,114,116,101,114,115,66,108,111,99,107,21,108,101,102,116,83,101,118,101,110,69,105,103,104,116,104,115,66,108,111,99,107,10,114,105,103,104,116,66,108,111,99,107,19,114,105,103,104,116,79,110,101,69,105,103,104,116,104,66,108,111,99,107,14,108,111,119,101,114,76,101,102,116,66,108,111,99,107,15,108,111,119,101,114,82,105,103,104,116,66,108,111,99,107,14,117,112,112,101,114,76,101,102,116,66,108,111,99,107,39,117,112,112,101,114,76,101,102,116,65,110,100,76,111,119,101,114,76,101,102,116,65,110,100,76,111,119,101,114,82,105,103,104,116,66,108,111,99,107,27,117,112,112,101,114,76,101,102,116,65,110,100,76,111,119,101,114,82,105,103,104,116,66,108,111,99,107,39,117,112,112,101,114,76,101,102,116,65,110,100,85,112,112,101,114,82,105,103,104,116,65,110,100,76,111,119,101,114,76,101,102,116,66,108,111,99,107,40,117,112,112,101,114,76,101,102,116,65,110,100,85,112,112,101,114,82,105,103,104,116,65,110,100,76,111,119,101,114,82,105,103,104,116,66,108,111,99,107,15,117,112,112,101,114,82,105,103,104,116,66,108,111,99,107,27,117,112,112,101,114,82,105,103,104,116,65,110,100,76,111,119,101,114,76,101,102,116,66,108,111,99,107,40,117,112,112,101,114,82,105,103,104,116,65,110,100,76,111,119,101,114,76,101,102,116,65,110,100,76,111,119,101,114,82,105,103,104,116,66,108,111,99,107,10,115,104,97,100,101,108,105,103,104,116,11,115,104,97,100,101,109,101,100,105,117,109,9,115,104,97,100,101,100,97,114,107,11,98,108,97,99,107,67,105,114,99,108,101,11,119,104,105,116,101,67,105,114,99,108,101,11,108,97,114,103,101,67,105,114,99,108,101,24,108,101,102,116,72,97,108,102,66,108,97,99,107,87,104,105,116,101,67,105,114,99,108,101,25,114,105,103,104,116,72,97,108,102,66,108,97,99,107,87,104,105,116,101,67,105,114,99,108,101,25,108,111,119,101,114,72,97,108,102,66,108,97,99,107,87,104,105,116,101,67,105,114,99,108,101,25,117,112,112,101,114,72,97,108,102,66,108,97,99,107,87,104,105,116,101,67,105,114,99,108,101,19,108,101,102,116,72,97,108,102,66,108,97,99,107,67,105,114,99,108,101,20,114,105,103,104,116,72,97,108,102,66,108,97,99,107,67,105,114,99,108,101,21,117,112,112,101,114,82,105,103,104,116,66,108,97,99,107,67,105,114,99,108,101,20,117,112,112,101,114,76,101,102,116,87,104,105,116,101,67,105,114,99,108,101,28,117,112,112,101,114,76,101,102,116,81,117,97,100,114,97,110,116,87,104,105,116,101,67,105,114,99,108,101,28,108,111,119,101,114,76,101,102,116,81,117,97,100,114,97,110,116,87,104,105,116,101,67,105,114,99,108,101,29,108,111,119,101,114,82,105,103,104,116,81,117,97,100,114,97,110,116,87,104,105,116,101,67,105,114,99,108,101,29,117,112,112,101,114,82,105,103,104,116,81,117,97,100,114,97,110,116,87,104,105,116,101,67,105,114,99,108,101,18,118,101,114,116,105,99,97,108,70,105,108,108,67,105,114,99,108,101,12,100,111,116,116,101,100,67,105,114,99,108,101,7,102,105,115,104,101,121,101,8,98,117,108,108,115,101,121,101,11,119,104,105,116,101,66,117,108,108,101,116,13,105,110,118,101,114,115,101,66,117,108,108,101,116,18,105,110,118,101,114,115,101,87,104,105,116,101,67,105,114,99,108,101,27,117,112,112,101,114,72,97,108,102,73,110,118,101,114,115,101,87,104,105,116,101,67,105,114,99,108,101,27,108,111,119,101,114,72,97,108,102,73,110,118,101,114,115,101,87,104,105,116,101,67,105,114,99,108,101,12,117,112,112,101,114,72,97,108,102,65,114,99,12,108,111,119,101,114,72,97,108,102,65,114,99,12,117,112,112,101,114,76,101,102,116,65,114,99,13,117,112,112,101,114,82,105,103,104,116,65,114,99,13,108,111,119,101,114,82,105,103,104,116,65,114,99,12,108,111,119,101,114,76,101,102,116,65,114,99,12,98,108,97,99,107,68,105,97,109,111,110,100,12,119,104,105,116,101,68,105,97,109,111,110,100,20,108,101,102,116,72,97,108,102,66,108,97,99,107,68,105,97,109,111,110,100,21,114,105,103,104,116,72,97,108,102,66,108,97,99,107,68,105,97,109,111,110,100,19,116,111,112,72,97,108,102,66,108,97,99,107,68,105,97,109,111,110,100,22,98,111,116,116,111,109,72,97,108,102,66,108,97,99,107,68,105,97,109,111,110,100,19,98,108,97,99,107,73,110,87,104,105,116,101,68,105,97,109,111,110,100,18,98,108,97,99,107,80,97,114,97,108,108,101,108,111,103,114,97,109,18,119,104,105,116,101,80,97,114,97,108,108,101,108,111,103,114,97,109,17,98,108,97,99,107,86,101,114,116,105,99,97,108,82,101,99,116,10,102,105,108,108,101,100,82,101,99,116,9,119,104,105,116,101,82,101,99,116,17,119,104,105,116,101,86,101,114,116,105,99,97,108,82,101,99,116,11,98,108,97,99,107,83,113,117,97,114,101,11,119,104,105,116,101,83,113,117,97,114,101,25,119,104,105,116,101,82,111,117,110,100,101,100,67,111,114,110,101,114,115,83,113,117,97,114,101,18,119,104,105,116,101,73,110,66,108,97,99,107,83,113,117,97,114,101,12,100,111,116,116,101,100,83,113,117,97,114,101,20,104,111,114,105,122,111,110,116,97,108,70,105,108,108,83,113,117,97,114,101,18,118,101,114,116,105,99,97,108,70,105,108,108,83,113,117,97,114,101,20,99,114,111,115,115,104,97,116,99,104,70,105,108,108,83,113,117,97,114,101,31,117,112,112,101,114,108,101,102,116,116,111,108,111,119,101,114,114,105,103,104,116,70,105,108,108,83,113,117,97,114,101,31,117,112,112,101,114,114,105,103,104,116,116,111,108,111,119,101,114,108,101,102,116,70,105,108,108,83,113,117,97,114,101,28,100,105,97,103,111,110,97,108,99,114,111,115,115,104,97,116,99,104,70,105,108,108,83,113,117,97,114,101,16,98,108,97,99,107,83,109,97,108,108,83,113,117,97,114,101,16,119,104,105,116,101,83,109,97,108,108,83,113,117,97,114,101,19,108,101,102,116,72,97,108,102,66,108,97,99,107,83,113,117,97,114,101,20,114,105,103,104,116,72,97,108,102,66,108,97,99,107,83,113,117,97,114,101,32,117,112,112,101,114,76,101,102,116,68,105,97,103,111,110,97,108,72,97,108,102,66,108,97,99,107,83,113,117,97,114,101,33,108,111,119,101,114,82,105,103,104,116,68,105,97,103,111,110,97,108,72,97,108,102,66,108,97,99,107,83,113,117,97,114,101,32,118,101,114,116,105,99,97,108,66,105,115,101,99,116,105,110,103,76,105,110,101,87,104,105,116,101,83,113,117,97,114,101,28,119,104,105,116,101,85,112,112,101,114,76,101,102,116,81,117,97,100,114,97,110,116,83,113,117,97,114,101,28,119,104,105,116,101,76,111,119,101,114,76,101,102,116,81,117,97,100,114,97,110,116,83,113,117,97,114,101,29,119,104,105,116,101,76,111,119,101,114,82,105,103,104,116,81,117,97,100,114,97,110,116,83,113,117,97,114,101,29,119,104,105,116,101,85,112,112,101,114,82,105,103,104,116,81,117,97,100,114,97,110,116,83,113,117,97,114,101,17,109,101,100,105,117,109,87,104,105,116,101,83,113,117,97,114,101,17,109,101,100,105,117,109,66,108,97,99,107,83,113,117,97,114,101,22,109,101,100,105,117,109,87,104,105,116,101,83,109,97,108,108,83,113,117,97,114,101,22,109,101,100,105,117,109,66,108,97,99,107,83,109,97,108,108,83,113,117,97,114,101,15,117,112,66,108,97,99,107,84,114,105,97,110,103,108,101,18,114,105,103,104,116,66,108,97,99,107,84,114,105,97,110,103,108,101,17,100,111,119,110,66,108,97,99,107,84,114,105,97,110,103,108,101,17,108,101,102,116,66,108,97,99,107,84,114,105,97,110,103,108,101,15,117,112,87,104,105,116,101,84,114,105,97,110,103,108,101,18,114,105,103,104,116,87,104,105,116,101,84,114,105,97,110,103,108,101,17,100,111,119,110,87,104,105,116,101,84,114,105,97,110,103,108,101,17,108,101,102,116,87,104,105,116,101,84,114,105,97,110,103,108,101,22,117,112,87,104,105,116,101,84,114,105,97,110,103,108,101,87,105,116,104,68,111,116,23,117,112,76,101,102,116,72,97,108,102,66,108,97,99,107,84,114,105,97,110,103,108,101,24,117,112,82,105,103,104,116,72,97,108,102,66,108,97,99,107,84,114,105,97,110,103,108,101,17,114,105,103,104,116,66,108,97,99,107,80,111,105,110,116,101,114,16,108,101,102,116,66,108,97,99,107,80,111,105,110,116,101,114,17,114,105,103,104,116,87,104,105,116,101,80,111,105,110,116,101,114,16,108,101,102,116,87,104,105,116,101,80,111,105,110,116,101,114,20,117,112,66,108,97,99,107,83,109,97,108,108,84,114,105,97,110,103,108,101,23,114,105,103,104,116,66,108,97,99,107,83,109,97,108,108,84,114,105,97,110,103,108,101,22,100,111,119,110,66,108,97,99,107,83,109,97,108,108,84,114,105,97,110,103,108,101,22,108,101,102,116,66,108,97,99,107,83,109,97,108,108,84,114,105,97,110,103,108,101,20,117,112,87,104,105,116,101,83,109,97,108,108,84,114,105,97,110,103,108,101,23,114,105,103,104,116,87,104,105,116,101,83,109,97,108,108,84,114,105,97,110,103,108,101,22,100,111,119,110,87,104,105,116,101,83,109,97,108,108,84,114,105,97,110,103,108,101,22,108,101,102,116,87,104,105,116,101,83,109,97,108,108,84,114,105,97,110,103,108,101,23,117,112,112,101,114,82,105,103,104,116,66,108,97,99,107,84,114,105,97,110,103,108,101,23,108,111,119,101,114,82,105,103,104,116,66,108,97,99,107,84,114,105,97,110,103,108,101,22,108,111,119,101,114,76,101,102,116,66,108,97,99,107,84,114,105,97,110,103,108,101,22,117,112,112,101,114,76,101,102,116,66,108,97,99,107,84,114,105,97,110,103,108,101,18,117,112,112,101,114,82,105,103,104,116,84,114,105,97,110,103,108,101,18,108,111,119,101,114,82,105,103,104,116,84,114,105,97,110,103,108,101,17,108,111,119,101,114,76,101,102,116,84,114,105,97,110,103,108,101,17,117,112,112,101,114,76,101,102,116,84,114,105,97,110,103,108,101,26,98,111,120,68,111,117,98,108,101,68,111,119,110,65,110,100,72,111,114,105,122,111,110,116,97,108,20,98,111,120,68,111,117,98,108,101,68,111,119,110,65,110,100,76,101,102,116,21,98,111,120,68,111,117,98,108,101,68,111,119,110,65,110,100,82,105,103,104,116,19,98,111,120,68,111,117,98,108,101,72,111,114,105,122,111,110,116,97,108,24,98,111,120,68,111,117,98,108,101,85,112,65,110,100,72,111,114,105,122,111,110,116,97,108,18,98,111,120,68,111,117,98,108,101,85,112,65,110,100,76,101,102,116,19,98,111,120,68,111,117,98,108,101,85,112,65,110,100,82,105,103,104,116,17,98,111,120,68,111,117,98,108,101,86,101,114,116,105,99,97,108,30,98,111,120,68,111,117,98,108,101,86,101,114,116,105,99,97,108,65,110,100,72,111,114,105,122,111,110,116,97,108,24,98,111,120,68,111,117,98,108,101,86,101,114,116,105,99,97,108,65,110,100,76,101,102,116,25,98,111,120,68,111,117,98,108,101,86,101,114,116,105,99,97,108,65,110,100,82,105,103,104,116,32,98,111,120,68,111,119,110,68,111,117,98,108,101,65,110,100,72,111,114,105,122,111,110,116,97,108,83,105,110,103,108,101,26,98,111,120,68,111,119,110,68,111,117,98,108,101,65,110,100,76,101,102,116,83,105,110,103,108,101,27,98,111,120,68,111,119,110,68,111,117,98,108,101,65,110,100,82,105,103,104,116,83,105,110,103,108,101,30,98,111,120,68,111,119,110,72,101,97,118,121,65,110,100,72,111,114,105,122,111,110,116,97,108,76,105,103,104,116,24,98,111,120,68,111,119,110,72,101,97,118,121,65,110,100,76,101,102,116,76,105,103,104,116,26,98,111,120,68,111,119,110,72,101,97,118,121,65,110,100,76,101,102,116,85,112,76,105,103,104,116,25,98,111,120,68,111,119,110,72,101,97,118,121,65,110,100,82,105,103,104,116,76,105,103,104,116,27,98,111,120,68,111,119,110,72,101,97,118,121,65,110,100,82,105,103,104,116,85,112,76,105,103,104,116,32,98,111,120,68,111,119,110,72,101,97,118,121,65,110,100,85,112,72,111,114,105,122,111,110,116,97,108,76,105,103,104,116,30,98,111,120,68,111,119,110,76,105,103,104,116,65,110,100,72,111,114,105,122,111,110,116,97,108,72,101,97,118,121,24,98,111,120,68,111,119,110,76,105,103,104,116,65,110,100,76,101,102,116,72,101,97,118,121,26,98,111,120,68,111,119,110,76,105,103,104,116,65,110,100,76,101,102,116,85,112,72,101,97,118,121,25,98,111,120,68,111,119,110,76,105,103,104,116,65,110,100,82,105,103,104,116,72,101,97,118,121,27,98,111,120,68,111,119,110,76,105,103,104,116,65,110,100,82,105,103,104,116,85,112,72,101,97,118,121,32,98,111,120,68,111,119,110,76,105,103,104,116,65,110,100,85,112,72,111,114,105,122,111,110,116,97,108,72,101,97,118,121,32,98,111,120,68,111,119,110,83,105,110,103,108,101,65,110,100,72,111,114,105,122,111,110,116,97,108,68,111,117,98,108,101,26,98,111,120,68,111,119,110,83,105,110,103,108,101,65,110,100,76,101,102,116,68,111,117,98,108,101,27,98,111,120,68,111,119,110,83,105,110,103,108,101,65,110,100,82,105,103,104,116,68,111,117,98,108,101,28,98,111,120,72,101,97,118,121,68,111,117,98,108,101,68,97,115,104,72,111,114,105,122,111,110,116,97,108,26,98,111,120,72,101,97,118,121,68,111,117,98,108,101,68,97,115,104,86,101,114,116,105,99,97,108,12,98,111,120,72,101,97,118,121,68,111,119,110,25,98,111,120,72,101,97,118,121,68,111,119,110,65,110,100,72,111,114,105,122,111,110,116,97,108,19,98,111,120,72,101,97,118,121,68,111,119,110,65,110,100,76,101,102,116,20,98,111,120,72,101,97,118,121,68,111,119,110,65,110,100,82,105,103,104,116,18,98,111,120,72,101,97,118,121,72,111,114,105,122,111,110,116,97,108,12,98,111,120,72,101,97,118,121,76,101,102,116,25,98,111,120,72,101,97,118,121,76,101,102,116,65,110,100,76,105,103,104,116,82,105,103,104,116,31,98,111,120,72,101,97,118,121,81,117,97,100,114,117,112,108,101,68,97,115,104,72,111,114,105,122,111,110,116,97,108,29,98,111,120,72,101,97,118,121,81,117,97,100,114,117,112,108,101,68,97,115,104,86,101,114,116,105,99,97,108,13,98,111,120,72,101,97,118,121,82,105,103,104,116,28,98,111,120,72,101,97,118,121,84,114,105,112,108,101,68,97,115,104,72,111,114,105,122,111,110,116,97,108,26,98,111,120,72,101,97,118,121,84,114,105,112,108,101,68,97,115,104,86,101,114,116,105,99,97,108,10,98,111,120,72,101,97,118,121,85,112,23,98,111,120,72,101,97,118,121,85,112,65,110,100,72,111,114,105,122,111,110,116,97,108,17,98,111,120,72,101,97,118,121,85,112,65,110,100,76,101,102,116,22,98,111,120,72,101,97,118,121,85,112,65,110,100,76,105,103,104,116,68,111,119,110,18,98,111,120,72,101,97,118,121,85,112,65,110,100,82,105,103,104,116,16,98,111,120,72,101,97,118,121,86,101,114,116,105,99,97,108,29,98,111,120,72,101,97,118,121,86,101,114,116,105,99,97,108,65,110,100,72,111,114,105,122,111,110,116,97,108,23,98,111,120,72,101,97,118,121,86,101,114,116,105,99,97,108,65,110,100,76,101,102,116,24,98,111,120,72,101,97,118,121,86,101,114,116,105,99,97,108,65,110,100,82,105,103,104,116,31,98,111,120,76,101,102,116,68,111,119,110,72,101,97,118,121,65,110,100,82,105,103,104,116,85,112,76,105,103,104,116,29,98,111,120,76,101,102,116,72,101,97,118,121,65,110,100,82,105,103,104,116,68,111,119,110,76,105,103,104,116,27,98,111,120,76,101,102,116,72,101,97,118,121,65,110,100,82,105,103,104,116,85,112,76,105,103,104,116,33,98,111,120,76,101,102,116,72,101,97,118,121,65,110,100,82,105,103,104,116,86,101,114,116,105,99,97,108,76,105,103,104,116,29,98,111,120,76,101,102,116,76,105,103,104,116,65,110,100,82,105,103,104,116,68,111,119,110,72,101,97,118,121,27,98,111,120,76,101,102,116,76,105,103,104,116,65,110,100,82,105,103,104,116,85,112,72,101,97,118,121,33,98,111,120,76,101,102,116,76,105,103,104,116,65,110,100,82,105,103,104,116,86,101,114,116,105,99,97,108,72,101,97,118,121,31,98,111,120,76,101,102,116,85,112,72,101,97,118,121,65,110,100,82,105,103,104,116,68,111,119,110,76,105,103,104,116,22,98,111,120,76,105,103,104,116,65,114,99,68,111,119,110,65,110,100,76,101,102,116,23,98,111,120,76,105,103,104,116,65,114,99,68,111,119,110,65,110,100,82,105,103,104,116,20,98,111,120,76,105,103,104,116,65,114,99,85,112,65,110,100,76,101,102,116,21,98,111,120,76,105,103,104,116,65,114,99,85,112,65,110,100,82,105,103,104,116,21,98,111,120,76,105,103,104,116,68,105,97,103,111,110,97,108,67,114,111,115,115,37,98,111,120,76,105,103,104,116,68,105,97,103,111,110,97,108,85,112,112,101,114,76,101,102,116,84,111,76,111,119,101,114,82,105,103,104,116,37,98,111,120,76,105,103,104,116,68,105,97,103,111,110,97,108,85,112,112,101,114,82,105,103,104,116,84,111,76,111,119,101,114,76,101,102,116,28,98,111,120,76,105,103,104,116,68,111,117,98,108,101,68,97,115,104,72,111,114,105,122,111,110,116,97,108,26,98,111,120,76,105,103,104,116,68,111,117,98,108,101,68,97,115,104,86,101,114,116,105,99,97,108,12,98,111,120,76,105,103,104,116,68,111,119,110,25,98,111,120,76,105,103,104,116,68,111,119,110,65,110,100,72,111,114,105,122,111,110,116,97,108,19,98,111,120,76,105,103,104,116,68,111,119,110,65,110,100,76,101,102,116,20,98,111,120,76,105,103,104,116,68,111,119,110,65,110,100,82,105,103,104,116,18,98,111,120,76,105,103,104,116,72,111,114,105,122,111,110,116,97,108,12,98,111,120,76,105,103,104,116,76,101,102,116,25,98,111,120,76,105,103,104,116,76,101,102,116,65,110,100,72,101,97,118,121,82,105,103,104,116,31,98,111,120,76,105,103,104,116,81,117,97,100,114,117,112,108,101,68,97,115,104,72,111,114,105,122,111,110,116,97,108,29,98,111,120,76,105,103,104,116,81,117,97,100,114,117,112,108,101,68,97,115,104,86,101,114,116,105,99,97,108,13,98,111,120,76,105,103,104,116,82,105,103,104,116,28,98,111,120,76,105,103,104,116,84,114,105,112,108,101,68,97,115,104,72,111,114,105,122,111,110,116,97,108,26,98,111,120,76,105,103,104,116,84,114,105,112,108,101,68,97,115,104,86,101,114,116,105,99,97,108,10,98,111,120,76,105,103,104,116,85,112,22,98,111,120,76,105,103,104,116,85,112,65,110,100,72,101,97,118,121,68,111,119,110,23,98,111,120,76,105,103,104,116,85,112,65,110,100,72,111,114,105,122,111,110,116,97,108,17,98,111,120,76,105,103,104,116,85,112,65,110,100,76,101,102,116,18,98,111,120,76,105,103,104,116,85,112,65,110,100,82,105,103,104,116,16,98,111,120,76,105,103,104,116,86,101,114,116,105,99,97,108,29,98,111,120,76,105,103,104,116,86,101,114,116,105,99,97,108,65,110,100,72,111,114,105,122,111,110,116,97,108,23,98,111,120,76,105,103,104,116,86,101,114,116,105,99,97,108,65,110,100,76,101,102,116,24,98,111,120,76,105,103,104,116,86,101,114,116,105,99,97,108,65,110,100,82,105,103,104,116,31,98,111,120,82,105,103,104,116,68,111,119,110,72,101,97,118,121,65,110,100,76,101,102,116,85,112,76,105,103,104,116,29,98,111,120,82,105,103,104,116,72,101,97,118,121,65,110,100,76,101,102,116,68,111,119,110,76,105,103,104,116,27,98,111,120,82,105,103,104,116,72,101,97,118,121,65,110,100,76,101,102,116,85,112,76,105,103,104,116,33,98,111,120,82,105,103,104,116,72,101,97,118,121,65,110,100,76,101,102,116,86,101,114,116,105,99,97,108,76,105,103,104,116,29,98,111,120,82,105,103,104,116,76,105,103,104,116,65,110,100,76,101,102,116,68,111,119,110,72,101,97,118,121,27,98,111,120,82,105,103,104,116,76,105,103,104,116,65,110,100,76,101,102,116,85,112,72,101,97,118,121,33,98,111,120,82,105,103,104,116,76,105,103,104,116,65,110,100,76,101,102,116,86,101,114,116,105,99,97,108,72,101,97,118,121,31,98,111,120,82,105,103,104,116,85,112,72,101,97,118,121,65,110,100,76,101,102,116,68,111,119,110,76,105,103,104,116,30,98,111,120,85,112,68,111,117,98,108,101,65,110,100,72,111,114,105,122,111,110,116,97,108,83,105,110,103,108,101,24,98,111,120,85,112,68,111,117,98,108,101,65,110,100,76,101,102,116,83,105,110,103,108,101,25,98,111,120,85,112,68,111,117,98,108,101,65,110,100,82,105,103,104,116,83,105,110,103,108,101,32,98,111,120,85,112,72,101,97,118,121,65,110,100,68,111,119,110,72,111,114,105,122,111,110,116,97,108,76,105,103,104,116,28,98,111,120,85,112,72,101,97,118,121,65,110,100,72,111,114,105,122,111,110,116,97,108,76,105,103,104,116,26,98,111,120,85,112,72,101,97,118,121,65,110,100,76,101,102,116,68,111,119,110,76,105,103,104,116,22,98,111,120,85,112,72,101,97,118,121,65,110,100,76,101,102,116,76,105,103,104,116,27,98,111,120,85,112,72,101,97,118,121,65,110,100,82,105,103,104,116,68,111,119,110,76,105,103,104,116,23,98,111,120,85,112,72,101,97,118,121,65,110,100,82,105,103,104,116,76,105,103,104,116,32,98,111,120,85,112,76,105,103,104,116,65,110,100,68,111,119,110,72,111,114,105,122,111,110,116,97,108,72,101,97,118,121,28,98,111,120,85,112,76,105,103,104,116,65,110,100,72,111,114,105,122,111,110,116,97,108,72,101,97,118,121,26,98,111,120,85,112,76,105,103,104,116,65,110,100,76,101,102,116,68,111,119,110,72,101,97,118,121,22,98,111,120,85,112,76,105,103,104,116,65,110,100,76,101,102,116,72,101,97,118,121,27,98,111,120,85,112,76,105,103,104,116,65,110,100,82,105,103,104,116,68,111,119,110,72,101,97,118,121,23,98,111,120,85,112,76,105,103,104,116,65,110,100,82,105,103,104,116,72,101,97,118,121,30,98,111,120,85,112,83,105,110,103,108,101,65,110,100,72,111,114,105,122,111,110,116,97,108,68,111,117,98,108,101,24,98,111,120,85,112,83,105,110,103,108,101,65,110,100,76,101,102,116,68,111,117,98,108,101,25,98,111,120,85,112,83,105,110,103,108,101,65,110,100,82,105,103,104,116,68,111,117,98,108,101,36,98,111,120,86,101,114,116,105,99,97,108,68,111,117,98,108,101,65,110,100,72,111,114,105,122,111,110,116,97,108,83,105,110,103,108,101,30,98,111,120,86,101,114,116,105,99,97,108,68,111,117,98,108,101,65,110,100,76,101,102,116,83,105,110,103,108,101,31,98,111,120,86,101,114,116,105,99,97,108,68,111,117,98,108,101,65,110,100,82,105,103,104,116,83,105,110,103,108,101,34,98,111,120,86,101,114,116,105,99,97,108,72,101,97,118,121,65,110,100,72,111,114,105,122,111,110,116,97,108,76,105,103,104,116,28,98,111,120,86,101,114,116,105,99,97,108,72,101,97,118,121,65,110,100,76,101,102,116,76,105,103,104,116,29,98,111,120,86,101,114,116,105,99,97,108,72,101,97,118,121,65,110,100,82,105,103,104,116,76,105,103,104,116,34,98,111,120,86,101,114,116,105,99,97,108,76,105,103,104,116,65,110,100,72,111,114,105,122,111,110,116,97,108,72,101,97,118,121,28,98,111,120,86,101,114,116,105,99,97,108,76,105,103,104,116,65,110,100,76,101,102,116,72,101,97,118,121,29,98,111,120,86,101,114,116,105,99,97,108,76,105,103,104,116,65,110,100,82,105,103,104,116,72,101,97,118,121,36,98,111,120,86,101,114,116,105,99,97,108,83,105,110,103,108,101,65,110,100,72,111,114,105,122,111,110,116,97,108,68,111,117,98,108,101,30,98,111,120,86,101,114,116,105,99,97,108,83,105,110,103,108,101,65,110,100,76,101,102,116,68,111,117,98,108,101,31,98,111,120,86,101,114,116,105,99,97,108,83,105,110,103,108,101,65,110,100,82,105,103,104,116,68,111,117,98,108,101,25,108,111,119,101,114,79,110,101,69,105,103,104,116,104,66,108,111,99,107,46,115,116,121,112,111,26,108,111,119,101,114,79,110,101,81,117,97,114,116,101,114,66,108,111,99,107,46,115,116,121,112,111,28,108,111,119,101,114,84,104,114,101,101,69,105,103,104,116,104,115,66,108,111,99,107,46,115,116,121,112,111,20,108,111,119,101,114,72,97,108,102,66,108,111,99,107,46,115,116,121,112,111,27,108,111,119,101,114,70,105,118,101,69,105,103,104,116,104,115,66,108,111,99,107,46,115,116,121,112,111,29,108,111,119,101,114,84,104,114,101,101,81,117,97,114,116,101,114,115,66,108,111,99,107,46,115,116,121,112,111,28,108,111,119,101,114,83,101,118,101,110,69,105,103,104,116,104,115,66,108,111,99,107,46,115,116,121,112,111,15,102,117,108,108,66,108,111,99,107,46,115,116,121,112,111,20,117,112,112,101,114,72,97,108,102,66,108,111,99,107,46,115,116,121,112,111,25,117,112,112,101,114,79,110,101,69,105,103,104,116,104,66,108,111,99,107,46,115,116,121,112,111,24,108,101,102,116,79,110,101,69,105,103,104,116,104,66,108,111,99,107,46,115,116,121,112,111,25,108,101,102,116,79,110,101,81,117,97,114,116,101,114,66,108,111,99,107,46,115,116,121,112,111,27,108,101,102,116,84,104,114,101,101,69,105,103,104,116,104,115,66,108,111,99,107,46,115,116,121,112,111,15,108,101,102,116,66,108,111,99,107,46,115,116,121,112,111,26,108,101,102,116,70,105,118,101,69,105,103,104,116,104,115,66,108,111,99,107,46,115,116,121,112,111,28,108,101,102,116,84,104,114,101,101,81,117,97,114,116,101,114,115,66,108,111,99,107,46,115,116,121,112,111,27,108,101,102,116,83,101,118,101,110,69,105,103,104,116,104,115,66,108,111,99,107,46,115,116,121,112,111,16,114,105,103,104,116,66,108,111,99,107,46,115,116,121,112,111,25,114,105,103,104,116,79,110,101,69,105,103,104,116,104,66,108,111,99,107,46,115,116,121,112,111,20,108,111,119,101,114,76,101,102,116,66,108,111,99,107,46,115,116,121,112,111,21,108,111,119,101,114,82,105,103,104,116,66,108,111,99,107,46,115,116,121,112,111,20,117,112,112,101,114,76,101,102,116,66,108,111,99,107,46,115,116,121,112,111,45,117,112,112,101,114,76,101,102,116,65,110,100,76,111,119,101,114,76,101,102,116,65,110,100,76,111,119,101,114,82,105,103,104,116,66,108,111,99,107,46,115,116,121,112,111,33,117,112,112,101,114,76,101,102,116,65,110,100,76,111,119,101,114,82,105,103,104,116,66,108,111,99,107,46,115,116,121,112,111,45,117,112,112,101,114,76,101,102,116,65,110,100,85,112,112,101,114,82,105,103,104,116,65,110,100,76,111,119,101,114,76,101,102,116,66,108,111,99,107,46,115,116,121,112,111,46,117,112,112,101,114,76,101,102,116,65,110,100,85,112,112,101,114,82,105,103,104,116,65,110,100,76,111,119,101,114,82,105,103,104,116,66,108,111,99,107,46,115,116,121,112,111,21,117,112,112,101,114,82,105,103,104,116,66,108,111,99,107,46,115,116,121,112,111,33,117,112,112,101,114,82,105,103,104,116,65,110,100,76,111,119,101,114,76,101,102,116,66,108,111,99,107,46,115,116,121,112,111,46,117,112,112,101,114,82,105,103,104,116,65,110,100,76,111,119,101,114,76,101,102,116,65,110,100,76,111,119,101,114,82,105,103,104,116,66,108,111,99,107,46,115,116,121,112,111,16,115,104,97,100,101,108,105,103,104,116,46,115,116,121,112,111,17,115,104,97,100,101,109,101,100,105,117,109,46,115,116,121,112,111,15,115,104,97,100,101,100,97,114,107,46,115,116,121,112,111,32,114,101,118,101,114,115,101,100,82,111,116,97,116,101,100,70,108,111,114,97,108,72,101,97,114,116,66,117,108,108,101,116,16,119,104,105,116,101,83,109,105,108,105,110,103,70,97,99,101,16,98,108,97,99,107,83,109,105,108,105,110,103,70,97,99,101,11,115,117,110,87,105,116,104,82,97,121,115,5,118,101,110,117,115,4,109,97,114,115,14,115,112,97,100,101,66,108,97,99,107,83,117,105,116,13,99,108,117,98,66,108,97,99,107,83,117,105,116,14,104,101,97,114,116,66,108,97,99,107,83,117,105,116,16,100,105,97,109,111,110,100,66,108,97,99,107,83,117,105,116,9,99,104,101,99,107,109,97,114,107,24,114,111,116,97,116,101,100,70,108,111,114,97,108,72,101,97,114,116,66,117,108,108,101,116,9,112,117,98,108,105,115,104,101,100,6,99,97,114,101,111,102,6,109,105,110,117,116,101,6,115,101,99,111,110,100,9,108,105,116,101,114,83,105,103,110,6,110,117,109,101,114,111,9,101,115,116,105,109,97,116,101,100,12,98,108,97,99,107,72,101,120,97,103,111,110,22,98,108,97,99,107,72,111,114,105,122,111,110,116,97,108,69,108,108,105,112,115,101,16,98,108,97,99,107,76,97,114,103,101,67,105,114,99,108,101,16,98,108,97,99,107,76,97,114,103,101,83,113,117,97,114,101,18,98,108,97,99,107,77,101,100,105,117,109,68,105,97,109,111,110,100,30,98,108,97,99,107,77,101,100,105,117,109,68,111,119,110,84,114,105,97,110,103,108,101,67,101,110,116,114,101,100,30,98,108,97,99,107,77,101,100,105,117,109,76,101,102,116,84,114,105,97,110,103,108,101,67,101,110,116,114,101,100,18,98,108,97,99,107,77,101,100,105,117,109,76,111,122,101,110,103,101,31,98,108,97,99,107,77,101,100,105,117,109,82,105,103,104,116,84,114,105,97,110,103,108,101,67,101,110,116,114,101,100,28,98,108,97,99,107,77,101,100,105,117,109,85,112,84,114,105,97,110,103,108,101,67,101,110,116,114,101,100,13,98,108,97,99,107,80,101,110,116,97,103,111,110,17,98,108,97,99,107,83,109,97,108,108,68,105,97,109,111,110,100,17,98,108,97,99,107,83,109,97,108,108,76,111,122,101,110,103,101,20,98,108,97,99,107,86,101,114,116,105,99,97,108,69,108,108,105,112,115,101,20,98,108,97,99,107,86,101,114,121,115,109,97,108,108,83,113,117,97,114,101,21,98,111,116,116,111,109,72,97,108,102,66,108,97,99,107,67,105,114,99,108,101,22,104,111,114,105,122,111,110,116,97,108,66,108,97,99,107,72,101,120,97,103,111,110,20,108,111,119,101,114,72,97,108,102,87,104,105,116,101,83,113,117,97,114,101,24,108,111,119,101,114,76,101,102,116,72,97,108,102,87,104,105,116,101,83,113,117,97,114,101,18,116,111,112,72,97,108,102,66,108,97,99,107,67,105,114,99,108,101,18,116,111,112,72,97,108,102,87,104,105,116,101,83,113,117,97,114,101,23,116,111,112,82,105,103,104,116,72,97,108,102,87,104,105,116,101,83,113,117,97,114,101,12,119,104,105,116,101,72,101,120,97,103,111,110,22,119,104,105,116,101,72,111,114,105,122,111,110,116,97,108,69,108,108,105,112,115,101,16,119,104,105,116,101,76,97,114,103,101,83,113,117,97,114,101,18,119,104,105,116,101,77,101,100,105,117,109,68,105,97,109,111,110,100,18,119,104,105,116,101,77,101,100,105,117,109,76,111,122,101,110,103,101,13,119,104,105,116,101,80,101,110,116,97,103,111,110,17,119,104,105,116,101,83,109,97,108,108,76,111,122,101,110,103,101,20,119,104,105,116,101,86,101,114,116,105,99,97,108,69,108,108,105,112,115,101,20,119,104,105,116,101,86,101,114,121,115,109,97,108,108,83,113,117,97,114,101,24,97,109,112,101,114,115,97,110,100,95,97,109,112,101,114,115,97,110,100,46,108,105,103,97,15,98,97,114,95,104,121,112,104,101,110,46,108,105,103,97,19,98,97,114,95,98,114,97,99,101,114,105,103,104,116,46,108,105,103,97,21,98,97,114,95,98,114,97,99,107,101,116,114,105,103,104,116,46,108,105,103,97,12,98,97,114,95,98,97,114,46,108,105,103,97,24,98,97,114,95,98,97,114,95,98,97,114,95,103,114,101,97,116,101,114,46,108,105,103,97,18,98,97,114,95,98,97,114,95,101,113,117,97,108,46,108,105,103,97,20,98,97,114,95,98,97,114,95,103,114,101,97,116,101,114,46,108,105,103,97,14,98,97,114,95,101,113,117,97,108,46,108,105,103,97,16,98,97,114,95,103,114,101,97,116,101,114,46,108,105,103,97,19,100,111,108,108,97,114,95,103,114,101,97,116,101,114,46,108,105,103,97,14,112,108,117,115,95,112,108,117,115,46,108,105,103,97,19,112,108,117,115,95,112,108,117,115,95,112,108,117,115,46,108,105,103,97,17,112,108,117,115,95,103,114,101,97,116,101,114,46,108,105,103,97,22,101,113,117,97,108,95,99,111,108,111,110,95,101,113,117,97,108,46,108,105,103,97,23,101,113,117,97,108,95,101,120,99,108,97,109,95,101,113,117,97,108,46,108,105,103,97,16,101,113,117,97,108,95,101,113,117,97,108,46,108,105,103,97,22,101,113,117,97,108,95,101,113,117,97,108,95,101,113,117,97,108,46,108,105,103,97,24,101,113,117,97,108,95,101,113,117,97,108,95,103,114,101,97,116,101,114,46,108,105,103,97,18,101,113,117,97,108,95,103,114,101,97,116,101,114,46,108,105,103,97,26,101,113,117,97,108,95,103,114,101,97,116,101,114,95,103,114,101,97,116,101,114,46,108,105,103,97,20,101,113,117,97,108,95,108,101,115,115,95,108,101,115,115,46,108,105,103,97,22,101,113,117,97,108,95,115,108,97,115,104,95,101,113,117,97,108,46,108,105,103,97,19,103,114,101,97,116,101,114,95,104,121,112,104,101,110,46,108,105,103,97,27,103,114,101,97,116,101,114,95,104,121,112,104,101,110,95,103,114,101,97,116,101,114,46,108,105,103,97,18,103,114,101,97,116,101,114,95,99,111,108,111,110,46,108,105,103,97,18,103,114,101,97,116,101,114,95,101,113,117,97,108,46,108,105,103,97,26,103,114,101,97,116,101,114,95,101,113,117,97,108,95,103,114,101,97,116,101,114,46,108,105,103,97,20,103,114,101,97,116,101,114,95,103,114,101,97,116,101,114,46,108,105,103,97,27,103,114,101,97,116,101,114,95,103,114,101,97,116,101,114,95,104,121,112,104,101,110,46,108,105,103,97,26,103,114,101,97,116,101,114,95,103,114,101,97,116,101,114,95,101,113,117,97,108,46,108,105,103,97,28,103,114,101,97,116,101,114,95,103,114,101,97,116,101,114,95,103,114,101,97,116,101,114,46,108,105,103,97,16,108,101,115,115,95,104,121,112,104,101,110,46,108,105,103,97,23,108,101,115,115,95,104,121,112,104,101,110,95,104,121,112,104,101,110,46,108,105,103,97,24,108,101,115,115,95,104,121,112,104,101,110,95,103,114,101,97,116,101,114,46,108,105,103,97,21,108,101,115,115,95,104,121,112,104,101,110,95,108,101,115,115,46,108,105,103,97,15,108,101,115,115,95,99,111,108,111,110,46,108,105,103,97,30,108,101,115,115,95,101,120,99,108,97,109,95,104,121,112,104,101,110,95,104,121,112,104,101,110,46,108,105,103,97,18,108,101,115,115,95,97,115,116,101,114,105,115,107,46,108,105,103,97,26,108,101,115,115,95,97,115,116,101,114,105,115,107,95,103,114,101,97,116,101,114,46,108,105,103,97,13,108,101,115,115,95,98,97,114,46,108,105,103,97,17,108,101,115,115,95,98,97,114,95,98,97,114,46,108,105,103,97,21,108,101,115,115,95,98,97,114,95,98,97,114,95,98,97,114,46,108,105,103,97,21,108,101,115,115,95,98,97,114,95,103,114,101,97,116,101,114,46,108,105,103,97,16,108,101,115,115,95,100,111,108,108,97,114,46,108,105,103,97,24,108,101,115,115,95,100,111,108,108,97,114,95,103,114,101,97,116,101,114,46,108,105,103,97,14,108,101,115,115,95,112,108,117,115,46,108,105,103,97,22,108,101,115,115,95,112,108,117,115,95,103,114,101,97,116,101,114,46,108,105,103,97,15,108,101,115,115,95,101,113,117,97,108,46,108,105,103,97,21,108,101,115,115,95,101,113,117,97,108,95,101,113,117,97,108,46,108,105,103,97,29,108,101,115,115,95,101,113,117,97,108,95,101,113,117,97,108,95,103,114,101,97,116,101,114,46,108,105,103,97,23,108,101,115,115,95,101,113,117,97,108,95,103,114,101,97,116,101,114,46,108,105,103,97,20,108,101,115,115,95,101,113,117,97,108,95,108,101,115,115,46,108,105,103,97,17,108,101,115,115,95,103,114,101,97,116,101,114,46,108,105,103,97,14,108,101,115,115,95,108,101,115,115,46,108,105,103,97,21,108,101,115,115,95,108,101,115,115,95,104,121,112,104,101,110,46,108,105,103,97,20,108,101,115,115,95,108,101,115,115,95,101,113,117,97,108,46,108,105,103,97,19,108,101,115,115,95,108,101,115,115,95,108,101,115,115,46,108,105,103,97,20,108,101,115,115,95,97,115,99,105,105,116,105,108,100,101,46,108,105,103,97,28,108,101,115,115,95,97,115,99,105,105,116,105,108,100,101,95,103,114,101,97,116,101,114,46,108,105,103,97,31,108,101,115,115,95,97,115,99,105,105,116,105,108,100,101,95,97,115,99,105,105,116,105,108,100,101,46,108,105,103,97,15,108,101,115,115,95,115,108,97,115,104,46,108,105,103,97,23,108,101,115,115,95,115,108,97,115,104,95,103,114,101,97,116,101,114,46,108,105,103,97,22,97,115,99,105,105,116,105,108,100,101,95,104,121,112,104,101,110,46,108,105,103,97,18,97,115,99,105,105,116,105,108,100,101,95,97,116,46,108,105,103,97,21,97,115,99,105,105,116,105,108,100,101,95,101,113,117,97,108,46,108,105,103,97,23,97,115,99,105,105,116,105,108,100,101,95,103,114,101,97,116,101,114,46,108,105,103,97,26,97,115,99,105,105,116,105,108,100,101,95,97,115,99,105,105,116,105,108,100,101,46,108,105,103,97,34,97,115,99,105,105,116,105,108,100,101,95,97,115,99,105,105,116,105,108,100,101,95,103,114,101,97,116,101,114,46,108,105,103,97,22,97,115,99,105,105,99,105,114,99,117,109,95,101,113,117,97,108,46,108,105,103,97,20,112,101,114,99,101,110,116,95,112,101,114,99,101,110,116,46,108,105,103,97,12,110,111,116,101,45,109,117,115,105,99,97,108,15,110,111,116,101,100,98,108,45,109,117,115,105,99,97,108,13,98,108,97,110,107,45,98,114,97,105,108,108,101,13,100,111,116,115,49,45,98,114,97,105,108,108,101,14,100,111,116,115,49,50,45,98,114,97,105,108,108,101,15,100,111,116,115,49,50,51,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,51,52,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,52,53,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,52,53,54,45,98,114,97,105,108,108,101,19,100,111,116,115,49,50,51,52,53,54,55,45,98,114,97,105,108,108,101,20,100,111,116,115,49,50,51,52,53,54,55,56,45,98,114,97,105,108,108,101,19,100,111,116,115,49,50,51,52,53,54,56,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,52,53,55,45,98,114,97,105,108,108,101,19,100,111,116,115,49,50,51,52,53,55,56,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,52,53,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,52,54,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,52,54,55,45,98,114,97,105,108,108,101,19,100,111,116,115,49,50,51,52,54,55,56,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,52,54,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,52,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,52,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,52,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,51,53,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,53,54,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,53,54,55,45,98,114,97,105,108,108,101,19,100,111,116,115,49,50,51,53,54,55,56,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,53,54,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,53,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,53,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,53,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,51,54,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,51,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,51,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,51,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,51,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,50,52,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,52,53,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,52,53,54,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,52,53,54,55,45,98,114,97,105,108,108,101,19,100,111,116,115,49,50,52,53,54,55,56,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,52,53,54,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,52,53,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,52,53,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,52,53,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,52,54,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,52,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,52,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,52,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,52,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,52,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,52,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,50,53,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,53,54,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,53,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,50,53,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,53,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,53,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,53,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,53,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,50,54,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,50,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,50,55,45,98,114,97,105,108,108,101,16,100,111,116,115,49,50,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,50,56,45,98,114,97,105,108,108,101,14,100,111,116,115,49,51,45,98,114,97,105,108,108,101,15,100,111,116,115,49,51,52,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,52,53,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,52,53,54,45,98,114,97,105,108,108,101,18,100,111,116,115,49,51,52,53,54,55,45,98,114,97,105,108,108,101,19,100,111,116,115,49,51,52,53,54,55,56,45,98,114,97,105,108,108,101,18,100,111,116,115,49,51,52,53,54,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,52,53,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,51,52,53,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,52,53,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,52,54,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,52,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,51,52,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,52,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,52,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,52,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,52,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,51,53,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,53,54,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,53,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,51,53,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,53,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,53,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,53,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,53,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,51,54,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,51,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,51,55,45,98,114,97,105,108,108,101,16,100,111,116,115,49,51,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,51,56,45,98,114,97,105,108,108,101,14,100,111,116,115,49,52,45,98,114,97,105,108,108,101,15,100,111,116,115,49,52,53,45,98,114,97,105,108,108,101,16,100,111,116,115,49,52,53,54,45,98,114,97,105,108,108,101,17,100,111,116,115,49,52,53,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,49,52,53,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,49,52,53,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,52,53,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,52,53,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,52,53,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,52,54,45,98,114,97,105,108,108,101,16,100,111,116,115,49,52,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,52,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,52,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,52,55,45,98,114,97,105,108,108,101,16,100,111,116,115,49,52,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,52,56,45,98,114,97,105,108,108,101,14,100,111,116,115,49,53,45,98,114,97,105,108,108,101,15,100,111,116,115,49,53,54,45,98,114,97,105,108,108,101,16,100,111,116,115,49,53,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,49,53,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,49,53,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,53,55,45,98,114,97,105,108,108,101,16,100,111,116,115,49,53,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,53,56,45,98,114,97,105,108,108,101,14,100,111,116,115,49,54,45,98,114,97,105,108,108,101,15,100,111,116,115,49,54,55,45,98,114,97,105,108,108,101,16,100,111,116,115,49,54,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,49,54,56,45,98,114,97,105,108,108,101,14,100,111,116,115,49,55,45,98,114,97,105,108,108,101,15,100,111,116,115,49,55,56,45,98,114,97,105,108,108,101,14,100,111,116,115,49,56,45,98,114,97,105,108,108,101,13,100,111,116,115,50,45,98,114,97,105,108,108,101,14,100,111,116,115,50,51,45,98,114,97,105,108,108,101,15,100,111,116,115,50,51,52,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,52,53,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,52,53,54,45,98,114,97,105,108,108,101,18,100,111,116,115,50,51,52,53,54,55,45,98,114,97,105,108,108,101,19,100,111,116,115,50,51,52,53,54,55,56,45,98,114,97,105,108,108,101,18,100,111,116,115,50,51,52,53,54,56,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,52,53,55,45,98,114,97,105,108,108,101,18,100,111,116,115,50,51,52,53,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,52,53,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,52,54,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,52,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,50,51,52,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,52,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,52,55,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,52,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,52,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,51,53,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,53,54,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,53,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,50,51,53,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,53,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,53,55,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,53,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,53,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,51,54,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,50,51,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,51,55,45,98,114,97,105,108,108,101,16,100,111,116,115,50,51,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,51,56,45,98,114,97,105,108,108,101,14,100,111,116,115,50,52,45,98,114,97,105,108,108,101,15,100,111,116,115,50,52,53,45,98,114,97,105,108,108,101,16,100,111,116,115,50,52,53,54,45,98,114,97,105,108,108,101,17,100,111,116,115,50,52,53,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,50,52,53,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,50,52,53,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,52,53,55,45,98,114,97,105,108,108,101,17,100,111,116,115,50,52,53,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,52,53,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,52,54,45,98,114,97,105,108,108,101,16,100,111,116,115,50,52,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,50,52,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,52,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,52,55,45,98,114,97,105,108,108,101,16,100,111,116,115,50,52,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,52,56,45,98,114,97,105,108,108,101,14,100,111,116,115,50,53,45,98,114,97,105,108,108,101,15,100,111,116,115,50,53,54,45,98,114,97,105,108,108,101,16,100,111,116,115,50,53,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,50,53,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,50,53,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,53,55,45,98,114,97,105,108,108,101,16,100,111,116,115,50,53,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,53,56,45,98,114,97,105,108,108,101,14,100,111,116,115,50,54,45,98,114,97,105,108,108,101,15,100,111,116,115,50,54,55,45,98,114,97,105,108,108,101,16,100,111,116,115,50,54,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,50,54,56,45,98,114,97,105,108,108,101,14,100,111,116,115,50,55,45,98,114,97,105,108,108,101,15,100,111,116,115,50,55,56,45,98,114,97,105,108,108,101,14,100,111,116,115,50,56,45,98,114,97,105,108,108,101,13,100,111,116,115,51,45,98,114,97,105,108,108,101,14,100,111,116,115,51,52,45,98,114,97,105,108,108,101,15,100,111,116,115,51,52,53,45,98,114,97,105,108,108,101,16,100,111,116,115,51,52,53,54,45,98,114,97,105,108,108,101,17,100,111,116,115,51,52,53,54,55,45,98,114,97,105,108,108,101,18,100,111,116,115,51,52,53,54,55,56,45,98,114,97,105,108,108,101,17,100,111,116,115,51,52,53,54,56,45,98,114,97,105,108,108,101,16,100,111,116,115,51,52,53,55,45,98,114,97,105,108,108,101,17,100,111,116,115,51,52,53,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,51,52,53,56,45,98,114,97,105,108,108,101,15,100,111,116,115,51,52,54,45,98,114,97,105,108,108,101,16,100,111,116,115,51,52,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,51,52,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,51,52,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,51,52,55,45,98,114,97,105,108,108,101,16,100,111,116,115,51,52,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,51,52,56,45,98,114,97,105,108,108,101,14,100,111,116,115,51,53,45,98,114,97,105,108,108,101,15,100,111,116,115,51,53,54,45,98,114,97,105,108,108,101,16,100,111,116,115,51,53,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,51,53,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,51,53,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,51,53,55,45,98,114,97,105,108,108,101,16,100,111,116,115,51,53,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,51,53,56,45,98,114,97,105,108,108,101,14,100,111,116,115,51,54,45,98,114,97,105,108,108,101,15,100,111,116,115,51,54,55,45,98,114,97,105,108,108,101,16,100,111,116,115,51,54,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,51,54,56,45,98,114,97,105,108,108,101,14,100,111,116,115,51,55,45,98,114,97,105,108,108,101,15,100,111,116,115,51,55,56,45,98,114,97,105,108,108,101,14,100,111,116,115,51,56,45,98,114,97,105,108,108,101,13,100,111,116,115,52,45,98,114,97,105,108,108,101,14,100,111,116,115,52,53,45,98,114,97,105,108,108,101,15,100,111,116,115,52,53,54,45,98,114,97,105,108,108,101,16,100,111,116,115,52,53,54,55,45,98,114,97,105,108,108,101,17,100,111,116,115,52,53,54,55,56,45,98,114,97,105,108,108,101,16,100,111,116,115,52,53,54,56,45,98,114,97,105,108,108,101,15,100,111,116,115,52,53,55,45,98,114,97,105,108,108,101,16,100,111,116,115,52,53,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,52,53,56,45,98,114,97,105,108,108,101,14,100,111,116,115,52,54,45,98,114,97,105,108,108,101,15,100,111,116,115,52,54,55,45,98,114,97,105,108,108,101,16,100,111,116,115,52,54,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,52,54,56,45,98,114,97,105,108,108,101,14,100,111,116,115,52,55,45,98,114,97,105,108,108,101,15,100,111,116,115,52,55,56,45,98,114,97,105,108,108,101,14,100,111,116,115,52,56,45,98,114,97,105,108,108,101,13,100,111,116,115,53,45,98,114,97,105,108,108,101,14,100,111,116,115,53,54,45,98,114,97,105,108,108,101,15,100,111,116,115,53,54,55,45,98,114,97,105,108,108,101,16,100,111,116,115,53,54,55,56,45,98,114,97,105,108,108,101,15,100,111,116,115,53,54,56,45,98,114,97,105,108,108,101,14,100,111,116,115,53,55,45,98,114,97,105,108,108,101,15,100,111,116,115,53,55,56,45,98,114,97,105,108,108,101,14,100,111,116,115,53,56,45,98,114,97,105,108,108,101,13,100,111,116,115,54,45,98,114,97,105,108,108,101,14,100,111,116,115,54,55,45,98,114,97,105,108,108,101,15,100,111,116,115,54,55,56,45,98,114,97,105,108,108,101,14,100,111,116,115,54,56,45,98,114,97,105,108,108,101,13,100,111,116,115,55,45,98,114,97,105,108,108,101,14,100,111,116,115,55,56,45,98,114,97,105,108,108,101,13,100,111,116,115,56,45,98,114,97,105,108,108,101,13,110,117,109,101,114,97,108,45,103,114,101,101,107,18,108,111,119,101,114,110,117,109,101,114,97,108,45,103,114,101,101,107,13,97,112,111,115,116,114,111,112,104,101,109,111,100,14,99,111,109,109,97,116,117,114,110,101,100,109,111,100,16,102,105,114,115,116,116,111,110,101,99,104,105,110,101,115,101,12,100,105,101,114,101,115,105,115,99,111,109,98,13,100,111,116,97,99,99,101,110,116,99,111,109,98,9,103,114,97,118,101,99,111,109,98,9,97,99,117,116,101,99,111,109,98,16,104,117,110,103,97,114,117,109,108,97,117,116,99,111,109,98,14,99,105,114,99,117,109,102,108,101,120,99,111,109,98,9,99,97,114,111,110,99,111,109,98,9,98,114,101,118,101,99,111,109,98,8,114,105,110,103,99,111,109,98,9,116,105,108,100,101,99,111,109,98,10,109,97,99,114,111,110,99,111,109,98,13,104,111,111,107,97,98,111,118,101,99,111,109,98,20,99,111,109,109,97,116,117,114,110,101,100,97,98,111,118,101,99,111,109,98,8,104,111,114,110,99,111,109,98,12,100,111,116,98,101,108,111,119,99,111,109,98,15,99,111,109,109,97,97,99,99,101,110,116,99,111,109,98,11,99,101,100,105,108,108,97,99,111,109,98,10,111,103,111,110,101,107,99,111,109,98,13,103,114,97,118,101,116,111,110,101,99,111,109,98,13,97,99,117,116,101,116,111,110,101,99,111,109,98,17,100,105,101,114,101,115,105,115,99,111,109,98,46,99,97,115,101,18,100,111,116,97,99,99,101,110,116,99,111,109,98,46,99,97,115,101,14,103,114,97,118,101,99,111,109,98,46,99,97,115,101,14,97,99,117,116,101,99,111,109,98,46,99,97,115,101,21,104,117,110,103,97,114,117,109,108,97,117,116,99,111,109,98,46,99,97,115,101,19,99,105,114,99,117,109,102,108,101,120,99,111,109,98,46,99,97,115,101,14,99,97,114,111,110,99,111,109,98,46,99,97,115,101,14,98,114,101,118,101,99,111,109,98,46,99,97,115,101,13,114,105,110,103,99,111,109,98,46,99,97,115,101,14,116,105,108,100,101,99,111,109,98,46,99,97,115,101,15,109,97,99,114,111,110,99,111,109,98,46,99,97,115,101,18,104,111,111,107,97,98,111,118,101,99,111,109,98,46,99,97,115,101,13,104,111,114,110,99,111,109,98,46,99,97,115,101,17,97,99,117,116,101,99,111,109,98,46,108,111,99,108,80,76,75,22,97,99,117,116,101,99,111,109,98,46,99,97,115,101,46,108,111,99,108,80,76,75,15,112,101,114,105,115,112,111,109,101,110,105,99,111,109,98,5,116,111,110,111,115,10,116,111,110,111,115,46,99,97,115,101,13,100,105,101,114,101,115,105,115,116,111,110,111,115,12,98,114,101,118,101,99,111,109,98,45,99,121,17,98,114,101,118,101,99,111,109,98,45,99,121,46,99,97,115,101,7,117,110,105,48,48,48,57,3,76,73,71,16,98,97,104,116,46,66,82,65,67,75,69,84,46,54,48,48,18,100,111,108,108,97,114,46,66,82,65,67,75,69,84,46,54,48,48,31,100,111,108,108,97,114,95,103,114,101,97,116,101,114,46,108,105,103,97,46,66,82,65,67,75,69,84,46,54,48,48,28,108,101,115,115,95,100,111,108,108,97,114,46,108,105,103,97,46,66,82,65,67,75,69,84,46,54,48,48,36,108,101,115,115,95,100,111,108,108,97,114,95,103,114,101,97,116,101,114,46,108,105,103,97,46,66,82,65,67,75,69,84,46,54,48,48,7,117,110,105,49,69,65,69,7,117,110,105,49,69,66,54,7,117,110,105,49,69,66,48,7,117,110,105,49,69,66,50,7,117,110,105,49,69,66,52,7,117,110,105,48,49,67,68,7,117,110,105,49,69,65,52,7,117,110,105,49,69,65,67,7,117,110,105,49,69,65,54,7,117,110,105,49,69,65,56,7,117,110,105,49,69,65,65,7,117,110,105,49,69,65,48,7,117,110,105,49,69,65,50,7,117,110,105,49,69,66,69,7,117,110,105,49,69,67,54,7,117,110,105,49,69,67,48,7,117,110,105,49,69,67,50,7,117,110,105,49,69,67,52,7,117,110,105,49,69,66,56,7,117,110,105,49,69,66,65,7,117,110,105,48,49,57,48,7,117,110,105,48,49,65,57,7,117,110,105,49,69,66,67,7,117,110,105,48,49,66,55,7,117,110,105,48,49,50,50,7,117,110,105,48,50,49,69,7,117,110,105,49,69,67,65,7,117,110,105,49,69,67,56,7,117,110,105,48,49,51,54,7,117,110,105,48,49,51,66,7,117,110,105,48,49,52,53,7,117,110,105,48,49,57,68,7,117,110,105,49,69,68,48,7,117,110,105,49,69,68,56,7,117,110,105,49,69,68,50,7,117,110,105,49,69,68,52,7,117,110,105,49,69,68,54,7,117,110,105,49,69,67,67,7,117,110,105,49,69,67,69,7,117,110,105,49,69,68,65,7,117,110,105,49,69,69,50,7,117,110,105,49,69,68,67,7,117,110,105,49,69,68,69,7,117,110,105,49,69,69,48,7,117,110,105,48,49,69,65,7,117,110,105,48,49,56,54,7,117,110,105,48,49,53,54,7,117,110,105,48,50,49,56,7,117,110,105,49,69,57,69,7,117,110,105,48,49,56,70,7,117,110,105,48,49,54,50,7,117,110,105,48,50,49,65,7,117,110,105,49,69,69,52,7,117,110,105,49,69,69,54,7,117,110,105,49,69,69,56,7,117,110,105,49,69,70,48,7,117,110,105,49,69,69,65,7,117,110,105,49,69,69,67,7,117,110,105,49,69,69,69,7,117,110,105,48,50,52,53,7,117,110,105,49,69,70,52,7,117,110,105,49,69,70,54,7,117,110,105,48,50,51,50,7,117,110,105,49,69,70,56,7,117,110,105,48,50,54,65,7,117,110,105,49,69,65,70,7,117,110,105,49,69,66,55,7,117,110,105,49,69,66,49,7,117,110,105,49,69,66,51,7,117,110,105,49,69,66,53,7,117,110,105,48,49,67,69,7,117,110,105,49,69,65,53,7,117,110,105,49,69,65,68,7,117,110,105,49,69,65,55,7,117,110,105,49,69,65,57,7,117,110,105,49,69,65,66,7,117,110,105,49,69,65,49,7,117,110,105,49,69,65,51,7,117,110,105,49,69,66,70,7,117,110,105,49,69,67,55,7,117,110,105,49,69,67,49,7,117,110,105,49,69,67,51,7,117,110,105,49,69,67,53,7,117,110,105,49,69,66,57,7,117,110,105,49,69,66,66,7,117,110,105,48,50,53,66,7,117,110,105,48,50,56,51,7,117,110,105,49,69,66,68,7,117,110,105,48,50,53,57,7,117,110,105,48,50,57,50,7,117,110,105,48,49,50,51,7,117,110,105,48,50,49,70,7,117,110,105,49,69,67,66,7,117,110,105,49,69,67,57,7,117,110,105,48,50,51,55,7,117,110,105,48,49,51,55,7,117,110,105,48,49,51,67,7,117,110,105,48,49,52,54,7,117,110,105,48,50,55,50,7,117,110,105,49,69,68,49,7,117,110,105,49,69,68,57,7,117,110,105,49,69,68,51,7,117,110,105,49,69,68,53,7,117,110,105,49,69,68,55,7,117,110,105,49,69,67,68,7,117,110,105,49,69,67,70,7,117,110,105,49,69,68,66,7,117,110,105,49,69,69,51,7,117,110,105,49,69,68,68,7,117,110,105,49,69,68,70,7,117,110,105,49,69,69,49,7,117,110,105,48,49,69,66,7,117,110,105,48,50,53,52,7,117,110,105,48,49,53,55,7,117,110,105,48,50,49,57,7,117,110,105,48,49,54,51,7,117,110,105,48,50,49,66,7,117,110,105,48,50,65,55,7,117,110,105,49,69,69,53,7,117,110,105,49,69,69,55,7,117,110,105,49,69,69,57,7,117,110,105,49,69,70,49,7,117,110,105,49,69,69,66,7,117,110,105,49,69,69,68,7,117,110,105,49,69,69,70,7,117,110,105,48,50,56,67,7,117,110,105,49,69,70,53,7,117,110,105,49,69,70,55,7,117,110,105,48,50,51,51,7,117,110,105,49,69,70,57,7,117,110,105,50,48,55,70,7,117,110,105,48,52,49,48,7,117,110,105,48,52,49,49,7,117,110,105,48,52,49,50,7,117,110,105,48,52,49,51,7,117,110,105,48,52,48,51,7,117,110,105,48,52,57,48,7,117,110,105,48,52,49,52,7,117,110,105,48,52,49,53,7,117,110,105,48,52,48,48,7,117,110,105,48,52,48,49,7,117,110,105,48,52,49,54,7,117,110,105,48,52,49,55,7,117,110,105,48,52,49,56,7,117,110,105,48,52,49,57,7,117,110,105,48,52,48,68,7,117,110,105,48,52,49,65,7,117,110,105,48,52,48,67,7,117,110,105,48,52,49,66,7,117,110,105,48,52,49,67,7,117,110,105,48,52,49,68,7,117,110,105,48,52,49,69,7,117,110,105,48,52,49,70,7,117,110,105,48,52,50,48,7,117,110,105,48,52,50,49,7,117,110,105,48,52,50,50,7,117,110,105,48,52,50,51,7,117,110,105,48,52,48,69,7,117,110,105,48,52,50,52,7,117,110,105,48,52,50,53,7,117,110,105,48,52,50,55,7,117,110,105,48,52,50,54,7,117,110,105,48,52,50,56,7,117,110,105,48,52,50,57,7,117,110,105,48,52,48,70,7,117,110,105,48,52,50,67,7,117,110,105,48,52,50,65,7,117,110,105,48,52,50,66,7,117,110,105,48,52,48,57,7,117,110,105,48,52,48,65,7,117,110,105,48,52,48,53,7,117,110,105,48,52,48,52,7,117,110,105,48,52,50,68,7,117,110,105,48,52,48,54,7,117,110,105,48,52,48,55,7,117,110,105,48,52,48,56,7,117,110,105,48,52,48,66,7,117,110,105,48,52,50,69,7,117,110,105,48,52,50,70,7,117,110,105,48,52,48,50,7,117,110,105,48,52,57,50,7,117,110,105,48,52,57,54,7,117,110,105,48,52,57,65,7,117,110,105,48,52,65,50,7,117,110,105,48,52,65,69,7,117,110,105,48,52,66,48,7,117,110,105,48,52,66,50,7,117,110,105,48,52,66,54,7,117,110,105,48,52,66,65,7,117,110,105,48,52,67,48,7,117,110,105,48,52,68,56,7,117,110,105,48,52,69,50,7,117,110,105,48,52,69,56,7,117,110,105,48,52,69,69,15,117,110,105,48,52,49,52,46,108,111,99,108,66,71,82,15,117,110,105,48,52,49,66,46,108,111,99,108,66,71,82,15,117,110,105,48,52,50,52,46,108,111,99,108,66,71,82,7,117,110,105,48,52,51,48,7,117,110,105,48,52,51,49,7,117,110,105,48,52,51,50,7,117,110,105,48,52,51,51,7,117,110,105,48,52,53,51,7,117,110,105,48,52,57,49,7,117,110,105,48,52,51,52,7,117,110,105,48,52,51,53,7,117,110,105,48,52,53,48,7,117,110,105,48,52,53,49,7,117,110,105,48,52,51,54,7,117,110,105,48,52,51,55,7,117,110,105,48,52,51,56,7,117,110,105,48,52,51,57,7,117,110,105,48,52,53,68,7,117,110,105,48,52,51,65,7,117,110,105,48,52,53,67,7,117,110,105,48,52,51,66,7,117,110,105,48,52,51,67,7,117,110,105,48,52,51,68,7,117,110,105,48,52,51,69,7,117,110,105,48,52,51,70,7,117,110,105,48,52,52,48,7,117,110,105,48,52,52,49,7,117,110,105,48,52,52,50,7,117,110,105,48,52,52,51,7,117,110,105,48,52,53,69,7,117,110,105,48,52,52,52,7,117,110,105,48,52,52,53,7,117,110,105,48,52,52,55,7,117,110,105,48,52,52,54,7,117,110,105,48,52,52,56,7,117,110,105,48,52,52,57,7,117,110,105,48,52,53,70,7,117,110,105,48,52,52,67,7,117,110,105,48,52,52,65,7,117,110,105,48,52,52,66,7,117,110,105,48,52,53,57,7,117,110,105,48,52,53,65,7,117,110,105,48,52,53,53,7,117,110,105,48,52,53,52,7,117,110,105,48,52,52,68,7,117,110,105,48,52,53,54,7,117,110,105,48,52,53,55,7,117,110,105,48,52,53,56,7,117,110,105,48,52,53,66,7,117,110,105,48,52,52,69,7,117,110,105,48,52,52,70,7,117,110,105,48,52,53,50,7,117,110,105,48,52,57,51,7,117,110,105,48,52,57,55,7,117,110,105,48,52,57,66,7,117,110,105,48,52,65,51,7,117,110,105,48,52,65,70,7,117,110,105,48,52,66,49,7,117,110,105,48,52,66,51,7,117,110,105,48,52,66,55,7,117,110,105,48,52,66,66,7,117,110,105,48,52,67,70,7,117,110,105,48,52,68,57,7,117,110,105,48,52,69,51,7,117,110,105,48,52,69,57,7,117,110,105,48,52,69,70,15,117,110,105,48,52,51,50,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,51,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,52,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,54,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,55,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,56,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,57,46,108,111,99,108,66,71,82,15,117,110,105,48,52,53,68,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,65,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,66,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,70,46,108,111,99,108,66,71,82,15,117,110,105,48,52,52,50,46,108,111,99,108,66,71,82,15,117,110,105,48,52,52,54,46,108,111,99,108,66,71,82,15,117,110,105,48,52,52,56,46,108,111,99,108,66,71,82,15,117,110,105,48,52,52,57,46,108,111,99,108,66,71,82,15,117,110,105,48,52,52,67,46,108,111,99,108,66,71,82,15,117,110,105,48,52,52,65,46,108,111,99,108,66,71,82,15,117,110,105,48,52,52,69,46,108,111,99,108,66,71,82,15,117,110,105,48,52,51,49,46,108,111,99,108,83,82,66,7,117,110,105,48,51,57,52,7,117,110,105,48,51,65,57,7,117,110,105,48,51,67,70,7,117,110,105,48,51,66,67,7,117,110,105,48,51,67,50,7,117,110,105,48,51,68,55,7,117,110,105,50,48,56,48,7,117,110,105,50,48,56,49,7,117,110,105,50,48,56,50,7,117,110,105,50,48,56,51,7,117,110,105,50,48,56,52,7,117,110,105,50,48,56,53,7,117,110,105,50,48,56,54,7,117,110,105,50,48,56,55,7,117,110,105,50,48,56,56,7,117,110,105,50,48,56,57,7,117,110,105,50,48,55,48,7,117,110,105,48,48,66,57,7,117,110,105,48,48,66,50,7,117,110,105,48,48,66,51,7,117,110,105,50,48,55,52,7,117,110,105,50,48,55,53,7,117,110,105,50,48,55,54,7,117,110,105,50,48,55,55,7,117,110,105,50,48,55,56,7,117,110,105,50,48,55,57,9,101,120,99,108,97,109,100,98,108,7,117,110,105,50,48,51,69,7,117,110,105,50,55,54,69,7,117,110,105,50,55,54,70,7,117,110,105,50,55,54,67,7,117,110,105,50,55,54,68,7,117,110,105,48,48,65,68,7,117,110,105,50,48,49,53,7,117,110,105,50,48,49,48,7,117,110,105,50,48,49,49,20,117,110,105,65,55,55,52,65,55,55,52,65,55,55,52,46,108,105,103,97,24,117,110,105,65,55,55,52,65,55,55,52,65,55,55,52,65,55,55,52,46,108,105,103,97,7,117,110,105,48,51,55,69,7,117,110,105,50,48,48,56,7,117,110,105,48,48,65,48,7,117,110,105,50,48,50,56,7,117,110,105,48,69,51,70,7,117,110,105,50,48,66,53,13,99,111,108,111,110,109,111,110,101,116,97,114,121,4,69,117,114,111,7,117,110,105,50,48,65,48,7,117,110,105,50,48,66,50,7,117,110,105,50,48,66,52,7,117,110,105,50,48,65,68,7,117,110,105,50,48,66,69,7,117,110,105,50,48,66,65,7,117,110,105,50,48,66,67,7,117,110,105,50,48,65,54,7,117,110,105,50,48,66,49,7,117,110,105,50,48,66,68,7,117,110,105,50,48,65,56,7,117,110,105,50,48,66,57,7,117,110,105,50,48,65,65,7,117,110,105,50,48,66,56,7,117,110,105,50,48,65,69,7,117,110,105,50,48,65,57,7,117,110,105,50,50,49,57,7,117,110,105,50,50,49,53,7,117,110,105,50,51,65,70,13,114,101,118,108,111,103,105,99,97,108,110,111,116,7,117,110,105,50,50,54,50,7,117,110,105,50,49,50,54,7,117,110,105,50,50,48,54,7,117,110,105,48,48,66,53,7,117,110,105,50,50,54,51,7,117,110,105,50,65,50,70,7,97,114,114,111,119,117,112,10,97,114,114,111,119,114,105,103,104,116,9,97,114,114,111,119,100,111,119,110,9,97,114,114,111,119,108,101,102,116,9,97,114,114,111,119,98,111,116,104,9,97,114,114,111,119,117,112,100,110,12,97,114,114,111,119,117,112,100,110,98,115,101,7,117,110,105,50,49,69,49,7,117,110,105,50,49,69,51,7,117,110,105,50,53,56,49,7,117,110,105,50,53,56,50,7,117,110,105,50,53,56,51,7,100,110,98,108,111,99,107,7,117,110,105,50,53,56,53,7,117,110,105,50,53,56,54,7,117,110,105,50,53,56,55,5,98,108,111,99,107,7,117,112,98,108,111,99,107,7,117,110,105,50,53,57,52,7,117,110,105,50,53,56,70,7,117,110,105,50,53,56,69,7,117,110,105,50,53,56,68,7,108,102,98,108,111,99,107,7,117,110,105,50,53,56,66,7,117,110,105,50,53,56,65,7,117,110,105,50,53,56,57,7,114,116,98,108,111,99,107,7,117,110,105,50,53,57,53,7,117,110,105,50,53,57,54,7,117,110,105,50,53,57,55,7,117,110,105,50,53,57,56,7,117,110,105,50,53,57,57,7,117,110,105,50,53,57,65,7,117,110,105,50,53,57,66,7,117,110,105,50,53,57,67,7,117,110,105,50,53,57,68,7,117,110,105,50,53,57,69,7,117,110,105,50,53,57,70,7,108,116,115,104,97,100,101,5,115,104,97,100,101,7,100,107,115,104,97,100,101,7,117,110,105,50,53,67,70,6,99,105,114,99,108,101,7,117,110,105,50,53,69,70,7,117,110,105,50,53,68,48,7,117,110,105,50,53,68,49,7,117,110,105,50,53,68,50,7,117,110,105,50,53,68,51,7,117,110,105,50,53,68,54,7,117,110,105,50,53,68,55,7,117,110,105,50,53,68,52,7,117,110,105,50,53,68,53,7,117,110,105,50,53,70,52,7,117,110,105,50,53,70,53,7,117,110,105,50,53,70,54,7,117,110,105,50,53,70,55,7,117,110,105,50,53,67,68,7,117,110,105,50,53,67,67,7,117,110,105,50,53,67,57,7,117,110,105,50,53,67,69,10,111,112,101,110,98,117,108,108,101,116,9,105,110,118,98,117,108,108,101,116,9,105,110,118,99,105,114,99,108,101,7,117,110,105,50,53,68,65,7,117,110,105,50,53,68,66,7,117,110,105,50,53,69,48,7,117,110,105,50,53,69,49,7,117,110,105,50,53,68,67,7,117,110,105,50,53,68,68,7,117,110,105,50,53,68,69,7,117,110,105,50,53,68,70,7,117,110,105,50,53,67,54,7,117,110,105,50,53,67,55,7,117,110,105,50,66,49,54,7,117,110,105,50,66,49,55,7,117,110,105,50,66,49,56,7,117,110,105,50,66,49,57,7,117,110,105,50,53,67,56,7,117,110,105,50,53,66,48,7,117,110,105,50,53,66,49,7,117,110,105,50,53,65,69,10,102,105,108,108,101,100,114,101,99,116,7,117,110,105,50,53,65,68,7,117,110,105,50,53,65,70,9,102,105,108,108,101,100,98,111,120,7,117,110,105,50,53,65,49,7,117,110,105,50,53,65,50,7,117,110,105,50,53,65,51,7,117,110,105,50,66,49,65,7,117,110,105,50,53,65,52,7,117,110,105,50,53,65,53,7,117,110,105,50,53,65,54,7,117,110,105,50,53,65,55,7,117,110,105,50,53,65,56,7,117,110,105,50,53,65,57,7,117,110,105,50,53,65,65,7,117,110,105,50,53,65,66,7,117,110,105,50,53,69,55,7,117,110,105,50,53,69,56,7,117,110,105,50,53,69,57,7,117,110,105,50,53,69,65,7,117,110,105,50,53,69,66,7,117,110,105,50,53,70,48,7,117,110,105,50,53,70,49,7,117,110,105,50,53,70,50,7,117,110,105,50,53,70,51,7,117,110,105,50,53,70,66,7,117,110,105,50,53,70,67,7,117,110,105,50,53,70,68,7,117,110,105,50,53,70,69,7,116,114,105,97,103,117,112,7,117,110,105,50,53,66,54,7,116,114,105,97,103,100,110,7,117,110,105,50,53,67,48,7,117,110,105,50,53,66,51,7,117,110,105,50,53,66,55,7,117,110,105,50,53,66,68,7,117,110,105,50,53,67,49,7,117,110,105,50,53,69,67,7,117,110,105,50,53,69,68,7,117,110,105,50,53,69,69,7,116,114,105,97,103,114,116,7,116,114,105,97,103,108,102,7,117,110,105,50,53,66,66,7,117,110,105,50,53,67,53,7,117,110,105,50,53,66,52,7,117,110,105,50,53,66,56,7,117,110,105,50,53,66,69,7,117,110,105,50,53,67,50,7,117,110,105,50,53,66,53,7,117,110,105,50,53,66,57,7,117,110,105,50,53,66,70,7,117,110,105,50,53,67,51,7,117,110,105,50,53,69,53,7,117,110,105,50,53,69,50,7,117,110,105,50,53,69,51,7,117,110,105,50,53,69,52,7,117,110,105,50,53,70,57,7,117,110,105,50,53,70,70,7,117,110,105,50,53,70,65,7,117,110,105,50,53,70,56,7,117,110,105,50,53,54,54,7,117,110,105,50,53,53,55,7,117,110,105,50,53,53,52,7,117,110,105,50,53,53,48,7,117,110,105,50,53,54,57,7,117,110,105,50,53,53,68,7,117,110,105,50,53,53,65,7,117,110,105,50,53,53,49,7,117,110,105,50,53,54,67,7,117,110,105,50,53,54,51,7,117,110,105,50,53,54,48,7,117,110,105,50,53,54,53,7,117,110,105,50,53,53,54,7,117,110,105,50,53,53,51,7,117,110,105,50,53,51,48,7,117,110,105,50,53,49,50,7,117,110,105,50,53,50,55,7,117,110,105,50,53,48,69,7,117,110,105,50,53,49,70,7,117,110,105,50,53,52,49,7,117,110,105,50,53,50,70,7,117,110,105,50,53,49,49,7,117,110,105,50,53,50,57,7,117,110,105,50,53,48,68,7,117,110,105,50,53,50,49,7,117,110,105,50,53,52,55,7,117,110,105,50,53,54,52,7,117,110,105,50,53,53,53,7,117,110,105,50,53,53,50,7,117,110,105,50,53,52,68,7,117,110,105,50,53,52,70,7,117,110,105,50,53,55,66,7,117,110,105,50,53,51,51,7,117,110,105,50,53,49,51,7,117,110,105,50,53,48,70,7,117,110,105,50,53,48,49,7,117,110,105,50,53,55,56,7,117,110,105,50,53,55,69,7,117,110,105,50,53,48,57,7,117,110,105,50,53,48,66,7,117,110,105,50,53,55,65,7,117,110,105,50,53,48,53,7,117,110,105,50,53,48,55,7,117,110,105,50,53,55,57,7,117,110,105,50,53,51,66,7,117,110,105,50,53,49,66,7,117,110,105,50,53,55,70,7,117,110,105,50,53,49,55,7,117,110,105,50,53,48,51,7,117,110,105,50,53,52,66,7,117,110,105,50,53,50,66,7,117,110,105,50,53,50,51,7,117,110,105,50,53,52,53,7,117,110,105,50,53,50,68,7,117,110,105,50,53,51,53,7,117,110,105,50,53,51,68,7,117,110,105,50,53,51,50,7,117,110,105,50,53,51,65,7,117,110,105,50,53,52,65,7,117,110,105,50,53,52,51,7,117,110,105,50,53,54,69,7,117,110,105,50,53,54,68,7,117,110,105,50,53,54,70,7,117,110,105,50,53,55,48,7,117,110,105,50,53,55,51,7,117,110,105,50,53,55,50,7,117,110,105,50,53,55,49,7,117,110,105,50,53,52,67,7,117,110,105,50,53,52,69,7,117,110,105,50,53,55,55,7,117,110,105,50,53,50,67,7,117,110,105,50,53,49,48,7,117,110,105,50,53,48,67,7,117,110,105,50,53,48,48,7,117,110,105,50,53,55,52,7,117,110,105,50,53,55,67,7,117,110,105,50,53,48,56,7,117,110,105,50,53,48,65,7,117,110,105,50,53,55,54,7,117,110,105,50,53,48,52,7,117,110,105,50,53,48,54,7,117,110,105,50,53,55,53,7,117,110,105,50,53,55,68,7,117,110,105,50,53,51,52,7,117,110,105,50,53,49,56,7,117,110,105,50,53,49,52,7,117,110,105,50,53,48,50,7,117,110,105,50,53,51,67,7,117,110,105,50,53,50,52,7,117,110,105,50,53,49,67,7,117,110,105,50,53,52,54,7,117,110,105,50,53,50,69,7,117,110,105,50,53,51,54,7,117,110,105,50,53,51,69,7,117,110,105,50,53,51,49,7,117,110,105,50,53,51,57,7,117,110,105,50,53,52,57,7,117,110,105,50,53,52,52,7,117,110,105,50,53,54,56,7,117,110,105,50,53,53,67,7,117,110,105,50,53,53,57,7,117,110,105,50,53,52,48,7,117,110,105,50,53,51,56,7,117,110,105,50,53,50,54,7,117,110,105,50,53,49,65,7,117,110,105,50,53,49,69,7,117,110,105,50,53,49,54,7,117,110,105,50,53,52,56,7,117,110,105,50,53,51,55,7,117,110,105,50,53,50,65,7,117,110,105,50,53,49,57,7,117,110,105,50,53,50,50,7,117,110,105,50,53,49,53,7,117,110,105,50,53,54,55,7,117,110,105,50,53,53,66,7,117,110,105,50,53,53,56,7,117,110,105,50,53,54,66,7,117,110,105,50,53,54,50,7,117,110,105,50,53,53,70,7,117,110,105,50,53,52,50,7,117,110,105,50,53,50,56,7,117,110,105,50,53,50,48,7,117,110,105,50,53,51,70,7,117,110,105,50,53,50,53,7,117,110,105,50,53,49,68,7,117,110,105,50,53,54,65,7,117,110,105,50,53,54,49,7,117,110,105,50,53,53,69,13,117,110,105,50,53,56,49,46,115,116,121,112,111,13,117,110,105,50,53,56,50,46,115,116,121,112,111,13,117,110,105,50,53,56,51,46,115,116,121,112,111,13,100,110,98,108,111,99,107,46,115,116,121,112,111,13,117,110,105,50,53,56,53,46,115,116,121,112,111,13,117,110,105,50,53,56,54,46,115,116,121,112,111,13,117,110,105,50,53,56,55,46,115,116,121,112,111,11,98,108,111,99,107,46,115,116,121,112,111,13,117,112,98,108,111,99,107,46,115,116,121,112,111,13,117,110,105,50,53,57,52,46,115,116,121,112,111,13,117,110,105,50,53,56,70,46,115,116,121,112,111,13,117,110,105,50,53,56,69,46,115,116,121,112,111,13,117,110,105,50,53,56,68,46,115,116,121,112,111,13,108,102,98,108,111,99,107,46,115,116,121,112,111,13,117,110,105,50,53,56,66,46,115,116,121,112,111,13,117,110,105,50,53,56,65,46,115,116,121,112,111,13,117,110,105,50,53,56,57,46,115,116,121,112,111,13,114,116,98,108,111,99,107,46,115,116,121,112,111,13,117,110,105,50,53,57,53,46,115,116,121,112,111,13,117,110,105,50,53,57,54,46,115,116,121,112,111,13,117,110,105,50,53,57,55,46,115,116,121,112,111,13,117,110,105,50,53,57,56,46,115,116,121,112,111,13,117,110,105,50,53,57,57,46,115,116,121,112,111,13,117,110,105,50,53,57,65,46,115,116,121,112,111,13,117,110,105,50,53,57,66,46,115,116,121,112,111,13,117,110,105,50,53,57,67,46,115,116,121,112,111,13,117,110,105,50,53,57,68,46,115,116,121,112,111,13,117,110,105,50,53,57,69,46,115,116,121,112,111,13,117,110,105,50,53,57,70,46,115,116,121,112,111,13,108,116,115,104,97,100,101,46,115,116,121,112,111,11,115,104,97,100,101,46,115,116,121,112,111,13,100,107,115,104,97,100,101,46,115,116,121,112,111,7,117,110,105,50,54,49,57,9,115,109,105,108,101,102,97,99,101,12,105,110,118,115,109,105,108,101,102,97,99,101,3,115,117,110,6,102,101,109,97,108,101,4,109,97,108,101,5,115,112,97,100,101,4,99,108,117,98,5,104,101,97,114,116,7,100,105,97,109,111,110,100,7,117,110,105,50,55,49,51,7,117,110,105,50,55,54,55,7,117,110,105,50,49,49,55,7,117,110,105,50,49,48,53,7,117,110,105,50,49,49,51,7,117,110,105,50,49,49,54,7,117,110,105,50,66,50,50,7,117,110,105,50,66,50,67,7,117,110,105,50,66,50,52,7,117,110,105,50,66,49,66,7,117,110,105,50,66,50,53,7,117,110,105,50,66,67,54,7,117,110,105,50,66,67,55,7,117,110,105,50,66,50,55,7,117,110,105,50,66,67,56,7,117,110,105,50,66,67,53,7,117,110,105,50,66,49,70,7,117,110,105,50,66,50,57,7,117,110,105,50,66,50,65,7,117,110,105,50,66,50,69,7,117,110,105,50,66,49,68,7,117,110,105,50,66,67,66,7,117,110,105,50,66,50,51,7,117,110,105,50,66,49,50,7,117,110,105,50,66,49,52,7,117,110,105,50,66,67,65,7,117,110,105,50,66,49,51,7,117,110,105,50,66,49,53,7,117,110,105,50,66,50,49,7,117,110,105,50,66,50,68,7,117,110,105,50,66,49,67,7,117,110,105,50,66,50,54,7,117,110,105,50,66,50,56,7,117,110,105,50,66,50,48,7,117,110,105,50,66,50,66,7,117,110,105,50,66,50,70,7,117,110,105,50,66,49,69,11,109,117,115,105,99,97,108,110,111,116,101,14,109,117,115,105,99,97,108,110,111,116,101,100,98,108,7,117,110,105,50,56,48,48,7,117,110,105,50,56,48,49,7,117,110,105,50,56,48,51,7,117,110,105,50,56,48,55,7,117,110,105,50,56,48,70,7,117,110,105,50,56,49,70,7,117,110,105,50,56,51,70,7,117,110,105,50,56,55,70,7,117,110,105,50,56,70,70,7,117,110,105,50,56,66,70,7,117,110,105,50,56,53,70,7,117,110,105,50,56,68,70,7,117,110,105,50,56,57,70,7,117,110,105,50,56,50,70,7,117,110,105,50,56,54,70,7,117,110,105,50,56,69,70,7,117,110,105,50,56,65,70,7,117,110,105,50,56,52,70,7,117,110,105,50,56,67,70,7,117,110,105,50,56,56,70,7,117,110,105,50,56,49,55,7,117,110,105,50,56,51,55,7,117,110,105,50,56,55,55,7,117,110,105,50,56,70,55,7,117,110,105,50,56,66,55,7,117,110,105,50,56,53,55,7,117,110,105,50,56,68,55,7,117,110,105,50,56,57,55,7,117,110,105,50,56,50,55,7,117,110,105,50,56,54,55,7,117,110,105,50,56,69,55,7,117,110,105,50,56,65,55,7,117,110,105,50,56,52,55,7,117,110,105,50,56,67,55,7,117,110,105,50,56,56,55,7,117,110,105,50,56,48,66,7,117,110,105,50,56,49,66,7,117,110,105,50,56,51,66,7,117,110,105,50,56,55,66,7,117,110,105,50,56,70,66,7,117,110,105,50,56,66,66,7,117,110,105,50,56,53,66,7,117,110,105,50,56,68,66,7,117,110,105,50,56,57,66,7,117,110,105,50,56,50,66,7,117,110,105,50,56,54,66,7,117,110,105,50,56,69,66,7,117,110,105,50,56,65,66,7,117,110,105,50,56,52,66,7,117,110,105,50,56,67,66,7,117,110,105,50,56,56,66,7,117,110,105,50,56,49,51,7,117,110,105,50,56,51,51,7,117,110,105,50,56,55,51,7,117,110,105,50,56,70,51,7,117,110,105,50,56,66,51,7,117,110,105,50,56,53,51,7,117,110,105,50,56,68,51,7,117,110,105,50,56,57,51,7,117,110,105,50,56,50,51,7,117,110,105,50,56,54,51,7,117,110,105,50,56,69,51,7,117,110,105,50,56,65,51,7,117,110,105,50,56,52,51,7,117,110,105,50,56,67,51,7,117,110,105,50,56,56,51,7,117,110,105,50,56,48,53,7,117,110,105,50,56,48,68,7,117,110,105,50,56,49,68,7,117,110,105,50,56,51,68,7,117,110,105,50,56,55,68,7,117,110,105,50,56,70,68,7,117,110,105,50,56,66,68,7,117,110,105,50,56,53,68,7,117,110,105,50,56,68,68,7,117,110,105,50,56,57,68,7,117,110,105,50,56,50,68,7,117,110,105,50,56,54,68,7,117,110,105,50,56,69,68,7,117,110,105,50,56,65,68,7,117,110,105,50,56,52,68,7,117,110,105,50,56,67,68,7,117,110,105,50,56,56,68,7,117,110,105,50,56,49,53,7,117,110,105,50,56,51,53,7,117,110,105,50,56,55,53,7,117,110,105,50,56,70,53,7,117,110,105,50,56,66,53,7,117,110,105,50,56,53,53,7,117,110,105,50,56,68,53,7,117,110,105,50,56,57,53,7,117,110,105,50,56,50,53,7,117,110,105,50,56,54,53,7,117,110,105,50,56,69,53,7,117,110,105,50,56,65,53,7,117,110,105,50,56,52,53,7,117,110,105,50,56,67,53,7,117,110,105,50,56,56,53,7,117,110,105,50,56,48,57,7,117,110,105,50,56,49,57,7,117,110,105,50,56,51,57,7,117,110,105,50,56,55,57,7,117,110,105,50,56,70,57,7,117,110,105,50,56,66,57,7,117,110,105,50,56,53,57,7,117,110,105,50,56,68,57,7,117,110,105,50,56,57,57,7,117,110,105,50,56,50,57,7,117,110,105,50,56,54,57,7,117,110,105,50,56,69,57,7,117,110,105,50,56,65,57,7,117,110,105,50,56,52,57,7,117,110,105,50,56,67,57,7,117,110,105,50,56,56,57,7,117,110,105,50,56,49,49,7,117,110,105,50,56,51,49,7,117,110,105,50,56,55,49,7,117,110,105,50,56,70,49,7,117,110,105,50,56,66,49,7,117,110,105,50,56,53,49,7,117,110,105,50,56,68,49,7,117,110,105,50,56,57,49,7,117,110,105,50,56,50,49,7,117,110,105,50,56,54,49,7,117,110,105,50,56,69,49,7,117,110,105,50,56,65,49,7,117,110,105,50,56,52,49,7,117,110,105,50,56,67,49,7,117,110,105,50,56,56,49,7,117,110,105,50,56,48,50,7,117,110,105,50,56,48,54,7,117,110,105,50,56,48,69,7,117,110,105,50,56,49,69,7,117,110,105,50,56,51,69,7,117,110,105,50,56,55,69,7,117,110,105,50,56,70,69,7,117,110,105,50,56,66,69,7,117,110,105,50,56,53,69,7,117,110,105,50,56,68,69,7,117,110,105,50,56,57,69,7,117,110,105,50,56,50,69,7,117,110,105,50,56,54,69,7,117,110,105,50,56,69,69,7,117,110,105,50,56,65,69,7,117,110,105,50,56,52,69,7,117,110,105,50,56,67,69,7,117,110,105,50,56,56,69,7,117,110,105,50,56,49,54,7,117,110,105,50,56,51,54,7,117,110,105,50,56,55,54,7,117,110,105,50,56,70,54,7,117,110,105,50,56,66,54,7,117,110,105,50,56,53,54,7,117,110,105,50,56,68,54,7,117,110,105,50,56,57,54,7,117,110,105,50,56,50,54,7,117,110,105,50,56,54,54,7,117,110,105,50,56,69,54,7,117,110,105,50,56,65,54,7,117,110,105,50,56,52,54,7,117,110,105,50,56,67,54,7,117,110,105,50,56,56,54,7,117,110,105,50,56,48,65,7,117,110,105,50,56,49,65,7,117,110,105,50,56,51,65,7,117,110,105,50,56,55,65,7,117,110,105,50,56,70,65,7,117,110,105,50,56,66,65,7,117,110,105,50,56,53,65,7,117,110,105,50,56,68,65,7,117,110,105,50,56,57,65,7,117,110,105,50,56,50,65,7,117,110,105,50,56,54,65,7,117,110,105,50,56,69,65,7,117,110,105,50,56,65,65,7,117,110,105,50,56,52,65,7,117,110,105,50,56,67,65,7,117,110,105,50,56,56,65,7,117,110,105,50,56,49,50,7,117,110,105,50,56,51,50,7,117,110,105,50,56,55,50,7,117,110,105,50,56,70,50,7,117,110,105,50,56,66,50,7,117,110,105,50,56,53,50,7,117,110,105,50,56,68,50,7,117,110,105,50,56,57,50,7,117,110,105,50,56,50,50,7,117,110,105,50,56,54,50,7,117,110,105,50,56,69,50,7,117,110,105,50,56,65,50,7,117,110,105,50,56,52,50,7,117,110,105,50,56,67,50,7,117,110,105,50,56,56,50,7,117,110,105,50,56,48,52,7,117,110,105,50,56,48,67,7,117,110,105,50,56,49,67,7,117,110,105,50,56,51,67,7,117,110,105,50,56,55,67,7,117,110,105,50,56,70,67,7,117,110,105,50,56,66,67,7,117,110,105,50,56,53,67,7,117,110,105,50,56,68,67,7,117,110,105,50,56,57,67,7,117,110,105,50,56,50,67,7,117,110,105,50,56,54,67,7,117,110,105,50,56,69,67,7,117,110,105,50,56,65,67,7,117,110,105,50,56,52,67,7,117,110,105,50,56,67,67,7,117,110,105,50,56,56,67,7,117,110,105,50,56,49,52,7,117,110,105,50,56,51,52,7,117,110,105,50,56,55,52,7,117,110,105,50,56,70,52,7,117,110,105,50,56,66,52,7,117,110,105,50,56,53,52,7,117,110,105,50,56,68,52,7,117,110,105,50,56,57,52,7,117,110,105,50,56,50,52,7,117,110,105,50,56,54,52,7,117,110,105,50,56,69,52,7,117,110,105,50,56,65,52,7,117,110,105,50,56,52,52,7,117,110,105,50,56,67,52,7,117,110,105,50,56,56,52,7,117,110,105,50,56,48,56,7,117,110,105,50,56,49,56,7,117,110,105,50,56,51,56,7,117,110,105,50,56,55,56,7,117,110,105,50,56,70,56,7,117,110,105,50,56,66,56,7,117,110,105,50,56,53,56,7,117,110,105,50,56,68,56,7,117,110,105,50,56,57,56,7,117,110,105,50,56,50,56,7,117,110,105,50,56,54,56,7,117,110,105,50,56,69,56,7,117,110,105,50,56,65,56,7,117,110,105,50,56,52,56,7,117,110,105,50,56,67,56,7,117,110,105,50,56,56,56,7,117,110,105,50,56,49,48,7,117,110,105,50,56,51,48,7,117,110,105,50,56,55,48,7,117,110,105,50,56,70,48,7,117,110,105,50,56,66,48,7,117,110,105,50,56,53,48,7,117,110,105,50,56,68,48,7,117,110,105,50,56,57,48,7,117,110,105,50,56,50,48,7,117,110,105,50,56,54,48,7,117,110,105,50,56,69,48,7,117,110,105,50,56,65,48,7,117,110,105,50,56,52,48,7,117,110,105,50,56,67,48,7,117,110,105,50,56,56,48,7,117,110,105,48,51,55,52,7,117,110,105,48,51,55,53,7,117,110,105,48,50,66,67,7,117,110,105,48,50,66,66,7,117,110,105,48,50,67,57,7,117,110,105,48,51,48,56,7,117,110,105,48,51,48,55,7,117,110,105,48,51,48,66,7,117,110,105,48,51,48,50,7,117,110,105,48,51,48,67,7,117,110,105,48,51,48,54,7,117,110,105,48,51,48,65,7,117,110,105,48,51,48,52,7,117,110,105,48,51,49,50,7,117,110,105,48,51,49,66,7,117,110,105,48,51,50,54,7,117,110,105,48,51,50,55,7,117,110,105,48,51,50,56,7,117,110,105,48,51,52,48,7,117,110,105,48,51,52,49,12,117,110,105,48,51,48,56,46,99,97,115,101,12,117,110,105,48,51,48,55,46,99,97,115,101,12,117,110,105,48,51,48,66,46,99,97,115,101,12,117,110,105,48,51,48,50,46,99,97,115,101,12,117,110,105,48,51,48,67,46,99,97,115,101,12,117,110,105,48,51,48,54,46,99,97,115,101,12,117,110,105,48,51,48,65,46,99,97,115,101,12,117,110,105,48,51,48,52,46,99,97,115,101,12,117,110,105,48,51,49,66,46,99,97,115,101,7,117,110,105,48,51,52,50,11,98,114,101,118,101,99,111,109,98,99,121,16,98,114,101,118,101,99,111,109,98,99,121,46,99,97,115,101,9,117,110,105,48,69,51,70,46,49,0,64,255,146,71,255,31,145,70,255,31,144,69,255,31,143,67,255,31,142,68,255,31,141,68,114,31,140,66,255,31,139,63,54,31,138,65,255,31,137,63,255,31,136,64,147,31,135,64,255,31,134,59,255,31,133,60,147,31,132,60,255,31,131,61,255,31,130,62,255,31,129,58,255,31,128,56,255,31,127,57,255,31,126,55,255,31,125,55,205,31,124,54,171,31,123,54,255,31,122,54,128,31,121,53,255,31,120,52,255,31,119,50,27,31,118,50,171,31,117,50,255,31,116,50,128,31,115,50,86,31,114,51,45,31,113,51,255,31,112,51,74,31,111,49,255,31,110,49,205,31,109,49,114,31,108,47,114,31,107,47,255,31,106,47,171,31,105,48,255,31,104,48,171,31,103,46,255,31,102,43,24,31,101,45,255,31,100,43,255,31,99,44,255,31,98,43,61,31,97,43,25,31,96,42,255,31,95,40,128,31,94,40,255,31,93,40,86,31,92,40,52,31,91,41,255,31,90,41,64,31,89,39,255,31,88,36,128,31,87,36,255,31,86,38,255,31,85,37,255,31,84,37,86,31,83,37,38,64,255,31,82,35,255,31,81,35,52,31,80,34,255,31,79,31,255,31,78,33,255,31,77,32,255,31,76,30,255,31,75,29,255,31,74,29,128,31,73,28,61,31,72,28,255,31,70,69,94,31,69,67,128,31,68,67,69,31,65,63,128,31,64,63,52,31,62,61,114,31,61,60,64,31,60,59,61,31,57,56,79,31,51,50,16,31,49,47,45,31,48,47,79,31,47,24,27,25,92,46,27,18,31,45,43,86,31,44,205,43,85,43,10,26,25,92,42,26,11,31,41,40,28,31,40,25,255,31,39,25,6,31,38,37,128,31,37,36,86,31,36,22,205,31,35,24,22,31,34,23,7,31,33,171,31,85,32,31,12,31,31,23,255,31,30,103,29,85,29,22,255,31,28,22,6,31,27,53,25,25,91,24,61,22,119,91,26,53,25,25,91,23,61,22,119,91,21,25,69,22,78,90,19,52,18,85,17,52,16,85,18,89,16,89,13,52,12,85,5,52,4,85,12,89,4,89,15,57,14,85,11,52,10,85,7,52,6,85,1,52,0,85,14,89,10,89,6,89,0,89,9,52,8,85,3,52,64,13,2,85,8,89,2,89,16,0,3,64,64,5,1,185,1,144,0,84,43,75,184,7,255,82,75,176,8,80,91,176,1,136,176,37,83,176,1,136,176,64,81,90,176,6,136,176,0,85,90,91,88,177,1,1,142,89,133,141,141,0,29,66,75,176,144,83,88,178,3,0,0,29,66,89,177,2,2,67,81,88,177,4,3,142,89,66,0,43,0,43,43,43,0,43,0,43,0,43,0,43,43,43,43,43,0,43,0,43,43,43,0,43,0,43,43,43,1,43,1,43,1,43,1,43,1,43,1,43,43,43,0,43,43,43,43,43,43,43,43,1,43,43,43,0,43,0,43,43,43,43,1,43,43,43,1,43,0,43,1,43,43,43,0,43,43,43,43,43,1,43,43,43,43,43,0,43,43,43,43,43,43,43,43,43,43,43,43,1,43,43,43,43,43,43,43,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,1,43,43,43,43,43,43,43,43,43,0,43,43,43,43,43,43,43,43,1,43,43,43,43,43,43,0,43,43,43,43,43,43,43,43,43,43,43,43,24}; \ No newline at end of file diff --git a/Client/CascadiaCodeFont.h b/Client/CascadiaCodeFont.h deleted file mode 100644 index f5b558a..0000000 --- a/Client/CascadiaCodeFont.h +++ /dev/null @@ -1,6 +0,0 @@ -#pragma once - -//Generated by Fonts/encodeFont.py -//This is crossplatform and works well, although it is a bit weird. - -extern unsigned char CascadiaCodeTTF[358448]; \ No newline at end of file diff --git a/Client/Constants.h b/Client/Constants.h index 91613ca..839e7f5 100644 --- a/Client/Constants.h +++ b/Client/Constants.h @@ -177,17 +177,6 @@ enum class SOUND_POSITION_PRESET : signed char OUT_OF_RANGE = -1 }; -//Needed for converting the ImGui Combo index into the VPT index. -inline const SOUND_POSITION_PRESET SOUND_POSITION_PRESET_ARRAY[] = { - SOUND_POSITION_PRESET::OFF, - SOUND_POSITION_PRESET::FRONT_LEFT, - SOUND_POSITION_PRESET::FRONT_RIGHT, - SOUND_POSITION_PRESET::FRONT, - SOUND_POSITION_PRESET::REAR_LEFT, - SOUND_POSITION_PRESET::REAR_RIGHT, - SOUND_POSITION_PRESET::OUT_OF_RANGE -}; - enum class VPT_INQUIRED_TYPE : signed char { NO_USE = 0, diff --git a/Client/CrossPlatformGUI.cpp b/Client/CrossPlatformGUI.cpp deleted file mode 100644 index 993d9a8..0000000 --- a/Client/CrossPlatformGUI.cpp +++ /dev/null @@ -1,673 +0,0 @@ -#include "CrossPlatformGUI.h" - -#include -#include -#include -#include - -#define STB_IMAGE_IMPLEMENTATION -#define STBI_ONLY_PNG -#include "stb_image.h" - -#if defined(_WIN32) -#ifndef NOMINMAX -#define NOMINMAX -#endif -#include -#elif defined(__linux__) -#include -#endif - -bool CrossPlatformGUI::performGUIPass() -{ - ImGui::NewFrame(); - - bool open = true; - ImGuiIO& io = ImGui::GetIO(); - - ImGui::SetNextWindowPos({ 0, 0 }); - ImGui::SetNextWindowSize(io.DisplaySize); - ImGui::Begin("SonyBridge", &open, - ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | - ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoBringToFrontOnFocus); - - ImGui::TextDisabled("Not affiliated with Sony. Use at your own risk."); - ImGui::Spacing(); - - this->_drawErrors(); - this->_drawDeviceDiscovery(); - - if (this->_bt.isConnected()) - { - this->_pumpConnectionState(); - - if (this->_synced) - { - this->_drawStatusHeader(); - this->_drawASMControls(); - if (this->_isV2()) - { - this->_drawEqualizer(); - this->_drawDsee(); - } - this->_drawOptionalFeatures(); - if (!this->_isV2()) - this->_drawSurroundControls(); - - this->_sendPendingASMChanges(); - } - else - { - ImGui::Spacing(); - ImGui::TextDisabled("Reading device settings %c", "|/-\\"[(int)(ImGui::GetTime() / 0.1f) & 3]); - } - } - else - { - this->_synced = false; - this->_probed = false; - this->_initialized = false; - this->_pollCounter = 0; - } - - ImGui::End(); - ImGui::Render(); - - return open; -} - -void CrossPlatformGUI::_drawErrors() -{ - if (this->_mq.begin() == this->_mq.end()) - return; - - for (auto&& message : this->_mq) - ImGui::TextColored(ImVec4(0.95f, 0.45f, 0.45f, 1.0f), "%s", message.message.c_str()); - ImGui::Spacing(); -} - -void CrossPlatformGUI::_drawDeviceDiscovery() -{ - static std::vector connectedDevices; - static int selectedDevice = -1; - - if (!this->_beginCard("##discovery")) { this->_endCard(); return; } - - if (this->_bt.isConnected()) - { - ImGui::Text("Connected to %s", this->_connectedDevice.name.c_str()); - ImGui::Spacing(); - if (ImGui::Button("Disconnect")) - { - selectedDevice = -1; - this->_bt.disconnect(); - } - this->_endCard(); - return; - } - - this->_cardTitle("Select a device"); - - int temp = 0; - for (const auto& device : connectedDevices) - { - std::string label = (device.name.empty() ? "Unknown Device" : device.name) + "##" + device.mac; - ImGui::RadioButton(label.c_str(), &selectedDevice, temp++); - } - - ImGui::Spacing(); - - if (this->_connectFuture.valid()) - { - if (this->_connectFuture.ready()) - { - try - { - this->_connectFuture.get(); - } - catch (const RecoverableException& exc) - { - if (exc.shouldDisconnect) - this->_bt.disconnect(); - this->_mq.addMessage(exc.what()); - } - } - else - { - ImGui::Text("Connecting %c", "|/-\\"[(int)(ImGui::GetTime() / 0.05f) & 3]); - } - } - else if (ImGui::Button("Connect")) - { - if (selectedDevice != -1) - { - this->_connectedDevice = connectedDevices[selectedDevice]; - this->_connectFuture.setFromAsync([this]() { this->_bt.connect(this->_connectedDevice.mac); }); - } - } - - ImGui::SameLine(); - - if (this->_connectedDevicesFuture.valid()) - { - if (this->_connectedDevicesFuture.ready()) - { - try - { - connectedDevices = this->_connectedDevicesFuture.get(); - } - catch (const RecoverableException& exc) - { - if (exc.shouldDisconnect) - this->_bt.disconnect(); - this->_mq.addMessage(exc.what()); - } - } - else - { - ImGui::Text("Discovering %c", "|/-\\"[(int)(ImGui::GetTime() / 0.05f) & 3]); - } - } - else if (ImGui::Button("Refresh devices")) - { - selectedDevice = -1; - this->_connectedDevicesFuture.setFromAsync([this]() { return this->_bt.getConnectedDevices(); }); - } - - this->_endCard(); -} - -void CrossPlatformGUI::_pumpConnectionState() -{ - // Phase 1 - fast post-connect reads: init handshake (v2), protocol-aware ambient read, then the - // always-answered settings. Each read is guarded so one slow/unanswered reply can't block the others or - // drop the link, and we always reach _synced so the UI leaves the "Reading device settings" state. - if (!this->_synced && !this->_refreshFuture.valid()) - { - this->_refreshFuture.setFromAsync([this]() { - try { if (!this->_initialized) { this->_headphones.initDevice(); this->_initialized = true; } } - catch (const std::exception&) {} - // requestAmbientState is protocol-aware (v1 uses 66 02, v2 uses 66 17) and read-only; sending it - // immediately gives v1 devices the handshake traffic they need to stay powered on. - try { this->_headphones.requestAmbientState(); } catch (const std::exception&) {} - if (this->_isV2()) - { - try { this->_headphones.requestBattery(); } catch (const std::exception&) {} - try { this->_headphones.requestEqualizer(); } catch (const std::exception&) {} - try { this->_headphones.requestDsee(); } catch (const std::exception&) {} - } - }); - } - - if (this->_refreshFuture.valid() && this->_refreshFuture.ready()) - { - try { this->_refreshFuture.get(); } catch (const std::exception&) {} - this->_syncUIFromHeadphones(); - this->_synced = true; - this->_pollCounter = 0; - } - - if (!this->_synced) - return; - - // Phase 2 - probe optional capabilities in the background. Each unsupported GET times out (~2.5s), so - // this must not gate the UI. The Feature cards read has*() live, so they appear once probing settles. - if (this->_isV2() && !this->_probed && !this->_probeFuture.valid()) - { - this->_probeFuture.setFromAsync([this]() { try { this->_headphones.probeCapabilities(); } catch (const std::exception&) {} }); - } - if (this->_probeFuture.valid() && this->_probeFuture.ready()) - { - try { this->_probeFuture.get(); } catch (const std::exception&) {} - this->_probed = true; - this->_uiAutoPowerOff = this->_headphones.getAutoPowerOff(); - this->_uiSpeakToChat = this->_headphones.getSpeakToChat(); - this->_uiAdaptiveVolume = this->_headphones.getAdaptiveVolume(); - } - - // Poll the button-changeable ASM state so the app reflects changes made on the headphone itself. - if (this->_pollFuture.valid() && this->_pollFuture.ready()) - { - try { this->_pollFuture.get(); } catch (const std::exception&) {} - if (!this->_sendCommandFuture.valid()) - { - this->_uiAsmOn = this->_headphones.getAmbientSoundControl(); - int lvl = this->_headphones.getAsmLevel(); - this->_uiAsmMode = !this->_uiAsmOn ? 0 : (lvl > 0 ? 2 : 1); - if (lvl > 0) this->_uiAsmLevel = lvl; - this->_uiFocusOnVoice = this->_headphones.getFocusOnVoice(); - } - } - if (!this->_pollFuture.valid() && ++this->_pollCounter >= DYNAMIC_POLL_FRAMES) - { - this->_pollCounter = 0; - this->_pollFuture.setFromAsync([this]() { this->_headphones.requestAmbientState(); }); - } -} - -void CrossPlatformGUI::_syncUIFromHeadphones() -{ - this->_uiAsmOn = this->_headphones.getAmbientSoundControl(); - int lvl = this->_headphones.getAsmLevel(); - this->_uiAsmMode = !this->_uiAsmOn ? 0 : (lvl > 0 ? 2 : 1); - this->_uiAsmLevel = lvl > 0 ? lvl : 10; - this->_uiFocusOnVoice = this->_headphones.getFocusOnVoice(); - - this->_uiEqPreset = (int)(unsigned char)this->_headphones.getEqualizerPreset(); - for (int i = 0; i < 5; ++i) - this->_uiEqBands[i] = this->_headphones.getEqualizerBand(i); - this->_uiClearBass = this->_headphones.getClearBass(); - this->_uiDsee = this->_headphones.getDsee(); - - this->_uiAutoPowerOff = this->_headphones.getAutoPowerOff(); - this->_uiSpeakToChat = this->_headphones.getSpeakToChat(); - this->_uiAdaptiveVolume = this->_headphones.getAdaptiveVolume(); -} - -std::string CrossPlatformGUI::_resourceBase() -{ -#if defined(_WIN32) - char buf[MAX_PATH]; - DWORD n = GetModuleFileNameA(NULL, buf, MAX_PATH); - std::string p(buf, n > 0 ? n : 0); - auto s = p.find_last_of("\\/"); - return s == std::string::npos ? std::string(".") : p.substr(0, s); -#elif defined(__linux__) - char buf[4096]; - ssize_t n = readlink("/proc/self/exe", buf, sizeof(buf) - 1); - if (n <= 0) return "."; - buf[n] = '\0'; - std::string p(buf); - auto s = p.find_last_of('/'); - return s == std::string::npos ? std::string(".") : p.substr(0, s); -#else - return "."; -#endif -} - -const CrossPlatformGUI::DeviceTexture& CrossPlatformGUI::_deviceTexture(const std::string& name) -{ - std::string slug = name; - std::transform(slug.begin(), slug.end(), slug.begin(), [](unsigned char ch) { return (char)std::tolower(ch); }); - std::replace(slug.begin(), slug.end(), ' ', '-'); - - auto it = this->_deviceTextures.find(slug); - if (it != this->_deviceTextures.end()) - return it->second; - - DeviceTexture out; // ok == false by default; cached even on failure so we don't retry every frame. - - const std::string base = this->_resourceBase(); - const std::string candidates[] = { - base + "/resources/devices/" + slug + ".png", - base + "/" + slug + ".png", - "resources/devices/" + slug + ".png", - }; - - int w = 0, h = 0, comp = 0; - unsigned char* pixels = nullptr; - for (const auto& path : candidates) - { - pixels = stbi_load(path.c_str(), &w, &h, &comp, 4); - if (pixels) break; - } - - if (pixels && w > 0 && h > 0) - { - ImTextureData* tex = IM_NEW(ImTextureData)(); - tex->Create(ImTextureFormat_RGBA32, w, h); - memcpy(tex->GetPixels(), pixels, (size_t)w * h * 4); - tex->SetStatus(ImTextureStatus_WantCreate); - ImGui::GetPlatformIO().Textures.push_back(tex); - - out.ref = tex->GetTexRef(); - out.w = w; - out.h = h; - out.ok = true; - } - if (pixels) - stbi_image_free(pixels); - - auto res = this->_deviceTextures.emplace(slug, out); - return res.first->second; -} - -void CrossPlatformGUI::_drawStatusHeader() -{ - if (!this->_beginCard("##status")) { this->_endCard(); return; } - - const DeviceTexture& hero = this->_deviceTexture(this->_connectedDevice.name); - if (hero.ok) - { - const float cardW = ImGui::GetContentRegionAvail().x; - const float maxH = 150.f; - float scale = std::min(cardW / (float)hero.w, maxH / (float)hero.h); - if (scale > 1.f) scale = 1.f; - const ImVec2 sz(hero.w * scale, hero.h * scale); - const float offx = (cardW - sz.x) * 0.5f; - if (offx > 0.f) - ImGui::SetCursorPosX(ImGui::GetCursorPosX() + offx); - ImGui::Image(hero.ref, sz); - ImGui::Spacing(); - } - - ImGui::Text("%s", this->_connectedDevice.name.empty() ? "Sony Headphones" : this->_connectedDevice.name.c_str()); - ImGui::SameLine(); - ImGui::TextDisabled("(%s)", this->_isV2() ? "v2" : "v1"); - - if (this->_headphones.hasDualBattery()) - { - ImGui::Text("Battery L %d%% R %d%%", this->_headphones.getBatteryLeft(), this->_headphones.getBatteryRight()); - if (this->_headphones.getBatteryCase() >= 0) - ImGui::Text("Case %d%%", this->_headphones.getBatteryCase()); - } - else - { - int batt = this->_headphones.getBatteryLevel(); - if (batt >= 0) - ImGui::Text("Battery %d%%%s", batt, this->_headphones.isBatteryCharging() ? " (charging)" : ""); - } - - if (this->_headphones.hasCodec()) - ImGui::Text("Codec %s", this->_headphones.getCodec().c_str()); - if (this->_headphones.hasFirmware()) - ImGui::TextDisabled("Firmware %s", this->_headphones.getFirmware().c_str()); - - this->_endCard(); -} - -void CrossPlatformGUI::_drawASMControls() -{ - if (!this->_beginCard("##asm")) { this->_endCard(); return; } - this->_cardTitle("Ambient Sound"); - - const char* modes[] = { "Off", "Noise Cancelling", "Ambient" }; - const float widths[] = { 110.f, 150.f, 120.f }; - for (int i = 0; i < 3; ++i) - { - if (i) ImGui::SameLine(); - bool sel = this->_uiAsmMode == i; - if (sel) ImGui::PushStyleColor(ImGuiCol_Button, ImGui::GetStyle().Colors[ImGuiCol_ButtonActive]); - if (ImGui::Button(modes[i], ImVec2(widths[i], 0))) - this->_uiAsmMode = i; - if (sel) ImGui::PopStyleColor(); - } - - if (this->_uiAsmMode == 2) - { - int maxLevel = this->_isV2() ? 20 : 19; - if (this->_uiAsmLevel < 1) this->_uiAsmLevel = 1; - if (this->_uiAsmLevel > maxLevel) this->_uiAsmLevel = maxLevel; - ImGui::Spacing(); - ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - ImGui::SliderInt("##asmlevel", &this->_uiAsmLevel, 1, maxLevel, "Level %d"); - if (this->_headphones.isFocusOnVoiceAvailable()) - ImGui::Checkbox("Focus on Voice", &this->_uiFocusOnVoice); - } - - // Map UI intent onto the desired state (mirrors the macOS applyMode); setChanges() sends only the diff. - switch (this->_uiAsmMode) - { - case 0: - this->_headphones.setAmbientSoundControl(false); - break; - case 1: - this->_headphones.setAmbientSoundControl(true); - this->_headphones.setAsmLevel(0); - this->_headphones.setFocusOnVoice(false); - break; - case 2: - this->_headphones.setAmbientSoundControl(true); - this->_headphones.setAsmLevel(this->_uiAsmLevel < 1 ? 1 : this->_uiAsmLevel); - this->_headphones.setFocusOnVoice(this->_uiFocusOnVoice); - break; - } - - this->_endCard(); -} - -void CrossPlatformGUI::_drawEqualizer() -{ - if (!this->_beginCard("##eq")) { this->_endCard(); return; } - this->_cardTitle("Equalizer"); - - static const struct { const char* name; int val; } presets[] = { - { "Off", 0x00 }, { "Bright", 0x10 }, { "Excited", 0x11 }, { "Mellow", 0x12 }, { "Relaxed", 0x13 }, - { "Vocal", 0x14 }, { "Treble", 0x15 }, { "Bass", 0x16 }, { "Speech", 0x17 }, { "Manual", 0xA0 } - }; - - const float spacing = ImGui::GetStyle().ItemSpacing.x; - const float cellW = (ImGui::GetContentRegionAvail().x - spacing * 4.f) / 5.f; - for (int i = 0; i < 10; ++i) - { - if (i % 5) ImGui::SameLine(); - bool sel = this->_uiEqPreset == presets[i].val; - if (sel) ImGui::PushStyleColor(ImGuiCol_Button, ImGui::GetStyle().Colors[ImGuiCol_ButtonActive]); - if (ImGui::Button(presets[i].name, ImVec2(cellW, 0))) - { - this->_uiEqPreset = presets[i].val; - int p = presets[i].val; - this->_sendFeatureCommand([this, p]() { this->_headphones.setEqualizerPreset((EQ_PRESET)p); }); - } - if (sel) ImGui::PopStyleColor(); - } - - if (this->_uiEqPreset == 0xA0) - { - ImGui::Spacing(); - const char* bandNames[] = { "Clear Bass", "400", "1k", "2.5k", "6.3k", "16k" }; - int* values[] = { &this->_uiClearBass, &this->_uiEqBands[0], &this->_uiEqBands[1], - &this->_uiEqBands[2], &this->_uiEqBands[3], &this->_uiEqBands[4] }; - bool changed = false; - for (int i = 0; i < 6; ++i) - { - std::string id = "##eqband" + std::to_string(i); - std::string fmt = std::string(bandNames[i]) + " %d"; - ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - if (ImGui::SliderInt(id.c_str(), values[i], 0, 10, fmt.c_str())) - changed = true; - } - if (changed) - { - std::vector bands(this->_uiEqBands.begin(), this->_uiEqBands.end()); - int cb = this->_uiClearBass; - this->_sendFeatureCommand([this, cb, bands]() { this->_headphones.setEqualizerCustom(cb, bands); }); - } - } - - this->_endCard(); -} - -void CrossPlatformGUI::_drawDsee() -{ - if (!this->_beginCard("##dsee")) { this->_endCard(); return; } - this->_cardTitle("DSEE Upscaling"); - - if (ImGui::Checkbox("Enable DSEE", &this->_uiDsee)) - { - bool v = this->_uiDsee; - this->_sendFeatureCommand([this, v]() { this->_headphones.setDsee(v); }); - } - - this->_endCard(); -} - -void CrossPlatformGUI::_drawOptionalFeatures() -{ - const bool any = this->_headphones.hasAutoPowerOff() || this->_headphones.hasSpeakToChat() || - this->_headphones.hasAdaptiveVolume(); - if (!any) - return; - - if (!this->_beginCard("##features")) { this->_endCard(); return; } - this->_cardTitle("Features"); - - if (this->_headphones.hasAutoPowerOff()) - { - ImGui::TextUnformatted("Auto Power-Off"); - ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - if (ImGui::Combo("##apo", &this->_uiAutoPowerOff, - "Off\0After 5 min\0After 30 min\0After 1 hour\0After 3 hours\0When taken off\0\0")) - { - int idx = this->_uiAutoPowerOff; - this->_sendFeatureCommand([this, idx]() { this->_headphones.setAutoPowerOff(idx); }); - } - } - - if (this->_headphones.hasSpeakToChat()) - { - if (ImGui::Checkbox("Speak-to-Chat", &this->_uiSpeakToChat)) - { - bool v = this->_uiSpeakToChat; - this->_sendFeatureCommand([this, v]() { this->_headphones.setSpeakToChat(v); }); - } - } - - if (this->_headphones.hasAdaptiveVolume()) - { - if (ImGui::Checkbox("Adaptive Volume Control", &this->_uiAdaptiveVolume)) - { - bool v = this->_uiAdaptiveVolume; - this->_sendFeatureCommand([this, v]() { this->_headphones.setAdaptiveVolume(v); }); - } - } - - this->_endCard(); -} - -void CrossPlatformGUI::_drawSurroundControls() -{ - if (!this->_beginCard("##vpt")) { this->_endCard(); return; } - this->_cardTitle("Virtual Sound"); - - ImGui::TextDisabled("Only one may be used at a time"); - - ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - if (ImGui::Combo("##pos", &this->_uiSoundPosition, - "Off\0Front Left\0Front Right\0Front\0Rear Left\0Rear Right\0\0")) - this->_uiVptType = 0; - - ImGui::SetNextItemWidth(ImGui::GetContentRegionAvail().x); - if (ImGui::Combo("##vpt", &this->_uiVptType, - "Off\0Outdoor Festival\0Arena\0Concert Hall\0Club\0\0")) - this->_uiSoundPosition = 0; - - this->_headphones.setSurroundPosition(SOUND_POSITION_PRESET_ARRAY[this->_uiSoundPosition]); - this->_headphones.setVptType(this->_uiVptType); - - this->_endCard(); -} - -void CrossPlatformGUI::_sendPendingASMChanges() -{ - if (this->_featureCommandFuture.valid() && this->_featureCommandFuture.ready()) - { - try { this->_featureCommandFuture.get(); } - catch (const RecoverableException& e) { if (e.shouldDisconnect) this->_bt.disconnect(); this->_mq.addMessage(e.what()); } - catch (const std::exception& e) { this->_mq.addMessage(e.what()); } - } - - if (this->_sendCommandFuture.valid() && this->_sendCommandFuture.ready()) - { - try - { - this->_sendCommandFuture.get(); - } - catch (const RecoverableException& exc) - { - std::string prefix; - if (exc.shouldDisconnect) - { - this->_bt.disconnect(); - prefix = "Disconnected due to: "; - } - this->_mq.addMessage(prefix + exc.what()); - } - catch (const std::exception& e) { this->_mq.addMessage(e.what()); } - } - else if (!this->_sendCommandFuture.valid() && this->_headphones.isChanged()) - { - this->_sendCommandFuture.setFromAsync([this]() { this->_headphones.setChanges(); }); - } -} - -bool CrossPlatformGUI::_beginCard(const char* id) -{ - return ImGui::BeginChild(id, ImVec2(0.f, 0.f), - ImGuiChildFlags_Borders | ImGuiChildFlags_AutoResizeY | ImGuiChildFlags_AlwaysUseWindowPadding); -} - -void CrossPlatformGUI::_endCard() -{ - ImGui::EndChild(); - ImGui::Spacing(); -} - -void CrossPlatformGUI::_cardTitle(const char* title) -{ - ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(0.55f, 0.63f, 0.72f, 1.0f)); - ImGui::TextUnformatted(title); - ImGui::PopStyleColor(); - ImGui::Spacing(); -} - -void CrossPlatformGUI::_applyTheme() -{ - ImGui::StyleColorsDark(); - ImGuiStyle& s = ImGui::GetStyle(); - - s.WindowRounding = 0.f; - s.ChildRounding = 10.f; - s.FrameRounding = 8.f; - s.GrabRounding = 8.f; - s.PopupRounding = 8.f; - s.ScrollbarRounding = 8.f; - s.WindowPadding = ImVec2(16, 16); - s.FramePadding = ImVec2(12, 7); - s.ItemSpacing = ImVec2(10, 10); - s.ItemInnerSpacing = ImVec2(8, 6); - s.ChildBorderSize = 1.f; - - const ImVec4 accent = ImVec4(0.26f, 0.55f, 0.96f, 1.00f); - const ImVec4 accentHi = ImVec4(0.36f, 0.63f, 1.00f, 1.00f); - - ImVec4* c = s.Colors; - c[ImGuiCol_WindowBg] = WINDOW_COLOR; - c[ImGuiCol_ChildBg] = ImVec4(0.13f, 0.13f, 0.15f, 1.00f); - c[ImGuiCol_PopupBg] = ImVec4(0.13f, 0.13f, 0.15f, 1.00f); - c[ImGuiCol_Border] = ImVec4(1.f, 1.f, 1.f, 0.06f); - c[ImGuiCol_FrameBg] = ImVec4(0.20f, 0.20f, 0.23f, 1.00f); - c[ImGuiCol_FrameBgHovered] = ImVec4(0.25f, 0.25f, 0.29f, 1.00f); - c[ImGuiCol_FrameBgActive] = ImVec4(0.28f, 0.28f, 0.32f, 1.00f); - c[ImGuiCol_Text] = ImVec4(0.94f, 0.94f, 0.96f, 1.00f); - c[ImGuiCol_TextDisabled] = ImVec4(0.50f, 0.50f, 0.56f, 1.00f); - c[ImGuiCol_Button] = ImVec4(0.22f, 0.22f, 0.26f, 1.00f); - c[ImGuiCol_ButtonHovered] = ImVec4(0.28f, 0.28f, 0.33f, 1.00f); - c[ImGuiCol_ButtonActive] = accent; - c[ImGuiCol_CheckMark] = accent; - c[ImGuiCol_SliderGrab] = accent; - c[ImGuiCol_SliderGrabActive] = accentHi; - c[ImGuiCol_Header] = ImVec4(0.22f, 0.22f, 0.26f, 1.00f); - c[ImGuiCol_HeaderHovered] = ImVec4(0.26f, 0.26f, 0.31f, 1.00f); - c[ImGuiCol_HeaderActive] = accent; - c[ImGuiCol_Separator] = ImVec4(1.f, 1.f, 1.f, 0.06f); - c[ImGuiCol_ScrollbarBg] = ImVec4(0.f, 0.f, 0.f, 0.f); -} - -CrossPlatformGUI::CrossPlatformGUI(BluetoothWrapper bt) : _bt(std::move(bt)), _headphones(_bt) -{ - this->_applyTheme(); - - ImGuiIO& io = ImGui::GetIO(); - this->_mq = TimedMessageQueue(GUI_MAX_MESSAGES); - this->_connectedDevicesFuture.setFromAsync([this]() { return this->_bt.getConnectedDevices(); }); - - io.IniFilename = nullptr; - io.WantSaveIniSettings = false; - - //AddFontFromMemory will own the pointer, so there's no leak - char* fileData = new char[sizeof(CascadiaCodeTTF)]; - memcpy(fileData, CascadiaCodeTTF, sizeof(CascadiaCodeTTF)); - ImFont* font = io.Fonts->AddFontFromMemoryTTF(reinterpret_cast(fileData), sizeof(CascadiaCodeTTF), FONT_SIZE); - IM_ASSERT(font != NULL); -} diff --git a/Client/CrossPlatformGUI.h b/Client/CrossPlatformGUI.h deleted file mode 100644 index f396939..0000000 --- a/Client/CrossPlatformGUI.h +++ /dev/null @@ -1,109 +0,0 @@ -#pragma once - -#include "imgui/imgui.h" -#include "Constants.h" -#include "IBluetoothConnector.h" -#include "BluetoothWrapper.h" -#include "CommandSerializer.h" -#include "Exceptions.h" -#include "TimedMessageQueue.h" -#include "SingleInstanceFuture.h" -#include "CascadiaCodeFont.h" -#include "Headphones.h" - -#include -#include -#include -#include - -constexpr auto GUI_MAX_MESSAGES = 5; -constexpr auto GUI_HEIGHT = 660; -constexpr auto GUI_WIDTH = 460; -constexpr auto FPS = 60; -constexpr auto MS_PER_FRAME = 1000 / FPS; -constexpr auto FONT_SIZE = 16.0f; -const auto WINDOW_COLOR = ImVec4(0.09f, 0.09f, 0.11f, 1.00f); - -// Physical-button changes (ASM) are polled roughly every two seconds so the app stays in sync. -constexpr auto DYNAMIC_POLL_FRAMES = FPS * 2; - -class CrossPlatformGUI -{ -public: - CrossPlatformGUI(BluetoothWrapper bt); - - //Run the GUI code once. This function should be called from a loop from one of the GUI impls (Windows, OSX, Linux...) - //O: true if the user wants to close the window - bool performGUIPass(); -private: - void _applyTheme(); - - void _drawErrors(); - void _drawDeviceDiscovery(); - void _drawStatusHeader(); - void _drawASMControls(); - void _drawEqualizer(); - void _drawDsee(); - void _drawOptionalFeatures(); - void _drawSurroundControls(); - - // Connection lifecycle: read device state after connect, then poll button-changeable state. - void _pumpConnectionState(); - void _syncUIFromHeadphones(); - void _sendPendingASMChanges(); - // Fire an immediate-setter feature command (EQ/DSEE/auto-power-off/…) on the worker future if it's idle. - template void _sendFeatureCommand(F&& fn); - - bool _beginCard(const char* id); - void _endCard(); - void _cardTitle(const char* title); - - // Device hero image (loaded from resources/devices/.png, uploaded via ImGui's 1.92 texture API). - struct DeviceTexture { ImTextureRef ref; int w = 0; int h = 0; bool ok = false; }; - const DeviceTexture& _deviceTexture(const std::string& name); - std::string _resourceBase(); - - bool _isV2() { return _bt.getProtocolVersion() == SonyProtocolVersion::V2; } - - BluetoothDevice _connectedDevice; - BluetoothWrapper _bt; - SingleInstanceFuture> _connectedDevicesFuture; - SingleInstanceFuture _sendCommandFuture; - SingleInstanceFuture _featureCommandFuture; - SingleInstanceFuture _refreshFuture; - SingleInstanceFuture _probeFuture; - SingleInstanceFuture _pollFuture; - SingleInstanceFuture _connectFuture; - TimedMessageQueue _mq; - Headphones _headphones; - - bool _initialized = false; - bool _synced = false; - bool _probed = false; - int _pollCounter = 0; - - // UI state, synced from the device once after connect; user edits are pushed back to the headphones. - bool _uiAsmOn = false; - int _uiAsmMode = 0; // 0 = Off, 1 = Noise Cancelling, 2 = Ambient Sound - int _uiAsmLevel = 0; - bool _uiFocusOnVoice = false; - int _uiEqPreset = 0; - std::array _uiEqBands = { 0, 0, 0, 0, 0 }; - int _uiClearBass = 0; - bool _uiDsee = false; - int _uiAutoPowerOff = 0; - bool _uiSpeakToChat = false; - bool _uiAdaptiveVolume = false; - int _uiSoundPosition = 0; - int _uiVptType = 0; - - std::map _deviceTextures; -}; - -template -void CrossPlatformGUI::_sendFeatureCommand(F&& fn) -{ - if (_featureCommandFuture.valid()) - return; - _featureCommandFuture.setFromAsync(std::forward(fn)); -} diff --git a/Client/Fonts/CascadiaCode.ttf b/Client/Fonts/CascadiaCode.ttf deleted file mode 100644 index a271f0dd509bbe785f57d9108ca1d7bfa303a1fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358448 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

?wrkID3+9!8T0+CBbW2NU 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 !+ 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

)5B?$6T^XsKp6L%>!bBQ+0xM5=; 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 diff --git a/Client/Fonts/FontLicense.txt b/Client/Fonts/FontLicense.txt deleted file mode 100644 index 40f856f..0000000 --- a/Client/Fonts/FontLicense.txt +++ /dev/null @@ -1,94 +0,0 @@ -Copyright (c) 2019 - Present, Microsoft Corporation, -with Reserved Font Name Cascadia Code. - -This Font Software is licensed under the SIL Open Font License, Version 1.1. -This license is copied below, and is also available with a FAQ at: -http://scripts.sil.org/OFL - - ------------------------------------------------------------ -SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ------------------------------------------------------------ - -PREAMBLE -The goals of the Open Font License (OFL) are to stimulate worldwide -development of collaborative font projects, to support the font creation -efforts of academic and linguistic communities, and to provide a free and -open framework in which fonts may be shared and improved in partnership -with others. - -The OFL allows the licensed fonts to be used, studied, modified and -redistributed freely as long as they are not sold by themselves. The -fonts, including any derivative works, can be bundled, embedded, -redistributed and/or sold with any software provided that any reserved -names are not used by derivative works. The fonts and derivatives, -however, cannot be released under any other type of license. The -requirement for fonts to remain under this license does not apply -to any document created using the fonts or their derivatives. - -DEFINITIONS -"Font Software" refers to the set of files released by the Copyright -Holder(s) under this license and clearly marked as such. This may -include source files, build scripts and documentation. - -"Reserved Font Name" refers to any names specified as such after the -copyright statement(s). - -"Original Version" refers to the collection of Font Software components as -distributed by the Copyright Holder(s). - -"Modified Version" refers to any derivative made by adding to, deleting, -or substituting -- in part or in whole -- any of the components of the -Original Version, by changing formats or by porting the Font Software to a -new environment. - -"Author" refers to any designer, engineer, programmer, technical -writer or other person who contributed to the Font Software. - -PERMISSION & CONDITIONS -Permission is hereby granted, free of charge, to any person obtaining -a copy of the Font Software, to use, study, copy, merge, embed, modify, -redistribute, and sell modified and unmodified copies of the Font -Software, subject to the following conditions: - -1) Neither the Font Software nor any of its individual components, -in Original or Modified Versions, may be sold by itself. - -2) Original or Modified Versions of the Font Software may be bundled, -redistributed and/or sold with any software, provided that each copy -contains the above copyright notice and this license. These can be -included either as stand-alone text files, human-readable headers or -in the appropriate machine-readable metadata fields within text or -binary files as long as those fields can be easily viewed by the user. - -3) No Modified Version of the Font Software may use the Reserved Font -Name(s) unless explicit written permission is granted by the corresponding -Copyright Holder. This restriction only applies to the primary font name as -presented to the users. - -4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font -Software shall not be used to promote, endorse or advertise any -Modified Version, except to acknowledge the contribution(s) of the -Copyright Holder(s) and the Author(s) or with their explicit written -permission. - -5) The Font Software, modified or unmodified, in part or in whole, -must be distributed entirely under this license, and must not be -distributed under any other license. The requirement for fonts to -remain under this license does not apply to any document created -using the Font Software. - -TERMINATION -This license becomes null and void if any of the above conditions are -not met. - -DISCLAIMER -THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT -OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE -COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL -DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM -OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/Client/Fonts/encodeFont.py b/Client/Fonts/encodeFont.py deleted file mode 100644 index 29f6d02..0000000 --- a/Client/Fonts/encodeFont.py +++ /dev/null @@ -1,20 +0,0 @@ -font = "unsigned char CascadiaCodeTTF[{}] = {{{}}};" -fontDecl = "extern unsigned char CascadiaCodeTTF[{}];" - -with open("./CascadiaCode.ttf", "rb") as f: - fbytes = f.read() - -font = font.format(len(fbytes), ",".join(map(lambda x: f"{x}", fbytes))) - -with open("../CascadiaCodeFont.cpp", "w") as f: - f.write('#include "CascadiaCodeFont.h"\n\n') - f.write("/*\n") - with open("FontLicense.txt", "r") as h: - f.write(h.read()) - f.write("*/\n\n") - f.write(font) - -with open("../CascadiaCodeFont.h", "w") as f: - f.write("#pragma once\n\n") - f.write("//Generated by Fonts/encodeFont.py\n//This is crossplatform and works well, although it is a bit weird.\n\n") - f.write(fontDecl.format(len(fbytes))) \ No newline at end of file diff --git a/Client/Headphones.h b/Client/Headphones.h index 6197d56..be3fa52 100644 --- a/Client/Headphones.h +++ b/Client/Headphones.h @@ -1,4 +1,3 @@ -#include "SingleInstanceFuture.h" #include "BluetoothWrapper.h" #include "Constants.h" diff --git a/Client/IBluetoothConnector.h b/Client/IBluetoothConnector.h index 54678d7..aa841c0 100644 --- a/Client/IBluetoothConnector.h +++ b/Client/IBluetoothConnector.h @@ -18,7 +18,7 @@ struct BluetoothDevice }; /* -General notes: Please look at the implementation of WindowsBluetoothConnector. +General notes: Please look at the implementation of MacOSBluetoothConnector. * Functions should throw RecoverableExceptions if they're indeed recoverable, and throw std::runtime_error otherwise. * RecoverableException can force a disconnection of the socket with an additional param (a call to disconnect()). * connect() should try the v1 service UUID (SONY_UUID) first and fall back to the v2 UUID (SONY_UUID_V2) diff --git a/Client/SingleInstanceFuture.h b/Client/SingleInstanceFuture.h deleted file mode 100644 index d2e6c49..0000000 --- a/Client/SingleInstanceFuture.h +++ /dev/null @@ -1,54 +0,0 @@ -#pragma once - -#include -#include -#include -#include - - -//A simple future wrapper class. Allows only a single instance to be active at any single time; particularly useful for GUI operations where we don't want -//to send the same commands or repeat operations before they completed. Also wraps std::async nicely with setFromAsync -template -class SingleInstanceFuture : public std::future -{ -public: - SingleInstanceFuture(void) = default; - template - void setFromAsync(Func func, Args&&... args) noexcept(false); - bool ready(); - -private: - SingleInstanceFuture(std::future other); - SingleInstanceFuture operator=(std::future& other); -}; - -template -template -inline void SingleInstanceFuture::setFromAsync(Func func, Args && ...args) -{ - if (this->valid()) - { - throw std::runtime_error("The asynchronous action was cancelled before it finished executing"); - } - *this = std::async(std::launch::async, func, std::forward(args)...); -} - -template -inline bool SingleInstanceFuture::ready() -{ - if (!this->valid()) - { - return false; - } - return this->wait_for(std::chrono::seconds(0)) == std::future_status::ready; -} - - -template -inline SingleInstanceFuture::SingleInstanceFuture(std::future other) : std::future(std::move(other)) {} - -template -inline SingleInstanceFuture SingleInstanceFuture::operator=(std::future& other) -{ - return std::future::operator=(other); -} diff --git a/Client/TimedMessageQueue.cpp b/Client/TimedMessageQueue.cpp deleted file mode 100644 index 09fecfe..0000000 --- a/Client/TimedMessageQueue.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include "TimedMessageQueue.h" - -TimedMessageQueue::TimedMessageQueue(unsigned int maxMessages, unsigned long long durationMs) -{ - this->_maxMessages = maxMessages; - this->_durationMs = durationMs; -} - -void TimedMessageQueue::addMessage(std::string message) -{ - if (this->_messages.size() == this->_maxMessages) - { - this->_messages.pop_front(); - } - - this->_messages.emplace_back(std::move(message), Clock::now() + std::chrono::milliseconds(this->_durationMs)); -} - -std::deque::const_iterator TimedMessageQueue::begin() -{ - while (this->_messages.size() > 0) - { - if (this->_messages.front()._releaseTime < Clock::now()) - { - this->_messages.pop_front(); - } - else - { - //break if we reached a non-stale message, to improve perf - break; - } - } - - return this->_messages.cbegin(); -} - -std::deque::const_iterator TimedMessageQueue::end() const -{ - return this->_messages.cend(); -} diff --git a/Client/TimedMessageQueue.h b/Client/TimedMessageQueue.h deleted file mode 100644 index 6aac499..0000000 --- a/Client/TimedMessageQueue.h +++ /dev/null @@ -1,48 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - -using LargeCounter = unsigned long long; -using Clock = std::chrono::system_clock; -using TimePoint = std::chrono::time_point; - -auto constexpr DEFAULT_MAX_MESSAGES = 13371337; -constexpr auto DEFAULT_ERROR_MESSAGE_MS = 10000; - -struct Message -{ -public: - Message(std::string message, TimePoint releaseTime) - { - this->message = std::move(message); - this->_releaseTime = releaseTime; - } - - friend class TimedMessageQueue; - - std::string message; -private: - TimePoint _releaseTime; -}; - -class TimedMessageQueue -{ -public: - TimedMessageQueue(unsigned int maxMessages = DEFAULT_MAX_MESSAGES, unsigned long long durationMs = DEFAULT_ERROR_MESSAGE_MS); - - //I: A message, and the length of time it should remain available - void addMessage(std::string message); - - //The iteators returned are guaranteed to stay valid only until the next `begin()` or `addMessage` call. - std::deque::const_iterator begin(); - std::deque::const_iterator end() const; -private: - std::deque _messages; - unsigned int _maxMessages = DEFAULT_MAX_MESSAGES; - unsigned long long _durationMs; -}; \ No newline at end of file diff --git a/Client/imgui b/Client/imgui deleted file mode 160000 index b62bfd6..0000000 --- a/Client/imgui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b62bfd6b06de958e4630b715225b7e8409bfd0f9 diff --git a/Client/linux/DBusHelper.cpp b/Client/linux/DBusHelper.cpp deleted file mode 100644 index abbf7a2..0000000 --- a/Client/linux/DBusHelper.cpp +++ /dev/null @@ -1,335 +0,0 @@ -#include "DBusHelper.h" -#include "../Exceptions.h" -#include -#include -#include - -DBusConnection *dbus_open_system_bus(void) -{ - DBusError error; - DBusConnection *connection = NULL; - - dbus_error_init(&error); - - connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); - - if (dbus_error_is_set(&error)) - { - printf("Could not get system bus\nError: %s\n", error.message); - dbus_error_free(&error); - return NULL; - } - - return connection; -} - -dbus_bool_t open_dict_read(DBusMessageIter *const iter, DBusMessageIter *const iter_dict) -{ - if (NULL == iter || NULL == iter_dict) - { - return FALSE; - } - - if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) - { - return FALSE; - } - - if (dbus_message_iter_get_element_type(iter) != DBUS_TYPE_DICT_ENTRY) - { - return FALSE; - } - - dbus_message_iter_recurse(iter, iter_dict); - return TRUE; -} - -dbus_bool_t read_next_object_path_entry(DBusMessageIter *const iter_object_paths, char **const object_path, DBusMessageIter *const iter_interfaces) -{ - DBusMessageIter iter_dict_entry; - - if (!iter_object_paths || !iter_interfaces) - { - goto error; - } - - if (dbus_message_iter_get_arg_type(iter_object_paths) != DBUS_TYPE_DICT_ENTRY) - { - goto error; - } - - dbus_message_iter_recurse(iter_object_paths, &iter_dict_entry); - - if (dbus_message_iter_get_arg_type(&iter_dict_entry) != DBUS_TYPE_OBJECT_PATH) - { - printf("Error: Unexpected arg type for object path\n"); - goto error; - } - - dbus_message_iter_get_basic(&iter_dict_entry, object_path); - - dbus_message_iter_next(&iter_dict_entry); - - if (FALSE == open_dict_read(&iter_dict_entry, iter_interfaces)) - { - goto error; - } - - dbus_message_iter_next(iter_object_paths); - - return TRUE; - -error: - return FALSE; -} - -dbus_bool_t read_next_interface_entry(DBusMessageIter *const interface_dict, char **const interface) -{ - DBusMessageIter iter_dict_entry; - - if (!interface_dict) - { - goto error; - } - - if (dbus_message_iter_get_arg_type(interface_dict) != DBUS_TYPE_DICT_ENTRY) - { - goto error; - } - - dbus_message_iter_recurse(interface_dict, &iter_dict_entry); - - if (dbus_message_iter_get_arg_type(&iter_dict_entry) != DBUS_TYPE_STRING) - { - printf("Error: Unexpected arg type for interface\n"); - goto error; - } - - dbus_message_iter_get_basic(&iter_dict_entry, interface); - - dbus_message_iter_next(interface_dict); - - return TRUE; - -error: - return FALSE; -} - -std::vector dbus_list_adapters(DBusConnection *const connection) -{ - - std::vector ret; - - DBusError error; - DBusMessage *msg = NULL; - DBusMessage *rsp = NULL; - DBusMessageIter args; - DBusMessageIter subargs; - DBusMessageIter interface_iter; - char *object_path = NULL; - char *interface = NULL; - char const *const device_interface = "org.bluez.Device1"; - - dbus_error_init(&error); - - msg = dbus_message_new_method_call("org.bluez", - "/", - "org.freedesktop.DBus.ObjectManager", - "GetManagedObjects"); - if (NULL == msg) - { - printf("Error: Could not obtain method call\n"); - goto clean_up; - } - - /* No arguments */ - - /* Invoke the method */ - rsp = dbus_connection_send_with_reply_and_block(connection, - msg, - DBUS_TIMEOUT_USE_DEFAULT, - &error); - if (dbus_error_is_set(&error)) - { - printf("Could not send dbus message\nError: %s\n", error.message); - dbus_error_free(&error); - goto clean_up; - } - - if (NULL == rsp) - { - printf("Error: Response was NULL\n"); - goto clean_up; - } - - if (!dbus_message_iter_init(rsp, &args)) - { - printf("Error: RCould not start message iterator on response\n"); - goto clean_up; - } - - if (!open_dict_read(&args, &subargs)) - { - printf("Error: Could not start dict read\n"); - goto clean_up; - } - - while (FALSE != read_next_object_path_entry(&subargs, &object_path, &interface_iter)) - { - /* dbus_bool_t found = FALSE; */ - while (FALSE != read_next_interface_entry(&interface_iter, &interface)) - { - if (strcmp(device_interface, interface) == 0) - { - ret.push_back(object_path); - } - } - } - -clean_up: - if (NULL != rsp) - { - dbus_message_unref(rsp); - } - - if (NULL != msg) - { - dbus_message_unref(msg); - } - return ret; -} - -std::string dbus_get_property(DBusConnection *const connection, const char *device_path, const char *property) -{ - - std::string ret; - - DBusError error; - DBusMessage *msg = NULL; - DBusMessage *rsp = NULL; - DBusMessageIter args; - DBusMessageIter subargs; - char *interface = NULL; - char const *const device_interface = "org.bluez.Device1"; - - dbus_error_init(&error); - - msg = dbus_message_new_method_call("org.bluez", - device_path, - "org.freedesktop.DBus.Properties", - "Get"); - if (NULL == msg) - { - printf("Error: Could not obtain method call\n"); - goto clean_up; - } - - /* arguments */ - dbus_message_append_args(msg, - DBUS_TYPE_STRING, &device_interface, - DBUS_TYPE_INVALID); - - dbus_message_append_args(msg, - DBUS_TYPE_STRING, &property, - DBUS_TYPE_INVALID); - - /* Invoke the method */ - rsp = dbus_connection_send_with_reply_and_block(connection, - msg, - DBUS_TIMEOUT_USE_DEFAULT, - &error); - if (dbus_error_is_set(&error)) - { - printf("Could not send dbus message\nError: %s\n", error.message); - dbus_error_free(&error); - goto clean_up; - } - - if (NULL == rsp) - { - printf("Error: Response was NULL\n"); - goto clean_up; - } - - if (!dbus_message_iter_init(rsp, &args)) - { - printf("Error: Could not start message iterator on response\n"); - goto clean_up; - } - - dbus_message_iter_recurse(&args, &subargs); - - dbus_message_iter_get_basic(&subargs, &interface); - ret = std::string(interface); - -clean_up: - if (NULL != rsp) - { - dbus_message_unref(rsp); - } - - if (NULL != msg) - { - dbus_message_unref(msg); - } - - return ret; -} - -uint8_t sdp_getServiceChannel(const char *dev_addr, uint8_t *uuid128) -{ - int status; - bdaddr_t target; - uuid_t svc_uuid; - sdp_list_t *response_list, *search_list, *attrid_list; - sdp_session_t *session = 0; - uint32_t range = 0x0000ffff; - uint8_t port = 0; - str2ba(dev_addr, &target); - /* connect to the SDP server running on the remote machine */ - const bdaddr_t bdaddr_any = {{0, 0, 0, 0, 0, 0}}; - session = sdp_connect(&bdaddr_any, &target, SDP_RETRY_IF_BUSY); - if (!session) { - throw RecoverableException("Error: could not connect to bluetooth spd server", true); -} - - sdp_uuid128_create(&svc_uuid, uuid128); - search_list = sdp_list_append(0, &svc_uuid); - attrid_list = sdp_list_append(0, &range); - // get a list of service records that have UUID 0xabcd - response_list = NULL; - status = sdp_service_search_attr_req(session, search_list, - SDP_ATTR_REQ_RANGE, attrid_list, &response_list); - if (status == 0) - { - sdp_list_t *proto_list = NULL; - sdp_list_t *r = response_list; - - // go through each of the service records - for (; r; r = r->next) - { - sdp_record_t *rec = (sdp_record_t *)r->data; - - // get a list of the protocol sequences - if (sdp_get_access_protos(rec, &proto_list) == 0) - { - // get the RFCOMM port number - port = sdp_get_proto_port(proto_list, RFCOMM_UUID); - - sdp_list_free(proto_list, 0); - } - sdp_record_free(rec); - } - } - sdp_list_free(response_list, 0); - sdp_list_free(search_list, 0); - sdp_list_free(attrid_list, 0); - sdp_close(session); - - if (port != 0) - { - printf("found service running on RFCOMM port %d\n", port); - } - - return port; -} \ No newline at end of file diff --git a/Client/linux/DBusHelper.h b/Client/linux/DBusHelper.h deleted file mode 100644 index 91af421..0000000 --- a/Client/linux/DBusHelper.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include -#include -#include -#include - -DBusConnection *dbus_open_system_bus(); -dbus_bool_t open_dict_read(DBusMessageIter *const iter, DBusMessageIter *const iter_dict); -dbus_bool_t read_next_object_path_entry(DBusMessageIter *const iter_object_paths, char **const object_path, DBusMessageIter *const iter_interfaces); -dbus_bool_t read_next_interface_entry(DBusMessageIter *const interface_dict, char **const interface); -std::vector dbus_list_adapters(DBusConnection *const connection); -std::string dbus_get_property(DBusConnection *const connection, const char *device_path, const char *property); - -uint8_t sdp_getServiceChannel(const char *dev_addr, uint8_t *uuid128); - diff --git a/Client/linux/FindDBus.cmake b/Client/linux/FindDBus.cmake deleted file mode 100644 index 4a1a180..0000000 --- a/Client/linux/FindDBus.cmake +++ /dev/null @@ -1,59 +0,0 @@ -# - Try to find DBus -# Once done, this will define -# -# DBUS_FOUND - system has DBus -# DBUS_INCLUDE_DIRS - the DBus include directories -# DBUS_LIBRARIES - link these to use DBus -# -# Copyright (C) 2012 Raphael Kubo da Costa -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS -# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS -# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -FIND_PACKAGE(PkgConfig) -PKG_CHECK_MODULES(PC_DBUS QUIET dbus-1) - -FIND_LIBRARY(DBUS_LIBRARIES - NAMES dbus-1 - HINTS ${PC_DBUS_LIBDIR} - ${PC_DBUS_LIBRARY_DIRS} -) - -FIND_PATH(DBUS_INCLUDE_DIR - NAMES dbus/dbus.h - HINTS ${PC_DBUS_INCLUDEDIR} - ${PC_DBUS_INCLUDE_DIRS} -) - -GET_FILENAME_COMPONENT(_DBUS_LIBRARY_DIR ${DBUS_LIBRARIES} PATH) -FIND_PATH(DBUS_ARCH_INCLUDE_DIR - NAMES dbus/dbus-arch-deps.h - HINTS ${PC_DBUS_INCLUDEDIR} - ${PC_DBUS_INCLUDE_DIRS} - ${_DBUS_LIBRARY_DIR} - ${DBUS_INCLUDE_DIR} - PATH_SUFFIXES include -) - -SET(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR}) - -INCLUDE(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBUS REQUIRED_VARS DBUS_INCLUDE_DIRS DBUS_LIBRARIES) diff --git a/Client/linux/LinuxBluetoothConnector.cpp b/Client/linux/LinuxBluetoothConnector.cpp deleted file mode 100644 index 3e0d19a..0000000 --- a/Client/linux/LinuxBluetoothConnector.cpp +++ /dev/null @@ -1,151 +0,0 @@ -#include "LinuxBluetoothConnector.h" - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "DBusHelper.h" - -LinuxBluetoothConnector::LinuxBluetoothConnector() -{ -} -LinuxBluetoothConnector::~LinuxBluetoothConnector() -{ - //onclose event - if (isConnected()) - { - disconnect(); - } -} - -int LinuxBluetoothConnector::recv(char *buf, size_t length) -{ - ssize_t bytesRead = ::read(this->_socket, buf, length); - if (bytesRead < 0) - { - // A recv timeout (SO_RCVTIMEO) is expected while probing optional features: report it as recoverable - // WITHOUT forcing a disconnect so an unanswered GET just hides that feature instead of dropping the link. - if (errno == EAGAIN || errno == EWOULDBLOCK) - { - throw RecoverableException("recv timed out", false); - } - throw RecoverableException(std::string("Couldn't recv: ") + strerror(errno), true); - } - return (int)bytesRead; -} - -int LinuxBluetoothConnector::send(char *buf, size_t length) -{ - - size_t written = ::write(this->_socket, buf, length); - // printf("length: %ld, written: %ld\n", length, written); - // for (int i = 0; i < written; i++) - // { - // std::cout << std::setfill('0') << std::setw(2) << std::hex << (0xff & (unsigned int)buf[i]) << " "; - // } - // std::cout << '\n'; - return written; -} - -void LinuxBluetoothConnector::connect(const std::string &addrStr) -{ - - printf("connecting to %s\n", addrStr.c_str()); - struct sockaddr_rc addr = {0}; - int status; - const char *dest = addrStr.c_str(); - - // allocate a socket - this->_socket = ::socket(AF_BLUETOOTH, SOCK_STREAM, BTPROTO_RFCOMM); - - uint32_t linkmode = RFCOMM_LM_AUTH | RFCOMM_LM_ENCRYPT; - int sl = sizeof(linkmode); - setsockopt(this->_socket, SOL_RFCOMM, RFCOMM_LM, &linkmode, sl); - - // Bound recv so capability probing can't block forever (matches the 2.5s macOS timeout). - struct timeval recvTimeout = {2, 500000}; - setsockopt(this->_socket, SOL_SOCKET, SO_RCVTIMEO, &recvTimeout, sizeof(recvTimeout)); - - // set the connection parameters (who to connect to) - addr.rc_family = AF_BLUETOOTH; - // try the v1 service UUID first, then fall back to the v2 (newer-generation) UUID. - uint8_t channel = sdp_getServiceChannel(addrStr.c_str(), SERVICE_UUID_IN_BYTES); - this->_protocolVersion = SonyProtocolVersion::V1; - if (channel == 0) - { - channel = sdp_getServiceChannel(addrStr.c_str(), SERVICE_UUID_V2_IN_BYTES); - this->_protocolVersion = SonyProtocolVersion::V2; - } - if (channel == 0) - { - throw RecoverableException("Couldn't find the Sony service record on this device (neither protocol version) - is this a supported headset?", true); - } - printf("channel: %d\n", channel); - addr.rc_channel = channel; - str2ba(dest, &addr.rc_bdaddr); - - // connect to server - status = ::connect(this->_socket, (struct sockaddr *)&addr, sizeof(addr)); - - if (status < 0) - { - throw RecoverableException("Error: could not connect to bluetooth socket", true); - } - this->_connected = true; -} - -std::vector LinuxBluetoothConnector::getConnectedDevices() -{ - - std::vector res; - - DBusConnection *connection = dbus_open_system_bus(); - if (NULL == connection) - { - return res; - } - - std::vector adapter_paths = dbus_list_adapters(connection); - for (auto &adapter : adapter_paths) - { - printf("%s\n", adapter.c_str()); - std::string name = dbus_get_property(connection, adapter.c_str(), "Name"); - std::string address = dbus_get_property(connection, adapter.c_str(), "Address"); - res.push_back({.name = name, .mac = address}); - } - - return res; -} - -void LinuxBluetoothConnector::disconnect() noexcept -{ - // close connection - if (this->_socket != -1) - { - ::close(this->_socket); - } - this->_connected = false; - printf("closed\n"); -} - -bool LinuxBluetoothConnector::isConnected() noexcept -{ - return this->_connected; -} - -SonyProtocolVersion LinuxBluetoothConnector::getProtocolVersion() noexcept -{ - return this->_protocolVersion; -} diff --git a/Client/linux/LinuxBluetoothConnector.h b/Client/linux/LinuxBluetoothConnector.h deleted file mode 100644 index ae2e01b..0000000 --- a/Client/linux/LinuxBluetoothConnector.h +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once -#include -#include "../IBluetoothConnector.h" -#include "Constants.h" -#include - -class LinuxBluetoothConnector final : public IBluetoothConnector -{ -public: - LinuxBluetoothConnector(); - ~LinuxBluetoothConnector(); - virtual void connect(const std::string& addrStr) noexcept(false); - virtual int send(char* buf, size_t length) noexcept(false); - virtual int recv(char* buf, size_t length) noexcept(false); - virtual void disconnect() noexcept; - virtual bool isConnected() noexcept; - virtual std::vector getConnectedDevices() noexcept(false); - virtual SonyProtocolVersion getProtocolVersion() noexcept; - - -private: - int _socket = -1; - std::atomic _connected = false; - SonyProtocolVersion _protocolVersion = SonyProtocolVersion::V1; -}; \ No newline at end of file diff --git a/Client/linux/LinuxGUI.cpp b/Client/linux/LinuxGUI.cpp deleted file mode 100644 index 6da1590..0000000 --- a/Client/linux/LinuxGUI.cpp +++ /dev/null @@ -1,88 +0,0 @@ -#include "LinuxGUI.h" -#include "imgui.h" -#include "backends/imgui_impl_glfw.h" -#include "backends/imgui_impl_opengl3.h" -#include -#include -#include "Constants.h" -#include "TimedMessageQueue.h" -#include "CrossPlatformGUI.h" - -static void glfw_error_callback(int error, const char *description) -{ - fprintf(stderr, "Glfw Error %d: %s\n", error, description); -} - -void EnterGUIMainLoop(BluetoothWrapper bt) -{ - // Setup Dear ImGui binding - IMGUI_CHECKVERSION(); - ImGui::CreateContext(); - - // init GUI - CrossPlatformGUI GUI = CrossPlatformGUI(std::move(bt)); - - // Setup window - glfwSetErrorCallback(glfw_error_callback); - if (!glfwInit()) - return; - - const char *glsl_version = "#version 150"; - glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); - glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); - glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); - glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); - - // Create window with graphics context - GLFWwindow *window = glfwCreateWindow(GUI_WIDTH, GUI_HEIGHT, APP_NAME, NULL, NULL); - if (window == NULL) - return; - - glfwMakeContextCurrent(window); - glfwSwapInterval(1); // Enable vsync - - ImGuiIO &io = ImGui::GetIO(); - (void)io; - //io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls - //io.ConfigFlags |= ImGuiConfigFlags_NavEnableGamepad; // Enable Gamepad Controls - - // Setup Dear ImGui style - ImGui::StyleColorsDark(); - //ImGui::StyleColorsClassic(); - - // Setup Platform/Renderer backends - ImGui_ImplGlfw_InitForOpenGL(window, true); - ImGui_ImplOpenGL3_Init(glsl_version); - - ImVec4 clear_color = ImVec4(0.45f, 0.55f, 0.60f, 1.00f); - // Main loop - while (!glfwWindowShouldClose(window)) - { - - glfwPollEvents(); - - // Start the Dear ImGui frame - ImGui_ImplOpenGL3_NewFrame(); - ImGui_ImplGlfw_NewFrame(); - - // perform gui pass - GUI.performGUIPass(); - - int display_w, display_h; - glfwGetFramebufferSize(window, &display_w, &display_h); - glViewport(0, 0, display_w, display_h); - glClearColor(clear_color.x, clear_color.y, clear_color.z, clear_color.w); - glClear(GL_COLOR_BUFFER_BIT); - ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData()); - - glfwSwapBuffers(window); - } - - // Cleanup - ImGui_ImplOpenGL3_Shutdown(); - ImGui_ImplGlfw_Shutdown(); - ImGui::DestroyContext(); - - glfwDestroyWindow(window); - glfwTerminate(); -}; diff --git a/Client/linux/LinuxGUI.h b/Client/linux/LinuxGUI.h deleted file mode 100644 index de24869..0000000 --- a/Client/linux/LinuxGUI.h +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -#include "BluetoothWrapper.h" - -void EnterGUIMainLoop(BluetoothWrapper bt); \ No newline at end of file diff --git a/Client/linux/main.cpp b/Client/linux/main.cpp deleted file mode 100644 index 847a465..0000000 --- a/Client/linux/main.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include -#include "LinuxGUI.h" -#include "LinuxBluetoothConnector.h" -#include "BluetoothWrapper.h" - -int main(int argc, const char *argv[]) -{ - try - { - // Get bluetooth connector - std::unique_ptr connector = std::make_unique(); - // Wrap the connector using the bluetoothwrapper - BluetoothWrapper wrap(std::move(connector)); - // Start the gui - EnterGUIMainLoop(std::move(wrap)); - } - catch (const std::exception &e) - { - printf("%s", e.what()); - } - return 1; -} diff --git a/Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj b/Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj index 2ce1c62..ded4260 100644 --- a/Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj +++ b/Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj @@ -14,7 +14,6 @@ A8DC78EC2576923D00447738 /* MacOSBluetoothConnector.mm in Sources */ = {isa = PBXBuildFile; fileRef = A8DC78E82576923D00447738 /* MacOSBluetoothConnector.mm */; }; A8DC78F12576952E00447738 /* BluetoothWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8DC78EF2576952E00447738 /* BluetoothWrapper.cpp */; }; A8DC78F52576953600447738 /* CommandSerializer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8DC78F32576953600447738 /* CommandSerializer.cpp */; }; - A8DC78FA2576954100447738 /* TimedMessageQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8DC78F92576954100447738 /* TimedMessageQueue.cpp */; }; A8DC78FF2576967D00447738 /* ByteMagic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A8DC78FD2576967D00447738 /* ByteMagic.cpp */; }; A8DC790525769A6600447738 /* IOBluetooth.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A8DC790425769A6600447738 /* IOBluetooth.framework */; }; A8DC792C25769C9900447738 /* AppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = A8DC792825769C9900447738 /* AppDelegate.mm */; }; @@ -44,9 +43,6 @@ A8DC78F02576952E00447738 /* BluetoothWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BluetoothWrapper.h; path = ../BluetoothWrapper.h; sourceTree = ""; }; A8DC78F32576953600447738 /* CommandSerializer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CommandSerializer.cpp; path = ../CommandSerializer.cpp; sourceTree = ""; }; A8DC78F42576953600447738 /* CommandSerializer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CommandSerializer.h; path = ../CommandSerializer.h; sourceTree = ""; }; - A8DC78F72576954100447738 /* TimedMessageQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TimedMessageQueue.h; path = ../TimedMessageQueue.h; sourceTree = ""; }; - A8DC78F82576954100447738 /* SingleInstanceFuture.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SingleInstanceFuture.h; path = ../SingleInstanceFuture.h; sourceTree = ""; }; - A8DC78F92576954100447738 /* TimedMessageQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TimedMessageQueue.cpp; path = ../TimedMessageQueue.cpp; sourceTree = ""; }; A8DC78FD2576967D00447738 /* ByteMagic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ByteMagic.cpp; path = ../ByteMagic.cpp; sourceTree = ""; }; A8DC78FE2576967D00447738 /* ByteMagic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ByteMagic.h; path = ../ByteMagic.h; sourceTree = ""; }; A8DC790425769A6600447738 /* IOBluetooth.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOBluetooth.framework; path = System/Library/Frameworks/IOBluetooth.framework; sourceTree = SDKROOT; }; @@ -92,9 +88,6 @@ A8DC78F02576952E00447738 /* BluetoothWrapper.h */, A8DC78F32576953600447738 /* CommandSerializer.cpp */, A8DC78F42576953600447738 /* CommandSerializer.h */, - A8DC78F82576954100447738 /* SingleInstanceFuture.h */, - A8DC78F92576954100447738 /* TimedMessageQueue.cpp */, - A8DC78F72576954100447738 /* TimedMessageQueue.h */, A8DC78FD2576967D00447738 /* ByteMagic.cpp */, A8DC78FE2576967D00447738 /* ByteMagic.h */, A8A3D31D283EC38600148E80 /* Headphones.cpp */, @@ -196,7 +189,6 @@ A8DC78EC2576923D00447738 /* MacOSBluetoothConnector.mm in Sources */, A8DC792D25769C9900447738 /* ViewController.mm in Sources */, A8DC78F12576952E00447738 /* BluetoothWrapper.cpp in Sources */, - A8DC78FA2576954100447738 /* TimedMessageQueue.cpp in Sources */, A8DC78F52576953600447738 /* CommandSerializer.cpp in Sources */, A8DC78FF2576967D00447738 /* ByteMagic.cpp in Sources */, A8DC792C25769C9900447738 /* AppDelegate.mm in Sources */, diff --git a/Client/resources/devices/linkbuds-s.png b/Client/resources/devices/linkbuds-s.png deleted file mode 100644 index 89f98ed86e824ac4259a8f6e9964b11ad15de9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72807 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 z 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%0D)g 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 N`Z^}sRa*8D{{yd7`56EJ diff --git a/Client/resources/devices/mdr-xb950bt.png b/Client/resources/devices/mdr-xb950bt.png deleted file mode 100644 index 2362dacf7ecdb34b1142311f0977389f523fee05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107133 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

m|9z1&t@2oG+#uPvX!o}s1argAv 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%0Ae<;<^t%e$&D`4aM97w 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 oC--@Uw>g7I{>0&tG`{YB;7AfxeqWE}_< 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 Ukhem<6BBS58JOu;-FJ%nA5qa>R{#J2 diff --git a/Client/resources/devices/wf-1000xm4.png b/Client/resources/devices/wf-1000xm4.png deleted file mode 100644 index 418be7ef2e35106995515c8b55ca06423d659295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63054 zcmXV2byQXD)1^xq1f=5<0#ef5CEeZKdFd9AmKLR@yE~<%yBj1gDa|Fmg(jsoBCC`iCh^jcZ7VPJ0G%1Mf8cxRqG z+kPe029u-b7}!@IpOtM8dhpzmQOdf=PDqc(66k%uINx}mfA0&ieG}(>eqKF&wtw z&|tv#FI0Pb>63jxn|%-fgT2p-88Y(*Cdr4@O*wv-({OQKzEJJA1xJ(v zcl-XOcN+L~h0Fb9sdm^p+s7*Y;K70}`F+q``=;i(7sda-Ws^(}NsXZAaS9PyI2;}x zp5f@|D8qZqg4v@G1-e;dW`cJ6M!gE7>LK3v7`yKTGoFSso>?E|{_ra8@J_(Pgqjiw z!l&F1v7t-wpi4}1R%$R4ya^YlLWN<<%F1#V5)yi|9uV+pR{+c`a=T>C6a;mCJ;fh# z9eF-W{`clUpzZsGj&Fx3UhjwUj*gC$O_(Vs@<51-?@J9Jx{%|)Qxud0_SOwi$2N9f{ot-hK$_st` z`0*JC1Uzum5~Uh;HCp927lNDbqs>IIKVuKM!Wu3HM3~CbiK-3b(2gjwah{LMC+pv` zZ(fQUs^TkZY7XpPYItW)YM0N8w;Hg(iqa9Ge>h!lKNwu>`a9Oh8n_*!o_BV3e{tcm z`mW@^Y$I3kwdld^b+WXi^*>u{-2g&Crmn7T4*Umw5B^=q^W}n*UM{4B)1E?RL`ZN2 zvB#Qtpi9+j zn8pu}+Fkxs3)3Q3k1`aN#@^eA&$B1#|2v4;^;rq5G!*c87u0F<I>RXD1$vxZvbZbIcV|%LW-Zm|6j9Sv}42)kKEV+e<+#I-PvGv=VDq3i(W! z+=WKpMzzxY^60h=oC}3h5|TDwkIe}Pasqi4|HCKc4>#8hn)UzcY~`AATH;OG!9>rf%eU?qKTyNb- zR{Z~Uha}`-;&VJ#n!5;zGwk&By#Bj43dI4{FQ1f{5(R`(N={>z+J4tw^u*yAL|UGK z?)X$R$llfdv8XSAdK%J;Mg>{w(m}ZtR|Vr=?IZFa5qSt58*0YdY&2H}`38&?4*?tD z*)NI1okJAuz9&n&v&tgR9>kh0UhA&^y*kjoD3~$&zD{QH&ARW8Wppl98;i6wG&Gd! zFk`~^z`*3n*e|i6Q`m=D2x{sFPHJU(ul3+I`*tez;EMdTh&s^et*bgR3C{CEcwRAK zR{My~FjW7Lxk*E3!KM}M`7Qn?!RV#Y7`pdHLPFxrq%f43PRQoJw#mJY?7P*A8*+Ai zG`p@{ZM6Q8oxL{5)YQ~CPi3jJ>^QdyqMCg${d3-VP%59Z^@EFpR9yiy@sRyi0Qyd| z1tp~|pO4L#UqV`jL5Ee-PM*=2`Ax1hpP~M^wq0^Yi}maEcJpO*L%y)i+Rg26t+!y{Z?;&n zdQwl>tw7+1|ddKz}OH8gN;Vt%y!FAkGw$%438t;M-vV+H7a<4y|$Ig>nX3(X*F?3~UQt)bQ{vanv zIA9UO`F}|wBxvGuG*j5~^z=0G(RzaPTXyzFx-1C12)V%#!)7zKN4RSIZd4VT0iICZ zvqMg+3@%=69S=_R?O3ow`$8R62~wk7VR4qrZa!13e4k4KV-C-Lc#1C3rW0yciAj$Y zE5Wc8?!I`iJ^1T;h*3RNjy4y}-$p%0uAIru>j(cFQepr5-Qt`;U+N#@bSqKl|LfN{ z+I?nG6?Top0S8%LV8b?#qyDwEHC4sgK}pqY;SC-MA_u~^#{GR;^f!zXgG4Y&$Ta3hcVKW>I|XzW!Tq#Eoz!LWzoMz zlkhJe{3Xp4i)UT-$KK^>l@FVnoAVe2+{`x~WcyX!mUj66{}s{;H+pk((^L2+6Q(y5>^F1SD71j*DOWJFcfIjpLKZSmdCX?Ki9)qJ$ z&T1fpkFyFFXc*{)@=x(5QMmN0Eb?*gBtvxr9KZ8nJQXD-b-wAxNeE^|cG)0*flGL_ znu72f^(EUe5P$Z`CVUF)j@)gDkBf_Y>AsKYCSt%x%W`*j&xwtTv;4vRuLNcT=si?2 zv$F|!xVit>H8Qe(_#k)Wp*Lc|VaAfaYi(_<>W5IM7L^XNbr*a5ldSBKGim*_;QXA1 zgN}6L!drn12isU(t-Rc5udRqbu%g}lsQDIhva!kI-*EV`S-0!r*PADx|E}L{M^cb? zc^u6Us+Ge3@CD&n^1I{|=~2t8*>$Q+;|~RV-B7_7>bo zAKjB?OqCC6HNeznd^={W7>v!O!Mo@x#LhED+iB_eiwk#=?3g5kWb!JL5+#~>R981m z8!iNfAlvxp{M>l6-OE{CbAD`R#|#XBi_|9dEqJsv2HKrqA4p~M?b8lnH*ZH*S0FG7 z!S#4|8l4Zc$bE!QsDw}ONpLJxKPO;bXN;{m*1iT8iY{M7R65d8)xdwE-cJoq$I7dzP1q z?L4Qr!j_oXZDEC#z0%S!RPiCCL#g(SD|#Fm9m}h$&=}*_8{?qUi|s!3Ns-r%ou#P% zCaW)BOGScSI?kWp5Q^K!#MJt>3VxM!IFSYIbhaAc^sR|U=X;=pPT3PlS7?q|fo^V3AXMY2SRVS|P{0LuFPi^nJWO`gh-6U0xkb<}l-< zMM|oY?(kN90{*()SHXEv5&9=>u+c`jphu3(?xe~S?o%=3WUlU-d`T;XA+f`VbvY8( zQc<;M>gGdFiGG)WT-u+Ped821)fs$mOoU_5pT9;$$4Ine26V}~Ra)f-x2LOj`_8Yo z&fU<}?&nqes;s4dGoa;Tvd9CTLhbUfz25oCqwnV55jAHZF%&J`B?{GSTeQ^M*j<4f zC)Z7@?decf#YYd4h?GK*!pwjSQgLJq8@E-}Kuqdyew_)dD}I8_4+=9SLdi_EYt$1j z(<)!~?Ib_&2?Uaj`R4Af8a1>A7cHD1=yWmA@f3)LQ>ze2SfZwXgu=P|`8NJvIF8;B zvIqh=Fij5?YHnq?{>Y@WG}chFr!xUZiU9NN9T>MhY0_LO0Fan4$iVs z%O2gyy=GSI9AwJz{AVucL#F`l2j(~>5y46Nj~QceYNglH&QF8RnUD0Ze{u|LR#|~2 zC{X-*De@B89Aq7Iurj9S;ObOmZSLvgVryy3nW%sn`JCNl1Hvv{xc=?iMLf+XjD6uN z%Q#`z7)@nV0;Wy+xd_>-v7q?w=rW<^M>DFzb9KFms;<5w}0G`B`dLA7MUSKb6hf{S<*NPiA+y z?heW+&SIj4vXzxF!WC|!qf$v9pTdFs;@`5JoK2&n|0s1?{*3JK4aF_8g~~;X@$D2F zEbLEdTck8_n14H;(}x)jw`AfKR!vRA_xNaw2x7d@EZ_>5>weUJJ;oh!b$t5?z!20_ zc(1^{=z^S)Ms$qAP~8(fA{{Z&He21MnCwg+})N5}a$(*EIMYSmDz7 zb$MP0G?384s}7ZwwE;*aaPR(dxA^5{^A&pjdKh^>pHRlJ|g%5*aM^}TB4}4O1xfExC^K4WppI1wjx73_%STQ{dO5$moWBO{Tp5vHs3VS+mcE|^n&Qx=&q3A@4g>o#!sOL1gKAk>v}o%) zf|=;=(`8Ay8>S1ey=Tn=UhPRGHy@c)cMy6S-0%G}u^Dt%6yb`yD`7y;<>Bq9fS^%! zkNZ+r()6)CH}$rvpzG9X|Gn{`r-awb$bXaIK;tZs{gdp^cdsw6Sd~?bwI2K;4K-}_ z^#)^S;ca!F7O#8FDmSvm)A>2V>sU!Ioc9a&Hx8(r9uu<~3Pl`b!ko}Y{L~Q@i|s(R+#}($D>xq03}?UFfuYyBx=BH z5ekKBzuqUj-n;*xRe0j09RbQdw(D|`gr1O)kb)3lJJ^({#P{^qTGcA7ynx+X^em9P zfN0@C?OU;mocAi!RFOm|2*0hb{VmI*YI06D5`>%u&NtyAy;o@u4P&Kh`?g)~0DyVe zXumi}NI+nP(Wm3^DIEZN3*UZUUb=exiZbl-w;b9VT?Fr4wXSDT`7je;Vw6S9{TNH5 zE;Sg=nII7CG&J453=?SG?qaB*y)vLShJDLKeMp>whPZQ2h#5(R8|6R{Y8{ejh*fd5 z;`n@@viM~c#j)bXmkf^zC6vWrd zm(Lpv=TH*DvgA`*utJj3Hq2;ce5ua3t_I26@2@qWnjmBNu?Pn9n$;){o3 z7mhjyL02h6?$+FWhDZSZE9avpWN=XWJmaG^n3;to-kPIzJqZ+h;~9YzX4J}~UgnWI z!j;No#?MbhdU0he+(jt;XwFuj6kIxwZ^MsFYV%dDc=!o&astAoHGEUSzIgp{7IXD{ zeBp}~t_{;nk*2$hBHulQ?=+k!Q2iA}wvY$^K&tf7b;pB|@mIdeBv}xV`ARo*xvh5Y6oKj~dkYO=w z<9yj;4e}v|Sut5In&bk;rHR+`*XQnYU0vOGhQ`L5Z`Aa`W_k06iu5x62eSP@@ zuXuvoksLD;L|*O>e)(Kf_23fzNjLJfy*_Q;6y_5V2}(Nf*}2gxpU<~KFBC1T5TK%O zEWN2F)7dCZ#tJOJrA6BiHil;?m6UVunyE8TIt7#TD-E6fA*TOTlNqtUgjYIm7ZxRH zcD+CTBdl0CXTxTdW%b&pK-)Or?N!}v*Ten~8tp2B<;IqlmS(lev$+tG*w1k55<-be zIiUN+89v(&sd#pc{5j)qDTyw6)0Ig-??Q*R2A>!WvUL$9uwmaI?|nj?VpFu_ln=%| zU?>L<#C^A6P#;Ib1jqY<1JS&Gnst)QSJ(>UsdACTNk4~(!W3Rk?d(un89|^gcikcn z$K};5{^XomJL?{Q?5jJu9~bnUh4=&n{M7IV;BS1hWK&R5G;WUf3w9)(j_0(5o2jGt z1GqQio^E^tu+b3Z!m(2r-mCBnC3Hr5zJdjVPC?@W8G^sZU_@2$2b>gV!3J#}ws*tH z^x7~cT}J~zGoTUY#hSnXcu-XLS$HT3enHk|stb7pWa9guBc8jdDbq~eg;p|2W zB^~9xRy)OTyF&SBLO~x3EJ5fWQym?}p4MT+5<4WxFe6zy+*}66v@sfP`KBd-PZhS2 z>(+&pdMws*^%;`K4cwgi9}N`5sYB_U1Sezq`ualLT4P_Z;r~%kNc;Qy6EBw(ua`GL zkIJvMNaUt%G&Pdg{#WBXULB9e<;owJnFWVk*Qg8^y-Lc6)ivLiM>x=t*dXC5;ihRi z+96VvGtS%AlNWDRPUfl6Ix0!r5F@De7r-;9ZZNin_or=fK>KeqnhWMC&)3TMn{+o@ zT?)MMNVmvU@dcg&Uwe*^kF!a5oD@hRYUfxsXNxA`^CDk9v354>u6u0?ad2^YwrDV( zZu1iD`_#4}5~n)?`myF-4&>*pVGaqqX|uWc!}LJRNH*nMjIscwN%{ z89|d2pi%j4i3%UbEw9n7=IpcJ8tJ6b){snmw9;c_Z5?krsG@&vZ%Cm>73mo@`0J{q zRD4WS1iyN5m7SAwE>)?R=Dhp0%ge`S`3l^v?S*&5FIuhZT>T+`fX7f1mO1lX{fldS_$#c5Y+?^D93O505v%#CRM9{F$e7 zeDt3kW$h+~Zes4)`3Yb&o9W>~dRFebU!P^FzVtQq z{+%iOBvIY*cVsv!DvA|g@VH0FVn1TRjtI~S+#o_*-wxLOeq-Ae@$KMt-*+XR zs{jqVc~y2?b=Jw51R7-@Sc+j&1IWcMFtE$n)s@|jNP7E<++wXrCOIuF&401Vki`GI z^X}HT)oss)E}1X55Jrf6@@pPs+pKh_at>dZ81uqU#ut`Ggn)ZSg+0X0)(4)STFm>! z`309$sE#D?a@&&E%M-J$jlY-X5<8(-G|AGexZj22+R|hZ1!7PH2`B6Ov>4T{%cGyC zjKjtUnoWBrZvA^>!)W5*$_I!xH83-s12{rE@W3n3`VqSM8hGoDn#NGb%*yHoz)2DR z9e~fIXJ2FjMgu+CRwI4SeOsh2*UsfLG(uLzWuE*_>02-%xMH}p@@p}zMx|x*WzwE@ z$(m&i@@Zhw+~kJCIcKd#`!~67H#`bnWWg-7oy)u2zc)0Z1oMWx$}8yrQ!^S zk;X5_co%Wj%D={Th@W=GxW0n05T1;FTh2<(&aJLW1Sb_$*$;S#M}^Y(88R)d3PmEC z(O;oM4d^Mo_$M~{TAqn6TZS4%h|qn9hK2;Rw6&4x=;@KoYnL*BhJLeC{k&35OYyd- z!?NaSD-0`ic6JuZYSiJ~pul~=k`XW&9jB9RW9iIqyFmnnZJIG1L@M!2}sop zofeLEd`tp9>J%w4HO#@E&|!1+k+fad1%BL0RDQEH!!cAo-Kd&JhcOi?Jv}{g_UJm5 zTc_zrHGj5P+3R`F_+^jEVjqw)b_FNTr#(9fM=kSC$<-apJmc<0aAPt0Te@_R$CxYo z<};*Zi|Y@+z^qSW-s^Y2Xx@`_KXFz#6>L`rJ_3Z3579f~V72#Hg=+79ZDYG0=0#0a z;ug-YrZyVaffd><7`%3N#Y*1}WuMA_bMQ-KUffYa%@Xo7lsVO`>FyRulP}D-p3KI0 zX%D(PubH~xgVBMm1=G?=8|&yC`n^8iVOeox2$2q9m{n;bjQDnTp{AUe5D_n11>q`9D+}Q{23|@w;f#e{33s(*(UeV+U^g5MV z(1pdtNCE>YHf0J`aTYRqe)x*WNQL_*3GPvAp@hRWKm&`#7 z@^r#$d!4)=f0G}gJZ?YT=u#_^FLlBX$~Hl9)%k0C_uZ zX!jQ|UWAK0{uJ4H`A5(lbYEqi=h8u@kv{>-XO(exARBqY`5vzm3XJT$vqHijgd{Hs zCzF;+3_jtA81wVUT)EjrDivzcnF>L0?znFkwWFuTqemk;^UyL{qjwcUbp9q=tPNx8 zv96(E98pB=ZAppj%JoA5p|QW}i}LG{h-Y| zMU0)J=66#v_obw$owng?-?bV9{iL2rd(95YUZf$KT z>88a2b4Cwv&r-O*LV})IpG~VPSMiyvjl0R8FB5|N|Ex6HC&2fRE6zUF9`m@_FPIgk z0Ox#L{}%l;o@;e&u3qxSj@-I8p8s!d04}nCd~yrlyB%H4>bDG~7RyU(r;$oYJVI8d z$dE=Y&ze<)Mwe`xHb=pOyV(S&@9z{96~lu72x$Iv0k{u5 zza03iftjMkLGp%+s46q9lrG;aBqKDcPzaq_uu~yX678lA{zQLMi7Tp#w~lY#wYWSW z;eUEdM0yyOxDC70lRUZ?r6Grx;-DSsfRqhxl4!obZin($>R*4GeQx@>!bKXKX^fnOB&r-0>%_3#<8hk9`x%pqC?%h0l4E#=S(ed3bj5O~9ZS++Kl_}K~h9vqf% zN>ki>#CHFkA9>0_TLm z%J}()7@qcp26T6#0<={W6`*FveYT%Xa+g@A+4#r7o^DZ#NSQOFZ_hC(I2UBQIn6UbRt-d z8NPD;{P{EN$x=e!V6l}*-w>kr`F0$#U_6FrM)|GmvtL2Xk^0R6)As!~!x zuFZ$pfzZM%jb(+lwGp-{`=(ne=#v%qCweY<;CO3b_Y#7hcIkoq%3kn%CK^=vzHJ{k z%ZyMFH!~hFS8? zbPo0N``RLsX3rg`;Q5y4Rt8ly5-XnlDJd#TGc$2$pU6|+%K7ugdDg?mT~~To-s0_Cd}J$DewxGl-VKB$}7$~mCFs|wlfHn!d2uPc`?4N`;pael$p%&!|zj)gxn@bOUbO81hwa??=35E!DJkYU>*eEna6QI6Tp4XwF_%8Q{NpCp78E zu>$MKM#L$eHzi?f<2-wS#b6xtd_#qnQdTC61kqxVH??GuOC#qdO<8zS(z>`Wnorvt1>}`zj z=}F1Fp;CdrvztuC5&5Em^2noeJ+KL*0c)w-34-XS$aK(}n96P)h)iu7oxk)pPFe;) z`&}6s8So?|BtriLS4Z*HFj;+KpNGGen||k=&3=}amIqCEPx;3cl>O-f#KmV4qw14h0Oht8!q(qVCB^}i8x<%vz=tN`$hJR2v zglEHh_i}i6xY#>eWaR1zP`DDNd7aCfM$t5s^nON2zF%wVqSVRPh=Qu%N$u9^#^Ez% zQMby)JLs?7>JPUCa>KI`u>Hu;Z-W1#M9gXqJ=WWyEoX?9N!yzM1eHVs7O$;jW#QgG zIPBgiHdll)u6$WaUO-1V89ulY@X0Vu>I+e zZq5L>*RWCg1y|LM0XPLuo_l`EREl7NS$EhyJL$>7Ad%x5HMfx1I<$ zTek-kKexnfqGl5LMY^-+Fw>b(kP;K~*R-`g_G1Oz_l3PegI>>-ymd(ZS&TY}T3xn( zRRNy6reLc0-I_1;i%R3ujJkX^R$)s{F#51b7@H>b7bbaD8hta==o(uELI+!e;lcO|9yNrme|SzjjP=p)ja`WO*c22=$~WwJoBdQZJ) zEjL{!u4&6I{OPn1z5O|gG<%5zYRIjx|Zd2QBz{rmx$oVmED z$PBPAZ5GG^g7!`cj9a;>xRDRW==-e=^MU-^85Zvzi zGM$|w`HRFvv=3@lOvmW$uqSiPO0c8jbF67{i(0)+MtYebZa`4~Ptp9_6H2=f1dRba4IvgBe1P8HZAx_b z9Ifk1`i4*4ZKpv`vy;D+By$dh*M;2(mxsS*bdN)$rhs5jC2vI%zlW7*i|}~s!1Kb5 zSk@+^Kjh0DH*Zp*1e^EYjNN0(H~f;Femhk2+NR)*<0gV?6HVhnLL zn>cwYP*cWFqLl({y~v<1b7I5%!+NTHGf~k&)4f9nS3>ypWr{hh^ALc4_XX}iil4;~2E5FFLcCNo?!k>-55!X(23WStr04S{&IDsM{95xDZ!>4|ri|g%*hiLk!4^GR2X}pW>_5GaLxe25{#z;&?B; z5i#2&G0gJevQ#31jbK$}q^0QXbW^CO^N>$d7|V=3G4VBe7mg*9NKY?%dW|SPBgScb zV%4cG?1IHm&q7*y|z6Y8i?pXYWd%qB6+sm`KA5t`OH+6;9HKOLFI` zS4pUF!cf&#m8r~nV1sZh5)ks&e)oigQm$}D1>mfTR%F3EM8hR9{POlfh)yLgxI+9* z@b;@WOyZC|r`v{O^1Mc$UdUuTUgLgxV-ksp-nkbKDW!b6m%l3jir&v6Q}|C^P0LV_ zwFf>w&I0yjc8yN6U$A3ieG8+Wb@1Hg3qLAFH0t_qka9v|+2vDDE>E$u%9WM_DuV5h zzk!DiyH4*JdF3*c{&;jvhax~grUKU#93tNi=}vBZBlD*ZLkbHE{~XO0#{hn#PS?Y! zJY;z?riqD(M?hQf!jBnn9jnV_kQdd|R8uXOA82_uwA&v(Jvm1{tOWOc^eqp9+*%}z zt^}(#AVB;@$CMNc{W2yohCFoyy9MD=iPpphp@wdwcs~m#%|v_G!3M`t(c$i6A(t>> zkXY03W<Oxj!{t`9WfK&}?!dTWS$SWpZL?`YhuxPX`Rb(cZd`+< zQnno6q5C9RyPxV_PnPTboHjZh!sQD?x#eSj#@1QFWHr2(b&74C*PW8%FG!*tJ=yU( zW}ao#J)ng+m?JwmK~IH6?CfENTsty6vOvt=va&w>Yd@`c^hyQexS?3FNDBRJ5dc_# z2dpswUnD)H9z`eTY8hN}230=5r1e}LdM zG9L=6=hl?FCNg#>EQ+)^cHF@4n^Fxl`2n~&#u7c)i+e%rxX-;bJfe6XFJWrU%_1<# z7(L0vw<)i^?oG^!;G$tEN5$aAN}TBV%*N{syx%ja*1@j~H_b%jC8VAdj0hxNj1P~d zj_#cruK^~Nk?ViH_W?6k3s=`m7w#WI%+WhKje2pK<(k!HW&H}0Ovk*-X!^SLnYZd} zKN)qOV%2CpZ%rG;Dkpe~xmV<(PWY7E+cK=Gm+!1@RqaXi0;+1q`#Bffzd=n+OhPRZrsH}mmE^4t_DT|cquePe6jwUgcGjZj1ZyB=UX=)8f z5oJjWc)eAVB)|4|bB^PWM3(rZO2M~13!;Z3=7TF2H0q@Md`&Do@PEcrWytpJ{GtYF zrHl2>Y0eXaVl-8JV8LfZ5$1kFdF3>cAO(*#s*GUXVE(pPzksQCnBuY=ltyFXi66)2 ze2kKCN~%h&zLk}hS)qy6!;UTVE-KK@IEc3K8F20L9{maq&}B?rc`LKxu~}MP&U6b1 zB&UE%kL;68QL0sLh>{YWp9}xn%6kFaJM+P?=!O?j9xbgUkA_N7sYgCY>1uI>4$@}J z#X4=>4A;-RJDxon*t{|78+T&_K5Y_c)`iB>Z7uD1N*-xfF9HfG(P+hKc4nr*O1szj zaSUr0@7>eYqzHC4)QmCpZ|bOJ!<$^mR^T2Wun=&AlLeco`N0GZ_C|%__TnJZ1xkyf zCY2bBf0K)6x$X(chxe9*eGH>MIs6-n&WMj@xn=oo@b)b1Wt-~v!5f!{HK`V#2S$c) z=2|{Fw6{9L+LW5AVq7p*i?aps>-EZ{NI5ce$2yvoKXJ*t6(Z?}w$RMr~*`}*4& z0yD?iK4n4{gG2AGzNB^uA;c6~#kQ>r(_3X*U76My zIBLDi8>`Ne*ah#CKieaBjT0F*`^^M^Pfe?B=^C46ka+Bxw73$-RDT@p`E)U1qr~pH zwMr1O8Yu{0jeSf-E_|VN9VqINoF`L~zSjCZGE7x_*Wc|O>*iFktMrrF2Xp3#)1rQP zyvL*i%WAQdffywd79Qsv*yFJW-V-h*pB2UrlRR|0maL|s1xdv30fQGh;isZl)oUUH z14h3IqbCiq(2NYt7t@?K`H&I9G<#K(ID+e0u}BkU<=Z|&&iW;Z&|56@>n2ub78S}D zBnv$Inz}aexu$RIC|Mz27$du?6^(u)M;-Q8YcTrfseJth=$ky2i=g7bPQW&RZBBAB zGyTOi=V@Tr)JiqjEHG$e(>V2+mqUJL5mv0Sb2G+y5IP(3*xFV^3u zLT9j4$@pI_Tf2e1msh~mYhK;;cw7Y##v<6m3sSMJ+q_j;%mk?>Y$f>xz4Fqs3zN)^ z9N%;rL5dVonw8$hW(ktTWOy~IWYM}_hcH@PV-@DXJy&elmpwXTSiTXUk+L2!k60S$cVKL49xzV=+w>*^mD_nrbIKw&-2EoS>L{S%g;98wN;&~ z;uj)INRIhe$KSr3%EmcKy{ouN$^Mk#OCY)oce$G7=Y&hwzWEpkhE&dWW_Goo+G~b- z+7(YrwmIISLxdDQ5Wd`))ZK_uvK?P~{{^&K-N1*vbZzv$Z>^hpY_1Lt%$w`$S%7g! zS~z)F11MinYy>l%<|2hUw|6JPzT}VxDP+n-TBSYqWi%V{ zjYP3>guEt|QFZ(6Y52qh=KWzO*7jbyahN|9))2V>N@P3*oUt`wibj@fJRpGh*CDh^ zBbz!{n5bjS%;S9C&_VVAbN_(XO)~ZNzz-$M`lHf|pA9?Y;Xec|z|BFR_^MP+!(Q(>T!oB1~!o&mQQ%TB zdPhQ{pK8fh&432`>Da)$d0BHkcMTT~7N*yE@;A)&K-(90WxC|>_$no$&F1vAAWKh-=x{R$>On7D z-a`~*6N?%wvqZ{29CAxKn@b8^%qVFNR9475naNHV`0Wm)m6#v_J4D{)O?`YRa`?`V z845#NTa<%5{|q*$rh{qW;o;M*t*!8Y{R<1`TB}?WLEeDW*}P@kzKLt%928!(exNmc z8n|%P?)`T4yG?Cz$E-YF7vPG#U>wa_5c3YHXCkrI_O>Bp!)qqNb3{K7G@0BMF5 z#M_^gGkAI=hHlglMzl@kNe7F!$``bf{p|Z{WE|GK8A!3e^M0w(8vXWsT@KXiR*FCz z;Z@@45BtSKGPk}MdBNTC+c#YhH2#D<%p3~Foz%O|mg0geZLDLToP-V!lho98AW;wM zCZgA3_?0TB<EB6=J zajUJZWp4rY3TjVrW{bGjsSI0O@?HU+hfkF;HU3=$dl7>?;l95mt$g`os;05iyRn?4 zl;siO;sb8`NPWLb=z8|H)z602rtb}F!$*AJ;59V9&hGW^f10$Y`sW~?#tit;zz$^W zMu(64-P4mlYnk1)FiyfdT(epoH$c#~4+{&+u;J80Lx3wA+GSS>w_7g>i*Iyc#B^g6 zOX}aZ!i7DCQ}XSZiPG0-(}$U*Brj&TMC`;x_dudN?7P4u^G+Z%t7SlGL$VfmL6|V? zK-&n$0>`3@Q*P03lNQ_-XhoU{BO7Mn@ZR2|{w_rVG+)|phB~2V@oa+b{vxp$x8jVc z;RbZ@zy%+?9*NnvGeg|*dWKw6i-TM(Vp7!H_ewIn_*{n&79ceB7E`?S8x1PfR~tA) zh_sN!I^8fB+4|#ix97}S+t`++?rn5Fks=6J0@xa5?_*mbuXTJ>=r9%mY~lYF>ts9) zH>)9!FyjRKX;?Yq(p<)Y*OWYB__{fcF*6BKRMe{h8Xm<84;0z7>BTC{!4*C6|p<*^i(R$u4#1$^gP7nc91SqY)MAO$QmU%~?rYDVT6 zJtW1kW5B;gR`~tB_vk9#+G9t5Hm%`7GLoYdtz=}p4!$6iiG12Nu#DQ-(n1sffW+0ZCGK@~ zaa$8G7;FNVwt_0PR!ePH0FA_ynC@4Z$@mr7`5sbsrL3P4j8$j1p}@(0TGmw@S@23o z^7@0)kbWwze&J~q#hPJB$@<3Ro~|Si6ux|hL4E;XbEh@|aKGNJvmPY{?=3Cqa1q4N z{@T6(l5zNVok6Olu8g)}8F5~`AU^idpl?H6<4OgXk4bxb%#f%*54ky5=5zKJtS9m) zjkl%mJy9MyB-wpE?J$dYW`cb@Qra**r4ZkpMvIB`w^2`RZesPB3*>23^-dZ;@O8W{ ztYTxsbiK^E-WSp*B*IOO#(bKZo`+Qq+SL}rl-Z8s*@#egehmc~69yPD85Q2yICiKE$m8_c*r8^E@dj=nwwVEOOn zF{g@Ta*~EEE(YUB1a>d)g%xZg28i*cS}_>(J7^HGTVUbME?P(fF<}AXo96I$ zP)~2fg;W~{A&&(G?tP3zp>T0;--{yw`7~OdMb!7nFPrd&Vid!$`qP>n?@$Cq^S(xA z6mkI?bc($7_OCzazp0U*h1iqEk(03$vfANzSdByCNRn$G7RyltYZA)mD(Bqn^oK)Zh2qae4)?R^t zmZBbEIu@`Xx4_fOL4EyO`Tp$mymmrFR>AtSkF{#%ISS{ z{^5=9^Ec5Tz{fO+ejh;jm$m6=Iv?0ChLKM_^6*VJC3nEotJ-U-0=NWaWb$7?IM5AtoYv7W&@K(V4)yY=zilf$x+|9R6$k^*u^)$te8&PXS zSo=h^hR1E>QIga;7v^`suCH~KVSCf1?vSBV=-x)B-zc!n{ecv-`rzszrO1|D(j)so z?nA3UBKFaPQf3C(@BEL|=(L$J8M{;sqO-Jf^|^21d9VIW&+pk&>ho&J(*|`Y)n~uvzDQ z#ZjeAD*TA*rd+pPX=<;na3r3TD)2D`c@Es4dfYrc-(F#)otMD^xct;y(R(+J$5*8c z_=td?Fg3d1m@;Gicl93Rx*@-hd-}5Nk-sdspttk&?SHZSc*omV|5kMAj8AK@M~T{l zhQ4w>t4!-0(Up6q_KkNwUOo?Qlw|q*@zUJf+yr1>W4gm&R;~M%nW=zF$zlkPgrK4`Xn{ z1q1fC_u6mF`OF1#2EFAHtW|-GRdo!_oc#Tdw?vdz(KveaLM8_Yp!y=jJQkusm7J|tRSg&8AsBT2~bLkg5s zTl>O3*s7zbtdkq4@e`OKCdld>tG_A_t+3#;%F+^0+3MKXrltn>lax8+^JVS0<&qhc zxDsU^LUoc)VfnOAd1UyLzXbK{cx0SWDstrIcn)?ZF4iwfVYO24qNDnwh{)>H<# z-SX1;*ZOV5$W427WY*g>aV?gZ>6(|GE)RUPuFIgkWI?7-m}gRX^Atb)XA`Uh7rp?e zd9-D=?=6S?LJJL*7?^|lIXO9*ySZ_JUPit)itE0$oA12Z48FHQ80BH(wi#C@ey2%5 zC9JgG8OCp4^iM!=!W%g}Bt+kf*(qPvNwSbRvxr4rHVlp^>jRTa)@gzuCweFircu04 z{yJsdF>8>`zRw*9nJ?l_TdTZ0FOL(ssaoH=UxhZQ(~7Ow+A~A5s-=3TiVYTWMihkV zKfeq6)yH@#)_Xj+s%$>WcdP7g_HX*mJTv#F|Exoe5nahz&sN_oYj9L--*p=%W8&b> z<>K$(3JYK+mFl4^w^e^Ql>_SRb#Q@w(+f{0T?I$}_^qif4Oxqt@1wnp!-&+4vA_jq zTAujv(OKIl!AZl(yE)XFA+|YmO`=@eW^SB#YW{Guja>6hXPZ`HSkX*%=RTY)$v%M# zrCpYXE{pdN$dV~hKY{?V#pLVD(>^pM>>Vr<1Oj2CqN0)q$O+p^4}pnmA9(q_9EQdu zg5}o9gnwkQE6#5-?zj?gHl@am`F@s~%g+(VQDUBvh6iv#6VG@Wk_#LQ`R&xIHpn$PCB2G9QG9F-xl+&ZgB@tp&o3k~U zKL4B#wb)!l6REhXhs9^mSN&L?X(`OVunHCKD-5x%P|efGbA!Q8E_XBJ4zDB<(HV|T zvzAgiGHkMJ`5DXQ(0zP^z^c*>(`K9mOnioOQY-Ywbg!yP(SkyM z`U{Cibq%r+4fP3>{0^Grhn~{+=#awUZekCL4(Oyk4^v(ZNZ(-MnT0=>+PBm}xXz6a zz!y5y(<27Fdbw*jAqT)sTKS$l_CN9OV`RSx*uQ0_l9CjR@V{^0h5M?s&y@gI(G}4L zL(BYV)PBBJ{HEzwp51NvCzbXGx}bHE{%o`&M9Q*n<^}WkVv_mg|6oss~Rx2aAICBREl`n!@m>4 z44YDd892C!Fe;A}qteBM9t{13{n~#Xkrsla(M4Uu|5~95{OK@sVOS^#vVMy?4Xv($ zJHdT-^G$qDi_X(_!qsMjC9S^hRE61>L7UePtkQN1BO`L3fQ=Yhq;fX{^uidyJ*-qQOfm#+DP89eN>*fn?%zu78avNM7hgS3Iqbs*W z`N8m>I+5xm1-ba+xGhf~XD!mlT6pAlnB6i+kM1Y_`iPj__ph*%f{U0pUU-_02B8hd z1S0Cn=_jEgJSMb`h%TRevglDLBVjxwu-jZr#jA9qh9z|ARYtM8?5Gun{#^YS#}oZw zt~xIt|KmI-D8r?qNxfFn726oaZu-j-4M%lpKsq+Rk$xqvnfAcu`Wc{!bpNMf`Oia5 zNcLY(jK}=pgEu|_!4uf(K|x6z-L!tc@pnZfsEOIIaFgSoE4$Hy*dBg4c=sty3nf{- z)^1*tPNQmuc)uQ@_S_y`^!WN`mc8Jh;t%K6*qNs#>`~6@r!zQu-8O`exXn@_&wk(B zf$PJ|lA0V*R(c7kLW0ZAF>T$Aa2=r?$i>%U%R@g;+d@|$tN2>!noN(*tH z%o%k3=I9!6^b@`>|K;IXa=4AM6viH`c2Nk<{5!) zb^b;g;F@%Dfd3zg_UOYKl>cnaR_TptOlufSC#jCqkRt(i2(Ms@T=D^YWZXh*>b~kz-DsTrHE?B>D+mEx5>Ruq2Ini56&^B%I4BOKh#Vf4PSk9IZg+j zJLe|fdm^mC>o!s(IN&01b#iug7Kx|cu)H)HG)V_fW62uCeWJXwGUhWwl4$H8ZsnW} zfLApSxoBeaN0+zy9oMYz$j=<(k-5h|;OM341a@e_W%=4+o{--3Oxuu3Xa`!=1*eo~uoL#o!ktj*g( zzUZ{X#Am*-vHaAKwSl627QRSzEkMy7rA)7H(BcB0_6)Q7p_-J4X!sQLAxFTjvI9PJ zxL#H;ce72GLc4Jr*wy5fDxyeA(z#SO*p%7+t5*Y8G;R=7{W*~C_QXFRi(cI|dbZ@` z_&mr;n&947NTF7IdefMT3~y%Q66U_mZ;}%aEnY*~)}uIY2P3W7A~gbeGTI6I>Mw$S z`WB;A+3Z)$5;0W!k4uL+M$bgc{tRAY^X3vJYzoy@sTRX1344I zZaT)AC64nJHo2htVm=2bgirM?0E+8a)w^=!2>+n;WvCbUi}@3Mq{*H~ev8h^{JiT9I zUu#;q)|F(NtFLt0tmbl07LJSzHPouXkmN;2OKZ}3=iN#052!GU)(NWns2f08D8$Fd zm!d%H4s^fJ*%Q)wU2IXoQ*R-%EGI9dB*slSxOC*OGb6G&vl?0(GTp~T9|CenoXqy2 zkPt*l)C28U5QSo!a#fRPrW3S8h(&SnmdI5Q#&Ds~%R(u&OwbBSgA{D7aNbY9;XE|z zMiVnL6ff=bb`KF(*08B=iw{y&49V4p{K)lhEsaNZEqlo*l!NICMfbp&bgQPD^!t^) zgo32G60S=DaW2~vQn%bZKM;i!Oza zlznfF!e`gk^aZ{C9;}Xxj4041bg#y+$;MY3Fc{cvR*`Ck&$ca;kPh3VojQngyTKq1Pe4peOcsFoWCGI)S*OeH$QzQArykS~7ofwK z`j1_+cy|Ul&-!h~KKSgnVMRSXbqcC2_$0Khk_c6FOZKHrX^PBfpo_&At@Sxg`fQK} zfPblE#Z$8OUit46h9v;rt}~CG?a%8?D9UXN{;>sv24u(mh*#;npYI{ZEIfEack1WT z+KT0ky_5?u}kAd0v@=#LvDRtwn5+%-YW=HO*|MxNTku7D-}wM;_|(#?wC|@^}&( zMFb$2tcEb>REfaWdng_)kP?R^S2|vXiFQwTP=OyIEazBgX3wbbj4A*aKZ{L1ig4Jc zygL)OR^t|VBN6W}f-kA1qx(JMx=eY;jHmG**58|3K)nlWT^>SR*_0V0RLtA>c$%Qz zv+DEhs`C`G?5sDBg5-en3zxS<_xE1hA`N)=d_*(7U%ol^{`NSNJ^qv5{p=mW)9Y~d zb9iv~uJGejEXF6G$4T8d7GxI?Xj|F2{Cm_I+Q2HvN9@r(Nh5pf=I;K~v!%?FsdV>x zAT3PX0W_I&hK~h?t@q%Q`~9ECq>53?b94Is;&tIM9QGX7#u99Vt^B_@Lx~fKXdY zUq6!tKeE@Ls)=BZ(Si#@eFwYu#f_H+BHBJ@;W_G%JNFTWJuZjhs(?W+Q#atp1}xp( znSZ4W6iN$>N7!JgwtreL){oGy5y;=n6pZ`}Ib|HXxP-KFV{O)r^yoEiLMm4_bH0bqBAXpn`DZN zA#^104H$37;qXL<+S%N#?Z?qqVS?8_(^-3`jIjZp#T=fclU?3 z4xvp-EC07dt=&Wj&i7(eOcvhpFR%WF3(;0w8U1Z_2T*U0fIjYZ;@^Yt#DAc@m&sgl z`}fz_)Ukt9yDq$jCF=2blHCmNi{};>0~-JQ~Ydk6#@w~ZRD9=7fT0!f=FO2 zTJ#2xx6{?v&a&pe{N%cQsj!j1HE@Hnr77bYL9Rc|+HEu-Vd1r{IJeiJa76rD(fR9! z`=c-_s3~KFn#U;_Rv;MfW zDBk>L{=hpQ-rXN6kDh^n!6P%@cdP_Ea;8J)5`U&r5F;DWyCw6vM17g}_D$T zL$@7G!j0gvbYjFxN**KiOB`zQ*P#~@7Cng;gh(l(6uaK?3+ZnI3~HuSn3)yXcOjerC9L4;jdO0m zia7^*fORr7gyT&8%+<+@>Iv2;B+d71XuXcKoRog;(b5ho{Z!fS=8lOYVA*~PM>cQ( zG1who!99XP(>vSeYWUOZCg$s=1tpeDC%};XcjE)J?Es)!1;|-g737-kIE0Tw!?8k4 z-HC%vfc*9cw)$ZFw0CK%_V@WSFMioCkn^>O*~N&LNyW?+Gcv2g*9uiehGWh19VcdI zRS8e}IGKAe{}8w%`~R)IEgehV9xp>J#oEm`@G0$mdD|P-L;2Unz5z?s8`O2kXU5^FoCy4(uC}Bcj76Nz zY3{1})q@AVx?5eRLrR&Z_EO^Jg`QAREHOKQ{U$1dKb9SGNm^`G)HF&ety7Z%c-%kw z;VvgvaA|Ucu)Z$|TK}Pi!36Y@X4+@qOzn1G_oSNzSi~pB&MQXl^>6=PT0Zz)M&1cX zl`7t4T|KlZm#Bx`*_vW-UNJg;KN;X0<4CT`Ayc1WH{q5qzv7F( zBLqLnj9ObMK6wtCTZI^3f~HVa_|~uuh9r%&+%Df}VceCFoY;Td>W#oFlvAF_k%p!% zL!z8Hy;<##MXm2kA(E+Sx`7W#aApx7|JDQ=SqlH{Yt4a_MFxMLEycr`k-eHuKik!G zTD@AppeNZTc(6)=5B3`zL+MiTm3qpfVaH|ViF+XJIr;I1$U?-8Aq}Q#5H-$;(2OZc zzlsBy@Iay!Z!tPXkEf} zH|V=5Fh8wYoZ8&1K1r^UnO(IEPDn8`RWj-W9Sq^I9t_lg?)tatKCcw8YpkrQdIC?6 zrM0ze&lNwgKGKI91@7+2)I@fERqa)+4UAH|a!Wj`rmx#L4hZNl7&2@B!Hl={`^Ga> zPb=tbe3W&PB&0(tQ6}B0S0ckKS1VMZ18P_S`l_E@Hnh^1dx-qvt%wvPhZ~=YLGSl( zU_F(&`YXjVtZCGSP8}XM{pNQKJ>C&VUTV zC*#?kVe|2wx=BLg2zmz5kHw93AG&SVNNxQeH9hYt+uPd->2@Js4{=JBy*#oyAA!wr z)#LH7NR4M+$H6Xx9BG=f;+MhaN7vp1k$o-Am3r9>*g?5lTWE6`Yf+1Nhefo%C;nx4 zhv7nq-SMGOISlyiCUF6Mj}7y-r&*%H5ZNH5^de35))ig{4YHz)T4apq>lvS*wHp4r87eH4E^CNy@Xy_y)!JH)Dh`B0VpqQLWLT=H?;> zTvIWnVihl+Y@~f6umTkSfILlddzzE5^_rPdfS@!kG&qr2}1$c>$AM;#EElw?9Ad+bzj}} zsb}ff4Ey}ZLaS15^Ozlh0Ff?6Syk%niMt#fH+%aEcYFKO1W-ydH^%>JRK!Hs>bcpW z_(w=kA*#Os`PzGtGxf*qxEWpMqw~1&AXf%snjj#?e1(yQ^rvJ=a}yhe+i3j_mK?zT zs4&E-Dos^n$LE&*w&}rf@I>d_ygk&u4)=aprK|(P!S_I-BCzVlpn_c}`C7TQk96); zu3%c52|ozXCk83@x}oIrFE1~jL3_Chw!PKOj9^#AO2|qerr1)PGr*rk@@wPERw>785!|U1jriOqu(3Sr7z{#*55e&50hs{ zvLK${7*x2@tx!|p7MUix&r?&$h2PHn7&8|wdH=_k&C}Q29aGlelX~rZDt%Ad>iAMR zDgRc`?+9*Du#R?e<{^#AV}1rMgj@yMohQ&rZwa~{&Hl%0T5;lcmeCF06#QWud$--F8RD|dO$&BbUIXFp|wkkUNYO)Lj%vgb!@FX zDSI0m1~QEARSPx^uQm7gnyLQ$N5qhyU#T#5|{&5o3oxB7l>h$d5XiG z6|g8tF9Ik{0%2y}hS|y#)8l=_A-F)t)J|MIa;3+!RhGc0fv(8tvSei-x+SAudmM+! z7946|$6gd2T2@GJ>37tPGeL$YXVkzG zFqM3`!=rTN)h<-Ea6Go_vVC*Bu?e-VvoMk<7HNETPCy{iWs z6|~gn=uwdEyDC&3Ov`@#NHCLM8OaxM4FARP1#Pu)!>eP)xojkKOyzKZcjo&th84eS z)smrv@W9&HbKO$o7=g_*EzUq*sMw!$)m#ZxG?VoJW!C0l4?CgJfrbs)ezQgxUhzLz z4>Hs}xqTF|gIjdM58)T!W$F3a-+52K0X7B?1O^^kS;e21|CV623Z(GF$RDR`a-va< zd}%X-vhZLZ4BUk&W0;j~&1v-J8kmkjHb38@Hg3&yyz}v4360up4IuKdLP8FtjZw41 z#X~xH(Q>kU!93}xJKq`5;y?WoA5~$$gn?_4B%n*-+VZRKISYQdLhAVx$#xo zZEgutP?){XHN~7@L*BUb%!u@WRj9~njGh3a;l|#_Uu)@DP2;v)_vNbw=Dh{}7d{oM@&**LWN2(_CwgV)iqi{H{{oL-}gY z+|&bmLh6@AfxXgDTMspU?;*7!a@+U(d_~NSmt#-UwoCiEfRJaW#et18E}qDw0v`!( zEdauvirE0FW+Ew*Ca&u23ZsKYC9MU4riRJzle2T`x2>`(4o0JE;^ANTjUqFMj(SZ^ zq7ZSI;(#oz4ulbWRxW)$_!aBqG^H{#;j9-XhfaOc!_HGN&Y$?j4ACa2oH(IxZ){Tx;C%yCPCp!LGfmE~%4<-|q{FR*Z#s$3DtwV%5Rq zWSEI%i*~LA1ZMuRZvOzU@byHry00^pF}c*T;>&C+OO3se;9zj!Qge=DIcH z&+MlGF8^Bx|JgHc$J};=O37W9hswFvJ2a*^z_^{6v$?S;QO5z`hPEZGIt!Cx%`#cL z5S(S~lWn=~_&}+;T0@6v-CkYSI`lot0-VhXUvym~@zzy16h0MtEl$tIvWQs=Vb5=M z(O)S>*=o1mxu^HoUbjfN+V@5~n4)p(l{jS2CQiLYi!K@H_kAOC*(T*TS&_5S6Wr_5 zd!W4*&X!iA#gsT^;SCg8UJ1iybj$33?*4LoS}u%9ZqA+-K|jLV%Q{jF-JF!rMV$w~ z^y+)qW;~dX@JF(9V~=oAqCk3qnz2{@F832040WKnv@{~H!C)W8^Px?D^-x--v(3t@Ygy7(k{&u{c^$I)dX>(Y9)@8=s?NtMc++#9e|NL62A?RJ8K#x28| z%$u^?pLthSe)iy25|(8z?6FFXe|)VKQ}0av>gs0NNJ2mM_1Yom$_?Yhtt4LaWA)DX zD$m%MX%t=Qio`F z^wvPp8%!;WVo|64@L$0inZ*1b&+caA%Y;c9 zXgf7#Sqh$UombfCK(6%{0`R+k)=lJ_dY9w5%yel3?{2RqLa{;B7jRE>Co{#dV$Fh? zxhPiUm4G8aT~KNfTkO5Q0^XZ{xags79}VeqdE)k}@gAn%@n|y4s1oT<5-qOV4I-_^ zk(%1U#tvO7b3O40J65>+G?(J}W;yQK4q=!Di%OmH70(rWg;>K|DDN2SYZ?gg@F_6` zp>7=gM;ry*;TaR@WrmgwgWu`)94p)khVh6;tt`gyxU(0=Vs7Q^KgKLVI$w`Fr4XsM z`Uwo%9)X*yNcSk8YwZh=J*QL4(kkoNC838fMdL2rwjbVCTioWFX=Lh%4$8i3;2`3G z#tx*3t^=S$u|0pD=S}zI7W0L-wu?V;S=U)8>-QE-7YI%s#=?9J`7ay>>)Q04 zstw(BRT_4dff#S=#_POIG#gK=)*pmh#GoF67iRR$jjO^}c?3_O!!x%2pyp-8)Jm(h zjrt3{E1Ge+c4OddFiT!|W$Ki4>Qp!?$6tsRg4qVw(7n!4NYHAw1) zig^IJ138>>lxuHIU{)=_%n4~W`wPF!2)94RzD^0-!0y3{fco>oLx69`!}Ln<3|M!5 zBz4z5*$Hl(dC|!ZG0fEjqk;jRTv94W@?NB5b>F#%5VG-?w7V0bB3E0;<`RR7b(_X= zW&W^gU4sq(0w0;>0>P|R9v|tq@84mV;wCkX34yON*tT#i9<1IeBlD?c37f%DZFprwJUFHG2bZc>v%7l-bm49vZyr@1v{2_7TzdgRopAH zaucd6%-o?!1O<^CUgj=uP4>l<-}nNcET`*lwUZG6$23}<0Uped-y;44>^-MEEhdwe zDmSZP-+U(?y}PFuS5XmR=F$6h`CYc|%*B@r#)gXyIq%{R&=2nQw~=ehmOKJ0CI8Z`(bHvP9r}b4Dt}pBiRVa+AqXfK z4O8oHK>3drXGwlo0x?cGA|=+u_?S||@zjPz*1t~jWw{-Ghx6BwB;Mvo$E@D=Hkj0z z2|KbpN0VhdExBp&>LsHV=Du^tF)kRpVS66gaUN(+dff?~A+xjet-8&3@#7&J#bww6W51U$0zoh^>Ja%UE`4SLb0xyr2Hvo$&_r6mpwT$%l%32oA466u%r(anXI_3jPAiGIy`u~5w-Ti} zcFW2P9haqa=CIX9)*uWu2GL7aRvZ+hq_gCF)n?GRlJb8;+ucsnxiiKPrrHAHX*6#{ z&uQ?PbfJZd&ht5t{hP~798V!shOmzgP3Y7p$@8gV$N84H7?Z7@U-RnDP4tb*8T5;U z@^GVk3J22?=hel`YReswjT-`Kts|{d`b?I!%rfAm;64$vi)}>f*K1*<+?bhtb3A^x zH+`P(6<%nKlp1tk6|fWxh@L|{BNla`?~NN12z&;Dg~v!7+v3ne#B9?PXpy0)*`V16 zqj#Fh@%A2cE8WvSxKR$od@0>Ey5ncFInnCnF;>_J+bP5rKXm_TdeYp-2C^@9$f0ot zH;;}O;#ewjsg;ZdIuL1^@?qV+`0@{)j=SMov8a{dwNoUV57Io2mH1 zO>3dGhA5UC*!*mRGkB@3({c$zs|&zIB4T4>KY_jDdYHsJR6w!Yy?$WG3zM89S$&I2 z=`M#pJW`HU8*O`F$geau?qH*Tz9Opppr&h8K-_*Ap~a+iw-lVZ=$78K|@g%NJ-7Q4gjC({jKZ; zV^AS4qkB2#8Z|M$w+nko`0=fYAq=y}L&ZnR?^E7pjKzteM7PMC*SVg}Smu2V9~ZnQ zO=Ph~{!nkYyu@8CS?qA zf%}U<8h}f;v9#P@1`>}Va2oEn8JveQjY`(r+oW44cU8+v8Ih^Gtt4O5)7Bd;)O$MsE^j3Hn)p>gjd(>S@}u*6FFHAmZ?Ntc4eJD zX2t0~S5L_P0|$bG{AUYzg+}JTshNKRO102Ldr-KG-WmB$(Y_rO0d0^#Pr0o0$Ea#NV_ic7f$B6a@W@g(N!AD;O0 z4gD||S|JCU-7gpYmRW(9mntTcvb3CeB^M|+Rs=^#jQYXtZD6(KJjZ7#F$u9cS#;4qnow2>NnU4-Oi~J25F8Gu6ua$O&jWFBEw&=J_c#1PFxyn{+=XV=3 zEw5>%rDC~Yoao`fMjTyv)M}utp&>b3OH^bgeNw~BFlB%6e44d`FfbP862hci@QIJL z_^3q#@B8tST^wu}CsT>uw^wv{Ta{@gPtQ@Br$}M_~ zTXn`3X8-ve=D)BF#-U&JDGrW~mg$gsE&&`ak@e27-3!nDkNsoRL7Cx8DHkiNf8=M3 z0)?!7yhN5Jj=s!k{aQCizVAOyP()Y8HcIovXg>#krA4f%Wc7JjD%u>T>x7DnVId?X z4*Yh3`6~2$^x+>)7z`%KB^WdX-$EDK*6wnc6~}7;G`NjQnbI z>~`v=bk|N`qc*;q<)B)saa7OV=PpOvn+MEhHaw&tv!&&V3O0F2C$x8qr__3KzsR7< z6bJT~hLOwm(1GRE!rt@g`odZB7=*{bc5P4zpDVdO4N<$!-HH`)kJn3FrypicVz<7; z!5me62K96!_P%!-=)Fcv0_=4#6J5o`HvbOQ{z6$=HdNZ3D(3#xaDK9*<|v;NO@U-& zqJ<0t95eeM6(bf%PQ7Cdo1Kh*&~{tRSaJX$>mcfs73bSg_R{`pyU*>p5w4&7#^XuE zBl|)PrfPZ%f392+XcU%;sW$-dyvOzh3y-JIhbXk0oHFj8{7-Dp{r_IR6l>UCxWA5X z1XuYSTGOZ0pndkNOXWvRoqveRrAA6!#9)ewNym?ZmHMz$@zL`yu@u?;0 z$%ojio^s4#fh%Gk1PCC{&Shm~)#lL`%LaZoK$johxis?;qKFtJjI;*OJ{q@4-AvQ+ zpz-K(lW%p$>9SI8gU;D&U+B3NG`P#X!UUU^{A<0*4++HS;TwvHuuUi&H_r@V>d>iwhzWtM%|hg5Uwe8tYyjng@l zUMR`h@mb}KtE=lr_uY}CW59hhK=5}fh@S}a^7fVof?Zn>%EK6ucY+0%tG3`uq_OK3 zVz`{SF<&_!XuURSf=`$Q)DdVzoEuxp`VHaBBQ}Q`MsTZIWtv~bX zb@&j0S=96X#hBv@dTLrmP|JfkyG0Omr|oa{==MI#Uwrt`U(C%zJgjj;r*~S$-cMRr z*oHhb9t%UR*B(=E>t={s*KUTaOtx+2Y5AY5I5uZp^~<1k2!&QV>k|lJQqL8JtG>4~5d^bomycFYS8^raM-9~yXE<48Y zQ`YF7MjM;$-ns%u;sh@>*WVe_6z{F)HxHb#yHeS8MyK808W9MlaGK6TWGfNJ!`f!tu-)vc5<7CW;1o2exB0c#tNu?Gi zlt=`>zZUF-v41%s{q>uqy-`O^ROM)r1hqG%vl=soln}6T&^>l7JN@AhMQr(Xw=>OKJ+C$E3i!uT^?4Y#2PwXtfBh%A2Lm4;X(y^ zG&lFH!gq}=&yKufzKF5nyqX)M))|T`gK4*AGqTkA>WEK~4hi&*3-w%dg|hV(I%|mx z@YXY$vfUId=JkU-iu26p4yNZdLZc(H%g{UaijC*ea0&`V2X`RY2>@@z!R)Gi9`4n? zwQ1`=-07tjQzHVDHb74D&a)y8uO(*InU0jF6EiBmGwv|?ZTa(qx{;R~e0(^kon8JW z0fi6D{)8`*@5|an)4#KgAaTUIo)yP-bb^U*Fw&S&-HS59QxQ4tc2wPir%|k^tAt9x zSG|Y;Ctq)v$G{aQV<*>Me_9cr`F>kek3iVAXM_v1xEfU@Ktyo^5@ks*DIqBn!4p}W z*%K)#)W|`}*QA5SvJ{ye#hGO1GlZnN`Aiuhi_v8@I|J#?8uQ-TyhhwkHB|HT4jcGV zwe<=|%;%F>REOve4TI_s)$iG3l3|X0DiLkX4;aOM1xfho4Y?0F?=MdtC!)2D2*{h< zn_^J;mC}<~J%M14X3M2TpdQ$*g#`tp4P?Lx57In#f!l8Z3`>53@Ddj1EZpj^39J=Q zI!jvqX8S~fXGs!2Xs|6(a4)_Ycu_d4>ILV%Dov`x8$2!PvU=_^ovbyX`rWy|a=l^v zc)uBR%{sk-Jn?TJ#du$a!VFbX`Lct{Xc&gJ!SJ2Y_FYyMd3-%ormqtPyaM<8s-^U8 zY89>o5#1U@t{J16uT4sPZpV&g3zV9aTAB<=d3p4unl%c=C9fPd%+o-vy(QzZC;9||ct&W!yCILoLNq|>UD=;L@+LobwbA%Le9slv zL%|<$vF(JubEX~A?PYtSy1dbC=_i?Ay)ZDF3J3)_B#mvy;G@rQ%EYhJ7e@^rCi-uQ zY@2EV$&Q(Szp}Vd9uBOgJ|SzN1Y)UZxKbtz{{?ZuRrW=Vhgp;1xO5EvK@DR2O(IDL z<2+-gcME@g+WEd>BHsj~To?U%t9dxhg0RepY$jlsW)PHtN>crW9)T|QB$#90u`AZ# z(H5&8=lQBi0QL#<40e1nw}>C6^R%0eXSF%>rF6=7B6NEpl>gKU0z&V z{Lcc0ea5y%FsCjpEnQew_eCYyoIPCmhjXpsk}TfXP~}Xf9}>iJIiP4Jr&_nKVxeXu zLvRCK02#@-2`XHnlo_`y?)-*pINthp{w0}7Xb<>{paWF8X5G*o7x?!2xp1*I{|sIe z4^uZPIWS%<(U4Z(W~%+;JoYYnwR_&87R7?O@oFyv(BpZV1}Rpn3?bYe_==_`?x~d( z2ozMYl56_~K3N&J!9#caYOPP&>{-YOgK>)^E{Y+e+$plFyBiP7ra*7D z_3h=t@**L{5V49IZR4?_s%z2dgI==-tdIaV^soZCnJkon)oisJjDsczU~APIzTDN27~zIP>-(9@vOI(HQ|wa7H4}9zGOAB{ z;RDDH(nWtFnu#IfX9w|*jD%u6*FM^S#M}`Xm1aMFV}bLA>{lY2Y5U20@%Iq|aK7w- z5Bwdo>UXyY6WX_bEeWiXTS2J%m7+Czp&tZmDB#F9g}_qJhb42t1qo_+&(E>TbZN)d)W~D2rblM7NGRbmoLy92 zTm^C?1-~R@?UU3cZFYYw-PVp1+I8yARk*EItv%IESgC9eCVCubybWtsZ9L@oFKz9r ztg54ReQvISJa(`~#9aXkZt3TK^u}=i>{fn34bG_9RPZa4$2)6UQvwVRKuHSXo=^~5 zJP-IlPV)VQ-%I2mLR48bN2j=FcNpH|a&BhxW{7ol0Un5iZ(0%h+4tfrf@1UC+XS%# z8(t2GB8TVL%HDu0=KoGB?>kc<-8fx(<%DccJ;{c{M7_ZbiWV1#;M5bz$^}&oq-w>P zn>k^ZP%fzegbt>dd%E3$I7aYly5l73_Jx=K>mM!k>k_bw`++qsNv8r|{9IBLtGeq0 ze$+bYg~FVxG!z8)te6OCd1(wR!X`Fq!yv0GXFia9UFbyLS7z_V>j?g~0 zKSkwVLFOV)n{dnA83S}^>` zV{5EN6W@~Y+WOpx!Xk9hicll3#SqL=h0ZjaONuO z`H&qJSroMV-_jtZ@-+Qe6sSEBJTa-u%vZAgw?t-(M|uuNA8l{*N2lWh6y1fu_?BFY zo)Vz)_4_{Ej-4&lA=Y&h#nzgIYYUYEH9G3c%S#=ou=oKZTt(v}K>veeYzM_-vBn*j17&tZ(UNO$8jpRl}E?bn?DM8Obo`ZL9pT+G72 z)Kplmgb%%p=LVtf<4S>fR@Lc4UETUY7b_dj@1CO#zoB%I_|MIu(`(`_PHn(<$;0_WNdx=Pzn zD5@__44-x%*v(2hI)oDG7o2>2HSL>$>$PSV zYq@+QC5_o+zsX_+e+6Z^)VnzEGv)IW$7CjWP#AYmtsjA$*Et~uGowW zOKgS}rMTKZ@}KBEbPD9XC=_jjm61si$wWWQ&hq7>;%yJ%B6)13{o)7TI|uV96yNT# z+pd-eSsMtypT$5uM}Hs>HhkzY!1Ba+eZINInn(;wsi15wis|K2LB`dnrB``pjG>*# zip|PKn@}2iy63NEg2|{ohNEO#u-5*QlXpdbW3}s5X^82sUB2r3s46C(mt#XiA?Ixg z6e00eaBXK77CyInTy9_8-{0HSXpt(vp((W{*3_ia)~fzWz<(e2vu%(RUvbcP1z!4= z&+W2_|Lm_GcaB+$@vUAmzkT0FE-vEh1|nLq(r`|kq69ZP-z8@3chqg@G;%*v^D%NT z$gA8r{BXic>#Q`exsu0_FUqqk&Mlgt7EhbVZFjlro?qdZY#WGaJGG7v4i>vWzAZu1 zVHOT8xhL?Y?g375<-SXc3W(cq)yFKh=|x^IC;cL=id|-&mt7)G-0*q1pLa(3#}6EB zIE^`(hsu~Am{N~?l=RSg5GUBzlZg%g?Dp@CiuEgzth}8V|0X_AeE&dB7V@eQv8ZDH>>lC8WV*}l^i{VS}LZRhgXn#GGZ zUEf+jLjFqoMN>X}lk*av)24`@hez|@7HIi=@Fr~l55K;lw)PCELa?=7jAH>`jthSQ3$! z2wYQ|ASRF-SnlUEd)K9j!MGY=*a#YAu0c|F>VHiNO~U(im&zOWhVfpD$f~5=0@D=Q zg~gG@EnX-C?NxgrQ9rx~S9Nez54Xu{kT^ zOMZGoE#JxlM4%WNOIC%~9s;it?*j5#D8{xgJfTOyTU<EgPQKi9HEl}F6mJ84BS*4??hqtk$ARM9C};y9t@^A=`QPTz3e8k80Pw=Gr5J=?%1 z&2hIWQN(dG&+&8aGn~f_Uw8r9J?!RjZa{jnJsPudGuh(W!j_hreKpi;;##N40Lr~HqkbBxZbYqxN0HEwL%ww*M#?Z!46Juw?JdSauo+1PH9#%!#f{eGu^I!6Dr zyDNL`8*^S$e@%829+u(sd{Du@P0>JCnkWX9QwKb-seqZW0#XBOjy-3!7mDIS%J==A zlW!O46$gAOb;OZa{_uPA(^eXcSiS~b@SHf=HjXU~#hFaM7-3|l$m1hSV~c1!L}9(b z8J=gPwC<;rg7)`9yf4i^MrbFyX_sSZN(*Rpj^M%oP;PK0B)Osc#Zkg zK&)}DJ!)ZEyHJW2rt)IbBww74*NZ{mxc9`90{f_D8z~(%xVQ!+( z2=gK4xFOKbN1759#pe%!7 za5x-HfO`oGQ|im$1cb&C8?2I&e#l>-Z_2E&{KTey7-O$50AEvzQu98GaxB7(xL`Yn zeQO6noBz713UEy^q(iSxPj62;m%F>V8eajj(`pM4!>YAtId}xi)WCNR@ELCR2BT?# zFl zG`EA(ZLbec!_$bB@=+7e3dTxFFsCbIkqNENEq%JZ-3}R7!$3^c+9c*- z(W=4flfrRe!vG9{+>eaPA|c;z3ff*i=QiW4=4noO5!GvfJyPi|vPfxVqB`JXhdJ{7 z8GucdC>K|nNWjyz@C@Nv*&i-8HZ^{a6sXvidppgJir?YZR8gMLP2RK!&JlS7!7to9Iv?y=?(b9N3=b{?!FlBgWAtoaVx z^2XNJ%O8;Lsa#i5P7dt|a9&5v5>xteA(%~Md%M@q0eMuhjYY`BBHvwX-Q92dfTduA zB|e-s(VPgLY3zRs6CjN;`?qh8qSn$S!04zq!zUp+2K+38ZbW6Q`)+*;9*$mM!m70S ziI9e$Q3|@+=~b!gqYU?4l!Az2*8u@DTa(p}cU}XjRguPrmizWYKV|i_I54;pxb2nz`P$R*vF%0&07tR3 zEGsJm`9EHEXRDNZ)1=C$u?T8v-IGZ=;`N^Ke0PQx8u^rrxg;|OL!d4AyXFejKWLU# zoa0LrCzj$YDRTcpw9IZ>@IBqz`5=9k$z;e3WB-cEc|_fJeE7Pt{&_##+fo9LsIH-= zR zw8^ETx`oZD=B*|AuArV)xy*#4!WRr1Z`e{mIfV&uu4Omn5Gq|tJkU_A7+Q=i4!2O~B;WBQipXHz#W7&r6bp1u zXC?Q$bzOvhK6+YER4*#swrwZnCwujVLes{Zuno!@Yb~Xxq@?6FG6h?UPXZqTU`|z= zFB0hI9268JkUD<;$5(_#9+RdE&l7b)lJ^m|p2VWAVe-KORlWgQ%iKol1mpl=-Kq=d zhfF~SvC@5S`6j|}Rh2@ql|nr~Nnc8WKo$@0lgL2QVYqHIy2|ARW$gNlp-H5KH0(8m z4;74^_XsiK3P*KdY+nqIlE+*BbBt*$3LDsJE>Zr7w!2L0&*tUYqk`6%l=gIr(a*|+ z&z}*}=(vq28SF!CCp_lO0M3V{UgFF9N6PTf+qll}WWMzFzeLLb5m7REOutFsA1H&mSTJVJqlv^T1%Qz%{y&Nc&}W=1Eoohh(|$h( zoRnJ9>K?s2bq=2ST=>*ergT!~tr%?bWFAWp>bU)+*I2Q0SLh)#0Pj0K=Gl)cpE!)! zpe59bD0%gxWh8Um>b!x2ZCS*YhF&+Aw%kDt)&U>x^i}}?+K&Hydjs_3&V>=a8`4gl zb$5WScKGP%s2s?b^R{VP6OjiA0Pv6MC2sWv&)SsiYcCTRDgoAuDGINls6@5#Zvqo~ zOAQCUL?JT^y0}GOh#Jv6Y5x#zNL^$hVDOQ$1LF;9D0)~Wm@ff%Ue5g4?5j4; zI?N8#ze4R=3M{;nrX8HFlxkPM>6ObL-x!L%e7Po~YhiHBLzhw?AsGgI9Y30?{zLZ) z1U{6Ue^C`K05;mV+B%00$jHW}1vr}0%aq1-jb-3;09EDX;P*ool1aI4cuAt@IusCC z8}t{MX_h!V`rJk}*P08;9 zBv>=J>5SX>ZJoek{L5p{>EGu+05a9(TT+tA(*RzND{;c=>%#@(uCPkJ0JU+q-%{qZ zbpsC>*g>6$+K}DdZ0z$s%%BaKslByr%*sBbJZPM%1S=I*7)GAJ;)DuTf6(*%B@DC? z(I{yBuAKL)&3N$57$F0=5dq<)Hju`+nL;Ux`(L(i)9uz((8@#Lx<@cV6^gQw(i9UD zlOezV!+8uD!q)L;1D&&=1fM?2re!~lYwZ{)xGlo?hFRhzfELhl!GbW zjJS#i`N{Ns5%-7YpPB`b5{RzNKM6I$2lD~hLhABqUhsT?BT0wys{5|@_ma7~+=$LI zu$FZdS`;D)UMG#Kem_?I=PG@=miqLEw^uL7vJa#|hb>`XBn|o@#YeQAm76OGpBcwA zX$APnfyAB^h0@=^Z^dA6uDxD{gC%5|#(uP&&!}E05o7&!<;2{HJ}#Ydy;O@sjd2~G zr_qd0_jU_#aT5MF=;7nx@#?6nb2$Yj0*dvIfUR^7;3l!5flb-u;;b!vnW>Dbpc63; zA#psd!2KR1#8oH>E{gz2EV2Byc9Gf5xl&q{)VZJM%Xl zxF-up2?+-=U7c{wq2&O}Fh9_j0HMS`IaB0J$zi`!DTb9f7#q>b%RAOJab~v@Ta2Or zi3D2Ty_CL}@h&zTw}W zQusc|T(@<9VVFwS&usyCgZb^ZgZ*ybqUnF!%P(#|L z@AF`rR&mBGYW_Y-!cmbSEQ?-@A`naM&8bGO`tJ@nG`+NhgSxlgU^PGB&_+xNqS#}D zDO2R^f`UYdlSaJ(iO`%vDF@vo$A~pt)e;z>gvpAh)+E{HbDdi@eC6xFa$X*{HZ5`A z()?Kr&&G0@Q&wc=S5j5wU^i1B%&VHm=k`2l@^MS8m*Lh>r+?Ma*$KSLrPJ%*+7vAl z(tNNXT(oFA(!XRt@w5c49xnZO^n#M9(l5`}pHdd^I8&@zbZ)~aMj|9GW)tgBqpN-&^l~)DmS$qwE`v{=?ePG3cclQ^%;X7(WCGZFh!c(HH7jRf*|+WsL2KXW9c0e& zt-tIwe0Q-xyLs~~vGuT-MHa7vI|L&=gP^uP0kKQ*DOb_5CD)~ck_Q3JS`Qvirp>HM zVi{qSAdOLe+YqX4bHlB5#dXuDOfu7A?AValU!oPT1MQMPzX(MG#jr%saB4;ScOgG{ zZpdq@HUHhQt!x{U$ocTs@MAwWVju&Re27L7LaD|eBmPcP?Q%mhwdMqMg(gl=JL{=$ zz!gHU<&mivoJti#+@Jf2sGayg@?F9eE@jq=I1WP=oKeui%Hyza``V|A-kXmz(d5)Gvm1J2sP7y*OsymbJHYU;o?4gW%qnEBV%#s{gh*M@i$ptGHEQ>1W7 zU(dg^xai$*l;;7v{S~2tgoH@LmX3w)8~9ICMH2jWbLj7M?Xs{nr_=kg)I7T1!6zuV z5xMr$!w6jwbkNUduB08(%f1x0IxWgL#?M}J?k4D>dzQ8NLPTVP5TJ`<1fjJ=zMHx` z9@x#cjTdS=hWz!6-{*c4s+uPL+9ByGq(NkA!Xo+3SG*1;d=A3xX&i6@t)O1Zw=MR1 zp@e!CsM!d@pu#BVpF=>xQL}GiDA|tTk;uBoPdAG+Exj9Jp&BrTD6LSu8C03s%B=

YKIUIc{w>dv;6Gr)CY2qVb!tyspSXm^dP0xg|ePUt21Re!qpN%>GjpA zQ>VgbG;WR1o3+JJ;p;dK4V6Tr>D>8g+fyyuWzrM!#JB)1cq@FtA%Klyo z=f1RW(J#_u_>b`n2vQPj1MaI#rg;M!c(xvWo$yCSrgM2|Z=c`DaK8W=>Q7VX3DjMy zQn1d*Um1H~?}Qlltung;&p2Hr#b5!$81YDxm97f*?#-6)Zn|$fS8B*(U9H&ak)2!u zT?!Pu=QoFCkK-RPzPDE<$!#FQJ$ExB*InvjFpzG)EAA{<}Oqp?1#I!xE z1&XfLLrH5r81KEylt~nE8>%aAE3@VkhX@{Hh|l!H>v>CS)m&2O}<9$c0i;c;+Vo z`tcuBYz?^DO3KfcfQTQZ5%Y$7?Q;if@Xu)&)HXh~`8b0jGPEMxyDdADRb>T1`IJMi zHbVSq4peQ#Wt9v2^7#hJznh(82#0{kkqI|m5%|a6-2qifJ?qBF1qqad@+6?jKLUnE zv>KI*K#avFc~C$_BKKEG7aBd6$OemXXUBz`$zSRjCqS~ZD_NY7r6Tv!(+J#?Fa?Ut zJC%1e(=F8j3~4kXk}C<=lh{5E4zdm*+RH;?l@%1|kj;?>KCL-`RqmU7K|}b4K&CnI z0~P}#z*RC9>z{_0)!=T0S8UJU@}dIIVgvnhnN@gCeejA_g(iV*6TXqoz;xs#j^Oozd~J7f}%Au`n*v4=!J$n)8J$r&Oo8vFYe zwR80y@VVy$YMQ5X0D<)Tbgo1eZ+f3Og$#jC{u49w28p0^8i~zCD&Kg_$MJV&EgUes4NfZsb`ORf`Z%ijhN)qQfQX-CUPCccQR7xj z7(`WusP%0hLGFvS%ojtYEVqM8+Fs77Ma&~Z>`!#A&715SI7|`;S!LzqblM?VCZXw4 zWb<_210V!LK#OP2gqy2xY`onKa5Fj66)uvkJ`;zS14~QjRH7_USxmNsErojyRUWLe z1FAAmBdfIX!N_4zo$2}jvt*@~j1(%nlJat!kKO+8%$}!V)`A_t2tN(X!Oy)GxO}^} zJL%$%#p56NP)Nm-^f?!D1Nq?di5AsV;C>`PV^X&bk5-bdo>ebtRDZv~x^pdV`G$%i7dlV_?lWV>B>-z zs+7)7F3Bvg?T~gXV=R+74=HS?0Oj?8Mf6_ZrCS9~lNtkdjArbkEczcf?qw=;+%T~b zF)>dc$>QM&Hty12XE}*pH!9-Tz9xLYHr;&6xTnw;iujoHD^?5fHC-rmE)6;aE-fuB zC(sw^4Y?wtco`cRZ6y@a%WDL87+wOPKo~Aq@$0M(I^QaWWtBG7M?J_v@po`G$PzVt zpB)w}s>j32t2QwyX-CNGe6>_E8qH{@&1HvUo#pBv5FQ?W62P$;)UC|X=l~No>yJbO zkMim`+znMH7;L(&Jood8CFya2&~scaT6j{y@zqO_KPD7f=8iy8m)rm=np<+JgX5WeLEg6ZcAxvV=fB}VzS;^vx%D*4oc$JdQe>b-EFho1d{x~I61E;C z($D76{O(6hVqameMQGgAZmN?u5+;g`ETLMC&ci|7&h3}|wi=5+N|k$_65XN~MtfjNG<-M=BS85lm#8Z9(S+{^=r zzw3KB%WQOX&YJK?udEDHI*YXqp8C5aEXCB9) z1OrdX^6^1T!TwxkU1tWp2R`I1nx?QK-s9c$T|Q?>2kHVL-^L5bSBwQfvlW-FaQFw{ zGL7Bcd5F@urdWMGq61sF)vRk|4=H$^emQev)MHF(k4&w9ECP!(8~nCGK~>izM#6yw zGpy5F>8fV#4UT&P{8MVN(^P3Xt<(B~8Znn4^q(&SyD6|)Myz5DWtg56>DA{yrnLW1 zT7A1AU=VH$)-!=+0PqtXi-vbY_BC@yvqljk^olu%YTGk5-6 z`-@4OBb8E`S|D5;|1zn6Rg86rLL33sr$@6=Ar34HBTsTCO;Ku3-X!4m@*Y{KV={da zblI^^iJXzKIz>T43Sh~bvX!i9fG8wG6BF6{bGZgxso8IU0o}Dm`!8KwSRSLBPI=*Y z7&X}Oa|>yHGL<&y-~dVtJ~f97fm$4cBP*T@ABCl4!V{g(gxcS3x8vGg;e zazg=+iKkzjbwDN9AqdE{Hhzq6W62cN7MVy7e%Uz^Pcr@l_Qa8ZWIe|}k4`j&Q0TyJu<#2sp2groCBwAh zJElEdHwoZ?6n)*r%E~gJV9=*Zq8b!ar6t-CL{lYRgWi|y)-6w4xd&I<>kkp4pxSzR zdI#9qJG<@FS`kHSM^DP4F{MmpGMUf*0}#19DtUaNA^drAR1ZV@H^P95f-QC2BU7PN ztwwtg=HipI`WqN*&c=09$j#WkZ{oq$M~Wwl<&4j)>==m<)NUJJoFy*L0R$U7JUkR{ zIlAxk1oHa(`DFkLBx_gK>n}Bab2~ev|CZZ&JTL#feg8+v#KHos@VHmz=Gdv^HPA=h zh;^60Ep{$)Vfu{In7it0=KT=G?c0Qy^Al~e(8g)F&%#m44tyeA53kDl3kVp0DS|xq zE6WRVo^pf#y0A10o00}e*tBUfaDPe~Ed^%c84A>Zmhmnw9cA!ZJ({$NvS5MFY0tL} zk|wui;su3PqCQRj=9nOWBcH4wtHM~?lUX6nHr0`@Hfu)eXI>fBKH@e`Q8xabydEpD zSl>%d8)sV$M~&Ayn>Lgs;!?90gT408C`%(s-E`)g`$9~&5-yj0eXL}40V*;1E<<@f z%aTrnj)KknRXhhe&t+^Tb0s0uPr9FM;o)D+W@^>1nL}352R?JyNJiz2i*)|FCvQRmIFmhrmr4tfcaJiK-bl3V!0OTrJ8hi zcXUK)ng}?J=zjnLRjGGfFE=|D2L=Wd05n`V`1F?=9T!uaId-X%I0lvW@FsYA^!#VW zMw3x`?b7GIiy)qdl1{2U0e#&`OAcPu0-@*emEMng!m^7_0q?Nfzqdurh-H0@a>akz{r z7-}*zz2*r+#jg4$>)ET$kb0y zr`Q$tl12dmJNQrC#tpiaa8hdvXQ*&8sf@^igPh%p-x=#ID}hrYc2=2h< zMuG}68)z^MPA)E#g9%QTwHF(*to}udzM1_2fG!Sej$YKM<3oV&DRjS`9mor>XJKL6 z)~|_@Cy24nILxat>>zAuv~8EqQ%P;jb{eCYwhtrI1m4t6T_zU5U^8C+J?JHeJJ>mw zB*^cyvYg{N;6oosJp|P34-9db_dY^F-!eJ(Sq;oza#B(!cFak4C|U&UY$_sRL6*>h z1UEBuR_2wg1^Y#{++qlvP@gb{965&uwaLbjWh}_uKQzEFH-=VCA%g2$tDhIYt$D1w zz^XAEraU&CU{wj^H2L+q{ONRpAn!&_C;AjZsG`_*DNezv95Rwnkw2H(z8-@m-La9B zC|@imrp)OR6h#NnRiHpIgv03&@0tJRwOP4DSeGt6iAa>|)}#4uA9Y}Am7yd=Vv=Iz`;r-S zl1bxzxfzRyuwF!wguk~c;(cj&8%tY|C3e&WkmE!wKc+N&a!+-IGOgb9KRY<@=clvi zX|cXva(T5Wc(f$~mfW#VcQF_bp9C3Od^BV>QQHbzM4LC!v_xMmY zNK#If?LEiUMO;OO#CDi`B5D}p6nH==mV1dATwPW}kPtsl6@dH#`l-X)w?7!CfT_e< z(|_=Wq=}Qhi5`mi`CDi$%W=GCsD9m`J_qWFV^IpCT+Lw1iS$#UAkv;`$QjCWL}M`w zke!|?HS^0bz;op`eHdquEu-S%_A7iwn$l|qP#)d2z5=shY9Q6&YNwY}STS~mDFbTo zucwg?wY)^Svqv; z$!MBVHc{#A^6KLURxFjHp_cbS!UwjpOhoMuKkic;ShZvtGZ2pRDROtJJ z_qA7+qKFE=PM#CW>6G6nOON)?a%H}@Z2rj3bQ8}`ssl%F19z@zN49)*1NVc=jrMvP z6XCqP6CSbC8^6%H%vMVVhl39uQ)@eD+?CW^EsL-qbfPUz zq!}VX2cw2$gfv{caGQ4r=!oG??f#1v~Em zD=XYuBLiOc-+z%a&@gG8ZC@uK`v`8Nj*KDhu7mtywX9i z&e{qt@4Q~SrJ4{c-eYp~*WH3NljL}VTXRFE+g|BwO*6eO7LKFjyi_cvq=?%5NZ1U1 z(l~oy%)Jl0c50nVSr44?Zmgv~la84kC1SQ=!O$-=zL{9)pSvBb!T|9$A^B^4zQ4?i z=?_sE$2>geDe+SM@IxQWGCUo#f5&7VFo9vk%kQ9r3-yWN8$%%xchuVzb^quK=kP;H zx&PqlYRq{Z0HgS=udnYM2<1EnqIheSXgF)>CSm}#kkE|xL?cljEIenasel;IjnJf) zK_w1hc`iX44##(KA(J_6Lpp3+pac8QQuuY}?GNwFM|kixx-}_GWe>o??75C)bu{es zI03w?$$BgfeusRl*MAfvYYn@l z9f)x*o$W@wMuIiwKiLMiYz-#PDM_EM31act>KMTapT^!qlrWOkmhNO2#6U0-wt16= z2}&?55Rn?N?!%b23aA5^=>Fa)eSpo9ifF4B%f8f{l0DQ}OqC0Y_Th@kNy76Ya$N5= zw|3}DGGlrXD}gv_9XwwTG@n@^Xa>bmX=^CC3x(s*sXid$7LL-U^Q?$bN4XxlPTxiBZpPj<4m@+wg$##K!EFou&7zmjV`keiW zK}hWh2EM!hB{KlJz5G|8biTg<+Efg>jl(t(S&xIUlqH2ycbe}rUjYwb1tNQw@!}8x zLRMR3S~F5&O$Z6B(kcFtrcnQ-UuQJTsv^_ey!-Fne?>jJV+p6dcH90(&N_FmE%bw+Hgtm^?|cyo%Qc%Fd2fKv^p+lHi|;pQ7`a*8$Qiv_Hg~3 z2Er8*-A{pR1;{C2f9p=NRLsfAS%G_Kr8m;>nHw?{JK>}GB2(M5I-j}zxtk3)m9`-) zD;dHm9X~ggVTAd_?=nO`oi3LjTJO?t5*N|&ubkRc#-DkX_QPe1U|z;O--=?HD@_m# z2^Jp)q0^v>;;EbY11S@PdYvT1#mHDi@(yIT?F+N}r$W%38hgiJD`*uozS*J1d(Vplb|ih_;lO3@s`M!@BGl-%=i zUssMYC^rLCwEsy>+yQ##P_{mw2&rjc-OAjFIoTd0Pc z!GOH#l^?o3hhDu5_^eAb=ym~VydA(d9kbsZEnoOj+`IW?PcgR5QhRP!TU$GZ2g)gn z#?&0wsrp+FbsOh=K14s!pGPp=*_OlR za$sJKRL2rthTQ^gt~Dhb7BH;{tB@Ji{c;K$&t8cTfsY(}y5(L9qg4tQrb7}YboMFNiWr{q6sYPCBCiYUX*92qJ(H@kr!@me5SGAxc4AIN+;0d4%wEAQ7q@Q zg?{Y+x3Zo2Fy@(WQ}A=qxZCACVaqT_IR$&oP$~tR9tdQ%w#-RP7kfZ(gQDV`B^!a@ z{EK`?|5+(HAUOeoBl(%bEqOKyZ!N=7Pg}7OSEIPSwcVpBx7%fDtA*8@wCia5OW^7C zHrT$SBSs`i4GcDDyIh_RJoU{y!Wmu;pjpZ{N?clbaoEpe`X{%inL-2T26BCYtaBh= zgQnK_r&o=Iqhqzdy*-$hB*}$Kxk)nP5H*afPq|{G0Xm`;3t{dzTa9EvJ1lJLSw`E< z3u)S&nm~M!FpQs;4q&z5SNJ~Ty?0Xn{UZQasT1$H0SyblT9DqJYo{9)o1#id-WD=GnJ;?x-bdNbERL+PE@J0 zUbTNbJnY#|?#^uCzB5KLBb!OV`c}@-DdJtR%nEQIS7>pUvgfNTF7nWZ0sn_%dl5D_ zLm5prGrycS+ueMCr)Fk*Hgj}zJOh%Dg9Y+0c~DC9Fd|}rTyrsT46Z0a8hBG@)FM_x ze3%Unhixy!gcJggg`4$AAxojm$pqTeaY832C%gin5uD+1TIYHIv`v{<)T2fnPsn&I zN)9Wt54zZaXQR6Y4oWu;koIgjTvCNhhwweJM=~>J zH5?K32shN4YtgW1v+(;q3h64kOFy-6FP9u1aCQ1Rz=-moILaoV-nY-=w0-P`lLymo z_~VUzPM*P2qsjg1tPp0Z2eoMVEENG2sY!$JJt>qG3qCp_)7THuPie0KsFEW8Gix^h zRy+g1X-|lUhbM>?D`h~FYPaCoy~H)`H|78b1$jLi`9{Md=sI;|6g-z|a==zi@bTyd zXBoaGrmddl!;_mYjj*-aXf+uL_$32H*x35MrV*tJfy{IvFR_3sD(c_zkSQA-u>LVe zOWoXD$zh>`@07@(n`&WLQmC;0<4B#ZK=GPA7}c~qJqn*Yo|#(FNHn!y)g zlIa#q)xxiMbw$%PsJ0dcSQ?(trS85kE#g@$#1v6%EZJAc_FtAXEy+hwP>A59<&!NH zXOZ;SQ;l%>_1xQk1MmaWsbnBhr~|+$6V@4buZwVV!!GD|W@Kb^x_1y^(6mGKYx?_e z$$_xhQ79p-SCUt#B&| zOGA|yC2t|)h0a=5T%<^TaSR$k0RfprB7PvOuMP0tSrigH?L?L64-gR%OyMEiP_fN`4e+B)hvJ!4_*4xGs;sGwNA&wg76$zQOOeb z$DGmD!y1yg+^J2;6#)rWaxsP-@*lk9C`EhYK?M>J4~UeECo~V7dOR?z0@A^1y-ZCD zVXY%ol$D(TKicJtCC64=F@#wd&S$iafq!zz22k@{D3Y8glt2uQIRL&0`1@y?5|Adf zQKpPhWfcQU*1tlc<2P1cv%avkn7g`SxMxA3BxV5X9X7LM2m}P}`x@%+y0PcB13y-* zHY&kdtq$YTo&RNa>P!S?aALDp+DTL0#UX-fWebr)FW1rC=pcA0{Hv;1L}%B@<62`o zNxQznZu%olpdtATe2{4%!*Y4~V>`vX)T=tO;WMClM+ML}hn=r2hnL}HxcYcm+M~Un zhR?9sh_+TDFGV;Jc9&Wr1$sQwbY2fT`IpgYMnp=i1}}$@K9ogT&LtA`Wun?dVbdxm zvfe9h-zXY>22L875t5u;U6DfWECcztmxqT|_<^`{T&ULJ18h#V3{fWcZ03rHaN&$V z;2kn5DrzcVH%ygHB+3@`yR#iX=R-?m%^i$b>3zR&i3IXK$yk)K)aFow#*zoC%XZ5# zbv7f2V&sU=5@ z8&)FDjzVm~$vFAz_ERv?(+y!DFc&cI-=8k6S5{V*WoKuvKR-X$7t?W6D5zx>sf|@s zRZR}cH36`Rtk-P7EW*|tUu~iVGfK)WCx?4}z3qEMj2stq-6i)O-PvzAnMsf>L@UfP z8*gq-A(>8ABKd~`u0+gvD`U4erQ!qU17DX!gYyOpJTJ!&$$H$TE}u(pJ?!?2c(lnd zd!|~u4H5(>8bvY%wUAj8#1*Wvrani7F(Zj#aP6tByFKK6Ya7|PO%i9gMaY|lg9Wi) zmkX9amyO`d^eA4#GsFP{>kg4*wkDF3ql1*5mSjoOBpt5mUiYACUS}u4;?jCdSXeA3 zqucROGnF3CVi?#ir}!Dlj9G1?`m5D=1B)vH`no6*5OaSz4*&xWIy(3}ii*U?teYfg zQu}>>h>@8Bi#7+=-Zu_j@uPMd(cMCHPHd!X(SOe~!y9cb@kMF~c|p5D@HgCa5E!bx?jB24dvMk4AD`#q_DA29(o{&It>kE0) z9W+FnLenot3|92C!sP;}m9PeZESwON>bj0k^x(MPl}s$Nl}W25T}tOsKP)8gUu-_ ztpzsDC@UJMIW-;v`-AOzqO&A``kG#VGtqw|hVT~{cP{{}%1=9fXUx7H9?fv;`KCho zWC%eBGo5(tK1Y`mhj+)GW8oMy0nvBp+Ap;$4<8tuk?s*!E%}({Fbfb>eqkP*W}}mv z%Z#{kYf$GiZVmO^U0sD5qX;vslzDi0YzN zi`j%bEH@0-8YVX)+^!>QnU0S)Gpz8B-x(LfKjPz;-Ghu3K&bstn{ug(osIQ_%@M*^ zFS8`qD3qPMvak_S4g(b>Er^J0N0^9wZ%C(e=owynZ20;6hKIw3kkhQx$*O5;{$Gf- z3)ogT(#L-rU2HVKes^KpmDG`?QD?}P&JIhooD&o2moV+!QNt7e`O;Px%1o#(hOH)) z9<|?WDL;#9G_60Tiy~uRPSHXf`=M0UHx3F9-&cPGbz>!s%GR3n7K9tp9I%o{qq(iR zGk~IUkvyw>N_X~uW9zYisQZ-7I&tpOC>86v%5-WME`*L(oQt$G=$MlzNLlGS^ob14 zYc0!?RugETH1m;mPwWl0mzJf}yln{QnXz;_!-`>SXvmcGZi}Ki^_z=2VCi9T-aj^v zjvwxrkl^35oKr=QQwO{8%Fq`krD&%t8L*kU`BnZ1(Pr~EZ27BF~msE=-hsh!J4<7rN5L2(0TTL#4`Kqoz_jh2tT?uoYcybVD-(<}BLpMlx;Xe`ZyJ zd0Eh)<|Ab}(xvBI5$>DY3hPKkLr6B}6Gm)slXF-Lqiiu+cz6o`WYB2pU=8p0A;H3; zp$3V44x_{7(o#G|V3sNIj9;;6cw-TH%l_|xM&L;UWdnkYbd(rP#j3Nc`*FVPEwXoAi!2MZa8CZc6viDL%P{P5j`#niY`^BVNQT< z%9Soe>rY>+@#0DgWG;S)GBb}Oo>bTOu3`XU(CU!P5KC8Sx88M}G{xn3t|#!!eg1v= zm5HB^k3=}6;opCW=P%t?fmg9@J3+4%wP#6fz|tdx*g_y57b;Xt{iZ>y!9kqg-4ut0 z7)1R;DzSe$y*w|@19?lkouoFdF)z#mxlP|84@UtGc`e%Jh*<~Thkq1`6bWjAo5A( z7Al;_)meTqt8WgCRzB;DGf=!H@7sZl?IbI#E@Fr;v)hhcU%MJZ@H*xmK{ z0pUdM(tWQz8vHgIeExcns)|M#@zC1b>GxbmTZF$JHJThZFHq1EU9KpIa} zYP`Y`detmG%0*k9{3gxmS_`mlDbmwF%s9(6tZHm#IAB`)>M4w-d^3PcAeRut4n9*83XiD<+l|PsNt(T+eZvQ>7y6OK(wo zf>v0l*TedSXPDm{!gOS*7e}paKKON^2`?}q|GN{RkDtdvnXeU* z;uA|8v|Ht~9xFVLJcStYG?f<>;Yb1tMb1?p3^6W(80dF{V9MS~`tC^z4zD~~7e=;3PH`{E#*Q}O)S?Y|RwQrHKofDZt; z;t4Dx>;O!c(8=TLBYj+>)Bc_-=-)Ia(yZJp82~$V>=DVL&fe}xCe{*;@ zh5c^JQe%uTvAcy!m)FG0ov|G3y>rhvU(PA1mNC+|dh@VLOAfeMS3CP{)e3%ml?o_8 zZou()e}EB4(@`_(OH$er%P>uX3Kycp_)(iH$BBAARU*lPxhV41eyv#HzaT^PD$V8Y zznPO4kGTIee)$cw14f0Pw&nW)A1*RYJDEd=1gqEvT5}8vqVM4n5$$#5G~DpAn`toLp!AffmS3{W0hTZ~EKv*!^JsbOF;V7x--}~u5sV!k6I!^8+ByikdMW@}ay~ zp2E+6vRDnjHkCRoj4gk3W3hfLnK1hk)9Yjajjf4%7tlNJ0oDDbL7TI1fkNp+v_ui) zWMgXuc>VXceatNejqW~7DkmB>lw7EyP;>o!wiahHDybt5$RUdi3|b=?DLm>qbU$$1 z#;YimEPXYWIwp?FqQ8X&Woy+>j|-YkzYolHHG^<}(#%x)^Lpqa9m6HCLl$2V>`*NO z9HWj;AHH41F6MLyovr$JL)$9k!@#l}<->?(kd8&%>342evysLh&$eXkyT~%-)arR_ zo_Eiy052RO{8G68f8`D%EJEeS`_8|>{jssJ<-NVV{J3Hv5@45i+S#+l_D$Pp z?D6=1br!tw>K-?LA>4PtH~!iJI<|+{fYa>bSzakRiNt>yciEN{-XgZO@P=2g=AcWR zHVcD+wOjp4lL84-Nr=mViaG_uw4lbV#qA-jwG;-zQu<1bpNwZfXphHx@4@m++447v zm8%lFT7HgpILDy1^jl62)0DXMzaxK~q|8)mc=%Brq+UQQ-C15<{`lWQamlmWB;!yS z4E8$i+_uG+$81VOJ7@PC@O(eI!pKSCCEEULug- z%82G=BL1Lez#7YK`9(RZru+*e63p6;d#-!=tidy6RC$!PR#8(13%RtiQew#v8}z*G z+gw_X^?nj85Xxj(*aed0x25c-Ze~M-z0K^jvh9phqNGN)U7Jm72Tj^2Elf;=iZQHj za&0Wmd;P5J{@PX4Vb##lAy^qvdUt%hu?7uqTzT#}7V`fOCZiq%j4`(WwNf4W%+!=n zDcyuh@6L`LzDx-i{Aqy;y3Fpk$OOlRYquK~1tiqO(Jh_H*nTXYSQ?cL0vIke0TOQ4 z>;G!H>Y%9JuaAT-y;2tKg2WOch;)gtG|18^AW{p`(%{lcEa?IwDIH6vq?ELD2}p+` z`31rEQGPEo4F52*aqm6PIpxtgR|#oWn#+mRKM;+$SQwmtqS4{C-6N65a{F_M#1Iw! zSQ&;xPtvsIK)zjMRCYhyb19JxIGP{2s|i(A@(ET}ce$}J=~e`He%8=!^d7vP{ORyo z;J*(gM+qtPJDRdib8OuE{1lW6^*bT=L6)i*5?MUz#_%f+NA1NEL}89`Vmqs=aQKba zsl!2|!5$}5kUKs8A~(u3k`;QLjOVJk1xss7+Rlk4l|b;()z*R5;j^-Z_}vC<8C!}1 z+d@`&Yz+G?f+qzU+_alMw;*;-Le7bgQ0_TgW5oaC3|9up-03PX{zWOr3RtF`~Z%gU<6185yV zTGBX5Z7aM|Qel+-Rl7zcRhu~R0s(7oTQ*_#i{Kd9@Z-WPu0qWh2YZ;Ek%hYjNil4y z$p_KFOD{{OW~zMjka=x>gT-2t4ib=d*P?b?xd7+tHW-h z7wAI@>f-FjpNWNw9YF{6n)z?Nf2W^}&f`yi&T~N^S|AYLegt09fSop1 zUovq$vl4+fUKvhB`4PHjLeNZ6Y=H|L|>T)K{=m1s^a=Il(Qv%}R;u;(@?r7NzHD)Cc^}-RXRYmxx+OhdawNbEiji^59 zI^=3~AcC&IqV-t{$WnapPODYBbO~S8GU%?ybwQDNq~+@^e>4t_pk^bl;pb|4!~WU1 zQ>xP}s z(;xl+OIm2I0CGJc-I@~G)PFOM5@`cC4BbHEyrYe*l7d29MLNZ6ml7DX><@a_KlOI+;i3$0+(QRG%r#tl zwR>`c7K-uc<;t|M-Y>Aj6!tuCf%c+}=ibk?^^Y}vOlrT$(>|oCNrU{P z9>uL>E|Ah=^nh&nHwcOIzIbQ-{?-&AO-1YyTsHgKwN8scj!sTx`=B{)0Ju6TeXwRq zu%A88i!DR9W-89rk0R{Kw4_-WKtP@e1R$cFD>90g18RPX4nR1)bCy0u*izEmE4sTB zrCfj{JR&Fgx~SpYcP)XW;%1NJ-VkZ4$>8E7PLEU{C!(s+Bc0swp=nl-+L@t`hk9Jv zbF9d4_iSLVl}Wh@&Rt?N{TNPnM+><#`}fW68ZMlUuY-K)zWUvwdzWul@R9dX(ZOOU zQ}tgzZx7a3Pgamj@E2hmt<1B*;%uIAVc;@k3i49}4-|t2)hcD6@ zs|2>zyBk6n1J;vsXMh2KKfH7SB4M$sl6535JREa^5J3RAaAuRs+hrq@-%tlhiB70 zn3C8zbfoBU{L0r48X+g^3Uwrl&VAp8EK!l zSrP5!{)*=0*#FP*5isI+@fT;50>QUOft>XvcZ$u-uQkON6&N8Oe2_KkDY!1eLjFPq zuZ^(cO8s0=z(dtgA2!ZSmU-7gOWU}64u+xawJJTEw@Ma0F1j`JxJkuNOv7VMO z`VnJQH?L7MI0qSZ@OE7(O=&A)C*;a70MQ$Av#$GT==T z^Z$Lar%uTvDekrUZ|rWIMs?RZ2lYKlW97&XwZgCQixIzn#zyem9QQp5+*p0cHT2U~1ta5sGk-v= zipJ8*hr7h*MD+OOI@TZbd$~1fu?8nz@752hC%gJuo|TZc2VXJhfNe=5pE{%}f7skE zv}~st;dJ=&Ncmw9QLfF6^BDMzN*(M66T}KUq2b^K?zdbwjwH)9>o$FbCf(nsF1 zw~!k-u)bKf?;Ie^EleO*QH7V6mqJKbI33`#pDuV%Dz(jYpkhOwP^RGyjlk?-!M}xmMYGW+~nP`knwgfk2{? z;E5Lx0$F5q-;jhE?jU^XGMtg^cHiUxEp_JB zU@FR74^K=Fds8H)tVknc4TDTXDa92S2bsb}j3=J=$n=GKC8^vHU{C*(3n~pRfk3RQXk>!nxp)SNY zZ`Ep6bd_b+kqoji7bX8_tY|CuM3Lk6`|vvPe6B?L1jL`(57BdP;Tz|VG<6l<(82qZ zKu20uSt*z@xaKH%G-;9UyC$|E@(08|4T!&ae7Qb)Y057p#q?i~y5ETZ&UDp1BvRsL z_~U9j>^KNFBWx?JJql*MjxXAwP^hR=6%)hloyA`FsCMdgJz6&1Qa~TaW3c$2<*hh^ zH`_tOMwq8&j|tAYv|#!I@*P&VFkiKk1P5j5LoYg7-b226k{UEwz6}f&EN#c8R^ zjHcfxgX4wKNV=RE)^e(>o{%FjAI>dA08<5ctWsQi-FgS0!V@6o8ugby=yL4!Wt<6r z-WtpfF9*%_6MyeE{BWnFpkVwe=;jZ~1I7E&5c9_@zw4)2mrRP}#Cl%^Tld(3j?<*z zXMijdvr6qEb)T?%dIvh~=B=T9eu@2Xwc)6=B>2~nyA!rR7XV;_sfwgTJD zrUtOPB3<}%acs@>Jd@DL>ff8)EB$j?%99TG%u$b7%kR;UNQT4=WpF5w$8excd%TJ& zD2iL~;N|6ux}w^O#}sYe%n~o|25Q)grhVST7+=FXPk7|9aXhoBHL+LA<0G!8Ni}mN zS`v{O4YSnrVpx|{uK(d&#nEGY3%6$KoW`*wew$Zb2)V*&({hNmGuNl%eG{~dHqkaP zudl*}X`I@bGPL91{et~PC0pFUd|5nA&9tDf@azDbWl2DOd;e@inNLDHSlr}aHGZkS z_xX+^dg0YtnraPdZu%BUa5Xcma--hF;%3M~-{&Yc!s@Wleq}Iom2TiO{=%~&tm_L2 zxtiJlBh&z?>QvH2wKuytAvi?q6qA~=RxyuYe_bV-Cj92q-4-2g%e2Fv@zm-ijSWzU zg4bMo8Hy0`Er(+Y%60x;+$V~Zs>cFjt@p%0H2@~VLK1}MOs~lQ(Z)a^t_NOJRHSk% z>ApGseY%=OCmlS1^)sxb$=)!O zCq^E5#$)Mdx;%<`okNxVM*1^8K9U=icdK6!m>Qg#fQyW<7@j_uBJRgLq|ThYf`OT{ zaUw7UTVA{={kga)dllrE{-*^g+{@+9d`H_;F8f0na?5||*cO!DlLWFv9!uhVp zTPEPGvTMX!BTP^6I>DH_#3%U4<7g%I>ZOFn=W>+?_1kv87;YC8Qs(v9Ka6B@MRFPM z+;aVzL$av%tYh~}Mu(lqDq-@ZA`72WOM$8J9&xBKgI}4=5HA&#o_wvX?sqRWPyJXA zV^SNVo*2JDoq~~sVv|l$Jgkc9Xyvy>qo<>Ssz}Xv;BL%0Driw(q7E$Fh5?IVMnXa& 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 diff --git a/Client/resources/devices/wf-1000xm5.png b/Client/resources/devices/wf-1000xm5.png deleted file mode 100644 index 413f582dd4874443fe352baef7eacddd69f7eb32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63455 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

vdu@Z&y;no> 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 U=jMj9-$5QJF?rEyVZ)&R14!mIL;wH) diff --git a/Client/resources/devices/wf-c700n.png b/Client/resources/devices/wf-c700n.png deleted file mode 100644 index 1e183ff2576ca94388f91155de050edc2e73a63d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65464 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 xK0%rr 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 Uvmk}mMF0Q*07*qoM6N<$f^=zemjD0& diff --git a/Client/resources/devices/wh-1000xm2.png b/Client/resources/devices/wh-1000xm2.png deleted file mode 100644 index dd502bb5a5deda69c05e4c51055bc0689bb3321a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120624 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 z 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 b3p)M-hx9PKU2Z{`00000NkvXXu0mjf7GeJS diff --git a/Client/resources/devices/wh-1000xm3.png b/Client/resources/devices/wh-1000xm3.png deleted file mode 100644 index febf92e19438fe9266ed23430587e4d88c931d62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69683 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%0Aod4!eEO!w=3Q1Yg%<(mo3@^LMSGTA3qt} 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 KMNUMnLSTYw-Eckt diff --git a/Client/resources/devices/wh-1000xm5.png b/Client/resources/devices/wh-1000xm5.png deleted file mode 100644 index 5c58b84416c855981db3fc96f86a5a6cca64b8e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76768 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¬s?iV%>x7LR!s9on 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�t!!{=jh1j2QecRrxqPB>X7uu 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 diff --git a/Client/resources/devices/wh-1000xm6.png b/Client/resources/devices/wh-1000xm6.png deleted file mode 100644 index 61f2e586afe131a69a5e25e766d4ed100b333118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112001 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

-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

1RU+lg(kf5f6jLs&ZFPDb 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 -#endif // STBI_NO_STDIO - -#define STBI_VERSION 1 - -enum -{ - STBI_default = 0, // only used for desired_channels - - STBI_grey = 1, - STBI_grey_alpha = 2, - STBI_rgb = 3, - STBI_rgb_alpha = 4 -}; - -#include -typedef unsigned char stbi_uc; -typedef unsigned short stbi_us; - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef STBIDEF -#ifdef STB_IMAGE_STATIC -#define STBIDEF static -#else -#define STBIDEF extern -#endif -#endif - -////////////////////////////////////////////////////////////////////////////// -// -// PRIMARY API - works on images of any type -// - -// -// load image by filename, open file, or memory buffer -// - -typedef struct -{ - int (*read) (void *user,char *data,int size); // fill 'data' with 'size' bytes. return number of bytes actually read - void (*skip) (void *user,int n); // skip the next 'n' bytes, or 'unget' the last -n bytes if negative - int (*eof) (void *user); // returns nonzero if we are at end of file/data -} stbi_io_callbacks; - -//////////////////////////////////// -// -// 8-bits-per-channel interface -// - -STBIDEF stbi_uc *stbi_load_from_memory (stbi_uc const *buffer, int len , int *x, int *y, int *channels_in_file, int desired_channels); -STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk , void *user, int *x, int *y, int *channels_in_file, int desired_channels); - -#ifndef STBI_NO_STDIO -STBIDEF stbi_uc *stbi_load (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); -STBIDEF stbi_uc *stbi_load_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); -// for stbi_load_from_file, file pointer is left pointing immediately after image -#endif - -#ifndef STBI_NO_GIF -STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp); -#endif - -#ifdef STBI_WINDOWS_UTF8 -STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input); -#endif - -//////////////////////////////////// -// -// 16-bits-per-channel interface -// - -STBIDEF stbi_us *stbi_load_16_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); -STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); - -#ifndef STBI_NO_STDIO -STBIDEF stbi_us *stbi_load_16 (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); -STBIDEF stbi_us *stbi_load_from_file_16(FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); -#endif - -//////////////////////////////////// -// -// float-per-channel interface -// -#ifndef STBI_NO_LINEAR - STBIDEF float *stbi_loadf_from_memory (stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels); - STBIDEF float *stbi_loadf_from_callbacks (stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels); - - #ifndef STBI_NO_STDIO - STBIDEF float *stbi_loadf (char const *filename, int *x, int *y, int *channels_in_file, int desired_channels); - STBIDEF float *stbi_loadf_from_file (FILE *f, int *x, int *y, int *channels_in_file, int desired_channels); - #endif -#endif - -#ifndef STBI_NO_HDR - STBIDEF void stbi_hdr_to_ldr_gamma(float gamma); - STBIDEF void stbi_hdr_to_ldr_scale(float scale); -#endif // STBI_NO_HDR - -#ifndef STBI_NO_LINEAR - STBIDEF void stbi_ldr_to_hdr_gamma(float gamma); - STBIDEF void stbi_ldr_to_hdr_scale(float scale); -#endif // STBI_NO_LINEAR - -// stbi_is_hdr is always defined, but always returns false if STBI_NO_HDR -STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user); -STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len); -#ifndef STBI_NO_STDIO -STBIDEF int stbi_is_hdr (char const *filename); -STBIDEF int stbi_is_hdr_from_file(FILE *f); -#endif // STBI_NO_STDIO - - -// get a VERY brief reason for failure -// on most compilers (and ALL modern mainstream compilers) this is threadsafe -STBIDEF const char *stbi_failure_reason (void); - -// free the loaded image -- this is just free() -STBIDEF void stbi_image_free (void *retval_from_stbi_load); - -// get image dimensions & components without fully decoding -STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp); -STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp); -STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len); -STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *clbk, void *user); - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_info (char const *filename, int *x, int *y, int *comp); -STBIDEF int stbi_info_from_file (FILE *f, int *x, int *y, int *comp); -STBIDEF int stbi_is_16_bit (char const *filename); -STBIDEF int stbi_is_16_bit_from_file(FILE *f); -#endif - - - -// for image formats that explicitly notate that they have premultiplied alpha, -// we just return the colors as stored in the file. set this flag to force -// unpremultiplication. results are undefined if the unpremultiply overflow. -STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply); - -// indicate whether we should process iphone images back to canonical format, -// or just pass them through "as-is" -STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert); - -// flip the image vertically, so the first pixel in the output array is the bottom left -STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip); - -// as above, but only applies to images loaded on the thread that calls the function -// this function is only available if your compiler supports thread-local variables; -// calling it will fail to link if your compiler doesn't -STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply); -STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert); -STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip); - -// ZLIB client - used by PNG, available for other purposes - -STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen); -STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header); -STBIDEF char *stbi_zlib_decode_malloc(const char *buffer, int len, int *outlen); -STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); - -STBIDEF char *stbi_zlib_decode_noheader_malloc(const char *buffer, int len, int *outlen); -STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen); - - -#ifdef __cplusplus -} -#endif - -// -// -//// end header file ///////////////////////////////////////////////////// -#endif // STBI_INCLUDE_STB_IMAGE_H - -#ifdef STB_IMAGE_IMPLEMENTATION - -#if defined(STBI_ONLY_JPEG) || defined(STBI_ONLY_PNG) || defined(STBI_ONLY_BMP) \ - || defined(STBI_ONLY_TGA) || defined(STBI_ONLY_GIF) || defined(STBI_ONLY_PSD) \ - || defined(STBI_ONLY_HDR) || defined(STBI_ONLY_PIC) || defined(STBI_ONLY_PNM) \ - || defined(STBI_ONLY_ZLIB) - #ifndef STBI_ONLY_JPEG - #define STBI_NO_JPEG - #endif - #ifndef STBI_ONLY_PNG - #define STBI_NO_PNG - #endif - #ifndef STBI_ONLY_BMP - #define STBI_NO_BMP - #endif - #ifndef STBI_ONLY_PSD - #define STBI_NO_PSD - #endif - #ifndef STBI_ONLY_TGA - #define STBI_NO_TGA - #endif - #ifndef STBI_ONLY_GIF - #define STBI_NO_GIF - #endif - #ifndef STBI_ONLY_HDR - #define STBI_NO_HDR - #endif - #ifndef STBI_ONLY_PIC - #define STBI_NO_PIC - #endif - #ifndef STBI_ONLY_PNM - #define STBI_NO_PNM - #endif -#endif - -#if defined(STBI_NO_PNG) && !defined(STBI_SUPPORT_ZLIB) && !defined(STBI_NO_ZLIB) -#define STBI_NO_ZLIB -#endif - - -#include -#include // ptrdiff_t on osx -#include -#include -#include - -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) -#include // ldexp, pow -#endif - -#ifndef STBI_NO_STDIO -#include -#endif - -#ifndef STBI_ASSERT -#include -#define STBI_ASSERT(x) assert(x) -#endif - -#ifdef __cplusplus -#define STBI_EXTERN extern "C" -#else -#define STBI_EXTERN extern -#endif - - -#ifndef _MSC_VER - #ifdef __cplusplus - #define stbi_inline inline - #else - #define stbi_inline - #endif -#else - #define stbi_inline __forceinline -#endif - -#ifndef STBI_NO_THREAD_LOCALS - #if defined(__cplusplus) && __cplusplus >= 201103L - #define STBI_THREAD_LOCAL thread_local - #elif defined(__GNUC__) && __GNUC__ < 5 - #define STBI_THREAD_LOCAL __thread - #elif defined(_MSC_VER) - #define STBI_THREAD_LOCAL __declspec(thread) - #elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 201112L && !defined(__STDC_NO_THREADS__) - #define STBI_THREAD_LOCAL _Thread_local - #endif - - #ifndef STBI_THREAD_LOCAL - #if defined(__GNUC__) - #define STBI_THREAD_LOCAL __thread - #endif - #endif -#endif - -#if defined(_MSC_VER) || defined(__SYMBIAN32__) -typedef unsigned short stbi__uint16; -typedef signed short stbi__int16; -typedef unsigned int stbi__uint32; -typedef signed int stbi__int32; -#else -#include -typedef uint16_t stbi__uint16; -typedef int16_t stbi__int16; -typedef uint32_t stbi__uint32; -typedef int32_t stbi__int32; -#endif - -// should produce compiler error if size is wrong -typedef unsigned char validate_uint32[sizeof(stbi__uint32)==4 ? 1 : -1]; - -#ifdef _MSC_VER -#define STBI_NOTUSED(v) (void)(v) -#else -#define STBI_NOTUSED(v) (void)sizeof(v) -#endif - -#ifdef _MSC_VER -#define STBI_HAS_LROTL -#endif - -#ifdef STBI_HAS_LROTL - #define stbi_lrot(x,y) _lrotl(x,y) -#else - #define stbi_lrot(x,y) (((x) << (y)) | ((x) >> (-(y) & 31))) -#endif - -#if defined(STBI_MALLOC) && defined(STBI_FREE) && (defined(STBI_REALLOC) || defined(STBI_REALLOC_SIZED)) -// ok -#elif !defined(STBI_MALLOC) && !defined(STBI_FREE) && !defined(STBI_REALLOC) && !defined(STBI_REALLOC_SIZED) -// ok -#else -#error "Must define all or none of STBI_MALLOC, STBI_FREE, and STBI_REALLOC (or STBI_REALLOC_SIZED)." -#endif - -#ifndef STBI_MALLOC -#define STBI_MALLOC(sz) malloc(sz) -#define STBI_REALLOC(p,newsz) realloc(p,newsz) -#define STBI_FREE(p) free(p) -#endif - -#ifndef STBI_REALLOC_SIZED -#define STBI_REALLOC_SIZED(p,oldsz,newsz) STBI_REALLOC(p,newsz) -#endif - -// x86/x64 detection -#if defined(__x86_64__) || defined(_M_X64) -#define STBI__X64_TARGET -#elif defined(__i386) || defined(_M_IX86) -#define STBI__X86_TARGET -#endif - -#if defined(__GNUC__) && defined(STBI__X86_TARGET) && !defined(__SSE2__) && !defined(STBI_NO_SIMD) -// gcc doesn't support sse2 intrinsics unless you compile with -msse2, -// which in turn means it gets to use SSE2 everywhere. This is unfortunate, -// but previous attempts to provide the SSE2 functions with runtime -// detection caused numerous issues. The way architecture extensions are -// exposed in GCC/Clang is, sadly, not really suited for one-file libs. -// New behavior: if compiled with -msse2, we use SSE2 without any -// detection; if not, we don't use it at all. -#define STBI_NO_SIMD -#endif - -#if defined(__MINGW32__) && defined(STBI__X86_TARGET) && !defined(STBI_MINGW_ENABLE_SSE2) && !defined(STBI_NO_SIMD) -// Note that __MINGW32__ doesn't actually mean 32-bit, so we have to avoid STBI__X64_TARGET -// -// 32-bit MinGW wants ESP to be 16-byte aligned, but this is not in the -// Windows ABI and VC++ as well as Windows DLLs don't maintain that invariant. -// As a result, enabling SSE2 on 32-bit MinGW is dangerous when not -// simultaneously enabling "-mstackrealign". -// -// See https://github.com/nothings/stb/issues/81 for more information. -// -// So default to no SSE2 on 32-bit MinGW. If you've read this far and added -// -mstackrealign to your build settings, feel free to #define STBI_MINGW_ENABLE_SSE2. -#define STBI_NO_SIMD -#endif - -#if !defined(STBI_NO_SIMD) && (defined(STBI__X86_TARGET) || defined(STBI__X64_TARGET)) -#define STBI_SSE2 -#include - -#ifdef _MSC_VER - -#if _MSC_VER >= 1400 // not VC6 -#include // __cpuid -static int stbi__cpuid3(void) -{ - int info[4]; - __cpuid(info,1); - return info[3]; -} -#else -static int stbi__cpuid3(void) -{ - int res; - __asm { - mov eax,1 - cpuid - mov res,edx - } - return res; -} -#endif - -#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name - -#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) -static int stbi__sse2_available(void) -{ - int info3 = stbi__cpuid3(); - return ((info3 >> 26) & 1) != 0; -} -#endif - -#else // assume GCC-style if not VC++ -#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) - -#if !defined(STBI_NO_JPEG) && defined(STBI_SSE2) -static int stbi__sse2_available(void) -{ - // If we're even attempting to compile this on GCC/Clang, that means - // -msse2 is on, which means the compiler is allowed to use SSE2 - // instructions at will, and so are we. - return 1; -} -#endif - -#endif -#endif - -// ARM NEON -#if defined(STBI_NO_SIMD) && defined(STBI_NEON) -#undef STBI_NEON -#endif - -#ifdef STBI_NEON -#include -#ifdef _MSC_VER -#define STBI_SIMD_ALIGN(type, name) __declspec(align(16)) type name -#else -#define STBI_SIMD_ALIGN(type, name) type name __attribute__((aligned(16))) -#endif -#endif - -#ifndef STBI_SIMD_ALIGN -#define STBI_SIMD_ALIGN(type, name) type name -#endif - -#ifndef STBI_MAX_DIMENSIONS -#define STBI_MAX_DIMENSIONS (1 << 24) -#endif - -/////////////////////////////////////////////// -// -// stbi__context struct and start_xxx functions - -// stbi__context structure is our basic context used by all images, so it -// contains all the IO context, plus some basic image information -typedef struct -{ - stbi__uint32 img_x, img_y; - int img_n, img_out_n; - - stbi_io_callbacks io; - void *io_user_data; - - int read_from_callbacks; - int buflen; - stbi_uc buffer_start[128]; - int callback_already_read; - - stbi_uc *img_buffer, *img_buffer_end; - stbi_uc *img_buffer_original, *img_buffer_original_end; -} stbi__context; - - -static void stbi__refill_buffer(stbi__context *s); - -// initialize a memory-decode context -static void stbi__start_mem(stbi__context *s, stbi_uc const *buffer, int len) -{ - s->io.read = NULL; - s->read_from_callbacks = 0; - s->callback_already_read = 0; - s->img_buffer = s->img_buffer_original = (stbi_uc *) buffer; - s->img_buffer_end = s->img_buffer_original_end = (stbi_uc *) buffer+len; -} - -// initialize a callback-based context -static void stbi__start_callbacks(stbi__context *s, stbi_io_callbacks *c, void *user) -{ - s->io = *c; - s->io_user_data = user; - s->buflen = sizeof(s->buffer_start); - s->read_from_callbacks = 1; - s->callback_already_read = 0; - s->img_buffer = s->img_buffer_original = s->buffer_start; - stbi__refill_buffer(s); - s->img_buffer_original_end = s->img_buffer_end; -} - -#ifndef STBI_NO_STDIO - -static int stbi__stdio_read(void *user, char *data, int size) -{ - return (int) fread(data,1,size,(FILE*) user); -} - -static void stbi__stdio_skip(void *user, int n) -{ - int ch; - fseek((FILE*) user, n, SEEK_CUR); - ch = fgetc((FILE*) user); /* have to read a byte to reset feof()'s flag */ - if (ch != EOF) { - ungetc(ch, (FILE *) user); /* push byte back onto stream if valid. */ - } -} - -static int stbi__stdio_eof(void *user) -{ - return feof((FILE*) user) || ferror((FILE *) user); -} - -static stbi_io_callbacks stbi__stdio_callbacks = -{ - stbi__stdio_read, - stbi__stdio_skip, - stbi__stdio_eof, -}; - -static void stbi__start_file(stbi__context *s, FILE *f) -{ - stbi__start_callbacks(s, &stbi__stdio_callbacks, (void *) f); -} - -//static void stop_file(stbi__context *s) { } - -#endif // !STBI_NO_STDIO - -static void stbi__rewind(stbi__context *s) -{ - // conceptually rewind SHOULD rewind to the beginning of the stream, - // but we just rewind to the beginning of the initial buffer, because - // we only use it after doing 'test', which only ever looks at at most 92 bytes - s->img_buffer = s->img_buffer_original; - s->img_buffer_end = s->img_buffer_original_end; -} - -enum -{ - STBI_ORDER_RGB, - STBI_ORDER_BGR -}; - -typedef struct -{ - int bits_per_channel; - int num_channels; - int channel_order; -} stbi__result_info; - -#ifndef STBI_NO_JPEG -static int stbi__jpeg_test(stbi__context *s); -static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PNG -static int stbi__png_test(stbi__context *s); -static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp); -static int stbi__png_is16(stbi__context *s); -#endif - -#ifndef STBI_NO_BMP -static int stbi__bmp_test(stbi__context *s); -static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_TGA -static int stbi__tga_test(stbi__context *s); -static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PSD -static int stbi__psd_test(stbi__context *s); -static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc); -static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp); -static int stbi__psd_is16(stbi__context *s); -#endif - -#ifndef STBI_NO_HDR -static int stbi__hdr_test(stbi__context *s); -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PIC -static int stbi__pic_test(stbi__context *s); -static void *stbi__pic_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_GIF -static int stbi__gif_test(stbi__context *s); -static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp); -static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp); -#endif - -#ifndef STBI_NO_PNM -static int stbi__pnm_test(stbi__context *s); -static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri); -static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp); -static int stbi__pnm_is16(stbi__context *s); -#endif - -static -#ifdef STBI_THREAD_LOCAL -STBI_THREAD_LOCAL -#endif -const char *stbi__g_failure_reason; - -STBIDEF const char *stbi_failure_reason(void) -{ - return stbi__g_failure_reason; -} - -#ifndef STBI_NO_FAILURE_STRINGS -static int stbi__err(const char *str) -{ - stbi__g_failure_reason = str; - return 0; -} -#endif - -static void *stbi__malloc(size_t size) -{ - return STBI_MALLOC(size); -} - -// stb_image uses ints pervasively, including for offset calculations. -// therefore the largest decoded image size we can support with the -// current code, even on 64-bit targets, is INT_MAX. this is not a -// significant limitation for the intended use case. -// -// we do, however, need to make sure our size calculations don't -// overflow. hence a few helper functions for size calculations that -// multiply integers together, making sure that they're non-negative -// and no overflow occurs. - -// return 1 if the sum is valid, 0 on overflow. -// negative terms are considered invalid. -static int stbi__addsizes_valid(int a, int b) -{ - if (b < 0) return 0; - // now 0 <= b <= INT_MAX, hence also - // 0 <= INT_MAX - b <= INTMAX. - // And "a + b <= INT_MAX" (which might overflow) is the - // same as a <= INT_MAX - b (no overflow) - return a <= INT_MAX - b; -} - -// returns 1 if the product is valid, 0 on overflow. -// negative factors are considered invalid. -static int stbi__mul2sizes_valid(int a, int b) -{ - if (a < 0 || b < 0) return 0; - if (b == 0) return 1; // mul-by-0 is always safe - // portable way to check for no overflows in a*b - return a <= INT_MAX/b; -} - -#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) -// returns 1 if "a*b + add" has no negative terms/factors and doesn't overflow -static int stbi__mad2sizes_valid(int a, int b, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__addsizes_valid(a*b, add); -} -#endif - -// returns 1 if "a*b*c + add" has no negative terms/factors and doesn't overflow -static int stbi__mad3sizes_valid(int a, int b, int c, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && - stbi__addsizes_valid(a*b*c, add); -} - -// returns 1 if "a*b*c*d + add" has no negative terms/factors and doesn't overflow -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) -static int stbi__mad4sizes_valid(int a, int b, int c, int d, int add) -{ - return stbi__mul2sizes_valid(a, b) && stbi__mul2sizes_valid(a*b, c) && - stbi__mul2sizes_valid(a*b*c, d) && stbi__addsizes_valid(a*b*c*d, add); -} -#endif - -#if !defined(STBI_NO_JPEG) || !defined(STBI_NO_PNG) || !defined(STBI_NO_TGA) || !defined(STBI_NO_HDR) -// mallocs with size overflow checking -static void *stbi__malloc_mad2(int a, int b, int add) -{ - if (!stbi__mad2sizes_valid(a, b, add)) return NULL; - return stbi__malloc(a*b + add); -} -#endif - -static void *stbi__malloc_mad3(int a, int b, int c, int add) -{ - if (!stbi__mad3sizes_valid(a, b, c, add)) return NULL; - return stbi__malloc(a*b*c + add); -} - -#if !defined(STBI_NO_LINEAR) || !defined(STBI_NO_HDR) || !defined(STBI_NO_PNM) -static void *stbi__malloc_mad4(int a, int b, int c, int d, int add) -{ - if (!stbi__mad4sizes_valid(a, b, c, d, add)) return NULL; - return stbi__malloc(a*b*c*d + add); -} -#endif - -// returns 1 if the sum of two signed ints is valid (between -2^31 and 2^31-1 inclusive), 0 on overflow. -static int stbi__addints_valid(int a, int b) -{ - if ((a >= 0) != (b >= 0)) return 1; // a and b have different signs, so no overflow - if (a < 0 && b < 0) return a >= INT_MIN - b; // same as a + b >= INT_MIN; INT_MIN - b cannot overflow since b < 0. - return a <= INT_MAX - b; -} - -// returns 1 if the product of two ints fits in a signed short, 0 on overflow. -static int stbi__mul2shorts_valid(int a, int b) -{ - if (b == 0 || b == -1) return 1; // multiplication by 0 is always 0; check for -1 so SHRT_MIN/b doesn't overflow - if ((a >= 0) == (b >= 0)) return a <= SHRT_MAX/b; // product is positive, so similar to mul2sizes_valid - if (b < 0) return a <= SHRT_MIN / b; // same as a * b >= SHRT_MIN - return a >= SHRT_MIN / b; -} - -// stbi__err - error -// stbi__errpf - error returning pointer to float -// stbi__errpuc - error returning pointer to unsigned char - -#ifdef STBI_NO_FAILURE_STRINGS - #define stbi__err(x,y) 0 -#elif defined(STBI_FAILURE_USERMSG) - #define stbi__err(x,y) stbi__err(y) -#else - #define stbi__err(x,y) stbi__err(x) -#endif - -#define stbi__errpf(x,y) ((float *)(size_t) (stbi__err(x,y)?NULL:NULL)) -#define stbi__errpuc(x,y) ((unsigned char *)(size_t) (stbi__err(x,y)?NULL:NULL)) - -STBIDEF void stbi_image_free(void *retval_from_stbi_load) -{ - STBI_FREE(retval_from_stbi_load); -} - -#ifndef STBI_NO_LINEAR -static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp); -#endif - -#ifndef STBI_NO_HDR -static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp); -#endif - -static int stbi__vertically_flip_on_load_global = 0; - -STBIDEF void stbi_set_flip_vertically_on_load(int flag_true_if_should_flip) -{ - stbi__vertically_flip_on_load_global = flag_true_if_should_flip; -} - -#ifndef STBI_THREAD_LOCAL -#define stbi__vertically_flip_on_load stbi__vertically_flip_on_load_global -#else -static STBI_THREAD_LOCAL int stbi__vertically_flip_on_load_local, stbi__vertically_flip_on_load_set; - -STBIDEF void stbi_set_flip_vertically_on_load_thread(int flag_true_if_should_flip) -{ - stbi__vertically_flip_on_load_local = flag_true_if_should_flip; - stbi__vertically_flip_on_load_set = 1; -} - -#define stbi__vertically_flip_on_load (stbi__vertically_flip_on_load_set \ - ? stbi__vertically_flip_on_load_local \ - : stbi__vertically_flip_on_load_global) -#endif // STBI_THREAD_LOCAL - -static void *stbi__load_main(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) -{ - memset(ri, 0, sizeof(*ri)); // make sure it's initialized if we add new fields - ri->bits_per_channel = 8; // default is 8 so most paths don't have to be changed - ri->channel_order = STBI_ORDER_RGB; // all current input & output are this, but this is here so we can add BGR order - ri->num_channels = 0; - - // test the formats with a very explicit header first (at least a FOURCC - // or distinctive magic number first) - #ifndef STBI_NO_PNG - if (stbi__png_test(s)) return stbi__png_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_BMP - if (stbi__bmp_test(s)) return stbi__bmp_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_GIF - if (stbi__gif_test(s)) return stbi__gif_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_PSD - if (stbi__psd_test(s)) return stbi__psd_load(s,x,y,comp,req_comp, ri, bpc); - #else - STBI_NOTUSED(bpc); - #endif - #ifndef STBI_NO_PIC - if (stbi__pic_test(s)) return stbi__pic_load(s,x,y,comp,req_comp, ri); - #endif - - // then the formats that can end up attempting to load with just 1 or 2 - // bytes matching expectations; these are prone to false positives, so - // try them later - #ifndef STBI_NO_JPEG - if (stbi__jpeg_test(s)) return stbi__jpeg_load(s,x,y,comp,req_comp, ri); - #endif - #ifndef STBI_NO_PNM - if (stbi__pnm_test(s)) return stbi__pnm_load(s,x,y,comp,req_comp, ri); - #endif - - #ifndef STBI_NO_HDR - if (stbi__hdr_test(s)) { - float *hdr = stbi__hdr_load(s, x,y,comp,req_comp, ri); - return stbi__hdr_to_ldr(hdr, *x, *y, req_comp ? req_comp : *comp); - } - #endif - - #ifndef STBI_NO_TGA - // test tga last because it's a crappy test! - if (stbi__tga_test(s)) - return stbi__tga_load(s,x,y,comp,req_comp, ri); - #endif - - return stbi__errpuc("unknown image type", "Image not of any known type, or corrupt"); -} - -static stbi_uc *stbi__convert_16_to_8(stbi__uint16 *orig, int w, int h, int channels) -{ - int i; - int img_len = w * h * channels; - stbi_uc *reduced; - - reduced = (stbi_uc *) stbi__malloc(img_len); - if (reduced == NULL) return stbi__errpuc("outofmem", "Out of memory"); - - for (i = 0; i < img_len; ++i) - reduced[i] = (stbi_uc)((orig[i] >> 8) & 0xFF); // top half of each byte is sufficient approx of 16->8 bit scaling - - STBI_FREE(orig); - return reduced; -} - -static stbi__uint16 *stbi__convert_8_to_16(stbi_uc *orig, int w, int h, int channels) -{ - int i; - int img_len = w * h * channels; - stbi__uint16 *enlarged; - - enlarged = (stbi__uint16 *) stbi__malloc(img_len*2); - if (enlarged == NULL) return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); - - for (i = 0; i < img_len; ++i) - enlarged[i] = (stbi__uint16)((orig[i] << 8) + orig[i]); // replicate to high and low byte, maps 0->0, 255->0xffff - - STBI_FREE(orig); - return enlarged; -} - -static void stbi__vertical_flip(void *image, int w, int h, int bytes_per_pixel) -{ - int row; - size_t bytes_per_row = (size_t)w * bytes_per_pixel; - stbi_uc temp[2048]; - stbi_uc *bytes = (stbi_uc *)image; - - for (row = 0; row < (h>>1); row++) { - stbi_uc *row0 = bytes + row*bytes_per_row; - stbi_uc *row1 = bytes + (h - row - 1)*bytes_per_row; - // swap row0 with row1 - size_t bytes_left = bytes_per_row; - while (bytes_left) { - size_t bytes_copy = (bytes_left < sizeof(temp)) ? bytes_left : sizeof(temp); - memcpy(temp, row0, bytes_copy); - memcpy(row0, row1, bytes_copy); - memcpy(row1, temp, bytes_copy); - row0 += bytes_copy; - row1 += bytes_copy; - bytes_left -= bytes_copy; - } - } -} - -#ifndef STBI_NO_GIF -static void stbi__vertical_flip_slices(void *image, int w, int h, int z, int bytes_per_pixel) -{ - int slice; - int slice_size = w * h * bytes_per_pixel; - - stbi_uc *bytes = (stbi_uc *)image; - for (slice = 0; slice < z; ++slice) { - stbi__vertical_flip(bytes, w, h, bytes_per_pixel); - bytes += slice_size; - } -} -#endif - -static unsigned char *stbi__load_and_postprocess_8bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi__result_info ri; - void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 8); - - if (result == NULL) - return NULL; - - // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. - STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); - - if (ri.bits_per_channel != 8) { - result = stbi__convert_16_to_8((stbi__uint16 *) result, *x, *y, req_comp == 0 ? *comp : req_comp); - ri.bits_per_channel = 8; - } - - // @TODO: move stbi__convert_format to here - - if (stbi__vertically_flip_on_load) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi_uc)); - } - - return (unsigned char *) result; -} - -static stbi__uint16 *stbi__load_and_postprocess_16bit(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - stbi__result_info ri; - void *result = stbi__load_main(s, x, y, comp, req_comp, &ri, 16); - - if (result == NULL) - return NULL; - - // it is the responsibility of the loaders to make sure we get either 8 or 16 bit. - STBI_ASSERT(ri.bits_per_channel == 8 || ri.bits_per_channel == 16); - - if (ri.bits_per_channel != 16) { - result = stbi__convert_8_to_16((stbi_uc *) result, *x, *y, req_comp == 0 ? *comp : req_comp); - ri.bits_per_channel = 16; - } - - // @TODO: move stbi__convert_format16 to here - // @TODO: special case RGB-to-Y (and RGBA-to-YA) for 8-bit-to-16-bit case to keep more precision - - if (stbi__vertically_flip_on_load) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(stbi__uint16)); - } - - return (stbi__uint16 *) result; -} - -#if !defined(STBI_NO_HDR) && !defined(STBI_NO_LINEAR) -static void stbi__float_postprocess(float *result, int *x, int *y, int *comp, int req_comp) -{ - if (stbi__vertically_flip_on_load && result != NULL) { - int channels = req_comp ? req_comp : *comp; - stbi__vertical_flip(result, *x, *y, channels * sizeof(float)); - } -} -#endif - -#ifndef STBI_NO_STDIO - -#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) -STBI_EXTERN __declspec(dllimport) int __stdcall MultiByteToWideChar(unsigned int cp, unsigned long flags, const char *str, int cbmb, wchar_t *widestr, int cchwide); -STBI_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int cp, unsigned long flags, const wchar_t *widestr, int cchwide, char *str, int cbmb, const char *defchar, int *used_default); -#endif - -#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) -STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input) -{ - return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL); -} -#endif - -static FILE *stbi__fopen(char const *filename, char const *mode) -{ - FILE *f; -#if defined(_WIN32) && defined(STBI_WINDOWS_UTF8) - wchar_t wMode[64]; - wchar_t wFilename[1024]; - if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, filename, -1, wFilename, sizeof(wFilename)/sizeof(*wFilename))) - return 0; - - if (0 == MultiByteToWideChar(65001 /* UTF8 */, 0, mode, -1, wMode, sizeof(wMode)/sizeof(*wMode))) - return 0; - -#if defined(_MSC_VER) && _MSC_VER >= 1400 - if (0 != _wfopen_s(&f, wFilename, wMode)) - f = 0; -#else - f = _wfopen(wFilename, wMode); -#endif - -#elif defined(_MSC_VER) && _MSC_VER >= 1400 - if (0 != fopen_s(&f, filename, mode)) - f=0; -#else - f = fopen(filename, mode); -#endif - return f; -} - - -STBIDEF stbi_uc *stbi_load(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - unsigned char *result; - if (!f) return stbi__errpuc("can't fopen", "Unable to open file"); - result = stbi_load_from_file(f,x,y,comp,req_comp); - fclose(f); - return result; -} - -STBIDEF stbi_uc *stbi_load_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *result; - stbi__context s; - stbi__start_file(&s,f); - result = stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); - if (result) { - // need to 'unget' all the characters in the IO buffer - fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); - } - return result; -} - -STBIDEF stbi__uint16 *stbi_load_from_file_16(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - stbi__uint16 *result; - stbi__context s; - stbi__start_file(&s,f); - result = stbi__load_and_postprocess_16bit(&s,x,y,comp,req_comp); - if (result) { - // need to 'unget' all the characters in the IO buffer - fseek(f, - (int) (s.img_buffer_end - s.img_buffer), SEEK_CUR); - } - return result; -} - -STBIDEF stbi_us *stbi_load_16(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - stbi__uint16 *result; - if (!f) return (stbi_us *) stbi__errpuc("can't fopen", "Unable to open file"); - result = stbi_load_from_file_16(f,x,y,comp,req_comp); - fclose(f); - return result; -} - - -#endif //!STBI_NO_STDIO - -STBIDEF stbi_us *stbi_load_16_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *channels_in_file, int desired_channels) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); -} - -STBIDEF stbi_us *stbi_load_16_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *channels_in_file, int desired_channels) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *)clbk, user); - return stbi__load_and_postprocess_16bit(&s,x,y,channels_in_file,desired_channels); -} - -STBIDEF stbi_uc *stbi_load_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); -} - -STBIDEF stbi_uc *stbi_load_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__load_and_postprocess_8bit(&s,x,y,comp,req_comp); -} - -#ifndef STBI_NO_GIF -STBIDEF stbi_uc *stbi_load_gif_from_memory(stbi_uc const *buffer, int len, int **delays, int *x, int *y, int *z, int *comp, int req_comp) -{ - unsigned char *result; - stbi__context s; - stbi__start_mem(&s,buffer,len); - - result = (unsigned char*) stbi__load_gif_main(&s, delays, x, y, z, comp, req_comp); - if (stbi__vertically_flip_on_load) { - stbi__vertical_flip_slices( result, *x, *y, *z, *comp ); - } - - return result; -} -#endif - -#ifndef STBI_NO_LINEAR -static float *stbi__loadf_main(stbi__context *s, int *x, int *y, int *comp, int req_comp) -{ - unsigned char *data; - #ifndef STBI_NO_HDR - if (stbi__hdr_test(s)) { - stbi__result_info ri; - float *hdr_data = stbi__hdr_load(s,x,y,comp,req_comp, &ri); - if (hdr_data) - stbi__float_postprocess(hdr_data,x,y,comp,req_comp); - return hdr_data; - } - #endif - data = stbi__load_and_postprocess_8bit(s, x, y, comp, req_comp); - if (data) - return stbi__ldr_to_hdr(data, *x, *y, req_comp ? req_comp : *comp); - return stbi__errpf("unknown image type", "Image not of any known type, or corrupt"); -} - -STBIDEF float *stbi_loadf_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} - -STBIDEF float *stbi_loadf_from_callbacks(stbi_io_callbacks const *clbk, void *user, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} - -#ifndef STBI_NO_STDIO -STBIDEF float *stbi_loadf(char const *filename, int *x, int *y, int *comp, int req_comp) -{ - float *result; - FILE *f = stbi__fopen(filename, "rb"); - if (!f) return stbi__errpf("can't fopen", "Unable to open file"); - result = stbi_loadf_from_file(f,x,y,comp,req_comp); - fclose(f); - return result; -} - -STBIDEF float *stbi_loadf_from_file(FILE *f, int *x, int *y, int *comp, int req_comp) -{ - stbi__context s; - stbi__start_file(&s,f); - return stbi__loadf_main(&s,x,y,comp,req_comp); -} -#endif // !STBI_NO_STDIO - -#endif // !STBI_NO_LINEAR - -// these is-hdr-or-not is defined independent of whether STBI_NO_LINEAR is -// defined, for API simplicity; if STBI_NO_LINEAR is defined, it always -// reports false! - -STBIDEF int stbi_is_hdr_from_memory(stbi_uc const *buffer, int len) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__hdr_test(&s); - #else - STBI_NOTUSED(buffer); - STBI_NOTUSED(len); - return 0; - #endif -} - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_is_hdr (char const *filename) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result=0; - if (f) { - result = stbi_is_hdr_from_file(f); - fclose(f); - } - return result; -} - -STBIDEF int stbi_is_hdr_from_file(FILE *f) -{ - #ifndef STBI_NO_HDR - long pos = ftell(f); - int res; - stbi__context s; - stbi__start_file(&s,f); - res = stbi__hdr_test(&s); - fseek(f, pos, SEEK_SET); - return res; - #else - STBI_NOTUSED(f); - return 0; - #endif -} -#endif // !STBI_NO_STDIO - -STBIDEF int stbi_is_hdr_from_callbacks(stbi_io_callbacks const *clbk, void *user) -{ - #ifndef STBI_NO_HDR - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) clbk, user); - return stbi__hdr_test(&s); - #else - STBI_NOTUSED(clbk); - STBI_NOTUSED(user); - return 0; - #endif -} - -#ifndef STBI_NO_LINEAR -static float stbi__l2h_gamma=2.2f, stbi__l2h_scale=1.0f; - -STBIDEF void stbi_ldr_to_hdr_gamma(float gamma) { stbi__l2h_gamma = gamma; } -STBIDEF void stbi_ldr_to_hdr_scale(float scale) { stbi__l2h_scale = scale; } -#endif - -static float stbi__h2l_gamma_i=1.0f/2.2f, stbi__h2l_scale_i=1.0f; - -STBIDEF void stbi_hdr_to_ldr_gamma(float gamma) { stbi__h2l_gamma_i = 1/gamma; } -STBIDEF void stbi_hdr_to_ldr_scale(float scale) { stbi__h2l_scale_i = 1/scale; } - - -////////////////////////////////////////////////////////////////////////////// -// -// Common code used by all image loaders -// - -enum -{ - STBI__SCAN_load=0, - STBI__SCAN_type, - STBI__SCAN_header -}; - -static void stbi__refill_buffer(stbi__context *s) -{ - int n = (s->io.read)(s->io_user_data,(char*)s->buffer_start,s->buflen); - s->callback_already_read += (int) (s->img_buffer - s->img_buffer_original); - if (n == 0) { - // at end of file, treat same as if from memory, but need to handle case - // where s->img_buffer isn't pointing to safe memory, e.g. 0-byte file - s->read_from_callbacks = 0; - s->img_buffer = s->buffer_start; - s->img_buffer_end = s->buffer_start+1; - *s->img_buffer = 0; - } else { - s->img_buffer = s->buffer_start; - s->img_buffer_end = s->buffer_start + n; - } -} - -stbi_inline static stbi_uc stbi__get8(stbi__context *s) -{ - if (s->img_buffer < s->img_buffer_end) - return *s->img_buffer++; - if (s->read_from_callbacks) { - stbi__refill_buffer(s); - return *s->img_buffer++; - } - return 0; -} - -#if defined(STBI_NO_JPEG) && defined(STBI_NO_HDR) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) -// nothing -#else -stbi_inline static int stbi__at_eof(stbi__context *s) -{ - if (s->io.read) { - if (!(s->io.eof)(s->io_user_data)) return 0; - // if feof() is true, check if buffer = end - // special case: we've only got the special 0 character at the end - if (s->read_from_callbacks == 0) return 1; - } - - return s->img_buffer >= s->img_buffer_end; -} -#endif - -#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) -// nothing -#else -static void stbi__skip(stbi__context *s, int n) -{ - if (n == 0) return; // already there! - if (n < 0) { - s->img_buffer = s->img_buffer_end; - return; - } - if (s->io.read) { - int blen = (int) (s->img_buffer_end - s->img_buffer); - if (blen < n) { - s->img_buffer = s->img_buffer_end; - (s->io.skip)(s->io_user_data, n - blen); - return; - } - } - s->img_buffer += n; -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_TGA) && defined(STBI_NO_HDR) && defined(STBI_NO_PNM) -// nothing -#else -static int stbi__getn(stbi__context *s, stbi_uc *buffer, int n) -{ - if (s->io.read) { - int blen = (int) (s->img_buffer_end - s->img_buffer); - if (blen < n) { - int res, count; - - memcpy(buffer, s->img_buffer, blen); - - count = (s->io.read)(s->io_user_data, (char*) buffer + blen, n - blen); - res = (count == (n-blen)); - s->img_buffer = s->img_buffer_end; - return res; - } - } - - if (s->img_buffer+n <= s->img_buffer_end) { - memcpy(buffer, s->img_buffer, n); - s->img_buffer += n; - return 1; - } else - return 0; -} -#endif - -#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) -// nothing -#else -static int stbi__get16be(stbi__context *s) -{ - int z = stbi__get8(s); - return (z << 8) + stbi__get8(s); -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) && defined(STBI_NO_PIC) -// nothing -#else -static stbi__uint32 stbi__get32be(stbi__context *s) -{ - stbi__uint32 z = stbi__get16be(s); - return (z << 16) + stbi__get16be(s); -} -#endif - -#if defined(STBI_NO_BMP) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) -// nothing -#else -static int stbi__get16le(stbi__context *s) -{ - int z = stbi__get8(s); - return z + (stbi__get8(s) << 8); -} -#endif - -#ifndef STBI_NO_BMP -static stbi__uint32 stbi__get32le(stbi__context *s) -{ - stbi__uint32 z = stbi__get16le(s); - z += (stbi__uint32)stbi__get16le(s) << 16; - return z; -} -#endif - -#define STBI__BYTECAST(x) ((stbi_uc) ((x) & 255)) // truncate int to byte without warnings - -#if defined(STBI_NO_JPEG) && defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) -// nothing -#else -////////////////////////////////////////////////////////////////////////////// -// -// generic converter from built-in img_n to req_comp -// individual types do this automatically as much as possible (e.g. jpeg -// does all cases internally since it needs to colorspace convert anyway, -// and it never has alpha, so very few cases ). png can automatically -// interleave an alpha=255 channel, but falls back to this for other cases -// -// assume data buffer is malloced, so malloc a new one and free that one -// only failure mode is malloc failing - -static stbi_uc stbi__compute_y(int r, int g, int b) -{ - return (stbi_uc) (((r*77) + (g*150) + (29*b)) >> 8); -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_BMP) && defined(STBI_NO_PSD) && defined(STBI_NO_TGA) && defined(STBI_NO_GIF) && defined(STBI_NO_PIC) && defined(STBI_NO_PNM) -// nothing -#else -static unsigned char *stbi__convert_format(unsigned char *data, int img_n, int req_comp, unsigned int x, unsigned int y) -{ - int i,j; - unsigned char *good; - - if (req_comp == img_n) return data; - STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - good = (unsigned char *) stbi__malloc_mad3(req_comp, x, y, 0); - if (good == NULL) { - STBI_FREE(data); - return stbi__errpuc("outofmem", "Out of memory"); - } - - for (j=0; j < (int) y; ++j) { - unsigned char *src = data + j * x * img_n ; - unsigned char *dest = good + j * x * req_comp; - - #define STBI__COMBO(a,b) ((a)*8+(b)) - #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) - // convert source image with img_n components to one with req_comp components; - // avoid switch per pixel, so use switch per scanline and massive macros - switch (STBI__COMBO(img_n, req_comp)) { - STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=255; } break; - STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=255; } break; - STBI__CASE(2,1) { dest[0]=src[0]; } break; - STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; - STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=255; } break; - STBI__CASE(3,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; - STBI__CASE(3,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = 255; } break; - STBI__CASE(4,1) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); } break; - STBI__CASE(4,2) { dest[0]=stbi__compute_y(src[0],src[1],src[2]); dest[1] = src[3]; } break; - STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; - default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return stbi__errpuc("unsupported", "Unsupported format conversion"); - } - #undef STBI__CASE - } - - STBI_FREE(data); - return good; -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) -// nothing -#else -static stbi__uint16 stbi__compute_y_16(int r, int g, int b) -{ - return (stbi__uint16) (((r*77) + (g*150) + (29*b)) >> 8); -} -#endif - -#if defined(STBI_NO_PNG) && defined(STBI_NO_PSD) -// nothing -#else -static stbi__uint16 *stbi__convert_format16(stbi__uint16 *data, int img_n, int req_comp, unsigned int x, unsigned int y) -{ - int i,j; - stbi__uint16 *good; - - if (req_comp == img_n) return data; - STBI_ASSERT(req_comp >= 1 && req_comp <= 4); - - good = (stbi__uint16 *) stbi__malloc(req_comp * x * y * 2); - if (good == NULL) { - STBI_FREE(data); - return (stbi__uint16 *) stbi__errpuc("outofmem", "Out of memory"); - } - - for (j=0; j < (int) y; ++j) { - stbi__uint16 *src = data + j * x * img_n ; - stbi__uint16 *dest = good + j * x * req_comp; - - #define STBI__COMBO(a,b) ((a)*8+(b)) - #define STBI__CASE(a,b) case STBI__COMBO(a,b): for(i=x-1; i >= 0; --i, src += a, dest += b) - // convert source image with img_n components to one with req_comp components; - // avoid switch per pixel, so use switch per scanline and massive macros - switch (STBI__COMBO(img_n, req_comp)) { - STBI__CASE(1,2) { dest[0]=src[0]; dest[1]=0xffff; } break; - STBI__CASE(1,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(1,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=0xffff; } break; - STBI__CASE(2,1) { dest[0]=src[0]; } break; - STBI__CASE(2,3) { dest[0]=dest[1]=dest[2]=src[0]; } break; - STBI__CASE(2,4) { dest[0]=dest[1]=dest[2]=src[0]; dest[3]=src[1]; } break; - STBI__CASE(3,4) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2];dest[3]=0xffff; } break; - STBI__CASE(3,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; - STBI__CASE(3,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = 0xffff; } break; - STBI__CASE(4,1) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); } break; - STBI__CASE(4,2) { dest[0]=stbi__compute_y_16(src[0],src[1],src[2]); dest[1] = src[3]; } break; - STBI__CASE(4,3) { dest[0]=src[0];dest[1]=src[1];dest[2]=src[2]; } break; - default: STBI_ASSERT(0); STBI_FREE(data); STBI_FREE(good); return (stbi__uint16*) stbi__errpuc("unsupported", "Unsupported format conversion"); - } - #undef STBI__CASE - } - - STBI_FREE(data); - return good; -} -#endif - -#ifndef STBI_NO_LINEAR -static float *stbi__ldr_to_hdr(stbi_uc *data, int x, int y, int comp) -{ - int i,k,n; - float *output; - if (!data) return NULL; - output = (float *) stbi__malloc_mad4(x, y, comp, sizeof(float), 0); - if (output == NULL) { STBI_FREE(data); return stbi__errpf("outofmem", "Out of memory"); } - // compute number of non-alpha components - if (comp & 1) n = comp; else n = comp-1; - for (i=0; i < x*y; ++i) { - for (k=0; k < n; ++k) { - output[i*comp + k] = (float) (pow(data[i*comp+k]/255.0f, stbi__l2h_gamma) * stbi__l2h_scale); - } - } - if (n < comp) { - for (i=0; i < x*y; ++i) { - output[i*comp + n] = data[i*comp + n]/255.0f; - } - } - STBI_FREE(data); - return output; -} -#endif - -#ifndef STBI_NO_HDR -#define stbi__float2int(x) ((int) (x)) -static stbi_uc *stbi__hdr_to_ldr(float *data, int x, int y, int comp) -{ - int i,k,n; - stbi_uc *output; - if (!data) return NULL; - output = (stbi_uc *) stbi__malloc_mad3(x, y, comp, 0); - if (output == NULL) { STBI_FREE(data); return stbi__errpuc("outofmem", "Out of memory"); } - // compute number of non-alpha components - if (comp & 1) n = comp; else n = comp-1; - for (i=0; i < x*y; ++i) { - for (k=0; k < n; ++k) { - float z = (float) pow(data[i*comp+k]*stbi__h2l_scale_i, stbi__h2l_gamma_i) * 255 + 0.5f; - if (z < 0) z = 0; - if (z > 255) z = 255; - output[i*comp + k] = (stbi_uc) stbi__float2int(z); - } - if (k < comp) { - float z = data[i*comp+k] * 255 + 0.5f; - if (z < 0) z = 0; - if (z > 255) z = 255; - output[i*comp + k] = (stbi_uc) stbi__float2int(z); - } - } - STBI_FREE(data); - return output; -} -#endif - -////////////////////////////////////////////////////////////////////////////// -// -// "baseline" JPEG/JFIF decoder -// -// simple implementation -// - doesn't support delayed output of y-dimension -// - simple interface (only one output format: 8-bit interleaved RGB) -// - doesn't try to recover corrupt jpegs -// - doesn't allow partial loading, loading multiple at once -// - still fast on x86 (copying globals into locals doesn't help x86) -// - allocates lots of intermediate memory (full size of all components) -// - non-interleaved case requires this anyway -// - allows good upsampling (see next) -// high-quality -// - upsampled channels are bilinearly interpolated, even across blocks -// - quality integer IDCT derived from IJG's 'slow' -// performance -// - fast huffman; reasonable integer IDCT -// - some SIMD kernels for common paths on targets with SSE2/NEON -// - uses a lot of intermediate memory, could cache poorly - -#ifndef STBI_NO_JPEG - -// huffman decoding acceleration -#define FAST_BITS 9 // larger handles more cases; smaller stomps less cache - -typedef struct -{ - stbi_uc fast[1 << FAST_BITS]; - // weirdly, repacking this into AoS is a 10% speed loss, instead of a win - stbi__uint16 code[256]; - stbi_uc values[256]; - stbi_uc size[257]; - unsigned int maxcode[18]; - int delta[17]; // old 'firstsymbol' - old 'firstcode' -} stbi__huffman; - -typedef struct -{ - stbi__context *s; - stbi__huffman huff_dc[4]; - stbi__huffman huff_ac[4]; - stbi__uint16 dequant[4][64]; - stbi__int16 fast_ac[4][1 << FAST_BITS]; - -// sizes for components, interleaved MCUs - int img_h_max, img_v_max; - int img_mcu_x, img_mcu_y; - int img_mcu_w, img_mcu_h; - -// definition of jpeg image component - struct - { - int id; - int h,v; - int tq; - int hd,ha; - int dc_pred; - - int x,y,w2,h2; - stbi_uc *data; - void *raw_data, *raw_coeff; - stbi_uc *linebuf; - short *coeff; // progressive only - int coeff_w, coeff_h; // number of 8x8 coefficient blocks - } img_comp[4]; - - stbi__uint32 code_buffer; // jpeg entropy-coded buffer - int code_bits; // number of valid bits - unsigned char marker; // marker seen while filling entropy buffer - int nomore; // flag if we saw a marker so must stop - - int progressive; - int spec_start; - int spec_end; - int succ_high; - int succ_low; - int eob_run; - int jfif; - int app14_color_transform; // Adobe APP14 tag - int rgb; - - int scan_n, order[4]; - int restart_interval, todo; - -// kernels - void (*idct_block_kernel)(stbi_uc *out, int out_stride, short data[64]); - void (*YCbCr_to_RGB_kernel)(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step); - stbi_uc *(*resample_row_hv_2_kernel)(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs); -} stbi__jpeg; - -static int stbi__build_huffman(stbi__huffman *h, int *count) -{ - int i,j,k=0; - unsigned int code; - // build size list for each symbol (from JPEG spec) - for (i=0; i < 16; ++i) { - for (j=0; j < count[i]; ++j) { - h->size[k++] = (stbi_uc) (i+1); - if(k >= 257) return stbi__err("bad size list","Corrupt JPEG"); - } - } - h->size[k] = 0; - - // compute actual symbols (from jpeg spec) - code = 0; - k = 0; - for(j=1; j <= 16; ++j) { - // compute delta to add to code to compute symbol id - h->delta[j] = k - code; - if (h->size[k] == j) { - while (h->size[k] == j) - h->code[k++] = (stbi__uint16) (code++); - if (code-1 >= (1u << j)) return stbi__err("bad code lengths","Corrupt JPEG"); - } - // compute largest code + 1 for this size, preshifted as needed later - h->maxcode[j] = code << (16-j); - code <<= 1; - } - h->maxcode[j] = 0xffffffff; - - // build non-spec acceleration table; 255 is flag for not-accelerated - memset(h->fast, 255, 1 << FAST_BITS); - for (i=0; i < k; ++i) { - int s = h->size[i]; - if (s <= FAST_BITS) { - int c = h->code[i] << (FAST_BITS-s); - int m = 1 << (FAST_BITS-s); - for (j=0; j < m; ++j) { - h->fast[c+j] = (stbi_uc) i; - } - } - } - return 1; -} - -// build a table that decodes both magnitude and value of small ACs in -// one go. -static void stbi__build_fast_ac(stbi__int16 *fast_ac, stbi__huffman *h) -{ - int i; - for (i=0; i < (1 << FAST_BITS); ++i) { - stbi_uc fast = h->fast[i]; - fast_ac[i] = 0; - if (fast < 255) { - int rs = h->values[fast]; - int run = (rs >> 4) & 15; - int magbits = rs & 15; - int len = h->size[fast]; - - if (magbits && len + magbits <= FAST_BITS) { - // magnitude code followed by receive_extend code - int k = ((i << len) & ((1 << FAST_BITS) - 1)) >> (FAST_BITS - magbits); - int m = 1 << (magbits - 1); - if (k < m) k += (~0U << magbits) + 1; - // if the result is small enough, we can fit it in fast_ac table - if (k >= -128 && k <= 127) - fast_ac[i] = (stbi__int16) ((k * 256) + (run * 16) + (len + magbits)); - } - } - } -} - -static void stbi__grow_buffer_unsafe(stbi__jpeg *j) -{ - do { - unsigned int b = j->nomore ? 0 : stbi__get8(j->s); - if (b == 0xff) { - int c = stbi__get8(j->s); - while (c == 0xff) c = stbi__get8(j->s); // consume fill bytes - if (c != 0) { - j->marker = (unsigned char) c; - j->nomore = 1; - return; - } - } - j->code_buffer |= b << (24 - j->code_bits); - j->code_bits += 8; - } while (j->code_bits <= 24); -} - -// (1 << n) - 1 -static const stbi__uint32 stbi__bmask[17]={0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535}; - -// decode a jpeg huffman value from the bitstream -stbi_inline static int stbi__jpeg_huff_decode(stbi__jpeg *j, stbi__huffman *h) -{ - unsigned int temp; - int c,k; - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - - // look at the top FAST_BITS and determine what symbol ID it is, - // if the code is <= FAST_BITS - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - k = h->fast[c]; - if (k < 255) { - int s = h->size[k]; - if (s > j->code_bits) - return -1; - j->code_buffer <<= s; - j->code_bits -= s; - return h->values[k]; - } - - // naive test is to shift the code_buffer down so k bits are - // valid, then test against maxcode. To speed this up, we've - // preshifted maxcode left so that it has (16-k) 0s at the - // end; in other words, regardless of the number of bits, it - // wants to be compared against something shifted to have 16; - // that way we don't need to shift inside the loop. - temp = j->code_buffer >> 16; - for (k=FAST_BITS+1 ; ; ++k) - if (temp < h->maxcode[k]) - break; - if (k == 17) { - // error! code not found - j->code_bits -= 16; - return -1; - } - - if (k > j->code_bits) - return -1; - - // convert the huffman code to the symbol id - c = ((j->code_buffer >> (32 - k)) & stbi__bmask[k]) + h->delta[k]; - if(c < 0 || c >= 256) // symbol id out of bounds! - return -1; - STBI_ASSERT((((j->code_buffer) >> (32 - h->size[c])) & stbi__bmask[h->size[c]]) == h->code[c]); - - // convert the id to a symbol - j->code_bits -= k; - j->code_buffer <<= k; - return h->values[c]; -} - -// bias[n] = (-1<code_bits < n) stbi__grow_buffer_unsafe(j); - if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing - - sgn = j->code_buffer >> 31; // sign bit always in MSB; 0 if MSB clear (positive), 1 if MSB set (negative) - k = stbi_lrot(j->code_buffer, n); - j->code_buffer = k & ~stbi__bmask[n]; - k &= stbi__bmask[n]; - j->code_bits -= n; - return k + (stbi__jbias[n] & (sgn - 1)); -} - -// get some unsigned bits -stbi_inline static int stbi__jpeg_get_bits(stbi__jpeg *j, int n) -{ - unsigned int k; - if (j->code_bits < n) stbi__grow_buffer_unsafe(j); - if (j->code_bits < n) return 0; // ran out of bits from stream, return 0s intead of continuing - k = stbi_lrot(j->code_buffer, n); - j->code_buffer = k & ~stbi__bmask[n]; - k &= stbi__bmask[n]; - j->code_bits -= n; - return k; -} - -stbi_inline static int stbi__jpeg_get_bit(stbi__jpeg *j) -{ - unsigned int k; - if (j->code_bits < 1) stbi__grow_buffer_unsafe(j); - if (j->code_bits < 1) return 0; // ran out of bits from stream, return 0s intead of continuing - k = j->code_buffer; - j->code_buffer <<= 1; - --j->code_bits; - return k & 0x80000000; -} - -// given a value that's at position X in the zigzag stream, -// where does it appear in the 8x8 matrix coded as row-major? -static const stbi_uc stbi__jpeg_dezigzag[64+15] = -{ - 0, 1, 8, 16, 9, 2, 3, 10, - 17, 24, 32, 25, 18, 11, 4, 5, - 12, 19, 26, 33, 40, 48, 41, 34, - 27, 20, 13, 6, 7, 14, 21, 28, - 35, 42, 49, 56, 57, 50, 43, 36, - 29, 22, 15, 23, 30, 37, 44, 51, - 58, 59, 52, 45, 38, 31, 39, 46, - 53, 60, 61, 54, 47, 55, 62, 63, - // let corrupt input sample past end - 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63 -}; - -// decode one 64-entry block-- -static int stbi__jpeg_decode_block(stbi__jpeg *j, short data[64], stbi__huffman *hdc, stbi__huffman *hac, stbi__int16 *fac, int b, stbi__uint16 *dequant) -{ - int diff,dc,k; - int t; - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - t = stbi__jpeg_huff_decode(j, hdc); - if (t < 0 || t > 15) return stbi__err("bad huffman code","Corrupt JPEG"); - - // 0 all the ac values now so we can do it 32-bits at a time - memset(data,0,64*sizeof(data[0])); - - diff = t ? stbi__extend_receive(j, t) : 0; - if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta","Corrupt JPEG"); - dc = j->img_comp[b].dc_pred + diff; - j->img_comp[b].dc_pred = dc; - if (!stbi__mul2shorts_valid(dc, dequant[0])) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - data[0] = (short) (dc * dequant[0]); - - // decode AC components, see JPEG spec - k = 1; - do { - unsigned int zig; - int c,r,s; - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - r = fac[c]; - if (r) { // fast-AC path - k += (r >> 4) & 15; // run - s = r & 15; // combined length - if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); - j->code_buffer <<= s; - j->code_bits -= s; - // decode into unzigzag'd location - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) * dequant[zig]); - } else { - int rs = stbi__jpeg_huff_decode(j, hac); - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (rs != 0xf0) break; // end block - k += 16; - } else { - k += r; - // decode into unzigzag'd location - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) * dequant[zig]); - } - } - } while (k < 64); - return 1; -} - -static int stbi__jpeg_decode_block_prog_dc(stbi__jpeg *j, short data[64], stbi__huffman *hdc, int b) -{ - int diff,dc; - int t; - if (j->spec_end != 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - - if (j->succ_high == 0) { - // first scan for DC coefficient, must be first - memset(data,0,64*sizeof(data[0])); // 0 all the ac values now - t = stbi__jpeg_huff_decode(j, hdc); - if (t < 0 || t > 15) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - diff = t ? stbi__extend_receive(j, t) : 0; - - if (!stbi__addints_valid(j->img_comp[b].dc_pred, diff)) return stbi__err("bad delta", "Corrupt JPEG"); - dc = j->img_comp[b].dc_pred + diff; - j->img_comp[b].dc_pred = dc; - if (!stbi__mul2shorts_valid(dc, 1 << j->succ_low)) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - data[0] = (short) (dc * (1 << j->succ_low)); - } else { - // refinement scan for DC coefficient - if (stbi__jpeg_get_bit(j)) - data[0] += (short) (1 << j->succ_low); - } - return 1; -} - -// @OPTIMIZE: store non-zigzagged during the decode passes, -// and only de-zigzag when dequantizing -static int stbi__jpeg_decode_block_prog_ac(stbi__jpeg *j, short data[64], stbi__huffman *hac, stbi__int16 *fac) -{ - int k; - if (j->spec_start == 0) return stbi__err("can't merge dc and ac", "Corrupt JPEG"); - - if (j->succ_high == 0) { - int shift = j->succ_low; - - if (j->eob_run) { - --j->eob_run; - return 1; - } - - k = j->spec_start; - do { - unsigned int zig; - int c,r,s; - if (j->code_bits < 16) stbi__grow_buffer_unsafe(j); - c = (j->code_buffer >> (32 - FAST_BITS)) & ((1 << FAST_BITS)-1); - r = fac[c]; - if (r) { // fast-AC path - k += (r >> 4) & 15; // run - s = r & 15; // combined length - if (s > j->code_bits) return stbi__err("bad huffman code", "Combined length longer than code bits available"); - j->code_buffer <<= s; - j->code_bits -= s; - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) ((r >> 8) * (1 << shift)); - } else { - int rs = stbi__jpeg_huff_decode(j, hac); - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (r < 15) { - j->eob_run = (1 << r); - if (r) - j->eob_run += stbi__jpeg_get_bits(j, r); - --j->eob_run; - break; - } - k += 16; - } else { - k += r; - zig = stbi__jpeg_dezigzag[k++]; - data[zig] = (short) (stbi__extend_receive(j,s) * (1 << shift)); - } - } - } while (k <= j->spec_end); - } else { - // refinement scan for these AC coefficients - - short bit = (short) (1 << j->succ_low); - - if (j->eob_run) { - --j->eob_run; - for (k = j->spec_start; k <= j->spec_end; ++k) { - short *p = &data[stbi__jpeg_dezigzag[k]]; - if (*p != 0) - if (stbi__jpeg_get_bit(j)) - if ((*p & bit)==0) { - if (*p > 0) - *p += bit; - else - *p -= bit; - } - } - } else { - k = j->spec_start; - do { - int r,s; - int rs = stbi__jpeg_huff_decode(j, hac); // @OPTIMIZE see if we can use the fast path here, advance-by-r is so slow, eh - if (rs < 0) return stbi__err("bad huffman code","Corrupt JPEG"); - s = rs & 15; - r = rs >> 4; - if (s == 0) { - if (r < 15) { - j->eob_run = (1 << r) - 1; - if (r) - j->eob_run += stbi__jpeg_get_bits(j, r); - r = 64; // force end of block - } else { - // r=15 s=0 should write 16 0s, so we just do - // a run of 15 0s and then write s (which is 0), - // so we don't have to do anything special here - } - } else { - if (s != 1) return stbi__err("bad huffman code", "Corrupt JPEG"); - // sign bit - if (stbi__jpeg_get_bit(j)) - s = bit; - else - s = -bit; - } - - // advance by r - while (k <= j->spec_end) { - short *p = &data[stbi__jpeg_dezigzag[k++]]; - if (*p != 0) { - if (stbi__jpeg_get_bit(j)) - if ((*p & bit)==0) { - if (*p > 0) - *p += bit; - else - *p -= bit; - } - } else { - if (r == 0) { - *p = (short) s; - break; - } - --r; - } - } - } while (k <= j->spec_end); - } - } - return 1; -} - -// take a -128..127 value and stbi__clamp it and convert to 0..255 -stbi_inline static stbi_uc stbi__clamp(int x) -{ - // trick to use a single test to catch both cases - if ((unsigned int) x > 255) { - if (x < 0) return 0; - if (x > 255) return 255; - } - return (stbi_uc) x; -} - -#define stbi__f2f(x) ((int) (((x) * 4096 + 0.5))) -#define stbi__fsh(x) ((x) * 4096) - -// derived from jidctint -- DCT_ISLOW -#define STBI__IDCT_1D(s0,s1,s2,s3,s4,s5,s6,s7) \ - int t0,t1,t2,t3,p1,p2,p3,p4,p5,x0,x1,x2,x3; \ - p2 = s2; \ - p3 = s6; \ - p1 = (p2+p3) * stbi__f2f(0.5411961f); \ - t2 = p1 + p3*stbi__f2f(-1.847759065f); \ - t3 = p1 + p2*stbi__f2f( 0.765366865f); \ - p2 = s0; \ - p3 = s4; \ - t0 = stbi__fsh(p2+p3); \ - t1 = stbi__fsh(p2-p3); \ - x0 = t0+t3; \ - x3 = t0-t3; \ - x1 = t1+t2; \ - x2 = t1-t2; \ - t0 = s7; \ - t1 = s5; \ - t2 = s3; \ - t3 = s1; \ - p3 = t0+t2; \ - p4 = t1+t3; \ - p1 = t0+t3; \ - p2 = t1+t2; \ - p5 = (p3+p4)*stbi__f2f( 1.175875602f); \ - t0 = t0*stbi__f2f( 0.298631336f); \ - t1 = t1*stbi__f2f( 2.053119869f); \ - t2 = t2*stbi__f2f( 3.072711026f); \ - t3 = t3*stbi__f2f( 1.501321110f); \ - p1 = p5 + p1*stbi__f2f(-0.899976223f); \ - p2 = p5 + p2*stbi__f2f(-2.562915447f); \ - p3 = p3*stbi__f2f(-1.961570560f); \ - p4 = p4*stbi__f2f(-0.390180644f); \ - t3 += p1+p4; \ - t2 += p2+p3; \ - t1 += p2+p4; \ - t0 += p1+p3; - -static void stbi__idct_block(stbi_uc *out, int out_stride, short data[64]) -{ - int i,val[64],*v=val; - stbi_uc *o; - short *d = data; - - // columns - for (i=0; i < 8; ++i,++d, ++v) { - // if all zeroes, shortcut -- this avoids dequantizing 0s and IDCTing - if (d[ 8]==0 && d[16]==0 && d[24]==0 && d[32]==0 - && d[40]==0 && d[48]==0 && d[56]==0) { - // no shortcut 0 seconds - // (1|2|3|4|5|6|7)==0 0 seconds - // all separate -0.047 seconds - // 1 && 2|3 && 4|5 && 6|7: -0.047 seconds - int dcterm = d[0]*4; - v[0] = v[8] = v[16] = v[24] = v[32] = v[40] = v[48] = v[56] = dcterm; - } else { - STBI__IDCT_1D(d[ 0],d[ 8],d[16],d[24],d[32],d[40],d[48],d[56]) - // constants scaled things up by 1<<12; let's bring them back - // down, but keep 2 extra bits of precision - x0 += 512; x1 += 512; x2 += 512; x3 += 512; - v[ 0] = (x0+t3) >> 10; - v[56] = (x0-t3) >> 10; - v[ 8] = (x1+t2) >> 10; - v[48] = (x1-t2) >> 10; - v[16] = (x2+t1) >> 10; - v[40] = (x2-t1) >> 10; - v[24] = (x3+t0) >> 10; - v[32] = (x3-t0) >> 10; - } - } - - for (i=0, v=val, o=out; i < 8; ++i,v+=8,o+=out_stride) { - // no fast case since the first 1D IDCT spread components out - STBI__IDCT_1D(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]) - // constants scaled things up by 1<<12, plus we had 1<<2 from first - // loop, plus horizontal and vertical each scale by sqrt(8) so together - // we've got an extra 1<<3, so 1<<17 total we need to remove. - // so we want to round that, which means adding 0.5 * 1<<17, - // aka 65536. Also, we'll end up with -128 to 127 that we want - // to encode as 0..255 by adding 128, so we'll add that before the shift - x0 += 65536 + (128<<17); - x1 += 65536 + (128<<17); - x2 += 65536 + (128<<17); - x3 += 65536 + (128<<17); - // tried computing the shifts into temps, or'ing the temps to see - // if any were out of range, but that was slower - o[0] = stbi__clamp((x0+t3) >> 17); - o[7] = stbi__clamp((x0-t3) >> 17); - o[1] = stbi__clamp((x1+t2) >> 17); - o[6] = stbi__clamp((x1-t2) >> 17); - o[2] = stbi__clamp((x2+t1) >> 17); - o[5] = stbi__clamp((x2-t1) >> 17); - o[3] = stbi__clamp((x3+t0) >> 17); - o[4] = stbi__clamp((x3-t0) >> 17); - } -} - -#ifdef STBI_SSE2 -// sse2 integer IDCT. not the fastest possible implementation but it -// produces bit-identical results to the generic C version so it's -// fully "transparent". -static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) -{ - // This is constructed to match our regular (generic) integer IDCT exactly. - __m128i row0, row1, row2, row3, row4, row5, row6, row7; - __m128i tmp; - - // dot product constant: even elems=x, odd elems=y - #define dct_const(x,y) _mm_setr_epi16((x),(y),(x),(y),(x),(y),(x),(y)) - - // out(0) = c0[even]*x + c0[odd]*y (c0, x, y 16-bit, out 32-bit) - // out(1) = c1[even]*x + c1[odd]*y - #define dct_rot(out0,out1, x,y,c0,c1) \ - __m128i c0##lo = _mm_unpacklo_epi16((x),(y)); \ - __m128i c0##hi = _mm_unpackhi_epi16((x),(y)); \ - __m128i out0##_l = _mm_madd_epi16(c0##lo, c0); \ - __m128i out0##_h = _mm_madd_epi16(c0##hi, c0); \ - __m128i out1##_l = _mm_madd_epi16(c0##lo, c1); \ - __m128i out1##_h = _mm_madd_epi16(c0##hi, c1) - - // out = in << 12 (in 16-bit, out 32-bit) - #define dct_widen(out, in) \ - __m128i out##_l = _mm_srai_epi32(_mm_unpacklo_epi16(_mm_setzero_si128(), (in)), 4); \ - __m128i out##_h = _mm_srai_epi32(_mm_unpackhi_epi16(_mm_setzero_si128(), (in)), 4) - - // wide add - #define dct_wadd(out, a, b) \ - __m128i out##_l = _mm_add_epi32(a##_l, b##_l); \ - __m128i out##_h = _mm_add_epi32(a##_h, b##_h) - - // wide sub - #define dct_wsub(out, a, b) \ - __m128i out##_l = _mm_sub_epi32(a##_l, b##_l); \ - __m128i out##_h = _mm_sub_epi32(a##_h, b##_h) - - // butterfly a/b, add bias, then shift by "s" and pack - #define dct_bfly32o(out0, out1, a,b,bias,s) \ - { \ - __m128i abiased_l = _mm_add_epi32(a##_l, bias); \ - __m128i abiased_h = _mm_add_epi32(a##_h, bias); \ - dct_wadd(sum, abiased, b); \ - dct_wsub(dif, abiased, b); \ - out0 = _mm_packs_epi32(_mm_srai_epi32(sum_l, s), _mm_srai_epi32(sum_h, s)); \ - out1 = _mm_packs_epi32(_mm_srai_epi32(dif_l, s), _mm_srai_epi32(dif_h, s)); \ - } - - // 8-bit interleave step (for transposes) - #define dct_interleave8(a, b) \ - tmp = a; \ - a = _mm_unpacklo_epi8(a, b); \ - b = _mm_unpackhi_epi8(tmp, b) - - // 16-bit interleave step (for transposes) - #define dct_interleave16(a, b) \ - tmp = a; \ - a = _mm_unpacklo_epi16(a, b); \ - b = _mm_unpackhi_epi16(tmp, b) - - #define dct_pass(bias,shift) \ - { \ - /* even part */ \ - dct_rot(t2e,t3e, row2,row6, rot0_0,rot0_1); \ - __m128i sum04 = _mm_add_epi16(row0, row4); \ - __m128i dif04 = _mm_sub_epi16(row0, row4); \ - dct_widen(t0e, sum04); \ - dct_widen(t1e, dif04); \ - dct_wadd(x0, t0e, t3e); \ - dct_wsub(x3, t0e, t3e); \ - dct_wadd(x1, t1e, t2e); \ - dct_wsub(x2, t1e, t2e); \ - /* odd part */ \ - dct_rot(y0o,y2o, row7,row3, rot2_0,rot2_1); \ - dct_rot(y1o,y3o, row5,row1, rot3_0,rot3_1); \ - __m128i sum17 = _mm_add_epi16(row1, row7); \ - __m128i sum35 = _mm_add_epi16(row3, row5); \ - dct_rot(y4o,y5o, sum17,sum35, rot1_0,rot1_1); \ - dct_wadd(x4, y0o, y4o); \ - dct_wadd(x5, y1o, y5o); \ - dct_wadd(x6, y2o, y5o); \ - dct_wadd(x7, y3o, y4o); \ - dct_bfly32o(row0,row7, x0,x7,bias,shift); \ - dct_bfly32o(row1,row6, x1,x6,bias,shift); \ - dct_bfly32o(row2,row5, x2,x5,bias,shift); \ - dct_bfly32o(row3,row4, x3,x4,bias,shift); \ - } - - __m128i rot0_0 = dct_const(stbi__f2f(0.5411961f), stbi__f2f(0.5411961f) + stbi__f2f(-1.847759065f)); - __m128i rot0_1 = dct_const(stbi__f2f(0.5411961f) + stbi__f2f( 0.765366865f), stbi__f2f(0.5411961f)); - __m128i rot1_0 = dct_const(stbi__f2f(1.175875602f) + stbi__f2f(-0.899976223f), stbi__f2f(1.175875602f)); - __m128i rot1_1 = dct_const(stbi__f2f(1.175875602f), stbi__f2f(1.175875602f) + stbi__f2f(-2.562915447f)); - __m128i rot2_0 = dct_const(stbi__f2f(-1.961570560f) + stbi__f2f( 0.298631336f), stbi__f2f(-1.961570560f)); - __m128i rot2_1 = dct_const(stbi__f2f(-1.961570560f), stbi__f2f(-1.961570560f) + stbi__f2f( 3.072711026f)); - __m128i rot3_0 = dct_const(stbi__f2f(-0.390180644f) + stbi__f2f( 2.053119869f), stbi__f2f(-0.390180644f)); - __m128i rot3_1 = dct_const(stbi__f2f(-0.390180644f), stbi__f2f(-0.390180644f) + stbi__f2f( 1.501321110f)); - - // rounding biases in column/row passes, see stbi__idct_block for explanation. - __m128i bias_0 = _mm_set1_epi32(512); - __m128i bias_1 = _mm_set1_epi32(65536 + (128<<17)); - - // load - row0 = _mm_load_si128((const __m128i *) (data + 0*8)); - row1 = _mm_load_si128((const __m128i *) (data + 1*8)); - row2 = _mm_load_si128((const __m128i *) (data + 2*8)); - row3 = _mm_load_si128((const __m128i *) (data + 3*8)); - row4 = _mm_load_si128((const __m128i *) (data + 4*8)); - row5 = _mm_load_si128((const __m128i *) (data + 5*8)); - row6 = _mm_load_si128((const __m128i *) (data + 6*8)); - row7 = _mm_load_si128((const __m128i *) (data + 7*8)); - - // column pass - dct_pass(bias_0, 10); - - { - // 16bit 8x8 transpose pass 1 - dct_interleave16(row0, row4); - dct_interleave16(row1, row5); - dct_interleave16(row2, row6); - dct_interleave16(row3, row7); - - // transpose pass 2 - dct_interleave16(row0, row2); - dct_interleave16(row1, row3); - dct_interleave16(row4, row6); - dct_interleave16(row5, row7); - - // transpose pass 3 - dct_interleave16(row0, row1); - dct_interleave16(row2, row3); - dct_interleave16(row4, row5); - dct_interleave16(row6, row7); - } - - // row pass - dct_pass(bias_1, 17); - - { - // pack - __m128i p0 = _mm_packus_epi16(row0, row1); // a0a1a2a3...a7b0b1b2b3...b7 - __m128i p1 = _mm_packus_epi16(row2, row3); - __m128i p2 = _mm_packus_epi16(row4, row5); - __m128i p3 = _mm_packus_epi16(row6, row7); - - // 8bit 8x8 transpose pass 1 - dct_interleave8(p0, p2); // a0e0a1e1... - dct_interleave8(p1, p3); // c0g0c1g1... - - // transpose pass 2 - dct_interleave8(p0, p1); // a0c0e0g0... - dct_interleave8(p2, p3); // b0d0f0h0... - - // transpose pass 3 - dct_interleave8(p0, p2); // a0b0c0d0... - dct_interleave8(p1, p3); // a4b4c4d4... - - // store - _mm_storel_epi64((__m128i *) out, p0); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p0, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p2); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p2, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p1); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p1, 0x4e)); out += out_stride; - _mm_storel_epi64((__m128i *) out, p3); out += out_stride; - _mm_storel_epi64((__m128i *) out, _mm_shuffle_epi32(p3, 0x4e)); - } - -#undef dct_const -#undef dct_rot -#undef dct_widen -#undef dct_wadd -#undef dct_wsub -#undef dct_bfly32o -#undef dct_interleave8 -#undef dct_interleave16 -#undef dct_pass -} - -#endif // STBI_SSE2 - -#ifdef STBI_NEON - -// NEON integer IDCT. should produce bit-identical -// results to the generic C version. -static void stbi__idct_simd(stbi_uc *out, int out_stride, short data[64]) -{ - int16x8_t row0, row1, row2, row3, row4, row5, row6, row7; - - int16x4_t rot0_0 = vdup_n_s16(stbi__f2f(0.5411961f)); - int16x4_t rot0_1 = vdup_n_s16(stbi__f2f(-1.847759065f)); - int16x4_t rot0_2 = vdup_n_s16(stbi__f2f( 0.765366865f)); - int16x4_t rot1_0 = vdup_n_s16(stbi__f2f( 1.175875602f)); - int16x4_t rot1_1 = vdup_n_s16(stbi__f2f(-0.899976223f)); - int16x4_t rot1_2 = vdup_n_s16(stbi__f2f(-2.562915447f)); - int16x4_t rot2_0 = vdup_n_s16(stbi__f2f(-1.961570560f)); - int16x4_t rot2_1 = vdup_n_s16(stbi__f2f(-0.390180644f)); - int16x4_t rot3_0 = vdup_n_s16(stbi__f2f( 0.298631336f)); - int16x4_t rot3_1 = vdup_n_s16(stbi__f2f( 2.053119869f)); - int16x4_t rot3_2 = vdup_n_s16(stbi__f2f( 3.072711026f)); - int16x4_t rot3_3 = vdup_n_s16(stbi__f2f( 1.501321110f)); - -#define dct_long_mul(out, inq, coeff) \ - int32x4_t out##_l = vmull_s16(vget_low_s16(inq), coeff); \ - int32x4_t out##_h = vmull_s16(vget_high_s16(inq), coeff) - -#define dct_long_mac(out, acc, inq, coeff) \ - int32x4_t out##_l = vmlal_s16(acc##_l, vget_low_s16(inq), coeff); \ - int32x4_t out##_h = vmlal_s16(acc##_h, vget_high_s16(inq), coeff) - -#define dct_widen(out, inq) \ - int32x4_t out##_l = vshll_n_s16(vget_low_s16(inq), 12); \ - int32x4_t out##_h = vshll_n_s16(vget_high_s16(inq), 12) - -// wide add -#define dct_wadd(out, a, b) \ - int32x4_t out##_l = vaddq_s32(a##_l, b##_l); \ - int32x4_t out##_h = vaddq_s32(a##_h, b##_h) - -// wide sub -#define dct_wsub(out, a, b) \ - int32x4_t out##_l = vsubq_s32(a##_l, b##_l); \ - int32x4_t out##_h = vsubq_s32(a##_h, b##_h) - -// butterfly a/b, then shift using "shiftop" by "s" and pack -#define dct_bfly32o(out0,out1, a,b,shiftop,s) \ - { \ - dct_wadd(sum, a, b); \ - dct_wsub(dif, a, b); \ - out0 = vcombine_s16(shiftop(sum_l, s), shiftop(sum_h, s)); \ - out1 = vcombine_s16(shiftop(dif_l, s), shiftop(dif_h, s)); \ - } - -#define dct_pass(shiftop, shift) \ - { \ - /* even part */ \ - int16x8_t sum26 = vaddq_s16(row2, row6); \ - dct_long_mul(p1e, sum26, rot0_0); \ - dct_long_mac(t2e, p1e, row6, rot0_1); \ - dct_long_mac(t3e, p1e, row2, rot0_2); \ - int16x8_t sum04 = vaddq_s16(row0, row4); \ - int16x8_t dif04 = vsubq_s16(row0, row4); \ - dct_widen(t0e, sum04); \ - dct_widen(t1e, dif04); \ - dct_wadd(x0, t0e, t3e); \ - dct_wsub(x3, t0e, t3e); \ - dct_wadd(x1, t1e, t2e); \ - dct_wsub(x2, t1e, t2e); \ - /* odd part */ \ - int16x8_t sum15 = vaddq_s16(row1, row5); \ - int16x8_t sum17 = vaddq_s16(row1, row7); \ - int16x8_t sum35 = vaddq_s16(row3, row5); \ - int16x8_t sum37 = vaddq_s16(row3, row7); \ - int16x8_t sumodd = vaddq_s16(sum17, sum35); \ - dct_long_mul(p5o, sumodd, rot1_0); \ - dct_long_mac(p1o, p5o, sum17, rot1_1); \ - dct_long_mac(p2o, p5o, sum35, rot1_2); \ - dct_long_mul(p3o, sum37, rot2_0); \ - dct_long_mul(p4o, sum15, rot2_1); \ - dct_wadd(sump13o, p1o, p3o); \ - dct_wadd(sump24o, p2o, p4o); \ - dct_wadd(sump23o, p2o, p3o); \ - dct_wadd(sump14o, p1o, p4o); \ - dct_long_mac(x4, sump13o, row7, rot3_0); \ - dct_long_mac(x5, sump24o, row5, rot3_1); \ - dct_long_mac(x6, sump23o, row3, rot3_2); \ - dct_long_mac(x7, sump14o, row1, rot3_3); \ - dct_bfly32o(row0,row7, x0,x7,shiftop,shift); \ - dct_bfly32o(row1,row6, x1,x6,shiftop,shift); \ - dct_bfly32o(row2,row5, x2,x5,shiftop,shift); \ - dct_bfly32o(row3,row4, x3,x4,shiftop,shift); \ - } - - // load - row0 = vld1q_s16(data + 0*8); - row1 = vld1q_s16(data + 1*8); - row2 = vld1q_s16(data + 2*8); - row3 = vld1q_s16(data + 3*8); - row4 = vld1q_s16(data + 4*8); - row5 = vld1q_s16(data + 5*8); - row6 = vld1q_s16(data + 6*8); - row7 = vld1q_s16(data + 7*8); - - // add DC bias - row0 = vaddq_s16(row0, vsetq_lane_s16(1024, vdupq_n_s16(0), 0)); - - // column pass - dct_pass(vrshrn_n_s32, 10); - - // 16bit 8x8 transpose - { -// these three map to a single VTRN.16, VTRN.32, and VSWP, respectively. -// whether compilers actually get this is another story, sadly. -#define dct_trn16(x, y) { int16x8x2_t t = vtrnq_s16(x, y); x = t.val[0]; y = t.val[1]; } -#define dct_trn32(x, y) { int32x4x2_t t = vtrnq_s32(vreinterpretq_s32_s16(x), vreinterpretq_s32_s16(y)); x = vreinterpretq_s16_s32(t.val[0]); y = vreinterpretq_s16_s32(t.val[1]); } -#define dct_trn64(x, y) { int16x8_t x0 = x; int16x8_t y0 = y; x = vcombine_s16(vget_low_s16(x0), vget_low_s16(y0)); y = vcombine_s16(vget_high_s16(x0), vget_high_s16(y0)); } - - // pass 1 - dct_trn16(row0, row1); // a0b0a2b2a4b4a6b6 - dct_trn16(row2, row3); - dct_trn16(row4, row5); - dct_trn16(row6, row7); - - // pass 2 - dct_trn32(row0, row2); // a0b0c0d0a4b4c4d4 - dct_trn32(row1, row3); - dct_trn32(row4, row6); - dct_trn32(row5, row7); - - // pass 3 - dct_trn64(row0, row4); // a0b0c0d0e0f0g0h0 - dct_trn64(row1, row5); - dct_trn64(row2, row6); - dct_trn64(row3, row7); - -#undef dct_trn16 -#undef dct_trn32 -#undef dct_trn64 - } - - // row pass - // vrshrn_n_s32 only supports shifts up to 16, we need - // 17. so do a non-rounding shift of 16 first then follow - // up with a rounding shift by 1. - dct_pass(vshrn_n_s32, 16); - - { - // pack and round - uint8x8_t p0 = vqrshrun_n_s16(row0, 1); - uint8x8_t p1 = vqrshrun_n_s16(row1, 1); - uint8x8_t p2 = vqrshrun_n_s16(row2, 1); - uint8x8_t p3 = vqrshrun_n_s16(row3, 1); - uint8x8_t p4 = vqrshrun_n_s16(row4, 1); - uint8x8_t p5 = vqrshrun_n_s16(row5, 1); - uint8x8_t p6 = vqrshrun_n_s16(row6, 1); - uint8x8_t p7 = vqrshrun_n_s16(row7, 1); - - // again, these can translate into one instruction, but often don't. -#define dct_trn8_8(x, y) { uint8x8x2_t t = vtrn_u8(x, y); x = t.val[0]; y = t.val[1]; } -#define dct_trn8_16(x, y) { uint16x4x2_t t = vtrn_u16(vreinterpret_u16_u8(x), vreinterpret_u16_u8(y)); x = vreinterpret_u8_u16(t.val[0]); y = vreinterpret_u8_u16(t.val[1]); } -#define dct_trn8_32(x, y) { uint32x2x2_t t = vtrn_u32(vreinterpret_u32_u8(x), vreinterpret_u32_u8(y)); x = vreinterpret_u8_u32(t.val[0]); y = vreinterpret_u8_u32(t.val[1]); } - - // sadly can't use interleaved stores here since we only write - // 8 bytes to each scan line! - - // 8x8 8-bit transpose pass 1 - dct_trn8_8(p0, p1); - dct_trn8_8(p2, p3); - dct_trn8_8(p4, p5); - dct_trn8_8(p6, p7); - - // pass 2 - dct_trn8_16(p0, p2); - dct_trn8_16(p1, p3); - dct_trn8_16(p4, p6); - dct_trn8_16(p5, p7); - - // pass 3 - dct_trn8_32(p0, p4); - dct_trn8_32(p1, p5); - dct_trn8_32(p2, p6); - dct_trn8_32(p3, p7); - - // store - vst1_u8(out, p0); out += out_stride; - vst1_u8(out, p1); out += out_stride; - vst1_u8(out, p2); out += out_stride; - vst1_u8(out, p3); out += out_stride; - vst1_u8(out, p4); out += out_stride; - vst1_u8(out, p5); out += out_stride; - vst1_u8(out, p6); out += out_stride; - vst1_u8(out, p7); - -#undef dct_trn8_8 -#undef dct_trn8_16 -#undef dct_trn8_32 - } - -#undef dct_long_mul -#undef dct_long_mac -#undef dct_widen -#undef dct_wadd -#undef dct_wsub -#undef dct_bfly32o -#undef dct_pass -} - -#endif // STBI_NEON - -#define STBI__MARKER_none 0xff -// if there's a pending marker from the entropy stream, return that -// otherwise, fetch from the stream and get a marker. if there's no -// marker, return 0xff, which is never a valid marker value -static stbi_uc stbi__get_marker(stbi__jpeg *j) -{ - stbi_uc x; - if (j->marker != STBI__MARKER_none) { x = j->marker; j->marker = STBI__MARKER_none; return x; } - x = stbi__get8(j->s); - if (x != 0xff) return STBI__MARKER_none; - while (x == 0xff) - x = stbi__get8(j->s); // consume repeated 0xff fill bytes - return x; -} - -// in each scan, we'll have scan_n components, and the order -// of the components is specified by order[] -#define STBI__RESTART(x) ((x) >= 0xd0 && (x) <= 0xd7) - -// after a restart interval, stbi__jpeg_reset the entropy decoder and -// the dc prediction -static void stbi__jpeg_reset(stbi__jpeg *j) -{ - j->code_bits = 0; - j->code_buffer = 0; - j->nomore = 0; - j->img_comp[0].dc_pred = j->img_comp[1].dc_pred = j->img_comp[2].dc_pred = j->img_comp[3].dc_pred = 0; - j->marker = STBI__MARKER_none; - j->todo = j->restart_interval ? j->restart_interval : 0x7fffffff; - j->eob_run = 0; - // no more than 1<<31 MCUs if no restart_interal? that's plenty safe, - // since we don't even allow 1<<30 pixels -} - -static int stbi__parse_entropy_coded_data(stbi__jpeg *z) -{ - stbi__jpeg_reset(z); - if (!z->progressive) { - if (z->scan_n == 1) { - int i,j; - STBI_SIMD_ALIGN(short, data[64]); - int n = z->order[0]; - // non-interleaved data, we just need to process one block at a time, - // in trivial scanline order - // number of blocks to do just depends on how many actual "pixels" this - // component has, independent of interleaved MCU blocking and such - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); - // every data block is an MCU, so countdown the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - // if it's NOT a restart, then just bail, so we get corrupt data - // rather than no data - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } else { // interleaved - int i,j,k,x,y; - STBI_SIMD_ALIGN(short, data[64]); - for (j=0; j < z->img_mcu_y; ++j) { - for (i=0; i < z->img_mcu_x; ++i) { - // scan an interleaved mcu... process scan_n components in order - for (k=0; k < z->scan_n; ++k) { - int n = z->order[k]; - // scan out an mcu's worth of this component; that's just determined - // by the basic H and V specified for the component - for (y=0; y < z->img_comp[n].v; ++y) { - for (x=0; x < z->img_comp[n].h; ++x) { - int x2 = (i*z->img_comp[n].h + x)*8; - int y2 = (j*z->img_comp[n].v + y)*8; - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block(z, data, z->huff_dc+z->img_comp[n].hd, z->huff_ac+ha, z->fast_ac[ha], n, z->dequant[z->img_comp[n].tq])) return 0; - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*y2+x2, z->img_comp[n].w2, data); - } - } - } - // after all interleaved components, that's an interleaved MCU, - // so now count down the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } - } else { - if (z->scan_n == 1) { - int i,j; - int n = z->order[0]; - // non-interleaved data, we just need to process one block at a time, - // in trivial scanline order - // number of blocks to do just depends on how many actual "pixels" this - // component has, independent of interleaved MCU blocking and such - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); - if (z->spec_start == 0) { - if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) - return 0; - } else { - int ha = z->img_comp[n].ha; - if (!stbi__jpeg_decode_block_prog_ac(z, data, &z->huff_ac[ha], z->fast_ac[ha])) - return 0; - } - // every data block is an MCU, so countdown the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } else { // interleaved - int i,j,k,x,y; - for (j=0; j < z->img_mcu_y; ++j) { - for (i=0; i < z->img_mcu_x; ++i) { - // scan an interleaved mcu... process scan_n components in order - for (k=0; k < z->scan_n; ++k) { - int n = z->order[k]; - // scan out an mcu's worth of this component; that's just determined - // by the basic H and V specified for the component - for (y=0; y < z->img_comp[n].v; ++y) { - for (x=0; x < z->img_comp[n].h; ++x) { - int x2 = (i*z->img_comp[n].h + x); - int y2 = (j*z->img_comp[n].v + y); - short *data = z->img_comp[n].coeff + 64 * (x2 + y2 * z->img_comp[n].coeff_w); - if (!stbi__jpeg_decode_block_prog_dc(z, data, &z->huff_dc[z->img_comp[n].hd], n)) - return 0; - } - } - } - // after all interleaved components, that's an interleaved MCU, - // so now count down the restart interval - if (--z->todo <= 0) { - if (z->code_bits < 24) stbi__grow_buffer_unsafe(z); - if (!STBI__RESTART(z->marker)) return 1; - stbi__jpeg_reset(z); - } - } - } - return 1; - } - } -} - -static void stbi__jpeg_dequantize(short *data, stbi__uint16 *dequant) -{ - int i; - for (i=0; i < 64; ++i) - data[i] *= dequant[i]; -} - -static void stbi__jpeg_finish(stbi__jpeg *z) -{ - if (z->progressive) { - // dequantize and idct the data - int i,j,n; - for (n=0; n < z->s->img_n; ++n) { - int w = (z->img_comp[n].x+7) >> 3; - int h = (z->img_comp[n].y+7) >> 3; - for (j=0; j < h; ++j) { - for (i=0; i < w; ++i) { - short *data = z->img_comp[n].coeff + 64 * (i + j * z->img_comp[n].coeff_w); - stbi__jpeg_dequantize(data, z->dequant[z->img_comp[n].tq]); - z->idct_block_kernel(z->img_comp[n].data+z->img_comp[n].w2*j*8+i*8, z->img_comp[n].w2, data); - } - } - } - } -} - -static int stbi__process_marker(stbi__jpeg *z, int m) -{ - int L; - switch (m) { - case STBI__MARKER_none: // no marker found - return stbi__err("expected marker","Corrupt JPEG"); - - case 0xDD: // DRI - specify restart interval - if (stbi__get16be(z->s) != 4) return stbi__err("bad DRI len","Corrupt JPEG"); - z->restart_interval = stbi__get16be(z->s); - return 1; - - case 0xDB: // DQT - define quantization table - L = stbi__get16be(z->s)-2; - while (L > 0) { - int q = stbi__get8(z->s); - int p = q >> 4, sixteen = (p != 0); - int t = q & 15,i; - if (p != 0 && p != 1) return stbi__err("bad DQT type","Corrupt JPEG"); - if (t > 3) return stbi__err("bad DQT table","Corrupt JPEG"); - - for (i=0; i < 64; ++i) - z->dequant[t][stbi__jpeg_dezigzag[i]] = (stbi__uint16)(sixteen ? stbi__get16be(z->s) : stbi__get8(z->s)); - L -= (sixteen ? 129 : 65); - } - return L==0; - - case 0xC4: // DHT - define huffman table - L = stbi__get16be(z->s)-2; - while (L > 0) { - stbi_uc *v; - int sizes[16],i,n=0; - int q = stbi__get8(z->s); - int tc = q >> 4; - int th = q & 15; - if (tc > 1 || th > 3) return stbi__err("bad DHT header","Corrupt JPEG"); - for (i=0; i < 16; ++i) { - sizes[i] = stbi__get8(z->s); - n += sizes[i]; - } - if(n > 256) return stbi__err("bad DHT header","Corrupt JPEG"); // Loop over i < n would write past end of values! - L -= 17; - if (tc == 0) { - if (!stbi__build_huffman(z->huff_dc+th, sizes)) return 0; - v = z->huff_dc[th].values; - } else { - if (!stbi__build_huffman(z->huff_ac+th, sizes)) return 0; - v = z->huff_ac[th].values; - } - for (i=0; i < n; ++i) - v[i] = stbi__get8(z->s); - if (tc != 0) - stbi__build_fast_ac(z->fast_ac[th], z->huff_ac + th); - L -= n; - } - return L==0; - } - - // check for comment block or APP blocks - if ((m >= 0xE0 && m <= 0xEF) || m == 0xFE) { - L = stbi__get16be(z->s); - if (L < 2) { - if (m == 0xFE) - return stbi__err("bad COM len","Corrupt JPEG"); - else - return stbi__err("bad APP len","Corrupt JPEG"); - } - L -= 2; - - if (m == 0xE0 && L >= 5) { // JFIF APP0 segment - static const unsigned char tag[5] = {'J','F','I','F','\0'}; - int ok = 1; - int i; - for (i=0; i < 5; ++i) - if (stbi__get8(z->s) != tag[i]) - ok = 0; - L -= 5; - if (ok) - z->jfif = 1; - } else if (m == 0xEE && L >= 12) { // Adobe APP14 segment - static const unsigned char tag[6] = {'A','d','o','b','e','\0'}; - int ok = 1; - int i; - for (i=0; i < 6; ++i) - if (stbi__get8(z->s) != tag[i]) - ok = 0; - L -= 6; - if (ok) { - stbi__get8(z->s); // version - stbi__get16be(z->s); // flags0 - stbi__get16be(z->s); // flags1 - z->app14_color_transform = stbi__get8(z->s); // color transform - L -= 6; - } - } - - stbi__skip(z->s, L); - return 1; - } - - return stbi__err("unknown marker","Corrupt JPEG"); -} - -// after we see SOS -static int stbi__process_scan_header(stbi__jpeg *z) -{ - int i; - int Ls = stbi__get16be(z->s); - z->scan_n = stbi__get8(z->s); - if (z->scan_n < 1 || z->scan_n > 4 || z->scan_n > (int) z->s->img_n) return stbi__err("bad SOS component count","Corrupt JPEG"); - if (Ls != 6+2*z->scan_n) return stbi__err("bad SOS len","Corrupt JPEG"); - for (i=0; i < z->scan_n; ++i) { - int id = stbi__get8(z->s), which; - int q = stbi__get8(z->s); - for (which = 0; which < z->s->img_n; ++which) - if (z->img_comp[which].id == id) - break; - if (which == z->s->img_n) return 0; // no match - z->img_comp[which].hd = q >> 4; if (z->img_comp[which].hd > 3) return stbi__err("bad DC huff","Corrupt JPEG"); - z->img_comp[which].ha = q & 15; if (z->img_comp[which].ha > 3) return stbi__err("bad AC huff","Corrupt JPEG"); - z->order[i] = which; - } - - { - int aa; - z->spec_start = stbi__get8(z->s); - z->spec_end = stbi__get8(z->s); // should be 63, but might be 0 - aa = stbi__get8(z->s); - z->succ_high = (aa >> 4); - z->succ_low = (aa & 15); - if (z->progressive) { - if (z->spec_start > 63 || z->spec_end > 63 || z->spec_start > z->spec_end || z->succ_high > 13 || z->succ_low > 13) - return stbi__err("bad SOS", "Corrupt JPEG"); - } else { - if (z->spec_start != 0) return stbi__err("bad SOS","Corrupt JPEG"); - if (z->succ_high != 0 || z->succ_low != 0) return stbi__err("bad SOS","Corrupt JPEG"); - z->spec_end = 63; - } - } - - return 1; -} - -static int stbi__free_jpeg_components(stbi__jpeg *z, int ncomp, int why) -{ - int i; - for (i=0; i < ncomp; ++i) { - if (z->img_comp[i].raw_data) { - STBI_FREE(z->img_comp[i].raw_data); - z->img_comp[i].raw_data = NULL; - z->img_comp[i].data = NULL; - } - if (z->img_comp[i].raw_coeff) { - STBI_FREE(z->img_comp[i].raw_coeff); - z->img_comp[i].raw_coeff = 0; - z->img_comp[i].coeff = 0; - } - if (z->img_comp[i].linebuf) { - STBI_FREE(z->img_comp[i].linebuf); - z->img_comp[i].linebuf = NULL; - } - } - return why; -} - -static int stbi__process_frame_header(stbi__jpeg *z, int scan) -{ - stbi__context *s = z->s; - int Lf,p,i,q, h_max=1,v_max=1,c; - Lf = stbi__get16be(s); if (Lf < 11) return stbi__err("bad SOF len","Corrupt JPEG"); // JPEG - p = stbi__get8(s); if (p != 8) return stbi__err("only 8-bit","JPEG format not supported: 8-bit only"); // JPEG baseline - s->img_y = stbi__get16be(s); if (s->img_y == 0) return stbi__err("no header height", "JPEG format not supported: delayed height"); // Legal, but we don't handle it--but neither does IJG - s->img_x = stbi__get16be(s); if (s->img_x == 0) return stbi__err("0 width","Corrupt JPEG"); // JPEG requires - if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - c = stbi__get8(s); - if (c != 3 && c != 1 && c != 4) return stbi__err("bad component count","Corrupt JPEG"); - s->img_n = c; - for (i=0; i < c; ++i) { - z->img_comp[i].data = NULL; - z->img_comp[i].linebuf = NULL; - } - - if (Lf != 8+3*s->img_n) return stbi__err("bad SOF len","Corrupt JPEG"); - - z->rgb = 0; - for (i=0; i < s->img_n; ++i) { - static const unsigned char rgb[3] = { 'R', 'G', 'B' }; - z->img_comp[i].id = stbi__get8(s); - if (s->img_n == 3 && z->img_comp[i].id == rgb[i]) - ++z->rgb; - q = stbi__get8(s); - z->img_comp[i].h = (q >> 4); if (!z->img_comp[i].h || z->img_comp[i].h > 4) return stbi__err("bad H","Corrupt JPEG"); - z->img_comp[i].v = q & 15; if (!z->img_comp[i].v || z->img_comp[i].v > 4) return stbi__err("bad V","Corrupt JPEG"); - z->img_comp[i].tq = stbi__get8(s); if (z->img_comp[i].tq > 3) return stbi__err("bad TQ","Corrupt JPEG"); - } - - if (scan != STBI__SCAN_load) return 1; - - if (!stbi__mad3sizes_valid(s->img_x, s->img_y, s->img_n, 0)) return stbi__err("too large", "Image too large to decode"); - - for (i=0; i < s->img_n; ++i) { - if (z->img_comp[i].h > h_max) h_max = z->img_comp[i].h; - if (z->img_comp[i].v > v_max) v_max = z->img_comp[i].v; - } - - // check that plane subsampling factors are integer ratios; our resamplers can't deal with fractional ratios - // and I've never seen a non-corrupted JPEG file actually use them - for (i=0; i < s->img_n; ++i) { - if (h_max % z->img_comp[i].h != 0) return stbi__err("bad H","Corrupt JPEG"); - if (v_max % z->img_comp[i].v != 0) return stbi__err("bad V","Corrupt JPEG"); - } - - // compute interleaved mcu info - z->img_h_max = h_max; - z->img_v_max = v_max; - z->img_mcu_w = h_max * 8; - z->img_mcu_h = v_max * 8; - // these sizes can't be more than 17 bits - z->img_mcu_x = (s->img_x + z->img_mcu_w-1) / z->img_mcu_w; - z->img_mcu_y = (s->img_y + z->img_mcu_h-1) / z->img_mcu_h; - - for (i=0; i < s->img_n; ++i) { - // number of effective pixels (e.g. for non-interleaved MCU) - z->img_comp[i].x = (s->img_x * z->img_comp[i].h + h_max-1) / h_max; - z->img_comp[i].y = (s->img_y * z->img_comp[i].v + v_max-1) / v_max; - // to simplify generation, we'll allocate enough memory to decode - // the bogus oversized data from using interleaved MCUs and their - // big blocks (e.g. a 16x16 iMCU on an image of width 33); we won't - // discard the extra data until colorspace conversion - // - // img_mcu_x, img_mcu_y: <=17 bits; comp[i].h and .v are <=4 (checked earlier) - // so these muls can't overflow with 32-bit ints (which we require) - z->img_comp[i].w2 = z->img_mcu_x * z->img_comp[i].h * 8; - z->img_comp[i].h2 = z->img_mcu_y * z->img_comp[i].v * 8; - z->img_comp[i].coeff = 0; - z->img_comp[i].raw_coeff = 0; - z->img_comp[i].linebuf = NULL; - z->img_comp[i].raw_data = stbi__malloc_mad2(z->img_comp[i].w2, z->img_comp[i].h2, 15); - if (z->img_comp[i].raw_data == NULL) - return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); - // align blocks for idct using mmx/sse - z->img_comp[i].data = (stbi_uc*) (((size_t) z->img_comp[i].raw_data + 15) & ~15); - if (z->progressive) { - // w2, h2 are multiples of 8 (see above) - z->img_comp[i].coeff_w = z->img_comp[i].w2 / 8; - z->img_comp[i].coeff_h = z->img_comp[i].h2 / 8; - z->img_comp[i].raw_coeff = stbi__malloc_mad3(z->img_comp[i].w2, z->img_comp[i].h2, sizeof(short), 15); - if (z->img_comp[i].raw_coeff == NULL) - return stbi__free_jpeg_components(z, i+1, stbi__err("outofmem", "Out of memory")); - z->img_comp[i].coeff = (short*) (((size_t) z->img_comp[i].raw_coeff + 15) & ~15); - } - } - - return 1; -} - -// use comparisons since in some cases we handle more than one case (e.g. SOF) -#define stbi__DNL(x) ((x) == 0xdc) -#define stbi__SOI(x) ((x) == 0xd8) -#define stbi__EOI(x) ((x) == 0xd9) -#define stbi__SOF(x) ((x) == 0xc0 || (x) == 0xc1 || (x) == 0xc2) -#define stbi__SOS(x) ((x) == 0xda) - -#define stbi__SOF_progressive(x) ((x) == 0xc2) - -static int stbi__decode_jpeg_header(stbi__jpeg *z, int scan) -{ - int m; - z->jfif = 0; - z->app14_color_transform = -1; // valid values are 0,1,2 - z->marker = STBI__MARKER_none; // initialize cached marker to empty - m = stbi__get_marker(z); - if (!stbi__SOI(m)) return stbi__err("no SOI","Corrupt JPEG"); - if (scan == STBI__SCAN_type) return 1; - m = stbi__get_marker(z); - while (!stbi__SOF(m)) { - if (!stbi__process_marker(z,m)) return 0; - m = stbi__get_marker(z); - while (m == STBI__MARKER_none) { - // some files have extra padding after their blocks, so ok, we'll scan - if (stbi__at_eof(z->s)) return stbi__err("no SOF", "Corrupt JPEG"); - m = stbi__get_marker(z); - } - } - z->progressive = stbi__SOF_progressive(m); - if (!stbi__process_frame_header(z, scan)) return 0; - return 1; -} - -static stbi_uc stbi__skip_jpeg_junk_at_end(stbi__jpeg *j) -{ - // some JPEGs have junk at end, skip over it but if we find what looks - // like a valid marker, resume there - while (!stbi__at_eof(j->s)) { - stbi_uc x = stbi__get8(j->s); - while (x == 0xff) { // might be a marker - if (stbi__at_eof(j->s)) return STBI__MARKER_none; - x = stbi__get8(j->s); - if (x != 0x00 && x != 0xff) { - // not a stuffed zero or lead-in to another marker, looks - // like an actual marker, return it - return x; - } - // stuffed zero has x=0 now which ends the loop, meaning we go - // back to regular scan loop. - // repeated 0xff keeps trying to read the next byte of the marker. - } - } - return STBI__MARKER_none; -} - -// decode image to YCbCr format -static int stbi__decode_jpeg_image(stbi__jpeg *j) -{ - int m; - for (m = 0; m < 4; m++) { - j->img_comp[m].raw_data = NULL; - j->img_comp[m].raw_coeff = NULL; - } - j->restart_interval = 0; - if (!stbi__decode_jpeg_header(j, STBI__SCAN_load)) return 0; - m = stbi__get_marker(j); - while (!stbi__EOI(m)) { - if (stbi__SOS(m)) { - if (!stbi__process_scan_header(j)) return 0; - if (!stbi__parse_entropy_coded_data(j)) return 0; - if (j->marker == STBI__MARKER_none ) { - j->marker = stbi__skip_jpeg_junk_at_end(j); - // if we reach eof without hitting a marker, stbi__get_marker() below will fail and we'll eventually return 0 - } - m = stbi__get_marker(j); - if (STBI__RESTART(m)) - m = stbi__get_marker(j); - } else if (stbi__DNL(m)) { - int Ld = stbi__get16be(j->s); - stbi__uint32 NL = stbi__get16be(j->s); - if (Ld != 4) return stbi__err("bad DNL len", "Corrupt JPEG"); - if (NL != j->s->img_y) return stbi__err("bad DNL height", "Corrupt JPEG"); - m = stbi__get_marker(j); - } else { - if (!stbi__process_marker(j, m)) return 1; - m = stbi__get_marker(j); - } - } - if (j->progressive) - stbi__jpeg_finish(j); - return 1; -} - -// static jfif-centered resampling (across block boundaries) - -typedef stbi_uc *(*resample_row_func)(stbi_uc *out, stbi_uc *in0, stbi_uc *in1, - int w, int hs); - -#define stbi__div4(x) ((stbi_uc) ((x) >> 2)) - -static stbi_uc *resample_row_1(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - STBI_NOTUSED(out); - STBI_NOTUSED(in_far); - STBI_NOTUSED(w); - STBI_NOTUSED(hs); - return in_near; -} - -static stbi_uc* stbi__resample_row_v_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate two samples vertically for every one in input - int i; - STBI_NOTUSED(hs); - for (i=0; i < w; ++i) - out[i] = stbi__div4(3*in_near[i] + in_far[i] + 2); - return out; -} - -static stbi_uc* stbi__resample_row_h_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate two samples horizontally for every one in input - int i; - stbi_uc *input = in_near; - - if (w == 1) { - // if only one sample, can't do any interpolation - out[0] = out[1] = input[0]; - return out; - } - - out[0] = input[0]; - out[1] = stbi__div4(input[0]*3 + input[1] + 2); - for (i=1; i < w-1; ++i) { - int n = 3*input[i]+2; - out[i*2+0] = stbi__div4(n+input[i-1]); - out[i*2+1] = stbi__div4(n+input[i+1]); - } - out[i*2+0] = stbi__div4(input[w-2]*3 + input[w-1] + 2); - out[i*2+1] = input[w-1]; - - STBI_NOTUSED(in_far); - STBI_NOTUSED(hs); - - return out; -} - -#define stbi__div16(x) ((stbi_uc) ((x) >> 4)) - -static stbi_uc *stbi__resample_row_hv_2(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate 2x2 samples for every one in input - int i,t0,t1; - if (w == 1) { - out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); - return out; - } - - t1 = 3*in_near[0] + in_far[0]; - out[0] = stbi__div4(t1+2); - for (i=1; i < w; ++i) { - t0 = t1; - t1 = 3*in_near[i]+in_far[i]; - out[i*2-1] = stbi__div16(3*t0 + t1 + 8); - out[i*2 ] = stbi__div16(3*t1 + t0 + 8); - } - out[w*2-1] = stbi__div4(t1+2); - - STBI_NOTUSED(hs); - - return out; -} - -#if defined(STBI_SSE2) || defined(STBI_NEON) -static stbi_uc *stbi__resample_row_hv_2_simd(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // need to generate 2x2 samples for every one in input - int i=0,t0,t1; - - if (w == 1) { - out[0] = out[1] = stbi__div4(3*in_near[0] + in_far[0] + 2); - return out; - } - - t1 = 3*in_near[0] + in_far[0]; - // process groups of 8 pixels for as long as we can. - // note we can't handle the last pixel in a row in this loop - // because we need to handle the filter boundary conditions. - for (; i < ((w-1) & ~7); i += 8) { -#if defined(STBI_SSE2) - // load and perform the vertical filtering pass - // this uses 3*x + y = 4*x + (y - x) - __m128i zero = _mm_setzero_si128(); - __m128i farb = _mm_loadl_epi64((__m128i *) (in_far + i)); - __m128i nearb = _mm_loadl_epi64((__m128i *) (in_near + i)); - __m128i farw = _mm_unpacklo_epi8(farb, zero); - __m128i nearw = _mm_unpacklo_epi8(nearb, zero); - __m128i diff = _mm_sub_epi16(farw, nearw); - __m128i nears = _mm_slli_epi16(nearw, 2); - __m128i curr = _mm_add_epi16(nears, diff); // current row - - // horizontal filter works the same based on shifted vers of current - // row. "prev" is current row shifted right by 1 pixel; we need to - // insert the previous pixel value (from t1). - // "next" is current row shifted left by 1 pixel, with first pixel - // of next block of 8 pixels added in. - __m128i prv0 = _mm_slli_si128(curr, 2); - __m128i nxt0 = _mm_srli_si128(curr, 2); - __m128i prev = _mm_insert_epi16(prv0, t1, 0); - __m128i next = _mm_insert_epi16(nxt0, 3*in_near[i+8] + in_far[i+8], 7); - - // horizontal filter, polyphase implementation since it's convenient: - // even pixels = 3*cur + prev = cur*4 + (prev - cur) - // odd pixels = 3*cur + next = cur*4 + (next - cur) - // note the shared term. - __m128i bias = _mm_set1_epi16(8); - __m128i curs = _mm_slli_epi16(curr, 2); - __m128i prvd = _mm_sub_epi16(prev, curr); - __m128i nxtd = _mm_sub_epi16(next, curr); - __m128i curb = _mm_add_epi16(curs, bias); - __m128i even = _mm_add_epi16(prvd, curb); - __m128i odd = _mm_add_epi16(nxtd, curb); - - // interleave even and odd pixels, then undo scaling. - __m128i int0 = _mm_unpacklo_epi16(even, odd); - __m128i int1 = _mm_unpackhi_epi16(even, odd); - __m128i de0 = _mm_srli_epi16(int0, 4); - __m128i de1 = _mm_srli_epi16(int1, 4); - - // pack and write output - __m128i outv = _mm_packus_epi16(de0, de1); - _mm_storeu_si128((__m128i *) (out + i*2), outv); -#elif defined(STBI_NEON) - // load and perform the vertical filtering pass - // this uses 3*x + y = 4*x + (y - x) - uint8x8_t farb = vld1_u8(in_far + i); - uint8x8_t nearb = vld1_u8(in_near + i); - int16x8_t diff = vreinterpretq_s16_u16(vsubl_u8(farb, nearb)); - int16x8_t nears = vreinterpretq_s16_u16(vshll_n_u8(nearb, 2)); - int16x8_t curr = vaddq_s16(nears, diff); // current row - - // horizontal filter works the same based on shifted vers of current - // row. "prev" is current row shifted right by 1 pixel; we need to - // insert the previous pixel value (from t1). - // "next" is current row shifted left by 1 pixel, with first pixel - // of next block of 8 pixels added in. - int16x8_t prv0 = vextq_s16(curr, curr, 7); - int16x8_t nxt0 = vextq_s16(curr, curr, 1); - int16x8_t prev = vsetq_lane_s16(t1, prv0, 0); - int16x8_t next = vsetq_lane_s16(3*in_near[i+8] + in_far[i+8], nxt0, 7); - - // horizontal filter, polyphase implementation since it's convenient: - // even pixels = 3*cur + prev = cur*4 + (prev - cur) - // odd pixels = 3*cur + next = cur*4 + (next - cur) - // note the shared term. - int16x8_t curs = vshlq_n_s16(curr, 2); - int16x8_t prvd = vsubq_s16(prev, curr); - int16x8_t nxtd = vsubq_s16(next, curr); - int16x8_t even = vaddq_s16(curs, prvd); - int16x8_t odd = vaddq_s16(curs, nxtd); - - // undo scaling and round, then store with even/odd phases interleaved - uint8x8x2_t o; - o.val[0] = vqrshrun_n_s16(even, 4); - o.val[1] = vqrshrun_n_s16(odd, 4); - vst2_u8(out + i*2, o); -#endif - - // "previous" value for next iter - t1 = 3*in_near[i+7] + in_far[i+7]; - } - - t0 = t1; - t1 = 3*in_near[i] + in_far[i]; - out[i*2] = stbi__div16(3*t1 + t0 + 8); - - for (++i; i < w; ++i) { - t0 = t1; - t1 = 3*in_near[i]+in_far[i]; - out[i*2-1] = stbi__div16(3*t0 + t1 + 8); - out[i*2 ] = stbi__div16(3*t1 + t0 + 8); - } - out[w*2-1] = stbi__div4(t1+2); - - STBI_NOTUSED(hs); - - return out; -} -#endif - -static stbi_uc *stbi__resample_row_generic(stbi_uc *out, stbi_uc *in_near, stbi_uc *in_far, int w, int hs) -{ - // resample with nearest-neighbor - int i,j; - STBI_NOTUSED(in_far); - for (i=0; i < w; ++i) - for (j=0; j < hs; ++j) - out[i*hs+j] = in_near[i]; - return out; -} - -// this is a reduced-precision calculation of YCbCr-to-RGB introduced -// to make sure the code produces the same results in both SIMD and scalar -#define stbi__float2fixed(x) (((int) ((x) * 4096.0f + 0.5f)) << 8) -static void stbi__YCbCr_to_RGB_row(stbi_uc *out, const stbi_uc *y, const stbi_uc *pcb, const stbi_uc *pcr, int count, int step) -{ - int i; - for (i=0; i < count; ++i) { - int y_fixed = (y[i] << 20) + (1<<19); // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr* stbi__float2fixed(1.40200f); - g = y_fixed + (cr*-stbi__float2fixed(0.71414f)) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* stbi__float2fixed(1.77200f); - r >>= 20; - g >>= 20; - b >>= 20; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} - -#if defined(STBI_SSE2) || defined(STBI_NEON) -static void stbi__YCbCr_to_RGB_simd(stbi_uc *out, stbi_uc const *y, stbi_uc const *pcb, stbi_uc const *pcr, int count, int step) -{ - int i = 0; - -#ifdef STBI_SSE2 - // step == 3 is pretty ugly on the final interleave, and i'm not convinced - // it's useful in practice (you wouldn't use it for textures, for example). - // so just accelerate step == 4 case. - if (step == 4) { - // this is a fairly straightforward implementation and not super-optimized. - __m128i signflip = _mm_set1_epi8(-0x80); - __m128i cr_const0 = _mm_set1_epi16( (short) ( 1.40200f*4096.0f+0.5f)); - __m128i cr_const1 = _mm_set1_epi16( - (short) ( 0.71414f*4096.0f+0.5f)); - __m128i cb_const0 = _mm_set1_epi16( - (short) ( 0.34414f*4096.0f+0.5f)); - __m128i cb_const1 = _mm_set1_epi16( (short) ( 1.77200f*4096.0f+0.5f)); - __m128i y_bias = _mm_set1_epi8((char) (unsigned char) 128); - __m128i xw = _mm_set1_epi16(255); // alpha channel - - for (; i+7 < count; i += 8) { - // load - __m128i y_bytes = _mm_loadl_epi64((__m128i *) (y+i)); - __m128i cr_bytes = _mm_loadl_epi64((__m128i *) (pcr+i)); - __m128i cb_bytes = _mm_loadl_epi64((__m128i *) (pcb+i)); - __m128i cr_biased = _mm_xor_si128(cr_bytes, signflip); // -128 - __m128i cb_biased = _mm_xor_si128(cb_bytes, signflip); // -128 - - // unpack to short (and left-shift cr, cb by 8) - __m128i yw = _mm_unpacklo_epi8(y_bias, y_bytes); - __m128i crw = _mm_unpacklo_epi8(_mm_setzero_si128(), cr_biased); - __m128i cbw = _mm_unpacklo_epi8(_mm_setzero_si128(), cb_biased); - - // color transform - __m128i yws = _mm_srli_epi16(yw, 4); - __m128i cr0 = _mm_mulhi_epi16(cr_const0, crw); - __m128i cb0 = _mm_mulhi_epi16(cb_const0, cbw); - __m128i cb1 = _mm_mulhi_epi16(cbw, cb_const1); - __m128i cr1 = _mm_mulhi_epi16(crw, cr_const1); - __m128i rws = _mm_add_epi16(cr0, yws); - __m128i gwt = _mm_add_epi16(cb0, yws); - __m128i bws = _mm_add_epi16(yws, cb1); - __m128i gws = _mm_add_epi16(gwt, cr1); - - // descale - __m128i rw = _mm_srai_epi16(rws, 4); - __m128i bw = _mm_srai_epi16(bws, 4); - __m128i gw = _mm_srai_epi16(gws, 4); - - // back to byte, set up for transpose - __m128i brb = _mm_packus_epi16(rw, bw); - __m128i gxb = _mm_packus_epi16(gw, xw); - - // transpose to interleave channels - __m128i t0 = _mm_unpacklo_epi8(brb, gxb); - __m128i t1 = _mm_unpackhi_epi8(brb, gxb); - __m128i o0 = _mm_unpacklo_epi16(t0, t1); - __m128i o1 = _mm_unpackhi_epi16(t0, t1); - - // store - _mm_storeu_si128((__m128i *) (out + 0), o0); - _mm_storeu_si128((__m128i *) (out + 16), o1); - out += 32; - } - } -#endif - -#ifdef STBI_NEON - // in this version, step=3 support would be easy to add. but is there demand? - if (step == 4) { - // this is a fairly straightforward implementation and not super-optimized. - uint8x8_t signflip = vdup_n_u8(0x80); - int16x8_t cr_const0 = vdupq_n_s16( (short) ( 1.40200f*4096.0f+0.5f)); - int16x8_t cr_const1 = vdupq_n_s16( - (short) ( 0.71414f*4096.0f+0.5f)); - int16x8_t cb_const0 = vdupq_n_s16( - (short) ( 0.34414f*4096.0f+0.5f)); - int16x8_t cb_const1 = vdupq_n_s16( (short) ( 1.77200f*4096.0f+0.5f)); - - for (; i+7 < count; i += 8) { - // load - uint8x8_t y_bytes = vld1_u8(y + i); - uint8x8_t cr_bytes = vld1_u8(pcr + i); - uint8x8_t cb_bytes = vld1_u8(pcb + i); - int8x8_t cr_biased = vreinterpret_s8_u8(vsub_u8(cr_bytes, signflip)); - int8x8_t cb_biased = vreinterpret_s8_u8(vsub_u8(cb_bytes, signflip)); - - // expand to s16 - int16x8_t yws = vreinterpretq_s16_u16(vshll_n_u8(y_bytes, 4)); - int16x8_t crw = vshll_n_s8(cr_biased, 7); - int16x8_t cbw = vshll_n_s8(cb_biased, 7); - - // color transform - int16x8_t cr0 = vqdmulhq_s16(crw, cr_const0); - int16x8_t cb0 = vqdmulhq_s16(cbw, cb_const0); - int16x8_t cr1 = vqdmulhq_s16(crw, cr_const1); - int16x8_t cb1 = vqdmulhq_s16(cbw, cb_const1); - int16x8_t rws = vaddq_s16(yws, cr0); - int16x8_t gws = vaddq_s16(vaddq_s16(yws, cb0), cr1); - int16x8_t bws = vaddq_s16(yws, cb1); - - // undo scaling, round, convert to byte - uint8x8x4_t o; - o.val[0] = vqrshrun_n_s16(rws, 4); - o.val[1] = vqrshrun_n_s16(gws, 4); - o.val[2] = vqrshrun_n_s16(bws, 4); - o.val[3] = vdup_n_u8(255); - - // store, interleaving r/g/b/a - vst4_u8(out, o); - out += 8*4; - } - } -#endif - - for (; i < count; ++i) { - int y_fixed = (y[i] << 20) + (1<<19); // rounding - int r,g,b; - int cr = pcr[i] - 128; - int cb = pcb[i] - 128; - r = y_fixed + cr* stbi__float2fixed(1.40200f); - g = y_fixed + cr*-stbi__float2fixed(0.71414f) + ((cb*-stbi__float2fixed(0.34414f)) & 0xffff0000); - b = y_fixed + cb* stbi__float2fixed(1.77200f); - r >>= 20; - g >>= 20; - b >>= 20; - if ((unsigned) r > 255) { if (r < 0) r = 0; else r = 255; } - if ((unsigned) g > 255) { if (g < 0) g = 0; else g = 255; } - if ((unsigned) b > 255) { if (b < 0) b = 0; else b = 255; } - out[0] = (stbi_uc)r; - out[1] = (stbi_uc)g; - out[2] = (stbi_uc)b; - out[3] = 255; - out += step; - } -} -#endif - -// set up the kernels -static void stbi__setup_jpeg(stbi__jpeg *j) -{ - j->idct_block_kernel = stbi__idct_block; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_row; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2; - -#ifdef STBI_SSE2 - if (stbi__sse2_available()) { - j->idct_block_kernel = stbi__idct_simd; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; - } -#endif - -#ifdef STBI_NEON - j->idct_block_kernel = stbi__idct_simd; - j->YCbCr_to_RGB_kernel = stbi__YCbCr_to_RGB_simd; - j->resample_row_hv_2_kernel = stbi__resample_row_hv_2_simd; -#endif -} - -// clean up the temporary component buffers -static void stbi__cleanup_jpeg(stbi__jpeg *j) -{ - stbi__free_jpeg_components(j, j->s->img_n, 0); -} - -typedef struct -{ - resample_row_func resample; - stbi_uc *line0,*line1; - int hs,vs; // expansion factor in each axis - int w_lores; // horizontal pixels pre-expansion - int ystep; // how far through vertical expansion we are - int ypos; // which pre-expansion row we're on -} stbi__resample; - -// fast 0..255 * 0..255 => 0..255 rounded multiplication -static stbi_uc stbi__blinn_8x8(stbi_uc x, stbi_uc y) -{ - unsigned int t = x*y + 128; - return (stbi_uc) ((t + (t >>8)) >> 8); -} - -static stbi_uc *load_jpeg_image(stbi__jpeg *z, int *out_x, int *out_y, int *comp, int req_comp) -{ - int n, decode_n, is_rgb; - z->s->img_n = 0; // make stbi__cleanup_jpeg safe - - // validate req_comp - if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); - - // load a jpeg image from whichever source, but leave in YCbCr format - if (!stbi__decode_jpeg_image(z)) { stbi__cleanup_jpeg(z); return NULL; } - - // determine actual number of components to generate - n = req_comp ? req_comp : z->s->img_n >= 3 ? 3 : 1; - - is_rgb = z->s->img_n == 3 && (z->rgb == 3 || (z->app14_color_transform == 0 && !z->jfif)); - - if (z->s->img_n == 3 && n < 3 && !is_rgb) - decode_n = 1; - else - decode_n = z->s->img_n; - - // nothing to do if no components requested; check this now to avoid - // accessing uninitialized coutput[0] later - if (decode_n <= 0) { stbi__cleanup_jpeg(z); return NULL; } - - // resample and color-convert - { - int k; - unsigned int i,j; - stbi_uc *output; - stbi_uc *coutput[4] = { NULL, NULL, NULL, NULL }; - - stbi__resample res_comp[4]; - - for (k=0; k < decode_n; ++k) { - stbi__resample *r = &res_comp[k]; - - // allocate line buffer big enough for upsampling off the edges - // with upsample factor of 4 - z->img_comp[k].linebuf = (stbi_uc *) stbi__malloc(z->s->img_x + 3); - if (!z->img_comp[k].linebuf) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } - - r->hs = z->img_h_max / z->img_comp[k].h; - r->vs = z->img_v_max / z->img_comp[k].v; - r->ystep = r->vs >> 1; - r->w_lores = (z->s->img_x + r->hs-1) / r->hs; - r->ypos = 0; - r->line0 = r->line1 = z->img_comp[k].data; - - if (r->hs == 1 && r->vs == 1) r->resample = resample_row_1; - else if (r->hs == 1 && r->vs == 2) r->resample = stbi__resample_row_v_2; - else if (r->hs == 2 && r->vs == 1) r->resample = stbi__resample_row_h_2; - else if (r->hs == 2 && r->vs == 2) r->resample = z->resample_row_hv_2_kernel; - else r->resample = stbi__resample_row_generic; - } - - // can't error after this so, this is safe - output = (stbi_uc *) stbi__malloc_mad3(n, z->s->img_x, z->s->img_y, 1); - if (!output) { stbi__cleanup_jpeg(z); return stbi__errpuc("outofmem", "Out of memory"); } - - // now go ahead and resample - for (j=0; j < z->s->img_y; ++j) { - stbi_uc *out = output + n * z->s->img_x * j; - for (k=0; k < decode_n; ++k) { - stbi__resample *r = &res_comp[k]; - int y_bot = r->ystep >= (r->vs >> 1); - coutput[k] = r->resample(z->img_comp[k].linebuf, - y_bot ? r->line1 : r->line0, - y_bot ? r->line0 : r->line1, - r->w_lores, r->hs); - if (++r->ystep >= r->vs) { - r->ystep = 0; - r->line0 = r->line1; - if (++r->ypos < z->img_comp[k].y) - r->line1 += z->img_comp[k].w2; - } - } - if (n >= 3) { - stbi_uc *y = coutput[0]; - if (z->s->img_n == 3) { - if (is_rgb) { - for (i=0; i < z->s->img_x; ++i) { - out[0] = y[i]; - out[1] = coutput[1][i]; - out[2] = coutput[2][i]; - out[3] = 255; - out += n; - } - } else { - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - } - } else if (z->s->img_n == 4) { - if (z->app14_color_transform == 0) { // CMYK - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - out[0] = stbi__blinn_8x8(coutput[0][i], m); - out[1] = stbi__blinn_8x8(coutput[1][i], m); - out[2] = stbi__blinn_8x8(coutput[2][i], m); - out[3] = 255; - out += n; - } - } else if (z->app14_color_transform == 2) { // YCCK - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - out[0] = stbi__blinn_8x8(255 - out[0], m); - out[1] = stbi__blinn_8x8(255 - out[1], m); - out[2] = stbi__blinn_8x8(255 - out[2], m); - out += n; - } - } else { // YCbCr + alpha? Ignore the fourth channel for now - z->YCbCr_to_RGB_kernel(out, y, coutput[1], coutput[2], z->s->img_x, n); - } - } else - for (i=0; i < z->s->img_x; ++i) { - out[0] = out[1] = out[2] = y[i]; - out[3] = 255; // not used if n==3 - out += n; - } - } else { - if (is_rgb) { - if (n == 1) - for (i=0; i < z->s->img_x; ++i) - *out++ = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); - else { - for (i=0; i < z->s->img_x; ++i, out += 2) { - out[0] = stbi__compute_y(coutput[0][i], coutput[1][i], coutput[2][i]); - out[1] = 255; - } - } - } else if (z->s->img_n == 4 && z->app14_color_transform == 0) { - for (i=0; i < z->s->img_x; ++i) { - stbi_uc m = coutput[3][i]; - stbi_uc r = stbi__blinn_8x8(coutput[0][i], m); - stbi_uc g = stbi__blinn_8x8(coutput[1][i], m); - stbi_uc b = stbi__blinn_8x8(coutput[2][i], m); - out[0] = stbi__compute_y(r, g, b); - out[1] = 255; - out += n; - } - } else if (z->s->img_n == 4 && z->app14_color_transform == 2) { - for (i=0; i < z->s->img_x; ++i) { - out[0] = stbi__blinn_8x8(255 - coutput[0][i], coutput[3][i]); - out[1] = 255; - out += n; - } - } else { - stbi_uc *y = coutput[0]; - if (n == 1) - for (i=0; i < z->s->img_x; ++i) out[i] = y[i]; - else - for (i=0; i < z->s->img_x; ++i) { *out++ = y[i]; *out++ = 255; } - } - } - } - stbi__cleanup_jpeg(z); - *out_x = z->s->img_x; - *out_y = z->s->img_y; - if (comp) *comp = z->s->img_n >= 3 ? 3 : 1; // report original components, not output - return output; - } -} - -static void *stbi__jpeg_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - unsigned char* result; - stbi__jpeg* j = (stbi__jpeg*) stbi__malloc(sizeof(stbi__jpeg)); - if (!j) return stbi__errpuc("outofmem", "Out of memory"); - memset(j, 0, sizeof(stbi__jpeg)); - STBI_NOTUSED(ri); - j->s = s; - stbi__setup_jpeg(j); - result = load_jpeg_image(j, x,y,comp,req_comp); - STBI_FREE(j); - return result; -} - -static int stbi__jpeg_test(stbi__context *s) -{ - int r; - stbi__jpeg* j = (stbi__jpeg*)stbi__malloc(sizeof(stbi__jpeg)); - if (!j) return stbi__err("outofmem", "Out of memory"); - memset(j, 0, sizeof(stbi__jpeg)); - j->s = s; - stbi__setup_jpeg(j); - r = stbi__decode_jpeg_header(j, STBI__SCAN_type); - stbi__rewind(s); - STBI_FREE(j); - return r; -} - -static int stbi__jpeg_info_raw(stbi__jpeg *j, int *x, int *y, int *comp) -{ - if (!stbi__decode_jpeg_header(j, STBI__SCAN_header)) { - stbi__rewind( j->s ); - return 0; - } - if (x) *x = j->s->img_x; - if (y) *y = j->s->img_y; - if (comp) *comp = j->s->img_n >= 3 ? 3 : 1; - return 1; -} - -static int stbi__jpeg_info(stbi__context *s, int *x, int *y, int *comp) -{ - int result; - stbi__jpeg* j = (stbi__jpeg*) (stbi__malloc(sizeof(stbi__jpeg))); - if (!j) return stbi__err("outofmem", "Out of memory"); - memset(j, 0, sizeof(stbi__jpeg)); - j->s = s; - result = stbi__jpeg_info_raw(j, x, y, comp); - STBI_FREE(j); - return result; -} -#endif - -// public domain zlib decode v0.2 Sean Barrett 2006-11-18 -// simple implementation -// - all input must be provided in an upfront buffer -// - all output is written to a single output buffer (can malloc/realloc) -// performance -// - fast huffman - -#ifndef STBI_NO_ZLIB - -// fast-way is faster to check than jpeg huffman, but slow way is slower -#define STBI__ZFAST_BITS 9 // accelerate all cases in default tables -#define STBI__ZFAST_MASK ((1 << STBI__ZFAST_BITS) - 1) -#define STBI__ZNSYMS 288 // number of symbols in literal/length alphabet - -// zlib-style huffman encoding -// (jpegs packs from left, zlib from right, so can't share code) -typedef struct -{ - stbi__uint16 fast[1 << STBI__ZFAST_BITS]; - stbi__uint16 firstcode[16]; - int maxcode[17]; - stbi__uint16 firstsymbol[16]; - stbi_uc size[STBI__ZNSYMS]; - stbi__uint16 value[STBI__ZNSYMS]; -} stbi__zhuffman; - -stbi_inline static int stbi__bitreverse16(int n) -{ - n = ((n & 0xAAAA) >> 1) | ((n & 0x5555) << 1); - n = ((n & 0xCCCC) >> 2) | ((n & 0x3333) << 2); - n = ((n & 0xF0F0) >> 4) | ((n & 0x0F0F) << 4); - n = ((n & 0xFF00) >> 8) | ((n & 0x00FF) << 8); - return n; -} - -stbi_inline static int stbi__bit_reverse(int v, int bits) -{ - STBI_ASSERT(bits <= 16); - // to bit reverse n bits, reverse 16 and shift - // e.g. 11 bits, bit reverse and shift away 5 - return stbi__bitreverse16(v) >> (16-bits); -} - -static int stbi__zbuild_huffman(stbi__zhuffman *z, const stbi_uc *sizelist, int num) -{ - int i,k=0; - int code, next_code[16], sizes[17]; - - // DEFLATE spec for generating codes - memset(sizes, 0, sizeof(sizes)); - memset(z->fast, 0, sizeof(z->fast)); - for (i=0; i < num; ++i) - ++sizes[sizelist[i]]; - sizes[0] = 0; - for (i=1; i < 16; ++i) - if (sizes[i] > (1 << i)) - return stbi__err("bad sizes", "Corrupt PNG"); - code = 0; - for (i=1; i < 16; ++i) { - next_code[i] = code; - z->firstcode[i] = (stbi__uint16) code; - z->firstsymbol[i] = (stbi__uint16) k; - code = (code + sizes[i]); - if (sizes[i]) - if (code-1 >= (1 << i)) return stbi__err("bad codelengths","Corrupt PNG"); - z->maxcode[i] = code << (16-i); // preshift for inner loop - code <<= 1; - k += sizes[i]; - } - z->maxcode[16] = 0x10000; // sentinel - for (i=0; i < num; ++i) { - int s = sizelist[i]; - if (s) { - int c = next_code[s] - z->firstcode[s] + z->firstsymbol[s]; - stbi__uint16 fastv = (stbi__uint16) ((s << 9) | i); - z->size [c] = (stbi_uc ) s; - z->value[c] = (stbi__uint16) i; - if (s <= STBI__ZFAST_BITS) { - int j = stbi__bit_reverse(next_code[s],s); - while (j < (1 << STBI__ZFAST_BITS)) { - z->fast[j] = fastv; - j += (1 << s); - } - } - ++next_code[s]; - } - } - return 1; -} - -// zlib-from-memory implementation for PNG reading -// because PNG allows splitting the zlib stream arbitrarily, -// and it's annoying structurally to have PNG call ZLIB call PNG, -// we require PNG read all the IDATs and combine them into a single -// memory buffer - -typedef struct -{ - stbi_uc *zbuffer, *zbuffer_end; - int num_bits; - int hit_zeof_once; - stbi__uint32 code_buffer; - - char *zout; - char *zout_start; - char *zout_end; - int z_expandable; - - stbi__zhuffman z_length, z_distance; -} stbi__zbuf; - -stbi_inline static int stbi__zeof(stbi__zbuf *z) -{ - return (z->zbuffer >= z->zbuffer_end); -} - -stbi_inline static stbi_uc stbi__zget8(stbi__zbuf *z) -{ - return stbi__zeof(z) ? 0 : *z->zbuffer++; -} - -static void stbi__fill_bits(stbi__zbuf *z) -{ - do { - if (z->code_buffer >= (1U << z->num_bits)) { - z->zbuffer = z->zbuffer_end; /* treat this as EOF so we fail. */ - return; - } - z->code_buffer |= (unsigned int) stbi__zget8(z) << z->num_bits; - z->num_bits += 8; - } while (z->num_bits <= 24); -} - -stbi_inline static unsigned int stbi__zreceive(stbi__zbuf *z, int n) -{ - unsigned int k; - if (z->num_bits < n) stbi__fill_bits(z); - k = z->code_buffer & ((1 << n) - 1); - z->code_buffer >>= n; - z->num_bits -= n; - return k; -} - -static int stbi__zhuffman_decode_slowpath(stbi__zbuf *a, stbi__zhuffman *z) -{ - int b,s,k; - // not resolved by fast table, so compute it the slow way - // use jpeg approach, which requires MSbits at top - k = stbi__bit_reverse(a->code_buffer, 16); - for (s=STBI__ZFAST_BITS+1; ; ++s) - if (k < z->maxcode[s]) - break; - if (s >= 16) return -1; // invalid code! - // code size is s, so: - b = (k >> (16-s)) - z->firstcode[s] + z->firstsymbol[s]; - if (b >= STBI__ZNSYMS) return -1; // some data was corrupt somewhere! - if (z->size[b] != s) return -1; // was originally an assert, but report failure instead. - a->code_buffer >>= s; - a->num_bits -= s; - return z->value[b]; -} - -stbi_inline static int stbi__zhuffman_decode(stbi__zbuf *a, stbi__zhuffman *z) -{ - int b,s; - if (a->num_bits < 16) { - if (stbi__zeof(a)) { - if (!a->hit_zeof_once) { - // This is the first time we hit eof, insert 16 extra padding btis - // to allow us to keep going; if we actually consume any of them - // though, that is invalid data. This is caught later. - a->hit_zeof_once = 1; - a->num_bits += 16; // add 16 implicit zero bits - } else { - // We already inserted our extra 16 padding bits and are again - // out, this stream is actually prematurely terminated. - return -1; - } - } else { - stbi__fill_bits(a); - } - } - b = z->fast[a->code_buffer & STBI__ZFAST_MASK]; - if (b) { - s = b >> 9; - a->code_buffer >>= s; - a->num_bits -= s; - return b & 511; - } - return stbi__zhuffman_decode_slowpath(a, z); -} - -static int stbi__zexpand(stbi__zbuf *z, char *zout, int n) // need to make room for n bytes -{ - char *q; - unsigned int cur, limit, old_limit; - z->zout = zout; - if (!z->z_expandable) return stbi__err("output buffer limit","Corrupt PNG"); - cur = (unsigned int) (z->zout - z->zout_start); - limit = old_limit = (unsigned) (z->zout_end - z->zout_start); - if (UINT_MAX - cur < (unsigned) n) return stbi__err("outofmem", "Out of memory"); - while (cur + n > limit) { - if(limit > UINT_MAX / 2) return stbi__err("outofmem", "Out of memory"); - limit *= 2; - } - q = (char *) STBI_REALLOC_SIZED(z->zout_start, old_limit, limit); - STBI_NOTUSED(old_limit); - if (q == NULL) return stbi__err("outofmem", "Out of memory"); - z->zout_start = q; - z->zout = q + cur; - z->zout_end = q + limit; - return 1; -} - -static const int stbi__zlength_base[31] = { - 3,4,5,6,7,8,9,10,11,13, - 15,17,19,23,27,31,35,43,51,59, - 67,83,99,115,131,163,195,227,258,0,0 }; - -static const int stbi__zlength_extra[31]= -{ 0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0 }; - -static const int stbi__zdist_base[32] = { 1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193, -257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0}; - -static const int stbi__zdist_extra[32] = -{ 0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13}; - -static int stbi__parse_huffman_block(stbi__zbuf *a) -{ - char *zout = a->zout; - for(;;) { - int z = stbi__zhuffman_decode(a, &a->z_length); - if (z < 256) { - if (z < 0) return stbi__err("bad huffman code","Corrupt PNG"); // error in huffman codes - if (zout >= a->zout_end) { - if (!stbi__zexpand(a, zout, 1)) return 0; - zout = a->zout; - } - *zout++ = (char) z; - } else { - stbi_uc *p; - int len,dist; - if (z == 256) { - a->zout = zout; - if (a->hit_zeof_once && a->num_bits < 16) { - // The first time we hit zeof, we inserted 16 extra zero bits into our bit - // buffer so the decoder can just do its speculative decoding. But if we - // actually consumed any of those bits (which is the case when num_bits < 16), - // the stream actually read past the end so it is malformed. - return stbi__err("unexpected end","Corrupt PNG"); - } - return 1; - } - if (z >= 286) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, length codes 286 and 287 must not appear in compressed data - z -= 257; - len = stbi__zlength_base[z]; - if (stbi__zlength_extra[z]) len += stbi__zreceive(a, stbi__zlength_extra[z]); - z = stbi__zhuffman_decode(a, &a->z_distance); - if (z < 0 || z >= 30) return stbi__err("bad huffman code","Corrupt PNG"); // per DEFLATE, distance codes 30 and 31 must not appear in compressed data - dist = stbi__zdist_base[z]; - if (stbi__zdist_extra[z]) dist += stbi__zreceive(a, stbi__zdist_extra[z]); - if (zout - a->zout_start < dist) return stbi__err("bad dist","Corrupt PNG"); - if (len > a->zout_end - zout) { - if (!stbi__zexpand(a, zout, len)) return 0; - zout = a->zout; - } - p = (stbi_uc *) (zout - dist); - if (dist == 1) { // run of one byte; common in images. - stbi_uc v = *p; - if (len) { do *zout++ = v; while (--len); } - } else { - if (len) { do *zout++ = *p++; while (--len); } - } - } - } -} - -static int stbi__compute_huffman_codes(stbi__zbuf *a) -{ - static const stbi_uc length_dezigzag[19] = { 16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15 }; - stbi__zhuffman z_codelength; - stbi_uc lencodes[286+32+137];//padding for maximum single op - stbi_uc codelength_sizes[19]; - int i,n; - - int hlit = stbi__zreceive(a,5) + 257; - int hdist = stbi__zreceive(a,5) + 1; - int hclen = stbi__zreceive(a,4) + 4; - int ntot = hlit + hdist; - - memset(codelength_sizes, 0, sizeof(codelength_sizes)); - for (i=0; i < hclen; ++i) { - int s = stbi__zreceive(a,3); - codelength_sizes[length_dezigzag[i]] = (stbi_uc) s; - } - if (!stbi__zbuild_huffman(&z_codelength, codelength_sizes, 19)) return 0; - - n = 0; - while (n < ntot) { - int c = stbi__zhuffman_decode(a, &z_codelength); - if (c < 0 || c >= 19) return stbi__err("bad codelengths", "Corrupt PNG"); - if (c < 16) - lencodes[n++] = (stbi_uc) c; - else { - stbi_uc fill = 0; - if (c == 16) { - c = stbi__zreceive(a,2)+3; - if (n == 0) return stbi__err("bad codelengths", "Corrupt PNG"); - fill = lencodes[n-1]; - } else if (c == 17) { - c = stbi__zreceive(a,3)+3; - } else if (c == 18) { - c = stbi__zreceive(a,7)+11; - } else { - return stbi__err("bad codelengths", "Corrupt PNG"); - } - if (ntot - n < c) return stbi__err("bad codelengths", "Corrupt PNG"); - memset(lencodes+n, fill, c); - n += c; - } - } - if (n != ntot) return stbi__err("bad codelengths","Corrupt PNG"); - if (!stbi__zbuild_huffman(&a->z_length, lencodes, hlit)) return 0; - if (!stbi__zbuild_huffman(&a->z_distance, lencodes+hlit, hdist)) return 0; - return 1; -} - -static int stbi__parse_uncompressed_block(stbi__zbuf *a) -{ - stbi_uc header[4]; - int len,nlen,k; - if (a->num_bits & 7) - stbi__zreceive(a, a->num_bits & 7); // discard - // drain the bit-packed data into header - k = 0; - while (a->num_bits > 0) { - header[k++] = (stbi_uc) (a->code_buffer & 255); // suppress MSVC run-time check - a->code_buffer >>= 8; - a->num_bits -= 8; - } - if (a->num_bits < 0) return stbi__err("zlib corrupt","Corrupt PNG"); - // now fill header the normal way - while (k < 4) - header[k++] = stbi__zget8(a); - len = header[1] * 256 + header[0]; - nlen = header[3] * 256 + header[2]; - if (nlen != (len ^ 0xffff)) return stbi__err("zlib corrupt","Corrupt PNG"); - if (a->zbuffer + len > a->zbuffer_end) return stbi__err("read past buffer","Corrupt PNG"); - if (a->zout + len > a->zout_end) - if (!stbi__zexpand(a, a->zout, len)) return 0; - memcpy(a->zout, a->zbuffer, len); - a->zbuffer += len; - a->zout += len; - return 1; -} - -static int stbi__parse_zlib_header(stbi__zbuf *a) -{ - int cmf = stbi__zget8(a); - int cm = cmf & 15; - /* int cinfo = cmf >> 4; */ - int flg = stbi__zget8(a); - if (stbi__zeof(a)) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec - if ((cmf*256+flg) % 31 != 0) return stbi__err("bad zlib header","Corrupt PNG"); // zlib spec - if (flg & 32) return stbi__err("no preset dict","Corrupt PNG"); // preset dictionary not allowed in png - if (cm != 8) return stbi__err("bad compression","Corrupt PNG"); // DEFLATE required for png - // window = 1 << (8 + cinfo)... but who cares, we fully buffer output - return 1; -} - -static const stbi_uc stbi__zdefault_length[STBI__ZNSYMS] = -{ - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, 9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8 -}; -static const stbi_uc stbi__zdefault_distance[32] = -{ - 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5 -}; -/* -Init algorithm: -{ - int i; // use <= to match clearly with spec - for (i=0; i <= 143; ++i) stbi__zdefault_length[i] = 8; - for ( ; i <= 255; ++i) stbi__zdefault_length[i] = 9; - for ( ; i <= 279; ++i) stbi__zdefault_length[i] = 7; - for ( ; i <= 287; ++i) stbi__zdefault_length[i] = 8; - - for (i=0; i <= 31; ++i) stbi__zdefault_distance[i] = 5; -} -*/ - -static int stbi__parse_zlib(stbi__zbuf *a, int parse_header) -{ - int final, type; - if (parse_header) - if (!stbi__parse_zlib_header(a)) return 0; - a->num_bits = 0; - a->code_buffer = 0; - a->hit_zeof_once = 0; - do { - final = stbi__zreceive(a,1); - type = stbi__zreceive(a,2); - if (type == 0) { - if (!stbi__parse_uncompressed_block(a)) return 0; - } else if (type == 3) { - return 0; - } else { - if (type == 1) { - // use fixed code lengths - if (!stbi__zbuild_huffman(&a->z_length , stbi__zdefault_length , STBI__ZNSYMS)) return 0; - if (!stbi__zbuild_huffman(&a->z_distance, stbi__zdefault_distance, 32)) return 0; - } else { - if (!stbi__compute_huffman_codes(a)) return 0; - } - if (!stbi__parse_huffman_block(a)) return 0; - } - } while (!final); - return 1; -} - -static int stbi__do_zlib(stbi__zbuf *a, char *obuf, int olen, int exp, int parse_header) -{ - a->zout_start = obuf; - a->zout = obuf; - a->zout_end = obuf + olen; - a->z_expandable = exp; - - return stbi__parse_zlib(a, parse_header); -} - -STBIDEF char *stbi_zlib_decode_malloc_guesssize(const char *buffer, int len, int initial_size, int *outlen) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(initial_size); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer + len; - if (stbi__do_zlib(&a, p, initial_size, 1, 1)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF char *stbi_zlib_decode_malloc(char const *buffer, int len, int *outlen) -{ - return stbi_zlib_decode_malloc_guesssize(buffer, len, 16384, outlen); -} - -STBIDEF char *stbi_zlib_decode_malloc_guesssize_headerflag(const char *buffer, int len, int initial_size, int *outlen, int parse_header) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(initial_size); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer + len; - if (stbi__do_zlib(&a, p, initial_size, 1, parse_header)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF int stbi_zlib_decode_buffer(char *obuffer, int olen, char const *ibuffer, int ilen) -{ - stbi__zbuf a; - a.zbuffer = (stbi_uc *) ibuffer; - a.zbuffer_end = (stbi_uc *) ibuffer + ilen; - if (stbi__do_zlib(&a, obuffer, olen, 0, 1)) - return (int) (a.zout - a.zout_start); - else - return -1; -} - -STBIDEF char *stbi_zlib_decode_noheader_malloc(char const *buffer, int len, int *outlen) -{ - stbi__zbuf a; - char *p = (char *) stbi__malloc(16384); - if (p == NULL) return NULL; - a.zbuffer = (stbi_uc *) buffer; - a.zbuffer_end = (stbi_uc *) buffer+len; - if (stbi__do_zlib(&a, p, 16384, 1, 0)) { - if (outlen) *outlen = (int) (a.zout - a.zout_start); - return a.zout_start; - } else { - STBI_FREE(a.zout_start); - return NULL; - } -} - -STBIDEF int stbi_zlib_decode_noheader_buffer(char *obuffer, int olen, const char *ibuffer, int ilen) -{ - stbi__zbuf a; - a.zbuffer = (stbi_uc *) ibuffer; - a.zbuffer_end = (stbi_uc *) ibuffer + ilen; - if (stbi__do_zlib(&a, obuffer, olen, 0, 0)) - return (int) (a.zout - a.zout_start); - else - return -1; -} -#endif - -// public domain "baseline" PNG decoder v0.10 Sean Barrett 2006-11-18 -// simple implementation -// - only 8-bit samples -// - no CRC checking -// - allocates lots of intermediate memory -// - avoids problem of streaming data between subsystems -// - avoids explicit window management -// performance -// - uses stb_zlib, a PD zlib implementation with fast huffman decoding - -#ifndef STBI_NO_PNG -typedef struct -{ - stbi__uint32 length; - stbi__uint32 type; -} stbi__pngchunk; - -static stbi__pngchunk stbi__get_chunk_header(stbi__context *s) -{ - stbi__pngchunk c; - c.length = stbi__get32be(s); - c.type = stbi__get32be(s); - return c; -} - -static int stbi__check_png_header(stbi__context *s) -{ - static const stbi_uc png_sig[8] = { 137,80,78,71,13,10,26,10 }; - int i; - for (i=0; i < 8; ++i) - if (stbi__get8(s) != png_sig[i]) return stbi__err("bad png sig","Not a PNG"); - return 1; -} - -typedef struct -{ - stbi__context *s; - stbi_uc *idata, *expanded, *out; - int depth; -} stbi__png; - - -enum { - STBI__F_none=0, - STBI__F_sub=1, - STBI__F_up=2, - STBI__F_avg=3, - STBI__F_paeth=4, - // synthetic filter used for first scanline to avoid needing a dummy row of 0s - STBI__F_avg_first -}; - -static stbi_uc first_row_filter[5] = -{ - STBI__F_none, - STBI__F_sub, - STBI__F_none, - STBI__F_avg_first, - STBI__F_sub // Paeth with b=c=0 turns out to be equivalent to sub -}; - -static int stbi__paeth(int a, int b, int c) -{ - // This formulation looks very different from the reference in the PNG spec, but is - // actually equivalent and has favorable data dependencies and admits straightforward - // generation of branch-free code, which helps performance significantly. - int thresh = c*3 - (a + b); - int lo = a < b ? a : b; - int hi = a < b ? b : a; - int t0 = (hi <= thresh) ? lo : c; - int t1 = (thresh <= lo) ? hi : t0; - return t1; -} - -static const stbi_uc stbi__depth_scale_table[9] = { 0, 0xff, 0x55, 0, 0x11, 0,0,0, 0x01 }; - -// adds an extra all-255 alpha channel -// dest == src is legal -// img_n must be 1 or 3 -static void stbi__create_png_alpha_expand8(stbi_uc *dest, stbi_uc *src, stbi__uint32 x, int img_n) -{ - int i; - // must process data backwards since we allow dest==src - if (img_n == 1) { - for (i=x-1; i >= 0; --i) { - dest[i*2+1] = 255; - dest[i*2+0] = src[i]; - } - } else { - STBI_ASSERT(img_n == 3); - for (i=x-1; i >= 0; --i) { - dest[i*4+3] = 255; - dest[i*4+2] = src[i*3+2]; - dest[i*4+1] = src[i*3+1]; - dest[i*4+0] = src[i*3+0]; - } - } -} - -// create the png data from post-deflated data -static int stbi__create_png_image_raw(stbi__png *a, stbi_uc *raw, stbi__uint32 raw_len, int out_n, stbi__uint32 x, stbi__uint32 y, int depth, int color) -{ - int bytes = (depth == 16 ? 2 : 1); - stbi__context *s = a->s; - stbi__uint32 i,j,stride = x*out_n*bytes; - stbi__uint32 img_len, img_width_bytes; - stbi_uc *filter_buf; - int all_ok = 1; - int k; - int img_n = s->img_n; // copy it into a local for later - - int output_bytes = out_n*bytes; - int filter_bytes = img_n*bytes; - int width = x; - - STBI_ASSERT(out_n == s->img_n || out_n == s->img_n+1); - a->out = (stbi_uc *) stbi__malloc_mad3(x, y, output_bytes, 0); // extra bytes to write off the end into - if (!a->out) return stbi__err("outofmem", "Out of memory"); - - // note: error exits here don't need to clean up a->out individually, - // stbi__do_png always does on error. - if (!stbi__mad3sizes_valid(img_n, x, depth, 7)) return stbi__err("too large", "Corrupt PNG"); - img_width_bytes = (((img_n * x * depth) + 7) >> 3); - if (!stbi__mad2sizes_valid(img_width_bytes, y, img_width_bytes)) return stbi__err("too large", "Corrupt PNG"); - img_len = (img_width_bytes + 1) * y; - - // we used to check for exact match between raw_len and img_len on non-interlaced PNGs, - // but issue #276 reported a PNG in the wild that had extra data at the end (all zeros), - // so just check for raw_len < img_len always. - if (raw_len < img_len) return stbi__err("not enough pixels","Corrupt PNG"); - - // Allocate two scan lines worth of filter workspace buffer. - filter_buf = (stbi_uc *) stbi__malloc_mad2(img_width_bytes, 2, 0); - if (!filter_buf) return stbi__err("outofmem", "Out of memory"); - - // Filtering for low-bit-depth images - if (depth < 8) { - filter_bytes = 1; - width = img_width_bytes; - } - - for (j=0; j < y; ++j) { - // cur/prior filter buffers alternate - stbi_uc *cur = filter_buf + (j & 1)*img_width_bytes; - stbi_uc *prior = filter_buf + (~j & 1)*img_width_bytes; - stbi_uc *dest = a->out + stride*j; - int nk = width * filter_bytes; - int filter = *raw++; - - // check filter type - if (filter > 4) { - all_ok = stbi__err("invalid filter","Corrupt PNG"); - break; - } - - // if first row, use special filter that doesn't sample previous row - if (j == 0) filter = first_row_filter[filter]; - - // perform actual filtering - switch (filter) { - case STBI__F_none: - memcpy(cur, raw, nk); - break; - case STBI__F_sub: - memcpy(cur, raw, filter_bytes); - for (k = filter_bytes; k < nk; ++k) - cur[k] = STBI__BYTECAST(raw[k] + cur[k-filter_bytes]); - break; - case STBI__F_up: - for (k = 0; k < nk; ++k) - cur[k] = STBI__BYTECAST(raw[k] + prior[k]); - break; - case STBI__F_avg: - for (k = 0; k < filter_bytes; ++k) - cur[k] = STBI__BYTECAST(raw[k] + (prior[k]>>1)); - for (k = filter_bytes; k < nk; ++k) - cur[k] = STBI__BYTECAST(raw[k] + ((prior[k] + cur[k-filter_bytes])>>1)); - break; - case STBI__F_paeth: - for (k = 0; k < filter_bytes; ++k) - cur[k] = STBI__BYTECAST(raw[k] + prior[k]); // prior[k] == stbi__paeth(0,prior[k],0) - for (k = filter_bytes; k < nk; ++k) - cur[k] = STBI__BYTECAST(raw[k] + stbi__paeth(cur[k-filter_bytes], prior[k], prior[k-filter_bytes])); - break; - case STBI__F_avg_first: - memcpy(cur, raw, filter_bytes); - for (k = filter_bytes; k < nk; ++k) - cur[k] = STBI__BYTECAST(raw[k] + (cur[k-filter_bytes] >> 1)); - break; - } - - raw += nk; - - // expand decoded bits in cur to dest, also adding an extra alpha channel if desired - if (depth < 8) { - stbi_uc scale = (color == 0) ? stbi__depth_scale_table[depth] : 1; // scale grayscale values to 0..255 range - stbi_uc *in = cur; - stbi_uc *out = dest; - stbi_uc inb = 0; - stbi__uint32 nsmp = x*img_n; - - // expand bits to bytes first - if (depth == 4) { - for (i=0; i < nsmp; ++i) { - if ((i & 1) == 0) inb = *in++; - *out++ = scale * (inb >> 4); - inb <<= 4; - } - } else if (depth == 2) { - for (i=0; i < nsmp; ++i) { - if ((i & 3) == 0) inb = *in++; - *out++ = scale * (inb >> 6); - inb <<= 2; - } - } else { - STBI_ASSERT(depth == 1); - for (i=0; i < nsmp; ++i) { - if ((i & 7) == 0) inb = *in++; - *out++ = scale * (inb >> 7); - inb <<= 1; - } - } - - // insert alpha=255 values if desired - if (img_n != out_n) - stbi__create_png_alpha_expand8(dest, dest, x, img_n); - } else if (depth == 8) { - if (img_n == out_n) - memcpy(dest, cur, x*img_n); - else - stbi__create_png_alpha_expand8(dest, cur, x, img_n); - } else if (depth == 16) { - // convert the image data from big-endian to platform-native - stbi__uint16 *dest16 = (stbi__uint16*)dest; - stbi__uint32 nsmp = x*img_n; - - if (img_n == out_n) { - for (i = 0; i < nsmp; ++i, ++dest16, cur += 2) - *dest16 = (cur[0] << 8) | cur[1]; - } else { - STBI_ASSERT(img_n+1 == out_n); - if (img_n == 1) { - for (i = 0; i < x; ++i, dest16 += 2, cur += 2) { - dest16[0] = (cur[0] << 8) | cur[1]; - dest16[1] = 0xffff; - } - } else { - STBI_ASSERT(img_n == 3); - for (i = 0; i < x; ++i, dest16 += 4, cur += 6) { - dest16[0] = (cur[0] << 8) | cur[1]; - dest16[1] = (cur[2] << 8) | cur[3]; - dest16[2] = (cur[4] << 8) | cur[5]; - dest16[3] = 0xffff; - } - } - } - } - } - - STBI_FREE(filter_buf); - if (!all_ok) return 0; - - return 1; -} - -static int stbi__create_png_image(stbi__png *a, stbi_uc *image_data, stbi__uint32 image_data_len, int out_n, int depth, int color, int interlaced) -{ - int bytes = (depth == 16 ? 2 : 1); - int out_bytes = out_n * bytes; - stbi_uc *final; - int p; - if (!interlaced) - return stbi__create_png_image_raw(a, image_data, image_data_len, out_n, a->s->img_x, a->s->img_y, depth, color); - - // de-interlacing - final = (stbi_uc *) stbi__malloc_mad3(a->s->img_x, a->s->img_y, out_bytes, 0); - if (!final) return stbi__err("outofmem", "Out of memory"); - for (p=0; p < 7; ++p) { - int xorig[] = { 0,4,0,2,0,1,0 }; - int yorig[] = { 0,0,4,0,2,0,1 }; - int xspc[] = { 8,8,4,4,2,2,1 }; - int yspc[] = { 8,8,8,4,4,2,2 }; - int i,j,x,y; - // pass1_x[4] = 0, pass1_x[5] = 1, pass1_x[12] = 1 - x = (a->s->img_x - xorig[p] + xspc[p]-1) / xspc[p]; - y = (a->s->img_y - yorig[p] + yspc[p]-1) / yspc[p]; - if (x && y) { - stbi__uint32 img_len = ((((a->s->img_n * x * depth) + 7) >> 3) + 1) * y; - if (!stbi__create_png_image_raw(a, image_data, image_data_len, out_n, x, y, depth, color)) { - STBI_FREE(final); - return 0; - } - for (j=0; j < y; ++j) { - for (i=0; i < x; ++i) { - int out_y = j*yspc[p]+yorig[p]; - int out_x = i*xspc[p]+xorig[p]; - memcpy(final + out_y*a->s->img_x*out_bytes + out_x*out_bytes, - a->out + (j*x+i)*out_bytes, out_bytes); - } - } - STBI_FREE(a->out); - image_data += img_len; - image_data_len -= img_len; - } - } - a->out = final; - - return 1; -} - -static int stbi__compute_transparency(stbi__png *z, stbi_uc tc[3], int out_n) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi_uc *p = z->out; - - // compute color-based transparency, assuming we've - // already got 255 as the alpha value in the output - STBI_ASSERT(out_n == 2 || out_n == 4); - - if (out_n == 2) { - for (i=0; i < pixel_count; ++i) { - p[1] = (p[0] == tc[0] ? 0 : 255); - p += 2; - } - } else { - for (i=0; i < pixel_count; ++i) { - if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - p[3] = 0; - p += 4; - } - } - return 1; -} - -static int stbi__compute_transparency16(stbi__png *z, stbi__uint16 tc[3], int out_n) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi__uint16 *p = (stbi__uint16*) z->out; - - // compute color-based transparency, assuming we've - // already got 65535 as the alpha value in the output - STBI_ASSERT(out_n == 2 || out_n == 4); - - if (out_n == 2) { - for (i = 0; i < pixel_count; ++i) { - p[1] = (p[0] == tc[0] ? 0 : 65535); - p += 2; - } - } else { - for (i = 0; i < pixel_count; ++i) { - if (p[0] == tc[0] && p[1] == tc[1] && p[2] == tc[2]) - p[3] = 0; - p += 4; - } - } - return 1; -} - -static int stbi__expand_png_palette(stbi__png *a, stbi_uc *palette, int len, int pal_img_n) -{ - stbi__uint32 i, pixel_count = a->s->img_x * a->s->img_y; - stbi_uc *p, *temp_out, *orig = a->out; - - p = (stbi_uc *) stbi__malloc_mad2(pixel_count, pal_img_n, 0); - if (p == NULL) return stbi__err("outofmem", "Out of memory"); - - // between here and free(out) below, exitting would leak - temp_out = p; - - if (pal_img_n == 3) { - for (i=0; i < pixel_count; ++i) { - int n = orig[i]*4; - p[0] = palette[n ]; - p[1] = palette[n+1]; - p[2] = palette[n+2]; - p += 3; - } - } else { - for (i=0; i < pixel_count; ++i) { - int n = orig[i]*4; - p[0] = palette[n ]; - p[1] = palette[n+1]; - p[2] = palette[n+2]; - p[3] = palette[n+3]; - p += 4; - } - } - STBI_FREE(a->out); - a->out = temp_out; - - STBI_NOTUSED(len); - - return 1; -} - -static int stbi__unpremultiply_on_load_global = 0; -static int stbi__de_iphone_flag_global = 0; - -STBIDEF void stbi_set_unpremultiply_on_load(int flag_true_if_should_unpremultiply) -{ - stbi__unpremultiply_on_load_global = flag_true_if_should_unpremultiply; -} - -STBIDEF void stbi_convert_iphone_png_to_rgb(int flag_true_if_should_convert) -{ - stbi__de_iphone_flag_global = flag_true_if_should_convert; -} - -#ifndef STBI_THREAD_LOCAL -#define stbi__unpremultiply_on_load stbi__unpremultiply_on_load_global -#define stbi__de_iphone_flag stbi__de_iphone_flag_global -#else -static STBI_THREAD_LOCAL int stbi__unpremultiply_on_load_local, stbi__unpremultiply_on_load_set; -static STBI_THREAD_LOCAL int stbi__de_iphone_flag_local, stbi__de_iphone_flag_set; - -STBIDEF void stbi_set_unpremultiply_on_load_thread(int flag_true_if_should_unpremultiply) -{ - stbi__unpremultiply_on_load_local = flag_true_if_should_unpremultiply; - stbi__unpremultiply_on_load_set = 1; -} - -STBIDEF void stbi_convert_iphone_png_to_rgb_thread(int flag_true_if_should_convert) -{ - stbi__de_iphone_flag_local = flag_true_if_should_convert; - stbi__de_iphone_flag_set = 1; -} - -#define stbi__unpremultiply_on_load (stbi__unpremultiply_on_load_set \ - ? stbi__unpremultiply_on_load_local \ - : stbi__unpremultiply_on_load_global) -#define stbi__de_iphone_flag (stbi__de_iphone_flag_set \ - ? stbi__de_iphone_flag_local \ - : stbi__de_iphone_flag_global) -#endif // STBI_THREAD_LOCAL - -static void stbi__de_iphone(stbi__png *z) -{ - stbi__context *s = z->s; - stbi__uint32 i, pixel_count = s->img_x * s->img_y; - stbi_uc *p = z->out; - - if (s->img_out_n == 3) { // convert bgr to rgb - for (i=0; i < pixel_count; ++i) { - stbi_uc t = p[0]; - p[0] = p[2]; - p[2] = t; - p += 3; - } - } else { - STBI_ASSERT(s->img_out_n == 4); - if (stbi__unpremultiply_on_load) { - // convert bgr to rgb and unpremultiply - for (i=0; i < pixel_count; ++i) { - stbi_uc a = p[3]; - stbi_uc t = p[0]; - if (a) { - stbi_uc half = a / 2; - p[0] = (p[2] * 255 + half) / a; - p[1] = (p[1] * 255 + half) / a; - p[2] = ( t * 255 + half) / a; - } else { - p[0] = p[2]; - p[2] = t; - } - p += 4; - } - } else { - // convert bgr to rgb - for (i=0; i < pixel_count; ++i) { - stbi_uc t = p[0]; - p[0] = p[2]; - p[2] = t; - p += 4; - } - } - } -} - -#define STBI__PNG_TYPE(a,b,c,d) (((unsigned) (a) << 24) + ((unsigned) (b) << 16) + ((unsigned) (c) << 8) + (unsigned) (d)) - -static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp) -{ - stbi_uc palette[1024], pal_img_n=0; - stbi_uc has_trans=0, tc[3]={0}; - stbi__uint16 tc16[3]; - stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0; - int first=1,k,interlace=0, color=0, is_iphone=0; - stbi__context *s = z->s; - - z->expanded = NULL; - z->idata = NULL; - z->out = NULL; - - if (!stbi__check_png_header(s)) return 0; - - if (scan == STBI__SCAN_type) return 1; - - for (;;) { - stbi__pngchunk c = stbi__get_chunk_header(s); - switch (c.type) { - case STBI__PNG_TYPE('C','g','B','I'): - is_iphone = 1; - stbi__skip(s, c.length); - break; - case STBI__PNG_TYPE('I','H','D','R'): { - int comp,filter; - if (!first) return stbi__err("multiple IHDR","Corrupt PNG"); - first = 0; - if (c.length != 13) return stbi__err("bad IHDR len","Corrupt PNG"); - s->img_x = stbi__get32be(s); - s->img_y = stbi__get32be(s); - if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - z->depth = stbi__get8(s); if (z->depth != 1 && z->depth != 2 && z->depth != 4 && z->depth != 8 && z->depth != 16) return stbi__err("1/2/4/8/16-bit only","PNG not supported: 1/2/4/8/16-bit only"); - color = stbi__get8(s); if (color > 6) return stbi__err("bad ctype","Corrupt PNG"); - if (color == 3 && z->depth == 16) return stbi__err("bad ctype","Corrupt PNG"); - if (color == 3) pal_img_n = 3; else if (color & 1) return stbi__err("bad ctype","Corrupt PNG"); - comp = stbi__get8(s); if (comp) return stbi__err("bad comp method","Corrupt PNG"); - filter= stbi__get8(s); if (filter) return stbi__err("bad filter method","Corrupt PNG"); - interlace = stbi__get8(s); if (interlace>1) return stbi__err("bad interlace method","Corrupt PNG"); - if (!s->img_x || !s->img_y) return stbi__err("0-pixel image","Corrupt PNG"); - if (!pal_img_n) { - s->img_n = (color & 2 ? 3 : 1) + (color & 4 ? 1 : 0); - if ((1 << 30) / s->img_x / s->img_n < s->img_y) return stbi__err("too large", "Image too large to decode"); - } else { - // if paletted, then pal_n is our final components, and - // img_n is # components to decompress/filter. - s->img_n = 1; - if ((1 << 30) / s->img_x / 4 < s->img_y) return stbi__err("too large","Corrupt PNG"); - } - // even with SCAN_header, have to scan to see if we have a tRNS - break; - } - - case STBI__PNG_TYPE('P','L','T','E'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (c.length > 256*3) return stbi__err("invalid PLTE","Corrupt PNG"); - pal_len = c.length / 3; - if (pal_len * 3 != c.length) return stbi__err("invalid PLTE","Corrupt PNG"); - for (i=0; i < pal_len; ++i) { - palette[i*4+0] = stbi__get8(s); - palette[i*4+1] = stbi__get8(s); - palette[i*4+2] = stbi__get8(s); - palette[i*4+3] = 255; - } - break; - } - - case STBI__PNG_TYPE('t','R','N','S'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (z->idata) return stbi__err("tRNS after IDAT","Corrupt PNG"); - if (pal_img_n) { - if (scan == STBI__SCAN_header) { s->img_n = 4; return 1; } - if (pal_len == 0) return stbi__err("tRNS before PLTE","Corrupt PNG"); - if (c.length > pal_len) return stbi__err("bad tRNS len","Corrupt PNG"); - pal_img_n = 4; - for (i=0; i < c.length; ++i) - palette[i*4+3] = stbi__get8(s); - } else { - if (!(s->img_n & 1)) return stbi__err("tRNS with alpha","Corrupt PNG"); - if (c.length != (stbi__uint32) s->img_n*2) return stbi__err("bad tRNS len","Corrupt PNG"); - has_trans = 1; - // non-paletted with tRNS = constant alpha. if header-scanning, we can stop now. - if (scan == STBI__SCAN_header) { ++s->img_n; return 1; } - if (z->depth == 16) { - for (k = 0; k < s->img_n && k < 3; ++k) // extra loop test to suppress false GCC warning - tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is - } else { - for (k = 0; k < s->img_n && k < 3; ++k) - tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger - } - } - break; - } - - case STBI__PNG_TYPE('I','D','A','T'): { - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (pal_img_n && !pal_len) return stbi__err("no PLTE","Corrupt PNG"); - if (scan == STBI__SCAN_header) { - // header scan definitely stops at first IDAT - if (pal_img_n) - s->img_n = pal_img_n; - return 1; - } - if (c.length > (1u << 30)) return stbi__err("IDAT size limit", "IDAT section larger than 2^30 bytes"); - if ((int)(ioff + c.length) < (int)ioff) return 0; - if (ioff + c.length > idata_limit) { - stbi__uint32 idata_limit_old = idata_limit; - stbi_uc *p; - if (idata_limit == 0) idata_limit = c.length > 4096 ? c.length : 4096; - while (ioff + c.length > idata_limit) - idata_limit *= 2; - STBI_NOTUSED(idata_limit_old); - p = (stbi_uc *) STBI_REALLOC_SIZED(z->idata, idata_limit_old, idata_limit); if (p == NULL) return stbi__err("outofmem", "Out of memory"); - z->idata = p; - } - if (!stbi__getn(s, z->idata+ioff,c.length)) return stbi__err("outofdata","Corrupt PNG"); - ioff += c.length; - break; - } - - case STBI__PNG_TYPE('I','E','N','D'): { - stbi__uint32 raw_len, bpl; - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if (scan != STBI__SCAN_load) return 1; - if (z->idata == NULL) return stbi__err("no IDAT","Corrupt PNG"); - // initial guess for decoded data size to avoid unnecessary reallocs - bpl = (s->img_x * z->depth + 7) / 8; // bytes per line, per component - raw_len = bpl * s->img_y * s->img_n /* pixels */ + s->img_y /* filter mode per row */; - z->expanded = (stbi_uc *) stbi_zlib_decode_malloc_guesssize_headerflag((char *) z->idata, ioff, raw_len, (int *) &raw_len, !is_iphone); - if (z->expanded == NULL) return 0; // zlib should set error - STBI_FREE(z->idata); z->idata = NULL; - if ((req_comp == s->img_n+1 && req_comp != 3 && !pal_img_n) || has_trans) - s->img_out_n = s->img_n+1; - else - s->img_out_n = s->img_n; - if (!stbi__create_png_image(z, z->expanded, raw_len, s->img_out_n, z->depth, color, interlace)) return 0; - if (has_trans) { - if (z->depth == 16) { - if (!stbi__compute_transparency16(z, tc16, s->img_out_n)) return 0; - } else { - if (!stbi__compute_transparency(z, tc, s->img_out_n)) return 0; - } - } - if (is_iphone && stbi__de_iphone_flag && s->img_out_n > 2) - stbi__de_iphone(z); - if (pal_img_n) { - // pal_img_n == 3 or 4 - s->img_n = pal_img_n; // record the actual colors we had - s->img_out_n = pal_img_n; - if (req_comp >= 3) s->img_out_n = req_comp; - if (!stbi__expand_png_palette(z, palette, pal_len, s->img_out_n)) - return 0; - } else if (has_trans) { - // non-paletted image with tRNS -> source image has (constant) alpha - ++s->img_n; - } - STBI_FREE(z->expanded); z->expanded = NULL; - // end of PNG chunk, read and skip CRC - stbi__get32be(s); - return 1; - } - - default: - // if critical, fail - if (first) return stbi__err("first not IHDR", "Corrupt PNG"); - if ((c.type & (1 << 29)) == 0) { - #ifndef STBI_NO_FAILURE_STRINGS - // not threadsafe - static char invalid_chunk[] = "XXXX PNG chunk not known"; - invalid_chunk[0] = STBI__BYTECAST(c.type >> 24); - invalid_chunk[1] = STBI__BYTECAST(c.type >> 16); - invalid_chunk[2] = STBI__BYTECAST(c.type >> 8); - invalid_chunk[3] = STBI__BYTECAST(c.type >> 0); - #endif - return stbi__err(invalid_chunk, "PNG not supported: unknown PNG chunk type"); - } - stbi__skip(s, c.length); - break; - } - // end of PNG chunk, read and skip CRC - stbi__get32be(s); - } -} - -static void *stbi__do_png(stbi__png *p, int *x, int *y, int *n, int req_comp, stbi__result_info *ri) -{ - void *result=NULL; - if (req_comp < 0 || req_comp > 4) return stbi__errpuc("bad req_comp", "Internal error"); - if (stbi__parse_png_file(p, STBI__SCAN_load, req_comp)) { - if (p->depth <= 8) - ri->bits_per_channel = 8; - else if (p->depth == 16) - ri->bits_per_channel = 16; - else - return stbi__errpuc("bad bits_per_channel", "PNG not supported: unsupported color depth"); - result = p->out; - p->out = NULL; - if (req_comp && req_comp != p->s->img_out_n) { - if (ri->bits_per_channel == 8) - result = stbi__convert_format((unsigned char *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); - else - result = stbi__convert_format16((stbi__uint16 *) result, p->s->img_out_n, req_comp, p->s->img_x, p->s->img_y); - p->s->img_out_n = req_comp; - if (result == NULL) return result; - } - *x = p->s->img_x; - *y = p->s->img_y; - if (n) *n = p->s->img_n; - } - STBI_FREE(p->out); p->out = NULL; - STBI_FREE(p->expanded); p->expanded = NULL; - STBI_FREE(p->idata); p->idata = NULL; - - return result; -} - -static void *stbi__png_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi__png p; - p.s = s; - return stbi__do_png(&p, x,y,comp,req_comp, ri); -} - -static int stbi__png_test(stbi__context *s) -{ - int r; - r = stbi__check_png_header(s); - stbi__rewind(s); - return r; -} - -static int stbi__png_info_raw(stbi__png *p, int *x, int *y, int *comp) -{ - if (!stbi__parse_png_file(p, STBI__SCAN_header, 0)) { - stbi__rewind( p->s ); - return 0; - } - if (x) *x = p->s->img_x; - if (y) *y = p->s->img_y; - if (comp) *comp = p->s->img_n; - return 1; -} - -static int stbi__png_info(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__png p; - p.s = s; - return stbi__png_info_raw(&p, x, y, comp); -} - -static int stbi__png_is16(stbi__context *s) -{ - stbi__png p; - p.s = s; - if (!stbi__png_info_raw(&p, NULL, NULL, NULL)) - return 0; - if (p.depth != 16) { - stbi__rewind(p.s); - return 0; - } - return 1; -} -#endif - -// Microsoft/Windows BMP image - -#ifndef STBI_NO_BMP -static int stbi__bmp_test_raw(stbi__context *s) -{ - int r; - int sz; - if (stbi__get8(s) != 'B') return 0; - if (stbi__get8(s) != 'M') return 0; - stbi__get32le(s); // discard filesize - stbi__get16le(s); // discard reserved - stbi__get16le(s); // discard reserved - stbi__get32le(s); // discard data offset - sz = stbi__get32le(s); - r = (sz == 12 || sz == 40 || sz == 56 || sz == 108 || sz == 124); - return r; -} - -static int stbi__bmp_test(stbi__context *s) -{ - int r = stbi__bmp_test_raw(s); - stbi__rewind(s); - return r; -} - - -// returns 0..31 for the highest set bit -static int stbi__high_bit(unsigned int z) -{ - int n=0; - if (z == 0) return -1; - if (z >= 0x10000) { n += 16; z >>= 16; } - if (z >= 0x00100) { n += 8; z >>= 8; } - if (z >= 0x00010) { n += 4; z >>= 4; } - if (z >= 0x00004) { n += 2; z >>= 2; } - if (z >= 0x00002) { n += 1;/* >>= 1;*/ } - return n; -} - -static int stbi__bitcount(unsigned int a) -{ - a = (a & 0x55555555) + ((a >> 1) & 0x55555555); // max 2 - a = (a & 0x33333333) + ((a >> 2) & 0x33333333); // max 4 - a = (a + (a >> 4)) & 0x0f0f0f0f; // max 8 per 4, now 8 bits - a = (a + (a >> 8)); // max 16 per 8 bits - a = (a + (a >> 16)); // max 32 per 8 bits - return a & 0xff; -} - -// extract an arbitrarily-aligned N-bit value (N=bits) -// from v, and then make it 8-bits long and fractionally -// extend it to full full range. -static int stbi__shiftsigned(unsigned int v, int shift, int bits) -{ - static unsigned int mul_table[9] = { - 0, - 0xff/*0b11111111*/, 0x55/*0b01010101*/, 0x49/*0b01001001*/, 0x11/*0b00010001*/, - 0x21/*0b00100001*/, 0x41/*0b01000001*/, 0x81/*0b10000001*/, 0x01/*0b00000001*/, - }; - static unsigned int shift_table[9] = { - 0, 0,0,1,0,2,4,6,0, - }; - if (shift < 0) - v <<= -shift; - else - v >>= shift; - STBI_ASSERT(v < 256); - v >>= (8-bits); - STBI_ASSERT(bits >= 0 && bits <= 8); - return (int) ((unsigned) v * mul_table[bits]) >> shift_table[bits]; -} - -typedef struct -{ - int bpp, offset, hsz; - unsigned int mr,mg,mb,ma, all_a; - int extra_read; -} stbi__bmp_data; - -static int stbi__bmp_set_mask_defaults(stbi__bmp_data *info, int compress) -{ - // BI_BITFIELDS specifies masks explicitly, don't override - if (compress == 3) - return 1; - - if (compress == 0) { - if (info->bpp == 16) { - info->mr = 31u << 10; - info->mg = 31u << 5; - info->mb = 31u << 0; - } else if (info->bpp == 32) { - info->mr = 0xffu << 16; - info->mg = 0xffu << 8; - info->mb = 0xffu << 0; - info->ma = 0xffu << 24; - info->all_a = 0; // if all_a is 0 at end, then we loaded alpha channel but it was all 0 - } else { - // otherwise, use defaults, which is all-0 - info->mr = info->mg = info->mb = info->ma = 0; - } - return 1; - } - return 0; // error -} - -static void *stbi__bmp_parse_header(stbi__context *s, stbi__bmp_data *info) -{ - int hsz; - if (stbi__get8(s) != 'B' || stbi__get8(s) != 'M') return stbi__errpuc("not BMP", "Corrupt BMP"); - stbi__get32le(s); // discard filesize - stbi__get16le(s); // discard reserved - stbi__get16le(s); // discard reserved - info->offset = stbi__get32le(s); - info->hsz = hsz = stbi__get32le(s); - info->mr = info->mg = info->mb = info->ma = 0; - info->extra_read = 14; - - if (info->offset < 0) return stbi__errpuc("bad BMP", "bad BMP"); - - if (hsz != 12 && hsz != 40 && hsz != 56 && hsz != 108 && hsz != 124) return stbi__errpuc("unknown BMP", "BMP type not supported: unknown"); - if (hsz == 12) { - s->img_x = stbi__get16le(s); - s->img_y = stbi__get16le(s); - } else { - s->img_x = stbi__get32le(s); - s->img_y = stbi__get32le(s); - } - if (stbi__get16le(s) != 1) return stbi__errpuc("bad BMP", "bad BMP"); - info->bpp = stbi__get16le(s); - if (hsz != 12) { - int compress = stbi__get32le(s); - if (compress == 1 || compress == 2) return stbi__errpuc("BMP RLE", "BMP type not supported: RLE"); - if (compress >= 4) return stbi__errpuc("BMP JPEG/PNG", "BMP type not supported: unsupported compression"); // this includes PNG/JPEG modes - if (compress == 3 && info->bpp != 16 && info->bpp != 32) return stbi__errpuc("bad BMP", "bad BMP"); // bitfields requires 16 or 32 bits/pixel - stbi__get32le(s); // discard sizeof - stbi__get32le(s); // discard hres - stbi__get32le(s); // discard vres - stbi__get32le(s); // discard colorsused - stbi__get32le(s); // discard max important - if (hsz == 40 || hsz == 56) { - if (hsz == 56) { - stbi__get32le(s); - stbi__get32le(s); - stbi__get32le(s); - stbi__get32le(s); - } - if (info->bpp == 16 || info->bpp == 32) { - if (compress == 0) { - stbi__bmp_set_mask_defaults(info, compress); - } else if (compress == 3) { - info->mr = stbi__get32le(s); - info->mg = stbi__get32le(s); - info->mb = stbi__get32le(s); - info->extra_read += 12; - // not documented, but generated by photoshop and handled by mspaint - if (info->mr == info->mg && info->mg == info->mb) { - // ?!?!? - return stbi__errpuc("bad BMP", "bad BMP"); - } - } else - return stbi__errpuc("bad BMP", "bad BMP"); - } - } else { - // V4/V5 header - int i; - if (hsz != 108 && hsz != 124) - return stbi__errpuc("bad BMP", "bad BMP"); - info->mr = stbi__get32le(s); - info->mg = stbi__get32le(s); - info->mb = stbi__get32le(s); - info->ma = stbi__get32le(s); - if (compress != 3) // override mr/mg/mb unless in BI_BITFIELDS mode, as per docs - stbi__bmp_set_mask_defaults(info, compress); - stbi__get32le(s); // discard color space - for (i=0; i < 12; ++i) - stbi__get32le(s); // discard color space parameters - if (hsz == 124) { - stbi__get32le(s); // discard rendering intent - stbi__get32le(s); // discard offset of profile data - stbi__get32le(s); // discard size of profile data - stbi__get32le(s); // discard reserved - } - } - } - return (void *) 1; -} - - -static void *stbi__bmp_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *out; - unsigned int mr=0,mg=0,mb=0,ma=0, all_a; - stbi_uc pal[256][4]; - int psize=0,i,j,width; - int flip_vertically, pad, target; - stbi__bmp_data info; - STBI_NOTUSED(ri); - - info.all_a = 255; - if (stbi__bmp_parse_header(s, &info) == NULL) - return NULL; // error code already set - - flip_vertically = ((int) s->img_y) > 0; - s->img_y = abs((int) s->img_y); - - if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - mr = info.mr; - mg = info.mg; - mb = info.mb; - ma = info.ma; - all_a = info.all_a; - - if (info.hsz == 12) { - if (info.bpp < 24) - psize = (info.offset - info.extra_read - 24) / 3; - } else { - if (info.bpp < 16) - psize = (info.offset - info.extra_read - info.hsz) >> 2; - } - if (psize == 0) { - // accept some number of extra bytes after the header, but if the offset points either to before - // the header ends or implies a large amount of extra data, reject the file as malformed - int bytes_read_so_far = s->callback_already_read + (int)(s->img_buffer - s->img_buffer_original); - int header_limit = 1024; // max we actually read is below 256 bytes currently. - int extra_data_limit = 256*4; // what ordinarily goes here is a palette; 256 entries*4 bytes is its max size. - if (bytes_read_so_far <= 0 || bytes_read_so_far > header_limit) { - return stbi__errpuc("bad header", "Corrupt BMP"); - } - // we established that bytes_read_so_far is positive and sensible. - // the first half of this test rejects offsets that are either too small positives, or - // negative, and guarantees that info.offset >= bytes_read_so_far > 0. this in turn - // ensures the number computed in the second half of the test can't overflow. - if (info.offset < bytes_read_so_far || info.offset - bytes_read_so_far > extra_data_limit) { - return stbi__errpuc("bad offset", "Corrupt BMP"); - } else { - stbi__skip(s, info.offset - bytes_read_so_far); - } - } - - if (info.bpp == 24 && ma == 0xff000000) - s->img_n = 3; - else - s->img_n = ma ? 4 : 3; - if (req_comp && req_comp >= 3) // we can directly decode 3 or 4 - target = req_comp; - else - target = s->img_n; // if they want monochrome, we'll post-convert - - // sanity-check size - if (!stbi__mad3sizes_valid(target, s->img_x, s->img_y, 0)) - return stbi__errpuc("too large", "Corrupt BMP"); - - out = (stbi_uc *) stbi__malloc_mad3(target, s->img_x, s->img_y, 0); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - if (info.bpp < 16) { - int z=0; - if (psize == 0 || psize > 256) { STBI_FREE(out); return stbi__errpuc("invalid", "Corrupt BMP"); } - for (i=0; i < psize; ++i) { - pal[i][2] = stbi__get8(s); - pal[i][1] = stbi__get8(s); - pal[i][0] = stbi__get8(s); - if (info.hsz != 12) stbi__get8(s); - pal[i][3] = 255; - } - stbi__skip(s, info.offset - info.extra_read - info.hsz - psize * (info.hsz == 12 ? 3 : 4)); - if (info.bpp == 1) width = (s->img_x + 7) >> 3; - else if (info.bpp == 4) width = (s->img_x + 1) >> 1; - else if (info.bpp == 8) width = s->img_x; - else { STBI_FREE(out); return stbi__errpuc("bad bpp", "Corrupt BMP"); } - pad = (-width)&3; - if (info.bpp == 1) { - for (j=0; j < (int) s->img_y; ++j) { - int bit_offset = 7, v = stbi__get8(s); - for (i=0; i < (int) s->img_x; ++i) { - int color = (v>>bit_offset)&0x1; - out[z++] = pal[color][0]; - out[z++] = pal[color][1]; - out[z++] = pal[color][2]; - if (target == 4) out[z++] = 255; - if (i+1 == (int) s->img_x) break; - if((--bit_offset) < 0) { - bit_offset = 7; - v = stbi__get8(s); - } - } - stbi__skip(s, pad); - } - } else { - for (j=0; j < (int) s->img_y; ++j) { - for (i=0; i < (int) s->img_x; i += 2) { - int v=stbi__get8(s),v2=0; - if (info.bpp == 4) { - v2 = v & 15; - v >>= 4; - } - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - if (i+1 == (int) s->img_x) break; - v = (info.bpp == 8) ? stbi__get8(s) : v2; - out[z++] = pal[v][0]; - out[z++] = pal[v][1]; - out[z++] = pal[v][2]; - if (target == 4) out[z++] = 255; - } - stbi__skip(s, pad); - } - } - } else { - int rshift=0,gshift=0,bshift=0,ashift=0,rcount=0,gcount=0,bcount=0,acount=0; - int z = 0; - int easy=0; - stbi__skip(s, info.offset - info.extra_read - info.hsz); - if (info.bpp == 24) width = 3 * s->img_x; - else if (info.bpp == 16) width = 2*s->img_x; - else /* bpp = 32 and pad = 0 */ width=0; - pad = (-width) & 3; - if (info.bpp == 24) { - easy = 1; - } else if (info.bpp == 32) { - if (mb == 0xff && mg == 0xff00 && mr == 0x00ff0000 && ma == 0xff000000) - easy = 2; - } - if (!easy) { - if (!mr || !mg || !mb) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } - // right shift amt to put high bit in position #7 - rshift = stbi__high_bit(mr)-7; rcount = stbi__bitcount(mr); - gshift = stbi__high_bit(mg)-7; gcount = stbi__bitcount(mg); - bshift = stbi__high_bit(mb)-7; bcount = stbi__bitcount(mb); - ashift = stbi__high_bit(ma)-7; acount = stbi__bitcount(ma); - if (rcount > 8 || gcount > 8 || bcount > 8 || acount > 8) { STBI_FREE(out); return stbi__errpuc("bad masks", "Corrupt BMP"); } - } - for (j=0; j < (int) s->img_y; ++j) { - if (easy) { - for (i=0; i < (int) s->img_x; ++i) { - unsigned char a; - out[z+2] = stbi__get8(s); - out[z+1] = stbi__get8(s); - out[z+0] = stbi__get8(s); - z += 3; - a = (easy == 2 ? stbi__get8(s) : 255); - all_a |= a; - if (target == 4) out[z++] = a; - } - } else { - int bpp = info.bpp; - for (i=0; i < (int) s->img_x; ++i) { - stbi__uint32 v = (bpp == 16 ? (stbi__uint32) stbi__get16le(s) : stbi__get32le(s)); - unsigned int a; - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mr, rshift, rcount)); - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mg, gshift, gcount)); - out[z++] = STBI__BYTECAST(stbi__shiftsigned(v & mb, bshift, bcount)); - a = (ma ? stbi__shiftsigned(v & ma, ashift, acount) : 255); - all_a |= a; - if (target == 4) out[z++] = STBI__BYTECAST(a); - } - } - stbi__skip(s, pad); - } - } - - // if alpha channel is all 0s, replace with all 255s - if (target == 4 && all_a == 0) - for (i=4*s->img_x*s->img_y-1; i >= 0; i -= 4) - out[i] = 255; - - if (flip_vertically) { - stbi_uc t; - for (j=0; j < (int) s->img_y>>1; ++j) { - stbi_uc *p1 = out + j *s->img_x*target; - stbi_uc *p2 = out + (s->img_y-1-j)*s->img_x*target; - for (i=0; i < (int) s->img_x*target; ++i) { - t = p1[i]; p1[i] = p2[i]; p2[i] = t; - } - } - } - - if (req_comp && req_comp != target) { - out = stbi__convert_format(out, target, req_comp, s->img_x, s->img_y); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - - *x = s->img_x; - *y = s->img_y; - if (comp) *comp = s->img_n; - return out; -} -#endif - -// Targa Truevision - TGA -// by Jonathan Dummer -#ifndef STBI_NO_TGA -// returns STBI_rgb or whatever, 0 on error -static int stbi__tga_get_comp(int bits_per_pixel, int is_grey, int* is_rgb16) -{ - // only RGB or RGBA (incl. 16bit) or grey allowed - if (is_rgb16) *is_rgb16 = 0; - switch(bits_per_pixel) { - case 8: return STBI_grey; - case 16: if(is_grey) return STBI_grey_alpha; - // fallthrough - case 15: if(is_rgb16) *is_rgb16 = 1; - return STBI_rgb; - case 24: // fallthrough - case 32: return bits_per_pixel/8; - default: return 0; - } -} - -static int stbi__tga_info(stbi__context *s, int *x, int *y, int *comp) -{ - int tga_w, tga_h, tga_comp, tga_image_type, tga_bits_per_pixel, tga_colormap_bpp; - int sz, tga_colormap_type; - stbi__get8(s); // discard Offset - tga_colormap_type = stbi__get8(s); // colormap type - if( tga_colormap_type > 1 ) { - stbi__rewind(s); - return 0; // only RGB or indexed allowed - } - tga_image_type = stbi__get8(s); // image type - if ( tga_colormap_type == 1 ) { // colormapped (paletted) image - if (tga_image_type != 1 && tga_image_type != 9) { - stbi__rewind(s); - return 0; - } - stbi__skip(s,4); // skip index of first colormap entry and number of entries - sz = stbi__get8(s); // check bits per palette color entry - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) { - stbi__rewind(s); - return 0; - } - stbi__skip(s,4); // skip image x and y origin - tga_colormap_bpp = sz; - } else { // "normal" image w/o colormap - only RGB or grey allowed, +/- RLE - if ( (tga_image_type != 2) && (tga_image_type != 3) && (tga_image_type != 10) && (tga_image_type != 11) ) { - stbi__rewind(s); - return 0; // only RGB or grey allowed, +/- RLE - } - stbi__skip(s,9); // skip colormap specification and image x/y origin - tga_colormap_bpp = 0; - } - tga_w = stbi__get16le(s); - if( tga_w < 1 ) { - stbi__rewind(s); - return 0; // test width - } - tga_h = stbi__get16le(s); - if( tga_h < 1 ) { - stbi__rewind(s); - return 0; // test height - } - tga_bits_per_pixel = stbi__get8(s); // bits per pixel - stbi__get8(s); // ignore alpha bits - if (tga_colormap_bpp != 0) { - if((tga_bits_per_pixel != 8) && (tga_bits_per_pixel != 16)) { - // when using a colormap, tga_bits_per_pixel is the size of the indexes - // I don't think anything but 8 or 16bit indexes makes sense - stbi__rewind(s); - return 0; - } - tga_comp = stbi__tga_get_comp(tga_colormap_bpp, 0, NULL); - } else { - tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3) || (tga_image_type == 11), NULL); - } - if(!tga_comp) { - stbi__rewind(s); - return 0; - } - if (x) *x = tga_w; - if (y) *y = tga_h; - if (comp) *comp = tga_comp; - return 1; // seems to have passed everything -} - -static int stbi__tga_test(stbi__context *s) -{ - int res = 0; - int sz, tga_color_type; - stbi__get8(s); // discard Offset - tga_color_type = stbi__get8(s); // color type - if ( tga_color_type > 1 ) goto errorEnd; // only RGB or indexed allowed - sz = stbi__get8(s); // image type - if ( tga_color_type == 1 ) { // colormapped (paletted) image - if (sz != 1 && sz != 9) goto errorEnd; // colortype 1 demands image type 1 or 9 - stbi__skip(s,4); // skip index of first colormap entry and number of entries - sz = stbi__get8(s); // check bits per palette color entry - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; - stbi__skip(s,4); // skip image x and y origin - } else { // "normal" image w/o colormap - if ( (sz != 2) && (sz != 3) && (sz != 10) && (sz != 11) ) goto errorEnd; // only RGB or grey allowed, +/- RLE - stbi__skip(s,9); // skip colormap specification and image x/y origin - } - if ( stbi__get16le(s) < 1 ) goto errorEnd; // test width - if ( stbi__get16le(s) < 1 ) goto errorEnd; // test height - sz = stbi__get8(s); // bits per pixel - if ( (tga_color_type == 1) && (sz != 8) && (sz != 16) ) goto errorEnd; // for colormapped images, bpp is size of an index - if ( (sz != 8) && (sz != 15) && (sz != 16) && (sz != 24) && (sz != 32) ) goto errorEnd; - - res = 1; // if we got this far, everything's good and we can return 1 instead of 0 - -errorEnd: - stbi__rewind(s); - return res; -} - -// read 16bit value and convert to 24bit RGB -static void stbi__tga_read_rgb16(stbi__context *s, stbi_uc* out) -{ - stbi__uint16 px = (stbi__uint16)stbi__get16le(s); - stbi__uint16 fiveBitMask = 31; - // we have 3 channels with 5bits each - int r = (px >> 10) & fiveBitMask; - int g = (px >> 5) & fiveBitMask; - int b = px & fiveBitMask; - // Note that this saves the data in RGB(A) order, so it doesn't need to be swapped later - out[0] = (stbi_uc)((r * 255)/31); - out[1] = (stbi_uc)((g * 255)/31); - out[2] = (stbi_uc)((b * 255)/31); - - // some people claim that the most significant bit might be used for alpha - // (possibly if an alpha-bit is set in the "image descriptor byte") - // but that only made 16bit test images completely translucent.. - // so let's treat all 15 and 16bit TGAs as RGB with no alpha. -} - -static void *stbi__tga_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - // read in the TGA header stuff - int tga_offset = stbi__get8(s); - int tga_indexed = stbi__get8(s); - int tga_image_type = stbi__get8(s); - int tga_is_RLE = 0; - int tga_palette_start = stbi__get16le(s); - int tga_palette_len = stbi__get16le(s); - int tga_palette_bits = stbi__get8(s); - int tga_x_origin = stbi__get16le(s); - int tga_y_origin = stbi__get16le(s); - int tga_width = stbi__get16le(s); - int tga_height = stbi__get16le(s); - int tga_bits_per_pixel = stbi__get8(s); - int tga_comp, tga_rgb16=0; - int tga_inverted = stbi__get8(s); - // int tga_alpha_bits = tga_inverted & 15; // the 4 lowest bits - unused (useless?) - // image data - unsigned char *tga_data; - unsigned char *tga_palette = NULL; - int i, j; - unsigned char raw_data[4] = {0}; - int RLE_count = 0; - int RLE_repeating = 0; - int read_next_pixel = 1; - STBI_NOTUSED(ri); - STBI_NOTUSED(tga_x_origin); // @TODO - STBI_NOTUSED(tga_y_origin); // @TODO - - if (tga_height > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (tga_width > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - // do a tiny bit of precessing - if ( tga_image_type >= 8 ) - { - tga_image_type -= 8; - tga_is_RLE = 1; - } - tga_inverted = 1 - ((tga_inverted >> 5) & 1); - - // If I'm paletted, then I'll use the number of bits from the palette - if ( tga_indexed ) tga_comp = stbi__tga_get_comp(tga_palette_bits, 0, &tga_rgb16); - else tga_comp = stbi__tga_get_comp(tga_bits_per_pixel, (tga_image_type == 3), &tga_rgb16); - - if(!tga_comp) // shouldn't really happen, stbi__tga_test() should have ensured basic consistency - return stbi__errpuc("bad format", "Can't find out TGA pixelformat"); - - // tga info - *x = tga_width; - *y = tga_height; - if (comp) *comp = tga_comp; - - if (!stbi__mad3sizes_valid(tga_width, tga_height, tga_comp, 0)) - return stbi__errpuc("too large", "Corrupt TGA"); - - tga_data = (unsigned char*)stbi__malloc_mad3(tga_width, tga_height, tga_comp, 0); - if (!tga_data) return stbi__errpuc("outofmem", "Out of memory"); - - // skip to the data's starting position (offset usually = 0) - stbi__skip(s, tga_offset ); - - if ( !tga_indexed && !tga_is_RLE && !tga_rgb16 ) { - for (i=0; i < tga_height; ++i) { - int row = tga_inverted ? tga_height -i - 1 : i; - stbi_uc *tga_row = tga_data + row*tga_width*tga_comp; - stbi__getn(s, tga_row, tga_width * tga_comp); - } - } else { - // do I need to load a palette? - if ( tga_indexed) - { - if (tga_palette_len == 0) { /* you have to have at least one entry! */ - STBI_FREE(tga_data); - return stbi__errpuc("bad palette", "Corrupt TGA"); - } - - // any data to skip? (offset usually = 0) - stbi__skip(s, tga_palette_start ); - // load the palette - tga_palette = (unsigned char*)stbi__malloc_mad2(tga_palette_len, tga_comp, 0); - if (!tga_palette) { - STBI_FREE(tga_data); - return stbi__errpuc("outofmem", "Out of memory"); - } - if (tga_rgb16) { - stbi_uc *pal_entry = tga_palette; - STBI_ASSERT(tga_comp == STBI_rgb); - for (i=0; i < tga_palette_len; ++i) { - stbi__tga_read_rgb16(s, pal_entry); - pal_entry += tga_comp; - } - } else if (!stbi__getn(s, tga_palette, tga_palette_len * tga_comp)) { - STBI_FREE(tga_data); - STBI_FREE(tga_palette); - return stbi__errpuc("bad palette", "Corrupt TGA"); - } - } - // load the data - for (i=0; i < tga_width * tga_height; ++i) - { - // if I'm in RLE mode, do I need to get a RLE stbi__pngchunk? - if ( tga_is_RLE ) - { - if ( RLE_count == 0 ) - { - // yep, get the next byte as a RLE command - int RLE_cmd = stbi__get8(s); - RLE_count = 1 + (RLE_cmd & 127); - RLE_repeating = RLE_cmd >> 7; - read_next_pixel = 1; - } else if ( !RLE_repeating ) - { - read_next_pixel = 1; - } - } else - { - read_next_pixel = 1; - } - // OK, if I need to read a pixel, do it now - if ( read_next_pixel ) - { - // load however much data we did have - if ( tga_indexed ) - { - // read in index, then perform the lookup - int pal_idx = (tga_bits_per_pixel == 8) ? stbi__get8(s) : stbi__get16le(s); - if ( pal_idx >= tga_palette_len ) { - // invalid index - pal_idx = 0; - } - pal_idx *= tga_comp; - for (j = 0; j < tga_comp; ++j) { - raw_data[j] = tga_palette[pal_idx+j]; - } - } else if(tga_rgb16) { - STBI_ASSERT(tga_comp == STBI_rgb); - stbi__tga_read_rgb16(s, raw_data); - } else { - // read in the data raw - for (j = 0; j < tga_comp; ++j) { - raw_data[j] = stbi__get8(s); - } - } - // clear the reading flag for the next pixel - read_next_pixel = 0; - } // end of reading a pixel - - // copy data - for (j = 0; j < tga_comp; ++j) - tga_data[i*tga_comp+j] = raw_data[j]; - - // in case we're in RLE mode, keep counting down - --RLE_count; - } - // do I need to invert the image? - if ( tga_inverted ) - { - for (j = 0; j*2 < tga_height; ++j) - { - int index1 = j * tga_width * tga_comp; - int index2 = (tga_height - 1 - j) * tga_width * tga_comp; - for (i = tga_width * tga_comp; i > 0; --i) - { - unsigned char temp = tga_data[index1]; - tga_data[index1] = tga_data[index2]; - tga_data[index2] = temp; - ++index1; - ++index2; - } - } - } - // clear my palette, if I had one - if ( tga_palette != NULL ) - { - STBI_FREE( tga_palette ); - } - } - - // swap RGB - if the source data was RGB16, it already is in the right order - if (tga_comp >= 3 && !tga_rgb16) - { - unsigned char* tga_pixel = tga_data; - for (i=0; i < tga_width * tga_height; ++i) - { - unsigned char temp = tga_pixel[0]; - tga_pixel[0] = tga_pixel[2]; - tga_pixel[2] = temp; - tga_pixel += tga_comp; - } - } - - // convert to target component count - if (req_comp && req_comp != tga_comp) - tga_data = stbi__convert_format(tga_data, tga_comp, req_comp, tga_width, tga_height); - - // the things I do to get rid of an error message, and yet keep - // Microsoft's C compilers happy... [8^( - tga_palette_start = tga_palette_len = tga_palette_bits = - tga_x_origin = tga_y_origin = 0; - STBI_NOTUSED(tga_palette_start); - // OK, done - return tga_data; -} -#endif - -// ************************************************************************************************* -// Photoshop PSD loader -- PD by Thatcher Ulrich, integration by Nicolas Schulz, tweaked by STB - -#ifndef STBI_NO_PSD -static int stbi__psd_test(stbi__context *s) -{ - int r = (stbi__get32be(s) == 0x38425053); - stbi__rewind(s); - return r; -} - -static int stbi__psd_decode_rle(stbi__context *s, stbi_uc *p, int pixelCount) -{ - int count, nleft, len; - - count = 0; - while ((nleft = pixelCount - count) > 0) { - len = stbi__get8(s); - if (len == 128) { - // No-op. - } else if (len < 128) { - // Copy next len+1 bytes literally. - len++; - if (len > nleft) return 0; // corrupt data - count += len; - while (len) { - *p = stbi__get8(s); - p += 4; - len--; - } - } else if (len > 128) { - stbi_uc val; - // Next -len+1 bytes in the dest are replicated from next source byte. - // (Interpret len as a negative 8-bit int.) - len = 257 - len; - if (len > nleft) return 0; // corrupt data - val = stbi__get8(s); - count += len; - while (len) { - *p = val; - p += 4; - len--; - } - } - } - - return 1; -} - -static void *stbi__psd_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri, int bpc) -{ - int pixelCount; - int channelCount, compression; - int channel, i; - int bitdepth; - int w,h; - stbi_uc *out; - STBI_NOTUSED(ri); - - // Check identifier - if (stbi__get32be(s) != 0x38425053) // "8BPS" - return stbi__errpuc("not PSD", "Corrupt PSD image"); - - // Check file type version. - if (stbi__get16be(s) != 1) - return stbi__errpuc("wrong version", "Unsupported version of PSD image"); - - // Skip 6 reserved bytes. - stbi__skip(s, 6 ); - - // Read the number of channels (R, G, B, A, etc). - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) - return stbi__errpuc("wrong channel count", "Unsupported number of channels in PSD image"); - - // Read the rows and columns of the image. - h = stbi__get32be(s); - w = stbi__get32be(s); - - if (h > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (w > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - // Make sure the depth is 8 bits. - bitdepth = stbi__get16be(s); - if (bitdepth != 8 && bitdepth != 16) - return stbi__errpuc("unsupported bit depth", "PSD bit depth is not 8 or 16 bit"); - - // Make sure the color mode is RGB. - // Valid options are: - // 0: Bitmap - // 1: Grayscale - // 2: Indexed color - // 3: RGB color - // 4: CMYK color - // 7: Multichannel - // 8: Duotone - // 9: Lab color - if (stbi__get16be(s) != 3) - return stbi__errpuc("wrong color format", "PSD is not in RGB color format"); - - // Skip the Mode Data. (It's the palette for indexed color; other info for other modes.) - stbi__skip(s,stbi__get32be(s) ); - - // Skip the image resources. (resolution, pen tool paths, etc) - stbi__skip(s, stbi__get32be(s) ); - - // Skip the reserved data. - stbi__skip(s, stbi__get32be(s) ); - - // Find out if the data is compressed. - // Known values: - // 0: no compression - // 1: RLE compressed - compression = stbi__get16be(s); - if (compression > 1) - return stbi__errpuc("bad compression", "PSD has an unknown compression format"); - - // Check size - if (!stbi__mad3sizes_valid(4, w, h, 0)) - return stbi__errpuc("too large", "Corrupt PSD"); - - // Create the destination image. - - if (!compression && bitdepth == 16 && bpc == 16) { - out = (stbi_uc *) stbi__malloc_mad3(8, w, h, 0); - ri->bits_per_channel = 16; - } else - out = (stbi_uc *) stbi__malloc(4 * w*h); - - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - pixelCount = w*h; - - // Initialize the data to zero. - //memset( out, 0, pixelCount * 4 ); - - // Finally, the image data. - if (compression) { - // RLE as used by .PSD and .TIFF - // Loop until you get the number of unpacked bytes you are expecting: - // Read the next source byte into n. - // If n is between 0 and 127 inclusive, copy the next n+1 bytes literally. - // Else if n is between -127 and -1 inclusive, copy the next byte -n+1 times. - // Else if n is 128, noop. - // Endloop - - // The RLE-compressed data is preceded by a 2-byte data count for each row in the data, - // which we're going to just skip. - stbi__skip(s, h * channelCount * 2 ); - - // Read the RLE data by channel. - for (channel = 0; channel < 4; channel++) { - stbi_uc *p; - - p = out+channel; - if (channel >= channelCount) { - // Fill this channel with default data. - for (i = 0; i < pixelCount; i++, p += 4) - *p = (channel == 3 ? 255 : 0); - } else { - // Read the RLE data. - if (!stbi__psd_decode_rle(s, p, pixelCount)) { - STBI_FREE(out); - return stbi__errpuc("corrupt", "bad RLE data"); - } - } - } - - } else { - // We're at the raw image data. It's each channel in order (Red, Green, Blue, Alpha, ...) - // where each channel consists of an 8-bit (or 16-bit) value for each pixel in the image. - - // Read the data by channel. - for (channel = 0; channel < 4; channel++) { - if (channel >= channelCount) { - // Fill this channel with default data. - if (bitdepth == 16 && bpc == 16) { - stbi__uint16 *q = ((stbi__uint16 *) out) + channel; - stbi__uint16 val = channel == 3 ? 65535 : 0; - for (i = 0; i < pixelCount; i++, q += 4) - *q = val; - } else { - stbi_uc *p = out+channel; - stbi_uc val = channel == 3 ? 255 : 0; - for (i = 0; i < pixelCount; i++, p += 4) - *p = val; - } - } else { - if (ri->bits_per_channel == 16) { // output bpc - stbi__uint16 *q = ((stbi__uint16 *) out) + channel; - for (i = 0; i < pixelCount; i++, q += 4) - *q = (stbi__uint16) stbi__get16be(s); - } else { - stbi_uc *p = out+channel; - if (bitdepth == 16) { // input bpc - for (i = 0; i < pixelCount; i++, p += 4) - *p = (stbi_uc) (stbi__get16be(s) >> 8); - } else { - for (i = 0; i < pixelCount; i++, p += 4) - *p = stbi__get8(s); - } - } - } - } - } - - // remove weird white matte from PSD - if (channelCount >= 4) { - if (ri->bits_per_channel == 16) { - for (i=0; i < w*h; ++i) { - stbi__uint16 *pixel = (stbi__uint16 *) out + 4*i; - if (pixel[3] != 0 && pixel[3] != 65535) { - float a = pixel[3] / 65535.0f; - float ra = 1.0f / a; - float inv_a = 65535.0f * (1 - ra); - pixel[0] = (stbi__uint16) (pixel[0]*ra + inv_a); - pixel[1] = (stbi__uint16) (pixel[1]*ra + inv_a); - pixel[2] = (stbi__uint16) (pixel[2]*ra + inv_a); - } - } - } else { - for (i=0; i < w*h; ++i) { - unsigned char *pixel = out + 4*i; - if (pixel[3] != 0 && pixel[3] != 255) { - float a = pixel[3] / 255.0f; - float ra = 1.0f / a; - float inv_a = 255.0f * (1 - ra); - pixel[0] = (unsigned char) (pixel[0]*ra + inv_a); - pixel[1] = (unsigned char) (pixel[1]*ra + inv_a); - pixel[2] = (unsigned char) (pixel[2]*ra + inv_a); - } - } - } - } - - // convert to desired output format - if (req_comp && req_comp != 4) { - if (ri->bits_per_channel == 16) - out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, 4, req_comp, w, h); - else - out = stbi__convert_format(out, 4, req_comp, w, h); - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - - if (comp) *comp = 4; - *y = h; - *x = w; - - return out; -} -#endif - -// ************************************************************************************************* -// Softimage PIC loader -// by Tom Seddon -// -// See http://softimage.wiki.softimage.com/index.php/INFO:_PIC_file_format -// See http://ozviz.wasp.uwa.edu.au/~pbourke/dataformats/softimagepic/ - -#ifndef STBI_NO_PIC -static int stbi__pic_is4(stbi__context *s,const char *str) -{ - int i; - for (i=0; i<4; ++i) - if (stbi__get8(s) != (stbi_uc)str[i]) - return 0; - - return 1; -} - -static int stbi__pic_test_core(stbi__context *s) -{ - int i; - - if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) - return 0; - - for(i=0;i<84;++i) - stbi__get8(s); - - if (!stbi__pic_is4(s,"PICT")) - return 0; - - return 1; -} - -typedef struct -{ - stbi_uc size,type,channel; -} stbi__pic_packet; - -static stbi_uc *stbi__readval(stbi__context *s, int channel, stbi_uc *dest) -{ - int mask=0x80, i; - - for (i=0; i<4; ++i, mask>>=1) { - if (channel & mask) { - if (stbi__at_eof(s)) return stbi__errpuc("bad file","PIC file too short"); - dest[i]=stbi__get8(s); - } - } - - return dest; -} - -static void stbi__copyval(int channel,stbi_uc *dest,const stbi_uc *src) -{ - int mask=0x80,i; - - for (i=0;i<4; ++i, mask>>=1) - if (channel&mask) - dest[i]=src[i]; -} - -static stbi_uc *stbi__pic_load_core(stbi__context *s,int width,int height,int *comp, stbi_uc *result) -{ - int act_comp=0,num_packets=0,y,chained; - stbi__pic_packet packets[10]; - - // this will (should...) cater for even some bizarre stuff like having data - // for the same channel in multiple packets. - do { - stbi__pic_packet *packet; - - if (num_packets==sizeof(packets)/sizeof(packets[0])) - return stbi__errpuc("bad format","too many packets"); - - packet = &packets[num_packets++]; - - chained = stbi__get8(s); - packet->size = stbi__get8(s); - packet->type = stbi__get8(s); - packet->channel = stbi__get8(s); - - act_comp |= packet->channel; - - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (reading packets)"); - if (packet->size != 8) return stbi__errpuc("bad format","packet isn't 8bpp"); - } while (chained); - - *comp = (act_comp & 0x10 ? 4 : 3); // has alpha channel? - - for(y=0; ytype) { - default: - return stbi__errpuc("bad format","packet has bad compression type"); - - case 0: {//uncompressed - int x; - - for(x=0;xchannel,dest)) - return 0; - break; - } - - case 1://Pure RLE - { - int left=width, i; - - while (left>0) { - stbi_uc count,value[4]; - - count=stbi__get8(s); - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pure read count)"); - - if (count > left) - count = (stbi_uc) left; - - if (!stbi__readval(s,packet->channel,value)) return 0; - - for(i=0; ichannel,dest,value); - left -= count; - } - } - break; - - case 2: {//Mixed RLE - int left=width; - while (left>0) { - int count = stbi__get8(s), i; - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (mixed read count)"); - - if (count >= 128) { // Repeated - stbi_uc value[4]; - - if (count==128) - count = stbi__get16be(s); - else - count -= 127; - if (count > left) - return stbi__errpuc("bad file","scanline overrun"); - - if (!stbi__readval(s,packet->channel,value)) - return 0; - - for(i=0;ichannel,dest,value); - } else { // Raw - ++count; - if (count>left) return stbi__errpuc("bad file","scanline overrun"); - - for(i=0;ichannel,dest)) - return 0; - } - left-=count; - } - break; - } - } - } - } - - return result; -} - -static void *stbi__pic_load(stbi__context *s,int *px,int *py,int *comp,int req_comp, stbi__result_info *ri) -{ - stbi_uc *result; - int i, x,y, internal_comp; - STBI_NOTUSED(ri); - - if (!comp) comp = &internal_comp; - - for (i=0; i<92; ++i) - stbi__get8(s); - - x = stbi__get16be(s); - y = stbi__get16be(s); - - if (y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - if (stbi__at_eof(s)) return stbi__errpuc("bad file","file too short (pic header)"); - if (!stbi__mad3sizes_valid(x, y, 4, 0)) return stbi__errpuc("too large", "PIC image too large to decode"); - - stbi__get32be(s); //skip `ratio' - stbi__get16be(s); //skip `fields' - stbi__get16be(s); //skip `pad' - - // intermediate buffer is RGBA - result = (stbi_uc *) stbi__malloc_mad3(x, y, 4, 0); - if (!result) return stbi__errpuc("outofmem", "Out of memory"); - memset(result, 0xff, x*y*4); - - if (!stbi__pic_load_core(s,x,y,comp, result)) { - STBI_FREE(result); - result=0; - } - *px = x; - *py = y; - if (req_comp == 0) req_comp = *comp; - result=stbi__convert_format(result,4,req_comp,x,y); - - return result; -} - -static int stbi__pic_test(stbi__context *s) -{ - int r = stbi__pic_test_core(s); - stbi__rewind(s); - return r; -} -#endif - -// ************************************************************************************************* -// GIF loader -- public domain by Jean-Marc Lienher -- simplified/shrunk by stb - -#ifndef STBI_NO_GIF -typedef struct -{ - stbi__int16 prefix; - stbi_uc first; - stbi_uc suffix; -} stbi__gif_lzw; - -typedef struct -{ - int w,h; - stbi_uc *out; // output buffer (always 4 components) - stbi_uc *background; // The current "background" as far as a gif is concerned - stbi_uc *history; - int flags, bgindex, ratio, transparent, eflags; - stbi_uc pal[256][4]; - stbi_uc lpal[256][4]; - stbi__gif_lzw codes[8192]; - stbi_uc *color_table; - int parse, step; - int lflags; - int start_x, start_y; - int max_x, max_y; - int cur_x, cur_y; - int line_size; - int delay; -} stbi__gif; - -static int stbi__gif_test_raw(stbi__context *s) -{ - int sz; - if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') return 0; - sz = stbi__get8(s); - if (sz != '9' && sz != '7') return 0; - if (stbi__get8(s) != 'a') return 0; - return 1; -} - -static int stbi__gif_test(stbi__context *s) -{ - int r = stbi__gif_test_raw(s); - stbi__rewind(s); - return r; -} - -static void stbi__gif_parse_colortable(stbi__context *s, stbi_uc pal[256][4], int num_entries, int transp) -{ - int i; - for (i=0; i < num_entries; ++i) { - pal[i][2] = stbi__get8(s); - pal[i][1] = stbi__get8(s); - pal[i][0] = stbi__get8(s); - pal[i][3] = transp == i ? 0 : 255; - } -} - -static int stbi__gif_header(stbi__context *s, stbi__gif *g, int *comp, int is_info) -{ - stbi_uc version; - if (stbi__get8(s) != 'G' || stbi__get8(s) != 'I' || stbi__get8(s) != 'F' || stbi__get8(s) != '8') - return stbi__err("not GIF", "Corrupt GIF"); - - version = stbi__get8(s); - if (version != '7' && version != '9') return stbi__err("not GIF", "Corrupt GIF"); - if (stbi__get8(s) != 'a') return stbi__err("not GIF", "Corrupt GIF"); - - stbi__g_failure_reason = ""; - g->w = stbi__get16le(s); - g->h = stbi__get16le(s); - g->flags = stbi__get8(s); - g->bgindex = stbi__get8(s); - g->ratio = stbi__get8(s); - g->transparent = -1; - - if (g->w > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - if (g->h > STBI_MAX_DIMENSIONS) return stbi__err("too large","Very large image (corrupt?)"); - - if (comp != 0) *comp = 4; // can't actually tell whether it's 3 or 4 until we parse the comments - - if (is_info) return 1; - - if (g->flags & 0x80) - stbi__gif_parse_colortable(s,g->pal, 2 << (g->flags & 7), -1); - - return 1; -} - -static int stbi__gif_info_raw(stbi__context *s, int *x, int *y, int *comp) -{ - stbi__gif* g = (stbi__gif*) stbi__malloc(sizeof(stbi__gif)); - if (!g) return stbi__err("outofmem", "Out of memory"); - if (!stbi__gif_header(s, g, comp, 1)) { - STBI_FREE(g); - stbi__rewind( s ); - return 0; - } - if (x) *x = g->w; - if (y) *y = g->h; - STBI_FREE(g); - return 1; -} - -static void stbi__out_gif_code(stbi__gif *g, stbi__uint16 code) -{ - stbi_uc *p, *c; - int idx; - - // recurse to decode the prefixes, since the linked-list is backwards, - // and working backwards through an interleaved image would be nasty - if (g->codes[code].prefix >= 0) - stbi__out_gif_code(g, g->codes[code].prefix); - - if (g->cur_y >= g->max_y) return; - - idx = g->cur_x + g->cur_y; - p = &g->out[idx]; - g->history[idx / 4] = 1; - - c = &g->color_table[g->codes[code].suffix * 4]; - if (c[3] > 128) { // don't render transparent pixels; - p[0] = c[2]; - p[1] = c[1]; - p[2] = c[0]; - p[3] = c[3]; - } - g->cur_x += 4; - - if (g->cur_x >= g->max_x) { - g->cur_x = g->start_x; - g->cur_y += g->step; - - while (g->cur_y >= g->max_y && g->parse > 0) { - g->step = (1 << g->parse) * g->line_size; - g->cur_y = g->start_y + (g->step >> 1); - --g->parse; - } - } -} - -static stbi_uc *stbi__process_gif_raster(stbi__context *s, stbi__gif *g) -{ - stbi_uc lzw_cs; - stbi__int32 len, init_code; - stbi__uint32 first; - stbi__int32 codesize, codemask, avail, oldcode, bits, valid_bits, clear; - stbi__gif_lzw *p; - - lzw_cs = stbi__get8(s); - if (lzw_cs > 12) return NULL; - clear = 1 << lzw_cs; - first = 1; - codesize = lzw_cs + 1; - codemask = (1 << codesize) - 1; - bits = 0; - valid_bits = 0; - for (init_code = 0; init_code < clear; init_code++) { - g->codes[init_code].prefix = -1; - g->codes[init_code].first = (stbi_uc) init_code; - g->codes[init_code].suffix = (stbi_uc) init_code; - } - - // support no starting clear code - avail = clear+2; - oldcode = -1; - - len = 0; - for(;;) { - if (valid_bits < codesize) { - if (len == 0) { - len = stbi__get8(s); // start new block - if (len == 0) - return g->out; - } - --len; - bits |= (stbi__int32) stbi__get8(s) << valid_bits; - valid_bits += 8; - } else { - stbi__int32 code = bits & codemask; - bits >>= codesize; - valid_bits -= codesize; - // @OPTIMIZE: is there some way we can accelerate the non-clear path? - if (code == clear) { // clear code - codesize = lzw_cs + 1; - codemask = (1 << codesize) - 1; - avail = clear + 2; - oldcode = -1; - first = 0; - } else if (code == clear + 1) { // end of stream code - stbi__skip(s, len); - while ((len = stbi__get8(s)) > 0) - stbi__skip(s,len); - return g->out; - } else if (code <= avail) { - if (first) { - return stbi__errpuc("no clear code", "Corrupt GIF"); - } - - if (oldcode >= 0) { - p = &g->codes[avail++]; - if (avail > 8192) { - return stbi__errpuc("too many codes", "Corrupt GIF"); - } - - p->prefix = (stbi__int16) oldcode; - p->first = g->codes[oldcode].first; - p->suffix = (code == avail) ? p->first : g->codes[code].first; - } else if (code == avail) - return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - - stbi__out_gif_code(g, (stbi__uint16) code); - - if ((avail & codemask) == 0 && avail <= 0x0FFF) { - codesize++; - codemask = (1 << codesize) - 1; - } - - oldcode = code; - } else { - return stbi__errpuc("illegal code in raster", "Corrupt GIF"); - } - } - } -} - -// this function is designed to support animated gifs, although stb_image doesn't support it -// two back is the image from two frames ago, used for a very specific disposal format -static stbi_uc *stbi__gif_load_next(stbi__context *s, stbi__gif *g, int *comp, int req_comp, stbi_uc *two_back) -{ - int dispose; - int first_frame; - int pi; - int pcount; - STBI_NOTUSED(req_comp); - - // on first frame, any non-written pixels get the background colour (non-transparent) - first_frame = 0; - if (g->out == 0) { - if (!stbi__gif_header(s, g, comp,0)) return 0; // stbi__g_failure_reason set by stbi__gif_header - if (!stbi__mad3sizes_valid(4, g->w, g->h, 0)) - return stbi__errpuc("too large", "GIF image is too large"); - pcount = g->w * g->h; - g->out = (stbi_uc *) stbi__malloc(4 * pcount); - g->background = (stbi_uc *) stbi__malloc(4 * pcount); - g->history = (stbi_uc *) stbi__malloc(pcount); - if (!g->out || !g->background || !g->history) - return stbi__errpuc("outofmem", "Out of memory"); - - // image is treated as "transparent" at the start - ie, nothing overwrites the current background; - // background colour is only used for pixels that are not rendered first frame, after that "background" - // color refers to the color that was there the previous frame. - memset(g->out, 0x00, 4 * pcount); - memset(g->background, 0x00, 4 * pcount); // state of the background (starts transparent) - memset(g->history, 0x00, pcount); // pixels that were affected previous frame - first_frame = 1; - } else { - // second frame - how do we dispose of the previous one? - dispose = (g->eflags & 0x1C) >> 2; - pcount = g->w * g->h; - - if ((dispose == 3) && (two_back == 0)) { - dispose = 2; // if I don't have an image to revert back to, default to the old background - } - - if (dispose == 3) { // use previous graphic - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi]) { - memcpy( &g->out[pi * 4], &two_back[pi * 4], 4 ); - } - } - } else if (dispose == 2) { - // restore what was changed last frame to background before that frame; - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi]) { - memcpy( &g->out[pi * 4], &g->background[pi * 4], 4 ); - } - } - } else { - // This is a non-disposal case eithe way, so just - // leave the pixels as is, and they will become the new background - // 1: do not dispose - // 0: not specified. - } - - // background is what out is after the undoing of the previou frame; - memcpy( g->background, g->out, 4 * g->w * g->h ); - } - - // clear my history; - memset( g->history, 0x00, g->w * g->h ); // pixels that were affected previous frame - - for (;;) { - int tag = stbi__get8(s); - switch (tag) { - case 0x2C: /* Image Descriptor */ - { - stbi__int32 x, y, w, h; - stbi_uc *o; - - x = stbi__get16le(s); - y = stbi__get16le(s); - w = stbi__get16le(s); - h = stbi__get16le(s); - if (((x + w) > (g->w)) || ((y + h) > (g->h))) - return stbi__errpuc("bad Image Descriptor", "Corrupt GIF"); - - g->line_size = g->w * 4; - g->start_x = x * 4; - g->start_y = y * g->line_size; - g->max_x = g->start_x + w * 4; - g->max_y = g->start_y + h * g->line_size; - g->cur_x = g->start_x; - g->cur_y = g->start_y; - - // if the width of the specified rectangle is 0, that means - // we may not see *any* pixels or the image is malformed; - // to make sure this is caught, move the current y down to - // max_y (which is what out_gif_code checks). - if (w == 0) - g->cur_y = g->max_y; - - g->lflags = stbi__get8(s); - - if (g->lflags & 0x40) { - g->step = 8 * g->line_size; // first interlaced spacing - g->parse = 3; - } else { - g->step = g->line_size; - g->parse = 0; - } - - if (g->lflags & 0x80) { - stbi__gif_parse_colortable(s,g->lpal, 2 << (g->lflags & 7), g->eflags & 0x01 ? g->transparent : -1); - g->color_table = (stbi_uc *) g->lpal; - } else if (g->flags & 0x80) { - g->color_table = (stbi_uc *) g->pal; - } else - return stbi__errpuc("missing color table", "Corrupt GIF"); - - o = stbi__process_gif_raster(s, g); - if (!o) return NULL; - - // if this was the first frame, - pcount = g->w * g->h; - if (first_frame && (g->bgindex > 0)) { - // if first frame, any pixel not drawn to gets the background color - for (pi = 0; pi < pcount; ++pi) { - if (g->history[pi] == 0) { - g->pal[g->bgindex][3] = 255; // just in case it was made transparent, undo that; It will be reset next frame if need be; - memcpy( &g->out[pi * 4], &g->pal[g->bgindex], 4 ); - } - } - } - - return o; - } - - case 0x21: // Comment Extension. - { - int len; - int ext = stbi__get8(s); - if (ext == 0xF9) { // Graphic Control Extension. - len = stbi__get8(s); - if (len == 4) { - g->eflags = stbi__get8(s); - g->delay = 10 * stbi__get16le(s); // delay - 1/100th of a second, saving as 1/1000ths. - - // unset old transparent - if (g->transparent >= 0) { - g->pal[g->transparent][3] = 255; - } - if (g->eflags & 0x01) { - g->transparent = stbi__get8(s); - if (g->transparent >= 0) { - g->pal[g->transparent][3] = 0; - } - } else { - // don't need transparent - stbi__skip(s, 1); - g->transparent = -1; - } - } else { - stbi__skip(s, len); - break; - } - } - while ((len = stbi__get8(s)) != 0) { - stbi__skip(s, len); - } - break; - } - - case 0x3B: // gif stream termination code - return (stbi_uc *) s; // using '1' causes warning on some compilers - - default: - return stbi__errpuc("unknown code", "Corrupt GIF"); - } - } -} - -static void *stbi__load_gif_main_outofmem(stbi__gif *g, stbi_uc *out, int **delays) -{ - STBI_FREE(g->out); - STBI_FREE(g->history); - STBI_FREE(g->background); - - if (out) STBI_FREE(out); - if (delays && *delays) STBI_FREE(*delays); - return stbi__errpuc("outofmem", "Out of memory"); -} - -static void *stbi__load_gif_main(stbi__context *s, int **delays, int *x, int *y, int *z, int *comp, int req_comp) -{ - if (stbi__gif_test(s)) { - int layers = 0; - stbi_uc *u = 0; - stbi_uc *out = 0; - stbi_uc *two_back = 0; - stbi__gif g; - int stride; - int out_size = 0; - int delays_size = 0; - - STBI_NOTUSED(out_size); - STBI_NOTUSED(delays_size); - - memset(&g, 0, sizeof(g)); - if (delays) { - *delays = 0; - } - - do { - u = stbi__gif_load_next(s, &g, comp, req_comp, two_back); - if (u == (stbi_uc *) s) u = 0; // end of animated gif marker - - if (u) { - *x = g.w; - *y = g.h; - ++layers; - stride = g.w * g.h * 4; - - if (out) { - void *tmp = (stbi_uc*) STBI_REALLOC_SIZED( out, out_size, layers * stride ); - if (!tmp) - return stbi__load_gif_main_outofmem(&g, out, delays); - else { - out = (stbi_uc*) tmp; - out_size = layers * stride; - } - - if (delays) { - int *new_delays = (int*) STBI_REALLOC_SIZED( *delays, delays_size, sizeof(int) * layers ); - if (!new_delays) - return stbi__load_gif_main_outofmem(&g, out, delays); - *delays = new_delays; - delays_size = layers * sizeof(int); - } - } else { - out = (stbi_uc*)stbi__malloc( layers * stride ); - if (!out) - return stbi__load_gif_main_outofmem(&g, out, delays); - out_size = layers * stride; - if (delays) { - *delays = (int*) stbi__malloc( layers * sizeof(int) ); - if (!*delays) - return stbi__load_gif_main_outofmem(&g, out, delays); - delays_size = layers * sizeof(int); - } - } - memcpy( out + ((layers - 1) * stride), u, stride ); - if (layers >= 2) { - two_back = out - 2 * stride; - } - - if (delays) { - (*delays)[layers - 1U] = g.delay; - } - } - } while (u != 0); - - // free temp buffer; - STBI_FREE(g.out); - STBI_FREE(g.history); - STBI_FREE(g.background); - - // do the final conversion after loading everything; - if (req_comp && req_comp != 4) - out = stbi__convert_format(out, 4, req_comp, layers * g.w, g.h); - - *z = layers; - return out; - } else { - return stbi__errpuc("not GIF", "Image was not as a gif type."); - } -} - -static void *stbi__gif_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *u = 0; - stbi__gif g; - memset(&g, 0, sizeof(g)); - STBI_NOTUSED(ri); - - u = stbi__gif_load_next(s, &g, comp, req_comp, 0); - if (u == (stbi_uc *) s) u = 0; // end of animated gif marker - if (u) { - *x = g.w; - *y = g.h; - - // moved conversion to after successful load so that the same - // can be done for multiple frames. - if (req_comp && req_comp != 4) - u = stbi__convert_format(u, 4, req_comp, g.w, g.h); - } else if (g.out) { - // if there was an error and we allocated an image buffer, free it! - STBI_FREE(g.out); - } - - // free buffers needed for multiple frame loading; - STBI_FREE(g.history); - STBI_FREE(g.background); - - return u; -} - -static int stbi__gif_info(stbi__context *s, int *x, int *y, int *comp) -{ - return stbi__gif_info_raw(s,x,y,comp); -} -#endif - -// ************************************************************************************************* -// Radiance RGBE HDR loader -// originally by Nicolas Schulz -#ifndef STBI_NO_HDR -static int stbi__hdr_test_core(stbi__context *s, const char *signature) -{ - int i; - for (i=0; signature[i]; ++i) - if (stbi__get8(s) != signature[i]) - return 0; - stbi__rewind(s); - return 1; -} - -static int stbi__hdr_test(stbi__context* s) -{ - int r = stbi__hdr_test_core(s, "#?RADIANCE\n"); - stbi__rewind(s); - if(!r) { - r = stbi__hdr_test_core(s, "#?RGBE\n"); - stbi__rewind(s); - } - return r; -} - -#define STBI__HDR_BUFLEN 1024 -static char *stbi__hdr_gettoken(stbi__context *z, char *buffer) -{ - int len=0; - char c = '\0'; - - c = (char) stbi__get8(z); - - while (!stbi__at_eof(z) && c != '\n') { - buffer[len++] = c; - if (len == STBI__HDR_BUFLEN-1) { - // flush to end of line - while (!stbi__at_eof(z) && stbi__get8(z) != '\n') - ; - break; - } - c = (char) stbi__get8(z); - } - - buffer[len] = 0; - return buffer; -} - -static void stbi__hdr_convert(float *output, stbi_uc *input, int req_comp) -{ - if ( input[3] != 0 ) { - float f1; - // Exponent - f1 = (float) ldexp(1.0f, input[3] - (int)(128 + 8)); - if (req_comp <= 2) - output[0] = (input[0] + input[1] + input[2]) * f1 / 3; - else { - output[0] = input[0] * f1; - output[1] = input[1] * f1; - output[2] = input[2] * f1; - } - if (req_comp == 2) output[1] = 1; - if (req_comp == 4) output[3] = 1; - } else { - switch (req_comp) { - case 4: output[3] = 1; /* fallthrough */ - case 3: output[0] = output[1] = output[2] = 0; - break; - case 2: output[1] = 1; /* fallthrough */ - case 1: output[0] = 0; - break; - } - } -} - -static float *stbi__hdr_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - char buffer[STBI__HDR_BUFLEN]; - char *token; - int valid = 0; - int width, height; - stbi_uc *scanline; - float *hdr_data; - int len; - unsigned char count, value; - int i, j, k, c1,c2, z; - const char *headerToken; - STBI_NOTUSED(ri); - - // Check identifier - headerToken = stbi__hdr_gettoken(s,buffer); - if (strcmp(headerToken, "#?RADIANCE") != 0 && strcmp(headerToken, "#?RGBE") != 0) - return stbi__errpf("not HDR", "Corrupt HDR image"); - - // Parse header - for(;;) { - token = stbi__hdr_gettoken(s,buffer); - if (token[0] == 0) break; - if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; - } - - if (!valid) return stbi__errpf("unsupported format", "Unsupported HDR format"); - - // Parse width and height - // can't use sscanf() if we're not using stdio! - token = stbi__hdr_gettoken(s,buffer); - if (strncmp(token, "-Y ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - token += 3; - height = (int) strtol(token, &token, 10); - while (*token == ' ') ++token; - if (strncmp(token, "+X ", 3)) return stbi__errpf("unsupported data layout", "Unsupported HDR format"); - token += 3; - width = (int) strtol(token, NULL, 10); - - if (height > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); - if (width > STBI_MAX_DIMENSIONS) return stbi__errpf("too large","Very large image (corrupt?)"); - - *x = width; - *y = height; - - if (comp) *comp = 3; - if (req_comp == 0) req_comp = 3; - - if (!stbi__mad4sizes_valid(width, height, req_comp, sizeof(float), 0)) - return stbi__errpf("too large", "HDR image is too large"); - - // Read data - hdr_data = (float *) stbi__malloc_mad4(width, height, req_comp, sizeof(float), 0); - if (!hdr_data) - return stbi__errpf("outofmem", "Out of memory"); - - // Load image data - // image data is stored as some number of sca - if ( width < 8 || width >= 32768) { - // Read flat data - for (j=0; j < height; ++j) { - for (i=0; i < width; ++i) { - stbi_uc rgbe[4]; - main_decode_loop: - stbi__getn(s, rgbe, 4); - stbi__hdr_convert(hdr_data + j * width * req_comp + i * req_comp, rgbe, req_comp); - } - } - } else { - // Read RLE-encoded data - scanline = NULL; - - for (j = 0; j < height; ++j) { - c1 = stbi__get8(s); - c2 = stbi__get8(s); - len = stbi__get8(s); - if (c1 != 2 || c2 != 2 || (len & 0x80)) { - // not run-length encoded, so we have to actually use THIS data as a decoded - // pixel (note this can't be a valid pixel--one of RGB must be >= 128) - stbi_uc rgbe[4]; - rgbe[0] = (stbi_uc) c1; - rgbe[1] = (stbi_uc) c2; - rgbe[2] = (stbi_uc) len; - rgbe[3] = (stbi_uc) stbi__get8(s); - stbi__hdr_convert(hdr_data, rgbe, req_comp); - i = 1; - j = 0; - STBI_FREE(scanline); - goto main_decode_loop; // yes, this makes no sense - } - len <<= 8; - len |= stbi__get8(s); - if (len != width) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("invalid decoded scanline length", "corrupt HDR"); } - if (scanline == NULL) { - scanline = (stbi_uc *) stbi__malloc_mad2(width, 4, 0); - if (!scanline) { - STBI_FREE(hdr_data); - return stbi__errpf("outofmem", "Out of memory"); - } - } - - for (k = 0; k < 4; ++k) { - int nleft; - i = 0; - while ((nleft = width - i) > 0) { - count = stbi__get8(s); - if (count > 128) { - // Run - value = stbi__get8(s); - count -= 128; - if ((count == 0) || (count > nleft)) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } - for (z = 0; z < count; ++z) - scanline[i++ * 4 + k] = value; - } else { - // Dump - if ((count == 0) || (count > nleft)) { STBI_FREE(hdr_data); STBI_FREE(scanline); return stbi__errpf("corrupt", "bad RLE data in HDR"); } - for (z = 0; z < count; ++z) - scanline[i++ * 4 + k] = stbi__get8(s); - } - } - } - for (i=0; i < width; ++i) - stbi__hdr_convert(hdr_data+(j*width + i)*req_comp, scanline + i*4, req_comp); - } - if (scanline) - STBI_FREE(scanline); - } - - return hdr_data; -} - -static int stbi__hdr_info(stbi__context *s, int *x, int *y, int *comp) -{ - char buffer[STBI__HDR_BUFLEN]; - char *token; - int valid = 0; - int dummy; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - if (stbi__hdr_test(s) == 0) { - stbi__rewind( s ); - return 0; - } - - for(;;) { - token = stbi__hdr_gettoken(s,buffer); - if (token[0] == 0) break; - if (strcmp(token, "FORMAT=32-bit_rle_rgbe") == 0) valid = 1; - } - - if (!valid) { - stbi__rewind( s ); - return 0; - } - token = stbi__hdr_gettoken(s,buffer); - if (strncmp(token, "-Y ", 3)) { - stbi__rewind( s ); - return 0; - } - token += 3; - *y = (int) strtol(token, &token, 10); - while (*token == ' ') ++token; - if (strncmp(token, "+X ", 3)) { - stbi__rewind( s ); - return 0; - } - token += 3; - *x = (int) strtol(token, NULL, 10); - *comp = 3; - return 1; -} -#endif // STBI_NO_HDR - -#ifndef STBI_NO_BMP -static int stbi__bmp_info(stbi__context *s, int *x, int *y, int *comp) -{ - void *p; - stbi__bmp_data info; - - info.all_a = 255; - p = stbi__bmp_parse_header(s, &info); - if (p == NULL) { - stbi__rewind( s ); - return 0; - } - if (x) *x = s->img_x; - if (y) *y = s->img_y; - if (comp) { - if (info.bpp == 24 && info.ma == 0xff000000) - *comp = 3; - else - *comp = info.ma ? 4 : 3; - } - return 1; -} -#endif - -#ifndef STBI_NO_PSD -static int stbi__psd_info(stbi__context *s, int *x, int *y, int *comp) -{ - int channelCount, dummy, depth; - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - if (stbi__get32be(s) != 0x38425053) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 1) { - stbi__rewind( s ); - return 0; - } - stbi__skip(s, 6); - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) { - stbi__rewind( s ); - return 0; - } - *y = stbi__get32be(s); - *x = stbi__get32be(s); - depth = stbi__get16be(s); - if (depth != 8 && depth != 16) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 3) { - stbi__rewind( s ); - return 0; - } - *comp = 4; - return 1; -} - -static int stbi__psd_is16(stbi__context *s) -{ - int channelCount, depth; - if (stbi__get32be(s) != 0x38425053) { - stbi__rewind( s ); - return 0; - } - if (stbi__get16be(s) != 1) { - stbi__rewind( s ); - return 0; - } - stbi__skip(s, 6); - channelCount = stbi__get16be(s); - if (channelCount < 0 || channelCount > 16) { - stbi__rewind( s ); - return 0; - } - STBI_NOTUSED(stbi__get32be(s)); - STBI_NOTUSED(stbi__get32be(s)); - depth = stbi__get16be(s); - if (depth != 16) { - stbi__rewind( s ); - return 0; - } - return 1; -} -#endif - -#ifndef STBI_NO_PIC -static int stbi__pic_info(stbi__context *s, int *x, int *y, int *comp) -{ - int act_comp=0,num_packets=0,chained,dummy; - stbi__pic_packet packets[10]; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - if (!stbi__pic_is4(s,"\x53\x80\xF6\x34")) { - stbi__rewind(s); - return 0; - } - - stbi__skip(s, 88); - - *x = stbi__get16be(s); - *y = stbi__get16be(s); - if (stbi__at_eof(s)) { - stbi__rewind( s); - return 0; - } - if ( (*x) != 0 && (1 << 28) / (*x) < (*y)) { - stbi__rewind( s ); - return 0; - } - - stbi__skip(s, 8); - - do { - stbi__pic_packet *packet; - - if (num_packets==sizeof(packets)/sizeof(packets[0])) - return 0; - - packet = &packets[num_packets++]; - chained = stbi__get8(s); - packet->size = stbi__get8(s); - packet->type = stbi__get8(s); - packet->channel = stbi__get8(s); - act_comp |= packet->channel; - - if (stbi__at_eof(s)) { - stbi__rewind( s ); - return 0; - } - if (packet->size != 8) { - stbi__rewind( s ); - return 0; - } - } while (chained); - - *comp = (act_comp & 0x10 ? 4 : 3); - - return 1; -} -#endif - -// ************************************************************************************************* -// Portable Gray Map and Portable Pixel Map loader -// by Ken Miller -// -// PGM: http://netpbm.sourceforge.net/doc/pgm.html -// PPM: http://netpbm.sourceforge.net/doc/ppm.html -// -// Known limitations: -// Does not support comments in the header section -// Does not support ASCII image data (formats P2 and P3) - -#ifndef STBI_NO_PNM - -static int stbi__pnm_test(stbi__context *s) -{ - char p, t; - p = (char) stbi__get8(s); - t = (char) stbi__get8(s); - if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind( s ); - return 0; - } - return 1; -} - -static void *stbi__pnm_load(stbi__context *s, int *x, int *y, int *comp, int req_comp, stbi__result_info *ri) -{ - stbi_uc *out; - STBI_NOTUSED(ri); - - ri->bits_per_channel = stbi__pnm_info(s, (int *)&s->img_x, (int *)&s->img_y, (int *)&s->img_n); - if (ri->bits_per_channel == 0) - return 0; - - if (s->img_y > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - if (s->img_x > STBI_MAX_DIMENSIONS) return stbi__errpuc("too large","Very large image (corrupt?)"); - - *x = s->img_x; - *y = s->img_y; - if (comp) *comp = s->img_n; - - if (!stbi__mad4sizes_valid(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0)) - return stbi__errpuc("too large", "PNM too large"); - - out = (stbi_uc *) stbi__malloc_mad4(s->img_n, s->img_x, s->img_y, ri->bits_per_channel / 8, 0); - if (!out) return stbi__errpuc("outofmem", "Out of memory"); - if (!stbi__getn(s, out, s->img_n * s->img_x * s->img_y * (ri->bits_per_channel / 8))) { - STBI_FREE(out); - return stbi__errpuc("bad PNM", "PNM file truncated"); - } - - if (req_comp && req_comp != s->img_n) { - if (ri->bits_per_channel == 16) { - out = (stbi_uc *) stbi__convert_format16((stbi__uint16 *) out, s->img_n, req_comp, s->img_x, s->img_y); - } else { - out = stbi__convert_format(out, s->img_n, req_comp, s->img_x, s->img_y); - } - if (out == NULL) return out; // stbi__convert_format frees input on failure - } - return out; -} - -static int stbi__pnm_isspace(char c) -{ - return c == ' ' || c == '\t' || c == '\n' || c == '\v' || c == '\f' || c == '\r'; -} - -static void stbi__pnm_skip_whitespace(stbi__context *s, char *c) -{ - for (;;) { - while (!stbi__at_eof(s) && stbi__pnm_isspace(*c)) - *c = (char) stbi__get8(s); - - if (stbi__at_eof(s) || *c != '#') - break; - - while (!stbi__at_eof(s) && *c != '\n' && *c != '\r' ) - *c = (char) stbi__get8(s); - } -} - -static int stbi__pnm_isdigit(char c) -{ - return c >= '0' && c <= '9'; -} - -static int stbi__pnm_getinteger(stbi__context *s, char *c) -{ - int value = 0; - - while (!stbi__at_eof(s) && stbi__pnm_isdigit(*c)) { - value = value*10 + (*c - '0'); - *c = (char) stbi__get8(s); - if((value > 214748364) || (value == 214748364 && *c > '7')) - return stbi__err("integer parse overflow", "Parsing an integer in the PPM header overflowed a 32-bit int"); - } - - return value; -} - -static int stbi__pnm_info(stbi__context *s, int *x, int *y, int *comp) -{ - int maxv, dummy; - char c, p, t; - - if (!x) x = &dummy; - if (!y) y = &dummy; - if (!comp) comp = &dummy; - - stbi__rewind(s); - - // Get identifier - p = (char) stbi__get8(s); - t = (char) stbi__get8(s); - if (p != 'P' || (t != '5' && t != '6')) { - stbi__rewind(s); - return 0; - } - - *comp = (t == '6') ? 3 : 1; // '5' is 1-component .pgm; '6' is 3-component .ppm - - c = (char) stbi__get8(s); - stbi__pnm_skip_whitespace(s, &c); - - *x = stbi__pnm_getinteger(s, &c); // read width - if(*x == 0) - return stbi__err("invalid width", "PPM image header had zero or overflowing width"); - stbi__pnm_skip_whitespace(s, &c); - - *y = stbi__pnm_getinteger(s, &c); // read height - if (*y == 0) - return stbi__err("invalid width", "PPM image header had zero or overflowing width"); - stbi__pnm_skip_whitespace(s, &c); - - maxv = stbi__pnm_getinteger(s, &c); // read max value - if (maxv > 65535) - return stbi__err("max value > 65535", "PPM image supports only 8-bit and 16-bit images"); - else if (maxv > 255) - return 16; - else - return 8; -} - -static int stbi__pnm_is16(stbi__context *s) -{ - if (stbi__pnm_info(s, NULL, NULL, NULL) == 16) - return 1; - return 0; -} -#endif - -static int stbi__info_main(stbi__context *s, int *x, int *y, int *comp) -{ - #ifndef STBI_NO_JPEG - if (stbi__jpeg_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PNG - if (stbi__png_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_GIF - if (stbi__gif_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_BMP - if (stbi__bmp_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PSD - if (stbi__psd_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PIC - if (stbi__pic_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_PNM - if (stbi__pnm_info(s, x, y, comp)) return 1; - #endif - - #ifndef STBI_NO_HDR - if (stbi__hdr_info(s, x, y, comp)) return 1; - #endif - - // test tga last because it's a crappy test! - #ifndef STBI_NO_TGA - if (stbi__tga_info(s, x, y, comp)) - return 1; - #endif - return stbi__err("unknown image type", "Image not of any known type, or corrupt"); -} - -static int stbi__is_16_main(stbi__context *s) -{ - #ifndef STBI_NO_PNG - if (stbi__png_is16(s)) return 1; - #endif - - #ifndef STBI_NO_PSD - if (stbi__psd_is16(s)) return 1; - #endif - - #ifndef STBI_NO_PNM - if (stbi__pnm_is16(s)) return 1; - #endif - return 0; -} - -#ifndef STBI_NO_STDIO -STBIDEF int stbi_info(char const *filename, int *x, int *y, int *comp) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result; - if (!f) return stbi__err("can't fopen", "Unable to open file"); - result = stbi_info_from_file(f, x, y, comp); - fclose(f); - return result; -} - -STBIDEF int stbi_info_from_file(FILE *f, int *x, int *y, int *comp) -{ - int r; - stbi__context s; - long pos = ftell(f); - stbi__start_file(&s, f); - r = stbi__info_main(&s,x,y,comp); - fseek(f,pos,SEEK_SET); - return r; -} - -STBIDEF int stbi_is_16_bit(char const *filename) -{ - FILE *f = stbi__fopen(filename, "rb"); - int result; - if (!f) return stbi__err("can't fopen", "Unable to open file"); - result = stbi_is_16_bit_from_file(f); - fclose(f); - return result; -} - -STBIDEF int stbi_is_16_bit_from_file(FILE *f) -{ - int r; - stbi__context s; - long pos = ftell(f); - stbi__start_file(&s, f); - r = stbi__is_16_main(&s); - fseek(f,pos,SEEK_SET); - return r; -} -#endif // !STBI_NO_STDIO - -STBIDEF int stbi_info_from_memory(stbi_uc const *buffer, int len, int *x, int *y, int *comp) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__info_main(&s,x,y,comp); -} - -STBIDEF int stbi_info_from_callbacks(stbi_io_callbacks const *c, void *user, int *x, int *y, int *comp) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); - return stbi__info_main(&s,x,y,comp); -} - -STBIDEF int stbi_is_16_bit_from_memory(stbi_uc const *buffer, int len) -{ - stbi__context s; - stbi__start_mem(&s,buffer,len); - return stbi__is_16_main(&s); -} - -STBIDEF int stbi_is_16_bit_from_callbacks(stbi_io_callbacks const *c, void *user) -{ - stbi__context s; - stbi__start_callbacks(&s, (stbi_io_callbacks *) c, user); - return stbi__is_16_main(&s); -} - -#endif // STB_IMAGE_IMPLEMENTATION - -/* - revision history: - 2.20 (2019-02-07) support utf8 filenames in Windows; fix warnings and platform ifdefs - 2.19 (2018-02-11) fix warning - 2.18 (2018-01-30) fix warnings - 2.17 (2018-01-29) change sbti__shiftsigned to avoid clang -O2 bug - 1-bit BMP - *_is_16_bit api - avoid warnings - 2.16 (2017-07-23) all functions have 16-bit variants; - STBI_NO_STDIO works again; - compilation fixes; - fix rounding in unpremultiply; - optimize vertical flip; - disable raw_len validation; - documentation fixes - 2.15 (2017-03-18) fix png-1,2,4 bug; now all Imagenet JPGs decode; - warning fixes; disable run-time SSE detection on gcc; - uniform handling of optional "return" values; - thread-safe initialization of zlib tables - 2.14 (2017-03-03) remove deprecated STBI_JPEG_OLD; fixes for Imagenet JPGs - 2.13 (2016-11-29) add 16-bit API, only supported for PNG right now - 2.12 (2016-04-02) fix typo in 2.11 PSD fix that caused crashes - 2.11 (2016-04-02) allocate large structures on the stack - remove white matting for transparent PSD - fix reported channel count for PNG & BMP - re-enable SSE2 in non-gcc 64-bit - support RGB-formatted JPEG - read 16-bit PNGs (only as 8-bit) - 2.10 (2016-01-22) avoid warning introduced in 2.09 by STBI_REALLOC_SIZED - 2.09 (2016-01-16) allow comments in PNM files - 16-bit-per-pixel TGA (not bit-per-component) - info() for TGA could break due to .hdr handling - info() for BMP to shares code instead of sloppy parse - can use STBI_REALLOC_SIZED if allocator doesn't support realloc - code cleanup - 2.08 (2015-09-13) fix to 2.07 cleanup, reading RGB PSD as RGBA - 2.07 (2015-09-13) fix compiler warnings - partial animated GIF support - limited 16-bpc PSD support - #ifdef unused functions - bug with < 92 byte PIC,PNM,HDR,TGA - 2.06 (2015-04-19) fix bug where PSD returns wrong '*comp' value - 2.05 (2015-04-19) fix bug in progressive JPEG handling, fix warning - 2.04 (2015-04-15) try to re-enable SIMD on MinGW 64-bit - 2.03 (2015-04-12) extra corruption checking (mmozeiko) - stbi_set_flip_vertically_on_load (nguillemot) - fix NEON support; fix mingw support - 2.02 (2015-01-19) fix incorrect assert, fix warning - 2.01 (2015-01-17) fix various warnings; suppress SIMD on gcc 32-bit without -msse2 - 2.00b (2014-12-25) fix STBI_MALLOC in progressive JPEG - 2.00 (2014-12-25) optimize JPG, including x86 SSE2 & NEON SIMD (ryg) - progressive JPEG (stb) - PGM/PPM support (Ken Miller) - STBI_MALLOC,STBI_REALLOC,STBI_FREE - GIF bugfix -- seemingly never worked - STBI_NO_*, STBI_ONLY_* - 1.48 (2014-12-14) fix incorrectly-named assert() - 1.47 (2014-12-14) 1/2/4-bit PNG support, both direct and paletted (Omar Cornut & stb) - optimize PNG (ryg) - fix bug in interlaced PNG with user-specified channel count (stb) - 1.46 (2014-08-26) - fix broken tRNS chunk (colorkey-style transparency) in non-paletted PNG - 1.45 (2014-08-16) - fix MSVC-ARM internal compiler error by wrapping malloc - 1.44 (2014-08-07) - various warning fixes from Ronny Chevalier - 1.43 (2014-07-15) - fix MSVC-only compiler problem in code changed in 1.42 - 1.42 (2014-07-09) - don't define _CRT_SECURE_NO_WARNINGS (affects user code) - fixes to stbi__cleanup_jpeg path - added STBI_ASSERT to avoid requiring assert.h - 1.41 (2014-06-25) - fix search&replace from 1.36 that messed up comments/error messages - 1.40 (2014-06-22) - fix gcc struct-initialization warning - 1.39 (2014-06-15) - fix to TGA optimization when req_comp != number of components in TGA; - fix to GIF loading because BMP wasn't rewinding (whoops, no GIFs in my test suite) - add support for BMP version 5 (more ignored fields) - 1.38 (2014-06-06) - suppress MSVC warnings on integer casts truncating values - fix accidental rename of 'skip' field of I/O - 1.37 (2014-06-04) - remove duplicate typedef - 1.36 (2014-06-03) - convert to header file single-file library - if de-iphone isn't set, load iphone images color-swapped instead of returning NULL - 1.35 (2014-05-27) - various warnings - fix broken STBI_SIMD path - fix bug where stbi_load_from_file no longer left file pointer in correct place - fix broken non-easy path for 32-bit BMP (possibly never used) - TGA optimization by Arseny Kapoulkine - 1.34 (unknown) - use STBI_NOTUSED in stbi__resample_row_generic(), fix one more leak in tga failure case - 1.33 (2011-07-14) - make stbi_is_hdr work in STBI_NO_HDR (as specified), minor compiler-friendly improvements - 1.32 (2011-07-13) - support for "info" function for all supported filetypes (SpartanJ) - 1.31 (2011-06-20) - a few more leak fixes, bug in PNG handling (SpartanJ) - 1.30 (2011-06-11) - added ability to load files via callbacks to accomidate custom input streams (Ben Wenger) - removed deprecated format-specific test/load functions - removed support for installable file formats (stbi_loader) -- would have been broken for IO callbacks anyway - error cases in bmp and tga give messages and don't leak (Raymond Barbiero, grisha) - fix inefficiency in decoding 32-bit BMP (David Woo) - 1.29 (2010-08-16) - various warning fixes from Aurelien Pocheville - 1.28 (2010-08-01) - fix bug in GIF palette transparency (SpartanJ) - 1.27 (2010-08-01) - cast-to-stbi_uc to fix warnings - 1.26 (2010-07-24) - fix bug in file buffering for PNG reported by SpartanJ - 1.25 (2010-07-17) - refix trans_data warning (Won Chun) - 1.24 (2010-07-12) - perf improvements reading from files on platforms with lock-heavy fgetc() - minor perf improvements for jpeg - deprecated type-specific functions so we'll get feedback if they're needed - attempt to fix trans_data warning (Won Chun) - 1.23 fixed bug in iPhone support - 1.22 (2010-07-10) - removed image *writing* support - stbi_info support from Jetro Lauha - GIF support from Jean-Marc Lienher - iPhone PNG-extensions from James Brown - warning-fixes from Nicolas Schulz and Janez Zemva (i.stbi__err. Janez (U+017D)emva) - 1.21 fix use of 'stbi_uc' in header (reported by jon blow) - 1.20 added support for Softimage PIC, by Tom Seddon - 1.19 bug in interlaced PNG corruption check (found by ryg) - 1.18 (2008-08-02) - fix a threading bug (local mutable static) - 1.17 support interlaced PNG - 1.16 major bugfix - stbi__convert_format converted one too many pixels - 1.15 initialize some fields for thread safety - 1.14 fix threadsafe conversion bug - header-file-only version (#define STBI_HEADER_FILE_ONLY before including) - 1.13 threadsafe - 1.12 const qualifiers in the API - 1.11 Support installable IDCT, colorspace conversion routines - 1.10 Fixes for 64-bit (don't use "unsigned long") - optimized upsampling by Fabian "ryg" Giesen - 1.09 Fix format-conversion for PSD code (bad global variables!) - 1.08 Thatcher Ulrich's PSD code integrated by Nicolas Schulz - 1.07 attempt to fix C++ warning/errors again - 1.06 attempt to fix C++ warning/errors again - 1.05 fix TGA loading to return correct *comp and use good luminance calc - 1.04 default float alpha is 1, not 255; use 'void *' for stbi_image_free - 1.03 bugfixes to STBI_NO_STDIO, STBI_NO_HDR - 1.02 support for (subset of) HDR files, float interface for preferred access to them - 1.01 fix bug: possible bug in handling right-side up bmps... not sure - fix bug: the stbi__bmp_load() and stbi__tga_load() functions didn't work at all - 1.00 interface to zlib that skips zlib header - 0.99 correct handling of alpha in palette - 0.98 TGA loader by lonesock; dynamically add loaders (untested) - 0.97 jpeg errors on too large a file; also catch another malloc failure - 0.96 fix detection of invalid v value - particleman@mollyrocket forum - 0.95 during header scan, seek to markers in case of padding - 0.94 STBI_NO_STDIO to disable stdio usage; rename all #defines the same - 0.93 handle jpegtran output; verbose errors - 0.92 read 4,8,16,24,32-bit BMP files of several formats - 0.91 output 24-bit Windows 3.0 BMP files - 0.90 fix a few more warnings; bump version number to approach 1.0 - 0.61 bugfixes due to Marc LeBlanc, Christopher Lloyd - 0.60 fix compiling as c++ - 0.59 fix warnings: merge Dave Moore's -Wall fixes - 0.58 fix bug: zlib uncompressed mode len/nlen was wrong endian - 0.57 fix bug: jpg last huffman symbol before marker was >9 bits but less than 16 available - 0.56 fix bug: zlib uncompressed mode len vs. nlen - 0.55 fix bug: restart_interval not initialized to 0 - 0.54 allow NULL for 'int *comp' - 0.53 fix bug in png 3->4; speedup png decoding - 0.52 png handles req_comp=3,4 directly; minor cleanup; jpeg comments - 0.51 obey req_comp requests, 1-component jpegs return as 1-component, - on 'test' only check type, not whether we support this variant - 0.50 (2006-11-19) - first released version -*/ - - -/* ------------------------------------------------------------------------------- -This software is available under 2 licenses -- choose whichever you prefer. ------------------------------------------------------------------------------- -ALTERNATIVE A - MIT License -Copyright (c) 2017 Sean Barrett -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. ------------------------------------------------------------------------------- -ALTERNATIVE B - Public Domain (www.unlicense.org) -This is free and unencumbered software released into the public domain. -Anyone is free to copy, modify, publish, use, compile, sell, or distribute this -software, either in source code form or as a compiled binary, for any purpose, -commercial or non-commercial, and by any means. -In jurisdictions that recognize copyright laws, the author or authors of this -software dedicate any and all copyright interest in the software to the public -domain. We make this dedication for the benefit of the public at large and to -the detriment of our heirs and successors. We intend this dedication to be an -overt act of relinquishment in perpetuity of all present and future rights to -this software under copyright law. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------------------------------------------- -*/ diff --git a/Client/windows/WindowsBluetoothConnector.cpp b/Client/windows/WindowsBluetoothConnector.cpp deleted file mode 100644 index 6967f36..0000000 --- a/Client/windows/WindowsBluetoothConnector.cpp +++ /dev/null @@ -1,238 +0,0 @@ -#include "WindowsBluetoothConnector.h" - -void WSAStartupWrapper() -{ - int iResult; - WSADATA wsaData; - iResult = WSAStartup(MAKEWORD(2, 2), &wsaData); - if (iResult != 0) { - throw std::runtime_error("WSAStartup failed: " + std::to_string(iResult)); - } -} - -WindowsBluetoothConnector::WindowsBluetoothConnector() -{ - static bool startedUp = false; - if (!startedUp) - { - ::WSAStartupWrapper(); - startedUp = true; - } -} - -bool WindowsBluetoothConnector::_tryConnect(const char* uuid, SOCKADDR_BTH& sab) -{ - RPC_STATUS errCode = ::UuidFromStringA((RPC_CSTR)uuid, &sab.serviceClassId); - if (errCode != RPC_S_OK) - { - throw std::runtime_error("Couldn't create GUID: " + std::to_string(errCode)); - } - return ::connect(this->_socket, (sockaddr*)&sab, sizeof(sab)) == 0; -} - -void WindowsBluetoothConnector::connect(const std::string& addrStr) -{ - if (this->_socket == INVALID_SOCKET) - { - this->_initSocket(); - } - - SOCKADDR_BTH sab = { 0 }; - sab.addressFamily = AF_BTH; - sab.btAddr = MACStringToLong(addrStr); - - // try the v1 service UUID first, then fall back to the v2 (newer-generation) UUID. - if (_tryConnect(SONY_UUID, sab)) - { - this->_protocolVersion = SonyProtocolVersion::V1; - this->_connected = true; - return; - } - - // A failed connect() can leave the socket unusable - recreate it before trying the v2 UUID. - ::closesocket(this->_socket); - this->_socket = INVALID_SOCKET; - this->_initSocket(); - - if (_tryConnect(SONY_UUID_V2, sab)) - { - this->_protocolVersion = SonyProtocolVersion::V2; - this->_connected = true; - return; - } - - throw RecoverableException("Couldn't connect: " + std::to_string(WSAGetLastError()), true); -} - -WindowsBluetoothConnector::~WindowsBluetoothConnector() -{ - if (this->_socket != INVALID_SOCKET) - { - ::closesocket(this->_socket); - } -} - -int WindowsBluetoothConnector::send(char* buf, size_t length) -{ - auto bytesSent = ::send(this->_socket, buf, length, 0); - if (bytesSent == SOCKET_ERROR) - { - throw RecoverableException("Couldn't send (" + std::to_string(WSAGetLastError()) + ")", true); - } - return bytesSent; -} - -int WindowsBluetoothConnector::recv(char* buf, size_t length) -{ - auto bytesReceived = ::recv(this->_socket, buf, length, 0); - if (bytesReceived == SOCKET_ERROR) - { - int err = WSAGetLastError(); - // A recv timeout is expected during capability probing - surface it as recoverable WITHOUT forcing a - // disconnect, so an unanswered optional-feature GET just hides that feature instead of dropping the link. - if (err == WSAETIMEDOUT) - { - throw RecoverableException("recv timed out", false); - } - throw RecoverableException("Couldn't recv (" + std::to_string(err) + ")", true); - } - return bytesReceived; -} - -std::vector WindowsBluetoothConnector::getConnectedDevices() -{ - std::vector res; - std::vector devsInRadio; - - HANDLE radio = NULL; - BLUETOOTH_FIND_RADIO_PARAMS radioSearchParams = { sizeof(BLUETOOTH_FIND_RADIO_PARAMS) }; - HBLUETOOTH_RADIO_FIND radioFindHandle = NULL; - - // Search only for connected devices - BLUETOOTH_DEVICE_SEARCH_PARAMS dev_search_params = { - sizeof(BLUETOOTH_DEVICE_SEARCH_PARAMS), 0, 0, 0, 1, 0, 15, NULL - }; - - // Iterate for available bluetooth radio devices - radioFindHandle = BluetoothFindFirstRadio(&radioSearchParams, &radio); - if (!radioFindHandle) - { - if (ERROR_NO_MORE_ITEMS == GetLastError()) - { - throw RecoverableException(NO_BLUETOOTH_DEVICES_ERROR); - } - else - { - throw std::runtime_error("BluetoothFindFirstRadio() failed with error code " + std::to_string(GetLastError())); - } - } - - do { - dev_search_params.hRadio = radio; - devsInRadio = _findDevicesInRadio(&dev_search_params); - res.insert(res.end(), devsInRadio.begin(), devsInRadio.end()); - } while (BluetoothFindNextRadio(radioFindHandle, &radio)); - - // No more radio, close the radio handle - if (!BluetoothFindRadioClose(radioFindHandle)) - throw std::runtime_error("BluetoothFindRadioClose(bt) failed with error code " + std::to_string(GetLastError())); - - return res; -} - -void WindowsBluetoothConnector::disconnect() noexcept -{ - if (this->_socket != INVALID_SOCKET) - { - this->_connected = false; - shutdown(this->_socket, SD_BOTH); - closesocket(this->_socket); - this->_socket = INVALID_SOCKET; - } -} - -bool WindowsBluetoothConnector::isConnected() noexcept -{ - return this->_connected; -} - -SonyProtocolVersion WindowsBluetoothConnector::getProtocolVersion() noexcept -{ - return this->_protocolVersion; -} - -void WindowsBluetoothConnector::_initSocket() -{ - SOCKET sock = ::socket(AF_BTH, SOCK_STREAM, BTHPROTO_RFCOMM); - if (sock == INVALID_SOCKET) - { - throw std::runtime_error("Couldn't create socket: " + std::to_string(WSAGetLastError())); - } - - ULONG enable = TRUE; - if (::setsockopt(sock, SOL_RFCOMM, SO_BTH_AUTHENTICATE, reinterpret_cast(&enable), sizeof(enable))) - { - throw std::runtime_error("Couldn't set SO_BTH_AUTHENTICATE: " + std::to_string(WSAGetLastError())); - } - - if (::setsockopt(sock, SOL_RFCOMM, SO_BTH_ENCRYPT, reinterpret_cast(&enable), sizeof(enable))) - { - throw std::runtime_error("Couldn't set SO_BTH_ENCRYPT: " + std::to_string(WSAGetLastError())); - } - - // Bound recv so it can't block forever. Capability probing sends a GET and relies on this timeout to - // decide a feature is unsupported - without it the app hangs on "Reading device settings" (matches the - // 2.5s timeout the macOS connector uses). - DWORD recvTimeoutMs = 2500; - ::setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, reinterpret_cast(&recvTimeoutMs), sizeof(recvTimeoutMs)); - - this->_socket = sock; -} - -std::string WindowsBluetoothConnector::_wstringToUtf8(const std::wstring& wstr) -{ - std::string strTo; - const int num_chars = WideCharToMultiByte(CP_UTF8, 0, wstr.c_str(), wstr.length(), NULL, 0, NULL, NULL); - - if (num_chars > 0) - { - strTo.resize(num_chars); - WideCharToMultiByte(CP_UTF8, 0, wstr.c_str(), wstr.length(), &strTo[0], num_chars, NULL, NULL); - } - return strTo; -} - -std::vector WindowsBluetoothConnector::_findDevicesInRadio(BLUETOOTH_DEVICE_SEARCH_PARAMS* search_params) -{ - std::vector res; - - BLUETOOTH_DEVICE_INFO device_info = { sizeof(BLUETOOTH_DEVICE_INFO),0, }; - HBLUETOOTH_DEVICE_FIND dev_find_handle = NULL; - - // For each radio, get the first device - dev_find_handle = BluetoothFindFirstDevice(search_params, &device_info); - - if (!dev_find_handle) - { - if (ERROR_NO_MORE_ITEMS == GetLastError()) - { - //No devices were found, so we can just return an empty vector - return res; - } - else - { - throw std::runtime_error("BluetoothFindFirstDevice() failed with error code: " + std::to_string(GetLastError())); - } - } - - // Get the device info - do { - res.emplace_back(BluetoothDevice{ _wstringToUtf8(device_info.szName), MACBytesToString(device_info.Address.rgBytes) }); - } while (BluetoothFindNextDevice(dev_find_handle, &device_info)); - - // NO more device, close the device handle - if (!BluetoothFindDeviceClose(dev_find_handle)) - throw std::runtime_error("BluetoothFindDeviceClose(bt_dev) failed with error code: " + std::to_string(GetLastError())); - - return res; -} diff --git a/Client/windows/WindowsBluetoothConnector.h b/Client/windows/WindowsBluetoothConnector.h deleted file mode 100644 index 824b8e1..0000000 --- a/Client/windows/WindowsBluetoothConnector.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once -#include -#pragma comment(lib, "ws2_32.lib") -#pragma comment(lib, "rpcrt4.lib") -#pragma comment(lib, "Bthprops.lib") -#include -#include -#include -#include -#include -#include "IBluetoothConnector.h" -#include -#include "ByteMagic.h" -#include - -class WindowsBluetoothConnector final : public IBluetoothConnector -{ -public: - WindowsBluetoothConnector(); - - ~WindowsBluetoothConnector(); - - virtual void connect(const std::string& addrStr) noexcept(false); - virtual int send(char* buf, size_t length) noexcept(false); - virtual int recv(char* buf, size_t length) noexcept(false); - virtual void disconnect() noexcept; - virtual bool isConnected() noexcept; - - virtual std::vector getConnectedDevices() noexcept(false); - virtual SonyProtocolVersion getProtocolVersion() noexcept; - -private: - std::vector _findDevicesInRadio(BLUETOOTH_DEVICE_SEARCH_PARAMS* searchParams); - std::string _wstringToUtf8(const std::wstring& wstr); - bool _tryConnect(const char* uuid, SOCKADDR_BTH& sab); - - SOCKET _socket = INVALID_SOCKET; - std::atomic _connected = false; - SonyProtocolVersion _protocolVersion = SonyProtocolVersion::V1; - void _initSocket(); -}; \ No newline at end of file diff --git a/Client/windows/WindowsGUI.cpp b/Client/windows/WindowsGUI.cpp deleted file mode 100644 index 82c9989..0000000 --- a/Client/windows/WindowsGUI.cpp +++ /dev/null @@ -1,197 +0,0 @@ -#include "WindowsGUI.h" - -/* -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -A notice to any future readers: -This code is almost all copied from imgui/examples/example_win32_directx11. -Don't try to understand it. -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -*/ - -// Data -static ID3D11Device* g_pd3dDevice = NULL; -static ID3D11DeviceContext* g_pd3dDeviceContext = NULL; -static IDXGISwapChain* g_pSwapChain = NULL; -static ID3D11RenderTargetView* g_mainRenderTargetView = NULL; - -void EnterGUIMainLoop(BluetoothWrapper bt) -{ - //Kinda broken but it works :) - ShowWindow(GetConsoleWindow(), SW_HIDE); //SW_RESTORE to bring back - - // Create application window - WNDCLASSEXW wc = { sizeof(WNDCLASSEXW), CS_CLASSDC, WindowsGUIInternal::WndProc, 0L, 0L, GetModuleHandle(NULL), NULL, NULL, NULL, NULL, APP_NAME_W, NULL }; - ::RegisterClassExW(&wc); - //TODO: pass window data (size, name, etc) as params and autoscale - HWND hwnd = ::CreateWindowW(wc.lpszClassName, APP_NAME_W, WS_OVERLAPPEDWINDOW, 100, 100, GUI_WIDTH, GUI_HEIGHT, NULL, NULL, wc.hInstance, NULL); - - // Initialize Direct3D - if (!WindowsGUIInternal::CreateDeviceD3D(hwnd)) - { - WindowsGUIInternal::CleanupDeviceD3D(); - ::UnregisterClassW(wc.lpszClassName, wc.hInstance); - throw std::runtime_error("Failed to create D3D device"); - } - - // Show the window - ::ShowWindow(hwnd, SW_SHOWDEFAULT); - ::UpdateWindow(hwnd); - - // Setup Dear ImGui context - IMGUI_CHECKVERSION(); - ImGui::CreateContext(); - - //io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard; // Enable Keyboard Controls - - // Setup Platform/Renderer bindings - ImGui_ImplWin32_Init(hwnd); - ImGui_ImplDX11_Init(g_pd3dDevice, g_pd3dDeviceContext); - - CrossPlatformGUI gui(std::move(bt)); - - UINT presentFlags = 0; - - // Main loop - MSG msg = { 0 }; - while (msg.message != WM_QUIT) - { - // Poll and handle messages (inputs, window resize, etc.) - // You can read the io.WantCaptureMouse, io.WantCaptureKeyboard flags to tell if dear imgui wants to use your inputs. - // - When io.WantCaptureMouse is true, do not dispatch mouse input data to your main application. - // - When io.WantCaptureKeyboard is true, do not dispatch keyboard input data to your main application. - // Generally you may always pass all inputs to dear imgui, and hide them from your application based on those two flags. - - if (::PeekMessage(&msg, NULL, 0U, 0U, PM_REMOVE)) - { - ::TranslateMessage(&msg); - ::DispatchMessage(&msg); - continue; - } - - // Start the Dear ImGui frame - ImGui_ImplDX11_NewFrame(); - ImGui_ImplWin32_NewFrame(); - - //if the user wants to quit - if (!gui.performGUIPass()) - { - break; - } - - - g_pd3dDeviceContext->OMSetRenderTargets(1, &g_mainRenderTargetView, NULL); - g_pd3dDeviceContext->ClearRenderTargetView(g_mainRenderTargetView, (float*)&WINDOW_COLOR); - ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData()); - - //We need this because Present doesn't delay when the app is minimized. - if (g_pSwapChain->Present(1, presentFlags) == DXGI_STATUS_OCCLUDED) { - presentFlags = DXGI_PRESENT_TEST; - //Artificial VSYNC when the app is minimized - Sleep(MS_PER_FRAME); - } - else { - presentFlags = 0; - } - } - - // Cleanup - ImGui_ImplDX11_Shutdown(); - ImGui_ImplWin32_Shutdown(); - ImGui::DestroyContext(); - - WindowsGUIInternal::CleanupDeviceD3D(); - ::DestroyWindow(hwnd); - ::UnregisterClassW(wc.lpszClassName, wc.hInstance); -} - -void DisplayErrorMessagebox(const std::string& message) -{ - MessageBoxA(0, message.c_str(), "Sony Headphones Client | Unrecoverable Error", MB_OK | MB_ICONSTOP); - exit(GetLastError()); -} - -namespace WindowsGUIInternal -{ - - bool CreateDeviceD3D(HWND hWnd) - { - // Setup swap chain - DXGI_SWAP_CHAIN_DESC sd; - ZeroMemory(&sd, sizeof(sd)); - sd.BufferCount = 2; - sd.BufferDesc.Width = 0; - sd.BufferDesc.Height = 0; - sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; - sd.BufferDesc.RefreshRate.Numerator = 60; - sd.BufferDesc.RefreshRate.Denominator = 1; - sd.Flags = DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH; - sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; - sd.OutputWindow = hWnd; - sd.SampleDesc.Count = 1; - sd.SampleDesc.Quality = 0; - sd.Windowed = TRUE; - sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD; - - UINT createDeviceFlags = 0; - //createDeviceFlags |= D3D11_CREATE_DEVICE_DEBUG; - D3D_FEATURE_LEVEL featureLevel; - const D3D_FEATURE_LEVEL featureLevelArray[2] = { D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_10_0, }; - if (D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, createDeviceFlags, featureLevelArray, 2, D3D11_SDK_VERSION, &sd, &g_pSwapChain, &g_pd3dDevice, &featureLevel, &g_pd3dDeviceContext) != S_OK) - return false; - - CreateRenderTarget(); - return true; - } - - void CleanupDeviceD3D() - { - CleanupRenderTarget(); - if (g_pSwapChain) { g_pSwapChain->Release(); g_pSwapChain = NULL; } - if (g_pd3dDeviceContext) { g_pd3dDeviceContext->Release(); g_pd3dDeviceContext = NULL; } - if (g_pd3dDevice) { g_pd3dDevice->Release(); g_pd3dDevice = NULL; } - } - - void CreateRenderTarget() - { - ID3D11Texture2D* pBackBuffer = nullptr; - g_pSwapChain->GetBuffer(0, IID_PPV_ARGS(&pBackBuffer)); - if (pBackBuffer == nullptr) - { - throw std::runtime_error("Unexpected: pBackBuffer is null"); - } - g_pd3dDevice->CreateRenderTargetView(pBackBuffer, NULL, &g_mainRenderTargetView); - pBackBuffer->Release(); - } - - void CleanupRenderTarget() - { - if (g_mainRenderTargetView) { g_mainRenderTargetView->Release(); g_mainRenderTargetView = NULL; } - } - - // Win32 message handler - LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) - { - if (ImGui_ImplWin32_WndProcHandler(hWnd, msg, wParam, lParam)) - return true; - - switch (msg) - { - case WM_SIZE: - if (g_pd3dDevice != NULL && wParam != SIZE_MINIMIZED) - { - CleanupRenderTarget(); - g_pSwapChain->ResizeBuffers(0, (UINT)LOWORD(lParam), (UINT)HIWORD(lParam), DXGI_FORMAT_UNKNOWN, 0); - CreateRenderTarget(); - } - return 0; - case WM_SYSCOMMAND: - if ((wParam & 0xfff0) == SC_KEYMENU) // Disable ALT application menu - return 0; - break; - case WM_DESTROY: - ::PostQuitMessage(0); - return 0; - } - return ::DefWindowProc(hWnd, msg, wParam, lParam); - } -} diff --git a/Client/windows/WindowsGUI.h b/Client/windows/WindowsGUI.h deleted file mode 100644 index b4be8e4..0000000 --- a/Client/windows/WindowsGUI.h +++ /dev/null @@ -1,38 +0,0 @@ -#pragma once - -#include - -//The inclusion order is critical here. Do not change it. -#include "BluetoothWrapper.h" -#include "WindowsBluetoothConnector.h" - -#include "Constants.h" - -#include "imgui/imgui.h" -#include "imgui/backends/imgui_impl_win32.h" -#include "imgui/backends/imgui_impl_dx11.h" -#include -#define DIRECTINPUT_VERSION 0x0800 -#include -#include - -#include - -#include "Windows.h" - -#include "CrossPlatformGUI.h" - -// Forward declare message handler from imgui_impl_win32.cpp -extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); - -void EnterGUIMainLoop(BluetoothWrapper bt); -void DisplayErrorMessagebox(const std::string& message); - -namespace WindowsGUIInternal -{ - bool CreateDeviceD3D(HWND hWnd); - void CleanupDeviceD3D(); - void CreateRenderTarget(); - void CleanupRenderTarget(); - LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); -} diff --git a/Client/windows/main.cpp b/Client/windows/main.cpp deleted file mode 100644 index fd24871..0000000 --- a/Client/windows/main.cpp +++ /dev/null @@ -1,23 +0,0 @@ -#include -#include -#include "WindowsBluetoothConnector.h" -#include "CommandSerializer.h" -#include "BluetoothWrapper.h" - -#include "WindowsGUI.h" - -int main() -{ - std::cout << "Initializing... If can't see the GUI, something has gone wrong." << std::endl; - try - { - std::unique_ptr connector = std::make_unique(); - BluetoothWrapper wrap(std::move(connector)); - EnterGUIMainLoop(std::move(wrap)); - } - catch (const std::exception& e) - { - DisplayErrorMessagebox(e.what()); - } -} - diff --git a/README.md b/README.md index a67afb1..4a9727f 100644 --- a/README.md +++ b/README.md @@ -8,17 +8,16 @@
-[![Build](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/cmake.yml/badge.svg)](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/cmake.yml) +[![Build](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/xcodebuild.yml/badge.svg)](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/xcodebuild.yml) [![Release](https://img.shields.io/github/v/release/AmitRajput-Dev/SonyBridge?include_prereleases&sort=semver)](https://github.com/AmitRajput-Dev/SonyBridge/releases) [![Downloads](https://img.shields.io/github/downloads/AmitRajput-Dev/SonyBridge/total?color=success)](https://github.com/AmitRajput-Dev/SonyBridge/releases) [![Stars](https://img.shields.io/github/stars/AmitRajput-Dev/SonyBridge?style=flat)](https://github.com/AmitRajput-Dev/SonyBridge/stargazers) [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) -![Platforms](https://img.shields.io/badge/platform-macOS%20%7C%20Windows%20%7C%20Linux-blue) +![Platforms](https://img.shields.io/badge/platform-macOS-blue)
[![Download for macOS](https://img.shields.io/badge/Download-macOS-000000?style=for-the-badge&logo=apple&logoColor=white)](https://github.com/AmitRajput-Dev/SonyBridge/releases/latest) -[![Windows Beta](https://img.shields.io/badge/Windows-Beta-0078D6?style=for-the-badge&logo=windows11&logoColor=white)](https://github.com/AmitRajput-Dev/SonyBridge/releases/tag/v0.4.0-beta1) [![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-EA4AAA?style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/AmitRajput-Dev) [![Donate via Razorpay](https://img.shields.io/badge/Donate-Razorpay-3395FF?style=for-the-badge&logo=razorpay&logoColor=white)](https://razorpay.me/@amitpratapsingrajput) @@ -44,8 +43,8 @@ reverse-engineered binary protocol — no phone required. The original [SonyHeadphonesClient](https://github.com/Plutoberth/SonyHeadphonesClient) only spoke Sony's **first-generation** protocol, so newer headsets (WH-CH720N, XM4/XM5, WF-series, LinkBuds…) just timed -out on connect. SonyBridge adds full **second-generation ("v2") protocol** support, a native SwiftUI app -on macOS, and a matching modern UI on Windows/Linux. +out on connect. SonyBridge adds full **second-generation ("v2") protocol** support and a native SwiftUI +app for macOS. ## ✨ Features @@ -60,7 +59,7 @@ on macOS, and a matching modern UI on Windows/Linux. - 🔄 **Live button sync** — changes made on the headset reflect in the app - 🔌 **Auto-connect** to your already-paired Sony headset - 🧬 **Dual-protocol** — auto-detects and speaks either protocol generation -- 🌑 **Modern UI** — dark, minimal, shaped after Sony's own app (SwiftUI on macOS, Dear ImGui on Windows/Linux) +- 🌑 **Modern UI** — dark, minimal, shaped after Sony's own app, in native SwiftUI ## 📥 Download @@ -79,27 +78,9 @@ or [**Download .app**](https://github.com/AmitRajput-Dev/SonyBridge/releases/lat macOS 11+ · Apple Silicon & Intel - -Windows - - -[**Download Beta**](https://github.com/AmitRajput-Dev/SonyBridge/releases/tag/v0.4.0-beta1) - - -🧪 Beta — testers wanted - - -Linux - - -[Build from source](#-build-from-source) - - -GLFW/OpenGL build - -> 💡 After launching, **connect your headphones in your OS Bluetooth settings first**, then open SonyBridge and hit *Connect*. Keep audio playing — Sony headsets drop the control link when idle to save power. +> 💡 After launching, **connect your headphones in your macOS Bluetooth settings first**, then open SonyBridge and hit *Connect*. Keep audio playing — Sony headsets drop the control link when idle to save power.

macOS install notes (Gatekeeper) @@ -135,31 +116,13 @@ first time (`brew trust AmitRajput-Dev/tap`). Requires **Xcode 14+**. ```sh -git clone --recurse-submodules https://github.com/AmitRajput-Dev/SonyBridge.git +git clone https://github.com/AmitRajput-Dev/SonyBridge.git open SonyBridge/Client/macos/SonyHeadphonesClient.xcodeproj ``` Then ⌘R.
-
-Windows / Linux (Dear ImGui UI) - -**Windows** (CMake + MSVC, from a Developer Command Prompt): -```sh -cd Client && mkdir build && cd build -cmake .. && cmake --build . --config Release -``` - -**Linux** (`sudo apt install libbluetooth-dev libglfw3-dev libdbus-1-dev`): -```sh -cd Client && mkdir build && cd build -cmake .. && cmake --build . -``` - -Keep the built binary next to its `resources/` folder (device hero images load from `resources/devices/`). -
- ## 🔬 How it works Sony headphones expose a vendor RFCOMM/SPP service. Commands are framed as: @@ -184,7 +147,7 @@ Contributions are very welcome — especially **device reports** and **testing o - 🐛 **Found a bug / have a device to report?** [Open an issue](https://github.com/AmitRajput-Dev/SonyBridge/issues/new) with your model and what happened. - 🧪 **Want to test?** Grab a [release](https://github.com/AmitRajput-Dev/SonyBridge/releases) and tell us how it behaves on your headset (a screenshot helps a lot). -- 🔧 **Code?** Fork, branch, and open a PR against `main`. CI builds macOS, Windows and Linux on every PR. +- 🔧 **Code?** Fork, branch, and open a PR against `main`. CI builds the macOS app on every PR. ## 🙏 Credits diff --git a/docs/banner.svg b/docs/banner.svg index b881b79..071e1f4 100644 --- a/docs/banner.svg +++ b/docs/banner.svg @@ -30,9 +30,5 @@ macOS - - Windows - - Linux diff --git a/docs/index.html b/docs/index.html index d626c20..a2535e5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -4,12 +4,12 @@ SonyBridge — Control your Sony headphones from your desktop - + - + @@ -135,7 +135,7 @@ .chip:hover{border-color:var(--border2);transform:translateY(-2px);background:var(--panel2)} /* install */ - .inst{display:grid;grid-template-columns:repeat(3,1fr);gap:16px} + .inst{display:grid;grid-template-columns:minmax(0,460px);justify-content:center;gap:16px} .inst .card{padding:26px} .inst .plat{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;margin-bottom:14px} .inst .plat svg{color:var(--accent2)} @@ -201,18 +201,14 @@
- Open-source · macOS · Windows · Linux + Open-source · macOS

Your Sony headphones,
finally on your desktop.

-

Noise cancelling, ambient sound, EQ, DSEE and battery — controlled straight from your Mac or PC. No phone, no Sony account.

+

Noise cancelling, ambient sound, EQ, DSEE and battery — controlled straight from your Mac. No phone, no Sony account.

$brew install --cask sonybridge @@ -332,7 +328,7 @@

Works across the Sony lineup.

Get started

Install in a minute.

-

Pair your headphones in your OS Bluetooth settings first, then open SonyBridge and hit Connect.

+

Pair your headphones in your macOS Bluetooth settings first, then open SonyBridge and hit Connect.

@@ -341,17 +337,6 @@

Install in a minute.

macOS 11+ · Apple Silicon & Intel · or download the .app
-
-
Windows BETA
-

First Windows build — same UI, testers wanted. Grab it and tell us how it runs.

- -
-
-
Linux
-

Build from source — the same modern UI runs on the GLFW/OpenGL path.

-
apt install libbluetooth-dev libglfw3-dev libdbus-1-dev
- -
From 4047d243a622072e5d3c3aefda97d9dafc495ec7 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 11:51:35 +0200 Subject: [PATCH 02/31] feat(macos): French localization (fr + en fallback) --- Client/macos/ContentView.swift | 27 +++++--- Client/macos/HeadphonesBridge.mm | 20 +++--- Client/macos/HeadphonesModel.swift | 2 +- .../project.pbxproj | 30 +++++++++ Client/macos/en.lproj/InfoPlist.strings | 2 + Client/macos/fr.lproj/InfoPlist.strings | 2 + Client/macos/fr.lproj/Localizable.strings | 62 +++++++++++++++++++ Client/macos/info.plist | 7 +++ 8 files changed, 131 insertions(+), 21 deletions(-) create mode 100644 Client/macos/en.lproj/InfoPlist.strings create mode 100644 Client/macos/fr.lproj/InfoPlist.strings create mode 100644 Client/macos/fr.lproj/Localizable.strings diff --git a/Client/macos/ContentView.swift b/Client/macos/ContentView.swift index 45b0388..1cf42e3 100644 --- a/Client/macos/ContentView.swift +++ b/Client/macos/ContentView.swift @@ -14,6 +14,11 @@ private enum Theme { static let secondary = Color(white: 0.62) } +// Looks up a UI string in Localizable.strings (for text built at runtime, which SwiftUI doesn't localize itself). +private func tr(_ key: String) -> String { + NSLocalizedString(key, comment: "") +} + @available(macOS 11.0, *) struct ContentView: View { @StateObject private var model = HeadphonesModel() @@ -50,7 +55,7 @@ struct ContentView: View { .padding(.horizontal, 32) } Button(action: model.connect) { - Text(model.connecting ? "Connecting…" : "Connect headphones") + Text(model.connecting ? LocalizedStringKey("Connecting…") : LocalizedStringKey("Connect headphones")) .font(.system(size: 14, weight: .semibold)) .foregroundColor(.white) .frame(maxWidth: .infinity) @@ -152,7 +157,7 @@ struct ContentView: View { Image(systemName: "battery.100") .font(.system(size: 13)) .foregroundColor(Theme.accent) - Text("L \(model.batteryLeft)% R \(model.batteryRight)%") + Text(String(format: tr("L %ld%% R %ld%%"), model.batteryLeft, model.batteryRight)) .font(.system(size: 13, weight: .semibold)) .foregroundColor(Theme.secondary) } else if model.batteryLevel >= 0 { @@ -196,7 +201,7 @@ struct ContentView: View { .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous)) } - private func modeButton(_ mode: SHCAmbientMode, _ symbol: String, _ label: String) -> some View { + private func modeButton(_ mode: SHCAmbientMode, _ symbol: String, _ label: LocalizedStringKey) -> some View { let selected = model.mode == mode return Button(action: { model.setMode(mode) }) { VStack(spacing: 8) { @@ -297,7 +302,7 @@ struct ContentView: View { private func eqBandRow(_ label: String, value: Binding, display: Int, accent: Bool = false) -> some View { HStack(spacing: 10) { - Text(label) + Text(LocalizedStringKey(label)) .font(.system(size: 11, weight: .medium)) .foregroundColor(accent ? Theme.accent : Theme.secondary) .frame(width: 34, alignment: .leading) @@ -326,7 +331,7 @@ struct ContentView: View { private func eqChip(_ name: String, _ code: Int) -> some View { let selected = model.eqPreset == code return Button(action: { model.setEqualizer(code) }) { - Text(name) + Text(LocalizedStringKey(name)) .font(.system(size: 12, weight: .medium)) .foregroundColor(selected ? .white : Theme.secondary) .frame(maxWidth: .infinity) @@ -363,7 +368,7 @@ struct ContentView: View { get: { model.autoPowerOff }, set: { model.setAutoPowerOff($0) } )) { - ForEach(0.. Void) -> some View { + private func settingToggle(_ title: LocalizedStringKey, _ subtitle: LocalizedStringKey, on: Bool, action: @escaping (Bool) -> Void) -> some View { Toggle(isOn: Binding(get: { on }, set: { action($0) })) { VStack(alignment: .leading, spacing: 2) { Text(title).font(.system(size: 14, weight: .semibold)).foregroundColor(.white) @@ -394,12 +399,14 @@ struct ContentView: View { .font(.system(size: 15, weight: .bold)) .foregroundColor(.white) .padding(.bottom, 10) - aboutRow("Status", model.connected ? "Connected" : "Disconnected") + aboutRow("Status", tr(model.connected ? "Connected" : "Disconnected")) if model.hasDualBattery { aboutRow("Battery L / R", "\(model.batteryLeft)% / \(model.batteryRight)%") if model.batteryCase >= 0 { aboutRow("Case", "\(model.batteryCase)%") } } else if model.batteryLevel >= 0 { - aboutRow("Battery", "\(model.batteryLevel)%\(model.batteryCharging ? " (charging)" : "")") + aboutRow("Battery", model.batteryCharging + ? String(format: tr("%ld%% (charging)"), model.batteryLevel) + : "\(model.batteryLevel)%") } if !model.codec.isEmpty { aboutRow("Codec", model.codec) } if !model.firmware.isEmpty { aboutRow("Firmware", model.firmware) } @@ -415,7 +422,7 @@ struct ContentView: View { .background(Theme.card) } - private func aboutRow(_ label: String, _ value: String) -> some View { + private func aboutRow(_ label: LocalizedStringKey, _ value: String) -> some View { HStack { Text(label).font(.system(size: 12)).foregroundColor(Theme.secondary) Spacer() diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index 4f1b58d..6cf092a 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -153,7 +153,7 @@ - (void)scanAndConnectWithCompletion:(void (^)(BOOL, NSString * _Nullable))compl } if (!device) { - completion(NO, @"No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first."); + completion(NO, NSLocalizedString(@"No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first.", nil)); return; } @@ -174,7 +174,7 @@ - (void)scanAndConnectWithCompletion:(void (^)(BOOL, NSString * _Nullable))compl if (!_bt->isConnected()) { _bt->disconnect(); - completion(NO, @"Connection timed out."); + completion(NO, NSLocalizedString(@"Connection timed out.", nil)); return; } @@ -241,12 +241,12 @@ - (void)refreshDynamicWithCompletion:(void (^)(void))completion { - (void)setEqualizerPreset:(NSInteger)preset completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { - completion(NO, @"Not connected."); + completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } // The v2 EQ SET opcode differs from v1; only issue it on confirmed v2 devices. if (_bt->getProtocolVersion() != SonyProtocolVersion::V2) { - completion(NO, @"Equalizer control isn't supported on this device yet."); + completion(NO, NSLocalizedString(@"Equalizer control isn't supported on this device yet.", nil)); return; } Headphones *hp = _hp.get(); @@ -267,7 +267,7 @@ - (void)setEqualizerPreset:(NSInteger)preset completion:(void (^)(BOOL, NSString - (void)setCustomEqualizerBass:(NSInteger)bass bands:(NSArray *)bands completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected || _bt->getProtocolVersion() != SonyProtocolVersion::V2) { - completion(NO, @"Equalizer control isn't supported on this device yet."); + completion(NO, NSLocalizedString(@"Equalizer control isn't supported on this device yet.", nil)); return; } std::vector cbands; @@ -285,7 +285,7 @@ - (void)setCustomEqualizerBass:(NSInteger)bass bands:(NSArray *)band - (void)setDsee:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected || _bt->getProtocolVersion() != SonyProtocolVersion::V2) { - completion(NO, @"Not supported on this device."); + completion(NO, NSLocalizedString(@"Not supported on this device.", nil)); return; } Headphones *hp = _hp.get(); @@ -303,7 +303,7 @@ - (void)applyMode:(SHCAmbientMode)mode focusVoice:(BOOL)focusVoice completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { - completion(NO, @"Not connected."); + completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } @@ -343,7 +343,7 @@ - (void)applyMode:(SHCAmbientMode)mode } - (void)setAutoPowerOff:(NSInteger)index completion:(void (^)(BOOL, NSString * _Nullable))completion { - if (!_hp || !self.connected) { completion(NO, @"Not connected."); return; } + if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } Headphones *hp = _hp.get(); dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; @@ -353,7 +353,7 @@ - (void)setAutoPowerOff:(NSInteger)index completion:(void (^)(BOOL, NSString * _ } - (void)setSpeakToChat:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))completion { - if (!_hp || !self.connected) { completion(NO, @"Not connected."); return; } + if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } Headphones *hp = _hp.get(); dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; @@ -363,7 +363,7 @@ - (void)setSpeakToChat:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Null } - (void)setAdaptiveVolume:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))completion { - if (!_hp || !self.connected) { completion(NO, @"Not connected."); return; } + if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } Headphones *hp = _hp.get(); dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; diff --git a/Client/macos/HeadphonesModel.swift b/Client/macos/HeadphonesModel.swift index cda475a..82b66c8 100644 --- a/Client/macos/HeadphonesModel.swift +++ b/Client/macos/HeadphonesModel.swift @@ -172,7 +172,7 @@ final class HeadphonesModel: ObservableObject { if self.connected && !self.bridge.connected { self.connected = false self.deviceName = "" - self.errorMessage = "Headphones disconnected." + self.errorMessage = NSLocalizedString("Headphones disconnected.", comment: "") self.stopWatchingConnection() self.stopDynamicPolling() } diff --git a/Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj b/Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj index ded4260..b2904b0 100644 --- a/Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj +++ b/Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj @@ -23,6 +23,8 @@ CC0000000000000000000004 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC0000000000000000000005 /* ContentView.swift */; }; CC0000000000000000000006 /* HeadphonesModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CC0000000000000000000007 /* HeadphonesModel.swift */; }; DD0000000000000000000001 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DD0000000000000000000002 /* Assets.xcassets */; }; + EE0000000000000000000001 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = EE0000000000000000000002 /* Localizable.strings */; }; + EE0000000000000000000003 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = EE0000000000000000000004 /* InfoPlist.strings */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -56,6 +58,9 @@ CC0000000000000000000007 /* HeadphonesModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadphonesModel.swift; sourceTree = ""; }; CC0000000000000000000008 /* SonyHeadphonesClient-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SonyHeadphonesClient-Bridging-Header.h"; sourceTree = ""; }; DD0000000000000000000002 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + EE0000000000000000000005 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Localizable.strings; sourceTree = ""; }; + EE0000000000000000000006 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + EE0000000000000000000007 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -102,6 +107,8 @@ CC0000000000000000000007 /* HeadphonesModel.swift */, CC0000000000000000000008 /* SonyHeadphonesClient-Bridging-Header.h */, DD0000000000000000000002 /* Assets.xcassets */, + EE0000000000000000000002 /* Localizable.strings */, + EE0000000000000000000004 /* InfoPlist.strings */, A8DC790325769A6600447738 /* Frameworks */, ); sourceTree = ""; @@ -155,6 +162,7 @@ hasScannedForEncodings = 0; knownRegions = ( en, + fr, Base, ); mainGroup = A8DC78BB25757BF300447738; @@ -174,6 +182,8 @@ files = ( A8DC793225769EA500447738 /* Main.storyboard in Resources */, DD0000000000000000000001 /* Assets.xcassets in Resources */, + EE0000000000000000000001 /* Localizable.strings in Resources */, + EE0000000000000000000003 /* InfoPlist.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -200,6 +210,26 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXVariantGroup section */ + EE0000000000000000000002 /* Localizable.strings */ = { + isa = PBXVariantGroup; + children = ( + EE0000000000000000000005 /* fr */, + ); + name = Localizable.strings; + sourceTree = ""; + }; + EE0000000000000000000004 /* InfoPlist.strings */ = { + isa = PBXVariantGroup; + children = ( + EE0000000000000000000007 /* en */, + EE0000000000000000000006 /* fr */, + ); + name = InfoPlist.strings; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + /* Begin XCBuildConfiguration section */ A8DC78D625757BF500447738 /* Debug */ = { isa = XCBuildConfiguration; diff --git a/Client/macos/en.lproj/InfoPlist.strings b/Client/macos/en.lproj/InfoPlist.strings new file mode 100644 index 0000000..63b393f --- /dev/null +++ b/Client/macos/en.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized Info.plist values (English). Keeps an en.lproj in the bundle so non-French systems fall back to English. */ +"NSBluetoothAlwaysUsageDescription" = "This app uses Bluetooth in order to connect to your headphones."; diff --git a/Client/macos/fr.lproj/InfoPlist.strings b/Client/macos/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000..82760db --- /dev/null +++ b/Client/macos/fr.lproj/InfoPlist.strings @@ -0,0 +1,2 @@ +/* Localized Info.plist values (French). */ +"NSBluetoothAlwaysUsageDescription" = "SonyBridge utilise le Bluetooth pour se connecter à votre casque."; diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings new file mode 100644 index 0000000..6376a68 --- /dev/null +++ b/Client/macos/fr.lproj/Localizable.strings @@ -0,0 +1,62 @@ +/* SonyBridge — French UI strings. Keys are the English source strings; missing keys fall back to English. */ + +/* Connection */ +"No headphones connected" = "Aucun casque connecté"; +"Connecting…" = "Connexion…"; +"Connect headphones" = "Connecter le casque"; +"Connected" = "Connecté"; +"Disconnected" = "Déconnecté"; + +/* Battery (L/R = left/right earbud) */ +"L %ld%% R %ld%%" = "G %ld %% D %ld %%"; +"%ld%% (charging)" = "%ld %% (en charge)"; + +/* Ambient sound control */ +"Ambient Sound Control" = "Contrôle du son ambiant"; +"Noise\nCanceling" = "Réduction\nde bruit"; +"Ambient\nSound" = "Son\nambiant"; +"Off" = "Désactivé"; +"Ambient Sound Level" = "Niveau du son ambiant"; +"Focus on Voice" = "Focalisation sur la voix"; + +/* Equalizer */ +"Equalizer" = "Égaliseur"; +"Bright" = "Brillant"; +"Excited" = "Dynamique"; +"Mellow" = "Doux"; +"Relaxed" = "Détendu"; +"Vocal" = "Voix"; +"Treble" = "Aigus"; +"Bass" = "Graves"; +"Speech" = "Parole"; +"Manual" = "Manuel"; + +/* DSEE */ +"Upscale compressed audio" = "Améliore l’audio compressé"; + +/* Settings */ +"Settings" = "Réglages"; +"Adaptive Volume" = "Volume adaptatif"; +"Auto-adjust volume by surroundings" = "Ajuste le volume selon l’environnement"; +"Pause music when you talk" = "Met la musique en pause quand vous parlez"; +"Auto Power-Off" = "Arrêt automatique"; +"Turn off when idle" = "S’éteint en cas d’inactivité"; +"1 hour" = "1 heure"; +"3 hours" = "3 heures"; +"When taken off" = "Quand le casque est retiré"; + +/* About popover */ +"Status" = "État"; +"Battery" = "Batterie"; +"Battery L / R" = "Batterie G / D"; +"Case" = "Boîtier"; +"Protocol" = "Protocole"; +"SonyBridge · not affiliated with Sony" = "SonyBridge · non affilié à Sony"; + +/* Errors */ +"Headphones disconnected." = "Casque déconnecté."; +"No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first." = "Aucun casque Sony connecté. Connectez d’abord votre casque dans les réglages Bluetooth de macOS."; +"Connection timed out." = "Délai de connexion dépassé."; +"Not connected." = "Non connecté."; +"Equalizer control isn't supported on this device yet." = "Le réglage de l’égaliseur n’est pas encore pris en charge sur cet appareil."; +"Not supported on this device." = "Non pris en charge sur cet appareil."; diff --git a/Client/macos/info.plist b/Client/macos/info.plist index f2a1628..642d8c1 100644 --- a/Client/macos/info.plist +++ b/Client/macos/info.plist @@ -2,6 +2,13 @@ + CFBundleDevelopmentRegion + en + CFBundleLocalizations + + en + fr + CFBundleExecutable SonyHeadphonesClient CFBundleIdentifier From 1da9d58154f210cf2f8af1574fa2676f55db4b06 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 12:13:06 +0200 Subject: [PATCH 03/31] docs: menu bar app design spec --- .gitignore | 3 + .../specs/2026-09-10-menu-bar-app-design.md | 254 ++++++++++++++++++ 2 files changed, 257 insertions(+) create mode 100644 docs/superpowers/specs/2026-09-10-menu-bar-app-design.md diff --git a/.gitignore b/.gitignore index 954cfbc..4cb044e 100644 --- a/.gitignore +++ b/.gitignore @@ -526,3 +526,6 @@ MigrationBackup/ # vscode .vscode/ + +# brainstorming mockups (superpowers visual companion) +.superpowers/ diff --git a/docs/superpowers/specs/2026-09-10-menu-bar-app-design.md b/docs/superpowers/specs/2026-09-10-menu-bar-app-design.md new file mode 100644 index 0000000..5a4b6e9 --- /dev/null +++ b/docs/superpowers/specs/2026-09-10-menu-bar-app-design.md @@ -0,0 +1,254 @@ +# SonyBridge dans la barre des menus — spec de design + +- **Date :** 2026-09-10 +- **Statut :** validé en discussion, à relire avant le plan d'implémentation +- **Casque de référence :** WH-1000XM6 (firmware 3.1.5, protocole v2) + +## 1. Objectif + +Transformer SonyBridge, aujourd'hui une app à fenêtre, en **app de barre des menus** sobre, dans l'esprit +des menus système d'Apple (Bluetooth, Wi-Fi). L'app donne accès à toutes les fonctions déjà gérées, et +corrige ce qui est faux sur le WH-1000XM6. + +## 2. Périmètre + +**Inclus** +- Toutes les fonctions existantes, dans un menu natif : mode NC / Son ambiant / Désactivé, niveau ambiant, + focalisation sur la voix, égaliseur (presets + manuel), DSEE, Speak-to-Chat, volume adaptatif, arrêt + automatique, batterie, codec, firmware. +- Les corrections XM6 : relecture de l'état NC/Ambiant, égaliseur 10 bandes. +- Trois options activables : lancer à l'ouverture de session, connexion automatique, reconnexion automatique. +- Un build par script (`make`), sans Xcode, et la CI correspondante. +- Le français et l'anglais (mécanisme de traduction existant). + +**Exclu** (projets séparés, plus tard) +- Les fonctions du XM6 encore inconnues du projet (multipoint, optimiseur NC, commandes tactiles…), qui + demandent de la rétro-ingénierie. +- L'écoute des notifications que le casque envoie de lui-même : on garde la relecture périodique. +- La mise à jour des captures d'écran du README et du site (à refaire après l'implémentation). + +## 3. Décisions + +| Sujet | Décision | Raison | +|---|---|---| +| Forme de l'interface | Menu natif (maquette « B ») | Le plus proche des menus système d'Apple | +| Égaliseur manuel | Curseurs dans le sous-menu « Égaliseur », sous les presets (option « 1 ») | Tout reste dans le menu, sans fenêtre en plus | +| Technique | `NSStatusItem` + `NSMenu` (AppKit), vues SwiftUI (`NSHostingView`) pour les lignes riches | `MenuBarExtra` n'accepte pas de curseurs en style menu ; un popover serait un faux menu | +| Icône de la barre | Monochrome, une par mode, grisée si déconnecté | Mode visible d'un coup d'œil, style système | +| Build | Script + `Makefile`, suppression du `.xcodeproj` | Pas de Xcode sur la machine de dev ; une seule façon de compiler | +| Version minimale | macOS 13 (au lieu de 11) | `SMAppService` pour le lancement à l'ouverture de session | + +## 4. Structure du menu + +``` +┌ WH-1000XM6 68 % ▭ ← en-tête (vue SwiftUI) +│ Connecté · AAC (ou « Connexion… » / « Non connecté ») +│ ⚠︎ ← seulement s'il y a une erreur +├────────── +│ Contrôle du son ambiant ← titre de section (inactif) +│ ◉ Réduction de bruit ← choix exclusifs +│ ◉ Son ambiant +│ ─────●───── 10 ← curseur 1…20 (visible en Son ambiant) +│ Focalisation sur la voix [ ] ← interrupteur (visible en Son ambiant) +│ ◉ Désactivé +├────────── +│ Égaliseur Graves › +│ ✓ Désactivé / Brillant / Dynamique / Doux / Détendu / Voix / Aigus / Graves / Parole / Manuel +│ ────────── +│ [10 curseurs verticaux] ou [5 curseurs + Clear Bass] ← actifs si « Manuel » +│ Réinitialiser +│ DSEE [ ] ← chaque ligne n'apparaît que si le casque +│ Speak-to-Chat [ ] gère la fonction +│ Volume adaptatif [ ] +│ Arrêt automatique Quand retiré › +│ ✓ Désactivé / 5 min / 30 min / 1 heure / 3 heures / Quand le casque est retiré +├────────── +│ À propos du casque › → Firmware, Codec, Protocole, Bluetooth (lignes d'info) +│ Options de SonyBridge › → ✓ Lancer à l'ouverture de session +│ ✓ Connexion automatique +│ ✓ Reconnexion automatique +│ Connecter… | Déconnecter +├────────── +└ Quitter SonyBridge ⌘Q +``` + +- La valeur courante (« Graves », « Quand retiré ») s'affiche à droite du titre du sous-menu. +- Casque déconnecté : le menu garde sa forme, les réglages sont désactivés (grisés), et l'en-tête affiche + « Non connecté ». L'élément « Connecter… » essaie d'abord le casque Sony déjà connecté à macOS + (comportement existant de `scanAndConnect`), sinon il ouvre le sélecteur Bluetooth de macOS. +- Valeurs par défaut des options : connexion auto **activée**, reconnexion auto **activée**, lancement à + l'ouverture de session **désactivé** (Apple demande que l'utilisateur l'active lui-même). + +## 5. Architecture + +### 5.1 Type d'app + +- `LSUIElement = YES` : pas d'icône dans le Dock, pas de fenêtre ni de menu d'app. +- `LSMinimumSystemVersion = 13.0`. +- Le bundle s'appelle `SonyBridge.app` (exécutable `SonyBridge`). L'identifiant + `com.semvis123.SonyHeadphonesClient` est conservé, pour que macOS ne redemande pas l'autorisation + Bluetooth. + +### 5.2 Fichiers (`Client/macos/`) + +| Fichier | Rôle | Dépend de | +|---|---|---| +| `main.swift` | Crée `NSApplication`, installe `AppDelegate`, lance la boucle | `AppDelegate` | +| `AppDelegate.swift` | Crée le modèle, les réglages et le contrôleur de barre ; démarre la connexion auto | tous les suivants | +| `StatusItemController.swift` | Possède le `NSStatusItem`, choisit l'icône selon l'état, attache le menu | `HeadphonesModel`, `HeadphonesMenu` | +| `HeadphonesMenu.swift` | Construit le `NSMenu` et le garde synchronisé avec le modèle (abonnement Combine) : états des choix, visibilité, valeurs à droite, actif/inactif | `HeadphonesModel`, `AppSettings`, `MenuRows` | +| `MenuRows/HeaderRow.swift` | En-tête : nom, état de connexion, codec, batterie (simple ou G/D/boîtier) | `HeadphonesModel` | +| `MenuRows/SliderRow.swift` | Curseur du niveau ambiant | `HeadphonesModel` | +| `MenuRows/ToggleRow.swift` | Ligne titre + interrupteur (focalisation, DSEE, Speak-to-Chat, volume adaptatif) | — (valeur + action en paramètres) | +| `MenuRows/EqualizerRow.swift` | Curseurs verticaux, 10 bandes ou 5 + Clear Bass selon le casque | `HeadphonesModel` | +| `HeadphonesModel.swift` | Existe déjà. État observable du casque et actions ; gagne la connexion/reconnexion auto et les relectures périodiques | `HeadphonesBridge`, `AppSettings`, `ReconnectPolicy`, `PollGuard` | +| `ReconnectPolicy.swift` | Logique pure : délai avant le prochain essai (3 s, 10 s, 30 s, puis 60 s) | — | +| `PollGuard.swift` | Logique pure : ignorer une relecture si l'utilisateur a changé ce réglage il y a moins de 3 s | — | +| `AppSettings.swift` | Les 3 options dans `UserDefaults` ; le lancement à l'ouverture passe par `SMAppService.mainApp` | — | +| `DeviceWatcher.swift` | Écoute les connexions Bluetooth (`IOBluetoothDevice.register(forConnectNotifications:)`) et signale qu'un casque Sony vient de se connecter | IOBluetooth | +| `HeadphonesBridge.h/.mm` | Existe déjà. Pont Obj-C++ ; s'adapte aux corrections XM6 (§7) | cœur C++ | +| `fr.lproj/`, `en.lproj/` | Traductions : textes du menu ajoutés, textes de l'ancienne fenêtre retirés | — | + +**Supprimés :** `ContentView.swift`, `main.mm`, `AppDelegate.h/.mm`, `ViewController.h/.mm`, `Main.storyboard`, +`SonyHeadphonesClient.xcodeproj`, `exportOptions.plist`, et les images des casques dans `Assets.xcassets` +(elles ne sont plus affichées). L'icône de l'app est déplacée dans `Client/macos/Resources/AppIcon.iconset`, +d'où `iconutil` la compile directement. + +### 5.3 Cœur C++ (`Client/`) + +- Nouveau `ProtocolParsers.h/.cpp` : des fonctions pures qui transforment la réponse du casque en valeurs. + - `parseNcAsmState(payload)` : gère les réponses `0x17` et `0x19`. + - `parseEqualizer(payload)` : gère 5 bandes + Clear Bass, et 10 bandes. + - `Headphones.cpp` les appelle, au lieu de décoder les octets lui-même. +- Le reste du cœur (mise en trame, ACK, connexion RFCOMM) ne change pas. + +## 6. Fonctionnement + +### 6.1 Connexion automatique (option activée) + +1. L'app retient l'adresse du dernier casque connecté (`UserDefaults`). +2. Au lancement : si ce casque est connecté à macOS, l'app ouvre le canal de contrôle. À défaut, elle prend le + premier casque connecté dont le nom ressemble à un Sony (règle existante `SHCLooksLikeSonyHeadset`). +3. Ensuite, `DeviceWatcher` signale chaque connexion Bluetooth. Pour un casque Sony, l'app attend 2 s (le + temps que l'audio s'établisse) puis ouvre le canal. + +### 6.2 Reconnexion automatique (option activée) + +- Si le canal se coupe alors que le casque est toujours connecté à macOS, l'app réessaie selon + `ReconnectPolicy` : 3 s, 10 s, 30 s, puis toutes les 60 s. +- L'app arrête d'essayer quand le casque se déconnecte de macOS (la connexion auto prendra le relais). +- Après un clic sur **Déconnecter**, pas de reconnexion auto jusqu'au prochain branchement du casque ou au + prochain clic sur « Connecter… ». + +### 6.3 Relectures périodiques + +- État NC/Ambiant : toutes les 2 s (suit le bouton physique du casque). Batterie : toutes les 60 s. +- Les minuteurs sont ajoutés en mode `RunLoop.Mode.common`, pour continuer à tourner **pendant que le menu + est ouvert**. Le menu se met alors à jour en direct. + +### 6.4 Commandes + +- Une action met à jour l'affichage tout de suite, puis la commande part sur la file série existante, dans + l'ordre des clics. +- `PollGuard` ignore les relectures d'un réglage pendant 3 s après que l'utilisateur l'a modifié : sans ça, + l'affichage reviendrait brièvement en arrière. +- Les curseurs (niveau ambiant, égaliseur) envoient une commande quand on relâche, et au plus toutes les + 150 ms pendant le glissement, pour ne pas saturer la liaison. + +### 6.5 Erreurs + +- La dernière erreur s'affiche sur une ligne « ⚠︎ message » sous l'en-tête. Elle disparaît à la prochaine + action réussie. Pas de fenêtre d'alerte. +- Les échecs de connexion automatique ne s'affichent pas (ils sont normaux quand le casque dort). Seuls les + échecs d'une action de l'utilisateur s'affichent. + +### 6.6 Icône + +- Des images modèles (*template*) monochromes, que macOS colore selon la barre (clair ou sombre) : une par + mode (réduction de bruit, son ambiant, désactivé), plus une version grisée quand le casque est déconnecté. +- On part de symboles SF (`SF Symbols`) ; les glyphes exacts sont montrés pour validation pendant + l'implémentation. + +## 7. Corrections WH-1000XM6 + +Constats tirés des trames réelles capturées le 2026-09-10 : + +| Fonction | Trame reçue | Constat | +|---|---|---| +| État NC/ASM, demande `66 17` | `67 17 00 00 00 00 00` | Tout à zéro : ce canal n'est pas celui du XM6 | +| Changement de mode `68 17 01 01 01 00 0a` | accepté, puis notification `69 19 01 01 01 00 0a 00 00` | Le changement marche ; le vrai état arrive sur le canal `0x19`, avec 2 octets de plus | +| Égaliseur, demande `56 00` | `57 00 30 0a 0a 0a 05 05 06 06 06 06 06 06` | Preset `0x30` inconnu ; `0x0a` = 10 valeurs de bandes | +| Volume adaptatif, demande `f6 0a` | aucune réponse | Pas géré : la ligne est masquée | + +**Correction de la relecture NC/Ambiant** +- À la connexion, l'app envoie `66 19`. Si la réponse fait au moins 7 octets, elle relit l'état par `0x19`. + Sinon, elle garde `0x17` (anciens modèles). +- L'envoi des changements continue par `68 17`, dont le fonctionnement est vérifié sur le XM6. + +**Correction de l'égaliseur** +- `parseEqualizer` lit l'octet de nombre de valeurs : + - `0x06` → Clear Bass + 5 bandes (existant) ; + - `0x0a` → 10 bandes, sans Clear Bass. +- Le sous-menu affiche les curseurs qui correspondent. Un preset inconnu est affiché « Personnalisé » ; aucun + preset n'est coché. + +**Points à déterminer par expérimentation** (étape 3 de la construction, avec l'utilisateur et le casque) +1. Le sens des 2 octets de plus de `0x19` : changer de mode avec le bouton du casque et lire les trames. +2. Le décalage des valeurs des bandes (hypothèse −10…+10 avec un décalage de 10, à confirmer) et les + identifiants des presets du XM6 : comparer avec l'app Sony, puis envoyer un preset et relire. +3. Le format d'envoi de l'égaliseur manuel à 10 bandes (hypothèse `58 00 a0 0a <10 valeurs>`) : essai pas à + pas, l'utilisateur à l'écoute. + +**Règle de sécurité :** tant qu'un format n'est pas confirmé, la commande correspondante n'est **jamais** +envoyée au XM6. Les curseurs 10 bandes restent inactifs, avec la mention « bientôt disponible ». + +## 8. Build et CI + +- `scripts/build.sh` : compile le Swift (`swiftc`, avec l'en-tête de pont), le C++ et l'Obj-C++ + (`clang++`, C++17, ARC), fait l'édition de liens, assemble `build/SonyBridge.app` (plist, `.lproj`, icône + via `iconutil`) et signe en ad hoc avec les entitlements existants. + - Variables : `CONFIG=debug|release` ; `ARCHS="arm64 x86_64"` pour une app universelle (fusion avec `lipo`) ; + `DEBUG_PROTOCOL=1` pour activer `SHC_DEBUG_PROTOCOL`. +- `Makefile` : + - `make` : compile ; + - `make run` : compile, relance l'app, et envoie les logs dans `build/app.log` ; + - `make test` : lance les tests ; + - `make release` : app universelle zippée ; + - `make clean`. +- CI : `.github/workflows/build.yml` (sur `main` et les PR) exécute `make test` et `make release`, puis publie + le zip comme artefact. `xcodebuild.yml` est supprimé. +- README : section « Build from source » réécrite (`make run`), description de l'app de barre des menus. + +## 9. Tests + +- **`make test`** compile et lance deux petits exécutables de test (assertions simples, sans XCTest, qui n'est + pas disponible sans Xcode) : + - `Client/tests/ProtocolParsersTests.cpp` : `parseNcAsmState` et `parseEqualizer` avec les trames réelles + du XM6 (§7) et des trames des anciens formats (`0x17`, 5 bandes + Clear Bass) ; aller-retour mise en trame + / décodage (`packageDataForBt` / `unpackBtMessage`), échappement et somme de contrôle. + - `Client/tests/LogicTests.swift` : `ReconnectPolicy` (suite des délais, remise à zéro) et `PollGuard` + (fenêtre de 3 s). +- **Checklist manuelle** avec le XM6 : chaque élément du menu, synchronisation avec le bouton physique, menu + ouvert pendant un changement, coupure pour inactivité puis reconnexion, déconnexion manuelle (pas de + reconnexion), lancement à l'ouverture de session, bascule clair/sombre de la barre, français et anglais. + +## 10. Ordre de construction + +1. **Base** : `scripts/build.sh` + `Makefile`, point d'entrée Swift, app d'agent, icône et menu minimal + (en-tête + modes + Quitter), sur le cœur existant. +2. **Menu complet** : toutes les lignes de §4, avec les fonctions actuelles ; `ContentView.swift` supprimé. +3. **Corrections XM6** : `ProtocolParsers` + tests, relecture `0x19`, égaliseur 10 bandes, puis les + expérimentations de §7. +4. **Options** : `AppSettings`, `DeviceWatcher`, connexion et reconnexion auto, lancement à l'ouverture de + session. +5. **Nettoyage** : suppression du `.xcodeproj` et des fichiers morts, CI, README, traductions. + +## 11. Risques + +| Risque | Parade | +|---|---| +| Taille et surbrillance des vues SwiftUI dans un `NSMenu` | Taille fixée par ligne ; vérifié dès l'étape 1 avec le curseur | +| Minuteurs gelés pendant l'ouverture du menu | Mode `RunLoop.Mode.common` (§6.3) | +| La connexion bloque le fil principal quelques secondes (boucle d'attente existante dans `HeadphonesBridge`) | Acceptable en arrière-plan ; l'en-tête affiche « Connexion… » | +| Formats XM6 non confirmés | Règle de sécurité §7 ; fonctions désactivées tant qu'elles ne sont pas vérifiées | +| Autorisation Bluetooth redemandée | Identifiant de bundle conservé | From 9e8a1d14cc28ad3c041073c5b5de6cf82637a5c0 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 13:30:24 +0200 Subject: [PATCH 04/31] docs: menu bar app implementation plan --- .../plans/2026-09-10-menu-bar-app.md | 2958 +++++++++++++++++ 1 file changed, 2958 insertions(+) create mode 100644 docs/superpowers/plans/2026-09-10-menu-bar-app.md diff --git a/docs/superpowers/plans/2026-09-10-menu-bar-app.md b/docs/superpowers/plans/2026-09-10-menu-bar-app.md new file mode 100644 index 0000000..6a47c70 --- /dev/null +++ b/docs/superpowers/plans/2026-09-10-menu-bar-app.md @@ -0,0 +1,2958 @@ +# SonyBridge barre des menus — plan d'implémentation + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal :** transformer SonyBridge (app à fenêtre SwiftUI) en app de barre des menus native, avec toutes les +fonctions existantes, les corrections WH-1000XM6, les options de connexion automatique, et un build sans Xcode. + +**Architecture :** `NSStatusItem` + `NSMenu` (AppKit). Les lignes riches (en-tête, curseurs, interrupteurs, +égaliseur) sont des vues SwiftUI hébergées dans des `NSMenuItem` (`NSHostingView`). Le modèle +`HeadphonesModel` (Swift, observable) pilote le pont Obj-C++ `HeadphonesBridge`, qui pilote le cœur C++ +existant. La logique pure (reconnexion, anti-retour d'affichage, limitation d'envoi, décodage des trames) est +isolée dans de petits fichiers testés par des exécutables de test. + +**Tech Stack :** Swift 5 (mode de langage), SwiftUI, AppKit, Combine, IOBluetooth, ServiceManagement ; +C++17 et Obj-C++ (ARC) ; build `swiftc` + `clang++` via `scripts/build.sh` et `Makefile` ; Python 3 (vérif. des +traductions). + +**Spec :** `docs/superpowers/specs/2026-09-10-menu-bar-app-design.md` + +## Global Constraints + +- macOS minimum : **13.0** (`LSMinimumSystemVersion`, cible `-apple-macos13.0`). +- Pas de Xcode : tout se compile avec les Command Line Tools (`make`, `make test`, `make run`, `make release`). +- Swift compilé avec `-swift-version 5` ; C++ en `-std=c++17` ; Obj-C++ avec `-fobjc-arc`. +- Bundle : `SonyBridge.app`, exécutable `SonyBridge`, identifiant **`com.semvis123.SonyHeadphonesClient`** + (inchangé), `LSUIElement = YES`. +- Textes : **tout texte affiché** passe par `tr("…")` en Swift ou `NSLocalizedString(@"…", nil)` en Obj-C++, + avec la clé en anglais et sa traduction dans `Client/macos/fr.lproj/Localizable.strings`. Pas de texte affiché + en dur ailleurs. `make test` le vérifie (à partir de la tâche 2). +- Sécurité XM6 : **ne jamais envoyer au casque une commande dont le format n'est pas vérifié** (spec §7). En + particulier, aucune écriture d'égaliseur sur la disposition 10 bandes avant la tâche 8. +- Git : c'est **l'utilisateur** qui committe. À chaque étape « Commit », afficher la commande proposée et + attendre qu'il la lance. +- Test matériel : l'agent ne voit pas l'écran. Chaque vérification visuelle est demandée à l'utilisateur, avec + une liste précise de choses à regarder. Les échanges avec le casque se lisent dans `build/app.log` + (`make run DEBUG=1`). + +## Carte des fichiers + +| Fichier | Tâche | Responsabilité | +|---|---|---| +| `scripts/build.sh` | 1 | Compile et assemble `build/SonyBridge.app` | +| `scripts/test.sh` | 2 | Compile et lance les exécutables de test + vérif. des traductions | +| `scripts/check_localization.py` | 2 | Chaque clé `tr()` a sa traduction, aucune traduction inutilisée | +| `Makefile` | 1, 2 | `make`, `run`, `test`, `release`, `clean` | +| `.github/workflows/build.yml` | 1, 2 | CI : tests + build universel | +| `Client/macos/info.plist` | 1 | App d'agent, macOS 13, nom SonyBridge | +| `Client/macos/Resources/AppIcon.iconset/` | 1 | Icône de l'app (compilée par `iconutil`) | +| `Client/macos/SonyBridgeApp.swift` | 1 | Point d'entrée `@main` | +| `Client/macos/AppDelegate.swift` | 1, 7 | Assemble modèle, réglages, surveillance Bluetooth, icône de barre | +| `Client/macos/Localization.swift` | 1 | `tr(_:)` | +| `Client/macos/MenuSupport.swift` | 1, 5, 6 | `ActionMenuItem`, `sectionHeader`, `hostingMenuItem`, `MenuMetrics`, `titleWithValue` | +| `Client/macos/StatusItemController.swift` | 1, 4, 7 | L'icône de la barre et son menu | +| `Client/macos/StatusIcon.swift` | 6 | Choix du symbole selon le mode | +| `Client/macos/HeadphonesMenu.swift` | 1, 6, 7, 8 | Construit le `NSMenu` et le synchronise avec le modèle | +| `Client/macos/MenuRows/*.swift` | 5 | `HeaderRow`, `AmbientLevelRow`, `ToggleRow`, `EqualizerRow` | +| `Client/macos/HeadphonesModel.swift` | 4, 7, 8 | État observable + actions + minuteurs + reconnexion | +| `Client/macos/ReconnectPolicy.swift` | 2 | Délais de reconnexion | +| `Client/macos/PollGuard.swift` | 2 | Ignore les relectures 3 s après un changement | +| `Client/macos/SendThrottle.swift` | 2 | Limite les envois des curseurs à 1 / 150 ms | +| `Client/macos/AppSettings.swift` | 7 | Les 3 options + lancement à l'ouverture de session | +| `Client/macos/DeviceWatcher.swift` | 7 | Connexions / déconnexions Bluetooth de macOS | +| `Client/macos/HeadphonesBridge.h/.mm` | 3, 4, 7, 8 | Pont Obj-C++ | +| `Client/ProtocolParsers.h/.cpp` | 3, 8 | Décodage / encodage purs des trames | +| `Client/Headphones.h/.cpp` | 3, 8 | Utilise `ProtocolParsers`, canal NC `0x19` | +| `Client/tests/LogicTests/main.swift` | 2 | Tests de la logique Swift | +| `Client/tests/ProtocolParsersTests.cpp` | 3, 8 | Tests du décodage avec les trames réelles | +| `Client/macos/fr.lproj/Localizable.strings` | toutes | Traductions | +| `README.md` | 1, 9 | Build, description | + +**Supprimés en tâche 1 :** `Client/macos/{main.mm, AppDelegate.h, AppDelegate.mm, ViewController.h, +ViewController.mm, Main.storyboard, ContentView.swift, exportOptions.plist}`, +`Client/macos/SonyHeadphonesClient.xcodeproj/`, `Client/macos/Assets.xcassets/`, +`.github/workflows/xcodebuild.yml`. + +--- + +### Task 1: Build par script + app d'agent avec un menu minimal + +Remplace le projet Xcode et la fenêtre par un build en ligne de commande et une icône de barre des menus. Le +menu minimal contient l'en-tête, les trois modes, Connecter/Déconnecter et Quitter. Il utilise le modèle +**existant** (`HeadphonesModel` actuel, avec `connected`, `connecting`, `mode`, `setMode`, `connect`, `disconnect`). + +**Files:** +- Create: `scripts/build.sh`, `Makefile`, `.github/workflows/build.yml` +- Create: `Client/macos/SonyBridgeApp.swift`, `Client/macos/AppDelegate.swift`, `Client/macos/Localization.swift`, + `Client/macos/MenuSupport.swift`, `Client/macos/StatusItemController.swift`, `Client/macos/HeadphonesMenu.swift` +- Create: `Client/macos/Resources/AppIcon.iconset/*.png` (copiés depuis `Assets.xcassets`) +- Modify: `Client/macos/info.plist`, `Client/macos/fr.lproj/Localizable.strings`, `README.md` (section build) +- Delete: la liste « Supprimés en tâche 1 » ci-dessus + +**Interfaces:** +- Consumes : `HeadphonesModel` actuel (`@Published connected/connecting/mode/deviceName/batteryLevel`, + `connect()`, `disconnect()`, `setMode(_:)`), `SHCAmbientMode` (`.off/.noiseCanceling/.ambientSound`). +- Produces : + - `func tr(_ key: String) -> String` + - `final class ActionMenuItem: NSMenuItem { init(_ title: String, key: String = "", handler: @escaping () -> Void) }` + - `func sectionHeader(_ title: String) -> NSMenuItem` + - `final class StatusItemController { init(model: HeadphonesModel) }` + - `final class HeadphonesMenu { let menu: NSMenu; init(model: HeadphonesModel) }` + - commandes `make`, `make run [DEBUG=1]`, `make release`, `make clean` ; app dans `build/SonyBridge.app` + +- [ ] **Step 1 : Copier l'icône dans un `.iconset`, puis supprimer les anciens fichiers** + +```bash +S=Client/macos/Assets.xcassets/AppIcon.appiconset; D=Client/macos/Resources/AppIcon.iconset +mkdir -p "$D" +for s in 16 32 128 256 512; do + cp "$S/icon_$s.png" "$D/icon_${s}x${s}.png" + cp "$S/icon_$((s*2)).png" "$D/icon_${s}x${s}@2x.png" +done +ls "$D" | wc -l # attendu : 10 +git rm -r -q Client/macos/main.mm Client/macos/AppDelegate.h Client/macos/AppDelegate.mm \ + Client/macos/ViewController.h Client/macos/ViewController.mm Client/macos/Main.storyboard \ + Client/macos/ContentView.swift Client/macos/exportOptions.plist \ + Client/macos/SonyHeadphonesClient.xcodeproj Client/macos/Assets.xcassets .github/workflows/xcodebuild.yml +``` + +- [ ] **Step 2 : Écrire `scripts/build.sh`** (puis `chmod +x scripts/build.sh`) + +`/bin/bash` sur macOS est la version 3.2 : pas de tableau vide avec `set -u`, d'où les options passées en chaînes. + +```bash +#!/bin/bash +# Builds build/SonyBridge.app with the Command Line Tools only (no Xcode needed). +# CONFIG=debug|release (default: debug) +# ARCHS="arm64 x86_64" (default: this Mac's architecture; several = universal binary via lipo) +# DEBUG_PROTOCOL=1 (hex-dumps every frame exchanged with the headphones to stderr) +set -euo pipefail +shopt -s nullglob + +ROOT=$(cd "$(dirname "$0")/.." && pwd) +CORE=$ROOT/Client +MAC=$CORE/macos +OUT=$ROOT/build +APP=$OUT/SonyBridge.app +SDK=$(xcrun --show-sdk-path) +CONFIG=${CONFIG:-debug} +ARCHS=${ARCHS:-$(uname -m)} +MIN_MACOS=13.0 + +if [ "$CONFIG" = release ]; then SWIFT_OPT="-O"; CXX_OPT="-O2"; else SWIFT_OPT="-Onone -g"; CXX_OPT="-O0 -g"; fi +SWIFT_DEFINES=""; CXX_DEFINES="" +if [ "${DEBUG_PROTOCOL:-0}" = 1 ]; then SWIFT_DEFINES="-D DEBUG_PROTOCOL"; CXX_DEFINES="-DSHC_DEBUG_PROTOCOL"; fi + +SWIFT_SOURCES=("$MAC"/*.swift "$MAC"/MenuRows/*.swift) +CXX_SOURCES=("$CORE"/*.cpp) +OBJCXX_SOURCES=("$MAC"/*.mm) + +rm -rf "$APP" +mkdir -p "$APP/Contents/MacOS" "$APP/Contents/Resources" +BINARIES="" + +for ARCH in $ARCHS; do + OBJ=$OUT/obj/$CONFIG-$ARCH + rm -rf "$OBJ"; mkdir -p "$OBJ" + TARGET=$ARCH-apple-macos$MIN_MACOS + CXXFLAGS="-target $TARGET -isysroot $SDK -std=c++17 $CXX_OPT $CXX_DEFINES -I $CORE -I $MAC" + + echo "== [$ARCH] Swift" + swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 $SWIFT_OPT $SWIFT_DEFINES -wmo -parse-as-library \ + -module-name SonyBridge \ + -import-objc-header "$MAC/SonyHeadphonesClient-Bridging-Header.h" -I "$MAC" -I "$CORE" \ + -c "${SWIFT_SOURCES[@]}" -o "$OBJ/swift.o" + + echo "== [$ARCH] C++" + for f in "${CXX_SOURCES[@]}"; do clang++ $CXXFLAGS -c "$f" -o "$OBJ/$(basename "$f" .cpp).o"; done + + echo "== [$ARCH] Obj-C++" + for f in "${OBJCXX_SOURCES[@]}"; do + clang++ $CXXFLAGS -fobjc-arc -fmodules -fcxx-modules -c "$f" -o "$OBJ/$(basename "$f" .mm).o" + done + + echo "== [$ARCH] Link" + swiftc -target "$TARGET" -sdk "$SDK" "$OBJ"/*.o -o "$OBJ/SonyBridge" -lc++ \ + -framework AppKit -framework SwiftUI -framework Combine -framework IOBluetooth \ + -framework IOBluetoothUI -framework ServiceManagement + BINARIES="$BINARIES $OBJ/SonyBridge" +done + +lipo -create $BINARIES -output "$APP/Contents/MacOS/SonyBridge" + +echo "== Resources" +cp "$MAC/info.plist" "$APP/Contents/Info.plist" +cp -R "$MAC"/*.lproj "$APP/Contents/Resources/" +iconutil -c icns "$MAC/Resources/AppIcon.iconset" -o "$APP/Contents/Resources/AppIcon.icns" + +echo "== Sign (ad-hoc)" +codesign --force --sign - --entitlements "$MAC/SonyHeadphonesClient.entitlements" "$APP" +echo "OK -> $APP" +``` + +- [ ] **Step 3 : Écrire le `Makefile`** + +```make +# SonyBridge — build without Xcode. See scripts/build.sh for the knobs. +DEBUG ?= 0 + +.PHONY: all build run release clean + +all: build + +build: + DEBUG_PROTOCOL=$(DEBUG) ./scripts/build.sh + +run: build + -pkill -x SonyBridge + open --stdout build/app.log --stderr build/app.log build/SonyBridge.app + +release: + CONFIG=release ARCHS="arm64 x86_64" ./scripts/build.sh + cd build && rm -f SonyBridge.zip && ditto -c -k --keepParent SonyBridge.app SonyBridge.zip + +clean: + rm -rf build +``` + +- [ ] **Step 4 : Écrire `.github/workflows/build.yml`** (la tâche 2 y ajoutera `make test`) + +```yaml +name: macOS + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - name: Build (release, universal) + run: make release + - uses: actions/upload-artifact@v4 + with: + name: SonyBridge-macOS + path: build/SonyBridge.zip +``` + +- [ ] **Step 5 : Réécrire `Client/macos/info.plist`** + +```xml + + + + + CFBundleDevelopmentRegion + en + CFBundleLocalizations + + en + fr + + CFBundleExecutable + SonyBridge + CFBundleIdentifier + com.semvis123.SonyHeadphonesClient + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + SonyBridge + CFBundleDisplayName + SonyBridge + CFBundlePackageType + APPL + CFBundleShortVersionString + 0.5.0 + CFBundleVersion + 1 + CFBundleIconFile + AppIcon + LSApplicationCategoryType + public.app-category.utilities + LSMinimumSystemVersion + 13.0 + LSUIElement + + NSHighResolutionCapable + + NSBluetoothAlwaysUsageDescription + This app uses Bluetooth in order to connect to your headphones. + NSPrincipalClass + NSApplication + + +``` + +Run : `plutil -lint Client/macos/info.plist` → `OK`. + +- [ ] **Step 6 : Écrire les fichiers Swift de base** + +`Client/macos/SonyBridgeApp.swift` : + +```swift +import AppKit + +// Entry point: a menu bar-only app (LSUIElement), no window and no Dock icon. +@main +enum SonyBridgeApp { + static func main() { + let app = NSApplication.shared + let delegate = AppDelegate() + app.delegate = delegate + app.setActivationPolicy(.accessory) + withExtendedLifetime(delegate) { app.run() } + } +} +``` + +`Client/macos/AppDelegate.swift` : + +```swift +import AppKit + +final class AppDelegate: NSObject, NSApplicationDelegate { + private let model = HeadphonesModel() + private var statusItemController: StatusItemController? + + func applicationDidFinishLaunching(_ notification: Notification) { + statusItemController = StatusItemController(model: model) + } + + func applicationWillTerminate(_ notification: Notification) { + model.disconnect() + } +} +``` + +`Client/macos/Localization.swift` : + +```swift +import Foundation + +// Looks up a UI string in Localizable.strings. Every user-facing string goes through this (checked by make test). +func tr(_ key: String) -> String { + NSLocalizedString(key, comment: "") +} +``` + +`Client/macos/MenuSupport.swift` : + +```swift +import AppKit + +// A menu item that runs a closure (NSMenuItem only supports target/selector natively). +final class ActionMenuItem: NSMenuItem { + private let handler: () -> Void + + init(_ title: String, key: String = "", handler: @escaping () -> Void) { + self.handler = handler + super.init(title: title, action: #selector(fire), keyEquivalent: key) + target = self + } + + required init(coder: NSCoder) { + fatalError("init(coder:) is not supported") + } + + @objc private func fire() { + handler() + } +} + +// A small grey, non-clickable title above a group of items (like "Contrôle du son ambiant"). +func sectionHeader(_ title: String) -> NSMenuItem { + let item = NSMenuItem() + item.attributedTitle = NSAttributedString(string: title, attributes: [ + .font: NSFont.systemFont(ofSize: NSFont.smallSystemFontSize, weight: .semibold), + .foregroundColor: NSColor.secondaryLabelColor, + ]) + item.isEnabled = false + return item +} +``` + +`Client/macos/StatusItemController.swift` (icône provisoire ; la tâche 6 ajoute `StatusIcon`) : + +```swift +import AppKit +import Combine + +// Owns the menu bar icon and attaches the headphones menu to it. +final class StatusItemController { + private let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength) + private let headphonesMenu: HeadphonesMenu + private var cancellables = Set() + + init(model: HeadphonesModel) { + headphonesMenu = HeadphonesMenu(model: model) + statusItem.menu = headphonesMenu.menu + let image = NSImage(systemSymbolName: "headphones", accessibilityDescription: "SonyBridge") + image?.isTemplate = true + statusItem.button?.image = image + model.$connected + .receive(on: DispatchQueue.main) + .sink { [weak self] connected in self?.statusItem.button?.appearsDisabled = !connected } + .store(in: &cancellables) + } +} +``` + +`Client/macos/HeadphonesMenu.swift` (version minimale, remplacée entièrement en tâche 6) : + +```swift +import AppKit +import Combine + +// The status item's menu. Minimal for now: header, modes, connect/disconnect, quit. +final class HeadphonesMenu { + let menu = NSMenu() + private let model: HeadphonesModel + private var cancellables = Set() + private let headerItem = NSMenuItem() + private var modeItems: [(SHCAmbientMode, NSMenuItem)] = [] + private var connectItem: ActionMenuItem! + + init(model: HeadphonesModel) { + self.model = model + menu.autoenablesItems = false + + headerItem.isEnabled = false + menu.addItem(headerItem) + menu.addItem(.separator()) + + menu.addItem(sectionHeader(tr("Ambient Sound Control"))) + let modes: [(SHCAmbientMode, String)] = [ + (.noiseCanceling, tr("Noise Canceling")), (.ambientSound, tr("Ambient Sound")), (.off, tr("Off")), + ] + for (mode, title) in modes { + let item = ActionMenuItem(title) { [weak model] in model?.setMode(mode) } + modeItems.append((mode, item)) + menu.addItem(item) + } + menu.addItem(.separator()) + + connectItem = ActionMenuItem(tr("Connect…")) { [weak self] in self?.toggleConnection() } + menu.addItem(connectItem) + menu.addItem(.separator()) + menu.addItem(ActionMenuItem(tr("Quit SonyBridge"), key: "q") { NSApp.terminate(nil) }) + + // objectWillChange fires before the new value is stored; hopping to the main queue reads the new state. + model.objectWillChange + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.update() } + .store(in: &cancellables) + update() + } + + private func update() { + let connected = model.connected + var header = model.deviceName.isEmpty ? "SonyBridge" : model.deviceName + if connected && model.batteryLevel >= 0 { + header += " — " + String(format: tr("%ld%%"), model.batteryLevel) + } + headerItem.title = header + for (mode, item) in modeItems { + item.state = connected && model.mode == mode ? .on : .off + item.isEnabled = connected + } + connectItem.title = connected ? tr("Disconnect") : (model.connecting ? tr("Connecting…") : tr("Connect…")) + connectItem.isEnabled = !model.connecting + } + + private func toggleConnection() { + if model.connected { + model.disconnect() + } else { + NSApp.activate(ignoringOtherApps: true) // the fallback Bluetooth picker is a modal window + model.connect() + } + } +} +``` + +- [ ] **Step 7 : Remplacer `Client/macos/fr.lproj/Localizable.strings`** par les seules clés utilisées maintenant + +``` +/* SonyBridge — French UI strings. Keys are the English source strings; missing keys fall back to English. */ + +/* Menu */ +"Ambient Sound Control" = "Contrôle du son ambiant"; +"Noise Canceling" = "Réduction de bruit"; +"Ambient Sound" = "Son ambiant"; +"Off" = "Désactivé"; +"Connect…" = "Connecter…"; +"Connecting…" = "Connexion…"; +"Disconnect" = "Déconnecter"; +"Quit SonyBridge" = "Quitter SonyBridge"; +"%ld%%" = "%ld %%"; + +/* Errors (HeadphonesBridge.mm, HeadphonesModel.swift) */ +"Headphones disconnected." = "Casque déconnecté."; +"No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first." = "Aucun casque Sony connecté. Connectez d’abord votre casque dans les réglages Bluetooth de macOS."; +"Connection timed out." = "Délai de connexion dépassé."; +"Not connected." = "Non connecté."; +"Equalizer control isn't supported on this device yet." = "Le réglage de l’égaliseur n’est pas encore pris en charge sur cet appareil."; +"Not supported on this device." = "Non pris en charge sur cet appareil."; +``` + +Run : `plutil -lint Client/macos/fr.lproj/Localizable.strings` → `OK`. + +- [ ] **Step 8 : Mettre à jour la section build du `README.md`** + +Remplacer le bloc `
` « macOS (native SwiftUI app) » de « 🚀 Build from source » par : + +````markdown +
+macOS (menu bar app) + +Requires the **Xcode Command Line Tools** (`xcode-select --install`) — the full Xcode app is not needed. + +```sh +git clone https://github.com/AmitRajput-Dev/SonyBridge.git +cd SonyBridge +make run # builds build/SonyBridge.app and launches it +``` + +`make test` runs the unit tests, `make release` builds a universal (Apple Silicon + Intel) zip, and +`make run DEBUG=1` logs every frame exchanged with the headphones to `build/app.log`. +
+```` + +- [ ] **Step 9 : Compiler** + +Run : `make` +Attendu : les étapes `== [arm64] Swift`, `C++`, `Obj-C++`, `Link`, `Resources`, `Sign`, puis +`OK -> …/build/SonyBridge.app`, sans erreur. + +- [ ] **Step 10 : Lancer et vérifier avec l'utilisateur** + +Run : `make run DEBUG=1 && pgrep -x SonyBridge` +Attendu : un PID. Demander à l'utilisateur de vérifier : +1. Une icône de casque est dans la barre des menus, grisée, et **rien dans le Dock**. +2. Le menu s'ouvre : « SonyBridge », « Contrôle du son ambiant », les 3 modes (grisés), « Connecter… », + « Quitter SonyBridge ⌘Q », en français. +3. « Connecter… » connecte le XM6 : l'icône n'est plus grisée, et l'en-tête affiche « WH-1000XM6 — 68 % ». +4. Cliquer sur « Son ambiant » change bien le mode dans le casque. **Connu, corrigé en tâche 3** : la coche + peut revenir sur « Désactivé » au bout de 2 s (mauvaise relecture du XM6). +5. « Quitter » ferme l'app. + +- [ ] **Step 11 : Commit** (par l'utilisateur) + +```bash +git add -A && git commit -m "feat(macos): menu bar agent app built with make (drop Xcode project and window UI)" +``` + +--- + +### Task 2: Logique pure (reconnexion, anti-retour, limitation) + `make test` + +**Files:** +- Create: `Client/macos/ReconnectPolicy.swift`, `Client/macos/PollGuard.swift`, `Client/macos/SendThrottle.swift` +- Create: `Client/tests/LogicTests/main.swift`, `scripts/test.sh`, `scripts/check_localization.py` +- Modify: `Makefile` (cible `test`), `.github/workflows/build.yml` (étape `make test`) + +**Interfaces:** +- Produces : + - `struct ReconnectPolicy { static let delays: [TimeInterval]; private(set) var attempt: Int; mutating func nextDelay() -> TimeInterval; mutating func reset() }` + - `struct PollGuard { init(window: TimeInterval = 3); mutating func userChanged(_ key: Key, at date: Date = Date()); func shouldAcceptPoll(for key: Key, at date: Date = Date()) -> Bool }` + - `struct SendThrottle { init(interval: TimeInterval = 0.15); mutating func shouldSend(at date: Date = Date(), final: Bool) -> Bool }` + - `make test` : lance `LogicTests` puis `check_localization.py` (la tâche 3 ajoute les tests C++) + +- [ ] **Step 1 : Écrire les tests** `Client/tests/LogicTests/main.swift` + +```swift +import Foundation + +// Minimal test runner (XCTest isn't available without Xcode). Exit code 1 on any failure. +var failures = 0 +func check(_ condition: Bool, _ message: String, line: Int = #line) { + if !condition { + failures += 1 + print("FAIL line \(line): \(message)") + } +} + +// ReconnectPolicy: 3 s, 10 s, 30 s, then every 60 s; reset restarts. +do { + var policy = ReconnectPolicy() + let delays = (0..<6).map { _ in policy.nextDelay() } + check(delays == [3, 10, 30, 60, 60, 60], "reconnect schedule was \(delays)") + policy.reset() + check(policy.nextDelay() == 3, "reset restarts the schedule") +} + +// PollGuard: a poll is ignored for 3 s after the user changed that setting. +do { + var pollGuard = PollGuard(window: 3) + let t0 = Date(timeIntervalSince1970: 1_000) + check(pollGuard.shouldAcceptPoll(for: "ambient", at: t0), "no user change: accept") + pollGuard.userChanged("ambient", at: t0) + check(!pollGuard.shouldAcceptPoll(for: "ambient", at: t0.addingTimeInterval(2.9)), "inside the window: reject") + check(pollGuard.shouldAcceptPoll(for: "ambient", at: t0.addingTimeInterval(3)), "after the window: accept") + check(pollGuard.shouldAcceptPoll(for: "eq", at: t0.addingTimeInterval(1)), "other keys are unaffected") +} + +// SendThrottle: at most one send per 150 ms while dragging; the final value always goes out. +do { + var throttle = SendThrottle(interval: 0.15) + let t0 = Date(timeIntervalSince1970: 1_000) + check(throttle.shouldSend(at: t0, final: false), "first drag event sends") + check(!throttle.shouldSend(at: t0.addingTimeInterval(0.10), final: false), "too soon: skip") + check(throttle.shouldSend(at: t0.addingTimeInterval(0.16), final: false), "after the interval: send") + check(throttle.shouldSend(at: t0.addingTimeInterval(0.17), final: true), "final value always sends") +} + +if failures > 0 { + print("LogicTests: \(failures) failure(s)") + exit(1) +} +print("LogicTests: all passed") +``` + +- [ ] **Step 2 : Écrire `scripts/test.sh`** (puis `chmod +x scripts/test.sh`) + +```bash +#!/bin/bash +# Builds and runs the unit test executables (plain asserts, no XCTest), then checks the translations. +set -euo pipefail + +ROOT=$(cd "$(dirname "$0")/.." && pwd) +MAC=$ROOT/Client/macos +OUT=$ROOT/build/tests +SDK=$(xcrun --show-sdk-path) +TARGET=$(uname -m)-apple-macos13.0 +mkdir -p "$OUT" + +echo "== LogicTests" +swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 \ + "$ROOT/Client/tests/LogicTests/main.swift" \ + "$MAC/ReconnectPolicy.swift" "$MAC/PollGuard.swift" "$MAC/SendThrottle.swift" \ + -o "$OUT/LogicTests" +"$OUT/LogicTests" + +echo "== Localization" +python3 "$ROOT/scripts/check_localization.py" +``` + +- [ ] **Step 3 : Ajouter la cible `test` au `Makefile`** + +Remplacer la ligne `.PHONY` et ajouter la cible : + +```make +.PHONY: all build run test release clean + +test: + ./scripts/test.sh +``` + +- [ ] **Step 4 : Lancer les tests pour les voir échouer** + +Run : `make test` +Attendu : échec de compilation, `cannot find 'ReconnectPolicy' in scope` (et `PollGuard`, `SendThrottle`). + +- [ ] **Step 5 : Écrire les trois fichiers de logique** + +`Client/macos/ReconnectPolicy.swift` : + +```swift +import Foundation + +// Delays between automatic reconnection attempts: 3 s, 10 s, 30 s, then every 60 s. +struct ReconnectPolicy { + static let delays: [TimeInterval] = [3, 10, 30, 60] + private(set) var attempt = 0 + + // Delay before the next attempt; each call advances the schedule. + mutating func nextDelay() -> TimeInterval { + let delay = Self.delays[min(attempt, Self.delays.count - 1)] + attempt += 1 + return delay + } + + mutating func reset() { + attempt = 0 + } +} +``` + +`Client/macos/PollGuard.swift` : + +```swift +import Foundation + +// Ignores a polled value for a setting the user changed less than `window` seconds ago, so a read-back that +// raced the user's command doesn't briefly flip the menu back to the old state. +struct PollGuard { + let window: TimeInterval + private var lastUserChange: [Key: Date] = [:] + + init(window: TimeInterval = 3) { + self.window = window + } + + mutating func userChanged(_ key: Key, at date: Date = Date()) { + lastUserChange[key] = date + } + + func shouldAcceptPoll(for key: Key, at date: Date = Date()) -> Bool { + guard let changed = lastUserChange[key] else { return true } + return date.timeIntervalSince(changed) >= window + } +} +``` + +`Client/macos/SendThrottle.swift` : + +```swift +import Foundation + +// Rate-limits slider commands: at most one every `interval` while dragging; the final value always goes out. +struct SendThrottle { + let interval: TimeInterval + private var lastSend: Date? + + init(interval: TimeInterval = 0.15) { + self.interval = interval + } + + mutating func shouldSend(at date: Date = Date(), final: Bool) -> Bool { + if !final, let last = lastSend, date.timeIntervalSince(last) < interval { + return false + } + lastSend = date + return true + } +} +``` + +- [ ] **Step 6 : Écrire `scripts/check_localization.py`** + +```python +#!/usr/bin/env python3 +"""Every tr("…") / NSLocalizedString("…") key must have a French translation, and every French key must be used.""" +import json +import pathlib +import re +import subprocess +import sys + +ROOT = pathlib.Path(__file__).resolve().parent.parent +MAC = ROOT / "Client" / "macos" +STRINGS = MAC / "fr.lproj" / "Localizable.strings" +LITERAL = r'"((?:[^"\\]|\\.)*)"' +PATTERNS = [re.compile(r"\btr\(" + LITERAL + r"\)"), re.compile(r"NSLocalizedString\(@?" + LITERAL)] + +french = set(json.loads(subprocess.check_output(["plutil", "-convert", "json", "-o", "-", str(STRINGS)]))) +used = set() +for path in sorted(MAC.rglob("*.swift")) + sorted(MAC.rglob("*.mm")): + text = path.read_text(encoding="utf-8") + for pattern in PATTERNS: + used.update(key.replace("\\n", "\n") for key in pattern.findall(text)) + +missing = sorted(used - french) +unused = sorted(french - used) +for key in missing: + print(f"missing French translation: {key!r}") +for key in unused: + print(f"unused French key: {key!r}") +if missing or unused: + sys.exit(1) +print(f"Localization: {len(used)} keys, all translated") +``` + +- [ ] **Step 7 : Relancer les tests** + +Run : `make test` +Attendu : `LogicTests: all passed` puis `Localization: 15 keys, all translated` (les 15 clés de la tâche 1). +Si la vérif. des traductions échoue, corriger `Localizable.strings` : la tâche 1 doit être propre. + +- [ ] **Step 8 : Ajouter les tests à la CI** + +Dans `.github/workflows/build.yml`, avant l'étape « Build (release, universal) » : + +```yaml + - name: Test + run: make test +``` + +- [ ] **Step 9 : Commit** (par l'utilisateur) + +```bash +git add -A && git commit -m "test: reconnect/poll-guard/throttle logic, localization check, make test" +``` + +--- + +### Task 3: Décodage des trames + corrections XM6 (canal `0x19`, égaliseur 10 bandes en lecture) + +**Files:** +- Create: `Client/ProtocolParsers.h`, `Client/ProtocolParsers.cpp`, `Client/tests/ProtocolParsersTests.cpp` +- Modify: `Client/Headphones.h`, `Client/Headphones.cpp` (`requestAmbientState`, `requestEqualizer`, + `setEqualizerCustom`, nouvelles méthodes), `Client/macos/HeadphonesBridge.h/.mm`, `scripts/test.sh` + +**Interfaces:** +- Produces (C++) : + - `namespace ProtocolParsers { struct NcAsmState { bool enabled; bool ambient; bool focusOnVoice; int level; }; std::optional parseNcAsmState(const Buffer&); struct EqualizerState { unsigned char preset; bool hasClearBass; int clearBass; std::vector bands; }; std::optional parseEqualizer(const Buffer&); }` + - `Headphones::probeNcAsmInquiryType()`, `int Headphones::getEqualizerBandCount()`, `bool Headphones::equalizerHasClearBass()` +- Produces (Obj-C, visible en Swift) : `equalizerBandCount: Int`, `equalizerHasClearBass: Bool`, + `equalizerWritable: Bool` sur `HeadphonesBridge`. + +- [ ] **Step 1 : Écrire les tests** `Client/tests/ProtocolParsersTests.cpp` (trames réelles du XM6, spec §7) + +```cpp +#include "ProtocolParsers.h" +#include "CommandSerializer.h" +#include +#include + +// Minimal test runner (no framework). Exit code 1 on any failure. +static int failures = 0; +#define CHECK(cond) do { if (!(cond)) { failures++; std::printf("FAIL %s:%d: %s\n", __FILE__, __LINE__, #cond); } } while (0) + +static Buffer bytes(std::initializer_list values) +{ + Buffer b; + for (int v : values) b.push_back((char)v); + return b; +} + +int main() +{ + using namespace ProtocolParsers; + + // --- NC/ASM state --- + // WH-1000XM6 answer to the legacy 0x17 inquiry: all zeros = "not this channel". + CHECK(!parseNcAsmState(bytes({ 0x67, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00 })).has_value()); + // WH-1000XM6 notify on 0x19: Ambient Sound on, level 10, no voice focus. + { + auto s = parseNcAsmState(bytes({ 0x69, 0x19, 0x01, 0x01, 0x01, 0x00, 0x0a, 0x00, 0x00 })); + CHECK(s && s->enabled && s->ambient && !s->focusOnVoice && s->level == 10); + } + // WH-1000XM6 reply on 0x19: Noise Cancelling (ambient byte = 0). + { + auto s = parseNcAsmState(bytes({ 0x67, 0x19, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00 })); + CHECK(s && s->enabled && !s->ambient); + } + // Legacy 0x17 layout (WH-CH720N): effect off. + { + auto s = parseNcAsmState(bytes({ 0x67, 0x17, 0x01, 0x00, 0x00, 0x00, 0x01 })); + CHECK(s && !s->enabled); + } + CHECK(!parseNcAsmState(bytes({ 0x67, 0x17, 0x01 })).has_value()); // too short + CHECK(!parseNcAsmState(bytes({ 0x57, 0x17, 0x01, 0x01, 0x01, 0x00, 0x0a })).has_value()); // wrong opcode + + // --- Equalizer --- + // WH-1000XM6: unknown preset 0x30, 10 bands (offset +10 hypothesis, spec §7). + { + auto e = parseEqualizer(bytes({ 0x57, 0x00, 0x30, 0x0a, 0x0a, 0x0a, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 })); + CHECK(e && e->preset == 0x30 && !e->hasClearBass && e->bands.size() == 10); + CHECK(e && e->bands[0] == 0 && e->bands[2] == -5 && e->bands[9] == -4); + } + // 5 bands + Clear Bass (WH-CH720N): Manual, bass +3, bands -2..+2. + { + auto e = parseEqualizer(bytes({ 0x57, 0x00, 0xa0, 0x06, 13, 8, 9, 10, 11, 12 })); + CHECK(e && e->preset == 0xa0 && e->hasClearBass && e->clearBass == 3); + CHECK(e && e->bands == std::vector({ -2, -1, 0, 1, 2 })); + } + // Preset only, no band data. + { + auto e = parseEqualizer(bytes({ 0x57, 0x00, 0x16 })); + CHECK(e && e->preset == 0x16 && e->bands.empty()); + } + CHECK(!parseEqualizer(bytes({ 0x23, 0x00, 0x44, 0x00 })).has_value()); // battery reply + + // --- Framing --- + // Round trip, with a payload byte (0x3c = END_MARKER) that must be escaped. + { + Buffer payload = bytes({ 0x68, 0x17, 0x01, 0x01, 0x01, 0x00, 0x3c }); + auto frame = CommandSerializer::packageDataForBt(payload, DATA_TYPE::DATA_MDR, 1); + CHECK(frame.front() == START_MARKER && frame.back() == END_MARKER); + auto msg = CommandSerializer::unpackBtMessage(Buffer(frame.begin() + 1, frame.end() - 1)); + CHECK(msg.dataType == DATA_TYPE::DATA_MDR && msg.seqNumber == 1 && msg.payload == payload); + } + // Real WH-1000XM6 battery frame (68 %), between the 3e/3c markers. + { + auto msg = CommandSerializer::unpackBtMessage(bytes({ 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x23, 0x00, 0x44, 0x00, 0x77 })); + CHECK(msg.payload == bytes({ 0x23, 0x00, 0x44, 0x00 })); + } + + if (failures) { std::printf("ProtocolParsersTests: %d failure(s)\n", failures); return 1; } + std::printf("ProtocolParsersTests: all passed\n"); + return 0; +} +``` + +- [ ] **Step 2 : Brancher le test dans `scripts/test.sh`**, juste avant `echo "== Localization"` : + +```bash +echo "== ProtocolParsersTests" +clang++ -target "$TARGET" -isysroot "$SDK" -std=c++17 -I "$ROOT/Client" \ + "$ROOT/Client/tests/ProtocolParsersTests.cpp" "$ROOT/Client/ProtocolParsers.cpp" \ + "$ROOT/Client/CommandSerializer.cpp" "$ROOT/Client/ByteMagic.cpp" \ + -o "$OUT/ProtocolParsersTests" +"$OUT/ProtocolParsersTests" +``` + +- [ ] **Step 3 : Voir le test échouer** + +Run : `make test` +Attendu : échec, `'ProtocolParsers.h' file not found`. + +- [ ] **Step 4 : Écrire `Client/ProtocolParsers.h`** + +```cpp +#pragma once + +#include +#include +#include "Constants.h" + +// Pure decoders for v2 inquiry replies. `payload` is the frame's field, starting with the reply opcode. +namespace ProtocolParsers +{ + struct NcAsmState + { + bool enabled; // NC/ASM effect on + bool ambient; // true = Ambient Sound, false = Noise Cancelling + bool focusOnVoice; + int level; // ambient level (meaningful when ambient) + }; + + // Accepts "67|69 17 01 " and the WH-1000XM6 "67|69 19 01 + // ". Returns nullopt when too short, for other opcodes, and for the all-zero body the XM6 sends + // back on the channel it doesn't use (67 17 00 00 00 00 00). + std::optional parseNcAsmState(const Buffer& payload); + + struct EqualizerState + { + unsigned char preset; // raw preset id (EQ_PRESET values, or ids we don't know yet like 0x30) + bool hasClearBass; // 5-band layout only + int clearBass; // -10..10 when hasClearBass + std::vector bands; // 5 or 10 values in -10..10; empty when the reply carried no band data + }; + + // "57 00 06 " (5 bands + Clear Bass) or "57 00 0a ". + std::optional parseEqualizer(const Buffer& payload); +} +``` + +- [ ] **Step 5 : Écrire `Client/ProtocolParsers.cpp`** + +```cpp +#include "ProtocolParsers.h" + +#include + +namespace ProtocolParsers +{ + std::optional parseNcAsmState(const Buffer& payload) + { + if (payload.size() < 7) return std::nullopt; + auto opcode = (unsigned char)payload[0]; + auto type = (unsigned char)payload[1]; + if ((opcode != 0x67 && opcode != 0x69) || (type != 0x17 && type != 0x19)) return std::nullopt; + if (std::all_of(payload.begin() + 2, payload.end(), [](char b) { return b == 0; })) return std::nullopt; + + NcAsmState state; + state.enabled = payload[3] != 0; + state.ambient = payload[4] != 0; + state.focusOnVoice = payload[5] != 0; + state.level = (unsigned char)payload[6]; + return state; + } + + std::optional parseEqualizer(const Buffer& payload) + { + if (payload.size() < 3 || (unsigned char)payload[0] != 0x57) return std::nullopt; + + EqualizerState state{ (unsigned char)payload[2], false, 0, {} }; + if (payload.size() < 4) return state; + size_t count = (unsigned char)payload[3]; + if (payload.size() < 4 + count) return state; + + auto value = [&](size_t i) { return (int)(unsigned char)payload[4 + i] - 10; }; + if (count == 6) + { + state.hasClearBass = true; + state.clearBass = value(0); + for (size_t i = 1; i < 6; i++) state.bands.push_back(value(i)); + } + else if (count == 10) + { + for (size_t i = 0; i < 10; i++) state.bands.push_back(value(i)); + } + return state; + } +} +``` + +- [ ] **Step 6 : Relancer les tests** + +Run : `make test` +Attendu : `LogicTests: all passed`, `ProtocolParsersTests: all passed`, `Localization: 15 keys, all translated`. + +- [ ] **Step 7 : Brancher les décodeurs dans `Client/Headphones.h`** + +Sous `void requestEqualizer();` / `EQ_PRESET getEqualizerPreset();`, ajouter : + +```cpp + int getEqualizerBandCount(); // 0 until read, then 5 (+ Clear Bass) or 10 + bool equalizerHasClearBass(); +``` + +Sous `void requestAmbientState();`, ajouter : + +```cpp + // Picks the NC/ASM inquiry channel: 0x19 when the device answers it (WH-1000XM6), else the legacy 0x17. + void probeNcAsmInquiryType(); +``` + +Remplacer le membre `std::vector _eqBands = { 0, 0, 0, 0, 0 };` par : + +```cpp + std::vector _eqBands; // empty until the first read; 5 or 10 values + bool _eqHasClearBass = false; + unsigned char _ncAsmInquiryType = 0x17; // 0x19 on the WH-1000XM6, see probeNcAsmInquiryType() +``` + +- [ ] **Step 8 : Modifier `Client/Headphones.cpp`** + +Ajouter `#include "ProtocolParsers.h"` après `#include "CommandSerializer.h"`. + +Remplacer tout le corps de `Headphones::requestEqualizer()` par : + +```cpp +void Headphones::requestEqualizer() +{ + // GET: 56 00 -> RET: 57 00 (decoded by ProtocolParsers::parseEqualizer) + auto resp = this->_conn.sendCommandAndReadResponse({ (char)V2Command::EQ_GET, 0x00 }, V2Command::EQ_RET); + if (auto eq = ProtocolParsers::parseEqualizer(resp)) + { + std::lock_guard guard(this->_propertyMtx); + this->_eqPreset = static_cast(eq->preset); + if (!eq->bands.empty()) + { + this->_eqBands = eq->bands; + this->_eqHasClearBass = eq->hasClearBass; + this->_eqClearBass = eq->clearBass; + } + } +} + +int Headphones::getEqualizerBandCount() { return (int)this->_eqBands.size(); } +bool Headphones::equalizerHasClearBass() { return this->_eqHasClearBass; } +``` + +Dans `Headphones::setEqualizerCustom`, remplacer la boucle finale qui écrit `this->_eqBands[i]` par : + +```cpp + this->_eqBands.assign(bands.begin(), bands.end()); +``` + +Dans `Headphones::requestAmbientState()`, remplacer le bloc `if (protocolVersion == SonyProtocolVersion::V2) { … }` par : + +```cpp + if (protocolVersion == SonyProtocolVersion::V2) + { + // GET: 66 -> RET: 67 01 <0=NC/1=Ambient> [2 more bytes on 0x19] + auto resp = this->_conn.sendCommandAndReadResponse({ 0x66, (char)this->_ncAsmInquiryType }, 0x67, this->_ncAsmInquiryType); + if (auto state = ProtocolParsers::parseNcAsmState(resp)) + { + std::lock_guard guard(this->_propertyMtx); + // Update both current and desired so the UI reflects reality and isChanged() stays false. + this->_ambientSoundControl.current = this->_ambientSoundControl.desired = state->enabled; + this->_asmLevel.current = this->_asmLevel.desired = state->ambient ? state->level : 0; + this->_focusOnVoice.current = this->_focusOnVoice.desired = state->focusOnVoice; + } + } +``` + +Ajouter après `requestAmbientState()` : + +```cpp +void Headphones::probeNcAsmInquiryType() +{ + // The WH-1000XM6 answers the legacy 0x17 inquiry with all zeros and reports its real state on 0x19. + // Setting the mode still goes through 68 17, which the XM6 accepts. + try + { + auto resp = this->_conn.sendCommandAndReadResponse({ 0x66, 0x19 }, 0x67, 0x19); + if (ProtocolParsers::parseNcAsmState(resp)) this->_ncAsmInquiryType = 0x19; + } + catch (...) {} +} +``` + +- [ ] **Step 9 : Exposer l'égaliseur dans `Client/macos/HeadphonesBridge.h`** + +Sous `@property (nonatomic, readonly) BOOL supportsEqualizer;`, ajouter : + +```objc +@property (nonatomic, readonly) NSInteger equalizerBandCount; // 0 until read, then 5 or 10 +@property (nonatomic, readonly) BOOL equalizerHasClearBass; // 5-band layout +// NO while this device's equalizer write format is unverified (the WH-1000XM6's 10-band layout, spec §7). +@property (nonatomic, readonly) BOOL equalizerWritable; +``` + +- [ ] **Step 10 : Modifier `Client/macos/HeadphonesBridge.mm`** + +Après `- (NSInteger)clearBass { … }`, ajouter : + +```objc +- (NSInteger)equalizerBandCount { return _hp ? _hp->getEqualizerBandCount() : 0; } +- (BOOL)equalizerHasClearBass { return _hp && _hp->equalizerHasClearBass(); } +// Only the 5-band + Clear Bass layout (WH-CH720N family) has a verified write format. +- (BOOL)equalizerWritable { return self.supportsEqualizer && _hp && _hp->equalizerHasClearBass(); } +``` + +Dans `refreshStatusWithCompletion:`, remplacer : + +```objc + if (!self->_initialized) { + hp->initDevice(); + self->_initialized = YES; + } +``` + +par : + +```objc + if (!self->_initialized) { + hp->initDevice(); + hp->probeNcAsmInquiryType(); + self->_initialized = YES; + } +``` + +Dans `setEqualizerPreset:completion:`, remplacer la condition +`if (_bt->getProtocolVersion() != SonyProtocolVersion::V2) {` par `if (!self.equalizerWritable) {`. +Dans `setCustomEqualizerBass:bands:completion:`, remplacer +`if (!_hp || !self.connected || _bt->getProtocolVersion() != SonyProtocolVersion::V2) {` par +`if (!_hp || !self.connected || !self.equalizerWritable) {`. + +- [ ] **Step 11 : Compiler et tester** + +Run : `make test && make` +Attendu : les trois lignes « all passed / all translated », puis `OK -> …/build/SonyBridge.app`. + +- [ ] **Step 12 : Vérifier sur le XM6 avec l'utilisateur** + +Run : `make run DEBUG=1`, demander à l'utilisateur de cliquer sur « Connecter… », puis +`grep -E '\[send\].* 66 19|\[recv\].* 67 19' build/app.log | head -4` +Attendu : une demande `66 19` et une réponse `67 19 …` non nulle. +Demander ensuite à l'utilisateur : +1. Choisir « Son ambiant » dans le menu : la coche **reste** sur « Son ambiant » (plus de retour sur + « Désactivé »). +2. Appuyer sur le bouton NC du casque : en 2 s environ, la coche suit le mode du casque (menu fermé puis + rouvert ; les mises à jour menu ouvert viennent en tâche 4). + +- [ ] **Step 13 : Commit** (par l'utilisateur) + +```bash +git add -A && git commit -m "fix(xm6): read NC/ASM state on channel 0x19, decode 10-band equalizer (read-only)" +``` + +--- + +### Task 4: Nouveau `HeadphonesModel` (état, minuteurs menu ouvert, anti-retour, limitation, batterie) + +Réécrit le modèle pour le menu : un état de connexion unique, les propriétés en lecture seule, les minuteurs +en mode `.common`, `PollGuard` et `SendThrottle`, la relecture de la batterie toutes les 60 s, et les erreurs +affichées seulement pour les actions de l'utilisateur. + +**Files:** +- Modify (réécriture complète) : `Client/macos/HeadphonesModel.swift` +- Modify : `Client/macos/HeadphonesBridge.h/.mm` (`refreshBatteryWithCompletion:`), + `Client/macos/StatusItemController.swift`, `Client/macos/HeadphonesMenu.swift`, + `Client/macos/fr.lproj/Localizable.strings` + +**Interfaces:** +- Consumes : `PollGuard`, `SendThrottle` (tâche 2) ; `equalizerBandCount`, `equalizerHasClearBass`, + `equalizerWritable` (tâche 3). +- Produces (utilisé par les tâches 5 à 8) : + - `enum ConnectionState { case disconnected, connecting, connected }` + - `HeadphonesModel` : `connectionState`, `connected` (calculé), `deviceName`, `deviceMac`, `protocolVersion`, + `firmware`, `codec`, `maxAmbientLevel`, `mode`, `ambientLevel`, `focusOnVoice`, `batteryLevel`, + `batteryCharging`, `hasDualBattery`, `batteryLeft`, `batteryRight`, `batteryCase`, `supportsEqualizer`, + `equalizerWritable`, `eqPreset: Int`, `eqBands: [Int]`, `eqHasClearBass`, `clearBass`, `dsee`, + `hasAutoPowerOff`, `autoPowerOff`, `hasSpeakToChat`, `speakToChat`, `hasAdaptiveVolume`, `adaptiveVolume`, + `errorMessage: String?` (tous `@Published private(set)`) + - Actions : `connect()`, `disconnect()`, `setMode(_:)`, `setLevel(_:final:)`, `setFocusOnVoice(_:)`, + `setEqualizerPreset(_:)`, `setEqualizerBand(_:value:final:)`, `setClearBass(_:final:)`, `resetEqualizer()`, + `setDsee(_:)`, `setAutoPowerOff(_:)`, `setSpeakToChat(_:)`, `setAdaptiveVolume(_:)`, `showError(_:)` + - Point d'extension pour la tâche 7 : `handleConnectResult(ok:error:userInitiated:)` et `linkLost()` + +- [ ] **Step 1 : Ajouter la relecture de la batterie au pont** + +`Client/macos/HeadphonesBridge.h`, sous `refreshDynamicWithCompletion:` : + +```objc +// Re-reads the battery level (v2 devices only). Completion on the main thread. +- (void)refreshBatteryWithCompletion:(void (^)(void))completion; +``` + +`Client/macos/HeadphonesBridge.mm`, après `refreshDynamicWithCompletion:` : + +```objc +- (void)refreshBatteryWithCompletion:(void (^)(void))completion { + // CRITICAL: 0x22 is BATTERY_LEVEL_REQUEST on v2 but POWER_OFF on v1 - never send it to a v1 device. + if (!_hp || !self.connected || _bt->getProtocolVersion() != SonyProtocolVersion::V2) { completion(); return; } + Headphones *hp = _hp.get(); + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + try { hp->requestBattery(); } catch (std::exception &exc) {} + dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); + }); +} +``` + +- [ ] **Step 2 : Réécrire `Client/macos/HeadphonesModel.swift`** + +```swift +import Foundation +import Combine + +enum ConnectionState { + case disconnected, connecting, connected +} + +// Observable state of the headphones and the actions the menu triggers. Wraps the Obj-C++ HeadphonesBridge. +final class HeadphonesModel: ObservableObject { + private enum PolledSetting { case ambient } + + private let bridge = HeadphonesBridge() + + @Published private(set) var connectionState: ConnectionState = .disconnected + var connected: Bool { connectionState == .connected } + + // Kept after a disconnect so the header still names the last headset. + @Published private(set) var deviceName = "" + @Published private(set) var deviceMac = "" + @Published private(set) var protocolVersion = "" + @Published private(set) var firmware = "" + @Published private(set) var codec = "" + @Published private(set) var maxAmbientLevel = 20 + + @Published private(set) var mode: SHCAmbientMode = .off + @Published private(set) var ambientLevel = 10 + @Published private(set) var focusOnVoice = false + + @Published private(set) var batteryLevel = -1 + @Published private(set) var batteryCharging = false + @Published private(set) var hasDualBattery = false + @Published private(set) var batteryLeft = -1 + @Published private(set) var batteryRight = -1 + @Published private(set) var batteryCase = -1 + + @Published private(set) var supportsEqualizer = false + @Published private(set) var equalizerWritable = false + @Published private(set) var eqPreset = 0 + @Published private(set) var eqBands: [Int] = [] + @Published private(set) var eqHasClearBass = false + @Published private(set) var clearBass = 0 + @Published private(set) var dsee = false + + @Published private(set) var hasAutoPowerOff = false + @Published private(set) var autoPowerOff = 0 + @Published private(set) var hasSpeakToChat = false + @Published private(set) var speakToChat = false + @Published private(set) var hasAdaptiveVolume = false + @Published private(set) var adaptiveVolume = false + + // Last error from a user action; cleared by the next successful one. + @Published private(set) var errorMessage: String? + + private var timers: [Timer] = [] + private var pollGuard = PollGuard() + private var levelThrottle = SendThrottle() + private var eqThrottle = SendThrottle() + + // MARK: - Connection + + // User-initiated: uses the already-connected Sony headset, else the macOS Bluetooth picker. + func connect() { + connectionState = .connecting + errorMessage = nil + // Defer so the menu can show "Connecting…" before a modal picker blocks the main thread. + DispatchQueue.main.async { + self.bridge.scanAndConnect { ok, error in + self.handleConnectResult(ok: ok, error: error, userInitiated: true) + } + } + } + + func disconnect() { + stopTimers() + bridge.disconnect() + connectionState = .disconnected + } + + func handleConnectResult(ok: Bool, error: String?, userInitiated: Bool) { + guard ok else { + connectionState = .disconnected + if userInitiated, let error = error { errorMessage = error } + return + } + connectionState = .connected + syncFromBridge() + bridge.refreshStatus { [weak self] in self?.syncFromBridge() } // called after reads, then after probes + startTimers() + } + + // The control link dropped on its own (idle power-save). Task 7 adds the automatic reconnection here. + func linkLost() { + stopTimers() + connectionState = .disconnected + } + + // MARK: - Actions + + func setMode(_ newMode: SHCAmbientMode) { + mode = newMode + pollGuard.userChanged(.ambient) + pushAmbient() + } + + func setLevel(_ level: Int, final: Bool) { + ambientLevel = level + pollGuard.userChanged(.ambient) + if mode == .ambientSound && levelThrottle.shouldSend(final: final) { pushAmbient() } + } + + func setFocusOnVoice(_ on: Bool) { + focusOnVoice = on + pollGuard.userChanged(.ambient) + pushAmbient() + } + + func setEqualizerPreset(_ preset: Int) { + eqPreset = preset + bridge.setEqualizerPreset(preset) { [weak self] ok, error in self?.finish(ok, error) } + } + + func setEqualizerBand(_ index: Int, value: Int, final: Bool) { + guard eqBands.indices.contains(index) else { return } + eqBands[index] = value + eqPreset = 0xA0 + if eqThrottle.shouldSend(final: final) { pushCustomEqualizer() } + } + + func setClearBass(_ value: Int, final: Bool) { + clearBass = value + eqPreset = 0xA0 + if eqThrottle.shouldSend(final: final) { pushCustomEqualizer() } + } + + func resetEqualizer() { + eqBands = Array(repeating: 0, count: eqBands.count) + clearBass = 0 + eqPreset = 0xA0 + pushCustomEqualizer() + } + + func setDsee(_ on: Bool) { + dsee = on + bridge.setDsee(on) { [weak self] ok, error in self?.finish(ok, error) } + } + + func setAutoPowerOff(_ index: Int) { + autoPowerOff = index + bridge.setAutoPowerOff(index) { [weak self] ok, error in self?.finish(ok, error) } + } + + func setSpeakToChat(_ on: Bool) { + speakToChat = on + bridge.setSpeakToChat(on) { [weak self] ok, error in self?.finish(ok, error) } + } + + func setAdaptiveVolume(_ on: Bool) { + adaptiveVolume = on + bridge.setAdaptiveVolume(on) { [weak self] ok, error in self?.finish(ok, error) } + } + + func showError(_ message: String) { + errorMessage = message + } + + private func pushAmbient() { + bridge.applyMode(mode, level: ambientLevel, focusVoice: focusOnVoice) { [weak self] ok, error in + self?.finish(ok, error) + } + } + + private func pushCustomEqualizer() { + bridge.setCustomEqualizerBass(clearBass, bands: eqBands.map { NSNumber(value: $0) }) { [weak self] ok, error in + self?.finish(ok, error) + } + } + + private func finish(_ ok: Bool, _ error: String?) { + errorMessage = ok ? nil : error + } + + // MARK: - Polling + + private func startTimers() { + stopTimers() + timers = [ + repeating(every: 1.5) { [weak self] in self?.checkLink() }, + repeating(every: 2) { [weak self] in self?.pollAmbient() }, + repeating(every: 60) { [weak self] in self?.pollBattery() }, + ] + } + + private func stopTimers() { + timers.forEach { $0.invalidate() } + timers = [] + } + + // Added in .common mode so they keep firing while the menu is open (menus run the event-tracking mode). + private func repeating(every interval: TimeInterval, _ block: @escaping () -> Void) -> Timer { + let timer = Timer(timeInterval: interval, repeats: true) { _ in block() } + RunLoop.main.add(timer, forMode: .common) + return timer + } + + private func checkLink() { + if connected && !bridge.connected { linkLost() } + } + + // Follows the headset's own NC button, unless the user just changed the mode from the menu. + private func pollAmbient() { + guard connected, pollGuard.shouldAcceptPoll(for: .ambient) else { return } + bridge.refreshDynamic { [weak self] in + guard let self = self, self.pollGuard.shouldAcceptPoll(for: .ambient) else { return } + self.readAmbientFromBridge() + } + } + + private func pollBattery() { + guard connected else { return } + bridge.refreshBattery { [weak self] in self?.readBatteryFromBridge() } + } + + // MARK: - Reading the bridge + + private func syncFromBridge() { + deviceName = bridge.deviceName ?? deviceName + deviceMac = bridge.deviceMac ?? deviceMac + protocolVersion = bridge.protocolVersionString ?? "" + maxAmbientLevel = bridge.maxAmbientLevel + readAmbientFromBridge() + readBatteryFromBridge() + supportsEqualizer = bridge.supportsEqualizer + equalizerWritable = bridge.equalizerWritable + eqPreset = bridge.eqPreset + eqHasClearBass = bridge.equalizerHasClearBass + clearBass = bridge.clearBass + eqBands = (0.. 0 { ambientLevel = level } + focusOnVoice = bridge.focusOnVoice + } + + private func readBatteryFromBridge() { + batteryLevel = bridge.batteryLevel + batteryCharging = bridge.batteryCharging + hasDualBattery = bridge.hasDualBattery + batteryLeft = bridge.batteryLeft + batteryRight = bridge.batteryRight + batteryCase = bridge.batteryCase + } +} +``` + +- [ ] **Step 3 : Adapter l'icône et le menu minimal au nouvel état** + +`Client/macos/StatusItemController.swift` : remplacer le bloc `model.$connected … .store(in: &cancellables)` par : + +```swift + model.$connectionState + .receive(on: DispatchQueue.main) + .sink { [weak self] state in self?.statusItem.button?.appearsDisabled = state != .connected } + .store(in: &cancellables) +``` + +`Client/macos/HeadphonesMenu.swift`, dans `update()` : remplacer +`(model.connecting ? tr("Connecting…") : tr("Connect…"))` par +`(model.connectionState == .connecting ? tr("Connecting…") : tr("Connect…"))`, et +`connectItem.isEnabled = !model.connecting` par `connectItem.isEnabled = model.connectionState != .connecting`. + +- [ ] **Step 4 : Retirer la clé devenue inutile** + +Dans `Client/macos/fr.lproj/Localizable.strings`, supprimer la ligne `"Headphones disconnected." = …;` (le +modèle n'affiche plus d'erreur quand la liaison se coupe d'elle-même). + +- [ ] **Step 5 : Tests et build** + +Run : `make test && make` +Attendu : tout passe, `Localization: 14 keys, all translated`, puis `OK -> …`. + +- [ ] **Step 6 : Vérifier avec l'utilisateur** + +Run : `make run DEBUG=1`. Demander à l'utilisateur de : +1. Se connecter, **ouvrir le menu et le laisser ouvert**, puis appuyer sur le bouton NC du casque : la coche + change pendant que le menu est ouvert (les minuteurs tournent en mode `.common`). +2. Choisir « Son ambiant » : la coche ne revient pas en arrière. +Après au moins 2 minutes connecté : `grep -c '\[send\].* 22 00' build/app.log` → au moins 2 (lecture à la +connexion + relecture toutes les 60 s). + +- [ ] **Step 7 : Commit** (par l'utilisateur) + +```bash +git add -A && git commit -m "refactor(macos): menu-oriented HeadphonesModel (connection state, common-mode timers, poll guard, battery polling)" +``` + +--- + +### Task 5: Lignes riches du menu (vues SwiftUI hébergées) + +Crée les quatre vues et les vérifie tôt dans le vrai menu : c'est le risque technique principal (spec §11). +Les curseurs de l'égaliseur sont des `NSSlider` natifs verticaux (via `NSViewRepresentable`) : les contrôles +AppKit suivent la souris de façon fiable dans un menu. + +**Files:** +- Modify : `Client/macos/MenuSupport.swift` (`MenuMetrics`, `hostingMenuItem`) +- Create : `Client/macos/MenuRows/HeaderRow.swift`, `AmbientLevelRow.swift`, `ToggleRow.swift`, `EqualizerRow.swift` +- Modify : `Client/macos/HeadphonesMenu.swift` (branchement provisoire de l'en-tête et du curseur), + `Client/macos/fr.lproj/Localizable.strings` + +**Interfaces:** +- Consumes : l'API `HeadphonesModel` de la tâche 4. +- Produces : + - `enum MenuMetrics { static let width: CGFloat; static let equalizerWidth: CGFloat; static let leading: CGFloat; static let indent: CGFloat }` + - `func hostingMenuItem(width: CGFloat = MenuMetrics.width, @ViewBuilder _ content: () -> Content) -> NSMenuItem` + - `struct HeaderRow: View { init(model:) }`, `struct AmbientLevelRow: View { init(model:) }`, + `struct ToggleRow: View { init(model:title:indent:isOn:set:) }`, `struct EqualizerRow: View { init(model:) }` + +- [ ] **Step 1 : Ajouter à `Client/macos/MenuSupport.swift`** (ajouter `import SwiftUI` en tête du fichier) + +```swift +enum MenuMetrics { + static let width: CGFloat = 280 // main menu rows + static let equalizerWidth: CGFloat = 300 // equalizer submenu + static let leading: CGFloat = 14 // lines up with native item titles + static let indent: CGFloat = 36 // rows nested under "Son ambiant" +} + +// Wraps a SwiftUI view in a menu item, for rows a plain NSMenuItem can't express (sliders, switches, header). +// Rows keep a fixed height: optional lines (the error line, notes) are separate plain items instead. +func hostingMenuItem(width: CGFloat = MenuMetrics.width, @ViewBuilder _ content: () -> Content) -> NSMenuItem { + let host = NSHostingView(rootView: content().frame(width: width, alignment: .leading)) + host.frame = NSRect(origin: .zero, size: host.fittingSize) + let item = NSMenuItem() + item.view = host + return item +} +``` + +- [ ] **Step 2 : Écrire `Client/macos/MenuRows/HeaderRow.swift`** + +```swift +import SwiftUI + +// Menu header: headset name, connection state + codec, battery. +struct HeaderRow: View { + @ObservedObject var model: HeadphonesModel + + var body: some View { + HStack(alignment: .center, spacing: 8) { + VStack(alignment: .leading, spacing: 1) { + Text(model.deviceName.isEmpty ? "SonyBridge" : model.deviceName) + .font(.system(size: 13, weight: .semibold)) + Text(statusLine) + .font(.system(size: 11)) + .foregroundColor(.secondary) + } + Spacer(minLength: 8) + if model.connected { battery } + } + .padding(.horizontal, MenuMetrics.leading) + .padding(.vertical, 4) + } + + private var statusLine: String { + switch model.connectionState { + case .connecting: return tr("Connecting…") + case .disconnected: return tr("Not connected") + case .connected: return model.codec.isEmpty ? tr("Connected") : "\(tr("Connected")) · \(model.codec)" + } + } + + @ViewBuilder private var battery: some View { + if model.hasDualBattery { + Text(String(format: tr("L %ld%% R %ld%%"), model.batteryLeft, model.batteryRight)) + .font(.system(size: 12)) + .foregroundColor(.secondary) + } else if model.batteryLevel >= 0 { + HStack(spacing: 4) { + Text(String(format: tr("%ld%%"), model.batteryLevel)) + .font(.system(size: 12)) + .foregroundColor(.secondary) + Image(systemName: batterySymbol) + .foregroundColor(model.batteryLevel <= 20 && !model.batteryCharging ? .red : .secondary) + } + } + } + + private var batterySymbol: String { + if model.batteryCharging { return "battery.100.bolt" } + switch model.batteryLevel { + case ..<13: return "battery.0" + case ..<38: return "battery.25" + case ..<63: return "battery.50" + case ..<88: return "battery.75" + default: return "battery.100" + } + } +} +``` + +- [ ] **Step 3 : Écrire `Client/macos/MenuRows/AmbientLevelRow.swift`** + +```swift +import SwiftUI + +// Ambient Sound level slider (1…max), shown under "Son ambiant". +struct AmbientLevelRow: View { + @ObservedObject var model: HeadphonesModel + + var body: some View { + HStack(spacing: 8) { + Slider( + value: Binding(get: { Double(model.ambientLevel) }, + set: { model.setLevel(Int($0.rounded()), final: false) }), + in: 1...Double(max(model.maxAmbientLevel, 2)), + step: 1, + onEditingChanged: { editing in + if !editing { model.setLevel(model.ambientLevel, final: true) } + } + ) + .controlSize(.small) + Text(verbatim: "\(model.ambientLevel)") + .font(.system(size: 11, weight: .medium).monospacedDigit()) + .foregroundColor(.secondary) + .frame(width: 20, alignment: .trailing) + } + .padding(.leading, MenuMetrics.indent) + .padding(.trailing, MenuMetrics.leading) + .padding(.vertical, 2) + .disabled(!model.connected) + } +} +``` + +- [ ] **Step 4 : Écrire `Client/macos/MenuRows/ToggleRow.swift`** + +```swift +import SwiftUI + +// A title with a switch on the right (Focus on Voice, DSEE, Speak-to-Chat, Adaptive Volume). +struct ToggleRow: View { + @ObservedObject var model: HeadphonesModel + let title: String + var indent: CGFloat = MenuMetrics.leading + let isOn: (HeadphonesModel) -> Bool + let set: (HeadphonesModel, Bool) -> Void + + var body: some View { + HStack { + Text(title).font(.system(size: 13)) + Spacer(minLength: 8) + Toggle("", isOn: Binding(get: { isOn(model) }, set: { set(model, $0) })) + .labelsHidden() + .toggleStyle(.switch) + .controlSize(.mini) + } + .padding(.leading, indent) + .padding(.trailing, MenuMetrics.leading) + .padding(.vertical, 2) + .disabled(!model.connected) + .opacity(model.connected ? 1 : 0.5) + } +} +``` + +- [ ] **Step 5 : Écrire `Client/macos/MenuRows/EqualizerRow.swift`** + +```swift +import AppKit +import SwiftUI + +// Manual equalizer: 10 vertical sliders (WH-1000XM6) or Clear Bass + 5 (older models). Active only on "Manual" +// and when the device's write format is verified (model.equalizerWritable). +struct EqualizerRow: View { + @ObservedObject var model: HeadphonesModel + + private static let labels5 = ["400", "1k", "2.5k", "6.3k", "16k"] + private static let labels10 = ["31", "63", "125", "250", "500", "1k", "2k", "4k", "8k", "16k"] + + private var editable: Bool { model.connected && model.equalizerWritable && model.eqPreset == 0xA0 } + private var labels: [String] { model.eqBands.count == 10 ? Self.labels10 : Self.labels5 } + + var body: some View { + HStack(alignment: .top, spacing: 0) { + if model.eqHasClearBass { + band(tr("Clear Bass"), value: model.clearBass) { model.setClearBass($0, final: $1) } + } + ForEach(Array(model.eqBands.enumerated()), id: \.offset) { index, value in + band(index < labels.count ? labels[index] : "", value: value) { + model.setEqualizerBand(index, value: $0, final: $1) + } + } + } + .padding(.horizontal, MenuMetrics.leading) + .padding(.vertical, 6) + } + + private func band(_ label: String, value: Int, onChange: @escaping (Int, Bool) -> Void) -> some View { + VStack(spacing: 3) { + VerticalBandSlider(value: value, enabled: editable, onChange: onChange) + .frame(width: 20, height: 72) + Text(verbatim: label) + .font(.system(size: 9)) + .foregroundColor(.secondary) + .lineLimit(1) + } + .frame(maxWidth: .infinity) + } +} + +// A native vertical NSSlider in -10…10. onChange(value, final): final is true on mouse-up. +struct VerticalBandSlider: NSViewRepresentable { + let value: Int + let enabled: Bool + let onChange: (Int, Bool) -> Void + + func makeCoordinator() -> Coordinator { + Coordinator(onChange: onChange) + } + + func makeNSView(context: Context) -> NSSlider { + let slider = NSSlider(value: Double(value), minValue: -10, maxValue: 10, + target: context.coordinator, action: #selector(Coordinator.changed(_:))) + slider.isVertical = true + slider.isContinuous = true + slider.controlSize = .small + return slider + } + + func updateNSView(_ slider: NSSlider, context: Context) { + context.coordinator.onChange = onChange + if Int(slider.doubleValue.rounded()) != value { slider.doubleValue = Double(value) } + slider.isEnabled = enabled + } + + final class Coordinator: NSObject { + var onChange: (Int, Bool) -> Void + + init(onChange: @escaping (Int, Bool) -> Void) { + self.onChange = onChange + } + + @objc func changed(_ sender: NSSlider) { + let final = NSApp.currentEvent?.type == .leftMouseUp + onChange(Int(sender.doubleValue.rounded()), final) + } + } +} +``` + +- [ ] **Step 6 : Ajouter les nouvelles clés à `Client/macos/fr.lproj/Localizable.strings`** (section « Menu ») + +``` +"Not connected" = "Non connecté"; +"Connected" = "Connecté"; +"L %ld%% R %ld%%" = "G %ld %% D %ld %%"; +"Clear Bass" = "Clear Bass"; +``` + +- [ ] **Step 7 : Branchement provisoire dans le menu minimal** (remplacé entièrement en tâche 6) + +Dans `Client/macos/HeadphonesMenu.swift` : +- Remplacer `headerItem.isEnabled = false` / `menu.addItem(headerItem)` par + `menu.addItem(hostingMenuItem { HeaderRow(model: model) })`, supprimer la propriété `headerItem` et, dans + `update()`, les lignes qui construisent `header` et affectent `headerItem.title`. +- Dans la boucle des modes, juste après `menu.addItem(item)`, ajouter : + +```swift + if mode == .ambientSound { + menu.addItem(hostingMenuItem { AmbientLevelRow(model: model) }) + menu.addItem(hostingMenuItem { + ToggleRow(model: model, title: tr("Focus on Voice"), indent: MenuMetrics.indent, + isOn: { $0.focusOnVoice }, set: { $0.setFocusOnVoice($1) }) + }) + } +``` + +et la clé `"Focus on Voice" = "Focalisation sur la voix";` dans `Localizable.strings`. + +- [ ] **Step 8 : Tests et build** + +Run : `make test && make` +Attendu : tout passe, `Localization: 19 keys, all translated` (la clé `"%ld%%"` sert maintenant à +`HeaderRow` ; `update()` ne l'utilise plus), puis `OK -> …`. + +- [ ] **Step 9 : Vérifier avec l'utilisateur** + +Run : `make run`. Demander à l'utilisateur, casque connecté : +1. L'en-tête montre le nom, « Connecté · AAC » et la batterie avec son icône, bien alignés, sans être coupés. +2. Le curseur de niveau se **fait glisser** dans le menu ouvert, et le son ambiant change dans le casque + pendant le glissement (au plus toutes les 150 ms) et au relâchement. +3. L'interrupteur « Focalisation sur la voix » bascule, et le menu reste ouvert. +Si le glissement ou l'interrupteur ne réagissent pas dans le menu : **arrêter** et remonter le problème avant +la tâche 6. Toute l'approche en dépend. + +- [ ] **Step 10 : Commit** (par l'utilisateur) + +```bash +git add -A && git commit -m "feat(macos): SwiftUI menu rows (header, level slider, switches, equalizer)" +``` + +--- + +### Task 6: Menu complet (spec §4) + icône selon le mode + +**Files:** +- Modify (réécriture complète) : `Client/macos/HeadphonesMenu.swift`, `Client/macos/StatusItemController.swift` +- Create : `Client/macos/StatusIcon.swift` +- Modify : `Client/macos/MenuSupport.swift` (`titleWithValue`), `Client/macos/fr.lproj/Localizable.strings` + +**Interfaces:** +- Consumes : tâches 1, 4 et 5. +- Produces : + - `enum StatusIcon { static func symbolName(for: SHCAmbientMode) -> String; static func image(connected: Bool, mode: SHCAmbientMode) -> NSImage? }` + - `func titleWithValue(_ title: String, _ value: String, width: CGFloat = MenuMetrics.width - 60) -> NSAttributedString` + - `HeadphonesMenu` : `private var connectItem` et la méthode `addAppSection()`, où la tâche 7 insère le + sous-menu des options. + +- [ ] **Step 1 : Ajouter `titleWithValue` à `Client/macos/MenuSupport.swift`** + +```swift +// "Title value": the value right-aligned in the secondary color, like "Égaliseur Graves ›". +func titleWithValue(_ title: String, _ value: String, width: CGFloat = MenuMetrics.width - 60) -> NSAttributedString { + let paragraph = NSMutableParagraphStyle() + paragraph.tabStops = [NSTextTab(textAlignment: .right, location: width)] + let font = NSFont.menuFont(ofSize: 0) + let text = NSMutableAttributedString(string: title, attributes: [.font: font, .paragraphStyle: paragraph]) + if !value.isEmpty { + text.append(NSAttributedString(string: "\t" + value, attributes: [ + .font: font, .paragraphStyle: paragraph, .foregroundColor: NSColor.secondaryLabelColor, + ])) + } + return text +} +``` + +- [ ] **Step 2 : Écrire `Client/macos/StatusIcon.swift`** + +```swift +import AppKit + +// Menu bar icon: one monochrome SF Symbol per mode, dimmed when disconnected (spec §6.6). +enum StatusIcon { + static func symbolName(for mode: SHCAmbientMode) -> String { + switch mode { + case .noiseCanceling: return "headphones.circle.fill" + case .ambientSound: return "ear.and.waveform" + default: return "headphones" + } + } + + static func image(connected: Bool, mode: SHCAmbientMode) -> NSImage? { + let name = connected ? symbolName(for: mode) : "headphones" + let image = NSImage(systemSymbolName: name, accessibilityDescription: "SonyBridge") + ?? NSImage(systemSymbolName: "headphones", accessibilityDescription: "SonyBridge") + image?.isTemplate = true // macOS tints it for light/dark menu bars + return image + } +} +``` + +- [ ] **Step 3 : Réécrire `Client/macos/StatusItemController.swift`** + +```swift +import AppKit +import Combine + +// Owns the menu bar icon (it follows the mode and connection state) and attaches the headphones menu to it. +final class StatusItemController { + private let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength) + private let headphonesMenu: HeadphonesMenu + private var cancellables = Set() + + init(model: HeadphonesModel) { + headphonesMenu = HeadphonesMenu(model: model) + statusItem.menu = headphonesMenu.menu + model.$connectionState.combineLatest(model.$mode) + .receive(on: DispatchQueue.main) + .sink { [weak self] state, mode in + let connected = state == .connected + self?.statusItem.button?.image = StatusIcon.image(connected: connected, mode: mode) + self?.statusItem.button?.appearsDisabled = !connected + } + .store(in: &cancellables) + } +} +``` + +- [ ] **Step 4 : Réécrire `Client/macos/HeadphonesMenu.swift`** + +```swift +import AppKit +import Combine + +// The status item's menu (spec §4). Built once; update() refreshes states, visibility and values in place, +// including while the menu is open. +final class HeadphonesMenu { + let menu = NSMenu() + private let model: HeadphonesModel + private var cancellables = Set() + + private let errorItem = NSMenuItem() + private var modeItems: [(SHCAmbientMode, NSMenuItem)] = [] + private var ambientRows: [NSMenuItem] = [] // level slider + focus on voice + private let equalizerItem = NSMenuItem() + private var presetItems: [(Int, NSMenuItem)] = [] + private let equalizerNoteItem = NSMenuItem() + private var equalizerResetItem = NSMenuItem() + private var dseeItem = NSMenuItem() + private var speakToChatItem = NSMenuItem() + private var adaptiveVolumeItem = NSMenuItem() + private let autoPowerOffItem = NSMenuItem() + private var autoPowerOffItems: [NSMenuItem] = [] + private let aboutItem = NSMenuItem() + private let aboutMenu = NSMenu() + private var connectItem = NSMenuItem() + + private static var presets: [(Int, String)] { + [(0x00, tr("Off")), (0x10, tr("Bright")), (0x11, tr("Excited")), (0x12, tr("Mellow")), + (0x13, tr("Relaxed")), (0x14, tr("Vocal")), (0x15, tr("Treble")), (0x16, tr("Bass")), + (0x17, tr("Speech")), (0xA0, tr("Manual"))] + } + + // Index = the bridge's auto power-off option (0=Off, 1=5 min, 2=30 min, 3=1 h, 4=3 h, 5=when taken off). + private static var autoPowerOffOptions: [String] { + [tr("Off"), tr("5 min"), tr("30 min"), tr("1 hour"), tr("3 hours"), tr("When taken off")] + } + + init(model: HeadphonesModel) { + self.model = model + menu.autoenablesItems = false + + menu.addItem(hostingMenuItem { HeaderRow(model: model) }) + errorItem.isEnabled = false + menu.addItem(errorItem) + menu.addItem(.separator()) + addAmbientSection() + menu.addItem(.separator()) + addSoundSection() + menu.addItem(.separator()) + addAppSection() + + // objectWillChange fires before the new value is stored; hopping to the main queue reads the new state. + model.objectWillChange + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.update() } + .store(in: &cancellables) + update() + } + + // MARK: - Building + + private func addAmbientSection() { + menu.addItem(sectionHeader(tr("Ambient Sound Control"))) + let modes: [(SHCAmbientMode, String)] = [ + (.noiseCanceling, tr("Noise Canceling")), (.ambientSound, tr("Ambient Sound")), (.off, tr("Off")), + ] + for (mode, title) in modes { + let item = ActionMenuItem(title) { [weak model] in model?.setMode(mode) } + item.image = NSImage(systemSymbolName: StatusIcon.symbolName(for: mode), accessibilityDescription: nil) + modeItems.append((mode, item)) + menu.addItem(item) + if mode == .ambientSound { + ambientRows = [ + hostingMenuItem { AmbientLevelRow(model: model) }, + hostingMenuItem { + ToggleRow(model: model, title: tr("Focus on Voice"), indent: MenuMetrics.indent, + isOn: { $0.focusOnVoice }, set: { $0.setFocusOnVoice($1) }) + }, + ] + ambientRows.forEach { menu.addItem($0) } + } + } + } + + private func addSoundSection() { + let equalizerMenu = NSMenu() + equalizerMenu.autoenablesItems = false + for (code, title) in Self.presets { + let item = ActionMenuItem(title) { [weak model] in model?.setEqualizerPreset(code) } + presetItems.append((code, item)) + equalizerMenu.addItem(item) + } + equalizerMenu.addItem(.separator()) + equalizerMenu.addItem(hostingMenuItem(width: MenuMetrics.equalizerWidth) { EqualizerRow(model: model) }) + equalizerNoteItem.title = tr("Manual equalizer coming soon for this model") + equalizerNoteItem.isEnabled = false + equalizerMenu.addItem(equalizerNoteItem) + equalizerResetItem = ActionMenuItem(tr("Reset")) { [weak model] in model?.resetEqualizer() } + equalizerMenu.addItem(equalizerResetItem) + equalizerItem.submenu = equalizerMenu + menu.addItem(equalizerItem) + + dseeItem = hostingMenuItem { + ToggleRow(model: model, title: tr("DSEE"), isOn: { $0.dsee }, set: { $0.setDsee($1) }) + } + speakToChatItem = hostingMenuItem { + ToggleRow(model: model, title: tr("Speak-to-Chat"), isOn: { $0.speakToChat }, set: { $0.setSpeakToChat($1) }) + } + adaptiveVolumeItem = hostingMenuItem { + ToggleRow(model: model, title: tr("Adaptive Volume"), isOn: { $0.adaptiveVolume }, set: { $0.setAdaptiveVolume($1) }) + } + for item in [dseeItem, speakToChatItem, adaptiveVolumeItem] { menu.addItem(item) } + + let autoPowerOffMenu = NSMenu() + autoPowerOffMenu.autoenablesItems = false + for (index, title) in Self.autoPowerOffOptions.enumerated() { + let item = ActionMenuItem(title) { [weak model] in model?.setAutoPowerOff(index) } + autoPowerOffItems.append(item) + autoPowerOffMenu.addItem(item) + } + autoPowerOffItem.submenu = autoPowerOffMenu + menu.addItem(autoPowerOffItem) + } + + private func addAppSection() { + aboutItem.title = tr("About the Headphones") + aboutMenu.autoenablesItems = false + aboutItem.submenu = aboutMenu + menu.addItem(aboutItem) + connectItem = ActionMenuItem(tr("Connect…")) { [weak self] in self?.toggleConnection() } + menu.addItem(connectItem) + menu.addItem(.separator()) + menu.addItem(ActionMenuItem(tr("Quit SonyBridge"), key: "q") { NSApp.terminate(nil) }) + } + + // MARK: - Updating + + private func update() { + let connected = model.connected + + errorItem.isHidden = model.errorMessage == nil + errorItem.title = "⚠︎ " + (model.errorMessage ?? "") + + for (mode, item) in modeItems { + item.state = connected && model.mode == mode ? .on : .off + item.isEnabled = connected + } + ambientRows.forEach { $0.isHidden = model.mode != .ambientSound } + + equalizerItem.isHidden = !model.supportsEqualizer + equalizerItem.isEnabled = connected + equalizerItem.attributedTitle = titleWithValue(tr("Equalizer"), Self.presetName(model.eqPreset)) + for (code, item) in presetItems { + item.state = model.eqPreset == code ? .on : .off + item.isEnabled = connected && model.equalizerWritable + } + equalizerNoteItem.isHidden = model.equalizerWritable || model.eqBands.isEmpty + equalizerResetItem.isEnabled = connected && model.equalizerWritable && model.eqPreset == 0xA0 + + dseeItem.isHidden = !model.supportsEqualizer + speakToChatItem.isHidden = !model.hasSpeakToChat + adaptiveVolumeItem.isHidden = !model.hasAdaptiveVolume + + let options = Self.autoPowerOffOptions + autoPowerOffItem.isHidden = !model.hasAutoPowerOff + autoPowerOffItem.isEnabled = connected + autoPowerOffItem.attributedTitle = titleWithValue( + tr("Auto Power-Off"), options.indices.contains(model.autoPowerOff) ? options[model.autoPowerOff] : "") + for (index, item) in autoPowerOffItems.enumerated() { + item.state = index == model.autoPowerOff ? .on : .off + } + + updateAbout() + aboutItem.isEnabled = connected + + switch model.connectionState { + case .connected: connectItem.title = tr("Disconnect") + case .connecting: connectItem.title = tr("Connecting…") + case .disconnected: connectItem.title = tr("Connect…") + } + connectItem.isEnabled = model.connectionState != .connecting + } + + private func updateAbout() { + aboutMenu.removeAllItems() + let rows: [(String, String)] = [ + (tr("Firmware"), model.firmware), (tr("Codec"), model.codec), + (tr("Protocol"), model.protocolVersion), (tr("Bluetooth"), model.deviceMac), + ] + for (title, value) in rows where !value.isEmpty { + let item = NSMenuItem() + item.attributedTitle = titleWithValue(title, value) + item.isEnabled = false + aboutMenu.addItem(item) + } + } + + private static func presetName(_ code: Int) -> String { + presets.first { $0.0 == code }?.1 ?? tr("Custom") + } + + private func toggleConnection() { + if model.connected { + model.disconnect() + } else { + NSApp.activate(ignoringOtherApps: true) // the fallback Bluetooth picker is a modal window + model.connect() + } + } +} +``` + +- [ ] **Step 5 : Ajouter les clés à `Client/macos/fr.lproj/Localizable.strings`** (section « Menu ») + +``` +"Equalizer" = "Égaliseur"; +"Bright" = "Brillant"; +"Excited" = "Dynamique"; +"Mellow" = "Doux"; +"Relaxed" = "Détendu"; +"Vocal" = "Voix"; +"Treble" = "Aigus"; +"Bass" = "Graves"; +"Speech" = "Parole"; +"Manual" = "Manuel"; +"Custom" = "Personnalisé"; +"Manual equalizer coming soon for this model" = "Égaliseur manuel bientôt disponible pour ce modèle"; +"Reset" = "Réinitialiser"; +"DSEE" = "DSEE"; +"Speak-to-Chat" = "Speak-to-Chat"; +"Adaptive Volume" = "Volume adaptatif"; +"Auto Power-Off" = "Arrêt automatique"; +"5 min" = "5 min"; +"30 min" = "30 min"; +"1 hour" = "1 heure"; +"3 hours" = "3 heures"; +"When taken off" = "Quand le casque est retiré"; +"About the Headphones" = "À propos du casque"; +"Firmware" = "Firmware"; +"Codec" = "Codec"; +"Protocol" = "Protocole"; +"Bluetooth" = "Bluetooth"; +``` + +- [ ] **Step 6 : Tests et build** + +Run : `make test && make` +Attendu : tout passe, `Localization: 46 keys, all translated`, puis `OK -> …`. + +- [ ] **Step 7 : Vérifier avec l'utilisateur** (casque connecté, `make run`) + +Parcourir le menu avec lui, dans l'ordre de la spec §4 : +1. L'icône de la barre change avec le mode (réduction de bruit / son ambiant / désactivé) et se grise une + fois déconnecté. **Lui montrer les 3 glyphes** et demander s'ils lui conviennent (sinon, changer les noms de + symboles dans `StatusIcon.symbolName`). +2. Le curseur et « Focalisation sur la voix » n'apparaissent qu'en « Son ambiant ». +3. « Égaliseur » affiche « Personnalisé » à droite (preset `0x30` du XM6). Le sous-menu montre les presets + grisés, 10 curseurs grisés, et « Égaliseur manuel bientôt disponible pour ce modèle ». +4. DSEE et Speak-to-Chat sont présents ; Volume adaptatif est absent (le XM6 ne le gère pas). +5. « Arrêt automatique » affiche l'option en cours à droite ; changer d'option déplace la coche. +6. « À propos du casque » : Firmware 3.1.5, Codec AAC, Protocole v2, adresse Bluetooth. +7. Déconnecter : les réglages restent affichés mais grisés, et l'en-tête dit « Non connecté ». +8. Les valeurs à droite sont bien alignées et le menu n'est pas trop large (sinon, ajuster + `MenuMetrics.width` et le `width` de `titleWithValue`). + +- [ ] **Step 8 : Commit** (par l'utilisateur) + +```bash +git add -A && git commit -m "feat(macos): full headphones menu with per-mode status icon" +``` + +--- + +### Task 7: Options — connexion auto, reconnexion auto, lancement à l'ouverture de session + +**Files:** +- Create : `Client/macos/AppSettings.swift`, `Client/macos/DeviceWatcher.swift` +- Modify : `Client/macos/MacOSBluetoothConnector.h/.mm` (coupure de liaison sûre), + `Client/macos/HeadphonesBridge.h/.mm` (connexion par adresse, aides de classe), + `Client/macos/HeadphonesModel.swift`, `Client/macos/HeadphonesMenu.swift`, + `Client/macos/StatusItemController.swift`, `Client/macos/AppDelegate.swift`, + `Client/macos/fr.lproj/Localizable.strings` + +**Interfaces:** +- Consumes : `ReconnectPolicy` (tâche 2), `HeadphonesModel.handleConnectResult(ok:error:userInitiated:)` et + `linkLost()` (tâche 4), `HeadphonesMenu.addAppSection()` (tâche 6). +- Produces : + - `final class AppSettings: ObservableObject { var autoConnect: Bool; var autoReconnect: Bool; private(set) var launchAtLogin: Bool; var lastDeviceAddress: String?; func setLaunchAtLogin(_ enabled: Bool) -> String? }` + - `final class DeviceWatcher { var onConnect: ((String, String) -> Void)?; var onDisconnect: ((String) -> Void)?; func start() }` (adresse, nom) + - `HeadphonesBridge` (Swift) : `looksLikeSonyHeadset(_:)`, `connectedSonyHeadsetAddress()`, + `isDeviceConnectedToMac(_:)`, `connect(toAddress:completion:)` + - `HeadphonesModel` : `var settings: AppSettings?`, `autoConnectOnLaunch()`, `autoConnect(toAddress:)`, + `headsetConnectedToMac(address:name:)`, `headsetDisconnectedFromMac(address:)`, `cancelReconnect()` + - `StatusItemController(model:settings:)`, `HeadphonesMenu(model:settings:)` + +- [ ] **Step 1 : Rendre la coupure de liaison sûre dans `MacOSBluetoothConnector`** + +Aujourd'hui, quand le casque ferme le canal, `rfcommChannelClosed` appelle `disconnect()` **sur le fil du +connecteur lui-même**, et `disconnect()` fait `uthread.join()` : un fil qui s'attend lui-même lève une +exception dans une fonction `noexcept`, donc l'app plante. Une reconnexion ferait aussi `uthread = std::thread(…)` +sur un fil encore « joignable », ce qui plante aussi. À corriger avant toute reconnexion automatique. + +`Client/macos/MacOSBluetoothConnector.h` : +- ajouter, sous `virtual void closeConnection();` : + +```cpp + // Called from the channel-closed callback, on the connector thread: stops that thread's loop without joining it. + void markClosed() noexcept; +``` + +- initialiser les pointeurs privés : `void *rfcommDevice = nullptr;` et `void *rfcommchannel = nullptr;`. + +`Client/macos/MacOSBluetoothConnector.mm` : +- dans `rfcommChannelClosed:`, remplacer `delegateCPP->disconnect();` par `delegateCPP->markClosed();` +- remplacer le destructeur, `disconnect()` et le début de `connect()` : + +```objc +MacOSBluetoothConnector::~MacOSBluetoothConnector() +{ + disconnect(); +} + +void MacOSBluetoothConnector::markClosed() noexcept +{ + running = false; + disconnectionConditionVariable.notify_all(); +} + +void MacOSBluetoothConnector::disconnect() noexcept +{ + closeConnection(); + markClosed(); + // Never join from the connector thread itself (the channel-closed callback runs there). + if (uthread.joinable() && uthread.get_id() != std::this_thread::get_id()) { + uthread.join(); + } +} +``` + +et, en première ligne de `MacOSBluetoothConnector::connect(const std::string& addrStr)` : + +```objc + // A previous link's thread has stopped (markClosed) but may not have been joined yet. + if (uthread.joinable()) uthread.join(); +``` + +- dans `closeConnection()`, ajouter en première ligne `if (!rfcommchannel) return;`. + +- [ ] **Step 2 : Connexion par adresse dans le pont** + +`Client/macos/HeadphonesBridge.h`, sous `scanAndConnectWithCompletion:` : + +```objc +// Name heuristic for Sony headsets (WH-/WF-/WI-/MDR-/XB/LinkBuds). ++ (BOOL)looksLikeSonyHeadset:(NSString *)name NS_SWIFT_NAME(looksLikeSonyHeadset(_:)); +// Address of the first Sony headset currently connected to macOS, or nil. ++ (nullable NSString *)connectedSonyHeadsetAddress NS_SWIFT_NAME(connectedSonyHeadsetAddress()); +// YES if the device with this address is connected to macOS (its audio link is up). ++ (BOOL)isDeviceConnectedToMac:(NSString *)address NS_SWIFT_NAME(isDeviceConnectedToMac(_:)); +// Opens the control channel to a specific device, without the picker. Completion on the main thread. +- (void)connectToAddress:(NSString *)address + completion:(void (^)(BOOL ok, NSString * _Nullable error))completion NS_SWIFT_NAME(connect(toAddress:completion:)); +``` + +`Client/macos/HeadphonesBridge.mm` : dans `scanAndConnectWithCompletion:`, remplacer tout le code qui suit le +test `if (!device) { … return; }` (le `try { _bt->connect(…) }`, la boucle d'attente, et la création de `_hp` +jusqu'à `completion(YES, nil);`) par `[self connectDevice:device completion:completion];`, puis ajouter après +la méthode : + +```objc +- (void)connectDevice:(IOBluetoothDevice *)device completion:(void (^)(BOOL, NSString * _Nullable))completion { + try { + _bt->connect([[device addressString] UTF8String]); + } catch (RecoverableException &exc) { + completion(NO, @(exc.what())); + return; + } + + // A real RFCOMM open (SDP + link setup, sometimes with encryption renegotiation) can take a few + // seconds; pump the run loop until it lands or we give up. + int timeout = 80; + while (!_bt->isConnected() && timeout >= 0) { + [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; + timeout--; + } + + if (!_bt->isConnected()) { + _bt->disconnect(); + completion(NO, NSLocalizedString(@"Connection timed out.", nil)); + return; + } + + _deviceName = [device nameOrAddress]; + _deviceMac = [device addressString]; + _hp = std::make_unique(*_bt); + completion(YES, nil); +} + ++ (BOOL)looksLikeSonyHeadset:(NSString *)name { + return SHCLooksLikeSonyHeadset(name); +} + ++ (nullable NSString *)connectedSonyHeadsetAddress { + for (IOBluetoothDevice *paired in [IOBluetoothDevice pairedDevices]) { + if ([paired isConnected] && SHCLooksLikeSonyHeadset([paired name])) return [paired addressString]; + } + return nil; +} + ++ (BOOL)isDeviceConnectedToMac:(NSString *)address { + IOBluetoothDevice *device = [IOBluetoothDevice deviceWithAddressString:address]; + return device != nil && [device isConnected]; +} + +- (void)connectToAddress:(NSString *)address completion:(void (^)(BOOL, NSString * _Nullable))completion { + IOBluetoothDevice *device = [IOBluetoothDevice deviceWithAddressString:address]; + if (!device) { + completion(NO, NSLocalizedString(@"Not connected.", nil)); + return; + } + [self connectDevice:device completion:completion]; +} +``` + +- [ ] **Step 3 : Écrire `Client/macos/AppSettings.swift`** + +```swift +import Foundation +import ServiceManagement + +// The three user options, persisted in UserDefaults. Launch at login is backed by SMAppService (macOS 13+). +final class AppSettings: ObservableObject { + private enum Keys { + static let autoConnect = "autoConnect" + static let autoReconnect = "autoReconnect" + static let lastDeviceAddress = "lastDeviceAddress" + } + + private let defaults: UserDefaults + + @Published var autoConnect: Bool { + didSet { defaults.set(autoConnect, forKey: Keys.autoConnect) } + } + @Published var autoReconnect: Bool { + didSet { defaults.set(autoReconnect, forKey: Keys.autoReconnect) } + } + @Published private(set) var launchAtLogin: Bool + + var lastDeviceAddress: String? { + get { defaults.string(forKey: Keys.lastDeviceAddress) } + set { defaults.set(newValue, forKey: Keys.lastDeviceAddress) } + } + + init(defaults: UserDefaults = .standard) { + self.defaults = defaults + // Spec §4: auto-connect and auto-reconnect default on; launch at login stays off until the user asks. + defaults.register(defaults: [Keys.autoConnect: true, Keys.autoReconnect: true]) + autoConnect = defaults.bool(forKey: Keys.autoConnect) + autoReconnect = defaults.bool(forKey: Keys.autoReconnect) + launchAtLogin = SMAppService.mainApp.status == .enabled + } + + // Returns an error message if macOS refused the change. + func setLaunchAtLogin(_ enabled: Bool) -> String? { + defer { launchAtLogin = SMAppService.mainApp.status == .enabled } + do { + if enabled { + try SMAppService.mainApp.register() + if SMAppService.mainApp.status == .requiresApproval { + SMAppService.openSystemSettingsLoginItems() + } + } else { + try SMAppService.mainApp.unregister() + } + return nil + } catch { + return error.localizedDescription + } + } +} +``` + +- [ ] **Step 4 : Écrire `Client/macos/DeviceWatcher.swift`** + +```swift +import Foundation +import IOBluetooth + +// Reports Bluetooth devices connecting to / disconnecting from macOS, as (address, name). +final class DeviceWatcher: NSObject { + var onConnect: ((_ address: String, _ name: String) -> Void)? + var onDisconnect: ((_ address: String) -> Void)? + + private var connectNotification: IOBluetoothUserNotification? + private var disconnectNotifications: [String: IOBluetoothUserNotification] = [:] + + func start() { + connectNotification = IOBluetoothDevice.register(forConnectNotifications: self, + selector: #selector(deviceConnected(_:device:))) + for case let device as IOBluetoothDevice in IOBluetoothDevice.pairedDevices() ?? [] where device.isConnected() { + if let address = device.addressString { watchDisconnect(device, address: address) } + } + } + + @objc private func deviceConnected(_ notification: IOBluetoothUserNotification, device: IOBluetoothDevice) { + guard let address = device.addressString else { return } + watchDisconnect(device, address: address) + onConnect?(address, device.name ?? "") + } + + @objc private func deviceDisconnected(_ notification: IOBluetoothUserNotification, device: IOBluetoothDevice) { + notification.unregister() + guard let address = device.addressString else { return } + disconnectNotifications[address] = nil + onDisconnect?(address) + } + + private func watchDisconnect(_ device: IOBluetoothDevice, address: String) { + guard disconnectNotifications[address] == nil else { return } + disconnectNotifications[address] = device.register(forDisconnectNotification: self, + selector: #selector(deviceDisconnected(_:device:))) + } +} +``` + +- [ ] **Step 5 : Connexion et reconnexion automatiques dans `Client/macos/HeadphonesModel.swift`** + +Ajouter sous `private var eqThrottle = SendThrottle()` : + +```swift + // Set by AppDelegate; nil means "no automatic behaviour". + var settings: AppSettings? + private var reconnectPolicy = ReconnectPolicy() + private var reconnectTimer: Timer? + private var reconnectAddress: String? + private var userDisconnected = false // after "Déconnecter": no auto-reconnect until the headset reconnects to macOS +``` + +Dans `connect()`, ajouter en première ligne : + +```swift + userDisconnected = false + cancelReconnect() +``` + +Remplacer `disconnect()`, `handleConnectResult(ok:error:userInitiated:)` et `linkLost()` par : + +```swift + func disconnect() { + userDisconnected = true + cancelReconnect() + stopTimers() + bridge.disconnect() + connectionState = .disconnected + } + + func handleConnectResult(ok: Bool, error: String?, userInitiated: Bool) { + guard ok else { + connectionState = .disconnected + if userInitiated, let error = error { errorMessage = error } + if !userInitiated && reconnectAddress != nil { scheduleReconnect() } + return + } + cancelReconnect() + connectionState = .connected + syncFromBridge() + settings?.lastDeviceAddress = deviceMac + bridge.refreshStatus { [weak self] in self?.syncFromBridge() } // called after reads, then after probes + startTimers() + } + + // The control link dropped on its own (idle power-save): retry while the headset is still connected to macOS. + func linkLost() { + stopTimers() + bridge.disconnect() // resets sequence numbers and buffers for the next connection + connectionState = .disconnected + guard settings?.autoReconnect == true, !userDisconnected, !deviceMac.isEmpty else { return } + reconnectAddress = deviceMac + scheduleReconnect() + } + + // MARK: - Automatic connection + + // Not user-initiated: failures stay silent (normal while the headset sleeps). + func autoConnect(toAddress address: String) { + guard connectionState == .disconnected else { return } + connectionState = .connecting + bridge.connect(toAddress: address) { ok, error in + self.handleConnectResult(ok: ok, error: error, userInitiated: false) + } + } + + // At launch: the last headset if macOS has it connected, else any connected Sony headset. + func autoConnectOnLaunch() { + let remembered = settings?.lastDeviceAddress.flatMap { HeadphonesBridge.isDeviceConnectedToMac($0) ? $0 : nil } + if let address = remembered ?? HeadphonesBridge.connectedSonyHeadsetAddress() { + autoConnect(toAddress: address) + } + } + + // DeviceWatcher: a device just connected to macOS. + func headsetConnectedToMac(address: String, name: String) { + guard settings?.autoConnect == true, HeadphonesBridge.looksLikeSonyHeadset(name), + connectionState == .disconnected else { return } + userDisconnected = false + cancelReconnect() + // Give the audio link ~2 s to settle before opening the control channel. + DispatchQueue.main.asyncAfter(deadline: .now() + 2) { [weak self] in self?.autoConnect(toAddress: address) } + } + + // DeviceWatcher: a device left macOS; stop retrying it (headsetConnectedToMac takes over when it's back). + func headsetDisconnectedFromMac(address: String) { + if address == reconnectAddress { cancelReconnect() } + } + + func cancelReconnect() { + reconnectTimer?.invalidate() + reconnectTimer = nil + reconnectAddress = nil + reconnectPolicy.reset() + } + + private func scheduleReconnect() { + guard let address = reconnectAddress else { return } + reconnectTimer?.invalidate() + let timer = Timer(timeInterval: reconnectPolicy.nextDelay(), repeats: false) { [weak self] _ in + guard let self = self else { return } + guard HeadphonesBridge.isDeviceConnectedToMac(address) else { self.cancelReconnect(); return } + self.autoConnect(toAddress: address) + } + RunLoop.main.add(timer, forMode: .common) + reconnectTimer = timer + } +``` + +- [ ] **Step 6 : Sous-menu « Options de SonyBridge » dans `Client/macos/HeadphonesMenu.swift`** + +- Remplacer `init(model: HeadphonesModel) {` / `self.model = model` par : + +```swift + init(model: HeadphonesModel, settings: AppSettings) { + self.model = model + self.settings = settings +``` + +- Ajouter les propriétés, sous `private let model: HeadphonesModel` : + +```swift + private let settings: AppSettings + private var launchAtLoginItem = NSMenuItem() + private var autoConnectItem = NSMenuItem() + private var autoReconnectItem = NSMenuItem() +``` + +- Dans `init`, après l'abonnement à `model.objectWillChange`, ajouter : + +```swift + settings.objectWillChange + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.update() } + .store(in: &cancellables) +``` + +- Dans `addAppSection()`, juste avant `connectItem = ActionMenuItem(…)`, ajouter : + +```swift + let optionsMenu = NSMenu() + optionsMenu.autoenablesItems = false + launchAtLoginItem = ActionMenuItem(tr("Launch at Login")) { [weak self] in self?.toggleLaunchAtLogin() } + autoConnectItem = ActionMenuItem(tr("Connect Automatically")) { [weak settings] in settings?.autoConnect.toggle() } + autoReconnectItem = ActionMenuItem(tr("Reconnect Automatically")) { [weak settings] in settings?.autoReconnect.toggle() } + for item in [launchAtLoginItem, autoConnectItem, autoReconnectItem] { optionsMenu.addItem(item) } + let optionsItem = NSMenuItem(title: tr("SonyBridge Options"), action: nil, keyEquivalent: "") + optionsItem.submenu = optionsMenu + menu.addItem(optionsItem) +``` + +- À la fin de `update()`, ajouter : + +```swift + launchAtLoginItem.state = settings.launchAtLogin ? .on : .off + autoConnectItem.state = settings.autoConnect ? .on : .off + autoReconnectItem.state = settings.autoReconnect ? .on : .off +``` + +- Ajouter la méthode : + +```swift + private func toggleLaunchAtLogin() { + if let error = settings.setLaunchAtLogin(!settings.launchAtLogin) { model.showError(error) } + } +``` + +- [ ] **Step 7 : Assembler dans `StatusItemController` et `AppDelegate`** + +`Client/macos/StatusItemController.swift` : remplacer `init(model: HeadphonesModel) {` par +`init(model: HeadphonesModel, settings: AppSettings) {` et `HeadphonesMenu(model: model)` par +`HeadphonesMenu(model: model, settings: settings)`. + +Réécrire `Client/macos/AppDelegate.swift` : + +```swift +import AppKit + +final class AppDelegate: NSObject, NSApplicationDelegate { + private let model = HeadphonesModel() + private let settings = AppSettings() + private let deviceWatcher = DeviceWatcher() + private var statusItemController: StatusItemController? + + func applicationDidFinishLaunching(_ notification: Notification) { + model.settings = settings + statusItemController = StatusItemController(model: model, settings: settings) + + deviceWatcher.onConnect = { [weak self] address, name in + self?.model.headsetConnectedToMac(address: address, name: name) + } + deviceWatcher.onDisconnect = { [weak self] address in + self?.model.headsetDisconnectedFromMac(address: address) + } + deviceWatcher.start() + + if settings.autoConnect { model.autoConnectOnLaunch() } + } + + func applicationWillTerminate(_ notification: Notification) { + model.disconnect() + } +} +``` + +- [ ] **Step 8 : Ajouter les clés à `Client/macos/fr.lproj/Localizable.strings`** + +``` +"SonyBridge Options" = "Options de SonyBridge"; +"Launch at Login" = "Lancer à l’ouverture de session"; +"Connect Automatically" = "Connexion automatique"; +"Reconnect Automatically" = "Reconnexion automatique"; +``` + +- [ ] **Step 9 : Tests et build** + +Run : `make test && make` +Attendu : tout passe, `Localization: 50 keys, all translated`, puis `OK -> …`. + +- [ ] **Step 10 : Vérifier avec l'utilisateur** (`make run DEBUG=1`) + +1. **Connexion au lancement** : XM6 connecté à macOS, quitter puis relancer l'app → elle se connecte seule, sans + clic (en-tête « Connecté · AAC »). +2. **Connexion auto** : éteindre le casque, puis le rallumer → environ 2 s après la connexion audio, l'app se + connecte seule. +3. **Déconnexion manuelle** : « Déconnecter » → pas de reconnexion ; éteindre puis rallumer le casque → l'app + se reconnecte. +4. **Reconnexion auto** : laisser le casque connecté sans audio jusqu'à ce que le canal de contrôle se coupe + (plusieurs minutes) → l'app **ne plante pas** et se reconnecte ; vérifier les essais avec + `grep -c '\[connect\] openRFCOMMChannelAsync' build/app.log`. +5. **Options** : décocher « Connexion automatique », quitter, relancer → l'option reste décochée et l'app ne + se connecte pas seule. +6. **Lancement à l'ouverture de session** : `cp -R build/SonyBridge.app /Applications/`, lancer la copie de + `/Applications`, cocher l'option → elle apparaît dans Réglages Système › Général › Ouverture ; fermer la + session puis la rouvrir → l'icône revient seule. Si macOS demande une approbation, les Réglages s'ouvrent + sur la bonne page. + +- [ ] **Step 11 : Commit** (par l'utilisateur) + +```bash +git add -A && git commit -m "feat(macos): auto-connect, auto-reconnect and launch at login (menu options)" +``` + +--- + +### Task 8: Expérimentations XM6 + écriture de l'égaliseur (spec §7) + +Tâche **avec l'utilisateur et le casque**. On confirme d'abord chaque format sur le matériel, puis on active +l'écriture de l'égaliseur. Un menu « Debug » (compilé seulement avec `make run DEBUG=1`) permet d'envoyer une +trame brute ; les réponses du casque arrivent dans `build/app.log`. Ce menu n'est qu'un outil de diagnostic, +en anglais : ses textes ne sont pas traduits. + +**Files:** +- Modify : `Client/macos/HeadphonesBridge.h/.mm` (`sendRawPayload:completion:`, `equalizerWritable`) +- Modify : `Client/macos/HeadphonesModel.swift` (`sendRaw(hex:)`), `Client/macos/HeadphonesMenu.swift` (menu Debug) +- Modify : `Client/ProtocolParsers.h/.cpp` (`buildCustomEqualizer`), `Client/Headphones.cpp` + (`setEqualizerCustom`), `Client/tests/ProtocolParsersTests.cpp` +- Create : `docs/xm6-protocol-notes.md` (résultats des expériences) + +**Interfaces:** +- Produces : `Buffer ProtocolParsers::buildCustomEqualizer(unsigned char manualPreset, bool hasClearBass, int clearBass, const std::vector& bands)` ; + `HeadphonesBridge.sendRawPayload(_:completion:)` ; `HeadphonesModel.sendRaw(hex:)` (seulement avec `DEBUG_PROTOCOL`). + +- [ ] **Step 1 : Envoi brut dans le pont** + +`Client/macos/HeadphonesBridge.h` : + +```objc +// Diagnostics: sends a raw payload (e.g. 56 00) and waits for the ACK; replies are hex-dumped to the log when +// built with DEBUG_PROTOCOL. Only reachable from the Debug menu of `make run DEBUG=1` builds. +- (void)sendRawPayload:(NSData *)payload completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; +``` + +`Client/macos/HeadphonesBridge.mm` : + +```objc +- (void)sendRawPayload:(NSData *)payload completion:(void (^)(BOOL, NSString * _Nullable))completion { + if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } + std::vector bytes((const char *)payload.bytes, (const char *)payload.bytes + payload.length); + BluetoothWrapper *bt = _bt.get(); + dispatch_async(_cmdQueue, ^{ + NSString *error = nil; BOOL ok = YES; + try { bt->sendCommand(bytes); } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } + dispatch_async(dispatch_get_main_queue(), ^{ completion(ok, error); }); + }); +} +``` + +- [ ] **Step 2 : Menu Debug** + +`Client/macos/HeadphonesModel.swift`, dans la section « Actions » : + +```swift + #if DEBUG_PROTOCOL + // Debug menu only: sends raw bytes like "56 00"; the replies are logged to build/app.log. + func sendRaw(hex: String) { + let bytes = hex.split(whereSeparator: { $0 == " " || $0 == "," }).compactMap { UInt8($0, radix: 16) } + guard !bytes.isEmpty else { return } + bridge.sendRawPayload(Data(bytes)) { [weak self] ok, error in self?.finish(ok, error) } + } + #endif +``` + +`Client/macos/HeadphonesMenu.swift` : dans `addAppSection()`, juste avant `menu.addItem(.separator())` qui +précède « Quitter », ajouter : + +```swift + #if DEBUG_PROTOCOL + menu.addItem(ActionMenuItem("Debug: send frame…") { [weak self] in self?.promptRawFrame() }) + #endif +``` + +et la méthode : + +```swift + #if DEBUG_PROTOCOL + // Diagnostics only (not localized): asks for a hex payload and sends it as-is. + private func promptRawFrame() { + let alert = NSAlert() + alert.messageText = "Send raw payload (hex)" + let field = NSTextField(frame: NSRect(x: 0, y: 0, width: 260, height: 24)) + field.placeholderString = "56 00" + alert.accessoryView = field + alert.addButton(withTitle: "Send") + alert.addButton(withTitle: "Cancel") + NSApp.activate(ignoringOtherApps: true) + if alert.runModal() == .alertFirstButtonReturn { model.sendRaw(hex: field.stringValue) } + } + #endif +``` + +Run : `make test && make run DEBUG=1` → le menu montre « Debug: send frame… ». Envoyer `56 00` → dans +`build/app.log`, une ligne `[recv] 3e 0c … 57 00 …`. + +- [ ] **Step 3 : Expérience E1, les 2 octets de plus du canal `0x19`** + +L'utilisateur passe par les trois modes **avec le bouton du casque**, en attendant 3 s entre chaque, puis : +`grep -E '\[recv\].* 6[79] 19' build/app.log | tail -6`. +Noter dans `docs/xm6-protocol-notes.md` la valeur des octets 8 et 9 pour chaque mode. Aucun changement de code +n'est prévu : ces octets ne servent qu'à documenter (par exemple une option de l'optimiseur NC, hors +périmètre). + +- [ ] **Step 4 : Expérience E2, lecture de l'égaliseur** + +L'utilisateur règle l'égaliseur dans l'app Sony (Sound Connect) sur son téléphone, puis envoie `56 00` depuis +« Debug: send frame… », pour chacun de ces réglages : « Désactivé », « Bass Boost » (Graves), « Bright » +(Brillant), puis « Manuel » avec **31 Hz au maximum, 16 kHz au minimum, le reste à 0**. +Pour chaque réglage : `grep '\[recv\].* 57 00' build/app.log | tail -1`. Noter l'identifiant de preset (octet 3) +et les 10 valeurs. Conclure : +- le décalage : avec 31 Hz au max, la 1ʳᵉ valeur doit valoir `0x14` (20) si la plage est −10…+10 (décalage 10), + ou `0x0c` (12) si elle est −6…+6 (décalage 6) ; +- les identifiants de presets du XM6 (comparer avec `0x00, 0x10…0x17, 0xa0`). +Si l'app Sony ne peut pas se connecter pendant que le Mac est connecté, fermer SonyBridge pendant chaque +réglage, puis relancer l'app et relire. + +- [ ] **Step 5 : Expérience E3, écriture d'un preset** + +Avec l'identifiant de « Bass Boost » trouvé en E2 (noté ``) : envoyer `58 00 00`. L'utilisateur doit +**entendre** plus de basses. Relire avec `56 00` : l'octet 3 de la réponse doit valoir ``. Remettre ensuite +le preset d'origine de la même façon. + +- [ ] **Step 6 : Expérience E4, écriture de l'égaliseur manuel 10 bandes** + +Volume modéré. Envoyer `58 00 a0 0a 0d 0a 0a 0a 0a 0a 0a 0a 0a 0a` (31 Hz à +3 si le décalage est 10, le reste +à 0 ; adapter les valeurs si E2 a trouvé un autre décalage). Relire avec `56 00`. Attendu : +`57 00 a0 0a 0d 0a 0a 0a 0a 0a 0a 0a 0a 0a`. Si l'octet 3 de la réponse n'est pas `a0` (par exemple `a1` pour +un « Personnalisé 1 »), noter cet identifiant : c'est le preset « Manuel » du XM6. + +- [ ] **Step 7 : Expérience E5, les autres écritures** + +Depuis le menu : basculer DSEE, changer « Arrêt automatique », basculer Speak-to-Chat. Après chaque +changement, relire avec respectivement `e6 01`, `26 05`, `f6 0c` : la réponse (`e7 01 …`, `27 05 …`, +`f7 0c …`) doit refléter la nouvelle valeur. + +- [ ] **Step 8 : Point de décision (avec l'utilisateur)** + +Écrire les résultats E1 à E5 dans `docs/xm6-protocol-notes.md` (un tableau : trame envoyée, trame reçue, +conclusion). **Si E3 ou E4 contredisent les hypothèses** (aucun effet audible, ou une relecture différente de +ce qui a été envoyé) : **arrêter**, présenter les trames à l'utilisateur et replanifier l'écriture de +l'égaliseur. Les étapes 9 à 13 supposent que E2 à E4 ont confirmé les formats. + +- [ ] **Step 9 : Test du constructeur de trame** — ajouter à `Client/tests/ProtocolParsersTests.cpp`, avant +le bloc `// --- Framing ---` : + +```cpp + // --- Custom equalizer write --- + // 5 bands + Clear Bass (verified WH-CH720N format): 58 00 a0 06 + CHECK(buildCustomEqualizer(0xa0, true, 3, { -2, -1, 0, 1, 2 }) == bytes({ 0x58, 0x00, 0xa0, 0x06, 13, 8, 9, 10, 11, 12 })); + // 10 bands (WH-1000XM6, confirmed by experiment E4): 58 00 a0 0a + CHECK(buildCustomEqualizer(0xa0, false, 0, { 3, 0, 0, 0, 0, 0, 0, 0, 0, -10 }) + == bytes({ 0x58, 0x00, 0xa0, 0x0a, 13, 10, 10, 10, 10, 10, 10, 10, 10, 0 })); + // Values are clamped to -10..10. + CHECK(buildCustomEqualizer(0xa0, false, 0, { 15, -15 }) == bytes({ 0x58, 0x00, 0xa0, 0x02, 20, 0 })); +``` + +Si E2 a trouvé un décalage différent de 10, ou E4 un autre identifiant « Manuel », adapter les octets attendus +de la 2ᵉ assertion aux trames réellement confirmées. +Run : `make test` → échec : `use of undeclared identifier 'buildCustomEqualizer'`. + +- [ ] **Step 10 : Écrire le constructeur** + +`Client/ProtocolParsers.h`, dans le namespace : + +```cpp + // "58 00 [] ", each value clamped to -10..10. + Buffer buildCustomEqualizer(unsigned char manualPreset, bool hasClearBass, int clearBass, const std::vector& bands); +``` + +`Client/ProtocolParsers.cpp`, dans le namespace : + +```cpp + Buffer buildCustomEqualizer(unsigned char manualPreset, bool hasClearBass, int clearBass, const std::vector& bands) + { + auto encode = [](int v) { return (char)(unsigned char)(std::max(-10, std::min(10, v)) + 10); }; + Buffer cmd = { (char)V2Command::EQ_SET, 0x00, (char)manualPreset, 0x00 }; + if (hasClearBass) cmd.push_back(encode(clearBass)); + for (int band : bands) cmd.push_back(encode(band)); + cmd[3] = (char)(cmd.size() - 4); + return cmd; + } +``` + +Run : `make test` → `ProtocolParsersTests: all passed`. + +- [ ] **Step 11 : Utiliser le constructeur et ouvrir l'écriture** + +`Client/Headphones.cpp`, dans `Headphones::setEqualizerCustom`, remplacer la construction manuelle de `cmd` (le +lambda `clamp`, le `Buffer cmd = { … }` et la boucle `push_back`) et l'envoi par : + +```cpp + this->_conn.sendCommand(ProtocolParsers::buildCustomEqualizer( + static_cast(EQ_PRESET::MANUAL), this->_eqHasClearBass, clearBass, bands)); +``` + +(garder la mise à jour de `_eqPreset`, `_eqClearBass` et `_eqBands` qui suit). + +`Client/macos/HeadphonesBridge.mm`, remplacer l'implémentation de `equalizerWritable` et son commentaire par : + +```objc +// Both layouts have a verified write format: 5 bands + Clear Bass (WH-CH720N) and 10 bands (WH-1000XM6, +// docs/xm6-protocol-notes.md). Nothing is writable before the first equalizer read. +- (BOOL)equalizerWritable { return self.supportsEqualizer && _hp && _hp->getEqualizerBandCount() > 0; } +``` + +Si E2 a montré que le XM6 utilise d'autres identifiants de presets, remplacer les codes de +`HeadphonesMenu.presets` par ceux trouvés, et retirer du tableau les presets que le XM6 n'a pas (avec leur +traduction s'ils ne servent plus). + +- [ ] **Step 12 : Tests, build, vérification avec l'utilisateur** + +Run : `make test && make run DEBUG=1`. Demander à l'utilisateur : +1. Dans « Égaliseur », les presets ne sont plus grisés, et la mention « bientôt disponible » a disparu. +2. Choisir « Graves » : le son change, et la coche suit. +3. Choisir « Manuel », puis faire glisser un curseur : le son change pendant le glissement, et la valeur + reste après le relâchement. +4. Déconnecter puis reconnecter : l'égaliseur relu est celui qui a été réglé. + +- [ ] **Step 13 : Commit** (par l'utilisateur) + +```bash +git add -A && git commit -m "feat(xm6): equalizer writes (presets + 10-band manual) confirmed on hardware; debug frame sender" +``` + +--- + +### Task 9: README, vérification finale et CI + +**Files:** +- Modify : `README.md` + +- [ ] **Step 1 : Mettre le README à jour** + +- Ligne d'accroche (en gras, sous la bannière) : + `**An unofficial, open-source macOS menu bar app for Sony headphones — Noise Cancelling, Ambient Sound, EQ, DSEE and battery, without the phone.**` +- Section « ✨ Features » : + - remplacer la ligne « 🎛️ **Equalizer** … » par + `- 🎛️ **Equalizer** — presets *and* a **Manual mode** (10 bands on WH-1000XM6, 5 bands + Clear Bass on older models)` + - remplacer la ligne « 🖼️ **Device hero image** … » par + `- 📍 **Lives in the menu bar** — a native macOS menu; the icon shows the current mode` + - remplacer la ligne « 🔌 **Auto-connect** … » par + `- 🔌 **Auto-connect & auto-reconnect**, plus **Launch at Login** — each one can be turned off` + - remplacer la ligne « 🌑 **Modern UI** … » par `- 🌍 **English & French**` +- Section « 🎧 Supported headphones » : si la tâche 8 a confirmé les formats, déplacer `WH-1000XM6` de la ligne + « Expected » vers la ligne « Verified ». + +- [ ] **Step 2 : Chercher les restes de l'ancienne app** + +Run : +`grep -rnE 'xcodeproj|xcodebuild|ContentView|Main\.storyboard|HeadphonesUIFactory' --exclude-dir=.git --exclude-dir=build --exclude-dir=superpowers . || echo clean` +Attendu : `clean`. Sinon, corriger chaque occurrence. + +- [ ] **Step 3 : Build de release** + +Run : `make clean && make test && make release && lipo -archs build/SonyBridge.app/Contents/MacOS/SonyBridge` +Attendu : tout passe, `build/SonyBridge.zip` existe, et `lipo` affiche `x86_64 arm64`. + +- [ ] **Step 4 : Checklist manuelle complète avec l'utilisateur** (spec §9), sur la version de release : + +`open build/SonyBridge.app`, puis vérifier avec lui : +1. Chaque élément du menu (spec §4), casque connecté puis déconnecté. +2. Le bouton physique NC du casque, menu fermé puis menu ouvert. +3. La coupure pour inactivité, puis la reconnexion automatique ; « Déconnecter » n'entraîne pas de reconnexion. +4. Le lancement à l'ouverture de session (depuis `/Applications`). +5. La barre des menus en thème clair puis sombre : l'icône reste lisible. +6. Le Mac en anglais : `open build/SonyBridge.app --args -AppleLanguages '(en)'`, tout le menu en anglais. + +- [ ] **Step 5 : Commit, puis CI** (par l'utilisateur) + +```bash +git add -A && git commit -m "docs: README for the menu bar app" +``` + +L'utilisateur pousse sa branche et ouvre une PR vers `main` : le workflow « macOS » doit passer (`make test` +puis `make release`) et publier l'artefact `SonyBridge-macOS`. + From cdae3718caa9e329513aad30ff9d97390f9508b0 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 15:18:18 +0200 Subject: [PATCH 05/31] feat(macos): menu bar agent app built with make (drop Xcode project and window UI) --- .github/workflows/build.yml | 19 + .github/workflows/xcodebuild.yml | 53 -- Client/macos/AppDelegate.h | 18 - Client/macos/AppDelegate.mm | 35 -- Client/macos/AppDelegate.swift | 14 + .../AppIcon.appiconset/Contents.json | 15 - Client/macos/Assets.xcassets/Contents.json | 3 - .../linkbuds-s.imageset/Contents.json | 12 - .../linkbuds-s.imageset/linkbuds-s.png | Bin 72807 -> 0 bytes .../mdr-xb950bt.imageset/Contents.json | 12 - .../mdr-xb950bt.imageset/mdr-xb950bt.png | Bin 107133 -> 0 bytes .../wf-1000xm4.imageset/Contents.json | 12 - .../wf-1000xm4.imageset/wf-1000xm4.png | Bin 63054 -> 0 bytes .../wf-1000xm5.imageset/Contents.json | 12 - .../wf-1000xm5.imageset/wf-1000xm5.png | Bin 63455 -> 0 bytes .../wf-c700n.imageset/Contents.json | 12 - .../wf-c700n.imageset/wf-c700n.png | Bin 65464 -> 0 bytes .../wh-1000xm2.imageset/Contents.json | 12 - .../wh-1000xm2.imageset/wh-1000xm2.png | Bin 120624 -> 0 bytes .../wh-1000xm3.imageset/Contents.json | 12 - .../wh-1000xm3.imageset/wh-1000xm3.png | Bin 69683 -> 0 bytes .../wh-1000xm4.imageset/Contents.json | 12 - .../wh-1000xm4.imageset/wh-1000xm4.png | Bin 77456 -> 0 bytes .../wh-1000xm5.imageset/Contents.json | 12 - .../wh-1000xm5.imageset/wh-1000xm5.png | Bin 76768 -> 0 bytes .../wh-1000xm6.imageset/Contents.json | 12 - .../wh-1000xm6.imageset/wh-1000xm6.png | Bin 112001 -> 0 bytes .../wh-ch520.imageset/Contents.json | 12 - .../wh-ch520.imageset/wh-ch520.png | Bin 68700 -> 0 bytes .../wh-ch720n.imageset/Contents.json | 12 - .../wh-ch720n.imageset/wh-ch720n.png | Bin 122300 -> 0 bytes .../wh-xb900n.imageset/Contents.json | 12 - .../wh-xb900n.imageset/wh-xb900n.png | Bin 72622 -> 0 bytes .../wh-xb910n.imageset/Contents.json | 12 - .../wh-xb910n.imageset/wh-xb910n.png | Bin 77342 -> 0 bytes Client/macos/ContentView.swift | 455 ------------------ Client/macos/HeadphonesMenu.swift | 68 +++ Client/macos/Localization.swift | 6 + Client/macos/Main.storyboard | 332 ------------- Client/macos/MenuSupport.swift | 31 ++ .../AppIcon.iconset/icon_128x128.png} | Bin .../AppIcon.iconset/icon_128x128@2x.png} | Bin .../AppIcon.iconset/icon_16x16.png} | Bin .../AppIcon.iconset/icon_16x16@2x.png} | Bin .../AppIcon.iconset/icon_256x256.png | Bin 0 -> 13651 bytes .../AppIcon.iconset/icon_256x256@2x.png} | Bin .../Resources/AppIcon.iconset/icon_32x32.png | Bin 0 -> 1180 bytes .../AppIcon.iconset/icon_32x32@2x.png} | Bin .../AppIcon.iconset/icon_512x512.png | Bin 0 -> 15795 bytes .../AppIcon.iconset/icon_512x512@2x.png} | Bin Client/macos/SonyBridgeApp.swift | 13 + .../project.pbxproj | 431 ----------------- .../xcshareddata/IDEWorkspaceChecks.plist | 8 - Client/macos/StatusItemController.swift | 21 + Client/macos/ViewController.h | 31 -- Client/macos/ViewController.mm | 51 -- Client/macos/exportOptions.plist | 8 - Client/macos/fr.lproj/Localizable.strings | 60 +-- Client/macos/info.plist | 20 +- Client/macos/main.mm | 9 - Makefile | 20 + README.md | 10 +- scripts/build.sh | 67 +++ 63 files changed, 289 insertions(+), 1677 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .github/workflows/xcodebuild.yml delete mode 100644 Client/macos/AppDelegate.h delete mode 100644 Client/macos/AppDelegate.mm create mode 100644 Client/macos/AppDelegate.swift delete mode 100644 Client/macos/Assets.xcassets/AppIcon.appiconset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/Contents.json delete mode 100644 Client/macos/Assets.xcassets/linkbuds-s.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/linkbuds-s.imageset/linkbuds-s.png delete mode 100644 Client/macos/Assets.xcassets/mdr-xb950bt.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/mdr-xb950bt.imageset/mdr-xb950bt.png delete mode 100644 Client/macos/Assets.xcassets/wf-1000xm4.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wf-1000xm4.imageset/wf-1000xm4.png delete mode 100644 Client/macos/Assets.xcassets/wf-1000xm5.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wf-1000xm5.imageset/wf-1000xm5.png delete mode 100644 Client/macos/Assets.xcassets/wf-c700n.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wf-c700n.imageset/wf-c700n.png delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm2.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm2.imageset/wh-1000xm2.png delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm3.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm3.imageset/wh-1000xm3.png delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm4.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm4.imageset/wh-1000xm4.png delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm5.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm5.imageset/wh-1000xm5.png delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm6.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-1000xm6.imageset/wh-1000xm6.png delete mode 100644 Client/macos/Assets.xcassets/wh-ch520.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-ch520.imageset/wh-ch520.png delete mode 100644 Client/macos/Assets.xcassets/wh-ch720n.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-ch720n.imageset/wh-ch720n.png delete mode 100644 Client/macos/Assets.xcassets/wh-xb900n.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-xb900n.imageset/wh-xb900n.png delete mode 100644 Client/macos/Assets.xcassets/wh-xb910n.imageset/Contents.json delete mode 100644 Client/macos/Assets.xcassets/wh-xb910n.imageset/wh-xb910n.png delete mode 100644 Client/macos/ContentView.swift create mode 100644 Client/macos/HeadphonesMenu.swift create mode 100644 Client/macos/Localization.swift delete mode 100644 Client/macos/Main.storyboard create mode 100644 Client/macos/MenuSupport.swift rename Client/macos/{Assets.xcassets/AppIcon.appiconset/icon_128.png => Resources/AppIcon.iconset/icon_128x128.png} (100%) rename Client/macos/{Assets.xcassets/AppIcon.appiconset/icon_256.png => Resources/AppIcon.iconset/icon_128x128@2x.png} (100%) rename Client/macos/{Assets.xcassets/AppIcon.appiconset/icon_16.png => Resources/AppIcon.iconset/icon_16x16.png} (100%) rename Client/macos/{Assets.xcassets/AppIcon.appiconset/icon_32.png => Resources/AppIcon.iconset/icon_16x16@2x.png} (100%) create mode 100644 Client/macos/Resources/AppIcon.iconset/icon_256x256.png rename Client/macos/{Assets.xcassets/AppIcon.appiconset/icon_512.png => Resources/AppIcon.iconset/icon_256x256@2x.png} (100%) create mode 100644 Client/macos/Resources/AppIcon.iconset/icon_32x32.png rename Client/macos/{Assets.xcassets/AppIcon.appiconset/icon_64.png => Resources/AppIcon.iconset/icon_32x32@2x.png} (100%) create mode 100644 Client/macos/Resources/AppIcon.iconset/icon_512x512.png rename Client/macos/{Assets.xcassets/AppIcon.appiconset/icon_1024.png => Resources/AppIcon.iconset/icon_512x512@2x.png} (100%) create mode 100644 Client/macos/SonyBridgeApp.swift delete mode 100644 Client/macos/SonyHeadphonesClient.xcodeproj/project.pbxproj delete mode 100644 Client/macos/SonyHeadphonesClient.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Client/macos/StatusItemController.swift delete mode 100644 Client/macos/ViewController.h delete mode 100644 Client/macos/ViewController.mm delete mode 100644 Client/macos/exportOptions.plist delete mode 100644 Client/macos/main.mm create mode 100644 Makefile create mode 100755 scripts/build.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..cbe0134 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,19 @@ +name: macOS + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + build: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - name: Build (release, universal) + run: make release + - uses: actions/upload-artifact@v4 + with: + name: SonyBridge-macOS + path: build/SonyBridge.zip diff --git a/.github/workflows/xcodebuild.yml b/.github/workflows/xcodebuild.yml deleted file mode 100644 index 97ddde4..0000000 --- a/.github/workflows/xcodebuild.yml +++ /dev/null @@ -1,53 +0,0 @@ -name: macOS - -on: - push: - branches: - - main - pull_request: - branches: - - main - -jobs: - build: - strategy: - matrix: - os: ["macos-latest"] - include: - - os: macos-latest - binary_path: Client/build/SonyHeadphonesClient.zip - artifact_name: "SonyHeadphonesClient-macOS.zip" - runs-on: ${{ matrix.os }} - - steps: - - uses: actions/checkout@v4 - - - name: Create build directory - working-directory: ${{github.workspace}}/Client - run: mkdir build - - - name: Build - working-directory: ${{github.workspace}}/Client/build - # Execute the build. - run: xcodebuild -project '../macos/SonyHeadphonesClient.xcodeproj' -config Release -scheme 'SonyHeadphonesClient' -archivePath ./archive archive | xcpretty - - - name: Export archive to .app - working-directory: ${{github.workspace}}/Client/build - # Exports the archive to a .app file - run: xcodebuild -exportArchive -archivePath ./archive.xcarchive -exportPath ./ -exportOptionsPlist ../macos/exportOptions.plist | xcpretty - - - name: Zip the exported file - working-directory: ${{github.workspace}}/Client/build - # Zip the application for easier downloading - run: zip -r SonyHeadphonesClient.zip SonyHeadphonesClient.app - - - name: Upload the zipped application - uses: actions/upload-artifact@v4 - with: - # Artifact name - name: ${{ matrix.artifact_name }} - # A file, directory or wildcard pattern that describes what to upload - path: ${{github.workspace}}/${{matrix.binary_path}} - # The desired behavior if no files are found using the provided path. - - diff --git a/Client/macos/AppDelegate.h b/Client/macos/AppDelegate.h deleted file mode 100644 index 0217437..0000000 --- a/Client/macos/AppDelegate.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// AppDelegate.h -// SonyHeadphonesClient -// -// Created by Sem Visscher on 01/12/2020. -// - -#import -#import -#import -#import "BluetoothWrapper.h" -#import "Headphones.h" -#import "MacOSBluetoothConnector.h" - -@interface AppDelegate : NSObject - @property (weak) NSWindow* window; - -@end diff --git a/Client/macos/AppDelegate.mm b/Client/macos/AppDelegate.mm deleted file mode 100644 index 5d09dc3..0000000 --- a/Client/macos/AppDelegate.mm +++ /dev/null @@ -1,35 +0,0 @@ -// -// AppDelegate.m -// SonyHeadphonesClient -// -// Created by Sem Visscher on 01/12/2020. -// - -#import "AppDelegate.h" - -@interface AppDelegate () - - -@end - -@implementation AppDelegate -- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { - _window = [[[NSApplication sharedApplication] windows] firstObject]; -} - -- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag -{ - if (flag) { - return NO; - } - else { - [_window makeKeyAndOrderFront:self]; - return YES; - } -} - -- (void)applicationWillTerminate:(NSNotification *)aNotification { - // Insert code here to tear down your application -} - -@end diff --git a/Client/macos/AppDelegate.swift b/Client/macos/AppDelegate.swift new file mode 100644 index 0000000..d8b38ef --- /dev/null +++ b/Client/macos/AppDelegate.swift @@ -0,0 +1,14 @@ +import AppKit + +final class AppDelegate: NSObject, NSApplicationDelegate { + private let model = HeadphonesModel() + private var statusItemController: StatusItemController? + + func applicationDidFinishLaunching(_ notification: Notification) { + statusItemController = StatusItemController(model: model) + } + + func applicationWillTerminate(_ notification: Notification) { + model.disconnect() + } +} diff --git a/Client/macos/Assets.xcassets/AppIcon.appiconset/Contents.json b/Client/macos/Assets.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 9dabd29..0000000 --- a/Client/macos/Assets.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "images" : [ - { "idiom" : "mac", "scale" : "1x", "size" : "16x16", "filename" : "icon_16.png" }, - { "idiom" : "mac", "scale" : "2x", "size" : "16x16", "filename" : "icon_32.png" }, - { "idiom" : "mac", "scale" : "1x", "size" : "32x32", "filename" : "icon_32.png" }, - { "idiom" : "mac", "scale" : "2x", "size" : "32x32", "filename" : "icon_64.png" }, - { "idiom" : "mac", "scale" : "1x", "size" : "128x128", "filename" : "icon_128.png" }, - { "idiom" : "mac", "scale" : "2x", "size" : "128x128", "filename" : "icon_256.png" }, - { "idiom" : "mac", "scale" : "1x", "size" : "256x256", "filename" : "icon_256.png" }, - { "idiom" : "mac", "scale" : "2x", "size" : "256x256", "filename" : "icon_512.png" }, - { "idiom" : "mac", "scale" : "1x", "size" : "512x512", "filename" : "icon_512.png" }, - { "idiom" : "mac", "scale" : "2x", "size" : "512x512", "filename" : "icon_1024.png" } - ], - "info" : { "author" : "xcode", "version" : 1 } -} diff --git a/Client/macos/Assets.xcassets/Contents.json b/Client/macos/Assets.xcassets/Contents.json deleted file mode 100644 index d8b757a..0000000 --- a/Client/macos/Assets.xcassets/Contents.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "info" : { "author" : "xcode", "version" : 1 } -} diff --git a/Client/macos/Assets.xcassets/linkbuds-s.imageset/Contents.json b/Client/macos/Assets.xcassets/linkbuds-s.imageset/Contents.json deleted file mode 100644 index 6dcd1d8..0000000 --- a/Client/macos/Assets.xcassets/linkbuds-s.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "linkbuds-s.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/linkbuds-s.imageset/linkbuds-s.png b/Client/macos/Assets.xcassets/linkbuds-s.imageset/linkbuds-s.png deleted file mode 100644 index 89f98ed86e824ac4259a8f6e9964b11ad15de9af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72807 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 z 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%0D)g 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 N`Z^}sRa*8D{{yd7`56EJ diff --git a/Client/macos/Assets.xcassets/mdr-xb950bt.imageset/Contents.json b/Client/macos/Assets.xcassets/mdr-xb950bt.imageset/Contents.json deleted file mode 100644 index ee1bb8d..0000000 --- a/Client/macos/Assets.xcassets/mdr-xb950bt.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "mdr-xb950bt.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/mdr-xb950bt.imageset/mdr-xb950bt.png b/Client/macos/Assets.xcassets/mdr-xb950bt.imageset/mdr-xb950bt.png deleted file mode 100644 index 2362dacf7ecdb34b1142311f0977389f523fee05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107133 zcmX6^Wl)=4(+*bLt;OA?xVr{zf#Oiy-QC>@6qn*H?k+`x1uanAtx()8U!M2-k;#M^ zW^(83*}ZIIKdC8TqLH8h002y&qO1l007nOVWuv@<{e`MVMF9W@003pBw0!bT1Cav^ zb-ulkC;HW8uyu^JuI=Oqx>nB1P(`KyLII?HoahrA`_mk pSMMk^ea%;=aL-Iha2aRS;(lXS%seam8NLU)xq)lb+7-FxBlo5Jx86pt(_eU zTJ)f0(I*=(>9Fi<6Fe&{ENsTe!J=jtL0eujG|cEUP$zAwqB|3T@Z8dp&gSgwY;(Zl zRjSVO+Ag;qUeD$(UglD>EKO>};^HEq?bw*TJR`#tISHBJ`ohBJ#f1f)riu#2we@w! zsHkXF3mP-n+vL&F57g*E26n!M(u#`QygV{ZQFD3g&!0aBe*JoWwzrqA;OFlzKuADv z>e~WsZGVp+_cfxud$FvgrG<`9=<#VgHC5Tbz<|@n&Z!`9ZxmP4yLrRI%QJgpL!3uY z(B|DcWXQ}+%7+ghxbX3Dd4%~{Leg;>?ZmmbOb50R)6(+Ixw+?5q=I_&8Ui}>di=iq z{Gr>-DZzQJZnVB0%*MgdD?osj*tZgV?~yJ@HN4Nq%+Ag}e0+Q?aC>*R;c_%n6kl0c zsbOzt51D;>H^02#`1Jg&N@u3xrqnn#HO_Bq`;&nHZLDuQLY9YLoB<3}R7@${-Zp)N zlY|@6H_%tn(a8+aGL;I==Bt{lHtb!?^WNyN`nS?@yY2Gejevjv74W}1O{}|X$x_2Z zE^Y5FFKuh{e%;#IdQK+$8MxZ|Ph{@?Y~A`VDG8D+2n14bGAdWUuC_f zl8~Hxd5H>Fnwn~wmY(OJ0ZN069x)k;rsd^fd{qxpS5m=?XXX)6X8X|}D&_L2yr`(( z!^(sL7Ku1ZpnID|(@^Wi!@&QUd?f4ZRK7^t^+K$KkN>cW})wb+{0t(FrlirT2aaPFchF{4TWbB`ljYGEx0orIZ!Z#(nq5bQ4P zW5&iO1DHfao|l%Fm)kPGeZw4DINqbfQgro|vvhH}={@24Wj#TMbAW1Sf*%P=`J^Bpx3FG7KY z>`1_NXD1S=`TJgd2vz-$xw-kFV)*y_dk1LPk@xT^E|Xzl@Z0&IG?1#5b`%$``QH=L zNlkSLdRqkOdHmOp0&6Zkwl+4ro}Qjp**7;g8IzNfoBMlvYy81)FBQ9Xw{!phm0?%s z9&|P}6&!GL3Fh><`YDlJo01r?t7Z##VYQC^;rOc{KV1wg2hE2O?I~Mb)qB z$syRG$W#b8{r2?^CLiEL8ylNc6#Tn@D1&By`DkfTpvj0CI&Mmp?N0SMXz_6oh?JC+ z_~@7!I!;ctA+#aftUMDK$ruy9I{|Mu6%rqC{+;`u7iMz?ZgZ;Y>vx7|C@4gKc>f+J zWnyx2?OT5S>ox4_iyT67b?|i>@H77_49jl?1qB1CMMc5uosQ4XZx6p-%iX5M(^9i- z-5Q%9lEHn)r>6w)A0z=w=m7XKQLk!9Go?NLg`%1ox9=ko11G1t;!!q_vZ|6&98g7# z=;A&32V5uATH+AIY0MjJ6k=Y%k5ndz%0HV*)^9vKb7i8jbM9LCg(O0BwY`#7(zj z0-yZ+VYOa=e15_MfvEE9XQY~5U0*{6`v$U)%i=g}G&Fs57 ztn055549bC<5*Svtt&#<5D%lyM-ENIP>C0p7^f@B%dsr1tvB;CGw&xN(TO)Gb%y`D zVFW-rJk*x9Ht0jPb%8IG@~mgNxw!>Z9T5vz8)2=vMBzk5$2uCQq{OeB$fjPLHEa~q9m4}TKpCfk#R=68n%de7dpA+mPzx-IANhew|$q%CiogVo!{m4u)53gn!z=hP|7{+`__bs+d1Z zu+OUVdCFh^h$}emEw5kLdL@8xJ%}ySqCbvEs+D|Ho-+^_OYm51QPv$$VC&$(>%HMy(Q)x| zJqdleVT9K=GFo@jeiFUu1E`11r??$o_{q!5^B8sx3=FIuPUSxzd3;*Bntn^_`mpe= z^zpgxwbE9^OQo7B&YA1@5NzniRErRTwS-QEWHK>6zM`w8<)I@b)jw@DnKc{GS?Ty6 zHY+ZxsbRPG@p(8CIeS@KqPhHn^hB@Ak@$QuM@80R(<-6=tQd1iG&NJ_k_8R*jjP_OM?FR-t92 z1g@i)08VWP`;E}wJj)n0!a!L}$&nXW(d@JNxvY!W#t4^KZP!zq>m0R*afDT;m;`9q zLhgqs#E4TEsRLk&U_&LF{lwGk2$_KB_k7Wi-4eV&`2Zz`>=J?kxm?qu$Zc%5ae@T}F3Hg9y8ciB4I^EDkz z@;L`Si$s|Jtg9oQYpbX*ctd*6b%ls0?9!6=4L>9mkV0QkHXMUM5t5YH&0M8e-~!b@ z!i9K6X@B3_DTebvOm|2mr7%cB-6F`K^d-YG5NBjnUgHO74HwhHS9)(gitu3Lw!Z|# zHWCsMjc&rJRsQ&)D1IL;v1V>XK$!CthLYxRusnS=bSkFgpjCy*D%*2#H(PW4er_MO zqhSO5oQ;L$36dw|-kOJ1Ne1H~dG#=yWvJB>3=NlfnN6Ng$QhlBEYchY< zrjG2#uQBXd!N9;M&iPtwHF_ONAFQ`0_^qvKe?=2kDoIM$)%LLNscLi#$4vpiYM55xjV5$E8M z(pZvTiqf|zyCM@PhN%&EU~rhRLVXenFP>4j!8`jg+q#fc+5{98H~hhI$@a~De4vAU zVyGb6vXvtM8ITUhKmvB7Qqkw7g{XpfBPOOfaX#gUS=a7qh}~=2Jws0RimMxmV~3$<;@l(nhzUyKsf3!__r2k7g+&(*8KhO`(H|7Ul3WX$L1`pz^ye_ zyCaxZW1up4C6{$K_bU}==j3b==K`Gj`}N?yj;Bgi2zKv%q19&Z>lK-yBw6@(*(&DK z7_ZI@Fal$sk=Z_f2hH|h82l{kuVLln+=Tjly8W+>w$Cjt-YvuU-((;3?ryV#i2P@H zS<8ax-GxkfU*GiFQ!lonG45JxMut^G)ThiSX-!?(xmA4{OI)48bz|9X#LE0DOi5L=6-(KYsI8>9tr5bw%FAxBa9S;~lp?^9CJsMHTb@LZ4 zgo)^)A5+5mO!WE>Ep~QqZ_t>5^eV{Jx@9s)%)l+j>wLwM<^Gfldi#2w!^+X6g5peP zYWI;wke(&wYF+rXP5hi8Db)u^LpBZ6iCkM#fT76X^l#rh&+R*$HDRa6UFPA{8hkdZ zKnXplb9%11Ao%3K3l4@oFVOU)<{TQL*X$E3^eONcFF)T3NlU*J918@sf2F|$0e#d> z#wT%>4rgi3EF)tk0tum8-6gh^&u;EVpVc4>aQsrHU0PEV(D>{ zv)5fp$d#osy(yk8+)+uyJr0bG;jd%!4EiQDJTN#i+nOxKW_lb;M(hge>FL$Lpr`~3 zGxMV*?8Ab+>g#R@?83oX>g^*kh0oEZQ`ak2S`LUofMVcDUE;R%g1J7S(cLYQGb}!= z+!jD9JL}L9jX>+|K0{9{85_xqoA`ZMw8XU`jzMn9&;pZ6#+&_6-0)w(TOq+ zx0@>agi8!`z+rsi4x1waAWEVN@Z!;J_ZCUaA3#VWN59sa6v33RZ>`KO*(tf{IBLAu zqAqbfVuqD{V3XZjOcwW22*^&u3ldz0Pk3cbj9XnK?ODSXw%{jFiE@(;)@s z8@B}p`{i#Q)`(b}4*>w=3IAcd+ulik3I!uQ4XdPq|}d!b4vHz$Xr z!$~T&9wF<}brm~KLVO8vNex=N$(kuoc>RRfE}mhLb9jip^m}9DtrkWWbG=UgTz-T7 zXYlnxH~kK*tR?;Ygq__<3dPjJQQ z%k!sm0+W1_{U>P*$d>d!v~miJ+7Wbg7|X%8112yq;1p4mYqgxtFyJUt?ndRE9i6b& z1Ov`bm)#*NEr(eZ1wI2;D$C0ttynyQm-Xw33CJC}$YdS#96CvVvV;zfU}k9_0g;wf z=SMIrdQ+x6Wc7jFj+@IYc-CqzvPR{>9d~zk<^25oLAyUI3Oa2MCbKE4fBg9KY_~?@ zn#s;VV`OBM>A2Q>JbMn^>Kh^fs5b_#YHN1bS9I)Mu|f!SjOm9<03{n|PCOrHIR7HN zp{(IX$nwEiugNVl>}}dKmaM(UlWlU83G0?uFq2T{F^VbVPoH9q3&S;fer4qvd)q#{x5^OVlv8Le0N(&Toe!Lkh-~Vufjt z(OdjRHQ_V0bi9Yy40WkJ19;-%9F!!bLYG?uyM9(z^R{i?1(&z`MEPFyBS$L75kaHE zz=$+2YC8rMOe({C$Gl;>hMLvC;m{VR_jwYDiHL%B5_qN_>U5s&Vn&2_xgE>8T3XDe z3&s_oCkhg%Bhc@i#D*406g9*jrI8hsK}qkD;n+?=OdL7NA?f$2TN#xv zvADR>-Vg%={Np%SZ^Ntz4$vTZa5w(J*9-#{Xpe$wb1wO z1DxCM!6Kuxq2ec$W$z^3VM=+&&F!7|HRa}W5H9F>X6(`*+ILrG;>7rSf7{7T{3j@Jb`66D5Lyngq`Z-5DsxR9548Ib0%u?2` z52kq3#cxa7ot@jSlr+B>v4@nhXS-$&%JrYOCMps9;u8d7yJk-QTo-}}Jjx2LOF+1e z!4JgW*ETnU$BvGU?p9V-lwp$S(v91RIax}111}%%+V!pT+w)HO0TEAC^Ka4TQ=aml z4IACZodUU!=)^gHEA8f&=Gn<+Q<@?y8j*h~4uEMn(vvBcu=0lZW{?_Z*S$5!Nqngt zaXUcCzr@|N69emZ5=zZu5@Tlh(nwVdl&~V$bZs|=^|9)+;L%x_ft^z2rR9p@{M*TM z^OiG!gTd|F1y-F!cH{1g=O(ME7oeWrGFKq^QnlXoiJ1T0ec$5<>6zcv7$d|o^Q+SV zr>+fbjAie97@pe)sICLJd8{)~oNxZ@s%Pao1;qdE?H>kleJZ)@(e4i3hP2n)BiG&fgsaBw*J3VCv$HL7X~Ev~>25R8oV zy-d23LSO}i;pHtmzxdUyL(gsG14xrcRFJA0h4mIG;$3ucPc59ZM&<|!?*t<%6Hva@ zecA@M0l<#3Ymg(%^mwuGxgfLr&$t|dTF2)lj%39Uu&Z=J0bHI1T`O&yE1fQlw8x;B za+JSSD0->8JVSL+y$9Rq_*h0RF46jji43g#4y%2MeE+*;C<$6*asHy&XoG%)u@<6!JGf!Ab;BOi$-4kL58+I*W;JHwSVEB-uci zK&fR}<9fkjwRP}V+uOI!jpq=&$3CnRIn;c7d}K`j=<`UQ`LYF;cpDo~55D6Rk7j0g ze~7rmPQR>XB;_NY!)-mt!r~Y#_9YABtjzPBL`}Y_5TiLnc(IBu&K++=K zy2vY;6f4nEX^H1b87-J@tmyT%DUoYho+g#P=o8al_d@Adh2`>WG7&F_F->)`*Q(7; z&tztHRvtdS=*dM0DFpTlI8BK`;oXmBq>jHLqQ5Kh(@sqj!23k=9@aWZKR4xR%?8%qia5AChg5JoilbnKuDgy75JzLzyx zgEmLp33Pz~f0+A0M$#zp`pTU_8reQAdY_la$|fLIL?;!B$Hw@wb^a?^Rl6lPc}k|3 z5TWQ>S-fLItO=$gm6?S`dXhx7uQ@^TdBt<$_1}||sy{vc_k#zPp!Ny=L^`}!I>+V4 z+tI$jYXhF`gYV7Tq0i?$tlHHdPdGbN;>43%Rw5)WWZs{mSjr+|hR{0Y>SNK6c$b}(fSFDN`Y^2w0LZq z{<6f_cgqz}px9=3xh^C@YM8d2etLRZS7X?5rF=l3yk?mz?^arVFa>?PRJV%D<>R)Z z2s)B#3K&LnpXxZwh5bY*zL-psOq5i-l~*w)gmCE&iko~InhP&8{t-h$>~t%FkmS8C z6q1m!4lRu)Y~?Y+k?}4>mr}#Uh0+E9-`|ywlt3qfBnh4FhujUf!GGrg&#G+^(nU5gC-f*Z&I?`koI&T{%_eUb7hN_|SyrJ-?e?EM zQz-|Ix%`g&&VIWKR?xRsHzzkSGLwr2wYbuFc|6iBxR1s5@&eP-=Vrc2)pRPoBN{}x zZzdg#Z}kmiQZ-doC-Gh0=RsD(afJ6dnoO>ljya0{{;QiWJ4=1N2R4B{YeU!@!F_to zHVs1e-Pe{{xQ4MV(ux2S6U0wu;e74387B1Gc2Z~@Q%5 z=wwx$D1j+ndvf*OJNR0Fa)f}WnZ(xK7MJ)(SCw)txg=gmhxfk~LS5F~arn6HRb57@-&)T95}oqj|tBmdPBiG?SVd(&Io^)1?zhsih$e*VTL6UR1rRq zzZX1Dz88D&CKYhxLPCl>P*<0*g@G#=W~|AyA;}%V#>Q0c!fdxI{xKztS73wZE5-p? zba*eZvK!MO*XqJ2KQs9(Cy7$yK>p3b`)rIlNcOh_gydv~cY8ee-)|gU*_|BvUnBz% zMddL|N(fxdz0Aa`1k>F-om;4*l}+2 zNY|iB7Y${*q~&x5XW&_z*>Mv_ZsM0}==Yp(QWop8){@j_YgbAm>=$&{^(pZJlnnU| z%;P;A^nuL*qu#npax`{RN@lgG7m5#3Mb#eOLt9`1SH7WtF5MtU-b{uNz{l>}4DYx7 z&Zg<7kqOV&&D$yO?uMT~A4l`OH@?ix&eCOX0zT=g0-i=j7;Nq1F?W`&3)8L#Rk8IN zEn+Qv5I*9RnKzbtbp!+{Dhyu)y}UMuc|4-9bLGzuf%l4iM8&N>peI4dDrBOuj2is! z&vJFDbuV)@U3+#yJaQ&3wzdMHue*hNVWmzEYtDCPKY5*f=J|G#iYUF5^ebULMbi7v zrh6(+A5;^vQEwd5!B}}CGd`R0v(;Zp2cFkPd+<`2#5;1C1!a&;rufj;_ypA1S1eTh z;$@u)mNSzZp~qLsoI%UKP#XV>`M@C9 zwg26jwu!PFM|JjpYye_vapYDnAe0W)oexk>|prlv)@ ztN_OReASPsCzHlor?_Vn$fPO>WQ=-9=YlwH+9Y{YFBteAtE#Gk-L`&(cCoOqM5*8T z4Z|JtW+Wvg^}Q^%^|@be=jglk!Q?Shj-FE`O)Xv-h6b7e#E+65z=6jSM7rFq(Tg5k z;88eaPgEy*q(6~s@KGr&Ro1Vw8vS3|8rI*rJajO3Diu(@%Q}e_?*zz3NBlvlxi-hq zhX}I}eG?Rs9#VfS(|5j2ef@Uddyky?)$dZrIMy>uz}Xm5Boob{0tEX0UFv)BB>~aQ ze#XmS9+7igYyWK6NkgZmq!60YE(c)1$P2icReq!= z5<=*D3bcNXmwF8pEbIyR(Jl=KU+OzLI?Ai5P2DGQQ3@{G6JkFXmd~xO`j7P7Zx}rO zgT54;4&@3sr4&q`aQ6N_T{U1{#7Rdp!a=5g&Iw3my-M$0LU~M9$w3?#Qjqu}?K?OL13(Kr0{c=Q$cRx%L3#yz$#(eU!tJg26j!;z{w09o?UQ)zSV=m7?k? zRZghGgUx7l|B>e()ClzKrzQtJ$mrzg=yrB>vA!LjK<}QNgHH@5OriPiQ^M38#O!&_ zF#pE%?rfED;SR>x;rW{tT_C0l{lep8W4NF6TkO7-+QW27BuANFs<;u&x3U~cI*-qi zr4wHsI?qskdCq6Nr`&aS;j8O?`YVS{#3ty%y~N~1onQW63HUob|0Cb&)H++Chnj`# z_9J}R!IBKsJ?G_*%i$#sbRBMxLX9~&7zN`zE-jQY4}$giF!<0#$O8*#;wFh4I#+2Y z76pOY4>U{221-)8X;wT9pAU&F2$es?dY-tf?G0I^MP<;K$;st5@$vIzqfbekA1zzg z`lk63(lIg~O48x!wK%OWZ@yFnKY-QA1zo7RUEV~2<0?R9bVKSG-Xvuuv}zm&790nh zTmfhPX|ek}ivWbYtwriYz?SUXhhJeQy9PptLhI(Sq?oU8Clhs@`i7jRy+=#5+eVoWC`-!n zM2Q^*@~4n+(ujq}9evY7iy?(;`HXYZff807nTlng5k+`6?asF~vb)#%1eb`9w2pAz zdn_+TX>YP2sUZoDuY@EV3SdbfXtB3Nr{X?5?F&IwZGTXFO9 z-b7JC9~ddu+ijaHXwNq~2HEtyqImNq^u1-BOhTgnnIqcAILffSM}12WaZ+r_j*Kzg z>lAyZODCTOX;0Gr*Tq&cX6bN7c{qZ!j`86wS^Ip|E|9NaG_k9-jE1A}T^od6U`G`9 zEOSU&A#3-b0fE9%-cQ@B_3?&L+-nd-uWXE868zWRem*KX8nj&u$9Czgrk2!h#D+c_ zkd#z;>0OGlg?uh^Akg`l#t0A+(Yx+)ESa$DsjDj3N}0cV-l<8yF0weg?JfV$17GOh z+;*NRJxs_PQ0m+&GlnI0^5yYjWe1Wa-X5UqcdM(GBLNG&J>1J?Qo}SK76uP)xP`PE zYaFp~<4xIT5=8u>1MAkeQDzlTk&}=4rBXE!fL!Mn3w|HALjKm>aQAFe6D0 zvD{j$S|tAZ7BQfgY2+Y5+QI_pbWxVL+r|!bgyisf=Pt!yBqR`EU}7?cC3cp3QO0B_4FJR-)5rB zt}d>ag^paxnjhKo9(0OwM~Lv7jeyxctIEkjk8HqTo7XCa`hC|K=^<3oD(0$~aI)|= zLHOM4KVG#tC(c8pv$yQ=3$yzR1e`Ez>>bZL1zY*N#v3#J-LwEUR@%Wb0G5)J%y!z zz7icCu>JLJ75X-sO6v}rP)$yq$K_!oBO~b0{Szn)*}m2ojF)V;h8J; z2N%MUm%nV!%8%^#ZQq{fRu!wMR6s4}wcEXV#G_|Pe-VpoWO;4bq3#Z#-AJ}R$9|+@ z_r%jt8fB$j-@9&xY|MI7H`)#Kg2*~rw|Dlj-(EGGhlhTZ(#9MPxKW!F38hqLpYXU zBMV4R5+wkUDrVj?KemjNSXH=UOm(q4j_;9a@MSOiPxYoa*hX&#NrSDJE;eHsE@_Iz z?aQ;xN+BqZEg1b5kVc+k`W-!q-m=~SKIQYMfpNSEA}mZL`jMaCi{Fr3m&JCDh2B!* zvi=~T*`|I*x)*tIW~0Y{SZ?t7JLLnM4NUp~J8bqEjk=WMgb;w`qn3(z63%R4YzZDu zS@QzHCGwlr*RRme=9BSL*RVc(@`=KCFV#Entf|ll+tSX_k?%0iJxS_BOC>XMk}cPA zv7l!PW_RZ-W?1oXPrk|Rwg$#nn61vrHV2eyNNgdE6thc{9U+?fiXK{3=$XEk$Z;o7 zO-%@z+0Z)c!KIz$U0og3*8pZQRF%ip8%7|tIBZRmlhsW~!nO0gcidZXnyCr#ygV#? z*=y6T(f3UDO;m!JU5V_LK*D&Y;f3N$21bcpg>@#9>WBABD2rI_GA{C4Keh%;_wf3$ z>b6B1QpGNZ@DGkF3Nr}81?1*tWV8}r0KM-+eYsQdQW`*OEn^dXjR4Az>?!i+`E zgQ3sC5o}+X&{dq65WRG>UST0QBVVb^X8aG{iSwW083GdlinUZ3f$>?^h>|;byv*pX zXiUrVR6mT=Y0vWfHd{^ohgp%b|D5GZ>BXGA*@(#eeKgg;sp=%0W0{j4&Xh`aSu%8{ zCrT-eK+Gf7%uIgOW7}{))LRthXwu|n4$>j1oSA#*c6CBmhmt8+IFA;)PqX} z3ZkhLY@9| zL;iQihGzSvdrH=Ps8p!9SUPIqT4pnbiF*R1js0e#C)IrBl+Q=eb=-BXu!^m=u)tUn z;^X_mhVNxRv^&S{PYX)^t>&;kU1Eu8`6jW^eZ3fNXi5*RS;}X z)phymavbzH@iiwHdLJwReJq4BQ$=2fmLc`bpXF?N$F@XpbiIUg-sKD#wJxQeZua%P zG!?#{DttFoRaI?Flk(keg5~kz+&u4ZvgSb9(%g#_;uauH4SHmtU2=-=35`wX-`q94 z2WmiSyG1I~N4@6nb3bYH#fnG8^5_!AksK2kq91F%Sdz=2{@`jnNHRC#KS2yr0EH&k z_F~F44p=Jol^~|&W!d;W`&kCuB5&Sr*t@&A2~XM^;^E_C!_v1mt# z)gQQYm&1a)0Li9|uh@zoU|_)$i=kq-B|?7#Y>r+S^;UM6Yd)PBLtoUxGVb z0H|TutdC{&{4R$CA5|+ak`E9O*=@<&6{%y;&(-ZzSznXLd{2}l9U4pW(?-yO7^KD@ z1uemkirdv5;VJ~;)opE?0Y`!7ul;(~`M2MF$rXKlA3qrz8;93Qot&Q&SD^p^C$ZZ2 z*C7C2A8he(&yX(|@iE`!K7~0+>fqdgQ9MMk=SXsilaO_Ah6H*M7H3yl?Dx9>(g4yHXJ(b7YJqzPch)nh6-Qqa>8S}KQ zw%a>=0Q?htp!Dwh_6)@g0&>@XPH^wD6fu_0UaqH!bubF042)bc}jDljxD4UJ>EMXVzFD_WbY=kQjUIn65OAW-Xz z_d_2zz=XCOv3z#5?-vh9m*;S%v}k{_m&8f_sPdx!F{teJ+5qR0_m|6h%HeuL!vCJM z?`|4uW2~;BrPVA!fM%2ghMmWpKH?&}A(Q+{vxxkC47=Q)g;Zc1PPJGqy78{H>1Qc# zlUcy03u6FwNL2Rf1DT;nH*qH-0A4YSit*!)0`Zg6a--Zz1t0;I%4KTz_#^lkZ+>aX zdl{DL0WH=V`Agr1yGr_zkN#`hd|UeZ`d8;#%Fw&HEgob-Jlv<~g+Qg3If6TT`XzCl zogH#>cN;rLxJR7DmMxWG_B6}cQ8(S<*;490)Kd0sG*=m6t271Jvvf0RDM2dovCyHx zQPQKU;&zg=;d`D4kxI8De()GZ1{?iq)7U;56)CACqNG_3sgq&5J>}aB@|)Wjh`wv` zL0+*qmw`eW+oloH9hq6h4V#%0eB3|+<_r_n*errw08P#%3l$|sdW)} z_yO-y`STD$(4L0P=k<3lv#Zg(vBJzZyf*{qx=;(Fk+5BI#QeSFeSL)h_o4V56tIU* zoahfnCVpG^`ns?=I1pMDB}a7C*=0cR4ws*aX7Vo;Vl_(xHC4o=d-bdCr~3$ffp%~1 zc;)nkmfKHhR*b5d`M;6e+>}#~GFj}$z6E}qtTSq&3OhitoxqJm*vau#Y#ozOW`vPL zt^vkJp>4!@uj=(Rw`+)c@Af$B*Tt!1&P)O#qO+w(vDeqv#tbRD$V{%9NWd_LUl=w3 zK^V@ofg?yaMtR*N3I7d=i5eR<*%fOBS5$r+uA1S91b{+H<$*OVV*=d%Q{R0tDE*ZT z8ytcZ3?sdL)ipI@+|C=_ft(&xPwm#F>K&aFwW}jkWZR@8WXl z_$%**xf{1E)>D2ABTC9v!W$z84~eU|oZ#HSz%`#W%&)mvl<;4=g{9t_tRS7%uoWa# zm*jWI$VeDjq_ROc#i7RG--59E%$o-Kw$fZwj@~H?|H-2S@8bYaP;D)o)3l;*5tRVo z{_;o&jy8W1sy%wdLnN^=6P4^#+!iWT*u=XwTq2l+GSO$~bqx_Xf88PO^MStJZ$dX} zYiqlI)+&&t7!SgD69{?{Enyf=jv|6z{NWRZ8!~`J@uM?(xu_uWy>I@06+6Q*VMH&` z(eXfcm5Uh@w)Mjw8TqII^K(H7cz>k0^K$aS1 zBWOd1N4)5YQgE)10Je-N5fK8g;0-tB+plLQHYTPct~yPini@yEEDch7gTKGOWj-8y zLnp6>&+fIb#*OE&KZ>{@?Ab!&(Om|-w>?4IFT_;vTkwprqD;ENf<(Viegk?D^wuX0 zXi)yXDIqdCu>28B&5AXLk?qZ%r@(XnP3W4-ASPcQ^z|Idv3MJUFlVpZ`v`Fszi117 zZgUPk$hNis!!5@ep^M<8BPc~0sS)rJG@`+_d^!ZHN2B2FP^%f4)l@+@fRyAKM@JA^ z$T{GG%hyR`k*20#%Y;i!|B#gW=Vu!0Su=xH!iISn!(80M)_$e1Rjc)mv63cNlXmy| z$|x?L>fm1id*SEMwx%iJlZf`%rAj&mh9p%L6*_!L*r^Y1Mhs->32hJNWQ7&@*4%5_uL!D$wh#u!r(MXIEV;PGVo41>$hB50Nj6$ z>nF^X<}6X(IF#XZN4I3nEr^HIqVAR1wSch!U#X8_aqz%V$3$e?)UN{Rz-;8ihW&-L^3 z2p-{P&2PY1AHoSr{>Z(Dq=*P&;r z^(e=2L*}B${U_CZsrV4r?HAI$)9)6w{>}WtOzSt8tkmN*l_!*Vz?=H}_iyvlal!3T z2QdN-DEg&QyDkSP2)i)8g&*-f0CzE8w%v=mNTL4w_vHFc*Mb=d0MU(%`!~(NWaxYF z&!0bqc42~3tKc+H^b|^x-gVY_LYnZ&&}-RJ%0QE8_-wr^{N0@}V`X-)y0s_|9n3xdm5we}@|B7l%23zcA zmNW2JnWy3C$DRV{0|>HJMGKW7S+ur{RhF}VMoKC62XDf0neM zWkmZ$pX|8DZnMI<9jxrcIAAB;PAS(EBYu0EtsZzVFVS^5Li$y+#zs97w!U~fG%kSV zOI1=BkHr7h7m&=57br=4^q>jk6>QK>;ti?oG1nH{m`HGSWIw(x|1y;XnAwL3`bel((56(CXXvJIUjTZXx$coxYd-;Pxj~9cZEu zCOtiUS?WSeuC#c#k<3jmFO7h&i*72Cb{f%G1<_}kl@TP z+xR5Eb%k|q^&Z{4gt(Iz_Dwc<;JR5LJp&zL(}AngX-LeqbWa}nuoy$>^To{f7nBb6 zvE=u``Ap{u`9>OeUIqrbtIG?_0tb9LUwf{33g7muVS7S_ycIuT=jl0DMovbS$Ll!6 z*uX6OxX|X&!dD!8kLnW078E^2vP6a-Z0$%sMQBK`tX-UzQbUhL9#t(kQa z<3H!X`MfDmP7X^5fmfRROCE*TItHoMpmsQPvbDZ+?%jC%t*9(*qAq4tt1tE)}tz0YTT(xZf9$#bO7qqu3`vY8(#Ml&q6`D)0XZmZQ1 zK5hqo!qU~F8Y0*>JJ%V8nD`YGq9FJBNjZ&s1lO0KWh>>c z$sIK%!xqu_5WNq}W~R&9&C}C#3@BWQfB|vwKfrA(CD%H8!FTivMAEQ*>{FL5TLxxk z=KOALbEmu%O59tS!`^rz^m-=EnkGunQr+YE!r{PSdwDM_P*To@QW*22SwAN{W!`p_ zqNBUJ``PFyiVt0?;Q!I|6@FDU-`AI}hnDW{kdlz@MnJlxL%NYJ>F$>9kOoQVy7UzU zE?rmY&iDBJ{NDdy&Y77#Ywx|*+SEPByWhT2K3o80Kzvt=VpV2B^Z@H$n*o|Bd8^~4 z_q_-#AbeDFnSq>~T&uZH{Ch-iqLd?Y^FQE=)002DM#m+iHFL6!zF}g>g|@V3m1=~J ztE&iLd$eWivs77|xaE)#xBqns$c~ZOvoKI3t@IEjr0iaepJ3l{v)$O`Bv=G7HY>(ZfMFI8mANG#7&-4mS3ZWU)bELd*q?w6`5y7qDI|Hk5 z_wj2qcMpGT@W05%6Lu6owS6(4;!BLr!X^UqoO0&az09sKo_34%ja|txPMv%U{9SP< z7;`KxzGT75lPc5)loEdY)4HsvAOK`*Vmj)0b5@l&c1Q7}H*U1cn6O_@;QPXS^p-2+ z9iod1)Ac^ZzItfGJ);H&hzSHJ6_+Kvyu4=JMS%PM{XI~9HeGLbHbpmT{>Op_^qEZw zAlk91jHqxnmaGZ;fh(_gVBa>_^S|NaBev6GHK{ zveGPXFt2lctB$OV<=VzkzfPx$8t>25TQJI=%X7(%cP_we@tgpa1JF7eE$rQnVRPbL zkdc#@f3)L}(=Mb9=xOQxdnw=Rxq}ZiFga}Y$9}yA|3o2u{iT&3#yGOlhh~f*;JB*o z0}Z$hNFD`{cMWs00{!{RmDB7 z8shJSU=>8}5Ql9`jPU()p(m^)-|~u|Yjbnv`wSI1gG2PGL~49gECp7}mX_HftAf% zYGIyN;-*^4fHghNT;vfw20AffyMSvj$>t)UAkKl3C4TRTx#&m0_76PW=wWHp)|kd_ z$Hcdtt0trg!W7&L`8B(4>W{bPUz?sKzUxT8;AN|T$7CnAgVN8<9jr)*Kd*?lP8qbi zYI}oylgm%C!pQYj(WpZ;K-Aj8In&=;%{(RkK{eTyh|NtJ2fhKMA;a{=@=qK|h`ZaWtC&k~^f#uAe6EI;PnR&) z@IaqA@j_3{63Jy`^qM%HU6T&2Y4=wO)Gj}pwztma(Ut?(l%Dz4^?QH?ZbPlL&7`qF z*;mbNBd3n7NNJ!%*4^h=UKn?mq4sN!Ua}m%L{Gxy$E|~|Z*?9WmBQ1lG+)v1gGo$7 z_k++eeeE^Sl}#@mYb!1`7d-jiqvQs3bf4~T{{CJ_UWOjB7a zkWu#Ip{1LgHdb?#5jNOKB&cevVute`? zCUfp>4GsTl6+YUC=-NCGk4XI85vJSsu;iU%$Bc%CRsw=09jw}(4UlZ03#4x#go3*7cO|5B;$Cw!!eOi7$OYy z9W!q((_i+P>kHK{0#ohbEguo_N`xnhr>*nvG0My^@#g>QGFm~N!3LoglZgkh^<5&LSwpurKg^(){R6-`56<=dY2GgQB9Mny4he3MBzv$d>r;E>8zICz=0N z!g3=8zI7;CJ=8iZM^M4X;LOyA81!RQy^IISwj-D5g_m#icsSvFA2|Qb{g>MR;pTHW5MR`k=*&y~$DW=Ogt#h>DgZJahd*7J^^QzUkAH z?K7oVgE4)fd|Vkq6NpvEa7_<7dGK^Qy4`*C_`D-1F{s}A^fJ$7VPsPMPfhz8E;}&Y z;j}JH;u)7qQIAi^MDdq$ZANC3T3seoSmC|2K`$#WDr2PJ`Evj~ju3mI zu5CK0gpzRi6^)nJvSM2dmbF-i{ z#WL~;m>V}GjLhOMA3F=Rgg)mu-tddl2)L6eT*%J^C78v_;P#v1sjN2E>8CGRjNBlYTstE?>D^aSoU5ff6e#3R z7WXpO+Wq)2;wHgjy>*UO6G`17d|*2nF4mMgZC!njE)Gi)U+|qYc8NcMsA`ek(1(s8 z7Y+>xd|Iw);?5{y7ERQ~ zG|&)?mHS*Tp5UZE*$210srqicW#;&vo`D?Jr(St+;&R#p%%8|;b5i4^}>R`J2cM&tMJ z4Q5vaf|u$(jGMex)w_;wUa)XD(S%w5!9au?&5x!VToQp6<91G7p{^nue&Jg{HIVuP z&r8&JZ@N$QU&k}xlnVnL{f|qh9Xo)wXbh6jVu->I)3Bhz=U<5KPZxLyswmjFzjZQm za9IWnZ&#NKw*{`t8to9yvvDN8zZmQ5M~4pz{lMLr&`9l*u$;UfXKQshWu1=N(;Kf)uL{5+7TZx%(g>FZ0vQ)3u- zTtDS8sOlz59^Oa<7%4%xka7u2x4&7xT{?VScw;+#u0CLfYO&+EE@@J<}#SC{qYPH!W@d+b%-m=NWY_VaBUmy@g;&8;c zt0g!unfzyncC8)0$1SS;X9PGl%sj%4$rL>CuSXG5qfa7N?iWJ0BBOpmH$eZ*jrq;@ z7ek{>(yta)`|5d{*I&;rN#8sT>K9%{Bk5_?IrOXh<)uJNGrWRN_IhYlbStPnimFXdt?+A#i zK)u`4FoOg5InklVq{cC?X2JIDZF9IjMIqHuEuHHpZCo;csucEyo}1N3?;kr9(182; z8<;v!+>`ElYnWnS`ZwnYD}Gft8=d}cWd|->tl)J1o-pY(&zXY?>^GmAj;-kv=;Nbz zoCQ4J=wm;z#h;Ma;U(a#Xuo1p5jr6H%8RK>5XI5@s}E&aLaGTD%samvKQQ%dX6SxD z$%!M>#QPX&t4Ws-Hf48a;Ibmvq}}aJ?o1K$QJ3JS)$Fz){JmlC-7r_+;a)fJqyVNw z%8&(%pXfdw&$QQJ4u8W&wKH%`3uBav_jbgWN6$D~tD;Wypr_rQ4?V}ulW{V%T7o{V zLRJ@ln!&xF9&i52b_~n`1{Gpa7Qt8!%fI$h??vF%3FQSG?JvM2IU zs??Wl3OT$O4pS618X+pWWaGsiwK$DY%^*Qh5>PV8ypImxrd`u!6Ax`6a6zx#(B~6J zA`_pjXV>c-cHsOd`lX_E#|IOp&TJ%n#KUu-6D+uX!*;RPS1ub=XmYxvFYypSnq}Vk zxt>XP9$)=EE=p;pA!X3hd4tO`VI5ug67D`ERjiXcg&^K3(d!_OFPm_5fEJ$p&y#25 zS>35xeWayVn)LUbDo;)vc}hvt@ErC;f|WU*rI{n~uRAWQCqON3PQCXJ(UT{$w6t{9 z)RvN02+B0ea96#SY;%hzK89Yo!DJO^!n@8Kjt~k9%Xp=DAb*N?@bKVs-1y;}4HPG= z(w-l0xdMT5GpEb~ZybN9vNn+Ep0VWFFl=s3@D!yXQq;w@6cKYshXtKfuCAB39U1T% zW(wf8kbUAqQB2Wh3`B_@uNqUR^M8T$!e0nI8UG^{P?@$nt-Es_TnADp!x>*|6Ln-& zLz1AK11L3BBlyGc6wtwQ*`U$OwJTyg*j+CHk+Sz1G(9~hCx;C9Ngo70|2ks{fB53( z$ACaO$IeXFL3hUYISM%hqwFgZdeEj+AGzmHr%no{sCDju1NVFtoFJ#Sp@Ff-HGILg zV5_`V_WFYmM<8Nk;aAV_vF$G#mj&P-d60)|cECxEBrYaW|E~5Flo@)#5*8bcDvR#$$&d^@(zw6!aD0Fb8p4nxFPfKR_AoQSM z%~R0x!IQJB)$6kn_s4%<~{-8RM=%R*hOJ8;Sgx!j}akRHnUak+5jFS z_mnAn+9t-1*f18Mm5ivn}C!$shTj`O+vyC04lIcL*Ir zfV@x(2wOa3^~T*Zzgw)7k=&dmtak=WLd3nq;@YgWs+*cVz@c|oc}!oaa+;-PG2^oS zNOYeUiXjHc!>8#(rmk88?{~=wFK}_l*_hYj=8irX%4xx=v-9QwhYNA?tUTB0VSdsz zUY+R(2E)g&8-$BJ{eCZrj7jaE2!`InDnf>W8k|?u-0mx)@{TMHZ$%p%RsRF!#+;Ip zlgACg9a$yClf4UUsp&RkCkwxmG)H)ES>I{TG*C&n&LMVsO1?TAI=jALg{*A^yaZqw zt0E+se)Kov0SV+w+7>=fU8M)986OyipqKUDJ+K6Rhvmgya>$)WN^)}Y=O;2Z2r(Iv zvy<^4LNvkW+32*FX-bUnryU88hv-*IQ|wB*hk*CDdYkx@_A#>llZ?LhT#iPb zYq%H|c9CI3gMA=sYw5`ry@T(PcEqa{4jG$Xitw1}Z|2(0T^(kAA`Knjd_(A$g<90H z?Nc7PDz&6|P>>Hf7Ycu@6e0|kJo{g?3Tg&;?Oj>{0qXLAg&|lz!$DIsrMA%Nz6K&= zNRy^VIEeul6FBYNZOdXueVNJ;aF!i2doy5PeL0(Fu_h%vd~vm)9+VT#7nqc-%47KT zw6z;K0reFNTmQlU!haMod|8_{`WB!jB8~lW!SsWp9=c8WHRA0)*Gf=Eputv2l|Bbn zjp^Gdyp|}BMA}fq zM?D)W8zjQGneB3Z8SW4m@~~A}yoiHA&hvk0pAF1$$P-1l@Hs46W3yPV8W;${{Rig( z?Jp~Zq5yBO_f^~E_rk{nav`3QhK2@ISP~%e5}&2YKRh-hc_AG(;0l_4!W<1MgjO>W zCfDCrS4n(OX74`_x`lg-rBI>K=CuAm(?T#1kIh3?XAk#gGl6)*YUc|m8hQ{l)aEcs zjWIgnNZHO{f9X{n(CPHDGJ30~0^Fq7 zIlB;tclC@|u%VCQ^ZSN^V$tLd&2vs!31cIyWBKU6uF4NCb(&C5^!8+WBUCq7flLcv z*lN+EV3GU$29RJGBbpWME}R(!l4V<$>vOLFBJFa!Vh02ltf3N2N)W1(fs`!+$Cc1K zf_)ipd*j}o9`un@a}gXA_?V<8lBJ{a8lYg;-wAb_f@|@}RM;d>n6w0*Z3HVT#j3r`ijYZS^(}M_o@;5cOU|tGAAgrcQ^;R|u~l%5eu)?1Uz?xg z>ieWJeC?b-PaWv~gqFU~K73qK2 zox7k|Y0@VSQ|$|^cz_n0^>tNa+}Gb84IZ(c?)=Rg<$Y}BuG{>V75C+(#0pK9mXugf zLTJgcVhv}==`W&lN|(*{8cLjkY9xt;?&co1C2<|SW#c9SYmJO&yy zMrW@=OCVl zD1g(hxYA@X+WmF|HIstcrMAbo0|ZKGQ~QOanaECyDgn2(|8^W#>NcJb)f*2!Cj1J& zScKI9dPgBCPEYU>PvAH=QI>urQ%g7Td*i0<6*EHWMrOxt5MZ|80l+qf_&>$-<6j<| zQif#06cS&jJ>B2+v~}gb^`s}{DqX;M!W<83P`7-1*y)1?{c(;0nj`ptNi2CR!o1=H zaI~OU5)yPg^hiLXaYB|UQ6{3eOeW+aWYId2w!_cJme1zrf!W(F-%xaKi8hig*DPn5 z6tdG#(P&^vwi%30`-fXSG4X%sn2_$&|3KvR+_GWEBkku`>`bix{(A%RZ!8Cx#{(l} z#;sLjcH*l71b2s=#SeNfIa0Ri=K&Ao9`KgzGt3zYL-3M?P&aZ-@yM^hp{KXJ+@E%? zt*&MroW_=b7X(F}iEwu9M`T5-M!;3YuTe0Af)&+Y6g*c}wliq#c!X9;%YJw9s|r7C z1*`|h%XD&nUs58#Nb|6Lm!a5z)VH(m`y2Rqhd+ET?bY^$)pSY7$&FBN$qDfUn*Y-s zjdX~e9#fB8{DI3sTgY~C8O&E?x4C)F{2nVphe!q-d1)+LkSms`m#bHcsHmPf%ohjz zys=13vJC|9cu$+G_DE*3v^aDL^WR=BaW`$>KGK19t(&*pahMsLyg(`MDaletoN!oi zdAs4v>08gU9G#y}f}TDJ{=y!%AHFI~-0Ou?aYg94u5*5VOzn(Z&<6yIgfu{F|7WX; z2FdDwF}5coD7e$>wlzQ7HGj!Zs*fyj=76zXd1H}`a=0$w<_;PYMj7nZ0pv`Pb{Z(e zb$4{~ditwrM;L@$K5H&-LBkQKV1OU4!0i6*oa=a9aD-Hf5-t=xU>tUsp8^^cV2rCz zHY|pfdkd~V#k0T#+Uh-z>)iIF*S(mNew;+k>1IPaYT|hJfM@W6CuOsjURS9L#lDZl_!qf(DJ3Bidf>`bXI?HG3 zev}OK;35Fa2U`M0()2>KBL2?@-lQn)Tf!63r-$dx#@9b^*;hY^45eC=j}W0hyn zC;AgWVq3&)DI*pt1jYletso z_q)x}8RWwb=%hfAWweLc)8y2SftNxT@PF{44?H@EVye=^Pbj=8$iXR_0!-088CS$~ z&w6YreW`ZCQ49n1Ro()(YnboW&R{FeHk0*)nM7Pb&uVdLsa58|%*ra8gx4A|U#vvS zjlw_GQXrO{sHNg|5>yZlC_PE_t^bN z`q8kmt}f&^;EcUcBmu(V4DN84xc#cx=pln2*%(Ld6JIn0Z52uYBlu^%ACGga`JCJ@ zeEG(BqoPlj4I4aNcwJ^HLa6`{%oQ9qfM@E&!FApDNYm7`ud%MKj+hL6&0&!hh$>^( zkT8-fKOE+kvfYME=j-DQC4XbXp{@thz7Y!zq5z_K=Rc#PFK;`9Mrb>HXPiRSYRKv8 zwYf|HHtCDN?k2Z83<;p5B07k`O`{yn2*YoVD^-l$0oB|s7c*lqbC zbWo_g2}y?^rhSzz_!>O$+3=>>Isu13RsFT-_lT5o3RGLiKw8D5r1;pDQYMTzv4Vh| z@D@iIH^9f7WvUfo^0?knotM|r+Bz-89p(TAgy-$aM~I3&8>E&kzh&Pg!jv0xVn*kZ z1?w;joXzzuniSkHow^tj7*_%&6<$?mF9E^7#YMjBu%GL9yM=N#Y;wUQVX?QLl$4dj zVrP#1w_Fxy2H^D=Ip?M3KN(Q89TYoAedxAF zx;LVOg<-YHdy|>3^!4wUn1HU&WmEYqS%<@qdo80>QG=C02`T9AE{5kLDW*)0*qO0M z5dJ(hQ4Mb}C&9U-GQ#5d9aDf&U_m^RmX?;`uFwCL29$aY=R`=A5Nk@meWOt@$LOFU znqZJPcTH(F`juvSsxieeACPXv_VL}8L1Z>~AToT24@^eo`D zroQVq0a)57Y*|gyz|c^aCk0893?{lgFC~bl+yJ+nmmBMqc{p*DfFpK4)w;~teL8c* ze_Q7){xghNbEdbziv>s%2v)}0`e*vP#&xDev@9t-UR>HF-z(kfN& zAqG+Afue=Qj(+*o=Ds6+(a)>}N| zy6hdVW5lCB-bp$TpM8G44o{S;=GIr$)J&RJW_05g)2%6{7{k*sjiih%cjJ?}4#3kM z(3f{i3eozG3mH$vm4k-<{3>Y)c97`#-LXyaG|NuVuPatp+RM_QsJXad95_tC4?wIh z!UIh#4>o&Y-i!ID@Ot_D5@Y-|r({k+md>n@r`_u2ryIWqhH*E5iSDGz{CAdg zU)k%qn7F2=r`fu?x-=VUzWu3eY~%)&0{-V_qE);`^6O;A-4DHA$_z7XGgZ6Ig>f}8 zt_QeezcHK`imw*Wk6y1g>j|m&P~#Q$Q5+QoSw_c%|(C~ z?iOR&%qy8Im?GddyLax)rIehh8|ktZnD#H>INu?TN?WF^=_1OJ?wrRmY=n*#aU z^n97}G(W`XGOVLF?+2fNK)rM@NQVoO$e{oj&x9cd2+N2s<(zvuhFpqVLDH>nEq)|=73+UWm%zl$*=;)|4{@JJb zu$4m7sy|VQED^coBQsp|`HrF+-XY7QBYiXC77?)wfje@ov*g-Qzz+`$%6@zUc9NrMd zv^rn>ay0tHDgKa|n`<~}0Tjp(|0M~|A<^-@D~IagtNaE$ZmvsC!3l{zDq;#sGHYM> ziI2<;vrc@(;Xs`#ej(TOW1k&a8N3Yl>s$ty@>1?6{>baL48gMopLHG-h1Y`2!m&fkh$ASJBnw$3h5yFG21)l&?w{?P&iN zNv89IUprl9_~_K1ecI#vIE!{TzV~8Z*kS9jNARofvHO`uN;RJKr`c?46fm4aCpo+S z6oiI`76{Jf{m}mSvChffega$IYk0WXgzK+(HKxkLTs`P!PU%faHGM{QQVk$pO$^-4 z)WJ@ygR!)V*+Npt8j%I+Ec~Q*?~iUTzwq+#(4#2MysfunDwWYK>On1`2I1N9^YB?J zOKJDwbkKI`?}k&epHjQlRU~mwjDTG-X+PA%VT#0l8zYm5qfp7DUX8SAGCP$! zZ%0{O_UcC?W_edz@XkcF1$ec zv8N(iBAlF~>5-9akkG}i29%vXgP_9^UO_2u)vpJgG+9L0I{A)v^7}O2q{b!WI;$Ju&m(GQP8BeMNtDb2~%gY&Czkk0lV8&@Ty8Lh zb_6~@$nOZd+3%ih{d5N`2(63vamwTYXDvxQ`pX5pH2z{wC3lszMZiTQ^*;+)aHYi} zS}&2*I~Bw09Ig3a1>?na_JA3?YMee!+4B@y1Sw!zOa153OrT6^iUg0xAx9&hNQqgC ziOJfF=kj5NU_LRywW+mXIzMHOkdkQvuHUn{2tjrcy{L}D5%b&|Q|-d!NldoSV&eXw zkjfjP_KjTB?(2CGJXmK*Sz-BR_OKOIQbHvU|s#0jn3HLe}-DA*D2B z(mg&((M=0t&agjk&&J6qR^9LckieM915$ItC=AqBu>oV5g!<^c znuU)$r=%WNGx+SmN*EI12^k3mJX>Es3Vo7sM2>$Mpa3C9mwMKTeVQXOUNx zkOs!;>+7X=HF)Rhi3umlf)h>hEam-0s!k}k5TymEPw2wgK7`@gnTS? zbad9RRDdjbz6Try-B1r156pf3Vh5aQDm#Wb>Y=#Ln4I+N*G}IE7SBwN9B#tM2IHAWEaLx zp{b0O_oSXE4GW>gSh!;z+G>!pIm}Bs>s7b;RwrR9rNq$0GAK?T2CKk5fWxI90JgUs zdbA8J8UQ3+DL$;EL{sZk zC(^N}zK|Rz>Y4tNNZJW8 z!~h|-@9hyY*T$%fVW18S=ar$u*3A%x>d8~7a#p^Br{HNO7e*r!Mq)BKGgH9K%xpUk zB|s@{5m)Bq-F&8}NGxLZz$ui_mmOOO1Dl_3&bdF&e7m$6g>6d&|ET!jA?MkjTF zF-=Q`CdR}HJoyMDJiR<=NWT9CHZ$N!@K)Ezq!fUyd6*7lbILfYvn+_pdVS>>pR3eW z{!%NPmscFpD>xabuxvevyT#++fpPwtpL^Hg3nLiy$p;aM|MWm8$SoWk9QC97+MQEa z2<>p$k|GIui%+n03`!1Wu3OJZXaAOi3BRr>MX|L8=p79_z=gz zkQ6o8*<}!)>2B)sTK`p6ou1Bj#!OFZL1V6YoYmrmWPao0(#}#noxE2raZ?i$v1swo zAvinqe=G8(_TK8HrjIockXfN#{R)|e+~>?(X6?o@1$P7nE=sc{fZ^OkI7GHI0n}+Ps__S0p`}?6%*0^XW1|B!wrGk?-PLsiU)6 zWbi6HgHv&K@>esw=_MGUjxVRX^1bAJGO6p%@yil&-^Y3t9)@Fy1X@F-K*LJZgaZWJ{LLkWuyq zX4-)dv@QC5&U|=wS<-+wG2>)smmTl$p93>5oitC2-G?G_Mfou)lOTt}g9WloQ#}}y z(7fC20vdDIe1Br~@Vu)47Cq=Y$`8iA042#w9sk7KA6kD+YXF1wr0Lvug+X^`TmEw5 zNh0Q7jDFYZnOKH~K+Py#d2pu_)ead?v}C#XD({n1^>mUL`&)m14=DEyH{_DuG$`NysYee7H?5DSu$0x|f4H6|~vw?`pTn6$Me| z&IF(y0;2>W(h@;P32_@leHH5iLLpvR4wJdY?fBmcBt2qKWxOM2mw9BUh>Gv!q0`&< zXOF&ddM7zx=cCHP{p7RTjI^{kA_9WH7Y!fDlgt$WT#ya`AhuA7xO@4ofnG*}0Qa0& ztSuJ>inhHk=6ex$Iw_`j#na}FZ|_OEn%Il0YUxqEPJz)iIqow;2U{%AH<_9Az~rj~ z9O@$V#tv64+CI$Z)~j;9db!$1&a{*DdNjL2?|GdcRMC4j_ap{JIg=Ly%!KI@0oyh- zacB1wAimd#AXjI=m|^JwSKxl8BSBO=#1UK|nrZfyBuCbjBXz2SSsT^S`q3#@hdI9> z(ZW5WTbcofv86Kl z)rYy!%P&H9kmL^{dQrUAQ-XLfz!+>ib!KK}377yg-cbpnXGQ!y{;-@>I8+|s_3$^a zy!NG5hq-6$DPP3OOttDo;i5q|3)bx*c6WF>z?PHL2P929C#x(O|6WIomndU7IHg$z z0}*nbR(UQxHDjUGpS9N`z^}E=of0kP#|r3)Ht$U& z#g`|J*)U|~SM~m4!%%;sg8_!8kJrurmSci28UGJJ-UDhleFUUX&u|yzox5t{^+EH50gKWss!eq|JXwx=9AxHzHgGb#A%W^ z@;M>ZBn3ua@HSdc=hSI!=)3wVeh+$mQSSUUAd3(r12RkIzY0ZK#hLkQk(No8+U8#= z?%y!;DfIA$-vDygFq64Z1-~196%3bOTLt&^K(6PK?Xh(aY3r>KSLHfmIpR%?7 zoVTSB4LJvU`}U|;Q4Hx@4c67|V?_6&UE%l5012@-!A5#|zcPUlQuwf(VK~Kcz=mU) zT-c*Bji~Tiw#k6+ZW-hCn%9XY=Rb%}oQXu>M!Q=JKhl<(T-n^x*311}V(Xy-l@|;s zOo_W~w;LFls63K}Kf%c{&u2W9XeiV=2S~$ODct>OzBqq4Fn0}a$??ZhbWU5O$#36< zWo;np6Q97UoT5v*HB`zR9tyVZLE$#jIjucEeyr__`QV|@GknFOFj!w*WyQciDt@iM zO!E2my#G;{6rkhyi<5QZZg%ia9K1IfL!q12zb9E4-6?wt3XmK*3q``1s{UA0;2-kH z#>u4#y!l*1<;d++I@r!$|6y9a;D)cvd?M&6BO7(Xdoz77ySHtTGCn};l^%w;wO1MOYNM*+Kl1T4T zY;}Ii!GHbKeV0jr$5b)5El@i&rlyYWZ?WVP{UpHMMRm#oy2wk~+S)3|%J`XD^S%2V zKkflnXQJ@OWwTNaLJ(O}L7|mnd7B$wYmujsH~i-1(>I1v_lhxhx76X0 z1bvUay}h8E<1QdrDFPsF9PlhSusEM>K&Gchbqttmz3VULpcfB`!zeY~3AHPmr}=oI zu=~dR9OZqY-T|SqT>y0`{LZOSlld@Jxn@$w4?f@?caqkV8kwh24e$g<47nbwaLj4F zm!kBYzTOt*QHr&gOQ*{(dUSJuj3?e`iu+U3bGt4qK*=VL=Y`AbfV3byS0H2@bJEtd z?eofI^%IM$gxmb$VhbrQj?w$wsIzV9=$24h+Er&SexY|P=whp?3o>-jhEb9^@Qtc@ zA=A80dc$V}JO4TGmbGN(KYtTJxg_GmL zQ%PPMjjvI_b{ZB%Ouxw>YMz^DH{2|ti;#)T^B3*#^8B4eFE%)YY0ulXo*>j+PU}^J znUCQs4hlUJ5Zw=G=%X>B^HD{J10Jh1k37SrhUyZ%E#0NwO4@;Vs^Qk5 z^d)|f>D*aG--5M-qB5>pEfh(|l8Fmfpp8O=QDT)-SN*c+JQWNjTmJa7B{aaMAt;^q zmj}*58?CVjDX9SbDg)8~5&Sh^CVD1i|2=VVc-{yvd}0Krx?X&qJdIOgH<7As>7GH7 zu8sIZOI4JLI4$0!`9B}Ep8xxAFVBw+l?@H*-l4+7Y zyfZ;arh+TM;vpT4wCmzjJ!qBm`R|ypw=j$;;6bw6xs-xW?^ta8;jvg+l?ldgm@ri+ z{@OA8`~NmpjqSgFG;98VPf<6yp6Z{XklB0d;Udr_&gR8L2)=$ZWyLkjKSYgt>8;ZI z@5%k5grj9OX|NBVLpi#}3AO%%sz_HTC!|gqGLD@(i(INE4tT;epWNz6!)1JGdzXY$ z4O15kbgP0$r><@t@|XOpC?S*%gx|#EgE}JAKqIc7;w?%Fd2MFWo|2!QU9I@atE=t* zg$?q%+m15;t-vGu>0Z>4aY}8PenDzhIe=KwdlQ~88u`n~qw)ynF01!n;qzN0FEg2w zY(-{^2fh3Pf?7c|tiLLKVq&7*jSrYa>Aq_{gssFVA@+#*?7=Fpu!kslCv4oUxA_fD zA#wTUnr?Yyh~4oyFkfr*_RguK@XKyc1y;-E^WEdYRJIndxV(`a<8DD}5(}V8tV=_a zLX?6VtA|nTO>?_T4;A0^9w`oIsHwF`{*5T8s*PWI^~C?2HG!vm)oHJ$#D+p(dA>dT z2t;hFT#?beGzBZGy=s6|3*O8@2*+U`FrXI6eb;0{<|Kv2DvMaiK%Er3yJ}ByA*mD= zYI3P3T;du2lzKwc;Heo_-%{w)MYnSzqkE>UTVxMKDgiQ&PDGJ1w4dI zH6*t$wo8G-F9*Uwkuh`sDWQ-+2mh{W+}x2uvZcGEbHrBbdE7HL=iU4_FOJ%5%l(#w zH?S52C!av=_>3;bl~$A@5mbq%jrAW)`!o4u%|$xO^%_OiT;SGmS%yCvA*Y(H&xhG;)AMA9lD}u^k zfAM1|hLHMki@FhP`om=j{Y)~BP|(X0QEg@%LdsvfPDIf-e|)X4OR{TD!AOeg?Ze4` zQp0CiYUx!C76N{rR2mCV+%Ra&NzG6EM6&AY*WN>#TZlE*t`TA&C$oG8eB-8zWn&Y_ zLgOc63pq7Eer){@hDl3CL8nKC=3-uH+N4UevrAQ0>~!11Xlu{D30?#S$doiUH|IIwbCnl- zk{yuZHU}=770^|&2HKsR;$ytPqy;oW0x2Y55_rcGcW;4tv9WZWpn=`f*lKhzE`fAv z3Uvz+mx;e606{&uN~v9iTmf?AE7{w=#FZ65Z-i$T21?2jFNMfa{!NhtGR1hK{HE*=#E?PB_G< z&ACqu=wA%{aRc>43?JnHW^Y}g8*SJz07{gU{P<{oz~&26fZCu(<;PN892)&9e8{0c zU(~WJCc3Z?Uh#UMo071D!KIdPigNx!2+>P@pJ8DxW3Qd!9OhzlVGSI6^$SS2meUCx0Q}yx~t^}hjRFe49+ew$5rE%@*X|_4jKNhTpXmR)keRN9yLiJ6DgZ5x!=G~ZW4C8;Dm0icCZ24^|Eycr1NN2|H z#Hk{JFk&KrIgZFc18j%$H%r<-{vCEK>LvokEQjqmF=tQP`$~&A`#F2k%MO~JWih=w z(WVy4L*}}DKurc4%Tk+NOba>fy+1+=6b@EP8FHU(2O@!}zNY4U5G};j00EeVEUyN% zQd#BtJEE?hJrz=oK@!>*qN|}&vhPOdVMdIFeBp-_5k;lGpdPaO?)ZerAtkqxyQlCM z3X$c(2#gvwR@T~1!pzhRpb>BdgyTN6lN>#9e0*TS{6|zrC-X%FV-dN41y0}4YQvo` zEr1bL#9iKgur0ySA17l|If_O9Qe;Vrhp)C8JGU3SP1UIWJmd|TnVHUFa}GjvihqIp z5oJ#wmQ9>Y)Nwp}524$n|T=79`l9?D@!RT90AKim*wn*o^ zme(f)vHi<2GRZbSs=8Jmgp)nb92c%$$B#%hHj<5dNQ^*s5c3#Xa@OD8XL+zQ66V+kOw@| zGH*Q-Kew0-gg&ZY8K^l(*gH8DgyC>-;CP)ah`@)xx;4QmaZjI9GLs7;u*OhQ{j9>v zNef4VQ6-uk$P2a*47p#>IjpK+*YY%sXX=P`qyyZuxLdGT#CM>^-9Eq|y@9(Xu#fe2 zoUmd1A)N8+n&$>~5S5!WJ2?!|^j0`$Tu&a?iK;AM(hzfq8?nu5X`!Y8> zRPI}Em^_OfW=p%km9aRqdx^(qvB+SDH_z1U>(9(?G?UG1bK;lHdDN1+zrP;`_zSH^ zEtBe*KJ~ZCcjMM0$-qD|@I-32#D9pjj3u9Y4Fk0&)lWCA#}3YfIiB_MiWx`v5AFOy zpr^O<`wqgb!3O|^QLqAtGkulYf9)_8fcA9Fb&?p~cvE@YSl`4&{};2r8rfG)$a7)> z6)BNFKkyo#`XJ&{a4t=38Opp^h_^JzveB)f#T91rJLvrQ_R5k{U0v;PdkQTCO{N}E zZ^jjoZ4KF4su+$3PG`4e{WPhN{ksi=dg>X&QcSC5j2G?T0^R64srqIxfzV%2;lz3X zE5-V63kr;!mN%Wc&RY%!EOPjC4Vl*l4oe<&

m|9z1&t@2oG+#uPvX!o}s1argAv zSgPg@oa11jEpKUaSH(a~{FgT1t4_1tTF61!JfhXVtaN$8rd<{Ufsw|lmR8oPF=F>~ z+Pl_CkU0?d@kL}Mig17NK&WT}aqq2iET5SzclcS)B1bQj>ueeE9XOwb3sEP(e6WoL zWTUqO3_Mlu%YtQd=Z`LWczMlO&wN$KdB{Lbm+Y%2N=wFiQq$6>C9l378&mLb^#qe( z@)&%2KE0I1KTPT;&@N*ZeuDup9jpBGx&H8_00o{k3K6d#Xig&USknkYcn4K6l+oTX zz9ToT{QFL1=ZhT4y5>$qM@H1f2UNMW-AeJM;5cZ_?={=5;Dc|?t-cAuiHZjjc4ylT zex-O4en<0Vtu}eCBWUSySx0L2RKgy%fk2?4arR@z@e)d?rh)v7RUM|z#@uojc8zaH zowY=VLz7dBJ*x=Q{L~7qe|GIjmApzgs$ixM|H+ew0}UC&9`|!013vnH+-QJ-lgrA+ zrsWd9(u)isMr%R!Ka3(CkZoX*RCJCiNw68hrflxjT%$fr#0Wn$;5nw1Nu7Mc$~Wmh zwb&Olz4cVa-+1EemG2e*bRhv3vwRBd^iEq%Ji`KE62Oee*ePeoQpiOe#bBr&wk|GV z%xr=+VX~N7{6CJ)GAgRRi{e9fmvo1u(%msbgGeJCGB9*^N_V%Ef^>({-QC?t2}pyy z_jy0eVy*eaz3`87&ffdi1`3T`N5cp70xZe&mlW=rqH3UB>|V-Lrbg`Pt9IAokm^e} zst~!{rIO3_`}Qe#x=-5yzb$~N`bC%9zP!9n_z8MKlFHzv%oNUVa)YQN)vvVa$xN`H zqqpBg7#_D#_}_C2@#5LWCq- zdUbnpIta=JlD0NBy69o1P+Y^U^D0hS|M)q|)H?LL0ud`|&l8(CnUd`m;P~+FjLS`by2?ZuU3tfqR1sjLPH;eQ{E~l(D~#fBp~L8odrUf>h3WH zW?LBlU&`F4n=30>t$=Uu<5E8$!ndyaxx;-;lK&K=OE?(UnB6Cfn{XSx*duuY4R7`7nNh{*e+d?wqMr)<7HO}J``x|pP=J9BGK?XCz<)G%zUD_3;my-mwsF~E2>J8(kHR@ zt4)65B0Oicjn-9Y%?%A%4SyTDqDb@Kq<_YFr*kv$H8n80a9sPDrYDfNbStzV<=sgu z{j_GGT9r&iEf|`VkI32r1-gDcYM_i7rCw3_P}M^Yw1D|lwtTqb-}-S~jBBr~pKfQR z^L)-*+5WRVr-8Ow@hq$@Gvne^mxnUkX}v?Sz+n?^7BR#sU`8cr8?56wJS+>dTAFVV z4P<{}z6Uz{5-FRrg!WKeUz)aXl@LM>hSI^K+tFvL=V&Z~suKV_VtmD${TU66^#zB^ zA2u3J4IrUJF|Wu*b73=#hH?FQZ#=5f>Y`jnI)Dpr59FkmJ9hCyNJgN_=l~FyO!dlXFks1O2d3S5 z7j>T{a?lYNgG=D$nk?>Fgi9?Bh=G;Ukc#qnc9oJksj|cR?v8d~hjUa$CNh z6#obb3FkWLNbY#k{u4J(0t3p_E_u5tgqA&BBzI12Y$B(@%c62 zLOAjlYh)5__cBBtZo6dS?QD8TQnHPQ@!GTp| zqum>;c3k$}j*gB}3ui(_fwx@K8GuYcTx+5iS+T>>{sdnd%QTgew7J+YtiFdwLRjCHXC*tkVr>3SZ z+l{vTv{>$Nc`5-UwB`-UQ>AGobiiv)Suw+_`KnaBpvG<)$EK;WOb4rUE8=hXwSVx& zPK$LrX(0oYR{rmc%_v&iS$p!5?=m<6MkYl>kyy(1=hGVdirH)%8ul4LP4e{xI%BcS zMP~oKafNW_hTsGoGB;V;H33S$KQbk4RVeKw>~tXf6#N`Kuw5WX#aowCxOYXO6q!{e z51O=!!gwZpD+AHr)++9>>a>54hd;0;FsXy z`hInX@xe`mtcr0_cTq@n#gl2PLnZGP4rKZb)&70GHcXmPz;*&cu*vX)mW&2Yc;#vV zmgV@vHe@cxw!#F1y&t%rwvR(b8W4-8Yo{sp$erH)$>5MfQx!HWzkc6vQpx%`U2kzfA(|v-Pyz6 zoMp=^AE57M_~AF&%zIY?o;FkAcq|i{sRVub1CC?tM6~Y%@yhOl>rW7Emt2I=LCZ4& zi-y$xMaIqHQMMhQjNqQXpsT)6MIviWiX?Mnm_gCkLWiqyB~Z#Vv(97HkKWE z=)#hV9D&P7q0P`oKw3b~#=#NGEY~3`r2FgDTu&(TVCRMeQiW%`xYaWhipQ5nCh-qf z{WsFzP)@uGw)G0Ew(nAAF=z5xy*$6Aw$R(gdFJKzeG9;U;>%Vtj%+9xY|y`9)cq=J zX?y6*uijg0T>qh6Sx2v9qNm11gX^hwF8n)eJ`D?`XTBCDbGd<+ z&kG599R35#?K%WJt-d}I8n%6Y`*i!U@9xwPvlNogNpTS|>ESPLn8J zE>CdJ%6ZE0(unwl*7LMaq~N8jMOR#@FAl8+Lydk@UMJJQb1FI{&h*48yCk}f26L9! z!m^J#N%q5rF4j!eJ$i+uX{@(!x(<9=W1++3h5{WjXTaP#Rty;rIX!P}POL9wbb zP@h4chz1hLiWBF}vV32Tqmg3Z4EKg_NlKD+$Eu?LJE-d}(Yohw$xQZyQA8gZM(sKS z$I(HOy$!f^n=16`4^p(?l-p+#r>BE7LnXI;KF|^1;jUll64S~5K$3v!KkfeA1}urB zVY#xlzjKGPu2_yyl{8Avi^lJyZ8)Fy_`?Pj&=8{RZ~8D4ot>jd$tZZw&L~}sXJm)PJIO!$dN=A{9MoTN~O7)u0?LK%kY*18I3#g2bTLD@E&B<_KPKbQpqu?SW zu#dj*Gm#S(0>)cH{Ddx*>S#AKc|`o&f*(bn>w=cKvJiu3q)AMQ;F;FCjz*9WTk4Kz z^|=rfyWl7g2Zewb00)tei@qyxGgDJw4PG~DJS<1q31*#PD6Yh!v_k7q9BmK0Tv)26 zXwi^`m1V>O#vM-e>{ycs_V4ThT>hls1bZ$|ra5v(rp&*ttJdT_sNn}y_Y{*j3wZc+ z-L&1V$kxR~XgIad!@a$M`Ud0RQxWeym%$Z%6;)W3E;xfMIXl}t%6jY_;NM|_==(lL zGBc2-Y6`oQ7VDYVt2=;&1EKKSDr)a~0vs!uK*TkoJ&{)MkI2w|KUMu@>2!*>=ME`F z^lw1892xs})8#YEJHnJw4sCN#_&lbbmkJlu`_Y*h&HrRQIa=?0^D%e7fkS)OqsL?9v>A zL_$xn^mcBYi!*~7R$E{yTuqI49wiN(`Ls=?N~khwg!z@2;}3i|LdW?v`7jE4IMVb! zj9(zn+G^tUcX4jaU(XMhkB8m^ErAu*-n*JcbQYWzsE)DU%>;1Fd{~HdeT19&V*^w7 z33?5y=%)*9I;GLz5gxh=LgOeh##b&>PN^B6-nx|%GRc(O{{1^!&WU@5N7>t|?fB?4 zsYb$Co4dZg&+qre1p$rJFH-jUlwykyIoVL|nb|)3J~|Kg!e2x0;aGenD&FO?qXcOd zjH6ZXoDcjx2{9~nS`}m$5m}6*i5x{6jjJ?p0CK7?CX^?~8rI@=t=oLOi$md`rw3w< zk|OlQ9jf$dpD|swkq$EfCbi2RI9JHGMc%uP8rsY;=2GXPJRL*lbW(Gx`yrzS#B8TI zRUMk3NxBiSflN;Gy33LldJyp!D&hI3=J@NlHQBPc(Z z#pq{&Tl2_n$3Oqs_4&`?jB+Mg>{PfrDzUNng<;uY^mjLZhro<1a6__zDQ5xZaE`97 zeSdF*l^gI9FE2G_S7zuyR=v%%$!U4E=vUV&{e}IdMZbC*3Hra6!j?aN2|x2tFoZ9y zqD$}O3Pv0@T@%~|oYYR($8!G-hJQc3dfsK~>1A@dthC+X@t6v?+r3u&`vS!9WlWR6@7#bo7 zNGPIAFQ~izqFg>>z2qYukD#DJP;WSi$NC5w)C<~0pZlAV1cChIoZkbGUKuJds-pD5Vi>r!2A0x8NMK@cfL+WHS0`N$TLH%?1sh4HTs0JjK)4IGICxS7Ix{0l6D>TB$HKKSzivAAJlV=sno1uwlB8N6aZ;)y+ zwzN8eIFAZc|ISO{QLb&DN_QX|{n`q~@V8K{Rc4bc2RwLGRAeJ)JvR{3LMpRzDx`Y5U`R?+2JjX+|5h;BvM^HY*+XNkIG2nmTZD^4jM z*8coa2Wcr!VK8^iC|*QZf6i|K*w8Ka@po$vRxNwPmW2r92CFMZ6D0g^$aAser0c@d zLal`GLg;EF?E)D7t^isuoVBBVB8>4XOC^9iZ$y{Ne0L#Xf=wxImz8a>=Yd+`EL(eZ zeZ?5q!wa&Du-j4lfx3w&JNy%GG1;4`?2$L^i=+hseS9(UhlI7X1<~`T6%pa$`Jw;N zMga$eqYd!IK|w(|U$?ilPE7zbi!|6_qi+3lsdbSdGZB}Q8_kI+sxU4K3t|#eMN?MYcaC_U{uZRXk{@boVUB%rA_%9&g zn(aUjVf{@SVi!fly0=54$-@FCUnT|4DBlFkTe$0-<2nCqTfvT!l5MK_4kiQ9Wx&@I zk~7OTI8V!q>ZmcFMu{BR3Yf+wN6#V9xv9a7oO=$ps*D`Fk(xVGq!PFoX3-M{zJ!k? z;rB8X)pX4*Q1JzLyC;_kIcq8ZnVYltU@*&GMGABOgJSBG&Mo`EV1O9byk(CopV}q> z!X#d^{AKn<8aomc#|ut2Jm zp{$9q-;_KdAw}>7{A2m7TWPt;Y!r*rkKsvxpFr<2E|H5Ju)C=EY;{QZl12V#hztBj zN_u?Ys8VUCwdEx}0k5hmg(_xYYkSfMAI#Y9XYx(2{Z<*0Lh+{I`o6e26oE-s3y*?i zi-A6hNg2c2MWA^|KJ;&Fqjlx`AKIMh%Yk2@w(J+KM>T(2dvHMTMYRbR4E>E%e~z*Q z?85EFCViQRC!^-~424Nis%)2N*db`brovDR&V4|vqW0M}_UgIH_*?B9mGGa-RsZWB z7xv3dtEbh%3}_Az)0nZU_c90}b-0c}HPNPr!Q@ElLC$qe5r%~cb9feAE26l6Bt3^G zR;0V>h^ePBSMzA!zSTg5Wq;a2Mp86DzrVH1p|by@ie&YHeblY{)Lj&QO=ql4JU;33;@+efbT}2ri`9JJ${x`t$)!ie!`t~jFv0Z_x=ho}alYI>$?&Z>TZyZE&Th4BUi4w_0~5X2yrJLC$GT-2-0daC_R=`( zy2KekhJ1~;C@4W|;apeGh(~Y;!oZw^*U#7bNR2trD3jn0KN`8ac)WnL&TKRS??nr9 zulVwJ7UHU!ly4ZB(+nuv++G22&JaczqMlkAuw6ZF07+?c%^f#q(F63f$v8d0;CLmT zlAutC4~tVR3!WLvf zE_1Fy>u%X;F#@{AfM%mxFnc4DG$O$*?1fDsh%U$5L#Bk8)wenn=XQ2Fp2C{C|2An7 z5yS3yhSBQfF*+b%{-chs2T(l4cVHGDREgVa{;XlfNB}=a&{N+r?>fQqL#jGR9X27^EA&M zAtWjwSj9DT88g{Pus~y#8nTkq;?8JxE{uU%MbUoVZ6-A$A$?{Sh|Ti`1jmNq3unms z2fgkCL^_+Y8S@92DX$==UpZrsVNnTfmYt5EheVcnZ{;Giu*Z_HCK#YOSC%(uWjjV@ zqXmgmkn_3Re{!VR%AJzmO;Y0Y+KOW1d>sH9xzv2sPX8H-0HuKt5Ivh25)$%XIPmt~ z-ri3jEyJ}Tq5lK|;CX@XcY&XH427jYoIEyWjO)RkMNCO)DgWW&;T>?{`Kx?G34~BQ zudR1>UT4?Du^(FV6eqI%1=>!Tz_?_XCuu`&D$%jf%e|M0*3+qWnfuKH1U%m2`GRC+ z1*s(^>$#`5uwH$p9_}EXa!T9)Wv^)~oD7ST+IgRDft22mV;PF%kT29%o@H1>nWMYN znDe6J{3^X+XjLt@Kom`EamS8$=0s|Xsye~dakqTeTX z-j8-Z@8))P`s_bnd6~TcUTai`knMymgQTPnMw!U&h&sz$ISDRh#Tio(&``=Gl5u_6 zX)wALmdG3ZttdtYvDEDl9>zeG`ARoLq+b3AS)tIQL3w!uXl&JLmt?+g9-kVB8f~A> z_KTw(x@``7B$~KPp&P1L`|;a*ZVPgkV(vAZzy9#Y=u|t;7+k(b0QLMK9*`=(T+Ztk z{WpvT9Ip?64q*T6?5uw<&W-Tq)_wBy=qLv;Bx(X!^t8qK`P9|T&3sEJLZYk<6mj`p zSrG3~``u?;5a=8`ae6E!=6r1}XJRHPsVQk@CIm=9YLt_EP`N(Tpyt0GqWL|yG-Xmwf%bB6QiTUH z9~>}r^zN0hD(Kv_w;72|yx~s*#nj7m-1ce?znA z6~^+!G{yoyrKC-yTw8K8J#ivsuCxhDg}n$hQ6fIwEE*f%^iuzG93Cyf_{K*A*#9bD zr@lxyFUC=dToZHXTac0e9e{_CV zY%1}4&JI3XmUF6E@CX@Hha2{@*Lf^PSu2|Udj34AMQ>{WsfsEP6Aw2sYbla(j0bKB zGzSVF^2%~NB%oxW(v z;v)SP);0FAs=nr(Eo|vG(x6A3TIg)qWiRs_y}?(-88r5o(7#?FuWnv6*k9Q@JdAX6 z-P$q*AQ^ZT+%AE;GB^^fi&y18s_=s!0s?N>;BrPee=Ut=XfOnzbddCdh_%`Id{~>a zfr)G_j9!z3-vSvK#ZZQK^nE##krdnN@LIC>_`hvz(Sbb&DJKsp{~*JnCiB7KiK@~j zZAHC=OEsw{GF{acl0O1A{=*mR{U>n$j>tFf2M!&8{2Yf4!$+qT_!*!chk3rDh`Tbg zZtGNkvcEkqOF_en$fFgF>qmK$SWypC=heikd{*EL-?tsmon#WCg;@37w8J?vek+dR zgyd(xbDt(0zQ<-ZQ;v%@sWEMr<Ss~M1|{cM z%wkbY22o;~pyZ9*8rI#Y!xvQ9fxbfDvbrAznlIlnn+_XGA6%}rUXKy!7+szzEmXe( zFQM@JZC)tg%d6f1w2o~ue0)Ek*pwY69+vy)vQge`K6^e+l(RfD_Ak`z+6>uk|HKh9 zyHabVxRkccuTe|gmh3(^U2LhyEv|H+Tu|enf4>x2v#`^2Xg}sS7+*9t2UcMSroWx= zP!%#ToMDs|G(}i-f%A$PB57e%)X?}EdI5*Y9m~*-?UAF?q0S$hcdiOo+|lvrfzo?= zdfKY4&bbet>hyvK0u#nMwa555!P-OO3CkV-B{w(G5i%)b{KuoWWOQ_#DEAE+8LvVd z1s_&ytkp%w3-@DolCipp6(ModeyC>VI{{_6K>9ONf3JtWfak-215Q8}k#aQ909X89 z+H^1V%hBK~M*G=MAs6KjF3Bv^5vM>CK$Z}zKdP<(b-&#ZJ6uiUC@Pyc4aZ$K{NJ{W zxi!MKzFan&X>or{>*n2O#(TCjQ& zY%;6XNBS7c9w>kLmzm)Aho#Hd=@H-I<`|k0H44-lMzUkK?eeLf1a{Wo^aa!YjyQ=D z3zN{$wb;&=hyRDzc9;O75%W8ipn$OSUq1@YLXMGM>va+!_p7R0tM~Zm_OVfyY3s<@ z1)yjq@PU|nnXWh^Q<#FsJsm+sD}6)ywZAv)$!?LGPFQ-$b4Kk~M^g&k@>kfMZ9-NzKjE&v}Vk$9uP3EB16iCc53`>U=hnBg?`|c+8M?xp3vYCl#u*b(~x2cGSxZU^F2o^kn zAm21Bf>mTEz%^kGE=<0~M>DOB0cj3#B~gu<{nArK7Z5c}?X%cZEg8)ZVo*HwOk;aP zavlQz2hnkO6XC~jYYym>D|wewb;slHr;X=>lULt?7}CKrVN$!?5Vd#Tzt!3MTcYse>HHiH3QxumM~W~c3oUV{Fi~lVa+_aH z{ypYi(NM!aSUi}#YEB7t5C9h1_`y#%sEUgcw1&xb7yxF!=Xoc16k(_E_?soOSf?1m z&nH;;>*+RXzguHf*V+)l(7K8XgbMReb4Z_qz-OR5J}H~g*;0K`hAPzqY~-ZI0bw2_ z&_Z!VV+tLu)MBuQ9k(dIWMozQ^V=9lX@4Rh9&CJ$s*GUqeClf!=qFqfAVti1Lq(PL z`IiKMxYgz~YIAM&BHafn(*GcDqd+j>)9Ys|y-eN_Vb`rdmM}MjBxOZ?{dXcpL%)Yw z_AOcv+7IsMbXf=rkV6X+rc`UY_m^NX+7LVWla@?JP|)D12!dqLJbZy<6#*#BO&&y% zahI0U(5~U&5dV{jSk}2NW{XN5QGvU5Is*d_zhO(Ryi?3Ut7MhQL|cl7N3tQ9hwk#+ zHWfFu*9#76G@&U8pNxv!dVwC;-tIHj6D9ZGD8oSFKbvxZn(@hhC`8QW`ydqRHrQfS zF2?WQaU*K zV=T<-f56^b^Kn!GwbfgvX5FoON9$(On->M8e$>@6aX(+P%=2;&86F2R^Vs17IEXZO79&9LGdbTRcq(Rbx z36gDB`r-bwN(26vsv-g*85;CHA+_e2h$ za|r2ge>*KhW3oqb+hG^1mI4~tZw0BJa`xS|s|01PBK03vgKxT+g0kvEzSyn}bkCr* zMW)r`{UOPz%c1hO5DVc<82T1_OHijBi#OBW{7oSc{~T{YL4PAIHtHnJSlz~IGShlx zML+C|ew}NpquS@=nhLy;W=49j-dmOoQ*ZCK&^PG?3eHKG-%!yl8bwID-JG^42;mG= z@i{5bgZ6W{xmEgm!e%znCeM~yc^a#$9o(IqF5jM@d+FP{2H%103+rNEpidRk_G`**i)2dZN1I(hCp`hMr9u!0=qzex8`KXF`G- zRzr}qgnEa0j!RayJVZif$v7N`sh;reajM41FoS9WUkbmZ#R2b+YSY8h)>OeCc@W5z{q)AE6CfTDxVgwO1y(b3|?g_7H zWxO`&B%euUX64WYkf-XP%OhM%Fx)sro{N%^lb2MXv&M zLLTag?QO*Xwc5}SVje~wZcEo?2g?34lwzDf=?VhlR?!csC7jo7GBIRad0hv~Dg_I{ z_O$jiTMJe7h3=^`vwp*dXo%p>GkvJt-Bphh5Jf*Dm^%<>L&KCU`5Q=hSX+*dXSV&G z#lS}{d;IHy`e-?bKDT;5`lIY%_B^J+&hP^taI%4o3dzQPRvbkk8UM|L?!Riuf!y?h za+l?tm*cT=NPZ;MXxkVb!Fvu46=!>=*i0Q{53B(Cdj(e?8{3NX(2a>WcQ0&cxLX)B z-B{g1IIc1C{9F}k`K@?F09Vin?dmQTeQ=|60_J707`E71bP4?D{lx0L12uzHe3}7=0-fyL*>8iYpB_*Yu&5J-* zoy^rcXJ_aA@NT;9l>MF6_4)a??;TiZEt0})kf?bqhV7QeIeg&Q5Vk^7UZ%HA7cJJW z2vB!>b^?)lj6Ti07%?mQqM)kqZadi8)L^|NCym9B_QS3s8AsaN+YtqI5z*v&J?I~q zu3HC~_rxOpZSjFvp8aK?aXEsA<2!4+_#W}AkS+MH924v^vzYdrJ*>a2(_RXQB#~2~ zvvca=g0t*ku%wl@Ai4^!TeG?wk7?rXg8YM5x^b*o+ja^H2F=Rse8qebO6D9y6>uQ7 zA#M+|lgFHrOvzyw#5 zN65s6L{^#uI=!~Kzc3Z;-kiG2kMMpRaV%D)bx6N0b#X{!8>sf4u~-Gk?BG+ys&1P>W|| zYzamoVUU2K$PKY)$47*?Bg3`!#!duV74=0jo~UaTx;AeMC@BTL*1W_`U!w6W ziQD{+Ul>-=6f7Fr+oyHnU?`zzDT8A&$~CHTi{RU}-05A)ARUqIZ>ddo8ywv812`>p z3llMB9}Er6Sc$okhUpRfwwS$v(%oE|{cwL@2{tL)Ic`B*gRx9pjwl|QQA^&`Or89l z;2z7Dmc6^MM|$-!1>!sdLl9wh&NKWnu94DNP#K0~2Fge{uPQgBYA64|J=BZFB$UIx zeA+UAf17?q@#JA%UyE4tqUdgk=}GEA=Zf&quKUw@QO{#UeuW(u&8DXF0 z6CZxv%+2tQDZObwIiZT zH~&_e323^0$Q04n!C4;eMfNj}gG$06hpz`}W?Xlr=v7Z0jHz?sPp0zlc%QIM^Tiesn*pyj> z728zZ;A%*bEXTr{LrX$siN~T}xzee2pP^TOD0nxf4{93gNg9L)qms1a<8^%yv}5+c z#QqE6CM(oyF=ftaXY}Gk=2`vHry0lgK08_;=5k@qL~Ql zb!r}Np8w9?efdzKSVP7QhO{>dM;pP(`$lwT?}IJ^p+VX3!|Cc)gm#4>!bN!4M@^4( z3IvmPMJ>A0=QMI~XTNKkh_&)UcdU&Wq2d4tGHF90GMrIUiPg(XGWSL? zq8k`)!5#Y^u`30d{K*OoJ{yAs(#32qt&9D#>JE0U_nelV-PkxT^yU1$t*_SEf6;5(!~EOBe{*xgR86y~bym$^KRTkU`l)K%B3^ff z+S_qE?C^D+EfS$xm`3bo?t{RZ|C2+i(uUW3UUUjO-79gJx%Kh$9C99V+M1AB14IlfzxlhlnqF_Rfys%5~$ zCK+gqNw}qj$D}vY+hVHiYovUL&PGy<4-0p}rb4-~;r_=$m}F-mtEf0S0@U$`YyK4~ zU05)DLwtTq1Zxwv2crc+u-c+2$b?>_Bhgf+CYmxp3shQEuWBfu>mD&f6N%5^Y3jGN z0$k|O19vD)IOys^)>u-ewoo#6TCf=gonjd;XA;Lx`Cua0OX03P(Sq>Cu!X$@U8Joa zh%|IIXm*iS`da+T_Jg;|H0$t{+UhK)R*8|&UBeHMC1uHg>-Wj*&W z54a(;&sir&(QdL|euw=F(R(%>c7kZ^g+zM}^B)PdO@1#32L$=|8NA2w?iLN3T|?A{ zbkGOW(3|gpy!<4xgZ{5i?c;uT66{;SZ@HI;g|3Pg789EwJZUK18p zUB8HZ{CQ*qL`jwV<3|)_mk-hEl&kJ`M1Dafh-8J0Wy^acL|JH#Us*&x+rK9mia1h3hCP=w8q8DVOdr9@zVdC4-L_JD zXkPN1O4`!5yEW(u`thjxvM{Q5?^_;fF=QNhs6-Z+u-XqMvaPSKF%ToBKC8jRNl49z z`Pq4dnw0KCkOC`AS=wF8WX}^%dv>kH^xm`t6>ka@()7Gt3Kjahgj|b*fzBzdVVW3d zW^W&xgCf4TxyZ#yRfWg>t(zbaXjIX7`?s&_6n?^6-3ArJ+ys^&nOGh~%bsd}C{Ct> z308cij4?wq3f~kmR=vt)U`F#uuM|O0XOca2Ix`eKaMEK_&}3S}dP6y3B7mr;qtiTK z66P23H2CoceS?^_d)Zqy4!p%pXU$uRWPE%Tqjfx|7p{)KK|P*gfJxQsbFt3bTUM#o9f2#H9jC*fozPifVV88|#sg>1D)*ufp|b@*vQZDk8>mxz)zYTnM$)vUt3k>0u8c5$zvW{So{;*h~bZXTa0 z;#o?>ekUqS7b-&UVIwiUvOveFZz`4e+1{R5S|8ml_k;zVZTn+cAP*WS*y)J^(;ZC? z1CI<}RVe~OA`}d!tzwyKk%gF4?6v_00(Rck2Li+dNBg+Bg$SRtwPf}*TzAtPHruA+ zKO_rib>rKd;ea(-S;MV<-6__NJ0I;}I&$?8nS5u3xs?`~U!NaFFESLKfSOsk*n3wT zYCreEu%pI4ENC)5)|sNA(bHtudFw0EyXRQ`w{x5}4Fl|;N|T-%w*|XJWDGkZj1hYe z)xootLLvrA)Qj5z=!6g4S${Yp#v6;4Cl9-^y}e1^fS<2$5SAPspQ`7x7*@0T+A3yt z<6`py7#HO}BM+=~Kh43&_mVOHc{={zlTkD=hxfvp>xz@{2FJ<#F=eA;tg`%% zPbekU@AS>UMrqj#w#he3`m;$L>a-aREf8!i9kjBX>}2NtiXs z8=63`+SXlagG#wKw+L+E(3d(CY^D&BWIhLr&MvQ?X^Ip_sl{Q51w{c?7xbeB-i2sR z+DN>`M3tLM54}7bOA%d#$S)AA)nqkMd(EWFI|a5Q-KZWnruR5HKV7ZL5S4)C9f<_Q z)h+!=&VSxJp}y}z>4>=FGVXY$fgc~ppaxDeBA{9ABH+6}YW%n%TTF`v7!J6(Et1n( zgSIy8lqJ4jn0KVSs0Ip_mKFneYWQL19~Bjd)@hb* zvd};5Lt?A|JzW%x0=POy{dtt7mNWrrMlUq*BPxwPL?l-6#-(2h50I`4AHC+Ew9P*hJwGMl`0YhH_#GNtsH&+sOx>vh8FHUAren;Dis;e6 z3psk4baLH}?F9i_-}}OdM@*cZnc6{);J$z5tWMkMT*juHg0F^fB?u_kZ6{Vrwt!)Y z;Nh{;zsM0-&XfnP^$B!|;NPA8FDISPqmu!*l|$!ZyD=^*ZZ~lCP>&MBpMZVNWDNbo z>$d!s2c}7166}9S2lypS-;gu=7!u*ohs)kdk)rwxpuVM4Oo$-Q`awH`((@+pEmoT$R6o1O z!omA{Gi7G4D3QSuo4+Wk@!OyNF)s56U#%sx{E&x8(L{Jdt+=jQ zcHd{0*gi?O2f?Q4OvaItK@I#F#u_xePne`PM+AJrLEjB|;}y)b9MkEmh@zqDTsz@h z%2A=UJ|PG+h%5T+#H7S6qk5xdiPC6kYn-TF-&v3jN# zBbAxk$4S^yV+s}wX^poPFVx&TN>*7L9iOg^B_6Al`0Z9|tT#LS9E{ssk7b?>#IG|a zpQ%hj2ZxG!CWAu0jI9aPt1MS=lkSI|a16J0+wlzsDz%~-!pJf8{0B&_&exU?D(V-| ztM38u=d%CBc?TTczc`PM>i}b{cizh!#X#_bP{6B4z|#;tj)YdN**>}xBQOrJvyG?V z141>@{=ElLExdw!9nE0qpKCRZbrJUk3-mw*#o5_NQ6ode{xDS;aXg`2yEOgmmiLha)0ZPRV=W+} zo0DjIF=T2v&ZyJv6_YHT#qfxG$32_GfypJ z%T@}=BsYhUALDQmuO=DU?MQS>zX}Kka=QEYvE4Zfu~t0f3f&_c@j*2iMulNpfSJ&# z)oPuuTOg%Tsq58bviSQe+wDi6UTaQ+lmY%gUcT=);DYSIPGmjZoPs(q|^H*zs?|=3fOg5=Vs~Teyu8fsThtMx``% zuYTwFPk0z*rKMKu%o3NiC;;&&+h?N9WiQ<8ep^Ascr#G1$u4t^u<838Jct-EQop4v z+L|!y`B})yRg{h!Wv}C!INZlD(slKKIhFQCiYTnF z25$0gLD;+cW(y0!c)Sca!`QHTfll1ZD&`>i494cZuyF+x9 zYW+e6{{}x11lH_!gyRWWF2c3c-mj-|bm1d)bCRd#$nZ*OtkI?)B0ihOB~=dA6Q@)X zxrlvT&u})7Je#0iP*JS&x@wKZPwV`f6y2YjSn63v8uZf&w;XehM(zkuyI0hA{)_%7Mr-(2@am{z`YE$ zC;YD;lR`ibTj_ajc2d!7`-*53NiuQml>AMsdJqFT(L2KdRkHG`SAZm8b7W%pGw1rGCoZpLvv2P;WhD)5# z$zqUAU(FyAff!cl47TU>OruGo@P^LjLKD`ma|L&^K%P%ACg|b|Ia~4v!)w97ghngF zqyh`(RWM~YXn`USv$S1VT8J$%dTuJPOuoM(VgXe=XTZ2b)rOuzzypN5T#a z7-~qXy1#m|>OzNzCQzV?UmFQ2_iXZU zORl(7TwYi~ zb`XRGUi-nIcZxk{TuXO;s0)Suo`3#DuV^CV%MM7jwY8Vt`e*Nc3_H!)XP<-7#4^)r zW@)LQzf95)4#(E|)YjAr!M$e9Dzk7wxoK=_HGB6RupJXI^UUR$NJV&ZipkE(wgreu zFt;&k3~{zPvD^i@4_BE!ZliB(Qg1=j61c8(J@}j0 z&X(N-OJ>fL^auQHcESi6fw@9fSAh@y2c*2Xg@}v+ge3YCG2;l4$+fj@V*wPf8bo)6 zSFjcVtQFg*Db);5z&*6NMCiLDqrzSBsPuN0YIWT72?F-G&e2}pmU|1hJy)|OmYcIK z*f)s<(b9;{S#CBT%o4Cdy4wrsi1z5Z%cNkL6l2#wcs|K(vKvcsdYWl%X)_Nz@Q^w8 z+;hyD)vKikb#yMCz5ZcW_{((+1~R(y7OpZOLAp3dNe5J9vn!E*h>k^f-BfxEP zYl0-u-hA^rcU^G71<#pRQQVzzYNY1Cfpb6lkqT%ym|9XN%72}#fVghJD!NdtXNYnB53GSZXnPyt+1 z01SCal$6K>6KSM}=5xssJirg~rO+A{X%+Y`P4ZaRkSPk*TH$8F)Cx9$3p=-&#mlHj zIG#kw_vmwoKBGAyLj1OYf7Gg_yDZ)Y8|1+{8XA=MUUvBvUpB9@oH7fkuC8vuXFmPO zKQ%Pen={Wm%N#s-&}`VaSx9GuLM7?SHAhE*?2+19v*xVTX3eSr&DK0IO zn_IG}8D4c+y>=H$4>F(^F062KrEG4F5YEye5#x%TQZm;bu7evvJv?kH`Eg8Xss)UK z3jz?7o727zH;(L9xWQa$32r*voHFz=HN}pv4uwov*=z~6?6S*VwNY576p$Jk8q)vaAHMph z>guZSnl)#dx+6!-#?4#J{DlhzjHCw44KZw}Z;(djSHJNpQ;?f$?z;02rn|Ra8mn2p zVRBDu6SN7jIV&i8KofFAB9In<=a6t0ZN_E$L|ag?v$^cz!ySN9+Z`(<(T<^(;f|xD zW}w@aQeamCNr?<^R6Hjn*;+V6wWKadMrhj%azrKIMk3z_35dvDvf*u5N0zg&(KJ^x zr4siH|F7m?$#WW%f|jl!GlGbniAYTxT9;sFhE;?cj8Pzfvu!P6BUrNQ0-)q?c2)Cm zPhCk35;5T_;p@OTNb@(iObHXx8)!TM=jI}gu=r3!E3T3Qilk(*IJh>^(K&9U6v<`R z5<||M zn1X^l=>P$MgAV5B=bFrnbg2nMAcXB&Vd2t6j7(ULNi3Cwh!haZl?_KN9vAPkZa2I! zyifAFkXnH;)_VF$wAe-duXsaFK9-G&)}o1aq_jC#FB}BdJQBuP0mNEbTIBBprzmAX zDFCJ(Su21uGrjTM;102=z2WLNe)U`5{*E~<0O?o%`-}S?d-SoAGtWHJbab=_ZW`*O zXbQuf0AGZDz;C(n&1QID(EQ(RzcGoaX=dpeXSk9O*YlW(WNtU*&_9X3jMy>*u!y+W zHnGkn&VdlcF>q74FuyGcfy;+-g`{AokXdZ5?n(-FQFbyiV*2~ga6QrX+s1#wL)#lj z#v7%;GU^u#0f2;BH2_e5pY28<6H7*2_}*DR@^=ITtW`+%0Ae<;<^t%e$&D`4aM97w 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 oC--@Uw>g7I{>0&tG`{YB;7AfxeqWE}_< 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 Ukhem<6BBS58JOu;-FJ%nA5qa>R{#J2 diff --git a/Client/macos/Assets.xcassets/wf-1000xm4.imageset/Contents.json b/Client/macos/Assets.xcassets/wf-1000xm4.imageset/Contents.json deleted file mode 100644 index f8ee553..0000000 --- a/Client/macos/Assets.xcassets/wf-1000xm4.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wf-1000xm4.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wf-1000xm4.imageset/wf-1000xm4.png b/Client/macos/Assets.xcassets/wf-1000xm4.imageset/wf-1000xm4.png deleted file mode 100644 index 418be7ef2e35106995515c8b55ca06423d659295..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63054 zcmXV2byQXD)1^xq1f=5<0#ef5CEeZKdFd9AmKLR@yE~<%yBj1gDa|Fmg(jsoBCC`iCh^jcZ7VPJ0G%1Mf8cxRqG z+kPe029u-b7}!@IpOtM8dhpzmQOdf=PDqc(66k%uINx}mfA0&ieG}(>eqKF&wtw z&|tv#FI0Pb>63jxn|%-fgT2p-88Y(*Cdr4@O*wv-({OQKzEJJA1xJ(v zcl-XOcN+L~h0Fb9sdm^p+s7*Y;K70}`F+q``=;i(7sda-Ws^(}NsXZAaS9PyI2;}x zp5f@|D8qZqg4v@G1-e;dW`cJ6M!gE7>LK3v7`yKTGoFSso>?E|{_ra8@J_(Pgqjiw z!l&F1v7t-wpi4}1R%$R4ya^YlLWN<<%F1#V5)yi|9uV+pR{+c`a=T>C6a;mCJ;fh# z9eF-W{`clUpzZsGj&Fx3UhjwUj*gC$O_(Vs@<51-?@J9Jx{%|)Qxud0_SOwi$2N9f{ot-hK$_st` z`0*JC1Uzum5~Uh;HCp927lNDbqs>IIKVuKM!Wu3HM3~CbiK-3b(2gjwah{LMC+pv` zZ(fQUs^TkZY7XpPYItW)YM0N8w;Hg(iqa9Ge>h!lKNwu>`a9Oh8n_*!o_BV3e{tcm z`mW@^Y$I3kwdld^b+WXi^*>u{-2g&Crmn7T4*Umw5B^=q^W}n*UM{4B)1E?RL`ZN2 zvB#Qtpi9+j zn8pu}+Fkxs3)3Q3k1`aN#@^eA&$B1#|2v4;^;rq5G!*c87u0F<I>RXD1$vxZvbZbIcV|%LW-Zm|6j9Sv}42)kKEV+e<+#I-PvGv=VDq3i(W! z+=WKpMzzxY^60h=oC}3h5|TDwkIe}Pasqi4|HCKc4>#8hn)UzcY~`AATH;OG!9>rf%eU?qKTyNb- zR{Z~Uha}`-;&VJ#n!5;zGwk&By#Bj43dI4{FQ1f{5(R`(N={>z+J4tw^u*yAL|UGK z?)X$R$llfdv8XSAdK%J;Mg>{w(m}ZtR|Vr=?IZFa5qSt58*0YdY&2H}`38&?4*?tD z*)NI1okJAuz9&n&v&tgR9>kh0UhA&^y*kjoD3~$&zD{QH&ARW8Wppl98;i6wG&Gd! zFk`~^z`*3n*e|i6Q`m=D2x{sFPHJU(ul3+I`*tez;EMdTh&s^et*bgR3C{CEcwRAK zR{My~FjW7Lxk*E3!KM}M`7Qn?!RV#Y7`pdHLPFxrq%f43PRQoJw#mJY?7P*A8*+Ai zG`p@{ZM6Q8oxL{5)YQ~CPi3jJ>^QdyqMCg${d3-VP%59Z^@EFpR9yiy@sRyi0Qyd| z1tp~|pO4L#UqV`jL5Ee-PM*=2`Ax1hpP~M^wq0^Yi}maEcJpO*L%y)i+Rg26t+!y{Z?;&n zdQwl>tw7+1|ddKz}OH8gN;Vt%y!FAkGw$%438t;M-vV+H7a<4y|$Ig>nX3(X*F?3~UQt)bQ{vanv zIA9UO`F}|wBxvGuG*j5~^z=0G(RzaPTXyzFx-1C12)V%#!)7zKN4RSIZd4VT0iICZ zvqMg+3@%=69S=_R?O3ow`$8R62~wk7VR4qrZa!13e4k4KV-C-Lc#1C3rW0yciAj$Y zE5Wc8?!I`iJ^1T;h*3RNjy4y}-$p%0uAIru>j(cFQepr5-Qt`;U+N#@bSqKl|LfN{ z+I?nG6?Top0S8%LV8b?#qyDwEHC4sgK}pqY;SC-MA_u~^#{GR;^f!zXgG4Y&$Ta3hcVKW>I|XzW!Tq#Eoz!LWzoMz zlkhJe{3Xp4i)UT-$KK^>l@FVnoAVe2+{`x~WcyX!mUj66{}s{;H+pk((^L2+6Q(y5>^F1SD71j*DOWJFcfIjpLKZSmdCX?Ki9)qJ$ z&T1fpkFyFFXc*{)@=x(5QMmN0Eb?*gBtvxr9KZ8nJQXD-b-wAxNeE^|cG)0*flGL_ znu72f^(EUe5P$Z`CVUF)j@)gDkBf_Y>AsKYCSt%x%W`*j&xwtTv;4vRuLNcT=si?2 zv$F|!xVit>H8Qe(_#k)Wp*Lc|VaAfaYi(_<>W5IM7L^XNbr*a5ldSBKGim*_;QXA1 zgN}6L!drn12isU(t-Rc5udRqbu%g}lsQDIhva!kI-*EV`S-0!r*PADx|E}L{M^cb? zc^u6Us+Ge3@CD&n^1I{|=~2t8*>$Q+;|~RV-B7_7>bo zAKjB?OqCC6HNeznd^={W7>v!O!Mo@x#LhED+iB_eiwk#=?3g5kWb!JL5+#~>R981m z8!iNfAlvxp{M>l6-OE{CbAD`R#|#XBi_|9dEqJsv2HKrqA4p~M?b8lnH*ZH*S0FG7 z!S#4|8l4Zc$bE!QsDw}ONpLJxKPO;bXN;{m*1iT8iY{M7R65d8)xdwE-cJoq$I7dzP1q z?L4Qr!j_oXZDEC#z0%S!RPiCCL#g(SD|#Fm9m}h$&=}*_8{?qUi|s!3Ns-r%ou#P% zCaW)BOGScSI?kWp5Q^K!#MJt>3VxM!IFSYIbhaAc^sR|U=X;=pPT3PlS7?q|fo^V3AXMY2SRVS|P{0LuFPi^nJWO`gh-6U0xkb<}l-< zMM|oY?(kN90{*()SHXEv5&9=>u+c`jphu3(?xe~S?o%=3WUlU-d`T;XA+f`VbvY8( zQc<;M>gGdFiGG)WT-u+Ped821)fs$mOoU_5pT9;$$4Ine26V}~Ra)f-x2LOj`_8Yo z&fU<}?&nqes;s4dGoa;Tvd9CTLhbUfz25oCqwnV55jAHZF%&J`B?{GSTeQ^M*j<4f zC)Z7@?decf#YYd4h?GK*!pwjSQgLJq8@E-}Kuqdyew_)dD}I8_4+=9SLdi_EYt$1j z(<)!~?Ib_&2?Uaj`R4Af8a1>A7cHD1=yWmA@f3)LQ>ze2SfZwXgu=P|`8NJvIF8;B zvIqh=Fij5?YHnq?{>Y@WG}chFr!xUZiU9NN9T>MhY0_LO0Fan4$iVs z%O2gyy=GSI9AwJz{AVucL#F`l2j(~>5y46Nj~QceYNglH&QF8RnUD0Ze{u|LR#|~2 zC{X-*De@B89Aq7Iurj9S;ObOmZSLvgVryy3nW%sn`JCNl1Hvv{xc=?iMLf+XjD6uN z%Q#`z7)@nV0;Wy+xd_>-v7q?w=rW<^M>DFzb9KFms;<5w}0G`B`dLA7MUSKb6hf{S<*NPiA+y z?heW+&SIj4vXzxF!WC|!qf$v9pTdFs;@`5JoK2&n|0s1?{*3JK4aF_8g~~;X@$D2F zEbLEdTck8_n14H;(}x)jw`AfKR!vRA_xNaw2x7d@EZ_>5>weUJJ;oh!b$t5?z!20_ zc(1^{=z^S)Ms$qAP~8(fA{{Z&He21MnCwg+})N5}a$(*EIMYSmDz7 zb$MP0G?384s}7ZwwE;*aaPR(dxA^5{^A&pjdKh^>pHRlJ|g%5*aM^}TB4}4O1xfExC^K4WppI1wjx73_%STQ{dO5$moWBO{Tp5vHs3VS+mcE|^n&Qx=&q3A@4g>o#!sOL1gKAk>v}o%) zf|=;=(`8Ay8>S1ey=Tn=UhPRGHy@c)cMy6S-0%G}u^Dt%6yb`yD`7y;<>Bq9fS^%! zkNZ+r()6)CH}$rvpzG9X|Gn{`r-awb$bXaIK;tZs{gdp^cdsw6Sd~?bwI2K;4K-}_ z^#)^S;ca!F7O#8FDmSvm)A>2V>sU!Ioc9a&Hx8(r9uu<~3Pl`b!ko}Y{L~Q@i|s(R+#}($D>xq03}?UFfuYyBx=BH z5ekKBzuqUj-n;*xRe0j09RbQdw(D|`gr1O)kb)3lJJ^({#P{^qTGcA7ynx+X^em9P zfN0@C?OU;mocAi!RFOm|2*0hb{VmI*YI06D5`>%u&NtyAy;o@u4P&Kh`?g)~0DyVe zXumi}NI+nP(Wm3^DIEZN3*UZUUb=exiZbl-w;b9VT?Fr4wXSDT`7je;Vw6S9{TNH5 zE;Sg=nII7CG&J453=?SG?qaB*y)vLShJDLKeMp>whPZQ2h#5(R8|6R{Y8{ejh*fd5 z;`n@@viM~c#j)bXmkf^zC6vWrd zm(Lpv=TH*DvgA`*utJj3Hq2;ce5ua3t_I26@2@qWnjmBNu?Pn9n$;){o3 z7mhjyL02h6?$+FWhDZSZE9avpWN=XWJmaG^n3;to-kPIzJqZ+h;~9YzX4J}~UgnWI z!j;No#?MbhdU0he+(jt;XwFuj6kIxwZ^MsFYV%dDc=!o&astAoHGEUSzIgp{7IXD{ zeBp}~t_{;nk*2$hBHulQ?=+k!Q2iA}wvY$^K&tf7b;pB|@mIdeBv}xV`ARo*xvh5Y6oKj~dkYO=w z<9yj;4e}v|Sut5In&bk;rHR+`*XQnYU0vOGhQ`L5Z`Aa`W_k06iu5x62eSP@@ zuXuvoksLD;L|*O>e)(Kf_23fzNjLJfy*_Q;6y_5V2}(Nf*}2gxpU<~KFBC1T5TK%O zEWN2F)7dCZ#tJOJrA6BiHil;?m6UVunyE8TIt7#TD-E6fA*TOTlNqtUgjYIm7ZxRH zcD+CTBdl0CXTxTdW%b&pK-)Or?N!}v*Ten~8tp2B<;IqlmS(lev$+tG*w1k55<-be zIiUN+89v(&sd#pc{5j)qDTyw6)0Ig-??Q*R2A>!WvUL$9uwmaI?|nj?VpFu_ln=%| zU?>L<#C^A6P#;Ib1jqY<1JS&Gnst)QSJ(>UsdACTNk4~(!W3Rk?d(un89|^gcikcn z$K};5{^XomJL?{Q?5jJu9~bnUh4=&n{M7IV;BS1hWK&R5G;WUf3w9)(j_0(5o2jGt z1GqQio^E^tu+b3Z!m(2r-mCBnC3Hr5zJdjVPC?@W8G^sZU_@2$2b>gV!3J#}ws*tH z^x7~cT}J~zGoTUY#hSnXcu-XLS$HT3enHk|stb7pWa9guBc8jdDbq~eg;p|2W zB^~9xRy)OTyF&SBLO~x3EJ5fWQym?}p4MT+5<4WxFe6zy+*}66v@sfP`KBd-PZhS2 z>(+&pdMws*^%;`K4cwgi9}N`5sYB_U1Sezq`ualLT4P_Z;r~%kNc;Qy6EBw(ua`GL zkIJvMNaUt%G&Pdg{#WBXULB9e<;owJnFWVk*Qg8^y-Lc6)ivLiM>x=t*dXC5;ihRi z+96VvGtS%AlNWDRPUfl6Ix0!r5F@De7r-;9ZZNin_or=fK>KeqnhWMC&)3TMn{+o@ zT?)MMNVmvU@dcg&Uwe*^kF!a5oD@hRYUfxsXNxA`^CDk9v354>u6u0?ad2^YwrDV( zZu1iD`_#4}5~n)?`myF-4&>*pVGaqqX|uWc!}LJRNH*nMjIscwN%{ z89|d2pi%j4i3%UbEw9n7=IpcJ8tJ6b){snmw9;c_Z5?krsG@&vZ%Cm>73mo@`0J{q zRD4WS1iyN5m7SAwE>)?R=Dhp0%ge`S`3l^v?S*&5FIuhZT>T+`fX7f1mO1lX{fldS_$#c5Y+?^D93O505v%#CRM9{F$e7 zeDt3kW$h+~Zes4)`3Yb&o9W>~dRFebU!P^FzVtQq z{+%iOBvIY*cVsv!DvA|g@VH0FVn1TRjtI~S+#o_*-wxLOeq-Ae@$KMt-*+XR zs{jqVc~y2?b=Jw51R7-@Sc+j&1IWcMFtE$n)s@|jNP7E<++wXrCOIuF&401Vki`GI z^X}HT)oss)E}1X55Jrf6@@pPs+pKh_at>dZ81uqU#ut`Ggn)ZSg+0X0)(4)STFm>! z`309$sE#D?a@&&E%M-J$jlY-X5<8(-G|AGexZj22+R|hZ1!7PH2`B6Ov>4T{%cGyC zjKjtUnoWBrZvA^>!)W5*$_I!xH83-s12{rE@W3n3`VqSM8hGoDn#NGb%*yHoz)2DR z9e~fIXJ2FjMgu+CRwI4SeOsh2*UsfLG(uLzWuE*_>02-%xMH}p@@p}zMx|x*WzwE@ z$(m&i@@Zhw+~kJCIcKd#`!~67H#`bnWWg-7oy)u2zc)0Z1oMWx$}8yrQ!^S zk;X5_co%Wj%D={Th@W=GxW0n05T1;FTh2<(&aJLW1Sb_$*$;S#M}^Y(88R)d3PmEC z(O;oM4d^Mo_$M~{TAqn6TZS4%h|qn9hK2;Rw6&4x=;@KoYnL*BhJLeC{k&35OYyd- z!?NaSD-0`ic6JuZYSiJ~pul~=k`XW&9jB9RW9iIqyFmnnZJIG1L@M!2}sop zofeLEd`tp9>J%w4HO#@E&|!1+k+fad1%BL0RDQEH!!cAo-Kd&JhcOi?Jv}{g_UJm5 zTc_zrHGj5P+3R`F_+^jEVjqw)b_FNTr#(9fM=kSC$<-apJmc<0aAPt0Te@_R$CxYo z<};*Zi|Y@+z^qSW-s^Y2Xx@`_KXFz#6>L`rJ_3Z3579f~V72#Hg=+79ZDYG0=0#0a z;ug-YrZyVaffd><7`%3N#Y*1}WuMA_bMQ-KUffYa%@Xo7lsVO`>FyRulP}D-p3KI0 zX%D(PubH~xgVBMm1=G?=8|&yC`n^8iVOeox2$2q9m{n;bjQDnTp{AUe5D_n11>q`9D+}Q{23|@w;f#e{33s(*(UeV+U^g5MV z(1pdtNCE>YHf0J`aTYRqe)x*WNQL_*3GPvAp@hRWKm&`#7 z@^r#$d!4)=f0G}gJZ?YT=u#_^FLlBX$~Hl9)%k0C_uZ zX!jQ|UWAK0{uJ4H`A5(lbYEqi=h8u@kv{>-XO(exARBqY`5vzm3XJT$vqHijgd{Hs zCzF;+3_jtA81wVUT)EjrDivzcnF>L0?znFkwWFuTqemk;^UyL{qjwcUbp9q=tPNx8 zv96(E98pB=ZAppj%JoA5p|QW}i}LG{h-Y| zMU0)J=66#v_obw$owng?-?bV9{iL2rd(95YUZf$KT z>88a2b4Cwv&r-O*LV})IpG~VPSMiyvjl0R8FB5|N|Ex6HC&2fRE6zUF9`m@_FPIgk z0Ox#L{}%l;o@;e&u3qxSj@-I8p8s!d04}nCd~yrlyB%H4>bDG~7RyU(r;$oYJVI8d z$dE=Y&ze<)Mwe`xHb=pOyV(S&@9z{96~lu72x$Iv0k{u5 zza03iftjMkLGp%+s46q9lrG;aBqKDcPzaq_uu~yX678lA{zQLMi7Tp#w~lY#wYWSW z;eUEdM0yyOxDC70lRUZ?r6Grx;-DSsfRqhxl4!obZin($>R*4GeQx@>!bKXKX^fnOB&r-0>%_3#<8hk9`x%pqC?%h0l4E#=S(ed3bj5O~9ZS++Kl_}K~h9vqf% zN>ki>#CHFkA9>0_TLm z%J}()7@qcp26T6#0<={W6`*FveYT%Xa+g@A+4#r7o^DZ#NSQOFZ_hC(I2UBQIn6UbRt-d z8NPD;{P{EN$x=e!V6l}*-w>kr`F0$#U_6FrM)|GmvtL2Xk^0R6)As!~!x zuFZ$pfzZM%jb(+lwGp-{`=(ne=#v%qCweY<;CO3b_Y#7hcIkoq%3kn%CK^=vzHJ{k z%ZyMFH!~hFS8? zbPo0N``RLsX3rg`;Q5y4Rt8ly5-XnlDJd#TGc$2$pU6|+%K7ugdDg?mT~~To-s0_Cd}J$DewxGl-VKB$}7$~mCFs|wlfHn!d2uPc`?4N`;pael$p%&!|zj)gxn@bOUbO81hwa??=35E!DJkYU>*eEna6QI6Tp4XwF_%8Q{NpCp78E zu>$MKM#L$eHzi?f<2-wS#b6xtd_#qnQdTC61kqxVH??GuOC#qdO<8zS(z>`Wnorvt1>}`zj z=}F1Fp;CdrvztuC5&5Em^2noeJ+KL*0c)w-34-XS$aK(}n96P)h)iu7oxk)pPFe;) z`&}6s8So?|BtriLS4Z*HFj;+KpNGGen||k=&3=}amIqCEPx;3cl>O-f#KmV4qw14h0Oht8!q(qVCB^}i8x<%vz=tN`$hJR2v zglEHh_i}i6xY#>eWaR1zP`DDNd7aCfM$t5s^nON2zF%wVqSVRPh=Qu%N$u9^#^Ez% zQMby)JLs?7>JPUCa>KI`u>Hu;Z-W1#M9gXqJ=WWyEoX?9N!yzM1eHVs7O$;jW#QgG zIPBgiHdll)u6$WaUO-1V89ulY@X0Vu>I+e zZq5L>*RWCg1y|LM0XPLuo_l`EREl7NS$EhyJL$>7Ad%x5HMfx1I<$ zTek-kKexnfqGl5LMY^-+Fw>b(kP;K~*R-`g_G1Oz_l3PegI>>-ymd(ZS&TY}T3xn( zRRNy6reLc0-I_1;i%R3ujJkX^R$)s{F#51b7@H>b7bbaD8hta==o(uELI+!e;lcO|9yNrme|SzjjP=p)ja`WO*c22=$~WwJoBdQZJ) zEjL{!u4&6I{OPn1z5O|gG<%5zYRIjx|Zd2QBz{rmx$oVmED z$PBPAZ5GG^g7!`cj9a;>xRDRW==-e=^MU-^85Zvzi zGM$|w`HRFvv=3@lOvmW$uqSiPO0c8jbF67{i(0)+MtYebZa`4~Ptp9_6H2=f1dRba4IvgBe1P8HZAx_b z9Ifk1`i4*4ZKpv`vy;D+By$dh*M;2(mxsS*bdN)$rhs5jC2vI%zlW7*i|}~s!1Kb5 zSk@+^Kjh0DH*Zp*1e^EYjNN0(H~f;Femhk2+NR)*<0gV?6HVhnLL zn>cwYP*cWFqLl({y~v<1b7I5%!+NTHGf~k&)4f9nS3>ypWr{hh^ALc4_XX}iil4;~2E5FFLcCNo?!k>-55!X(23WStr04S{&IDsM{95xDZ!>4|ri|g%*hiLk!4^GR2X}pW>_5GaLxe25{#z;&?B; z5i#2&G0gJevQ#31jbK$}q^0QXbW^CO^N>$d7|V=3G4VBe7mg*9NKY?%dW|SPBgScb zV%4cG?1IHm&q7*y|z6Y8i?pXYWd%qB6+sm`KA5t`OH+6;9HKOLFI` zS4pUF!cf&#m8r~nV1sZh5)ks&e)oigQm$}D1>mfTR%F3EM8hR9{POlfh)yLgxI+9* z@b;@WOyZC|r`v{O^1Mc$UdUuTUgLgxV-ksp-nkbKDW!b6m%l3jir&v6Q}|C^P0LV_ zwFf>w&I0yjc8yN6U$A3ieG8+Wb@1Hg3qLAFH0t_qka9v|+2vDDE>E$u%9WM_DuV5h zzk!DiyH4*JdF3*c{&;jvhax~grUKU#93tNi=}vBZBlD*ZLkbHE{~XO0#{hn#PS?Y! zJY;z?riqD(M?hQf!jBnn9jnV_kQdd|R8uXOA82_uwA&v(Jvm1{tOWOc^eqp9+*%}z zt^}(#AVB;@$CMNc{W2yohCFoyy9MD=iPpphp@wdwcs~m#%|v_G!3M`t(c$i6A(t>> zkXY03W<Oxj!{t`9WfK&}?!dTWS$SWpZL?`YhuxPX`Rb(cZd`+< zQnno6q5C9RyPxV_PnPTboHjZh!sQD?x#eSj#@1QFWHr2(b&74C*PW8%FG!*tJ=yU( zW}ao#J)ng+m?JwmK~IH6?CfENTsty6vOvt=va&w>Yd@`c^hyQexS?3FNDBRJ5dc_# z2dpswUnD)H9z`eTY8hN}230=5r1e}LdM zG9L=6=hl?FCNg#>EQ+)^cHF@4n^Fxl`2n~&#u7c)i+e%rxX-;bJfe6XFJWrU%_1<# z7(L0vw<)i^?oG^!;G$tEN5$aAN}TBV%*N{syx%ja*1@j~H_b%jC8VAdj0hxNj1P~d zj_#cruK^~Nk?ViH_W?6k3s=`m7w#WI%+WhKje2pK<(k!HW&H}0Ovk*-X!^SLnYZd} zKN)qOV%2CpZ%rG;Dkpe~xmV<(PWY7E+cK=Gm+!1@RqaXi0;+1q`#Bffzd=n+OhPRZrsH}mmE^4t_DT|cquePe6jwUgcGjZj1ZyB=UX=)8f z5oJjWc)eAVB)|4|bB^PWM3(rZO2M~13!;Z3=7TF2H0q@Md`&Do@PEcrWytpJ{GtYF zrHl2>Y0eXaVl-8JV8LfZ5$1kFdF3>cAO(*#s*GUXVE(pPzksQCnBuY=ltyFXi66)2 ze2kKCN~%h&zLk}hS)qy6!;UTVE-KK@IEc3K8F20L9{maq&}B?rc`LKxu~}MP&U6b1 zB&UE%kL;68QL0sLh>{YWp9}xn%6kFaJM+P?=!O?j9xbgUkA_N7sYgCY>1uI>4$@}J z#X4=>4A;-RJDxon*t{|78+T&_K5Y_c)`iB>Z7uD1N*-xfF9HfG(P+hKc4nr*O1szj zaSUr0@7>eYqzHC4)QmCpZ|bOJ!<$^mR^T2Wun=&AlLeco`N0GZ_C|%__TnJZ1xkyf zCY2bBf0K)6x$X(chxe9*eGH>MIs6-n&WMj@xn=oo@b)b1Wt-~v!5f!{HK`V#2S$c) z=2|{Fw6{9L+LW5AVq7p*i?aps>-EZ{NI5ce$2yvoKXJ*t6(Z?}w$RMr~*`}*4& z0yD?iK4n4{gG2AGzNB^uA;c6~#kQ>r(_3X*U76My zIBLDi8>`Ne*ah#CKieaBjT0F*`^^M^Pfe?B=^C46ka+Bxw73$-RDT@p`E)U1qr~pH zwMr1O8Yu{0jeSf-E_|VN9VqINoF`L~zSjCZGE7x_*Wc|O>*iFktMrrF2Xp3#)1rQP zyvL*i%WAQdffywd79Qsv*yFJW-V-h*pB2UrlRR|0maL|s1xdv30fQGh;isZl)oUUH z14h3IqbCiq(2NYt7t@?K`H&I9G<#K(ID+e0u}BkU<=Z|&&iW;Z&|56@>n2ub78S}D zBnv$Inz}aexu$RIC|Mz27$du?6^(u)M;-Q8YcTrfseJth=$ky2i=g7bPQW&RZBBAB zGyTOi=V@Tr)JiqjEHG$e(>V2+mqUJL5mv0Sb2G+y5IP(3*xFV^3u zLT9j4$@pI_Tf2e1msh~mYhK;;cw7Y##v<6m3sSMJ+q_j;%mk?>Y$f>xz4Fqs3zN)^ z9N%;rL5dVonw8$hW(ktTWOy~IWYM}_hcH@PV-@DXJy&elmpwXTSiTXUk+L2!k60S$cVKL49xzV=+w>*^mD_nrbIKw&-2EoS>L{S%g;98wN;&~ z;uj)INRIhe$KSr3%EmcKy{ouN$^Mk#OCY)oce$G7=Y&hwzWEpkhE&dWW_Goo+G~b- z+7(YrwmIISLxdDQ5Wd`))ZK_uvK?P~{{^&K-N1*vbZzv$Z>^hpY_1Lt%$w`$S%7g! zS~z)F11MinYy>l%<|2hUw|6JPzT}VxDP+n-TBSYqWi%V{ zjYP3>guEt|QFZ(6Y52qh=KWzO*7jbyahN|9))2V>N@P3*oUt`wibj@fJRpGh*CDh^ zBbz!{n5bjS%;S9C&_VVAbN_(XO)~ZNzz-$M`lHf|pA9?Y;Xec|z|BFR_^MP+!(Q(>T!oB1~!o&mQQ%TB zdPhQ{pK8fh&432`>Da)$d0BHkcMTT~7N*yE@;A)&K-(90WxC|>_$no$&F1vAAWKh-=x{R$>On7D z-a`~*6N?%wvqZ{29CAxKn@b8^%qVFNR9475naNHV`0Wm)m6#v_J4D{)O?`YRa`?`V z845#NTa<%5{|q*$rh{qW;o;M*t*!8Y{R<1`TB}?WLEeDW*}P@kzKLt%928!(exNmc z8n|%P?)`T4yG?Cz$E-YF7vPG#U>wa_5c3YHXCkrI_O>Bp!)qqNb3{K7G@0BMF5 z#M_^gGkAI=hHlglMzl@kNe7F!$``bf{p|Z{WE|GK8A!3e^M0w(8vXWsT@KXiR*FCz z;Z@@45BtSKGPk}MdBNTC+c#YhH2#D<%p3~Foz%O|mg0geZLDLToP-V!lho98AW;wM zCZgA3_?0TB<EB6=J zajUJZWp4rY3TjVrW{bGjsSI0O@?HU+hfkF;HU3=$dl7>?;l95mt$g`os;05iyRn?4 zl;siO;sb8`NPWLb=z8|H)z602rtb}F!$*AJ;59V9&hGW^f10$Y`sW~?#tit;zz$^W zMu(64-P4mlYnk1)FiyfdT(epoH$c#~4+{&+u;J80Lx3wA+GSS>w_7g>i*Iyc#B^g6 zOX}aZ!i7DCQ}XSZiPG0-(}$U*Brj&TMC`;x_dudN?7P4u^G+Z%t7SlGL$VfmL6|V? zK-&n$0>`3@Q*P03lNQ_-XhoU{BO7Mn@ZR2|{w_rVG+)|phB~2V@oa+b{vxp$x8jVc z;RbZ@zy%+?9*NnvGeg|*dWKw6i-TM(Vp7!H_ewIn_*{n&79ceB7E`?S8x1PfR~tA) zh_sN!I^8fB+4|#ix97}S+t`++?rn5Fks=6J0@xa5?_*mbuXTJ>=r9%mY~lYF>ts9) zH>)9!FyjRKX;?Yq(p<)Y*OWYB__{fcF*6BKRMe{h8Xm<84;0z7>BTC{!4*C6|p<*^i(R$u4#1$^gP7nc91SqY)MAO$QmU%~?rYDVT6 zJtW1kW5B;gR`~tB_vk9#+G9t5Hm%`7GLoYdtz=}p4!$6iiG12Nu#DQ-(n1sffW+0ZCGK@~ zaa$8G7;FNVwt_0PR!ePH0FA_ynC@4Z$@mr7`5sbsrL3P4j8$j1p}@(0TGmw@S@23o z^7@0)kbWwze&J~q#hPJB$@<3Ro~|Si6ux|hL4E;XbEh@|aKGNJvmPY{?=3Cqa1q4N z{@T6(l5zNVok6Olu8g)}8F5~`AU^idpl?H6<4OgXk4bxb%#f%*54ky5=5zKJtS9m) zjkl%mJy9MyB-wpE?J$dYW`cb@Qra**r4ZkpMvIB`w^2`RZesPB3*>23^-dZ;@O8W{ ztYTxsbiK^E-WSp*B*IOO#(bKZo`+Qq+SL}rl-Z8s*@#egehmc~69yPD85Q2yICiKE$m8_c*r8^E@dj=nwwVEOOn zF{g@Ta*~EEE(YUB1a>d)g%xZg28i*cS}_>(J7^HGTVUbME?P(fF<}AXo96I$ zP)~2fg;W~{A&&(G?tP3zp>T0;--{yw`7~OdMb!7nFPrd&Vid!$`qP>n?@$Cq^S(xA z6mkI?bc($7_OCzazp0U*h1iqEk(03$vfANzSdByCNRn$G7RyltYZA)mD(Bqn^oK)Zh2qae4)?R^t zmZBbEIu@`Xx4_fOL4EyO`Tp$mymmrFR>AtSkF{#%ISS{ z{^5=9^Ec5Tz{fO+ejh;jm$m6=Iv?0ChLKM_^6*VJC3nEotJ-U-0=NWaWb$7?IM5AtoYv7W&@K(V4)yY=zilf$x+|9R6$k^*u^)$te8&PXS zSo=h^hR1E>QIga;7v^`suCH~KVSCf1?vSBV=-x)B-zc!n{ecv-`rzszrO1|D(j)so z?nA3UBKFaPQf3C(@BEL|=(L$J8M{;sqO-Jf^|^21d9VIW&+pk&>ho&J(*|`Y)n~uvzDQ z#ZjeAD*TA*rd+pPX=<;na3r3TD)2D`c@Es4dfYrc-(F#)otMD^xct;y(R(+J$5*8c z_=td?Fg3d1m@;Gicl93Rx*@-hd-}5Nk-sdspttk&?SHZSc*omV|5kMAj8AK@M~T{l zhQ4w>t4!-0(Up6q_KkNwUOo?Qlw|q*@zUJf+yr1>W4gm&R;~M%nW=zF$zlkPgrK4`Xn{ z1q1fC_u6mF`OF1#2EFAHtW|-GRdo!_oc#Tdw?vdz(KveaLM8_Yp!y=jJQkusm7J|tRSg&8AsBT2~bLkg5s zTl>O3*s7zbtdkq4@e`OKCdld>tG_A_t+3#;%F+^0+3MKXrltn>lax8+^JVS0<&qhc zxDsU^LUoc)VfnOAd1UyLzXbK{cx0SWDstrIcn)?ZF4iwfVYO24qNDnwh{)>H<# z-SX1;*ZOV5$W427WY*g>aV?gZ>6(|GE)RUPuFIgkWI?7-m}gRX^Atb)XA`Uh7rp?e zd9-D=?=6S?LJJL*7?^|lIXO9*ySZ_JUPit)itE0$oA12Z48FHQ80BH(wi#C@ey2%5 zC9JgG8OCp4^iM!=!W%g}Bt+kf*(qPvNwSbRvxr4rHVlp^>jRTa)@gzuCweFircu04 z{yJsdF>8>`zRw*9nJ?l_TdTZ0FOL(ssaoH=UxhZQ(~7Ow+A~A5s-=3TiVYTWMihkV zKfeq6)yH@#)_Xj+s%$>WcdP7g_HX*mJTv#F|Exoe5nahz&sN_oYj9L--*p=%W8&b> z<>K$(3JYK+mFl4^w^e^Ql>_SRb#Q@w(+f{0T?I$}_^qif4Oxqt@1wnp!-&+4vA_jq zTAujv(OKIl!AZl(yE)XFA+|YmO`=@eW^SB#YW{Guja>6hXPZ`HSkX*%=RTY)$v%M# zrCpYXE{pdN$dV~hKY{?V#pLVD(>^pM>>Vr<1Oj2CqN0)q$O+p^4}pnmA9(q_9EQdu zg5}o9gnwkQE6#5-?zj?gHl@am`F@s~%g+(VQDUBvh6iv#6VG@Wk_#LQ`R&xIHpn$PCB2G9QG9F-xl+&ZgB@tp&o3k~U zKL4B#wb)!l6REhXhs9^mSN&L?X(`OVunHCKD-5x%P|efGbA!Q8E_XBJ4zDB<(HV|T zvzAgiGHkMJ`5DXQ(0zP^z^c*>(`K9mOnioOQY-Ywbg!yP(SkyM z`U{Cibq%r+4fP3>{0^Grhn~{+=#awUZekCL4(Oyk4^v(ZNZ(-MnT0=>+PBm}xXz6a zz!y5y(<27Fdbw*jAqT)sTKS$l_CN9OV`RSx*uQ0_l9CjR@V{^0h5M?s&y@gI(G}4L zL(BYV)PBBJ{HEzwp51NvCzbXGx}bHE{%o`&M9Q*n<^}WkVv_mg|6oss~Rx2aAICBREl`n!@m>4 z44YDd892C!Fe;A}qteBM9t{13{n~#Xkrsla(M4Uu|5~95{OK@sVOS^#vVMy?4Xv($ zJHdT-^G$qDi_X(_!qsMjC9S^hRE61>L7UePtkQN1BO`L3fQ=Yhq;fX{^uidyJ*-qQOfm#+DP89eN>*fn?%zu78avNM7hgS3Iqbs*W z`N8m>I+5xm1-ba+xGhf~XD!mlT6pAlnB6i+kM1Y_`iPj__ph*%f{U0pUU-_02B8hd z1S0Cn=_jEgJSMb`h%TRevglDLBVjxwu-jZr#jA9qh9z|ARYtM8?5Gun{#^YS#}oZw zt~xIt|KmI-D8r?qNxfFn726oaZu-j-4M%lpKsq+Rk$xqvnfAcu`Wc{!bpNMf`Oia5 zNcLY(jK}=pgEu|_!4uf(K|x6z-L!tc@pnZfsEOIIaFgSoE4$Hy*dBg4c=sty3nf{- z)^1*tPNQmuc)uQ@_S_y`^!WN`mc8Jh;t%K6*qNs#>`~6@r!zQu-8O`exXn@_&wk(B zf$PJ|lA0V*R(c7kLW0ZAF>T$Aa2=r?$i>%U%R@g;+d@|$tN2>!noN(*tH z%o%k3=I9!6^b@`>|K;IXa=4AM6viH`c2Nk<{5!) zb^b;g;F@%Dfd3zg_UOYKl>cnaR_TptOlufSC#jCqkRt(i2(Ms@T=D^YWZXh*>b~kz-DsTrHE?B>D+mEx5>Ruq2Ini56&^B%I4BOKh#Vf4PSk9IZg+j zJLe|fdm^mC>o!s(IN&01b#iug7Kx|cu)H)HG)V_fW62uCeWJXwGUhWwl4$H8ZsnW} zfLApSxoBeaN0+zy9oMYz$j=<(k-5h|;OM341a@e_W%=4+o{--3Oxuu3Xa`!=1*eo~uoL#o!ktj*g( zzUZ{X#Am*-vHaAKwSl627QRSzEkMy7rA)7H(BcB0_6)Q7p_-J4X!sQLAxFTjvI9PJ zxL#H;ce72GLc4Jr*wy5fDxyeA(z#SO*p%7+t5*Y8G;R=7{W*~C_QXFRi(cI|dbZ@` z_&mr;n&947NTF7IdefMT3~y%Q66U_mZ;}%aEnY*~)}uIY2P3W7A~gbeGTI6I>Mw$S z`WB;A+3Z)$5;0W!k4uL+M$bgc{tRAY^X3vJYzoy@sTRX1344I zZaT)AC64nJHo2htVm=2bgirM?0E+8a)w^=!2>+n;WvCbUi}@3Mq{*H~ev8h^{JiT9I zUu#;q)|F(NtFLt0tmbl07LJSzHPouXkmN;2OKZ}3=iN#052!GU)(NWns2f08D8$Fd zm!d%H4s^fJ*%Q)wU2IXoQ*R-%EGI9dB*slSxOC*OGb6G&vl?0(GTp~T9|CenoXqy2 zkPt*l)C28U5QSo!a#fRPrW3S8h(&SnmdI5Q#&Ds~%R(u&OwbBSgA{D7aNbY9;XE|z zMiVnL6ff=bb`KF(*08B=iw{y&49V4p{K)lhEsaNZEqlo*l!NICMfbp&bgQPD^!t^) zgo32G60S=DaW2~vQn%bZKM;i!Oza zlznfF!e`gk^aZ{C9;}Xxj4041bg#y+$;MY3Fc{cvR*`Ck&$ca;kPh3VojQngyTKq1Pe4peOcsFoWCGI)S*OeH$QzQArykS~7ofwK z`j1_+cy|Ul&-!h~KKSgnVMRSXbqcC2_$0Khk_c6FOZKHrX^PBfpo_&At@Sxg`fQK} zfPblE#Z$8OUit46h9v;rt}~CG?a%8?D9UXN{;>sv24u(mh*#;npYI{ZEIfEack1WT z+KT0ky_5?u}kAd0v@=#LvDRtwn5+%-YW=HO*|MxNTku7D-}wM;_|(#?wC|@^}&( zMFb$2tcEb>REfaWdng_)kP?R^S2|vXiFQwTP=OyIEazBgX3wbbj4A*aKZ{L1ig4Jc zygL)OR^t|VBN6W}f-kA1qx(JMx=eY;jHmG**58|3K)nlWT^>SR*_0V0RLtA>c$%Qz zv+DEhs`C`G?5sDBg5-en3zxS<_xE1hA`N)=d_*(7U%ol^{`NSNJ^qv5{p=mW)9Y~d zb9iv~uJGejEXF6G$4T8d7GxI?Xj|F2{Cm_I+Q2HvN9@r(Nh5pf=I;K~v!%?FsdV>x zAT3PX0W_I&hK~h?t@q%Q`~9ECq>53?b94Is;&tIM9QGX7#u99Vt^B_@Lx~fKXdY zUq6!tKeE@Ls)=BZ(Si#@eFwYu#f_H+BHBJ@;W_G%JNFTWJuZjhs(?W+Q#atp1}xp( znSZ4W6iN$>N7!JgwtreL){oGy5y;=n6pZ`}Ib|HXxP-KFV{O)r^yoEiLMm4_bH0bqBAXpn`DZN zA#^104H$37;qXL<+S%N#?Z?qqVS?8_(^-3`jIjZp#T=fclU?3 z4xvp-EC07dt=&Wj&i7(eOcvhpFR%WF3(;0w8U1Z_2T*U0fIjYZ;@^Yt#DAc@m&sgl z`}fz_)Ukt9yDq$jCF=2blHCmNi{};>0~-JQ~Ydk6#@w~ZRD9=7fT0!f=FO2 zTJ#2xx6{?v&a&pe{N%cQsj!j1HE@Hnr77bYL9Rc|+HEu-Vd1r{IJeiJa76rD(fR9! z`=c-_s3~KFn#U;_Rv;MfW zDBk>L{=hpQ-rXN6kDh^n!6P%@cdP_Ea;8J)5`U&r5F;DWyCw6vM17g}_D$T zL$@7G!j0gvbYjFxN**KiOB`zQ*P#~@7Cng;gh(l(6uaK?3+ZnI3~HuSn3)yXcOjerC9L4;jdO0m zia7^*fORr7gyT&8%+<+@>Iv2;B+d71XuXcKoRog;(b5ho{Z!fS=8lOYVA*~PM>cQ( zG1who!99XP(>vSeYWUOZCg$s=1tpeDC%};XcjE)J?Es)!1;|-g737-kIE0Tw!?8k4 z-HC%vfc*9cw)$ZFw0CK%_V@WSFMioCkn^>O*~N&LNyW?+Gcv2g*9uiehGWh19VcdI zRS8e}IGKAe{}8w%`~R)IEgehV9xp>J#oEm`@G0$mdD|P-L;2Unz5z?s8`O2kXU5^FoCy4(uC}Bcj76Nz zY3{1})q@AVx?5eRLrR&Z_EO^Jg`QAREHOKQ{U$1dKb9SGNm^`G)HF&ety7Z%c-%kw z;VvgvaA|Ucu)Z$|TK}Pi!36Y@X4+@qOzn1G_oSNzSi~pB&MQXl^>6=PT0Zz)M&1cX zl`7t4T|KlZm#Bx`*_vW-UNJg;KN;X0<4CT`Ayc1WH{q5qzv7F( zBLqLnj9ObMK6wtCTZI^3f~HVa_|~uuh9r%&+%Df}VceCFoY;Td>W#oFlvAF_k%p!% zL!z8Hy;<##MXm2kA(E+Sx`7W#aApx7|JDQ=SqlH{Yt4a_MFxMLEycr`k-eHuKik!G zTD@AppeNZTc(6)=5B3`zL+MiTm3qpfVaH|ViF+XJIr;I1$U?-8Aq}Q#5H-$;(2OZc zzlsBy@Iay!Z!tPXkEf} zH|V=5Fh8wYoZ8&1K1r^UnO(IEPDn8`RWj-W9Sq^I9t_lg?)tatKCcw8YpkrQdIC?6 zrM0ze&lNwgKGKI91@7+2)I@fERqa)+4UAH|a!Wj`rmx#L4hZNl7&2@B!Hl={`^Ga> zPb=tbe3W&PB&0(tQ6}B0S0ckKS1VMZ18P_S`l_E@Hnh^1dx-qvt%wvPhZ~=YLGSl( zU_F(&`YXjVtZCGSP8}XM{pNQKJ>C&VUTV zC*#?kVe|2wx=BLg2zmz5kHw93AG&SVNNxQeH9hYt+uPd->2@Js4{=JBy*#oyAA!wr z)#LH7NR4M+$H6Xx9BG=f;+MhaN7vp1k$o-Am3r9>*g?5lTWE6`Yf+1Nhefo%C;nx4 zhv7nq-SMGOISlyiCUF6Mj}7y-r&*%H5ZNH5^de35))ig{4YHz)T4apq>lvS*wHp4r87eH4E^CNy@Xy_y)!JH)Dh`B0VpqQLWLT=H?;> zTvIWnVihl+Y@~f6umTkSfILlddzzE5^_rPdfS@!kG&qr2}1$c>$AM;#EElw?9Ad+bzj}} zsb}ff4Ey}ZLaS15^Ozlh0Ff?6Syk%niMt#fH+%aEcYFKO1W-ydH^%>JRK!Hs>bcpW z_(w=kA*#Os`PzGtGxf*qxEWpMqw~1&AXf%snjj#?e1(yQ^rvJ=a}yhe+i3j_mK?zT zs4&E-Dos^n$LE&*w&}rf@I>d_ygk&u4)=aprK|(P!S_I-BCzVlpn_c}`C7TQk96); zu3%c52|ozXCk83@x}oIrFE1~jL3_Chw!PKOj9^#AO2|qerr1)PGr*rk@@wPERw>785!|U1jriOqu(3Sr7z{#*55e&50hs{ zvLK${7*x2@tx!|p7MUix&r?&$h2PHn7&8|wdH=_k&C}Q29aGlelX~rZDt%Ad>iAMR zDgRc`?+9*Du#R?e<{^#AV}1rMgj@yMohQ&rZwa~{&Hl%0T5;lcmeCF06#QWud$--F8RD|dO$&BbUIXFp|wkkUNYO)Lj%vgb!@FX zDSI0m1~QEARSPx^uQm7gnyLQ$N5qhyU#T#5|{&5o3oxB7l>h$d5XiG z6|g8tF9Ik{0%2y}hS|y#)8l=_A-F)t)J|MIa;3+!RhGc0fv(8tvSei-x+SAudmM+! z7946|$6gd2T2@GJ>37tPGeL$YXVkzG zFqM3`!=rTN)h<-Ea6Go_vVC*Bu?e-VvoMk<7HNETPCy{iWs z6|~gn=uwdEyDC&3Ov`@#NHCLM8OaxM4FARP1#Pu)!>eP)xojkKOyzKZcjo&th84eS z)smrv@W9&HbKO$o7=g_*EzUq*sMw!$)m#ZxG?VoJW!C0l4?CgJfrbs)ezQgxUhzLz z4>Hs}xqTF|gIjdM58)T!W$F3a-+52K0X7B?1O^^kS;e21|CV623Z(GF$RDR`a-va< zd}%X-vhZLZ4BUk&W0;j~&1v-J8kmkjHb38@Hg3&yyz}v4360up4IuKdLP8FtjZw41 z#X~xH(Q>kU!93}xJKq`5;y?WoA5~$$gn?_4B%n*-+VZRKISYQdLhAVx$#xo zZEgutP?){XHN~7@L*BUb%!u@WRj9~njGh3a;l|#_Uu)@DP2;v)_vNbw=Dh{}7d{oM@&**LWN2(_CwgV)iqi{H{{oL-}gY z+|&bmLh6@AfxXgDTMspU?;*7!a@+U(d_~NSmt#-UwoCiEfRJaW#et18E}qDw0v`!( zEdauvirE0FW+Ew*Ca&u23ZsKYC9MU4riRJzle2T`x2>`(4o0JE;^ANTjUqFMj(SZ^ zq7ZSI;(#oz4ulbWRxW)$_!aBqG^H{#;j9-XhfaOc!_HGN&Y$?j4ACa2oH(IxZ){Tx;C%yCPCp!LGfmE~%4<-|q{FR*Z#s$3DtwV%5Rq zWSEI%i*~LA1ZMuRZvOzU@byHry00^pF}c*T;>&C+OO3se;9zj!Qge=DIcH z&+MlGF8^Bx|JgHc$J};=O37W9hswFvJ2a*^z_^{6v$?S;QO5z`hPEZGIt!Cx%`#cL z5S(S~lWn=~_&}+;T0@6v-CkYSI`lot0-VhXUvym~@zzy16h0MtEl$tIvWQs=Vb5=M z(O)S>*=o1mxu^HoUbjfN+V@5~n4)p(l{jS2CQiLYi!K@H_kAOC*(T*TS&_5S6Wr_5 zd!W4*&X!iA#gsT^;SCg8UJ1iybj$33?*4LoS}u%9ZqA+-K|jLV%Q{jF-JF!rMV$w~ z^y+)qW;~dX@JF(9V~=oAqCk3qnz2{@F832040WKnv@{~H!C)W8^Px?D^-x--v(3t@Ygy7(k{&u{c^$I)dX>(Y9)@8=s?NtMc++#9e|NL62A?RJ8K#x28| z%$u^?pLthSe)iy25|(8z?6FFXe|)VKQ}0av>gs0NNJ2mM_1Yom$_?Yhtt4LaWA)DX zD$m%MX%t=Qio`F z^wvPp8%!;WVo|64@L$0inZ*1b&+caA%Y;c9 zXgf7#Sqh$UombfCK(6%{0`R+k)=lJ_dY9w5%yel3?{2RqLa{;B7jRE>Co{#dV$Fh? zxhPiUm4G8aT~KNfTkO5Q0^XZ{xags79}VeqdE)k}@gAn%@n|y4s1oT<5-qOV4I-_^ zk(%1U#tvO7b3O40J65>+G?(J}W;yQK4q=!Di%OmH70(rWg;>K|DDN2SYZ?gg@F_6` zp>7=gM;ry*;TaR@WrmgwgWu`)94p)khVh6;tt`gyxU(0=Vs7Q^KgKLVI$w`Fr4XsM z`Uwo%9)X*yNcSk8YwZh=J*QL4(kkoNC838fMdL2rwjbVCTioWFX=Lh%4$8i3;2`3G z#tx*3t^=S$u|0pD=S}zI7W0L-wu?V;S=U)8>-QE-7YI%s#=?9J`7ay>>)Q04 zstw(BRT_4dff#S=#_POIG#gK=)*pmh#GoF67iRR$jjO^}c?3_O!!x%2pyp-8)Jm(h zjrt3{E1Ge+c4OddFiT!|W$Ki4>Qp!?$6tsRg4qVw(7n!4NYHAw1) zig^IJ138>>lxuHIU{)=_%n4~W`wPF!2)94RzD^0-!0y3{fco>oLx69`!}Ln<3|M!5 zBz4z5*$Hl(dC|!ZG0fEjqk;jRTv94W@?NB5b>F#%5VG-?w7V0bB3E0;<`RR7b(_X= zW&W^gU4sq(0w0;>0>P|R9v|tq@84mV;wCkX34yON*tT#i9<1IeBlD?c37f%DZFprwJUFHG2bZc>v%7l-bm49vZyr@1v{2_7TzdgRopAH zaucd6%-o?!1O<^CUgj=uP4>l<-}nNcET`*lwUZG6$23}<0Uped-y;44>^-MEEhdwe zDmSZP-+U(?y}PFuS5XmR=F$6h`CYc|%*B@r#)gXyIq%{R&=2nQw~=ehmOKJ0CI8Z`(bHvP9r}b4Dt}pBiRVa+AqXfK z4O8oHK>3drXGwlo0x?cGA|=+u_?S||@zjPz*1t~jWw{-Ghx6BwB;Mvo$E@D=Hkj0z z2|KbpN0VhdExBp&>LsHV=Du^tF)kRpVS66gaUN(+dff?~A+xjet-8&3@#7&J#bww6W51U$0zoh^>Ja%UE`4SLb0xyr2Hvo$&_r6mpwT$%l%32oA466u%r(anXI_3jPAiGIy`u~5w-Ti} zcFW2P9haqa=CIX9)*uWu2GL7aRvZ+hq_gCF)n?GRlJb8;+ucsnxiiKPrrHAHX*6#{ z&uQ?PbfJZd&ht5t{hP~798V!shOmzgP3Y7p$@8gV$N84H7?Z7@U-RnDP4tb*8T5;U z@^GVk3J22?=hel`YReswjT-`Kts|{d`b?I!%rfAm;64$vi)}>f*K1*<+?bhtb3A^x zH+`P(6<%nKlp1tk6|fWxh@L|{BNla`?~NN12z&;Dg~v!7+v3ne#B9?PXpy0)*`V16 zqj#Fh@%A2cE8WvSxKR$od@0>Ey5ncFInnCnF;>_J+bP5rKXm_TdeYp-2C^@9$f0ot zH;;}O;#ewjsg;ZdIuL1^@?qV+`0@{)j=SMov8a{dwNoUV57Io2mH1 zO>3dGhA5UC*!*mRGkB@3({c$zs|&zIB4T4>KY_jDdYHsJR6w!Yy?$WG3zM89S$&I2 z=`M#pJW`HU8*O`F$geau?qH*Tz9Opppr&h8K-_*Ap~a+iw-lVZ=$78K|@g%NJ-7Q4gjC({jKZ; zV^AS4qkB2#8Z|M$w+nko`0=fYAq=y}L&ZnR?^E7pjKzteM7PMC*SVg}Smu2V9~ZnQ zO=Ph~{!nkYyu@8CS?qA zf%}U<8h}f;v9#P@1`>}Va2oEn8JveQjY`(r+oW44cU8+v8Ih^Gtt4O5)7Bd;)O$MsE^j3Hn)p>gjd(>S@}u*6FFHAmZ?Ntc4eJD zX2t0~S5L_P0|$bG{AUYzg+}JTshNKRO102Ldr-KG-WmB$(Y_rO0d0^#Pr0o0$Ea#NV_ic7f$B6a@W@g(N!AD;O0 z4gD||S|JCU-7gpYmRW(9mntTcvb3CeB^M|+Rs=^#jQYXtZD6(KJjZ7#F$u9cS#;4qnow2>NnU4-Oi~J25F8Gu6ua$O&jWFBEw&=J_c#1PFxyn{+=XV=3 zEw5>%rDC~Yoao`fMjTyv)M}utp&>b3OH^bgeNw~BFlB%6e44d`FfbP862hci@QIJL z_^3q#@B8tST^wu}CsT>uw^wv{Ta{@gPtQ@Br$}M_~ zTXn`3X8-ve=D)BF#-U&JDGrW~mg$gsE&&`ak@e27-3!nDkNsoRL7Cx8DHkiNf8=M3 z0)?!7yhN5Jj=s!k{aQCizVAOyP()Y8HcIovXg>#krA4f%Wc7JjD%u>T>x7DnVId?X z4*Yh3`6~2$^x+>)7z`%KB^WdX-$EDK*6wnc6~}7;G`NjQnbI z>~`v=bk|N`qc*;q<)B)saa7OV=PpOvn+MEhHaw&tv!&&V3O0F2C$x8qr__3KzsR7< z6bJT~hLOwm(1GRE!rt@g`odZB7=*{bc5P4zpDVdO4N<$!-HH`)kJn3FrypicVz<7; z!5me62K96!_P%!-=)Fcv0_=4#6J5o`HvbOQ{z6$=HdNZ3D(3#xaDK9*<|v;NO@U-& zqJ<0t95eeM6(bf%PQ7Cdo1Kh*&~{tRSaJX$>mcfs73bSg_R{`pyU*>p5w4&7#^XuE zBl|)PrfPZ%f392+XcU%;sW$-dyvOzh3y-JIhbXk0oHFj8{7-Dp{r_IR6l>UCxWA5X z1XuYSTGOZ0pndkNOXWvRoqveRrAA6!#9)ewNym?ZmHMz$@zL`yu@u?;0 z$%ojio^s4#fh%Gk1PCC{&Shm~)#lL`%LaZoK$johxis?;qKFtJjI;*OJ{q@4-AvQ+ zpz-K(lW%p$>9SI8gU;D&U+B3NG`P#X!UUU^{A<0*4++HS;TwvHuuUi&H_r@V>d>iwhzWtM%|hg5Uwe8tYyjng@l zUMR`h@mb}KtE=lr_uY}CW59hhK=5}fh@S}a^7fVof?Zn>%EK6ucY+0%tG3`uq_OK3 zVz`{SF<&_!XuURSf=`$Q)DdVzoEuxp`VHaBBQ}Q`MsTZIWtv~bX zb@&j0S=96X#hBv@dTLrmP|JfkyG0Omr|oa{==MI#Uwrt`U(C%zJgjj;r*~S$-cMRr z*oHhb9t%UR*B(=E>t={s*KUTaOtx+2Y5AY5I5uZp^~<1k2!&QV>k|lJQqL8JtG>4~5d^bomycFYS8^raM-9~yXE<48Y zQ`YF7MjM;$-ns%u;sh@>*WVe_6z{F)HxHb#yHeS8MyK808W9MlaGK6TWGfNJ!`f!tu-)vc5<7CW;1o2exB0c#tNu?Gi zlt=`>zZUF-v41%s{q>uqy-`O^ROM)r1hqG%vl=soln}6T&^>l7JN@AhMQr(Xw=>OKJ+C$E3i!uT^?4Y#2PwXtfBh%A2Lm4;X(y^ zG&lFH!gq}=&yKufzKF5nyqX)M))|T`gK4*AGqTkA>WEK~4hi&*3-w%dg|hV(I%|mx z@YXY$vfUId=JkU-iu26p4yNZdLZc(H%g{UaijC*ea0&`V2X`RY2>@@z!R)Gi9`4n? zwQ1`=-07tjQzHVDHb74D&a)y8uO(*InU0jF6EiBmGwv|?ZTa(qx{;R~e0(^kon8JW z0fi6D{)8`*@5|an)4#KgAaTUIo)yP-bb^U*Fw&S&-HS59QxQ4tc2wPir%|k^tAt9x zSG|Y;Ctq)v$G{aQV<*>Me_9cr`F>kek3iVAXM_v1xEfU@Ktyo^5@ks*DIqBn!4p}W z*%K)#)W|`}*QA5SvJ{ye#hGO1GlZnN`Aiuhi_v8@I|J#?8uQ-TyhhwkHB|HT4jcGV zwe<=|%;%F>REOve4TI_s)$iG3l3|X0DiLkX4;aOM1xfho4Y?0F?=MdtC!)2D2*{h< zn_^J;mC}<~J%M14X3M2TpdQ$*g#`tp4P?Lx57In#f!l8Z3`>53@Ddj1EZpj^39J=Q zI!jvqX8S~fXGs!2Xs|6(a4)_Ycu_d4>ILV%Dov`x8$2!PvU=_^ovbyX`rWy|a=l^v zc)uBR%{sk-Jn?TJ#du$a!VFbX`Lct{Xc&gJ!SJ2Y_FYyMd3-%ormqtPyaM<8s-^U8 zY89>o5#1U@t{J16uT4sPZpV&g3zV9aTAB<=d3p4unl%c=C9fPd%+o-vy(QzZC;9||ct&W!yCILoLNq|>UD=;L@+LobwbA%Le9slv zL%|<$vF(JubEX~A?PYtSy1dbC=_i?Ay)ZDF3J3)_B#mvy;G@rQ%EYhJ7e@^rCi-uQ zY@2EV$&Q(Szp}Vd9uBOgJ|SzN1Y)UZxKbtz{{?ZuRrW=Vhgp;1xO5EvK@DR2O(IDL z<2+-gcME@g+WEd>BHsj~To?U%t9dxhg0RepY$jlsW)PHtN>crW9)T|QB$#90u`AZ# z(H5&8=lQBi0QL#<40e1nw}>C6^R%0eXSF%>rF6=7B6NEpl>gKU0z&V z{Lcc0ea5y%FsCjpEnQew_eCYyoIPCmhjXpsk}TfXP~}Xf9}>iJIiP4Jr&_nKVxeXu zLvRCK02#@-2`XHnlo_`y?)-*pINthp{w0}7Xb<>{paWF8X5G*o7x?!2xp1*I{|sIe z4^uZPIWS%<(U4Z(W~%+;JoYYnwR_&87R7?O@oFyv(BpZV1}Rpn3?bYe_==_`?x~d( z2ozMYl56_~K3N&J!9#caYOPP&>{-YOgK>)^E{Y+e+$plFyBiP7ra*7D z_3h=t@**L{5V49IZR4?_s%z2dgI==-tdIaV^soZCnJkon)oisJjDsczU~APIzTDN27~zIP>-(9@vOI(HQ|wa7H4}9zGOAB{ z;RDDH(nWtFnu#IfX9w|*jD%u6*FM^S#M}`Xm1aMFV}bLA>{lY2Y5U20@%Iq|aK7w- z5Bwdo>UXyY6WX_bEeWiXTS2J%m7+Czp&tZmDB#F9g}_qJhb42t1qo_+&(E>TbZN)d)W~D2rblM7NGRbmoLy92 zTm^C?1-~R@?UU3cZFYYw-PVp1+I8yARk*EItv%IESgC9eCVCubybWtsZ9L@oFKz9r ztg54ReQvISJa(`~#9aXkZt3TK^u}=i>{fn34bG_9RPZa4$2)6UQvwVRKuHSXo=^~5 zJP-IlPV)VQ-%I2mLR48bN2j=FcNpH|a&BhxW{7ol0Un5iZ(0%h+4tfrf@1UC+XS%# z8(t2GB8TVL%HDu0=KoGB?>kc<-8fx(<%DccJ;{c{M7_ZbiWV1#;M5bz$^}&oq-w>P zn>k^ZP%fzegbt>dd%E3$I7aYly5l73_Jx=K>mM!k>k_bw`++qsNv8r|{9IBLtGeq0 ze$+bYg~FVxG!z8)te6OCd1(wR!X`Fq!yv0GXFia9UFbyLS7z_V>j?g~0 zKSkwVLFOV)n{dnA83S}^>` zV{5EN6W@~Y+WOpx!Xk9hicll3#SqL=h0ZjaONuO z`H&qJSroMV-_jtZ@-+Qe6sSEBJTa-u%vZAgw?t-(M|uuNA8l{*N2lWh6y1fu_?BFY zo)Vz)_4_{Ej-4&lA=Y&h#nzgIYYUYEH9G3c%S#=ou=oKZTt(v}K>veeYzM_-vBn*j17&tZ(UNO$8jpRl}E?bn?DM8Obo`ZL9pT+G72 z)Kplmgb%%p=LVtf<4S>fR@Lc4UETUY7b_dj@1CO#zoB%I_|MIu(`(`_PHn(<$;0_WNdx=Pzn zD5@__44-x%*v(2hI)oDG7o2>2HSL>$>$PSV zYq@+QC5_o+zsX_+e+6Z^)VnzEGv)IW$7CjWP#AYmtsjA$*Et~uGowW zOKgS}rMTKZ@}KBEbPD9XC=_jjm61si$wWWQ&hq7>;%yJ%B6)13{o)7TI|uV96yNT# z+pd-eSsMtypT$5uM}Hs>HhkzY!1Ba+eZINInn(;wsi15wis|K2LB`dnrB``pjG>*# zip|PKn@}2iy63NEg2|{ohNEO#u-5*QlXpdbW3}s5X^82sUB2r3s46C(mt#XiA?Ixg z6e00eaBXK77CyInTy9_8-{0HSXpt(vp((W{*3_ia)~fzWz<(e2vu%(RUvbcP1z!4= z&+W2_|Lm_GcaB+$@vUAmzkT0FE-vEh1|nLq(r`|kq69ZP-z8@3chqg@G;%*v^D%NT z$gA8r{BXic>#Q`exsu0_FUqqk&Mlgt7EhbVZFjlro?qdZY#WGaJGG7v4i>vWzAZu1 zVHOT8xhL?Y?g375<-SXc3W(cq)yFKh=|x^IC;cL=id|-&mt7)G-0*q1pLa(3#}6EB zIE^`(hsu~Am{N~?l=RSg5GUBzlZg%g?Dp@CiuEgzth}8V|0X_AeE&dB7V@eQv8ZDH>>lC8WV*}l^i{VS}LZRhgXn#GGZ zUEf+jLjFqoMN>X}lk*av)24`@hez|@7HIi=@Fr~l55K;lw)PCELa?=7jAH>`jthSQ3$! z2wYQ|ASRF-SnlUEd)K9j!MGY=*a#YAu0c|F>VHiNO~U(im&zOWhVfpD$f~5=0@D=Q zg~gG@EnX-C?NxgrQ9rx~S9Nez54Xu{kT^ zOMZGoE#JxlM4%WNOIC%~9s;it?*j5#D8{xgJfTOyTU<EgPQKi9HEl}F6mJ84BS*4??hqtk$ARM9C};y9t@^A=`QPTz3e8k80Pw=Gr5J=?%1 z&2hIWQN(dG&+&8aGn~f_Uw8r9J?!RjZa{jnJsPudGuh(W!j_hreKpi;;##N40Lr~HqkbBxZbYqxN0HEwL%ww*M#?Z!46Juw?JdSauo+1PH9#%!#f{eGu^I!6Dr zyDNL`8*^S$e@%829+u(sd{Du@P0>JCnkWX9QwKb-seqZW0#XBOjy-3!7mDIS%J==A zlW!O46$gAOb;OZa{_uPA(^eXcSiS~b@SHf=HjXU~#hFaM7-3|l$m1hSV~c1!L}9(b z8J=gPwC<;rg7)`9yf4i^MrbFyX_sSZN(*Rpj^M%oP;PK0B)Osc#Zkg zK&)}DJ!)ZEyHJW2rt)IbBww74*NZ{mxc9`90{f_D8z~(%xVQ!+( z2=gK4xFOKbN1759#pe%!7 za5x-HfO`oGQ|im$1cb&C8?2I&e#l>-Z_2E&{KTey7-O$50AEvzQu98GaxB7(xL`Yn zeQO6noBz713UEy^q(iSxPj62;m%F>V8eajj(`pM4!>YAtId}xi)WCNR@ELCR2BT?# zFl zG`EA(ZLbec!_$bB@=+7e3dTxFFsCbIkqNENEq%JZ-3}R7!$3^c+9c*- z(W=4flfrRe!vG9{+>eaPA|c;z3ff*i=QiW4=4noO5!GvfJyPi|vPfxVqB`JXhdJ{7 z8GucdC>K|nNWjyz@C@Nv*&i-8HZ^{a6sXvidppgJir?YZR8gMLP2RK!&JlS7!7to9Iv?y=?(b9N3=b{?!FlBgWAtoaVx z^2XNJ%O8;Lsa#i5P7dt|a9&5v5>xteA(%~Md%M@q0eMuhjYY`BBHvwX-Q92dfTduA zB|e-s(VPgLY3zRs6CjN;`?qh8qSn$S!04zq!zUp+2K+38ZbW6Q`)+*;9*$mM!m70S ziI9e$Q3|@+=~b!gqYU?4l!Az2*8u@DTa(p}cU}XjRguPrmizWYKV|i_I54;pxb2nz`P$R*vF%0&07tR3 zEGsJm`9EHEXRDNZ)1=C$u?T8v-IGZ=;`N^Ke0PQx8u^rrxg;|OL!d4AyXFejKWLU# zoa0LrCzj$YDRTcpw9IZ>@IBqz`5=9k$z;e3WB-cEc|_fJeE7Pt{&_##+fo9LsIH-= zR zw8^ETx`oZD=B*|AuArV)xy*#4!WRr1Z`e{mIfV&uu4Omn5Gq|tJkU_A7+Q=i4!2O~B;WBQipXHz#W7&r6bp1u zXC?Q$bzOvhK6+YER4*#swrwZnCwujVLes{Zuno!@Yb~Xxq@?6FG6h?UPXZqTU`|z= zFB0hI9268JkUD<;$5(_#9+RdE&l7b)lJ^m|p2VWAVe-KORlWgQ%iKol1mpl=-Kq=d zhfF~SvC@5S`6j|}Rh2@ql|nr~Nnc8WKo$@0lgL2QVYqHIy2|ARW$gNlp-H5KH0(8m z4;74^_XsiK3P*KdY+nqIlE+*BbBt*$3LDsJE>Zr7w!2L0&*tUYqk`6%l=gIr(a*|+ z&z}*}=(vq28SF!CCp_lO0M3V{UgFF9N6PTf+qll}WWMzFzeLLb5m7REOutFsA1H&mSTJVJqlv^T1%Qz%{y&Nc&}W=1Eoohh(|$h( zoRnJ9>K?s2bq=2ST=>*ergT!~tr%?bWFAWp>bU)+*I2Q0SLh)#0Pj0K=Gl)cpE!)! zpe59bD0%gxWh8Um>b!x2ZCS*YhF&+Aw%kDt)&U>x^i}}?+K&Hydjs_3&V>=a8`4gl zb$5WScKGP%s2s?b^R{VP6OjiA0Pv6MC2sWv&)SsiYcCTRDgoAuDGINls6@5#Zvqo~ zOAQCUL?JT^y0}GOh#Jv6Y5x#zNL^$hVDOQ$1LF;9D0)~Wm@ff%Ue5g4?5j4; zI?N8#ze4R=3M{;nrX8HFlxkPM>6ObL-x!L%e7Po~YhiHBLzhw?AsGgI9Y30?{zLZ) z1U{6Ue^C`K05;mV+B%00$jHW}1vr}0%aq1-jb-3;09EDX;P*ool1aI4cuAt@IusCC z8}t{MX_h!V`rJk}*P08;9 zBv>=J>5SX>ZJoek{L5p{>EGu+05a9(TT+tA(*RzND{;c=>%#@(uCPkJ0JU+q-%{qZ zbpsC>*g>6$+K}DdZ0z$s%%BaKslByr%*sBbJZPM%1S=I*7)GAJ;)DuTf6(*%B@DC? z(I{yBuAKL)&3N$57$F0=5dq<)Hju`+nL;Ux`(L(i)9uz((8@#Lx<@cV6^gQw(i9UD zlOezV!+8uD!q)L;1D&&=1fM?2re!~lYwZ{)xGlo?hFRhzfELhl!GbW zjJS#i`N{Ns5%-7YpPB`b5{RzNKM6I$2lD~hLhABqUhsT?BT0wys{5|@_ma7~+=$LI zu$FZdS`;D)UMG#Kem_?I=PG@=miqLEw^uL7vJa#|hb>`XBn|o@#YeQAm76OGpBcwA zX$APnfyAB^h0@=^Z^dA6uDxD{gC%5|#(uP&&!}E05o7&!<;2{HJ}#Ydy;O@sjd2~G zr_qd0_jU_#aT5MF=;7nx@#?6nb2$Yj0*dvIfUR^7;3l!5flb-u;;b!vnW>Dbpc63; zA#psd!2KR1#8oH>E{gz2EV2Byc9Gf5xl&q{)VZJM%Xl zxF-up2?+-=U7c{wq2&O}Fh9_j0HMS`IaB0J$zi`!DTb9f7#q>b%RAOJab~v@Ta2Or zi3D2Ty_CL}@h&zTw}W zQusc|T(@<9VVFwS&usyCgZb^ZgZ*ybqUnF!%P(#|L z@AF`rR&mBGYW_Y-!cmbSEQ?-@A`naM&8bGO`tJ@nG`+NhgSxlgU^PGB&_+xNqS#}D zDO2R^f`UYdlSaJ(iO`%vDF@vo$A~pt)e;z>gvpAh)+E{HbDdi@eC6xFa$X*{HZ5`A z()?Kr&&G0@Q&wc=S5j5wU^i1B%&VHm=k`2l@^MS8m*Lh>r+?Ma*$KSLrPJ%*+7vAl z(tNNXT(oFA(!XRt@w5c49xnZO^n#M9(l5`}pHdd^I8&@zbZ)~aMj|9GW)tgBqpN-&^l~)DmS$qwE`v{=?ePG3cclQ^%;X7(WCGZFh!c(HH7jRf*|+WsL2KXW9c0e& zt-tIwe0Q-xyLs~~vGuT-MHa7vI|L&=gP^uP0kKQ*DOb_5CD)~ck_Q3JS`Qvirp>HM zVi{qSAdOLe+YqX4bHlB5#dXuDOfu7A?AValU!oPT1MQMPzX(MG#jr%saB4;ScOgG{ zZpdq@HUHhQt!x{U$ocTs@MAwWVju&Re27L7LaD|eBmPcP?Q%mhwdMqMg(gl=JL{=$ zz!gHU<&mivoJti#+@Jf2sGayg@?F9eE@jq=I1WP=oKeui%Hyza``V|A-kXmz(d5)Gvm1J2sP7y*OsymbJHYU;o?4gW%qnEBV%#s{gh*M@i$ptGHEQ>1W7 zU(dg^xai$*l;;7v{S~2tgoH@LmX3w)8~9ICMH2jWbLj7M?Xs{nr_=kg)I7T1!6zuV z5xMr$!w6jwbkNUduB08(%f1x0IxWgL#?M}J?k4D>dzQ8NLPTVP5TJ`<1fjJ=zMHx` z9@x#cjTdS=hWz!6-{*c4s+uPL+9ByGq(NkA!Xo+3SG*1;d=A3xX&i6@t)O1Zw=MR1 zp@e!CsM!d@pu#BVpF=>xQL}GiDA|tTk;uBoPdAG+Exj9Jp&BrTD6LSu8C03s%B=

YKIUIc{w>dv;6Gr)CY2qVb!tyspSXm^dP0xg|ePUt21Re!qpN%>GjpA zQ>VgbG;WR1o3+JJ;p;dK4V6Tr>D>8g+fyyuWzrM!#JB)1cq@FtA%Klyo z=f1RW(J#_u_>b`n2vQPj1MaI#rg;M!c(xvWo$yCSrgM2|Z=c`DaK8W=>Q7VX3DjMy zQn1d*Um1H~?}Qlltung;&p2Hr#b5!$81YDxm97f*?#-6)Zn|$fS8B*(U9H&ak)2!u zT?!Pu=QoFCkK-RPzPDE<$!#FQJ$ExB*InvjFpzG)EAA{<}Oqp?1#I!xE z1&XfLLrH5r81KEylt~nE8>%aAE3@VkhX@{Hh|l!H>v>CS)m&2O}<9$c0i;c;+Vo z`tcuBYz?^DO3KfcfQTQZ5%Y$7?Q;if@Xu)&)HXh~`8b0jGPEMxyDdADRb>T1`IJMi zHbVSq4peQ#Wt9v2^7#hJznh(82#0{kkqI|m5%|a6-2qifJ?qBF1qqad@+6?jKLUnE zv>KI*K#avFc~C$_BKKEG7aBd6$OemXXUBz`$zSRjCqS~ZD_NY7r6Tv!(+J#?Fa?Ut zJC%1e(=F8j3~4kXk}C<=lh{5E4zdm*+RH;?l@%1|kj;?>KCL-`RqmU7K|}b4K&CnI z0~P}#z*RC9>z{_0)!=T0S8UJU@}dIIVgvnhnN@gCeejA_g(iV*6TXqoz;xs#j^Oozd~J7f}%Au`n*v4=!J$n)8J$r&Oo8vFYe zwR80y@VVy$YMQ5X0D<)Tbgo1eZ+f3Og$#jC{u49w28p0^8i~zCD&Kg_$MJV&EgUes4NfZsb`ORf`Z%ijhN)qQfQX-CUPCccQR7xj z7(`WusP%0hLGFvS%ojtYEVqM8+Fs77Ma&~Z>`!#A&715SI7|`;S!LzqblM?VCZXw4 zWb<_210V!LK#OP2gqy2xY`onKa5Fj66)uvkJ`;zS14~QjRH7_USxmNsErojyRUWLe z1FAAmBdfIX!N_4zo$2}jvt*@~j1(%nlJat!kKO+8%$}!V)`A_t2tN(X!Oy)GxO}^} zJL%$%#p56NP)Nm-^f?!D1Nq?di5AsV;C>`PV^X&bk5-bdo>ebtRDZv~x^pdV`G$%i7dlV_?lWV>B>-z zs+7)7F3Bvg?T~gXV=R+74=HS?0Oj?8Mf6_ZrCS9~lNtkdjArbkEczcf?qw=;+%T~b zF)>dc$>QM&Hty12XE}*pH!9-Tz9xLYHr;&6xTnw;iujoHD^?5fHC-rmE)6;aE-fuB zC(sw^4Y?wtco`cRZ6y@a%WDL87+wOPKo~Aq@$0M(I^QaWWtBG7M?J_v@po`G$PzVt zpB)w}s>j32t2QwyX-CNGe6>_E8qH{@&1HvUo#pBv5FQ?W62P$;)UC|X=l~No>yJbO zkMim`+znMH7;L(&Jood8CFya2&~scaT6j{y@zqO_KPD7f=8iy8m)rm=np<+JgX5WeLEg6ZcAxvV=fB}VzS;^vx%D*4oc$JdQe>b-EFho1d{x~I61E;C z($D76{O(6hVqameMQGgAZmN?u5+;g`ETLMC&ci|7&h3}|wi=5+N|k$_65XN~MtfjNG<-M=BS85lm#8Z9(S+{^=r zzw3KB%WQOX&YJK?udEDHI*YXqp8C5aEXCB9) z1OrdX^6^1T!TwxkU1tWp2R`I1nx?QK-s9c$T|Q?>2kHVL-^L5bSBwQfvlW-FaQFw{ zGL7Bcd5F@urdWMGq61sF)vRk|4=H$^emQev)MHF(k4&w9ECP!(8~nCGK~>izM#6yw zGpy5F>8fV#4UT&P{8MVN(^P3Xt<(B~8Znn4^q(&SyD6|)Myz5DWtg56>DA{yrnLW1 zT7A1AU=VH$)-!=+0PqtXi-vbY_BC@yvqljk^olu%YTGk5-6 z`-@4OBb8E`S|D5;|1zn6Rg86rLL33sr$@6=Ar34HBTsTCO;Ku3-X!4m@*Y{KV={da zblI^^iJXzKIz>T43Sh~bvX!i9fG8wG6BF6{bGZgxso8IU0o}Dm`!8KwSRSLBPI=*Y z7&X}Oa|>yHGL<&y-~dVtJ~f97fm$4cBP*T@ABCl4!V{g(gxcS3x8vGg;e zazg=+iKkzjbwDN9AqdE{Hhzq6W62cN7MVy7e%Uz^Pcr@l_Qa8ZWIe|}k4`j&Q0TyJu<#2sp2groCBwAh zJElEdHwoZ?6n)*r%E~gJV9=*Zq8b!ar6t-CL{lYRgWi|y)-6w4xd&I<>kkp4pxSzR zdI#9qJG<@FS`kHSM^DP4F{MmpGMUf*0}#19DtUaNA^drAR1ZV@H^P95f-QC2BU7PN ztwwtg=HipI`WqN*&c=09$j#WkZ{oq$M~Wwl<&4j)>==m<)NUJJoFy*L0R$U7JUkR{ zIlAxk1oHa(`DFkLBx_gK>n}Bab2~ev|CZZ&JTL#feg8+v#KHos@VHmz=Gdv^HPA=h zh;^60Ep{$)Vfu{In7it0=KT=G?c0Qy^Al~e(8g)F&%#m44tyeA53kDl3kVp0DS|xq zE6WRVo^pf#y0A10o00}e*tBUfaDPe~Ed^%c84A>Zmhmnw9cA!ZJ({$NvS5MFY0tL} zk|wui;su3PqCQRj=9nOWBcH4wtHM~?lUX6nHr0`@Hfu)eXI>fBKH@e`Q8xabydEpD zSl>%d8)sV$M~&Ayn>Lgs;!?90gT408C`%(s-E`)g`$9~&5-yj0eXL}40V*;1E<<@f z%aTrnj)KknRXhhe&t+^Tb0s0uPr9FM;o)D+W@^>1nL}352R?JyNJiz2i*)|FCvQRmIFmhrmr4tfcaJiK-bl3V!0OTrJ8hi zcXUK)ng}?J=zjnLRjGGfFE=|D2L=Wd05n`V`1F?=9T!uaId-X%I0lvW@FsYA^!#VW zMw3x`?b7GIiy)qdl1{2U0e#&`OAcPu0-@*emEMng!m^7_0q?Nfzqdurh-H0@a>akz{r z7-}*zz2*r+#jg4$>)ET$kb0y zr`Q$tl12dmJNQrC#tpiaa8hdvXQ*&8sf@^igPh%p-x=#ID}hrYc2=2h< zMuG}68)z^MPA)E#g9%QTwHF(*to}udzM1_2fG!Sej$YKM<3oV&DRjS`9mor>XJKL6 z)~|_@Cy24nILxat>>zAuv~8EqQ%P;jb{eCYwhtrI1m4t6T_zU5U^8C+J?JHeJJ>mw zB*^cyvYg{N;6oosJp|P34-9db_dY^F-!eJ(Sq;oza#B(!cFak4C|U&UY$_sRL6*>h z1UEBuR_2wg1^Y#{++qlvP@gb{965&uwaLbjWh}_uKQzEFH-=VCA%g2$tDhIYt$D1w zz^XAEraU&CU{wj^H2L+q{ONRpAn!&_C;AjZsG`_*DNezv95Rwnkw2H(z8-@m-La9B zC|@imrp)OR6h#NnRiHpIgv03&@0tJRwOP4DSeGt6iAa>|)}#4uA9Y}Am7yd=Vv=Iz`;r-S zl1bxzxfzRyuwF!wguk~c;(cj&8%tY|C3e&WkmE!wKc+N&a!+-IGOgb9KRY<@=clvi zX|cXva(T5Wc(f$~mfW#VcQF_bp9C3Od^BV>QQHbzM4LC!v_xMmY zNK#If?LEiUMO;OO#CDi`B5D}p6nH==mV1dATwPW}kPtsl6@dH#`l-X)w?7!CfT_e< z(|_=Wq=}Qhi5`mi`CDi$%W=GCsD9m`J_qWFV^IpCT+Lw1iS$#UAkv;`$QjCWL}M`w zke!|?HS^0bz;op`eHdquEu-S%_A7iwn$l|qP#)d2z5=shY9Q6&YNwY}STS~mDFbTo zucwg?wY)^Svqv; z$!MBVHc{#A^6KLURxFjHp_cbS!UwjpOhoMuKkic;ShZvtGZ2pRDROtJJ z_qA7+qKFE=PM#CW>6G6nOON)?a%H}@Z2rj3bQ8}`ssl%F19z@zN49)*1NVc=jrMvP z6XCqP6CSbC8^6%H%vMVVhl39uQ)@eD+?CW^EsL-qbfPUz zq!}VX2cw2$gfv{caGQ4r=!oG??f#1v~Em zD=XYuBLiOc-+z%a&@gG8ZC@uK`v`8Nj*KDhu7mtywX9i z&e{qt@4Q~SrJ4{c-eYp~*WH3NljL}VTXRFE+g|BwO*6eO7LKFjyi_cvq=?%5NZ1U1 z(l~oy%)Jl0c50nVSr44?Zmgv~la84kC1SQ=!O$-=zL{9)pSvBb!T|9$A^B^4zQ4?i z=?_sE$2>geDe+SM@IxQWGCUo#f5&7VFo9vk%kQ9r3-yWN8$%%xchuVzb^quK=kP;H zx&PqlYRq{Z0HgS=udnYM2<1EnqIheSXgF)>CSm}#kkE|xL?cljEIenasel;IjnJf) zK_w1hc`iX44##(KA(J_6Lpp3+pac8QQuuY}?GNwFM|kixx-}_GWe>o??75C)bu{es zI03w?$$BgfeusRl*MAfvYYn@l z9f)x*o$W@wMuIiwKiLMiYz-#PDM_EM31act>KMTapT^!qlrWOkmhNO2#6U0-wt16= z2}&?55Rn?N?!%b23aA5^=>Fa)eSpo9ifF4B%f8f{l0DQ}OqC0Y_Th@kNy76Ya$N5= zw|3}DGGlrXD}gv_9XwwTG@n@^Xa>bmX=^CC3x(s*sXid$7LL-U^Q?$bN4XxlPTxiBZpPj<4m@+wg$##K!EFou&7zmjV`keiW zK}hWh2EM!hB{KlJz5G|8biTg<+Efg>jl(t(S&xIUlqH2ycbe}rUjYwb1tNQw@!}8x zLRMR3S~F5&O$Z6B(kcFtrcnQ-UuQJTsv^_ey!-Fne?>jJV+p6dcH90(&N_FmE%bw+Hgtm^?|cyo%Qc%Fd2fKv^p+lHi|;pQ7`a*8$Qiv_Hg~3 z2Er8*-A{pR1;{C2f9p=NRLsfAS%G_Kr8m;>nHw?{JK>}GB2(M5I-j}zxtk3)m9`-) zD;dHm9X~ggVTAd_?=nO`oi3LjTJO?t5*N|&ubkRc#-DkX_QPe1U|z;O--=?HD@_m# z2^Jp)q0^v>;;EbY11S@PdYvT1#mHDi@(yIT?F+N}r$W%38hgiJD`*uozS*J1d(Vplb|ih_;lO3@s`M!@BGl-%=i zUssMYC^rLCwEsy>+yQ##P_{mw2&rjc-OAjFIoTd0Pc z!GOH#l^?o3hhDu5_^eAb=ym~VydA(d9kbsZEnoOj+`IW?PcgR5QhRP!TU$GZ2g)gn z#?&0wsrp+FbsOh=K14s!pGPp=*_OlR za$sJKRL2rthTQ^gt~Dhb7BH;{tB@Ji{c;K$&t8cTfsY(}y5(L9qg4tQrb7}YboMFNiWr{q6sYPCBCiYUX*92qJ(H@kr!@me5SGAxc4AIN+;0d4%wEAQ7q@Q zg?{Y+x3Zo2Fy@(WQ}A=qxZCACVaqT_IR$&oP$~tR9tdQ%w#-RP7kfZ(gQDV`B^!a@ z{EK`?|5+(HAUOeoBl(%bEqOKyZ!N=7Pg}7OSEIPSwcVpBx7%fDtA*8@wCia5OW^7C zHrT$SBSs`i4GcDDyIh_RJoU{y!Wmu;pjpZ{N?clbaoEpe`X{%inL-2T26BCYtaBh= zgQnK_r&o=Iqhqzdy*-$hB*}$Kxk)nP5H*afPq|{G0Xm`;3t{dzTa9EvJ1lJLSw`E< z3u)S&nm~M!FpQs;4q&z5SNJ~Ty?0Xn{UZQasT1$H0SyblT9DqJYo{9)o1#id-WD=GnJ;?x-bdNbERL+PE@J0 zUbTNbJnY#|?#^uCzB5KLBb!OV`c}@-DdJtR%nEQIS7>pUvgfNTF7nWZ0sn_%dl5D_ zLm5prGrycS+ueMCr)Fk*Hgj}zJOh%Dg9Y+0c~DC9Fd|}rTyrsT46Z0a8hBG@)FM_x ze3%Unhixy!gcJggg`4$AAxojm$pqTeaY832C%gin5uD+1TIYHIv`v{<)T2fnPsn&I zN)9Wt54zZaXQR6Y4oWu;koIgjTvCNhhwweJM=~>J zH5?K32shN4YtgW1v+(;q3h64kOFy-6FP9u1aCQ1Rz=-moILaoV-nY-=w0-P`lLymo z_~VUzPM*P2qsjg1tPp0Z2eoMVEENG2sY!$JJt>qG3qCp_)7THuPie0KsFEW8Gix^h zRy+g1X-|lUhbM>?D`h~FYPaCoy~H)`H|78b1$jLi`9{Md=sI;|6g-z|a==zi@bTyd zXBoaGrmddl!;_mYjj*-aXf+uL_$32H*x35MrV*tJfy{IvFR_3sD(c_zkSQA-u>LVe zOWoXD$zh>`@07@(n`&WLQmC;0<4B#ZK=GPA7}c~qJqn*Yo|#(FNHn!y)g zlIa#q)xxiMbw$%PsJ0dcSQ?(trS85kE#g@$#1v6%EZJAc_FtAXEy+hwP>A59<&!NH zXOZ;SQ;l%>_1xQk1MmaWsbnBhr~|+$6V@4buZwVV!!GD|W@Kb^x_1y^(6mGKYx?_e z$$_xhQ79p-SCUt#B&| zOGA|yC2t|)h0a=5T%<^TaSR$k0RfprB7PvOuMP0tSrigH?L?L64-gR%OyMEiP_fN`4e+B)hvJ!4_*4xGs;sGwNA&wg76$zQOOeb z$DGmD!y1yg+^J2;6#)rWaxsP-@*lk9C`EhYK?M>J4~UeECo~V7dOR?z0@A^1y-ZCD zVXY%ol$D(TKicJtCC64=F@#wd&S$iafq!zz22k@{D3Y8glt2uQIRL&0`1@y?5|Adf zQKpPhWfcQU*1tlc<2P1cv%avkn7g`SxMxA3BxV5X9X7LM2m}P}`x@%+y0PcB13y-* zHY&kdtq$YTo&RNa>P!S?aALDp+DTL0#UX-fWebr)FW1rC=pcA0{Hv;1L}%B@<62`o zNxQznZu%olpdtATe2{4%!*Y4~V>`vX)T=tO;WMClM+ML}hn=r2hnL}HxcYcm+M~Un zhR?9sh_+TDFGV;Jc9&Wr1$sQwbY2fT`IpgYMnp=i1}}$@K9ogT&LtA`Wun?dVbdxm zvfe9h-zXY>22L875t5u;U6DfWECcztmxqT|_<^`{T&ULJ18h#V3{fWcZ03rHaN&$V z;2kn5DrzcVH%ygHB+3@`yR#iX=R-?m%^i$b>3zR&i3IXK$yk)K)aFow#*zoC%XZ5# zbv7f2V&sU=5@ z8&)FDjzVm~$vFAz_ERv?(+y!DFc&cI-=8k6S5{V*WoKuvKR-X$7t?W6D5zx>sf|@s zRZR}cH36`Rtk-P7EW*|tUu~iVGfK)WCx?4}z3qEMj2stq-6i)O-PvzAnMsf>L@UfP z8*gq-A(>8ABKd~`u0+gvD`U4erQ!qU17DX!gYyOpJTJ!&$$H$TE}u(pJ?!?2c(lnd zd!|~u4H5(>8bvY%wUAj8#1*Wvrani7F(Zj#aP6tByFKK6Ya7|PO%i9gMaY|lg9Wi) zmkX9amyO`d^eA4#GsFP{>kg4*wkDF3ql1*5mSjoOBpt5mUiYACUS}u4;?jCdSXeA3 zqucROGnF3CVi?#ir}!Dlj9G1?`m5D=1B)vH`no6*5OaSz4*&xWIy(3}ii*U?teYfg zQu}>>h>@8Bi#7+=-Zu_j@uPMd(cMCHPHd!X(SOe~!y9cb@kMF~c|p5D@HgCa5E!bx?jB24dvMk4AD`#q_DA29(o{&It>kE0) z9W+FnLenot3|92C!sP;}m9PeZESwON>bj0k^x(MPl}s$Nl}W25T}tOsKP)8gUu-_ ztpzsDC@UJMIW-;v`-AOzqO&A``kG#VGtqw|hVT~{cP{{}%1=9fXUx7H9?fv;`KCho zWC%eBGo5(tK1Y`mhj+)GW8oMy0nvBp+Ap;$4<8tuk?s*!E%}({Fbfb>eqkP*W}}mv z%Z#{kYf$GiZVmO^U0sD5qX;vslzDi0YzN zi`j%bEH@0-8YVX)+^!>QnU0S)Gpz8B-x(LfKjPz;-Ghu3K&bstn{ug(osIQ_%@M*^ zFS8`qD3qPMvak_S4g(b>Er^J0N0^9wZ%C(e=owynZ20;6hKIw3kkhQx$*O5;{$Gf- z3)ogT(#L-rU2HVKes^KpmDG`?QD?}P&JIhooD&o2moV+!QNt7e`O;Px%1o#(hOH)) z9<|?WDL;#9G_60Tiy~uRPSHXf`=M0UHx3F9-&cPGbz>!s%GR3n7K9tp9I%o{qq(iR zGk~IUkvyw>N_X~uW9zYisQZ-7I&tpOC>86v%5-WME`*L(oQt$G=$MlzNLlGS^ob14 zYc0!?RugETH1m;mPwWl0mzJf}yln{QnXz;_!-`>SXvmcGZi}Ki^_z=2VCi9T-aj^v zjvwxrkl^35oKr=QQwO{8%Fq`krD&%t8L*kU`BnZ1(Pr~EZ27BF~msE=-hsh!J4<7rN5L2(0TTL#4`Kqoz_jh2tT?uoYcybVD-(<}BLpMlx;Xe`ZyJ zd0Eh)<|Ab}(xvBI5$>DY3hPKkLr6B}6Gm)slXF-Lqiiu+cz6o`WYB2pU=8p0A;H3; zp$3V44x_{7(o#G|V3sNIj9;;6cw-TH%l_|xM&L;UWdnkYbd(rP#j3Nc`*FVPEwXoAi!2MZa8CZc6viDL%P{P5j`#niY`^BVNQT< z%9Soe>rY>+@#0DgWG;S)GBb}Oo>bTOu3`XU(CU!P5KC8Sx88M}G{xn3t|#!!eg1v= zm5HB^k3=}6;opCW=P%t?fmg9@J3+4%wP#6fz|tdx*g_y57b;Xt{iZ>y!9kqg-4ut0 z7)1R;DzSe$y*w|@19?lkouoFdF)z#mxlP|84@UtGc`e%Jh*<~Thkq1`6bWjAo5A( z7Al;_)meTqt8WgCRzB;DGf=!H@7sZl?IbI#E@Fr;v)hhcU%MJZ@H*xmK{ z0pUdM(tWQz8vHgIeExcns)|M#@zC1b>GxbmTZF$JHJThZFHq1EU9KpIa} zYP`Y`detmG%0*k9{3gxmS_`mlDbmwF%s9(6tZHm#IAB`)>M4w-d^3PcAeRut4n9*83XiD<+l|PsNt(T+eZvQ>7y6OK(wo zf>v0l*TedSXPDm{!gOS*7e}paKKON^2`?}q|GN{RkDtdvnXeU* z;uA|8v|Ht~9xFVLJcStYG?f<>;Yb1tMb1?p3^6W(80dF{V9MS~`tC^z4zD~~7e=;3PH`{E#*Q}O)S?Y|RwQrHKofDZt; z;t4Dx>;O!c(8=TLBYj+>)Bc_-=-)Ia(yZJp82~$V>=DVL&fe}xCe{*;@ zh5c^JQe%uTvAcy!m)FG0ov|G3y>rhvU(PA1mNC+|dh@VLOAfeMS3CP{)e3%ml?o_8 zZou()e}EB4(@`_(OH$er%P>uX3Kycp_)(iH$BBAARU*lPxhV41eyv#HzaT^PD$V8Y zznPO4kGTIee)$cw14f0Pw&nW)A1*RYJDEd=1gqEvT5}8vqVM4n5$$#5G~DpAn`toLp!AffmS3{W0hTZ~EKv*!^JsbOF;V7x--}~u5sV!k6I!^8+ByikdMW@}ay~ zp2E+6vRDnjHkCRoj4gk3W3hfLnK1hk)9Yjajjf4%7tlNJ0oDDbL7TI1fkNp+v_ui) zWMgXuc>VXceatNejqW~7DkmB>lw7EyP;>o!wiahHDybt5$RUdi3|b=?DLm>qbU$$1 z#;YimEPXYWIwp?FqQ8X&Woy+>j|-YkzYolHHG^<}(#%x)^Lpqa9m6HCLl$2V>`*NO z9HWj;AHH41F6MLyovr$JL)$9k!@#l}<->?(kd8&%>342evysLh&$eXkyT~%-)arR_ zo_Eiy052RO{8G68f8`D%EJEeS`_8|>{jssJ<-NVV{J3Hv5@45i+S#+l_D$Pp z?D6=1br!tw>K-?LA>4PtH~!iJI<|+{fYa>bSzakRiNt>yciEN{-XgZO@P=2g=AcWR zHVcD+wOjp4lL84-Nr=mViaG_uw4lbV#qA-jwG;-zQu<1bpNwZfXphHx@4@m++447v zm8%lFT7HgpILDy1^jl62)0DXMzaxK~q|8)mc=%Brq+UQQ-C15<{`lWQamlmWB;!yS z4E8$i+_uG+$81VOJ7@PC@O(eI!pKSCCEEULug- z%82G=BL1Lez#7YK`9(RZru+*e63p6;d#-!=tidy6RC$!PR#8(13%RtiQew#v8}z*G z+gw_X^?nj85Xxj(*aed0x25c-Ze~M-z0K^jvh9phqNGN)U7Jm72Tj^2Elf;=iZQHj za&0Wmd;P5J{@PX4Vb##lAy^qvdUt%hu?7uqTzT#}7V`fOCZiq%j4`(WwNf4W%+!=n zDcyuh@6L`LzDx-i{Aqy;y3Fpk$OOlRYquK~1tiqO(Jh_H*nTXYSQ?cL0vIke0TOQ4 z>;G!H>Y%9JuaAT-y;2tKg2WOch;)gtG|18^AW{p`(%{lcEa?IwDIH6vq?ELD2}p+` z`31rEQGPEo4F52*aqm6PIpxtgR|#oWn#+mRKM;+$SQwmtqS4{C-6N65a{F_M#1Iw! zSQ&;xPtvsIK)zjMRCYhyb19JxIGP{2s|i(A@(ET}ce$}J=~e`He%8=!^d7vP{ORyo z;J*(gM+qtPJDRdib8OuE{1lW6^*bT=L6)i*5?MUz#_%f+NA1NEL}89`Vmqs=aQKba zsl!2|!5$}5kUKs8A~(u3k`;QLjOVJk1xss7+Rlk4l|b;()z*R5;j^-Z_}vC<8C!}1 z+d@`&Yz+G?f+qzU+_alMw;*;-Le7bgQ0_TgW5oaC3|9up-03PX{zWOr3RtF`~Z%gU<6185yV zTGBX5Z7aM|Qel+-Rl7zcRhu~R0s(7oTQ*_#i{Kd9@Z-WPu0qWh2YZ;Ek%hYjNil4y z$p_KFOD{{OW~zMjka=x>gT-2t4ib=d*P?b?xd7+tHW-h z7wAI@>f-FjpNWNw9YF{6n)z?Nf2W^}&f`yi&T~N^S|AYLegt09fSop1 zUovq$vl4+fUKvhB`4PHjLeNZ6Y=H|L|>T)K{=m1s^a=Il(Qv%}R;u;(@?r7NzHD)Cc^}-RXRYmxx+OhdawNbEiji^59 zI^=3~AcC&IqV-t{$WnapPODYBbO~S8GU%?ybwQDNq~+@^e>4t_pk^bl;pb|4!~WU1 zQ>xP}s z(;xl+OIm2I0CGJc-I@~G)PFOM5@`cC4BbHEyrYe*l7d29MLNZ6ml7DX><@a_KlOI+;i3$0+(QRG%r#tl zwR>`c7K-uc<;t|M-Y>Aj6!tuCf%c+}=ibk?^^Y}vOlrT$(>|oCNrU{P z9>uL>E|Ah=^nh&nHwcOIzIbQ-{?-&AO-1YyTsHgKwN8scj!sTx`=B{)0Ju6TeXwRq zu%A88i!DR9W-89rk0R{Kw4_-WKtP@e1R$cFD>90g18RPX4nR1)bCy0u*izEmE4sTB zrCfj{JR&Fgx~SpYcP)XW;%1NJ-VkZ4$>8E7PLEU{C!(s+Bc0swp=nl-+L@t`hk9Jv zbF9d4_iSLVl}Wh@&Rt?N{TNPnM+><#`}fW68ZMlUuY-K)zWUvwdzWul@R9dX(ZOOU zQ}tgzZx7a3Pgamj@E2hmt<1B*;%uIAVc;@k3i49}4-|t2)hcD6@ zs|2>zyBk6n1J;vsXMh2KKfH7SB4M$sl6535JREa^5J3RAaAuRs+hrq@-%tlhiB70 zn3C8zbfoBU{L0r48X+g^3Uwrl&VAp8EK!l zSrP5!{)*=0*#FP*5isI+@fT;50>QUOft>XvcZ$u-uQkON6&N8Oe2_KkDY!1eLjFPq zuZ^(cO8s0=z(dtgA2!ZSmU-7gOWU}64u+xawJJTEw@Ma0F1j`JxJkuNOv7VMO z`VnJQH?L7MI0qSZ@OE7(O=&A)C*;a70MQ$Av#$GT==T z^Z$Lar%uTvDekrUZ|rWIMs?RZ2lYKlW97&XwZgCQixIzn#zyem9QQp5+*p0cHT2U~1ta5sGk-v= zipJ8*hr7h*MD+OOI@TZbd$~1fu?8nz@752hC%gJuo|TZc2VXJhfNe=5pE{%}f7skE zv}~st;dJ=&Ncmw9QLfF6^BDMzN*(M66T}KUq2b^K?zdbwjwH)9>o$FbCf(nsF1 zw~!k-u)bKf?;Ie^EleO*QH7V6mqJKbI33`#pDuV%Dz(jYpkhOwP^RGyjlk?-!M}xmMYGW+~nP`knwgfk2{? z;E5Lx0$F5q-;jhE?jU^XGMtg^cHiUxEp_JB zU@FR74^K=Fds8H)tVknc4TDTXDa92S2bsb}j3=J=$n=GKC8^vHU{C*(3n~pRfk3RQXk>!nxp)SNY zZ`Ep6bd_b+kqoji7bX8_tY|CuM3Lk6`|vvPe6B?L1jL`(57BdP;Tz|VG<6l<(82qZ zKu20uSt*z@xaKH%G-;9UyC$|E@(08|4T!&ae7Qb)Y057p#q?i~y5ETZ&UDp1BvRsL z_~U9j>^KNFBWx?JJql*MjxXAwP^hR=6%)hloyA`FsCMdgJz6&1Qa~TaW3c$2<*hh^ zH`_tOMwq8&j|tAYv|#!I@*P&VFkiKk1P5j5LoYg7-b226k{UEwz6}f&EN#c8R^ zjHcfxgX4wKNV=RE)^e(>o{%FjAI>dA08<5ctWsQi-FgS0!V@6o8ugby=yL4!Wt<6r z-WtpfF9*%_6MyeE{BWnFpkVwe=;jZ~1I7E&5c9_@zw4)2mrRP}#Cl%^Tld(3j?<*z zXMijdvr6qEb)T?%dIvh~=B=T9eu@2Xwc)6=B>2~nyA!rR7XV;_sfwgTJD zrUtOPB3<}%acs@>Jd@DL>ff8)EB$j?%99TG%u$b7%kR;UNQT4=WpF5w$8excd%TJ& zD2iL~;N|6ux}w^O#}sYe%n~o|25Q)grhVST7+=FXPk7|9aXhoBHL+LA<0G!8Ni}mN zS`v{O4YSnrVpx|{uK(d&#nEGY3%6$KoW`*wew$Zb2)V*&({hNmGuNl%eG{~dHqkaP zudl*}X`I@bGPL91{et~PC0pFUd|5nA&9tDf@azDbWl2DOd;e@inNLDHSlr}aHGZkS z_xX+^dg0YtnraPdZu%BUa5Xcma--hF;%3M~-{&Yc!s@Wleq}Iom2TiO{=%~&tm_L2 zxtiJlBh&z?>QvH2wKuytAvi?q6qA~=RxyuYe_bV-Cj92q-4-2g%e2Fv@zm-ijSWzU zg4bMo8Hy0`Er(+Y%60x;+$V~Zs>cFjt@p%0H2@~VLK1}MOs~lQ(Z)a^t_NOJRHSk% z>ApGseY%=OCmlS1^)sxb$=)!O zCq^E5#$)Mdx;%<`okNxVM*1^8K9U=icdK6!m>Qg#fQyW<7@j_uBJRgLq|ThYf`OT{ zaUw7UTVA{={kga)dllrE{-*^g+{@+9d`H_;F8f0na?5||*cO!DlLWFv9!uhVp zTPEPGvTMX!BTP^6I>DH_#3%U4<7g%I>ZOFn=W>+?_1kv87;YC8Qs(v9Ka6B@MRFPM z+;aVzL$av%tYh~}Mu(lqDq-@ZA`72WOM$8J9&xBKgI}4=5HA&#o_wvX?sqRWPyJXA zV^SNVo*2JDoq~~sVv|l$Jgkc9Xyvy>qo<>Ssz}Xv;BL%0Driw(q7E$Fh5?IVMnXa& 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 diff --git a/Client/macos/Assets.xcassets/wf-1000xm5.imageset/Contents.json b/Client/macos/Assets.xcassets/wf-1000xm5.imageset/Contents.json deleted file mode 100644 index 550d4f2..0000000 --- a/Client/macos/Assets.xcassets/wf-1000xm5.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wf-1000xm5.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wf-1000xm5.imageset/wf-1000xm5.png b/Client/macos/Assets.xcassets/wf-1000xm5.imageset/wf-1000xm5.png deleted file mode 100644 index 413f582dd4874443fe352baef7eacddd69f7eb32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 63455 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

vdu@Z&y;no> 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 U=jMj9-$5QJF?rEyVZ)&R14!mIL;wH) diff --git a/Client/macos/Assets.xcassets/wf-c700n.imageset/Contents.json b/Client/macos/Assets.xcassets/wf-c700n.imageset/Contents.json deleted file mode 100644 index 5de1caf..0000000 --- a/Client/macos/Assets.xcassets/wf-c700n.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wf-c700n.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wf-c700n.imageset/wf-c700n.png b/Client/macos/Assets.xcassets/wf-c700n.imageset/wf-c700n.png deleted file mode 100644 index 1e183ff2576ca94388f91155de050edc2e73a63d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65464 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 xK0%rr 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 Uvmk}mMF0Q*07*qoM6N<$f^=zemjD0& diff --git a/Client/macos/Assets.xcassets/wh-1000xm2.imageset/Contents.json b/Client/macos/Assets.xcassets/wh-1000xm2.imageset/Contents.json deleted file mode 100644 index 8bc7fef..0000000 --- a/Client/macos/Assets.xcassets/wh-1000xm2.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wh-1000xm2.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wh-1000xm2.imageset/wh-1000xm2.png b/Client/macos/Assets.xcassets/wh-1000xm2.imageset/wh-1000xm2.png deleted file mode 100644 index dd502bb5a5deda69c05e4c51055bc0689bb3321a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120624 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 z 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 b3p)M-hx9PKU2Z{`00000NkvXXu0mjf7GeJS diff --git a/Client/macos/Assets.xcassets/wh-1000xm3.imageset/Contents.json b/Client/macos/Assets.xcassets/wh-1000xm3.imageset/Contents.json deleted file mode 100644 index 9f33fc0..0000000 --- a/Client/macos/Assets.xcassets/wh-1000xm3.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wh-1000xm3.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wh-1000xm3.imageset/wh-1000xm3.png b/Client/macos/Assets.xcassets/wh-1000xm3.imageset/wh-1000xm3.png deleted file mode 100644 index febf92e19438fe9266ed23430587e4d88c931d62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 69683 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%0Aod4!eEO!w=3Q1Yg%<(mo3@^LMSGTA3qt} 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 KMNUMnLSTYw-Eckt diff --git a/Client/macos/Assets.xcassets/wh-1000xm5.imageset/Contents.json b/Client/macos/Assets.xcassets/wh-1000xm5.imageset/Contents.json deleted file mode 100644 index f487aaa..0000000 --- a/Client/macos/Assets.xcassets/wh-1000xm5.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wh-1000xm5.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wh-1000xm5.imageset/wh-1000xm5.png b/Client/macos/Assets.xcassets/wh-1000xm5.imageset/wh-1000xm5.png deleted file mode 100644 index 5c58b84416c855981db3fc96f86a5a6cca64b8e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76768 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¬s?iV%>x7LR!s9on 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�t!!{=jh1j2QecRrxqPB>X7uu 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 diff --git a/Client/macos/Assets.xcassets/wh-1000xm6.imageset/Contents.json b/Client/macos/Assets.xcassets/wh-1000xm6.imageset/Contents.json deleted file mode 100644 index 10909c0..0000000 --- a/Client/macos/Assets.xcassets/wh-1000xm6.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wh-1000xm6.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wh-1000xm6.imageset/wh-1000xm6.png b/Client/macos/Assets.xcassets/wh-1000xm6.imageset/wh-1000xm6.png deleted file mode 100644 index 61f2e586afe131a69a5e25e766d4ed100b333118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112001 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

-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

1RU+lg(kf5f6jLs&ZFPDb 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 String { - NSLocalizedString(key, comment: "") -} - -@available(macOS 11.0, *) -struct ContentView: View { - @StateObject private var model = HeadphonesModel() - @State private var showAbout = false - - var body: some View { - ZStack { - Theme.bg.ignoresSafeArea() - if model.connected { - connectedView - } else { - disconnectedView - } - } - .frame(minWidth: 360, minHeight: 500) - } - - // MARK: - Disconnected - - private var disconnectedView: some View { - VStack(spacing: 24) { - Spacer() - Image(systemName: "headphones") - .font(.system(size: 64, weight: .thin)) - .foregroundColor(Theme.secondary) - Text("No headphones connected") - .font(.system(size: 15, weight: .medium)) - .foregroundColor(Theme.secondary) - if let error = model.errorMessage { - Text(error) - .font(.system(size: 12)) - .foregroundColor(.red.opacity(0.9)) - .multilineTextAlignment(.center) - .padding(.horizontal, 32) - } - Button(action: model.connect) { - Text(model.connecting ? LocalizedStringKey("Connecting…") : LocalizedStringKey("Connect headphones")) - .font(.system(size: 14, weight: .semibold)) - .foregroundColor(.white) - .frame(maxWidth: .infinity) - .padding(.vertical, 12) - .background(Theme.accent) - .clipShape(RoundedRectangle(cornerRadius: 12, style: .continuous)) - } - .buttonStyle(PlainButtonStyle()) - .disabled(model.connecting) - .padding(.horizontal, 40) - Spacer() - } - } - - // MARK: - Connected - - private var connectedView: some View { - ScrollView(showsIndicators: false) { - VStack(spacing: 16) { - deviceHero - ambientCard - if model.mode == .ambientSound { - ambientLevelCard - } - if model.supportsEqualizer { - equalizerCard - dseeCard - } - if model.hasAdaptiveVolume || model.hasSpeakToChat || model.hasAutoPowerOff { - settingsCard - } - if let error = model.errorMessage { - Text(error) - .font(.system(size: 12)) - .foregroundColor(.red.opacity(0.9)) - } - } - .padding(20) - } - } - - private var deviceHero: some View { - VStack(spacing: 12) { - HStack(spacing: 10) { - Spacer() - Button(action: { showAbout = true }) { - Image(systemName: "ellipsis") - .font(.system(size: 15, weight: .semibold)) - .foregroundColor(Theme.secondary) - .frame(width: 32, height: 32) - .background(Theme.card) - .clipShape(Circle()) - } - .buttonStyle(PlainButtonStyle()) - .popover(isPresented: $showAbout, arrowEdge: .bottom) { aboutView } - Button(action: model.disconnect) { - Image(systemName: "power") - .font(.system(size: 14, weight: .semibold)) - .foregroundColor(Theme.secondary) - .frame(width: 32, height: 32) - .background(Theme.card) - .clipShape(Circle()) - } - .buttonStyle(PlainButtonStyle()) - } - - // Product-style banner. Generic headphone graphic (device-specific Sony renders are - // copyrighted and can't be bundled) over a soft accent halo, mirroring Sony's app layout. - ZStack { - // Soft accent glow behind the product for depth. - Circle() - .fill( - RadialGradient( - gradient: Gradient(colors: [Theme.accent.opacity(0.22), Theme.accent.opacity(0.0)]), - center: .center, startRadius: 4, endRadius: 104 - ) - ) - .frame(width: 210, height: 210) - - if let image = deviceImage() { - // Background-removed product cutout floating on the dark UI. - Image(nsImage: image) - .resizable() - .aspectRatio(contentMode: .fit) - .frame(width: 190, height: 190) - } else { - Image(systemName: "headphones") - .font(.system(size: 92, weight: .thin)) - .foregroundColor(.white) - } - } - - Text(model.deviceName) - .font(.system(size: 24, weight: .bold)) - .foregroundColor(.white) - - HStack(spacing: 7) { - if model.hasDualBattery { - Image(systemName: "battery.100") - .font(.system(size: 13)) - .foregroundColor(Theme.accent) - Text(String(format: tr("L %ld%% R %ld%%"), model.batteryLeft, model.batteryRight)) - .font(.system(size: 13, weight: .semibold)) - .foregroundColor(Theme.secondary) - } else if model.batteryLevel >= 0 { - Image(systemName: model.batteryCharging ? "bolt.fill" : batterySymbol(model.batteryLevel)) - .font(.system(size: 13)) - .foregroundColor(model.batteryLevel <= 20 ? .red.opacity(0.9) : Theme.accent) - Text("\(model.batteryLevel)%") - .font(.system(size: 14, weight: .semibold)) - .foregroundColor(Theme.secondary) - } else { - Circle().fill(Theme.accent).frame(width: 7, height: 7) - Text("Connected") - .font(.system(size: 13, weight: .medium)) - .foregroundColor(Theme.secondary) - } - if !model.codec.isEmpty { - Text("·").foregroundColor(Theme.secondary) - Text(model.codec) - .font(.system(size: 12, weight: .semibold)) - .foregroundColor(Theme.secondary) - } - } - } - .padding(.bottom, 4) - } - - private var ambientCard: some View { - VStack(alignment: .leading, spacing: 16) { - Text("Ambient Sound Control") - .font(.system(size: 15, weight: .semibold)) - .foregroundColor(.white) - HStack(spacing: 0) { - modeButton(.noiseCanceling, "speaker.slash.fill", "Noise\nCanceling") - modeButton(.ambientSound, "wind", "Ambient\nSound") - modeButton(.off, "circle", "Off") - } - } - .padding(18) - .frame(maxWidth: .infinity, alignment: .leading) - .background(Theme.card) - .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous)) - } - - private func modeButton(_ mode: SHCAmbientMode, _ symbol: String, _ label: LocalizedStringKey) -> some View { - let selected = model.mode == mode - return Button(action: { model.setMode(mode) }) { - VStack(spacing: 8) { - ZStack { - Circle() - .fill(selected ? Theme.accent : Theme.cardHi) - .frame(width: 58, height: 58) - Image(systemName: symbol) - .font(.system(size: 22, weight: .medium)) - .foregroundColor(selected ? .white : Theme.secondary) - } - Text(label) - .font(.system(size: 11, weight: .medium)) - .multilineTextAlignment(.center) - .foregroundColor(selected ? .white : Theme.secondary) - } - .frame(maxWidth: .infinity) - } - .buttonStyle(.plain) - } - - private var ambientLevelCard: some View { - VStack(alignment: .leading, spacing: 14) { - HStack { - Text("Ambient Sound Level") - .font(.system(size: 13, weight: .medium)) - .foregroundColor(Theme.secondary) - Spacer() - Text("\(model.ambientLevel)") - .font(.system(size: 20, weight: .bold, design: .rounded)) - .foregroundColor(Theme.accent) - } - Slider( - value: Binding( - get: { Double(model.ambientLevel) }, - set: { model.setLevel(Int($0.rounded())) } - ), - in: 1...Double(model.maxAmbientLevel), - step: 1 - ) - .accentColor(Theme.accent) - - if model.focusOnVoiceAvailable { - Toggle(isOn: Binding( - get: { model.focusOnVoice }, - set: { model.setFocusOnVoice($0) } - )) { - Text("Focus on Voice") - .font(.system(size: 13, weight: .medium)) - .foregroundColor(.white) - } - .toggleStyle(SwitchToggleStyle(tint: Theme.accent)) - } - } - .padding(18) - .frame(maxWidth: .infinity, alignment: .leading) - .background(Theme.card) - .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous)) - } - - private let eqPresets: [(String, Int)] = [ - ("Off", 0x00), ("Bright", 0x10), ("Excited", 0x11), - ("Mellow", 0x12), ("Relaxed", 0x13), ("Vocal", 0x14), - ("Treble", 0x15), ("Bass", 0x16), ("Speech", 0x17), - ("Manual", 0xA0) - ] - private let eqBandLabels = ["400", "1k", "2.5k", "6.3k", "16k"] - - private var equalizerCard: some View { - VStack(alignment: .leading, spacing: 14) { - Text("Equalizer") - .font(.system(size: 15, weight: .semibold)) - .foregroundColor(.white) - LazyVGrid(columns: [GridItem(.flexible()), GridItem(.flexible()), GridItem(.flexible())], spacing: 10) { - ForEach(eqPresets, id: \.1) { preset in - eqChip(preset.0, preset.1) - } - } - if model.eqPreset == 0xA0 { - Divider().background(Theme.cardHi) - ForEach(0..<5, id: \.self) { i in - eqBandRow(eqBandLabels[i], value: Binding( - get: { Double(model.eqBands[i]) }, - set: { model.eqBands[i] = Int($0.rounded()); model.applyCustomEq() } - ), display: model.eqBands[i]) - } - eqBandRow("Bass", value: Binding( - get: { Double(model.clearBass) }, - set: { model.clearBass = Int($0.rounded()); model.applyCustomEq() } - ), display: model.clearBass, accent: true) - } - } - .padding(18) - .frame(maxWidth: .infinity, alignment: .leading) - .background(Theme.card) - .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous)) - } - - private func eqBandRow(_ label: String, value: Binding, display: Int, accent: Bool = false) -> some View { - HStack(spacing: 10) { - Text(LocalizedStringKey(label)) - .font(.system(size: 11, weight: .medium)) - .foregroundColor(accent ? Theme.accent : Theme.secondary) - .frame(width: 34, alignment: .leading) - Slider(value: value, in: -10...10, step: 1).accentColor(Theme.accent) - Text("\(display > 0 ? "+" : "")\(display)") - .font(.system(size: 11, weight: .semibold, design: .monospaced)) - .foregroundColor(.white) - .frame(width: 26, alignment: .trailing) - } - } - - private var dseeCard: some View { - Toggle(isOn: Binding(get: { model.dsee }, set: { model.setDsee($0) })) { - VStack(alignment: .leading, spacing: 2) { - Text("DSEE").font(.system(size: 14, weight: .semibold)).foregroundColor(.white) - Text("Upscale compressed audio").font(.system(size: 11)).foregroundColor(Theme.secondary) - } - } - .toggleStyle(SwitchToggleStyle(tint: Theme.accent)) - .padding(18) - .frame(maxWidth: .infinity, alignment: .leading) - .background(Theme.card) - .clipShape(RoundedRectangle(cornerRadius: 16, style: .continuous)) - } - - private func eqChip(_ name: String, _ code: Int) -> some View { - let selected = model.eqPreset == code - return Button(action: { model.setEqualizer(code) }) { - Text(LocalizedStringKey(name)) - .font(.system(size: 12, weight: .medium)) - .foregroundColor(selected ? .white : Theme.secondary) - .frame(maxWidth: .infinity) - .padding(.vertical, 8) - .background(selected ? Theme.accent : Theme.cardHi) - .clipShape(RoundedRectangle(cornerRadius: 9, style: .continuous)) - } - .buttonStyle(PlainButtonStyle()) - } - - private let apoOptions = ["Off", "5 min", "30 min", "1 hour", "3 hours", "When taken off"] - - private var settingsCard: some View { - VStack(alignment: .leading, spacing: 14) { - Text("Settings") - .font(.system(size: 15, weight: .semibold)) - .foregroundColor(.white) - if model.hasAdaptiveVolume { - settingToggle("Adaptive Volume", "Auto-adjust volume by surroundings", - on: model.adaptiveVolume) { model.setAdaptiveVolume($0) } - } - if model.hasSpeakToChat { - settingToggle("Speak-to-Chat", "Pause music when you talk", - on: model.speakToChat) { model.setSpeakToChat($0) } - } - if model.hasAutoPowerOff { - HStack { - VStack(alignment: .leading, spacing: 2) { - Text("Auto Power-Off").font(.system(size: 14, weight: .semibold)).foregroundColor(.white) - Text("Turn off when idle").font(.system(size: 11)).foregroundColor(Theme.secondary) - } - Spacer() - Picker("", selection: Binding( - get: { model.autoPowerOff }, - set: { model.setAutoPowerOff($0) } - )) { - ForEach(0.. Void) -> some View { - Toggle(isOn: Binding(get: { on }, set: { action($0) })) { - VStack(alignment: .leading, spacing: 2) { - Text(title).font(.system(size: 14, weight: .semibold)).foregroundColor(.white) - Text(subtitle).font(.system(size: 11)).foregroundColor(Theme.secondary) - } - } - .toggleStyle(SwitchToggleStyle(tint: Theme.accent)) - } - - // ⋯ About / device info popover. - private var aboutView: some View { - VStack(alignment: .leading, spacing: 0) { - Text(model.deviceName) - .font(.system(size: 15, weight: .bold)) - .foregroundColor(.white) - .padding(.bottom, 10) - aboutRow("Status", tr(model.connected ? "Connected" : "Disconnected")) - if model.hasDualBattery { - aboutRow("Battery L / R", "\(model.batteryLeft)% / \(model.batteryRight)%") - if model.batteryCase >= 0 { aboutRow("Case", "\(model.batteryCase)%") } - } else if model.batteryLevel >= 0 { - aboutRow("Battery", model.batteryCharging - ? String(format: tr("%ld%% (charging)"), model.batteryLevel) - : "\(model.batteryLevel)%") - } - if !model.codec.isEmpty { aboutRow("Codec", model.codec) } - if !model.firmware.isEmpty { aboutRow("Firmware", model.firmware) } - if !model.protocolVersion.isEmpty { aboutRow("Protocol", model.protocolVersion) } - if !model.deviceMac.isEmpty { aboutRow("Bluetooth", model.deviceMac) } - Divider().background(Theme.cardHi).padding(.vertical, 10) - Text("SonyBridge · not affiliated with Sony") - .font(.system(size: 10)) - .foregroundColor(Theme.secondary.opacity(0.7)) - } - .padding(18) - .frame(width: 260) - .background(Theme.card) - } - - private func aboutRow(_ label: LocalizedStringKey, _ value: String) -> some View { - HStack { - Text(label).font(.system(size: 12)).foregroundColor(Theme.secondary) - Spacer() - Text(value).font(.system(size: 12, weight: .medium)).foregroundColor(.white) - } - .padding(.vertical, 3) - } - - // Matches the connected device name to a bundled product image (e.g. "WH-CH720N" -> "wh-ch720n"). - private func deviceImage() -> NSImage? { - let slug = model.deviceName.lowercased().replacingOccurrences(of: " ", with: "-") - return NSImage(named: slug) - } - - private func batterySymbol(_ level: Int) -> String { - switch level { - case ...15: return "battery.0" - case ...50: return "battery.25" - default: return "battery.100" - } - } -} - -// Factory so the Obj-C++ ViewController can instantiate the SwiftUI hierarchy. -@available(macOS 11.0, *) -@objc final class HeadphonesUIFactory: NSObject { - @objc static func makeViewController() -> NSViewController { - return NSHostingController(rootView: ContentView()) - } -} diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift new file mode 100644 index 0000000..56a8c92 --- /dev/null +++ b/Client/macos/HeadphonesMenu.swift @@ -0,0 +1,68 @@ +import AppKit +import Combine + +// The status item's menu. Minimal for now: header, modes, connect/disconnect, quit. +final class HeadphonesMenu { + let menu = NSMenu() + private let model: HeadphonesModel + private var cancellables = Set() + private let headerItem = NSMenuItem() + private var modeItems: [(SHCAmbientMode, NSMenuItem)] = [] + private var connectItem: ActionMenuItem! + + init(model: HeadphonesModel) { + self.model = model + menu.autoenablesItems = false + + headerItem.isEnabled = false + menu.addItem(headerItem) + menu.addItem(.separator()) + + menu.addItem(sectionHeader(tr("Ambient Sound Control"))) + let modes: [(SHCAmbientMode, String)] = [ + (.noiseCanceling, tr("Noise Canceling")), (.ambientSound, tr("Ambient Sound")), (.off, tr("Off")), + ] + for (mode, title) in modes { + let item = ActionMenuItem(title) { [weak model] in model?.setMode(mode) } + modeItems.append((mode, item)) + menu.addItem(item) + } + menu.addItem(.separator()) + + connectItem = ActionMenuItem(tr("Connect…")) { [weak self] in self?.toggleConnection() } + menu.addItem(connectItem) + menu.addItem(.separator()) + menu.addItem(ActionMenuItem(tr("Quit SonyBridge"), key: "q") { NSApp.terminate(nil) }) + + // objectWillChange fires before the new value is stored; hopping to the main queue reads the new state. + model.objectWillChange + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.update() } + .store(in: &cancellables) + update() + } + + private func update() { + let connected = model.connected + var header = model.deviceName.isEmpty ? "SonyBridge" : model.deviceName + if connected && model.batteryLevel >= 0 { + header += " — " + String(format: tr("%ld%%"), model.batteryLevel) + } + headerItem.title = header + for (mode, item) in modeItems { + item.state = connected && model.mode == mode ? .on : .off + item.isEnabled = connected + } + connectItem.title = connected ? tr("Disconnect") : (model.connecting ? tr("Connecting…") : tr("Connect…")) + connectItem.isEnabled = !model.connecting + } + + private func toggleConnection() { + if model.connected { + model.disconnect() + } else { + NSApp.activate(ignoringOtherApps: true) // the fallback Bluetooth picker is a modal window + model.connect() + } + } +} diff --git a/Client/macos/Localization.swift b/Client/macos/Localization.swift new file mode 100644 index 0000000..93336f3 --- /dev/null +++ b/Client/macos/Localization.swift @@ -0,0 +1,6 @@ +import Foundation + +// Looks up a UI string in Localizable.strings. Every user-facing string goes through this (checked by make test). +func tr(_ key: String) -> String { + NSLocalizedString(key, comment: "") +} diff --git a/Client/macos/Main.storyboard b/Client/macos/Main.storyboard deleted file mode 100644 index 6241e88..0000000 --- a/Client/macos/Main.storyboard +++ /dev/null @@ -1,332 +0,0 @@ - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ! This product is not affiliated with Sony. Use at your own risk. ! -Source: https://github.com/Plutoberth/SonyHeadphonesClient - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Client/macos/MenuSupport.swift b/Client/macos/MenuSupport.swift new file mode 100644 index 0000000..f70dbfe --- /dev/null +++ b/Client/macos/MenuSupport.swift @@ -0,0 +1,31 @@ +import AppKit + +// A menu item that runs a closure (NSMenuItem only supports target/selector natively). +final class ActionMenuItem: NSMenuItem { + private let handler: () -> Void + + init(_ title: String, key: String = "", handler: @escaping () -> Void) { + self.handler = handler + super.init(title: title, action: #selector(fire), keyEquivalent: key) + target = self + } + + required init(coder: NSCoder) { + fatalError("init(coder:) is not supported") + } + + @objc private func fire() { + handler() + } +} + +// A small grey, non-clickable title above a group of items (like "Contrôle du son ambiant"). +func sectionHeader(_ title: String) -> NSMenuItem { + let item = NSMenuItem() + item.attributedTitle = NSAttributedString(string: title, attributes: [ + .font: NSFont.systemFont(ofSize: NSFont.smallSystemFontSize, weight: .semibold), + .foregroundColor: NSColor.secondaryLabelColor, + ]) + item.isEnabled = false + return item +} diff --git a/Client/macos/Assets.xcassets/AppIcon.appiconset/icon_128.png b/Client/macos/Resources/AppIcon.iconset/icon_128x128.png similarity index 100% rename from Client/macos/Assets.xcassets/AppIcon.appiconset/icon_128.png rename to Client/macos/Resources/AppIcon.iconset/icon_128x128.png diff --git a/Client/macos/Assets.xcassets/AppIcon.appiconset/icon_256.png b/Client/macos/Resources/AppIcon.iconset/icon_128x128@2x.png similarity index 100% rename from Client/macos/Assets.xcassets/AppIcon.appiconset/icon_256.png rename to Client/macos/Resources/AppIcon.iconset/icon_128x128@2x.png diff --git a/Client/macos/Assets.xcassets/AppIcon.appiconset/icon_16.png b/Client/macos/Resources/AppIcon.iconset/icon_16x16.png similarity index 100% rename from Client/macos/Assets.xcassets/AppIcon.appiconset/icon_16.png rename to Client/macos/Resources/AppIcon.iconset/icon_16x16.png diff --git a/Client/macos/Assets.xcassets/AppIcon.appiconset/icon_32.png b/Client/macos/Resources/AppIcon.iconset/icon_16x16@2x.png similarity index 100% rename from Client/macos/Assets.xcassets/AppIcon.appiconset/icon_32.png rename to Client/macos/Resources/AppIcon.iconset/icon_16x16@2x.png diff --git a/Client/macos/Resources/AppIcon.iconset/icon_256x256.png b/Client/macos/Resources/AppIcon.iconset/icon_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..f4b375c0b5391b4453a01010f7e9ca3071ae273d GIT binary patch literal 13651 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 SH#z{}dZePITz%g<{C@ywVw{Ws literal 0 HcmV?d00001 diff --git a/Client/macos/Assets.xcassets/AppIcon.appiconset/icon_512.png b/Client/macos/Resources/AppIcon.iconset/icon_256x256@2x.png similarity index 100% rename from Client/macos/Assets.xcassets/AppIcon.appiconset/icon_512.png rename to Client/macos/Resources/AppIcon.iconset/icon_256x256@2x.png diff --git a/Client/macos/Resources/AppIcon.iconset/icon_32x32.png b/Client/macos/Resources/AppIcon.iconset/icon_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ca3816a8630176168458f1ab2850cb28af5e92 GIT binary patch literal 1180 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 wwHgF9ftDcz=^BDxRVV-dpZ~A - - - - IDEDidComputeMac32BitWarning - - - diff --git a/Client/macos/StatusItemController.swift b/Client/macos/StatusItemController.swift new file mode 100644 index 0000000..e35e28c --- /dev/null +++ b/Client/macos/StatusItemController.swift @@ -0,0 +1,21 @@ +import AppKit +import Combine + +// Owns the menu bar icon and attaches the headphones menu to it. +final class StatusItemController { + private let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength) + private let headphonesMenu: HeadphonesMenu + private var cancellables = Set() + + init(model: HeadphonesModel) { + headphonesMenu = HeadphonesMenu(model: model) + statusItem.menu = headphonesMenu.menu + let image = NSImage(systemSymbolName: "headphones", accessibilityDescription: "SonyBridge") + image?.isTemplate = true + statusItem.button?.image = image + model.$connected + .receive(on: DispatchQueue.main) + .sink { [weak self] connected in self?.statusItem.button?.appearsDisabled = !connected } + .store(in: &cancellables) + } +} diff --git a/Client/macos/ViewController.h b/Client/macos/ViewController.h deleted file mode 100644 index df90ee3..0000000 --- a/Client/macos/ViewController.h +++ /dev/null @@ -1,31 +0,0 @@ -// -// ViewController.h -// SonyHeadphonesClient -// -// Created by Sem Visscher on 01/12/2020. -// - -#import -#import "AppDelegate.h" - -BluetoothWrapper bt = (BluetoothWrapper)nil; -Headphones* headphones; -NSStatusItem* statusItem; - -@interface ViewController : NSViewController -@property (weak, nonatomic) IBOutlet NSTextField *connectedLabel; -@property (weak, nonatomic) IBOutlet NSTextField *ANCValuePrefixLabel; -@property (weak, nonatomic) IBOutlet NSTextField *ANCValueLabel; -@property (weak, nonatomic) IBOutlet NSButton *focusOnVoice; -@property (weak, nonatomic) IBOutlet NSButton *connectButton; -@property (weak, nonatomic) IBOutlet NSSlider *ANCSlider; -@property (weak, nonatomic) IBOutlet NSButton *ANCEnabled; -@property (weak, nonatomic) IBOutlet NSTextField *virtualSoundLabel; -@property (weak, nonatomic) IBOutlet NSTextField *soundPositionLabel; -@property (weak, nonatomic) IBOutlet NSTextField *surroundLabel; -@property (weak, nonatomic) IBOutlet NSPopUpButton *soundPosition; -@property (weak, nonatomic) IBOutlet NSPopUpButton *surround; - -@property (strong, nonatomic) NSView *vptCard; -@end - diff --git a/Client/macos/ViewController.mm b/Client/macos/ViewController.mm deleted file mode 100644 index 6577dc7..0000000 --- a/Client/macos/ViewController.mm +++ /dev/null @@ -1,51 +0,0 @@ -// -// ViewController.mm -// Thin AppKit host: the storyboard instantiates this controller; it swaps its content for the -// SwiftUI interface (built in ContentView.swift, exposed via the generated -Swift.h header). -// - -#import "ViewController.h" -#import "SonyHeadphonesClient-Swift.h" - -@implementation ViewController - -- (void)viewDidLoad { - [super viewDidLoad]; - - // Drop the legacy storyboard controls; the SwiftUI view takes over the whole content area. - for (NSView *subview in [self.view.subviews copy]) { - [subview removeFromSuperview]; - } - - NSViewController *ui = [HeadphonesUIFactory makeViewController]; - [self addChildViewController:ui]; - ui.view.frame = self.view.bounds; - ui.view.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable; - [self.view addSubview:ui.view]; -} - -- (void)viewWillAppear { - [super viewWillAppear]; - - NSWindow *window = self.view.window; - if (!window) return; - - // The storyboard pins the window to a small fixed size; open it up to a portrait layout. - window.contentMinSize = NSMakeSize(360, 500); - window.contentMaxSize = NSMakeSize(560, 900); - window.styleMask |= NSWindowStyleMaskResizable; - [window setContentSize:NSMakeSize(380, 560)]; - window.titlebarAppearsTransparent = YES; - window.titleVisibility = NSWindowTitleHidden; - window.appearance = [NSAppearance appearanceNamed:NSAppearanceNameDarkAqua]; -} - -// Legacy storyboard action connections resolve to these no-op stubs (their controls are removed above). -- (IBAction)connectToDevice:(id)sender {} -- (IBAction)ANCSliderChanged:(id)sender {} -- (IBAction)ANCEnabledButtonChanged:(id)sender {} -- (IBAction)focusOnVoiceChanged:(id)sender {} -- (IBAction)surroundChanged:(id)sender {} -- (IBAction)soundPositionChanged:(id)sender {} - -@end diff --git a/Client/macos/exportOptions.plist b/Client/macos/exportOptions.plist deleted file mode 100644 index c1e8fb6..0000000 --- a/Client/macos/exportOptions.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - method - mac-application - - diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index 6376a68..2edc335 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -1,59 +1,17 @@ /* SonyBridge — French UI strings. Keys are the English source strings; missing keys fall back to English. */ -/* Connection */ -"No headphones connected" = "Aucun casque connecté"; -"Connecting…" = "Connexion…"; -"Connect headphones" = "Connecter le casque"; -"Connected" = "Connecté"; -"Disconnected" = "Déconnecté"; - -/* Battery (L/R = left/right earbud) */ -"L %ld%% R %ld%%" = "G %ld %% D %ld %%"; -"%ld%% (charging)" = "%ld %% (en charge)"; - -/* Ambient sound control */ +/* Menu */ "Ambient Sound Control" = "Contrôle du son ambiant"; -"Noise\nCanceling" = "Réduction\nde bruit"; -"Ambient\nSound" = "Son\nambiant"; +"Noise Canceling" = "Réduction de bruit"; +"Ambient Sound" = "Son ambiant"; "Off" = "Désactivé"; -"Ambient Sound Level" = "Niveau du son ambiant"; -"Focus on Voice" = "Focalisation sur la voix"; - -/* Equalizer */ -"Equalizer" = "Égaliseur"; -"Bright" = "Brillant"; -"Excited" = "Dynamique"; -"Mellow" = "Doux"; -"Relaxed" = "Détendu"; -"Vocal" = "Voix"; -"Treble" = "Aigus"; -"Bass" = "Graves"; -"Speech" = "Parole"; -"Manual" = "Manuel"; - -/* DSEE */ -"Upscale compressed audio" = "Améliore l’audio compressé"; - -/* Settings */ -"Settings" = "Réglages"; -"Adaptive Volume" = "Volume adaptatif"; -"Auto-adjust volume by surroundings" = "Ajuste le volume selon l’environnement"; -"Pause music when you talk" = "Met la musique en pause quand vous parlez"; -"Auto Power-Off" = "Arrêt automatique"; -"Turn off when idle" = "S’éteint en cas d’inactivité"; -"1 hour" = "1 heure"; -"3 hours" = "3 heures"; -"When taken off" = "Quand le casque est retiré"; - -/* About popover */ -"Status" = "État"; -"Battery" = "Batterie"; -"Battery L / R" = "Batterie G / D"; -"Case" = "Boîtier"; -"Protocol" = "Protocole"; -"SonyBridge · not affiliated with Sony" = "SonyBridge · non affilié à Sony"; +"Connect…" = "Connecter…"; +"Connecting…" = "Connexion…"; +"Disconnect" = "Déconnecter"; +"Quit SonyBridge" = "Quitter SonyBridge"; +"%ld%%" = "%ld %%"; -/* Errors */ +/* Errors (HeadphonesBridge.mm, HeadphonesModel.swift) */ "Headphones disconnected." = "Casque déconnecté."; "No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first." = "Aucun casque Sony connecté. Connectez d’abord votre casque dans les réglages Bluetooth de macOS."; "Connection timed out." = "Délai de connexion dépassé."; diff --git a/Client/macos/info.plist b/Client/macos/info.plist index 642d8c1..9588755 100644 --- a/Client/macos/info.plist +++ b/Client/macos/info.plist @@ -10,23 +10,33 @@ fr CFBundleExecutable - SonyHeadphonesClient + SonyBridge CFBundleIdentifier com.semvis123.SonyHeadphonesClient CFBundleInfoDictionaryVersion 6.0 CFBundleName - SonyHeadphonesClient + SonyBridge + CFBundleDisplayName + SonyBridge CFBundlePackageType APPL + CFBundleShortVersionString + 0.5.0 + CFBundleVersion + 1 + CFBundleIconFile + AppIcon LSApplicationCategoryType public.app-category.utilities + LSMinimumSystemVersion + 13.0 + LSUIElement + NSHighResolutionCapable - True + NSBluetoothAlwaysUsageDescription This app uses Bluetooth in order to connect to your headphones. - NSMainStoryboardFile - Main NSPrincipalClass NSApplication diff --git a/Client/macos/main.mm b/Client/macos/main.mm deleted file mode 100644 index 0eb4794..0000000 --- a/Client/macos/main.mm +++ /dev/null @@ -1,9 +0,0 @@ -#include -#import -#include "MacOSBluetoothConnector.h" -#include "BluetoothWrapper.h" - -int main(int argc, const char * argv[]) -{ - return NSApplicationMain(argc, argv); -} diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..54be4fd --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +# SonyBridge — build without Xcode. See scripts/build.sh for the knobs. +DEBUG ?= 0 + +.PHONY: all build run release clean + +all: build + +build: + DEBUG_PROTOCOL=$(DEBUG) ./scripts/build.sh + +run: build + -pkill -x SonyBridge + open --stdout build/app.log --stderr build/app.log build/SonyBridge.app + +release: + CONFIG=release ARCHS="arm64 x86_64" ./scripts/build.sh + cd build && rm -f SonyBridge.zip && ditto -c -k --keepParent SonyBridge.app SonyBridge.zip + +clean: + rm -rf build diff --git a/README.md b/README.md index 4a9727f..f7f9d5b 100644 --- a/README.md +++ b/README.md @@ -111,16 +111,18 @@ first time (`brew trust AmitRajput-Dev/tap`). ## 🚀 Build from source
-macOS (native SwiftUI app) +macOS (menu bar app) -Requires **Xcode 14+**. +Requires the **Xcode Command Line Tools** (`xcode-select --install`) — the full Xcode app is not needed. ```sh git clone https://github.com/AmitRajput-Dev/SonyBridge.git -open SonyBridge/Client/macos/SonyHeadphonesClient.xcodeproj +cd SonyBridge +make run # builds build/SonyBridge.app and launches it ``` -Then ⌘R. +`make test` runs the unit tests, `make release` builds a universal (Apple Silicon + Intel) zip, and +`make run DEBUG=1` logs every frame exchanged with the headphones to `build/app.log`.
## 🔬 How it works diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..ad37a60 --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,67 @@ +#!/bin/bash +# Builds build/SonyBridge.app with the Command Line Tools only (no Xcode needed). +# CONFIG=debug|release (default: debug) +# ARCHS="arm64 x86_64" (default: this Mac's architecture; several = universal binary via lipo) +# DEBUG_PROTOCOL=1 (hex-dumps every frame exchanged with the headphones to stderr) +set -euo pipefail +shopt -s nullglob + +ROOT=$(cd "$(dirname "$0")/.." && pwd) +CORE=$ROOT/Client +MAC=$CORE/macos +OUT=$ROOT/build +APP=$OUT/SonyBridge.app +SDK=$(xcrun --show-sdk-path) +CONFIG=${CONFIG:-debug} +ARCHS=${ARCHS:-$(uname -m)} +MIN_MACOS=13.0 + +if [ "$CONFIG" = release ]; then SWIFT_OPT="-O"; CXX_OPT="-O2"; else SWIFT_OPT="-Onone -g"; CXX_OPT="-O0 -g"; fi +SWIFT_DEFINES=""; CXX_DEFINES="" +if [ "${DEBUG_PROTOCOL:-0}" = 1 ]; then SWIFT_DEFINES="-D DEBUG_PROTOCOL"; CXX_DEFINES="-DSHC_DEBUG_PROTOCOL"; fi + +SWIFT_SOURCES=("$MAC"/*.swift "$MAC"/MenuRows/*.swift) +CXX_SOURCES=("$CORE"/*.cpp) +OBJCXX_SOURCES=("$MAC"/*.mm) + +rm -rf "$APP" +mkdir -p "$APP/Contents/MacOS" "$APP/Contents/Resources" +BINARIES="" + +for ARCH in $ARCHS; do + OBJ=$OUT/obj/$CONFIG-$ARCH + rm -rf "$OBJ"; mkdir -p "$OBJ" + TARGET=$ARCH-apple-macos$MIN_MACOS + CXXFLAGS="-target $TARGET -isysroot $SDK -std=c++17 $CXX_OPT $CXX_DEFINES -I $CORE -I $MAC" + + echo "== [$ARCH] Swift" + swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 $SWIFT_OPT $SWIFT_DEFINES -wmo -parse-as-library \ + -module-name SonyBridge \ + -import-objc-header "$MAC/SonyHeadphonesClient-Bridging-Header.h" -I "$MAC" -I "$CORE" \ + -c "${SWIFT_SOURCES[@]}" -o "$OBJ/swift.o" + + echo "== [$ARCH] C++" + for f in "${CXX_SOURCES[@]}"; do clang++ $CXXFLAGS -c "$f" -o "$OBJ/$(basename "$f" .cpp).o"; done + + echo "== [$ARCH] Obj-C++" + for f in "${OBJCXX_SOURCES[@]}"; do + clang++ $CXXFLAGS -fobjc-arc -fmodules -fcxx-modules -c "$f" -o "$OBJ/$(basename "$f" .mm).o" + done + + echo "== [$ARCH] Link" + swiftc -target "$TARGET" -sdk "$SDK" "$OBJ"/*.o -o "$OBJ/SonyBridge" -lc++ \ + -framework AppKit -framework SwiftUI -framework Combine -framework IOBluetooth \ + -framework IOBluetoothUI -framework ServiceManagement + BINARIES="$BINARIES $OBJ/SonyBridge" +done + +lipo -create $BINARIES -output "$APP/Contents/MacOS/SonyBridge" + +echo "== Resources" +cp "$MAC/info.plist" "$APP/Contents/Info.plist" +cp -R "$MAC"/*.lproj "$APP/Contents/Resources/" +iconutil -c icns "$MAC/Resources/AppIcon.iconset" -o "$APP/Contents/Resources/AppIcon.icns" + +echo "== Sign (ad-hoc)" +codesign --force --sign - --entitlements "$MAC/SonyHeadphonesClient.entitlements" "$APP" +echo "OK -> $APP" From 02ac5599257d859deb58fc54a20617404131e73e Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 15:45:17 +0200 Subject: [PATCH 06/31] test: reconnect/poll-guard/throttle logic, localization check, make test --- .github/workflows/build.yml | 2 ++ Client/macos/PollGuard.swift | 21 ++++++++++++++ Client/macos/ReconnectPolicy.swift | 18 ++++++++++++ Client/macos/SendThrottle.swift | 19 ++++++++++++ Client/tests/LogicTests/main.swift | 46 ++++++++++++++++++++++++++++++ Makefile | 5 +++- scripts/check_localization.py | 38 ++++++++++++++++++++++++ scripts/test.sh | 20 +++++++++++++ 8 files changed, 168 insertions(+), 1 deletion(-) create mode 100644 Client/macos/PollGuard.swift create mode 100644 Client/macos/ReconnectPolicy.swift create mode 100644 Client/macos/SendThrottle.swift create mode 100644 Client/tests/LogicTests/main.swift create mode 100755 scripts/check_localization.py create mode 100755 scripts/test.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index cbe0134..e2afbf9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,6 +11,8 @@ jobs: runs-on: macos-latest steps: - uses: actions/checkout@v4 + - name: Test + run: make test - name: Build (release, universal) run: make release - uses: actions/upload-artifact@v4 diff --git a/Client/macos/PollGuard.swift b/Client/macos/PollGuard.swift new file mode 100644 index 0000000..0fc4af3 --- /dev/null +++ b/Client/macos/PollGuard.swift @@ -0,0 +1,21 @@ +import Foundation + +// Ignores a polled value for a setting the user changed less than `window` seconds ago, so a read-back that +// raced the user's command doesn't briefly flip the menu back to the old state. +struct PollGuard { + let window: TimeInterval + private var lastUserChange: [Key: Date] = [:] + + init(window: TimeInterval = 3) { + self.window = window + } + + mutating func userChanged(_ key: Key, at date: Date = Date()) { + lastUserChange[key] = date + } + + func shouldAcceptPoll(for key: Key, at date: Date = Date()) -> Bool { + guard let changed = lastUserChange[key] else { return true } + return date.timeIntervalSince(changed) >= window + } +} diff --git a/Client/macos/ReconnectPolicy.swift b/Client/macos/ReconnectPolicy.swift new file mode 100644 index 0000000..dd54bd3 --- /dev/null +++ b/Client/macos/ReconnectPolicy.swift @@ -0,0 +1,18 @@ +import Foundation + +// Delays between automatic reconnection attempts: 3 s, 10 s, 30 s, then every 60 s. +struct ReconnectPolicy { + static let delays: [TimeInterval] = [3, 10, 30, 60] + private(set) var attempt = 0 + + // Delay before the next attempt; each call advances the schedule. + mutating func nextDelay() -> TimeInterval { + let delay = Self.delays[min(attempt, Self.delays.count - 1)] + attempt += 1 + return delay + } + + mutating func reset() { + attempt = 0 + } +} diff --git a/Client/macos/SendThrottle.swift b/Client/macos/SendThrottle.swift new file mode 100644 index 0000000..2ada2b7 --- /dev/null +++ b/Client/macos/SendThrottle.swift @@ -0,0 +1,19 @@ +import Foundation + +// Rate-limits slider commands: at most one every `interval` while dragging; the final value always goes out. +struct SendThrottle { + let interval: TimeInterval + private var lastSend: Date? + + init(interval: TimeInterval = 0.15) { + self.interval = interval + } + + mutating func shouldSend(at date: Date = Date(), final: Bool) -> Bool { + if !final, let last = lastSend, date.timeIntervalSince(last) < interval { + return false + } + lastSend = date + return true + } +} diff --git a/Client/tests/LogicTests/main.swift b/Client/tests/LogicTests/main.swift new file mode 100644 index 0000000..993b34c --- /dev/null +++ b/Client/tests/LogicTests/main.swift @@ -0,0 +1,46 @@ +import Foundation + +// Minimal test runner (XCTest isn't available without Xcode). Exit code 1 on any failure. +var failures = 0 +func check(_ condition: Bool, _ message: String, line: Int = #line) { + if !condition { + failures += 1 + print("FAIL line \(line): \(message)") + } +} + +// ReconnectPolicy: 3 s, 10 s, 30 s, then every 60 s; reset restarts. +do { + var policy = ReconnectPolicy() + let delays = (0..<6).map { _ in policy.nextDelay() } + check(delays == [3, 10, 30, 60, 60, 60], "reconnect schedule was \(delays)") + policy.reset() + check(policy.nextDelay() == 3, "reset restarts the schedule") +} + +// PollGuard: a poll is ignored for 3 s after the user changed that setting. +do { + var pollGuard = PollGuard(window: 3) + let t0 = Date(timeIntervalSince1970: 1_000) + check(pollGuard.shouldAcceptPoll(for: "ambient", at: t0), "no user change: accept") + pollGuard.userChanged("ambient", at: t0) + check(!pollGuard.shouldAcceptPoll(for: "ambient", at: t0.addingTimeInterval(2.9)), "inside the window: reject") + check(pollGuard.shouldAcceptPoll(for: "ambient", at: t0.addingTimeInterval(3)), "after the window: accept") + check(pollGuard.shouldAcceptPoll(for: "eq", at: t0.addingTimeInterval(1)), "other keys are unaffected") +} + +// SendThrottle: at most one send per 150 ms while dragging; the final value always goes out. +do { + var throttle = SendThrottle(interval: 0.15) + let t0 = Date(timeIntervalSince1970: 1_000) + check(throttle.shouldSend(at: t0, final: false), "first drag event sends") + check(!throttle.shouldSend(at: t0.addingTimeInterval(0.10), final: false), "too soon: skip") + check(throttle.shouldSend(at: t0.addingTimeInterval(0.16), final: false), "after the interval: send") + check(throttle.shouldSend(at: t0.addingTimeInterval(0.17), final: true), "final value always sends") +} + +if failures > 0 { + print("LogicTests: \(failures) failure(s)") + exit(1) +} +print("LogicTests: all passed") diff --git a/Makefile b/Makefile index 54be4fd..a50b440 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # SonyBridge — build without Xcode. See scripts/build.sh for the knobs. DEBUG ?= 0 -.PHONY: all build run release clean +.PHONY: all build run test release clean all: build @@ -12,6 +12,9 @@ run: build -pkill -x SonyBridge open --stdout build/app.log --stderr build/app.log build/SonyBridge.app +test: + ./scripts/test.sh + release: CONFIG=release ARCHS="arm64 x86_64" ./scripts/build.sh cd build && rm -f SonyBridge.zip && ditto -c -k --keepParent SonyBridge.app SonyBridge.zip diff --git a/scripts/check_localization.py b/scripts/check_localization.py new file mode 100755 index 0000000..7631cb5 --- /dev/null +++ b/scripts/check_localization.py @@ -0,0 +1,38 @@ +#!/usr/bin/env python3 +"""Every tr("…") / NSLocalizedString("…") key must have a French translation, and every French key must be used.""" +import json +import pathlib +import re +import subprocess +import sys + +ROOT = pathlib.Path(__file__).resolve().parent.parent +MAC = ROOT / "Client" / "macos" +STRINGS = MAC / "fr.lproj" / "Localizable.strings" +LITERAL = r'"((?:[^"\\]|\\.)*)"' +PATTERNS = [re.compile(r"\btr\(" + LITERAL + r"\)"), re.compile(r"NSLocalizedString\(@?" + LITERAL)] + +def unescape_source_literal(key): + r"""Unescape source string literals: \n → newline, \t → tab, and any other \X → X.""" + def replace_escape(match): + char = match.group(1) + escapes = {'n': '\n', 't': '\t', 'r': '\r', '"': '"', '\\': '\\'} + return escapes.get(char, char) + return re.sub(r"\\(.)", replace_escape, key) + +french = set(json.loads(subprocess.check_output(["plutil", "-convert", "json", "-o", "-", str(STRINGS)]))) +used = set() +for path in sorted(MAC.rglob("*.swift")) + sorted(MAC.rglob("*.mm")): + text = path.read_text(encoding="utf-8") + for pattern in PATTERNS: + used.update(unescape_source_literal(key) for key in pattern.findall(text)) + +missing = sorted(used - french) +unused = sorted(french - used) +for key in missing: + print(f"missing French translation: {key!r}") +for key in unused: + print(f"unused French key: {key!r}") +if missing or unused: + sys.exit(1) +print(f"Localization: {len(used)} keys, all translated") diff --git a/scripts/test.sh b/scripts/test.sh new file mode 100755 index 0000000..3eff7a0 --- /dev/null +++ b/scripts/test.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Builds and runs the unit test executables (plain asserts, no XCTest), then checks the translations. +set -euo pipefail + +ROOT=$(cd "$(dirname "$0")/.." && pwd) +MAC=$ROOT/Client/macos +OUT=$ROOT/build/tests +SDK=$(xcrun --show-sdk-path) +TARGET=$(uname -m)-apple-macos13.0 +mkdir -p "$OUT" + +echo "== LogicTests" +swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 \ + "$ROOT/Client/tests/LogicTests/main.swift" \ + "$MAC/ReconnectPolicy.swift" "$MAC/PollGuard.swift" "$MAC/SendThrottle.swift" \ + -o "$OUT/LogicTests" +"$OUT/LogicTests" + +echo "== Localization" +python3 "$ROOT/scripts/check_localization.py" From 886ba74d269bfcc463567c8b16b7eab7762bf080 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 15:45:21 +0200 Subject: [PATCH 07/31] fix(xm6): read NC/ASM state on channel 0x19, decode 10-band equalizer (read-only) --- Client/Headphones.cpp | 59 ++++++++++---------- Client/Headphones.h | 9 ++- Client/ProtocolParsers.cpp | 45 +++++++++++++++ Client/ProtocolParsers.h | 33 +++++++++++ Client/macos/HeadphonesBridge.h | 4 ++ Client/macos/HeadphonesBridge.mm | 10 +++- Client/tests/ProtocolParsersTests.cpp | 80 +++++++++++++++++++++++++++ scripts/test.sh | 7 +++ 8 files changed, 216 insertions(+), 31 deletions(-) create mode 100644 Client/ProtocolParsers.cpp create mode 100644 Client/ProtocolParsers.h create mode 100644 Client/tests/ProtocolParsersTests.cpp diff --git a/Client/Headphones.cpp b/Client/Headphones.cpp index 54d010f..67b8c25 100644 --- a/Client/Headphones.cpp +++ b/Client/Headphones.cpp @@ -1,5 +1,6 @@ #include "Headphones.h" #include "CommandSerializer.h" +#include "ProtocolParsers.h" #include #include @@ -136,27 +137,24 @@ int Headphones::getBatteryCase() { return this->_batteryCase; } void Headphones::requestEqualizer() { - // GET: 56 00 -> RET: 57 00 06 - auto resp = this->_conn.sendCommandAndReadResponse( - { (char)V2Command::EQ_GET, 0x00 }, - V2Command::EQ_RET - ); - if (resp.size() >= 3) + // GET: 56 00 -> RET: 57 00 (decoded by ProtocolParsers::parseEqualizer) + auto resp = this->_conn.sendCommandAndReadResponse({ (char)V2Command::EQ_GET, 0x00 }, V2Command::EQ_RET); + if (auto eq = ProtocolParsers::parseEqualizer(resp)) { std::lock_guard guard(this->_propertyMtx); - this->_eqPreset = static_cast((unsigned char)resp[2]); - // When band data is present (57 00 06 ), decode the -10..10 values. - if (resp.size() >= 10) + this->_eqPreset = static_cast(eq->preset); + if (!eq->bands.empty()) { - this->_eqClearBass = (unsigned char)resp[4] - 10; - for (int i = 0; i < 5; i++) - { - this->_eqBands[i] = (unsigned char)resp[5 + i] - 10; - } + this->_eqBands = eq->bands; + this->_eqHasClearBass = eq->hasClearBass; + this->_eqClearBass = eq->clearBass; } } } +int Headphones::getEqualizerBandCount() { return (int)this->_eqBands.size(); } +bool Headphones::equalizerHasClearBass() { return this->_eqHasClearBass; } + EQ_PRESET Headphones::getEqualizerPreset() { return this->_eqPreset; @@ -195,10 +193,7 @@ void Headphones::setEqualizerCustom(int clearBass, const std::vector& bands std::lock_guard guard(this->_propertyMtx); this->_eqPreset = EQ_PRESET::MANUAL; this->_eqClearBass = clearBass; - for (int i = 0; i < 5; i++) - { - this->_eqBands[i] = i < (int)bands.size() ? bands[i] : 0; - } + this->_eqBands.assign(bands.begin(), bands.end()); } int Headphones::getClearBass() @@ -249,19 +244,15 @@ void Headphones::requestAmbientState() auto protocolVersion = this->_conn.getProtocolVersion(); if (protocolVersion == SonyProtocolVersion::V2) { - // GET: 66 17 -> RET: 67 17 01 - auto resp = this->_conn.sendCommandAndReadResponse({ 0x66, 0x17 }, 0x67); - if (resp.size() >= 7) + // GET: 66 -> RET: 67 01 <0=NC/1=Ambient> [2 more bytes on 0x19] + auto resp = this->_conn.sendCommandAndReadResponse({ 0x66, (char)this->_ncAsmInquiryType }, 0x67, this->_ncAsmInquiryType); + if (auto state = ProtocolParsers::parseNcAsmState(resp)) { - bool on = resp[3] != 0; - bool ambient = resp[4] != 0; - bool voice = resp[5] != 0; - int level = (unsigned char)resp[6]; std::lock_guard guard(this->_propertyMtx); // Update both current and desired so the UI reflects reality and isChanged() stays false. - this->_ambientSoundControl.current = this->_ambientSoundControl.desired = on; - this->_asmLevel.current = this->_asmLevel.desired = ambient ? level : 0; - this->_focusOnVoice.current = this->_focusOnVoice.desired = voice; + this->_ambientSoundControl.current = this->_ambientSoundControl.desired = state->enabled; + this->_asmLevel.current = this->_asmLevel.desired = state->ambient ? state->level : 0; + this->_focusOnVoice.current = this->_focusOnVoice.desired = state->focusOnVoice; } } else @@ -276,6 +267,18 @@ void Headphones::requestAmbientState() } } +void Headphones::probeNcAsmInquiryType() +{ + // The WH-1000XM6 answers the legacy 0x17 inquiry with all zeros and reports its real state on 0x19. + // Setting the mode still goes through 68 17, which the XM6 accepts. + try + { + auto resp = this->_conn.sendCommandAndReadResponse({ 0x66, 0x19 }, 0x67, 0x19); + if (ProtocolParsers::parseNcAsmState(resp)) this->_ncAsmInquiryType = 0x19; + } + catch (...) {} +} + // --- Optional features (auto power off, firmware, codec, speak-to-chat, adaptive volume) --- namespace diff --git a/Client/Headphones.h b/Client/Headphones.h index be3fa52..e18b8d6 100644 --- a/Client/Headphones.h +++ b/Client/Headphones.h @@ -54,6 +54,8 @@ class Headphones { void setEqualizerCustom(int clearBass, const std::vector& bands); int getClearBass(); int getEqualizerBand(int index); // 0..4 + int getEqualizerBandCount(); // 0 until read, then 5 (+ Clear Bass) or 10 + bool equalizerHasClearBass(); // DSEE / audio upsampling (v2). void requestDsee(); @@ -64,6 +66,9 @@ class Headphones { // changes made with the headphone's own button are reflected in the app). void requestAmbientState(); + // Picks the NC/ASM inquiry channel: 0x19 when the device answers it (WH-1000XM6), else the legacy 0x17. + void probeNcAsmInquiryType(); + // Optional features. probeCapabilities() sends each GET on connect; a feature is "supported" only if // the device answers (otherwise we must never send its SET - see the WH-1000XM4 power-off incident). void probeCapabilities(); @@ -101,7 +106,9 @@ class Headphones { int _batteryRight = -1; int _batteryCase = -1; EQ_PRESET _eqPreset = EQ_PRESET::OFF; - std::vector _eqBands = { 0, 0, 0, 0, 0 }; + std::vector _eqBands; // empty until the first read; 5 or 10 values + bool _eqHasClearBass = false; + unsigned char _ncAsmInquiryType = 0x17; // 0x19 on the WH-1000XM6, see probeNcAsmInquiryType() int _eqClearBass = 0; bool _dsee = false; diff --git a/Client/ProtocolParsers.cpp b/Client/ProtocolParsers.cpp new file mode 100644 index 0000000..b1b2e9e --- /dev/null +++ b/Client/ProtocolParsers.cpp @@ -0,0 +1,45 @@ +#include "ProtocolParsers.h" + +#include + +namespace ProtocolParsers +{ + std::optional parseNcAsmState(const Buffer& payload) + { + if (payload.size() < 7) return std::nullopt; + auto opcode = (unsigned char)payload[0]; + auto type = (unsigned char)payload[1]; + if ((opcode != 0x67 && opcode != 0x69) || (type != 0x17 && type != 0x19)) return std::nullopt; + if (std::all_of(payload.begin() + 2, payload.end(), [](char b) { return b == 0; })) return std::nullopt; + + NcAsmState state; + state.enabled = payload[3] != 0; + state.ambient = payload[4] != 0; + state.focusOnVoice = payload[5] != 0; + state.level = (unsigned char)payload[6]; + return state; + } + + std::optional parseEqualizer(const Buffer& payload) + { + if (payload.size() < 3 || (unsigned char)payload[0] != 0x57) return std::nullopt; + + EqualizerState state{ (unsigned char)payload[2], false, 0, {} }; + if (payload.size() < 4) return state; + size_t count = (unsigned char)payload[3]; + if (payload.size() < 4 + count) return state; + + auto value = [&](size_t i) { return (int)(unsigned char)payload[4 + i] - 10; }; + if (count == 6) + { + state.hasClearBass = true; + state.clearBass = value(0); + for (size_t i = 1; i < 6; i++) state.bands.push_back(value(i)); + } + else if (count == 10) + { + for (size_t i = 0; i < 10; i++) state.bands.push_back(value(i)); + } + return state; + } +} diff --git a/Client/ProtocolParsers.h b/Client/ProtocolParsers.h new file mode 100644 index 0000000..f4bf5fc --- /dev/null +++ b/Client/ProtocolParsers.h @@ -0,0 +1,33 @@ +#pragma once + +#include +#include +#include "Constants.h" + +// Pure decoders for v2 inquiry replies. `payload` is the frame's field, starting with the reply opcode. +namespace ProtocolParsers +{ + struct NcAsmState + { + bool enabled; // NC/ASM effect on + bool ambient; // true = Ambient Sound, false = Noise Cancelling + bool focusOnVoice; + int level; // ambient level (meaningful when ambient) + }; + + // Accepts "67|69 17 01 " and the WH-1000XM6 "67|69 19 01 + // ". Returns nullopt when too short, for other opcodes, and for the all-zero body the XM6 sends + // back on the channel it doesn't use (67 17 00 00 00 00 00). + std::optional parseNcAsmState(const Buffer& payload); + + struct EqualizerState + { + unsigned char preset; // raw preset id (EQ_PRESET values, or ids we don't know yet like 0x30) + bool hasClearBass; // 5-band layout only + int clearBass; // -10..10 when hasClearBass + std::vector bands; // 5 or 10 values in -10..10; empty when the reply carried no band data + }; + + // "57 00 06 " (5 bands + Clear Bass) or "57 00 0a ". + std::optional parseEqualizer(const Buffer& payload); +} diff --git a/Client/macos/HeadphonesBridge.h b/Client/macos/HeadphonesBridge.h index dfbdd03..e749232 100644 --- a/Client/macos/HeadphonesBridge.h +++ b/Client/macos/HeadphonesBridge.h @@ -39,6 +39,10 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { @property (nonatomic, readonly) NSInteger batteryCase; @property (nonatomic, readonly) NSInteger eqPreset; // raw preset byte (EQ_PRESET) @property (nonatomic, readonly) BOOL supportsEqualizer; // v2 devices only +@property (nonatomic, readonly) NSInteger equalizerBandCount; // 0 until read, then 5 or 10 +@property (nonatomic, readonly) BOOL equalizerHasClearBass; // 5-band layout +// NO while this device's equalizer write format is unverified (the WH-1000XM6's 10-band layout, spec §7). +@property (nonatomic, readonly) BOOL equalizerWritable; @property (nonatomic, readonly) NSInteger clearBass; // -10..10 @property (nonatomic, readonly) BOOL dsee; // DSEE / audio upsampling diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index 6cf092a..4c4549f 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -103,6 +103,11 @@ - (NSInteger)clearBass { return _hp ? _hp->getClearBass() : 0; } +- (NSInteger)equalizerBandCount { return _hp ? _hp->getEqualizerBandCount() : 0; } +- (BOOL)equalizerHasClearBass { return _hp && _hp->equalizerHasClearBass(); } +// Only the 5-band + Clear Bass layout (WH-CH720N family) has a verified write format. +- (BOOL)equalizerWritable { return self.supportsEqualizer && _hp && _hp->equalizerHasClearBass(); } + - (BOOL)dsee { return _hp ? _hp->getDsee() : NO; } @@ -213,6 +218,7 @@ - (void)refreshStatusWithCompletion:(void (^)(void))completion { try { if (!self->_initialized) { hp->initDevice(); + hp->probeNcAsmInquiryType(); self->_initialized = YES; } hp->requestBattery(); @@ -245,7 +251,7 @@ - (void)setEqualizerPreset:(NSInteger)preset completion:(void (^)(BOOL, NSString return; } // The v2 EQ SET opcode differs from v1; only issue it on confirmed v2 devices. - if (_bt->getProtocolVersion() != SonyProtocolVersion::V2) { + if (!self.equalizerWritable) { completion(NO, NSLocalizedString(@"Equalizer control isn't supported on this device yet.", nil)); return; } @@ -266,7 +272,7 @@ - (void)setEqualizerPreset:(NSInteger)preset completion:(void (^)(BOOL, NSString } - (void)setCustomEqualizerBass:(NSInteger)bass bands:(NSArray *)bands completion:(void (^)(BOOL, NSString * _Nullable))completion { - if (!_hp || !self.connected || _bt->getProtocolVersion() != SonyProtocolVersion::V2) { + if (!_hp || !self.connected || !self.equalizerWritable) { completion(NO, NSLocalizedString(@"Equalizer control isn't supported on this device yet.", nil)); return; } diff --git a/Client/tests/ProtocolParsersTests.cpp b/Client/tests/ProtocolParsersTests.cpp new file mode 100644 index 0000000..5c356aa --- /dev/null +++ b/Client/tests/ProtocolParsersTests.cpp @@ -0,0 +1,80 @@ +#include "ProtocolParsers.h" +#include "CommandSerializer.h" +#include +#include + +// Minimal test runner (no framework). Exit code 1 on any failure. +static int failures = 0; +#define CHECK(cond) do { if (!(cond)) { failures++; std::printf("FAIL %s:%d: %s\n", __FILE__, __LINE__, #cond); } } while (0) + +static Buffer bytes(std::initializer_list values) +{ + Buffer b; + for (int v : values) b.push_back((char)v); + return b; +} + +int main() +{ + using namespace ProtocolParsers; + + // --- NC/ASM state --- + // WH-1000XM6 answer to the legacy 0x17 inquiry: all zeros = "not this channel". + CHECK(!parseNcAsmState(bytes({ 0x67, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00 })).has_value()); + // WH-1000XM6 notify on 0x19: Ambient Sound on, level 10, no voice focus. + { + auto s = parseNcAsmState(bytes({ 0x69, 0x19, 0x01, 0x01, 0x01, 0x00, 0x0a, 0x00, 0x00 })); + CHECK(s && s->enabled && s->ambient && !s->focusOnVoice && s->level == 10); + } + // WH-1000XM6 reply on 0x19: Noise Cancelling (ambient byte = 0). + { + auto s = parseNcAsmState(bytes({ 0x67, 0x19, 0x01, 0x01, 0x00, 0x00, 0x0a, 0x00, 0x00 })); + CHECK(s && s->enabled && !s->ambient); + } + // Legacy 0x17 layout (WH-CH720N): effect off. + { + auto s = parseNcAsmState(bytes({ 0x67, 0x17, 0x01, 0x00, 0x00, 0x00, 0x01 })); + CHECK(s && !s->enabled); + } + CHECK(!parseNcAsmState(bytes({ 0x67, 0x17, 0x01 })).has_value()); // too short + CHECK(!parseNcAsmState(bytes({ 0x57, 0x17, 0x01, 0x01, 0x01, 0x00, 0x0a })).has_value()); // wrong opcode + + // --- Equalizer --- + // WH-1000XM6: unknown preset 0x30, 10 bands (offset +10 hypothesis, spec §7). + { + auto e = parseEqualizer(bytes({ 0x57, 0x00, 0x30, 0x0a, 0x0a, 0x0a, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06 })); + CHECK(e && e->preset == 0x30 && !e->hasClearBass && e->bands.size() == 10); + CHECK(e && e->bands[0] == 0 && e->bands[2] == -5 && e->bands[9] == -4); + } + // 5 bands + Clear Bass (WH-CH720N): Manual, bass +3, bands -2..+2. + { + auto e = parseEqualizer(bytes({ 0x57, 0x00, 0xa0, 0x06, 13, 8, 9, 10, 11, 12 })); + CHECK(e && e->preset == 0xa0 && e->hasClearBass && e->clearBass == 3); + CHECK(e && e->bands == std::vector({ -2, -1, 0, 1, 2 })); + } + // Preset only, no band data. + { + auto e = parseEqualizer(bytes({ 0x57, 0x00, 0x16 })); + CHECK(e && e->preset == 0x16 && e->bands.empty()); + } + CHECK(!parseEqualizer(bytes({ 0x23, 0x00, 0x44, 0x00 })).has_value()); // battery reply + + // --- Framing --- + // Round trip, with a payload byte (0x3c = END_MARKER) that must be escaped. + { + Buffer payload = bytes({ 0x68, 0x17, 0x01, 0x01, 0x01, 0x00, 0x3c }); + auto frame = CommandSerializer::packageDataForBt(payload, DATA_TYPE::DATA_MDR, 1); + CHECK(frame.front() == START_MARKER && frame.back() == END_MARKER); + auto msg = CommandSerializer::unpackBtMessage(Buffer(frame.begin() + 1, frame.end() - 1)); + CHECK(msg.dataType == DATA_TYPE::DATA_MDR && msg.seqNumber == 1 && msg.payload == payload); + } + // Real WH-1000XM6 battery frame (68 %), between the 3e/3c markers. + { + auto msg = CommandSerializer::unpackBtMessage(bytes({ 0x0c, 0x00, 0x00, 0x00, 0x00, 0x04, 0x23, 0x00, 0x44, 0x00, 0x77 })); + CHECK(msg.payload == bytes({ 0x23, 0x00, 0x44, 0x00 })); + } + + if (failures) { std::printf("ProtocolParsersTests: %d failure(s)\n", failures); return 1; } + std::printf("ProtocolParsersTests: all passed\n"); + return 0; +} diff --git a/scripts/test.sh b/scripts/test.sh index 3eff7a0..dee4369 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -16,5 +16,12 @@ swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 \ -o "$OUT/LogicTests" "$OUT/LogicTests" +echo "== ProtocolParsersTests" +clang++ -target "$TARGET" -isysroot "$SDK" -std=c++17 -I "$ROOT/Client" \ + "$ROOT/Client/tests/ProtocolParsersTests.cpp" "$ROOT/Client/ProtocolParsers.cpp" \ + "$ROOT/Client/CommandSerializer.cpp" "$ROOT/Client/ByteMagic.cpp" \ + -o "$OUT/ProtocolParsersTests" +"$OUT/ProtocolParsersTests" + echo "== Localization" python3 "$ROOT/scripts/check_localization.py" From b5e6228a0e55d12f0d0d0be42aeb7858298c7d3f Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 16:04:20 +0200 Subject: [PATCH 08/31] fix(xm6): read NC/ASM state on channel 0x19, decode 10-band equalizer (read-only) --- Client/macos/HeadphonesBridge.mm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index 4c4549f..d4f0cf4 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -221,6 +221,8 @@ - (void)refreshStatusWithCompletion:(void (^)(void))completion { hp->probeNcAsmInquiryType(); self->_initialized = YES; } + // Current NC/ASM state, on the channel probeNcAsmInquiryType() picked. + hp->requestAmbientState(); hp->requestBattery(); hp->requestEqualizer(); hp->requestDsee(); From bdb28814d07105d419de179fe17a06302953bb91 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 16:17:45 +0200 Subject: [PATCH 09/31] refactor(macos): menu-oriented HeadphonesModel (connection state, common-mode timers, poll guard, battery polling) --- Client/macos/HeadphonesBridge.h | 3 + Client/macos/HeadphonesBridge.mm | 10 + Client/macos/HeadphonesMenu.swift | 4 +- Client/macos/HeadphonesModel.swift | 369 ++++++++++++---------- Client/macos/StatusItemController.swift | 4 +- Client/macos/fr.lproj/Localizable.strings | 1 - 6 files changed, 220 insertions(+), 171 deletions(-) diff --git a/Client/macos/HeadphonesBridge.h b/Client/macos/HeadphonesBridge.h index e749232..d413e72 100644 --- a/Client/macos/HeadphonesBridge.h +++ b/Client/macos/HeadphonesBridge.h @@ -93,6 +93,9 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { // own button show up in the app. Called on a timer while connected. - (void)refreshDynamicWithCompletion:(void (^)(void))completion; +// Re-reads the battery level (v2 devices only). Completion on the main thread. +- (void)refreshBatteryWithCompletion:(void (^)(void))completion; + @end NS_ASSUME_NONNULL_END diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index d4f0cf4..17bfab4 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -247,6 +247,16 @@ - (void)refreshDynamicWithCompletion:(void (^)(void))completion { }); } +- (void)refreshBatteryWithCompletion:(void (^)(void))completion { + // CRITICAL: 0x22 is BATTERY_LEVEL_REQUEST on v2 but POWER_OFF on v1 - never send it to a v1 device. + if (!_hp || !self.connected || _bt->getProtocolVersion() != SonyProtocolVersion::V2) { completion(); return; } + Headphones *hp = _hp.get(); + dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + try { hp->requestBattery(); } catch (std::exception &exc) {} + dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); + }); +} + - (void)setEqualizerPreset:(NSInteger)preset completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index 56a8c92..7fb185b 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -53,8 +53,8 @@ final class HeadphonesMenu { item.state = connected && model.mode == mode ? .on : .off item.isEnabled = connected } - connectItem.title = connected ? tr("Disconnect") : (model.connecting ? tr("Connecting…") : tr("Connect…")) - connectItem.isEnabled = !model.connecting + connectItem.title = connected ? tr("Disconnect") : (model.connectionState == .connecting ? tr("Connecting…") : tr("Connect…")) + connectItem.isEnabled = model.connectionState != .connecting } private func toggleConnection() { diff --git a/Client/macos/HeadphonesModel.swift b/Client/macos/HeadphonesModel.swift index 82b66c8..4925fab 100644 --- a/Client/macos/HeadphonesModel.swift +++ b/Client/macos/HeadphonesModel.swift @@ -1,227 +1,264 @@ -// -// HeadphonesModel.swift -// Observable view model wrapping the Obj-C++ HeadphonesBridge for SwiftUI. -// - import Foundation import Combine +enum ConnectionState { + case disconnected, connecting, connected +} + +// Observable state of the headphones and the actions the menu triggers. Wraps the Obj-C++ HeadphonesBridge. final class HeadphonesModel: ObservableObject { + private enum PolledSetting { case ambient } + private let bridge = HeadphonesBridge() - @Published var connected = false - @Published var connecting = false - @Published var deviceName = "" - @Published var supportsVpt = false - @Published var maxAmbientLevel = 20 - - @Published var mode: SHCAmbientMode = .off - @Published var ambientLevel = 10 - @Published var focusOnVoice = false - @Published var focusOnVoiceAvailable = false - - @Published var batteryLevel = -1 - @Published var batteryCharging = false - @Published var hasDualBattery = false - @Published var batteryLeft = -1 - @Published var batteryRight = -1 - @Published var batteryCase = -1 - @Published var eqPreset = 0 - @Published var supportsEqualizer = false - @Published var eqBands = [0, 0, 0, 0, 0] - @Published var clearBass = 0 - @Published var dsee = false - - @Published var hasAutoPowerOff = false - @Published var autoPowerOff = 0 - @Published var firmware = "" - @Published var codec = "" - @Published var hasSpeakToChat = false - @Published var speakToChat = false - @Published var hasAdaptiveVolume = false - @Published var adaptiveVolume = false - @Published var deviceMac = "" - @Published var protocolVersion = "" - - @Published var errorMessage: String? - - private var pollTimer: Timer? - private var dynamicTimer: Timer? + @Published private(set) var connectionState: ConnectionState = .disconnected + var connected: Bool { connectionState == .connected } + + // Kept after a disconnect so the header still names the last headset. + @Published private(set) var deviceName = "" + @Published private(set) var deviceMac = "" + @Published private(set) var protocolVersion = "" + @Published private(set) var firmware = "" + @Published private(set) var codec = "" + @Published private(set) var maxAmbientLevel = 20 + + @Published private(set) var mode: SHCAmbientMode = .off + @Published private(set) var ambientLevel = 10 + @Published private(set) var focusOnVoice = false + + @Published private(set) var batteryLevel = -1 + @Published private(set) var batteryCharging = false + @Published private(set) var hasDualBattery = false + @Published private(set) var batteryLeft = -1 + @Published private(set) var batteryRight = -1 + @Published private(set) var batteryCase = -1 + + @Published private(set) var supportsEqualizer = false + @Published private(set) var equalizerWritable = false + @Published private(set) var eqPreset = 0 + @Published private(set) var eqBands: [Int] = [] + @Published private(set) var eqHasClearBass = false + @Published private(set) var clearBass = 0 + @Published private(set) var dsee = false + + @Published private(set) var hasAutoPowerOff = false + @Published private(set) var autoPowerOff = 0 + @Published private(set) var hasSpeakToChat = false + @Published private(set) var speakToChat = false + @Published private(set) var hasAdaptiveVolume = false + @Published private(set) var adaptiveVolume = false + + // Last error from a user action; cleared by the next successful one. + @Published private(set) var errorMessage: String? + private var timers: [Timer] = [] + private var pollGuard = PollGuard() + private var levelThrottle = SendThrottle() + private var eqThrottle = SendThrottle() + + // MARK: - Connection + + // User-initiated: uses the already-connected Sony headset, else the macOS Bluetooth picker. func connect() { - connecting = true + connectionState = .connecting errorMessage = nil - // Defer so SwiftUI can render the "Connecting…" state before the modal picker blocks the main thread. + // Defer so the menu can show "Connecting…" before a modal picker blocks the main thread. DispatchQueue.main.async { self.bridge.scanAndConnect { ok, error in - self.connecting = false - if ok { - self.syncFromBridge() - self.startWatchingConnection() - self.refreshStatus() - self.startDynamicPolling() - } else if let error = error { - self.errorMessage = error - } + self.handleConnectResult(ok: ok, error: error, userInitiated: true) } } } - func refreshStatus() { - bridge.refreshStatus { - self.batteryLevel = self.bridge.batteryLevel - self.batteryCharging = self.bridge.batteryCharging - self.hasDualBattery = self.bridge.hasDualBattery - self.batteryLeft = self.bridge.batteryLeft - self.batteryRight = self.bridge.batteryRight - self.batteryCase = self.bridge.batteryCase - self.eqPreset = self.bridge.eqPreset - self.clearBass = self.bridge.clearBass - self.dsee = self.bridge.dsee - self.eqBands = (0..<5).map { self.bridge.equalizerBand(at: $0) } - self.hasAutoPowerOff = self.bridge.hasAutoPowerOff - self.autoPowerOff = self.bridge.autoPowerOff - self.firmware = self.bridge.firmware ?? "" - self.codec = self.bridge.codec ?? "" - self.hasSpeakToChat = self.bridge.hasSpeakToChat - self.speakToChat = self.bridge.speakToChat - self.hasAdaptiveVolume = self.bridge.hasAdaptiveVolume - self.adaptiveVolume = self.bridge.adaptiveVolume + func disconnect() { + stopTimers() + bridge.disconnect() + connectionState = .disconnected + } + + func handleConnectResult(ok: Bool, error: String?, userInitiated: Bool) { + guard ok else { + connectionState = .disconnected + if userInitiated, let error = error { errorMessage = error } + return } + connectionState = .connected + syncFromBridge() + bridge.refreshStatus { [weak self] in self?.syncFromBridge() } // called after reads, then after probes + startTimers() + } + + // The control link dropped on its own (idle power-save). Task 7 adds the automatic reconnection here. + func linkLost() { + stopTimers() + connectionState = .disconnected + } + + // MARK: - Actions + + func setMode(_ newMode: SHCAmbientMode) { + mode = newMode + pollGuard.userChanged(.ambient) + pushAmbient() + } + + func setLevel(_ level: Int, final: Bool) { + ambientLevel = level + pollGuard.userChanged(.ambient) + if mode == .ambientSound && levelThrottle.shouldSend(final: final) { pushAmbient() } + } + + func setFocusOnVoice(_ on: Bool) { + focusOnVoice = on + pollGuard.userChanged(.ambient) + pushAmbient() + } + + func setEqualizerPreset(_ preset: Int) { + eqPreset = preset + bridge.setEqualizerPreset(preset) { [weak self] ok, error in self?.finish(ok, error) } + } + + func setEqualizerBand(_ index: Int, value: Int, final: Bool) { + guard eqBands.indices.contains(index) else { return } + eqBands[index] = value + eqPreset = 0xA0 + if eqThrottle.shouldSend(final: final) { pushCustomEqualizer() } + } + + func setClearBass(_ value: Int, final: Bool) { + clearBass = value + eqPreset = 0xA0 + if eqThrottle.shouldSend(final: final) { pushCustomEqualizer() } + } + + func resetEqualizer() { + eqBands = Array(repeating: 0, count: eqBands.count) + clearBass = 0 + eqPreset = 0xA0 + pushCustomEqualizer() + } + + func setDsee(_ on: Bool) { + dsee = on + bridge.setDsee(on) { [weak self] ok, error in self?.finish(ok, error) } } func setAutoPowerOff(_ index: Int) { autoPowerOff = index - errorMessage = nil - bridge.setAutoPowerOff(index) { ok, error in if !ok, let e = error { self.errorMessage = e } } + bridge.setAutoPowerOff(index) { [weak self] ok, error in self?.finish(ok, error) } } func setSpeakToChat(_ on: Bool) { speakToChat = on - errorMessage = nil - bridge.setSpeakToChat(on) { ok, error in if !ok, let e = error { self.errorMessage = e } } + bridge.setSpeakToChat(on) { [weak self] ok, error in self?.finish(ok, error) } } func setAdaptiveVolume(_ on: Bool) { adaptiveVolume = on - errorMessage = nil - bridge.setAdaptiveVolume(on) { ok, error in if !ok, let e = error { self.errorMessage = e } } - } - - // Poll the button-changeable state so the app stays in sync when you use the headphone's own controls. - private func startDynamicPolling() { - stopDynamicPolling() - dynamicTimer = Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { [weak self] _ in - guard let self = self, self.connected else { return } - self.bridge.refreshDynamic { - self.mode = self.bridge.mode - let level = self.bridge.ambientLevel - if level > 0 { self.ambientLevel = level } - self.eqPreset = self.bridge.eqPreset - self.clearBass = self.bridge.clearBass - self.dsee = self.bridge.dsee - self.eqBands = (0..<5).map { self.bridge.equalizerBand(at: $0) } - } - } + bridge.setAdaptiveVolume(on) { [weak self] ok, error in self?.finish(ok, error) } } - private func stopDynamicPolling() { - dynamicTimer?.invalidate() - dynamicTimer = nil + func showError(_ message: String) { + errorMessage = message } - func setEqualizer(_ preset: Int) { - eqPreset = preset - errorMessage = nil - bridge.setEqualizerPreset(preset) { ok, error in - if !ok, let error = error { self.errorMessage = error } + private func pushAmbient() { + bridge.applyMode(mode, level: ambientLevel, focusVoice: focusOnVoice) { [weak self] ok, error in + self?.finish(ok, error) } } - // Manual EQ (preset byte 0xA0 = 160). Called as the user drags a band or clear-bass slider. - func applyCustomEq() { - eqPreset = 0xA0 - errorMessage = nil - bridge.setCustomEqualizerBass(clearBass, bands: eqBands.map { NSNumber(value: $0) }) { ok, error in - if !ok, let error = error { self.errorMessage = error } + private func pushCustomEqualizer() { + bridge.setCustomEqualizerBass(clearBass, bands: eqBands.map { NSNumber(value: $0) }) { [weak self] ok, error in + self?.finish(ok, error) } } - func setDsee(_ on: Bool) { - dsee = on - errorMessage = nil - bridge.setDsee(on) { ok, error in - if !ok, let error = error { self.errorMessage = error } - } + private func finish(_ ok: Bool, _ error: String?) { + errorMessage = ok ? nil : error } - func disconnect() { - stopWatchingConnection() - stopDynamicPolling() - bridge.disconnect() - connected = false - deviceName = "" - } - - // The headset can drop the RFCOMM link on its own (idle power-save). Poll so the UI reflects reality - // instead of showing a stale "Connected" state. - private func startWatchingConnection() { - stopWatchingConnection() - pollTimer = Timer.scheduledTimer(withTimeInterval: 1.5, repeats: true) { [weak self] _ in - guard let self = self else { return } - if self.connected && !self.bridge.connected { - self.connected = false - self.deviceName = "" - self.errorMessage = NSLocalizedString("Headphones disconnected.", comment: "") - self.stopWatchingConnection() - self.stopDynamicPolling() - } - } - } + // MARK: - Polling - private func stopWatchingConnection() { - pollTimer?.invalidate() - pollTimer = nil + private func startTimers() { + stopTimers() + timers = [ + repeating(every: 1.5) { [weak self] in self?.checkLink() }, + repeating(every: 2) { [weak self] in self?.pollAmbient() }, + repeating(every: 60) { [weak self] in self?.pollBattery() }, + ] } - func setMode(_ newMode: SHCAmbientMode) { - mode = newMode - pushState() + private func stopTimers() { + timers.forEach { $0.invalidate() } + timers = [] } - func setLevel(_ level: Int) { - ambientLevel = level - if mode == .ambientSound { pushState() } + // Added in .common mode so they keep firing while the menu is open (menus run the event-tracking mode). + private func repeating(every interval: TimeInterval, _ block: @escaping () -> Void) -> Timer { + let timer = Timer(timeInterval: interval, repeats: true) { _ in block() } + RunLoop.main.add(timer, forMode: .common) + return timer } - func setFocusOnVoice(_ on: Bool) { - focusOnVoice = on - pushState() + private func checkLink() { + if connected && !bridge.connected { linkLost() } } - private func pushState() { - errorMessage = nil - bridge.applyMode(mode, level: ambientLevel, focusVoice: focusOnVoice) { ok, error in - if ok { - self.syncFromBridge() - } else if let error = error { - self.errorMessage = error - } + // Follows the headset's own NC button, unless the user just changed the mode from the menu. + private func pollAmbient() { + guard connected, pollGuard.shouldAcceptPoll(for: .ambient) else { return } + bridge.refreshDynamic { [weak self] in + guard let self = self, self.pollGuard.shouldAcceptPoll(for: .ambient) else { return } + self.readAmbientFromBridge() } } + private func pollBattery() { + guard connected else { return } + bridge.refreshBattery { [weak self] in self?.readBatteryFromBridge() } + } + + // MARK: - Reading the bridge + private func syncFromBridge() { - connected = bridge.connected - deviceName = bridge.deviceName ?? "" - deviceMac = bridge.deviceMac ?? "" + deviceName = bridge.deviceName ?? deviceName + deviceMac = bridge.deviceMac ?? deviceMac protocolVersion = bridge.protocolVersionString ?? "" - supportsVpt = bridge.supportsVpt - supportsEqualizer = bridge.supportsEqualizer maxAmbientLevel = bridge.maxAmbientLevel + readAmbientFromBridge() + readBatteryFromBridge() + supportsEqualizer = bridge.supportsEqualizer + equalizerWritable = bridge.equalizerWritable + eqPreset = bridge.eqPreset + eqHasClearBass = bridge.equalizerHasClearBass + clearBass = bridge.clearBass + eqBands = (0.. 0 { ambientLevel = level } focusOnVoice = bridge.focusOnVoice - focusOnVoiceAvailable = bridge.focusOnVoiceAvailable + } + + private func readBatteryFromBridge() { + batteryLevel = bridge.batteryLevel + batteryCharging = bridge.batteryCharging + hasDualBattery = bridge.hasDualBattery + batteryLeft = bridge.batteryLeft + batteryRight = bridge.batteryRight + batteryCase = bridge.batteryCase } } diff --git a/Client/macos/StatusItemController.swift b/Client/macos/StatusItemController.swift index e35e28c..8f3dde2 100644 --- a/Client/macos/StatusItemController.swift +++ b/Client/macos/StatusItemController.swift @@ -13,9 +13,9 @@ final class StatusItemController { let image = NSImage(systemSymbolName: "headphones", accessibilityDescription: "SonyBridge") image?.isTemplate = true statusItem.button?.image = image - model.$connected + model.$connectionState .receive(on: DispatchQueue.main) - .sink { [weak self] connected in self?.statusItem.button?.appearsDisabled = !connected } + .sink { [weak self] state in self?.statusItem.button?.appearsDisabled = state != .connected } .store(in: &cancellables) } } diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index 2edc335..c9f02f8 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -12,7 +12,6 @@ "%ld%%" = "%ld %%"; /* Errors (HeadphonesBridge.mm, HeadphonesModel.swift) */ -"Headphones disconnected." = "Casque déconnecté."; "No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first." = "Aucun casque Sony connecté. Connectez d’abord votre casque dans les réglages Bluetooth de macOS."; "Connection timed out." = "Délai de connexion dépassé."; "Not connected." = "Non connecté."; From f19743c0d83eefbf063987c55cb8a2840329b88e Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 16:56:37 +0200 Subject: [PATCH 10/31] fix(bt): wait for the real ACK, ACK MDR_NO2 frames, keep 1-bit sequence numbers --- Client/BluetoothWrapper.cpp | 30 +++- Client/tests/BluetoothWrapperTests.cpp | 234 +++++++++++++++++++++++++ scripts/test.sh | 7 + 3 files changed, 264 insertions(+), 7 deletions(-) create mode 100644 Client/tests/BluetoothWrapperTests.cpp diff --git a/Client/BluetoothWrapper.cpp b/Client/BluetoothWrapper.cpp index cd3cb74..f5d5435 100644 --- a/Client/BluetoothWrapper.cpp +++ b/Client/BluetoothWrapper.cpp @@ -27,7 +27,9 @@ BluetoothWrapper& BluetoothWrapper::operator=(BluetoothWrapper&& other) noexcept int BluetoothWrapper::sendCommand(const std::vector& bytes) { std::lock_guard guard(this->_connectorMtx); - auto data = CommandSerializer::packageDataForBt(bytes, DATA_TYPE::DATA_MDR, this->_seqNumber++); + // Use the current seq, don't advance it here: the next seq comes from the device's ACK + // (_waitForAck), so if this frame goes unanswered its seq is simply reused on the next call. + auto data = CommandSerializer::packageDataForBt(bytes, DATA_TYPE::DATA_MDR, this->_seqNumber); auto bytesSent = this->_connector->send(data.data(), data.size()); this->_waitForAck(); @@ -68,7 +70,9 @@ SonyProtocolVersion BluetoothWrapper::getProtocolVersion() noexcept Buffer BluetoothWrapper::sendCommandAndReadResponse(const std::vector& bytes, unsigned char retCommandId, int retSubType) { std::lock_guard guard(this->_connectorMtx); - auto data = CommandSerializer::packageDataForBt(bytes, DATA_TYPE::DATA_MDR, this->_seqNumber++); + // Use the current seq, don't advance it here: the next seq comes from the device's ACK + // (handled below), so if this frame goes unanswered its seq is simply reused on the next call. + auto data = CommandSerializer::packageDataForBt(bytes, DATA_TYPE::DATA_MDR, this->_seqNumber); this->_connector->send(data.data(), data.size()); // The device replies with an ACK and then the RET frame; unrelated notifications may interleave. @@ -92,8 +96,19 @@ Buffer BluetoothWrapper::sendCommandAndReadResponse(const std::vector& byt void BluetoothWrapper::_waitForAck() { - auto msg = this->_readMessage(); - this->_seqNumber = msg.seqNumber; + // The device may send its own DATA_MDR notifications (already ACKed inside _readMessage) before + // the ACK for our frame arrives; skip those and keep reading until we see the actual ACK, so + // _seqNumber never gets set from an unrelated message's seq. + for (int i = 0; i < 16; i++) + { + auto msg = this->_readMessage(); + if (msg.dataType == DATA_TYPE::ACK) + { + this->_seqNumber = msg.seqNumber; + return; + } + } + throw RecoverableException("No ACK received from device", true); } CommandSerializer::Message BluetoothWrapper::_readMessage() @@ -150,9 +165,10 @@ CommandSerializer::Message BluetoothWrapper::_readMessage() auto msg = CommandSerializer::unpackBtMessage(msgBytes); - // The device retransmits any DATA_MDR frame it sends until the host ACKs it. The ack carries the - // toggled 1-bit sequence number (1 - deviceSeq), matching the device's own ack-to-us behaviour. - if (msg.dataType == DATA_TYPE::DATA_MDR) + // The device retransmits any DATA_MDR or DATA_MDR_NO2 frame it sends until the host ACKs it (e.g. + // slider drags are echoed as DATA_MDR_NO2). The ack carries the toggled 1-bit sequence number + // (1 - deviceSeq), matching the device's own ack-to-us behaviour. + if (msg.dataType == DATA_TYPE::DATA_MDR || msg.dataType == DATA_TYPE::DATA_MDR_NO2) { auto ack = CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, (unsigned char)(1 - msg.seqNumber)); this->_connector->send(ack.data(), ack.size()); diff --git a/Client/tests/BluetoothWrapperTests.cpp b/Client/tests/BluetoothWrapperTests.cpp new file mode 100644 index 0000000..2147578 --- /dev/null +++ b/Client/tests/BluetoothWrapperTests.cpp @@ -0,0 +1,234 @@ +#include "BluetoothWrapper.h" +#include "CommandSerializer.h" +#include "IBluetoothConnector.h" +#include "Exceptions.h" +#include +#include +#include +#include +#include + +// Minimal test runner (no framework). Exit code 1 on any failure. +static int failures = 0; +#define CHECK(cond) do { if (!(cond)) { failures++; std::printf("FAIL %s:%d: %s\n", __FILE__, __LINE__, #cond); } } while (0) + +static Buffer bytes(std::initializer_list values) +{ + Buffer b; + for (int v : values) b.push_back((char)v); + return b; +} + +// Records every frame handed to send() and hands back scripted incoming frames one whole frame per +// recv() call. When the script is exhausted, recv() throws like the real macOS connector does after +// its 2.5s timeout. +class FakeBluetoothConnector : public IBluetoothConnector +{ +public: + std::vector sentFrames; + std::deque incomingFrames; + + int send(char* buf, size_t length) noexcept(false) override + { + this->sentFrames.emplace_back(buf, buf + length); + return static_cast(length); + } + + int recv(char* buf, size_t length) noexcept(false) override + { + if (this->incomingFrames.empty()) + { + throw RecoverableException("recv timed out", false); + } + auto frame = this->incomingFrames.front(); + this->incomingFrames.pop_front(); + if (frame.size() > length) + { + throw std::runtime_error("scripted frame too large for buffer"); + } + std::copy(frame.begin(), frame.end(), buf); + return static_cast(frame.size()); + } + + void connect(const std::string&) noexcept(false) override {} + void disconnect() noexcept override {} + bool isConnected() noexcept override { return true; } + std::vector getConnectedDevices() override { return {}; } + SonyProtocolVersion getProtocolVersion() noexcept override { return SonyProtocolVersion::V1; } +}; + +// Decodes a frame previously recorded by FakeBluetoothConnector::send (includes START_MARKER/END_MARKER). +static CommandSerializer::Message unpackSentFrame(const Buffer& frame) +{ + return CommandSerializer::unpackBtMessage(Buffer(frame.begin() + 1, frame.end() - 1)); +} + +static void testNotificationBeforeAck() +{ + auto fakeOwned = std::make_unique(); + FakeBluetoothConnector* fake = fakeOwned.get(); + BluetoothWrapper wrapper(std::move(fakeOwned)); + + // Device sends its own DATA_MDR notification (seq 0) before ACKing (seq 1) the host's frame. + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt( + bytes({ 0x69, 0x19, 0x01, 0x01, 0x01, 0x00, 0x0a, 0x00, 0x00 }), DATA_TYPE::DATA_MDR, 0)); + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 1)); + + wrapper.sendCommand(bytes({ 0x68, 0x17, 0x01, 0x01, 0x01, 0x00, 0x0a })); + + // First sent frame is the command itself (seq 0); the second must be the host's ACK for the + // notification (ACK type, seq = 1 - notification's seq = 1). + CHECK(fake->sentFrames.size() >= 2); + auto firstMsg = unpackSentFrame(fake->sentFrames[0]); + CHECK(firstMsg.dataType == DATA_TYPE::DATA_MDR && firstMsg.seqNumber == 0); + auto ackMsg = unpackSentFrame(fake->sentFrames[1]); + CHECK(ackMsg.dataType == DATA_TYPE::ACK && ackMsg.seqNumber == 1); + + // Next sendCommand must use seq 1 (from the ACK), not repeat/skip because of the notification. + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 0)); + wrapper.sendCommand(bytes({ 0x68, 0x17, 0x01, 0x01, 0x01, 0x00, 0x0b })); + + CHECK(fake->sentFrames.size() >= 3); + auto secondMsg = unpackSentFrame(fake->sentFrames.back()); + CHECK(secondMsg.dataType == DATA_TYPE::DATA_MDR && secondMsg.seqNumber == 1); +} + +static void testPlainAcksToggleSeq() +{ + auto fakeOwned = std::make_unique(); + FakeBluetoothConnector* fake = fakeOwned.get(); + BluetoothWrapper wrapper(std::move(fakeOwned)); + + // Three round trips: seq goes 0 -> 1 -> 0, each answered by an ACK carrying 1 - sent seq. + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 1)); + wrapper.sendCommand(bytes({ 0x67, 0x17 })); + CHECK(unpackSentFrame(fake->sentFrames[0]).seqNumber == 0); + + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 0)); + wrapper.sendCommand(bytes({ 0x67, 0x17 })); + CHECK(unpackSentFrame(fake->sentFrames[1]).seqNumber == 1); + + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 1)); + wrapper.sendCommand(bytes({ 0x67, 0x17 })); + CHECK(unpackSentFrame(fake->sentFrames[2]).seqNumber == 0); +} + +static void testNoAckThrows() +{ + auto fakeOwned = std::make_unique(); + BluetoothWrapper wrapper(std::move(fakeOwned)); + + // No scripted incoming frames at all: recv() throws immediately, sendCommand must not hang. + bool threw = false; + try + { + wrapper.sendCommand(bytes({ 0x67, 0x17 })); + } + catch (const std::exception&) + { + threw = true; + } + CHECK(threw); +} + +static void testDataMdrNo2IsAcked() +{ + auto fakeOwned = std::make_unique(); + FakeBluetoothConnector* fake = fakeOwned.get(); + BluetoothWrapper wrapper(std::move(fakeOwned)); + + // Device sends a DATA_MDR_NO2 frame (seq 0, e.g. a slider echo) before ACKing (seq 1) the host's frame. + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt( + bytes({ 0x25, 0x02, 0x01 }), DATA_TYPE::DATA_MDR_NO2, 0)); + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 1)); + + wrapper.sendCommand(bytes({ 0x68, 0x17, 0x01, 0x01, 0x01, 0x00, 0x0a })); + + // First sent frame is the command itself (seq 0); the second must be the host's ACK for the + // DATA_MDR_NO2 frame (ACK type, seq = 1 - frame's seq = 1). + CHECK(fake->sentFrames.size() >= 2); + auto firstMsg = unpackSentFrame(fake->sentFrames[0]); + CHECK(firstMsg.dataType == DATA_TYPE::DATA_MDR && firstMsg.seqNumber == 0); + if (fake->sentFrames.size() >= 2) + { + auto ackMsg = unpackSentFrame(fake->sentFrames[1]); + CHECK(ackMsg.dataType == DATA_TYPE::ACK && ackMsg.seqNumber == 1); + } + + // Next sendCommand must use seq 1 (from the device's real ACK), not skip because of the NO2 frame. + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 0)); + wrapper.sendCommand(bytes({ 0x68, 0x17, 0x01, 0x01, 0x01, 0x00, 0x0b })); + + CHECK(fake->sentFrames.size() >= 3); + auto secondMsg = unpackSentFrame(fake->sentFrames.back()); + CHECK(secondMsg.dataType == DATA_TYPE::DATA_MDR && secondMsg.seqNumber == 1); +} + +static void testSeqStays1BitAfterTimeout() +{ + auto fakeOwned = std::make_unique(); + FakeBluetoothConnector* fake = fakeOwned.get(); + BluetoothWrapper wrapper(std::move(fakeOwned)); + + // Command #1: seq 0, ACKed with seq 1. + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 1)); + wrapper.sendCommand(bytes({ 0x67, 0x17 })); + CHECK(unpackSentFrame(fake->sentFrames[0]).seqNumber == 0); + + // Command #2: seq 1, no ACK arrives (recv throws) -> sendCommand must throw. + bool threw = false; + try + { + wrapper.sendCommand(bytes({ 0x67, 0x17 })); + } + catch (const std::exception&) + { + threw = true; + } + CHECK(threw); + CHECK(unpackSentFrame(fake->sentFrames[1]).seqNumber == 1); + + // Command #3 must reuse seq 1 (the unanswered frame's seq), never advance to 2. + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 0)); + wrapper.sendCommand(bytes({ 0x67, 0x17 })); + CHECK(unpackSentFrame(fake->sentFrames[2]).seqNumber == 1); +} + +static void testSendCommandAndReadResponseSeqStays1Bit() +{ + auto fakeOwned = std::make_unique(); + FakeBluetoothConnector* fake = fakeOwned.get(); + BluetoothWrapper wrapper(std::move(fakeOwned)); + + // No scripted incoming frames: the response never arrives, sendCommandAndReadResponse throws. + bool threw = false; + try + { + wrapper.sendCommandAndReadResponse(bytes({ 0x67, 0x17 }), 0x69); + } + catch (const std::exception&) + { + threw = true; + } + CHECK(threw); + CHECK(unpackSentFrame(fake->sentFrames[0]).seqNumber == 0); + + // Next command must reuse seq 0 (the unanswered frame's seq), not advance to 1. + fake->incomingFrames.push_back(CommandSerializer::packageDataForBt({}, DATA_TYPE::ACK, 1)); + wrapper.sendCommand(bytes({ 0x67, 0x17 })); + CHECK(unpackSentFrame(fake->sentFrames[1]).seqNumber == 0); +} + +int main() +{ + testNotificationBeforeAck(); + testPlainAcksToggleSeq(); + testNoAckThrows(); + testDataMdrNo2IsAcked(); + testSeqStays1BitAfterTimeout(); + testSendCommandAndReadResponseSeqStays1Bit(); + + if (failures) { std::printf("BluetoothWrapperTests: %d failure(s)\n", failures); return 1; } + std::printf("BluetoothWrapperTests: all passed\n"); + return 0; +} diff --git a/scripts/test.sh b/scripts/test.sh index dee4369..980624d 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -23,5 +23,12 @@ clang++ -target "$TARGET" -isysroot "$SDK" -std=c++17 -I "$ROOT/Client" \ -o "$OUT/ProtocolParsersTests" "$OUT/ProtocolParsersTests" +echo "== BluetoothWrapperTests" +clang++ -target "$TARGET" -isysroot "$SDK" -std=c++17 -I "$ROOT/Client" \ + "$ROOT/Client/tests/BluetoothWrapperTests.cpp" "$ROOT/Client/BluetoothWrapper.cpp" \ + "$ROOT/Client/CommandSerializer.cpp" "$ROOT/Client/ByteMagic.cpp" \ + -o "$OUT/BluetoothWrapperTests" +"$OUT/BluetoothWrapperTests" + echo "== Localization" python3 "$ROOT/scripts/check_localization.py" From 06e6325bc042708a4604145a623847c3c81598ee Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 16:56:41 +0200 Subject: [PATCH 11/31] feat(macos): SwiftUI menu rows (header, level slider, switches, equalizer) --- Client/macos/HeadphonesMenu.swift | 16 ++--- Client/macos/MenuRows/AmbientLevelRow.swift | 29 ++++++++ Client/macos/MenuRows/EqualizerRow.swift | 80 +++++++++++++++++++++ Client/macos/MenuRows/HeaderRow.swift | 65 +++++++++++++++++ Client/macos/MenuRows/ToggleRow.swift | 26 +++++++ Client/macos/MenuSupport.swift | 18 +++++ Client/macos/fr.lproj/Localizable.strings | 6 ++ 7 files changed, 232 insertions(+), 8 deletions(-) create mode 100644 Client/macos/MenuRows/AmbientLevelRow.swift create mode 100644 Client/macos/MenuRows/EqualizerRow.swift create mode 100644 Client/macos/MenuRows/HeaderRow.swift create mode 100644 Client/macos/MenuRows/ToggleRow.swift diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index 7fb185b..db836ee 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -6,7 +6,6 @@ final class HeadphonesMenu { let menu = NSMenu() private let model: HeadphonesModel private var cancellables = Set() - private let headerItem = NSMenuItem() private var modeItems: [(SHCAmbientMode, NSMenuItem)] = [] private var connectItem: ActionMenuItem! @@ -14,8 +13,7 @@ final class HeadphonesMenu { self.model = model menu.autoenablesItems = false - headerItem.isEnabled = false - menu.addItem(headerItem) + menu.addItem(hostingMenuItem { HeaderRow(model: model) }) menu.addItem(.separator()) menu.addItem(sectionHeader(tr("Ambient Sound Control"))) @@ -26,6 +24,13 @@ final class HeadphonesMenu { let item = ActionMenuItem(title) { [weak model] in model?.setMode(mode) } modeItems.append((mode, item)) menu.addItem(item) + if mode == .ambientSound { + menu.addItem(hostingMenuItem { AmbientLevelRow(model: model) }) + menu.addItem(hostingMenuItem { + ToggleRow(model: model, title: tr("Focus on Voice"), indent: MenuMetrics.indent, + isOn: { $0.focusOnVoice }, set: { $0.setFocusOnVoice($1) }) + }) + } } menu.addItem(.separator()) @@ -44,11 +49,6 @@ final class HeadphonesMenu { private func update() { let connected = model.connected - var header = model.deviceName.isEmpty ? "SonyBridge" : model.deviceName - if connected && model.batteryLevel >= 0 { - header += " — " + String(format: tr("%ld%%"), model.batteryLevel) - } - headerItem.title = header for (mode, item) in modeItems { item.state = connected && model.mode == mode ? .on : .off item.isEnabled = connected diff --git a/Client/macos/MenuRows/AmbientLevelRow.swift b/Client/macos/MenuRows/AmbientLevelRow.swift new file mode 100644 index 0000000..9f33137 --- /dev/null +++ b/Client/macos/MenuRows/AmbientLevelRow.swift @@ -0,0 +1,29 @@ +import SwiftUI + +// Ambient Sound level slider (1…max), shown under "Son ambiant". +struct AmbientLevelRow: View { + @ObservedObject var model: HeadphonesModel + + var body: some View { + HStack(spacing: 8) { + Slider( + value: Binding(get: { Double(model.ambientLevel) }, + set: { model.setLevel(Int($0.rounded()), final: false) }), + in: 1...Double(max(model.maxAmbientLevel, 2)), + step: 1, + onEditingChanged: { editing in + if !editing { model.setLevel(model.ambientLevel, final: true) } + } + ) + .controlSize(.small) + Text(verbatim: "\(model.ambientLevel)") + .font(.system(size: 11, weight: .medium).monospacedDigit()) + .foregroundColor(.secondary) + .frame(width: 20, alignment: .trailing) + } + .padding(.leading, MenuMetrics.indent) + .padding(.trailing, MenuMetrics.leading) + .padding(.vertical, 2) + .disabled(!model.connected) + } +} diff --git a/Client/macos/MenuRows/EqualizerRow.swift b/Client/macos/MenuRows/EqualizerRow.swift new file mode 100644 index 0000000..e08ddd7 --- /dev/null +++ b/Client/macos/MenuRows/EqualizerRow.swift @@ -0,0 +1,80 @@ +import AppKit +import SwiftUI + +// Manual equalizer: 10 vertical sliders (WH-1000XM6) or Clear Bass + 5 (older models). Active only on "Manual" +// and when the device's write format is verified (model.equalizerWritable). +struct EqualizerRow: View { + @ObservedObject var model: HeadphonesModel + + private static let labels5 = ["400", "1k", "2.5k", "6.3k", "16k"] + private static let labels10 = ["31", "63", "125", "250", "500", "1k", "2k", "4k", "8k", "16k"] + + private var editable: Bool { model.connected && model.equalizerWritable && model.eqPreset == 0xA0 } + private var labels: [String] { model.eqBands.count == 10 ? Self.labels10 : Self.labels5 } + + var body: some View { + HStack(alignment: .top, spacing: 0) { + if model.eqHasClearBass { + band(tr("Clear Bass"), value: model.clearBass) { model.setClearBass($0, final: $1) } + } + ForEach(Array(model.eqBands.enumerated()), id: \.offset) { index, value in + band(index < labels.count ? labels[index] : "", value: value) { + model.setEqualizerBand(index, value: $0, final: $1) + } + } + } + .padding(.horizontal, MenuMetrics.leading) + .padding(.vertical, 6) + } + + private func band(_ label: String, value: Int, onChange: @escaping (Int, Bool) -> Void) -> some View { + VStack(spacing: 3) { + VerticalBandSlider(value: value, enabled: editable, onChange: onChange) + .frame(width: 20, height: 72) + Text(verbatim: label) + .font(.system(size: 9)) + .foregroundColor(.secondary) + .lineLimit(1) + } + .frame(maxWidth: .infinity) + } +} + +// A native vertical NSSlider in -10…10. onChange(value, final): final is true on mouse-up. +struct VerticalBandSlider: NSViewRepresentable { + let value: Int + let enabled: Bool + let onChange: (Int, Bool) -> Void + + func makeCoordinator() -> Coordinator { + Coordinator(onChange: onChange) + } + + func makeNSView(context: Context) -> NSSlider { + let slider = NSSlider(value: Double(value), minValue: -10, maxValue: 10, + target: context.coordinator, action: #selector(Coordinator.changed(_:))) + slider.isVertical = true + slider.isContinuous = true + slider.controlSize = .small + return slider + } + + func updateNSView(_ slider: NSSlider, context: Context) { + context.coordinator.onChange = onChange + if Int(slider.doubleValue.rounded()) != value { slider.doubleValue = Double(value) } + slider.isEnabled = enabled + } + + final class Coordinator: NSObject { + var onChange: (Int, Bool) -> Void + + init(onChange: @escaping (Int, Bool) -> Void) { + self.onChange = onChange + } + + @objc func changed(_ sender: NSSlider) { + let final = NSApp.currentEvent?.type == .leftMouseUp + onChange(Int(sender.doubleValue.rounded()), final) + } + } +} diff --git a/Client/macos/MenuRows/HeaderRow.swift b/Client/macos/MenuRows/HeaderRow.swift new file mode 100644 index 0000000..17199f5 --- /dev/null +++ b/Client/macos/MenuRows/HeaderRow.swift @@ -0,0 +1,65 @@ +import SwiftUI + +// Menu header: headset name, connection state + codec, battery. +struct HeaderRow: View { + @ObservedObject var model: HeadphonesModel + + var body: some View { + HStack(alignment: .center, spacing: 8) { + VStack(alignment: .leading, spacing: 1) { + Text(model.deviceName.isEmpty ? "SonyBridge" : model.deviceName) + .font(.system(size: 13, weight: .semibold)) + Text(statusLine) + .font(.system(size: 11)) + .foregroundColor(.secondary) + } + Spacer(minLength: 8) + if model.connected { battery } + } + .padding(.horizontal, MenuMetrics.leading) + .padding(.vertical, 4) + } + + private var statusLine: String { + switch model.connectionState { + case .connecting: return tr("Connecting…") + case .disconnected: return tr("Not connected") + case .connected: return model.codec.isEmpty ? tr("Connected") : "\(tr("Connected")) · \(model.codec)" + } + } + + @ViewBuilder private var battery: some View { + if model.hasDualBattery { + Text(dualBatteryText) + .font(.system(size: 12)) + .foregroundColor(.secondary) + } else if model.batteryLevel >= 0 { + HStack(spacing: 4) { + Text(String(format: tr("%ld%%"), model.batteryLevel)) + .font(.system(size: 12)) + .foregroundColor(.secondary) + Image(systemName: batterySymbol) + .foregroundColor(model.batteryLevel <= 20 && !model.batteryCharging ? .red : .secondary) + } + } + } + + private var dualBatteryText: String { + var text = String(format: tr("L %ld%% R %ld%%"), model.batteryLeft, model.batteryRight) + if model.batteryCase >= 0 { + text += " " + String(format: tr("Case %ld%%"), model.batteryCase) + } + return text + } + + private var batterySymbol: String { + if model.batteryCharging { return "battery.100.bolt" } + switch model.batteryLevel { + case ..<13: return "battery.0" + case ..<38: return "battery.25" + case ..<63: return "battery.50" + case ..<88: return "battery.75" + default: return "battery.100" + } + } +} diff --git a/Client/macos/MenuRows/ToggleRow.swift b/Client/macos/MenuRows/ToggleRow.swift new file mode 100644 index 0000000..f44513c --- /dev/null +++ b/Client/macos/MenuRows/ToggleRow.swift @@ -0,0 +1,26 @@ +import SwiftUI + +// A title with a switch on the right (Focus on Voice, DSEE, Speak-to-Chat, Adaptive Volume). +struct ToggleRow: View { + @ObservedObject var model: HeadphonesModel + let title: String + var indent: CGFloat = MenuMetrics.leading + let isOn: (HeadphonesModel) -> Bool + let set: (HeadphonesModel, Bool) -> Void + + var body: some View { + HStack { + Text(title).font(.system(size: 13)) + Spacer(minLength: 8) + Toggle("", isOn: Binding(get: { isOn(model) }, set: { set(model, $0) })) + .labelsHidden() + .toggleStyle(.switch) + .controlSize(.mini) + } + .padding(.leading, indent) + .padding(.trailing, MenuMetrics.leading) + .padding(.vertical, 2) + .disabled(!model.connected) + .opacity(model.connected ? 1 : 0.5) + } +} diff --git a/Client/macos/MenuSupport.swift b/Client/macos/MenuSupport.swift index f70dbfe..b09e853 100644 --- a/Client/macos/MenuSupport.swift +++ b/Client/macos/MenuSupport.swift @@ -1,4 +1,5 @@ import AppKit +import SwiftUI // A menu item that runs a closure (NSMenuItem only supports target/selector natively). final class ActionMenuItem: NSMenuItem { @@ -29,3 +30,20 @@ func sectionHeader(_ title: String) -> NSMenuItem { item.isEnabled = false return item } + +enum MenuMetrics { + static let width: CGFloat = 280 // main menu rows + static let equalizerWidth: CGFloat = 300 // equalizer submenu + static let leading: CGFloat = 14 // lines up with native item titles + static let indent: CGFloat = 36 // rows nested under "Son ambiant" +} + +// Wraps a SwiftUI view in a menu item, for rows a plain NSMenuItem can't express (sliders, switches, header). +// Rows keep a fixed height: optional lines (the error line, notes) are separate plain items instead. +func hostingMenuItem(width: CGFloat = MenuMetrics.width, @ViewBuilder _ content: () -> Content) -> NSMenuItem { + let host = NSHostingView(rootView: content().frame(width: width, alignment: .leading)) + host.frame = NSRect(origin: .zero, size: host.fittingSize) + let item = NSMenuItem() + item.view = host + return item +} diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index c9f02f8..de9c1a6 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -10,6 +10,12 @@ "Disconnect" = "Déconnecter"; "Quit SonyBridge" = "Quitter SonyBridge"; "%ld%%" = "%ld %%"; +"Not connected" = "Non connecté"; +"Connected" = "Connecté"; +"L %ld%% R %ld%%" = "G %ld %% D %ld %%"; +"Case %ld%%" = "Boîtier %ld %%"; +"Clear Bass" = "Clear Bass"; +"Focus on Voice" = "Focalisation sur la voix"; /* Errors (HeadphonesBridge.mm, HeadphonesModel.swift) */ "No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first." = "Aucun casque Sony connecté. Connectez d’abord votre casque dans les réglages Bluetooth de macOS."; From e0beefbecfecbcfcbdfcb0111f97c3aa82587b4c Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 10 Sep 2026 17:10:18 +0200 Subject: [PATCH 12/31] feat(macos): full headphones menu with per-mode status icon --- Client/macos/HeadphonesMenu.swift | 180 ++++++++++++++++++++-- Client/macos/MenuSupport.swift | 14 ++ Client/macos/StatusIcon.swift | 20 +++ Client/macos/StatusItemController.swift | 13 +- Client/macos/fr.lproj/Localizable.strings | 27 ++++ 5 files changed, 232 insertions(+), 22 deletions(-) create mode 100644 Client/macos/StatusIcon.swift diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index db836ee..c4c717e 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -1,62 +1,210 @@ import AppKit import Combine -// The status item's menu. Minimal for now: header, modes, connect/disconnect, quit. +// The status item's menu (spec §4). Built once; update() refreshes states, visibility and values in place, +// including while the menu is open. final class HeadphonesMenu { let menu = NSMenu() private let model: HeadphonesModel private var cancellables = Set() + + private let errorItem = NSMenuItem() private var modeItems: [(SHCAmbientMode, NSMenuItem)] = [] - private var connectItem: ActionMenuItem! + private var ambientRows: [NSMenuItem] = [] // level slider + focus on voice + private let equalizerItem = NSMenuItem() + private var presetItems: [(Int, NSMenuItem)] = [] + private let equalizerNoteItem = NSMenuItem() + private var equalizerResetItem = NSMenuItem() + private var dseeItem = NSMenuItem() + private var speakToChatItem = NSMenuItem() + private var adaptiveVolumeItem = NSMenuItem() + private let autoPowerOffItem = NSMenuItem() + private var autoPowerOffItems: [NSMenuItem] = [] + private let aboutItem = NSMenuItem() + private let aboutMenu = NSMenu() + private var aboutValues: [String] = [] // cache to avoid rebuilding About menu on every slider drag + private var connectItem = NSMenuItem() + + private static var presets: [(Int, String)] { + [(0x00, tr("Off")), (0x10, tr("Bright")), (0x11, tr("Excited")), (0x12, tr("Mellow")), + (0x13, tr("Relaxed")), (0x14, tr("Vocal")), (0x15, tr("Treble")), (0x16, tr("Bass")), + (0x17, tr("Speech")), (0xA0, tr("Manual"))] + } + + // Index = the bridge's auto power-off option (0=Off, 1=5 min, 2=30 min, 3=1 h, 4=3 h, 5=when taken off). + private static var autoPowerOffOptions: [String] { + [tr("Off"), tr("5 min"), tr("30 min"), tr("1 hour"), tr("3 hours"), tr("When taken off")] + } init(model: HeadphonesModel) { self.model = model menu.autoenablesItems = false menu.addItem(hostingMenuItem { HeaderRow(model: model) }) + errorItem.isEnabled = false + menu.addItem(errorItem) + menu.addItem(.separator()) + addAmbientSection() + menu.addItem(.separator()) + addSoundSection() menu.addItem(.separator()) + addAppSection() + + // objectWillChange fires before the new value is stored; hopping to the main queue reads the new state. + model.objectWillChange + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.update() } + .store(in: &cancellables) + update() + } + // MARK: - Building + + private func addAmbientSection() { menu.addItem(sectionHeader(tr("Ambient Sound Control"))) let modes: [(SHCAmbientMode, String)] = [ (.noiseCanceling, tr("Noise Canceling")), (.ambientSound, tr("Ambient Sound")), (.off, tr("Off")), ] for (mode, title) in modes { let item = ActionMenuItem(title) { [weak model] in model?.setMode(mode) } + item.image = NSImage(systemSymbolName: StatusIcon.symbolName(for: mode), accessibilityDescription: nil) modeItems.append((mode, item)) menu.addItem(item) if mode == .ambientSound { - menu.addItem(hostingMenuItem { AmbientLevelRow(model: model) }) - menu.addItem(hostingMenuItem { - ToggleRow(model: model, title: tr("Focus on Voice"), indent: MenuMetrics.indent, - isOn: { $0.focusOnVoice }, set: { $0.setFocusOnVoice($1) }) - }) + ambientRows = [ + hostingMenuItem { AmbientLevelRow(model: model) }, + hostingMenuItem { + ToggleRow(model: model, title: tr("Focus on Voice"), indent: MenuMetrics.indent, + isOn: { $0.focusOnVoice }, set: { $0.setFocusOnVoice($1) }) + }, + ] + ambientRows.forEach { menu.addItem($0) } } } - menu.addItem(.separator()) + } + + private func addSoundSection() { + let equalizerMenu = NSMenu() + equalizerMenu.autoenablesItems = false + for (code, title) in Self.presets { + let item = ActionMenuItem(title) { [weak model] in model?.setEqualizerPreset(code) } + presetItems.append((code, item)) + equalizerMenu.addItem(item) + } + equalizerMenu.addItem(.separator()) + equalizerMenu.addItem(hostingMenuItem(width: MenuMetrics.equalizerWidth) { EqualizerRow(model: model) }) + equalizerNoteItem.title = tr("Manual equalizer coming soon for this model") + equalizerNoteItem.isEnabled = false + equalizerMenu.addItem(equalizerNoteItem) + equalizerResetItem = ActionMenuItem(tr("Reset")) { [weak model] in model?.resetEqualizer() } + equalizerMenu.addItem(equalizerResetItem) + equalizerItem.submenu = equalizerMenu + menu.addItem(equalizerItem) + + dseeItem = hostingMenuItem { + ToggleRow(model: model, title: tr("DSEE"), isOn: { $0.dsee }, set: { $0.setDsee($1) }) + } + speakToChatItem = hostingMenuItem { + ToggleRow(model: model, title: tr("Speak-to-Chat"), isOn: { $0.speakToChat }, set: { $0.setSpeakToChat($1) }) + } + adaptiveVolumeItem = hostingMenuItem { + ToggleRow(model: model, title: tr("Adaptive Volume"), isOn: { $0.adaptiveVolume }, set: { $0.setAdaptiveVolume($1) }) + } + for item in [dseeItem, speakToChatItem, adaptiveVolumeItem] { menu.addItem(item) } + + let autoPowerOffMenu = NSMenu() + autoPowerOffMenu.autoenablesItems = false + for (index, title) in Self.autoPowerOffOptions.enumerated() { + let item = ActionMenuItem(title) { [weak model] in model?.setAutoPowerOff(index) } + autoPowerOffItems.append(item) + autoPowerOffMenu.addItem(item) + } + autoPowerOffItem.submenu = autoPowerOffMenu + menu.addItem(autoPowerOffItem) + } + private func addAppSection() { + aboutItem.title = tr("About the Headphones") + aboutMenu.autoenablesItems = false + aboutItem.submenu = aboutMenu + menu.addItem(aboutItem) connectItem = ActionMenuItem(tr("Connect…")) { [weak self] in self?.toggleConnection() } menu.addItem(connectItem) menu.addItem(.separator()) menu.addItem(ActionMenuItem(tr("Quit SonyBridge"), key: "q") { NSApp.terminate(nil) }) - - // objectWillChange fires before the new value is stored; hopping to the main queue reads the new state. - model.objectWillChange - .receive(on: DispatchQueue.main) - .sink { [weak self] _ in self?.update() } - .store(in: &cancellables) - update() } + // MARK: - Updating + private func update() { let connected = model.connected + + errorItem.isHidden = model.errorMessage == nil + errorItem.title = "⚠︎ " + (model.errorMessage ?? "") + for (mode, item) in modeItems { item.state = connected && model.mode == mode ? .on : .off item.isEnabled = connected } - connectItem.title = connected ? tr("Disconnect") : (model.connectionState == .connecting ? tr("Connecting…") : tr("Connect…")) + ambientRows.forEach { $0.isHidden = model.mode != .ambientSound } + + equalizerItem.isHidden = !model.supportsEqualizer + equalizerItem.isEnabled = connected + equalizerItem.attributedTitle = titleWithValue(tr("Equalizer"), Self.presetName(model.eqPreset)) + for (code, item) in presetItems { + item.state = model.eqPreset == code ? .on : .off + item.isEnabled = connected && model.equalizerWritable + } + equalizerNoteItem.isHidden = model.equalizerWritable || model.eqBands.isEmpty + equalizerResetItem.isEnabled = connected && model.equalizerWritable && model.eqPreset == 0xA0 + + dseeItem.isHidden = !model.supportsEqualizer + speakToChatItem.isHidden = !model.hasSpeakToChat + adaptiveVolumeItem.isHidden = !model.hasAdaptiveVolume + + let options = Self.autoPowerOffOptions + autoPowerOffItem.isHidden = !model.hasAutoPowerOff + autoPowerOffItem.isEnabled = connected + autoPowerOffItem.attributedTitle = titleWithValue( + tr("Auto Power-Off"), options.indices.contains(model.autoPowerOff) ? options[model.autoPowerOff] : "") + for (index, item) in autoPowerOffItems.enumerated() { + item.state = index == model.autoPowerOff ? .on : .off + } + + updateAbout() + aboutItem.isEnabled = connected + + switch model.connectionState { + case .connected: connectItem.title = tr("Disconnect") + case .connecting: connectItem.title = tr("Connecting…") + case .disconnected: connectItem.title = tr("Connect…") + } connectItem.isEnabled = model.connectionState != .connecting } + private func updateAbout() { + // update() runs on every model change (slider drags included); rebuild only when a value changed. + let values = [model.firmware, model.codec, model.protocolVersion, model.deviceMac] + guard values != aboutValues else { return } + aboutValues = values + + aboutMenu.removeAllItems() + let rows: [(String, String)] = [ + (tr("Firmware"), model.firmware), (tr("Codec"), model.codec), + (tr("Protocol"), model.protocolVersion), (tr("Bluetooth"), model.deviceMac), + ] + for (title, value) in rows where !value.isEmpty { + let item = NSMenuItem() + item.attributedTitle = titleWithValue(title, value) + item.isEnabled = false + aboutMenu.addItem(item) + } + } + + private static func presetName(_ code: Int) -> String { + presets.first { $0.0 == code }?.1 ?? tr("Custom") + } + private func toggleConnection() { if model.connected { model.disconnect() diff --git a/Client/macos/MenuSupport.swift b/Client/macos/MenuSupport.swift index b09e853..62c9f83 100644 --- a/Client/macos/MenuSupport.swift +++ b/Client/macos/MenuSupport.swift @@ -47,3 +47,17 @@ func hostingMenuItem(width: CGFloat = MenuMetrics.width, @ViewBui item.view = host return item } + +// "Title value": the value right-aligned in the secondary color, like "Égaliseur Graves ›". +func titleWithValue(_ title: String, _ value: String, width: CGFloat = MenuMetrics.width - 60) -> NSAttributedString { + let paragraph = NSMutableParagraphStyle() + paragraph.tabStops = [NSTextTab(textAlignment: .right, location: width)] + let font = NSFont.menuFont(ofSize: 0) + let text = NSMutableAttributedString(string: title, attributes: [.font: font, .paragraphStyle: paragraph]) + if !value.isEmpty { + text.append(NSAttributedString(string: "\t" + value, attributes: [ + .font: font, .paragraphStyle: paragraph, .foregroundColor: NSColor.secondaryLabelColor, + ])) + } + return text +} diff --git a/Client/macos/StatusIcon.swift b/Client/macos/StatusIcon.swift new file mode 100644 index 0000000..fe938bb --- /dev/null +++ b/Client/macos/StatusIcon.swift @@ -0,0 +1,20 @@ +import AppKit + +// Menu bar icon: one monochrome SF Symbol per mode, dimmed when disconnected (spec §6.6). +enum StatusIcon { + static func symbolName(for mode: SHCAmbientMode) -> String { + switch mode { + case .noiseCanceling: return "headphones.circle.fill" + case .ambientSound: return "ear.and.waveform" + default: return "headphones" + } + } + + static func image(connected: Bool, mode: SHCAmbientMode) -> NSImage? { + let name = connected ? symbolName(for: mode) : "headphones" + let image = NSImage(systemSymbolName: name, accessibilityDescription: "SonyBridge") + ?? NSImage(systemSymbolName: "headphones", accessibilityDescription: "SonyBridge") + image?.isTemplate = true // macOS tints it for light/dark menu bars + return image + } +} diff --git a/Client/macos/StatusItemController.swift b/Client/macos/StatusItemController.swift index 8f3dde2..8837309 100644 --- a/Client/macos/StatusItemController.swift +++ b/Client/macos/StatusItemController.swift @@ -1,7 +1,7 @@ import AppKit import Combine -// Owns the menu bar icon and attaches the headphones menu to it. +// Owns the menu bar icon (it follows the mode and connection state) and attaches the headphones menu to it. final class StatusItemController { private let statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength) private let headphonesMenu: HeadphonesMenu @@ -10,12 +10,13 @@ final class StatusItemController { init(model: HeadphonesModel) { headphonesMenu = HeadphonesMenu(model: model) statusItem.menu = headphonesMenu.menu - let image = NSImage(systemSymbolName: "headphones", accessibilityDescription: "SonyBridge") - image?.isTemplate = true - statusItem.button?.image = image - model.$connectionState + model.$connectionState.combineLatest(model.$mode) .receive(on: DispatchQueue.main) - .sink { [weak self] state in self?.statusItem.button?.appearsDisabled = state != .connected } + .sink { [weak self] state, mode in + let connected = state == .connected + self?.statusItem.button?.image = StatusIcon.image(connected: connected, mode: mode) + self?.statusItem.button?.appearsDisabled = !connected + } .store(in: &cancellables) } } diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index de9c1a6..a1d02c4 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -16,6 +16,33 @@ "Case %ld%%" = "Boîtier %ld %%"; "Clear Bass" = "Clear Bass"; "Focus on Voice" = "Focalisation sur la voix"; +"Equalizer" = "Égaliseur"; +"Bright" = "Brillant"; +"Excited" = "Dynamique"; +"Mellow" = "Doux"; +"Relaxed" = "Détendu"; +"Vocal" = "Voix"; +"Treble" = "Aigus"; +"Bass" = "Graves"; +"Speech" = "Parole"; +"Manual" = "Manuel"; +"Custom" = "Personnalisé"; +"Manual equalizer coming soon for this model" = "Égaliseur manuel bientôt disponible pour ce modèle"; +"Reset" = "Réinitialiser"; +"DSEE" = "DSEE"; +"Speak-to-Chat" = "Speak-to-Chat"; +"Adaptive Volume" = "Volume adaptatif"; +"Auto Power-Off" = "Arrêt automatique"; +"5 min" = "5 min"; +"30 min" = "30 min"; +"1 hour" = "1 heure"; +"3 hours" = "3 heures"; +"When taken off" = "Quand le casque est retiré"; +"About the Headphones" = "À propos du casque"; +"Firmware" = "Firmware"; +"Codec" = "Codec"; +"Protocol" = "Protocole"; +"Bluetooth" = "Bluetooth"; /* Errors (HeadphonesBridge.mm, HeadphonesModel.swift) */ "No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first." = "Aucun casque Sony connecté. Connectez d’abord votre casque dans les réglages Bluetooth de macOS."; From cda1c3e3b2d566b61d71ac103b23734bdfab62ad Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 10:34:01 +0200 Subject: [PATCH 13/31] fix(build): make run launches via open --args; sandboxed app logs to ~/Library/Logs/SonyBridge (build/app.log symlink) --- Client/macos/SonyBridgeApp.swift | 17 +++++++++++++++++ Client/macos/SonyHeadphonesClient.entitlements | 4 ++++ Makefile | 9 +++++++-- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Client/macos/SonyBridgeApp.swift b/Client/macos/SonyBridgeApp.swift index 92aab91..746d012 100644 --- a/Client/macos/SonyBridgeApp.swift +++ b/Client/macos/SonyBridgeApp.swift @@ -4,6 +4,23 @@ import AppKit @main enum SonyBridgeApp { static func main() { + // The app is sandboxed, so it can only write inside the folder allowed by the + // temporary-exception entitlement. `make run` points it at + // ~/Library/Logs/SonyBridge/app.log (allowed by that exception); `open --stderr` + // fails on recent macOS, so the path is passed as a launch argument instead. + // Redirect stderr to the log file in append mode (unbuffered for live DEBUG hex + // dumps). freopen() closes stderr before it knows whether the reopen will + // succeed, so a sandbox denial would leave stderr closed with nothing to fall + // back to; open()+dup2() only touches stderr once we know the fd is valid. + if let logPath = UserDefaults.standard.string(forKey: "SonyBridgeLogFile") { + let fd = open(logPath, O_WRONLY | O_CREAT | O_APPEND, 0o644) + if fd >= 0 { + dup2(fd, STDERR_FILENO) + close(fd) + setvbuf(stderr, nil, _IONBF, 0) + } + } + let app = NSApplication.shared let delegate = AppDelegate() app.delegate = delegate diff --git a/Client/macos/SonyHeadphonesClient.entitlements b/Client/macos/SonyHeadphonesClient.entitlements index e9da8e1..70cb01d 100644 --- a/Client/macos/SonyHeadphonesClient.entitlements +++ b/Client/macos/SonyHeadphonesClient.entitlements @@ -8,5 +8,9 @@ com.apple.security.files.user-selected.read-only + com.apple.security.temporary-exception.files.home-relative-path.read-write + + /Library/Logs/SonyBridge/ + diff --git a/Makefile b/Makefile index a50b440..b02f7de 100644 --- a/Makefile +++ b/Makefile @@ -8,9 +8,14 @@ all: build build: DEBUG_PROTOCOL=$(DEBUG) ./scripts/build.sh +LOG_FILE := $(HOME)/Library/Logs/SonyBridge/app.log + run: build - -pkill -x SonyBridge - open --stdout build/app.log --stderr build/app.log build/SonyBridge.app + -pkill -x SonyBridge; while pgrep -x SonyBridge >/dev/null; do sleep 0.2; done + @mkdir -p "$(dir $(LOG_FILE))" + @ln -sfn "$(LOG_FILE)" "$(CURDIR)/build/app.log" + @echo "=== SonyBridge session $$(date '+%Y-%m-%d %H:%M:%S') ===" >> "$(LOG_FILE)" + open "$(CURDIR)/build/SonyBridge.app" --args -SonyBridgeLogFile "$(LOG_FILE)" test: ./scripts/test.sh From cb877f7dacfebc6252d32a06f5dfe0ae05a1ef31 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 10:34:05 +0200 Subject: [PATCH 14/31] fix(macos): menu layout (widths, insets, short values), EQ row height, single-battery detection, robust first reads --- Client/Headphones.cpp | 14 ++- Client/Headphones.h | 4 + Client/macos/HeadphonesBridge.mm | 27 +++-- Client/macos/HeadphonesMenu.swift | 22 +++- Client/macos/MenuRows/AmbientLevelRow.swift | 2 +- Client/macos/MenuRows/EqualizerRow.swift | 4 +- Client/macos/MenuRows/HeaderRow.swift | 7 +- Client/macos/MenuRows/ToggleRow.swift | 2 +- Client/macos/MenuSupport.swift | 17 ++- Client/macos/fr.lproj/Localizable.strings | 1 + Client/tests/BluetoothWrapperTests.cpp | 49 +------- Client/tests/FakeConnector.h | 54 +++++++++ Client/tests/HeadphonesTests.cpp | 122 ++++++++++++++++++++ scripts/test.sh | 7 ++ 14 files changed, 260 insertions(+), 72 deletions(-) create mode 100644 Client/tests/FakeConnector.h create mode 100644 Client/tests/HeadphonesTests.cpp diff --git a/Client/Headphones.cpp b/Client/Headphones.cpp index 67b8c25..5772286 100644 --- a/Client/Headphones.cpp +++ b/Client/Headphones.cpp @@ -95,9 +95,21 @@ void Headphones::requestBattery() std::lock_guard guard(this->_propertyMtx); this->_batteryLevel = (unsigned char)resp[2]; this->_batteryCharging = resp[3] == 1; + this->_singleBatteryKnown = true; + this->_hasDualBattery = false; return; // found a single battery; don't waste time probing the TWS types } - } catch (...) {} + } catch (...) { + // A device whose 22 00 has already succeeded once shouldn't fall back to probing the TWS + // commands on a later transient timeout - that would wrongly flip _hasDualBattery to true + // and it's never reset afterwards. Keep the last known values and bail out. + // Read under the lock: requestBattery() can run concurrently (connect + the 60s poll each + // dispatch it), and _singleBatteryKnown is otherwise only ever written under _propertyMtx. + { + std::lock_guard guard(this->_propertyMtx); + if (this->_singleBatteryKnown) return; + } + } // TWS earbuds: dual L/R (22 09 -> 23 09 ) and case (22 0a -> 23 0a ). try { diff --git a/Client/Headphones.h b/Client/Headphones.h index e18b8d6..2f1ce99 100644 --- a/Client/Headphones.h +++ b/Client/Headphones.h @@ -102,6 +102,10 @@ class Headphones { int _batteryLevel = -1; bool _batteryCharging = false; bool _hasDualBattery = false; + // Set once GET 22 00 succeeds. Guards requestBattery() against a later transient timeout on 22 00 + // falling through to the TWS probes (22 09/22 0a), which would wrongly flip _hasDualBattery to true + // and never reset it - see requestBattery(). + bool _singleBatteryKnown = false; int _batteryLeft = -1; int _batteryRight = -1; int _batteryCase = -1; diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index 17bfab4..ac36442 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -215,18 +215,23 @@ - (void)refreshStatusWithCompletion:(void (^)(void))completion { // per-call the connector mutex still serializes actual I/O. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // Fast, always-supported reads first, then update the UI immediately... - try { - if (!self->_initialized) { - hp->initDevice(); - hp->probeNcAsmInquiryType(); - self->_initialized = YES; + // Each read is independent: one lost frame (recv timeout) must not skip the others, or a fresh + // connection stays half-initialized (no battery, no EQ, NC/ASM polled on the wrong channel). + if (!self->_initialized) { + for (int attempt = 0; attempt < 2 && !self->_initialized; attempt++) { + try { + hp->initDevice(); + self->_initialized = YES; + } catch (std::exception &exc) {} } - // Current NC/ASM state, on the channel probeNcAsmInquiryType() picked. - hp->requestAmbientState(); - hp->requestBattery(); - hp->requestEqualizer(); - hp->requestDsee(); - } catch (std::exception &exc) {} + // Probe even if init never answered, so the NC/ASM channel is still picked (catches internally). + hp->probeNcAsmInquiryType(); + } + // Current NC/ASM state, on the channel probeNcAsmInquiryType() picked. + try { hp->requestAmbientState(); } catch (std::exception &exc) {} + try { hp->requestBattery(); } catch (std::exception &exc) {} + try { hp->requestEqualizer(); } catch (std::exception &exc) {} + try { hp->requestDsee(); } catch (std::exception &exc) {} dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); // ...then the optional-feature probes, which can each take a couple seconds to time out on a diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index c4c717e..1aaea6f 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -12,6 +12,7 @@ final class HeadphonesMenu { private var modeItems: [(SHCAmbientMode, NSMenuItem)] = [] private var ambientRows: [NSMenuItem] = [] // level slider + focus on voice private let equalizerItem = NSMenuItem() + private var equalizerRowItem = NSMenuItem() private var presetItems: [(Int, NSMenuItem)] = [] private let equalizerNoteItem = NSMenuItem() private var equalizerResetItem = NSMenuItem() @@ -32,13 +33,24 @@ final class HeadphonesMenu { } // Index = the bridge's auto power-off option (0=Off, 1=5 min, 2=30 min, 3=1 h, 4=3 h, 5=when taken off). + // Used for the submenu's item titles (long form). private static var autoPowerOffOptions: [String] { [tr("Off"), tr("5 min"), tr("30 min"), tr("1 hour"), tr("3 hours"), tr("When taken off")] } + // Same options, but with a short last label - used for the value shown at the right of "Auto Power-Off" + // itself, since the full "Quand le casque est retiré" collides with the title (spec §4 shows a short + // value; the submenu keeps the long label). + private static var autoPowerOffShortOptions: [String] { + var options = autoPowerOffOptions + options[options.count - 1] = tr("Taken off") + return options + } + init(model: HeadphonesModel) { self.model = model menu.autoenablesItems = false + menu.minimumWidth = MenuMetrics.width menu.addItem(hostingMenuItem { HeaderRow(model: model) }) errorItem.isEnabled = false @@ -86,13 +98,15 @@ final class HeadphonesMenu { private func addSoundSection() { let equalizerMenu = NSMenu() equalizerMenu.autoenablesItems = false + equalizerMenu.minimumWidth = MenuMetrics.equalizerWidth for (code, title) in Self.presets { let item = ActionMenuItem(title) { [weak model] in model?.setEqualizerPreset(code) } presetItems.append((code, item)) equalizerMenu.addItem(item) } equalizerMenu.addItem(.separator()) - equalizerMenu.addItem(hostingMenuItem(width: MenuMetrics.equalizerWidth) { EqualizerRow(model: model) }) + equalizerRowItem = hostingMenuItem(width: MenuMetrics.equalizerWidth) { EqualizerRow(model: model) } + equalizerMenu.addItem(equalizerRowItem) equalizerNoteItem.title = tr("Manual equalizer coming soon for this model") equalizerNoteItem.isEnabled = false equalizerMenu.addItem(equalizerNoteItem) @@ -156,17 +170,19 @@ final class HeadphonesMenu { item.isEnabled = connected && model.equalizerWritable } equalizerNoteItem.isHidden = model.equalizerWritable || model.eqBands.isEmpty + equalizerRowItem.isHidden = model.eqBands.isEmpty equalizerResetItem.isEnabled = connected && model.equalizerWritable && model.eqPreset == 0xA0 dseeItem.isHidden = !model.supportsEqualizer speakToChatItem.isHidden = !model.hasSpeakToChat adaptiveVolumeItem.isHidden = !model.hasAdaptiveVolume - let options = Self.autoPowerOffOptions + let shortOptions = Self.autoPowerOffShortOptions autoPowerOffItem.isHidden = !model.hasAutoPowerOff autoPowerOffItem.isEnabled = connected autoPowerOffItem.attributedTitle = titleWithValue( - tr("Auto Power-Off"), options.indices.contains(model.autoPowerOff) ? options[model.autoPowerOff] : "") + tr("Auto Power-Off"), + shortOptions.indices.contains(model.autoPowerOff) ? shortOptions[model.autoPowerOff] : "") for (index, item) in autoPowerOffItems.enumerated() { item.state = index == model.autoPowerOff ? .on : .off } diff --git a/Client/macos/MenuRows/AmbientLevelRow.swift b/Client/macos/MenuRows/AmbientLevelRow.swift index 9f33137..4e062b7 100644 --- a/Client/macos/MenuRows/AmbientLevelRow.swift +++ b/Client/macos/MenuRows/AmbientLevelRow.swift @@ -22,7 +22,7 @@ struct AmbientLevelRow: View { .frame(width: 20, alignment: .trailing) } .padding(.leading, MenuMetrics.indent) - .padding(.trailing, MenuMetrics.leading) + .padding(.trailing, MenuMetrics.trailing) .padding(.vertical, 2) .disabled(!model.connected) } diff --git a/Client/macos/MenuRows/EqualizerRow.swift b/Client/macos/MenuRows/EqualizerRow.swift index e08ddd7..7563c7a 100644 --- a/Client/macos/MenuRows/EqualizerRow.swift +++ b/Client/macos/MenuRows/EqualizerRow.swift @@ -23,8 +23,10 @@ struct EqualizerRow: View { } } } - .padding(.horizontal, MenuMetrics.leading) + .padding(.leading, MenuMetrics.leading) + .padding(.trailing, MenuMetrics.trailing) .padding(.vertical, 6) + .frame(height: MenuMetrics.equalizerHeight) } private func band(_ label: String, value: Int, onChange: @escaping (Int, Bool) -> Void) -> some View { diff --git a/Client/macos/MenuRows/HeaderRow.swift b/Client/macos/MenuRows/HeaderRow.swift index 17199f5..95e2ab4 100644 --- a/Client/macos/MenuRows/HeaderRow.swift +++ b/Client/macos/MenuRows/HeaderRow.swift @@ -16,7 +16,8 @@ struct HeaderRow: View { Spacer(minLength: 8) if model.connected { battery } } - .padding(.horizontal, MenuMetrics.leading) + .padding(.leading, MenuMetrics.leading) + .padding(.trailing, MenuMetrics.trailing) .padding(.vertical, 4) } @@ -33,11 +34,15 @@ struct HeaderRow: View { Text(dualBatteryText) .font(.system(size: 12)) .foregroundColor(.secondary) + .lineLimit(1) + .fixedSize() } else if model.batteryLevel >= 0 { HStack(spacing: 4) { Text(String(format: tr("%ld%%"), model.batteryLevel)) .font(.system(size: 12)) .foregroundColor(.secondary) + .lineLimit(1) + .fixedSize() Image(systemName: batterySymbol) .foregroundColor(model.batteryLevel <= 20 && !model.batteryCharging ? .red : .secondary) } diff --git a/Client/macos/MenuRows/ToggleRow.swift b/Client/macos/MenuRows/ToggleRow.swift index f44513c..23291c8 100644 --- a/Client/macos/MenuRows/ToggleRow.swift +++ b/Client/macos/MenuRows/ToggleRow.swift @@ -18,7 +18,7 @@ struct ToggleRow: View { .controlSize(.mini) } .padding(.leading, indent) - .padding(.trailing, MenuMetrics.leading) + .padding(.trailing, MenuMetrics.trailing) .padding(.vertical, 2) .disabled(!model.connected) .opacity(model.connected ? 1 : 0.5) diff --git a/Client/macos/MenuSupport.swift b/Client/macos/MenuSupport.swift index 62c9f83..0254311 100644 --- a/Client/macos/MenuSupport.swift +++ b/Client/macos/MenuSupport.swift @@ -34,22 +34,29 @@ func sectionHeader(_ title: String) -> NSMenuItem { enum MenuMetrics { static let width: CGFloat = 280 // main menu rows static let equalizerWidth: CGFloat = 300 // equalizer submenu - static let leading: CGFloat = 14 // lines up with native item titles - static let indent: CGFloat = 36 // rows nested under "Son ambiant" + static let equalizerHeight: CGFloat = 100 // slider 72 + spacing 3 + label ~11 + vertical paddings 2×6 ~98 + static let leading: CGFloat = 24 // lines up with native item titles + static let indent: CGFloat = 45 // rows nested under "Son ambiant", aligned with mode titles' text + static let trailing: CGFloat = 14 // right padding (mirrors the submenu-arrow column) } // Wraps a SwiftUI view in a menu item, for rows a plain NSMenuItem can't express (sliders, switches, header). // Rows keep a fixed height: optional lines (the error line, notes) are separate plain items instead. +// `width` only seeds the initial layout pass used to compute the row's fitting height; the hosted view is +// then made horizontally resizable so it follows the menu's actual width (NSMenu.minimumWidth) instead of +// staying pinned at that initial width while native items stretch the menu wider (or narrower). func hostingMenuItem(width: CGFloat = MenuMetrics.width, @ViewBuilder _ content: () -> Content) -> NSMenuItem { - let host = NSHostingView(rootView: content().frame(width: width, alignment: .leading)) - host.frame = NSRect(origin: .zero, size: host.fittingSize) + let host = NSHostingView(rootView: content().frame(maxWidth: .infinity, alignment: .leading)) + host.frame = NSRect(x: 0, y: 0, width: width, height: 0) + host.frame.size.height = host.fittingSize.height + host.autoresizingMask = [.width] let item = NSMenuItem() item.view = host return item } // "Title value": the value right-aligned in the secondary color, like "Égaliseur Graves ›". -func titleWithValue(_ title: String, _ value: String, width: CGFloat = MenuMetrics.width - 60) -> NSAttributedString { +func titleWithValue(_ title: String, _ value: String, width: CGFloat = MenuMetrics.width - 40) -> NSAttributedString { let paragraph = NSMutableParagraphStyle() paragraph.tabStops = [NSTextTab(textAlignment: .right, location: width)] let font = NSFont.menuFont(ofSize: 0) diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index a1d02c4..889593f 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -38,6 +38,7 @@ "1 hour" = "1 heure"; "3 hours" = "3 heures"; "When taken off" = "Quand le casque est retiré"; +"Taken off" = "Quand retiré"; "About the Headphones" = "À propos du casque"; "Firmware" = "Firmware"; "Codec" = "Codec"; diff --git a/Client/tests/BluetoothWrapperTests.cpp b/Client/tests/BluetoothWrapperTests.cpp index 2147578..f21e6a8 100644 --- a/Client/tests/BluetoothWrapperTests.cpp +++ b/Client/tests/BluetoothWrapperTests.cpp @@ -1,10 +1,7 @@ #include "BluetoothWrapper.h" #include "CommandSerializer.h" -#include "IBluetoothConnector.h" -#include "Exceptions.h" -#include +#include "FakeConnector.h" #include -#include #include #include @@ -19,50 +16,6 @@ static Buffer bytes(std::initializer_list values) return b; } -// Records every frame handed to send() and hands back scripted incoming frames one whole frame per -// recv() call. When the script is exhausted, recv() throws like the real macOS connector does after -// its 2.5s timeout. -class FakeBluetoothConnector : public IBluetoothConnector -{ -public: - std::vector sentFrames; - std::deque incomingFrames; - - int send(char* buf, size_t length) noexcept(false) override - { - this->sentFrames.emplace_back(buf, buf + length); - return static_cast(length); - } - - int recv(char* buf, size_t length) noexcept(false) override - { - if (this->incomingFrames.empty()) - { - throw RecoverableException("recv timed out", false); - } - auto frame = this->incomingFrames.front(); - this->incomingFrames.pop_front(); - if (frame.size() > length) - { - throw std::runtime_error("scripted frame too large for buffer"); - } - std::copy(frame.begin(), frame.end(), buf); - return static_cast(frame.size()); - } - - void connect(const std::string&) noexcept(false) override {} - void disconnect() noexcept override {} - bool isConnected() noexcept override { return true; } - std::vector getConnectedDevices() override { return {}; } - SonyProtocolVersion getProtocolVersion() noexcept override { return SonyProtocolVersion::V1; } -}; - -// Decodes a frame previously recorded by FakeBluetoothConnector::send (includes START_MARKER/END_MARKER). -static CommandSerializer::Message unpackSentFrame(const Buffer& frame) -{ - return CommandSerializer::unpackBtMessage(Buffer(frame.begin() + 1, frame.end() - 1)); -} - static void testNotificationBeforeAck() { auto fakeOwned = std::make_unique(); diff --git a/Client/tests/FakeConnector.h b/Client/tests/FakeConnector.h new file mode 100644 index 0000000..08de21e --- /dev/null +++ b/Client/tests/FakeConnector.h @@ -0,0 +1,54 @@ +#pragma once + +#include "BluetoothWrapper.h" +#include "CommandSerializer.h" +#include "IBluetoothConnector.h" +#include "Exceptions.h" +#include +#include +#include +#include + +// Records every frame handed to send() and hands back scripted incoming frames one whole frame per +// recv() call. When the script is exhausted, recv() throws like the real macOS connector does after +// its 2.5s timeout. Shared by BluetoothWrapperTests.cpp and HeadphonesTests.cpp. +class FakeBluetoothConnector : public IBluetoothConnector +{ +public: + std::vector sentFrames; + std::deque incomingFrames; + + int send(char* buf, size_t length) noexcept(false) override + { + this->sentFrames.emplace_back(buf, buf + length); + return static_cast(length); + } + + int recv(char* buf, size_t length) noexcept(false) override + { + if (this->incomingFrames.empty()) + { + throw RecoverableException("recv timed out", false); + } + auto frame = this->incomingFrames.front(); + this->incomingFrames.pop_front(); + if (frame.size() > length) + { + throw std::runtime_error("scripted frame too large for buffer"); + } + std::copy(frame.begin(), frame.end(), buf); + return static_cast(frame.size()); + } + + void connect(const std::string&) noexcept(false) override {} + void disconnect() noexcept override {} + bool isConnected() noexcept override { return true; } + std::vector getConnectedDevices() override { return {}; } + SonyProtocolVersion getProtocolVersion() noexcept override { return SonyProtocolVersion::V1; } +}; + +// Decodes a frame previously recorded by FakeBluetoothConnector::send (includes START_MARKER/END_MARKER). +inline CommandSerializer::Message unpackSentFrame(const Buffer& frame) +{ + return CommandSerializer::unpackBtMessage(Buffer(frame.begin() + 1, frame.end() - 1)); +} diff --git a/Client/tests/HeadphonesTests.cpp b/Client/tests/HeadphonesTests.cpp new file mode 100644 index 0000000..c987b7e --- /dev/null +++ b/Client/tests/HeadphonesTests.cpp @@ -0,0 +1,122 @@ +#include "Headphones.h" +#include "BluetoothWrapper.h" +#include "CommandSerializer.h" +#include "Constants.h" +#include "FakeConnector.h" +#include +#include + +// Minimal test runner (no framework). Exit code 1 on any failure. +static int failures = 0; +#define CHECK(cond) do { if (!(cond)) { failures++; std::printf("FAIL %s:%d: %s\n", __FILE__, __LINE__, #cond); } } while (0) + +static Buffer bytes(std::initializer_list values) +{ + Buffer b; + for (int v : values) b.push_back((char)v); + return b; +} + +// Scripts a single DATA_MDR reply so sendCommandAndReadResponse's read loop matches it directly - +// BluetoothWrapper ACKs DATA_MDR frames itself, so no separate scripted ACK frame is needed. +static void scriptResponse(FakeBluetoothConnector& fake, std::initializer_list payload) +{ + fake.incomingFrames.push_back(CommandSerializer::packageDataForBt(bytes(payload), DATA_TYPE::DATA_MDR, 0)); +} + +// A connector that answers only the specific (opcode, subtype) requests it's told to, and times out (throws) +// for everything else - including requests it was never asked about. The plain FIFO FakeBluetoothConnector +// can't model "this one inquiry never answers, but a later different inquiry does" because it hands back +// whatever's queued regardless of which request is asking; a device really just never replies to an +// unsupported inquiry rather than replying out of order to an unrelated one. +class SelectiveFakeConnector : public FakeBluetoothConnector +{ +public: + void scriptReplyTo(unsigned char opcode, unsigned char subtype, std::initializer_list payload) + { + this->replies.push_back({ { opcode, subtype }, bytes(payload) }); + } + + int recv(char* buf, size_t length) noexcept(false) override + { + if (this->sentFrames.empty()) throw RecoverableException("recv timed out", false); + auto lastSent = unpackSentFrame(this->sentFrames.back()); + for (const auto& entry : this->replies) + { + if (lastSent.payload.size() >= 2 + && (unsigned char)lastSent.payload[0] == entry.first.first + && (unsigned char)lastSent.payload[1] == entry.first.second) + { + auto frame = CommandSerializer::packageDataForBt(entry.second, DATA_TYPE::DATA_MDR, 0); + if (frame.size() > length) throw std::runtime_error("scripted frame too large for buffer"); + std::copy(frame.begin(), frame.end(), buf); + return static_cast(frame.size()); + } + } + throw RecoverableException("recv timed out", false); + } + +private: + std::vector, Buffer>> replies; +}; + +// Cases (1) + (2): a real WH-1000XM6 answers the single-battery inquiry once (55%, not charging), then a +// later poll's 22 00 times out (no scripted reply). The transient timeout must NOT fall back to probing +// the TWS commands (22 09 / 22 0a) - that flips hasDualBattery() to true forever, which is the header's +// "G 0 % D 9 % Boîtier 0 %" bug on a single-battery device. +static void testTransientBatteryTimeoutKeepsSingleBattery() +{ + auto fakeOwned = std::make_unique(); + FakeBluetoothConnector* fake = fakeOwned.get(); + BluetoothWrapper wrapper(std::move(fakeOwned)); + Headphones phones(wrapper); + + // (1) 22 00 answered -> 23 00 37 00 (level 55, not charging). + scriptResponse(*fake, { 0x23, 0x00, 0x37, 0x00 }); + phones.requestBattery(); + CHECK(phones.getBatteryLevel() == 55); + CHECK(phones.hasDualBattery() == false); + + // (2) 22 00 now times out (no scripted reply queued) - must not probe 22 09 / 22 0a, and the last + // known values must be kept. + fake->sentFrames.clear(); + phones.requestBattery(); + + for (const auto& frame : fake->sentFrames) + { + auto msg = unpackSentFrame(frame); + bool isBatteryGet = msg.payload.size() >= 2 && (unsigned char)msg.payload[0] == V2Command::BATTERY_GET; + bool isTwsProbe = isBatteryGet + && ((unsigned char)msg.payload[1] == 0x09 || (unsigned char)msg.payload[1] == 0x0a); + CHECK(!isTwsProbe); + } + CHECK(phones.hasDualBattery() == false); + CHECK(phones.getBatteryLevel() == 55); +} + +// Case (3): a TWS device whose 22 00 never answers must still pick up its dual battery from 22 09 - the +// fix must not break the existing TWS probing path for devices that have no single-battery inquiry at all. +static void testTwsDeviceWithNoSingleBatteryStillProbes() +{ + auto fakeOwned = std::make_unique(); + SelectiveFakeConnector* fake = fakeOwned.get(); + BluetoothWrapper wrapper(std::move(fakeOwned)); + Headphones phones(wrapper); + + // 22 00 has no scripted reply at all (times out); only 22 09 answers, L=50% (not charging), + // R=50% (not charging); 22 0a (case) has no scripted reply either. + fake->scriptReplyTo(V2Command::BATTERY_GET, 0x09, { 0x23, 0x09, 0x32, 0x00, 0x32, 0x00 }); + phones.requestBattery(); + + CHECK(phones.hasDualBattery() == true); +} + +int main() +{ + testTransientBatteryTimeoutKeepsSingleBattery(); + testTwsDeviceWithNoSingleBatteryStillProbes(); + + if (failures) { std::printf("HeadphonesTests: %d failure(s)\n", failures); return 1; } + std::printf("HeadphonesTests: all passed\n"); + return 0; +} diff --git a/scripts/test.sh b/scripts/test.sh index 980624d..22d9207 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -30,5 +30,12 @@ clang++ -target "$TARGET" -isysroot "$SDK" -std=c++17 -I "$ROOT/Client" \ -o "$OUT/BluetoothWrapperTests" "$OUT/BluetoothWrapperTests" +echo "== HeadphonesTests" +clang++ -target "$TARGET" -isysroot "$SDK" -std=c++17 -I "$ROOT/Client" \ + "$ROOT/Client/tests/HeadphonesTests.cpp" "$ROOT/Client/Headphones.cpp" "$ROOT/Client/ProtocolParsers.cpp" \ + "$ROOT/Client/BluetoothWrapper.cpp" "$ROOT/Client/CommandSerializer.cpp" "$ROOT/Client/ByteMagic.cpp" \ + -o "$OUT/HeadphonesTests" +"$OUT/HeadphonesTests" + echo "== Localization" python3 "$ROOT/scripts/check_localization.py" From fd905d6c29302dbe15cafbdefdd670efc6a5f704 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 10:34:08 +0200 Subject: [PATCH 15/31] feat(macos): auto-connect, auto-reconnect and launch at login (menu options) --- Client/macos/AppDelegate.swift | 15 +++- Client/macos/AppSettings.swift | 53 +++++++++++++++ Client/macos/DeviceWatcher.swift | 38 +++++++++++ Client/macos/HeadphonesBridge.h | 10 +++ Client/macos/HeadphonesBridge.mm | 75 ++++++++++++++++---- Client/macos/HeadphonesMenu.swift | 28 +++++++- Client/macos/HeadphonesModel.swift | 83 ++++++++++++++++++++++- Client/macos/MacOSBluetoothConnector.h | 6 +- Client/macos/MacOSBluetoothConnector.mm | 27 +++++--- Client/macos/StatusItemController.swift | 4 +- Client/macos/fr.lproj/Localizable.strings | 4 ++ 11 files changed, 313 insertions(+), 30 deletions(-) create mode 100644 Client/macos/AppSettings.swift create mode 100644 Client/macos/DeviceWatcher.swift diff --git a/Client/macos/AppDelegate.swift b/Client/macos/AppDelegate.swift index d8b38ef..20f7ea5 100644 --- a/Client/macos/AppDelegate.swift +++ b/Client/macos/AppDelegate.swift @@ -2,10 +2,23 @@ import AppKit final class AppDelegate: NSObject, NSApplicationDelegate { private let model = HeadphonesModel() + private let settings = AppSettings() + private let deviceWatcher = DeviceWatcher() private var statusItemController: StatusItemController? func applicationDidFinishLaunching(_ notification: Notification) { - statusItemController = StatusItemController(model: model) + model.settings = settings + statusItemController = StatusItemController(model: model, settings: settings) + + deviceWatcher.onConnect = { [weak self] address, name in + self?.model.headsetConnectedToMac(address: address, name: name) + } + deviceWatcher.onDisconnect = { [weak self] address in + self?.model.headsetDisconnectedFromMac(address: address) + } + deviceWatcher.start() + + if settings.autoConnect { model.autoConnectOnLaunch() } } func applicationWillTerminate(_ notification: Notification) { diff --git a/Client/macos/AppSettings.swift b/Client/macos/AppSettings.swift new file mode 100644 index 0000000..7f1b456 --- /dev/null +++ b/Client/macos/AppSettings.swift @@ -0,0 +1,53 @@ +import Foundation +import ServiceManagement + +// The three user options, persisted in UserDefaults. Launch at login is backed by SMAppService (macOS 13+). +final class AppSettings: ObservableObject { + private enum Keys { + static let autoConnect = "autoConnect" + static let autoReconnect = "autoReconnect" + static let lastDeviceAddress = "lastDeviceAddress" + } + + private let defaults: UserDefaults + + @Published var autoConnect: Bool { + didSet { defaults.set(autoConnect, forKey: Keys.autoConnect) } + } + @Published var autoReconnect: Bool { + didSet { defaults.set(autoReconnect, forKey: Keys.autoReconnect) } + } + @Published private(set) var launchAtLogin: Bool + + var lastDeviceAddress: String? { + get { defaults.string(forKey: Keys.lastDeviceAddress) } + set { defaults.set(newValue, forKey: Keys.lastDeviceAddress) } + } + + init(defaults: UserDefaults = .standard) { + self.defaults = defaults + // Spec §4: auto-connect and auto-reconnect default on; launch at login stays off until the user asks. + defaults.register(defaults: [Keys.autoConnect: true, Keys.autoReconnect: true]) + autoConnect = defaults.bool(forKey: Keys.autoConnect) + autoReconnect = defaults.bool(forKey: Keys.autoReconnect) + launchAtLogin = SMAppService.mainApp.status == .enabled + } + + // Returns an error message if macOS refused the change. + func setLaunchAtLogin(_ enabled: Bool) -> String? { + defer { launchAtLogin = SMAppService.mainApp.status == .enabled } + do { + if enabled { + try SMAppService.mainApp.register() + if SMAppService.mainApp.status == .requiresApproval { + SMAppService.openSystemSettingsLoginItems() + } + } else { + try SMAppService.mainApp.unregister() + } + return nil + } catch { + return error.localizedDescription + } + } +} diff --git a/Client/macos/DeviceWatcher.swift b/Client/macos/DeviceWatcher.swift new file mode 100644 index 0000000..e0a203d --- /dev/null +++ b/Client/macos/DeviceWatcher.swift @@ -0,0 +1,38 @@ +import Foundation +import IOBluetooth + +// Reports Bluetooth devices connecting to / disconnecting from macOS, as (address, name). +final class DeviceWatcher: NSObject { + var onConnect: ((_ address: String, _ name: String) -> Void)? + var onDisconnect: ((_ address: String) -> Void)? + + private var connectNotification: IOBluetoothUserNotification? + private var disconnectNotifications: [String: IOBluetoothUserNotification] = [:] + + func start() { + connectNotification = IOBluetoothDevice.register(forConnectNotifications: self, + selector: #selector(deviceConnected(_:device:))) + for case let device as IOBluetoothDevice in IOBluetoothDevice.pairedDevices() ?? [] where device.isConnected() { + if let address = device.addressString { watchDisconnect(device, address: address) } + } + } + + @objc private func deviceConnected(_ notification: IOBluetoothUserNotification, device: IOBluetoothDevice) { + guard let address = device.addressString else { return } + watchDisconnect(device, address: address) + onConnect?(address, device.name ?? "") + } + + @objc private func deviceDisconnected(_ notification: IOBluetoothUserNotification, device: IOBluetoothDevice) { + notification.unregister() + guard let address = device.addressString else { return } + disconnectNotifications[address] = nil + onDisconnect?(address) + } + + private func watchDisconnect(_ device: IOBluetoothDevice, address: String) { + guard disconnectNotifications[address] == nil else { return } + disconnectNotifications[address] = device.register(forDisconnectNotification: self, + selector: #selector(deviceDisconnected(_:device:))) + } +} diff --git a/Client/macos/HeadphonesBridge.h b/Client/macos/HeadphonesBridge.h index d413e72..1f5adad 100644 --- a/Client/macos/HeadphonesBridge.h +++ b/Client/macos/HeadphonesBridge.h @@ -62,6 +62,16 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { // completion is called on the main thread. - (void)scanAndConnectWithCompletion:(void (^)(BOOL ok, NSString * _Nullable error))completion; +// Name heuristic for Sony headsets (WH-/WF-/WI-/MDR-/XB/LinkBuds). ++ (BOOL)looksLikeSonyHeadset:(NSString *)name NS_SWIFT_NAME(looksLikeSonyHeadset(_:)); +// Address of the first Sony headset currently connected to macOS, or nil. ++ (nullable NSString *)connectedSonyHeadsetAddress NS_SWIFT_NAME(connectedSonyHeadsetAddress()); +// YES if the device with this address is connected to macOS (its audio link is up). ++ (BOOL)isDeviceConnectedToMac:(NSString *)address NS_SWIFT_NAME(isDeviceConnectedToMac(_:)); +// Opens the control channel to a specific device, without the picker. Completion on the main thread. +- (void)connectToAddress:(NSString *)address + completion:(void (^)(BOOL ok, NSString * _Nullable error))completion NS_SWIFT_NAME(connect(toAddress:completion:)); + - (void)disconnect; // Pushes the desired ambient/NC state to the device on a background thread; completion on main thread. diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index ac36442..9f61462 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -16,7 +16,9 @@ @implementation HeadphonesBridge { std::unique_ptr _bt; - std::unique_ptr _hp; + // shared_ptr: background blocks capture their own copy so a disconnect()-triggered _hp.reset() on the + // main thread can't free the object while a queued block is still mid-way through a read/write. + std::shared_ptr _hp; NSString *_deviceName; NSString *_deviceMac; BOOL _initialized; @@ -162,6 +164,10 @@ - (void)scanAndConnectWithCompletion:(void (^)(BOOL, NSString * _Nullable))compl return; } + [self connectDevice:device completion:completion]; +} + +- (void)connectDevice:(IOBluetoothDevice *)device completion:(void (^)(BOOL, NSString * _Nullable))completion { try { _bt->connect([[device addressString] UTF8String]); } catch (RecoverableException &exc) { @@ -185,10 +191,35 @@ - (void)scanAndConnectWithCompletion:(void (^)(BOOL, NSString * _Nullable))compl _deviceName = [device nameOrAddress]; _deviceMac = [device addressString]; - _hp = std::make_unique(*_bt); + _hp = std::make_shared(*_bt); completion(YES, nil); } ++ (BOOL)looksLikeSonyHeadset:(NSString *)name { + return SHCLooksLikeSonyHeadset(name); +} + ++ (nullable NSString *)connectedSonyHeadsetAddress { + for (IOBluetoothDevice *paired in [IOBluetoothDevice pairedDevices]) { + if ([paired isConnected] && SHCLooksLikeSonyHeadset([paired name])) return [paired addressString]; + } + return nil; +} + ++ (BOOL)isDeviceConnectedToMac:(NSString *)address { + IOBluetoothDevice *device = [IOBluetoothDevice deviceWithAddressString:address]; + return device != nil && [device isConnected]; +} + +- (void)connectToAddress:(NSString *)address completion:(void (^)(BOOL, NSString * _Nullable))completion { + IOBluetoothDevice *device = [IOBluetoothDevice deviceWithAddressString:address]; + if (!device) { + completion(NO, NSLocalizedString(@"Not connected.", nil)); + return; + } + [self connectDevice:device completion:completion]; +} + - (void)disconnect { if (_bt) _bt->disconnect(); _hp.reset(); @@ -199,7 +230,9 @@ - (void)disconnect { - (void)refreshStatusWithCompletion:(void (^)(void))completion { if (!_hp || !self.connected) { completion(); return; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; // CRITICAL: the init/battery/EQ inquiries below use v2 opcodes. Opcode 0x22 is BATTERY_LEVEL_REQUEST // on v2 but POWER_OFF on v1 - sending it to a v1 device (e.g. WH-1000XM4) powers the headphones off. // A v1 device still needs *some* valid handshake traffic right after connect or it drops/powers off on @@ -243,7 +276,9 @@ - (void)refreshStatusWithCompletion:(void (^)(void))completion { - (void)refreshDynamicWithCompletion:(void (^)(void))completion { if (!_hp || !self.connected) { completion(); return; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // The headphone's physical button only changes ambient/NC, so that's all we poll (keeps traffic low). // requestAmbientState() is protocol-aware (v2 uses 66 17, v1 uses 66 02), so this is safe on both. @@ -255,7 +290,9 @@ - (void)refreshDynamicWithCompletion:(void (^)(void))completion { - (void)refreshBatteryWithCompletion:(void (^)(void))completion { // CRITICAL: 0x22 is BATTERY_LEVEL_REQUEST on v2 but POWER_OFF on v1 - never send it to a v1 device. if (!_hp || !self.connected || _bt->getProtocolVersion() != SonyProtocolVersion::V2) { completion(); return; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ try { hp->requestBattery(); } catch (std::exception &exc) {} dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); @@ -272,7 +309,9 @@ - (void)setEqualizerPreset:(NSInteger)preset completion:(void (^)(BOOL, NSString completion(NO, NSLocalizedString(@"Equalizer control isn't supported on this device yet.", nil)); return; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; @@ -296,7 +335,9 @@ - (void)setCustomEqualizerBass:(NSInteger)bass bands:(NSArray *)band std::vector cbands; for (NSNumber *n in bands) cbands.push_back((int)n.integerValue); int cbass = (int)bass; - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; try { @@ -311,7 +352,9 @@ - (void)setDsee:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))c completion(NO, NSLocalizedString(@"Not supported on this device.", nil)); return; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; try { @@ -346,7 +389,9 @@ - (void)applyMode:(SHCAmbientMode)mode break; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; @@ -367,7 +412,9 @@ - (void)applyMode:(SHCAmbientMode)mode - (void)setAutoPowerOff:(NSInteger)index completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; try { hp->setAutoPowerOff((int)index); } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } @@ -377,7 +424,9 @@ - (void)setAutoPowerOff:(NSInteger)index completion:(void (^)(BOOL, NSString * _ - (void)setSpeakToChat:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; try { hp->setSpeakToChat(enabled); } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } @@ -387,7 +436,9 @@ - (void)setSpeakToChat:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Null - (void)setAdaptiveVolume:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } - Headphones *hp = _hp.get(); + // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main + // thread) resets _hp while this block is still running. + std::shared_ptr hp = _hp; dispatch_async(_cmdQueue, ^{ NSString *error = nil; BOOL ok = YES; try { hp->setAdaptiveVolume(enabled); } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index 1aaea6f..99ec9bc 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -6,6 +6,7 @@ import Combine final class HeadphonesMenu { let menu = NSMenu() private let model: HeadphonesModel + private let settings: AppSettings private var cancellables = Set() private let errorItem = NSMenuItem() @@ -25,6 +26,9 @@ final class HeadphonesMenu { private let aboutMenu = NSMenu() private var aboutValues: [String] = [] // cache to avoid rebuilding About menu on every slider drag private var connectItem = NSMenuItem() + private var launchAtLoginItem = NSMenuItem() + private var autoConnectItem = NSMenuItem() + private var autoReconnectItem = NSMenuItem() private static var presets: [(Int, String)] { [(0x00, tr("Off")), (0x10, tr("Bright")), (0x11, tr("Excited")), (0x12, tr("Mellow")), @@ -47,8 +51,9 @@ final class HeadphonesMenu { return options } - init(model: HeadphonesModel) { + init(model: HeadphonesModel, settings: AppSettings) { self.model = model + self.settings = settings menu.autoenablesItems = false menu.minimumWidth = MenuMetrics.width @@ -67,6 +72,10 @@ final class HeadphonesMenu { .receive(on: DispatchQueue.main) .sink { [weak self] _ in self?.update() } .store(in: &cancellables) + settings.objectWillChange + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.update() } + .store(in: &cancellables) update() } @@ -142,6 +151,15 @@ final class HeadphonesMenu { aboutMenu.autoenablesItems = false aboutItem.submenu = aboutMenu menu.addItem(aboutItem) + let optionsMenu = NSMenu() + optionsMenu.autoenablesItems = false + launchAtLoginItem = ActionMenuItem(tr("Launch at Login")) { [weak self] in self?.toggleLaunchAtLogin() } + autoConnectItem = ActionMenuItem(tr("Connect Automatically")) { [weak settings] in settings?.autoConnect.toggle() } + autoReconnectItem = ActionMenuItem(tr("Reconnect Automatically")) { [weak settings] in settings?.autoReconnect.toggle() } + for item in [launchAtLoginItem, autoConnectItem, autoReconnectItem] { optionsMenu.addItem(item) } + let optionsItem = NSMenuItem(title: tr("SonyBridge Options"), action: nil, keyEquivalent: "") + optionsItem.submenu = optionsMenu + menu.addItem(optionsItem) connectItem = ActionMenuItem(tr("Connect…")) { [weak self] in self?.toggleConnection() } menu.addItem(connectItem) menu.addItem(.separator()) @@ -196,6 +214,10 @@ final class HeadphonesMenu { case .disconnected: connectItem.title = tr("Connect…") } connectItem.isEnabled = model.connectionState != .connecting + + launchAtLoginItem.state = settings.launchAtLogin ? .on : .off + autoConnectItem.state = settings.autoConnect ? .on : .off + autoReconnectItem.state = settings.autoReconnect ? .on : .off } private func updateAbout() { @@ -221,6 +243,10 @@ final class HeadphonesMenu { presets.first { $0.0 == code }?.1 ?? tr("Custom") } + private func toggleLaunchAtLogin() { + if let error = settings.setLaunchAtLogin(!settings.launchAtLogin) { model.showError(error) } + } + private func toggleConnection() { if model.connected { model.disconnect() diff --git a/Client/macos/HeadphonesModel.swift b/Client/macos/HeadphonesModel.swift index 4925fab..fb46f93 100644 --- a/Client/macos/HeadphonesModel.swift +++ b/Client/macos/HeadphonesModel.swift @@ -56,10 +56,19 @@ final class HeadphonesModel: ObservableObject { private var levelThrottle = SendThrottle() private var eqThrottle = SendThrottle() + // Set by AppDelegate; nil means "no automatic behaviour". + var settings: AppSettings? + private var reconnectPolicy = ReconnectPolicy() + private var reconnectTimer: Timer? + private var reconnectAddress: String? + private var userDisconnected = false // after "Déconnecter": no auto-reconnect until the headset reconnects to macOS + // MARK: - Connection // User-initiated: uses the already-connected Sony headset, else the macOS Bluetooth picker. func connect() { + userDisconnected = false + cancelReconnect() connectionState = .connecting errorMessage = nil // Defer so the menu can show "Connecting…" before a modal picker blocks the main thread. @@ -71,6 +80,8 @@ final class HeadphonesModel: ObservableObject { } func disconnect() { + userDisconnected = true + cancelReconnect() stopTimers() bridge.disconnect() connectionState = .disconnected @@ -80,18 +91,88 @@ final class HeadphonesModel: ObservableObject { guard ok else { connectionState = .disconnected if userInitiated, let error = error { errorMessage = error } + if !userInitiated && reconnectAddress != nil { + // Only keep retrying while the option is still on; the user may have turned it off meanwhile. + if settings?.autoReconnect == true { scheduleReconnect() } else { cancelReconnect() } + } return } + cancelReconnect() connectionState = .connected syncFromBridge() + settings?.lastDeviceAddress = deviceMac bridge.refreshStatus { [weak self] in self?.syncFromBridge() } // called after reads, then after probes startTimers() } - // The control link dropped on its own (idle power-save). Task 7 adds the automatic reconnection here. + // The control link dropped on its own (idle power-save): retry while the headset is still connected to macOS. func linkLost() { stopTimers() + bridge.disconnect() // resets sequence numbers and buffers for the next connection connectionState = .disconnected + guard settings?.autoReconnect == true, !userDisconnected, !deviceMac.isEmpty else { return } + reconnectAddress = deviceMac + scheduleReconnect() + } + + // MARK: - Automatic connection + + // Not user-initiated: failures stay silent (normal while the headset sleeps). + func autoConnect(toAddress address: String) { + guard connectionState == .disconnected else { return } + connectionState = .connecting + bridge.connect(toAddress: address) { ok, error in + self.handleConnectResult(ok: ok, error: error, userInitiated: false) + } + } + + // At launch: the last headset if macOS has it connected, else any connected Sony headset. + func autoConnectOnLaunch() { + let remembered = settings?.lastDeviceAddress.flatMap { HeadphonesBridge.isDeviceConnectedToMac($0) ? $0 : nil } + if let address = remembered ?? HeadphonesBridge.connectedSonyHeadsetAddress() { + autoConnect(toAddress: address) + } + } + + // DeviceWatcher: a device just connected to macOS. + func headsetConnectedToMac(address: String, name: String) { + guard settings?.autoConnect == true, HeadphonesBridge.looksLikeSonyHeadset(name), + connectionState == .disconnected else { return } + userDisconnected = false + cancelReconnect() + // Give the audio link ~2 s to settle before opening the control channel. + DispatchQueue.main.asyncAfter(deadline: .now() + 2) { [weak self] in + guard let self = self else { return } + // The option or the device's own connection may have changed during the delay; re-check both. + guard self.settings?.autoConnect == true, HeadphonesBridge.isDeviceConnectedToMac(address) else { return } + self.autoConnect(toAddress: address) + } + } + + // DeviceWatcher: a device left macOS; stop retrying it (headsetConnectedToMac takes over when it's back). + func headsetDisconnectedFromMac(address: String) { + if address == reconnectAddress { cancelReconnect() } + } + + func cancelReconnect() { + reconnectTimer?.invalidate() + reconnectTimer = nil + reconnectAddress = nil + reconnectPolicy.reset() + } + + private func scheduleReconnect() { + guard let address = reconnectAddress else { return } + reconnectTimer?.invalidate() + let timer = Timer(timeInterval: reconnectPolicy.nextDelay(), repeats: false) { [weak self] _ in + guard let self = self else { return } + // The user may have turned the option off while this attempt was pending. + guard self.settings?.autoReconnect == true else { self.cancelReconnect(); return } + guard HeadphonesBridge.isDeviceConnectedToMac(address) else { self.cancelReconnect(); return } + self.autoConnect(toAddress: address) + } + RunLoop.main.add(timer, forMode: .common) + reconnectTimer = timer } // MARK: - Actions diff --git a/Client/macos/MacOSBluetoothConnector.h b/Client/macos/MacOSBluetoothConnector.h index 186b06a..ea7c7f7 100644 --- a/Client/macos/MacOSBluetoothConnector.h +++ b/Client/macos/MacOSBluetoothConnector.h @@ -22,6 +22,8 @@ class MacOSBluetoothConnector final : public IBluetoothConnector virtual void disconnect() noexcept; virtual bool isConnected() noexcept; virtual void closeConnection(); + // Called from the channel-closed callback, on the connector thread: stops that thread's loop without joining it. + void markClosed() noexcept; virtual SonyProtocolVersion getProtocolVersion() noexcept; virtual std::vector getConnectedDevices() noexcept(false); @@ -36,7 +38,7 @@ class MacOSBluetoothConnector final : public IBluetoothConnector SonyProtocolVersion protocolVersion = SonyProtocolVersion::V1; private: - void *rfcommDevice; - void *rfcommchannel; + void *rfcommDevice = nullptr; + void *rfcommchannel = nullptr; std::thread uthread; }; diff --git a/Client/macos/MacOSBluetoothConnector.mm b/Client/macos/MacOSBluetoothConnector.mm index bd2db62..c02a373 100644 --- a/Client/macos/MacOSBluetoothConnector.mm +++ b/Client/macos/MacOSBluetoothConnector.mm @@ -6,10 +6,7 @@ } MacOSBluetoothConnector::~MacOSBluetoothConnector() { - // onclose event - if (isConnected()){ - disconnect(); - } + disconnect(); } @interface AsyncCommDelegate : NSObject { @@ -24,7 +21,7 @@ - (void)rfcommChannelClosed:(IOBluetoothRFCOMMChannel *)rfcommChannel{ #ifdef SHC_DEBUG_PROTOCOL fprintf(stderr, "[connect] rfcommChannelClosed\n"); #endif - delegateCPP->disconnect(); + delegateCPP->markClosed(); } #ifdef SHC_DEBUG_PROTOCOL @@ -148,6 +145,8 @@ static void _debugHexDump(const char* label, const char* buf, size_t length) lk.unlock(); } void MacOSBluetoothConnector::connect(const std::string& addrStr){ + // A previous link's thread has stopped (markClosed) but may not have been joined yet. + if (uthread.joinable()) uthread.join(); // convert mac address to nsstring NSString *addressNSString = [NSString stringWithCString:addrStr.c_str() encoding:[NSString defaultCStringEncoding]]; // get device based on mac address @@ -223,17 +222,23 @@ static void _debugHexDump(const char* label, const char* buf, size_t length) return res; } -void MacOSBluetoothConnector::disconnect() noexcept +void MacOSBluetoothConnector::markClosed() noexcept { - // close connection - closeConnection(); running = false; - // notify the other thread that we are done disconnecting disconnectionConditionVariable.notify_all(); - // wait for the thread to finish - uthread.join(); +} + +void MacOSBluetoothConnector::disconnect() noexcept +{ + closeConnection(); + markClosed(); + // Never join from the connector thread itself (the channel-closed callback runs there). + if (uthread.joinable() && uthread.get_id() != std::this_thread::get_id()) { + uthread.join(); + } } void MacOSBluetoothConnector::closeConnection() { + if (!rfcommchannel) return; // get the channel IOBluetoothRFCOMMChannel *chan = (__bridge IOBluetoothRFCOMMChannel*) rfcommchannel; [chan setDelegate: nil]; diff --git a/Client/macos/StatusItemController.swift b/Client/macos/StatusItemController.swift index 8837309..d46c776 100644 --- a/Client/macos/StatusItemController.swift +++ b/Client/macos/StatusItemController.swift @@ -7,8 +7,8 @@ final class StatusItemController { private let headphonesMenu: HeadphonesMenu private var cancellables = Set() - init(model: HeadphonesModel) { - headphonesMenu = HeadphonesMenu(model: model) + init(model: HeadphonesModel, settings: AppSettings) { + headphonesMenu = HeadphonesMenu(model: model, settings: settings) statusItem.menu = headphonesMenu.menu model.$connectionState.combineLatest(model.$mode) .receive(on: DispatchQueue.main) diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index 889593f..9db07ce 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -44,6 +44,10 @@ "Codec" = "Codec"; "Protocol" = "Protocole"; "Bluetooth" = "Bluetooth"; +"SonyBridge Options" = "Options de SonyBridge"; +"Launch at Login" = "Lancer à l’ouverture de session"; +"Connect Automatically" = "Connexion automatique"; +"Reconnect Automatically" = "Reconnexion automatique"; /* Errors (HeadphonesBridge.mm, HeadphonesModel.swift) */ "No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first." = "Aucun casque Sony connecté. Connectez d’abord votre casque dans les réglages Bluetooth de macOS."; From 00fc2f7076b4f1f498ee8f79a0a28f85cb565640 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 10:49:31 +0200 Subject: [PATCH 16/31] add new shared --- Makefile | 8 ++- README.md | 157 +++++++++++++++++++++++++++++------------------------- 2 files changed, 91 insertions(+), 74 deletions(-) diff --git a/Makefile b/Makefile index b02f7de..19abe9e 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # SonyBridge — build without Xcode. See scripts/build.sh for the knobs. DEBUG ?= 0 -.PHONY: all build run test release clean +.PHONY: all build run test release install clean all: build @@ -24,5 +24,11 @@ release: CONFIG=release ARCHS="arm64 x86_64" ./scripts/build.sh cd build && rm -f SonyBridge.zip && ditto -c -k --keepParent SonyBridge.app SonyBridge.zip +install: release + -pkill -x SonyBridge; while pgrep -x SonyBridge >/dev/null; do sleep 0.2; done + rm -rf "/Applications/SonyBridge.app" + ditto "$(CURDIR)/build/SonyBridge.app" "/Applications/SonyBridge.app" + open "/Applications/SonyBridge.app" + clean: rm -rf build diff --git a/README.md b/README.md index f7f9d5b..d3a9ccd 100644 --- a/README.md +++ b/README.md @@ -4,32 +4,23 @@
-**An unofficial, open-source desktop app for Sony headphones — Noise Cancelling, Ambient Sound, EQ, DSEE and battery, without the phone.** +**An unofficial, open-source macOS menu bar app for Sony headphones — Noise Cancelling, Ambient Sound, EQ, DSEE and battery, without the phone.**
-[![Build](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/xcodebuild.yml/badge.svg)](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/xcodebuild.yml) +[![Build](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/build.yml/badge.svg)](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/build.yml) [![Release](https://img.shields.io/github/v/release/AmitRajput-Dev/SonyBridge?include_prereleases&sort=semver)](https://github.com/AmitRajput-Dev/SonyBridge/releases) -[![Downloads](https://img.shields.io/github/downloads/AmitRajput-Dev/SonyBridge/total?color=success)](https://github.com/AmitRajput-Dev/SonyBridge/releases) [![Stars](https://img.shields.io/github/stars/AmitRajput-Dev/SonyBridge?style=flat)](https://github.com/AmitRajput-Dev/SonyBridge/stargazers) [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) ![Platforms](https://img.shields.io/badge/platform-macOS-blue)
-[![Download for macOS](https://img.shields.io/badge/Download-macOS-000000?style=for-the-badge&logo=apple&logoColor=white)](https://github.com/AmitRajput-Dev/SonyBridge/releases/latest) -[![Sponsor](https://img.shields.io/badge/Sponsor-%E2%9D%A4-EA4AAA?style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/AmitRajput-Dev) -[![Donate via Razorpay](https://img.shields.io/badge/Donate-Razorpay-3395FF?style=for-the-badge&logo=razorpay&logoColor=white)](https://razorpay.me/@amitpratapsingrajput) +**[Features](#-features)** · **[Install](#-install)** · **[Usage](#-usage)** · **[Supported headphones](#-supported-headphones)** · **[Build from source](#-build-from-source)** · **[Contributing](#-contributing)** · **[Credits](#-credits)**
-**[Features](#-features)** · **[Download](#-download)** · **[How it works](#-how-it-works)** · **[Contributing](#-contributing)** · **[Credits](#-credits)** - -
- -SonyBridge connected to a WH-CH720N -   -SonyBridge disconnected state +*Screenshots of the menu bar app are coming — for now, see the [Usage](#-usage) section below for what to expect.*

C*91?Z#Uh3zgk#0 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 diff --git a/Client/macos/Assets.xcassets/wh-ch520.imageset/Contents.json b/Client/macos/Assets.xcassets/wh-ch520.imageset/Contents.json deleted file mode 100644 index 6d4b0a1..0000000 --- a/Client/macos/Assets.xcassets/wh-ch520.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wh-ch520.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wh-ch520.imageset/wh-ch520.png b/Client/macos/Assets.xcassets/wh-ch520.imageset/wh-ch520.png deleted file mode 100644 index 3d308711da860e8e950ab0a11956a9bc8979610b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68700 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 diff --git a/Client/macos/Assets.xcassets/wh-ch720n.imageset/Contents.json b/Client/macos/Assets.xcassets/wh-ch720n.imageset/Contents.json deleted file mode 100644 index d0874cd..0000000 --- a/Client/macos/Assets.xcassets/wh-ch720n.imageset/Contents.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "images": [ - { - "idiom": "universal", - "filename": "wh-ch720n.png" - } - ], - "info": { - "author": "xcode", - "version": 1 - } -} \ No newline at end of file diff --git a/Client/macos/Assets.xcassets/wh-ch720n.imageset/wh-ch720n.png b/Client/macos/Assets.xcassets/wh-ch720n.imageset/wh-ch720n.png deleted file mode 100644 index e885a9b32957ee48018508b59ecff196363af807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122300 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

@@ -39,62 +30,83 @@ Sony locks headphone settings behind their mobile-only *Sound Connect* app. If you live on a laptop, you're stuck. SonyBridge talks to the headphones directly over Bluetooth RFCOMM using Sony's -reverse-engineered binary protocol — no phone required. +reverse-engineered binary protocol — no phone required. It lives entirely in your macOS menu bar: no +Dock icon, no window, just a native menu. The original [SonyHeadphonesClient](https://github.com/Plutoberth/SonyHeadphonesClient) only spoke Sony's **first-generation** protocol, so newer headsets (WH-CH720N, XM4/XM5, WF-series, LinkBuds…) just timed -out on connect. SonyBridge adds full **second-generation ("v2") protocol** support and a native SwiftUI -app for macOS. +out on connect. SonyBridge adds full **second-generation ("v2") protocol** support and a native macOS +menu bar app, built with AppKit/SwiftUI. ## ✨ Features -- 🎚️ **Ambient Sound Control** — Noise Cancelling · Ambient Sound (0–20 levels) · Off -- 🗣️ **Focus on Voice** passthrough -- 🎛️ **Equalizer** — presets *and* a full **Manual mode** with 5 bands + Clear Bass -- ✨ **DSEE** — Sony's audio upscaling for compressed sources -- 🔋 **Battery level** — live percentage, including **per-earbud + case** for TWS models -- 🎧 **Codec & firmware** readout -- 🧩 **Capability-gated extras** — Auto Power-Off · Speak-to-Chat · Adaptive Volume (only shown when your device supports them) -- 🖼️ **Device hero image** — your headphones' official Sony product render -- 🔄 **Live button sync** — changes made on the headset reflect in the app -- 🔌 **Auto-connect** to your already-paired Sony headset -- 🧬 **Dual-protocol** — auto-detects and speaks either protocol generation -- 🌑 **Modern UI** — dark, minimal, shaped after Sony's own app, in native SwiftUI +**Sound modes** +- 🎚️ **Ambient Sound Control** — Noise Cancelling · Ambient Sound (with a 1–20 level slider and a Focus on Voice switch) · Off +- 🔄 **Live button sync** — following the headset's own NC button live, even while the menu is open + +**Equalizer** +- 🎛️ **Equalizer** — presets *and* a **Manual mode** with vertical sliders (5 bands + Clear Bass on older models). The **WH-1000XM6**'s 10-band equalizer is read and displayed, but changing it isn't available yet — its write format isn't verified, so the sliders are greyed out with a "coming soon" note -## 📥 Download +**Other settings** *(each shown only if your headset supports it)* +- ✨ **DSEE** — Sony's audio upscaling for compressed sources +- 🗣️ **Speak-to-Chat** and **Adaptive Volume** +- ⏱️ **Auto Power-Off** — Off, 5 min, 30 min, 1 hour, 3 hours, or when taken off - - - - - - - - - -
PlatformGet itNotes
macOS +**Battery & info** +- 🔋 **Battery level** — live percentage, including **per-earbud + case** for TWS models +- 🎧 **About the Headphones** — firmware, codec, protocol, and Bluetooth address -`brew tap AmitRajput-Dev/tap && brew install --cask sonybridge` +**Automatic connection** +- 📍 **Lives in the menu bar** — a native macOS menu; the icon shows the current mode and dims when disconnected +- 🔌 **Connect Automatically** (on by default) — at launch and whenever your headset connects to the Mac +- 🔁 **Reconnect Automatically** (on by default) — retries if the control link drops while the headset is still connected, backing off from 3 s up to every 60 s +- 🚀 **Launch at Login** (off by default) — uses macOS Login Items -or [**Download .app**](https://github.com/AmitRajput-Dev/SonyBridge/releases/latest) +**Languages** +- 🌍 **English & French** — follows your macOS language -macOS 11+ · Apple Silicon & Intel
+## 📥 Install -> 💡 After launching, **connect your headphones in your macOS Bluetooth settings first**, then open SonyBridge and hit *Connect*. Keep audio playing — Sony headsets drop the control link when idle to save power. +**Requirements:** macOS 13 or later, and the Xcode **Command Line Tools** (no full Xcode app needed): -
-macOS install notes (Gatekeeper) +```sh +xcode-select --install +``` -The app is ad-hoc signed (not notarized — no paid Apple Developer account). The Homebrew cask clears the -quarantine flag for you. For a direct download, allow it once: +Then: ```sh -xattr -dr com.apple.quarantine /Applications/SonyBridge.app +git clone https://github.com/AmitRajput-Dev/SonyBridge.git +cd SonyBridge +make install ``` -…or right-click the app → **Open** → **Open**. Homebrew also asks you to trust the third-party tap the -first time (`brew trust AmitRajput-Dev/tap`). -
+`make install` builds a release version, quits SonyBridge if it's running, and installs it to +`/Applications/SonyBridge.app`. Afterwards, launch it from Launchpad, Spotlight, or Finder. + +> 💡 On first launch, macOS asks for **Bluetooth permission** — allow it, otherwise SonyBridge can't +> talk to your headphones. Pair and connect your headphones in macOS **Bluetooth settings** first. + +**To update:** pull the latest changes and run `make install` again. + +**To uninstall:** quit SonyBridge, then drag `/Applications/SonyBridge.app` to the Trash. If you turned +on **Launch at Login**, turn it off first (from the SonyBridge Options menu) so macOS doesn't keep a +stale login item around. + +## 🕹️ Usage + +Click the SonyBridge icon in the menu bar to open the menu. If nothing is connected yet, choose +**Connect…** — it uses the Sony headset already connected to macOS, or opens the macOS Bluetooth picker +if none is connected yet. + +From the menu you can: +- switch **sound modes** (Noise Cancelling / Ambient Sound / Off) and, in Ambient Sound, adjust the level and Focus on Voice; +- pick an **Equalizer** preset or dial in a **Manual** curve; +- toggle **DSEE**, **Speak-to-Chat**, and **Adaptive Volume** (only the ones your model supports); +- set **Auto Power-Off**; +- check battery and firmware under **About the Headphones**; +- turn **Launch at Login**, **Connect Automatically**, and **Reconnect Automatically** on or off under **SonyBridge Options**; +- **Disconnect** (auto-reconnect stays off until the headset reconnects on its own or you click **Connect…** again) or **Quit SonyBridge** (⌘Q). ## 🎧 Supported headphones @@ -107,23 +119,29 @@ first time (`brew trust AmitRajput-Dev/tap`). > Only the WH-CH720N is fully hardware-verified. Others share the same protocol family, so the basics > should work — per-model quirks are untested. Reports and PRs for other devices are very welcome. +> +> On the **WH-1000XM6**, everything works as listed above except changing the equalizer in Manual mode +> (reading its 10-band equalizer already works) — that's coming in a later update. ## 🚀 Build from source -
-macOS (menu bar app) - Requires the **Xcode Command Line Tools** (`xcode-select --install`) — the full Xcode app is not needed. ```sh git clone https://github.com/AmitRajput-Dev/SonyBridge.git cd SonyBridge -make run # builds build/SonyBridge.app and launches it +make # debug build → build/SonyBridge.app +make run # builds and launches the app (add DEBUG=1 to log every protocol frame) +make test # unit tests + translation check +make release # universal (Apple Silicon + Intel) build, zipped to build/SonyBridge.zip +make clean # remove build/ ``` -`make test` runs the unit tests, `make release` builds a universal (Apple Silicon + Intel) zip, and -`make run DEBUG=1` logs every frame exchanged with the headphones to `build/app.log`. -
+`make run DEBUG=1` logs every frame exchanged with the headphones to +`~/Library/Logs/SonyBridge/app.log` (`build/app.log` is a symlink to it). + +> ⚠️ Always launch SonyBridge through `open`, Finder, or `make run`/`make install` — never by running +> `Contents/MacOS/SonyBridge` directly, or macOS's privacy protection can close the app. ## 🔬 How it works @@ -143,6 +161,14 @@ init handshake and per-frame host-ACK the newer devices require, plus battery, E Protocol byte layouts were cross-referenced against [**GadgetBridge**](https://codeberg.org/Freeyourgadget/Gadgetbridge)'s Sony implementation. +## 🛠️ Troubleshooting + +- **SonyBridge doesn't see my headphones** — pair and connect them in macOS **Bluetooth settings** first, then use **Connect…** in the menu. +- **No Bluetooth permission prompt, or you denied it** — macOS asks for Bluetooth access on first launch; allow it, or SonyBridge can't talk to your headphones. +- **The menu bar icon is missing** — on MacBooks with a notch, the icon can be hidden when the menu bar is full. Free up some room (quit or hide other menu bar icons). +- **Controls stopped responding** — click **Disconnect** then **Connect…** in the menu, or turn the headphones off and on. +- **The app quits itself right after opening** — launch it through `open`, Finder, Launchpad, Spotlight, or `make run`/`make install`, not by running `Contents/MacOS/SonyBridge` directly; macOS's privacy protection can close apps launched that way. + ## 🤝 Contributing Contributions are very welcome — especially **device reports** and **testing on real hardware**. @@ -159,21 +185,6 @@ SonyBridge builds directly on the work of: - [**semvis123**](https://github.com/semvis123) — the original macOS port - [**GadgetBridge**](https://codeberg.org/Freeyourgadget/Gadgetbridge) — reverse-engineered v2 protocol reference -**Community contributors & testers:** - -- [**@CrisProCrack**](https://github.com/CrisProCrack) — WH-1000XM4 (v1) connect fix -- [**@Sebsdnl**](https://github.com/Sebsdnl) — Linux/Wayland crash fix & ULT WEAR support -- **u/More_Way_6784**, **@joelslaby** — WH-1000XM4 hardware testing - -## ❤️ Support - -If SonyBridge is useful to you, consider supporting it — it keeps the reverse-engineering going: - -- 🌍 [**GitHub Sponsors**](https://github.com/sponsors/AmitRajput-Dev) — worldwide (cards, one-off or monthly) -- 🇮🇳 [**Razorpay / UPI**](https://razorpay.me/@amitpratapsingrajput) — for supporters in India - -Starring the repo helps too. ⭐ - ## ⚠️ Disclaimer This project is **not affiliated with, endorsed by, or connected to Sony**. It talks to your headphones From 2aceb82a3f222e33ebe125c25b4744fdc8f2ddd0 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 11:03:54 +0200 Subject: [PATCH 17/31] docs(readme): XM6 verified, drop release/stars badges, build-from-source contributing --- README.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index d3a9ccd..86dcbee 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,6 @@
[![Build](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/build.yml/badge.svg)](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/build.yml) -[![Release](https://img.shields.io/github/v/release/AmitRajput-Dev/SonyBridge?include_prereleases&sort=semver)](https://github.com/AmitRajput-Dev/SonyBridge/releases) -[![Stars](https://img.shields.io/github/stars/AmitRajput-Dev/SonyBridge?style=flat)](https://github.com/AmitRajput-Dev/SonyBridge/stargazers) [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) ![Platforms](https://img.shields.io/badge/platform-macOS-blue) @@ -41,7 +39,7 @@ menu bar app, built with AppKit/SwiftUI. ## ✨ Features **Sound modes** -- 🎚️ **Ambient Sound Control** — Noise Cancelling · Ambient Sound (with a 1–20 level slider and a Focus on Voice switch) · Off +- 🎚️ **Ambient Sound Control** — Noise Cancelling · Ambient Sound (with a 1–20 level slider (1–19 on older models) and a Focus on Voice switch) · Off - 🔄 **Live button sync** — following the headset's own NC button live, even while the menu is open **Equalizer** @@ -112,16 +110,16 @@ From the menu you can: | Status | Devices | |--------|---------| -| ✅ **Verified** | WH-CH720N, Sony ULT WEAR (WH-ULT900N) | -| 🟢 **Expected** (v2, over-ear — NC/Ambient/battery/EQ) | WH-1000XM5, WH-1000XM6, WH-XB910N, WH-CH520 | +| ✅ **Verified** | WH-CH720N, Sony ULT WEAR (WH-ULT900N), WH-1000XM6 | +| 🟢 **Expected** (v2, over-ear — NC/Ambient/battery/EQ) | WH-1000XM5, WH-XB910N, WH-CH520 | | 🟡 **v2 earbuds** (controls work; battery format differs) | WF-1000XM4, WF-1000XM5, WF-C700N, LinkBuds S | | 🔵 **Legacy** (v1 protocol — NC/Ambient only) | WH-1000XM4, WH-1000XM3, WH-1000XM2, WH-XB900N, MDR-XB950BT | -> Only the WH-CH720N is fully hardware-verified. Others share the same protocol family, so the basics -> should work — per-model quirks are untested. Reports and PRs for other devices are very welcome. +> The Verified models are hardware-tested. Others share the same protocol family, so the basics should +> work — per-model quirks are untested. Reports and PRs for other devices are very welcome. > -> On the **WH-1000XM6**, everything works as listed above except changing the equalizer in Manual mode -> (reading its 10-band equalizer already works) — that's coming in a later update. +> On the **WH-1000XM6**, changing the equalizer in Manual mode is coming in a later update (reading its +> 10-band equalizer already works). ## 🚀 Build from source @@ -174,7 +172,7 @@ Protocol byte layouts were cross-referenced against Contributions are very welcome — especially **device reports** and **testing on real hardware**. - 🐛 **Found a bug / have a device to report?** [Open an issue](https://github.com/AmitRajput-Dev/SonyBridge/issues/new) with your model and what happened. -- 🧪 **Want to test?** Grab a [release](https://github.com/AmitRajput-Dev/SonyBridge/releases) and tell us how it behaves on your headset (a screenshot helps a lot). +- 🧪 **Want to test?** Build it from source (`make install`) and tell us how it behaves on your headset (a screenshot helps a lot). - 🔧 **Code?** Fork, branch, and open a PR against `main`. CI builds the macOS app on every PR. ## 🙏 Credits From 23ec865b20b9102aa28a30b5875449b0f4765ceb Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 14:17:13 +0200 Subject: [PATCH 18/31] add --- Client/Headphones.cpp | 38 ++++ Client/Headphones.h | 17 +- Client/macos/HeadphonesBridge.h | 26 ++- Client/macos/HeadphonesBridge.mm | 212 ++++++++++++++-------- Client/macos/HeadphonesMenu.swift | 4 +- Client/macos/HeadphonesModel.swift | 10 +- Client/macos/MacOSBluetoothConnector.mm | 5 + Client/macos/fr.lproj/Localizable.strings | 4 +- Client/tests/FakeConnector.h | 5 +- Client/tests/HeadphonesTests.cpp | 93 ++++++++++ README.md | 28 +-- 11 files changed, 337 insertions(+), 105 deletions(-) diff --git a/Client/Headphones.cpp b/Client/Headphones.cpp index 5772286..f41f5e9 100644 --- a/Client/Headphones.cpp +++ b/Client/Headphones.cpp @@ -76,18 +76,32 @@ int Headphones::getVptType() return this->_vptType.current; } +bool Headphones::isV2() +{ + return this->_conn.getProtocolVersion() == SonyProtocolVersion::V2; +} + void Headphones::initDevice() { + if (!this->isV2()) return; // v2-only (see Headphones.h) // v2 devices expect an init handshake before they answer GET inquiries. Best-effort: the reply // (INIT_REPLY, 8 bytes on v2) is ignored here - we only need the device to enter the ready state. this->_conn.sendCommandAndReadResponse( { (char)V2Command::INIT_REQUEST, 0x00 }, V2Command::INIT_REPLY ); + this->_initialized = true; +} + +bool Headphones::isInitialized() +{ + return this->_initialized; } void Headphones::requestBattery() { + // CRITICAL: 0x22 is POWER_OFF on v1 - never send it on a v1 link (see Headphones.h). + if (!this->isV2()) return; // Single battery (over-ear and most models): GET 22 00 -> RET 23 00 try { auto resp = this->_conn.sendCommandAndReadResponse({ (char)V2Command::BATTERY_GET, 0x00 }, V2Command::BATTERY_RET, 0x00); @@ -112,6 +126,8 @@ void Headphones::requestBattery() } // TWS earbuds: dual L/R (22 09 -> 23 09 ) and case (22 0a -> 23 0a ). + // Re-check the live link before each 0x22 frame: any 0x22 is POWER_OFF on v1, whatever the subtype. + if (!this->isV2()) return; try { auto resp = this->_conn.sendCommandAndReadResponse({ (char)V2Command::BATTERY_GET, 0x09 }, V2Command::BATTERY_RET, 0x09); if (resp.size() >= 6) { @@ -123,6 +139,7 @@ void Headphones::requestBattery() } } catch (...) {} + if (!this->isV2()) return; try { auto resp = this->_conn.sendCommandAndReadResponse({ (char)V2Command::BATTERY_GET, 0x0a }, V2Command::BATTERY_RET, 0x0a); if (resp.size() >= 4) { @@ -149,6 +166,7 @@ int Headphones::getBatteryCase() { return this->_batteryCase; } void Headphones::requestEqualizer() { + if (!this->isV2()) return; // v2-only (see Headphones.h) // GET: 56 00 -> RET: 57 00 (decoded by ProtocolParsers::parseEqualizer) auto resp = this->_conn.sendCommandAndReadResponse({ (char)V2Command::EQ_GET, 0x00 }, V2Command::EQ_RET); if (auto eq = ProtocolParsers::parseEqualizer(resp)) @@ -174,6 +192,7 @@ EQ_PRESET Headphones::getEqualizerPreset() void Headphones::setEqualizerPreset(EQ_PRESET preset) { + if (!this->isV2()) return; // v2-only (see Headphones.h) // SET preset: 58 00 00 this->_conn.sendCommand({ (char)V2Command::EQ_SET, @@ -187,6 +206,7 @@ void Headphones::setEqualizerPreset(EQ_PRESET preset) void Headphones::setEqualizerCustom(int clearBass, const std::vector& bands) { + if (!this->isV2()) return; // v2-only (see Headphones.h) // SET custom: 58 00 A0 06 (0xA0 = MANUAL preset; values clamped to [-10,10]) auto clamp = [](int v) { return (char)(unsigned char)(std::max(-10, std::min(10, v)) + 10); }; Buffer cmd = { @@ -220,6 +240,7 @@ int Headphones::getEqualizerBand(int index) void Headphones::requestDsee() { + if (!this->isV2()) return; // v2-only (see Headphones.h) // GET: e6 01 -> RET: e7 01 auto resp = this->_conn.sendCommandAndReadResponse( { (char)V2Command::DSEE_GET, 0x01 }, @@ -229,9 +250,15 @@ void Headphones::requestDsee() { std::lock_guard guard(this->_propertyMtx); this->_dsee = resp[2] != 0; + this->_hasDsee = true; } } +bool Headphones::hasDsee() +{ + return this->_hasDsee; +} + bool Headphones::getDsee() { return this->_dsee; @@ -239,6 +266,7 @@ bool Headphones::getDsee() void Headphones::setDsee(bool enabled) { + if (!this->isV2()) return; // v2-only (see Headphones.h) // SET: e8 01 this->_conn.sendCommand({ (char)V2Command::DSEE_SET, @@ -283,6 +311,7 @@ void Headphones::probeNcAsmInquiryType() { // The WH-1000XM6 answers the legacy 0x17 inquiry with all zeros and reports its real state on 0x19. // Setting the mode still goes through 68 17, which the XM6 accepts. + if (!this->isV2()) return; // v2-only (see Headphones.h) try { auto resp = this->_conn.sendCommandAndReadResponse({ 0x66, 0x19 }, 0x67, 0x19); @@ -327,26 +356,32 @@ void Headphones::probeCapabilities() { // Each GET is best-effort: an unsupported feature times out (recv timeout -> throw) and stays unsupported, // so we never expose or send a command the device can't handle. + if (!this->isV2()) return; // v2-only (see Headphones.h) try { auto r = this->_conn.sendCommandAndReadResponse({ (char)V2Command::FW_GET, 0x02 }, V2Command::FW_RET); if (r.size() > 3) { std::lock_guard g(this->_propertyMtx); this->_firmware = std::string(r.begin() + 3, r.end()); this->_hasFirmware = true; } } catch (...) {} + // The live link is re-checked before each probe: this sequence can take ~12 s to time out. + if (!this->isV2()) return; try { auto r = this->_conn.sendCommandAndReadResponse({ (char)V2Command::CODEC_GET, 0x02 }, V2Command::CODEC_RET); if (r.size() >= 3) { auto n = codecName((unsigned char)r[2]); if (!n.empty()) { std::lock_guard g(this->_propertyMtx); this->_codec = n; this->_hasCodec = true; } } } catch (...) {} + if (!this->isV2()) return; try { auto r = this->_conn.sendCommandAndReadResponse({ (char)V2Command::APO_GET, 0x05 }, V2Command::APO_RET); if (r.size() >= 4) { std::lock_guard g(this->_propertyMtx); this->_autoPowerOff = apoIndexFromCode((unsigned char)r[2], (unsigned char)r[3]); this->_hasAutoPowerOff = true; } } catch (...) {} + if (!this->isV2()) return; try { auto r = this->_conn.sendCommandAndReadResponse({ (char)V2Command::BTNMODE_GET, (char)V2Command::SUB_ADAPTIVE_VOLUME }, V2Command::BTNMODE_RET, V2Command::SUB_ADAPTIVE_VOLUME); if (r.size() >= 3) { std::lock_guard g(this->_propertyMtx); this->_adaptiveVolume = (r[2] == 0); this->_hasAdaptiveVolume = true; } } catch (...) {} + if (!this->isV2()) return; try { auto r = this->_conn.sendCommandAndReadResponse({ (char)V2Command::BTNMODE_GET, (char)V2Command::SUB_SPEAK_TO_CHAT }, V2Command::BTNMODE_RET, V2Command::SUB_SPEAK_TO_CHAT); if (r.size() >= 3) { std::lock_guard g(this->_propertyMtx); this->_speakToChat = (r[2] == 0); this->_hasSpeakToChat = true; } @@ -358,6 +393,7 @@ int Headphones::getAutoPowerOff() { return this->_autoPowerOff; } void Headphones::setAutoPowerOff(int index) { if (index < 0 || index > 5) return; + if (!this->isV2()) return; // v2-only (see Headphones.h) this->_conn.sendCommand({ (char)V2Command::APO_SET, 0x05, (char)APO_CODES[index].first, (char)APO_CODES[index].second }); std::lock_guard guard(this->_propertyMtx); this->_autoPowerOff = index; @@ -372,6 +408,7 @@ bool Headphones::hasSpeakToChat() { return this->_hasSpeakToChat; } bool Headphones::getSpeakToChat() { return this->_speakToChat; } void Headphones::setSpeakToChat(bool enabled) { + if (!this->isV2()) return; // v2-only (see Headphones.h) // SET: f8 0c 01 (enable bit is inverted on v2) this->_conn.sendCommand({ (char)V2Command::BTNMODE_SET, (char)V2Command::SUB_SPEAK_TO_CHAT, (char)(enabled ? 0x00 : 0x01), 0x01 }); std::lock_guard guard(this->_propertyMtx); @@ -382,6 +419,7 @@ bool Headphones::hasAdaptiveVolume() { return this->_hasAdaptiveVolume; } bool Headphones::getAdaptiveVolume() { return this->_adaptiveVolume; } void Headphones::setAdaptiveVolume(bool enabled) { + if (!this->isV2()) return; // v2-only (see Headphones.h) // SET: f8 0a (inverted) this->_conn.sendCommand({ (char)V2Command::BTNMODE_SET, (char)V2Command::SUB_ADAPTIVE_VOLUME, (char)(enabled ? 0x00 : 0x01) }); std::lock_guard guard(this->_propertyMtx); diff --git a/Client/Headphones.h b/Client/Headphones.h index 2f1ce99..635728c 100644 --- a/Client/Headphones.h +++ b/Client/Headphones.h @@ -1,6 +1,7 @@ #include "BluetoothWrapper.h" #include "Constants.h" +#include #include template @@ -33,8 +34,15 @@ class Headphones { void setVptType(int val); int getVptType(); + // SAFETY: every v2-only inquiry/setter below (init, battery, equalizer, DSEE, NC/ASM probe, capability + // probes and their setters) returns WITHOUT sending anything when the live link isn't v2 - opcode 0x22 + // (BATTERY_GET on v2) is POWER_OFF on v1. This guards against a stale session's queued work reaching a + // v1 headset that got connected on the same BluetoothWrapper right after. + // Handshake the device expects before it answers inquiry (GET) commands on the v2 protocol. void initDevice(); + // True once initDevice() got its reply. Per object, i.e. per connection session. + bool isInitialized(); // Battery (v2 inquiry). getBatteryLevel() returns -1 until requestBattery() succeeds. // For TWS earbuds requestBattery() also fills the per-earbud + case levels (hasDualBattery()). @@ -53,12 +61,13 @@ class Headphones { // Custom (manual) EQ: 5 band values + clear bass, each in [-10, 10]. Selects the MANUAL preset. void setEqualizerCustom(int clearBass, const std::vector& bands); int getClearBass(); - int getEqualizerBand(int index); // 0..4 + int getEqualizerBand(int index); // 0..4 (5-band layout) or 0..9 (10-band layout) int getEqualizerBandCount(); // 0 until read, then 5 (+ Clear Bass) or 10 bool equalizerHasClearBass(); // DSEE / audio upsampling (v2). void requestDsee(); + bool hasDsee(); // true once the device answered requestDsee() bool getDsee(); void setDsee(bool enabled); @@ -93,6 +102,11 @@ class Headphones { bool isChanged(); void setChanges(); private: + // Checked on every v2-only call (not cached): the wrapper's link can change under a long-lived object. + bool isV2(); + + std::atomic _initialized{ false }; + Property _ambientSoundControl = { 0 }; Property _focusOnVoice = { 0 }; Property _asmLevel = { 0 }; @@ -115,6 +129,7 @@ class Headphones { unsigned char _ncAsmInquiryType = 0x17; // 0x19 on the WH-1000XM6, see probeNcAsmInquiryType() int _eqClearBass = 0; bool _dsee = false; + bool _hasDsee = false; bool _hasAutoPowerOff = false; int _autoPowerOff = 0; bool _hasFirmware = false; std::string _firmware; diff --git a/Client/macos/HeadphonesBridge.h b/Client/macos/HeadphonesBridge.h index 1f5adad..3019aa2 100644 --- a/Client/macos/HeadphonesBridge.h +++ b/Client/macos/HeadphonesBridge.h @@ -44,6 +44,7 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { // NO while this device's equalizer write format is unverified (the WH-1000XM6's 10-band layout, spec §7). @property (nonatomic, readonly) BOOL equalizerWritable; @property (nonatomic, readonly) NSInteger clearBass; // -10..10 +@property (nonatomic, readonly) BOOL hasDsee; // the device answered the DSEE inquiry @property (nonatomic, readonly) BOOL dsee; // DSEE / audio upsampling // Optional features (present only if the device answered the capability probe on connect). @@ -58,8 +59,13 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { @property (nonatomic, readonly) BOOL hasAdaptiveVolume; @property (nonatomic, readonly) BOOL adaptiveVolume; -// Runs the native Bluetooth device picker (modal, main thread) and connects to the chosen device. -// completion is called on the main thread. +// Background work and sessions: every async call below captures the current connection session; once it +// ends (disconnect, or a new connection) its queued work stops before the next headphones call and its +// completion is NOT called, so a previous session can never touch the next link or overwrite the model. + +// Uses the Sony headset already connected to macOS, else runs the native Bluetooth picker (modal), then +// connects. Call on the main thread; completion runs synchronously on it, after nested run-loop pumping +// while the link opens. - (void)scanAndConnectWithCompletion:(void (^)(BOOL ok, NSString * _Nullable error))completion; // Name heuristic for Sony headsets (WH-/WF-/WI-/MDR-/XB/LinkBuds). @@ -68,7 +74,8 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { + (nullable NSString *)connectedSonyHeadsetAddress NS_SWIFT_NAME(connectedSonyHeadsetAddress()); // YES if the device with this address is connected to macOS (its audio link is up). + (BOOL)isDeviceConnectedToMac:(NSString *)address NS_SWIFT_NAME(isDeviceConnectedToMac(_:)); -// Opens the control channel to a specific device, without the picker. Completion on the main thread. +// Opens the control channel to a specific device, without the picker. Call on the main thread; completion +// runs synchronously on the caller's thread, after nested run-loop pumping while the link opens. - (void)connectToAddress:(NSString *)address completion:(void (^)(BOOL ok, NSString * _Nullable error))completion NS_SWIFT_NAME(connect(toAddress:completion:)); @@ -80,16 +87,19 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { focusVoice:(BOOL)focusVoice completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; -// Runs the init handshake (once) then reads battery + equalizer on a background thread; completion on main. +// On a background thread: v2 devices get the init handshake + NC/ASM channel probe (once per session), then +// NC/ASM, battery, equalizer and DSEE reads - completion on main - then the optional-feature probes - +// completion on main again. v1 devices only get the NC/ASM read (completion called once). - (void)refreshStatusWithCompletion:(void (^)(void))completion; // Pushes an equalizer preset (raw EQ_PRESET byte) to the device; completion on main. - (void)setEqualizerPreset:(NSInteger)preset completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; -// Current custom EQ band value (-10..10) for band 0..4. +// Current custom EQ band value (-10..10) for band 0..4 (5-band layout) or 0..9 (10-band layout). - (NSInteger)equalizerBandAtIndex:(NSInteger)index; -// Pushes manual/custom EQ (clear bass + 5 bands, each -10..10) to the device. +// Pushes manual/custom EQ (clear bass + 5 bands, each -10..10) to the device - 5-band layout only +// (equalizerWritable). - (void)setCustomEqualizerBass:(NSInteger)bass bands:(NSArray *)bands completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; // Toggles DSEE / audio upsampling. @@ -99,8 +109,8 @@ typedef NS_ENUM(NSInteger, SHCAmbientMode) { - (void)setSpeakToChat:(BOOL)enabled completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; - (void)setAdaptiveVolume:(BOOL)enabled completion:(void (^)(BOOL ok, NSString * _Nullable error))completion; -// Re-reads the fast-changing state (ambient/NC, level, EQ, DSEE) so changes made with the headphone's -// own button show up in the app. Called on a timer while connected. +// Re-reads the NC/ASM state only (mode, ambient level, focus on voice) so changes made with the headphone's +// own button show up in the app. Called on a timer while connected. Completion on the main thread. - (void)refreshDynamicWithCompletion:(void (^)(void))completion; // Re-reads the battery level (v2 devices only). Completion on the main thread. diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index 9f61462..f62f3fc 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -7,6 +7,9 @@ #import #import +#include +#include +#include #include #include "MacOSBluetoothConnector.h" #include "BluetoothWrapper.h" @@ -14,14 +17,56 @@ // RecoverableException comes in transitively via BluetoothWrapper.h -> IBluetoothConnector.h -> Exceptions.h. // (Exceptions.h isn't a project file reference, so it can't be #included directly from this directory.) +// What a background block captures: the session's Headphones object plus the bridge's session generation at +// dispatch time. One BluetoothWrapper serves the whole app lifetime, so after a disconnect a previous +// session's queued work would otherwise keep running on whatever link comes next (possibly a v1 headset, +// where the v2 battery inquiry 0x22 is POWER_OFF). Blocks call isCurrent() before every headphones call and +// stop once the session ended. +struct SHCSession { + std::shared_ptr hp; + std::shared_ptr> generation; + uint64_t token; + bool isCurrent() const { return generation->load() == token; } +}; + +// Runs a finished block's completion on the main queue, unless its session ended meanwhile: the data it +// would publish belongs to a previous connection. No caller waits on these completions. +static void SHCCompleteOnMain(SHCSession session, void (^completion)(void)) { + dispatch_async(dispatch_get_main_queue(), ^{ + if (session.isCurrent()) completion(); + }); +} + +static void SHCFinishOnMain(SHCSession session, BOOL ok, NSString * _Nullable error, + void (^completion)(BOOL, NSString * _Nullable)) { + dispatch_async(dispatch_get_main_queue(), ^{ + if (session.isCurrent()) completion(ok, error); + }); +} + +// Core exceptions carry English developer text ("recv timed out", "No ACK received from device", ...): log it, +// show a translated message instead. +static NSString *SHCCommandError(const std::exception &exc) { + fprintf(stderr, "[error] %s\n", exc.what()); + return NSLocalizedString(@"The headphones didn't respond.", nil); +} + +static NSString *SHCConnectionError(const std::exception &exc) { + fprintf(stderr, "[error] %s\n", exc.what()); + return NSLocalizedString(@"Couldn't open the control channel.", nil); +} + @implementation HeadphonesBridge { std::unique_ptr _bt; // shared_ptr: background blocks capture their own copy so a disconnect()-triggered _hp.reset() on the // main thread can't free the object while a queued block is still mid-way through a read/write. + // One Headphones object per connection session (it also holds that session's "initialized" flag). std::shared_ptr _hp; + // Session generation, bumped when a session ends or starts; see SHCSession. shared_ptr so blocks can + // hold it without retaining self. + std::shared_ptr> _generation; NSString *_deviceName; NSString *_deviceMac; - BOOL _initialized; // All user-initiated commands run on this SERIAL queue so quick successive taps reach the device in // order (a concurrent queue let them race and land out of order). dispatch_queue_t _cmdQueue; @@ -30,11 +75,22 @@ @implementation HeadphonesBridge { - (instancetype)init { if ((self = [super init])) { _bt = std::make_unique(std::make_unique()); + _generation = std::make_shared>(0); _cmdQueue = dispatch_queue_create("com.sonybridge.commands", DISPATCH_QUEUE_SERIAL); } return self; } +// Main thread only (reads _hp). +- (SHCSession)currentSession { + return SHCSession{ _hp, _generation, _generation->load() }; +} + +// Invalidates every block captured so far: they stop before their next headphones call. +- (void)bumpSession { + _generation->fetch_add(1); +} + - (BOOL)connected { return _bt && _bt->isConnected(); } @@ -110,6 +166,8 @@ - (BOOL)equalizerHasClearBass { return _hp && _hp->equalizerHasClearBass(); } // Only the 5-band + Clear Bass layout (WH-CH720N family) has a verified write format. - (BOOL)equalizerWritable { return self.supportsEqualizer && _hp && _hp->equalizerHasClearBass(); } +- (BOOL)hasDsee { return _hp && _hp->hasDsee(); } + - (BOOL)dsee { return _hp ? _hp->getDsee() : NO; } @@ -168,10 +226,15 @@ - (void)scanAndConnectWithCompletion:(void (^)(BOOL, NSString * _Nullable))compl } - (void)connectDevice:(IOBluetoothDevice *)device completion:(void (^)(BOOL, NSString * _Nullable))completion { + // A connection attempt ends whatever session came before: its queued work stops before its next call, + // and no refresh can pair the new link with the old Headphones object while the link opens. + _hp.reset(); + [self bumpSession]; + try { _bt->connect([[device addressString] UTF8String]); - } catch (RecoverableException &exc) { - completion(NO, @(exc.what())); + } catch (std::exception &exc) { + completion(NO, SHCConnectionError(exc)); return; } @@ -191,7 +254,9 @@ - (void)connectDevice:(IOBluetoothDevice *)device completion:(void (^)(BOOL, NSS _deviceName = [device nameOrAddress]; _deviceMac = [device addressString]; + // New session: a fresh Headphones object (not initialized yet) and a new generation. _hp = std::make_shared(*_bt); + [self bumpSession]; completion(YES, nil); } @@ -221,81 +286,86 @@ - (void)connectToAddress:(NSString *)address completion:(void (^)(BOOL, NSString } - (void)disconnect { + // First, so this session's queued work stops before its next headphones call. + [self bumpSession]; if (_bt) _bt->disconnect(); _hp.reset(); _deviceName = nil; _deviceMac = nil; - _initialized = NO; } - (void)refreshStatusWithCompletion:(void (^)(void))completion { if (!_hp || !self.connected) { completion(); return; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; // CRITICAL: the init/battery/EQ inquiries below use v2 opcodes. Opcode 0x22 is BATTERY_LEVEL_REQUEST // on v2 but POWER_OFF on v1 - sending it to a v1 device (e.g. WH-1000XM4) powers the headphones off. // A v1 device still needs *some* valid handshake traffic right after connect or it drops/powers off on // its own, so read its ambient state (read-only 66 02) instead of sending nothing. + // This dispatch-time check only picks the path: the session check stops the block once this session + // ended, and Headphones re-checks the live protocol before every v2-only frame. if (_bt->getProtocolVersion() != SonyProtocolVersion::V2) { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - try { hp->requestAmbientState(); } catch (std::exception &exc) {} - dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); + if (!session.isCurrent()) return; + try { session.hp->requestAmbientState(); } catch (std::exception &) {} + SHCCompleteOnMain(session, completion); }); return; } // Reads run on the global queue (not the serial command queue) so they don't block quick user taps; // per-call the connector mutex still serializes actual I/O. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ + Headphones *hp = session.hp.get(); // kept alive by the block's session copy // Fast, always-supported reads first, then update the UI immediately... // Each read is independent: one lost frame (recv timeout) must not skip the others, or a fresh // connection stays half-initialized (no battery, no EQ, NC/ASM polled on the wrong channel). - if (!self->_initialized) { - for (int attempt = 0; attempt < 2 && !self->_initialized; attempt++) { - try { - hp->initDevice(); - self->_initialized = YES; - } catch (std::exception &exc) {} + if (!hp->isInitialized()) { + for (int attempt = 0; attempt < 2 && !hp->isInitialized(); attempt++) { + if (!session.isCurrent()) return; + try { hp->initDevice(); } catch (std::exception &) {} } // Probe even if init never answered, so the NC/ASM channel is still picked (catches internally). + if (!session.isCurrent()) return; hp->probeNcAsmInquiryType(); } // Current NC/ASM state, on the channel probeNcAsmInquiryType() picked. - try { hp->requestAmbientState(); } catch (std::exception &exc) {} - try { hp->requestBattery(); } catch (std::exception &exc) {} - try { hp->requestEqualizer(); } catch (std::exception &exc) {} - try { hp->requestDsee(); } catch (std::exception &exc) {} - dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); + if (!session.isCurrent()) return; + try { hp->requestAmbientState(); } catch (std::exception &) {} + if (!session.isCurrent()) return; + try { hp->requestBattery(); } catch (std::exception &) {} + if (!session.isCurrent()) return; + try { hp->requestEqualizer(); } catch (std::exception &) {} + if (!session.isCurrent()) return; + try { hp->requestDsee(); } catch (std::exception &) {} + SHCCompleteOnMain(session, completion); // ...then the optional-feature probes, which can each take a couple seconds to time out on a // device that doesn't support them. Update the UI again once they've settled. - try { hp->probeCapabilities(); } catch (std::exception &exc) {} - dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); + if (!session.isCurrent()) return; + try { hp->probeCapabilities(); } catch (std::exception &) {} + SHCCompleteOnMain(session, completion); }); } - (void)refreshDynamicWithCompletion:(void (^)(void))completion { if (!_hp || !self.connected) { completion(); return; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // The headphone's physical button only changes ambient/NC, so that's all we poll (keeps traffic low). // requestAmbientState() is protocol-aware (v2 uses 66 17, v1 uses 66 02), so this is safe on both. - try { hp->requestAmbientState(); } catch (std::exception &exc) {} - dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); + if (!session.isCurrent()) return; + try { session.hp->requestAmbientState(); } catch (std::exception &) {} + SHCCompleteOnMain(session, completion); }); } - (void)refreshBatteryWithCompletion:(void (^)(void))completion { // CRITICAL: 0x22 is BATTERY_LEVEL_REQUEST on v2 but POWER_OFF on v1 - never send it to a v1 device. if (!_hp || !self.connected || _bt->getProtocolVersion() != SonyProtocolVersion::V2) { completion(); return; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - try { hp->requestBattery(); } catch (std::exception &exc) {} - dispatch_async(dispatch_get_main_queue(), ^{ completion(); }); + if (!session.isCurrent()) return; + try { session.hp->requestBattery(); } catch (std::exception &) {} + SHCCompleteOnMain(session, completion); }); } @@ -309,21 +379,18 @@ - (void)setEqualizerPreset:(NSInteger)preset completion:(void (^)(BOOL, NSString completion(NO, NSLocalizedString(@"Equalizer control isn't supported on this device yet.", nil)); return; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(_cmdQueue, ^{ + if (!session.isCurrent()) return; NSString *error = nil; BOOL ok = YES; try { - hp->setEqualizerPreset(static_cast((unsigned char)preset)); + session.hp->setEqualizerPreset(static_cast((unsigned char)preset)); } catch (std::exception &exc) { ok = NO; - error = @(exc.what()); + error = SHCCommandError(exc); } - dispatch_async(dispatch_get_main_queue(), ^{ - completion(ok, error); - }); + SHCFinishOnMain(session, ok, error, completion); }); } @@ -335,15 +402,14 @@ - (void)setCustomEqualizerBass:(NSInteger)bass bands:(NSArray *)band std::vector cbands; for (NSNumber *n in bands) cbands.push_back((int)n.integerValue); int cbass = (int)bass; - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(_cmdQueue, ^{ + if (!session.isCurrent()) return; NSString *error = nil; BOOL ok = YES; try { - hp->setEqualizerCustom(cbass, cbands); - } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } - dispatch_async(dispatch_get_main_queue(), ^{ completion(ok, error); }); + session.hp->setEqualizerCustom(cbass, cbands); + } catch (std::exception &exc) { ok = NO; error = SHCCommandError(exc); } + SHCFinishOnMain(session, ok, error, completion); }); } @@ -352,15 +418,14 @@ - (void)setDsee:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))c completion(NO, NSLocalizedString(@"Not supported on this device.", nil)); return; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(_cmdQueue, ^{ + if (!session.isCurrent()) return; NSString *error = nil; BOOL ok = YES; try { - hp->setDsee(enabled); - } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } - dispatch_async(dispatch_get_main_queue(), ^{ completion(ok, error); }); + session.hp->setDsee(enabled); + } catch (std::exception &exc) { ok = NO; error = SHCCommandError(exc); } + SHCFinishOnMain(session, ok, error, completion); }); } @@ -389,60 +454,51 @@ - (void)applyMode:(SHCAmbientMode)mode break; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(_cmdQueue, ^{ + if (!session.isCurrent()) return; NSString *error = nil; BOOL ok = YES; try { - if (hp->isChanged()) hp->setChanges(); - } catch (RecoverableException &exc) { - ok = NO; - error = @(exc.what()); + if (session.hp->isChanged()) session.hp->setChanges(); } catch (std::exception &exc) { ok = NO; - error = @(exc.what()); + error = SHCCommandError(exc); } - dispatch_async(dispatch_get_main_queue(), ^{ - completion(ok, error); - }); + SHCFinishOnMain(session, ok, error, completion); }); } - (void)setAutoPowerOff:(NSInteger)index completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(_cmdQueue, ^{ + if (!session.isCurrent()) return; NSString *error = nil; BOOL ok = YES; - try { hp->setAutoPowerOff((int)index); } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } - dispatch_async(dispatch_get_main_queue(), ^{ completion(ok, error); }); + try { session.hp->setAutoPowerOff((int)index); } catch (std::exception &exc) { ok = NO; error = SHCCommandError(exc); } + SHCFinishOnMain(session, ok, error, completion); }); } - (void)setSpeakToChat:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(_cmdQueue, ^{ + if (!session.isCurrent()) return; NSString *error = nil; BOOL ok = YES; - try { hp->setSpeakToChat(enabled); } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } - dispatch_async(dispatch_get_main_queue(), ^{ completion(ok, error); }); + try { session.hp->setSpeakToChat(enabled); } catch (std::exception &exc) { ok = NO; error = SHCCommandError(exc); } + SHCFinishOnMain(session, ok, error, completion); }); } - (void)setAdaptiveVolume:(BOOL)enabled completion:(void (^)(BOOL, NSString * _Nullable))completion { if (!_hp || !self.connected) { completion(NO, NSLocalizedString(@"Not connected.", nil)); return; } - // Capture a shared_ptr copy so the background block keeps the object alive even if disconnect() (main - // thread) resets _hp while this block is still running. - std::shared_ptr hp = _hp; + SHCSession session = [self currentSession]; dispatch_async(_cmdQueue, ^{ + if (!session.isCurrent()) return; NSString *error = nil; BOOL ok = YES; - try { hp->setAdaptiveVolume(enabled); } catch (std::exception &exc) { ok = NO; error = @(exc.what()); } - dispatch_async(dispatch_get_main_queue(), ^{ completion(ok, error); }); + try { session.hp->setAdaptiveVolume(enabled); } catch (std::exception &exc) { ok = NO; error = SHCCommandError(exc); } + SHCFinishOnMain(session, ok, error, completion); }); } diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index 99ec9bc..4db3fae 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -116,7 +116,7 @@ final class HeadphonesMenu { equalizerMenu.addItem(.separator()) equalizerRowItem = hostingMenuItem(width: MenuMetrics.equalizerWidth) { EqualizerRow(model: model) } equalizerMenu.addItem(equalizerRowItem) - equalizerNoteItem.title = tr("Manual equalizer coming soon for this model") + equalizerNoteItem.title = tr("Equalizer changes coming soon for this model") equalizerNoteItem.isEnabled = false equalizerMenu.addItem(equalizerNoteItem) equalizerResetItem = ActionMenuItem(tr("Reset")) { [weak model] in model?.resetEqualizer() } @@ -191,7 +191,7 @@ final class HeadphonesMenu { equalizerRowItem.isHidden = model.eqBands.isEmpty equalizerResetItem.isEnabled = connected && model.equalizerWritable && model.eqPreset == 0xA0 - dseeItem.isHidden = !model.supportsEqualizer + dseeItem.isHidden = !model.hasDsee speakToChatItem.isHidden = !model.hasSpeakToChat adaptiveVolumeItem.isHidden = !model.hasAdaptiveVolume diff --git a/Client/macos/HeadphonesModel.swift b/Client/macos/HeadphonesModel.swift index fb46f93..e815664 100644 --- a/Client/macos/HeadphonesModel.swift +++ b/Client/macos/HeadphonesModel.swift @@ -39,6 +39,7 @@ final class HeadphonesModel: ObservableObject { @Published private(set) var eqBands: [Int] = [] @Published private(set) var eqHasClearBass = false @Published private(set) var clearBass = 0 + @Published private(set) var hasDsee = false @Published private(set) var dsee = false @Published private(set) var hasAutoPowerOff = false @@ -99,6 +100,7 @@ final class HeadphonesModel: ObservableObject { } cancelReconnect() connectionState = .connected + errorMessage = nil // a failed manual attempt's error must not stay under a "Connected" header syncFromBridge() settings?.lastDeviceAddress = deviceMac bridge.refreshStatus { [weak self] in self?.syncFromBridge() } // called after reads, then after probes @@ -120,6 +122,9 @@ final class HeadphonesModel: ObservableObject { // Not user-initiated: failures stay silent (normal while the headset sleeps). func autoConnect(toAddress address: String) { guard connectionState == .disconnected else { return } + // With Reconnect Automatically on, a failed attempt (launch, DeviceWatcher) is retried by the failure + // path's scheduleReconnect() while the headset stays connected to macOS. + if settings?.autoReconnect == true { reconnectAddress = address } connectionState = .connecting bridge.connect(toAddress: address) { ok, error in self.handleConnectResult(ok: ok, error: error, userInitiated: false) @@ -308,7 +313,9 @@ final class HeadphonesModel: ObservableObject { deviceMac = bridge.deviceMac ?? deviceMac protocolVersion = bridge.protocolVersionString ?? "" maxAmbientLevel = bridge.maxAmbientLevel - readAmbientFromBridge() + // refreshStatus calls this twice (the second ~12 s after connect): don't undo a mode change the user + // made meanwhile. + if pollGuard.shouldAcceptPoll(for: .ambient) { readAmbientFromBridge() } readBatteryFromBridge() supportsEqualizer = bridge.supportsEqualizer equalizerWritable = bridge.equalizerWritable @@ -316,6 +323,7 @@ final class HeadphonesModel: ObservableObject { eqHasClearBass = bridge.equalizerHasClearBass clearBass = bridge.clearBass eqBands = (0.. g(receiveDataMutex); + receivedBytes.clear(); + } // convert mac address to nsstring NSString *addressNSString = [NSString stringWithCString:addrStr.c_str() encoding:[NSString defaultCStringEncoding]]; // get device based on mac address diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index 9db07ce..faa8245 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -27,7 +27,7 @@ "Speech" = "Parole"; "Manual" = "Manuel"; "Custom" = "Personnalisé"; -"Manual equalizer coming soon for this model" = "Égaliseur manuel bientôt disponible pour ce modèle"; +"Equalizer changes coming soon for this model" = "Réglage de l’égaliseur bientôt disponible pour ce modèle"; "Reset" = "Réinitialiser"; "DSEE" = "DSEE"; "Speak-to-Chat" = "Speak-to-Chat"; @@ -55,3 +55,5 @@ "Not connected." = "Non connecté."; "Equalizer control isn't supported on this device yet." = "Le réglage de l’égaliseur n’est pas encore pris en charge sur cet appareil."; "Not supported on this device." = "Non pris en charge sur cet appareil."; +"The headphones didn't respond." = "Le casque n’a pas répondu."; +"Couldn't open the control channel." = "Impossible d’ouvrir le canal de contrôle."; diff --git a/Client/tests/FakeConnector.h b/Client/tests/FakeConnector.h index 08de21e..d16dfa1 100644 --- a/Client/tests/FakeConnector.h +++ b/Client/tests/FakeConnector.h @@ -17,6 +17,9 @@ class FakeBluetoothConnector : public IBluetoothConnector public: std::vector sentFrames; std::deque incomingFrames; + // What getProtocolVersion() reports. V1 by default (BluetoothWrapperTests don't care); tests that model a + // v2 headset set V2. + SonyProtocolVersion protocolVersion = SonyProtocolVersion::V1; int send(char* buf, size_t length) noexcept(false) override { @@ -44,7 +47,7 @@ class FakeBluetoothConnector : public IBluetoothConnector void disconnect() noexcept override {} bool isConnected() noexcept override { return true; } std::vector getConnectedDevices() override { return {}; } - SonyProtocolVersion getProtocolVersion() noexcept override { return SonyProtocolVersion::V1; } + SonyProtocolVersion getProtocolVersion() noexcept override { return this->protocolVersion; } }; // Decodes a frame previously recorded by FakeBluetoothConnector::send (includes START_MARKER/END_MARKER). diff --git a/Client/tests/HeadphonesTests.cpp b/Client/tests/HeadphonesTests.cpp index c987b7e..3f69f24 100644 --- a/Client/tests/HeadphonesTests.cpp +++ b/Client/tests/HeadphonesTests.cpp @@ -68,6 +68,7 @@ static void testTransientBatteryTimeoutKeepsSingleBattery() { auto fakeOwned = std::make_unique(); FakeBluetoothConnector* fake = fakeOwned.get(); + fake->protocolVersion = SonyProtocolVersion::V2; // the WH-1000XM6 is a v2 device BluetoothWrapper wrapper(std::move(fakeOwned)); Headphones phones(wrapper); @@ -100,6 +101,7 @@ static void testTwsDeviceWithNoSingleBatteryStillProbes() { auto fakeOwned = std::make_unique(); SelectiveFakeConnector* fake = fakeOwned.get(); + fake->protocolVersion = SonyProtocolVersion::V2; // TWS earbuds are v2 devices BluetoothWrapper wrapper(std::move(fakeOwned)); Headphones phones(wrapper); @@ -111,10 +113,101 @@ static void testTwsDeviceWithNoSingleBatteryStillProbes() CHECK(phones.hasDualBattery() == true); } +// Safety (final review I1): on a v1 link the v2-only inquiries and setters must send nothing at all. Opcode +// 0x22 (BATTERY_GET on v2) is POWER_OFF on v1 - a stale session's queued read landing on a v1 headset +// (e.g. WH-1000XM4) connected right after would power it off. +static void testV1ConnectionSendsNoV2OnlyFrame() +{ + auto fakeOwned = std::make_unique(); + FakeBluetoothConnector* fake = fakeOwned.get(); + fake->protocolVersion = SonyProtocolVersion::V1; + BluetoothWrapper wrapper(std::move(fakeOwned)); + Headphones phones(wrapper); + + // Each call must return (or throw) without having sent a single frame. + auto sendsNothing = [&](const char* name, auto&& call) { + fake->sentFrames.clear(); + try { call(); } catch (...) {} + if (!fake->sentFrames.empty()) std::printf(" %s sent %zu frame(s) on a v1 link\n", name, fake->sentFrames.size()); + CHECK(fake->sentFrames.empty()); + }; + sendsNothing("requestBattery", [&] { phones.requestBattery(); }); + sendsNothing("requestEqualizer", [&] { phones.requestEqualizer(); }); + sendsNothing("requestDsee", [&] { phones.requestDsee(); }); + sendsNothing("initDevice", [&] { phones.initDevice(); }); + sendsNothing("probeNcAsmInquiryType", [&] { phones.probeNcAsmInquiryType(); }); + sendsNothing("probeCapabilities", [&] { phones.probeCapabilities(); }); + sendsNothing("setEqualizerPreset", [&] { phones.setEqualizerPreset(EQ_PRESET::OFF); }); + sendsNothing("setEqualizerCustom", [&] { phones.setEqualizerCustom(0, { 0, 0, 0, 0, 0 }); }); + sendsNothing("setDsee", [&] { phones.setDsee(true); }); + sendsNothing("setAutoPowerOff", [&] { phones.setAutoPowerOff(1); }); + sendsNothing("setSpeakToChat", [&] { phones.setSpeakToChat(true); }); + sendsNothing("setAdaptiveVolume", [&] { phones.setAdaptiveVolume(true); }); + + CHECK(!phones.isInitialized()); + CHECK(!phones.hasDsee()); + CHECK(phones.getBatteryLevel() == -1); +} + +// A link that turns v1 right after the first frame goes out - models a v1 headset connected on the same +// BluetoothWrapper while a stale multi-frame call (battery TWS probes, capability probes) is still running. +class FlipsToV1AfterFirstSend : public FakeBluetoothConnector +{ +public: + int send(char* buf, size_t length) noexcept(false) override + { + int sent = FakeBluetoothConnector::send(buf, length); + this->protocolVersion = SonyProtocolVersion::V1; + return sent; + } +}; + +// The live protocol is re-checked before every v2-only frame, not only on entry: 22 09 / 22 0a are +// POWER_OFF on v1 too (the opcode, 0x22, is what matters). +static void testLinkTurningV1MidCallStopsSending() +{ + auto onlyFirstFrameSent = [](const char* name, auto&& call) { + auto fakeOwned = std::make_unique(); + FlipsToV1AfterFirstSend* fake = fakeOwned.get(); + fake->protocolVersion = SonyProtocolVersion::V2; + BluetoothWrapper wrapper(std::move(fakeOwned)); + Headphones phones(wrapper); + try { call(phones); } catch (...) {} + if (fake->sentFrames.size() != 1) std::printf(" %s sent %zu frame(s), expected 1\n", name, fake->sentFrames.size()); + CHECK(fake->sentFrames.size() == 1); + }; + onlyFirstFrameSent("requestBattery", [](Headphones& p) { p.requestBattery(); }); + onlyFirstFrameSent("probeCapabilities", [](Headphones& p) { p.probeCapabilities(); }); +} + +// A v2 device that answers the handshake is marked initialized (per Headphones object = per session), and one +// that answers the DSEE inquiry reports the capability. +static void testV2InitAndDseeCapability() +{ + auto fakeOwned = std::make_unique(); + SelectiveFakeConnector* fake = fakeOwned.get(); + fake->protocolVersion = SonyProtocolVersion::V2; + BluetoothWrapper wrapper(std::move(fakeOwned)); + Headphones phones(wrapper); + + CHECK(!phones.isInitialized()); + CHECK(!phones.hasDsee()); + fake->scriptReplyTo(V2Command::INIT_REQUEST, 0x00, { V2Command::INIT_REPLY, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }); + fake->scriptReplyTo(V2Command::DSEE_GET, 0x01, { V2Command::DSEE_RET, 0x01, 0x01 }); + phones.initDevice(); + phones.requestDsee(); + CHECK(phones.isInitialized()); + CHECK(phones.hasDsee()); + CHECK(phones.getDsee()); +} + int main() { testTransientBatteryTimeoutKeepsSingleBattery(); testTwsDeviceWithNoSingleBatteryStillProbes(); + testV1ConnectionSendsNoV2OnlyFrame(); + testLinkTurningV1MidCallStopsSending(); + testV2InitAndDseeCapability(); if (failures) { std::printf("HeadphonesTests: %d failure(s)\n", failures); return 1; } std::printf("HeadphonesTests: all passed\n"); diff --git a/README.md b/README.md index 86dcbee..86e7ac9 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@
-[![Build](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/build.yml/badge.svg)](https://github.com/AmitRajput-Dev/SonyBridge/actions/workflows/build.yml) +[![Build](https://github.com/flotttt/SonyBridge/actions/workflows/build.yml/badge.svg)](https://github.com/flotttt/SonyBridge/actions/workflows/build.yml) [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) ![Platforms](https://img.shields.io/badge/platform-macOS-blue) @@ -32,7 +32,7 @@ reverse-engineered binary protocol — no phone required. It lives entirely in y Dock icon, no window, just a native menu. The original [SonyHeadphonesClient](https://github.com/Plutoberth/SonyHeadphonesClient) only spoke Sony's -**first-generation** protocol, so newer headsets (WH-CH720N, XM4/XM5, WF-series, LinkBuds…) just timed +**first-generation** protocol, so newer headsets (WH-CH720N, WH-1000XM5/XM6, WF-series, LinkBuds…) just timed out on connect. SonyBridge adds full **second-generation ("v2") protocol** support and a native macOS menu bar app, built with AppKit/SwiftUI. @@ -43,7 +43,7 @@ menu bar app, built with AppKit/SwiftUI. - 🔄 **Live button sync** — following the headset's own NC button live, even while the menu is open **Equalizer** -- 🎛️ **Equalizer** — presets *and* a **Manual mode** with vertical sliders (5 bands + Clear Bass on older models). The **WH-1000XM6**'s 10-band equalizer is read and displayed, but changing it isn't available yet — its write format isn't verified, so the sliders are greyed out with a "coming soon" note +- 🎛️ **Equalizer** — presets *and* a **Manual mode** with vertical sliders (5 bands + Clear Bass on older models). The **WH-1000XM6**'s 10-band equalizer is read and displayed; changing the equalizer (presets and Manual) is coming in a later update — its write format isn't verified yet, so the presets and sliders are greyed out with a "coming soon" note **Other settings** *(each shown only if your headset supports it)* - ✨ **DSEE** — Sony's audio upscaling for compressed sources @@ -74,7 +74,7 @@ xcode-select --install Then: ```sh -git clone https://github.com/AmitRajput-Dev/SonyBridge.git +git clone https://github.com/flotttt/SonyBridge.git cd SonyBridge make install ``` @@ -102,9 +102,9 @@ From the menu you can: - pick an **Equalizer** preset or dial in a **Manual** curve; - toggle **DSEE**, **Speak-to-Chat**, and **Adaptive Volume** (only the ones your model supports); - set **Auto Power-Off**; -- check battery and firmware under **About the Headphones**; +- check the battery level in the menu's header, and the firmware, codec and protocol under **About the Headphones**; - turn **Launch at Login**, **Connect Automatically**, and **Reconnect Automatically** on or off under **SonyBridge Options**; -- **Disconnect** (auto-reconnect stays off until the headset reconnects on its own or you click **Connect…** again) or **Quit SonyBridge** (⌘Q). +- **Disconnect** (SonyBridge then stays disconnected until you click **Connect…** again or — with **Connect Automatically** on — the headset reconnects to your Mac) or **Quit SonyBridge** (⌘Q). ## 🎧 Supported headphones @@ -118,15 +118,15 @@ From the menu you can: > The Verified models are hardware-tested. Others share the same protocol family, so the basics should > work — per-model quirks are untested. Reports and PRs for other devices are very welcome. > -> On the **WH-1000XM6**, changing the equalizer in Manual mode is coming in a later update (reading its -> 10-band equalizer already works). +> On the **WH-1000XM6**, changing the equalizer (presets and Manual) is coming in a later update (reading +> its 10-band equalizer already works). ## 🚀 Build from source Requires the **Xcode Command Line Tools** (`xcode-select --install`) — the full Xcode app is not needed. ```sh -git clone https://github.com/AmitRajput-Dev/SonyBridge.git +git clone https://github.com/flotttt/SonyBridge.git cd SonyBridge make # debug build → build/SonyBridge.app make run # builds and launches the app (add DEBUG=1 to log every protocol frame) @@ -151,10 +151,11 @@ Sony headphones expose a vendor RFCOMM/SPP service. Commands are framed as: Two protocol generations exist, distinguished by their SDP service UUID: -- **v1** — `96CC203E-…` — WH-1000XM3 and older -- **v2** — `956C7B26-…` — WH-CH720N, Sony ULT WEAR, XM4/XM5, WF-series, LinkBuds… +- **v1** — `96CC203E-…` — WH-1000XM4 and older (WH-1000XM3, WH-1000XM2, WH-XB900N…) +- **v2** — `956C7B26-…` — WH-CH720N, Sony ULT WEAR, WH-1000XM5/XM6, WF-series, LinkBuds… -SonyBridge tries v1 first, falls back to v2, and remembers which succeeded. The v2 path adds the mandatory +On every connect, SonyBridge looks for the v1 service first and falls back to v2 (it probes again each +time rather than remembering the result). The v2 path adds the mandatory init handshake and per-frame host-ACK the newer devices require, plus battery, EQ and DSEE inquiry commands. Protocol byte layouts were cross-referenced against [**GadgetBridge**](https://codeberg.org/Freeyourgadget/Gadgetbridge)'s Sony implementation. @@ -171,7 +172,7 @@ Protocol byte layouts were cross-referenced against Contributions are very welcome — especially **device reports** and **testing on real hardware**. -- 🐛 **Found a bug / have a device to report?** [Open an issue](https://github.com/AmitRajput-Dev/SonyBridge/issues/new) with your model and what happened. +- 🐛 **Found a bug / have a device to report?** [Open an issue](https://github.com/flotttt/SonyBridge/issues/new) with your model and what happened. - 🧪 **Want to test?** Build it from source (`make install`) and tell us how it behaves on your headset (a screenshot helps a lot). - 🔧 **Code?** Fork, branch, and open a PR against `main`. CI builds the macOS app on every PR. @@ -179,6 +180,7 @@ Contributions are very welcome — especially **device reports** and **testing o SonyBridge builds directly on the work of: +- [**SonyBridge**](https://github.com/AmitRajput-Dev/SonyBridge) by AmitRajput-Dev — the original SonyBridge project this fork builds on - [**SonyHeadphonesClient**](https://github.com/Plutoberth/SonyHeadphonesClient) by Plutoberth, Mr-M33533K5 & contributors — the original cross-platform client and protocol foundation - [**semvis123**](https://github.com/semvis123) — the original macOS port - [**GadgetBridge**](https://codeberg.org/Freeyourgadget/Gadgetbridge) — reverse-engineered v2 protocol reference From b36aa299abe1bcfca88987559361da4a5ebd8bd4 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 15:09:35 +0200 Subject: [PATCH 19/31] docs: notch + local Spotify design spec (step 1) --- .../specs/2026-09-11-notch-design.md | 278 ++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100644 docs/superpowers/specs/2026-09-11-notch-design.md diff --git a/docs/superpowers/specs/2026-09-11-notch-design.md b/docs/superpowers/specs/2026-09-11-notch-design.md new file mode 100644 index 0000000..ce92ed3 --- /dev/null +++ b/docs/superpowers/specs/2026-09-11-notch-design.md @@ -0,0 +1,278 @@ +# SonyBridge dans l'encoche — spec de design (étape 1) + +- **Date :** 2026-09-11 +- **Statut :** validé en discussion, à relire avant le plan d'implémentation +- **Casque de référence :** WH-1000XM6 (protocole v2) +- **Découpage :** étape 1 (cette spec) = encoche + onglet Casque + Spotify local ; étape 2 (spec séparée, plus + tard) = connexion Spotify (SSO) + source Web + changement d'appareil. + +## 1. Objectif + +Ajouter à SonyBridge une **encoche interactive** en haut de l'écran, dans l'esprit de « Dynamic Island » : +au repos, elle montre discrètement la musique en cours et le mode du casque ; au survol, elle s'ouvre et +permet de piloter la musique (Spotify) et le mode du casque sans ouvrir le menu. + +Le menu de la barre des menus reste l'interface complète ; l'encoche est un accès rapide. + +## 2. Périmètre + +**Inclus (étape 1)** +- L'encoche (panneau au-dessus de la barre des menus), sur l'écran intégré à encoche, ou une pastille + simulée sur un écran sans encoche. +- Onglet **Musique** : pochette, titre, artiste, barre de progression avec temps écoulé et restant (on peut + la glisser pour avancer), précédent / lecture-pause / suivant, volume Spotify, appareil (« Ce Mac »). +- Onglet **Casque** : NC / Ambiant / Off, curseur de niveau ambiant, Focus voix. +- La source **Spotify local** : l'app Spotify du Mac, lue et pilotée sans compte. +- L'option « Afficher l'encoche » dans les options de SonyBridge. +- Le français et l'anglais (mécanisme `tr()` existant). + +**Exclu de l'étape 1** +- Connexion au compte Spotify (SSO), source Web, changement d'appareil Spotify Connect → étape 2 (§10). +- « J'aime » (ajout aux Titres likés) : non retenu. +- Autres lecteurs (Apple Music, navigateurs…) : l'API privée d'Apple (MediaRemote) est verrouillée depuis + macOS 15.4, trop fragile. +- Batterie et égaliseur dans l'encoche : restent dans le menu. + +## 3. Décisions + +| Sujet | Décision | Raison | +|---|---|---| +| Licence | Implémentation originale à partir de la documentation Apple ; aucun code ni visuel copié de boring.notch (GPL-3.0) | SonyBridge reste sous licence MIT ; l'idée d'une encoche n'est pas protégée, le code l'est | +| Disposition ouverte | Onglets **Musique \| Casque** (maquette « B ») | Encoche compacte | +| Ouverture | Au survol, fermeture quand la souris sort | Rapide, comme boring.notch | +| Écran sans encoche | Pastille simulée en haut au centre de l'écran principal | Même comportement partout | +| Source musique | Spotify local (AppleScript + signaux Spotify) à l'étape 1 ; Spotify Web (SSO) à l'étape 2, avec repli local | Utilisable par tous sans compte développeur ; le SSO n'est possible qu'avec un Client ID par utilisateur (§10) | +| Extras Musique | Volume, avancer dans le morceau ; changer d'appareil à l'étape 2 | Choix de l'utilisateur | +| Réglages casque dans l'encoche | Mode NC/Ambiant/Off, niveau ambiant + Focus voix | Choix de l'utilisateur ; le reste est dans le menu | +| Technique | `NSPanel` sans bordure, non activant, contenu SwiftUI (`NSHostingView`) | Pas de vol du focus clavier ; SwiftUI déjà utilisé pour les lignes du menu | + +## 4. L'encoche + +### 4.1 États au repos + +« Musique présente » = Spotify est ouvert **et** son état est lecture ou pause avec un morceau courant. +« Casque connecté » = `HeadphonesModel.connectionState == .connected` (« Connexion… » compte comme non connecté). + +| # | Musique | Casque | Au repos | +|---|---|---|---| +| 1 | oui | oui | Pochette à gauche, mode du casque à droite (◉ NC, ◎ Ambiant, ○ Off) | +| 2 | oui | non | Pochette à gauche, petites barres à droite, animées en lecture, figées en pause | +| 3 | non | oui | Icône casque à gauche, mode à droite | +| 4 | non | non | Encoche nue, sans extension. Sur un écran **sans** encoche, la pastille simulée est masquée | + +Dans les états 1 à 3, l'encoche s'élargit d'environ 36 pt de chaque côté pour loger ces éléments. +Le survol ouvre l'encoche dans tous les états où elle est visible, y compris l'état 4 sur un écran à encoche. + +### 4.2 État ouvert + +``` +╭──────────────────────────────────╮ Onglet Musique +│ Musique Casque │ +│ ┌────┐ Midnight City │ +│ │ ♪ │ M83 │ +│ └────┘ ━━━━━━━●────── 1:32 −2:31│ ← barre de progression (glissable) +│ ⏮ ⏸ ⏭ │ +│ 🔈 ───────●──── 🔊 │ ← volume Spotify +│ 🔊 Ce Mac │ ← appareil +╰──────────────────────────────────╯ + +╭──────────────────────────────────╮ Onglet Casque +│ Musique Casque │ +│ [ NC | Ambiant | Off ] │ ← choix exclusifs +│ Niveau ─────●───── 12 │ ← grisé hors mode Ambiant +│ Focus voix [ ● ] │ ← grisé hors mode Ambiant +╰──────────────────────────────────╯ +``` + +- Taille ouverte fixe (environ 360 × 160 pt, à ajuster à la vérification visuelle), la même pour les deux + onglets : pas de saut de taille en changeant d'onglet. +- Coins inférieurs arrondis ; le haut se confond avec l'encoche. +- **Casque non connecté** : « Non connecté » + bouton « Connecter », qui appelle `HeadphonesModel.connect()` + (même comportement que « Connecter… » dans le menu). Pendant la connexion : « Connexion… ». +- **Spotify non ouvert** : « Spotify n'est pas ouvert » + bouton « Ouvrir Spotify » (lance l'app). +- **Autorisation refusée** : « SonyBridge n'a pas l'autorisation de contrôler Spotify » + bouton + « Ouvrir les réglages » (Réglages Système › Confidentialité et sécurité › Automatisation). +- **Spotify ouvert mais rien en cours** (état stopped) : « Rien en cours de lecture ». +- Le curseur de niveau va de 1 à `maxAmbientLevel` (20, ou 19 sur les anciens modèles), comme dans le menu. + +### 4.3 Comportement + +- **Ouverture** après ~0,15 s de survol ; **fermeture** ~0,4 s après la sortie de la souris. Ces délais sont + des constantes, testées dans la logique pure (§8). +- **Animation** : ouverture et fermeture en ressort, à partir de la forme de l'encoche ; fondu simple si + « Réduire les animations » est activé (`NSWorkspace.shared.accessibilityDisplayShouldReduceMotion`). +- **Focus** : le panneau ne devient jamais la fenêtre active (non activant) ; les clics y fonctionnent + sans voler le clavier à l'app courante. +- **Zone de clic** : repliée, la fenêtre fait exactement la taille de l'encoche (élargie ou non) ; elle ne + prend la taille ouverte que pendant l'ouverture. Elle ne bloque donc jamais la barre des menus en dehors + de l'encoche. +- **Onglet à l'ouverture** : au premier survol de la session, Musique si une musique est présente, sinon + Casque ; ensuite le dernier onglet choisi (en mémoire seulement, pas enregistré). +- **Écrans** : l'écran intégré à encoche s'il existe, sinon l'écran principal avec la pastille simulée. + L'encoche se replace à chaque changement d'écrans (`NSApplication.didChangeScreenParametersNotification`) : + écran branché/débranché, capot fermé, résolution changée. +- **Bureaux et plein écran** : visible sur tous les bureaux et par-dessus les apps en plein écran. +- **Option** « Afficher l'encoche » décochée : le panneau est retiré ; aucune lecture Spotify n'est faite. +- **Synchronisation** avec le menu : les deux lisent le même `HeadphonesModel` ; un changement de mode dans + l'encoche apparaît aussitôt dans le menu et l'icône, et inversement. + +## 5. Architecture + +### 5.1 Fichiers (`Client/macos/`) + +Nouveaux dossiers `Notch/` et `Music/`. Les fichiers marqués **pur** n'importent que Foundation : ils sont +compilés dans `LogicTests`. + +| Fichier | Rôle | Dépend de | +|---|---|---| +| `Notch/NotchGeometry.swift` | **Pur.** À partir du cadre de l'écran, de `safeAreaInsets.top` et des zones `auxiliaryTopLeftArea` / `auxiliaryTopRightArea` (passés en valeurs), calcule le rectangle de l'encoche, sa version élargie, le rectangle ouvert, ou la pastille simulée | — | +| `Notch/NotchContent.swift` | **Pur.** Choisit l'état au repos (§4.1) à partir de « musique présente » et « casque connecté », et l'onglet à l'ouverture ; contient les délais d'ouverture/fermeture | — | +| `Notch/NotchPanel.swift` | `NSPanel` sans bordure, transparent, non activant, niveau au-dessus de la barre des menus, présent sur tous les bureaux et en plein écran | AppKit | +| `Notch/NotchController.swift` | Possède le panneau ; choisit l'écran ; suit les changements d'écrans ; gère le survol (zone de suivi + délais) et la taille du panneau ; suit `AppSettings.showNotch` | `NotchPanel`, `NotchGeometry`, `NotchContent`, `HeadphonesModel`, `MusicController`, `AppSettings` | +| `Notch/NotchView.swift` | Vue SwiftUI racine : état au repos, état ouvert avec les onglets | `MusicTab`, `HeadphonesTab` | +| `Notch/MusicTab.swift` | Onglet Musique (§4.2) | `MusicController` | +| `Notch/HeadphonesTab.swift` | Onglet Casque (§4.2) ; appelle `setMode` / `setLevel(_:final:)` / `setFocusOnVoice` / `connect` du modèle | `HeadphonesModel` | +| `Music/NowPlaying.swift` | **Pur.** Structure : titre, artiste, album, identifiant du morceau, URL de la pochette, durée, position + date de cette position, lecture/pause, volume, nom de l'appareil, capacités (`canSeek`, `canSetVolume`, `canChangeDevice`) | — | +| `Music/PlaybackClock.swift` | **Pur.** Position affichée à un instant donné : avance pendant la lecture, figée en pause, bornée à la durée | `NowPlaying` | +| `Music/SpotifyPlaybackInfo.swift` | **Pur.** Transforme le `userInfo` du signal Spotify en `NowPlaying` (durée en ms → s, champs manquants, état « Stopped ») | `NowPlaying` | +| `Music/MusicSource.swift` | Protocole commun : état publié (`NowPlaying?` + état de la source : non ouvert / autorisation refusée / prêt), `playPause`, `next`, `previous`, `seek(to:)`, `setVolume(_:)`, `refresh()` | `NowPlaying` | +| `Music/SpotifyLocalSource.swift` | Implémentation locale (§6) | `MusicSource`, `SpotifyPlaybackInfo`, AppKit | +| `Music/MusicController.swift` | `ObservableObject` lu par l'encoche : expose l'état de la source active, la pochette téléchargée, et relaie les commandes (avec `SendThrottle` pour le volume et la position). Étape 1 : une seule source, la locale | `MusicSource`, `SendThrottle` | + +**Fichiers modifiés** +- `AppSettings.swift` : `showNotch` (`UserDefaults`, **activé** par défaut). +- `AppDelegate.swift` : crée `MusicController` et `NotchController`. +- `HeadphonesMenu.swift` : case « Afficher l'encoche » dans « Options de SonyBridge ». +- `scripts/build.sh` : ajoute `Notch/*.swift` et `Music/*.swift` aux sources Swift. +- `scripts/test.sh` : compile les fichiers purs avec `LogicTests`. +- `Client/tests/LogicTests/main.swift` : nouveaux tests (§8). +- `fr.lproj/Localizable.strings` : nouveaux textes. +- `SonyHeadphonesClient.entitlements` et `info.plist` (§5.2). + +### 5.2 Bac à sable et autorisations + +- `com.apple.security.temporary-exception.apple-events` = `["com.spotify.client"]` : envoyer des Apple Events + à Spotify depuis l'app en bac à sable. (Si le runtime renforcé est activé un jour, il faudra aussi + `com.apple.security.automation.apple-events`.) +- `com.apple.security.network.client` : télécharger la pochette (et, à l'étape 2, parler à l'API Spotify). +- `info.plist` : `NSAppleEventsUsageDescription`, texte affiché par macOS à la première demande. + +### 5.3 Flux de données + +``` +Spotify (app du Mac) ──signal PlaybackStateChanged──▶ SpotifyLocalSource ──NowPlaying──▶ MusicController ──▶ NotchView + ▲ │ │ + └──────────── Apple Events (lecture, volume…) ◀───┴──────────── commandes ◀───────────┘ + +HeadphonesModel (existant) ◀──── setMode / setLevel / setFocusOnVoice ──── HeadphonesTab + └──────── @Published mode, niveau, voix, connexion ──────────▶ NotchView + menu +``` + +## 6. Source Spotify locale + +### 6.1 Lecture de l'état + +- **Signal** `com.spotify.client.PlaybackStateChanged` (`DistributedNotificationCenter`) : Spotify l'émet à + chaque changement de morceau, lecture ou pause. Si le signal contient ses informations (`userInfo` : + titre, artiste, album, durée, position, état), `SpotifyPlaybackInfo` les décode ; sinon (par exemple si le + bac à sable les retire), le signal sert seulement de déclencheur et on relit l'état par Apple Events. +- **Relecture par Apple Events** (`player state`, `current track` : nom, artiste, album, id, durée, + `artwork url` ; `player position` ; `sound volume`) : + - au lancement de SonyBridge si Spotify est déjà ouvert ; + - quand Spotify s'ouvre (`NSWorkspace.didLaunchApplicationNotification`) ; + - toutes les 5 s **uniquement quand l'encoche est ouverte** (le volume ne déclenche pas de signal) ; + - juste après une commande de position ou de volume. +- **Position** : `PlaybackClock` calcule la position affichée à partir de la dernière position connue et de + l'heure ; l'interface se redessine environ une fois par seconde **seulement quand l'encoche est ouverte**. +- **Pochette** : téléchargée depuis `artwork url` (`URLSession`), gardée en mémoire pour les derniers morceaux. +- Spotify quitte (`NSWorkspace.didTerminateApplicationNotification`) → état « non ouvert », `NowPlaying` vidé. + +### 6.2 Commandes + +- `playpause`, `next track`, `previous track`, `set player position`, `set sound volume` (volume de Spotify, + 0–100, pas celui du Mac). +- Volume et position : la valeur affichée change tout de suite ; l'envoi passe par `SendThrottle` + (au plus une commande par 150 ms pendant qu'on glisse, la valeur finale toujours envoyée). +- Les Apple Events partent d'une file série en arrière-plan, avec un délai maximal de 2 s : l'interface ne se + fige jamais si Spotify ne répond pas. + +### 6.3 Protections et erreurs + +- **Aucun Apple Event n'est envoyé si Spotify n'est pas ouvert** (vérifié avec + `NSRunningApplication.runningApplications(withBundleIdentifier: "com.spotify.client")`) : un Apple Event + vers une app fermée la lancerait. Seul le bouton « Ouvrir Spotify » lance l'app. +- **Autorisation** : la première commande ou relecture déclenche la demande de macOS. Si elle est refusée + (`errAEEventNotPermitted`, -1743), la source passe à l'état « autorisation refusée » (§4.2) et arrête ses + relectures ; elle réessaie une seule fois à chaque ouverture de l'encoche (macOS ne redemande pas, l'échec + est immédiat), pour voir si l'autorisation a été accordée entre-temps dans les réglages. +- **Échec ou délai dépassé** : on garde le dernier état connu et on relit au prochain signal ; aucune + alerte, les erreurs sont seulement écrites dans le journal (stderr). + +## 7. Réglages et traductions + +- « Options de SonyBridge » gagne une case **Afficher l'encoche** (activée par défaut). +- Tous les nouveaux textes passent par `tr()` et ont leur traduction dans `fr.lproj/Localizable.strings` ; + `make test` le vérifie (`check_localization.py` parcourt déjà tous les `.swift` sous `Client/macos/`). + +## 8. Tests + +**Automatiques** (ajoutés à `LogicTests`, lancés par `make test`) +- `NotchGeometry` : écran avec encoche → rectangle de l'encoche, version élargie et rectangle ouvert centrés + sous le haut de l'écran ; écran sans encoche → pastille centrée ; cas limites (zones auxiliaires absentes, + écran décalé dans l'espace global). +- `NotchContent` : les 4 états au repos ; onglet à l'ouverture (premier survol puis dernier onglet) ; délais. +- `PlaybackClock` : avance en lecture, figée en pause, bornée à la durée, remise à zéro au changement de morceau. +- `SpotifyPlaybackInfo` : décodage complet, champs manquants, durée en ms, état « Stopped » → pas de musique. + +**Manuels** (par l'utilisateur, sur son Mac et son WH-1000XM6) +1. Survol : ouverture, fermeture, pas de clignotement ; l'app active garde le clavier. +2. Les 4 états au repos. +3. Onglet Casque : changer de mode → le casque change, le menu et l'icône suivent ; bouton NC du casque → + l'encoche suit. +4. Onglet Musique : lecture/pause, suivant, précédent, glisser la position, volume ; changer de morceau dans + Spotify → l'encoche suit. +5. Demande d'autorisation Spotify ; refus → message et bouton des réglages. +6. Spotify fermé → message et bouton « Ouvrir Spotify » ; SonyBridge ne relance jamais Spotify tout seul. +7. Écran externe, capot fermé, rebranchement : l'encoche se replace (pastille simulée sur l'écran externe). +8. Option « Afficher l'encoche » décochée → plus d'encoche ; recochée → elle revient. + +## 9. Risques + +- **Autorisation redemandée après chaque `make`** : macOS rattache l'autorisation d'automatisation à la + signature de l'app, qui change à chaque build ad hoc. Gênant en développement, pas pour l'app installée. +- **API Spotify locale non documentée** : le signal et le dictionnaire AppleScript de Spotify n'ont pas de + garantie officielle (stables depuis des années). En cas de casse, seul l'onglet Musique local est touché. +- **`userInfo` du signal en bac à sable** : non garanti ; le design relit l'état par Apple Events si besoin (§6.1). +- **Extension au repos** : les ~36 pt de chaque côté de l'encoche peuvent recouvrir un élément de la barre + des menus collé à l'encoche ; à vérifier visuellement, largeur ajustable. +- **Pastille simulée** : elle recouvre le centre de la barre des menus sur un écran sans encoche (zone + habituellement vide) ; masquée quand il n'y a rien à afficher. + +## 10. Étape 2 (aperçu, spec séparée) + +Connexion au compte Spotify (Authorization Code + PKCE, sans secret ; jetons dans le Trousseau), source +`SpotifyWebSource` (`/me/player`, interrogé pendant la lecture), changement d'appareil (Spotify Connect), +fenêtre « Spotify… » pour saisir le Client ID. `MusicController` choisira la source Web si l'utilisateur est +connecté, sinon la locale. + +Contraintes Spotify vérifiées le 2026-09-11 : +- une app en mode développement accepte **5 utilisateurs** au plus, ajoutés à la main, et son propriétaire + doit avoir **Premium** (depuis février 2026) ; +- le quota étendu est réservé aux entreprises (≥ 250 000 utilisateurs actifs par mois) depuis mai 2025 ; +- les commandes de lecture restent disponibles en mode développement ; +- adresse de retour : `http://127.0.0.1:` ou un schéma personnalisé (`localhost` refusé). + +Conséquence : pour un repo public, **chaque utilisateur crée sa propre app développeur Spotify** et colle son +Client ID dans SonyBridge ; sans cela, l'encoche reste sur la source locale. + +Sources : [quotas Spotify](https://developer.spotify.com/documentation/web-api/concepts/quota-modes), +[migration février 2026](https://developer.spotify.com/documentation/web-api/tutorials/february-2026-migration-guide), +[adresses de retour](https://developer.spotify.com/documentation/web-api/concepts/redirect_uri). + +## 11. Ordre de construction (indicatif, le plan fait foi) + +1. Logique pure + tests (`NotchGeometry`, `NotchContent`, `NowPlaying`, `PlaybackClock`, `SpotifyPlaybackInfo`). +2. Panneau + contrôleur : l'encoche apparaît au bon endroit, s'ouvre et se ferme au survol, suit les écrans. +3. Onglet Casque branché sur `HeadphonesModel` + option « Afficher l'encoche ». +4. Source Spotify locale + `MusicController` + onglet Musique + autorisations. +5. États au repos complets, animations, vérification visuelle et matérielle. From 61cf297310f3792fe36bb57f09994a16412e3d8b Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 15:32:43 +0200 Subject: [PATCH 20/31] docs: notch step 1 implementation plan Co-Authored-By: Claude Opus 5 --- docs/superpowers/plans/2026-09-11-notch.md | 1985 +++++++++++++++++ .../specs/2026-09-11-notch-design.md | 2 +- 2 files changed, 1986 insertions(+), 1 deletion(-) create mode 100644 docs/superpowers/plans/2026-09-11-notch.md diff --git a/docs/superpowers/plans/2026-09-11-notch.md b/docs/superpowers/plans/2026-09-11-notch.md new file mode 100644 index 0000000..c87750e --- /dev/null +++ b/docs/superpowers/plans/2026-09-11-notch.md @@ -0,0 +1,1985 @@ +# SonyBridge dans l'encoche (étape 1) — plan d'implémentation + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal :** ajouter une encoche interactive en haut de l'écran : au repos elle montre la pochette Spotify et le +mode du casque ; au survol elle s'ouvre sur deux onglets, Musique (Spotify local) et Casque (NC / Ambiant / Off). + +**Architecture :** un `NSPanel` sans bordure et non activant, placé au-dessus de la barre des menus et calé sur +l'encoche (`NotchGeometry`), héberge une vue SwiftUI (`NotchView`). La musique vient d'une interface commune +`MusicSource` ; l'étape 1 n'a que `SpotifyLocalSource` (signal `PlaybackStateChanged` + Apple Events via +`NSAppleScript`), exposée à l'interface par `MusicController`. L'onglet Casque appelle le `HeadphonesModel` existant. +Toute la logique décidable sans AppKit (géométrie, état au repos, horloge de lecture, décodage Spotify) est dans +des fichiers purs testés par `LogicTests`. + +**Tech Stack :** Swift 5 (mode de langage), SwiftUI, AppKit, Combine, Foundation (`NSAppleScript`, +`DistributedNotificationCenter`, `URLSession`) ; build `swiftc` via `scripts/build.sh` et `Makefile` ; tests +`scripts/test.sh` ; Python 3 (vérification des traductions). + +**Spec :** `docs/superpowers/specs/2026-09-11-notch-design.md` + +## Global Constraints + +- macOS minimum : **13.0** (pas d'API macOS 14+ : par exemple pas de `UnevenRoundedRectangle`, pas d'`onChange` à deux paramètres). +- Pas de Xcode : tout se compile avec les Command Line Tools (`make`, `make test`, `make run`, `make release`). +- Swift compilé avec `-swift-version 5`. +- Licence : **aucun code ni visuel copié de boring.notch (GPL-3.0)**, ni d'un autre projet GPL. Tout est écrit ici, + à partir de la documentation Apple. SonyBridge reste sous licence MIT. +- Textes : **tout texte affiché** passe par `tr("…")`, avec la clé en anglais et sa traduction dans + `Client/macos/fr.lproj/Localizable.strings` (apostrophe typographique `’` dans les traductions françaises). + `make test` le vérifie. Les textes non traduisibles (chiffres, « − ») utilisent `Text(verbatim:)`. +- Spotify : **ne jamais envoyer d'Apple Event à Spotify s'il n'est pas ouvert** (un Apple Event lancerait l'app). + Seul le bouton « Ouvrir Spotify » lance Spotify. +- Casque : l'encoche n'envoie **aucune nouvelle commande** au casque ; elle appelle uniquement + `setMode`, `setLevel(_:final:)`, `setFocusOnVoice` et `connect` du `HeadphonesModel` existant. +- Lancement de l'app : **uniquement** `make run` (qui passe par `open … --args`). Ne jamais lancer + `build/SonyBridge.app/Contents/MacOS/SonyBridge` directement (crash TCC), ne jamais utiliser `open --stdout`. + Le journal est `~/Library/Logs/SonyBridge/app.log` (lien `build/app.log`). +- Git : c'est **l'utilisateur** qui committe. À chaque étape « Commit », afficher la commande proposée et attendre + qu'il la lance. +- Test visuel et matériel : l'agent ne voit pas l'écran. Chaque vérification visuelle est demandée à + l'utilisateur, avec une liste précise de choses à regarder. + +## Carte des fichiers + +| Fichier | Tâche | Responsabilité | +|---|---|---| +| `Client/macos/Notch/NotchGeometry.swift` | 1 | **Pur.** `ScreenMetrics`, `NotchGeometry` : rectangles de l'encoche, élargi, ouvert, pastille | +| `Client/macos/Notch/NotchContent.swift` | 1 | **Pur.** `NotchRestingState`, `NotchTab`, `NotchContent` : état au repos, onglet, délais | +| `Client/macos/Music/NowPlaying.swift` | 2 | **Pur.** `MusicCapabilities`, `NowPlaying` | +| `Client/macos/Music/PlaybackClock.swift` | 2 | **Pur.** Position en direct et format « m:ss » | +| `Client/macos/Music/SpotifyPlaybackInfo.swift` | 2 | **Pur.** `SpotifyState`, décodage du signal et de la réponse AppleScript | +| `Client/macos/Music/MusicSource.swift` | 3 | `MusicSourceStatus`, protocole `MusicSource` | +| `Client/macos/Music/SpotifyScript.swift` | 3 | Textes AppleScript et exécution d'un `NSAppleScript` | +| `Client/macos/Music/SpotifyLocalSource.swift` | 3 | Source Spotify locale | +| `Client/macos/Music/MusicController.swift` | 3 | État musique publié pour l'encoche, pochette, limitation des curseurs | +| `Client/macos/Notch/NotchPanel.swift` | 4 | `NotchPanel`, `NotchContainerView` (survol), `NotchHostingView` (premier clic) | +| `Client/macos/Notch/NotchController.swift` | 4 | Écran, placement, taille, survol, option | +| `Client/macos/Notch/NotchView.swift` | 4, 5, 6 | `NotchViewState`, `NotchShape`, `NotchView`, `ArtworkView`, `LevelBars` | +| `Client/macos/Notch/HeadphonesTab.swift` | 5 | Onglet Casque | +| `Client/macos/Notch/MusicTab.swift` | 6 | Onglet Musique | +| `Client/macos/AppSettings.swift` | 3 | Option `showNotch` | +| `Client/macos/HeadphonesMenu.swift` | 3 | Case « Afficher l'encoche » | +| `Client/macos/AppDelegate.swift` | 3, 4 | Crée `MusicController` et `NotchController` | +| `Client/macos/SonyHeadphonesClient.entitlements` | 3 | Apple Events vers Spotify, réseau sortant | +| `Client/macos/info.plist`, `*.lproj/InfoPlist.strings` | 3 | `NSAppleEventsUsageDescription` | +| `Client/macos/fr.lproj/Localizable.strings` | 3–6 | Traductions | +| `scripts/build.sh` | 1 | Compile aussi `Notch/*.swift` et `Music/*.swift` | +| `scripts/test.sh` | 1, 2 | Ajoute les fichiers purs à `LogicTests` | +| `Client/tests/LogicTests/main.swift` | 1, 2 | Nouveaux tests | +| `README.md` | 6 | Fonction encoche, autorisation Spotify | + +`SpotifyScript.swift` n'est pas dans le tableau §5.1 de la spec : c'est un découpage de `SpotifyLocalSource` +(les textes AppleScript à part), sans nouvelle responsabilité. + +Nombre de clés de traduction attendu par `make test` : **54** aujourd'hui → 55 (tâche 3) → 57 (tâche 4) → +58 (tâche 5) → 67 (tâche 6). + +--- + +### Task 1: Logique pure de l'encoche + câblage du build et des tests + +**Files:** +- Create: `Client/macos/Notch/NotchGeometry.swift`, `Client/macos/Notch/NotchContent.swift` +- Modify: `Client/tests/LogicTests/main.swift` (nouveaux blocs avant `if failures > 0`) +- Modify: `scripts/test.sh` (bloc `LogicTests`), `scripts/build.sh:23` (`SWIFT_SOURCES`) + +**Interfaces:** +- Produces : + - `struct ScreenMetrics: Equatable { var frame: CGRect; var safeAreaTop: CGFloat; var auxiliaryTopLeft: CGRect?; var auxiliaryTopRight: CGRect?; var menuBarHeight: CGFloat }` + - `struct NotchGeometry: Equatable { static let sideExtension: CGFloat /* 36 */; static let simulatedWidth: CGFloat /* 190 */; static let fallbackMenuBarHeight: CGFloat /* 24 */; static let openSize: CGSize /* 380 × 190 */; let hasNotch: Bool; let notch: CGRect; init(screen: ScreenMetrics); var extended: CGRect; var open: CGRect; func restingFrame(for state: NotchRestingState) -> CGRect? }` + - `enum NotchRestingState: Equatable { case musicAndHeadphones, musicOnly, headphonesOnly, empty }` + - `enum NotchTab: Equatable { case music, headphones }` + - `enum NotchContent { static let openDelay: TimeInterval /* 0.15 */; static let closeDelay: TimeInterval /* 0.4 */; static func restingState(hasMusic: Bool, headphonesConnected: Bool) -> NotchRestingState; static func tabOnOpen(lastChosen: NotchTab?, hasMusic: Bool) -> NotchTab }` + +- [ ] **Step 1 : Écrire les tests** — dans `Client/tests/LogicTests/main.swift`, ajouter `import CoreGraphics` + sous `import Foundation` (les initialiseurs `CGRect(x:y:width:height:)` en viennent), puis insérer ces blocs + juste avant `if failures > 0 {` : + +```swift +// NotchGeometry: a 14" MacBook Pro screen (1512 × 982 pt, notch 188 pt wide, 32 pt high). +do { + let screen = ScreenMetrics(frame: CGRect(x: 0, y: 0, width: 1512, height: 982), safeAreaTop: 32, + auxiliaryTopLeft: CGRect(x: 0, y: 950, width: 662, height: 32), + auxiliaryTopRight: CGRect(x: 850, y: 950, width: 662, height: 32), + menuBarHeight: 32) + let geometry = NotchGeometry(screen: screen) + check(geometry.hasNotch, "notched screen detected") + check(geometry.notch == CGRect(x: 662, y: 950, width: 188, height: 32), "notch rect was \(geometry.notch)") + check(geometry.extended == CGRect(x: 626, y: 950, width: 260, height: 32), "extended rect was \(geometry.extended)") + check(geometry.open == CGRect(x: 566, y: 792, width: 380, height: 190), "open rect was \(geometry.open)") + check(geometry.restingFrame(for: .empty) == geometry.notch, "empty state: bare notch") + check(geometry.restingFrame(for: .musicOnly) == geometry.extended, "music: extended notch") +} + +// NotchGeometry: an external screen without a notch, right of the primary screen. +do { + let frame = CGRect(x: 1512, y: 0, width: 2560, height: 1440) + let geometry = NotchGeometry(screen: ScreenMetrics(frame: frame, safeAreaTop: 0, auxiliaryTopLeft: nil, + auxiliaryTopRight: nil, menuBarHeight: 25)) + check(!geometry.hasNotch, "no notch") + check(geometry.notch == CGRect(x: 2697, y: 1415, width: 190, height: 25), "simulated pill was \(geometry.notch)") + check(geometry.restingFrame(for: .empty) == nil, "empty state hides the pill") + check(geometry.restingFrame(for: .headphonesOnly) == geometry.extended, "headphones: extended pill") + + let autoHidden = NotchGeometry(screen: ScreenMetrics(frame: frame, safeAreaTop: 0, auxiliaryTopLeft: nil, + auxiliaryTopRight: nil, menuBarHeight: 0)) + check(autoHidden.notch.height == 24, "auto-hidden menu bar: fallback pill height") + let partial = NotchGeometry(screen: ScreenMetrics(frame: frame, safeAreaTop: 32, auxiliaryTopLeft: nil, + auxiliaryTopRight: nil, menuBarHeight: 32)) + check(!partial.hasNotch, "safe area without auxiliary areas: no notch") +} + +// NotchContent: resting state (spec §4.1), tab on opening, hover delays. +do { + check(NotchContent.restingState(hasMusic: true, headphonesConnected: true) == .musicAndHeadphones, "state 1") + check(NotchContent.restingState(hasMusic: true, headphonesConnected: false) == .musicOnly, "state 2") + check(NotchContent.restingState(hasMusic: false, headphonesConnected: true) == .headphonesOnly, "state 3") + check(NotchContent.restingState(hasMusic: false, headphonesConnected: false) == .empty, "state 4") + check(NotchContent.tabOnOpen(lastChosen: nil, hasMusic: true) == .music, "first open with music: Music") + check(NotchContent.tabOnOpen(lastChosen: nil, hasMusic: false) == .headphones, "first open without music: Headphones") + check(NotchContent.tabOnOpen(lastChosen: .headphones, hasMusic: true) == .headphones, "then the last chosen tab") + check(NotchContent.openDelay == 0.15 && NotchContent.closeDelay == 0.4, "hover delays") +} +``` + +- [ ] **Step 2 : Ajouter les fichiers purs à `LogicTests`** — dans `scripts/test.sh`, remplacer le bloc + `LogicTests` par : + +```bash +echo "== LogicTests" +swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 \ + "$ROOT/Client/tests/LogicTests/main.swift" \ + "$MAC/ReconnectPolicy.swift" "$MAC/PollGuard.swift" "$MAC/SendThrottle.swift" \ + "$MAC/Notch/NotchGeometry.swift" "$MAC/Notch/NotchContent.swift" \ + -o "$OUT/LogicTests" +"$OUT/LogicTests" +``` + +- [ ] **Step 3 : Lancer les tests pour les voir échouer** + +Run : `make test` +Attendu : échec de `swiftc`, `error: no such file or directory: '…/Client/macos/Notch/NotchGeometry.swift'`. + +- [ ] **Step 4 : Écrire `Client/macos/Notch/NotchContent.swift`** + +```swift +import Foundation + +// What the notch shows while resting (spec §4.1) and which tab it opens on. Pure logic, tested in LogicTests. +enum NotchRestingState: Equatable { + case musicAndHeadphones // 1: artwork left, headphones mode right + case musicOnly // 2: artwork left, level bars right + case headphonesOnly // 3: headphones glyph left, mode right + case empty // 4: bare notch (hidden on a screen without a notch) +} + +enum NotchTab: Equatable { + case music, headphones +} + +enum NotchContent { + static let openDelay: TimeInterval = 0.15 // hover time before opening + static let closeDelay: TimeInterval = 0.4 // time after the pointer leaves before closing + + static func restingState(hasMusic: Bool, headphonesConnected: Bool) -> NotchRestingState { + switch (hasMusic, headphonesConnected) { + case (true, true): return .musicAndHeadphones + case (true, false): return .musicOnly + case (false, true): return .headphonesOnly + case (false, false): return .empty + } + } + + // The first opening of the session follows the music; afterwards the last tab the user picked wins. + static func tabOnOpen(lastChosen: NotchTab?, hasMusic: Bool) -> NotchTab { + lastChosen ?? (hasMusic ? .music : .headphones) + } +} +``` + +- [ ] **Step 5 : Écrire `Client/macos/Notch/NotchGeometry.swift`** + +```swift +import CoreGraphics + +// The NSScreen values NotchGeometry needs, copied out so this file stays AppKit-free (tested in LogicTests). +// Rects are in global screen coordinates (origin at the bottom-left of the primary screen). +struct ScreenMetrics: Equatable { + var frame: CGRect + var safeAreaTop: CGFloat // NSScreen.safeAreaInsets.top (0 without a notch) + var auxiliaryTopLeft: CGRect? // NSScreen.auxiliaryTopLeftArea (nil without a notch) + var auxiliaryTopRight: CGRect? // NSScreen.auxiliaryTopRightArea + var menuBarHeight: CGFloat // frame.maxY - visibleFrame.maxY (0 when the menu bar auto-hides) +} + +// Where the notch panel goes (spec §4): the real notch, or a simulated pill centred at the top of a screen +// without one. Every rect shares the notch's horizontal centre and touches the top edge of the screen. +struct NotchGeometry: Equatable { + static let sideExtension: CGFloat = 36 // resting widening on each side (states 1-3) + static let simulatedWidth: CGFloat = 190 // pill width on a screen without a notch + static let fallbackMenuBarHeight: CGFloat = 24 // pill height when the menu bar auto-hides + static let openSize = CGSize(width: 380, height: 190) + + let hasNotch: Bool + let notch: CGRect + + init(screen: ScreenMetrics) { + let top = screen.frame.maxY + if screen.safeAreaTop > 0, let left = screen.auxiliaryTopLeft, let right = screen.auxiliaryTopRight, + screen.frame.width - left.width - right.width > 0 { + // Only the widths of the auxiliary areas are used, so their coordinate space doesn't matter. + hasNotch = true + notch = CGRect(x: screen.frame.minX + left.width, y: top - screen.safeAreaTop, + width: screen.frame.width - left.width - right.width, height: screen.safeAreaTop) + } else { + hasNotch = false + let height = screen.menuBarHeight > 0 ? screen.menuBarHeight : Self.fallbackMenuBarHeight + notch = CGRect(x: screen.frame.midX - Self.simulatedWidth / 2, y: top - height, + width: Self.simulatedWidth, height: height) + } + } + + // The notch widened on both sides, to hold the resting artwork / mode icons. + var extended: CGRect { + notch.insetBy(dx: -Self.sideExtension, dy: 0) + } + + var open: CGRect { + let width = max(Self.openSize.width, extended.width) + let height = max(Self.openSize.height, notch.height) + return CGRect(x: notch.midX - width / 2, y: notch.maxY - height, width: width, height: height) + } + + // Panel frame while resting; nil = hidden (nothing to show on a screen without a notch). + func restingFrame(for state: NotchRestingState) -> CGRect? { + switch state { + case .empty: return hasNotch ? notch : nil + default: return extended + } + } +} +``` + +- [ ] **Step 6 : Compiler les nouveaux dossiers dans l'app** — `scripts/build.sh:23`, remplacer la ligne par : + +```bash +SWIFT_SOURCES=("$MAC"/*.swift "$MAC"/MenuRows/*.swift "$MAC"/Notch/*.swift "$MAC"/Music/*.swift) +``` + +(`shopt -s nullglob` est déjà actif : `Music/` vide ne gêne pas.) + +- [ ] **Step 7 : Lancer les tests et le build** + +Run : `make test && make` +Attendu : `LogicTests: all passed`, les 3 autres suites passent, `Localization: 54 keys, all translated`, puis +`OK -> …/build/SonyBridge.app`, sans avertissement Swift. + +- [ ] **Step 8 : Commit (par l'utilisateur)** + +```bash +git add Client/macos/Notch Client/tests/LogicTests/main.swift scripts/test.sh scripts/build.sh && git commit -m "feat(notch): notch geometry and resting-state logic" -m "Co-Authored-By: Claude Opus 5 " +``` + +--- + +### Task 2: Logique pure de la musique + +**Files:** +- Create: `Client/macos/Music/NowPlaying.swift`, `Client/macos/Music/PlaybackClock.swift`, + `Client/macos/Music/SpotifyPlaybackInfo.swift` +- Modify: `Client/tests/LogicTests/main.swift` (nouveaux blocs avant `if failures > 0`), `scripts/test.sh` + +**Interfaces:** +- Produces : + - `struct MusicCapabilities: Equatable { var canSeek: Bool; var canSetVolume: Bool; var canChangeDevice: Bool }` + - `struct NowPlaying: Equatable { var trackID: String; var title: String; var artist: String; var album: String; var artworkURL: URL?; var duration: TimeInterval; var position: TimeInterval; var positionDate: Date; var isPlaying: Bool; var volume: Int?; var deviceName: String?; var capabilities: MusicCapabilities }` (memberwise init, arguments dans cet ordre ; `deviceName == nil` = « Ce Mac ») + - `enum PlaybackClock { static func position(of track: NowPlaying, at date: Date) -> TimeInterval; static func format(_ seconds: TimeInterval) -> String }` + - `enum SpotifyState: Equatable { case stopped; case track(NowPlaying); case incomplete }` + - `enum SpotifyPlaybackInfo { static let localCapabilities: MusicCapabilities; static let fieldSeparator: Character /* U+001F */; static func parse(signal userInfo: [AnyHashable: Any]?, at date: Date) -> SpotifyState; static func parse(scriptResult text: String, at date: Date) -> SpotifyState }` + +- [ ] **Step 1 : Écrire les tests** — dans `Client/tests/LogicTests/main.swift`, insérer avant `if failures > 0 {` : + +```swift +// PlaybackClock: live position from the last known one; display format. +do { + let t0 = Date(timeIntervalSince1970: 1_000) + var track = NowPlaying(trackID: "spotify:track:1", title: "A", artist: "B", album: "C", artworkURL: nil, + duration: 200, position: 30, positionDate: t0, isPlaying: true, volume: 50, + deviceName: nil, + capabilities: MusicCapabilities(canSeek: true, canSetVolume: true, canChangeDevice: false)) + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(12)) == 42, "playing: advances") + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(500)) == 200, "bounded by the duration") + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(-40)) == 0, "never negative") + track.isPlaying = false + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(12)) == 30, "paused: frozen") + track.isPlaying = true + track.duration = 0 + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(500)) == 530, "unknown duration: not bounded") + let nextTrack = NowPlaying(trackID: "spotify:track:2", title: "D", artist: "E", album: "F", artworkURL: nil, + duration: 180, position: 0, positionDate: t0.addingTimeInterval(100), isPlaying: true, + volume: 50, deviceName: nil, capabilities: track.capabilities) + check(PlaybackClock.position(of: nextTrack, at: t0.addingTimeInterval(100)) == 0, "track change: starts from 0") + check(PlaybackClock.format(65) == "1:05", "format 1:05 was \(PlaybackClock.format(65))") + check(PlaybackClock.format(754.9) == "12:34", "format rounds down") + check(PlaybackClock.format(3723) == "1:02:03", "format with hours") + check(PlaybackClock.format(-3) == "0:00", "format never negative") +} + +// SpotifyPlaybackInfo: the PlaybackStateChanged signal (spec §6.1). +do { + let t0 = Date(timeIntervalSince1970: 1_000) + let signal: [AnyHashable: Any] = [ + "Player State": "Playing", "Track ID": "spotify:track:42", "Name": "Midnight City", "Artist": "M83", + "Album": "Hurry Up, We're Dreaming", "Duration": NSNumber(value: 243_000), "Playback Position": NSNumber(value: 12.5), + ] + if case .track(let track) = SpotifyPlaybackInfo.parse(signal: signal, at: t0) { + check(track.trackID == "spotify:track:42" && track.title == "Midnight City" && track.artist == "M83", "signal: names") + check(track.duration == 243 && track.position == 12.5 && track.positionDate == t0 && track.isPlaying, "signal: timing") + check(track.artworkURL == nil && track.volume == nil && track.deviceName == nil, "signal: no artwork or volume, this Mac") + check(track.capabilities == SpotifyPlaybackInfo.localCapabilities, "signal: local capabilities") + } else { + check(false, "signal with full info decodes to a track") + } + var paused = signal + paused["Player State"] = "Paused" + paused["Playback Position"] = nil + if case .track(let track) = SpotifyPlaybackInfo.parse(signal: paused, at: t0) { + check(!track.isPlaying && track.position == 0, "paused, no position: 0") + } else { + check(false, "paused signal decodes to a track") + } + check(SpotifyPlaybackInfo.parse(signal: ["Player State": "Stopped"], at: t0) == .stopped, "signal: stopped") + check(SpotifyPlaybackInfo.parse(signal: nil, at: t0) == .incomplete, "signal without userInfo: incomplete") + check(SpotifyPlaybackInfo.parse(signal: ["Player State": "Playing"], at: t0) == .incomplete, "signal without track id: incomplete") +} + +// SpotifyPlaybackInfo: the text SpotifyScript.readState returns (fields separated by U+001F). +do { + let t0 = Date(timeIntervalSince1970: 1_000) + let sep = "\u{1F}" + let text = ["paused", "spotify:track:7", "Title", "Artist", "Album", "180000", "61500", + "https://i.scdn.co/image/ab", "70"].joined(separator: sep) + if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: text, at: t0) { + check(!track.isPlaying && track.duration == 180 && track.position == 61.5, "script: timing") + check(track.artworkURL == URL(string: "https://i.scdn.co/image/ab") && track.volume == 70, "script: artwork and volume") + check(track.title == "Title" && track.album == "Album" && track.positionDate == t0, "script: names") + } else { + check(false, "script result decodes to a track") + } + let local = ["playing", "spotify:local:x", "T", "", "", "1000", "0", "", "101"].joined(separator: sep) + if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: local, at: t0) { + check(track.artworkURL == nil && track.volume == 100 && track.artist.isEmpty, "script: empty fields, volume clamped") + } else { + check(false, "script result with empty fields decodes to a track") + } + check(SpotifyPlaybackInfo.parse(scriptResult: "stopped", at: t0) == .stopped, "script: stopped") + check(SpotifyPlaybackInfo.parse(scriptResult: "garbage", at: t0) == .incomplete, "script: malformed") +} +``` + +- [ ] **Step 2 : Ajouter les fichiers à `LogicTests`** — dans `scripts/test.sh`, bloc `LogicTests`, ajouter une + ligne après celle de `Notch/` : + +```bash + "$MAC/Music/NowPlaying.swift" "$MAC/Music/PlaybackClock.swift" "$MAC/Music/SpotifyPlaybackInfo.swift" \ +``` + +- [ ] **Step 3 : Lancer les tests pour les voir échouer** + +Run : `make test` +Attendu : échec de `swiftc`, `error: no such file or directory: '…/Client/macos/Music/NowPlaying.swift'`. + +- [ ] **Step 4 : Écrire `Client/macos/Music/NowPlaying.swift`** + +```swift +import Foundation + +// What a music source can do with the current track (the Web source of step 2 depends on the device). +struct MusicCapabilities: Equatable { + var canSeek: Bool + var canSetVolume: Bool + var canChangeDevice: Bool +} + +// The track a music source is playing (or paused on). `position` was true at `positionDate`; PlaybackClock +// derives the live position from it, so nothing polls while a track plays. +struct NowPlaying: Equatable { + var trackID: String + var title: String + var artist: String + var album: String + var artworkURL: URL? + var duration: TimeInterval // seconds; 0 when unknown + var position: TimeInterval // seconds, at positionDate + var positionDate: Date + var isPlaying: Bool + var volume: Int? // 0...100; nil until known + var deviceName: String? // nil = this Mac + var capabilities: MusicCapabilities +} +``` + +- [ ] **Step 5 : Écrire `Client/macos/Music/PlaybackClock.swift`** + +```swift +import Foundation + +// Live playback position and its display, from the last known position (spec §6.1). +enum PlaybackClock { + static func position(of track: NowPlaying, at date: Date) -> TimeInterval { + var position = track.position + if track.isPlaying { position += date.timeIntervalSince(track.positionDate) } + if track.duration > 0 { position = min(position, track.duration) } + return max(0, position) + } + + // "1:05", "12:34", "1:02:03". + static func format(_ seconds: TimeInterval) -> String { + let total = max(0, Int(seconds.rounded(.down))) + let hours = total / 3600, minutes = total / 60 % 60, secs = total % 60 + return hours > 0 + ? String(format: "%d:%02d:%02d", hours, minutes, secs) + : String(format: "%d:%02d", minutes, secs) + } +} +``` + +- [ ] **Step 6 : Écrire `Client/macos/Music/SpotifyPlaybackInfo.swift`** + +```swift +import Foundation + +// Result of decoding what the local Spotify app reports. +enum SpotifyState: Equatable { + case stopped // Spotify is open with nothing loaded + case track(NowPlaying) + case incomplete // not enough information: read the state through Apple Events instead +} + +// Decodes the local Spotify app's signal and Apple Events replies (spec §6.1). Pure, tested in LogicTests. +enum SpotifyPlaybackInfo { + static let localCapabilities = MusicCapabilities(canSeek: true, canSetVolume: true, canChangeDevice: false) + static let fieldSeparator: Character = "\u{1F}" + + // com.spotify.client.PlaybackStateChanged userInfo: "Player State" (Playing / Paused / Stopped), "Track ID", + // "Name", "Artist", "Album", "Duration" (ms), "Playback Position" (s). It never carries artwork or volume. + static func parse(signal userInfo: [AnyHashable: Any]?, at date: Date) -> SpotifyState { + guard let info = userInfo, let state = info["Player State"] as? String else { return .incomplete } + if state == "Stopped" { return .stopped } + guard state == "Playing" || state == "Paused", + let trackID = info["Track ID"] as? String, !trackID.isEmpty else { return .incomplete } + return .track(NowPlaying( + trackID: trackID, + title: info["Name"] as? String ?? "", + artist: info["Artist"] as? String ?? "", + album: info["Album"] as? String ?? "", + artworkURL: nil, + duration: ((info["Duration"] as? NSNumber)?.doubleValue ?? 0) / 1000, + position: (info["Playback Position"] as? NSNumber)?.doubleValue ?? 0, + positionDate: date, + isPlaying: state == "Playing", + volume: nil, + deviceName: nil, + capabilities: localCapabilities)) + } + + // SpotifyScript.readState's reply: "stopped", or 9 fields separated by U+001F — state, track id, name, + // artist, album, duration (ms), position (ms), artwork URL, volume. + static func parse(scriptResult text: String, at date: Date) -> SpotifyState { + if text == "stopped" { return .stopped } + let fields = text.split(separator: fieldSeparator, omittingEmptySubsequences: false).map(String.init) + guard fields.count == 9, fields[0] == "playing" || fields[0] == "paused", !fields[1].isEmpty else { + return .incomplete + } + return .track(NowPlaying( + trackID: fields[1], + title: fields[2], + artist: fields[3], + album: fields[4], + artworkURL: URL(string: fields[7]), + duration: (Double(fields[5]) ?? 0) / 1000, + position: (Double(fields[6]) ?? 0) / 1000, + positionDate: date, + isPlaying: fields[0] == "playing", + volume: Int(fields[8]).map { min(100, max(0, $0)) }, + deviceName: nil, + capabilities: localCapabilities)) + } +} +``` + +- [ ] **Step 7 : Lancer les tests et le build** + +Run : `make test && make` +Attendu : `LogicTests: all passed`, `Localization: 54 keys, all translated`, build `OK`, sans avertissement. + +- [ ] **Step 8 : Commit (par l'utilisateur)** + +```bash +git add Client/macos/Music Client/tests/LogicTests/main.swift scripts/test.sh && git commit -m "feat(music): now-playing model, playback clock and Spotify info decoding" -m "Co-Authored-By: Claude Opus 5 " +``` + +--- + +### Task 3: Source Spotify locale + `MusicController` + option « Afficher l'encoche » + +Pas de test unitaire ici (AppKit, Apple Events, signaux système) : la logique décidable est déjà testée en +tâche 2. La vérification se fait dans le journal, sur le Mac de l'utilisateur, avant que l'encoche existe. + +**Files:** +- Create: `Client/macos/Music/MusicSource.swift`, `Client/macos/Music/SpotifyScript.swift`, + `Client/macos/Music/SpotifyLocalSource.swift`, `Client/macos/Music/MusicController.swift` +- Modify: `Client/macos/AppSettings.swift`, `Client/macos/HeadphonesMenu.swift`, `Client/macos/AppDelegate.swift` +- Modify: `Client/macos/SonyHeadphonesClient.entitlements`, `Client/macos/info.plist`, + `Client/macos/en.lproj/InfoPlist.strings`, `Client/macos/fr.lproj/InfoPlist.strings`, + `Client/macos/fr.lproj/Localizable.strings` + +**Interfaces:** +- Consumes (tâche 2) : `NowPlaying`, `PlaybackClock.position(of:at:)`, `SpotifyState`, + `SpotifyPlaybackInfo.parse(signal:at:)`, `SpotifyPlaybackInfo.parse(scriptResult:at:)` ; existant : `SendThrottle`. +- Produces : + - `enum MusicSourceStatus: Equatable { case notRunning, permissionDenied, ready }` + - `protocol MusicSource: AnyObject { var onChange: ((MusicSourceStatus, NowPlaying?) -> Void)? { get set }; func start(); func stop(); func refresh(); func playPause(); func next(); func previous(); func seek(to seconds: TimeInterval); func setVolume(_ volume: Int); func launchPlayer() }` + - `final class MusicController: ObservableObject { @Published private(set) var status: MusicSourceStatus; @Published private(set) var nowPlaying: NowPlaying?; @Published private(set) var artwork: NSImage?; var hasMusic: Bool; init(source: MusicSource = SpotifyLocalSource()); func start(); func stop(); func notchDidOpen(); func notchDidClose(); func playPause(); func next(); func previous(); func seek(to seconds: TimeInterval, final: Bool); func setVolume(_ volume: Int, final: Bool); func launchPlayer(); func openAutomationSettings() }` + - `AppSettings.showNotch: Bool` (`@Published`, activée par défaut) + - `AppDelegate` : propriété `music: MusicController`, démarrée / arrêtée selon `settings.showNotch` + +- [ ] **Step 1 : Écrire `Client/macos/Music/MusicSource.swift`** + +```swift +import Foundation + +enum MusicSourceStatus: Equatable { + case notRunning // the player app isn't open + case permissionDenied // macOS refused SonyBridge the right to control it + case ready +} + +// Where the music comes from (spec §5.1). Step 1: SpotifyLocalSource; step 2 adds the Spotify Web API. +// Called on the main thread; onChange is called on the main thread. +protocol MusicSource: AnyObject { + var onChange: ((MusicSourceStatus, NowPlaying?) -> Void)? { get set } + func start() + func stop() + func refresh() + func playPause() + func next() + func previous() + func seek(to seconds: TimeInterval) + func setVolume(_ volume: Int) + func launchPlayer() +} +``` + +- [ ] **Step 2 : Écrire `Client/macos/Music/SpotifyScript.swift`** + +```swift +import Foundation + +// AppleScript sent to the local Spotify app (spec §6). Only ever run on SpotifyLocalSource's script queue. +enum SpotifyScript { + enum Result: Equatable { + case success(String) + case failure(Int) // AppleScript / Apple Event error number + } + + // Fields joined by U+001F; times as integer milliseconds so no locale decimal separator shows up. + // Parsed by SpotifyPlaybackInfo.parse(scriptResult:at:). + static let readState = """ + with timeout of 2 seconds + tell application id "com.spotify.client" + set playerState to (player state as text) + if playerState is "stopped" then return "stopped" + set t to current track + set sep to (character id 31) + set art to artwork url of t + if art is missing value then set art to "" + return playerState & sep & (id of t) & sep & (name of t) & sep & (artist of t) & sep & (album of t) & sep & ((duration of t) as text) & sep & ((((player position) * 1000) div 1) as text) & sep & art & sep & ((sound volume) as text) + end tell + end timeout + """ + + // One command, e.g. "playpause", "next track", "set sound volume to 40". + static func command(_ body: String) -> String { + """ + with timeout of 2 seconds + tell application id "com.spotify.client" to \(body) + end timeout + """ + } + + static func run(_ script: NSAppleScript?) -> Result { + guard let script = script else { return .failure(-2700) } + var error: NSDictionary? + let output = script.executeAndReturnError(&error) + if let error = error { + return .failure((error[NSAppleScript.errorNumber] as? NSNumber)?.intValue ?? -2700) + } + return .success(output.stringValue ?? "") + } +} +``` + +- [ ] **Step 3 : Écrire `Client/macos/Music/SpotifyLocalSource.swift`** + +```swift +import AppKit + +// Reads and controls the Spotify app of this Mac (spec §6): its PlaybackStateChanged signal, plus Apple Events. +// Never sends an Apple Event while Spotify isn't running: one would launch it. +final class SpotifyLocalSource: MusicSource { + static let bundleIdentifier = "com.spotify.client" + private static let signalName = Notification.Name("com.spotify.client.PlaybackStateChanged") + private static let permissionDeniedError = -1743 // errAEEventNotPermitted + private static let notRunningErrors: Set = [-600, -609] // procNotFound, connectionInvalid + private static let launchSettleDelay: TimeInterval = 2 // Spotify answers Apple Events a moment after launch + + var onChange: ((MusicSourceStatus, NowPlaying?) -> Void)? + + // Main thread only. + private var status: MusicSourceStatus = .notRunning + private var nowPlaying: NowPlaying? + private var signalObserver: NSObjectProtocol? + private var workspaceObservers: [NSObjectProtocol] = [] + + // Every NSAppleScript is created and run on this serial queue, one at a time. + private let scriptQueue = DispatchQueue(label: "com.sonybridge.spotify") + private var readScript: NSAppleScript? // scriptQueue only + + // Checked before queuing, and again on the script queue right before an Apple Event goes out, so a Spotify + // quit in between is never relaunched. + private static var spotifyIsRunning: Bool { + !NSRunningApplication.runningApplications(withBundleIdentifier: bundleIdentifier).isEmpty + } + + private var isRunning: Bool { Self.spotifyIsRunning } + + func start() { + guard signalObserver == nil else { return } + signalObserver = DistributedNotificationCenter.default().addObserver( + forName: Self.signalName, object: nil, queue: .main + ) { [weak self] note in + self?.handleSignal(note.userInfo) + } + let center = NSWorkspace.shared.notificationCenter + workspaceObservers = [ + center.addObserver(forName: NSWorkspace.didLaunchApplicationNotification, object: nil, queue: .main) { [weak self] note in + guard Self.isSpotify(note) else { return } + DispatchQueue.main.asyncAfter(deadline: .now() + Self.launchSettleDelay) { self?.refresh() } + }, + center.addObserver(forName: NSWorkspace.didTerminateApplicationNotification, object: nil, queue: .main) { [weak self] note in + if Self.isSpotify(note) { self?.publish(.notRunning, nil) } + }, + ] + if isRunning { refresh() } else { publish(.notRunning, nil) } + } + + func stop() { + if let observer = signalObserver { DistributedNotificationCenter.default().removeObserver(observer) } + signalObserver = nil + workspaceObservers.forEach { NSWorkspace.shared.notificationCenter.removeObserver($0) } + workspaceObservers = [] + status = .notRunning + nowPlaying = nil + } + + func refresh() { + guard signalObserver != nil else { return } + guard isRunning else { publish(.notRunning, nil); return } + scriptQueue.async { [weak self] in + guard let self = self, Self.spotifyIsRunning else { return } + if self.readScript == nil { self.readScript = NSAppleScript(source: SpotifyScript.readState) } + let result = SpotifyScript.run(self.readScript) + DispatchQueue.main.async { self.applyRead(result) } + } + } + + func playPause() { + // Optimistic: the signal confirms a moment later. + if var track = nowPlaying { + track.position = PlaybackClock.position(of: track, at: Date()) + track.positionDate = Date() + track.isPlaying.toggle() + publish(status, track) + } + send("playpause") + } + + func next() { send("next track") } + + func previous() { send("previous track") } + + func seek(to seconds: TimeInterval) { + if var track = nowPlaying { + track.position = seconds + track.positionDate = Date() + publish(status, track) + } + // String(format:) isn't localized: always a "." decimal separator, as AppleScript source needs. + send(String(format: "set player position to %.3f", seconds)) + } + + func setVolume(_ volume: Int) { + let clamped = min(100, max(0, volume)) + if var track = nowPlaying { + track.volume = clamped + publish(status, track) + } + send("set sound volume to \(clamped)") + } + + func launchPlayer() { + guard let url = NSWorkspace.shared.urlForApplication(withBundleIdentifier: Self.bundleIdentifier) else { + fputs("[spotify] Spotify isn't installed\n", stderr) + return + } + NSWorkspace.shared.openApplication(at: url, configuration: NSWorkspace.OpenConfiguration(), + completionHandler: nil) + } + + // MARK: - Private + + private func send(_ command: String) { + guard signalObserver != nil else { return } + guard isRunning else { publish(.notRunning, nil); return } + scriptQueue.async { [weak self] in + guard Self.spotifyIsRunning else { return } + let result = SpotifyScript.run(NSAppleScript(source: SpotifyScript.command(command))) + if case .failure(let code) = result { + DispatchQueue.main.async { self?.applyFailure(code) } + } + } + } + + private func handleSignal(_ userInfo: [AnyHashable: Any]?) { + let denied = status == .permissionDenied + switch SpotifyPlaybackInfo.parse(signal: userInfo, at: Date()) { + case .stopped: + publish(denied ? .permissionDenied : .ready, nil) + case .track(var track): + // Artwork and volume only come from Apple Events: keep them for the same track, read them otherwise. + if let current = nowPlaying, current.trackID == track.trackID { + track.artworkURL = current.artworkURL + track.volume = current.volume + } + publish(denied ? .permissionDenied : .ready, track) + if track.artworkURL == nil && !denied { refresh() } + case .incomplete: + if !denied { refresh() } + } + } + + private func applyRead(_ result: SpotifyScript.Result) { + guard signalObserver != nil else { return } // stopped meanwhile + switch result { + case .success(let text): + switch SpotifyPlaybackInfo.parse(scriptResult: text, at: Date()) { + case .stopped: publish(.ready, nil) + case .track(let track): publish(.ready, track) + case .incomplete: fputs("[spotify] unexpected reply: \(text)\n", stderr) + } + case .failure(let code): + applyFailure(code) + } + } + + // Spec §6.3: a refusal stops the reads (the controller retries once per notch opening); anything else + // (timeout, busy) keeps the last known state until the next signal. + private func applyFailure(_ code: Int) { + guard signalObserver != nil else { return } + if code == Self.permissionDeniedError { + publish(.permissionDenied, nowPlaying) + } else if Self.notRunningErrors.contains(code) { + publish(.notRunning, nil) + } else { + fputs("[spotify] Apple Event failed (\(code))\n", stderr) + } + } + + private func publish(_ newStatus: MusicSourceStatus, _ track: NowPlaying?) { + status = newStatus + nowPlaying = track + onChange?(newStatus, track) + } + + private static func isSpotify(_ note: Notification) -> Bool { + (note.userInfo?[NSWorkspace.applicationUserInfoKey] as? NSRunningApplication)?.bundleIdentifier == bundleIdentifier + } +} +``` + +- [ ] **Step 4 : Écrire `Client/macos/Music/MusicController.swift`** + +```swift +import AppKit +import Combine + +// The music state the notch shows, from the active MusicSource (spec §5.1). Step 1: the local Spotify app. +final class MusicController: ObservableObject { + static let openRefreshInterval: TimeInterval = 5 // re-read while the notch is open (volume isn't signalled) + private static let artworkCacheSize = 8 + + @Published private(set) var status: MusicSourceStatus = .notRunning + @Published private(set) var nowPlaying: NowPlaying? + @Published private(set) var artwork: NSImage? + + // Something to show: a track, playing or paused (even without the right to control it). + var hasMusic: Bool { status != .notRunning && nowPlaying != nil } + + private let source: MusicSource + private var running = false + private var refreshTimer: Timer? + private var seekThrottle = SendThrottle() + private var volumeThrottle = SendThrottle() + private var artworkCache: [URL: NSImage] = [:] + private var artworkOrder: [URL] = [] + private var artworkRequest: URL? + private var lastLogLine = "" + + init(source: MusicSource = SpotifyLocalSource()) { + self.source = source + source.onChange = { [weak self] status, track in self?.apply(status, track) } + } + + func start() { + guard !running else { return } + running = true + source.start() + } + + // "Show Notch" off: no Spotify reads at all (spec §4.3). + func stop() { + guard running else { return } + running = false + notchDidClose() + source.stop() + status = .notRunning + nowPlaying = nil + artwork = nil + artworkRequest = nil + log("stopped") + } + + // Opening reads once (which also retries a refused permission, spec §6.3), then every 5 s while open. + func notchDidOpen() { + guard running else { return } + source.refresh() + refreshTimer?.invalidate() + let timer = Timer(timeInterval: Self.openRefreshInterval, repeats: true) { [weak self] _ in + guard let self = self, self.status == .ready else { return } + self.source.refresh() + } + RunLoop.main.add(timer, forMode: .common) + refreshTimer = timer + } + + func notchDidClose() { + refreshTimer?.invalidate() + refreshTimer = nil + } + + func playPause() { source.playPause() } + + func next() { source.next() } + + func previous() { source.previous() } + + // Sliders: at most one command per 150 ms while dragging, the final value always, then a read-back. + func seek(to seconds: TimeInterval, final: Bool) { + if seekThrottle.shouldSend(final: final) { source.seek(to: seconds) } + if final { source.refresh() } + } + + func setVolume(_ volume: Int, final: Bool) { + if volumeThrottle.shouldSend(final: final) { source.setVolume(volume) } + if final { source.refresh() } + } + + func launchPlayer() { source.launchPlayer() } + + func openAutomationSettings() { + if let url = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Automation") { + NSWorkspace.shared.open(url) + } + } + + // MARK: - Private + + private func apply(_ newStatus: MusicSourceStatus, _ track: NowPlaying?) { + guard running else { return } + status = newStatus + nowPlaying = track + loadArtwork(track?.artworkURL) + switch (newStatus, track) { + case (.notRunning, _): log("not running") + case (.permissionDenied, _): log("permission denied") + case (.ready, nil): log("nothing playing") + case (.ready, let track?): + log("\(track.isPlaying ? "playing" : "paused") \(track.trackID) vol \(track.volume.map(String.init) ?? "?")") + } + } + + // One line per actual change (the 5 s re-reads stay quiet). + private func log(_ line: String) { + guard line != lastLogLine else { return } + lastLogLine = line + fputs("[spotify] \(line)\n", stderr) + } + + private func loadArtwork(_ url: URL?) { + guard let url = url else { + artwork = nil + artworkRequest = nil + return + } + if let cached = artworkCache[url] { + artwork = cached + artworkRequest = nil + return + } + guard artworkRequest != url else { return } // already downloading + artworkRequest = url + URLSession.shared.dataTask(with: url) { [weak self] data, _, _ in + let image = data.flatMap { NSImage(data: $0) } + DispatchQueue.main.async { + guard let self = self, self.artworkRequest == url else { return } + self.artworkRequest = nil + guard let image = image else { return } + self.remember(image, for: url) + self.artwork = image + } + }.resume() + } + + private func remember(_ image: NSImage, for url: URL) { + artworkCache[url] = image + artworkOrder.removeAll { $0 == url } + artworkOrder.append(url) + if artworkOrder.count > Self.artworkCacheSize { + artworkCache[artworkOrder.removeFirst()] = nil + } + } +} +``` + +- [ ] **Step 5 : Option `showNotch` dans `Client/macos/AppSettings.swift`** + +Remplacer le commentaire de tête, l'enum `Keys`, ajouter la propriété et compléter `init` : + +```swift +// The user options, persisted in UserDefaults. Launch at login is backed by SMAppService (macOS 13+). +final class AppSettings: ObservableObject { + private enum Keys { + static let autoConnect = "autoConnect" + static let autoReconnect = "autoReconnect" + static let lastDeviceAddress = "lastDeviceAddress" + static let showNotch = "showNotch" + } +``` + +Après la propriété `autoReconnect` : + +```swift + @Published var showNotch: Bool { + didSet { defaults.set(showNotch, forKey: Keys.showNotch) } + } +``` + +Dans `init`, remplacer les lignes `register` et suivantes jusqu'à `launchAtLogin = …` exclu par : + +```swift + // Spec §4: auto-connect and auto-reconnect default on; launch at login stays off until the user asks. + // Notch spec §7: the notch is shown by default. + defaults.register(defaults: [Keys.autoConnect: true, Keys.autoReconnect: true, Keys.showNotch: true]) + autoConnect = defaults.bool(forKey: Keys.autoConnect) + autoReconnect = defaults.bool(forKey: Keys.autoReconnect) + showNotch = defaults.bool(forKey: Keys.showNotch) +``` + +- [ ] **Step 6 : Case « Afficher l'encoche » dans `Client/macos/HeadphonesMenu.swift`** + +Après `private var autoReconnectItem = NSMenuItem()` (ligne 31) : + +```swift + private var showNotchItem = NSMenuItem() +``` + +Dans `addAppSection()`, remplacer les lignes de `autoReconnectItem = …` et la boucle `for item in […]` par : + +```swift + autoReconnectItem = ActionMenuItem(tr("Reconnect Automatically")) { [weak settings] in settings?.autoReconnect.toggle() } + showNotchItem = ActionMenuItem(tr("Show Notch")) { [weak settings] in settings?.showNotch.toggle() } + for item in [launchAtLoginItem, autoConnectItem, autoReconnectItem, showNotchItem] { optionsMenu.addItem(item) } +``` + +À la fin de `update()`, après `autoReconnectItem.state = …` : + +```swift + showNotchItem.state = settings.showNotch ? .on : .off +``` + +- [ ] **Step 7 : Démarrer / arrêter la musique selon l'option** — remplacer `Client/macos/AppDelegate.swift` par : + +```swift +import AppKit +import Combine + +final class AppDelegate: NSObject, NSApplicationDelegate { + private let model = HeadphonesModel() + private let settings = AppSettings() + private let music = MusicController() + private let deviceWatcher = DeviceWatcher() + private var statusItemController: StatusItemController? + private var cancellables = Set() + + func applicationDidFinishLaunching(_ notification: Notification) { + model.settings = settings + statusItemController = StatusItemController(model: model, settings: settings) + + // Spotify is only read while the notch is on (notch spec §4.3). $showNotch emits the current value first. + settings.$showNotch + .receive(on: DispatchQueue.main) + .sink { [weak self] show in + if show { self?.music.start() } else { self?.music.stop() } + } + .store(in: &cancellables) + + deviceWatcher.onConnect = { [weak self] address, name in + self?.model.headsetConnectedToMac(address: address, name: name) + } + deviceWatcher.onDisconnect = { [weak self] address in + self?.model.headsetDisconnectedFromMac(address: address) + } + deviceWatcher.start() + + if settings.autoConnect { model.autoConnectOnLaunch() } + } + + func applicationWillTerminate(_ notification: Notification) { + model.disconnect() + } +} +``` + +- [ ] **Step 8 : Autorisations** — remplacer `Client/macos/SonyHeadphonesClient.entitlements` par : + +```xml + + + + + com.apple.security.app-sandbox + + com.apple.security.device.bluetooth + + com.apple.security.files.user-selected.read-only + + com.apple.security.network.client + + com.apple.security.temporary-exception.apple-events + + com.spotify.client + + com.apple.security.temporary-exception.files.home-relative-path.read-write + + /Library/Logs/SonyBridge/ + + + +``` + +Dans `Client/macos/info.plist`, après la valeur de `NSBluetoothAlwaysUsageDescription` : + +```xml + NSAppleEventsUsageDescription + SonyBridge shows and controls the music playing in Spotify. +``` + +Ajouter à la fin de `Client/macos/en.lproj/InfoPlist.strings` : + +``` +"NSAppleEventsUsageDescription" = "SonyBridge shows and controls the music playing in Spotify."; +``` + +Ajouter à la fin de `Client/macos/fr.lproj/InfoPlist.strings` : + +``` +"NSAppleEventsUsageDescription" = "SonyBridge affiche et contrôle la musique en cours dans Spotify."; +``` + +- [ ] **Step 9 : Traduction** — dans `Client/macos/fr.lproj/Localizable.strings`, après la ligne + `"Reconnect Automatically" = "Reconnexion automatique";` : + +``` +"Show Notch" = "Afficher l’encoche"; +``` + +- [ ] **Step 10 : Tests et build** + +Run : `make test && make` +Attendu : toutes les suites passent, `Localization: 55 keys, all translated`, build `OK` sans avertissement. +Vérifier aussi les droits signés : `codesign -d --entitlements - build/SonyBridge.app` doit lister +`com.apple.security.network.client` et `com.apple.security.temporary-exception.apple-events`. + +- [ ] **Step 11 : Vérification avec l'utilisateur** (l'agent lance `make run`, l'utilisateur regarde) + +Lancer : `make run`. Suivre le journal : `tail -f ~/Library/Logs/SonyBridge/app.log | grep spotify`. +Demander à l'utilisateur, Spotify ouvert et en lecture avant le lancement : +1. macOS demande si « SonyBridge » peut contrôler « Spotify » → Autoriser. Attendu dans le journal : + `[spotify] playing spotify:track:… vol NN`. +2. Pause dans Spotify → `[spotify] paused spotify:track:…`. Morceau suivant → nouvel identifiant. +3. Quitter Spotify → `[spotify] not running`. Rouvrir Spotify et lancer un morceau → `playing …`. + SonyBridge ne doit **jamais** rouvrir Spotify tout seul après l'avoir quitté. +4. Menu › Options de SonyBridge › décocher « Afficher l'encoche » → `[spotify] stopped`, puis plus aucune ligne + en changeant de morceau. Recocher → une ligne `playing …`. +5. (Facultatif, par l'utilisateur) refus : `tccutil reset AppleEvents com.semvis123.SonyHeadphonesClient`, + `make run`, cliquer « Ne pas autoriser » → `[spotify] permission denied`. Réautoriser ensuite dans Réglages + Système › Confidentialité et sécurité › Automatisation › SonyBridge › Spotify. + +Note : l'autorisation peut être redemandée après chaque `make` (signature ad hoc qui change, spec §9). + +- [ ] **Step 12 : Commit (par l'utilisateur)** + +```bash +git add Client/macos && git commit -m "feat(music): local Spotify source, music controller and Show Notch option" -m "Co-Authored-By: Claude Opus 5 " +``` + +--- + +### Task 4: Panneau de l'encoche — placement, états au repos, survol + +**Files:** +- Create: `Client/macos/Notch/NotchPanel.swift`, `Client/macos/Notch/NotchView.swift`, + `Client/macos/Notch/NotchController.swift` +- Modify: `Client/macos/AppDelegate.swift`, `Client/macos/fr.lproj/Localizable.strings` + +**Interfaces:** +- Consumes : `NotchGeometry`, `ScreenMetrics`, `NotchRestingState`, `NotchTab`, `NotchContent` (tâche 1) ; + `MusicController` (`status`, `nowPlaying`, `artwork`, `hasMusic`, `notchDidOpen()`, `notchDidClose()`) (tâche 3) ; + `AppSettings.showNotch` (tâche 3) ; existant : `HeadphonesModel` (`connectionState`, `connected`, `mode`). +- Produces : + - `final class NotchViewState: ObservableObject { @Published var isOpen: Bool; @Published var resting: NotchRestingState; @Published var tab: NotchTab; @Published var restingSize: CGSize; @Published var openSize: CGSize; @Published var notchHeight: CGFloat }` + - `struct NotchView: View { init(state:model:music:selectTab:) }` avec un `tabContent` que les tâches 5 et 6 complètent + - `struct ArtworkView: View { let image: NSImage?; let size: CGFloat; let cornerRadius: CGFloat }` (réutilisée en tâche 6) + - `final class NotchController { init(model: HeadphonesModel, music: MusicController, settings: AppSettings) }` + +- [ ] **Step 1 : Écrire `Client/macos/Notch/NotchPanel.swift`** + +```swift +import AppKit +import SwiftUI + +// Borderless transparent panel above the menu bar (spec §4.3). It never becomes key or main, so the frontmost +// app keeps the keyboard; clicks still reach its controls through NotchHostingView. +final class NotchPanel: NSPanel { + // A factory rather than a custom init: NSWindow subclasses that declare their own initializer must also + // deal with NSWindow's required/unavailable initializers. + static func make() -> NotchPanel { + let panel = NotchPanel(contentRect: .zero, styleMask: [.borderless, .nonactivatingPanel], + backing: .buffered, defer: false) + panel.isOpaque = false + panel.backgroundColor = .clear + panel.hasShadow = false + panel.isMovable = false + panel.hidesOnDeactivate = false + panel.level = NSWindow.Level(rawValue: NSWindow.Level.mainMenu.rawValue + 2) + panel.collectionBehavior = [.canJoinAllSpaces, .stationary, .fullScreenAuxiliary, .ignoresCycle] + return panel + } + + override var canBecomeKey: Bool { false } + override var canBecomeMain: Bool { false } +} + +// Reports the pointer entering or leaving the panel, whichever app is active. +final class NotchContainerView: NSView { + var onHoverChange: (() -> Void)? + + override func updateTrackingAreas() { + super.updateTrackingAreas() + trackingAreas.forEach { removeTrackingArea($0) } + addTrackingArea(NSTrackingArea(rect: .zero, options: [.mouseEnteredAndExited, .activeAlways, .inVisibleRect], + owner: self, userInfo: nil)) + } + + override func mouseEntered(with event: NSEvent) { onHoverChange?() } + override func mouseExited(with event: NSEvent) { onHoverChange?() } +} + +// The panel is never key: without this, the first click would only be swallowed by the window. +final class NotchHostingView: NSHostingView { + override func acceptsFirstMouse(for event: NSEvent?) -> Bool { true } +} +``` + +- [ ] **Step 2 : Écrire `Client/macos/Notch/NotchView.swift`** + +```swift +import AppKit +import SwiftUI + +// Written by NotchController, read by NotchView. +final class NotchViewState: ObservableObject { + @Published var isOpen = false + @Published var resting: NotchRestingState = .empty + @Published var tab: NotchTab = .music + @Published var restingSize: CGSize = .zero + @Published var openSize: CGSize = .zero + @Published var notchHeight: CGFloat = 32 +} + +// Square top (it merges with the notch), rounded bottom corners. +struct NotchShape: Shape { + var bottomRadius: CGFloat + + var animatableData: CGFloat { + get { bottomRadius } + set { bottomRadius = newValue } + } + + func path(in rect: CGRect) -> Path { + let radius = min(bottomRadius, rect.width / 2, rect.height) + var path = Path() + path.move(to: CGPoint(x: rect.minX, y: rect.minY)) + path.addLine(to: CGPoint(x: rect.maxX, y: rect.minY)) + path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY - radius)) + path.addQuadCurve(to: CGPoint(x: rect.maxX - radius, y: rect.maxY), control: CGPoint(x: rect.maxX, y: rect.maxY)) + path.addLine(to: CGPoint(x: rect.minX + radius, y: rect.maxY)) + path.addQuadCurve(to: CGPoint(x: rect.minX, y: rect.maxY - radius), control: CGPoint(x: rect.minX, y: rect.maxY)) + path.closeSubpath() + return path + } +} + +// Root view of the notch panel (spec §4): the resting strip, or the open panel with its two tabs. The panel +// can be larger than the shape while it animates; the shape stays centred at the top. +struct NotchView: View { + @ObservedObject var state: NotchViewState + @ObservedObject var model: HeadphonesModel + @ObservedObject var music: MusicController + let selectTab: (NotchTab) -> Void + + var body: some View { + let size = state.isOpen ? state.openSize : state.restingSize + ZStack(alignment: .top) { + NotchShape(bottomRadius: state.isOpen ? 22 : 10).fill(Color.black) + if state.isOpen { + openContent + .padding(.top, state.notchHeight) + .transition(.opacity) + } else { + restingContent + .transition(.opacity) + } + } + .frame(width: size.width, height: size.height) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) + .environment(\.colorScheme, .dark) + } + + // MARK: - Resting (spec §4.1) + + private var restingContent: some View { + HStack(spacing: 0) { + leadingItem.frame(width: NotchGeometry.sideExtension) + Spacer(minLength: 0) + trailingItem.frame(width: NotchGeometry.sideExtension) + } + .frame(height: state.notchHeight) + } + + @ViewBuilder private var leadingItem: some View { + switch state.resting { + case .musicAndHeadphones, .musicOnly: + ArtworkView(image: music.artwork, size: 20, cornerRadius: 5) + case .headphonesOnly: + Image(systemName: "headphones").font(.system(size: 13)).foregroundColor(.white) + case .empty: + EmptyView() + } + } + + @ViewBuilder private var trailingItem: some View { + switch state.resting { + case .musicAndHeadphones, .headphonesOnly: + Image(systemName: Self.modeSymbol(model.mode)).font(.system(size: 13)).foregroundColor(.white) + case .musicOnly: + LevelBars(animating: music.nowPlaying?.isPlaying == true) + case .empty: + EmptyView() + } + } + + private static func modeSymbol(_ mode: SHCAmbientMode) -> String { + switch mode { + case .noiseCanceling: return "headphones.circle.fill" + case .ambientSound: return "ear.and.waveform" + default: return "circle.slash" + } + } + + // MARK: - Open (spec §4.2) + + private var openContent: some View { + VStack(spacing: 10) { + tabBar + tabContent.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) + } + .padding(.horizontal, 18) + .padding(.bottom, 14) + } + + private var tabBar: some View { + HStack(spacing: 18) { + tabButton(.music, title: tr("Music")) + tabButton(.headphones, title: tr("Headphones")) + } + .padding(.top, 6) + } + + private func tabButton(_ tab: NotchTab, title: String) -> some View { + let selected = state.tab == tab + return Button { selectTab(tab) } label: { + Text(title) + .font(.system(size: 12, weight: selected ? .semibold : .regular)) + .foregroundColor(selected ? .white : .gray) + .padding(.bottom, 3) + .overlay(alignment: .bottom) { + if selected { Rectangle().fill(Color.white).frame(height: 2) } + } + } + .buttonStyle(.plain) + } + + @ViewBuilder private var tabContent: some View { + switch state.tab { + case .music: Spacer() // Task 6: MusicTab + case .headphones: Spacer() // Task 5: HeadphonesTab + } + } +} + +// Album artwork, or a placeholder note while it loads (or for tracks without one). +struct ArtworkView: View { + let image: NSImage? + let size: CGFloat + let cornerRadius: CGFloat + + var body: some View { + Group { + if let image = image { + Image(nsImage: image).resizable().aspectRatio(contentMode: .fill) + } else { + ZStack { + Color(white: 0.2) + Image(systemName: "music.note").font(.system(size: size * 0.45)).foregroundColor(.gray) + } + } + } + .frame(width: size, height: size) + .clipShape(RoundedRectangle(cornerRadius: cornerRadius)) + } +} + +// Four small bars, moving while music plays (resting state 2), frozen when paused. +struct LevelBars: View { + let animating: Bool + + var body: some View { + TimelineView(.animation(minimumInterval: 1.0 / 20, paused: !animating)) { context in + let time = context.date.timeIntervalSinceReferenceDate + HStack(alignment: .bottom, spacing: 2) { + ForEach(0..<4, id: \.self) { index in + Capsule() + .fill(Color.green) + .frame(width: 3, height: animating ? 4 + 10 * abs(sin(time * 3 + Double(index) * 1.3)) : 4) + } + } + .frame(height: 14, alignment: .bottom) + } + } +} +``` + +- [ ] **Step 3 : Écrire `Client/macos/Notch/NotchController.swift`** + +```swift +import AppKit +import Combine +import SwiftUI + +// Owns the notch panel (spec §4.3): picks the screen, places and resizes the panel, opens it on hover and +// follows the "Show Notch" option. +final class NotchController { + private static let shrinkDelay: TimeInterval = 0.35 // lets the closing animation end before the panel shrinks + + private let model: HeadphonesModel + private let music: MusicController + private let settings: AppSettings + private let state = NotchViewState() + private let panel = NotchPanel.make() + private var geometry: NotchGeometry? + private var lastChosenTab: NotchTab? + private var hoverTimer: Timer? + private var shrinkWork: DispatchWorkItem? + private var cancellables = Set() + + init(model: HeadphonesModel, music: MusicController, settings: AppSettings) { + self.model = model + self.music = music + self.settings = settings + + let container = NotchContainerView() + let host = NotchHostingView(rootView: NotchView(state: state, model: model, music: music, + selectTab: { [weak self] tab in self?.select(tab) })) + host.autoresizingMask = [.width, .height] + container.addSubview(host) + container.onHoverChange = { [weak self] in self?.scheduleHoverCheck() } + panel.contentView = container + + NotificationCenter.default.publisher(for: NSApplication.didChangeScreenParametersNotification) + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.relayout() } + .store(in: &cancellables) + // receive(on:) hops after @Published stored the new value, so the sinks read current state. + settings.$showNotch + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.relayout() } + .store(in: &cancellables) + model.$connectionState.combineLatest(music.$status, music.$nowPlaying) + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.updateResting() } + .store(in: &cancellables) + } + + // MARK: - Placement + + private func relayout() { + guard settings.showNotch, let screen = Self.preferredScreen() else { + geometry = nil + if state.isOpen { + state.isOpen = false + music.notchDidClose() + } + shrinkWork?.cancel() + panel.orderOut(nil) + return + } + let geometry = NotchGeometry(screen: ScreenMetrics(screen)) + self.geometry = geometry + state.notchHeight = geometry.notch.height + state.openSize = geometry.open.size + if state.isOpen { panel.setFrame(geometry.open, display: true) } + updateResting() + } + + // The built-in notched screen if there is one, else the primary screen (the one with the menu bar). + private static func preferredScreen() -> NSScreen? { + NSScreen.screens.first { $0.safeAreaInsets.top > 0 } ?? NSScreen.screens.first + } + + private func updateResting() { + guard let geometry = geometry else { return } + let resting = NotchContent.restingState(hasMusic: music.hasMusic, headphonesConnected: model.connected) + let frame = geometry.restingFrame(for: resting) + if state.resting != resting || (frame != nil && state.restingSize != frame?.size) { + withAnimation(animation) { + state.resting = resting + if let frame = frame { state.restingSize = frame.size } + } + } + guard !state.isOpen else { return } // close() re-applies the resting frame + if let frame = frame { + setPanelFrame(frame) + panel.orderFrontRegardless() + } else { + hidePanel(after: panel.isVisible ? Self.shrinkDelay : 0) + } + } + + // Grows at once (the shape then animates inside the larger panel) or shrinks once the animation is over, + // so the transparent panel never blocks the menu bar longer than needed. + private func setPanelFrame(_ target: CGRect) { + shrinkWork?.cancel() + let current = panel.frame + if !panel.isVisible || (target.width >= current.width && target.height >= current.height) { + panel.setFrame(target, display: true) + } else { + let work = DispatchWorkItem { [weak self] in self?.panel.setFrame(target, display: true) } + shrinkWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + Self.shrinkDelay, execute: work) + } + } + + private func hidePanel(after delay: TimeInterval) { + shrinkWork?.cancel() + let work = DispatchWorkItem { [weak self] in self?.panel.orderOut(nil) } + shrinkWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + delay, execute: work) + } + + // MARK: - Hover + + // Enter/exit events only schedule a check; the check reads the real pointer position, so a missed event + // can't leave the notch stuck open or closed. + private func scheduleHoverCheck() { + hoverTimer?.invalidate() + let inside = hoverZone.contains(NSEvent.mouseLocation) + let delay = inside ? NotchContent.openDelay : NotchContent.closeDelay + let timer = Timer(timeInterval: delay, repeats: false) { [weak self] _ in self?.hoverCheck() } + RunLoop.main.add(timer, forMode: .common) + hoverTimer = timer + } + + private func hoverCheck() { + let inside = panel.isVisible && hoverZone.contains(NSEvent.mouseLocation) + if inside && !state.isOpen { + open() + } else if !inside && state.isOpen { + close() + } + } + + private var hoverZone: CGRect { + guard let geometry = geometry else { return .zero } + return state.isOpen ? geometry.open : (geometry.restingFrame(for: state.resting) ?? .zero) + } + + private func open() { + guard let geometry = geometry else { return } + state.tab = NotchContent.tabOnOpen(lastChosen: lastChosenTab, hasMusic: music.hasMusic) + setPanelFrame(geometry.open) + panel.orderFrontRegardless() + withAnimation(animation) { state.isOpen = true } + music.notchDidOpen() + } + + private func close() { + withAnimation(animation) { state.isOpen = false } + music.notchDidClose() + updateResting() + } + + private func select(_ tab: NotchTab) { + lastChosenTab = tab + state.tab = tab + } + + // Spring, or a short fade-like ease when "Reduce motion" is on. + private var animation: Animation { + NSWorkspace.shared.accessibilityDisplayShouldReduceMotion + ? .easeInOut(duration: 0.15) + : .spring(response: 0.35, dampingFraction: 0.82) + } +} + +private extension ScreenMetrics { + init(_ screen: NSScreen) { + self.init(frame: screen.frame, + safeAreaTop: screen.safeAreaInsets.top, + auxiliaryTopLeft: screen.auxiliaryTopLeftArea, + auxiliaryTopRight: screen.auxiliaryTopRightArea, + menuBarHeight: screen.frame.maxY - screen.visibleFrame.maxY) + } +} +``` + +Si le SDK déclare `auxiliaryTopLeftArea` / `auxiliaryTopRightArea` comme `NSRect` non optionnel, passer +`screen.auxiliaryTopLeftArea.isEmpty ? nil : screen.auxiliaryTopLeftArea` (idem à droite). + +- [ ] **Step 4 : Créer le contrôleur** — dans `Client/macos/AppDelegate.swift`, après + `private var statusItemController: StatusItemController?` : + +```swift + private var notchController: NotchController? +``` + +et après `statusItemController = StatusItemController(model: model, settings: settings)` : + +```swift + notchController = NotchController(model: model, music: music, settings: settings) +``` + +- [ ] **Step 5 : Traductions** — ajouter à la fin de `Client/macos/fr.lproj/Localizable.strings` : + +``` + +/* Notch (Notch/*.swift) */ +"Music" = "Musique"; +"Headphones" = "Casque"; +``` + +- [ ] **Step 6 : Tests et build** + +Run : `make test && make` +Attendu : toutes les suites passent, `Localization: 57 keys, all translated`, build `OK` sans avertissement. + +- [ ] **Step 7 : Vérification avec l'utilisateur** (l'agent lance `make run`) + +Demander à l'utilisateur de regarder : +1. Casque connecté, Spotify fermé → autour de l'encoche : icône casque à gauche, icône du mode à droite (état 3). +2. Spotify en lecture → pochette à gauche, mode à droite (état 1). +3. Menu › Déconnecter → pochette + petites barres vertes qui bougent ; pause dans Spotify → barres figées (état 2). +4. Spotify quitté et casque déconnecté → encoche nue ; le survol l'ouvre quand même (état 4). +5. Survol : ouverture après un court instant, fermeture en sortant, pas de clignotement en passant vite + par-dessus ; pendant que l'encoche est ouverte, taper dans une autre app (TextEdit) : le texte va bien à + cette app. +6. Onglets : cliquer « Casque » / « Musique » ; le contenu est vide pour l'instant (normal, tâches 5 et 6) ; + après un choix, la réouverture revient sur le dernier onglet. +7. Barre des menus : encoche fermée, les menus d'app et les icônes de la barre à côté de l'encoche restent + cliquables. +8. Écran externe (ou capot fermé) : pastille noire en haut au centre de l'écran principal ; dans l'état 4, + plus de pastille. Débrancher → l'encoche revient sur l'écran intégré. +9. Options › décocher « Afficher l'encoche » → elle disparaît ; recocher → elle revient. + +- [ ] **Step 8 : Commit (par l'utilisateur)** + +```bash +git add Client/macos && git commit -m "feat(notch): notch panel with resting states and hover to open" -m "Co-Authored-By: Claude Opus 5 " +``` + +--- + +### Task 5: Onglet Casque + +**Files:** +- Create: `Client/macos/Notch/HeadphonesTab.swift` +- Modify: `Client/macos/Notch/NotchView.swift` (`tabContent`), `Client/macos/fr.lproj/Localizable.strings` + +**Interfaces:** +- Consumes : `HeadphonesModel` (`connectionState`, `mode`, `ambientLevel`, `maxAmbientLevel`, `focusOnVoice`, + `setMode(_:)`, `setLevel(_:final:)`, `setFocusOnVoice(_:)`, `connect()`) ; `NotchView.tabContent` (tâche 4). +- Produces : `struct HeadphonesTab: View { init(model: HeadphonesModel) }` + +- [ ] **Step 1 : Écrire `Client/macos/Notch/HeadphonesTab.swift`** + +```swift +import AppKit +import SwiftUI + +// Notch tab: NC / Ambient / Off, ambient level and Focus on Voice (spec §4.2). It calls the same model methods +// as the menu, so the poll guard and the send throttle apply here too, and both stay in sync. +struct HeadphonesTab: View { + @ObservedObject var model: HeadphonesModel + + var body: some View { + switch model.connectionState { + case .connected: + controls + case .connecting: + Text(tr("Connecting…")).font(.system(size: 12)).foregroundColor(.gray).padding(.top, 16) + case .disconnected: + VStack(spacing: 10) { + Text(tr("Not connected")).font(.system(size: 12)).foregroundColor(.gray) + Button(tr("Connect…")) { + NSApp.activate(ignoringOtherApps: true) // the fallback Bluetooth picker is a modal window + model.connect() + } + .controlSize(.small) + } + .padding(.top, 16) + } + } + + private var controls: some View { + let ambient = model.mode == .ambientSound + return VStack(spacing: 12) { + Picker("", selection: Binding(get: { model.mode }, set: { model.setMode($0) })) { + Text(tr("Noise Canceling")).tag(SHCAmbientMode.noiseCanceling) + Text(tr("Ambient Sound")).tag(SHCAmbientMode.ambientSound) + Text(tr("Off")).tag(SHCAmbientMode.off) + } + .pickerStyle(.segmented) + .labelsHidden() + + HStack(spacing: 8) { + Text(tr("Level")).font(.system(size: 12)) + Slider( + value: Binding(get: { Double(model.ambientLevel) }, + set: { model.setLevel(Int($0.rounded()), final: false) }), + in: 1...Double(max(model.maxAmbientLevel, 2)), + step: 1, + onEditingChanged: { editing in + if !editing { model.setLevel(model.ambientLevel, final: true) } + } + ) + .controlSize(.small) + Text(verbatim: "\(model.ambientLevel)") + .font(.system(size: 11, weight: .medium).monospacedDigit()) + .foregroundColor(.gray) + .frame(width: 20, alignment: .trailing) + } + .disabled(!ambient) + .opacity(ambient ? 1 : 0.4) + + HStack { + Text(tr("Focus on Voice")).font(.system(size: 12)) + Spacer() + Toggle("", isOn: Binding(get: { model.focusOnVoice }, set: { model.setFocusOnVoice($0) })) + .labelsHidden() + .toggleStyle(.switch) + .controlSize(.mini) + } + .disabled(!ambient) + .opacity(ambient ? 1 : 0.4) + } + } +} +``` + +- [ ] **Step 2 : Brancher l'onglet** — dans `Client/macos/Notch/NotchView.swift`, `tabContent`, remplacer la ligne + `case .headphones: Spacer() // Task 5: HeadphonesTab` par : + +```swift + case .headphones: HeadphonesTab(model: model) +``` + +- [ ] **Step 3 : Traduction** — ajouter à la fin de `Client/macos/fr.lproj/Localizable.strings` : + +``` +"Level" = "Niveau"; +``` + +- [ ] **Step 4 : Tests et build** + +Run : `make test && make` +Attendu : toutes les suites passent, `Localization: 58 keys, all translated`, build `OK` sans avertissement. + +- [ ] **Step 5 : Vérification avec l'utilisateur, sur le WH-1000XM6** (l'agent lance `make run DEBUG=1`) + +1. Onglet Casque, casque connecté : choisir Réduction de bruit / Son ambiant / Désactivé → le casque change ; le + menu (coche) et l'icône de la barre suivent. +2. Bouton NC du casque → l'encoche suit en ~2 s (ouverte ou non). +3. En Son ambiant : glisser le niveau → le casque suit sans à-coups ; « Focalisation sur la voix » bascule. + Hors Son ambiant, curseur et interrupteur sont grisés. +4. Menu › Déconnecter → l'onglet affiche « Non connecté » et « Connecter… » ; le bouton reconnecte le casque. +5. Le journal (`build/app.log`) ne montre que des trames déjà connues (`68 17`/`68 19` NC/ASM), toutes acquittées. + +- [ ] **Step 6 : Commit (par l'utilisateur)** + +```bash +git add Client/macos && git commit -m "feat(notch): headphones tab" -m "Co-Authored-By: Claude Opus 5 " +``` + +--- + +### Task 6: Onglet Musique + README + vérification finale + +**Files:** +- Create: `Client/macos/Notch/MusicTab.swift` +- Modify: `Client/macos/Notch/NotchView.swift` (`tabContent`), `Client/macos/fr.lproj/Localizable.strings`, + `README.md` + +**Interfaces:** +- Consumes : `MusicController` (`status`, `nowPlaying`, `artwork`, `playPause()`, `next()`, `previous()`, + `seek(to:final:)`, `setVolume(_:final:)`, `launchPlayer()`, `openAutomationSettings()`) (tâche 3) ; + `NowPlaying`, `PlaybackClock` (tâche 2) ; `ArtworkView`, `NotchView.tabContent` (tâche 4). +- Produces : `struct MusicTab: View { init(music: MusicController) }` + +- [ ] **Step 1 : Écrire `Client/macos/Notch/MusicTab.swift`** + +```swift +import SwiftUI + +// Notch tab: the track, its controls, Spotify's volume and the device it plays on (spec §4.2). +struct MusicTab: View { + @ObservedObject var music: MusicController + @State private var seekValue: Double? // while dragging the progress bar + @State private var volumeValue: Double? // while dragging the volume slider + + // Explicit: the private @State properties would otherwise make the memberwise init private. + init(music: MusicController) { + _music = ObservedObject(wrappedValue: music) + } + + var body: some View { + switch music.status { + case .notRunning: + message(tr("Spotify isn't open"), button: tr("Open Spotify")) { music.launchPlayer() } + case .permissionDenied: + message(tr("SonyBridge isn't allowed to control Spotify."), button: tr("Open Settings")) { + music.openAutomationSettings() + } + case .ready: + if let track = music.nowPlaying { + player(track) + } else { + message(tr("Nothing playing"), button: nil) {} + } + } + } + + private func message(_ text: String, button: String?, action: @escaping () -> Void) -> some View { + VStack(spacing: 10) { + Text(text).font(.system(size: 12)).foregroundColor(.gray).multilineTextAlignment(.center) + if let button = button { + Button(button, action: action).controlSize(.small) + } + } + .frame(maxWidth: .infinity) + .padding(.top, 16) + } + + private func player(_ track: NowPlaying) -> some View { + VStack(spacing: 8) { + HStack(spacing: 12) { + ArtworkView(image: music.artwork, size: 56, cornerRadius: 9) + VStack(alignment: .leading, spacing: 2) { + Text(track.title).font(.system(size: 13, weight: .semibold)).lineLimit(1) + Text(track.artist).font(.system(size: 11)).foregroundColor(.gray).lineLimit(1) + progress(track) + } + } + HStack(spacing: 28) { + controlButton("backward.fill", label: tr("Previous track")) { music.previous() } + controlButton(track.isPlaying ? "pause.fill" : "play.fill", size: 18, label: tr("Play or pause")) { + music.playPause() + } + controlButton("forward.fill", label: tr("Next track")) { music.next() } + } + HStack(spacing: 6) { + Image(systemName: "speaker.fill").font(.system(size: 9)).foregroundColor(.gray) + volumeSlider(track).frame(width: 110) + Image(systemName: "speaker.wave.3.fill").font(.system(size: 9)).foregroundColor(.gray) + Spacer() + Image(systemName: "hifispeaker").font(.system(size: 10)).foregroundColor(.green) + Text(track.deviceName ?? tr("This Mac")).font(.system(size: 10)).foregroundColor(.green).lineLimit(1) + } + } + } + + // Redrawn once a second, only while the notch is open (this view only exists then). + private func progress(_ track: NowPlaying) -> some View { + TimelineView(.periodic(from: .now, by: 1)) { context in + let position = seekValue ?? PlaybackClock.position(of: track, at: context.date) + VStack(spacing: 1) { + Slider( + value: Binding(get: { position }, set: { value in + seekValue = value + music.seek(to: value, final: false) + }), + in: 0...max(track.duration, 1), + onEditingChanged: { editing in + if !editing, let value = seekValue { + music.seek(to: value, final: true) + seekValue = nil + } + } + ) + .controlSize(.mini) + .disabled(!track.capabilities.canSeek || track.duration <= 0) + HStack { + Text(verbatim: PlaybackClock.format(position)) + Spacer() + Text(verbatim: "−" + PlaybackClock.format(max(0, track.duration - position))) + } + .font(.system(size: 9).monospacedDigit()) + .foregroundColor(.gray) + } + } + } + + private func volumeSlider(_ track: NowPlaying) -> some View { + Slider( + value: Binding(get: { volumeValue ?? Double(track.volume ?? 0) }, set: { value in + volumeValue = value + music.setVolume(Int(value.rounded()), final: false) + }), + in: 0...100, + onEditingChanged: { editing in + if !editing, let value = volumeValue { + music.setVolume(Int(value.rounded()), final: true) + volumeValue = nil + } + } + ) + .controlSize(.mini) + .disabled(!track.capabilities.canSetVolume || track.volume == nil) + } + + private func controlButton(_ symbol: String, size: CGFloat = 14, label: String, + action: @escaping () -> Void) -> some View { + Button(action: action) { + Image(systemName: symbol) + .font(.system(size: size)) + .foregroundColor(.white) + .frame(width: 28, height: 24) + } + .buttonStyle(.plain) + .accessibilityLabel(label) + } +} +``` + +- [ ] **Step 2 : Brancher l'onglet** — dans `Client/macos/Notch/NotchView.swift`, `tabContent`, remplacer la ligne + `case .music: Spacer() // Task 6: MusicTab` par : + +```swift + case .music: MusicTab(music: music) +``` + +- [ ] **Step 3 : Traductions** — ajouter à la fin de `Client/macos/fr.lproj/Localizable.strings` : + +``` +"Spotify isn't open" = "Spotify n’est pas ouvert"; +"Open Spotify" = "Ouvrir Spotify"; +"SonyBridge isn't allowed to control Spotify." = "SonyBridge n’a pas l’autorisation de contrôler Spotify."; +"Open Settings" = "Ouvrir les réglages"; +"Nothing playing" = "Rien en cours de lecture"; +"This Mac" = "Ce Mac"; +"Previous track" = "Morceau précédent"; +"Play or pause" = "Lecture ou pause"; +"Next track" = "Morceau suivant"; +``` + +- [ ] **Step 4 : README** — dans `README.md` : + +Après le bloc **Sound modes** (après la ligne « 🔄 **Live button sync** … »), insérer : + +```markdown + +**Notch** +- 🏝️ **Notch panel** — hover the MacBook notch (or a black pill at the top of screens without one) to control the music playing in **Spotify** (artwork, play/pause, previous/next, seek, volume) and switch Noise Cancelling / Ambient Sound / Off. Turn it off with **Show Notch** under **SonyBridge Options** +``` + +Après le paragraphe « 💡 On first launch, macOS asks for **Bluetooth permission** … », insérer : + +```markdown +> +> 🎵 With the notch on, macOS also asks whether SonyBridge may **control Spotify** — allow it to see and +> control your music from the notch (Spotify's own desktop app, no account needed). +``` + +Dans **Usage**, remplacer la ligne « - turn **Launch at Login**, **Connect Automatically**, and **Reconnect +Automatically** on or off under **SonyBridge Options**; » par : + +```markdown +- hover the **notch** to control Spotify and switch sound modes without opening the menu; +- turn **Launch at Login**, **Connect Automatically**, **Reconnect Automatically**, and **Show Notch** on or off under **SonyBridge Options**; +``` + +- [ ] **Step 5 : Tests, build et build de release** + +Run : `make test && make && make release` +Attendu : toutes les suites passent, `Localization: 67 keys, all translated`, les deux builds `OK` sans +avertissement ; `lipo -archs build/SonyBridge.app/Contents/MacOS/SonyBridge` → `x86_64 arm64`. + +- [ ] **Step 6 : Vérification finale avec l'utilisateur** (spec §8, l'agent lance `make run DEBUG=1`) + +1. Survol : ouverture, fermeture, pas de clignotement ; l'app active garde le clavier. +2. Les 4 états au repos. +3. Onglet Casque : changer de mode → le casque change, le menu et l'icône suivent ; bouton NC du casque → + l'encoche suit. +4. Onglet Musique : lecture/pause, précédent, suivant, glisser la position (le temps affiché suit, Spotify saute + au bon endroit), volume (Spotify suit) ; changer de morceau dans Spotify → l'encoche suit (titre, pochette). +5. Autorisation Spotify ; refus → message + « Ouvrir les réglages » (ouvre Automatisation). +6. Spotify fermé → « Spotify n'est pas ouvert » + « Ouvrir Spotify » ; SonyBridge ne relance jamais Spotify tout seul. +7. Écran externe, capot fermé, rebranchement : l'encoche se replace. +8. « Afficher l'encoche » décochée → plus d'encoche et plus de ligne `[spotify]` dans le journal ; recochée → elle revient. + +- [ ] **Step 7 : Commit (par l'utilisateur)** + +```bash +git add Client/macos README.md && git commit -m "feat(notch): music tab and README" -m "Co-Authored-By: Claude Opus 5 " +``` diff --git a/docs/superpowers/specs/2026-09-11-notch-design.md b/docs/superpowers/specs/2026-09-11-notch-design.md index ce92ed3..54cea13 100644 --- a/docs/superpowers/specs/2026-09-11-notch-design.md +++ b/docs/superpowers/specs/2026-09-11-notch-design.md @@ -84,7 +84,7 @@ Le survol ouvre l'encoche dans tous les états où elle est visible, y compris l ╰──────────────────────────────────╯ ``` -- Taille ouverte fixe (environ 360 × 160 pt, à ajuster à la vérification visuelle), la même pour les deux +- Taille ouverte fixe (environ 380 × 190 pt, encoche comprise, à ajuster à la vérification visuelle), la même pour les deux onglets : pas de saut de taille en changeant d'onglet. - Coins inférieurs arrondis ; le haut se confond avec l'encoche. - **Casque non connecté** : « Non connecté » + bouton « Connecter », qui appelle `HeadphonesModel.connect()` From 5840cefbcbca302668bc4a660821d0b937bb6091 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Fri, 11 Sep 2026 15:43:08 +0200 Subject: [PATCH 21/31] feat(notch): notch geometry and resting-state logic Co-Authored-By: Claude Opus 5 --- Client/macos/Notch/NotchContent.swift | 32 ++++++++++++++ Client/macos/Notch/NotchGeometry.swift | 58 ++++++++++++++++++++++++++ Client/tests/LogicTests/main.swift | 46 ++++++++++++++++++++ scripts/build.sh | 2 +- scripts/test.sh | 1 + 5 files changed, 138 insertions(+), 1 deletion(-) create mode 100644 Client/macos/Notch/NotchContent.swift create mode 100644 Client/macos/Notch/NotchGeometry.swift diff --git a/Client/macos/Notch/NotchContent.swift b/Client/macos/Notch/NotchContent.swift new file mode 100644 index 0000000..6ee7e60 --- /dev/null +++ b/Client/macos/Notch/NotchContent.swift @@ -0,0 +1,32 @@ +import Foundation + +// What the notch shows while resting (spec §4.1) and which tab it opens on. Pure logic, tested in LogicTests. +enum NotchRestingState: Equatable { + case musicAndHeadphones // 1: artwork left, headphones mode right + case musicOnly // 2: artwork left, level bars right + case headphonesOnly // 3: headphones glyph left, mode right + case empty // 4: bare notch (hidden on a screen without a notch) +} + +enum NotchTab: Equatable { + case music, headphones +} + +enum NotchContent { + static let openDelay: TimeInterval = 0.15 // hover time before opening + static let closeDelay: TimeInterval = 0.4 // time after the pointer leaves before closing + + static func restingState(hasMusic: Bool, headphonesConnected: Bool) -> NotchRestingState { + switch (hasMusic, headphonesConnected) { + case (true, true): return .musicAndHeadphones + case (true, false): return .musicOnly + case (false, true): return .headphonesOnly + case (false, false): return .empty + } + } + + // The first opening of the session follows the music; afterwards the last tab the user picked wins. + static func tabOnOpen(lastChosen: NotchTab?, hasMusic: Bool) -> NotchTab { + lastChosen ?? (hasMusic ? .music : .headphones) + } +} diff --git a/Client/macos/Notch/NotchGeometry.swift b/Client/macos/Notch/NotchGeometry.swift new file mode 100644 index 0000000..baa4802 --- /dev/null +++ b/Client/macos/Notch/NotchGeometry.swift @@ -0,0 +1,58 @@ +import CoreGraphics + +// The NSScreen values NotchGeometry needs, copied out so this file stays AppKit-free (tested in LogicTests). +// Rects are in global screen coordinates (origin at the bottom-left of the primary screen). +struct ScreenMetrics: Equatable { + var frame: CGRect + var safeAreaTop: CGFloat // NSScreen.safeAreaInsets.top (0 without a notch) + var auxiliaryTopLeft: CGRect? // NSScreen.auxiliaryTopLeftArea (nil without a notch) + var auxiliaryTopRight: CGRect? // NSScreen.auxiliaryTopRightArea + var menuBarHeight: CGFloat // frame.maxY - visibleFrame.maxY (0 when the menu bar auto-hides) +} + +// Where the notch panel goes (spec §4): the real notch, or a simulated pill centred at the top of a screen +// without one. Every rect shares the notch's horizontal centre and touches the top edge of the screen. +struct NotchGeometry: Equatable { + static let sideExtension: CGFloat = 36 // resting widening on each side (states 1-3) + static let simulatedWidth: CGFloat = 190 // pill width on a screen without a notch + static let fallbackMenuBarHeight: CGFloat = 24 // pill height when the menu bar auto-hides + static let openSize = CGSize(width: 380, height: 190) + + let hasNotch: Bool + let notch: CGRect + + init(screen: ScreenMetrics) { + let top = screen.frame.maxY + if screen.safeAreaTop > 0, let left = screen.auxiliaryTopLeft, let right = screen.auxiliaryTopRight, + screen.frame.width - left.width - right.width > 0 { + // Only the widths of the auxiliary areas are used, so their coordinate space doesn't matter. + hasNotch = true + notch = CGRect(x: screen.frame.minX + left.width, y: top - screen.safeAreaTop, + width: screen.frame.width - left.width - right.width, height: screen.safeAreaTop) + } else { + hasNotch = false + let height = screen.menuBarHeight > 0 ? screen.menuBarHeight : Self.fallbackMenuBarHeight + notch = CGRect(x: screen.frame.midX - Self.simulatedWidth / 2, y: top - height, + width: Self.simulatedWidth, height: height) + } + } + + // The notch widened on both sides, to hold the resting artwork / mode icons. + var extended: CGRect { + notch.insetBy(dx: -Self.sideExtension, dy: 0) + } + + var open: CGRect { + let width = max(Self.openSize.width, extended.width) + let height = max(Self.openSize.height, notch.height) + return CGRect(x: notch.midX - width / 2, y: notch.maxY - height, width: width, height: height) + } + + // Panel frame while resting; nil = hidden (nothing to show on a screen without a notch). + func restingFrame(for state: NotchRestingState) -> CGRect? { + switch state { + case .empty: return hasNotch ? notch : nil + default: return extended + } + } +} diff --git a/Client/tests/LogicTests/main.swift b/Client/tests/LogicTests/main.swift index 993b34c..6c86bc5 100644 --- a/Client/tests/LogicTests/main.swift +++ b/Client/tests/LogicTests/main.swift @@ -1,4 +1,5 @@ import Foundation +import CoreGraphics // Minimal test runner (XCTest isn't available without Xcode). Exit code 1 on any failure. var failures = 0 @@ -39,6 +40,51 @@ do { check(throttle.shouldSend(at: t0.addingTimeInterval(0.17), final: true), "final value always sends") } +// NotchGeometry: a 14" MacBook Pro screen (1512 × 982 pt, notch 188 pt wide, 32 pt high). +do { + let screen = ScreenMetrics(frame: CGRect(x: 0, y: 0, width: 1512, height: 982), safeAreaTop: 32, + auxiliaryTopLeft: CGRect(x: 0, y: 950, width: 662, height: 32), + auxiliaryTopRight: CGRect(x: 850, y: 950, width: 662, height: 32), + menuBarHeight: 32) + let geometry = NotchGeometry(screen: screen) + check(geometry.hasNotch, "notched screen detected") + check(geometry.notch == CGRect(x: 662, y: 950, width: 188, height: 32), "notch rect was \(geometry.notch)") + check(geometry.extended == CGRect(x: 626, y: 950, width: 260, height: 32), "extended rect was \(geometry.extended)") + check(geometry.open == CGRect(x: 566, y: 792, width: 380, height: 190), "open rect was \(geometry.open)") + check(geometry.restingFrame(for: .empty) == geometry.notch, "empty state: bare notch") + check(geometry.restingFrame(for: .musicOnly) == geometry.extended, "music: extended notch") +} + +// NotchGeometry: an external screen without a notch, right of the primary screen. +do { + let frame = CGRect(x: 1512, y: 0, width: 2560, height: 1440) + let geometry = NotchGeometry(screen: ScreenMetrics(frame: frame, safeAreaTop: 0, auxiliaryTopLeft: nil, + auxiliaryTopRight: nil, menuBarHeight: 25)) + check(!geometry.hasNotch, "no notch") + check(geometry.notch == CGRect(x: 2697, y: 1415, width: 190, height: 25), "simulated pill was \(geometry.notch)") + check(geometry.restingFrame(for: .empty) == nil, "empty state hides the pill") + check(geometry.restingFrame(for: .headphonesOnly) == geometry.extended, "headphones: extended pill") + + let autoHidden = NotchGeometry(screen: ScreenMetrics(frame: frame, safeAreaTop: 0, auxiliaryTopLeft: nil, + auxiliaryTopRight: nil, menuBarHeight: 0)) + check(autoHidden.notch.height == 24, "auto-hidden menu bar: fallback pill height") + let partial = NotchGeometry(screen: ScreenMetrics(frame: frame, safeAreaTop: 32, auxiliaryTopLeft: nil, + auxiliaryTopRight: nil, menuBarHeight: 32)) + check(!partial.hasNotch, "safe area without auxiliary areas: no notch") +} + +// NotchContent: resting state (spec §4.1), tab on opening, hover delays. +do { + check(NotchContent.restingState(hasMusic: true, headphonesConnected: true) == .musicAndHeadphones, "state 1") + check(NotchContent.restingState(hasMusic: true, headphonesConnected: false) == .musicOnly, "state 2") + check(NotchContent.restingState(hasMusic: false, headphonesConnected: true) == .headphonesOnly, "state 3") + check(NotchContent.restingState(hasMusic: false, headphonesConnected: false) == .empty, "state 4") + check(NotchContent.tabOnOpen(lastChosen: nil, hasMusic: true) == .music, "first open with music: Music") + check(NotchContent.tabOnOpen(lastChosen: nil, hasMusic: false) == .headphones, "first open without music: Headphones") + check(NotchContent.tabOnOpen(lastChosen: .headphones, hasMusic: true) == .headphones, "then the last chosen tab") + check(NotchContent.openDelay == 0.15 && NotchContent.closeDelay == 0.4, "hover delays") +} + if failures > 0 { print("LogicTests: \(failures) failure(s)") exit(1) diff --git a/scripts/build.sh b/scripts/build.sh index ad37a60..1908714 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -20,7 +20,7 @@ if [ "$CONFIG" = release ]; then SWIFT_OPT="-O"; CXX_OPT="-O2"; else SWIFT_OPT=" SWIFT_DEFINES=""; CXX_DEFINES="" if [ "${DEBUG_PROTOCOL:-0}" = 1 ]; then SWIFT_DEFINES="-D DEBUG_PROTOCOL"; CXX_DEFINES="-DSHC_DEBUG_PROTOCOL"; fi -SWIFT_SOURCES=("$MAC"/*.swift "$MAC"/MenuRows/*.swift) +SWIFT_SOURCES=("$MAC"/*.swift "$MAC"/MenuRows/*.swift "$MAC"/Notch/*.swift "$MAC"/Music/*.swift) CXX_SOURCES=("$CORE"/*.cpp) OBJCXX_SOURCES=("$MAC"/*.mm) diff --git a/scripts/test.sh b/scripts/test.sh index 22d9207..1037f61 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -13,6 +13,7 @@ echo "== LogicTests" swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 \ "$ROOT/Client/tests/LogicTests/main.swift" \ "$MAC/ReconnectPolicy.swift" "$MAC/PollGuard.swift" "$MAC/SendThrottle.swift" \ + "$MAC/Notch/NotchGeometry.swift" "$MAC/Notch/NotchContent.swift" \ -o "$OUT/LogicTests" "$OUT/LogicTests" From 2d07accf6ef0ac0bdcb91c9974862b4a7252b728 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 10:20:39 +0200 Subject: [PATCH 22/31] feat(music): pure playback logic (now playing, clock, Spotify parsing) --- Client/macos/Music/NowPlaying.swift | 25 +++++++ Client/macos/Music/PlaybackClock.swift | 20 ++++++ Client/macos/Music/SpotifyPlaybackInfo.swift | 59 +++++++++++++++ Client/tests/LogicTests/main.swift | 76 ++++++++++++++++++++ scripts/test.sh | 1 + 5 files changed, 181 insertions(+) create mode 100644 Client/macos/Music/NowPlaying.swift create mode 100644 Client/macos/Music/PlaybackClock.swift create mode 100644 Client/macos/Music/SpotifyPlaybackInfo.swift diff --git a/Client/macos/Music/NowPlaying.swift b/Client/macos/Music/NowPlaying.swift new file mode 100644 index 0000000..02beb0f --- /dev/null +++ b/Client/macos/Music/NowPlaying.swift @@ -0,0 +1,25 @@ +import Foundation + +// What a music source can do with the current track (the Web source of step 2 depends on the device). +struct MusicCapabilities: Equatable { + var canSeek: Bool + var canSetVolume: Bool + var canChangeDevice: Bool +} + +// The track a music source is playing (or paused on). `position` was true at `positionDate`; PlaybackClock +// derives the live position from it, so nothing polls while a track plays. +struct NowPlaying: Equatable { + var trackID: String + var title: String + var artist: String + var album: String + var artworkURL: URL? + var duration: TimeInterval // seconds; 0 when unknown + var position: TimeInterval // seconds, at positionDate + var positionDate: Date + var isPlaying: Bool + var volume: Int? // 0...100; nil until known + var deviceName: String? // nil = this Mac + var capabilities: MusicCapabilities +} diff --git a/Client/macos/Music/PlaybackClock.swift b/Client/macos/Music/PlaybackClock.swift new file mode 100644 index 0000000..b06e3e7 --- /dev/null +++ b/Client/macos/Music/PlaybackClock.swift @@ -0,0 +1,20 @@ +import Foundation + +// Live playback position and its display, from the last known position (spec §6.1). +enum PlaybackClock { + static func position(of track: NowPlaying, at date: Date) -> TimeInterval { + var position = track.position + if track.isPlaying { position += date.timeIntervalSince(track.positionDate) } + if track.duration > 0 { position = min(position, track.duration) } + return max(0, position) + } + + // "1:05", "12:34", "1:02:03". + static func format(_ seconds: TimeInterval) -> String { + let total = max(0, Int(seconds.rounded(.down))) + let hours = total / 3600, minutes = total / 60 % 60, secs = total % 60 + return hours > 0 + ? String(format: "%d:%02d:%02d", hours, minutes, secs) + : String(format: "%d:%02d", minutes, secs) + } +} diff --git a/Client/macos/Music/SpotifyPlaybackInfo.swift b/Client/macos/Music/SpotifyPlaybackInfo.swift new file mode 100644 index 0000000..3f3fde0 --- /dev/null +++ b/Client/macos/Music/SpotifyPlaybackInfo.swift @@ -0,0 +1,59 @@ +import Foundation + +// Result of decoding what the local Spotify app reports. +enum SpotifyState: Equatable { + case stopped // Spotify is open with nothing loaded + case track(NowPlaying) + case incomplete // not enough information: read the state through Apple Events instead +} + +// Decodes the local Spotify app's signal and Apple Events replies (spec §6.1). Pure, tested in LogicTests. +enum SpotifyPlaybackInfo { + static let localCapabilities = MusicCapabilities(canSeek: true, canSetVolume: true, canChangeDevice: false) + static let fieldSeparator: Character = "\u{1F}" + + // com.spotify.client.PlaybackStateChanged userInfo: "Player State" (Playing / Paused / Stopped), "Track ID", + // "Name", "Artist", "Album", "Duration" (ms), "Playback Position" (s). It never carries artwork or volume. + static func parse(signal userInfo: [AnyHashable: Any]?, at date: Date) -> SpotifyState { + guard let info = userInfo, let state = info["Player State"] as? String else { return .incomplete } + if state == "Stopped" { return .stopped } + guard state == "Playing" || state == "Paused", + let trackID = info["Track ID"] as? String, !trackID.isEmpty else { return .incomplete } + return .track(NowPlaying( + trackID: trackID, + title: info["Name"] as? String ?? "", + artist: info["Artist"] as? String ?? "", + album: info["Album"] as? String ?? "", + artworkURL: nil, + duration: ((info["Duration"] as? NSNumber)?.doubleValue ?? 0) / 1000, + position: (info["Playback Position"] as? NSNumber)?.doubleValue ?? 0, + positionDate: date, + isPlaying: state == "Playing", + volume: nil, + deviceName: nil, + capabilities: localCapabilities)) + } + + // SpotifyScript.readState's reply: "stopped", or 9 fields separated by U+001F — state, track id, name, + // artist, album, duration (ms), position (ms), artwork URL, volume. + static func parse(scriptResult text: String, at date: Date) -> SpotifyState { + if text == "stopped" { return .stopped } + let fields = text.split(separator: fieldSeparator, omittingEmptySubsequences: false).map(String.init) + guard fields.count == 9, fields[0] == "playing" || fields[0] == "paused", !fields[1].isEmpty else { + return .incomplete + } + return .track(NowPlaying( + trackID: fields[1], + title: fields[2], + artist: fields[3], + album: fields[4], + artworkURL: URL(string: fields[7]), + duration: (Double(fields[5]) ?? 0) / 1000, + position: (Double(fields[6]) ?? 0) / 1000, + positionDate: date, + isPlaying: fields[0] == "playing", + volume: Int(fields[8]).map { min(100, max(0, $0)) }, + deviceName: nil, + capabilities: localCapabilities)) + } +} diff --git a/Client/tests/LogicTests/main.swift b/Client/tests/LogicTests/main.swift index 6c86bc5..727d513 100644 --- a/Client/tests/LogicTests/main.swift +++ b/Client/tests/LogicTests/main.swift @@ -85,6 +85,82 @@ do { check(NotchContent.openDelay == 0.15 && NotchContent.closeDelay == 0.4, "hover delays") } +// PlaybackClock: live position from the last known one; display format. +do { + let t0 = Date(timeIntervalSince1970: 1_000) + var track = NowPlaying(trackID: "spotify:track:1", title: "A", artist: "B", album: "C", artworkURL: nil, + duration: 200, position: 30, positionDate: t0, isPlaying: true, volume: 50, + deviceName: nil, + capabilities: MusicCapabilities(canSeek: true, canSetVolume: true, canChangeDevice: false)) + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(12)) == 42, "playing: advances") + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(500)) == 200, "bounded by the duration") + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(-40)) == 0, "never negative") + track.isPlaying = false + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(12)) == 30, "paused: frozen") + track.isPlaying = true + track.duration = 0 + check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(500)) == 530, "unknown duration: not bounded") + let nextTrack = NowPlaying(trackID: "spotify:track:2", title: "D", artist: "E", album: "F", artworkURL: nil, + duration: 180, position: 0, positionDate: t0.addingTimeInterval(100), isPlaying: true, + volume: 50, deviceName: nil, capabilities: track.capabilities) + check(PlaybackClock.position(of: nextTrack, at: t0.addingTimeInterval(100)) == 0, "track change: starts from 0") + check(PlaybackClock.format(65) == "1:05", "format 1:05 was \(PlaybackClock.format(65))") + check(PlaybackClock.format(754.9) == "12:34", "format rounds down") + check(PlaybackClock.format(3723) == "1:02:03", "format with hours") + check(PlaybackClock.format(-3) == "0:00", "format never negative") +} + +// SpotifyPlaybackInfo: the PlaybackStateChanged signal (spec §6.1). +do { + let t0 = Date(timeIntervalSince1970: 1_000) + let signal: [AnyHashable: Any] = [ + "Player State": "Playing", "Track ID": "spotify:track:42", "Name": "Midnight City", "Artist": "M83", + "Album": "Hurry Up, We're Dreaming", "Duration": NSNumber(value: 243_000), "Playback Position": NSNumber(value: 12.5), + ] + if case .track(let track) = SpotifyPlaybackInfo.parse(signal: signal, at: t0) { + check(track.trackID == "spotify:track:42" && track.title == "Midnight City" && track.artist == "M83", "signal: names") + check(track.duration == 243 && track.position == 12.5 && track.positionDate == t0 && track.isPlaying, "signal: timing") + check(track.artworkURL == nil && track.volume == nil && track.deviceName == nil, "signal: no artwork or volume, this Mac") + check(track.capabilities == SpotifyPlaybackInfo.localCapabilities, "signal: local capabilities") + } else { + check(false, "signal with full info decodes to a track") + } + var paused = signal + paused["Player State"] = "Paused" + paused["Playback Position"] = nil + if case .track(let track) = SpotifyPlaybackInfo.parse(signal: paused, at: t0) { + check(!track.isPlaying && track.position == 0, "paused, no position: 0") + } else { + check(false, "paused signal decodes to a track") + } + check(SpotifyPlaybackInfo.parse(signal: ["Player State": "Stopped"], at: t0) == .stopped, "signal: stopped") + check(SpotifyPlaybackInfo.parse(signal: nil, at: t0) == .incomplete, "signal without userInfo: incomplete") + check(SpotifyPlaybackInfo.parse(signal: ["Player State": "Playing"], at: t0) == .incomplete, "signal without track id: incomplete") +} + +// SpotifyPlaybackInfo: the text SpotifyScript.readState returns (fields separated by U+001F). +do { + let t0 = Date(timeIntervalSince1970: 1_000) + let sep = "\u{1F}" + let text = ["paused", "spotify:track:7", "Title", "Artist", "Album", "180000", "61500", + "https://i.scdn.co/image/ab", "70"].joined(separator: sep) + if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: text, at: t0) { + check(!track.isPlaying && track.duration == 180 && track.position == 61.5, "script: timing") + check(track.artworkURL == URL(string: "https://i.scdn.co/image/ab") && track.volume == 70, "script: artwork and volume") + check(track.title == "Title" && track.album == "Album" && track.positionDate == t0, "script: names") + } else { + check(false, "script result decodes to a track") + } + let local = ["playing", "spotify:local:x", "T", "", "", "1000", "0", "", "101"].joined(separator: sep) + if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: local, at: t0) { + check(track.artworkURL == nil && track.volume == 100 && track.artist.isEmpty, "script: empty fields, volume clamped") + } else { + check(false, "script result with empty fields decodes to a track") + } + check(SpotifyPlaybackInfo.parse(scriptResult: "stopped", at: t0) == .stopped, "script: stopped") + check(SpotifyPlaybackInfo.parse(scriptResult: "garbage", at: t0) == .incomplete, "script: malformed") +} + if failures > 0 { print("LogicTests: \(failures) failure(s)") exit(1) diff --git a/scripts/test.sh b/scripts/test.sh index 1037f61..580f7ab 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -14,6 +14,7 @@ swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 \ "$ROOT/Client/tests/LogicTests/main.swift" \ "$MAC/ReconnectPolicy.swift" "$MAC/PollGuard.swift" "$MAC/SendThrottle.swift" \ "$MAC/Notch/NotchGeometry.swift" "$MAC/Notch/NotchContent.swift" \ + "$MAC/Music/NowPlaying.swift" "$MAC/Music/PlaybackClock.swift" "$MAC/Music/SpotifyPlaybackInfo.swift" \ -o "$OUT/LogicTests" "$OUT/LogicTests" From eed95e273ab31d043135406620e5f2e6669c2a6a Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 10:26:25 +0200 Subject: [PATCH 23/31] feat(music): local Spotify source, music controller and Show Notch option --- Client/macos/AppDelegate.swift | 11 + Client/macos/AppSettings.swift | 10 +- Client/macos/HeadphonesMenu.swift | 5 +- Client/macos/Music/MusicController.swift | 149 +++++++++++++ Client/macos/Music/MusicSource.swift | 22 ++ Client/macos/Music/SpotifyLocalSource.swift | 206 ++++++++++++++++++ Client/macos/Music/SpotifyScript.swift | 44 ++++ .../macos/SonyHeadphonesClient.entitlements | 6 + Client/macos/en.lproj/InfoPlist.strings | 1 + Client/macos/fr.lproj/InfoPlist.strings | 1 + Client/macos/fr.lproj/Localizable.strings | 1 + Client/macos/info.plist | 2 + 12 files changed, 455 insertions(+), 3 deletions(-) create mode 100644 Client/macos/Music/MusicController.swift create mode 100644 Client/macos/Music/MusicSource.swift create mode 100644 Client/macos/Music/SpotifyLocalSource.swift create mode 100644 Client/macos/Music/SpotifyScript.swift diff --git a/Client/macos/AppDelegate.swift b/Client/macos/AppDelegate.swift index 20f7ea5..966993e 100644 --- a/Client/macos/AppDelegate.swift +++ b/Client/macos/AppDelegate.swift @@ -1,15 +1,26 @@ import AppKit +import Combine final class AppDelegate: NSObject, NSApplicationDelegate { private let model = HeadphonesModel() private let settings = AppSettings() + private let music = MusicController() private let deviceWatcher = DeviceWatcher() private var statusItemController: StatusItemController? + private var cancellables = Set() func applicationDidFinishLaunching(_ notification: Notification) { model.settings = settings statusItemController = StatusItemController(model: model, settings: settings) + // Spotify is only read while the notch is on (notch spec §4.3). $showNotch emits the current value first. + settings.$showNotch + .receive(on: DispatchQueue.main) + .sink { [weak self] show in + if show { self?.music.start() } else { self?.music.stop() } + } + .store(in: &cancellables) + deviceWatcher.onConnect = { [weak self] address, name in self?.model.headsetConnectedToMac(address: address, name: name) } diff --git a/Client/macos/AppSettings.swift b/Client/macos/AppSettings.swift index 7f1b456..afbd71e 100644 --- a/Client/macos/AppSettings.swift +++ b/Client/macos/AppSettings.swift @@ -1,12 +1,13 @@ import Foundation import ServiceManagement -// The three user options, persisted in UserDefaults. Launch at login is backed by SMAppService (macOS 13+). +// The user options, persisted in UserDefaults. Launch at login is backed by SMAppService (macOS 13+). final class AppSettings: ObservableObject { private enum Keys { static let autoConnect = "autoConnect" static let autoReconnect = "autoReconnect" static let lastDeviceAddress = "lastDeviceAddress" + static let showNotch = "showNotch" } private let defaults: UserDefaults @@ -17,6 +18,9 @@ final class AppSettings: ObservableObject { @Published var autoReconnect: Bool { didSet { defaults.set(autoReconnect, forKey: Keys.autoReconnect) } } + @Published var showNotch: Bool { + didSet { defaults.set(showNotch, forKey: Keys.showNotch) } + } @Published private(set) var launchAtLogin: Bool var lastDeviceAddress: String? { @@ -27,9 +31,11 @@ final class AppSettings: ObservableObject { init(defaults: UserDefaults = .standard) { self.defaults = defaults // Spec §4: auto-connect and auto-reconnect default on; launch at login stays off until the user asks. - defaults.register(defaults: [Keys.autoConnect: true, Keys.autoReconnect: true]) + // Notch spec §7: the notch is shown by default. + defaults.register(defaults: [Keys.autoConnect: true, Keys.autoReconnect: true, Keys.showNotch: true]) autoConnect = defaults.bool(forKey: Keys.autoConnect) autoReconnect = defaults.bool(forKey: Keys.autoReconnect) + showNotch = defaults.bool(forKey: Keys.showNotch) launchAtLogin = SMAppService.mainApp.status == .enabled } diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index 4db3fae..fcbb888 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -29,6 +29,7 @@ final class HeadphonesMenu { private var launchAtLoginItem = NSMenuItem() private var autoConnectItem = NSMenuItem() private var autoReconnectItem = NSMenuItem() + private var showNotchItem = NSMenuItem() private static var presets: [(Int, String)] { [(0x00, tr("Off")), (0x10, tr("Bright")), (0x11, tr("Excited")), (0x12, tr("Mellow")), @@ -156,7 +157,8 @@ final class HeadphonesMenu { launchAtLoginItem = ActionMenuItem(tr("Launch at Login")) { [weak self] in self?.toggleLaunchAtLogin() } autoConnectItem = ActionMenuItem(tr("Connect Automatically")) { [weak settings] in settings?.autoConnect.toggle() } autoReconnectItem = ActionMenuItem(tr("Reconnect Automatically")) { [weak settings] in settings?.autoReconnect.toggle() } - for item in [launchAtLoginItem, autoConnectItem, autoReconnectItem] { optionsMenu.addItem(item) } + showNotchItem = ActionMenuItem(tr("Show Notch")) { [weak settings] in settings?.showNotch.toggle() } + for item in [launchAtLoginItem, autoConnectItem, autoReconnectItem, showNotchItem] { optionsMenu.addItem(item) } let optionsItem = NSMenuItem(title: tr("SonyBridge Options"), action: nil, keyEquivalent: "") optionsItem.submenu = optionsMenu menu.addItem(optionsItem) @@ -218,6 +220,7 @@ final class HeadphonesMenu { launchAtLoginItem.state = settings.launchAtLogin ? .on : .off autoConnectItem.state = settings.autoConnect ? .on : .off autoReconnectItem.state = settings.autoReconnect ? .on : .off + showNotchItem.state = settings.showNotch ? .on : .off } private func updateAbout() { diff --git a/Client/macos/Music/MusicController.swift b/Client/macos/Music/MusicController.swift new file mode 100644 index 0000000..f8ebc4d --- /dev/null +++ b/Client/macos/Music/MusicController.swift @@ -0,0 +1,149 @@ +import AppKit +import Combine + +// The music state the notch shows, from the active MusicSource (spec §5.1). Step 1: the local Spotify app. +final class MusicController: ObservableObject { + static let openRefreshInterval: TimeInterval = 5 // re-read while the notch is open (volume isn't signalled) + private static let artworkCacheSize = 8 + + @Published private(set) var status: MusicSourceStatus = .notRunning + @Published private(set) var nowPlaying: NowPlaying? + @Published private(set) var artwork: NSImage? + + // Something to show: a track, playing or paused (even without the right to control it). + var hasMusic: Bool { status != .notRunning && nowPlaying != nil } + + private let source: MusicSource + private var running = false + private var refreshTimer: Timer? + private var seekThrottle = SendThrottle() + private var volumeThrottle = SendThrottle() + private var artworkCache: [URL: NSImage] = [:] + private var artworkOrder: [URL] = [] + private var artworkRequest: URL? + private var lastLogLine = "" + + init(source: MusicSource = SpotifyLocalSource()) { + self.source = source + source.onChange = { [weak self] status, track in self?.apply(status, track) } + } + + func start() { + guard !running else { return } + running = true + source.start() + } + + // "Show Notch" off: no Spotify reads at all (spec §4.3). + func stop() { + guard running else { return } + running = false + notchDidClose() + source.stop() + status = .notRunning + nowPlaying = nil + artwork = nil + artworkRequest = nil + log("stopped") + } + + // Opening reads once (which also retries a refused permission, spec §6.3), then every 5 s while open. + func notchDidOpen() { + guard running else { return } + source.refresh() + refreshTimer?.invalidate() + let timer = Timer(timeInterval: Self.openRefreshInterval, repeats: true) { [weak self] _ in + guard let self = self, self.status == .ready else { return } + self.source.refresh() + } + RunLoop.main.add(timer, forMode: .common) + refreshTimer = timer + } + + func notchDidClose() { + refreshTimer?.invalidate() + refreshTimer = nil + } + + func playPause() { source.playPause() } + + func next() { source.next() } + + func previous() { source.previous() } + + // Sliders: at most one command per 150 ms while dragging, the final value always, then a read-back. + func seek(to seconds: TimeInterval, final: Bool) { + if seekThrottle.shouldSend(final: final) { source.seek(to: seconds) } + if final { source.refresh() } + } + + func setVolume(_ volume: Int, final: Bool) { + if volumeThrottle.shouldSend(final: final) { source.setVolume(volume) } + if final { source.refresh() } + } + + func launchPlayer() { source.launchPlayer() } + + func openAutomationSettings() { + if let url = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Automation") { + NSWorkspace.shared.open(url) + } + } + + // MARK: - Private + + private func apply(_ newStatus: MusicSourceStatus, _ track: NowPlaying?) { + guard running else { return } + status = newStatus + nowPlaying = track + loadArtwork(track?.artworkURL) + switch (newStatus, track) { + case (.notRunning, _): log("not running") + case (.permissionDenied, _): log("permission denied") + case (.ready, nil): log("nothing playing") + case (.ready, let track?): + log("\(track.isPlaying ? "playing" : "paused") \(track.trackID) vol \(track.volume.map(String.init) ?? "?")") + } + } + + // One line per actual change (the 5 s re-reads stay quiet). + private func log(_ line: String) { + guard line != lastLogLine else { return } + lastLogLine = line + fputs("[spotify] \(line)\n", stderr) + } + + private func loadArtwork(_ url: URL?) { + guard let url = url else { + artwork = nil + artworkRequest = nil + return + } + if let cached = artworkCache[url] { + artwork = cached + artworkRequest = nil + return + } + guard artworkRequest != url else { return } // already downloading + artworkRequest = url + URLSession.shared.dataTask(with: url) { [weak self] data, _, _ in + let image = data.flatMap { NSImage(data: $0) } + DispatchQueue.main.async { + guard let self = self, self.artworkRequest == url else { return } + self.artworkRequest = nil + guard let image = image else { return } + self.remember(image, for: url) + self.artwork = image + } + }.resume() + } + + private func remember(_ image: NSImage, for url: URL) { + artworkCache[url] = image + artworkOrder.removeAll { $0 == url } + artworkOrder.append(url) + if artworkOrder.count > Self.artworkCacheSize { + artworkCache[artworkOrder.removeFirst()] = nil + } + } +} diff --git a/Client/macos/Music/MusicSource.swift b/Client/macos/Music/MusicSource.swift new file mode 100644 index 0000000..9d837db --- /dev/null +++ b/Client/macos/Music/MusicSource.swift @@ -0,0 +1,22 @@ +import Foundation + +enum MusicSourceStatus: Equatable { + case notRunning // the player app isn't open + case permissionDenied // macOS refused SonyBridge the right to control it + case ready +} + +// Where the music comes from (spec §5.1). Step 1: SpotifyLocalSource; step 2 adds the Spotify Web API. +// Called on the main thread; onChange is called on the main thread. +protocol MusicSource: AnyObject { + var onChange: ((MusicSourceStatus, NowPlaying?) -> Void)? { get set } + func start() + func stop() + func refresh() + func playPause() + func next() + func previous() + func seek(to seconds: TimeInterval) + func setVolume(_ volume: Int) + func launchPlayer() +} diff --git a/Client/macos/Music/SpotifyLocalSource.swift b/Client/macos/Music/SpotifyLocalSource.swift new file mode 100644 index 0000000..2f09087 --- /dev/null +++ b/Client/macos/Music/SpotifyLocalSource.swift @@ -0,0 +1,206 @@ +import AppKit + +// Reads and controls the Spotify app of this Mac (spec §6): its PlaybackStateChanged signal, plus Apple Events. +// Never sends an Apple Event while Spotify isn't running: one would launch it. +final class SpotifyLocalSource: MusicSource { + static let bundleIdentifier = "com.spotify.client" + private static let signalName = Notification.Name("com.spotify.client.PlaybackStateChanged") + private static let permissionDeniedError = -1743 // errAEEventNotPermitted + private static let notRunningErrors: Set = [-600, -609] // procNotFound, connectionInvalid + private static let launchSettleDelay: TimeInterval = 2 // Spotify answers Apple Events a moment after launch + + var onChange: ((MusicSourceStatus, NowPlaying?) -> Void)? + + // Main thread only. + private var status: MusicSourceStatus = .notRunning + private var nowPlaying: NowPlaying? + private var signalObserver: NSObjectProtocol? + private var workspaceObservers: [NSObjectProtocol] = [] + + // Every NSAppleScript is created and run on this serial queue, one at a time. + private let scriptQueue = DispatchQueue(label: "com.sonybridge.spotify") + private var readScript: NSAppleScript? // scriptQueue only + private var consentGranted = false // scriptQueue only + + // Checked before queuing, and again on the script queue right before an Apple Event goes out, so a Spotify + // quit in between is never relaunched. + private static var spotifyIsRunning: Bool { + !NSRunningApplication.runningApplications(withBundleIdentifier: bundleIdentifier).isEmpty + } + + private var isRunning: Bool { Self.spotifyIsRunning } + + func start() { + guard signalObserver == nil else { return } + signalObserver = DistributedNotificationCenter.default().addObserver( + forName: Self.signalName, object: nil, queue: .main + ) { [weak self] note in + self?.handleSignal(note.userInfo) + } + let center = NSWorkspace.shared.notificationCenter + workspaceObservers = [ + center.addObserver(forName: NSWorkspace.didLaunchApplicationNotification, object: nil, queue: .main) { [weak self] note in + guard Self.isSpotify(note) else { return } + DispatchQueue.main.asyncAfter(deadline: .now() + Self.launchSettleDelay) { self?.refresh() } + }, + center.addObserver(forName: NSWorkspace.didTerminateApplicationNotification, object: nil, queue: .main) { [weak self] note in + if Self.isSpotify(note) { self?.publish(.notRunning, nil) } + }, + ] + if isRunning { refresh() } else { publish(.notRunning, nil) } + } + + func stop() { + if let observer = signalObserver { DistributedNotificationCenter.default().removeObserver(observer) } + signalObserver = nil + workspaceObservers.forEach { NSWorkspace.shared.notificationCenter.removeObserver($0) } + workspaceObservers = [] + status = .notRunning + nowPlaying = nil + } + + func refresh() { + guard signalObserver != nil else { return } + guard isRunning else { publish(.notRunning, nil); return } + scriptQueue.async { [weak self] in + guard let self = self, Self.spotifyIsRunning else { return } + if let code = self.consentError() { + DispatchQueue.main.async { self.applyFailure(code) } + return + } + if self.readScript == nil { self.readScript = NSAppleScript(source: SpotifyScript.readState) } + let result = SpotifyScript.run(self.readScript) + DispatchQueue.main.async { self.applyRead(result) } + } + } + + func playPause() { + // Optimistic: the signal confirms a moment later. + if var track = nowPlaying { + track.position = PlaybackClock.position(of: track, at: Date()) + track.positionDate = Date() + track.isPlaying.toggle() + publish(status, track) + } + send("playpause") + } + + func next() { send("next track") } + + func previous() { send("previous track") } + + func seek(to seconds: TimeInterval) { + if var track = nowPlaying { + track.position = seconds + track.positionDate = Date() + publish(status, track) + } + // String(format:) isn't localized: always a "." decimal separator, as AppleScript source needs. + send(String(format: "set player position to %.3f", seconds)) + } + + func setVolume(_ volume: Int) { + let clamped = min(100, max(0, volume)) + if var track = nowPlaying { + track.volume = clamped + publish(status, track) + } + send("set sound volume to \(clamped)") + } + + func launchPlayer() { + guard let url = NSWorkspace.shared.urlForApplication(withBundleIdentifier: Self.bundleIdentifier) else { + fputs("[spotify] Spotify isn't installed\n", stderr) + return + } + NSWorkspace.shared.openApplication(at: url, configuration: NSWorkspace.OpenConfiguration(), + completionHandler: nil) + } + + // MARK: - Private + + private func send(_ command: String) { + guard signalObserver != nil else { return } + guard isRunning else { publish(.notRunning, nil); return } + scriptQueue.async { [weak self] in + guard let self = self, Self.spotifyIsRunning else { return } + if let code = self.consentError() { + DispatchQueue.main.async { self.applyFailure(code) } + return + } + let result = SpotifyScript.run(NSAppleScript(source: SpotifyScript.command(command))) + if case .failure(let code) = result { + DispatchQueue.main.async { self.applyFailure(code) } + } + } + } + + private func handleSignal(_ userInfo: [AnyHashable: Any]?) { + let denied = status == .permissionDenied + switch SpotifyPlaybackInfo.parse(signal: userInfo, at: Date()) { + case .stopped: + publish(denied ? .permissionDenied : .ready, nil) + case .track(var track): + // Artwork and volume only come from Apple Events: keep them for the same track, read them otherwise. + if let current = nowPlaying, current.trackID == track.trackID { + track.artworkURL = current.artworkURL + track.volume = current.volume + } + publish(denied ? .permissionDenied : .ready, track) + if track.artworkURL == nil && !denied { refresh() } + case .incomplete: + if !denied { refresh() } + } + } + + private func applyRead(_ result: SpotifyScript.Result) { + guard signalObserver != nil else { return } // stopped meanwhile + switch result { + case .success(let text): + switch SpotifyPlaybackInfo.parse(scriptResult: text, at: Date()) { + case .stopped: publish(.ready, nil) + case .track(let track): publish(.ready, track) + case .incomplete: fputs("[spotify] unexpected reply: \(text)\n", stderr) + } + case .failure(let code): + applyFailure(code) + } + } + + // Spec §6.3: a refusal stops the reads (the controller retries once per notch opening); anything else + // (timeout, busy) keeps the last known state until the next signal. + private func applyFailure(_ code: Int) { + guard signalObserver != nil else { return } + if code == Self.permissionDeniedError { + publish(.permissionDenied, nowPlaying) + } else if Self.notRunningErrors.contains(code) { + publish(.notRunning, nil) + } else { + fputs("[spotify] Apple Event failed (\(code))\n", stderr) + } + } + + // scriptQueue only. Asks for macOS's automation consent without a timeout: otherwise the scripts' own 2 s + // timeout cancels the first Apple Event while the consent prompt still waits for the user, and the read is + // lost. nil = allowed; otherwise the error to handle (-1743 refused, -600 Spotify not running). + private func consentError() -> Int? { + if consentGranted { return nil } + let target = NSAppleEventDescriptor(bundleIdentifier: Self.bundleIdentifier) + let status = AEDeterminePermissionToAutomateTarget(target.aeDesc, AEEventClass(typeWildCard), AEEventID(typeWildCard), true) + if status == noErr { + consentGranted = true + return nil + } + return Int(status) + } + + private func publish(_ newStatus: MusicSourceStatus, _ track: NowPlaying?) { + status = newStatus + nowPlaying = track + onChange?(newStatus, track) + } + + private static func isSpotify(_ note: Notification) -> Bool { + (note.userInfo?[NSWorkspace.applicationUserInfoKey] as? NSRunningApplication)?.bundleIdentifier == bundleIdentifier + } +} diff --git a/Client/macos/Music/SpotifyScript.swift b/Client/macos/Music/SpotifyScript.swift new file mode 100644 index 0000000..406cb44 --- /dev/null +++ b/Client/macos/Music/SpotifyScript.swift @@ -0,0 +1,44 @@ +import Foundation + +// AppleScript sent to the local Spotify app (spec §6). Only ever run on SpotifyLocalSource's script queue. +enum SpotifyScript { + enum Result: Equatable { + case success(String) + case failure(Int) // AppleScript / Apple Event error number + } + + // Fields joined by U+001F; times as integer milliseconds so no locale decimal separator shows up. + // Parsed by SpotifyPlaybackInfo.parse(scriptResult:at:). + static let readState = """ + with timeout of 2 seconds + tell application id "com.spotify.client" + set playerState to (player state as text) + if playerState is "stopped" then return "stopped" + set t to current track + set sep to (character id 31) + set art to artwork url of t + if art is missing value then set art to "" + return playerState & sep & (id of t) & sep & (name of t) & sep & (artist of t) & sep & (album of t) & sep & ((duration of t) as text) & sep & ((((player position) * 1000) div 1) as text) & sep & art & sep & ((sound volume) as text) + end tell + end timeout + """ + + // One command, e.g. "playpause", "next track", "set sound volume to 40". + static func command(_ body: String) -> String { + """ + with timeout of 2 seconds + tell application id "com.spotify.client" to \(body) + end timeout + """ + } + + static func run(_ script: NSAppleScript?) -> Result { + guard let script = script else { return .failure(-2700) } + var error: NSDictionary? + let output = script.executeAndReturnError(&error) + if let error = error { + return .failure((error[NSAppleScript.errorNumber] as? NSNumber)?.intValue ?? -2700) + } + return .success(output.stringValue ?? "") + } +} diff --git a/Client/macos/SonyHeadphonesClient.entitlements b/Client/macos/SonyHeadphonesClient.entitlements index 70cb01d..c16fee2 100644 --- a/Client/macos/SonyHeadphonesClient.entitlements +++ b/Client/macos/SonyHeadphonesClient.entitlements @@ -8,6 +8,12 @@ com.apple.security.files.user-selected.read-only + com.apple.security.network.client + + com.apple.security.temporary-exception.apple-events + + com.spotify.client + com.apple.security.temporary-exception.files.home-relative-path.read-write /Library/Logs/SonyBridge/ diff --git a/Client/macos/en.lproj/InfoPlist.strings b/Client/macos/en.lproj/InfoPlist.strings index 63b393f..4282684 100644 --- a/Client/macos/en.lproj/InfoPlist.strings +++ b/Client/macos/en.lproj/InfoPlist.strings @@ -1,2 +1,3 @@ /* Localized Info.plist values (English). Keeps an en.lproj in the bundle so non-French systems fall back to English. */ "NSBluetoothAlwaysUsageDescription" = "This app uses Bluetooth in order to connect to your headphones."; +"NSAppleEventsUsageDescription" = "SonyBridge shows and controls the music playing in Spotify."; diff --git a/Client/macos/fr.lproj/InfoPlist.strings b/Client/macos/fr.lproj/InfoPlist.strings index 82760db..0f9a918 100644 --- a/Client/macos/fr.lproj/InfoPlist.strings +++ b/Client/macos/fr.lproj/InfoPlist.strings @@ -1,2 +1,3 @@ /* Localized Info.plist values (French). */ "NSBluetoothAlwaysUsageDescription" = "SonyBridge utilise le Bluetooth pour se connecter à votre casque."; +"NSAppleEventsUsageDescription" = "SonyBridge affiche et contrôle la musique en cours dans Spotify."; diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index faa8245..29bf065 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -48,6 +48,7 @@ "Launch at Login" = "Lancer à l’ouverture de session"; "Connect Automatically" = "Connexion automatique"; "Reconnect Automatically" = "Reconnexion automatique"; +"Show Notch" = "Afficher l’encoche"; /* Errors (HeadphonesBridge.mm, HeadphonesModel.swift) */ "No connected Sony headset found. Connect your headphones in macOS Bluetooth settings first." = "Aucun casque Sony connecté. Connectez d’abord votre casque dans les réglages Bluetooth de macOS."; diff --git a/Client/macos/info.plist b/Client/macos/info.plist index 9588755..7ff9eb6 100644 --- a/Client/macos/info.plist +++ b/Client/macos/info.plist @@ -37,6 +37,8 @@ NSBluetoothAlwaysUsageDescription This app uses Bluetooth in order to connect to your headphones. + NSAppleEventsUsageDescription + SonyBridge shows and controls the music playing in Spotify. NSPrincipalClass NSApplication From d6613e4018e1256bc36ebfc331a84e66169885dd Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 10:32:17 +0200 Subject: [PATCH 24/31] feat(notch): notch panel with resting states and hover to open --- Client/macos/AppDelegate.swift | 2 + Client/macos/Notch/NotchController.swift | 178 +++++++++++++++++++++ Client/macos/Notch/NotchPanel.swift | 44 ++++++ Client/macos/Notch/NotchView.swift | 184 ++++++++++++++++++++++ Client/macos/fr.lproj/Localizable.strings | 4 + 5 files changed, 412 insertions(+) create mode 100644 Client/macos/Notch/NotchController.swift create mode 100644 Client/macos/Notch/NotchPanel.swift create mode 100644 Client/macos/Notch/NotchView.swift diff --git a/Client/macos/AppDelegate.swift b/Client/macos/AppDelegate.swift index 966993e..3b6d450 100644 --- a/Client/macos/AppDelegate.swift +++ b/Client/macos/AppDelegate.swift @@ -7,11 +7,13 @@ final class AppDelegate: NSObject, NSApplicationDelegate { private let music = MusicController() private let deviceWatcher = DeviceWatcher() private var statusItemController: StatusItemController? + private var notchController: NotchController? private var cancellables = Set() func applicationDidFinishLaunching(_ notification: Notification) { model.settings = settings statusItemController = StatusItemController(model: model, settings: settings) + notchController = NotchController(model: model, music: music, settings: settings) // Spotify is only read while the notch is on (notch spec §4.3). $showNotch emits the current value first. settings.$showNotch diff --git a/Client/macos/Notch/NotchController.swift b/Client/macos/Notch/NotchController.swift new file mode 100644 index 0000000..0f9c8f5 --- /dev/null +++ b/Client/macos/Notch/NotchController.swift @@ -0,0 +1,178 @@ +import AppKit +import Combine +import SwiftUI + +// Owns the notch panel (spec §4.3): picks the screen, places and resizes the panel, opens it on hover and +// follows the "Show Notch" option. +final class NotchController { + private static let shrinkDelay: TimeInterval = 0.35 // lets the closing animation end before the panel shrinks + + private let model: HeadphonesModel + private let music: MusicController + private let settings: AppSettings + private let state = NotchViewState() + private let panel = NotchPanel.make() + private var geometry: NotchGeometry? + private var lastChosenTab: NotchTab? + private var hoverTimer: Timer? + private var shrinkWork: DispatchWorkItem? + private var cancellables = Set() + + init(model: HeadphonesModel, music: MusicController, settings: AppSettings) { + self.model = model + self.music = music + self.settings = settings + + let container = NotchContainerView() + let host = NotchHostingView(rootView: NotchView(state: state, model: model, music: music, + selectTab: { [weak self] tab in self?.select(tab) })) + host.autoresizingMask = [.width, .height] + container.addSubview(host) + container.onHoverChange = { [weak self] in self?.scheduleHoverCheck() } + panel.contentView = container + + NotificationCenter.default.publisher(for: NSApplication.didChangeScreenParametersNotification) + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.relayout() } + .store(in: &cancellables) + // receive(on:) hops after @Published stored the new value, so the sinks read current state. + settings.$showNotch + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.relayout() } + .store(in: &cancellables) + model.$connectionState.combineLatest(music.$status, music.$nowPlaying) + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.updateResting() } + .store(in: &cancellables) + } + + // MARK: - Placement + + private func relayout() { + guard settings.showNotch, let screen = Self.preferredScreen() else { + geometry = nil + if state.isOpen { + state.isOpen = false + music.notchDidClose() + } + shrinkWork?.cancel() + panel.orderOut(nil) + return + } + let geometry = NotchGeometry(screen: ScreenMetrics(screen)) + self.geometry = geometry + state.notchHeight = geometry.notch.height + state.openSize = geometry.open.size + if state.isOpen { panel.setFrame(geometry.open, display: true) } + updateResting() + } + + // The built-in notched screen if there is one, else the primary screen (the one with the menu bar). + private static func preferredScreen() -> NSScreen? { + NSScreen.screens.first { $0.safeAreaInsets.top > 0 } ?? NSScreen.screens.first + } + + private func updateResting() { + guard let geometry = geometry else { return } + let resting = NotchContent.restingState(hasMusic: music.hasMusic, headphonesConnected: model.connected) + let frame = geometry.restingFrame(for: resting) + if state.resting != resting || (frame != nil && state.restingSize != frame?.size) { + withAnimation(animation) { + state.resting = resting + if let frame = frame { state.restingSize = frame.size } + } + } + guard !state.isOpen else { return } // close() re-applies the resting frame + if let frame = frame { + setPanelFrame(frame) + panel.orderFrontRegardless() + } else { + hidePanel(after: panel.isVisible ? Self.shrinkDelay : 0) + } + } + + // Grows at once (the shape then animates inside the larger panel) or shrinks once the animation is over, + // so the transparent panel never blocks the menu bar longer than needed. + private func setPanelFrame(_ target: CGRect) { + shrinkWork?.cancel() + let current = panel.frame + if !panel.isVisible || (target.width >= current.width && target.height >= current.height) { + panel.setFrame(target, display: true) + } else { + let work = DispatchWorkItem { [weak self] in self?.panel.setFrame(target, display: true) } + shrinkWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + Self.shrinkDelay, execute: work) + } + } + + private func hidePanel(after delay: TimeInterval) { + shrinkWork?.cancel() + let work = DispatchWorkItem { [weak self] in self?.panel.orderOut(nil) } + shrinkWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + delay, execute: work) + } + + // MARK: - Hover + + // Enter/exit events only schedule a check; the check reads the real pointer position, so a missed event + // can't leave the notch stuck open or closed. + private func scheduleHoverCheck() { + hoverTimer?.invalidate() + let inside = hoverZone.contains(NSEvent.mouseLocation) + let delay = inside ? NotchContent.openDelay : NotchContent.closeDelay + let timer = Timer(timeInterval: delay, repeats: false) { [weak self] _ in self?.hoverCheck() } + RunLoop.main.add(timer, forMode: .common) + hoverTimer = timer + } + + private func hoverCheck() { + let inside = panel.isVisible && hoverZone.contains(NSEvent.mouseLocation) + if inside && !state.isOpen { + open() + } else if !inside && state.isOpen { + close() + } + } + + private var hoverZone: CGRect { + guard let geometry = geometry else { return .zero } + return state.isOpen ? geometry.open : (geometry.restingFrame(for: state.resting) ?? .zero) + } + + private func open() { + guard let geometry = geometry else { return } + state.tab = NotchContent.tabOnOpen(lastChosen: lastChosenTab, hasMusic: music.hasMusic) + setPanelFrame(geometry.open) + panel.orderFrontRegardless() + withAnimation(animation) { state.isOpen = true } + music.notchDidOpen() + } + + private func close() { + withAnimation(animation) { state.isOpen = false } + music.notchDidClose() + updateResting() + } + + private func select(_ tab: NotchTab) { + lastChosenTab = tab + state.tab = tab + } + + // Spring, or a short fade-like ease when "Reduce motion" is on. + private var animation: Animation { + NSWorkspace.shared.accessibilityDisplayShouldReduceMotion + ? .easeInOut(duration: 0.15) + : .spring(response: 0.35, dampingFraction: 0.82) + } +} + +private extension ScreenMetrics { + init(_ screen: NSScreen) { + self.init(frame: screen.frame, + safeAreaTop: screen.safeAreaInsets.top, + auxiliaryTopLeft: screen.auxiliaryTopLeftArea, + auxiliaryTopRight: screen.auxiliaryTopRightArea, + menuBarHeight: screen.frame.maxY - screen.visibleFrame.maxY) + } +} diff --git a/Client/macos/Notch/NotchPanel.swift b/Client/macos/Notch/NotchPanel.swift new file mode 100644 index 0000000..ad942c5 --- /dev/null +++ b/Client/macos/Notch/NotchPanel.swift @@ -0,0 +1,44 @@ +import AppKit +import SwiftUI + +// Borderless transparent panel above the menu bar (spec §4.3). It never becomes key or main, so the frontmost +// app keeps the keyboard; clicks still reach its controls through NotchHostingView. +final class NotchPanel: NSPanel { + // A factory rather than a custom init: NSWindow subclasses that declare their own initializer must also + // deal with NSWindow's required/unavailable initializers. + static func make() -> NotchPanel { + let panel = NotchPanel(contentRect: .zero, styleMask: [.borderless, .nonactivatingPanel], + backing: .buffered, defer: false) + panel.isOpaque = false + panel.backgroundColor = .clear + panel.hasShadow = false + panel.isMovable = false + panel.hidesOnDeactivate = false + panel.level = NSWindow.Level(rawValue: NSWindow.Level.mainMenu.rawValue + 2) + panel.collectionBehavior = [.canJoinAllSpaces, .stationary, .fullScreenAuxiliary, .ignoresCycle] + return panel + } + + override var canBecomeKey: Bool { false } + override var canBecomeMain: Bool { false } +} + +// Reports the pointer entering or leaving the panel, whichever app is active. +final class NotchContainerView: NSView { + var onHoverChange: (() -> Void)? + + override func updateTrackingAreas() { + super.updateTrackingAreas() + trackingAreas.forEach { removeTrackingArea($0) } + addTrackingArea(NSTrackingArea(rect: .zero, options: [.mouseEnteredAndExited, .activeAlways, .inVisibleRect], + owner: self, userInfo: nil)) + } + + override func mouseEntered(with event: NSEvent) { onHoverChange?() } + override func mouseExited(with event: NSEvent) { onHoverChange?() } +} + +// The panel is never key: without this, the first click would only be swallowed by the window. +final class NotchHostingView: NSHostingView { + override func acceptsFirstMouse(for event: NSEvent?) -> Bool { true } +} diff --git a/Client/macos/Notch/NotchView.swift b/Client/macos/Notch/NotchView.swift new file mode 100644 index 0000000..2bc9e46 --- /dev/null +++ b/Client/macos/Notch/NotchView.swift @@ -0,0 +1,184 @@ +import AppKit +import SwiftUI + +// Written by NotchController, read by NotchView. +final class NotchViewState: ObservableObject { + @Published var isOpen = false + @Published var resting: NotchRestingState = .empty + @Published var tab: NotchTab = .music + @Published var restingSize: CGSize = .zero + @Published var openSize: CGSize = .zero + @Published var notchHeight: CGFloat = 32 +} + +// Square top (it merges with the notch), rounded bottom corners. +struct NotchShape: Shape { + var bottomRadius: CGFloat + + var animatableData: CGFloat { + get { bottomRadius } + set { bottomRadius = newValue } + } + + func path(in rect: CGRect) -> Path { + let radius = min(bottomRadius, rect.width / 2, rect.height) + var path = Path() + path.move(to: CGPoint(x: rect.minX, y: rect.minY)) + path.addLine(to: CGPoint(x: rect.maxX, y: rect.minY)) + path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY - radius)) + path.addQuadCurve(to: CGPoint(x: rect.maxX - radius, y: rect.maxY), control: CGPoint(x: rect.maxX, y: rect.maxY)) + path.addLine(to: CGPoint(x: rect.minX + radius, y: rect.maxY)) + path.addQuadCurve(to: CGPoint(x: rect.minX, y: rect.maxY - radius), control: CGPoint(x: rect.minX, y: rect.maxY)) + path.closeSubpath() + return path + } +} + +// Root view of the notch panel (spec §4): the resting strip, or the open panel with its two tabs. The panel +// can be larger than the shape while it animates; the shape stays centred at the top. +struct NotchView: View { + @ObservedObject var state: NotchViewState + @ObservedObject var model: HeadphonesModel + @ObservedObject var music: MusicController + let selectTab: (NotchTab) -> Void + + var body: some View { + let size = state.isOpen ? state.openSize : state.restingSize + ZStack(alignment: .top) { + NotchShape(bottomRadius: state.isOpen ? 22 : 10).fill(Color.black) + if state.isOpen { + openContent + .padding(.top, state.notchHeight) + .transition(.opacity) + } else { + restingContent + .transition(.opacity) + } + } + .frame(width: size.width, height: size.height) + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) + .environment(\.colorScheme, .dark) + } + + // MARK: - Resting (spec §4.1) + + private var restingContent: some View { + HStack(spacing: 0) { + leadingItem.frame(width: NotchGeometry.sideExtension) + Spacer(minLength: 0) + trailingItem.frame(width: NotchGeometry.sideExtension) + } + .frame(height: state.notchHeight) + } + + @ViewBuilder private var leadingItem: some View { + switch state.resting { + case .musicAndHeadphones, .musicOnly: + ArtworkView(image: music.artwork, size: 20, cornerRadius: 5) + case .headphonesOnly: + Image(systemName: "headphones").font(.system(size: 13)).foregroundColor(.white) + case .empty: + EmptyView() + } + } + + @ViewBuilder private var trailingItem: some View { + switch state.resting { + case .musicAndHeadphones, .headphonesOnly: + Image(systemName: Self.modeSymbol(model.mode)).font(.system(size: 13)).foregroundColor(.white) + case .musicOnly: + LevelBars(animating: music.nowPlaying?.isPlaying == true) + case .empty: + EmptyView() + } + } + + private static func modeSymbol(_ mode: SHCAmbientMode) -> String { + switch mode { + case .noiseCanceling: return "headphones.circle.fill" + case .ambientSound: return "ear.and.waveform" + default: return "circle.slash" + } + } + + // MARK: - Open (spec §4.2) + + private var openContent: some View { + VStack(spacing: 10) { + tabBar + tabContent.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) + } + .padding(.horizontal, 18) + .padding(.bottom, 14) + } + + private var tabBar: some View { + HStack(spacing: 18) { + tabButton(.music, title: tr("Music")) + tabButton(.headphones, title: tr("Headphones")) + } + .padding(.top, 6) + } + + private func tabButton(_ tab: NotchTab, title: String) -> some View { + let selected = state.tab == tab + return Button { selectTab(tab) } label: { + Text(title) + .font(.system(size: 12, weight: selected ? .semibold : .regular)) + .foregroundColor(selected ? .white : .gray) + .padding(.bottom, 3) + .overlay(alignment: .bottom) { + if selected { Rectangle().fill(Color.white).frame(height: 2) } + } + } + .buttonStyle(.plain) + } + + @ViewBuilder private var tabContent: some View { + switch state.tab { + case .music: Spacer() // Task 6: MusicTab + case .headphones: Spacer() // Task 5: HeadphonesTab + } + } +} + +// Album artwork, or a placeholder note while it loads (or for tracks without one). +struct ArtworkView: View { + let image: NSImage? + let size: CGFloat + let cornerRadius: CGFloat + + var body: some View { + Group { + if let image = image { + Image(nsImage: image).resizable().aspectRatio(contentMode: .fill) + } else { + ZStack { + Color(white: 0.2) + Image(systemName: "music.note").font(.system(size: size * 0.45)).foregroundColor(.gray) + } + } + } + .frame(width: size, height: size) + .clipShape(RoundedRectangle(cornerRadius: cornerRadius)) + } +} + +// Four small bars, moving while music plays (resting state 2), frozen when paused. +struct LevelBars: View { + let animating: Bool + + var body: some View { + TimelineView(.animation(minimumInterval: 1.0 / 20, paused: !animating)) { context in + let time = context.date.timeIntervalSinceReferenceDate + HStack(alignment: .bottom, spacing: 2) { + ForEach(0..<4, id: \.self) { index in + Capsule() + .fill(Color.green) + .frame(width: 3, height: animating ? 4 + 10 * abs(sin(time * 3 + Double(index) * 1.3)) : 4) + } + } + .frame(height: 14, alignment: .bottom) + } + } +} diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index 29bf065..ef0048a 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -58,3 +58,7 @@ "Not supported on this device." = "Non pris en charge sur cet appareil."; "The headphones didn't respond." = "Le casque n’a pas répondu."; "Couldn't open the control channel." = "Impossible d’ouvrir le canal de contrôle."; + +/* Notch (Notch/*.swift) */ +"Music" = "Musique"; +"Headphones" = "Casque"; From e7226e5e17fd9e749b2d3a184b441344a084a574 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 10:41:19 +0200 Subject: [PATCH 25/31] feat(notch): headphones tab --- Client/macos/Notch/HeadphonesTab.swift | 99 +++++++++++++++++++++++ Client/macos/Notch/NotchView.swift | 24 +++++- Client/macos/fr.lproj/Localizable.strings | 1 + 3 files changed, 120 insertions(+), 4 deletions(-) create mode 100644 Client/macos/Notch/HeadphonesTab.swift diff --git a/Client/macos/Notch/HeadphonesTab.swift b/Client/macos/Notch/HeadphonesTab.swift new file mode 100644 index 0000000..c0a64e2 --- /dev/null +++ b/Client/macos/Notch/HeadphonesTab.swift @@ -0,0 +1,99 @@ +import AppKit +import SwiftUI + +// Notch tab: NC / Ambient / Off, ambient level and Focus on Voice (spec §4.2). It calls the same model methods +// as the menu, so the poll guard and the send throttle apply here too, and both stay in sync. +struct HeadphonesTab: View { + @ObservedObject var model: HeadphonesModel + + var body: some View { + switch model.connectionState { + case .connected: + controls + case .connecting: + Text(tr("Connecting…")).font(.system(size: 12)).foregroundColor(.gray).padding(.top, 16) + case .disconnected: + VStack(spacing: 10) { + Text(tr("Not connected")).font(.system(size: 12)).foregroundColor(.gray) + Button(tr("Connect…")) { + NSApp.activate(ignoringOtherApps: true) // the fallback Bluetooth picker is a modal window + model.connect() + } + .controlSize(.small) + } + .padding(.top, 16) + } + } + + private var controls: some View { + let ambient = model.mode == .ambientSound + return VStack(spacing: 12) { + ModePicker(selection: model.mode, select: { model.setMode($0) }) + + HStack(spacing: 8) { + Text(tr("Level")).font(.system(size: 12)) + Slider( + value: Binding(get: { Double(model.ambientLevel) }, + set: { model.setLevel(Int($0.rounded()), final: false) }), + in: 1...Double(max(model.maxAmbientLevel, 2)), + step: 1, + onEditingChanged: { editing in + if !editing { model.setLevel(model.ambientLevel, final: true) } + } + ) + .controlSize(.small) + Text(verbatim: "\(model.ambientLevel)") + .font(.system(size: 11, weight: .medium).monospacedDigit()) + .foregroundColor(.gray) + .frame(width: 20, alignment: .trailing) + } + .disabled(!ambient) + .opacity(ambient ? 1 : 0.4) + + HStack { + Text(tr("Focus on Voice")).font(.system(size: 12)) + Spacer() + Toggle("", isOn: Binding(get: { model.focusOnVoice }, set: { model.setFocusOnVoice($0) })) + .labelsHidden() + .toggleStyle(.switch) + .controlSize(.mini) + } + .disabled(!ambient) + .opacity(ambient ? 1 : 0.4) + } + } +} + +// Segmented NC / Ambient / Off control drawn in SwiftUI. The AppKit segmented picker insists on its natural +// width, wider than the notch in French, and only shrank on the next model update (~2 s later). +private struct ModePicker: View { + let selection: SHCAmbientMode + let select: (SHCAmbientMode) -> Void + + private static var options: [(SHCAmbientMode, String)] { + [(.noiseCanceling, tr("Noise Canceling")), (.ambientSound, tr("Ambient Sound")), (.off, tr("Off"))] + } + + var body: some View { + HStack(spacing: 2) { + ForEach(Self.options, id: \.0.rawValue) { mode, title in + let selected = selection == mode + Button { select(mode) } label: { + Text(title) + .font(.system(size: 11, weight: selected ? .semibold : .regular)) + .foregroundColor(selected ? .white : .gray) + .lineLimit(1) + .minimumScaleFactor(0.8) + .frame(maxWidth: .infinity) + .padding(.vertical, 5) + .background(RoundedRectangle(cornerRadius: 6).fill(selected ? Color(white: 0.3) : Color.clear)) + .contentShape(Rectangle()) + } + .buttonStyle(.plain) + .accessibilityAddTraits(selected ? .isSelected : []) + } + } + .padding(2) + .background(RoundedRectangle(cornerRadius: 8).fill(Color(white: 0.15))) + } +} diff --git a/Client/macos/Notch/NotchView.swift b/Client/macos/Notch/NotchView.swift index 2bc9e46..456f8ac 100644 --- a/Client/macos/Notch/NotchView.swift +++ b/Client/macos/Notch/NotchView.swift @@ -47,8 +47,11 @@ struct NotchView: View { ZStack(alignment: .top) { NotchShape(bottomRadius: state.isOpen ? 22 : 10).fill(Color.black) if state.isOpen { + // Laid out at the final size and clipped by the growing shape, so text never reflows (or spills + // past the edges) while the spring animates. openContent .padding(.top, state.notchHeight) + .frame(width: state.openSize.width, height: state.openSize.height) .transition(.opacity) } else { restingContent @@ -56,6 +59,7 @@ struct NotchView: View { } } .frame(width: size.width, height: size.height) + .clipShape(NotchShape(bottomRadius: state.isOpen ? 22 : 10)) .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) .environment(\.colorScheme, .dark) } @@ -134,12 +138,24 @@ struct NotchView: View { .buttonStyle(.plain) } - @ViewBuilder private var tabContent: some View { - switch state.tab { - case .music: Spacer() // Task 6: MusicTab - case .headphones: Spacer() // Task 5: HeadphonesTab + // Both tabs stay in the hierarchy: the menu-style controls (segmented picker, slider, switch) are AppKit + // views that appear at their natural width for a frame before SwiftUI sizes them, so inserting a tab on + // each switch made its content spill past the edges. + private var tabContent: some View { + ZStack(alignment: .top) { + tabPage(.music) { Spacer() } // Task 6: MusicTab + tabPage(.headphones) { HeadphonesTab(model: model) } } } + + private func tabPage(_ tab: NotchTab, @ViewBuilder content: () -> Content) -> some View { + let selected = state.tab == tab + return content() + .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) + .opacity(selected ? 1 : 0) + .allowsHitTesting(selected) + .accessibilityHidden(!selected) + } } // Album artwork, or a placeholder note while it loads (or for tracks without one). diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index ef0048a..fb0e5df 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -62,3 +62,4 @@ /* Notch (Notch/*.swift) */ "Music" = "Musique"; "Headphones" = "Casque"; +"Level" = "Niveau"; From 2e184608c8ac47f5d3bdeccda2a4b8fa2952d8ba Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 13:21:23 +0200 Subject: [PATCH 26/31] feat(notch): music player and headphones page, shuffle, smooth notch animations, README --- Client/macos/Music/MusicController.swift | 28 ++- Client/macos/Music/MusicSource.swift | 1 + Client/macos/Music/NowPlaying.swift | 1 + Client/macos/Music/SpotifyLocalSource.swift | 10 ++ Client/macos/Music/SpotifyPlaybackInfo.swift | 8 +- Client/macos/Music/SpotifyScript.swift | 2 +- Client/macos/Notch/FlatSlider.swift | 58 +++++++ Client/macos/Notch/HeadphonesTab.swift | 104 ++++++----- Client/macos/Notch/MusicTab.swift | 164 ++++++++++++++++++ Client/macos/Notch/NotchController.swift | 132 ++++++++------ Client/macos/Notch/NotchControls.swift | 50 ++++++ Client/macos/Notch/NotchGeometry.swift | 2 +- Client/macos/Notch/NotchMotion.swift | 63 +++++++ Client/macos/Notch/NotchView.swift | 124 ++++++------- Client/macos/fr.lproj/Localizable.strings | 15 +- Client/tests/LogicTests/main.swift | 21 ++- README.md | 9 +- .../specs/2026-09-11-notch-design.md | 22 +++ 18 files changed, 641 insertions(+), 173 deletions(-) create mode 100644 Client/macos/Notch/FlatSlider.swift create mode 100644 Client/macos/Notch/MusicTab.swift create mode 100644 Client/macos/Notch/NotchControls.swift create mode 100644 Client/macos/Notch/NotchMotion.swift diff --git a/Client/macos/Music/MusicController.swift b/Client/macos/Music/MusicController.swift index f8ebc4d..cd48768 100644 --- a/Client/macos/Music/MusicController.swift +++ b/Client/macos/Music/MusicController.swift @@ -8,7 +8,10 @@ final class MusicController: ObservableObject { @Published private(set) var status: MusicSourceStatus = .notRunning @Published private(set) var nowPlaying: NowPlaying? - @Published private(set) var artwork: NSImage? + @Published private(set) var artwork: NSImage? { + didSet { artworkTint = artwork.flatMap(Self.tint(of:)) } + } + @Published private(set) var artworkTint: NSColor? // vivid average colour of the artwork // Something to show: a track, playing or paused (even without the right to control it). var hasMusic: Bool { status != .notRunning && nowPlaying != nil } @@ -82,6 +85,11 @@ final class MusicController: ObservableObject { if final { source.refresh() } } + func toggleShuffle() { + guard let shuffling = nowPlaying?.isShuffling else { return } + source.setShuffling(!shuffling) + } + func launchPlayer() { source.launchPlayer() } func openAutomationSettings() { @@ -138,6 +146,24 @@ final class MusicController: ObservableObject { }.resume() } + // The artwork's average colour, pushed bright and saturated enough to read on black. + private static func tint(of image: NSImage) -> NSColor? { + guard let cgImage = image.cgImage(forProposedRect: nil, context: nil, hints: nil), + let context = CGContext(data: nil, width: 1, height: 1, bitsPerComponent: 8, bytesPerRow: 4, + space: CGColorSpaceCreateDeviceRGB(), + bitmapInfo: CGImageAlphaInfo.premultipliedLast.rawValue), + let data = context.data else { return nil } + context.interpolationQuality = .medium + context.draw(cgImage, in: CGRect(x: 0, y: 0, width: 1, height: 1)) + let pixel = data.assumingMemoryBound(to: UInt8.self) + let average = NSColor(srgbRed: CGFloat(pixel[0]) / 255, green: CGFloat(pixel[1]) / 255, + blue: CGFloat(pixel[2]) / 255, alpha: 1) + // A grey artwork has no meaningful hue (it would come out red): keep it light grey. + guard average.saturationComponent >= 0.12 else { return NSColor(white: 0.85, alpha: 1) } + return NSColor(hue: average.hueComponent, saturation: max(average.saturationComponent, 0.55), + brightness: max(average.brightnessComponent, 0.85), alpha: 1) + } + private func remember(_ image: NSImage, for url: URL) { artworkCache[url] = image artworkOrder.removeAll { $0 == url } diff --git a/Client/macos/Music/MusicSource.swift b/Client/macos/Music/MusicSource.swift index 9d837db..567cdff 100644 --- a/Client/macos/Music/MusicSource.swift +++ b/Client/macos/Music/MusicSource.swift @@ -18,5 +18,6 @@ protocol MusicSource: AnyObject { func previous() func seek(to seconds: TimeInterval) func setVolume(_ volume: Int) + func setShuffling(_ on: Bool) func launchPlayer() } diff --git a/Client/macos/Music/NowPlaying.swift b/Client/macos/Music/NowPlaying.swift index 02beb0f..b9a75ff 100644 --- a/Client/macos/Music/NowPlaying.swift +++ b/Client/macos/Music/NowPlaying.swift @@ -20,6 +20,7 @@ struct NowPlaying: Equatable { var positionDate: Date var isPlaying: Bool var volume: Int? // 0...100; nil until known + var isShuffling: Bool? // nil until known var deviceName: String? // nil = this Mac var capabilities: MusicCapabilities } diff --git a/Client/macos/Music/SpotifyLocalSource.swift b/Client/macos/Music/SpotifyLocalSource.swift index 2f09087..14ee7b4 100644 --- a/Client/macos/Music/SpotifyLocalSource.swift +++ b/Client/macos/Music/SpotifyLocalSource.swift @@ -108,6 +108,14 @@ final class SpotifyLocalSource: MusicSource { send("set sound volume to \(clamped)") } + func setShuffling(_ on: Bool) { + if var track = nowPlaying { + track.isShuffling = on + publish(status, track) + } + send("set shuffling to \(on)") + } + func launchPlayer() { guard let url = NSWorkspace.shared.urlForApplication(withBundleIdentifier: Self.bundleIdentifier) else { fputs("[spotify] Spotify isn't installed\n", stderr) @@ -142,10 +150,12 @@ final class SpotifyLocalSource: MusicSource { publish(denied ? .permissionDenied : .ready, nil) case .track(var track): // Artwork and volume only come from Apple Events: keep them for the same track, read them otherwise. + // Shuffle belongs to the player, not the track: always keep it. if let current = nowPlaying, current.trackID == track.trackID { track.artworkURL = current.artworkURL track.volume = current.volume } + track.isShuffling = nowPlaying?.isShuffling publish(denied ? .permissionDenied : .ready, track) if track.artworkURL == nil && !denied { refresh() } case .incomplete: diff --git a/Client/macos/Music/SpotifyPlaybackInfo.swift b/Client/macos/Music/SpotifyPlaybackInfo.swift index 3f3fde0..9a2442d 100644 --- a/Client/macos/Music/SpotifyPlaybackInfo.swift +++ b/Client/macos/Music/SpotifyPlaybackInfo.swift @@ -30,16 +30,17 @@ enum SpotifyPlaybackInfo { positionDate: date, isPlaying: state == "Playing", volume: nil, + isShuffling: nil, deviceName: nil, capabilities: localCapabilities)) } - // SpotifyScript.readState's reply: "stopped", or 9 fields separated by U+001F — state, track id, name, - // artist, album, duration (ms), position (ms), artwork URL, volume. + // SpotifyScript.readState's reply: "stopped", or 10 fields separated by U+001F — state, track id, name, + // artist, album, duration (ms), position (ms), artwork URL, volume, shuffling ("true" / "false"). static func parse(scriptResult text: String, at date: Date) -> SpotifyState { if text == "stopped" { return .stopped } let fields = text.split(separator: fieldSeparator, omittingEmptySubsequences: false).map(String.init) - guard fields.count == 9, fields[0] == "playing" || fields[0] == "paused", !fields[1].isEmpty else { + guard fields.count == 10, fields[0] == "playing" || fields[0] == "paused", !fields[1].isEmpty else { return .incomplete } return .track(NowPlaying( @@ -53,6 +54,7 @@ enum SpotifyPlaybackInfo { positionDate: date, isPlaying: fields[0] == "playing", volume: Int(fields[8]).map { min(100, max(0, $0)) }, + isShuffling: fields[9] == "true" ? true : fields[9] == "false" ? false : nil, deviceName: nil, capabilities: localCapabilities)) } diff --git a/Client/macos/Music/SpotifyScript.swift b/Client/macos/Music/SpotifyScript.swift index 406cb44..f52dd93 100644 --- a/Client/macos/Music/SpotifyScript.swift +++ b/Client/macos/Music/SpotifyScript.swift @@ -18,7 +18,7 @@ enum SpotifyScript { set sep to (character id 31) set art to artwork url of t if art is missing value then set art to "" - return playerState & sep & (id of t) & sep & (name of t) & sep & (artist of t) & sep & (album of t) & sep & ((duration of t) as text) & sep & ((((player position) * 1000) div 1) as text) & sep & art & sep & ((sound volume) as text) + return playerState & sep & (id of t) & sep & (name of t) & sep & (artist of t) & sep & (album of t) & sep & ((duration of t) as text) & sep & ((((player position) * 1000) div 1) as text) & sep & art & sep & ((sound volume) as text) & sep & (shuffling as text) end tell end timeout """ diff --git a/Client/macos/Notch/FlatSlider.swift b/Client/macos/Notch/FlatSlider.swift new file mode 100644 index 0000000..a9104b2 --- /dev/null +++ b/Client/macos/Notch/FlatSlider.swift @@ -0,0 +1,58 @@ +import SwiftUI + +// A thick flat bar without a knob (progress, volume, level). Click or drag anywhere on it; `onChange` gets the +// value while dragging (final: false) and once more when the pointer is released (final: true). `smoothing` +// glides the fill between values that arrive once a second (playback progress). +struct FlatSlider: View { + let value: Double + var range: ClosedRange = 0...1 + var step: Double? + var height: CGFloat = 5 + var smoothing = false + let onChange: (Double, Bool) -> Void + + @Environment(\.isEnabled) private var isEnabled + @State private var dragging = false + @State private var hovering = false + + var body: some View { + GeometryReader { geometry in + let width = max(geometry.size.width, 1) + let span = range.upperBound - range.lowerBound + let fraction = span > 0 ? min(1, max(0, (value - range.lowerBound) / span)) : 0 + let barHeight = dragging || hovering ? height + 2 : height + ZStack(alignment: .leading) { + Capsule().fill(Color(white: 0.25)) + Capsule() + .fill(Color(white: dragging || hovering ? 1 : 0.75)) + .frame(width: max(barHeight, width * fraction)) + .opacity(fraction > 0 ? 1 : 0) + .animation(smoothing && !dragging ? .linear(duration: 1) : .easeOut(duration: 0.08), value: fraction) + } + .frame(height: barHeight) + .frame(maxHeight: .infinity) + .contentShape(Rectangle()) + .gesture( + DragGesture(minimumDistance: 0) + .onChanged { drag in + dragging = true + onChange(Self.value(at: drag.location.x / width, range: range, step: step), false) + } + .onEnded { drag in + dragging = false + onChange(Self.value(at: drag.location.x / width, range: range, step: step), true) + } + ) + .onHover { hovering = isEnabled && $0 } + .animation(.easeOut(duration: 0.12), value: barHeight) + } + .frame(height: height + 8) + .opacity(isEnabled ? 1 : 0.4) + } + + private static func value(at fraction: CGFloat, range: ClosedRange, step: Double?) -> Double { + let raw = range.lowerBound + Double(min(1, max(0, fraction))) * (range.upperBound - range.lowerBound) + guard let step = step, step > 0 else { return raw } + return (raw / step).rounded() * step + } +} diff --git a/Client/macos/Notch/HeadphonesTab.swift b/Client/macos/Notch/HeadphonesTab.swift index c0a64e2..06cb564 100644 --- a/Client/macos/Notch/HeadphonesTab.swift +++ b/Client/macos/Notch/HeadphonesTab.swift @@ -1,77 +1,88 @@ import AppKit import SwiftUI -// Notch tab: NC / Ambient / Off, ambient level and Focus on Voice (spec §4.2). It calls the same model methods -// as the menu, so the poll guard and the send throttle apply here too, and both stay in sync. +// Notch headphones page: NC / Ambient / Off, ambient level and Focus on Voice (spec §4.2). It calls the same +// model methods as the menu, so the poll guard and the send throttle apply here too, and both stay in sync. struct HeadphonesTab: View { @ObservedObject var model: HeadphonesModel + let back: () -> Void var body: some View { - switch model.connectionState { - case .connected: - controls - case .connecting: - Text(tr("Connecting…")).font(.system(size: 12)).foregroundColor(.gray).padding(.top, 16) - case .disconnected: - VStack(spacing: 10) { - Text(tr("Not connected")).font(.system(size: 12)).foregroundColor(.gray) - Button(tr("Connect…")) { - NSApp.activate(ignoringOtherApps: true) // the fallback Bluetooth picker is a modal window - model.connect() + VStack(alignment: .leading, spacing: 12) { + HStack(spacing: 6) { + Button(action: back) { + Image(systemName: "chevron.left") + .font(.system(size: 13, weight: .semibold)) + .foregroundColor(.gray) + .frame(width: 24, height: 24) + .contentShape(Rectangle()) + } + .buttonStyle(PressableButtonStyle()) + .accessibilityLabel(tr("Back")) + Image(systemName: "headphones").font(.system(size: 13)).foregroundColor(.white) + Text(model.deviceName.isEmpty ? tr("Headphones") : model.deviceName) + .font(.system(size: 13, weight: .semibold)) + .foregroundColor(.white) + .lineLimit(1) + } + switch model.connectionState { + case .connected: + controls + case .connecting: + Text(tr("Connecting…")) + .font(.system(size: 12)) + .foregroundColor(.gray) + .frame(maxWidth: .infinity) + .padding(.top, 8) + case .disconnected: + HStack(spacing: 10) { + Text(tr("Not connected")).font(.system(size: 12)).foregroundColor(.gray) + NotchPillButton(title: tr("Connect…")) { + NSApp.activate(ignoringOtherApps: true) // the fallback Bluetooth picker is a modal window + model.connect() + } } - .controlSize(.small) + .frame(maxWidth: .infinity) + .padding(.top, 8) } - .padding(.top, 16) } } private var controls: some View { let ambient = model.mode == .ambientSound - return VStack(spacing: 12) { + return VStack(spacing: 10) { ModePicker(selection: model.mode, select: { model.setMode($0) }) HStack(spacing: 8) { - Text(tr("Level")).font(.system(size: 12)) - Slider( - value: Binding(get: { Double(model.ambientLevel) }, - set: { model.setLevel(Int($0.rounded()), final: false) }), - in: 1...Double(max(model.maxAmbientLevel, 2)), - step: 1, - onEditingChanged: { editing in - if !editing { model.setLevel(model.ambientLevel, final: true) } - } - ) - .controlSize(.small) + Text(tr("Level")).font(.system(size: 12)).foregroundColor(.gray) + FlatSlider(value: Double(model.ambientLevel), range: 1...Double(max(model.maxAmbientLevel, 2)), + step: 1) { value, final in + model.setLevel(Int(value.rounded()), final: final) + } Text(verbatim: "\(model.ambientLevel)") .font(.system(size: 11, weight: .medium).monospacedDigit()) .foregroundColor(.gray) .frame(width: 20, alignment: .trailing) + Text(tr("Voice")).font(.system(size: 12)).foregroundColor(.gray).padding(.leading, 6) + NotchSwitch(isOn: model.focusOnVoice, label: tr("Focus on Voice")) { model.setFocusOnVoice($0) } } .disabled(!ambient) .opacity(ambient ? 1 : 0.4) - - HStack { - Text(tr("Focus on Voice")).font(.system(size: 12)) - Spacer() - Toggle("", isOn: Binding(get: { model.focusOnVoice }, set: { model.setFocusOnVoice($0) })) - .labelsHidden() - .toggleStyle(.switch) - .controlSize(.mini) - } - .disabled(!ambient) - .opacity(ambient ? 1 : 0.4) + .animation(.easeInOut(duration: 0.2), value: ambient) } } } // Segmented NC / Ambient / Off control drawn in SwiftUI. The AppKit segmented picker insists on its natural -// width, wider than the notch in French, and only shrank on the next model update (~2 s later). +// width, wider than the notch in French, and only shrank on the next model update (~2 s later). Short labels: +// the full ones ("Réduction de bruit") don't fit a third of the notch. private struct ModePicker: View { let selection: SHCAmbientMode let select: (SHCAmbientMode) -> Void + @Namespace private var pill private static var options: [(SHCAmbientMode, String)] { - [(.noiseCanceling, tr("Noise Canceling")), (.ambientSound, tr("Ambient Sound")), (.off, tr("Off"))] + [(.noiseCanceling, tr("NC")), (.ambientSound, tr("Ambient")), (.off, tr("Off"))] } var body: some View { @@ -83,17 +94,24 @@ private struct ModePicker: View { .font(.system(size: 11, weight: selected ? .semibold : .regular)) .foregroundColor(selected ? .white : .gray) .lineLimit(1) - .minimumScaleFactor(0.8) .frame(maxWidth: .infinity) .padding(.vertical, 5) - .background(RoundedRectangle(cornerRadius: 6).fill(selected ? Color(white: 0.3) : Color.clear)) + .background { + if selected { + RoundedRectangle(cornerRadius: 6) + .fill(Color(white: 0.3)) + .matchedGeometryEffect(id: "pill", in: pill) + } + } .contentShape(Rectangle()) } - .buttonStyle(.plain) + .buttonStyle(PressableButtonStyle()) .accessibilityAddTraits(selected ? .isSelected : []) } } .padding(2) .background(RoundedRectangle(cornerRadius: 8).fill(Color(white: 0.15))) + // The selection comes back from the headset (menu, NC button), so animate on the value, not the click. + .animation(.spring(response: 0.3, dampingFraction: 0.8), value: selection) } } diff --git a/Client/macos/Notch/MusicTab.swift b/Client/macos/Notch/MusicTab.swift new file mode 100644 index 0000000..7b6d4f5 --- /dev/null +++ b/Client/macos/Notch/MusicTab.swift @@ -0,0 +1,164 @@ +import SwiftUI + +// Notch player page (spec §4.2): artwork, title and artist; progress; headphones, previous, play/pause, next, +// shuffle. The volume button swaps the progress bar for Spotify's volume bar for a few seconds. +struct MusicTab: View { + private static let volumeAutoHide: TimeInterval = 4 + + @ObservedObject var music: MusicController + let showHeadphones: () -> Void + @State private var seekValue: Double? // while dragging the progress bar + @State private var volumeValue: Double? // while dragging the volume bar + @State private var showVolume = false + @State private var volumeHideWork: DispatchWorkItem? + + // Explicit: the private @State properties would otherwise make the memberwise init private. + init(music: MusicController, showHeadphones: @escaping () -> Void) { + _music = ObservedObject(wrappedValue: music) + self.showHeadphones = showHeadphones + } + + var body: some View { + switch music.status { + case .notRunning: + message(tr("Spotify isn't open"), button: tr("Open Spotify")) { music.launchPlayer() } + case .permissionDenied: + message(tr("SonyBridge isn't allowed to control Spotify."), button: tr("Open Settings")) { + music.openAutomationSettings() + } + case .ready: + if let track = music.nowPlaying { + player(track) + } else { + message(tr("Nothing playing"), button: nil) {} + } + } + } + + private func message(_ text: String, button: String?, action: @escaping () -> Void) -> some View { + VStack(spacing: 10) { + Text(text).font(.system(size: 12)).foregroundColor(.gray).multilineTextAlignment(.center) + if let button = button { + NotchPillButton(title: button, action: action) + } + Spacer(minLength: 0) + HStack { + iconButton("headphones", label: tr("Headphones"), action: showHeadphones) + Spacer() + } + } + .frame(maxWidth: .infinity) + .padding(.top, 6) + } + + private func player(_ track: NowPlaying) -> some View { + VStack(spacing: 0) { + HStack(spacing: 12) { + ArtworkView(image: music.artwork, size: 50, cornerRadius: 10) + VStack(alignment: .leading, spacing: 2) { + Text(track.title).font(.system(size: 14, weight: .semibold)).foregroundColor(.white) + Text(track.artist).font(.system(size: 13)).foregroundColor(.gray) + } + .lineLimit(1) + .id(track.trackID) + .transition(.asymmetric(insertion: .opacity.combined(with: .offset(y: 6)), removal: .opacity)) + Spacer(minLength: 6) + LevelBars(animating: track.isPlaying, color: music.artworkTint) + } + .animation(NotchMotion.content, value: track.trackID) + Spacer(minLength: 8) + ZStack { + progress(track) + .modifier(FadeScale(amount: showVolume ? 1 : 0)) + .allowsHitTesting(!showVolume) + volume(track) + .modifier(FadeScale(amount: showVolume ? 0 : 1)) + .allowsHitTesting(showVolume) + } + .animation(NotchMotion.content, value: showVolume) + Spacer(minLength: 6) + HStack(spacing: 0) { + iconButton("headphones", label: tr("Headphones"), action: showHeadphones) + Spacer() + iconButton("backward.fill", size: 17, color: .white, label: tr("Previous track")) { music.previous() } + Spacer() + iconButton(track.isPlaying ? "pause.fill" : "play.fill", size: 21, color: .white, + label: tr("Play or pause")) { music.playPause() } + .animation(NotchMotion.content, value: track.isPlaying) + Spacer() + iconButton("forward.fill", size: 17, color: .white, label: tr("Next track")) { music.next() } + Spacer() + iconButton("shuffle", color: track.isShuffling == true ? .white : .gray, label: tr("Shuffle")) { + music.toggleShuffle() + } + .disabled(track.isShuffling == nil) + Spacer() + iconButton(showVolume ? "speaker.wave.2.fill" : "speaker.wave.2", color: showVolume ? .white : .gray, + label: tr("Spotify volume")) { toggleVolume() } + .disabled(!track.capabilities.canSetVolume || track.volume == nil) + } + } + } + + // Redrawn once a second, only while the notch is open (this view only exists then). + private func progress(_ track: NowPlaying) -> some View { + TimelineView(.periodic(from: .now, by: 1)) { context in + let position = seekValue ?? PlaybackClock.position(of: track, at: context.date) + HStack(spacing: 8) { + timeLabel(PlaybackClock.format(position)) + FlatSlider(value: position, range: 0...max(track.duration, 1), smoothing: seekValue == nil) { value, final in + seekValue = final ? nil : value + music.seek(to: value, final: final) + } + .disabled(!track.capabilities.canSeek || track.duration <= 0) + timeLabel(PlaybackClock.format(track.duration)) + } + } + } + + private func volume(_ track: NowPlaying) -> some View { + HStack(spacing: 8) { + Image(systemName: "speaker.fill").font(.system(size: 10)).foregroundColor(.gray).frame(width: 34) + FlatSlider(value: volumeValue ?? Double(track.volume ?? 0), range: 0...100) { value, final in + volumeValue = final ? nil : value + music.setVolume(Int(value.rounded()), final: final) + scheduleVolumeHide() + } + Image(systemName: "speaker.wave.3.fill").font(.system(size: 10)).foregroundColor(.gray).frame(width: 34) + } + } + + private func timeLabel(_ text: String) -> some View { + Text(verbatim: text) + .font(.system(size: 11).monospacedDigit()) + .foregroundColor(.gray) + .frame(width: 34) + } + + private func iconButton(_ symbol: String, size: CGFloat = 14, color: Color = .gray, label: String, + action: @escaping () -> Void) -> some View { + Button(action: action) { + Image(systemName: symbol) + .font(.system(size: size)) + .foregroundColor(color) + .symbolReplaceTransition() + .frame(width: 28, height: 26) + .contentShape(Rectangle()) + } + .buttonStyle(PressableButtonStyle()) + .accessibilityLabel(label) + } + + private func toggleVolume() { + withAnimation(NotchMotion.content) { showVolume.toggle() } + if showVolume { scheduleVolumeHide() } else { volumeHideWork?.cancel() } + } + + // The volume bar folds back once it hasn't been touched for a few seconds. + private func scheduleVolumeHide() { + volumeHideWork?.cancel() + let work = DispatchWorkItem { withAnimation(NotchMotion.content) { showVolume = false } } + volumeHideWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + Self.volumeAutoHide, execute: work) + } +} diff --git a/Client/macos/Notch/NotchController.swift b/Client/macos/Notch/NotchController.swift index 0f9c8f5..c6ea952 100644 --- a/Client/macos/Notch/NotchController.swift +++ b/Client/macos/Notch/NotchController.swift @@ -2,10 +2,15 @@ import AppKit import Combine import SwiftUI -// Owns the notch panel (spec §4.3): picks the screen, places and resizes the panel, opens it on hover and -// follows the "Show Notch" option. +// Owns the notch panel (spec §4.3): picks the screen, places the panel, opens it on hover and follows the +// "Show Notch" option. +// +// The panel always keeps the open size: only the SwiftUI shape inside animates. Resizing the window on open +// and close showed a frame of stale content at the new size (things jumped outward, then back). While +// closed, the panel lets every click through, and hover is followed from the pointer position instead of +// tracking areas. final class NotchController { - private static let shrinkDelay: TimeInterval = 0.35 // lets the closing animation end before the panel shrinks + private static let unmountDelay: TimeInterval = 0.4 // lets the closing spring settle first private let model: HeadphonesModel private let music: MusicController @@ -14,8 +19,11 @@ final class NotchController { private let panel = NotchPanel.make() private var geometry: NotchGeometry? private var lastChosenTab: NotchTab? + private var pointerInside = false private var hoverTimer: Timer? - private var shrinkWork: DispatchWorkItem? + private var hideWork: DispatchWorkItem? + private var unmountWork: DispatchWorkItem? + private var mouseMonitors: [Any] = [] private var cancellables = Set() init(model: HeadphonesModel, music: MusicController, settings: AppSettings) { @@ -28,8 +36,23 @@ final class NotchController { selectTab: { [weak self] tab in self?.select(tab) })) host.autoresizingMask = [.width, .height] container.addSubview(host) - container.onHoverChange = { [weak self] in self?.scheduleHoverCheck() } + container.onHoverChange = { [weak self] in self?.pointerMoved() } panel.contentView = container + panel.acceptsMouseMovedEvents = true + panel.ignoresMouseEvents = true + + // Global: the pointer over other apps (the notch is closed, the panel ignores the mouse). Local: over + // our own windows, the open panel included. + let events: NSEvent.EventTypeMask = [.mouseMoved, .leftMouseDragged] + if let global = NSEvent.addGlobalMonitorForEvents(matching: events, handler: { [weak self] _ in self?.pointerMoved() }) { + mouseMonitors.append(global) + } + if let local = NSEvent.addLocalMonitorForEvents(matching: events, handler: { [weak self] event in + self?.pointerMoved() + return event + }) { + mouseMonitors.append(local) + } NotificationCenter.default.publisher(for: NSApplication.didChangeScreenParametersNotification) .receive(on: DispatchQueue.main) @@ -46,6 +69,10 @@ final class NotchController { .store(in: &cancellables) } + deinit { + mouseMonitors.forEach(NSEvent.removeMonitor) + } + // MARK: - Placement private func relayout() { @@ -55,7 +82,10 @@ final class NotchController { state.isOpen = false music.notchDidClose() } - shrinkWork?.cancel() + unmountWork?.cancel() + state.openContentMounted = false + panel.ignoresMouseEvents = true + hideWork?.cancel() panel.orderOut(nil) return } @@ -63,7 +93,7 @@ final class NotchController { self.geometry = geometry state.notchHeight = geometry.notch.height state.openSize = geometry.open.size - if state.isOpen { panel.setFrame(geometry.open, display: true) } + panel.setFrame(geometry.open, display: true) updateResting() } @@ -77,48 +107,34 @@ final class NotchController { let resting = NotchContent.restingState(hasMusic: music.hasMusic, headphonesConnected: model.connected) let frame = geometry.restingFrame(for: resting) if state.resting != resting || (frame != nil && state.restingSize != frame?.size) { - withAnimation(animation) { + withAnimation(state.isOpen ? NotchMotion.open : NotchMotion.close) { state.resting = resting if let frame = frame { state.restingSize = frame.size } } } - guard !state.isOpen else { return } // close() re-applies the resting frame - if let frame = frame { - setPanelFrame(frame) + hideWork?.cancel() + if frame != nil || state.isOpen { panel.orderFrontRegardless() - } else { - hidePanel(after: panel.isVisible ? Self.shrinkDelay : 0) - } - } - - // Grows at once (the shape then animates inside the larger panel) or shrinks once the animation is over, - // so the transparent panel never blocks the menu bar longer than needed. - private func setPanelFrame(_ target: CGRect) { - shrinkWork?.cancel() - let current = panel.frame - if !panel.isVisible || (target.width >= current.width && target.height >= current.height) { - panel.setFrame(target, display: true) - } else { - let work = DispatchWorkItem { [weak self] in self?.panel.setFrame(target, display: true) } - shrinkWork = work - DispatchQueue.main.asyncAfter(deadline: .now() + Self.shrinkDelay, execute: work) + } else if panel.isVisible { + // Nothing to show on a screen without a notch: hide once the shape has shrunk away. + let work = DispatchWorkItem { [weak self] in + guard let self = self, !self.state.isOpen else { return } + self.panel.orderOut(nil) + } + hideWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + Self.unmountDelay, execute: work) } } - private func hidePanel(after delay: TimeInterval) { - shrinkWork?.cancel() - let work = DispatchWorkItem { [weak self] in self?.panel.orderOut(nil) } - shrinkWork = work - DispatchQueue.main.asyncAfter(deadline: .now() + delay, execute: work) - } - // MARK: - Hover - // Enter/exit events only schedule a check; the check reads the real pointer position, so a missed event - // can't leave the notch stuck open or closed. - private func scheduleHoverCheck() { + // Only a change of side (in / out) starts the timer, so moving inside doesn't keep postponing the opening; + // the timer then reads the real pointer position, so a missed event can't leave the notch stuck. + private func pointerMoved() { + let inside = isPointerInHoverZone + guard inside != pointerInside else { return } + pointerInside = inside hoverTimer?.invalidate() - let inside = hoverZone.contains(NSEvent.mouseLocation) let delay = inside ? NotchContent.openDelay : NotchContent.closeDelay let timer = Timer(timeInterval: delay, repeats: false) { [weak self] _ in self?.hoverCheck() } RunLoop.main.add(timer, forMode: .common) @@ -126,7 +142,8 @@ final class NotchController { } private func hoverCheck() { - let inside = panel.isVisible && hoverZone.contains(NSEvent.mouseLocation) + let inside = isPointerInHoverZone + pointerInside = inside if inside && !state.isOpen { open() } else if !inside && state.isOpen { @@ -134,36 +151,41 @@ final class NotchController { } } - private var hoverZone: CGRect { - guard let geometry = geometry else { return .zero } - return state.isOpen ? geometry.open : (geometry.restingFrame(for: state.resting) ?? .zero) + private var isPointerInHoverZone: Bool { + guard panel.isVisible, let geometry = geometry else { return false } + let zone = state.isOpen ? geometry.open : (geometry.restingFrame(for: state.resting) ?? .zero) + return zone.contains(NSEvent.mouseLocation) } private func open() { - guard let geometry = geometry else { return } - state.tab = NotchContent.tabOnOpen(lastChosen: lastChosenTab, hasMusic: music.hasMusic) - setPanelFrame(geometry.open) + unmountWork?.cancel() + hideWork?.cancel() + if !state.openContentMounted { state.tab = NotchContent.tabOnOpen(lastChosen: lastChosenTab, hasMusic: music.hasMusic) } + state.openContentMounted = true + panel.ignoresMouseEvents = false panel.orderFrontRegardless() - withAnimation(animation) { state.isOpen = true } + withAnimation(NotchMotion.open) { state.isOpen = true } music.notchDidOpen() } private func close() { - withAnimation(animation) { state.isOpen = false } + panel.ignoresMouseEvents = true // clicks reach the apps below while the shape shrinks + withAnimation(NotchMotion.close) { state.isOpen = false } music.notchDidClose() updateResting() + // The open content shrinks and fades with the shape (it stays mounted while closing), then leaves the + // hierarchy so its timelines stop. + let work = DispatchWorkItem { [weak self] in + guard let self = self, !self.state.isOpen else { return } + self.state.openContentMounted = false + } + unmountWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + Self.unmountDelay, execute: work) } private func select(_ tab: NotchTab) { lastChosenTab = tab - state.tab = tab - } - - // Spring, or a short fade-like ease when "Reduce motion" is on. - private var animation: Animation { - NSWorkspace.shared.accessibilityDisplayShouldReduceMotion - ? .easeInOut(duration: 0.15) - : .spring(response: 0.35, dampingFraction: 0.82) + withAnimation(NotchMotion.content) { state.tab = tab } } } diff --git a/Client/macos/Notch/NotchControls.swift b/Client/macos/Notch/NotchControls.swift new file mode 100644 index 0000000..c9e06f0 --- /dev/null +++ b/Client/macos/Notch/NotchControls.swift @@ -0,0 +1,50 @@ +import SwiftUI + +// Controls drawn in SwiftUI for the notch. The AppKit-backed ones (Toggle .switch, bordered Button, segmented +// Picker) are separate views that ignore SwiftUI's scale and clip: while the notch closed, they stayed full +// size past the shrinking shape. + +// A small on/off switch. +struct NotchSwitch: View { + let isOn: Bool + let label: String + let set: (Bool) -> Void + + @Environment(\.isEnabled) private var isEnabled + + var body: some View { + Button { set(!isOn) } label: { + ZStack(alignment: isOn ? .trailing : .leading) { + Capsule().fill(isOn ? Color.green : Color(white: 0.3)) + Circle().fill(Color.white).padding(2) + } + .frame(width: 30, height: 18) + .animation(.spring(response: 0.25, dampingFraction: 0.8), value: isOn) + } + .buttonStyle(PressableButtonStyle()) + .opacity(isEnabled ? 1 : 0.5) + .accessibilityLabel(label) + .accessibilityValue(isOn ? Text(verbatim: "1") : Text(verbatim: "0")) + .accessibilityAddTraits(.isButton) + } +} + +// A rounded grey text button ("Connect…", "Open Spotify"). +struct NotchPillButton: View { + let title: String + let action: () -> Void + + var body: some View { + Button(action: action) { + Text(title) + .font(.system(size: 12, weight: .medium)) + .foregroundColor(.white) + .lineLimit(1) + .padding(.horizontal, 12) + .padding(.vertical, 5) + .background(Capsule().fill(Color(white: 0.22))) + .contentShape(Capsule()) + } + .buttonStyle(PressableButtonStyle()) + } +} diff --git a/Client/macos/Notch/NotchGeometry.swift b/Client/macos/Notch/NotchGeometry.swift index baa4802..24c6d6b 100644 --- a/Client/macos/Notch/NotchGeometry.swift +++ b/Client/macos/Notch/NotchGeometry.swift @@ -16,7 +16,7 @@ struct NotchGeometry: Equatable { static let sideExtension: CGFloat = 36 // resting widening on each side (states 1-3) static let simulatedWidth: CGFloat = 190 // pill width on a screen without a notch static let fallbackMenuBarHeight: CGFloat = 24 // pill height when the menu bar auto-hides - static let openSize = CGSize(width: 380, height: 190) + static let openSize = CGSize(width: 300, height: 166) let hasNotch: Bool let notch: CGRect diff --git a/Client/macos/Notch/NotchMotion.swift b/Client/macos/Notch/NotchMotion.swift new file mode 100644 index 0000000..f9795df --- /dev/null +++ b/Client/macos/Notch/NotchMotion.swift @@ -0,0 +1,63 @@ +import AppKit +import SwiftUI + +// Shared motion for the notch: springs, how content follows the shape, and button press feedback. +// With "Reduce motion" on, springs become short eases and nothing scales or moves. +enum NotchMotion { + static var reduceMotion: Bool { NSWorkspace.shared.accessibilityDisplayShouldReduceMotion } + + static var open: Animation { reduceMotion ? .easeInOut(duration: 0.15) : .spring(response: 0.36, dampingFraction: 0.74) } + static var close: Animation { reduceMotion ? .easeInOut(duration: 0.15) : .spring(response: 0.28, dampingFraction: 1) } + static var content: Animation { reduceMotion ? .easeInOut(duration: 0.15) : .spring(response: 0.3, dampingFraction: 0.85) } + + static let morphScale: CGFloat = 0.6 + + // The open panel's content grows out of the notch with the shape (same spring, no delay), instead of + // popping in after it: video at 60 fps showed a blurred panel appearing ~6 frames late. Closing is driven + // by NotchView (FadeScale on isOpen), and the content is unmounted once the shape has shrunk. + static var morph: AnyTransition { + .asymmetric( + insertion: .modifier(active: FadeScale(amount: 1, scale: morphScale), identity: FadeScale(amount: 0, scale: morphScale)), + removal: .identity) + } + + // The resting icons leave at once when the shape grows, and come back once it has shrunk. + static func resting(open: Bool) -> Animation { + open ? .easeOut(duration: 0.06) : .easeOut(duration: 0.2).delay(reduceMotion ? 0 : 0.12) + } +} + +// amount 0 = shown; 1 = transparent and scaled down to `scale` (anchored at the top, towards the notch). +// Opacity and transforms only: cheap to animate at 120 Hz, unlike blur. +struct FadeScale: ViewModifier { + let amount: CGFloat + var scale: CGFloat = 0.94 + + func body(content: Content) -> some View { + let motion = !NotchMotion.reduceMotion + return content + .opacity(Double(1 - amount)) + .scaleEffect(motion ? 1 - (1 - scale) * amount : 1, anchor: .top) + } +} + +// Buttons shrink a little while pressed, and spring back. +struct PressableButtonStyle: ButtonStyle { + func makeBody(configuration: Configuration) -> some View { + configuration.label + .scaleEffect(configuration.isPressed && !NotchMotion.reduceMotion ? 0.84 : 1) + .opacity(configuration.isPressed ? 0.7 : 1) + .animation(.spring(response: 0.25, dampingFraction: 0.6), value: configuration.isPressed) + } +} + +extension View { + // SF Symbol swaps (play ↔ pause) morph on macOS 14+; older systems cross-fade. + @ViewBuilder func symbolReplaceTransition() -> some View { + if #available(macOS 14.0, *) { + contentTransition(.symbolEffect(.replace)) + } else { + self + } + } +} diff --git a/Client/macos/Notch/NotchView.swift b/Client/macos/Notch/NotchView.swift index 456f8ac..303b318 100644 --- a/Client/macos/Notch/NotchView.swift +++ b/Client/macos/Notch/NotchView.swift @@ -4,6 +4,7 @@ import SwiftUI // Written by NotchController, read by NotchView. final class NotchViewState: ObservableObject { @Published var isOpen = false + @Published var openContentMounted = false // true while open, and while the closing animation plays @Published var resting: NotchRestingState = .empty @Published var tab: NotchTab = .music @Published var restingSize: CGSize = .zero @@ -11,32 +12,41 @@ final class NotchViewState: ObservableObject { @Published var notchHeight: CGFloat = 32 } -// Square top (it merges with the notch), rounded bottom corners. +// Merges with the notch: the top corners flare out into the menu bar (concave, `topRadius` wide on each side, +// inside the rect), the bottom corners are rounded. struct NotchShape: Shape { + var topRadius: CGFloat var bottomRadius: CGFloat - var animatableData: CGFloat { - get { bottomRadius } - set { bottomRadius = newValue } + var animatableData: AnimatablePair { + get { AnimatablePair(topRadius, bottomRadius) } + set { (topRadius, bottomRadius) = (newValue.first, newValue.second) } } func path(in rect: CGRect) -> Path { - let radius = min(bottomRadius, rect.width / 2, rect.height) + let top = min(topRadius, rect.width / 4, rect.height / 2) + let body = rect.insetBy(dx: top, dy: 0) + let bottom = min(bottomRadius, body.width / 2, rect.height - top) var path = Path() path.move(to: CGPoint(x: rect.minX, y: rect.minY)) path.addLine(to: CGPoint(x: rect.maxX, y: rect.minY)) - path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY - radius)) - path.addQuadCurve(to: CGPoint(x: rect.maxX - radius, y: rect.maxY), control: CGPoint(x: rect.maxX, y: rect.maxY)) - path.addLine(to: CGPoint(x: rect.minX + radius, y: rect.maxY)) - path.addQuadCurve(to: CGPoint(x: rect.minX, y: rect.maxY - radius), control: CGPoint(x: rect.minX, y: rect.maxY)) + path.addQuadCurve(to: CGPoint(x: body.maxX, y: rect.minY + top), control: CGPoint(x: body.maxX, y: rect.minY)) + path.addLine(to: CGPoint(x: body.maxX, y: rect.maxY - bottom)) + path.addQuadCurve(to: CGPoint(x: body.maxX - bottom, y: rect.maxY), control: CGPoint(x: body.maxX, y: rect.maxY)) + path.addLine(to: CGPoint(x: body.minX + bottom, y: rect.maxY)) + path.addQuadCurve(to: CGPoint(x: body.minX, y: rect.maxY - bottom), control: CGPoint(x: body.minX, y: rect.maxY)) + path.addLine(to: CGPoint(x: body.minX, y: rect.minY + top)) + path.addQuadCurve(to: CGPoint(x: rect.minX, y: rect.minY), control: CGPoint(x: body.minX, y: rect.minY)) path.closeSubpath() return path } } -// Root view of the notch panel (spec §4): the resting strip, or the open panel with its two tabs. The panel +// Root view of the notch panel (spec §4): the resting strip, or the open panel (player or headphones page). The panel // can be larger than the shape while it animates; the shape stays centred at the top. struct NotchView: View { + static let openFlare: CGFloat = 10 + @ObservedObject var state: NotchViewState @ObservedObject var model: HeadphonesModel @ObservedObject var music: MusicController @@ -44,22 +54,31 @@ struct NotchView: View { var body: some View { let size = state.isOpen ? state.openSize : state.restingSize + let shape = NotchShape(topRadius: state.isOpen ? Self.openFlare : 0, bottomRadius: state.isOpen ? 24 : 10) ZStack(alignment: .top) { - NotchShape(bottomRadius: state.isOpen ? 22 : 10).fill(Color.black) - if state.isOpen { + shape.fill(Color.black) + if state.openContentMounted { // Laid out at the final size and clipped by the growing shape, so text never reflows (or spills - // past the edges) while the spring animates. + // past the edges) while the spring animates. Grows in with a transition; shrinks out through the + // modifier below, since SwiftUI skipped the removal transition (content vanished at once). openContent .padding(.top, state.notchHeight) .frame(width: state.openSize.width, height: state.openSize.height) - .transition(.opacity) - } else { - restingContent - .transition(.opacity) + .modifier(FadeScale(amount: state.isOpen ? 0 : 1, scale: NotchMotion.morphScale)) + .allowsHitTesting(state.isOpen) + .transition(NotchMotion.morph) } + // Always mounted and faded on isOpen: an inserted resting strip (transition) didn't come back after + // a close while the open content was still mounted. + restingContent + .opacity(state.isOpen ? 0 : 1) + .animation(NotchMotion.resting(open: state.isOpen), value: state.isOpen) + .allowsHitTesting(!state.isOpen) } - .frame(width: size.width, height: size.height) - .clipShape(NotchShape(bottomRadius: state.isOpen ? 22 : 10)) + // Top-aligned: the open content is taller than the shape while it grows, and the default (centred) + // alignment pushed it up past the top of the screen, then slid it down — the bar seemed to jump. + .frame(width: size.width, height: size.height, alignment: .top) + .clipShape(shape) .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) .environment(\.colorScheme, .dark) } @@ -72,7 +91,9 @@ struct NotchView: View { Spacer(minLength: 0) trailingItem.frame(width: NotchGeometry.sideExtension) } - .frame(height: state.notchHeight) + // Explicit width: while the (wider) open content is still mounted during a close, the strip otherwise + // took the open width, so the artwork and mode icon sat outside the shape (cut off), then jumped back. + .frame(width: state.restingSize.width, height: state.notchHeight) } @ViewBuilder private var leadingItem: some View { @@ -91,7 +112,7 @@ struct NotchView: View { case .musicAndHeadphones, .headphonesOnly: Image(systemName: Self.modeSymbol(model.mode)).font(.system(size: 13)).foregroundColor(.white) case .musicOnly: - LevelBars(animating: music.nowPlaying?.isPlaying == true) + LevelBars(animating: music.nowPlaying?.isPlaying == true, color: music.artworkTint) case .empty: EmptyView() } @@ -108,50 +129,26 @@ struct NotchView: View { // MARK: - Open (spec §4.2) private var openContent: some View { - VStack(spacing: 10) { - tabBar - tabContent.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) - } - .padding(.horizontal, 18) - .padding(.bottom, 14) - } - - private var tabBar: some View { - HStack(spacing: 18) { - tabButton(.music, title: tr("Music")) - tabButton(.headphones, title: tr("Headphones")) - } - .padding(.top, 6) - } - - private func tabButton(_ tab: NotchTab, title: String) -> some View { - let selected = state.tab == tab - return Button { selectTab(tab) } label: { - Text(title) - .font(.system(size: 12, weight: selected ? .semibold : .regular)) - .foregroundColor(selected ? .white : .gray) - .padding(.bottom, 3) - .overlay(alignment: .bottom) { - if selected { Rectangle().fill(Color.white).frame(height: 2) } - } - } - .buttonStyle(.plain) - } - - // Both tabs stay in the hierarchy: the menu-style controls (segmented picker, slider, switch) are AppKit - // views that appear at their natural width for a frame before SwiftUI sizes them, so inserting a tab on - // each switch made its content spill past the edges. - private var tabContent: some View { + // Both pages stay in the hierarchy (switching is then a cross-slide, not an insertion), the hidden one + // neither drawn, clickable nor read by VoiceOver. ZStack(alignment: .top) { - tabPage(.music) { Spacer() } // Task 6: MusicTab - tabPage(.headphones) { HeadphonesTab(model: model) } + page(.music) { MusicTab(music: music, showHeadphones: { selectTab(.headphones) }) } + page(.headphones) { HeadphonesTab(model: model, back: { selectTab(.music) }) } } + .padding(.top, 8) + .padding(.horizontal, Self.openFlare + 16) + .padding(.bottom, 14) } - private func tabPage(_ tab: NotchTab, @ViewBuilder content: () -> Content) -> some View { + // The player slides off to the left, the headphones page comes in from the right (and back). No blur: it + // made each frame of the switch expensive. + private func page(_ tab: NotchTab, @ViewBuilder content: () -> Content) -> some View { let selected = state.tab == tab + let motion = !NotchMotion.reduceMotion return content() .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .top) + .scaleEffect(selected || !motion ? 1 : 0.96) + .offset(x: selected || !motion ? 0 : (tab == .music ? -24 : 24)) .opacity(selected ? 1 : 0) .allowsHitTesting(selected) .accessibilityHidden(!selected) @@ -168,6 +165,8 @@ struct ArtworkView: View { Group { if let image = image { Image(nsImage: image).resizable().aspectRatio(contentMode: .fill) + .id(ObjectIdentifier(image)) + .transition(.opacity) } else { ZStack { Color(white: 0.2) @@ -177,24 +176,27 @@ struct ArtworkView: View { } .frame(width: size, height: size) .clipShape(RoundedRectangle(cornerRadius: cornerRadius)) + .animation(.easeInOut(duration: 0.3), value: image.map(ObjectIdentifier.init)) } } -// Four small bars, moving while music plays (resting state 2), frozen when paused. +// Four small bars in the artwork's colour, moving while music plays, frozen when paused. struct LevelBars: View { let animating: Bool + var color: NSColor? var body: some View { - TimelineView(.animation(minimumInterval: 1.0 / 20, paused: !animating)) { context in + TimelineView(.animation(minimumInterval: 1.0 / 30, paused: !animating)) { context in let time = context.date.timeIntervalSinceReferenceDate HStack(alignment: .bottom, spacing: 2) { ForEach(0..<4, id: \.self) { index in Capsule() - .fill(Color.green) + .fill(color.map(Color.init(nsColor:)) ?? Color(white: 0.85)) .frame(width: 3, height: animating ? 4 + 10 * abs(sin(time * 3 + Double(index) * 1.3)) : 4) } } .frame(height: 14, alignment: .bottom) + .animation(.easeOut(duration: 0.3), value: animating) } } } diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index fb0e5df..e797f05 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -60,6 +60,19 @@ "Couldn't open the control channel." = "Impossible d’ouvrir le canal de contrôle."; /* Notch (Notch/*.swift) */ -"Music" = "Musique"; "Headphones" = "Casque"; "Level" = "Niveau"; +"Spotify isn't open" = "Spotify n’est pas ouvert"; +"Open Spotify" = "Ouvrir Spotify"; +"SonyBridge isn't allowed to control Spotify." = "SonyBridge n’a pas l’autorisation de contrôler Spotify."; +"Open Settings" = "Ouvrir les réglages"; +"Nothing playing" = "Rien en cours de lecture"; +"Previous track" = "Morceau précédent"; +"Play or pause" = "Lecture ou pause"; +"Next track" = "Morceau suivant"; +"Shuffle" = "Lecture aléatoire"; +"Spotify volume" = "Volume de Spotify"; +"Back" = "Retour"; +"Voice" = "Voix"; +"NC" = "Réduction"; +"Ambient" = "Ambiant"; diff --git a/Client/tests/LogicTests/main.swift b/Client/tests/LogicTests/main.swift index 727d513..a218394 100644 --- a/Client/tests/LogicTests/main.swift +++ b/Client/tests/LogicTests/main.swift @@ -50,7 +50,7 @@ do { check(geometry.hasNotch, "notched screen detected") check(geometry.notch == CGRect(x: 662, y: 950, width: 188, height: 32), "notch rect was \(geometry.notch)") check(geometry.extended == CGRect(x: 626, y: 950, width: 260, height: 32), "extended rect was \(geometry.extended)") - check(geometry.open == CGRect(x: 566, y: 792, width: 380, height: 190), "open rect was \(geometry.open)") + check(geometry.open == CGRect(x: 606, y: 816, width: 300, height: 166), "open rect was \(geometry.open)") check(geometry.restingFrame(for: .empty) == geometry.notch, "empty state: bare notch") check(geometry.restingFrame(for: .musicOnly) == geometry.extended, "music: extended notch") } @@ -90,7 +90,7 @@ do { let t0 = Date(timeIntervalSince1970: 1_000) var track = NowPlaying(trackID: "spotify:track:1", title: "A", artist: "B", album: "C", artworkURL: nil, duration: 200, position: 30, positionDate: t0, isPlaying: true, volume: 50, - deviceName: nil, + isShuffling: nil, deviceName: nil, capabilities: MusicCapabilities(canSeek: true, canSetVolume: true, canChangeDevice: false)) check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(12)) == 42, "playing: advances") check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(500)) == 200, "bounded by the duration") @@ -102,7 +102,7 @@ do { check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(500)) == 530, "unknown duration: not bounded") let nextTrack = NowPlaying(trackID: "spotify:track:2", title: "D", artist: "E", album: "F", artworkURL: nil, duration: 180, position: 0, positionDate: t0.addingTimeInterval(100), isPlaying: true, - volume: 50, deviceName: nil, capabilities: track.capabilities) + volume: 50, isShuffling: nil, deviceName: nil, capabilities: track.capabilities) check(PlaybackClock.position(of: nextTrack, at: t0.addingTimeInterval(100)) == 0, "track change: starts from 0") check(PlaybackClock.format(65) == "1:05", "format 1:05 was \(PlaybackClock.format(65))") check(PlaybackClock.format(754.9) == "12:34", "format rounds down") @@ -120,7 +120,8 @@ do { if case .track(let track) = SpotifyPlaybackInfo.parse(signal: signal, at: t0) { check(track.trackID == "spotify:track:42" && track.title == "Midnight City" && track.artist == "M83", "signal: names") check(track.duration == 243 && track.position == 12.5 && track.positionDate == t0 && track.isPlaying, "signal: timing") - check(track.artworkURL == nil && track.volume == nil && track.deviceName == nil, "signal: no artwork or volume, this Mac") + check(track.artworkURL == nil && track.volume == nil && track.isShuffling == nil && track.deviceName == nil, + "signal: no artwork, volume or shuffle, this Mac") check(track.capabilities == SpotifyPlaybackInfo.localCapabilities, "signal: local capabilities") } else { check(false, "signal with full info decodes to a track") @@ -143,22 +144,30 @@ do { let t0 = Date(timeIntervalSince1970: 1_000) let sep = "\u{1F}" let text = ["paused", "spotify:track:7", "Title", "Artist", "Album", "180000", "61500", - "https://i.scdn.co/image/ab", "70"].joined(separator: sep) + "https://i.scdn.co/image/ab", "70", "true"].joined(separator: sep) if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: text, at: t0) { check(!track.isPlaying && track.duration == 180 && track.position == 61.5, "script: timing") check(track.artworkURL == URL(string: "https://i.scdn.co/image/ab") && track.volume == 70, "script: artwork and volume") + check(track.isShuffling == true, "script: shuffle on") check(track.title == "Title" && track.album == "Album" && track.positionDate == t0, "script: names") } else { check(false, "script result decodes to a track") } - let local = ["playing", "spotify:local:x", "T", "", "", "1000", "0", "", "101"].joined(separator: sep) + let local = ["playing", "spotify:local:x", "T", "", "", "1000", "0", "", "101", "false"].joined(separator: sep) if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: local, at: t0) { check(track.artworkURL == nil && track.volume == 100 && track.artist.isEmpty, "script: empty fields, volume clamped") + check(track.isShuffling == false, "script: shuffle off") } else { check(false, "script result with empty fields decodes to a track") } check(SpotifyPlaybackInfo.parse(scriptResult: "stopped", at: t0) == .stopped, "script: stopped") check(SpotifyPlaybackInfo.parse(scriptResult: "garbage", at: t0) == .incomplete, "script: malformed") + let unknownShuffle = ["playing", "spotify:track:8", "T", "A", "B", "1000", "0", "", "50", "?"].joined(separator: sep) + if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: unknownShuffle, at: t0) { + check(track.isShuffling == nil, "script: unreadable shuffle is unknown") + } else { + check(false, "script result with an unreadable shuffle decodes to a track") + } } if failures > 0 { diff --git a/README.md b/README.md index 86e7ac9..db26a7d 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,9 @@ menu bar app, built with AppKit/SwiftUI. - 🎚️ **Ambient Sound Control** — Noise Cancelling · Ambient Sound (with a 1–20 level slider (1–19 on older models) and a Focus on Voice switch) · Off - 🔄 **Live button sync** — following the headset's own NC button live, even while the menu is open +**Notch** +- 🏝️ **Notch panel** — hover the MacBook notch (or a black pill at the top of screens without one) to control the music playing in **Spotify** (artwork, play/pause, previous/next, seek, shuffle, volume) and, behind its headphones button, switch Noise Cancelling / Ambient Sound / Off. Turn it off with **Show Notch** under **SonyBridge Options** + **Equalizer** - 🎛️ **Equalizer** — presets *and* a **Manual mode** with vertical sliders (5 bands + Clear Bass on older models). The **WH-1000XM6**'s 10-band equalizer is read and displayed; changing the equalizer (presets and Manual) is coming in a later update — its write format isn't verified yet, so the presets and sliders are greyed out with a "coming soon" note @@ -84,6 +87,9 @@ make install > 💡 On first launch, macOS asks for **Bluetooth permission** — allow it, otherwise SonyBridge can't > talk to your headphones. Pair and connect your headphones in macOS **Bluetooth settings** first. +> +> 🎵 With the notch on, macOS also asks whether SonyBridge may **control Spotify** — allow it to see and +> control your music from the notch (Spotify's own desktop app, no account needed). **To update:** pull the latest changes and run `make install` again. @@ -103,7 +109,8 @@ From the menu you can: - toggle **DSEE**, **Speak-to-Chat**, and **Adaptive Volume** (only the ones your model supports); - set **Auto Power-Off**; - check the battery level in the menu's header, and the firmware, codec and protocol under **About the Headphones**; -- turn **Launch at Login**, **Connect Automatically**, and **Reconnect Automatically** on or off under **SonyBridge Options**; +- hover the **notch** to control Spotify and switch sound modes without opening the menu; +- turn **Launch at Login**, **Connect Automatically**, **Reconnect Automatically**, and **Show Notch** on or off under **SonyBridge Options**; - **Disconnect** (SonyBridge then stays disconnected until you click **Connect…** again or — with **Connect Automatically** on — the headset reconnects to your Mac) or **Quit SonyBridge** (⌘Q). ## 🎧 Supported headphones diff --git a/docs/superpowers/specs/2026-09-11-notch-design.md b/docs/superpowers/specs/2026-09-11-notch-design.md index 54cea13..93cdb08 100644 --- a/docs/superpowers/specs/2026-09-11-notch-design.md +++ b/docs/superpowers/specs/2026-09-11-notch-design.md @@ -276,3 +276,25 @@ Sources : [quotas Spotify](https://developer.spotify.com/documentation/web-api/c 3. Onglet Casque branché sur `HeadphonesModel` + option « Afficher l'encoche ». 4. Source Spotify locale + `MusicController` + onglet Musique + autorisations. 5. États au repos complets, animations, vérification visuelle et matérielle. + +## 12. Changements pendant l'implémentation (2026-09-17) + +Décidés avec l'utilisateur sur l'app en marche ; ils remplacent §4.2 et une partie de §4.3. + +- **Plus d'onglets.** L'encoche ouverte est un lecteur façon « Dynamic Island » (maquette fournie par + l'utilisateur) : pochette, titre, artiste et petites barres à la couleur de la pochette ; temps écoulé, barre + plate, durée totale ; boutons 🎧 ⏮ ⏯ ⏭ 🔀 🔊. 🎧 fait glisser le lecteur vers le panneau Casque (‹ retour) ; + 🔊 remplace la progression par la barre de volume Spotify, repliée après 4 s sans action. Le lecteur + s'ouvre sur la page choisie en dernier (première ouverture : Musique s'il y a une musique, sinon Casque). +- **Lecture aléatoire** : `shuffling` lu par `readState` (10ᵉ champ, `NowPlaying.isShuffling`) et basculé + par `set shuffling to …`. « J'aime » n'existe pas en local (étape 2). +- **Taille ouverte 300 × 166 pt** ; coins du haut évasés vers la barre des menus. +- **Aucun contrôle AppKit dans l'encoche** (sélecteur segmenté, `Slider`, `Toggle`, bouton bordé) : ils + ignorent l'échelle et le découpage SwiftUI et débordaient à l'ouverture, au changement de page et à la + fermeture. Remplacés par `ModePicker`, `FlatSlider`, `NotchSwitch`, `NotchPillButton`. +- **Fenêtre de taille fixe** : le panneau garde la taille ouverte, seule la forme s'anime ; fermé, il laisse + passer les clics (`ignoresMouseEvents`) et le survol suit la position du pointeur (moniteurs d'événements + global et local). Redimensionner la fenêtre affichait une image de contenu décalé. +- **Animations** (`NotchMotion`) : le contenu grandit et rétrécit avec la forme (même ressort, sans flou) ; + il reste monté pendant la fermeture puis est retiré ; la bande du repos a une largeur fixe et revient en + fondu. Vérifié par captures d'écran à 60/120 images par seconde. From e6d70d4377606da5da59ef6cca5b5baf4a0b0f78 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 13:44:13 +0200 Subject: [PATCH 27/31] feat(notch): resting music control, notch size options, rewritten README --- Client/macos/AppSettings.swift | 42 +++- Client/macos/HeadphonesMenu.swift | 39 ++++ Client/macos/MenuRows/NotchSizeRow.swift | 28 +++ Client/macos/Notch/FlatSlider.swift | 5 +- Client/macos/Notch/HeadphonesTab.swift | 48 ++--- Client/macos/Notch/MusicTab.swift | 53 +++-- Client/macos/Notch/NotchController.swift | 94 ++++++++- Client/macos/Notch/NotchControls.swift | 12 +- Client/macos/Notch/NotchGeometry.swift | 64 +++++- Client/macos/Notch/NotchMotion.swift | 12 ++ Client/macos/Notch/NotchView.swift | 67 ++++-- Client/macos/fr.lproj/Localizable.strings | 7 + Client/tests/LogicTests/main.swift | 30 +++ README.md | 240 ++++++++++------------ 14 files changed, 526 insertions(+), 215 deletions(-) create mode 100644 Client/macos/MenuRows/NotchSizeRow.swift diff --git a/Client/macos/AppSettings.swift b/Client/macos/AppSettings.swift index afbd71e..2214b65 100644 --- a/Client/macos/AppSettings.swift +++ b/Client/macos/AppSettings.swift @@ -8,6 +8,11 @@ final class AppSettings: ObservableObject { static let autoReconnect = "autoReconnect" static let lastDeviceAddress = "lastDeviceAddress" static let showNotch = "showNotch" + static let notchWidth = "notchOpenWidth" + static let notchHeight = "notchOpenHeight" + static let notchSide = "notchSideWidth" + static let notchZoom = "notchZoom" + static let notchArtwork = "notchRestingArtwork" } private let defaults: UserDefaults @@ -23,6 +28,21 @@ final class AppSettings: ObservableObject { } @Published private(set) var launchAtLogin: Bool + // Notch Size submenu. Stored as the user set them; NotchLayout clamps. + @Published var notchWidth: Double { didSet { defaults.set(notchWidth, forKey: Keys.notchWidth) } } + @Published var notchHeight: Double { didSet { defaults.set(notchHeight, forKey: Keys.notchHeight) } } + @Published var notchSideWidth: Double { didSet { defaults.set(notchSideWidth, forKey: Keys.notchSide) } } + @Published var notchZoom: Double { didSet { defaults.set(notchZoom, forKey: Keys.notchZoom) } } + @Published var notchArtwork: Double { didSet { defaults.set(notchArtwork, forKey: Keys.notchArtwork) } } + // True while the Notch Size submenu is open: the notch stays open as a live preview. Not persisted. + @Published var notchPreviewing = false + + var notchLayout: NotchLayout { + NotchLayout(openSize: CGSize(width: notchWidth, height: notchHeight), + sideExtension: CGFloat(notchSideWidth), zoom: CGFloat(notchZoom), + restingArtwork: CGFloat(notchArtwork)) + } + var lastDeviceAddress: String? { get { defaults.string(forKey: Keys.lastDeviceAddress) } set { defaults.set(newValue, forKey: Keys.lastDeviceAddress) } @@ -32,13 +52,33 @@ final class AppSettings: ObservableObject { self.defaults = defaults // Spec §4: auto-connect and auto-reconnect default on; launch at login stays off until the user asks. // Notch spec §7: the notch is shown by default. - defaults.register(defaults: [Keys.autoConnect: true, Keys.autoReconnect: true, Keys.showNotch: true]) + let layout = NotchLayout.default + defaults.register(defaults: [ + Keys.autoConnect: true, Keys.autoReconnect: true, Keys.showNotch: true, + Keys.notchWidth: Double(layout.openSize.width), Keys.notchHeight: Double(layout.openSize.height), + Keys.notchSide: Double(layout.sideExtension), Keys.notchZoom: Double(layout.zoom), + Keys.notchArtwork: Double(layout.restingArtwork), + ]) autoConnect = defaults.bool(forKey: Keys.autoConnect) autoReconnect = defaults.bool(forKey: Keys.autoReconnect) showNotch = defaults.bool(forKey: Keys.showNotch) + notchWidth = defaults.double(forKey: Keys.notchWidth) + notchHeight = defaults.double(forKey: Keys.notchHeight) + notchSideWidth = defaults.double(forKey: Keys.notchSide) + notchZoom = defaults.double(forKey: Keys.notchZoom) + notchArtwork = defaults.double(forKey: Keys.notchArtwork) launchAtLogin = SMAppService.mainApp.status == .enabled } + func resetNotchSize() { + let layout = NotchLayout.default + notchWidth = Double(layout.openSize.width) + notchHeight = Double(layout.openSize.height) + notchSideWidth = Double(layout.sideExtension) + notchZoom = Double(layout.zoom) + notchArtwork = Double(layout.restingArtwork) + } + // Returns an error message if macOS refused the change. func setLaunchAtLogin(_ enabled: Bool) -> String? { defer { launchAtLogin = SMAppService.mainApp.status == .enabled } diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index fcbb888..c459501 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -30,6 +30,8 @@ final class HeadphonesMenu { private var autoConnectItem = NSMenuItem() private var autoReconnectItem = NSMenuItem() private var showNotchItem = NSMenuItem() + private let notchSizeItem = NSMenuItem() + private let notchSizeMenuDelegate = NotchSizeMenuDelegate() private static var presets: [(Int, String)] { [(0x00, tr("Off")), (0x10, tr("Bright")), (0x11, tr("Excited")), (0x12, tr("Mellow")), @@ -159,6 +161,7 @@ final class HeadphonesMenu { autoReconnectItem = ActionMenuItem(tr("Reconnect Automatically")) { [weak settings] in settings?.autoReconnect.toggle() } showNotchItem = ActionMenuItem(tr("Show Notch")) { [weak settings] in settings?.showNotch.toggle() } for item in [launchAtLoginItem, autoConnectItem, autoReconnectItem, showNotchItem] { optionsMenu.addItem(item) } + optionsMenu.addItem(makeNotchSizeItem()) let optionsItem = NSMenuItem(title: tr("SonyBridge Options"), action: nil, keyEquivalent: "") optionsItem.submenu = optionsMenu menu.addItem(optionsItem) @@ -221,6 +224,34 @@ final class HeadphonesMenu { autoConnectItem.state = settings.autoConnect ? .on : .off autoReconnectItem.state = settings.autoReconnect ? .on : .off showNotchItem.state = settings.showNotch ? .on : .off + notchSizeItem.isEnabled = settings.showNotch + } + + // Options › Notch Size: sliders applied live, the notch staying open as a preview while the submenu is open. + private func makeNotchSizeItem() -> NSMenuItem { + let sizeMenu = NSMenu() + sizeMenu.autoenablesItems = false + notchSizeMenuDelegate.settings = settings + sizeMenu.delegate = notchSizeMenuDelegate + let points: (Double) -> String = { String(Int($0.rounded())) } + let percent: (Double) -> String = { "\(Int(($0 * 100).rounded())) %" } + let rows: [(String, ReferenceWritableKeyPath, ClosedRange, (Double) -> String)] = [ + (tr("Open Width"), \.notchWidth, NotchLayout.widthRange, points), + (tr("Open Height"), \.notchHeight, NotchLayout.heightRange, points), + (tr("Closed Width"), \.notchSideWidth, NotchLayout.sideRange, points), + (tr("Closed Artwork"), \.notchArtwork, NotchLayout.artworkRange, points), + (tr("Text Size"), \.notchZoom, NotchLayout.zoomRange, percent), + ] + for (title, keyPath, range, format) in rows { + sizeMenu.addItem(hostingMenuItem(width: MenuMetrics.width + 40) { + NotchSizeRow(settings: settings, title: title, keyPath: keyPath, range: range, format: format) + }) + } + sizeMenu.addItem(.separator()) + sizeMenu.addItem(ActionMenuItem(tr("Reset Size")) { [weak settings] in settings?.resetNotchSize() }) + notchSizeItem.title = tr("Notch Size") + notchSizeItem.submenu = sizeMenu + return notchSizeItem } private func updateAbout() { @@ -259,3 +290,11 @@ final class HeadphonesMenu { } } } + +// Opens the notch as a live preview while the Notch Size submenu is open. +private final class NotchSizeMenuDelegate: NSObject, NSMenuDelegate { + weak var settings: AppSettings? + + func menuWillOpen(_ menu: NSMenu) { settings?.notchPreviewing = true } + func menuDidClose(_ menu: NSMenu) { settings?.notchPreviewing = false } +} diff --git a/Client/macos/MenuRows/NotchSizeRow.swift b/Client/macos/MenuRows/NotchSizeRow.swift new file mode 100644 index 0000000..8ff83e3 --- /dev/null +++ b/Client/macos/MenuRows/NotchSizeRow.swift @@ -0,0 +1,28 @@ +import SwiftUI + +// One Notch Size slider ("Open Width ━━━●━━ 300"), bound to an AppSettings value. +struct NotchSizeRow: View { + @ObservedObject var settings: AppSettings + let title: String + let keyPath: ReferenceWritableKeyPath + let range: ClosedRange + let format: (Double) -> String + + var body: some View { + HStack(spacing: 8) { + Text(title) + .lineLimit(1) + .frame(width: 104, alignment: .leading) + Slider(value: Binding(get: { settings[keyPath: keyPath] }, set: { settings[keyPath: keyPath] = $0 }), + in: Double(range.lowerBound)...Double(range.upperBound)) + .controlSize(.small) + Text(verbatim: format(settings[keyPath: keyPath])) + .font(.system(size: 11, weight: .medium).monospacedDigit()) + .foregroundColor(.secondary) + .frame(width: 38, alignment: .trailing) + } + .padding(.leading, MenuMetrics.leading) + .padding(.trailing, MenuMetrics.trailing) + .padding(.vertical, 3) + } +} diff --git a/Client/macos/Notch/FlatSlider.swift b/Client/macos/Notch/FlatSlider.swift index a9104b2..c490749 100644 --- a/Client/macos/Notch/FlatSlider.swift +++ b/Client/macos/Notch/FlatSlider.swift @@ -12,6 +12,7 @@ struct FlatSlider: View { let onChange: (Double, Bool) -> Void @Environment(\.isEnabled) private var isEnabled + @Environment(\.notchScale) private var s @State private var dragging = false @State private var hovering = false @@ -20,7 +21,7 @@ struct FlatSlider: View { let width = max(geometry.size.width, 1) let span = range.upperBound - range.lowerBound let fraction = span > 0 ? min(1, max(0, (value - range.lowerBound) / span)) : 0 - let barHeight = dragging || hovering ? height + 2 : height + let barHeight = (dragging || hovering ? height + 2 : height) * s ZStack(alignment: .leading) { Capsule().fill(Color(white: 0.25)) Capsule() @@ -46,7 +47,7 @@ struct FlatSlider: View { .onHover { hovering = isEnabled && $0 } .animation(.easeOut(duration: 0.12), value: barHeight) } - .frame(height: height + 8) + .frame(height: (height + 8) * s) .opacity(isEnabled ? 1 : 0.4) } diff --git a/Client/macos/Notch/HeadphonesTab.swift b/Client/macos/Notch/HeadphonesTab.swift index 06cb564..3aca285 100644 --- a/Client/macos/Notch/HeadphonesTab.swift +++ b/Client/macos/Notch/HeadphonesTab.swift @@ -6,22 +6,23 @@ import SwiftUI struct HeadphonesTab: View { @ObservedObject var model: HeadphonesModel let back: () -> Void + @Environment(\.notchScale) private var s var body: some View { - VStack(alignment: .leading, spacing: 12) { - HStack(spacing: 6) { + VStack(alignment: .leading, spacing: 12 * s) { + HStack(spacing: 6 * s) { Button(action: back) { Image(systemName: "chevron.left") - .font(.system(size: 13, weight: .semibold)) + .font(.system(size: 13 * s, weight: .semibold)) .foregroundColor(.gray) - .frame(width: 24, height: 24) + .frame(width: 24 * s, height: 24 * s) .contentShape(Rectangle()) } .buttonStyle(PressableButtonStyle()) .accessibilityLabel(tr("Back")) - Image(systemName: "headphones").font(.system(size: 13)).foregroundColor(.white) + Image(systemName: "headphones").font(.system(size: 13 * s)).foregroundColor(.white) Text(model.deviceName.isEmpty ? tr("Headphones") : model.deviceName) - .font(.system(size: 13, weight: .semibold)) + .font(.system(size: 13 * s, weight: .semibold)) .foregroundColor(.white) .lineLimit(1) } @@ -30,40 +31,40 @@ struct HeadphonesTab: View { controls case .connecting: Text(tr("Connecting…")) - .font(.system(size: 12)) + .font(.system(size: 12 * s)) .foregroundColor(.gray) .frame(maxWidth: .infinity) - .padding(.top, 8) + .padding(.top, 8 * s) case .disconnected: - HStack(spacing: 10) { - Text(tr("Not connected")).font(.system(size: 12)).foregroundColor(.gray) + HStack(spacing: 10 * s) { + Text(tr("Not connected")).font(.system(size: 12 * s)).foregroundColor(.gray) NotchPillButton(title: tr("Connect…")) { NSApp.activate(ignoringOtherApps: true) // the fallback Bluetooth picker is a modal window model.connect() } } .frame(maxWidth: .infinity) - .padding(.top, 8) + .padding(.top, 8 * s) } } } private var controls: some View { let ambient = model.mode == .ambientSound - return VStack(spacing: 10) { + return VStack(spacing: 10 * s) { ModePicker(selection: model.mode, select: { model.setMode($0) }) - HStack(spacing: 8) { - Text(tr("Level")).font(.system(size: 12)).foregroundColor(.gray) + HStack(spacing: 8 * s) { + Text(tr("Level")).font(.system(size: 12 * s)).foregroundColor(.gray) FlatSlider(value: Double(model.ambientLevel), range: 1...Double(max(model.maxAmbientLevel, 2)), step: 1) { value, final in model.setLevel(Int(value.rounded()), final: final) } Text(verbatim: "\(model.ambientLevel)") - .font(.system(size: 11, weight: .medium).monospacedDigit()) + .font(.system(size: 11 * s, weight: .medium).monospacedDigit()) .foregroundColor(.gray) - .frame(width: 20, alignment: .trailing) - Text(tr("Voice")).font(.system(size: 12)).foregroundColor(.gray).padding(.leading, 6) + .frame(width: 20 * s, alignment: .trailing) + Text(tr("Voice")).font(.system(size: 12 * s)).foregroundColor(.gray).padding(.leading, 6 * s) NotchSwitch(isOn: model.focusOnVoice, label: tr("Focus on Voice")) { model.setFocusOnVoice($0) } } .disabled(!ambient) @@ -79,6 +80,7 @@ struct HeadphonesTab: View { private struct ModePicker: View { let selection: SHCAmbientMode let select: (SHCAmbientMode) -> Void + @Environment(\.notchScale) private var s @Namespace private var pill private static var options: [(SHCAmbientMode, String)] { @@ -86,19 +88,19 @@ private struct ModePicker: View { } var body: some View { - HStack(spacing: 2) { + HStack(spacing: 2 * s) { ForEach(Self.options, id: \.0.rawValue) { mode, title in let selected = selection == mode Button { select(mode) } label: { Text(title) - .font(.system(size: 11, weight: selected ? .semibold : .regular)) + .font(.system(size: 11 * s, weight: selected ? .semibold : .regular)) .foregroundColor(selected ? .white : .gray) .lineLimit(1) .frame(maxWidth: .infinity) - .padding(.vertical, 5) + .padding(.vertical, 5 * s) .background { if selected { - RoundedRectangle(cornerRadius: 6) + RoundedRectangle(cornerRadius: 6 * s) .fill(Color(white: 0.3)) .matchedGeometryEffect(id: "pill", in: pill) } @@ -109,8 +111,8 @@ private struct ModePicker: View { .accessibilityAddTraits(selected ? .isSelected : []) } } - .padding(2) - .background(RoundedRectangle(cornerRadius: 8).fill(Color(white: 0.15))) + .padding(2 * s) + .background(RoundedRectangle(cornerRadius: 8 * s).fill(Color(white: 0.15))) // The selection comes back from the headset (menu, NC button), so animate on the value, not the click. .animation(.spring(response: 0.3, dampingFraction: 0.8), value: selection) } diff --git a/Client/macos/Notch/MusicTab.swift b/Client/macos/Notch/MusicTab.swift index 7b6d4f5..8cad91a 100644 --- a/Client/macos/Notch/MusicTab.swift +++ b/Client/macos/Notch/MusicTab.swift @@ -1,12 +1,14 @@ import SwiftUI // Notch player page (spec §4.2): artwork, title and artist; progress; headphones, previous, play/pause, next, -// shuffle. The volume button swaps the progress bar for Spotify's volume bar for a few seconds. +// shuffle. The volume button swaps the progress bar for Spotify's volume bar for a few seconds. Sizes follow +// the notch zoom; extra height grows the artwork. struct MusicTab: View { private static let volumeAutoHide: TimeInterval = 4 @ObservedObject var music: MusicController let showHeadphones: () -> Void + @Environment(\.notchScale) private var s @State private var seekValue: Double? // while dragging the progress bar @State private var volumeValue: Double? // while dragging the volume bar @State private var showVolume = false @@ -36,8 +38,8 @@ struct MusicTab: View { } private func message(_ text: String, button: String?, action: @escaping () -> Void) -> some View { - VStack(spacing: 10) { - Text(text).font(.system(size: 12)).foregroundColor(.gray).multilineTextAlignment(.center) + VStack(spacing: 10 * s) { + Text(text).font(.system(size: 12 * s)).foregroundColor(.gray).multilineTextAlignment(.center) if let button = button { NotchPillButton(title: button, action: action) } @@ -48,25 +50,36 @@ struct MusicTab: View { } } .frame(maxWidth: .infinity) - .padding(.top, 6) + .padding(.top, 6 * s) } private func player(_ track: NowPlaying) -> some View { + GeometryReader { proxy in + player(track, artwork: artworkSize(forHeight: proxy.size.height)) + } + } + + // 50 pt at the default height; each extra point of height gives the artwork 0.6 pt, within 44...88 (× zoom). + private func artworkSize(forHeight height: CGFloat) -> CGFloat { + min(88 * s, max(44 * s, 50 * s + (height - 112 * s) * 0.6)) + } + + private func player(_ track: NowPlaying, artwork: CGFloat) -> some View { VStack(spacing: 0) { - HStack(spacing: 12) { - ArtworkView(image: music.artwork, size: 50, cornerRadius: 10) - VStack(alignment: .leading, spacing: 2) { - Text(track.title).font(.system(size: 14, weight: .semibold)).foregroundColor(.white) - Text(track.artist).font(.system(size: 13)).foregroundColor(.gray) + HStack(spacing: 12 * s) { + ArtworkView(image: music.artwork, size: artwork, cornerRadius: artwork * 0.2) + VStack(alignment: .leading, spacing: 2 * s) { + Text(track.title).font(.system(size: 14 * s, weight: .semibold)).foregroundColor(.white) + Text(track.artist).font(.system(size: 13 * s)).foregroundColor(.gray) } .lineLimit(1) .id(track.trackID) .transition(.asymmetric(insertion: .opacity.combined(with: .offset(y: 6)), removal: .opacity)) - Spacer(minLength: 6) + Spacer(minLength: 6 * s) LevelBars(animating: track.isPlaying, color: music.artworkTint) } .animation(NotchMotion.content, value: track.trackID) - Spacer(minLength: 8) + Spacer(minLength: 8 * s) ZStack { progress(track) .modifier(FadeScale(amount: showVolume ? 1 : 0)) @@ -76,7 +89,7 @@ struct MusicTab: View { .allowsHitTesting(showVolume) } .animation(NotchMotion.content, value: showVolume) - Spacer(minLength: 6) + Spacer(minLength: 6 * s) HStack(spacing: 0) { iconButton("headphones", label: tr("Headphones"), action: showHeadphones) Spacer() @@ -104,7 +117,7 @@ struct MusicTab: View { private func progress(_ track: NowPlaying) -> some View { TimelineView(.periodic(from: .now, by: 1)) { context in let position = seekValue ?? PlaybackClock.position(of: track, at: context.date) - HStack(spacing: 8) { + HStack(spacing: 8 * s) { timeLabel(PlaybackClock.format(position)) FlatSlider(value: position, range: 0...max(track.duration, 1), smoothing: seekValue == nil) { value, final in seekValue = final ? nil : value @@ -117,32 +130,32 @@ struct MusicTab: View { } private func volume(_ track: NowPlaying) -> some View { - HStack(spacing: 8) { - Image(systemName: "speaker.fill").font(.system(size: 10)).foregroundColor(.gray).frame(width: 34) + HStack(spacing: 8 * s) { + Image(systemName: "speaker.fill").font(.system(size: 10 * s)).foregroundColor(.gray).frame(width: 34 * s) FlatSlider(value: volumeValue ?? Double(track.volume ?? 0), range: 0...100) { value, final in volumeValue = final ? nil : value music.setVolume(Int(value.rounded()), final: final) scheduleVolumeHide() } - Image(systemName: "speaker.wave.3.fill").font(.system(size: 10)).foregroundColor(.gray).frame(width: 34) + Image(systemName: "speaker.wave.3.fill").font(.system(size: 10 * s)).foregroundColor(.gray).frame(width: 34 * s) } } private func timeLabel(_ text: String) -> some View { Text(verbatim: text) - .font(.system(size: 11).monospacedDigit()) + .font(.system(size: 11 * s).monospacedDigit()) .foregroundColor(.gray) - .frame(width: 34) + .frame(width: 36 * s) } private func iconButton(_ symbol: String, size: CGFloat = 14, color: Color = .gray, label: String, action: @escaping () -> Void) -> some View { Button(action: action) { Image(systemName: symbol) - .font(.system(size: size)) + .font(.system(size: size * s)) .foregroundColor(color) .symbolReplaceTransition() - .frame(width: 28, height: 26) + .frame(width: 28 * s, height: 26 * s) .contentShape(Rectangle()) } .buttonStyle(PressableButtonStyle()) diff --git a/Client/macos/Notch/NotchController.swift b/Client/macos/Notch/NotchController.swift index c6ea952..d184b4e 100644 --- a/Client/macos/Notch/NotchController.swift +++ b/Client/macos/Notch/NotchController.swift @@ -5,12 +5,14 @@ import SwiftUI // Owns the notch panel (spec §4.3): picks the screen, places the panel, opens it on hover and follows the // "Show Notch" option. // -// The panel always keeps the open size: only the SwiftUI shape inside animates. Resizing the window on open +// The panel always keeps the largest open size the Notch Size options allow: only the SwiftUI shape inside +// animates, including while the size is changed. Resizing the window on open // and close showed a frame of stale content at the new size (things jumped outward, then back). While // closed, the panel lets every click through, and hover is followed from the pointer position instead of // tracking areas. final class NotchController { private static let unmountDelay: TimeInterval = 0.4 // lets the closing spring settle first + private static let closedPreviewTime: TimeInterval = 1 // closed-width preview, then back to the open notch private let model: HeadphonesModel private let music: MusicController @@ -20,6 +22,8 @@ final class NotchController { private var geometry: NotchGeometry? private var lastChosenTab: NotchTab? private var pointerInside = false + private var previewing = false // Notch Size submenu open: the pointer neither opens nor closes the notch + private var reopenWork: DispatchWorkItem? private var hoverTimer: Timer? private var hideWork: DispatchWorkItem? private var unmountWork: DispatchWorkItem? @@ -63,6 +67,21 @@ final class NotchController { .receive(on: DispatchQueue.main) .sink { [weak self] _ in self?.relayout() } .store(in: &cancellables) + // A size slider shows what it changes: the open notch for its width, height and text size, the closed + // notch for the closed width. + Publishers.Merge3(settings.$notchWidth.dropFirst(), settings.$notchHeight.dropFirst(), settings.$notchZoom.dropFirst()) + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.sizeChanged(showOpen: true) } + .store(in: &cancellables) + settings.$notchSideWidth.dropFirst().merge(with: settings.$notchArtwork.dropFirst()) + .receive(on: DispatchQueue.main) + .sink { [weak self] _ in self?.sizeChanged(showOpen: false) } + .store(in: &cancellables) + settings.$notchPreviewing + .dropFirst() + .receive(on: DispatchQueue.main) + .sink { [weak self] on in self?.setPreviewing(on) } + .store(in: &cancellables) model.$connectionState.combineLatest(music.$status, music.$nowPlaying) .receive(on: DispatchQueue.main) .sink { [weak self] _ in self?.updateResting() } @@ -89,11 +108,21 @@ final class NotchController { panel.orderOut(nil) return } - let geometry = NotchGeometry(screen: ScreenMetrics(screen)) + let metrics = ScreenMetrics(screen) + let layout = settings.notchLayout + let geometry = NotchGeometry(screen: metrics, layout: layout) self.geometry = geometry state.notchHeight = geometry.notch.height state.openSize = geometry.open.size - panel.setFrame(geometry.open, display: true) + state.sideExtension = layout.sideExtension + state.contentScale = layout.contentScale + state.restingScale = layout.restingScale + state.restingArtworkSize = layout.restingArtworkSize(notchHeight: geometry.notch.height) + let largest = NotchLayout(openSize: CGSize(width: NotchLayout.widthRange.upperBound, + height: NotchLayout.heightRange.upperBound), + sideExtension: NotchLayout.sideRange.upperBound, zoom: 1) + let panelFrame = NotchGeometry(screen: metrics, layout: largest).open + if panel.frame != panelFrame { panel.setFrame(panelFrame, display: true) } updateResting() } @@ -112,6 +141,7 @@ final class NotchController { if let frame = frame { state.restingSize = frame.size } } } + updateTrailingHover() hideWork?.cancel() if frame != nil || state.isOpen { panel.orderFrontRegardless() @@ -131,6 +161,7 @@ final class NotchController { // Only a change of side (in / out) starts the timer, so moving inside doesn't keep postponing the opening; // the timer then reads the real pointer position, so a missed event can't leave the notch stuck. private func pointerMoved() { + updateTrailingHover() let inside = isPointerInHoverZone guard inside != pointerInside else { return } pointerInside = inside @@ -144,17 +175,35 @@ final class NotchController { private func hoverCheck() { let inside = isPointerInHoverZone pointerInside = inside - if inside && !state.isOpen { + if inside && !state.isOpen && !previewing { open() - } else if !inside && state.isOpen { + } else if !inside && state.isOpen && !previewing { close() } } private var isPointerInHoverZone: Bool { guard panel.isVisible, let geometry = geometry else { return false } - let zone = state.isOpen ? geometry.open : (geometry.restingFrame(for: state.resting) ?? .zero) - return zone.contains(NSEvent.mouseLocation) + let pointer = NSEvent.mouseLocation + if state.isOpen { return geometry.open.contains(pointer) } + // The resting music control is clicked, not a way to open the notch. + if hasRestingMusicControl && geometry.restingTrailingZone.contains(pointer) { return false } + return geometry.restingFrame(for: state.resting)?.contains(pointer) ?? false + } + + private var hasRestingMusicControl: Bool { + state.resting == .musicAndHeadphones || state.resting == .musicOnly + } + + // While closed, the pointer over the right widening swaps the level bars for next / play, and the panel + // takes the mouse there (and only there) so the button can be clicked. + private func updateTrailingHover() { + let hovered = !state.isOpen && panel.isVisible && hasRestingMusicControl + && (geometry?.restingTrailingZone.contains(NSEvent.mouseLocation) ?? false) + if hovered != state.trailingHovered { + withAnimation(NotchMotion.content) { state.trailingHovered = hovered } + } + panel.ignoresMouseEvents = !(state.isOpen || hovered) } private func open() { @@ -162,6 +211,7 @@ final class NotchController { hideWork?.cancel() if !state.openContentMounted { state.tab = NotchContent.tabOnOpen(lastChosen: lastChosenTab, hasMusic: music.hasMusic) } state.openContentMounted = true + state.trailingHovered = false panel.ignoresMouseEvents = false panel.orderFrontRegardless() withAnimation(NotchMotion.open) { state.isOpen = true } @@ -183,6 +233,36 @@ final class NotchController { DispatchQueue.main.asyncAfter(deadline: .now() + Self.unmountDelay, execute: work) } + // The Notch Size submenu opens the notch as a live preview; closing the menu hands it back to the pointer. + private func setPreviewing(_ on: Bool) { + previewing = on + reopenWork?.cancel() + if on { + if geometry != nil && !state.isOpen { open() } + } else { + hoverCheck() + } + } + + // Width, height and text size show on the open notch. The closed width and artwork close it while they move, + // then reopens it a second after the last change, so the other sliders find it open again. + private func sizeChanged(showOpen: Bool) { + withAnimation(NotchMotion.content) { relayout() } + guard previewing, geometry != nil else { return } + reopenWork?.cancel() + if showOpen { + if !state.isOpen { open() } + return + } + if state.isOpen { close() } + let work = DispatchWorkItem { [weak self] in + guard let self = self, self.previewing, !self.state.isOpen else { return } + self.open() + } + reopenWork = work + DispatchQueue.main.asyncAfter(deadline: .now() + Self.closedPreviewTime, execute: work) + } + private func select(_ tab: NotchTab) { lastChosenTab = tab withAnimation(NotchMotion.content) { state.tab = tab } diff --git a/Client/macos/Notch/NotchControls.swift b/Client/macos/Notch/NotchControls.swift index c9e06f0..8762253 100644 --- a/Client/macos/Notch/NotchControls.swift +++ b/Client/macos/Notch/NotchControls.swift @@ -11,14 +11,15 @@ struct NotchSwitch: View { let set: (Bool) -> Void @Environment(\.isEnabled) private var isEnabled + @Environment(\.notchScale) private var s var body: some View { Button { set(!isOn) } label: { ZStack(alignment: isOn ? .trailing : .leading) { Capsule().fill(isOn ? Color.green : Color(white: 0.3)) - Circle().fill(Color.white).padding(2) + Circle().fill(Color.white).padding(2 * s) } - .frame(width: 30, height: 18) + .frame(width: 30 * s, height: 18 * s) .animation(.spring(response: 0.25, dampingFraction: 0.8), value: isOn) } .buttonStyle(PressableButtonStyle()) @@ -33,15 +34,16 @@ struct NotchSwitch: View { struct NotchPillButton: View { let title: String let action: () -> Void + @Environment(\.notchScale) private var s var body: some View { Button(action: action) { Text(title) - .font(.system(size: 12, weight: .medium)) + .font(.system(size: 12 * s, weight: .medium)) .foregroundColor(.white) .lineLimit(1) - .padding(.horizontal, 12) - .padding(.vertical, 5) + .padding(.horizontal, 12 * s) + .padding(.vertical, 5 * s) .background(Capsule().fill(Color(white: 0.22))) .contentShape(Capsule()) } diff --git a/Client/macos/Notch/NotchGeometry.swift b/Client/macos/Notch/NotchGeometry.swift index 24c6d6b..8f413c5 100644 --- a/Client/macos/Notch/NotchGeometry.swift +++ b/Client/macos/Notch/NotchGeometry.swift @@ -10,18 +10,65 @@ struct ScreenMetrics: Equatable { var menuBarHeight: CGFloat // frame.maxY - visibleFrame.maxY (0 when the menu bar auto-hides) } +// The sizes the user can set under Options › Notch Size, clamped to what the notch content can hold. +struct NotchLayout: Equatable { + static let widthRange: ClosedRange = 280...480 + static let heightRange: ClosedRange = 156...260 + static let sideRange: ClosedRange = 28...60 + static let zoomRange: ClosedRange = 0.85...1.3 + static let artworkRange: ClosedRange = 16...30 + static let `default` = NotchLayout(openSize: CGSize(width: 300, height: 166), sideExtension: 36, zoom: 1, + restingArtwork: 24) + + // The open size the player needs at zoom 1, and the side width a resting icon needs. + private static let contentMinimum = CGSize(width: 280, height: 156) + private static let restingItemMinimum: CGFloat = 30 + + let openSize: CGSize // open notch, notch height included + let sideExtension: CGFloat // resting widening on each side + let zoom: CGFloat // text and icon size asked for + let restingArtwork: CGFloat // artwork size on the closed notch, asked for + + init(openSize: CGSize, sideExtension: CGFloat, zoom: CGFloat, restingArtwork: CGFloat = 24) { + self.openSize = CGSize(width: Self.clamp(openSize.width, Self.widthRange), + height: Self.clamp(openSize.height, Self.heightRange)) + self.sideExtension = Self.clamp(sideExtension, Self.sideRange) + self.zoom = Self.clamp(zoom, Self.zoomRange) + self.restingArtwork = Self.clamp(restingArtwork, Self.artworkRange) + } + + // Closed-notch artwork size actually drawn: 2 pt clear of the notch's top and bottom, 3 pt of each side. + func restingArtworkSize(notchHeight: CGFloat) -> CGFloat { + min(restingArtwork, notchHeight - 4, sideExtension - 6) + } + + // Zoom applied to the open content: lowered when the chosen size couldn't hold the content at that zoom. + var contentScale: CGFloat { + min(zoom, openSize.width / Self.contentMinimum.width, openSize.height / Self.contentMinimum.height) + } + + // Zoom applied to the resting artwork and icons, lowered to fit the side width. + var restingScale: CGFloat { + min(zoom, sideExtension / Self.restingItemMinimum) + } + + private static func clamp(_ value: CGFloat, _ range: ClosedRange) -> CGFloat { + min(range.upperBound, max(range.lowerBound, value)) + } +} + // Where the notch panel goes (spec §4): the real notch, or a simulated pill centred at the top of a screen // without one. Every rect shares the notch's horizontal centre and touches the top edge of the screen. struct NotchGeometry: Equatable { - static let sideExtension: CGFloat = 36 // resting widening on each side (states 1-3) static let simulatedWidth: CGFloat = 190 // pill width on a screen without a notch static let fallbackMenuBarHeight: CGFloat = 24 // pill height when the menu bar auto-hides - static let openSize = CGSize(width: 300, height: 166) let hasNotch: Bool let notch: CGRect + let layout: NotchLayout - init(screen: ScreenMetrics) { + init(screen: ScreenMetrics, layout: NotchLayout = .default) { + self.layout = layout let top = screen.frame.maxY if screen.safeAreaTop > 0, let left = screen.auxiliaryTopLeft, let right = screen.auxiliaryTopRight, screen.frame.width - left.width - right.width > 0 { @@ -39,12 +86,17 @@ struct NotchGeometry: Equatable { // The notch widened on both sides, to hold the resting artwork / mode icons. var extended: CGRect { - notch.insetBy(dx: -Self.sideExtension, dy: 0) + notch.insetBy(dx: -layout.sideExtension, dy: 0) + } + + // The right widening while resting: the music control (level bars, next / play on hover). + var restingTrailingZone: CGRect { + CGRect(x: extended.maxX - layout.sideExtension, y: notch.minY, width: layout.sideExtension, height: notch.height) } var open: CGRect { - let width = max(Self.openSize.width, extended.width) - let height = max(Self.openSize.height, notch.height) + let width = max(layout.openSize.width, extended.width) + let height = max(layout.openSize.height, notch.height) return CGRect(x: notch.midX - width / 2, y: notch.maxY - height, width: width, height: height) } diff --git a/Client/macos/Notch/NotchMotion.swift b/Client/macos/Notch/NotchMotion.swift index f9795df..36700c7 100644 --- a/Client/macos/Notch/NotchMotion.swift +++ b/Client/macos/Notch/NotchMotion.swift @@ -51,6 +51,18 @@ struct PressableButtonStyle: ButtonStyle { } } +// Text and icon zoom inside the notch (Options › Notch Size › Text Size, already limited to what fits). +private struct NotchScaleKey: EnvironmentKey { + static let defaultValue: CGFloat = 1 +} + +extension EnvironmentValues { + var notchScale: CGFloat { + get { self[NotchScaleKey.self] } + set { self[NotchScaleKey.self] = newValue } + } +} + extension View { // SF Symbol swaps (play ↔ pause) morph on macOS 14+; older systems cross-fade. @ViewBuilder func symbolReplaceTransition() -> some View { diff --git a/Client/macos/Notch/NotchView.swift b/Client/macos/Notch/NotchView.swift index 303b318..947be91 100644 --- a/Client/macos/Notch/NotchView.swift +++ b/Client/macos/Notch/NotchView.swift @@ -5,11 +5,16 @@ import SwiftUI final class NotchViewState: ObservableObject { @Published var isOpen = false @Published var openContentMounted = false // true while open, and while the closing animation plays + @Published var trailingHovered = false // pointer over the resting music control @Published var resting: NotchRestingState = .empty @Published var tab: NotchTab = .music @Published var restingSize: CGSize = .zero @Published var openSize: CGSize = .zero @Published var notchHeight: CGFloat = 32 + @Published var sideExtension = NotchLayout.default.sideExtension + @Published var contentScale: CGFloat = 1 // text and icon zoom, open notch + @Published var restingScale: CGFloat = 1 // same, resting icons + @Published var restingArtworkSize = NotchLayout.default.restingArtwork } // Merges with the notch: the top corners flare out into the menu bar (concave, `topRadius` wide on each side, @@ -62,6 +67,7 @@ struct NotchView: View { // past the edges) while the spring animates. Grows in with a transition; shrinks out through the // modifier below, since SwiftUI skipped the removal transition (content vanished at once). openContent + .environment(\.notchScale, state.contentScale) .padding(.top, state.notchHeight) .frame(width: state.openSize.width, height: state.openSize.height) .modifier(FadeScale(amount: state.isOpen ? 0 : 1, scale: NotchMotion.morphScale)) @@ -71,6 +77,7 @@ struct NotchView: View { // Always mounted and faded on isOpen: an inserted resting strip (transition) didn't come back after // a close while the open content was still mounted. restingContent + .environment(\.notchScale, state.restingScale) .opacity(state.isOpen ? 0 : 1) .animation(NotchMotion.resting(open: state.isOpen), value: state.isOpen) .allowsHitTesting(!state.isOpen) @@ -87,9 +94,9 @@ struct NotchView: View { private var restingContent: some View { HStack(spacing: 0) { - leadingItem.frame(width: NotchGeometry.sideExtension) + leadingItem.frame(width: state.sideExtension) Spacer(minLength: 0) - trailingItem.frame(width: NotchGeometry.sideExtension) + trailingItem.frame(width: state.sideExtension) } // Explicit width: while the (wider) open content is still mounted during a close, the strip otherwise // took the open width, so the artwork and mode icon sat outside the shape (cut off), then jumped back. @@ -99,9 +106,9 @@ struct NotchView: View { @ViewBuilder private var leadingItem: some View { switch state.resting { case .musicAndHeadphones, .musicOnly: - ArtworkView(image: music.artwork, size: 20, cornerRadius: 5) + ArtworkView(image: music.artwork, size: state.restingArtworkSize, cornerRadius: state.restingArtworkSize * 0.25) case .headphonesOnly: - Image(systemName: "headphones").font(.system(size: 13)).foregroundColor(.white) + Image(systemName: "headphones").font(.system(size: 13 * state.restingScale)).foregroundColor(.white) case .empty: EmptyView() } @@ -109,10 +116,10 @@ struct NotchView: View { @ViewBuilder private var trailingItem: some View { switch state.resting { - case .musicAndHeadphones, .headphonesOnly: - Image(systemName: Self.modeSymbol(model.mode)).font(.system(size: 13)).foregroundColor(.white) - case .musicOnly: - LevelBars(animating: music.nowPlaying?.isPlaying == true, color: music.artworkTint) + case .musicAndHeadphones, .musicOnly: + RestingMusicControl(music: music, hovered: state.trailingHovered) + case .headphonesOnly: + Image(systemName: Self.modeSymbol(model.mode)).font(.system(size: 13 * state.restingScale)).foregroundColor(.white) case .empty: EmptyView() } @@ -135,9 +142,9 @@ struct NotchView: View { page(.music) { MusicTab(music: music, showHeadphones: { selectTab(.headphones) }) } page(.headphones) { HeadphonesTab(model: model, back: { selectTab(.music) }) } } - .padding(.top, 8) - .padding(.horizontal, Self.openFlare + 16) - .padding(.bottom, 14) + .padding(.top, 8 * state.contentScale) + .padding(.horizontal, Self.openFlare + 16 * state.contentScale) + .padding(.bottom, 14 * state.contentScale) } // The player slides off to the left, the headphones page comes in from the right (and back). No blur: it @@ -180,22 +187,54 @@ struct ArtworkView: View { } } +// Right side of the resting notch while music is loaded: the level bars in the artwork's colour, replaced on +// hover by "next track" while playing, or "play" while paused. +struct RestingMusicControl: View { + @ObservedObject var music: MusicController + let hovered: Bool + @Environment(\.notchScale) private var s + + var body: some View { + let playing = music.nowPlaying?.isPlaying == true + ZStack { + LevelBars(animating: playing && !hovered, color: music.artworkTint) + .modifier(FadeScale(amount: hovered ? 1 : 0, scale: 0.6)) + Button { + if playing { music.next() } else { music.playPause() } + } label: { + Image(systemName: playing ? "forward.fill" : "play.fill") + .font(.system(size: 13 * s)) + .foregroundColor(.white) + .symbolReplaceTransition() + .frame(width: 30 * s, height: 26 * s) + .contentShape(Rectangle()) + } + .buttonStyle(PressableButtonStyle()) + .accessibilityLabel(playing ? tr("Next track") : tr("Play or pause")) + .modifier(FadeScale(amount: hovered ? 0 : 1, scale: 0.6)) + .allowsHitTesting(hovered) + .animation(NotchMotion.content, value: playing) + } + } +} + // Four small bars in the artwork's colour, moving while music plays, frozen when paused. struct LevelBars: View { let animating: Bool var color: NSColor? + @Environment(\.notchScale) private var s var body: some View { TimelineView(.animation(minimumInterval: 1.0 / 30, paused: !animating)) { context in let time = context.date.timeIntervalSinceReferenceDate - HStack(alignment: .bottom, spacing: 2) { + HStack(alignment: .bottom, spacing: 2 * s) { ForEach(0..<4, id: \.self) { index in Capsule() .fill(color.map(Color.init(nsColor:)) ?? Color(white: 0.85)) - .frame(width: 3, height: animating ? 4 + 10 * abs(sin(time * 3 + Double(index) * 1.3)) : 4) + .frame(width: 3 * s, height: (animating ? 4 + 10 * abs(sin(time * 3 + Double(index) * 1.3)) : 4) * s) } } - .frame(height: 14, alignment: .bottom) + .frame(height: 14 * s, alignment: .bottom) .animation(.easeOut(duration: 0.3), value: animating) } } diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index e797f05..e73489b 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -76,3 +76,10 @@ "Voice" = "Voix"; "NC" = "Réduction"; "Ambient" = "Ambiant"; +"Notch Size" = "Taille de l’encoche"; +"Open Width" = "Largeur ouverte"; +"Open Height" = "Hauteur ouverte"; +"Closed Width" = "Largeur fermée"; +"Text Size" = "Taille du texte"; +"Reset Size" = "Réinitialiser"; +"Closed Artwork" = "Pochette (fermée)"; diff --git a/Client/tests/LogicTests/main.swift b/Client/tests/LogicTests/main.swift index a218394..19e53cb 100644 --- a/Client/tests/LogicTests/main.swift +++ b/Client/tests/LogicTests/main.swift @@ -53,6 +53,36 @@ do { check(geometry.open == CGRect(x: 606, y: 816, width: 300, height: 166), "open rect was \(geometry.open)") check(geometry.restingFrame(for: .empty) == geometry.notch, "empty state: bare notch") check(geometry.restingFrame(for: .musicOnly) == geometry.extended, "music: extended notch") + check(geometry.restingTrailingZone == CGRect(x: 850, y: 950, width: 36, height: 32), + "resting trailing zone was \(geometry.restingTrailingZone)") +} + +// NotchLayout: user sizes are clamped; the zoom never lays the open content out smaller than it needs. +do { + let clamped = NotchLayout(openSize: CGSize(width: 100, height: 1000), sideExtension: 5, zoom: 3) + check(clamped.openSize == CGSize(width: 280, height: 260), "open size clamped, was \(clamped.openSize)") + check(clamped.sideExtension == 28 && clamped.zoom == 1.3, "side and zoom clamped") + check(clamped.contentScale == 1, "zoom limited by the width, was \(clamped.contentScale)") + let roomy = NotchLayout(openSize: CGSize(width: 400, height: 240), sideExtension: 60, zoom: 1.2) + check(roomy.contentScale == 1.2 && roomy.restingScale == 1.2, "zoom applied when the notch is large enough") + let narrowSides = NotchLayout(openSize: NotchLayout.default.openSize, sideExtension: 30, zoom: 1.3) + check(narrowSides.restingScale == 1, "resting icons limited by the side width, was \(narrowSides.restingScale)") + check(NotchLayout.default.contentScale == 1 && NotchLayout.default.restingScale == 1, "default: no zoom") + check(NotchLayout.default.restingArtworkSize(notchHeight: 32) == 24, "default resting artwork") + let bigArtwork = NotchLayout(openSize: NotchLayout.default.openSize, sideExtension: 36, zoom: 1, restingArtwork: 40) + check(bigArtwork.restingArtwork == 30, "resting artwork clamped, was \(bigArtwork.restingArtwork)") + check(bigArtwork.restingArtworkSize(notchHeight: 32) == 28, "resting artwork fits the notch height") + let thinSides = NotchLayout(openSize: NotchLayout.default.openSize, sideExtension: 28, zoom: 1, restingArtwork: 30) + check(thinSides.restingArtworkSize(notchHeight: 32) == 22, "resting artwork fits the side width") + + let screen = ScreenMetrics(frame: CGRect(x: 0, y: 0, width: 1512, height: 982), safeAreaTop: 32, + auxiliaryTopLeft: CGRect(x: 0, y: 950, width: 662, height: 32), + auxiliaryTopRight: CGRect(x: 850, y: 950, width: 662, height: 32), + menuBarHeight: 32) + let geometry = NotchGeometry(screen: screen, layout: roomy) + check(geometry.extended == CGRect(x: 602, y: 950, width: 308, height: 32), "custom extended was \(geometry.extended)") + check(geometry.open == CGRect(x: 556, y: 742, width: 400, height: 240), "custom open was \(geometry.open)") + check(geometry.restingTrailingZone == CGRect(x: 850, y: 950, width: 60, height: 32), "custom trailing zone") } // NotchGeometry: an external screen without a notch, right of the primary screen. diff --git a/README.md b/README.md index db26a7d..2c15888 100644 --- a/README.md +++ b/README.md @@ -1,80 +1,74 @@ -
+# SonyBridge -SonyBridge +**Control your Sony headphones from your Mac's menu bar and notch, without the phone app.** -
+SonyBridge is a native macOS app for Sony Bluetooth headphones: noise cancelling, ambient sound, equalizer, +battery and more, from a menu bar menu, plus a notch panel that shows the music playing in Spotify and your +headphones' sound mode. -**An unofficial, open-source macOS menu bar app for Sony headphones — Noise Cancelling, Ambient Sound, EQ, DSEE and battery, without the phone.** +It talks to the headphones directly over Bluetooth, so you don't need Sony's *Sound Connect* phone app. -
+[Features](#features) · [The notch](#the-notch) · [Install](#install) · [Supported headphones](#supported-headphones) · [Build from source](#build-from-source) · [How it works](#how-it-works) · [Troubleshooting](#troubleshooting) -[![Build](https://github.com/flotttt/SonyBridge/actions/workflows/build.yml/badge.svg)](https://github.com/flotttt/SonyBridge/actions/workflows/build.yml) -[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE) -![Platforms](https://img.shields.io/badge/platform-macOS-blue) - -
- -**[Features](#-features)** · **[Install](#-install)** · **[Usage](#-usage)** · **[Supported headphones](#-supported-headphones)** · **[Build from source](#-build-from-source)** · **[Contributing](#-contributing)** · **[Credits](#-credits)** - -
- -*Screenshots of the menu bar app are coming — for now, see the [Usage](#-usage) section below for what to expect.* +--- -
+## Features ---- +### In the menu bar -## Why +- **Sound modes:** Noise Cancelling, Ambient Sound (level slider and Focus on Voice) and Off. The menu follows + the headphones' own NC button live. +- **Equalizer:** presets and a Manual mode with one slider per band (5 bands + Clear Bass on older models). + On the WH-1000XM6 the 10-band equalizer is shown but read-only for now. +- **Other settings**, only when your model has them: DSEE, Speak-to-Chat, Adaptive Volume, Auto Power-Off. +- **Battery:** live percentage, per earbud and case on true-wireless models. +- **About the Headphones:** firmware, codec, protocol version and Bluetooth address. +- **Connection:** connects automatically at launch and when the headphones join the Mac, reconnects if the + link drops, and can launch at login. +- **Languages:** English and French, following your macOS language. -Sony locks headphone settings behind their mobile-only *Sound Connect* app. If you live on a laptop, -you're stuck. SonyBridge talks to the headphones directly over Bluetooth RFCOMM using Sony's -reverse-engineered binary protocol — no phone required. It lives entirely in your macOS menu bar: no -Dock icon, no window, just a native menu. +The menu bar icon shows the current sound mode and dims while disconnected. -The original [SonyHeadphonesClient](https://github.com/Plutoberth/SonyHeadphonesClient) only spoke Sony's -**first-generation** protocol, so newer headsets (WH-CH720N, WH-1000XM5/XM6, WF-series, LinkBuds…) just timed -out on connect. SonyBridge adds full **second-generation ("v2") protocol** support and a native macOS -menu bar app, built with AppKit/SwiftUI. +### The notch -## ✨ Features +Hover the notch at the top of a MacBook screen and it unfolds into a small player. On a screen without a +notch, the same panel sits in a black pill at the top centre. -**Sound modes** -- 🎚️ **Ambient Sound Control** — Noise Cancelling · Ambient Sound (with a 1–20 level slider (1–19 on older models) and a Focus on Voice switch) · Off -- 🔄 **Live button sync** — following the headset's own NC button live, even while the menu is open +**Closed**, the notch shows what's going on at a glance: -**Notch** -- 🏝️ **Notch panel** — hover the MacBook notch (or a black pill at the top of screens without one) to control the music playing in **Spotify** (artwork, play/pause, previous/next, seek, shuffle, volume) and, behind its headphones button, switch Noise Cancelling / Ambient Sound / Off. Turn it off with **Show Notch** under **SonyBridge Options** +- the album artwork on the left; +- on the right, small bars in the artwork's colour that move while music plays. Hover them for a + **next track** button, or a **play** button when the music is paused; +- without music, a headphones icon on the left and the current sound mode on the right. -**Equalizer** -- 🎛️ **Equalizer** — presets *and* a **Manual mode** with vertical sliders (5 bands + Clear Bass on older models). The **WH-1000XM6**'s 10-band equalizer is read and displayed; changing the equalizer (presets and Manual) is coming in a later update — its write format isn't verified yet, so the presets and sliders are greyed out with a "coming soon" note +**Open**, it's a music player for the **Spotify** desktop app: -**Other settings** *(each shown only if your headset supports it)* -- ✨ **DSEE** — Sony's audio upscaling for compressed sources -- 🗣️ **Speak-to-Chat** and **Adaptive Volume** -- ⏱️ **Auto Power-Off** — Off, 5 min, 30 min, 1 hour, 3 hours, or when taken off +- artwork, title and artist; +- elapsed time, a progress bar you can click or drag to seek, and the track length; +- previous, play/pause, next and shuffle; +- a volume button that swaps the progress bar for Spotify's volume for a few seconds; +- a headphones button that slides to the **headphones page**: Noise Cancelling / Ambient / Off, ambient + level and Focus on Voice. -**Battery & info** -- 🔋 **Battery level** — live percentage, including **per-earbud + case** for TWS models -- 🎧 **About the Headphones** — firmware, codec, protocol, and Bluetooth address +It opens and closes with a spring animation and never takes the keyboard from the app you're using. -**Automatic connection** -- 📍 **Lives in the menu bar** — a native macOS menu; the icon shows the current mode and dims when disconnected -- 🔌 **Connect Automatically** (on by default) — at launch and whenever your headset connects to the Mac -- 🔁 **Reconnect Automatically** (on by default) — retries if the control link drops while the headset is still connected, backing off from 3 s up to every 60 s -- 🚀 **Launch at Login** (off by default) — uses macOS Login Items +**Make it yours** under **SonyBridge Options › Notch Size**: open width and height, closed width, artwork +size on the closed notch, and text size. Changes apply live and are remembered; the layout adapts so +nothing overlaps (the artwork grows with the height, text size is capped to what fits). **Show Notch** +turns the whole thing off. -**Languages** -- 🌍 **English & French** — follows your macOS language +Spotify is controlled locally through macOS automation. No Spotify account or login is involved, and +SonyBridge never opens Spotify by itself. -## 📥 Install +## Install -**Requirements:** macOS 13 or later, and the Xcode **Command Line Tools** (no full Xcode app needed): +You need **macOS 13 or later** and Apple's **Command Line Tools** (the full Xcode app isn't needed): ```sh xcode-select --install ``` -Then: +Then build and install: ```sh git clone https://github.com/flotttt/SonyBridge.git @@ -82,121 +76,93 @@ cd SonyBridge make install ``` -`make install` builds a release version, quits SonyBridge if it's running, and installs it to -`/Applications/SonyBridge.app`. Afterwards, launch it from Launchpad, Spotlight, or Finder. - -> 💡 On first launch, macOS asks for **Bluetooth permission** — allow it, otherwise SonyBridge can't -> talk to your headphones. Pair and connect your headphones in macOS **Bluetooth settings** first. -> -> 🎵 With the notch on, macOS also asks whether SonyBridge may **control Spotify** — allow it to see and -> control your music from the notch (Spotify's own desktop app, no account needed). - -**To update:** pull the latest changes and run `make install` again. +`make install` builds a release version, quits SonyBridge if it's running, and copies it to +`/Applications/SonyBridge.app`. Open it from Spotlight, Launchpad or Finder. -**To uninstall:** quit SonyBridge, then drag `/Applications/SonyBridge.app` to the Trash. If you turned -on **Launch at Login**, turn it off first (from the SonyBridge Options menu) so macOS doesn't keep a -stale login item around. +On first launch: -## 🕹️ Usage +1. Pair and connect your headphones in **System Settings › Bluetooth**. +2. Allow **Bluetooth** access when macOS asks, or SonyBridge can't reach the headphones. +3. With Spotify open, allow SonyBridge to **control Spotify** when macOS asks, for the notch player. -Click the SonyBridge icon in the menu bar to open the menu. If nothing is connected yet, choose -**Connect…** — it uses the Sony headset already connected to macOS, or opens the macOS Bluetooth picker -if none is connected yet. +**Update:** `git pull`, then `make install` again. -From the menu you can: -- switch **sound modes** (Noise Cancelling / Ambient Sound / Off) and, in Ambient Sound, adjust the level and Focus on Voice; -- pick an **Equalizer** preset or dial in a **Manual** curve; -- toggle **DSEE**, **Speak-to-Chat**, and **Adaptive Volume** (only the ones your model supports); -- set **Auto Power-Off**; -- check the battery level in the menu's header, and the firmware, codec and protocol under **About the Headphones**; -- hover the **notch** to control Spotify and switch sound modes without opening the menu; -- turn **Launch at Login**, **Connect Automatically**, **Reconnect Automatically**, and **Show Notch** on or off under **SonyBridge Options**; -- **Disconnect** (SonyBridge then stays disconnected until you click **Connect…** again or — with **Connect Automatically** on — the headset reconnects to your Mac) or **Quit SonyBridge** (⌘Q). +**Uninstall:** turn off **Launch at Login** if you enabled it, quit SonyBridge, and move +`/Applications/SonyBridge.app` to the Trash. -## 🎧 Supported headphones +## Supported headphones -| Status | Devices | -|--------|---------| -| ✅ **Verified** | WH-CH720N, Sony ULT WEAR (WH-ULT900N), WH-1000XM6 | -| 🟢 **Expected** (v2, over-ear — NC/Ambient/battery/EQ) | WH-1000XM5, WH-XB910N, WH-CH520 | -| 🟡 **v2 earbuds** (controls work; battery format differs) | WF-1000XM4, WF-1000XM5, WF-C700N, LinkBuds S | -| 🔵 **Legacy** (v1 protocol — NC/Ambient only) | WH-1000XM4, WH-1000XM3, WH-1000XM2, WH-XB900N, MDR-XB950BT | +| Status | Models | +|---|---| +| Tested on real hardware | WH-1000XM6, WH-CH720N, Sony ULT WEAR (WH-ULT900N) | +| Expected to work (same protocol) | WH-1000XM5, WH-XB910N, WH-CH520 | +| Earbuds: controls work, battery format differs | WF-1000XM4, WF-1000XM5, WF-C700N, LinkBuds S | +| Older protocol: sound modes only | WH-1000XM4, WH-1000XM3, WH-1000XM2, WH-XB900N, MDR-XB950BT | -> The Verified models are hardware-tested. Others share the same protocol family, so the basics should -> work — per-model quirks are untested. Reports and PRs for other devices are very welcome. -> -> On the **WH-1000XM6**, changing the equalizer (presets and Manual) is coming in a later update (reading -> its 10-band equalizer already works). +Only the first row has been tested. If you try another model, an issue telling how it went is very welcome. -## 🚀 Build from source - -Requires the **Xcode Command Line Tools** (`xcode-select --install`) — the full Xcode app is not needed. +## Build from source ```sh -git clone https://github.com/flotttt/SonyBridge.git -cd SonyBridge make # debug build → build/SonyBridge.app -make run # builds and launches the app (add DEBUG=1 to log every protocol frame) +make run # build and launch (add DEBUG=1 to log every Bluetooth frame) make test # unit tests + translation check -make release # universal (Apple Silicon + Intel) build, zipped to build/SonyBridge.zip +make release # universal build (Apple Silicon + Intel), zipped to build/SonyBridge.zip +make install # release build installed to /Applications make clean # remove build/ ``` -`make run DEBUG=1` logs every frame exchanged with the headphones to -`~/Library/Logs/SonyBridge/app.log` (`build/app.log` is a symlink to it). +The log goes to `~/Library/Logs/SonyBridge/app.log` (`build/app.log` links to it). + +Always start the app through `open`, Finder or the `make` targets. Running +`Contents/MacOS/SonyBridge` directly makes macOS's privacy protection close it on its first Bluetooth access. -> ⚠️ Always launch SonyBridge through `open`, Finder, or `make run`/`make install` — never by running -> `Contents/MacOS/SonyBridge` directly, or macOS's privacy protection can close the app. +The app is Swift (AppKit + SwiftUI) on top of a C++ protocol core. The code is in `Client/`: `Client/macos` +holds the app, and the notch lives in `Client/macos/Notch` and `Client/macos/Music`. -## 🔬 How it works +## How it works -Sony headphones expose a vendor RFCOMM/SPP service. Commands are framed as: +Sony headphones expose a vendor Bluetooth serial (RFCOMM) service. Every command is a small binary frame: ``` - ESCAPE( <4-byte BE length> ) + ESCAPE( <4-byte big-endian length> ) ``` -Two protocol generations exist, distinguished by their SDP service UUID: - -- **v1** — `96CC203E-…` — WH-1000XM4 and older (WH-1000XM3, WH-1000XM2, WH-XB900N…) -- **v2** — `956C7B26-…` — WH-CH720N, Sony ULT WEAR, WH-1000XM5/XM6, WF-series, LinkBuds… - -On every connect, SonyBridge looks for the v1 service first and falls back to v2 (it probes again each -time rather than remembering the result). The v2 path adds the mandatory -init handshake and per-frame host-ACK the newer devices require, plus battery, EQ and DSEE inquiry commands. -Protocol byte layouts were cross-referenced against -[**GadgetBridge**](https://codeberg.org/Freeyourgadget/Gadgetbridge)'s Sony implementation. - -## 🛠️ Troubleshooting +There are two generations of this protocol, told apart by their service UUID: -- **SonyBridge doesn't see my headphones** — pair and connect them in macOS **Bluetooth settings** first, then use **Connect…** in the menu. -- **No Bluetooth permission prompt, or you denied it** — macOS asks for Bluetooth access on first launch; allow it, or SonyBridge can't talk to your headphones. -- **The menu bar icon is missing** — on MacBooks with a notch, the icon can be hidden when the menu bar is full. Free up some room (quit or hide other menu bar icons). -- **Controls stopped responding** — click **Disconnect** then **Connect…** in the menu, or turn the headphones off and on. -- **The app quits itself right after opening** — launch it through `open`, Finder, Launchpad, Spotlight, or `make run`/`make install`, not by running `Contents/MacOS/SonyBridge` directly; macOS's privacy protection can close apps launched that way. +- **v1** (`96CC203E-…`): WH-1000XM4 and older; +- **v2** (`956C7B26-…`): WH-1000XM5/XM6, WH-CH720N, ULT WEAR, WF series, LinkBuds. -## 🤝 Contributing +SonyBridge looks for v1 first and falls back to v2. The v2 path adds the start-up handshake and the +acknowledgement every frame needs, plus the battery, equalizer and DSEE commands. Byte layouts were +cross-checked against [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge)'s Sony support. -Contributions are very welcome — especially **device reports** and **testing on real hardware**. +The notch reads Spotify through the notification the Spotify app posts on every playback change and +through AppleScript for artwork, volume and shuffle. Nothing is polled while the notch is closed. -- 🐛 **Found a bug / have a device to report?** [Open an issue](https://github.com/flotttt/SonyBridge/issues/new) with your model and what happened. -- 🧪 **Want to test?** Build it from source (`make install`) and tell us how it behaves on your headset (a screenshot helps a lot). -- 🔧 **Code?** Fork, branch, and open a PR against `main`. CI builds the macOS app on every PR. +## Troubleshooting -## 🙏 Credits +- **SonyBridge doesn't find the headphones:** connect them in macOS Bluetooth settings first, then choose + **Connect…** in the menu. +- **Nothing happens, no Bluetooth prompt:** check System Settings › Privacy & Security › Bluetooth. +- **The notch shows "SonyBridge isn't allowed to control Spotify":** click **Open Settings** and enable + Spotify under Automation › SonyBridge. +- **The menu bar icon is missing:** on notched MacBooks a crowded menu bar hides icons; quit or hide a few. +- **Controls stopped responding:** **Disconnect** then **Connect…**, or turn the headphones off and on. +- **The app closes right after opening:** launch it through Finder, Spotlight or `make run`, not the binary. -SonyBridge builds directly on the work of: +## Origins -- [**SonyBridge**](https://github.com/AmitRajput-Dev/SonyBridge) by AmitRajput-Dev — the original SonyBridge project this fork builds on -- [**SonyHeadphonesClient**](https://github.com/Plutoberth/SonyHeadphonesClient) by Plutoberth, Mr-M33533K5 & contributors — the original cross-platform client and protocol foundation -- [**semvis123**](https://github.com/semvis123) — the original macOS port -- [**GadgetBridge**](https://codeberg.org/Freeyourgadget/Gadgetbridge) — reverse-engineered v2 protocol reference +SonyBridge started as a fork of [AmitRajput-Dev/SonyBridge](https://github.com/AmitRajput-Dev/SonyBridge), +itself based on [SonyHeadphonesClient](https://github.com/Plutoberth/SonyHeadphonesClient) (Plutoberth, +semvis123's macOS port and contributors). It has since been reworked into its own app: menu bar interface, +v2 protocol support, automatic connection, the notch and Spotify player. -## ⚠️ Disclaimer +## Disclaimer -This project is **not affiliated with, endorsed by, or connected to Sony**. It talks to your headphones -using a reverse-engineered protocol, for interoperability. Use at your own risk. +Not affiliated with, endorsed by or connected to Sony. SonyBridge uses a reverse-engineered protocol for +interoperability; use it at your own risk. -## 📄 License +## License -[MIT](LICENSE) — original copyright retained; see [Credits](#-credits). +[MIT](LICENSE). The original copyright notice is kept as the license requires. From 4f758f19f6106c6d16c52f436c7e6d079f4574d8 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 14:00:31 +0200 Subject: [PATCH 28/31] chore: rename to SonyNotch, automatic releases, README rewrite Co-Authored-By: Claude Opus 5 (1M context) --- .github/workflows/build.yml | 4 +- .github/workflows/release.yml | 45 ++ Client/Constants.h | 2 +- Client/macos/HeadphonesBridge.mm | 2 +- Client/macos/HeadphonesMenu.swift | 4 +- Client/macos/MenuRows/HeaderRow.swift | 2 +- Client/macos/Music/MusicSource.swift | 2 +- Client/macos/Music/SpotifyLocalSource.swift | 2 +- Client/macos/Notch/MusicTab.swift | 2 +- .../macos/SonyHeadphonesClient.entitlements | 2 +- ...SonyBridgeApp.swift => SonyNotchApp.swift} | 6 +- Client/macos/StatusIcon.swift | 4 +- Client/macos/en.lproj/InfoPlist.strings | 2 +- Client/macos/fr.lproj/InfoPlist.strings | 4 +- Client/macos/fr.lproj/Localizable.strings | 8 +- Client/macos/info.plist | 8 +- Makefile | 21 +- README.md | 213 ++++----- docs/banner.svg | 34 -- docs/connected.png | Bin 259275 -> 0 bytes docs/disconnected.png | Bin 57505 -> 0 bytes docs/index.html | 427 ------------------ scripts/build.sh | 12 +- 23 files changed, 189 insertions(+), 617 deletions(-) create mode 100644 .github/workflows/release.yml rename Client/macos/{SonyBridgeApp.swift => SonyNotchApp.swift} (90%) delete mode 100644 docs/banner.svg delete mode 100644 docs/connected.png delete mode 100644 docs/disconnected.png delete mode 100644 docs/index.html diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e2afbf9..e4cdc56 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,5 +17,5 @@ jobs: run: make release - uses: actions/upload-artifact@v4 with: - name: SonyBridge-macOS - path: build/SonyBridge.zip + name: SonyNotch-macOS + path: build/SonyNotch.zip diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..6c14e9e --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,45 @@ +name: Release + +# Push a version tag to publish a release: +# git tag v1.0.0 && git push origin v1.0.0 +# The app gets its version from the tag, is tested and built for Apple Silicon and Intel, and the zip is attached +# to a GitHub release with its SHA-256 (used by the Homebrew cask). + +on: + push: + tags: ["v*.*.*"] + +permissions: + contents: write + +jobs: + release: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + + - name: Set the app version from the tag + run: | + VERSION="${GITHUB_REF_NAME#v}" + echo "VERSION=$VERSION" >> "$GITHUB_ENV" + /usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $VERSION" Client/macos/info.plist + /usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${{ github.run_number }}" Client/macos/info.plist + + - name: Test + run: make test + + - name: Build (release, universal) + run: make release + + - name: Checksum + run: | + cd build + shasum -a 256 SonyNotch.zip | tee SonyNotch.zip.sha256 + + - name: Publish the release + env: + GH_TOKEN: ${{ github.token }} + run: | + gh release create "$GITHUB_REF_NAME" build/SonyNotch.zip build/SonyNotch.zip.sha256 \ + --title "SonyNotch $VERSION" \ + --generate-notes diff --git a/Client/Constants.h b/Client/Constants.h index 839e7f5..e033218 100644 --- a/Client/Constants.h +++ b/Client/Constants.h @@ -72,7 +72,7 @@ enum class EQ_PRESET : unsigned char MANUAL = 0xa0 }; -#define APP_NAME "SonyBridge " __HEADPHONES_APP_VERSION__ +#define APP_NAME "SonyNotch " __HEADPHONES_APP_VERSION__ #define APP_NAME_W (L"" APP_NAME) using Buffer = std::vector; diff --git a/Client/macos/HeadphonesBridge.mm b/Client/macos/HeadphonesBridge.mm index f62f3fc..d24da39 100644 --- a/Client/macos/HeadphonesBridge.mm +++ b/Client/macos/HeadphonesBridge.mm @@ -76,7 +76,7 @@ - (instancetype)init { if ((self = [super init])) { _bt = std::make_unique(std::make_unique()); _generation = std::make_shared>(0); - _cmdQueue = dispatch_queue_create("com.sonybridge.commands", DISPATCH_QUEUE_SERIAL); + _cmdQueue = dispatch_queue_create("com.sonynotch.commands", DISPATCH_QUEUE_SERIAL); } return self; } diff --git a/Client/macos/HeadphonesMenu.swift b/Client/macos/HeadphonesMenu.swift index c459501..2d6d375 100644 --- a/Client/macos/HeadphonesMenu.swift +++ b/Client/macos/HeadphonesMenu.swift @@ -162,13 +162,13 @@ final class HeadphonesMenu { showNotchItem = ActionMenuItem(tr("Show Notch")) { [weak settings] in settings?.showNotch.toggle() } for item in [launchAtLoginItem, autoConnectItem, autoReconnectItem, showNotchItem] { optionsMenu.addItem(item) } optionsMenu.addItem(makeNotchSizeItem()) - let optionsItem = NSMenuItem(title: tr("SonyBridge Options"), action: nil, keyEquivalent: "") + let optionsItem = NSMenuItem(title: tr("SonyNotch Options"), action: nil, keyEquivalent: "") optionsItem.submenu = optionsMenu menu.addItem(optionsItem) connectItem = ActionMenuItem(tr("Connect…")) { [weak self] in self?.toggleConnection() } menu.addItem(connectItem) menu.addItem(.separator()) - menu.addItem(ActionMenuItem(tr("Quit SonyBridge"), key: "q") { NSApp.terminate(nil) }) + menu.addItem(ActionMenuItem(tr("Quit SonyNotch"), key: "q") { NSApp.terminate(nil) }) } // MARK: - Updating diff --git a/Client/macos/MenuRows/HeaderRow.swift b/Client/macos/MenuRows/HeaderRow.swift index 95e2ab4..8ef0951 100644 --- a/Client/macos/MenuRows/HeaderRow.swift +++ b/Client/macos/MenuRows/HeaderRow.swift @@ -7,7 +7,7 @@ struct HeaderRow: View { var body: some View { HStack(alignment: .center, spacing: 8) { VStack(alignment: .leading, spacing: 1) { - Text(model.deviceName.isEmpty ? "SonyBridge" : model.deviceName) + Text(model.deviceName.isEmpty ? "SonyNotch" : model.deviceName) .font(.system(size: 13, weight: .semibold)) Text(statusLine) .font(.system(size: 11)) diff --git a/Client/macos/Music/MusicSource.swift b/Client/macos/Music/MusicSource.swift index 567cdff..9172d79 100644 --- a/Client/macos/Music/MusicSource.swift +++ b/Client/macos/Music/MusicSource.swift @@ -2,7 +2,7 @@ import Foundation enum MusicSourceStatus: Equatable { case notRunning // the player app isn't open - case permissionDenied // macOS refused SonyBridge the right to control it + case permissionDenied // macOS refused SonyNotch the right to control it case ready } diff --git a/Client/macos/Music/SpotifyLocalSource.swift b/Client/macos/Music/SpotifyLocalSource.swift index 14ee7b4..d17b98d 100644 --- a/Client/macos/Music/SpotifyLocalSource.swift +++ b/Client/macos/Music/SpotifyLocalSource.swift @@ -18,7 +18,7 @@ final class SpotifyLocalSource: MusicSource { private var workspaceObservers: [NSObjectProtocol] = [] // Every NSAppleScript is created and run on this serial queue, one at a time. - private let scriptQueue = DispatchQueue(label: "com.sonybridge.spotify") + private let scriptQueue = DispatchQueue(label: "com.sonynotch.spotify") private var readScript: NSAppleScript? // scriptQueue only private var consentGranted = false // scriptQueue only diff --git a/Client/macos/Notch/MusicTab.swift b/Client/macos/Notch/MusicTab.swift index 8cad91a..df81f42 100644 --- a/Client/macos/Notch/MusicTab.swift +++ b/Client/macos/Notch/MusicTab.swift @@ -25,7 +25,7 @@ struct MusicTab: View { case .notRunning: message(tr("Spotify isn't open"), button: tr("Open Spotify")) { music.launchPlayer() } case .permissionDenied: - message(tr("SonyBridge isn't allowed to control Spotify."), button: tr("Open Settings")) { + message(tr("SonyNotch isn't allowed to control Spotify."), button: tr("Open Settings")) { music.openAutomationSettings() } case .ready: diff --git a/Client/macos/SonyHeadphonesClient.entitlements b/Client/macos/SonyHeadphonesClient.entitlements index c16fee2..cbf07bf 100644 --- a/Client/macos/SonyHeadphonesClient.entitlements +++ b/Client/macos/SonyHeadphonesClient.entitlements @@ -16,7 +16,7 @@
com.apple.security.temporary-exception.files.home-relative-path.read-write - /Library/Logs/SonyBridge/ + /Library/Logs/SonyNotch/ diff --git a/Client/macos/SonyBridgeApp.swift b/Client/macos/SonyNotchApp.swift similarity index 90% rename from Client/macos/SonyBridgeApp.swift rename to Client/macos/SonyNotchApp.swift index 746d012..d1d47bc 100644 --- a/Client/macos/SonyBridgeApp.swift +++ b/Client/macos/SonyNotchApp.swift @@ -2,17 +2,17 @@ import AppKit // Entry point: a menu bar-only app (LSUIElement), no window and no Dock icon. @main -enum SonyBridgeApp { +enum SonyNotchApp { static func main() { // The app is sandboxed, so it can only write inside the folder allowed by the // temporary-exception entitlement. `make run` points it at - // ~/Library/Logs/SonyBridge/app.log (allowed by that exception); `open --stderr` + // ~/Library/Logs/SonyNotch/app.log (allowed by that exception); `open --stderr` // fails on recent macOS, so the path is passed as a launch argument instead. // Redirect stderr to the log file in append mode (unbuffered for live DEBUG hex // dumps). freopen() closes stderr before it knows whether the reopen will // succeed, so a sandbox denial would leave stderr closed with nothing to fall // back to; open()+dup2() only touches stderr once we know the fd is valid. - if let logPath = UserDefaults.standard.string(forKey: "SonyBridgeLogFile") { + if let logPath = UserDefaults.standard.string(forKey: "SonyNotchLogFile") { let fd = open(logPath, O_WRONLY | O_CREAT | O_APPEND, 0o644) if fd >= 0 { dup2(fd, STDERR_FILENO) diff --git a/Client/macos/StatusIcon.swift b/Client/macos/StatusIcon.swift index fe938bb..478e907 100644 --- a/Client/macos/StatusIcon.swift +++ b/Client/macos/StatusIcon.swift @@ -12,8 +12,8 @@ enum StatusIcon { static func image(connected: Bool, mode: SHCAmbientMode) -> NSImage? { let name = connected ? symbolName(for: mode) : "headphones" - let image = NSImage(systemSymbolName: name, accessibilityDescription: "SonyBridge") - ?? NSImage(systemSymbolName: "headphones", accessibilityDescription: "SonyBridge") + let image = NSImage(systemSymbolName: name, accessibilityDescription: "SonyNotch") + ?? NSImage(systemSymbolName: "headphones", accessibilityDescription: "SonyNotch") image?.isTemplate = true // macOS tints it for light/dark menu bars return image } diff --git a/Client/macos/en.lproj/InfoPlist.strings b/Client/macos/en.lproj/InfoPlist.strings index 4282684..ab254ce 100644 --- a/Client/macos/en.lproj/InfoPlist.strings +++ b/Client/macos/en.lproj/InfoPlist.strings @@ -1,3 +1,3 @@ /* Localized Info.plist values (English). Keeps an en.lproj in the bundle so non-French systems fall back to English. */ "NSBluetoothAlwaysUsageDescription" = "This app uses Bluetooth in order to connect to your headphones."; -"NSAppleEventsUsageDescription" = "SonyBridge shows and controls the music playing in Spotify."; +"NSAppleEventsUsageDescription" = "SonyNotch shows and controls the music playing in Spotify."; diff --git a/Client/macos/fr.lproj/InfoPlist.strings b/Client/macos/fr.lproj/InfoPlist.strings index 0f9a918..54eb41d 100644 --- a/Client/macos/fr.lproj/InfoPlist.strings +++ b/Client/macos/fr.lproj/InfoPlist.strings @@ -1,3 +1,3 @@ /* Localized Info.plist values (French). */ -"NSBluetoothAlwaysUsageDescription" = "SonyBridge utilise le Bluetooth pour se connecter à votre casque."; -"NSAppleEventsUsageDescription" = "SonyBridge affiche et contrôle la musique en cours dans Spotify."; +"NSBluetoothAlwaysUsageDescription" = "SonyNotch utilise le Bluetooth pour se connecter à votre casque."; +"NSAppleEventsUsageDescription" = "SonyNotch affiche et contrôle la musique en cours dans Spotify."; diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index e73489b..a727668 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -1,4 +1,4 @@ -/* SonyBridge — French UI strings. Keys are the English source strings; missing keys fall back to English. */ +/* SonyNotch — French UI strings. Keys are the English source strings; missing keys fall back to English. */ /* Menu */ "Ambient Sound Control" = "Contrôle du son ambiant"; @@ -8,7 +8,7 @@ "Connect…" = "Connecter…"; "Connecting…" = "Connexion…"; "Disconnect" = "Déconnecter"; -"Quit SonyBridge" = "Quitter SonyBridge"; +"Quit SonyNotch" = "Quitter SonyNotch"; "%ld%%" = "%ld %%"; "Not connected" = "Non connecté"; "Connected" = "Connecté"; @@ -44,7 +44,7 @@ "Codec" = "Codec"; "Protocol" = "Protocole"; "Bluetooth" = "Bluetooth"; -"SonyBridge Options" = "Options de SonyBridge"; +"SonyNotch Options" = "Options de SonyNotch"; "Launch at Login" = "Lancer à l’ouverture de session"; "Connect Automatically" = "Connexion automatique"; "Reconnect Automatically" = "Reconnexion automatique"; @@ -64,7 +64,7 @@ "Level" = "Niveau"; "Spotify isn't open" = "Spotify n’est pas ouvert"; "Open Spotify" = "Ouvrir Spotify"; -"SonyBridge isn't allowed to control Spotify." = "SonyBridge n’a pas l’autorisation de contrôler Spotify."; +"SonyNotch isn't allowed to control Spotify." = "SonyNotch n’a pas l’autorisation de contrôler Spotify."; "Open Settings" = "Ouvrir les réglages"; "Nothing playing" = "Rien en cours de lecture"; "Previous track" = "Morceau précédent"; diff --git a/Client/macos/info.plist b/Client/macos/info.plist index 7ff9eb6..08b26b1 100644 --- a/Client/macos/info.plist +++ b/Client/macos/info.plist @@ -10,15 +10,15 @@ fr CFBundleExecutable - SonyBridge + SonyNotch CFBundleIdentifier com.semvis123.SonyHeadphonesClient CFBundleInfoDictionaryVersion 6.0 CFBundleName - SonyBridge + SonyNotch CFBundleDisplayName - SonyBridge + SonyNotch CFBundlePackageType APPL CFBundleShortVersionString @@ -38,7 +38,7 @@ NSBluetoothAlwaysUsageDescription This app uses Bluetooth in order to connect to your headphones. NSAppleEventsUsageDescription - SonyBridge shows and controls the music playing in Spotify. + SonyNotch shows and controls the music playing in Spotify. NSPrincipalClass NSApplication diff --git a/Makefile b/Makefile index 19abe9e..cf99bb9 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -# SonyBridge — build without Xcode. See scripts/build.sh for the knobs. +# SonyNotch — build without Xcode. See scripts/build.sh for the knobs. DEBUG ?= 0 .PHONY: all build run test release install clean @@ -8,27 +8,28 @@ all: build build: DEBUG_PROTOCOL=$(DEBUG) ./scripts/build.sh -LOG_FILE := $(HOME)/Library/Logs/SonyBridge/app.log +LOG_FILE := $(HOME)/Library/Logs/SonyNotch/app.log run: build - -pkill -x SonyBridge; while pgrep -x SonyBridge >/dev/null; do sleep 0.2; done + -pkill -x SonyNotch; while pgrep -x SonyNotch >/dev/null; do sleep 0.2; done @mkdir -p "$(dir $(LOG_FILE))" @ln -sfn "$(LOG_FILE)" "$(CURDIR)/build/app.log" - @echo "=== SonyBridge session $$(date '+%Y-%m-%d %H:%M:%S') ===" >> "$(LOG_FILE)" - open "$(CURDIR)/build/SonyBridge.app" --args -SonyBridgeLogFile "$(LOG_FILE)" + @echo "=== SonyNotch session $$(date '+%Y-%m-%d %H:%M:%S') ===" >> "$(LOG_FILE)" + open "$(CURDIR)/build/SonyNotch.app" --args -SonyNotchLogFile "$(LOG_FILE)" test: ./scripts/test.sh release: CONFIG=release ARCHS="arm64 x86_64" ./scripts/build.sh - cd build && rm -f SonyBridge.zip && ditto -c -k --keepParent SonyBridge.app SonyBridge.zip + cd build && rm -f SonyNotch.zip && ditto -c -k --keepParent SonyNotch.app SonyNotch.zip install: release - -pkill -x SonyBridge; while pgrep -x SonyBridge >/dev/null; do sleep 0.2; done - rm -rf "/Applications/SonyBridge.app" - ditto "$(CURDIR)/build/SonyBridge.app" "/Applications/SonyBridge.app" - open "/Applications/SonyBridge.app" + -pkill -x SonyNotch; while pgrep -x SonyNotch >/dev/null; do sleep 0.2; done + -pkill -x SonyBridge; rm -rf "/Applications/SonyBridge.app" # the app's former name + rm -rf "/Applications/SonyNotch.app" + ditto "$(CURDIR)/build/SonyNotch.app" "/Applications/SonyNotch.app" + open "/Applications/SonyNotch.app" clean: rm -rf build diff --git a/README.md b/README.md index 2c15888..65a21af 100644 --- a/README.md +++ b/README.md @@ -1,168 +1,155 @@ -# SonyBridge +# SonyNotch -**Control your Sony headphones from your Mac's menu bar and notch, without the phone app.** +Control your Sony headphones from your Mac, right from the menu bar and the notch. No phone app needed. -SonyBridge is a native macOS app for Sony Bluetooth headphones: noise cancelling, ambient sound, equalizer, -battery and more, from a menu bar menu, plus a notch panel that shows the music playing in Spotify and your -headphones' sound mode. +SonyNotch is a native macOS app for Sony Bluetooth headphones. It switches noise cancelling and ambient sound, +sets the equalizer and shows the battery from a menu bar menu. It also turns the MacBook notch into a small +player for the music playing in Spotify. -It talks to the headphones directly over Bluetooth, so you don't need Sony's *Sound Connect* phone app. - -[Features](#features) · [The notch](#the-notch) · [Install](#install) · [Supported headphones](#supported-headphones) · [Build from source](#build-from-source) · [How it works](#how-it-works) · [Troubleshooting](#troubleshooting) - ---- +It talks to the headphones directly over Bluetooth, so Sony's Sound Connect app isn't needed. ## Features -### In the menu bar - -- **Sound modes:** Noise Cancelling, Ambient Sound (level slider and Focus on Voice) and Off. The menu follows - the headphones' own NC button live. -- **Equalizer:** presets and a Manual mode with one slider per band (5 bands + Clear Bass on older models). - On the WH-1000XM6 the 10-band equalizer is shown but read-only for now. -- **Other settings**, only when your model has them: DSEE, Speak-to-Chat, Adaptive Volume, Auto Power-Off. -- **Battery:** live percentage, per earbud and case on true-wireless models. -- **About the Headphones:** firmware, codec, protocol version and Bluetooth address. -- **Connection:** connects automatically at launch and when the headphones join the Mac, reconnects if the - link drops, and can launch at login. -- **Languages:** English and French, following your macOS language. - -The menu bar icon shows the current sound mode and dims while disconnected. +### Menu bar -### The notch +- Noise Cancelling, Ambient Sound and Off, with the ambient level and Focus on Voice +- Follows the NC button on the headphones in real time +- Equalizer presets and a manual mode (read only on the WH-1000XM6 for now) +- DSEE, Speak-to-Chat, Adaptive Volume and Auto Power-Off when your model has them +- Battery level, per earbud and case on true wireless models +- Firmware, codec and Bluetooth address in About the Headphones +- Connects by itself when the headphones join the Mac and reconnects if the link drops +- Optional launch at login +- English and French -Hover the notch at the top of a MacBook screen and it unfolds into a small player. On a screen without a -notch, the same panel sits in a black pill at the top centre. +The menu bar icon shows the current sound mode and dims when the headphones are disconnected. -**Closed**, the notch shows what's going on at a glance: +### Notch -- the album artwork on the left; -- on the right, small bars in the artwork's colour that move while music plays. Hover them for a - **next track** button, or a **play** button when the music is paused; -- without music, a headphones icon on the left and the current sound mode on the right. +Move the pointer over the notch and it opens into a player. On a screen without a notch it appears as a black +pill at the top of the screen. -**Open**, it's a music player for the **Spotify** desktop app: +When the notch is closed you see the album artwork on the left and little bars on the right that move with the +music, in the colour of the artwork. Hover the bars to skip to the next track, or to resume the music when +it's paused. Without music, the notch shows your headphones and their current sound mode instead. -- artwork, title and artist; -- elapsed time, a progress bar you can click or drag to seek, and the track length; -- previous, play/pause, next and shuffle; -- a volume button that swaps the progress bar for Spotify's volume for a few seconds; -- a headphones button that slides to the **headphones page**: Noise Cancelling / Ambient / Off, ambient - level and Focus on Voice. +When it's open you get: -It opens and closes with a spring animation and never takes the keyboard from the app you're using. +- the artwork, title and artist +- a progress bar you can click or drag +- previous, play/pause, next and shuffle +- a volume button that shows Spotify's volume for a few seconds +- a headphones button that opens the headphones controls (sound mode, ambient level, Focus on Voice) -**Make it yours** under **SonyBridge Options › Notch Size**: open width and height, closed width, artwork -size on the closed notch, and text size. Changes apply live and are remembered; the layout adapts so -nothing overlaps (the artwork grows with the height, text size is capped to what fits). **Show Notch** -turns the whole thing off. +You can resize everything in SonyNotch Options › Notch Size: open width and height, closed width, artwork +size and text size. Changes show live on the notch and are saved. Show Notch turns the notch off completely. -Spotify is controlled locally through macOS automation. No Spotify account or login is involved, and -SonyBridge never opens Spotify by itself. +The player works with the Spotify desktop app. It uses macOS automation, so no Spotify account or login is +involved, and SonyNotch never opens Spotify on its own. ## Install -You need **macOS 13 or later** and Apple's **Command Line Tools** (the full Xcode app isn't needed): - -```sh -xcode-select --install -``` - -Then build and install: - -```sh -git clone https://github.com/flotttt/SonyBridge.git -cd SonyBridge -make install -``` - -`make install` builds a release version, quits SonyBridge if it's running, and copies it to -`/Applications/SonyBridge.app`. Open it from Spotlight, Launchpad or Finder. - -On first launch: +You need macOS 13 or later. -1. Pair and connect your headphones in **System Settings › Bluetooth**. -2. Allow **Bluetooth** access when macOS asks, or SonyBridge can't reach the headphones. -3. With Spotify open, allow SonyBridge to **control Spotify** when macOS asks, for the notch player. +1. Download `SonyNotch.zip` from the [latest release](https://github.com/flotttt/SonyNotch/releases/latest). +2. Unzip it and move `SonyNotch.app` to your Applications folder. +3. Open it. The app isn't signed with an Apple developer account yet, so macOS blocks it the first time. + Go to System Settings › Privacy & Security, scroll down and click Open Anyway. -**Update:** `git pull`, then `make install` again. +Then pair your headphones in System Settings › Bluetooth if they aren't already. SonyNotch asks for Bluetooth +access on first launch, and for permission to control Spotify the first time Spotify is open. Allow both. -**Uninstall:** turn off **Launch at Login** if you enabled it, quit SonyBridge, and move -`/Applications/SonyBridge.app` to the Trash. +To update, download the new release and replace the app. To uninstall, turn off Launch at Login if you +enabled it, quit SonyNotch and move it to the Trash. ## Supported headphones -| Status | Models | +| | Models | |---|---| -| Tested on real hardware | WH-1000XM6, WH-CH720N, Sony ULT WEAR (WH-ULT900N) | -| Expected to work (same protocol) | WH-1000XM5, WH-XB910N, WH-CH520 | -| Earbuds: controls work, battery format differs | WF-1000XM4, WF-1000XM5, WF-C700N, LinkBuds S | -| Older protocol: sound modes only | WH-1000XM4, WH-1000XM3, WH-1000XM2, WH-XB900N, MDR-XB950BT | +| Tested | WH-1000XM6, WH-CH720N, ULT WEAR (WH-ULT900N) | +| Should work | WH-1000XM5, WH-XB910N, WH-CH520 | +| Earbuds, controls work but battery may not | WF-1000XM4, WF-1000XM5, WF-C700N, LinkBuds S | +| Older protocol, sound modes only | WH-1000XM4, WH-1000XM3, WH-1000XM2, WH-XB900N, MDR-XB950BT | -Only the first row has been tested. If you try another model, an issue telling how it went is very welcome. +If you try a model that isn't tested, please open an issue and say how it went. ## Build from source +You need Apple's Command Line Tools. The full Xcode app isn't required. + +```sh +xcode-select --install +git clone https://github.com/flotttt/SonyNotch.git +cd SonyNotch +make install +``` + +`make install` builds the app and copies it to Applications. Other commands: + ```sh -make # debug build → build/SonyBridge.app -make run # build and launch (add DEBUG=1 to log every Bluetooth frame) -make test # unit tests + translation check -make release # universal build (Apple Silicon + Intel), zipped to build/SonyBridge.zip -make install # release build installed to /Applications -make clean # remove build/ +make # debug build in build/SonyNotch.app +make run # build and launch, add DEBUG=1 to log the Bluetooth traffic +make test # unit tests and translation check +make release # universal build zipped in build/SonyNotch.zip +make clean # delete build/ ``` -The log goes to `~/Library/Logs/SonyBridge/app.log` (`build/app.log` links to it). +Logs go to `~/Library/Logs/SonyNotch/app.log`. Always launch the app with `open`, Finder or `make`. Running the +binary inside the app bundle directly gets it closed by macOS when it first uses Bluetooth. -Always start the app through `open`, Finder or the `make` targets. Running -`Contents/MacOS/SonyBridge` directly makes macOS's privacy protection close it on its first Bluetooth access. +The app is written in Swift with AppKit and SwiftUI, on top of a C++ core that handles the headphones +protocol. Everything lives in `Client/`, with the notch in `Client/macos/Notch` and `Client/macos/Music`. -The app is Swift (AppKit + SwiftUI) on top of a C++ protocol core. The code is in `Client/`: `Client/macos` -holds the app, and the notch lives in `Client/macos/Notch` and `Client/macos/Music`. +To publish a release, push a version tag. GitHub Actions tests and builds the app and attaches the zip to the +release. + +```sh +git tag v1.0.0 +git push origin v1.0.0 +``` ## How it works -Sony headphones expose a vendor Bluetooth serial (RFCOMM) service. Every command is a small binary frame: +Sony headphones expose a Bluetooth serial (RFCOMM) service and accept small binary frames: ``` - ESCAPE( <4-byte big-endian length> ) +<0x3e> escaped( type, sequence, 4-byte length, payload, checksum ) <0x3c> ``` -There are two generations of this protocol, told apart by their service UUID: +There are two versions of this protocol. Older headphones up to the WH-1000XM4 use the first one, newer ones +like the WH-1000XM5 and XM6, the WF series and LinkBuds use the second. SonyNotch detects which one the +headphones speak when it connects. The byte layouts were checked against the Sony support in +[Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge). -- **v1** (`96CC203E-…`): WH-1000XM4 and older; -- **v2** (`956C7B26-…`): WH-1000XM5/XM6, WH-CH720N, ULT WEAR, WF series, LinkBuds. +For the notch, Spotify announces every playback change with a system notification, and SonyNotch asks the +app for the artwork, volume and shuffle state with AppleScript. Nothing is polled while the notch is closed. -SonyBridge looks for v1 first and falls back to v2. The v2 path adds the start-up handshake and the -acknowledgement every frame needs, plus the battery, equalizer and DSEE commands. Byte layouts were -cross-checked against [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge)'s Sony support. +## Troubleshooting -The notch reads Spotify through the notification the Spotify app posts on every playback change and -through AppleScript for artwork, volume and shuffle. Nothing is polled while the notch is closed. +**The headphones aren't found.** Connect them in the macOS Bluetooth settings first, then click Connect in the +menu. -## Troubleshooting +**No Bluetooth prompt appeared.** Check System Settings › Privacy & Security › Bluetooth. + +**The notch says SonyNotch isn't allowed to control Spotify.** Click Open Settings and turn on Spotify under +Automation › SonyNotch. + +**The menu bar icon is missing.** A crowded menu bar hides icons behind the notch. Quit or hide a few others. -- **SonyBridge doesn't find the headphones:** connect them in macOS Bluetooth settings first, then choose - **Connect…** in the menu. -- **Nothing happens, no Bluetooth prompt:** check System Settings › Privacy & Security › Bluetooth. -- **The notch shows "SonyBridge isn't allowed to control Spotify":** click **Open Settings** and enable - Spotify under Automation › SonyBridge. -- **The menu bar icon is missing:** on notched MacBooks a crowded menu bar hides icons; quit or hide a few. -- **Controls stopped responding:** **Disconnect** then **Connect…**, or turn the headphones off and on. -- **The app closes right after opening:** launch it through Finder, Spotlight or `make run`, not the binary. +**The controls stopped responding.** Disconnect and connect again from the menu, or turn the headphones off +and on. ## Origins -SonyBridge started as a fork of [AmitRajput-Dev/SonyBridge](https://github.com/AmitRajput-Dev/SonyBridge), -itself based on [SonyHeadphonesClient](https://github.com/Plutoberth/SonyHeadphonesClient) (Plutoberth, -semvis123's macOS port and contributors). It has since been reworked into its own app: menu bar interface, -v2 protocol support, automatic connection, the notch and Spotify player. +SonyNotch started as a fork of [AmitRajput-Dev/SonyBridge](https://github.com/AmitRajput-Dev/SonyBridge), +which builds on [SonyHeadphonesClient](https://github.com/Plutoberth/SonyHeadphonesClient) by Plutoberth, +semvis123 and their contributors. It has since been renamed and largely rewritten. ## Disclaimer -Not affiliated with, endorsed by or connected to Sony. SonyBridge uses a reverse-engineered protocol for -interoperability; use it at your own risk. +SonyNotch isn't affiliated with or endorsed by Sony. It uses a reverse engineered protocol. Use it at your own +risk. ## License -[MIT](LICENSE). The original copyright notice is kept as the license requires. +MIT, see [LICENSE](LICENSE). The original copyright notice is kept as the license requires. diff --git a/docs/banner.svg b/docs/banner.svg deleted file mode 100644 index 071e1f4..0000000 --- a/docs/banner.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - SonyBridge - Control your Sony headphones from your desktop. - - - - macOS - - diff --git a/docs/connected.png b/docs/connected.png deleted file mode 100644 index f5766a04bda59f3b38122adc1e908658e8a1b989..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259275 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
- - - -
-
- -
-
- Open-source · macOS -

Your Sony headphones,
finally on your desktop.

-

Noise cancelling, ambient sound, EQ, DSEE and battery — controlled straight from your Mac. No phone, no Sony account.

- -
- $brew install --cask sonybridge - -
-
MIT licensed · builds on the community SonyHeadphonesClient
-
-
-
-
SonyBridge connected to a WH-CH720N, showing noise-cancelling and ambient controls
-
-
-
- -
-
    -
  • WH-1000XM4
  • WH-1000XM5
  • WH-1000XM6
  • WH-CH720N
  • -
  • WF-1000XM5
  • ULT WEAR
  • WF-C700N
  • LinkBuds S
  • -
  • WH-XB910N
  • WH-CH520
  • MDR-XB950BT
  • WH-1000XM3
  • -
- -
- -
-
- Everything the app hides -

Full control, minus the phone.

-

SonyBridge talks to your headset over Bluetooth using Sony's own protocol — so every setting you'd expect from the mobile app is right on your desktop.

-
-
-
-
-
-

Ambient Sound Control

-

Switch between Noise Cancelling, Ambient Sound with 20 levels, and Focus-on-Voice — with live sync when you press the button on the headset.

-
- -
-
-
-

Equalizer + Manual

-

Presets, or a full 5-band manual mode with Clear Bass.

-
-
-
-

DSEE upscaling

-

Restore detail lost to compressed audio, one toggle.

-
-
-
-

Battery, incl. TWS

-

Live percentage — left, right and case for earbuds.

-
-
-
-

Only what fits

-

Auto power-off, Speak-to-Chat & Adaptive Volume appear only when your device supports them.

-
-
-
-

Dual-protocol

-

Auto-detects v1 & v2 headsets — old and new, same app.

-
-
-
- -
-
-
- How it works -

Speaks Sony's binary protocol.

-

Sony headphones expose a vendor RFCOMM/SPP service. SonyBridge frames commands on the wire, handles the v2 init handshake and per-frame ACK the newer devices require, and reads state straight back from the headset.

-
- -
-
- -
-
- Compatibility -

Works across the Sony lineup.

-

The WH-CH720N is fully hardware-verified. The rest share the same protocol family — the basics should just work.

-
-
- Verified - Expected · v2 - v2 earbuds - Legacy · v1 -
-
- WH-CH720N - ULT WEAR - WH-1000XM5 - WH-1000XM6 - WH-XB910N - WH-CH520 - WF-1000XM4 - WF-1000XM5 - WF-C700N - LinkBuds S - WH-1000XM4 - WH-1000XM3 - WH-XB900N - MDR-XB950BT -
-
- -
-
- Get started -

Install in a minute.

-

Pair your headphones in your macOS Bluetooth settings first, then open SonyBridge and hit Connect.

-
-
-
-
macOS
-
$brew install --cask sonybridge
-
macOS 11+ · Apple Silicon & Intel · or download the .app
- -
-
-
- -
-
- Free & open-source -

Keep the reverse-engineering going.

-

SonyBridge is free forever. If it saved you from Sony's app, a sponsorship or a star keeps new devices and features coming.

- -
-
- - -
- -
Copied to clipboard
- - - - - diff --git a/scripts/build.sh b/scripts/build.sh index 1908714..119115e 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Builds build/SonyBridge.app with the Command Line Tools only (no Xcode needed). +# Builds build/SonyNotch.app with the Command Line Tools only (no Xcode needed). # CONFIG=debug|release (default: debug) # ARCHS="arm64 x86_64" (default: this Mac's architecture; several = universal binary via lipo) # DEBUG_PROTOCOL=1 (hex-dumps every frame exchanged with the headphones to stderr) @@ -10,7 +10,7 @@ ROOT=$(cd "$(dirname "$0")/.." && pwd) CORE=$ROOT/Client MAC=$CORE/macos OUT=$ROOT/build -APP=$OUT/SonyBridge.app +APP=$OUT/SonyNotch.app SDK=$(xcrun --show-sdk-path) CONFIG=${CONFIG:-debug} ARCHS=${ARCHS:-$(uname -m)} @@ -36,7 +36,7 @@ for ARCH in $ARCHS; do echo "== [$ARCH] Swift" swiftc -target "$TARGET" -sdk "$SDK" -swift-version 5 $SWIFT_OPT $SWIFT_DEFINES -wmo -parse-as-library \ - -module-name SonyBridge \ + -module-name SonyNotch \ -import-objc-header "$MAC/SonyHeadphonesClient-Bridging-Header.h" -I "$MAC" -I "$CORE" \ -c "${SWIFT_SOURCES[@]}" -o "$OBJ/swift.o" @@ -49,13 +49,13 @@ for ARCH in $ARCHS; do done echo "== [$ARCH] Link" - swiftc -target "$TARGET" -sdk "$SDK" "$OBJ"/*.o -o "$OBJ/SonyBridge" -lc++ \ + swiftc -target "$TARGET" -sdk "$SDK" "$OBJ"/*.o -o "$OBJ/SonyNotch" -lc++ \ -framework AppKit -framework SwiftUI -framework Combine -framework IOBluetooth \ -framework IOBluetoothUI -framework ServiceManagement - BINARIES="$BINARIES $OBJ/SonyBridge" + BINARIES="$BINARIES $OBJ/SonyNotch" done -lipo -create $BINARIES -output "$APP/Contents/MacOS/SonyBridge" +lipo -create $BINARIES -output "$APP/Contents/MacOS/SonyNotch" echo "== Resources" cp "$MAC/info.plist" "$APP/Contents/Info.plist" From 3c43394878b9179ef2ed2a36c15c2220c5c7dce4 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 14:16:33 +0200 Subject: [PATCH 29/31] add realese --- .github/workflows/release.yml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6c14e9e..b2f31a2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,10 +36,15 @@ jobs: cd build shasum -a 256 SonyNotch.zip | tee SonyNotch.zip.sha256 + # A release already made by hand for this tag (title and notes written on GitHub) only gets the files. - name: Publish the release env: GH_TOKEN: ${{ github.token }} run: | - gh release create "$GITHUB_REF_NAME" build/SonyNotch.zip build/SonyNotch.zip.sha256 \ - --title "SonyNotch $VERSION" \ - --generate-notes + if gh release view "$GITHUB_REF_NAME" >/dev/null 2>&1; then + gh release upload "$GITHUB_REF_NAME" build/SonyNotch.zip build/SonyNotch.zip.sha256 --clobber + else + gh release create "$GITHUB_REF_NAME" build/SonyNotch.zip build/SonyNotch.zip.sha256 \ + --title "SonyNotch $VERSION" \ + --generate-notes + fi From 8da50bc7b2eafba729b72ffe86ec05de35e5cb92 Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 14:20:05 +0200 Subject: [PATCH 30/31] docs: user-first README --- README.md | 179 +++++++++++++++++++++++++++--------------------------- 1 file changed, 91 insertions(+), 88 deletions(-) diff --git a/README.md b/README.md index 65a21af..53deca1 100644 --- a/README.md +++ b/README.md @@ -2,65 +2,69 @@ Control your Sony headphones from your Mac, right from the menu bar and the notch. No phone app needed. -SonyNotch is a native macOS app for Sony Bluetooth headphones. It switches noise cancelling and ambient sound, -sets the equalizer and shows the battery from a menu bar menu. It also turns the MacBook notch into a small -player for the music playing in Spotify. +SonyNotch switches noise cancelling and ambient sound, sets the equalizer and shows the battery of your Sony +Bluetooth headphones. It also turns the MacBook notch into a small player for the music playing in Spotify. -It talks to the headphones directly over Bluetooth, so Sony's Sound Connect app isn't needed. +## Install -## Features +1. Download **SonyNotch.zip** from the [latest release](https://github.com/flotttt/SonyNotch/releases/latest) +2. Open the zip and drag **SonyNotch** into your Applications folder +3. Open SonyNotch. The first time, macOS says it can't check the app because it isn't signed with an Apple + developer account yet. Click Done, then go to System Settings › Privacy & Security, scroll down and click + **Open Anyway** -### Menu bar +SonyNotch then appears in the menu bar. Allow Bluetooth access when macOS asks, and allow SonyNotch to control +Spotify for the notch player. -- Noise Cancelling, Ambient Sound and Off, with the ambient level and Focus on Voice -- Follows the NC button on the headphones in real time -- Equalizer presets and a manual mode (read only on the WH-1000XM6 for now) -- DSEE, Speak-to-Chat, Adaptive Volume and Auto Power-Off when your model has them -- Battery level, per earbud and case on true wireless models -- Firmware, codec and Bluetooth address in About the Headphones -- Connects by itself when the headphones join the Mac and reconnects if the link drops -- Optional launch at login -- English and French +If your headphones aren't connected to the Mac yet, pair them in System Settings › Bluetooth first. -The menu bar icon shows the current sound mode and dims when the headphones are disconnected. +Works on macOS 13 or later, on Apple Silicon and Intel Macs. -### Notch +## Update -Move the pointer over the notch and it opens into a player. On a screen without a notch it appears as a black -pill at the top of the screen. +Download the new SonyNotch.zip from the [latest release](https://github.com/flotttt/SonyNotch/releases/latest), +quit SonyNotch and replace the app in Applications. Your settings are kept. macOS may ask for the Bluetooth and +Spotify permissions again. -When the notch is closed you see the album artwork on the left and little bars on the right that move with the -music, in the colour of the artwork. Hover the bars to skip to the next track, or to resume the music when -it's paused. Without music, the notch shows your headphones and their current sound mode instead. +## Uninstall -When it's open you get: +If you turned on Launch at Login, turn it off first. Then quit SonyNotch and move it to the Trash. -- the artwork, title and artist -- a progress bar you can click or drag -- previous, play/pause, next and shuffle -- a volume button that shows Spotify's volume for a few seconds -- a headphones button that opens the headphones controls (sound mode, ambient level, Focus on Voice) +## What it does -You can resize everything in SonyNotch Options › Notch Size: open width and height, closed width, artwork -size and text size. Changes show live on the notch and are saved. Show Notch turns the notch off completely. +### Menu bar -The player works with the Spotify desktop app. It uses macOS automation, so no Spotify account or login is -involved, and SonyNotch never opens Spotify on its own. +Click the headphones icon in the menu bar to: -## Install +- switch between Noise Cancelling, Ambient Sound and Off, and set the ambient level and Focus on Voice +- pick an equalizer preset or make your own (read only on the WH-1000XM6 for now) +- turn DSEE, Speak-to-Chat and Adaptive Volume on or off, and set Auto Power-Off, when your model has them +- see the battery level, for each earbud and the case on true wireless models +- see the firmware, codec and Bluetooth address in About the Headphones -You need macOS 13 or later. +The icon shows the current sound mode and follows the NC button on your headphones. SonyNotch connects on its +own when the headphones join the Mac, reconnects if the link drops, and can launch at login. It's available in +English and French. -1. Download `SonyNotch.zip` from the [latest release](https://github.com/flotttt/SonyNotch/releases/latest). -2. Unzip it and move `SonyNotch.app` to your Applications folder. -3. Open it. The app isn't signed with an Apple developer account yet, so macOS blocks it the first time. - Go to System Settings › Privacy & Security, scroll down and click Open Anyway. +### Notch -Then pair your headphones in System Settings › Bluetooth if they aren't already. SonyNotch asks for Bluetooth -access on first launch, and for permission to control Spotify the first time Spotify is open. Allow both. +Move the pointer over the notch and it opens into a player with: -To update, download the new release and replace the app. To uninstall, turn off Launch at Login if you -enabled it, quit SonyNotch and move it to the Trash. +- the artwork, title and artist +- a progress bar you can click or drag +- previous, play/pause, next and shuffle +- a volume button for Spotify's volume +- a headphones button to change the sound mode without opening the menu + +When the notch is closed, it shows the album artwork and little bars that move with the music. Hover the bars +to skip to the next track, or to resume the music when it's paused. + +To change its size, open the menu and go to SonyNotch Options › Notch Size. You can set the width and height, +the size of the closed notch, the artwork and the text. You see the result live and it's saved. To hide the +notch, turn off Show Notch in the same menu. + +The player works with the Spotify app for Mac, without any account or login. On a screen without a notch, it +shows up as a black pill at the top of the screen. ## Supported headphones @@ -69,46 +73,63 @@ enabled it, quit SonyNotch and move it to the Trash. | Tested | WH-1000XM6, WH-CH720N, ULT WEAR (WH-ULT900N) | | Should work | WH-1000XM5, WH-XB910N, WH-CH520 | | Earbuds, controls work but battery may not | WF-1000XM4, WF-1000XM5, WF-C700N, LinkBuds S | -| Older protocol, sound modes only | WH-1000XM4, WH-1000XM3, WH-1000XM2, WH-XB900N, MDR-XB950BT | +| Older models, sound modes only | WH-1000XM4, WH-1000XM3, WH-1000XM2, WH-XB900N, MDR-XB950BT | -If you try a model that isn't tested, please open an issue and say how it went. +If you try a model that isn't tested, please [open an issue](https://github.com/flotttt/SonyNotch/issues/new) +and say how it went. -## Build from source +## Troubleshooting -You need Apple's Command Line Tools. The full Xcode app isn't required. +**macOS won't open the app.** Go to System Settings › Privacy & Security and click Open Anyway, as in the +install steps. -```sh -xcode-select --install -git clone https://github.com/flotttt/SonyNotch.git -cd SonyNotch -make install -``` +**The headphones aren't found.** Connect them in System Settings › Bluetooth, then click Connect in the +SonyNotch menu. -`make install` builds the app and copies it to Applications. Other commands: +**Nothing happens after opening the app.** Check that SonyNotch is allowed in System Settings › Privacy & +Security › Bluetooth. + +**The notch says SonyNotch isn't allowed to control Spotify.** Click Open Settings and turn on Spotify under +Automation › SonyNotch. + +**The menu bar icon is missing.** When the menu bar is full, macOS hides icons behind the notch. Quit or hide a +few other menu bar apps. + +**The controls stopped responding.** Click Disconnect then Connect in the menu, or turn the headphones off and +on. + +## For developers + +### Build from source + +You need Apple's Command Line Tools (`xcode-select --install`). The full Xcode app isn't required. ```sh -make # debug build in build/SonyNotch.app +git clone https://github.com/flotttt/SonyNotch.git +cd SonyNotch +make install # build and install to Applications make run # build and launch, add DEBUG=1 to log the Bluetooth traffic make test # unit tests and translation check make release # universal build zipped in build/SonyNotch.zip -make clean # delete build/ ``` -Logs go to `~/Library/Logs/SonyNotch/app.log`. Always launch the app with `open`, Finder or `make`. Running the -binary inside the app bundle directly gets it closed by macOS when it first uses Bluetooth. +Logs go to `~/Library/Logs/SonyNotch/app.log`. Launch the app with `open`, Finder or `make`, not by running the +binary inside the bundle, or macOS closes it when it first uses Bluetooth. + +The app is written in Swift with AppKit and SwiftUI, on top of a C++ core for the headphones protocol. The code +is in `Client/`, and the notch is in `Client/macos/Notch` and `Client/macos/Music`. -The app is written in Swift with AppKit and SwiftUI, on top of a C++ core that handles the headphones -protocol. Everything lives in `Client/`, with the notch in `Client/macos/Notch` and `Client/macos/Music`. +### Publish a release -To publish a release, push a version tag. GitHub Actions tests and builds the app and attaches the zip to the -release. +Push a version tag. GitHub Actions runs the tests, builds the app with that version number and attaches +SonyNotch.zip to the release. ```sh -git tag v1.0.0 -git push origin v1.0.0 +git tag v1.1.0 +git push origin v1.1.0 ``` -## How it works +### How it talks to the headphones Sony headphones expose a Bluetooth serial (RFCOMM) service and accept small binary frames: @@ -116,28 +137,12 @@ Sony headphones expose a Bluetooth serial (RFCOMM) service and accept small bina <0x3e> escaped( type, sequence, 4-byte length, payload, checksum ) <0x3c> ``` -There are two versions of this protocol. Older headphones up to the WH-1000XM4 use the first one, newer ones -like the WH-1000XM5 and XM6, the WF series and LinkBuds use the second. SonyNotch detects which one the -headphones speak when it connects. The byte layouts were checked against the Sony support in +Headphones up to the WH-1000XM4 use a first version of this protocol, newer ones use a second. SonyNotch +detects which one when it connects. The byte layouts were checked against the Sony support in [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge). -For the notch, Spotify announces every playback change with a system notification, and SonyNotch asks the -app for the artwork, volume and shuffle state with AppleScript. Nothing is polled while the notch is closed. - -## Troubleshooting - -**The headphones aren't found.** Connect them in the macOS Bluetooth settings first, then click Connect in the -menu. - -**No Bluetooth prompt appeared.** Check System Settings › Privacy & Security › Bluetooth. - -**The notch says SonyNotch isn't allowed to control Spotify.** Click Open Settings and turn on Spotify under -Automation › SonyNotch. - -**The menu bar icon is missing.** A crowded menu bar hides icons behind the notch. Quit or hide a few others. - -**The controls stopped responding.** Disconnect and connect again from the menu, or turn the headphones off -and on. +For the notch, Spotify posts a system notification on every playback change, and SonyNotch asks the app for +the artwork, volume and shuffle state with AppleScript. Nothing is polled while the notch is closed. ## Origins @@ -145,10 +150,8 @@ SonyNotch started as a fork of [AmitRajput-Dev/SonyBridge](https://github.com/Am which builds on [SonyHeadphonesClient](https://github.com/Plutoberth/SonyHeadphonesClient) by Plutoberth, semvis123 and their contributors. It has since been renamed and largely rewritten. -## Disclaimer - -SonyNotch isn't affiliated with or endorsed by Sony. It uses a reverse engineered protocol. Use it at your own -risk. +SonyNotch isn't affiliated with or endorsed by Sony. It uses a reverse engineered protocol, so use it at your +own risk. ## License From ce02468d1c6fa60041b2b211090994c1154eba1a Mon Sep 17 00:00:00 2001 From: Florian Thubin Date: Thu, 17 Sep 2026 14:23:37 +0200 Subject: [PATCH 31/31] fix(notch): centre the playback controls, remove shuffle --- Client/macos/Music/MusicController.swift | 5 ---- Client/macos/Music/MusicSource.swift | 1 - Client/macos/Music/NowPlaying.swift | 1 - Client/macos/Music/SpotifyLocalSource.swift | 10 ------- Client/macos/Music/SpotifyPlaybackInfo.swift | 8 +++--- Client/macos/Music/SpotifyScript.swift | 2 +- Client/macos/Notch/MusicTab.swift | 26 ++++++++----------- Client/macos/fr.lproj/Localizable.strings | 1 - Client/tests/LogicTests/main.swift | 20 +++++--------- README.md | 4 +-- .../specs/2026-09-11-notch-design.md | 4 +-- 11 files changed, 25 insertions(+), 57 deletions(-) diff --git a/Client/macos/Music/MusicController.swift b/Client/macos/Music/MusicController.swift index cd48768..4458920 100644 --- a/Client/macos/Music/MusicController.swift +++ b/Client/macos/Music/MusicController.swift @@ -85,11 +85,6 @@ final class MusicController: ObservableObject { if final { source.refresh() } } - func toggleShuffle() { - guard let shuffling = nowPlaying?.isShuffling else { return } - source.setShuffling(!shuffling) - } - func launchPlayer() { source.launchPlayer() } func openAutomationSettings() { diff --git a/Client/macos/Music/MusicSource.swift b/Client/macos/Music/MusicSource.swift index 9172d79..b8e3126 100644 --- a/Client/macos/Music/MusicSource.swift +++ b/Client/macos/Music/MusicSource.swift @@ -18,6 +18,5 @@ protocol MusicSource: AnyObject { func previous() func seek(to seconds: TimeInterval) func setVolume(_ volume: Int) - func setShuffling(_ on: Bool) func launchPlayer() } diff --git a/Client/macos/Music/NowPlaying.swift b/Client/macos/Music/NowPlaying.swift index b9a75ff..02beb0f 100644 --- a/Client/macos/Music/NowPlaying.swift +++ b/Client/macos/Music/NowPlaying.swift @@ -20,7 +20,6 @@ struct NowPlaying: Equatable { var positionDate: Date var isPlaying: Bool var volume: Int? // 0...100; nil until known - var isShuffling: Bool? // nil until known var deviceName: String? // nil = this Mac var capabilities: MusicCapabilities } diff --git a/Client/macos/Music/SpotifyLocalSource.swift b/Client/macos/Music/SpotifyLocalSource.swift index d17b98d..d4f8b90 100644 --- a/Client/macos/Music/SpotifyLocalSource.swift +++ b/Client/macos/Music/SpotifyLocalSource.swift @@ -108,14 +108,6 @@ final class SpotifyLocalSource: MusicSource { send("set sound volume to \(clamped)") } - func setShuffling(_ on: Bool) { - if var track = nowPlaying { - track.isShuffling = on - publish(status, track) - } - send("set shuffling to \(on)") - } - func launchPlayer() { guard let url = NSWorkspace.shared.urlForApplication(withBundleIdentifier: Self.bundleIdentifier) else { fputs("[spotify] Spotify isn't installed\n", stderr) @@ -150,12 +142,10 @@ final class SpotifyLocalSource: MusicSource { publish(denied ? .permissionDenied : .ready, nil) case .track(var track): // Artwork and volume only come from Apple Events: keep them for the same track, read them otherwise. - // Shuffle belongs to the player, not the track: always keep it. if let current = nowPlaying, current.trackID == track.trackID { track.artworkURL = current.artworkURL track.volume = current.volume } - track.isShuffling = nowPlaying?.isShuffling publish(denied ? .permissionDenied : .ready, track) if track.artworkURL == nil && !denied { refresh() } case .incomplete: diff --git a/Client/macos/Music/SpotifyPlaybackInfo.swift b/Client/macos/Music/SpotifyPlaybackInfo.swift index 9a2442d..3f3fde0 100644 --- a/Client/macos/Music/SpotifyPlaybackInfo.swift +++ b/Client/macos/Music/SpotifyPlaybackInfo.swift @@ -30,17 +30,16 @@ enum SpotifyPlaybackInfo { positionDate: date, isPlaying: state == "Playing", volume: nil, - isShuffling: nil, deviceName: nil, capabilities: localCapabilities)) } - // SpotifyScript.readState's reply: "stopped", or 10 fields separated by U+001F — state, track id, name, - // artist, album, duration (ms), position (ms), artwork URL, volume, shuffling ("true" / "false"). + // SpotifyScript.readState's reply: "stopped", or 9 fields separated by U+001F — state, track id, name, + // artist, album, duration (ms), position (ms), artwork URL, volume. static func parse(scriptResult text: String, at date: Date) -> SpotifyState { if text == "stopped" { return .stopped } let fields = text.split(separator: fieldSeparator, omittingEmptySubsequences: false).map(String.init) - guard fields.count == 10, fields[0] == "playing" || fields[0] == "paused", !fields[1].isEmpty else { + guard fields.count == 9, fields[0] == "playing" || fields[0] == "paused", !fields[1].isEmpty else { return .incomplete } return .track(NowPlaying( @@ -54,7 +53,6 @@ enum SpotifyPlaybackInfo { positionDate: date, isPlaying: fields[0] == "playing", volume: Int(fields[8]).map { min(100, max(0, $0)) }, - isShuffling: fields[9] == "true" ? true : fields[9] == "false" ? false : nil, deviceName: nil, capabilities: localCapabilities)) } diff --git a/Client/macos/Music/SpotifyScript.swift b/Client/macos/Music/SpotifyScript.swift index f52dd93..406cb44 100644 --- a/Client/macos/Music/SpotifyScript.swift +++ b/Client/macos/Music/SpotifyScript.swift @@ -18,7 +18,7 @@ enum SpotifyScript { set sep to (character id 31) set art to artwork url of t if art is missing value then set art to "" - return playerState & sep & (id of t) & sep & (name of t) & sep & (artist of t) & sep & (album of t) & sep & ((duration of t) as text) & sep & ((((player position) * 1000) div 1) as text) & sep & art & sep & ((sound volume) as text) & sep & (shuffling as text) + return playerState & sep & (id of t) & sep & (name of t) & sep & (artist of t) & sep & (album of t) & sep & ((duration of t) as text) & sep & ((((player position) * 1000) div 1) as text) & sep & art & sep & ((sound volume) as text) end tell end timeout """ diff --git a/Client/macos/Notch/MusicTab.swift b/Client/macos/Notch/MusicTab.swift index df81f42..ebbaa4e 100644 --- a/Client/macos/Notch/MusicTab.swift +++ b/Client/macos/Notch/MusicTab.swift @@ -1,7 +1,7 @@ import SwiftUI // Notch player page (spec §4.2): artwork, title and artist; progress; headphones, previous, play/pause, next, -// shuffle. The volume button swaps the progress bar for Spotify's volume bar for a few seconds. Sizes follow +// volume. The volume button swaps the progress bar for Spotify's volume bar for a few seconds. Sizes follow // the notch zoom; extra height grows the artwork. struct MusicTab: View { private static let volumeAutoHide: TimeInterval = 4 @@ -90,25 +90,21 @@ struct MusicTab: View { } .animation(NotchMotion.content, value: showVolume) Spacer(minLength: 6 * s) + // The side buttons take equal flexible widths, so previous / play / next stay centred on the notch. HStack(spacing: 0) { iconButton("headphones", label: tr("Headphones"), action: showHeadphones) - Spacer() - iconButton("backward.fill", size: 17, color: .white, label: tr("Previous track")) { music.previous() } - Spacer() - iconButton(track.isPlaying ? "pause.fill" : "play.fill", size: 21, color: .white, - label: tr("Play or pause")) { music.playPause() } - .animation(NotchMotion.content, value: track.isPlaying) - Spacer() - iconButton("forward.fill", size: 17, color: .white, label: tr("Next track")) { music.next() } - Spacer() - iconButton("shuffle", color: track.isShuffling == true ? .white : .gray, label: tr("Shuffle")) { - music.toggleShuffle() + .frame(maxWidth: .infinity, alignment: .leading) + HStack(spacing: 22 * s) { + iconButton("backward.fill", size: 17, color: .white, label: tr("Previous track")) { music.previous() } + iconButton(track.isPlaying ? "pause.fill" : "play.fill", size: 21, color: .white, + label: tr("Play or pause")) { music.playPause() } + .animation(NotchMotion.content, value: track.isPlaying) + iconButton("forward.fill", size: 17, color: .white, label: tr("Next track")) { music.next() } } - .disabled(track.isShuffling == nil) - Spacer() iconButton(showVolume ? "speaker.wave.2.fill" : "speaker.wave.2", color: showVolume ? .white : .gray, label: tr("Spotify volume")) { toggleVolume() } - .disabled(!track.capabilities.canSetVolume || track.volume == nil) + .disabled(!track.capabilities.canSetVolume || track.volume == nil) + .frame(maxWidth: .infinity, alignment: .trailing) } } } diff --git a/Client/macos/fr.lproj/Localizable.strings b/Client/macos/fr.lproj/Localizable.strings index a727668..fa89187 100644 --- a/Client/macos/fr.lproj/Localizable.strings +++ b/Client/macos/fr.lproj/Localizable.strings @@ -70,7 +70,6 @@ "Previous track" = "Morceau précédent"; "Play or pause" = "Lecture ou pause"; "Next track" = "Morceau suivant"; -"Shuffle" = "Lecture aléatoire"; "Spotify volume" = "Volume de Spotify"; "Back" = "Retour"; "Voice" = "Voix"; diff --git a/Client/tests/LogicTests/main.swift b/Client/tests/LogicTests/main.swift index 19e53cb..3da79df 100644 --- a/Client/tests/LogicTests/main.swift +++ b/Client/tests/LogicTests/main.swift @@ -120,7 +120,7 @@ do { let t0 = Date(timeIntervalSince1970: 1_000) var track = NowPlaying(trackID: "spotify:track:1", title: "A", artist: "B", album: "C", artworkURL: nil, duration: 200, position: 30, positionDate: t0, isPlaying: true, volume: 50, - isShuffling: nil, deviceName: nil, + deviceName: nil, capabilities: MusicCapabilities(canSeek: true, canSetVolume: true, canChangeDevice: false)) check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(12)) == 42, "playing: advances") check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(500)) == 200, "bounded by the duration") @@ -132,7 +132,7 @@ do { check(PlaybackClock.position(of: track, at: t0.addingTimeInterval(500)) == 530, "unknown duration: not bounded") let nextTrack = NowPlaying(trackID: "spotify:track:2", title: "D", artist: "E", album: "F", artworkURL: nil, duration: 180, position: 0, positionDate: t0.addingTimeInterval(100), isPlaying: true, - volume: 50, isShuffling: nil, deviceName: nil, capabilities: track.capabilities) + volume: 50, deviceName: nil, capabilities: track.capabilities) check(PlaybackClock.position(of: nextTrack, at: t0.addingTimeInterval(100)) == 0, "track change: starts from 0") check(PlaybackClock.format(65) == "1:05", "format 1:05 was \(PlaybackClock.format(65))") check(PlaybackClock.format(754.9) == "12:34", "format rounds down") @@ -150,8 +150,8 @@ do { if case .track(let track) = SpotifyPlaybackInfo.parse(signal: signal, at: t0) { check(track.trackID == "spotify:track:42" && track.title == "Midnight City" && track.artist == "M83", "signal: names") check(track.duration == 243 && track.position == 12.5 && track.positionDate == t0 && track.isPlaying, "signal: timing") - check(track.artworkURL == nil && track.volume == nil && track.isShuffling == nil && track.deviceName == nil, - "signal: no artwork, volume or shuffle, this Mac") + check(track.artworkURL == nil && track.volume == nil && track.deviceName == nil, + "signal: no artwork or volume, this Mac") check(track.capabilities == SpotifyPlaybackInfo.localCapabilities, "signal: local capabilities") } else { check(false, "signal with full info decodes to a track") @@ -174,30 +174,22 @@ do { let t0 = Date(timeIntervalSince1970: 1_000) let sep = "\u{1F}" let text = ["paused", "spotify:track:7", "Title", "Artist", "Album", "180000", "61500", - "https://i.scdn.co/image/ab", "70", "true"].joined(separator: sep) + "https://i.scdn.co/image/ab", "70"].joined(separator: sep) if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: text, at: t0) { check(!track.isPlaying && track.duration == 180 && track.position == 61.5, "script: timing") check(track.artworkURL == URL(string: "https://i.scdn.co/image/ab") && track.volume == 70, "script: artwork and volume") - check(track.isShuffling == true, "script: shuffle on") check(track.title == "Title" && track.album == "Album" && track.positionDate == t0, "script: names") } else { check(false, "script result decodes to a track") } - let local = ["playing", "spotify:local:x", "T", "", "", "1000", "0", "", "101", "false"].joined(separator: sep) + let local = ["playing", "spotify:local:x", "T", "", "", "1000", "0", "", "101"].joined(separator: sep) if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: local, at: t0) { check(track.artworkURL == nil && track.volume == 100 && track.artist.isEmpty, "script: empty fields, volume clamped") - check(track.isShuffling == false, "script: shuffle off") } else { check(false, "script result with empty fields decodes to a track") } check(SpotifyPlaybackInfo.parse(scriptResult: "stopped", at: t0) == .stopped, "script: stopped") check(SpotifyPlaybackInfo.parse(scriptResult: "garbage", at: t0) == .incomplete, "script: malformed") - let unknownShuffle = ["playing", "spotify:track:8", "T", "A", "B", "1000", "0", "", "50", "?"].joined(separator: sep) - if case .track(let track) = SpotifyPlaybackInfo.parse(scriptResult: unknownShuffle, at: t0) { - check(track.isShuffling == nil, "script: unreadable shuffle is unknown") - } else { - check(false, "script result with an unreadable shuffle decodes to a track") - } } if failures > 0 { diff --git a/README.md b/README.md index 53deca1..a562ba2 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ Move the pointer over the notch and it opens into a player with: - the artwork, title and artist - a progress bar you can click or drag -- previous, play/pause, next and shuffle +- previous, play/pause and next - a volume button for Spotify's volume - a headphones button to change the sound mode without opening the menu @@ -142,7 +142,7 @@ detects which one when it connects. The byte layouts were checked against the So [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge). For the notch, Spotify posts a system notification on every playback change, and SonyNotch asks the app for -the artwork, volume and shuffle state with AppleScript. Nothing is polled while the notch is closed. +the artwork and volume with AppleScript. Nothing is polled while the notch is closed. ## Origins diff --git a/docs/superpowers/specs/2026-09-11-notch-design.md b/docs/superpowers/specs/2026-09-11-notch-design.md index 93cdb08..7745858 100644 --- a/docs/superpowers/specs/2026-09-11-notch-design.md +++ b/docs/superpowers/specs/2026-09-11-notch-design.md @@ -286,8 +286,8 @@ Décidés avec l'utilisateur sur l'app en marche ; ils remplacent §4.2 et une p plate, durée totale ; boutons 🎧 ⏮ ⏯ ⏭ 🔀 🔊. 🎧 fait glisser le lecteur vers le panneau Casque (‹ retour) ; 🔊 remplace la progression par la barre de volume Spotify, repliée après 4 s sans action. Le lecteur s'ouvre sur la page choisie en dernier (première ouverture : Musique s'il y a une musique, sinon Casque). -- **Lecture aléatoire** : `shuffling` lu par `readState` (10ᵉ champ, `NowPlaying.isShuffling`) et basculé - par `set shuffling to …`. « J'aime » n'existe pas en local (étape 2). +- **Lecture aléatoire** : ajoutée puis retirée (le bouton décentrait lecture/pause). « J'aime » n'existe pas + en local (étape 2). - **Taille ouverte 300 × 166 pt** ; coins du haut évasés vers la barre des menus. - **Aucun contrôle AppKit dans l'encoche** (sélecteur segmenté, `Slider`, `Toggle`, bouton bordé) : ils ignorent l'échelle et le découpage SwiftUI et débordaient à l'ouverture, au changement de page et à la

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 G0{$OD;fK8d diff --git a/docs/disconnected.png b/docs/disconnected.png deleted file mode 100644 index c1d518ec5131f326edf9c817eccf85c82afd8d4f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57505 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ξmgr7Tk}N;V7~Zcr3#32z-;%CL$keg7wvtM z0oG!`D(btsY!o;gXc(Rcs5eQ0X&au&v@-*V5!9tS!6oS?+gd_J`+;qzeTLmM!00_J zA=NZ2-mZJD6A_W z?Cu;`lUElk8BQ>S0c}IXcJj4}x$6vwI!@HdO0;vs%4oXaChTKij4hUly;zi|YlhCV&u^jhGET-^z^V2QuER_%3lIztn;& zgwpJw{x2+oXNN?*Pp43mz;Vl!q+A$U2ot!#!=rE)5b3c@l2Xtd5n9$mtq$EBwxc?| z+^+ZwTcaJG<+>&}onse5O)Tm*Gi;HV(prIP!G{kUBM<6Ddo4>nPqULF;p($RMps_i z?o_0nJVFq*(o+A~msp06z{VQDmv!``~#Tq!M{HNz{pr3_h|w%F+bnw2%eL zgAfgTZJL3CE&-rXuU$$8-|F;SREp?%`N{of+Xwot5=i8o{*(W7LR;?(C|~v6WA<4! z-PhQ}O1*M)34nrXC4MFe*;Tit*{=tQnw9znea~U34g?XtgI26Ar2xP8@j{>1xT-;4uGc1lVUi81zk@YYDNq6-5rb@nO_))0P+j}P?sPssU^5Y^gS z{rr0{G03Y$ap-Wr<$uaiG_c5%BK%tEdv@F|7}Ad!MxDMwhLeCEk>_4sR?V*LkB^WH z?^(E7dG886eg_(k6b$Xc0>fP~cVkYZ)o_Mx%jbF8ctYt<&&+rhD#yfC?`m;B3xx_qz_C7QNWOobLt%>_V{TvP_P2bog+)g4^Z9hb?`K|{h3ht z08de95Zf-md$B9UU&__^C*~UeoAkd^ROLZ!~XSHhcllJMP<}7E67ViqN@|HyJ>mFT4 zTLI9Q)#P~=U0jJK74ddnv?|8_Qz6OmdPO@tzY~zw(#xlN-p`>-u=TU-veQj52M;K{ zOI^%?-(28PSNzB45c3i_@`GR#ab>!<4b&t>nEY^J*U&#OeZ?*KXgpud}_Re3LzXrq5K1~|@W zD1+?Um!tRrm@#VZk}?};G521~*L!zE4t4yY-A+*OIDL0%FvTpT_aJFFf|wxDW;G=m z3aTSv0v)!JD^l-H{Rzj~ngB!x^$+{(4Pb|1WT&8nZY{%Igq6xHij%a|W zcIMez!t+y$R=(nW624pmvt}&6Zj7J$bFa=$HXjiz*ylhL{gUxn7|;kKKT^)?Q$`d= z5|yERgS-{bqBO7g{j9QDw5um&a}PVBYa3Qi-=*uST0TBghx0>;I#w@dHz>0{a^eJz5@>|=i4V!OuFm*N0&F?Cvi3irjP8u&RzbX;R zHp0I1|Lm^+#7>OR+RnL5F)n8|4W;j_&H|}H1h<**-1sxY8Gh3OuveL-x9Xve?f$M* z@i@EP(-^T4vKJf3Ey=pH}T_X4KJG_0ic_OM{TquBEM{-i~!^2 z)uwp!8-;%G*Y~0kY{Jl$-!Ut@J)N@m9jqt}Mnm+$$^es+vV+w+1L_SceIm#WOf^VX z;5w5w?U_mEd&IBt1I4g05?^5d(3z*=!WF!qmxh>btm2#-W^nj7$a239$ryR_xVhhU zX4VC$lExJF;`;-Q&LVkxqV4dkZ2u(iOz%;mo5`|)pJueE{r6!$KUYY0%>ldhLQ|)2 zRcX%gqp6C~HoyN`^aFcj0c%)W&*68VX_nb)Om@3m2ck)%{&)!pE#B(o0IQyS%*>A} z>isRC^Q%Q}8luBJ3Yv=1W!L@+W4a!$^3lAzSDB#&0)xiBu<4(`Frd{DriLZ;9N7S! zkMOv>_nE6Y->RVggi})BEqrTD8khru2F>()$I*okT>5JRv@BOJAerU>&6Np>ejuj& zR--_S*yYwI26IpH?J{bcPIVME^Og{oX-egT<(d`h%*VD}>GZ%zBlUk)Vh}oH1}gIB zc;x>^D(Qdn>~61&G=}cciZgrx@k-8Dgh#%K1Nk)C`$l-@?>P`4+J9W^vY^Q!YetJU zJRVTONJ{=q8dW>TBW2CH_Jc_U>=aewQ9i&H(I^}_+I3`s!;zSm<+3h8NTGZ_6iCig-%MkS9a)nqR8kr((!Y0_{VbHeuz<4uge`8jaFmFGI?!wrez{ zcX0-&ft0ngZ4YH4$CGsOm81anh^d8y3 zNHuF~Q`S{>-L^UWDCD^l1{1h0jmCt@x`My9eBt)PQlMyRCj7}xuNMpa59LZ(5j<4i z!0`CT;g1~LhBJ0kjU9@5;l`DC-FE#bp!uqK^yiGRRR3|CeK}4x+>2C?rqv<8=;0F zewahR^pwZsrwLMW@4*Q3LFezzTX?V#1oJV|$<%x}FmK0Y$JZ^z{HFKn$C*`R?8#jmP*lg&g5?FOFF} z?bvvkzZ#leSgv8sHmMqoQ;rhGdsSjR^uyM7UuzSYd%Q=;82af zd0Vo%R1Rw^K`&j5^nAB{0Q_NNV@)y5fNJAXT-8W;r_Dr44cc{>%V|4%)k2<-0m)A! zWmF{2j2{sca2PKmu06;()TqW^1ZcG0O6jP*m*4ofdBt^3e!0ThcyaZ}`G?XFUS%23W4A*a~Fv zwsh_|IU{ZO&x}K-c|^VP-2pCQhHB_wlH$WqS*m~3OnIAz-29#u7u0ND6<|AQuW1<0 zoN}u*I_|PvImT%>3OJj8mC~sBJ~lrR)Tw@c?&JK(P+RdPK6F9K_3(%HD&eaeyV9Qb zyLBf6E{W}+_n826=1kk8Ws18Z2e%q&j%X-jw5U8BXciwm7~xYZVmv>BY6zcg6?0j= zo2XguH!lIlM0NuSM@Jg`nX96buD-43p)Ec}Ti2*v7z+TTv%W-5wu{WOCzYY)Q4up? zJ=N)>k}1yX2NZux_N}W=GuXV|mf_Ev#J-0GIFl}HQ4QW4U|4$>q#qjqI;=I$j#opf z2?PqG)u1UE01uqrHlYq|PBk5wQ0PW!)-H@M5*HGxq#+TZp@0WwmUs|6l=;1Tu_`Gg z%EtR}dm(J*>fi6l*dB>7#EPZN`bCA!H@pq~S);QZrTP>4wF_tGRz{;nOlkl_M(0JbzY5a}z{gT`!YH`w7ZGd2Vg7Iq5Kz%U6rH z)vqm0e_2R+Z7|*7=S2TDvH0YwAQl`j*0=!>lmk|WktFa0vxhXYbr@$yD`@YL<}zRO zr^iN2P`O}K?;mw9#ph%i;^7ZJM3M$CIR8~#et@~wddkX{W}Y|aOcumUjQX0)E{tp9 zfTXjIG`CKQs-Np#EHyMrn-Z1Kn4JC%)U@yY%0N7Vm+%gFdX>wI?O$w1C>I-4m<FXfg=75LRvdQh@^$KX1g~iw5GVc`A z%U+j;o!FBScKerBGs9RhD=Dzt zq$4xGYK>WO#~-alb;9E6P2QKhRm}Cx8>JY`-zsi!Jx5IBvR7yg_cyr@xbyEP8C)ke zS&3{nSjdg)H2`>|>1pC&D?_FGt<=&U>!HI9&c`o+<5A*mlFcV0##l|E{mS%sP}?-n z(zQsmNVu1U)vMzkQ(Vf2S(qBVSU1fM<;HQ-oY;sssS&Gdj0nJ2;>+d) zpy%BaR*>Zqlv37@-<|uYi)*yWUEqo=Yff`VdmV7HYtkFFT=rwEVR+!7)MIH7G~)ot zd7f<9ZML&e7M>hFA=1uQY+ z)st}!6W##90~qz#h^oC@by*mDEA5kWVfld zqiyXhg1UCwN=KyY%w25d`1^z-aNs<2yc}*6JG&YFvE82xA`PlUED1qqQ>jQM8UuH3 zAg3oxH2B{Pe~8T8^h}@N%$(cY;AXo-5t~BUGtkoexhb^$X-&g1I10Qdu!!+~m3Xk4 zdBoVa1JrT=UX6GE&@QD?h<)|NlS=`Ffzr&WWYi^%%A+2@wE8A*!%MC)}7Ko#>6(NuyZWHUsd zG+-L=f4EG%ez885enXgHXYLRl(4`Ygx?u4z#!eQ0xQ_4@{>9)%i9)V1Z&7nbngMFq z|M;fC%=M6Hw0xqa`UwrBpHl>Nk@2dV@S z40@D2@al~FaO(|%0V|jAJECO%qV(r$@dfZ`RS{~dakz`WsdReB&QDKk$nT8y`olE?SLuqy;cN5^m@9MsxFV8s3Neis0K#{J-<{|bm^I9n$uE?m| zm^J>v#wqK;Szyfd{4T>u3$5jUMh(QTTwHM1O*r=KnRw)hcP~E{DR>&+S}scmO)pBI z)mCt){p#;2mVP0q8KXRnIrhE~B))818(Urq->7$)192$qY{BD{bKgEzWgpq6iR*G& zwz#|q?Q&e=dqMjW7Nk~^0wP7`OLEr`mt`ltPM*Jv2?Ng*_b1VG9ii%Wd{=#QBkQn8 zpG+NgXak&^%%r(SbbC;Pjds2F-h{pT7264pBv!;aV-5pRGL-gmD1s_IdHm+>beHNG z-iMFJzt<}2Ik$lNLWF3O!}}wJC+zUQSh{OB6l6qJ;{Bk?bC5+}wB3nK#%Ma%GyJ2g z58c-H91A(lnny6WGV5CPPuDAQUD6RZHwqm%H-)2oh-~M$a`JSxMbk@uX;V% zK#TQ_dbxHz-K7?1-m(#g)$?7Wl44=q3 zrTn~Qv65OYh)f(X z=_s9L7F?g<^_#V`Fx2HXwQ>1dFFbeSrZsY5HOnN)w3?i$4;NI*N7VJ#lqj1g0z8L` zbVKBHLa}!;?uhjWW@E-oSOGDYvl@JnD2Xb*-6i4(gQ5z*(C61sdd4EILAes7&zAs1 zN_V*;eGnV8*$)!dCoT*riW2J zqlqIL)THz0n1pwa!$n*4(>3Lg%=^mxeGRwUzz%a(1b zLW31fw7xrBmAvZ{kg%~{U;9)@*aW_A6C_2`?)toz$-Ah{9Ml^lS{B7S_RT zPOmq^l9>zlVHy+E_NFyZC4qnKT1b45iP{*w9H#`wO{GKdiH@`2@ zP9`hDEz?Hz1*u^nUMGKl4Ww@J#(ttPZdjoGR8D?Pa!h42`|i$iv{`)l zN{^+}qyrg+O>ITp0(A&n(pM{?MXVi}p1Axi0Jik3UO?`$6`JCSK{IDf>(X=uwRBfI zrV^>MEWugJI?t4I$Y;KVt%YNIotph6BgCtokJS_9I{~1bnJ1k+Kh#H7+??Iw zlPB$>#`N^!WNR^5=a9=~R+n!Dt!7oWEZYoub^T0YQVUus%WNxmQWUmf;^Wtl z*NbPo3gB7(7aS0Fslh)pXj?FKf zxzozGDAms751vQ#u_m8w)4d`~ql_JCpsox4pC6@)rB-~nI-ASQg~FQ{V_eB7k84*WUN2$=$CzlCA>@*`&!oLa%b||&;}uKl4Z)8pM07qRN_TCHK2_4iC+tV zQ6)#OH3YMdQWKZrWnr9b7uFs0RrHI>pyC|&_c!2m7jhknC*ZYfN31rUSYTykhC*6_ z2>MI96Px+Hzg~4@{pWn(Whx;nVy zwROtF*^lF0r2%g&G|=I<{YH-r^3w$ z!@qK^>!Wb7=tErm_^>dU<(dKb}!|`V98i!Z^`P+N2biD zYYS)YIs4($(?RMBNc9bJ!I3_R7)cyKIR(n{PcA^?UUp_q8K6~?*kn1tB zHWhCWU#_x3Z}dS=?$6_tOgn~P8}EY-yXQSU8NX4D2%1*%e;U{J zj_PVv5)bXXUZ><-(p}ds6|nf)qN#Iv0dL2U3iA;hnv$a+p>@%54cgB0=eSO?UfNP>D2U8vlvGH)Ps8dspsTfH7 zxBAimvRq%AE{@rEJb%ACY6B+hR7z-B`|@TEyVke&Y^XWVvN14gHkOWaJ`)#*0|oUo%tVh@u}CXgifTJe7jcl`2)URmc(}M zn`P19-)f~wiL5vNBrXzASVlYJk2a`0!$@kak*SEsm78XHA5i^6wZYTx;66GCp~2qH z{OfWp*P^trw>KO$Pa}>Y^bk!_rx2Ln4qfY&Ir5`1=28ZQ{~h z4#5s91g^N|B*a8{4j5H3hk(*=p0T3S5cPI6hMH`OjuHr6wxd2Vde>IzYh-R#Tnj0O zNLr3a$0sa<`!#Dflf|Cte-k=njj5Un=vB^BLbL5@3r-41a`e)ajjvqT0-;xV+J-`J zzx!QF7camu$S1x;7N0{eEt9R^V{`_9I@*~qFkpnl9&BeU3?$?zTiFQs1htgp zBWBq6$%?q}h0Ym7El;Wc$n&*^r1vEPul=8ajf>YNSpL16E`v|1Qu^D`1FYb z97UfeJ)`td(vvWQ=Dy*voGM9}Z;obx5_rRe%dwwZ>~_3`Y4c?6AFQBvt$=EB{#rPUHedU(M4vsk1KM2ZXTUD zpo3nD$cy?s!|KLav6-oDZSAn}gJ0+c@+9Eo|K?v!i;CI=E9X`)Gc#&?6jBn--!2`Z z%~#H2bugdovp#CC0EHR|TN+wMf6My5@eI!u<;(&9gfF}S2Eu|l5HOl<78X@dv0u_x z*+sZ_=6q7h+PjxxO5<Qocp>-zOkbq!7p$Qcofkvio#&(DA4+pA{L9YQ&8*F)Y^PAk;Ft2DBB5a7j5ILw_wTq3usmjMCD9Yxo9fW>QEa zQ`uFvcrJ!py3V)ir`6N^h<7OBsEw7CB_%7)Hg)*b`8L|yB-Y0UR8|nSF2y?;I6dFI z^-!Bwqr2XCE{j3?Eyt1zc@$#qV>|qN71ku4HQVE~d=W~2!oAbLJ+icLlO1 z0)}?TLkPN48&A2*4%_ESbB7-gNy;m&LU?%L?4@t`qikFT6Fg1{CrF>wFq?QR~e53XKsSDr4N?uxkubV4;wwl0vXQNJQ& z{W`Ol-8jz|5id61j2QQ)=}x`u3}$^3VcD{%O~8SZ%kfqE^M8NgxV5JYZmt-z#_YoO z<#}>O4emw+Ohw(cAcfzCOfXm2a@ma)5_fwBu3*%~Z0sL*Zt(yg O7tO5Bm7H - - - - -SonyBridge — Control your Sony headphones from your desktop - - - - - - - - - - - - - - -

C*91?Z#Uh3zgk#0 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 diff --git a/Client/resources/devices/wh-ch520.png b/Client/resources/devices/wh-ch520.png deleted file mode 100644 index 3d308711da860e8e950ab0a11956a9bc8979610b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68700 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 diff --git a/Client/resources/devices/wh-ch720n.png b/Client/resources/devices/wh-ch720n.png deleted file mode 100644 index e885a9b32957ee48018508b59ecff196363af807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122300 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