From 9e48ac86581533ddcb365adce49a7b0278d9229f Mon Sep 17 00:00:00 2001 From: yangjianhao Date: Mon, 24 Jun 2024 15:52:34 +0800 Subject: [PATCH 01/10] Import Upstream version 2.0.1.0 --- .clang-format | 74 +++++ README.md | 1 + data/org.fcitx.Fcitx5.VirtualKeyboard.service | 3 + floatbutton.qrc | 10 + img/backspace.svg | 5 + img/close.svg | 4 + img/close_pressed.svg | 4 + img/disablefloatbutton.svg | 4 + img/down.svg | 3 + img/downfloat.svg | 6 + img/enablefloatbutton.svg | 9 + img/enter.svg | 4 + img/floatbutton_default.qrc | 2 + img/floatbuttondefault.svg | 8 + img/floatbuttonhovered.svg | 6 + img/floatbuttonpressed.svg | 6 + img/left.svg | 3 + img/right.svg | 3 + img/space.svg | 10 + img/up.svg | 3 + img/upfloat.svg | 6 + kylin-virtual-keyboard.pro | 80 ++++++ qml.qrc | 45 ++++ qml/CandidateList.qml | 48 ++++ qml/ClassicKeyboardLayout.qml | 101 +++++++ qml/DragBar.qml | 54 ++++ qml/HideButton.qml | 31 +++ qml/KeyboardLayoutArea.qml | 12 + qml/PlacementModeButton.qml | 42 +++ qml/Preedit.qml | 17 ++ qml/ToolArea.qml | 9 + qml/Toolbar.qml | 13 + qml/ToolbarAndCandidateArea.qml | 10 + qml/VirtualKeyboard.qml | 253 ++++++++++++++++++ qml/js/utils.js | 61 +++++ qml/key/ActionKey.qml | 33 +++ qml/key/AltKey.qml | 40 +++ qml/key/BackspaceKey.qml | 9 + qml/key/BaseKey.qml | 45 ++++ qml/key/CapslockKey.qml | 45 ++++ qml/key/ChangeImKey.qml | 125 +++++++++ qml/key/CharKey.qml | 83 ++++++ qml/key/CtrlKey.qml | 41 +++ qml/key/EnterKey.qml | 8 + qml/key/FnKey.qml | 43 +++ qml/key/FnSymbolKey.qml | 25 ++ qml/key/LetterKey.qml | 24 ++ qml/key/ShiftKey.qml | 50 ++++ qml/key/SpaceKey.qml | 5 + qml/key/SwitchKey.qml | 140 ++++++++++ qml/key/SymbolKey.qml | 50 ++++ qml/key/TemporarySwitchKey.qml | 21 ++ qml/key/WinKey.qml | 42 +++ src/appinputareamanager.cpp | 31 +++ src/appinputareamanager.h | 27 ++ .../expansiongeometrymanager.cpp | 34 +++ .../expansiongeometrymanager.h | 20 ++ src/geometrymanager/floatgeometrymanager.cpp | 186 +++++++++++++ src/geometrymanager/floatgeometrymanager.h | 85 ++++++ src/geometrymanager/geometrymanager.cpp | 17 ++ src/geometrymanager/geometrymanager.h | 34 +++ src/ipc/dbusservice.cpp | 76 ++++++ src/ipc/dbusservice.h | 48 ++++ src/ipc/fcitxvirtualkeyboardserviceproxy.cpp | 25 ++ src/ipc/fcitxvirtualkeyboardserviceproxy.h | 27 ++ src/ipc/requestmerger.cpp | 143 ++++++++++ src/ipc/requestmerger.h | 61 +++++ src/localsettings/localsettings.h | 19 ++ src/localsettings/viewlocalsettings.cpp | 28 ++ src/localsettings/viewlocalsettings.h | 22 ++ src/main.cpp | 28 ++ src/screenmanager.cpp | 14 + src/screenmanager.h | 16 ++ src/virtualkeyboard/placementmodemanager.cpp | 58 ++++ src/virtualkeyboard/placementmodemanager.h | 43 +++ .../virtualkeyboardmanager.cpp | 203 ++++++++++++++ src/virtualkeyboard/virtualkeyboardmanager.h | 77 ++++++ src/virtualkeyboard/virtualkeyboardmodel.cpp | 185 +++++++++++++ src/virtualkeyboard/virtualkeyboardmodel.h | 86 ++++++ src/virtualkeyboard/virtualkeyboardstrategy.h | 44 +++ src/virtualkeyboard/virtualkeyboardview.cpp | 64 +++++ src/virtualkeyboard/virtualkeyboardview.h | 40 +++ .../fcitxvirtualkeyboardservice.h | 15 ++ src/virtualkeyboardentry/floatbutton.cpp | 133 +++++++++ src/virtualkeyboardentry/floatbutton.h | 62 +++++ .../floatbuttonmanager.cpp | 159 +++++++++++ src/virtualkeyboardentry/floatbuttonmanager.h | 69 +++++ .../floatbuttonstrategy.h | 42 +++ .../virtualkeyboardentrymanager.cpp | 87 ++++++ .../virtualkeyboardentrymanager.h | 48 ++++ .../virtualkeyboardtrayicon.cpp | 70 +++++ .../virtualkeyboardtrayicon.h | 45 ++++ translations.qrc | 8 + translations/translation.qm | Bin 0 -> 396 bytes translations/translation.ts | 25 ++ translations/translation_bo_CN.qm | Bin 0 -> 441 bytes translations/translation_bo_CN.ts | 25 ++ translations/translation_en.qm | Bin 0 -> 396 bytes translations/translation_en.ts | 25 ++ translations/translation_zh_CN.qm | Bin 0 -> 299 bytes translations/translation_zh_CN.ts | 25 ++ 101 files changed, 4358 insertions(+) create mode 100644 .clang-format create mode 100644 README.md create mode 100644 data/org.fcitx.Fcitx5.VirtualKeyboard.service create mode 100644 floatbutton.qrc create mode 100644 img/backspace.svg create mode 100644 img/close.svg create mode 100644 img/close_pressed.svg create mode 100644 img/disablefloatbutton.svg create mode 100644 img/down.svg create mode 100644 img/downfloat.svg create mode 100644 img/enablefloatbutton.svg create mode 100644 img/enter.svg create mode 100644 img/floatbutton_default.qrc create mode 100644 img/floatbuttondefault.svg create mode 100644 img/floatbuttonhovered.svg create mode 100644 img/floatbuttonpressed.svg create mode 100644 img/left.svg create mode 100644 img/right.svg create mode 100644 img/space.svg create mode 100644 img/up.svg create mode 100644 img/upfloat.svg create mode 100644 kylin-virtual-keyboard.pro create mode 100644 qml.qrc create mode 100644 qml/CandidateList.qml create mode 100644 qml/ClassicKeyboardLayout.qml create mode 100644 qml/DragBar.qml create mode 100644 qml/HideButton.qml create mode 100644 qml/KeyboardLayoutArea.qml create mode 100644 qml/PlacementModeButton.qml create mode 100644 qml/Preedit.qml create mode 100644 qml/ToolArea.qml create mode 100644 qml/Toolbar.qml create mode 100644 qml/ToolbarAndCandidateArea.qml create mode 100644 qml/VirtualKeyboard.qml create mode 100644 qml/js/utils.js create mode 100755 qml/key/ActionKey.qml create mode 100755 qml/key/AltKey.qml create mode 100644 qml/key/BackspaceKey.qml create mode 100755 qml/key/BaseKey.qml create mode 100755 qml/key/CapslockKey.qml create mode 100755 qml/key/ChangeImKey.qml create mode 100755 qml/key/CharKey.qml create mode 100755 qml/key/CtrlKey.qml create mode 100644 qml/key/EnterKey.qml create mode 100755 qml/key/FnKey.qml create mode 100755 qml/key/FnSymbolKey.qml create mode 100755 qml/key/LetterKey.qml create mode 100755 qml/key/ShiftKey.qml create mode 100644 qml/key/SpaceKey.qml create mode 100755 qml/key/SwitchKey.qml create mode 100755 qml/key/SymbolKey.qml create mode 100644 qml/key/TemporarySwitchKey.qml create mode 100755 qml/key/WinKey.qml create mode 100644 src/appinputareamanager.cpp create mode 100644 src/appinputareamanager.h create mode 100644 src/geometrymanager/expansiongeometrymanager.cpp create mode 100644 src/geometrymanager/expansiongeometrymanager.h create mode 100644 src/geometrymanager/floatgeometrymanager.cpp create mode 100644 src/geometrymanager/floatgeometrymanager.h create mode 100644 src/geometrymanager/geometrymanager.cpp create mode 100644 src/geometrymanager/geometrymanager.h create mode 100644 src/ipc/dbusservice.cpp create mode 100644 src/ipc/dbusservice.h create mode 100644 src/ipc/fcitxvirtualkeyboardserviceproxy.cpp create mode 100644 src/ipc/fcitxvirtualkeyboardserviceproxy.h create mode 100644 src/ipc/requestmerger.cpp create mode 100644 src/ipc/requestmerger.h create mode 100644 src/localsettings/localsettings.h create mode 100644 src/localsettings/viewlocalsettings.cpp create mode 100644 src/localsettings/viewlocalsettings.h create mode 100644 src/main.cpp create mode 100644 src/screenmanager.cpp create mode 100644 src/screenmanager.h create mode 100644 src/virtualkeyboard/placementmodemanager.cpp create mode 100644 src/virtualkeyboard/placementmodemanager.h create mode 100644 src/virtualkeyboard/virtualkeyboardmanager.cpp create mode 100644 src/virtualkeyboard/virtualkeyboardmanager.h create mode 100644 src/virtualkeyboard/virtualkeyboardmodel.cpp create mode 100644 src/virtualkeyboard/virtualkeyboardmodel.h create mode 100644 src/virtualkeyboard/virtualkeyboardstrategy.h create mode 100644 src/virtualkeyboard/virtualkeyboardview.cpp create mode 100644 src/virtualkeyboard/virtualkeyboardview.h create mode 100644 src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h create mode 100644 src/virtualkeyboardentry/floatbutton.cpp create mode 100644 src/virtualkeyboardentry/floatbutton.h create mode 100644 src/virtualkeyboardentry/floatbuttonmanager.cpp create mode 100644 src/virtualkeyboardentry/floatbuttonmanager.h create mode 100644 src/virtualkeyboardentry/floatbuttonstrategy.h create mode 100644 src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp create mode 100644 src/virtualkeyboardentry/virtualkeyboardentrymanager.h create mode 100644 src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp create mode 100644 src/virtualkeyboardentry/virtualkeyboardtrayicon.h create mode 100644 translations.qrc create mode 100644 translations/translation.qm create mode 100644 translations/translation.ts create mode 100644 translations/translation_bo_CN.qm create mode 100644 translations/translation_bo_CN.ts create mode 100644 translations/translation_en.qm create mode 100644 translations/translation_en.ts create mode 100644 translations/translation_zh_CN.qm create mode 100644 translations/translation_zh_CN.ts diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..5d94bf9 --- /dev/null +++ b/.clang-format @@ -0,0 +1,74 @@ +--- +Language: Cpp +# BasedOnStyle: LLVM +AccessModifierOffset: -4 +ConstructorInitializerIndentWidth: 4 +AlignEscapedNewlinesLeft: false +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AllowShortFunctionsOnASingleLine: All +AlwaysBreakTemplateDeclarations: true +AlwaysBreakBeforeMultilineStrings: false +BreakBeforeBinaryOperators: false +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +BinPackParameters: true +ColumnLimit: 80 +ConstructorInitializerAllOnOneLineOrOnePerLine: false +DerivePointerAlignment: false +ExperimentalAutoDetectBinPacking: false +IndentCaseLabels: false +IndentWrappedFunctionNames: false +IndentFunctionDeclarationAfterType: false +MaxEmptyLinesToKeep: 1 +KeepEmptyLinesAtTheStartOfBlocks: true +NamespaceIndentation: None +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakString: 1000 +PenaltyBreakFirstLessLess: 120 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PointerAlignment: Right +SpacesBeforeTrailingComments: 1 +Cpp11BracedListStyle: true +Standard: Cpp11 +IndentWidth: 4 +TabWidth: 4 +UseTab: Never +BreakBeforeBraces: Attach +SpacesInParentheses: false +SpacesInAngles: false +SpaceInEmptyParentheses: false +SpacesInCStyleCastParentheses: false +SpacesInContainerLiterals: true +SpaceBeforeAssignmentOperators: true +ContinuationIndentWidth: 4 +CommentPragmas: '^ IWYU pragma:' +ForEachMacros: [ Q_FOREACH, BOOST_FOREACH ] +SpaceBeforeParens: ControlStatements +DisableFormat: false +SortIncludes: true +IncludeCategories: + # C system headers. + - Regex: '^[<"](aio|arpa/inet|assert|complex|cpio|ctype|curses|dirent|dlfcn|errno|fcntl|fenv|float|fmtmsg|fnmatch|ftw|glob|grp|iconv|inttypes|iso646|langinfo|libgen|limits|locale|math|monetary|mqueue|ndbm|netdb|net/if|netinet/in|netinet/tcp|nl_types|poll|pthread|pwd|regex|sched|search|semaphore|setjmp|signal|spawn|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|strings|stropts|sys/ipc|syslog|sys/mman|sys/msg|sys/resource|sys/select|sys/sem|sys/shm|sys/socket|sys/stat|sys/statvfs|sys/time|sys/times|sys/types|sys/uio|sys/un|sys/utsname|sys/wait|tar|term|termios|tgmath|threads|time|trace|uchar|ulimit|uncntrl|unistd|utime|utmpx|wchar|wctype|wordexp)\.h[">]$' + Priority: 20 + # C++ system headers (as of C++17). + - Regex: '^[<"](algorithm|any|array|atomic|bitset|cassert|ccomplex|cctype|cerrno|cfenv|cfloat|charconv|chrono|cinttypes|ciso646|climits|clocale|cmath|codecvt|complex|condition_variable|csetjmp|csignal|cstdalign|cstdarg|cstdbool|cstddef|cstdint|cstdio|cstdlib|cstring|ctgmath|ctime|cuchar|cwchar|cwctype|deque|exception|execution|filesystem|forward_list|fstream|functional|future|initializer_list|iomanip|ios|iosfwd|iostream|istream|iterator|limits|list|locale|map|memory|memory_resource|mutex|new|numeric|optional|ostream|queue|random|ratio|regex|scoped_allocator|set|shared_mutex|sstream|stack|stdexcept|streambuf|string|string_view|strstream|system_error|thread|tuple|type_traits|typeindex|typeinfo|unordered_map|unordered_set|utility|valarray|variant|vector)[">]$' + Priority: 30 + # Other libraries' h files (with angles). + - Regex: '^<' + Priority: 40 + # Your project's h files. + - Regex: '^[<"]fcitx' + Priority: 45 + # Other libraries' h files (with quotes). + - Regex: '^"' + Priority: 50 +... + diff --git a/README.md b/README.md new file mode 100644 index 0000000..a94ebb6 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +麒麟虚拟键盘输入法UI工程,该工程适配fcitx5最新的虚拟键盘支持机制。 \ No newline at end of file diff --git a/data/org.fcitx.Fcitx5.VirtualKeyboard.service b/data/org.fcitx.Fcitx5.VirtualKeyboard.service new file mode 100644 index 0000000..2e32024 --- /dev/null +++ b/data/org.fcitx.Fcitx5.VirtualKeyboard.service @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.fcitx.Fcitx5.VirtualKeyboard +Exec=/usr/bin/kylin-virtual-keyboard diff --git a/floatbutton.qrc b/floatbutton.qrc new file mode 100644 index 0000000..66d0728 --- /dev/null +++ b/floatbutton.qrc @@ -0,0 +1,10 @@ + + + img/enablefloatbutton.svg + img/disablefloatbutton.svg + img/floatbuttondefault.svg + img/floatbuttonpressed.svg + img/floatbuttonhovered.svg + + + diff --git a/img/backspace.svg b/img/backspace.svg new file mode 100644 index 0000000..8cb0dd2 --- /dev/null +++ b/img/backspace.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/img/close.svg b/img/close.svg new file mode 100644 index 0000000..7cd0ed5 --- /dev/null +++ b/img/close.svg @@ -0,0 +1,4 @@ + + + + diff --git a/img/close_pressed.svg b/img/close_pressed.svg new file mode 100644 index 0000000..1de6a2f --- /dev/null +++ b/img/close_pressed.svg @@ -0,0 +1,4 @@ + + + + diff --git a/img/disablefloatbutton.svg b/img/disablefloatbutton.svg new file mode 100644 index 0000000..eb39937 --- /dev/null +++ b/img/disablefloatbutton.svg @@ -0,0 +1,4 @@ + + + + diff --git a/img/down.svg b/img/down.svg new file mode 100644 index 0000000..94c056a --- /dev/null +++ b/img/down.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/downfloat.svg b/img/downfloat.svg new file mode 100644 index 0000000..59855e7 --- /dev/null +++ b/img/downfloat.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/img/enablefloatbutton.svg b/img/enablefloatbutton.svg new file mode 100644 index 0000000..1a8eecd --- /dev/null +++ b/img/enablefloatbutton.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/img/enter.svg b/img/enter.svg new file mode 100644 index 0000000..9c09d11 --- /dev/null +++ b/img/enter.svg @@ -0,0 +1,4 @@ + + + + diff --git a/img/floatbutton_default.qrc b/img/floatbutton_default.qrc new file mode 100644 index 0000000..90f4a83 --- /dev/null +++ b/img/floatbutton_default.qrc @@ -0,0 +1,2 @@ + + diff --git a/img/floatbuttondefault.svg b/img/floatbuttondefault.svg new file mode 100644 index 0000000..43e1e4a --- /dev/null +++ b/img/floatbuttondefault.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/img/floatbuttonhovered.svg b/img/floatbuttonhovered.svg new file mode 100644 index 0000000..559c7e2 --- /dev/null +++ b/img/floatbuttonhovered.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/img/floatbuttonpressed.svg b/img/floatbuttonpressed.svg new file mode 100644 index 0000000..5d61c89 --- /dev/null +++ b/img/floatbuttonpressed.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/img/left.svg b/img/left.svg new file mode 100644 index 0000000..67c9465 --- /dev/null +++ b/img/left.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/right.svg b/img/right.svg new file mode 100644 index 0000000..e830f31 --- /dev/null +++ b/img/right.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/space.svg b/img/space.svg new file mode 100644 index 0000000..e9b882a --- /dev/null +++ b/img/space.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/img/up.svg b/img/up.svg new file mode 100644 index 0000000..93f8d76 --- /dev/null +++ b/img/up.svg @@ -0,0 +1,3 @@ + + + diff --git a/img/upfloat.svg b/img/upfloat.svg new file mode 100644 index 0000000..26867e5 --- /dev/null +++ b/img/upfloat.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/kylin-virtual-keyboard.pro b/kylin-virtual-keyboard.pro new file mode 100644 index 0000000..ee7875d --- /dev/null +++ b/kylin-virtual-keyboard.pro @@ -0,0 +1,80 @@ +QT += quick +QT += dbus +QT += core gui +QT += KWindowSystem +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +# You can make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + src/appinputareamanager.cpp \ + src/geometrymanager/expansiongeometrymanager.cpp \ + src/geometrymanager/floatgeometrymanager.cpp \ + src/geometrymanager/geometrymanager.cpp \ + src/ipc/dbusservice.cpp \ + src/ipc/fcitxvirtualkeyboardserviceproxy.cpp \ + src/ipc/requestmerger.cpp \ + src/localsettings/viewlocalsettings.cpp \ + src/main.cpp \ + src/screenmanager.cpp \ + src/virtualkeyboard/placementmodemanager.cpp \ + src/virtualkeyboard/virtualkeyboardmanager.cpp \ + src/virtualkeyboard/virtualkeyboardmodel.cpp \ + src/virtualkeyboard/virtualkeyboardview.cpp \ + src/virtualkeyboardentry/floatbutton.cpp \ + src/virtualkeyboardentry/floatbuttonmanager.cpp \ + src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp \ + src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp + +TRANSLATIONS = translations/translation.ts \ + translations/translation_bo_CN.ts \ + translations/translation_en.ts \ + translations/translation_zh_CN.ts + +RESOURCES += \ + floatbutton.qrc \ + qml.qrc \ + translations.qrc + +# Additional import path used to resolve QML modules in Qt Creator's code model +QML_IMPORT_PATH = + +# Additional import path used to resolve QML modules just for Qt Quick Designer +QML_DESIGNER_IMPORT_PATH = + +# Default rules for deployment. +qnx: target.path = /usr/bin +else: unix:!android: target.path = /usr/bin +!isEmpty(target.path): INSTALLS += target + +INCLUDEPATH += src/ + +HEADERS += \ + src/appinputareamanager.h \ + src/geometrymanager/expansiongeometrymanager.h \ + src/geometrymanager/floatgeometrymanager.h \ + src/geometrymanager/geometrymanager.h \ + src/ipc/dbusservice.h \ + src/ipc/fcitxvirtualkeyboardserviceproxy.h \ + src/ipc/requestmerger.h \ + src/localsettings/localsettings.h \ + src/localsettings/viewlocalsettings.h \ + src/screenmanager.h \ + src/virtualkeyboard/placementmodemanager.h \ + src/virtualkeyboard/virtualkeyboardmanager.h \ + src/virtualkeyboard/virtualkeyboardmodel.h \ + src/virtualkeyboard/virtualkeyboardstrategy.h \ + src/virtualkeyboard/virtualkeyboardview.h \ + src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h \ + src/virtualkeyboardentry/floatbutton.h \ + src/virtualkeyboardentry/floatbuttonmanager.h \ + src/virtualkeyboardentry/floatbuttonstrategy.h \ + src/virtualkeyboardentry/virtualkeyboardentrymanager.h \ + src/virtualkeyboardentry/virtualkeyboardtrayicon.h + +DISTFILES += + +LIBS += -lFcitx5Qt5DBusAddons + diff --git a/qml.qrc b/qml.qrc new file mode 100644 index 0000000..afeadc0 --- /dev/null +++ b/qml.qrc @@ -0,0 +1,45 @@ + + + qml/VirtualKeyboard.qml + qml/Preedit.qml + qml/ToolbarAndCandidateArea.qml + qml/Toolbar.qml + qml/CandidateList.qml + qml/KeyboardLayoutArea.qml + qml/ClassicKeyboardLayout.qml + qml/ToolArea.qml + qml/HideButton.qml + qml/key/ActionKey.qml + qml/key/AltKey.qml + qml/key/BaseKey.qml + qml/key/CapslockKey.qml + qml/key/ChangeImKey.qml + qml/key/CharKey.qml + qml/key/CtrlKey.qml + qml/key/FnKey.qml + qml/key/FnSymbolKey.qml + qml/key/LetterKey.qml + qml/key/ShiftKey.qml + qml/key/SpaceKey.qml + qml/key/SwitchKey.qml + qml/key/SymbolKey.qml + qml/key/TemporarySwitchKey.qml + qml/key/WinKey.qml + qml/js/utils.js + qml/key/BackspaceKey.qml + qml/key/EnterKey.qml + qml/PlacementModeButton.qml + img/upfloat.svg + img/downfloat.svg + qml/DragBar.qml + img/space.svg + img/backspace.svg + img/close.svg + img/close_pressed.svg + img/enter.svg + img/left.svg + img/right.svg + img/up.svg + img/down.svg + + diff --git a/qml/CandidateList.qml b/qml/CandidateList.qml new file mode 100644 index 0000000..57db048 --- /dev/null +++ b/qml/CandidateList.qml @@ -0,0 +1,48 @@ +import QtQuick 2.0 +import QtQuick.Controls 2.0 + +Rectangle { + width: virtualKeyboard.width + height: virtualKeyboard.toolAndCandidateHeight + color: virtualKeyboard.virtualKeyboardColor + visible: !virtualKeyboard.isToolbarVisible + + Rectangle{ + id: candidateListRectangle + width: virtualKeyboard.candidateListWidth + height: virtualKeyboard.toolAndCandidateHeight - virtualKeyboard.cardinalNumber + color: virtualKeyboard.candidateListBackgroundColor + anchors.horizontalCenter: parent.horizontalCenter + y: cardinalNumber + radius: 15 + ListView { + x: virtualKeyboard.candidateListX + width: virtualKeyboard.candidateListWidth - x + height: parent.height + visible: true + clip: true + boundsBehavior: Flickable.StopAtBounds + orientation: ListView.Horizontal + model: virtualKeyboard.candidateList + spacing: 20 + delegate: Text { + id: candidate + text: modelData + font.pointSize: virtualKeyboard.candidateFontSize + // TODO(litian): 使用更好的方式使候选词居中 + /*设置居中,设置anchors.verticalCenter: parent.verticalCenter会报错 + TypeError: Cannot read property 'verticalCenter' of null, 因此手动计算居中位置*/ + y: (candidateListRectangle.height - height)/2 + MouseArea { + anchors.fill: parent + onClicked: { + virtualKeyboard.selectCandidate(index) + console.debug("点击了",index,modelData) + } + } + } + } + } + +} + diff --git a/qml/ClassicKeyboardLayout.qml b/qml/ClassicKeyboardLayout.qml new file mode 100644 index 0000000..d6bf5cd --- /dev/null +++ b/qml/ClassicKeyboardLayout.qml @@ -0,0 +1,101 @@ +import QtQuick 2.0 +import "key/" + +Column { + width: virtualKeyboard.width + spacing: virtualKeyboard.keySpacing + visible: virtualKeyboard.layout == "classic" ? true : false + + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing + ActionKey{ label: "Esc" ;height: virtualKeyboard.keyHeight * 3/4} + FnSymbolKey{ label: "`"; shiftedText: "~"; fnValue:"~" } + FnSymbolKey{ label: "1"; shiftedText: "!"; fnValue:"F1" } + FnSymbolKey{ label: "2"; shiftedText: "@"; fnValue:"F2" } + FnSymbolKey{ label: "3"; shiftedText: "#"; fnValue:"F3" } + FnSymbolKey{ label: "4"; shiftedText: "$"; fnValue:"F4" } + FnSymbolKey{ label: "5"; shiftedText: "%"; fnValue:"F5" } + FnSymbolKey{ label: "6"; shiftedText: "^"; fnValue:"F6" } + FnSymbolKey{ label: "7"; shiftedText: "&"; fnValue:"F7" } + FnSymbolKey{ label: "8"; shiftedText: "*"; fnValue:"F8" } + FnSymbolKey{ label: "9"; shiftedText: "("; fnValue:"F9" } + FnSymbolKey{ label: "0"; shiftedText: ")"; fnValue:"F10" } + FnSymbolKey{ label: "-"; shiftedText: "_"; fnValue:"F11" } + FnSymbolKey{ label: "="; shiftedText: "+"; fnValue:"F12" } + BackspaceKey{} + } + + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing + ActionKey{ label: "Tab"; width: virtualKeyboard.keyWidth*1.5 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } + LetterKey{ label: "q"; shiftedText: "Q" } + LetterKey{ label: "w"; shiftedText: "W" } + LetterKey{ label: "e"; shiftedText: "E" } + LetterKey{ label: "r"; shiftedText: "R" } + LetterKey{ label: "t"; shiftedText: "T" } + LetterKey{ label: "y"; shiftedText: "Y" } + LetterKey{ label: "u"; shiftedText: "U" } + LetterKey{ label: "i"; shiftedText: "I" } + LetterKey{ label: "o"; shiftedText: "O" } + LetterKey{ label: "p"; shiftedText: "P" } + SymbolKey{ label: "["; shiftedText: "{" } + SymbolKey{ label: "]"; shiftedText: "}" } + SymbolKey{ label: "\\"; shiftedText: "|" } + ActionKey{ label: "Del" } + } + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing + + CapslockKey{width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } + LetterKey{ label: "a"; shiftedText: "A" } + LetterKey{ label: "s"; shiftedText: "S" } + LetterKey{ label: "d"; shiftedText: "D" } + LetterKey{ label: "f"; shiftedText: "F" } + LetterKey{ label: "g"; shiftedText: "G" } + LetterKey{ label: "h"; shiftedText: "H" } + LetterKey{ label: "j"; shiftedText: "J" } + LetterKey{ label: "k"; shiftedText: "K" } + LetterKey{ label: "l"; shiftedText: "L" } + SymbolKey{ label: ";"; shiftedText: ":" } + SymbolKey{ label: "'"; shiftedText: "\"" } + EnterKey{} + + } + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing + ShiftKey{width: virtualKeyboard.keyWidth*2.5 + virtualKeyboard.keySpacing*2; alignment: Text.AlignLeft } + LetterKey{ label: "z" ; shiftedText: "Z" } + LetterKey{ label: "x" ; shiftedText: "X" } + LetterKey{ label: "c" ; shiftedText: "C" } + LetterKey{ label: "v" ; shiftedText: "V" } + LetterKey{ label: "b" ; shiftedText: "B" } + LetterKey{ label: "n" ; shiftedText: "N" } + LetterKey{ label: "m" ; shiftedText: "M" } + SymbolKey{ label: ","; shiftedText: "<" } + SymbolKey{ label: "."; shiftedText: ">" } + SymbolKey{ label: "/"; shiftedText: "?" } + ActionKey{ label: "up"; actionKeyImgPath: "qrc:/img/up.svg" } + ShiftKey{ width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignRight } + } + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing + CtrlKey{} + FnKey{} + //暂时删除win键 +// WinKey{} + AltKey{} + ChangeImKey{} + SpaceKey{} + AltKey{} + ActionKey{ label: "left"; actionKeyImgPath: "qrc:/img/left.svg" } + ActionKey{ label: "down"; actionKeyImgPath: "qrc:/img/down.svg" } + ActionKey{ label: "right"; actionKeyImgPath: "qrc:/img/right.svg" } + CtrlKey{} + } +} + diff --git a/qml/DragBar.qml b/qml/DragBar.qml new file mode 100644 index 0000000..1ec07ca --- /dev/null +++ b/qml/DragBar.qml @@ -0,0 +1,54 @@ +import QtQuick 2.0 + +Rectangle { + id: dragBar + width: virtualKeyboard.width + height: virtualKeyboard.dragBarHeight + color: virtualKeyboard.virtualKeyboardColor + radius: virtualKeyboard.virtualKeyboardFloatPlacementRadius + + property int startX: 0; + property int startY: 0; + + MouseArea { + anchors.fill: parent + onPressed: { + startX = mouseX + startY = mouseY + } + onPositionChanged: { + virtualKeyboard.moveBy(mouseX - startX, mouseY - startY) + } + + onReleased: { + virtualKeyboard.endDrag() + } + } + + Rectangle { + id: dragBarIndicator + anchors.centerIn: parent + width: virtualKeyboard.dragBarIndicatorWidth + height: virtualKeyboard.dragBarIndicatorHeight + color: virtualKeyboard.dragBarIndicatorColor + radius: virtualKeyboard.dragBarIndicatorRadius + } + + state: virtualKeyboard.placementMode + states: [ + State { + name: "EXPANSION" + PropertyChanges { + target: dragBar + visible: false + } + }, + State { + name: "FLOAT" + PropertyChanges { + target: dragBar + visible: true + } + } + ] +} diff --git a/qml/HideButton.qml b/qml/HideButton.qml new file mode 100644 index 0000000..dcd4c53 --- /dev/null +++ b/qml/HideButton.qml @@ -0,0 +1,31 @@ +import QtQuick 2.0 +import QtQuick.Controls 2.0 + +Rectangle { + height: virtualKeyboard.toolbarSize + width: virtualKeyboard.toolbarSize + anchors.verticalCenter: parent.verticalCenter + anchors.right: parent.right + anchors.rightMargin: virtualKeyboard.cardinalNumber * 3.5 + color: virtualKeyboard.virtualKeyboardColor + Image { + id: hideButtonImg + anchors.centerIn: parent + sourceSize: Qt.size(parent.width, parent.width) + source: "qrc:/img/close.svg" + } + + MouseArea { + anchors.fill: parent + + onPressed: { + hideButtonImg.source = "qrc:/img/close_pressed.svg" + } + + onReleased: { + virtualKeyboard.hideVirtualKeyboard() + } + } + + +} diff --git a/qml/KeyboardLayoutArea.qml b/qml/KeyboardLayoutArea.qml new file mode 100644 index 0000000..5c561a7 --- /dev/null +++ b/qml/KeyboardLayoutArea.qml @@ -0,0 +1,12 @@ +import QtQuick 2.0 +import QtQuick.Window 2.0 + +Rectangle { + width: virtualKeyboard.width + height: virtualKeyboard.keyboardLayoutHeight + anchors.top: toolbarAndCandidate.bottom + anchors.topMargin: keySpacing * 2 + color: virtualKeyboard.virtualKeyboardColor + + ClassicKeyboardLayout{} +} diff --git a/qml/PlacementModeButton.qml b/qml/PlacementModeButton.qml new file mode 100644 index 0000000..f94af42 --- /dev/null +++ b/qml/PlacementModeButton.qml @@ -0,0 +1,42 @@ +import QtQuick 2.0 + +Rectangle { + height: virtualKeyboard.toolbarSize + width: virtualKeyboard.toolbarSize + + property var alignmentRight + + anchors.verticalCenter: parent.verticalCenter + anchors.right: alignmentRight.left + anchors.rightMargin: virtualKeyboard.cardinalNumber * 3.5 + color: virtualKeyboard.virtualKeyboardColor + Image { + id: placementModelButtonImg + sourceSize: Qt.size(parent.width, parent.width) + source: "qrc:/img/upfloat.svg" + anchors.centerIn: parent + } + + MouseArea { + anchors.fill: parent + onClicked: virtualKeyboard.flipPlacementMode() + } + + state: virtualKeyboard.placementMode + states: [ + State { + name: "EXPANSION" + PropertyChanges { + target: placementModelButtonImg + source: "qrc:/img/upfloat.svg" + } + }, + State { + name: "FLOAT" + PropertyChanges { + target: placementModelButtonImg + source: "qrc:/img/downfloat.svg" + } + } + ] +} diff --git a/qml/Preedit.qml b/qml/Preedit.qml new file mode 100644 index 0000000..cae8a77 --- /dev/null +++ b/qml/Preedit.qml @@ -0,0 +1,17 @@ +import QtQuick 2.0 +import QtQuick.Controls 2.0 + +Rectangle { + width: virtualKeyboard.width + height: virtualKeyboard.preeditHeight + color: virtualKeyboard.virtualKeyboardColor + x: virtualKeyboard.preeditX + anchors.top: dragBar.visible ? dragBar.bottom : parent.top + + Label { + font.pointSize: virtualKeyboard.preeditTextFontSize + anchors.verticalCenter: parent.verticalCenter + text: virtualKeyboard.preeditText + color: "black" + } +} diff --git a/qml/ToolArea.qml b/qml/ToolArea.qml new file mode 100644 index 0000000..5905b87 --- /dev/null +++ b/qml/ToolArea.qml @@ -0,0 +1,9 @@ +import QtQuick 2.0 + +Rectangle { + width: virtualKeyboard.width + height: virtualKeyboard.keyboardLayoutHeight + anchors.top: toolbarAndCandidate.bottom + visible: virtualKeyboard.isToolAreaVisible + +} diff --git a/qml/Toolbar.qml b/qml/Toolbar.qml new file mode 100644 index 0000000..5625265 --- /dev/null +++ b/qml/Toolbar.qml @@ -0,0 +1,13 @@ +import QtQuick 2.0 + +Rectangle { + width: parent.width + height: parent.height + visible: virtualKeyboard.isToolbarVisible + color: virtualKeyboard.virtualKeyboardColor + + HideButton{id: hideButton} + PlacementModeButton{ + alignmentRight: hideButton + } +} diff --git a/qml/ToolbarAndCandidateArea.qml b/qml/ToolbarAndCandidateArea.qml new file mode 100644 index 0000000..b118dbb --- /dev/null +++ b/qml/ToolbarAndCandidateArea.qml @@ -0,0 +1,10 @@ +import QtQuick 2.0 + +Rectangle { + width: virtualKeyboard.width + height: virtualKeyboard.toolAndCandidateHeight + anchors.top: preedit.bottom + color: virtualKeyboard.virtualKeyboardColor + Toolbar{} + CandidateList{} +} diff --git a/qml/VirtualKeyboard.qml b/qml/VirtualKeyboard.qml new file mode 100644 index 0000000..08cef89 --- /dev/null +++ b/qml/VirtualKeyboard.qml @@ -0,0 +1,253 @@ +import QtQuick 2.0 +import "js/utils.js" as Utils +import QtQuick.Window 2.0 + +Rectangle { + id: virtualKeyboard + anchors.fill: parent + color: virtualKeyboardColor + radius: placementMode === "EXPANSION" ? 0 : virtualKeyboardFloatPlacementRadius + + //预编辑 + property string preeditText + //候选词 + property var candidateList + //候选列表高亮候选的索引 + property int globalCursorIndex : -1 + //可用输入法列表 + property var currentIMList : model.currentIMList + //当前输入法名称 + property string uniqueName : model.uniqueName + //当前输入法,组成为"uniqueName|localName|label" + //TOOD 目前以“|”分割数据 + property string currentIM: "||" + + //大小相关 + /*设置默认值,防止报错,fontSize为0时会报错,加载qml文件时height为0,会导致fontSize为0*/ + property real cardinalNumber: height == 0 ? 8 : height/(placementMode === "EXPANSION" ? 64.0 : 68.5) + property int dragBarHeight: cardinalNumber * 4.5 + property int preeditHeight: cardinalNumber * 5 + property int toolAndCandidateHeight: cardinalNumber * 8 + property int keyboardLayoutHeight: cardinalNumber * 49 + property int keySpacing: cardinalNumber + property int keyWidth: (width - 5*cardinalNumber) * 2/31 - cardinalNumber + /*暂时删除win键,将空格键长度从keyWidth * 5.5 + keySpacing * 5修改为keyWidth * 6.5 + keySpacing * 6*/ + property int spaceKeyWidth: keyWidth * 6.5 + keySpacing * 6 + property int keyHeight: cardinalNumber * 9 + property int firstRowKeyHeight: keyHeight * 7/9 + property int keyLableAlignment: keyWidth / 3 + property int keyIconAlignment: keyWidth / 3 + property int virtualKeyboardAvailableHeight: placementMode === "EXPANSION" ? virtualKeyboard.height + : virtualKeyboard.height - dragBar.height + property int imListItemHeight: virtualKeyboardAvailableHeight * 1/10 + property int imListItemWidth: virtualKeyboardAvailableHeight * 5/13 + property real fontSize: keyHeight * 6/11 * 7/12 + property real shiftFontSize: fontSize / 2 + property real switchKeyFontSize: fontSize * 3/4 + property real fnSymbolKeyFontSize: fontSize * 3/4 + property real actionKeyFontSize: fontSize * 3/4 + property real preeditTextFontSize: fontSize * 3/4 + property real candidateFontSize: fontSize * 3/4 + property real imListFontSize: fontSize * 3/4 + property int preeditX: cardinalNumber * 3.5 + property int candidateListWidth: width - 7*cardinalNumber + property int toolbarSize: cardinalNumber * 3 + property int candidateListX: cardinalNumber * 2 + property int candidateListSpacing: cardinalNumber * 3 + property int keyRadius: cardinalNumber + property int longPressInterval: 1000 + property int shiftLeftMargin: cardinalNumber + property int shiftTopMargin: cardinalNumber/2 + property int imLeftMargin: cardinalNumber + property int dropShadowVerticalOffset: cardinalNumber/4 + property int dragBarIndicatorWidth: cardinalNumber * 7 + property int dragBarIndicatorHeight: cardinalNumber/2 + + //颜色相关 + property color virtualKeyboardColor: "#EBEDEF" /*虚拟键盘背景色*/ + property color charKeyNormalColor: "#FFFFFF" /*字符按键默认态颜色*/ + property color charKeyPressedColor: "#DDE0E4" /*字符按键按下态颜色*/ + property color charKeyHoverColor: "#EDF1F5" /*字符按键悬浮态颜色*/ + property color charKeyDropShadowColor: "#95A0AD" /*字符按键偏移色*/ + + property color actionKeyNormalColor: "#CED3D9" /*动作按键默认态*/ + property color actionKeyPressedColor: "#A5ACB5" /*动作按键按下态*/ + property color actionKeyHoverColor:"#C0C6CE" /*动作按键悬浮态*/ + + property color switchKeyNormalColor: "#CED3D9" /*开关按键默认态*/ + property color switchKeyPressedColor: "#A5ACB5" /*开关按键按下态*/ + property color switchKeyOpenColor: "#3690F8" /*开关按键开启态*/ + property color switchKeyOpenPressedColor: "#2C73C6" /*开关按键开启_按下态*/ + property color switchKeyHoverNormalColor: "#C0C6CE" /*开关按键默认hover态*/ + property color switchKeyHoverOpenColor: "#328AF0" /*开关按键按下hover态*/ + property color switchKeyNormalDropShadowColor: "#95A0AD" /*开关按键默认偏移色*/ + property color switchKeyOpenDropShadowColor: "#1174E5" /*开关按键开启偏移色*/ + property color switchKeyOpenPressedDropShadowColor: "#165FB3" /*开关按键开启_按下偏移色*/ + + property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ + property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ + property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ + property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ + + //圆角相关 + property int virtualKeyboardFloatPlacementRadius: 16 + property int dragBarIndicatorRadius: 2 + + //状态相关 + property string letterState: "NORMAL" + property string symbolState: "NORMAL" + property string fnSymbolState: "NORMAL" + property string capslockState: "NORMAL" + property string shiftState: "NORMAL" + property string altState: "NORMAL" + property string ctrlState: "NORMAL" + property string winState: "NORMAL" + property string changeIMState: "NORMAL" + property string switchLayoutButtonState: "NORMAL" + property string placementMode: "EXPANSION" + + //可见性相关 + property bool isToolbarVisible: true + property bool isToolAreaVisible: false + property bool isKeyBoardLayoutVisible: true + property bool isAllLayoutListVisible: false + property string layout: "classic" + property bool isCurrentIMListVisible: false + + //内部使用 + signal showToolbar() + signal showCandidateList() + signal charKeyClicked() + signal shiftClicked() + signal altClicked() + signal ctrlClicked() + signal winClicked() + + //后台发送给前台的信号 + signal qmlUpdatePreedit(string preeditText) + signal qmlUpdateCandidateList(var candidateList, int globalCursorIndex) + signal qmlImDeactivated() + signal qmlEnterExpansionPlacementMode() + signal qmlEnterFloatPlacementMode() + + function processKeyEvent(key, keycode, modifierKeyStates, + isRelease, time) { + model.processKeyEvent(key, keycode, modifierKeyStates, isRelease, time) + } + + function selectCandidate(index) { + model.selectCandidate(index) + } + + function setCurrentIM(imName) { + model.setCurrentIM(imName) + } + + function hideVirtualKeyboard() { + manager.hideVirtualKeyboard() + } + + function flipPlacementMode() { + manager.flipPlacementMode() + } + + function moveBy(offsetX, offsetY) { + manager.moveBy(offsetX, offsetY) + } + + function endDrag() { + manager.endDrag() + } + + Connections { + target: virtualKeyboard + onShowToolbar: { + isToolbarVisible = true + } + onShowCandidateList: { + isToolbarVisible = false + } + onQmlUpdatePreedit: (preeditText) => { + virtualKeyboard.preeditText = preeditText + } + onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { + if(candidateList.length === 0) { + showToolbar() + } else { + virtualKeyboard.candidateList = candidateList + virtualKeyboard.globalCursorIndex = globalCursorIndex + showCandidateList() + } + } + onQmlEnterExpansionPlacementMode: { + virtualKeyboard.placementMode = "EXPANSION" + } + onQmlEnterFloatPlacementMode: { + virtualKeyboard.placementMode = "FLOAT" + } + } + + Component.onCompleted: { + charKeyClicked.connect(onCharKeyClicked) + shiftClicked.connect(onShiftClicked) + ctrlClicked.connect(onCtrlClicked) + altClicked.connect(onAltClicked) + winClicked.connect(onWinClicked) + } + + function onCharKeyClicked() { + shiftState = "NORMAL" + ctrlState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } + + function onShiftClicked() { + ctrlState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } + + function onCtrlClicked() { + shiftState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } + + function onAltClicked() { + shiftState = "NORMAL" + ctrlState = "NORMAL" + winState = "NORMAL" + } + + function onWinClicked() { + shiftState = "NORMAL" + altState = "NORMAL" + ctrlState = "NORMAL" + } + + onUniqueNameChanged: { + for(var i = 0; i 4) { + height = imList.itemAt(0).height * 4 + } + } + width: virtualKeyboard.imListItemWidth + modal: true + Overlay.modal:Rectangle { + color: "transparent" + } + background: Rectangle{ + radius: imListRectangle.radius + width: parent.width + height: parent.height + color: "white" + } + + Instantiator { + model: virtualKeyboard.currentIMList + delegate: MenuItem { + background: Rectangle { + radius: imListRectangle.radius + color: highlighted? virtualKeyboard.currentIMColor: "white" + } + property string uniqueName: modelData.split("|")[0] + property string localName: modelData.split("|")[1] + property string label: modelData.split("|")[2] + font.pointSize: virtualKeyboard.imListFontSize + text: label.padEnd(3, " ") + localName + width: virtualKeyboard.imListItemWidth + height: virtualKeyboard.imListItemHeight + MouseArea{ + anchors.fill: parent + onReleased: { + virtualKeyboard.setCurrentIM(uniqueName) + imList.close() + } + } + } + + onObjectAdded: imList.insertItem(index, object) + onObjectRemoved: imList.removeItem(object) + } + + onClosed: { + virtualKeyboard.changeIMState = "NORMAL" + } + } + } + +} diff --git a/qml/key/CharKey.qml b/qml/key/CharKey.qml new file mode 100755 index 0000000..dcd68d2 --- /dev/null +++ b/qml/key/CharKey.qml @@ -0,0 +1,83 @@ +import QtQuick 2.0 +import QtQuick.Controls 2.0 +import "../js/utils.js" as Utils + +BaseKey { + property string shiftedText + property color normalColor: virtualKeyboard.charKeyNormalColor + property color pressedColor: virtualKeyboard.charKeyPressedColor + property color hoverColor: virtualKeyboard.charKeyHoverColor + + MouseArea { + id: keyMouseArea + anchors.fill: parent + hoverEnabled: true + + onReleased: { + keyBackground.state = "NORMAL" + timer.stop() + var modifierKeyState = Utils.getModifierKeyStates() + var keycode = Utils.getKeyCode(keyLabel.text) + virtualKeyboard.processKeyEvent(keyLabel.text, keycode, modifierKeyState, false, Date()) + charKeyClicked() + } + + onPressed: { + keyBackground.state = "PRESSED" + timer.start() + } + + onEntered: { + keyBackground.state = "HOVER" + } + + onExited: { + keyBackground.state = "NORMAL" + } + + } + + keyBackground.state: "NORMAL" + keyBackground.states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyBackground + color: normalColor + } + PropertyChanges { + target: dropShadow + verticalOffset: virtualKeyboard.dropShadowVerticalOffset + } + }, + State { + name: "PRESSED" + PropertyChanges { + target: keyBackground + color: pressedColor + } + PropertyChanges { + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + } + }, + State { + name: "HOVER" + PropertyChanges { + target: keyBackground + color: hoverColor + } + } + ] + + + Timer { + id:timer + interval: virtualKeyboard.longPressInterval + repeat: true + onTriggered: { + var modifierKeyState = Utils.getModifierKeyStates() + virtualKeyboard.processKeyEvent(keyLabel.text, Utils.getKeyCode(keyLabel.text), modifierKeyState, false, Date()) + } + } +} diff --git a/qml/key/CtrlKey.qml b/qml/key/CtrlKey.qml new file mode 100755 index 0000000..8e52c66 --- /dev/null +++ b/qml/key/CtrlKey.qml @@ -0,0 +1,41 @@ +import QtQuick 2.0 +import "../js/utils.js" as Utils + +TemporarySwitchKey { + id: ctrl + label: "Ctrl" + + Binding { + target: ctrl + property: "switchKeyState" + value: virtualKeyboard.ctrlState + } + + Component.onCompleted: { + temporarySwitchKeyReleased.connect(updateCtrlState) + temporarySwitchKeyClicked.connect(virtualKeyboard.ctrlClicked) + } + + function updateCtrlState(ctrlState) { + virtualKeyboard.ctrlState = ctrlState + } + + state: virtualKeyboard.ctrlState + states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyBackground + state: "NORMAL" + } + }, + State { + name: "OPEN" + PropertyChanges { + target: keyBackground + state: "OPEN" + } + } + ] + +} diff --git a/qml/key/EnterKey.qml b/qml/key/EnterKey.qml new file mode 100644 index 0000000..2ded0f0 --- /dev/null +++ b/qml/key/EnterKey.qml @@ -0,0 +1,8 @@ +import QtQuick 2.0 + +ActionKey { + width: virtualKeyboard.keyWidth*2.5+virtualKeyboard.keySpacing*2 + alignment: Text.AlignRight + label: "Enter" + actionKeyImgPath: "qrc:/img/enter.svg" +} diff --git a/qml/key/FnKey.qml b/qml/key/FnKey.qml new file mode 100755 index 0000000..1c2ce81 --- /dev/null +++ b/qml/key/FnKey.qml @@ -0,0 +1,43 @@ +import QtQuick 2.0 +import "../js/utils.js" as Utils + +SwitchKey { + id: fn + label: "Fn" + + switchKeyState: fn.state + keyMouseArea.onReleased: { + if(fn.state == "NORMAL") { + fn.state = "OPEN" + } else { + fn.state = "NORMAL" + } + } + + state: "NORMAL" + states: [ + State { + name: "NORMAL" + PropertyChanges { + target: virtualKeyboard + fnSymbolState : virtualKeyboard.shiftState == "NORMAL" ? "NORAML" : "SHIFT" + } + PropertyChanges { + target: keyBackground + state: "NORMAL" + } + }, + State { + name: "OPEN" + PropertyChanges { + target: virtualKeyboard + fnSymbolState : "FN" + } + PropertyChanges { + target: keyBackground + state: "OPEN" + } + } + ] + +} diff --git a/qml/key/FnSymbolKey.qml b/qml/key/FnSymbolKey.qml new file mode 100755 index 0000000..9bc7c8d --- /dev/null +++ b/qml/key/FnSymbolKey.qml @@ -0,0 +1,25 @@ +import QtQuick 2.0 + +SymbolKey { + height: virtualKeyboard.firstRowKeyHeight + + property string fnValue + + fontSize: virtualKeyboard.fnSymbolKeyFontSize + + state: virtualKeyboard.fnSymbolState + + states: [ + State { + name: "FN" + PropertyChanges { + target: keyLabel + text: fnValue + } + PropertyChanges { + target: shiftLabel + text: "" + } + } + ] +} diff --git a/qml/key/LetterKey.qml b/qml/key/LetterKey.qml new file mode 100755 index 0000000..526a40c --- /dev/null +++ b/qml/key/LetterKey.qml @@ -0,0 +1,24 @@ +import QtQuick 2.0 + +CharKey { + + state: virtualKeyboard.letterState + + states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyLabel + text: label + } + }, + + State { + name: "SHIFT" + PropertyChanges { + target: keyLabel + text: shiftedText + } + } + ] +} diff --git a/qml/key/ShiftKey.qml b/qml/key/ShiftKey.qml new file mode 100755 index 0000000..aa81707 --- /dev/null +++ b/qml/key/ShiftKey.qml @@ -0,0 +1,50 @@ +import QtQuick 2.0 +import "../js/utils.js" as Utils + +TemporarySwitchKey { + id: shift + label: "Shift" + + Binding { + target: shift + property: "switchKeyState" + value: virtualKeyboard.shiftState + } + + Component.onCompleted: { + temporarySwitchKeyReleased.connect(updateShiftState) + temporarySwitchKeyClicked.connect(virtualKeyboard.shiftClicked) + } + + function updateShiftState(shiftState) { + virtualKeyboard.shiftState = shiftState + } + + state: virtualKeyboard.shiftState + states: [ + State { + name: "NORMAL" + PropertyChanges { + target: virtualKeyboard + letterState : virtualKeyboard.capslockState == "NORMAL" ? "NORMAL" : "SHIFT" + symbolState : "NORMAL" + } + PropertyChanges { + target: keyBackground + state: "NORMAL" + } + }, + State { + name: "OPEN" + PropertyChanges { + target: virtualKeyboard + letterState : virtualKeyboard.capslockState == "NORMAL" ? "SHIFT" : "NORMAL" + symbolState : "SHIFT" + } + PropertyChanges { + target: keyBackground + state: "OPEN" + } + } + ] +} diff --git a/qml/key/SpaceKey.qml b/qml/key/SpaceKey.qml new file mode 100644 index 0000000..4f91ecd --- /dev/null +++ b/qml/key/SpaceKey.qml @@ -0,0 +1,5 @@ +ActionKey { + width: virtualKeyboard.spaceKeyWidth + label: "space" + actionKeyImgPath: "qrc:/img/space.svg" +} diff --git a/qml/key/SwitchKey.qml b/qml/key/SwitchKey.qml new file mode 100755 index 0000000..3a20915 --- /dev/null +++ b/qml/key/SwitchKey.qml @@ -0,0 +1,140 @@ +import QtQuick 2.0 +import "../js/utils.js" as Utils + +BaseKey { + + property color normalColor: virtualKeyboard.switchKeyNormalColor + property color pressedColor: virtualKeyboard.switchKeyPressedColor + property color openColor: virtualKeyboard.switchKeyOpenColor + property color openPressedColor: virtualKeyboard.switchKeyOpenPressedColor + property color hoverNormalColor: virtualKeyboard.switchKeyHoverNormalColor + property color hoverOpenColor: virtualKeyboard.switchKeyHoverOpenColor + property alias keyMouseArea: keyMouseArea_ + property string switchKeyState + + fontSize: virtualKeyboard.switchKeyFontSize + + Component.onCompleted: { + charKeyClicked.connect(switchKeyNormal) + } + function switchKeyNormal() { + virtualKeyboard.shiftState = "NORMAL" + virtualKeyboard.ctrlState = "NORMAL" + virtualKeyboard.altState = "NORMAL" + virtualKeyboard.winState = "NORMAL" + } + + + keyBackground.state: "NORMAL" + keyBackground.states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyBackground + color: normalColor + } + PropertyChanges{ + target: dropShadow + verticalOffset: virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyNormalDropShadowColor + } + }, + State { + name: "PRESSED" + PropertyChanges { + target: keyBackground + color: pressedColor + } + PropertyChanges{ + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyNormalDropShadowColor + } + }, + State { + name: "OPEN" + PropertyChanges { + target: keyBackground + color: openColor + } + PropertyChanges{ + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyOpenDropShadowColor + } + PropertyChanges { + target: keyLabel + color: "white" + } + }, + State { + name: "OPEN_PRESSED" + PropertyChanges { + target: keyBackground + color: openPressedColor + } + PropertyChanges{ + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyOpenPressedDropShadowColor + } + PropertyChanges { + target: keyLabel + color: "white" + } + }, + State { + name: "HOVER_NORMAL" + PropertyChanges { + target: keyBackground + color: hoverNormalColor + } + }, + State { + name: "HOVER_OPEN" + PropertyChanges { + target: keyBackground + color: hoverOpenColor + } + PropertyChanges{ + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyOpenDropShadowColor + } + PropertyChanges { + target: keyLabel + color: "white" + } + } + ] + + MouseArea { + id: keyMouseArea_ + anchors.fill: parent + hoverEnabled: true + + onPressed: { + if(switchKeyState == "NORMAL") { + keyBackground.state = "PRESSED" + } else { + keyBackground.state = "OPEN_PRESSED" + } + } + + onEntered: { + if(switchKeyState == "NORMAL") { + keyBackground.state = "HOVER_NORMAL" + } else { + keyBackground.state = "HOVER_OPEN" + } + } + + onExited: { + if(switchKeyState == "NORMAL") { + keyBackground.state = "NORMAL" + } else { + keyBackground.state = "OPEN" + } + } + } +} diff --git a/qml/key/SymbolKey.qml b/qml/key/SymbolKey.qml new file mode 100755 index 0000000..f08b64c --- /dev/null +++ b/qml/key/SymbolKey.qml @@ -0,0 +1,50 @@ +import QtQuick 2.0 +import QtQuick.Controls 2.0 + +CharKey { + + property alias shiftLabel: shiftLabel_ + + state: virtualKeyboard.symbolState + + states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyLabel + text: label + } + PropertyChanges { + target:shiftLabel + text: shiftedText + } + }, + + State { + name: "SHIFT" + PropertyChanges { + target: keyLabel + text: shiftedText + } + PropertyChanges { + target: shiftLabel + text: "" + } + } + ] + + Label { + id: shiftLabel_ + text: shiftedText + color: "black" + font.pointSize: virtualKeyboard.shiftFontSize + font.weight: Font.Light + anchors{ + left: parent.left + leftMargin: virtualKeyboard.shiftLeftMargin + top: parent.top + topMargin: virtualKeyboard.topLeftMargin + } + visible: true + } +} diff --git a/qml/key/TemporarySwitchKey.qml b/qml/key/TemporarySwitchKey.qml new file mode 100644 index 0000000..1c3dd56 --- /dev/null +++ b/qml/key/TemporarySwitchKey.qml @@ -0,0 +1,21 @@ +import QtQuick 2.0 +import "../js/utils.js" as Utils + +SwitchKey { + signal temporarySwitchKeyReleased(string temporarySwitchKeyState) + signal temporarySwitchKeyClicked() + + keyMouseArea.onReleased: { + if(switchKeyState == "NORMAL") { + switchKeyState = "OPEN" + } else { + switchKeyState = "NORMAL" + var modifierKeyState = Utils.getModifierKeyStates() + virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState - Utils.getKeySym(label), false, Date()) + virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) + temporarySwitchKeyClicked() + } + temporarySwitchKeyReleased(switchKeyState) + } + +} diff --git a/qml/key/WinKey.qml b/qml/key/WinKey.qml new file mode 100755 index 0000000..8b93237 --- /dev/null +++ b/qml/key/WinKey.qml @@ -0,0 +1,42 @@ +import QtQuick 2.0 +import "../js/utils.js" as Utils + +TemporarySwitchKey { + id: win + //暂时以Win显示,后续更换麒麟icon + label: "Win" + + Binding { + target: win + property: "switchKeyState" + value: virtualKeyboard.winState + } + + Component.onCompleted: { + temporarySwitchKeyReleased.connect(updateWinState) + temporarySwitchKeyClicked.connect(virtualKeyboard.winClicked) + } + + function updateWinState(winState) { + virtualKeyboard.winState = winState + } + + state: virtualKeyboard.winState + states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyBackground + state: "NORMAL" + } + }, + State { + name: "OPEN" + PropertyChanges { + target: keyBackground + state: "OPEN" + } + } + ] + +} diff --git a/src/appinputareamanager.cpp b/src/appinputareamanager.cpp new file mode 100644 index 0000000..064a7ac --- /dev/null +++ b/src/appinputareamanager.cpp @@ -0,0 +1,31 @@ +#include "appinputareamanager.h" +#include + +AppInputAreaManager::AppInputAreaManager(QObject *parent) + : QObject(parent), dummyWidget_(nullptr), oneshotTimer_(nullptr) { + KWindowSystem::setType(dummyWidget_.winId(), NET::Dock); + oneshotTimer_.setSingleShot(true); +} + +void AppInputAreaManager::raiseInputArea(const QRect &virtualKeyboardRect) { + dummyWidget_.setGeometry(virtualKeyboardRect); + dummyWidget_.show(); + + WId winId = dummyWidget_.winId(); + QObject::connect( + &oneshotTimer_, &QTimer::timeout, this, [winId, virtualKeyboardRect]() { + // 使用KWin接口调整工作区域,仅在X11下有效 + // 该接口对全屏应用无效 + KWindowSystem::setExtendedStrut( + winId, 0, 0, 0, 0, 0, 0, 0, 0, 0, virtualKeyboardRect.height(), + virtualKeyboardRect.x(), virtualKeyboardRect.width() - 1); + }); + oneshotTimer_.start(SHOW_DELAY_TIME); +} + +void AppInputAreaManager::fallInputArea() { + KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0); + dummyWidget_.hide(); + oneshotTimer_.stop(); +} diff --git a/src/appinputareamanager.h b/src/appinputareamanager.h new file mode 100644 index 0000000..24f2186 --- /dev/null +++ b/src/appinputareamanager.h @@ -0,0 +1,27 @@ +#ifndef APPINPUTAREAMANAGER_H +#define APPINPUTAREAMANAGER_H + +#include +#include +#include +#include + +class AppInputAreaManager : public QObject { + Q_OBJECT + +public: + explicit AppInputAreaManager(QObject *parent = nullptr); + ~AppInputAreaManager() = default; + // TODO(linyuxuan): 使用kdk重新实现该函数 + void raiseInputArea(const QRect &virtualKeyboardRect); + void fallInputArea(); + +private: + QWidget dummyWidget_; + QTimer oneshotTimer_; + // 经过指定时间之后顶起应用程序,避免桌面在虚拟键盘显示之前可见 + // 根据使用经验,选定200毫秒作为经验值 + static const int SHOW_DELAY_TIME = 200; +}; + +#endif // APPINPUTAREAMANAGER_H diff --git a/src/geometrymanager/expansiongeometrymanager.cpp b/src/geometrymanager/expansiongeometrymanager.cpp new file mode 100644 index 0000000..50b6ac7 --- /dev/null +++ b/src/geometrymanager/expansiongeometrymanager.cpp @@ -0,0 +1,34 @@ +#include "expansiongeometrymanager.h" + +#include "screenmanager.h" + +ExpansionGeometryManager::ExpansionGeometryManager() : GeometryManager() {} + +int ExpansionGeometryManager::calculateViewWidth() const { + return ScreenManager::getPrimaryScreenSize().width(); +} + +int ExpansionGeometryManager::calculateViewHeight() const { + QSize viewPortSize = ScreenManager::getPrimaryScreenSize(); + + if (viewPortSize.width() > viewPortSize.height()) { + return viewPortSize.width() * viewHeightRatio_; + } else { + // 竖屏情况下,从屏幕左上角开始算起,以当前屏幕宽度为测量基准, + // 在该范围里面的部分可以正常刷新;在该范围外面部分会出现重影。 + // 因此,需要将虚拟键盘的高度设置为屏幕宽高差值+1,将其作为虚拟 + // 键盘的最小高度,从而确保虚拟键盘可以正确刷新qml内容, 防止旋转 + // 到横屏后出现重影 + // TODO(linyuxuan): 找出bug成因,彻底解决该问题 + const int leastHeight = + viewPortSize.height() - viewPortSize.width() + 1; + const int requiredHeight = viewPortSize.height() * viewHeightRatio_; + return std::max(leastHeight, requiredHeight); + } +} + +QPoint ExpansionGeometryManager::calculateViewPosition() { + QSize viewPortSize = ScreenManager::getPrimaryScreenSize(); + + return QPoint(0, viewPortSize.height() - calculateViewHeight()); +} diff --git a/src/geometrymanager/expansiongeometrymanager.h b/src/geometrymanager/expansiongeometrymanager.h new file mode 100644 index 0000000..a3f1672 --- /dev/null +++ b/src/geometrymanager/expansiongeometrymanager.h @@ -0,0 +1,20 @@ +#ifndef EXPANSIONGEOMETRYMANAGER_H +#define EXPANSIONGEOMETRYMANAGER_H + +#include "geometrymanager.h" + +class ExpansionGeometryManager : public GeometryManager { +public: + ExpansionGeometryManager(); + ~ExpansionGeometryManager() override = default; + +private: + int calculateViewWidth() const override; + int calculateViewHeight() const override; + QPoint calculateViewPosition() override; + +private: + constexpr static float viewHeightRatio_ = 512.0 / 1620.0; +}; + +#endif // EXPANSIONGEOMETRYMANAGER_H diff --git a/src/geometrymanager/floatgeometrymanager.cpp b/src/geometrymanager/floatgeometrymanager.cpp new file mode 100644 index 0000000..4d8e30f --- /dev/null +++ b/src/geometrymanager/floatgeometrymanager.cpp @@ -0,0 +1,186 @@ +#include "floatgeometrymanager.h" + +#include + +#include "localsettings/localsettings.h" +#include "screenmanager.h" + +// static +const QString FloatGeometryManager::floatGeometryGroup = "floatGeometry"; +// static +const QString FloatGeometryManager::marginRatioMapKey = "marginRatioMap"; +// static +const QString FloatGeometryManager::leftMarginRatioKey = "leftMarginRatio"; +// static +const QString FloatGeometryManager::topMarginRatioKey = "topMarginRatio"; + +FloatGeometryManager::FloatGeometryManager(std::unique_ptr strategy, + LocalSettings &viewSettings) + : GeometryManager(), strategy_(std::move(strategy)), + viewSettings_(viewSettings) { + loadMarginRatioMap(); +} + +FloatGeometryManager::~FloatGeometryManager() { saveMarginRatioMap(); } + +void FloatGeometryManager::moveBy(int offsetX, int offsetY) { + const QPoint offset(offsetX, offsetY); + + moveView(QPoint(calculateCurrentPosition() + offset)); +} + +void FloatGeometryManager::endDrag() { + const QPoint currentPosition = calculateCurrentPosition(); + const QPoint normalizedPosition = + calculateNormalizedPosition(currentPosition); + if (normalizedPosition != currentPosition) { + moveView(normalizedPosition); + } +} + +int FloatGeometryManager::calculateViewWidth() const { + return strategy_->getViewWidth(); +} + +int FloatGeometryManager::calculateViewHeight() const { + return strategy_->getViewHeight(); +} + +int FloatGeometryManager::calculateNormalizedX(int positionX) const { + const auto geometry = ScreenManager::getPrimaryScreenGeometry(); + + if (positionX < geometry.left()) { + return geometry.left(); + } + + const auto viewWidth = calculateViewWidth(); + if (positionX + viewWidth > geometry.right()) { + return geometry.right() - viewWidth; + } + + return positionX; +} + +int FloatGeometryManager::calculateNormalizedY(int positionY) const { + const auto geometry = ScreenManager::getPrimaryScreenGeometry(); + + if (positionY < geometry.top()) { + return geometry.top(); + } + + const auto viewHeight = calculateViewHeight(); + if (positionY + viewHeight > geometry.bottom()) { + return geometry.bottom() - viewHeight; + } + + return positionY; +} + +QPoint FloatGeometryManager::calculateNormalizedPosition( + const QPoint &position) const { + return QPoint(calculateNormalizedX(position.x()), + calculateNormalizedY(position.y())); +} + +QPoint FloatGeometryManager::calculateCurrentPosition() const { + return calculatePositionFromRatio(leftMarginRatio_, topMarginRatio_); +} + +QPoint +FloatGeometryManager::calculatePositionFromRatio(float leftMarginRatio, + float topMarginRatio) const { + const QSize marginSize = calculateMarginSize(); + + return QPoint(marginSize.width() * leftMarginRatio, + marginSize.height() * topMarginRatio); +} + +QPoint FloatGeometryManager::calculateNormalizedPositionFromRatio( + float leftMarginRatio, float topMarginRatio) const { + return calculateNormalizedPosition( + calculatePositionFromRatio(leftMarginRatio, topMarginRatio)); +} + +QPoint FloatGeometryManager::calculateViewPosition() { + return calculateNormalizedPosition(calculateCurrentPosition()); +} + +QSize FloatGeometryManager::calculateMarginSize() const { + const QSize viewPortSize = ScreenManager::getPrimaryScreenSize(); + const auto viewSize = calculateViewSize(); + + const int horizontalMargin = viewPortSize.width() - viewSize.width(); + const int verticalMargin = viewPortSize.height() - viewSize.height(); + + return QSize(horizontalMargin, verticalMargin); +} + +QMap FloatGeometryManager::getMarginRatioMap() const { + QMap marginRatioMap = { + {leftMarginRatioKey, leftMarginRatio_}, + {topMarginRatioKey, topMarginRatio_}}; + + return marginRatioMap; +} + +float FloatGeometryManager::calculateLeftMarginRatio(float leftMargin) const { + return leftMargin / calculateMarginSize().width(); +} + +float FloatGeometryManager::calculateTopMarginRatio(float topMargin) const { + return topMargin / calculateMarginSize().height(); +} + +void FloatGeometryManager::updateMarginRatio(const QPoint &targetPosition) { + leftMarginRatio_ = calculateLeftMarginRatio(targetPosition.x()); + topMarginRatio_ = calculateTopMarginRatio(targetPosition.y()); +} + +void FloatGeometryManager::saveMarginRatioMap() { + viewSettings_.setValue(floatGeometryGroup, marginRatioMapKey, + getMarginRatioMap()); +} + +QMap FloatGeometryManager::getDefaultMarginRatioMap() const { + const QSize viewPortSize = ScreenManager::getPrimaryScreenSize(); + const auto viewSize = calculateViewSize(); + + const int leftMargin = + viewPortSize.width() - + (viewSize.width() + strategy_->getDefaultRightMargin()); + const int topMargin = + viewPortSize.height() - + (viewSize.height() + strategy_->getDefaultBottomMargin()); + + const float defaultLeftMarginRatio = calculateLeftMarginRatio(leftMargin); + const float defaultTopMarginRatio = calculateTopMarginRatio(topMargin); + + QMap viewDefaultMarginRatioMap = { + {leftMarginRatioKey, defaultLeftMarginRatio}, + {topMarginRatioKey, defaultTopMarginRatio}}; + + return viewDefaultMarginRatioMap; +} + +void FloatGeometryManager::loadMarginRatioMap() { + const auto marginRatioMap = + viewSettings_ + .getValue(floatGeometryGroup, marginRatioMapKey, + getDefaultMarginRatioMap()) + .toMap(); + + const float leftMarginRatio = marginRatioMap[leftMarginRatioKey].toFloat(); + const float topMarginRatio = marginRatioMap[topMarginRatioKey].toFloat(); + + updateMarginRatio( + calculateNormalizedPositionFromRatio(leftMarginRatio, topMarginRatio)); +} + +void FloatGeometryManager::moveView(const QPoint &targetPoint) { + updateMarginRatio(targetPoint); + + const QPoint currentPosition = calculateCurrentPosition(); + emit viewMoved(currentPosition.x(), currentPosition.y()); + + saveMarginRatioMap(); +} diff --git a/src/geometrymanager/floatgeometrymanager.h b/src/geometrymanager/floatgeometrymanager.h new file mode 100644 index 0000000..e62e3f1 --- /dev/null +++ b/src/geometrymanager/floatgeometrymanager.h @@ -0,0 +1,85 @@ +#ifndef FLOATGEOMETRYMANAGER_H +#define FLOATGEOMETRYMANAGER_H + +#include + +#include "geometrymanager.h" +#include "localsettings/localsettings.h" + +class FloatGeometryManager : public GeometryManager { + Q_OBJECT + +public: + class Strategy; + +public: + FloatGeometryManager(std::unique_ptr strategy, + LocalSettings &viewSettings); + ~FloatGeometryManager() override; + +public slots: + void moveBy(int offsetX, int offsetY); + void endDrag(); + +private: + QPoint calculateViewPosition() override; + int calculateViewWidth() const override; + int calculateViewHeight() const override; + + int calculateNormalizedX(int positionX) const; + int calculateNormalizedY(int positionY) const; + QPoint calculateNormalizedPosition(const QPoint &position) const; + + QPoint calculatePositionFromRatio(float leftMarginRatio, + float topMarginRatio) const; + QPoint calculateCurrentPosition() const; + QPoint calculateNormalizedPositionFromRatio(float leftMarginRatio, + float topMarginRatio) const; + + QSize calculateMarginSize() const; + QMap getMarginRatioMap() const; + QMap getDefaultMarginRatioMap() const; + float calculateLeftMarginRatio(float leftMargin) const; + float calculateTopMarginRatio(float topMargin) const; + void updateMarginRatio(const QPoint &targetPosition); + void saveMarginRatioMap(); + void loadMarginRatioMap(); + + void moveView(const QPoint &targetPoint); + +private: + float leftMarginRatio_ = 0.0f; + float topMarginRatio_ = 0.0f; + + std::unique_ptr strategy_; + + LocalSettings &viewSettings_; + + static const QString floatGeometryGroup; + static const QString marginRatioMapKey; + static const QString leftMarginRatioKey; + static const QString topMarginRatioKey; +}; + +class FloatGeometryManager::Strategy { +public: + virtual ~Strategy() = default; + + int getViewWidth() const { return getUnitWidth() * getViewWidthRatio(); } + int getViewHeight() const { return getUnitHeight() * getViewHeightRatio(); } + + virtual int getDefaultRightMargin() const = 0; + virtual int getDefaultBottomMargin() const = 0; + +protected: + Strategy() = default; + +private: + virtual int getUnitWidth() const = 0; + virtual float getViewWidthRatio() const = 0; + + virtual int getUnitHeight() const = 0; + virtual float getViewHeightRatio() const = 0; +}; + +#endif // FLOATGEOMETRYMANAGER_H diff --git a/src/geometrymanager/geometrymanager.cpp b/src/geometrymanager/geometrymanager.cpp new file mode 100644 index 0000000..c134099 --- /dev/null +++ b/src/geometrymanager/geometrymanager.cpp @@ -0,0 +1,17 @@ +#include "geometrymanager.h" + +#include "screenmanager.h" + +GeometryManager::GeometryManager() : QObject() {} + +QSize GeometryManager::calculateViewSize() const { + return QSize(calculateViewWidth(), calculateViewHeight()); +} + +void GeometryManager::updateGeometry() { + QPoint position = calculateViewPosition(); + emit viewMoved(position.x(), position.y()); + + QSize size = calculateViewSize(); + emit viewResized(size.width(), size.height()); +} diff --git a/src/geometrymanager/geometrymanager.h b/src/geometrymanager/geometrymanager.h new file mode 100644 index 0000000..ce3755a --- /dev/null +++ b/src/geometrymanager/geometrymanager.h @@ -0,0 +1,34 @@ +#ifndef GEOMETRYMANAGER_H +#define GEOMETRYMANAGER_H + +#include +#include +#include + +class VirtualKeyboardManager; + +class GeometryManager : public QObject { + Q_OBJECT +public: + ~GeometryManager() override = default; + +public slots: + void updateGeometry(); + +signals: + void viewMoved(int x, int y); + void viewResized(int width, int height); + +protected: + GeometryManager(); + + QSize calculateViewSize() const; + +private: + virtual int calculateViewWidth() const = 0; + virtual int calculateViewHeight() const = 0; + + virtual QPoint calculateViewPosition() = 0; +}; + +#endif // GEOMETRYMANAGER_H diff --git a/src/ipc/dbusservice.cpp b/src/ipc/dbusservice.cpp new file mode 100644 index 0000000..5e988cf --- /dev/null +++ b/src/ipc/dbusservice.cpp @@ -0,0 +1,76 @@ +#include "dbusservice.h" +#include "virtualkeyboard/virtualkeyboardmanager.h" + +DBusService::DBusService(VirtualKeyboardManager *virtualKeyboardManager) + : virtualKeyboardManager_(virtualKeyboardManager), + virtualKeyboardVisibilityRequestMerger_( + VIRTUAL_KEYBOARD_VISIBILITY_PEROID) { + initRequestMerger(); + + startService(); +} + +DBusService::~DBusService() { stopService(); } + +void DBusService::initRequestMerger() { + virtualKeyboardVisibilityRequestMerger_.init( + [this]() { virtualKeyboardManager_->showVirtualKeyboard(); }, + [this]() { virtualKeyboardManager_->hideVirtualKeyboard(); }, + [this]() { + return !virtualKeyboardManager_->isVirtualKeyboardVisible(); + }, + [this]() { + return virtualKeyboardManager_->isVirtualKeyboardVisible(); + }); +} + +bool DBusService::startService() { + return QDBusConnection::sessionBus().registerService(serviceName_) && + QDBusConnection::sessionBus().registerObject( + servicePath_, serviceInterface_, this, + QDBusConnection::ExportAllSlots); +} + +bool DBusService::stopService() { + QDBusConnection::sessionBus().unregisterObject(servicePath_); + return QDBusConnection::sessionBus().unregisterService(serviceName_); +} + +void DBusService::ShowVirtualKeyboard() { + virtualKeyboardVisibilityRequestMerger_.activate(); +} + +void DBusService::HideVirtualKeyboard() { + virtualKeyboardVisibilityRequestMerger_.deactivate(); +} + +bool DBusService::IsVirtualKeyboardVisible() { + return virtualKeyboardManager_->isVirtualKeyboardVisible(); +} + +void DBusService::UpdatePreeditCaret(int preeditCursor) { + virtualKeyboardManager_->updatePreeditCaret(preeditCursor); +} + +void DBusService::UpdatePreeditArea(const QString &preeditText) { + virtualKeyboardManager_->updatePreeditArea(preeditText); +} + +void DBusService::UpdateCandidateArea(const QStringList &candidateTextList, + bool hasPrev, bool hasNext, int pageIndex, + int globalCursorIndex /* = -1*/) { + virtualKeyboardManager_->updateCandidateArea( + candidateTextList, hasPrev, hasNext, pageIndex, globalCursorIndex); +} + +void DBusService::NotifyIMActivated(const QString &uniqueName) { + virtualKeyboardManager_->notifyIMActivated(uniqueName); +} + +void DBusService::NotifyIMDeactivated(const QString &uniqueName) { + virtualKeyboardManager_->notifyIMDeactivated(uniqueName); +} + +void DBusService::NotifyIMListChanged() { + virtualKeyboardManager_->notifyIMListChanged(); +} diff --git a/src/ipc/dbusservice.h b/src/ipc/dbusservice.h new file mode 100644 index 0000000..54cafd4 --- /dev/null +++ b/src/ipc/dbusservice.h @@ -0,0 +1,48 @@ +#ifndef DBUSSERVICE_H +#define DBUSSERVICE_H + +#include +#include + +#include "requestmerger.h" +#include "virtualkeyboard/virtualkeyboardmanager.h" + +class DBusService : public QObject { + Q_OBJECT + +public: + explicit DBusService(VirtualKeyboardManager *virtualKeyboardManager); + ~DBusService() override; + +private: + void initRequestMerger(); + + bool startService(); + bool stopService(); + +public slots: + void ShowVirtualKeyboard(); + void HideVirtualKeyboard(); + bool IsVirtualKeyboardVisible(); + void UpdatePreeditCaret(int preeditCursor); + void UpdatePreeditArea(const QString &preeditText); + void UpdateCandidateArea(const QStringList &candidateTextList, bool hasPrev, + bool hasNext, int pageIndex, + int globalCursorIndex = -1); + void NotifyIMActivated(const QString &uniqueName); + void NotifyIMDeactivated(const QString &uniqueName); + void NotifyIMListChanged(); + +private: + VirtualKeyboardManager *virtualKeyboardManager_ = nullptr; + QString serviceName_ = "org.fcitx.Fcitx5.VirtualKeyboard"; + QString servicePath_ = "/org/fcitx/virtualkeyboard/impanel"; + QString serviceInterface_ = "org.fcitx.Fcitx5.VirtualKeyboard1"; + + // 在10ms之内的显示和隐藏虚拟键盘的请求将会被合并处理, + // 避免虚拟键盘不必要的显示和隐藏及其相应的闪烁效果 + const int VIRTUAL_KEYBOARD_VISIBILITY_PEROID = 10; + RequestMerger virtualKeyboardVisibilityRequestMerger_; +}; + +#endif // DBUSSERVICE_H diff --git a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp new file mode 100644 index 0000000..958449f --- /dev/null +++ b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp @@ -0,0 +1,25 @@ +#include "fcitxvirtualkeyboardserviceproxy.h" + +// static +const QString FcitxVirtualKeyboardServiceProxy::serviceName_ = + "org.fcitx.virtualkeyboard.service"; +// static +const QString FcitxVirtualKeyboardServiceProxy::servicePath_ = + "/virtualkeyboard"; +// static +const QString FcitxVirtualKeyboardServiceProxy::serviceInterface_ = + "org.fcitx.virtualkeyboard.service"; + +FcitxVirtualKeyboardServiceProxy::FcitxVirtualKeyboardServiceProxy() { + virtualKeyboardService.reset( + new QDBusInterface(serviceName_, servicePath_, serviceInterface_, + QDBusConnection::sessionBus())); +} + +void FcitxVirtualKeyboardServiceProxy::showVirtualKeyboard() const { + virtualKeyboardService->call("ShowVirtualKeyboard"); +} + +void FcitxVirtualKeyboardServiceProxy::hideVirtualKeyboard() const { + virtualKeyboardService->call("HideVirtualKeyboard"); +} diff --git a/src/ipc/fcitxvirtualkeyboardserviceproxy.h b/src/ipc/fcitxvirtualkeyboardserviceproxy.h new file mode 100644 index 0000000..0fd2082 --- /dev/null +++ b/src/ipc/fcitxvirtualkeyboardserviceproxy.h @@ -0,0 +1,27 @@ +#ifndef FCITXVIRTUALKEYBOARDSERVICEPROXY_H +#define FCITXVIRTUALKEYBOARDSERVICEPROXY_H + +#include + +#include +#include + +#include "virtualkeyboardentry/fcitxvirtualkeyboardservice.h" + +class FcitxVirtualKeyboardServiceProxy : public FcitxVirtualKeyboardService { +public: + FcitxVirtualKeyboardServiceProxy(); + ~FcitxVirtualKeyboardServiceProxy() override = default; + + void showVirtualKeyboard() const override; + void hideVirtualKeyboard() const override; + +private: + std::unique_ptr virtualKeyboardService = nullptr; + + static const QString serviceName_; + static const QString servicePath_; + static const QString serviceInterface_; +}; + +#endif // FCITXVIRTUALKEYBOARDSERVICEPROXY_H diff --git a/src/ipc/requestmerger.cpp b/src/ipc/requestmerger.cpp new file mode 100644 index 0000000..ebaf606 --- /dev/null +++ b/src/ipc/requestmerger.cpp @@ -0,0 +1,143 @@ +#include "requestmerger.h" + +class RequestMerger::State { +public: + virtual void activate() const = 0; + virtual void deactivate() const = 0; + void execute() const { + requestMerger_.enterIdleState(); + + if (!executeCallback_) { + return; + } + + executeCallback_(); + } + +protected: + State(RequestMerger &requestMerger, ExecuteCallback executeCallback) + : requestMerger_(requestMerger), + executeCallback_(std::move(executeCallback)) {} + virtual ~State() = default; + +protected: + RequestMerger &requestMerger_; + +private: + ExecuteCallback executeCallback_; +}; + +class RequestMerger::IdleState : public RequestMerger::State { +public: + IdleState(RequestMerger &requestMerger, + ShouldActivateCallback shouldActivateCallback, + ShouldDeactivateCallback shouldDeactivateCallback) + : State(requestMerger, ExecuteCallback()), + shouldActivateCallback_(std::move(shouldActivateCallback)), + shouldDeactivateCallback_(std::move(shouldDeactivateCallback)) {} + ~IdleState() override = default; + + void activate() const override { + if (!shouldActivate()) { + return; + } + + requestMerger_.enterActivationState(); + } + + void deactivate() const override { + if (!shouldDeactivate()) { + return; + } + + requestMerger_.enterDeactivationState(); + } + +private: + bool shouldActivate() const { + return shouldActivateCallback_ && shouldActivateCallback_(); + } + bool shouldDeactivate() const { + return shouldDeactivateCallback_ && shouldDeactivateCallback_(); + } + +private: + ShouldActivateCallback shouldActivateCallback_; + ShouldDeactivateCallback shouldDeactivateCallback_; +}; + +class RequestMerger::ActivationState : public RequestMerger::State { +public: + ActivationState(RequestMerger &requestMerger, + ExecuteCallback executeCallback) + : State(requestMerger, std::move(executeCallback)) {} + ~ActivationState() override = default; + + void activate() const override {} + + void deactivate() const override { requestMerger_.enterIdleState(); } +}; + +class RequestMerger::DeactivationState : public RequestMerger::State { +public: + DeactivationState(RequestMerger &requestMerger, + ExecuteCallback executeCallback) + : State(requestMerger, std::move(executeCallback)) {} + ~DeactivationState() override = default; + + void activate() const override { requestMerger_.enterIdleState(); } + + void deactivate() const override {} +}; + +RequestMerger::RequestMerger(int period) { + period_ = std::max(LEAST_PERIOD, period); + + timer_.setSingleShot(true); + + QObject::connect(&timer_, &QTimer::timeout, this, &RequestMerger::execute); +} + +RequestMerger::~RequestMerger() = default; + +void RequestMerger::init(ExecuteCallback activationExecuteCallback, + ExecuteCallback deactivationExecuteCallback, + ShouldActivateCallback shouldAcitvateCallback, + ShouldDeactivateCallback shouldDeactivateCallback) { + idleState_ = + std::make_shared(*this, std::move(shouldAcitvateCallback), + std::move(shouldDeactivateCallback)); + activationState_ = std::make_shared( + *this, std::move(activationExecuteCallback)); + deactivationState_ = std::make_shared( + *this, std::move(deactivationExecuteCallback)); + + updateCurrentState(idleState_); +} + +void RequestMerger::activate() { currentSate_->activate(); } + +void RequestMerger::deactivate() { currentSate_->deactivate(); } + +void RequestMerger::start() { timer_.start(period_); } + +void RequestMerger::stop() { timer_.stop(); } + +void RequestMerger::updateCurrentState(std::shared_ptr newState) { + currentSate_ = newState; +} + +void RequestMerger::enterIdleState() { + updateCurrentState(idleState_); + stop(); +} +void RequestMerger::enterActivationState() { + updateCurrentState(activationState_); + start(); +} +void RequestMerger::enterDeactivationState() { + updateCurrentState(deactivationState_); + start(); +} + +void RequestMerger::execute() { currentSate_->execute(); } diff --git a/src/ipc/requestmerger.h b/src/ipc/requestmerger.h new file mode 100644 index 0000000..a4be9dd --- /dev/null +++ b/src/ipc/requestmerger.h @@ -0,0 +1,61 @@ +#ifndef REQUESTMERGER_H +#define REQUESTMERGER_H + +#include +#include + +#include +#include + +class RequestMerger : public QObject { + Q_OBJECT + +public: + using ExecuteCallback = std::function; + using ShouldActivateCallback = std::function; + using ShouldDeactivateCallback = std::function; + +public: + explicit RequestMerger(int period); + ~RequestMerger() override; + + void init(ExecuteCallback activationExecuteCallback, + ExecuteCallback deactivationExecuteCallback, + ShouldActivateCallback shouldAcitvateCallback, + ShouldDeactivateCallback shouldDeactivateCallback); + + void activate(); + void deactivate(); + +private slots: + void execute(); + +private: + class State; + class IdleState; + class ActivationState; + class DeactivationState; + +private: + void enterIdleState(); + void enterActivationState(); + void enterDeactivationState(); + + void start(); + void stop(); + + void updateCurrentState(std::shared_ptr newState); + +private: + // 请求合并的最小周期是10ms + const int LEAST_PERIOD = 10; + int period_ = LEAST_PERIOD; + QTimer timer_; + + std::shared_ptr currentSate_ = nullptr; + std::shared_ptr idleState_ = nullptr; + std::shared_ptr activationState_ = nullptr; + std::shared_ptr deactivationState_ = nullptr; +}; + +#endif // REQUESTMERGER_H diff --git a/src/localsettings/localsettings.h b/src/localsettings/localsettings.h new file mode 100644 index 0000000..95de9bb --- /dev/null +++ b/src/localsettings/localsettings.h @@ -0,0 +1,19 @@ +#ifndef LOCALSETTINGS_H +#define LOCALSETTINGS_H + +#include + +class LocalSettings { +public: + virtual ~LocalSettings() = default; + + virtual QVariant getValue(const QString &group, const QString &key, + const QVariant &defaultValue = QVariant()) = 0; + virtual void setValue(const QString &group, const QString &key, + const QVariant &value) = 0; + +protected: + LocalSettings() = default; +}; + +#endif // LOCALSETTINGS_H diff --git a/src/localsettings/viewlocalsettings.cpp b/src/localsettings/viewlocalsettings.cpp new file mode 100644 index 0000000..ce977be --- /dev/null +++ b/src/localsettings/viewlocalsettings.cpp @@ -0,0 +1,28 @@ +#include "viewlocalsettings.h" + +ViewLocalSettings::ViewLocalSettings(const QString &organization, + const QString &application) + : settings(organization, application) {} + +ViewLocalSettings::~ViewLocalSettings() = default; + +QVariant +ViewLocalSettings::getValue(const QString &group, const QString &key, + const QVariant &defaultValue /*= QVariant()*/) { + settings.beginGroup(group); + + auto value = settings.value(key, defaultValue); + + settings.endGroup(); + + return value; +} + +void ViewLocalSettings::setValue(const QString &group, const QString &key, + const QVariant &value) { + settings.beginGroup(group); + + settings.setValue(key, value); + + settings.endGroup(); +} diff --git a/src/localsettings/viewlocalsettings.h b/src/localsettings/viewlocalsettings.h new file mode 100644 index 0000000..38546a6 --- /dev/null +++ b/src/localsettings/viewlocalsettings.h @@ -0,0 +1,22 @@ +#ifndef VIEWLOCALSETTINGS_H +#define VIEWLOCALSETTINGS_H + +#include + +#include "localsettings.h" + +class ViewLocalSettings : public LocalSettings { +public: + ViewLocalSettings(const QString &organization, const QString &application); + ~ViewLocalSettings() override; + + QVariant getValue(const QString &group, const QString &key, + const QVariant &defaultValue) override; + void setValue(const QString &group, const QString &key, + const QVariant &value) override; + +private: + QSettings settings; +}; + +#endif // VIEWLOCALSETTINGS_H diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..ccc07fd --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,28 @@ +#include +#include +#include + +#include "ipc/dbusservice.h" +#include "ipc/fcitxvirtualkeyboardserviceproxy.h" +#include "virtualkeyboard/virtualkeyboardmanager.h" +#include "virtualkeyboardentry/virtualkeyboardentrymanager.h" + +int main(int argc, char *argv[]) { + QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + QApplication app(argc, argv); + + QTranslator translator; + if (translator.load(QLocale::system(), "translation", "_", + ":/translations")) { + app.installTranslator(&translator); + } + + VirtualKeyboardManager virtualKeyboardManager; + FcitxVirtualKeyboardServiceProxy virtualKeyboardService; + VirtualKeyboardEntryManager entryManager(virtualKeyboardManager, + virtualKeyboardService); + + DBusService dbusService(&virtualKeyboardManager); + + return app.exec(); +} diff --git a/src/screenmanager.cpp b/src/screenmanager.cpp new file mode 100644 index 0000000..f68c301 --- /dev/null +++ b/src/screenmanager.cpp @@ -0,0 +1,14 @@ +#include "screenmanager.h" + +#include +#include + +// static +QRect ScreenManager::getPrimaryScreenGeometry() { + return QGuiApplication::primaryScreen()->geometry(); +} + +// static +QSize ScreenManager::getPrimaryScreenSize() { + return getPrimaryScreenGeometry().size(); +} diff --git a/src/screenmanager.h b/src/screenmanager.h new file mode 100644 index 0000000..00ed422 --- /dev/null +++ b/src/screenmanager.h @@ -0,0 +1,16 @@ +#ifndef SCREENMANAGER_H +#define SCREENMANAGER_H + +#include +#include + +class ScreenManager { +public: + ScreenManager() = default; + ~ScreenManager() = default; + + static QRect getPrimaryScreenGeometry(); + static QSize getPrimaryScreenSize(); +}; + +#endif // SCREENMANAGER_H diff --git a/src/virtualkeyboard/placementmodemanager.cpp b/src/virtualkeyboard/placementmodemanager.cpp new file mode 100644 index 0000000..b680097 --- /dev/null +++ b/src/virtualkeyboard/placementmodemanager.cpp @@ -0,0 +1,58 @@ +#include "placementmodemanager.h" + +#include "localsettings/localsettings.h" + +// static +const QString PlacementModeManager::placementModeGroup = "placementMode"; +// static +const QString PlacementModeManager::placementModeKey = "placementMode"; + +PlacementModeManager::PlacementModeManager(LocalSettings &viewSettings) + : QObject(), viewSettings_(viewSettings) { + loadPlacementMode(); +} + +PlacementModeManager::~PlacementModeManager() { savePlacementMode(); } + +void PlacementModeManager::updatePlacementMode() { + if (placementMode_ == PlacementMode::Expansion) { + enterExpansionMode(); + } else { + enterFloatMode(); + } +} + +void PlacementModeManager::flipPlacementMode() { + if (placementMode_ == PlacementMode::Expansion) { + enterFloatMode(); + } else { + enterExpansionMode(); + } +} + +void PlacementModeManager::setPlacementMode(PlacementMode placementMode) { + placementMode_ = placementMode; + savePlacementMode(); +} + +void PlacementModeManager::enterExpansionMode() { + setPlacementMode(PlacementMode::Expansion); + emit expansionModeEntered(); +} + +void PlacementModeManager::enterFloatMode() { + setPlacementMode(PlacementMode::Float); + emit floatModeEntered(); +} + +void PlacementModeManager::savePlacementMode() { + viewSettings_.setValue(placementModeGroup, placementModeKey, + placementMode_); +} + +void PlacementModeManager::loadPlacementMode() { + placementMode_ = viewSettings_ + .getValue(placementModeGroup, placementModeKey, + PlacementModeManager::Expansion) + .value(); +} diff --git a/src/virtualkeyboard/placementmodemanager.h b/src/virtualkeyboard/placementmodemanager.h new file mode 100644 index 0000000..5a0dd33 --- /dev/null +++ b/src/virtualkeyboard/placementmodemanager.h @@ -0,0 +1,43 @@ +#ifndef PLACEMENTMODEMANAGER_H +#define PLACEMENTMODEMANAGER_H + +#include + +#include "localsettings/localsettings.h" + +class PlacementModeManager : public QObject { + Q_OBJECT + +public: + explicit PlacementModeManager(LocalSettings &viewSettings); + ~PlacementModeManager() override; + + void updatePlacementMode(); + + enum PlacementMode { Expansion, Float }; + Q_ENUM(PlacementMode) + +signals: + void expansionModeEntered(); + void floatModeEntered(); + +public: + void flipPlacementMode(); + +private: + void setPlacementMode(PlacementMode placementMode); + void enterExpansionMode(); + void enterFloatMode(); + void savePlacementMode(); + void loadPlacementMode(); + +private: + PlacementMode placementMode_ = PlacementMode::Expansion; + + LocalSettings &viewSettings_; + + static const QString placementModeGroup; + static const QString placementModeKey; +}; + +#endif // PLACEMENTMODEMANAGER_H diff --git a/src/virtualkeyboard/virtualkeyboardmanager.cpp b/src/virtualkeyboard/virtualkeyboardmanager.cpp new file mode 100644 index 0000000..be3ed10 --- /dev/null +++ b/src/virtualkeyboard/virtualkeyboardmanager.cpp @@ -0,0 +1,203 @@ +#include "virtualkeyboardmanager.h" + +#include +#include + +#include "virtualkeyboardstrategy.h" + +VirtualKeyboardManager::VirtualKeyboardManager(QObject *parent) + : QObject(parent) { + initVirtualKeyboardModel(); + + initAppInputAreaManager(); + initPlacementModeManager(); + initGeometryManager(); + + initScreenSignalConnections(); + initPlacementModeManagerSignalConnections(); +} + +VirtualKeyboardManager::~VirtualKeyboardManager() { + hideVirtualKeyboard(); + + placementModeManager_.reset(); + floatGeometryManager_.reset(); + expansionGeometryManager_.reset(); + appInputAreaManager_.reset(); + + model_.reset(); +} + +void VirtualKeyboardManager::showVirtualKeyboard() { + if (virtualkeyboardVisible_) { + return; + } + initView(); + virtualkeyboardVisible_ = true; + visibiltyChanged(); +} + +void VirtualKeyboardManager::hideVirtualKeyboard() { + if (!virtualkeyboardVisible_) { + return; + } + virtualkeyboardVisible_ = false; + destoryView(); + visibiltyChanged(); +} + +void VirtualKeyboardManager::flipPlacementMode() { + placementModeManager_->flipPlacementMode(); +} + +void VirtualKeyboardManager::moveBy(int offsetX, int offsetY) { + floatGeometryManager_->moveBy(offsetX, offsetY); +} + +void VirtualKeyboardManager::endDrag() { floatGeometryManager_->endDrag(); } + +void VirtualKeyboardManager::visibiltyChanged() { + emit virtualKeyboardVisibiltyChanged(virtualkeyboardVisible_); + model_->processVisibilityEvent(virtualkeyboardVisible_); +} + +bool VirtualKeyboardManager::isVirtualKeyboardVisible() const { + return virtualkeyboardVisible_; +} + +void VirtualKeyboardManager::updatePreeditCaret(int index) { + emit model_->updatePreeditCaret(index); +} + +void VirtualKeyboardManager::updatePreeditArea(const QString &preeditText) { + emit model_->updatePreeditArea(preeditText); +} + +void VirtualKeyboardManager::updateCandidateArea( + const QStringList &candidateTextList, bool hasPrev, bool hasNext, + int pageIndex, int globalCursorIndex) { + model_->updateCandidateArea(QVariant(candidateTextList), hasPrev, hasNext, + pageIndex, globalCursorIndex); +} + +void VirtualKeyboardManager::notifyIMActivated(const QString &uniqueName) { + model_->setUniqueName(uniqueName); +} + +void VirtualKeyboardManager::notifyIMDeactivated( + const QString & /*uniqueName*/) { + emit model_->imDeactivated(); +} + +void VirtualKeyboardManager::notifyIMListChanged() { + model_->syncCurrentIMList(); +} + +void VirtualKeyboardManager::processResolutionChangedEvent() { + if (virtualkeyboardVisible_) { + placementModeManager_->updatePlacementMode(); + } +} + +void VirtualKeyboardManager::initView() { + view_.reset(new VirtualKeyboardView(this, model_.get())); + + connectSignals(); + + placementModeManager_->updatePlacementMode(); +} + +void VirtualKeyboardManager::destoryView() { + appInputAreaManager_->fallInputArea(); + + if (view_ == nullptr) { + return; + } + + view_.reset(); +} + +void VirtualKeyboardManager::initAppInputAreaManager() { + appInputAreaManager_.reset(new AppInputAreaManager(this)); +} + +void VirtualKeyboardManager::initPlacementModeManager() { + placementModeManager_.reset(new PlacementModeManager(viewSettings_)); +} + +void VirtualKeyboardManager::initGeometryManager() { + floatGeometryManager_.reset(new FloatGeometryManager( + std::unique_ptr( + new VirtualKeyboardStrategy()), + viewSettings_)); + expansionGeometryManager_.reset(new ExpansionGeometryManager()); +} + +void VirtualKeyboardManager::initVirtualKeyboardModel() { + model_.reset(new VirtualKeyboardModel(this)); +} + +void VirtualKeyboardManager::connectVirtualKeyboardModelSignals() { + connect(model_.get(), SIGNAL(updatePreeditArea(const QString &)), + view_.get(), SIGNAL(updatePreeditArea(const QString &))); + connect(model_.get(), SIGNAL(updateCandidateArea(const QVariant &, int)), + view_.get(), SIGNAL(updateCandidateArea(const QVariant &, int))); + connect(model_.get(), SIGNAL(imDeactivated()), view_.get(), + SIGNAL(imDeactivated())); + + connect(model_.get(), SIGNAL(backendConnectionDisconnected()), this, + SLOT(hideVirtualKeyboard())); +} + +void VirtualKeyboardManager::connectGeometryManagerSignals() { + connect(expansionGeometryManager_.get(), SIGNAL(viewMoved(int, int)), + view_.get(), SLOT(move(int, int))); + connect(expansionGeometryManager_.get(), SIGNAL(viewResized(int, int)), + view_.get(), SLOT(resize(int, int))); + connect(floatGeometryManager_.get(), SIGNAL(viewMoved(int, int)), + view_.get(), SLOT(move(int, int))); + connect(floatGeometryManager_.get(), SIGNAL(viewResized(int, int)), + view_.get(), SLOT(resize(int, int))); +} + +void VirtualKeyboardManager::connectPlacementModeManagerSignals() { + connect(placementModeManager_.get(), SIGNAL(expansionModeEntered()), + view_.get(), SIGNAL(expansionModeEntered())); + + connect(placementModeManager_.get(), SIGNAL(floatModeEntered()), + view_.get(), SIGNAL(floatModeEntered())); +} + +void VirtualKeyboardManager::connectSignals() { + connectVirtualKeyboardModelSignals(); + + connectPlacementModeManagerSignals(); + + connectGeometryManagerSignals(); +} + +void VirtualKeyboardManager::raiseInputArea() { + appInputAreaManager_->raiseInputArea(view_->geometry()); +} + +void VirtualKeyboardManager::fallInputArea() { + appInputAreaManager_->fallInputArea(); +} + +void VirtualKeyboardManager::initScreenSignalConnections() { + connect(QGuiApplication::primaryScreen(), + SIGNAL(geometryChanged(const QRect &)), this, + SLOT(processResolutionChangedEvent())); +} + +void VirtualKeyboardManager::initPlacementModeManagerSignalConnections() { + connect(placementModeManager_.get(), SIGNAL(expansionModeEntered()), + expansionGeometryManager_.get(), SLOT(updateGeometry())); + connect(placementModeManager_.get(), SIGNAL(expansionModeEntered()), this, + SLOT(raiseInputArea())); + + connect(placementModeManager_.get(), SIGNAL(floatModeEntered()), + floatGeometryManager_.get(), SLOT(updateGeometry())); + connect(placementModeManager_.get(), SIGNAL(floatModeEntered()), this, + SLOT(fallInputArea())); +} diff --git a/src/virtualkeyboard/virtualkeyboardmanager.h b/src/virtualkeyboard/virtualkeyboardmanager.h new file mode 100644 index 0000000..3983b4d --- /dev/null +++ b/src/virtualkeyboard/virtualkeyboardmanager.h @@ -0,0 +1,77 @@ +#ifndef VIRTUALKEYBOARDMANAGER_H +#define VIRTUALKEYBOARDMANAGER_H + +#include + +#include + +#include "appinputareamanager.h" +#include "geometrymanager/expansiongeometrymanager.h" +#include "geometrymanager/floatgeometrymanager.h" +#include "localsettings/viewlocalsettings.h" +#include "placementmodemanager.h" +#include "virtualkeyboardmodel.h" +#include "virtualkeyboardview.h" + +class VirtualKeyboardManager : public QObject { + Q_OBJECT + +public: + explicit VirtualKeyboardManager(QObject *parent = nullptr); + ~VirtualKeyboardManager(); + + void showVirtualKeyboard(); + Q_INVOKABLE void hideVirtualKeyboard(); + Q_INVOKABLE void flipPlacementMode(); + Q_INVOKABLE void moveBy(int offsetX, int offsetY); + Q_INVOKABLE void endDrag(); + void visibiltyChanged(); + bool isVirtualKeyboardVisible() const; + void updatePreeditCaret(int index); + void updatePreeditArea(const QString &preeditText); + void updateCandidateArea(const QStringList &candidateTextList, bool hasPrev, + bool hasNext, int pageIndex, + int globalCursorIndex); + void notifyIMActivated(const QString &uniqueName); + void notifyIMDeactivated(const QString &uniqueName); + void notifyIMListChanged(); + +signals: + void virtualKeyboardVisibiltyChanged(bool isShow); + +public slots: + void processResolutionChangedEvent(); + + void raiseInputArea(); + void fallInputArea(); + +private: + void initAppInputAreaManager(); + void initPlacementModeManager(); + void initGeometryManager(); + void initVirtualKeyboardModel(); + + void initScreenSignalConnections(); + void initPlacementModeManagerSignalConnections(); + + void initView(); + void destoryView(); + + void connectSignals(); + void connectVirtualKeyboardModelSignals(); + void connectGeometryManagerSignals(); + void connectPlacementModeManagerSignals(); + + std::unique_ptr appInputAreaManager_ = nullptr; + std::unique_ptr view_ = nullptr; + std::unique_ptr model_ = nullptr; + std::unique_ptr placementModeManager_ = nullptr; + std::unique_ptr floatGeometryManager_ = nullptr; + std::unique_ptr expansionGeometryManager_ = + nullptr; + bool virtualkeyboardVisible_ = false; + + ViewLocalSettings viewSettings_{"kylinsoft", "kylin virtual keyboard"}; +}; + +#endif // VIRTUALKEYBOARDMANAGER_H diff --git a/src/virtualkeyboard/virtualkeyboardmodel.cpp b/src/virtualkeyboard/virtualkeyboardmodel.cpp new file mode 100644 index 0000000..9846c3a --- /dev/null +++ b/src/virtualkeyboard/virtualkeyboardmodel.cpp @@ -0,0 +1,185 @@ +#include "virtualkeyboardmodel.h" + +#include +#include +#include + +VirtualKeyboardModel::VirtualKeyboardModel(QObject *parent) : QObject(parent) { + initFcitx5Controller(); + initDBusServiceWatcher(); +} + +void VirtualKeyboardModel::processVisibilityEvent(bool visible) { + virtualKeyboardBackendInterface_->asyncCall("ProcessVisibilityEvent", + visible); +} + +void VirtualKeyboardModel::updateCandidateArea( + const QVariant &candidateTextList, bool /*hasPrev*/, bool /*hasNext*/, + int /*pageIndex*/, int globalCursorIndex) { + emit updateCandidateArea(candidateTextList, globalCursorIndex); +} + +class FcitxQtIMInfo { +public: + friend QDBusArgument &operator<<(QDBusArgument &argument, + const FcitxQtIMInfo &arg); + friend const QDBusArgument &operator>>(const QDBusArgument &argument, + FcitxQtIMInfo &arg); + static void registerDBusMetaType(); + void setUniqueName(const QString &uniqueName) { uniqueName_ = uniqueName; } + void setLocalName(const QString &localName) { localName_ = localName; } + void setLabel(const QString &label) { label_ = label; } + const QString &getUniqueName() const { return uniqueName_; } + const QString &getLocalName() const { return localName_; } + const QString &getLabel() const { return label_; } + +private: + QString uniqueName_; + QString localName_; + QString label_; +}; + +QDBusArgument &operator<<(QDBusArgument &argument, const FcitxQtIMInfo &arg) { + argument.beginStructure(); + argument << arg.uniqueName_; + argument << arg.localName_; + argument << arg.label_; + argument.endStructure(); + return argument; +} + +const QDBusArgument &operator>>(const QDBusArgument &argument, + FcitxQtIMInfo &arg) { + QString uniqueName; + QString localName; + QString label; + argument.beginStructure(); + argument >> uniqueName >> localName >> label; + argument.endStructure(); + arg.setUniqueName(uniqueName); + arg.setLocalName(localName); + arg.setLabel(label); + return argument; +} + +Q_DECLARE_METATYPE(FcitxQtIMInfo) + +void FcitxQtIMInfo::registerDBusMetaType() { + qDBusRegisterMetaType(); + qDBusRegisterMetaType>(); +} + +void VirtualKeyboardModel::selectCandidate(int index) { + virtualKeyboardBackendInterface_->asyncCall("SelectCandidate", index); +} + +void VirtualKeyboardModel::setCurrentIM(const QString &imName) { + fcitx5Controller_->SetCurrentIM(imName); +} + +void VirtualKeyboardModel::processKeyEvent(const QString & /*keyval*/, + int keycode, int state, + bool isRelease, int time) { + virtualKeyboardBackendInterface_->asyncCall( + "ProcessKeyEvent", (uint)keycode, (uint)keycode, (uint)state, isRelease, + (uint)time); +} + +void VirtualKeyboardModel::initFcitx5Controller() { + fcitx5Controller_.reset(new fcitx::FcitxQtControllerProxy( + "org.fcitx.Fcitx5", "/controller", QDBusConnection::sessionBus())); +} + +void VirtualKeyboardModel::initDBusServiceWatcher() { + serviceWatcher_.reset(new QDBusServiceWatcher(this)); + serviceWatcher_->setConnection(QDBusConnection::sessionBus()); + serviceWatcher_->addWatchedService(virtualKeyboardBackendService); + serviceWatcher_->setWatchMode(QDBusServiceWatcher::WatchForRegistration | + QDBusServiceWatcher::WatchForUnregistration); + connect(serviceWatcher_.get(), SIGNAL(serviceRegistered(const QString &)), + this, SLOT(backendServiceRegistered(const QString &))); + connect(serviceWatcher_.get(), SIGNAL(serviceUnregistered(const QString &)), + this, SLOT(backendServiceUnregistered(const QString &))); +} + +void VirtualKeyboardModel::initVirtualKeyboardBackendInterface() { + virtualKeyboardBackendInterface_.reset(new QDBusInterface( + virtualKeyboardBackendService, virtualKeyboardBackendServicePath, + virtualKeyboardBackendServiceInterface, QDBusConnection::sessionBus(), + this)); +} + +void VirtualKeyboardModel::backendServiceRegistered( + const QString &serviceName) { + if (serviceName != virtualKeyboardBackendService) { + return; + } + initVirtualKeyboardBackendInterface(); + + syncUniqueName(); + + syncCurrentIMList(); +} + +void VirtualKeyboardModel::backendServiceUnregistered( + const QString &serviceName) { + if (serviceName != virtualKeyboardBackendService) { + return; + } + + emit backendConnectionDisconnected(); + + virtualKeyboardBackendInterface_.reset(); +} + +QString VirtualKeyboardModel::getUniqueName() const { return uniqueName_; } + +void VirtualKeyboardModel::setUniqueName(const QString &uniqueName) { + if (uniqueName_ == uniqueName) { + return; + } + + uniqueName_ = uniqueName; + + emit uniqueNameChanged(); +} + +void VirtualKeyboardModel::syncUniqueName() { + QDBusPendingReply reply = fcitx5Controller_->CurrentInputMethod(); + reply.waitForFinished(); + + setUniqueName(reply.value()); +} + +QVariant VirtualKeyboardModel::getCurrentIMList() const { + return currentIMList_; +} + +void VirtualKeyboardModel::setCurrentIMList( + const QVariant ¤tInputMethodList) { + if (currentIMList_ == currentInputMethodList) { + return; + } + + currentIMList_ = currentInputMethodList; + + emit currentIMListChanged(); +} + +void VirtualKeyboardModel::syncCurrentIMList() { + FcitxQtIMInfo::registerDBusMetaType(); + QDBusPendingReply> reply = + virtualKeyboardBackendInterface_->asyncCall("CurrentIMList"); + reply.waitForFinished(); + + auto items = reply.value(); + + QStringList stringList; + for (const auto &imInfo : items) { + stringList.append(imInfo.getUniqueName() + "|" + imInfo.getLocalName() + + "|" + imInfo.getLabel()); + } + + setCurrentIMList(QVariant(stringList)); +} diff --git a/src/virtualkeyboard/virtualkeyboardmodel.h b/src/virtualkeyboard/virtualkeyboardmodel.h new file mode 100644 index 0000000..d99beeb --- /dev/null +++ b/src/virtualkeyboard/virtualkeyboardmodel.h @@ -0,0 +1,86 @@ +#ifndef VIRTUALKEYBOARDMODEL_H +#define VIRTUALKEYBOARDMODEL_H + +#include + +#include +#include +#include + +#include + +class VirtualKeyboardModel : public QObject { + Q_OBJECT +public: + explicit VirtualKeyboardModel(QObject *parent = nullptr); + ~VirtualKeyboardModel() override = default; + +public: + Q_PROPERTY(QString uniqueName READ getUniqueName NOTIFY uniqueNameChanged); + Q_PROPERTY(QVariant currentIMList READ getCurrentIMList NOTIFY + currentIMListChanged); + +signals: + void uniqueNameChanged(); + + void currentIMListChanged(); + +public: + void setUniqueName(const QString &uniqueName); + + void syncCurrentIMList(); + + void processVisibilityEvent(bool visible); + + void updateCandidateArea(const QVariant &candidateTextList, bool hasPrev, + bool hasNext, int pageIndex, + int globalCursorIndex); + +public: + Q_INVOKABLE void selectCandidate(int index); + Q_INVOKABLE void setCurrentIM(const QString &imName); + Q_INVOKABLE void processKeyEvent(const QString &keyval, int keycode, + int state, bool isRelease, int time); + +signals: + void updatePreeditCaret(int index); + void updatePreeditArea(const QString &preeditText); + // TODO(linyuxuan): 使用更准确的类型替换QVariant + void updateCandidateArea(const QVariant &candidateTextList, + int globalCursorIndex); + void imDeactivated(); + + void backendConnectionDisconnected(); + +private slots: + void backendServiceRegistered(const QString &serviceName); + void backendServiceUnregistered(const QString &serviceName); + +private: + void initFcitx5Controller(); + void initDBusServiceWatcher(); + void initVirtualKeyboardBackendInterface(); + + QString getUniqueName() const; + void syncUniqueName(); + + QVariant getCurrentIMList() const; + void setCurrentIMList(const QVariant ¤tIMList); + +private: + std::unique_ptr serviceWatcher_ = nullptr; + std::unique_ptr virtualKeyboardBackendInterface_ = nullptr; + std::unique_ptr fcitx5Controller_ = nullptr; + + QString uniqueName_; + + QVariant currentIMList_; + + QString virtualKeyboardBackendService = + "org.fcitx.Fcitx5.VirtualKeyboardBackend"; + QString virtualKeyboardBackendServicePath = "/virtualkeyboard"; + QString virtualKeyboardBackendServiceInterface = + "org.fcitx.Fcitx5.VirtualKeyboardBackend1"; +}; + +#endif // VIRTUALKEYBOARDMODEL_H diff --git a/src/virtualkeyboard/virtualkeyboardstrategy.h b/src/virtualkeyboard/virtualkeyboardstrategy.h new file mode 100644 index 0000000..54d8d12 --- /dev/null +++ b/src/virtualkeyboard/virtualkeyboardstrategy.h @@ -0,0 +1,44 @@ +#ifndef VIRTUALKEYBOARDSTRATEGY_H +#define VIRTUALKEYBOARDSTRATEGY_H + +#include "geometrymanager/floatgeometrymanager.h" + +#include "screenmanager.h" + +class VirtualKeyboardStrategy : public FloatGeometryManager::Strategy { +public: + VirtualKeyboardStrategy() = default; + ~VirtualKeyboardStrategy() override = default; + + int getDefaultRightMargin() const override { + const int screenWidth = ScreenManager::getPrimaryScreenSize().width(); + + return (screenWidth - getViewWidth()) / 2; + } + + int getDefaultBottomMargin() const override { + const int screenHeight = ScreenManager::getPrimaryScreenSize().height(); + + return screenHeight * defaultBottomMarginRatio_; + } + +private: + int getUnitWidth() const override { + return ScreenManager::getPrimaryScreenSize().width(); + } + + float getViewWidthRatio() const override { return 1458.0 / 1620.0; } + + int getUnitHeight() const override { + const auto viewPortSize = ScreenManager::getPrimaryScreenSize(); + + return std::max(viewPortSize.width(), viewPortSize.height()); + } + + float getViewHeightRatio() const override { return 548.0 / 1620.0; } + +private: + static constexpr float defaultBottomMarginRatio_ = 0.05f; +}; + +#endif // VIRTUALKEYBOARDSTRATEGY_H diff --git a/src/virtualkeyboard/virtualkeyboardview.cpp b/src/virtualkeyboard/virtualkeyboardview.cpp new file mode 100644 index 0000000..70efe62 --- /dev/null +++ b/src/virtualkeyboard/virtualkeyboardview.cpp @@ -0,0 +1,64 @@ +#include "virtualkeyboardview.h" + +#include +#include + +VirtualKeyboardView::VirtualKeyboardView(QObject *manager, QObject *model) + : view_(new QQuickView()) { + init(manager, model); + + connectSignals(); + + view_->show(); +} + +VirtualKeyboardView::~VirtualKeyboardView() { + if (view_ == nullptr) { + return; + } + + if (view_->isVisible()) { + view_->hide(); + } + + view_.release()->deleteLater(); +} + +QRect VirtualKeyboardView::geometry() const { return view_->geometry(); } + +void VirtualKeyboardView::move(int x, int y) { + view_->setX(x); + view_->setY(y); +} + +void VirtualKeyboardView::resize(int width, int height) { + view_->setWidth(width); + view_->setHeight(height); +} + +void VirtualKeyboardView::init(QObject *manager, QObject *model) { + view_->rootContext()->setContextProperty("manager", manager); + view_->rootContext()->setContextProperty("model", model); + + view_->setColor(QColor(Qt::transparent)); + view_->setSource(QUrl("qrc:/qml/VirtualKeyboard.qml")); + view_->setFlags(Qt::Window | Qt::WindowDoesNotAcceptFocus | + Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | + Qt::BypassWindowManagerHint); +} + +void VirtualKeyboardView::connectSignals() { + auto *rootObject = view_->rootObject(); + + connect(this, SIGNAL(updatePreeditArea(const QString &)), rootObject, + SIGNAL(qmlUpdatePreedit(QString))); + connect(this, SIGNAL(updateCandidateArea(const QVariant &, int)), + rootObject, SIGNAL(qmlUpdateCandidateList(QVariant, int))); + connect(this, SIGNAL(imDeactivated()), rootObject, + SIGNAL(qmlImDeactivated())); + + connect(this, SIGNAL(expansionModeEntered()), rootObject, + SIGNAL(qmlEnterExpansionPlacementMode())); + connect(this, SIGNAL(floatModeEntered()), rootObject, + SIGNAL(qmlEnterFloatPlacementMode())); +} diff --git a/src/virtualkeyboard/virtualkeyboardview.h b/src/virtualkeyboard/virtualkeyboardview.h new file mode 100644 index 0000000..d50d1f2 --- /dev/null +++ b/src/virtualkeyboard/virtualkeyboardview.h @@ -0,0 +1,40 @@ +#ifndef VIRTUALKEYBOARDVIEW_H +#define VIRTUALKEYBOARDVIEW_H + +#include + +#include +#include +#include + +class VirtualKeyboardView : public QObject { + Q_OBJECT + +public: + VirtualKeyboardView(QObject *manager, QObject *model); + ~VirtualKeyboardView() override; + + QRect geometry() const; + +signals: + void updatePreeditArea(const QString &preeditText); + void updateCandidateArea(const QVariant &candidateTextList, + int globalCursorIndex); + void imDeactivated(); + + void expansionModeEntered(); + void floatModeEntered(); + +public slots: + void move(int x, int y); + void resize(int width, int height); + +private: + void init(QObject *manager, QObject *model); + void connectSignals(); + +private: + std::unique_ptr view_ = nullptr; +}; + +#endif // VIRTUALKEYBOARDVIEW_H diff --git a/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h b/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h new file mode 100644 index 0000000..948218f --- /dev/null +++ b/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h @@ -0,0 +1,15 @@ +#ifndef FCITXVIRTUALKEYBOARDSERVICE_H +#define FCITXVIRTUALKEYBOARDSERVICE_H + +class FcitxVirtualKeyboardService { +public: + virtual ~FcitxVirtualKeyboardService() {} + + virtual void showVirtualKeyboard() const = 0; + virtual void hideVirtualKeyboard() const = 0; + +protected: + FcitxVirtualKeyboardService() = default; +}; + +#endif // FCITXVIRTUALKEYBOARDSERVICE_H diff --git a/src/virtualkeyboardentry/floatbutton.cpp b/src/virtualkeyboardentry/floatbutton.cpp new file mode 100644 index 0000000..8e7fd81 --- /dev/null +++ b/src/virtualkeyboardentry/floatbutton.cpp @@ -0,0 +1,133 @@ +#include "virtualkeyboardentry/floatbutton.h" + +#include +#include +#include + +FloatButton::FloatButton(MouseClickedCallback mouseClickedCallback) + : mouseClickedCallback_(std::move(mouseClickedCallback)) { + // 主题框架默认禁用了move消息,因此,QPushButton需要禁用主题框架 + setProperty("useStyleWindowManager", QVariant(false)); + initStyle(); +} + +void FloatButton::move(int x, int y) { QPushButton::move(x, y); } + +void FloatButton::resize(int width, int height) { + setFixedSize(width, height); + setIconSize(size()); + updateBorderRadius(); + QPushButton::resize(width, height); +} + +void FloatButton::mousePressEvent(QMouseEvent *event) { + if (event->button() == Qt::LeftButton) { + startX_ = event->pos().x(); + startY_ = event->pos().y(); + + startClickTimer(); + } + + QPushButton::mousePressEvent(event); +} + +bool FloatButton::shouldPerformMouseClick() const { + return !isFloatButtonMoved() && clickTimer_->isActive(); +} + +void FloatButton::processMouseReleaseEvent() { + emit mouseReleased(); + + manhattonLength = 0; + + startX_ = -1; + startY_ = -1; +} + +void FloatButton::processMouseClickEvent() { + if (!mouseClickedCallback_) { + return; + } + mouseClickedCallback_(); +} + +void FloatButton::mouseReleaseEvent(QMouseEvent *event) { + QPushButton::mouseReleaseEvent(event); + + if (event->button() != Qt::LeftButton) { + return; + } + + bool couldPerformMouseClick = shouldPerformMouseClick(); + stopClickTimer(); + + if (couldPerformMouseClick) { + processMouseClickEvent(); + + return; + } + + if (isFloatButtonMoved()) { + processMouseReleaseEvent(); + } +} + +void FloatButton::updateManhattonLength(QMouseEvent *event) { + int offsetX = event->pos().x() - startX_; + int offsetY = event->pos().y() - startY_; + + manhattonLength += std::abs(offsetX) + std::abs(offsetY); +} + +bool FloatButton::isFloatButtonMoved() const { + return manhattonLength > manhattonLengthThreshold; +} + +void FloatButton::processMouseMoveEvent(QMouseEvent *event) { + if (!isFloatButtonMoved()) { + updateManhattonLength(event); + } else { + emit mouseMoved(event->pos().x() - startX_, event->pos().y() - startY_); + } +} + +void FloatButton::mouseMoveEvent(QMouseEvent *event) { + if (event->buttons() & Qt::LeftButton) { + processMouseMoveEvent(event); + } + QPushButton::mouseMoveEvent(event); +} + +void FloatButton::initStyle() { + setAttribute(Qt::WA_TranslucentBackground); + setStyleSheet("QPushButton{border-image: " + "url(:/floatbutton/img/floatbuttondefault.svg);}" + "QPushButton:hover{border-image: " + "url(:/floatbutton/img/floatbuttonhovered.svg);}" + "QPushButton:pressed{border-image: " + "url(:/floatbutton/img/floatbuttonpressed.svg);}"); +} + +void FloatButton::updateBorderRadius() { + int w = width(); + int h = height(); + QBitmap bmp(w, h); + bmp.fill(); + QPainter p(&bmp); + p.setPen(Qt::NoPen); + p.setBrush(Qt::black); + p.drawRoundedRect(bmp.rect(), w, h); + setMask(bmp); +} + +void FloatButton::startClickTimer() { + clickTimer_.reset(new QTimer()); + clickTimer_->setSingleShot(true); + clickTimer_->start(clickTimeThreshold_); +} + +void FloatButton::stopClickTimer() { + if (clickTimer_ == nullptr) { + clickTimer_.reset(); + } +} diff --git a/src/virtualkeyboardentry/floatbutton.h b/src/virtualkeyboardentry/floatbutton.h new file mode 100644 index 0000000..1530977 --- /dev/null +++ b/src/virtualkeyboardentry/floatbutton.h @@ -0,0 +1,62 @@ +#ifndef FLOATBUTTON_H +#define FLOATBUTTON_H + +#include +#include + +#include +#include +#include +#include + +class FloatButton : public QPushButton { + Q_OBJECT + +public: + using MouseClickedCallback = std::function; + +public: + explicit FloatButton(MouseClickedCallback mouseClickedCallback); + ~FloatButton() override = default; + +signals: + void mouseMoved(int x, int y); + void mouseReleased(); + +public slots: + void move(int x, int y); + void resize(int width, int height); + +protected: + void mousePressEvent(QMouseEvent *event) override; + void mouseReleaseEvent(QMouseEvent *event) override; + void mouseMoveEvent(QMouseEvent *event) override; + +private: + bool shouldPerformMouseClick() const; + void processMouseReleaseEvent(); + void processMouseClickEvent(); + void processMouseMoveEvent(QMouseEvent *event); + + void updateManhattonLength(QMouseEvent *event); + bool isFloatButtonMoved() const; + + void initStyle(); + void updateBorderRadius(); + + void startClickTimer(); + void stopClickTimer(); + +private: + int startX_ = -1; + int startY_ = -1; + + int manhattonLength = 0; + constexpr static int manhattonLengthThreshold = 10; + + MouseClickedCallback mouseClickedCallback_; + std::unique_ptr clickTimer_ = nullptr; + const int clickTimeThreshold_ = 600; +}; + +#endif // FLOATBUTTON_H diff --git a/src/virtualkeyboardentry/floatbuttonmanager.cpp b/src/virtualkeyboardentry/floatbuttonmanager.cpp new file mode 100644 index 0000000..5a23a6e --- /dev/null +++ b/src/virtualkeyboardentry/floatbuttonmanager.cpp @@ -0,0 +1,159 @@ +#include "virtualkeyboardentry/floatbuttonmanager.h" + +#include +#include +#include +#include +#include +#include + +#include "geometrymanager/floatgeometrymanager.h" +#include "geometrymanager/geometrymanager.h" +#include "virtualkeyboardentry/floatbuttonstrategy.h" + +// static +const QString floatButtonGroup = "floatButton"; +// static +const QString floatButtonEnabledKey = "floatButtonEnabled"; + +FloatButtonManager::FloatButtonManager( + const VirtualKeyboardManager &virtualKeyboardManager, + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService) + : virtualKeyboardManager_(virtualKeyboardManager), + fcitxVirtualKeyboardService_(fcitxVirtualKeyboardService) { + initGeometryManager(); + + initInternalSignalConnections(); + initScreenSignalConnections(); +} + +void FloatButtonManager::loadFloatButtonAvailability() { + const bool floatButtonEnabled = + floatButtonSettings_ + .getValue(floatButtonGroup, floatButtonEnabledKey, true) + .value(); + updateFloatButtonEnabled(floatButtonEnabled); +} + +void FloatButtonManager::enableFloatButton() { setFloatButtonEnabled(true); } + +void FloatButtonManager::disableFloatButton() { setFloatButtonEnabled(false); } + +void FloatButtonManager::initGeometryManager() { + geometryManager_.reset(new FloatGeometryManager( + std::unique_ptr( + new FloatButtonStrategy()), + floatButtonSettings_)); +} + +void FloatButtonManager::initScreenSignalConnections() { + connect(QGuiApplication::primaryScreen(), &QScreen::geometryChanged, this, + &FloatButtonManager::onScreenResolutionChanged); +} + +void FloatButtonManager::initInternalSignalConnections() { + connect(this, &FloatButtonManager::floatButtonEnabled, this, + &FloatButtonManager::initFloatButton); + connect(this, &FloatButtonManager::floatButtonDisabled, this, + &FloatButtonManager::destroyFloatButton); +} + +void FloatButtonManager::initFloatButton() { + createFloatButton(); + + connectFloatButtonSignals(); + + geometryManager_->updateGeometry(); +} + +void FloatButtonManager::destroyFloatButton() { + if (floatButton_ == nullptr) { + return; + } + + // 销毁之前必须隐藏,否则会导致虚拟键盘进程 + // 直接退出 + floatButton_->hide(); + + floatButton_.reset(); +} + +void FloatButtonManager::onScreenResolutionChanged() { + if (!floatButtonEnabled_ || !floatButton_->isVisible()) { + return; + } + + geometryManager_->updateGeometry(); +} + +void FloatButtonManager::showFloatButton() { + if (!floatButtonEnabled_) { + return; + } + + floatButton_->show(); +} + +void FloatButtonManager::hideFloatButton() { + if (!floatButtonEnabled_) { + return; + } + + floatButton_->hide(); +} + +void FloatButtonManager::createFloatButton() { + floatButton_.reset(new FloatButton( + [this]() { fcitxVirtualKeyboardService_.showVirtualKeyboard(); })); + floatButton_->setWindowFlags(Qt::FramelessWindowHint | + Qt::BypassWindowManagerHint | Qt::Tool); + + floatButton_->show(); +} + +void FloatButtonManager::connectFloatButtonSignals() { + connect(floatButton_.get(), &FloatButton::mouseMoved, + geometryManager_.get(), &FloatGeometryManager::moveBy); + connect(floatButton_.get(), &FloatButton::mouseReleased, + geometryManager_.get(), &FloatGeometryManager::endDrag); + + connect(geometryManager_.get(), &FloatGeometryManager::viewMoved, + floatButton_.get(), &FloatButton::move); + connect(geometryManager_.get(), &FloatGeometryManager::viewResized, + floatButton_.get(), &FloatButton::resize); + + connect(&virtualKeyboardManager_, + &VirtualKeyboardManager::virtualKeyboardVisibiltyChanged, + floatButton_.get(), [this](bool visible) { + if (visible) { + hideFloatButton(); + } else { + showFloatButton(); + } + }); +} + +void FloatButtonManager::updateFloatButtonEnabled(bool enabled) { + floatButtonEnabled_ = enabled; + + if (floatButtonEnabled_) { + emit floatButtonEnabled(); + } else { + emit floatButtonDisabled(); + } +} + +void FloatButtonManager::setFloatButtonEnabled(bool enabled) { + if (floatButtonEnabled_ == enabled) { + return; + } + + updateFloatButtonEnabled(enabled); + + saveFloatButtonAvailablity(); +} + +void FloatButtonManager::saveFloatButtonAvailablity() { + floatButtonSettings_.setValue(floatButtonGroup, floatButtonEnabledKey, + floatButtonEnabled_); +} diff --git a/src/virtualkeyboardentry/floatbuttonmanager.h b/src/virtualkeyboardentry/floatbuttonmanager.h new file mode 100644 index 0000000..a80f23f --- /dev/null +++ b/src/virtualkeyboardentry/floatbuttonmanager.h @@ -0,0 +1,69 @@ +#ifndef FLOATBUTTONMANAGER_H +#define FLOATBUTTONMANAGER_H + +#include + +#include +#include +#include + +#include "localsettings/viewlocalsettings.h" +#include "virtualkeyboard/virtualkeyboardmanager.h" +#include "virtualkeyboardentry/fcitxvirtualkeyboardservice.h" +#include "virtualkeyboardentry/floatbutton.h" + +class FloatButtonManager : public QObject { + Q_OBJECT + +public: + FloatButtonManager( + const VirtualKeyboardManager &virtualKeyboardManager, + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService); + ~FloatButtonManager() override = default; + + void loadFloatButtonAvailability(); + + void enableFloatButton(); + void disableFloatButton(); + +signals: + void floatButtonEnabled(); + void floatButtonDisabled(); + +private slots: + void initFloatButton(); + void destroyFloatButton(); + + void onScreenResolutionChanged(); + +private: + void initGeometryManager(); + + void initInternalSignalConnections(); + void initScreenSignalConnections(); + + void createFloatButton(); + void connectFloatButtonSignals(); + + void showFloatButton(); + void hideFloatButton(); + + void updateFloatButtonEnabled(bool enabled); + void setFloatButtonEnabled(bool enabled); + + void saveFloatButtonAvailablity(); + +private: + bool floatButtonEnabled_ = true; + + ViewLocalSettings floatButtonSettings_{"kylinsoft", "kylin float button"}; + + const VirtualKeyboardManager &virtualKeyboardManager_; + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService_; + + std::unique_ptr floatButton_ = nullptr; + + std::unique_ptr geometryManager_ = nullptr; +}; + +#endif // FLOATBUTTONMANAGER_H diff --git a/src/virtualkeyboardentry/floatbuttonstrategy.h b/src/virtualkeyboardentry/floatbuttonstrategy.h new file mode 100644 index 0000000..647755d --- /dev/null +++ b/src/virtualkeyboardentry/floatbuttonstrategy.h @@ -0,0 +1,42 @@ +#ifndef FLOATBUTTONSTRATEGY_H +#define FLOATBUTTONSTRATEGY_H + +#include "geometrymanager/floatgeometrymanager.h" +#include "screenmanager.h" + +class FloatButtonStrategy : public FloatGeometryManager::Strategy { +public: + FloatButtonStrategy() = default; + ~FloatButtonStrategy() override = default; + + int getDefaultRightMargin() const override { + return getUnitWidth() * defaultRightMarginRatio_; + } + + int getDefaultBottomMargin() const override { + return getUnitHeight() * defaultBottomMarginRatio_; + } + +private: + int getUnitWidth() const override { + const auto viewPortSize = ScreenManager::getPrimaryScreenSize(); + + return std::max(viewPortSize.width(), viewPortSize.height()); + } + + int getUnitHeight() const override { + const auto viewPortSize = ScreenManager::getPrimaryScreenSize(); + + return std::max(viewPortSize.width(), viewPortSize.height()); + } + + float getViewWidthRatio() const override { return 56.0 / 1620.0; } + + float getViewHeightRatio() const override { return 56.0 / 1620.0; } + +private: + static constexpr float defaultBottomMarginRatio_ = 0.03f; + static constexpr float defaultRightMarginRatio_ = 0.02f; +}; + +#endif // FLOATBUTTONSTRATEGY_H diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp new file mode 100644 index 0000000..3c2357d --- /dev/null +++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp @@ -0,0 +1,87 @@ +#include "virtualkeyboardentry/virtualkeyboardentrymanager.h" + +#include +#include + +#include "geometrymanager/geometrymanager.h" +#include "virtualkeyboardentry/floatbuttonstrategy.h" + +VirtualKeyboardEntryManager::VirtualKeyboardEntryManager( + VirtualKeyboardManager &virtualKeyboardManager, + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService) + : virtualKeyboardManager_(virtualKeyboardManager), + floatButtonManager_(new FloatButtonManager(virtualKeyboardManager, + fcitxVirtualKeyboardService)) { + initFloatButtonEnabledContextMenu(); + initFloatButtonDisabledContextMenu(); + initTrayIcon(fcitxVirtualKeyboardService); + + connectSignals(); + + floatButtonManager_->loadFloatButtonAvailability(); +} + +VirtualKeyboardEntryManager::~VirtualKeyboardEntryManager() = default; + +void VirtualKeyboardEntryManager::initTrayIcon( + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService) { + trayIconEntry_.reset(new VirtualKeyboardTrayIcon( + virtualKeyboardManager_, fcitxVirtualKeyboardService)); +} + +void VirtualKeyboardEntryManager::connectSignals() { + connect(floatButtonManager_.get(), &FloatButtonManager::floatButtonEnabled, + this, [this]() { + trayIconEntry_->setContextMenu(floatButtonEnabledContextMenu_); + }); + + connect(floatButtonManager_.get(), &FloatButtonManager::floatButtonDisabled, + this, [this]() { + trayIconEntry_->setContextMenu(floatButtonDisabledContextMenu_); + }); + + connect(&virtualKeyboardManager_, + &VirtualKeyboardManager::virtualKeyboardVisibiltyChanged, this, + [this](bool visible) { + if (!visible) { + return; + } + + trayIconEntry_->hideContextMenu(); + }); +} + +QMenu *VirtualKeyboardEntryManager::createFloatButtonContextMenu( + const QString &icon, const QString &text, MenuTriggeredCallback callback) { + QMenu *menu = new QMenu(); + + QAction *action = new QAction(menu); + action->setIcon(QIcon(icon)); + action->setText(text); + + menu->addAction(action); + + connect(action, &QAction::triggered, this, [callback](bool) { + if (!callback) { + return; + } + + callback(); + }); + + return menu; +} + +void VirtualKeyboardEntryManager::initFloatButtonEnabledContextMenu() { + floatButtonEnabledContextMenu_.reset(createFloatButtonContextMenu( + ":/floatbutton/img/disablefloatbutton.svg", + tr("Disable the float button"), + [this]() { floatButtonManager_->disableFloatButton(); })); +} + +void VirtualKeyboardEntryManager::initFloatButtonDisabledContextMenu() { + floatButtonDisabledContextMenu_.reset(createFloatButtonContextMenu( + ":/floatbutton/img/enablefloatbutton.svg", + tr("Enable the float button"), + [this]() { floatButtonManager_->enableFloatButton(); })); +} diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h new file mode 100644 index 0000000..3fac77c --- /dev/null +++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h @@ -0,0 +1,48 @@ +#ifndef VIRTUALKEYBOARDENTRYMANAGER_H +#define VIRTUALKEYBOARDENTRYMANAGER_H + +#include +#include + +#include +#include + +#include "ipc/fcitxvirtualkeyboardserviceproxy.h" +#include "virtualkeyboard/virtualkeyboardmanager.h" +#include "virtualkeyboardentry/floatbuttonmanager.h" +#include "virtualkeyboardentry/virtualkeyboardtrayicon.h" + +class VirtualKeyboardEntryManager : public QObject { + Q_OBJECT + +public: + VirtualKeyboardEntryManager( + VirtualKeyboardManager &virtualKeyboardManager, + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService); + ~VirtualKeyboardEntryManager() override; + +private: + using MenuTriggeredCallback = std::function; + +private: + void connectSignals(); + QMenu *createFloatButtonContextMenu(const QString &icon, + const QString &text, + MenuTriggeredCallback callback); + void initFloatButtonEnabledContextMenu(); + void initFloatButtonDisabledContextMenu(); + void initTrayIcon( + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService); + +private: + VirtualKeyboardManager &virtualKeyboardManager_; + + std::unique_ptr floatButtonManager_ = nullptr; + + std::unique_ptr trayIconEntry_ = nullptr; + + std::shared_ptr floatButtonEnabledContextMenu_ = nullptr; + std::shared_ptr floatButtonDisabledContextMenu_ = nullptr; +}; + +#endif // VIRTUALKEYBOARDENTRYMANAGER_H diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp new file mode 100644 index 0000000..8ca6357 --- /dev/null +++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp @@ -0,0 +1,70 @@ +#include "virtualkeyboardentry/virtualkeyboardtrayicon.h" + +#include +#include +#include + +VirtualKeyboardTrayIcon::VirtualKeyboardTrayIcon( + VirtualKeyboardManager &virtualKeyboardManager, + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService) + : virtualKeyboardManager_(virtualKeyboardManager), + fcitxVirtualKeyboardService_(fcitxVirtualKeyboardService) { + initTrayIcon(); +} + +void VirtualKeyboardTrayIcon::setContextMenu( + std::shared_ptr contextMenu) { + contextMenu_ = contextMenu; +} + +void VirtualKeyboardTrayIcon::hideContextMenu() { contextMenu_->hide(); } + +void VirtualKeyboardTrayIcon::initTrayIcon() { + trayIcon_ = new QSystemTrayIcon(this); + trayIcon_->setIcon(QIcon::fromTheme("input-keyboard-symbolic")); + trayIcon_->setToolTip(tr("kylin-virtual-keyboard")); + connect(trayIcon_, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), + this, SLOT(onTrayIconActivated(QSystemTrayIcon::ActivationReason))); + trayIcon_->setVisible(true); +} + +void VirtualKeyboardTrayIcon::toggleVirtualKeyboard() { + if (virtualKeyboardManager_.isVirtualKeyboardVisible()) { + fcitxVirtualKeyboardService_.hideVirtualKeyboard(); + } else { + fcitxVirtualKeyboardService_.showVirtualKeyboard(); + } +} + +void VirtualKeyboardTrayIcon::ensuareVirtualKeyboardInvisible() { + if (!virtualKeyboardManager_.isVirtualKeyboardVisible()) { + return; + } + + virtualKeyboardManager_.hideVirtualKeyboard(); +} + +void VirtualKeyboardTrayIcon::showContextMenu() { + QSize menuSize = contextMenu_->sizeHint(); + QPoint point = QCursor::pos(); + QRect deskRect = QApplication::desktop()->availableGeometry(); + contextMenu_->move(point.x(), deskRect.height() - menuSize.height()); + contextMenu_->show(); +} + +void VirtualKeyboardTrayIcon::onTrayIconActivated( + QSystemTrayIcon::ActivationReason reason) { + switch (reason) { + case QSystemTrayIcon::Trigger: { + toggleVirtualKeyboard(); + break; + }; + case QSystemTrayIcon::Context: { + ensuareVirtualKeyboardInvisible(); + showContextMenu(); + break; + }; + default: + break; + } +} diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h new file mode 100644 index 0000000..cf89a67 --- /dev/null +++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h @@ -0,0 +1,45 @@ +#ifndef VIRTUALKEYBOARDTRAYICON_H +#define VIRTUALKEYBOARDTRAYICON_H + +#include + +#include +#include +#include + +#include "virtualkeyboard/virtualkeyboardmanager.h" +#include "virtualkeyboardentry/fcitxvirtualkeyboardservice.h" + +class VirtualKeyboardTrayIcon : public QObject { + Q_OBJECT + +public: + VirtualKeyboardTrayIcon( + VirtualKeyboardManager &virtualKeyboardManager, + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService); + + ~VirtualKeyboardTrayIcon() override = default; + + void setContextMenu(std::shared_ptr contextMenu); + void hideContextMenu(); + +private: + void initTrayIcon(); + + void toggleVirtualKeyboard(); + + void ensuareVirtualKeyboardInvisible(); + void showContextMenu(); + +private slots: + void onTrayIconActivated(QSystemTrayIcon::ActivationReason reason); + +private: + QSystemTrayIcon *trayIcon_ = nullptr; + std::shared_ptr contextMenu_ = nullptr; + + VirtualKeyboardManager &virtualKeyboardManager_; + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService_; +}; + +#endif // VIRTUALKEYBOARDTRAYICON_H diff --git a/translations.qrc b/translations.qrc new file mode 100644 index 0000000..16c626c --- /dev/null +++ b/translations.qrc @@ -0,0 +1,8 @@ + + + translations/translation.qm + translations/translation_bo_CN.qm + translations/translation_en.qm + translations/translation_zh_CN.qm + + diff --git a/translations/translation.qm b/translations/translation.qm new file mode 100644 index 0000000000000000000000000000000000000000..e3572591dc89bb2a66e7045ed8d39eec9d2a8254 GIT binary patch literal 396 zcmcE7ks@*G{hX<16=n7(EZlq7iGhJZf_WOxJs@4e)^!I&GqA_3F#%FfGZ`2dgPDOW z9R?SMOon2HM1~}W9EMZ|1%?ua3^1JrV)pC?u7Zl;r2J10|)yGK)$|6LY*%E0gjQi&9+kN{T9d6Y~<&Q;Qfuc4{%W zGUSnHqqu7x`4;Lhcr#Q2J&*~sR)HZ5NEZRURSNc$0#Gg$D4PWKY!O2W+>>J2l{uMt hx@8dG=w?H`1M;FcnioTg5-UBE^Ya)xfRap%i~w|!W32!H literal 0 HcmV?d00001 diff --git a/translations/translation.ts b/translations/translation.ts new file mode 100644 index 0000000..590b503 --- /dev/null +++ b/translations/translation.ts @@ -0,0 +1,25 @@ + + + + + VirtualKeyboardEntryManager + + + Disable the float button + Disable the float ball + + + + Enable the float button + Enable the float ball + + + + VirtualKeyboardTrayIcon + + + kylin-virtual-keyboard + Kylin Virtual Keyboard + + + diff --git a/translations/translation_bo_CN.qm b/translations/translation_bo_CN.qm new file mode 100644 index 0000000000000000000000000000000000000000..f7fc201f0b91ab92f9945d008d0418981aeff829 GIT binary patch literal 441 zcmcE7ks@*G{hX<16=n7(EZlq7iGhJZf_WOxJs>@St?LemW?+w5W5U3|D4hu;+L?g@ z9{d6PMf^_u-29IGoA@JubOL`Ue+hpQ3d@OqBTyALP;>&n3z%NXU&S8?WH|zHAb$q6HXxR8$t+Gx%1Koy$w*a5%gIkHQAjE+Dap@c2TDqZWfql`CgymjRwm^q7Nxl6 zl@wL_Cgvrkrxr1S+~b1bo;3dXK)XP;I)UAQa9Xc&Jykd+2xMF1UG1>}RA69=>sMVV%e2BnR&Wp5MSzML%j*| Rx;UEGLy8hBJ(KhE7y%J(Y$pH! literal 0 HcmV?d00001 diff --git a/translations/translation_bo_CN.ts b/translations/translation_bo_CN.ts new file mode 100644 index 0000000..e13899d --- /dev/null +++ b/translations/translation_bo_CN.ts @@ -0,0 +1,25 @@ + + + + + VirtualKeyboardEntryManager + + + Disable the float button + ཐིག་ཁྲམ་འཕུར་འཕུར་གྱི་རྐང་རྩེད་ཁ་དོག + + + + Enable the float button + ཐིག་ཁྲམ་སྟེང་གི་འཕུར་སྣང་ལ་འཇུག་པ། + + + + VirtualKeyboardTrayIcon + + + kylin-virtual-keyboard + རྟོག་བཟོས་མཐེབ་གཞུང་། + + + diff --git a/translations/translation_en.qm b/translations/translation_en.qm new file mode 100644 index 0000000000000000000000000000000000000000..e3572591dc89bb2a66e7045ed8d39eec9d2a8254 GIT binary patch literal 396 zcmcE7ks@*G{hX<16=n7(EZlq7iGhJZf_WOxJs@4e)^!I&GqA_3F#%FfGZ`2dgPDOW z9R?SMOon2HM1~}W9EMZ|1%?ua3^1JrV)pC?u7Zl;r2J10|)yGK)$|6LY*%E0gjQi&9+kN{T9d6Y~<&Q;Qfuc4{%W zGUSnHqqu7x`4;Lhcr#Q2J&*~sR)HZ5NEZRURSNc$0#Gg$D4PWKY!O2W+>>J2l{uMt hx@8dG=w?H`1M;FcnioTg5-UBE^Ya)xfRap%i~w|!W32!H literal 0 HcmV?d00001 diff --git a/translations/translation_en.ts b/translations/translation_en.ts new file mode 100644 index 0000000..0d3471b --- /dev/null +++ b/translations/translation_en.ts @@ -0,0 +1,25 @@ + + + + + VirtualKeyboardEntryManager + + + Disable the float button + Disable the float ball + + + + Enable the float button + Enable the float ball + + + + VirtualKeyboardTrayIcon + + + kylin-virtual-keyboard + Kylin Virtual Keyboard + + + diff --git a/translations/translation_zh_CN.qm b/translations/translation_zh_CN.qm new file mode 100644 index 0000000000000000000000000000000000000000..3b801392bdcc66dcd50a78b97f83fe60137840d9 GIT binary patch literal 299 zcmcE7ks@*G{hX<16=n7(EZlq7iGhJZf_WOxJs=&%)^!I&GqA_3F#%GmGl9fUW+1^= z*;uMERj=$u!kXN?5@rsd5Ca + + + + VirtualKeyboardEntryManager + + + Disable the float button + 禁用键盘悬浮球 + + + + Enable the float button + 启用键盘悬浮球 + + + + VirtualKeyboardTrayIcon + + + kylin-virtual-keyboard + 麒麟虚拟键盘 + + + -- Gitee From c7c83ea807d450291c1a439951a5949b76dca879 Mon Sep 17 00:00:00 2001 From: yangjianhao Date: Fri, 7 Jun 2024 17:34:28 +0800 Subject: [PATCH 02/10] Import Debian changes 2.0.1.0-swu1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit kylin-virtual-keyboard (2.0.1.0-swu1) chungengxiayun; urgency=medium * rebuild source for openKylin kylin-virtual-keyboard (2.0.1.0-0ok15) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:修改名字 kylin-virtual-keyboard (2.0.1.0-0ok10) yangtze; urgency=medium * rebuild kylin-virtual-keyboard (2.0.1.0-0ok7) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:完善debian下的文件信息 kylin-virtual-keyboard (2.0.1.0-0ok6) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:完善debian下的文件信息 kylin-virtual-keyboard (2.0.1.0-0ok5) yangtze; urgency=medium * bug修复:#168647 拖动虚拟键盘有卡顿,不流畅 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (2.0.1.0-0ok4) yangtze; urgency=medium * bug修复:#161699 #169012 * 新需求:无 * 其他修改: 1.重新编译工程 kylin-virtual-keyboard (2.0.1.0-0ok3) yangtze; urgency=medium * bug修复:#161699 #169012 * 新需求:无 * 其他修改: 1.修复一些已知问题 kylin-virtual-keyboard (2.0.1.0-0ok2) yangtze; urgency=medium * bug修复:#161699 #169012 * 新需求:无 * 其他修改: 1.修复一些已知问题 kylin-virtual-keyboard (2.0.1.0-0ok1) yangtze; urgency=medium * bug修复:无 * 新需求:#19812 平板模式虚拟键盘唤起悬浮图标交互优化 * 其他修改:虚拟键盘更新版本号,发布新版本 kylin-virtual-keyboard (2.0.0.0-0ok1) yangtze; urgency=medium * 发布2.0.0.0版本 kylin-virtual-keyboard (2.0.0.0-0k0.1tablet1) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:虚拟键盘更新版本号,发布新版本 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet21) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:1.去除trayentry.h中前置声明 2.去除VirtualKeyboardManager引用的trayentry.h的头文件 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet20) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:将VirtualKeyboardManager与DBusService解耦,使得VirtualKeyboardManager不再依赖DBusService kylin-virtual-keyboard (1.0.2.1-0k0.1tablet19) yangtze; urgency=medium * bug修复:1)161337 【虚拟键盘】方向键、删除键、回车键图标模糊 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet18) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:将TrayEntry模块与VirtualKeyboardManager解耦,使得VirtualKeyboardManager不再依赖TrayEntry kylin-virtual-keyboard (1.0.2.1-0k0.1tablet17) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:使用请求合并器合并指定周期内的重复请求 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet16) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:使用更准确的藏语翻译 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet15) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:更新藏语翻译 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet14) yangtze; urgency=medium * bug修复:159567 【PC】【需求19810】【虚拟键盘】中文环境下任务栏虚拟键盘图标显示为英文 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet13) yangtze; urgency=medium * bug修复:159407 【UKUI需求 需求-17139】【平板键盘】竖屏状态下平板键盘按键文字显示存在部分遮挡 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet12) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:优化屏幕旋转信号和布置模式管理器信号的连接,避免不必要的重复连接 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet11) yangtze; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:悬浮模式虚拟键盘四个角支持圆角 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet10) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:优化虚拟键盘窗口类型的指定方式 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet9) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:优化虚拟键盘管理器信号连接函数的逻辑 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet8) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:定义虚拟键盘视图类从而简化虚拟键盘管理器的职责 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet7) v101; urgency=medium * bug修复:146148 【屏幕键盘】屏幕键盘UI还原度问题 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet6) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:优化虚拟键盘配置文件管理方法 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet5) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:优化变量定义和函数声明形式 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet4) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:完善计算虚拟键盘高度的方法 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet3) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:优化获取主屏幕几何参数的代码;使用默认比值计算虚拟键盘的默认下边距; 优化计算虚拟键盘左边距比值和上边距比值的方法 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet2) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:优化计算虚拟键盘位置的逻辑 kylin-virtual-keyboard (1.0.2.1-0k0.1tablet1) v101; urgency=medium * bug修复:无 * 新需求:19811,19810 * 其他修改:增加upstream分支tag,基于upstream分支tag修改版本号 kylin-virtual-keyboard (1.0.1.1-0k0.1tablet1) v101; urgency=medium * bug修复:无 * 新需求:19811 * 其他修改:增加upstream分支tag kylin-virtual-keyboard (1.0.0.1-0k0.1tablet3) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:增加upstream分支tag,重新编译 kylin-virtual-keyboard (1.0.0.1-0k0.1tablet2) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:修改版本号,重新编译 kylin-virtual-keyboard (1.0.0.1-0k0.1tablet1) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:修改版本号 kylin-virtual-keyboard (1.0.0-1kylin18) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:按照设计稿调整虚拟键盘高度,调整虚拟键盘数字按键字体大小 kylin-virtual-keyboard (1.0.0-1kylin17) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:依照设计稿,为开关按键添加反白效果 kylin-virtual-keyboard (1.0.0-1kylin16.1) v101; urgency=medium * bug修复:优化虚拟键盘UI的字体大小,优化输入法列表高亮效果 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.0-1kylin16) v101; urgency=medium * bug修复:149654 【UKUI需求 需求-17139】【平板键盘】竖屏状态下中英文切换菜单显示不全 148244 【平板键盘】中英文切换菜单右侧边缘存在一个异常的黑色点 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.0-1kylin15) v101; urgency=medium * bug修复:146504 【UKUI需求 需求-17139】【平板键盘】虚拟键盘使用中,竖屏切换到横屏,虚拟键盘会发生异常重叠,画面出现一大一小两个虚拟键盘界面 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.0-1kylin14) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改:在/usr/share/dbus-1/service目录下增加service文件 kylin-virtual-keyboard (1.0.0-1kylin13) v101; urgency=medium * bug修复:148265 【平板键盘】虚拟键盘的键位“+”号与“=”号反过来了 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.0-1kylin12) v101; urgency=medium * bug修复:146508 偶现使用过程中虚拟键盘崩溃的问题 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.0-1kylin11) v101; urgency=medium * bug修复: 145739 【平板】【终端】全屏模式下点击可输入区域无法唤出屏幕键盘 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.0-1kylin10) v101; urgency=medium * bug修复: 145571 【屏幕键盘】UI设计稿还原度问题 * 新需求:无 * 其他修改:无 kylin-virtual-keyboard (1.0.0-1kylin9) v101; urgency=medium * bug修复: openkylin I5XC82 【平板模式】未适配深色模式显示 * 新需求:无 * 其他修改: 设置深色模式下虚拟键盘不跟随主题变化 kylin-virtual-keyboard (1.0.0-1kylin8) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改: 1.add delay processing when raise app kylin-virtual-keyboard (1.0.0-1kylin7) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改: 1.启用高分屏适配 kylin-virtual-keyboard (1.0.0-1kylin6) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改: 1.修复qml的Connections连接问题 链接https://doc.qt.io/qt-6/qml-qtqml-connections.html Note: For backwards compatibility you can also specify the signal handlers without function, like you would specify them directly in the target object. This is not recommended. If you specify one signal handler this way, then all signal handlers specified as function in the same Connections object are ignored. kylin-virtual-keyboard (1.0.0-1kylin5) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改: 1.修复虚拟键盘布局没有对齐的问题 kylin-virtual-keyboard (1.0.0-1kylin4) v101; urgency=medium * bug修复:无 * 新需求:无 * 其他修改: 1.支持输入法列表本地化语言显示 kylin-virtual-keyboard (1.0.0-1kylin3) v101; urgency=medium * add options file. kylin-virtual-keyboard (1.0.0-1kylin2) v101; urgency=medium * add desktop file kylin-virtual-keyboard (1.0.0-1kylin1) v101; urgency=medium * build for os-tablet kylin-virtual-keyboard (1.0.0-1) v101; urgency=meidum * Initial release. --- debian/changelog | 460 ++ debian/compat | 1 + debian/control | 24 + debian/copyright | 36 + debian/kylin-virtual-keyboard-xwayland | 11 + debian/kylin-virtual-keyboard.desktop | 13 + debian/kylin-virtual-keyboard.install | 3 + debian/kylin-virtual-keyboard.manpages | 2 + debian/patches/0001-update-changelog.patch | 546 +++ debian/patches/0002-update-changelog.patch | 21 + debian/patches/0003-update-changelog.patch | 52 + debian/patches/0004-add-LICENSE.patch | 653 +++ debian/patches/0005-update-changelog.patch | 4455 ++++++++++++++++++++ debian/patches/0006-update-changelog.patch | 538 +++ debian/patches/series | 6 + debian/rules | 4 + debian/source/format | 1 + debian/source/options | 1 + debian/watch | 2 + 19 files changed, 6829 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/kylin-virtual-keyboard-xwayland create mode 100644 debian/kylin-virtual-keyboard.desktop create mode 100644 debian/kylin-virtual-keyboard.install create mode 100644 debian/kylin-virtual-keyboard.manpages create mode 100644 debian/patches/0001-update-changelog.patch create mode 100644 debian/patches/0002-update-changelog.patch create mode 100644 debian/patches/0003-update-changelog.patch create mode 100644 debian/patches/0004-add-LICENSE.patch create mode 100644 debian/patches/0005-update-changelog.patch create mode 100644 debian/patches/0006-update-changelog.patch create mode 100644 debian/patches/series create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 debian/source/options create mode 100644 debian/watch diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..135d911 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,460 @@ +kylin-virtual-keyboard (2.0.1.0-swu1) chungengxiayun; urgency=medium + + * rebuild source for openKylin + + -- yangjianhao Fri, 07 Jun 2024 17:34:28 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok15) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:修改名字 + + -- hanteng Wed, 20 Sep 2023 16:17:55 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok10) yangtze; urgency=medium + + * rebuild + + -- hanteng Wed, 20 Sep 2023 15:59:01 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok7) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:完善debian下的文件信息 + + -- hanteng Wed, 20 Sep 2023 15:57:15 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok6) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:完善debian下的文件信息 + + -- hanteng Wed, 26 Jul 2023 14:27:19 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok5) yangtze; urgency=medium + + * bug修复:#168647 拖动虚拟键盘有卡顿,不流畅 + * 新需求:无 + * 其他修改:无 + + -- hanteng Mon, 15 May 2023 14:20:14 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok4) yangtze; urgency=medium + + * bug修复:#161699 #169012 + * 新需求:无 + * 其他修改: + 1.重新编译工程 + + -- hanteng Wed, 10 May 2023 16:21:23 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok3) yangtze; urgency=medium + + * bug修复:#161699 #169012 + * 新需求:无 + * 其他修改: + 1.修复一些已知问题 + + -- hanteng Thu, 04 May 2023 09:38:01 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok2) yangtze; urgency=medium + + * bug修复:#161699 #169012 + * 新需求:无 + * 其他修改: + 1.修复一些已知问题 + + -- hanteng Thu, 27 Apr 2023 17:28:58 +0800 + +kylin-virtual-keyboard (2.0.1.0-0ok1) yangtze; urgency=medium + + * bug修复:无 + * 新需求:#19812 平板模式虚拟键盘唤起悬浮图标交互优化 + * 其他修改:虚拟键盘更新版本号,发布新版本 + + -- hanteng Mon, 17 Apr 2023 10:48:39 +0800 + +kylin-virtual-keyboard (2.0.0.0-0ok1) yangtze; urgency=medium + + * 发布2.0.0.0版本 + + -- hanteng Tue, 14 Mar 2023 17:49:43 +0800 + +kylin-virtual-keyboard (2.0.0.0-0k0.1tablet1) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:虚拟键盘更新版本号,发布新版本 + + -- hanteng Tue, 14 Mar 2023 17:11:41 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet21) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:1.去除trayentry.h中前置声明 + 2.去除VirtualKeyboardManager引用的trayentry.h的头文件 + + -- hanteng Fri, 10 Mar 2023 18:08:58 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet20) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:将VirtualKeyboardManager与DBusService解耦,使得VirtualKeyboardManager不再依赖DBusService + + -- liulinsong Thu, 09 Mar 2023 10:07:42 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet19) yangtze; urgency=medium + + * bug修复:1)161337 【虚拟键盘】方向键、删除键、回车键图标模糊 + * 新需求:无 + * 其他修改:无 + + -- zhaokexin Tue, 09 Mar 2023 09:29:30 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet18) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:将TrayEntry模块与VirtualKeyboardManager解耦,使得VirtualKeyboardManager不再依赖TrayEntry + + -- hanteng Tue, 07 Mar 2023 11:09:25 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet17) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:使用请求合并器合并指定周期内的重复请求 + + -- liulinsong Fri, 03 Mar 2023 11:24:53 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet16) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:使用更准确的藏语翻译 + + -- liulinsong Tue, 28 Feb 2023 13:39:47 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet15) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:更新藏语翻译 + + -- liulinsong Tue, 28 Feb 2023 11:10:22 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet14) yangtze; urgency=medium + + * bug修复:159567 【PC】【需求19810】【虚拟键盘】中文环境下任务栏虚拟键盘图标显示为英文 + * 新需求:无 + * 其他修改:无 + + -- liulinsong Mon, 27 Feb 2023 15:52:24 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet13) yangtze; urgency=medium + + * bug修复:159407 【UKUI需求 需求-17139】【平板键盘】竖屏状态下平板键盘按键文字显示存在部分遮挡 + * 新需求:无 + * 其他修改:无 + + -- zhaokexin Mon, 27 Feb 2023 14:35:38 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet12) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:优化屏幕旋转信号和布置模式管理器信号的连接,避免不必要的重复连接 + + -- liulinsong Tue, 21 Feb 2023 10:24:27 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet11) yangtze; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:悬浮模式虚拟键盘四个角支持圆角 + + -- liulinsong Tue, 14 Feb 2023 13:55:53 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet10) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:优化虚拟键盘窗口类型的指定方式 + + -- liulinsong Tue, 14 Feb 2023 11:48:02 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet9) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:优化虚拟键盘管理器信号连接函数的逻辑 + + -- liulinsong Mon, 13 Feb 2023 15:28:49 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet8) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:定义虚拟键盘视图类从而简化虚拟键盘管理器的职责 + + -- liulinsong Mon, 13 Feb 2023 15:15:26 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet7) v101; urgency=medium + + * bug修复:146148 【屏幕键盘】屏幕键盘UI还原度问题 + * 新需求:无 + * 其他修改:无 + + -- zhaokexin Thu, 09 Feb 2023 10:35:31 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet6) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:优化虚拟键盘配置文件管理方法 + + -- liulinsong Thu, 09 Feb 2023 09:42:02 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet5) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:优化变量定义和函数声明形式 + + -- liulinsong Wed, 08 Feb 2023 14:04:54 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet4) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:完善计算虚拟键盘高度的方法 + + -- liulinsong Wed, 08 Feb 2023 10:56:36 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet3) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:优化获取主屏幕几何参数的代码;使用默认比值计算虚拟键盘的默认下边距; + 优化计算虚拟键盘左边距比值和上边距比值的方法 + + -- liulinsong Tue, 07 Feb 2023 15:05:18 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet2) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:优化计算虚拟键盘位置的逻辑 + + -- liulinsong Tue, 07 Feb 2023 13:00:34 +0800 + +kylin-virtual-keyboard (1.0.2.1-0k0.1tablet1) v101; urgency=medium + + * bug修复:无 + * 新需求:19811,19810 + * 其他修改:增加upstream分支tag,基于upstream分支tag修改版本号 + + -- hanteng Wed, 01 Feb 2023 10:01:57 +0800 + +kylin-virtual-keyboard (1.0.1.1-0k0.1tablet1) v101; urgency=medium + + * bug修复:无 + * 新需求:19811 + * 其他修改:增加upstream分支tag + + -- hanteng Wed, 18 Jan 2023 17:45:01 +0800 + +kylin-virtual-keyboard (1.0.0.1-0k0.1tablet3) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:增加upstream分支tag,重新编译 + + -- hanteng Mon, 09 Jan 2023 20:39:17 +0800 + +kylin-virtual-keyboard (1.0.0.1-0k0.1tablet2) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:修改版本号,重新编译 + + -- hanteng Mon, 09 Jan 2023 20:34:49 +0800 + +kylin-virtual-keyboard (1.0.0.1-0k0.1tablet1) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:修改版本号 + + -- hanteng Fri, 06 Jan 2023 10:24:03 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin18) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:按照设计稿调整虚拟键盘高度,调整虚拟键盘数字按键字体大小 + + -- linyuxuan Fri, 09 Dec 2022 16:44:17 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin17) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:依照设计稿,为开关按键添加反白效果 + + -- linyuxuan Fri, 09 Dec 2022 11:38:23 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin16.1) v101; urgency=medium + + * bug修复:优化虚拟键盘UI的字体大小,优化输入法列表高亮效果 + * 新需求:无 + * 其他修改:无 + + -- linyuxuan Mon, 05 Dec 2022 09:22:12 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin16) v101; urgency=medium + + * bug修复:149654 【UKUI需求 需求-17139】【平板键盘】竖屏状态下中英文切换菜单显示不全 148244 【平板键盘】中英文切换菜单右侧边缘存在一个异常的黑色点 + * 新需求:无 + * 其他修改:无 + + -- linyuxuan Mon, 28 Nov 2022 13:33:05 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin15) v101; urgency=medium + + * bug修复:146504 【UKUI需求 需求-17139】【平板键盘】虚拟键盘使用中,竖屏切换到横屏,虚拟键盘会发生异常重叠,画面出现一大一小两个虚拟键盘界面 + * 新需求:无 + * 其他修改:无 + + -- linyuxuan Wed, 16 Nov 2022 18:05:21 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin14) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改:在/usr/share/dbus-1/service目录下增加service文件 + + -- hanteng Wed, 16 Nov 2022 14:13:25 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin13) v101; urgency=medium + + * bug修复:148265 【平板键盘】虚拟键盘的键位“+”号与“=”号反过来了 + * 新需求:无 + * 其他修改:无 + + -- liulinsong Tue, 15 Nov 2022 09:29:56 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin12) v101; urgency=medium + + * bug修复:146508 偶现使用过程中虚拟键盘崩溃的问题 + * 新需求:无 + * 其他修改:无 + + -- hanteng Wed, 09 Nov 2022 09:49:08 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin11) v101; urgency=medium + + * bug修复: 145739 【平板】【终端】全屏模式下点击可输入区域无法唤出屏幕键盘 + * 新需求:无 + * 其他修改:无 + + -- liulinsong Thu, 03 Nov 2022 11:22:50 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin10) v101; urgency=medium + + * bug修复: 145571 【屏幕键盘】UI设计稿还原度问题 + * 新需求:无 + * 其他修改:无 + + -- litian Wed, 26 Oct 2022 17:31:03 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin9) v101; urgency=medium + + * bug修复: openkylin I5XC82 【平板模式】未适配深色模式显示 + * 新需求:无 + * 其他修改: + 设置深色模式下虚拟键盘不跟随主题变化 + + -- litian Wed, 26 Oct 2022 13:56:03 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin8) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改: + 1.add delay processing when raise app + + -- litian Mon, 24 Oct 2022 09:22:03 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin7) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改: + 1.启用高分屏适配 + + -- litian Thu, 20 Oct 2022 10:58:00 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin6) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改: + 1.修复qml的Connections连接问题 + 链接https://doc.qt.io/qt-6/qml-qtqml-connections.html + Note: For backwards compatibility you can also specify the signal + handlers without function, like you would specify them + directly in the target object. This is not recommended. + If you specify one signal handler this way, + then all signal handlers specified as function + in the same Connections object are ignored. + + -- litian Thu, 20 Oct 2022 10:08:00 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin5) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改: + 1.修复虚拟键盘布局没有对齐的问题 + + -- litian Wed, 19 Oct 2022 17:17:07 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin4) v101; urgency=medium + + * bug修复:无 + * 新需求:无 + * 其他修改: + 1.支持输入法列表本地化语言显示 + + -- litian Tue, 18 Oct 2022 17:40:07 +0800 + + +kylin-virtual-keyboard (1.0.0-1kylin3) v101; urgency=medium + + * add options file. + + -- hanteng Mon, 10 Oct 2022 13:55:18 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin2) v101; urgency=medium + + * add desktop file + + -- hanteng Mon, 10 Oct 2022 11:28:01 +0800 + +kylin-virtual-keyboard (1.0.0-1kylin1) v101; urgency=medium + + * build for os-tablet + + -- hanteng Sun, 09 Oct 2022 17:26:56 +0800 + +kylin-virtual-keyboard (1.0.0-1) v101; urgency=meidum + + * Initial release. + + -- hanteng Thu, 29 Sep 2022 13:33:26 +0800 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +11 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..92e2faf --- /dev/null +++ b/debian/control @@ -0,0 +1,24 @@ +Source: kylin-virtual-keyboard +Section: x11 +Priority: optional +Maintainer: hanteng +Uploaders: hanteng +Build-Depends: + debhelper (>=11~), + qt5-qmake, + libkf5windowsystem-dev, + qtdeclarative5-dev, + libfcitx5-qt-dev, + qtbase5-dev, + qml-module-qtquick-controls2 +Standards-Version: 4.1.4 +Homepage: https://gitee.com/openkylin/community/tree/master/sig/InputMethod + +Package: kylin-virtual-keyboard +Architecture: any +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: Kylin Virtual Keyboard. + Virtual keyboard based on fcitx5 InputMethod Framework. + If you want to use this project, please ensure + that your system has fcitx5 installed. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..f69d88e --- /dev/null +++ b/debian/copyright @@ -0,0 +1,36 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: kylin-virtual-keyboard +Source: https://gitee.com/openkylin/kylin-virtual-keyboard + +Files: * +Copyright: 2022, KylinSoft Co., Ltd. +License: GPL-3.0 + +Files: qml/* +Copyright: 2022, KylinSoft Co., Ltd. +License: GPL-3.0 + +Files: src/* +Copyright: 2022, KylinSoft Co., Ltd. +License: GPL-3.0 + +Files: debian/* +Copyright: 2022, KylinSoft Co., Ltd. +License: GPL-3.0 + +License: GPL-3.0 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --git a/debian/kylin-virtual-keyboard-xwayland b/debian/kylin-virtual-keyboard-xwayland new file mode 100755 index 0000000..b8f6cf2 --- /dev/null +++ b/debian/kylin-virtual-keyboard-xwayland @@ -0,0 +1,11 @@ +#!/bin/bash +# The input method requires the use of the xcb platform environment in the wayland environment +# However, it cannot affect the entire system environment +# QT_QPA_PLATFORM=xcb +if [ "$XDG_SESSION_TYPE" = "wayland" ]; then + export QT_QPA_PLATFORM=xcb + exec /usr/bin/kylin-virtual-keyboard + unset QT_QPA_PLATFORM +else + exec /usr/bin/kylin-virtual-keyboard +fi diff --git a/debian/kylin-virtual-keyboard.desktop b/debian/kylin-virtual-keyboard.desktop new file mode 100644 index 0000000..0957552 --- /dev/null +++ b/debian/kylin-virtual-keyboard.desktop @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=kylin-virtual-keyboard +Name[zh_CN]=麒麟虚拟键盘 +Comment=kylin-virtual-keyboard +Comment[zh_CN]=麒麟虚拟键盘 +Exec=/usr/bin/kylin-virtual-keyboard-xwayland +Terminal=false +Type=Application +X-GNOME-AutoRestart=true +X-GNOME-AutoRestart-Phase=Application +X-UKUI-AutoRestart=true +X-UKUI-AutoRestart-Phase=Application +NoDisplay=true diff --git a/debian/kylin-virtual-keyboard.install b/debian/kylin-virtual-keyboard.install new file mode 100644 index 0000000..00a3f3f --- /dev/null +++ b/debian/kylin-virtual-keyboard.install @@ -0,0 +1,3 @@ +debian/kylin-virtual-keyboard.desktop /etc/xdg/autostart/ +debian/kylin-virtual-keyboard-xwayland /usr/bin/. +data/org.fcitx.Fcitx5.VirtualKeyboard.service usr/share/dbus-1/services/. diff --git a/debian/kylin-virtual-keyboard.manpages b/debian/kylin-virtual-keyboard.manpages new file mode 100644 index 0000000..204aff6 --- /dev/null +++ b/debian/kylin-virtual-keyboard.manpages @@ -0,0 +1,2 @@ +man/kylin-virtual-keyboard.1 +man/kylin-virtual-keyboard-xwayland.1 \ No newline at end of file diff --git a/debian/patches/0001-update-changelog.patch b/debian/patches/0001-update-changelog.patch new file mode 100644 index 0000000..ab50129 --- /dev/null +++ b/debian/patches/0001-update-changelog.patch @@ -0,0 +1,546 @@ +From: hanteng +Date: Thu, 27 Apr 2023 17:35:54 +0800 +Subject: update changelog + +--- + qml/CandidateList.qml | 4 ++ + qml/VirtualKeyboard.qml | 4 +- + src/appinputareamanager.cpp | 27 ++++---- + src/appinputareamanager.h | 4 ++ + src/ipc/fcitxvirtualkeyboardserviceproxy.cpp | 4 +- + src/main.cpp | 4 +- + src/virtualkeyboard/virtualkeyboardmanager.cpp | 20 ++++-- + src/virtualkeyboard/virtualkeyboardmanager.h | 14 ++++- + src/virtualkeyboard/virtualkeyboardmodel.cpp | 5 -- + src/virtualkeyboard/virtualkeyboardmodel.h | 2 - + .../virtualkeyboardentrymanager.cpp | 73 +++++++++++----------- + .../virtualkeyboardentrymanager.h | 17 ++--- + .../virtualkeyboardtrayicon.cpp | 34 ++-------- + src/virtualkeyboardentry/virtualkeyboardtrayicon.h | 8 +-- + 14 files changed, 111 insertions(+), 109 deletions(-) + +diff --git a/qml/CandidateList.qml b/qml/CandidateList.qml +index 57db048..110d2ad 100644 +--- a/qml/CandidateList.qml ++++ b/qml/CandidateList.qml +@@ -25,9 +25,13 @@ Rectangle { + orientation: ListView.Horizontal + model: virtualKeyboard.candidateList + spacing: 20 ++ currentIndex: virtualKeyboard.globalCursorIndex + delegate: Text { + id: candidate + text: modelData ++ color: ListView.isCurrentItem ++ ? virtualKeyboard.candidateHighlightColor ++ : virtualKeyboard.candidateDefaultColor + font.pointSize: virtualKeyboard.candidateFontSize + // TODO(litian): 使用更好的方式使候选词居中 + /*设置居中,设置anchors.verticalCenter: parent.verticalCenter会报错 +diff --git a/qml/VirtualKeyboard.qml b/qml/VirtualKeyboard.qml +index 08cef89..3ab9702 100644 +--- a/qml/VirtualKeyboard.qml ++++ b/qml/VirtualKeyboard.qml +@@ -86,6 +86,8 @@ Rectangle { + + property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ + property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ ++ property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ ++ property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ + property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ + property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ + +@@ -144,7 +146,7 @@ Rectangle { + } + + function hideVirtualKeyboard() { +- manager.hideVirtualKeyboard() ++ manager.hide() + } + + function flipPlacementMode() { +diff --git a/src/appinputareamanager.cpp b/src/appinputareamanager.cpp +index 064a7ac..c0adef6 100644 +--- a/src/appinputareamanager.cpp ++++ b/src/appinputareamanager.cpp +@@ -5,21 +5,26 @@ AppInputAreaManager::AppInputAreaManager(QObject *parent) + : QObject(parent), dummyWidget_(nullptr), oneshotTimer_(nullptr) { + KWindowSystem::setType(dummyWidget_.winId(), NET::Dock); + oneshotTimer_.setSingleShot(true); ++ connectSignal(); ++} ++ ++void AppInputAreaManager::connectSignal() { ++ QObject::connect(&oneshotTimer_, &QTimer::timeout, this, [this]() { ++ dummyWidget_.setGeometry(virtualKeyboardRect_); ++ dummyWidget_.show(); ++ // 使用KWin接口调整工作区域,仅在X11下有效 ++ // 该接口对全屏应用无效 ++ // 该接口需在winId对象显示前后调用,否则可能不生效 ++ KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0, ++ 0, 0, 0, virtualKeyboardRect_.height(), ++ virtualKeyboardRect_.x(), ++ virtualKeyboardRect_.width() - 1); ++ }); + } + + void AppInputAreaManager::raiseInputArea(const QRect &virtualKeyboardRect) { +- dummyWidget_.setGeometry(virtualKeyboardRect); +- dummyWidget_.show(); ++ virtualKeyboardRect_ = virtualKeyboardRect; + +- WId winId = dummyWidget_.winId(); +- QObject::connect( +- &oneshotTimer_, &QTimer::timeout, this, [winId, virtualKeyboardRect]() { +- // 使用KWin接口调整工作区域,仅在X11下有效 +- // 该接口对全屏应用无效 +- KWindowSystem::setExtendedStrut( +- winId, 0, 0, 0, 0, 0, 0, 0, 0, 0, virtualKeyboardRect.height(), +- virtualKeyboardRect.x(), virtualKeyboardRect.width() - 1); +- }); + oneshotTimer_.start(SHOW_DELAY_TIME); + } + +diff --git a/src/appinputareamanager.h b/src/appinputareamanager.h +index 24f2186..f8a6b12 100644 +--- a/src/appinputareamanager.h ++++ b/src/appinputareamanager.h +@@ -17,6 +17,10 @@ public: + void fallInputArea(); + + private: ++ void connectSignal(); ++ ++private: ++ QRect virtualKeyboardRect_; + QWidget dummyWidget_; + QTimer oneshotTimer_; + // 经过指定时间之后顶起应用程序,避免桌面在虚拟键盘显示之前可见 +diff --git a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp +index 958449f..ebd3edd 100644 +--- a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp ++++ b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp +@@ -2,13 +2,13 @@ + + // static + const QString FcitxVirtualKeyboardServiceProxy::serviceName_ = +- "org.fcitx.virtualkeyboard.service"; ++ "org.fcitx.Fcitx5"; + // static + const QString FcitxVirtualKeyboardServiceProxy::servicePath_ = + "/virtualkeyboard"; + // static + const QString FcitxVirtualKeyboardServiceProxy::serviceInterface_ = +- "org.fcitx.virtualkeyboard.service"; ++ "org.fcitx.Fcitx.VirtualKeyboard1"; + + FcitxVirtualKeyboardServiceProxy::FcitxVirtualKeyboardServiceProxy() { + virtualKeyboardService.reset( +diff --git a/src/main.cpp b/src/main.cpp +index ccc07fd..2d3833e 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -17,8 +17,10 @@ int main(int argc, char *argv[]) { + app.installTranslator(&translator); + } + +- VirtualKeyboardManager virtualKeyboardManager; + FcitxVirtualKeyboardServiceProxy virtualKeyboardService; ++ VirtualKeyboardManager virtualKeyboardManager([&virtualKeyboardService]() { ++ virtualKeyboardService.hideVirtualKeyboard(); ++ }); + VirtualKeyboardEntryManager entryManager(virtualKeyboardManager, + virtualKeyboardService); + +diff --git a/src/virtualkeyboard/virtualkeyboardmanager.cpp b/src/virtualkeyboard/virtualkeyboardmanager.cpp +index be3ed10..8a7ba4c 100644 +--- a/src/virtualkeyboard/virtualkeyboardmanager.cpp ++++ b/src/virtualkeyboard/virtualkeyboardmanager.cpp +@@ -5,8 +5,9 @@ + + #include "virtualkeyboardstrategy.h" + +-VirtualKeyboardManager::VirtualKeyboardManager(QObject *parent) +- : QObject(parent) { ++VirtualKeyboardManager::VirtualKeyboardManager( ++ HideVirtualKeyboardCallback hideVirtualKeyboardCallback) ++ : hideVirtualKeyboardCallback_(std::move(hideVirtualKeyboardCallback)) { + initVirtualKeyboardModel(); + + initAppInputAreaManager(); +@@ -46,6 +47,14 @@ void VirtualKeyboardManager::hideVirtualKeyboard() { + visibiltyChanged(); + } + ++void VirtualKeyboardManager::hide() { ++ if (!hideVirtualKeyboardCallback_) { ++ return; ++ } ++ ++ hideVirtualKeyboardCallback_(); ++} ++ + void VirtualKeyboardManager::flipPlacementMode() { + placementModeManager_->flipPlacementMode(); + } +@@ -58,7 +67,6 @@ void VirtualKeyboardManager::endDrag() { floatGeometryManager_->endDrag(); } + + void VirtualKeyboardManager::visibiltyChanged() { + emit virtualKeyboardVisibiltyChanged(virtualkeyboardVisible_); +- model_->processVisibilityEvent(virtualkeyboardVisible_); + } + + bool VirtualKeyboardManager::isVirtualKeyboardVisible() const { +@@ -135,6 +143,9 @@ void VirtualKeyboardManager::initGeometryManager() { + + void VirtualKeyboardManager::initVirtualKeyboardModel() { + model_.reset(new VirtualKeyboardModel(this)); ++ ++ connect(model_.get(), SIGNAL(backendConnectionDisconnected()), this, ++ SLOT(hideVirtualKeyboard())); + } + + void VirtualKeyboardManager::connectVirtualKeyboardModelSignals() { +@@ -144,9 +155,6 @@ void VirtualKeyboardManager::connectVirtualKeyboardModelSignals() { + view_.get(), SIGNAL(updateCandidateArea(const QVariant &, int))); + connect(model_.get(), SIGNAL(imDeactivated()), view_.get(), + SIGNAL(imDeactivated())); +- +- connect(model_.get(), SIGNAL(backendConnectionDisconnected()), this, +- SLOT(hideVirtualKeyboard())); + } + + void VirtualKeyboardManager::connectGeometryManagerSignals() { +diff --git a/src/virtualkeyboard/virtualkeyboardmanager.h b/src/virtualkeyboard/virtualkeyboardmanager.h +index 3983b4d..8365fb0 100644 +--- a/src/virtualkeyboard/virtualkeyboardmanager.h ++++ b/src/virtualkeyboard/virtualkeyboardmanager.h +@@ -1,6 +1,7 @@ + #ifndef VIRTUALKEYBOARDMANAGER_H + #define VIRTUALKEYBOARDMANAGER_H + ++#include + #include + + #include +@@ -17,11 +18,16 @@ class VirtualKeyboardManager : public QObject { + Q_OBJECT + + public: +- explicit VirtualKeyboardManager(QObject *parent = nullptr); ++ using HideVirtualKeyboardCallback = std::function; ++ ++public: ++ explicit VirtualKeyboardManager( ++ HideVirtualKeyboardCallback hideVirtualKeyboardCallback); + ~VirtualKeyboardManager(); + + void showVirtualKeyboard(); +- Q_INVOKABLE void hideVirtualKeyboard(); ++ ++ Q_INVOKABLE void hide(); + Q_INVOKABLE void flipPlacementMode(); + Q_INVOKABLE void moveBy(int offsetX, int offsetY); + Q_INVOKABLE void endDrag(); +@@ -45,6 +51,8 @@ public slots: + void raiseInputArea(); + void fallInputArea(); + ++ void hideVirtualKeyboard(); ++ + private: + void initAppInputAreaManager(); + void initPlacementModeManager(); +@@ -71,6 +79,8 @@ private: + nullptr; + bool virtualkeyboardVisible_ = false; + ++ HideVirtualKeyboardCallback hideVirtualKeyboardCallback_; ++ + ViewLocalSettings viewSettings_{"kylinsoft", "kylin virtual keyboard"}; + }; + +diff --git a/src/virtualkeyboard/virtualkeyboardmodel.cpp b/src/virtualkeyboard/virtualkeyboardmodel.cpp +index 9846c3a..efadf77 100644 +--- a/src/virtualkeyboard/virtualkeyboardmodel.cpp ++++ b/src/virtualkeyboard/virtualkeyboardmodel.cpp +@@ -9,11 +9,6 @@ VirtualKeyboardModel::VirtualKeyboardModel(QObject *parent) : QObject(parent) { + initDBusServiceWatcher(); + } + +-void VirtualKeyboardModel::processVisibilityEvent(bool visible) { +- virtualKeyboardBackendInterface_->asyncCall("ProcessVisibilityEvent", +- visible); +-} +- + void VirtualKeyboardModel::updateCandidateArea( + const QVariant &candidateTextList, bool /*hasPrev*/, bool /*hasNext*/, + int /*pageIndex*/, int globalCursorIndex) { +diff --git a/src/virtualkeyboard/virtualkeyboardmodel.h b/src/virtualkeyboard/virtualkeyboardmodel.h +index d99beeb..600ee16 100644 +--- a/src/virtualkeyboard/virtualkeyboardmodel.h ++++ b/src/virtualkeyboard/virtualkeyboardmodel.h +@@ -30,8 +30,6 @@ public: + + void syncCurrentIMList(); + +- void processVisibilityEvent(bool visible); +- + void updateCandidateArea(const QVariant &candidateTextList, bool hasPrev, + bool hasNext, int pageIndex, + int globalCursorIndex); +diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +index 3c2357d..80a167f 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp ++++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +@@ -12,10 +12,10 @@ VirtualKeyboardEntryManager::VirtualKeyboardEntryManager( + : virtualKeyboardManager_(virtualKeyboardManager), + floatButtonManager_(new FloatButtonManager(virtualKeyboardManager, + fcitxVirtualKeyboardService)) { +- initFloatButtonEnabledContextMenu(); +- initFloatButtonDisabledContextMenu(); + initTrayIcon(fcitxVirtualKeyboardService); + ++ initFloatButtonContextMenuAndAction(); ++ + connectSignals(); + + floatButtonManager_->loadFloatButtonAvailability(); +@@ -29,15 +29,42 @@ void VirtualKeyboardEntryManager::initTrayIcon( + virtualKeyboardManager_, fcitxVirtualKeyboardService)); + } + ++void VirtualKeyboardEntryManager::initFloatButtonContextMenuAndAction() { ++ floatButtonContextMenu_.reset(new QMenu); ++ floatButtonContextMenuAction_.reset(new QAction); ++ ++ floatButtonContextMenu_->addAction(floatButtonContextMenuAction_.get()); ++ ++ trayIconEntry_->setContextMenu(floatButtonContextMenu_.get()); ++ ++ connect(floatButtonContextMenu_.get(), &QMenu::aboutToShow, this, ++ [this]() { virtualKeyboardManager_.hide(); }); ++ ++ connect(floatButtonContextMenuAction_.get(), &QAction::triggered, this, ++ [this](bool) { ++ if (!actionTriggeredCallback_) { ++ return; ++ } ++ ++ actionTriggeredCallback_(); ++ }); ++} ++ + void VirtualKeyboardEntryManager::connectSignals() { + connect(floatButtonManager_.get(), &FloatButtonManager::floatButtonEnabled, + this, [this]() { +- trayIconEntry_->setContextMenu(floatButtonEnabledContextMenu_); ++ updateFloatButtonContextMenuAction( ++ ":/floatbutton/img/disablefloatbutton.svg", ++ tr("Disable the float button"), ++ [this]() { floatButtonManager_->disableFloatButton(); }); + }); + + connect(floatButtonManager_.get(), &FloatButtonManager::floatButtonDisabled, + this, [this]() { +- trayIconEntry_->setContextMenu(floatButtonDisabledContextMenu_); ++ updateFloatButtonContextMenuAction( ++ ":/floatbutton/img/enablefloatbutton.svg", ++ tr("Enable the float button"), ++ [this]() { floatButtonManager_->enableFloatButton(); }); + }); + + connect(&virtualKeyboardManager_, +@@ -51,37 +78,11 @@ void VirtualKeyboardEntryManager::connectSignals() { + }); + } + +-QMenu *VirtualKeyboardEntryManager::createFloatButtonContextMenu( +- const QString &icon, const QString &text, MenuTriggeredCallback callback) { +- QMenu *menu = new QMenu(); +- +- QAction *action = new QAction(menu); +- action->setIcon(QIcon(icon)); +- action->setText(text); +- +- menu->addAction(action); +- +- connect(action, &QAction::triggered, this, [callback](bool) { +- if (!callback) { +- return; +- } +- +- callback(); +- }); +- +- return menu; +-} +- +-void VirtualKeyboardEntryManager::initFloatButtonEnabledContextMenu() { +- floatButtonEnabledContextMenu_.reset(createFloatButtonContextMenu( +- ":/floatbutton/img/disablefloatbutton.svg", +- tr("Disable the float button"), +- [this]() { floatButtonManager_->disableFloatButton(); })); +-} ++void VirtualKeyboardEntryManager::updateFloatButtonContextMenuAction( ++ const QString &icon, const QString &text, ++ ActionTriggeredCallback callback) { ++ floatButtonContextMenuAction_->setIcon(QIcon(icon)); ++ floatButtonContextMenuAction_->setText(text); + +-void VirtualKeyboardEntryManager::initFloatButtonDisabledContextMenu() { +- floatButtonDisabledContextMenu_.reset(createFloatButtonContextMenu( +- ":/floatbutton/img/enablefloatbutton.svg", +- tr("Enable the float button"), +- [this]() { floatButtonManager_->enableFloatButton(); })); ++ actionTriggeredCallback_ = std::move(callback); + } +diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h +index 3fac77c..50b7c49 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h ++++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h +@@ -22,18 +22,18 @@ public: + ~VirtualKeyboardEntryManager() override; + + private: +- using MenuTriggeredCallback = std::function; ++ using ActionTriggeredCallback = std::function; + + private: + void connectSignals(); +- QMenu *createFloatButtonContextMenu(const QString &icon, +- const QString &text, +- MenuTriggeredCallback callback); +- void initFloatButtonEnabledContextMenu(); +- void initFloatButtonDisabledContextMenu(); + void initTrayIcon( + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService); + ++ void initFloatButtonContextMenuAndAction(); ++ void updateFloatButtonContextMenuAction(const QString &icon, ++ const QString &text, ++ ActionTriggeredCallback callback); ++ + private: + VirtualKeyboardManager &virtualKeyboardManager_; + +@@ -41,8 +41,9 @@ private: + + std::unique_ptr trayIconEntry_ = nullptr; + +- std::shared_ptr floatButtonEnabledContextMenu_ = nullptr; +- std::shared_ptr floatButtonDisabledContextMenu_ = nullptr; ++ std::unique_ptr floatButtonContextMenu_ = nullptr; ++ std::unique_ptr floatButtonContextMenuAction_ = nullptr; ++ ActionTriggeredCallback actionTriggeredCallback_; + }; + + #endif // VIRTUALKEYBOARDENTRYMANAGER_H +diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +index 8ca6357..8fc277b 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp ++++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +@@ -1,7 +1,5 @@ + #include "virtualkeyboardentry/virtualkeyboardtrayicon.h" + +-#include +-#include + #include + + VirtualKeyboardTrayIcon::VirtualKeyboardTrayIcon( +@@ -12,16 +10,17 @@ VirtualKeyboardTrayIcon::VirtualKeyboardTrayIcon( + initTrayIcon(); + } + +-void VirtualKeyboardTrayIcon::setContextMenu( +- std::shared_ptr contextMenu) { +- contextMenu_ = contextMenu; ++void VirtualKeyboardTrayIcon::setContextMenu(QMenu *contextMenu) { ++ trayIcon_->setContextMenu(contextMenu); + } + +-void VirtualKeyboardTrayIcon::hideContextMenu() { contextMenu_->hide(); } ++void VirtualKeyboardTrayIcon::hideContextMenu() { ++ trayIcon_->contextMenu()->hide(); ++} + + void VirtualKeyboardTrayIcon::initTrayIcon() { + trayIcon_ = new QSystemTrayIcon(this); +- trayIcon_->setIcon(QIcon::fromTheme("input-keyboard-symbolic")); ++ trayIcon_->setIcon(QIcon::fromTheme("ukui-input-keyboard-symbolic")); + trayIcon_->setToolTip(tr("kylin-virtual-keyboard")); + connect(trayIcon_, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), + this, SLOT(onTrayIconActivated(QSystemTrayIcon::ActivationReason))); +@@ -36,22 +35,6 @@ void VirtualKeyboardTrayIcon::toggleVirtualKeyboard() { + } + } + +-void VirtualKeyboardTrayIcon::ensuareVirtualKeyboardInvisible() { +- if (!virtualKeyboardManager_.isVirtualKeyboardVisible()) { +- return; +- } +- +- virtualKeyboardManager_.hideVirtualKeyboard(); +-} +- +-void VirtualKeyboardTrayIcon::showContextMenu() { +- QSize menuSize = contextMenu_->sizeHint(); +- QPoint point = QCursor::pos(); +- QRect deskRect = QApplication::desktop()->availableGeometry(); +- contextMenu_->move(point.x(), deskRect.height() - menuSize.height()); +- contextMenu_->show(); +-} +- + void VirtualKeyboardTrayIcon::onTrayIconActivated( + QSystemTrayIcon::ActivationReason reason) { + switch (reason) { +@@ -59,11 +42,6 @@ void VirtualKeyboardTrayIcon::onTrayIconActivated( + toggleVirtualKeyboard(); + break; + }; +- case QSystemTrayIcon::Context: { +- ensuareVirtualKeyboardInvisible(); +- showContextMenu(); +- break; +- }; + default: + break; + } +diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h +index cf89a67..da63002 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h ++++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h +@@ -1,8 +1,6 @@ + #ifndef VIRTUALKEYBOARDTRAYICON_H + #define VIRTUALKEYBOARDTRAYICON_H + +-#include +- + #include + #include + #include +@@ -20,7 +18,7 @@ public: + + ~VirtualKeyboardTrayIcon() override = default; + +- void setContextMenu(std::shared_ptr contextMenu); ++ void setContextMenu(QMenu *contextMenu); + void hideContextMenu(); + + private: +@@ -28,15 +26,11 @@ private: + + void toggleVirtualKeyboard(); + +- void ensuareVirtualKeyboardInvisible(); +- void showContextMenu(); +- + private slots: + void onTrayIconActivated(QSystemTrayIcon::ActivationReason reason); + + private: + QSystemTrayIcon *trayIcon_ = nullptr; +- std::shared_ptr contextMenu_ = nullptr; + + VirtualKeyboardManager &virtualKeyboardManager_; + const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService_; diff --git a/debian/patches/0002-update-changelog.patch b/debian/patches/0002-update-changelog.patch new file mode 100644 index 0000000..54cc6ea --- /dev/null +++ b/debian/patches/0002-update-changelog.patch @@ -0,0 +1,21 @@ +From: hanteng +Date: Thu, 4 May 2023 09:39:04 +0800 +Subject: update changelog + +--- + src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +index 8fc277b..01fd35c 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp ++++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +@@ -20,7 +20,7 @@ void VirtualKeyboardTrayIcon::hideContextMenu() { + + void VirtualKeyboardTrayIcon::initTrayIcon() { + trayIcon_ = new QSystemTrayIcon(this); +- trayIcon_->setIcon(QIcon::fromTheme("ukui-input-keyboard-symbolic")); ++ trayIcon_->setIcon(QIcon::fromTheme("ukui-virtual-keyboard-symbolic")); + trayIcon_->setToolTip(tr("kylin-virtual-keyboard")); + connect(trayIcon_, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), + this, SLOT(onTrayIconActivated(QSystemTrayIcon::ActivationReason))); diff --git a/debian/patches/0003-update-changelog.patch b/debian/patches/0003-update-changelog.patch new file mode 100644 index 0000000..8514d3a --- /dev/null +++ b/debian/patches/0003-update-changelog.patch @@ -0,0 +1,52 @@ +From: hanteng +Date: Wed, 10 May 2023 16:22:51 +0800 +Subject: update changelog + +--- + src/ipc/requestmerger.cpp | 8 ++++---- + src/ipc/requestmerger.h | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/ipc/requestmerger.cpp b/src/ipc/requestmerger.cpp +index ebaf606..5181308 100644 +--- a/src/ipc/requestmerger.cpp ++++ b/src/ipc/requestmerger.cpp +@@ -115,16 +115,16 @@ void RequestMerger::init(ExecuteCallback activationExecuteCallback, + updateCurrentState(idleState_); + } + +-void RequestMerger::activate() { currentSate_->activate(); } ++void RequestMerger::activate() { currentState_->activate(); } + +-void RequestMerger::deactivate() { currentSate_->deactivate(); } ++void RequestMerger::deactivate() { currentState_->deactivate(); } + + void RequestMerger::start() { timer_.start(period_); } + + void RequestMerger::stop() { timer_.stop(); } + + void RequestMerger::updateCurrentState(std::shared_ptr newState) { +- currentSate_ = newState; ++ currentState_ = newState; + } + + void RequestMerger::enterIdleState() { +@@ -140,4 +140,4 @@ void RequestMerger::enterDeactivationState() { + start(); + } + +-void RequestMerger::execute() { currentSate_->execute(); } ++void RequestMerger::execute() { currentState_->execute(); } +diff --git a/src/ipc/requestmerger.h b/src/ipc/requestmerger.h +index a4be9dd..e1740ac 100644 +--- a/src/ipc/requestmerger.h ++++ b/src/ipc/requestmerger.h +@@ -52,7 +52,7 @@ private: + int period_ = LEAST_PERIOD; + QTimer timer_; + +- std::shared_ptr currentSate_ = nullptr; ++ std::shared_ptr currentState_ = nullptr; + std::shared_ptr idleState_ = nullptr; + std::shared_ptr activationState_ = nullptr; + std::shared_ptr deactivationState_ = nullptr; diff --git a/debian/patches/0004-add-LICENSE.patch b/debian/patches/0004-add-LICENSE.patch new file mode 100644 index 0000000..9164305 --- /dev/null +++ b/debian/patches/0004-add-LICENSE.patch @@ -0,0 +1,653 @@ +From: hanteng +Date: Wed, 26 Jul 2023 01:51:45 +0000 +Subject: add LICENSE. + +Signed-off-by: hanteng +--- + LICENSE | 504 ++++++++++++++++++++++++++++++++ + kylin-virtual-keyboard.pro | 1 + + src/localsettings/viewlocalsettings.cpp | 57 +++- + src/localsettings/viewlocalsettings.h | 16 +- + 4 files changed, 572 insertions(+), 6 deletions(-) + create mode 100644 LICENSE + +diff --git a/LICENSE b/LICENSE +new file mode 100644 +index 0000000..bc0390e +--- /dev/null ++++ b/LICENSE +@@ -0,0 +1,504 @@ ++ GNU LESSER GENERAL PUBLIC LICENSE ++ Version 2.1, February 1999 ++ ++ Copyright (C) 1991, 1999 Free Software Foundation, Inc. ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++[This is the first released version of the Lesser GPL. It also counts ++ as the successor of the GNU Library Public License, version 2, hence ++ the version number 2.1.] ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++Licenses are intended to guarantee your freedom to share and change ++free software--to make sure the software is free for all its users. ++ ++ This license, the Lesser General Public License, applies to some ++specially designated software packages--typically libraries--of the ++Free Software Foundation and other authors who decide to use it. You ++can use it too, but we suggest you first think carefully about whether ++this license or the ordinary General Public License is the better ++strategy to use in any particular case, based on the explanations below. ++ ++ When we speak of free software, we are referring to freedom of use, ++not price. Our General Public Licenses are designed to make sure that ++you have the freedom to distribute copies of free software (and charge ++for this service if you wish); that you receive source code or can get ++it if you want it; that you can change the software and use pieces of ++it in new free programs; and that you are informed that you can do ++these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++distributors to deny you these rights or to ask you to surrender these ++rights. These restrictions translate to certain responsibilities for ++you if you distribute copies of the library or if you modify it. ++ ++ For example, if you distribute copies of the library, whether gratis ++or for a fee, you must give the recipients all the rights that we gave ++you. You must make sure that they, too, receive or can get the source ++code. If you link other code with the library, you must provide ++complete object files to the recipients, so that they can relink them ++with the library after making changes to the library and recompiling ++it. And you must show them these terms so they know their rights. ++ ++ We protect your rights with a two-step method: (1) we copyright the ++library, and (2) we offer you this license, which gives you legal ++permission to copy, distribute and/or modify the library. ++ ++ To protect each distributor, we want to make it very clear that ++there is no warranty for the free library. Also, if the library is ++modified by someone else and passed on, the recipients should know ++that what they have is not the original version, so that the original ++author's reputation will not be affected by problems that might be ++introduced by others. ++ ++ Finally, software patents pose a constant threat to the existence of ++any free program. We wish to make sure that a company cannot ++effectively restrict the users of a free program by obtaining a ++restrictive license from a patent holder. Therefore, we insist that ++any patent license obtained for a version of the library must be ++consistent with the full freedom of use specified in this license. ++ ++ Most GNU software, including some libraries, is covered by the ++ordinary GNU General Public License. This license, the GNU Lesser ++General Public License, applies to certain designated libraries, and ++is quite different from the ordinary General Public License. We use ++this license for certain libraries in order to permit linking those ++libraries into non-free programs. ++ ++ When a program is linked with a library, whether statically or using ++a shared library, the combination of the two is legally speaking a ++combined work, a derivative of the original library. The ordinary ++General Public License therefore permits such linking only if the ++entire combination fits its criteria of freedom. The Lesser General ++Public License permits more lax criteria for linking other code with ++the library. ++ ++ We call this license the "Lesser" General Public License because it ++does Less to protect the user's freedom than the ordinary General ++Public License. It also provides other free software developers Less ++of an advantage over competing non-free programs. These disadvantages ++are the reason we use the ordinary General Public License for many ++libraries. However, the Lesser license provides advantages in certain ++special circumstances. ++ ++ For example, on rare occasions, there may be a special need to ++encourage the widest possible use of a certain library, so that it becomes ++a de-facto standard. To achieve this, non-free programs must be ++allowed to use the library. A more frequent case is that a free ++library does the same job as widely used non-free libraries. In this ++case, there is little to gain by limiting the free library to free ++software only, so we use the Lesser General Public License. ++ ++ In other cases, permission to use a particular library in non-free ++programs enables a greater number of people to use a large body of ++free software. For example, permission to use the GNU C Library in ++non-free programs enables many more people to use the whole GNU ++operating system, as well as its variant, the GNU/Linux operating ++system. ++ ++ Although the Lesser General Public License is Less protective of the ++users' freedom, it does ensure that the user of a program that is ++linked with the Library has the freedom and the wherewithal to run ++that program using a modified version of the Library. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. Pay close attention to the difference between a ++"work based on the library" and a "work that uses the library". The ++former contains code derived from the library, whereas the latter must ++be combined with the library in order to run. ++ ++ GNU LESSER GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License Agreement applies to any software library or other ++program which contains a notice placed by the copyright holder or ++other authorized party saying it may be distributed under the terms of ++this Lesser General Public License (also called "this License"). ++Each licensee is addressed as "you". ++ ++ A "library" means a collection of software functions and/or data ++prepared so as to be conveniently linked with application programs ++(which use some of those functions and data) to form executables. ++ ++ The "Library", below, refers to any such software library or work ++which has been distributed under these terms. A "work based on the ++Library" means either the Library or any derivative work under ++copyright law: that is to say, a work containing the Library or a ++portion of it, either verbatim or with modifications and/or translated ++straightforwardly into another language. (Hereinafter, translation is ++included without limitation in the term "modification".) ++ ++ "Source code" for a work means the preferred form of the work for ++making modifications to it. For a library, complete source code means ++all the source code for all modules it contains, plus any associated ++interface definition files, plus the scripts used to control compilation ++and installation of the library. ++ ++ Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running a program using the Library is not restricted, and output from ++such a program is covered only if its contents constitute a work based ++on the Library (independent of the use of the Library in a tool for ++writing it). Whether that is true depends on what the Library does ++and what the program that uses the Library does. ++ ++ 1. You may copy and distribute verbatim copies of the Library's ++complete source code as you receive it, in any medium, provided that ++you conspicuously and appropriately publish on each copy an ++appropriate copyright notice and disclaimer of warranty; keep intact ++all the notices that refer to this License and to the absence of any ++warranty; and distribute a copy of this License along with the ++Library. ++ ++ You may charge a fee for the physical act of transferring a copy, ++and you may at your option offer warranty protection in exchange for a ++fee. ++ ++ 2. You may modify your copy or copies of the Library or any portion ++of it, thus forming a work based on the Library, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) The modified work must itself be a software library. ++ ++ b) You must cause the files modified to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ c) You must cause the whole of the work to be licensed at no ++ charge to all third parties under the terms of this License. ++ ++ d) If a facility in the modified Library refers to a function or a ++ table of data to be supplied by an application program that uses ++ the facility, other than as an argument passed when the facility ++ is invoked, then you must make a good faith effort to ensure that, ++ in the event an application does not supply such function or ++ table, the facility still operates, and performs whatever part of ++ its purpose remains meaningful. ++ ++ (For example, a function in a library to compute square roots has ++ a purpose that is entirely well-defined independent of the ++ application. Therefore, Subsection 2d requires that any ++ application-supplied function or table used by this function must ++ be optional: if the application does not supply it, the square ++ root function must still compute square roots.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Library, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Library, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote ++it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Library. ++ ++In addition, mere aggregation of another work not based on the Library ++with the Library (or with a work based on the Library) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may opt to apply the terms of the ordinary GNU General Public ++License instead of this License to a given copy of the Library. To do ++this, you must alter all the notices that refer to this License, so ++that they refer to the ordinary GNU General Public License, version 2, ++instead of to this License. (If a newer version than version 2 of the ++ordinary GNU General Public License has appeared, then you can specify ++that version instead if you wish.) Do not make any other change in ++these notices. ++ ++ Once this change is made in a given copy, it is irreversible for ++that copy, so the ordinary GNU General Public License applies to all ++subsequent copies and derivative works made from that copy. ++ ++ This option is useful when you wish to copy part of the code of ++the Library into a program that is not a library. ++ ++ 4. You may copy and distribute the Library (or a portion or ++derivative of it, under Section 2) in object code or executable form ++under the terms of Sections 1 and 2 above provided that you accompany ++it with the complete corresponding machine-readable source code, which ++must be distributed under the terms of Sections 1 and 2 above on a ++medium customarily used for software interchange. ++ ++ If distribution of object code is made by offering access to copy ++from a designated place, then offering equivalent access to copy the ++source code from the same place satisfies the requirement to ++distribute the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 5. A program that contains no derivative of any portion of the ++Library, but is designed to work with the Library by being compiled or ++linked with it, is called a "work that uses the Library". Such a ++work, in isolation, is not a derivative work of the Library, and ++therefore falls outside the scope of this License. ++ ++ However, linking a "work that uses the Library" with the Library ++creates an executable that is a derivative of the Library (because it ++contains portions of the Library), rather than a "work that uses the ++library". The executable is therefore covered by this License. ++Section 6 states terms for distribution of such executables. ++ ++ When a "work that uses the Library" uses material from a header file ++that is part of the Library, the object code for the work may be a ++derivative work of the Library even though the source code is not. ++Whether this is true is especially significant if the work can be ++linked without the Library, or if the work is itself a library. The ++threshold for this to be true is not precisely defined by law. ++ ++ If such an object file uses only numerical parameters, data ++structure layouts and accessors, and small macros and small inline ++functions (ten lines or less in length), then the use of the object ++file is unrestricted, regardless of whether it is legally a derivative ++work. (Executables containing this object code plus portions of the ++Library will still fall under Section 6.) ++ ++ Otherwise, if the work is a derivative of the Library, you may ++distribute the object code for the work under the terms of Section 6. ++Any executables containing that work also fall under Section 6, ++whether or not they are linked directly with the Library itself. ++ ++ 6. As an exception to the Sections above, you may also combine or ++link a "work that uses the Library" with the Library to produce a ++work containing portions of the Library, and distribute that work ++under terms of your choice, provided that the terms permit ++modification of the work for the customer's own use and reverse ++engineering for debugging such modifications. ++ ++ You must give prominent notice with each copy of the work that the ++Library is used in it and that the Library and its use are covered by ++this License. You must supply a copy of this License. If the work ++during execution displays copyright notices, you must include the ++copyright notice for the Library among them, as well as a reference ++directing the user to the copy of this License. Also, you must do one ++of these things: ++ ++ a) Accompany the work with the complete corresponding ++ machine-readable source code for the Library including whatever ++ changes were used in the work (which must be distributed under ++ Sections 1 and 2 above); and, if the work is an executable linked ++ with the Library, with the complete machine-readable "work that ++ uses the Library", as object code and/or source code, so that the ++ user can modify the Library and then relink to produce a modified ++ executable containing the modified Library. (It is understood ++ that the user who changes the contents of definitions files in the ++ Library will not necessarily be able to recompile the application ++ to use the modified definitions.) ++ ++ b) Use a suitable shared library mechanism for linking with the ++ Library. A suitable mechanism is one that (1) uses at run time a ++ copy of the library already present on the user's computer system, ++ rather than copying library functions into the executable, and (2) ++ will operate properly with a modified version of the library, if ++ the user installs one, as long as the modified version is ++ interface-compatible with the version that the work was made with. ++ ++ c) Accompany the work with a written offer, valid for at ++ least three years, to give the same user the materials ++ specified in Subsection 6a, above, for a charge no more ++ than the cost of performing this distribution. ++ ++ d) If distribution of the work is made by offering access to copy ++ from a designated place, offer equivalent access to copy the above ++ specified materials from the same place. ++ ++ e) Verify that the user has already received a copy of these ++ materials or that you have already sent this user a copy. ++ ++ For an executable, the required form of the "work that uses the ++Library" must include any data and utility programs needed for ++reproducing the executable from it. However, as a special exception, ++the materials to be distributed need not include anything that is ++normally distributed (in either source or binary form) with the major ++components (compiler, kernel, and so on) of the operating system on ++which the executable runs, unless that component itself accompanies ++the executable. ++ ++ It may happen that this requirement contradicts the license ++restrictions of other proprietary libraries that do not normally ++accompany the operating system. Such a contradiction means you cannot ++use both them and the Library together in an executable that you ++distribute. ++ ++ 7. You may place library facilities that are a work based on the ++Library side-by-side in a single library together with other library ++facilities not covered by this License, and distribute such a combined ++library, provided that the separate distribution of the work based on ++the Library and of the other library facilities is otherwise ++permitted, and provided that you do these two things: ++ ++ a) Accompany the combined library with a copy of the same work ++ based on the Library, uncombined with any other library ++ facilities. This must be distributed under the terms of the ++ Sections above. ++ ++ b) Give prominent notice with the combined library of the fact ++ that part of it is a work based on the Library, and explaining ++ where to find the accompanying uncombined form of the same work. ++ ++ 8. You may not copy, modify, sublicense, link with, or distribute ++the Library except as expressly provided under this License. Any ++attempt otherwise to copy, modify, sublicense, link with, or ++distribute the Library is void, and will automatically terminate your ++rights under this License. However, parties who have received copies, ++or rights, from you under this License will not have their licenses ++terminated so long as such parties remain in full compliance. ++ ++ 9. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Library or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Library (or any work based on the ++Library), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Library or works based on it. ++ ++ 10. Each time you redistribute the Library (or any work based on the ++Library), the recipient automatically receives a license from the ++original licensor to copy, distribute, link with or modify the Library ++subject to these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties with ++this License. ++ ++ 11. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Library at all. For example, if a patent ++license would not permit royalty-free redistribution of the Library by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Library. ++ ++If any portion of this section is held invalid or unenforceable under any ++particular circumstance, the balance of the section is intended to apply, ++and the section as a whole is intended to apply in other circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 12. If the distribution and/or use of the Library is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Library under this License may add ++an explicit geographical distribution limitation excluding those countries, ++so that distribution is permitted only in or among countries not thus ++excluded. In such case, this License incorporates the limitation as if ++written in the body of this License. ++ ++ 13. The Free Software Foundation may publish revised and/or new ++versions of the Lesser General Public License from time to time. ++Such new versions will be similar in spirit to the present version, ++but may differ in detail to address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Library ++specifies a version number of this License which applies to it and ++"any later version", you have the option of following the terms and ++conditions either of that version or of any later version published by ++the Free Software Foundation. If the Library does not specify a ++license version number, you may choose any version ever published by ++the Free Software Foundation. ++ ++ 14. If you wish to incorporate parts of the Library into other free ++programs whose distribution conditions are incompatible with these, ++write to the author to ask for permission. For software which is ++copyrighted by the Free Software Foundation, write to the Free ++Software Foundation; we sometimes make exceptions for this. Our ++decision will be guided by the two goals of preserving the free status ++of all derivatives of our free software and of promoting the sharing ++and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO ++WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. ++EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR ++OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY ++KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE ++IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR ++PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE ++LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME ++THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. ++ ++ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN ++WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY ++AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU ++FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR ++CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE ++LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING ++RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A ++FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF ++SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH ++DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Libraries ++ ++ If you develop a new library, and you want it to be of the greatest ++possible use to the public, we recommend making it free software that ++everyone can redistribute and change. You can do so by permitting ++redistribution under these terms (or, alternatively, under the terms of the ++ordinary General Public License). ++ ++ To apply these terms, attach the following notices to the library. It is ++safest to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least the ++"copyright" line and a pointer to where the full notice is found. ++ ++ ++ Copyright (C) ++ ++ This library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ This library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with this library; if not, write to the Free Software ++ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 ++ USA ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the library, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the ++ library `Frob' (a library for tweaking knobs) written by James Random ++ Hacker. ++ ++ , 1 April 1990 ++ Ty Coon, President of Vice ++ ++That's all there is to it! +diff --git a/kylin-virtual-keyboard.pro b/kylin-virtual-keyboard.pro +index ee7875d..edb66ce 100644 +--- a/kylin-virtual-keyboard.pro ++++ b/kylin-virtual-keyboard.pro +@@ -1,4 +1,5 @@ + QT += quick ++QT += concurrent + QT += dbus + QT += core gui + QT += KWindowSystem +diff --git a/src/localsettings/viewlocalsettings.cpp b/src/localsettings/viewlocalsettings.cpp +index ce977be..83b0840 100644 +--- a/src/localsettings/viewlocalsettings.cpp ++++ b/src/localsettings/viewlocalsettings.cpp +@@ -1,14 +1,54 @@ + #include "viewlocalsettings.h" + ++#include ++#include ++ ++namespace { ++void updateSettings(QSettings &settings, ++ const ViewLocalSettings::SettingMap &settingMap) { ++ for (auto settingIter = settingMap.constBegin(); ++ settingIter != settingMap.constEnd(); settingIter++) { ++ settings.setValue(settingIter.key(), settingIter.value()); ++ } ++} ++ ++void saveSettings(const QString &organization, const QString &application, ++ const ViewLocalSettings::GroupSettingMap &groupSettingMap) { ++ QSettings settings(organization, application); ++ ++ for (auto groupIter = groupSettingMap.constBegin(); ++ groupIter != groupSettingMap.constEnd(); groupIter++) { ++ settings.beginGroup(groupIter.key()); ++ ++ updateSettings(settings, groupIter.value()); ++ ++ settings.endGroup(); ++ } ++ ++ settings.sync(); ++} ++} // namespace ++ + ViewLocalSettings::ViewLocalSettings(const QString &organization, + const QString &application) +- : settings(organization, application) {} ++ : organization_(organization), application_(application) { ++ QObject::connect(&futureWatcher_, &QFutureWatcher::finished, ++ [this]() { ++ if (groupSettingMap_.isEmpty()) { ++ return; ++ } ++ ++ saveSettingsAsync(); ++ }); ++} + + ViewLocalSettings::~ViewLocalSettings() = default; + + QVariant + ViewLocalSettings::getValue(const QString &group, const QString &key, + const QVariant &defaultValue /*= QVariant()*/) { ++ QSettings settings(organization_, application_); ++ + settings.beginGroup(group); + + auto value = settings.value(key, defaultValue); +@@ -20,9 +60,18 @@ ViewLocalSettings::getValue(const QString &group, const QString &key, + + void ViewLocalSettings::setValue(const QString &group, const QString &key, + const QVariant &value) { +- settings.beginGroup(group); ++ auto &settingMap = groupSettingMap_[group]; ++ settingMap.insert(key, value); + +- settings.setValue(key, value); ++ if (futureWatcher_.isFinished()) { ++ saveSettingsAsync(); ++ } ++} + +- settings.endGroup(); ++void ViewLocalSettings::saveSettingsAsync() { ++ auto oneshotGroupSettingMap(std::move(groupSettingMap_)); ++ futureWatcher_.setFuture( ++ QtConcurrent::run([this, oneshotGroupSettingMap]() { ++ saveSettings(organization_, application_, oneshotGroupSettingMap); ++ })); + } +diff --git a/src/localsettings/viewlocalsettings.h b/src/localsettings/viewlocalsettings.h +index 38546a6..d433f2e 100644 +--- a/src/localsettings/viewlocalsettings.h ++++ b/src/localsettings/viewlocalsettings.h +@@ -1,11 +1,16 @@ + #ifndef VIEWLOCALSETTINGS_H + #define VIEWLOCALSETTINGS_H + +-#include ++#include ++#include + + #include "localsettings.h" + + class ViewLocalSettings : public LocalSettings { ++public: ++ using SettingMap = QMap; ++ using GroupSettingMap = QMap; ++ + public: + ViewLocalSettings(const QString &organization, const QString &application); + ~ViewLocalSettings() override; +@@ -16,7 +21,14 @@ public: + const QVariant &value) override; + + private: +- QSettings settings; ++ void saveSettingsAsync(); ++ ++private: ++ const QString organization_; ++ const QString application_; ++ ++ GroupSettingMap groupSettingMap_; ++ QFutureWatcher futureWatcher_; + }; + + #endif // VIEWLOCALSETTINGS_H diff --git a/debian/patches/0005-update-changelog.patch b/debian/patches/0005-update-changelog.patch new file mode 100644 index 0000000..cfc5ed5 --- /dev/null +++ b/debian/patches/0005-update-changelog.patch @@ -0,0 +1,4455 @@ +From: hantengc +Date: Wed, 26 Jul 2023 14:28:58 +0800 +Subject: update changelog + +--- + LICENSE | 659 +++++---------------- + man/kylin-virtual-keyboard-xwayland.1 | 14 + + man/kylin-virtual-keyboard.1 | 14 + + qml/CandidateList.qml | 27 +- + qml/ClassicKeyboardLayout.qml | 151 ++--- + qml/DragBar.qml | 95 +-- + qml/HideButton.qml | 17 + + qml/KeyboardLayoutArea.qml | 19 +- + qml/PlacementModeButton.qml | 17 + + qml/Preedit.qml | 17 + + qml/ToolArea.qml | 17 + + qml/Toolbar.qml | 21 +- + qml/ToolbarAndCandidateArea.qml | 21 +- + qml/VirtualKeyboard.qml | 510 ++++++++-------- + qml/js/utils.js | 37 +- + qml/key/ActionKey.qml | 23 +- + qml/key/AltKey.qml | 20 +- + qml/key/BackspaceKey.qml | 17 + + qml/key/BaseKey.qml | 81 ++- + qml/key/CapslockKey.qml | 78 ++- + qml/key/ChangeImKey.qml | 201 ++++--- + qml/key/CharKey.qml | 151 ++--- + qml/key/CtrlKey.qml | 20 +- + qml/key/EnterKey.qml | 17 + + qml/key/FnKey.qml | 72 ++- + qml/key/FnSymbolKey.qml | 19 +- + qml/key/LetterKey.qml | 17 + + qml/key/ShiftKey.qml | 20 +- + qml/key/SpaceKey.qml | 17 + + qml/key/SwitchKey.qml | 273 +++++---- + qml/key/SymbolKey.qml | 91 +-- + qml/key/TemporarySwitchKey.qml | 34 +- + qml/key/WinKey.qml | 20 +- + src/appinputareamanager.cpp | 17 + + src/appinputareamanager.h | 17 + + src/geometrymanager/expansiongeometrymanager.cpp | 17 + + src/geometrymanager/expansiongeometrymanager.h | 17 + + src/geometrymanager/floatgeometrymanager.cpp | 17 + + src/geometrymanager/floatgeometrymanager.h | 17 + + src/geometrymanager/geometrymanager.cpp | 17 + + src/geometrymanager/geometrymanager.h | 17 + + src/ipc/dbusservice.cpp | 17 + + src/ipc/dbusservice.h | 17 + + src/ipc/fcitxvirtualkeyboardserviceproxy.cpp | 17 + + src/ipc/fcitxvirtualkeyboardserviceproxy.h | 17 + + src/ipc/requestmerger.cpp | 17 + + src/ipc/requestmerger.h | 17 + + src/localsettings/localsettings.h | 17 + + src/localsettings/viewlocalsettings.cpp | 17 + + src/localsettings/viewlocalsettings.h | 17 + + src/main.cpp | 17 + + src/screenmanager.cpp | 17 + + src/screenmanager.h | 17 + + src/virtualkeyboard/placementmodemanager.cpp | 17 + + src/virtualkeyboard/placementmodemanager.h | 17 + + src/virtualkeyboard/virtualkeyboardmanager.cpp | 17 + + src/virtualkeyboard/virtualkeyboardmanager.h | 17 + + src/virtualkeyboard/virtualkeyboardmodel.cpp | 17 + + src/virtualkeyboard/virtualkeyboardmodel.h | 17 + + src/virtualkeyboard/virtualkeyboardstrategy.h | 17 + + src/virtualkeyboard/virtualkeyboardview.cpp | 17 + + src/virtualkeyboard/virtualkeyboardview.h | 17 + + .../fcitxvirtualkeyboardservice.h | 17 + + src/virtualkeyboardentry/floatbutton.cpp | 45 +- + src/virtualkeyboardentry/floatbutton.h | 20 +- + src/virtualkeyboardentry/floatbuttonmanager.cpp | 17 + + src/virtualkeyboardentry/floatbuttonmanager.h | 19 +- + src/virtualkeyboardentry/floatbuttonstrategy.h | 17 + + .../virtualkeyboardentrymanager.cpp | 17 + + .../virtualkeyboardentrymanager.h | 17 + + .../virtualkeyboardtrayicon.cpp | 17 + + src/virtualkeyboardentry/virtualkeyboardtrayicon.h | 17 + + 72 files changed, 2197 insertions(+), 1306 deletions(-) + create mode 100644 man/kylin-virtual-keyboard-xwayland.1 + create mode 100644 man/kylin-virtual-keyboard.1 + +diff --git a/LICENSE b/LICENSE +index bc0390e..b14ca0a 100644 +--- a/LICENSE ++++ b/LICENSE +@@ -1,504 +1,165 @@ +- GNU LESSER GENERAL PUBLIC LICENSE +- Version 2.1, February 1999 ++ GNU LESSER GENERAL PUBLIC LICENSE ++ Version 3, 29 June 2007 + +- Copyright (C) 1991, 1999 Free Software Foundation, Inc. +- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +-[This is the first released version of the Lesser GPL. It also counts +- as the successor of the GNU Library Public License, version 2, hence +- the version number 2.1.] +- +- Preamble +- +- The licenses for most software are designed to take away your +-freedom to share and change it. By contrast, the GNU General Public +-Licenses are intended to guarantee your freedom to share and change +-free software--to make sure the software is free for all its users. +- +- This license, the Lesser General Public License, applies to some +-specially designated software packages--typically libraries--of the +-Free Software Foundation and other authors who decide to use it. You +-can use it too, but we suggest you first think carefully about whether +-this license or the ordinary General Public License is the better +-strategy to use in any particular case, based on the explanations below. +- +- When we speak of free software, we are referring to freedom of use, +-not price. Our General Public Licenses are designed to make sure that +-you have the freedom to distribute copies of free software (and charge +-for this service if you wish); that you receive source code or can get +-it if you want it; that you can change the software and use pieces of +-it in new free programs; and that you are informed that you can do +-these things. +- +- To protect your rights, we need to make restrictions that forbid +-distributors to deny you these rights or to ask you to surrender these +-rights. These restrictions translate to certain responsibilities for +-you if you distribute copies of the library or if you modify it. +- +- For example, if you distribute copies of the library, whether gratis +-or for a fee, you must give the recipients all the rights that we gave +-you. You must make sure that they, too, receive or can get the source +-code. If you link other code with the library, you must provide +-complete object files to the recipients, so that they can relink them +-with the library after making changes to the library and recompiling +-it. And you must show them these terms so they know their rights. +- +- We protect your rights with a two-step method: (1) we copyright the +-library, and (2) we offer you this license, which gives you legal +-permission to copy, distribute and/or modify the library. +- +- To protect each distributor, we want to make it very clear that +-there is no warranty for the free library. Also, if the library is +-modified by someone else and passed on, the recipients should know +-that what they have is not the original version, so that the original +-author's reputation will not be affected by problems that might be +-introduced by others. +- +- Finally, software patents pose a constant threat to the existence of +-any free program. We wish to make sure that a company cannot +-effectively restrict the users of a free program by obtaining a +-restrictive license from a patent holder. Therefore, we insist that +-any patent license obtained for a version of the library must be +-consistent with the full freedom of use specified in this license. +- +- Most GNU software, including some libraries, is covered by the +-ordinary GNU General Public License. This license, the GNU Lesser +-General Public License, applies to certain designated libraries, and +-is quite different from the ordinary General Public License. We use +-this license for certain libraries in order to permit linking those +-libraries into non-free programs. +- +- When a program is linked with a library, whether statically or using +-a shared library, the combination of the two is legally speaking a +-combined work, a derivative of the original library. The ordinary +-General Public License therefore permits such linking only if the +-entire combination fits its criteria of freedom. The Lesser General +-Public License permits more lax criteria for linking other code with +-the library. +- +- We call this license the "Lesser" General Public License because it +-does Less to protect the user's freedom than the ordinary General +-Public License. It also provides other free software developers Less +-of an advantage over competing non-free programs. These disadvantages +-are the reason we use the ordinary General Public License for many +-libraries. However, the Lesser license provides advantages in certain +-special circumstances. +- +- For example, on rare occasions, there may be a special need to +-encourage the widest possible use of a certain library, so that it becomes +-a de-facto standard. To achieve this, non-free programs must be +-allowed to use the library. A more frequent case is that a free +-library does the same job as widely used non-free libraries. In this +-case, there is little to gain by limiting the free library to free +-software only, so we use the Lesser General Public License. +- +- In other cases, permission to use a particular library in non-free +-programs enables a greater number of people to use a large body of +-free software. For example, permission to use the GNU C Library in +-non-free programs enables many more people to use the whole GNU +-operating system, as well as its variant, the GNU/Linux operating +-system. +- +- Although the Lesser General Public License is Less protective of the +-users' freedom, it does ensure that the user of a program that is +-linked with the Library has the freedom and the wherewithal to run +-that program using a modified version of the Library. +- +- The precise terms and conditions for copying, distribution and +-modification follow. Pay close attention to the difference between a +-"work based on the library" and a "work that uses the library". The +-former contains code derived from the library, whereas the latter must +-be combined with the library in order to run. +- +- GNU LESSER GENERAL PUBLIC LICENSE +- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +- +- 0. This License Agreement applies to any software library or other +-program which contains a notice placed by the copyright holder or +-other authorized party saying it may be distributed under the terms of +-this Lesser General Public License (also called "this License"). +-Each licensee is addressed as "you". +- +- A "library" means a collection of software functions and/or data +-prepared so as to be conveniently linked with application programs +-(which use some of those functions and data) to form executables. +- +- The "Library", below, refers to any such software library or work +-which has been distributed under these terms. A "work based on the +-Library" means either the Library or any derivative work under +-copyright law: that is to say, a work containing the Library or a +-portion of it, either verbatim or with modifications and/or translated +-straightforwardly into another language. (Hereinafter, translation is +-included without limitation in the term "modification".) +- +- "Source code" for a work means the preferred form of the work for +-making modifications to it. For a library, complete source code means +-all the source code for all modules it contains, plus any associated +-interface definition files, plus the scripts used to control compilation +-and installation of the library. +- +- Activities other than copying, distribution and modification are not +-covered by this License; they are outside its scope. The act of +-running a program using the Library is not restricted, and output from +-such a program is covered only if its contents constitute a work based +-on the Library (independent of the use of the Library in a tool for +-writing it). Whether that is true depends on what the Library does +-and what the program that uses the Library does. +- +- 1. You may copy and distribute verbatim copies of the Library's +-complete source code as you receive it, in any medium, provided that +-you conspicuously and appropriately publish on each copy an +-appropriate copyright notice and disclaimer of warranty; keep intact +-all the notices that refer to this License and to the absence of any +-warranty; and distribute a copy of this License along with the +-Library. + +- You may charge a fee for the physical act of transferring a copy, +-and you may at your option offer warranty protection in exchange for a +-fee. +- +- 2. You may modify your copy or copies of the Library or any portion +-of it, thus forming a work based on the Library, and copy and +-distribute such modifications or work under the terms of Section 1 +-above, provided that you also meet all of these conditions: +- +- a) The modified work must itself be a software library. +- +- b) You must cause the files modified to carry prominent notices +- stating that you changed the files and the date of any change. +- +- c) You must cause the whole of the work to be licensed at no +- charge to all third parties under the terms of this License. +- +- d) If a facility in the modified Library refers to a function or a +- table of data to be supplied by an application program that uses +- the facility, other than as an argument passed when the facility +- is invoked, then you must make a good faith effort to ensure that, +- in the event an application does not supply such function or +- table, the facility still operates, and performs whatever part of +- its purpose remains meaningful. +- +- (For example, a function in a library to compute square roots has +- a purpose that is entirely well-defined independent of the +- application. Therefore, Subsection 2d requires that any +- application-supplied function or table used by this function must +- be optional: if the application does not supply it, the square +- root function must still compute square roots.) +- +-These requirements apply to the modified work as a whole. If +-identifiable sections of that work are not derived from the Library, +-and can be reasonably considered independent and separate works in +-themselves, then this License, and its terms, do not apply to those +-sections when you distribute them as separate works. But when you +-distribute the same sections as part of a whole which is a work based +-on the Library, the distribution of the whole must be on the terms of +-this License, whose permissions for other licensees extend to the +-entire whole, and thus to each and every part regardless of who wrote +-it. +- +-Thus, it is not the intent of this section to claim rights or contest +-your rights to work written entirely by you; rather, the intent is to +-exercise the right to control the distribution of derivative or +-collective works based on the Library. +- +-In addition, mere aggregation of another work not based on the Library +-with the Library (or with a work based on the Library) on a volume of +-a storage or distribution medium does not bring the other work under +-the scope of this License. +- +- 3. You may opt to apply the terms of the ordinary GNU General Public +-License instead of this License to a given copy of the Library. To do +-this, you must alter all the notices that refer to this License, so +-that they refer to the ordinary GNU General Public License, version 2, +-instead of to this License. (If a newer version than version 2 of the +-ordinary GNU General Public License has appeared, then you can specify +-that version instead if you wish.) Do not make any other change in +-these notices. +- +- Once this change is made in a given copy, it is irreversible for +-that copy, so the ordinary GNU General Public License applies to all +-subsequent copies and derivative works made from that copy. +- +- This option is useful when you wish to copy part of the code of +-the Library into a program that is not a library. +- +- 4. You may copy and distribute the Library (or a portion or +-derivative of it, under Section 2) in object code or executable form +-under the terms of Sections 1 and 2 above provided that you accompany +-it with the complete corresponding machine-readable source code, which +-must be distributed under the terms of Sections 1 and 2 above on a +-medium customarily used for software interchange. +- +- If distribution of object code is made by offering access to copy +-from a designated place, then offering equivalent access to copy the +-source code from the same place satisfies the requirement to +-distribute the source code, even though third parties are not +-compelled to copy the source along with the object code. +- +- 5. A program that contains no derivative of any portion of the +-Library, but is designed to work with the Library by being compiled or +-linked with it, is called a "work that uses the Library". Such a +-work, in isolation, is not a derivative work of the Library, and +-therefore falls outside the scope of this License. +- +- However, linking a "work that uses the Library" with the Library +-creates an executable that is a derivative of the Library (because it +-contains portions of the Library), rather than a "work that uses the +-library". The executable is therefore covered by this License. +-Section 6 states terms for distribution of such executables. +- +- When a "work that uses the Library" uses material from a header file +-that is part of the Library, the object code for the work may be a +-derivative work of the Library even though the source code is not. +-Whether this is true is especially significant if the work can be +-linked without the Library, or if the work is itself a library. The +-threshold for this to be true is not precisely defined by law. +- +- If such an object file uses only numerical parameters, data +-structure layouts and accessors, and small macros and small inline +-functions (ten lines or less in length), then the use of the object +-file is unrestricted, regardless of whether it is legally a derivative +-work. (Executables containing this object code plus portions of the +-Library will still fall under Section 6.) +- +- Otherwise, if the work is a derivative of the Library, you may +-distribute the object code for the work under the terms of Section 6. +-Any executables containing that work also fall under Section 6, +-whether or not they are linked directly with the Library itself. +- +- 6. As an exception to the Sections above, you may also combine or +-link a "work that uses the Library" with the Library to produce a +-work containing portions of the Library, and distribute that work +-under terms of your choice, provided that the terms permit +-modification of the work for the customer's own use and reverse +-engineering for debugging such modifications. +- +- You must give prominent notice with each copy of the work that the +-Library is used in it and that the Library and its use are covered by +-this License. You must supply a copy of this License. If the work +-during execution displays copyright notices, you must include the +-copyright notice for the Library among them, as well as a reference +-directing the user to the copy of this License. Also, you must do one +-of these things: +- +- a) Accompany the work with the complete corresponding +- machine-readable source code for the Library including whatever +- changes were used in the work (which must be distributed under +- Sections 1 and 2 above); and, if the work is an executable linked +- with the Library, with the complete machine-readable "work that +- uses the Library", as object code and/or source code, so that the +- user can modify the Library and then relink to produce a modified +- executable containing the modified Library. (It is understood +- that the user who changes the contents of definitions files in the +- Library will not necessarily be able to recompile the application +- to use the modified definitions.) +- +- b) Use a suitable shared library mechanism for linking with the +- Library. A suitable mechanism is one that (1) uses at run time a +- copy of the library already present on the user's computer system, +- rather than copying library functions into the executable, and (2) +- will operate properly with a modified version of the library, if +- the user installs one, as long as the modified version is +- interface-compatible with the version that the work was made with. +- +- c) Accompany the work with a written offer, valid for at +- least three years, to give the same user the materials +- specified in Subsection 6a, above, for a charge no more +- than the cost of performing this distribution. +- +- d) If distribution of the work is made by offering access to copy +- from a designated place, offer equivalent access to copy the above +- specified materials from the same place. +- +- e) Verify that the user has already received a copy of these +- materials or that you have already sent this user a copy. +- +- For an executable, the required form of the "work that uses the +-Library" must include any data and utility programs needed for +-reproducing the executable from it. However, as a special exception, +-the materials to be distributed need not include anything that is +-normally distributed (in either source or binary form) with the major +-components (compiler, kernel, and so on) of the operating system on +-which the executable runs, unless that component itself accompanies +-the executable. +- +- It may happen that this requirement contradicts the license +-restrictions of other proprietary libraries that do not normally +-accompany the operating system. Such a contradiction means you cannot +-use both them and the Library together in an executable that you +-distribute. +- +- 7. You may place library facilities that are a work based on the +-Library side-by-side in a single library together with other library +-facilities not covered by this License, and distribute such a combined +-library, provided that the separate distribution of the work based on +-the Library and of the other library facilities is otherwise +-permitted, and provided that you do these two things: +- +- a) Accompany the combined library with a copy of the same work +- based on the Library, uncombined with any other library +- facilities. This must be distributed under the terms of the +- Sections above. +- +- b) Give prominent notice with the combined library of the fact +- that part of it is a work based on the Library, and explaining +- where to find the accompanying uncombined form of the same work. +- +- 8. You may not copy, modify, sublicense, link with, or distribute +-the Library except as expressly provided under this License. Any +-attempt otherwise to copy, modify, sublicense, link with, or +-distribute the Library is void, and will automatically terminate your +-rights under this License. However, parties who have received copies, +-or rights, from you under this License will not have their licenses +-terminated so long as such parties remain in full compliance. +- +- 9. You are not required to accept this License, since you have not +-signed it. However, nothing else grants you permission to modify or +-distribute the Library or its derivative works. These actions are +-prohibited by law if you do not accept this License. Therefore, by +-modifying or distributing the Library (or any work based on the +-Library), you indicate your acceptance of this License to do so, and +-all its terms and conditions for copying, distributing or modifying +-the Library or works based on it. +- +- 10. Each time you redistribute the Library (or any work based on the +-Library), the recipient automatically receives a license from the +-original licensor to copy, distribute, link with or modify the Library +-subject to these terms and conditions. You may not impose any further +-restrictions on the recipients' exercise of the rights granted herein. +-You are not responsible for enforcing compliance by third parties with +-this License. +- +- 11. If, as a consequence of a court judgment or allegation of patent +-infringement or for any other reason (not limited to patent issues), +-conditions are imposed on you (whether by court order, agreement or +-otherwise) that contradict the conditions of this License, they do not +-excuse you from the conditions of this License. If you cannot +-distribute so as to satisfy simultaneously your obligations under this +-License and any other pertinent obligations, then as a consequence you +-may not distribute the Library at all. For example, if a patent +-license would not permit royalty-free redistribution of the Library by +-all those who receive copies directly or indirectly through you, then +-the only way you could satisfy both it and this License would be to +-refrain entirely from distribution of the Library. +- +-If any portion of this section is held invalid or unenforceable under any +-particular circumstance, the balance of the section is intended to apply, +-and the section as a whole is intended to apply in other circumstances. +- +-It is not the purpose of this section to induce you to infringe any +-patents or other property right claims or to contest validity of any +-such claims; this section has the sole purpose of protecting the +-integrity of the free software distribution system which is +-implemented by public license practices. Many people have made +-generous contributions to the wide range of software distributed +-through that system in reliance on consistent application of that +-system; it is up to the author/donor to decide if he or she is willing +-to distribute software through any other system and a licensee cannot +-impose that choice. +- +-This section is intended to make thoroughly clear what is believed to +-be a consequence of the rest of this License. +- +- 12. If the distribution and/or use of the Library is restricted in +-certain countries either by patents or by copyrighted interfaces, the +-original copyright holder who places the Library under this License may add +-an explicit geographical distribution limitation excluding those countries, +-so that distribution is permitted only in or among countries not thus +-excluded. In such case, this License incorporates the limitation as if +-written in the body of this License. +- +- 13. The Free Software Foundation may publish revised and/or new +-versions of the Lesser General Public License from time to time. +-Such new versions will be similar in spirit to the present version, +-but may differ in detail to address new problems or concerns. +- +-Each version is given a distinguishing version number. If the Library +-specifies a version number of this License which applies to it and +-"any later version", you have the option of following the terms and +-conditions either of that version or of any later version published by +-the Free Software Foundation. If the Library does not specify a +-license version number, you may choose any version ever published by +-the Free Software Foundation. +- +- 14. If you wish to incorporate parts of the Library into other free +-programs whose distribution conditions are incompatible with these, +-write to the author to ask for permission. For software which is +-copyrighted by the Free Software Foundation, write to the Free +-Software Foundation; we sometimes make exceptions for this. Our +-decision will be guided by the two goals of preserving the free status +-of all derivatives of our free software and of promoting the sharing +-and reuse of software generally. +- +- NO WARRANTY +- +- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +- +- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +-DAMAGES. +- +- END OF TERMS AND CONDITIONS +- +- How to Apply These Terms to Your New Libraries +- +- If you develop a new library, and you want it to be of the greatest +-possible use to the public, we recommend making it free software that +-everyone can redistribute and change. You can do so by permitting +-redistribution under these terms (or, alternatively, under the terms of the +-ordinary General Public License). +- +- To apply these terms, attach the following notices to the library. It is +-safest to attach them to the start of each source file to most effectively +-convey the exclusion of warranty; and each file should have at least the +-"copyright" line and a pointer to where the full notice is found. +- +- +- Copyright (C) +- +- This library is free software; you can redistribute it and/or +- modify it under the terms of the GNU Lesser General Public +- License as published by the Free Software Foundation; either +- version 2.1 of the License, or (at your option) any later version. +- +- This library is distributed in the hope that it will be useful, +- but WITHOUT ANY WARRANTY; without even the implied warranty of +- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- Lesser General Public License for more details. +- +- You should have received a copy of the GNU Lesser General Public +- License along with this library; if not, write to the Free Software +- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 +- USA +- +-Also add information on how to contact you by electronic and paper mail. +- +-You should also get your employer (if you work as a programmer) or your +-school, if any, to sign a "copyright disclaimer" for the library, if +-necessary. Here is a sample; alter the names: +- +- Yoyodyne, Inc., hereby disclaims all copyright interest in the +- library `Frob' (a library for tweaking knobs) written by James Random +- Hacker. +- +- , 1 April 1990 +- Ty Coon, President of Vice +- +-That's all there is to it! ++ This version of the GNU Lesser General Public License incorporates ++the terms and conditions of version 3 of the GNU General Public ++License, supplemented by the additional permissions listed below. ++ ++ 0. Additional Definitions. ++ ++ As used herein, "this License" refers to version 3 of the GNU Lesser ++General Public License, and the "GNU GPL" refers to version 3 of the GNU ++General Public License. ++ ++ "The Library" refers to a covered work governed by this License, ++other than an Application or a Combined Work as defined below. ++ ++ An "Application" is any work that makes use of an interface provided ++by the Library, but which is not otherwise based on the Library. ++Defining a subclass of a class defined by the Library is deemed a mode ++of using an interface provided by the Library. ++ ++ A "Combined Work" is a work produced by combining or linking an ++Application with the Library. The particular version of the Library ++with which the Combined Work was made is also called the "Linked ++Version". ++ ++ The "Minimal Corresponding Source" for a Combined Work means the ++Corresponding Source for the Combined Work, excluding any source code ++for portions of the Combined Work that, considered in isolation, are ++based on the Application, and not on the Linked Version. ++ ++ The "Corresponding Application Code" for a Combined Work means the ++object code and/or source code for the Application, including any data ++and utility programs needed for reproducing the Combined Work from the ++Application, but excluding the System Libraries of the Combined Work. ++ ++ 1. Exception to Section 3 of the GNU GPL. ++ ++ You may convey a covered work under sections 3 and 4 of this License ++without being bound by section 3 of the GNU GPL. ++ ++ 2. Conveying Modified Versions. ++ ++ If you modify a copy of the Library, and, in your modifications, a ++facility refers to a function or data to be supplied by an Application ++that uses the facility (other than as an argument passed when the ++facility is invoked), then you may convey a copy of the modified ++version: ++ ++ a) under this License, provided that you make a good faith effort to ++ ensure that, in the event an Application does not supply the ++ function or data, the facility still operates, and performs ++ whatever part of its purpose remains meaningful, or ++ ++ b) under the GNU GPL, with none of the additional permissions of ++ this License applicable to that copy. ++ ++ 3. Object Code Incorporating Material from Library Header Files. ++ ++ The object code form of an Application may incorporate material from ++a header file that is part of the Library. You may convey such object ++code under terms of your choice, provided that, if the incorporated ++material is not limited to numerical parameters, data structure ++layouts and accessors, or small macros, inline functions and templates ++(ten or fewer lines in length), you do both of the following: ++ ++ a) Give prominent notice with each copy of the object code that the ++ Library is used in it and that the Library and its use are ++ covered by this License. ++ ++ b) Accompany the object code with a copy of the GNU GPL and this license ++ document. ++ ++ 4. Combined Works. ++ ++ You may convey a Combined Work under terms of your choice that, ++taken together, effectively do not restrict modification of the ++portions of the Library contained in the Combined Work and reverse ++engineering for debugging such modifications, if you also do each of ++the following: ++ ++ a) Give prominent notice with each copy of the Combined Work that ++ the Library is used in it and that the Library and its use are ++ covered by this License. ++ ++ b) Accompany the Combined Work with a copy of the GNU GPL and this license ++ document. ++ ++ c) For a Combined Work that displays copyright notices during ++ execution, include the copyright notice for the Library among ++ these notices, as well as a reference directing the user to the ++ copies of the GNU GPL and this license document. ++ ++ d) Do one of the following: ++ ++ 0) Convey the Minimal Corresponding Source under the terms of this ++ License, and the Corresponding Application Code in a form ++ suitable for, and under terms that permit, the user to ++ recombine or relink the Application with a modified version of ++ the Linked Version to produce a modified Combined Work, in the ++ manner specified by section 6 of the GNU GPL for conveying ++ Corresponding Source. ++ ++ 1) Use a suitable shared library mechanism for linking with the ++ Library. A suitable mechanism is one that (a) uses at run time ++ a copy of the Library already present on the user's computer ++ system, and (b) will operate properly with a modified version ++ of the Library that is interface-compatible with the Linked ++ Version. ++ ++ e) Provide Installation Information, but only if you would otherwise ++ be required to provide such information under section 6 of the ++ GNU GPL, and only to the extent that such information is ++ necessary to install and execute a modified version of the ++ Combined Work produced by recombining or relinking the ++ Application with a modified version of the Linked Version. (If ++ you use option 4d0, the Installation Information must accompany ++ the Minimal Corresponding Source and Corresponding Application ++ Code. If you use option 4d1, you must provide the Installation ++ Information in the manner specified by section 6 of the GNU GPL ++ for conveying Corresponding Source.) ++ ++ 5. Combined Libraries. ++ ++ You may place library facilities that are a work based on the ++Library side by side in a single library together with other library ++facilities that are not Applications and are not covered by this ++License, and convey such a combined library under terms of your ++choice, if you do both of the following: ++ ++ a) Accompany the combined library with a copy of the same work based ++ on the Library, uncombined with any other library facilities, ++ conveyed under the terms of this License. ++ ++ b) Give prominent notice with the combined library that part of it ++ is a work based on the Library, and explaining where to find the ++ accompanying uncombined form of the same work. ++ ++ 6. Revised Versions of the GNU Lesser General Public License. ++ ++ The Free Software Foundation may publish revised and/or new versions ++of the GNU Lesser General Public License from time to time. Such new ++versions will be similar in spirit to the present version, but may ++differ in detail to address new problems or concerns. ++ ++ Each version is given a distinguishing version number. If the ++Library as you received it specifies that a certain numbered version ++of the GNU Lesser General Public License "or any later version" ++applies to it, you have the option of following the terms and ++conditions either of that published version or of any later version ++published by the Free Software Foundation. If the Library as you ++received it does not specify a version number of the GNU Lesser ++General Public License, you may choose any version of the GNU Lesser ++General Public License ever published by the Free Software Foundation. ++ ++ If the Library as you received it specifies that a proxy can decide ++whether future versions of the GNU Lesser General Public License shall ++apply, that proxy's public statement of acceptance of any version is ++permanent authorization for you to choose that version for the ++Library. +diff --git a/man/kylin-virtual-keyboard-xwayland.1 b/man/kylin-virtual-keyboard-xwayland.1 +new file mode 100644 +index 0000000..6c6c36b +--- /dev/null ++++ b/man/kylin-virtual-keyboard-xwayland.1 +@@ -0,0 +1,14 @@ ++.\" Man Page for kylin-virtual-keyboard-xwayland ++.TH kylin-virtual-keyboard-xwayland 1 "26 July 2023" ++.SH "NAME" ++kylin-virtual-keyboard-xwayland \- The virtual keyboard based on fcitx5. ++.SH "SYNOPSIS" ++.B kylin-virtual-keyboard-xwayland ++.SH "DESCRIPTION" ++Start Virtual keyboard in different Desktop environment. ++.SH "BUGS" ++.SS Should you encounter any bugs, they may be reported at: ++https://gitee.com/openkylin/kylin-virtual-keyboard/issues ++.SH "AUTHORS" ++.SS This Manual Page has been written for the InputMethod team by: ++hanteng (2023) +\ No newline at end of file +diff --git a/man/kylin-virtual-keyboard.1 b/man/kylin-virtual-keyboard.1 +new file mode 100644 +index 0000000..7665c1c +--- /dev/null ++++ b/man/kylin-virtual-keyboard.1 +@@ -0,0 +1,14 @@ ++.\" Man Page for kylin-virtual-keyboard ++.TH kylin-virtual-keyboard 1 "26 July 2023" ++.SH "NAME" ++kylin-virtual-keyboard \- The virtual keyboard based on fcitx5. ++.SH "SYNOPSIS" ++.B kylin-virtual-keyboard ++.SH "DESCRIPTION" ++The virtual keyboard based on fcitx5. ++.SH "BUGS" ++.SS Should you encounter any bugs, they may be reported at: ++https://gitee.com/openkylin/kylin-virtual-keyboard/issues ++.SH "AUTHORS" ++.SS This Manual Page has been written for the InputMethod team by: ++hanteng (2023) +\ No newline at end of file +diff --git a/qml/CandidateList.qml b/qml/CandidateList.qml +index 110d2ad..1ad85bf 100644 +--- a/qml/CandidateList.qml ++++ b/qml/CandidateList.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import QtQuick.Controls 2.0 + +@@ -7,7 +24,7 @@ Rectangle { + color: virtualKeyboard.virtualKeyboardColor + visible: !virtualKeyboard.isToolbarVisible + +- Rectangle{ ++ Rectangle { + id: candidateListRectangle + width: virtualKeyboard.candidateListWidth + height: virtualKeyboard.toolAndCandidateHeight - virtualKeyboard.cardinalNumber +@@ -30,18 +47,18 @@ Rectangle { + id: candidate + text: modelData + color: ListView.isCurrentItem +- ? virtualKeyboard.candidateHighlightColor +- : virtualKeyboard.candidateDefaultColor ++ ? virtualKeyboard.candidateHighlightColor ++ : virtualKeyboard.candidateDefaultColor + font.pointSize: virtualKeyboard.candidateFontSize + // TODO(litian): 使用更好的方式使候选词居中 + /*设置居中,设置anchors.verticalCenter: parent.verticalCenter会报错 +- TypeError: Cannot read property 'verticalCenter' of null, 因此手动计算居中位置*/ ++ TypeError: Cannot read property 'verticalCenter' of null, 因此手动计算居中位置*/ + y: (candidateListRectangle.height - height)/2 + MouseArea { + anchors.fill: parent + onClicked: { + virtualKeyboard.selectCandidate(index) +- console.debug("点击了",index,modelData) ++ console.debug("点击了", index, modelData) + } + } + } +diff --git a/qml/ClassicKeyboardLayout.qml b/qml/ClassicKeyboardLayout.qml +index d6bf5cd..8c04c05 100644 +--- a/qml/ClassicKeyboardLayout.qml ++++ b/qml/ClassicKeyboardLayout.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "key/" + +@@ -9,93 +26,93 @@ Column { + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing +- ActionKey{ label: "Esc" ;height: virtualKeyboard.keyHeight * 3/4} +- FnSymbolKey{ label: "`"; shiftedText: "~"; fnValue:"~" } +- FnSymbolKey{ label: "1"; shiftedText: "!"; fnValue:"F1" } +- FnSymbolKey{ label: "2"; shiftedText: "@"; fnValue:"F2" } +- FnSymbolKey{ label: "3"; shiftedText: "#"; fnValue:"F3" } +- FnSymbolKey{ label: "4"; shiftedText: "$"; fnValue:"F4" } +- FnSymbolKey{ label: "5"; shiftedText: "%"; fnValue:"F5" } +- FnSymbolKey{ label: "6"; shiftedText: "^"; fnValue:"F6" } +- FnSymbolKey{ label: "7"; shiftedText: "&"; fnValue:"F7" } +- FnSymbolKey{ label: "8"; shiftedText: "*"; fnValue:"F8" } +- FnSymbolKey{ label: "9"; shiftedText: "("; fnValue:"F9" } +- FnSymbolKey{ label: "0"; shiftedText: ")"; fnValue:"F10" } +- FnSymbolKey{ label: "-"; shiftedText: "_"; fnValue:"F11" } +- FnSymbolKey{ label: "="; shiftedText: "+"; fnValue:"F12" } +- BackspaceKey{} ++ ActionKey { label: "Esc" ;height: virtualKeyboard.keyHeight * 3/4} ++ FnSymbolKey { label: "`"; shiftedText: "~"; fnValue:"~" } ++ FnSymbolKey { label: "1"; shiftedText: "!"; fnValue:"F1" } ++ FnSymbolKey { label: "2"; shiftedText: "@"; fnValue:"F2" } ++ FnSymbolKey { label: "3"; shiftedText: "#"; fnValue:"F3" } ++ FnSymbolKey { label: "4"; shiftedText: "$"; fnValue:"F4" } ++ FnSymbolKey { label: "5"; shiftedText: "%"; fnValue:"F5" } ++ FnSymbolKey { label: "6"; shiftedText: "^"; fnValue:"F6" } ++ FnSymbolKey { label: "7"; shiftedText: "&"; fnValue:"F7" } ++ FnSymbolKey { label: "8"; shiftedText: "*"; fnValue:"F8" } ++ FnSymbolKey { label: "9"; shiftedText: "("; fnValue:"F9" } ++ FnSymbolKey { label: "0"; shiftedText: ")"; fnValue:"F10" } ++ FnSymbolKey { label: "-"; shiftedText: "_"; fnValue:"F11" } ++ FnSymbolKey { label: "="; shiftedText: "+"; fnValue:"F12" } ++ BackspaceKey {} + } + + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing +- ActionKey{ label: "Tab"; width: virtualKeyboard.keyWidth*1.5 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } +- LetterKey{ label: "q"; shiftedText: "Q" } +- LetterKey{ label: "w"; shiftedText: "W" } +- LetterKey{ label: "e"; shiftedText: "E" } +- LetterKey{ label: "r"; shiftedText: "R" } +- LetterKey{ label: "t"; shiftedText: "T" } +- LetterKey{ label: "y"; shiftedText: "Y" } +- LetterKey{ label: "u"; shiftedText: "U" } +- LetterKey{ label: "i"; shiftedText: "I" } +- LetterKey{ label: "o"; shiftedText: "O" } +- LetterKey{ label: "p"; shiftedText: "P" } +- SymbolKey{ label: "["; shiftedText: "{" } +- SymbolKey{ label: "]"; shiftedText: "}" } +- SymbolKey{ label: "\\"; shiftedText: "|" } +- ActionKey{ label: "Del" } ++ ActionKey { label: "Tab"; width: virtualKeyboard.keyWidth*1.5 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } ++ LetterKey { label: "q"; shiftedText: "Q" } ++ LetterKey { label: "w"; shiftedText: "W" } ++ LetterKey { label: "e"; shiftedText: "E" } ++ LetterKey { label: "r"; shiftedText: "R" } ++ LetterKey { label: "t"; shiftedText: "T" } ++ LetterKey { label: "y"; shiftedText: "Y" } ++ LetterKey { label: "u"; shiftedText: "U" } ++ LetterKey { label: "i"; shiftedText: "I" } ++ LetterKey { label: "o"; shiftedText: "O" } ++ LetterKey { label: "p"; shiftedText: "P" } ++ SymbolKey { label: "["; shiftedText: "{" } ++ SymbolKey { label: "]"; shiftedText: "}" } ++ SymbolKey { label: "\\"; shiftedText: "|" } ++ ActionKey { label: "Del" } + } + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing + +- CapslockKey{width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } +- LetterKey{ label: "a"; shiftedText: "A" } +- LetterKey{ label: "s"; shiftedText: "S" } +- LetterKey{ label: "d"; shiftedText: "D" } +- LetterKey{ label: "f"; shiftedText: "F" } +- LetterKey{ label: "g"; shiftedText: "G" } +- LetterKey{ label: "h"; shiftedText: "H" } +- LetterKey{ label: "j"; shiftedText: "J" } +- LetterKey{ label: "k"; shiftedText: "K" } +- LetterKey{ label: "l"; shiftedText: "L" } +- SymbolKey{ label: ";"; shiftedText: ":" } +- SymbolKey{ label: "'"; shiftedText: "\"" } +- EnterKey{} ++ CapslockKey {width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } ++ LetterKey { label: "a"; shiftedText: "A" } ++ LetterKey { label: "s"; shiftedText: "S" } ++ LetterKey { label: "d"; shiftedText: "D" } ++ LetterKey { label: "f"; shiftedText: "F" } ++ LetterKey { label: "g"; shiftedText: "G" } ++ LetterKey { label: "h"; shiftedText: "H" } ++ LetterKey { label: "j"; shiftedText: "J" } ++ LetterKey { label: "k"; shiftedText: "K" } ++ LetterKey { label: "l"; shiftedText: "L" } ++ SymbolKey { label: ";"; shiftedText: ":" } ++ SymbolKey { label: "'"; shiftedText: "\"" } ++ EnterKey {} + + } + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing +- ShiftKey{width: virtualKeyboard.keyWidth*2.5 + virtualKeyboard.keySpacing*2; alignment: Text.AlignLeft } +- LetterKey{ label: "z" ; shiftedText: "Z" } +- LetterKey{ label: "x" ; shiftedText: "X" } +- LetterKey{ label: "c" ; shiftedText: "C" } +- LetterKey{ label: "v" ; shiftedText: "V" } +- LetterKey{ label: "b" ; shiftedText: "B" } +- LetterKey{ label: "n" ; shiftedText: "N" } +- LetterKey{ label: "m" ; shiftedText: "M" } +- SymbolKey{ label: ","; shiftedText: "<" } +- SymbolKey{ label: "."; shiftedText: ">" } +- SymbolKey{ label: "/"; shiftedText: "?" } +- ActionKey{ label: "up"; actionKeyImgPath: "qrc:/img/up.svg" } +- ShiftKey{ width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignRight } ++ ShiftKey {width: virtualKeyboard.keyWidth*2.5 + virtualKeyboard.keySpacing*2; alignment: Text.AlignLeft } ++ LetterKey { label: "z" ; shiftedText: "Z" } ++ LetterKey { label: "x" ; shiftedText: "X" } ++ LetterKey { label: "c" ; shiftedText: "C" } ++ LetterKey { label: "v" ; shiftedText: "V" } ++ LetterKey { label: "b" ; shiftedText: "B" } ++ LetterKey { label: "n" ; shiftedText: "N" } ++ LetterKey { label: "m" ; shiftedText: "M" } ++ SymbolKey { label: ", "; shiftedText: "<" } ++ SymbolKey { label: "."; shiftedText: ">" } ++ SymbolKey { label: "/"; shiftedText: "?" } ++ ActionKey { label: "up"; actionKeyImgPath: "qrc:/img/up.svg" } ++ ShiftKey { width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignRight } + } + Row { + anchors.horizontalCenter: parent.horizontalCenter + spacing: virtualKeyboard.keySpacing +- CtrlKey{} +- FnKey{} ++ CtrlKey {} ++ FnKey {} + //暂时删除win键 +-// WinKey{} +- AltKey{} +- ChangeImKey{} +- SpaceKey{} +- AltKey{} +- ActionKey{ label: "left"; actionKeyImgPath: "qrc:/img/left.svg" } +- ActionKey{ label: "down"; actionKeyImgPath: "qrc:/img/down.svg" } +- ActionKey{ label: "right"; actionKeyImgPath: "qrc:/img/right.svg" } +- CtrlKey{} ++ // WinKey {} ++ AltKey {} ++ ChangeImKey {} ++ SpaceKey {} ++ AltKey {} ++ ActionKey { label: "left"; actionKeyImgPath: "qrc:/img/left.svg" } ++ ActionKey { label: "down"; actionKeyImgPath: "qrc:/img/down.svg" } ++ ActionKey { label: "right"; actionKeyImgPath: "qrc:/img/right.svg" } ++ CtrlKey {} + } + } + +diff --git a/qml/DragBar.qml b/qml/DragBar.qml +index 1ec07ca..be3e2fc 100644 +--- a/qml/DragBar.qml ++++ b/qml/DragBar.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + Rectangle { +@@ -8,47 +25,47 @@ Rectangle { + radius: virtualKeyboard.virtualKeyboardFloatPlacementRadius + + property int startX: 0; +- property int startY: 0; +- +- MouseArea { +- anchors.fill: parent +- onPressed: { +- startX = mouseX +- startY = mouseY +- } +- onPositionChanged: { +- virtualKeyboard.moveBy(mouseX - startX, mouseY - startY) +- } ++ property int startY: 0; + +- onReleased: { +- virtualKeyboard.endDrag() +- } +- } +- +- Rectangle { +- id: dragBarIndicator +- anchors.centerIn: parent +- width: virtualKeyboard.dragBarIndicatorWidth +- height: virtualKeyboard.dragBarIndicatorHeight +- color: virtualKeyboard.dragBarIndicatorColor +- radius: virtualKeyboard.dragBarIndicatorRadius +- } ++ MouseArea { ++ anchors.fill: parent ++ onPressed: { ++ startX = mouseX ++ startY = mouseY ++ } ++ onPositionChanged: { ++ virtualKeyboard.moveBy(mouseX - startX, mouseY - startY) ++ } + +- state: virtualKeyboard.placementMode +- states: [ +- State { +- name: "EXPANSION" +- PropertyChanges { +- target: dragBar +- visible: false ++ onReleased: { ++ virtualKeyboard.endDrag() ++ } + } +- }, +- State { +- name: "FLOAT" +- PropertyChanges { +- target: dragBar +- visible: true ++ ++ Rectangle { ++ id: dragBarIndicator ++ anchors.centerIn: parent ++ width: virtualKeyboard.dragBarIndicatorWidth ++ height: virtualKeyboard.dragBarIndicatorHeight ++ color: virtualKeyboard.dragBarIndicatorColor ++ radius: virtualKeyboard.dragBarIndicatorRadius + } ++ ++ state: virtualKeyboard.placementMode ++ states: [ ++ State { ++ name: "EXPANSION" ++ PropertyChanges { ++ target: dragBar ++ visible: false ++ } ++ }, ++ State { ++ name: "FLOAT" ++ PropertyChanges { ++ target: dragBar ++ visible: true ++ } ++ } ++ ] + } +- ] +-} +diff --git a/qml/HideButton.qml b/qml/HideButton.qml +index dcd4c53..8e155b6 100644 +--- a/qml/HideButton.qml ++++ b/qml/HideButton.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import QtQuick.Controls 2.0 + +diff --git a/qml/KeyboardLayoutArea.qml b/qml/KeyboardLayoutArea.qml +index 5c561a7..1075c33 100644 +--- a/qml/KeyboardLayoutArea.qml ++++ b/qml/KeyboardLayoutArea.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import QtQuick.Window 2.0 + +@@ -8,5 +25,5 @@ Rectangle { + anchors.topMargin: keySpacing * 2 + color: virtualKeyboard.virtualKeyboardColor + +- ClassicKeyboardLayout{} ++ ClassicKeyboardLayout {} + } +diff --git a/qml/PlacementModeButton.qml b/qml/PlacementModeButton.qml +index f94af42..8bed5cf 100644 +--- a/qml/PlacementModeButton.qml ++++ b/qml/PlacementModeButton.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + Rectangle { +diff --git a/qml/Preedit.qml b/qml/Preedit.qml +index cae8a77..d59493e 100644 +--- a/qml/Preedit.qml ++++ b/qml/Preedit.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import QtQuick.Controls 2.0 + +diff --git a/qml/ToolArea.qml b/qml/ToolArea.qml +index 5905b87..e79e712 100644 +--- a/qml/ToolArea.qml ++++ b/qml/ToolArea.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + Rectangle { +diff --git a/qml/Toolbar.qml b/qml/Toolbar.qml +index 5625265..39b7520 100644 +--- a/qml/Toolbar.qml ++++ b/qml/Toolbar.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + Rectangle { +@@ -6,8 +23,8 @@ Rectangle { + visible: virtualKeyboard.isToolbarVisible + color: virtualKeyboard.virtualKeyboardColor + +- HideButton{id: hideButton} +- PlacementModeButton{ ++ HideButton {id: hideButton} ++ PlacementModeButton { + alignmentRight: hideButton + } + } +diff --git a/qml/ToolbarAndCandidateArea.qml b/qml/ToolbarAndCandidateArea.qml +index b118dbb..3068ad4 100644 +--- a/qml/ToolbarAndCandidateArea.qml ++++ b/qml/ToolbarAndCandidateArea.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + Rectangle { +@@ -5,6 +22,6 @@ Rectangle { + height: virtualKeyboard.toolAndCandidateHeight + anchors.top: preedit.bottom + color: virtualKeyboard.virtualKeyboardColor +- Toolbar{} +- CandidateList{} ++ Toolbar {} ++ CandidateList {} + } +diff --git a/qml/VirtualKeyboard.qml b/qml/VirtualKeyboard.qml +index 3ab9702..c897494 100644 +--- a/qml/VirtualKeyboard.qml ++++ b/qml/VirtualKeyboard.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "js/utils.js" as Utils + import QtQuick.Window 2.0 +@@ -13,243 +30,256 @@ Rectangle { + //候选词 + property var candidateList + //候选列表高亮候选的索引 +- property int globalCursorIndex : -1 +- //可用输入法列表 +- property var currentIMList : model.currentIMList +- //当前输入法名称 +- property string uniqueName : model.uniqueName +- //当前输入法,组成为"uniqueName|localName|label" +- //TOOD 目前以“|”分割数据 +- property string currentIM: "||" +- +- //大小相关 +- /*设置默认值,防止报错,fontSize为0时会报错,加载qml文件时height为0,会导致fontSize为0*/ +- property real cardinalNumber: height == 0 ? 8 : height/(placementMode === "EXPANSION" ? 64.0 : 68.5) +- property int dragBarHeight: cardinalNumber * 4.5 +- property int preeditHeight: cardinalNumber * 5 +- property int toolAndCandidateHeight: cardinalNumber * 8 +- property int keyboardLayoutHeight: cardinalNumber * 49 +- property int keySpacing: cardinalNumber +- property int keyWidth: (width - 5*cardinalNumber) * 2/31 - cardinalNumber +- /*暂时删除win键,将空格键长度从keyWidth * 5.5 + keySpacing * 5修改为keyWidth * 6.5 + keySpacing * 6*/ +- property int spaceKeyWidth: keyWidth * 6.5 + keySpacing * 6 +- property int keyHeight: cardinalNumber * 9 +- property int firstRowKeyHeight: keyHeight * 7/9 +- property int keyLableAlignment: keyWidth / 3 +- property int keyIconAlignment: keyWidth / 3 +- property int virtualKeyboardAvailableHeight: placementMode === "EXPANSION" ? virtualKeyboard.height +- : virtualKeyboard.height - dragBar.height +- property int imListItemHeight: virtualKeyboardAvailableHeight * 1/10 +- property int imListItemWidth: virtualKeyboardAvailableHeight * 5/13 +- property real fontSize: keyHeight * 6/11 * 7/12 +- property real shiftFontSize: fontSize / 2 +- property real switchKeyFontSize: fontSize * 3/4 +- property real fnSymbolKeyFontSize: fontSize * 3/4 +- property real actionKeyFontSize: fontSize * 3/4 +- property real preeditTextFontSize: fontSize * 3/4 +- property real candidateFontSize: fontSize * 3/4 +- property real imListFontSize: fontSize * 3/4 +- property int preeditX: cardinalNumber * 3.5 +- property int candidateListWidth: width - 7*cardinalNumber +- property int toolbarSize: cardinalNumber * 3 +- property int candidateListX: cardinalNumber * 2 +- property int candidateListSpacing: cardinalNumber * 3 +- property int keyRadius: cardinalNumber +- property int longPressInterval: 1000 +- property int shiftLeftMargin: cardinalNumber +- property int shiftTopMargin: cardinalNumber/2 +- property int imLeftMargin: cardinalNumber +- property int dropShadowVerticalOffset: cardinalNumber/4 +- property int dragBarIndicatorWidth: cardinalNumber * 7 +- property int dragBarIndicatorHeight: cardinalNumber/2 +- +- //颜色相关 +- property color virtualKeyboardColor: "#EBEDEF" /*虚拟键盘背景色*/ +- property color charKeyNormalColor: "#FFFFFF" /*字符按键默认态颜色*/ +- property color charKeyPressedColor: "#DDE0E4" /*字符按键按下态颜色*/ +- property color charKeyHoverColor: "#EDF1F5" /*字符按键悬浮态颜色*/ +- property color charKeyDropShadowColor: "#95A0AD" /*字符按键偏移色*/ +- +- property color actionKeyNormalColor: "#CED3D9" /*动作按键默认态*/ +- property color actionKeyPressedColor: "#A5ACB5" /*动作按键按下态*/ +- property color actionKeyHoverColor:"#C0C6CE" /*动作按键悬浮态*/ +- +- property color switchKeyNormalColor: "#CED3D9" /*开关按键默认态*/ +- property color switchKeyPressedColor: "#A5ACB5" /*开关按键按下态*/ +- property color switchKeyOpenColor: "#3690F8" /*开关按键开启态*/ +- property color switchKeyOpenPressedColor: "#2C73C6" /*开关按键开启_按下态*/ +- property color switchKeyHoverNormalColor: "#C0C6CE" /*开关按键默认hover态*/ +- property color switchKeyHoverOpenColor: "#328AF0" /*开关按键按下hover态*/ +- property color switchKeyNormalDropShadowColor: "#95A0AD" /*开关按键默认偏移色*/ +- property color switchKeyOpenDropShadowColor: "#1174E5" /*开关按键开启偏移色*/ +- property color switchKeyOpenPressedDropShadowColor: "#165FB3" /*开关按键开启_按下偏移色*/ +- +- property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ +- property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ +- property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ +- property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ +- property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ +- property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ +- +- //圆角相关 +- property int virtualKeyboardFloatPlacementRadius: 16 +- property int dragBarIndicatorRadius: 2 +- +- //状态相关 +- property string letterState: "NORMAL" +- property string symbolState: "NORMAL" +- property string fnSymbolState: "NORMAL" +- property string capslockState: "NORMAL" +- property string shiftState: "NORMAL" +- property string altState: "NORMAL" +- property string ctrlState: "NORMAL" +- property string winState: "NORMAL" +- property string changeIMState: "NORMAL" +- property string switchLayoutButtonState: "NORMAL" +- property string placementMode: "EXPANSION" +- +- //可见性相关 +- property bool isToolbarVisible: true +- property bool isToolAreaVisible: false +- property bool isKeyBoardLayoutVisible: true +- property bool isAllLayoutListVisible: false +- property string layout: "classic" +- property bool isCurrentIMListVisible: false +- +- //内部使用 +- signal showToolbar() +- signal showCandidateList() +- signal charKeyClicked() +- signal shiftClicked() +- signal altClicked() +- signal ctrlClicked() +- signal winClicked() +- +- //后台发送给前台的信号 +- signal qmlUpdatePreedit(string preeditText) +- signal qmlUpdateCandidateList(var candidateList, int globalCursorIndex) +- signal qmlImDeactivated() +- signal qmlEnterExpansionPlacementMode() +- signal qmlEnterFloatPlacementMode() +- +- function processKeyEvent(key, keycode, modifierKeyStates, +- isRelease, time) { +- model.processKeyEvent(key, keycode, modifierKeyStates, isRelease, time) +- } +- +- function selectCandidate(index) { +- model.selectCandidate(index) +- } +- +- function setCurrentIM(imName) { +- model.setCurrentIM(imName) +- } +- +- function hideVirtualKeyboard() { +- manager.hide() +- } +- +- function flipPlacementMode() { +- manager.flipPlacementMode() +- } +- +- function moveBy(offsetX, offsetY) { +- manager.moveBy(offsetX, offsetY) +- } +- +- function endDrag() { +- manager.endDrag() +- } +- +- Connections { +- target: virtualKeyboard +- onShowToolbar: { +- isToolbarVisible = true +- } +- onShowCandidateList: { +- isToolbarVisible = false +- } +- onQmlUpdatePreedit: (preeditText) => { +- virtualKeyboard.preeditText = preeditText +- } +- onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { +- if(candidateList.length === 0) { +- showToolbar() +- } else { +- virtualKeyboard.candidateList = candidateList +- virtualKeyboard.globalCursorIndex = globalCursorIndex +- showCandidateList() +- } +- } +- onQmlEnterExpansionPlacementMode: { +- virtualKeyboard.placementMode = "EXPANSION" +- } +- onQmlEnterFloatPlacementMode: { +- virtualKeyboard.placementMode = "FLOAT" +- } +- } +- +- Component.onCompleted: { +- charKeyClicked.connect(onCharKeyClicked) +- shiftClicked.connect(onShiftClicked) +- ctrlClicked.connect(onCtrlClicked) +- altClicked.connect(onAltClicked) +- winClicked.connect(onWinClicked) +- } +- +- function onCharKeyClicked() { +- shiftState = "NORMAL" +- ctrlState = "NORMAL" +- altState = "NORMAL" +- winState = "NORMAL" +- } +- +- function onShiftClicked() { +- ctrlState = "NORMAL" +- altState = "NORMAL" +- winState = "NORMAL" +- } +- +- function onCtrlClicked() { +- shiftState = "NORMAL" +- altState = "NORMAL" +- winState = "NORMAL" +- } +- +- function onAltClicked() { +- shiftState = "NORMAL" +- ctrlState = "NORMAL" +- winState = "NORMAL" +- } +- +- function onWinClicked() { +- shiftState = "NORMAL" +- altState = "NORMAL" +- ctrlState = "NORMAL" +- } +- +- onUniqueNameChanged: { +- for(var i = 0; i { ++ virtualKeyboard.preeditText = preeditText ++ } ++ onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { ++ if (candidateList.length === 0) ++ { ++ showToolbar() ++ } else { ++ virtualKeyboard.candidateList = candidateList ++ virtualKeyboard.globalCursorIndex = globalCursorIndex ++ showCandidateList() ++ } ++ } ++ onQmlEnterExpansionPlacementMode: { ++ virtualKeyboard.placementMode = "EXPANSION" ++ } ++ onQmlEnterFloatPlacementMode: { ++ virtualKeyboard.placementMode = "FLOAT" ++ } ++ } ++ ++ Component.onCompleted: { ++ charKeyClicked.connect(onCharKeyClicked) ++ shiftClicked.connect(onShiftClicked) ++ ctrlClicked.connect(onCtrlClicked) ++ altClicked.connect(onAltClicked) ++ winClicked.connect(onWinClicked) ++ } ++ ++ function onCharKeyClicked() ++ { ++ shiftState = "NORMAL" ++ ctrlState = "NORMAL" ++ altState = "NORMAL" ++ winState = "NORMAL" ++ } ++ ++ function onShiftClicked() ++ { ++ ctrlState = "NORMAL" ++ altState = "NORMAL" ++ winState = "NORMAL" ++ } ++ ++ function onCtrlClicked() ++ { ++ shiftState = "NORMAL" ++ altState = "NORMAL" ++ winState = "NORMAL" ++ } ++ ++ function onAltClicked() ++ { ++ shiftState = "NORMAL" ++ ctrlState = "NORMAL" ++ winState = "NORMAL" ++ } ++ ++ function onWinClicked() ++ { ++ shiftState = "NORMAL" ++ altState = "NORMAL" ++ ctrlState = "NORMAL" ++ } ++ ++ onUniqueNameChanged: { ++ for (var i = 0; i. ++ */ ++ ++function getKeySym(keyName) { + var keySymList = { + "shift": 1, + "caps": 2, +@@ -9,17 +26,17 @@ function getKeySym(keyName){ + return keySymList[keyName.toLowerCase()] + } + +-function getModifierKeyStates(){ ++function getModifierKeyStates() { + var result = 0 +- result += shiftState=="NORMAL" ? 0 : getKeySym("shift") +- result += capslockState=="NORMAL" ? 0 : getKeySym("caps") +- result += ctrlState=="NORMAL" ? 0 : getKeySym("ctrl") +- result += altState=="NORMAL"? 0 : getKeySym("alt") +- result += winState=="NORMAL"? 0 : getKeySym("win") ++ result += shiftState == "NORMAL" ? 0 : getKeySym("shift") ++ result += capslockState == "NORMAL" ? 0 : getKeySym("caps") ++ result += ctrlState == "NORMAL" ? 0 : getKeySym("ctrl") ++ result += altState == "NORMAL" ? 0 : getKeySym("alt") ++ result += winState == "NORMAL" ? 0 : getKeySym("win") + return result + } + +-function getKeyCode(keyName){ ++function getKeyCode(keyName) { + var keyCodeList = { + "esc": 0xff1b, + "tab": 0xff09, +@@ -49,9 +66,9 @@ function getKeyCode(keyName){ + "f11": 0xffc8, + "f12": 0xffc9 + } +- if(keyCodeList.hasOwnProperty(keyName.toLowerCase())){ ++ if (keyCodeList.hasOwnProperty(keyName.toLowerCase())) { + return keyCodeList[keyName.toLowerCase()] +- }else{ ++ } else { + return keyName[0].charCodeAt(0) + } + } +diff --git a/qml/key/ActionKey.qml b/qml/key/ActionKey.qml +index f02f70f..4abd6d8 100755 +--- a/qml/key/ActionKey.qml ++++ b/qml/key/ActionKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + CharKey { +@@ -10,12 +27,12 @@ CharKey { + property string actionKeyImgPath + keyLabel.visible: actionKeyImgPath == "" + +- Loader{ ++ Loader { + width: virtualKeyboard.toolbarSize + height: virtualKeyboard.toolbarSize + anchors.verticalCenter: parent.verticalCenter + sourceComponent: actionKeyImgPath == "" ? undefined : actionKeyComponent +- anchors{ ++ anchors { + horizontalCenter: alignment == Text.AlignHCenter ? parent.horizontalCenter : undefined + right: alignment == Text.AlignRight ? parent.right : undefined + rightMargin: alignment == Text.AlignRight ? virtualKeyboard.keyIconAlignment : undefined +@@ -24,7 +41,7 @@ CharKey { + } + } + +- Component{ ++ Component { + id: actionKeyComponent + Image { + source: actionKeyImgPath +diff --git a/qml/key/AltKey.qml b/qml/key/AltKey.qml +index e8b2137..c336449 100755 +--- a/qml/key/AltKey.qml ++++ b/qml/key/AltKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "../js/utils.js" as Utils + +@@ -16,7 +33,8 @@ TemporarySwitchKey { + temporarySwitchKeyClicked.connect(virtualKeyboard.altClicked) + } + +- function updateAltState(altState) { ++ function updateAltState(altState) ++ { + virtualKeyboard.altState = altState + } + +diff --git a/qml/key/BackspaceKey.qml b/qml/key/BackspaceKey.qml +index 34d1b61..212ab7d 100644 +--- a/qml/key/BackspaceKey.qml ++++ b/qml/key/BackspaceKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + ActionKey { +diff --git a/qml/key/BaseKey.qml b/qml/key/BaseKey.qml +index ec2c470..7d1a3cd 100755 +--- a/qml/key/BaseKey.qml ++++ b/qml/key/BaseKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import QtQuick.Controls 2.0 + import QtGraphicalEffects 1.0 +@@ -6,40 +23,40 @@ ToolButton { + width: virtualKeyboard.keyWidth + height: virtualKeyboard.keyHeight + property string label: "" +- property real fontSize: virtualKeyboard.fontSize +- property alias keyLabel: keyLabel_ +- property alias keyBackground: keyBackground_ +- property alias dropShadow: dropShadow_ +- /*label和img对应父控件的水平对齐方式 取值为AlignHCenter:居中对齐,AlignRight:向右对齐,AlignLeft:向左对齐*/ +- property int alignment: Text.AlignHCenter ++ property real fontSize: virtualKeyboard.fontSize ++ property alias keyLabel: keyLabel_ ++ property alias keyBackground: keyBackground_ ++ property alias dropShadow: dropShadow_ ++ /*label和img对应父控件的水平对齐方式 取值为AlignHCenter:居中对齐, AlignRight:向右对齐, AlignLeft:向左对齐*/ ++ property int alignment: Text.AlignHCenter + +- background: Rectangle { +- id: keyBackground_ +- radius: virtualKeyboard.keyRadius +- } ++ background: Rectangle { ++ id: keyBackground_ ++ radius: virtualKeyboard.keyRadius ++ } + +- DropShadow { +- id: dropShadow_ +- anchors.fill: parent +- verticalOffset: virtualKeyboard.dropShadowVerticalOffset +- radius: virtualKeyboard.keyRadius +- color: virtualKeyboard.charKeyDropShadowColor +- source: keyBackground +- samples: 100 +- } ++ DropShadow { ++ id: dropShadow_ ++ anchors.fill: parent ++ verticalOffset: virtualKeyboard.dropShadowVerticalOffset ++ radius: virtualKeyboard.keyRadius ++ color: virtualKeyboard.charKeyDropShadowColor ++ source: keyBackground ++ samples: 100 ++ } + + +- Label { +- id: keyLabel_ +- text: label +- color: "black" +- font.pointSize: fontSize +- font.weight: Font.Light +- anchors.fill: parent +- padding: alignment == Text.AlignHCenter ? undefined : virtualKeyboard.keyLableAlignment +- horizontalAlignment: alignment +- verticalAlignment: Text.AlignVCenter +- visible: true +- } +-} ++ Label { ++ id: keyLabel_ ++ text: label ++ color: "black" ++ font.pointSize: fontSize ++ font.weight: Font.Light ++ anchors.fill: parent ++ padding: alignment == Text.AlignHCenter ? undefined : virtualKeyboard.keyLableAlignment ++ horizontalAlignment: alignment ++ verticalAlignment: Text.AlignVCenter ++ visible: true ++ } ++ } + +diff --git a/qml/key/CapslockKey.qml b/qml/key/CapslockKey.qml +index 1e16a04..3acb3b7 100755 +--- a/qml/key/CapslockKey.qml ++++ b/qml/key/CapslockKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "../js/utils.js" as Utils + +@@ -6,40 +23,41 @@ SwitchKey { + + switchKeyState: virtualKeyboard.capslockState + keyMouseArea.onReleased: { +- if(virtualKeyboard.capslockState == "NORMAL") { ++ if (virtualKeyboard.capslockState == "NORMAL") ++ { + virtualKeyboard.capslockState = "OPEN" + } else { +- virtualKeyboard.capslockState = "NORMAL" +- } +- var modifierKeyState = Utils.getModifierKeyStates() +- virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, false, Date()) +- virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) ++ virtualKeyboard.capslockState = "NORMAL" + } ++ var modifierKeyState = Utils.getModifierKeyStates() ++ virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, false, Date()) ++ virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) ++} + +- state: virtualKeyboard.capslockState +- states: [ +- State { +- name: "NORMAL" +- PropertyChanges { +- target: virtualKeyboard +- letterState : virtualKeyboard.shiftState == "NORMAL" ? "NORMAL" : "SHIFT" +- } +- PropertyChanges { +- target: keyBackground +- state: "NORMAL" +- } +- }, +- State { +- name: "OPEN" +- PropertyChanges { +- target: virtualKeyboard +- letterState : virtualKeyboard.shiftState == "NORMAL" ? "SHIFT" : "NORMAL" +- } +- PropertyChanges { +- target: keyBackground +- state: "OPEN" +- } ++state: virtualKeyboard.capslockState ++states: [ ++ State { ++ name: "NORMAL" ++ PropertyChanges { ++ target: virtualKeyboard ++ letterState : virtualKeyboard.shiftState == "NORMAL" ? "NORMAL" : "SHIFT" ++ } ++ PropertyChanges { ++ target: keyBackground ++ state: "NORMAL" + } +- ] ++ }, ++ State { ++ name: "OPEN" ++ PropertyChanges { ++ target: virtualKeyboard ++ letterState : virtualKeyboard.shiftState == "NORMAL" ? "SHIFT" : "NORMAL" ++ } ++ PropertyChanges { ++ target: keyBackground ++ state: "OPEN" ++ } ++ } ++] + + } +diff --git a/qml/key/ChangeImKey.qml b/qml/key/ChangeImKey.qml +index 55c6109..2d645bc 100755 +--- a/qml/key/ChangeImKey.qml ++++ b/qml/key/ChangeImKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import QtQuick.Controls 2.12 + import QtQml 2.1 +@@ -6,13 +23,13 @@ import "../js/utils.js" as Utils + SwitchKey { + id: changeIm + label: virtualKeyboard.currentIM.split("|")[2] +- ++ + Binding { + target: changeIm + property: "switchKeyState" + value: virtualKeyboard.changeIMState + } +- ++ + Connections { + target: virtualKeyboard + onQmlImDeactivated: { +@@ -21,105 +38,107 @@ SwitchKey { + } + + keyMouseArea.onReleased: { +- if(virtualKeyboard.changeIMState == "NORMAL"){ ++ if (virtualKeyboard.changeIMState == "NORMAL") ++ { + virtualKeyboard.changeIMState = "OPEN" + imList.open() +- }else{ +- imList.close() +- } ++ }else { ++ imList.close() + } +- +- keyMouseArea.onPressed: { +- imList.currentIndex = +- virtualKeyboard.currentIMList.indexOf(virtualKeyboard.currentIM) ++} ++ ++keyMouseArea.onPressed: { ++ imList.currentIndex = ++ virtualKeyboard.currentIMList.indexOf(virtualKeyboard.currentIM) ++} ++ ++state: virtualKeyboard.changeIMState ++states: [ ++ State { ++ name: "NORMAL" ++ PropertyChanges { ++ target: keyBackground ++ state: "NORMAL" ++ } ++ PropertyChanges { ++ target: virtualKeyboard ++ isCurrentIMListVisible : false ++ } ++ }, ++ State { ++ name: "OPEN" ++ PropertyChanges { ++ target: keyBackground ++ state: "OPEN" ++ } ++ PropertyChanges { ++ target: virtualKeyboard ++ isCurrentIMListVisible : true ++ } + } +- +- state: virtualKeyboard.changeIMState +- states: [ +- State { +- name: "NORMAL" +- PropertyChanges { +- target: keyBackground +- state: "NORMAL" +- } +- PropertyChanges { +- target: virtualKeyboard +- isCurrentIMListVisible : false +- } +- }, +- State { +- name: "OPEN" +- PropertyChanges { +- target: keyBackground +- state: "OPEN" +- } +- PropertyChanges { +- target: virtualKeyboard +- isCurrentIMListVisible : true ++] ++ ++Rectangle { ++ id: imListRectangle ++ anchors.bottom: parent.top ++ anchors.horizontalCenter: parent.horizontalCenter ++ visible: virtualKeyboard.isCurrentIMListVisible ++ width: imList.width ++ height: imList.height ++ radius: 8 ++ Menu { ++ id: imList ++ ++ onHeightChanged: { ++ // 切换输入法列表默认显示四个条目 ++ if (imList.count > 4) ++ { ++ height = imList.itemAt(0).height * 4 + } + } +- ] +- +- Rectangle { +- id: imListRectangle +- anchors.bottom: parent.top +- anchors.horizontalCenter: parent.horizontalCenter +- visible: virtualKeyboard.isCurrentIMListVisible +- width: imList.width +- height: imList.height +- radius: 8 +- Menu { +- id: imList +- +- onHeightChanged: { +- // 切换输入法列表默认显示四个条目 +- if (imList.count > 4) { +- height = imList.itemAt(0).height * 4 ++ width: virtualKeyboard.imListItemWidth ++ modal: true ++ Overlay.modal:Rectangle { ++ color: "transparent" ++ } ++ background: Rectangle { ++ radius: imListRectangle.radius ++ width: parent.width ++ height: parent.height ++ color: "white" ++ } ++ ++ Instantiator { ++ model: virtualKeyboard.currentIMList ++ delegate: MenuItem { ++ background: Rectangle { ++ radius: imListRectangle.radius ++ color: highlighted? virtualKeyboard.currentIMColor: "white" + } +- } +- width: virtualKeyboard.imListItemWidth +- modal: true +- Overlay.modal:Rectangle { +- color: "transparent" +- } +- background: Rectangle{ +- radius: imListRectangle.radius +- width: parent.width +- height: parent.height +- color: "white" +- } +- +- Instantiator { +- model: virtualKeyboard.currentIMList +- delegate: MenuItem { +- background: Rectangle { +- radius: imListRectangle.radius +- color: highlighted? virtualKeyboard.currentIMColor: "white" +- } +- property string uniqueName: modelData.split("|")[0] +- property string localName: modelData.split("|")[1] +- property string label: modelData.split("|")[2] +- font.pointSize: virtualKeyboard.imListFontSize +- text: label.padEnd(3, " ") + localName +- width: virtualKeyboard.imListItemWidth +- height: virtualKeyboard.imListItemHeight +- MouseArea{ +- anchors.fill: parent +- onReleased: { +- virtualKeyboard.setCurrentIM(uniqueName) +- imList.close() +- } ++ property string uniqueName: modelData.split("|")[0] ++ property string localName: modelData.split("|")[1] ++ property string label: modelData.split("|")[2] ++ font.pointSize: virtualKeyboard.imListFontSize ++ text: label.padEnd(3, " ") + localName ++ width: virtualKeyboard.imListItemWidth ++ height: virtualKeyboard.imListItemHeight ++ MouseArea { ++ anchors.fill: parent ++ onReleased: { ++ virtualKeyboard.setCurrentIM(uniqueName) ++ imList.close() + } + } +- +- onObjectAdded: imList.insertItem(index, object) +- onObjectRemoved: imList.removeItem(object) +- } +- +- onClosed: { +- virtualKeyboard.changeIMState = "NORMAL" + } ++ ++ onObjectAdded: imList.insertItem(index, object) ++ onObjectRemoved: imList.removeItem(object) ++ } ++ ++ onClosed: { ++ virtualKeyboard.changeIMState = "NORMAL" + } + } +- ++} ++ + } +diff --git a/qml/key/CharKey.qml b/qml/key/CharKey.qml +index dcd68d2..6d1176b 100755 +--- a/qml/key/CharKey.qml ++++ b/qml/key/CharKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import QtQuick.Controls 2.0 + import "../js/utils.js" as Utils +@@ -5,79 +22,79 @@ import "../js/utils.js" as Utils + BaseKey { + property string shiftedText + property color normalColor: virtualKeyboard.charKeyNormalColor +- property color pressedColor: virtualKeyboard.charKeyPressedColor +- property color hoverColor: virtualKeyboard.charKeyHoverColor ++ property color pressedColor: virtualKeyboard.charKeyPressedColor ++ property color hoverColor: virtualKeyboard.charKeyHoverColor + +- MouseArea { +- id: keyMouseArea +- anchors.fill: parent +- hoverEnabled: true ++ MouseArea { ++ id: keyMouseArea ++ anchors.fill: parent ++ hoverEnabled: true + +- onReleased: { +- keyBackground.state = "NORMAL" +- timer.stop() +- var modifierKeyState = Utils.getModifierKeyStates() +- var keycode = Utils.getKeyCode(keyLabel.text) +- virtualKeyboard.processKeyEvent(keyLabel.text, keycode, modifierKeyState, false, Date()) +- charKeyClicked() +- } ++ onReleased: { ++ keyBackground.state = "NORMAL" ++ timer.stop() ++ var modifierKeyState = Utils.getModifierKeyStates() ++ var keycode = Utils.getKeyCode(keyLabel.text) ++ virtualKeyboard.processKeyEvent(keyLabel.text, keycode, modifierKeyState, false, Date()) ++ charKeyClicked() ++ } + +- onPressed: { +- keyBackground.state = "PRESSED" +- timer.start() +- } ++ onPressed: { ++ keyBackground.state = "PRESSED" ++ timer.start() ++ } + +- onEntered: { +- keyBackground.state = "HOVER" +- } ++ onEntered: { ++ keyBackground.state = "HOVER" ++ } + +- onExited: { +- keyBackground.state = "NORMAL" +- } ++ onExited: { ++ keyBackground.state = "NORMAL" ++ } + +- } ++ } + +- keyBackground.state: "NORMAL" +- keyBackground.states: [ +- State { +- name: "NORMAL" +- PropertyChanges { +- target: keyBackground +- color: normalColor +- } +- PropertyChanges { +- target: dropShadow +- verticalOffset: virtualKeyboard.dropShadowVerticalOffset +- } +- }, +- State { +- name: "PRESSED" +- PropertyChanges { +- target: keyBackground +- color: pressedColor +- } +- PropertyChanges { +- target: dropShadow +- verticalOffset: -virtualKeyboard.dropShadowVerticalOffset +- } +- }, +- State { +- name: "HOVER" +- PropertyChanges { +- target: keyBackground +- color: hoverColor +- } +- } +- ] ++ keyBackground.state: "NORMAL" ++ keyBackground.states: [ ++ State { ++ name: "NORMAL" ++ PropertyChanges { ++ target: keyBackground ++ color: normalColor ++ } ++ PropertyChanges { ++ target: dropShadow ++ verticalOffset: virtualKeyboard.dropShadowVerticalOffset ++ } ++ }, ++ State { ++ name: "PRESSED" ++ PropertyChanges { ++ target: keyBackground ++ color: pressedColor ++ } ++ PropertyChanges { ++ target: dropShadow ++ verticalOffset: -virtualKeyboard.dropShadowVerticalOffset ++ } ++ }, ++ State { ++ name: "HOVER" ++ PropertyChanges { ++ target: keyBackground ++ color: hoverColor ++ } ++ } ++ ] + + +- Timer { +- id:timer +- interval: virtualKeyboard.longPressInterval +- repeat: true +- onTriggered: { +- var modifierKeyState = Utils.getModifierKeyStates() +- virtualKeyboard.processKeyEvent(keyLabel.text, Utils.getKeyCode(keyLabel.text), modifierKeyState, false, Date()) +- } +- } +-} ++ Timer { ++ id:timer ++ interval: virtualKeyboard.longPressInterval ++ repeat: true ++ onTriggered: { ++ var modifierKeyState = Utils.getModifierKeyStates() ++ virtualKeyboard.processKeyEvent(keyLabel.text, Utils.getKeyCode(keyLabel.text), modifierKeyState, false, Date()) ++ } ++ } ++ } +diff --git a/qml/key/CtrlKey.qml b/qml/key/CtrlKey.qml +index 8e52c66..646802b 100755 +--- a/qml/key/CtrlKey.qml ++++ b/qml/key/CtrlKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "../js/utils.js" as Utils + +@@ -16,7 +33,8 @@ TemporarySwitchKey { + temporarySwitchKeyClicked.connect(virtualKeyboard.ctrlClicked) + } + +- function updateCtrlState(ctrlState) { ++ function updateCtrlState(ctrlState) ++ { + virtualKeyboard.ctrlState = ctrlState + } + +diff --git a/qml/key/EnterKey.qml b/qml/key/EnterKey.qml +index 2ded0f0..b8ecd51 100644 +--- a/qml/key/EnterKey.qml ++++ b/qml/key/EnterKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + ActionKey { +diff --git a/qml/key/FnKey.qml b/qml/key/FnKey.qml +index 1c2ce81..755a7bf 100755 +--- a/qml/key/FnKey.qml ++++ b/qml/key/FnKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "../js/utils.js" as Utils + +@@ -7,37 +24,38 @@ SwitchKey { + + switchKeyState: fn.state + keyMouseArea.onReleased: { +- if(fn.state == "NORMAL") { ++ if (fn.state == "NORMAL") ++ { + fn.state = "OPEN" + } else { +- fn.state = "NORMAL" +- } ++ fn.state = "NORMAL" + } ++} + +- state: "NORMAL" +- states: [ +- State { +- name: "NORMAL" +- PropertyChanges { +- target: virtualKeyboard +- fnSymbolState : virtualKeyboard.shiftState == "NORMAL" ? "NORAML" : "SHIFT" +- } +- PropertyChanges { +- target: keyBackground +- state: "NORMAL" +- } +- }, +- State { +- name: "OPEN" +- PropertyChanges { +- target: virtualKeyboard +- fnSymbolState : "FN" +- } +- PropertyChanges { +- target: keyBackground +- state: "OPEN" +- } ++state: "NORMAL" ++states: [ ++ State { ++ name: "NORMAL" ++ PropertyChanges { ++ target: virtualKeyboard ++ fnSymbolState : virtualKeyboard.shiftState == "NORMAL" ? "NORAML" : "SHIFT" ++ } ++ PropertyChanges { ++ target: keyBackground ++ state: "NORMAL" + } +- ] ++ }, ++ State { ++ name: "OPEN" ++ PropertyChanges { ++ target: virtualKeyboard ++ fnSymbolState : "FN" ++ } ++ PropertyChanges { ++ target: keyBackground ++ state: "OPEN" ++ } ++ } ++] + + } +diff --git a/qml/key/FnSymbolKey.qml b/qml/key/FnSymbolKey.qml +index 9bc7c8d..9af4ce9 100755 +--- a/qml/key/FnSymbolKey.qml ++++ b/qml/key/FnSymbolKey.qml +@@ -1,10 +1,27 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + SymbolKey { + height: virtualKeyboard.firstRowKeyHeight + + property string fnValue +- ++ + fontSize: virtualKeyboard.fnSymbolKeyFontSize + + state: virtualKeyboard.fnSymbolState +diff --git a/qml/key/LetterKey.qml b/qml/key/LetterKey.qml +index 526a40c..47ee3f6 100755 +--- a/qml/key/LetterKey.qml ++++ b/qml/key/LetterKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + + CharKey { +diff --git a/qml/key/ShiftKey.qml b/qml/key/ShiftKey.qml +index aa81707..54e9c1c 100755 +--- a/qml/key/ShiftKey.qml ++++ b/qml/key/ShiftKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "../js/utils.js" as Utils + +@@ -16,7 +33,8 @@ TemporarySwitchKey { + temporarySwitchKeyClicked.connect(virtualKeyboard.shiftClicked) + } + +- function updateShiftState(shiftState) { ++ function updateShiftState(shiftState) ++ { + virtualKeyboard.shiftState = shiftState + } + +diff --git a/qml/key/SpaceKey.qml b/qml/key/SpaceKey.qml +index 4f91ecd..758b011 100644 +--- a/qml/key/SpaceKey.qml ++++ b/qml/key/SpaceKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + ActionKey { + width: virtualKeyboard.spaceKeyWidth + label: "space" +diff --git a/qml/key/SwitchKey.qml b/qml/key/SwitchKey.qml +index 3a20915..b2a5452 100755 +--- a/qml/key/SwitchKey.qml ++++ b/qml/key/SwitchKey.qml +@@ -1,140 +1,161 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "../js/utils.js" as Utils + + BaseKey { + + property color normalColor: virtualKeyboard.switchKeyNormalColor +- property color pressedColor: virtualKeyboard.switchKeyPressedColor +- property color openColor: virtualKeyboard.switchKeyOpenColor +- property color openPressedColor: virtualKeyboard.switchKeyOpenPressedColor +- property color hoverNormalColor: virtualKeyboard.switchKeyHoverNormalColor +- property color hoverOpenColor: virtualKeyboard.switchKeyHoverOpenColor +- property alias keyMouseArea: keyMouseArea_ +- property string switchKeyState ++ property color pressedColor: virtualKeyboard.switchKeyPressedColor ++ property color openColor: virtualKeyboard.switchKeyOpenColor ++ property color openPressedColor: virtualKeyboard.switchKeyOpenPressedColor ++ property color hoverNormalColor: virtualKeyboard.switchKeyHoverNormalColor ++ property color hoverOpenColor: virtualKeyboard.switchKeyHoverOpenColor ++ property alias keyMouseArea: keyMouseArea_ ++ property string switchKeyState + +- fontSize: virtualKeyboard.switchKeyFontSize ++ fontSize: virtualKeyboard.switchKeyFontSize + +- Component.onCompleted: { +- charKeyClicked.connect(switchKeyNormal) +- } +- function switchKeyNormal() { +- virtualKeyboard.shiftState = "NORMAL" +- virtualKeyboard.ctrlState = "NORMAL" +- virtualKeyboard.altState = "NORMAL" +- virtualKeyboard.winState = "NORMAL" +- } ++ Component.onCompleted: { ++ charKeyClicked.connect(switchKeyNormal) ++ } ++ function switchKeyNormal() ++ { ++ virtualKeyboard.shiftState = "NORMAL" ++ virtualKeyboard.ctrlState = "NORMAL" ++ virtualKeyboard.altState = "NORMAL" ++ virtualKeyboard.winState = "NORMAL" ++ } + + +- keyBackground.state: "NORMAL" +- keyBackground.states: [ +- State { +- name: "NORMAL" +- PropertyChanges { +- target: keyBackground +- color: normalColor +- } +- PropertyChanges{ +- target: dropShadow +- verticalOffset: virtualKeyboard.dropShadowVerticalOffset +- color: virtualKeyboard.switchKeyNormalDropShadowColor +- } +- }, +- State { +- name: "PRESSED" +- PropertyChanges { +- target: keyBackground +- color: pressedColor +- } +- PropertyChanges{ +- target: dropShadow +- verticalOffset: -virtualKeyboard.dropShadowVerticalOffset +- color: virtualKeyboard.switchKeyNormalDropShadowColor +- } +- }, +- State { +- name: "OPEN" +- PropertyChanges { +- target: keyBackground +- color: openColor +- } +- PropertyChanges{ +- target: dropShadow +- verticalOffset: -virtualKeyboard.dropShadowVerticalOffset +- color: virtualKeyboard.switchKeyOpenDropShadowColor +- } +- PropertyChanges { +- target: keyLabel +- color: "white" +- } +- }, +- State { +- name: "OPEN_PRESSED" +- PropertyChanges { +- target: keyBackground +- color: openPressedColor +- } +- PropertyChanges{ +- target: dropShadow +- verticalOffset: -virtualKeyboard.dropShadowVerticalOffset +- color: virtualKeyboard.switchKeyOpenPressedDropShadowColor +- } +- PropertyChanges { +- target: keyLabel +- color: "white" +- } +- }, +- State { +- name: "HOVER_NORMAL" +- PropertyChanges { +- target: keyBackground +- color: hoverNormalColor +- } +- }, +- State { +- name: "HOVER_OPEN" +- PropertyChanges { +- target: keyBackground +- color: hoverOpenColor +- } +- PropertyChanges{ +- target: dropShadow +- verticalOffset: -virtualKeyboard.dropShadowVerticalOffset +- color: virtualKeyboard.switchKeyOpenDropShadowColor +- } +- PropertyChanges { +- target: keyLabel +- color: "white" +- } +- } +- ] ++ keyBackground.state: "NORMAL" ++ keyBackground.states: [ ++ State { ++ name: "NORMAL" ++ PropertyChanges { ++ target: keyBackground ++ color: normalColor ++ } ++ PropertyChanges { ++ target: dropShadow ++ verticalOffset: virtualKeyboard.dropShadowVerticalOffset ++ color: virtualKeyboard.switchKeyNormalDropShadowColor ++ } ++ }, ++ State { ++ name: "PRESSED" ++ PropertyChanges { ++ target: keyBackground ++ color: pressedColor ++ } ++ PropertyChanges { ++ target: dropShadow ++ verticalOffset: -virtualKeyboard.dropShadowVerticalOffset ++ color: virtualKeyboard.switchKeyNormalDropShadowColor ++ } ++ }, ++ State { ++ name: "OPEN" ++ PropertyChanges { ++ target: keyBackground ++ color: openColor ++ } ++ PropertyChanges { ++ target: dropShadow ++ verticalOffset: -virtualKeyboard.dropShadowVerticalOffset ++ color: virtualKeyboard.switchKeyOpenDropShadowColor ++ } ++ PropertyChanges { ++ target: keyLabel ++ color: "white" ++ } ++ }, ++ State { ++ name: "OPEN_PRESSED" ++ PropertyChanges { ++ target: keyBackground ++ color: openPressedColor ++ } ++ PropertyChanges { ++ target: dropShadow ++ verticalOffset: -virtualKeyboard.dropShadowVerticalOffset ++ color: virtualKeyboard.switchKeyOpenPressedDropShadowColor ++ } ++ PropertyChanges { ++ target: keyLabel ++ color: "white" ++ } ++ }, ++ State { ++ name: "HOVER_NORMAL" ++ PropertyChanges { ++ target: keyBackground ++ color: hoverNormalColor ++ } ++ }, ++ State { ++ name: "HOVER_OPEN" ++ PropertyChanges { ++ target: keyBackground ++ color: hoverOpenColor ++ } ++ PropertyChanges { ++ target: dropShadow ++ verticalOffset: -virtualKeyboard.dropShadowVerticalOffset ++ color: virtualKeyboard.switchKeyOpenDropShadowColor ++ } ++ PropertyChanges { ++ target: keyLabel ++ color: "white" ++ } ++ } ++ ] + +- MouseArea { +- id: keyMouseArea_ +- anchors.fill: parent +- hoverEnabled: true ++ MouseArea { ++ id: keyMouseArea_ ++ anchors.fill: parent ++ hoverEnabled: true + +- onPressed: { +- if(switchKeyState == "NORMAL") { +- keyBackground.state = "PRESSED" +- } else { +- keyBackground.state = "OPEN_PRESSED" +- } +- } ++ onPressed: { ++ if (switchKeyState == "NORMAL") ++ { ++ keyBackground.state = "PRESSED" ++ } else { ++ keyBackground.state = "OPEN_PRESSED" ++ } ++ } + +- onEntered: { +- if(switchKeyState == "NORMAL") { +- keyBackground.state = "HOVER_NORMAL" +- } else { +- keyBackground.state = "HOVER_OPEN" +- } +- } ++ onEntered: { ++ if (switchKeyState == "NORMAL") ++ { ++ keyBackground.state = "HOVER_NORMAL" ++ } else { ++ keyBackground.state = "HOVER_OPEN" ++ } ++ } + +- onExited: { +- if(switchKeyState == "NORMAL") { +- keyBackground.state = "NORMAL" +- } else { +- keyBackground.state = "OPEN" +- } +- } +- } +-} ++ onExited: { ++ if (switchKeyState == "NORMAL") ++ { ++ keyBackground.state = "NORMAL" ++ } else { ++ keyBackground.state = "OPEN" ++ } ++ } ++ } ++ } +diff --git a/qml/key/SymbolKey.qml b/qml/key/SymbolKey.qml +index f08b64c..44253cd 100755 +--- a/qml/key/SymbolKey.qml ++++ b/qml/key/SymbolKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import QtQuick.Controls 2.0 + +@@ -5,46 +22,46 @@ CharKey { + + property alias shiftLabel: shiftLabel_ + +- state: virtualKeyboard.symbolState ++ state: virtualKeyboard.symbolState + +- states: [ +- State { +- name: "NORMAL" +- PropertyChanges { +- target: keyLabel +- text: label +- } +- PropertyChanges { +- target:shiftLabel +- text: shiftedText +- } +- }, ++ states: [ ++ State { ++ name: "NORMAL" ++ PropertyChanges { ++ target: keyLabel ++ text: label ++ } ++ PropertyChanges { ++ target:shiftLabel ++ text: shiftedText ++ } ++ }, + +- State { +- name: "SHIFT" +- PropertyChanges { +- target: keyLabel +- text: shiftedText ++ State { ++ name: "SHIFT" ++ PropertyChanges { ++ target: keyLabel ++ text: shiftedText ++ } ++ PropertyChanges { ++ target: shiftLabel ++ text: "" ++ } + } +- PropertyChanges { +- target: shiftLabel +- text: "" +- } +- } +- ] ++ ] + +- Label { +- id: shiftLabel_ +- text: shiftedText +- color: "black" +- font.pointSize: virtualKeyboard.shiftFontSize +- font.weight: Font.Light +- anchors{ +- left: parent.left +- leftMargin: virtualKeyboard.shiftLeftMargin +- top: parent.top +- topMargin: virtualKeyboard.topLeftMargin ++ Label { ++ id: shiftLabel_ ++ text: shiftedText ++ color: "black" ++ font.pointSize: virtualKeyboard.shiftFontSize ++ font.weight: Font.Light ++ anchors { ++ left: parent.left ++ leftMargin: virtualKeyboard.shiftLeftMargin ++ top: parent.top ++ topMargin: virtualKeyboard.topLeftMargin ++ } ++ visible: true + } +- visible: true + } +-} +diff --git a/qml/key/TemporarySwitchKey.qml b/qml/key/TemporarySwitchKey.qml +index 1c3dd56..3900941 100644 +--- a/qml/key/TemporarySwitchKey.qml ++++ b/qml/key/TemporarySwitchKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "../js/utils.js" as Utils + +@@ -6,16 +23,17 @@ SwitchKey { + signal temporarySwitchKeyClicked() + + keyMouseArea.onReleased: { +- if(switchKeyState == "NORMAL") { ++ if (switchKeyState == "NORMAL") ++ { + switchKeyState = "OPEN" + } else { +- switchKeyState = "NORMAL" +- var modifierKeyState = Utils.getModifierKeyStates() +- virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState - Utils.getKeySym(label), false, Date()) +- virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) +- temporarySwitchKeyClicked() +- } +- temporarySwitchKeyReleased(switchKeyState) ++ switchKeyState = "NORMAL" ++ var modifierKeyState = Utils.getModifierKeyStates() ++ virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState - Utils.getKeySym(label), false, Date()) ++ virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) ++ temporarySwitchKeyClicked() + } ++ temporarySwitchKeyReleased(switchKeyState) ++} + + } +diff --git a/qml/key/WinKey.qml b/qml/key/WinKey.qml +index 8b93237..a649f15 100755 +--- a/qml/key/WinKey.qml ++++ b/qml/key/WinKey.qml +@@ -1,3 +1,20 @@ ++/* ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ ++ + import QtQuick 2.0 + import "../js/utils.js" as Utils + +@@ -17,7 +34,8 @@ TemporarySwitchKey { + temporarySwitchKeyClicked.connect(virtualKeyboard.winClicked) + } + +- function updateWinState(winState) { ++ function updateWinState(winState) ++ { + virtualKeyboard.winState = winState + } + +diff --git a/src/appinputareamanager.cpp b/src/appinputareamanager.cpp +index c0adef6..952ac6f 100644 +--- a/src/appinputareamanager.cpp ++++ b/src/appinputareamanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "appinputareamanager.h" + #include + +diff --git a/src/appinputareamanager.h b/src/appinputareamanager.h +index f8a6b12..f82de68 100644 +--- a/src/appinputareamanager.h ++++ b/src/appinputareamanager.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef APPINPUTAREAMANAGER_H + #define APPINPUTAREAMANAGER_H + +diff --git a/src/geometrymanager/expansiongeometrymanager.cpp b/src/geometrymanager/expansiongeometrymanager.cpp +index 50b6ac7..5f9a45f 100644 +--- a/src/geometrymanager/expansiongeometrymanager.cpp ++++ b/src/geometrymanager/expansiongeometrymanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "expansiongeometrymanager.h" + + #include "screenmanager.h" +diff --git a/src/geometrymanager/expansiongeometrymanager.h b/src/geometrymanager/expansiongeometrymanager.h +index a3f1672..7d37838 100644 +--- a/src/geometrymanager/expansiongeometrymanager.h ++++ b/src/geometrymanager/expansiongeometrymanager.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef EXPANSIONGEOMETRYMANAGER_H + #define EXPANSIONGEOMETRYMANAGER_H + +diff --git a/src/geometrymanager/floatgeometrymanager.cpp b/src/geometrymanager/floatgeometrymanager.cpp +index 4d8e30f..688cd08 100644 +--- a/src/geometrymanager/floatgeometrymanager.cpp ++++ b/src/geometrymanager/floatgeometrymanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "floatgeometrymanager.h" + + #include +diff --git a/src/geometrymanager/floatgeometrymanager.h b/src/geometrymanager/floatgeometrymanager.h +index e62e3f1..73bb1fb 100644 +--- a/src/geometrymanager/floatgeometrymanager.h ++++ b/src/geometrymanager/floatgeometrymanager.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef FLOATGEOMETRYMANAGER_H + #define FLOATGEOMETRYMANAGER_H + +diff --git a/src/geometrymanager/geometrymanager.cpp b/src/geometrymanager/geometrymanager.cpp +index c134099..e959c0a 100644 +--- a/src/geometrymanager/geometrymanager.cpp ++++ b/src/geometrymanager/geometrymanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "geometrymanager.h" + + #include "screenmanager.h" +diff --git a/src/geometrymanager/geometrymanager.h b/src/geometrymanager/geometrymanager.h +index ce3755a..8fbe8f7 100644 +--- a/src/geometrymanager/geometrymanager.h ++++ b/src/geometrymanager/geometrymanager.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef GEOMETRYMANAGER_H + #define GEOMETRYMANAGER_H + +diff --git a/src/ipc/dbusservice.cpp b/src/ipc/dbusservice.cpp +index 5e988cf..5415cfc 100644 +--- a/src/ipc/dbusservice.cpp ++++ b/src/ipc/dbusservice.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "dbusservice.h" + #include "virtualkeyboard/virtualkeyboardmanager.h" + +diff --git a/src/ipc/dbusservice.h b/src/ipc/dbusservice.h +index 54cafd4..3e773f7 100644 +--- a/src/ipc/dbusservice.h ++++ b/src/ipc/dbusservice.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef DBUSSERVICE_H + #define DBUSSERVICE_H + +diff --git a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp +index ebd3edd..a3bd1b5 100644 +--- a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp ++++ b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "fcitxvirtualkeyboardserviceproxy.h" + + // static +diff --git a/src/ipc/fcitxvirtualkeyboardserviceproxy.h b/src/ipc/fcitxvirtualkeyboardserviceproxy.h +index 0fd2082..3d46d19 100644 +--- a/src/ipc/fcitxvirtualkeyboardserviceproxy.h ++++ b/src/ipc/fcitxvirtualkeyboardserviceproxy.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef FCITXVIRTUALKEYBOARDSERVICEPROXY_H + #define FCITXVIRTUALKEYBOARDSERVICEPROXY_H + +diff --git a/src/ipc/requestmerger.cpp b/src/ipc/requestmerger.cpp +index 5181308..24c39a0 100644 +--- a/src/ipc/requestmerger.cpp ++++ b/src/ipc/requestmerger.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "requestmerger.h" + + class RequestMerger::State { +diff --git a/src/ipc/requestmerger.h b/src/ipc/requestmerger.h +index e1740ac..8780a9c 100644 +--- a/src/ipc/requestmerger.h ++++ b/src/ipc/requestmerger.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef REQUESTMERGER_H + #define REQUESTMERGER_H + +diff --git a/src/localsettings/localsettings.h b/src/localsettings/localsettings.h +index 95de9bb..6e3811e 100644 +--- a/src/localsettings/localsettings.h ++++ b/src/localsettings/localsettings.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef LOCALSETTINGS_H + #define LOCALSETTINGS_H + +diff --git a/src/localsettings/viewlocalsettings.cpp b/src/localsettings/viewlocalsettings.cpp +index 83b0840..2796982 100644 +--- a/src/localsettings/viewlocalsettings.cpp ++++ b/src/localsettings/viewlocalsettings.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "viewlocalsettings.h" + + #include +diff --git a/src/localsettings/viewlocalsettings.h b/src/localsettings/viewlocalsettings.h +index d433f2e..fbc7543 100644 +--- a/src/localsettings/viewlocalsettings.h ++++ b/src/localsettings/viewlocalsettings.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef VIEWLOCALSETTINGS_H + #define VIEWLOCALSETTINGS_H + +diff --git a/src/main.cpp b/src/main.cpp +index 2d3833e..d75aafe 100644 +--- a/src/main.cpp ++++ b/src/main.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include + #include + #include +diff --git a/src/screenmanager.cpp b/src/screenmanager.cpp +index f68c301..d2e1cbf 100644 +--- a/src/screenmanager.cpp ++++ b/src/screenmanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "screenmanager.h" + + #include +diff --git a/src/screenmanager.h b/src/screenmanager.h +index 00ed422..aeb6738 100644 +--- a/src/screenmanager.h ++++ b/src/screenmanager.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef SCREENMANAGER_H + #define SCREENMANAGER_H + +diff --git a/src/virtualkeyboard/placementmodemanager.cpp b/src/virtualkeyboard/placementmodemanager.cpp +index b680097..4e9e790 100644 +--- a/src/virtualkeyboard/placementmodemanager.cpp ++++ b/src/virtualkeyboard/placementmodemanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "placementmodemanager.h" + + #include "localsettings/localsettings.h" +diff --git a/src/virtualkeyboard/placementmodemanager.h b/src/virtualkeyboard/placementmodemanager.h +index 5a0dd33..09b8f41 100644 +--- a/src/virtualkeyboard/placementmodemanager.h ++++ b/src/virtualkeyboard/placementmodemanager.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef PLACEMENTMODEMANAGER_H + #define PLACEMENTMODEMANAGER_H + +diff --git a/src/virtualkeyboard/virtualkeyboardmanager.cpp b/src/virtualkeyboard/virtualkeyboardmanager.cpp +index 8a7ba4c..6653af1 100644 +--- a/src/virtualkeyboard/virtualkeyboardmanager.cpp ++++ b/src/virtualkeyboard/virtualkeyboardmanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "virtualkeyboardmanager.h" + + #include +diff --git a/src/virtualkeyboard/virtualkeyboardmanager.h b/src/virtualkeyboard/virtualkeyboardmanager.h +index 8365fb0..1058363 100644 +--- a/src/virtualkeyboard/virtualkeyboardmanager.h ++++ b/src/virtualkeyboard/virtualkeyboardmanager.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef VIRTUALKEYBOARDMANAGER_H + #define VIRTUALKEYBOARDMANAGER_H + +diff --git a/src/virtualkeyboard/virtualkeyboardmodel.cpp b/src/virtualkeyboard/virtualkeyboardmodel.cpp +index efadf77..a447161 100644 +--- a/src/virtualkeyboard/virtualkeyboardmodel.cpp ++++ b/src/virtualkeyboard/virtualkeyboardmodel.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "virtualkeyboardmodel.h" + + #include +diff --git a/src/virtualkeyboard/virtualkeyboardmodel.h b/src/virtualkeyboard/virtualkeyboardmodel.h +index 600ee16..75f5527 100644 +--- a/src/virtualkeyboard/virtualkeyboardmodel.h ++++ b/src/virtualkeyboard/virtualkeyboardmodel.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef VIRTUALKEYBOARDMODEL_H + #define VIRTUALKEYBOARDMODEL_H + +diff --git a/src/virtualkeyboard/virtualkeyboardstrategy.h b/src/virtualkeyboard/virtualkeyboardstrategy.h +index 54d8d12..65ae69e 100644 +--- a/src/virtualkeyboard/virtualkeyboardstrategy.h ++++ b/src/virtualkeyboard/virtualkeyboardstrategy.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef VIRTUALKEYBOARDSTRATEGY_H + #define VIRTUALKEYBOARDSTRATEGY_H + +diff --git a/src/virtualkeyboard/virtualkeyboardview.cpp b/src/virtualkeyboard/virtualkeyboardview.cpp +index 70efe62..947491a 100644 +--- a/src/virtualkeyboard/virtualkeyboardview.cpp ++++ b/src/virtualkeyboard/virtualkeyboardview.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "virtualkeyboardview.h" + + #include +diff --git a/src/virtualkeyboard/virtualkeyboardview.h b/src/virtualkeyboard/virtualkeyboardview.h +index d50d1f2..6a5c68f 100644 +--- a/src/virtualkeyboard/virtualkeyboardview.h ++++ b/src/virtualkeyboard/virtualkeyboardview.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef VIRTUALKEYBOARDVIEW_H + #define VIRTUALKEYBOARDVIEW_H + +diff --git a/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h b/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h +index 948218f..a114c56 100644 +--- a/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h ++++ b/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef FCITXVIRTUALKEYBOARDSERVICE_H + #define FCITXVIRTUALKEYBOARDSERVICE_H + +diff --git a/src/virtualkeyboardentry/floatbutton.cpp b/src/virtualkeyboardentry/floatbutton.cpp +index 8e7fd81..70175c6 100644 +--- a/src/virtualkeyboardentry/floatbutton.cpp ++++ b/src/virtualkeyboardentry/floatbutton.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "virtualkeyboardentry/floatbutton.h" + + #include +@@ -16,7 +33,6 @@ void FloatButton::move(int x, int y) { QPushButton::move(x, y); } + void FloatButton::resize(int width, int height) { + setFixedSize(width, height); + setIconSize(size()); +- updateBorderRadius(); + QPushButton::resize(width, height); + } + +@@ -98,6 +114,21 @@ void FloatButton::mouseMoveEvent(QMouseEvent *event) { + QPushButton::mouseMoveEvent(event); + } + ++void FloatButton::paintEvent(QPaintEvent *event) { ++ QPainter painter(this); ++ painter.setRenderHint(QPainter::Antialiasing); ++ painter.setBrush(QBrush(Qt::white)); ++ painter.setPen(Qt::transparent); ++ ++ QRect rect = this->rect(); ++ rect.setWidth(rect.width()); ++ rect.setHeight(rect.height()); ++ ++ painter.drawEllipse(rect); ++ ++ QPushButton::paintEvent(event); ++} ++ + void FloatButton::initStyle() { + setAttribute(Qt::WA_TranslucentBackground); + setStyleSheet("QPushButton{border-image: " +@@ -108,18 +139,6 @@ void FloatButton::initStyle() { + "url(:/floatbutton/img/floatbuttonpressed.svg);}"); + } + +-void FloatButton::updateBorderRadius() { +- int w = width(); +- int h = height(); +- QBitmap bmp(w, h); +- bmp.fill(); +- QPainter p(&bmp); +- p.setPen(Qt::NoPen); +- p.setBrush(Qt::black); +- p.drawRoundedRect(bmp.rect(), w, h); +- setMask(bmp); +-} +- + void FloatButton::startClickTimer() { + clickTimer_.reset(new QTimer()); + clickTimer_->setSingleShot(true); +diff --git a/src/virtualkeyboardentry/floatbutton.h b/src/virtualkeyboardentry/floatbutton.h +index 1530977..3ca8620 100644 +--- a/src/virtualkeyboardentry/floatbutton.h ++++ b/src/virtualkeyboardentry/floatbutton.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef FLOATBUTTON_H + #define FLOATBUTTON_H + +@@ -5,6 +22,7 @@ + #include + + #include ++#include + #include + #include + #include +@@ -31,6 +49,7 @@ protected: + void mousePressEvent(QMouseEvent *event) override; + void mouseReleaseEvent(QMouseEvent *event) override; + void mouseMoveEvent(QMouseEvent *event) override; ++ void paintEvent(QPaintEvent *event) override; + + private: + bool shouldPerformMouseClick() const; +@@ -42,7 +61,6 @@ private: + bool isFloatButtonMoved() const; + + void initStyle(); +- void updateBorderRadius(); + + void startClickTimer(); + void stopClickTimer(); +diff --git a/src/virtualkeyboardentry/floatbuttonmanager.cpp b/src/virtualkeyboardentry/floatbuttonmanager.cpp +index 5a23a6e..b25da5a 100644 +--- a/src/virtualkeyboardentry/floatbuttonmanager.cpp ++++ b/src/virtualkeyboardentry/floatbuttonmanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "virtualkeyboardentry/floatbuttonmanager.h" + + #include +diff --git a/src/virtualkeyboardentry/floatbuttonmanager.h b/src/virtualkeyboardentry/floatbuttonmanager.h +index a80f23f..0ea1731 100644 +--- a/src/virtualkeyboardentry/floatbuttonmanager.h ++++ b/src/virtualkeyboardentry/floatbuttonmanager.h +@@ -1,4 +1,21 @@ +-#ifndef FLOATBUTTONMANAGER_H ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ ++#ifndef FLOATBUTTONMANAGER_H + #define FLOATBUTTONMANAGER_H + + #include +diff --git a/src/virtualkeyboardentry/floatbuttonstrategy.h b/src/virtualkeyboardentry/floatbuttonstrategy.h +index 647755d..bae4d0d 100644 +--- a/src/virtualkeyboardentry/floatbuttonstrategy.h ++++ b/src/virtualkeyboardentry/floatbuttonstrategy.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef FLOATBUTTONSTRATEGY_H + #define FLOATBUTTONSTRATEGY_H + +diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +index 80a167f..9246855 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp ++++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "virtualkeyboardentry/virtualkeyboardentrymanager.h" + + #include +diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h +index 50b7c49..bc9c0f5 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h ++++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef VIRTUALKEYBOARDENTRYMANAGER_H + #define VIRTUALKEYBOARDENTRYMANAGER_H + +diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +index 01fd35c..7cc431d 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp ++++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #include "virtualkeyboardentry/virtualkeyboardtrayicon.h" + + #include +diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h +index da63002..965cc65 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h ++++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h +@@ -1,3 +1,20 @@ ++/* ++ * Copyright 2022 KylinSoft Co., Ltd. ++ * ++ * This program is free software: you can redistribute it and/or modify it under ++ * the terms of the GNU General Public License as published by the Free Software ++ * Foundation, either version 3 of the License, or (at your option) any later ++ * version. ++ * ++ * This program is distributed in the hope that it will be useful, but WITHOUT ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++ * details. ++ * ++ * You should have received a copy of the GNU General Public License along with ++ * this program. If not, see . ++ */ ++ + #ifndef VIRTUALKEYBOARDTRAYICON_H + #define VIRTUALKEYBOARDTRAYICON_H + diff --git a/debian/patches/0006-update-changelog.patch b/debian/patches/0006-update-changelog.patch new file mode 100644 index 0000000..7284c28 --- /dev/null +++ b/debian/patches/0006-update-changelog.patch @@ -0,0 +1,538 @@ +From: hanteng +Date: Wed, 20 Sep 2023 16:19:07 +0800 +Subject: update changelog + +--- + qml/VirtualKeyboard.qml | 439 ++++++++++----------- + qml/js/utils.js | 30 +- + .../virtualkeyboardentrymanager.cpp | 4 +- + 3 files changed, 230 insertions(+), 243 deletions(-) + +diff --git a/qml/VirtualKeyboard.qml b/qml/VirtualKeyboard.qml +index c897494..f035d36 100644 +--- a/qml/VirtualKeyboard.qml ++++ b/qml/VirtualKeyboard.qml +@@ -30,256 +30,243 @@ Rectangle { + //候选词 + property var candidateList + //候选列表高亮候选的索引 +- property int globalCursorIndex: -11 +- //可用输入法列表 +- property var currentIMList: model.currentIMListt +- //当前输入法名称 +- property string uniqueName: model.uniqueNamee +- //当前输入法,组成为"uniqueName|localName|label" +- //TOOD 目前以“|”分割数据 +- property string currentIM: "||" ++ property int globalCursorIndex : -1 ++ //可用输入法列表 ++ property var currentIMList : model.currentIMList ++ //当前输入法名称 ++ property string uniqueName : model.uniqueName ++ //当前输入法,组成为"uniqueName|localName|label" ++ //TOOD 目前以“|”分割数据 ++ property string currentIM: "||" + +- //大小相关 +- /*设置默认值,防止报错,fontSize为0时会报错,加载qml文件时height为0,会导致fontSize为0*/ +- property real cardinalNumber: height == 0 ? 8 : height/(placementMode === "EXPANSION" ? 64.0 : 68.5) +- property int dragBarHeight: cardinalNumber * 4.5 +- property int preeditHeight: cardinalNumber * 5 +- property int toolAndCandidateHeight: cardinalNumber * 8 +- property int keyboardLayoutHeight: cardinalNumber * 49 +- property int keySpacing: cardinalNumber +- property int keyWidth: (width - 5*cardinalNumber) * 2/31 - cardinalNumber +- /*暂时删除win键,将空格键长度从keyWidth * 5.5 + keySpacing * 5修改为keyWidth * 6.5 + keySpacing * 6*/ +- property int spaceKeyWidth: keyWidth * 6.5 + keySpacing * 6 +- property int keyHeight: cardinalNumber * 9 +- property int firstRowKeyHeight: keyHeight * 7/9 +- property int keyLableAlignment: keyWidth / 3 +- property int keyIconAlignment: keyWidth / 3 +- property int virtualKeyboardAvailableHeight: placementMode === "EXPANSION" ? virtualKeyboard.height +- : virtualKeyboard.height - dragBar.height +- property int imListItemHeight: virtualKeyboardAvailableHeight * 1/10 +- property int imListItemWidth: virtualKeyboardAvailableHeight * 5/13 +- property real fontSize: keyHeight * 6/11 * 7/12 +- property real shiftFontSize: fontSize / 2 +- property real switchKeyFontSize: fontSize * 3/4 +- property real fnSymbolKeyFontSize: fontSize * 3/4 +- property real actionKeyFontSize: fontSize * 3/4 +- property real preeditTextFontSize: fontSize * 3/4 +- property real candidateFontSize: fontSize * 3/4 +- property real imListFontSize: fontSize * 3/4 +- property int preeditX: cardinalNumber * 3.5 +- property int candidateListWidth: width - 7*cardinalNumber +- property int toolbarSize: cardinalNumber * 3 +- property int candidateListX: cardinalNumber * 2 +- property int candidateListSpacing: cardinalNumber * 3 +- property int keyRadius: cardinalNumber +- property int longPressInterval: 1000 +- property int shiftLeftMargin: cardinalNumber +- property int shiftTopMargin: cardinalNumber/2 +- property int imLeftMargin: cardinalNumber +- property int dropShadowVerticalOffset: cardinalNumber/4 +- property int dragBarIndicatorWidth: cardinalNumber * 7 +- property int dragBarIndicatorHeight: cardinalNumber/2 ++ //大小相关 ++ /*设置默认值,防止报错,fontSize为0时会报错,加载qml文件时height为0,会导致fontSize为0*/ ++ property real cardinalNumber: height == 0 ? 8 : height/(placementMode === "EXPANSION" ? 64.0 : 68.5) ++ property int dragBarHeight: cardinalNumber * 4.5 ++ property int preeditHeight: cardinalNumber * 5 ++ property int toolAndCandidateHeight: cardinalNumber * 8 ++ property int keyboardLayoutHeight: cardinalNumber * 49 ++ property int keySpacing: cardinalNumber ++ property int keyWidth: (width - 5*cardinalNumber) * 2/31 - cardinalNumber ++ /*暂时删除win键,将空格键长度从keyWidth * 5.5 + keySpacing * 5修改为keyWidth * 6.5 + keySpacing * 6*/ ++ property int spaceKeyWidth: keyWidth * 6.5 + keySpacing * 6 ++ property int keyHeight: cardinalNumber * 9 ++ property int firstRowKeyHeight: keyHeight * 7/9 ++ property int keyLableAlignment: keyWidth / 3 ++ property int keyIconAlignment: keyWidth / 3 ++ property int virtualKeyboardAvailableHeight: placementMode === "EXPANSION" ? virtualKeyboard.height ++ : virtualKeyboard.height - dragBar.height ++ property int imListItemHeight: virtualKeyboardAvailableHeight * 1/10 ++ property int imListItemWidth: virtualKeyboardAvailableHeight * 5/13 ++ property real fontSize: keyHeight * 6/11 * 7/12 ++ property real shiftFontSize: fontSize / 2 ++ property real switchKeyFontSize: fontSize * 3/4 ++ property real fnSymbolKeyFontSize: fontSize * 3/4 ++ property real actionKeyFontSize: fontSize * 3/4 ++ property real preeditTextFontSize: fontSize * 3/4 ++ property real candidateFontSize: fontSize * 3/4 ++ property real imListFontSize: fontSize * 3/4 ++ property int preeditX: cardinalNumber * 3.5 ++ property int candidateListWidth: width - 7*cardinalNumber ++ property int toolbarSize: cardinalNumber * 3 ++ property int candidateListX: cardinalNumber * 2 ++ property int candidateListSpacing: cardinalNumber * 3 ++ property int keyRadius: cardinalNumber ++ property int longPressInterval: 1000 ++ property int shiftLeftMargin: cardinalNumber ++ property int shiftTopMargin: cardinalNumber/2 ++ property int imLeftMargin: cardinalNumber ++ property int dropShadowVerticalOffset: cardinalNumber/4 ++ property int dragBarIndicatorWidth: cardinalNumber * 7 ++ property int dragBarIndicatorHeight: cardinalNumber/2 + +- //颜色相关 +- property color virtualKeyboardColor: "#EBEDEF" /*虚拟键盘背景色*/ +- property color charKeyNormalColor: "#FFFFFF" /*字符按键默认态颜色*/ +- property color charKeyPressedColor: "#DDE0E4" /*字符按键按下态颜色*/ +- property color charKeyHoverColor: "#EDF1F5" /*字符按键悬浮态颜色*/ +- property color charKeyDropShadowColor: "#95A0AD" /*字符按键偏移色*/ ++ //颜色相关 ++ property color virtualKeyboardColor: "#EBEDEF" /*虚拟键盘背景色*/ ++ property color charKeyNormalColor: "#FFFFFF" /*字符按键默认态颜色*/ ++ property color charKeyPressedColor: "#DDE0E4" /*字符按键按下态颜色*/ ++ property color charKeyHoverColor: "#EDF1F5" /*字符按键悬浮态颜色*/ ++ property color charKeyDropShadowColor: "#95A0AD" /*字符按键偏移色*/ + +- property color actionKeyNormalColor: "#CED3D9" /*动作按键默认态*/ +- property color actionKeyPressedColor: "#A5ACB5" /*动作按键按下态*/ +- property color actionKeyHoverColor: "#C0C6CE" /*动作按键悬浮态*/ ++ property color actionKeyNormalColor: "#CED3D9" /*动作按键默认态*/ ++ property color actionKeyPressedColor: "#A5ACB5" /*动作按键按下态*/ ++ property color actionKeyHoverColor:"#C0C6CE" /*动作按键悬浮态*/ + +- property color switchKeyNormalColor: "#CED3D9" /*开关按键默认态*/ +- property color switchKeyPressedColor: "#A5ACB5" /*开关按键按下态*/ +- property color switchKeyOpenColor: "#3690F8" /*开关按键开启态*/ +- property color switchKeyOpenPressedColor: "#2C73C6" /*开关按键开启_按下态*/ +- property color switchKeyHoverNormalColor: "#C0C6CE" /*开关按键默认hover态*/ +- property color switchKeyHoverOpenColor: "#328AF0" /*开关按键按下hover态*/ +- property color switchKeyNormalDropShadowColor: "#95A0AD" /*开关按键默认偏移色*/ +- property color switchKeyOpenDropShadowColor: "#1174E5" /*开关按键开启偏移色*/ +- property color switchKeyOpenPressedDropShadowColor: "#165FB3" /*开关按键开启_按下偏移色*/ ++ property color switchKeyNormalColor: "#CED3D9" /*开关按键默认态*/ ++ property color switchKeyPressedColor: "#A5ACB5" /*开关按键按下态*/ ++ property color switchKeyOpenColor: "#3690F8" /*开关按键开启态*/ ++ property color switchKeyOpenPressedColor: "#2C73C6" /*开关按键开启_按下态*/ ++ property color switchKeyHoverNormalColor: "#C0C6CE" /*开关按键默认hover态*/ ++ property color switchKeyHoverOpenColor: "#328AF0" /*开关按键按下hover态*/ ++ property color switchKeyNormalDropShadowColor: "#95A0AD" /*开关按键默认偏移色*/ ++ property color switchKeyOpenDropShadowColor: "#1174E5" /*开关按键开启偏移色*/ ++ property color switchKeyOpenPressedDropShadowColor: "#165FB3" /*开关按键开启_按下偏移色*/ + +- property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ +- property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ +- property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ +- property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ +- property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ +- property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ ++ property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ ++ property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ ++ property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ ++ property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ ++ property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ ++ property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ + +- //圆角相关 +- property int virtualKeyboardFloatPlacementRadius: 16 +- property int dragBarIndicatorRadius: 2 ++ //圆角相关 ++ property int virtualKeyboardFloatPlacementRadius: 16 ++ property int dragBarIndicatorRadius: 2 + +- //状态相关 +- property string letterState: "NORMAL" +- property string symbolState: "NORMAL" +- property string fnSymbolState: "NORMAL" +- property string capslockState: "NORMAL" +- property string shiftState: "NORMAL" +- property string altState: "NORMAL" +- property string ctrlState: "NORMAL" +- property string winState: "NORMAL" +- property string changeIMState: "NORMAL" +- property string switchLayoutButtonState: "NORMAL" +- property string placementMode: "EXPANSION" ++ //状态相关 ++ property string letterState: "NORMAL" ++ property string symbolState: "NORMAL" ++ property string fnSymbolState: "NORMAL" ++ property string capslockState: "NORMAL" ++ property string shiftState: "NORMAL" ++ property string altState: "NORMAL" ++ property string ctrlState: "NORMAL" ++ property string winState: "NORMAL" ++ property string changeIMState: "NORMAL" ++ property string switchLayoutButtonState: "NORMAL" ++ property string placementMode: "EXPANSION" + +- //可见性相关 +- property bool isToolbarVisible: true +- property bool isToolAreaVisible: false +- property bool isKeyBoardLayoutVisible: true +- property bool isAllLayoutListVisible: false +- property string layout: "classic" +- property bool isCurrentIMListVisible: false ++ //可见性相关 ++ property bool isToolbarVisible: true ++ property bool isToolAreaVisible: false ++ property bool isKeyBoardLayoutVisible: true ++ property bool isAllLayoutListVisible: false ++ property string layout: "classic" ++ property bool isCurrentIMListVisible: false + +- //内部使用 +- signal showToolbar() +- signal showCandidateList() +- signal charKeyClicked() +- signal shiftClicked() +- signal altClicked() +- signal ctrlClicked() +- signal winClicked() ++ //内部使用 ++ signal showToolbar() ++ signal showCandidateList() ++ signal charKeyClicked() ++ signal shiftClicked() ++ signal altClicked() ++ signal ctrlClicked() ++ signal winClicked() + +- //后台发送给前台的信号 +- signal qmlUpdatePreedit(string preeditText) +- signal qmlUpdateCandidateList(var candidateList, int globalCursorIndex) +- signal qmlImDeactivated() +- signal qmlEnterExpansionPlacementMode() +- signal qmlEnterFloatPlacementMode() ++ //后台发送给前台的信号 ++ signal qmlUpdatePreedit(string preeditText) ++ signal qmlUpdateCandidateList(var candidateList, int globalCursorIndex) ++ signal qmlImDeactivated() ++ signal qmlEnterExpansionPlacementMode() ++ signal qmlEnterFloatPlacementMode() + +- function processKeyEvent(key, keycode, modifierKeyStates, +- isRelease, time) { +- model.processKeyEvent(key, keycode, modifierKeyStates, isRelease, time) +- } ++ function processKeyEvent(key, keycode, modifierKeyStates, ++ isRelease, time) { ++ model.processKeyEvent(key, keycode, modifierKeyStates, isRelease, time) ++ } + +- function selectCandidate(index) +- { +- model.selectCandidate(index) +- } ++ function selectCandidate(index) { ++ model.selectCandidate(index) ++ } + +- function setCurrentIM(imName) +- { +- model.setCurrentIM(imName) +- } ++ function setCurrentIM(imName) { ++ model.setCurrentIM(imName) ++ } + +- function hideVirtualKeyboard() +- { +- manager.hide() +- } ++ function hideVirtualKeyboard() { ++ manager.hide() ++ } + +- function flipPlacementMode() +- { +- manager.flipPlacementMode() +- } ++ function flipPlacementMode() { ++ manager.flipPlacementMode() ++ } + +- function moveBy(offsetX, offsetY) +- { +- manager.moveBy(offsetX, offsetY) +- } ++ function moveBy(offsetX, offsetY) { ++ manager.moveBy(offsetX, offsetY) ++ } + +- function endDrag() +- { +- manager.endDrag() +- } ++ function endDrag() { ++ manager.endDrag() ++ } + +- Connections { +- target: virtualKeyboard +- onShowToolbar: { +- isToolbarVisible = true +- } +- onShowCandidateList: { +- isToolbarVisible = false +- } +- onQmlUpdatePreedit: (preeditText) => { +- virtualKeyboard.preeditText = preeditText +- } +- onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { +- if (candidateList.length === 0) +- { +- showToolbar() +- } else { +- virtualKeyboard.candidateList = candidateList +- virtualKeyboard.globalCursorIndex = globalCursorIndex +- showCandidateList() +- } +- } +- onQmlEnterExpansionPlacementMode: { +- virtualKeyboard.placementMode = "EXPANSION" +- } +- onQmlEnterFloatPlacementMode: { +- virtualKeyboard.placementMode = "FLOAT" +- } +- } ++ Connections { ++ target: virtualKeyboard ++ onShowToolbar: { ++ isToolbarVisible = true ++ } ++ onShowCandidateList: { ++ isToolbarVisible = false ++ } ++ onQmlUpdatePreedit: (preeditText) => { ++ virtualKeyboard.preeditText = preeditText ++ } ++ onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { ++ if(candidateList.length === 0) { ++ showToolbar() ++ } else { ++ virtualKeyboard.candidateList = candidateList ++ virtualKeyboard.globalCursorIndex = globalCursorIndex ++ showCandidateList() ++ } ++ } ++ onQmlEnterExpansionPlacementMode: { ++ virtualKeyboard.placementMode = "EXPANSION" ++ } ++ onQmlEnterFloatPlacementMode: { ++ virtualKeyboard.placementMode = "FLOAT" ++ } ++ } + +- Component.onCompleted: { +- charKeyClicked.connect(onCharKeyClicked) +- shiftClicked.connect(onShiftClicked) +- ctrlClicked.connect(onCtrlClicked) +- altClicked.connect(onAltClicked) +- winClicked.connect(onWinClicked) +- } ++ Component.onCompleted: { ++ charKeyClicked.connect(onCharKeyClicked) ++ shiftClicked.connect(onShiftClicked) ++ ctrlClicked.connect(onCtrlClicked) ++ altClicked.connect(onAltClicked) ++ winClicked.connect(onWinClicked) ++ } + +- function onCharKeyClicked() +- { +- shiftState = "NORMAL" +- ctrlState = "NORMAL" +- altState = "NORMAL" +- winState = "NORMAL" +- } ++ function onCharKeyClicked() { ++ shiftState = "NORMAL" ++ ctrlState = "NORMAL" ++ altState = "NORMAL" ++ winState = "NORMAL" ++ } + +- function onShiftClicked() +- { +- ctrlState = "NORMAL" +- altState = "NORMAL" +- winState = "NORMAL" +- } ++ function onShiftClicked() { ++ ctrlState = "NORMAL" ++ altState = "NORMAL" ++ winState = "NORMAL" ++ } + +- function onCtrlClicked() +- { +- shiftState = "NORMAL" +- altState = "NORMAL" +- winState = "NORMAL" +- } ++ function onCtrlClicked() { ++ shiftState = "NORMAL" ++ altState = "NORMAL" ++ winState = "NORMAL" ++ } + +- function onAltClicked() +- { +- shiftState = "NORMAL" +- ctrlState = "NORMAL" +- winState = "NORMAL" +- } ++ function onAltClicked() { ++ shiftState = "NORMAL" ++ ctrlState = "NORMAL" ++ winState = "NORMAL" ++ } + +- function onWinClicked() +- { +- shiftState = "NORMAL" +- altState = "NORMAL" +- ctrlState = "NORMAL" +- } ++ function onWinClicked() { ++ shiftState = "NORMAL" ++ altState = "NORMAL" ++ ctrlState = "NORMAL" ++ } + +- onUniqueNameChanged: { +- for (var i = 0; i. +- */ ++* Copyright 2022 KylinSoft Co., Ltd. ++* ++* This program is free software: you can redistribute it and/or modify it under ++* the terms of the GNU General Public License as published by the Free Software ++* Foundation, either version 3 of the License, or (at your option) any later ++* version. ++* ++* This program is distributed in the hope that it will be useful, but WITHOUT ++* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ++* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more ++* details. ++* ++* You should have received a copy of the GNU General Public License along with ++* this program. If not, see . ++*/ + + function getKeySym(keyName) { + var keySymList = { +diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +index 9246855..ca9e460 100644 +--- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp ++++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +@@ -47,8 +47,8 @@ void VirtualKeyboardEntryManager::initTrayIcon( + } + + void VirtualKeyboardEntryManager::initFloatButtonContextMenuAndAction() { +- floatButtonContextMenu_.reset(new QMenu); +- floatButtonContextMenuAction_.reset(new QAction); ++ floatButtonContextMenu_.reset(new QMenu()); ++ floatButtonContextMenuAction_.reset(new QAction()); + + floatButtonContextMenu_->addAction(floatButtonContextMenuAction_.get()); + diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..36f998c --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,6 @@ +0001-update-changelog.patch +0002-update-changelog.patch +0003-update-changelog.patch +0004-add-LICENSE.patch +0005-update-changelog.patch +0006-update-changelog.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..2d33f6a --- /dev/null +++ b/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/source/options b/debian/source/options new file mode 100644 index 0000000..06e1ae9 --- /dev/null +++ b/debian/source/options @@ -0,0 +1 @@ +include-binaries diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..76575dc --- /dev/null +++ b/debian/watch @@ -0,0 +1,2 @@ +# You must remove unused comment lines for the released package. +version=3 -- Gitee From 70596c8177262cf99e3f86b546649b9362ee31b8 Mon Sep 17 00:00:00 2001 From: hanteng Date: Thu, 27 Apr 2023 17:35:54 +0800 Subject: [PATCH 03/10] update changelog Gbp-Pq: Name 0001-update-changelog.patch --- qml/CandidateList.qml | 4 + qml/VirtualKeyboard.qml | 4 +- src/appinputareamanager.cpp | 27 ++++--- src/appinputareamanager.h | 4 + src/ipc/fcitxvirtualkeyboardserviceproxy.cpp | 4 +- src/main.cpp | 4 +- .../virtualkeyboardmanager.cpp | 20 +++-- src/virtualkeyboard/virtualkeyboardmanager.h | 14 +++- src/virtualkeyboard/virtualkeyboardmodel.cpp | 5 -- src/virtualkeyboard/virtualkeyboardmodel.h | 2 - .../virtualkeyboardentrymanager.cpp | 73 ++++++++++--------- .../virtualkeyboardentrymanager.h | 17 +++-- .../virtualkeyboardtrayicon.cpp | 34 ++------- .../virtualkeyboardtrayicon.h | 8 +- 14 files changed, 111 insertions(+), 109 deletions(-) diff --git a/qml/CandidateList.qml b/qml/CandidateList.qml index 57db048..110d2ad 100644 --- a/qml/CandidateList.qml +++ b/qml/CandidateList.qml @@ -25,9 +25,13 @@ Rectangle { orientation: ListView.Horizontal model: virtualKeyboard.candidateList spacing: 20 + currentIndex: virtualKeyboard.globalCursorIndex delegate: Text { id: candidate text: modelData + color: ListView.isCurrentItem + ? virtualKeyboard.candidateHighlightColor + : virtualKeyboard.candidateDefaultColor font.pointSize: virtualKeyboard.candidateFontSize // TODO(litian): 使用更好的方式使候选词居中 /*设置居中,设置anchors.verticalCenter: parent.verticalCenter会报错 diff --git a/qml/VirtualKeyboard.qml b/qml/VirtualKeyboard.qml index 08cef89..3ab9702 100644 --- a/qml/VirtualKeyboard.qml +++ b/qml/VirtualKeyboard.qml @@ -86,6 +86,8 @@ Rectangle { property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ + property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ + property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ @@ -144,7 +146,7 @@ Rectangle { } function hideVirtualKeyboard() { - manager.hideVirtualKeyboard() + manager.hide() } function flipPlacementMode() { diff --git a/src/appinputareamanager.cpp b/src/appinputareamanager.cpp index 064a7ac..c0adef6 100644 --- a/src/appinputareamanager.cpp +++ b/src/appinputareamanager.cpp @@ -5,21 +5,26 @@ AppInputAreaManager::AppInputAreaManager(QObject *parent) : QObject(parent), dummyWidget_(nullptr), oneshotTimer_(nullptr) { KWindowSystem::setType(dummyWidget_.winId(), NET::Dock); oneshotTimer_.setSingleShot(true); + connectSignal(); +} + +void AppInputAreaManager::connectSignal() { + QObject::connect(&oneshotTimer_, &QTimer::timeout, this, [this]() { + dummyWidget_.setGeometry(virtualKeyboardRect_); + dummyWidget_.show(); + // 使用KWin接口调整工作区域,仅在X11下有效 + // 该接口对全屏应用无效 + // 该接口需在winId对象显示前后调用,否则可能不生效 + KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0, + 0, 0, 0, virtualKeyboardRect_.height(), + virtualKeyboardRect_.x(), + virtualKeyboardRect_.width() - 1); + }); } void AppInputAreaManager::raiseInputArea(const QRect &virtualKeyboardRect) { - dummyWidget_.setGeometry(virtualKeyboardRect); - dummyWidget_.show(); + virtualKeyboardRect_ = virtualKeyboardRect; - WId winId = dummyWidget_.winId(); - QObject::connect( - &oneshotTimer_, &QTimer::timeout, this, [winId, virtualKeyboardRect]() { - // 使用KWin接口调整工作区域,仅在X11下有效 - // 该接口对全屏应用无效 - KWindowSystem::setExtendedStrut( - winId, 0, 0, 0, 0, 0, 0, 0, 0, 0, virtualKeyboardRect.height(), - virtualKeyboardRect.x(), virtualKeyboardRect.width() - 1); - }); oneshotTimer_.start(SHOW_DELAY_TIME); } diff --git a/src/appinputareamanager.h b/src/appinputareamanager.h index 24f2186..f8a6b12 100644 --- a/src/appinputareamanager.h +++ b/src/appinputareamanager.h @@ -17,6 +17,10 @@ public: void fallInputArea(); private: + void connectSignal(); + +private: + QRect virtualKeyboardRect_; QWidget dummyWidget_; QTimer oneshotTimer_; // 经过指定时间之后顶起应用程序,避免桌面在虚拟键盘显示之前可见 diff --git a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp index 958449f..ebd3edd 100644 --- a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp +++ b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp @@ -2,13 +2,13 @@ // static const QString FcitxVirtualKeyboardServiceProxy::serviceName_ = - "org.fcitx.virtualkeyboard.service"; + "org.fcitx.Fcitx5"; // static const QString FcitxVirtualKeyboardServiceProxy::servicePath_ = "/virtualkeyboard"; // static const QString FcitxVirtualKeyboardServiceProxy::serviceInterface_ = - "org.fcitx.virtualkeyboard.service"; + "org.fcitx.Fcitx.VirtualKeyboard1"; FcitxVirtualKeyboardServiceProxy::FcitxVirtualKeyboardServiceProxy() { virtualKeyboardService.reset( diff --git a/src/main.cpp b/src/main.cpp index ccc07fd..2d3833e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -17,8 +17,10 @@ int main(int argc, char *argv[]) { app.installTranslator(&translator); } - VirtualKeyboardManager virtualKeyboardManager; FcitxVirtualKeyboardServiceProxy virtualKeyboardService; + VirtualKeyboardManager virtualKeyboardManager([&virtualKeyboardService]() { + virtualKeyboardService.hideVirtualKeyboard(); + }); VirtualKeyboardEntryManager entryManager(virtualKeyboardManager, virtualKeyboardService); diff --git a/src/virtualkeyboard/virtualkeyboardmanager.cpp b/src/virtualkeyboard/virtualkeyboardmanager.cpp index be3ed10..8a7ba4c 100644 --- a/src/virtualkeyboard/virtualkeyboardmanager.cpp +++ b/src/virtualkeyboard/virtualkeyboardmanager.cpp @@ -5,8 +5,9 @@ #include "virtualkeyboardstrategy.h" -VirtualKeyboardManager::VirtualKeyboardManager(QObject *parent) - : QObject(parent) { +VirtualKeyboardManager::VirtualKeyboardManager( + HideVirtualKeyboardCallback hideVirtualKeyboardCallback) + : hideVirtualKeyboardCallback_(std::move(hideVirtualKeyboardCallback)) { initVirtualKeyboardModel(); initAppInputAreaManager(); @@ -46,6 +47,14 @@ void VirtualKeyboardManager::hideVirtualKeyboard() { visibiltyChanged(); } +void VirtualKeyboardManager::hide() { + if (!hideVirtualKeyboardCallback_) { + return; + } + + hideVirtualKeyboardCallback_(); +} + void VirtualKeyboardManager::flipPlacementMode() { placementModeManager_->flipPlacementMode(); } @@ -58,7 +67,6 @@ void VirtualKeyboardManager::endDrag() { floatGeometryManager_->endDrag(); } void VirtualKeyboardManager::visibiltyChanged() { emit virtualKeyboardVisibiltyChanged(virtualkeyboardVisible_); - model_->processVisibilityEvent(virtualkeyboardVisible_); } bool VirtualKeyboardManager::isVirtualKeyboardVisible() const { @@ -135,6 +143,9 @@ void VirtualKeyboardManager::initGeometryManager() { void VirtualKeyboardManager::initVirtualKeyboardModel() { model_.reset(new VirtualKeyboardModel(this)); + + connect(model_.get(), SIGNAL(backendConnectionDisconnected()), this, + SLOT(hideVirtualKeyboard())); } void VirtualKeyboardManager::connectVirtualKeyboardModelSignals() { @@ -144,9 +155,6 @@ void VirtualKeyboardManager::connectVirtualKeyboardModelSignals() { view_.get(), SIGNAL(updateCandidateArea(const QVariant &, int))); connect(model_.get(), SIGNAL(imDeactivated()), view_.get(), SIGNAL(imDeactivated())); - - connect(model_.get(), SIGNAL(backendConnectionDisconnected()), this, - SLOT(hideVirtualKeyboard())); } void VirtualKeyboardManager::connectGeometryManagerSignals() { diff --git a/src/virtualkeyboard/virtualkeyboardmanager.h b/src/virtualkeyboard/virtualkeyboardmanager.h index 3983b4d..8365fb0 100644 --- a/src/virtualkeyboard/virtualkeyboardmanager.h +++ b/src/virtualkeyboard/virtualkeyboardmanager.h @@ -1,6 +1,7 @@ #ifndef VIRTUALKEYBOARDMANAGER_H #define VIRTUALKEYBOARDMANAGER_H +#include #include #include @@ -17,11 +18,16 @@ class VirtualKeyboardManager : public QObject { Q_OBJECT public: - explicit VirtualKeyboardManager(QObject *parent = nullptr); + using HideVirtualKeyboardCallback = std::function; + +public: + explicit VirtualKeyboardManager( + HideVirtualKeyboardCallback hideVirtualKeyboardCallback); ~VirtualKeyboardManager(); void showVirtualKeyboard(); - Q_INVOKABLE void hideVirtualKeyboard(); + + Q_INVOKABLE void hide(); Q_INVOKABLE void flipPlacementMode(); Q_INVOKABLE void moveBy(int offsetX, int offsetY); Q_INVOKABLE void endDrag(); @@ -45,6 +51,8 @@ public slots: void raiseInputArea(); void fallInputArea(); + void hideVirtualKeyboard(); + private: void initAppInputAreaManager(); void initPlacementModeManager(); @@ -71,6 +79,8 @@ private: nullptr; bool virtualkeyboardVisible_ = false; + HideVirtualKeyboardCallback hideVirtualKeyboardCallback_; + ViewLocalSettings viewSettings_{"kylinsoft", "kylin virtual keyboard"}; }; diff --git a/src/virtualkeyboard/virtualkeyboardmodel.cpp b/src/virtualkeyboard/virtualkeyboardmodel.cpp index 9846c3a..efadf77 100644 --- a/src/virtualkeyboard/virtualkeyboardmodel.cpp +++ b/src/virtualkeyboard/virtualkeyboardmodel.cpp @@ -9,11 +9,6 @@ VirtualKeyboardModel::VirtualKeyboardModel(QObject *parent) : QObject(parent) { initDBusServiceWatcher(); } -void VirtualKeyboardModel::processVisibilityEvent(bool visible) { - virtualKeyboardBackendInterface_->asyncCall("ProcessVisibilityEvent", - visible); -} - void VirtualKeyboardModel::updateCandidateArea( const QVariant &candidateTextList, bool /*hasPrev*/, bool /*hasNext*/, int /*pageIndex*/, int globalCursorIndex) { diff --git a/src/virtualkeyboard/virtualkeyboardmodel.h b/src/virtualkeyboard/virtualkeyboardmodel.h index d99beeb..600ee16 100644 --- a/src/virtualkeyboard/virtualkeyboardmodel.h +++ b/src/virtualkeyboard/virtualkeyboardmodel.h @@ -30,8 +30,6 @@ public: void syncCurrentIMList(); - void processVisibilityEvent(bool visible); - void updateCandidateArea(const QVariant &candidateTextList, bool hasPrev, bool hasNext, int pageIndex, int globalCursorIndex); diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp index 3c2357d..80a167f 100644 --- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp @@ -12,10 +12,10 @@ VirtualKeyboardEntryManager::VirtualKeyboardEntryManager( : virtualKeyboardManager_(virtualKeyboardManager), floatButtonManager_(new FloatButtonManager(virtualKeyboardManager, fcitxVirtualKeyboardService)) { - initFloatButtonEnabledContextMenu(); - initFloatButtonDisabledContextMenu(); initTrayIcon(fcitxVirtualKeyboardService); + initFloatButtonContextMenuAndAction(); + connectSignals(); floatButtonManager_->loadFloatButtonAvailability(); @@ -29,15 +29,42 @@ void VirtualKeyboardEntryManager::initTrayIcon( virtualKeyboardManager_, fcitxVirtualKeyboardService)); } +void VirtualKeyboardEntryManager::initFloatButtonContextMenuAndAction() { + floatButtonContextMenu_.reset(new QMenu); + floatButtonContextMenuAction_.reset(new QAction); + + floatButtonContextMenu_->addAction(floatButtonContextMenuAction_.get()); + + trayIconEntry_->setContextMenu(floatButtonContextMenu_.get()); + + connect(floatButtonContextMenu_.get(), &QMenu::aboutToShow, this, + [this]() { virtualKeyboardManager_.hide(); }); + + connect(floatButtonContextMenuAction_.get(), &QAction::triggered, this, + [this](bool) { + if (!actionTriggeredCallback_) { + return; + } + + actionTriggeredCallback_(); + }); +} + void VirtualKeyboardEntryManager::connectSignals() { connect(floatButtonManager_.get(), &FloatButtonManager::floatButtonEnabled, this, [this]() { - trayIconEntry_->setContextMenu(floatButtonEnabledContextMenu_); + updateFloatButtonContextMenuAction( + ":/floatbutton/img/disablefloatbutton.svg", + tr("Disable the float button"), + [this]() { floatButtonManager_->disableFloatButton(); }); }); connect(floatButtonManager_.get(), &FloatButtonManager::floatButtonDisabled, this, [this]() { - trayIconEntry_->setContextMenu(floatButtonDisabledContextMenu_); + updateFloatButtonContextMenuAction( + ":/floatbutton/img/enablefloatbutton.svg", + tr("Enable the float button"), + [this]() { floatButtonManager_->enableFloatButton(); }); }); connect(&virtualKeyboardManager_, @@ -51,37 +78,11 @@ void VirtualKeyboardEntryManager::connectSignals() { }); } -QMenu *VirtualKeyboardEntryManager::createFloatButtonContextMenu( - const QString &icon, const QString &text, MenuTriggeredCallback callback) { - QMenu *menu = new QMenu(); - - QAction *action = new QAction(menu); - action->setIcon(QIcon(icon)); - action->setText(text); - - menu->addAction(action); - - connect(action, &QAction::triggered, this, [callback](bool) { - if (!callback) { - return; - } - - callback(); - }); - - return menu; -} - -void VirtualKeyboardEntryManager::initFloatButtonEnabledContextMenu() { - floatButtonEnabledContextMenu_.reset(createFloatButtonContextMenu( - ":/floatbutton/img/disablefloatbutton.svg", - tr("Disable the float button"), - [this]() { floatButtonManager_->disableFloatButton(); })); -} +void VirtualKeyboardEntryManager::updateFloatButtonContextMenuAction( + const QString &icon, const QString &text, + ActionTriggeredCallback callback) { + floatButtonContextMenuAction_->setIcon(QIcon(icon)); + floatButtonContextMenuAction_->setText(text); -void VirtualKeyboardEntryManager::initFloatButtonDisabledContextMenu() { - floatButtonDisabledContextMenu_.reset(createFloatButtonContextMenu( - ":/floatbutton/img/enablefloatbutton.svg", - tr("Enable the float button"), - [this]() { floatButtonManager_->enableFloatButton(); })); + actionTriggeredCallback_ = std::move(callback); } diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h index 3fac77c..50b7c49 100644 --- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h +++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h @@ -22,18 +22,18 @@ public: ~VirtualKeyboardEntryManager() override; private: - using MenuTriggeredCallback = std::function; + using ActionTriggeredCallback = std::function; private: void connectSignals(); - QMenu *createFloatButtonContextMenu(const QString &icon, - const QString &text, - MenuTriggeredCallback callback); - void initFloatButtonEnabledContextMenu(); - void initFloatButtonDisabledContextMenu(); void initTrayIcon( const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService); + void initFloatButtonContextMenuAndAction(); + void updateFloatButtonContextMenuAction(const QString &icon, + const QString &text, + ActionTriggeredCallback callback); + private: VirtualKeyboardManager &virtualKeyboardManager_; @@ -41,8 +41,9 @@ private: std::unique_ptr trayIconEntry_ = nullptr; - std::shared_ptr floatButtonEnabledContextMenu_ = nullptr; - std::shared_ptr floatButtonDisabledContextMenu_ = nullptr; + std::unique_ptr floatButtonContextMenu_ = nullptr; + std::unique_ptr floatButtonContextMenuAction_ = nullptr; + ActionTriggeredCallback actionTriggeredCallback_; }; #endif // VIRTUALKEYBOARDENTRYMANAGER_H diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp index 8ca6357..8fc277b 100644 --- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp @@ -1,7 +1,5 @@ #include "virtualkeyboardentry/virtualkeyboardtrayicon.h" -#include -#include #include VirtualKeyboardTrayIcon::VirtualKeyboardTrayIcon( @@ -12,16 +10,17 @@ VirtualKeyboardTrayIcon::VirtualKeyboardTrayIcon( initTrayIcon(); } -void VirtualKeyboardTrayIcon::setContextMenu( - std::shared_ptr contextMenu) { - contextMenu_ = contextMenu; +void VirtualKeyboardTrayIcon::setContextMenu(QMenu *contextMenu) { + trayIcon_->setContextMenu(contextMenu); } -void VirtualKeyboardTrayIcon::hideContextMenu() { contextMenu_->hide(); } +void VirtualKeyboardTrayIcon::hideContextMenu() { + trayIcon_->contextMenu()->hide(); +} void VirtualKeyboardTrayIcon::initTrayIcon() { trayIcon_ = new QSystemTrayIcon(this); - trayIcon_->setIcon(QIcon::fromTheme("input-keyboard-symbolic")); + trayIcon_->setIcon(QIcon::fromTheme("ukui-input-keyboard-symbolic")); trayIcon_->setToolTip(tr("kylin-virtual-keyboard")); connect(trayIcon_, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(onTrayIconActivated(QSystemTrayIcon::ActivationReason))); @@ -36,22 +35,6 @@ void VirtualKeyboardTrayIcon::toggleVirtualKeyboard() { } } -void VirtualKeyboardTrayIcon::ensuareVirtualKeyboardInvisible() { - if (!virtualKeyboardManager_.isVirtualKeyboardVisible()) { - return; - } - - virtualKeyboardManager_.hideVirtualKeyboard(); -} - -void VirtualKeyboardTrayIcon::showContextMenu() { - QSize menuSize = contextMenu_->sizeHint(); - QPoint point = QCursor::pos(); - QRect deskRect = QApplication::desktop()->availableGeometry(); - contextMenu_->move(point.x(), deskRect.height() - menuSize.height()); - contextMenu_->show(); -} - void VirtualKeyboardTrayIcon::onTrayIconActivated( QSystemTrayIcon::ActivationReason reason) { switch (reason) { @@ -59,11 +42,6 @@ void VirtualKeyboardTrayIcon::onTrayIconActivated( toggleVirtualKeyboard(); break; }; - case QSystemTrayIcon::Context: { - ensuareVirtualKeyboardInvisible(); - showContextMenu(); - break; - }; default: break; } diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h index cf89a67..da63002 100644 --- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h +++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h @@ -1,8 +1,6 @@ #ifndef VIRTUALKEYBOARDTRAYICON_H #define VIRTUALKEYBOARDTRAYICON_H -#include - #include #include #include @@ -20,7 +18,7 @@ public: ~VirtualKeyboardTrayIcon() override = default; - void setContextMenu(std::shared_ptr contextMenu); + void setContextMenu(QMenu *contextMenu); void hideContextMenu(); private: @@ -28,15 +26,11 @@ private: void toggleVirtualKeyboard(); - void ensuareVirtualKeyboardInvisible(); - void showContextMenu(); - private slots: void onTrayIconActivated(QSystemTrayIcon::ActivationReason reason); private: QSystemTrayIcon *trayIcon_ = nullptr; - std::shared_ptr contextMenu_ = nullptr; VirtualKeyboardManager &virtualKeyboardManager_; const FcitxVirtualKeyboardService &fcitxVirtualKeyboardService_; -- Gitee From 683b2d7478416912cb61713f01fbc3155942d23b Mon Sep 17 00:00:00 2001 From: hanteng Date: Thu, 4 May 2023 09:39:04 +0800 Subject: [PATCH 04/10] update changelog Gbp-Pq: Name 0002-update-changelog.patch --- src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp index 8fc277b..01fd35c 100644 --- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp @@ -20,7 +20,7 @@ void VirtualKeyboardTrayIcon::hideContextMenu() { void VirtualKeyboardTrayIcon::initTrayIcon() { trayIcon_ = new QSystemTrayIcon(this); - trayIcon_->setIcon(QIcon::fromTheme("ukui-input-keyboard-symbolic")); + trayIcon_->setIcon(QIcon::fromTheme("ukui-virtual-keyboard-symbolic")); trayIcon_->setToolTip(tr("kylin-virtual-keyboard")); connect(trayIcon_, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(onTrayIconActivated(QSystemTrayIcon::ActivationReason))); -- Gitee From e931853f48139a40adef1786c211943c1442be6b Mon Sep 17 00:00:00 2001 From: hanteng Date: Wed, 10 May 2023 16:22:51 +0800 Subject: [PATCH 05/10] update changelog Gbp-Pq: Name 0003-update-changelog.patch --- src/ipc/requestmerger.cpp | 8 ++++---- src/ipc/requestmerger.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/ipc/requestmerger.cpp b/src/ipc/requestmerger.cpp index ebaf606..5181308 100644 --- a/src/ipc/requestmerger.cpp +++ b/src/ipc/requestmerger.cpp @@ -115,16 +115,16 @@ void RequestMerger::init(ExecuteCallback activationExecuteCallback, updateCurrentState(idleState_); } -void RequestMerger::activate() { currentSate_->activate(); } +void RequestMerger::activate() { currentState_->activate(); } -void RequestMerger::deactivate() { currentSate_->deactivate(); } +void RequestMerger::deactivate() { currentState_->deactivate(); } void RequestMerger::start() { timer_.start(period_); } void RequestMerger::stop() { timer_.stop(); } void RequestMerger::updateCurrentState(std::shared_ptr newState) { - currentSate_ = newState; + currentState_ = newState; } void RequestMerger::enterIdleState() { @@ -140,4 +140,4 @@ void RequestMerger::enterDeactivationState() { start(); } -void RequestMerger::execute() { currentSate_->execute(); } +void RequestMerger::execute() { currentState_->execute(); } diff --git a/src/ipc/requestmerger.h b/src/ipc/requestmerger.h index a4be9dd..e1740ac 100644 --- a/src/ipc/requestmerger.h +++ b/src/ipc/requestmerger.h @@ -52,7 +52,7 @@ private: int period_ = LEAST_PERIOD; QTimer timer_; - std::shared_ptr currentSate_ = nullptr; + std::shared_ptr currentState_ = nullptr; std::shared_ptr idleState_ = nullptr; std::shared_ptr activationState_ = nullptr; std::shared_ptr deactivationState_ = nullptr; -- Gitee From 379ce6c34baf572a93907613f3f333f5521d152d Mon Sep 17 00:00:00 2001 From: hanteng Date: Wed, 26 Jul 2023 01:51:45 +0000 Subject: [PATCH 06/10] add LICENSE. Signed-off-by: hanteng Gbp-Pq: Name 0004-add-LICENSE.patch --- LICENSE | 504 ++++++++++++++++++++++++ kylin-virtual-keyboard.pro | 1 + src/localsettings/viewlocalsettings.cpp | 57 ++- src/localsettings/viewlocalsettings.h | 16 +- 4 files changed, 572 insertions(+), 6 deletions(-) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..bc0390e --- /dev/null +++ b/LICENSE @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 + USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random + Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/kylin-virtual-keyboard.pro b/kylin-virtual-keyboard.pro index ee7875d..edb66ce 100644 --- a/kylin-virtual-keyboard.pro +++ b/kylin-virtual-keyboard.pro @@ -1,4 +1,5 @@ QT += quick +QT += concurrent QT += dbus QT += core gui QT += KWindowSystem diff --git a/src/localsettings/viewlocalsettings.cpp b/src/localsettings/viewlocalsettings.cpp index ce977be..83b0840 100644 --- a/src/localsettings/viewlocalsettings.cpp +++ b/src/localsettings/viewlocalsettings.cpp @@ -1,14 +1,54 @@ #include "viewlocalsettings.h" +#include +#include + +namespace { +void updateSettings(QSettings &settings, + const ViewLocalSettings::SettingMap &settingMap) { + for (auto settingIter = settingMap.constBegin(); + settingIter != settingMap.constEnd(); settingIter++) { + settings.setValue(settingIter.key(), settingIter.value()); + } +} + +void saveSettings(const QString &organization, const QString &application, + const ViewLocalSettings::GroupSettingMap &groupSettingMap) { + QSettings settings(organization, application); + + for (auto groupIter = groupSettingMap.constBegin(); + groupIter != groupSettingMap.constEnd(); groupIter++) { + settings.beginGroup(groupIter.key()); + + updateSettings(settings, groupIter.value()); + + settings.endGroup(); + } + + settings.sync(); +} +} // namespace + ViewLocalSettings::ViewLocalSettings(const QString &organization, const QString &application) - : settings(organization, application) {} + : organization_(organization), application_(application) { + QObject::connect(&futureWatcher_, &QFutureWatcher::finished, + [this]() { + if (groupSettingMap_.isEmpty()) { + return; + } + + saveSettingsAsync(); + }); +} ViewLocalSettings::~ViewLocalSettings() = default; QVariant ViewLocalSettings::getValue(const QString &group, const QString &key, const QVariant &defaultValue /*= QVariant()*/) { + QSettings settings(organization_, application_); + settings.beginGroup(group); auto value = settings.value(key, defaultValue); @@ -20,9 +60,18 @@ ViewLocalSettings::getValue(const QString &group, const QString &key, void ViewLocalSettings::setValue(const QString &group, const QString &key, const QVariant &value) { - settings.beginGroup(group); + auto &settingMap = groupSettingMap_[group]; + settingMap.insert(key, value); - settings.setValue(key, value); + if (futureWatcher_.isFinished()) { + saveSettingsAsync(); + } +} - settings.endGroup(); +void ViewLocalSettings::saveSettingsAsync() { + auto oneshotGroupSettingMap(std::move(groupSettingMap_)); + futureWatcher_.setFuture( + QtConcurrent::run([this, oneshotGroupSettingMap]() { + saveSettings(organization_, application_, oneshotGroupSettingMap); + })); } diff --git a/src/localsettings/viewlocalsettings.h b/src/localsettings/viewlocalsettings.h index 38546a6..d433f2e 100644 --- a/src/localsettings/viewlocalsettings.h +++ b/src/localsettings/viewlocalsettings.h @@ -1,11 +1,16 @@ #ifndef VIEWLOCALSETTINGS_H #define VIEWLOCALSETTINGS_H -#include +#include +#include #include "localsettings.h" class ViewLocalSettings : public LocalSettings { +public: + using SettingMap = QMap; + using GroupSettingMap = QMap; + public: ViewLocalSettings(const QString &organization, const QString &application); ~ViewLocalSettings() override; @@ -16,7 +21,14 @@ public: const QVariant &value) override; private: - QSettings settings; + void saveSettingsAsync(); + +private: + const QString organization_; + const QString application_; + + GroupSettingMap groupSettingMap_; + QFutureWatcher futureWatcher_; }; #endif // VIEWLOCALSETTINGS_H -- Gitee From e57668b04244958866fe7e6181875614b53f3f0c Mon Sep 17 00:00:00 2001 From: hantengc Date: Wed, 26 Jul 2023 14:28:58 +0800 Subject: [PATCH 07/10] update changelog Gbp-Pq: Name 0005-update-changelog.patch --- LICENSE | 659 +++++------------- man/kylin-virtual-keyboard-xwayland.1 | 14 + man/kylin-virtual-keyboard.1 | 14 + qml/CandidateList.qml | 27 +- qml/ClassicKeyboardLayout.qml | 151 ++-- qml/DragBar.qml | 95 +-- qml/HideButton.qml | 17 + qml/KeyboardLayoutArea.qml | 19 +- qml/PlacementModeButton.qml | 17 + qml/Preedit.qml | 17 + qml/ToolArea.qml | 17 + qml/Toolbar.qml | 21 +- qml/ToolbarAndCandidateArea.qml | 21 +- qml/VirtualKeyboard.qml | 510 +++++++------- qml/js/utils.js | 37 +- qml/key/ActionKey.qml | 23 +- qml/key/AltKey.qml | 20 +- qml/key/BackspaceKey.qml | 17 + qml/key/BaseKey.qml | 81 ++- qml/key/CapslockKey.qml | 78 ++- qml/key/ChangeImKey.qml | 201 +++--- qml/key/CharKey.qml | 151 ++-- qml/key/CtrlKey.qml | 20 +- qml/key/EnterKey.qml | 17 + qml/key/FnKey.qml | 72 +- qml/key/FnSymbolKey.qml | 19 +- qml/key/LetterKey.qml | 17 + qml/key/ShiftKey.qml | 20 +- qml/key/SpaceKey.qml | 17 + qml/key/SwitchKey.qml | 273 ++++---- qml/key/SymbolKey.qml | 91 ++- qml/key/TemporarySwitchKey.qml | 34 +- qml/key/WinKey.qml | 20 +- src/appinputareamanager.cpp | 17 + src/appinputareamanager.h | 17 + .../expansiongeometrymanager.cpp | 17 + .../expansiongeometrymanager.h | 17 + src/geometrymanager/floatgeometrymanager.cpp | 17 + src/geometrymanager/floatgeometrymanager.h | 17 + src/geometrymanager/geometrymanager.cpp | 17 + src/geometrymanager/geometrymanager.h | 17 + src/ipc/dbusservice.cpp | 17 + src/ipc/dbusservice.h | 17 + src/ipc/fcitxvirtualkeyboardserviceproxy.cpp | 17 + src/ipc/fcitxvirtualkeyboardserviceproxy.h | 17 + src/ipc/requestmerger.cpp | 17 + src/ipc/requestmerger.h | 17 + src/localsettings/localsettings.h | 17 + src/localsettings/viewlocalsettings.cpp | 17 + src/localsettings/viewlocalsettings.h | 17 + src/main.cpp | 17 + src/screenmanager.cpp | 17 + src/screenmanager.h | 17 + src/virtualkeyboard/placementmodemanager.cpp | 17 + src/virtualkeyboard/placementmodemanager.h | 17 + .../virtualkeyboardmanager.cpp | 17 + src/virtualkeyboard/virtualkeyboardmanager.h | 17 + src/virtualkeyboard/virtualkeyboardmodel.cpp | 17 + src/virtualkeyboard/virtualkeyboardmodel.h | 17 + src/virtualkeyboard/virtualkeyboardstrategy.h | 17 + src/virtualkeyboard/virtualkeyboardview.cpp | 17 + src/virtualkeyboard/virtualkeyboardview.h | 17 + .../fcitxvirtualkeyboardservice.h | 17 + src/virtualkeyboardentry/floatbutton.cpp | 45 +- src/virtualkeyboardentry/floatbutton.h | 20 +- .../floatbuttonmanager.cpp | 17 + src/virtualkeyboardentry/floatbuttonmanager.h | 19 +- .../floatbuttonstrategy.h | 17 + .../virtualkeyboardentrymanager.cpp | 17 + .../virtualkeyboardentrymanager.h | 17 + .../virtualkeyboardtrayicon.cpp | 17 + .../virtualkeyboardtrayicon.h | 17 + 72 files changed, 2197 insertions(+), 1306 deletions(-) create mode 100644 man/kylin-virtual-keyboard-xwayland.1 create mode 100644 man/kylin-virtual-keyboard.1 diff --git a/LICENSE b/LICENSE index bc0390e..b14ca0a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,504 +1,165 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 - USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random - Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/man/kylin-virtual-keyboard-xwayland.1 b/man/kylin-virtual-keyboard-xwayland.1 new file mode 100644 index 0000000..6c6c36b --- /dev/null +++ b/man/kylin-virtual-keyboard-xwayland.1 @@ -0,0 +1,14 @@ +.\" Man Page for kylin-virtual-keyboard-xwayland +.TH kylin-virtual-keyboard-xwayland 1 "26 July 2023" +.SH "NAME" +kylin-virtual-keyboard-xwayland \- The virtual keyboard based on fcitx5. +.SH "SYNOPSIS" +.B kylin-virtual-keyboard-xwayland +.SH "DESCRIPTION" +Start Virtual keyboard in different Desktop environment. +.SH "BUGS" +.SS Should you encounter any bugs, they may be reported at: +https://gitee.com/openkylin/kylin-virtual-keyboard/issues +.SH "AUTHORS" +.SS This Manual Page has been written for the InputMethod team by: +hanteng (2023) \ No newline at end of file diff --git a/man/kylin-virtual-keyboard.1 b/man/kylin-virtual-keyboard.1 new file mode 100644 index 0000000..7665c1c --- /dev/null +++ b/man/kylin-virtual-keyboard.1 @@ -0,0 +1,14 @@ +.\" Man Page for kylin-virtual-keyboard +.TH kylin-virtual-keyboard 1 "26 July 2023" +.SH "NAME" +kylin-virtual-keyboard \- The virtual keyboard based on fcitx5. +.SH "SYNOPSIS" +.B kylin-virtual-keyboard +.SH "DESCRIPTION" +The virtual keyboard based on fcitx5. +.SH "BUGS" +.SS Should you encounter any bugs, they may be reported at: +https://gitee.com/openkylin/kylin-virtual-keyboard/issues +.SH "AUTHORS" +.SS This Manual Page has been written for the InputMethod team by: +hanteng (2023) \ No newline at end of file diff --git a/qml/CandidateList.qml b/qml/CandidateList.qml index 110d2ad..1ad85bf 100644 --- a/qml/CandidateList.qml +++ b/qml/CandidateList.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import QtQuick.Controls 2.0 @@ -7,7 +24,7 @@ Rectangle { color: virtualKeyboard.virtualKeyboardColor visible: !virtualKeyboard.isToolbarVisible - Rectangle{ + Rectangle { id: candidateListRectangle width: virtualKeyboard.candidateListWidth height: virtualKeyboard.toolAndCandidateHeight - virtualKeyboard.cardinalNumber @@ -30,18 +47,18 @@ Rectangle { id: candidate text: modelData color: ListView.isCurrentItem - ? virtualKeyboard.candidateHighlightColor - : virtualKeyboard.candidateDefaultColor + ? virtualKeyboard.candidateHighlightColor + : virtualKeyboard.candidateDefaultColor font.pointSize: virtualKeyboard.candidateFontSize // TODO(litian): 使用更好的方式使候选词居中 /*设置居中,设置anchors.verticalCenter: parent.verticalCenter会报错 - TypeError: Cannot read property 'verticalCenter' of null, 因此手动计算居中位置*/ + TypeError: Cannot read property 'verticalCenter' of null, 因此手动计算居中位置*/ y: (candidateListRectangle.height - height)/2 MouseArea { anchors.fill: parent onClicked: { virtualKeyboard.selectCandidate(index) - console.debug("点击了",index,modelData) + console.debug("点击了", index, modelData) } } } diff --git a/qml/ClassicKeyboardLayout.qml b/qml/ClassicKeyboardLayout.qml index d6bf5cd..8c04c05 100644 --- a/qml/ClassicKeyboardLayout.qml +++ b/qml/ClassicKeyboardLayout.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "key/" @@ -9,93 +26,93 @@ Column { Row { anchors.horizontalCenter: parent.horizontalCenter spacing: virtualKeyboard.keySpacing - ActionKey{ label: "Esc" ;height: virtualKeyboard.keyHeight * 3/4} - FnSymbolKey{ label: "`"; shiftedText: "~"; fnValue:"~" } - FnSymbolKey{ label: "1"; shiftedText: "!"; fnValue:"F1" } - FnSymbolKey{ label: "2"; shiftedText: "@"; fnValue:"F2" } - FnSymbolKey{ label: "3"; shiftedText: "#"; fnValue:"F3" } - FnSymbolKey{ label: "4"; shiftedText: "$"; fnValue:"F4" } - FnSymbolKey{ label: "5"; shiftedText: "%"; fnValue:"F5" } - FnSymbolKey{ label: "6"; shiftedText: "^"; fnValue:"F6" } - FnSymbolKey{ label: "7"; shiftedText: "&"; fnValue:"F7" } - FnSymbolKey{ label: "8"; shiftedText: "*"; fnValue:"F8" } - FnSymbolKey{ label: "9"; shiftedText: "("; fnValue:"F9" } - FnSymbolKey{ label: "0"; shiftedText: ")"; fnValue:"F10" } - FnSymbolKey{ label: "-"; shiftedText: "_"; fnValue:"F11" } - FnSymbolKey{ label: "="; shiftedText: "+"; fnValue:"F12" } - BackspaceKey{} + ActionKey { label: "Esc" ;height: virtualKeyboard.keyHeight * 3/4} + FnSymbolKey { label: "`"; shiftedText: "~"; fnValue:"~" } + FnSymbolKey { label: "1"; shiftedText: "!"; fnValue:"F1" } + FnSymbolKey { label: "2"; shiftedText: "@"; fnValue:"F2" } + FnSymbolKey { label: "3"; shiftedText: "#"; fnValue:"F3" } + FnSymbolKey { label: "4"; shiftedText: "$"; fnValue:"F4" } + FnSymbolKey { label: "5"; shiftedText: "%"; fnValue:"F5" } + FnSymbolKey { label: "6"; shiftedText: "^"; fnValue:"F6" } + FnSymbolKey { label: "7"; shiftedText: "&"; fnValue:"F7" } + FnSymbolKey { label: "8"; shiftedText: "*"; fnValue:"F8" } + FnSymbolKey { label: "9"; shiftedText: "("; fnValue:"F9" } + FnSymbolKey { label: "0"; shiftedText: ")"; fnValue:"F10" } + FnSymbolKey { label: "-"; shiftedText: "_"; fnValue:"F11" } + FnSymbolKey { label: "="; shiftedText: "+"; fnValue:"F12" } + BackspaceKey {} } Row { anchors.horizontalCenter: parent.horizontalCenter spacing: virtualKeyboard.keySpacing - ActionKey{ label: "Tab"; width: virtualKeyboard.keyWidth*1.5 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } - LetterKey{ label: "q"; shiftedText: "Q" } - LetterKey{ label: "w"; shiftedText: "W" } - LetterKey{ label: "e"; shiftedText: "E" } - LetterKey{ label: "r"; shiftedText: "R" } - LetterKey{ label: "t"; shiftedText: "T" } - LetterKey{ label: "y"; shiftedText: "Y" } - LetterKey{ label: "u"; shiftedText: "U" } - LetterKey{ label: "i"; shiftedText: "I" } - LetterKey{ label: "o"; shiftedText: "O" } - LetterKey{ label: "p"; shiftedText: "P" } - SymbolKey{ label: "["; shiftedText: "{" } - SymbolKey{ label: "]"; shiftedText: "}" } - SymbolKey{ label: "\\"; shiftedText: "|" } - ActionKey{ label: "Del" } + ActionKey { label: "Tab"; width: virtualKeyboard.keyWidth*1.5 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } + LetterKey { label: "q"; shiftedText: "Q" } + LetterKey { label: "w"; shiftedText: "W" } + LetterKey { label: "e"; shiftedText: "E" } + LetterKey { label: "r"; shiftedText: "R" } + LetterKey { label: "t"; shiftedText: "T" } + LetterKey { label: "y"; shiftedText: "Y" } + LetterKey { label: "u"; shiftedText: "U" } + LetterKey { label: "i"; shiftedText: "I" } + LetterKey { label: "o"; shiftedText: "O" } + LetterKey { label: "p"; shiftedText: "P" } + SymbolKey { label: "["; shiftedText: "{" } + SymbolKey { label: "]"; shiftedText: "}" } + SymbolKey { label: "\\"; shiftedText: "|" } + ActionKey { label: "Del" } } Row { anchors.horizontalCenter: parent.horizontalCenter spacing: virtualKeyboard.keySpacing - CapslockKey{width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } - LetterKey{ label: "a"; shiftedText: "A" } - LetterKey{ label: "s"; shiftedText: "S" } - LetterKey{ label: "d"; shiftedText: "D" } - LetterKey{ label: "f"; shiftedText: "F" } - LetterKey{ label: "g"; shiftedText: "G" } - LetterKey{ label: "h"; shiftedText: "H" } - LetterKey{ label: "j"; shiftedText: "J" } - LetterKey{ label: "k"; shiftedText: "K" } - LetterKey{ label: "l"; shiftedText: "L" } - SymbolKey{ label: ";"; shiftedText: ":" } - SymbolKey{ label: "'"; shiftedText: "\"" } - EnterKey{} + CapslockKey {width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } + LetterKey { label: "a"; shiftedText: "A" } + LetterKey { label: "s"; shiftedText: "S" } + LetterKey { label: "d"; shiftedText: "D" } + LetterKey { label: "f"; shiftedText: "F" } + LetterKey { label: "g"; shiftedText: "G" } + LetterKey { label: "h"; shiftedText: "H" } + LetterKey { label: "j"; shiftedText: "J" } + LetterKey { label: "k"; shiftedText: "K" } + LetterKey { label: "l"; shiftedText: "L" } + SymbolKey { label: ";"; shiftedText: ":" } + SymbolKey { label: "'"; shiftedText: "\"" } + EnterKey {} } Row { anchors.horizontalCenter: parent.horizontalCenter spacing: virtualKeyboard.keySpacing - ShiftKey{width: virtualKeyboard.keyWidth*2.5 + virtualKeyboard.keySpacing*2; alignment: Text.AlignLeft } - LetterKey{ label: "z" ; shiftedText: "Z" } - LetterKey{ label: "x" ; shiftedText: "X" } - LetterKey{ label: "c" ; shiftedText: "C" } - LetterKey{ label: "v" ; shiftedText: "V" } - LetterKey{ label: "b" ; shiftedText: "B" } - LetterKey{ label: "n" ; shiftedText: "N" } - LetterKey{ label: "m" ; shiftedText: "M" } - SymbolKey{ label: ","; shiftedText: "<" } - SymbolKey{ label: "."; shiftedText: ">" } - SymbolKey{ label: "/"; shiftedText: "?" } - ActionKey{ label: "up"; actionKeyImgPath: "qrc:/img/up.svg" } - ShiftKey{ width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignRight } + ShiftKey {width: virtualKeyboard.keyWidth*2.5 + virtualKeyboard.keySpacing*2; alignment: Text.AlignLeft } + LetterKey { label: "z" ; shiftedText: "Z" } + LetterKey { label: "x" ; shiftedText: "X" } + LetterKey { label: "c" ; shiftedText: "C" } + LetterKey { label: "v" ; shiftedText: "V" } + LetterKey { label: "b" ; shiftedText: "B" } + LetterKey { label: "n" ; shiftedText: "N" } + LetterKey { label: "m" ; shiftedText: "M" } + SymbolKey { label: ", "; shiftedText: "<" } + SymbolKey { label: "."; shiftedText: ">" } + SymbolKey { label: "/"; shiftedText: "?" } + ActionKey { label: "up"; actionKeyImgPath: "qrc:/img/up.svg" } + ShiftKey { width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignRight } } Row { anchors.horizontalCenter: parent.horizontalCenter spacing: virtualKeyboard.keySpacing - CtrlKey{} - FnKey{} + CtrlKey {} + FnKey {} //暂时删除win键 -// WinKey{} - AltKey{} - ChangeImKey{} - SpaceKey{} - AltKey{} - ActionKey{ label: "left"; actionKeyImgPath: "qrc:/img/left.svg" } - ActionKey{ label: "down"; actionKeyImgPath: "qrc:/img/down.svg" } - ActionKey{ label: "right"; actionKeyImgPath: "qrc:/img/right.svg" } - CtrlKey{} + // WinKey {} + AltKey {} + ChangeImKey {} + SpaceKey {} + AltKey {} + ActionKey { label: "left"; actionKeyImgPath: "qrc:/img/left.svg" } + ActionKey { label: "down"; actionKeyImgPath: "qrc:/img/down.svg" } + ActionKey { label: "right"; actionKeyImgPath: "qrc:/img/right.svg" } + CtrlKey {} } } diff --git a/qml/DragBar.qml b/qml/DragBar.qml index 1ec07ca..be3e2fc 100644 --- a/qml/DragBar.qml +++ b/qml/DragBar.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 Rectangle { @@ -8,47 +25,47 @@ Rectangle { radius: virtualKeyboard.virtualKeyboardFloatPlacementRadius property int startX: 0; - property int startY: 0; - - MouseArea { - anchors.fill: parent - onPressed: { - startX = mouseX - startY = mouseY - } - onPositionChanged: { - virtualKeyboard.moveBy(mouseX - startX, mouseY - startY) - } + property int startY: 0; - onReleased: { - virtualKeyboard.endDrag() - } - } - - Rectangle { - id: dragBarIndicator - anchors.centerIn: parent - width: virtualKeyboard.dragBarIndicatorWidth - height: virtualKeyboard.dragBarIndicatorHeight - color: virtualKeyboard.dragBarIndicatorColor - radius: virtualKeyboard.dragBarIndicatorRadius - } + MouseArea { + anchors.fill: parent + onPressed: { + startX = mouseX + startY = mouseY + } + onPositionChanged: { + virtualKeyboard.moveBy(mouseX - startX, mouseY - startY) + } - state: virtualKeyboard.placementMode - states: [ - State { - name: "EXPANSION" - PropertyChanges { - target: dragBar - visible: false + onReleased: { + virtualKeyboard.endDrag() + } } - }, - State { - name: "FLOAT" - PropertyChanges { - target: dragBar - visible: true + + Rectangle { + id: dragBarIndicator + anchors.centerIn: parent + width: virtualKeyboard.dragBarIndicatorWidth + height: virtualKeyboard.dragBarIndicatorHeight + color: virtualKeyboard.dragBarIndicatorColor + radius: virtualKeyboard.dragBarIndicatorRadius } + + state: virtualKeyboard.placementMode + states: [ + State { + name: "EXPANSION" + PropertyChanges { + target: dragBar + visible: false + } + }, + State { + name: "FLOAT" + PropertyChanges { + target: dragBar + visible: true + } + } + ] } - ] -} diff --git a/qml/HideButton.qml b/qml/HideButton.qml index dcd4c53..8e155b6 100644 --- a/qml/HideButton.qml +++ b/qml/HideButton.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import QtQuick.Controls 2.0 diff --git a/qml/KeyboardLayoutArea.qml b/qml/KeyboardLayoutArea.qml index 5c561a7..1075c33 100644 --- a/qml/KeyboardLayoutArea.qml +++ b/qml/KeyboardLayoutArea.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import QtQuick.Window 2.0 @@ -8,5 +25,5 @@ Rectangle { anchors.topMargin: keySpacing * 2 color: virtualKeyboard.virtualKeyboardColor - ClassicKeyboardLayout{} + ClassicKeyboardLayout {} } diff --git a/qml/PlacementModeButton.qml b/qml/PlacementModeButton.qml index f94af42..8bed5cf 100644 --- a/qml/PlacementModeButton.qml +++ b/qml/PlacementModeButton.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 Rectangle { diff --git a/qml/Preedit.qml b/qml/Preedit.qml index cae8a77..d59493e 100644 --- a/qml/Preedit.qml +++ b/qml/Preedit.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import QtQuick.Controls 2.0 diff --git a/qml/ToolArea.qml b/qml/ToolArea.qml index 5905b87..e79e712 100644 --- a/qml/ToolArea.qml +++ b/qml/ToolArea.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 Rectangle { diff --git a/qml/Toolbar.qml b/qml/Toolbar.qml index 5625265..39b7520 100644 --- a/qml/Toolbar.qml +++ b/qml/Toolbar.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 Rectangle { @@ -6,8 +23,8 @@ Rectangle { visible: virtualKeyboard.isToolbarVisible color: virtualKeyboard.virtualKeyboardColor - HideButton{id: hideButton} - PlacementModeButton{ + HideButton {id: hideButton} + PlacementModeButton { alignmentRight: hideButton } } diff --git a/qml/ToolbarAndCandidateArea.qml b/qml/ToolbarAndCandidateArea.qml index b118dbb..3068ad4 100644 --- a/qml/ToolbarAndCandidateArea.qml +++ b/qml/ToolbarAndCandidateArea.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 Rectangle { @@ -5,6 +22,6 @@ Rectangle { height: virtualKeyboard.toolAndCandidateHeight anchors.top: preedit.bottom color: virtualKeyboard.virtualKeyboardColor - Toolbar{} - CandidateList{} + Toolbar {} + CandidateList {} } diff --git a/qml/VirtualKeyboard.qml b/qml/VirtualKeyboard.qml index 3ab9702..c897494 100644 --- a/qml/VirtualKeyboard.qml +++ b/qml/VirtualKeyboard.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "js/utils.js" as Utils import QtQuick.Window 2.0 @@ -13,243 +30,256 @@ Rectangle { //候选词 property var candidateList //候选列表高亮候选的索引 - property int globalCursorIndex : -1 - //可用输入法列表 - property var currentIMList : model.currentIMList - //当前输入法名称 - property string uniqueName : model.uniqueName - //当前输入法,组成为"uniqueName|localName|label" - //TOOD 目前以“|”分割数据 - property string currentIM: "||" - - //大小相关 - /*设置默认值,防止报错,fontSize为0时会报错,加载qml文件时height为0,会导致fontSize为0*/ - property real cardinalNumber: height == 0 ? 8 : height/(placementMode === "EXPANSION" ? 64.0 : 68.5) - property int dragBarHeight: cardinalNumber * 4.5 - property int preeditHeight: cardinalNumber * 5 - property int toolAndCandidateHeight: cardinalNumber * 8 - property int keyboardLayoutHeight: cardinalNumber * 49 - property int keySpacing: cardinalNumber - property int keyWidth: (width - 5*cardinalNumber) * 2/31 - cardinalNumber - /*暂时删除win键,将空格键长度从keyWidth * 5.5 + keySpacing * 5修改为keyWidth * 6.5 + keySpacing * 6*/ - property int spaceKeyWidth: keyWidth * 6.5 + keySpacing * 6 - property int keyHeight: cardinalNumber * 9 - property int firstRowKeyHeight: keyHeight * 7/9 - property int keyLableAlignment: keyWidth / 3 - property int keyIconAlignment: keyWidth / 3 - property int virtualKeyboardAvailableHeight: placementMode === "EXPANSION" ? virtualKeyboard.height - : virtualKeyboard.height - dragBar.height - property int imListItemHeight: virtualKeyboardAvailableHeight * 1/10 - property int imListItemWidth: virtualKeyboardAvailableHeight * 5/13 - property real fontSize: keyHeight * 6/11 * 7/12 - property real shiftFontSize: fontSize / 2 - property real switchKeyFontSize: fontSize * 3/4 - property real fnSymbolKeyFontSize: fontSize * 3/4 - property real actionKeyFontSize: fontSize * 3/4 - property real preeditTextFontSize: fontSize * 3/4 - property real candidateFontSize: fontSize * 3/4 - property real imListFontSize: fontSize * 3/4 - property int preeditX: cardinalNumber * 3.5 - property int candidateListWidth: width - 7*cardinalNumber - property int toolbarSize: cardinalNumber * 3 - property int candidateListX: cardinalNumber * 2 - property int candidateListSpacing: cardinalNumber * 3 - property int keyRadius: cardinalNumber - property int longPressInterval: 1000 - property int shiftLeftMargin: cardinalNumber - property int shiftTopMargin: cardinalNumber/2 - property int imLeftMargin: cardinalNumber - property int dropShadowVerticalOffset: cardinalNumber/4 - property int dragBarIndicatorWidth: cardinalNumber * 7 - property int dragBarIndicatorHeight: cardinalNumber/2 - - //颜色相关 - property color virtualKeyboardColor: "#EBEDEF" /*虚拟键盘背景色*/ - property color charKeyNormalColor: "#FFFFFF" /*字符按键默认态颜色*/ - property color charKeyPressedColor: "#DDE0E4" /*字符按键按下态颜色*/ - property color charKeyHoverColor: "#EDF1F5" /*字符按键悬浮态颜色*/ - property color charKeyDropShadowColor: "#95A0AD" /*字符按键偏移色*/ - - property color actionKeyNormalColor: "#CED3D9" /*动作按键默认态*/ - property color actionKeyPressedColor: "#A5ACB5" /*动作按键按下态*/ - property color actionKeyHoverColor:"#C0C6CE" /*动作按键悬浮态*/ - - property color switchKeyNormalColor: "#CED3D9" /*开关按键默认态*/ - property color switchKeyPressedColor: "#A5ACB5" /*开关按键按下态*/ - property color switchKeyOpenColor: "#3690F8" /*开关按键开启态*/ - property color switchKeyOpenPressedColor: "#2C73C6" /*开关按键开启_按下态*/ - property color switchKeyHoverNormalColor: "#C0C6CE" /*开关按键默认hover态*/ - property color switchKeyHoverOpenColor: "#328AF0" /*开关按键按下hover态*/ - property color switchKeyNormalDropShadowColor: "#95A0AD" /*开关按键默认偏移色*/ - property color switchKeyOpenDropShadowColor: "#1174E5" /*开关按键开启偏移色*/ - property color switchKeyOpenPressedDropShadowColor: "#165FB3" /*开关按键开启_按下偏移色*/ - - property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ - property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ - property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ - property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ - property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ - property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ - - //圆角相关 - property int virtualKeyboardFloatPlacementRadius: 16 - property int dragBarIndicatorRadius: 2 - - //状态相关 - property string letterState: "NORMAL" - property string symbolState: "NORMAL" - property string fnSymbolState: "NORMAL" - property string capslockState: "NORMAL" - property string shiftState: "NORMAL" - property string altState: "NORMAL" - property string ctrlState: "NORMAL" - property string winState: "NORMAL" - property string changeIMState: "NORMAL" - property string switchLayoutButtonState: "NORMAL" - property string placementMode: "EXPANSION" - - //可见性相关 - property bool isToolbarVisible: true - property bool isToolAreaVisible: false - property bool isKeyBoardLayoutVisible: true - property bool isAllLayoutListVisible: false - property string layout: "classic" - property bool isCurrentIMListVisible: false - - //内部使用 - signal showToolbar() - signal showCandidateList() - signal charKeyClicked() - signal shiftClicked() - signal altClicked() - signal ctrlClicked() - signal winClicked() - - //后台发送给前台的信号 - signal qmlUpdatePreedit(string preeditText) - signal qmlUpdateCandidateList(var candidateList, int globalCursorIndex) - signal qmlImDeactivated() - signal qmlEnterExpansionPlacementMode() - signal qmlEnterFloatPlacementMode() - - function processKeyEvent(key, keycode, modifierKeyStates, - isRelease, time) { - model.processKeyEvent(key, keycode, modifierKeyStates, isRelease, time) - } - - function selectCandidate(index) { - model.selectCandidate(index) - } - - function setCurrentIM(imName) { - model.setCurrentIM(imName) - } - - function hideVirtualKeyboard() { - manager.hide() - } - - function flipPlacementMode() { - manager.flipPlacementMode() - } - - function moveBy(offsetX, offsetY) { - manager.moveBy(offsetX, offsetY) - } - - function endDrag() { - manager.endDrag() - } - - Connections { - target: virtualKeyboard - onShowToolbar: { - isToolbarVisible = true - } - onShowCandidateList: { - isToolbarVisible = false - } - onQmlUpdatePreedit: (preeditText) => { - virtualKeyboard.preeditText = preeditText - } - onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { - if(candidateList.length === 0) { - showToolbar() - } else { - virtualKeyboard.candidateList = candidateList - virtualKeyboard.globalCursorIndex = globalCursorIndex - showCandidateList() - } - } - onQmlEnterExpansionPlacementMode: { - virtualKeyboard.placementMode = "EXPANSION" - } - onQmlEnterFloatPlacementMode: { - virtualKeyboard.placementMode = "FLOAT" - } - } - - Component.onCompleted: { - charKeyClicked.connect(onCharKeyClicked) - shiftClicked.connect(onShiftClicked) - ctrlClicked.connect(onCtrlClicked) - altClicked.connect(onAltClicked) - winClicked.connect(onWinClicked) - } - - function onCharKeyClicked() { - shiftState = "NORMAL" - ctrlState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } - - function onShiftClicked() { - ctrlState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } - - function onCtrlClicked() { - shiftState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } - - function onAltClicked() { - shiftState = "NORMAL" - ctrlState = "NORMAL" - winState = "NORMAL" - } - - function onWinClicked() { - shiftState = "NORMAL" - altState = "NORMAL" - ctrlState = "NORMAL" - } - - onUniqueNameChanged: { - for(var i = 0; i { + virtualKeyboard.preeditText = preeditText + } + onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { + if (candidateList.length === 0) + { + showToolbar() + } else { + virtualKeyboard.candidateList = candidateList + virtualKeyboard.globalCursorIndex = globalCursorIndex + showCandidateList() + } + } + onQmlEnterExpansionPlacementMode: { + virtualKeyboard.placementMode = "EXPANSION" + } + onQmlEnterFloatPlacementMode: { + virtualKeyboard.placementMode = "FLOAT" + } + } + + Component.onCompleted: { + charKeyClicked.connect(onCharKeyClicked) + shiftClicked.connect(onShiftClicked) + ctrlClicked.connect(onCtrlClicked) + altClicked.connect(onAltClicked) + winClicked.connect(onWinClicked) + } + + function onCharKeyClicked() + { + shiftState = "NORMAL" + ctrlState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } + + function onShiftClicked() + { + ctrlState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } + + function onCtrlClicked() + { + shiftState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } + + function onAltClicked() + { + shiftState = "NORMAL" + ctrlState = "NORMAL" + winState = "NORMAL" + } + + function onWinClicked() + { + shiftState = "NORMAL" + altState = "NORMAL" + ctrlState = "NORMAL" + } + + onUniqueNameChanged: { + for (var i = 0; i. + */ + +function getKeySym(keyName) { var keySymList = { "shift": 1, "caps": 2, @@ -9,17 +26,17 @@ function getKeySym(keyName){ return keySymList[keyName.toLowerCase()] } -function getModifierKeyStates(){ +function getModifierKeyStates() { var result = 0 - result += shiftState=="NORMAL" ? 0 : getKeySym("shift") - result += capslockState=="NORMAL" ? 0 : getKeySym("caps") - result += ctrlState=="NORMAL" ? 0 : getKeySym("ctrl") - result += altState=="NORMAL"? 0 : getKeySym("alt") - result += winState=="NORMAL"? 0 : getKeySym("win") + result += shiftState == "NORMAL" ? 0 : getKeySym("shift") + result += capslockState == "NORMAL" ? 0 : getKeySym("caps") + result += ctrlState == "NORMAL" ? 0 : getKeySym("ctrl") + result += altState == "NORMAL" ? 0 : getKeySym("alt") + result += winState == "NORMAL" ? 0 : getKeySym("win") return result } -function getKeyCode(keyName){ +function getKeyCode(keyName) { var keyCodeList = { "esc": 0xff1b, "tab": 0xff09, @@ -49,9 +66,9 @@ function getKeyCode(keyName){ "f11": 0xffc8, "f12": 0xffc9 } - if(keyCodeList.hasOwnProperty(keyName.toLowerCase())){ + if (keyCodeList.hasOwnProperty(keyName.toLowerCase())) { return keyCodeList[keyName.toLowerCase()] - }else{ + } else { return keyName[0].charCodeAt(0) } } diff --git a/qml/key/ActionKey.qml b/qml/key/ActionKey.qml index f02f70f..4abd6d8 100755 --- a/qml/key/ActionKey.qml +++ b/qml/key/ActionKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 CharKey { @@ -10,12 +27,12 @@ CharKey { property string actionKeyImgPath keyLabel.visible: actionKeyImgPath == "" - Loader{ + Loader { width: virtualKeyboard.toolbarSize height: virtualKeyboard.toolbarSize anchors.verticalCenter: parent.verticalCenter sourceComponent: actionKeyImgPath == "" ? undefined : actionKeyComponent - anchors{ + anchors { horizontalCenter: alignment == Text.AlignHCenter ? parent.horizontalCenter : undefined right: alignment == Text.AlignRight ? parent.right : undefined rightMargin: alignment == Text.AlignRight ? virtualKeyboard.keyIconAlignment : undefined @@ -24,7 +41,7 @@ CharKey { } } - Component{ + Component { id: actionKeyComponent Image { source: actionKeyImgPath diff --git a/qml/key/AltKey.qml b/qml/key/AltKey.qml index e8b2137..c336449 100755 --- a/qml/key/AltKey.qml +++ b/qml/key/AltKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "../js/utils.js" as Utils @@ -16,7 +33,8 @@ TemporarySwitchKey { temporarySwitchKeyClicked.connect(virtualKeyboard.altClicked) } - function updateAltState(altState) { + function updateAltState(altState) + { virtualKeyboard.altState = altState } diff --git a/qml/key/BackspaceKey.qml b/qml/key/BackspaceKey.qml index 34d1b61..212ab7d 100644 --- a/qml/key/BackspaceKey.qml +++ b/qml/key/BackspaceKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 ActionKey { diff --git a/qml/key/BaseKey.qml b/qml/key/BaseKey.qml index ec2c470..7d1a3cd 100755 --- a/qml/key/BaseKey.qml +++ b/qml/key/BaseKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import QtQuick.Controls 2.0 import QtGraphicalEffects 1.0 @@ -6,40 +23,40 @@ ToolButton { width: virtualKeyboard.keyWidth height: virtualKeyboard.keyHeight property string label: "" - property real fontSize: virtualKeyboard.fontSize - property alias keyLabel: keyLabel_ - property alias keyBackground: keyBackground_ - property alias dropShadow: dropShadow_ - /*label和img对应父控件的水平对齐方式 取值为AlignHCenter:居中对齐,AlignRight:向右对齐,AlignLeft:向左对齐*/ - property int alignment: Text.AlignHCenter + property real fontSize: virtualKeyboard.fontSize + property alias keyLabel: keyLabel_ + property alias keyBackground: keyBackground_ + property alias dropShadow: dropShadow_ + /*label和img对应父控件的水平对齐方式 取值为AlignHCenter:居中对齐, AlignRight:向右对齐, AlignLeft:向左对齐*/ + property int alignment: Text.AlignHCenter - background: Rectangle { - id: keyBackground_ - radius: virtualKeyboard.keyRadius - } + background: Rectangle { + id: keyBackground_ + radius: virtualKeyboard.keyRadius + } - DropShadow { - id: dropShadow_ - anchors.fill: parent - verticalOffset: virtualKeyboard.dropShadowVerticalOffset - radius: virtualKeyboard.keyRadius - color: virtualKeyboard.charKeyDropShadowColor - source: keyBackground - samples: 100 - } + DropShadow { + id: dropShadow_ + anchors.fill: parent + verticalOffset: virtualKeyboard.dropShadowVerticalOffset + radius: virtualKeyboard.keyRadius + color: virtualKeyboard.charKeyDropShadowColor + source: keyBackground + samples: 100 + } - Label { - id: keyLabel_ - text: label - color: "black" - font.pointSize: fontSize - font.weight: Font.Light - anchors.fill: parent - padding: alignment == Text.AlignHCenter ? undefined : virtualKeyboard.keyLableAlignment - horizontalAlignment: alignment - verticalAlignment: Text.AlignVCenter - visible: true - } -} + Label { + id: keyLabel_ + text: label + color: "black" + font.pointSize: fontSize + font.weight: Font.Light + anchors.fill: parent + padding: alignment == Text.AlignHCenter ? undefined : virtualKeyboard.keyLableAlignment + horizontalAlignment: alignment + verticalAlignment: Text.AlignVCenter + visible: true + } + } diff --git a/qml/key/CapslockKey.qml b/qml/key/CapslockKey.qml index 1e16a04..3acb3b7 100755 --- a/qml/key/CapslockKey.qml +++ b/qml/key/CapslockKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "../js/utils.js" as Utils @@ -6,40 +23,41 @@ SwitchKey { switchKeyState: virtualKeyboard.capslockState keyMouseArea.onReleased: { - if(virtualKeyboard.capslockState == "NORMAL") { + if (virtualKeyboard.capslockState == "NORMAL") + { virtualKeyboard.capslockState = "OPEN" } else { - virtualKeyboard.capslockState = "NORMAL" - } - var modifierKeyState = Utils.getModifierKeyStates() - virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, false, Date()) - virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) + virtualKeyboard.capslockState = "NORMAL" } + var modifierKeyState = Utils.getModifierKeyStates() + virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, false, Date()) + virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) +} - state: virtualKeyboard.capslockState - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: virtualKeyboard - letterState : virtualKeyboard.shiftState == "NORMAL" ? "NORMAL" : "SHIFT" - } - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - }, - State { - name: "OPEN" - PropertyChanges { - target: virtualKeyboard - letterState : virtualKeyboard.shiftState == "NORMAL" ? "SHIFT" : "NORMAL" - } - PropertyChanges { - target: keyBackground - state: "OPEN" - } +state: virtualKeyboard.capslockState +states: [ + State { + name: "NORMAL" + PropertyChanges { + target: virtualKeyboard + letterState : virtualKeyboard.shiftState == "NORMAL" ? "NORMAL" : "SHIFT" + } + PropertyChanges { + target: keyBackground + state: "NORMAL" } - ] + }, + State { + name: "OPEN" + PropertyChanges { + target: virtualKeyboard + letterState : virtualKeyboard.shiftState == "NORMAL" ? "SHIFT" : "NORMAL" + } + PropertyChanges { + target: keyBackground + state: "OPEN" + } + } +] } diff --git a/qml/key/ChangeImKey.qml b/qml/key/ChangeImKey.qml index 55c6109..2d645bc 100755 --- a/qml/key/ChangeImKey.qml +++ b/qml/key/ChangeImKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import QtQuick.Controls 2.12 import QtQml 2.1 @@ -6,13 +23,13 @@ import "../js/utils.js" as Utils SwitchKey { id: changeIm label: virtualKeyboard.currentIM.split("|")[2] - + Binding { target: changeIm property: "switchKeyState" value: virtualKeyboard.changeIMState } - + Connections { target: virtualKeyboard onQmlImDeactivated: { @@ -21,105 +38,107 @@ SwitchKey { } keyMouseArea.onReleased: { - if(virtualKeyboard.changeIMState == "NORMAL"){ + if (virtualKeyboard.changeIMState == "NORMAL") + { virtualKeyboard.changeIMState = "OPEN" imList.open() - }else{ - imList.close() - } + }else { + imList.close() } - - keyMouseArea.onPressed: { - imList.currentIndex = - virtualKeyboard.currentIMList.indexOf(virtualKeyboard.currentIM) +} + +keyMouseArea.onPressed: { + imList.currentIndex = + virtualKeyboard.currentIMList.indexOf(virtualKeyboard.currentIM) +} + +state: virtualKeyboard.changeIMState +states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyBackground + state: "NORMAL" + } + PropertyChanges { + target: virtualKeyboard + isCurrentIMListVisible : false + } + }, + State { + name: "OPEN" + PropertyChanges { + target: keyBackground + state: "OPEN" + } + PropertyChanges { + target: virtualKeyboard + isCurrentIMListVisible : true + } } - - state: virtualKeyboard.changeIMState - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - PropertyChanges { - target: virtualKeyboard - isCurrentIMListVisible : false - } - }, - State { - name: "OPEN" - PropertyChanges { - target: keyBackground - state: "OPEN" - } - PropertyChanges { - target: virtualKeyboard - isCurrentIMListVisible : true +] + +Rectangle { + id: imListRectangle + anchors.bottom: parent.top + anchors.horizontalCenter: parent.horizontalCenter + visible: virtualKeyboard.isCurrentIMListVisible + width: imList.width + height: imList.height + radius: 8 + Menu { + id: imList + + onHeightChanged: { + // 切换输入法列表默认显示四个条目 + if (imList.count > 4) + { + height = imList.itemAt(0).height * 4 } } - ] - - Rectangle { - id: imListRectangle - anchors.bottom: parent.top - anchors.horizontalCenter: parent.horizontalCenter - visible: virtualKeyboard.isCurrentIMListVisible - width: imList.width - height: imList.height - radius: 8 - Menu { - id: imList - - onHeightChanged: { - // 切换输入法列表默认显示四个条目 - if (imList.count > 4) { - height = imList.itemAt(0).height * 4 + width: virtualKeyboard.imListItemWidth + modal: true + Overlay.modal:Rectangle { + color: "transparent" + } + background: Rectangle { + radius: imListRectangle.radius + width: parent.width + height: parent.height + color: "white" + } + + Instantiator { + model: virtualKeyboard.currentIMList + delegate: MenuItem { + background: Rectangle { + radius: imListRectangle.radius + color: highlighted? virtualKeyboard.currentIMColor: "white" } - } - width: virtualKeyboard.imListItemWidth - modal: true - Overlay.modal:Rectangle { - color: "transparent" - } - background: Rectangle{ - radius: imListRectangle.radius - width: parent.width - height: parent.height - color: "white" - } - - Instantiator { - model: virtualKeyboard.currentIMList - delegate: MenuItem { - background: Rectangle { - radius: imListRectangle.radius - color: highlighted? virtualKeyboard.currentIMColor: "white" - } - property string uniqueName: modelData.split("|")[0] - property string localName: modelData.split("|")[1] - property string label: modelData.split("|")[2] - font.pointSize: virtualKeyboard.imListFontSize - text: label.padEnd(3, " ") + localName - width: virtualKeyboard.imListItemWidth - height: virtualKeyboard.imListItemHeight - MouseArea{ - anchors.fill: parent - onReleased: { - virtualKeyboard.setCurrentIM(uniqueName) - imList.close() - } + property string uniqueName: modelData.split("|")[0] + property string localName: modelData.split("|")[1] + property string label: modelData.split("|")[2] + font.pointSize: virtualKeyboard.imListFontSize + text: label.padEnd(3, " ") + localName + width: virtualKeyboard.imListItemWidth + height: virtualKeyboard.imListItemHeight + MouseArea { + anchors.fill: parent + onReleased: { + virtualKeyboard.setCurrentIM(uniqueName) + imList.close() } } - - onObjectAdded: imList.insertItem(index, object) - onObjectRemoved: imList.removeItem(object) - } - - onClosed: { - virtualKeyboard.changeIMState = "NORMAL" } + + onObjectAdded: imList.insertItem(index, object) + onObjectRemoved: imList.removeItem(object) + } + + onClosed: { + virtualKeyboard.changeIMState = "NORMAL" } } - +} + } diff --git a/qml/key/CharKey.qml b/qml/key/CharKey.qml index dcd68d2..6d1176b 100755 --- a/qml/key/CharKey.qml +++ b/qml/key/CharKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import QtQuick.Controls 2.0 import "../js/utils.js" as Utils @@ -5,79 +22,79 @@ import "../js/utils.js" as Utils BaseKey { property string shiftedText property color normalColor: virtualKeyboard.charKeyNormalColor - property color pressedColor: virtualKeyboard.charKeyPressedColor - property color hoverColor: virtualKeyboard.charKeyHoverColor + property color pressedColor: virtualKeyboard.charKeyPressedColor + property color hoverColor: virtualKeyboard.charKeyHoverColor - MouseArea { - id: keyMouseArea - anchors.fill: parent - hoverEnabled: true + MouseArea { + id: keyMouseArea + anchors.fill: parent + hoverEnabled: true - onReleased: { - keyBackground.state = "NORMAL" - timer.stop() - var modifierKeyState = Utils.getModifierKeyStates() - var keycode = Utils.getKeyCode(keyLabel.text) - virtualKeyboard.processKeyEvent(keyLabel.text, keycode, modifierKeyState, false, Date()) - charKeyClicked() - } + onReleased: { + keyBackground.state = "NORMAL" + timer.stop() + var modifierKeyState = Utils.getModifierKeyStates() + var keycode = Utils.getKeyCode(keyLabel.text) + virtualKeyboard.processKeyEvent(keyLabel.text, keycode, modifierKeyState, false, Date()) + charKeyClicked() + } - onPressed: { - keyBackground.state = "PRESSED" - timer.start() - } + onPressed: { + keyBackground.state = "PRESSED" + timer.start() + } - onEntered: { - keyBackground.state = "HOVER" - } + onEntered: { + keyBackground.state = "HOVER" + } - onExited: { - keyBackground.state = "NORMAL" - } + onExited: { + keyBackground.state = "NORMAL" + } - } + } - keyBackground.state: "NORMAL" - keyBackground.states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - color: normalColor - } - PropertyChanges { - target: dropShadow - verticalOffset: virtualKeyboard.dropShadowVerticalOffset - } - }, - State { - name: "PRESSED" - PropertyChanges { - target: keyBackground - color: pressedColor - } - PropertyChanges { - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - } - }, - State { - name: "HOVER" - PropertyChanges { - target: keyBackground - color: hoverColor - } - } - ] + keyBackground.state: "NORMAL" + keyBackground.states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyBackground + color: normalColor + } + PropertyChanges { + target: dropShadow + verticalOffset: virtualKeyboard.dropShadowVerticalOffset + } + }, + State { + name: "PRESSED" + PropertyChanges { + target: keyBackground + color: pressedColor + } + PropertyChanges { + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + } + }, + State { + name: "HOVER" + PropertyChanges { + target: keyBackground + color: hoverColor + } + } + ] - Timer { - id:timer - interval: virtualKeyboard.longPressInterval - repeat: true - onTriggered: { - var modifierKeyState = Utils.getModifierKeyStates() - virtualKeyboard.processKeyEvent(keyLabel.text, Utils.getKeyCode(keyLabel.text), modifierKeyState, false, Date()) - } - } -} + Timer { + id:timer + interval: virtualKeyboard.longPressInterval + repeat: true + onTriggered: { + var modifierKeyState = Utils.getModifierKeyStates() + virtualKeyboard.processKeyEvent(keyLabel.text, Utils.getKeyCode(keyLabel.text), modifierKeyState, false, Date()) + } + } + } diff --git a/qml/key/CtrlKey.qml b/qml/key/CtrlKey.qml index 8e52c66..646802b 100755 --- a/qml/key/CtrlKey.qml +++ b/qml/key/CtrlKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "../js/utils.js" as Utils @@ -16,7 +33,8 @@ TemporarySwitchKey { temporarySwitchKeyClicked.connect(virtualKeyboard.ctrlClicked) } - function updateCtrlState(ctrlState) { + function updateCtrlState(ctrlState) + { virtualKeyboard.ctrlState = ctrlState } diff --git a/qml/key/EnterKey.qml b/qml/key/EnterKey.qml index 2ded0f0..b8ecd51 100644 --- a/qml/key/EnterKey.qml +++ b/qml/key/EnterKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 ActionKey { diff --git a/qml/key/FnKey.qml b/qml/key/FnKey.qml index 1c2ce81..755a7bf 100755 --- a/qml/key/FnKey.qml +++ b/qml/key/FnKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "../js/utils.js" as Utils @@ -7,37 +24,38 @@ SwitchKey { switchKeyState: fn.state keyMouseArea.onReleased: { - if(fn.state == "NORMAL") { + if (fn.state == "NORMAL") + { fn.state = "OPEN" } else { - fn.state = "NORMAL" - } + fn.state = "NORMAL" } +} - state: "NORMAL" - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: virtualKeyboard - fnSymbolState : virtualKeyboard.shiftState == "NORMAL" ? "NORAML" : "SHIFT" - } - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - }, - State { - name: "OPEN" - PropertyChanges { - target: virtualKeyboard - fnSymbolState : "FN" - } - PropertyChanges { - target: keyBackground - state: "OPEN" - } +state: "NORMAL" +states: [ + State { + name: "NORMAL" + PropertyChanges { + target: virtualKeyboard + fnSymbolState : virtualKeyboard.shiftState == "NORMAL" ? "NORAML" : "SHIFT" + } + PropertyChanges { + target: keyBackground + state: "NORMAL" } - ] + }, + State { + name: "OPEN" + PropertyChanges { + target: virtualKeyboard + fnSymbolState : "FN" + } + PropertyChanges { + target: keyBackground + state: "OPEN" + } + } +] } diff --git a/qml/key/FnSymbolKey.qml b/qml/key/FnSymbolKey.qml index 9bc7c8d..9af4ce9 100755 --- a/qml/key/FnSymbolKey.qml +++ b/qml/key/FnSymbolKey.qml @@ -1,10 +1,27 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 SymbolKey { height: virtualKeyboard.firstRowKeyHeight property string fnValue - + fontSize: virtualKeyboard.fnSymbolKeyFontSize state: virtualKeyboard.fnSymbolState diff --git a/qml/key/LetterKey.qml b/qml/key/LetterKey.qml index 526a40c..47ee3f6 100755 --- a/qml/key/LetterKey.qml +++ b/qml/key/LetterKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 CharKey { diff --git a/qml/key/ShiftKey.qml b/qml/key/ShiftKey.qml index aa81707..54e9c1c 100755 --- a/qml/key/ShiftKey.qml +++ b/qml/key/ShiftKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "../js/utils.js" as Utils @@ -16,7 +33,8 @@ TemporarySwitchKey { temporarySwitchKeyClicked.connect(virtualKeyboard.shiftClicked) } - function updateShiftState(shiftState) { + function updateShiftState(shiftState) + { virtualKeyboard.shiftState = shiftState } diff --git a/qml/key/SpaceKey.qml b/qml/key/SpaceKey.qml index 4f91ecd..758b011 100644 --- a/qml/key/SpaceKey.qml +++ b/qml/key/SpaceKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + ActionKey { width: virtualKeyboard.spaceKeyWidth label: "space" diff --git a/qml/key/SwitchKey.qml b/qml/key/SwitchKey.qml index 3a20915..b2a5452 100755 --- a/qml/key/SwitchKey.qml +++ b/qml/key/SwitchKey.qml @@ -1,140 +1,161 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "../js/utils.js" as Utils BaseKey { property color normalColor: virtualKeyboard.switchKeyNormalColor - property color pressedColor: virtualKeyboard.switchKeyPressedColor - property color openColor: virtualKeyboard.switchKeyOpenColor - property color openPressedColor: virtualKeyboard.switchKeyOpenPressedColor - property color hoverNormalColor: virtualKeyboard.switchKeyHoverNormalColor - property color hoverOpenColor: virtualKeyboard.switchKeyHoverOpenColor - property alias keyMouseArea: keyMouseArea_ - property string switchKeyState + property color pressedColor: virtualKeyboard.switchKeyPressedColor + property color openColor: virtualKeyboard.switchKeyOpenColor + property color openPressedColor: virtualKeyboard.switchKeyOpenPressedColor + property color hoverNormalColor: virtualKeyboard.switchKeyHoverNormalColor + property color hoverOpenColor: virtualKeyboard.switchKeyHoverOpenColor + property alias keyMouseArea: keyMouseArea_ + property string switchKeyState - fontSize: virtualKeyboard.switchKeyFontSize + fontSize: virtualKeyboard.switchKeyFontSize - Component.onCompleted: { - charKeyClicked.connect(switchKeyNormal) - } - function switchKeyNormal() { - virtualKeyboard.shiftState = "NORMAL" - virtualKeyboard.ctrlState = "NORMAL" - virtualKeyboard.altState = "NORMAL" - virtualKeyboard.winState = "NORMAL" - } + Component.onCompleted: { + charKeyClicked.connect(switchKeyNormal) + } + function switchKeyNormal() + { + virtualKeyboard.shiftState = "NORMAL" + virtualKeyboard.ctrlState = "NORMAL" + virtualKeyboard.altState = "NORMAL" + virtualKeyboard.winState = "NORMAL" + } - keyBackground.state: "NORMAL" - keyBackground.states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - color: normalColor - } - PropertyChanges{ - target: dropShadow - verticalOffset: virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyNormalDropShadowColor - } - }, - State { - name: "PRESSED" - PropertyChanges { - target: keyBackground - color: pressedColor - } - PropertyChanges{ - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyNormalDropShadowColor - } - }, - State { - name: "OPEN" - PropertyChanges { - target: keyBackground - color: openColor - } - PropertyChanges{ - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyOpenDropShadowColor - } - PropertyChanges { - target: keyLabel - color: "white" - } - }, - State { - name: "OPEN_PRESSED" - PropertyChanges { - target: keyBackground - color: openPressedColor - } - PropertyChanges{ - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyOpenPressedDropShadowColor - } - PropertyChanges { - target: keyLabel - color: "white" - } - }, - State { - name: "HOVER_NORMAL" - PropertyChanges { - target: keyBackground - color: hoverNormalColor - } - }, - State { - name: "HOVER_OPEN" - PropertyChanges { - target: keyBackground - color: hoverOpenColor - } - PropertyChanges{ - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyOpenDropShadowColor - } - PropertyChanges { - target: keyLabel - color: "white" - } - } - ] + keyBackground.state: "NORMAL" + keyBackground.states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyBackground + color: normalColor + } + PropertyChanges { + target: dropShadow + verticalOffset: virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyNormalDropShadowColor + } + }, + State { + name: "PRESSED" + PropertyChanges { + target: keyBackground + color: pressedColor + } + PropertyChanges { + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyNormalDropShadowColor + } + }, + State { + name: "OPEN" + PropertyChanges { + target: keyBackground + color: openColor + } + PropertyChanges { + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyOpenDropShadowColor + } + PropertyChanges { + target: keyLabel + color: "white" + } + }, + State { + name: "OPEN_PRESSED" + PropertyChanges { + target: keyBackground + color: openPressedColor + } + PropertyChanges { + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyOpenPressedDropShadowColor + } + PropertyChanges { + target: keyLabel + color: "white" + } + }, + State { + name: "HOVER_NORMAL" + PropertyChanges { + target: keyBackground + color: hoverNormalColor + } + }, + State { + name: "HOVER_OPEN" + PropertyChanges { + target: keyBackground + color: hoverOpenColor + } + PropertyChanges { + target: dropShadow + verticalOffset: -virtualKeyboard.dropShadowVerticalOffset + color: virtualKeyboard.switchKeyOpenDropShadowColor + } + PropertyChanges { + target: keyLabel + color: "white" + } + } + ] - MouseArea { - id: keyMouseArea_ - anchors.fill: parent - hoverEnabled: true + MouseArea { + id: keyMouseArea_ + anchors.fill: parent + hoverEnabled: true - onPressed: { - if(switchKeyState == "NORMAL") { - keyBackground.state = "PRESSED" - } else { - keyBackground.state = "OPEN_PRESSED" - } - } + onPressed: { + if (switchKeyState == "NORMAL") + { + keyBackground.state = "PRESSED" + } else { + keyBackground.state = "OPEN_PRESSED" + } + } - onEntered: { - if(switchKeyState == "NORMAL") { - keyBackground.state = "HOVER_NORMAL" - } else { - keyBackground.state = "HOVER_OPEN" - } - } + onEntered: { + if (switchKeyState == "NORMAL") + { + keyBackground.state = "HOVER_NORMAL" + } else { + keyBackground.state = "HOVER_OPEN" + } + } - onExited: { - if(switchKeyState == "NORMAL") { - keyBackground.state = "NORMAL" - } else { - keyBackground.state = "OPEN" - } - } - } -} + onExited: { + if (switchKeyState == "NORMAL") + { + keyBackground.state = "NORMAL" + } else { + keyBackground.state = "OPEN" + } + } + } + } diff --git a/qml/key/SymbolKey.qml b/qml/key/SymbolKey.qml index f08b64c..44253cd 100755 --- a/qml/key/SymbolKey.qml +++ b/qml/key/SymbolKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import QtQuick.Controls 2.0 @@ -5,46 +22,46 @@ CharKey { property alias shiftLabel: shiftLabel_ - state: virtualKeyboard.symbolState + state: virtualKeyboard.symbolState - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyLabel - text: label - } - PropertyChanges { - target:shiftLabel - text: shiftedText - } - }, + states: [ + State { + name: "NORMAL" + PropertyChanges { + target: keyLabel + text: label + } + PropertyChanges { + target:shiftLabel + text: shiftedText + } + }, - State { - name: "SHIFT" - PropertyChanges { - target: keyLabel - text: shiftedText + State { + name: "SHIFT" + PropertyChanges { + target: keyLabel + text: shiftedText + } + PropertyChanges { + target: shiftLabel + text: "" + } } - PropertyChanges { - target: shiftLabel - text: "" - } - } - ] + ] - Label { - id: shiftLabel_ - text: shiftedText - color: "black" - font.pointSize: virtualKeyboard.shiftFontSize - font.weight: Font.Light - anchors{ - left: parent.left - leftMargin: virtualKeyboard.shiftLeftMargin - top: parent.top - topMargin: virtualKeyboard.topLeftMargin + Label { + id: shiftLabel_ + text: shiftedText + color: "black" + font.pointSize: virtualKeyboard.shiftFontSize + font.weight: Font.Light + anchors { + left: parent.left + leftMargin: virtualKeyboard.shiftLeftMargin + top: parent.top + topMargin: virtualKeyboard.topLeftMargin + } + visible: true } - visible: true } -} diff --git a/qml/key/TemporarySwitchKey.qml b/qml/key/TemporarySwitchKey.qml index 1c3dd56..3900941 100644 --- a/qml/key/TemporarySwitchKey.qml +++ b/qml/key/TemporarySwitchKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "../js/utils.js" as Utils @@ -6,16 +23,17 @@ SwitchKey { signal temporarySwitchKeyClicked() keyMouseArea.onReleased: { - if(switchKeyState == "NORMAL") { + if (switchKeyState == "NORMAL") + { switchKeyState = "OPEN" } else { - switchKeyState = "NORMAL" - var modifierKeyState = Utils.getModifierKeyStates() - virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState - Utils.getKeySym(label), false, Date()) - virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) - temporarySwitchKeyClicked() - } - temporarySwitchKeyReleased(switchKeyState) + switchKeyState = "NORMAL" + var modifierKeyState = Utils.getModifierKeyStates() + virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState - Utils.getKeySym(label), false, Date()) + virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) + temporarySwitchKeyClicked() } + temporarySwitchKeyReleased(switchKeyState) +} } diff --git a/qml/key/WinKey.qml b/qml/key/WinKey.qml index 8b93237..a649f15 100755 --- a/qml/key/WinKey.qml +++ b/qml/key/WinKey.qml @@ -1,3 +1,20 @@ +/* +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ + import QtQuick 2.0 import "../js/utils.js" as Utils @@ -17,7 +34,8 @@ TemporarySwitchKey { temporarySwitchKeyClicked.connect(virtualKeyboard.winClicked) } - function updateWinState(winState) { + function updateWinState(winState) + { virtualKeyboard.winState = winState } diff --git a/src/appinputareamanager.cpp b/src/appinputareamanager.cpp index c0adef6..952ac6f 100644 --- a/src/appinputareamanager.cpp +++ b/src/appinputareamanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "appinputareamanager.h" #include diff --git a/src/appinputareamanager.h b/src/appinputareamanager.h index f8a6b12..f82de68 100644 --- a/src/appinputareamanager.h +++ b/src/appinputareamanager.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef APPINPUTAREAMANAGER_H #define APPINPUTAREAMANAGER_H diff --git a/src/geometrymanager/expansiongeometrymanager.cpp b/src/geometrymanager/expansiongeometrymanager.cpp index 50b6ac7..5f9a45f 100644 --- a/src/geometrymanager/expansiongeometrymanager.cpp +++ b/src/geometrymanager/expansiongeometrymanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "expansiongeometrymanager.h" #include "screenmanager.h" diff --git a/src/geometrymanager/expansiongeometrymanager.h b/src/geometrymanager/expansiongeometrymanager.h index a3f1672..7d37838 100644 --- a/src/geometrymanager/expansiongeometrymanager.h +++ b/src/geometrymanager/expansiongeometrymanager.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef EXPANSIONGEOMETRYMANAGER_H #define EXPANSIONGEOMETRYMANAGER_H diff --git a/src/geometrymanager/floatgeometrymanager.cpp b/src/geometrymanager/floatgeometrymanager.cpp index 4d8e30f..688cd08 100644 --- a/src/geometrymanager/floatgeometrymanager.cpp +++ b/src/geometrymanager/floatgeometrymanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "floatgeometrymanager.h" #include diff --git a/src/geometrymanager/floatgeometrymanager.h b/src/geometrymanager/floatgeometrymanager.h index e62e3f1..73bb1fb 100644 --- a/src/geometrymanager/floatgeometrymanager.h +++ b/src/geometrymanager/floatgeometrymanager.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef FLOATGEOMETRYMANAGER_H #define FLOATGEOMETRYMANAGER_H diff --git a/src/geometrymanager/geometrymanager.cpp b/src/geometrymanager/geometrymanager.cpp index c134099..e959c0a 100644 --- a/src/geometrymanager/geometrymanager.cpp +++ b/src/geometrymanager/geometrymanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "geometrymanager.h" #include "screenmanager.h" diff --git a/src/geometrymanager/geometrymanager.h b/src/geometrymanager/geometrymanager.h index ce3755a..8fbe8f7 100644 --- a/src/geometrymanager/geometrymanager.h +++ b/src/geometrymanager/geometrymanager.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef GEOMETRYMANAGER_H #define GEOMETRYMANAGER_H diff --git a/src/ipc/dbusservice.cpp b/src/ipc/dbusservice.cpp index 5e988cf..5415cfc 100644 --- a/src/ipc/dbusservice.cpp +++ b/src/ipc/dbusservice.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "dbusservice.h" #include "virtualkeyboard/virtualkeyboardmanager.h" diff --git a/src/ipc/dbusservice.h b/src/ipc/dbusservice.h index 54cafd4..3e773f7 100644 --- a/src/ipc/dbusservice.h +++ b/src/ipc/dbusservice.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef DBUSSERVICE_H #define DBUSSERVICE_H diff --git a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp index ebd3edd..a3bd1b5 100644 --- a/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp +++ b/src/ipc/fcitxvirtualkeyboardserviceproxy.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "fcitxvirtualkeyboardserviceproxy.h" // static diff --git a/src/ipc/fcitxvirtualkeyboardserviceproxy.h b/src/ipc/fcitxvirtualkeyboardserviceproxy.h index 0fd2082..3d46d19 100644 --- a/src/ipc/fcitxvirtualkeyboardserviceproxy.h +++ b/src/ipc/fcitxvirtualkeyboardserviceproxy.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef FCITXVIRTUALKEYBOARDSERVICEPROXY_H #define FCITXVIRTUALKEYBOARDSERVICEPROXY_H diff --git a/src/ipc/requestmerger.cpp b/src/ipc/requestmerger.cpp index 5181308..24c39a0 100644 --- a/src/ipc/requestmerger.cpp +++ b/src/ipc/requestmerger.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "requestmerger.h" class RequestMerger::State { diff --git a/src/ipc/requestmerger.h b/src/ipc/requestmerger.h index e1740ac..8780a9c 100644 --- a/src/ipc/requestmerger.h +++ b/src/ipc/requestmerger.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef REQUESTMERGER_H #define REQUESTMERGER_H diff --git a/src/localsettings/localsettings.h b/src/localsettings/localsettings.h index 95de9bb..6e3811e 100644 --- a/src/localsettings/localsettings.h +++ b/src/localsettings/localsettings.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef LOCALSETTINGS_H #define LOCALSETTINGS_H diff --git a/src/localsettings/viewlocalsettings.cpp b/src/localsettings/viewlocalsettings.cpp index 83b0840..2796982 100644 --- a/src/localsettings/viewlocalsettings.cpp +++ b/src/localsettings/viewlocalsettings.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "viewlocalsettings.h" #include diff --git a/src/localsettings/viewlocalsettings.h b/src/localsettings/viewlocalsettings.h index d433f2e..fbc7543 100644 --- a/src/localsettings/viewlocalsettings.h +++ b/src/localsettings/viewlocalsettings.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef VIEWLOCALSETTINGS_H #define VIEWLOCALSETTINGS_H diff --git a/src/main.cpp b/src/main.cpp index 2d3833e..d75aafe 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include #include #include diff --git a/src/screenmanager.cpp b/src/screenmanager.cpp index f68c301..d2e1cbf 100644 --- a/src/screenmanager.cpp +++ b/src/screenmanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "screenmanager.h" #include diff --git a/src/screenmanager.h b/src/screenmanager.h index 00ed422..aeb6738 100644 --- a/src/screenmanager.h +++ b/src/screenmanager.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef SCREENMANAGER_H #define SCREENMANAGER_H diff --git a/src/virtualkeyboard/placementmodemanager.cpp b/src/virtualkeyboard/placementmodemanager.cpp index b680097..4e9e790 100644 --- a/src/virtualkeyboard/placementmodemanager.cpp +++ b/src/virtualkeyboard/placementmodemanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "placementmodemanager.h" #include "localsettings/localsettings.h" diff --git a/src/virtualkeyboard/placementmodemanager.h b/src/virtualkeyboard/placementmodemanager.h index 5a0dd33..09b8f41 100644 --- a/src/virtualkeyboard/placementmodemanager.h +++ b/src/virtualkeyboard/placementmodemanager.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef PLACEMENTMODEMANAGER_H #define PLACEMENTMODEMANAGER_H diff --git a/src/virtualkeyboard/virtualkeyboardmanager.cpp b/src/virtualkeyboard/virtualkeyboardmanager.cpp index 8a7ba4c..6653af1 100644 --- a/src/virtualkeyboard/virtualkeyboardmanager.cpp +++ b/src/virtualkeyboard/virtualkeyboardmanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "virtualkeyboardmanager.h" #include diff --git a/src/virtualkeyboard/virtualkeyboardmanager.h b/src/virtualkeyboard/virtualkeyboardmanager.h index 8365fb0..1058363 100644 --- a/src/virtualkeyboard/virtualkeyboardmanager.h +++ b/src/virtualkeyboard/virtualkeyboardmanager.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef VIRTUALKEYBOARDMANAGER_H #define VIRTUALKEYBOARDMANAGER_H diff --git a/src/virtualkeyboard/virtualkeyboardmodel.cpp b/src/virtualkeyboard/virtualkeyboardmodel.cpp index efadf77..a447161 100644 --- a/src/virtualkeyboard/virtualkeyboardmodel.cpp +++ b/src/virtualkeyboard/virtualkeyboardmodel.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "virtualkeyboardmodel.h" #include diff --git a/src/virtualkeyboard/virtualkeyboardmodel.h b/src/virtualkeyboard/virtualkeyboardmodel.h index 600ee16..75f5527 100644 --- a/src/virtualkeyboard/virtualkeyboardmodel.h +++ b/src/virtualkeyboard/virtualkeyboardmodel.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef VIRTUALKEYBOARDMODEL_H #define VIRTUALKEYBOARDMODEL_H diff --git a/src/virtualkeyboard/virtualkeyboardstrategy.h b/src/virtualkeyboard/virtualkeyboardstrategy.h index 54d8d12..65ae69e 100644 --- a/src/virtualkeyboard/virtualkeyboardstrategy.h +++ b/src/virtualkeyboard/virtualkeyboardstrategy.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef VIRTUALKEYBOARDSTRATEGY_H #define VIRTUALKEYBOARDSTRATEGY_H diff --git a/src/virtualkeyboard/virtualkeyboardview.cpp b/src/virtualkeyboard/virtualkeyboardview.cpp index 70efe62..947491a 100644 --- a/src/virtualkeyboard/virtualkeyboardview.cpp +++ b/src/virtualkeyboard/virtualkeyboardview.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "virtualkeyboardview.h" #include diff --git a/src/virtualkeyboard/virtualkeyboardview.h b/src/virtualkeyboard/virtualkeyboardview.h index d50d1f2..6a5c68f 100644 --- a/src/virtualkeyboard/virtualkeyboardview.h +++ b/src/virtualkeyboard/virtualkeyboardview.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef VIRTUALKEYBOARDVIEW_H #define VIRTUALKEYBOARDVIEW_H diff --git a/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h b/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h index 948218f..a114c56 100644 --- a/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h +++ b/src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef FCITXVIRTUALKEYBOARDSERVICE_H #define FCITXVIRTUALKEYBOARDSERVICE_H diff --git a/src/virtualkeyboardentry/floatbutton.cpp b/src/virtualkeyboardentry/floatbutton.cpp index 8e7fd81..70175c6 100644 --- a/src/virtualkeyboardentry/floatbutton.cpp +++ b/src/virtualkeyboardentry/floatbutton.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "virtualkeyboardentry/floatbutton.h" #include @@ -16,7 +33,6 @@ void FloatButton::move(int x, int y) { QPushButton::move(x, y); } void FloatButton::resize(int width, int height) { setFixedSize(width, height); setIconSize(size()); - updateBorderRadius(); QPushButton::resize(width, height); } @@ -98,6 +114,21 @@ void FloatButton::mouseMoveEvent(QMouseEvent *event) { QPushButton::mouseMoveEvent(event); } +void FloatButton::paintEvent(QPaintEvent *event) { + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + painter.setBrush(QBrush(Qt::white)); + painter.setPen(Qt::transparent); + + QRect rect = this->rect(); + rect.setWidth(rect.width()); + rect.setHeight(rect.height()); + + painter.drawEllipse(rect); + + QPushButton::paintEvent(event); +} + void FloatButton::initStyle() { setAttribute(Qt::WA_TranslucentBackground); setStyleSheet("QPushButton{border-image: " @@ -108,18 +139,6 @@ void FloatButton::initStyle() { "url(:/floatbutton/img/floatbuttonpressed.svg);}"); } -void FloatButton::updateBorderRadius() { - int w = width(); - int h = height(); - QBitmap bmp(w, h); - bmp.fill(); - QPainter p(&bmp); - p.setPen(Qt::NoPen); - p.setBrush(Qt::black); - p.drawRoundedRect(bmp.rect(), w, h); - setMask(bmp); -} - void FloatButton::startClickTimer() { clickTimer_.reset(new QTimer()); clickTimer_->setSingleShot(true); diff --git a/src/virtualkeyboardentry/floatbutton.h b/src/virtualkeyboardentry/floatbutton.h index 1530977..3ca8620 100644 --- a/src/virtualkeyboardentry/floatbutton.h +++ b/src/virtualkeyboardentry/floatbutton.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef FLOATBUTTON_H #define FLOATBUTTON_H @@ -5,6 +22,7 @@ #include #include +#include #include #include #include @@ -31,6 +49,7 @@ protected: void mousePressEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override; void mouseMoveEvent(QMouseEvent *event) override; + void paintEvent(QPaintEvent *event) override; private: bool shouldPerformMouseClick() const; @@ -42,7 +61,6 @@ private: bool isFloatButtonMoved() const; void initStyle(); - void updateBorderRadius(); void startClickTimer(); void stopClickTimer(); diff --git a/src/virtualkeyboardentry/floatbuttonmanager.cpp b/src/virtualkeyboardentry/floatbuttonmanager.cpp index 5a23a6e..b25da5a 100644 --- a/src/virtualkeyboardentry/floatbuttonmanager.cpp +++ b/src/virtualkeyboardentry/floatbuttonmanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "virtualkeyboardentry/floatbuttonmanager.h" #include diff --git a/src/virtualkeyboardentry/floatbuttonmanager.h b/src/virtualkeyboardentry/floatbuttonmanager.h index a80f23f..0ea1731 100644 --- a/src/virtualkeyboardentry/floatbuttonmanager.h +++ b/src/virtualkeyboardentry/floatbuttonmanager.h @@ -1,4 +1,21 @@ -#ifndef FLOATBUTTONMANAGER_H +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + +#ifndef FLOATBUTTONMANAGER_H #define FLOATBUTTONMANAGER_H #include diff --git a/src/virtualkeyboardentry/floatbuttonstrategy.h b/src/virtualkeyboardentry/floatbuttonstrategy.h index 647755d..bae4d0d 100644 --- a/src/virtualkeyboardentry/floatbuttonstrategy.h +++ b/src/virtualkeyboardentry/floatbuttonstrategy.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef FLOATBUTTONSTRATEGY_H #define FLOATBUTTONSTRATEGY_H diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp index 80a167f..9246855 100644 --- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "virtualkeyboardentry/virtualkeyboardentrymanager.h" #include diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h index 50b7c49..bc9c0f5 100644 --- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.h +++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef VIRTUALKEYBOARDENTRYMANAGER_H #define VIRTUALKEYBOARDENTRYMANAGER_H diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp index 01fd35c..7cc431d 100644 --- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp +++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #include "virtualkeyboardentry/virtualkeyboardtrayicon.h" #include diff --git a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h index da63002..965cc65 100644 --- a/src/virtualkeyboardentry/virtualkeyboardtrayicon.h +++ b/src/virtualkeyboardentry/virtualkeyboardtrayicon.h @@ -1,3 +1,20 @@ +/* + * Copyright 2022 KylinSoft Co., Ltd. + * + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see . + */ + #ifndef VIRTUALKEYBOARDTRAYICON_H #define VIRTUALKEYBOARDTRAYICON_H -- Gitee From 3d925203a945f25202d455e4fce72e74be6e8956 Mon Sep 17 00:00:00 2001 From: hanteng Date: Wed, 20 Sep 2023 16:19:07 +0800 Subject: [PATCH 08/10] update changelog Gbp-Pq: Name 0006-update-changelog.patch --- qml/VirtualKeyboard.qml | 439 +++++++++--------- qml/js/utils.js | 30 +- .../virtualkeyboardentrymanager.cpp | 4 +- 3 files changed, 230 insertions(+), 243 deletions(-) diff --git a/qml/VirtualKeyboard.qml b/qml/VirtualKeyboard.qml index c897494..f035d36 100644 --- a/qml/VirtualKeyboard.qml +++ b/qml/VirtualKeyboard.qml @@ -30,256 +30,243 @@ Rectangle { //候选词 property var candidateList //候选列表高亮候选的索引 - property int globalCursorIndex: -11 - //可用输入法列表 - property var currentIMList: model.currentIMListt - //当前输入法名称 - property string uniqueName: model.uniqueNamee - //当前输入法,组成为"uniqueName|localName|label" - //TOOD 目前以“|”分割数据 - property string currentIM: "||" + property int globalCursorIndex : -1 + //可用输入法列表 + property var currentIMList : model.currentIMList + //当前输入法名称 + property string uniqueName : model.uniqueName + //当前输入法,组成为"uniqueName|localName|label" + //TOOD 目前以“|”分割数据 + property string currentIM: "||" - //大小相关 - /*设置默认值,防止报错,fontSize为0时会报错,加载qml文件时height为0,会导致fontSize为0*/ - property real cardinalNumber: height == 0 ? 8 : height/(placementMode === "EXPANSION" ? 64.0 : 68.5) - property int dragBarHeight: cardinalNumber * 4.5 - property int preeditHeight: cardinalNumber * 5 - property int toolAndCandidateHeight: cardinalNumber * 8 - property int keyboardLayoutHeight: cardinalNumber * 49 - property int keySpacing: cardinalNumber - property int keyWidth: (width - 5*cardinalNumber) * 2/31 - cardinalNumber - /*暂时删除win键,将空格键长度从keyWidth * 5.5 + keySpacing * 5修改为keyWidth * 6.5 + keySpacing * 6*/ - property int spaceKeyWidth: keyWidth * 6.5 + keySpacing * 6 - property int keyHeight: cardinalNumber * 9 - property int firstRowKeyHeight: keyHeight * 7/9 - property int keyLableAlignment: keyWidth / 3 - property int keyIconAlignment: keyWidth / 3 - property int virtualKeyboardAvailableHeight: placementMode === "EXPANSION" ? virtualKeyboard.height - : virtualKeyboard.height - dragBar.height - property int imListItemHeight: virtualKeyboardAvailableHeight * 1/10 - property int imListItemWidth: virtualKeyboardAvailableHeight * 5/13 - property real fontSize: keyHeight * 6/11 * 7/12 - property real shiftFontSize: fontSize / 2 - property real switchKeyFontSize: fontSize * 3/4 - property real fnSymbolKeyFontSize: fontSize * 3/4 - property real actionKeyFontSize: fontSize * 3/4 - property real preeditTextFontSize: fontSize * 3/4 - property real candidateFontSize: fontSize * 3/4 - property real imListFontSize: fontSize * 3/4 - property int preeditX: cardinalNumber * 3.5 - property int candidateListWidth: width - 7*cardinalNumber - property int toolbarSize: cardinalNumber * 3 - property int candidateListX: cardinalNumber * 2 - property int candidateListSpacing: cardinalNumber * 3 - property int keyRadius: cardinalNumber - property int longPressInterval: 1000 - property int shiftLeftMargin: cardinalNumber - property int shiftTopMargin: cardinalNumber/2 - property int imLeftMargin: cardinalNumber - property int dropShadowVerticalOffset: cardinalNumber/4 - property int dragBarIndicatorWidth: cardinalNumber * 7 - property int dragBarIndicatorHeight: cardinalNumber/2 + //大小相关 + /*设置默认值,防止报错,fontSize为0时会报错,加载qml文件时height为0,会导致fontSize为0*/ + property real cardinalNumber: height == 0 ? 8 : height/(placementMode === "EXPANSION" ? 64.0 : 68.5) + property int dragBarHeight: cardinalNumber * 4.5 + property int preeditHeight: cardinalNumber * 5 + property int toolAndCandidateHeight: cardinalNumber * 8 + property int keyboardLayoutHeight: cardinalNumber * 49 + property int keySpacing: cardinalNumber + property int keyWidth: (width - 5*cardinalNumber) * 2/31 - cardinalNumber + /*暂时删除win键,将空格键长度从keyWidth * 5.5 + keySpacing * 5修改为keyWidth * 6.5 + keySpacing * 6*/ + property int spaceKeyWidth: keyWidth * 6.5 + keySpacing * 6 + property int keyHeight: cardinalNumber * 9 + property int firstRowKeyHeight: keyHeight * 7/9 + property int keyLableAlignment: keyWidth / 3 + property int keyIconAlignment: keyWidth / 3 + property int virtualKeyboardAvailableHeight: placementMode === "EXPANSION" ? virtualKeyboard.height + : virtualKeyboard.height - dragBar.height + property int imListItemHeight: virtualKeyboardAvailableHeight * 1/10 + property int imListItemWidth: virtualKeyboardAvailableHeight * 5/13 + property real fontSize: keyHeight * 6/11 * 7/12 + property real shiftFontSize: fontSize / 2 + property real switchKeyFontSize: fontSize * 3/4 + property real fnSymbolKeyFontSize: fontSize * 3/4 + property real actionKeyFontSize: fontSize * 3/4 + property real preeditTextFontSize: fontSize * 3/4 + property real candidateFontSize: fontSize * 3/4 + property real imListFontSize: fontSize * 3/4 + property int preeditX: cardinalNumber * 3.5 + property int candidateListWidth: width - 7*cardinalNumber + property int toolbarSize: cardinalNumber * 3 + property int candidateListX: cardinalNumber * 2 + property int candidateListSpacing: cardinalNumber * 3 + property int keyRadius: cardinalNumber + property int longPressInterval: 1000 + property int shiftLeftMargin: cardinalNumber + property int shiftTopMargin: cardinalNumber/2 + property int imLeftMargin: cardinalNumber + property int dropShadowVerticalOffset: cardinalNumber/4 + property int dragBarIndicatorWidth: cardinalNumber * 7 + property int dragBarIndicatorHeight: cardinalNumber/2 - //颜色相关 - property color virtualKeyboardColor: "#EBEDEF" /*虚拟键盘背景色*/ - property color charKeyNormalColor: "#FFFFFF" /*字符按键默认态颜色*/ - property color charKeyPressedColor: "#DDE0E4" /*字符按键按下态颜色*/ - property color charKeyHoverColor: "#EDF1F5" /*字符按键悬浮态颜色*/ - property color charKeyDropShadowColor: "#95A0AD" /*字符按键偏移色*/ + //颜色相关 + property color virtualKeyboardColor: "#EBEDEF" /*虚拟键盘背景色*/ + property color charKeyNormalColor: "#FFFFFF" /*字符按键默认态颜色*/ + property color charKeyPressedColor: "#DDE0E4" /*字符按键按下态颜色*/ + property color charKeyHoverColor: "#EDF1F5" /*字符按键悬浮态颜色*/ + property color charKeyDropShadowColor: "#95A0AD" /*字符按键偏移色*/ - property color actionKeyNormalColor: "#CED3D9" /*动作按键默认态*/ - property color actionKeyPressedColor: "#A5ACB5" /*动作按键按下态*/ - property color actionKeyHoverColor: "#C0C6CE" /*动作按键悬浮态*/ + property color actionKeyNormalColor: "#CED3D9" /*动作按键默认态*/ + property color actionKeyPressedColor: "#A5ACB5" /*动作按键按下态*/ + property color actionKeyHoverColor:"#C0C6CE" /*动作按键悬浮态*/ - property color switchKeyNormalColor: "#CED3D9" /*开关按键默认态*/ - property color switchKeyPressedColor: "#A5ACB5" /*开关按键按下态*/ - property color switchKeyOpenColor: "#3690F8" /*开关按键开启态*/ - property color switchKeyOpenPressedColor: "#2C73C6" /*开关按键开启_按下态*/ - property color switchKeyHoverNormalColor: "#C0C6CE" /*开关按键默认hover态*/ - property color switchKeyHoverOpenColor: "#328AF0" /*开关按键按下hover态*/ - property color switchKeyNormalDropShadowColor: "#95A0AD" /*开关按键默认偏移色*/ - property color switchKeyOpenDropShadowColor: "#1174E5" /*开关按键开启偏移色*/ - property color switchKeyOpenPressedDropShadowColor: "#165FB3" /*开关按键开启_按下偏移色*/ + property color switchKeyNormalColor: "#CED3D9" /*开关按键默认态*/ + property color switchKeyPressedColor: "#A5ACB5" /*开关按键按下态*/ + property color switchKeyOpenColor: "#3690F8" /*开关按键开启态*/ + property color switchKeyOpenPressedColor: "#2C73C6" /*开关按键开启_按下态*/ + property color switchKeyHoverNormalColor: "#C0C6CE" /*开关按键默认hover态*/ + property color switchKeyHoverOpenColor: "#328AF0" /*开关按键按下hover态*/ + property color switchKeyNormalDropShadowColor: "#95A0AD" /*开关按键默认偏移色*/ + property color switchKeyOpenDropShadowColor: "#1174E5" /*开关按键开启偏移色*/ + property color switchKeyOpenPressedDropShadowColor: "#165FB3" /*开关按键开启_按下偏移色*/ - property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ - property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ - property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ - property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ - property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ - property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ + property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ + property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ + property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ + property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ + property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ + property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ - //圆角相关 - property int virtualKeyboardFloatPlacementRadius: 16 - property int dragBarIndicatorRadius: 2 + //圆角相关 + property int virtualKeyboardFloatPlacementRadius: 16 + property int dragBarIndicatorRadius: 2 - //状态相关 - property string letterState: "NORMAL" - property string symbolState: "NORMAL" - property string fnSymbolState: "NORMAL" - property string capslockState: "NORMAL" - property string shiftState: "NORMAL" - property string altState: "NORMAL" - property string ctrlState: "NORMAL" - property string winState: "NORMAL" - property string changeIMState: "NORMAL" - property string switchLayoutButtonState: "NORMAL" - property string placementMode: "EXPANSION" + //状态相关 + property string letterState: "NORMAL" + property string symbolState: "NORMAL" + property string fnSymbolState: "NORMAL" + property string capslockState: "NORMAL" + property string shiftState: "NORMAL" + property string altState: "NORMAL" + property string ctrlState: "NORMAL" + property string winState: "NORMAL" + property string changeIMState: "NORMAL" + property string switchLayoutButtonState: "NORMAL" + property string placementMode: "EXPANSION" - //可见性相关 - property bool isToolbarVisible: true - property bool isToolAreaVisible: false - property bool isKeyBoardLayoutVisible: true - property bool isAllLayoutListVisible: false - property string layout: "classic" - property bool isCurrentIMListVisible: false + //可见性相关 + property bool isToolbarVisible: true + property bool isToolAreaVisible: false + property bool isKeyBoardLayoutVisible: true + property bool isAllLayoutListVisible: false + property string layout: "classic" + property bool isCurrentIMListVisible: false - //内部使用 - signal showToolbar() - signal showCandidateList() - signal charKeyClicked() - signal shiftClicked() - signal altClicked() - signal ctrlClicked() - signal winClicked() + //内部使用 + signal showToolbar() + signal showCandidateList() + signal charKeyClicked() + signal shiftClicked() + signal altClicked() + signal ctrlClicked() + signal winClicked() - //后台发送给前台的信号 - signal qmlUpdatePreedit(string preeditText) - signal qmlUpdateCandidateList(var candidateList, int globalCursorIndex) - signal qmlImDeactivated() - signal qmlEnterExpansionPlacementMode() - signal qmlEnterFloatPlacementMode() + //后台发送给前台的信号 + signal qmlUpdatePreedit(string preeditText) + signal qmlUpdateCandidateList(var candidateList, int globalCursorIndex) + signal qmlImDeactivated() + signal qmlEnterExpansionPlacementMode() + signal qmlEnterFloatPlacementMode() - function processKeyEvent(key, keycode, modifierKeyStates, - isRelease, time) { - model.processKeyEvent(key, keycode, modifierKeyStates, isRelease, time) - } + function processKeyEvent(key, keycode, modifierKeyStates, + isRelease, time) { + model.processKeyEvent(key, keycode, modifierKeyStates, isRelease, time) + } - function selectCandidate(index) - { - model.selectCandidate(index) - } + function selectCandidate(index) { + model.selectCandidate(index) + } - function setCurrentIM(imName) - { - model.setCurrentIM(imName) - } + function setCurrentIM(imName) { + model.setCurrentIM(imName) + } - function hideVirtualKeyboard() - { - manager.hide() - } + function hideVirtualKeyboard() { + manager.hide() + } - function flipPlacementMode() - { - manager.flipPlacementMode() - } + function flipPlacementMode() { + manager.flipPlacementMode() + } - function moveBy(offsetX, offsetY) - { - manager.moveBy(offsetX, offsetY) - } + function moveBy(offsetX, offsetY) { + manager.moveBy(offsetX, offsetY) + } - function endDrag() - { - manager.endDrag() - } + function endDrag() { + manager.endDrag() + } - Connections { - target: virtualKeyboard - onShowToolbar: { - isToolbarVisible = true - } - onShowCandidateList: { - isToolbarVisible = false - } - onQmlUpdatePreedit: (preeditText) => { - virtualKeyboard.preeditText = preeditText - } - onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { - if (candidateList.length === 0) - { - showToolbar() - } else { - virtualKeyboard.candidateList = candidateList - virtualKeyboard.globalCursorIndex = globalCursorIndex - showCandidateList() - } - } - onQmlEnterExpansionPlacementMode: { - virtualKeyboard.placementMode = "EXPANSION" - } - onQmlEnterFloatPlacementMode: { - virtualKeyboard.placementMode = "FLOAT" - } - } + Connections { + target: virtualKeyboard + onShowToolbar: { + isToolbarVisible = true + } + onShowCandidateList: { + isToolbarVisible = false + } + onQmlUpdatePreedit: (preeditText) => { + virtualKeyboard.preeditText = preeditText + } + onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { + if(candidateList.length === 0) { + showToolbar() + } else { + virtualKeyboard.candidateList = candidateList + virtualKeyboard.globalCursorIndex = globalCursorIndex + showCandidateList() + } + } + onQmlEnterExpansionPlacementMode: { + virtualKeyboard.placementMode = "EXPANSION" + } + onQmlEnterFloatPlacementMode: { + virtualKeyboard.placementMode = "FLOAT" + } + } - Component.onCompleted: { - charKeyClicked.connect(onCharKeyClicked) - shiftClicked.connect(onShiftClicked) - ctrlClicked.connect(onCtrlClicked) - altClicked.connect(onAltClicked) - winClicked.connect(onWinClicked) - } + Component.onCompleted: { + charKeyClicked.connect(onCharKeyClicked) + shiftClicked.connect(onShiftClicked) + ctrlClicked.connect(onCtrlClicked) + altClicked.connect(onAltClicked) + winClicked.connect(onWinClicked) + } - function onCharKeyClicked() - { - shiftState = "NORMAL" - ctrlState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } + function onCharKeyClicked() { + shiftState = "NORMAL" + ctrlState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } - function onShiftClicked() - { - ctrlState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } + function onShiftClicked() { + ctrlState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } - function onCtrlClicked() - { - shiftState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } + function onCtrlClicked() { + shiftState = "NORMAL" + altState = "NORMAL" + winState = "NORMAL" + } - function onAltClicked() - { - shiftState = "NORMAL" - ctrlState = "NORMAL" - winState = "NORMAL" - } + function onAltClicked() { + shiftState = "NORMAL" + ctrlState = "NORMAL" + winState = "NORMAL" + } - function onWinClicked() - { - shiftState = "NORMAL" - altState = "NORMAL" - ctrlState = "NORMAL" - } + function onWinClicked() { + shiftState = "NORMAL" + altState = "NORMAL" + ctrlState = "NORMAL" + } - onUniqueNameChanged: { - for (var i = 0; i. - */ +* Copyright 2022 KylinSoft Co., Ltd. +* +* This program is free software: you can redistribute it and/or modify it under +* the terms of the GNU General Public License as published by the Free Software +* Foundation, either version 3 of the License, or (at your option) any later +* version. +* +* This program is distributed in the hope that it will be useful, but WITHOUT +* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +* details. +* +* You should have received a copy of the GNU General Public License along with +* this program. If not, see . +*/ function getKeySym(keyName) { var keySymList = { diff --git a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp index 9246855..ca9e460 100644 --- a/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp +++ b/src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp @@ -47,8 +47,8 @@ void VirtualKeyboardEntryManager::initTrayIcon( } void VirtualKeyboardEntryManager::initFloatButtonContextMenuAndAction() { - floatButtonContextMenu_.reset(new QMenu); - floatButtonContextMenuAction_.reset(new QAction); + floatButtonContextMenu_.reset(new QMenu()); + floatButtonContextMenuAction_.reset(new QAction()); floatButtonContextMenu_->addAction(floatButtonContextMenuAction_.get()); -- Gitee From d183e5f9cc7936b8b645969fadd6d0709c0ec51f Mon Sep 17 00:00:00 2001 From: yangjianhao Date: Mon, 24 Jun 2024 15:52:36 +0800 Subject: [PATCH 09/10] squash commits to on commit. --- .clang-format | 6 +- .gitignore | 3 + CMakeLists.txt | 27 ++ debian/.gitignore | 5 + debian/changelog | 55 +++ debian/control | 12 +- debian/source/format | 2 +- examples/CMakeLists.txt | 3 + examples/virtual_keyboard/CMakeLists.txt | 4 + .../virtual_keyboard/fcitx/CMakeLists.txt | 4 + .../fcitx/controller/CMakeLists.txt | 29 ++ .../fcitx/controller/main.cpp | 86 ++++ .../fcitx/im_panel/CMakeLists.txt | 29 ++ .../virtual_keyboard/fcitx/im_panel/main.cpp | 94 ++++ .../fcitx/virtual_keyboard/CMakeLists.txt | 30 ++ .../fcitx/virtual_keyboard/main.cpp | 95 ++++ .../virtual_keyboard_backend/CMakeLists.txt | 30 ++ .../fcitx/virtual_keyboard_backend/main.cpp | 86 ++++ floatbutton.qrc | 10 - img/backspace.svg | 5 - img/close.svg | 4 - img/close_pressed.svg | 4 - img/disablefloatbutton.svg | 4 - img/down.svg | 3 - img/downfloat.svg | 6 - img/enablefloatbutton.svg | 9 - img/enter.svg | 4 - img/floatbutton_default.qrc | 2 - img/floatbuttondefault.svg | 8 - img/floatbuttonhovered.svg | 6 - img/floatbuttonpressed.svg | 6 - img/left.svg | 3 - img/right.svg | 3 - img/space.svg | 10 - img/up.svg | 3 - img/upfloat.svg | 6 - kylin-virtual-keyboard.pro | 81 ---- qml.qrc | 45 -- qml/CandidateList.qml | 69 --- qml/ClassicKeyboardLayout.qml | 118 ----- qml/DragBar.qml | 71 --- qml/HideButton.qml | 48 -- qml/KeyboardLayoutArea.qml | 29 -- qml/PlacementModeButton.qml | 59 --- qml/Preedit.qml | 34 -- qml/ToolArea.qml | 26 -- qml/Toolbar.qml | 30 -- qml/ToolbarAndCandidateArea.qml | 27 -- qml/VirtualKeyboard.qml | 272 ------------ qml/js/utils.js | 78 ---- qml/key/ActionKey.qml | 50 --- qml/key/AltKey.qml | 58 --- qml/key/BackspaceKey.qml | 26 -- qml/key/BaseKey.qml | 62 --- qml/key/CapslockKey.qml | 63 --- qml/key/ChangeImKey.qml | 144 ------ qml/key/CharKey.qml | 100 ----- qml/key/CtrlKey.qml | 59 --- qml/key/EnterKey.qml | 25 -- qml/key/FnKey.qml | 61 --- qml/key/FnSymbolKey.qml | 42 -- qml/key/LetterKey.qml | 41 -- qml/key/ShiftKey.qml | 68 --- qml/key/SpaceKey.qml | 22 - qml/key/SwitchKey.qml | 161 ------- qml/key/SymbolKey.qml | 67 --- qml/key/TemporarySwitchKey.qml | 39 -- qml/key/WinKey.qml | 60 --- src/CMakeLists.txt | 7 + src/appinputareamanager.cpp | 53 --- src/appinputareamanager.h | 48 -- src/apps/CMakeLists.txt | 1 + src/apps/fcitx/CMakeLists.txt | 3 + src/apps/fcitx/qt/CMakeLists.txt | 61 +++ .../fcitx/qt/fonts/HarmonyOS_Sans_SC_Bold.ttf | Bin 0 -> 8158996 bytes .../qt/fonts/HarmonyOS_Sans_SC_Regular.ttf | Bin 0 -> 8261128 bytes src/apps/fcitx/qt/img/backspace.svg | 4 + src/apps/fcitx/qt/img/candidate_list_next.svg | 11 + src/apps/fcitx/qt/img/candidate_list_prev.svg | 11 + src/apps/fcitx/qt/img/down.svg | 3 + src/apps/fcitx/qt/img/dragbar_pressed.svg | 3 + src/apps/fcitx/qt/img/dragbar_released.svg | 3 + src/apps/fcitx/qt/img/en_to_zh.svg | 4 + src/apps/fcitx/qt/img/enter.svg | 3 + src/apps/fcitx/qt/img/hide_button.svg | 3 + src/apps/fcitx/qt/img/im_in_used.svg | 3 + src/apps/fcitx/qt/img/left.svg | 3 + src/apps/fcitx/qt/img/right.svg | 3 + src/apps/fcitx/qt/img/shift_pressed.svg | 3 + src/apps/fcitx/qt/img/shift_released.svg | 3 + src/apps/fcitx/qt/img/up.svg | 3 + src/apps/fcitx/qt/img/zh_to_en.svg | 5 + src/apps/fcitx/qt/main.cpp | 16 + .../fcitx/qt/model/virtual_keyboard_model.cpp | 51 +++ .../fcitx/qt/model/virtual_keyboard_model.h | 30 ++ src/apps/fcitx/qt/qml.qrc | 68 +++ src/apps/fcitx/qt/qml/Candidate.qml | 32 ++ src/apps/fcitx/qt/qml/CandidateListArea.qml | 145 +++++++ src/apps/fcitx/qt/qml/DragBar.qml | 39 ++ src/apps/fcitx/qt/qml/HeaderLineArea.qml | 18 + src/apps/fcitx/qt/qml/HideButton.qml | 26 ++ src/apps/fcitx/qt/qml/IM.qml | 36 ++ src/apps/fcitx/qt/qml/InputMethodList.qml | 52 +++ src/apps/fcitx/qt/qml/MainKeyboardArea.qml | 393 +++++++++++++++++ src/apps/fcitx/qt/qml/PreeditArea.qml | 40 ++ src/apps/fcitx/qt/qml/SpecialSymbolArea.qml | 49 +++ src/apps/fcitx/qt/qml/SymbolKeyboardArea.qml | 204 +++++++++ src/apps/fcitx/qt/qml/VirtualKeyboard.qml | 307 +++++++++++++ src/apps/fcitx/qt/qml/key/AltKey.qml | 29 ++ src/apps/fcitx/qt/qml/key/BackSpaceKey.qml | 26 ++ src/apps/fcitx/qt/qml/key/BasicKey.qml | 13 + src/apps/fcitx/qt/qml/key/CapsLockKey.qml | 70 +++ src/apps/fcitx/qt/qml/key/CharKey.qml | 23 + src/apps/fcitx/qt/qml/key/CharKeyGray.qml | 38 ++ src/apps/fcitx/qt/qml/key/CtrlKey.qml | 30 ++ src/apps/fcitx/qt/qml/key/DelKey.qml | 22 + src/apps/fcitx/qt/qml/key/DirectionKey.qml | 24 + .../fcitx/qt/qml/key/DownDirectionKey.qml | 8 + src/apps/fcitx/qt/qml/key/En2ZhSwitchKey.qml | 85 ++++ src/apps/fcitx/qt/qml/key/EnterKey.qml | 26 ++ src/apps/fcitx/qt/qml/key/EscKey.qml | 25 ++ src/apps/fcitx/qt/qml/key/FnKey.qml | 52 +++ src/apps/fcitx/qt/qml/key/FnSymbolKey.qml | 173 ++++++++ src/apps/fcitx/qt/qml/key/ImageKey.qml | 31 ++ .../fcitx/qt/qml/key/InputMethodSwitchKey.qml | 26 ++ src/apps/fcitx/qt/qml/key/KeyDropShadow.qml | 39 ++ .../fcitx/qt/qml/key/KeyboardSwitchKey.qml | 48 ++ .../fcitx/qt/qml/key/LeftDirectionKey.qml | 8 + src/apps/fcitx/qt/qml/key/LeftShiftKey.qml | 7 + src/apps/fcitx/qt/qml/key/LetterKey.qml | 51 +++ src/apps/fcitx/qt/qml/key/PageDownKey.qml | 26 ++ src/apps/fcitx/qt/qml/key/PageKey.qml | 11 + src/apps/fcitx/qt/qml/key/PageUpKey.qml | 25 ++ .../fcitx/qt/qml/key/RightDirectionKey.qml | 8 + src/apps/fcitx/qt/qml/key/RightShiftKey.qml | 7 + src/apps/fcitx/qt/qml/key/ShiftKey.qml | 36 ++ src/apps/fcitx/qt/qml/key/ShiftSymbolKey.qml | 74 ++++ src/apps/fcitx/qt/qml/key/SpaceKey.qml | 24 + .../fcitx/qt/qml/key/SpecialSymbolKey.qml | 141 ++++++ src/apps/fcitx/qt/qml/key/SymbolKey.qml | 49 +++ src/apps/fcitx/qt/qml/key/TabKey.qml | 27 ++ src/apps/fcitx/qt/qml/key/UpDirectionKey.qml | 8 + .../fcitx/qt/view/virtual_keyboard_view.cpp | 72 +++ .../fcitx/qt/view/virtual_keyboard_view.h | 26 ++ .../fcitx/qt/virtual_keyboard_manager.cpp | 409 ++++++++++++++++++ src/apps/fcitx/qt/virtual_keyboard_manager.h | 80 ++++ .../expansiongeometrymanager.cpp | 51 --- .../expansiongeometrymanager.h | 37 -- src/geometrymanager/floatgeometrymanager.cpp | 203 --------- src/geometrymanager/floatgeometrymanager.h | 102 ----- src/geometrymanager/geometrymanager.cpp | 34 -- src/geometrymanager/geometrymanager.h | 51 --- src/ipc/dbusservice.cpp | 93 ---- src/ipc/dbusservice.h | 65 --- src/ipc/fcitxvirtualkeyboardserviceproxy.cpp | 42 -- src/ipc/fcitxvirtualkeyboardserviceproxy.h | 44 -- src/libs/CMakeLists.txt | 1 + src/libs/virtual_keyboard/CMakeLists.txt | 6 + .../virtual_keyboard/fcitx/CMakeLists.txt | 52 +++ .../fcitx/backend/virtual_keyboard_backend.h | 21 + .../virtual_keyboard_backend_qt_dbus.cpp | 97 +++++ .../virtual_keyboard_backend_qt_dbus.h | 40 ++ .../fcitx/controller/controller_proxy.h | 21 + .../controller/controller_proxy_qt_dbus.cpp | 148 +++++++ .../controller/controller_proxy_qt_dbus.h | 31 ++ .../full_im_group_info_qt_meta_type.cpp | 60 +++ .../full_im_group_info_qt_meta_type.h | 68 +++ .../fcitx/controller/im_group_info.h | 18 + .../fcitx/controller/im_info.h | 21 + .../fcitx/dbus_service_watch_notify.h | 15 + src/libs/virtual_keyboard/fcitx/from.h | 14 + .../fcitx/im_panel/im_panel_proxy.h | 18 + .../fcitx/im_panel/im_panel_proxy_notify.h | 27 ++ .../fcitx/im_panel/im_panel_proxy_qt_dbus.cpp | 110 +++++ .../fcitx/im_panel/im_panel_proxy_qt_dbus.h | 40 ++ .../fcitx/input_method_info.h | 20 + .../fcitx/input_method_mode.h | 11 + .../fcitx/request_merger.cpp} | 113 +++-- .../virtual_keyboard/fcitx/request_merger.h} | 38 +- src/libs/virtual_keyboard/fcitx/type.h | 20 + .../virtual_keyboard/fcitx/virtual_keyboard.h | 28 ++ .../fcitx/virtual_keyboard_factory.cpp | 12 + .../fcitx/virtual_keyboard_factory.h | 21 + .../fcitx/virtual_keyboard_notify.h | 23 + .../fcitx/virtual_keyboard_qt_dbus.cpp | 254 +++++++++++ .../fcitx/virtual_keyboard_qt_dbus.h | 69 +++ src/localsettings/localsettings.h | 36 -- src/localsettings/viewlocalsettings.cpp | 94 ---- src/localsettings/viewlocalsettings.h | 51 --- src/main.cpp | 47 -- src/screenmanager.cpp | 31 -- src/screenmanager.h | 33 -- src/virtualkeyboard/placementmodemanager.cpp | 75 ---- src/virtualkeyboard/placementmodemanager.h | 60 --- .../virtualkeyboardmanager.cpp | 228 ---------- src/virtualkeyboard/virtualkeyboardmanager.h | 104 ----- src/virtualkeyboard/virtualkeyboardmodel.cpp | 197 --------- src/virtualkeyboard/virtualkeyboardmodel.h | 101 ----- src/virtualkeyboard/virtualkeyboardstrategy.h | 61 --- src/virtualkeyboard/virtualkeyboardview.cpp | 81 ---- src/virtualkeyboard/virtualkeyboardview.h | 57 --- .../fcitxvirtualkeyboardservice.h | 32 -- src/virtualkeyboardentry/floatbutton.cpp | 152 ------- src/virtualkeyboardentry/floatbutton.h | 80 ---- .../floatbuttonmanager.cpp | 176 -------- src/virtualkeyboardentry/floatbuttonmanager.h | 86 ---- .../floatbuttonstrategy.h | 59 --- .../virtualkeyboardentrymanager.cpp | 105 ----- .../virtualkeyboardentrymanager.h | 66 --- .../virtualkeyboardtrayicon.cpp | 65 --- .../virtualkeyboardtrayicon.h | 56 --- translations.qrc | 8 - translations/translation.qm | Bin 396 -> 0 bytes translations/translation.ts | 25 -- translations/translation_bo_CN.qm | Bin 441 -> 0 bytes translations/translation_bo_CN.ts | 25 -- translations/translation_en.qm | Bin 396 -> 0 bytes translations/translation_en.ts | 25 -- translations/translation_zh_CN.qm | Bin 299 -> 0 bytes translations/translation_zh_CN.ts | 25 -- 220 files changed, 5475 insertions(+), 5360 deletions(-) create mode 100644 .gitignore create mode 100644 CMakeLists.txt create mode 100644 debian/.gitignore create mode 100644 examples/CMakeLists.txt create mode 100644 examples/virtual_keyboard/CMakeLists.txt create mode 100644 examples/virtual_keyboard/fcitx/CMakeLists.txt create mode 100644 examples/virtual_keyboard/fcitx/controller/CMakeLists.txt create mode 100644 examples/virtual_keyboard/fcitx/controller/main.cpp create mode 100644 examples/virtual_keyboard/fcitx/im_panel/CMakeLists.txt create mode 100644 examples/virtual_keyboard/fcitx/im_panel/main.cpp create mode 100644 examples/virtual_keyboard/fcitx/virtual_keyboard/CMakeLists.txt create mode 100644 examples/virtual_keyboard/fcitx/virtual_keyboard/main.cpp create mode 100644 examples/virtual_keyboard/fcitx/virtual_keyboard_backend/CMakeLists.txt create mode 100644 examples/virtual_keyboard/fcitx/virtual_keyboard_backend/main.cpp delete mode 100644 floatbutton.qrc delete mode 100644 img/backspace.svg delete mode 100644 img/close.svg delete mode 100644 img/close_pressed.svg delete mode 100644 img/disablefloatbutton.svg delete mode 100644 img/down.svg delete mode 100644 img/downfloat.svg delete mode 100644 img/enablefloatbutton.svg delete mode 100644 img/enter.svg delete mode 100644 img/floatbutton_default.qrc delete mode 100644 img/floatbuttondefault.svg delete mode 100644 img/floatbuttonhovered.svg delete mode 100644 img/floatbuttonpressed.svg delete mode 100644 img/left.svg delete mode 100644 img/right.svg delete mode 100644 img/space.svg delete mode 100644 img/up.svg delete mode 100644 img/upfloat.svg delete mode 100644 kylin-virtual-keyboard.pro delete mode 100644 qml.qrc delete mode 100644 qml/CandidateList.qml delete mode 100644 qml/ClassicKeyboardLayout.qml delete mode 100644 qml/DragBar.qml delete mode 100644 qml/HideButton.qml delete mode 100644 qml/KeyboardLayoutArea.qml delete mode 100644 qml/PlacementModeButton.qml delete mode 100644 qml/Preedit.qml delete mode 100644 qml/ToolArea.qml delete mode 100644 qml/Toolbar.qml delete mode 100644 qml/ToolbarAndCandidateArea.qml delete mode 100644 qml/VirtualKeyboard.qml delete mode 100644 qml/js/utils.js delete mode 100755 qml/key/ActionKey.qml delete mode 100755 qml/key/AltKey.qml delete mode 100644 qml/key/BackspaceKey.qml delete mode 100755 qml/key/BaseKey.qml delete mode 100755 qml/key/CapslockKey.qml delete mode 100755 qml/key/ChangeImKey.qml delete mode 100755 qml/key/CharKey.qml delete mode 100755 qml/key/CtrlKey.qml delete mode 100644 qml/key/EnterKey.qml delete mode 100755 qml/key/FnKey.qml delete mode 100755 qml/key/FnSymbolKey.qml delete mode 100755 qml/key/LetterKey.qml delete mode 100755 qml/key/ShiftKey.qml delete mode 100644 qml/key/SpaceKey.qml delete mode 100755 qml/key/SwitchKey.qml delete mode 100755 qml/key/SymbolKey.qml delete mode 100644 qml/key/TemporarySwitchKey.qml delete mode 100755 qml/key/WinKey.qml create mode 100644 src/CMakeLists.txt delete mode 100644 src/appinputareamanager.cpp delete mode 100644 src/appinputareamanager.h create mode 100644 src/apps/CMakeLists.txt create mode 100644 src/apps/fcitx/CMakeLists.txt create mode 100644 src/apps/fcitx/qt/CMakeLists.txt create mode 100644 src/apps/fcitx/qt/fonts/HarmonyOS_Sans_SC_Bold.ttf create mode 100644 src/apps/fcitx/qt/fonts/HarmonyOS_Sans_SC_Regular.ttf create mode 100644 src/apps/fcitx/qt/img/backspace.svg create mode 100644 src/apps/fcitx/qt/img/candidate_list_next.svg create mode 100644 src/apps/fcitx/qt/img/candidate_list_prev.svg create mode 100644 src/apps/fcitx/qt/img/down.svg create mode 100644 src/apps/fcitx/qt/img/dragbar_pressed.svg create mode 100644 src/apps/fcitx/qt/img/dragbar_released.svg create mode 100644 src/apps/fcitx/qt/img/en_to_zh.svg create mode 100644 src/apps/fcitx/qt/img/enter.svg create mode 100644 src/apps/fcitx/qt/img/hide_button.svg create mode 100644 src/apps/fcitx/qt/img/im_in_used.svg create mode 100644 src/apps/fcitx/qt/img/left.svg create mode 100644 src/apps/fcitx/qt/img/right.svg create mode 100644 src/apps/fcitx/qt/img/shift_pressed.svg create mode 100644 src/apps/fcitx/qt/img/shift_released.svg create mode 100644 src/apps/fcitx/qt/img/up.svg create mode 100644 src/apps/fcitx/qt/img/zh_to_en.svg create mode 100644 src/apps/fcitx/qt/main.cpp create mode 100644 src/apps/fcitx/qt/model/virtual_keyboard_model.cpp create mode 100644 src/apps/fcitx/qt/model/virtual_keyboard_model.h create mode 100644 src/apps/fcitx/qt/qml.qrc create mode 100644 src/apps/fcitx/qt/qml/Candidate.qml create mode 100644 src/apps/fcitx/qt/qml/CandidateListArea.qml create mode 100644 src/apps/fcitx/qt/qml/DragBar.qml create mode 100644 src/apps/fcitx/qt/qml/HeaderLineArea.qml create mode 100644 src/apps/fcitx/qt/qml/HideButton.qml create mode 100644 src/apps/fcitx/qt/qml/IM.qml create mode 100644 src/apps/fcitx/qt/qml/InputMethodList.qml create mode 100644 src/apps/fcitx/qt/qml/MainKeyboardArea.qml create mode 100644 src/apps/fcitx/qt/qml/PreeditArea.qml create mode 100644 src/apps/fcitx/qt/qml/SpecialSymbolArea.qml create mode 100644 src/apps/fcitx/qt/qml/SymbolKeyboardArea.qml create mode 100644 src/apps/fcitx/qt/qml/VirtualKeyboard.qml create mode 100644 src/apps/fcitx/qt/qml/key/AltKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/BackSpaceKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/BasicKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/CapsLockKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/CharKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/CharKeyGray.qml create mode 100644 src/apps/fcitx/qt/qml/key/CtrlKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/DelKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/DirectionKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/DownDirectionKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/En2ZhSwitchKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/EnterKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/EscKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/FnKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/FnSymbolKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/ImageKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/InputMethodSwitchKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/KeyDropShadow.qml create mode 100644 src/apps/fcitx/qt/qml/key/KeyboardSwitchKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/LeftDirectionKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/LeftShiftKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/LetterKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/PageDownKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/PageKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/PageUpKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/RightDirectionKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/RightShiftKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/ShiftKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/ShiftSymbolKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/SpaceKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/SpecialSymbolKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/SymbolKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/TabKey.qml create mode 100644 src/apps/fcitx/qt/qml/key/UpDirectionKey.qml create mode 100644 src/apps/fcitx/qt/view/virtual_keyboard_view.cpp create mode 100644 src/apps/fcitx/qt/view/virtual_keyboard_view.h create mode 100644 src/apps/fcitx/qt/virtual_keyboard_manager.cpp create mode 100644 src/apps/fcitx/qt/virtual_keyboard_manager.h delete mode 100644 src/geometrymanager/expansiongeometrymanager.cpp delete mode 100644 src/geometrymanager/expansiongeometrymanager.h delete mode 100644 src/geometrymanager/floatgeometrymanager.cpp delete mode 100644 src/geometrymanager/floatgeometrymanager.h delete mode 100644 src/geometrymanager/geometrymanager.cpp delete mode 100644 src/geometrymanager/geometrymanager.h delete mode 100644 src/ipc/dbusservice.cpp delete mode 100644 src/ipc/dbusservice.h delete mode 100644 src/ipc/fcitxvirtualkeyboardserviceproxy.cpp delete mode 100644 src/ipc/fcitxvirtualkeyboardserviceproxy.h create mode 100644 src/libs/CMakeLists.txt create mode 100644 src/libs/virtual_keyboard/CMakeLists.txt create mode 100644 src/libs/virtual_keyboard/fcitx/CMakeLists.txt create mode 100644 src/libs/virtual_keyboard/fcitx/backend/virtual_keyboard_backend.h create mode 100644 src/libs/virtual_keyboard/fcitx/backend/virtual_keyboard_backend_qt_dbus.cpp create mode 100644 src/libs/virtual_keyboard/fcitx/backend/virtual_keyboard_backend_qt_dbus.h create mode 100644 src/libs/virtual_keyboard/fcitx/controller/controller_proxy.h create mode 100644 src/libs/virtual_keyboard/fcitx/controller/controller_proxy_qt_dbus.cpp create mode 100644 src/libs/virtual_keyboard/fcitx/controller/controller_proxy_qt_dbus.h create mode 100644 src/libs/virtual_keyboard/fcitx/controller/full_im_group_info_qt_meta_type.cpp create mode 100644 src/libs/virtual_keyboard/fcitx/controller/full_im_group_info_qt_meta_type.h create mode 100644 src/libs/virtual_keyboard/fcitx/controller/im_group_info.h create mode 100644 src/libs/virtual_keyboard/fcitx/controller/im_info.h create mode 100644 src/libs/virtual_keyboard/fcitx/dbus_service_watch_notify.h create mode 100644 src/libs/virtual_keyboard/fcitx/from.h create mode 100644 src/libs/virtual_keyboard/fcitx/im_panel/im_panel_proxy.h create mode 100644 src/libs/virtual_keyboard/fcitx/im_panel/im_panel_proxy_notify.h create mode 100644 src/libs/virtual_keyboard/fcitx/im_panel/im_panel_proxy_qt_dbus.cpp create mode 100644 src/libs/virtual_keyboard/fcitx/im_panel/im_panel_proxy_qt_dbus.h create mode 100644 src/libs/virtual_keyboard/fcitx/input_method_info.h create mode 100644 src/libs/virtual_keyboard/fcitx/input_method_mode.h rename src/{ipc/requestmerger.cpp => libs/virtual_keyboard/fcitx/request_merger.cpp} (55%) rename src/{ipc/requestmerger.h => libs/virtual_keyboard/fcitx/request_merger.h} (58%) create mode 100644 src/libs/virtual_keyboard/fcitx/type.h create mode 100644 src/libs/virtual_keyboard/fcitx/virtual_keyboard.h create mode 100644 src/libs/virtual_keyboard/fcitx/virtual_keyboard_factory.cpp create mode 100644 src/libs/virtual_keyboard/fcitx/virtual_keyboard_factory.h create mode 100644 src/libs/virtual_keyboard/fcitx/virtual_keyboard_notify.h create mode 100644 src/libs/virtual_keyboard/fcitx/virtual_keyboard_qt_dbus.cpp create mode 100644 src/libs/virtual_keyboard/fcitx/virtual_keyboard_qt_dbus.h delete mode 100644 src/localsettings/localsettings.h delete mode 100644 src/localsettings/viewlocalsettings.cpp delete mode 100644 src/localsettings/viewlocalsettings.h delete mode 100644 src/main.cpp delete mode 100644 src/screenmanager.cpp delete mode 100644 src/screenmanager.h delete mode 100644 src/virtualkeyboard/placementmodemanager.cpp delete mode 100644 src/virtualkeyboard/placementmodemanager.h delete mode 100644 src/virtualkeyboard/virtualkeyboardmanager.cpp delete mode 100644 src/virtualkeyboard/virtualkeyboardmanager.h delete mode 100644 src/virtualkeyboard/virtualkeyboardmodel.cpp delete mode 100644 src/virtualkeyboard/virtualkeyboardmodel.h delete mode 100644 src/virtualkeyboard/virtualkeyboardstrategy.h delete mode 100644 src/virtualkeyboard/virtualkeyboardview.cpp delete mode 100644 src/virtualkeyboard/virtualkeyboardview.h delete mode 100644 src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h delete mode 100644 src/virtualkeyboardentry/floatbutton.cpp delete mode 100644 src/virtualkeyboardentry/floatbutton.h delete mode 100644 src/virtualkeyboardentry/floatbuttonmanager.cpp delete mode 100644 src/virtualkeyboardentry/floatbuttonmanager.h delete mode 100644 src/virtualkeyboardentry/floatbuttonstrategy.h delete mode 100644 src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp delete mode 100644 src/virtualkeyboardentry/virtualkeyboardentrymanager.h delete mode 100644 src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp delete mode 100644 src/virtualkeyboardentry/virtualkeyboardtrayicon.h delete mode 100644 translations.qrc delete mode 100644 translations/translation.qm delete mode 100644 translations/translation.ts delete mode 100644 translations/translation_bo_CN.qm delete mode 100644 translations/translation_bo_CN.ts delete mode 100644 translations/translation_en.qm delete mode 100644 translations/translation_en.ts delete mode 100644 translations/translation_zh_CN.qm delete mode 100644 translations/translation_zh_CN.ts diff --git a/.clang-format b/.clang-format index 5d94bf9..6aee374 100644 --- a/.clang-format +++ b/.clang-format @@ -53,7 +53,11 @@ CommentPragmas: '^ IWYU pragma:' ForEachMacros: [ Q_FOREACH, BOOST_FOREACH ] SpaceBeforeParens: ControlStatements DisableFormat: false -SortIncludes: true +SortIncludes: false + +AlignConsecutiveAssignments: true +AlignConsecutiveDeclarations: true + IncludeCategories: # C system headers. - Regex: '^[<"](aio|arpa/inet|assert|complex|cpio|ctype|curses|dirent|dlfcn|errno|fcntl|fenv|float|fmtmsg|fnmatch|ftw|glob|grp|iconv|inttypes|iso646|langinfo|libgen|limits|locale|math|monetary|mqueue|ndbm|netdb|net/if|netinet/in|netinet/tcp|nl_types|poll|pthread|pwd|regex|sched|search|semaphore|setjmp|signal|spawn|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|strings|stropts|sys/ipc|syslog|sys/mman|sys/msg|sys/resource|sys/select|sys/sem|sys/shm|sys/socket|sys/stat|sys/statvfs|sys/time|sys/times|sys/types|sys/uio|sys/un|sys/utsname|sys/wait|tar|term|termios|tgmath|threads|time|trace|uchar|ulimit|uncntrl|unistd|utime|utmpx|wchar|wctype|wordexp)\.h[">]$' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5a30faa --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +build +.vscode +obj-* \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..851d706 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.10) + +project(kylin-virtual-keyboard + VERSION 1.0.0 + DESCRIPTION "麒麟虚拟键盘输入法UI工程,该工程适配fcitx5最新的虚拟键盘支持机制" + HOMEPAGE_URL "" + LANGUAGES CXX +) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +# https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html +add_compile_options( + -Wall + $<$:-g> +) + +option(BUILD_EXAMPLES "ENABLE BUILD EXAMPLES" OFF) +option(USE_QT "Base Qt framework" ON) + +add_subdirectory(src) + +if(BUILD_EXAMPLES) + add_subdirectory(examples) +endif() diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 0000000..b70f6ee --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,5 @@ +.debhelper +debhelper-build-stamp +kylin-virtual-keyboard +kylin-virtual-keyboard.substvars +files \ No newline at end of file diff --git a/debian/changelog b/debian/changelog index 135d911..8bd680f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,58 @@ +kylin-virtual-keyboard (2.0.1.0-swu9) kylin2403; urgency=medium + + * BUG: 无 + * 需求号: 无 + * 其他修改项: 适配fictx-5.1.5 + + -- niecong Thu, 21 Nov 2024 09:35:35 +0800 + +kylin-virtual-keyboard (2.0.1.0-swu8) kylin2203; urgency=medium + + * bug 修复: fix some bugs + * 新需求:无 + * 其他修改:1.add sys log 2.use harmony font family. + + -- niecong Mon, 18 Nov 2024 08:42:28 +0800 + +kylin-virtual-keyboard (2.0.1.0-swu7) kylin2203; urgency=medium + + * add debug switcher. + + -- niecong Thu, 26 Sep 2024 16:15:28 +0800 + +kylin-virtual-keyboard (2.0.1.0-swu6) kylin2203; urgency=medium + + * fix bug. + + -- niecong Tue, 10 Sep 2024 15:21:18 +0800 + +kylin-virtual-keyboard (2.0.1.0-swu5) kylin2203; urgency=medium + + * fix bugs. + + -- niecong Tue, 10 Sep 2024 09:29:00 +0800 + +kylin-virtual-keyboard (2.0.1.0-swu4) kylin2203; urgency=medium + + * add cmake as build depends + + -- guorongfei Mon, 09 Sep 2024 15:00:48 +0800 + +kylin-virtual-keyboard (2.0.1.0-swu3) kylin2203; urgency=medium + + * bug 修复: 无 + * 新需求: 1. 重构虚拟键盘架构, 实现对 QT 的解耦和隔离底层实现细节; + 2.重写键盘 UI 布局和实现逻辑符合产品需求. + * 其他修改: 新增 Jenkinsfile.groovy 文件. + + -- niecong Mon, 22 Jul 2024 09:54:32 +0800 + +kylin-virtual-keyboard (2.0.1.0-swu2) chungengxiayun; urgency=medium + + * use cmake manang project. + + -- niecong Tue, 25 Jun 2024 11:27:12 +0800 + kylin-virtual-keyboard (2.0.1.0-swu1) chungengxiayun; urgency=medium * rebuild source for openKylin diff --git a/debian/control b/debian/control index 92e2faf..59382a6 100644 --- a/debian/control +++ b/debian/control @@ -5,19 +5,21 @@ Maintainer: hanteng Uploaders: hanteng Build-Depends: debhelper (>=11~), - qt5-qmake, - libkf5windowsystem-dev, + cmake, qtdeclarative5-dev, - libfcitx5-qt-dev, qtbase5-dev, - qml-module-qtquick-controls2 + qml-module-qtquick-controls2, + libspdlog-dev, + libsystemd-dev Standards-Version: 4.1.4 Homepage: https://gitee.com/openkylin/community/tree/master/sig/InputMethod Package: kylin-virtual-keyboard Architecture: any Multi-Arch: foreign -Depends: ${misc:Depends}, ${shlibs:Depends} +Depends: + ${misc:Depends}, + ${shlibs:Depends} Description: Kylin Virtual Keyboard. Virtual keyboard based on fcitx5 InputMethod Framework. If you want to use this project, please ensure diff --git a/debian/source/format b/debian/source/format index 163aaf8..89ae9db 100644 --- a/debian/source/format +++ b/debian/source/format @@ -1 +1 @@ -3.0 (quilt) +3.0 (native) diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt new file mode 100644 index 0000000..3032477 --- /dev/null +++ b/examples/CMakeLists.txt @@ -0,0 +1,3 @@ +project(examples) + +add_subdirectory(virtual_keyboard) \ No newline at end of file diff --git a/examples/virtual_keyboard/CMakeLists.txt b/examples/virtual_keyboard/CMakeLists.txt new file mode 100644 index 0000000..30cf5da --- /dev/null +++ b/examples/virtual_keyboard/CMakeLists.txt @@ -0,0 +1,4 @@ +if(USE_QT) + set(CMAKE_AUTOMOC ON) +endif() +add_subdirectory(fcitx) \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/CMakeLists.txt b/examples/virtual_keyboard/fcitx/CMakeLists.txt new file mode 100644 index 0000000..5cdc9dc --- /dev/null +++ b/examples/virtual_keyboard/fcitx/CMakeLists.txt @@ -0,0 +1,4 @@ +add_subdirectory(im_panel) +add_subdirectory(controller) +add_subdirectory(virtual_keyboard_backend) +add_subdirectory(virtual_keyboard) \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/controller/CMakeLists.txt b/examples/virtual_keyboard/fcitx/controller/CMakeLists.txt new file mode 100644 index 0000000..cb9cd05 --- /dev/null +++ b/examples/virtual_keyboard/fcitx/controller/CMakeLists.txt @@ -0,0 +1,29 @@ +add_executable(fcitx5_controller "main.cpp") + +target_include_directories(fcitx5_controller + PRIVATE + "${CMAKE_SOURCE_DIR}/src/libs/virtual_keyboard/fcitx" +) +target_link_directories(fcitx5_controller + PRIVATE + "${CMAKE_BINARY_DIR}/src/libs/virtual_keyboard/fcitx" +) +target_link_libraries(fcitx5_controller + PRIVATE + fcitx5_virtual_keyboard +) + +if(USE_QT) + find_package(Qt5 + COMPONENTS + Widgets + DBus + REQUIRED + ) + target_link_libraries(fcitx5_controller + PRIVATE + Qt5::Widgets + Qt5::DBus + ) + target_compile_definitions(fcitx5_controller PRIVATE -DUSE_QT_DBUS) +endif() \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/controller/main.cpp b/examples/virtual_keyboard/fcitx/controller/main.cpp new file mode 100644 index 0000000..c59f7ee --- /dev/null +++ b/examples/virtual_keyboard/fcitx/controller/main.cpp @@ -0,0 +1,86 @@ +#include +#include + +using namespace std; +using namespace libs::virtual_keyboard::fcitx5; + +int main() { + + auto proxy = ControllerProxyQtDBus::New(); + if (!proxy) { + cout << "Error: New controller proxy failed. \n"; + return 1; + } + + auto imGroup = proxy->GetCurrentInputMethodGroup(); + if (!imGroup.has_value()) { + cout << "Error: GetCurrentInputMethodGroup failed. Message: [" + << proxy->GetLastError() << "]. \n"; + return 2; + } + + cout << "****** Step1.******" + << "\n"; + cout << "Current IM group name : " << imGroup.value() << "\n"; + + auto imGroupInfo = proxy->GetFullInputMethodGroupInfo(imGroup.value()); + if (!imGroupInfo.has_value()) { + cout << "Error: GetFullInputMethodGroupInfo failed. Message: [" + << proxy->GetLastError() << "]. \n"; + return 3; + } + + const auto showIMInfo = [](const IMInfo &im) { + cout << "Unique name : " << im.uniqueName << "\n" + << "Name : " << im.name << "\n" + << "Native name : " << im.nativeName << "\n" + << "Label : " << im.label << "\n" + << "LanguageCode : " << im.languageCode << "\n" + << "Is configurable : " << boolalpha << im.isConfigurable << "\n"; + }; + + const auto showGroupInfo = [showIMInfo](const IMGroupInfo &imGroupInfo) { + const auto &groupName = imGroupInfo.name; + const auto &defaultIMUniqueName = imGroupInfo.defaultIMUniqueName; + const auto &layout = imGroupInfo.layout; + const auto &imList = imGroupInfo.imList; + cout << "Group name : " << groupName << "\n" + << "Default IM unique name : " << defaultIMUniqueName << "\n" + << "Layout : " << layout << "\n" + << "IM list detail : " + << "\n"; + for (const auto &im : imList) { + showIMInfo(im); + } + }; + + cout << "****** Step2.******" + << "\n"; + showGroupInfo(imGroupInfo.value()); + + cout << "****** Step3.******" + << "\n"; + const auto &defaultIMUniqueName = imGroupInfo->defaultIMUniqueName; + const auto &imList = imGroupInfo->imList; + if (auto iter = std::find_if(imList.begin(), imList.end(), + [defaultIMUniqueName](const IMInfo &val) { + return defaultIMUniqueName != + val.uniqueName; + }); + iter != imList.end()) { + + cout << "Set input method detail : " + << "\n"; + showIMInfo(*iter); + const auto &uniqueName = iter->uniqueName; + if (!proxy->SetCurrentInputMethod(uniqueName)) { + cout << "Error: SetCurrentInputMethod failed. Message: [" + << proxy->GetLastError() << "]. \n"; + return 4; + } + } + + cout << "OK!!!\n"; + + return 0; +} \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/im_panel/CMakeLists.txt b/examples/virtual_keyboard/fcitx/im_panel/CMakeLists.txt new file mode 100644 index 0000000..00479f2 --- /dev/null +++ b/examples/virtual_keyboard/fcitx/im_panel/CMakeLists.txt @@ -0,0 +1,29 @@ +add_executable(fcitx5_im_panel "main.cpp") + +target_include_directories(fcitx5_im_panel + PRIVATE + "${CMAKE_SOURCE_DIR}/src/libs/virtual_keyboard/fcitx" +) +target_link_directories(fcitx5_im_panel + PRIVATE + "${CMAKE_BINARY_DIR}/src/libs/virtual_keyboard/fcitx" +) +target_link_libraries(fcitx5_im_panel + PRIVATE + fcitx5_virtual_keyboard +) + +if(USE_QT) + find_package(Qt5 + COMPONENTS + Widgets + DBus + REQUIRED + ) + target_link_libraries(fcitx5_im_panel + PRIVATE + Qt5::Widgets + Qt5::DBus + ) + target_compile_definitions(fcitx5_im_panel PRIVATE -DUSE_QT_DBUS) +endif() \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/im_panel/main.cpp b/examples/virtual_keyboard/fcitx/im_panel/main.cpp new file mode 100644 index 0000000..ed6fd64 --- /dev/null +++ b/examples/virtual_keyboard/fcitx/im_panel/main.cpp @@ -0,0 +1,94 @@ +#include +#include +#include +#ifdef USE_QT_DBUS +#include +#endif + +using namespace std; +using namespace libs::virtual_keyboard::fcitx5; + +class CustomIMPanelProxyNotify : public IMPanelProxyNotify { + +public: + void OnShowVirtualKeyboard(From, Type) override { + cout << "OnShowVirtualKeyboard. \n"; + } + + void OnHideVirtualKeyboard(From) override { + + cout << "OnHideVirtualKeyboard. \n"; + } + + void OnUpdatePreeditCaret(int preeditCursor) override { + + cout << "OnUpdatePreeditCaret. PreeditCursor[" << preeditCursor + << "]. \n"; + } + + void OnUpdatePreeditArea(const std::string &preeditText) override { + + cout << "OnUpdatePreeditArea. PreeditText[" << preeditText << "]. \n"; + } + + void + OnUpdateCandidateArea(const std::vector &candidateTextList, + bool hasPrev, bool hasNext, int pageIndex, + std::int32_t globalCursorIndex) override { + cout << "OnUdpateCandidateArea. CandidateTextList : "; + std::uint32_t index = 0u; + for (const auto &text : candidateTextList) { + cout << index << "." << text << "\t"; + } + cout << "\n. HasPrev : " << boolalpha << hasPrev + << ", HasNext : " << boolalpha << hasNext + << ", PageIndex : " << pageIndex + << ", GlobalCursorIndex : " << globalCursorIndex << ". \n"; + }; + + void OnNotifyIMActivated(const std::string &uniqueName) override { + cout << "OnNotifyIMActivated. UniqueName [" << uniqueName << "]. \n"; + } + + void OnNotifyIMDeactivated(const std::string &uniqueName) override { + cout << "OnNotifyIMDeactivated. UniqueName [" << uniqueName << "]. \n"; + } + + void OnNotifyIMListChanged() override { + cout << "OnNotifyIMListChanged. \n"; + } +}; + +#ifdef USE_QT_DBUS +int main(int argc, char *argv[]) { + + QApplication app(argc, argv); + + auto proxy = std::make_shared(); + if (!proxy) { + cout << "IM panel proxy is nullptr. \n"; + return 1; + } + + auto notify = std::make_shared(); + proxy->AddNotify(notify); + + if (!proxy->RegisterService()) { + cout << "Error: regsiterService failed. \n"; + return 2; + } + + return app.exec(); + + if (!proxy->UnregisterService()) { + cout << "Error: unregsiterService failed. \n"; + return 3; + } + + cout << "OK!!! \n"; + + return 0; +} +#else +int main() { return 0; } +#endif \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/virtual_keyboard/CMakeLists.txt b/examples/virtual_keyboard/fcitx/virtual_keyboard/CMakeLists.txt new file mode 100644 index 0000000..8fbe2ac --- /dev/null +++ b/examples/virtual_keyboard/fcitx/virtual_keyboard/CMakeLists.txt @@ -0,0 +1,30 @@ +add_executable(exmaple_fcitx5_virtual_keyboard "main.cpp") + +target_include_directories(exmaple_fcitx5_virtual_keyboard + PRIVATE + "${CMAKE_SOURCE_DIR}/src/libs/" +) +target_link_directories(exmaple_fcitx5_virtual_keyboard + PRIVATE + "${CMAKE_BINARY_DIR}/src/libs/virtual_keyboard/fcitx" +) +target_link_libraries(exmaple_fcitx5_virtual_keyboard + PRIVATE + fcitx5_virtual_keyboard +) + +if(USE_QT) + find_package(Qt5 + COMPONENTS + Widgets + DBus + REQUIRED + ) + target_link_libraries(exmaple_fcitx5_virtual_keyboard + PRIVATE + Qt5::Widgets + Qt5::DBus + pthread + ) + target_compile_definitions(exmaple_fcitx5_virtual_keyboard PRIVATE -DUSE_QT_DBUS) +endif() \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/virtual_keyboard/main.cpp b/examples/virtual_keyboard/fcitx/virtual_keyboard/main.cpp new file mode 100644 index 0000000..f76bfed --- /dev/null +++ b/examples/virtual_keyboard/fcitx/virtual_keyboard/main.cpp @@ -0,0 +1,95 @@ +#include +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace libs::virtual_keyboard::fcitx5; + +class CustomVirtualKeyboardNotify : public VirtualKeyboardNotify { + +public: + explicit CustomVirtualKeyboardNotify( + std::shared_ptr vkd) noexcept + : _vkd(vkd) {} + +private: + void OnShow(From, Type) override { + cerr << "Vitual keyboard show.\n"; + StartProcessKeyEvent(); + } + void OnHide(From) override { + cerr << "Virtual keyboard hide. \n"; + StopProcessKeyEvent(); + } + void OnPreeditChanged(const std::string &preeditText) override{} + void OnPreeditCursorChanged(std::int32_t preeditCursor) override{} + void + OnCandidateChanged(const std::vector &candidateTextList, + std::int32_t globalCursorIndex) override{} + void OnNotifyIMActived(const std::string &uniqueName) override{} + void OnNotifyIMDeactived(const std::string &uniqueName) override{} + void OnNotifyIMListChanged() override{} + + void StartProcessKeyEvent() { + + if (_stopped.exchange(false)) { + _pressKeyEventWorker = std::thread([this]() { this->Working(); }); + } + } + + void StopProcessKeyEvent() { + if (!_stopped.exchange(true)) { + if (_pressKeyEventWorker.joinable()) { + _pressKeyEventWorker.join(); + } + } + } + + void Working() { + while (!_stopped.load()) { + + for (auto i = '0'; i <= '9'; ++i) { + + _vkd->ProcessKeyEvent(i, 0, false); + this_thread::sleep_for(chrono::seconds(1)); + } + + for (auto i = 'a'; i <= 'z'; ++i) { + + _vkd->ProcessKeyEvent(i, 0, false); + this_thread::sleep_for(chrono::seconds(1)); + } + + for (auto i = 'A'; i <= 'Z'; ++i) { + _vkd->ProcessKeyEvent(i, 0, false); + this_thread::sleep_for(chrono::seconds(1)); + } + } + } + + std::shared_ptr _vkd; + std::atomic_bool _stopped = true; + std::thread _pressKeyEventWorker; +}; + +// #ifdef USE_QT_DBUS +int main(int argc, char *argv[]) { + + QApplication app(argc, argv); + + auto vkd = + VirtualKeyboardFactory::Create(VirtualKeyboardImplMethod::kQt5DBus); + auto notify = std::make_shared(vkd); + vkd->AddNotify(notify); + + vkd->Show(); + + return app.exec(); +} +// #else +// int main() { return 0; } +// #endif \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/virtual_keyboard_backend/CMakeLists.txt b/examples/virtual_keyboard/fcitx/virtual_keyboard_backend/CMakeLists.txt new file mode 100644 index 0000000..15e1b17 --- /dev/null +++ b/examples/virtual_keyboard/fcitx/virtual_keyboard_backend/CMakeLists.txt @@ -0,0 +1,30 @@ +add_executable(fcitx5_virtual_keyboard_backend "main.cpp") + +target_include_directories(fcitx5_virtual_keyboard_backend + PRIVATE + "${CMAKE_SOURCE_DIR}/src/libs/virtual_keyboard/fcitx" +) +target_link_directories(fcitx5_virtual_keyboard_backend + PRIVATE + "${CMAKE_BINARY_DIR}/src/libs/virtual_keyboard/fcitx" +) +target_link_libraries(fcitx5_virtual_keyboard_backend + PRIVATE + fcitx5_virtual_keyboard +) + +if(USE_QT) + find_package(Qt5 + COMPONENTS + Widgets + DBus + REQUIRED + ) + target_link_libraries(fcitx5_virtual_keyboard_backend + PRIVATE + Qt5::Widgets + Qt5::DBus + pthread + ) + target_compile_definitions(fcitx5_virtual_keyboard_backend PRIVATE -DUSE_QT_DBUS) +endif() \ No newline at end of file diff --git a/examples/virtual_keyboard/fcitx/virtual_keyboard_backend/main.cpp b/examples/virtual_keyboard/fcitx/virtual_keyboard_backend/main.cpp new file mode 100644 index 0000000..472550d --- /dev/null +++ b/examples/virtual_keyboard/fcitx/virtual_keyboard_backend/main.cpp @@ -0,0 +1,86 @@ +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace libs::virtual_keyboard::fcitx5; + +class CustomDBusServiceWatchNotify : public DBusServiceWatchNotify { +public: + explicit CustomDBusServiceWatchNotify( + std::shared_ptr backend) noexcept + : _backend(backend) {} + + void OnServiceRegistered(const std::string &name) override { + + cout << "OnServiceRegistered [" << name << "]" + << "\n"; + StartProcessKeyEvent(); + } + void OnServiceUnregistered(const std::string &name) override { + + cout << "OnServiceUnregistered [" << name << "]" + << "\n"; + StopProcessKeyEvent(); + } + +private: + void StartProcessKeyEvent() { + + if (_stopped.exchange(false)) { + _pressKeyEventWorker = std::thread([this]() { this->Working(); }); + } + } + + void StopProcessKeyEvent() { + if (!_stopped.exchange(true)) { + if (_pressKeyEventWorker.joinable()) { + _pressKeyEventWorker.join(); + } + } + } + + void Working() { + while (!_stopped.load()) { + + for (auto i = '0'; i <= '9'; ++i) { + + _backend->ProcessKeyEvent(i, 0, false); + this_thread::sleep_for(chrono::seconds(1)); + } + + for (auto i = 'a'; i <= 'z'; ++i) { + + _backend->ProcessKeyEvent(i, 0, false); + this_thread::sleep_for(chrono::seconds(1)); + } + + for (auto i = 'A'; i <= 'Z'; ++i) { + _backend->ProcessKeyEvent(i, 0, false); + this_thread::sleep_for(chrono::seconds(1)); + } + } + } + + std::shared_ptr _backend; + std::atomic_bool _stopped = true; + std::thread _pressKeyEventWorker; +}; + +// #ifdef USE_QT_DBUS +int main(int argc, char *argv[]) { + + QApplication app(argc, argv); + + auto backend = VirtualKeyboardBackendQtDBus::New(); + auto notify = std::make_shared(backend); + backend->AddNotify(notify); + + return app.exec(); +} +// #else +// int main() { return 0; } +// #endif \ No newline at end of file diff --git a/floatbutton.qrc b/floatbutton.qrc deleted file mode 100644 index 66d0728..0000000 --- a/floatbutton.qrc +++ /dev/null @@ -1,10 +0,0 @@ - - - img/enablefloatbutton.svg - img/disablefloatbutton.svg - img/floatbuttondefault.svg - img/floatbuttonpressed.svg - img/floatbuttonhovered.svg - - - diff --git a/img/backspace.svg b/img/backspace.svg deleted file mode 100644 index 8cb0dd2..0000000 --- a/img/backspace.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/img/close.svg b/img/close.svg deleted file mode 100644 index 7cd0ed5..0000000 --- a/img/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/img/close_pressed.svg b/img/close_pressed.svg deleted file mode 100644 index 1de6a2f..0000000 --- a/img/close_pressed.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/img/disablefloatbutton.svg b/img/disablefloatbutton.svg deleted file mode 100644 index eb39937..0000000 --- a/img/disablefloatbutton.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/img/down.svg b/img/down.svg deleted file mode 100644 index 94c056a..0000000 --- a/img/down.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/img/downfloat.svg b/img/downfloat.svg deleted file mode 100644 index 59855e7..0000000 --- a/img/downfloat.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/img/enablefloatbutton.svg b/img/enablefloatbutton.svg deleted file mode 100644 index 1a8eecd..0000000 --- a/img/enablefloatbutton.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/img/enter.svg b/img/enter.svg deleted file mode 100644 index 9c09d11..0000000 --- a/img/enter.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/img/floatbutton_default.qrc b/img/floatbutton_default.qrc deleted file mode 100644 index 90f4a83..0000000 --- a/img/floatbutton_default.qrc +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/img/floatbuttondefault.svg b/img/floatbuttondefault.svg deleted file mode 100644 index 43e1e4a..0000000 --- a/img/floatbuttondefault.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/img/floatbuttonhovered.svg b/img/floatbuttonhovered.svg deleted file mode 100644 index 559c7e2..0000000 --- a/img/floatbuttonhovered.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/img/floatbuttonpressed.svg b/img/floatbuttonpressed.svg deleted file mode 100644 index 5d61c89..0000000 --- a/img/floatbuttonpressed.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/img/left.svg b/img/left.svg deleted file mode 100644 index 67c9465..0000000 --- a/img/left.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/img/right.svg b/img/right.svg deleted file mode 100644 index e830f31..0000000 --- a/img/right.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/img/space.svg b/img/space.svg deleted file mode 100644 index e9b882a..0000000 --- a/img/space.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/img/up.svg b/img/up.svg deleted file mode 100644 index 93f8d76..0000000 --- a/img/up.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/img/upfloat.svg b/img/upfloat.svg deleted file mode 100644 index 26867e5..0000000 --- a/img/upfloat.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/kylin-virtual-keyboard.pro b/kylin-virtual-keyboard.pro deleted file mode 100644 index edb66ce..0000000 --- a/kylin-virtual-keyboard.pro +++ /dev/null @@ -1,81 +0,0 @@ -QT += quick -QT += concurrent -QT += dbus -QT += core gui -QT += KWindowSystem -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - -# You can make your code fail to compile if it uses deprecated APIs. -# In order to do so, uncomment the following line. -#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 - -SOURCES += \ - src/appinputareamanager.cpp \ - src/geometrymanager/expansiongeometrymanager.cpp \ - src/geometrymanager/floatgeometrymanager.cpp \ - src/geometrymanager/geometrymanager.cpp \ - src/ipc/dbusservice.cpp \ - src/ipc/fcitxvirtualkeyboardserviceproxy.cpp \ - src/ipc/requestmerger.cpp \ - src/localsettings/viewlocalsettings.cpp \ - src/main.cpp \ - src/screenmanager.cpp \ - src/virtualkeyboard/placementmodemanager.cpp \ - src/virtualkeyboard/virtualkeyboardmanager.cpp \ - src/virtualkeyboard/virtualkeyboardmodel.cpp \ - src/virtualkeyboard/virtualkeyboardview.cpp \ - src/virtualkeyboardentry/floatbutton.cpp \ - src/virtualkeyboardentry/floatbuttonmanager.cpp \ - src/virtualkeyboardentry/virtualkeyboardentrymanager.cpp \ - src/virtualkeyboardentry/virtualkeyboardtrayicon.cpp - -TRANSLATIONS = translations/translation.ts \ - translations/translation_bo_CN.ts \ - translations/translation_en.ts \ - translations/translation_zh_CN.ts - -RESOURCES += \ - floatbutton.qrc \ - qml.qrc \ - translations.qrc - -# Additional import path used to resolve QML modules in Qt Creator's code model -QML_IMPORT_PATH = - -# Additional import path used to resolve QML modules just for Qt Quick Designer -QML_DESIGNER_IMPORT_PATH = - -# Default rules for deployment. -qnx: target.path = /usr/bin -else: unix:!android: target.path = /usr/bin -!isEmpty(target.path): INSTALLS += target - -INCLUDEPATH += src/ - -HEADERS += \ - src/appinputareamanager.h \ - src/geometrymanager/expansiongeometrymanager.h \ - src/geometrymanager/floatgeometrymanager.h \ - src/geometrymanager/geometrymanager.h \ - src/ipc/dbusservice.h \ - src/ipc/fcitxvirtualkeyboardserviceproxy.h \ - src/ipc/requestmerger.h \ - src/localsettings/localsettings.h \ - src/localsettings/viewlocalsettings.h \ - src/screenmanager.h \ - src/virtualkeyboard/placementmodemanager.h \ - src/virtualkeyboard/virtualkeyboardmanager.h \ - src/virtualkeyboard/virtualkeyboardmodel.h \ - src/virtualkeyboard/virtualkeyboardstrategy.h \ - src/virtualkeyboard/virtualkeyboardview.h \ - src/virtualkeyboardentry/fcitxvirtualkeyboardservice.h \ - src/virtualkeyboardentry/floatbutton.h \ - src/virtualkeyboardentry/floatbuttonmanager.h \ - src/virtualkeyboardentry/floatbuttonstrategy.h \ - src/virtualkeyboardentry/virtualkeyboardentrymanager.h \ - src/virtualkeyboardentry/virtualkeyboardtrayicon.h - -DISTFILES += - -LIBS += -lFcitx5Qt5DBusAddons - diff --git a/qml.qrc b/qml.qrc deleted file mode 100644 index afeadc0..0000000 --- a/qml.qrc +++ /dev/null @@ -1,45 +0,0 @@ - - - qml/VirtualKeyboard.qml - qml/Preedit.qml - qml/ToolbarAndCandidateArea.qml - qml/Toolbar.qml - qml/CandidateList.qml - qml/KeyboardLayoutArea.qml - qml/ClassicKeyboardLayout.qml - qml/ToolArea.qml - qml/HideButton.qml - qml/key/ActionKey.qml - qml/key/AltKey.qml - qml/key/BaseKey.qml - qml/key/CapslockKey.qml - qml/key/ChangeImKey.qml - qml/key/CharKey.qml - qml/key/CtrlKey.qml - qml/key/FnKey.qml - qml/key/FnSymbolKey.qml - qml/key/LetterKey.qml - qml/key/ShiftKey.qml - qml/key/SpaceKey.qml - qml/key/SwitchKey.qml - qml/key/SymbolKey.qml - qml/key/TemporarySwitchKey.qml - qml/key/WinKey.qml - qml/js/utils.js - qml/key/BackspaceKey.qml - qml/key/EnterKey.qml - qml/PlacementModeButton.qml - img/upfloat.svg - img/downfloat.svg - qml/DragBar.qml - img/space.svg - img/backspace.svg - img/close.svg - img/close_pressed.svg - img/enter.svg - img/left.svg - img/right.svg - img/up.svg - img/down.svg - - diff --git a/qml/CandidateList.qml b/qml/CandidateList.qml deleted file mode 100644 index 1ad85bf..0000000 --- a/qml/CandidateList.qml +++ /dev/null @@ -1,69 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import QtQuick.Controls 2.0 - -Rectangle { - width: virtualKeyboard.width - height: virtualKeyboard.toolAndCandidateHeight - color: virtualKeyboard.virtualKeyboardColor - visible: !virtualKeyboard.isToolbarVisible - - Rectangle { - id: candidateListRectangle - width: virtualKeyboard.candidateListWidth - height: virtualKeyboard.toolAndCandidateHeight - virtualKeyboard.cardinalNumber - color: virtualKeyboard.candidateListBackgroundColor - anchors.horizontalCenter: parent.horizontalCenter - y: cardinalNumber - radius: 15 - ListView { - x: virtualKeyboard.candidateListX - width: virtualKeyboard.candidateListWidth - x - height: parent.height - visible: true - clip: true - boundsBehavior: Flickable.StopAtBounds - orientation: ListView.Horizontal - model: virtualKeyboard.candidateList - spacing: 20 - currentIndex: virtualKeyboard.globalCursorIndex - delegate: Text { - id: candidate - text: modelData - color: ListView.isCurrentItem - ? virtualKeyboard.candidateHighlightColor - : virtualKeyboard.candidateDefaultColor - font.pointSize: virtualKeyboard.candidateFontSize - // TODO(litian): 使用更好的方式使候选词居中 - /*设置居中,设置anchors.verticalCenter: parent.verticalCenter会报错 - TypeError: Cannot read property 'verticalCenter' of null, 因此手动计算居中位置*/ - y: (candidateListRectangle.height - height)/2 - MouseArea { - anchors.fill: parent - onClicked: { - virtualKeyboard.selectCandidate(index) - console.debug("点击了", index, modelData) - } - } - } - } - } - -} - diff --git a/qml/ClassicKeyboardLayout.qml b/qml/ClassicKeyboardLayout.qml deleted file mode 100644 index 8c04c05..0000000 --- a/qml/ClassicKeyboardLayout.qml +++ /dev/null @@ -1,118 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "key/" - -Column { - width: virtualKeyboard.width - spacing: virtualKeyboard.keySpacing - visible: virtualKeyboard.layout == "classic" ? true : false - - Row { - anchors.horizontalCenter: parent.horizontalCenter - spacing: virtualKeyboard.keySpacing - ActionKey { label: "Esc" ;height: virtualKeyboard.keyHeight * 3/4} - FnSymbolKey { label: "`"; shiftedText: "~"; fnValue:"~" } - FnSymbolKey { label: "1"; shiftedText: "!"; fnValue:"F1" } - FnSymbolKey { label: "2"; shiftedText: "@"; fnValue:"F2" } - FnSymbolKey { label: "3"; shiftedText: "#"; fnValue:"F3" } - FnSymbolKey { label: "4"; shiftedText: "$"; fnValue:"F4" } - FnSymbolKey { label: "5"; shiftedText: "%"; fnValue:"F5" } - FnSymbolKey { label: "6"; shiftedText: "^"; fnValue:"F6" } - FnSymbolKey { label: "7"; shiftedText: "&"; fnValue:"F7" } - FnSymbolKey { label: "8"; shiftedText: "*"; fnValue:"F8" } - FnSymbolKey { label: "9"; shiftedText: "("; fnValue:"F9" } - FnSymbolKey { label: "0"; shiftedText: ")"; fnValue:"F10" } - FnSymbolKey { label: "-"; shiftedText: "_"; fnValue:"F11" } - FnSymbolKey { label: "="; shiftedText: "+"; fnValue:"F12" } - BackspaceKey {} - } - - Row { - anchors.horizontalCenter: parent.horizontalCenter - spacing: virtualKeyboard.keySpacing - ActionKey { label: "Tab"; width: virtualKeyboard.keyWidth*1.5 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } - LetterKey { label: "q"; shiftedText: "Q" } - LetterKey { label: "w"; shiftedText: "W" } - LetterKey { label: "e"; shiftedText: "E" } - LetterKey { label: "r"; shiftedText: "R" } - LetterKey { label: "t"; shiftedText: "T" } - LetterKey { label: "y"; shiftedText: "Y" } - LetterKey { label: "u"; shiftedText: "U" } - LetterKey { label: "i"; shiftedText: "I" } - LetterKey { label: "o"; shiftedText: "O" } - LetterKey { label: "p"; shiftedText: "P" } - SymbolKey { label: "["; shiftedText: "{" } - SymbolKey { label: "]"; shiftedText: "}" } - SymbolKey { label: "\\"; shiftedText: "|" } - ActionKey { label: "Del" } - } - Row { - anchors.horizontalCenter: parent.horizontalCenter - spacing: virtualKeyboard.keySpacing - - CapslockKey {width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignLeft } - LetterKey { label: "a"; shiftedText: "A" } - LetterKey { label: "s"; shiftedText: "S" } - LetterKey { label: "d"; shiftedText: "D" } - LetterKey { label: "f"; shiftedText: "F" } - LetterKey { label: "g"; shiftedText: "G" } - LetterKey { label: "h"; shiftedText: "H" } - LetterKey { label: "j"; shiftedText: "J" } - LetterKey { label: "k"; shiftedText: "K" } - LetterKey { label: "l"; shiftedText: "L" } - SymbolKey { label: ";"; shiftedText: ":" } - SymbolKey { label: "'"; shiftedText: "\"" } - EnterKey {} - - } - Row { - anchors.horizontalCenter: parent.horizontalCenter - spacing: virtualKeyboard.keySpacing - ShiftKey {width: virtualKeyboard.keyWidth*2.5 + virtualKeyboard.keySpacing*2; alignment: Text.AlignLeft } - LetterKey { label: "z" ; shiftedText: "Z" } - LetterKey { label: "x" ; shiftedText: "X" } - LetterKey { label: "c" ; shiftedText: "C" } - LetterKey { label: "v" ; shiftedText: "V" } - LetterKey { label: "b" ; shiftedText: "B" } - LetterKey { label: "n" ; shiftedText: "N" } - LetterKey { label: "m" ; shiftedText: "M" } - SymbolKey { label: ", "; shiftedText: "<" } - SymbolKey { label: "."; shiftedText: ">" } - SymbolKey { label: "/"; shiftedText: "?" } - ActionKey { label: "up"; actionKeyImgPath: "qrc:/img/up.svg" } - ShiftKey { width: virtualKeyboard.keyWidth*2 + virtualKeyboard.keySpacing; alignment: Text.AlignRight } - } - Row { - anchors.horizontalCenter: parent.horizontalCenter - spacing: virtualKeyboard.keySpacing - CtrlKey {} - FnKey {} - //暂时删除win键 - // WinKey {} - AltKey {} - ChangeImKey {} - SpaceKey {} - AltKey {} - ActionKey { label: "left"; actionKeyImgPath: "qrc:/img/left.svg" } - ActionKey { label: "down"; actionKeyImgPath: "qrc:/img/down.svg" } - ActionKey { label: "right"; actionKeyImgPath: "qrc:/img/right.svg" } - CtrlKey {} - } -} - diff --git a/qml/DragBar.qml b/qml/DragBar.qml deleted file mode 100644 index be3e2fc..0000000 --- a/qml/DragBar.qml +++ /dev/null @@ -1,71 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -Rectangle { - id: dragBar - width: virtualKeyboard.width - height: virtualKeyboard.dragBarHeight - color: virtualKeyboard.virtualKeyboardColor - radius: virtualKeyboard.virtualKeyboardFloatPlacementRadius - - property int startX: 0; - property int startY: 0; - - MouseArea { - anchors.fill: parent - onPressed: { - startX = mouseX - startY = mouseY - } - onPositionChanged: { - virtualKeyboard.moveBy(mouseX - startX, mouseY - startY) - } - - onReleased: { - virtualKeyboard.endDrag() - } - } - - Rectangle { - id: dragBarIndicator - anchors.centerIn: parent - width: virtualKeyboard.dragBarIndicatorWidth - height: virtualKeyboard.dragBarIndicatorHeight - color: virtualKeyboard.dragBarIndicatorColor - radius: virtualKeyboard.dragBarIndicatorRadius - } - - state: virtualKeyboard.placementMode - states: [ - State { - name: "EXPANSION" - PropertyChanges { - target: dragBar - visible: false - } - }, - State { - name: "FLOAT" - PropertyChanges { - target: dragBar - visible: true - } - } - ] - } diff --git a/qml/HideButton.qml b/qml/HideButton.qml deleted file mode 100644 index 8e155b6..0000000 --- a/qml/HideButton.qml +++ /dev/null @@ -1,48 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import QtQuick.Controls 2.0 - -Rectangle { - height: virtualKeyboard.toolbarSize - width: virtualKeyboard.toolbarSize - anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right - anchors.rightMargin: virtualKeyboard.cardinalNumber * 3.5 - color: virtualKeyboard.virtualKeyboardColor - Image { - id: hideButtonImg - anchors.centerIn: parent - sourceSize: Qt.size(parent.width, parent.width) - source: "qrc:/img/close.svg" - } - - MouseArea { - anchors.fill: parent - - onPressed: { - hideButtonImg.source = "qrc:/img/close_pressed.svg" - } - - onReleased: { - virtualKeyboard.hideVirtualKeyboard() - } - } - - -} diff --git a/qml/KeyboardLayoutArea.qml b/qml/KeyboardLayoutArea.qml deleted file mode 100644 index 1075c33..0000000 --- a/qml/KeyboardLayoutArea.qml +++ /dev/null @@ -1,29 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import QtQuick.Window 2.0 - -Rectangle { - width: virtualKeyboard.width - height: virtualKeyboard.keyboardLayoutHeight - anchors.top: toolbarAndCandidate.bottom - anchors.topMargin: keySpacing * 2 - color: virtualKeyboard.virtualKeyboardColor - - ClassicKeyboardLayout {} -} diff --git a/qml/PlacementModeButton.qml b/qml/PlacementModeButton.qml deleted file mode 100644 index 8bed5cf..0000000 --- a/qml/PlacementModeButton.qml +++ /dev/null @@ -1,59 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -Rectangle { - height: virtualKeyboard.toolbarSize - width: virtualKeyboard.toolbarSize - - property var alignmentRight - - anchors.verticalCenter: parent.verticalCenter - anchors.right: alignmentRight.left - anchors.rightMargin: virtualKeyboard.cardinalNumber * 3.5 - color: virtualKeyboard.virtualKeyboardColor - Image { - id: placementModelButtonImg - sourceSize: Qt.size(parent.width, parent.width) - source: "qrc:/img/upfloat.svg" - anchors.centerIn: parent - } - - MouseArea { - anchors.fill: parent - onClicked: virtualKeyboard.flipPlacementMode() - } - - state: virtualKeyboard.placementMode - states: [ - State { - name: "EXPANSION" - PropertyChanges { - target: placementModelButtonImg - source: "qrc:/img/upfloat.svg" - } - }, - State { - name: "FLOAT" - PropertyChanges { - target: placementModelButtonImg - source: "qrc:/img/downfloat.svg" - } - } - ] -} diff --git a/qml/Preedit.qml b/qml/Preedit.qml deleted file mode 100644 index d59493e..0000000 --- a/qml/Preedit.qml +++ /dev/null @@ -1,34 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import QtQuick.Controls 2.0 - -Rectangle { - width: virtualKeyboard.width - height: virtualKeyboard.preeditHeight - color: virtualKeyboard.virtualKeyboardColor - x: virtualKeyboard.preeditX - anchors.top: dragBar.visible ? dragBar.bottom : parent.top - - Label { - font.pointSize: virtualKeyboard.preeditTextFontSize - anchors.verticalCenter: parent.verticalCenter - text: virtualKeyboard.preeditText - color: "black" - } -} diff --git a/qml/ToolArea.qml b/qml/ToolArea.qml deleted file mode 100644 index e79e712..0000000 --- a/qml/ToolArea.qml +++ /dev/null @@ -1,26 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -Rectangle { - width: virtualKeyboard.width - height: virtualKeyboard.keyboardLayoutHeight - anchors.top: toolbarAndCandidate.bottom - visible: virtualKeyboard.isToolAreaVisible - -} diff --git a/qml/Toolbar.qml b/qml/Toolbar.qml deleted file mode 100644 index 39b7520..0000000 --- a/qml/Toolbar.qml +++ /dev/null @@ -1,30 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -Rectangle { - width: parent.width - height: parent.height - visible: virtualKeyboard.isToolbarVisible - color: virtualKeyboard.virtualKeyboardColor - - HideButton {id: hideButton} - PlacementModeButton { - alignmentRight: hideButton - } -} diff --git a/qml/ToolbarAndCandidateArea.qml b/qml/ToolbarAndCandidateArea.qml deleted file mode 100644 index 3068ad4..0000000 --- a/qml/ToolbarAndCandidateArea.qml +++ /dev/null @@ -1,27 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -Rectangle { - width: virtualKeyboard.width - height: virtualKeyboard.toolAndCandidateHeight - anchors.top: preedit.bottom - color: virtualKeyboard.virtualKeyboardColor - Toolbar {} - CandidateList {} -} diff --git a/qml/VirtualKeyboard.qml b/qml/VirtualKeyboard.qml deleted file mode 100644 index f035d36..0000000 --- a/qml/VirtualKeyboard.qml +++ /dev/null @@ -1,272 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "js/utils.js" as Utils -import QtQuick.Window 2.0 - -Rectangle { - id: virtualKeyboard - anchors.fill: parent - color: virtualKeyboardColor - radius: placementMode === "EXPANSION" ? 0 : virtualKeyboardFloatPlacementRadius - - //预编辑 - property string preeditText - //候选词 - property var candidateList - //候选列表高亮候选的索引 - property int globalCursorIndex : -1 - //可用输入法列表 - property var currentIMList : model.currentIMList - //当前输入法名称 - property string uniqueName : model.uniqueName - //当前输入法,组成为"uniqueName|localName|label" - //TOOD 目前以“|”分割数据 - property string currentIM: "||" - - //大小相关 - /*设置默认值,防止报错,fontSize为0时会报错,加载qml文件时height为0,会导致fontSize为0*/ - property real cardinalNumber: height == 0 ? 8 : height/(placementMode === "EXPANSION" ? 64.0 : 68.5) - property int dragBarHeight: cardinalNumber * 4.5 - property int preeditHeight: cardinalNumber * 5 - property int toolAndCandidateHeight: cardinalNumber * 8 - property int keyboardLayoutHeight: cardinalNumber * 49 - property int keySpacing: cardinalNumber - property int keyWidth: (width - 5*cardinalNumber) * 2/31 - cardinalNumber - /*暂时删除win键,将空格键长度从keyWidth * 5.5 + keySpacing * 5修改为keyWidth * 6.5 + keySpacing * 6*/ - property int spaceKeyWidth: keyWidth * 6.5 + keySpacing * 6 - property int keyHeight: cardinalNumber * 9 - property int firstRowKeyHeight: keyHeight * 7/9 - property int keyLableAlignment: keyWidth / 3 - property int keyIconAlignment: keyWidth / 3 - property int virtualKeyboardAvailableHeight: placementMode === "EXPANSION" ? virtualKeyboard.height - : virtualKeyboard.height - dragBar.height - property int imListItemHeight: virtualKeyboardAvailableHeight * 1/10 - property int imListItemWidth: virtualKeyboardAvailableHeight * 5/13 - property real fontSize: keyHeight * 6/11 * 7/12 - property real shiftFontSize: fontSize / 2 - property real switchKeyFontSize: fontSize * 3/4 - property real fnSymbolKeyFontSize: fontSize * 3/4 - property real actionKeyFontSize: fontSize * 3/4 - property real preeditTextFontSize: fontSize * 3/4 - property real candidateFontSize: fontSize * 3/4 - property real imListFontSize: fontSize * 3/4 - property int preeditX: cardinalNumber * 3.5 - property int candidateListWidth: width - 7*cardinalNumber - property int toolbarSize: cardinalNumber * 3 - property int candidateListX: cardinalNumber * 2 - property int candidateListSpacing: cardinalNumber * 3 - property int keyRadius: cardinalNumber - property int longPressInterval: 1000 - property int shiftLeftMargin: cardinalNumber - property int shiftTopMargin: cardinalNumber/2 - property int imLeftMargin: cardinalNumber - property int dropShadowVerticalOffset: cardinalNumber/4 - property int dragBarIndicatorWidth: cardinalNumber * 7 - property int dragBarIndicatorHeight: cardinalNumber/2 - - //颜色相关 - property color virtualKeyboardColor: "#EBEDEF" /*虚拟键盘背景色*/ - property color charKeyNormalColor: "#FFFFFF" /*字符按键默认态颜色*/ - property color charKeyPressedColor: "#DDE0E4" /*字符按键按下态颜色*/ - property color charKeyHoverColor: "#EDF1F5" /*字符按键悬浮态颜色*/ - property color charKeyDropShadowColor: "#95A0AD" /*字符按键偏移色*/ - - property color actionKeyNormalColor: "#CED3D9" /*动作按键默认态*/ - property color actionKeyPressedColor: "#A5ACB5" /*动作按键按下态*/ - property color actionKeyHoverColor:"#C0C6CE" /*动作按键悬浮态*/ - - property color switchKeyNormalColor: "#CED3D9" /*开关按键默认态*/ - property color switchKeyPressedColor: "#A5ACB5" /*开关按键按下态*/ - property color switchKeyOpenColor: "#3690F8" /*开关按键开启态*/ - property color switchKeyOpenPressedColor: "#2C73C6" /*开关按键开启_按下态*/ - property color switchKeyHoverNormalColor: "#C0C6CE" /*开关按键默认hover态*/ - property color switchKeyHoverOpenColor: "#328AF0" /*开关按键按下hover态*/ - property color switchKeyNormalDropShadowColor: "#95A0AD" /*开关按键默认偏移色*/ - property color switchKeyOpenDropShadowColor: "#1174E5" /*开关按键开启偏移色*/ - property color switchKeyOpenPressedDropShadowColor: "#165FB3" /*开关按键开启_按下偏移色*/ - - property color currentIMColor: "#328AF0" /*输入法列表中当前输入法高亮*/ - property color candidateListBackgroundColor: "#DDE0E4" /*候选词列表背景色*/ - property color candidateDefaultColor: "#262626" /*候选词默认前景色*/ - property color candidateHighlightColor: "#3790FA" /*候选词高亮前景色*/ - property color preeditBottomColor: "#E4E6E9" /*预编辑下方分割线颜色*/ - property color dragBarIndicatorColor: "#1D1D1D" /*拖拽条指示器颜色*/ - - //圆角相关 - property int virtualKeyboardFloatPlacementRadius: 16 - property int dragBarIndicatorRadius: 2 - - //状态相关 - property string letterState: "NORMAL" - property string symbolState: "NORMAL" - property string fnSymbolState: "NORMAL" - property string capslockState: "NORMAL" - property string shiftState: "NORMAL" - property string altState: "NORMAL" - property string ctrlState: "NORMAL" - property string winState: "NORMAL" - property string changeIMState: "NORMAL" - property string switchLayoutButtonState: "NORMAL" - property string placementMode: "EXPANSION" - - //可见性相关 - property bool isToolbarVisible: true - property bool isToolAreaVisible: false - property bool isKeyBoardLayoutVisible: true - property bool isAllLayoutListVisible: false - property string layout: "classic" - property bool isCurrentIMListVisible: false - - //内部使用 - signal showToolbar() - signal showCandidateList() - signal charKeyClicked() - signal shiftClicked() - signal altClicked() - signal ctrlClicked() - signal winClicked() - - //后台发送给前台的信号 - signal qmlUpdatePreedit(string preeditText) - signal qmlUpdateCandidateList(var candidateList, int globalCursorIndex) - signal qmlImDeactivated() - signal qmlEnterExpansionPlacementMode() - signal qmlEnterFloatPlacementMode() - - function processKeyEvent(key, keycode, modifierKeyStates, - isRelease, time) { - model.processKeyEvent(key, keycode, modifierKeyStates, isRelease, time) - } - - function selectCandidate(index) { - model.selectCandidate(index) - } - - function setCurrentIM(imName) { - model.setCurrentIM(imName) - } - - function hideVirtualKeyboard() { - manager.hide() - } - - function flipPlacementMode() { - manager.flipPlacementMode() - } - - function moveBy(offsetX, offsetY) { - manager.moveBy(offsetX, offsetY) - } - - function endDrag() { - manager.endDrag() - } - - Connections { - target: virtualKeyboard - onShowToolbar: { - isToolbarVisible = true - } - onShowCandidateList: { - isToolbarVisible = false - } - onQmlUpdatePreedit: (preeditText) => { - virtualKeyboard.preeditText = preeditText - } - onQmlUpdateCandidateList: (candidateList, globalCursorIndex) => { - if(candidateList.length === 0) { - showToolbar() - } else { - virtualKeyboard.candidateList = candidateList - virtualKeyboard.globalCursorIndex = globalCursorIndex - showCandidateList() - } - } - onQmlEnterExpansionPlacementMode: { - virtualKeyboard.placementMode = "EXPANSION" - } - onQmlEnterFloatPlacementMode: { - virtualKeyboard.placementMode = "FLOAT" - } - } - - Component.onCompleted: { - charKeyClicked.connect(onCharKeyClicked) - shiftClicked.connect(onShiftClicked) - ctrlClicked.connect(onCtrlClicked) - altClicked.connect(onAltClicked) - winClicked.connect(onWinClicked) - } - - function onCharKeyClicked() { - shiftState = "NORMAL" - ctrlState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } - - function onShiftClicked() { - ctrlState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } - - function onCtrlClicked() { - shiftState = "NORMAL" - altState = "NORMAL" - winState = "NORMAL" - } - - function onAltClicked() { - shiftState = "NORMAL" - ctrlState = "NORMAL" - winState = "NORMAL" - } - - function onWinClicked() { - shiftState = "NORMAL" - altState = "NORMAL" - ctrlState = "NORMAL" - } - - onUniqueNameChanged: { - for(var i = 0; i. -*/ - -function getKeySym(keyName) { - var keySymList = { - "shift": 1, - "caps": 2, - "ctrl": 4, - "alt": 8, - "win": 64 - } - return keySymList[keyName.toLowerCase()] -} - -function getModifierKeyStates() { - var result = 0 - result += shiftState == "NORMAL" ? 0 : getKeySym("shift") - result += capslockState == "NORMAL" ? 0 : getKeySym("caps") - result += ctrlState == "NORMAL" ? 0 : getKeySym("ctrl") - result += altState == "NORMAL" ? 0 : getKeySym("alt") - result += winState == "NORMAL" ? 0 : getKeySym("win") - return result -} - -function getKeyCode(keyName) { - var keyCodeList = { - "esc": 0xff1b, - "tab": 0xff09, - "caps": 0xffe5, - "shift": 0xffe1, - "ctrl": 0xffe3, - "alt": 0xffe9, - "win": 0xffeb, - "backspace": 0xff08, - "enter": 0xff0d, - "left": 0xff51, - "up": 0xff52, - "right": 0xff53, - "down": 0xff54, - "del": 0xff9f, - "space": 0x0020, - "f1": 0xffbe, - "f2": 0xffbf, - "f3": 0xffc0, - "f4": 0xffc1, - "f5": 0xffc2, - "f6": 0xffc3, - "f7": 0xffc4, - "f8": 0xffc5, - "f9": 0xffc6, - "f10": 0xffc7, - "f11": 0xffc8, - "f12": 0xffc9 - } - if (keyCodeList.hasOwnProperty(keyName.toLowerCase())) { - return keyCodeList[keyName.toLowerCase()] - } else { - return keyName[0].charCodeAt(0) - } -} - - - - diff --git a/qml/key/ActionKey.qml b/qml/key/ActionKey.qml deleted file mode 100755 index 4abd6d8..0000000 --- a/qml/key/ActionKey.qml +++ /dev/null @@ -1,50 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -CharKey { - normalColor: virtualKeyboard.actionKeyNormalColor - pressedColor: virtualKeyboard.actionKeyPressedColor - hoverColor: virtualKeyboard.actionKeyHoverColor - - fontSize: virtualKeyboard.actionKeyFontSize - - property string actionKeyImgPath - keyLabel.visible: actionKeyImgPath == "" - - Loader { - width: virtualKeyboard.toolbarSize - height: virtualKeyboard.toolbarSize - anchors.verticalCenter: parent.verticalCenter - sourceComponent: actionKeyImgPath == "" ? undefined : actionKeyComponent - anchors { - horizontalCenter: alignment == Text.AlignHCenter ? parent.horizontalCenter : undefined - right: alignment == Text.AlignRight ? parent.right : undefined - rightMargin: alignment == Text.AlignRight ? virtualKeyboard.keyIconAlignment : undefined - left: alignment == Text.AlignLeft ? parent.left : undefined - leftMargin: alignment == Text.AlignLeft ? virtualKeyboard.keyIconAlignment : undefined - } - } - - Component { - id: actionKeyComponent - Image { - source: actionKeyImgPath - } - } -} diff --git a/qml/key/AltKey.qml b/qml/key/AltKey.qml deleted file mode 100755 index c336449..0000000 --- a/qml/key/AltKey.qml +++ /dev/null @@ -1,58 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "../js/utils.js" as Utils - -TemporarySwitchKey { - id: alt - label: "Alt" - - Binding { - target: alt - property: "switchKeyState" - value: virtualKeyboard.altState - } - - Component.onCompleted: { - temporarySwitchKeyReleased.connect(updateAltState) - temporarySwitchKeyClicked.connect(virtualKeyboard.altClicked) - } - - function updateAltState(altState) - { - virtualKeyboard.altState = altState - } - - state: virtualKeyboard.altState - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - }, - State { - name: "OPEN" - PropertyChanges { - target: keyBackground - state: "OPEN" - } - } - ] -} diff --git a/qml/key/BackspaceKey.qml b/qml/key/BackspaceKey.qml deleted file mode 100644 index 212ab7d..0000000 --- a/qml/key/BackspaceKey.qml +++ /dev/null @@ -1,26 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -ActionKey { - width: virtualKeyboard.keyWidth*1.5+virtualKeyboard.keySpacing - height: keyHeight * 3/4 - alignment: Text.AlignRight - label: "Backspace" - actionKeyImgPath: "qrc:/img/backspace.svg" -} diff --git a/qml/key/BaseKey.qml b/qml/key/BaseKey.qml deleted file mode 100755 index 7d1a3cd..0000000 --- a/qml/key/BaseKey.qml +++ /dev/null @@ -1,62 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import QtQuick.Controls 2.0 -import QtGraphicalEffects 1.0 - -ToolButton { - width: virtualKeyboard.keyWidth - height: virtualKeyboard.keyHeight - property string label: "" - property real fontSize: virtualKeyboard.fontSize - property alias keyLabel: keyLabel_ - property alias keyBackground: keyBackground_ - property alias dropShadow: dropShadow_ - /*label和img对应父控件的水平对齐方式 取值为AlignHCenter:居中对齐, AlignRight:向右对齐, AlignLeft:向左对齐*/ - property int alignment: Text.AlignHCenter - - background: Rectangle { - id: keyBackground_ - radius: virtualKeyboard.keyRadius - } - - DropShadow { - id: dropShadow_ - anchors.fill: parent - verticalOffset: virtualKeyboard.dropShadowVerticalOffset - radius: virtualKeyboard.keyRadius - color: virtualKeyboard.charKeyDropShadowColor - source: keyBackground - samples: 100 - } - - - Label { - id: keyLabel_ - text: label - color: "black" - font.pointSize: fontSize - font.weight: Font.Light - anchors.fill: parent - padding: alignment == Text.AlignHCenter ? undefined : virtualKeyboard.keyLableAlignment - horizontalAlignment: alignment - verticalAlignment: Text.AlignVCenter - visible: true - } - } - diff --git a/qml/key/CapslockKey.qml b/qml/key/CapslockKey.qml deleted file mode 100755 index 3acb3b7..0000000 --- a/qml/key/CapslockKey.qml +++ /dev/null @@ -1,63 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "../js/utils.js" as Utils - -SwitchKey { - label: "Caps" - - switchKeyState: virtualKeyboard.capslockState - keyMouseArea.onReleased: { - if (virtualKeyboard.capslockState == "NORMAL") - { - virtualKeyboard.capslockState = "OPEN" - } else { - virtualKeyboard.capslockState = "NORMAL" - } - var modifierKeyState = Utils.getModifierKeyStates() - virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, false, Date()) - virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) -} - -state: virtualKeyboard.capslockState -states: [ - State { - name: "NORMAL" - PropertyChanges { - target: virtualKeyboard - letterState : virtualKeyboard.shiftState == "NORMAL" ? "NORMAL" : "SHIFT" - } - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - }, - State { - name: "OPEN" - PropertyChanges { - target: virtualKeyboard - letterState : virtualKeyboard.shiftState == "NORMAL" ? "SHIFT" : "NORMAL" - } - PropertyChanges { - target: keyBackground - state: "OPEN" - } - } -] - -} diff --git a/qml/key/ChangeImKey.qml b/qml/key/ChangeImKey.qml deleted file mode 100755 index 2d645bc..0000000 --- a/qml/key/ChangeImKey.qml +++ /dev/null @@ -1,144 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import QtQuick.Controls 2.12 -import QtQml 2.1 -import "../js/utils.js" as Utils - -SwitchKey { - id: changeIm - label: virtualKeyboard.currentIM.split("|")[2] - - Binding { - target: changeIm - property: "switchKeyState" - value: virtualKeyboard.changeIMState - } - - Connections { - target: virtualKeyboard - onQmlImDeactivated: { - imList.close() - } - } - - keyMouseArea.onReleased: { - if (virtualKeyboard.changeIMState == "NORMAL") - { - virtualKeyboard.changeIMState = "OPEN" - imList.open() - }else { - imList.close() - } -} - -keyMouseArea.onPressed: { - imList.currentIndex = - virtualKeyboard.currentIMList.indexOf(virtualKeyboard.currentIM) -} - -state: virtualKeyboard.changeIMState -states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - PropertyChanges { - target: virtualKeyboard - isCurrentIMListVisible : false - } - }, - State { - name: "OPEN" - PropertyChanges { - target: keyBackground - state: "OPEN" - } - PropertyChanges { - target: virtualKeyboard - isCurrentIMListVisible : true - } - } -] - -Rectangle { - id: imListRectangle - anchors.bottom: parent.top - anchors.horizontalCenter: parent.horizontalCenter - visible: virtualKeyboard.isCurrentIMListVisible - width: imList.width - height: imList.height - radius: 8 - Menu { - id: imList - - onHeightChanged: { - // 切换输入法列表默认显示四个条目 - if (imList.count > 4) - { - height = imList.itemAt(0).height * 4 - } - } - width: virtualKeyboard.imListItemWidth - modal: true - Overlay.modal:Rectangle { - color: "transparent" - } - background: Rectangle { - radius: imListRectangle.radius - width: parent.width - height: parent.height - color: "white" - } - - Instantiator { - model: virtualKeyboard.currentIMList - delegate: MenuItem { - background: Rectangle { - radius: imListRectangle.radius - color: highlighted? virtualKeyboard.currentIMColor: "white" - } - property string uniqueName: modelData.split("|")[0] - property string localName: modelData.split("|")[1] - property string label: modelData.split("|")[2] - font.pointSize: virtualKeyboard.imListFontSize - text: label.padEnd(3, " ") + localName - width: virtualKeyboard.imListItemWidth - height: virtualKeyboard.imListItemHeight - MouseArea { - anchors.fill: parent - onReleased: { - virtualKeyboard.setCurrentIM(uniqueName) - imList.close() - } - } - } - - onObjectAdded: imList.insertItem(index, object) - onObjectRemoved: imList.removeItem(object) - } - - onClosed: { - virtualKeyboard.changeIMState = "NORMAL" - } - } -} - -} diff --git a/qml/key/CharKey.qml b/qml/key/CharKey.qml deleted file mode 100755 index 6d1176b..0000000 --- a/qml/key/CharKey.qml +++ /dev/null @@ -1,100 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import QtQuick.Controls 2.0 -import "../js/utils.js" as Utils - -BaseKey { - property string shiftedText - property color normalColor: virtualKeyboard.charKeyNormalColor - property color pressedColor: virtualKeyboard.charKeyPressedColor - property color hoverColor: virtualKeyboard.charKeyHoverColor - - MouseArea { - id: keyMouseArea - anchors.fill: parent - hoverEnabled: true - - onReleased: { - keyBackground.state = "NORMAL" - timer.stop() - var modifierKeyState = Utils.getModifierKeyStates() - var keycode = Utils.getKeyCode(keyLabel.text) - virtualKeyboard.processKeyEvent(keyLabel.text, keycode, modifierKeyState, false, Date()) - charKeyClicked() - } - - onPressed: { - keyBackground.state = "PRESSED" - timer.start() - } - - onEntered: { - keyBackground.state = "HOVER" - } - - onExited: { - keyBackground.state = "NORMAL" - } - - } - - keyBackground.state: "NORMAL" - keyBackground.states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - color: normalColor - } - PropertyChanges { - target: dropShadow - verticalOffset: virtualKeyboard.dropShadowVerticalOffset - } - }, - State { - name: "PRESSED" - PropertyChanges { - target: keyBackground - color: pressedColor - } - PropertyChanges { - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - } - }, - State { - name: "HOVER" - PropertyChanges { - target: keyBackground - color: hoverColor - } - } - ] - - - Timer { - id:timer - interval: virtualKeyboard.longPressInterval - repeat: true - onTriggered: { - var modifierKeyState = Utils.getModifierKeyStates() - virtualKeyboard.processKeyEvent(keyLabel.text, Utils.getKeyCode(keyLabel.text), modifierKeyState, false, Date()) - } - } - } diff --git a/qml/key/CtrlKey.qml b/qml/key/CtrlKey.qml deleted file mode 100755 index 646802b..0000000 --- a/qml/key/CtrlKey.qml +++ /dev/null @@ -1,59 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "../js/utils.js" as Utils - -TemporarySwitchKey { - id: ctrl - label: "Ctrl" - - Binding { - target: ctrl - property: "switchKeyState" - value: virtualKeyboard.ctrlState - } - - Component.onCompleted: { - temporarySwitchKeyReleased.connect(updateCtrlState) - temporarySwitchKeyClicked.connect(virtualKeyboard.ctrlClicked) - } - - function updateCtrlState(ctrlState) - { - virtualKeyboard.ctrlState = ctrlState - } - - state: virtualKeyboard.ctrlState - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - }, - State { - name: "OPEN" - PropertyChanges { - target: keyBackground - state: "OPEN" - } - } - ] - -} diff --git a/qml/key/EnterKey.qml b/qml/key/EnterKey.qml deleted file mode 100644 index b8ecd51..0000000 --- a/qml/key/EnterKey.qml +++ /dev/null @@ -1,25 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -ActionKey { - width: virtualKeyboard.keyWidth*2.5+virtualKeyboard.keySpacing*2 - alignment: Text.AlignRight - label: "Enter" - actionKeyImgPath: "qrc:/img/enter.svg" -} diff --git a/qml/key/FnKey.qml b/qml/key/FnKey.qml deleted file mode 100755 index 755a7bf..0000000 --- a/qml/key/FnKey.qml +++ /dev/null @@ -1,61 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "../js/utils.js" as Utils - -SwitchKey { - id: fn - label: "Fn" - - switchKeyState: fn.state - keyMouseArea.onReleased: { - if (fn.state == "NORMAL") - { - fn.state = "OPEN" - } else { - fn.state = "NORMAL" - } -} - -state: "NORMAL" -states: [ - State { - name: "NORMAL" - PropertyChanges { - target: virtualKeyboard - fnSymbolState : virtualKeyboard.shiftState == "NORMAL" ? "NORAML" : "SHIFT" - } - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - }, - State { - name: "OPEN" - PropertyChanges { - target: virtualKeyboard - fnSymbolState : "FN" - } - PropertyChanges { - target: keyBackground - state: "OPEN" - } - } -] - -} diff --git a/qml/key/FnSymbolKey.qml b/qml/key/FnSymbolKey.qml deleted file mode 100755 index 9af4ce9..0000000 --- a/qml/key/FnSymbolKey.qml +++ /dev/null @@ -1,42 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -SymbolKey { - height: virtualKeyboard.firstRowKeyHeight - - property string fnValue - - fontSize: virtualKeyboard.fnSymbolKeyFontSize - - state: virtualKeyboard.fnSymbolState - - states: [ - State { - name: "FN" - PropertyChanges { - target: keyLabel - text: fnValue - } - PropertyChanges { - target: shiftLabel - text: "" - } - } - ] -} diff --git a/qml/key/LetterKey.qml b/qml/key/LetterKey.qml deleted file mode 100755 index 47ee3f6..0000000 --- a/qml/key/LetterKey.qml +++ /dev/null @@ -1,41 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 - -CharKey { - - state: virtualKeyboard.letterState - - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyLabel - text: label - } - }, - - State { - name: "SHIFT" - PropertyChanges { - target: keyLabel - text: shiftedText - } - } - ] -} diff --git a/qml/key/ShiftKey.qml b/qml/key/ShiftKey.qml deleted file mode 100755 index 54e9c1c..0000000 --- a/qml/key/ShiftKey.qml +++ /dev/null @@ -1,68 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "../js/utils.js" as Utils - -TemporarySwitchKey { - id: shift - label: "Shift" - - Binding { - target: shift - property: "switchKeyState" - value: virtualKeyboard.shiftState - } - - Component.onCompleted: { - temporarySwitchKeyReleased.connect(updateShiftState) - temporarySwitchKeyClicked.connect(virtualKeyboard.shiftClicked) - } - - function updateShiftState(shiftState) - { - virtualKeyboard.shiftState = shiftState - } - - state: virtualKeyboard.shiftState - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: virtualKeyboard - letterState : virtualKeyboard.capslockState == "NORMAL" ? "NORMAL" : "SHIFT" - symbolState : "NORMAL" - } - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - }, - State { - name: "OPEN" - PropertyChanges { - target: virtualKeyboard - letterState : virtualKeyboard.capslockState == "NORMAL" ? "SHIFT" : "NORMAL" - symbolState : "SHIFT" - } - PropertyChanges { - target: keyBackground - state: "OPEN" - } - } - ] -} diff --git a/qml/key/SpaceKey.qml b/qml/key/SpaceKey.qml deleted file mode 100644 index 758b011..0000000 --- a/qml/key/SpaceKey.qml +++ /dev/null @@ -1,22 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -ActionKey { - width: virtualKeyboard.spaceKeyWidth - label: "space" - actionKeyImgPath: "qrc:/img/space.svg" -} diff --git a/qml/key/SwitchKey.qml b/qml/key/SwitchKey.qml deleted file mode 100755 index b2a5452..0000000 --- a/qml/key/SwitchKey.qml +++ /dev/null @@ -1,161 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "../js/utils.js" as Utils - -BaseKey { - - property color normalColor: virtualKeyboard.switchKeyNormalColor - property color pressedColor: virtualKeyboard.switchKeyPressedColor - property color openColor: virtualKeyboard.switchKeyOpenColor - property color openPressedColor: virtualKeyboard.switchKeyOpenPressedColor - property color hoverNormalColor: virtualKeyboard.switchKeyHoverNormalColor - property color hoverOpenColor: virtualKeyboard.switchKeyHoverOpenColor - property alias keyMouseArea: keyMouseArea_ - property string switchKeyState - - fontSize: virtualKeyboard.switchKeyFontSize - - Component.onCompleted: { - charKeyClicked.connect(switchKeyNormal) - } - function switchKeyNormal() - { - virtualKeyboard.shiftState = "NORMAL" - virtualKeyboard.ctrlState = "NORMAL" - virtualKeyboard.altState = "NORMAL" - virtualKeyboard.winState = "NORMAL" - } - - - keyBackground.state: "NORMAL" - keyBackground.states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - color: normalColor - } - PropertyChanges { - target: dropShadow - verticalOffset: virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyNormalDropShadowColor - } - }, - State { - name: "PRESSED" - PropertyChanges { - target: keyBackground - color: pressedColor - } - PropertyChanges { - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyNormalDropShadowColor - } - }, - State { - name: "OPEN" - PropertyChanges { - target: keyBackground - color: openColor - } - PropertyChanges { - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyOpenDropShadowColor - } - PropertyChanges { - target: keyLabel - color: "white" - } - }, - State { - name: "OPEN_PRESSED" - PropertyChanges { - target: keyBackground - color: openPressedColor - } - PropertyChanges { - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyOpenPressedDropShadowColor - } - PropertyChanges { - target: keyLabel - color: "white" - } - }, - State { - name: "HOVER_NORMAL" - PropertyChanges { - target: keyBackground - color: hoverNormalColor - } - }, - State { - name: "HOVER_OPEN" - PropertyChanges { - target: keyBackground - color: hoverOpenColor - } - PropertyChanges { - target: dropShadow - verticalOffset: -virtualKeyboard.dropShadowVerticalOffset - color: virtualKeyboard.switchKeyOpenDropShadowColor - } - PropertyChanges { - target: keyLabel - color: "white" - } - } - ] - - MouseArea { - id: keyMouseArea_ - anchors.fill: parent - hoverEnabled: true - - onPressed: { - if (switchKeyState == "NORMAL") - { - keyBackground.state = "PRESSED" - } else { - keyBackground.state = "OPEN_PRESSED" - } - } - - onEntered: { - if (switchKeyState == "NORMAL") - { - keyBackground.state = "HOVER_NORMAL" - } else { - keyBackground.state = "HOVER_OPEN" - } - } - - onExited: { - if (switchKeyState == "NORMAL") - { - keyBackground.state = "NORMAL" - } else { - keyBackground.state = "OPEN" - } - } - } - } diff --git a/qml/key/SymbolKey.qml b/qml/key/SymbolKey.qml deleted file mode 100755 index 44253cd..0000000 --- a/qml/key/SymbolKey.qml +++ /dev/null @@ -1,67 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import QtQuick.Controls 2.0 - -CharKey { - - property alias shiftLabel: shiftLabel_ - - state: virtualKeyboard.symbolState - - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyLabel - text: label - } - PropertyChanges { - target:shiftLabel - text: shiftedText - } - }, - - State { - name: "SHIFT" - PropertyChanges { - target: keyLabel - text: shiftedText - } - PropertyChanges { - target: shiftLabel - text: "" - } - } - ] - - Label { - id: shiftLabel_ - text: shiftedText - color: "black" - font.pointSize: virtualKeyboard.shiftFontSize - font.weight: Font.Light - anchors { - left: parent.left - leftMargin: virtualKeyboard.shiftLeftMargin - top: parent.top - topMargin: virtualKeyboard.topLeftMargin - } - visible: true - } - } diff --git a/qml/key/TemporarySwitchKey.qml b/qml/key/TemporarySwitchKey.qml deleted file mode 100644 index 3900941..0000000 --- a/qml/key/TemporarySwitchKey.qml +++ /dev/null @@ -1,39 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "../js/utils.js" as Utils - -SwitchKey { - signal temporarySwitchKeyReleased(string temporarySwitchKeyState) - signal temporarySwitchKeyClicked() - - keyMouseArea.onReleased: { - if (switchKeyState == "NORMAL") - { - switchKeyState = "OPEN" - } else { - switchKeyState = "NORMAL" - var modifierKeyState = Utils.getModifierKeyStates() - virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState - Utils.getKeySym(label), false, Date()) - virtualKeyboard.processKeyEvent(label, Utils.getKeyCode(label), modifierKeyState, true, Date()) - temporarySwitchKeyClicked() - } - temporarySwitchKeyReleased(switchKeyState) -} - -} diff --git a/qml/key/WinKey.qml b/qml/key/WinKey.qml deleted file mode 100755 index a649f15..0000000 --- a/qml/key/WinKey.qml +++ /dev/null @@ -1,60 +0,0 @@ -/* -* Copyright 2022 KylinSoft Co., Ltd. -* -* This program is free software: you can redistribute it and/or modify it under -* the terms of the GNU General Public License as published by the Free Software -* Foundation, either version 3 of the License, or (at your option) any later -* version. -* -* This program is distributed in the hope that it will be useful, but WITHOUT -* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -* details. -* -* You should have received a copy of the GNU General Public License along with -* this program. If not, see . -*/ - -import QtQuick 2.0 -import "../js/utils.js" as Utils - -TemporarySwitchKey { - id: win - //暂时以Win显示,后续更换麒麟icon - label: "Win" - - Binding { - target: win - property: "switchKeyState" - value: virtualKeyboard.winState - } - - Component.onCompleted: { - temporarySwitchKeyReleased.connect(updateWinState) - temporarySwitchKeyClicked.connect(virtualKeyboard.winClicked) - } - - function updateWinState(winState) - { - virtualKeyboard.winState = winState - } - - state: virtualKeyboard.winState - states: [ - State { - name: "NORMAL" - PropertyChanges { - target: keyBackground - state: "NORMAL" - } - }, - State { - name: "OPEN" - PropertyChanges { - target: keyBackground - state: "OPEN" - } - } - ] - -} diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..84b2f74 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,7 @@ +add_subdirectory(libs) + +option(BUILD_APPS "Build apps" ON) + +if(BUILD_APPS) + add_subdirectory(apps) +endif() \ No newline at end of file diff --git a/src/appinputareamanager.cpp b/src/appinputareamanager.cpp deleted file mode 100644 index 952ac6f..0000000 --- a/src/appinputareamanager.cpp +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Copyright 2022 KylinSoft Co., Ltd. - * - * This program is free software: you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by the Free Software - * Foundation, either version 3 of the License, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -#include "appinputareamanager.h" -#include - -AppInputAreaManager::AppInputAreaManager(QObject *parent) - : QObject(parent), dummyWidget_(nullptr), oneshotTimer_(nullptr) { - KWindowSystem::setType(dummyWidget_.winId(), NET::Dock); - oneshotTimer_.setSingleShot(true); - connectSignal(); -} - -void AppInputAreaManager::connectSignal() { - QObject::connect(&oneshotTimer_, &QTimer::timeout, this, [this]() { - dummyWidget_.setGeometry(virtualKeyboardRect_); - dummyWidget_.show(); - // 使用KWin接口调整工作区域,仅在X11下有效 - // 该接口对全屏应用无效 - // 该接口需在winId对象显示前后调用,否则可能不生效 - KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0, - 0, 0, 0, virtualKeyboardRect_.height(), - virtualKeyboardRect_.x(), - virtualKeyboardRect_.width() - 1); - }); -} - -void AppInputAreaManager::raiseInputArea(const QRect &virtualKeyboardRect) { - virtualKeyboardRect_ = virtualKeyboardRect; - - oneshotTimer_.start(SHOW_DELAY_TIME); -} - -void AppInputAreaManager::fallInputArea() { - KWindowSystem::setExtendedStrut(dummyWidget_.winId(), 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0); - dummyWidget_.hide(); - oneshotTimer_.stop(); -} diff --git a/src/appinputareamanager.h b/src/appinputareamanager.h deleted file mode 100644 index f82de68..0000000 --- a/src/appinputareamanager.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright 2022 KylinSoft Co., Ltd. - * - * This program is free software: you can redistribute it and/or modify it under - * the terms of the GNU General Public License as published by the Free Software - * Foundation, either version 3 of the License, or (at your option) any later - * version. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - */ - -#ifndef APPINPUTAREAMANAGER_H -#define APPINPUTAREAMANAGER_H - -#include -#include -#include -#include - -class AppInputAreaManager : public QObject { - Q_OBJECT - -public: - explicit AppInputAreaManager(QObject *parent = nullptr); - ~AppInputAreaManager() = default; - // TODO(linyuxuan): 使用kdk重新实现该函数 - void raiseInputArea(const QRect &virtualKeyboardRect); - void fallInputArea(); - -private: - void connectSignal(); - -private: - QRect virtualKeyboardRect_; - QWidget dummyWidget_; - QTimer oneshotTimer_; - // 经过指定时间之后顶起应用程序,避免桌面在虚拟键盘显示之前可见 - // 根据使用经验,选定200毫秒作为经验值 - static const int SHOW_DELAY_TIME = 200; -}; - -#endif // APPINPUTAREAMANAGER_H diff --git a/src/apps/CMakeLists.txt b/src/apps/CMakeLists.txt new file mode 100644 index 0000000..741cb22 --- /dev/null +++ b/src/apps/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(fcitx) \ No newline at end of file diff --git a/src/apps/fcitx/CMakeLists.txt b/src/apps/fcitx/CMakeLists.txt new file mode 100644 index 0000000..82ce521 --- /dev/null +++ b/src/apps/fcitx/CMakeLists.txt @@ -0,0 +1,3 @@ +if(USE_QT) + add_subdirectory(qt) +endif() \ No newline at end of file diff --git a/src/apps/fcitx/qt/CMakeLists.txt b/src/apps/fcitx/qt/CMakeLists.txt new file mode 100644 index 0000000..cff701e --- /dev/null +++ b/src/apps/fcitx/qt/CMakeLists.txt @@ -0,0 +1,61 @@ +# https://doc.qt.io/qt-5/cmake-manual.html +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) + +find_package(Qt5 + COMPONENTS + Quick + Gui + Core + DBus + REQUIRED +) + +set(SOURCES + "main.cpp" + "virtual_keyboard_manager.cpp" + "view/virtual_keyboard_view.cpp" + "model/virtual_keyboard_model.cpp" +) + +set(INCLUDE_PATH + "${CMAKE_CURRENT_SOURCE_DIR}" + "${CMAKE_SOURCE_DIR}/src/libs/" + "${CMAKE_SOURCE_DIR}/src/apps/" +) + +set(TRANSLATIONS) + +set(RESOURCES + "qml.qrc" +) + +add_executable(${PROJECT_NAME}) + +option(CONSOLE_LOGGER "Enable console logger, otherwise enable syslogger" OFF) +if(CONSOLE_LOGGER) + target_compile_definitions(${PROJECT_NAME} PRIVATE CONSOLE_LOGGER) +endif() + +target_sources(${PROJECT_NAME} + PRIVATE + ${SOURCES} + ${RESOURCES} +) +target_include_directories(${PROJECT_NAME} + PRIVATE + ${INCLUDE_PATH} +) +target_link_libraries(${PROJECT_NAME} + PRIVATE + Qt5::Quick + Qt5::Gui + Qt5::Core + Qt5::DBus + fcitx5_virtual_keyboard + systemd +) + +install(TARGETS ${PROJECT_NAME} + RUNTIME DESTINATION bin +) \ No newline at end of file diff --git a/src/apps/fcitx/qt/fonts/HarmonyOS_Sans_SC_Bold.ttf b/src/apps/fcitx/qt/fonts/HarmonyOS_Sans_SC_Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..55b75ad04d4d4d86b59a01ea3d9d50d37674f23c GIT binary patch literal 8158996 zcmd3P2YeJo|NhM0|Syg66EzQzyIE6zB@ZRJ3Bk`?Nd%jAw&{@ zTZlf#5A2UCT*x5K@%{Vs?U&gnYXq*-gwW#qj~IUZl#|xnA%rVei1}OlAAdrx8HMKW zLR@@Mh~!6yAAd~QS@TZ6P>3Zf@%)6-W=u4mUDB^mh?`JelVzt*KX>ZecOP?u5cjMU zGk=~oZOX*Sxqln^h?unm<%>#{;5~irv$!6D>z31I%syxA*5l5{wISpiOQ!3mO>BC? zjnl=Pv2I*1oiXtoW9IX+hd8_NHslY5C(f91;j2$xi|gm{LC+fctl6*nI;|9Ew>d|+ zjdpWUzHf8#-^BU1-lNK&i}D}5{Mk=&{e}?R)jL&d*bp`5p@~t#C7R(*p6CMDO4@YH>f{gW?guN5%7iFN!sQYsGrNcf`AZ8}XB3lh^_Hz1Rh~TkHcoBol>{NirEQ zRki~xk>!9Davb0!c@|(;;w|!Oxft*Uc?aM!xeRc*Tn>1TTmg8$TnYFO`8ePzxeD+p z`841&@(rQMH|5)i|5KtS@_qRM;AXi6@N>Bp@GJQZ;BJZf$OG~Zz#3U2q~_M*0R373 zFi}eaOwrN+Gqt9Gd0HM|fmQ(6QY!>3(<%Y0v?{=^T35jCT6e%+S}(wX+Cab|+EBpZ z+Hk<*v=aeO)xoD zL%4eP92F7;Lx&FuiIS1ShlYSFb`B{#BH+X|;T6CuKIsziBEgBfg-;}kCTC5V85XA! zP9~gAIGgZ-853uoB^DAcCcKUCe!^8V&YE$SSVQ;*;k$&J3Adu28iM+sKRdgT!-X%5 zL*9QiuHjp~e8-W_@ghZpM0e3o3==1cabhao7>{?IDyJpxYZByDu*n5U1xX##_7t4c zZd-fNKDRW~;oT0q%0S2JJ1Umg=gLp)a~HpT?sgk$fcpd1+vkBl32o4Nb#KIyh}$n;q7V)}xWzN4h7Hk;`R02ACnztew{D zczT!fq_p;02Q6?tRVQnk^$g(G_C3q84p{rG+i|6EVWWy!pF7V9>v#N~v%awoA@zXu zPr&b;dkIW?7tiihDR{;H6I z^`-SA!cO4buk4YptgqB{-J5_*-&o(&UH_XgMJ+f$4d3$oBj2~%+Jv+{)-LNOz+Y9J z>JH$f!k7KE_+5AFzZkQ2TfhAmix<{+7IYYVFWMSZ@e$yDyz`K?59g@%S9L)8AArz% z{+Gx9`h5+3TZC^lbnmaFSx?%}Sx>05^{nEz;DdihyWa=ix6XRQddzw-wruMkppBj2 zq7C) zcUiDN(4Nm*FIt;`-FG4WGU(uS{NA@|qqeL7uwJ#jk``NQQ1!$blgO_cyj)I5OFT*M6!-msiQz5Gl#HQ50vOfP` z(2;tF^;G?LN3J1dU#-<-okZxIzu=i2O8d3G2j(9H+=X`Df%CS=lenj(^nP_sN&R!w zo&Pfbse99rV-dc2&3{|LziC%tL77&74^Xn)U6LK z>15GP^b!MLp^p+{#01#r)5T12j+iGF!t=FQ+$?TG?H)v1K7_Cm;bDYF5bzx_a2rz^ zgNNroJjH%?FWN`5wrNvT>0Q^cmJ;3+c#U8gYF(dEDFdt(CCI&qRD5ejfpIzOmK_H&RnXGt_Jo zdUC1oSYLokCPLCbB9dU$rGiqH3T5#>0Dh>RSq3jjJg^{{-}~p4RDRSn{QOZ_eNpiv zMTazUGuTLaZL)Q>wMt#k$5ETwaKu{MaQeTTTG!4=4Ycz^G3_iGZ0Gdoc7~31RPAhC zXB`I*U?P5kzPv9W$%53qny7EEZnHiVEx~1?_$Sj>!IJ{3^6&#bmwk9n(O&}O_dal9 zW!d~e4_s|_>msXy?^P-BuruDlH|@8zMwMhOfNhWf@6BdhfD$5ybp`T0hAVKA*u(l* zy;B`lJm_O5bd(RQufQwzqZS)b+h1zAbrSTV6l9Et-Ty3T>Qmrx%%S{UM}I_Y4f_e} zHFc)N9p&Mn&YP#+3LjaG`d;RO4~#9ZE{^h`EkoVF(R>`*u=!|=Z68fFM_GCU+5VJX z8hA$QG+Fi9z;gyaCDO%6eDw<=1-j#Vz=Su@6K_E_zl8pI-+CN&?o;3#_dqZD#9CrK zVqGRO&||*>Gp_)aYzF6>YpuucXQVxCo!`LQ{zpmH7WE=v>bKTQ_A8Y(;KX)BV#x6w zuCVN3U`yt~2qaOO#qh4#CdZ^AjjX0^wDXM97 zk>DObh)gAkAaB)E^kX7YB8se+aqVEGH5>6y9erN4>lgT%Pr;XWTR%mYca(9r;>iE% z5%U%5Va4g94(Pl8=SM9kj?^Tok0VKqo7{-BPZ3N%?0ruZJkX0X9pWw-zEb&{=lp1e% z9;xs0B}W9-3TR6|T6aK`dLDf4MwX#upL1AeLk$rI;{}4= zU|Yuad+n$2&JQ4UzfhEe`15sKG;+VOGkWDPpG3X90V}Lh&>O#^4h_-|=y5MSeqUSP zA*&A*lFm|s&@*kBnTZk}v~IA*GhJ8{aqWDwlk$D-HRc1v;xn|~@6h{4;V-kx`p>|l z!Lp-&6KdZK-?hgcL2$kqUed^cFI2emIWQdh4taS*-bAwCjPV9iLsU||XtaOFvA5&v zW%-viq}b^iy?Tbr>Y{3DYX9Kk2Ac6o#$hB@%oB*`bPPBrCv|J78Bkcv^bLac;Mfj$5%oC#(fp*`9Uacv<&pdC!1GL@R3K`xE zI_8pEd3`dTzZYEm8MNMa&_rKiSY@q&UDprT|1ItlufgZ3*RwQm-@^{{A9`XXIWssl z4mIN-!f);IarUuFRR{RqCe#u7noR@X7+*q?D2|i^EqEn*l83bbIaWe8yk@OOYy<3^ z_h5Sqw8)2I5YGD$Y#vVi)PAZl2n*Z~Tl`B>?f3A)fTkUiF^bysncB`p&TxFd}PxA`IH`-RF zO)ZhpwU`nvw;m>+kB6Q4l<>jVpu7#6P{&N`GV4OiL@A?TXAH&pGL(BOdV3QnL($XY zpo?YJL!u|B0g?r^eh%rYt$!fC-8vWT^Of}qQWn~8#Hif)khH3fpFkHp083`Ox?@|O zj-<1{Bf5$X4%v1rXe|z!1@RJkdDEDTs;qi)qwX4(qw1{#)~EHKY2ex~v^Ja68~eQ0 zf0@V@708o_7TJY<31GzWMYL<8bvM4^5cqB!S}+w{DHX9)aCUpHPy@vtWs+a%$!N`A z(Zctm1%I%vv7bbXeXOh#+*R^p8)I8R&p!0rZv5bB|Mw5*c@0RTf45xl^39^7vZZPd z54FN>q8#(1A{0>xJp5f@(0}%*Kf>^zEnSR;XAay%^gQZvL!$Rl=lypx_Ks=wBbEmG zN`^N6EV%cBpl0Zp9DV#IRwDxyy#s0Wy()?pXs*bO6bl^8fR6Yd!9`!MQ>0 zH0u5lqvTbjAAA92*-rllA!}tR9R%9jRDHlB~yg)xBuHXMo9z?fi;o zfhQhvL--P~!WrA<`eD)C{$a)>htAeoM%-`iIh$Amg@y^7lYKd>`wNiOgj} z$!{y^X+2!eHuyQBAMqVq3Gt@-Z>hUhZ(=U=o8pCC3$7hb@66Qm|CKkv zuhtBG@HR?aXT1t|K~os+8ODo?oCO~lUubhD;yn9Wg^$sr+-yOkg4`*#0?aLa-r}RdA(YLiei@H3-@fcYL-^bA%wRP5- zb53&GR=pNLbM)d(n^hkH9sp<4@;fR$w5`84RtRv;@MG2p@MLgZ+~W-1-m`nZjpr)y zq?!Y~1eWa0=xdBI!UI=pcO6}={z@)-#!=)hPE#dprc?-eWxhIY;U` zGAB5^B$e{-w7B}xBOU+V_-w5-{|daJp1iAjE4>8t2{hi4Dz_RZjBo3~Td#tG0G!Qp_;+F6YZ?! zu2A>;d-~_%+ywW306l*PD_G5eccgDreS%SO)$>o;V@y%0b~FwglH+RV(f1mtX??$` zmfKF%W5B!t@1hp)GXNK^hsNkbO%!*g6@J)T4oir5Eh9JJ<@yX*35(;1hlICI;aoCC zyKC&6e}==z5#v1M38@5DE$BLGT)2LVqhA6o6v*mDh2MD1gZ zMC{Qc_(;?YgIGxcO$0|8`~Y?=x`aC0@<$~#;cdiBGW^uKh`qM=C_1|xujQ}!rlUVl z>N4wAyu;CiYPE=%BG9gw`Bq2$@W0?tZ-hR)0qI`!8z>#uu%PQ7z`jjtJgWZD@Vn~g zs=GdXM6K@LpT`>O**|&G^C$PQ-YUCQc6WG>gP0?h4H~}{VHpC}Ckm{`6Ih$b@C?o` zBB=8^1hq=?U6g(W!nFuXob(TI#wtajW`3!4lRqKsK{$YbXC-E$p!^jm`*B>qh_cr6 ztm1+tq6F(4#HDos;Yh;4ng=QK2p19N5oQtw2uBmPRysf<~+vJ z2r~&!APf*@D=1!)eHGL`MSWQZd4WpTpfLm9tm3j%#bqh;|E9f(_!-(OLS}xFrB>cK zt;zMElW`AgBPG^E%DGOs0OyMl)cFd8YY~>9z#$0uUU{;Uj^2>V5YQW3E2>tCs#Zi# z@Y!{uvz(051xiPdbL9n2xL95xuSHnmoNvV$l!DTPTp?G=$Fa)vMY&F{$2IyRQ5#0t_ZtvS| zit|*g4V{T~p!2Z)^GbxpXvf=ly_DIGgCS%GG^UU9c`RB8?ib{cLOdrko7{;>{eMpa@71@UA zEt%3%;j*k?yn@(W#&~bfjDO5HTR>dQl$*4j zxO=&RY0J}lMbS+T-X20ILTHCj=7cJou{v3*b03632qW+!=mS`jt=78R=_lfRD#9d$ zX$WBitVWjSA*g2;h*mO$(uHg%%a9^asz8ZC4w56}iSkrDDdaS);+`$flMCc!Sjl~Z zTq^O5yhGlDdk@M-v0D3ixmLa*H{h8~xc`aVidES{LRQLO5%wX}U`4hcc$|cgp{{Yx zb6tFKnL6pfSeGS$Cw9&yaZ|0q5xqp2VU^ZAsGnMxXf zl$c$SmHlpMxweA~#oNJbv1;tnm0Q52yO=dsQl>9Qp;JV-c@c({Og8;#EeOu5Rr ztMI=-Q9(+4%E3C!^lCzSK`ma`_g-L|7nsTr!Wr1=RcBzV7Z~dWUU_yQ>_s@}qyu}s zz+5jd*E<3MnCd+h0hr2Xr^)5scyFQ;(r|7l=7KL6zQp-kNx~6Z}ze zcYIQOh7)peE@AD$s6y>CUE+_8w?jXkhs2MJx5LTKc^uD^~NTX9~d;_)luS32QwoS%uhW;*hK zVj0${bNu@FcjG^d--7tI_#N>-#qWtfpr#-BJWBcY1$`;LEMIe9%Sf6^kKf~K<10lv z;&wiivEEmSJl%Y~d;^>?4CjV|x<3kGOw?J$Rr&^Lz_^ zcDT|xFUI+1gveRNRi4|Nb0mMv8Shx`g!^%Z-s4ke=srBFcqFVwd<}v+ulBtL__lAO z6E-{N&vD)!b1ya@_@wW9C+za=ML8-QROKBW{F*-=lZGHi{fYiGf6fs@$Y12QLp$eO z<`4N+A?}_wjeH7Y6YfoXTG>#8390=!8?9a~aN)8VHem z|I!(6oaTfu&a+kAf1ZDV|1$s82sa=sb>ixp0eS9-4*q-m5BeYVKjlmDLwED9MR>#K z0o>r<g#DE&_)e1_?Dd7Lo3{8Y#A(Lw#Eds{GN~j<}h1OJn)Xc{f@ocd`7-ShB4V4ODSx@5+uC z$M{2xAFe6=!7`)urOVa3G>=Nxl34QP)c+Up8-ar;^B9))uuEBw&6#3b5Rb96=lE19 z(`moTN0@HgEC*P!n|aP>$@|?WpqxXheC<-EA7py89q|>@sdvF9R^Rmq-wvLS_yLuo z0Z##gyt|rEjS8xg)!i)K&C)(c${ya`!;~|5*UOwWjKjN!Jf}0~`-I?dNcn?L9b}4a zE7{gf7VVdtY0)ep%p!b^`d$g2wXK-HGrbK{B6g6n?3Xir86hnr@f)9Q<3N??0d?25 zWyFoPU8Bko?02LqJLq!OB+kjH@?XXh+$^~h-&@6}ZndE*N3La_j=X!g71o|*KEx8* zvt--mqWvWerfYn*9m{FQ{Oy?jpi0qNJ8`A)Zeq@S=7j7(ifz-~&OCVvir;xxc~qtR zMf0MBViniY8J7ymZwQBIKO!A61t}-1IC@s4XuP|Ra1S9YDx^1ITzLScJgDMY3&x>8 zBjs17xCkF)%I_*JK7j=&#rxW3z^@tqn(#a*YV zxSO=^zDC94o>u8`q(|3D%ySa+T%_Xei&R|RsN&k4gy7vM=MCOv8+vc^K7;xMvHB8x z8oo7w6_^5RFa=g&3arDl!(yCoMo{P55TF}iUotxm-9W5DfczJ05MD!g8$tDp%D)*N z^12nB%kkVJ$iEtSrS(7bmf>B%3XAk*1r&CPRm7HQ#1{I-YJOB4!@5mz3F~HZ8^1~s z-zaY8F+3}x+G+y6Z7RZagh;zZx1DN3)qat-Q}O7wtKV)a|7)<|)Ee0TZOgDVtZem- zqC|f}U!^~-uhw7E-_m#MzZ+#nxzW+6Fe;5sMwQXo=wfs;dKkwVJ&j&QZ=;XV*XU=A zFh&~38>5U9jN6RcjXRCy#{I?`<2_@evB~(z_{{vfd7Jry`69k9UhklH5kl{)_Z5D9 zfIdtF^wIigk)ofXpC(fEDf$eNtLysNqEJ6qUx3v-YThHPSrKPEXsk9DV9zz|u!i|G z8nARe_Q$&he%Or8T;q`Cf3S*@YKA@UG!eVE_#-D1KtF9 zxZ#y?i?`qb^@_JOAG|mlw4vHC@vb&P8zDAoBej#jbxzU7ijTPm-WF|=Hc5QWo$$WU z!kR9=#{PEqi*NOh^vz-HYB6#1+%1b5IX#wmC_!hjm>G+;Zc%I&cPq&rW0>5q>@uk*I zYbUm8$7sihudpj%N3mV&g#7@&#eRT2#7?cJ)?56f_0{@{U$p+(KzQ~BYeOIh)&73J zYv*d`ihbPQZ@;!cTObZ-mui=aKj3}2LLAht(XJ7PwCl9RqDH$>yHN^#rT#D!xX1Lz zrAuLx+U-wd$amCkhw?qSQGP4GmpkEy{#pJaf0g^?L1+m=b7^t#1qHDa;Y8$5(-N@5 zVH0@IlC=!21>{&;t-V$P|8xhfn^vtItM$?PX@j&&kT*^nqm9!}(}D(?sn`zn2WT|z)bZe@53wjfxZyvb1b1M{A0`8w=E)jp&fU7+^QlozV~Gvz$Bf2O=h?Vkz%EcVaD6WBjfUWJ`A-;&p; zy(Q&hwYQ{PqV|@QOV!?z@(z5J8$J0Bdh$K=XOR7w!2X0kPXuu9HS-N~leyXa1ow8B z-JBDSt z7+nCt*8zJQy|JHZAEOWWZeOD>;{A+%h>tKvAP#OXT#DbLj^OQpFPJZgIP*pDcr~un z3|zhg-c+W;zo?h%<)}wTy`ymH6?%nm>y>(?h|@diorF)X(yLIL&U$A^f-aB^e#Nat z0&ASW8r!u@U@a5Cvpb6*>zV*b)D3Y+BS2N}1SNkEztgxA@NVO7!268{0M{6603ne8 zHyN7%HyfJ)KQlgu_9Icx;lLrc@WA;K#Mr!Af0hM|I{Z*tD%?fTY7!xZ(y)Fd=kQEO z0c*s}eJ^H%CSYxQD)cKgZu!^KH1QQ$RufgIXH%4$Ct6~TdpB_`;7D;iYBU-9#+Hi( z_?3&R@GA%QFUI#gfS;c<5D@>sF9=F_8nt=`(kT(V`y|qQ|b^9E5QZ1nLMuXa`}$ zb?69waAE`H%*2RiOYq}!QS$lP`G6N_7a&FLnOg~&dNH8dIkz(hYo0 z)EW92c1W}o>H2g$H3PbAYdx%o@e~d`W$GrLnyJskQ?vA0cxtvj8&A#A z=isTi`dmD9HgwctmZbpvXj5=vKtbqk0hni_Q_hL>n7n_Sk zIknU#+>6;qU9}0NRI<`oMH9-Z6v`@PMSxR7CfQbon>CQEfyNTuECt#h#nu%jDpR2j(O6ie?Jtqng zZ;jBEk|YgljgCWH$rH6J`544c6{i6z*^)+!t1Bf;8uY7$NWT;|ZYN5cG)fznxE>aM z7G;i`GAE8Q$3vOprOb(^%<;i9@HJXfNgkj07C%4bkB{;vh+2P-6eWdx;%EH)ltn&R z8Nb3RR1zsDEa?>qluJSBmyooSPCmR zWm8cio55x&X+UU zl#PKX*(jC8Bf7%kc@J=-+$fT1$9AP1nin*=NBC*=8A{wz{y@pgqh^$SY)RsM?f-Eudiy^_Oel*1b3 zunX460o?rqyUKT_Om+dS4w6t?6EjlQ%XL=N`{@B1p6!=ca^oAMp^B1 zWOcHZESgbb2bEm|>6Z>Wv>hzB4AI4r;klR@kryS&gHe(^2n(+Tm&*sIp0O=BHF`NtQKu3^MjQ6tzhl; zMBVBne=ADNJa1)GUJ3EP~o4u##I+zbK-95rhqV znaHJ{a){VbXes1#LIPl*-utECb*F^LKFZPfZHvum`0rKWVaSCLP;>aFwWD_Nv zBQ5~E5I+~Wv!C2KK<*qQcTOO8_K`a$f;-=ilJ5bJZbBZNL>`??9-TrSok|{^Mt_z1 zM~C-?i*)WKg?mWhUQ)P+6z&6seU0A+YJ@un4J zcr~!*6wLfrcvDSD9w4q%N8w5}aiu$PB|uzBrX)`xmZT9&(upO#i6t4tl1xhS5=!z) zO7ap)@=8kb5=!zcN^;wtETJT?q$Iaxcot=NHf4AgWq3Aacot=NHf4C0R5Co9GCYei z{20pcEXwd~%J3}8?J8Ly3q==No>j6~79-w9wgFUDXq9Xy+aa!GcojU6U0^pVi?oUs zX%?k-Hl=qKrFS-^cNV30Hl=qKrFS-^cNV30Hl=qKrFS-^cNXP#7Ugyot=3Y??GBXN zrIgzpD7Q-~w~wLRE~DHor`+yIxm`}V-IH>=oN~J-<#vd2yCdaxKIL|Za=SC-_A!*( zRkUe~D7ULAx2q|)i%HMbr03S8=W5b(HR-t*={Z1&T}?_3kdl)fN>*|^k@Vb~^z5VD zuBP1flb)+7w|h};SCh88lePn->QLbTFn?P zgk(^*cNS%JN6PAfl+{)6)Ru_0l+{)6*_NU-C9A7wjh9kZXYqe&hEP^lX-Zc2<$u%+ zfq%D~7)H50oN_yhayvx1J%Vz(iWYlF>!7O&%AZ+^(kFE}}gjpxmye+)g5oOD2!YpxjO*r|V6*-Gp*`0KBhLL?7_JY0yU$ z*GnMR%hS$+H`?|EWRUlzQL1NAs)s1g`%#h~OBr4TFZFq1FlBfZy#pc2@GQ#kEXwfa zl;P!+;aQa7Jt)J=DZ{grPaE2n@)wj-lJ}$}&!QynM@fDxJqRv(5Zv@2^rr`*Ym^6} z8$AdWQ62;@JqYoX|J9WLX_Wufl>fac|3j4j95aH~Qu$3adLdhqrx#HpNTao^k-ryF zFG!=ctdZ9jQ9DSZt#=%)yyIx!9Y_1w_OojAT}s-|w$D|g&$THnzFb;-O=r;_6bXuJ8z@dM=e zm}iY&5Tiu_*!FKBaouUkU-wW@3B|Ld*G%B7lAd51<4;j!G zmRCQ=f*XnW@vzj~^(?hhkbY{dr6%QgSZcP7mIz)y6}HUju+fsq>yyaqlgaCo$m@ON z^(o->v!EHxmKVUHxlqnWe1W_a@45{B%T)6HH1hpa^8GaO{dDsE4DkJ1U_B`>W+piP zvv~Vzxf(j!bMiUFpT}sLAERk6;!9tWFX0>4U}VjYk+ro*c?Dk2cu0tK$p5N*6?)lg z@->w9x_lkuT5rG`noi#82S3Fq139S|oHQG{55{(&J>|lGnMzKotez0!`S4-}$wSkl z?41nq&{U4urE<(Jl{_?+d@~6nLmeF($3yPvC-)4Jd!~|m`lBqJba2exc)J?cODC7i zAeT&~jpOGSUywY=&oMr4t<|sqZ&71>LB~2!V|;09>*_u6CrZhCCp-GFP-FbrqAYib+ew zprTR{qQ+EAYAGeP6jNjR&-pu)pWmjUVron|)R>x*igHLrO-V&LQJ#)uYD|UHn2M+| z6_Rp_NI8Y1oFYB-hPqN7b)`J& zM|sqYJk*R@Q75vsp*-qAdDMXNsP&Xl>+w+Q$)mpGp{C=drjtia$4^bi)^YMkff>|p zimBaXALfr}PVJ_c+D$pNo8nrU%!l2p#uRK%L<%W0H;OV-Ntqp~-4v51i>cR?Q?Dr| zeda{@AVQ?fVp68Yk9%N zsDtt#q)_`PjPf9~rS?%6^@u#`5kBe> zxzr<4>4A^dBhslybf6w#k8Ij{LJdrQ9hy*gNTlx2R%7@s3X{3XWOryL>-|CxM(hUs3e!v9N(}SiHvxK z)fl9QR3{z3ptAfUzCAU@=5joFYJQ8y@m<+oE89Dz#;a^!l!y4?v3*XCUq_8?{E7dj z)LQs8)C4iMjM3#hTKdf?tMX{+H>VERoN_BqDjl#n!)wDCi<@$;$og=pjF)5Z_c#?PmXAEJ#PqK%(NiB&*Z zRX{0KK*`jKlBqQ%Q!7fQ)|5=GD4AMQGPR{-YDdY`o|368?e{!lTmtbxbG&cLr=Ca) zJxJR;NUCvD0+kV0QYeSYX`4%03B~vLSQywK# zTUyy|D4*IJ0Bzm`%BncZssL@?1j?#7j$j5j9vq-O>!Tdo6??bN}1%NOp2#W z^3f&@(k2bk4h@n^+w+Wkv_t)rF>2&B0PIWv&$ItQSdGzmiES=5!wy^!bL;?>7e*s~ z#9_AGvEZ7@+u~+BDjsQ)M>A2AyeB~3lS!_VMXr-cev?X$qLHJx$V+UVp^;~3 zjSRnMu0$kmBP=>nWu2L{heg)ZBzxrH8be zNqWsBjmD8WZTX){>P#hdW|J;cNs$_BA)oJ(eDyZeD@LGA0Khh60Gnq#9Y9&5L+o9!D%?&oC-+L-Ra^DfLU z9RsMw@-+JXl4T*M*|_@05e+G@ulw=Q5@PK$fD+# zMQtyOdYi3UK@h{Eh~!SCX(X@9FD7I5oS@Z z%A!V<<#1dze=sYG;|4S}iy(`9H$bf@D~j(XlRlEkag!a6tE?Lr`ECZW-W4@AVDsPr z^_wJe;&@VnoBB-?TIyNk%5l_kvdEhQ4sV{X!6O>Qp%ZDZXFGgajrb=}*U5Hxwi+kM zCg;wH;@t71EjLH}QygEvnje=zT_`PK!a+GIZlKzq%&wlhgEj35l?`Sq^ zUbN5Q-)cs*nlXlDuQJzzo$vef8!}2HPMkoke%-`isBxa8sJ~V`Je7g*_hhsn_Va{?6 zxp-SqirvM#h#r_tFcAN+cf2@Rj1`lZI~`Q(1)V3O#HJ#|nF#Gf2h8~GihA`GgD?|% z6!xAThtXnHy0VSqLGAcAG}!d{;2^C2Fu0&^3_V3xyVr#5cziA2nJ z&cdj5fhfjot#Zs-uExLp^%p}RZPYA=31W(vI&tFk*_sW*jL#*UM|jz3>h86KO9*cz zTt>L!w28B(Xe$XHCwzwRMZ$HH!}<(uJ>k2A9};dM+%|RQ#M87LgufCVRM6!iOqzQ3 z8IxT(gdxHr!ghpZ)70H6!tR892nP|4n106T6I~|~o=P~0a2jEFx_;Vp*KES`!gFTK zbS)sfjPPp08wi)`Gbe{#cMz^1e1z~R!WRu>a=k|QHsMCX&4i!NIwL&QwVm*L!d--W z2@lSiRocO=5ylfH5~dO60G7E!ghhny2+Iho0L$Io3HuNZA{;?@;;cE7X1Px#oJ2T{ zFibdm)*NG&`#i!0gqIOsO?bm>e35%8;T?qc5I#uw=-eqYXS<&we4cPE;Twb-=FXg5 z=H5j33E@`4ZwPmSzBB|yhktgKz;KnbF_^@=jX|y-1*NDG>O;))1dRu9?`UHZ^rlK` z45spKV=$R_8-p(1wOd2Ua_$e?095;fCE)&_oh3Dg#$g=a(ExNW!&}qbSpN;Ugz#Fz zD+txf)O7dbgewVG5UQur-R}ZsxYrY|BgAfFNKsFzwXBjnwsEL*9K|;qhS(z#cN>Fh zWr*bZkcMD3?=}SUz+ne~U!DwJd?r?Uo`)T#t`s+5H@kb_Z+i-BlU@@WU~hg7Yx5_u zSJXhePLgVFODkE55le-|(!By$gmc^-_BAX}^%a`fiy5%YAu)ERa$sGCeNJ-D*bRv3 zSn@bA+Gxq&W_E}TCiFa!ooby5Z z>}q3|>}uue=A<|!x~{a}NqW{0u11?n&nnEElb%OJ81QlIu_`^wkphpZ2bku0T)iKm zDO1$lWicu0+2u}(@^eeiRD`9qDbjN-o=59oHrI8q)cRs2mh>D8i77o@AS*S`Y|JXy zs(*>=ndmt`>Jb1wg)l3y6tePI$kic`{3nZX7}a&5AAiNTF3uPQe}U&bjPR=K4jAKA z=L(DjYsj@4-s2RE_-e@cGGHFYeKq8I1+W5|Mi3lDjcB&S7_iFuDqvW?26z?5fHiqN z#(*`fmeJz2p|!9w6FB*jSR-D>3b|LX3*xK5(AUKq;!UiddrQ2H6?7ZmV}4h>hc$HX zV-4L0SOa&bTqf_r`nS8W{_S3@fV&SX;2ywEWDj8-+{5w_tb}`1K8DqBPhc(FlWHwo z_=oV$@Q>l2!as+1g?|bE8r~h=qyM09*SG1r^l$Z@`WF2={a5{Sqm|Lx@Ebv+z-VD~ z*AMAG=|3Bn8&?>Mj4O?|jn|CVjW>*S#+&9c{d@g0{Zr#r^Jeodb2+|dE7pO$sISpq z)<4kK>aXap>u>At=^OR;^$(4Jkzk}7nMR6{iZ#xs7;}sz#@~!v46K$15@>OsKxgc# zchjr&?s^aXSiPs-OYg1sfsM8Ydg5Np;TUDSV{9=0W-jGw0}utCx(847#VVElSe-Hu zt5ODIHOf$|Lit_a2VL?2R#2Z{{L^?>+4)?T0Foh1S15dnTaExsRA*q7n*B$5k6UV= zk=7jVxK*^!p3}e4ztX?fcj!OrzvwkauF=eBZsZvuBj0Fg6dFZFvC#&R9oRLacpcYmd%O9 zvk0cdV4IA?3M6Q_k$<$l8f#Bifo8UdUD6G1-cBAX2f!OL3O>A3F?tZad*5R0gt=7S z2I{#Vl(GtQJJxXLzD?Zsl6zi)KHmgoYH~ej5OK9uRIZmRv6gZ)Ru9cUdvwr;hkpRh z_C?wltR)Jgh0631;hn(Zen>k7D~oirS-E~(_($M%f25tNpQjsW#g6*O@K3<>0Z1E* zwMQn}wL(8W{4;QWAkxNRCDKf^bfrEjybIJY2x;T7E@>9pzLS1J_!rQ}V5CjJDy7-z zjVk@b@UNhlAxN8uHA{2QKb`fH!n;93Lyo-R@D=@Qz}I#B=Q*hQN5BvDU$Bz36+&wS z$T}m4l{Nt*1ejpt1Ew2o05grYfGI{hz*M6>*41?9yey3#X$>3!J~RD$&^SiZj19)S zSY!J)^Y4I5vG!F{E2;r+#e7}qdW76u$zQkP^ZN5DhFv)A*eL9vthq4X7rnM#1+a=W zu=6DNwvvW!>{ELkMv_d#v9G0qEJ4C%0(S`i7OtU;k!oxc_byVY=<&HoRk72s?o2T) zc>174sPkmZYC=v}bGXu<)t^&m@cl_RPe!ihuonwCt3_FJeIRp2;a#U9|76T&S%A4L zm%_JmJ^VTk!YBSHJmMc>4%cqX;5vj-)U2#L%n|7T`O{Ta!}l^C9=u7!=~<8{S3{oM zAa6yz_lAED?+fn_9|->uJ{Ud}u2J^4{-pkt{*1HN1a==VM9kg{U6fbUm}$&578;jf zta=&tmAG5YZsSf6^RfEtO7kl70~7o5fV+PRTK^0L_2GC-{`~j zlWFz0(C&vn&#nt<0gmD^yhgm?V|@~hCPtExY@`7LGk||tMz)b-G-VwtYIoHbZJdho zFFZmYMSAE8^wD)Oz0`OgMSAEA@EsFAt=e8fjc0&U=->h-D0~*EcMd4?3490ehWmj; z+SqR0L)=3n@?DW{Qj#?CJr(ePcdz{()tjf*_U9G#derF^_%NgU71Rh!{8097w5Mzg zLVwk@b}b$$T_Mu(8yV-9MZr3N+oil+EXRp5*$&q< z?bI2ERAwFyWo?K7!$uF3A$UN(c8$cp#jkWN!+z3k^dAoFC!}`X3E?e@PL&m?b|r^Q z=h@xlYUKF@7hdrRQjUT5XP%rduLJGe1zl+iMr6LlsO~OlaeswQ*gau1ywNvc2i@1T zx3tf+-7dGw?+Ut_xLUZ1T@|h>*F4viuB%;(U3a-2a6RgJ)3w31(e^0amV1u-M)%*`x4Z9lKjD7Pz25z?`@80{d5`9oHs7B&G~@~SL&>4$ zp@LBBP-&=Bs9UH{Xk=(|=!}pNIyW>wv?z2>Xl3ZJ(CW|&`L6u9d|!TQenx&leo=l& z{mA6od*|6ciS;Ehs7IR8UcTnpxVsv~_9s(m|z@N+*|ITzW<6 zHKo^;E-AgE^r6znO4pXIE8SMQqx8qpnhveYT98)2C)+%}F&=YtFKoSlL#{>S7&hjj_hzUj{7ntipj(_~n+dZ$=``x9dUIW3KhC_t3Y(-PGOEUFz=W zu0-EkLf_7GFGkR#@C#QhBVcC&j27JzndzM%Os^sPJO3nhh8L!nS1`nD|8 znSDDUG!=b28-2SVba!Y4`u5q-^HF`9&%Qk+e?q>Izc~Nq+P+O@-!^047Nc)F*7og$ zg2@HpsJ@-hayFKpjwrmSa8conh06*bFMPi6wZip<8w$4-#W{Vu!|B_rqWbnJ_U*1x zQ5sj;tTZ2e+p~0V>1m}?N-rs0RC;ac;?lpD-c`D?^zqVHN?$Ggs`R_kpE|^qh1j>( zmfz;|?R(`Pbc9p%+iP}Yuy5P$=)k@m71Ost^ld8oHt#@-1I0B-HKjG>H3Mr#)r_v0 zhDHBLR*sc#b+vk0r(n;1OHp$8Rn@^Y2gBc}GdMwoRbmaa<25xkzt=3Sd8+1_8tn6= zE3b|SuOxgf{9^c_@B`u7!naQU63>5z@O%yaKcVI&bzi|lYY{$0_yPfW05=josGvFy zE#S!kUlpjxh*tLHh^y3jc=d?t5xx=e!@a}3Uk(}e@$e6kwn5z)aqWnUMl2d}?uc`d za@B}Q!`ck19@bgi8TRC`mBX$Y1~2ol3y1w3Fg$F@uuF$cLhO=ZY-gRpqb_ z!EjynOJ!bVpD^>py8*sI&`WHYaAa+KND|;wjD!OM^Z>|2IdVBR(8`f`FaOLbp zzb)Fe=(|N;tnOnSJBzUb8#T&YRtQcC*>JCTWLCQ3QnJP^| z_XX~SfGRwNu-*x8xS`*N3UEcu>B5sGRn2pM9;$bYcgi^Eqkz;MWkIjh@c|x5Dot zJlj0mJr2G{o^0ssS&#hRc>U_07h=O5RGH%mX8D-FVK2q8# z^i61;`fBWe^%rzy!woG`?OWEx{NS(X&Dj3wO3eGb-1V9= z*a>f=@-x;*DZQ9?moHn&LUBO$!910Iav)}(3^(q?i2gjRZa7<>gE7zv@+N3V-$SR` z4A1%xA_Tpth4>va5%*y<={JlI{Q)M6AieG~LsY|?c`W>r zJ!GcnjWr;>WUe?4y4Y~pM)a2jVuWlf2FsAzXG|QA+3F|Aa@kRwBrC;eStU-Eov`az zXY4uFMU0o-#YEXtOo08}Lrjvr#kq2fm@4~=bFdo!Lg;uG%hSX{jP+h3CyUFl-^?O; zrnmyD?Jvigj_Y8RT`LW74fcDzUtTHh#j5%n`59uSJYL)()m)0t#Q@ntoGu55C33E~RbC+eCeIa1<$2;3dA>}>dX-)n z2mBEppI^lJ@>Fpp*7q-#Gcg0?1@k5IWpfR7dwSpe)cnHSVt!<`X36)$PMp0pm(~X}Jo;kBYd?&U_s2}d0hsqX z5OWm=V>hxP82S83jFsK6$KGP`kh}&v?p=p5$ZteC=4>U1t?=bP@}&HmSS4@9?te?g)AAN$sxi?x&6r|LvUgq7*BMZ89y7po6>Zdn&~!bj046W#(vXddd+w<&V0zc z&wS9l-+aJ)*nGtNhxwTKxcR8L(wG42@>KoR@b}@a`i->qm4&aYVr31(@;8^5H_{qa zmi};KShzaeE!-pAJ=`;VY`Ay0SGaGuPk4NITzGzXUihN$g778bi^Erj7nujlKg{3E zz2WP_i^DgDZwTKMUK0LW_~!5};ichQ!%v1+g+B;y3V#&-F#K_Nb9ig`i}1Ga_V731 z9pUf7e-AGYe;NKN{B`(S<7D%9bDz0i`@8m-_ON!Zc8B(q_K3DpTcJIq-KRaMJ+3{2 z|FpSXds2HsdlvtCvkL!x^AGJ#ZJG8r?Jn(B?NM#1wp_bKyIZ>l|Aq6k_JH}c`Gonb zd9S%j|5|yG;fMZ3`Jt7M8UELUMzvm}Tl6+7Z?y73E6=p@NGt!V^1Z^#s&CNW(cjho zsjt`H)IZT*F;0PB{zG{6-q&BJPu}s*!($ImuJJs4v$w!MzeNAQm;)dF%kcL6qjwPH|R5?0HX*kFg|d|ybGR~SK%L62jA`@ zj2SF9Z#J%kbq-BQdt2KAegJJn$`-}>-WD>|<-%Y_t6Pt)`KtT%GVhK_UT@UX-Nr7yz!y`3E3{xipO`|Rlhl!_3hRyRNbv_?|Ox+-R5aX0NgyR9KQSjRKHhU? zer{S?Zhmaz#(ZNsw5QerKB?47Re?-)p~usrps2X0@oGG(^{xoD%E$>cjUTV|s&t}B zjn!yMPJVoRe2NXnG}Pg!QytEF&?>N~WG2w6MR7E?mh|j--lfwo-4%_=%RHo z2-IMC=*41h4EA@Pe(8BAvVM6N_39Oi_0c%thyI)HQ0Cz!t{c1f{6o_(y|{Ddi|dto zO5eVLzRj97)E5q}+uw~HNabPW#$b7awXVhRW%X+xh20H(2j1m9?0vGw;;}O?nttiL z>gsv*zGE3aBQG!ZGwRAs0!PRLMhoc>B@tSoQUfo!sD0 zsPe$pI`yAZ+A||Hzwp-Ba<5J+Xi=SA(j>*_Pd+c^ z^%y_?wAfN0tF53*{Uc&FtXdIA<_DS5$(GsW(&I@_Q*2SX%3Xn+?rpmbZ(W$}i17Kc zRaM8_%vJ?83&+3wa!z(-r&c|iD}jEfWnQP|S(ydey%6hBGNleT9QpvKtx%E~Y#)u{ zNsnrk-}{!A_wHR@-gi)TdRlgNT6*?ru^)3zt5$h=ty||MBqt{%Bqb$W82e@Tm>5~z z6c%%l&AB{({&v}M)FNY9_tMgC-AYTl_sd90PESio$ru}3g=tk)ZF6$c(hxlH@o@;A zA+fapU0A^=996ub4okI0DpC()gMG_8_U_%Wyzk&FyD73_aku93ZrwU`KuF2TN=ePk zz=YU3{Bt-`M8cu5JC!>kt{xteA+$~pCixtW;KXl={phwGd!{D)d~KZ5@R$$A_#R&V zEAUC}|0`sEI(`)`p#Cuym+W$_tNBQtRFiq=jOB8(mRPe&wyx>>n5=ke{sRwaTjs62 zMuuv(qW&z0dY0Pvms(cp;iYM#AaZIND$$ice|}9`Y^kbUhC+Y46!i;2jx`4rDb*=I zIbZ2e-okVT6;o}DY>}>Adi^CeTcmH!jU#LRIiqXeKHZx2>fgWjB6-}r(+q9PSrexm zv+dyyty{IN36-{MSGF1jqULR^J<#*Ng9k#itn8G@=2jd~b$6z>NTIqStBi8_+|bN( zn=YO_aoM=BcTJqUxaql>Lo2FIE-yd1>fEZbeuKu3d)P2mjvGIyUs+W*eb6B67mDiJ z<+E+_?UqS7@>@EOz5arvM&G2A=tH9$eO=W1JdiLE%|smemF;@=Ja^%Yh0@pfYpJ;$ z{J7BVrr zd(=KgIf?M4Mwio~qP(`O^z!r;>2j=7-l$P_iSy@2%9IrgWU*cB$_3A=a&5YP0W{%( z_6(~m)zP0DsOY|4M9sA^)pgl=^#8KXl5JXnw!o}rn?EL#!)abJv@H3V;*N?nD#nPm zQ@pE!bdOoJ%I>r|qWzSN1C=k1eo_&3O}g{6YWv9ZLHMu*RHQnqIJ%(kCd`0U+}$%{ z!f_j7ifi7FMsdHI%m&KzD1Ps>di2Naa~Q#*n4;L)hi+=D9LENTE=Ot(71b*Ugj17I zTaJwf=d+Fc5xLK=dn*qIm4Sa>1KlX`Wx&6B#SJ9MGS zRJI8`35{7MF^w~*q;sbMJvzZONhxkQromP^%rvQcY2A0EL#M0GD#FvCP{4t>fW#PO?-2-F%WHuL?itJ zjw$jo&Ux+I=Z%kfSuKZ*a7v|FkSNL1B6OwR7sH#Q-yoYhoH&-KYKyKd5_GEYjeG&+ zMK@41n#FR72zo`hMHFV$(Y;H}#!p4NN0+$(#;y#;eD1Pnwh_fQl9Y{5XUW)FyEnS9 zwXJ$6TPBpBnUY^9%VSEVF_VM;QuX-)$%nqEZNNzVlpUk$2P-DJ-L91%t)i@#PSEF+-pOCYfYD~tdKq4`)Ml%yNZWc@n+?lla5vSR7d|yVuTx%T zCe-w3ewm?c`Und$dM(TULwq^cv^J=!Jy4gDB{m?N(xTwfaZd}JK>r{ciR>>;3 zY0OzGP948u%9NXO&dC^A)pcBDrzyRMwUgNw)_mBh=Y*9yl%4;_-FpDWRUH50+IQB; zwj|rCr)ITN@6zdX>b=X7ELp{tExE`I+j1{*0b_%!Y;2j3ADCtmOtT>gErc2fy@V9< zCB@VL3894qk^sJ^-)DB;yL)%K(}{fB@Bb&UrG&S$v$L}^v(t8ALtU1+bYt_Jjiu>3 zXdYo}-hp?me92G7J*jkzVKif(Jj`0QWJq7e^@z^>{BTN^l$Ms%S-+kP9wdX|<4`29 zXB2u!X;klge1iGUTn^Lgs|hA28u-CmPqaq%05f`6xSmWSA2aUIxZT1`lOm3~pMFht zM@xmTcU*F6tlORVSw?zc<&=VHvC$EcF!AnVi9qsirhBx-jYp^Hz7 z2v1B5hdubu3CIE-B)RvnuwR1W0!#tMfH?dyy~&zSosu6M9Yrg>SZe|+k)Odwz#Dd% zE&#s=iljs=We7*3NAa zADn2i*8pc3VgkOSqhy?2e4EcT_5l!Sz<0hR|F~VIo-ur1zhvFiQhtgWF$y+VSy^fQ z#dm2W@ErR+#?Iw*K&(Zzzc8$;x^mZ*LkHLt3=%i3B^cuTy`qEh{o^56HDmE!9|8>57qmB8y@-8TgJ1^*JfsU3>+J@XG)5$Q6LV6nzLySb zr~OEPHFc1Pq-+P^lZ`h8-_1h&XuQ6oLDBHpHEz$2jU}huJs3^Otvp;&ZWr(3YaIIs zaH@2q*JwWIHKI}o>lwrVXt9e=(r4honPYw|3cq7EZ@rKj7JLcusyN@G^5&Mcr6$fA zC5@FF|5P4aZPl}dqm8R8Y3x4$s0TQQ@>4cGo=C*aW5pkcr4q`b7zgRA}8=Gu7w#AVQC zT=1FX1c22D@m!(-#Exd&?nfavoqmlG|DJ z+Sd_LJco<{I>UaF7(;hWlYLyEvxuJYfcz%~&`WlS3_!oJgOukx%3&e@(t(pVxWq&@ zN9!nSmBDt_+xBxAg1^!^zmZ1A`S;;pkpwu%za%GB9epfppmgY%Swt@{(jQPDN$RyC zkq=~l?yZYS)a&9>Q)3hItVaz?Q{m z7mU$yj?1*+M(admO2E>3AQU*!xjFI1+*~7HJ}WoH8}ssv@h0pYV!2Wk=;V)G@FA-# zz{hOC_F35e6Rb^+>*^Xk!LDg|c|X&q9ZQ4MmmB!GfNa*qVH`5e7-<)zW|MvilI~l7 z^x-*=9NF?U9Rc=R`6FhKldxL{Fiha9i{o@hr7_);4cgJ{O3?pt6@n5%b^;>y_B`gM zonye&$T0O&Z1B)_`3Cq8#Pl%QkDmm z6h^aGiAZvkZEqx6s{yfBmo_yCDm(2SHf_<(%a+~T-%o!px-NG?aq)s&@i%+-{KAFjw``@qw>E7o zE8E!Aw4tmF)m&gvF$d?jAb!Wj?t4u<6NBG+kG#U|eB5>O)MV!L!_7yv%=y&>+v90+ zi#_i_{=R!0gukb(PJY@gBKEbDoKLcGujFC*^@63p=YDd|7hXnYJ@Q9b*=W>H+4==fL zFY1j*=PHNUJ`AwV74d{I$Q)6bwCbrgiTmNa((9qWEURb$~jzgy=NJ<|gw}*uxFbQnf zk52B{#CklUgp1@WlR`@Hs7f2E7W!7y;So61#pIb%6nlt=D4!g~?x%b}lIS-3MoT-S zl6^Z|*+BoMJ?z3{Xm`1M-=wIg-P2jyOg?HSuu0R@_C zzx?s!5Eti^=xIQQu{y%r$W0alxtBEA8Q&89?5RtHvFtx{T9gk@O-v2J?`(ngOw2y~;=|ioj|z3F(ZH9ok*j-dqesYoP`F+*i8+PdN$zcRfW$Yx7 zvg;qkDsUAs0a1KBsG;Xva&hETt9wS#hE(9Xl7H-O|F}MyVuD>D>~?ZSm>pv$U?BR> z6lZ00fwGp8*Oo6ly%7H`Uz^O{r0~4;QH?sH=v#Y6Hq;UJEjyzP5v4~R6p^^=U&4JF zlt*hzPk=j1&7=rnO}+aY8us_D9sRhrv$J-gbfI*psd1$r_!=*~uq?JHGAO zS(o|3Lt*~7B#SMX-y-kR-j;8_QNlHO3*Ur|cV>?{-j@Xp?gs8NDGwnoS%)+dxDf;` zd=M89*;mrtci*dDGivSGU*A|Ik1ee1?y5q?ocu58Lh;(V`ZZCk(BoK24`5RomS=D&xz6o!F>TP#7%_nfdBVk)Ab}nG~HDKB#J_o3?+d?qE}2iVOC z{BWp|4>(GaowKbdk#SFn4}SO}05RF)Gn8GbFv6G@>MM;QN^^WLw~* zG4UG1{=PIBY{<=Gy<~DIX>iihU0d0GuSuizIr%)068H3^FysD@iyuxBH`+5lzGszu z&wPX)fTPX~?V~2jVfT~}*2EjxxTQ8Yr=q7UDLpj-S#x2?nrq)`n0RAH26J^8Oq)SB zXJ%i$r=7O%v!JQ);7p#T--saJWNC`j8|#|Mkd*Ke^h`%j*KctO#sz;Tbt=9l7rdXI zqQH|mAYVG1Sjj63=k+0+*D#VwUaAE^wumK;yEe%nHX%_k4sx75e_ii_(@O@9&zZ*F zpFYr4+8w(t@rGsXeZKNNth-tIu;<+Fop<$gUb8IAG`O;;sHL;ldTf4IcP~K07mUht zyaG$LU6i9hg4;M%YJ2k(VyOG9XQhSOZxA!0Z1>et6U zt3**0FFNz8!yerWJSlsUeCR^QBCtT|^{@`(Mw^ctaExYhGCzq_LRM`EWfeb#Gc_Jjp% zfMx&l2~im=E9*A|1cZeJ1Q^txY2&c5<0A4N$-j(}G?T&dZP1a-NCV$rRQUXa7@a9A zi-@SdaWnTAC<=QnDr- zxn@&#_S*2kfbj5uz;N~Fc(U+w7O%(`=m3`zMuV55w0X{!F5%1r*4J%beeGG+(Vc_n z?&=hPzMKB&!1<_-at2Jg#D0cn@wx(Bo8bUceK+wwE>H6mZQ=#F^zTHtWv(af$vtwf7;ow!) zggNM5j{k#X^b`*>ae2)Sx|)szch7_~5)I>(H9=Z=T9r0x?|OxDq{<8vE%lrCT9*jB&E7U!-1EMdEA39`1(W96~-3Rc5vmz zdt`%0UFGFOPL&c|qUV^ZvvflI>^hBnbjXCEOce6axjMa{^P8N5>xlot3 zGfX*7BoiS2kmEAWCix}n(K`U7O2lyo6#PqP)Q`(CIz33ER8yb~WG}&<g!pd7j3aVxySLP8UVjdkIeB zGjWFpzc-;O(Z!0Gu3pq9*0-QOF)R%AiNAJOp<13eW7e!0ygYH-a_#ajlw!!Lx6Fxe zTuDJUyuuu5?8qbS4!lTT_#+sEoDgAgbh z;U>q5l}QssF2>_F2)sIGR0{&tw!(3Dk z9k0-avYk{!wbuYUr4A~o5n76AGfv0Rj&!4K@wY$;R@yK_WY>Xm+OgbEYOlKx?i?GO zKZ>9guODA+gGUNXEghHpw2QRw3B@pMatGH?P3#HDqUzeOhh~a(Q5QUDo69K&OFp2T z4!nx2LA)KvbLm(J6-<~J^1QR<^K6;*HP$V^C|#Iq{m1?eX}Y*~^Y1yo`2#=FRJKtU z!EaC52kIz+(&bp5OQ-ngylul3PXc>H1L911`Q?{CZ3iL=d^x|tN3WF(c0ep3BZDW> zGcOG&TjqSd9URUNw2iJ;qW)OO(bm>~XS0;+QA}S({cr{cq&KWal+V8**E30$!S|nF zTq4Fzu2xx>cxu0^l}+)10oup3J3^u-W5#J+!Q+$uC zQ}oE;#WZR1e~e0R?0r-e(=e|GKm!wKfYacymPU$nuAG=>ajvDgdp!ujYiY_hHn(gn z6SXu9{rtUjY3dp%r&QESur{?u0RQwJ@vf{fC%nwpsaiH*-1`!8hcpt?}7m0Og{LL>*?QdTFru4=>>#fov;_1hLC!H&IzSV0_ zX|D3vq!#4{|A4$+@vSni?_i!Tz<{kmHZF`|R>ZC0J@W6sy`M^fR$^6thNj@#_wYZ+ z8p5}Bd)RcH-5x%HiGtWC;NQ3Cq|on#t2&RP-KJ}jW#)h1efQnYe8;@*z5PxMIBm1r zF8TZ4`MkGd-YU#1>^7aS+vMABl&_Zmc^8b3OqgwNu{cIACID64G<-{E%clOMZ|urS zdSkBjOXyr*p>tDE=kbk1u~S4Fk$Dn;;)7(xOD(dak`TJ5I08>>;Dsp#W_DovHm1`V zn(_-4{t_Zrx$a7jNf7@mzi?2;ANjA2Bu@f>(6_};^VXVlf>gA=$I6|ALvktHEDdF zUpC}ZUZEda+A-uAsrm(T+S=wUFnPd?e2tt&y6=KUGeINDX9bnu_q6q$n>2fTB|doS4l--Yd#-n;d1o(xkb$q%p25 zF#Z1x8hdvP4bAy>G(Il>aFSHE^8?kWMd7Uj#LNTv;Z$6xbVWc>+_y*kcgcal1+%HP ztuizyhZa!oGbvuyEexsh^Up|ci7N;W_n#qu)Lv6xU(@cHwQY1ijhnd9s}iqvVJ)sR z;zD`lF&sfy*rfUWah?l@T5Ml*HsVEZaj8Lm0n;v}LppcakiNq6N!3-FD%uRezP_gN zHbaoF?;XvJUEK}M2Rt2IyKK{AZ4}KB5tK6J@TM3^;R>6uDhxWjlaYy=R;n+S|{16ui(kT)s)!c-KdVn?f@BYIFJK^KCJ^ z{qVXWeJRJT#v^vRQ&&CqE$}0`_A%@O+DGIBuy2W*R-`d^6m&1pCPPWPI8*h7mY$Gh zLEjQ*wy$GoUGKM`=T-6plcK2DZ-3p5kY5JqTIh*!*}J-Li|o?m!1Pklegd*<(pYyI z8X|MDIulBLLudNWlE0iY=f)d7*$OIsNoGZZ8yeipEFT;#IK3u);vZM*a{Xpa7iqjg zbkT|1QCjZV)X`PsSIjj8`}yWqwi`lxegAdSO>^dWT9A4M!Q&rrpD5oGt=miM6`i!G zIHDACt8G;zkB3s4Bf34tWT`)kJcu-sXLL4&?FzeX($=fPksN2qx<88^EL!_9)W}-J zwhaO=pzdIDg7#wH&`uWOnPiaslb8ECKb*Nt*bL(>hDr12>xmjG;kai6A2T%j&&lPCH|Y= z6RGoF(Ab!7sj0C@dh6H4!I_zrySut~S7v606v`{+%xP(AtFQ00?ay=gjo&?}@5-e2 zX9(f@yI7d#^*^_`dopWILF}stYfh({Dtj+Z$E6$8dl*bT-XQ>fTOIyC(JKI%L`C5h zX=QEMY0O)5EmN8KlI<3AZkq9W^>+4HWK>CET5WV#nB(<~(4B3L$uP1x>OD=Bc`2^t zLz0RBOwUO((tCAv`PAk!BwR$%JX>N?Np(JT!_2R~Ju);TGBPAI@>S2Y^;YgrXRyzd zS5xR!D=ZAOnznVG__tQTa*k{q@~^DS&MGU-4hjnk3JeVm^t=q+nO&b0W~3Drre_o$ z3k?i17%=c&j|-ta@YBe;%70VZg=)^u_&dDHEVes*Ja0c*XX1@m!@@#5-Ra*d$<8h= z$;vLd+7K8N8X6Rc*s$%aeXMGHw^sgS<>M2)0e4(VsNYP*vPbtYw6i$p`9vNwSI-Lz z_46&jk6?e_ogOI9ZD#mQgK+mYc~ubADOZK^Dbb5Vbok_H^P&@_=8PKPF)@fFOdstj zePVU7UcO^mb*`~s=Bm)`O=ZhsO@{||7A-Hcl<1c>83zrUTgv7~#4RnHKgFDqS~C4a zeoAhBRzg;l6jZjMF*dHaBqpY`s5~cYpr?gh>AM*6T_BT*eWp*7VOb7K>fO68ueuHBUxSw$hzSMtlr$@2Wp z`uet}mX=n4h3^cy2d`BHp(nCe!ua;Bil}8P6V`;UtE(GsZXT|yTNl2@SXNL~Z5}Eq zFD|Xv-QBahqO`cYxTCJN6EL|x15Db3*CfAcSQfCxXe7s3cbU|Ue?W6EHA}-^MAFb)b?i|tD zKG_{njjHAImDR^?`6MOFXKi+mu&>NIJ-9IyEN?qYv_Pc67?P6FSeIf;28+RAw$Zs= zjl+$NyBeEzRHwy7=N(I3l9N^4Rkc6;M0HKRxvtJEUD5pT%0&litA^X#hN}WIl3Ux& z;j@-Sr!}@)f7nq|Gk0!HO$W{dGURZc{~%eRk-2Y#*E?z&ry-MQ!j(%8B-Iz2rca58 zGe&;umI&62tcvDoMZSqiv!mmuxTT0n_sbw(B1Mlm%Jz1&y+RFU-l|MX5h=g9*=YlI z>=^mAx(DAMwEk4P3A+Y+tec(oArP|0p1bd;Rm6tq^*$yj5w>n^iJ~ zYT90xSv>vcP!f)cp?pto&#v-K`Pn&erU+UGa`_VlYI6yMq8%p{<}lg&eaD8wC!7z` z$U%fVOlh0*Bg9D($*<2nsXWa9fl3dPzqV{hXN)PIx^8Jl7akaz4+z?t5kRLuZ zI$w?Ov5-&A=+vjgh5C2ceYOl*=#S)bC>v&86B5CC=8WOy)>cor#N%Bvl@3%tH7QEK ziEXpbCqtD;O38uzl|G(;I@ZfI>8lEz0=0A^+?4Jhp6K+|NZ-(b$&g8RqX#O9{R&rn zVq~d#DLqTllR|I5#tCNVy%8=W_iSyWnecyEsQTWWHLvvf^}z8j z_$;w?da@O-<0*n^0(W^L26S+E!SB^a{x0{(3pxiXelAXDtzLKZbB(j|9S+GgihE0a zz$9fNG+lVM+#;#Utj}S0BvAZan}y_oluS}mxF;5zjd`L$Tb|i17D8{(xfS|}@ECt< zaG;3xyiTmGY$w&>I-`-?+Ec31gY0Lazi>i5&|%N9zM&lxZiv$jL^C%Qs>*KeFH5CN zbCIFTOB6&3o(BZZ+aqac5;-9ze^uOLA<_P`3|G6~5S0$(uM%`X#ZSi!i@sb&9E{w^FsWw}R;)`bMDtC3klHu1{&AvdF82EkGZ3d%}FOX9* z{naT2$x=}Hp84IokgU`g6IWEqul{nUDLWhe703RJJJ~0a9vtD7XtU()rM}49Fk9ll zC@gl_+NNF23$BP-7u1|rSUq=6Y|{7Tf3PRto3U$Q>xQE4&T?~Mt)-|^zvjnVmJzKb z1-6KLsrO2_bkwW2t)AF6$wMMI_?DZgByqX?m+KiB&sX^&?j^hnW{9SAl$!x~Jq0fb zCLKC7vS7i+zKq&nb4-GCyr3+2tGu3_+8VxXb418;WDE+PCI2zcXJM2YhgaP!++9Pz z3ZaGPSe*UHH*M?Q7r8chadR2VUskccre=MGsWZZd+1<%<_Kn9HE6ZAXmo``Jp4YXz zDkC%1=-^YP^O6t#bdg8mJy}eCzjWQyvP%8XvJN)gBTfw>aiGc*YFwrX+|<~wh({YH zixzux-zr?COMmVWCj=$h+duG#k&v^FIEldD)#G-2}o8}S6#zJ#FI=XsChEqe=YR?2Doj~*>9|g}_ z(%K4>M{^q5w^Ea+NwAyEgW(ao|IKqK=DrFtAeLud(4#UFhyjy?hP!6EWs6XXl;79q zZnJj1RqcDpYTv393NW#vwb!|n2)TJ{bFz4t2|mRt2&Dx07LeP{d419@d5BYEqjpiS%K7umF{TI=PDa8Eu@?n8`64lrJN{)(!omGK-=01(a7X>|bf z(u(8hxq#H%JaYWF9a?QO2Uj`R(=)gi5T&tS5kAOq*HaG`#a}ocvF5UpVfYEzCpP?a zX9^0oY>~H&$I=<5xZjP3*@=Xf5?m^^Ft-#G$RCUc2{{huh1c&mZzJ1TYo}8)>*Wg1 zHjIo&Hm0;b1Xajs2AX@ljQ;`JnLy{N5sC!@CjNhx#eE@^RZ8_N__vL4cWfIW53BVj z;=8fm;JYF&$Hm;XbSnDZ!jq%OK~axULI5ix75cJbjMY=lze3+23~Lsi*9{|zA`DjM z!hUGJ7qp}AK`nSLchL8cr|JZ{v6u0Ewe%;PdES>@Yj#m@%x5k#%ya{- zPFf1sDwmpXr(735%RtZoss@*%R!RBUVNz#f|vJ0ksc#>~9jo}>!juvs%^g<1Rf za&S*I!8Ur2uZQS_8;o{E4wNz~J^ra317@Jug1W-L$L(`>Y47x zrgK~o-_YV2#O+2Zf5bp4iG;zuLLvDTJlxyjGg4^IOHB|cQQz&0-%x0`p_qX4NG^y9 zT%H3i4d6@8H9GS3;@w;Bl;d+Gll`AIE&UhEZeiEVQSl6j-?!n4uuJ@V^24!4htoY1rk z*S~6mCqM4kFkI-mChV1VO(CwNTwe}oiWi{09 z0hS>4vp6l@n3`&gNAWM?wFJo+2bu*1SVDZD*r`eWTaAq)jg9#DAL+-^@p{Qj{9pru zX1ZK%+o<+{Vo%uY3fyhzaN~$ezaBW;o^CqSo}PDjhqunOG`}r4ywe0zV~zYgOpUfW z`J(be(ia6SC@@=)M#c3c<{){U02D!g-1~r+I)nPtWS@y$39s?Hu4kiY!9)|PHc}A1 zB=RR!1{QUlzJV;0qgz@TIdp4quMv7eH{a77#~EV{!>tW5j?7 zxQEW7XbI$``kD{7{(X3gkc|)=uy;(nUKf*`937Y4QO%xNeyks6n839|ZwN_@ib~4P zENPpn*P1zeGLp-ReMt5KqRxt(axu%7LR7ID?GpHv`gd;N;+!XdPXcKjE~qLw9~TEQ z2jR%$#R=~?dM3cZG9}EdFK47%s-_fp2L&i^1=!ai_5kwHk!LumMvg5Qddy(~;0)(2 zARbq6hlC=`$#~~ic(WtrfiZu6ATp|!jA%Q5JjkCQ*unyYF|82Wj-x?ackiqNUEsZ$ zyQnF{#P&cP_ZWSqT?>?>A;izmT+LU+*tDym zerHqD&iaO3O(*N}^J{DK^XpjGo|>9H9UXhBtM_!&b#&C#b#|fvK==mDod0=-1f2l1 zv4jwyJqGdM_0U59Y{9W%`8k(UkQw}Um$TUCp|~FRu0X=sUy__?!Z++eJ^3H5=T*ab ze{(&#eU0QHinpB<=a!<{W&TwhnQqq;@(7;1+VylAnyT{&jjx}8tp6hIU%tcLe6Ryt zQ&z+!>XaP#2>zM^c2EiVOf(}~+i_$_iPd$wT&8ZyRab?%otbikjQq_(l0QUO_<5E1 z+(h$gRojHCp0AC{xmvv(W4|c~I+z{k0IE-h4l|B)tXG0@Zs>5zJsH$_Z^XTW-VA^W zWPF>oO^GIhMOm;ViYjPg&_~@CeRG4)e*YQv+;bjwb44B{-e%T`cw3fNG42O$YGjmn z+eG{JE44c`0&FgVZC$QesDkpzm9%mt$~Fsia%dSPPZQCdNLbwD6kC%Ix)Z(aD-!MM)x>3+4oY_ z9J2MKmFBXTc%kT8_O^zZl7gbb(C%OU2C1i%RmA>Y?H#+o+`f~PUgz!_AALj$b={IP zI_l~>I_v5vrAU$2E4dDg<6W_-&;O*cV2#Iyhu97esK8gzH3?*BPvRw&7G_{KX*@X5 zl=4T9l%aG7s(JKGp*w8lj)GsbbfUV1N#n-?s50Rl&vZKbm1jaJxNzQ8BwMm0_f8(M zPm%)cyv!DOLeO59K!Mj6Cyguki+cCtuIEk)PafspsP#Ttvl731W<#FCOb!^4!+f1* z^i@5=&j7?K{8ml?>qrjS!8RoC$=}nCqed#|~gKdl4iH>WMl zPxsGAP!_&MqOE~no4NfxAr@qf4^9FR&^p>9F5*lPF4T)3K6JIanDZ@XBDF9y{<_0? z^iJ1%!@YtwZZyl*3HIp=-PO>;l-YtTCl@&-&c!|jCM5&XL1%n+i8dQ@YeVJgn3xr% zb%>)6*Ojh_j#*irBQhi9#}qB1%`zw|H|LuQYIfryRa0QfH}h0U`6Zh=!98&-4Eg3k z@IuEaSPCC0MQz|TCD%%zMu#aG=Q*8`BfE4=k|KNaDd#-DsS!qp$T>$6?(5R0@zX>7 zvNGjG?R5>Ettds}_kTXuSK@_vO>R5Qq9c0cCf zu`UYPBhrOrTDtqgjk7s_MnObeK^0xp4b9n7P~eQUfqm_tOZw8#Y^2%n`#HwbIU@f* z&Jbwr1m%9XaXOp;ktb&yEM%r}SlT$(lyTr5;CIB!S-ulUk>BYEl=}&l_2CBUH4fN# zmx|Mp&%ucpn*gs0`h7bsf4oZt^z=tP!jqsUY}N$2#@kan9J=v~z$NwKXHV`}+_@uU z#mvg|*rYtOxhA)0Nm1Ln87rb2q7!mV1@(EY3+l^D5>vxM!y{+TiZ05^pOaE!DXKDr zgoV$T8C{l#bxF#+v=53b3!K#K_aTyY#uEa(ltJ$a3p);aekV168Swbfq|gw1x{qDy z5fzb=veXkYoVWeq|EIkurM+-n{Ge^K?{Syd zr4~i_&6t`q$G19n;th1Bo$y>tj&_g1hk>Z$WM~Jkf;_2x6m(0b-X($j#RxSRuQ^8R?`M|k_%6+HOwAL%u7p5eom@2ypQvyp$b2CfLBQ;x^YS)(L<*>~QTb6H~v3pj5 zx!AO|AU~&Id8eGo-duKNrDd?9s4EQTn|kz6&J*{0b4f>Tc8crMG_0>W*gV_VcD%Q@ zXmO!VPZ>_Tte-HXJ5hKMAM8!md?|7LD9+Lqdu% zCOU1wmS1kW`Q~j8=NE)%#-lPxGv1z8Fb>Y5MaQnkKSmC#Z)?c9`D<^!dF}jl%$y$r zxk30mr&|Eud6Gg&@tiR*Ll&2$$*$3)$rxgCGzjY!h?E$8WLQ>gT&6WRWVvPm z9DhH)epIq}i|ibycQ3{f#Gvg;yV96ZQPr2Zt^Bz9VCDxl;t* zj6_Tgktt0@5D$TJ8}{VL?kQ6ux(a%ik1Wb7r+{o}NOso7b*w=C*NL`zjgM#H#e;r_wb#r>wr+X1x4dX2x$6BeJskNo(A zn2;m+$Ii(kM{z&q(mx@fb0n4_fG zue$b~C63kwsyTDow*$r%}@wWr)y>Z2Lj6e9Uli;3_$+1qq}@8I_y#V-Rd(nK?nsAjD$XCw2vYvKuMzIe<>Yl5`$ zuqtg*shbtbD-~XtaH$vHwTF7ftr@b|!P47sPq&sWXgT0Sw3 zLa(X$l8D8VRx#m^E2(rwdDb(@@qB?BC$u5RH%K-KWS}dkkaZ1?0O1H+HvX8x7A!)} zzyjDwxS6XRR8Ysv9UV4FU{9ix7Vzx3E{*9lVnH6Ak@rPuDJ=}r*icMo%cN6uy)KpK zUy`n;Fgw38IL6prSwi>MiKheVn$h$mJRDC4oN`>;`?ctA0*_TlR8&Z4L`3NMaVxdk zF#MGwcYNb&c6ZG3v?C5qJkl`^1+u%nn3M-v>-qZuXoGsw!AnQ~u<2b%PmP1E-$>ph z*Z6nnudL@ePTGE{?Dy+d9(rtW`=;ejpBP$+QID}2>o>gpvA6sa)<7~5b6_mltmptu zIY^HE^4F0Fbbvy}>Nr4lIPTvM*eFmbRsp~7H^ zPB6qp2fuT}5!^!_?4K7BxF!?_Nt!8N4@yZ29NJUlX;B|jg9~WI2*v%(1w=9kCVlA#&Uc)!w&V+TbiW7=~rWS~XxR`eQwvR)>Ml)ee zyQ01}Waw%qUR9!m<96hNEhy+>Zx9vqc0oiPh5s^LtOZ3sA2?&L>^INn#z}GLQ_9UX z7j%0kMQt!f3EpR2%=CCzvo_=VA?I1Oe8%&<+(qhK%>JC4ken-aJYG=K$@9HLGW4PG zcrZkRyx5BnhUDi7(V6i60Ui@%k9_=%-0|@rB=5QM!y7tS{d!J+@hzPVf9OM!ceW8f zfvmfR4|!Z~-$=oL2X8gcH*{>FVQY<~Z6hrW?AYcl+1iyAT0{q`ZLK{yDLIym_>4L! zcz8(uWyVa=rL2uNkuIv0ANNm;iHgfda|zn-uh9qGSNdASH#9L6m;HgHrSAFz1y`Xz z(5@=pALwfyM(LebSKr<=N9hm5qOitKutwD4B&gk=NdA)zpad!?rJ*J(a81P8x;jeW ztE(LfUz1o;P*qhh6g^vM5wwT524{?*1%Q8+W?(pGb^XG3~ zkX{#@ACo9uwFO0-L+t9U;aj)xB2LNctucR&tLRbVSfWUNP8(gEB3FOCX?yp+h&9Pe zP{bM0nk}k0^X5h9*#gAkcnr&j*VR>&&zZk8DY0sISJ$4(jLhuWnletT!3S&j5d1Vg zADJR@(gEc7=9V8l8qt|21#jm0tMIg;YU^wH`LqJz|a_fhtq_Ep~tx#}!jB zhV`JQ{?}ah+w%S`CaLLHw;yq+Irv&m{s45i2M876duT%b4n+|#{u=hc<$$vhyhQeo z$P7GM_S?h%Blbg1BOMPk|JS%-a{(bjofAppvlM zY@+L5!2cJ4GkIMm%mDj~%P2SNy0oU|(vFVZH3%Hj>+E&&I^kR;*%JoY6AXTzRIFH$ zK8~^Cnu7c$^e0o~504dpro@UDB33-FZBBDD&2<5BT#`SNi{pMW5;ZqR#Boj349ynD z^|1y}99M{m%*^tc@@m9!+vhbXaa`0HcuBv+JTBw7(pBae1yL~t)ki_^(3Wf|n8KtB z+x`Yx8?q=a!3?1FOBjzA1tyAHa$X4*kBGmtWAVK0Ja8Fe-j5Z>488%A^U1IJ;%>ANt8~TU3@Xn)rN_sKBuWR+fg~x8V zp+!VQenk{7_X7U{0hnARZ@>~U+P&gl9CUPyN~rN#kpgV|5?__ zUG9K`_gcUgK6FP?-ily5lv|RId?)L*ehq^f-z~y-BlynG_MP&^THesggO3ev+qB~8 zlS3;cANf&MYyFy)%1`6I^bl*Lv46onSuxhxmjB24>z;Vx%(@|A%U>^#DYm>1#=Jh} z&+&3?%S*dpaxH64tOzZLH5y`Lg5JLV2v#`G?q&=<2e8L_N83hvR520sbLF4FwrLQy z4c@JovL7`r0aWAQbb?U@o2WeZJSAG>(~sn@xmYRQmUbvTprY6p#QV=WuW8Wv&m(pg zf<9&t5<%1^z!1V&%HBL6!Ip)X?9vukwq{XwQgn1$+P-~gEFe9qS_XQyTTQUwodaXG zZ<@JtW)V#e9lrYVh$JdaEXB@60xU= zMo}?o>7bDle$r!WDk|2X)nb$&SZ-)dO@XkrFSjo(T8XmLFYArPujuJYcIW`Kuh0rnj>>FaeHiSYs+o zNYZL;Au70z)6hF!!Ef?3jI-ARS|-|gUBknuGem9RGZPcfUM+|kMozO^IZiO#C%v!q zLexaKuCS3`sIe)$? zDCOvdF^2HCVY(sNgr?dZW|!ZdnRg=FtPHA;a{Ru~)$`m5%;h?c@8vibUViQCS~Y+E z$o1DJBpYL_uiNLcNAb<(5H@O`i08EFeu2Cpdhfu?OVv${WSfC?MJ;8*}-l2*WZv;D72Qkf(~@Ch*}RO5yhjNKodYbq1L#FD4!|OyK8YbpPLvI-bbte$w(aUp`PHEkdV`XHA7LGr z4Q`Y!tX;Yy``x>9Q}G66tmX|$!Z!{0B3wZI_XCWr^i1QZbOA;l(SiSa-5IiOupaot zy!lsbDjZ_+Z~3>n=>7Yv`RAZJeP6EIEZ&U6Dc}&71Ya5`-wUAMl|Lk~fa^cjg}44L zVBg_~1}htr<9zV2F&=@p1jXqBjOcCVBR#ro`la5okN2h1Q?m+Vr$(_0qt6BEXGiRl ze|`Qu%gkB7lr6HJWxxMq-nK+#ZZlw#Elv~{bdQ7K{yOWG!}$A?sr;SF3wWnetj)~V z1|I=c25CoKezJcv^V5#h;hor!2lrx|&fE8g##0{KbWJGN}{-dMFK@hcA!QZ;ZuYUCO;OL5{fAH1EXMehKbk$F9 zW!vSWEJywY|FfN~lz+q0=?_47h2fr6fHww{09eVnv+xTRo)N&SL`u$`^0pPvw_|^+ z{m!1(inpX}v{ZL@MY80|s)DSg8S5jDENfn0Vm7l?3#*rJzN=DxF9VlYh7i} zeAA*5OBab=WslBd4a7}ICkkMcV=WbIKP2C{4d(_=Sbri1;XDN?`*R-j^&=jEAI4tk zO2IWTlw~Ylr;Cp+o4Rgs=feVuE~c(@c5GQ`U5y5s%F6^#_;<12b}+v|?B+vd_?auJ zv;zfCzXF`;eu#HFiSC@->~S{pzTd1G9bNm&vnri|I;XBW-z$7RC4Lsg5g$6s0T^+t*5s^k8Jsx6a2UGN6a86Va@~gJ$e}9aE^lFuvF!( z)HgLxrN)9nCGs=)2>X-<9N(8d1dh}@g}a=HTS#prnWH5-)F^}_eW4FYTXgfXW%M>E z{>Iy&3yO;uD6eedZP0}aZEu5aEW@jyO&iL}HZ1iwvCvZmhs4sVEFpf^N^@P_CG`MMIkA^I_BM{BwkYeHV8D?hVX zOfX7k*dutGH}WLC&D(#=(&Z;3)wg-)7mBxe2kzdu@%+HzW_p`;R2atR0gHxw!Ht#xds-~%70Y4<^WmjDJr{}xpwDc-x1o|r!<4M;9 zaP@_Q5*Hxdzsz@!-umG$aWI?5+IPofzA*zFeet!QCum^7zm(-os9uaqy09;|L?s6NP^*)g3$|@-pjpfHQEJ9T4#0wvTQzU`_X$K~}rXlEOU{%V2g} zO2JC{&giK1Z_cQdfHdC|=m9^-(ka+YXcNk{Q*ASiNYx;!s}q1PLd33JAVh4)q3ZgE zszb`s7s|J--IjSEs;Z2=phce3a>{bd6G(n;+dL$-#GczEk!~)ZKBf)RF3j z#;POi(JkxNZ4%N|ew)S0Z_7`?ZZ`iEbb;K!c`kumf&!oXyTDS3{axVvvXs(-rUjKP zyBn4s4c;EuSddqmRFsc*fe#IecY#w=Vp78c3~8MX?*fO-!n?q=90yf4;^yP}jSe4V zt&?c{G}low=B{a6Ipd<$Z&mZwq1xufs${GkS~`EYe-(#41MAz3^^vr)dk#gbQ(KQf zZj!LkYdbryUAgw!h@GMHN?QA;TQB*bUp%>&VxQurRdJ|83;}qz|{(yfu7qU|6>*mg$qozjs^mP6N{Zp{#VvtRe zJUXfyXT4o~i{Qd;Lr(s)_!Z|k)K)+QUVu4&NIV&ymuh=5ys4GFA}5}>jP@ExSul>Q zpHSSkl?PTxTOe7BdJal=oEWWXY*+}jG54*S&FqCMu6*kIB&5D4E!?;7RRjY0*~UHl zBhZw0?XXid2?Bvw64{duwRAeKYkGRVv#9%6-?S@6M-Te<9qw!&7-(-_vUsla;rw$u zhR@BPbMTRfm3CV;o8g)KQw0AU_e_q*G zzrV*ix<-HRJ#1UmyspZHEGcSDef^qZ7#36Iub8y7ps3LDCctr?$J^r6rp6fvu z)Hu1TVPtql>~+=Ets6K=n)k973WnM?Y?CgXx<0?8v;R7x%YP6Xqo3DB{PjD)bv&o` z+6&t`WzSrBl4Rf6v!idn4IxlpeTdyNbjh0alHaDqi#H9(FXd)snSM%gD;@m%0ccJ4 z8rTjRYV#m9)M6Ygp}+zQyBIC*hL}|Adk}~+TQWF@^Ci|#I@_OYD%??UYH6d)rn$H(J+OE0skw8d z3ws~A3|G|z;z!acP&Papj3IXe8pUP|OHasS_idQIM_()qVlc<)FQNYE-htm0n^@S= zzXc46?a&aP~UJA9iN(fX%FWN<^pc}WTaJFDm=`akoRKIw~`yAf!&XDW)JKm3IzMUby zrBWPVYc?TO3nN}Q^yt-(9{80Q^u2vn>plwF5na7Or`HtxR61dEn8{#~9+s{5u7!zU zy6?f;*bG_z;q6et@{Ru@Qb~A-d^1~v7snaJEx3I`x{rYr%xQSxG-!M`>JaHE1?DM{2@1LG;nltVAQ3DzDg61~>AJ{t76%FAY=sue`f%qd+ zXS9}^I`VI{hK}Tw1%7@Ad}hyCQ0)4Ar#{-8pP#?3cfsi;1IOn~WA9HN=ql}wU6**n zvi3e-`5xBYEPdE>Zuic+dOELJmSq}TSya^0*=s#EzpI`Xd%WAhb?HDx|#uv|#$MUcN!U(>FCOJ$R}g+i_^yl&OJ1>*WvbxPwLHtXO%YyqYDI4qO6v zj@T>p{RJV(|7YF@f@i`*|NQ^#`wF7p(*N7MQy%@6LsWxr*_vj5C|_k8DY;Rq{x;T!qO=kX8o{pN)iUH~hOUF7yx5XFADpNsB# zB6*fr8^xufO;0lST;LG+utOCE%WHafM=nk1OEK+CO<$2>tczJ4zG=>qP5F7ut1c&_ zHo3g4xH>$da45$RkzbK(nOmJ&3U6(fnD zSbi2?@Uwt#sb4+(6|gvMb$mXyk?-5O9j_NKY%S-tpfs>-{w+I<+vi5u=r%}nHcE8(ug+!n<9E7|cg0RKQs4&tmVKI%I7)bn4JHHcBa0$^e{O_{@6o zJ;bDT4swD?U-wVnp|@_rs8bFzsXT+Rl5&16G{7kQSvbG<=(qdaJ;LXLJ4=Ki5c9_J6d?*2-2p-Xgv|fH?vw(^{pWkeNuCB3hEt zgk5-mi10ZVqistv^4nP3{PyiS(RExYQg*N3i%uTHP<{r;`fD>GJ>6&00Hm{!-mr9e zUt(%n0_pqv?q$yfx8=7kdUx~es7Saw$#39?n!c~poNnC4M9*csiGZ^vo-A>q25-I` zjzo)bR1poBOA1+l6LBQ+drA$M$Kh;~-v{TKoE+-eX6w0_+`j$f9e1=YB}qAV{@nHj z?55R!|NH8;56WX=_F%Up+B4}WXb=J~0e{cd$VCHa0i2Dv*-~uZz#dz*a&JlTl*@Ic z#d}w-JTGOxda{uv_#8hu*!%FqJTuG=$P|2RBKn zg#l@Xh>+Q{uG;jg)5CLO8!b{$c;E`d>_qua$y>hrllf-n7!4Fqg(x)<^L|2&K(U!2W) z*T{I*y!+@4XRg`iw=nvOE20-FSF1&fU<7|Adyo$37{Twa`HoALmWcsEG%0+DiLd8(_}<0~~ZhH_D)7-+m= zU`IxSD;guW3U{pk{x|UcC(i4?n~(MXMh+FuhV%sduinJ%a5tj}5k4svzn4W@=ibWt zk>6q6(9)7a#XiI@ltVT7JSIjmOezC>_#0RV7nwBTy%x~(E@pY; zz2yj@<~+cDB)7BbwXegcevWm6mSnh4>VPN zb7d%q4%!FdQWIc=4G{1Y8$7gKzTp6{h+^--FaN$w@e0yyS-^*4S@f<7tpjgE>hLEB zf20oU8WE;+x1^EsWnm!&tr=f23`;9mYj#*;i*kWOb#x~z`Pa?GSHJbU(5 zhh$p7;r6vevWj{&aVXjxP4A?=byBkYA8fvC;MtvNlI84KS+*rj^6~H?YsMRRHjD@u z(s(Ot86A}$Kn?(g?q>GHHeuT@<73I2#Vw=&6CWeKw!VOWiM#>$mvz}(J_fmxkI5Jr z$lZqaG`OuufD>U~B*P6SUsm^{+`i)C`MJ6Ckr0>XkP7z#R`jW3IvnVNNV~3q(-&!8 zgqyb-&6EI*eNRL*?~*{(!{(3r-1Msgq(dYV&V(DrH`D>IgBUgnf1K zi4hTr+CTDDjx-Z`St$J;Ifq`kr**$>|^lA2hvBlC(cHdYA*JS-wh2RJhk57oHgl+XHF!<8;u>E3z~0G zawyL%MGoa~(q*+jqC854d2*#&{AbMcXXQCrxw+o*MNLxWcuo>Au0!01frvA&!4M65 zQ~`j_#7I;@Qk-RqCKxFlinEx?{3Cl!wkE|o?_EJbv;5`1G*Tsejb&!zNc2Coe8iE2=gFW)A7kOa=Bg-s!%G@v`x_fKmrSzT-H zilAPfHET+9vn$J}0qEB3j8b!3CEMOVr)F7xe7yX&^elDzTvkyu&mg~7U@9%xx;n?a zyz}9Xg~Xe5PY9Ey!nUS73NBD_1tejJjSZ2eb}bos=JcNY^yw$2v&vr%zx5oX%}~#& z#^lm+SPdkf#9j4E+@WFt&X%#n$;Y)B?x{+q3h-t>t|<`@Efg;=KgX_psZwo@?Nzk9 zZr-IecwnJ%L(R0S7j3rw#nug*@Qi`4=|k*OGVK!inP>)EUv+AIz&!-PCfttVmCmCd zMr`Y;SzTOFl$T$$ys~vg*lK^1(U`g-J#}Yx;{2oyr4`Aw898+`XBDTU*CZ6=RfI=I z7;=URBf{&kHilf5Xej{q7WlUkXm`k&g|*hdf0 zeZ=mQpH8bUZEh?!x2ALiN6(5d21Kphu=bS&Tl$}WHm}?m1lZo7dkNMPiJ2TuU5g|zjs_44iUQLyqbrV7kb zfb}BE7l(d7+zCalhCC&C2Yh~Jf8)r=rlk6`lG$l941uvB>A&jTE$QDpk(U-TI4vMN zpWvXstF#U4!=8xKnv4nn>R>BUv`!EL8TKaH6Y8!~%#T3B65VPn`` z{;^@9z^<(7OZhtXO-I7)u%)39Mb&bGF~*nh#J+69+HCNN*^&v}0K9xDUgs3>WAja= z(+$n=6pm2a(~-cS0RO4M*?Bp+p?{M;<(*HNj-PstH`Y(*47LE{yhOehe$bdaeewED z&z|0$pD|t1m&6UeI*beX(YXg}649=h#wLzMGZ}ANrn}@r8#6*CV;6}3=@+o&-5o_` zO;I5kc{{exZP;Fzxs#n6-Pu^Xe0lG@#G2BM_OiUzl+NJjfbfJF@dI8g<>(#mDw zVPTx9zCtB01=HRm&XT+;uwSj2%qn6t1e$to!LHnq+xhY4oRMdIykl} zclC7ds*H(|KVUBp9;uNB+VG-FM_pqJ(cTE!e*yTg6UWN{&Tl?K@POW@>N&lQSxdJG zC;FPW^8DJG=GwZ#{I=wd;FzGW_?a=o8{kbXEi5hSsHtft*C9W%+d+p}#C6cFswUt< z)FBB*+P+p4SEIPW0;oyQ|_M+Rge z7!6=)-l&;MPPKfCiJw!*5`J+Z zp^~309bY~)U}+1@Uf;id`SF$MNyfy3iN>UKbf(*J%g%k-S^fKV-m>Ge@61D z=#-Rb7L}4RJ1R9b%HKXU7U!1+L7z4|I#v9foo0PdGdt0X`kcn_`EiTn_XZc7{T`?$ z|Ji}P0ldnY!->ZQJkg&G^4VRi2`!$-ou8|Tikgmm^6d^Yj-zD5`1wU&VX+>ymoM%s z?&#?Xi;v<3RcEKB&bCoiUhja4ow7t-@u$@p8`Td=yeQt<0VWf@vi4csvE~298<0X? ze$MwW38xD^{Je!on&^PBQ^!^eu_~Ohq3rA-=R<~^AUbA?7P&ZOVqJ%Lz8=q7q!}5V zhsoR&SO(2|3$6?0{*gWEb)h@T`MMx|de-_xaC&BDy0|iAWCoOsyE1@(g&j<}gWxuS z38BJ`0RFe4lajao1Psr;qN?Q-L8bmX{yd zd`ZdE*S8JdZ2G3~ye>sP6h8BGg0yXYL(u_^Dd(Y^OI?lSM{V3kMYC)-y&h-pBZ zOUCZk9g{A?cBR{YsJI8k5p10)5szc)M%ZQhyL(q#|4@5gy0hs?`Q2yJf5rx`{YCYb zjQvfl`-pu0rI)bg&aofsPUv{PKq9PEu&Y_(c*6NxfaC;nfs&Ziop`6QJ8AIMRf`X2 zj4_rP?thhEDC-?#ap|j$B+YAlQ~u~jYdW6Yb#%>;|N2Eo<*~F_;K{r;k3FILF8bo) zPUW4H?44X-!5;#w_p#uIcm*>A-T)g$CZ!@HI z9IS4w`oDC&2S8ib^*_#iPlFBG0|`lJ3rPqGNr;Wud+)tB2n=R;;GNixS8QiD!*yaO zj_qt`G^^RpsIzyPrfrfoX_6+*to8Vv`ve&G|NRSNWFbG@d+s@(^Eu<*XL7YI96n@e zt^cB}IOPV9u%N1n`stj_o?zen0{)ztrMJjV(n7DD3ZF%))`J&^ecO7T2o(}yb#PD5 z9?|B6c&5<*PTYk#qJc{5Y29abppZrsUQLg+cj+`zXSk(6HPZ3gH8;f=lkvr0^f5o+4KTv|gckc{afc5EG`UAO(EP;$V?)PCa zK&Bcuk5($YRvI_)pDU;zj%FS}mL4O!Ndew7tpy6H;)zIl zkqKr;kN_q2-sh4Yi|91$GvD|$@VQ{Y9k2rtt=JG&iK@z@y+;H%^ zTM4aS-G2 zF{kWI&%J*O%BCK@>H8*+si%>M@-L;t?}yL5eu;uTMxWrmMJ9c207peu`3s2$V9Sh> zAU@qsrNa1#pxsN)k=3LSVt?AobSnl1@umn6Y}wp!^jRsNNVN~@uF$q=6Z+*}U;3A| zPmx;s=|J=MQ;v~$z11%jBwzYhuY8@A~GzR4GXOP1`X*mS;w5yQpDDlBjs!~OUUHqBY z7?8u&OK*_F;8y_cnKZJ&oWLwe72bT0_KWW=%nJ^uzKo~Np`R@%QWlyy-D2IJQ?U_| z`zSy4W%rz$mV3w21@cPp8#t<^a}pROFWEZmi-xNLX6njItZphtS zOPwW+aCCHgURrvA*)s1;%ATvtpDGAGyn8qG6`o7c(#zoc{J0jRffN!@F_0IWwhs6X zQgfqAtVY~H8U1frPqcgp#9pm1P^m7Mm8tCi)w)8mh9Vx}}DO`WWTtvjiBj2<=m9ahL zc-GT1Igh_T_G?#V{cCym9>6iijZ2@BrNqzhjE$>6*glz1z#*3z16k^?Anx^lf)3vu z*KHefbm^3&Xs@3l5Y>^o&DxZ>m<1mVGV2FjI}SRF*Om5cyWP|A*{Rtz^{3JFjj|i57q&WkI-PAlO~bX?m+m9yz}Nuaz_((FJGC4Y zi`{-TlR)43|4!UZg@hdsJN9bZ@AeQ>*R2Brg(Bl~Cez1#f!{*AYc?q6v294?yLHEX$X`>9=<=FV(d9GP4=a9a20 zQ%BEWIdv?(0DAk|ik)B`1w5h7fl8k95XTPT{+b?m&kkaVj=IFxLa4&VZ= zQM_~)d4V)xq=z#n1bh*YZx?1#a1Fpa2!ODoQ56#(hlE50hcLn!JuH4OKS`~y@dYCP zHKd8!nttUvdo<7MF=`tn8Ods$@rg%}0j^z&=EyX%5RVTD*layq7E~Z$5KwRXn(yQ6 zu~1(OPu4b{$eiK}iTCE-;pRq78#h*UdhcsWiUq*LW84Tha4pe<`w9>rZ=#6P>z9X# zxg;Jkct*F&32G2Yuwm5rUT+*SGn}O@NX_%|a-fL7WFyKh({_ywv?Xc@&}%j`E;nOz zW_mO$Uqv*{>`lv!4VjBDn2IITaixqA62cV67;+?uNvzfpN)^F=5H(1 zsnqM&Ph=-f!5SHtzCaI=q1f&b8*?uKj2mksAOOh6&A~W;9vW$A$dIwvUh1zBPAsR# zQt>(JBYwYcVf1)7%at7NVvjQz=y?kERz5mBj>npTo+FQuX~4r_R{~PgVqVoD2NPmA z5Il6eF2BY`KQ3B19sF#Yz02GvndC5^M5p&FOE z7AkEKMW+i8x&QoN-2L@GU^=A=DyD~hjCh}xiaa{C zTdaCe_;gXqe291Zy2Q@mMAr6oP`2(U-X-A;C3$ae^i}GIWXZ+J#Sg)C1wnP>!(=nw z`wExHi@iKKI=RQzjrEI!O6M=+AIL1g6uOrR1+GVb42^+-4}@180_Y9Jy5b-k z;bXR6ydKR^Zz2oC!FvD(^%Ka^`{uLoAf&r8+S@al&5h>f!oppRJK#w`ms^%TL>Ear za0EawEv;|?eWS_GvLeD3YzO*<5l20u;~Ivndr)O-dwaEf%lh?gNzAN}v0zk5Jr{}w zQ44i@_vB)9FrnT6vPxchmAr?{rtuq^O+iS324alhaAo4rpDtcWefQnu?|q-6*QrsT z4;`KIU%W^%E>6SX7(rP}50hs|6<~w_MhBT!S`vZc2M0@nCjdQCf$j=LOqFw);gDwl z{VUh|-|FF?WT+=>7J^G`iu*@No z*7e*tUeMc|*yhfo*TJxKf_$DVfKN^d>HvJ#Yn={(R>XvWX%#a8G}mCJlf+;{+mh1> zfbDb(Ko6N~-+^Cs;8)jP#n}*!43p?&I8`cAW(dV;@!%ZE@o<(hJvCRU%uUZ#c0R~E z&>mt+6>_G-7DxXO`aE%eFhiDP)rE!YY<59kY# z9{$B(kbD(e87?a~nYauFgDFjQoBY4k&8J$Kg1#^bXH&#r)D~jBa7a|#WHfOIcnBQ{ zJ0nIS>kDH>WD{~B10jYe#u5dX5(9C^Yh(}fR)oNsAneXnT9QQnK_5_U<5WBG$fuu? zJ^n9YpX_ymuz~%1(1m=6^=>CK=?-`>4*Xx7AcTNE(-uQiLL1_#X=*rrQiWouLug_e zB~Y)U^a<);h}ZZR;>9K3;ln<-R>jh<5I06)j;6(nzJ}F;^vUj~kzF@_QSkA>XR_)u zp6YXL%$YmTF|v4aet7n}b1BWP2lw8m`O|G+XRf8&$py#>Xd%aLftg^Bt=EBX#BPLk zws2`o3^ZC1g9(EMTt`lofC~3OisgCRB@O~{2VV5E=EN1)v2P?gm@E&LQ$|i$P}|mzfOdWK4%KSgO*T;ahGVE_QUjc!ZitwrzSK zH)QgJ-Vv|d^riLJYYI+oBKG}}`fZ~iYI1DM=Q1$%m8%v7s(45|GszOOX=0tVUofMs zvQ0!Nm79tuTlb`Q*d~fL*K=#gm(MEtC|ao+oal#)#j;2|}NV zW#fY#15mYtlT)9Xn7FYhIjScrMng4=i^V##n89L^sRmtnecEu_;3h#t2wn_A zBB%uP=_Hv0c-|GX{n^y0CY{ znqj^I2}%2GedEjkn?VvO`D69%nHKOsA6a@~GmI|< z#&-(%ZWKN#9N|IHLj=D8&+%<(|4&(h)vlTY_}s;d2hdjPIg~nyQat1w9-+3ncw*O1 zUuhxH^Vl(JoVb;G?k9wVvAq+6oheq5INUfk);L;JH0po9P6C6}Td>xWDSAVBUB+m~ z{G=e1O~4C$D8geo>L5mZ3OI-CG(>pAH$Igy8#$KCIcAmwL)+TENp^q%&wQ& zx62JVZ6|gFfeDaLg)-xE(&~0!S>IgT73CAcIu04O@S+K~e~U#^b$SAMNpUc*NGD(r zL~OP@N04lak+OiAzc_I^TBon9?&>(uZnE$|ff+f~??n&td&QdG;(hfoMyW5&Fr_%S zG4;rG4%uvoEH+xEjTnuTE5*4nanvtA%KxZUM}W4#{Hm57Ay1RJz!(caPw;$jV8q7q z$5X@ZmJQmx`UHUUk_^`B_zFrv+U;R^cF1Y;-u2O$wjOzlqFdyP+I6HlayX?JoPp*QrmnhZ zad>J^VIlhdC2FBr{)g+kTGpc(hHNoHhMIkiO^5G`*?ghx`e%r}KT+>^ItF_h+(`sw z_tsQqjhBeUjbYk&Ap?f))+NuU4n>U$9mz$5A*n)X)?k^#${C4v=(07PjSErHSV#GM zq9R_ajfXjrLGGm|$aACtut-3o5oV%J2PVcicmN{I1U}4liumB?=qL}Psup9`Wj=+p zgdVxL+bahVX2@qKq7osA`rMx{k{_&s9q+vIo2)#E!eEpC+B_>g(5e zV1-_+bf?9{p@Rw8x$V~Jx~#@lp}`@e!ug59E5ag2Q^nk5z7~K3W|*Rl%PeqrFyYfW z6>4Q{yt_9^ADP1IwdKYdTholXrnJt)uqY4)0Xg6uvC91V-l4Xfc=?FgYl%aiB#YTO z7ix0LKvGy%ilsBaLu;TXR0lkz3a}9yA}A;Ru?#hrl#_Of5CVZ;VS=4%^g-BoR}6Gn zuCV0TVXlgMjFCc zOb`=;1IUZd{&^Domj`f3hmn`(q?H3}h6+kUfozK&=7eDuhlVPF9<(0z+^^35au>WZ zdzbrGp-v{R+-rNEl!b?cXSi*Z-l+1t7)@vxgF0`Yt0%UPz)j)bd4Ce|EG@jJKJse1bG~UZ}_nDgDbw46W|*dmK~;uRG2t!rUTBrOfswv{#>v z4Z|KWm=g{9nGJQYyUBW}$Am+k0k{Rio*ReZc%J}13>uusiUQJAcp7uom@eSw?H6xC zn^c>l<&?jbNTy&L?;9*8LsMF~Y4fH{B}E^94UYSI>Y3k?`Ul3w+*ZUQh#$MU3Z$_) z`#=7;!A70d7pXK{7$YM?;}~6!Zo-7Tei2F?9lbzs-xz0^X)5by`!VO9tTN~WDuO-yT167BzQE~;X!TYI{6v{*d&XQ zsE$j|a<*3&7COShv5a{FmN=2d0T1Z^Gc-TK@d~`g3+%fyjN6|nV&~})@|0@hd2rXeezgnL{3{r zc0D;4ifwpqVt!j$PQ$~uPzw+Q{lm8#MGITU$6GuWf;d>K(M@Yl}1Ru}$06vg9mlLp4V$-{-16U522J0DMSOUgc=)Pn*qGiJ90*pVGd)vI` z@YbK6s7@*z$*_&g4O#Ua@)}Wn2J0Qz|X@-?`(Ndy@(U{?6dK#T@>o|uEEVaeU_8WSc6 zE5A1AShX?6+Ld;>>&cXh&yz(LPySiOH!c$QY_&xwA}K3+gSuKM(Y+j}M=~6=YAcGz zHf)_e+W627)GTp``qwW=!D}7wZ^*Ea43bpUP#@LR#c?I~->-;LJftd=C!XEcv6O9`jtlFY3d3d7qwAIHn+F4VdE2G-biRv=fD4rMC5E32FD#! zQ#*=tQQ!SHQX7bCpMCQPFUHr=>GLF#sPj)UQLp2wbPenyI*V@Zm5G0yPc*lCCwq-n zS*)CTC56h*5jA1B1Vv2LDKfo@9WB|pt_T(j0j1(WxfAzB9fP_|A;f4sI7S0cZ>KR{fPsGvzjWWtpO1>D@owAJ*Q+b$cSlE}Y(6_PB_)GvN>QnpQPkh` z7pa%?q8eJ6EJdNsqf6nkEE4qX2<*FT)1ObX;5Vlbe3r^ zn;tE;Wr72)7sMDaAv$PTmM+d>(5ZTS>@o0iJqd7#0Rw-DbkI7-Cj9^XDLlHNcevec zWT0Rl!Dgz<3hVdmtxw64pqI~6OC>|Dlo7*2C->}`L`{=>_S|u&w%_HhDs7=opr(~? zZY-brw?O`ww>q4~#1n}UFtb&$HYGG`fP)fhV-uPznsm>wI7{1ju`x9@BLjZKr3pq1 zY3MGErbu0+KBSb$pmamR-hn3|2cHLgNdfZ@LIC3Mg)IU9bRd9qoZ5#kJUJEb5=yMW z^R=4b5}>EXsIL+K+i&3rU-lUKg8J9^IAT)&{THNp*`W|pl(gM+Q(I|4`yXzjrii1| zQ~wf*d;^2y9y{ET5)D||&28qkY^uVF{+tcZ%+!HqbpQ9`9PS+;FOB^ zAsGix66C8^SE8LOvJ?MglA>gHgi;adN)`G$xb#JBcKx*Ro&7vlSK+ z3*;=D!7^5tH*eq3+*$)0c*lrSkN-5OpK0${m#Al=X=zME88{zxi91|D)*)d;HObJ$ zN`+x%wlIw$JR;Q|n!{inZ*e4vAPq}OQrvK>imPL}kn<-)1mYy4S5_pBQW|t(u}2)k zBK_+UCD}Y>ToguNgTAx9rp{bs3kk>Y8x7TZ&>KGZnG2vdxllRjzdTFE!O;u=&oT&O zyI50&c7thPRHAJMHUa=X<02&-r4b+y@K1Vcg&tBfxP*vLxnRP1G(cy`3n2`7ilb|6 zq^Bg)#*4T1n2cPauyF9G%-GP;-Vhfo#M3JNMxii9Yn_zg0CL>iwv*=$m(< z{;s$11QAiW@s07VXm>m>GW7PI1g8Wiu#@xAH|&RB+u!S|-tqJ)_VAr|`rp*Y06Qmy zDzVpCT5jzUIMvmbNVT{+A)O;YUt3#RtpBta2xj3m$B(~-tj$-Gh|kA(!VYrKI9vwL zY(XB#fD}W9e?8b1co`ftF|j4_SMe9y8dgyo{1OXhMMU{PIYhzEiIbMVq-ZJW|jNH$yT|Kcf(Q zSavtEQg6U9=D#2(^>X*^==2@bueW#Kag5DS=H--ayt2*z$*Fdc1Tz& zYC7wS>}p6dkg*liOS^B|Q0UB?*t#AawhEHN{Ld@Av7g3f$z)mZ!~3-i9_|=;P=~AK z@(22ts5{Q62kgqaWOqs`C zwPj0{BTbelh_^PF3>-2q51~$UNT$YZC+e~ze(!%<2i=;n=2Em*Qgpo50CvYb%ImlAfn^a5vzwF^foRO=_3cMG~3r-vmqvm$WCf zAheIeGHRtsQ37Q@^}?@Fl5Ms1TT<<$|7#PUBSCXDsDQzj#BezrG6GRo)zq9P1)-i` zPS~@-;f&DKICOQ*B8$(lMk}=(&^ywkl)2odTAeyHE~J5pYO*7>+Ttx?j09bXBDg-9 z+*hoX2x80i?PjTvH0m3u%}kwRysy13oy~dtZdYb#bwW~cQ&})%*Ki!eCH5*K1rmN@ zB7bmma)?ec*rp!0pJv%re5p}9%GW{Wu{S1{;{d%j0DpNLYWOvv*Ihw_L05t8)AS3L z2dtaL(gWy%{BYQ|yg+zK^t5Q2KQZ;TQC}!r%B!E8nnSbiRY;03tSv&33ZX zux1#2*Qf~)BK#@z;;y6~i9grvR@UZyjEvMfOlP9a93CGR8%n*1(!cjss`fU$T^^mX zRU=L8LL2AM>^gL$*?UvV;lnrWA$&8$>_%eGxBM#qN8*SF+5{;t*b|rnyQaAyn=t9& zXqXY4?p7A(?id{0nV0w2`_$FMM(QuWByB7z-k546iD0L+S)ewGT~-}~5#k9ZNRdly zREldAuGG(1ypWvmFuq;v6nQ-Pk7>Nh4Z!}L()4dr`5_E8w@;>3AO@0&$ru@*I$-2P z#Dz;09Gufu%T;Om%yhRqG#D>_LjKJXL=mo$hW(Kk% zw2x$V6^-;Fk;XHm=KFiMxM&;Noh>YP$$F*G#<}&*LaPb z60@@~4({M~cT-U`<&4;o*6PSW&eV9jP-+%S4&6{CDbBYkenRVGQk>{-qxVa%r5^NV zvO`8gp^$(KEDB*Vx9j#evgmQ2JFFqkxz6C zSF_~FiOuE&3A3iLuyCwwxV)U|caNsAUD zG|-k_;)2Z5h~?PGsZ(dpjQnW;ZYb{=ySmbwGg~u~aO3dFlc!D%pJ)8(I>-4#;JXRv zAG!l_W(|;44)p%uQd~eQNFkFA&sg-{73c{CpF)3g$eSan=kw1@ zY%859s(7@ppuMclo|08FB9E!xnnV0;bTl?armFD|q9^@#8wf3RUr*6OQPGptQ_jtu z_DpZ_v^=)1vjI2VGlDFT%Xp5g4N?MkDGn-!$OYpFj7KD*AuP}pOrsiuNiQRUddRAK zT22M8ba}e9j^!MP6PDibQ#JKpw7?0SVk^)vRbuN`BA+$7Bz`fWB1%L3jrwPkTpTAP zqag<@NwkJbBoXPB@dyqhB$VWF00I2n69{T*nOPY^)HX3es7uDPAhhTnx7P8(t&wHA zjfpiJ9pbS@nNg9{$(WXCtsXafFcOlHoBA6!5=R`-+|=YdjuiA&XnGY%8TKW#7jqH| ztihvD_X=6fyaiT*HcdDh7rKa?D(I-@K<6!N9(1b7M=!2J*NQ_o@wwEsqa=IO|2mQ2 zf4vTx@D>Iiewg@daIioYne4gvHnG*es2xE2sC96T;HTZKAZNJW0_fYbP{$Ai6@lec zL7We-^Jw$NV1ToiY>>JNmK>uKSUhbsdfKhSlE4U-zn2vfd<>=m*nxn@N6Y^b!kLsJ zCSAU(-`V*CT8J4JaZ%^{ugmuD;ZsZErk6;^6~E6yC(C#eBPSG26)T|5mBf z+!V`ag;s=dBBNpz-41tSLVZF*LW0fK08bj-sp4pK2Rz%XGsbk;Wj2KrB(8v*$BSeO zeI_v%y0)aCdx7l7@)}@66hSAH02h#<`;Kn4-8TeS{EC%eN+58Up@u6$3hzNPZ`sy&P;cf~LV7|H(=2qO)d^Cblf!3(utXUjEiO8wpKrFu zP;=6VmttaG5JuO;8N3qstb7y^oW}^3d%3X!HoifVI;KTdErAAH9KXgwZ}?S^F9@S^ z*|_2gC>p>>UO@2#9QcWfV+`XmX~c4bSEQe;0bntQjr-am&SVviag2 zUN7;b|2*Ns*Ji-Au|2oJUO{|1Gth51SFYs!qbuS+vb>^W&S%he7tAstFNZQ@aN+FStp?13(MI9!&oEbH4t`L_<`LQ zC=#79aJyVi=xRefdfSA?l$xl=fyWTrhaofwY2I_MG zZ$onFOj4Y=s&X=ZK3qnoZyWSCqR(=Z7t4R$xNqj>FP`gcuRr_j_IOo8{6MqL?(FP% zbEiNLNqYj~+T-M7z^B4!-?(NR2+L-L)j~5o*jPYf0yJ*2PN`I-nOil)(_fa=IMXGj ze4QHBD*6*5{12pkYrnrAy<*c1mQ&Nzt|{uhnp`F$Y!ZlwLWkH>=Y78OAOjL~<$maY z!fS?O>dT}661kKI1^d9whd`-dg8}HW%caL>_n`qz(pa1>J!?!uyn)z^*zBy-jLcMT zzLE&0`XUr6TaqoyS7z*x8Ogd>qyU#LPdum&&?)IQFVXO z#zjC)m5fxWB(>om!Y{StXRMcjO z_i5tY=`%*6d6pCes|zx%#ZIxc$ZXLE2Ztak(=ac4HI~|iDF2Jlx|~2JZD{jXqrbS_ z3nkxdp_-20ms=7S96S-sHaM(43n~kHeQC=7(ijX4$)Ls@gowGv%hv$kF-hcjdlP zt=>N3-M0;`BhdNdf0m}EO%@q)go#J{ThQr=UVkO}P@Xba_Wh*))rX2EH{V`%Rmnij z+t)Pp@RaoUBujUbZ-F1g;|o|N{%~m4T`mu;9Um+>ro=iu)VV;@0MBuiHXv3vdR${@ z_H;`oWUwWtB2u8}xZe%fLj@kxXvGD$A8^LRq)I`lqbkYP+#1OwWHT)8RqG7(F7ga3G`1{b?PV>4l|D->&DqC;Xs#M!*yNB+PhIa|1a=E}{0}SJXZC)Vj z@JV4f5e6~~;MelX4s8Wf>Np(Y2UCnis_w7q}q30~JR?2`L(Mq}-P;`%Y{@`sDh~F+5+UtL(_Mv~B z*?L{{@ed#B0y#2*xUkMQLVq#F3JcwlwPsP9t=y;Z~?% zI#97MTqrzKPf(yf`}KaT#8lq?~xK*-GH#fI!6LP_(+ z0T9^v1no$}7n=|G$Me#|eW4_ZRgYK;N9@fh9_lADeCJLoF{^L9Kt|d1~)C+!Otg$pdp0CE0Cr{p0sVjD$%gLt*^q zQ8fkI%)nN-u-EWSz&Tq`ChkUry32~b>DhRNR~H#;C=3_3YeQ-eLypT0sd=5#4Io5^ za`0;wur5d+v&lD^{LoOnRB8$jVV3u2XEqDfjYDC&H2aWzIL>5@V-p$%GnfGZY}f&? z_fxfT9%F2WG3%M~JbRS*Im?1dW6*12V+|KJbY$ceC%Vvie#&ss&-21f!~WZ<<~Ce` z+9}sfUW-&Ltr*GcPeu)c&a`!HHR^@E*I$2S`_3)LaB+!*+R{njS!E#aDBSCFN#Zaa z3`GGVuclq#YV8ud-ii}kE?lBorEyZFNlW&rj-lTu7LiNR9sHSAyU2%-rll6{QY%IX zZ6xOJj~0c?q9OU`^mY1+(8oy$Qx)INq)t&bX`Ke{Vv3L;DG`+_-0eGO(t7Q6?PbBL zc%P4YQ^MiO8z2;0@q+=s4SgtUM-6(iS|Eg28e;Lje zH>jk{>=Loss!pW*hs3y*lYq{aD%~erFASuotHkL zAxg%^DBbv$kH#j(#wI=@o#TTbfcGr6p6YKmU;Gg&WrJGegWCWm!Ho}pLtWG@h(+zD zUcu{v7%r_1*A3-HD76G&2M(&DQHKUex|)Z;gw%oEG{_@W_*Am2 z#0eSkIrZzeS-Ezz&|r4DGt%SRTod0f1rgI!NP24U7UbK8SVdW6Qg^LC5q;`5^c5h+ z_$}l9@A9%j#>2ej3H9Yoy^g;S2gXPJk7dsk@^!7XG&Y`qeQC9HMB5ky8|zRs7`9%g z$EyW)3qLL`TL7}LJ+s*Ox3sOZ=mRU94mgGpA3#gzSXuBQt`#Ne)$kMm6yB+Yi-N@; z<>P8d=qk$MEo!kOEILQfC(DVBIR6eFk|!^^j4Cp zry2!KN;h;+*<88t1S2$fj4RgMmnW+@s|e|c*Gi|o5PngWC$43eC!MH@E!ueWq)q(n zJB>`(SfEvvD)WgtJ;bC@fDccQrLdj`;0jK_2=C=q_GiB1S4D z34K`AT<{ceCf8o_V(62u!i<+##2IyYC23h$4^aNR-L|m=1P}Qmiq(b5>vZTi9KXB!bDJl(DYee9Uc`ae{;Plfll1H<@z#;x&{=ay*xz%*?-JjFOPWW3MG#AR-z5J zOAkj>sL0nK6D@JrB4dRSSxF5Du`JykspD!zmS<8k7Hg?4lQV`1&9*2}RHT#(G`5X; z0F^!;+paOf{mLNsVNOK}!IA9oD|%Ba%FzpM{bT{PSv))Le>$P8r%{X^gFB4=zzv7U zgAC)gn$eqo#=atY=`?u@^lykjZg~GAorm0IT7x^-8eQoIo1@}d~}DEtC>2!xZb~j z9+A7IicrwPGug>B#&DPJ1b$cs2x|{Y1`7^?T+DJ!7Q0;>pGMC#_c>0~IK{hFW2Vh=|sV*fra9?Kl7FmZ)dWBXk<-iQt^Ztzc|7hI<4 zV*kAVt%Dh7d=Q3*}BzBg?(%6%b z?(P%~N-cWWZV|^MLr8WQ3sE>QtlFQL&bBmAOlwauFb#kUw;mgccX*c=?W8I$=LhUUY{P;22hX!`R z>Y;NZf$l9{qeM`T#VJ6TVIcpD%ZoTqjlZEMz=40_US8zYDhFa@73u9pLV0GG8X7#^ zn|Ej4H+kRWQs3vnv%7N1#Mvr;9{Sv-Z>swAO8(Z1KPKA9(5+jyQf1H3kN)@QM}U*w z5A_3#$@E#fYt>o=WD`fd2nYry8T9Bdguyp*DkY;5O?GmR^q)kq|0-gXlHPmEEq9|o z-hI< zDWh@d{;Za?;ub+_OsRcZ-e^*lNIP5}eGA2_Da2H=icS4uOIl{OtXWo<0A1#Ow2{wc0jG{`#z#D>ui3|6V{-Jw4$ z_WN7W1(kNF_+N9>ZXfkgs#nfpPe!Wrh~=A~r#2hc8FI8+m4Pwyfg`+5=cMrdkpJO) z(EPoE&A3Mfx4P52uR#}ZJsIS$!cYvyCDdv(K3PnaYd)5EV<{*hlkX6VV%2g!^~3iQ zpMQ>Gsa9o$zN;=7-4^5Pmo@N6*M=s48G75I=`2Q!DJqG&voI@|Il?AU44kMoh8njH zPP|sI-<`K^m+93M_wQApCrZd29fjON80>Apr<~);&Z-u}VPq@zOsj6YjtkV+5C#W;yXN3{Ff+f4*rqK{8qH5B!IOOj}7YxSHk{=dkF20|TKK0D`omXMixL{pwhq{ z+4Us!i#mZI1KV_vRbS7XPuy`PC+Uwn6aQBGGcw#&HJEnOGerYMkKf?#YP}0-C|?!g zRwe&%ANe5q;C}LEuBi>3(W?R zi1ziTARpTf``(M7Uo8l8bNB=96prEm^$LVFuzo;@!M5miTpQ>tGiDkF0+|~i2Jm)B zzXLx8)gc}J?k}Ni!EF%AzX+0n~o>#$@G{L+wwpYv2 zS`r2ms=Dg-9CKQ7=0JytATjvYyJ-Bk{g3uSCnsiL_}C7OTLq(F2iAsO2XI8VE`-{( z_HnT>D{V$YJWkcthD4(79P0b`)6m!=^&y#7n4eT+NG>Yr)XWYqj&3HCHc$9_(HqbZ zQS|eI_cxJ5F}mZm_O7d*V;bGH7PrM-ox8pEx2s-!5n3B?{C5v|6O2s^8g2j_zGPk4 zGpw)|0jK~RbV_G*u>_s(zvM7^SEFj$+XJ$Ecs^HYaFx!gW0C8{P(+ z3xho?PRJ;xuNf8AMb@Q0OF$?(Q-BNafKyoGLBnyi6=#kiI)G9WWJOwy@#8T%VB1>a zU)I#*oD8>6_SiM+)cM zp^acIYQgj6Bq+8-@C!Kl#32l(0GDckxMU170Ds{SfrG$A3p51$3T`yO6NP|PgvlhT zF}Vg~6lodLO5$^NNSM>8OpRp`s<^Bk3nMYL$sNx~&+In$z$fUmTDl4AXjY1zSHf-t>kQI zU_v&zrb{F*8Z1WtV7t41<>Xn28R`?m?p}h+Ci!L~bo83LLn7dq8*U_Y!=CMh2bn%G zbM*) zT=F2Ry?tPLK)CTr!K4Jlm-_XknKhfW1C|Z-$wL}hu4j{aNN;T#(j58Q4?he*o8!-4 zQui(_{CzVD%NmLsv2DzSlRWsv8(r;F=oz=By99;KO1F>se{y%GAydw9U*B*J_0F^H z?T`+_Z^$18#%{R7kl$d(}EYb4?Z|TCT|{sg6I1RXLkW2M<}?l zWn0gwSVhGifj&FU3!|3VIrjES4!th=DM(!jXd#3&C(Q~Q1zH$__o?34#ZAf33Zr>6=V(7~B z^w_`ccIJ0FD@yVT3%yiB>)3z)TQ{55Y^ZdNwYIi`yknrA@fMi_bHVZBnt1@q(pryO zR9A<}!5L~e=>?_$L>~S^gJ#c!hM%1}A4dd#SZcb;>V4arxHm1^z9sRGRmk$Rd>{31 z^x&53s9&Fdo-`hu_Fst}wTs6}f0^-5o$Am{YfB1jK0{Y*w{--4C`lOCi+e^-j3Dj_ zz)zefK2PgH6wQQ9{~I*{8|HAaROxdF1lU0Up}=_`NT0aeJi3JuQa{Ujfh;oBm{^%= z?^B?T-mj`$#ffRrTr^-V%xG}-6jOygJ!n_7EWko2#A9r==U4mSDI(W_Rw zuj04$9Ey*=rcyOsa&<%3*w{>YVoa|g2aQl2D8uVa%JKiTer&9MEE`mU5flOWsGDgX ztzjLT(cIyM4B45XW3IylP$fw>K9jR<0PIRUK585=jGkQAhMD$x^2XmQ5z z#8N>-XmL+oEVHFh?Uf%|tBZ7xw?MG`t~0Ku>9b8P|1I7mIMiq$n9oI@ zT%;yc-Y{Fdq(dwx&Qf7_CFUAS3tR;1!4K@mqXAcLr~NqI(XwiRK#2me(n>r>k6F)( zB47mq#&-#0K+8e#@eFXNm#)_LN)!cYJqq*(6k|+PilIF8rdHi zBfoWM^Wari4Q?JfkQ1{>$sv^oF(Dyn|N9!~kD9L11^}E*X8=IRG}-}gx-?`M=gNE5 zyet$ELZN&x&f^+T2r@E;V~1js8!c6BgSE9e2IR<1=ru&vSJ%4%|b?(Z025-N8&{~>EJ=?t>4j|jIZLIRl_k$-+4E}Tz^x=y@ z*B^)4EXKW+Tn;`lXRY*CpaUb`GI3hz@&Xr1dmT6$F90XG3iC*eI5(*e&K^8`cQ*=ZFgby#`e5 z^Z7oSh6lzy5%AR0v_0ZXlbhb}v}SzEEKg5ITOh#|*jPpnP-+#M7l>B5fnS4q1Ghn? zO8b!5km4HE5`RK5p($C`OkQG6MR$9QD}K?J*D;}X=eUdFM~zSc~>=dAfrmXm+BjQWfnWSUIigoR21B21~j*c`$t68PgcAni)>k~+GH>6EU z%qC;_-=(mVjSP$WyjdITs-+b8_@JMU<_s6^&l*VTwhosKb#{uJY|C{I?5=gCp{KRF z(X%K-G%)2qoxA_YI5OmjS&<=P9rcmjsvJU%aF!9~2FI8ChO%%5_mUog9|cOidI%HF zc>qGP&=r#SF3EJvC7<(X*scQXJ z^`psT8!OoH(`*?rhT{4|>lRS(Et-}rgTi8LgqyS1kjYa%u<4Hz%>DU@nD)O|-@xGN8=sKPm z@=%bcxNL^B?_INa08ls#R^c8EHGJbD1^fqx8`Y{HsiQ7-ZIq!;<2LssJ<+b+H{;wo zFZiXjw!oG^gi)RbE;{@XiGoj4A0Qp|s6>92Al>Wh{e|dLi>18~v4;Fj_Cn#PbHY-l z>oa8=dXuZ6=ac#%R^MOVO9(5duZ-Gqupitza2C#22!kH)z;2s0qsFqta@LDzIPQnCH&?B}_0ADf^+?US4y`zeR2J#TZ?l2`!2D*9`JEg*W$45%&u0u+TMHbUE7PgR=xLP_1+~* zuGq#DV=$)o7CM*~Ak>%yNJs-7frL&VkYEBK;U%Oz62Lor=gvy9$$S6bH}-7b)!cJW zuU&Kch{9Ai*O@X}(7CJg*>3b3cYIIdANRi;vDw4adk&A=9=JAXr1KWBjru)^adiTX zj{?pBtvaB>`BW+}rU9UB7N&p=4Ii@l!D9l%o$CS{$EE-l%ns~x+R93#BZ)NW=i~2! zJcNi7Ip!-JtB1^BO|(evb}5oYeqZk#Pb;WNo@rQt`GnSOGcui$#g^-&1fyA0Ea)*N zMl{)fkKGa-jvX5-AHB_6``u5Kq0We{{?D>Be;b>vR8xmMh}(a)>wyM=+~b#kY0L0L zZ#uWvIf{NKb;~-dQQ?~E;P&hXv#T24ag7A5I)+%&;IQvfdt$SyG^$Np)8BhlXgYSJ za_5?}F;JCo%;kV7ux;dX}H!^{_ZVRjdF4Cg9@2oJJm& z<GlNRN>geeBUL73o%uv5Y7IO5G@}BTW4LO7PSw39f!vODQ z@JR*1L!AI>E61@ZU{^GE&Vd;-;4PDy=4H8kkfBYn50?+>u542cAfKT=o597zZ@>Mc zO0{*`V@StVjf?rjYV*@?z4cAr^)t6o|6W5)>+h`1tY0v^XV0(;b=zW3cJ+e~>kkdy zmG-aKm9l4JHtK#Ck*xChs;Hm4;pp(f0oTn09qS(O`Cxkud(-f>e~YIfkcl+GY*-P% zhBupSg+*laG?!JAHngHORK>xiV* zGL36mXR0olG7#JAt81!y4BX;cgVQMv+U>fs+j_h`k2JE*KjbdEqJ+P{-?BXV8oH~1 zI##t%i0Xa&N77Y(>XX7x3hF#MS!WxW2G30c`fWHcJo49l*|W!zZHe72>4DB}7JH0a z6jp|YZGD#Mv|>2ir)+Y{GUj1(sLz9-w17I<*X`G$JAFRtYmLJf0r2APP^;yHe(fG^Fv^(1Nx#0 zQ*1`As7NoX^S)UjTphiyNSy)(huL4CVKdo`eV(wPT--4d3e0%#eMjTsBeCwqAvZ*c zifyu|{PQ*Go}K=g$o{sn<`w^O#GgT8$ZXmVQTOMprm^m?md~4-493QFNqIhx735e8 z3wX?yu&U0DVac z@zi_4m%;(M`l|{J?>=l+@C&Jpa#=CzlY5dfBbMUasP%$?$m#*#-21 z$u;^UV*aEw`)OU8GY8tLQiE>LIm-Hy{Wsp&pX{?FoY~iiD@zx8dZ^{ROjOF_;{@U0(N`-aMr;W#Y41w6{>c z@3y8APB+(RYuKxjG)n9Hn61~u8qBS7tEykfYu9ypgtB&UAx}uet?uJJD^swq;w;yWT*5$Co>RCyPPH{2A@%Q2=L4Kxd-1)2RjY z1CSUrdxl%AS#BowDIj-@#tn=gHUKdA1)7IgS$l;SB=-%#0pzUGAkWmira&K^yAs);al znWMBc3L4(_?0)o;(KS|&(2|2XS*a^CzH`<#mx)!DPiXjyi+$HvHNl{UdLwEPbB4u! zsa`O^liI?KjXI?q8pI=5^SzK8(T#iR(iYI^CJ^{_;o7mka05f)xb+J##0{B5D@>po ziNX#C++p&^CB6`!kb#32=!KL8FUeGOt94^_RlTE<^R6TUVna8fs;cO&DPs+D{ql85 zi{44F=ggW?5C>~&Tf5HoX`y`8zzlbkwkP&YM~ugH#|m*Upd3?jBGN5{;aYe=O{sOqgVztnGEkeVg4 zlf1%-9R156?)p0Dg*CA9Ay|8kT9*eS^6@=}H9L+~*U|<4){*l;0i62S9 z=|N|`z@Bf(YXn~c0|eXWTrH9{A zG@zQ{a?!JtRDn)VY`vZU6N$~{vq?twR*h#|s4EYTs?f73pPu@pEm=2qe2+F3OL`Lr z7uQ0Ts$qt=zs*#2<)fpCfhhDgx5m1~wW;f?6nb^Pv(+E8U-I3w-%=@05K9Nv!2S86 zAu!YQ^?LTdLb2dn;NU?T{~v|i+aAFDD(FJlm$yIfEC3b&gavyJM2Xd0*k3^CSX_>G z90KRL=U89HragWJe1~pvb_x~}Tp@HSy#`1Ht6fa^#f^^w(7*Ll8>%;C5dj?$kD9u4 z7smNYnS?Lo)vKmtbrL}w&9A(GW$XiU(9DPxl$n%Q&Y~}=+V~1w) z9wa|GK_sc*a=|FX{-w(3adbyK{%lfUO?bdKAY%zsx#Ea)X(~0%0v@RAq*Pl_-yDg+ z9*BSkJx%)%a~dm-51uBmf#jkXqX6@OzOZ{77mZ={d@GHWw(oJSG_C+djYiL+USAvC zpCxBC=?Y-h36EY)>7uBU`tI1}mxF6%7R>cugp)x7y8s(Ry%r8nPPdV?~o5*Mye-3SU`(EWs1^iAH^!ik~t&f3=Q zakzhMvRe#VhxH~MjW+8!hWn1;o5>90{u4w^^e2q!TtgM59eKNm7XDv{T zKX-Hx>ZKTBt(&iEk2sjn1w<^BYEY_l#Ae)PplZ&e{$=^y!K(pJU_J{Sqv+i5=p;aU z#C8R)j?JUJ$$$fNUIB2t)9?e^ZWw~JrVVO=4WkO+3NC|%7!g(v0MhUSaJxYa3V;uJ zd!f8{Vt~chQ}3wdLn?V)s#i5#i0rl$e}oj>4$~0&vOlyfSgl_$*@%&*&*RL z)f|pwzOdP9tZz*qE0arI=yakT%z{$t4w6`^&JLiT28`p~e?KINK;~#f#V(p3YY#b! zKKtx5F+1i9rKm6MeydH*OMH{(4i$OypTlwPWtU-^$2QfY8!@~8D|-P8#asx6R+ee! z$!0^x90UMFz`P&~oNM@nLUzN9QBqMfW<@U}6IgiW-~H~%!5wycPb3r`pIeNiZ371H z-r?s?oH$N}Ao%i6#3hp#^g!mqf5kMj^?yEe^2E$c>2&hhw~G7~$x7SZciSox$zbfQ zXOq+Dx>#%svhQH;B%t#@MfTHmTxN*l<+3ku_cuD92yYV3RKdH!f}PlsZBJy{*)XKe1GosfsizgL_eDO@@~Zgx&UY zL#*&7yQZy338~E4Aru!+K{pyAk$paQQm#d!d7e4~g$zfCyKSR>v!ko?u(O*dl2`)e>*@l^+UfGaGU}N>d}L|z`GB7Zpnmliv@VM) zxaQ-i?Q}8jBy(ufxj_tAeFs?1gjF^ME3D z^PEv!85%bbRmR@N$mFtZ!Fg_9@%c>;A=`xee1Bj@yi9C{_9o~!=H-fY?!(k~`@Vn2Q+IpmrO zRSkGhV`WjO#gou!{O%fGeatCOaD`!CxLjYQcBa*p0qSwj0BQlh#U2kF7;i=3<9ZBq z-6F`i!M*G9=vo0f9T0eRE-Z%;6V9!`Gr$Y9+nn+TCGVgoo`PU3j*ACyJ4o`eYgwGj z!WH(6ti-I5-F)78i_|Zt&p!LQ$qRYReP1a!+Y9xGmA%gHpVqn3CF^GNqe6mtt$;-P z_Y+6#ZYr;?lG9sgF`-M7gRZ~--8GoZen6a4EFCYFE0rDfXU=CQ(7V3qQWxYu{@KS> zR0ybYKwBp5N4kOb$6zm4$+xQ^z!?jC2qP%2%_f06Z_2OJ>{uLH!Y43fymUZwivk5z zo*9)X92_=mCnjg8IdrWo#AYTB96B_7!3Af=nECOe`}Pg*-FxokECw_PP0TK1OUhTY zukpn0lT+mOlb70Tq#(PSI6{5mSG0ON8yh>ltxjFLrz;%p@?7K4(>XKPpY$NuT-ZmR z+2W(8!x&#Py#hLqH;1RW>&-2J79;eP!*jULX{1oTtz%L&FA9OpcF&9VMq{wgSb)YWODfjjOWOtezVW|RQOjxAKWePDZRO1L%qkuQb zO*xEJaZI@oXv;;7@dlz|m3K_-swiKS5nmS+%IYgTatnxj>Rhysm?yl77QOpkg5(*v z95#cU{XGgRq1tqoo9YOs7GsVxeAXdbsG+0|wGCYj2U$9^2l4^mDk`3wK)mtnRCDqE z-DO`rQR(g8uIlTO&v&~e4b)fXL}CM|qpE7Sf@+LHJ&Y+D(U!?uts&Guq}7&cwcE77 zgE3#apL_*$j6&c_xChZF?uK{DQ~-Y(9yf!v3=oERb(k^1gWOWV9S8sES7})aawQ5A zCEyDV?2W>BfWyzY_5ko0czBM>VNDEv5;d74iwaGB)v}Q|W{||C)8^Q4wM)@nUf$ir zt}-po)d&LeaYc|{Qx_?d*OYZ=p@rrVPR&@UHr_7I*A-rJfwH5V%I8(^nXLkDwUC4A z`9{tp&m2~X+9<%039{^dh}Cof6#JoCY%*^SUIY**SV0!pRTykJ-Hk>NTCa%3PkT(Wds;Mu z7^4Lrj1U0dJ=|iA1mB+86r8vQ0EH8VLSx}b-qg3($J$n@R4YAv3CeVvuUa0O)?dG_ zwFNS!tCr6@qCBTp=C?#$)!SUJ=Y3PaTM!pOYWd}H1qzLv?=_s*d6`%&)Axl^+e@}* zcbEesI(7A#b*L<=ogKZ%y0YyhiE*DrpGxRc_C}q&ppetUQgXC70`=IMeaw>hu@VNAyBL7s&$%-q?_x|lmt_P zV!pB0;4BXTYC@%e1mx`VG{3`eJk@6~1Knafz_0Kvh|=>^Xw?Ec)N=A^L;8ZDkqgRT zJp&%YT~2GJshJ**2%I4oxZj}gB87WKFRu)b>+a=gn&wiLY|H%vEtzMJ|& zY;7%G%~-s;>5C@Lot{2-;-cK~*K^_cY<8P{t>eDnvRmU@3x7J?FRorGT&)xAtbtgR z81jPNpki)yQlM@|n?ad8i<0Jb*UEMFuLUQKPCpXOY z)N(G~CzmX+(e0C!lXp*2mvJH}vM_xGIagghklEHLfHb0+Ofk){-G8VVe zeSv}FzMZ)xgM@=zF1)|kO>io>fJHvW4+!N04xn;XU|wyih%K5s&(-UCB6@Gje4X9m z>eXrv^--o?^p<(JF5a;N{JnenlC|UZ?@)K5hi^yd>A(GrjEwC7Mfwe2aJJ!J`!4es zOUm8)qes==vbfv&I@EQ)5NI+?`sd2tdb@N2WP81T!vE=~{t2Y>!(QSXwd0V7z=1U- zU@x1YLnLIupV~_pq7Hl(H!Q&6Z@eye3YM?~h&}fz6k5_H$M6OTC!OLPW#lS!v9BH1 z^kW7No!Ee{z+>F!0#Ci9sRMKZ46)oZWK`S7l#`-Y+N)DkCHjCS8HE~5r@2w1xkRvxRIWWA@#}M!ZLWzJu6&JdM#B0Bt~`BHY5i ztwdLhTQY2ND*$%@iNZLN53eDMO*1LcWESdBw=q!PTuuEmX0r|T3^^Q5FfRrJ2*$UL z`<$E$4r=Fmsca8@P+#gZ>Sk{jl-M>ylJ#q5+tBR@T+hx-Y9&63a5fbj)D@#>cAO$n z_VRl!s4FVpcg0auDGp4V1sA%Di-+JJ^+(H?Kiai`X$AYA?%U9V%YjE?nSStetb*$W z6BJx~xR?W9ef;z%7)h|_1&eT+PI3(!S)dMp3rYc>XUVaG1gZh}Y8))PgMlTN1V7I; zf(PILT4J;XGTUhX9!DvYZ&IVIOwTJH5Xkt<0S4cYAF1#&`w6~@o#8u#Ntl6Hr7f$U zp=xH5pl}zKM_J8B!n?P*!3qiwFEg)Uvcrkn#n}ZgTYO z2+znp)#Zb~(MZK|aQtIkN(KD+Wzb1+^lTZt-seI`({Gnx;3n9>qX1rTd+Hv86Tbkj zupY9$m(qvH!1}dm0=Lt4EkhhZlO!$0h~9CSUVFXKXNB-aEI*0b><6F zE|$VzbF4%orPa&nCloa!(OQ8q`-R>)X*8BaCT+xWJX3DbjVY)%^!DLGe$1)kJ6va- zfl6A>h(iObTk`i8M>ykb5~+0U?Ap@uK35gE%0@^w&&EN_cEl65atn!q`T}lYT+8ZZ za%4TuSczL^FWzr0^|i*rd=5)4(d!j#v#TLosuC+xlj%~imAGy<7Buh1y%Tl+ebK+e zOjkm~H$tMGP$+bJtz1ur&7gj5J1X-xKEz;J9X z(i~yas>SsdSlI>Sq$vZ3Yp{)g(|+KasM73M)#^(k;GZ#k?|U;dtL4L%Jr#RaW@f(o z-HR_iqA6L7?|DI7a2v}0g~vg4M>S2gQOwDB^OK_BZ zFYUZgDA;!5N!_K?*N`A5$hWb@Da)O8jUVip182>Nq;0O_#F^P&)<^rip#h#x(7dg> z%T(@Yb2YnK0&ujzgSNlI%~gSDsY-TEJTT&ddU@KOd4PNZd^2H?sX2dD9)iJa8*LoG zj}Bx8Z7e{fLJW4ZaEo3Y1_sUeAn<5|uOg8^5y#R3dfwBDz%4a z^y-TAk_laZ!wrPC?}ckKtv10Zha_Zv-}qs3O0IxnIjxi1l$h*N#cbiSM09_tq-rGP zF`O7F4tXnM3Gea|Nmc3DJG1lX*Fp1G)8Eg@J{^m-Mj^2=AM$P=gI;D>Zz|u=6(Kr% zI?m%MGPtlBTfTVpfb^JooI(J+|1^{U7<8crup$`#2G70~sqkwR^JZ09y5019LY_Sb zvNQi_Etcpaygrt&LDInzH;wedF-P4gEsQHwjzUjim&)E#U1KPZ2M|$3A7pa1IvYgq zrR@89Upn*T@5jlW$>*&}S@f)gL>a7*$;$_e`(k}%ZOCsH)o64M>Jh^=9@WqldZM?= zT$T1bQv71%&mrhiYf7oz3I13BhQUqZCX|4+}0VWO5peX|U zmH?)B9HkBJ8JVdvG;bt=mcANq{|?`*cYi~1<&fpdyl-B4<+I)Fg0q%OeoF6J_T7c7ED{Z&h7zUhmd*(!rqzF=#K|L}+L zLF1$^u`t+R#I{`12UilWqW2wJI{ac2Q{6Wm)9`zgf`p{5m2;2|u~DdA^C@FsG~ zz0*=vc@XM-TP}t=;DBukUepdwPnC zdpzClp6Su;Hq%-Di{;@WCDp~4VSp-9ad__RFBYgV)m z%&7Q}+$GE(P6gU%_CSLHt2`imX-__^a)Vm}xqy&`5723T06`LGH{d7>#I=JXNgvlY^zgrKjOL&$1YU+7sLGZ@A)G2F=u7+r!c7Ul^ zRW(vMT2=K$lS~n=zPF~#GY^?ui`%lr=r;-9Qp>;hQ1`bUf4;IZzo5H-$!ytku_YG$ zvD|Nx+7(O#vzHXsUaILfO$5LBMk9L-yAo?_soSDzO%0xg78+NT7GS=Bdq5nASZf3@ zV;CZI(|Pm2JL8J242_&*z$ygI0D(1t%%dd=_VU2;F|U9-a*HoQb~um*-NxhpWFy$Q z4Ir{$%^Cfi(Z>o5cURPPDiT_e&L9-Ab#AeQXVOS{ynvtzaU=z6ayBBeA0~@sel5RE zJ>e`nY7a~s)REwthWL#7bWmK?ZW|~NkL%k(gPR+Jc#WL(1kTwSis~= zv-muF9Srs@7zYcb4=_zCC^1aRx9baHFj4ZpFpp3jUCZu7KMq-T)F95%$$t+f&{OJ? zT^B)QGoyDWhBJfJLp3Oq`9t;XH2^AF_TC3G*m2FO0W69}sBFZT^(`8ME*d~j*qxlC zB`jS@fYL^U9b^&C_SsbDn3$A6Oyl5*NwgW*+X{<#b81w=T-TB2L*1qfx!a>9x9(Oh)zR2>l3s1zVvionbQ&^hv1 z;ClsXvRfupn$p0Op16uK4b66TPM#be8QDIv<0O4FK+)9}ZX; zHglbqWD#U7$>CdTYYlR9u^lmr>i+Bzkt_*hI_2Vj4?!*{ma7WdFO{p(YWvUq$96YJ zSDKf^fZIY;5L@XWJZY-JTMQ9FcwqxBz@M?D4h9w0GdBb=ejjvB6ty^~l!kP0-hd{f zFy|sxTT^p}NQA5+k3QO1+7x!zrR#kZaEhB`6MX%bXBQV2qdAT2&g>ZvD>c>E{Y5d) zmb`u2?^TAPtISd|eP{xk;7-q2%aiNzcZ zbqPaJQDcJoXWBb35cit;{c@$Z-&Y~8E~Dev4?)i?Y&acsthnJtUvvZr$%n$gg@3C=^o{DTP}!)W4Q0b{~%=QI-J zHM++X%BsYKp4fJY*&#Mc#A0!5I6QFixkJ3d88+v#J=Cj}E$p^>uR$nesa@(qk;Nbu z^D8C&vNBo3#_w>YPuz|V>U@Poa#5&}V}6ULW;HT3+=J}=Mkb3aKfE`)f*y98$NCWG zVD^)bV#)lzeB{`Td$E6xT2knIS3qbtQ+p?0QX4s9?hISRv(!UdRrVN5uevs2iJWie zG+OM_Q+I_gk1STl)jNMJNnQ1)_>oYd_o@WSo83oV3n9fkI^Of}hAnT+^8&ZdO<01G zs?#MoK#d+<18fV814fZh$}z@VWzorjZZx@{NCxM@YZ4=>nx|cR&i{0!Xxz z06vkcUqA`7XF>rA+lu~$Zq|9Ieulr)qA)jpgap}35b@h;KkAVMxwpFtO3#r5&-0ZW zRHE-wUzv?{euMXG^a51@DQRT{Lr~5s>@=2SKU4*T-NLXM9bk+>-jhD+_sV7dcw|bV zD^zO=wQ@v8pk2!tdduk>ul;(*A+nXB;I(n=PJg+jqQX*MQ=_k!@iJTkgl^k)&`k3E zlXhpK)MlyBR%t4}k&cQ5;nHpUjonU*XV|{mDN6D!Rv!E*(iz${%7?z4h~)CIJQRT4 zj&qNiAp4>hxY00}-L9PofAIM8(Jwg1qfA@C88 zVpu~V{%Mkse2zj(e0^d;VJQV=VOeeSwCl7su1>wA2`SA%;=KOr+Z zk$v$7MWOh;-#!lqb-de~dA&^PtEDcvF?V=7JSZqKH&KtHS3Tjywy*Zf7N)2he7nT=!c z-s7b0=G&pp0M{;m%X4-nHd6KBe zWS)}SibG>I;-9~IrK)caJMoKX@S-|J! zHBnnn^gqcZQ|D|0C%_wy=y=1QF3R3CbwPJ&cYdbaF{~L-G}xvHz6#QVRjjs&&dI)? z{`6xsH!@yBeZOzAbE0iF`zFvDwxz!VaWKr&4I6WM=Dy9tU_~I*@G^3X$jNn}#0}Mv z#tN_?WHd!#P~cK06V3O5iDML@K><*~DFSf-6fT6`(jvhEi=&t!FsnBP<8zw1%NO=6 z-gn>Po&|!z;qxO7TiVK**b_XjTO)sS~*q>$a1L3zs1?{H1{RV8`bx*Y%de(d%|Qo!RfFoJC%D zSdef|TKvftt=`$JGnKC-%Hxf#&7JiheyH>63#BFfzD&rVlt>CfGIZ01cKJeBZT0{S z;kv;`0DkVg+$^X{IvX~c?+)*m;4A;TOicb?ADBpW1xQ3etaH(L^HC`_O= zfam}_47Cf?2~V>mHh<;(<#XBJ_Y`oBko;-I`@j1c9DmE6rE$(`Z!lfE+S3k7q>`FlhDQL(nNQ6;!>qt!nR1tDy${eQd>DuwK5I0Z*TjJ z6P+KeQx99uvz~7|{KFWu#%qC$dbMhJdio7ypQUY$yC6m}3|w1EPkEZlTguy+w-5UO z5mue)M9M978MZp73P7Yar(|!oXHj6!44@G9xZ*GlM6ttiz!q9jfVZ|Z3L0+Ej50sp zflZLy_$MqK0kJUc;U59lEIh;d1`449J{w#OjO>AYePGt4kEEc`18`b4+}*D0$!V>*<{iiETqsZQMJ^q@7a+ZhO}z`p5D(7WE~cyG`8N`OL+aHKKZT~fB{ z8!MfY%?pjxy3uA=lZmqzaJM37(PYD?7oPkdb61zS*-~dMXLV={Vz-tTA83{5D~^R) z?d`QoMFHv%Iy2a6t+O^0_TGV^!IV`$-~nv@^W#+{?b>F=DsVVhd_K zf;9D`PWu6Kx!Nksw{jcvt?Wn>@1cpEJAr}8+H}x1R?L%?vsDFRg~A>1DLD$EgsXL= zwVcvNO8F+}PtL1@yeQA4cU;!4wsmtOwW1Vdylme@(*QHePNqiF0~9djNFd)9jY1; ztyck7{EXxf3^c(IyDOPY#2CvLdKy`1ij?!l3V6O=K_PgpTQ2bNE7aA8m3~H-*}7jr zKnznlC0C5aTD7CaKW_l;3y~}te7j;XM06(7bb9XK>6Dm@J?-trddr zBIg0dn?OSrZZKPrz;-$S^Kn$%1osF`&s>5%ZezSt63J0{$wM~-Dm zsHdVW#~ziN`ICG-;-unB`t1h8z56eXI-N1blWT#%y?#GB2qp6@V!hjH73+nnj*;rg zhK7a*t4BII$d1ZY$Bf{mUmG1Ji^=)x|Kijcva9F~g`W`YtNq)mYNE0J;NwoG+fIG| z*S~HkBf(sK8||b1xWFFBw@IPJ!0IJ`1Um;GSdWuKO!YO$y^hnnVD7xX|&sJ=9^m5FyUiUw{g-5%x*FOF^T2Y%MHrEi(Y_4@x+cWO!-%8xn zm!E4)C-1ipST#{kk$u#vlBq4Sdt6u9uX0m&=*uN)vl;8q411uxsma~grBzIbxLB#? z@fhKlq*xMy*>Y?`z!kHKO6j;54|4Oq2Q{?VSF+i2G_|!u1GER~G>ZoM;9v%W?dCY$ z=ZYx-a|JLNGVp9sJQxSh|C7;g0npfcRZ&>uW?E;k0oPU%TJ1&BoIIslNVW0@<8I zPm8FaF&`0sX=c<{3Y$s9Y-sq~D;BH8GG}2}O5Ge|fs2J%GT^Zo;Pqo#Zegzyo*4=L zxziOSXfa1O^u&yK>pWdH!LqTm+IkOv?myngX+{z(|FG8^fC}swpbRQI=q3i8Zd&dP z`1=gRCBxZshLcvS$z-vVTP$X?&6dnPH=8R>CZo}8j?ZToiL1of=0{lE4now;5V64g zX#A&W2bV*}&gh2vffwE7=hl6GriI!LqoICauQrw&YP?=>{~N3AXqLLpR&(l=8rzdi z)ZLw(TH6B;@WT&!D=KtW3>OjI>*V{i?@2&U58A}0TnF1+pEMlb|CS#PDqTQl!VC=O z{a{9iRc;bqgASf1j41f^t^1Al!yET3*_J^~0}v&wMbm0k*te+JPq?#hesbjF3oaNs za%AX&7pRv|1cpUFj}qC>JgZ(W68P4AcN3~gZkTDMx$|D4+pgd#hlO*W7?8CwwX7Me@A+IBV8_67r+ABD~~{rqXCcx za(as9zPv+u7XX%E)!MEAOTz>*cgu7|Ks4An3qg!rqk20ime>km0T;uZ3se{QFb-~F z9S7JS&Ch7=RYVI6x^@H0Wc&y4?*o7~PVC#oxW>Xbgk?Dn8zSO-F?$***axZ01X}Yp znZ+OIk&*fjx)rtq?CYIwsa7da7@*gjuQ29OOGE_)1)lDU8R)#O`=H~2%ApbI_->(A zUFcWy9PLqKKTpskX19w3MRmAs+eL9We$_AFx+D>)9I@hY;%{-KjM=0czJKo|fy*$A}fc-F6A4HQP{H!Omf58|fWF|HCm;_M*DYxw z)-;>9lD7l$c+Sc@oOj{3X;#7_V>w6y+%Wv|q5#be2?Ap%qBO*TQ0YCOKM77ToKi`L znXxbjL9*eDA!*~8q#cEE3mBboMO+~RwaeiE=7^of^v2S=g$uh-%DwW$7PUK>%FLDjwInJh{dLv19^6AMh|nGFId+oXQOqIeNEt0U7p zm!L@Dt)k$3(^tExQUV=eYj{IKfvwHcOznck;4Yg(NWuhCsoy&x7jAP$n&d{*=TY*E za_Sz1p-E{M4JkD{Wnuz8B$5-0zCLP-XlV6}drdBvio^0aiPlbuH0JS}ol^OmCYe@! z52WhDuHZQ!??4V=37r+*2{yo)dFRl(b4lJ+utNZCT#^r>2G=FyicNqrmfP@P(`5;S zvNb~!-oP7`v#L(TKOm!%Ws1uou@zb_=ZJ@9zBJPXih$q5uhOdX1}Bb%2YZTY#`}MX?qyP!IY(J&*|^%E(Uxc{)83j6D^p5(LMA`B$fUyfp&`-0kut=L z?QP{Zu165-!XBH^GNI6yhDS_Dl@FOS?Ba`c(!#%}jxKQwwQFk~dktngHEUIti@tMa z!G+M1b#0BGuPpqIXP^5m_kOpU%Z;`YN}jA#^9;lAL}`+*vzJ>k2Za{xyM zv6AKsn$s$;NK`K@zdIJYJ5G?Qvt6f-bq12FfTr9KpTaZKPW7|G9WXm!-+-nhxhg=~ zy4_+zz{%+?!^%O9EzukwtF*KlaN0eIC%?f)U^^x!664m~j&JUFZhtp9Aby5%1WQP4 zk^_e1Z*(tMa;uQ=-0`M2&rRoYT@ z33}xha)wUO7P47g$0R5cx9EwBS^dr$drH(#n*Snty=A*af0w zw-qWB7c6WSa~t!`7xPc{x7G1QQC>z=Zjq}~F>Z-SoE8JCE0U$;PA;jIq}fYi+f-hpPe;8KmXbzf+npH1N+SO~vJU zon9YJsCFV|_2IoG3(El}f`(ytWPe5Qvi~5~sBfeOu}mg5Y7yhfgV7>UK1nha;n0VI z$+HI{^UmtN8a87Y-L*8cJhA*UwFnO@6RUQ?^^rj5KLG!oh1LroZIsS=gk6u~a|0{r z5oD)b`)Q-Ma~n)gqsV!?V^QMok5axz45Y!b@B<+h%PDBSX#QfTigbcK+2`1o91qspTB7iO|526^m{!*Mt(j+7LB3x@a}8Q ztSPS;**@J2&DFnWmg8af62068wzw2(=wBiwkTs60ikbk@IK?xUShqDx07p;2?F`qt zF`@`}8^;_8-pGyGfaE(|%7I$}Vh@+S~3%4 zB$VVqx+2b=JVjWTvcNaWvODD9Z^@OtV#XWUWVom9S^wuw<{Yl{51zJ>k$B93ZY}Py z9Yyax3v=()&Jt(FpD^CoB4{H}b(h|ymwJO93mG2mcDAoY3jF{c44!4Xlbjhm*Yy_Rsm5OX$r!^%6_ zqyvhgiQatHHf}ItGsK&VhP>O#G~N>1h_1x0aF~&2iDE8$g9-+dNh;zAwA^&%vtwly z<7=aMQqdDGD}tfVCU?F#2vPf-&UX*!eAN(XtK5j%FXJv9HriE!F<=v;X=DJ@$8rqx zF)#&k&;@Y=Y0==hhWD_Vm*ao%92b7)_$F=h(^PXh^?-(vCP2f3?_d`IYVkWHLy8Jc zp+n+vwnyxxXLm4y{2q36ERx?zMg+AhMaZ#j@7`_e1LvPVu#UQ$ihlXQ2SXox@NQ{y zb1C}9^JQ)AP<8d4_~z=+qxv5WY)~Y0T zc@)J9NE8~zy^w}Op+62+4#$Vr*5IacxMF0a0*+fM;lQvWpdbG0bWdp!^jf87&BB^P z8{sa%GhB6vZA$#l_}_CTI|BRJ@2`3xAHOnY464vP*z@zeh@&f}Cr zi#7#$qd-4GT}Qnhd+Ex#p0Zf;lZ&I*hxR>Q&Dee{Rq8wY5Bq<5u&HBC&40I+I#>Az z^fZ$@anUD3`;xV3Z`3}q@8)21&DvhHq6-|X>+IN7;Wap=&$Oz688YCyo`LHsgI?u& z=)s2Pb>aS$mYHq%Y*)ClBAeR(kn#G5RS5 zC;A~@nEfaeA~Yi2vaKzI|9)+0<6NxU_2R%U2B0<+;L;5~#mh-E)bP6@YMBR9gg0Wp z0DoXpK;i%y88}%s9zgsS7#e`e0eTXC1d35NSzO$dPRgVXoy!uFIc&l3Vw~@@g~Cf; z8rx2)y?iJ7g}M2wpoOm@%~@+#jbJ_>nj%=-O|q)R#WwRh@5w!f=DRFk63?{!3GJbJ zi*|-qOkKZ&p%i^XyImQ;5e>|ueF^MrNuCd`o7N}*HBQ^J%_4K!CIVAAM>244A|APG zr~l)-``)<8fA|O0;_b&mm9fg-t*vDT);^@(-Tv6xqwCafh-W&i3w4)Q&-msnt^P?% zFxzk+^`Zj_?tA(7`(Ao!-|qodM(7uSXMQT_o(CJvz{YzhlP=?gongz8B{7 zK1I4<_OTr*8F8c)TQ;=TjeA4kEui!9Vbvz+l8MVs!L1SWbWdm8=Xac9X|R>E0bAq z_gTKTE@N_!UR(6=#nj91NPM$KZ~Hsia=}{T+th=8l~sM_!G?iuBs@^EP=E6h!DKXy zHH}3C%N!=7q{1lJzC54UT`l8$d-^k(eh-!CM0eWlHroo!vb)-DC+zlGyA}8) z;Ak)Ku&YQnUMlCp3w zSyI_-kJ;p!gs%SHMyYMr$4$Zl4cVlx2~;~^Xc?uM9g9)F*=x`?-MfUIOqu`UG8dXl zn@D$7-CoONO@o%mXeOoumgtn#EKrh_x~8JCRLLY7d1Q3&l*b-B38Jbs5pxR_)Q_M< z3hN6+fXBy4Ty2D>U}CK+*P{Rn0#FaZ!%cS{kZkJ2cHFZFKgqEktU;dA;h_q8g9XXp zd!#&je1){FWIuw|x`N#KGK*=5hNYn*StdD6Dm#xZ8P`@+`-uzh5^J=4p<1ngPMn7} zd#lj>Retk4(o!FOH#1pBiK|^MA@s1x_a_s~aCMPnM(i@cM3gm+3_F|&zDNUZZr~T0ETxPMrVql|S!@}UE z2e%*n7@9YqIF5QNii?v{y<3$`233L7Qc|SR`O=H1=f_VywSo#(pL=c<1{@Voqd}FS za`BKi_1d&YZT$I?zYP7mh#E|l@kd$tNu_=ul=d7tUuTP?f1)a4MSPli&%?XOYb8y9>n0MJr`Rof3jYy(H5#Lw9Gr zk{}llgP{m`$7ZG{lHQ8?;E}GUkwnU)zP>C!P(q;hO8EARsNIqR^v0v!i3%qqQ!?^{ zk+u$HZH9V1VTGp43x&eYQg0n!^J^ua_|x~n?@oQExHx+~i=|+XC?o`^!ZL-@AX8~w zJ}FeSk%@S>*)ZrWX;Vns3!Ko*xZ0rog>)Dv8I zn8gG7U`{~$6XY!T7N~vnxQbkkhl7Rn9M~`58emzHyzI-{N!ePKLa$Q(+pG5iW{6MtGDlu#2Qs{7ndRWfrkk8I%)*Y2kfehiEQDYyLp%itw z)KFbA@Far#@r<4!RI0%=6!QewD(M|4DO78{TD_Y%@hWmsZ#`ByoymSx1==8(&dhM- z9H*D>XP2{dvZnR6WPmfuRVei>#^JU0l9KkR1^GwaFwuvLT`6$0%1G76B44fNT3Owg&GPD76>DIa~d+k>3Rh` zv@!0$;)fJwf3`*%@IE{b<96ut6Y5ukq*4D}){B86vzxCo$i<0RoLg2UkVy&(nVf<| z?`^DWx;%QhUZ=3sl~J!h#3N>e`A^(#QYvCbduN%wTiGif;B%%{Cg6Cax0hNFpI?P0 z;K6T7`P_0Lx~sRB_~S!gesyJ{Cz*Y`+l;1}K9fQBbS%WFhlf=(49g%q{bPo9d$%fw&K*nnx?ze+~jTOV31DBcQbb&^)do_FX?3$m1 zN<#lthrV!q;f~e4?jdTQd#SXxW`d7D>9AfhzvF5B+v3B=P{UGX*% zdp2MA3#TfbRua@M>UK2zicp?($%x0gfBJK3)Z4ph$S30eFb$qL8LdxrcQy$HD=V+5 zlx%Ft%gh=nr^9CqhX!3R3On9Bk`D9rl_UE*ypkd$UAQ9_a>ZZ(Qhr|Io1Z`~l?`mC zGP>RwXP4(X3(}dHI9PyL6{ZgeId8xWmMH^%bh>DOtYNzKJf;Y2JK#1$V2qh?5R7~T z`qGtGtNA=_D5>7bIcO^79=`)+m)6MLD~0{Z_t<}sX!Cize7%As$gJXARz7=5&OU>B z0(q&|b0?QNj%p_k9(=GoSsVb{i=l`H9_Fp_E@Chixi(g+<@i(WBKD>7CH1Xp2?NHn z3KfceWFL{rWU7>I#M-mJmpXvh+d5#)ddR@94d!Lr^SW0}x7yhCyw|*boJL2#fM_J~KQuF%G{1xQm@i z@C85+NQS`A0jD-Is5a}T@l;xo+gt3g3zF-t?ZZB1v@$K7ZkdZ-*y`I^;aO{i;StgT zwVtrUU|MOLzA+fN+LfM&q?l66)o2`{n?}nRJUilwxI!KxsI~%b$XQWVXyn~3urq6A z(STL8((r8HytJlxKeSgHex%%!d3qE*(f8^N#;afGe1D|J=MxJ(-fONqr+V=C>z5q% zS_R=u*FvnQ-#ip*606@p?w;|63 zYk0WL4{RiC58k#-EC-CB_xu#M*zj;{_E(2Nn1Bhe)%e21aU!&osJ$9mru@7`W7C<< zT9Z)-=)HzG3|mFQ>i1hSH3qA+W$59+nE&39>apt_R7tF1e#{Yz$mZF*Me`z}W%3$R zn`yx|VVX0@NjM5MI%SvEu;MS0LC?2*9R$@nwEWrPXGh1sUpiNITlI5mmn6U2@?&|F z`lS*25C&tgHXZnmULZ@scSPI3n>=&_1wqM((ezDcWP_4n%X#unE#y}HsHGAYUh3Kp^9xnZ>X#`@*X z2iA8?#tT_{7+%$WiRiu^)9E{%k%xLO=EFX9JAxK%zhJmmkV|3`>_l%cfs@J!o{9`scDKR?~ik=}}@JTavW2 z8rOEI&cjGA1@g^J%VFH`#^qrYnoAol?EGy-jok>`Y* zh$qP)WRRG^tK_F;#b!gNoTm~K@5b;6T+$D@kDI%Wr2zRP_2)Mish=#oN>MAboO4iQ zTHbawlAU}%(=u(JIUeS27tKpn3y}(yP(MM(w^MV_>h9X@D?8Za8mSR(=kfO==ALU( ztv{j8k_D)rxk4TkcT-P6${gm|M$k2{BAqmi;O>{HsH6iC|KEPkK~MMSr(Lm-ry zcvt|wOzfz?zS%dUu9tpEOh?Nj8HpinR8!j*E=En%i%{VbkaTjRrQ!}Q%8rhb&fBJw zC3ku}Sz}W*Z-T`nbY@~IOAwj)c`&RdsP8l;ktZq;B&pY;XnNxsRbbOT4l|o1^o&qD zWRHP&?zBkBmP|9>X?y+`E)uzxL_uNBS zlblu2nqYe&k?J|SyX1OmU-&?1xae>Kb*-Rp9O$pKn(B=@^#4dz>~6^dC+km=i|dZf(n4Qn`YEBk%J=pLKZB|7ZsOE&2LJsLdD#yAyZrz}oo?8B`bz zL7NLKP&{z4SVhs06;v^>4@R*xjk0m5g6?=5Me8h1ivVeyd=U`5G92K_Hfy9PBZ9P6VIm8iM12Q^Sa_Kf&YdUai+W|(7P)+sFX$pLZMm(dA?n;Hr-OckFRc4 zog-Z2JTe({daxEI6+s^gvu*s@{mapr(w6yQEn*FQ0wR zD`j`i)cf?4#NCaJT@yF2{WGEJVFLrRVbW*tpfg?{B}=IX`rKX4zaX(=>c0GquF4AE zqQQ}FE4$|&|8TiYfp!R?o1)p;hRSRc9?wABSrP@wrh**)`+vCm1e(HX$=|-aq4G@ zC3K^xML}({WMy6H3QE=>r&`MSz4Eg}GfZ^X$_g0_-d>Z8JngpURk>Owv;iYYqY)i& zQO8hQF#j>}nQV{c(PvBN?Xl%H+c~B`i>=fL^>zzNmwa#&mO%`VL2rWXm4%gHosxlb zz*JXYnL?-scAh4?bvG-fIN0}7S_S)06dOzipFqT7$IXcO?z_u>_ybbjaZxOB!7j&x zCB92DN7X6qjIvGKl2$kJwo5w&#HXJ?dQ%QLe*4?iPtbBAxllFV*Ee6a&}5nF%v6@! z`s^R44kf*Td!2_x{nTGW<|y(csV|1+=W*U6ef{dMA16bujox7)$>mZGRVC@sY*+P)A6`0maH)Bw&AigE+TOm}uwreQX(qNN&mIVQ?@3U< z)-zkP?!f@{S*I_9IB;G4 zq~7{(v(uBhEK)Ueu1T}Gq_;sAjZ2ng(*u@en^mu1G8hb{u~aQC4!KHY@C(U^bXXo; znx3!RME$kqq|18<6cGu$_yC-LJ)Au5@C8z2-J6Fw5Ql;#7TC>ocNH!5&j?n+j?)=z zG_`@+p}0~JB%5W7NYG0PRyA9eQf?y#)is4hSI+;itHyl_vQLEo}tB~N_@ zb8wJw?VqYf^=3(v;#K}IdzWyWMO<2$|9!TC!J6Y~ROl90rJ>L3j5!CAL$};AlpF|p zT={p1t1FlK`(uGSlD^2pCDbkl^=*^Y0s49xqO6yPcAs;OOjcHF zwG+FRC{tZ!@iI?uKI(XzI#`=zF&Ci>)HxPjL_g?;8ulMJ&T9YH(hq-l4ifFvkz80gZs7<^u^ z#2GTMf(=a*FaXeC@{@g;P|0ZeY)RD4P=Voni^YLTFeBjW{L;>ygDP38_^ zaj}raf_i(D_balRnX+cIU&Q$u1-RDSf7KY})O1YVsM@aT5j|hk(2|N|g}M5Uj`{3R zGH%cfRV5~y8v6DsXU8vI&P7|dAK8oemoT-f+)9sHpDI~6aNguD$9q=jz0!%) zvD+e%@e|+Mvin3xrrIRBc5?FCuwNvprg}V(FJ49Gw0#$9@oaS5`OMtcLLEA$CqP8N zJn)4@CjKfwWZLz)Zc9K?8jud16N|%|@D$tvILN;tKcRe`4)&AJY-xk3(vj zN`2WnH5Dha(R@x>p&C)uDNyXnzwO`uw=4g?fB)b6`eu51s9D}DXHGQ6M>+f}y0$;n z7a3e$9*p#*`YUjQ_=?8VwFzhN*4Rxj6zF`o_f}M_TB!%kP78|0YUzZ27ELoa-vP_i z9YyDX7ZDmqJJvmg1v+8jMxH<~^lw<(!P%d>pVAYs9Ux-CR|MMuPFmVQ3!lI=0y_LZ z>QF$cg1`Yna=>5Rps@`V4>|@*ba(^MDm(=|PaKSw`&07XzVPBqTaYPCxij7S{NS^b zwUqYn-8(U{xHvmMKRP;T(K8X@MO8@32?l*`p*mil)AK5&HL5$(zI4r%6+hNyd#dYX zB58h@QLCA1*Pwq9q*f%-+?C06nVYO0Yjv4i$eGx2Wkt9+TN1BuN;yfM zjW2bYYW*#0sV?1>tCWi+XqNwIo$J}$w@Mo$OszhXpx)pcs2{aiT&UYY{d=4%VvcB= zmBXAC2MJ}gTDmTtq-O-Z1z6AuJWgX`42r=S4pSMh1+>o45;@Jf_|z~MK6PFNDFBZ& zXi?Z=VD7W%pamQskf)1OfgA5Frj*Us8x&rvGye~7#i-lGC*Eh1(B^?t%=)*uGym~> zH{N)s*wEfyDv1XYt%fVm&wouAf1iBnDzyLMxkKz#IS{T7fDS|bDT*eX#mgSzU5(RBv>!eqf6`z}C3~)-B(fJ~rS!XQ)j~ zT)*}cH_6Y>V!fFL*?Npj76}SD1Te?;40F?gX&h%f7A*ESTml)`T$!!xQ+k{1cB<^K zL}Z}OHK@LGJ-YM8zii%2CfBH@TG2Kxi*z_=jEu9HU7X!k^lL~S%|8Kpj3_ceF5q#J z5Auh$!wHDf6!Nuz9pciB7$W#);x=#z!MU&h-;y|b0{xk-Vm5X=;x2WlEbL_{Z(}fn zi?jVxeKsz$N6O88Qm46Q7aBk30+LVtkUBir&SY=nG8oWP?AbNlU= zQIV)PE;-wRZiQBhdw>EFT-SZ%Jzz67W9$HW|8&zQxGL9rWD|4?3mBUg8^HUR+~6Bu zCKe=^&*3K=7d}Ri88-9^`hb)Qnfg>5hVkjbUK2}?zQtl2Q^`exC@MWMY*9PSTFY`x z#A8-SxQb2Mt@d7}DIJl|#qO-&Miy8y#U_i_YGIMHBe4s_6v3w<`fCL(6SJ&9t%TS8iFK@VreM*25FE$3%FWFfj(MV+Ps6Q z4fIsDEJGM+z#+%O@-%_?~ z>&cVf{`OX+&lk04#Vf^-v1TPM&wuZC_kfNETJeKl_YtxI{5AlVv1a=JiD;RHAlDBJ zht8xMvo0!$3}HiW-L!n`t^4*JI<$N_+>W95nFgjY6VJqDp+Jd^p+h$i43>9de0Zqe z!9wIP%;WyeZwu37eP&bOdB-(3G=2wifo}{)3fl-24FYL>Go64=X+?my6TxmO!5a;Pgdq)! zO;nVoI?CHB8d}dzaAXs98~=r+C++i=j^m#$rt55FHl;eEH|ZW+SfEb!zHRx8tY5yO zw#&eT0)A!Jb&Uw(IDA@4K%g97I!@F0>*}w5^$g{` zhX`)2YE0HC8cLJTKrUj}S6`78N0)A;BIq@AEKfAo36_NQ#NPZP1E15rkh?)1^ugZY zdPF#7Ood>|NI>8zFz>@(hW*3bgg@ZCOz#f#90FCrwM~(Xs>0#>%V?oFoo~5dA7bEE;w^siB6ORnztw8 zT55p|c+Q%vO>e3-K3vh-v?so*{Bmujyup(4D;lElCl?pbxw&C7{Oq&DZPTr_C6f~B zcGQhz^WKc7J(@~RG2kP~6ALS-{VD($pgDT?AZ!mYxb?6OI=~X99&2$@Ms(fBoQgiuCR_VkQ>|cyN0NQS#ren3 zSv|SV#{83L|I(vyeaxZ=_zw>NhA&*79cw)B9>QV6eO-^^!#x%L#%GJ$?BRG54DoyE zr3b0l{ja`Cm^NQto>Nyx4LbDX=FQExGsxEW-zRfBwvKGuHnMf=+P@A6whOHeVrTw^ zSJB?Bx6!ihe&Ek6P_m2W&>{qCw1903_?AtZ0RaDDgVxO_+GqqH2zE_ly@%#r&96aS zAxd=5)?cZdatrYzC^Pq;pErqq-j)GFj^7{Hu!>tZZFrO*?l7 z66*6qzh|y}R$s$puZW!%e*4j=ccD zd+|8zQ$h5CU?yFQRoQe-;jOk?^D6W|-{%QmqI}nI#Aqvs-S&JwPgbpc*_;!v;z&se zkzHMll;sZ++blKF{1XpclfUH_Og}i^0n<-6oR0~-rW+HV0BsfE$2#?FY|bf}1$C|T zMZpo$YL5-F0djorC*?BB*{0U)uGy z|CT<|SmldeOTF^ZM`S6}BG%99yK86886S+@o0Y8nvkCf@t#VidVYdU#Kk?BR^=;HW zG-C{9Q$8=%^)0L?^l=}SmWLYJhGRUxUuhUJr$iGhvB^NZ`s&h4FTt3K@nWIM4-vqn zrFM;7uBv5_=;_6ZdUu6K31gQm#!DMIFGy4`SB*xx$1?h^c)}mOuTg2P3Bg z2-V8Cx&>$acK|P~AQ}zOd=KjnWA0)Bt~^uWz{`N7LG93{92^|9j)N(E zc&8M~Fu_fqJ>j#9M|(Lo)40{hRaWOFtvf~HpCap)Y-6KWsfp{X`bUO z3-eDBJf|@#`e$QflmZ2k1X&A}g z^+#llA5j0ZBj@t^6bgw?%8_p8DwM=Z$f>K0Qjy&?{cjw&Vz$2ip+@RNu_Xt-E1b7= zg1nJzFDj*1h-Wz!;h2ts20ZvAfrJaT>BduQMV1`{lSa256!?2uq(3Op- zYTvzk^Y-F&-C!!nS>4_uEX@oUuYQfs+s5U*{eAtR(m3OjrBq#YrK&b;P#*^{v3(2L z=LIZO=3HGx3qwnP`&;KiZA+vvvNY7kT#^T^3%0o2r&$oU>4r&k`P%1AIl-#XilM|~ zXj@ntR+2jE37pT3dqmtt-U_m}k?t`t1uH9vlmIB6^&`ZPEe1`_u-k@SDPA#NF#WJD zRthUF-~d=SU;%pBXAm^xrGPra&=39HH=qZ^t73CliFCAD;z}B|Oa>cGh!UGRlifqA zN_QkVTef;nG5hW*L#ovqt7()L&vV7osf4@RSK9qo5ivit)?7c~{<>V1&OOykIV$!o|2=z)Tdui(l2h9)34 zTo484LKNqcZir}FlhRuUBH4l^8E)=kAYcqA-d13C(l=948?RP+(pKZ^NXDwD_J`yF zvq{es9g8veIa|3a3@si0K|NxK^+e+6b?U!#Xy4@IQ=fiHedUcw&eMxyWFlYGm=iAZ zNMyC6%tgO%Nb_N8kp0S4kw_oWSK8e^YgMk}XPW*@KMp4PQC0pi0?M7b%gU$~U6t1? z!fTa--FXwlWQBkPytGG?uDm*>ezA81fXTWsiU}JQ1zFTIl*UVQU}OmQ4G;ms&xW0v zWOO!BZS@(H?x0zhkDxE&RiS{~=hrHz*F?}+-D%?!p{XgVzN-dmKdQUG_~RdYs;kLB zo>QL#C>c$*=%D)D3 z02g>Zh;F3V!?uwQ&lEI(t+n=Ol0I)jIb^By#_!VACIUmD_EZ#=ucm8L^=fyW&2aDX zGIiC+iz6co_#3^FUn3aFi*}8cluTQCVj*8|B{Y}!Gz^xvqmsl_Hk<07A6VtA{iUIr zzqyz}*d4@G`R@)+O-;Ry`(wg7Ip8b!F5svT(5D7ss|AdS=a>B_S^-c6vWo@=7^^TH zpkV>dga7%Pb@ZXRV5Zco)p{*5s`zUJov0S5Hy6;B;bDr2woK)JJaesc#pSAp)M^(Q z$_pCmxXWw?VQ~`eOG|Z>4*hO9|7t%EQTdyA#Lh>dLu&H%(G{n!`I^xf#) z&MWq}ZK-Ldenc$H#jDfMW4GL*qfT0f{2_Gvw;dK&STx>GSRs2>?Kd)x`mtA!yb?9Z zO^x6;Zdv=fp;ovEDGCH=m&?IW{a#%ibsG>RzELkrL_OOGSSrX9HPGhc;Kvd|HzFnE zoEWhU4kbY#Mu7SXxD^{ZXGp~}n-QNT2|7$d)2{+Rkcv219#u(J!gaQ=G5<4k6E%ZA zU0M0Ti!a`=XZIzF)r+p!I<>V#9T<;#I77A*lb9wag z(zr>RR}-!;pewA<=`_lOgJlzCGxzXV=)ly}kutte$liFG2@dHf1i<;yR>{1qCtX+>ZNUiToWQBIa=$ITP^ zerKOZ8tO1lX&Xc14jmU{O9b@6QQ8kFDN@k##R3v0eWq-|i^0c7OMm)jp+Xz?c)?i! zFbjFzX^b}r=eozqvbl;}MO5yO8+Ccr7hfRlmtP_eOz0GMb|P(O=QgSnJxB?OFm-b= zO0q>fQ=+VERMj?ICKXUGXvt*0sJTioC$gA{H|cc!FJ1(Q^Xq|u0qW(EkH^Q$Mw`PG zM#&VPNyaROLx6X1ebP;UcXD)I>I_^z266=zT_7@AX<>l#|8-{-A`al~rBfK;yib`W z>%s?X2om7adWZq4RL}dL59*Ip_3YB`m`yCsN`Ly^SgVlLv}qWcU$?h!>gdR3yR1e6 zxsg`R6qmZ~MxjEF9$rj0c*>Pww@Gt!VgiynCa(2!6o1jZVyZ(aBlKX%9ClR+V|4J<1E+}!jOKyJMMeDG0T4>d^wx}SLipmCft z{S6I=aL^B2*I+;?6u1E;p7Vm`1`r^SuACjm=0-t;z(3QHl!h`OVK!a|n=2ZI7zO|w zGBO>j@t4V*ew`w3Ba)QAI_#>mMVi}mGu+UEIdaIX8_s#jI$c!N7!0yZ_Bo4*NAwR5 zKj#cLdLsk;lS%RAhVh2z;>Zjq=4|nXArYICtKuyQ^hV+*Q&W*tA{ETONEnhCUw^;f zsZY!MN94AIzJIu;(vZ~EW@1x&+oE+_j$RIpX5U6byp$6=>nlVD?6Hgql`G^0xDPJ5)^V&XnE^WJY}V%cC+8H{Vi*N%+* znSUZ_@OTpX#FW47yx^wFk;u754fXXw#emH0u{RJ+{d*XDkyt7c*{sk*V2EHb0};8G zc&TKlQ=53<<{xiQX3sir9%)XL_Uu^uys?tE#MhaLEAmeqHTBj8lty7sN*lJ0O7-zv z)=<*xgGuJ4J`Se^s%8XDB8i9~C6ZztOQy40jSSGZ>>@Yxy**6Efu2swYdj_VKPXCK z!Kw&bv%muM1F3*e2|eQ$C#xGKotdFJg24m9{lQ?o z;-F}nx^b3OGu{0s!twKm$#|YK0o!PRqJ5Bybp|CD&=zoNA*lpp0`?x_!&Rx^Ray>$Qi4h= zOb$4yfDIcU1Dak}@$gEa$|wvw1a>&I0-r9gPGn@dQmav$KfthiryMpOp{Cjh_rO-u zd3pigJ|IKSj*nkTJ%AnvW%n7zg9>$~>ayXM&8b#M_a}n(!%Dx%S?R4h=9lHpDc{m^-5U!z z&InTV3d_%Z?e6b*O}nL^EiZ#p{ELPv-m=hQN1F^1T}Ka(%P-Mq=_mljS zuy-7K?~X!zRRop@?xWzLYo)tS(G@Hd_6cJe%u=v3*iisD@f0qcu zg%PLHlCYOcyR=pE!{TAcQ#p5WG5=MgN`y@H@0mj={MX~gqv6yznOXa)sgA{703VUr zPUz(>xm{>ignq7Y`q-f$(lI7^!BX9?oP*J1jiPc~YY)4OAY5HO@qXQPB`uY=111YJ zSxczj?`{fsBiEOg-&E0WWC6Y4dbZ;*Zw7bi$942H_SldgaV$J&tHJ5QN(q<=Ucvb- z^ybh%=m&TY>=o=IEugW~0iPe{D%`u}v^l?lq#=tAwvVv(_Kxh-)+j^6!(H~cn!gZE zSBj?%ixasKzt~)?Y#eeL`p-p2ZBv0k99*gP%aO}LVC zZPui(CHU~e!Ma!?6Pau4|pegIuw?TieLExuO zdY=3kbhuoC>@M8f3xg_HGX(6`f6$u&`vJQGtOIX=cf=u=W+N%KPz?ufhHZlHGi#&c zBnay8M$;PHCkgLoVSA%sXJSbR42fA7Tbi`*IzFzJ=mn})O_!>f-x`%RIM1^Ti)+*J z3SV)TK~*I_XUZ+*8DQkMS3x#2NPR34ZfFb#%OvW=QrD#7SLqe%nA~KGC0$N4!PtAJ zMs?l!-NS8d`L~O0!XB?=D}&q3<-JOp84^)tCejg7#CvV-Vj=aIr0$Ast``$T2RXK!tGw`tkpPC``zyL;^4N6238v~DK>YKPf9dibELIKKVt(; zTHyEl$dizR&0o(Mz)@cBDbK}vXqO&h01^xvMzl8u2MlqP7pFyFkXRsE`qVJ3_ij@;RGDCV5aY>PVXi@zp5KFKKNPHeyf)0R7$`w# z5u*V39pV$XRvCWBYbw}Rm{Hf?j6Xo%A&dJPik3Ed;Z2wpiAk61?Sm^#w!S_~^YX#g z18BL^#?~kYjXL(AwRvU#`)_>q*-I~tqkAS%ELT!0ciK$a>qbUS&cco4uJ&zy(SBvR zBLBs8JAdq?))2$_#P+JCGfeWm@yPG`Nnv!*7#_V>ng@ibp=Ar9srCtUV= zCxjni%__kCx6zoO(C-6htbYRuB0zeuK79YTJ z{r`9!4jm`~r%`}69D9^OPm&cgshlUSEb&_m)PquKvh){}0`RfI%d;>svm~TSu2=_ zSi{416kdld+Ym2>FprClY!vqLf2+gO<|yrhz-?UN4`C-#ls3L_PN58tIWCol@DUqp zRE#R%W#V3US#KLx$`h80x=IXTqwy=7W3|fJ65ix14hGZ~g#`M`sl`k#IwZMtiV!h0 zzErftkO(1J%2=aHTBC}X?WIkj+K^ACb!jv*%74dM&Oo{fv}g11aQ>f0jmXq0bMIs9 zCwPdF3c|240Xsft78Cc`97FXyxm_!3GrP;x`eyS;XQ-pyob&|S999NvjLlFO!p<+^ zsF)D-ncY4Ec%f3(h^p4?QMzp%Ykz61;7_tyCIfo^a=&h{@&&cu``7$yM96HAcq!J1 z%Mz}-TC9LMzcL1wm20w<0R6hb4{{smSs{(eV&JFSpkF6QbF3QwuO4T3A0g!z(-X&0N7k?Xp}CUDS`e7*kT^b$*=q%8QSfc^q(Vi+;1bkux zh{IBGHn$3#Rak|R^_$A;3|_q=;WDZ7+xZTAr`gCM0^X641Ju<>@my)pY!)l@axwC; z$zO;fw)x(tj~?CSfLQvq?77rkYt7BQEiEfst=s@#PnPG4>T8*-MIppMnO7Wo>ejkU z?L~K8k20_90e~cjzQ;?p55i^a7B(SQieZ9gj>FFV9hKW2hV;Bvm^{NJJr8g7``?SR zHBvK#GjOlga@dB7*;;Xkcb7sx4yCR;f=p$XyIzw0x+MFGUs&dNXbOO#Ii$ndR*nd)C#yUAoKw^(i| zlQ8?FBwkA?*j+b(%#Z<%o}OIa1Qs~%OHcPcEGS7f277Rjr@RxVXc%Z*6i2G!)1DP z{vUnRt0>Z2TiX*v{|2Ar`R4?KL3BwOLQ7Ot2}>ovDj570e237}o1R(~RU{TWjLUVU zma`N-COQVbh)NtJ(3?>00Q%QJ;+=OAi8w?C_C+F{<>$S@aEDlW#u)l!@M`klw+Qa} z7h*q?3Uuso+UL448>XI~ty4J1jrGzN1ndNsoLJq0`2e~UgN!)j>4Qy)WgsY6)fxK$ zau70=u;~FGgwMcdLFK?mCKmk+KNR=@K1wE+YTArWt1<#DH(t`(OCvc)NolA|!yI^> z6||vhtHoPjL3ZHDCOEed1RG#0+F6aak47j3)CH;u$FD(IV;BZxhu@2BHOu;o zIH~YI96=y%3Q=nS<8?kteR!8 z#D}~2VpbH%^lG76Fc`O@gNx~=NJ?2Du1M)c=DMxz!>)@q%z zT5tDxKu24^2lN2g6lTx{g`L?7yRt6sfsSZghRaWB3<~Q9^bZMDG({<(*d9O}#Ms~w zLmGOMuq^>!kSq!zNO%e7$Esi_pda3;5EbnNj?PW|7kdBU@&KSPCI%zyJ>t}V?iHoGPsZd zf<9Zr)F;EkUIq2x6+&h3+WiVer)fMmIOx*%WcqJfS;qFd3vlq=Kr@Z>)Hkey3rvJ% z5D-EEBCP+!B*9>VOu`ap11=PPVv$3C05}RhX~9ee40VQ|jrOeKd^Lh2JTlrfc30^)WBf`+gY%?K|Vk5 z+_%5Ibo=cO3^R)>Ze|vff#EwgfA!VoJ66B^(xJIKr#U-+sq|(Fx)t9rBH#$FzaIUN z$$|)ud)Y|W#f`NW4WipB=9(9J ztfAPh{+a{_iYN?$GAU>3ni}*pb;-hg)U%Q4Y}HgeK2=pUlb{|lMNQhc-5%F!V>TQs zkOFN#O}0WbFov_RPv=+xC*#Tu3)EhI^NgY!M+7GX&6ebB5>5s?)qu1yb}N+nfp;x_ zm)Y7;)~MJn?%bC-2!~*$UiP92Q zS;S5feT7C?B#+7DGkFZcQxWN^yRS>`S8lOOR-Y{Uka{GXGJ+4t=X(C7(i5-WGanzn z^YJ6wMml5XP{dTELu+dKe%t0_OCgoctPH|ZLH5g_KibuRqYD15(5X{|RnW;cg^}Rv z3<}=C!a+K~BjUm;4-5_H;?iEnS%Kq1#M?r4I2DR3)zINn4TkmtZ?FqJhoETcFth|F zwL8!amCGITwunLQv@GtgNpe@%EWIHaP!uoRRhL7Dsg=cND8njsG1kW>=q+*|*tgCz zFy1s|#lz0J0Od;7olkKaE>Afve=+n^LN_+@wB{*Xc%haWizD0(9o~Zr#o?n0Hppt6 z2c`sL5d=}3P#8)z3Q1p(Q`6iXPZ=2(OShkQUXQ=;{PT|@9y)~7%xIlIB=b0|T80!2 zFilmJ-Km6{)zc4LHiH;cv){kR@vfEW>hT{WqXL15SzgL&y&sYq4>mUh8rl=cJwCIv z1bL0W7#-eEsD4KsZ>#4n@jafqeh^aK^ZH$LbrV-UbmxLzxXtRlMl?P?J~IlpPXlK$ zEpTqAs2=d|Js^LvJxF|Gr8qjtQsA}XI!g#j!{f#mlq11&5GC}K0?eu8JxIf>$a%^X zakD|mDCSKfQeRmyNR7=`-ZCFuh|kmurb`V=^q?9PE-jXU|0 zW3S#iP%A?_K!~Cwn)|v4ZGuQ=5p@Ig3N(bLp37Z!@&KQ+^!?Nx%v(6;|8~foaRX=d zV6BQ>iCBoiMd35V2MJ6AMh=$fAmG;_$bT#n(;@bJ0xiF zk{lgx*rL&!hUI*{zHhFid{U7dt{p{3k%C#%5DX|?L8p!>0bd$hTbCQDtpu{k)sxE% zsuaq#wbb2cX#0KLHHp^org`GNrP9(+#4If>3pDNUdghnzhoLSXQ*Sp_^A`A)(nlYR zX|;Dhd2F&~X#b7Zsrd8fS3FLAe*Zln-%9{r-3xSFLwjfx@>3O=pz}Z`-~+=;!7zcQ z<8_hF0-26c7d|h%H?UARFuX|eUVbrC6Ak!7YD+++<}x_kS(YY~9iVny_2{Fm?cC*G zHA>5-PM$na6&Ep4?*Kwu8TpUD^Bv+~a4+?nZPAR0yTX%NOzm%s`W}Av=DDmEU9h^c z01%y{m#h?v&R$ui?&#ioD(Wh6J4 zU3d4f#NKl?pCb+XUE;PSDvn+z8{$*G!9m|tJpVH%Z@HyD#-HVp3bRAiyJ}n1C!G_) zKmPF$r0`;$>IE5&_dE?<7I2RR8bPcB4RGONqnd7>2>=dXB5fUm@l5{;ln3CoKzeNG zF~Zv5FAP#Za-5<(d@8iKm$M0N-%zqf=d#E(4we7xX2DOlQy=>TEt!GQ(JA|l;AEu(GC1}3VgBsL@R z-D1IIbrnq39Ge**67g3xo~~(QkIG6At4y72Q7YbNQ;q2K#bjU5VIFREWhSRK!`O>& zeNNrlT*rqRW~c8DKXKgn%1uK}Jy+g)jdtsfl!BLoR>7DjLr~Z76y*6efKO%^coGQo z8>dK9CoObolm^&~_D(1^Dvj3NZgd<36Dy|GFdMKgn2ETFJ=l$fC*)InF0(xC^~;SV zW)(w*`dIR0Wm=Z@8&rCyQf!BGJ%QBTZ)Hlja_7+N?-KksUbn-r>P!te&&Yoy(6jbv z`Etb7srIOO3gYU$)JvDwHgXm?gvaygLy!INo>9N0covwwnxpgCGHL#a+qve!P)_(` z;=a!L`Of^$G8f-@VEK_p9*A6_`yc9uW1ITLE6blyuMW<1;k{shkNb8S*Seq@sR6n$ zg17BVT@S~9rmn{<82~-WJ`KodG=^ChMug&8EFdIcY6OgdIRO%Q3kCvt7m|>Y0EAAJ zZkIyIB1B!Jv9^99TcaaE5u$m5c;StKcitIjV|D#|oYy(=2Gut{o-wMk9fWQo$yA5M z{P9hj#)uo*U!>ko*E)*l`8tQ?<=;K>#x0wxMz4PQ?zw>~Mb?_TEPssHw2o#%p1Jl$OZX+oi5a_iCrKT7Cuzn-Z!cT#38o{g5TeKV24;PN90b?1q z3l_n`3&Cr`KQQWE_aTF*g5Om*n`GTX1tJ+TC{!B_O4v9y09YMAAP^O&yaxrgTDO2` z`mul+^iv>)VsKFfc_bs$W@+jjcq_+=oVSZR5HSu5lACtyn4a#l6GU3w6EPVW#Q4NC zIu0|u*pR%!B-vMT>j)v$KgfkDS!lOSh`4-nGT1Ysunt+xCLUY@^(SffjTe;8on0gT zJK``A`rMGTl>1_Fp+1+)G*@xe+*v|U(YEyT1M+_Zzrdz}Tq-agxMb+v$9+t&!xumryTEs`C{~29#kf=k4_bqd zg~{hY-$g3p0aZzvQ4MT2&9J5;1H3Yi$0{>9GzzA$lPjrkl}Bv$K-ur8ACl>|KnUGU z<<%%7Ay{BZG60DZb0l@&d++_rQXyXvs~yAv>X+0n>a*O0??*Rk!Kq<{mWvx@L zhP`1IRY6SSyHKypg<8NSpuv8aCbtMw2rDh10j8=j49E(YlorPuy9IKb=CE~ojH@}(d^NHB=%gYNquTRR#HjuN-{0k0;-4Rrz?Ap3SP*sxixjcRk%Pkxdtd?p0 zBF^0SILU@WiTj;yiOIC9Vf$MTH`Q?GdG^vfzFV%pr<0h@}|fv4&E2Qz#%& zmM8n%lRVxB$yw@7l`&?s#T+_gHnK#;lT4||$=)qC_t(Ph(Uxv~Z}!`*o!s=K zsJwK#q%^1!k4qTP$=a#zoK;NnBc36R9V&Woz4UR=y@eMLh;@ zt=iPxxi!QCq>k#c1PF?+OVR@a(N472y)@H5KK@u|=ivDGU?*{)jrz-bjdkFTbb5Y$ zB=*27_YOyqt9U@>P<5IGWhi*WC6Hu~)lZbH;}1Zh!dZHKH3e?OK@A!*`U+U2bplV=(?giFjakH8wwB^ zT&Fs`w^*j1^6LS$;&Lpkwy^0Cr~d+U=Vr;7k+32mGZbU!%>ZAF^@9Y(9@I z7eKiWL}g`Gvr{ZIzL83GXFAep>N3Q(`_wwIL~eo_youk5U|4xT0nO<5Q>#BrS8``K zKKo}sc>K9zOA!$tDV>(Tbm#-^Dw|Xl;4m5woxFPTsi&wTR-f4BVe>fyOs=WrkAGC8 zY+M7=+agh47E@q1Ww)Yh*30Ue{BiuhRF9Jk;? z6tUZLPUk_HA)qbh8D+o|N~p_u4r(;hAmK4LoCRlkAvope{8h{V(E>UEx~8#sfeS#0 zpR%Vh`2(fX#XK$rea1-qO)F=^D&5ecm_vYV@G-*!mLk|Ui?xGI2|if(>jcr+jm~R! zTjV0Izb@E!eKBXx_1qV>=(vMIm!QKf*~Hh5eaLzK7l5_wP0{j-upv}dUW%?!Fv}}+ zF@;hiH>yc)aW%`3j*Z5X8fH@~nq}nwrFV3&xTA`3XfO8P_%<9>SN_EO~vyZ zrpG<_!DQJ3AD--~Y&rVU-Sdvlz}>%eSrrOh)?<3WXiORJkf=j;dofcCy_b1V|9v;a z1?nLqEKBFVU_UpW>u@3D>|F_-Gq5p1IO9}>)1VlHwPQnauj7@10TIV}p};(GC{Ljk zBd{AAaNIhhfS$(xeny!ER?KniaNCgN8X%!gpDoF6BbAAGAD6n-&Gew{N|S|8hGS@k`7|^D7n-adjRwNMk|uWN z&>|G%@B~V+NDWz#j1+Yb8hAT#VR?CDBGFj>b0u%utSrWNV#k|T96P_>+OX@|ixKyL zqt0HJ6~t83N7P64S@v9UFnIk>V)wpr-$+cPVYHJ+b|Xp6<@a1U6PdC+wjh*fH9S1n zhHo~q;%u9a8!zT_;dg>lY@}}auWlIN2@1w!`fd}^P)k&&AVfp^Ex!%9?jxWpG0vF< zNv2e6P%suWbW{aQ3b0Kr5^RLv&I;h3fSo#RmBDGjreX=VF6qvcS}qkF2aA?kAPaG; zTU@3^-iZW^bfYyO5q6YiWg4eZB16=hbLcCB-K2$1WZ&28mZzrfl&gFv}PC6;c|pigMcgTaflZjEJ6(yD1Pm;@5&;ZBfZkzOoP z`kf}cht`r;%;uaKwv4VBxeMy~`oXfTh2CIzraB}$A{Ex8E+_0*0jx#9Yjet~gZ%@k z4n`l1kqh#E!}NoEHf&x%g&3|_#5M`gADwFh!kxSkNxAI+`ek zyn|Thn__wx1%6vjBUbU$;lrr-=cVm?I=0EBk7^G_EX2w#Y7gPd)&p74Ev^fIVbW1~Nx~kh%S~gx8CW+7j z^;hbP!A4#V{p}W4w~cZ$O1w{fKI-jn?}#3#x2o0o;R8m4+#yk2?{VoB=3PptOy@{N zH>sfnNArO@9@ke!JryOj7Jr30W2ynT2tH*U)Ez$sy=Ri(F#{v(v?MAtQY*-*co=8_ z?-I>9|Dou~rWrY9p1!p&6;W0-Cs;&$-WgqO(xtwyD z)1@a!^7pnOy*I3dp#e-oI*#5x^#0RhqrG=MzVqzEzD~v2zc6*XmI9NmPKOpc=rXlt z6-2GE48S$~_kkU42Fx76{kEkA%z~YH3^#SL=k|4LRSh1?j`}c1_GISnw@iyurbUt+6dXW0)1eHP0<2&IE zRo_&_3kXKUUOp6$vXD~k5onsicF?9&D{eR7Li5!1AC{H%LDo03C$AOE2BV ztwJADT67NeFH{WOnR*n#s;XfBStXLFdnj6N;ri5G@E3ra1L62B{sd+=8jr&R zED_)FGM)(XM#U9^4ozcyf2=g68!F*J1+jo2yO<1{hYFn=9<28F`?p7` za^k&L6Bk^tdv{k=)oA@_Jl?Z&=dNAE6^H6SUK7}Da=A<@3|~rov18##7hfZD`00fsxg!7S`LIF>mXwgIn)5^E0-3NFjOD$EOXGs_vaP6LizU>cuhX?CB?@Cq-5Z38W-J#+zy1l>p&me&^rTc7 zo?s1k@>D`E<`;ZCQJ_0I*B1+c*N9)PJw_(>r6aG`z|3=sXU{Yw(7h@{kNjckW27a1 zlwX}AN2jSby{YPwvKBk_Tcnka>m&ZLb5-h*i*T|%S=9ISi!cKu2LHDW>eh-j{%=qk zG{J+8IfFWY{K2~n8Xf3GVtbMJ&DulIq3mr_-PzL({hOj&m@5F_kO?MH*rWZ4$Qsh zo_osww5g{i_id|a2&`D&q|zxx%`&w-v%2=WHkDGCyRUG3VWR^-PG~~S8@u=#{Ro`_ zJRX2s3c7(I3OJC!qhw4gEG2dUV|^Kj&luxcQv3vWltp|=+O-)-lpA%{TZShU?-(a- zitO;<;5KRiZ66#Qdh3Ipg>ixeeCtv4M#paV0Nv6bovG19OlXvymeM9qa4m==sX%qS zDTt3OaJS*DK^Ke1P7CKi{S{EG@#4$SE5g7`G>qj`b}$hSI5&uc0tI8|sG9|FfOrxU zXe%&+01fj)KILo#1FjJyaJvDlVemC5fCP+(Pxk8Lb3xh=$Be^hJ*kP90~{{xH0bn5 z?sTH&3#aJ9=)d!m%G@3+h>IploR^x=mv2e-Taed>n$Zew9FIq_>S>x=5S_oyb$`7s zfvfoQ^t44}>L@>6;Nq7Byi~Qxjw10ZuJ0}GraOjZ60ap<4Ew!ozsRJ<-`AQR)lKrPRxiIKfl!zRq3j}$| zyu~?6g;w@2E;otGfgp0%%*;$}YUVIXQML=Rk->&;53jj(ZAoUbT+5+SQ@BZ0$wCz3 zH)-3P(Sa_yqfaSwIdUY~sXnh$sL|t}T)yfvoAzK`JTEcX8XVN=I<=?dX=1<%doI2S zvu87B4V~qnCjV17KxyMh2k( zJyybOT1g$uxyhl}qO#vwB-^_9yQ4dI4(u4(z5Ahy^Sn3u@NPj6*#MlNxMsIaA$Qqq z@S{D;A(Ofs#y6Lu->kp)=0t%ACWT5w(7fW7WI=*LksueMGdp&edg;NA=)zP(LQ$bm zA73X)t2CEE8^ZK5b7j0HiHh8p%z5O#)MTD1jranYjzou!{NVDQ8Pvn0gcc@&TR_Lh zr;1W2gy^`0521Y}5Bk!*0=}&WJOhHXb%IYdhZSui6=?>77BKRU$X_udkxhV;!Li3W zUINvKvY*r8@K#1l5~31OO%4Hh2-L<%9|Ew6br}F1NDWd?0FVoiC*qi{pEGPgHZfyz zP4FQEE|S7`>H+%>bOMN6iGR$Mq2F4v-1AdB;%Mo2b`S$YE~h ze3`CKJ&1ZIhr%jDpF!G(wfXUuG5&%SUca8_#?Mg2+UubA^P>3N1oUc|-y8n8ZT0Fw zWFB0$2qH$$ytaAsYtN8JufWhl54X#dC||8iO3008nPr)ovUI3Yrb5Xn$wDbNUyzp; zZ7hgW@y?%@3knle31M`V3+A^P)g`WywL)=HoXa(wEEFc=TZ)Q`bsv4CEB;2QjEF?s zG>yn30vXkP@h#B7X5eZobQS@fGp7l;5aeOn<{i|#l^nbS*U z)Ni6o`{|a!>$3541zrw!A#@=`I&DU2L2hAj(P4BX(U8!I*I9EjXjXb!4h&Re&Fj1P zJpCALoJVF8Rgp*yxZH$K$W@BT1To+kU@{Q)0OJ9?C}M=cZ+uXpJ|9Hhp%Op9^pYS* zu9s+4z#rlI!HBI()<^8`GKL312V+*_>(t*a+((y%M2&mC_~I*VrwqSr^%U9EC(~C4 zjE;JXdM64j$N#DC@sKl}h{5!U0n_!P`+ zDF+FV4eN=yMsPKuoDl@!WeyJn#QZ+rSg`gt2>M;nnv$kGr4NjBwnPbQMkNfaFP1x&(nIS7m|R53b}@my#cG_K$CAD#BxE16Cp#S z3Vbo!F#L22zKO2Iukek_cE3dl8{Z1%gigJW$d z(=w(RF^*=w*FOF1v(v;^b6q?GyxjyjRwQ$$lBrjL4*=VMc>hu|Wbz8n16VpROD0mU zM)){}3^1CJ5tVuq$T9J(EW2{8)PK)Ke^7*|a6OydW({Wf#8#t}Kbe}mYu&p3g<7X% zKqy!tOj@i=Ir_k1czm`z_BcO*HsGr!@D${vEviRa%_6EG)$8FeE(pi>!#qBxj5VTc z8X6xjH??PrU51cKR%~r{*E{Opa6jN!?^+ffx#0%5w5)kcFFp$LzW{Q3gwQia3A{ik z3B(0zLVsbHEC#n)3eNy6pFWAZQU6%<;|XM(!S7KS(U0fD0D<*Gk32%N21=q`nVHm` zUqzzD=y(o(t8W0Xg>@It(RaffR&X~Uqk?c2!RTgVHxLK7q)0(10Oc-o9-oG3A8c9B zQ`M|!$WB+VQxSH^O`94QY&2=vEcSAC97kUmT)z6Mb%7i?EsY#{C|IaRi7QeJmNm^8 z(JyUUn#-lt8EKVrb!(2xuV8UFv??!1Jwf=t4EBA9Rx-PWJ(KGOj8DFZ$btO}A=i;U zbk$N-w&F;)(HoQ`ZTta^<2|%;GMb1odE$f|L#kvZQ6WXIOh(UbLy!pzSlcA*_gTn~ zjm;bP(2x+5AhU#{u<);XY*h5P$*tNF{K$E?+h9{sT~l6^Qb| zkDL5}623C|!3UGCyp_b!6_-s;EL~AhqNa`^HqBAy_?;DgNn=%*%f>alH1(p1!FFQ? zG{2#F_(n95_of3L4R(0o_5I!~At8z)KLWEko6@}z4JU301}Pf_@;&Obcz`v?aK~yw zF9GEJ-T`&O8B7lq1|DM^_5dLm69i&7pLk~+E-?o^fM(2I6LQ=@QXneV#7UumzybJ= z*k&ZgETyvXA6u4(stSjW$da=gT%}!AzQ9ARWd&JfJ0kiUv`W#SAmJZrsM23(u*xM0 zp<1+jxK*2fwZB*^mGRQ5GkRoonjNmr(h!?eOQsi{f~F3BnZ9)(X3ChgIGfTu*vpQcS+ayR-%R z#}Ju4D{5fXCg4&A?k6&bTzTj#PhN(fKsYg|AhoM%+tQrT-37Uu)>?WkpN&Z>;sVY`$RzjSNH1#n1x0 zYtnJBxY0Omm!Az^>GRjM=GU(~bzHJ#8BCxo zYFgHw)#Dm&U$$jtX3G{rn>47Id5q42&xg4N%;Gr5S9qUO+9)A+&-C$`o`idXNQIhT7wwui5ZOHC57*duW%LfZ-!k2Am# zq;~qo$8(1GDb=c~;fJh>v=EQnRg#nXIIV&`T&}nL^$i^J*U-H60p;MAa|98pXE` z{RRIWi8i2qd@G$Xig(?&wJuV!X3x?umyE8!V@4y|yJ8e8m>&DF9vzR;>F~Ky(5DvQ z>nj+C55L4Lb#RT~1L4HrCL0JxLj~=rXnwNYJ(gwW(Y)yG|4m<$3~95nXdYUopD&#X z7vm3=^QXk6LOOlvgQw5l*qB|n{I-+Gjene&=$7jXMA$MuUVE<4e%(#{vhy~_Dd-!G zfDXq212PgTgmgV8(nAb(-kcx?9d80gxpdn|*CNnO%pC(7k<1>#NOaxm{8eXcLQQ9W z;;u@0nq8V)oEzk2TKb*lWZE7rNIE?AB@(744<>7n5PvQ-bygJ0hV4_ii%LG-nwIfH zhJ2|*m6+JilgT$m>~-bKYqOiz-+LUTEjjgZfB*3@i^iByIaXd7&R!_2RDs@eg&NuwcGQ0E!Gt3;q-1O59WIEy(Wp?kS4ip=->$A;6EYNP^aY7L3GD$_`<=V z+i1%GzHr|c>q6yQZX8AN3%hN&qBxu|7*8XGT7Anc4^Wx5?)?00e2*U@(Li7u0MzcI+@d`?A?wZ#I9U zZ)qkI`$iJ;oRxLD24jo9fys9zbv!2k2eN?wMmmPYW+gyE$Nz1*!a|8D2wV;KjJby} znnn!xJ8;MBlYS!lVOPdBLCU01^}=Uw!sFZMPfL1?Zi#Ae~WF@zSCEp`y_Yv?o>L-S+rEaQ?MBr_coc<>v2|g3^EF|E&nr99U7Jiw}UFF@wCy zgjf%m8c4b@frmV&Zh#56bInO(YK91iO9nYa3P`XLBw2va9JreljL$_Y|17dw1}x?j zx=?o4n5|r#{>kawG?`QqIF2-b`OC;hAH}C{2-y>JOsihWi%KF7R#x^@R^C@xNj;Ch zyXt|R6$O=RZ`*_#`rc@5G?og}5>nU;xhbhxty#@BTXWW$bgvqWvV^TC7cDy3(hQH- zo+Kdq9|D<2CP?X_)+ja$ac)mB#umb+z+4K<1s|cJgNS6v$_4EyX2)zUMx?}ojs`dl z0+)lD4SbSnu?_?+bbwX3=q~mNN0X{ZS+FP%--RDQg{kZmUM=3pF;`ksb4yW9*`wZ^ zVoN3d+onzHO(~7auu(-li9f&U_Kgj}{wJWsV4SAqV#4R-yARJbkV|i>imVf7KAEMh^tEN7Kk;q7E6t_0Y5F%E?r*|O6-hd zQF?uaQzq-|HTnl_WtFRo@=Mq3+YAlMqFreumoRSi3fQ(aBN9^(GkYrm#`Mv6jC5wpy>}u>J@|W+Vst4w%7hoVNn9(XO6%9V6e# zdBZ6(rwk?PAkv|01^1Gd&4@?B_oUkcp$PLvUH+5Df_%C{I*@!n z5Me~#0%d?x;3p|}c33X7r}GCy5Eg`75EvSIIxacclWECSuu2wKTFa7?w$E216z>Xp zvrP_xSS4~e+F(}W^?Z$>Q)}dLcy?O~D~Xfkq{Z?IgTV}a`#4%vtz2y= zOy{tzS~fcn$mBJ0Id(pT*Qr`wX0eK57qX=JT(-$v4DA)v{(N;Q48S!OQtNr=!>+qZUdGY3aV`UsYO#{y0C$C4<^0Ey)|^gATZtb^#xnX7z0z zAiz*JGi%Q?;+{Q6TKN7eGD2HDCIy1%TD=r5D5DR^tRWiSH}|)QQi~lCb5-FOK%tvJ z9FNci(JZTX++awdeu(Zs#tRoN&Z8zUjQc^RutB*P`rk~KYD9)AOHR=r)AhpQTLKz^ zP*9GXQ7a1m^2>aVq%S4DJ%QgY6?f4bFtN4fcDW{rb}hiKpZRz!TsFOHYDZyuw)TrJ zwAtx}ZimhkMr#@ke3e(z*r-*D8ynLEB0e^o>gr78X}pYZN~T(&m1p|oiOH7o2SQGx z(n@YAANqH^%jh80Y{tQy9-5rDh4ApNw2}0G++H$(3APM(IL4sBgaiiwE#x6jMu);5 z#L}7v5Qvy?IuU?OA|^3xnQJ{|P=C_CRIFXh`(sWnHR{{rbyH90Imub|g`Uiadbuc7Fr{o)- zboJhqj~1E}RjD1Wd#v3O$E`=2jW?OmWF(`j_RPZ6NHSL`q&Tb@HZM{2K~)?a)>3vt zqWax}g7Z&Z2t$!kNPjm4>z%g6ES9b%d*akcUHwKg% z(QL4ESTFgN+!dnH;I6=$$#%$hgNdlXfGH#P4c-&`ONhj<;N4&;!0zBRa_K_)AO7avib=%@A+b<`Pr8#MS&4`&&3 zcVtv*BS@1Z&Q_rGi}OMo`z_zC9toV;?0ISeTCJ@gK`T&2Pkd5VEk*aUQ3{R|>EG#!6UVCSj_Itu9p)hpm3W}7IE|N>K=ai2FN%*vQuSm% zAB`byTuN!Br#iA|dUdm}!a5UPWbblxXUUB98iPZf;Z}A-ZcX<9LKQ-M?9KGi6&d*3 zP3huzvph9vl$|Q(h+DGybgH~CBxEY!$K^!q8Q zo0E_-Y^ih__{q*1L$9^YOF@6q1h+WJ>PhKPSD4~Bwmi*D{U-lNCb})GOHw6dYci3H zC8&^a67c)@zqJL)6N!4$t(xtg7T;QDe0W1vXWOcn%}wyK*C7Wo0=I7fx@}HEMmzvn z22w&b3px{l3*=%Ljc+0py+r0&0+NdgjKp*qf~+PQ*wTaGeQ+AgpR*?e2Lb;PvqTDV zAAS*%glsU_NZU?gaIoMQxU=#caxduD5mZcz?N)Vaiq>sQAE+p79ae1PRY*6kw2S0C zS%Gw6R@N$>qQdF0*C~2suNMyN%gf%lOJ&%FA8aaJ78oeXk;#MBYPrjqv&dPR&YDm2 zx9gfidqR{ptLf%~IJ)|~QWO{cXNpg#5mN@}sB5w7lO$Y7CU_8(XsR_+$b^e?Y72&3 z3j=HFk%woqBnY`f390H4x1}#9S(s@nulB6WRR#JM;4?YCvQ+ekOl$O5Wl33!KjKl# zTWm8yx2bY|c8-}Pi8pHN3$~O~`Ar3-C^I*-Vuhn(fg&^2V*5Nrt}^7AyJe{?6wA?2 zgH8A**u!G5hcm#>Ba)p1E)Fmw=~$#A;3{x4L15uEs4oTD8BN67f&Wim|I@D9@W1o7 zJz3Vc)R{*k%eu~jduO5p*1?L}5!1zarQx1LPPysZ2KRuhQqw*@y>!XiK$~OXNBftp z+4XU&qa_Pcx*jPldw3)2?kEv)r@ZTy))tv30aXQ@P6sy9i!d)p#>8ex{0Tl9BycPa z1?wV9*N=@2?a?+j|txp$N?-1(t3sriYH{fVvS%kKvN$3 z41N?<%%D>I1b*y2RQ4_!-}-F*P55iai`y4hmQo)!EFXF$dV6ul+8netf=cS^@ssb5 zkwoF}y98piK^Ao2Ef{^58djN;@!G7E6yYjgHj1md3tf+2MyYonv@ia6 z530qVmnn*h@ad*S&AnZ%T`l9!qmySn=N2E&H< zmKWZ73x5Pfl=6<@rs(%{Ywy4xH;#<&c^~F?{pR|zqx~OjU>>;1cHjjfo8y?dD(4{H zs%DT>lF^$J>k>ic8q7)3E7}La8UetBeG)MMcM;?Qfup!I5gE*nuqXZhi`_qSb|{B< z;+urLQE}?2=N^Q|=h3^>DJ!L{^3+bsndnG-_`rcv8;6t)a`z`N(&+&DYRfBicjIs5 z&unWf%cjmP8XG+ueK^0qqmHU^>?=~FSv_)bz}n`lvDet^5i;@z^l=lCTvm}FUubvU zg#Y959QI1B_Pgyko^MwA^*v&Zt+c7BG)pSH!=}-~g(dY`YPd76!aYs_RES{8UO)$8 z9TVpvZ~}Y`Tat4W!{%aY=kjUB1P+`huqu}W#DO1YHPGDXT%wmiUcuiakz zC=YUz%3?Fk|2G;C9l-R0f(G#Op#I1OGevHS?f`$Ijep zt=FB2p6Kc7TvU-SGYiYBto}uMGunYyScHQkFaI<&dH-_@rpBlf_govfZlt}Y<`b=U z0KUk1Q-F;<0XE5eW@7F>#FV^Wa_TT@d~vUqy6Hf<7DP8zhe%MLhaTJE7L zn~c*J42*X=S5zkE}4ib!+XZwU$Mjrn0yE{qOKu#UL-Gqd zoJ{692tPnwAS}xS37OXYu|$88tiu6pg)d@KwMi>CJ^dy{v1n(+9dP#1`iA*kIxT(! zg=}^a4YglWhSc80Py0CLgidfdZuWC%vR=ogriEXlt<+ z>M622=A*R~#VcOfcj4;=3z~bL8XbPVw=6tsaUPdnyJ)Q;q zNS}mUV;cAiK8d8-Ga5+3=4Q+q8$><92ZD0iOFa`USc-m!t*Cem(JuVAbwl_a&+gM^ zXbrP^60HI}?fRLW*mu~ys`QByP0KYCrBhTz1qBtVp!-T826G5Px6 zpA8?3i0UIdI)vA>}xE?K#M#s?f zc^pCyz`tJsJx*SR7zvpPNYH!6iiP9k#PaX20KaC_RG~QliDZIB0@<9*C%?=_?%Z^5 zW}aoCA}_bSz?X{lapDr=xvUGHATxfSiu2YygO65Mf0uPrwhei5{%UHtUa|Mgmhzg) zfopc7p{OM}kT9KMnhT0{UnbGkmRw)e+qTnh50A+;dhR zfgFQnK@$xR_0C`ay5x&5o__kbzg_a-hcCW}58w}wX{@g9$MLt`8ecQAa%}VFv6UnE zb?TW3oCcp!2YmA+@H2^AKtd>hO8>)(C(KObMXWOdEP6G+)Q=Ou*M&nh!ks+mn71((Y3l;KYa71n#P88 zckW48I5ncMv`^g}?VUj92=7)xp2u&Y2O^irjDf6tqDF~}NLqivodmhWf&Qt``4W^a z*95wRkyd^oc|BmFXPU;0!+PkratrH0kr+P=syRaI1jxlJ}Dio1JHnNBE94EBzj zo7C@?fuZ!-ZSrehYmLK)s3-78yUxm|emDO)^a(y%`?lZa6(&o0qdc*w1DSPeKXR%M zGc>G+`}GFo(#58dT+Ym3Rsu&JAQF`6>_f%|&K)!Lq~hx3mHits=6_JWcPszwi&SS@ zaz6@8NK0>{{&nFVl!E^?5(=SfHk>IQExft=#5KbUA01kH8;`q`Ws|Q+meh4Y;5E8v z5%Kf!#BIzfVj6b9=8!xQL8S9zPO5~0nE0Ur2fmCo$7D4=F8`Mf=FdPSV#9Sl+ zcnvcA$%-Jyl(D9W{vcg z!H0E~Ts%#mp~GO~5NmIq0o2{>1&(#9fWQ|7zb+jlq}_4F2GE3;?=O+0M0C()6D*om zg~O>jy}%h#-OGO90PFUe(u5(TZx$3C{gm}*B;eq$MDk>TBqdFPuo-`dj8jEL=j5$Q zSC$yYce9k)-m6lVrcNX-Nt)zwrxM)K8KH8ea8fWKUn*aw5Wy#~gfay$=H8N)dC&)kTpqv-h|on>>=117%R7OtI`sYc#W??9Q>V#* zKSdcOrSYrRA+(%zB)hC8yEVKd%B!fLxiqB+cofOW3VW7#GDXHtNMK2l5#%DH&96P! z)@ID4PDksT&+nSiG}H**$|R?$s^IKWykQ#MV&?a`<&xJ&$y; zjOkD~omq?Mk^%+q334`Ol_-c~B1#Y#V~h%YJ&qRG?V8-sri=x3^Q%i`EtGaRE|HrA zMa)Etl3_)MP;qo~S=sxyy4+Gn~w?38`ul55JD)TLctY);~-`k_2!q+7x7yt>+?q*c?RJ(o`|}d zn$UcFVY-)kC0dGD(_c)(e|Mt4z@};FvGWPU9g}CXo#r9>(!VSuQj`44v60&d<_6Pi z6KbRP;`flP$JjO`-9@G0ucg>uS4XuRG(Lg8z>9~Qsn_8{oD)xtk3WTGcQzS<-am!Eo4P@fv|cE{CrSO-NNFi$C8I8> zS1$b9;h>Wm{jwZibbvZLg^m9?cW(NXSAdtQFTMl$TXo<$$r$8_T9GhGZ3 zCVYz+XAuzK+y$&M$voG@A`hp(w6?G8E6_|Y_VnrRe<_gf?UP)0P~ITkDs|h z&_Dys4-=6F1VV%;cMR5IuGBnI5JB(0wz*|*-uA|z)xWaKs`xJwIbF$(o$TenPe;|B zdQG;*at&TXbI<~LwzX>Ag^$Y0sBF_Sru??@%F2q~a7jVKgZGw%9Mt~k!OrKmOkEFM zR&~M3v;wVhD$}y8V#br3{Q`OhZyoA_oKE(ccf5WH593h{dnI8zY_{E)F z8JVdPZuArL9=e=1K=$;k+?Wam08GU71!YZzU%VVK> zd?+cm@b#*k(Xa74lhor=*o@wXXXQiwF7KFcalvSrNR^bGB8wkQ0pT039X0nwRz+Vz z%kZ_<(U}?M?o@#PbcC*AZ0-VB6*RKFB8MNWHl}=@h|akra3Um_{sORS>8wACQq!Q(EwnpJbWN#2 zo3j+T@C5Z|d+X=;&Abv#;z)`!`1t$P8D;q)oI#zq)3w`gHp-*FLvJ4YQ+7pv(6uU1 zV(h6I@Mfj8=XwKW;9s-n6)?6-9-O*{u|gr1HfQAt84CqsCV3QT2oFaOXD%hZ;9S7g zU@<@*3L^#?qkXliO4=^3R^8^WFibBj-n81uW}$I5Es=4DvJn2rIpMO_iV{Zv(|VuW z=AlT0G6y&5at!Nz(UygSzQIUu%g)nB?+Iy(H!iy~FJTXKz>}N1?4|{&iWDjn3&LUi zB=yt?h9+U0dD$0Vf|{>9;8z}4r^If^kLeF$Rl({4%r0QP6si0si=U07&YcOkwU@PS zOv3;a@Z`*l%X34dE^mv6a=7lXRhMqbo0_EAh!e_H7Zs~L_KDn0dcXZdp+F)}OOvU^ z6uu50MvKO_Z>RI{@R!~Vwh`OX0Djf7L)Yu?^WaINP9I6|+Cbyd9v`Y*Ezc2+$SR}` zDO8u!ltj55-8lR#!&hlg%l<0Zva?x)jP@lGp1~uDNWQ`biUopW@jmEf2B5$#uFPp% zGv&0q_U--&lArg+-HeXhAYAt#n)>;qY-ov0G@P|;xGIq| zN~?v#$;pkwlU{Gll0&zT*A8#oNO+?bWcP#6>xA4rCxb15RAnG1!nMSUy26c{`lL62;=&x#s!=D9tPkbi;z7dg3 zb7o3R$TGiQx^KVCwFl+BnDFVBtGL@xv)|y_z9)B%hfB7YAebu zxx-T#?l-muay{+dg%Y>>SVfBxX`-C`eCmD~XXDKUdP90maB)_t?h%!sRZ}HHGo#1n zSBnHNv-qfIByXr)ukIIla``QjRkjwBN99UtS9cjCwcnsyq8Tn;sxoOLIj~}X=GZo? z#-|GUw>ba@Er;0l@9F$2XiqpCa9z?V0Pq?R!Lu6#3L62XAt}OOIE#o&OZG)1H}Plz z(=`!@j|OF^2k2i4lz>#o-*ZypL?LHjp<>k;&9Tj?+>c&HOQ{bUe7Sj0LXs?ukBhtT z9!kXj8OYB^{vm2=$&%ksP}B%29jD{D9It1&A|m$L7PtfM0c$uIL2o<5870_R>oQO% zU#3x7s72A*ar8TR13d6gicn)?QvwYe`(bcs1f9eUw$bCHH*XQ-VBHD+8|k~o*r4DG5$O$o z&U)WKYCxG8m)8eU53mzbuf~{u;h`aGvTAX5S|TNKXDxQSg-9tYAhXC+qM|-`ddgyp zEjk$pz*N)q=&Iz%Vhk;@B`aL}&Rkm)DY^Q@&ee_5KR{O1=+LUv@9{=ZjT{?PViUa=wBQvWbGWk*(6md03j?=8Vnd`tA!|>i^ zB_)Q;d4aepG5)-=V(O#WwEE&RI5{6DzETXzQE(BYkIRwc!Gok z_%s@^sc2SS-s7%@+VBQ(SxI9@_dOpRn_hNez#p+uhok*P`?sQacXv&3SXU@(%9^~s zr*24hcD2M)I8X zN}v2UFBP$}@-$XKs+KQG^|y!G0{sswKBn@bciM?I$3O~1U-s_ z=p}4N??lg2cXSR%6RCH`F$?6b5&YqYK@VgCKStorSCHGm;le?JDvK#H;uy!y9kc=w zy+r6TCk?|zK>p1G5dd$90bEy_MfAh?c+2QVM})03D{p?==*%LUHF>O9e(E-S9y#B8 zZ^iHGO7rup9>KOArS}1pq^7A?-;0-)wX~Mtf(h!;32Z>Lx=nmA|oylr^UYnl4vB;o(Ce37GuB{1J0$DPq-(0{-L0v{;#|6|!u?G;01k@2Q=%L4uN zUF-Y@p0DYvI&;Xex@r24XbDtahO%uQkKOGY&EKZ;TJJ06OBFK6&6iO42D}fA4&8by z1wF$9!K}qwExpFZ0;%0PV(+f0Yjcg6&G^E*N=3fO;f8LRbXEWvrWARi#nMWJTr41P ziA1s)^$gwwye)xR;j?rn&^`-lDM^RYD`qPYIS>0GX*$5uq^l+DeXdCi*=Q_IA@Gri z$p7cY?>GBHg_Gt{jcx+{(3dheky}u1;I7(0EumhP3VBf2HUxRuEO$5%&N_;ga9CVl zp2L&n0!kEbO7}QU6!B#;l}e_T5lim|v}Ej-Tc}KjV<=~Tqp{eFZ$+7Xn?sAWzKE^Q z80`8%o|u^L7HMjgZlg0BKa{N0HOhPzAOfA`L-ys0Z1I4kTrQP~!TO^`%5A8BWG~Rg zbMZyM$xERl(B;$ju}ua77ZTfr^z0|NS1j9E3M@bp1pj}DKs87I#6c~d+e}vb?sEIN z$$xQv{MddZ!y0K-xJ1aigiEml`F5|@?r}~;t~R<|cNe6}v|@=`B}4dnQY|=g@E{s1 z%@~zR3zOOf{`BTV7+>{C>S$^$l8Q@{+N4IFC@y;3sqEqhETosJ$BQ&GvK;B4tXw9L zrjSOeLfKVl0JaNyO#yz#>vRDV)11YbE-^d90dw3A*O3@F|Et*!WulBV6uSW=^_%I8 ze_&bblHAek;6#mQtTk9yuLXYJezp=n4zr&VCvvaO@Y;_T^QB7QZxK#ab%90I!jO$enVzJDI@Z*Xi!=r z=ST%`lrX@LxKtH z#iZROfsSrO|HX0mAtb|JQ6J%t@Iw_9s1_Mo{~NvS$7i2i`U*sb%Fw}RgbL*6Lwo$M zt_JUF`{KdD#lz+0kSPXUUEt#F^rN)%(r1(IvLNwDR{;iRO%vM=M z)|TPy7HgM&9KG$AUlv0a@AUNa$NljWsCjZKC(Ij45=pfNJ_o=2?r?QqDU^6OkEce$ z>h@$`txNC1znzcnjJ8goS9Hyz^MTLU5Gy*x=q_T%5ga@p_CZbwPSFqRBnTH+BcMRR zegv*3W~rXEBqmNG@ZPU|Nn*^v>!@{dfnI6Q=7&boCe=ujQ(e2#bpJsAaU1>*O8maC zIPhnD9?}JGIrr_iV_$#$!VB-dJNEY5=g`08T1YFCHD#{%$Xr9^9))nk4B2w{Vd{|; zdc9qbjRJe?z(A|L#n~PXw?jcM=_7Xr@=eXKa&s&i7xTVhW&BIFKj_ zroSc{+yht}!xca{uo&jdQUn<=;Oss5?H~Ry@%rl@PRA$2*SwJ+TA3t$xt_=051su{Vz&ZK^z8bK&2d2reQGE4Zcq!MS zpnO%53|V$?`0THvZ!4Zi=HU}#)PXUai=Kt&A46R(S68Ul>FUc-D02G5*)S2uZI233 zHGag{*Fi!_AWtHYKloelDM&mJpn@wawTX!dkp-YsOpd^J#S@Qd9ifHW z%%&ULJ%9?Q+&B7B|J2}Ae>4G{e)K!@T2F(eO@|MEY0@n8YN?{ojBCiZD#y3l--^GX z9>P=YYu=i=_#Wb7vMr`f7(VHHpm%eAVbZ(QhRYsW%fEOtP~4$hWr8JSZ)bsX)EMDL8KSpja91@Il+imDmLJ=9SFGZ)H!g5)T#BT-rg#|6!G)t8^ z;z3Edf-mC}3W$}({0~s~$S%SQc?>VaaykP{W)|2K%>4(4E%wFa)Xc>>A))$zH{k+v zd%X#nNOR3`v>F<4o1!Hn5LZ%CkH*u=EIT<`k8?@kCY{@IcUh_|T_DnGM9{1lQYrVN z;ql$Ose$Z)!oq><3mpach7psQ4+|!zsGL$}3wy<7O0k47K?N#d!H1})?j%#60*M*J0)&@DN^n)u8uU_cj{oN_;BCZh1fcW&3%k&IA$xUd0-OFZx(ViwKuX=e z<5@~~rX?7(xLp&G%?7vqZZJR8UXq z#uDY*13}_KJQ{GD@2eI_q}mL*N>1TxhzBtYk)g4@W%JEr0*AgQ*i%{xe`u`YNx3KA zv-e${PFv}>z~v(_xn_A~#-O-d#S=?luPl)Qswju|!I@P;?aUF{bO|XUd6DxFsQ_lK z7z5Mzh?xNw5_C7D{4i<=e|To7_8F`s7?W#6L|QSV}y(aWFqb!ND@d` zVaf(Tco4IRQB(c^{76I#Fec;@kT)`~`*dP>1+@HaM^?-{ZoRp`&Z-EFspAspsztnM zRNO5Zu9N8cD)MT2c3jx-%P-VHrO`N;q~(?06t7Knt&Gzr)ZT_4&(5X}}NeDg?La`}iSKg%u_>ZNJIuP7g0qwTcT+ZL+OUi=DmJ3eb`@r=51r2T$oqLPSf5vHdf$SX`OExh14w$VIm?z{hrq^X5j&=)feHS?#^EUa0U!o3pXMxR z`laYy|57fadE)0+msd^t`)QT==bu}h1DftF)s3q`K0V(h{jZa4aGa;h$5a;J8S z9sH0cgwOXEyL3vak@{+KvOyNFEx7PfK~YJ5bq#7~nG3(6Uc~LI?~!y>4qm@knjsj3 zT9O>sRp`6d)6@E^yvs_CC|$xFO)h@Ims410QGw?Owo3_P>$fm@8v&?Gf_*YIws5JK zg9VEPK#Q1l1tUmcqjTvLvlu1J!t?;11+cZ0>>a)nbOQtsXiIdL*pb<06ukAhM2IN) zl;*1ofA>I6U=zhc0)y6WH!k$3a!N}D$q8{E*^{Wi%b`SZW_`v2Xc2z(7t4=qg_i7A z>S*-Z{2PamuUR@i1U;IcjQ+jJC^WCL+W9tcmY?>Rn;Y`an@9>+3?z9D1nNGk-O?;LQBnAhQY!8Ic} zMvzJaJT`Z+2)Ip}@|oyrNUf0%8FDlC;up|6=Z*GI^q&_l^ag|ION+~s>3u`vad+%O z8~i3U-vX|nOr0)BG8DvXsQzeWI(1{4DK~59_@ef^>r6opuB4tC$7yKZVxuearQgdk zdtb7)Sn<+_v$FK!X^$taEnXt2PY)$R0EqaIkI=V3JvhlgAdvttmDylOlKXA~^$N-e zt_Bd_H)m@Ret}y;Bs#Mn@IYV>Xbq(v!YB7YaEJmM;-uOtD(P#DD?AiT$WLE1Kdn0Y zcp&gSYVga=ixjS`YI^#@F0*+v^;!|m)fQy-=COO}Tr zhF;5nZD>JmO_yQmtDk;4@XIgnTzH0r;D#U<Hx2+A>Ck3 zid%_LOlHa2;6aRrLtmhOQhS~ z>0MVENgU*I6q@?19%Z-WTFdeQZ=YuXzd4|`+wy&7u4>8|U9kk+hnwnTWrJ{L1rQ5( z7cfH-AJxrf6y<{coV6HYoDOo6T#mWyA#zs0Swg^Fh>!wbG9V>eAqU5_Sp|0E!sXY~ zSBEUd+~Te~Eh4tl1ihKrf^?OmG1~dhfBv=R-ZFq& z#JT_2$gciRxC#B_{;&Z*I0?RQ8DK;ts!1kXK~$SzM268o9WaLjMi86@yc9FYMN-fj zL@UB6Nf|9Eg|`u2bOTco@ke}ODdQW%7GLM^ll-RifSl(kZZKt3-tCaP^IH%CQfp4+HpO#ZHs@y$j8>rSUySG#-b?4;hD0OuA zIJ#*HKQ}N%_Fi@I5FB9xMAVVztoR_Z4x}5iLBNaQ zWWf#uE08h%CiBYLwq@SiH~pCNV2?rPvgU6pEidqO73})@`RA9s^wJNvO#1zX3m*|( zGYH|)tr?1>+SK3Qq`lqf&az+V&v9r5yt$>mA&Wz2b!h5(mIn+Az3zdczUJn>qJiR! z1v2z#v~?7{b<812(5bte-v-PX(5VadR1P&dPe2`hEQXs!>hTeQTF6BLBZu6oxsDvf zp&-Y^Bw#SxB@9dmz!dw@*F?YZZnf!Di_$l3Lb>bKT^&7%*!UM%G4=QRrCi9vHI3_Vzri1j&=Q=FP9#{wHE!RAdZ!9AgS~xU#=@K|mom z?a^xj5PK+tnEI=b@5xjW8B7fEO+a~qoDnt2h3hjXESRt_P#QJ@%LShTHV^}mh$;e5 z=1M4#-lI@E7D~c=`(Um~me$#zagNG@b7bBD}(fl~odAck{+ zPAS9?AojMOnA+s_K%-%BqfBt$K)5i7EE&edMAu3Fh=7DZVKO$#`r(JJEm@=e&*v8g z@o9hVkCEpC7OZuR9in#`{tQV-LfxcDn48VdB(QR``6Wk%fjaTG+v>y+T{^mDS2AAdrA~67B>b`)x=(nj-sX`@FDWFgrz!gA|Cid;4{(wgz*?GDs zH>rjdpOKC-GO9D4tFq&3Dsig35ZXAu^E*y(|vF zOpuaUzjm(MEYyTtE@g=w9do5FXRblhdFD!i#G54s93Z3N;8zmmnIi}N03azYhbI*B z_^eAx_oTa>XY&P8t5{^!N)a7Z0=#zH`1b7)>eZYAoyRE5bIK(+IRhQXEm|~)ZyCGc z2I{s&T5U3M$kVeBHKNEBbcm}YlvqH)hEk+@{VM46I(*?XN`>nR!koBkHuD5Kji$TL#1Al*elB0O}C?+`i&X^Gb>Nj1~a-#ZMv}9rXoMwKs>#U zG(mFTL=#M?xk6@dvfFA<4Z4FqcaK(Q3mUX7sj+fh*iJt1Td}n*JC>U$Q6;rstEybu zQmt-2y17GlhF_1JE zaT)cxYpx-;D^-_fa}Ao;ShW#7 z`7<;?pK@x2QdKfCm-X|*-nsU)MubYqZS#+qBV41dj8rSLN~fC=a6oY!XH)}(+Mtpu zM3C*Ki?s48{r-ZyTc|VLS)>8PDh}+;!dypa9lp8PTZV)E&Gxd0uRTeA zSTo|-E)UmjjG1*hBU8lP+=w1kFeACN;ZLw`0C$DqKt)39%FeX`qE{tW%8f?3K}paH zfY%~01xEcdS(}!Zo*61}IVL>i3D2BT>y^%W6}CaO*GwLElqqVsBlfZph1}zZf}J%X z)D+~%b?$PKugs~UUQ8VT_|Lpmot4i39xVkR6Bbjcv<2QqgY%c*^`wDc@eA5RP}?J= ze0#_ct$GeC-UIv$-~#4ugL=UFAqfF^A-M`2Rqzsn{K3mA&5gpAh@r*Jn-@3C@7OWF z0repZTbBywGEz;@WYux_Vu$|x<(kJc0q4f4ijG-JE*Pr7!EAecQbO*5aJ;-?z7HPr z6&2?_^Gz&g;LUMZE`RNzvWq_&YQ5(7i?{Xkm!8|!o~Za6OyoPW=NzM(d>h?ekdJ2I z=sXSnFScMfpIDfR3bjE6^L*+!2RK3ysK80WCHdHr;ex!0H{LrqgeN&dMhVq1Pa zVF-uGPIT`jp~pj^A)pE3xGMYO8&J0-U%`)88Eg=>Vip4S4S>W(G3fEn)P=!2fM!vw zH5&LuIPzF^@X-9BJBZf%Zpi0{_bM^g zHZ#)(wGofxr_qmXq!s<*;!*q{k9N+?bk1e7b8vkaE4>Z+k_JFJRy$C`JOOH!Vp5{bV75drOR@P2JAdo8* za*3Eu>jTwgHo0Rlw^NV0*n{Xa@>fVgUJ#3+_2jn%QT5ik>$cTbR4iXGhtzk)o4kYF zh@S6SL~nPwd96YbR(^y`>5v6YW+Au&3`dCD$tCX|4E0_xcy=e)MFwzCUjZIOJypSq zv0=>lqa*~}f9h;vWCJ7}H#x;70;@pEiNjtFb*QO&460sqg*ms{*pjw8o!?k3h^(nC zPP*(7V3ro`Y8v&FeUd4 znZ6z$|GL>xm$cY)6{L!|^~TZ5y=~1k!@j9y&wyNB>Z(d}`q(t2G@opjA`#eFe{^!1#e9dMY4_H9utpu?@f@<{)suUx0jqlbpN? zgLaj}Fm-fVrA>bS{X}f*T{I4T|K04D-epfB=HI`k)4uo-4|PwUu5C{re--LEZ!Xpx zkqRF_di3a(S}pk(hYN93s>XAO8}t9{Y98UpdBfh3CS`0yD;m}bMm+V_2zvgT2IUq@Kan>%so$1(n(!5Y)K)Q!S);5EWoYt&VYf!=M4w5Au3L#Q&c|C z!b)ljF=7;F!uA&Ko>JH-J3M*t`JCRe1|3UHJSz!l`c#gYace?U*H6As^y7~R{i|7` zPOI{_WV7f+kuAnoiyyQO*OzpzwNE=XwC7sKE!TcI{XN=eshjdjeABbm>Ty-QBWOr; zk8o;YUi9mHJFzp$6Ig`ciGTEOu{7dx(CL40l^Q4gL$UYXP7k>UEtS4Ow|fxwunqDq zFToxbD&+nP?>hDBF;|5OSqp}T8X0url&&acn$Xr?7OP+IFZkwLvXvvY^FO|>ws!Wt znVy~-{&DC+k*_q19fyG8nClm+TY*mK+jS0OCS; zPvLA7jic}#J`tGzfxSJ#hd6JpC9m>7w$C+uf%oXrQ^f?i`+ZmTDKvY!OLeb9a}HX5 zEGN*tk$-m29(3creQ4e$^}CneXkIk06-S(JEIGW{nYbRKj4^}HfnRk}>kOKxuZPaM zU^l7&lRW}F1u2Cb7Akbh0kZ%qBDm#vHNzAJg~2AMgE}Qo6T=G*0VkN56<`W@OjI!l z3m_=sCxmZEc^8ipwxd?3>x=RL5HP{dM2586d4)q4u6MPdG0tIIi zoKO5!X$M`LNMa8(S@=#!OD3HP+#n2h(qTEmpa&p!W`PQTm7=vkAq3IMqH|5$N4cw?JogNlC82b|2J?WFNIRr|7jr?IH->+=Gk*G zN7^hmrJV+IF`q^rG7b_WG&4@qlHZbM;>g8NZxSHc{~G=@FxnJLtC{Q>Hk5VCwGP!~ zz&3_!Z-99>F905{0N--8;s6j*xONf!E*u;SY;2VP)8Tgzq^g|MJr*0DxC#;P4AmJ3Zcd65$yPduF@@^03KK_ZTRVlt zyp+k>U^Gc?zJ{@_(Tn~zOTIEI^2mweM>xO9-;LKBuIks{=W^d)2JX#nbQ+J&+Ey$! z$Xw74CW1aTCp8AU*Ac!qTfA$hUQhPHGGmFS|^JZk>?F5gN#04frv zSFjjju_UUXI=-4A;AW~?BeGzPLB(bhzn65kwN+H;Sj6Jrkg}ir6Jh_CNb%M2OA(FC zqZcxn!OTEON&Y^-Ov@e0g~{3scT%9X+WZY0%Z36Cy^W43T2hOGv>6nZ8M{Wxkw=N~vgDw4@>H+`__(A;_F%_R{%c-bW699kwX3zEmrC2pCB zI?2qVlrey7V}W0J2iSTi)RwQ#?7+Ic$PO1k*-G%AAsYfQ7&s(QSy0H1U?W672`gZx zBDiY+0z>n=rCZ04=>99Od^7(ey8a*uIji^E|C~+}x3s4^bIt2w8>%7_Ir5v5Gkl#{ z{?YOiwA09ET9!MAdh*Enq5OX0kvk_QvZVDi=W?X6IWZk8ADmxYyQTA`s(2Jqw7BM} z0{oK$z{geq@^P}>DGC$!z~6^U!$y<3BJ9M&l3C-FGR2oiMUe0o4j%zk$Np8J1mL9m ze=?K@UmC`!0qy1W>6`r~;~XI{O-OE?-?@Of$Ds&+$qFE2 z{up}mCb!$Y!2^%C1{-SAywPGBQs~vX_A$qVGT|H*Dws$m!E3-M@~zZ2wG{PHQwE{f z8`!pRt5~S;DJWn**h9mDwfa1f27!I0Dn!7R6k;FPKT6$&3#kN*l@%b4IB@a6g5!UW zs*$}ZP`yMBFK$%s*_SrQgOSvFU&TH5?AdeZ(9)hg=byjNV&c+D(LsicS5lrz3G@{u zm!f_hdb)Sh&O69&=t4onYSeQ0WURbpzI^+k-P?9Wp~jZR{#>vBqi~p~Qi*kv4n@}F zX)#w@K$SIHs?8ou}Gebi1RN%BrvBQtq7f$(=T)< z$HzqnE4x#=5h0?TOS_GHSS6T31oP153pdxM({r0gJzLc=(ns9()697#Qs1CFHGOwT z8IeOr_Ls?Mx?eL`I_K~7_6Iwnbj%N-5kTf6Hk1V|HWS) zf7}|-mdn{H4zyw(|5QQWz)^jXzZ&cf?E-X0{s7Q)Ev2S1vBVp#-FsmbnVIZd zBQ&RCb`nCCvZM6%GOk?S@H&k7Chi(4D-%+^Xc&M=-3Ph;GHRy^`R^iJ3BT&qP+L{V zU&UchsK!WGO|DYe3$Z8*=oC~eM7xF|U@eiKEoxmj%;~FK|K5fs0%fk3)$jcBqPnr; ze+2FLn{2Obv3#rvcQHX4l%TQb!Wi#Q&0*4GsR6OB?DT(qZ zL?7U^VI_f&ND}skiAyIy6<|LT3nNW7IhL!N3(ou24PsZ>@wO*qJ#CJv0d_=d4ID4SKu$XC%*1v#sOS=+w_ zu1f(m#F!yI9-shW~DY3(9pZX-A{e9PU{)#ZY$DWID6PWorw5~R@a<5#z{ya!g|AUQ*=_0FzU2}w+tsk423yx zTohpz5L{MKC?frM`uOoRo3y`p6%mWj?fuIa96KA!JJ0r$UZ5EKDU{!wK><&BHH`dh zxF(SpiO2T?1a-s08uI7F1LV#2jSZ8kA-2&bR!!Efw+_WNHIdt(6!quizsJWBD_CA- zDUnu<-wKaH9l$M6;~81?j47W0mhA-84fc^TELgHIpoR|t?hsZu)&-LTyMf=Po&}i# z8G2&p!tPpLCN~7h&BiXGxj88jUvj$E6K-xM2Iq(2F^b|#Bk(v*;$oqhSnU19!-v}k zw%68|ca|?Urk1uA(-u@g7(upgDbd{CxzMrLw!GZ7*s;(_DD$0j==ZP(^*)cDZdBu>|@ZXOD~JvtW@4f8`THxUg96K zvu=~V#+)AuPgV7fMwHS4nFb77EwMj;prs3ny*{Y+B^uC!`zQAJ;LAv73UEz6R5ljyT&!1%5M1d>vI`I*2v?F|DDY($z+6Z-pMppOehd05Du$0ZVSi{p zC9jxLK-+!UB|p4v$&4w|BGU8iw-bOA9KGtQj+VA^dAg$`)jaE(%AJvN4;#Q!F>iWg`8^)I9}jjGABX}1^i8kAvg4Wn^n4`Uya zN+e39SSdloIGvDt+|i&3JzM7}sorw@6F@v)H=1190cRrW8a3#Gwb1guHdyK;?#+)@ zT{eT%w|RS<{hgZZk;;@pCMW1le=)nAos9~c#1hOhrxy!C%9KveqtQ{8SW_D|s&0mo zmY_##gsN?j&Mf!_&(W%YXSJHME=-_@sRjrSTEXW>0ZQB9qym0w!ZvmA@FcsFhYcUR z!iT8?M}<6a@Nme3!LI)vmPvb#{PL|#2E}u>lue}eIwRy`Q-Q!+KNjsFqOn z_nvILVXHb%_#J5SDecATnGm&$>bm`4zY=j zRC;(F`NI6{vaPBaSTV_6yUyF&r!SL`yYznEK-@;Y1gG{MA!8$5CtD{K#ncIvvuq-N zFY(0G`qBJ1pql?73e6iOHM8U6vmFZ|-v-aoM5n^rUv&X#!@i~n_%KHxKdoP}zSWR@ zXvK3WR<$Pf+TaqYo4~gO_XWFUSFGd{@x4=4VTEkZ!tDY9pTw#k6f680=v@{)K?UoS zV@^Br(DYZ0x|C(@eko@QogqDP)Kbwk4INb_3}r0fHOmc6tu-awnYF|i8viLRe)ZL; zrMGvqyZey_4(;JJG!{9@Bq~`35JR<``RMHR*U!34X7sy=SI7~^NPkJNz5UnQ?~Rw4 zxU=#0j+%}AYb(X5kG#DLm7m?-((>~TyRV}oXvvRR>gED`8>|BhaKgKw278d|CA7*+ zgSZT@0*=+O2vbB^tW@C#Y_G8h%c(f+B-L}p3xqWQ)rO%j3O0n#!PWyQw-C6|p4=3# z*7;0|nAf0qR~N6*lsk08Xiv?yiS6Sb{OxZOYxv@RJ->>4zbgNaufHCFT+?aWQTMhF zw@+;QaICX7&0vo3_2#4^P_Ky@jbm=R+Z{xwyZYPOY%Wcut=~mnU_76=c8(0A6dv)~ zf``3gos4_@-A%g>6mKzQeH}(i!qwC! z-C!vB;fI;BF#tk$h*_$5FrF60eL5{eK#&hgwD(GG&{-xXmw|0LaQB9W9IumS zv5rhB6^*inK1TahiDql7(y1O&H5uF70$Dp`gh$oQ`Im_MH}`C}S;Rlt8cynXbv(VL zw_l;G7T2vIYJXw~DYV+_sHT~0s3&{~ur~XD<#?gX?0@8V;pYCY9Iup$e*Vw=&eVZB zi1s_K&A&{(_uY4dC7UHnL7z=zvj?-;L!~^+Kut;em}|*Bzb4%>Y`y8&($~aA*|D)K zw9Yy=-$s;X^T*Niqc{!HMgGNKXPF9*m4EVChaXI7(Ug#Pg;6ukVsLJswe!0i7Mdvuq3ipMR zL4~*uPa>uiHvAgACpfaoLR4*rOvQiTEod6%R3(~9y>zilZM0qfXYE$5_UoU){_f_@?`|L2jP9q)^j0RDiALB0 znQ^94p)Q*-m&|MA_RQK`E+CK-4Dx&8@oTjjk1|WDf5d~e?eE6p@$+Nwz`CjiFyLq5 z3>Pq@03h#K$Z8Zk#8nFeis(d@xE$^So~v%`N?gtWy^WWFN|1qi!+MQ&cmDBD49{u*WX!rO?hok>)93fJ|h$-Y!rNAjH*PbUMNtr2fhK`HOdL1 zwyZ!A!ES;Qb_a}(LWwsFyo*ACE$+t$8XVLwxSIbrLoi9D3Y$LtP{dhweDtT6U;ZI~ z4JvwZCUsVzzQqRh{od%Vh-YUI2!Q(-ao<6?hPZ^yOhP?v3cSg+73bI@-dpNLDwS5R z)+-4bK^4?4MyG>()6jHuG(0^W9`%~Dy%wwNBWJWvQF@!Y)kq#hlLMM@L5RG5A>qOd z$VePHw?qGvSw)RjuEaD#noMO*+ONR!tOuO=O^|0j$T9BmKMdYB46#KJN`e+*QpSf8 zR#pUZY_JNTh|IPV{JH;4pTia!d)CnJA8a&OIZ$dRR|?D<{A(0G4QlX|@?-R8bV%az zKicV4$aFfX%4-|1tssWF{N+Q_jffm2znud&V!u2xQc`VIm|8bVi%$~>57^xPXiccp zC=sc(ZaHGT{Wi*q!eayr`UZM&O{8zBdasS-0GsY*+VrAOX;G+5u$Y8P?xPEfne-Wv zT&#>meFGjCZB*4eUHx}MoV*RSa;NQXkIdITn@$L0zWLb_t!2XE`YveW2_xB0669Z5 zVqG{D^HU3)INm7_i>5D2CM*WILO>Pm$_wWz2J8D6_;^x~x0<54q9tl|3jpg$=No>e zVO*%N(sCOpOz`QjQe0_-hJ79uP&2U001J#c4F79Yv3#DgqKT87yQ>yI`)u)vr9b^? z>52a_MT0dHnX!Ne{Y}HAGtQGNb7?$ZYjrwPVSr>9dQ5gMOCZRUJL4vaA#6XwWhKh& zrKRqOf1&IGyW4kbrAVbQ8uVBqp+(V8(b58xdGGU2`u%|bd?ClrR_ex_gH7QY-@A=6 zB}c~{jPn8&CDuNTFJv+fEwrR7V+__BHskxAn3oB(oN)Z>HPVo1UKEiC3nV**Oy>I) z%1&&DMPx(X{tn>S)l$6iHt1Y50n?)viq?XZ5-a^bVd;`^_Ym+=PX3Bd2yd(`D0QwW zN(4-{Oe9$VW8+Wa3i(2XDs~lZ6l{f6809O2QYe@pc%h1g9wG#U#P5OBoXXOvh<%!% z9oVsB_wK!W;}xvt$Fh89`+4V`bIzts*%V~T^?bU=2i!d(|H&I~boqS5K@>oAwb`Ii zifH885$FA@-3Ek^c2lr(t2o}}A>Vbj z`WZCjOrCM;PepUP1Eu!P{GG(z6Qp9_y>T^1{Oi}dxDE>{bGck=;pu{SsUGT&o`iS_ z^Iiub=MF3{WWkX!eJ!4rXB;;0`l9bU{8AzgjNf1y}y4MjPiCld5< z+@%n7;Xk1@7)%1|b2b{Z!~}{ThfLp8{Ri4qAV( zXu4>*2ued%{csQ#7Qkts;lO#ssgQ!<#*zbUB1)-&UIXMELTUUdpojoF1bb--?2N;o zQC@fwX9{I31wOkJi<$~uXe(|FRBg#=PjR@yn5!loN~9%1H$NvZ19RG^b}R3=@WKZ! zYf;#r%#%QtP!QKj~ zNhKHY2G$aftt)hjL%)nWE6YYhwg!Q+L=+TzI6S&lGjWTr)z&dHNoQsa`iLi1n(dn# zIn+)xGpl4J`k|Ss@(%0PNfFy1Gpb^NL(@*lUMNmE!{YR@WOA|%`N%f`x9G&WjRkn+ z9h9HTp(@-8Sys#$#9kf+n1Q#mDqlF+8pB=$tOP|&!6z;W%Yl(47+e6F3mek{JE72n zDjBDcSpa4UhDZoqCQsvv(FY#0KW8^76n3qkqoR8hsq))C{OXIJV$HxMMp+VUh?9G$^wAxyK$Zj zfBN>@Js$FEH<#X*N)%5pfWDyCI{Cx^lWU6fuBj#jaNiur&E5!c9ImYnulT!7R39a1 zv4>M&;v_f(xH6tnKP(pY3dMa;Dh}_-ajK2N)e7*$i9vv3E9C%#_`oYjO&lLA9MQ89 zpsa|m^^JN*nJk{F$RxN{8C&G#b8O?ryJ!+c{nZ?|K5x<#6Yo5vF-c^iYEt~nGk1j0 zr(R*PIN#%P9Sem*B2$R?TH)Z3XX!z`kZ)diU^!D;HqodSvUq(wDEfUv5SHf+h)%!l zYSTQ6FilR9EIK_-Y{@?o$T8QD;l%DVf zNU|x2*gHFX`GXMSUE;MLHe0iHL1H zgOpVR^|^g&C(IA>CGKJQt(}X+!F6OQ`ZYYyQjgmMZrg-h5h(3StDN>+t5ndVcNqys zTGLhTclQ#i{$c^I+1DlvF_UPHygDN@2;1zc3gZR~m!o5i8x1P^CJW1|gVbM+e8xUD z0FV~e7qt*89;A5ykuI>xSNXO$fl8f~I2Hy6cDh&GArO4LLii0}is2v%s|^qc9DEcI zK7hHBtd+DGaTQ{Y?RRQtQ!`e3nUJP%M?5>uQ9G{ijv7qGRRL=}1x&j)F}ycbT8bX0 zK?A~L3*>8y*Dz>;YG~{I8Vb=oLk1{#$ctTsU^?Fh_4 z4&QC;x6Ly!t$mUzk!LFP?#uM9B_0}(0&TiM5 z+S*1s!=0(J&$?1IXU;e`D5~mfD)hYVzW#2PJ-!6)nNThyh#o+wWgd^!nooWA-5BH| z*Nt_hBFpj{m}h2_bmkx?B2o1p1%+ zvC3?Vvss8`3-@it@oNL%;T6!s6YJw1$Q(?84g#4fNYJW)Kb+*u*?>as~uYD z*{!8J>OGT&a+~kVFP+uWAtvX18hx1cvaTmM8dcwD@$$T>MrN8X_^p7a)#WEbAyl3& z=6ZP7WP%YM%TB~<{a-|~PYb6q4Yiv}uc=BEPjhHUZ9F~Gy`|N-_01 zN~Mz78M%qjg*BBE@~3lq`v*1*zQ#}J9rO~TJ48m&Z_Y`|1U|uCv2;?xas95mrlPi~ z3}m(Z#~a{GjzGOLj{aJ}Gs1ir&|aX&C~t^@oG}m$t3$&|3_5kfPng;PFVvU9_gJ|@ z?yJB>z!h+y!dL|fhgaMuWj=q_+#PynQ#Nefa@w-7$GMQ_d?f}W;5O~-Auj{E;!7%R*-dA?NMjNubwd|c5br;_ zxbTR^QXdPNw{6p>-IXwhoh|K2H)qv-N~H?yVS}~Vs%=*YWbkN~C+s)gs1Y|O94KLV zkS}uU-MAncxj7 zr4MUVuxMCv3i)%4)xu#uQ7@KEIF-&M_?R#$5k^nTp&3v#P9<@%l+w2ATm*xm4hLj* zyR0l>3HGvO$G(fz>CW5;;-BMeL)lTO*P651&OA`Rlx|t}&pY~B(neYDj6|X17VDH! zf`&#R*s2u28VGBvqOVl?+Q@mJ4Ly5CRi{l<(aB0%q51-PE;2%y>(3XoE;1)qo1o%avm3{XI|Sz7+dO`9GpYmzS-hwIL&>N5oFbfktl^|?%QjlCyzQ-hu#UhLghPCnFj z?{3uN_R77vv5&Gtk;v8KH=w~(gH1A@C3iL@M-A4+eU)T|+4RPfU<(}(n>_~kO+D1% zVeGU8>KS^9ilo>O0s$RT7KPZW0QJK$dA7wDu@v>+*9E}8* zDz0?6f)7=Sl`4xx1*LT~7%_so(ZVE7{jK&{XHl$oC+O_LjJhMV778aH1RHrG^^A23 zc*ljWC+-Xys8CXZj~(SP!D%}Yec?f*`0!z)No945pjSLTVel?|jy5Tmr-XWk!*qVF z%+WYOvpT={!qcW4FpMSR&TiF^&gQYu`HjJH!9cM{FSm+DxY9ObyGg+lYYm$>^YU9j zJ^$0`$jUfcz24iz;AZKIbUJUawA$xK{q#WQcf_MtM$d?QE3c}o`gi=QoTaUToNK=Q z;%LWn3#`^!w{dnmyPWu{Lhj?m z6MZLfcYIuxBsPOmr50c{^rUVU-!OKwS(tf487O$ghlXm0cR~%pniV7pq^JQ1Pl#xW z&J?RIG0X^6KYQjLc)XE+&wkmiUF3r>sIYk#JdmYoG1@j8U5YOCM9T(jTmGrlGOdi*WE)REbE!DcV(YAT+;0xRwv8@UN3ln z#lT5;k?OC0DyJ25y;f(7Qul-Jrf^4a4{!!feFDV@hY0X%94b(mA22yM;-#cw1AN%U{*I#(yuYY~vg;8?fv191dty}YtLsIXRty{_0QJ#Eb?aOP| zj^h8X&0kKeqX}lp#toIG@^Vw9p~_HZs86Nxb;M0!g9NIRuQ23)^ZobN8I8tacp8ta z@OB!ZXUMzYdsr#%+Dd&j@OEI$DTA>3TJUZ`eStemIcEjm7B+81(y?SyrU1+Gsct{I zU)f{Jh^P3xOO!g^IGcZCuZh#6u@lAWK1r`o*v&J1*#AbfJVo9R3j2;7>-mY39D{x@ zm5mN(sb>})ohi`YiKwR{bx}?nGK~1TvO=qOGA8ziEA)woS!;6Z(#f-jW{mc@!=h>a zCvkw>>^r>_T4}ybeqIueCxFxFfa>azsw#+qaUSG)nuVI%Rha)+@a9`VQdgS;6rjoi zuvEB1@buvxAvh8PL=pu@81i?plSVTWCr`x0u zipfM9MVZ_v;@tyj6}^VR(W~zvZ~f+*54zA0Il^u|5s*TXzFL zt`-nS3N2dc8wU|N+z{AnCcdvEXd#@qm9b#MS?~_19QYmeOW0BP7Uxa=^J9fitx86M zg=GTt7ZYPgxY(NdGn_)9?Va@bN7{$#XevQ@#E=yyf|(|*gg!-cN!mpkEle1js1wMw zs@80}u8x;cnZEd<#;Ab&z0uHNa5N&us14GAT=}Cko1?4r3<0~BhIn1A`HpOo)u2{g z5(+g>ZMkruq5G|CD`MJ2t))a4cXVBEi3d&4fYj}%3i$L9Us#}7+aS`K1MR*(_f(l7 zU3H9jQDP{qREhRns^CUzowd23Rlg>4-%xR)WtufGuDik^HAg+N?T@vgx16n6b4@A_ zJ%T~MRRMnTI&hP^!NbCc_|Bqpz&C(J1Lj)6IVeCu6rkpWUa))0{0cGL)aHq6uLgczFC#D^PH9eTdusWYBXLP z4!NVUgi$GF^5_>ycdS8dm+7y6E%B76<4Dh7jLH~EX<6FE5>;t3=CGqWp?4PxW9%NE zBWiR(zAkUgIWh_f{dRv27|JoTlH3htC@+UAlySd3w~KKe4YCBU>&_YYRlPT>>JEm| z-Y%z=J;{}6W2S$_`3!lMoFabyca5epHC`+hB>65;olnP81Qc}|tHwMm)P-cCKBv7z zW^K@;gV83_lL~{u)a03O$_OF`3sA%Vkl*d_3F-z*qOp!08veE35{Q!;fZz5j+7Ojj zU!5*gw(9k-z%p@)6?GE3DHsmwSjw?#K2cMRe^SZ|(E=(Q20+%qI%7sCh%pHA6C+>B zw`#u`I{w8!{z1HYeg5`?v$I>ajE#(J*f2ev{|Ru6C784K$`twH6u}(1!+Ob1@0K$> zG~g=IX)I}}Ybr)O6FaX&)Odb8obN@Gb#?YCXC*$SmCh=d|8S(%S!G}N=BAszAqP@@ z-kfzpmMjm@^+JtF!O_dYDr{46@4Q=qTiFS`&y~(cfct_#QGUj$9tKRQhGBzDN&p#f zXfezH@`t@LN|#gjk4a}3qQm+to?KZF^npb=q|?0gk|Cxa)pffP^+6&X6u8|+m5BUP zi+*82V;HDY4)DcSbdHZ3T9s01aXIbLNAuS^90a@8MoQ5pll^Pr>7CxWDreP|>Ev(w zM*Y*|reIjfhOYlZ|3uEgOIv-HZImaXh3OxrVY~BipDd`8eT?=y z@Tm%S*$w=;QNXC6ZV+Sjl(&dSn4A)i#1oD<3l2vi!Mk$C@U6mIr{qKNeVdigBJ_lh z0h|sfqyRd>|l5U)3@&Q2T+AhM6?@cv*lC+#GN}Bt9frHXAx632Jb2DWD-=VW0 zdjbQ!AZe%LdR09-6VfrTpZM^j~4SZTlp7m{=Z|D&LNRsufkN8Yt(ZaL?i-LwozCaTq&p5StBAq3xYxG1zs zU0WT!dQYAcjouiWXeTr|Yik^cZmImATPI=@v36pJ+(cYYeyw%OMwN!KF}-S3W7m#0 z$0y9_*#h42D9CdRb{zLwJEf!7>io6;lgJ4^F-~CrX9*M-WjLsC`6!Nenerjw8yv|} zKIP5Qh`3i!%73@JyIR&#Tif2Y>}b!7x^@ZGK{VuZr$cs$*eX%W$!{|8#{6Sneo1_K z=Q;Tsp+meV5~+LPg(mPss)L)X9^(b({N40%pnN7vHx8T$Eg8wnj2d(ZPrD``sZOvv z8Biys)Bl;g-c2Vy%=e*tUkM!|A4dOE-+KD%jd)f|9pqDA0^3oT)Y5h`rUW$vHUhQ= zClv6J1@#V3%1{(A43PQ)j)83gE`-2$i-mZVoWY=)wu>FTrJk0B$mH}nsneSGqOTr) z_?@$qXN()8^|o+BV}GQtvfLf15+&tl>{DI-#dFUcN5}W!+MY>(6c4C-i~0M^5&43( zBmMZ}n{t!B`aVaytG9C~S{)D9M<0hrGE|jR)+mQMdtL30K4K_8GJ}5C-D!$|ZS;X( z^$W-s_frw`3}iV^1CMGYj{-ggrF9C46gaj{CMa6)GvjfbC&o_0${V1BS=1Zw9vtQ* z{(|v$fFh_Bf!$UD5{-Ep_#9(^-Fm9SN!#o&Br^h;K%!B}gso+b-Sss2R90xPaCq{% zxvo%kizX#znAB3Kf~RyxQ)0OY@f+o>9)C7aH60g)fuKLi<@NH#gVt)OFTD`w=;nF_ zCA*Hy5w|XoKJ+FOid&Pkm|3-cpc z>;VRktB4f~y6HkBIKvlhj0&s5`@Muf>y5CRAE93EYO0^=?3k!CXw*s|ccDk+Qw9;fI95au5Q;+fm`awP z;>Tl=!fPOf^-{tU!IEJ$LQFk1hN_TR==T{?LZx2o)Jxrdor3%kZL!EzI;LV(>CViv8;*H&t)*%I0nl{-Q8aVGXl2O zfbM{SocE7GPb!y-4Q*Kt!GH%Cj`a7JDEL+#Kos=nlgvGKcDOv8i$?3n_18l zI5?p;liKG31_QsLxc#6nR`mpqtSMmtbweZUBQ>ctliq3H!eF+2#JX?XqG}w9T{hKApIo~|-#Ps3A|306?WiG$Cjl-T*(p*Q$BI4yZmc#_f z4D~H9_XWGkx&kduXG@?K zT|k2sHU{(*EWVSuqTG@NbqBx1d|7x|`4skDPHIPZ7k>^LwiAgFa9SKrYPc$vYzHLi zups;wRGY*|tr87LqyiJK>oUEf&uOWN$_9<%%ja^&8mpkuG3o7+)TA}_s=jWMmM<%o zS@b48U#Sra+=t~sp~A~i%IkgWEj>JXRaqT_Ro7~kszs7wQOv9siOF|h3Jg@+yccuU z2x2mnRXS*NU(y*0JEJbEzt3;&8x_g*N|hE04d^Y!UCL^L%T`FklBuxOQBvOSbtQFE z{aOaJW3Aq5Tn zW0uV?7FR=uXC`XT_pU{+knNdhMqa0WC)+9s#atM~^T(Gb2ZOCkX5|K%0C&_8%37g+ zoo^rPAszI`leD)1FYlz7bPE((4vP){|JSm@roswi|FS?J#Agmm-zj<(q!hLd08Q(;w*Bs+4;4-2@% z8#c^cG<)&IvlpQ`ISkG^C{?1iZwygE7o9Vp$R2+gXqD@a9jlWQHM)8+BnZ@Ud!S40 zj5@H#>52EPSrckmGAp9zIz>a|Q&3fRAeMu^JAp||>xM5%LhBk(YrfK_g%T-O;`Qvm z6Pnn4UP2xfiDkM{Tl=&Ww;`hBJq>5|2w=Xr|K-ZuB?SBHXoS2~B#h38U_{9n)?;ofNw z^WO{Hn+6KyhK#u#n@l)wcst?H71R(5&NT=KoNdY%PZSO_?whTo3@!^NQmmoE$;Mg= zKkxgC2@2dB7 z`vR?!k>ZhOpAyykT}sED)$Q#nWi8)PIgtOk%|^3FrQx96CKnsU8fkUCpKaufFnMuV z*`o5=heyiIa&aU^iqM!+p+8LAx!pOK3zh9pC4MtH>xjiKDbpCnCg(-f32z`hR6g=R z^%_OsG(}ukf!;fJfjl=HQx^9#SXLt%gYyGAy%u`(;l8dyU=0@P6rB*yfv<}ZPwL3P z8G)NOgU41Vasc!U*PY?+5;!ygngP61uwRs_#0nDsj#8cQmjJdv0yBxmKlTnF1M z>fR~O42uF)&j#{jgI2xp|Nlotz&UzdolZ_4WtXJfZgwe0?w=JPzA_xT&XIHsDl$Ta!Z5GcD6&Yl)bUM{KkYc{pD!+SbW4*;~A-`0bjPzr|lJ51$1P^IivofGhh|LfB}qA za9$wSs02lV+YrDh!-|*zx`H|_RG+pL-3+UPwG12|n5zqNg-;?SCeS;FiUKKPxr$=K z2XL+p)*r7qtT(RO#2rD=4*Pg@(r+Ah@kA1Xj7IBY&;xM+G%Q8mHEN^F%Nm#f9-#>@m&7WQ7ZVU8y)s>=Lr@82hI>ruQJzwvxOaI(Aj{Az{0~?0TYa} zc?C5^?GWXMP&l#@j&mXU0>ei;ywTgOaw?U>LTR6?ep|{=hUhN0&MM=JdD@1dCN7=L z>`Tfe8I8I5=+PSYw1|6^RXU~0-vAColh~rtMMKvIe@=4!q#!Lo27}lj4%wS{ z6eI`4473!SX{@^7J7}Is=`YNZB=%4#?^^a5YJE?E_|Gn z6i*bc7LFOXrFhd<(-~0NfqCwbrGoXqn~Vx6pVeMy*mgtLpA(JGh>AKqzOk;RrZM9V z%lSwqv#Y(8q3W=woZR%q7tf?ng-C0V=XXH4ZQsT;l$c(A;M%bL@^0JpCeLLF%hK!( zglLvh+*ow+M55R-;W%jb9=et zb#-hWPb8wzax!IYEu)idu`|q3Yp$eO#8!KBC8hHz$H?Ock?RUyy}7AG9Oi~~GEhsj zQYB;k-U(NX57xR|Y;A0Wo|Z;uTIV{Q_~H2RP(sZe9Z9`by3Ogb?>JE_l`0##0-B-J~Q2CLK<2jFhkw zlx_!s#X<{DOrWFua}Zc+!&uOUJsy=Yv1Nt70`(q<@P(J0FQbWwK7b0I# zT}0^?@=BHFjW?Rshtk24x^Sdrs8my-swBG9;PkVDN5m^*Q&FVGY z#PFkn8R4M;mQ|=LtFyWp0-MZG8BvYvBQ^2*9?NxGDvf%fpxlyy&gqv&4#zKs5myC_ z1oND$!SdqnL0B(fcF+WM8dkg%Xn=Ln3V_suF2m&Af_uhr7SHle}0*xbTeQ#L}LjH4&&Qw_Ol5xO-}mGmlgPNhLhKKx_RJMU~C z9DLR7CWaJn6cQqqwQNzxvd~nU>HW79yY)62&7>$+ayUMjhf~Gm%qWZ1A>J+(m*Wts z&xleFVryHfHe1`17uBY?lPs3TNUX~rB@u(Bc@{*E^;~41ZuGS>9+iH(HvU90TS|YXR3h0(mDnbgL`$ zN6D?Ca0o92_#Qag$LIqTx`0syF$7^OI>8CS3j}mf5N(ibJeq=Xc)@^R^7tv_tW_@v zr=JQmm{k@G`ceAv74CtmVV7iDqxc#52g$MgpU(1S$i?19SzOr{+;;i(U zN>tP&J%#>ka2astYNZg66r6&6Wa z0)GZROzo7D`Yr7~@{WSC`AKTAcUeS@Oy6&2Oh z(}<54ZFYl4sBf@XWL;{rGb1;sID?Y#@z39XAMGvq5rsm;$2y0+ox%3$$#o_8@f1%= zFQLo0XY$1%Ij^6~OcEU8&DmLVg*=nZZ!GW5mZZvS?KbWxk1(2b{N8ery4Pm6>j=hZ zbRakok$cX#SS~3K$2K=Glfk;2skWxPcs5rySA6w2aW?d4%|)Y7I`T;<(;5hKWfNuD z;6)MgypqdPjLg-^s(~rqhL*<{7KtpB(1C7FKy3Rq=!fYOn)&=f?IeaOPMR^QZ71a$ zuDlC7RG<-Jxu<}A%3}g&5HCM=Bk>WyGJoQUaXPHS!I@auAnI2q;5*D1!2B4z!B9UR zrya;vdov14L}Qm~H4?7Fr7qENm`aY`tI@ZJ8)* zm~GSp$x2%(07EO=ACEBy3^a3;_+@@1npM{fvvum*`uj@^iIBTqo|1&snS^cKSb8iq z(bjfg?3yx{)0Y9<@#gIK;NW-`NCLjvRR^+cO?bWgFsS7bSB1`iI-3rRAF@&wlEyx9($1B31`|s_mnXo_OM! zXZj|QZv64dzH#dmjZTdL$dveF{;8T9%y!$OZAcKdMWsxQ`G+dm#>v!<9j@dTe+JwE-kHm7FP5F7}yX}X;DeRc93Ej$t$c#sPUl|%1v zLqlyEJsf|kUYZb(h*NSQK!Q*SYB&RNhjBqqF<^Q3&~5}QdDZ7FWC98mcaSYv;q`!1 zftLX1zE{@{jy}k0Vc7wKfehoS8;nF~W)b5~8YG@XBE22&Z|a5%Q{|cJgFH^4BxBGZM=12ViWjKiY*e( z@sf2TBc$-Fug<6+K5eu$KMjGz-(d*(X(5C70--^4vad33Jcd51FzWkQqGLw+8nK^S zStIrE`jp1Jgxw=`RhTno-=37nul;}M`VPRhs;mFp_q6xkdt26?mSxNG-h1!8<&}gG z5(r5MqwJkRA?(qXvRk0#qZHaQ%V;T-J=y|gbr-&m=u2$bfV7SNv_i)j62&GD8*$l{c{8_@+#?%U4#F7$%Yx!rY^75AmL_4eM@ zHV8LZe+F_;ULpISqjL#eH-@{-7kmpNkO>7DP_Q=mkHfiiWCmlRLZBL}S%_B95(vL1 zk(6TqiESppN?U;qI)06h5pFL)s{xRDaR{k^dI92L>Ji_Gp4{VFJ96--!$Iqci9=;X)*FL+pNj$QTPlXIko$rc`BZ{WF?YeQg>-byzOdeDzcC z#YF!r*Kjju+NlIOY$Xe0(EM41{^~lwBs!s@~2c} zRwDO8a3Effgx8d@CHwW$UL<)}WV-wDd*JrO2)cMQe<$Pxn@3(5rPlG6%fDB+`P-Zb za`|GX5)V>D$1+-@E>Ve1J~djUE>#3O-1Y7TH*qaaBF+B|y(2NfZ47^*-f~~zUUTDh zi?(S1S3F4$LH;j}Sz~)+1*(bmLblx5+b-C4$+oMuUAt|Y40BA9<_y?n*lUcX@sc5{ zl-_n&I6w)I7x-;S=+AJ%yWu_XS@^`};o5o^?&AQ42tIG%#sHTMyb*o@uIT_IzWL{z z$00v(c;HvyXoBd%6B##xfH*GryikRktB7MqT>I2(I9AQ z4#~`NmBuP32)RI3qiRva)n#E`tz}(J+Fhb5p+nHbBQrArxkb*i3nFR`_4iLd-3=9r z@+_MC^iwL%u?Rc7LbBSdZq}>b6sTD(ObwsP3CuMr-5FeVJIN)k7Ljdi&Z}*0)W0`~ zAFWd{^eh!4dYQxsOClZgglu&ZPLU%RE7z(k+T@yQqt3G9*T2x%1!CS9Pogj|nO$6= zY{V6?RH>O2l4#%*J|q`947x$P&cfozd82#@$Bj4)RFk#H*iMl!Tyd3i-mcGOh}LHP zRN`Xim`mhXbf`mP>gdRMRTJ!*5%xkUb0RBAP(65pv3+D@1omA>+xkzCA&8o6%@0v; zb3jzLcQaCo>$t&X=EQfvdzfqKUJLM84bT#A6gEMXBrPqmj|D%2r2yViur1x2mMC3@ zdYmDe0R3xc2FmWd+QOvTKCe19f`$s~H z-ei_}LvkL|AQ8l*7G8?Y=~waJM*e&g^kG?VKWJ2x1ndK zAaQ5JZnxP&lnT9Wx04XuyILo*#mdUH%&{I)iW-=oWKHG6*%z60!C;fe94bkgjlomm zLYKKKS6`Z>%;pO7EC5yD%?iMXxXw;Y_Z74NUwUA6$~ed->=WF#?OdR4feO)rNKsk~ zlkUJ50#0u%m7r-b07O79G(!S#r)y@ht}FCW--6tQE)Jl~H(}4#cSye|Bx*s4tsQS3 z_}zidKw%>hjWaN*H><7CA(6qIJ1sO2+P}kX5>b*DJXeIZ)ZHI`NF)+A>aT|E)1cy2 z*uI}(@G7WZm-1Xw!a?aQ%o`_2rVGescZ6&YJUH~rU;gCBH^A*$Dh0Vb0Ty{D(p7lv zVwG003^z0+MwbaBI*Cj}tgr<=?&@%;s<>Og-v4i%MU#&b|8t54`UOhN3QB~&WBsMX zl1_)pjnY6l^$USb?A8JjC#`-YHGR(#F`T0H>56qI$d@XVdWgVPe%X#VbzEqv_79yd zZZt0Qg-9fTLM+e`QixMr4VZ!hsC^564juDOt3t9)HIfpjg;oAWuULcnrYp*kk+`j#mK0&<9N%&VUphYAAedOT;`IDA!G-pYvFiGZYL=Jx4)mtcbZj8i4Z48b z)(QEJhe4L%zwJNqFJoW&X5s*tV@b#xz)64*(Sz-P#wML)-A4X<#4OAz;j>Mp;fjpX zk@8ug{o5tn;?Bm_@@hN#;JM^>W*fQZ=vi(z$<3cb?A|$jeNQxP6fW^d(&(F;?%TWG z*q7{|s9PKch)zOpv-`>GH)#Q#D37NE2uCbeH!~68B5+8OMpi9k&l>*aj+x~%8HTdd zXg1AV-H|)EOq0QECZ+k4iSInR0&RN3|0D_<)u9}7=;GV@(>aZ4MxWRma$GBDi3a=B%UNXIm z>C_LS<@BkT*lLxO#F)wI@O0g5sL3;~(e}#C)B}XMN|mvXhbihtzDF`9ck!2r(=!v$ZE2Kr!O2$eFXwvWUF$E_5rQjVqh% z9VPi)==t>3ena5=%sEM z4g&D_{`Adc&oa$gKPJ>Kt-Snl?$sRpU&&RICmlTx2rkHoK8uM;b^U?OI6xfXa8a8&0Dz=sZ_!Pqup2E;HG{~au|~}e6z>W zN}h7`Y+z7T{v_f&YTQuaEiM#=J6(5YCkF$4=2U%j?2R|Z&Q(B74@5o#S-pd$7;=WI^vo zAopfG9-lL8z-*5Dh3YspFgRxRUb12$e~36We<&HMDzUZKo4cakdh}&;bGYFY7@@YK zJ}C*c`0Y*px*dqKvo1g_I>iBDC%Y1)!oH&iZMM^hoBvc*TvzLAdPCjNM5<1U-=Bp&UA%THa!A;7>%$1;1obfmK0bT-21%HQc zG{K}+75ze?)k2ak$wF*k#EP-}UgFGPNSEcMDh+lapYNkSsB`Su6C#x5R)t7X%GGe( zF4n`dtE-M$gS<+jRq*(HyH6*Tnfw8lRwa>J8u*tjOB}_u>N=6M(p~KxW(vv;+Wg)# zXN8xZCyP`VlvPS?x3gR>C3vAw7kS3f)9m)$qu}>=HDw+aK6J)k4mC}S`42^V&$!=$g)Da%9g(p*n*nK=rFNf6w8HCz+u*%LC zYK)L~e&j;3kEQS7sp|Y1UyYzo9d=M}s|WF35Zla9<9`Hd*qq>{0(3^uT4R&7fs7|8 zjs$29vcNvHbpUh+#saIFJc0x~maekWQ|3~YmszbsCR8%q%l0iS_stAi*^4U#v5Wja zp8RN5BU_xF-k6)~R1p`QPrbIIsnNpbtVvYG#RIR5-TTau>A|r>H(kGRk>>#_lwvf< z_mCzOS$+HMRq8V}8?M&|eQ_U$>s0`Ml7IB0&9>w?;c=dR~CV~D*JDd%$9f+U4pR9^hDuYp-x~3?j zEDe;eeYQ%SC8&8$s|hK)yEj@|YOktK5T~Om`)+7a{9t}xL#;3;Fk0q{Iu=8HX_(hS zGSA7crWAEMSP~YhUVrbsb?T2=@!*Ba)W6G7LplOF9QXWt3T749!4C!U-2tBN<3ngT z(XeokAg8?$_${RC9e>@h3N=1-u%3h)J^@TZ4lIBQW#|)OzEZ`nNG`iOblu+5(-IYv z=TIU_%1S;~V%$DBxG^$P%=KKhAnR>#SIPy%>h|p)gw?LyzT%(?v?eo{A$c&Upx@pQ zJs6?>qLGtGX)2FP%4Iw3D82sar|Z;*B0{(;b08Qp@lT{aLEg34}0;n53*MWnQgdm4+uKV9iy6i(-Zzqd%a- zZg@>9eyVg;x<{}mTotp|#3lL-z5W#0vUIm@RljUdLyZ$dV`?d7wsQ6$i3mm4-+XhO z`m2HgizK%>AV=j&KsBnywR*<$zw8~c> z@l2{K1Zv*M$i~df3^BZW`(uFV%7p^`S33(&N=jW#Y19_O9vQ4FGg1GPa5-f$WfOmy4L;Y^ z4?nDH`eCQ81g6p=kOL3E+?aBRNo_;ct+s^t@UvklaJ=ByAHO+jH5RK?L-ch6MCj59`d`DAws$|Bq?@h&JUU#O#=ff_4OG6SHc!mIoiQf zAQbWBS>}+>lv;lC&1LFSRjF4ZRGrr?Bv>nKC>*)5+W20A+o5rdQqTE~Tm>(tc82eX2v{E9 zZsgxpID2OB4LnPhZNr`5aLtmM4NEE51BI1-lLXjHC3SKws>nK0^l&-JhOned`BnSMP7EYOeAYNq3Vr6x{Xp+qnoC(!>7U6^RZnIJw%@qJ=7WB2R+Gn(0elrSA-MG3s7N8!<}$J2zS)p44Ko}E+-gN zN%B5w-s+zlEIEm%dRJ(AJ8O|--J_!`6BA>on2A(Mc4K>awK`f+1U44BjTfCCZtmzS z=ALmL6tljvo~_EB{D8$$mVYkJZdUIm6#`VV`j@|~Qg544_r?wHv{#DO#rEKi-0TH= z8phM(x%Q1#2c|0n&ig~Kj%u&~anIUfSP8B8Kr`|T9w)jf#a)i2nCNoeEZSGjxOrWEG4%Z|H@AR=*C0nxdcuof~1U^aN z=z^aHfHW3ESQ{#%QtTh2gRWq`-~@Iw!PCEy*6Ajvr{|`p`-r7*vZB-q?yzF&g*m_f z+1aP4-_D`X?Cjj!?Ckw%W|?#csY78}U;jlDT-n{2B^jJKer)>l&sWgTb2+N=t(|aN z-T^n7Crr?r`$;&bR-h!bZ$O*=(&V?D&|~Zg9xdPt5M7YAh6_#bnT18f@Bkc8_t57J z=k3SQqpFhRc$uc^XV6B!yL+jzv5G-R1w?#_x{l!BdV)x>s90LXZE7E^t>QJdgZJVV z7MI86g4L2|pZk;RCo|K{^7L+&3Yk`(d1i(BN>OGmyLc5wy+5@yF+nAoOxd6^8v5|i zZ5_?!=g%+K31nI7VF_QRF_vInA)&wV3*^0IEqI0^+p3_S3|whJ?8BbGEP(${uVSpp zH}xc22_{gy@DG9r%BcL_`j0-!<0$vu7t!~%}c&$*D1^(3#+5?rC zXHZX~l8r>WctfPv7adfONIX?-D0noF-FyqPvkxC!Svj~2DPFT}506WmGZ&P0SvM2| z!zE+Ogp)dN_WN)R1byak{;wBnSlIspzaF2>L2Fmguv^>!(i^wv`KG=CEk;b(+=FY+ z2ciy(O05-(r`85nvW<-+j@)+@@)ZjTx8J_;E6=>C=c=nVuE>wDl+8Mm0{xYG7VSHFIXVr#$2L$5{jaXI=KOZGOwXM- z^vFd?>xdg5@^k%i^E zYVVwxh_AX@TfA$ArU+r{Sc3%WskM#{DpDej$TqktRJHovd#luIy2I&}_J!H*T+`?o zkK2xHU;e&h{-$cUWZ>7#SHA$atV=FtBXpE>Lc-0ar#HMWH6rLWH!;8A*@hm!V} zB{4ID5c-xas7Op%?;yLV4^JKOUq7p{b7V43u?gh}Cc}`5%iJz`GOfE&B)iepbLo0y zxziEX7%t#&M{IhSDEBHl`{-q8C-oPk-j3YFHs?%ea&ku~INM;endD4_SPHWutq#Qf zen8oX)Ro2&^n99VT%Y%j+e)=gg<>z4lW`PNBfS$7y_4hPu-@=jFG4L(?Ka%+2E0ZH zx}yQL>4eg6G$t%~*kVu>yICoVOYA`*B-Lsr8~a+0=QZ*XCdo=x#f*kTGPrn2U9{;@ ztqI2L$gCRhbsv3Q>B~iQOFMV&X0WLvJ4h9{SDOS zyuH%5=xZz2(QT(>2DT!31;K`j;OAg4`Np{mtBNEL?}qVQZhW;BT#9%fE#Mz|8qRzv zMCG9m9*)Ns04p6w13b#wJWp(}hjCC1I~vq*jJ6m~rN+oM34SlwXE<%gaVQ)u07FRt zMdZ^=1xFThxk{}|MygS z`{lw_(K!dvm$nuAY+K_(q~)|^%qkN*+}*`cZ=WL#sBZbQ&z7mz)J$}Se#Bm`8?t~b zae^K7J+Q&$VA=Yia<-72@Qo$OH~rusfoX-9*i309wtbyc6L^Yh*j!8J`J)_FLRMb#1&O$ z1C1f2rz~i-2zdncwpLYMQg&Y79X~j5Aa}CQJCbR+fqGQ#a{V~X%;-No{d!G+uK2pQ;zV`@v%@&_DUvj^GWqGi6v8ew*(k50ZjTXoOJj2%PY}K{8V2_I+_x%w#mqLiWK;5LgA`egl&j$Hx+_w{wkBi8+~%%&Zmm{@ObFVhkI zf6|mDOm3~pWK)|oAAkHf`uHJYsqg82t)@otbRX4P!fsUTW*Px5zxCF3>Ju5Sf9=Lp z#=vB6a9CFR!L|O?)qd>%w14$m=(CeOHX%2>X{UcfDuk1A@baR~@y{R|G4R^b$!M8p z|I}_)O;1m+kB^raU4%IQcXU0Dl1zS?zXUOV^P9ET?nrRz1UujuXI9^TAAo>_L!_uG zq|9WND=MgS2NxFymz$cFu^nNCv+^v=*c1Z#bwdt&fs(YXut`Zau+wouE1ATl?l8!T z=C}XCzX?E;upWF`PQbx&^qbt@R!ep^BOk$F z6otcHue4XRw!Lv|R0LC&(%D$9H(@s~5)ZPu0E-bKb~ZnlHOec(54BKb2_ll%;e>U5 z{P8MuGY}!@gW5Ebpiapamj_kR&?~3j)H<0wWq8q56Y{iHHrH6Rjwb490S_9_do8dh zMz9ATBU>Spq8j`Wo%kdnaJ#|USx~`4mz&@~8ps3)pwSKpSlo${oL(&)ArL6AWM?62 z3gHe&@Dmesl?4bwpc(mC7BT!Vv_4gl=};uoMiYZNSs5yoTBC#BB0fKM)TkRD9bImn z39m!QV}t5aD$xUE8P&<#6O$F)PoRB4t@jb$zJ%WK6v;T><@F$myJe1KHB}3zVaBi4 z@ao*%MV0N;DLvfz5c3grMbcy&LjC zQoxSnGYo=JQr=t=f&hAGxTUVP(aJzW>pt(WLYNUJN7Rkd`Lu4=8AzgpM&-~Lgu|qM zr8;G5YISU^D1jcJUO`1aG0)0VzEIiUb)24)$08H%+P)e!+SQybH_C@KPR9Xbc-BXq z`;!SV3N zCPN(xiOnVn^{gOi%I(~l6UgOb)<;TJHKGlk4ppxH=})WFAJx1GM$6*-BK&XV`UB|D zWl{TJysB3wz?Dz}d4oz>T<-VFz{{&vUg>myl38X z+ut5WAOG^7S5u!L#ltCPo#G^h4n@}AeRrMuRLfJ8j09(=&Z9m;`uZK|iP&iAatE5E zu7ec5I}T#LvV$J}DV!Y<%nkzBxTT9Wm66&?UllZNKT*yn)dhTnWu=wQ7yyY%Up}k= zp2PJ&pwQ4;D}S_XaHSmXd%1DyDa&&2h}um3!=iS#gRJQ6oE47wPrj7T%)z`2W4%zl z{g9L|P}#H^VNupNJsvoZCln9XCyCSBA8yyl{WA6cbbPe)#f?g%w^^{0t3fri@BDS+ z?Ae#DR1^u4&ioxFzevkKBx4r@m$Ij~1)i%=%QV`=!6oo%T0mdC1o`%0nK|L?u<6)!D?eX(>yUALoR=Z~^*P|0mt=%M#3 z$bkv~8iUfDEgw=MNiX%kC;>+=UO0U8j8bUcP6r_%;t7@mm<$CY3ED#AlZoleJYL-b z%{Qlx!0Fy{G`*@wrTT4N;p+FDdTg+EbtNSN7LWC8?(@%)$TY2f%iqZBp5D#bk3?#| zUe3|tfcXTA5saH1b}Mp&l=esJY<6LHs-@oN5+fT=AQ$qW_%43eX@^g1YIRpy?Wq-} z8KqX=d1saSNXAa;JhLN+^FX3IFxn@pp+5ITIh+O0$dK!$T0vFF0fRly znX^UhVu$?_ZS{J#%NZz*wLc~i2&Azp$W$_cYB;Zfj52!8o#bgbFMXnCj<-mIHSc*o<(-zPL&J8$8wO-#(S zwKbssoCY_vw^38J>j`S;G&yu4z7w@wGHtAGYm9f!3NkrpXhVo9(U@3xc9neO1g4m}Iu3wz|74)0J)Tx##EG zYi*X7O9P=2km)#{@jH-7ebA2>q2!al4&`1`io3(1C(%BxbvxUr3 zfrsr2jQN%QH|d+r{r$O`nsPqD=b(1x6iFu7s#clYax0&$Q;fNqxB{*S`d@&5{qvAP zr}#&TpZI+z!Ci*pgPe>X;&ShIjJKCW>N(}*jT((o=F2vPVMInew(Ez((asiaY)#2U z0owiYPkDxyJahVg&umNTv&v9*>9NM%4aG~BI!sEr$zW-?s5EpIa$T0nj*Uq|;{$0& zpQF^P1D>?PxqBS!OdNrzgR=*nYv_I#uud8duxScz9Vd(k;Dpge6`m_t;5d+g@O%N~ z!GVLfY#GUzsN{_|ZJc?RW#6pd?Q)eYPE;5?wbRp!gMvV}Vo@MO2dF9-k%fLrJqaG% z;b3ofE`Qioqf7C`%+QF}BS245pCb7`{bf~=VMjb=o{?KE&SF!Y!>opQII3QLX&nN;v3)RR(MeGhrk#P*uy`tx8Rfkqu>B=oGhBp|8;I{ zW`ha|zd|mHV0v_Peq>~Tn5OwV9wopuT%rD=|9%|ykcGYi_l zmkqSXE(vhw;Z55zn6SP&Ar?Z53RoO8(}$&Qwv|k}NvzrEkApJ`9zVB+#<9EB_~;JC z579&C@bsmD?I z3`(OLUq(9nogTzSeMrRbgTmlD?LPt-0^@`o<4ZmTA57C`LFI4V`1Zq6mXZ2RbZ{`* z(bUv|_lN_%AfJZ(2@l|pt;zr#!Gug0*eh6qopuJe+&Exa(9rN)K_)t}vj+GNFYx%5 z^N3d9UoVujUt2mF>qP04p$LF@u~K>D!ihvP`c7nwpAUcwXMzZHr%d@LDz2}nn8g3l zZ>XoioqaYsi+Tzrb0|U74j;5mem53mvPXnk_4;sYW?;cn$9)NE6K}5ZY4$=p&0jCU zjoMW;IaxIl#EwD+9RY%xF;uz+ z2@BsD9xk2;hbO2UTgRE_u%kU5Pfw8`R6iN(ak+Y8lXsL%PL@oD!;^Sln2`5%5BW35 z6~TT!7o441xO%u6xCSgP0WE*4uMa^D93GPf>KKQX;cW%&jkgS*cEkF~rOy11&lF7V zlFf;!cX+BVRTlm5{khLfbE^IS`q$Iw{hz#cA(jv1wu^gv zVyH;hCN#HiYOh$oGth4K3Cq9>jxy1|Fn!3E#>k02+% z3^F>m`bD^CFGL|%2dKX#`e?zH1SdL&<^A_psCPB2chL-W z&8tvva}c+$%P*ooQ{Qc>;7@W%X66Dk?)P{3A$6l5$L=I=g*>VloQoE)bKq=jT~Xmw zC~?sk4I@CT(~_$|cHk~mK}^7o0ABwuC?W>|p@#JmKlY8_S9c~|NF^3oMqH7E7%FRjyl5skHxI)9U7V$8}r)_pY+N}sE2wXo8XS{bcQ>d zSWabnU0I|NO^|{C>KSxR>}Zo5+*CsJ(`yAsx`n6+YesLP(=D~v2qL2m! zq`)44WODo$yrb2Zi?mk>;JhTbgYcJky%f6f!L9i=lnyQXV- z5hFihWs2A}(|)~8s*}1*P~)vMBugsI)n*1bib#SdQg}}7mA5;hqHt7hdAnwBr}`A9 zgZfTtb~Xj#9`hOl@brCvB?h2gCIS+K_LObKqd=AenE>Me-(jhZ@84o$0S(~=I$H=N z43_GEpbF0bSiUd+#3zqG{^p8%ylU938Wk&NUIVmqwJ`8PMq}**`*ChAWgtf0n*VaB zH)5XC7!d;hQHwT7x3XQASl5$ z32109o$rj{1y%*P`J@vb1Cj@W2irmzJ8r^6x~M`9Py#~={13wl^7f-wqBB*yc^Vkj zyDR^1bR9J*LU;4+T1o!46*3fz7X|rLU+&dczmE<90=$U&B`RA*5mMCH7&ge#N3XoH z)cX5nvD{ePk@!@fprex@Bj+E}U-q(`pus9s{EV9MWHhkYMTb z`N!|TQ>O7m4E%Buev=xP9l040YoV(dlF$auNLb@&S7(>v$Rmtt#ups6&)44}H11jp z^JH%(&D)2E7uwo-Q4dqpTyE!*dq^(JVt1Ev^%W7biyx{c`VpcY&}9iB3Z>K4@^D(C zK-3RsIKhC6ovcD=nB3228=N)^pUsu4#9Ras=VT3As5bM2Ods__XvlaoS1E5dNPLk} zzlRW2*qst;Fv4h*Z`e_0@%{G~srL-%L#bS#6Yy@TOS&DLkkwNov8$VPLV}~~c=;D#cY&Z=aX0~Y^+GehdV~^JOoSc&kFlpOF$eBW+PR$YsK61IL-ENQ-Oj=ev zLk^zcXQI6iP%jEuYsY8}C<99k9ESo)@GXZ2Vo<Rz>@ke5?M|iEw+r z`Rvc0x>>?LS@prQ|IA-6H2kc@tQr^`TI6;v`j#!hi66l;*AP`&c*yDQXt0uH*x>pj`K+lzIq9&FzqkUdZhfV(^3 z4h48h>^8`dpoIiThE1!2URII~I)`2#ZWIZJ2$lx+Eu<3COqe*q#ei1_!+}ARU{4x0 zL4fhFTgOgZj#RRs4|;McZ7!8$m>Z7uTLoI-u%B0)5p$QIuhS9Ar>+(&&L=anfpCGDt~f3p@fao;W*3S=$JJ5$dQ#6a}_0w*j*AAoT!kM1G3=xiDzM&=9!Byym zCAdRGx!fe~@T4kt1bIfzg>I)IVw0HILI(A-l8K3uF@WYcN9iGm5jH^|x_;;gQNXCj z2`dn3AfxEqc?QH4Hj}b|$-eINN>9bx#5(ZaV?HX(iUkd;g19vs+z_+`Lup?0ri6C7 zvvaX5(61iwpIKE_M+8;sm{{*{7;C4kDrdjltsqB9uEJGT&6in~B9pIY$S}$idPOGj z09Wj4Y_Cu%zK@wrp2t?lho`M+@51#3LW16_Xq{blL{p#Xi~|7CaX`B&pH z3s=qZzExS0(NqKAWdQHo4sn+x#3v$f@{V!OH&!Rd{&C<0Tq?5!Q2yp~-xHF?ZzmJD~`M!RNfZ^3FS- zOZ?>UFHk&b4mhPnexvsJ8K1~u5i;lgcZgfQTIJP;rf;t?BrF=@-qt2awGgz4Bz)Wr zj4N_0!a5xvQnE>#m&fVgB!2bX&sM{;o$@l_4k**J=iYrcM|~+4hKs^Gx{>Ir;ttBG zNHF@N=@g682jhwLCUt+A#7OiJ5?(KBpVOG;oU}#|MOLf>aE$+EnEf^Y@{69%yotd! zQ89>Z_GWmg5S?(j*{}(loJNmmNHR}6jY**NW^oB7Bp9CszXUA?S!`Oop)T*Z^Wg7A zyqrMxr<-QGDqSc00zZp{auM|AQgZDaUwlKgJ7|*x#N1G23{u*R*2eaBFkFZE-0i(J zL7CPBWkdGnRHO7FA_YXaPf$9F!!Cm&aTVJv6?lDV+_WlAGt%ws6CQ^HjYT$wGi zRT-)hP2RZME-s1_wf##ysCVfl=HBwE(%z^m+K}yaQ>M_*mc4@szeFZB6T{#(+!a2iDeW+li^U8w+Px?dk0Hw`gTJL8*&c2N}Op+O$;g&xor-|Yb@{w{F*hxI(@fj ziW~B`Bs`VASYxS8<%FSc(IOVZNBzBedb)bHstRbt1=)5FV2cd+Hcsqb2l>h1-=L4_ zaWXuKHf0rvIzS#<_8DXoV%Y~)7e-ek+)r@I)pO!^#nb|5X1iKdRY&an`CWJ2kfZKc zy7Knh??-CC|A!4I+xq=oub*ZL>?aRqdxF2TCX12KfB$rh-ZzGB-o+iuu)E35&|04+V}l>iu0 z;@zg#Rp0|qR&F{l&j!(LI4YYfzD76mw8&mk_0{WtgCykZ(p}oa{gH*vSvv(I^0;! z7#N&6nZc@HvTN$(a;-|Lv%!Ek8CxUc`kbvIznH0!Ico@F4hBqfgb{JGxL6XFDr(j3 zwydoysd4bt*zz@ zn?%TRCnY?NNsfFRvCni-x28H7sE&k&i$dk~XsS_MTAnLSw{EnKrBbGVTrTH{S!5qi zu8)umf{D6VqHMp#)TV^e#cFF{bWb^7D4lehZJipf*=>oQ>=yXd!;MO%f-ho`{d|Qg z#wA&8kDTq``-aDgYyBo;N!m)r85!N81@+Fn{`w5eFGu4G{`Ko>o5BWpk^DH9l?QAK>~i7ogTTXPCYE>rn(>ao?$Uco zJE4x>G3XnIw}}SG^qy}u5hNFzcb3%p=Zj0ad==4R4LE&7x$@|R4HHd8GJCu>*;UA|7L}9Vsba?XPHkjVFitnAWldcM+ksDHqZ_w#X=Oo9D#B|KqhT zL1wFaWoxr6XRJiJnz_Y7w?8>@c(aVZeGg=7CRtIm8a&+~dAj z1t>=!c5A_~KLPDPYBs_+`py>K+`-HFlNG3RPzd z_#Bwuc*~=BMC0@Mw_-jN8#bR34uVT6n@QCU^VlYCUb#5<0kLzKzBO#{OC7s6XfUUUXos9!#}nJfYdY>bptWiL*qE!T@b;#V^#0c>4_&*bGvaUZ zl<5|jdK6#!&wrMvkJWK+{JeFvG=HdGXH#eS*0z|*S!71ty1*Bm+o$07`);*Z)YDwS zO@l=PP90Ywun)Zw&6H7B#lj`SR~OyVW_MS57tr4psCSTsdgqZ0DtGJ!{9U{F?z`Za z1+%BEJY8~rM(%M;+cf?GbxB{h*y@?C3Dg%WT^b?G@iw~SZijZ#zc>40Suk2cPw)PN z15fY9Hc!!4PeQJ33&ekhAZus?&KmF%76$acW2a5YqJ#PvH*Vq0Ek8Uag*pk^gg$rh zSx`;ja-gvVja7mKh6ZuKQoxY_H?d}dIxwIfhN(&7_f4jH0tKkwLe%(5K!;G)FjLt^ zebvOd>$GA+eQM?23ojhI_~Kg!QkLQ{1GTiwpqmhb#piMOwWNT_^IMG(KC6S^4|DVX zm^>-oqS&sASEAvp)?m;XPQ3&Tmew|>N9xAL>PFHj9ZSvb6qjaYRYpf^QA;M%Qq*da zmRkMhspaJ(<3$zWNu#mNkPf6$-uF7w)xDiX*T&=eBD>9LIWLn@D1D;32p-13g>(1< z`4e&&&fzRft-}*KcW*m&+ktK8V113n5VZaNFIob6b7RT1c}}qfiCGF09pB+GC?2f3 zX(w{QC1&;WLjLzv@{SS@rw3h23OIp4O+XmKBalfZ%wmvr zCHN(iXP$ZFNd8%8P9-~HHc6@5%F3QEE4!==T@HhgCi;bvyUSF>hhOs~*f%)l zz{bW5ZsddqBf)dPf^dAl&X14BAVD7EBus8*LFaEd>0NF(+bY1xZiG+6v9mz`p{*ob zymPQug`x?dKV67C<}=>E^vpA#*gDnJgCQSv4Kh%Ff(jh;j;)rc?;Bu@h@?D)f+rUf zeGG;@>XXX?`P+qAH1{0iZXqumGXQGuPE=;y>x!87Bt+&|F3RRqqnAQcSakm1Hv^Qvgb7 z_+pNXt#q3dP)s?#tF_hP9;hf~v9Z5irZmW?k5Yq!sSZzxHtI>N3b_JtR34HAOip{V zsUc0c>D(Dy_kSnU&~yXF>VizU^=&(GEVa;qm+huYSrbVXo91nJ5CsZjHZO4Z*H%6- z@-ejXU$6#ednFU}(SWT;T7lB^k1RGkug05-6&&_~laEn<9agirv7xqx=3Z^7)e6aS z0G0KA!(TtbZ_KmG*XZ%{Mhg*>4ZY23WEQ zk|%AXPLKKBaSOj*Gvd&iSRH%mM1ji6=HWQH)5Bi8V4%@_kxdum47H(E7PGg`Y8eA%D7a?&X)~sF&pA)t8;B(kIyZB7b;s9Ak~EhxttF}4q_efb%C;HVE(2v=QbJj8>73EN!)fF%U_TO*d{!d zDo!K9ugOgllNQgg6$Q=(d<1=Oj`JKtQY(1=lsI_?!>$6hz`8GvyGg?ykh`rgmYtcZ zmpB~K;;?2)Dp$)DO09w*n-ytx`K_;k4@CBsF*IT~aZ!XlN;1o3(srfE`4gVRtQ+uU zI83>K!H4ECog9wHt+Q6-r?^z!y42YT1+5j=zj$^ggQP-MnZl#es*5e=FqP3oL_@^^ zOMPdZFy`eF1XEG$zW#K%3_Gjj>XNvzkL&%@bw<<5<#V}19g(uGsmXKZP$1>9S{&80 z-F4+H=6#bgu3fKp7wgit@+7nD)GPfXi+0qu^2Qr0)JsZa>*@JP4fTbNXJWY>CUsEf zso`GgTMO9s^+Ti+*FZc%j?)=&6_781yOq;%Uqs^qtTAb%g>#6pUc;G+YMSehfv$p_ z#{mtt9k=fZ>42HgdYA%SKVqiEeiD{y)>`?x~MI z{+PI|D&X4vyca$_`Rrs5qGrzfQDH7?EfB-FH>7jRw0w#_oYkp{{)q zO>AG8(P_7&L)ymW>_i3ivp@dP(HwvTWH#hj{}$*ohAr4_IG-*Bl3_F24^d(DRvhbi z-wW^=M2dmWfFjuM1V8xX1p1dP}F(TDFjMN$I&@B;@x)bt^D=Sse9`t)?WJ8%z z6_>B1a?`}H(P<0vsOKgQ9omD$`3yI8mr)f?Skvt}v9m_9| z-YB+5>xuJ?ZnjtTT|dgF~jrbhUPy~<%$H8dF1E~)}gVyre_cb&QV7ci0scFY1Zd42=- zgd7kc#xW<+y~Y3A&IHj===+^?gMSqSItURAOz;DMEx^T_^10x8g*O!r0DzQZ(jQlf zZ@m#u8;4*C>^tUs>;i^Y3jM=)$V-*WZ0W<|{H5PM(B!R{`0)C9e=w|SEya@Pv zsmJ9JC)eQ!ot6=6480wMtEi~ao4?9C>C$&DJlol$jIAoVJ7tv+l)?S_aF3eKtr_Lm z(4fs#EJ)x;z!*jVJaC7QC_O-f4%WeTYziMB`Z3v4NLFGe)ll^ST65FJqiYBObka%~ zLsjqrM@gAwGH%bT7n_zlikk;i*ZhRM`syEcDq7F1HrgfP37Ils&x&|F=fOF{Tt~-b z6?FC=<1n+uiVjDo&rq+fNS)Oo>$&xcE6AVUzfaYB(36o&s9F+%defLD?&?#hdy0EI zhJ8h4siY?_Av|Vd4|E-1mnI?WJqNM7#ScI9RbMzDb;vvo_R}7FYn!-x)^5AEX(@Ln2#|jci1dN8+_G|h8 zZ>up`;jK7%1-CDzbJ>8vAf~|LgV$JLh{hAY?3P7z`$I4dsdqrcdt(qtNDA0Hfp%8Zm?mvzJ8MW@vx?7XU!Y`kFW0lY^%EZ z&wW~!Jhk`UmSt-$S69`Gjrb&Q6Adrx-H-XYp_9~P@fl}J9beEP6 z=vPYDhaUfPpX`uO`gc$q%T9Rro_)^moI}_8h@-Y1KYYNhOY+^b!RHfwLW5MtS2btR zJGsLQ83*d zwxJkutPE&~#$bx->D%gqkV zmE%%CrL@h)gk3p*S{<*51C}-j)M#EfJ+@Jl)Bp?%-%{FS6Tf;Z^^bSg`3=&{eEmpJ z?72~|lsAAgSzTSu$w55%qA2g@slPEY0)_FH@4N3o^x|U=Jn(LJmCL3u2;OOVw6*oo zmf_aN$A>Cp?<+j4N>fvlsZ__eyGMfFo_ek?cabSa`SXAL<2?C)l0d@^sJlYsuyp)u za;rc$sF-t2Z8je0%AN_k+HpMiOF6_D%rat6NR z3QlQS(?-pb_=>kexiEMr0rod7so5C?E79nJ$*&ff8 zXSLSX&(znuS#csW_1Syt-`=pHfBpLY4dg;2ve#et59DY%LH^n_3vCppB>dKBsy4lE zGQ~`%-MN*l1;}|cO#ktZ)8zYn8qr7|{uQ_+dthF-Gqo8Y^KQL<<#%Ik`s3Wn=UTAa znlJ7IJz5ReYm8vVr-l6rl$}{or?|(Ra-Sh?hM||>iNG(+9^ll0gPiWe0KR~4eod4D zMh^!g4E%!gLO#t)eA2o%FnYwQ-?tpOwek@kEBJ1dPOI0GpRf610(L0;9p%V_G1cPW>Cv7y3M(6Gp&GYHJPT6Lgq^mb(OAO%OEbH2E7gi}{VBqM~j1mMH&43wviS z0>-%>J}GHIB7ew4Mtee&~i#DY=$_T>b@G^Tj-D8#+f;_BgXF zojQI&o`tU}%2qq93PY};k!Wc{Jx}D=dsBa8de0WiHHns%v2fTg`7JjnMy(2^dx9@8 z>VEW*&!{j-NK}M!yR&FWsqlAbz3tAS3n-th$_v`FbUckS zS6yJ28MC!MU6rnZeD1;lSDqU%1`=eS{Oq$y@>4FGV6sI}r;_D&K|ND@zf;W%C=BOr>kgQhyYe6EP$;7gG628<;ogv zE3KOF%~6++vu9Ab1NDQ61GkS~RCMSzs0^czGhVSj1tKWfvfBLB3z7%R&~VoW=5-^od6jiSe2m zqdc?RRJK17q*vV+VwY>SGKmp7t*603a@TzE^Pm4?my+Jb;mS8?guNNEJ)iyf$0&1M zOJUsSW#GH(9sw% zCLLBs#|UpUq>hNJ4h!KHxO_#qcHWc%RgL`WS0m(4IGF;ip-e?5%27^6C5teW7u1*< z3oCUYO#&9z2;`39d{bUQLKD(e);r4lB?Xn1WO;73iYMsm);Dj@$Y!Vl8TmPu$^vVP z#RBqz``0c2P9{q2*tvDh+12_h25(SK1h~B57r4bjh@Y`13yJ`nkaTJj8UcXyF#|wm z=`x^5nwl*9>2hlO#n>)gmcR0wA?Hqo6<~)1V#r#3Nll8Jz!LyKx+0t9he%3GB}CqY zyiG`5BxJy~l+yy`xmhkAA}=sHl+i3z9$)b&V!AZBbPF%Ql-1K147D*^rOGKcvmK!v zowh})V$1p`#a1V58V>}58MN#@y*J)?Po9(6jVdfzd{$kahuAJS%3#<9UEz8rCMCr4 zGzN5>w8l{)gTr8FFmgHQ8KfkC{mjC`ndZohBO>sKR0*0|%BSg#`~=;t=7o{eclRw0 z^Ol=4x|v0^Jh?JK*oVnUQ z6U6iKFU|rUI105wHPs*04msRiSY|KVAxQZ{*kwvf8n*m6@d`A>pdWZM?J)U;pb#(n z8d8jyxR<>H#Qn-o;5AB2yk--!v@6-NwD*A<1~9zHYyzJ7a;`o|G)`K&(t?Z%&yiC% zZr|R&Zy$Q)88Ue9(W8B*PNlvmm5i_%wSfS{>(=a2mkWl6SAX~#!;=>dcX>Q^T4trk z(;bO)kh+XEjg|;-SWdd81RsRikM10Q6%;htm__y$M`J-jqoakZY-SN|{H~d4^RB-8 z8KYRHB04jL{Gqb85`B+27V7FsIGBxD1~V7nMhvTWQ&n@Bu3uzv6m)g<@iGyNE`VwH zccd?8gSf))*J`QVRLm!FRl;=C_ih8#KnGs#34#Rig=trJ zr5PV5d7XFz_pYfm5FOYB?_JgAXFWmov-xg7mf6{>lZIqNZpsd$l|K~ra z{`t>0-axrcsc*7#F51MoR!d#oP&h1QWznCVe=mtL`uDkM6J-uf9=m!-e|YeLTefXG zaG>%>uHDY}%CEU*{rWRq+9H{Mh-_(S__VHW5HF_dFkh$8zFh26iTGypNocBQySk59P_aPQb} zf?p8SQ#=i|9^huIAbp^%DB}YKAS_kjM?;ko{y^mfz#{{PVJC`^N72$eS|mZnQ&Qrk zRR0KVYBcqy!hj}Mm7_CnY786eIy6Ri`DBdf`~2vK#_-Nz^zhKZDm9%vt5@G5R}n|8 zZ6F5Lrj0EZ?ySfaWizuGm02#my2fZs@Pta6{5#|0g%%`u;tBFkxNp+F@~92+JPo)*>c5>3m;W$Q2v5?+T!7tP;!4;p@EX1haDTKy$hcy@ zfx*2{qu2pift%6zG8!dsLBW)mcsVuLN9!Aur%oXD1(XGW=7kFrr@b??O?l0e6HN=J zBhFZ5B$_=-i@VCnl!83gNMr?)sD~jZKPMhj#qIXEs(hg1h8u#Peb%c~DtoD*;8A)r zozB$QqV`U6gEJb9E5a(`fFwgz$lY!v^hThmjhg4!15r;u%pe>MPdvp(0#gN41YikEYcfMY3eE{(0k{~%+bB*xj!fiF(Cp{up)dO% zYJH-=Ue?kny>NX=QPfl3a+7sdjh>#Ez3M(mb1OMf(LMu1yOz;Mhu6AaFXz*4`+1fO z&6jl9o1ER<&V*i_sNb2{%*~$Q!EP0|vdzBHY0?f>!pMQKjNDHw8iV175~=CE61j?g zjXf6ev7LB??B`q1$DPCb5C4?3qj#v+H$nq_ zVOr+EfJ!B9{rnDv-(wjSs#OIJbC-J1ff~t&g_f=ot127)!(wSLf2vf;HBjf*LEM6| zK$sEa8!700M&0~n%nJii4+f7UJ( z7B+LL0*X#eo>G+ffc$o2;gGEeF=TQFxy5fZ!>A`>4G-!{k3ozgUt^|D>`u=`h1uu$ zEcg)koZ$L^s>MC>a5gszaQN>?x~`q-K6bPIK#rUvNYu(h3ROdCpMog8@4lsT=ay(e zU*+O;zkYEFCS&rS$S-B(1xBPru7di3Pp>7vyO!jlPu3zor~s&mYvJB+pjiPk9)yUo z1)c-ExwjDO2)~Ci4HjZP>F_T42;T-3^ggqme~iOPnVk z9f>^W;hj=^)=%E~7voC@O`(b=^}@@={X~Q1c!aoldC41)u?L{PtIEGcw0E#!tuas2 z*}UD=t;Fb6amZEFZcB8Q<<5}V;m?@qYuCf$r;p;tZ-8QVQshWq1bDpEg|L7?%(RP()m}PA0fONx^W$5iP`&Ui zsLz^LDGL7t*wWYi7fuu(y196*CQ!*U8Uz&+6;-9KfjHOVE)VuA=W=sjYM%7cvpIL< z@hbZb!2($hgv>f)+bwMQyn=i8C&fB?TqemMjy}ANeBV_)Rd$@kA?_74RrehXop`#r zKhoIL^8UcF#86~^uPs=^H|w~qJ(FhTkhzF!DQb3aE9L7H6Wba@88Ys;PF+x+4~{K; zCX;8cpOnW$HLl484Wc7+tLxa?E$H9&%F5QP%#@8+Q`X!xo_OqF$!up;E#@Nz_?UM< zy&w*HrXFzi!{A|pzJar2{)MB9S(n`;^$rN>3Y)-X0O!EZFjPs>+iqrP1jsUm|~DvuiYmFyvJga19|}pK>TC`+z)> z@5{|Tgg)|wjYWLEiLc<3-_JD}dM)~#rLIH*vX-5x4?k>*M$!I}O&8mH%Z~Ml#LjB2 zQYCKbo-ZUz@P@!*mZrtyn72N7hC2+dONpac|2M z8)H(9J`k$WObA$KG&RnE0(~ACE7{~7(+tO|qdn?%FFb@^dicBKJJEY$v3sIpF?4Xe zZ&R|g-`U+$CFkTAVluH<(KxWAaP|epquC;LT&_|zy86o`*35}emsRe5aI$Q0Z1&?n zmrOgyEsgG}Ai6;I1gFpi=;pp1w{(NGl6`S2_`OXqVLzSSy=<@a>M{R=nbNnDzJyE6 zgm<}K5zIgVfXeg&8kB`yG%(osuTa(x8$E0tsoKo#rc(z4Yxi2?8e2)8+{THHRXS^J zi#v)YbM<)@Sz56w>>E{da&itRBKdAPy7Qyd&)&ayarmjHzSH+~f5p0re8(Z1Vx!)9 zb#eas`nBlIVe)S%YxT9lTBXyp|Af3!-d0$Mu{YI+e!F&U z>h5J?bZ`Dr(+{4Q9ZjrD`fCM_a5D8vILw3*t*8EfCZN|dpgUzyEvBY`fBFB>Liz=F z&OnHVlhu?7Tcshc=z#YOBr#oela2fh>SJZ@$Yz5h{E6%2vUTIlL;327JFX)3z4g}O zZ*#i(`&;5UZ~O!;{}1}BDq6HCu3)>Bi>|nISsCvx4Y$`Ai+8Uj|AO**_tXrBTl{PD z4D}th-EbcTU}K*Gy@WmY|9C!%5#W&+A_is&d`~_q--P}8;P|z6AX+DvyB=n3T|@rk z*#UpkUngB>zkz-*f@Gf4&-=&7x7;^g)RT9jr6sf-{aR65v}6tN^2(O_-6M{zj+*Jf z<_q5S=3O1<+SY0oYw#>!m@()8-|ShM4SGKzGn?kdm3x89OD7}2_k>?u+*nLB*dM&! zef!fM$4h73CmuAx(B@lcNcx7o zNwN$6hwy>GA3P5jmP&|TE^R4U`F~z=GjP~~OC&%U{C`i!HaI5?mjadxf0O!IqD24f z*@D|&^%g#VkLS*ZwJqFG#Mi2ei?!K<+yY@#%_F~ok_%`(c@Qyj6s1D0ir%e0rx=h& zT}~99xz3h!UOU}$pduN(rms}h)$Qw2bebL9GFhp5#8KLKU2@~b5;v z%pX`Q^GE9`pUDO@x}T+W06ihkyMpfh^72+WeC1ZbY5MYe)PaZx<}OrjJvSS8>Xd8t zXc74t8W(W3!fw$4^79~!tJ!{2`Eu25i=n=K#pD-g{W4lh?Dh{0H;$In%y{S3C8lLt zF}Fy+OrES9*RS{Q8-T?N;r44I>k5WLYd36IOUZ;C_LDwEYk_CDe==jii1wvu)=owrzOwPlBDC*|rUF!d;aC2fLri z$jg)Po_%(IV%!q_XK@W;WljeQhKv@Wz%Zn@3+H+A2z-={I~z>>#l zdQQ&6eDN*{!vR^)|CB|nBh!?_g+!>2r9&g4(fQyJ&#f=`9WR{qoVd?SUW888U;ZvT zb4Ml{b&&6&4KI*R^d^4YYcH3tv-FgN1`C%oHHGt4=v;nLo=rveSIwh`i;IVg!FLit zkMNtIvz36fFt5RA{xxaig=h8oF6W;#j@t~KF*vvZ#=!;)|Dsuse!lUDr_?iYt>gE| zCl_tX6{1sraUULW`%1_gZ9b&;SwDkCB^$qdc_t>%f=V%EYH>~%m2w^SX-`5q$5a2v zU*zzS{|ep~91p@h5itAnEIeNf^i>5s8R*H?#{%kpnHm&grx*NMkvOd>uK2ktehi(~ z42YVd-F*%06Q{1aYI)C|LjZLl@|V=4XnL?UHmFpO)pSlwa}S+3aA4`onHP<^f%3Jr zt*y7MO%}%IPM(~L7be;IY~!^02fa5o3|DQfth%bIv-PHl^}82NoLJaJ*(UlLAw2gp z;Ai2S7hziV9gd>#9N&)>UxkmWf3~yqm@F zl@`Ld8NE;@WwOy+W;3iTL38AZxf3VqTu+{G-1J(|`PwJw~ zy#T}-SG~X*tdjC;XbCk%EwFK=)cB@~p4Vsg{k4bg zap>eUMAo6ZnZUg)UlzY)G&&u5;HrX-&Gw%lSj3ae;-Q=W*R^viVyvu7s?)e&u3k=^ajZ_Z>07~>gYwui1Vx7{eo7%VXvBSNLp zRaZLVo{)Q0BL<&Zp&ro}3dY5jib2J=udY3R{d8__cD6u>nD4iORmVEU19O_510GLr zS6M~(z}J?mc*KzzOLL9u9-x1qKPN)qCdD+K_Y1SlnehGyE6Ss}wKi z2+`GlD%v_=v6~n+4h9sT#~uTQ*1poTg!hTK}kgnfId zLbG70nzp*6O5?Q7C7a64ZFP)}I-v1G*HT>NBO}GIte_9W1HsplL(j!)fETWTFDRc0 z`ynfu9G;7MRCqc#1AG_bCs)phJE6ZKyV&Cr0=;R1_*~6cXf8NX9q!b(?Hm|MG&OH& z-?XX66f2&qZmDYP-f>@jzw4gl|Dsl{a0ASb+Vjhi^ZuzC^eq%R+R)LpK>i-(PW84r zmMf>mLJi%e?Ng|&pe&d|xeN7;H8)Sy8kJ-A_EEcAWH61^c*f0^ZrT)_hq1;EeR@yQ zMj=m(krhq2i=J9_Ofewjd4Uqtx)BEOFD@=z=0}6*QaFDcYkeu*elb?QY2n66Vy%b) zIWBx5KyWPha1GwmikwhlhkYt17oDm&0}}+_Azv0sU`6@c1d$?%<0sz^PmwR^j^Ar0 zA4Tg%WHX^XCaLa*N+Ku6A(1#_0s@WG8R5zznWlo^AN{OCPReM=7W}}8pXUFp7_`a;Ld-hqF?Sgk3<9-|1I&p;;n6~0+0Y_A} z6676QnDnoe6cXG7TtwOnhbu}Wk}+m5?L(R=&axgG{5}dBq*L5Hbn+LDjXlb%o-Z3L zdF(1$qNUV6#1AW5Qwo&ssCnW=MP|Q6zQZD!&dkpHF8L6$knf{~&rfSh1Vh3yCHg7P zku{xZ<;}y8ZMK!DF$cQME`>?lEi>>YwH;-_9viu@33e)X8ti?Z9#2<6o;6V5aap-S zaTk33dv!wNFm!8Pk$1{Ws&<8R(xxy{@ka*a+wTX=Y#eMc&hM@wQ-(l7fd5x=KIxPX zluCdLE;$TvOf3!`zy4=nkP+q^(1O?_qUN9A%n)vA#%NoNQ=vWWC@QfO@$(G=F8O_{ zzC4<{^Vs06XUcnhq`TJS3>E>9SRv+;Z<=-G)$lzubo!P#$4|Qvs`rtcb}~@=(%=7% z-u(OD$z!1qf-VsB!324+GRz*}NTnz=5tll36V1&Nwn+UL`OWeW2hfyqOMcwf)zuDmT?(_c9)aB)nc$tc;U+HAdSDMhK=4Ie8bb$i z0Tv(L1=WvT04gp+Z7Ro-NL>?}F%ehw?s6ZSDDB>6Ur0FgTW=6&ZOj&;fo`d%z<6~5 zxrb-qltxVs0WGq7ZE6C&ptFwDe|q)jgEhmpX4|s1MAzuta?RpYdrtkx;=a2}W>EkU{(DZ<{^SnrL%X)s+Kf*ix>%SzVS04BD#0-t)VKZFn!U@2 zesCZ^RJcvg;F`&2s^>Ovndr^bNBc|7|B~EZY5Pc&^Sdrr-D23SbxStp=u85qGifwP z1+zk#fKTIC^ONOLSy?hxm}TS;jOh`jM5AFR(QduQt|i6BpoWL@;by?Jyah9nrGVqz8mM*I((Un14WMrNp%)%UDxG2BI+GHB#3^R$0wHZv9*F*k772~QhrMX#| zLGh9?%)Qn%~Kqr&1tBllHNbj8?@r=j*Dqdd&j69Z+_q+BH= zC?l9ocZDEgDWx1yA$|3bj|#NP8eNkr99nFf^OiYdp#}t4kGi}vihJ?UgXm% ze(-|_(Kl~QeP9r2va6*kqUy#Al_B+r)K}jz+*s|kpS*23*vqyLzPn7m(NdPZn5{7& z?(&b8mw)tt(tm8?&Jw$N(=dY5Ll#RirxuF*Y5*a7T*C=(S+VQ&aL_)Ry8w-;W zdUq_j^{!|u@!(<#p66#bJ-)v?QN8v2RUa&-$UOg^(G8pNbDAL5ew5Y**xiDaI^3lv zq4v#yJX22&X_m|GntF2l28hU`H`Uge6{NyKD{+rQZ2uT$>SiDR8vjJ5Ra zb2%Di#jOQ-F~IGXV0dAdRn(1+p96x$vhYvhS)1 zqo$@VAoA>;yHE#qSPC_X=OE`Lp*l3u9SqdDzJ^bLMSv(PeTWd&rt58#BMBf!_$ExI zcH=@9SYROlJ+I5u>!z#v{K>j0UyWZWuWEr6B@E7a!cpk0u-ZiyqwV8am&+Ec9oat)KVNY_L2gqL|W%2+X z0B`_p-%Gx+^sS@G8xKHV6wpZu`Q7i(DuCZx*1)QJ0~IJ?5Dh#!Zk1wr)9b!jSQOGT zX+Z^Fw(lFtiEsy$M#DcsrS>l4I*fqC99Kuo0mMla_T;M7c}2y_JMTQgIIirJW^X{O zR#E-YH<>>~nFRT%KrUbxsA*(Fj!_woH>_9I2OEM3nKG=l^5fm0-dOCj7x=QQDv5ZT zUnr@y6*#4MU7j&V0@SZ-GCf5Yh;d8oj>xjxu*; z|BSUg(Cur`OTE&QI~LpPh~6r4yKC3*8L&b?XT1054VZ%>hv=ak@>z|b3swZ`OX~?2 zLRFbyO4+m9woa?ac{`ptAM$yY`DFr1Nv%m~P(} zAaWDyAE~ZSj*(x8l8hLaSOUUDV9w#Cfqn(X`Hr+sr3}uz;%04I|-Y}AXCLeFF%9_bG zxqkIRA{GqnIu#k}ZmjO_Z7KEp4&Ja>H%uF@UEu6HtFnd3QrGUa_g4P2HWD`t{F}30 zIj0>?zTG%VT>PdR>vNmju#ZaYQwZ{wrq=CK^ z9T*n`s53F1`{hT~N>zBU#ak<@acgAp-c06tS|6y!^pql?3n{hZF8b+ogc z)_7s9%AZUX2>D`mkgK6(KrTz_cV$VWxdl$)LarcJ&4af9Q`+3!QS1-0L@$f$@!NU-w3^uz#6!J_X=Z(!R?neI>Q`B z2&`8a0yVUGrfa=5((*#RxVDqSoS|o3o2gP1y9hTO9Ji1n>{}~KB${IpUO&N};AFy- zOGFUl5#&ofz>~7w5{aateypdc)*LeIzb#oekQEtP+;vBV(=n^-)K&UCrD$nvV%Jhd zYf10e;Jqk^{43cb5lU35dKG%?y6ebg&w-H}A>xFbwFv0{HrRU!&tcQ6U3!2Xa#kt zgQ(T%V;CKzTqNZLK>N>yN@av-Q)_X&x3Mi=rP*`;Y+EyPvUq0iLovF2o7Qa0H)=Ji z9Zfq13qvu_#63HpMCv;ekSfH|BzmV=UE4hzRgxEW^(FtjxS=O-bmq|3?)}#V768|?jCT)I&+fc=eXO6+*vy?j zN6L$e&~MQlC&+f+f$`0oe)BWTA56d;-3fF0V<1B=h~pxF)&Q(uT4#LC?eg)I1p(z< zn9P_2X~YlsKk(?dA%+W|8F-UqdaN&Akd}6m5I>mTRNrim=oEZk8H+YTW9{Q;6^&=m z5jvaG0g!uv*xFub7cht-2g>@iFBk+qpvhDkfrv+B6XYpNt~*bnDy1m6ow>~@{ zAEFJ^Cb!-nZ6|)>Y_$HA{Qd3)I%6bQRZ_R(-qVrUyFcGY2fNSLWz)@-8@q>ovrfobVO9#5cBobxvHh5PNgJVo57i*Wu0JU zHhVj_^758=*~pdBnRESlGGeSPv9Lhi?e;S#Gen}-$WC-Oc{d7ibq!;+M5U;$rnb8^ zKV}YF_S`)c-kK5EFwvJ7**O(R2rBJUa1&pVQQL#Ekbgo%hd?dy)4wi65 zoZu7C?(1CxEK(FG&;%M%zv?4Ed@E)d%(VDE^PN+=fO$`ovGg{Fth~%|Ri{-8v(vM6 zs^M6(Yp8v|SM4>4L-8!eGKYQ2(Joq)BXPX(pwAQjK0)3g7IH!&1#*qly{{*KI*j%d ztgmR5>a&Za^O9grlU_0H4HY;&y7G-@%DOx1YDU`I;wAaVPs|O~)5ogE!>7uH<#U_s zxB46{baF@W?xj8JZ`H_Z=BAX`C)7fp?_F?yDTRM@0m}2rnC1#|A%-qNN(q8(FauXZ z))o#ADiI@h(T&+g-Ew_I@9yataWxsh>uF+x1DJWs&1ij+{8tkFXyM=FNnwsm#V(Vm z(GJ8SLVF%g439;$wS5h}@mj@AH!M|mXGFUG*h3Cm3Tcz%jf)2kke_k0!^g)?ER~-; ziDeVdzq*z7WANpyP}?qp>@oPU={SrMy{~d03m(zEk_-eIGFKkinBG|d;z|uT#Ap}L zo|wv5)uTliW;|D~F7}Q#O*pE;CUJ3;LtkKKo?vuu)(#pDj#u~Y)TojJ|0>||*kPpr zJ)bP}>ODq@JYR18X;sN|X0!S_g{@%RQm8<`9^D@p?NNFf`+7U8Bc6jN7Y1AD^}|V5 z#VrdE$qc3sZN2q+yW;IQZDeDIw|YZA=p{Ul z^hThU9Aab#*e<+#jXHh$`SH_Vsh|95s2Dyc3@!ny4y>xhcLHR?D{Cll*r6P~wnG=? zn+qWmKH{t^G>FR@IJ9Xd`@9DIDO97Y(hI$%dL_9F!IGZaUzNzRYo#(IL00lde>jsB(a7vbK!$_QWa-N6s!zd5FeDGNq}n%wWvG)KH^|Xlk1IxcKnehdUR^3zIlb zqeGl_6YVy@#VEjj;k~X5{V*m9uX*xel}uQY(qu436Go8F7bkx3{}=_I0G{G#Hhy0$V;9W=rsV)JlYk9$%nD1p%>kZn84 zV)`7kD0*MN1D4XeopL?Ll0oE(nc2H^_hm@PlLiS)kP-2akvVsDB*>tTazxUZIdgka zX|JcNve?`z@_VOSnrlaPoS9z^G0P@r+r2gW+UMuX)^6|yP=@vFY$h_u9F~c)ZMAP{ z0(*NOz#vH`%mTjvI>`lFveFglLhx>I7BzkPG$MP2`V=G^YhMiHyBumy#icBQbe3#9 zT6FyR#)d$YBg3Qc{Bf1qX1Yf0#&WldSM1xD5> zB_ij@pY-*;Ixs-83Ub4cQh&CuZ*G9F?z^KZsP1d1>uqmp(3S4GYhkUMS=pZ|qE&qU zwA+pT@~dC{icBs(a!bDi4@?G`^FzJ=L7E$$IiHFT)*#?7tQEAEAk9>*6ef|ZME%fH z=7Wqh9WOJWSP+Zkik{K>aAd5-nN2_Z1L)`4V)Qfe)f`kp%gr#AhiXDRR)f`~<*jjc=)l(P%Z~FC@fszOt14mh{zWW-z;c0}7ISZL0^!L<9yQ>PxPjhn# z*BKaX4{i-1L!+WFZfS3N8n+$_*E|2}FuorX?&U0NB`{8g%i;oL}g*y2G z_jK!+GaS%LDqA=p2eQMyO#|;H?5>!INDbl4XP+#`Xg;e6$yc43@&{awh7Wg#o2V&(X+i z9vGqRA8nsqZq@Iz=n5BFP8ecq;AApt6G&-Fo4Y<)YYGdcVpwZE(&u{JT=&zOY40+d{o$GC4 zwlxn`94i&ub)H|m9nvq0b+EjmKZ8cITKo2TTU-+I{#m^g{+V||N5`&Dp4h$}>s}t@ za?e2h(FGEVttb_3tP~faW^Seer~jgI;j)0|;ey>@mD0CC)9#q1KoJMf267$KpRG}= zDl%fqpl>AJ>t8Yo%bPf~ITrgH8^Ysq*s%9xq2smw)SH+Ge)QF3$%P zTh7OT5t_PzIBL|?r1s|+sFp&qhUp?IZfSP+q>?vlzlH9|F!zxm$yT))TNHrYB>7uDRf ze{QgqQ8i6IHIMhi&7*<&c@qzCkk$5~tDo34YH{p$t_|#)*tHJpe?H`Dz60lxfPRXD zPtcAtxc@cw!m9SmIsxS5@JMxd5A!c%dO>jU`iM(_8S^UduIgWr+1=JYTu@n{mbfdj z=rbAYYdO#iPQ*q&o)tI>Mv9!mEl5A?g0eQlU0UdNIr0nnfOGvHfmWr}sgweOPNcSo z#GH^sMr0Nr3Itr{rmp(2%2LBMrxzB>nB&!R+wO`wiCV6L^}^BTZff+kUvvMpNY2#p zQ(;ZMz?BbGa+<)NPgIiIZc_2#3mQ*iQLgpvn!SEV|Mb&OLp+9Sir7zYqw;wxTKGy+ zNO=nBN)r{W3BjgNua))_d@Gmy3O@)iRt|vghH=q=*P{fQmT8Op-F*9lr^pYC4{lx` z*QxLOl+WqA|NcXVZnY;LU;1&Rz@B(O$sBVznJ zcHXblYfKiU<*2MCRRYI+&SIq1H?45ErlM^Qh9C(yiY6OeK`1afD|6U!V|%-6xXBZh zg^D$jk^~2*7p~)~Z)(5)dpXi1Py5F2_@bDk=C(-L$_o{30`509?f zhxIj%dF}=JcEWrf8-?rxum8(Qap_$@=|bmMIT~C)>wdh8C5qqKU&;$ILvQsZf>>nj`m-!H0J5o;i{->-ZwJpQ|8#w0!vb zi$~gu>vx>K3T5`|)x)V~Tjh9rcU)J!_U^^@HX`1i+(~_U4P5auR}~ScWn4zk`mx|r>_D*u9FY=IH#is&i&FA4cl`v_AC3S3Ol973kNc>H%LNxN*Oyr~Sb0Q`7YA4?sgb}dp97MjH zTP|?zZolu29XrMrEtcL;^>OlTsn(eKlM(VrO2T&N=87#X`qH|d*0#o|dhZR(9UVk# z=lfFGc;WCwb(F=P%3u*ls&U9S*|J9xg7ZF(@)(I)V=4kh}Vd-mKn)z?fPsy(tanOf^~5l1GM-k&7LxS_*Cw~apZ zJxd!5DPQE;3-0KiX|n0o-o0Ishj|(MP!B@>tb+18AbMZ*tS>*NkO^}8)g?|;bdQxb zR@lH8kS=4T*RH2^_$nVDhcm-JTtDQVRto%87zUDYluj$OW}~D)Q7s$@daf4+eD%CS zujn@L0_=GrqN;UI=y2n#el!to7}8$#?CdWJ3t6qhJw0`O`))}NRnvQ;vwoG)8wsv| zO(vKx3LkP5H`Q8eZk=@suJi96J~pMfCO+7?7sk%yRV_IN9Ft|UBO|l;ymUD48QQy0 z|1Sk=R1aDWVyEld-5} z&}Afsiz_7sZYe+9Z_89kZ3acB*6wO)b5=-7EGoXgB7?q2&pM3Swpcpjua-YnV+qfY zMloNO=@;>di#0{Pb=Lop71{P%-Y+91W zxs|O|TlHBVuFF*p)yT&)GwK!}OeMq;MhS2TbC#CP5nbge^h|Swl@<1zwN)@#E;sl6 z$=PpxE3YFeYVNJ?t*=xZxNW|#CBw5kwdJ82y)v_BQt$I^UDTK*{r%GgfrA6rrSV=u zz)!phJmCio2($Rnm&rza8^G3Sn!=$VUz$$nq*0ty(-1x^+zN=m*C|aZ23e62;)kl8 zePzAd47y!&mAf|cLtLd;*>4HwjA!Nvob>0PpZ@40*c@8P8^~l&wuAxx;uZwFLk&Z& z3YSt26)ENvgL8eBQ91mmNWuw=q)0P(wQa(&wWV%r>3GF~NsHQ9>?y1`6XSXu%0_eG zRC3+A1>8i=u(fIRv}mP+0$M{kji>?p9^-c$`rtvgnpzxnQk zrglbe^}@dMG1sC^VPjgYMHIni0%xJkB79OgkK|ZbzM2ur<`$TE5kWniyBu@&&nI;`>ZGxCY3^M&VRku~FRGZ8H zKQTEU{5)`K0mD!61_(bWxz)fMt_iLH#0c&VMdQAq#!-i}RwD`2KoOV4zA;O!=og{? zBN;?i>g9WQZeiyl`q50UI+%KfFJy-VQex>}|N2nouvUvhl5_H$Be^`(?Cq&YeRw&_A^Q6QAzrZT&tyKCQT{3H-aKz=W(I|J^TV1B; zNF)a9`|6wJyKkP2k1?yp$dtFRs_JLU8RKleqz7-_`PKJSx!tw1GX+X{;mm>JeWSZ! zWG2>&c@U$#1aX@iG(uTg8nBuAS~Wna0DNNVUM}N%D5~M24ZM#%JS-kmmn1gxE3dR2 zbfY73_FYFHn`=MEd z1u@$lkYlS_nPhE)yi^080%G{OD`BpnM!ss&nAp4fFKH<+uBTG8b=``EWOJr!~uYV<91N$8k^I*0bgBh+Zu8+F?VLAE(xkGNT`HQW3 z8A1O`H>_?QmG@bkio%^?Nn7#x(xzfURbuGcV?Q@Gb$`+6W*amwMBRg`h`&f+ zb=#VwzSb63rL-`l6cksoX;XCO^(K^5b?a`vCqPQ@h&5PT$=59rYreD^n z9Q7TWxp6@oC^Cb>#ItO^3D~T9hzwz1F>d!?ZO)=J%zqUzCR`q+lb|rV@+Y`BY@DGn z$_=p9w2Tq2e3JUk@1J|l7nE2Ud78mmoz>IdGF(*ZR!c&$Oxg^CbDYU;77fArRn1%p ze>js{9O=%p5DdCRUHn|it`-5(Q6PS3WJO)QchQ}p$yvBuRC!)w>{c5@7KiW9A;Ta)-k(L7C10lpt3Z)sLJSl2I(SOYJ)Rt#YXUWv% zGvdnnr=U|MJ`wtMLl1K7y(c=^AuEY?xAums^i(DON|+E>L(uvZfS+=T;K*PVRY`u=y;t1#se3gouJ2yEq{aCG0(}Mn>?Khoo zC@`n~AeOR=p$h-}%n#<~elRmRceJLtt74$BzoJID_x@yUH>0b1_TZy2bWQ5xh>tzO z5eoh1&p%0QuTbe{W+ZX#)s+@G87)4Vyltkxs;cUKc;TK82E+$bymZ{TdT*eD$V0zJZLB>w`Yx+a~OFqgMNHhI1KAQMn{DCSQw&yB? znUfqEq1M%|?;BB8)C{!ulvk+tJh?Db#VA}_d*I=y+GF*Mj-#jjy4*Oq!|mU|*fYuBBR@OCzR0Za;K1MFA`b}r&E;+}md;k|A)ElTthnKm| zSNhE>%FE}!-YhH*%^0REwwY5iO_fV9lThb1Rd%%(Zs=}Z_Kk-;dVwT3gKk%zG5O!+ zu+eWW*du+nyU*PmfA>bs(`$EC7|hS4ggGWrR?S$YnJ}99W5tJS^sS{Z_~S@-(^jos z3frB$d84*KK;Ns=6?%l?_>n|x&+GE|N<#$h z0N0>y2R&U0I2#;59SQZE~=6MKsusmaLR}5cL0XtNlXb=Ug6!@WMk(!!Q zRpS|Jao5U={YoG&o3=!!W!#vhQ3tfByX#oQe<(kAIubbG5BqodkE5S2e6fan)tVa= zh|xIALWZtc{K}2ij`ZaxEFSyz2j<&bP=T{{cK^MQ(k}4~j+=WW1O55ks!2t2KCvye z2fbEZO`c0$JUOv9`d}3FvF3}LVgGeGiSI5I7T{ZyJBO=C z*!+MJr$qQry~gC~Z0awl(;J1AO-$MxlW`pMFgpGF)KA`j;DPT#uT&Ti>eNupRbA02JO=aABv*J+L4jk;n*GDakGb@im?ghn`wDT|6$~w2 zb_3_5f!_+u>CBiO7$hp6hF7JJwC1;K>H1LNzu@Cef>YBl$sK-|$_X*B?KQZ4V1_E%!iQ zLk)1O0kC^PDt3>9f0pJ(T(kH7H{~Qo7-N;L2x3Kse-w(Ps|6KEH{(hF=xuFByRcfy z8X1YUSbAdJ1x}|-;4S0OMroW~OqFV!&p z>ws^oy!N?Qd)V50SbOg+c@J5ZZArGgWO?uHglsYh2_%pWgbiVjkgx(}6$&k@rO-ur zg|@uDuE%?i?!NBg%RAqd90G->#IY?)&hMUk_W7Ux_tmvOzNv++tD81YZQeX}2?A}? zphs~UW=X{jm1KWCNaCeX(qJWvHl&STG&X@Y4QYv`LWG2PtS92&kdXqzWC?y1YGA;u z7;sn7Xef%ko&Fw^&)BG`_)+WHF9v**nMtp&UZto_vp}a=#{u9U31LqX4-@|>l&}D? zMp5B7=Bwc-6kLacpTSJ|bVE~(l(LFjZ>pW!0xM zkj8^KgCi@gMuBY0Mg-9u-nkB>Kkr(gt~b2ZOqq%D#@u2sEje-rCw-frTCwW>$W3mA1XwksUM6 zS9R8YR3((IaT!@dkcPqcxuSy65c*Z;4LuL~;yXc`H7)kvEdv~@m|b!P#ZgdjtdlcyAZx$Wd8 z2R*FzO%2Qj6LFoWI>n*`rt3E7Q70^IlUv{%wiOx$qi*{RKP-+EomB&b9lE= zG{pbRbr2nqt0%A6Qu_yNn0OF;g%Wx=UxDjX0 zRs+{@ak>Ms0*VmwISc3)I;4pK!m(Ja2Eayulp=}LZWBvq4KJ1Z8`<9r!5 zw~T$TO#Bh8IAE37$Nus5h3cr6)f4tL-85@(iTZjoW7%SRjdkafE5$rxIK7haTYCeG zn=>^`A67SJ(s+XTfS-6Gab)iJ7UBT*6{6Mf_lAa{#zx2!)F6v@V7BLg^JCh{dbKp6 zLuuY8TpXnqP84$bat1*9ic;Zb{Twlsn&N;r0Y#!5tk+NJo9ZUy&g`(IAvaN1N1YOj zBI&86UTHeMwwJAx4kRTGbD_J(7lDk)6=zfC=$ze0jU1;?fn5=|#<=SIC0mFqvDx`c z8s5Z;$y~?H-=4ew{y7HaruxD8vuEdbzEZ%B?YXZp+atEMZtTcS1Uy?Gou5fkTgQn# z8y`8i^~$lWE{O|nKg1X`&wd>6xN?Z6PVfa#1(Yx4UvGGce5zErT(En{d?Apo_W+Sl z^cWgz>}DBsBTZf5iS8L+Frk(=WjXjFm3<@j!ZabA8lIb8dr+aE*NVmX$HY$*Dy(+# zSBqXzO+(&%1#Td&gX7u4d!I-T_Gh|B3nM9SVB0fGOAUkSe?xns0t95jK*OTe~uW@9F<5Or|9x^F8)O_bDy^tTb zLU!B(UJ~}_FvOmL%)Wfc84{Dl3W9#N)R*!{~_KiCrY;wqWVLSYlHFFt$a4z9=34~#ub zsEHnf9$*HnVjY!-7;INTqhuE=lu>}hgoH&(0U~HwyU4s6T|LN-j4u!*k)9!*HnMiG zz)}?a6e0*%j2@aOG%zk83ztaI1PyfSSJ21hfa z!8Wx<)CdXqES+(jN*RpK-!5X$!^unZW4f{GfRp&h(Kp~X;0qv26etP)qUI6_16kjOaUw$V_3<@JODfg zZ6r%s3-lDw+?>upsd!0ZNCaS%NQxl3&xjAgPf12dst|?&m>c6< zQt_{eHH@8kPm9nFbQXKJW(C{t^^ z{E@|pMoK2Xxc^J(thGDnQ{)wapc)jMt^ewBCZJpb~46PCQ+|q9D z%ODRqOwjAd{$T0Kt)EsLxbo5yDCb9|Cb%P%n36qY@~A=5kCi74>wQ&t9ai1ypU4e| zx|C{3O^QWXpt4Ueb(*4JHh0JS&po&N^wa--PQKU>o|z525KSHYHVo>*uw3{4vmdT~ z>95Z`v-GU4scXKkm`_R%JqR!vtbKBR`{Ql755tWMZSw;I^KA>24c7jacs5m+rdA)F zc&K>G=-k}s!Z0LPs76CQq!%d&f9@f1G6;nZn+~5dJAkyE^b=?euieWSf|Zbzd^)!M_RZbEP`qYmfpUwab{u-*IV*?z11TgpNd`Dee7)xW9Hj;q zKvo#*I*&>egc=Hxr)@EiDj=Gt@@&9_Sd75MfFpgk@E`I^*h)C>=PJw}XxGK)5`DL} zF+P!rwJP#Dm9#d^rY!<$hz;~9&FO@5zRi65#?dqOL%C*~*=n6#@~*J%UP@T5^15>> zvtjKak&KQU!_&)Hcl%t{U~@Y0m7A*NqK2Dd9?TnRw8rQ}P}gIqAL#22cUn8ut53`q z`{=`&`Ga?-wPQh`zM3<&#RCgf_WI7YigA4`9Zw{jrh%pr#cw^ax+<6cwaC$lTSsCZ zU(I*nn6e<`9cs{#Z&7;SwDs*9_HH-;=a-NtMSWhJE_E-~1@(zHEfa`=2BESaY0@XK z=Q5ff9B3p8h*{up{G@9GG><_s1y&i*d)6JW1bJwL#-V%*_S7i~r#Y6(#yk!nc1(9> z#G?w9Qqtb;a^_nGtigy%5UOKR#^{X8b#W-kD)tAnhcRlB$FGk>>fuCdiX>nZi!0=n z0v>F&Vt!l(Ec;Op-R{H(@nZ@am$>Fd}NW zerxCUWU_N}&)+QD?rrLC3+G4EllkiC?lUv9b<|>OYv_vRN{4P_ka(6WI3*Y0G#VyV z=*5gt8WqD7vbsCdPSK@jPh=yLuiQ6z`t)nWkG)b{Yxfb~tUf$218UdN|Dg8d@(fAGvObQSBYw%WLlyz zPcXHr`T!UE6T$uF#4A%%lM@q@Q)_o9L?XHmlA}kL!-btr#(@A|>lJWo@Q$J{ZzTTW z)LL0CqvLlqH%Vlb-F+aOt`70Z)6j)ujJD11dZaDl#=k`@{}o7bZ$(VG#P1}rLzCCd z|JgX9?+g~bG6rvgqmaHnHPu=z3koWD)S6L`$6E#Yqz3j?zfEZX*@Vk6A36+Qw9f#Y zWb(Q%ZX~0m9IhSAdL2W7RA{}UoNEt`4orLN{2Flr)C7u(TUa`6N{;RNO2T!u-F>4s zaySxnZ};xJmG?Cqdz<&YwIblV6Hsa_6aT>I>mP!auF-*FTg-aZeM>`Kl(zBt%g(22 zr4^fptNLWk?S_nUQdD1si((54v9;e^6F)Y6-^e!tfs?_LXlwvJEDHU(FH@Fb%GU-c z8q{4tTYIFfkeN*B{_9D{0&xLl&rMz&b)h@<}0(+J3NxtFs_c?|In8H{}8ZWz3I!@4#8X{5Rn9wgC3Un z;LiIVaY=`5m1=clSn7HtAF;AKIcCves%j8dH%VQ$c;G=aaB!{5ie$h54y#9C2dfis z6X>jKgd>{W0Mvf}Fa8Y#LMIbu8Ort0*JOvG{2he34dii?p!MK(B=BQcG$%a=bXbrj zn1L=Ey^jH>g_mm&{8~&tM?629OWTI~3W2a&BWlXRuz}6EvN|{{@QLiTls;c;G&0Qh ziR31CUiLUy)tUWZ_h-A=Xi$RjtA-o#B=WuyK%e(i5&^DP~@nz_F2u9$7dxlJQIv~7{zDVwoN?eE3KEq&QVo4#AE zwbvvJ*8atsJ+`LK+7vONz$T??2Ak&Uo}4*!f5VDAcE!+LeU>*>)}W|any_2zEXIbu zRHG{9H=&sv3;Mt)pGtu}d78b3AX`p{} zI=F8ucw_K5pp-~UOGoet5dL}{%tr2NF0l1g1>pL3k8})sZ8cR;c(Abr2J`4Hn@KQ( zdFQ1~k4J_S%6!+n%spVxVv~M#p~53xyILk^BqUObJcxzkA)`R+5(|kR&4og5%)%P# zBxV_%ot&H<#eK(~Y#qu<1I^<-Jt=GS#xslK8A>59rQ!=z9dDi`+G?&3T3IYppRd!C z>PlLx293o3RG(VDdueQ}qdH2Vutpgam<4zqeRK?~Gn^5 z#5oJ-D#W+-x*nteI=0>jL|P|<)iFp)OZ^T?Ia@Z^QSYSpp@vF zGBrNZ>$3a8hN`WR!NJLpq(x9ABIhMk_N`2lemi#KB*7k8m|2J@CbKms>$EF9&2zJ& zMt`Np+8+%tn%nVJD)8&>f#V6AfFElD$7l?ZlV1>rC2KdpLUKYXWK^5G3)$g}sIKDF zEoh1YHU6G2b*$pwfA76bH{VQDH4SU#TlXZ!-Ba#DgK5T)t;scSNzCbZ-Z`gSa7b;p zL`K;3D!HMn%5EMrO(u>{JU9rlGD4piospn{8f5`lwTP4uYLkNu!2Td>hmZv71$qM) zORkSHfJG?$iFCrKV_fD~0)MA3Wod{_37zssdcjh5fqrT9!Yv?kU1LkM?|6r=BKJ~S z>g?JFEuIFab1~XNnV{mTfKQXIt88g#i-cJt)A$O$OB<^X)%eDVztN^EBy715rxN=s z`PgrtGDmKmb*=ueSsRM6XGA z^v>SU;|8A{5;4pbzZ4oQ{g&Z|DYj{_xkcq}wgv)Iy6rHG!1$8P3kLOAgWFy;VQSQQ zrHf)^Om7~G8@{ZOO0*7$g;H|&1@Y&V*c(v&`-QPkCKHvQV(Z18etqyz0vE!xmCOkc z9~r_FqK*~T*cO_|&IFqST1gFp(oxwb*;zJUmjm;i7*Q$+SA4FitI2)OI zRU1D(vExeO(cj!`AB-9VO+RiLXo9~Vs8yBJG|#RJ zhKoJeFZ{v%LxZwH%+gp$^|cJ`{QgQ;H)Sxn($)F=pm6*0+EWIjH)+OBHO$O35G&mY zkLc%@edY9}FCdg{F~JBX5~uxIBWkds8N`<;4+FM90=^q@v90r(BhP}e0jL@+GDwmk z8vqLeyMen}${s)EkKiS!iAF}ja$6nFWG4rfl!w>e-OJ*qUes>HDitrbGk6%4NV7DW ztTiUT)ME}ZdmA6QLJqX z<{+a|xBszJi@C3m>(BOQYOTATTpG$zhdQ(?{u<(N;_%$#JLIW`qKrdMG(_m)S66&v9Mx1)wajVq$N{=K#Tdgqi*BWB8_J->Ej@+-qh zKVg&@1RkjrfA#slubp1|@|Rbh*HpL9^*HkGuxtLsO*4)3#<5M6-o&gYEbN}OBotE$ zQK))iqS__q>-sN?w&Q}%x>PFCOWZ1)f9mw;8?ou>*f>e;PGa63gYy&H$}@zLMWe7v z8gDsa`K(aLJ6~d}BHb#&l|$DDq)`gu$kmp1R`IWGD-?>aFB9h%VtRLQ0(cXe+<+(V zopLrhDfzi)(8(+u5Yv znxDz`jKWDFudGZrGCT4c58v4=3}P0hmN%oW?3nMxo?YqSU<*_ge~HEGUHR?mQwR5u zJ>&B*H|pC^vB3)c(N@TRfiDV!I6yYjkwS;RcsO0+s|p9}}zO-Vk=mKI3b+qIFh3*4ErS zV!YwsXMgrhzqi<6B);r*3>jm@UYIV1VLX30c{Z$2n48Wf*B)qVolj2W8uZs3U5;<0 z7CINMy%zYOFRxkB56|rNY94YanXfBO;q+gKmkZx&an-z(!R|ifDFFD)UcdT4Vek_ETi2N!u3BTu zvyskX#+7x9-*o+a?*M(Vdj7Jr&CTbOOHZ6w{$QT?)o$>I2(R)a%w)R(XM}p6tD*dPUPTEI*mRNufwF#Are1_7iWk~fB1^aBhyHDLam@; zaH=rbBxozXEb+NO9+aG#pyT?BG?6z%x)-InrF?0Erja#ILFe@bDYbc@N95Ssm<0Vob#DwPr9_q^W|-M}mCyfnRYwTBYod0V*dtRg6Cy2k>4zVF z_~6<%@E9wT8OsfK+7riay`*)7p6b6uizc@2+BP~^OM(KKY!(wn6KX4%}a@hU$Mm4@1Fpk9J=+cue7~=v+>1|M@_aDuni&w z@d5MMQ>W$+9cqvdU>L78rDQ4iDNl_H|4re)Q`L0lFoOmZruuga!%yULu1p}10Z@Iy zE1j)+o~MP=~O;PZAbcF%8j0b z`5Nm2<`5y+&~|t^ihxr9D?s@WIrAWe@u{>(LT7*(pzWJdY&0WvD4`CF$RH@s5i@u2 z*mJzfHKAeNct44qR z%Y(!}Ccm}$$wPa@(*zTnB<^&~PXq7QGdCk!k^6j{I?{EQ6h#s1<;1Wp7Z8!$2N)x_eq&brNqtDe_k{ zXu}NpR;FB1hu03$@{#k1@{P>FFK`z2>nf z7bq^4trY}EQpK=9>-s^fwb5en`?`lS?k<^d>^(@JG=j(rWVsCkKO08yRN+r zTP1ET?m3lq7N6OUeUorMZIzqjaX$VgpX)S_i{>y{Efb%hNH}9GW{UWqA$oA9Wcle6 zoBM_!j|2_je|#RWaQ#q4A#6q-x~!vs{hCGSuMNmAk|_fi5vsbuVj#RSte`hYCSWM# zFCaF5UVaU)3Zf|@;{ptQ9l3&Z2ra2xfNOuKKJq~&ZyQ7VlS{R=*M^1ns+0Dq4xad( zQ}sH2z-+Bf8~Ij&O)|->(ln{s+QP-$xVy%sCP9)5IE`@}yHW_F)}w3xkV|EdgA1|L z94?$EzOsG$_cv|&{`Qeg_~r6xvqoOoIc-SHDkwZt!oRCttm5+M^l7SCVuvqA8m`>cW2&=n_wxon_mvM;~#qlGPkM1TBQ^7D%{AL4C%ykg%wbn4l)V73NutlK+8>2Kg)oJOg3|hYco(#BN1S z4Dn>6nh$9s`kFlKK(=1FNHro?f7_tblTe90F(ze(Nju8YY4kSin)Z$wNp*8`b#_(X zliM7vrc(eE_ax-It#H=O$_9vR zrPk0V-dF_Exp;Pk)Q<55LItx#QoCqaMT+vG`6q}G${}#-VHpy!nY3g4^&hSM^YzoG zXYRfC8L5VX>*Id-U&RT(+&!YMYIpla1}B29lnGK}CiM~;^TrCTzK&7RH6swKIUKE0 zic$MHK~a|Y{m-6zZsz&te@T3(2~*OdLddbk_V8<^O8l~k3HNw)_4r!Y9dw$ld@4`? zIYMKt15QUO<4F$XyR-J{6L)XQwc%aKO()Kz>MAW-@uj>9;0nSk1&KOQyD~B9pYnL7 z{FBx;DvhlR6|#T7!NP>g-v8o zH7jZjK!%61VN^H4t4WoEljEUSkVVPODN@BCKLX)iga$>(R#;9&!@u=r6R0Puv*8An z)E)Kb!P`RoTv|}xHP^mN>20-z12LCfXgA2k?ZZw>uWsLA5t!Z(Hsp^TY--Zzbm{;E zxNa#9e74nVcQ({xp(?l2K^z9CNpTfGI+N7j<6Lem5%KVy4!M#+$F5=9+MBon?6>zg zYR*&zd~xD0nIGM5du{jJh{gB{Mv)67LiTe}JHDMisPZXPt==hR+jEH!bAT;Zj*eFM z%F@<+CBM>_>2i9ixB`({A!<{0RH@W>yT5AG>#YE8Sv7Hu%plKKis`r|U0oYt^|3{A zDc>4$Dlv7w(c@rM4Dj1DcK)D10hkwS-l#n#<+xM<Y_1tK@$ESfxUyHg;i)jv859P!uR7dQ+#L5dT9|CzD47BWihQG8sKC6yuA;k1)&70G%rJI=aV3i!m2YBfhzW)o!^-Ora82@?{;Z ztsQuw$Eazo0`Q?q&H zv@1yDC7QQFn()Q>KxsZ$nzVxY!n_EnF@OfhLnxuiy6%p^xgbwWMneV#45#dVVSIwR zhR{gT`22zLi?Lt(rzWPW+cdPPd6vcx^UYArQxui9qLA)}OV8H2a>O%@?VuiKSiVTI&na z@!(aj{!JGssF7Cb;E z3^+IIK8WFM5RW`0YI6j#A;6)0wtp;xNUTQz8vX??ogf3o^=QzD+7a+0>_Xr#`B#`P zm$U}j4xdz>B|i!BBONW&CrF1Tjz0F-;$x2;Bld-+upgQwIHuT3FrIF}o0LK#NXUcT z)*(|?+7&;n#yDA~S{Sb{lSXlOy~0KEcz0(F8H0)D$>d+U?@@+t`hY13Cj zk3Bf@-O&jI+^xIyUAI{S5pFjRUV-y#^WbbVvcJgblo%mkeb9Q?-F#0|K1vtX}-UHZ1G@}o| z#``Wn;QT+H2b!_vHYAzdp=lyGdWhTPIFV7Bje#nWGAoIOL1!QVMj;J?r{T*ee1jqe zJVSo6$RM*pkpkJ|`VJ1}ZgP)gybTJVpOLn7F{w*{7=~rQ?1IeCy##Y_=ft%OMYQY8*re1q|!nl3VJ9gM(I;L$8-e`3((&eU3&$z4qXjHumJ`@u`hR z9#5w6J{%vWDl3b8wmhY=IeRQjhN4Ln;!h`1HNpB;B4-Zpro^eZzpZLq9JCCI?6Ba# z=)o&l5)%a=Mf5C{U0JQE=1VHrI!V2^)(C6J_VH-QNu_v2gLg<0H_n|wgfdL1bw2@cc78%M9 z0W4B0MPU-!CAR_~a>RkXK}45-|9j#Y036qfr1;o7u2aMITkXeoTNW-kj04pSbg$Mw zl+F15-Yso@~qGU;dxoDAABOF@4+o_XfsWjoJ1V*Q7p*Jwar#nBBhF zeu)kF^b(KoOW?m$aD9kF7$F2<*Yt}k5$mVMvFnxw$wG;Eqm&_%Z^7YKZIYH@PyCZP-vkP_j4;EJ{X!u@M!9&|g$ zuy@BiOgG=Rcw*erp`n2QKkD^3W?an8k}m?8RMJ@zS5|n!A*E zT8e#mySwg>hC3d)f%v}e`CUC5)%Np$QVJCE^Ys?|pS=d+yvJg3V_8FQXJ@tYd1X46 z5fJ;0<0gGFFAZo1G_kwpJ|+1S@;uO9Yz!=^ETRH{^X`plY}v`)1fYEv=n zYMzJMQ~@2sIAWam7mZlQjKVsf{=)GdDBl4=Kv`-;M>LUnCPFtrtN0V(A1NYm;~imT zXbiXl8|+#kw1N?W=ti)BNkC8u1M^O+rd_>xGp5?TdmrHx%1GEW{_&RClQeUCV^g}8 zH90qXY*rbR)N4MeSmn`84B@?VMlvM za46$TDkbSktsEQ!ZGlNYL}z7=Sc!3^Ss0S2@LaP+-%vG;eRJ+(*n0dJ!_&FRE_h7l za+bPH&MBQK?$&DuHsyVeLMAhsb9FhzE!V#X|mS zLWT7Z4_hbak>8_3{qZ2>ElOd7U<2X-jhFFG(fM2`>SSInhvJr2Bw!A&ml2THzR_q6R z1=0$+2&42M8R5+X10#htdDvMHr`LWU*YUuCjCJVh_TRO!e~{TevT4Ve=3zVp`;R9p zE20O7j!!==$y%HuSL7sTa1cRXc`H|Diej_ z_rZUF7_MOA62>*hPn{aS{q_?l&YT&)^UmYM?|3>#Z)d@&j|fykdk}3VunxfNLmui5 z>PA&oA@PhrKywO&_;7V~L0SvwsoadYD?RDErYfIdR$rG$3{+PSB=BY5DCm%nxX(Y* z(J|uxU!kdKxFg?b2=NcyH#Izn6^k<`9%z)uvH!R%ZE76$5O+n7&)hLf{GB#QqtU~O zy}4^K?lN(8EJnv(bi3V`A?zB+t^$0_Im%Pe%RxLyXf9D=04p)vl=_NfPKcKNE{GDu zNkbZjY!5{DX`@5O$zD)9;svb5UTlKLySpAuW&7&8#=3_)4G#XH2Um(+jNz2RPVDE&;zwrgAN`@D^w{Pk zA8Y@_W{F#kZ`kcwJK3LS0`BZ?z)DR)oa%tO3vJq7vfp;VHHz8IokVA~ zYbZ19)upuJSPP3XPGeq0(N*Dux!b`HC&X3SYgga^$d##%d*%fhn^HZ^X9JzyGF znYF|lb!;5BRGUUsbv@RAice(_HOb^u`)H@W`Q&YjJw24+)Z*T!+X^__PBD6`*i{B* zNQg7d#uSBJtEF>@vxdaAlh-W|hI8^dH?d~uiMP}g3?6ealS@yTQNAdHe(rNHQ7FJx0Gh+ ztg8X*?Gs@vT^l_+vYU1}#uJITT(Mk;QTwPgp~>XYs(ply2XQwd=HuULAs9`V5N0s& zz^C54{jI&esjr>F#P@o8^nGoz>a{QV7#;asUz;s_`4cNcU9|qLm7Py?1SFWz=Abg_ z7;ZDCmMi3;-6o#cDtBO74F}qlm+`7kj6c<#CC+tqVSQWe_KnU>Zsc1L79L?*`=Q@3 z1>Nzb4Vz&{Vb_MsAQ$=6xqv0dN-87+loa>`KtaiV%tb{bxL>5Pz@P%cM5-MLm!|v| zMK3TQGJJjFUCTZgoi`9HyAaANRI1cz;mBniqg6ED)58z(sd>A_C{oj0_9C#|{*Rcs z%on|X&owvH*1F(89w7LX2;fZgd;H$+Y`@1AS4yKzY-}E#~P*j9Mo_^rfoGZ8E+7)a(z?bP` zE6v28hxPU@TQCau3f?0S>+E|Xt-b9%9roy+FRhF>;mS~c@#-g9>{{$60L3J>)t;F6 zdh#3X=mB-85Ne%gpeO7icMnlbjxDjZn0b1xrr(LR7m* zq01+hBHxS@l=93Rad?!8?YW)GxNiLJu|*EHSF9Zs$g3?m<-ngL>}84Y{k1zdI@Mg8 z-Qw&8iRl_Ol3J+C$EoZ?*Fek#^8^R5piJZSt9zNk=;Ae|)j4HOD_Wz=saSBg+vN8h0NIS3Na z1(F~IBy({rryT7uJBsag<<9=ibq0~WJDqd6T`Ezifk_#rv6g9asl~8)%a$EG`giW! z7T1ij1b1nKc{Z45QdqiE%L9XPifoakC3TrJsX`MGW z;E(vE(qIFVHcjX3V9P~G>}T8@y=v{8k>%mb@G7^1&tPj$Q|`noXpCHcZ~sV_jafv? z|LSlwcSTcU@~VP3G#(!fjE{_r2S($Po8K2TCRcVm-!(bZ>~;)RXS*kTw#g?pW@f1A znT^|TtWIF8n{QmUY`S^(%G<@|{XBubJF&3UDMERs4r0sKD0#?~sv!%=1JY>-qRU2d z28M)07OV(>13Fp?@m3HZh_oz4P&e{0GOGz>3RzPWl6c4+Fr>F(J#a;V*hmSJf<&+m z202e8+mz@B5`8UBChTYtJy6Yu%&rh&QoroE7PH5W_m%qi|kvWv-Cv?@%Q7KDszGOasaV&q!zcpl?9Bv)Uw;i$ScdgX)7ZP6>2&Ud*TyF0~IiY2uo;;N~N#I#Lzmay_3oepfi7J9dj z0YBU)^?!lvLxLDlo=%DbOtYM_lal(BhJt{?VN$**_+D(mXnh3qQ3gm-RQ{7q5qKdg z{_&eJ+2G7D&1&z(Pfoq`(k-`~KR@;O<2T=Yw@GyPMdjWrh{cxMlF5OVmVsoS27BW! zd+eVU;_(}acQwy$d?o)B#xV=2#&dOMe181hcN;gw!$AGwYt#IfUCk^Mf$`=r7kV z(7}ckMY!vqSKO`pL>RTAl<;CBh4@NNoZ)G7CIq?EkF*nU2MXch(J6)G=n3S7D99M# z1dW(jrgrw_dcC?P3E*Sdlo=Ld3qv7k!y^r_h0&UKXvM->8w~Uq;+sq`(0BC_|IUsT zZVm7$T&~G@OU3@bs+yc`4sAlBq}Nf_zNX{YE9Kawh)k`;BW-Dts`_TrLnGSw=yOZ+ zY07HD($bv`4Zlri(%F`g$^PS(_SBDN*pd9^17FFF6$UZxwfl73WeB4T?6#%)+54A> zn_1KdCKz74kxl$=>GY1RHzbpV)(6(NJ^{ST?Mx{QAK9c3v|XI zR)s4eYnt7g2^k|&6U^5O{vN`Szb*4=n z;cTJZ8$NQ^@?aljqJ7hrY;a@pJG0kZGy9$VY;e>+8pJs&iy%z=FuZT|#@S%-Wk0N8 zQJ`1)G}OV(;PJ@~1=B@UD_l89;({RlRjEiF0{2rYDj2AlRQCR8zyU&#F_1ErVuQ>A zOG%)YWGsfCm4@<^DXBCf(i!x++If@6-Y{m4R|=eg)@FZKcfnJqQ;R}%49Ymp+}mR= z#R~pYr!(+JID(CNkz1_RZ`;PX-sVs7`34SG?M%}+M6HEo zuT<7RC!ETNx@%K52R7=@*ZM5J{^W2^s!)h20i4}APOV#1&y6@QKknxqE&A_lF{GM_ z<@EiBg7^M_(b^{WP3>j&v^?!I=Hk)WrH8OK9oA!4Su`?fe>ZkzTleNO2X>YA8t;Xj zwod3PAimdr5@$05vL#UuWIu_tP59>%A5RBKA+%Dd)Vo;W$}tvRivECxAss_nrY9HO z!k_M5u4ldQ0#G;!@>*cHW|`01nd^7hrGVnDPBAIdRQ5iGLER?7exx(RwtHJ{h~2qW zeLSBI3#BW!@ejZAn%(}|?3=;hn?E9cM&V(3;+84QKmW$m?EKnYA}QS=6=6?r-TI@g zZ4RUOI@lBqw@ZC7gV0gbMO5aBF|G*uo#sCCGgXVZ z)uyJ^++x);n5hq^+2E0~z=QZ&;^g?*p_J8X{cVL@CnM*(XCWVH0pEsZbEtOSNA@#G zIYIspazl;`JQoPC{0%AHvd(^P*2f?<6YV_1vbYSwDLQaKh6D@c8V0|pR4hXj01XB8 zh0+_9;Sh7J_acVTkRz<~ALB0O_6D#M zT)Ed{Cicg!UN}9sUndY6Dx^%}RmX0J$hpPGt-q1AGz+;l8~TgSK&^pxanQ+ysP}{R zQ_<#TFH{}qCXmKW-hzwt8#QvEA|cfl4Oz(6S6N5PDhp7~3-KDdMu0tp6Qjko zPAy!!`;ETI$v!JqMf~gulc~{!uDt^0eTdgnwV`T*5oRt<$UaK^o;{z_V@K2j>m@1L zST0{JGRyTVM$G{vuP+=kMGWTPQ167V(Wxd6saOQ`+Ywk*cKI;evG#-8>+5fm9nqqqkun%@E(g{Occ8Iz8-gkLKcr%O6EUa{#-| z?|QV=?8KiUe)ZHiJc#DRk;w-}f5fO{`dP!anp`ewA5(>~TL@TzFq@an%NCS-NP*V{ z@oykKK%Hj9dQ<=#{eL)K5w&%={0H}gazG`8=4rkt3CV@KAC&+W7a=TQXfjwU)P{?yQS8wC{Cgu(ja619+pEnavxCF= zmV{-;bBnXB)Yi$xeNU$Fjl_@J^(j3OSbp)wMeExqsnl>+my6j)lbrHgUFb;FaEdl( zlc``b6I#o6``SKAnD3bHeVi{qumE+5rgSK zDPSaZ1u07j###ogkiP;lGKdXjujXSgtgt_cP(;Wxf)j(1N)p8?D>aV3_JSi2)(YVe z7>KCsy)3m{t;O3N5x%p~T1a7ZSAms?wYox_);a}c^iq4}3}3=bu~nRChHJDA*vwqK zllWl++iWl5a=%BOrE@NWr8%6Ns{80Cm3+ugU_<0;ehf1P`I^jZW;o~d9J_0FI!$rz zo4x#OvqJapq4DsRVzT?OLmZy$gVwEewT{6UCVZOx_Hevl?C4F~yIrZR zHyy!dXBCRh;qP&t-h8A&=N~K93MH1AYZ@^{MfAYNdnR7@b1a~D&TV4<}WY9SA^2@W|{`L?}+3QtvR0_H;F&+@tOL*?#_Car*RW6A%GVysjYd>9~ zkZGYM=pn+mVQ!~(RjH_C8#=O_$n5Ds;zsN}d9#|oAToF|8oAm&zUJnO#5BK{hxbi9 z93PsR8j5pVu2c`LqV41h+X97}W(B`>E<4y;Z(ec8_Eyx|t11i%b2QqAedzZ;%Bf=0JMSW%ngd5J&q;|B-NrhfUI?|?`_rV{XZ z-vC}KJ4{&7x$Y1JFvtjzuA#;f8XuAg3bIqwNkQ@kfq@E#={&p~eL+N@%5itG%m9K50r#m}&>C=d}2|U5c2a?!+L&93G zBmTPSgiFr zU0S7(S?+yioEJaMZLM`N0{!yWBH4^c$P&xU zH6L#tWtwrXVV8rzrk91L>h^w^&Uilp|ogRd}ZOwFKY5 zweZB*?zZks!_4C9ex`_1H#jD&Q0r_&qdE|eZM()YAk%6TO&mUV-WP94`rJ-zm%XOF zw%JhElpbsxD2(oZVrHZhju&@LZj=Y^`1P;v_{xqGoTkp1yMwRmw-5*En~h=MT2|+s2r)aGy-0DP{2N63 z>7E}FFB+eK;Lvsz{2Xo{nf;X7{p*`akoKX}fb3#}37{1M%8SSAP1Y{LVGobSol-qh ztMLfiJnqi!K35ddfM^qg3JjqKH@45oG0fBcGFSP`_k2cRVxu&~)O)nnj%{pqh9O=1 zj#NSm%6Qlub_KDw{PEop?4}Vo=o&xO?b1Zj+?&2W>zg`v@F7V;c-doZKJj32VtR0X$uJgH+a^?b5He}umVqEu@pOTpwR2n=%c{`&NgFtSi|0ES1W}y<) z^IOL#AYqaHtg;$oNxD+rrfV^}JUy9$OB0Z)fr=SA@^r>dd`myk*S|&X>aaMfCzghz zc1uPSTssQ1H*R2^j$oG(AH4Wtau#RK5wESRd~0>}TPx$Mcy#BP)>?JH$<{xb9qClK zgvaik8}6o!w+UWeT6)9t!9QN;)PqK$KuwAeTqp&E zAcKz${zyqk@KPWKMANn~G_TMy4=PEpN<*cmqrKlA@M{GzsLwzsyBI1}8?fKLfHfD} zqM`{Jci;7Fx-aJK7T0t51x{Ok^uPgPO(bM`MN(`g8pTd}*Y?M6j7E!*$jNB5%Es>+ z$PA?;-s^5$o=j86Q=9fYoXTR_0``YO^zE0P=UKB$KDnXL6E!c|U0PEVV@IP0f z5PwRgd_HWXYwcyefMyg5v75cvvLcFc7lciOROx3=R{DXa$yzbRw1o6CcqO;WA_7{I z-n3b(JpSP9jv(GRH+$qvlVA7PB)&A>N&NAwJQ{>E-*o!8bvi%vR|pN50e}xsJD8K z#PN@B*t6mC4F@+I+i=Z>>o?pC(k8VG3=+ItN#0>29DoAeuJlACO2(ULS!7X=+=a{> zCYPif*FV9pLhnPrCxXtoA#o<31hmiGO&Rni;HEHS(3xC!l%Uq||B*}2_(%Cm?MJ7E z1DAF=_VwNQdn*=aBm(pby1ardvdN_aDYt?X;TJc1qAL>62x28KyN|6@SUeOg=$g?Q-NbK! zZ`s9>WB+iuUY79!#CDFF^JG3Wo!b86f3KNzOjq}g)nhnM$EtvHugAGOO$U`hAEQge zd#qa5s)8PpX$xLsrPz0b!`wF0wp-X-jsfHe zEi;)yE@C@zda7d)A1X{;{ZNz5Pr?3@$qZeI2|9AWh#earyYtO_(jj7V!@f#nM<|!Q zkMcV3<&9jJ5~90_?&rlNI7&s=J;`U|7vsXz0Of0-1SmDoli5Z2eqZ$b=Q3|m6k<+1j}vQS}NH#{TWwU3C_#E0@~H(C`O23Oahq)?y;| zzZg3?v*W1EWSX{2LmtKko{BS27xV)X2>EJ+mbhxeQLvF4H{1sCEDSNr8kIp9hd&h1 zaS$qb_z5cCNuhzvqDc8c^-ETSEMvVGhSvlIFoXS6AVg^epu}N-1#bm+Pp-g-k<|e_ zEed%De1(t$@K!M((*PuZP((B^KO=*D0|UO5V2f^yE}ho`jinTO{(sdvzl)+$OLUb& zA&cXoE0wK42oww0x|4mDF@+#l!@wu0?5!-h%qOBf?NiH*0=C9R#TqecJB?Rqd1CF) z=fQ_rD`fZq;z=xXo`Pu%LahRbgE5IAsZy{WVB<^-C#(+a5Uf8vD59%b+|v%ccQzN5 zW^#s>wFh;ca73-8=b8Kpm$wx-b84)S>eh+Qq4uc*_s@O^23aBo1mNc-Uv z!)GnsxqrDoU^mDPznCs-DhNED3yU{80Z(Gr9AS+V5Nkml(m3eA$&Uu z#jFOLy_F-k+1)vR55*!G_$^<;&9R7va&P7!_I6=$YnNaNV2`%Zc%AU zzkbPB=x%bV8ImrZOkgr9TRj$OS6_K=Z``{3iShY7MqTgNwukFrjD@v1rO~==c5k#G zN8q-~{00v*D(&K0l#-hF-m8X&X|fWF#iRXW(Jf=IHz9cvt|Qm|UBZ{Tf;vf-0CdF1 z$tUPMR-Db9glI9I7@X-Po#`V93?~x=h%bi$0Jj0{SJ~CSkPPi!!y*DyL9FhqXhV?k z4I>AE9N;HbAMtCT6=fP8)DG|5Iehi-)$skLz^JRxSD3wl-sVV|s?=*y!59MOD2uy` z$WQ+cN}8@rrTP;CsZ{z6nVKJ#t6m^_8mGRRYDE7-O?G~jxrpQT)&yLwcKiP8&y|;G z8f@O0(ehZkr^s@{om15lWOwT;Pt{~n=%`oX*UjBAd)-~s-8KiBh&Y|owo!YD-A?Cg zo`U-2e!yBA>jeF0oZ`KG{9YMIY4klTUv(Tw>2g5>Gb(8weu1=RUGj2)OY*K zT?S2V1&=Yw5L_!X8?@PJyP{6Xm=AcJs#vRI`1VjcQ`#=&3fp9sV0MDZ$}{nG*(w!B zNLGsU8fr+%c?vXd$m>fDbn>Q$+k+s3hp zkwGhN6lzIfRaH`L&rSy;#p5*t)n(=lkB*KtvQtZ=`_7eW++1w~N6+rJ%H>TmnNe@- zGq#6>p%PK3Q0!Lt?Rqc4EMgN{olmFCfdn%niYARQQ`A&c7YQ-)1UjgY9klj0q8E)u z>iOK8Cl4;YVQMwKY^*Zs%^kW^;JoogGy1F?=3&1F`AXT~A;JBe8li?2%Z=k%r?MWr zRG$Uzu%bJ;F<${$i)ZYtBs^e+2ulLo<8k#IaOw`c5e^DV99JBzKEyrMFb{(d#rH{g z2e2sjGASiNvC4crK6?-!fCh0Qk%YH_jsWrmYPOS8h?c`mEf6%Dk%=$PH4zn>$E4pq6NE~Z9`hOfKshRPfnGA6ccb;^Al zkw$_DlY&IPNtTAIR&lBCN)=B8el&@gYrl8J<~ozdWQd8S0;jKfy0y2_6}=IXsJfUV z4LV1^&%{^NnD{S-iSvHH*O`O8D9?Rm3UJ7hD3e;8a*egk>{jS?9R|Z4taC`rj}#=LiZZ)g!GV6mr(_52rrL|< zh*D}=F86G1+bPMF)^-U+e1_y^yGzDF;sXj`vnH2<>yYtzdg>;d4Xro%f_kN#CuUmB z9Epq2zijYowHmfhpm5qWF1BotBV?dopUuv5)?M!${#al0qq~hyPdx0my?~eoiNtO) zZmRMTzjT}OCDb2s!fZx9Ppe{EZBm83xytI2Da`e#SCBuDSJG7&hW zR%?B|S)eK{<>*akWg;$9IOKL(6gbYMw@o8jm1)Fa4$Gc zRxa4W579Ex0=_8R$D#?cOL3m=zl%m_j0cB-IXB<{*qJmF&xlY!4!Uz3&Hv#YfFRh1 z0>zm?;MfWVY6rW(4Qfc{Z0WvO6h6Qn!=s zFFo+U+7l-p9N`M`?h>%pFcqgN6|Bu^>5(JoH8HD1!J^jOMWo!Zf4ci$Rv7Dka@zRz z#GbI({yZg?ZRHEm->KQ8{jW;mwqQpXt`3+&=d#KLo-?MiX#OYe+GMiUU2S#L8h8SZ zuQn<2xdj1DO!|q(^Getr?NA38Y^_V$EtME}dV7OH&zH#>@{~?ZhWF~gu6-JO2^Xg_ zuITS{wzCsJbusgW_ND-0|C^o%`^O<#04@L!KLWS`m{)FCFan(MC@|1d;&>thzF!G@ z0-)iyOg7BZRN)$xERV}hTASrQUq^GdUt6HoDMNW2a+bxtmMs-F#!C_BYLEJIwk&}J zKjbK%dj33IV|^d?!8f%Hex$cbWy~P-o$fxExx!6eBsM5&jf$kBN$IcXYizI87AQAg zSToha80eawxIWo6iTcF&2JT z8610CUS5$k$Px(&!%Tw7Ej3AtIfS)&e0;GN{wIe6u2uq(MoYRzp|4;)Idx{#`ix~Q?EtP?zbhLa!@A{n(ndkl2mq^ zBY?_L${2vgXnd8vs7s{Q*Vi|}1QJzLXwfzKq)JsqzsSd}tAi(_0v=D4E#)bc4#Tm+ z+h(plwBFB`2n)rMa4g?8Y3;M+LjoaOV(>klr~58v>I14@^d^F%_fjbB=Bq3=UM8w7C@Jm=$(U8Y4zzJYAgT+o@LkI*8oF*+s z@F~-8SRHHtQiVQa{AtT`!f*jOFrXwG5MwpANNc3PdGI=%%Xc*Ug5E_SaGZcwV5b3P z!7q3%Aiy9JyzJlu*B>k)PThwZfApW1M(EEmN`; zOpeLpP?mW#*=;r5ZcBwh4xvwS5OK+ET)hf8@4OQQ)#BKRJMT>YLM@lEf(kiFsN{KU zefkGRRxVS{Lwzz~k|E<#pK}#aAyhnY;*i%zP4I{mlaUSt-gk?|k}eKMD+L`z845^k zHfhY?E0SpVe2q#Blk+MA+B!wBg9&|qNs^ZyXK=jRG;fCfP37qQB7t4Zb>>sQRp;(qb7tV0rgmv`-I28^ zp>NnKsT~ryChhv@fH>N3J;ThNRouJV%$&*R$94_6y$+j7Rqm@-d$Q%wM}`qBeE4pK z7z&}0SjSQtty4Kp+YnC*vY)|cK9jQ{s+-#k6)XnmiT60L+kXRa`>e1sc#14uqFW&U> zK*e}{SL4v(qhswujEXg5S3Ou>t|Q)hYl~K^t()F|kGaDf*Fm4sB8c@q0Jcm5Vi(wFf@6#;nkX~_hcC#_1}OvnYCBR3KEE1n#|4D@Moa}s&dKJxmY`$v(_046&s4=A-~{1)SUIp8+!PWR7j~|} z9jqRwqchpGW`0pI2a!Xo+hAuW)#SC>;KJxkKvSC>Q{@+ors4{lrD|}SWx{n;fBKP` zWWG0~GTXK48M9);=-a4yOSy!Pu9th$Ul8V*?M1W6YZk8CSk+L_IX7^vRX197c7F4{ z6BOX z#_*M%A1o~0SEo-T*gER(b>)It=oM$Mejt`Ek}AQKw?Ynq5A34XNhkCXO3^(&>!H^M z#0jxBixCVsHf<0ktwDu;QPu3|&>ef2O^j$swjiIs?jIg9<)cvnINh`bTZ8ctL1(|7PvF zYvz_7tVGQBipPQy6T3iF*zWnSk0us*)p_~F<=~$W!YqhWUoRZMf=yypg4;4=NROsG`UICL503XV&tDq9TtCH;5Mc$sI6vDjrUJbd z^fHn`VF^o^PNN(cnwA5-84grdRa7VnAmtdEzU{n)S|U2$CpK~{?e@)Xmq1}Zv8gDZ zmxG+Bsa$W?2Crp94Oe3)ztn<%Jn~ zt1c#}5M;Yoac;%5T_K=Mq7hdAVBDpV*9%$hX&j&N0Xj9pv9WDB4t7BkC9=fm`YPqP&wmvo;7 zC;LCn6O?Ay3v3T3=R!E_qQ;VhBBrZm9DK|bLRLa^J~^k&i%K{FP$FH=Oanb{l`Sjl~>kdhZr-<3pp)s1K;H> z_p%tKB?;)6G_wMt&y?VU3I`0CE*4rw5D404fRw4kcLNc`vFwFuRIB6WX|D+ju0IS3J1PV4*Jm4XA%P?)LpvjOO zJRey>B%rLZ8!lX!yKvz~>hj1a`Z@Ida`43|MVsH}O{2EzHqxWV04QPJkEpDW!bca#)v zc}y;(yD^ovL{hW%ayzv)XQrT~zGygAHn??qX8YhL&4tB{e-xLN#d(8lhFWVAum(ix zWOHquko003)C74GFF_u*7&5SN?R};f)4%jBfDSH~5Y6g#FJc1h7h8rP6)}YDY^UT)-YvrELC4eO&>86pHZ7YyPT$OCw}_stLdxHpGO+v#&EGdPvNp@mFHLwRep>X zw(Ld!d_7WPNywcxt?I&s(SM?&hlsxq4(h}vjjnRYkv}+C`~ExcptmpgAs=-xTijY2 z<4khYT9>R(<_-4tHi-CRb!BnxBu}l+9@B(+yK5ohY5^Y@j)P>fWG2D?wT_O4TtjCm zT*!JWD@&F!GqI!qI}+|_%|{Jt8*R8|o(BPnB}pd56-b39mPC?%0Ez?rB{p6`Pq_3o z=o$x}8z`HA8>A}0%bAP_V9!`H#I?jga+z1u%WnYilQc_OmVYW-Adj&ShL?fl`F za+Lp%6X;~fL;|*?R8_9bXT@FO!X>F-7&<%?{VcAuLRGFRV#c^ud3k4Dk)TTJtCh`V z`&m-CPUQ3|w0tR#`qAc? zQdhc50A`_yLtM``2&!!oO2^<ZAMGYfx5HxipsBa_3Cw3>sa5*8<*47pt@O#+Oz0tQ>! zW(nE~nQX$Pk4z-^DqEz+>X34|L@QgubF&ysMjNRJb;%ektvym@v+!gjvz0C8yBK6J z*%bZnvky1>jaB)V=QkN5J>0~o*3xW|nR^Y&*5ZTZK%nk6`h=H>zp!9oR%?cV$%QJ+AkleO!^&_oK`15Mw2PTmE!jS#xYWXVAX z0n-J}8_z06aB#0}LTfC7E%I#Cxhd@@n~A{#h|!>OyT_=n52W|6gY;`Ms{rE5=ixK> zU{%1lEBKV<%m8~F$CWeK0uL~$!7tz{116nFzPlBT*tUmJ)8^3~FVxgNzbpK`s|pA0 z5#oV@*}^N|N}ozCl?=Fv4TIn7ux9w)lpz zX#jhv2ixW@h;s`ec8IeU;osqv;QipeWcY#$lux1}`_b^o_e<2KZWHzBx}`f_Z?5HXmpE*z;}TVpwZ{ZL5S)? zxy16W0d(+B39NX-&Y`%}fumQLYH;L<#eQiKE!sCrtf*sY?SX}=gkLUKct*f#LJHjAz0-9f5)A$PIl^7i9Pb5(C|?-}nZIoswgUaYRcYap}A z!M}9`dOnI^4ZcfujhQ5L6=s9gaM4&zCfrszp2CC~CV6B-`p7!8pkwajD)?zO5mJl# z2J6N(b2T9!SBlc_xz};fFVbRSL;6PIi#NNw->ib9*NBCBrhMz+ffn(i#2IQWMgujo zpF(eBfQR~eyVzxUdj ziipd{-*2%jeK3)JoH55>kV2PBAks_@>c&+{sZ15xlrt}>^6pq{Jese>(J2D-vXijp zUN}Q&YVoZzl&>1cz_$K_ZT#dCT5r8vYCywFqw_uMrnWa#?wxQCwKrBZS(_IU*T2*< zS^vU*V*l(1RR(M62eZ^pca*9|FV?iT)YbQ0vo1E4-8EI6m+e~&ZfNV+6vF4p$clqr z^cXn=>yd-+8J_&snrMU0<)*nf)UT<)ALwRaXkvdK76VTAOY>;0b*s#b`WEjzdUbQ( z{;CaEzf#kBPXgt8?pOEKQnzjG(dQdI_v@FuhqXvkLF^fMyUyXLdu!PGcKdkcZR5-f z`$oejYN$K2U(;82=mgwFq2B$oShC=CgQ*F_%n3PG572a$xCG;9I)gYZ9`VJt!dhq> zcG-jlYaE^d%LY0v;L|1_m`_j7qiY13Z8l+cHtGkL0QALpnw0RxwY7o93Qb2xz{3$B z>KXNxE9xdj94zulG^ybbUp?2-@|-Sas5kE!o%bl@RYwx_WgPArvE5&p7&*{9RWLX= z7@bcjFg(euI;hLP8|0`EcoQTwp%tz`b2&IzST4kkXjYM_Tp|G*$-5WQ*UX^>iFiBT za?K)y4h|yo0+q9XOw=JXcLBXm^Jr4WUvH42!TJ9= znDvc+eG^sCur7H0i&gK{S5-8&%n`TEQKjfbs+2gi_Je@Nl<)a)PP?aSBm9e`)3eb% zS^Rpis3=G=Q8#tgHG!LlkuZnwG|YU*_#TFuzHejKCCnNYgI7hL6{buaFNf!VI&rsr z_z$=^;b{Pod9zrDhG*w)d8euFJ2!?uyP~4Bq%^ns#`w=rt3s40B_^7-{> zT3jJ3bLWbw=jWwrvp;CmDF~97CRwB^;LA%U^ZWrh5gD7l@|gYmXU~6Oec*=q+&tm| z%2wPy)QFDR2Yrt_^g2c5UuoUoVBGDFW7v@3tGo~Jy`9cLF9&>w6I3T?$wSK@ z;IQ=mGRM2T+2ymQg(U_QooHcIgY=+Ny~w*~sjFKVK2)^%x*nLLHvbm&#ZS%89}AY2 zcDS#4z3bS2o9DIWRFRNz2+LX%o^{b5rFsr&v)uE}kHD-=uoVr^T0ariuH!>e`R;}PK ztAlfYl|FYY>w@5GNC7&)*#a)YwxF@lva|<$m13+ITn|%<&$8rEfApIjpS5DOg1oSVC_X< z%bfu}BwFrP>Vb;NZ*e0R@N$g1v@nDNTP}{kf!BcA#8njQW>(v{Ay|;`~Q?JF#ozm$!BoG`^KhrTy_oi^Be!3jaiwkgUf_{hh&q zfncY<q~-ub05IXLVF2T_!Z_zaK7|Hfrrx` z6B?Q0tEvW8zcRQETnsZZoK*yC1{Ma!Od|QjEZSh);z5H&^5VWDM^00fleOdBoS)ru zsJV4PSvNgXKX)*hXeg@*`@Jm<$B&`l(W7FQKCq#Q+GB7zCB&`e=jxQh=lb~EzVV4E zRQ6M(;;|=%`jYfP<`i_+v%6pnO13}V9vWOTG&$Ut=yL0|HxHer+n5sH&umL*d(0cQYaJ{`6PRwu{3U!wNRU{}0P@~*AvV_VUZ{wkH| z=X}ERTlA}W>fHQq(QnPJC7rjpZj0@u!Z7PsmyuUc=TLXyl&ij+_~vMI_M<9Q%yXx1 zs*n=f?dZ>PUtLKd^k^EjX0NHazlVD5WS}afxpJYWcuhe;J>YRI;PDY!eqjGCt_sdz z4Zs&uAFLc_dIA=&I&f9>mcWPSSJ5}MU*R zJvDRrLe2oXWvXDJbf$Wuzw6qG3%lFqiR;#USRyou2i~8iJPsfABr3RKtheWhsZE=v zd>wzB+Cx2!S`UtNc0P}vc>;X=u-2MyUMEk0u8j2(&<(zI_85fA-MLw zfbe}YvQ|$_R8Mw4_E`7%^E6Kie{&r2M6mrLS?%q(3N=h(;CTkG`?tKf5ShSI(~adV z=1ms`DyX1w63_tK7WnIhB{a_$ZFYkqs!P94{0io-JCc5@-QlRn9fLrvrtSK9%N2{7 zeZ=AW6TuLJYC+v&WR(JcyFm8Q)=?0AjhWgGzzX0W7#UV{9GcBy z*@sPF_=$I-240MJLtHq#)?fZYne}~B>9Y;)$iAYl(0aC@oqBNz&8e<5fu%zIw+;;f z8=gl8spZ>9$Th1kS2R`{sx)(gpms_L@$kUAxw`gusgJ6r2)W;XjqfTy`1vY<$9)Vu zSOj)!95A;Sw3_Nm@s~aeI0rZpkl(m-4_;;>sm7xYR@fYV61IfPM=*l}{|sOa1is>r z0XB=oo5dm#>Yt@PX9lOKuRX#_4?1r2GD+09scf#ka-n#AUZ+`r7L`E)wER<3ePM0*)mJgPdZGU2BcKXJA zWQxV)S9f?PYBwZ?%H&|gFd+x<0rD8gZXD?309N{c3NQX#3Lrn76dPd3PQsk$;kNS(Nymj(ipGDhU*RC0$ z{u~sq>-b_34N@PX;J!VKIkZW^-0u7`y&G*pDE;FXkpKCmCB7m6gKRGtNpASNzK<*O zc#S-RZRcKhP~hTp3I&Z+8a4U8>t~V43n9Lt>tt1&q5KRQrUnA96cGelPt$b-@a=xE z--M8T1wHduc#xVtLP#|QMvn0gD0($X4M_T;*Bdj>3{qZVKw+W9#sUrg5}Xr|far#5 zf2;C|MYLXpwu2mz*V_nYB||TzHN=JLQ+Y^b3!SQ_PU~#3+}3raVO}KCRW>f@rgG!dB65;q$C?OpKG21OA{VXc@86IinjQ zLJ;v-g$Cv=@XJc9jCRN*@sk;SV?}x_117_)0WcUin77a(24goIKWHa-;4QB9dl}j- zin*7$QUALAYl*F{lCW69Wu_cD9YICc&Ceq%b@b&T-H|XzM|OC8-}K4C1-2pikf@!sVmABY+bRfRn(7>t8!aWWCRI$9a}3(;+@sp z$=Y{j?@j+CJd~LH^2^Ef@zGRoA!;wnX={MJF(G&07_paAIOmjdjy17CF7Sdl-0eiZbONS1p=JNs`};~m`OPV)+dho!j6GM;cx`39q)iP zk?D>encdUmPft_wcaJJ0W0h;hMJVB^IO|`QL58C$iDYTXPp1B~W zOLSHwbTBZ&Xf&slFF=(noR>k{Zh-$Z*su`GSZb^rLs!e9Rih0EN$CpmZZU!wf6xTgUlH^!c$R#A z;)(vp^(vdV;>p2utG&tTY_hjf?;0EZqXreEmMP_Ymu@mp^xkX27MoHh8r6^XoQ-XA zxoLj`H!B2o=P}@CVvxsUeg|(UX;tD`C$@j2tTH4 z2uC3kZGMFxVlhq&0Tw2C95Qmb0ah6t0C+AlLmV@}K)OUe0%c$^0Ca{wW0`LPOfL?5 zbOSGiL=q=X^FFtLHbDyCW(S&^Kg-bxxh|E?CN`3RxV*Ns%_q5S?YVP%i}}p@dv@+z zd(AbcE0v|!pR~AmmCoEER9`=Hj)}Mo0f$50TFHd|;thNjakTSErG=;Md9pM8k*iIo z)M<=)hw43r(`Ahw>Bf!S@qt`TpRX^Kf*-8|@p?y}6LXW%%(O-)Y!b7SOc64M5irVR1X6rJ@rEzVQ!`uz-pB@U z03qQ31I<$4FWEFKX{G||1E@&AQ{oxiiz*3>SZe$tJZUGM{~M@v=w60^9Tx;GI;~VL zaa0tPk6O?!<7G~?W+A=s5*g?)xAH`&GF90+Ajz{(8}v4n;)*7pD`0cy*eotp3x8tv zjW-@R<$5v@d330=xv~82>yq}yMtdGx#!hDSpDq&ei0%Yl z(+s?(5ob+d%_5Wc1?UmaqJaPaz^(xref|xN0BFl-^lvXI*jP~Q8#vFF%yU%72hnB2 z{pCCJ3a*b)d-gy4@b2A*4vpS=>$TUOJGZZUP;~RHJ9bRpamQoNp!ADRJw@D|JfIHB zlx6!9RPikZQ{y+?u%Ql$dP8llCVN{l*=BEYwS|6Mer$a0zPVd(o!hsTO;VrC0jbdZ z^AU)n4be6L<}-CzzCs7Ui|2-yoKcQ4loDst34G870Z;`tj&TBz0*732B0e^8AlpAq zg3O7M{Zvc4xP9)!51)PZPwA(=Jf=}M)r6hC(&6E?=+*ShJld<@p%J37=cvC@MIs}+ zk7X31DI|Dshm3b8(fJRHIVY#Z-xBKT3f0;4rCrmB+yrGMesXQ+k3B<=7HdTKVt5HNUW8=W?z|P4S56dvIGO=%nj`3aDi1uqXt9WShY`P^sK9uOaxw@Yk z?yn+xCd)=j$~P99R7qA%z}Feg$&qW(R(+0puL?@lrPTMR8_(imVQ6HbDyK;;7o&eJoGMZ!ji<_@k+!zT_S)3$UCCOitEI86v8$s);V9#za`MV58;>mx z4{y7x5)Iru9a-1@Qg!tcd!iw3mseL98G!a;?g$T>&S3vw2x5u2zc-FU;eNNctK_%! z<%|)q5;4FYtprX%PdLF>1m_HfH*UFt>6wIX5X*UJG+JcBomMF>n0j;$trzn)nPCLm zw!qfj&`1lFXdVuq?EewU76?vx8Gl7RyhjFEd%!CQAe>)pFdALKk~3$rmBB*?7y4|^{6Ejjc412BE=0N84Goh@^&s$AY(PS-8vz} zQ0q|nM`eX9R_&=%q{+M&0(Mr&^(gt~D6K~&X{#_ZTLN>yEGKxsAW;Q^Nz1&CF51k5 zkpQ)UYOy&8j!2A0%i;ux#Y%#Nh1Y@ISuq)`cq5p=0hw-$Mi@EhKY&LNAwAh9Dy0Ns z^aD~TDJyE864$ir?E(%-ZL!Ss2m2?rPZedAwK>|b_OwH+9OROER!)vqAs4BV zgDedT*VTDJ-#P)l4eUd@IGtmJ?u)jHI~mQ3mYUdglo72owJ~vG88qX^UIVPR0w4iF zfcE~iq!@SVqu&D}H}h8fIdl#l8%`pJ6;?x7d!2~0MJ7a@Q}(@k2dBq&>=>IKO#gCV zz=n`7R2Q_N{D*gS5HF?E1WE0W#oFU-@%R%RO|RZ#9_h$72YtTiHvjqo^n*K$(&{yZ z51>-w$>M`9nL1#*CQ?ynv)S!+U~0edaN2@QY)RAQd8yb$1#7(V^~rswOWgEz)$UOH zw6#%eG|4QA3Qe20Z1+;oEWXE;kDNF=0b+rVfxpX=m8rYNUKVVbZppeFcbUR6WQ8Nq z!ePY>UExj300Z3uz;)4JqZKybS^zxy2g1yl{({eg55gQ6gK(K7Asj(BNPz#AISyz_ z3P6v>AD=?&WE&tudP02Nw)B5(*tM%`YgaUVe|x*Huhee|p1G<8fk~f8rS{_5HFe$q*pK~$Hegvfy%s(iB$p1i%9n@js_F#Xb=3-?OK(6S$cyq)UHtxD!= z{XUP8dJW|-qI<_|9p<$KozxazU%~XoGIYw;VOjK-+KGHhKF}gr&m{?`AANtr(W9rD zKk5uT`nq_-i{pjQzD72F+?%uG(Nm21(ZZ$OpQv*eP1X)Z5n zT3T#Q=4r!-kovQSd~OkmYS7+7wWX)MqsMJ!kW57VL|UU83>6X83)fw@K;6_>CYjX>v5tl{T1=^VKPNs^Xq7|8``EmH#L@9qGz$^L{@L9 zzN*hL6PgMS4u-M*!iGGc^W?LnYk56lz={~|7>id0UVw}A@hyk)B_UY|TVpl@=K#LF zWr6{vcX{v$lUq#VB4^6~d9b&qr9?a|usezwOd?y`*5J$T#o;~h2ZW&>=T$Nc`ui-% zuGQtcF0OxN@ou_W3@bAjJ6Bi*+=DL&fT7Mf!?5xO&QWX_;hbPxsp`huHyVeoju|Y4 zR;nx}$$adwie_JlL)MjJH&RbFSqlP(boZfW3X{61$|Hm%x}JVW5tvVZhbT&)BHnoF zeuCh!7(h;(CMI8AZY|-nnGFnnhoO=$a+KeZKIfU*g1R>B7^eR4rMIJ~F3IBbi!4sF zSJ7!`0qfeL6+ZC z?0<!)`)}}qY4odlo9<3-^i-Z7oiK4ufg+8dvl+y)0zGYCszq|{&?hf zFn^=Ipe0|sMsD#zuHjZkP{$H5`6_B}y&kIEpgvyZ(Eo2J)SZKIgatVv$DwCb&*lwzRdWKpa*3% z$pj$TX#tJCJ2!{6PcjIGCKmODL;gry8-Mj^;J_*G_xq z`iWAG`kHUOyd$y6TCK3@AqUv4C#j~yopq6#TjE@e;UA^ci-$SnarEj#fPd}pq<`*G zRI3~=DFZqONPV7y(tg{RsVI1pPSC0E_6r3w+WA25uCa>TaxYI=5&mhSti{s=Bc9;x zN-c5T(`6enx4Eb$g~IcQ$&i=lkzsgop;yY?ccZdseVU8q$ky#=qnhGYs^ii;*e3F7%sSR@;c?w z>$Tn+i1q2051;I@&t3mo0rZ?pP^HQ5>?~N=J5z$*Ou>a^upfNQAH!@r+?PAkV=%J; zOiHWT+%i0tB_ZAz?00$B%lBAYhP`Kk%Q%f#36R0;215se>~VD*VveLv*B_m`cCO&D zPnpl(amV@d_uR9-ynOnysrvd2ci(;X>>YQg;!{NDhCr)5IvlqTj&&B65A$m6RL5nP zJyd$K6sfawLu+rED{JLTy7+-cM~nRx$EKd5qT=G7O^#RWEsjPvgi(Ug$x3wL52=Php%mP;#Mc&D@s1SSmD z1J>BUKX;MNq~J6Hse=1RB|!8i(Tgvtlkw?TLNz)%`{LWD(fK=GdP$p#INTbe$Ef~* zkP%Flxg@`PVX-?FSC46IQ_U?CHa!>tMA1V(J2O<$cKFScb9di;`qaY0sfEXqg?io+ zmoQmwU7)VXw)t|jOg5XL$xWaSs2-=8V6(x+Yh^;!J^_8p?kC@Zvy?%`H|z+nn=S-e z-V){z|FU#^Vu0!pEWn}yqzi}&H?3qY%bZMzVR?tZJJGods(5TN5>a$_Lk`=CEeNEC zskpFiVX-b=U>q;(74u)Rd-Rl#n)0*(`2`c5K)32 z{`uL#(zXL{o?E)@w)9Wy)W#-7PL2{QFzRFsTJ(LV_Wqj1hbXGJzH}z{gA#wcjjMR6 zGM_ib*V_@R^O2U)DW4r8!h}GFovb9i|98m-$doI@mM<8!|8cwYUa?__4PL;`OCUuf zI-qwJSTeNc4gduHm^onbq#yV(+ftI(xM^c^Jl`-`+o@Z;hR>R3FTHUH4E^w5N)1GBx$~Hr~Wjm}LHlhJ<};QgPTP)pC4dO`%(2 zlUmp0mCrthX4wyZdTyw&?ciJYG1neGoW5FT;!Qs{Io@#EU=YHFG2N=Zc?xuVzW)f1=ZUwtBt0#V|q_xTStA^LXczC3n_(YJmh+O`YHE>rSXWvZ!e*~X!Iq= zD#~qI-A@UXj;Oxy$-P6xZTr7_dflNz=?}Hil*=u{XO3a<3Dp3KC;TE&nK~+}`a-5; z=Y`9E-`+meA}^ep8Y(fwPzN|bUkJA}#q_qkmK{*QnSsUI&>J)d?EhM@T;b$bw+@;Q zkZ1(x z?O8k9TbDNxjR})Qj5#JuS-pqD_Zswkf?Pw8s=PuoB?qF3&PJokj*j^YXhK@lD~SkW zPDoZYs1w@6VB?nT2AiX%#^|jY9IV{03u&F%N(PI?ET{(j_|4$`JJyzqV{7Y@;?l-Q zZb76l(%X_(WI}r$`sCi>;?@Ii-n(w!KI#SIVUKrB6$L*|~nYJAA{|ki@aZsPYRKuDjE)~J7Wd$?F0 z_!NwX2Sj-pHTZ4ahPbJPU^7i6g~KDmqp@7=gvnhx zGE#yGuFd7We8F5kXm<^<1cBcD8h%u*?~*!N?Fxk2wTAK(H7Yj>I;;k(gcr!u%ZNY8 zj4<3rub_T+{>P_>id%1f{hoDq+_Al**;z70Eh>yYn*-;E(!}^SHRA=Vh(QR%YI#s@ z3K*ecR{|}YSoIS*I!R55$+p(O_fNF=%?4BvEY>-Ss~**fBwBL>;3@&X((7ay#Cf9- z@oJ%cBv}Zc=C)>fnP7xbV_O~?aAWW$!EV8AVlZTYIfIY|_LPJKdiWh%+R$x(NSuL zS|U-}hFl#cU0hpPN_}$#{FO?`fBO*p9)+O62{?_92s*teo9(cTf_NE%IefnT*?2bFcv1CI6_`Fi^cQG`{IQo=& z$l5sU0Y}~4p5X!qdKnrZUWuC^Qf9Vc7;PEnu1H1$Buo|#y z6yzb)#nPDdt({-0wSL>jlgU5;l8hyzw3Udd6o4beIWsGQas{R;P@(|6K&;}(0Qn9B z5r}CiDj1!anv5mXBN|6_BbgcTqZ0VoO36pFn@KqOLcH(BC2 zOm-hnZT#nOlUy$!l{(_1GOm+fF--kki0)ut`1IUBF(^}KnR5pY^g86G(5Js_r~%s$ z!|8pp^pXluH{=^+`qlsYPO(%3i-`6?t+Y3he``qXswn^*4d>U=AtW`eRfCyL6D*6J z(YhcB4?+j%#6!wh1hi@8z`*oFMs$wqK2>?Dx_Y>>a=7|UCevJ8I66Bs4tBz@#y;59 z({Hy3p>dL}ItoL4c>cW5&Ds7w&a7;%gsE2ep{)+u=s8qJlrbOvIo|RuZ=WUC9y)Z0 zI{7ioE80Wjj9TN&iKwuERHqW?L#oSR!t}^fsz@L5_U1c961Kh0J#Q*G#qf?ebR>`4 z#nq_p?%igELLEG>_YttCd%*u4gFL(fy0_YB2E)FEUbJcnkwiNFB8711zXKF9Ih68c zfI@n`U6x2<-UlHW+Nb?(l1nNxK0NXx4$GJupIcg-%ZX`*{Khv8)1C{|MuZNt(tkax z$_b441InhR$+G~>A2v9*I-OfwF1wY%63Z;yI%m7Hho|Y%xcet2`;man=UiFu56Uq- zl;I%yHT8JwT{k{hsUG;9pZbwOhb}~K|L*O*1x>r2I2fKid^jGDQ=e7hi@H^+CRpM1 z>(`$?Xo@7J?OFii2Q7p`3YoZIi(oi?0I~QMh*M(vTWz7f!rCt}8gZY>Wu6XHM?a#) z9!@^MEF33s~$Z9FHU9^`8EYuj4adaNWtEjY>- zlN;}5Gxr=Oi07w-$}W*s+@@CbGWAP8X1)F)3)&G-pF!dWcmI>=-=0u~Lqma(vb7aW zpyTJQp4-Mn&~aDtW|A40WLbgP}pmtIV$2WIaoJO-wO0?|1IoW%xbjOaep_(XU2 zXU^&Zp3Y3$Hz#5Cffr(QQiy*;S-*Uh4MX}gc3FZ(NyA_@vJE;D)-C@5j+n7vNJgX= z)4wK;zp#JT2eAuV*5%rWB2Q0p{kilvsm8t}!EzsdZhud1<5hQUN8{AbW*ZvP@#Jtv z<(fprg!{H6!LM2&C=^qnks4rrL%@wNB{0Q}T#M?(bKybc8h&uM1J?6O)cJf{ z8+CN;&axumj39S-t+#S=ViDG$qI*Bs=rz>-Cy1)-n!p;>7G< zg(9H=hIkWfilN9zMiV=OnSXC=sCuS6e2-qPWiCioYNWXca%7s ziXNWG=!j3i+s=c(RHkv~aYO)LCcyVB$7Gnw3(H1E%2FjpqKPu_H2RjZiYB*_!K8k$>(6`k5CZ+F zCvO=jY2I=7wW#ZbrY1_3AByR~Dqt9kQ)oB!QLPqAD6x@X_3^G4A0MZ2LIu932g%HN z(0S(x2G~X_^G(EkZyBW>SiaH+g|MJ?e zcCdNBiOakan2la3#NC$l$9vmY>mmqwG{(!AODg|r<>=$g+0N;Uq01X10%K8R` z{A>s2>2SJE z`$jn#FKHKD-Gf+k^wuyO)y+&6>`xX`2S@SKl15W)2GU z4&WQnvhn6eZtsZpTz}6^D7ia3`-eqby-|eK9kJVUYf|79cS~F_yc_$GrE;+`{W{u6 z-QajX6aqsF^CA_*o9-ulbd46SDuH}lC(NS5#G8>hptP<2f}h8YrvTdcM1Y9ZY&pPP zl?2#>A`BQs!s!5-k@t^0^Tk81hqtM6n#;XYca~gt(zbQR>30_TkUS?i9m*DwV(LtV zScU?Z-%w@Toc`$KHtN?@c}~%E$@5pve5SG)|EIfZpv*L?GmDINMUTEZkZl;2sPr1C zrs>LiuI&gl?>=_~rT$_Q2wECrdJQ@j3O(AklZD(~iBnG6rB{#@c z57g0RY{)DSsjF?I)GDBDFo4)@Oc$9QV)Gd@Hh2lpjg4cDnB>`jXE#=(pv76N`Lsee9uyy1rQ8_6cm0|@D+=+_+o?T%4Z8-dXQK;1|Cj!M*M^W}Q-d&JD!JzrU zGo+QqMVt@yEnOkQiD`o*qg~^K9e6}5TY!?VZunYB!B~!(+y5?&#->9#GLk!&{(u-8 zi!|Jjm>xNo`ef?Hi9e^)(@07E5eXtNDDN^)ncN_gi0&bZif?=I-tLlStWh-lswWss zKWLbCOy_?1;hMq0u~VGGUwC@F-X72H+!%95ZeAx_Dp$f;FtVhe5B`62eFtDvRrWXc zy~#|HNv8M7^jU_%iU1qD<@DY~|`yQ^aFy1Kf$ z`rmb3b(eSf&V7?W*xm1iNtv0Dckey*ciMxrk(Fmf5Zh(%e}2zdMH0FF^NBDDz_3A^ z5NX9GJd<+>vKAyr;)ocA6H+L@ODzS@Ktd~~ppdL-CbNC5CnH~!C0*8(Jj7evolx(u2?XmZcv&apX3E?C`=6H;7H_z9B^vohKM3Vd(*^@$*;f^Y zcrgQzfstUykaS8%66(#f8MaF3`PdKhQ0+baxp^t;Q~Ye~me?$Zpx>sGJ)4&QbuvWw zf-|j{KLQZPX^^Z-hz^!V_zm6wpMm*caqx-#mKeUI8&eulonMK)-cc_R7?aGCRC;}R zWqAiQ%`R{BWlI%ygC~iq-81g!ey%Jk*5nq}bK|@n#_Vi)z0zqnHmtNwk32vP;I9*% z2`yu3rfMqt(#sEA*P7O_Y5xr<^ZT~+beuWjYsy&N%q^+ws1@`?1B&DHh%|u)XPdS^ zAe6}!YG1rWW^R_LOfIWb>2$lA6Z~z^6wB`}ZIc3x5`H6jKUwSHtoW5 zMso0(Sioi;X68Xal03+wSu;Tn3l8!w02u%lvO8yYIOf{31mttu0#RD-{AT^hmpKYG zfV6guc>;~2HmWHnD$1PFY`3;1JHO-p?IitV&NWec5!xDepqrs&-^B<`fm9>R3LZZk zPD|A#YNcv}TqX}o#YJm9-348jVvFsnmefr}+ZUaqW{*Ak*O{c6jdyQAvoDqTe3&tc zia1Jhf*foPj>#qB7xInKdC?}CQwXE&i()zE*qkvAUlL1nV7v&orgdiq61h=bJg!>) zILz@>hDz<~kZws}(9z_}1h0wM;6m^(Z>BvgEfxGP`!K@Oz}xeceuO*#qi3BdHnr-) zJ`#Dgh3OQ!TuWVU5iOr#UP3n=*t+$qpQmvBRLTakN!hH~uwf7Ix%}Zq-tDMuQe1Zk z8S!US%k0&MZyxYA+;Ct$D&FGtGP^vju137YVukWXU3_n}f@5y?AbY(d2DL}Yg*~yc ziS;aIcQ4dKBreiJy`mGclq2)cN#{zqU$`^4)eEYG{7jSw0!mj9c`ILtloDM^7Dp_` zc~uI~J*g~ZM*@=e;^-BvXT*stabD}7+byPz%n!NN;S?w0dpdOJG3GH_O~Q8S@hFZX zIjgxj+h`FDRvimymw$lxGFwirO)dh^^BfEXJ-YZ)xX^TRIzIH34HZ;wEJ&-nV&4_0 z^(${^sVmr7q$9hj)V`uF$FnJBJe3%nyVFPGOtDDdCfI=8J?0%n#61<9^fA zc6+rI^3kI}_8ove(}}PncF?nI2J40WIKLh8$Z8kv2{a{(hz=sv;RV9Y!>J<5`TaW(a@s)ajmIWEq5t%2JH?JZDY!uHQGvZw=W6ByL+_g39vn0 zolb4Glr&m8EKOy$y1?WsJ zZTU7KTAh@LcVdmS;JU3T^_ze(hTgeNY-x1`d}E%}-Zs~Am{OgX_)`_6|7$b6T^){e zQ=`UQWsjkoDOr47Y^;y@&5)?J2^&Rnr9|Sa_e+H0`heM}Xi*pygde!j%lLNsG~g}O zKuJRo#hE3uRAKk#pv?$)0y{!_(?Wvg#o)n(=auaA2iAU{lN=F}3fV|>A}A$N7{CYu zNWh*$ClgX{#wvamo+8>`PM_w+3&5_TE4fpTd`Mcg|w+KIO zFNzl4SLD|!L~>DlJ-{$V^ouPu&8f4+xa{v|cld{l$rZ)@Me%mEt1QtMlj>CY?0MP2 z#+HI>ilRfZIHT9+u5HQ)RV4M7K(b7t`qn(BWHtW8;i%eb&e0Td%|dR9-__+XDWfD3 z9AICrSsxdL&c(PED%OQLoJDwPTc3{sh(c?p5^LT_615Kq*ju4q!4RM%Y>$1^ieSQ`_r zcW?$coEWn$DKk6pVXT0gUcROvvt;c(J5l|gQ#>P{yuKDk*qs`kG?_29C%eU!QdMbI zfk}gZOf0L*+ZS^)xBUh6d3Velrcr=@ze+IYOT9uvoUQXFIp(H2IEvb zl}4u1aRmI8Bwd5Wk`Do9;AJu7Mu-rSx}`|8g3tr(&v}4vPMw2+4O9hd{%;jQ_J^e@ zFp${7dkM?q1WpBumIuG0B+Lq>a3sh$Z>3XzUs4^=YOXLi8$;RNpipX7DP_xjt}BvK zom1{4L7Fu>**yVx5Us=q(*Yq>WTrR`{z|7`C1y^Q8bUF_)W4y4{2_ftKB+aJHG-8g z{R!I^kM??G!5>E+OH&P zy%#5mX$@*+Dou|f?nWx)cHQj@9KlVeB=MJtWw~Ug&e_ zV)f@B%w=0-jnqT3`@|MR!gq5#N%kQvM7Gd>A^#J$2KX>IpX~&tLUV$TO}mC>YeeZv z7rX=T*z@nEkmEAZOu1QP7seE~Yn9$UyG=klmUJ<@Uw32~%4Z`;dZpL=z@&oKi>LwOn3hYga2`xixWO7>=&0Yp*RS zT66m*)c4E-XRZ?F*P|ukU|I3`m0hS0st4%B%OEeD{qJTRC%mrmNtk=xO zy4kZ~buf@PC=tp&g^e4p4y<$o3z_5qA zBqb}me|xAi)Qpao=64lcHih0=_RjR4J=5>t8||i<*~&t}kU(R#c3LUAdihXNpQEro z&u21qC$6f^YAVegNE;YWg8TPE9ro{Fz6&2Lutku|2phoOdtkopV1#U7HFAoXW#qH3 zFL~+Fdb54MDfUrj-N z|52!8FND7V<_((1_2KVOuxK8Uf9xNDf-DOdCD6x@{G~;+?=OAx^ty+7GOv0+EA!-S z1#4~^w8a?pn;%PQiKeCh_v7{_pTzInvBo-`dt_{4Z^cY-v(f7I3!NAaCD< z++av2hd$bXxI|(GbBGYs@4zvK<{l8Ef^}a=D1cw2C`Gb26il2_XJ>UMs_>2>XTNK} zphP8nejGm*V!Z!ny2S1EN&NZL%s;k0xVf%0%WI;R;y9YRiCIRYZ<%8`H*Q9QOpaWn z&=~vN>|XDqx3K#FZ7de<1IeHg%(Fuae zhLTp5C)chwN@4`)Sk^Dmftks=&i+L1Ez}jX@~?m0eDo+j*1NAhFK!wdlNpVfzNzM` z?_F0u5**w*Gd2eI5&|sqF^CQGNtaC<*@?LwL8N2>NY);q*+^*$QBKhF5?MTb`062d zA9ce^xh48!qspJG*F5&vwfH^s!s!Dv6~$~-Q`?xIXlfr`GmHOHRmh88600-+I6Js~ zcKHct??ZeR2hiLf>0-9d0D_4NcY+P1lA{8!o*)oJ$`h?PcQ~m4Y0uFNO)oinZsvoT z_g~}D>g-UvH%WrOoLXHq-bzt&jRc^?DBSFxu~eCs+iBx>->rjS6DO$-=4;9QNvM7O z*yByT8G9F>#N8UXOdDM(KV%!X)tRR(3v-eQzIn3WEIfr?UI*Px1HymbWr$3mXp7?ZTCTBEfhEcwZ@3W!6ODLB7 z{|ItFo`Rl!CE)d5u%ST6`Y4N;%Of9P5fDO1BmBVj=>SAI5)hjcF5u*Ve&>toI&rKK|Fg z;y1nxhrgW$l|}a53j6*%e|>gA8|vL)^nrit>^1$A{p1v^^LU3c>2cHo0? znBRE-{5&$hfJ74(#)gS53Yw@8v0C7y!OW%?P+c%U*K|d3wVA;US8m>rm8qb*nf=r& zCN76LskaTyE*m)X!ORTPGxPm4#nEMWQb@854eL14umrD9vbmwTAeW2pK8&BXBJJVV zB72Yxbtk9jipU;B3d2Fg!^-Dn1Cf|>J~o(Ha{AQMGtWPtYjO8S-c;0&3@R`oQ(Sn)JEnP4z-6_%mDzj^2r8SM&hy$$=~EG8iT*Nft87o{@gH^ z?Sg`s$H7sg4vFTjI{WR)_gCWQ*HC|7gQ3|xc~Cd6|KW%A2M;nj%E!E!ih?aI)2*%K z|1N|&`2BPy$eBpz?~CLdj9O)v2nKfm;tw$H5Bhx@9qss@UVA5c_L*nKPMjF~UB_5w z=N&|@-JqqeVEztrZ5MXp|3f15-Y$F&!v%k*9Qt!U&FWAkXi+k~!n*$2au3y3usPpryRIanLwrEH{ohQOa~Y^P_bV;#bTU z*K#Pt>@rhZnSXGg_2c{cZhcF66+UY0SGTD;fOKi-jdX-QLuWv~T{@ujiwN2kaeaZ0 z*gl3VA;U}vmYL=p+=y`!y69HHItCOQ{x4y4e8_CgR~tmrqo&^Kgt%03Z1|ZC64wM3 zb>ME1F`mzfrMWT8Ay*f^sn6Amlw({fO`_Z>uhOR`E7l*uE_DbxP%$sGewe2 zKd$M+H}pIE94Maevs>K!w&HNzU|Y{%b9?=Zn`Rsx(i>*3dA1t;%v`GjmHIPH-N*FN z=z)RT@^W@VZZoT+-T>^Z6l_l-D?vcc+iswqOyUdjmq-%wlblMN!KatLIrI7w{0y2s zdq27azXOfrAEIUWA>=|IWuQenpLu5IxkY$m*Th8EWb-8agFgj-O9!&*WjG5y?7_tv z+wK5z23}$bi>ODESxu@w==ddP@zVEZK3JVKZRzyS?mL;k>dSV#j;_HU>D+0*P0@Ph z>@|-*%FLPyWoZfcTa<8F(`51ubyHJDXJgYtOclSB^sax_&i*1R1xxc_+#&?rJ-v92YsMtzVGG?Qe+Rc1MQ;&PY z%-s!@QDCdk$mXH4!q4NTsWW8Ve(=I%ce!^Tvf`ty6@ha7s-i| zl=8?710`GU4t6hV$q@wtH%x3v>Nl`PreB}=Lj^NPC6TVbFE9^AQ)Zr6y5q-tuDo*nJMXl3-}IK{W@oE-vHkp*M6G-aNdp1?u!78ah4z6K z^N<_`wqwQ|1P?|eIheV*LUSHv1cE0U2OY#Om{K5zbwgG8m*16|7Rn4s&51ho3z$#6 z^twPkT9!3Zgzxd)G+olY%Ki>&y6&~gSEtb9xt5W_JC~j=2nloJBDqRLTUVQnx2U6 z_oftUilu?-SGi(`rPo;C5{SeC7-_R_f?QPkMg-+brW`1y1? z++;R233O`ocJ|Pol*Ce1vBEzwy`g@sW%QQ(Osh+#Obcc~%z(MhOx?hI$)O&JoD0zf zPeM&E$?q=$DlxIS82`ifA-&HauZno4b3vAQJrA6GA+7>F8E?lo#5j{CbRvAP)zju_ zGf2>x8H}#uQglL^Uuv_;@&jY3Q|98N+j68@p-3nML!3h2-hJDxLymNJ0(BXKY3f#H znnph{_cuOq82R6Y)_*fA6 zaE6F{&_ev>4^V5RW9!z5c$mu(CgLH|wk#5(B6jOSTBq*0@;?82w=CWLUhIn~akFD#+x$-t8K+wR)4yK_m(bhtvmnWT-b8K z{{+M=0)T@&4Oj{vBqfQRm#~srIj;}daZ7UWXd~i?4WvgVkr6x{hIv4F4V!ZUQ_?{& zC831#Gh1$jZi384ATF&;x*@XrkZ!Cs`RC<&;g|g~b zE`RN{qN^!unY=<%qsIk{2bE>cLS21A-YbNcq81fHedK<~b>pAUIJrm@f!djOnu%Zl zO+>KQ^U6qOZNbM|t*tkrv!N14$f~d=nhi=kBSiyvPc$mVr-oOr-a=Dx%#H-=D&{XV zb=1U|$-J8>UX;a3)wV7!!h0t-lY60HrtuSCr?-GMguD|Q7~&A$3X;=gAH>8Y!U{AK z0XgAi@&McJ{9(|i&Wu0#CtQKLq=ax_2ja}Q+;5t@tE7paHBti8A|SnhTf>eMydjQyMUFd;K733 z38xK7cYwYS>=7FA5wSw>*f~W2fFn@ioNphxh-N{Hu~ruS7J`cWl&qA@q!Nnjs;|p0 zE>qKJa4^$SqskO^c%2oVq?*w+u_C@Gj-r`YTJe!Kdz<}zu%!d2$68y7FB-X4#Z!?DojKd``&Mb{q3^ydH z>QhNm0t)6SJOsXJ1Jr9kW)*^rcUTv}ry=oRj_K#geSxC{3kF%lo&^!5kpx3H7IG-; zxzW!dnxa&J6ul|k@3#+V)NcH6x4FsMkz8RMQriNy5l30sWTjXctCi8ejDP#>`0KAz z0(qt&IY|mBg;cO0plqXlkmbG|I2`81m}}{B2PB zgA|5r#kcL_ue}E08wCEs>u_!*z_Dzn0g#(49YrkMi-WoJ*-sK5}H`+d7s?JM%Z$mXnXZx`KH6q) zx3pa{e)8maf4-_nk)=p!d`qH8chpseO2)8Gs&@)nlvz@G^|hZBXUB*689S4#86B&& z)E4Fka9)^xI7yt))bjq+?YCEJvy{aNo+)!#Mnz%4;-ZZM=#0siugY?dY9c(70XFp$ z(07dZr@+a8yn*oyTnzpMTIe-ipcU2|kMK1RRX|QZF^*4f1-Fsvd2WjWQ=W=-yp+IVnok7t9l8&3=RWX95IFq2LqOPP4Wfx|s zn-bE??!B3&#LSg?FxNk)spHHWldFrfVyB|Hsa=!$+QogTW{R5T8syVbu^~%twpp5t z`e@#D4%6~HXMT8ONo2pvAcyS_;4k^v+&tFui-@S;g|02BL`bm`3M6O<#3a|(oE%z z&1ujN8pPJ0XzB!0L)@~xeV;$OcsQd$?@LH4&^Fl?m&rY~Cbz;ZaTzKdL4A@eDXA*8 zNEa(7oiRAjLo6#phYs(1kM&2Qps)O$fLpXc9j6Cu5q7cz@!7#PgjExIJa5~BB7y^k zXD*`hAlnE!zy`qR;Uxv@Z*_Vs`U2r_iz`VMd#^we7HjW8iJ?yBH)|JusLRqqaesqr zT&}Ekm8K4sJ$%^@0=_zIbIF&*#LK7$T^_Zq9J(&}@_1x@SL?t`|CFX4!??0?uyQzH zgOL=FyO0Am+zC1#vSOrQ#Tmh72md5egK7<3BoW}yNHuau3EU=)#7~G`Wqr}K5D0Hp z>JeWwf{GA_1+a*_hVkEqV;3XNFmsuW5Tvyo{l)F>YCfq~cf>{;d0WaRQ#N;5H`TP{ zC#X6$N}~#`+HQfJuNapheT~UKmW7`XNxV5OHT4Ivo-<1)NSR3v`Wy40g_^|_huRHh z&ZPBO-9WxkqwG*I2b1&d8LF_(lWfV%S(*>|so7@purXShyL4$umIcXNHmND4A;O>8 zP=os>-3U|q0z@B0dL>0xcd;f)V>^?Ov>pHefK7qE=UA5X+n~;*u5Ku3SmL&hbOrI@ zc3Zo(y=FZ9Ta~$K^1blK?s(>y)>o5f2<^e|yhk^7ZcgqF&XyI96&2#B1d!z4(A1+$ zGffHF{Hq3Vk}HUJIUFclq#8@iO|SEt@!QLm!3`6e`+4xM^5L`$EPfj?!$2;xvYA!y z7o8eO&nL-9Y=h$fH8R=IFu7y0scCWtKH%)Y`#M}5V4q%%s&RSnEBj)D;sh1fJGB_D zsoq|k&Or>b#{jY$z`r{&AOARwE?wGft$?i}xZi$=jMd1Ug*CqFLR_64fDg{Jrfvb&mC zsz;b3i@VBm<3{-z1&cL>)u)1E)zxFcQ?;EqCkOT^YLN%(x!l|{{ z6^qU59*X7uwCEiD2zAfoB)*)3r1(!!QOJ%jhk(E`Itj)VtX_>>Mj`&#YQ4)97)osP zHc2)0N=4(P_3IN8*Xu-y_-FyK^@`!1j{z-8NbV`L0buEi$jZ6YOZX;o%yU_?#OM#Q zfHJJ&zswOhbKqET0q;%k=(75}x2*T)`l`42OE>Lods1!7AAZ>D(O48JNql_uaOH?q zPsp~-)?VSCxLq|WK|E@u*yR)TDr$@Don~iMx2LeoI2jC9R(|bI=k-Ucq`ml4Wcu}TgIqM+NYPLWkA@RMLugA8mv_bgz( z#P(3md0K$DF1$}E%;cQM)*)g-%sAjH9>@VHvGm}_mm26X5*+Ct-;r$@iiUFRv8XZ^awPQ z)9cE0Ew%yHzquW9RLbDK46JNgK))mz2VDKR4;FMV0Wt}9N%ZF&Jrj`t4_XjrIMeTi zKluVJJ9{5m$&NWaM$^!IkK~DLdUJ+}5BFx5mkCe&e(JXw+I7#qO29`}b#$aO`dV6i zjc@cGIFQ?A>r=aQy~%KqJu3yA=Probq{3XA8t4Tz0`oly0stJuI$VTSS^8y7;rStc zaBCoq=FEBWI{4qvcn^B1vk?Oau_Ta#1PXu+ZS&ti2kBG?m`kuS=z|lo1|1gmdlH~3 z?CoVZy>@xE!gsyFRvHy6(Fl`860QNN?F15eCNgzd)s?cu8&uv>IZUhn1ev`;N*HA_ zYjq--G6U~7nUx$$kJgz?swkxY8xMIXS|AdMG+eYDCDPDVQz4V_sK1_l)?(pd`8_P=WMgx;K%y-) z1EC+?0s%m>2w-DKo=qf|W?mCSrc;y3Xq3@{kF|gyxCwpZ&+@q>HfV{CUyn6gJM6~j zB`uYeUDegC|N8pt`jQf``L-LWYnd-NU>VhMAnYTm$l>?J>J8Kq{OPVes|thVliTlT z8p!X@%IeP_@Zz7^yMP|bS-&EO)k~zGBC&zMyI@H+2%>0?79kUHfo&fJN?>kgoJAUG z`a$QdVSehbsv225(#34Bwc=v{VW4LgFFrVmPL2Ht7qzr&e7tLH1gOf zew8r278VP)Pt2F|=Rq1p%jHnJyJ#sBwe+o}Z{rm_Pr#p*=2ysV8ijaJF4-CmFDWn2 z7o*>5Yo|V%N=boF`1nU3eMIYi_f+RqSK-!RH2?m*Y<`#*rO`~wc+=XB>Dt=q!nmlr z!(hp{&>P{hvP%5L_#2UUJH4m{?1m=+x8Z~2fLerw>ySo*D-LifKnN(g!0{}!1tulH z9lU^oWYw4*bE!=Z3u(XsN}PQ!=sKQ5Nz79sk)y(Af1Ub#`ZH@wC^yxv5_cQQB}392 ztpjEsXF5am$9PX7Ay?^7&aRf`Wvk_}eDt*Rk>`=iT_O%c7I8^!dv3YFBpT>+()K4$ zcU*cY{sM>d()j&)U-14MUFMBxe2o@OHr55A%BofcL+bcxky3BgA!XL^=egHrXqCFL zm45e)`Vy1-Imp|Jf_|5Wp~qq?%Of_3p#Z{zK#YSNgacuPB^(h%^cHdmI16AzUq~pI z)6X$qE*48Oo)t=Gbnz#ka|!dJqZ9AzbabLBxu{hsdSwPZH}mz^U!#vFCmSjzyom{Q z_KD_F{K$EK7Q#=*U#P8aEN9ZuMtrFQI>!^4o&opw3iRW3u>MOSNc0tOhr|v6S^}j9 zo{N$gCBQIXS-?j`YTF$oj={V5uG2z_5ZEnj!~)90=i|X}jPw5=`R~}#&5{3&$aePK zA(q+D&TyMXyoTRHYhnk5YI;?wHmBC9TOHHtp-TC@*kp&d*sF*Que-z2gAa9ETF@4$ zupm2y@@I+k3V}FkA~rfU;PjQcw9>wn#-VntVp(iAPtqq4wO4zEr7F#n`~h!qZLCbE z5(v5cZ=|x)eDtYY@3aU9_%SthU1nvp&@Cy?G+2cF{2Y`}q;e)H4U$;5h9MidT??}D zD{!b@HcAZkUb)E-CzjiBYo68_a~p2q?%WSX2{|NLuN5TWBeEQ2Z61JO|ldTQy}v*`WLQC!DB zrXe@C1OMZ5{1VmdE3>v3iH@crHvI(HwKb5FKCuX(9&0GgL3Wv?VZbs%so?bU&R1O$ zyp|<>;$V;%E^ra70VHqaLEr$8<|NaI93KyuZJuXHIT6^LbL(}4X!cmCkyvQ){c4O< zR$ohYM4JLN`Sul9Pl4WK41mt0YB(w*2*E`FtRIBKu_5$R_s#e<7U!6TmdmlVl4c=SwJ2eG@norL}>5RYcD-mc#9l``pM@dFP zg2K$_;eEiZk^F!Y^gCdeTfn9$T~r0UI+u%ZF(AzPlw>(zL_obJ+_@5D-rVVeY?SiI zA+w5(yavyZQ>Xe;d$ejVexuF=9|?X@X?ag=ZIiRr;}SLU+BN<_vp-oO^!ZMO+ofAl zZBm0+8m&mz^q9nHa%fzOtaUJ@xw|egakmO`pa7VEoT&qWg|E)vRXVzV|7gY~S(_TJ zn2h(t-?*BJsN;CtZovDK&#YElS#W=8&n8ml4d;{(*w(|)uaeBg z&L>f}g|bP)QtN-%9xSaB62IW0z%IZN0rUz&qzy!WT8R321tYxVrAuBcTah`nE4{EF zKU;1{(P=eZe^Wa>2d{9AQk$5sDGl>7b${nTz*3ihM=$-f-vEgmy(zTy?z@XY_$+fk zYH0SVybQr`bhKLMHn#IeV{_{AI_5!3#{v${2VBd}?BukU~g0@;g!N0mAaE(Eg9ZqrPvy z)H8fT_OqGy%sMJ3UC$%8NO(oQA>MB+EdFWw<*ApZ-`TVj21b1vFM_^weycab7W0E8 zE&Apk5*EK)iZ8qBhjor+-ydj3^{C9d2Y>iATAH2Ep=-+tG}=3*c2$d1#ii*sUVMV( zj?&@b(mM(ZisgE)LfwM&2^v)l;z@GwO|`*Vd9m$BX>E2*MwP*C++APUZk)5#?_~W- zVx`a5951jYiFYZVJ3Pp5AsUALnLNjmGkCuaupHqfIT>R|SeA~RIeT{I{UslNMyj~O z04c4&e?f|W{R`tIbo~rw{{3%KtQ&p+J#|0+%LC#2Y3r^Vi$+G6B@NZp4OXNyRok2P z?rpMHoA9?sOmLN&;Uawo@}VwwKPx9l?nxxC4kolOq(Y+RY~%rQAPOEzAiVS0C`3RI z$qZiQTsq3x2}ZK`z3{ut6q*JH{5G@%d5#&l4mRXrcidhD?4s)P-HW{ar)MTh>PW zbhEvVy8lnouiPnShcMaQ>FT>%NIy*prxV4(I7ExT{_~Y5PB3RlfcJVewV60bkK(~R z{7fj5SNj|O8M<4YLi>}21NhuOkV+18Q4RO{3hXnP?VAF;QAZ{K&W|twQAOhDz$bDd zt3Yg#Z0U&LV$D|Q+9-#{Qc&f>8jK`wg%~5C0@yqt_#GRubmub?SfUBgvmL&XnqUhw zZ%)WefJRH=<->790e6xN9kvz4kHyLUmTbtvD?g!%WNT!Jvq@f+$-kDOwr`A%<;HXP z+-Ob%#mBdga?k+k{cK`_nFxP2frjl%{pJ4T?kGWp(dKBcGWF^t;ufJ4z4mm{rc|lR zH@>yyU+L*HO|=DU-1(L6dXZJsx&%>;{CEfXX-R3~L(GP~O zTKdcl%BbZ$$(xS|GzBU7o_glD7W_!7y~Tlk!v8>VGBjL$C0_7296bU4=GK?*{VPzYThDkJUr9+>4NU^i z#Z=jY1yV_uQcA^*3Z)#2S|k>Jmv(sw;s=Bl?*SXS5o+;OkZ0*(QEyNg9RBWSxQ zwN)9hoE+zMEvZ7_5lfj6A*-s1Oo3k}f(QLN@*Yn!mGZ}N=KV%|tlipSMK2_qdd0cg zCc6iJURdoYw3X#a7M)929?t4mX)~?r%O77MIrVI~Ora?E>dL80ntvzBvMznP#m($8 zLgL9^A@PLi;h@)S%2Gj=2iO}IvjLj8e3@6z1x=FN7qD>ncw z#mG9d0E0RLHb)Tbr#!$*0o{krH?TmWRN<&t@?^gd0M`U7IBx~RicIVT9F{oYq+wVR z%aO!XBx#rQ?tF6?*M&`1srJwsM_zuhf8&aclV~I+dIC>Qeh~g>5+4u=QGd;J_4Lsz zaALVCJ~OW*^Wf1nE7vH|(H+rIe>WPxj^a{-VwJ?=HuWWs)!nZYnC>hY94x-WY(0>Z zY7hyZ$ug@O^ip}kvnsPi*+?*84&*351pR+Vt~;6d#A@UVF*7I?C5OY-C$lF+93J?Q zAZYB;A^Za8M1#mwg1AIUZTLvL4J5=j8!|FIYkl5rPNUi0U`%cwzU6IA)E!Bbdj#Ku zu0EOY#;yN=i@JxoQ3Go2TN0-3r44naUPFz#qFe@@fkb`IvXKl54esBYormwt8bNE_ z?q(>`;A?U zy_dny?b~;}Q>W-z~#!N)Nv)-YG?P zgQQoawMwJAc|w#pHPt`W6E3iL;+wRxzC?>Qn;RGInd(O?n1>8h7{}7ojZpAKZEG}m z)`otcd|8St{R;oTXS<~XQ*mqB_=7Vn-KB%xdK++sh>b`3Q^Qm$x$Jz+7YQDLoM$Ut zS@OFmpCuw+U;{{|COIM^et=Zx7Ej-}t=Z+3h&2+a@R}9TbkrfS)6uP#;MW?hP1XkB zc+C+3=Z>yZa2-|^7;8#>$XV{Kl@#i}d~99xIG1Bc*om$&ixody{_xE$?qDDRk`8_% zanL4G{BW%5flE;LM5gejKw!ZCfPcoD(LIEw>VmfEM6e0TypngJj|Yj_Xdymg0o00> z{TC>34jY6!2Yg^&E5lFltvnL9VVRI!)p_wDN2W&nWE1piT)FdB%6!KS%-_Dt$be~x zH)Ld7pUJg!=BJen*@o?7b;0T`%PpS{e?r~G9Mi$X4IvG%`C1yCE*cstB9mT=_Lq?h z|Kuyz4|}^a-aeDn=k0S;Bn>E`pgm{4OaAflkvAVYW|)mLOcgN3;)|ZAVj}PMR8;v zhs^DkWhL9DYs*JB=nfoEO)3AdCL=CB7@ffEZ^Fl0?9C38KKRV|_%nUgI(HkA23Y;Xd zLit-hB+l*8QtL?5MG&OU7M2Q9d`{JlK!knNgM!vq!aN&QWTuR8_}iY zK|2o}Y=FGpW1X4?Z+%5uX<=LkkE_>J=j)rajq+j>DolE`Z}ZZk%&d`>?f+^`!cV^F za@Dzr-bz1r3gmkw*u2T0y9hS92r52^n4H6CF=1U8)n8rf< zn#vdfD|g@UjQ_A~;(N90)^ESBEoQC&NDjZ|j_ z4zV>mnwxy%d*gZcT+5B8mPkK%UW%9v3FX-j;J-pr06Yd38oP+O4r3P#nX7q#0)#%0>6AF@L($S$HRPKQc zEI4-`eINL1`bBO)Gsqm#mPMU#MnG2L5ZlCij=&;34;fbEL|CVj2d4u-DC?v-=&ztMb6iH+Pa2CuH_#i}1 zjIcSlgGdTCmjX6pA?QH@nB-@WuQ2HPY?zUS-wwY;IsAKTE%b2VXvbuzwl%*2guZJsWfa{>iWcpC9ml0bh z3;c>lAkG%C&d6Q>CV{~EBIim-1EfxbpFy**OOAk*K=)ws5K#nN03ifeAkmrU+mZwS z6Duwv1*qLf(>2mXTio4oxAr~v+-v$Y<{~6A}Yk6jQIE$+eRMfP6YdOK|D*zJ^(GiNwdXkEM@^e zk&|ZYxfDvWlNXd$B-;o!32Z>}o5<0GA8U3tIageB8>P7ATFm*g&)1chxYg&o%C{V+ zp{w&vp4z6|{PyIKHCg7=D#a7|Y0FD1>$)f{`10GdAi?MJ-WGvAP5tGU)N9!W*PB{f z-z%{t7mVbER_8*);#gHecUs{@bw*EjH>|G+bnPj+6OibL%og4_sL z3eY$4mLum57zb;?MuZ>Ri-8Emd7qK&1yBG?zhmF7Bs&4m5&M_y$~^tkH}Ad2;?kPM zns^bvs8}G_U(67!gW{WcU5;) zwpO8~Cj3H5Ai60UjI@!F_2_0(naOed+fiStk7RX!Px9N^V7?u5q-ghLsMcgq+WgJd z(S{GNGgeuzGaAcGe>A~W3iB?Fgdeh@x54kh_8>Wd)gb4{KCtU%mocZSq4xN^c~4RS z$UA`6S-TQ=;rw?*?>Sf(IueO;@Q6bW?*w1%@Yv9n;ojciEkk3>%0~QLqqWgYiB_*3 z9E@oi$*9bYS+?3+Z0V?x-|-}WB)UQc-B2oyn>(wGMTvtQjd_x6e<$@oa&l&7Umjdz z%t1S#Sm$W!HfD-;4xK(-*q7R6^gD+d6!Lz(+cHqeE%w?JSp&8d$*^46(CVqPXK31h z#<@`ccMLG$HnxYG9VA=%q9#~3h-qL|mXAR`0ii1AfGlF^0c6dNmLy2Z+@=IUL_kmm z2I+z(Z~(RQh|8+9IsiCfGY>-aerBAyJW3X0GvzO3wsvP()Mpa7SMgLR$b3TG@@HI! zjxwK=IRlGdUGlOoC|3B>t`Z3q+|D>BulDU29e*%@uA~Olx?HOW8cm?*bag{+7x&MG zmx9d|ap+*0R3z~HU4KNc&(!Pj50<*B*=^fKW1Hw2vq9sEbExX#P5X3pI_;Jjl_}B6 z(W(iL6F+u8%#ImgYZDqFE1T_uKUW0_8}MIt7?(#VKP?0=!53E8k>EQlGqQGgowRg> ztqD26`GD7yAOc~+3Hb#u8rWZfH_d&eg-dH(ZR>N=mo+)?3-z`-dtFV3y*wo#5yh!( zF*1=#rmr$I_;YVIXSxUN0dc%TnXfA`TUWt=lhOoZgZSJco3=-jE!QYgR*ZbTZKtMb zO*VdS-4l)O_NO+c9e#JYd-`8@p!7d`Vq&SXb`9z`C5U^rL!rUqT}(go|HOu zcH+53miqLf>}HG4)?N+14}=?FZ}Xx4_g%0bQo)ud@x2b{>IOZtE@+j=p8RiRlE&&0 z9^tKvT{HmXfU2N)#SxOsA><^Vh0C)8BhC@qu0mI0c?sWT(zrwk{+bM5G$%OS(J?yO z-QC@gr|F6j-;E5>W_?mUlU9bmuh5t4DVK;>%F+F!NhPjKatMWn-PA2e$m8b~#OZWW zg_K+0+|b-nE0@Q#=I7++TsfGWFqGBhAMENH^w)1cBFQP4T79~HtOM|rhfLHArfDd6 zn5O@*qVcLrj%BIMcyMHTgWlAfQM=Qx-jUIqAEVNM%*g=k=P2MPX)Ny%-4cmkut5S6 zvnB;;M4*z#d2|H~j{vY4C|~#tLPi<5CDya*c^JBK^PEZqV|Hv)_mR z9R3ck#NSAchm*7^XqyqO7;`@#FP5%r@@YMP%}6{nh?a+sgxn`+0jinAhRMH)Ik%zD zu>pNfC+*!^Ju!h-$CovGykdVF8`Js75^du&Q!0nb7Z%1gISb`2O2wUgGrq%QLPK83 z3D+eKXum_~+yHd`6!;IRfSZ?t=BOvxSP?oWfH^BFhpC!eSJdmAbDjYTA--o}M`X-E1n&Z(f zTm;h}j^HhUs5mrMP}Q@7S!ur{Gmt){>rnXzYze7ptIU)Xe}VM)oG-5`som&wK&)4- z*4pG%Y2}aEE62OJdf z=_XU2+588sN~I-x5eqicaj1)07~_fLFtVBB3o13TC@>I!svTevkU%3nr%FMEvPoJb zEJ|#sd1C?5&K9T+bhO;|#rxu%8;b2EbY7R`rmlt1p4Ti{l-erf|-hMlDK&I5z2lqX6HW_Qjx+7K)7Ho=EF*OI65$v=K@p^;sa3yD}e-fFr?X% zO2{;0Cs}|w4fHp1FHh2Sa_PIv&df5;E5uahziDG$Zc9eGhOVd_N0+4ODy`)yP0Tr2 zvNy%zl4u)Mc4e>0q*R)>py|tM;`G`T_ufmTK}C))E!XE6jf;yG@L|weY)_BGW<1ro zabwqMcjECC*9_;E2kV!QjBVMHtt+rrd2pMlygMTlQ|}0vOH!R>eh$q^x$J`vg2@tZ z(yxhEr#rGzg6Syk7l}Y5_4v((@>YpvC2^KBhS`Ac$!%`I_j?YFEgLahb(yP`J>R`%f! z2b-F@kgB7;ehbMS+o`0kB-vxf75E{D%uX_*vRr;gbSk>x4ak^uyX)A2Ioa*)!OpZc zn6e6I9u0jdUWdLEt!(ce2YCE>P_0Ae%FdrWh*i6Th*hA;|41W*EW)%<2y$u`EC4cx z;b#)IT}ZI>Y35HWXi@D+5goHipg7z}%a{+$Y$Me}3xJ6X^Yu zr|_q3r#d@NwT*OA!!0c_!FCT1#9LN-Ob~mCfZeXAt|2uW58sj-D~{GO`)$q5wgv}E z#BVu1bvPW8@E`(-2E9vibxUDoeTzn6RXhlUfQbwXniD-lw{iizB#VHr|5anvdYBEfBEH_R)@_zsMqK9v=?LrdR^vA?B z$E3RX^#TqwMF74Ksug;9AU4SiEegI(N-fRH2h6w>eBXN@pLt;{nqc4guwU%iM&vY$ ze1f6@`TYOSivZ&n6gAltwn+!gA7yxB-;KY|+(B(;W=GMpIOh@QS9K+N0ByjV@W~@b z(7~fe-y-=DBg}EAf9xrsR6I91U!z51bVt^8PfPddkzt84%Xjp2V@58)c9a2!P8Kr$LWW9!ZCk!-H1Moc+_xH`Cwr4g{W2r*^s1 z)#LnV#Am*!$xqC7Z%s|@E-z2r*pihsv}rgyyX5{&lsY_;du^errL3~N#=z%Bg*nl9 z^(MGz+sPA6t5)GkcUNY6Uheu9wOu}fPvlj3T|tzbTU#B-L7hn7NEo>hf6<1@6BGY( zjen?iWvIv3?P}{Tb>svC1)dr&E6)?4PUcy#H?rq=x{he#3-Jk(^adZ1t$;;e(8eS> z_+KBSssj8ty94MO)(w^jS^eEB9<2%299wOAVm&k=TZzB6TJsCKZIes>G;?MOf2%_< za{hxzbRHt~srVM?)$_NF593Sm!%eDp1W}(r);GB-v_+olwtI`U9p$?hDw%ur~|H&-UMWEiOJ3b#?P%dpYd4~BIV@b@vWtE&L5B$YsEfXXcb5afb0 zKA%kjI*f?0$eFQU$;wG316c}ru<4!)c4v+Zo^4dRE-%Vs#o z|Am=fWcDstDmdjqSl{^v0cb!EXHgN0f;0@HmiNxi_D=R~*w8nLZ?rYyr(nI*qxFFo zKmD}xqmRyHm6vCr|4aI@xVSSv|4#CWnoaB@k*L1JMCLEh|C`xG*2?AsUC~?Eo8Gr< zSzkJQQ`py62-jWY)4YB70@xUQh|QB(Km={MNXpO)k$)ByA}-@xQ8utE*pk4#ga&EI zRRCZH)Dy9O0a;+tB$J#RDjhoonPXqhzE$a4*W(>+!S>o|&jX#Gp~U#;t*an8>%q%; zZNJLUQT&)#xibY}Zcq#@rM8!AY#ODU`Q@R*hw0=yZf}4Yy`NkCiVltOU|tj2{}|X70<2aM4KxtLYa!+qQz|}^N%HINKkd_tz3>;bM3h+tmF(+&pie; zc%(LAKBnXW*>usW|1+ut=@k(?bPhHqud~94d<8nDqaibH$;UJALp8PW>}TJuTld-W z&(^PJ9z)SHGo%>npZ~tWO%)#G&ql35ITF~CU=Dn-Ptn?S{IH{uD)9!hw zy#l>q@AkA4dW(hrCx>BP1?eR_Uv(VGoCTTU}0zT@YiaaHiLY>?(~Y_C~av&OZCE{QQ{8 zX%*9eeZd(PLtNy|IXuh(wA%{Zoe4@DVXisZ35*3lFGR%N?Y0&C{UmUbotJ6B`1OQ z|NrDzwq;q-J&hY(x7V$T+0fbH*tF z9@4+D zjkzZs{O6VE0VSi9t)f=8Y#{@uzdyKrJEf~1J9>1iekxu$&Gl)kxznz8R6u>Cw^DCi z8ugcV9-S2dq8!m`N2otR!wRRMAL@#JO8f5dGg+~Tg6(In3*=RacNXR|?64Ja)v)3O zJH8k=S1>prHwgwULp0yVv2TTa1SK2vo*b@|#?6p%&nMhri6k2!CCw~=SRf#>iabf@ z!dEY@MZ~(#?;=Q2;t#8QKD9rr>^V_1c7gT8?TQTo=F=-No=)VG7TPH?opM^_My*op zu-6VwB7eQjhW^<5(Ad~Ros3>2A0uv4kXn8`z?I4PY_68mFL25XP>G=-3-7t7bzvd9 z(_?nnarT{*d0m-}Et8S?3|dnhX1>{dX#FF~ivJ@=X#UtWBB@i&Xlwpeec?xhEH zZGWk()v++@s%vFhG)ggB#-JEB<f59yXW9%AO2X`BF#PEN zzmv@h^Mti*(p_&L3505S!fJu7I6_qUoVwB~Q@Ob=1pg1PZ$7FE%nObkWnpAUYQMe-QS9R7zx)O|L;q+wl` zOPjWvk_(f@YKh+%>9Q7o)=2%l-qqtkD!Vr6(rmDA=(Ru4@4RFoJikTz((eg0i{3-+ zP3SARz$}+otP}%%hk8iw*YqCf4g`I1m$$H2QzA(k{Y{g}2s)U(N(rIf_el)KNVFqn z_kh-_36{v#csGVytW)Z8@32v96b}PApl?15_2IdEFGiH->Mkgr!_EK}T&$_-Ko$uX zh`9$d5&em^0R(U09&7^K{VGU&?PN3^zTRw*Arf!~y?Bmr;Le z6eTbA=%V9j_YSmu3%YHjzzz5Dw%Y{-5xqDaf9%+=Di zj^@CeqjUtV=NJS-GO?}C(-&B`?h?d{c87oG@Ave;%$f`Eb+PF_;Qt|q;k#Vbu^r+( z*s_Ct0tr!n({`;+V9XgYR_?OFBIN}zcd+@OUj7Sh?r7@;^nfO7;0#rad@}p!oIkrKDM}|FPY{b=lcKBSt|jVD2Bm zEMJU(=-)fL1)_OmdJH7wXlKj5ZCivqKzB-vXkaI>VtZ7J!Up& z&mJ&A(cf=K;;F2h!-xh+1$&&=H9mV? zsEOX~jXUWZx_NMadgCeM?yllUfDpGeIHzLNc5k>O0%~Iq&K>`ZBwosvk%aS+rV){2 ztQ2lzK9Q*kwrr$rmG>zXh#|208EVPnj@|ZMHmXHpQ~PaGQiVI#-df`33RycX8jS_) zSPj^*=fG#PL4^p|F&sC_DNWY7VIxo&N}N~3U_ee^Wll-Lz(yF83xj>UhUgqYej7^HX#;E4D0Mo$Mj$pC zCB+?Dg}u}3gmJ_Klc(RjBN{Eyn1ZSoQ9POPcB6lVir*bESbN0*i9!Usz7azt0R$tq zhuwHRvp&_@)Z^|BL5}9s7=bK~)d>@-jcFrFo zNpgfBI3ZU>QE_H``wF>SQ*A@-lcmX|(NbiZo~~~XOk)0Ifla#^YTz5_O)S#|a}dvl z8dfJT+BwP_FF`z));L~(bv3?=yL0-RraG+s!H*^3c$ZXFgxQHbYo6+L7p1~ z9kVWuj$qLycP~Bca$l1)Z8YuOVDFn;ue4JybUHd59kzh5ybqzac5<}5995_5*%4W+ z8lg;v7(spg2+eo68+~jES5v6h#(wVqFyWS^@u+UN)zpp4(u(@3V#lz-i>Aa8YK6w| zcw}B5L`a`ddDPu%X_wWM>EbK6-NkH^y_?C^bt!$BE)AdAov=1CI83q4Yx7#Iv4FJj zv}FxMS!lZHA#d>-*$MHKV#rnEO*T*mvD&i(b|SCXz*Wf$aNd8xZg|cR!j%JOuV!$V z=a^3fvX0>ZaH$kP79cIG7Jx_L9=;>@bfnu0<2`=ro=caOwxOm?^YgpwJPrk^$bhE< z&WLzi#y{oYTXosztaGu#P@fU?v{6534|Rs91+T5Ie!8BkVWhe+#3&w`!2ZsnO3 zRFNJkDXXk3X|dMYYT=*NoJeHanbu^jzUb-(Rh4zNZEGPq99;JGyM}!6>#uLwy*vBq z+h+Y5=k|Cp;O7U?4+iS0MzT*$|IYHG>0Q`Pq@iZyRp=2}2VL#kXv7MVhmZg4JOPYP zF?CXK)#sK4LJcjj(OFtR1~*SRPzYz-gLA5kuuh;^EtZRqxC)_tJ4N#({04zHo;w6+ zd+Sg@LccI{BAdS{k&zG#U_? zy$M5oNxG@i;T(UxuEWsatMdgSO3o11XyD8?@w;7GyIj-vSKT=ysRS?kT6zi@>;a}q zIKXFQ7~z^ync38HeN7{4h+{DHm1ky>6|RPW#Z%N-r1X`xxyMwRe~X8;%DbYOo@lUv zdQ2f}HYxoj#gSl>;u!EJAN+@Vp@yd(I$qA!=M8}cpM`#EDC0u_TYy&o5#h((-ZUfQ zSq~`{JO>{Dh&22JzX68=NS^l#;0F@eoG#x1IiL%ifN$0C_gFAM=y6yLht$xg0=H{S zrl5Y)Vd-&nC?!vfzw!z~swruu+z&;ykVbM4P0aQ|fOSYD({On}azu_Y#MI?z(|f5y z;G3sX14RoCN*Y?R*_!S4^)?%^^y=~rN4vtdpe7e?`$4t~N8g^Syk;3mjs{xHZ3$8A zxRQ(AG=q~}#c~+9<$Mtz2mgg~uvpYvZ+AoZyc<{dZMdkp`J(DdxB>k*&^vt#_y8ji z1v2Gnwoj6Uy+YzUw)UvC+DRi>L~SMr>)c8VHdQpO``8v)^dlE zewz}7W0vuY!<|TNu*S^HxRYnMC}m78s!)r|&HMmtarpSu3Anw)XIY$uA$_9WI)7=5 zp9|iyh00pB=t>#8odvt0>+9uOj>hH6{^B7Ej^9EaKRXQV15|HoNNw&k3@giAy(YDy zQzDnEqyy%TxC80@Mmy}LDCekkL7T^7u8=8Famo^dkIME~gq5*MwSsZmKs|cHV(EsD zAH)LcxUVZ-Dvp(7+IzwOdKUbzrGoQ-=DP~^6fsld}Pd^l$Uwi^ZsoEei185;=rgI$CWzY;7QWG7((FnpJ? z;=g0TQNUNIFo73k!i(XTC2!pF{Tkw~CY#i(BIbwm_wA z-d^{QrN6ADE`$<$G#qtE5)3Y*yTUD02!x!AIm}vxxyIqDGHYQn;}AHvsz|sk8tJfz z89XLBu--q`u#`aQ+$6o7m8507EyKA|X$}@)>2h zb=?}1(kNqD%tE~4lH@9d4J8iP57S^#@hldOrpO|aiDXblEYff|)IYQqRR=srYuBn_ z{%k4a&R-)dp=RpL{8`$d;UmME8-Im^`7hcBf)G-Ap&RHA{Cga~fWycc2zUS<0o(`= z(Xv2G4=K2xQuYoM^~kLuLe~QI3QVVa+#sNS*Xn3;K&>F*qvFV=^;ehhD$W;1W8Sn_ zs7%DU-ld>O6Yfm9QxTuJ`NGXLlau$~|5m@%m4xlF^$}Be^PMB%a=Qtd6NlT3GNR;SZyNmgfPwW#x}2Q_JLi%l+VRw$(! zc@@(Hb`9G29?EvZfbQ(Q=0v@-##L>5@IjmH^l4kQtHxRH;+mm@MMjiH!r?pNfmyR& zH{>?D6u7un3j1B&gjopjbMgbZ-lMbCBDu^DR4IOIl8F`krCh`izToa)rd8@Cq*h#C zfCGu(deL8TO*#H`EdLer(<+d|w(ko|Gxc_>x#b@8Gb;MS$;T!p1}7&6C#YFG<&|(y zpCKNVaf~^ge{{i)PwH-mquBX`%T?mI@ssR}zkl+{HP0VpKy4|V19}gJlMAVjZihlr z$Wfb27va98S$pm_jQj8L?Vstv!SqltI0QJo>g(sB=cXRAl^m(%Jyh;!wWav1_4;6E$Y20B zM-PKK^m?N)oW0x8ME$DS(R4Xs%Knk?WM90P$!bQwY-I~L)V~q?dG0)uL%OMrFrx8? z&RT26QX34`S~AvJCz_*d$k@qKykqam1?Ix?(H?1A9%oMxz}G^CWj_o z2HoTNGqA^1P>(T8SL5Ui04*Gt62R*Jzp5o42gQQ1sy=XO1`R$j>VfdZ89~D=0#7^> zvmzy0mmds3Vqem0f(Gm^on1%Rg5zpwPRq0?rSCD6%Tmd!{VmmwvM_8B{bhex6J6-( zx$Lsp*#&fJ>EOYhp3R$=(DX>eS>&&4Dlcu(Dr4pi!vUxD-k;Be!VyDG(cGPdS?omi zf!h1`qO_n$6DXW6Z%TzL^p2)%>6_wU2uARjsqv~-Z;OA6x3va+$J`B_mj$rZECU$) zEr=Q0!B-iex4Guf-bDr1791QxdtLD6Dj(2wU;EhaZ; zWUzk`H7I1zIrM-k_!C-_!{hJ>go(i-uSyt(ei#j|X1Q|lBK*SaoC2rSUNQxv9^oXI z?i|bk+Oxrpgt`e_WPwyi%fRK z6}JZ*-YSu(t<7N-a1i2lk0Xv&r7U(^{yaWzj&JHFGTAI1j0)3?AI^3`dC|D9zPYZh zS;-Ow!tT*NpQT?~1v-_i zNh!0d<?CCu) zXh<6kNpxIIS#XIj5(-puM3U&kWpo$y!f;^6Krn6?bdHyoYa1QZ-w$*^dVkiMt}6pX zblpRSIjIYlvm-=C%3#^%Zxtelf)HY59c;A%+)(`WyRf@c44GkkJ)o2UA%h!@KL`i9 z1on1rr5+)bfL|+6C$+Rhv@I>YgGb3joGA*sDxM`R5PvHH&M!dprP76UINC_V4Pa1u zWFJP|Nj5|#bIpKs)g8>nhNK#BA@rwWrxM0WurOa^I7v^GS{;c5coO~}f>inamUuX> zO$J!$x_ZS2C4!5VQ0wMeMj?_(NVJp7XDbNm&$fyCpil4(-=zmV=U+SH@;-dZd-*{- z^>efaAmIzBid-g88TA;0MEi)n>PDU0!M7(AQEk{$(HChHS=h6Z-D6`Lxrmt*D*Vy( z%===#Hk1(SyDkf>D89GQxMWN>ChMmHOXj$9#-bWCN<(7~8PJ45_rIPZeLx)?--eL@ zkV~}U0YN}idRRD~poJ&8taj_tC>kypUv!F|0L2C>Kv~e2=xS<-synd@&FomG;IOZG zM?|O}dPo>OxXXRRLp9^nYoXuwQGY_cTZtFL0AT*Vh19>=rM{g9 z(8^wWwHiU|VCBgx&>rH6+t#hSZ5{RT+O;rbIJ-B=bPAUlvL7xioMiCH6R#~Sz(34q ztO5_%=cmXXkh-&7U%89{&1X2Q4GIo488)V%Byms-Yz%zoRyrXE0#^c-21+;JvY@0H zYd*Zgp0HEQOEYYV@wr)>^zmLK^?3>`){WDkL^d7X0M3Hq0=4R zIti=le>FK-=oE$ueU0*^=|YiXI^(qRT=MA^ORd*m=O}z8d-KMP#N@_};s>+uqrFFx z$|? zWD`u-ed6$8%wrzt6Tcs73h{h`a>xc3z<{Q66TiSo7|GN2B$>cDFDS`BC#XY@g|cGC z#HA`Scp|Pz%m*3B&QWlMT#Xeo2QHqetT7R@*_&i_EhW57yT~QtRZ_}{rG4cJw^O5M zLA|=Lxt@5DdJ{p}&f+!KO!*{;%s$08+qSi}Z~3mYNEb_L7;H8}lZ-!AHzsON)+A>m zx`=LgLrH``%-3igmWFj{04OhwZ^~{J>NKg0M#Y15Ah@=w5N32e12wMpGx3xH87NV> zI`~kYeaoO~!E4E9z7cda(&qD=^camYXg;7VBPKRo&;l>=iA(D_TdcQ4T+q3~EJ z_(WfbLa`x7*VAH=kO`MSa1~0QGUWBkA+1CmYG;Kw!x>FQd8KZ|WN!bU#cDN~T0VH$ zZm+RbLlTsrYssF0xV;)`7JxgzR^VC}u;5U&oBxO<(3v#_kmCn?0;i`2g|X^fGiqIGzcqjb4*g^(G8*MK#3kh7Dtv)GijSxO$^#-V}O$5A{FEQax{p!?e1t zrY?ZVpUb1wph=7^ zIMh4XrO-B-AG`!MZr)Da+TO@s&vyin1@VRK;^1RH zxnZKY=i=|*xqXT{L=sk-t|^$Kc@prY2r9g>#=sxgn7Bdf;nx3rT97V1qnQK{G)z!A znVlxOv!!$BplydzXGT3m&8f6971XQ$xbn^l>LuP^9@zNea;?!*Ox@G;f7&v<^#X%& zfO-r0KS9$?_)JOgi|(Z3%WjzQRRLNC>^o4(Zo^G5tMi#5{DT!O@G9)~NF`xJB$MXa za|w-U2uzIEe4uctbWBBfx3oif%naX z{OKJK3uyq))(6%MSDzL*+~BCt?}m80=`%`l|Zxyl>C7i|ejlxP3h#&{i$oRo${U zB{*Hx!hb#$;^$I{Eq`r!5YQ4 zbu05NCu%J#L+zV4h;O-*xaOJ_^x#A2f3p8ZCWl@vAN5Y`TiiY75enIC)G~i<>FmPc z+FfN6b;s9i*t_BQXerzu@%fq4)Zd6J;F4O899gEWW+J5kbU-ci@4W^22u$FjggBu?D`V#b_8yzSaLRO?YMP8T*B;^U*5(z20MLLu?EO-`*w z3fm|zT)3ch%0&IbBNPeAw)1bUp0jJR?-7>R`l_w72No~cSYKD#w>Y|2>WEPv`2wtd z>J#Ex%1X2yJ9bCoktymk>T)LRfFz(E;V$6uc6iTa@ScH}F?NS{LU;W9SET{ZNkCLS zcL;E4O!_@TYxVn{;<26!?%bcc?2d|sNb!WlZIVeRJwVV4%^~&d@`Se8G$Ubg>onAY zk1yu3fa!xBjqCT$r)G-R*P$a%9QNE32rzqrwl{zRZasRGda3)WA=90=`lBbCgC4Q! zp6Dobm?0Gbo5Ooo!T!aE$!fsgm@9z9@V@@LMgWS_s5);5^CdJfCBQd$<2^f0KC*-~ zMYZmzGGH=j?_IiUePqG<+SSzasOk@YSpIEcVx(c@XH*)Zqv(~E+ODp@R26b(_!`3? zZeDs1MP&A+;>yLA^<7=nk?OLMj>Sh>>@aQvc(;=7Yi@-74?f^t&>_%w^G!93myg0n z&SzR(sH=45H~~FWBUFnN6TXQ9^9Km_&V@Y$>`I>iZ)ow2F7p)+e_ap|NX3u#66759 z9&s6Hf~KQKpI%2L(90`FcXy@RH(z}bigMig#gP2QZt7~58T3OH(Cu}ohYi34jbiZR zpgIs+EX<`?uu?#++(e;sRR*0|1YFL7-{Rx~q;Ya@F_jBQyP;SM|25gUC){(M-xYY@ zd3cRA(G;xJD}|%3@x609BMr9oYQ*$cy1&Z~yLBNG6>;(fqS2LlhsB_+7@l~#)ApB3 z(dFJ{OR3GEYgtN|CQP>RBYn*3e-W2bexm01@ohy1dbP>*jpN=o1YH4rMYw~yjx;Za zBY~(>S4M3&mg$ze>0US{^b&O)IyvX+_EM#<&IVBo#TmpwQ7gv%}Tcy@3tfr(I|3v)TOn3GOdCu7V*b~61hyw zW!!0!Lpc2*HAlvC`_k0MW6!~kl|>=ankt}SK>ABm1+FUzb;l1ty;T!n%{1M0eFkOG zUVARBd=_N^?NUrNumaE#&vu4S8d-van-f46;I^}L0Rsp&`B5%I7Yj#B=15U&A+yaE z^IhMdw3zq;gI$eC>JdicFMF$0;>xwnYgbk_+fZ?7y%83SJHiI-OUqBAjVMm^>O0*Y zDbB5hOHlu<`ZD#brp{zB&=1Lty?f()tB_Bw;UY8jkpMOAneLZg(f4+3ipiSd5jw*# z?8dPF4Rzw0VpK2*vUxGs6|DKbh0U-uU=^2F&^cbgCKM}kXru!RM9&%owE|2;UaTui zG#9C@agR|uBwA3+Xd2D$ZhqI)q?xYnYCG=<$E>MCC*EjiJh1tqnq7&mu0f(Y`|o7A zLAa62vRVe>rpHXho}DSEfn}mEsZR?pjKuaGioZu(=@`}asD#t{R-jO}Wo=PcC-mil z4^#yCj-P?8sf2E^HhMk)Z&|{)7)UQnUetsPC`u!2*av2 zPdM?bfuSOA7qpHWY$|HEn=cX(ZOI5l`I2abg+^lj_VQ?vPOtz8CAG?Kzix&f_-ik- zACSx?RDh^DapH%WzIAcGFm76x>bBmSipG)+)Cq>|kSpmj1po%(>yLl^2zeOlXO0kqK{cK<%>pijW~j5$iOm33bF_s6!~;=iz&sFc0LuYma_mkl+N5*QP*xs^ zDbqoVsRR|*7L_Q>A(QvXO^>fI3(xB*E(G+Mo-pr2zk5f+_-pK;TajW@(ZT|C4CV#t z$Wm%I_}jc`f!6fU)3qf?xQ4?*zFs^Z^H(TBjMzdpy;cV^fBh2^F6QXSWyQ0z=+D&4 z8x&zHxIv(wGc3s&o(zYcJTq zfV)0d(JKzZ;Z1aj6uL@lQ>vvx0h{3(a1CysSs`SUVy3vLrbRHy5r)^+?)J3%z)qJm zHb(-ugYEC*;|MCT5OR5ITBq4uHjjsX=npeTz?#cMuz`9raS%hj>#u)y7TrTV-X1wH zBu@teYa4deR_<3OqVl!-%Nx9zx~jB9<)YT08-A2%Ru#I2Q3v%i0hce@n>*ifsA0d2 z?4V<7IQs&4N~u_NR6w%;YvTnnaDF&?knt89FwT3Ajx-dXJGr;VivVgurMCC2FY^}JyPSt*zx}IU#JuomkGz2_a1?TuQ)U0D{ z)eM<9@LzJ~hi1W5*9EJ|{5ywZ0!9RMk{3%jLa28DYs-d53X<3`WBzpme#8bCSE7Lz z^mN7E=TC(1oJv?qG-;jLqLPWBsm;~z9^AHOXZ>toStNVEc)l{F-=TCnOA~_;>fza7 z=a7H7LljWQN~maK^nQyFYQxciwZl8tN2g<{u+}eb;<#h1Q6`e}(R_9taUDL@Yp<<{ z%vTyUx~aNpuhx&`N|U9+SQnw@M~hshNsCWtmpfair;6cYTjx9bKsujihK_~oID5}Ey8Co74$tS>9jPS)CE+K zrbvhd1B?aeaqcAor-N6CJp;@sI5Y|69uO#7GMeOieyhD}nXs|^!*`mbQ9t2>aZB49 z&<~+f-CO7j`-XY2SA&P$%j^$qY$2%JU<2I9n&TA19%N?z7aTJ)QGYz!9p!%au${9A zRuVLsmW_5#O;Ps@_LqhuB}8NP6^TG7k;S!b5JKO|z>+SQo!cm$qIGdG_z+K!Lok!8 zy`Trzt~=SQpbCepup+|TiYxtc2TjL6{y%sg1RA_+z*yLNB`~T_!2rY*ZpQ#~^aLW2 z((f|~1(tZwzHzW*c%AVgnX5*llydkmK046n8`wF$GcjP8Q!{^6zxB98E-)&K&}JPeJX@0BGzA=uDc%^B$R?iF22Z zC3p2Z;Cl=$)VO{TiaKaXPl5UUZyW+8BdgXtU&SM*^RdvxPP0RT9_&DFmCX&YtTvf~ zXD{_z6dV&@#&lZR*KzdIe7Rum@}#}mDeEgKZv%W#p8<&Z)q{r2MXF(J9cCGf&mklMN)Jede*^@IW81l=Jo{Oa zozeVY>1gI6o`$-YcNYR}=}G-EOZ925WzZ76zo@Lb+iGbxZrg_R+qUhZrp~iDqzY-D zV`%e!7gxw*p}%Bb^ZN-Szb~Y|HdOzfjfg8?=QDdRN((qs0YdST27L{R# z3b=^23ai)*vPPf-aQ!i!V1V;SDx8s6bx_EiT_l541VakHUy+R7V>GB87B#=eHN0bD zOIK|Egp@xo;Q#A_%*Lcn__?R7eWJD0L2Y*nuyQDBZ$H)1@il_`Lo#%mNUal!bf+Zs zzF<(n1Ys$Rr;%6Z`+3;U%7E>=8LP*`hkst(zYr>xCoBu+m5s=F|7fot8me!PP`jB@ z$!##hya!K)%G@9`NMXPwfOkx%QmD5&1$t5nD91?a%G~UOoTkKB=d7Xx3y(Eq3XVP> zN^^n~A$WK-po%pkJOky2L1}i^DD~n#_s|YRpwFkMSBzhL@s)=!5~I&xcfn2QRe2;F z2`Pe*r2QJ<5)0V%2pUl`!s`5-*q1xgD-i69|LV)vJEYVl4Ce>!*^41)d0r%;=FReu z-XOdQZ3%_&&}2q|9%7U~1O1oF&fpmofS$kc)*!DBCq!#|;N^rhg6F;hL&FRi+|Cb~ zX%gN(j>(gt9e~;4#L3%B(~4*)5|)|$TKVzyN0&oI@r%2EhytR0O?-KTls2cE0R#ZC~G~HJ66t8qOpaydM3VZ{B@}-Y{3zG~z&$W{W&P-Ru~t z4xtwUfo?zb3%5UFOT%^G*^@7mqacUvz_sHTa{&X=?}wH};KY1j;EcTG!pLwMDNt}& zP?PwX@GV}X0e|g=hplul10PXtE+d4w^3Ni}r4xasIe$;EsAr^b(@wow5h@2f+Tray zZ){V2p!aHxU288=Xr96l>nsL%Hj(2*#4%pNV7CsEv zE;or18piXHN!oK-4e^~}<2-?=3qN}W#Gs7q~Jp@2{hhBEGuLT%QBsTs-|hKQz8WaxUe zqhnWB7unIgFEHl{#{)ihJGI#sVpV)XT!YR3O*i$#wm09KN+qwOwlOV8MI|Z|oHZ;4 zN?b|AC~rK#9A?|g9wPMA)t{wO!$lBp0~yYMu6qXR)FnU(A85Q)eFriO4i#D{{3$rVV5NS`F&3%C?Mw@M7{;G`jF(kY}$F|X&1j*bg@dWfIQ&6PUb;~Gh-%UiGA zb&O&-{j92g6UTrKb;q&*ZcJz-`|ohdz+U7U^e130>A#E8%sGxqQTrw_L=7WbdHGZZ ztQP}zeBDnzLZ%B0fbu#pzNZJP(a~s-6k24kxx!)q+ROpA3G*YpiNGw98x@JO&`BF-Y$aI|Z<%<>7Z zq0Oznp`kqfygw-AP4EewuK3F@pF!^UMD?L(ek7}%u+QuJ((gD2Y!&7%$FJfGi4#y& zi0kejhx~#JBAQ9y|H@p4ao$HgS2y5{Gw5!(PFzR^7f%PkbBQOIvWg4vS2a5P9=B|O zflr`AMu$ox?ez`p8s9+#Paj!xYI@f}SA5d#;(zdwzN_yvHFmJ9?H!MRD@Q%2a<@nQ zg%IWb3gU!zqVASk?nq?+;&Kt%MB;}ZZz}9LcJppzl=x?)g25IJMDH(U+DC%>BYoj8 z%wH*oyz~L4i-U*m&YHy%%d`O^fu zxSoeT@LoV56BvUOKoT;)feWV@;Em(FRyV@FXo_AF!vHRZvd|cD%>qiGbah2S9!^DGT>Q}zf?=m?np{Sa(3I|$>Qdo^ z(=SODhgw^9-&ZVmj-$I&p<*L(ovbjUnUE?_LE2nWGvVFVO!2FQ78t2}P_xhEppr^= z+6WsO1I72&l<>v`g{eQ zaSmrQa}0pb6zg@GkpIzdo5=kVI=^zd4&ye=4d`g4Rw3(h_n$wF>L$CpCoi9znwq@) zGRt{&!K1C_Eik=fz4BT2eKV&*+1+j-SBf%?jo)h`?x3W@tO+_!<|JxwzImZ`Z6Dm$ z*49$#vOe*0YIo6~bI#OTwD4hl{f7%^A9avve`f#w{UEayF!%d8n#Xa(f3-j3zw$TD z$@E2m!h&l!%jvm>83)GYfIjn38}m2-^0PcH->9={HNp;8?~gflV&U%}>Tsqzoi^b%&Kx#^z2`-xqO(xbf3pd zlI_&j#MP9AsJrQ==dL+?_k2;+?E1dnUdCho_9q`NmbGrX;UFqy=%q6vPN>e((kLz& zr?w-e#ccAaST(GWjaMlU$OSmU&J;^SQoX~dhnNXE&+oSQT~6;7MP@iyWQoL6MYjw2 z0tw^}I8ZEXGnwwU+3dex3D@@x;EJitD zVtn(!Fe1Ql50sA^V5_pKRk5}ujjr*+;;~GBvcJ5mCNW{}Uf#89ZtnakPoGpTZVXC# zwbDJe9VjZw-X~M`y8E^dZ!;UwXfjDni`aaY3*DGZUL3h1*&m6#9vd)@*Y7>SQXN1|h?sXnVSZtC?oQnsnoRU=m|L%{l<5FfG}Bg}1i9fK_kxObp_-Km%w z$OG1q#g2fwg$_qhxo7H~z?X#F3r#Qf|_LL=5R~pv&+5*QSkEi%5q$8MwJ{nT-d74ysO+#tCe^MwF ziPaLspdMYzo{AcH5h;Ik-8v!*sOa{nUQ*U@4aM+!eh`+tqB@=bH`nHnNzdhykMvBr!l6Vj*v;Vxt<@)jO zFPNHIw{B!{bY*3H{GvZBE>bNXhFHi!4=ygwjUwIn*y!lkI9Yd?A_obw_H*KLNZWQD zrj~u5b-7An+(ACl>3COO+4Y&P-2=n8o8i_C-+b3oMI9svxfE4RE zFn+g_q#R#0G;(7RJbTR;0?U5xHq9rIXC4OPf;ER z4q3umkHP%rd4bj=Kn6B;)4vgGz`_C&1k!^8Pjs>mcgq8&QA3v}+$U2pe20ynT9uID zOfvim#FXs@u&$&hapYbAoM#%#lb4zmjqQ}`nqd5D9ohcLi1G>OOZti6%cSxf_Usicvij-_{ zj_5j5>(FlHkgH2QVtM-diWFyt$kUl`e_AjG(T<_J#=XI?u#!Tz4X#uyKW-RlhrgVXf&FhN}pOZX7Ib6gIblrKzZx|M$?yI zXd#+#4rJDHES&EHD_{VDU=-Uc`dEnei~ItD>UQ)$Z<&M7rJW zE*QGT1KV&H%*Lz-xoynPG{Q5#X8^fCpFCjBZ?h(Xz)+5;G*vN;fYq=?T{Ww;WP^a_ z=tEP8ZG~LRHvk&VyEqyHzsF`&MJJNbK8sl?mv&nF&l@G~Sx`H>8@$B_V^_~<4%9fM zZYAs#(yzIS#oPbmhaHZG#~$oai63`E<_H)r3EdW^g8X@byrV`rR~oa_S4Xkq|0oIX#Rfa8s`b zdej}S8+O6M&KlP+j0LXU>l%Xa10)_@Sg*rvGj`X6%M z^>3msAdyJ;q(2;t#J!^x6*mv45;$B%+sRYVM^Ov%W~R4GEEGT^$A7Vtsa4yDw=t^0 zg02Q_FgX%z3^G8sW2A-G+^bnYG5iBi5R(>+Df~9iWSDd~!l4Fehr1pSFppL#Y_oMP z4zJrOGFyg%RwBUiiM<|&My@v~BqegoF|mRRX-P(tFG>*NmqMb;2sWcmWT;NRQO%We z*aHJS55MyVtALC6D3ZxM>JBmMJ_BWB#065EuMga@uRpZ>_^oKu+I!bfJN!WfYm%eZ zZq(IpT69(D42lYg_99NukL=t5HCrY$6%OeByhu#9hbV_SC zY>5G{+A$3w$qP{iv{Pr3$>bf5t_`D$CFn&e1%rwxL{LhXm@8U_Ui(k4DlWdV_^M>` z9teIA$jTJ*iZaO}NuW%rWOJTV^*2;h)S1YQg#S@*5McVJ#0e0#=IgH8MZJHA#Zqmx z#vwI<%*gQ67Cd|Vj|Oo|eR+`IE08HQ+TtPWfG*uyLe~H@p)dR)i0yaMHR*T;<66+n zAZB#T2gC@Ey~kz@r}OX*3drx{>!NGPpp__>-p07<%m-3KtQ;gU4@J~T90$ZQ3Vaqz zK$0IvUsP%!ObXp?UKpc3otzc%W49`W^Fjr8Kf0|OF&Tzv${z{_V^IZcq55zZuOUSu z>LVy3hLKMAGdrv+GIEbu0WPQ|N&&BIJUMy|u~|-#A4#-PwI)jJU4M5|^F5`7Q>8|w zDW#pt{#7mXyX-<-*shKhqQ~6G(KzP$nWN3pVnx4Nzy95}zog<&5I`WKYz`_Ti~oVz z+o+2Layi3*8@REIF(8)q0K}XyM(?4cPQWAI3Y~x(hmBZXs{lH{Ml1h`dqY9X&=dtp zqG9SPpg1$C35Z8$!&M2OB_tE}*UBWa9(VVaq4UwT)~@1kOTT+=Xm4V%X~Rq3`Oc5e z<170QHv1hd4&RV(xV}DaYIZ~h7R=|pbn@hHvzNIAA|Y~En#9uY_b`W`QvFH@vsHto z`irATKNVHKg2ub)lg+w4SE_+tlWd822uq2u|lEZ3B|4s zXXo zR_W{;IGsK2REYtCpAlg!#>5?ir-V8v7pr_=NJKHcer7kMU9Y9|MDwv@*&~Y3m^vw_ zuhAqV6IKh7ar%_@-e3|YtC?C`W6;T)_5(q~lP@o8n9N0NTiiP=1!_FCkGJ%RYH!24= zFuMZ%VtKreYuQqOGyrkHeq3cP{10aX0Ha=gAp56F6b$#cGh7En4K|+Mp{RLX!rvs9 zzFOtsSuGNmB`)HW8Vd^r8e37AFJ<*-|F$7vR!Cayz02s=t|{*e8r@E(y+t5M3X)@n z-xZg9ushn4eapcWa~P*<U1bsF`8GS;Jd#Gxs+DgPhAE-bqCBH z!B`F(NV-rAr&j4E(lct3)&(>p=HZ(fCOfKuuR#G|-d=qa$1lOWrv5X24OvJyT|j#H ze~7sfIiDbbAT=YEV~~io&e_it`6es{wQIEjr7K#a*pR+}x2~;PygMTe(Uz~D1T4#{F>e^sWENgHjQ5Ro)&53mJN%a62r zx%_g1D!2250>t3!E;Fi?ysp~Xy1LHJ(knY^gN|rrQAw3b#FC8iD|)?Mp64F>>~v+y%8J)8*8m)0K16liW|{@M7+tAB=N z13wFk8-5b}DPBgR29X2oiFd8Qsjgx7A7B2ue7wF8dRJq^+~l(txEO$;tOk0;UdvD%#up_ zT@je5$#WaS@nU^%i_p1VCUWR4y=IM5B4RSfI8u=dahN@9k$k`&idFF0B9568^X%Y> ztj3;FtwYJ@jBq7lFPlY>L}kTr>BuwBxF^z@;S!c>!K8JK*>5lIRmDa%1I9uQZ4$3(kp2f{~|V*&unKK0#FBsjyN<>Bcd) zgcQcM(yWsEf_VX00?v-U!{V4S6G>X5LcIuRSzr&yJOCrC8hJMG3wRz%6?|fIk9iFE z2Nb{qJg2w8YvXnrN~ZZcQR|Rkp+lsFxt3~Cow;_hX!__`==uZ^qtZ+DOvj;wcq; zqhc`jNuZ{N!xf33_>g+n;`5u)SLa`P)z*ec-MVc%k>0Ojc9UvhH`k=K-$uYXJC@Yt?3m8yvNXZi7o|*IuJ#!v(ryyH_!L2W z(%#v?@hCM&*J#(Ngy>@c!(#F@TWIxJ0hN)q(4Vw#ywP7+*v2=)+(o$Ygr`(esS4u- zKg1KhM^=DuQwnjz8nBAv^lWh~mvACU5KUZwN=vXCzQ8{?S`b#acdl0G(JjY-7{LF5 zX`1<10cHSrHk`+5ai!hbkx@&p zK{Qg_OPrK36#*EsE~fsdDr+xGpjW8hOU1v2IfU!}NcH8zOd)qIS1i^)QS16cTvF$?U4MG};a9^6J-g+1 z@{#l!JS)YjLgHw&2^R1E-lS~Om$)Y;V7rjB&KHWLODzEC9g0XEY!E4JK=zx-51Sv?!bc z78k4&fr{8MqN9xT|8wSvbYO$lhv&Q??p%bD3pSo}#?B3s?t$9%NvQcT`rT8FHO+;R zxIYq*hunG{Ur1gosw{1&suFXre~WpHi0r22Jc*an964`9wSsXXGBCr4<)aP8N(iqFp z-&g}|0e_t*WbJ3M!$`%G zp_UD5GzY$Z25K~Wp-Qh2Cc1#cU`zFlW5TBd#{?`*A7%>V;y<4Qb_ze~obw^UD~6&c zfYoXcGg_c>cJrH0!>>vIk9av5{w~KM-+DQA?pY~2F{XsQq^d?ytD;&~>lL?Iw%R9n zHR^CXmp9YqkZN=Q+{M&>ol>c+7Pl&^HGy(p~mssvJvNWz5~tJF`TaV^`Xa%*Z` zOZItDc~sFTTHk9DX>=k*xX7dyNjXmErNl-?3rnILRt0o5B92!PaE;3(N=snSq1K7S zEJhbc7=#U2^=yfKS z69!n!YIu?pvX(fPE`zww&!NWc+JX~s<_{M<4mJ)`o<2PgMjD5lBa-+`&O+84g2eh0 zL>V6*fEh4kF*iUN7CtC=B{t0}`Ll#CE;pT7fhV6M|0#$Qq}2E^(4?S5;SNHPZY=2d zmEc?WJBUri@?qDrAl5RgSeu`*n2lnM_0gCO_}36n`uJhsGPLI2<>?G}PXGU^`N%5l1sP_WgQ z&}fUq<;Ge~RmxWy3-b)D z+7)cA(;OV#R?HDfCOig9m!4^f7^Az~T(OEHQ#S4$vkPrwdBkU2vhB8`8 z*@eC>1^Uu9i~yiuYT=K@@aC1S{ zwyxFv51f$;0lyF{B!H0~02v{GND!bQoamOy^#ao_DicB%g-d*6;6qJy zs-(OW5{ry}iFbl_PcjkCA9s2AXj;HnqkVo3NT3F*(c?A+a#bIs|8;eoKaR==mA%)a zhIH~av05*c>2zX(_;T|1k9;^&SiIxN1ZvFT%6pT0%N2!rF1MJTmPVI{eFub#qFFv; zH7hKiktx?J7u4$&BB-9E2~^Y`&Oon$4)ApX>`U!oc@s83-6G0~x8%2@05*2LU{4^l z8z|s=d=oAg7j4w6hxwL>Nq${Yo1HHY=Ni?x&hkCNPkg@k`jw}*HDxE(?VCsSm4;xH z{N1*N>l%wQ<})YmM9K>8+6?F+gh5~W1 zolU&ArMu$MruDBiqWXzzBW-ZS;%R_S__F7dY$|e1yg!nJk=%Wjvg$?^J z-!y*LS6##P#kV*7^3YFqH5L}n&o`spLAkcnyr4}BukL_I71jY#=b_9Q{76WaA;*!3CY@8TMl|CQ4g??l`%|(nziSTF&aa$tyBt3LjUi> zh{bc=#D8YqUcB{WL$q|mHEU6oAq|>G`Xb3w_0F7VC}cF|*aof9+HTpDSY5+$Gt?t8 zK13AU#SZ>ZX4Pn|L<4hC9q!v}14S^20Pp(@%q8!FoFW`;`O&^%OSsGO(zdbLoRWh~ zEcKw6n__SZyTF!lgNUdFL??qudpKDl$#SpudIV@h$=V{7qYj3Y$;&od^Nl(;_t85P z`?}dYhAhNmA49J7ipF&`#y`%BZE_x;!^|KPccrC`O^mB_ zXD1ISTcEeCGvHapE~)_f!3Vb=~Ks%GE-?+jFD%i+vK&zY0v4) zXJ-puOps6Q+U<$o4wn$u_+Jb2#o7RSpS|YKlpnh$A{^ZHRyq&u(gec21=x~eBf_6rzLWyMV;Oc74!c#46?L{No8{)eY zA#yvS=PH_HrBY%pzoN<76I&=Q>?zOb+q*51Tef)RDC(?NJBx-tmik-DROF*Wjn$#9 zqB>VcT_|g$SWzUaRWIM0+o4xc3&<2aq4Ecm#S~3t4Z<=31L0ePy^aO}Mn<%IlW~3^ z(C=^x(Tsi*Ti@+J&Z!rja+ZHyX1yv<kanw<* zmNq7T<=C0gCERCPS!3U1>Cw#Fp*hSpB)TcJE;0D&v5zzhA~_HqTh3gk5*e|Eg}>OC zrRYaZqXT)4*G4%Lpi}{SID){+#INmhLy79}(V6R2StX^i=x^YEE^vWCDt5Shsspha!2v>Z+q8AO4m0| zR98=Y`Eve%t6@DX7_E>&y~sIOFC?~#0MSSAHN&UA{09Oku;d>w#edL(Z-JW*Q^t;< zLZDM8dFwnqP+Lor`#hr_P%tBgjeHIC)!Fr%9L0g-;N6;SoNb%lO|ZNA$_94LSLc;& zIJy?5oG5gOc}zDt%vQP&a=u&PJaIG(cf!N#0b*Pr7f_42)N~8m_V}(~7xACPUgwC* z0Sbc0TW>|d)~Tdp2%R9`LiXh+vF-f!Guvu%Yu6mziCkW*bYeQ3{A_HD5T7eAzqjn( z8hC#(y#Gz$lUk0)8Gp!Az)3QkTSiL-;c#z6+D*wKiN`hIf(yDyn!esi{*V<2pU$&N0Nuo3uHEu*3=Bu)R3nj=!IpW1p3{bgZCDJjJTlX zFWEVWcLuIa1nh+g0_*~kaY+zHMX;vjm>2juOaj`uq+Q^!4cV=kXp&H^gUqsljeUc@ zxxw7APHuICW$_8Qw{D0ax7QC74MaLyAMx*r_jljAr82v0e)nqBPA^mG%l_n)zu-D{ z%c|XT!GZ9~h(SAXNNn^b3!o#$hIl=50$Mo5QF`)^cpprPmvFtJ2sj^Suj6dk z`tP43R$6e7BG^Ytw&M$dH5%9})^JcNkwIQNR%9U4qu}|r8KCJn9qt3wdt8PQ=cfXX zXWVP&qSXQ#Ypo3x!r&y9AlDNcl+kbcsrAK!0v4J449y_)?aE-R#$wlVGRW-9p%&>d zIz(>SPY`>)zVZN%ksiq*j{N(Io3>QP>*o$$f$}_Tv9y0Q`7>^j#BQ#zvf}C?ZI<7S zwn()Mv69?bZ7>GCC1?gR5Dy8>k;oCPLaxJdUIKFdKG0=C%7<0_gB^n`0we=orVCdJ z?mEUdDYx_T=YZnj&$55`W1+`2?soFfuyUPHglfvZf=;zxLS@pkljQqI^ZDm*z4c$X zy>GlR`BlYPm>hbDIQ8$XXD+WQs9peG%g$F>gTv%sx4Sy+-Azs1_D)y39m=-s_8qNT zY^`?ScPZTar{UfU;pY3GUkP{}5UlXxjl(ijNHtGf(!D8$GYH^x;0{nlRe(1jsBmwx zTo!Ooczr@Nsa+H)ezP$+ePqnnc$#;tTF>)IGYNZM?qE83A2fP|=N^^TS3vxG^vwCQ8eZEcLe$@8Wp4?Q@ZN} z(7OXw7{XJpz1s95T-_L3S$H)&4OpxD6cV1R7 zI4yf`azFX`kx0d}BCmJAYtKY;+BHI@!et>p4~QJZm*cjI;U}+2R?U@kI&0nJ@h6AN z9RI%j=FPRSy7{a2pjes4lK)nAG)E_+Fz;=EH8D^8pZxHHSS=2QQE_U_4R|y7&jmyb zcGr1<(>3gdHO;H%MG{m>z8-n7BUF7LI^KV_c=dgOtH!?~ze22WBqu*cJYUErmulpS zGsLlPcHO+AI=^P|@a3qeOkv9&Bab!g)lAx^Vjp}oH#(SoxKVZnu>u1D_k+oKyMYaeK|tyv+xUYgP;MqakT0?7nokGoMA2^&nXtFA8T3L&-#_6?mt1NtQVy{LgalACSg{Ff8X4wS(jg-bFYXFH|P85XqQXaw&GHa{S702Y4< z|6t*T$0Q*5BJCz}e2__SA!|2|-kBwj&fYCaC%+K6ozqw!%x3a8JAR9r$a~Q=d6f8i zK`LTe$iL;2uj%x}Wf9$nJI-vY&ZRU%)MQfillw}@Ib8lk-Oan;Zgzmpmj!=f( zck>cuNJ|0Y)TIRZ7==s;d^Lf!q2K9JrpSf+87iW#=O~Z6#__^w-r*X#!XwG}A0B;; zfb(`NHdMSlICp%~3o-^S=n~|0Rc}-s3wyWTN+BC|Zr^V;nuQTWj)E@2w-xiiHQoz10$YuP2e8Ee``WuWJ zjC*nRHHFYjKyd>O&fs|E9m#x9@4)z6w4SNnoJHPEv?p&T_%i1M$>=ZiJW*nTFfFE& z51?A|?Od&OIO-z)J^9H+Z4WJU)I&E6kcSMR!9j;a=Eo@=cUSk9T2-Y*%ewa=z`BBpAjQxo_(3Lmg7~3@bd*a*S^E=M&uLxFcJ`A>Nk&5kPYf0WJU#qXJ z4L+<=`TEbC$!YiW8sq&wsH(#GRuYJxJq~&nuNhBg$2{^wv;^yhq+?hqmMHiSm2C(A zM<8i%x)AJu5|W>ZJ&tLYTYv@>X}V&x8~N9^J9gFP)UCgECyFMNvhtalj*d*%!_DiP z$qA$--?u;tTWWo0A?L9b@TLp2U}`4p3IrMgpYO#d76t&`LB>(&9Sb%?8t4`YWbs9@ zp8#h(0!67O?IH3DiR$S;z6_7glHbnT^>mMa*6HS>dEF+y7?mfF1rDJFF=vQ;cSe}$ zznyvzN38MDl7ZMj(V!V^aCZSz-cJu;8#$|aWQw@2U6op6cGD!2O1l6PZ&DgqrN zggn>hLC1usNq4x{5OX>EXL+HNU;vte5Mxqi#`k9PP<=m`44hUK#;zkucfw{swxlX@ zusa&s`zgEhb!x~%8MQ`gMUGyZB?GO?*H4tKV>71FCVT z71`FIk9ORW2yQDLYUD6R(+rX!E^GAf<6@^r0+}dj@=(?t;MF;pKEslUXGF}SqG{=M zYB6p@Es zFYDoqA#oET9B{6*N62Rh#Cl_>SJPV+DAC0ke2|qLR+Uzo{5D&8I{d<45&62v?HY93 zd1$?ewV>dl>Z`VnH{~?RwgU9C%XG(nl zE1pu}HcA`A7jUZ^+QTL5A3CBx)F#dIMSWLwb@n;NDvZWVcQ}pB7&bZR?yP>R4WNf= zH9*m>qzMIE&d}t)vZO^fHp!c7S_iFqevhYAD;02G zbh)9;;*8Ag<|;BkmPp}TAENbwEU^PFN!7>xSeD2js0BTZu*;fC27^(wKp6vMb}idU z_}HN~7_&K88&Q0^=aOcg%{FMaW}s=^MwO_yz-0BpM02r3Vs@EFAR+W#du~Bit|aJE z%gJw_Dc$zF->vldXtd$4_MF*T5h-2Ry@k=K9qqmK)(Y~$6kP_M0 zP@qw_9k>&2I>o(V>TB>7sC$AMI{1Ol1X)=l9&nvbrm=aOIbsefIX(9D)a>lk(_`Cy zYhT~$ojjW5I=MUX`Wp%84?ZHi`nIqLJB_74#-5}FL z!#JyRn7qc5BbqWb6c)DWCtS^gj|2jb3_j70+S=RO@%-{FUH_aR zYbV?rEe2EXwrxKlKS9zP`Wu+6nX>x8qCj;BDV&JnU;LaI9E95}ehE)Ci1z!%ewoCQ| zKn6=#xL}kAa>*VC8IzJPP?x$~q))v717%Ii-3Qhtt{=Aa){_rcHXB7w>zLKbLko&^ zCXlO+$9LRV>GG7nfQsyXm0l!JN<_kq=xkrCFcJ_3!gAU1zP{5NHxehan~eQNXHM8+ zEOTtX`^xIlx^*YEpmzj>W15#&p4%XcbtM;x~ zu3M<1R*rq*Kh)-+=`OgmKt+PH8OuVP@q?WYm+Er(Nqo52KWCubNq(Hp1HbPx|N9a= zK2DyqI|vZ@V=i#8Px3iyxKeVrwL-cJbqX_T-%GHB;;X2~)CAOXyg7mWQ8Y9pQl;}4 zP0k8erM>a@VgKyG^>vZ*#r<=r-yzi)^2nzH>q0dap+qV)Z+4z?U2i{ZZ0qiZW_5U< zLg)=~51bF~L5wv*Dt`)}5J

TLv778%Bakzj*hSZ1>LqL<2(ca))F?73Ke(zu=Eck6FF)D&)5vwIGW zXG?0IP*)YI{SWqRTd4F^cC8tCXHp&=Q)k38Ggx?@6^m^a&_x+iDF@<9X(}tTfO(qy zdwKaeovvNmr2)ArgqX@%xW86F$EnN{Ods$r;VkG&X>!pGiy4GU`~s^(lycQjM~-1L z69_>O;cT+$7D77prLd7a2%T<*Jpf3D`0O>ZOjJp}A^X=vdM5d;khVQD{pWv1M)Hr- z_`v^6L?_7W(GY&3&#J1@f{jl8=Lhb&qB>H!;pjTl<`ByRrk>nJncQb*%4KA)zOkjH zQIFVzT5Sm=mf{%TU62d13Z_m$!KN9`Z7CiL&;-&u1@IBh@DgAOM-L}UxxJUvKlNYA z8U*%+%L_OWn_U~>52YMU&pZd}RrvOTV02UPse z=oh6>j+=A^`xI@KnF2opnl?7+9GN35fkSC#jWGrJCIyTEmFtxI_w(-bhhP+1%PWp%+*h)9uKOX9p2enNixgyD46}<{*sJDUti!V^6w99eLsP(PCk5xo360 zFKePm=n2_0ZQY#QoS0cr>kMZ5`~&MzO!aBN7KwWr8fVk-s zfC2qr8+9zrNL_%hTxi4$IWU*d&1y?YaZEHIR*HHNW|RhE9sUpOlOlAAkW2P9P;c2n zFh?2S(1hcl;1;e(!N!0LKBDVUZ+dv3v#7pZmg^-<`gC7bx5ELp01Q}Ki`(MgnUI9J zbQrwHYgWu^%uLG@e8{ck6LaKC!+c(WCn4&~6!a+QeKK+9+%PYL)vWG?vt_qf~ziJK*Nfcsn>#)JqCO{0D&1{K1pid{#(atB> z0{)mid2f#&-2-F)B6}*ec59rY%l7pYt}5*;`=*hWPNNeo?vYXkn>$zdZs}=o1+f5= z-UYSS9Uy1p-|NPO`!g-6^Y4+C(vQot;6TQvGlO811l;KS`dL@(Gx3@01e+?gCS=K?k-}h?purwL>a2^ssiK$sYb(wnB2`Ow+cn z9V(@!@LGFIwhDFh=1t|Sl5XGr$=0nC+qX|_eJ6uSJ_{%yS7;nO))}qed1@0X5}746 zo#Yo4dZTNVP9&yvq>0(9SbC#;mEUqsrm~{6l?p{IL6GNt;o1tncO%r&&ESGM(3?WY z*ZL*!Ta=PG%hhsACK-hoFncUxAnX#RpgHy&z}(b%^AA4$_-jO$BiHBUJN05NIqAYdoc?Xw&_@dO8{gOFbwq902zbL8Xz3~ zN15xGfY|Gu66+U56Q^HdoamkloW)*NX}G;pNouJ5v=tgc{TuB0m6 zT%;;d-KgrV!fi*Ydg0R&Rgpf8K&t56uGItWM&TG+NB;Um)%CYmA*NN2XfT9Nug9{8 z3vrC601x3fM$L-36^k%sbTh670+IbaLC5-~VcfbQqpVi78=~5P|)-?-BJJ(?! zwA=ZA9Yh*($G}Z#x6q{uvsr-~G;~94PHt8>?6+%(5&Gn{;M71F=?br{Fv5>SjjXg= zWouvsCaKt;@>e-yeM{dO?;Hp+MDQFhWhd@U%Z>&LVDa>+Y#29dnz z{ro_+Etu0#9IBJ|AW1EaRc?GUEyG=RWhrGG}SxaX)+6oadeU?}2K5DbMlecLs4bd81i~s%iS$wZ%FjJ}a3q&h@i9}9) z(eV54AIy$Mq1HzVF~6UIyiZNEyf{A!Fox&{dA0zRdrBM|RBk;j3#3eCt@Lr)vja_#>8 zWaGlZ=)3Sh*O2elCX5BH|E~Dr;6L~6gHqI?eUrv0^zN1WeU@O*k{`$ptW@NRTZi}x zrvxUf3s72n8lz6_WGlGDU1W0W?YpZAD>fY8j1swGf!fgPtQ#4rgG%bFHJ6iLR~4HI zoQT;6)0cbTsUe??R?0+jy@8Lj!yMtpk)nvE%j(j%il_;+nF23gkj9GYb2AMBtS4~n z{WZY1PRh%*JX>`LYC`8gPk?m>a22S8(G>$I@qHzV>4KF5GYHTDj8IG}N~tW-43GuT z9;XvQ$6MwP2%Tz}$V|NjRvaN4kqd2nsxp-Y zM8;lgHmZv0dgPAU5?AAVwky41O%LBtvDhA6nY<}oTw>0%P1$Uv_%Hceo|;*&kiMZz zs}zC%i&@Xyi)xER@fs=O$_hohZ`@xMtef1u70rtDDn+>WIbTOu#8B3R$+F5q2>Nnk zg=MYVhbtLGA6+0EVsM&=_pd}J`C9K|kw|1e_RNqkS-VYwvC_w;Jgh|>vv?JKRUuqe zsMM2yJ^wh!M-g~4+~6tBz0g%L)k}!#-~qDo64C+`#s)EfV9>=N+o00ga>=JaC7?MJ z(J-S?Xkh}>1=DINoK0~$)wt>sS-7mJ>F{IttWw>JKomTlbP8O~aSY~0*}M%Ia`J>E zSH&(!`jLn((2l{-2X%jzlO{r~j^&t5tU$c{=I3+M1V68SZ(?Vmnf3^SKy*1H_Emtq1PN_jD%_ILpgGpL? zQ~4_zcY>!gmcOFb?^Uv7X$-<+6*3rZ(x*x!RB_$gZ|iPRC=``4c(mx^s%bhmBfZMN z-^3OQ8hBD3rZM)zpMyDaF{o$>f!+anfF}h0V7?>V| zN7H0GV~)YdY>8L)6=XMUu{6eud#3Ig8#^~tyDn(AGhlsb5Q8}f^4b7864%&3JQ`t# z=(0ByTmj$?y|_?p8vegmioI9ZuYK6y5g!y15ud!*5#SCbnUGfXBk znq5}e6)#`8#Zpy}ST%fZY~r4w`c2sZFM|k^mv{aW{Nd*Ro`888T_7o%aF+p~Hs#U> z%?v^Us0$j|27CrN0U$%E57;E3>frIqDNY3uOBIXAB7nBx1b~65DW;Tv?)#y=)X(5y zckn~BrqR)O!XDsj^~Ef{veK^E{zUebri4eN43>k$bB~r0?nsBeBhX`|$s_vg`h^z}+-aRjAT+oWy=+qkk& zS?182og#k3AXoA7$<_x7x&p=a9LGTPwV5OPbxkf4vNaZu=<9A2>4j{C?quoksZ-ev zu2l-VbXe|JtAwR+?pe?u{uj^#x&<&d?&k!U2$SpkHPj&bFrl;_w?zg zus~L%*BG2xvmt}g*)_W|q8)LS25rcgNQBq|4Il+2?=C^xpjUw9mi#W*RJlN%6lH59rJ1iG7$jeuX`7$#UDY=}-nXjR&qjVrMApyc|HY#%DC)@R zEh`z#VtBJS(hqKsY!-P>dl3uuL>+Rni@`~Ilb}fibQXHQvlB6@`X79-pjY1^^K1GG z((-pAV>OJvX4#*Xv-*Xu;`nna@73SRXd`1`Bd>Rt2+&SQTMl~!EB*SjivDt zSc@+yjb)PsQUJg>!Iq9exRlfjXb}V^gs7eub9s3-SAoG9%!JucbR=Y`@*;kl*bH5J z(>Um$X#Y?+-?;UqW5*VbAAbq4)(|lMmrW)m6(Vj1hr>}yTAWqdm9_^*LeXF_R{!cX zql>3<;wtuVhD=?Ur_8+X&Wd>d=9Y!=hKc6pi3agow&1UXos&X{JZN5Dwu~`EYR^E{uJwShdh#_vw7M&XBE*t6SJ@ zP-cT>>BNhiS2+e5FB4B&;8=MHd9$cqM7E5PHzP9VDEa9_&CTx-tUz9s&ndM8wG#44 z=(qeyUrWpV5uk(Bl{15)oEc7$>!73i3cqqjdFp1rR^yTuqAOJ6rd-*a=8uRsIOu!+ z`5Mogt5%VJtG%uB*xU;88RD(v84ht3UB>HJH9oHBnF?faSR9nBB{m{E%I#Pnf8Kh_H9d{IjRI@HG-$YY zex7=tbC3&bg^UTDm5XIDOj^BQ{HJb_%>+?tuw1DYCt;u(Cg&syy^#4L%3vkxLKTXl zJd>Q6LHo7kDfIB`ug^X6%x&oBcM%WGlXnbATw7-AiZ~0fgDBGE_?!S zPrd&mw3DDWqJS1a5{hXl<$&K93oFp3An9RE-`_X2BD@UvCQuck6tB}x%IMWiiDG$i zfnLw0iTLi}=zC#{q zC}PiK@=c~!KQ$Cq=eQ>xpR6h5jB`zf#wt{_F!^2LmU3~emy`uISj(Dr0zN1Otn&y> zMV(RPBK4L}=n~>#R~r3Cr$^0oGL)h67uc^ME~~aC5tEssCbO2#CSH&|eLv(p*Q1Zf zrv%XFMw!{#5h;@8<-5%sEL7%~U3284V>_>_smz>VG4zhEAWBRQPk*p#?G0^Z z8M9nNR=oUW04|u$1u&!GG_3$|Bb+k~6vn>O6m-OawEyeW!!Vi$&Yc#7=7-xSS575o zQ1BP&zeJg=L`7aeo|B_i(9_ZLipN`ss-)UYJequ%_#`PMI%dg7Ck2+R3suFOxeTSD zB&5hdrBh35z`Y-{Kyt&ZKRDTCQZ1c!>K*aQmbj2YMAQ*OY7Xds9s#l(JIQ76(_klH z`9|zFOf)nxn5Cue8bLT)uHeA39+Kbv4D#H^z8lfE#&@0KGH02Yh})bYeknUB(MtH4 zH2a8g!ZhNzIj>(;z%dZjd%s#JYN#yFSk2{WwQ;wEjjHBWllM)E?0MBsd^lfHp6+j$ zPfi*9dUkr+44o^b$3K}j&wds&9CpU8*VM!QaNprqXw?t}faDMe@WBRCs>zn}e8FyT zddJfCm<&oc0}M*Rcfd=qDUjDxqU({}ZGES6xJ5+Li+{5NYmy;v-0z^LV4P- zqOLLAD4&vZPz$-%V5_bhdM=YGPFCJW$T{&u&+<--X=!ORd2aM$?x3`yxa8Vuafy677AccmJ`U3twg#0? z-MJ?b%UH`|XiVBV11j0JNZvqBC=IrB=2&_F+MJSaBCh0Zrw)D*VB1{qzq~;ULW~c0 zNeAA&L>Gbkhytt7`yCW3*#00Ufh%#qGYUkJ27Lno z^5L}$3-6Uek{=!B2Hpxjk#g`a;Rt3q&J8iA;5KGq>;g%_CSV0@f&-UYmQ{pxSrc8@ znu&>Rav`8j_&%t313)z}ox9N3v@yuk^*|W&<#|ojJkPnOh1`0tD6*6SG%eO|H-G-92|r{kNU+ER81zPoTn%VOxFP6Cyb5>oUFc@~)S!=SdPUqlB0$pmeLUSP?TA~8ob z>Fjg2%YM${>RIhYYr3V1pB{rQoz}Dtm#aV$taM#JWt-=FLU-B ztSsTo02K=IMd_$;{sVHVI-fJcO4AyVq~~a3R_nf%DCeOPPubZx-1{KpT|Yp}0^J|R zT%D3lSlM0x(O{neZNesOXkn%QL;MjnKt(>@FV0I$Q2+z49q0dw+CEA91_{$OVNZ3t zB;GBTbJ7^!pr3vCCF=Vd9SWFv-2D8CZt=<@m5$9K$mH$=d$UR&%>~b)tN76hU*3%| z@>AMI;s)=~-~EYJPe8`)&Y&Z)f~8LXs|Q|dttbd&bY_Z`LIwGHtZ>BGENiJXwQ48D zWx7$YKOyd)54klj(P|*4CRKxpPgQ_#E49)vcJjeyQ%!NdXEH2N0;`#n(4+VRWHa>& zE!0|AKf6io$h?f*->ws9iFk~v=h!d8n65;5QCO0fr&lpJ=oQsZe}f7pJo8c}#Jmn@ zTthE5nd`>WGb_uoNAvC&^7glV{wRYWPlnd$ESa29j#7wz!Yr&9uirJ3$YxK$NX_b) zl#NQJW6+S=6h{8+?=eVq3FjTw<9wJd{Kno2!o>EOeCB!eSJNk=UUh+AME$4ys$068} zURWB=mqtT+1sv8>inG5!f%__0wI5bH=O)o3Q|Hg0r`7adSKViF7v`CDHL~&YyX#7$ z?5Rw(xu8gyiAtuY$WIU4^HytP{dfOGHA!{3nuze4pwj=P&J~IzX}5`0O0_%C*&5$+WI_0^VJy)k(bvBQ{$W!&D}Lc>}eLmXij9wGEnjC z9Qp7RA7-bOZ-AQ)axE8f27U$lEQj(&Eg>=N2LY~MTI7;ersUg&Ed-YmQoupSppY2O z7-R+^ME4^lPIcs=ZLbK0TPg;lPGJVKVl{gg;-pElT%Mpr4@2r9cWbY5{ocPhLxLeT zWRF|ZZHAoA?^b`diMvF4sWVRrfS+Q;iBI*79~{X49M!S!{_!FqW#yF=luJvZ8abTk3yMcyM%hoH zBLYPki~^~dn|l25sk!Nn?x`MWnRhC8bIsVBr8ybXT%D<)LWkn3$H||bsGKfYfV-aq zIQm6e8+bf$AM}o8ER9ca$soXszI5S$N~xM5*aHCQi^k%QdDH@}J8?cMzGraAw5vAu z4ZUQzvc8~BEABhMOTT%Ky5>36x^&sO3U(%QH@Uta?4wSTccS^bj~*e!teix4u0-q5 z=v0h!^r+(2dywj0bc41-dkxpAmT0+GvodKN<^KHetR5VVQTK%1FurcAPNJ+F^SU+T zO5en)aL|QT?R>B_k~z*|=*)?rA`=kV82Q9Q>(-G0rid%@fl~^%F9TW>0rvbktr#LI z`QTaYhZCeE1h`SL2v7B1pdcsK!V>Tq!plE0;4e8wNW)LvWc=e72}&utG|&M+K{Oqz z(p~nBe213Vi{xFIm5c8kh>d$|R+)#4UFBb#Lz#?tMUGeEiK-QF()WvQKZg|e5!b3b zn*+Yqt)Zi%x;?cGF|BO;WQKT{o`Kxt12L;&H(iGAQALac1&|LkM3Zxe+3fOx0)M}? z)<3rxY;foVrlG5A^4L=xjiD@8k4n}|llT9pHWZW%xO4PD$*5dol6%~J@+>V^-B&0# zMmTn$5d&r!Jpg|C0;qg9gTAN+e^D#Y39Q=-`7Gfu2(MJY4!jsa0d|OD+()Mz2heye zC7_r59##Og-{Txy#{%CBAEU&x@AzUyom3AAb1ZM4Mo~EOd( zrb+TDu?rDZrU_fZHe&u#a7|`W=1zlWhJ19|FnCK%K^hY*eGq(3o)Q(!lW$f3ce?HI zFB%jS9m3#`I0bq~3_25MzqI384GR;vf?}4`j8YSx+!V!v`bRf!V|VA3ZsN@EaO7+=bxF+*<%&C>^iF%5fl zhR)obi;8FF$wx;}-aPs6u+Toer>q2$kQi!xAX}hDB{RJf6XSz#(^&(MlUD@(vuA-8 zD##m1Rh>ow^Dle2E@Hma-Y7ALgXI|HN}!t&Mu0e$hz%b26l!WOh8}UStr79=WI2;lK4n@-LqUgR4TJtAfF+vrGSzyyu%&UmbXvxOa|x zY`*evcOo}qmc=w#J7cJHy0&g~w2u5UQq|qlhacppEh8f>W5M7U$nPxB&%c7+&5k9m zrb;h>d7+wuy5>uVc*!>KDT3`u86vhNKF6|>0u~rtTojhD5pbUeq3A~K9Fho&#B;3O zaDcKPp2P9PUN=ByQAaY zMr*gbAvomj9~`b8x^GzF91O^Z?#&T^L4xmgC1CjHq2IUhg7>=tczVg`z_>M~5-xUx zr_K+$3okMF#k-tRWf0p>S*QSVOgI+;^D>RtR^|%tcIvOP4j*xCY`Hz>-1+k}=g;3? zp1dxDuE`1LEDDj*q|_)GJlZ{?>#s+Mej9`6!42W@V>rjWN}CWR3JT+$u4ohbrKc^C zX!DS{O$a$Q?Fr?n(io#my4KKBj|$d-q+h(zW}CBKW3^V=V2^Ro(GSo{Ajf(+9|6mG z@U>isn_?3a)=HIT;H-n?-iVOqhhh5^RBIa@YFAgWs9w6^z zfogVz6h@(5z-6}&whr=*SzJbbMbNK^WN8)9>hUh=@iRzpbNcPb+MpiZ+}k@gIyO7I z?W57r2U-W)+aH4u=mVaXoXiWeI#_avdh6C3P&ZFq*LG8NF?%7?Xl|-TWou{1`=-pA zCdW|e5KbW-DlIMjs}~---0%Pz#Gudetu!ZaydI>u9W;La_ zKOhva#RZfDwki0nA;kbZ5lpm`Fed*Hi`}j5w&DkrQBp;a)n7dDg@|5iH zOdS*oqk=VxKmM`Rzk@th5@vO#E7advwEk5`j;zWPTgc6bpC6GIXn?nwE4-lFZ>2Ru z)oKWO7qr53w<(;3LZw5%jfIt`yh#{%^9abt`F}ufkk|ASPW_%il!9(B28RLJ6E?{2 zT-JxcHJF=3OAQWl6gXg;{1qJT5SqT7sF5giXC_Z0a!V?kDyzB!2LIqV( zX#M8Zs%dO=v-I#O#5~SMfdk=bJu=;L+$L>i)@O93qmt$+@0G3Nt@{EqH3vT$|0nVH z>SA@RvM{pB`FnSp#Xop`O^iLp(HbTSQU01y@~1O5_19HMi~RnW+;CZD4)01nd26$^ zH!=0XtFu+TzWUB!5N4HvPb&cT=4FTz)j|dn?q|9YQvlci3J)Gk&74N>8jyezDGJJ%%cEndf$!i% zr??3-8=x<+rcIL*)&n=7k92kqG)j-D6+UzvRhW4oC}tC2A?P`-gey4Q+bf+WRRJK ziyU;`c6)Lk8?9xcUpLfubi7lVn=#6!A*H63{0xadBGvjH`&_iIw8P}+)x=Gh z@iR_1%HJ~IsZPW#+DzKsEsbFsNhYwa{3 z7R&y1r_@=N=NJxF6+x5D<=4K$P=nlBY}8{Kdf~iZhIkir5rUY94bu=)0%U)x*$Cx~ z!*&w(#$ml+p)`>)=`%WQk2u&M0rZuHOy`OSgC zDP-;;l6lwrhxNw`lO|d*e?6f_@664SxoY~D>v(Zv#hIXbaz3GzMYWW{nPZqeOaRdg$f`~zf5*uX3Zh$lP#){8fTl7e`p(noez)1m& zNyN)$e?oTzrrmaCRlVOocWTz_Ekm`Z)|JE##L4$?j9V`NVri z-miG$z*pqYP{F{SK5xy|rn%7lGyC`N*)#KJbnvd40n3(>uM3?*E3agz^Tvku?SZYu zSvw9-{rup_#z%ne^c7WLZ#)J0Sxm@cRl$is7S09k01OQviVD{*I}mVlDOf5Ugf8uh z?4Q&W6rYTeZ#{Plx$3I<=g@)J?d_$Fw`MPvKD#OZwVRXG&p%ImRkSBCVB3{XetRcb zjvhmI9D6QtReT_DpqRY3<<_#{nP>j>A<$F@w*1r7IyBV09_&fJu#y#^AK+b=xDzV@ z04+8Q{V})Vt}?0h!H7FBZm!6=rJ=0s#_Z&W`?9nKjZoX7o7c8!p44f2OI8h9x>nwv z*IaN%*AzJfnf|}2eRON}o41gHC!Zv~D!d{vVBe8XZij8oag^2*Roas4tcpBubo!=P z;<$fLVrA+6SP~t$tmC@G!1NOZ_fs@1hFri~A;;PT{D8A~psH5{;s(6iAT6Qg7UphH za(K0A)V%|{29zQKwT1I?5arfNgZc9*zAoR@yY4gf8VOPkoX86lJmp*r+1)G2ulMU$ zK3U%~;n}f^XdqW1pgFoF`Q%AdcA0)J`PReTe?Zrq%sNd@eTu4ca!^yPIETEqQQvNz zicau_b(Wa0G2J3t$X^*jM_sNe2RWBn6Q~JSN<4z@@{ZyG73_rxynTlD0-S@9>f3{> zeQ^vJ&mn|GV_gfH8|V(7MkxU*!*(~gnxGhuVvPtix;EHEOGks_XqOxfVSjr3#TRcd zS{izlr=F(G(|-AKgTB!cQlEYrt;@ZsAd!1bZt{@^#5??X-2=g<_>*NM>sCjZw`OMd4(mS0+S z#&^7#6w8UWyd zpo4F-kPE%(Zhwv2Y>p78N^bVGSx*&w8jY?>+z4>}WMOUe_dnk^Sa`CJK3=_$-{7mu z8pE?wgkW#K0{mG5zQUD|hk3~iQgDaZmh~vMkx~{nhE(tbs=$}2c(@IlW>9}leE|zJ z%H9O|fQ2%A6P!0~>C9{z5Rdb)_*yDlPezqL`T$=hg97W}5+c(5sUvXK<6D-@g19x{f0fzB45U0XbTV;PzE z&wmo#pQ2%fEtutzCPH3uWUXaaL3z;;_oBz7O(g8ozUZmdg--L6p({#CtB&OS)nhe> zlBdzeioQD=`irmY-3RDDD+^>Vu6uu-)&w^s8@x`XFq;-<=`I~79jjtEU~1dTx(sic z5(1!^@%^XJIiPoZ4N}eY8DLU?2V$w@6mtlc85q99_ftA?=~v?P5exhnW+9?AdR4eS zd?KDaQt0Me#n~ZMDV?rrDlcD|t2PP+`#x1$6UuTE-{>ie=6mCowG-%@n#2CO=&?F- zrEtzILFGBU1Ll_e=wQv&n>31Yp)oxWAE=0EZRHx%hJ#RzyDk5=`GT?Q3yCqy<%M-c zhuw>MgV3srmJdqAyt6s2hO9goh2tC=sm+0637g33ay1*Q#paqd1sS0|B{h{ta#4=f zE=m5`SAF*xXQjP2THohZ1r;8iWy=`2jj|tpm zxv15ayQWyd{f_fgO^{WA(}q&CK_Yl{gE3UQVdlXgi_%|8e$fD6(m^kF8 zNlQ*fM;-g~i`OMj*B7U==lCT=Y#m9K7La;0WVB7@`~)1p`2F=%je7&UzZRtW1+9u8 z=mPP8)Z5_;52p)P7evCvMU2??6_rMJ=+HBcH(J`}bd`6tOz#r?@>dJzldoHH=Z&VE z=pieOnR{LCgy*UNd6fL{vEk}_Ctf+;H}vPL))Jq7$XpvQt|oP;$E;l+xU&e>gZty& zMfGWCg5Un)YNU8Muo|q}Q`X)xDd55hB9P(@OT>Z)t#KcPoaw!0bfe(#*0u+s6vbZ< z?QzD7``YJx#+>|<)&Xa1@728LUYz}g#w))id(v|xm;A*wJrnbpp+lAQ8Y8xu5|AhUNAaDUpDi z)=6O97l}6IIFery-KK-_hOLA!%R3YCa{fobUF4hJMN#s_{hHWnpDY@=%1Tqj&SX#f z_6K&5vwb_(RTNjQyL=zg6=@8H9`gM=j#kGSNE2%DOV<1D!fCQ_mTHjYr>Q)FCF>1_ z_oW253}!z=1T#$eQ4NAiSCo=TAnBJ_3#2pcGz2HoD(lMXJdnVH3IvBbknH~rbGx@c^gbg0$V%D8iS-XysiAUiv_Y^!*YvaQmJq~%;_>O8I z`ryI5xeQ}O7hH+hF^#hdacozTPl zmseUGQyNEJXs0EK#N=m#b#+9qcSC-n@QNtXCBd7{9nVxKiQ(i5;_R5aG)88kL6d7N z>;B5y$m_?B;dRni$p8B!=S7Pf4cNc|B5qx2QMsT{95)T9_@CGGVK@3CeH3FIcV zJ$=Qf#Z^&iR>iGOQjP{Z+Tq{>rQW<_O@+}L^LpIZ1j!dVnmd}4KS4K={g!da4#9nx z?x5X5tA!KyQa($tl&DG>IAh8lU#gtGQ2YVLUNjZRw5G%&E{dYTu`@5(8quAXH=GZR z-v&%pF%gTqM+b{MQ|9h8wCdbIFs8O^#JO7MUI;D4f1!1ant1Vehl#lD^9gbuU3L7i z7JqDD@gS(kMmRAYn<5Q<(JGl888SVvOm5u&Sb7*T9+r_Muk$!1_e za_Yq;`9_1>=!|Tesl>!!7d4g77uk6*7>LcBBhuy^zC>0aKJ=$_q0KZFYZePRfWBZD zMjA?f?Y^osKf2ReWA%;eZL#=9HyY^ye{FABHnXRHY}K=_?%M2d2}fRD+}^tKHXu4tF=#V%`-@ZNNdtViL|Zs#=KR&lX3FRsxs1rs%*BA>|0inzg>M} zM^Wwep6Qb(v5b^Mt;Vlu<#1;*Azt5g@h$_qffNU9eDNm3{$;Sw6}SK#;u_dp3pX8q zjuB=wO0ntEH(@Uz#nU)}Hi#25P>p+gQEAS4GjYq^o&O(SUjZOjb+(;z@6OJw%ecGl zxckn^?5t>&O|haaPHCybSLMrG{`cJ3-30pgn`CBo zW>)Sw=auL6uI?kr&3g5uS{`=qQMLvamHnP|<>;M}G=gt7Hu#-(9+74lYL1ny)iH>O zl*i9etQB_)nxqfAD^#1*b-4;dJ|~Zx4}I+_Z}K-=uZU3l_x?Q=$zdJr%knoZHb+{JO< zB~s$JhEM_TfdIi0f`0PhO9adZPxLjd zUKlQs#wSGkV^%1cP7Fdk2L1(P$4*D%7Kg$8PhIF%n@k-G?Wi&;WRi+;nQSUg7BtT( zo5tN;f+;a##nw`O^R%nNJSayy4Q>!cAFV@aMYSI$&?V-1b=;tkcgzSvxy@X~sNZRE z85HmX=ycRW<)db{YTR;fxnbw7==Ej%;@PD})KYtutJ%6Q^hA}{T|;Flhi2qWa0a-q z-Gk%}uvYBfz-n?+zA;FdQ;NaX}IHlE9Gr$4DhR;w!y`$3SnpGi}SUXZE zhMz6YRlnN?r!v>k%yQD>zx}k>ysVcvreAsYVkh^{~*@oUws5{#JIDH4D z!m<>7cpLR)StXT+W-QVP&kZ$F>T8&U3wQc#P6Jl#2Pv~$`-Gr9!m@@>r6|EwVo6VH zO1uaf9Ra$glQ=K1Qn3BHdP>+H16Mxr1H{bF^1ECXp2{NNrDt9<-FJ0#MyZYX4;cm( z(Zp`&bIM=6F|8JKn#`)Hpu9h@>0{~{-NBLy&u%5bS-<|H&8%Ih?O?ahmo=6p5JLm! zm){)g?3qJdTGgoYhn1e)qrt$9p&{!r=V$GcO@Lzr za4v7q=TeOGRaY)_rFZl40bzv(#E7K{4hSy;Krl?f>cBL*EGNL1a>0qAasA;~BD7P5 zo)+(%^G+NvYA@d$zIYGMXB9g8suiYgLt7e@1AhHABGc78G4%i0A{oxLa@Ew7(KBII z20cfNWOnG5z_9I*H~CKAZqt}^drR%s;-ToC0ac5=GT7N(<&EB;_a2_zxN-KlJXfRi zR@j6--CG{Nyv620(&};mZi5#2nClS?!g2rhhrkEh2a#Spy`Tivyd5Sou0iy$ARd2t z)JSU92=3nVJ>3Eufp-E(7BBoebc-!8I#7iT@&EWSm}LT+x9lnTq6mU=HUdzoKXUfLdQ2me) z{49IiT0SDmk?{+-ECNRD{ezd&9VG6}VI_E>zms)FasZw&Va_WM4NuobGoXa%J~&3t2@@6K4BN|~9)=BTKCt~;42HnZsn-B zNLR!j$q&gT{FcmIb3pDCbBD6Z?Uq6oo1X2gRF+;F7_wgKl3Ja&j5hhX8P_#Wb_q@JUbc z$V8wR%#bmwq}TsI$v=vEt37t{pwk&OPl_bjcB`RRqq$R)n{K2C`E!CG3XDdN!yMz(A80gXDGDa|>X3btY%qfh9d`|-?0gYV(!j6hM+$4*+B)wR z$u42NQa{DY$jXEgTq5~%)xJ=`H7{#G8_iyefh$$;^6!A#pOic7kN{W|KzFFkj2srT zA|$1_s7bCH4LnqC!+q9Sb^adjW;fk%mXtO^mD?om#hUiuy8KsWZF! zs|KBJuZru=6KRIUvXZIh+HzLfNbdeDvGiTzI!`EEqy8gTkl`|~s1FT32{=j|>| zz8E+>b@8^}{1WpIuElit|nV_Fn<-=-sl$26l#SXAUjF`>~1e#yypn1xbf%{5> z`+rZw;hK;U57szGtTl;Ib+mX?pf%a16a!+Xt47j2INH!KRT$4PZ3tI&j2yg3)*d7I zC3gnC;E3S+sZGLd|<a|P zs_1~cn{;w(t=d<@g~W0HRKZ{sPgF~tBGSo`K3j=+c*Woocy&F zwZa9B*`p_ON^TDKx(`Rs4HN~6b%PRvy?lN{#Rk-^vCO+pR=CQGsoN?Jv<(Qv166`F zG{O)Uj$}*io`C|@Kn^#fySiA#BZ7g7oY5SYndw&unGAwbI#enL>{224FMb4ZOD3Sm z5FqC=$gsQ+yIhcwuuSyJ`vYVEpJ9do)DNI+h44X+0*BDf4X|**x8*@q#_f@E-v&84 zg9OQSDCf&BKmYt6|2WjjTtW@QxdVFjM*e z!6$e_q$_aDckcE6eq*Nrl^MFtOf*2SGY2!6&Ta$sBSR;8)d`MpG^#T7dLJlxS`W86 z{DA431$g-ktT7I2%vzHN5y4asd^~L_J)P!D+(G~s*MJmUrE|pOsyz_eTFJQe>A}T- zLtEfHhT@K9)1hcZaF60JN>bzu(o(;=S?!vZnH=st8sco@EY;&BdYwdnN&S=5pHX4z zerz}OXEMF`)?lywgiramuE^=)1Z724YSW_azKY~qDGLkm#V@L6yPh zw96V-J2LfaFg;(W3fI85Ko)T$21nkDRK!FqKC;bta$(_N{h@x7Ql~4vG1AW}{D3{j z)xYWP-EUpje#Lm$X?6BF(sD9*jU~1SjEr+f#~y~>|9)VPYVv4P~{ucD|JOpN>uE$NhjlF6bFr&M7_QTV$_gP?`7b#Cjp~A06nuYebcjr zR!$raay7La!yS5v5FO$HA-^0Iq+R>ie!74vu=g${`XIy!yNeo(2cj|eRu%D6>RAEwB9r?(mN~r?7e?KcWxH3s8<}kYpck-;yWW_ z_G<#Khm*f8hr~G+i39?4om?L73U=RkV|TF2C)Fk2Cx#MH@POCL^^4UP4|t{F>9#g% zbFCFJ#lRk9gU{kNvIW+NW8Jvk0(xq!tQ6CBD(Lkckp~elO!08&-`R(ha>GW*`G^KM zD{+hmHR%sWW8kBlCK8mYpvX8jV^Z2`hFt@CH}of+L~}6R>jS4G;__LXg$kX3`_7EV zq$)T1U1j4jo6GKf=N*zAJrx;qTothXeQ5uKS2WqZXuzUapV-?UNmNkn^}BD}amM$i zS3>Oy`?GstGkAi+YtdhAs)#0PK60eU?xOzaaIAI0bP!l~0o0ehMaOuoV1I-_a^V=y z3QwoRIM6wk@5clckY$0d|F!%VMRZmH(O?gBi} z827AX`zJOE6DTMC1 zX@i`+4q+*WEGWA%((Ajze+x0r5a-S?NSn?(-R7F8ni*NFsxigK$La?hJ<~>6Lh1^n zrSJ3=YB#3e70I} z!^HF@M8*{L3i7Vp$(+)gL%pse(Z^JcWo3=3ges9x`4VB^m=22ubYz^$YwQESSye6e z6!yv-c*G9MkjwkvAIJzH#6^Ay`2o0|xEX{kEko^)Wv+x!FuZ`v#uw`YFtDl~_#XT= z5CIU*vYuNGpkiu+&!DLRA3g@ShhRU*!!>4iW38Ne35A-9tn4%v!$Ccb+(POBp?p** za$DvV3H_KYY#EXF<~8fu^qn#rC^*hTnoNz--ua0-pUZ4ZBdL?ywl%cXwzQSXk&}A8 zwP|V>Ge5&yGVF1yYGThsovFt?7&po^6BolPVz~H-ug$t6`ohKZt)((XNl}+oHRd>7{R^D$OeHMy z4!LV{(O0eG?7Eq3=i!`Da0KH%#<-572Ji!pQ=RWndtog@iYQhLgk_YBVGzAvSnFK4 zU*Fj$*rVl`5N=LOGLQJJ&g*RIV}{^0A**$>Ie)9REozW`) zW+i&#zya!Fk!wmRiGlMN^)I68rSZkZ@uj87V%dpew-e2-9&gk!?#|HuS!1;9v!*rs>fTiYi>V!^x=o8 zD`cKdS?DJM!?;*#vyDm7j~MBLkiSeyV<#hnj{V_tA0x&DgOTnEa>}#C<2(Mnfx5!$ zX4Z5TwHI~fy1FdgRaM=Vt`hn+dbw@8CVITgS3zX~@K!ANZ;pqB1_74?m=gD+dec202T)D&9}uj<^0AP(nM@b6 z@|lvhy5Z6rqpg7}ea}$OMV^ZUgD_TQRIcv!{xHTr;8nbqOb#iP0j2Vn4GkdoSs?du zO?n?h4IMPzOm%;}2u>bI84H6{F%q_emiuL3{R+!FuP;}uUOxBxYBQa~1TvxJ%6B+m zxh*qn0)my(jrwSZ6kR$)?g=E9VmW12O+_+057NJqWf5ML+C|#JIxgGbHW>oeqKhLX z;fqv12oK~I=H+wpVelB)j*#W2p>mGHPQ9-*kLuJm_YM^*2!%Q#kt-t+YJwT=wrm5a22yAq<1Eld_E88A#pVap1|Pwi7gu(zZ92$-rYN-2++(KEN^t>mB+P zWM?vgS%! z<9`q8;q6>a)i|%}l{(t>475oTJ>K!pEEMv4Y!TdAI;LzY-?_?uc(!&$`crrH3Rv)Og1NjQ%Iz>@v8N< z2dT|sdsdq&TkObcO3RGorj<7|P`zRIPxKzqqK!^;TwXd%fn(>-o^njVu z2g;%7t=Q%MR9spvZYk*%7YyZR z6X4m)hHk9+dPlUGIDAUqrIW4|n$;slL9Rrbal1D8+Ef2nAMlHGCm>rF_`~$={lu@q zX2&vB1X2g~4M-l~my3@rSonGcOQ4D7qM9MW+WGlEXP2tEeXT~yRA|bY&Ni`$?T)%* zUibCMIC=FE_FP06x-LQewCa~Nxy>Jes|(xJGSF=}HgKql-|6b7R=;F{FA zro+k59Eb5f{PA=z6eL|R2nFXEoi_|{=UVtt%O|^cP7F>Si_hC<2KF6%-o5K5Ya3tM zjh?D48Zg&ADsPic1X~j%T9=;2kcYiR{)nw2ypAieOQm+Xh)iB3i}0siF?75vHh8Gy zP`_<`P4x2Ns?b&#^k-|e+_=sa^Day~PWXcJ$1V-9d3kH4MHbvRi4iRR%hO6J2`!ZP z;;`$|a?SDWu&3N_Z-L&vWw4`o62qEh4hsfqlg){c`g~$WUU^%fta~ zkUZc3{*)}&|Wpi2peMTM3on#YEX znQ6rRHD$IbPO%cb&bB5`5wBGKqLLSXu{-c@4GQp8K2LVi-aQy`Lu2&|th5VH!3$@k$M_vgz|}2pYKA~tM>skkcB;tfZtXTTI5OXVyRUjhR%v;-r8}|t(X0I zmRBsFkw>{U&6Ar8q}fO0jx*=v`McEUquT=Y*Kcsk>%vs1(*CtD=MDLQyuLkASUu37 z)LZ$f1A6~nl>i?QPf{4-%NuOol1jU_?0CfEIZ&RlUQv{uo#xS2FZi_5;)RKlm}@$B z`#k!ywaUn*#PS|dQ$5Z*V}O6-cEIoDps_Li;!N!|h-MQw%?q56PoJv#;ZS{dft(1)`>Q|7PlTg2ymMb>aMK6UxtRn{nXf5q zvj)(sWy#~@O?R$!P?f!76EjoO<1>8|zuCLA?wU{f(7Urww$wkiiMlIzb}cLMeB)eH zTB5X9t%oz@K-};;z?1oqk+gEX^a(9fp_a3n07i$0p@jvQUNn{B6T&hSCA?FavfN&! zxP7YLO5_w~uo6w>YXwzRMr9f+8&TirO+(K5!o?hc!qeS1il;{QFleK=H(`~J3(c(?kL}nVG!)E9O&&V_*UeA>Tq2L z_N>tL1Nd@uYM>)0k1r#z6}YSd3c)x6B3mxrPKg5OqU8aB@LvcOeM%jhk4Klb3Nv!+ zcIfmZ(>LDbUQbv!XdUM+36!7;!pv89{h zE+2hBKxJMGY?mG9AS_eu8Th>aWBuguwUN>ZC}*f@S?B05@0n@kN97YihdtQ0WcdV@ z3i7Gfh;OJza@pu^>YRSd7HUA)BIztmWUnWf31X@*y^Z7()Yp!shDtY8-}UH7 zU&+_PIbroJx2Q*yeexbnvaUrlE{w~Gj0J+lkOw?Ar^_D?%yOlEF4r#+lMuSJ)ihr} z&Xx9cL|fZqI@P4JB;-fMZLyY(W`lq8xKUl)Mwx_z?3(>+O*5B4jpj;4kS#*rNw6|EsM6kc4M9M@&|8KNg9G@l+mrPH0TB%F2 z_>6&E3DGj2{@APGQfbC~rrI=e#rRdbs+w!J-Ekzdd2xgI=;GyN$&=(2_cmF79sRJD zdCTkgJaL}xqtGiU0g@7Yh&b+z3#vgS;B15C;yM5s%#|y|zziEZPznOa%_o@Ty}y6k z7SYJKdQ&O%pdpn2+jt`w$T<|>4coHxfH8QP%Bs8wj30eO13xFx?v zgtm9p4#@hnabi6qjj8e5tXB^b$*g>#St?3HpVZBJ43~BIEVEwLdVRHXSmw+X z8VfW!a(K8%RWRHqX5;Csc|x^Z91t1}DFe$=R9;$F#_yA7ER2^W zt+2@O?A3yN5LrYX8)P>2)4W1fL(Z#~mf29dbU`mf!1WmFc)VJEI@sFSW~I~nVL#d6 z6$k9T1{fC$HfVndIG=3Y5Zm0=enm7})jc&84gVG82=Ac2MK?%Ft;y`%0_HF%#S>mv zL2(EbHuVb;p>?3Jnfst1&>ESm?rv$G;Cdp}ts`mJnes&fMSz6?G>e^)m_nA- zCe(G}SGeE`cN!ob=kMEGGq_WuJus8Fa!bw&8h$o^nkCQa)93b1kBSA)l09uXW5_@0Ez}$YQQbGYd9y z^0o%Rf0zc>_z2`YRl$5gT!)F{$LGNoM(eQCDd4<JqTn-rx&dF(^n>xpvwj_ zw1pE~U1lgSG0|v2vZk8ep=dHaN6H#zNwbKrxMUhb==F-&Y>~|)m?;pZ7Z#+8IYioo z#XfGWCh{`c-f!SHzSveCN)z3t16g@>TN0JJb8v%yu2;?Be3tn-gbSGi!efP#$A@ z?3-+)`zPV6T@hd_whX?ul;y$%HI%wCFaT)sp%E2+3%&!z0^{SA&hf74s&Lnq>ZZmP zf6ZuoaAfI#hq^US%4}sxGfBlAgG2Y1-P6%w9XD1cG!wSw-mB45;p9`~wXejSwrHiL z-P06qs&8_*s{89ITg%!WsePfXpy~4fwWqVSt!KQYa%_ujy0v9SzkjG6vUo5iydQGF zYhkZ(zQszXK-f?0Pg*ucz!q87C71!QWW@VRgRPb2(o_bAK>Uwxu(b+^B99fRGM93k zR;`SgMS$1e-d<4?N$8lUhFcqNF-$4zyr|FHD5qYCjgPn4sC~JjjNS}kE?IloL$zH6 zh1cKMlweI}T5a*`bH}dS;A=8>ZtBdA@v9Rzt(T5m6HokbmU^Kyxs^P=zs^QcWzTf7 zD$k~J5!fKpp9XsiV{_aO1uE4M@B>XQsaD)z>*LhNRGd7eVqis3W~D9wCjb(*DJvW^ z#2c~L+#hB`q1ivoojaZcsSk6M5@d3{A*k@%k(kp^Y4gT_ChdL?qcg$ZwZbb56Fk4qRkU z)+l1!g|HuO2(YHp(~wYZsaB2Mx3;cwSKXA?6Smdd7D5eF-_%)3B(#?rEo=<*U9nFe zk%KA+8&n|nRPI%jYI?+Tix(vxj6Uz&8PMF+Ma%cw$q%5uB{d5u273aFplxb;H9ov0 zw2iG_#Z1eN6Pz)#B56|j1SI^3Mo(5>sqZ}!4A{H3xYYY^5*4?&t{bu`#aeaPKRsPw zka>H>GX=TGT;Gv27m;fhWEcgbT zIriFPtbnx_oF_mdfLBl+NgH%f?g)Je@nTob4jXec8vs3E0{IU#^%aa5$eTx3LJCtA zb*rJORo;RsAPN7AhN}8OX`3SHSC$n{@k(VxHkxL!qH%j5Xm@(}vwX2vAaaXkBvK>$ zKdUC=)N7WmYU4OcYuhulzSO#-=(J;--QwG8zgWc2lzJ_GBaF;S<2&uQ>=a>>jo=DE zmh!%R3Vh4eH2T5SXn@FZ_C1z0a9qn;nFbIkV#bmm(iyz8IHi-*o}qp$HldE$Z{~_Z zWivAoXE;+(aA(8uGx=FdS-D7Yt~FN*2LsCLv2VU1n(LdO3e}99-bfSmd-BjrUT06X zppg3ejjt{S>e!IqzN_k$+RW+?i{JSI%X*xT^8(-+9>_$xA|BHa<|_I^Qn7j*nP0&- z@ILLGqRVwbC}BuWY-%`Jx+%8z(ZcK{W*)Tcsh*0pF6gQIebX88tlm6%de3x)<*^0C zr2f6|?|%~;PwpM;pPF_0xf;jpzS7aimEHIIlV^z68h`1{uX>|4HSPec3bbO6Vz+d*IYA=B9qT9#6BmlcyYcp zKt0&^lZ~^t-a7l$J@+;|S(&l+RZ#IjuTs#F&q6F7B2KiYCje)g&cwS!%O!HhWq zG>4GsJcCgM={{JQY(ak%nMUHDk5DIF$phq-mse=Ra}+xs%34Tcs+8!7x%=;@eq8f< zJgfTc%87+b^w(lB3TKY%wQmQU$buXdNG({!C%DBUXc~BgXV_Bw4C)ZRUfD_}iU+2q zoDuXC^aL-TT6$$-XkmEbXUUpeNqQecnZ`h0hLV?)*IZ|dPzaiSO{mZYDv82q_8Zhj zo%#j}IDdMs_Lb)BvfnF|%V+yTumPI@uVU`NP~!WPh7DEP!w)G6=QlHzDC9wZnDYi_ zGv%2b`SQ%B*=pT~qD|?d*XF5*&@*pFs+?|t$*PomL1Yta!$4uLG`;NPmjARn^W=}q zw9j>O^9SA;zIHwJ>$+IxI!OEzD-pRqwMQJfX1Nx!@al2*OD*VIKF@)*2ewC6{4Dse zvEELxjMs+A9-0b#%R-F2uFS@g)=wFF65SQghkJ$;ZMvcU zP-577y#5iCo|*sFH$)ndPQ8jMV7}P~G9C3(hgl5NLLKCycb_Sm?npkj&YQ6Kd3=RH z&i~9V<}c)W*>^yu3c zYwpnp)qT_pRYBHlIw@8>v?1vic7~kFZ|o zk#V6XfsNS?*a2F@>h{c1Ui1nz1)~f*)Ybk5!&pWEk|keAOingAsLKkJ9U0Ob^prLD z_7stuywxoq3(YLPAR;XHfr8;>xdE%iO$8Y)|X3_9k98Jao7h#OR1DWtknA?^O z{3n3AW8I3z08Non5I$OMfNc)XsS?H&4XDKjbly1suKE2bbvyBE>TXGx*IQ68JV({T zReg;f8lz65T2v5h9Ipx{&B_Y)6epo3^3WWS0Vv7o3P)U4w_t`Vb!*jjDVIQ6f}i|S zQ7MTF2jwr=QMIkdMSakHFtC5%P&&W80$qq+N;X-0Rh zjMX+(VTE8KpZYRaAD-2)ePvtJ==Nc6sVyQ=*g0Pqit{6^)<{KCus{aoWKt6iyWz;1HuD`yiC?{VrrWTYZ`n5BKX%E~dtf{y* zxldg<#*$`t=g2bK$BHUY5B2Nuaip32SteO$t4j`|cm0y#<_~v?yjcZB3!JR?Lt1w7 zBI5P6uSM9=H`}uw-mkAn$;JDCrdlAg3TGd!RAB1iGHF}|-8uky&?!i%o)xZCEhdl~ z=%bZbFCQ0Uf(+2EXn+-}BY&Bmk?GNtdh@)s_2cEryc>!)6l)s^V{pJ?%>ITs$!H1i z65IgKQU6kAj!HfhP81eo6fm;W8AS4>lCiOB4|O<8&g#sNWSxnX*9W$0t16m$Chz$5 zK3m6-y6n;iCpU~u`|N3^Gx>Y-9=r9&2 z^4PiDe1c4V9vjaPXY~stUE>4FhmQxWt}^6FBh}gCmyCIbi>ijZ#Tk=Y#CWPj_Io18Xh-ym=b*jtcBA z(18Cza`Z|;lEBGg+l#+kSh@-_AsN|&=^{n6T0Y|f=O0Q))RUl-y7Q!&9h3UV7yR`Z zX_@I?Oj3v1^UyuBEQZ+aDpaWooqpkS*{=?1vxh!t=Xf_Geirp1SHj84E);_V`H@ru zD(l1M4?OJh7rL_^cvcX zm%k)f5N;K7;WLs8@+1>-98N=Tnnqe$O4g)$f?_)&ggxjuiULxQzAqzfhaCFx_+U8c zQxx+@cu_fVPkp?vC~WE^)-ltd>qC({Y_WMoGeTLBl55A#N)`H~9&VJ}(bTN-+8JoP zhracvZj{HdBczXB=0x)0u|%}X6EI1Pm1c7upmLIDH$Qnq%qJNTOn~hGsVaf}_yy>X zTtGm$$5sTg?FV2d=>CF$ds6jRWI6+@GGKo-+-X5T>wBEs0S$@@)EYj#PImy)W6=Pa zQdmIzAK?{ZZ^)n)&V))dYtu(&sCV0VrHbKVD>6@Z3=7o}U#DaT`t=w28DDy*rl_at z?6N1A|KK%A`mBxU2HWVUr@MWT4zswtCTp}JFwc{@c|5mFM4}@Z2-?~2qQ=Tfvk+px zxhM`EblWGFx)i}$p18JX#4$K1%bTNq((JRCm~Tio6oqTnaVqZf4<25Oi+n*dM4TYS zz*+j6Clx94MS}IL1af2UfS5cBe2O?%-$zHQS7aN2feXPc!mI*2!-dE--Y=Rz0Q#u4 zm`%WQ0l*0o$x8hrBST{J#IV2G28|Sr5;>oep_1J>nMb9&x7BV8RVtgU^^j=W-JKj3 za=X)IS!kg!D_)q7&IXe|B#%APB|+MA|Ei5A z(cGC%)Q@=3ZxL}ER*^%>@t6c`>e~sfwQ_UK#@h??mNGbqpS;=w z9ug^aS+1A~9@9+pLxjL(jfnM50hR9X3K?k=(A8G`1iDJ>?Av_voXeXh3sZmcCx1X* z^H_uY%fzeA8Fjx02lic2xMEm`3hG2&A%}o&J%9`1YldJQu)8Tr_4<~x!BPdSz@dPi zai{_`>`ICZB*t)XG-Y|%3^c=rHVB5sk@Z%aRvj17ukbOqopi@ zW;jxlQEC+m)6ijilSfsxV2GOMUA2DGw8o;EEHtyj0l%c8%p2uSuA9E)mYkwnmoeIZ_9k5fW zsVAwt74ZCh&*2Kl1WQ0@8o>l!PRTe3Ag-o?(&@CQT&@}&?UfORxAr#vz;tPe&sJ-7 za9KZpZTy$-u+-thljqjviPL-XWax`Y6q+8NoE)D6b`L+*DofrfudlXEsT_{7 zlCa5Cfu4inlE`FSsmw+NbRvsw+&3M(&oVl8=)op6eCAecwYlHE&c>2fWiQjpOwXU0yQV zENYv|J?qSi$|$F7dSYU_jC!Z9#LGsfIy*Zj ziw*i1rZbGwasSXt(5qrP=K}_SVKC0kr<2xJgIi2UX~F!t9MxKG^s5HXE*Je1Jx!Hd zSwA(^qJA04q@O%aNrjwYrabdDx3eG=Mnkjc@a*Z+r-_o;0QH-nhkfLcr|UFdF}>3^ z7Iod8-?FOz9HKt0+3zr(Ci3wQzmQrs|69Lv;|knwgOn1as}X5{das7TVgjC2yjh$l<5=GT9kK z$0heP?Q7L-wNqF7H`}@#`vT}kIC}L2dF&^md{6F+@6Fu{x4HM`d*d(mu!i4vtKWNX zq4Cl-^B(&_{pN6kcb6SsJC6511aXKyz-anq-BXMwFtC@MoIw2`(^AENpmw1y0E8IM zj;CGZ@F5TrlMkXA)H42LWd%4W_utGv-L1!bc5{g@aa285kcXaa7@4?BDA4Jtw~y&%`Q?@Pz;F zaC0P5dC7G}>uhHGZtD+Re4Eo$#0G1T;hT@GZ)hxuoV4}GGLY4t=gDy=b&YSfv@Qb>*pwmMR?*oib?aQ5_{mlXqqE&LFGH;j}q9 zXeY@^&uL>2457vLDp#&hYZM|5Nf3g7#m*7RAQ2b*AjwxVx>UUN6UtV0iwxaT+&U_6 zly@u=84RV*XYsggao-F_CR6J*N(o8$<3pn!lW(`Tcx0B9KWg;%dXVg{=CVQ5KgGb*8Oqs z?xHf6Qd4O)=ix|(Gxp3?axO%^$wB~@(A|kXhh{hj9A(0_Q1~n`&C+fnoaRPD4$f*Q zErmC*=ZLOoq<57Dl6Z5$xBXvfHAT-%$$_Dl5SzzYCq{21|B@|2pRbG5aLTPB9-^9O z!qG3#eN^-E{o8#l{AL&%<815aH%t1_42xtc98SB>>u`Ygf+yAJjVfrqo;)F`6buzL z64}+Goib&ir4uF+JiIZdAww)*kA!CJ7>rvudazE~%TJ468ZquRc%_9bQEk4_kORAt z#<82P+AP4EN#^k@mFpbNrk$9lacuE1@&}Offu$v#Z?>wf&Zl>zWRPctUl~{;T_E{U zf+NbAo-U2}|MJ{(^Dn&c@8n79IS9pdFl9MJ`M;CbQqMfI@B;b`SCj`iaYwHWh03Sr zHf)%iUYvWl{A_zx<;RKb8y6Nf&ehdnCk2kz-U+rq9562Kin3-E?tz%Znv{0cPnmsB}D0&6tdI3z#x zWKKrSZ00;tb>uW|VC5jB!hf_7s1BWfn|?9 z8ndw4)etU_R%#(wN~SdKiVK4WBS~qicSRilt7CnP6~*^c>3rvdZU15YT^xvMA>6B$ z@loxN(>H5iW;F!-C1q+=t()giR%rri$?u*(pP#w=?l-AKZBgUac+IQ#piQzS@lahj zS*lqp9F)~5i3}2^lPP?5ug7k8c?9#2x34iNB@z-<)n<)k=nUMxp<#1EvVM)# zpp1J(MoqoW9@*Xb%HZtm;Ox?Dy}jXJ89Y;0oA=nFmvr7@-s1EGcAAfR3$0O85jK9( zcpm31J0v_zwuO95uW5iIABGt~CE)#BnVXmD)n+47?tCT`reP`p{j!X@08N8+K+^$~ z@}AF)#=#skLIfPeY7>X+fFykf^_6?b%9jre_$+91P9t?l9x7-GSl$zqXC?RMh?u<@ z;tcdzUmqz?@+(6OVj@E%MEexfZD_!l{D3I&h~&vf$-`$H=5?G)@Bf))!syymX4zOk zy;=QyYexIWzQwCC2H=1D9Q5Dp1}}gLWD>UFz@trP&0$Rl&E`@Ui(w1a|M(dq;h+z& z-h`y3l%!u4HyX&~{jVbFDWR|Ovc@^Fc44WsS~-_p0EMW({@dRWbQoL6H&-ukbHEu;6z@SvY_zV-ENQD;T0@#rCtu$wL+2zNj%LvZV?7UR0#?t z=3Bw$o-&VEM|;t(>Y8^74UzgSF7p9rvGbtyMccNp=C0P8EQNAi&{TvSt0doJzxPl| zQ-UJ|pC_)duYepGE{!Qt+zuQ|yK+E%@%Vb!0E8t@3Rq*?3F41*RWg1XRfZ-rWtju{ za#r_buP}|UCf^{U$?KkssJgV_jM@ziI%)^{W~N&nqrN~A^l2n{J@IPO+a6B*Y)kgN zH?#^rTuNR#H8txGg$DE8SJt6g>a-i0oIkw)Sv;6;1>ZhR&yO{OjamtO3w=ZAoGG}T z6hMXp0FF&bBhVXg)%eVyX%RjtJviR!=hT{@s0Xv}GPA?bXCHhQ?}9VbK|$?>TAN(z z?MIqsbz<^zv;O8wYqXt%by~CO>QlAUVYD<2sb|Ls!;AOov|cJZBiG=ng{dRujnNJc zQB}yQSR0R*=gYesCgBab$wpbTf<-J5>FG+J+vBkL$^tVSkyj*kLm$FB_Qa59bCF%y zTNds&E4q&a);H&jm|N!>1EW6QsJ~FMZo7UQrdXU3iRI=7tuz{Jbj*5{`aD;(&FAIm z%H5$r@_zIBxU56X69@vvB4aKbIl~b?wHu5<9D(K0`&kGW{Ve#PS#;(w?h|-k#?xDw z!b32~$474*l$$IQ`vn6zxTwZEJ6mmewsli%?Ow-cME#e!CHvNvn=ThlCw~eS#(<26 zw#*VabJQ=O9P}6H%Rur3dDShY7Vl7e(6pm|W=42XTW_dOJ;8oaTKDt%%s=g;pxr&S z-Z*pFWpJIiPcF9W%W03l4s;Q&{)C!O-24FK@A*VXS~x2UeAq*`;*DcK7q3;%EqG<< zwst-(pm|*0MLf>(j{dFy651yx0hSUQsb3i`Z>P#~B&-&kL^OmT7sKqadd$Q8teh-} z+&$8cZ`ZgoZ#`_8$wU*7@$?dT+4D}v6);Oo$U@tPhNyp3ywsjm`@29OH>)`wvDw2! zee$d_C-44WjlG{g3`+u9=E9m@gE(n1tfgknB%a5^#!v{_Hv3kS6R^>ZDHlWz#*{uj zt&f;`5I-vwShTdoO&aySG@J>@PSN^>9*ghmpXD?BV(@>^CHtn4Jtm!m>g~dywxo8} zdP!4s`??lkJ%24SkC*DD;&@v6CSO8d!Atkb6ujzaUfx~koahQ!(LQCna-codxtNyD zkhxvfn9l}SX|X_J7mM6dep>Q6X-qIw5NEnTHw*nEG7KbvC_CDcu}RS zgCB?P1Qw@XlhE6Fo1-q)IATE$g}kh^DJfZ8Vxzt;+Tx5|(h{^wqn08gt_M%!x$F-d zk=^ZhCRhGm3zT%#$AO*vA>>fa)|XhY#o*hAi7gozM!!oIR;QZW_mhE zfm4Xm)9I!$7d~T&kSe2x^!^m;f$usm5y=;TK16<(g3nd?T#N=&i$<1L-!>5}(PTEZ zr>!T_PFi(!raIGxPpqMkEp9hNbwOWSKvx-c8+C;vikGI zjNY+P*;V3P=+nUms850@=#k~2M?RrGJnHSf^Q9A0W1-=wOI@L9FibTFZFOpk$iy+L zs!aif4Q&1zUtGb-g#=ZifUjahjF0PvT9%(Tyc{cNda{=F)T8Zm-Z%sJ3eOv_17DB; zB*6FlKr8BPdBHS45!h3?JVX|{C3PHTk%}$Mr=ECUW^OV%9cQRxNJT)fHd#&HG#nG2X*lGY4qaMS zy1RTJa!Ggce`{ZC%A)=`Qk!pAP{%A5G%qp=CvBdfyH-ZMK0goos{ncc;9lBJkPoGx z9dKlN#RrSirVG^PdtRmx8|~MkAvHZ2f}aX@U`0p!B=Ay!Xvj^X`cT}Z;#s5;elbCq zdg>b*s-$V;(N7H>u&#DAd9ia8Y#r)Ao;-6XLz#s}D(!1E z%|!K~hOgqqtmzECbW?d^sK4!Zvp3!tRhFw7?X&ELs-{p~b<5TkH1AHHCXYPUBzr&p zd{=JWm%g0gNQnh<$7#8K5^#7g^t%z#I5O423QKW(fy zGctv_O{$jhHh;UhxUFecGUqYqJ*b9yo1dMR*UrlR3f%xp1^ZV4y7ncq7LaBD{OfVL zHVo_zgwu7g$iYGdS0K<|d7!5QC}1!*VB7<&UWvzOu39LtI=3FYnLa*1YOEJXyj}1g zYYO~x%OU*l0~qw4f8UM{UPLw~4{;0~1ODu5>Web6pL{^j`}oZh_l%=$L{7%M)6UTp zK@MU%O8!p4s|%t{PHsz{E^mIZfjjW3Zg{j$*Go>NG1Fx(m(}lZBtkPhnNg`U$V6#` zVQ5n$crv!yL#BCew+McbLE4+n&jdSMJI0kfVadEKgNhMqzv`-e<9Yp=LP^P_F7NhY zs~Tz$T?TEpD*5b@V*a{z=MBMITrFX7&{$;10keZ)^F6#zDuAyDHZHXUzBozV2Qdo> zV4&|-V!`I9xv&MmyiCxX@B~{+vpf@15>}P)2KJl69UhmR|KKBr9feOYE4h8HbS`-x zQOK}+j77X68K;0OKxGVx$2%h6=Vk1eQsiX=ke6-h;?FEV~fJjNPhMeY8v#+D6NjOp_Fb9LiUakig3?(P>zGmMhtBjlAo z?$-RG=4Z_r)IUaZBF?OFw;`Gi=|{A_!o74JA%6`v3Ja?8a3(*t-_IjfEm&uOpYRAq z%up$V9D6tEmkb&g(Xs?S#1ybBF}Wz>xWXsfKdx_#}KVn#FE+1c8w*!A0)zoQqN$sdu&o@)|Z)${Tz)JKQj%&vN^ z7R@P#1#OxEaZ6)Um90;+JunpPtT@y_{SY;@@2&4F9SF<}4T1TB`*oa#oZec9z4^e? zpPGBoi1VHS-(JYbxZY>^IO&tbM+Jp5sRgZ4G>8F!HJGSDDu7+B1kwOEk%te6nCFFQ zd@Ei^a;^uFq|oiu8`PR&`z!j;jCW=JzOB|hBU?2VYmM` zMYUt&199u4Lqo{W-%q_e^g{n#d;Zj^zBxESw(F}N7-8H?NF#Kh;O%YL>#`54LlCIq2Sxc z!5*!FQ$9aeca4^IcwwKyicX+?FRNU<0{U^Mb+Aa4xHkoM9+G>5$@wy)Fh?*s>GZt* zyWcH+_0{X=4rdElz3Jjim?rx?3SD@24-BB6*oApQ&|QbmnB9)RSZ(cCfcjPN%`WEJ z-vn;8ST41nvD-VrVp{bvSJHjk1wD1n8=+t+Lm>|w8aU!1j1DL9pABbp z5PbyV#Df02nB51y1(5ST0E+KY`_Q&UR7ssdisaSArPOwZvT@Ku9hiGJ61gXOPbidZ zl_fZX+-eE&jl7%5EGu`!iv8eiU*agWCR34vWRSBUMmr7=hs}c)3$$2y+c50WRd2MR zi>VL(HV?PtEBZ|qt8I^-Y1?VCdG*+}&b65?9+I)~0UIr10ZdOWd5Xp-KLB}@Sk9k- z98el=U=CZ(a{&*5(gO#AdxfxRF?GH?B}K&8?7{!wL)20>DHIJ##J!WD3iM~_DY_SY z1)_WAN=l%H)u)kiKdjJKOEwz7SwdY+I6KiB@#M9{%fHyqzWBYIr|xo>qczlZ?fb0O zCX0o7Y-nR?1Z9n7O4JQLaGH&phnxcgsWZd4>UuH;k|gDk#&fT5O^Oz)2;j990@KoN zEg(2rE*7Zuz)3jsV};b9)d*%c59&fW_YUgwiv|X~W@JX(U|GV=)>Wy*k8W&5yZe*A zEJ1olx*!wPx1Q}MwFEUznF*rCQ(%EqzC-ue&3{a0mctCvKIkYWQKGVcm%@#@ujP$0 zR@JX+5evVh_xm2e5%qAbF~AUzjRin}-tE+r7x{eblX6H5vZU$E@kez0@y z5%V>JHPHS~rJk8_T66l{mEGBksA`ZiyOyh&YKYfQ9{7XQY#hp#WHyf!_;)i^%;v^s zsz@g65b=p$QdcJ)T1VD4{CfCMm5z%$Uapa5wtnZgb(9$iJaI1y`{GX$dI3XWDM5td&e zF4esjxyhwXSc6{TnU6x2u`$2>qo<#qdEMtr_qLhOeUc-}Xk&>oh*P6*&mr;HF8Pq$(0n8U;eXZb)u3x%UG2N}jlL!1U+*k4HFz?(H&+JZEC$s^3NIWg{1hn#Au1TJemN*4U>2zt0-!JA!WkzABQfF{E zX_>SGU%m)>Uj>mV-p!H6)ix4Pp0qlI_Jg%NUJQ??1i*03N<%mUhX*xs0LcRTf%wti zuO1VwLdJ*rZ|q<^asSNznac>HS*;ZDxuqNw>_;VN@A?lve3aV7_wao^VsS$m+Wpc? zuD0};m0v9{6z;TV*OmQl4;P z6RC& zy!W#=$B;iMoY>0~wZ6+2oud%{a*!jYpdu7KAt^aW#QAtL`s*gV z;1%xgZP?J+wCr&j)2Zdu6ekPN>#MUk=9IHL(a6FE+BZi)I{J7Yd42KQhWAy@d5vP1aQa1bq+f6)l zm-a@%UK0C}Dj0VfB^u~a?`N2-z0wN3S!{&$AWfvvIbqRr!`>OOw4bMBcg;lIh>HOA zxTX;u=%Zd}{9_;KJpE-l$)4jV6xR)1+3GcM7C17+;kJF<{^~8a+?-Db3g07M`gFY@ z^JX9W&WHW3Kb`(c!1B-CaAfk(A@bZ+ zeJioz#n4l+=_7*?Xjp+_TY^;$ptbZXaQf3qD^c3ato5|79wQ4eGU4arMjuc_=5eC2ins5P<^OgyC@SBJTo&()G2|AJ)#s6f4pGB@7`^x zWiZ%tY?841cYR#DU2cw5owzoeOX<2bnauLGV57e6?O%;_3^*2(%ZX@@-BBG`t}+EQ z)L(psJINCd&iqgA=}|WIKl4RA>pqZoJm;o3eGz9W&cvq(bRKp+V5S`A7#x4n_5Rp< zq)`X}xolW&fJ< zhY?2;Y<(%Q<3sv}UQHGrBo92C4^TUsE61!O%8nlSfMYt_u!#09jKOVzx@hrK{^`Ne z`ro9HG@G5x%s?jvotO9#iBPX*m! zvDINRGr4Rcpxx5mUO8oeT@JYma+XNen4Pa^L3g-122*KtlWk_M-&61#GolT$N(O^u)P{$0M&J?o%=agC@h0asXZCM-*Y3*djlHKlo{H(|aQv3B^6{Ha?TpXP2`c=ebHl!aH9gT znwJJS6V(5CW-onPfN`Ywx=O%Lf1G>)`X$OB8Z2&dOM<^X3Kdsamtww%(8>`i(&Eq( z?+}AN0IUx1O(>RF@fZ|LTsVMB0%-H7NMKh16z%_mS7?NXjdb-_*^m53&93|t*Sinb zQvEkKBX&pZD=p}zI~UMS1QW-qLmsI-Sa<+6{BqYWlrx`OS!s*^%-y1#$meG^uox`Z zXc$PB<4pTTU=6>=WKa`@o3g%XLkF>27nt=ARa6WGXTsX}UK?!Q+b%Jv<)5H(V>Xjd zmrimR6L@3W)G)QnFx=|XIx3Qjrm96)exa|DdOUbI4bHpo-(1v~Qf;n%E?AEXfLMSJ z{|EG%1nKH1Tu;*S0mcW^2F|=g-~wnK=nN9R1D}GflA_53jDt<{ zKf}MPmWXVaQw&;1Td7x@O-+(sE}!9}-d~>ilH^j?lat^~AnVMVR3-ZH>b-R%!D2V% z6Y)f-wsMn5ozZGDS{=|uo085;Dzz^iHf7Tnmd7*37D+RQ#|W1nMja)Fkr5~Lz+tp( zv23z$v=w3sXF6&J5->f9hp$x05uA%yR_9vwIlVife~!jBAAw$HJc|HtK@NciI-@;l z`~!H1t}3EEb4(6wNff|WSZA&QeYBdzZb*^murWz0-2;G~G||;?xavL!*9+1BDS=hz8Fn5*!_Aufv$1LgSl3Zp z0j+>*#@EiaVrgOm(1KSXl0R%wr6b{hG~hBQsrpu9xo7?Qel@$LTXO0r1X?D3_Ug_y z$LUA;I`*_)iazc~vY8-7p$h8hnXOyVFPEsNqA3;ZKh|21c_~xlE8I^W`(B5JqYRoB z6Y9>zDtFcGwQqLt|FQF9N4fUDsgLG>RWT3a`52EvJqoi(|*$$9n93X&K zh;;#dDYTHUA`ys&u1Qb;E6o!ykqej`6~QC&(MyceJxb%>?f{;XtY6<`KtefRYuod& zig^y#RH!Y}(GAPQoXIffu^uB(MYSU-v&DR{1TCdb!CQc*|D8my%<5DGZ|JV9whnl%KUuz;b2J!=x$D#Q$K#=Pr=;E9 zd$skpA4j9l-}+2fD%(}zkH_+v^Lf>ol-1{?zBHdZgp{&`rdM4fEZox+na8DrFuCJHN2D=;{K2Xql&4*(fy{=ZsM`Rj=An6nG~ldX6%EyB70 zXhx@OVVyCp4}i|J7}1e?F+u?nWA%x(CWsj<=EQ|9nCOuD!DoaWdVCJ>0aa;i2hRC_ zgZT8z6!iaPhnHb5bq!HJ)P7E=&$$T5Y{$0x=&0^u{s6})9$|T07Mq-_Emet7AJPNf zswV+iWb^Sl4Jq%Cx$rLbX1!Dq1H?QH_G{=pQ)T3?F>nyA$EgXEz#N|j!@SlTHHlP>uubx@H+UtczO(ualwjl)D7h(xH{wtdd7`&ACf!qo4pTwcJf0b5mmeFwxY zwGaokLUr=wiuHkpMy#@ICXfl5qcD$vkmJuqh61c@4cwrk8vG;d3e#)_D}6DmBrL1j zwi$T!04M`oJC01YF$QC-0TwHu9HC_SQ+mDF80ZwMYRX=7saPDFuxY-&e!i`(T_tVR zXxf?NQkjc4W9$;?RY3!ctR1C7EOqGs55|77-7s;=F48D81p2^Hc!ao*!TkASIm?IC z->AO!I?hx>IxDluv(ZsanQ&Kj>8hoRFJ8K8a%dm_;YqcSm%hwoJYSt!7(#t-{7@LE zLT&Ho`L*vge)g*ipM7VDWwYT}Sps!Scm@rgMuO+ixM^B}1g@PfO$yk!gJD_PJ`wEI zRuo)ir%?QpOsxtKCKCKCLF>L1j;K}|W@oEHKV5qJ?WLbm*YQ=Hag7MQvwr=1n>{{z zPv5m714+a)4yV(R4$eyDGL=T@K}5euG$M&h3$=24=_t=3LqF3PplfXZ-RaOB+qYBS z?dUl6aqTMuCDfM-sBYiBebg1b6_JB?MY~5rIILxcQ?K6#O<1sd!sCvLy$+Z6nzST* zaavMwWdiDq#K7n|0Ee8O7=hUY>mOV3>WG&W z7jKKd)aE$2oZ5Sp>;r$r++4NWxn%RiYeq))&RsY@KJmio^*ZSwOUwUD^OAYF^^)vD zV9B+y0m1TUaLTW{JMFrM16|%)@zmlx`izp!FHUbL{CC40Kj1aI(Tr`fke*{w51V4$ z@b?yXC&2{7;vcDiFdWKUu`>x}J+h*q0`^|@#Q|DgjYw@Vwg`9|D?qSQa775-geD`A z>1lh_^UwcvFZBRHpzpk@wpJ^fvNlgSGZOLzRVbwP zK^4zig#*M^LXwUZ?j{f3XU@o}-RQ{RhKcPn6YZ0(;A}dO3I@2H&^WKw&Q!hD!)|`3 z@dv{)>PAK)wJ9i#+7jql>J+ZtE}_rl1X%&si7Qx(yt&rP2wv3M6+?di8*3ggZ{n2@ z2)iA{c1H}Uuelv)J>f096>={u$m)K%VnoMdP{2GZbl+_2e2SyfG{_>J;;=~8SPu3P&?})J$q3K_ z#0uZ6g`}${};4LpxdN$fIGedn*^J*8n_pR!Cr(P{#0y;#`T=_24pbf$`VzhytVgqb= zc7fAsJw9+H=v8b{@KCHcaN-V5%)PY4fdV_=h$gxhSWcuD{BoDjXzF+}z-TiGS}m@M?cs3-Vg5$?JfV$5pN^;NuKI z#;52w23a9Y8Js^on-ph}1Qs?(pp}LMa)9b7PK?0DD*;{Et6sK^rW1j)Mqq=;TzkHw zrc;CXO|4FkqA?%nxTk?&oqK_=;)*nbyEJ598oCSZ%A{4l!aT!Lnq_@iy(2kqxyqpPRp;V4(T0^@(?v-Pf0UD zHt-A9XAc0zhHF6Z4rROt4sxJtC2n%e9Bbi2BwXxT##{sB0MHQ&1xBW1xU7@*siEk0 zWo|047t{;jG&LmdCnxLNznig34Cr^Ue5g{Gar>xe=9;5E?i8ccoc{w+;}rbR+St<| z>ZtN}T_xZ5`01PY8g?&R%_AP8oq!xV%K&?;xLS-0@W+<)$(zD-r}Rji2;RVms(e=29lKf_Qf zY42xbT{6qp<(PQ)s zU;t8VxJL!2DqyE5-g81e{=*w5s2eA%<-)nS`J2DDUm=`ks&$iA>4Z>u;B>!6IfAFZ zosP#3gzRx7ayb)dmb%fQB9J93P{4egSz=F1;c};wn5$O`3lEV;elW>xnGdUNoN%Jf zYqEQ&wrgI;1{;Z6s6&>(#!Pd$Dc=+M(E&poMgo+pgny04ffvj$bLbgz9BN`*pdIRP z{{uvvz|(LgD}7cpW5|FJVo;<20uB)o?THl2glw(4Jzrf5*_%Ne|wK>A^$9j7W^pwYV82p;Es}G~`?%Y6rBr zyn+0S$U(hZ_@db}k*FjdhDAtv!B8a4WRz6oy}9Z@d1_vvx0{?!4Y=6E#!{l+Q9frh zYHV{_pJLKtP#IcV4MKzdS+~XIGJB|@&Y-=a-WKjOx0p;Vu-bcYEU>Zr&-$FyA+Boa zfW(sroH#}@aN&RocB_ztOsa9H%0QezYvB1vIM*Y9tYrdf2{6t!ybeYuVf9#qCuwJn zy#hh3mDti!KoZ)Z&b_x9uaCotIOOx((Ik zZpXD$^P;v}JSayG$oqM!$-rnKZfMW|)=#jP5ez_Xs`n-0oa&X#Mb5nv6RqvgP=+ddMVSZ$r zwN|;LGUzW8JF;De?s4o+daj&#+NILespC#eb&1FE*u@&URZOS=o)v(Mo&tSc#J7rj z+34XIc83F)4y+Ia;aDu$Fia0z6D+R4xkbSRqS3mW4!~k2lCHkNbyMI~!*h^Dy!Ujb z+?0^Y16s|EUO~0Mo#RrUmF_yY@Ws!o%d9h{I_`+j$nKv>W(YCy&g7=oH*bD@)8u9t z7xtg&a#S)3zNJC;U>74GwO%PRX=k`Y)RX8`_(;9TUbvZfz5m6Stm(Cmvit6hq`#y# ze3eS2u7f+c{n!>M!MA>%48t6%H0`5p!Wa+~41xH;KgjdYJb(=ka0ZRx+8v}QLMKXB zbBHUJ9GEJmpx3Jd=YV&!4kLOHRIPE%zmrF-%!(Wau+jU}Wuy-B*!&C2C6+30xl>|a znle>W)1B5@U8nLFUc>q4I}fG!43ovLGun-5b9vb)S~n};hPWb5dD2f&j}k=Plc>|x zO|VOYQ@%SyoG3R4Q~@I zat$yNEvqJISU3~KoWaUbF1E1H;X-?#N%)TX+~0Dg52pkE?UBv5i9R8EzeeH@PhTh0 zvL<1IBym0UDN?T9(R;DNZIJt`b5IRSQ`%ldzRuF5oEE2age1GLkS%=vOy^TAyoR^y zUya8PB@aT-3YsVwyofWv|_=w2uENvv*2S#bg3gYTA0zH@e2P0 z@PZXBPAi==Ka~NXxK{W5&kAM*CS1YC9n)2Hak;T=tE6zFJExPy_Y;W<#4g5r6sQ$(g(EI+m)2og>CXAnSJ4z&OxNYJWCY`nvr5G%VJ$d1tB<-!?KRPnfk%L=Wo4jI$RB>{ zwEl797n>RbM;4xQyA~E)S<&N{T(WVG%Q%_NU4f^Ha>j5qk5cNk{^E--zCb^+XsHBX zg$d_kUDI^ZQ@E8pa*sKq7@CKzM45`za@QyIuXOPS-cO;9A$O3POy8PL95eL0Ma|vDL1s)*mV#2JBSG=zA4Lqc`eBG zxeVHUOw=e#L9p2;Q>|CZ>|a#-bD9Meb&FmVj~goL@{kzZ=9D2ddzwuOMTzc1PItg42>fI`2#xR1Rp^YBrtL5Hue|P&f?p zA&pzOC8KZY&o#0>S{5H%PhGx5-OpEZ`Vpf9dM(~4Lju&=N4bbcFSp!#j z#^VXB1~9ScFIenh?DyFVPU3hu(Kp`@Ev5h3JwV>UE#cMV%3TskQf$_+xEzi?9twMfc8klzf_dT8!xFVC z(jVzRA! zs%h7@Ife2bxlKMTZTC!NtPW=M#%L_9;x%&AX4OuuQd?8j&`Z=FO1gB)bM(%_t;DHE zw~3(lmUHK=sWFHTRnS}U6xj}w?QupD_XRcqeQ8aCLm;eLG2!Txam87HWh zrd*m=yv}!(`a7g$O}`-8sB0Re73X-Nru{_WBr#mLlz6r-+MLN0be4!@To!N;GPIFF zGBwGlzpXV^727P;`9dML9@axZ`HrVbq0=$Y083Fe1m%Zzg}=(PJ{jh$A<7ShYb}-5YU)pwsoJVUk0tL6J9E(^N@YM~w#k@a+WoPa3bld(wpXMq+Nj&f zAAya<^VA?8|ING(I3WMdQKxk>?Z#tQ9?UT~FxWr=u2RIqVZItz+*>CPrp|fZe0Z$3 z()P>u18nC~2_)kMI@aJ)jiz_fzG2tY)buN#yjj~mcpk++w=y<1Rv&=j03(WkE*jjT zGQ_*5g12}|BZXtcyPYppiE7?$<=%H!qv3I}b!0cSFEx>zrDlSY{c(dBeedroL41OG zEow2xu)fB)_>Tc&715oCN$j`7H1*=u;Lb33q`-az_+P7c3BW8Md24rCO+j+w1@vX% zW-r@1H`h<}Q_{C5#>V>lM@EiJZrL(7w`b4k4|#g_uu+&=Agm5v5VGm}?_K!Yf~N3D z&vb64db$~Qezi7FSI^|8dq2&;(Zr()GgzONtn+|>^BVNP6zBb8j3W&`PW?LgF|a8x zFyPuWBh&E)&T7&@2Ka`c0uWpRn9Q{v7+n5Nd&qQ%3Xv(e2Y?U2D_8jUU);tEE~LJ= z5Q(Up(9C)?N8NyA7f^q?zfE=3_avW4uK59R@!I&Dl`%TMDytV7s%0HIbicp3$KP1+ zR9Gj(VJpF0W|9nbBH_*D0=}SPlSB{e1H(oc`MS(rkCu!L4o8ELI$m#se6=l;4BF7g zCex7dJlOWCU*g7j$~H-rj29ltr+Wq(S|ZLy|D#I3$YvGO5vSX^(5S|1!AOAu=!P*u z+}B(K5kk=`tb-iYIsm`1;jlYaOIUGu08fDipbJ;m5?BzvVJC78E(O03m*TOpsz|KF z_vCfA`O@N`P-0Z5WhX8XJSFjYhCD8Q4bM6?H7X|>9_O$hJiSw(WppvYReb$zxcxZL z+urF#nWk{NtkLl4<26YJ34==vC(!5_iCw^ ztKV%dt@|YRKqxdBx_^9g<@7i)-%)N|_Q18`{(x^m-B2y<181Ob>_V*H)~<>cIQkI{ z62d|u&{!)eDH-UsRXtW5zh-x=0~`#V1_Og%1{13yU{)Z0V1fJsn?MxU>|C1dC9*nyHk`s@!>dYdbH0GWS7KY3?_5)Jx4< zj_pr`<9zC;2DhHo!VWpO&84tu6d{44RLkWFbR`-XA&=1F`F@Apw@X?%?#Y;f;Ch_m zm+-{`lZOwq#xn;Wg5uL!&>47I92C94d|29>JEJ!s`Ui?ZEJpj`^cVUS#pn%$ZEgBK z+#uY*_n5(DuZ2PhwfZ| zCB-+^c$Jl|ZcCEORhv3>@!?^xrp{2P)#AK3+xT2Bul{%CU$48tt(&vOqiJPHJJ%K# zSjx>X4I1;D{_7{9Z+if8ZPQ>+*RR_Gk*o|ZlXg+Db1T79;o<5a6ai7f4*HqlXPBGL zLY=`P0I608bw<}>U*#Lx7OcmL=EX^5x#FP>XcJSmN1#IE8#ZOCv(cGss&%a9liJzd zWtm=}(+Th%l_ds?U6qqVhXahJaO9?{EQ!2-fBnN>-g@g@cP*S+xaXd4fBW=(Jv*oi zPQk6b($a2dAnpzB=lPVXQzGAE;6s>MZ8bX_NO5hSwE;E|64x2a3f)T^= zkiWfWBH7(w&`bs+-L`gHhYxNY@J)BZh-%;~_0E8++zv4T@R0oLZ-b9K3==Ar0RcD< zTU6-!`(IoL(9tvzSwO@ybi$#2(cJ^}z9#FURq})7!U{~mcEIbf_X0~cafLp7pMX&~ zV0kS?5|Z0g83w712Nj99G8|=5o?(Vi8-qB?6^*f9t*LFv(-EQ|Z zSt{ghh(o?-pXKFS(JeujNog=Ph)Sd~e=U{C zRmE~NPRD~l9Z0SpVOk7iIHF_hoIcq1te z+%Q0n3pN0PfhXCZ{^-(M;8-ZTr4z`^h#gn0(%i{DGyUrfaF+nh0G!K)mlX9b8~vEU zXK_7hO-LkW)n_G@8MdS}B;unz=ON;vJ>Z0ukR%5_5mIX6@RR6IwYTTJghZxLg~w+SHPqiWsL9=y$)~yVn9Eq@Tit;wSPx>XdH6tQn~m z$vkeG3(wVN`s2TUMj?iyBV>}F3?0{{jyir5y{NqGZcvI$m{0kAs1d1!>X5;86YCb% zUAmH|C|32ux(E<$pao`W8BJPH6`(c1XDKo^c1*DQjaQZe51&zxI3@;BDe4wl1Za1B zm7aL%P4VooN;-#D!8)fEzkD*2SW z#y}_+;4iPJk5pDgYEpA@19*rwGxSK$bdF9%-RWk(WAwUfR9$LMLz6o;)nx5+I=*#% zWg{{Ow2i6xZdG>3-m_%P4OTf?mDvW!7>;oCmaMyeBo}PbciGxHYP`J-)bFFWWqcR8 z9`T$Tvn4JL-)~doO(7qyTgg-$-J_((d&%YC2T7o&xL99`JG5{<8Rnv__2B6(vS@L!K4jCZ1=0#y4=xV>0Js8k8ZP(4;wPi0OaimP2X_97suQyu7Iny%)9+a6 z`2(RHXx z_ck3kkWGo|c#g7`uu~wDmx~;eZaW|Sl7;38MpjtTW~=*Inb@wIOyu}t5u3{dabwL$ zs2*8T(Os5P6#mnY6fMY;8bobi6R@2-;Y_7m^~q(qKB(3EjdJ44N>o3bty_rld;Gq^ zU}EXP#h%^Cih8Fv!g8)}vzB!5w4I#NKwC6eqmD{b;^w827A;H+tE{Z-T^PGLBSLnk zSEe2wV4Pc3+2^=q6uO_(Y%$km9;Cj|HR+PVPQ$tGjUh*JhvyAVjw`U(M3@m>krT5@ zJdu?ll3|~LwXTewJ6#V^O$9`f&Ctm@2)wxFbTa|`!u9N{umyG=;H-)&H)fLHgTy`o zws=K9z_fZ4U_jxetB>dtb|9ZbJwLCnB<3g`6Mdh`GSR!Fs6-nJv_~WYj;2K;$Od9g z1G|*6o3pLcb6+EvTlU;@hz%Xh3U(hGR!DDA%A2HG3W-hZVUE7+Mm}$V!z1JpXuTzA z&U(cD4bB(ygPg%?OcN>0t9k?QG85!;&&cOL1J)~-zIxfRGZ$WDW;)sf9)~sx5xE-l z0Wndx!#Y2ow}}4y%rpP>UmJh@>z7|fWZ_!s#~`vpu-J(>w6DeMJC-yav-aI@pWU{P z;4D%vpv3B(FgyJ)YxCI6bxx6~!Q5F>(`jxnHJq${rGwS>PTkK##t~^o*3jsU4eP>a znL3I%M&p=y+z985vF*oTPfI=c$+&)LCAwY%|KQJq5jSvU_|xjy7BvvY?m=83mc@7M z9)cFdTW#q%kxxOaeS5$QWlAxkn-W+0+V-(|E$!_SgA=2p6N6pMlDDXW=FimKY)6FZ zfdLQ0Dmfv#>88*G5%;GHcaVqfcV_-EOXZ?zSo!0@m09?cUM`f3xC@uFZTW_(*M>RN z>E-jWv&)8kR^KOI1}s_yl{k1G;S6NmuL91+e-r*IX}=1%75>g*9nR{^{1w(+1?up{ z(pUP;9rCch;yRc+Unl})L_K1on4 z7Kfz@8G~_HR+p?SuPh}uKY8fT$&(xJyz}a-@23h7Z2cB-ILIVFS7rIY*4fJiM)1rjpr|_W)l`k~6r#<3XOjTqe zGnQn$K_>plA!RZ8SgbOEur$))8nw5l%jz5r_I6k?W^Zu7q<}JYjs6b}P2vBs_cb?J zWv;=Ul`|V}c5F(7Qaim*Ds@Sx!zBh73P$DzuGpxQK#L(M1w;y;i4g4Cb0prqg!gn* zfmQ3kwGivz2v$yI#V)KIig>ly2UI_}9JpLY0kRVj0VJ~Gu+h|C4f&Z6)xnX9Y_e|x zKxYRegv*eywd==Nf_L4?%2C7qw%$Fq(VRx|{YYd+-ceoEHNVL?57fdDrEvx}-^lgaY*y}83&7JAT5edBy9HT|6 zjscD+Fp7u2LYN2tEKEq%1O5cB0zNNRQekZbJ)4-uxP1{`BwJ0>uN0Y_m81M;=WHcM z`Km0h>{i!G1Mh$F#T;G-@&5a`qiT-&E8@RTy>Q<2%c|M#-P2ocmhCNBs0!DNrI3A?tj%IrZ*w{ISO*9f;9{#5ww z#CUM~u&}n>X4hHdVDQ-9*v<|W%;IJ+#B!xo#mr}D43D+W0Y1yi5bvpI{|nD1#FHL@ zjM&?-0~^wIZB?1XFy%0b;V#1jU&(b8of(KiR#d(Oj)GoNu@Xtpp6{AN^3O=#J+lY- zifL4)mn>{rvTMe8(gX9bYjG@*S?e zetS>Bt4l~G#pPOpxxi)^vhk?j9}6W^uw%tgREA>cdTXlNFHp`^X71-!H>QHIpCYyu> z2(-jzx@J~}7iE(YDVBGk@vzl>c4eBJYpvQ|@QJ@oc+OV-$(Xb%)EV!@r zql35uwTmRj6o)h%Xzo>y0YV5cL+BNxG?WezWmS`R-g)@&4=MJ0cilD1mo_q-p$Ugg z5Q@yqY`lb3vg7vx;ZDAqcxPO|*m=4S3S)=Z(0Tvsl9Fv)Hv0L64w0wTuVlq@x$)YG z`~-Z|>dl_nW3$oR;zjH4izf@$kk{O{;PcKn%}Qg2HItW3-q!e1e@Xv;CD4K^=*O@g z_y#h1&)(oV2cW*iTCa0~Z}4T&VW|WBoE1-qmOEe?_z?&o{S7I@@fEf-xQ-1|2VR7q zAn6wu3kbh4Ug~Uw20#b9V~w#sWO(8;Nf+9z-=`9w?D73enVwW_WYU?cX6cNx_Eg-J zR*vmNO}}1P=utR_eYN6Bb#vH-x>LDPzZ;Q+GUN}soWb(wdcMT2QQMV5L=HnAx1jK- zrb0R{&FIn4)lbZ(=AOP4wbd%qmbv_3NBLm90sg{anXXd8LE0Z=eqrJ1s)a~ds zbT2M4IVC0Rc7iA~=nGHCM6Dxb z;;&PP~JI#OV`bh_; z_m_~{N>blxXoyCEP9m5A@jUpZwSb*(Dk4<~*UkcF4&l&>-UoWX$2UT5j2@qXhOrgJ z<`x$+V3NsTIvaiiM3l7iv`T3(Be)W*n398)Qt%oOQShkXa}45r;v}+|$K?<0D>;Pt ze5F93luHO`nVDoDhCdP1X~JR8AZvVEC^6=8mz9f^)6`DD#Xy z9jypvg%YdAta^3UEw||fjP?KMV`nzy++O3%cWV31TH>MBc4aD9)+*wcVtj+gW6MgV zUY1VJVlY@1cWFmy=Gp5%-xzAW;K1^R81$9gL>@os=-hXMvx8dS^h$e4>#xhxhCqL$ zJS7}vL(HbpN&ACx3(-dixxK6l>;Wfd+a{*jgyozKbiNPrP{W|tMxo}hM z&EXk_7{>r@PG`_ofGIX;03a%m@SpM)Yc&S6t;STQ5qxZ)fu3hNIk1UYtD!4?DP$ix_OmB^Kz+v;B$ zWOe*DgKTwmb$2%6TTxdE0pI%(sUpy}lW!`Ry!Iv$|$n&4e>h zn2CQYnH)={ZivT;me`~`p^ql&97eZgGBysyl#%i6S-fwr?$sty!*e~Q4}Zru_!;#z z%+f;>-+~*>3wRF6<1p)00zMh8_r@K;^>8JtQe;=qWxm)okgWP*HfBf;5-~8sqLV-G}5cly^#M6-M`>b%m z^}>?s?db1UH8D#WVhYsA=Z+Btk6^jfCaBUsaxc*k72eX`j-<}s>grx+Cq?c46ZfGf zb~QIsmrPA*1)3LM)bL~_KlXOiy6Bk)Y>0IqglnsXYs*4B*aX{SyYRGq*ldf<)QUER z14aA?k_T zSaN*p*74+6ZY-y%QaB1XlSl8WO=rh*7gWC0#TkCP^37cCHhMN2lg>LnO?J~d6JH&4 zZlGd_xKfgaZ8XSY@mk>f)q@4R37(@x7A|YW$%DwUs52q!2yeniX_LW=)+*I@c(;D! zw0^R1dLbQgkM1vj?`M0Q9=%t3|j`c{Dd7aMd&7jN3gI97f>)|cuk~D1}O`;MjE<>ZfQJOXY~%x!aE@~iHCZw zDKs$-;=om*cky5oUi=@<-aonWE9hU$wy$bJS}y|a!H1&L;21Vu`>)~mob3#yE}CO3 z&2c{;5>h`UQ0Ob-H1##>HFRQ%-$(r(D*LJH(N9{!B+Kp_Z*Cd4Da!22R}Qc%*!EK%?(`7&XS6etZ!g2_aJ5F5tLm2=eGO0M13 zpaRS|!}MHQ_Rw1Y#P)vP=6IO0hxfuSoE3f z!yIF4cxd|a=@(nZ>?6vk^Tlb##dF-CMOZENK>GBWd$!|c?VbQ>%HVITDa5F&t*5?U z^F}MX?OnPKjtkfI2wj&Np!3AVp3CC&zW%ecIdCtn)6Qsetjn>1q9g4X4g%q4XI~b+ zObO_BXk;pyaQK3I7ol%ShL&=C*qGu`cz^!I7eD{`>~8{r-~8bZh+R00$d5n%IePM< zi%$QMr(yN6G(6&oi!K@|{QA9}AD(yK+|HeI=TThZFrloFI6=K1Jr&l39QtZ)Qz|uA zJ+99gD=UpT{S#X1Q1x3Ktj=HLP*zWU@{fOv84QLI91s6zE7Vs2rXYnG>`y{HtD5e| zi2*iK2Y&XsIKzf**y`zliaT4}7$CYBkpbX-#p5|MV-q_u>%iq?0U80xH%1(fu*Etc zQH*3T_K8))ib_4(kVIsV%8Q_-3Yh@%=$qDk&Gax>{v=gqYssoW$cqir=$KENrV)1QYrH5{4Uf z^KH+UezG4i#R9pMKxHDGKq}{}u%AOsWOZXL=H_~Jtzyg_8?PRV!)>g3{I+VKuMBd> zZ$SRTwpQ8F4VdKcx^bMr1O-MXy&MiOnJ^!n-ocDxT?H^2tuqseRlFUZSu-iXItq9P ziRFtHGfYofvLMN+BO)=(lH?mDT)y8_;gnlSnAB}(gfUA7g!~Sx_BMj#nRwh1CJBp) zAL8kzrVL3HbrM9Wj{%}2MM4GjJ=Dwz?Wwj7tKB;T?OhedW?cqV4qOelySo#$som9I z|HpFQvL{z*mTm9LG=F|aEUwoZkydPnMO84bu1f#w$`4vgD?jS^OHIv4CDk?1qRWfI z!OD1(D6B-?z=h>{{g58)j~FoZSHOodL9G<_o{Dk@{H z%2F9DTN)P{sZ)Ra+|=cAfqJ3yC3gd6SqImJdxgi=%|RE%+SOnv*FnP@P;~;wweo$@ z--5?*qWF94fSfsD@UXzffR_N;39A2T-^;do-f;Hu1UsGxI^Z3vv_?L=Mab4jByyDH>p4?QwE+D?CIRp3>RZz`s*f+YbkNXx z#N514J`*Bq4s(Zh@H%tb8(MdNe?~fWwa2$TkgKTH%QTI*ejxM87wp`3GS=gsoY{6c zZ>eKXsHOguc6RGKb*K}zdU)(_>xD8Q-$gy=+3l8ix58FQ?m83j%v)qD*y3XR)Ch5Z zCs28O-5wgRgsM0ib;C9(>TpD$Dq@9RSZ!c>)0n#hm(*fKL|54*pbs0i6aWiBu>{s7 zxULd-3vZspZ(Ausv|@MfOtcFpa;9A9;YsuiYN_FzcOgQP2;I0(F;rfYXjI8Mpngv2 zX{?Ub`Nh%_u}-bfTckn)J=?CzFP**}-A;|7>JL5;QKw;R&uQX%??|7j)l_ij{S)#k zJt2faNGzr{9*&i#65)tqgIp7|*!(8&q{5rg{NF{K)H$6?C}i3_+s`RkYChjR7Me^{ z%mfBP5?i)CR25+(#A;(nq-bDVpWboK->=nZ%GK&O_4+~Gld)Yj_G!mu-IEdjdiN7b zdB){%OK>(r77FefQ{p|+&_a!QS_nAHbKozx0^- z5v~j()wfdZkF5vbB&8CGhMb1s;rie5-HnoN`5WF?wnIK2l} zr=%?OL%ZEby`Fosoz?tK%Sow5p`<c@7EqH87#i4p~Sn5`~B z`O()W@3O^{vL@11VArQg$C)gRzC$9s#)&N-mhijxNNS#+vsCZg3UZ9o(M_Sscu0vig@nk$~f3b+SU27bln!$dbd;zCEH zGfz!PGUBS9K+n=dZ(E%rA=XUjbV8B^rbJoA;*hy@rj_k;oEDj%}30dyKRpiyziPN&-+V1Irf$5l{My%Yu z7)WHA`lkE(rfaf2!NfVUQO|PytL-ISZ|7JOf7a!E{f2&h``*eZZ#oto)O6dXrfMu& zz8V4*yu0N|h-v$1%whoOG_&r?bq8_vNwJ)GB_LgaRCyZ%l7&tXfX4Pe#=YwfA}! z=U(df1o|t#^#wvCXKxorsh3`Op-|3ax3bLT3YoZGA_!KaV>;b~9ns0!8+6n@QM0y6(I$O0+UIasZ4$aYA$s|g zstl`7zO-IdDq^QHTf}wSg2Ri@6^iS=UxvDG&I*#c1#s(K>tMd(S}zv32&;iUPLjci zVBRc>`x#(C0m^d4g5kUXo_YfwGq!M8&%!ehcE;$?Q-(8i!11e?>Z)p8-3n0D4JhcF znyRx9Y_*$YMzVUdS?~19rAc+SHX-er7s}*iWpafWk)4tlClcg&jSA_>GK-+H%mndy z{(&^hJ$d^CBHt#s?;%oU)izM)Z+&IQj>1NPmOTV5ZD?uh(2mQa)^r}K_d?ib{%*Cc za57O_;c>HJqMF!go%PS!W7cu6T|KD~;jLmqiNYh+YfH1GD$ON1f-q{#ElQo5DPVRH zoQB_`pc(n7H_dN^{cO*6;!&uRpxSGn2aoghJnFz@6NR^`?eRt(Rdy*3~uE**UK5ayeU+23M(JO3WTHwkz4J5VfxxcA_za zMt!B-qL8&Vu|v^8znjxPvJ@w|swve7Up!_OI7jOA!sh-GF0YK_WwZIc*9fc}vM|Er z`q)e~y)ggYd-Dt9+FQ=o)z1&zGvA<;ZJS@JrrrpM1ss7(8;Q!|4d}*~mz2TA%`h}` zAUQub7v3~KA#=3Ne`{{edChU&62;fcqv)sG1_ICCGgD7QHV!mGo)cqd&x20xfT#|# zeKyA#hZe{MJ`!*r{Rs#|V!ma;vp|&M9drYD3=l~d$%JE@wL2aN1BwD%E+D1+EO+al zbqaaCN-D_f28=!Bdt2XZzbF%I9t=mFI@hIr&$X3BF7l|gT_$wFZnSF~aa~{T#?cce zuD_C4K8M`4o4EYXvhE)>UPbjP8)WUhRx#QLP?NqK_J+Ho^_dMKt>0+!>gB{GTsCXU zSCP8VRngm3p3&T z_vWv-V*bF=!GlW&3Lis;1R^9p67aPtcV05eyAZ~u4)CQvd*v~>eOP#5<_LX5uS^`T zzTh$A?%8aGm&iAD51d2g6ID$qg5(Z zfzMQ|=idrdAeXGW4g7wf$I9guFEZi4Jc#*@4c7=9DaZ4u;8oyVVta>suU9;$L=4un zVfkL|7r~0R=ovt`fb}a|tbpGK5jBns)`4>dzb=9&XB0z&;{WsiXi%zXxEhw(bYE_q zpDS$|)hN7rGZ>G{d^~B1-mK)=@|K{9@TQoIo_!+D4#k5Td1Y+aU60Tli}XVufX_~p zG)K3zDjIap-D)CI`d+=2%W1ZxwL0&R+y7KZ|L zw|gs;7AjEo@ICLD-6Y8U|GwSK%FNlxc^~)3P5$2HqI;~&GS|*Pm19rvR@Y245?S%T zYAg-9pfDT!3w6kM*_2ia`jM{E;8=hiY?tqVOcB9UG~7p4oHX4+O+A6QoD3{B_ynRZ zenPn~cF(9MafYS1KZ%Z$vw#+yRVwBr&g95(?9l~`0G3K(Eu8L9Q3fLu6U6^vyIh3g zVzt6}v8)b@uxdr+!i%Z{(UUg;WkRuk`NefE};`~@^L!=&pI5q~c4uS+gV4L-9m zY=J73Z<=H2bj%#QS`rF9A29m;#(*|>n^rEiCQ6jrv{IS2`Mtah$8^gr8TYT#+KSdq zjn$=fz27w@JcUfXP%D8NUg%wbJaB2MDWkzHXM|jdV-q~E5sy(eVhK#X$5E$t$msTi z9Wn*}+(Ed4qWGd%`5Z@KhQgH2QmwHQ*cUjcy(Vugr=f0(Vao%DYUsc=R7p0V?KI=4 zPP^39yJ5Bge#8Ik7psBLWmPS{kWlBa=JrA2Vr0g+*e%Mp>BC-|Ti0+;-l{1vhOMzw z!2HWo=%>#-`Q&fO>YaIKPg%zgzV)rKr^m)fx-4XpSW)BH$k^&{4aruAo*2$F^(kA- zs|ia^HI_{itQp85q^nbYUm7-(&&iEJjW%Eh=bBq5Xcvf@ROMDa50*|jd`g9~T_{L$ zJ0uZp3r`qQH|v!7mG)5|Y*9Sn>niOYZ*m5gOon$=5*-*miQA+C6@g>}!# zEhMix1!LsXj~ksLq>DyZPr?qb zM!du8kj?FSDH?r8XylXkKzdDja)ec$VMY#K5K-{+(?(O zMHl%@fgKuVT5lfFhlS$ct!#;MZ&2@9v2ubX_RNwnV6jES5{8p2BIsyH$dYt(*uCWM z;sYoX1gG}UF^yR$Y$0!}dbOR|{G;kOu0^)qI&Qx(of0yX4j)dm7xU~-&?><83BVi% z?5&PMR0%ww^%w^fwNjV^ixTie{S2lH{squOVF!?O8q}x5C)jJpl~9<{nJl=P>W#wl zd#SN0P@DqF0qJzY!NH8181K{3TSOkSR?#7lbnsMdY^zwPRkv6i$}#z!C9)xga8)DF zv0K?{9uY<&j~8~oSRf(NHBc|*k5-rxD&$D{OZU#eI$@P(9DU-Du3kpF^w#p=3!B31 zkiE9T=~cR9UcW4_i8u<;rh*_fI@rjSddS-HmwQ-!Z&v+OJYo zfcxS_t(>x06w7_}nJ5f&<$+K6B=m51z??SYS{Ai~!pHt%?1kzS!{EX-X&4Rb#yr3o z(6eTh!#>@(3pTkz+an&}48jT?SY{y=lMXVRGHBo_c%KB-Nd{$)@b}nH0wM<#e@=hm z3?#%{Tt$UYtQ-I-2(pdXZ}s)Il}@nvh$tJ-Nmu#j-+1HHZMR)O-arc!dUf#&lXXox z*qJ&-5aRLv)t5ipFp5qMOMZzYNKgK~fwfV^3f80Hp(s-tK{6;2;#pkeFYdmZu&~8U z5C_ayO3LTTogVqHNGih16S{dc4$&%!NLPOZTY8ly@@2KiAyN|e)Mv{kuT^M_o94_O zi^L&1axEx}GfqX- z3jzvof-wZwP+v?0{=@a~qXUAq*x{hi_C?PYUEB7te24Mlsu!Mk;-ioLMgFR+M(pIq z$v=JYm%lvxF!>9SZfqae(5 z5>%rJVg#^Kj$=8o@Tg3u7K)V`=w>aHT^`f49L!m=mNLt+F|V;8G97~-vzB(HdG!j~ zp?k`*?U_tT3He;j%WcfYckB2G_}E+BS85qC!HQXzt7OEn)5w=bRbD3qZ)Gcf3l$=cF7Qj z!-uZ@8VESS@Xk)8N#=Z6X*^_9Jb&ISdU#H0O!_pd?Yx<0xlAs$Q zj%oFG#MW>rOv%0eerNj6vb*cPYpYb?Avj=8lKJku~s zp`dwI;-WgCnpwlPwQkrZJO?OQJ}N4JKR~LsZ%E%o#CL; zKIGvAspskya;f^ZuuQ_FSBoT_g)aAX;VYnO7{^{D!2fqc?zz})+6I0mwn4Ul^|;}4 zxtR5uR)8SZX~4xGmMO>EzcY8r?1N@yo8b;^;_-DHe{6btAQX=N5F+=G7Qq3u}?I zJXEpemCfW^<(CvhVzX4Ln-a(@JO$0W%78sT{fLuArz};L-!>Ek9EpZ=;kk)WhdcRO zcnW5@j7DL!1dPGH`hn5Ekw1Oh2_NKn6>qh%x_?+ejV|~gUmk>yq(UdNXk;3e+#!=Y zvF#>?`k8mYcGG|l*#h;0vl}koa4pU=U^N8r!Qfbf1|$I?^a7K=f$reY*rJ0|v+xfV zOr6-yrX=f{lLF(O*K>gD`EAM&RNs& zj{uUkJW;EjXX@{-c{glO57#k9{?f|rnpX-Mm`YZr!7tJj5IdzX*6>u z>=jBZ;jBPFUINtud6tq-t9e2s6BZ;ohVNO33A}|$$v4q?ay``Mz#d8!td{q*i)2QV zLWpPuUWM7d`g@1IMjSes(=aOkLyXuYE-(xaJ<$C2_)pTydGrpWgAT2;9Cpa6mLvso zCQTdFsth$cePy{TpLdnFks`f4Hk$Yg$)hdjUh88Hzh1s~RqfPS9T|?a(wws8$ZVo4 z!}Qxh=F;4ul>wmuN_S{{QBW#V844ZB`c75l1mFwrz4$)Zj5TX^_5^H8gZ`-v6gq(0 zF-f!VcK{!S9~Cfv(LDqR!&Uef{L-1QI0%xpOIVCA37-UJ7GMu-EJFP}Wya%o2RjBZ z2mt^HfKM_Sjg2CY%oBg2%&Q94`h2V?Tg@%Epk^^t{Y4ctrpNJw)xu1OIH$5~cBeEM zRG>x&Bfe?%0SB(%=zyM63#g8m~nB*BY?4^qheS_N>dIMR?^*I@GlSqbhHD?}8wHuXDd0kz|J8FeE4G*QXSx;@L z+t6MqR%ja<8cJ*ZimcROs4XqgWCsOiaeX~J=h1NaT$RKuGHJBNrg*`U4?V*#nGJ06H8MfUjViV=jRw02lEDlSO?8dHP$%9`@_j;wIB4ZIBmxn! zhhNR>Xy%F-N`+AF_etei0iP3;7TEW-whq<~w6(3OgnD)x%OId_B0uU8hy#w0xI@~Y z=+yO&_rk|*b#-sZH3}rDtGk#@Ko@zXLj4<+s+q0h?ibLSS#-3et`2<^gbIjjA4qxM z|C>gW*Kjf_|46yU+;6bxg<|acvqkc1Hl039=X0B_+&iHgA3n&XitlwX+kRO2L7x|$ zFO#)~CdxF4l(Kao+869kLxAEEuU+X3&S@F)GK;#t@krGY-?QEF{I(3kxM*cTX&7uf zSAd`UG}w*?=rM4?)F@n|nt)2p^(xh2N>@V%%IU5HKo_tI038D!v@G=~dOt9v)&_Is zZP*LO-&wX;hEUkBoPs3w`lJXM82DiJV{U|Zz;cU@B^Z`pE)ZGRk_U{TmMB+0Ffg#; zv!4+1pCIEKle`6r zzIuMEFJszBR5r62H5$@rd8|qlmwT#y5jGB#UD>IHaiCGL6A1d?19O+Snwne>Oy79p z;+vQJnsw?pf}X~J79KC$4t;DVU{XS2=zFx`+$yLT1j2>}3$#bV}D0k>#USmDA zhhP%=_RB%~0CiDH8f#BDC=i*;;bLJ26MqF7g`Y6_L4;fd#qRLH={zdqoB$UR!vh^7+1-C+TK7g zDV>BF{A0mjY*JX&StiZaEmiqEsVvY40lxPU$e#_v*}CxAurUA!fs-ZRoK(#|+_94e z(vGS#rA`JohI14d4fEaFtQ`0QXbFZZC`LTZ+O(GiLgVJrYA35vxp^&k2+^<6?QvsXW67?3i) zITs1)`Ld1H=ely2WvT?t`7xu&#ojI`5oHXa&~1pm^&-vOP=&Y6w)N5Z(yi?!bC1?p ztxAc(;qE}*%+(f~vVxs*T;(q}u#F1t7NJCSw4H)Q7UrwHN!1m>zLIrV6w!?FTqJD3 zB_?L93@`-X7nd^%$uAYgxzkmwlmnPiFBNNXQOpIeFj=%W`3ik|NtHn z&g!qSiH)Yse0GVgkkWgh7e?7P>2PRYRloL93@Zj8=rX21~$$m(dU#LZ96MHV&Ts*it%K2s*l_&pUSPGfJQ#N0x@V&j?a zK74rj#v3owpk%@w)H9g8IiM=vz5cPhBK?%KR=;H0&z{7Qmgw>u$=L6X=Y=QbwqWgku%Y zim9N8YN`kXhHzoPC?YVK6|nx2OeD&l}M4%*MVX)Knre(mKO zZrFP0(94Lu9kCFP{FEaNxwqKsy*!Cj#N&yX+MZm4vC~B!O*_TpZ~lWgY_{OUL?RK1 zWclf;4heS)U#4`9Se|>LF1u+@_ulE6nJ(ChOk;iK-nyARy}h@2-rIX|%BVN`oBZg) zzI3y;*|~bMY}fN`*+XS9E#N-$*`1KnYA$wNW75eRked+#MQD_2+0-mLqqfDi|MVQzyFS z;LxDU@X0B87^ifaGxlXlU&B5obx@TcD}nge3N~Hv*P#4BR$ya=_5wpH$b*q=rZW>& zdGc~=XsN+!SE~x43FA%ZU-a$t$)v2t(d_R2gslpAW}LM_XwsCiMKl(TJlLJ_NXQe7 z65N{bmar^c6Zw$e2hO8JF6}l=m(Fii?ukok z&DACIM=lt+#5Hrc!DaLt9l5}Bbxrpnp;bd0OqBT5gZyU{CiYY2!e>w$NWcuAMPS~;cj))fQBJf-d;N>FvDb=?`RS3v|M0Wm!=0VyvZ0}f7)iHH&mXW8GNDrm1U z6f9$py$2eO8Y@O>w9-0ZGoQA|U|*|i)isTI+h_PB$&;j`n`*WQ#1gTXBVv&g@(RgZ zaC%Y~ zH}r>^#q*9W1KmsB2lu+nX2M$;+@`LRk^lH?vcJFl+`5_F6%JGG)_Q5!clhwk?iu@v z3CIOtQU*TYcWB+<0YX{j=XoSV#h58>U}2J>h=s}m039hnC_=yj{;ere7`O2SX?Ye6 z!5f1WLHiC^_w@-S??N~IihT5=%4VYC*~&mzXmc}q-^ zzn5Bt1_)(a?(BGq#gVyL;%cJ1l<|5TlVx-7SYpGV~?g5EfG%Y1mw-=a-P-7B- zAm$onfg%BW{|rUpnA(~U0Sii%z=5gpIhHP&T0ETJb)ey^^s?kG5A4Oss8pf2|nsA2R$ z-O_sR3Ugib0%uWTmjVeb0;m2GL?C~S!HAg)CNQr_VTkhLj0k{my?=%F3Iix0>h_kI z2nH>aY3QicinD@(aGB2ewcw8&VVPqr17?sI#H@fz-to}#^UvRX_ww=MhYzFQD_boM zp@G#^Jk|C-eZK~>MR_`pmGk#zIu{?|EN~I4=|S6~eYAV1FL3!K0jt3kDVTr_=Q3!= z?`o!F=k!9q zy)v4UOJKtni!lpLkv|vwmMv^>59gQpVgW#fDPlO)jpo|w!l$pJo5(2?{Qmc^6mZzV zn87S@l-JhO%Pq#f&RlJy#^QA4tKCiLH{{#WA95|qm{g`yGVhmnnUmo}nbocDb7e=4 z^JfJ+4^~#q+GZTfEyEp=J?FbzMwzzKf$lK17^^EP_md}I_Ig`A9`bi(Hy5%YMt>?( zkzMZS-&Ii?8_307jn(zt-S+o3>34K62&JJo@8Th_Un_tMaUb4Z$ljlkQWQ0T|Am>* z>2hJk3|xpU*)xScYy9T|YYrgG0sw!34=HU9^=>w5%y1m%g|QKY!@5P|mooaPwsaZJ z5i4=dnf9hwC<@xmX`NUQ2vuFpbGtowULL-;Hh^`W3ks?RVLdvRI_Kie4x;86~Ke zJlWZraOF?fFEpDEkCr5&u`)+2=xP-VWTOoF0Id7W>GA(*8jeP*-O-T?xRboE59Q-M z@q)ftQ$21Ow{=IV^Zv!9uAoG!k(inh|G+($_d4c(@C+*NzppQ46S&KB!Df+~-z1Qs z`mQeWn>t5QtEKu}SsR>SQ~Ut*W&*5eoKc>G89=zc^E7Rr&DH?vHNOEIhtCuFI;g?! z0^b2^P^?XXz*&y<-zega*;K#;5NE;jVyJb;@dWm`sr@EDV2D|Qkj+`ChTacPE}xh3 zD+DkuX^yC9FKv|7>uBf&;j2teT00WmEE2KBU}Vu4{7=6jJeaY?ld1oVGoYoIhx|QR z&z~ojoa%l@zg*=ZkA*DP5KQ_TWOfgiSMt$EA3bF6FsH(qtTY)iZwll$9pujQQZEbB z*_K3=s!eyU!!T=VuWrf(mv>Zo6*9S8--mpR94r%xM>df+8KB(UM!$SGHb$OXo9gB` zr02`k?#__CoBSb5E+PlfecF;g7Vanq|C{P1#`>lLVj8$-X%|4(1!YuBtakxU)R*E9 z5vaC@NCiBwMP^emz7h*qj(kzZtbu<`$lxqLScF)TP!=Yj*{y|D+ps|-H*a<6qfD|P-iZH zFpljp;BpvBipRYIp74K!zv9g|@XUW$;>R4NW`j(kmWe0&jO9%w^_zv9Ellx#BF*A+ zORajpg6)e`t5kZLL+4I_+%YL3D^8G~5X2Bc1jNENg~)IR!QdNZBl@U~&*#y3bT&bz ze{*9)1Np|p1bXd%|CfwRyk}GjExc5N#<|m-6qLxErldne>{5DGe;EsMHi1W&dJ&!U z4{SPbCLffTb2DTzTT>l#hh(`(tx8)$kNaxXs<_Z&@?Hb;6U770{sBjoTUnDGi0)e% z-J#w4^}2vvXQx>DQyikXOm9#K|Mzs zr?%im!Iy=s8*Wj+E~~_Xm7|3PrWJ*Y)71@NxdUja2j!hI(&?r@OAEH&bCK$U5hz7XE>tFPLB9mJkeW zrQV~|>QqV^gZSFQl)!AM35Kc=+48_ocNUt?xos~>=Csc6J(&zCD^n)p(Ca~0$3xHZ zW<>opvYtwB?y{6avB;InQ*PE4Hi$Q`@(*uI@6|&nmQDx%T?e_dmtlX3Y=a77no!wC zsUzytluclfxbV3#v49T4Y27vIgp*qof075hn@T)lG$`Zl;aHGkVf8KagUErls@6-x zv-7uA+&Oz{brvzu{}>NEesz1O?fmPPQC(1}k+hKS&nJ`Qi|KjqL~v&g!Z5tc2Zy>3 z&eqk9@KEjS>i3Ap4xBrEU)b(z7;IqE`v`C6Euo&_De~dgKclw& zwN~==q5814j^Ji5J9%|`VC<pj?=v(HIS@lcCURR$Cbl_W3-u?FT2THg7B+Yt5Gk zzdMxUGOz9Ng-_a3<)cF&0zl5{U{B4}v_6WyA~0>INMC0NY>mFw-5d;LI1ZeKvPp~f zsEU%BwEe3y5}$Xbq(qE*4SPzEYku{I#61sHjCO~9@J!C2S4-0RqcFwlhl_vwW89TH z(BMa(hA)5onzlsydDpC>*x zOZBj6z<&fH4ceDV_EsnehE z?35`VS$gonrOO>?`={H1>b&9=zDj{!AY(wCa9>t{*$t4xw?hpf+}D}g!uBEDB}JfT z;S;PsJdy*a=q2bPp1wO(VGk=!zJR<*q2)AcExUFtY}rz;ME5T*llvFYwK157Vf=w;UY%??Y@rO zdni+53&Epc~e$vO6^LDb=ubetx07y~9e_66M~4 zQkszJmE`f60}#*q2wj`BkRR8im~$M1{*-Ik#J_v~(MRX^7*Ox3thSs#2UM#eHp8ge zBsBD5Si0dJ55qm0AxcNl=NX87#Vs<)m&6-ECON-d3KjvdFe_xpt4bQ-ivg1P#;Qc9icIn0w&LkBT|*eSkeepE3?zn z^G(4P#S&KnZ5B%$Ioe8|>vRt2YFmh1Y!z4JG3tGCjTWrON0>|jgAe2G(S9aY?tZCACz`$N*r2~`|7^7#Rv8}Jp@w9 zoLM-h`LoAhu1_W4r{b)0e&sRYOpq!396LbZVx1kp$OH8pK~sEvQ@q0NSK1sUNx#O~ zH$J{FG}K14{_gG4w8^a0ixl#ynW^cwe)`jy-=T}6Yz_HYRT@||@swP+ldF4Z_Wt{4 zFV)^VNbV{m*fT7p=3`QTJ|vgXCxb8;5z~|pWbx~ezfRzMUeQc&F^i%OCp-ZgML7sI zCgmtogmxzW9Rbk?)+xLQiUf=d;wkxo9i5NVTX&E2pL?n3o%WI#kK1l7)WU3MVML@< zOjs^jSXh{TX6b`r!H~07WYoo!=)D8)jZa>4y#H|P@Z_&9+k6vWmXB%qpVXvj1Y-`G zYIWbRp5yw~(xF3}5sh43x==7+Zx?AaLCW^Sa{F=Gqab7KI6jM5r-kL3HerUopidGi zdg83HJGj~yn}Ya(Pj1H)sDLmFHJ|IuNCq_Px5f+hQl-cvR4B|{>Qv|4+(K)sU%^7} z5Q{W|u1Y54ZnwNNp?{Ko>TcrR+D735GW2UYZ~Z0lYouY2zY(jIQi&2K=Aud=_mfJ% z6`f(!9^>h^iZqWe9yzjjjfj=~M?|m8DLp}`oCOOq71=9Zl7B%xa74)>y)p)KHvB3ekoNt4l;sJjf>kNzX^I8FtIA=7%y1&6VOVClwcm}x? z`iV9=iX#onSQd{ps|}Un5)+HVLCa#P+3RP0+w3cXE z)nB7vWATZIo@M5Vw=(4>-Xfi8cgHVH%-yuFy1il7-8YRb4{DX#<>im;nAUe_ev*>?*gH^BQ^53NFYi$W)8KfvYs2z}I& zPgTg%aFa^esK!ucg4-M%Y*G@1xqM4?wc6F=(x3Z3^*`J5ad^e|F8LT?96=p&@*~Vv z9E0v9({{F$a~raWdHFSL1D8PF;6{)K zCg@1Ob%8Lp@k>_47fADrUMXsN$~0Ekz?s4JGH{~=8$viZg@)Oc;$$Tp#p)~>SJ#KP zY+0zSt+o)xOr0&MC~=sz_5PA%qHGEshfE2yew0{xys1B?lZ7xkHzj9$QkB9Gf84xH zCVXt+=+T9%lxT5PR9(iM=NOEU&`|SaSMVh9_rBnDbY)Mkjci1>&u{%s@0Q)YU=K@S ze#d*%*&=W*$dRJ6aPvi>jtfPLRzBQ0RkWo583WD?bv%3;kRFt^tN_0l20VjUZ){Cg zXv0dU(c=zVvxQBY7Rt&ZBBG-&Q8`_AUWLQO7NdeRT9O$fTV%e>V8_lx!Po85%LMl# zn%uLwS86FyqK#(I`FYL^C-sC#xvbC}*?Rl!TlXl_q;g?qdSTlURk;9&A$Dc z`#nSFY;C&y((~(5b%}adV)wv#FB0^}c5MGTw*M`F%Ln1SHsGy};)FxWCR-DW_{3Ot ze1ROHOO#d&!>(5bu;9pWAy{P~P{!X1UBYkAkmaJV$XJ#%N0k=0J7qK5 z`T_ktJt4gW-75AqR}9v41|;OQ)!h-{f+8~5L5v>!SG8R$Zgl_a;71HOgHL`~Q2|Jg zzo-%~@~lVZ?z?a9T)7}Qaq!s1`Ifdjp1qC~m0kS!#r(t1-3+B3Sa!N#9_>4z2XX)6 z1|-LLV7cHN0G2qI8K5Bm-SA8?C%&dxzJPD6Ea5U1c2kO4L@5Qgn}GL`!GpL?SQ!Xx z;`P@tMQoQ$N(-hd8>a<9rz@-!d4)>ZfU3;`8h&ulL<@4blbn|9A`(pK+%9Ho(@c8} zLuKb#1h5g}q8a&(M-6e6mSEDBI1K*xtl+|ET`45Ve^;4aKf@f!@Gaskw+H3 z#z)e0+VDWJpwbTFFvs9e*D(+F*_RCYgo^ey67us-bA?`z?`z&s?}P%M zP-rCJ6a0e4TwzSvJ(Z@ivaXl;GPiA0rj@ILP@sUxq_2LGD2e4wQI$NXQjVGe?X$D< zJv|M)lYzFzLV3a5+|)5Taqlml-+I%5mTdX%YxW^tvggXu(u}DlI(Pl%rUlDm`&>D> zvOE|+Un;~>fjh@!5C;9Twt0c}K5Tk_O&bAPz`npewA-N8(g-#YjwHd+B?;_#t^pyj zMi+o(NS&NMFE&WwzyPN&h=DT&;E-#fy2*%(yi?Bfh-+{-TUqO5Wqk}G%cBTg7X5TA zl+{KRA`e5QOc@xe(#rAi$(EKjHYy;lC$3c~L}I15VI%Rr+Rr0zHL8)DeCNWOrz`rs z*}8;5O=HoARBH5wAgo>`_2kF-EPIX)oh=&m_oQ63$dezNJ#u9B22BiIxq7TD##mq= zxfY#Rm14d&Kn?qGr~$xzqA|!`0$-m&JC4|Zn|nIe`4y;zbwN0sbM}Ds=$ce#Qqv1D zg|Xu>4ypBLtCJ=kASIOl=$k+qCz7$yHej@K5Lv+U#xuB}q_ z&Dg(QQKw;B5UQ*s2dg|TAKt6Z2t~bnhi7N^EpgclJTzSPT=7GXrgh(V(TGTwCQXf~F&jrjy(A;Jb%{z}A*}24#rC&)XY}1~6G*nLGlfQ~4dTc#b^7{t4+Q3MO zveIQHkC<3J!6%+3KV2YS?uTNJcs2nJmj3)+Gqhu5pzc3n1F z@vPj&(P%j)9YO!}_t_PNXWRVzBAs@e{1+en9ql16%rzzI6_qjYo-aV>k*}f1?MLX3 zq5BR9uDKnBi1U4JlSK?*ql+94B-@#`jhbs&IuVqw6LM|&e%9~bBbbQMH&`i*gftG~ z51t`;T@`PVuhFrGJUu=pt&b+-4RTl^7|l!oADjSP&n!I1 z%$Xv7i)cPOX7p9k51Vk1zKT=uOsqv^iQCHtJ2n zHQGw^mMsvbXy*~bEIKV5OTb(Lf*=}#1@oQs{S9hfn#-eAG!rKBEnVltO zE^{+qqaZqFXU8YVcNR=WgE^~sJG|u;DCwYWCWOLZOl8-H_sP$y@_lz`ecm_(p$F9#)dZ3@Sn`(ybGTxZLscv{6Dqul{D%N#Ab-hi3 zMp&M3qQV$f!mt|Im?79QF|p9s*Kh#63o-iu`F?EVy0M!qr5cTrE9Y~g==z9ILVj4C zXU}p}`q!;XLe1Ut_uMnTSNpfsl}Xy*)apg(e)4|w5+tFnjC&blbcyuW_o9x}lK-=X;8#9NaOG8&pCtS*Jx52q`#U0`hINhsi7R z&FVV6+)$;|s}Q*Z9f0Yc(d(X}(`w^MBXeapZGm_Tv6(RD*^`m$!a6lgm$~HA*;x zSOS*99tVDrlEmvVHaNFZ<)n%e4qesTcTL&8&Zs@PQlHHjVoIw^A#1eivQ4wIpp<)= ztYCCxP(HPjVX0xRAjKko`8X5xlD9(rW`#a&Z{7MQ=fk$xP-S&R`BW&Iso#HTwWxq& z$7<~>YQeHZbI0sM56zxy%p`@j8&g+Q|F0~OGp9`1YSBB-J5psb~gPb&ibZLXL6EFZj4wQ(= z7k&V;bm49m3x)+$OTxD^R@Ya#kAUSO@niS__0q=fB)^^RzaZL?v_bZp7g1gF2kSQP zFUfZ`aoHt?QgVvPXH+M0LKrXTHhP13X?X#HkR2V}bV4|=W9fnPv0rW+s_C2QCamQ9 z$3}w#VFrsa#TN=1UGrmx^X5G*a=x?SGa8N1kpHSoGw9%2J|mHDlPT_7Q7unNZ=5V2mJ=vMl~Cp)J|2*UF%6@3X!;?3?motLg@v#^N7N+ zhR#x=SZamw{yF(Xe9&@Z$0gMZwbyjEZTH>rqm3Hnv?(gx!r>Pd-gx6LtKaT`4SqI` z8X~Wvk|~{a419!^mOKZw-Z?w4d_DOx@?X8RCv|D}?7rHFx9qkyNg#Ol-Lv~Q6z1)9sa43xnlVR z`H`zl{)c?;cwN6EE|h|+N6<;sm95m3f-IKHCl$el&6^?ST*-cHyu{^`N2-vYVdKqQ zGM$)mG)@g`=m@rz$z+?t^Q|)Jw)xbYT+&y5@s_GMjr@aLB2g5Qm+3#-P@ZN@vkjV) zj@^9CJ@dzo&F@v?6etCgdtnw|E!YBmz^P}Qsu&wS8*hMR#_2g{lJ(FsaPwCZ0fZ2! zWl`Au>ut(a$l@xi%U$D;HHT(r7n_@nPCBujhSC+~nMgCTwKokm)o6&BKTWIEbJmb_ zUdU;ffBp5ppA^fbGU$m#g9eBh10Ayy-_h}RYsH6`@4tU}Cr^}rFV~d~#j;2?clmsJ zDAGDHJby(^+*5PIkhI2n`0(r%^M8k}ms%g>qChq|Ag*^8#661B@*o2O@td=PJiwB% zs0$~ffG@%IE4n)Wr;sjEJ|xlcXgA<}5woV#-lx#i81y$Sru*sHa} z%CBh?Q7iecsthQjL94X6zGE&eS7cdJ7E(87@;3+FS~yj)x$CO`G)ymg}; zozI%OHF38qj#|kdsYPPN*q_l203x6XGt}gs03N_L2hP5O9RX%X5iskz7hKvefF^;3 zJAh>^_6IS)Voik&ct(N#ioQoCE1G(_$&e%UF}R$kjGLe*F;p7eyMVTl zSI#{(9PfLeMf=%?>NInPp;A956t0+$%pW~Ef3YHEM&BiaSH*J#Q6USVhVk(_@}YE) zK5!D9An!%rsXO`!O(em1rBn9vQxMln0bYA?tt47QEFdk0c{>irWt|CNQqIihupEag z@aP?gaz+3iQryjWR-D9wr3WjFf#C$fu~tile@#H{4MIWyMu?x#o+7=0+@^q6Pzzo; z6xo>t(QM8bRECsF=>RNr7#UgYiudZbst`9z{#P%0NM>dqR8ArmT^|qGJRW;6szx&e zzmhA2CP^B2xQ47HAQw8tMkq)mZsRD_3ZntKil%PA<>}4o+WCDe?QOcR2?X&lUTpRI zsvK{crPuwyJi|8JKYRP_qxnk;($G+S1x%%LvPg|y9VmqnQ+T7bGF*xdSS95h5JAz% z^fI-XxtUJaTJ;X{ze+iqMx$Za7USm+QF*#bfGZ^;*8Qum$ObuZb;{`y3b66kQr~M7 z1!BsATKP)IRYBdg)8t9pbiul*skyqk1Tp;~lTaW|H176D?YffqSbQ`#@womML^--H z$&`_wRAo6+oWyf-!6ILM=gh+o&+JkBS<0zceI=ddj&(%a(9=wTY90R=6l3aK1o8xGR&%OzFGSleJiuVo{I{0YMD9@}qW&(~My*;&o(Im^D=0?( z(L=n3uD+ao)z?vge4F?#`CD}9e1*}k2_|@*42D=LuxL7tBf-tHvsVejF_xY~{%=1w zoYC{fxN0@(cXhcqsE;8R4D(suu42!p9_0S5lqe0njxGvLb)@7ssU_wKz2-I&sX zGOu9LXISx9tUI`x!#GE|SHeb-PoIy3X)c~uyJ9uIy7;F*ExrZBisky_kms*~yfU6# z`(-Qb3)VFQd;egOyQN7eZd4@lQ|3yo&Zq(1Pgm+H zWd>h56p*nXXs=6#R0{s&tpA1Rhp&%o6OFm{{rP zV24;l?~fv7`g)BtEK$lnFzrOdX7$FOb_sVZ{fNBMG8h=$97nqny;J6P9a>f}pc14m z$6E&BO^?0q*)Fl(x_s!+@+?i6?IC|$SH|5=XF?W-jgB&{itP#$Q`Cu_2y)eSrMXM1EA4WzRs9&5Pz)_nq?(Jv6^V8L4d9S2kMMT?IpXA`Lss`|{^^ z%x~Wg)l@)m&=+|h%;N8Xi8xd&@^m_cqOQ|&kRmFKDm*9$8`OZIqPT<%!&i_gj^1H* z#JPx~#l9ZBgcsttIh)C%t^mOcC4Ae-gYml1kV4<4(x}N@=o0c7RQTym`sNoy?bU3( zCr<;3t$;F7wOD3TinoeV^}BbE&d-~wlhvkStLL4VeWawPDqG56a-&&~U1|s_q%2_W zOZdYhKm9&;--D>+q`Qw>Q_dTvvvg|I=Wcegi2=lJ)+a+!TeY>6#mPJDLV6{gkSPqZ zeipyHudJ*u%;3|!eR)e$tgP12((mlFq_t5OvmVwA>39ZijLcS7=jlIh z$cThfom|$$Q}LlanHqsA?9b6Fa@;u@L!-IUxXcl9_RJ5li5ZqjJSShNPaO<8%FNyN zT4)D0)y(%-rdrcmH(8Z>d%3fEC%E~QdFBG09z3OI?bh>dUwY`FrR|y=6fmaykBq9* zQ9Z~I6Vxoe3U-?XVw02%Ij#5Bqcs4~B4pQ7eVA%N??H(i1zF(H)4on|O;(qJ3MZQn#jLY6~LTb zpfSR4YI#eZyXWt|dw#c)*>?NvtY*BrX1FId^S%4}^JFc$id^>09XyD6jsg1cF{*aK z2GP~x{wAEiT&EDqiZ4J&p+XW9dqP^|S zr)olBh2LRPKlxW**Hb;@@!SOp_AZ+0uUg*fYu1uxiY;u@b5To6qF)xrG&MUZLW+9u6W~DJ!$dXk2!C=|#`V_)ikz z-w7nh|Da>6@%IH^#8X8_g7*Y6@|4eqszfY4eUn>3{;4v@T406WlnIwzcg@~&&+Kji z3#Fpz%yb|>1v^})V|5l;uDPLn`mVbue44=)e-h@4aUpIRfEpu8CjjoKOsuL%pm4ub zJ?fW)Wdg_j9e^|%d@mBg=}Qx|Cs$AWP9)hQ6!FO`Ih&HT8oydx!t;*n>SNQ>P^#S) zL90+63pty;gyF4BouNUiP?js>Hxqvw8*{r9W|x6HnzWPeSEp!*xj{ANV6`);zoPW$RYgp_PXo zT3J!1(9PscKll5)eLnKZiEY&>CVdNyp*OaMO)Z8FnPDO{HWmUtbb&qc0-VuAWjTtK zRA(aIl!W~vi`lVkUgOjvkAiukfS^A13Gv`bN~@u@?vyoPpaLx!Ew_|X;$?>KX@cZp zb#;jF4(E5Ygwu|&yd++quhnmTRTuK}J@ZmYZMZSjOg^$e*cQkqp)(d9=&FQ-{44m1 z^RS!dHOCIV`pA|$@7%Iqn(|Ck%;%DEZd<_J?XB@nFSleFUX&Yh84|&+(!}aKuymj8 z-|_gSSPbZufL^B}KU#37{~3FwsG7cTVmJ?ONoQdv>Wmi^10`5IK2~mPDjuYfD**t2 zXNsl*AQ`7SD3HK4sJ%Iyb@)~M5~v-U(ZpJ|Y?*~J86Jm-m$&ITI&*C<5tqx;;!+Qh z-rJw-I$Xu%NbO8my&;K|1ndc2w@T$x*9-<~z7~F!usq{USroJ7t#wgtS2^0KBmbGt zGO_Mazu;OF>krR8_~6_*5=I=7J;(Mim#%K;E8)#DSfQ*skRFXrxOdm-bYi1G$&T7B z>T$6->~l(-!9ZZ#(CVF;36v(|E#)0K*Y=0YL58WpxBMZ{iVfyH4q~XC@wUEF6~m!7 zPy`Qx9h*V`5*O$lfYG`=i@z6D6wa5x1FnKs|3Ajw0x;6*>KorX?(XjHK9fl%GjVr! z_hens#TKV{3riR10=o+=TD(wNpp@d!7TO{$r9vt2R_IH~!~fi8lHDxuecyj}vy)6F zfqU+e-*KQ*pQ=1wE((g3JeSa$*BXl@C9B`Q**b$*>#T`UbytZEqdwXo!`& z9V)R?ppZoDily1vrJ88QI0KF9XY1IxvXEKqh_`k%$b$Ou(R^#O#-WQf*7!Lb^hrSA zcUXj0BjfvNRlCVgyrm2a2gCsdg)N8Kk94>nvCAd#1?1CWwSvb}=%Ac`l&2lYB+Gzm z4IPP*Yhdf&CL4qn$&xM5FF;GsE)FMYBf(mHgPW2N>4b1~@hV`=1D@aoB*u4uFGqn< z0{Kk7Sd=S8luECuj?3d|=rlarV`}J;_X#~RCEq2K%SEhKb!!+jadUH&!>Xd!l+ah` zTuXDZ(X6R9$bvPU=Q@`8N`Ww*Q7#KKtn(w%mCIWhB4FiDt82f59rB=&HZwEq+avP>`BEhgaP) z-_%^uQ(m&Pcnkqw;&|_Is8O$hcmUo>4|8hPwG5DjM116FHy}PZ^144sqS~)%7p!3z zR%hg71gl6FDyeRuUuP)dN$0E%mD;Y7WzFhfO*Dl?3)6%>q zb^q!clamx*Y^JhuCU%w2cVX~hazqN81J|12ITGfz9WyPsD%Xy!Byc*uD148g>Q87w z(g28UYc{1Q1Vx~DQVC&v4`0EdAh`|~i1&$8R^2nzB~6R&Y44V%s@5&ui(mZk!|5-+ zcxCmim_3!#hgBjc-`lU&`8^OrXlrXy{c#4R7pG@trWfCj^?AqRQ`p-y-{z=7;Zq!6%sNm!A^DhTaTS!DNqu1Tu@8*<+{Aeu$!bYL#rFtZjT&{n zYB6`WJ!-I{kzv+Z}$_w9jVWiaHnW=jmABqj1CP!D-u4N6Jm2WL0zpGDk1Pz zGF$_5k`uobDkYUCyJ5&TkU1;3Ye?5X5#&<>$T8;Iv34bTuPyXr;v2$t34wl zixm|m0xKn$uCruh;;+*pYCyn7hV zs{QJR(EE=0H4d>0azfU+SG}%zK#BVB6tR*^Ct$x+D#Y$)0xO~%1%gb~b8f;(6 zz+du8_U;aP8GxYqk($CKOVj~tob{v?z~ z;2m;4vIevpv{WsipLWPAj=;<~$hDJo!wRKT4nnyeiYT%<>957fqG(&Od=JixQ;@~e z!C4s?@8AGE{AjWM7|*Y=LxwWC7LZorkqB`25P|{Lk#=_kbaR%^ao{i8Qd%okH>yl( z@MAA09!1r6JVZn9elk%ta+^+yzz^Or`}yZJqeTE0xDGN?4F zK7+4;RP_bkTb^JfXzjbWxn@uM-#?{MQ3E8oXSUW<^n?m66`ialXk{H-Zc)!J52SRu zW+U4V0MtQ=KDdn#`^1wrASP<1 zVK)N2B1M#03@xAUya;OcceXL)Ty(+9?v`f*fnDyW`4W*w{f)N0&I)|EZP?{L7tg8&rByj!>Wczluu;ZX*luB9@a&7`( zXOOibMWFBCdKt=H^*mv;c`FtYlNWM$^IR6HSv|z-4 zx50DM2k7%eMKmdk_@Y!8<{!czl%t+bZ)e(RZyKEGHv0Ka6>&)%(h7wXYncjtyH8pd zWXfBXjvQIqtDG;ztG3XK#C>&ToIZB+Jk;iNwmR@!L2Og*hL~72=u<2kctYML1gwn5 zPmm*r*3W-}HAq54Pwno->~rD`WPno+Bcib1NRG&Qxzp0^O67SgO`R`e;`idu9G7aN|VPJh-5v83@5m}3HW8-sqr*Qph-tI-bU z>VjIOMaX5HYT#j696lnrGN4VNkc_18*$1Xm8eC4jYE+S5&v>U@6ZY9$2q)}PD*VFyrG3Yvrh(!*e?~zBY zy|&d$&7!w@84)>Gaq-2+I*E@9yZg|`bMZShi1zOdtQDSyHqJ!ADsb0Nd(r_z1Oes_o*fgU#sg%F3c`afk= zb)_?j?BLG1g|jGIi>R?JDg&uaOC);nF4Csu$sZvsPiyUe&1DB&0TN-`f6fAnU2Rw#qv^_ zS^3-F&b@1mwfRHDh4-LV;*Y&7^A%TKId@5JCuxNp z0Sqp{P-E3u8ziM)F zp`oFb^)oj2IZ7#vYh@!|AZN5oOQMsJY4lv2&ymQ*vsFi};}`m!S8cP;?bW{VF)R)K z42?52#HZy6#v%k_p0VuU%kPC{TCOWqxP+xKRV9h;rjl|4Nab1SyG^X2YEgIyai z>f48QXl(QfX`!sDqpOfZCBOYG@l0v9nJaCD37s*JAs57HUxl7X)24FBwDkjLkQ_iB z9B>C2fB+65@dvh68`?L%UCr2mU|9YfPHFL{PD}?w>CNTa9~6l;^LdDRfu*M;6trLS z_Ui9{b&WVK>r7@1VF+IHJ%fr!Ib?MP2h)6H4Rs7HP1eVL`S|MUwVS?r?6Kv?DXc{O zlr<&s8m8=N<)}W1%vx{^_t2}AY(udSHDAt3VT_}cL)$dhAt6cO4 zQlZ4W#-=b3qP$${5>i$l3v?N3l#Th07L~7|#G#Su#>S?`W}bX{A1vNi(5mJovJNznL#Tv~=5TOZ()dSIrS0pGM9r{t@^o z)#NmjZqO#vo96LGVZa+8`}pF&rW3!8II+RNww4*iHIc;>7!#8hOfMB`3Zei^pn8cU zVZw>MTvA5?dqI`)`eqgC<*C(yjH-_2O;$*PbCo5Gj%DekwoJ%L zp{SHqRS%ja!WxZ2uN`Q3az8vku4vG2a)|nCz-@7eM-SmC&&3|TB!j`kazio)`B@Q- z;OxiR`ANnCc7a!5PRI!oua`EQL~+I08u(qHeX+C5#D7Rx#S(XElQ%O|;|e|H^s_e` zW@ZW|jff|W4WgE_6(Qb$jNPvET4Ky8miYT-SZx&?UJV$6NrzUhQ^pS!$k*kF~_Cuom${AW|%_VRw$3@mB>O8 zOLVsFN45NH{oFY}ZXFy#1upSvX^J@wlc}EPidQUmVQxE*$KL#38RzP@i9@R&S5>!c zakhzr^fRVb*z{t)74NKg6nHR>eZUi04;Ur_Y=p;&!0{DIpyoP)J)x~gyKR-9YVE!m zO~sUw1OkoHd_117Ypyg{3(cXZiZ;(+h#iKPVV=%7x{2ue>CDF;fB4R`&#H;<=ym^*rO?hGyuuPy?alaljin>HyxBbNc9JyGLw($goEFQ609 z(BS)SV32Q~E@=muQo`^ZpcV)t9tnp7$I!eVr?zHB6VTR4{Bp%)+I>s)(2B!IYGt>t96h>nx}v{oN2O>oKixOi;^~YNPS=^99+#^q zGl$7}3`Xe2D8pOkPC+W)fUZfU6i!7ZXfTLNf{KB4LrOej2TI<6GrkGp;XPRTz;@v` z*8f`8!bvm*Obq@q4FAF&?-Qi!{uKmTwbTpL=h^;n%n>S~dF(n4IX24OA za$T6TXln=Sy@!%k%>A)RSO41 zoYS4oAp-+agPIa$#F(;_*CoQ~2BNWEH!Q18g=$R0(uku+ZD7)AEi{2NOrt|-Z5x#< zD40_rA>W~^NY)vo?r6R*>7Xzyx*ie}-$T6(;-rxP^c1UyjpX_ZMHE3@YnKX6Up!V$V^h)90=l^-r>IoPwY74yML_3( zo|eJJ;D>agZl*O^is7S#{M8I(%bv?ptj<2qX3*?*M`t{q8j3(vJ7j6M)$v|rcW{Tch1~$%gh0Y zVvVi}>$0#xXoNvST9YSwU0YAp6VwIb2I3c?OQx9#|6&%|-gCpF7oe9HctH!b8jr&~ zj4qJBv(~K^8Hojcz>#anMu7b%{{RPI4v9i$4n}=p`6TBnE19RH=;7zcz8NPj$^>-{ z8u^qs&blOSWF6p}qEm6rWql);I(F8ELMg7#zUT`|U!DbI^A*yn1{B0r+Htywnu_?k z=>wDJ&@K?m6(VTF5K|~qcoGCn=5dGPrf0I=Tz=c?mHj1^TBk~67rG2o8wc8hRlMHb zrH&3ajGnNX?E!O_4H`{G^+tbv)&Aye{qFNek@~K1m$R==Q}Il7n4@G!8CI`|+s?_w zgw0~95TZB~p+u(BG9(a0)(dEKO0uUWqEVs}%Rehh*z-_sbd-+-^c_qQi+=m^BabYf zCK8pt5YQTnIorEok8BzAO8Yj2AWMd~$ZpVi-x|HJ;{?OnO^{=*!C5g%bXd z&|>nxKOU3V#D#>@S2~?^#XW)d-$%V#;`4lgxyX(_XWJ%J9mcto(`32BBj-MFb$hh+ zoI_`!`m18GLxvEsClTk2z=G$1;9B&l%q1#~yS;n%*rOrhf5PDwvZM-PTqcO&yh_Hy zX8>RBgk6dos8B4|#MWygg8+Z5F%i%LzQ-h$IWCDH)%$vE5I>*vUT|<6Xt%b!hjd-x z-Pom7uGtOe8XS$I_V#$G&8t$lm5N@iq(m$q9$u=g&B0uyNY+#?ZObJhE6y&J$Y*xc zY-dY&a+9&-fq(t@$8Wy5`1ae+KaZFX-BILY8p?AI^yHOpt zS5BTipDBy-RSMK=ApRHJltm^*tNO8dfi7pTj!)lt=k$5%)E9elDehp2tzT1Xrc-*U zEWVqGYA8HWsNdD)?9b=>on5Yef3i}~g~?fYo?bKoiu6^pPNtE+!Jij(sRM;JMr{ZN zO<=ud25j*Z87ss5hPNS-vm@678z*uqrxJQ&FbRVPgwa3n7Y?F&ax;4h_ej&DxuVD4ybZ8aVJZgKVP#g)ZvLaP1O?94XwRWCSqv*qkV*rVUA%c1>mzPa^=8!j0p_D)SDM27$VSJjA6 z$+$DjbHdyKT>o(g#LUaqdV68=fF0j2{@=t`j#&hF0s8VlJg{ebGSz~;4^Um0e@>Vx zI2aCXMCDXCBi>?-&rSLGhHxTwZrFRBD|$^L6x$VfWL5lVwAv=(30tBWuNxQV$z;ZI zeWn0Ol`_gg`Li76Cu77^4ylMg7e7w#){L1O)Qxqf4)vs>)UX&p{k0P!Rtn|=zmv~$ zAR4IBzAP~8km|33X*K(QK-{X9FQPA_(eqtrI>~b$huMUAh*P*AGjM9wXzeH)P6CHL zQASprGH_~ChrC0qlYt~41$gWLn6Gv9Ty!~rdMHXSgZ&CnJLeQArJZ_Z|G)sGh~rwy z$Rsg`t|R73dR>TC*{1J?(PfdiwXtG1n%Jf?C^(rw!WJ9AZ}P;A)OcDI5Slc4g}J#@ zgRW1gATyf+Fig{^Ua~H+thX#2I<&AyzWNSz+n1L(9WcdNWUBNt1$k$OElm|$wC%dY z;GjzF(FVg!X3zd#e$U+=bOq}2u&~q>=2_GB3gB}C%r<)g=C|XR2KHDl-*gq&b<#ks z8ykFH&;(dZLMV$oJy}==fG`Kc3Qx34(N8kUx&wBSPe@k6LmW=D++g)9g%425@au8S zC)mZc{{Y0)i*^yCC}_2cQ=Yf9%g<<*NW=m@uTnjxsuT{G8tsMAl5{3~I$z8ez(Qz5 z9fGD$s@!go829;?A+NRZ1I>Q&$ zs#SW2xxXx%wM_;DVmeo=Ky;#V1>F)!>ODT55atK4gn|PZM|>YgQ0}cb2PtOv~g|0*6Zs{h>T)Ui&zoX3jB{s+R@AEll;{*}LzaJ)5Ff{e+SxLb)Jw zgzgJJf^JEro~d-Dym&}gER9-rIHMi9f~G|xq9BNk8zt zwLD<)Tksvy7$m7zbe`sIYPxCljIa?_40?nLs5}z)sT0}Z;n{}d7IXW^nWYVB9-2^A zioc@~R+#2%rTiynjVhZ|QKNn@ggOVt0Jp5}oA(in2v z2St3lIPAJSW{_|=)E=HhG2tb4br1)VC7gb?R^#dErdJtv%m#X8o(|&TUECqIPG@T$ z;&yLM`2!^Z56&eSfZjg>Tx(sc%E40~K@t1cT3_eT3;qbMSG`G|+7sC~qp;m4ytj*;iS8~mH z>U4Ut{}+RG{0XQ8(1L5ML^_N`i$RL?Nl_SWwHR<7G(RCARflU|_ zBPHUX+$NQY3(CIQ+UW$B$0;cKBo&H)yKg02P2)Am6_q>@|n+Qjt^)~Mxwb3(C8);f-U`kmD$3RmqReudmHZqd0k zEYQ--Y=Hez7%0fe-7WvX-z70)45N&EEvy8iy9h6?|T;atPATzvO0 z9)id3R)6NGWLnC(htDS;=&^gZFFs*Dzq_p5PBBz9Pfig%k!*Ph8Z#0fRb^r83rv_m zD)lccD+0~Yg`01VP3}=PcFNs z-5NAA4*SfyFwnyacIg+?5i;-Hw;p$1t9k*%!E|C#BuVov&>u(xrvng^AbE0)-_~Om zcsM~ZO#wd-UKT)qCjon0H2XB{`E(WimjJz}nQ)1H~U&l}K0} z+x#R))Ef4vjT*zSf4HLUxnOP0mWIGhB8~tl&($?${@~KI=sn@t*_WUMa&~rl20>ps zameLD-SS>8^mCQaD2xSW^cm|;p8i@K>sjQnlM!cdSY%-^=p#&_ayXW442gWD*}0k^ zo2u0fYkX>j!)mkNkj-XqD8K{wh6Pye9_j<&gZg2X3C?HEf!uD{v;%mD)J;r$@%XcN zJONYz10Y`uohC7X%sz;>UCWSE%OPKqoRYdicRtoA^9o$H+^Qp{tRc0f1mqEp^f z1Y0z6KZViOsNx4@nX}Rs$F#MHrS8)B1avA2pd8|`xUsa|K`hdn(iQxa%3xMO(79GE zthNIftf-Lt(Bll2P$y6+XmkdJxN4DNnI|4tUVeM)*0+}zx1v7;l3Be`%M>`A0>+3~ z^>>a_IW4xa&a;W4{@{oUcBoI6TobK|vRnzx|5m|f5hfHZGLdozRmQz*@zz@xFJg%P zQ&R7xsWsXr^_O3v7l^nW(JCq`4wIC{v$<}Ac|W}{_jefgte%Lbg3Tof3s3kN=Q>C= zi2ZzWIx;3JW<7FS4-gFd@Fx?Z-wKStK_ewN4upgc^7mr>2T4+=$Bn0WmxRj(th#7J z%A!)SY}T=`88JkHoqX-D2o9|v@`u-<@vu>)Zy5X6 zR8E^VMN39EPfjh4myLSGA}X>mc?{xDg;H=mH0qb6k}Vv=G29|_rYt=&GchqU(MzF^ z((%d z-~l`08aX>wGLU8n_@XhNO8dvJPDI8U`Y9}bi0vw8HLG@BO#SO(fiYQ z!nq%f*@%AwO(0keuBlS6z|^xIo4)bJ=_{aUi1=j0=O^c|iruhg{u2MNI$9ZOsQtiPyl5SRVd{ey%d($+ve+wstmD%2g4=dgQT1v2Ru>g8Y|)~kha z3>$Jz*3CWfE2RPWSuxbZYKuyI6u81k3@lm8a0+_F8|nbP9Jew zeG1lyC`~50WKh#A53jN zKV;IKAsp-CYg{Z&RW^Fg%30{kK)hN@yotPw(o2<6%GR;5;8a!B6!8sQ2k;uc<)z#0U zc`Cy~ojq>iIBkR(9hD1+e<^20 z)>;Gcw?Z6n#vEIvdd9LMQrUXy`^^|-#`^h zLv2K3{rS z;FU;tIU?7WMzeZ9q$uU0xK|mg7#dortE=Wv|s zR6mkQw~95#=kK{^{yak&@uToa`m#CS1(Ai2p30>6v9zw!#esCg0z)jBNS1mk z#@JvLLT=6zUXv$(rWUwY(DUR4ZayQeMG{pJH)-?m1 zUw6#G2ijl(5=k4xHgOX_x$+W6DDiSXNZx@T5GRK-P|Wp}@ygxyY2-pBjl?^TTbtb8 zcu&l43KIY345lmWdT1RLN~PVVog*Xj?d|e7de-*b{HLooA&PjM&nKRuFjl`Peh~eO z6vHy{II1Kbr`(^j_c(|BHstN-I@j4H=4ui#iBgy*{+O~5A5~_*{AaZIpWC={$PPM&&B%12VloY4fK*n0R@~gi}Hj7Za6uR2QrjJ zOIfs*aA51&!LhMWMyX^x2VO368^%}UJ5g6VV4sAN=McDh%w?IGnfaQUi0H$q<>jgC zr%pR<>Ut0{;=0*S1cE8YZ|`gQUilRrGu~~@<(*sHcm8$e-)PlytFOJ&s?+upuPwI>4=ud&Ze}Xj?H|idG&e)I7VB?48LJ-H zgliCseIyt|LjM<*DiZtQ$l+S#3se%wOYy|`XmUE}^Yt*qx7xuR1uDJcVDFep4D7)# zERMIHIJiGy9<0n%da7j^lT}R&rgV*6vU58>)o!tWx_T*Fln>_>VI|ihP)Uc?<;l^} z`RZ!3;k=6>mv$wZiY|G3_M!~&?9`Sml>X+ps&wezl@+{Rj>+-6p{&TRZoainK78wu zBvVbiRh?wd!Eh+`?;I;i#ntn-+%i8e;N2h9DWlQopHxAYasQtOBM{HV^A~>(If({x zU-a&^I;{23X$)X)@vZ?7uHQL;<0w!BTR033p_NEZj$g-|FQ9A;vf_|yv8L<)5Zi*^ z0x~5Bm>7ls3mPL)AuyT6rD@vY#Qy!`<1h+-=gv`+Pcp@mJov8Cl$+Wv>8ZL7$?682 zd^uC%F(T^f>%w@TL;$fufte>0rzIvuS8wlhI&Btm{)k&VkF~oq5f+8QaE6q!%P*fw zq0I^0hn9%#sFTIw^U-jScr;a+`(Eed{r;eDW!aqjSB;51p}E}UJ&{D_5!SxnzEPi`9n3kP`W#6Vc;qpLSv=oshf1U)v* zq?ZUf{qb_GN2#)@B%>1Lz~CS(jjd$9D_9ypptme?p+x?$MQ@T0DWV~(Io{Xzo28|< zD5XfkHKoI@N?E~TGBTMz;>TwvJeAEp&JC2m_x4sB`G3L&;L={!M%tj>wpsKkK$y%Pp3FR1SwyTFwX? zX*D`izA2#}7n^(*Qa(*k6Zr_}YWJEyG64P^p7sEOv>sa^g%b|WEXJz=QJxq!gB9`D z1e7##8>kHzvNqm=>I7^HYgrTU66mTVskf+)5CQZE;<9-8`h2N8mW1t3lv=idSEE;Q zh}KIroYOh-_lbSzwblEFl9d{tisuw6rTr3xdJZ<_w6{lfEEwYfDW~s=WzAd#i`XME zGyCWU(X|3jACrZeU9pSeH97VqTW4l5jGAhtp)8qCP(o>~OyeM)bmk4PIsu$v4DVks zFt;$Q-`jlOeVccRIc5KWod}4{-@BtKzuT9qjy^VGE*YrKS9oJ7NfniZgXR1_hSE{WF$($fl3K|{C zbfh%&=~eH(`}^O&`YPhA?n0{9UijdV2Qp+0#CF{Bh#*UGMHj(|Y0$`4Y|? zL#=w#xm%>Te)gVwX16L?<%qh+`b&GKt=-Yv>u9%i+J9-?GnmWe^Mj6``|tz!1ke1w z8*KUj_^u-mrP>A&6;i5-yCBxG4OoAzIWSmRDM6+%+)2XxUAXUJhR8|6^OGw78?sqs z4kr$9G96Cn;lXGf3&o#jq|8N;x9;#T}s3Shjr=itS zt$NZ;vAd)$wMOda3&dJq zcZe;M>8)dka_i{m?6dP*w#+~K>>KLP&02vLU3f?(qbTbu&?QkRm-u@j!kA}!)YQ^48vbYQqSs%F z`77OTMGK6y<~|@1;HC)Fg8mTVCQ@>iN)o)^9O=0M;Ds||D1aRcEG)2|2rHDYGeA+v z;1Vogi4&6mq;gO=*f^eq+9ZPjlfbWxo)`f^xd{0trl;uk36=cLqw4(^6EEF*>)12T z96b2ogJTaoaN}y>gZx;bFqXdsme5|BZ7nUAXsT64B{=?96VIXaBL^AY+t4-pd1u^( z)ReP_4jr0nwfSfJzRU5BngwrZN*#_;&8ymcD3sT}dbS20Q8he>E#?++K2703VVhco zTFkW;CZ$ut?_#qYxCx3w&Tjn)bqs1oHBd`r-Q)f&t3oA9qaXBCRE`kO`2C&!&)#}Vj`kAgmo@up#kxv` zNe)EDjal0)eH{oH}yA`@jRubuVX8`xDpL$?kF`t>wpeb~ZoXlT&DPMH#( zSSe8mYVMK2$XG!gJa#&X$80UkigI2rjS16rTWqx+7U}?sF*wjR#)Ua}_fu~sdp+>P zv106LL#3aTlLEU2AN0(h@9YkjiK37t5 zaW;E#No$r`dt~-}emW^7{#F8`iKeJDh4N+XX3L$kM|i8Kw!mIso6MAfk?`uHi2Ap` z4MkQjMn577&d;l=s&0S}7zl!Q{~e*e2|1_&_UJcG<_>h16f9Xu(4m#R_0MdX;F14*?zung4~)b` zoNl*$Ab8H=UTxgO%`_Xu)Ue#gj!M0yE+4N&?gs_%RGn%9M>IlmH6XphEma98-#8aJbd8 zsOTUX2f?@`Io%g-0BXGPoqQfD75YU=Atc?!hNxQA-r2dB%jpa>T7eP^$HEeOD&gGQ z;Hk?sdAL%Bz^=@Wdp&~pr~m$U+PyzECvpMyk^~4+0P8y9<2*sPCZn2Fci=4j@sy*$}ZHRtzu+`F0DvCe0*y$fiOS9ec zWeFx)ummXV7Pia8ZGy5G3PKdV)GJA=)m#`9OgxB;&V%OazK|!>Sk?A~QR&bNvudB= z=MtLNY=iab#oD)9$vGWko6g;I@uu%=x_;Bm;A=Wy{sP8e#fw_It}qh^p`2?xO=h>g zhR7Je)Yu7U{vWRtvavF_j!pQ+u-b@1#2)9(PQbtQ*fayK4C6xbUp(9ueu`1#85qHI zpIyX`#VjU~D_SUbSVEnJE{B;b38{1A%4%Uipp<*1P@fX40C~t}X)sYK&f~c~qW7l$ z{AXlVkIRT@wl*NZn7@iIbr44_{6+efu?wk}Aih{&&YIaZhv?}TRnGorfiOfbCyOm`( zaGJOxE_tsquQa96^59;tmYO6YRjM03gjbDhN*G*GZTS*YLH<1DsO9mw>@~@#i;Ivrr$KC$`YX*)--ZE`LVNz4@Ud z@OYl6nRk_Xla&T9Uh3)`QU_{bzH4P=j!#RQJN`kXvFY1*!v7`8E+8M2aKBw_R0$+@ zn<{Twj!q?~V+&5SoEQ`mf3Hm9rV#(j)+M3lj`^cU=g(57MNOTr3AqlD$d)B8j=r3H zH3nyALd@hYsH><0tu#hv$Csh11w4K`695lpHb8%C0V0fwikc@5iikYp2}qg59zRwk zC*uHE8R4i3`~?c)-vdvOP7o)_`2#pP5CwEVCJ8WxRA6-kZ2D||;B3ytr7#=UBU5o2 zLJWhk%V^+acqkI(3t&v6$sjk#A#E!$IZ7KFCrg|K`7oPzd7!bv?u+ZHS}8i$K!Rw4 zTDXRKpYQPcU!Q>aG;j4|<+QrlQ>Y-i!+u8kSmkWFqjYS?|G!qqX$| z&GPvaQa|9mRj*R}H}RnA0Cz#m;!ZbkCde2H4tQ@EPF*yW>u8{8=0aq}I#7(1U?vU= zV9EnUHyBe;1I0Kb5D_dX^cAmt0vS&D3G~SDNBS*t!RN!P|7nk8y)ZV|#g~fv)!Trp z3WZua`XIR!y{7S8foSC#mG`!o!ai0=7FxAS*YDi9W5-0_=w^7_LHwr=9v`6n#_Hd9 zQ4ZGM-Ym&Deo#aF)JA-k&)^-gYSoY2E0NomjvrszZOWff7w_#qO{p*h283ZjSE$w5 zVJWk>xSHL~L3qHEtL5+T&%ZYhDGSh%2ENLDfFbI^XA7L@3fv0RIuT(iiWhnQlgx#= zZ(}X76hqFnTsT&fMQQ=Jt>@-|c1a*I38$1vr4xP}*o}l#@Pw;cP*+E?RPV;AI(Gr$ z{M=Lqf_Bx_4K(!5-0CYcr_Jwewm7L2x+)eln4Q*4#O3Q!#bvcKA_bIZs9;+rwYER{ zcM9#FO{hcMu|RBHd}U!_a&d8T0d=dss;}U}Y^d-r6f_29CtrGG<>s4L4ya4eW%u3J zwr9_(xUwoPv3iu?`_hAD4Sf{}%T&OkT~W#L=sua!m)qq<5KbNt%k}Yx(H(xj|J(pP zaPHFt`s+T3dm15nfc=-MRt)@;dTK3yw2_EV;Y6|ykO2F#I8z=kvKY?cVX4Hm zrP8lcs*cqXDRsdBaG2pXqTD$=yqHeMd6bnW9(dsJ9C6#+jrZJhHxjyBZ?zCF)Yt5N zci+CLy?dwjp@V>k{s39-MH*G5e$Be#{{H;o!}GhPbksBz`gf41b~wc#Rg05l#ube?niv(u`YiK1EF8pLj^4rugUS)7{>r}kR zPatCCPdUINA#F3sA6Q=j`XQwa)LN8@qiXP0GDHlNBJ-BXSP~SOJW5$6emc(+Ea~?- zg00b%1sp|%y+y4B*K;Nq^fBnku#s{NjpB&fe0E_~z9(mnh~1GAzEudl9x~Aa@((2` zRs~%qrh0s68a2vN()NTE9X*QbSuAJ`2LOA{{5<9Lxw#UTbSI(NH)Iz=@8b+J@N>gv zw)U3!xzpItkT1Zy^owVa!a;SlHR? zcFiWvNYy3OZN^Mr?ABSHl2{hunVf6he!*7b4>r& zi~&d%sgQs+ByYhDt?|^!=O`H^$2C#d(OGvN*Xzr0kvuB+%#l)qUBR{UWukUdv#q~> zrlKOnqtr$szy9^Fzg#{3uh(9C;e}5>{rS&FcjE`qO`#AkufWRFQT+GD)r%=R(1MIl z{1Ikf%;C8AFKjbr(H#@_+%vI9Q-U^6RSfGZjQPB=LZ8=H=;~6bI$ecczxu)#UmP?T z3`0hEJkyA=yAtwkKY?DsAMYc&r=ZZ9z0>jeNV8O@uc}&ouxgI)6DcejDKv2S3IhXku^24iFjHQ7 zoko3|_yn1WcVE{@zp&XZfhs<0!QP~mH0ngv)MkC8(P|7x8$`xr$u%yCy5kxxtDdvH zQKBXOw3|+wWvP@eTUUhIAIu*+Hor%aiwX?B-3Fnbcq58&g$D9cFGDUN2+;#vv)K)` zvS)!_$D*_rLm;axzE%_ebqJxr2nFdg>UyaVk@i@(q^&I*gQE zyic37pp-jP7moXa1W(~@PAC|x{&31xfNw+SY9vYfz?mjcgHC^en|0U@m{_S^U zQIL4`Dx}*S&Pj55qh_l|SFi^nA*jodg-T*su_7WgsGZy8X4S=N0ds3wP#(00@8VzQ zvly<>Q9CNeePgNzZsRpZ&X=-caSQS1vNUU!sZhOPSP;wZn7!i;qj$1!q2BCz&|uW5 zEXu9!>xduif#DSuK!X@*gG0^;(w#`Rhmug9-(7g5$`jwI`m@Sru}NLOdcdw~mZVH#eKSj0>lQ zr=#{^X*Sczwbre^)?h~+Hu33Vbz)cGbb&hGP^T;_J6LvOY3Y-@vJF8fd(1d>pG2|+ zQAU~!E}?4{(1eBfTWOLxO{d6JFF95?hC62tAD%gnC(a@(eUTy&%rI$sbp!EVMDOTm z39(%nnNVoXDjC$DH^SqC;l-9p_B4}XcC_2W?E=5h8y#MYzw4on<7tTFSjjFAj6fJ` z5mRg&)=}C9e2XCnom6R{#<2M$qw{fc6BP(A=!Fw-xro$&c%&i(UL~I~@v(}u0+uFK zC2ErDoT0S9%UAF%9N538O_hMwD=&|W(bj{fw|hrNy{-EW_S`_(+m_o@p~R*jg(qw>NBg&(>f9NDCMP=LUZUw%0`B z*+uXYc0pI?nVZh}26us+B{zZ$FbG%#K>?m@pMv`21ZYcKf?Z@o;2V+#8*^ef7q~`7 zvl!3H#SBP?bTp(x;!p&SgJrl>0sldzRpG43Di=DHl4`MD(?2*kU03Jlp~o)l2&OL# zSPwfh*W|5b=S9Dx_M~fNr%Nxn^2+hXvFopY5V7bir_G=gNQ5#5wQX#W>$advf794_ zZJhXF1|>ddgkihnP`35qY-p>V_$64CSsGQLddJ9`~$5j9{3L=os0CxUje_tJ2sIz5olZd zK1t>iR{?JU*i1$;V7zCzZpf6w3RUIsrptX)d#>MCjA8aQbYRWOr$H^h*EcnP0vC{>&$z{Mi!}I{Gb9 zk(w*yor{LK8sZ-%S>`O2rc^#{UlHkVS$Ob4VQ8pYT4-)=69pwB37I*Pj;RAsl4A&) zWOsf$n$(6Cu7Pr#1(C~mu21A&-LaWrNfSf7B730#A zO;Q?fVt`lhR!`|#xB6a_N2rVERTVymEU1yo?ixmOm7MazK#9;HsOPyB7O0xV)h=pj zI3;lKBs#rB$dqyoR88F5&@h%vYP23yOFaCS0|&%+-Bq6+P0Y=N!|YMEQmVTN{fF2` zy&kdWs7TPLwhTC|*6Ew)eD3!Tp(`S4=zWRMsT0t^`2v;2;G-p}Hr63p`Nw_u;DnFRVxC(je7CaQx^puVv=i`u869! zd_!Fu7UDHplE9DT!6dE+QvwN#)0sizV!)011|wO1P$=iv1z?}GTZV>a+uA$^HpQK? zPFj*ptDhkB&O3jlMF0BEJBUK)_wUaNJ-k|*96`y2!CLMx69ILIKf(*CQNO^<9_P8j zO3ox(f)=dA2c=m$jRb~oShl&Z-vVo3S48{_@!@onwQI~Y9v%y#(};6}W8rah?jtdq zs#@u;uqwlk>`6o&narxjHRICzmb`D<#?892Md?a8Z@3NUMkQk^Prxpx2zX++lKUja z`4&5}F0kNoz>$H4fK1pe!(Xk*FGw`Cs2<^aYm&Jpm-twH#r>uN|qGL=WUZh>jU7%Rt;Yva`DErW`@TV z%O;b~16q_HgGC1USUQp%t>Sq&#NFx9*yuzZO!kBYAhwc*x@5)*ucSvko>8C~-cf%q z^jTH_uaWcCzlP?%VN&R8HWLT}POBV1BG78h4uia6nFRw3;s~GNe*mYiH?=?uYC~J7 zOy|Oh6Pd^n)%WYjX0kF4rQ!Pr4jef$K7R1BrF_HrJ0~WN964~{QWWZqFTW^Z{){60 zt$>BJ7aLo%E(Pk-!mQE+YnDovt6t{IHtX1T;Ca92Dl@~8k(qE5D!lv`7BX;2v0S7zUyD5HmC9=(EV#?D9~Tg|K{2!dV43VhAP{cvnWUNcr#@*&Vy4^!Kr#?%LKx0OxXH|+&_%FXdLN2d);HM%<;45G_ARGfM0i7I(3BMJ13@~95Cr%h-4ix>F*y`*v8?6!b z#KfNm2By&{WwY0*LLt7WM9|}NZbdAcg46c~G7;~goy0|yLPHXUFgK|TYDA2pL&U?V z_PHw7x|+9?I(CP@{v%OUJ^F4GD~@ zg8M?^%%IsMF-RoBg4E^z{}_7@__oS(aoDe9Ygv2my)4<<%eIzfTejsb@4e+cGDzZ( z1VVs70);S>Ko|iM_6mEng_f31aCaIF zEYwH*%T#Y}Fq{2D52FjYY6X|*F;gh^1@m^Ng4`>9OI6UkBaW z+3QP6EkX!~3VBI|t|~k{JRXZxu@LXnAfmj1KKTx!4&O5@-HrC{-apv*vY6lRyM;Dv zO&hFb#P6KO(MG$UL%bNWcCPrh?N+ynS-ZCcr+Y1yu9P`nM$}mFDN%yw7T)Wq9(nJ-6I@j_vn>cGrM0ls*KpH zD&>57MU~B~8MCHB06Q-DDNn*&ifV|3nqbPU^PK9A{}>fLADALwe%$&2ZpL{rVzMwA ztimrn4^T!mtWIyjsF&~@Qhv9#6tXunjg3hsCB60>#kKa^_m8)F*w-7eUB0B0f5Wh=?VE7JIqIlCd&sE*AeERhAE)^Qd8vgN*VU0%9 z3pdTa8a=Uws1pW*VMq_xyY1NSpu^ekfLg;QIC+|^1;#bu`#=KXUIa`qc|>op6dvxq zsYQ$EXPt|$ibw&UAyTdQAtHdG0!jw%!Q-Iez&ly)g2g2K7hw~Q#N%!cpexFoAFrKZ ztNo=_!pga;=dPOnO#c2)z77|$OHo|rsc>o~a-~w#rdM{u&WmJHVPK=WSAtY};ZFXA z$MV;Q;)@Wws8|#6H-!Z03Z0x*Sagtow3uDi(GXA8>gm)))L(TUM>%QeD!V$`*B8Co zQ=^UQ;?Nh$Cq9pdX)`pj;swnzUG>WRv19WmS;Y}#6VZ4K?Zw(v-H>LwTiq-v^T;TS zK9*3-)-;v5Q=2yVn%lP;lFNWibxm0bJMB1PQjYd`UjS z$^>i^U^aZeX%B<^18xLHTW_ve#{;k`ehzFuFoe(I<136tP&5#~wOr?z)A_2l! z@c9pa_~CAd*a)P2;kZZL&oW>9(VK6g!u{GRUr)82EnfS+-W7=HY@{{L>r+J|LqoF- z4QdnPH!X2KWBU+7f|eiCX-*A~#bnrB#Zu-{%p7pLD$S-Uua7y*kV^GTW+&qL+I2K) zD@)!|#3+r_Q5quFP_W6=Z0>OAjXINwUhVSmd>!UyQM9Y) zLyU}k9_}oZ^XLPto$JeBst2nfZ(L)H=It=}4MBVZBMslqvJsY@wvDwubo?4=n4-sr z{=^dRwElT`?VqALe?n)FsFO(0mkB=4-fcRhBXh|aO{>0IKVPh$+-m*d3a(D!cc{G z0@=fYJ6R}9f&Td=X4YlnEwPiX1?ovC$=>Ax3WBzT86Yh8uDV|4Zy0 zrPNR9VQ0m7dn_I6&=pcHE%OU2GS=spsG+FkKf>*OTblR5cL5?vF!xo}OwqMsGb2T?Nn$?H-CX=I-xZhMFaynQbnxRfi1$AP# zgI>b3c1q95s|N?;t5kg5lmdvoe zGEbW{8yW6_m-6lb5GRH-&?Oy98d9(z8?W90EGpK@WWt14>rHldkB34IBW0?WXhcui zc%hKAi69D3Tzl=Uw>IB;>(%eq{j}zWy5<@l%`NctS6CcoHw)7Bs%lh}$s98)3f%%B z7af90a(}7{F(+vhsqzgaYmp;=AotKixl2WBpHjE{`x=Xds#xozoF?wd*!5IlCDZgn zRl;CMs9JHgq8C>ycG00HVkT~Pma!5ZhsqdNtK&*Z5nU|8Fl9pR-Lug1n+AQiq1$oC zXMX?1S(=sQYZHL6&sXw5pV-92{0$V0jZYI6qX45kMZ&-)=;pvTcnhup#ZmwsZw!+~ z$&4$;DiMo>rD8#uM4^NoGNYs8i9{s>EfEi+wvnc=Y>L6U z;@UW>jZZ-;q_a7Jvx@5rq7UASEuIZV2GbW?hOmP2TrMVs;yFx=T_O^mv~?z?KCt%8 z@A#|>!~$Yh#uas1q!z81Z+7bqZWH9AG8q^fmmn1ABHUz9ON@+B=4O};=|pX}fk~rW z>bqM;U-E&jefl2(|gjK)T*SmCr2BRb;O ziE`!)%p7@>C&_UnynAwwKAPJhi=m?1Z%-KR>N$4&*(y_qb0ASg<_hmoOQu z6Grqrx28^IZD?TA)kcS>L8g7tV4|B1P$-0VtvmsCK)S#Jeb)K7;UZLkt!G4OblRqM zPXCgG43lkm02$Kjp#y-x7213ZVowIZ1qvk1b+Sn-jH8Sp$ii4{Hu!xIy?~p^Mi-GJ z3h%^Jnpa0y1)*+Ht;p@xn5D&fj#OYR)hGPj-LrLdLZN~iHcQe1BXz7urU-?d)G>;i zm4d{uH6V&67KlAF4zJh69H%7xb}PMHK;t}2wBEi!Qmsam-pX<3im7aCn z_3_-V(JZVR_?6Qwqf)SIE`^1K!U?J5^8U8bkQM^t2+3?z5x?C|XERmF0#XP@BZh-kHx!T$oi$aZ+Zm~x! z7dV3%XTYly%Pk__VCB9UZ*a*~=BNoLv+AYmR#tZH8krv1xpQUZzDom({!rO9({PPU z_Bo7K7)r({5BshZO7*;+gC63Hk@z!i)tzR@WZ#zxx3Km1&pi0x%th(|@ef6cP~ zWcG!F%szO1yuQ=dD@hn()L@G)W^S-%Z1q;S>TMZoLzO?PHKR#*I2AAP`XLBh40Wsb zLw#5eNZ1+3B(6YAWmmzTftkk)K(%=Kwi@#+C4r#N$K|ze}{hR z5|Omn3L(ONNts&&#%?@b$zn3CI>hgLqOtLbKDa-gbcBle455fFz^wq+--SB=lvEtgWGYPOy0=dz<=H#{TL7iLA<8Cr=^A0gm7npWcT& z&owm>uUDfvHSx1p1n3?N-}i;WWfkXk+#9+>8az}rG(2oozBjDW`h3LSOgiF+Ci79F z?N*cdq(aeXn)3Gb8TFmD**@aoAv8Eh>dQMpws%4uT8NBlVd-)?DckcBKPoO}8 z=u5UQB#*II2y~5Mf0`&Hcca5}KHFzCR+x(Vc9iXJRg3SP z2y1=qEU&%OX5svk{U?g&Jz8Nqm)0R`&Lx8hNCNQ%3^vTGzZw>=r8*M{Ih*IUqB<&* zMG(onyCwg=cDYdXSnj#!ayLk#i0$Z2!UYq4*Pbf#drO^QbCwKRUEpT&<>FSUykgp) z^w(wUx>LV~Ax}njarr>7)?LJ5$oSG`bZawt5wDdv?YQra1@h$y>QiL@L@CVesDcR; z^I#FY8CED0>z>T-@v4SpU-i| zN#eya2Eu2Xwlj*=c#>+PL}ZroJ9LT|)p1=EHniiYP&pJWX#u7TsJ*!dYASo7YX|R;%v&l;1vf)zaox5BBW{Cd z$^6L%0h5Md9!yxKlQuC>EMz-3nShiL=R3*pPBRdxi4JYzK(%K#GrA@yil)hRS5+}bhNeD z?X0!hU}|LREl`2kP2nB+FNE3}THD&1`k^)3h$j_=X6hvKJv)u)l7C+H$8E$Qf7mz-U1i#nz~gP_Amxu z8m5HrZgMB=k%W)aRLm=q(94=Qcw7zSeOzG6ybg5V3Rd|JY{x*rCoeJpL}41-`PQo_ zHjI#s@7US{I9p+bNSIW2Fe*R30vhTi}ts30s@4w2L28s zFJEU%*mk|5RBCs&u=>C5W%D`|*=$`MxVKkq*#chprPRU+O1-#}-(Kn{I({>ySR@)( z_zdjAVk(tEWfZPGZBmy;I4&OKh1g<#gT&=&ZOv6yx|lDTt|?K<*uBlonM`+g3Hwk> zU76lh8S&N@7t85mENZIP-fJ5u9Sw{$HH`!skEMNzE=8!m;>OXYl~|8-=H^sXAms7N zosYr-quS;8H1UG`Dw03@_~ONywZypciQ z-wTkNjjvB@!F7#OVB28J2By^mRDkTy&pw_@?I9p`V2g7YB`;I3cStHmk^z7T$c11y zV2`T-p~eUJ!@vGX@F}rN3Qx;ySd|LY&f;Qb#2XiqJ6Xj1KJ^8?y|ZykTs*}T9u^fX z@_A>ze+I6ftv#zhbTfHfNtutQE`TD}`xBL8Cg9@3Wf+H*SbyzZ1`1)4KwU!&LH(9SE{*Wjy zWOeS=Sbp-E++gOh1UyY7^1fP|wQDXyF%6b4aCq^3YuZd8TNlC?k^w#25c1S$q~ zb{@?YfHVO;h_gL7o3YV5k=K(OB!0GF0O*l?KNTD!?2Fyiv+1dEe}Df>LxW3z-nM?N+|hp6Q=#>UwHEtdO@b#v$!hmZ`SRf% zJ7y@xg$pk{x~F{F(OzDN`wsDK4liI?8k3ual4}JDg~3r&T*Q=)nW$E@Y9!uGR+8S2 z>{lYeJW@(-p1t$V*#&Wg_^l==>$O*!17(QO$FT6aGlfa7+t}+4c9u0ea3ztWxvaC? zI%qDXs4bQ{OEdgD)4*4Yv~q=5=b{wCSfBn3ass{LzOnnLuRv|L3TnFt!0HAmj&~{q zfpFGu>+%3YMPe%Y53kYbXDK@`#!38~haO0Pp3_X8Ptk1{*&&z}2Q^%Pz0GVWC{aAz z8j1yhwy71PqoX}N!^5K^BiZcYBJtkHwr$BT5Du38wlxmeCvEIc| znA;#n5{p&PC_!CGVPPnt)$6rk|F}?5tW>cS0+?6KseeCMV>H?z-|;%pfgU2_loD&m zx>gr7b;zsGtA-{^#?<2Rw3srMCPV%wmy7)AY8HboBJAV4mCgDogrW@%2$Joebk z4q1qZr&6VsQX81tMJ0iiW+=Xf;c{%ARmGRs8a=@>MOIg*Zz6u)l4c~@4Jq7L&4Bvz z6QEaXAh%St?gt$N$$brAWK&{nn9%1FeF$0-)}u`4I4$eVc61y~fr(LcD>h#Mj(N8} z&m?446&pWLoby)~vdBY?6l!-LDHOF{fG8lX)w(p zi+A6>ct92%^u~YRZ8vt5mJ1{#n0a_BkX7$3DT31WYg!{oL%+fwSoU^G>ddrYQhr&` zMVq8j#S(PrN}oE4>?ZZZL}Kk9XjkCnAbYG~e@{i|3fshA&jgGj=nG&%zVt5Gk5pe^ z2J3Nx%uFwX4Syk6@C6725QqmEfGCWG1paOdlOhH5Ef!CqFb~qBAo0nd7FM2EG@pw< z_!xv|*Rit>YJqsV>N><@NMJ70g0MeAgsH^$gv(~%lO^kyAPm!O&YUo!HN zve4yXF^esrz)lafd6e-rCWTFW;&cfMCulO|w-sApHt%DP<*r1+a^jN<+O&Nz>C4=q z>K4~(DZ=uJiSo5Sqdk#pDk_eIX;VQ_P0uS^M!3uKANJ2ubA2GEOn`&$f&Y}+!~i)p z-$s%&323O(Azhyk2^~_5gRlaG7=YlcyjdFZg@?RIwP9bgTI_yPCw|Zr}H!J&{6*@VT|O zdc9$z8MdLZMFJQtQQzH-<1{? zOg+1I+fsI8S#>k{43A%gpR(52h>MUxOZ+lgPKSLea@jA`Q^m^L@d&F6rJ=alJZYSS zAu)J1+C${d&BcPR6`X-iYLZMzdOXKo2bzR1K0S<+^x+L@0_)AgGECH9E#eltyn~6s zc{VW>wviopc$JYDlq8NSV)6uMQwoCRoON?p7n7JeMmie9Vs z^06zgJZ&!Ojl1+|o>f5I%R5v^FO_yiGgMHxR4R?Sc4yQRlbS_Fn9yyPnab1Ykzi1! zE__+*r2E=Zw0b6+#({su&^g>hDPpK?5~Wgd)TR=SD?))KmPe+__&qD988u#Z`c$Nw zv*p02)K6~i@v)~`xMfUA&`#4(M;KwAEx{~qJJ?{EeEZ0!kA}OXxTYZfoCwnR8r$$FlAqP{-FE3>qH4-nw%GQ^u6zsB) zvBubrethv_h*4-=XY#PB^hg$IN4F*==G>h3AgD{~VG_o4(i958WJmlcj3GqAlzf^@m(cwHB>*Wv7igUXFnkgcdDxDE zXW%nfIs)ZeflqAavj*@6ui#%yl6xL)@csfk#e{73TX!0p6M{8zqg8HDKh4-U> ziT+Kg(zO?{Pioi(xg%rm^jXsmH453S0uXo?Yg!_W^A*o)k`&u)%(V8ZTJDM|pZ#Jd@HTiY@#Mg_S0H40(O;^T50sm zlz7b=m3XzhtVdZR&QQCeLB?RYx!3NcQd=oBn#4{;g_L9wUy>-?5=rsnrY?s{Q?K?8 zO)CZZK2M{;Y-)45jirq~kwINtSVUzB0vT_ml&31En8%Z*x0np#<9L8ERahvI{*=b2 zFVmH$=kC6H?$ToVc4Q9*Y=L;h!_ewXb|zmf^Z8V*9w}4c@yLl)T13Z?D%a`bMW|mA zku#jncCt=x`aGD!@`wTxf%@f#2fgF*i*rq3jOdHg0N)nHcx62h*tw2I&C)Mdb*7Gdo0e#F!P@xc15)4G^9?rQn`fR_aXLSV!3uyD@9Dc;&85BikhaTW=>optfPL@))OF!~ z!d{5!ZS?n!k#SPogM)LB*n&N$KJW`<4aGw63>X$ziIAD>jRr3(@DZ>b)XUJMT(DorF<;NH?NInGSJc={8)j#r%Gg?RrO85yaPSlUsmmiR0YDWsF*YrdtQXRBVGyZ!dL z+oWMsO&z5QVNr$BEPwlLx7%f7Sd?51j|)Rr$adnN41E}ZePT?h^yQ(ds$Y6Kf~8^^ zyPKy$*_^@f--;%6nYcr>YP?aTQ)1sw265^qp*BVY{fuX0s$@nTD^DOtd?O(R$&O8b z5X8)v-3jm~KnH-1U*8c<>U)eB>;Pijk97*X1K)7{5tMfNajO|tFBnl&*=@H?uTEcj z>GUdbq|sBMw@BD#mbp*AIy3|^>LP)fi%$HKD4RE^U1c5G9wfZEhEX(C$O{xA(J%Dh zef|08pC|T>jv~+47;)F({6)-&qvRkQSliJspQNVe}|>n)`EU&GMPTH9J5^jD>xyxk7tv93w(lpfY^p# zh9mn}`hU@9K9695Dc8Xvl>scy`ROcR01i;Ufrb4#q}G3cH-n+<2cpLJ;2wYB27_;a zib3i_^ax;$wFW4kP#AgZ%OV!NM6MU{+hq;9Y<4oJw)3(KUOA_@hR2`nwjlN3AHu;Gnn*aJD1nwoMBWu6Gk@{I{s zR#Stx_tpxhC0Pa%{#_vd&bJ-z)f$nZ}G27WqBEaSVI@-fkyQH|>Jf>?+N`+Z8k zDP%#H4@tSFMM2_)b{i@dTYKHxqiBV=R%tS*p-SgEnY9Coz8lSyn{c~#5~omx@g4CS z^AYp18N&?sGM|FDPZ}y|8o@R^1YX*81$S>`Q)q4q2`ZdOfthG$+r>ayVqicS$NBja zEDyeDa{!ESL=-#1FoGek;h;zh(=f>FbDS=c6=->%%St+CcqA`bs|@f2n36(>G*PhO zgAfWS@h(gJrq9Tn&q1P%6vNG5QirXWlpBFqd zJgjmgY+|N^DP%gSMHFdvdUp4)RY5Jx6lyO1HPXL!3W1S?1-m6Murf7l{bTfPmCZ21H zz|o^A1YC&}rU}7tQ7xy?d!7~MxeM5(WAOvH2QM!SQa%iF2wsGgr48PtvIm(AY(jY9H6Am+{O-zFgm9)e6P-UYU8IVLQLx78Hz1?$D^lL=TSZ zGCDp?UHoW%GO{+!mZZH&jb6$(7W2hz5^+onsjk}EnrmbxRMI3b9@n%wv+@$tg*}%J zNn?Y;VkP4`6JM-E(yv)e0+vI-(S6O#7k?}-77EZ#H7b$Fv~-Qhrc;%0g|AS}Y^g}0 zS94@^hTWhn6;X@PJ}PXixo(bC!&GQk2D?yf9BwvPC1U4x^c_}>&6)A~hlAWuQ>dHc z?+#hxT8BU5QJ1)(=IFzCh{~9v(qxkNb#pW+{lSG>Zdo{}{BNhvY7&{kUjs~od#4Y7aLB{G*+|GtdmN8g^!hRloEN# z{c4_y&a&7nI&Gl<^F9mYB z267=?5imXhQJ69y*sh;v?1bFfz=fexn0nP zDq-6=B7Uoq1*1!+Vlf+^$?#PvR&U+9b+;c;=DPzTq>khy16<@)L3cqUn$WFYA%hKDveRACMz%H zsQfA)#TK^172b-U7D#xqRn@GjS^ZEnqDfR9arreayaQecvEnDemac-?mc{}r^xWa8 zjd*X$*-Tb`Kh$nAdc0}JZRDv)6y@bJ*wom;0Pe+R2F3zbb0Qp$1kMJ;15QDT0GorE zVIY+wv?`tR5i(tlt&{bS;&E7{rUX#|d=Ih)tP)GoQz3Uq6gm?OR!%fDse5V-g}>`Tj*}4NZ-HIn7>-qzZ+jta~%s@eYrDQASP=(UIv(# zk#$Gq1+mT96ki2-JbjFGQ2^HGz#pPgBuvl4fDBv9=fZRY4Uj7=p+H=C9Xp%fzW{1F zd|n0!!>L95MeUzi8=9S{^jAX9zEUmbhh$Q70y5VX75*YB<=7+vEn#av{q^n-R#zu> z@19sCv;gY&C_9NCpuieooq@ge6x$N`dly)(Da!{oTb+$T_+Tmv4&H3s7&SE?PKb%W z#-W-3YVuwaF{hZahjIA*kSJtftx}Rd+6y(%O}GX+_tHy^xVi(by8Jhd=382Aw+61Qq#^v4 z4hEdbsydC5D$`shQ_bbf_4ZQaS2lGX@$G48EYaWd&w_r$Cj3_&12_-f zl?O%0CNSU?D`a&A$Y5}3!%&GL$e;C7;x)F(42|+^R26N}&(OF}$aUx+`>VSTRvqXx z`lZsFPMm<&v|E*NXU*bThnKb>G9a#GvPmE+hgsMRm>xkdwJQZ8p_tEuP<0n-)4F47 z%GBuX7aZAB6^<`nvFl=#jc%YYIpdNAJ38{*gy+_jYF% z2&HxWrj?3=cZ8P&0=c%dAydE6&TT3kU2gO7YV zPeR*M*U*+8scQ7^%}!6v@7+5;HG9i!T?p;Tb?m>Oa=hwrzf3IC)c9oDp8ipbdC0T9 zS!xzmE0hXpYj9^&sF%+~2W?6!UrnE_Z-%f?QGoj0$wB+fRF&HlH}dOSDdZ0(T@1GEStKjV%ohF2#uV8PazBuWG96 zYA51VzI`3JmASop=T>I2`-1TxdVOeUh(#WZ2J@-!1-{O#Zw<(6r~HgvKphQk#`Pfo z1_$IZ3dq|q8OZOUFxZJ-%_lgrfR9;(nI3y*WVzw=eC4jXmOY-)Pf|3rkiOpx3xDq) zh|&jtQ7cGwJq#{~?U8F_<57cGEW8q$>F&JqMn%-I_C{IRAvek>%gQxtN6H4=?rP6m zO?_RunJz4vqZPKzbih|RgE~ugMW>Fi<%-RWh2G zPKN=xU{Y_w2}C0enxRSCi%uQbS-+*GeoK%OaNEl(?6JuHz2D&W<&yIv$=`{04H}f* zze~@Ts4Zr-QV1TQDrIqnf-ZoyN$ke9iB+9^JoRa_tgd8f z&o|rOS&UshNcy0Zg3{0L1Us|^qEF>#VSvwrT@|n}^MwLZko0+iz}92lWdUn~JSi39 zncA_tZhL3 z_~YfKwq@4>%#WS7^f(tO74yj*jeUD-F3Gm&^;gY4|NL|28KO9#84`uL|Emc#sfdRR zTYST16H4N56y-uk%WdOkp|NCdX>IxH+CAmt^({>eBXu<^H!q;()w#Kan_-PZ$f;j4 z(&pN_Cw*IEPiB%8H+Z1?8f2~zWbSuhPnrX^&o%%CNZKP4W$TIwtOx9hgOLJSOSVyk z2dCW>H(xmAhPwT{R36cm{z=m6%1E}-xKK9weL2z+uc}O_x{y*#D`FQFF}t`*w0of` zlgljCcI#C~=3jjAZu3B0j(A2D@f%gPK=wJ+VteiV?GlM&(Le1E1n0ZjL~^-I5q0&) zZ%;I3Qa#nR+izPz=^absTW{Q57eH6#I-6iHX<`?TlsQ`1!m6lmlDCA;y2U8HBW42En#-BxL*d1%8|yrEtr1i*I6XHvKmR|? zFOIM)dKPwnqZK_hIQWyL<$Gz=L&L*E7@uVzE51%G1^d7TmUbE<92k3;Jl9tO%Sa6Z zX9WiZP*-HY-Uf(C5in#C2vRaM3h;mr!57wvd0qHz;sAAoxRQnj8oI4QK9~I?!+f^1 zyGQyRDF30LF5+|4ceTbKKlq1}*AhRr{c6i-yB`%Upef=O)R39pb#m>Qbl+Tz^3%@F z(r2rKFyp(e2-O>cszI4e^&WC^Mv%%=jWoKo+pJ+nWXdRaC)=NGO`F^5+$zysPQ4DI zm{ib>cR>AN9n5Pc_g&^045Qd;gTEZ2DEK&7wqU^#6y$MAI$+X#g?%UtSfZ=4FErUHc!kqY{}HkM!0&eF)5NT=j!YRi=ka@(()8F9QM#pT6Bgc3T0$~A!pL4 zbSk1TTBv+FVsuy7!$R%hrI%hhC9ZH*PyhR)sUm+FdRGyQ==!78HC0VAdA5K0u6JTn zsz60F>{Ihq{cOFQawWqqyMQUYs%H7l2`x{+v{dMnz4{_OOdGwTZvi!~&dn@z9W0Nz z(c8~6X~c4S8x~Ih6Y=M_!5o=ps1wWpTsAEQQsV)s=V6dn1lUJ_XTWo%k)|QA0qF|l zeO65VBr9OffdT_e{d8*kf!6Jf-G>{FwBz`ask0Kjp>_PT3W69v^*%fmN_*%GBUi_Kh`%lcQIXD+?RQ+Pu%IA zyWpEy{!FD`(W=ycR7hXEd@0%x%FgBJv-@IU_0gjoulv?p=l9J%`>*9Kk4f|A^#bp| z4d-=(w@|YovBKmimi%e*>IB#s4)6sWW21P(!(2aW9^2PnknUKm^#_RC%)F}&mtVeo z`0zDS8m&3iY?fcO^!Vd1*k{udYkO`X29IBS@$&xtD5kE+=m+cT>eCbIA~*d4LE-3f zb@g()urTg-1()w$LCIYUgDZEe)&wb(m6frjm6fHp=6ibP;Shyj*PH;H^%n@>6nJw) z0Z!7vU%WxSz8wcjzizItYh#p&?OQ34^o&bVy=ykxK1bYt z38phzffe}bbvPg1hJqtTPOKlvT^E?Ez9c>%z$1WtiR8pL@(@M9L;1uYnc0(2XD8E( ziOjCl&ITwFlI>i0>Z#-QmbDUehG<4jzxfR+R5|@Bf_P)$hd;a*J$EV^oNleIYaXjk zhxT=X0N6DL`&Mmk208N+FkVuv39=W@s1AE zBzFbWYYXuH+R$uOYg1!FE`ovA<20cpe&2nsP%hPb$|t95l9aWN*hS&$t;gn2diT`y zLi>RVN-QA}D2VUEIGy-RYxCR^9;}09p_i0}4M2<8b3KMl{(%k^U?Sim99|#|XEM(X z2qkx`0!@xK%KbflCUA3piE7!D8il~;|M^x0pz(vxK&*708 zpqyzX!~E9Z&!SJ?efQFR_uX%4DV`}7|G~@gl&rYC;+;jzwa-yOf5%X7@6gEjz*PTi zps|oi>+RzedOd~Qd2d+Gn1L~{b!^s{q^!LAq0m%E$5iNs)<4zrDx2mm`ey3~vs>;H zNIXyli_fhFy^r;xg4B$g`2G?u>3RCis|6e^S{EuHD)XgZ`IBQRfP=5=Qh1vM8|2jG zvGTdv>RqWV4Rspn>hxoe-DGYht{rK$@6e35)y@t>3z=Nnp$T()ikW;H<=JO*Pd-U0 zllC)s?qG*R&zB_&si<2D^Q=<-+1iHcwvnoa#bfKb?Zkq9sL8RtY9T(*bYM)`oN$)~ z?$3y#Ms>ZU?DQgB56T@=J4CQ3q0?jc+ud3{@4!TJCWmwME};8Y!5&nRbCZ%VWg!DT zBlwVzS|NE57#2u9k51AAgo76TpKi#8gDjRp*$;eD1`0C|16*fKQQffo`>s-tx$m$* zu!GBg^gSAjx^M$(9<7|KZrYRDm##C2b}l{r^a)ef+FOaleMyAwbr(}(A5~MCC?j|I zRcpUBgu70inh2=%=m*vS-)bfTOm0!<*6?hmF4HnrU%LRl390jM+Df6fwW*jY!5O_T zn=Q2#jy5-q{j}X_1wA4LUHEIWmd~;^%$V znHgt^LsBWwEaxKha4ykUTQ^))yLfyNWp*x1FLoRVqn9$7CuZu?bEJ&pferW?!~`nW z_uuBXeQ(nIy6qRtmssRAP@ai_oFNPp{tByr>}kcO52#s?0Ax5m?}BcKxzUP=>V~b+ zg*t~*$iE*6Q@Qf_yCv*x9R6EFp?LW2IS+S)%f zH2g#6@T%61)DAUN1#;ERjZMQ^6>o&DR7Q{pGNMgw)1C<5XPvfrGQ_DScTX(3^@bUg zy(Blcd~6Y|)h03-Tjk$^L36ITIk!6m7x26iWZk=vn=S+0i(_AKND}j~m~4FtlWE-m zCKYd9vSF=jlKh{Dr<0)q^qFnAmQSzY79%^=oPexcL{I5=wU_xzT84&x)z#JWjWP7j zczh+@wlB4_wbm-xwea-Q_gUI+P`Lxz*XE-EHhqMn5`Aan;A}-*MaN7t`YzKTAC{}K zvoQ3gb)L{a)DfP^)YUc2RMh8gnMVyf=cl(Gokfh1ruqr6E$onYe*^k06mYt7pzY@K zH1GNPi4Lo>;0r|erZ|J58GO!QzJvkiXhF{5MhtA%lEDQ~T#1RA#_h>nwJEh=2b5l1 zZE64Hy`G=_Y^s{py*5-Fy7)b!ePAH1n`%Y>77ld!c$|@niq~XNs#;w!UejEknXIW< zxM3DGtj^_Dj?bc-)^4CIOa&O!Ns59u#pFa^s30cNy0Mb>u~XAF=KxD5|5spa<>*vh z-4rRaHDEvCeZ@+MDzyBE^MT}nEHz2a`Fql$T0acXG~|QNeJ7MyrbJ~(ri?6K@YA$?wm)X;(2*)SJ#+vmLLXA;U=^cwT)>aM1 z(~Gyvpr+N?xtZQeLf07uL=Iih+tW<^8SU$DnLhG3j4+=m_t?Aa4>Z0oK6Co?OkcOP ze73p<7BCipEhmS1+8XDSUcd{s&F=>Jf^{jzOXq*U3=Z&s zAwk*^WUK@z5SxZF&=)~)yz^f;69b`GAVL{T@PN1$saC1Esfzhj`oh?@#)MI{CwKSV zhfJ-+*9AL+QAb!R^03tszc(2(-mRd#f|`iGAU^RSy2ATxAXpozylI!p;!&^FRoLtN zj&x+IzA4=?oybfdn@9Dlb5p=cd%1Ic$qLpq6*35|C5}L+@<1u|<*C4UV2XHaYS|5G zhu~i1nM&79Qle$?C|M&^1pf6&ID0?Ty7{2q5NGRfE+z`u^lkwU5*1dk>60~o*uE8wc zy8`;c+PL;YF};Regc_ADpK9&SQ>V~>&(8-37R#-Q){@22Nn)~mCf(4OX;q+U;;m@S z-0^wTvUg!>+tC^Hak8zx{=<>R#u4JtYk>Z^aF%zdBL&zRz`F6A2r{;dKqlbACHh%~ zNoEW-WeCYxKy&LBQr>|k^G^^K0*0fbP0N5fwOl{h(6BFcuqvhHGVI5bH8s(gdaSLY zy+d~3o<6&`y6cc@iN)+4s#eWjD|BXf%VHj)Rd5|P;!v~B;6x9{rOM*NR3cJdL`l9M zp-@NKCt3yvdUJi9Td$B7hhT$8WoLQ7n{`h)Qeor_=uDR3@|&_M5iiv;AWsM6b>Hgd zcKH^sc(EBhS*>un-rW&CG{YcXvzCvHBz54=h#;@tW@z)2oAe3?!!w=m(SU5%W$BkD4Cg0>5FX@BZC_2#S2yk~Cw8JM zch`6oJYF@C>P)4kTW4x(JMB%}IWhaM9znoK*jiiBj8;-A-9e`jA3XWwWdG#A;ABsi z9X&=IX&s-~s+45rx@RZgn(c0_|4oOu+p)0c<#zOBcl8e6;=^Jt@o+Mki^uVq=mj>g zd0vMZV)?0{Dbn(R3gNsp4;lcELBI;{oa11zlP_BOf~oSmMzWf}b( z9NDsl*~X?BQR(EUBeWW-Y;fA`6$UJay-1wJvT7xvD$|(+-?D6 z35}6(jxQV*a7V^_@<`q|F(gZ zOg;JJadEhW*f~KoOw^CnBdXE~8g#E!%1`)5tLrj#afO`T`WfD&Ks=95#>U2C#7nGj zeBn+oXuvAi+P*(RIsDUl@^47i5LO0AT!BFoMzB;;d{aH6595y6nu?zdrQLGY{>b zaiP|!WZ=LoU?{Z1Jr8~9` zh)bp$>#^w$b^g_06TAvGt8%jjC%<7fc^120g+jnCE;F@Zk_IBjv-M?gHlW`1P4a+V z>QaAntg3c4F`Z~Ih_}r?`Q$N)&qC}Y{yBl($o=VEe2ow@=;$L#C$zQ_BX7W!bWg=< zYpW-tiRIftckapMwsv0}qSX8awGxkguX9KH+HL4#`9j9hTfRLUZVv`81JfI1X_%a| zkp<7QY+as01;)CjJUjLHTyXd!A>X{m~!(K>6qRxXdBz zT^ntjZ0Kz2sndY4yk{^yecZ_JPX6rjh99;ol8J>Yztw@lS65bEJ4K^+yNIVME62(q zuLvg*LJZ+Y)IN}!d5;QjJi?Qo3M@F!2wx;!uImGkG+5feEpHXT!N64})d#+Z(Rt^Q z>zBDQuV~IsLt{})VPDYi8L)>^?zC!P{=k8$sU4FX;UHh#qTviPWIOLTU^X8pYjUB= zzQ}mAdNI13G?wzjv$;F&xK!*h5)=q>YavEAjsIkwBlN&D#~} z4R!#p2_R%JsNO*17Nb9HnDtVRn zz~Eyyj69=S=CC;TjG%8#CuTFXt8rq>(Wjrj>Z+S>p1l3`Yp;F$@$2WBn^p4t;AJd)VGb85yzdiwwSWvaMsjf&ALAfc3f~P z9CQ2Z^nClJ6^J*U9q1!&gsKuapNZ5rS+Ja1NNU)Wz1UpBMgi6p82@1XL1*H+sDfv} zn8y|%7!dHDFJm41Xz+&hARl(Jj)rR5Go7{6v&c?Fr3r{yU>ZUrYs#3=v zyrV3@&&rmnjUJ)=LSX7!MHLPxMk`k&66iC9)2m*)?4Uzl6Ps>mt;-CQNdi^ANwZyM zZGs zbZr^zQhE#Ko-u(FDmUj#p5<=Y26k!rwi_~n2+|286p2p^pL6&eOND$Q5oZ#~`4!~$ z8%ovMAKxq%?B>YPAE(k|mE~grmd~j+ORO@ffOvBV{jtwqrj!&Wtv$k7f%H8ur_@Tk zP0Uipt#*gMkO)z%j^YAK8%mO}MA;t2XS zafaX7HhjoJ8>;wihp?_DxBt0j^w>M^yg5C87sM_NWuLy&NZJ`JnDhPsYEF@U8r#_ReG)5jN}5QNu&UI6<+99|(+6MzFJR`GNB3Y3MG zfpB!F9+}=9`rw0ady~l$^j>K!=Kj_Pouy@RY0A;eofL|G94xjP*M8LZ)ad9_eJ?^Y z3x#7*3)eo3Mu%dtWB6`ybiB8xKbuARrKP?=ceFc-vc$vitvis-w$0sW8K{1-h2LC0 zzxr$|`Ux~oTnIPI^$Wvy?v6&Ui^2u+kPo^F!@>g5^iDFvoFg|xZSn#LaR@NL(ZiV7 z&kss~-GM{QWChz2PqlG5omZ3dyX&@51xdo0U2(|##5_Et%m2{tZ@;!I%Sob;9%X|ya>?Y(U3VQ8d(CTySeBALla6`M#7i%IsOS~_a%`fgmr9`< zT}Fw-XfTNajOZBR@&!5x`n%9xA|rN_Tl03sLu0A>hExlKU&QPzLO$Zp)KX7)D|p74 z)v1NK-b*9sdrw_?WKX&>x^@3{gdPoK9bIXDoM-0Pq}pP;zK}wpvJHAh1EZ1$Bk1@l zYG$sjarvatIA$2Jvaz02f}Qgt=mWy>SS%;;T=Gr$fh@@zoFGr~uF z82pq#Iz&7+_5(@rqCok&*2~TntAF9;I?XF0vyr#_!dSnA*lEL_ixj{Wgwm9fUIcRBtR&vjXqNsg5lbo>r=2I_Un)#>~1zt&Q>_L2D! zNAy*^xMJdGKSOMp-L9oF&7)A3S1iIjDBJHES1&xw?Y_R^nEGRBeBMSk&w6aSSLz!m-kFz9c!|=yCRnt$boF zGFjiy*wAkN$IDge#glWSs-C-jD-z7LG%m8O=1j(J%n<)w5BgdHa{DLXPvj@QL1Dm# zuLQ;j4!OZ!jV-wUxSei8pko^agNWoTATkixUykvBe1q5Vd$7a;J$`w6v^^3Vb#-Xd zlLs;f&{VUIE)#dDm5eMrbIA{1`QU>WUKo1C<$B}5WLn$N?@K5J6Vq2*aY*X25Qit> zB4kFHjvIClMXD-eO^KU!e$PY@h$1ik-cCoR)EDd;?K%;P9D*fvmb4`sk8f>XdBuDv z5+Ztnfu#p0QPYJJOS2P~hbgu2`n9_=_F=5ls4%nY7SQJz$lvyY6yJmlR$`kmD}0u( zlHu5(Aq}^6;9yC0cC8ReN+kPXgPvqA>Xy;eM0tHKD%d$TcF{%Kw_lS9re)$BRM1{0 z30T%H85z0my4BTvvPhRbcZykf6?*=gh>m{W(VUTV=;PYa|3}w*07g}%4WOKRGnr&& zlIgwoo|$A?`lR>XLn`SN5}JsD(i96IsE7)7S4G9XDvE9GT|rb}?XGKI*ImVbnZx_e zoe84vy&LXKGBYISeCO-6ni`Qfz3Tj&;p)=Hk}*ybrOO)&42N3$xhrm+L8Z%QMrS&< z<{@=B_D#c3XgDz1?6veO!~+8y6}!K+Ow(iV);X!!hQ=AtV8oDT@HWK7_>g~J$mnui zFz=g8re1`A*#cgi(MT8Q0KfpUjPPctPddx12PY1jWEd9wCo_WN>O>JM5Ya-)9^u*~ zf&!8Yyb4hA_cA^*az6w`P7I;_{e?@S72_q-w5WlGD$}6vN)fsnUNo2UHqM@{} zus-+F?(9rQsX3z=m8~9`8tJ+$57nF9>KcW^kXBKPztiJ~QJ5#|)~+tJ@VL?Dxw+=1 z`A)r7Wm;|>x0QnKM|@;=fXpZHlm+YOY+52_XaWRq^mZ}~D9(QwMgy3_w1kM01tE?9 zPn2TH#|RdkF{l{C`9qcOd0n~vg=Hg7eEqN{-EJzDEoSlhgn4@9hK3+NOOWsMe%ZCy zwCnoa%rh?K`SuN97DpmV zpKS==n`d%2vvL$CM(Rpur)>MItDP`uLCnkus$8T1?U76jj%!P#$6;bxr1<|wBU->b z($?N6Wzv@atW42o=}Vwlk}fzzZZb(-5nw+NBH_;HPK=@n@FyiTY$^1|0gV$nPf8P;who2A@RR-Tp}dnqtbT2Wh6q;5>Q@>~QpSIcf42F^9KY`6=Ik-c1rMG1Ms zNj$ACH9yrL=j3yFDHL4nR1@C&iEO;7YFPmkgLIIZ)rYF7$`Yz5k0NpqI%9)>m-v*_ zkW)l_pCsZ^2AJHIpm+$%EJ%eojsJl$;LeVKKoonEb#D{LRwxpSS!Wr!W#+y2uN=%purY~9f*T7h_<-eO>ywtk@L*{{epyFNZuaK3DO9@_ zRMWl<+33S{Z#a8;oUfew?)}BZ#e+p~O;nZ5;4r!Yk7b6=e%$h6`~q1Jff}%T!N;Kl z&s!E~U~!%gL36_GVB=?U9+(;tQso6-zsGXGl^A*OiutvOfU3NhI z@uLs?ibT=+hJx?#3up!2wgT@!^YCrn3Y3TLk>{4QO{>zBYJS~xXEal|OyAgML#;ul zI}7KPPR`Cwmd=!xGI<;aAg8JexOJFhZ<0O>@aGB7fh=g^YGJ-5wg#;E4@)MlUSlG$ zc##}_f@33{e+WmWuUL6+#q6&4a$dRse|pF*saQNa(eSxILhGkKGp%Y3_N=wqw)6*Q z&yjr^EThe0-PqzhcSG;6uQb$J#ZSKb9I0SbpdDJ9Gm)NhymDpHzjkSD+pMjv6AcZ| zmoHY&n0pKId(4ye?!4J&%IRm9A1Ij~o-JQ{*{ZJWb6WeRn>||ZZ2$U8^%mjCFa}@T zYhK^X?%lAjQji%Bf=`nRQ8P7k*j@x(8d-KLPzA6kJJHP(`y|gKA6ICmUYU-4n@p*v zKTY}iL-(6DbN*e?;mo((mZFy&$Q@fkr%oa7glWVKk-sPSqx^petGT^Ub@ZLMg11Cc z%*V~6_&O5n2%LTl`g&I;{3XzP|LqWDIR8E8gqHri^vzblM1V#c` z>(q;LvCoq!^W0C#zrN#kZ#(Ten<`5- zE=GM7wn-bx!>{||P>diN$=Ydh@&qTK#vw6cili$6Y0^)2 z&fx!Yk*vIItUQ0|OwFkSs1x6X-f12wH!U+xRZGi*0%4gdh$ykoJK*t(YSG^2cewax zY+hMdFQA zD7X^uD<$e{!Is{tFP{HWeh1Dg82;HXxQGi9{saz4#$#FYMF7wQdKZ9SBt-L zP3x*lR-oO6@bbY;bq&$MlI20uit>yl1HNFZ>G((eZT|DxoZ%Ipb5DJ5UTHyHP5N$q zo4@ak*xxzG+9U4{4HLP+T2y%YAjIiQ;VcZ`>u`cc8%_h33St(PO1KPJDI(AYnggv5 ztSCfYCMt`NF#G4mroZLj$KL3+6wU2-7ST!WmlbEboJG+u4M2<9fTetr9f43 zSQU|JkbimB%6?xOAPSWHCBcG$e-Kv`U<>pIhYyh1cmbyBBmy?d-$rJ>;r&u(>Q&b? zm&|mYx)>e8rRX`j6(4Qq?dHF#DA(utO$mDqJE{^Yif-s5LEm-sN-w_H3gJI@`p-V~k9SA}bRzkK$L^b_<j`SqG! z>rCMgv9CCb+z<?If$S#<@umdc@ z2L1#V*fD(mOm}uMK|Qi}=0*685K7^=GN&_2djsdU>85j6OBA(hMe82g?{x0(Kj8Hq zc>E*b7wD0e=_7(Ka$U`puCnQhSZ)2O=DX|rn@^oz-D|>}j*iEB(p{=OTzX&FW$V+L z)ecdgOz6?r+e{A{CmLo;OJ^GNjCn0I0BM00f%>sd08DCbScZ zXE8B^2$Xm>?|{!Pw614b-2jkCBp&jtLui&t&%Z?EuXjD9pKdAXoKQaUnD&!Tx{n^E z+PlXeOnbV;Ufm=sRTijaa2%TC+dlAFI*dhm6>kAdYT$z#k(dBxoII3} z2LK0nz!cDv;|;n8=sAuhLl9+}hb{{jEZV~K)V+GqouHWkt^hwJWB`;490+Kc1aisG zal!|p2TTF6z@Sz*l1#<`F#jdq`;84~^2hh#lTco6X2E|V3N0gBAV$i-A5^ONFJd|; zzz3N>0{J}&WTWFhLq`_E!{bX}TLFD*g+hU#SXQUZmK4g&(J4`%W&ppf8&fo=(ZxDw zWQ=2_?CCldFIfz&6D=7kN-W|F$`v(HYq5`0p5-rAYO0cZ2a?m1#X2dRwwlFF#{c>L zdvrqNlkI_LyUI|l(!@?e1C9z7B~4q()}%F<1e9CPu3(8dvH#MXs+3gl#io|0(fIh_ zU`E@tZ@w9Ar+%1<9ihIdsPY$VFrnlrs-vAH5cXN!wkm$AHsJRc%Q|a>&Uqov!Isq( zvYvQQD(4BH!m*1j;<(t!4eT`GfX&-s;N1kawopR zIPNgnPzz;8u%<+Gx|;4dwVxhaIkgFe@`eNg{2VH?YI=UH)mI#B!rv@kPTR-v2eWuP zTE61p{-{(%4ae>*zPJr}QY@kgu{LGabnUgHAQh9C-l2a5`^B5c1X+L(N%$mPuz<$` zsNz&W;&71hx&R{p5fOx-QB%-&m-sR1zqU?HA-=;ojBhdqrrYZz;@ZH7Vv;R*!ydgl z&tynFa6rA|0^F+LNm9c;?Uq_3x~O;GKJ>py>_qRczkW+iE-DmFgo<+O0se= zjE1P3p`k`;Z(Ct58bSqw=#7EtCE{RkIG8Eud$PzJ-cw#{%!R@t)}koP zA3Om5PaVi-(u?gvkUMeU5v+k#flen~z!E}9XR%(QcY{(D*GhnGlDB}{oEb73U*Ke2$D zYE8>ecci(skx*Wc<2NM-5uIeO(x&k_(5EVGFCXTMa&yxhT(3B_z^l*Fq_UEzNNTY~ zEluM{6hZOkbUB}E(Atp5ZmX~uxTprrwM&b6lxhm|(0?wuXH$8YPglp3MMX1L?m*eH ztXZL%v&G$%Di*dGjiwqwYN2VmjpN|2Q>C$lX~}$cGdo=xNTw=NL}|SSrLI|=YF8M$ zvV3%7lG6+s99F5vA;7~%*P38iuA|uEaTvS0Iuz}21|raro&vkxyol(3 zT_l>C@P?5x#ekiWE+F4PbOV+%S`l%_B#@lx;t*j}06A0E7-xB;wFv`v&~yockt2aN z(TqT|*&j^z#{ ztG77PTpKit5X8oA2mgEr=thjc12#e|R68kCihzY`U&v->xWfXV*a10d?7;@S1!yI+ zb(EYwr@Tv*cWIrjL{uPEMAQ+E0L`&scJQD-OAZy9y-zAc%hQ~@PcNcBLL3g8Q{8M{ zMNz5#?z*m?+q<9M*JMdfn&Xu$9W(M*>|R$}S-Sq7J&wqVs9mR=UNIhRd$cA))%NI* z_iVhj!o2C(+k1hJDM4P{54ub)$u31OFcGTTz{CcngxSKGjR3uXq6%Asic2^qqSG-? zM#eCggC3YraLE6MeSuyGX$8#o>HA|qr>J+`S2!HFcXK5P;)6ANF zvpIv$GCTJ?5KM$3YkeSWWqLLbZgPwa~1X;NmBlGMhrS*vJz z=ed8sm6+&AV%v#>CN@q2VIez_Km`t+pa3+NflV`18-bcTK$8Th zLgK_bNg+ldjl++EUgowTkmeaKty?BFLpgzzg-UmF<&!eWil>wIqjalZIbYmbtQ<6+ zKUCZ^Yc{p@-!hY1=JzVZndv(DaaFBiR93Eqbg~kbTF$d@Rl+2+wPQz{H#ZPbrH)2R zGRrsIyxzQgCbLRW&^9w7^X|F2dQ;buVEcU2^uC(jij578(_QCbX;pFRR8lhZfM^Rp zSnMjfqhRkE_w3CT(1uSBq8(sk03YiSpl3Ts_dMWt05CB@eb{@LK*SEx0@QE@AOzJH z!rhUu9lWl93yBXiX1k4y1ty?^e*d5b{G65>=q~WFskZA>(?a3JN9bn}H-+c(yPXo3 zUL;~em-$Q1T^G5!Ni$U%E}C{KeCPWeo4W;%Ol1~cQ-bSg#T@!)*~+q(s`L9~;_+5V zM$ULXPvaT01-+@g9Hq)(N7Hu|E?+X}nDVbNtgZTn?-or5je)$J5q+WbUrX^TufQIa zr=NzHGokw;;O89>>j12eFFvtskdk)b#)<94$sjQX3jlGpS2G*|*g!sc+#b8q;yoy@`aW-+@k14QTn_hZOH=^^&XxyXAQ#8NLE>NSUyA_2ERIa^sCFchA)O#2q;^%9_;^`)+({*jK)M>--W{OVL%eN=INTXx(&AE< zjY>KYz$v_3YKI3@Md75G}}TyTJJ4ce1b!f+R6vH^${ z!hXO?N`N3vo4Be(yqGPs_bizrv!R8GMxbIq$TBCrJX6B)>()Ekdp$(wk!aE-~x^Q8vCMkvg}<}J?|Dk0akvNG)pFN47i;FRCbw?Gbxr0 z+Y8j=Vm|7^b4D|I{f<3*unkZ^CU>PPWK`zV6w>0)(fan}n)H5S*)!K>=O&LwYxA4e zUU~l2GyMi>Zg*#3zCxL4n2mU5)=blDRG#^p%h^g5oH@}u4gf!Chgxqk>k#@XfVTz? zGam8+Jcm#{s1fiAumXk+kT?IxdJ`uNW-|Ec!{jH}W-=&W@ptk5DS}0-(;UT ze`foaRXQWh(Sa;T71p3nU@Gw`7*5Mjq zx1vVn<1glMuG6LH)ZwDoE9GLBv4MXnx*EFLUZatw)zMf&`6!7@#}i2C=9>JPg5GFN zag$hXc@NzhGJ&SuK${CM@5{?&_vhq$2Ht&Q=X73FnK9badxgT0HLjGG@6Fy375EGj zZCi8uZD{=^#kuB2{$RGHhE-KKmh#;NmhAIxFK4UdkmD!=S$&9ZV&ZXijL&w6iQE6F zQjZYM?_@(r3V@Sn9`Yxu0oK8Ib0Hs;21|zIbuL=K8%7E)kQ0*$3ZI}4ebx8H7f(KU zL!Kz(!hML(>$O-U3LS$-g{y_>Gdxv$wYi_4hPL4XEjk|E`}pJUukAbUJX}WQB+2D0 zU7AWlp_u`s=zVgauXm)er>7A{>ls{q;?Sg_?5&+kQ+o??GMbm~xoF=+xkY0ha&>n} z&5CZvK9>RiXhtvE;KJ8z%2u3zYZ-!>NFS2udYJ*PIB&U=einGk5|~~=I%N}ICGl&6 zyg#F@fJ2ZmPnZV)7J%n0>asE7jnU>8v|2_JS^yn`dBAcR*b&vp$TWW^8GD4s$btDJ z%i&iiv*~`Nl_N`^bGEGs?3~ant8rDQ8vA$hcssU@>(a|Fxd91S*=~`6CD({8$pWf` zmb$EcE;9VGaHT}BRG?{b)ut~=5}{SNLx&!^eETm-xUIk<-%6!z z4_fKeBuBg1tF#IR(j( z)fY^cS#_?y(!eUGonz_sc4dC*X-8LPw&lgIp8>CF3DE8Zr=Oy?(?0N}u_1N|b(f^1 z142w%${6~CFbCs~3@?D-4uBi*hnNiE$R_G&%muB&X%xGOOD9`uO54_*-(Fa0p4$$E zE&4Th_XS8}Ti(__XS48WxO_MZX(}rxYHIMc^)SRknZ#lxX-f;fSSl*k&#OxXRs{tO zanp2q2?UvlukRMdXA<{AMnJoh3;v|bF-X18MJGrUIym3}G*E<{EVy&-MXHp#CU2=! zRw!}nlT*3q284V|+WMN?Y)NS4YDBF>bnHF|xjc1bYKpq43jgD``ZC@;i*51LzSrZG zh)la)yQR0Y>7skKDFw?)>NK{^(=i9S?QegZeg1h^XCbWf4myy4qxp|;B!qajXN|ZO z;J%!CE0#$OU=jM^$!F%j<*(hGH{2_H@ALUD=IH>gL+Lp=Fs>6Hnf~mv#>w!wE!RFh z2^a8O8sPFbh}*U=cprfZ5_%V-tpX4L@gV>Ql`aX^N>qtO(&YHr0gHuhM!*1=V!9_O zc9NzbyRfV@y4JgD#osmjC_av?bJ4XD5h}o&R4#N5G{EBWb3C3Ljf8^3eyX|oncNze zPsU=gxPA843uoFa!cy#~zWV5*8=P5|Ial^9{@k6$fhOgYOr6vz{q3!{rjHz9!ncLG*0jP)#>qd~nSk$K{Rxr%x&R!B8rGy3~`Xz!^j(9m+!OuGRxf}EVG++2M5 z%=9$UlurZv$t>6B7@sh~V~D<=^*jHF#|wl{qSm0wCa@VG5)SR4UXEo`t;C7)3BW{` zpG*4CXGN6T*#+xYh6YC5tWW7t{GU{*GF2i;ajKw8vK>5xRAJ!|9Mrn}42M&~hG|(c zpX>InnL7KFI#`}FHFc3#m<+=WSt4n+1=gAmbqx>DRZOmc9K4joUvXyBkkmu$s|6aQ zBxv8M%h1Fes*c^hf_im1R--S;O>L`Px)dch%*OQSTP$@UQDx;=WhJ4RB8YR{L6gn| z1QrnNA+WF}XqxOfu8V{8421yJA;@SkO4(OYPsGZp25dqfy?`%|lt-H+(DYk{&qtdt z!Nb&sf74;S@gJF)T`*DM;>rBdytHAS+N7McM~3=`;9OY{U%Llt${dj6C<7lS>D03b z5j+IglD`0otQ0Ix!m9tYN%X{3?}gXC-Gq11-S}~-qN($JZQ#%)_~1PC*fQ)uACMbe zdDD3HGQ&ji?5s@wzh6y*X*0dKv5V20ILn2o?CinfV%Tv5)5Erci3@msw*|>6A^-(a zI|~egVfus$iSF!2# ztJC=+s@*ZDIzL@1R|ax+wW-{F&A0v4kMSHhG1IYd)STc!_DZmXasi}4Ct=P z-1ED}_S6gnW~-Y@>sM@&3QY~0>H)*K$h)?gZFZ@fm9b5)1ecKWEN6O}D49$IGOeCu zhY%I+jD5F|0s>YvL0V$e1z=O*5OJs@Sos2nc@;ubfv6-sP3FvyM(JcvPg_k*y)g+j zp^xU$NZ(#Wo%$Gg@nPx}Xkdq8cyRF0`Ko}6O;Id~+krA%6Bmu=c6-{Eb}P}7xD5X$ z21k-y7A&CxF$=ZfWBTQnr(b)Gz@81f@dMzE@&x|#nY;x;Ww0n>NwGkRGdD0{5~dXc zl+p9(bsQ{!fKVa2;UxZX3Y~W{wr%QSN=eIOH{M14_RaR~y&rra*tTu)i4%C^Qpk8` z!QUbN(kR5+NsT^f&JwupO`G2sa;ukcbu#K4woS1zT`(}Z>Xt#bqyHJ|H~e{D z2QTUM4?dVWaf0lH)Pw$wZh@?+c;*S@`%6Fmn4F~@^572Aeu!}pc=>^HNxrFtU>WdUVooJYGs1v~k{}1&Ael|* zfHYxejuL_9W2Jt6$##0t_4(zfNB-DbqTZ|gUk~KumXzg{T$FVy^|#oMy(;uh_f$KU z5)lOVuKfDpJX}Hr<@kI2+5c%ry+M&E(x%rJ%XC9FiQ4A3)f$KVD2!hwKJ=q?M4 zemQPdY7F@A_1!Lz7$CoDPd~`yX)MeJh+`rHJ+k6BG7@wINQ0gLfQ_dC5QPuUpV4Xh zq`WKsT4s@mQw5cVTi!ZwV8u%>eT9E9)G6MvxCZVNpq;loRh9RnL}>hzOfqd6C85^-k_z%~e89>NuW z_j-Zy0(_f*RSE@Z^a4-;4~g%BFdV{slED5YNXw|w^dXd*q|GaEmY2B;^3?blRD{2x z?!g}dH`dF72d&XsLLEN+O-318cb>X?nv;9SUv{8pGFRv?TLOblUoGS0q0>Lap`r zT77sbxY04_YVQa9ZUvw3KDrk2+cgQ<#Q6M~Txbxme^7i0{mTi~kPtjjfSoCZ0Cq<2 z3#_R7dhUlg7{~A>Qm?OHF5x0!Y^M3I`<`ijTf!Y~ZC9zw|JsbaKm0&l(s4;1Zi1Gv zW@#P%g*x@kraMF~DSq|Xu`5b$Sfk^&wKi$h^)J2uK91cR=MAFM_W|GP02=fGj>P9J zEP_%E;0%mIWPt=hYA$#@;$2=rQ;0iDV9^XEiivn2);p<0q;Jzre>9aQb#H1mJ527v zB}+m*y7^QY66IGmkH+RLjtQxvGILsswmSj=SJmRGip92%KKclaq~LOg13koIjT)Ug zpWW4j1yuXu(1s$J)HU2wV3VMwn}=dO=pC4eTZ!i%3Ono(d|dB#8E!4T8C+OEmuBF_ zFVI;D83E<@f6j^qY+)1uIglg}CUCh0OksiA$2jo_3#50hy{mNDwiEs*FT!8FYAjbo z%cvKt@>F$}WB4D@>nA@T77=r^MooF^mn{n^yR}u`)~tsfnrN5^w-4zHB}Hfr-ddoD zYKLq^25KYBO!JI%>hgE*E)-O&07n`@cX^v`16`ERXfD*;kXSq8Q zeiMGka25u^K}&-TfOrF#vjFyR5JZyvI{vyqxL%u-LccXv*0eRSYuXRGigagnSEI?$ zyiP4V2O2~djq_dFr2{cvCE6>Mt;kfy-mRoo55MiVt7D7l?B73+56$0w_dM{3xs}wRsC0>)n zM$>p@dJ6jXN_|%ePXGDmpP$r9@H0L?+OIa+ym%=pQ7fkk`~zZTpGw>xOhXx>ezB@g zmp-8Ms+I<~L5IfVMd8zL!VE!ILN_GZj{DE{5x|zo{sd$uaFw$GNkGt$9DcKO7xh9c zk7~nO^!Zz-HXz;BU}<-0Ze1g-8)%h8EhmPDKUiFvwUKt=EnoWm?S6mktsaz^96L@qYt8JsXQs?O2Y!e&ykt zZ!T)gX^|Rhg;qU&id*iDxR%;gJ1BqbPLP98!!d`-@RR5w+KJzO(rm6ZoAJhs&TvI3 zx0jWo)wx(kS*tQv=U?cRR+0OIXtM!PMkPX@=35;mMFq7oBJHIj*mg8#r1G$D*KU z{6G@UPAi(Ko?5kP{)aj0wxu{1y-03qq&MVaCnd4O9v3Rysfo%a4~y#hSXv_i?N z+8Qibk%Fk7Q;~amvPuwJhn~ZQ?*Gfr@6Q8Zv!OTGKG@HKuPJWd0E0g36o_51VDOU+ zfQ7BblYn4*1hdbmAIx_DLR}vlr2;sB-iTdGvrhew+82AB3f`SWD&4sK2&L%-%r^|FDR=T*ZAj$SlYg>MbkCf}*;FCj$&f`0 z$&2)C$Zj^xxGFm$)zDQW)1wh@gbY*j;w3OA&`i_RMUC3NK%Ki$yBb{>r;!kT4Xp)l z%{}ip9L){~o|_0Z8wSla&qVS#LtM3LuU}ePRp3~xwfihmU)Ve0YSndly4>wHTe};Q zp$W}2pT3u=tsqqh3%36s=$Z)&lL6&_*2f`1{LJ}Cjd9-e#J9P{nb}ftjwtiP4@bW5 zKK9^)Q?I@DdHDvs7XKTi4_Bfb)Dl}&`Ri0qMU*p<#Lh0Bl9$#$85*mr8w)+ru=q{t z3;f*S!`6a=9q+tDXg~>Z#)Gtn@$-0@iUiVOEUsYz(}qkgU_8GYh(sBOFJR_?Ah0UA z6!1j`ehXktV2}ZtvE{&(r0^E~m#h&yHLNp&tJv=y%J2$kU95&W*kx+W>#vCIzI3Tl ze6m>fvNf=8_S!<>@+y%X?Z#7RH!`vDWdE4IXfmFT}BuO@bXC3-j2I@vwmy^1%%D{zh* z^4ojxx763zCzoUiwG(yY&}Az#kk?u_^Y_0$R_6f&?xmOFxKnfb3GgN4gYLDEe@P;q zMDJa&+04+5kWtqY3pdkoie^kV$$j@NU3&fX+qdHt8ciOw z=na=mZ*Bc2idf$aalvEa z@4zHw08rp8x`co$=r7C~;T>R)gsGsb&~LF*=z6>XU4Z8rNbkqN2HG>e`vtGhGn|`?6+HQ#zP(R_P-+lMG-29irp_CrBOx%cnMX7HhZ+`Bc zX`sU5^ha^#*x!+WzqyBUSlw_~No6x!qS||R(<3)0( zaZ+Al?Z6$mxdjFAWXhMI+f1f9`0CK5r|a%_Z*YU^L||S7ImFL{UKp>aVY)C`AV9w9$DUPFTqBlK z|B9Jh!%>c3VQ{BCJebkr>vIp*)C{^W@7eAiETJfL?U5r*zMhPv_umJdQ31ZO2f*%$ z>pNP;o;aJ&Bhb%?gD(Vvl$buy-UAK^Fbux`!|Onm@X}wX{jmG@lsqrr)`X`(oG2Y9nodIL$;PRF=xg{O)g4SnH$LMj!eKv zKGJyqA*#8&KJ(J3RcI=7wTxAIE-r9NtrxZj+S&_F$auKZXhJtDTRfYyy((EjR{f@| zP-Pa^Q)!-ZN3vbv@SezS(h>~nd>TMDda`mV?w0PEfCw!U4MS&M%$1n832lxqB!#RkYWjW-K+ztL_>zN&q&QQ>?7?`{i$S0A% z2#kY#F(LsdkBEa1A+6sN9ObeQ3qHUC7EJbS1+-)nzX;1rdR~R7+>0*SWHl)z{4UqP zCD#@-IwYMO+S+x_EnQhT<_w|P?2CQ$-FN7omX_FWVN{aOOaCs6w!3JFk{alosKh_{ z1Idls!Nfd?<|-$2=Wa;P=dW2aaX6M#S;kue_FPeb`qmP=3+2B5ep#pAzW?~~*;^0` z!gp{HId~t`C0Up%y<+HC#8k@@*VI{d5i^Mr9BfQP2lxpfWBdzb3~8In?3*#*84tW2 zc1KSQ7e^Nxb4tb85=nXpMw#B_h~Te~(sp;`YqT97fYwykpd-a!3B_gZy27&9YYoVq z6{>aRe9^Euf56v~IaiiXY^5Z%u5qog%}sq4>yoc_%#Q^}0%Q2CF}=%D=&j1nLn*Jk z(%{Q0&df2t`YPxuwSbQY=t8KkCDkf%uOVP6B39j5njx_+n4BQcUBKl4_7bqlGXjg8 z6*(d}R{DT(bWK57zFqFk&?)iVqaQ9EY}K~P@ZOA$Hf@dZB*D(15;S!3B)*{ptuH8` zKF>He_P^>v?kGpCM;FAtq_&dTPvx2st_~YKld+%K_PH=_|YrPk0AKQUSc#8xu?^FTYj${i+L1vQGEyM<3`5_`S z#jwf+e1bHxgjz*d8e}*Et~?NX{qG#vc`m$}taq%QI*cVCA%8|`cb|;pYw~pxW3E>A z*=Osa;ppkRW3SayzxMXZGnD-?6ZIv2_Wk!CJbbvti%$&H6lJHdM%YP|T<08+2m1PI zF8lC9vS!XA7uXI*>CA*&5rS8lcq0OFZ`E0L1XE^8#y=4!EJ@F1*fJ9}B1j?^Ck#_N zaB_k!8pj1?pTLrLU(mApRSl?HlL5V4)(w_uutcX}q2#t{(ud zFxWzffC-m`0A&dFz%w}zU|@_XLEZbqxHDJmmuFq!O3N4PqNy)uax_gFhQD|T{rhcv zJyEj|XXw!MG|nzYbwfSVvCE6m1peDfULU96{Tcf|hl|pT2yR&M0)_sjD&_O&{Rq*!m!`w?;^T*LU zbh^le((uo7wGK$XE;X47jFnzZ3YWu+-Ks3h=m-pmWEywDqmSm8y>cGXxt^6}Ti8)g zu{%-)dYu0BZs_y7;MY-*DHdm8Aq(hbA=n0c0bKmEVY^`0E||4s=ZvZsSL}?^r>Og5 zO;j0)=Ewe>RXRv)E5n4pyRoDqT9y@dhQxYE)$T({hPt|wHsr?1K@Y;iQ2OpOlGDb@|=dM_PH(A`3O7~(i*?-q^<_Q%vVGk6G!n*^ftu*U=j z6C5D1C&rQ|5=eRzb!)7TD#9*wG`5xwoOpok(3*1 zu#GFdL6;0QfY>LxP7#xD>p07XSkS^DQwp3XjL3`!qlqhpabN-eCgw5N#9;mgq;YZs z#z#mk0Ei2I6hLnhnqqi&+{r?(XypjfLnd>L&LFw{de-6zz7G8~hF=~RxaE}KF)I1> z*d6#M#79T*Qzy$&!4=?}*os#3lGx{Rg*s_$u$&5lM>iXNY;;-5n1Mps!zWHese-s3%GX1E@og4Dhmi6;C!Tv9Bev<<;6WG zAUH`oMH2o&+ena=O38|CJPo>o3tfZ1#3zeT6;j9c6(N0A)?ilFu0Q|?WO)R?Ha0?i z6;q=S%E-!k>hR&d%*^NCe}DcBxL{2z(2@TF@u>{x|4jNm6PsWWV%$(9`7xoDB(z{) z%)gg|EEsYGzySbi9HgKVgA8TB>ER~7Naf*Q#YmnJv|ISm;80)`4K`opxNXR~W2K9S ze?#oyRf^X>nxp;`%Pyv_3DU`ONo=y1+GbLYjpgD0%MYZKzI^yFXfab*(C3|nj?ZnH zahm!m##a@4dMhe=k>l90vBwZBtMJoLVLvJ0hr6AA_>5093bi10i4#BmAre#}XYV-EV| z#tnBBRvoxdBlU*+`i#$g%B5bph$}G6a}J<`*YMW`^_)#Ol}FiQhu9o+GFleilCHsT zyZQbRt?L!b9eU%y^s5W0i@O ze7YG1__n4hz3FAWWa6!jz(?*5|ST45~avtgQp=OiS-)SfXVvn zuWgyAN7-K%+7Q(Y)M_IocwW!u|l2rMKd(?R>=ELf;XyMbWDQ>2&O0Q97_< zDz+GXnH|LELLmE-z0bsEb2?RhktuJ3wb$K{IpP@_9;qF9oCg61*bwPq#;AI5T5LG_gt!9foY*F$10_DfV&pS; z*XRdMZAO=g@fXzd_>B}A4DSc93jKrJLmNgmg(KHz+Xf<4@-mrda+x>xeE(`{{~XSS z?t0|@_5znw7dB?1Z|mx^VTkO1WL#)Ba6+%oH{euTq+4AkEvYLCCntAhI(kK!3d9{Z znet5)Q68T|T6h2+mqRZ7A-bE<0T(zqQ$xbkP{gAuOi;xP$jQiHkg>oW7;}};pa@|~ z7izn}D1;*e-a-?m0yhZcGYvclz0!x~!Ue&w*yqy9-_pD3vdkKFH@cu?`Ou1?_dfe< zs6n@wt1bWaNHIo4wHmBK53WF!%imiuv^=)9>O_A_Nq*`eN2`sftx2`PLT$fCWwW`^ zyt})zvrVCD>4p}9ny0~S_|%CLc9MzE=!PrrqmRJ8a6*ih#4*Tplk!D_P!T-~xfF3! zB<1sPOoUhoT@rkRI}A=GHiM(^Gf@?j6NS(4WGAXH9T!#<5H0hc;A8L>Erh3K=Pe4Tn)QRc+psDy`^9>Vxp}|vn_10N~|yrou?=nrruetDUr=M zgpK(lfh}TQYb5v@=A)nP&Q=!-1bPi$>wmx9(H&~bJ~w#2s7sndXIGG|=_>+?8*=EX14x0RYw$p&TJ&dlKFNa6>Do z?AVR?7sMH?!sr+@SWCsf?xw<7IawBg$f;D%Rmu!y%lqa^(~POv{rIgabfeVCz1+pi zrrsPFh}Bak@ngr2r+)HDXI5+qeTH`y<)n77l8{!7kj?sO+BKbE9b08NyJ78A;UdLNKG0sKcR*WAUP=FDzpvMuRdL}Rqcn?MrNpYun z55)HGFN{4o~*7~n@b~pZIdQ5_BC~~@fF{(W3kUcFR!wq%Z?q}6%KMj$ zqc@zP7hCj_^m0%71qHVuWA7wgpOw+y?=j-7b;G$`t;xM#(vy?1dFr3BD;@UEWv635 zvr*=;V>w5Uw)ppd`|UwrDyuukpRy!X4#g4dKA}Fdv%NeW_*yc|!@L3Xjp{@$W-U}| zLjP&#&&KExa2|0J0e=47;Q@yTKLdp)WKzQLW#l&O9atQ&KtR(tK@%reT)qda@cXES z>At?{9n<~&(>s2}KO*5+1$FU;4P#T>?uq=m67G2$T@AK@4*CAKQt72h$#u$hu_USH zX-j{dsVwvLu^xAoNm3l_!{rs!%J5(mu0gLiHckD2pMCGWZ-);ZDj5#+7=q5>Cb4o* z=Qa*!Xp)`k42#8$bc#IqUW`FSudlgws< zlLa(|J|@J`Lyj1Zo4CIhj1W1XIOC&Bu>G?mLJWfh+9agC`l?&0zztW${((RI^;b#( z7`!0|^@PJ$1OiuOt;O<>a;TD=p8A5tWlL5#vm|C)aARrVWTm@BJxEnjS4H~zBEO;8 zn3Woj{PMyJ!=#?AY(r-!@0C|x4~P$sI_|ZjaXVw3r%=i{Tgvzo`aZ{wBoZ zJm8xo@hjqEZX%tP7BTB3rwB}jWZFOh6Jh6stANr=vMPWxlW&<)IFfn+e4Gt|Edqgf z)+CdEBM0syhu_0al%Y^~bDibRHNIW_D&p_j*I_x|WKp$Qg5EH+I}#^uAO^o(9{3&nwr~C%A9W;|LY<2c#V3vV#2-H zS%H6|zQyGwEs}_!AKJ78J!AOYEF|DIImhtLmHuJvu+3Z*N_Po3tv?+-daI*W-Qwy= zKXKwaZBwK^r&aGV4wbZ(j@rSWSq*tp2f;UGNkmA_uIU1{mEf_kX;4UstwQjCcw*Uh zqMs4S#kDl@K_cWx@-4`6CRlcGYyalWgM-V$X$D@WUenrRu|s@dZg}{+NU2diC~^6} z{dTnC;s$|y$RNluXz-i4x&N9xe0Xx%vY@%uS~JM8HOMW8Vz4x{l7G|OueEAW1n_zin^mR!i@CfN`x&l9Z0+AvZhDN0k| ztDR0%Y2}(uK<=|FXUozX>!eF&d@})+!97{fXA9T{Km4$M`EqZx%r)AW-)8nWgB*Tx zWZPv{pU;~6@yEBWTuF4#3aG6(LYFc1t?}Mr{ZNet^MW!Hddpc_H0*~UEMZ^F{%n~G zL=Zn`U|GQT2)5gqJTCYR3}8sc8R#=?qMtzuAlqhVv=y73zFZ{@r7cn9cb7P2jnQaR z6(>hOHc-XSfKHFz^wKInJKZjVDl)XlA60gVHm2nC7g@Y5QFPgQc|(3on2&1G3({Ft z&>9k-%179eHXzXYMZ6)JpK^oBzuBR0yUbKQl`|Y{D_K?Dy7u6xJbO!~+q=qN87*P) zbm|PelKLKhTzC7Bv}D4@`5@O=+2}rh4R5M(UDn4(kKSi-2i0%7e9l$>{O5BU8bp($ zoRx!|%vB`7P5R%&`>&lffq>zB!29FTVBq&a4uI{%*huhxkbMEtI*CXKxPdkZ!Gu6- zVV;THAg`JUpJWlVBG2$4>W;nVHoAIyoek&gZMc>`rzyyFni`BhoK(n?J8X@s_I&?2 zX=?uAheKa_JU?#Rv?+E+0ks>RrV5~m!?wa~jILPoij~Zivc9s$UF*(uQoqI&mh$Gx zec6TEtS>fNYAsF0#Vc!9d}ew7^Up80y!!Rmuub6bC6L$kAe{r2_3u+l+MyPD2&xvB z6L}BH=^0Hv0>>NoBLQn943dQO;U$7M3q~n8ENDOpf(pPN$a~CA!9zuM3e63S5n~c~ z2>^lOdM&U|f_V{mfx#d80mMz^2J$Qxk=+^ zu0mzw>9dszWu_!7x<}^QZcj1ql8QSWQTq~%i%}S9lA$Hme-SE9!H=O;A#SoLb(1cw zSR(l-gHx5PPhSTEQG`hqJT3}mUs+g^o!pnAP|ItpRFxOCWb^&h53y+Rjup=tjOrw6 zags7^F~{U`U2_$38`^o5B0<2FTCbwnA00Vj%g^8O(MMuEKlk;3R+OQdo`nvOwa;&E z zjT+Ua@+|7KOT7+pa=N>J8vi@%#B^_4Yh7PKFlB%ZiMkI^Je5eSOqC}0rAY*#(QKt? zc(lMDy`zG=BzJ24Bemn*S`b@LA3eHOqDfNaSkt8ICq{Q;Yxn3Dt}KH4Qjo{%wH!Zw zUPcDN)l`U^+y!$%S|MVhg!mMx{U`!UY=l^138w(CVX|Kk-co>%jD&!RDhgh1<{gqY zBR)%@pJhjY0lr{X#5GhlL2AgfAUFvyC0w51C$Z~7)T5Ct18xH!+l6uusR8QP7*0~} zFgoyf6?G`vfKPe!Wk`v?(m!MpcI*6^UL*+S=4A++ZmoJ1N{bX`We8aTokk&_*O)!m z&jtlifnVf{eOL9oS5}-PDwfc#r9+-2g4Dm>$K^J~_R)(jbB~u?uGG5mYsZgoHYv19 zvv{=!_q4XLoDRRg4L_P4;dX%+K%;uU9Y2$w&+S4SjX}oA;x`K`d&1(VBq++L`{a{a zpQeCH(Q~2Y4$*ZpK-YT-biHz@^>2k47z5Dli;2-PmU;*b6}BC|7`_#W$mI|yfY#`Q ztMMs-Ph61$Af5ev{PR}E7z0!U+P0Ja-;6&ukp@Te?!c9I?%FjJVHcY_wr;geQ}jA~ zIN7%S;)`o^Uam-%=3b1hFN#=`#1e_E8{Jx&=Ph$IUJ-jHB`rx`VYg7JS=viw`q*zX z)Ri;196dp9^rF3?!Cvp=vNJ+Xc2>2APW8Ci(yr93Y6qKUb<#YJzqdEfrJ>UW4*14j z=w=7&-{z#TR4z?LkS~<0Pkl<7P+Cs-e4Sn|fe~*}74XPg>E1-FP7Sdy8>2ghAyb?9 zJr*I@TU^~?)FK#qu;9grz*uOR9Nas^$b)z&8}hf9k;8-;{uw5>#@;+vBkFaTWc@+a zfb9Pv>^%V6EU*3HJg;O)mL+TNVeP%AEy2WfDoWS3WTs{AZ#d< z0xbo~Y}p0MY*R|Q{%{P6e!InJuZgJ`{9TEY6jB!as!OutAu3K571=&o=@KXW)Tl>|WY2@EMA}k^QaQ z&`U)?ROAPr8?2b<^b8g}P*ak3m$Bqg{vLQtr^+2c=>T_tQp(Ljz^1`x@k1;GIBe8H zO>c5fuYH={HM9LJB;b@Mv`#+x64wR0?!WGE#?jx%=eT_G`2;abevAxj*CxL5Tf0qr zVLHNIVn377>T@GKr@&OgdN1*&v6be&`s$9kIdVj3T3V_}6t-N;s(Fg|bnS~!1rn2g z7E3OA^Gztmg@n_lx8J_>?369c71t&Caz4kcDM$4LVRD*`3TP=~!wlXB0hj25I4}xP zLN$1eeP9{$`|bYY&KY3oBw{FEr8GF!9>OTqzYCfO4v#%6P}l&HgAET!^(E(g81P|7nrwV)S~jT{j_T<(yRs0&_Sh-$@8Ef|HN!{g}C1P0lO56Pow z#$flx0>xEfH^WrOhk<_IBY$>5U0dO>H{7%h317?}xumUe;JLF~#>(oBXL(iLX176> z2-`<|Msn)E7F;j>ZJA|up&_>+p`V|OtMt&Jemyy5{)^k4rUZ!%vBlk>Yx*E-jQ0%S z4ZDq0+%-n&9AFZPLR9`^{l}bj1F69T#MTVH3R6#8ks{-&O z;J<+6CFNM;a?y})23xSGt1|g{gLL68kJnJf8DbY7vlVIO?)qqz$5UI;>d^}eikM;Y z4)do~5mK*oamKkeEo#*XCOHPDZkCV` z1J=Y`NWu-K8zkjd#zZdHAl3Ybr67K=L&yy6@e0f8o$J zTsS{fH}{7>JnB5xRnmRVbG|Kpbzq_Pt1Z34u^Hwog>5^qY%-xf>K2$+W60wYI4^^} zdO#*55Rw8#a8wRYAczseF*&18y&NWR+=62poFK56;78o?KrtogawxZfVYzv90w@PW zB>Ha~Md(%Zx91TtcH0>F+b_QytV73kqdmLMA8vlu(pPpQ(L8B%k)L^V4^^7Ur^2T0 zmB7~B%69FpEs@zl^Vs%AQeH<4Y<wYo`(ad9?d;-hT5{a)j#Pn7AsR3U~ z*T)|#?u~ghL(*|osV!M5mB*4cpJu{T9Tooi*ZAC+Z(f4AS=iR&-I6;t?B1}S>SW8M z41p(3`>43s23`QmMDYmx2y6iM3v4(k;aBiN=OhAcxL#SU5sxoC&lq&EFrq^!59)e`Uz8XRv_mx z;%TOs`yd*kzF{)}z7Re;d;^lnfNyce0B8j-e&d}~a0R5H-i!GS`x6)pr_$cIFazjA zO{9jHiBfjCP>QxQDjVXv#Jxn}bkeLA^ZDkGQ6?-dGzsn$`FT~=!rH);p^wR|^i?s( zI^=C!i)hHHEl|pfl=gDDSjZRnY6)I%uq0^~)!EA{Eh?Djz=CyeZ+QqdqR5@?%L{1J|9S0-k(%sLD-DYuX@4l?0p7Id?V3qvYZd2x}S7fMcx zIdYNoR-TGgOq051?YfRBG|n!Rx>&SshComQjigW4n~MA@U$RO$+D`0R;}Tby&7Yq* zagFtjKm6gWpj$K>>1J^YzzzMB3nHR+ zCxKd|$b9OX9xFi1jk&KmzSL9P2`&t%(HvpHv;cuAp9e0;VuiBOTvh2!#C>aBL<6Zs zC#HY?y5-=`iOt6ydwcIS#7&!KUqoSvlze6GA5dxc%G`^vb^dR&LbVnSHlV8aK4$TmaM*gmLQm1C=OXvY%EhL~TbX5;n zJ>+Du!0BmkDYXkZ=#h^;3YYBGoue!G^{;lmQ^`^i)MvIXYHe~VWjW})^# zJl$VF$;s0OOk`>@YA=NY&&M{ImDMz0_G<#>` zkXdi)6M6ilZLaGzwzEU_pxk3jJ`_*{A5O}W{zSqlIy)oTILDFN3!|oRO*|}TnzY`= z=w&bK7NO3-t>BaIOn*tfI{EtKtJCDG|C%HZ^MvTJ*E_BxIV(ajTNvQU1hmj6`xT0y zQn~hfVQs`D6R_B7pTWvw2)s=OcL{-buHs68k6%WV1p@3&x4c4KLeT5z1%)bF0WHkr z2>oeqC(lsVFtfLoC6gWhj5}8=7uBxcj$$#^y zgcqq?nV1+K80dECp)!I&D=w{{9~zp-W-sWn(uio5dQ06dFBi?e@T6*eunV z76iMbpGU(qTDP-278~6(ygDxp)${p=FE=vA=rGDqhnCNqIk23p(x`|(to^02xws}h zI-bdlkEZK*LM?;KtmU^%jE!fr<6{#oJg!;x2&#MkeX<3rVwcaE-&NsR!S2XG#9`|M(q%c)+5--+8+X zy5UrJo&^S4Ktl?UA6h3OVBx}GzNmDo6$kwo@67+fYgsYfX|aiPy1##Xd}4gOvl9|| zznYkx?dzMEnCS2C>>L>QP%G_HR(EoFC;mF(Cti{T=tvoGs||W>)ITXu$hpOGCCptx zBgJ*^lqhOtEG^3c#W_DGd(b^(1>vw&YEORZM=$DHO^wFZV6fHLXlm8v{^s{net(^FLJV#oh9`pE#$}P z2ugqO0oJMP4Y99ZgZa(oyv;dXB~49L`KIN;0W-jz0QZ7Y0DlOK616Z4Dpl4;&cHiz zeX-a8Apl1oAr7u>Bg|wude(o($%DislVm3nvuG!~A6koVq4Ch-3@I-{e_9K`IJS$C z_61_)1#;kp-@HH;vC%#z&HUkhtv0CDuI;R=(><5irR4wO4Tf%4!iqCTH~1YD zGh7}=%q3_O1&Dls{MB<46OUnP5-XFSx;U|CXE0WR0s)CIvFZqnw zj4A~7y87CvUtOWMv}+W8i$~U8(qKXbYRmgct*TdLR&k3EVi$+RG49dFAFuY4k2sxG zc00z2YM}=GQLruRb$ftO61IQ-vnt$*_?Ly`JLI!&Bt9V)KKj&gc)T%;t{7eWEQA!p?~jtp z@MWzxgd~S^4}YrziR?u9Nywvdn-`KU(R?IHBgaMq2@+j~LCAs={FOh?0b9`AqL9^hnP<#hNYcPE=gbFK`Ftw zBvl=A3!0uO-c}>!bgwwP4>q>b{Gu5b&R+~oh7~c8gAp}I#L`3Z-@VY63~34ocjkTZp2G_F}Gm~PMh=u#1FJHfu|%tJ`1*Z=?jaAlSUKfuQo$qR zK0xIUIKZRFp#OOQwqD{Yc{~NH681iCg_vzO*vbQ-^DtqoQP}B-|KQ~?qA)JS0rh>F zYVZaMQ^A^Uok&>e!`u@L@j_tCG+6N-f*iPK1&^ZuJ0R2;D2VugU8xkI0M=T-#DQF9 z0se0aup>hWHCi@)DPB-P*NYTAaq^i@KfNMO=pxmTh|d?5i`{P$^k2K#MRM@WBE68< zYIsq>5HZP@@70z_j2IO3u28&4S9MwW9b57uwI4 zTFA3pE~00)y{3pA<5fJ{SP=CUJ3 zXF-Y0Tjw(+mgZAedvr+SS}qK>PM5hHn<$KP|^_-eTHjYC1C>H))V z--Nv6_!Hx`i7s-8X!u{Y*^g@X>zD8g);fvj4t>j>qY1AnZU83ZXN%Kt<}1q;9HN%PW?9b z&U}oRX9((QqreV%^^^yCW#A4_ZQDPAdUM!i(rULF3IZ|YohK#pGG#@~&sctEgvlT9 zD2F-p()s1(jnyqs9D*ut9-+k@p%hSDSAgcx?$ zaBj2}`pluw=y+ypw!X(g&Y7*~dqRGzv7v0p&(j*)(_#m=y?xj}RHN%vdflUbmYlD% z_rq9%wzgsaXq|@77nIx=m&gfDGe;(>t{%2r=H5po;n*AWP>cNvD!qVq|Czg7?4^ z*B%(L*~3Z)zW`c2sKfpy?XZK?J3L1j64z>PW_~^+-Z?bWzjR4N*%bA6SiIJb<{KVB zPu_dYl4rTgChd+W)s;T=pwO1yzY-#UQ0}QgoLDlv_D1EeQ#Vys-jw>6PB&F@K}pHl zQF^Uhi*`PjPQP0Do58SHNM|snm`s*ZscS^-Q^Z* z_4Hii`baEQ9xpu`Hq2ID%Z{W{v8(aJ{tK*Dy(dWM()$MHAXnudclLX58jU11eD>g9b>!DBWP2)@ixOZS9pTGv&y2 zoQw<)52O8C$UD*CmQNOY17vS3%G^?@kYC<+Nq4kt{HlY{E&fdHTb&Yh^QKQ8-?HVz zmO+pc#s)DJOJLj}SF@Z1w0^yI5r15K9q@!&NBq&O-^^N{{@h|Fc48pq5j5j#%hiX_ z+B0i^9b(OefCbdK`T41nFmz2O6h`C`xy=BYVr^CZU#h%LU z&J1eLX5Y`=2ahaSzOD6~`Hrf>t%VB3MZJeQBBkTkT!eP7af-x*ZRbwz`vqHiZrfYc zGm!zA$2$amPHU$!?hU}T8%!9}p=@IAb5oPv|AXETUIN{L4}qmA9>vBK;{m5GVFLg{ zaCiZn(^T4iS?bW>;DvF)pj#!8sTGom0-bTDM9o27`>=N06Y=XEZcVZ()Jfj`1V^;M zQU2mu-6s2>dF_{@qob&?J#3T88qj}rv{q&6#|E25+nLKuLZSTr>}7S4%9$%JKnKZo z&)(8lZOW9Jg6<@^cE zHxNO#+)dqOuBM(6RIK9Q_VPDrh79=Wj<@_R0*FhcS18x>8wpDZ@#zO^@6@JsWySM! zL2c%VC)Rc%#hleDR_h(Tbe%b^)o>r{Mx8R{)nsEg;>@A9X34J*1D?NHSO~X==M)s3x40lQI6H@x4CX&LS5A{t{EE|WW?){}{f)gOj0TLMBB$SKkgGK2 zX1Y;7QKI3XAW=L;KKh47;%xHK2Is)o$j}hql3d%{_y^P!tQygJT{O)aGaiPq`@X~D z`&#W)Ge^Hi7SJ*$4?7&hxqJ5PCe!_!AljV>a=k;>pLG_w_X+#thd&O-6L6M-4Fd3& zU!+ySy#F^M8INzQWmPB@XkZu6+E5SCo0x8HZfTj0$G5iCkX8a!2@J`1VFkkfp*2PvJG+;&XAhZGRZBb`aREUvg2{UIu-S)Xw+cj zUIy)n@N;F!kXIBjE2IxS^z5@ocrkxS=M!QRVt{6gD zmHI}TxF?-nJ355!PN&g5vky+BlI&@=Qe8XWINRb9B-Vae8fDGV3uKC;bB7wE6_eK- zLOULu-X(MoGyK{I_U_xa-J$oX?r%}=+Vx5!<_)ZSUj@u8hh^i)X@fb3m{EQuW&mt7 zfO&y~*C_#*8Q2iu=Df+kz6(Uz@D;)#ID1ag^PUX0&tOh)m;}TC3V?FPN)BEQ!Z+IW zDtAQe;466oZtq;zEZ6M`oAqL;N-An%nsj42O%WH&u6<^#k%jBggYxImd2fE?uM;SqG@F-GYP0#$RBFYhS9&4F7DIpP52^hEnhoo-g>&d6fX#c4De*ywfb6@US=2>t;GAM~_r zt8TTmA#Ej_(T{#s{OAZ;8EGsug_3c*Q=;`4B*?@q_7o4=HRD8y1%+MywR0neHYghR zsPuX^w~~f>G=7#GzRhLW6{D8QKot?@H+bR>$J0^^R{;O;dS8tM_)JDzM83WxWM#NKG}0C* z9c)-EFA>q%He4-c3>3|BMRz*c7QH`x^6bBueOk4Ir79E^m(vv5QMID*syNXk*K=y= zO!5~{QuX(E9DNMkLs4l+s4Ec*Ej8Tj6*nN|aLf({{jZ~=ajDRnIQf(A(V_8L#o0y>));7Q7rVmD=g_A6q!onyT<{JZjebsap0|AOdgPl!}g5T6kc}$C77a;_}5ogYuKTV2n z>hM$K1$uyelTi6!9BzT)T8{(rAr{Uu;V_GOCwBFrlrN|IiI@Jm_TmXI-=TIix`Ga! zSSPhM7nn?AC7{i@+OS}X!`){PPBOXI_j!7yCfKDiCKGkZg?;>z5>q;ss%A=j}5NoE;e`9)IcV4ysBD6oocbIzz2Y5R7 z#8gRHV|As~8Hl({?xtF|jqI)7QOAl}C*B($|1iB&=<{tcmMw+C=rtd-f>AsfL&d@f5@QxR&AhikPZyn;eD+U~yrsoVO;J8R@|^n48Iq(PA4UDNSQ z&C!-k$Bu1sjCi(>e>xT|R~M~t1ZG3*l2G>9KmYFonfA%=efXQzO+SWs4bLO~CFHT> zP-lsE7JtX*mccZUQ=)>QG?7%qv=CM+14b4?@g1rYTjwo~N?W~hc6okvRn#YVHyf=F z#AN=UTKs-%*GAc(X|KH9yvf}mLMFA3OrrDC71`90woUimyU8dS1MK+ZzgsHU*&?l; zFnvybY3oDI%|$!O6BCX(#LZIleGp>HCXjZR$&iD4a`cTv!P(6Jh}kJ$%|TF=A0pg+ z@}Cz0fJWNz%x)=L$Z|>*!pf=oR&g=>C}x+8+OoQg@^GnVzTt!Dn~IW|%hs+aU2)kv z9KG7*Z7XM;rD>Bj^s1F~*yOjDEt0g|R>Xr9Z@Y{5eCG?}zQ(uA^6ByT733WuYpTvi zK8#8m$$E5PtfIT@SpUXj$2M9tJ$SDw59)nB1e^|9e5w5apv!3EGErK1*F;@bX2)=s-5RINRh~wD_uREsDi$i+bm697uB?#$Re-s$Tp0jIe4gfmOh*;Opde3J zqM!ji=OP-wQOC*~zlw`LL6SiB!12Tkf!|2|$vL3d50}-=Y%MN8KPK)sKUT~xE>9%l zVp)Y)4!c^>%jVzF*n-sZB2D-4rJ2KThaTMX0jehtpq&|X7P%ia{AR~f1WVH%<8f!t zGYpzTUT%K@Q!EllcL;11EioG@Zr$?y&vvwCeZ50vBa@ROWka1%-%4yK23z$ytsf%L zcDQYr9SrU*I4O{<1J-2b_Z38=26z>JY&axlW3x31HS|opKm+3@<})#~s;(ad6t#2BKd&cBH$m?Rz)xMWGMB z`YI=H5}4EU48+7Ls2S!n^|0J3=zR!W^vcnPPsB$ zYg*y(hO^H;i|h%q7wsOe&hEQ&<*vI{Vy#ibD)~OLtiIG%=f2}vNhA{1K%qMI;qdgQb;Y#KLQtiE zmic#XMlJ#QY@tLhlt_enDM5$v=Bkj->~fi5IrhIQ_9hpH%<@~SDsGt867jho)^FVZ zQTY!qhV6`JZA4%scf3aUmt@ypYF}_Aq~b!@s79A*;>sbbLsS4GrKLfCtHIMVQ5*Y^ zH{+NestB#!Vb3N${$O)@xoUc$yL+Jruv$vT-vv7qI)LK&%{5RCc`9%Krxzp_95pzF z;LNrOPNSDZWuU&GHr0wixuGqDJ=S20NWEsQtX5(yiNq>bs(niqQ^H&;8ya8g?$#!y zu)OEtjtO^3C;4!B**4T_E2ZhzitCf?jcl#X;c`^Q(}R)c&{O3}GKCHf#ugJtnpf_< zcO{{3P^09a@4n$KGg&t@|0{Ak+Bdlg&Vps?G3c$X0}K=F1_B8>!$&T_@#5)CE0 zoasFSyCbcor^&bA4%N83)T?JL%)-zjg2U#QMhuXzv#VrGI`fju!w+A3?ZXdePM-Yu zW5S!T47E}mHq$had~|gAuDh1si=1z*E@dyUWNKcZ7*}~_dl$QwS67$2z{$p++X&d} zi_o{`!C4D4rtqF12;Q|F2SYXuo>$mU^5U0THkAXpA0TOR=;xPYo(9x ze*?M5$4#!0b6g*xQl)4sSBx(C*mwT8$434LImo#cBp5yzoJ>FV%uHmHEt7cr?Q=Ue zmQK$^I*R8F<)(ReSm3bE+vCbCuQPIed%JC-Vl%|*@OcGaKMZjgrZe^*&#V%F&Ht~` zKdsw9)prCJ!=+(Ik9OPH;IKsNQE%@Rt=qa58_#X;UbPpH8%r*V!XXI5|_Uxkn{Z1|!}OrP-&s-X-vkfP7d*f*o}pqMyw40z zi^6ht1_FboJ{>Y*{1jSyu~viv6$VqVPK$hRArialsyL>s+0trhSEU!S6GYqZtD0hQ zX*6h5pE!}3WS)m)Q{2=(x+*1@7S+ngABZa?leQ#bH@Vw7`7YR_e*SPGU3z=R>ak<1 zKUjUSp^m@IEz#e;iu@ebCWcm=EfSK?R{8cgJkA4FL^Ge~_l=%S@v{o>yCK9w^6g2Am79KS`PGo8)k#EVXs~dR2}ChI8pY7_8nJ&*YjYNXR%snfMHlI0L#i` zV7D+E;wr-^4KxTaCDANaWCi@1slbP2WlenftWB4+)yZb(XVb(oLs7_cmuSnhWs0t% zUOIDA0qq6$%R)~fhsotLm^N8l*43k;#roRtCc+ZM+$|rGpO#iPHmi(eJK8-FT&=mb zY4wgfR>>WfX^q$7iGp0QHx+eV)6jW&m2$K4uQLKpgWQA8vW^-iQ14$p;gqsSq$v zv!z|Vv}t|?sZrc_eq>1}vmf_%5Eyt=a*_F(R9 zOZ7!=@5vrNp55LbXzxGyCAx(iwJqFvC)U>`fK&V!;!Y{f>3xU3#_jU|S7Ir_2Gv6m zoAL(po*=3XESU{emOA;w%+l=al!OTGURkNEEv=CHB6`)^4Ysy1OQ;6bkx#yP=bg*X zKKlhKuOK7ny#DZ9;z-jn40iXSfa0gVl9gFVF~m zm+{UUXB0Et!eZJ`SG>NRXIgN$tF2unD;pPPW_=sAsDs?Ca?iisV`yJ3}r;H$x(Ffc-4IHj=}8x_xGK1siY+nEax~? zb1Fqm)D7J(QLqbqh?Cxen3@MR3X%s!<9C2aQkf}ta5y%s55z~wpNKLe zgq3#F7e8>NCY(;*9>kqkd#>0r?{cOrt?K#J`Po@rtrCgllSQ*hjZ^i^_f?5{Cd*S6 ztf-MTm3F1meBwkz@`Ja?FUL~R^Y6L{S&H1UwfDqsvI89)tz3v-+l=|jqi@w-Kqohc zxA`oh8JPy1R5)gYyfLrJIcc}G>O$? zL8@a6t`GPwcN%=Ed}I$TS=1c^_c70;jv>PYj!%&GI-SFgSPYd028$N&s>@VbxnKPQ z(TSCUnSiZ6X)POmn*-P(gdbJa5+}%{7XV$@#9X zQh(!8=TphX*0OMQk%(DUHPF>_$Gcf~%5inMt)j{k%w9I%vQ0a6ZB@`_(^?#5wVQ7q zsBAhnJr?wn73hNT;B?|hTjsv|GR|cD+G~Lpv<)hlG5P}Bw-{oG0gPs>n{s?;>{kP9 zVgB}udEc*q0uCwE00$PQ*VP82kX6eqZNX+V5>+jV}snc4;FNJLsxBn^ZWj~3NmxVd^d6D@l4qk`=O(iTev0wtfI6X=ur zrMa%IIftVsa%g*7#cUPz*Ri^xn%avlYO4H|WJv3B3IUO(O9H-I+cLe*1#_&*x75Hd z{il>i0CK>WI=iSG{9T~8TPW;E4+!26@cJ3N1T4P*G~&n-><>o8K(M0-Mp41-Z+7H4_2Ko14Zz?EdqM%$hZ?`0@_446~`N6?t*{`!%BrUJ)ZHbY4^>w}uZ@CWL zi=^E0s#vAS7&DofOy<38=g2@qRlA#c#Sucp;6uXd&`)Q|hj+HMB037f=AjC-Z=x(y zeqA#Z#$?S+4d@N>WN~+ARbTT&cqCLGY7dbSh>oITIja%nwe$*q;Vnj4OXq>)t-a2Dzi3g0W78-k8rpGh->CbR7+T zX2QAg>tItD_k2DS8u&C5yJR-re>i-3X=D7l*4N(wCVW5h&_nOP=h)aEtgF1^{r4X( z-}Fr8soCUPbFOJ$_SttLqk%a?pL@V;nXj*1=vwT6$70ulC#6_~%+FlcLQC7^WOYB_ zmO|(=c?o#913vG1nig=Z(|7V6B8uUI+^Ilet>YS$m4Q?i2JphPmw;uW$%;~cJz;FG z?{BD4(k7cj^L9^-tyw*@aejJw(DJKkv0_&5;?Eay>KC7R=F_{mB9VxT(36@@ZFwM) zK%&fLE3x5V=lrOprUo3UE5{lq%Wmsky8G@WU)r0xw5HTvf7OsM7`owxrAxDa6Bi4V z!byrpAEVs_zLXWBUu?~B)Ob2%IJ4RjNx ztX6bS1;Z`|?B@KQ`jOaeJ=weN%Gwj{Xw22ZGuCCB9kxt=mEF_YeGpm556e2qzg1b) zX=!gw1oIch_aCC&POAp~!ZT1{4-u{#q$1o?5_BeeiRF+&d*EE(!2QECkWCs~qlDP) z^`?_FsaZE+uu5pbWRZMAr;QuRrCoinG9&B`dr3o?#F|n=J6BQVsUtnKXY_j~i)|unSXM%}@{p;D;bJu98IFxpTiL=*UK$@>l zV&6{$dsUCZye#M}qvQp9=adM@;8T5PR0o4zzX4!CgAzn}Q8)s6yguI1;w7f08WiGL zjV-CGQw)sGc6T?pe}P8AagR@GH>sunOyPMCllAqq-r7`Mzi-c)9X*sZsQ@qEQ&~3= zy0drb_S=`Dy)ktCnm(0a%@wNEM9+ETriCBn=>IUppuLb=sipb>f&RDzB47IjJRgC{ zr1^poJm(?*D_jcq-A6J(&ImLiIP6$#5I8opTLmmrLoz%h9ZK1Bpbiju_61VLDqZ+< zRLm@i2b>nMsMwmQ==ix*m9@KT?Val7&Do`;L_Hd2p?%2dXVr`OYFPn!79M<#cIbDV zU(uj1THqM1ws|x9JTB+S+#L1voHs0Gj?s}n1#2K7_lrZ{uG-o7ja`&iP}%u~fk+MLr0Hz?cV*fz2BPeANLvqd=<6f;?0Q(gKAD8o>{(N?R5}@K}0zVP#ywW zP7H1Vx}|opIa^%x53WxL;5_;Fp9hzW`WADua%_63y?si1R9kYnQp^AG;4LlBm2TbS zpk>%s?K+Cahi7gy>Lruhhy;;+sDgav(n`<}d%8+TW4ClqN)y?|W@?V6I_OGx+=u12)5f=mS?OfWZbxAy@eG9R>~d8e)L(bORS`PWc8x zh_lG2w4%gJdw7YwZT=1U=3+j1KG&A9c$=MV%F)G4SC_t40od;EC8|P+v``}=3YM5e zfg5SfYwQ{+nKLe;+C){`A`9PjPQL$tZ11<;%&3;M3$X9bIF))L1lU6S!PD=0f$kVi7{2gfy=*h=Ft7}r5zPn*)}Ig5?6g<;CMp?b1&z&S=e!ERZhkOSD5cKGbO zYce(WZ1>-FKKVbj&4~o(z?H8_3bu%md380IvL%I1i%R<2E=lYv!?vRO7UakP==tYO zFRcC7p63@)#k-zTQ*W?8_=86yqu%+_{?RUbxqd?YT&Y+ReQzRJ5i1-iR4FYHZs)wK zVmy&bjn-8WS8i=;+Nw7JwhS?m3}TB{Am*=xO0c|+{D#)ZUl5heJ`)%K$`S|wN5^&z zbA)VtU?-N)aL8hXT@1kGFts8O2$j1WV!K`~O6*7_Ml~b!m_##aGkXjPY0vOvLxVJ4 z2xFTSwB90q>rKe_x9)hgUM!Jl)N;GEYH$jfhzH(VB%i8^Lv4~$d++%xgOQ7y3K~@g zxa5nbQ`=%k+OdPuCXKTPn8l0(0%lkLd-L+P=>weabwa{k$U1EXZ)w+9#GR4TiM5GFuOk7iIsC1MV{lei)uo znVVb)O!`gp0hSL}w0#%)owJ#FR}35iCN-TEk`t$9E7P9%=Uai0)*{tPq@tCXmFb4i zw8K?vZdQ$Er$b=%K7-DDr&8LN@D^Rn=+?ZT8=~u$2Pg5TU;!5TYV_8Gkh;W{3sA8k#_Xg zhpLpF6(}TjKm>9Ac-3sht!+zp-L+&;4=Bj1>uy=0rw_FBnb}ze!(SnDZ68m&57iq7 z>L#`QF0n9To>R1YR#qZ**tgc(9xB^-OAL6G4>9#onB9)|jN{opy+8qKP82?5?r`6k zX2pD&>xUFWthCPFGHK4c1CAGhf58AcVDEysjNl07^iF}iye(N)*y>bpW=df2LZ!5~ zZ>FY39hcB!v?}D>k5F>DyvANGHkKwX8W=b{Jx<@CbXo(kf9+?4^b&Gv zL|Z%OX6Z~he#U(U$Eg}i97zJt;xx#*ON)8*^qoRfw9do0U-nx+=UDqYd4~prtbbV~ zM7Hn+kL?fbyl&3-1+6kz<7_hNn<@v4yV{*)rhq(cg>Be<4@M$7pLW7wb2w_QN_rB( zQN2H4UOU3KOd0G=mKN1ab}F4#cPj`YEmNll_e{ITO)Uc{y4BF93mMd{!P)Y3OSii# z;HfLG2)hRB?Cmj6SFp6)o~~%0a3yOJA@c9CAX$YDH`R5-Z|R)5@4gvZ$&3!`a3#c% zFVM;%zQ((Cu>Jxo{T=6$6~K@l;12LSsPG2Y>_geD1i&W{5?oRUvX09OrI9cc9pLy9 zw<04u6H2gbNn@>Scyg@0JyL}lX^!-!j3DlZO}$^pxcj=$i2?$-!j7P8g3V!b*#!Ag z7dS3{P}fC4m>RdezHvHnYuohkZbLrsA$0!S6p& z^p}5G! zf_)Zx6CV<}^{n@Q&Y=IRcR0rP1PBjz?RTb*=zaHiTTGLt!Ibp;U)nm|?oQj5Ii}Jk zdM0kGW12-kBL?{3PXgU)HfVuz>)V$$m?3gFa~@X)zKR|@x7anuyn%bcm=emeg<(|H zf2|#hIhQoXYGbWpXk@9SWrk>m@hq01>(SL;C6A<1N0LLSvL$pR90#y}wK|dxUf#0u z;Dam1o#?7XQhL@|=xIpgidtJ+?}sPwYCcwd2kH%dFjIl*@5l8n_+sEQo&i$G-7wrC z_E6w2LAWTmQ!u+UEd12`&1<~NZ!KHn8uxd(u5|TWivs zxT^cH?Qh%m8yXK*k)O8p4K`=5zaHWPDd4$J(dq!rX~o@7XV}!5%Y8w~A7(sY$(-Yi z?Jefc2<1Z-oY6Yt=?);NPkpLUoVf1CZ!bm4B>|60{LVW&Uru$$+@U6&{>2wy&f~c{ zYj3=A&)N=WMsKOK*Gea6Gb1C(0C?Pb8+ubEo*kYW+)=d3(P(UQy13gvCfE8T%DJ|= zfq`;cJl@~<_bBN_`&!FqDi1d--*?}#sip!IwCSlCjdbuO9s&F(1-+%XuMXEid=o;T zT!);X!JH}x?xJvkc&rF6Ue49AQ_5L{&8!GdQ3H`%|Bujgqe!}_*TqUe$qX-cb?LfB zMm`-Kg<1M)32HRQ%4)rX6{YP161_I5krhZzGnQ|< zY1wYgKy$-*Wgl!3*rstc&t|jP#)x9hQ{lCuzG%Q3Tl;Edad9P+z->ZcQ^jCYZ-v+n zBPF>BK6#sZ+H=4lRR}M&2M__LFCnv(L*f4O!l;`(B|0EMQ4k-%mx>up1A$hlszGTq z@d!4Z{6wiiurH0!CM8WJjlu@DR5)$-R@*yO^UKqN>A(t4X!P#!csjh^4iE9C(S^T# zJlIw=O=n2#<}2^r)bF&y8j@QH)3`Ej9FW!WRB}+XHw-q6RNmIQbmYjuIs5e%19|TF z`1sQ^@W5v!0869zmCCTw*VkmtU0lw#epAOZJvX3 zIu=!N^-E4?%GoZP&o1@%>l+m4_`<=_V)Z-ZaR#bXaAVM8E%w=rN*3=OUdupBqD;YJ z66xQ_=9ZS`4=!xk0>c13ka9SGrfM@d^f*UkwT|e2Ih0Tvx@Q|MJXDh?nl37_)yL;A zZ|e`Y4Ys#gW@E!M7`CL&$bd86PP+yA_+^wf$@%o(byi%%vwlA8_nbN*`~)YX+$BBL zVo7Pj{B@!liF(24YH+nEW|kJx>1h?g=N47g1sjBl3Rv~QWfa~oIQN3c!UXSLV%z(=Sr zg)0Ta{$00DDJ|T^g!?QQOd+NPi0nFsL3Fx~3LiL>00ir)TI@j4LkBN$Rp8N56h3!RFxlF{~Rwxk053*qQ3tC_*>d(oPxfP9( z%njwjRh#X+FWMFLrH0fGlIUg_0k^L$$yzSbnk_^6?fqgUIfAl%Rp%W#z{h28onoKx z#f|gik5_SDg#hUFI?&4kmC3m{xCe4oAXHGd`c3AdxQY@FinkzkqWo_2cOVA14-jhy zNKyceaLW#ET!Jwqu?Nv;QlC$4v#FzjM^&k^PW9G%gq%z<2Pv+o*%^o7 zpjY+U+T^ksy|K<(B^{cX8ABU9O^cILjgC8ddJw0tkNkVj5BrV^(S3ZG5|UYW3QHQ? zZd?k-@P=ZjLfU6-#oQFUgs#2*}Vo8dFNc*w_w#Zn_5)q`GuaIaOA`6WVgCoMqaDv(Dcf>bY)+D zIhsropZT`0ec6~QS|}t+H0YeQ&(QtBB!rxMM#Aa%@vh9xH)p(w%7H zT~ehOw|znWU~U&>|Kwl)0Ah#+s0%2kVoDrA;Jf@!+eXLnRlb}juVLV3a}gu1OU*~n z-{@h+OLY+4*45~r*PD`-T3LE(et;;NsN7iVEz?INp3<6BqjLLu{5lt3Ay_QtS4Nr| zljJX#(f_XCO{@4xM9N(g6-mHrcea&Im*3cyz5VuV+%r+Vm?-lX_Jm!Xo=)FlrnU#d z0Ms;Yfnng?W$v{sx}6*`|1lgMio)hs@X-X|qrD1vvtj6t#_SAd#Zv8u zLs9BM1nA<5>LjB^$<2f53q zjrwwPO42tv-O*vJ|C^9^mPGbXI=4Vl)9BZ8H&3daHds)iahA}^irMJ-4ssK3hO!Qp1L?aa5*KlQn2>XKL`0quG1!&D#8p=x%cV z?>(MAkLN43F zQ5zf$OnVp*d6-{{V+pW!@C|kmL~&#+0~{M>jWMm#b>YpOj%lUULEx<|_0HIBVPl=5 zZ)m2qb#Bh?3*83oD}Vmj=k$>8n%&d(883s!GASHEsG-{B4bkk*fD0z@NoB&Uju>5Q zD?!%<%ORt8{#;EqerM0(v15zYEpPN&gXM>^^E0;%_@d6se1SJ+Jp$&WgUK(nYF`ez z$)8^9tfB?Rqd`_bL!zo!HNsWG*`?5%^kcwdOY@U7fg7>o{jGa}*aF`fzSl^U`UwYs zc~JzGwc_EAdLV=EKeZU;yF=j!)s;>AF?l=8@s5WpB2lp`st|uMZ8If%yXJ2c3kNC< zT^(op1~%4h4SE_Y1{}J3<>|>{Semf5i&LbUwHraB$)Wvp@7ra*Rp%m>d*^EWF?V)b5Nh^Dlw~UqrA2vi^e24!4sH3iVvk@Q;F-^ zGWXn*u^alNbM{>h2gTPW!03Ml^Uh93?6*MS-#0SR%=SfQn)|pThE8> zWp~d#9I{`yFyQRC>~d$h8q#S-zg0gjcPYEjBVzR%z>UTEk(B z3+@!x0zD6LhZ219e%QtV^=A;XpCP9LAD!}CL0&1Tr0PVm;Nl~#AKDC{ANXt3DM2#> z9{|3W;{{3=LvqwDD&#X}EKt=`4b>nsy}gPmkt{WCyZdwbC1%DHa!(WwX8-%)<~`2l z1>3x3vT?)Ld{nty;@(~zY`>!P`eoBK9la^Fa`kpG*Tv`fqBbQ8D2pU4;PP_^!?Wer zwm@A)CZOt2Botv|Iz_OEDVm~qmR;D8uJBJAQl`FMQ@KfMO}F{o+O(xY7nIH^HAcD9 zmA01LsT1?WdYr7sxyAcne`Oc=sf{pw8`~wEN?Xqf=XFsuhs|PR1qaQOh_X#*uH*xc z6s{ZI0OAkS!}T#hDS-B{R}Wh(D_cZpo0Ms&iFrMIjZpxLGQ_MxViPZ!tPh1{g{Ztf z5YkM4TqIf*ipVMdoY@BTtg_+hx!zu7qimO2x0_uw#4Zr;c(33^x`?S%b4@lOT}1qD zPU+Eo`O{RBiPgYrW{KrGd3e}Y>!_}a7u8iqI%?+3A+b9}wx@uS*Nj)sRNm5+x#pTo zm8x4k>aZxqIvLyDZ>vpP?S)9@b=(g5^a7}#dI0K;o1sPn&$Y*q`UX7d57>ax19=^g zvqL$DG{^Js6}&TG3ToyU#XvY!2NsGNuSU$Gy0z(y)tK}xT77+idl&u(ZQ6)7f4Oph zfP4q>$^V9Db>q?~OMJ6}? zCYc@boaglOJLmB0 zM#O55Ni4><|bu zzBS0Ye#()ylCO(aOR?XHLe52K90afL+xf|-||rWdetCfl#r zdpDc6hs{B<+fzsCyF$eOcv3SQZP9Fu8yjUKI2)3P|3l^as?~7y@aSmUOy`bZ#_yH7 z)GG1iW7=6Kw6tmmC_eOxx6iv~XkiB3Yilj@!Du4vbA%;!Xze>X9bZn~+=U&NKvM^z zXA*%{V%J!?b8fNmnWlR79=2L{EEYJ=*=1e{twA#z6@0Kqp--v@^cd!ZElf07k2x)+ zKn(DgF%#p=0`^((*A>SMH~v*P|KI2X!z(cfsC?;US1LQDPFxw8t*cFYd&GIA;a1~` zhlgG6A-n(j>u2x1_o>a8tVz_)R?Ta4X+uUlI5yvh-jLRhaw0;+9X;Qd5AMnx+S!ps ze~}2r+TJJ$_D^g+xckaQw%1b{b#^a)WqECF`EQFz7tzdUB77IrTaR?77SgwMVqzR| zU1v5PuvFrSQ_w@*Lf$zHcYti#xo;L2|KCnT@;b))oc3w}NVg@|m_XpifqlcO8yR_A z{(>H&hepZB_(DgAH%Bo<%~NK7r@cqlJ~&mL)pkUQLoG(9H>LORO$u*uZ_3ah)4F(H zMkYx=lgXt|AdO5Ug_QiILlEWO(y`-_M|QMD#{V?Ei?|q_zcJmDdF#C8haX-(_*7?3 zdNFZBQv$l=Q>eYrZHp_dAz7)UUSZb?n6ubF!}jVmu;oc|eg(!&kXi`-I&&JF?XKMV zIYTRO)wZOc+;O_)a6^i93on89z>!^`PFC&4O#=3VFgQU93s^*)`Dq@P9o9|j^+{7k zGCDck-fj|FqT=3N>>Bi#$FN5$5DH|D&X$P@#3gEB`Xx1EgYG!V<}Z@|>JkjaNq!x@ zEEREVA>i`kW3VRV&OTgG^ZHcbd}PTQCJuD&tbeF_kv=rF8+N23>f#ddU)e_+q4^xw zQ=WqPB{4v4pP4{gg&<2xR@5NsKi6GDT#QqRVLe_MB7~!1s4Gr};NeIRCc+F#$~}DRHRoxWaJeSBtZ+|!zzn_(buTGYMe(NN%0#wv$RXU#mct2J8iGN13U`QoYX)5E zzqXN}`pB}`)?jOucb1xqDejQCK&R2fpC*&H8-T z`g|zTLZqPSAziM&xpVc=M^_#C0oj=SV0)op+1VpqHVnm9UVU_^F-ZI&pFfEoaAjay zIe<-i7ciW1=*NvhmKRG}MQkb>lT?=5F7ernca~Cx*Hpvx0Hd8&G*~pxGAImuV6d+K z(M8J>zbgLnIp^-)Xzz->Xk8x2@iY*&XRJBt%uIP`2!?{Azrj&nZTqt`<&H}ekaXS1 zS(XDi&w}|7W#Z0jLru2bb_(0tU@f$^7HnA^lzUC9`z$%E_HwAB+Q zR>P_xwYTv1YcsK$0$V2E)oLEn4=Z|13*|ZEpk`1-@+}YI`fpIX0XM(BNp?Hqc3R>{ zM*?mtT1}ddf4^hUzi_RPhQzOgnRH}8M9wK_TNy@mi^Tsd`wi>2v=8oR-~3SBAnCA| zP0*wYe#UIMpW@!|^{k|bi`o~uy*Z~IsfhnM^FaxAS~vfq)1wz_*Q8-5s``V!Xf+LK zVkrpy4^1R?ByR1&pe)Ko{`R%T+5A|)wL4B|9T(e2UAQ$7bm_CyXCRjd*$Ol1+2Om} z)+PUb6i7+|+?XO*~fN5)k)S<>bv>BKzbT=X6N zWv#t&V&cHhe|}9PYXv2C3dgS`h{2&^@6zTc4kvm%jGJsPm`XvfN6*@0kFA+)Q$e1k zBoTKOhtT6|9W`i)rsS>E)(wEYrvraJ0W;duFb~XH<%IsmAoj}9XXtya|$Wr}nUC@ZTs!ex)(6hAE18vePJuo1Ud=S4GE|-VP z@pu`075uwD2XwarvJs=Bw@58L=WmaV6=-l!6_w56Q7kaPQc;GL0Tv7UudtF6o*Nky zrFDue&6!$_GZtGw-z@JNm}zcKa`^PFsSY)gwh;S%%Crf*B6la9ZS0rM)rU~|TimZd z&rj0V>d<@9%||HLweI5hQ!!BBmls=h#P1)(s3A{p<3fGi*Pb4;5s{^(Lz!A5uPscw zK9=|*6MeX{vhOI<*$>tk>kT2u48}^Fg=fPR|1ARJPMUKu7Pe934Sb57FpI&B7;!=K zY&;v~Da78qw(6hX{`L>rYPCxaL&DY~&Mz!=cJ`Qm@Y~;BJV;+cp%qSf?W2!=@{{-9 zFK?j11MhE?4_Ibq?Bn*6jeG~_k-f$Ej_f@>D^ESOqMq_!Z=Y~8&@4sB&a)W72|Mwk zeH^t};n8h@2R<9_r+o-8i)rAs6p8*i=Y8S&bH$0msBf(Jz%|1qP56L>9(*SAUsUXC zlm02(FYsP8gga`0{myH1FBq+@mUj6}d0}v{G4wdA<_*|!FF`DCT5RBnB7ucq0lg9u zNNPpA#oR;s`ODmWKQb*IRDSoj2(6<3Lp$qJ;9eZ)YMiUTt7r9*M^@FXSyU@G6$)wM z<5Yk`8~@VVZxi5Le2F5H5FgK(SLMU0wOCn^b

&Oq+6U`!1h=d0{OeW0k&q$j#!r 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 z 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%0DUv-W2=^bmyKl;Y@s`;vOp?rbiaqrkmW7C4;dZaM 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

SNNAbf=k-V2Y@fZG5Rm%hR~c07;!K<65mk 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%0Ay2OU@TXT6pQ*2yLtU30>fYIQ)SBftqn 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

~>~ho{6qs5g+o(0-6dLrw(|=Fx2eu?lTxQ`S2ao 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∋W&9$L8a$_p>Ntl;hyIb{Zi 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 #5ABM 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

&$k6?Ewie~;-;C1Wn5FAs(XVZ zi=biEN)Ct>F>gH1CK9qjUr}yM`g2CKcdl^+1VfJrnbq{`u0$lVT@2_k0ph)&g>?>h_=j{ z&fdOj*WC8Gl@)TI=#>QxDyO~NZzg{r`hA^UjWSH)9ThLg)8AL$NMn@y1uaajOmSKJ zl2%pk9uEBd?{Z~_M0_RsX_UIigAD#=T} zl}rLp<}mWw-aph${Z=|0%Q0|lR z5HjcLixjZ;=`28NXfX5i5V~dId_!|IZ;Q_wj*?;5h^tQQ#%yy ziS&kP7vl=-+S*$rHi?zI?nAG|e zC46a6vDox<;?Q9Ts+0f|N=i6maSY6W;BM-eSo44gOC<4}N+`C+ek%AG z6u)4>4qgQGVgi7u~Ab#n*cghuNR57n%H-Vv$kL zuaa2(nkJP_B`^IAsv#fOx%%mxj-rz0@a8Tq>8QEEJ#tjF=0s#HYjy{Deo~l~M6p z3Ut6J81R&K$c;RL)a>Vk4+CII$DiONDA98;d-^E(iQ~lqueYq<|HgQaPz2?43O#ws zcwm=pVB^l2sHDmpi>iJ`xL=S(!po|nnJYv4-FC}RM`Gf|>`mvLH-2RNyz|IA?;I~6 z|CL5fU?}a2)K#W8nEifRpH8AMS#5RQ6AqD3#?GXx!hMG1?@p(sJdq&v?|;W7B1`=A z?<8?)o5+*O7-e$WFCpIs*Eb^u+0`PULO}l5qE$KoJ~dF+cLT_X>eU^tIP*V(t%6mO z!AcSPy{n}Yxh>F2AX644Jpfpk3PCWR3$k@V4V~WWhAjbtTM3dx2@wP^X>a(uEbZ%; z3*(FA(@M0hqRv++PTNfC6GQd-ZyYa{^EGUq`pN~AP>{b`jEOZp{(*9ssG{25(vh)qb&3qBF zjxNsUSzbq0`;)r@Och_~sW*wNPt>CdHuKJ<2qIr zJev6(vwQcF5AA$+*RFSWzPD@F>q}RN2x6j(CKkK+BFkVQIBNt9CX@QzH%F^u`fi1s z*Uwj6({sF`wDI8VKdq7vKQt;jJU=Q^nl{jAvslv<6_HQCWaRBGe3Ac>sEryZXovg_ zw!L_Hr4Vbn32Ygx^P=Z;<>9ICT`*%2^bVLLSd9aqa(qTbKvo}sU{^AeYk)de3!Qr( zQn>3Ldd~T9Qlb=>h7qm

j#Cc`2V=>>BvCHL8`OQMzi4nxUOc%Y=K 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%0Dlg4zH$a(5= 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 z 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 z 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Ș{1({*GaiSt0J*?5*I@rLc|+ji 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

in*J|N; z-F+O9K`()V^o#0RL#3(4?XEFZ8fwXB0arZa!#VoCKAfZXAyxbhE*JF%6Ywv2Yjc@R z)34QNr9w}gKwYOP(^QkcdzDJv?9Gp=%)O?QoJ^n2ZNMdPi+@cQCmljll#vNN{${|$ zJx%L@Y>s|Wmw$Y2YrMOC;iN#u_ihVlj)fk6ATe+{q-25o;9No8KdyRA)La{=4Pf{* z#@JzhgK}!)Uc>y>q+sp`DS($uIJ*mDki@iOr14BDV+DtNW?SRj+~&=D_B77Sz{C*` zmBEKBer(3N)@mi5uBL^h2B?I>{P~pBRA(r^iqoqT2$GXOn0*eB7?ua4~>rn2aI0)2IR*Z z0#D&MAt4uF6(Fe=SO8}7L1lr*0ps(oy{C*PHlT2Ouytl;)vB#qf%jLg+P005|GEB5 z&AIx&T!GZ%mZeMIUlvq!cx_o(T)NU_vJd}5Rj_yj%xg7n&x!31u$sg+8 z(!ZspE$M#Wrvkmc#u3rC?gnP2>>F4!ioj z;RWgf)dIT3Pt7bVhkEn2qytGuUlQM-3B`|5 zFE}X2|7f!t+6UC9suUZf-mM{3*T~wiNlJ6B@Nx3g-27x(iX2oyw$@JPrW3LrcXDcu zEHjT_$*Vg%N1EXe%An=K@ryFGPYMGVWTvOc%-xL#4`MV(Esaypy|r-*I!Wz`Q_DHxyjgBsx8Qsh6Sxk7pnAVY_=-5RaV`|5u^#LtE=2q4sjk= zr>Jvs8^-1?a@-&_wjn{$zl#Ssp z5TFTze7uto_|BJqV53C;M`jN`3Hc;o0{Ga%)-r%WVDE8r7j?Q8OwU-f$uJEZK85ud zPSGcpiCQ5L?^Q zM32~G>-ySOtQZ^|8-r662L=!`SE{YoD^@mMy!c>dMOs%Ot(cXj&PYRO30PN&W>6ur zrjYMCmpPq(fpI4PB;Rp5bDijiAKe;_rfNd!^bBJflgTDbY)(_|Wd5d=VQX?FN|x>V z3o^cV1_`EFh*QOz^z&__PfhRtp#ClZLiFdM=^%DUgXGaXbi4Pfn_rq#O+0o6h4z^8 zHAMxf0TU~d%1VWK`HV~kSH_g`r7AW(yc^1SMG-cxKCxG?w#z;r8VZ>+Bnmq#4YC_a zNj!)}uRtG8#kcCQ_*~jJK4d0o4$CMdVH6d=={mt{l(2#dquzx#-UQo>^FFvFfbSE# z13E2-h(BdoOUJX9%iWM6+G)+&hM9HTc zKX?KC{`rrZu5XLcoV>{r(1;QLpcJu5kJ;@<18|H^FMZ8qO$HpkXkttC!$ z*S})VRJlS~^+ak7)9f+Ui`7oIxaK#iJ4;wWt|jkpfk7Bqf#rh=L-o`5scUM~7nh#h z=61OyZ~&Sb6yNJN!v#vzZU^K*Fi2kM?e#eW6%{Lv^G&R)x5teI|@TAu6X+Fi?sx{e>89!sMUp%|~MBm)MJDpWIlyBo@uOdP+xch8>p z*PF2%rNCMqf;hPzS9YPtI1jL8P{*B5ZHdwRx^U6^`}PY#psQItSr&S8UqP2M+1H7g z4`{as&G#Y9Ob&zLPtQbYQ7GVqd z#e}pG@r(K7t56caeM&r-hw}if4e}$n0}IDkFktDsG9x$=1=gd0_f&xZ9sw8gVRIlM z>Z2O?MHIVIem)%h)r3Fq_wHyym0coJ58v(XHND+=A zP9iSH7zI#X*w80p3|uP0C}SaxD1dAr7JMMKE*aw(Xscq{#^)m$(G%~!OR(O1?*p`B z{pAv3ZdNPKSdtdZY_7|RY8+1*oisK1Youli!?tl8s>DgSvOz&$AmN`-OW1HxE-I*jxKj%YjE{`M%e`il2~4#TV^0UK z8!sDMJ?cDc$_5$|1Q1aK=+dp7*HB>;)>PJof&h{b*$;QBB^~RW6bXAJmMc3*YV< z4S5;Ky@(}|<}2mlMom{ponMzK&8*E7PVT?wc(XabSZyvANKmw^@7U?=koUl`i8(T= zD6PC>21UAWY4g~H?DjM^x}o)vE5$7>1Q>>EUl{hIGS7{mNp>HQ8{~8h=?c152HkQWU(oArAdmVm- zCz)qZWbtP;vchJK`TbT)zBHW~4JuQaI>c1zdenTCCF16}Y!$T;>t8KW9us{)u0W@K z+EViprBmi6FLsn?$pk-COz^qHmbyzpEl*c|sgCUH>BR$^b7>h*q%9W9Q82Lgv);U_FZYg+GqU#b^Cy6!H#hrjKv8xYItbK! zPO1(Hg({e7%mzQ=VZd@|sXmwdq++NpHh@Rb3p|;KJ?ZnbS|m;sXHg{=7}+X>bEf9s zf_V%8Ebtwk&{G&*JvEAS{y8!Byutqh#snvg@=n0b#xrOFz_0_ZEw+<()oo_wK8c(Ut5?&C)b2xpkP>JVw@|%lJk#Iof@Z?4I(K*$q6u zDJ3ISnOPui(JCs0YUB$83B zFceZUc%cwKS(p|I@ls{vTfh6Abdy}}1i&;4aDaEv?gqP_nk1!iErrx6AX9Lf%henU zCPKVChm9XrZU!IbSDFrg4^ib#k%_8(Q~GS)pM@FQixdOis(6tcqvgI`^$|Cd_f4gx z46|s-cXxNKE7T|jS}0nixD?rj zm$40pAp^$X2OASMV9tPT3?{vo|MPt>NmKUUl{8-7@AG}+^Z2A9w*^g%kB_2%%%YXo zS-og-3QbeLe&7KvE0<{&dcV4$?4=1pQW}U z;?^1)INpO(spk&eY<1P4o`P3%gCrjsf7{Kf3_Uv=I-2@24K3MOo+fwG>z*d+8hw+y z_Pcp3E7LBMX@yQJ&zdWf*(E$ds#O#ZbY&?-t=Yn@MN5%*pna(B;^dHmSL;{HcpQ{l zQ9-?DG6d}QTqSH8l|g>tMaV0&Agc@w8zRu3Kq%&F3wv4@u<(kMRjmpZl-L-31*&0C z5m(oaKEGbizDYXh%J)4cLystu5d;9T{`TZ_UwK92d z>Sz9!h`4XWQRBX(bZ%+s7X8v)fsg`a&apUp-To!2h+Kkw&_xklqjqKY*(K`w$*fKA z%wouG{*Ww$XI26p!p|I*No68@d$cg%%r4HkvGE)YdgusT^tlI>%6{euK*Bt^mRUQ4UuJRlGl zH%r5#;>UzPU}u2h-w0{1(o`xVqQC$B{O6zlLgaB7O;W8)Dp;DIpS#pL*V|l%%C~G8 zQ`BB^w07=T*jrn5+1xLk`v!?v-cWU z2-83DjT3C7HhPjxtZe#Pz(?Bzia%3(Sg3;~WoruqmBr#Jms!mf{FYbV+5?$v&MzA) zI<*5DR53TdAZuJ1JU)M=S68Rb-#`1F@zOqmNZKb0{G=kUbF%%eTYVup!5huiIQl!M zt{G`48ysxt9B!=9&RJ78F{T&{MoE#jUbC|E_e<2h`BiYjHQspjBAR!;@#yOe z4T~=!+=}my<|?dL@P&cd17-s?^PXpX0H)>$kKNWF>$&Q}rs>@U#;(dkGr!Q*hWZ?K zA+cxg08uf2@x?1ANr~5O^*nLibwnt+yW&uO>H(U40!hQj-2RWYQKwzL%u-LXF23^Q z($bSF)O*NLGuBnWCWy^X;^)SA?m>{#0?1yAfa{IWKLgK>uLhpQX2DZAAt+-ClJwVP z^gED=^_tah2*6vqW^KE!S5NZLp6Tl|?wIb@Y`2wPSaig=TUTYC&1YP6LzSZG*zT$w zmpfdezDu_LPO@VcQDPf4)a%EsRM`UbI8c?MMe+B(jS{L+UDsHcdPg@d?bWn7sW~jQ z>`;MqVqw=8E7XnoPImeXGLYLB$SBC|+MMatGn~);=XeJut|K!98tjZ$z_Mx}Rfa(!K8;RA%{~zk;$MQZ^*EQQz>?%HY z3o0LzR$M?bUU@1@1M@xDnTTYfVGfT|VldY!v!xlgZ+2=j${TokxmsBkzM4fGyS!b| zy#GYc)S+N*WyS8P_Z^#uiKKCxzVS@z6EUlWuapv8LM>d$;B~^ zuej0MTXt>hsD#rQ6S(wZ5s^V`DJx9ffbWnQE^+ry9{cSIbze~ct2fXQqOYF<9Wel# z&eim;9okP?RS_l`2F>ZBe0cvqZxtw*RvM5AO&erT&!DYk$hEuV1vGj_*vg z9gP-$+R(Y{JH_QgM^NtJ>zXBX$Bx%6AI+1sN{TOltxQ_XNw)3uE1r1!|+VYjRhj;hIP!ymR=4k z^g#_z5pFIq`I642ff|YSI`y+8%}z+>$(|Yu{S6fveW6Ge=vb68>73yT51S>@BV?PaZ66>MDOhQ{zdKNH( z3xa)WaLzOw#rG?f(Qx!UgB@u)eNh@9&o`r=yBFPs4O>&+V=Q9fO$HmscmHRBx+zLy6DI6l zIs-9*icK~;Mizv6x=nZm25sQdAO((}2GD6Yc>Q}O%<7OY0IP>%!0Su^tq?%Hb+Cf^ zU;FKEfB3_xKUP)!@gM)d1))=^)cfzhcIk+5Xi|rMh1V+`DA=)Wk7Ve&gB=w^%> zZIt2Z;P~4(5>EX6{?r}!jg*a~-W)OyYMT`=mHx5pPi2o@dK+lmzx=MW9${4#rj{h%-BI1x&1C(s**Ms*Hw{tc|v1ve}}hA#++ z%Vg!d`d@Kw?uxg0ySmN9g=G)NvQ+A-hsy>HE4dZP-9MZwDw=yE9+PH{17Nqm${2$q zMoOfu+VOpVT%aC`7ctP5PG8Hk6`zp>clCX!<;2))Z9-fU+f{rl^#8%>u(KJg3*2Ek zcDDfl;H$G?dZgo1PY0`p9X-TgrL5`n$*QqE0bP6fzQNaZUQ1D5{sDq>yj7pje201q zdDq@PJJG&l06H)Ik44H3x(kSC=WHx|D0Lq(38o=ftQ{FX^yxfxcT^cw=j#b?>Mcmw z@zK`>1=ohIETmo|{6d?su_jQQ2|UPxyL%FBVjNIIx~B!tdZ5pBz6At*vq4rs=YWR7 z2gD)>Mg+RnAXH1=7JerJ9t3Mb&%vWx*(LAfwe?<#JX^PIku=|UWAo&8zc42=k`-DR zdP5#_x$8Zn)=RS4Kl#-cL|5vUAF)KQ#Vy{y$ChpWnq8=O*Kc-BLd#XWYN_gx)IE$@ zfXCjLIEPmZ{>0bw)G4!z*P_wtyIe9k>ah3s+o}7Uwi4;EsHM=yLFg}d^J24|wAk%R z`Ytg(`T>pQ@GPX&&3oy){Kl!*)PoFea*buN0|Xl<;VbYLAShA-%6aWVaV8q3rkGyr zbayLzL`ZSso?1!I!To(JhXdM%@`KYqk=ckAX)v!aPn_%3N-f#c@A<~QiixJOz?-_p z%%T$sTN{c`mpDG@=^^45M9K~ORH@VC7?a5gM~uTGmwq%)Jz!Q7kEQO)&6j3$XR1`l zpcg{3u~ey@g(&hS4ol^*=8H zwLG$8{2ig}u~Vl`6Pq7_i9b)=9J~GY7!m83ud3Qk70+0KH9-s+kz#4PW_jl)^VH)` zWpf`YtDBsxqrTsVg7YuGGI!=o`njbrck-vehhDf1uxIDj@UDs*FxNRR90Uwl4sSD% zfI$eK_bo6GtKVF;7evDa`+lWJM~_Z(C-uoP>ICxj zbws-2QS!O#pPD^*aF*2Hpfbh}LI1L8U;sLZ)%0f?0pdZTKL8( z*RLcU|5&#eFcg7CJZVUSjUV7S_~COgh;Yb8$HOrp@R}t21CTcYb`FK1u$INfuqaG4 zUVfro-hAMS?&V|ok}5&z-u~B|mYm{U*_o3((fp$~8p9dG8KS4WnMQ@mD^hj^Ox~f= zOsCbNkgC*@Y(@r(5Mqa?S$m+LIxR|ODu-Jw#7U{ls+1`*U(aSTp{!7=@G_QwR^hO; zUAB4aUp7+@miF!2>YGYf#g3M#x~kg}{7_=L^KgNuN$(C0#;S(vU@|FljIA^bP1TQd zHWskmAqKfg+LvRl+L?DE?p8P)R~u(6nE zegJ;ZtjWee0FF-^BuEN_hQ@3F?%g*u8vM|@Qlo7YASjykK>%ohh93Zm>ZW!@r%+Di zWN%<$uhnvN=cGST+iFKQ$4cr-J*l0_xgH6>Ns3fQZtIkGUV3Tg)ZRjI1((kZ?VNhc z-;#{yF%Mld{_Ux4+orz5Ojf&-gv=1F_VxE?vptD?HZfPhVSA zF<5Rk!&1*LZ$3)a^SpX@Qkh-7NGN<<{gim~&;%3i~DP z1+A!fBznELN6x+YQ1u$fT{8&8I#${bEPCuhrhLt@{GmHhEQa%wJVLW_o+pLw8SQ4Tij48-_UKm*H$-g=-95CIoFuoyV)fR77TiA|&!^=-eWX>J0Yt%6!Bare+w2weo;bPy3+r8bD(X$Lt1j8KwTv7j2DU;UJ~1sKvLYQ9lG?h*-wUdjdtb? zvUTDiK5KTgI5+9bpnimiy86=QScpLgj`{=6%_iyw&%w&^XKVESh*46^n;I{u9A@Sp zpni#j-C#EH?#U;?#+1NEN|;fR-nFu37(layNVfs9@w$LeB!s!^-@+F z{V8Zk+PR@^ES4(x93%^98kFI3i{N=2wXRrXkPF2(1r8DXjfqZQ)|0WKAz6b&A!+Mz zN08f|%?vOz*m|Yfsz=JP`H}l5f7GDGs;e(%NZGZx_ z!u{{IcEIVtySVfP+vM{>J3w8!Umk1}RL^W|c?Wv3Z3xvV`vxtwdEK%$^JIiNb#t?9 z;-VuHBS+k_s64jN{Yq$BRbQwW<%#5WD`z}IsLF+U?fNQ-PId4g&tbMyCLC@0 z1En{<%VUnVvX)RBw#lAMWUx@^l%cECRS~9cEUZRZ;>=^hj9s_f!n^uRi>&P7TjHZT z3q;lOf}Im@+Qzz(Tqn(v@Tn6+gjba7Fx&Va_fAa_<++>n$>{zoeaSj0k3qB(Ja!Ag zC6&B7Ye+t*w|jy%(;G^jL~wzQ(!)k~1}j)7XxGl|I6Ft(P~c}G&TWKDdL3Y_il2G? zVs6E4L$v*1Z_-0d`6cK{RDh?@0`pSw!elN1?>mn#u0YdFQX} z%-{6xrtXr-s3Y=PS#L=p+H~imBjU09ZVnIc%aiA2XUA41Ur{UmRv7d6<=On4EQz4N zR}u+!B5n;|w%p3QVGwm$f-ZfINvgrS3JH~?!q#YV$byX`ak-Ie%aO=6&Cnkm`rwAg}J(jNft z0nsqAvCac?K$~u`A$0QqFe7*=_4j z&i`M2S4rGZD97TGM(kz3sCu1k;)elnx+S+vMv_qu&TG!>83vF3=Oa(IT0s1 z>C`&=+`-#3#ko7(Zc8T`={+p37vztO^p1@!QVg|BB&cTdbIEa>Zj6d*)FV6pIZs_% zsVK^`xwYAe`rdm&Su$dn5N8dN42_}SWRUCd+v-n+?_!YeCwc zVrt`hSWIsq4K49l_t9jd!IIRrI*2UIVR#bkBrC-Ehd-b=dJdHr7a4I`;9mLbb)n1 ziYz@k)38u};LA7Pghq=Kz1hfC*lw=PTJzGt#DI04f%uXd^ne*M!5b&xVN0Fn zLz--$IDtes`bEEmfoxzw&d)P!R0uRu#(f#M#b~WGAD5@nMfkQpS*LnH-z-Cd&xq(} zNZtQ*|Kq(|4je#|OMkj^$DFwN*k!E?7ZpkqvXcEX?-*dOPU@ZHfE9kga^;oOKMwy9 z)*>7}Ja&kvOxFetKsY^prqKWe}2Tg;80(W@!IcGt?=M2Gvjx zSs3UR`1S{|d<#bA(QCKpeE4I)U&SE5yEYw%&Y|b$d)psDFSW0QiZ4h3o4VVgR+O*8uFttJEfmb*FQ}9E;dccpNFcCj_ zvQyT6{CNB3!+ESKb?Lsr7j136fZ4<1>3p^J4%ueEUu_BK=5@LLaIDagYgi=WhI(H} zS9^omkgfG=ZZn#K0|WE(6BkQb1iq1x`dUL@c&|%*oxZ2l?W8`EWHn0qT$aLb*=-)@ zBC}Chpt(`2?5wo1{0bT0%9sR8oEK)b8b@+hF=arb&_msNqP$$#Bgk?J9GU$& zETg{C;?B!dNo(se`9iP7R3Ub_J2DwoLr#7(kMC@WHCI-)`M9oFi%-tgSaf`Ib7^l7 z7IdmK!Wm^*#8X$V%jMgY4yQsWv#Le;+#HpFdYrB0%e3I4`w5;Cd_kE09N!Ao0~oL4#MAoKU^B-SvCpe1VV~n?0O(NkfSbhNSJH2f z28#xz6-vc`vrykV*K0FI<7#^x**!|*)nkcbo5!d@`h^|(S6?^-uh&yA8Sd@rsk-iD zpS16aEBeOv1t}d7OR`k->?We#Jxmq;XDCqcnG^l;M1_ZGd_` zC&BSF_zJ8h!!Y$&jXhT9EO8|4l^+^Wo?b$k8N(182*=!IqS;;ln4@lqKxp6rWu|4D z^D4)cbRR(m#E71R8P9k=Pdb~3_nxdxB-jMmQtTB1CEySIjY$Po2!}n^nw>D{S@&e< zAQ~poT8M~NwP57es1EE;JIm{(EokN!cnNba%BKGI^VFyJ1*>|sl^Wu*)CppdsvH<- z8EhIHJah77pSb?&JKL-KYE4RqR+7Iw{0iS9&ncQMewr{naZ8P4;Y!gV$ zNm6Cj7L{nFSxnTVQq`zxaT*9b7L1dggSsRp)V^Yzy*6J2_gtXbA|0CDcP zvr*i1_1&FA`&{y}?83#arw8)ukk*Fu|5m;5@?-G&S?WcFBHvIToGl-d1qn%2EY@rO z{p?Pa#yEjaPf^dn=&q6}>Zyr|_ovR@QpuZ4mpM8dp9n|KU-<`JMIRI}BH zhn5j@rY~NBc+`Kg{z-kI%~Lp34uyBSL=dA=A(b_Yr?3VKjPfi=Nkj)5hKZ-}B%=x# zX;g^^23P0g$cGjEs(!@@9X|)?O~B52Jd@S1Ne(&uO?X}r^u3>lDzWqmED*fJbOrvR z3*9lQBnr@u!GgS+1{h^#*SNI>q4ATc%{Ew@JDAij7nbV}N0fT$5vV&V)Col#h= zn+wAKomTbC^=Fhx0r}F;he?0fEVYST zUIsiAgjnz6q#o#mx3%D{i9jVA7!)b(tE9m8&uL9XST&KH*|av&7VDkj#DdW0M-CZ@-ja-WD{m{`4RaM^xoUb(wrAL<{b2T z`IeHwRtCXZW-#5kEnCi}xa8zg&l2@S`1@rxty->~<%-0bTkDsW+Rmu-;yyjlQUQMJ zcc4B)LDMqrgstYP=%-qRv#?TW?Z(eP3+i#ts;jdqWefGmvdEAbTiQ4?Bw+jA9e+)+ z$!SP7F`x$fKFFKsptd4R_mV*6H8u>Zz6{u7T+IsfqO}{u!qdb)=jg0oH`I@Siv$tU zARGP1;|a!sWpZ(lZsX0$qiG%Yz0%B$-! zI;2jM)i^(V)e@5O4f^Ztm^LcW%`lz_`5=@a40l0-g!)&HL}?fp&BHd9cL+z=;1Q;ep7$u&1g~ z?~~ZI4)bjHi3!-~*Frr7#pfRM2F&J7PX7!&Up^D<@8V8zUCzD*#7O0kJ=-b!fk`qj zvqb&-#v5t*%>()UKGc89ARn>`;wyduUcwCq3;tgFW3rsbaaexW9&5C3j$+OZeQ&mD zs(I?W=*xoK#wwjl%Cqun^243GCQx%P_t(@9+z_Nan}JMd3-u*EG&qC0EKxNd>+FH4 zk<0;mZxK9SCOL{DwaiWRFc0V%Qj4d5tyYR|V&by{u)yP0H?Y_F+5}^0d{a0pO(-cp zdi@kENkp*%UuB&sBoUi^&T!%A)w5_JH8S+4KMf6e$@=*N)NR+Gs}c**{$AcJ#6a!2 zj)lnIQcQAcVb6gBUml~jUX!lRxfkeE4%N4Kf@u(xZ5l>=^Waiuj{}9Y*l}3aFBYaxqG;` z0~KjC0+(VaUXNOrm*1ngY;h{Fqx|m7`3$GaIUW8IZg*_+j`yh3)kjMY3?h}&B9EFX zM`rLGVeQv1kgvhBW3I<}ue2A_0Z|}`JOGd56P$Mntj5z1DZ%AXfbtBG8OA6FyWmg& zjiVUgaL|4FIR7Wby)1Z`Bh(7~p{~PzaPWs8fA_oNAB{iq$OjKwJG%0FicWp>(enxe z@@j?D?+`R}5oi*2+~~?;{Wsk>=nqPf?RoUc3t#COsUOHplUp`VqO#2v&49kJHNT@6 zULE?Y`x%g(wv1=7NpTQ1mE=WR{>-_Ri7+!lsDx?r25=wJGr|Mz9 z`D1W)H`J&Ae?uwO&Sgby~D13Ij<&T}xkh-NfeGlL68Uo_2wz_|E(fQ{~$d0M%|k$-m#-R!ql zRcn1xi^it+`#TQKqe&`h3bj;KRCl`ebcT=Bl-28GJr^i4mj&4=>Q@2@KUZVZ5?e;z z=oLsiemwT=(ye7}UA*~BmpgZ|@SmwHa$*bh-9t^`;9w+ft1wUJ6}Y`sWlL=#dAWPZ z8{jGh;UTyqe7?KMN1+B)4tB2q&^F$|hcPxp64O07t0*EZ`7lmm-HNX(A_xP)B?`fO zgZRTOv)~U#J_Z0jYr_x-i6nQ7x}EQ^4>;`EiFm7iDU0_GDlIVYQ~DTUo}On=y8Z22 zW>7=wAy@V#65X$J2y*#JnYRx*i6b)PAqZB5E+S%?vxtW!1p~J)UbQ<}P&{*F+oAgC zwo0K^N}Z{hDtaUXO)!{wetUl$u|fNftW<=vbyn(nsmy7ke$+J~wu_X~Ua1CMVcO-L z;q)T9KAwbGN{_;fM=jX@MnKZ*wqW(R8`LhS9YAy@qnAhrUfB@L-Vj;D^Wm{CN4qC7 z%;A!-EJ%jaU$T)yAxlY#GQbdLnKFyr{?;v1s3vvi$AP5QE|a>AT1j4^ub{*olmxUI zv8Mw06_+>a?Y$P+#b0!k-+C>?A9C!_Ram+vlOu_|Ud!?4@44s6 zCnq0!?ABW!MO8u9wI-j8@5pvq0^zRXb7&U1wF9a?OUu`r5O20|#5!F#7n>-W85^4^ znus~8mXfEra|~v#%RU)}G$z;vXgMWeKKr9k7hVsR8*ek&WWlnP1`V_Y#mRG8+-S>{ ze&%yed@ckGmJKWyScZf9EsPH8A}!yVJyY|3MT4zWIt?osb1uL8Zdly(%b@crRY+#h zJ9Jas7tf)o)Nq+mJ}qW1^9otZu+uJ&`XB>UE)*0Tt&rO-3v&y@bDx#2Bp=9F0vpk_ z_|Fud9NT)$TsgoDCge!&g}7`NScDR~+O!o@9hi!S$oSdPijg)Da0t*A7$dI}eIt}! zS2&OlrR^K=9S+Ih(-Yn&3JbkDiCHZby!6r*p*3E8#Ihm~x(@TI7iBNo$hi z*mLZfP@wPVJXFB*TVtLG;y4n0W#(H2aovb6B0zeIibfbr))ZH+d~d$S!`F_4ZmrfC zbBr_GepyFNVR8pdmtvEgc_u5@?VKt24?w_~Z6h_lM3nk*1q|u0XGE?n2!t;RVY?uP z9^&T!)8csEs-)3JUt=U12SV@(YfwmqVB>&K1Wm*EWVCw)8VdfyeI7s{e2D-D$Z@~3 zu~lx7X4`oVO)$`Va5kc_>6lg7dpymm3ZumtQfnC|&$!jVffky((a^8_CArQLfNyQo zZ_z8IJIdNRAuTb_U^?B7X;7nFROb`gb*yT^p}gB2(^`R0H7M32!DaW4`AROn=|)sA z{RMlb%%3ngD+uN00$Id z#&{cKX$=W8@ORTcFN34wGGzR__+$7*_$He85mHe*hFEWZr&ynq`2*V&*!6vFeaCVM7Iv`J$xpg{OFD>qHCEA*FPdzoaRbNsWjE8Jb$35NN zQuOVR`+AF8mTk|@HP83a3g{Z0uE8u6b@-cKij?F`WoryaLgll(K38FRvLi9&JT-gj zl(DGX7Z1(eSe`5@ZCI$BFZmW1Q^M7;8I%&69G`=DwFdO)Ti}nAko(JoD3*3(jSrrs zkKoM$cn=3pXjBcuziHME*TP zwXfj1!a~#&zpc2K3{aorB8Z`ehKBd4R}OS7*|ieYut={C1@auZLK4QKC?kdFX6lt@ zl`<2?YLg;pY+u@%egV(pUA5nbnYZ-=4#Z}aHVr)X$WSsy zd`7jsPiTLEvbD_AF{IS**}HES@t`zT+w@$HLh`~3B4xa$-&t2u7R(pDtf)1YcZI0e zzOC;y>Ig5NT^AOY3fqgmGh_aPLXnpT3+_oG5d0;~b#pqm@)a^6&EVg2~R+L zK?*Su(^`!W`0_NCz?e#g%d&A6*T348x>`cYJm>#?17de`b3~e5n5_^~ zZx24#)naRjCFj(2;mtB2chL3UYe41Y9;^E4XbYwy3k;Usor}*X zAV;=6>Rj^VURr!T(>Ng=^3?p{)5*s1fgQ6|RZwb^w%<>{Oc*hEb#9o0F^)CcImj#k z-G!N)_LcFOac)^c(6KkrT2eo3q{gg`!F0M;G3_hZ(y9O&9BHw@Fx81gI|GCNv1*cZfebnb%qPYv`3rEB-`gwnL_r@3MSBEz+Nw9Us>0k>*n z?EtESCJIdxZ12GZ1K0*WBTjnIb4nrlfI|V~q~CeWV38OVMrBX)wsCLHcb?^sHg55V zd5@{$^F`Yplw{9lXZ~umtPEA8UZ0-R3|ph+qmMK-J<`zdNYiKodZBzO`UGcz>u`>Z zQ7I-7EzYK1YLAbql+IzcTpL4T$#8YcggdUz(@wy|KgQzyeU?N?$vZGH?igh6AmoX6 z%{>G7v=gj=5+W&a@EzCsG(fjw4#CI4k|CpQIxqyTvPv@o6k2TzEdwlC_dn38{$EQ~ zehXbsWwqP7+N~p^s61|O_O|3kB!jkS(0jYCB;x6IbvE13%l!qGWQEzR$kg$wy`iDq zlhpmaFANM!_x4T?pjRj!`l4jl1??95n6akV+dLm1%yZPYm6juWqPMg%QopjfMZE3v zy6K|cZtfBTVn#isDC6uG#DHw+il<#a?$ML>t33 zAl*2Glh$t_2sSWxYcfKI-QcJ)S}CyUt4CU~eS)Vf3$-dn+@rO_E?0!wQA~tw#^NG% zmWVG`2#l6^V?U&C;W+CBJ4vM;zW>lk1aKIGjn z9?t@gBm&X3bc||~2y7FaDUG+&fxrLXHG!-$)5sQN6$}`h7e`4kN`cZ{S|%Uhs5E_A zH5d*U* zA82#b9^N~K_6>i%scJSp(9R}U6HEpf^f-EoQ3hbI!MW7C5pIvVKeM>sgAtLZAMGnC zDLIK}En~jShFNPbf`6N{8qqAE{f_e@h%le;oSi+N4`IV)5FB}l2oi|^+6By2DNWM` zqPA%3Z&JVb%?mG#Jog;>TfkXWuCqw_daJ?dYu-AJ%Fq65{H3wS$Enm9Qj+Y;1|pT$ znlBvjOwZYw)9BN_zTD4?iau|znl9|?1^F>j5qBH_q*R)`aO+g}(I!iE6uHRPQV3dKi&9W-T+YU^jp0f`CrhMxC_b*3ZEosyu zuAM8$re3e+IZBPv;^I7hy;$Y#>T4lh9iVPXu9S7Rvl%RK5M8d8&Hskb%*4vCfBMr7 zcWM#+j@rG*Az|hGW<4<~ODh3ju zJh6#L+g#w?3A&)>CW0xC8*XX)3DVqbrYx4xz)eOKsw508z@1{v;QVHZ-)IGhw~5nz*g|UZ+L+;Ky-Vp z!Ua#)qEUq(VrVe<14o;%dJKgFVK%PBzy%lBNx;&E-z;m##Cr66oVf9vGK{gzYK)3jHKP&J>)ogNvWIEVMMkXr|(}uVbeqOdoK^mnZ9|y)u z!bX{urLL~7Mx4Eze(EXe+WPu>QpRAY3qx*SzB?R|qwi1;WvVm=lhL47WP++p-Bw?Z zu1wrhT%0mw%NP|*8Si?QkP~KS=S*fY6D%fr(0At2iZU)5CRsW=gFBkYQFn*5J|c6> z*O}i56@g!klm~pii}R_jq{ZPBlJHW*3c*i&qg^4-z}^Z+C>H56Wr*n;otvAZ4hJs@ zv5K$smRd*iGMuILkM0^KTzjFi7u!EQbqlVV(Ei6&NP;j5RpDZYk~I2Xdr5cf9D%GiTmnrM}b=)~C;$ zxv6g6U~h;T+%;2GHfFg1ZSy-TOU-(TSsLqY-ZF+t&c2QIP={)N`&*KiTlC&D!Rcb| zxQdwLmQDwsdCwII!i@I2?^dt}wA2OVGm+jt?i{D1Z)Vkk+!X#X;88Zrns@->+ckjA zOweoA4ZSzRw1%OrVA@P?P?a0tIL6wvle%_)>2x!TwjB89(w_rLz=3f#yr(yPtZog& zkS1dw_1Cf86LVywp3?pUgnUpt${tmv3dJezCQaW@`9PGQhzLf zdd(rOP&Ap`9C0~V1ap`xlJylWLBZC*uBl(A{;m*uny1DaAmvw4(Fx0wssNut>>?L( zAkRST!VCGGja$+uR`Ff>@^L8~T{njfKaN+>SdYegG$#bH-Pv&eYif9v1t9;9H3yCL zXn$qxb2g}Q0*L$F7eD8xoY6@~^-$CIehrzixpLO{h_Ny1wG8M@a*ME6!BgjG zbKBsHvz41mOR47}f6&(k7K!0;!H#4^p8XHGWito*%quPMddFlkJ*_osELiSIsC#)3 z=u-(Xokn`zBM=}>fiR{7CId~8Rm6+ERF4*;A-;NTvMT90`BQX3KZ< zv#N4(+T<`z+^~;s27wRW8~Dkudl+a2n1F(1Z-bN2{SjQCQ|s5`VkLQrjlfIF&KQa zS>ka^f8szS^>bH^f>DTCMy|T*s?Hcu_xOcZ?x-m)n!RuVp$7vk&h`p^(ecXZNN;}z z)Gy@@Oao;QWNWB5b#9VX$tf0YhrkQMAH?8v+ta^|L zS7jATA?)PEi|g^I1KRBxH+bSlIeb>moz%A!QjS44qE%<2zdh6<&q95EM@6GTE78jh z>fWZ6aa2OtsE-q|Et3rmOU$3Kb<)F^z#^@$iz3aOEM^w<=+CqAs&acz&#^VaI2b~QAbYrQoc{0}577ZAtbp(vT9Z8(aK{i! z_I}Vi@|t4rP_Vp5apzdy$9uCR<;Om+T zPR69b(ty9T_AS80_={`b0z9}Oe~`9qtMUXJa_HG+=#@;4q4q_}`(?gY?cj1m1+J(! z%BMNMj23clYy?y5b!j~a%wL+7*gzO zmI6;fcLk@!;_vCP_~|cMtL0f4x|OQw$m5(juG2X<52Ce+oSvt$!dKvM6VOlzHFwXG zr4VIG&#X@)Gpu}VASG-ZbXwKbegMKiJsTaEV1Xn6q1Kv_f&u)kfDLzG(Ic78@z84R z9?fT~;TgOanCKg>^c3kE)ZrpuLT*C$Ql+vIM}Ag$2Z3tq&`41+A}U+E89`C70-^G9 zG>rQC(G;g>p8uVRbU9uT`goB%oVavW&K$Mmqut308*kz=3@HYZB8_gB&iNVoZOk36l9E2G( zjST6J;HSV1g;8EuHu1j>F$N49=!6ySrH4{P0Wj0%4DpM<&gx zZmxduWf)`qrQcqj)LJEarC!z744S$a7Gu=1Gqdf+N>|)xA@V|2Bi}9;X7^-r`A|Hs zC}J(_&$LV0xjh7{Bi~RYD=uhBP`@enW^?=V)I`JMOt#4`1doBqf$i`dg4fh!sx-Ab zjp}MGD)ig=fp+-30ju&p?hMzJ+cytkF_N4Bl6rJ`#z1a|Syms)XOOJ+44G7$Lw2E@ zV1tch)HCIE9MXSLyt>5Tm(}}xlOP@*V4{&fkaKgXPt3WKLsaVTZ1nC#>S^@E165T+HIM@bRIY-(MlX>qfDh6; zb+G?GvuO!-&hOa-#fl;c7Fn8&@JWHu(wv$OpKb`DuQ?pR-AsIHz+f1Sg;^}RmkWN8 zZIiC~FKh7wSU*Q6Tyg9Kg6Z%>CK-GHogMUD0APcEVpqdLpi<{>)(zL^`b1R%>yAd$ zk!Ra)Fo>baLeX9~KL|sfs;H}w@!fat^<^n!bq+;o|6S49u-?#Yl$iESmjXCjYrr#VjN@C@Re{gPanD?V|eP)`+-LNDw-*BO`@Bumnk=gSKcwFp9&nrENY z6oD=HvPLadhD9|sB8{@9Mwa2As6b5bE*In_M1CkA$%gvh+kpNd$l2m4d}}e#hIP)w zH$g{xG3vmW7ZfU>tn*6eE$0yKc}B(pAOmMEzgaWS1bVMm%wtCwLW`KvG~)y3Le3NV zzyJcDc{BB~-KGl&!iZ}|%-3^XdhPV-(@30ej24^JV(^D$Emf19NS`X}M;G-|@Ada1 z2mS6x{nVWr-U@%^;`9qClNC3ZIg4m({EAFs+-hT+KtW@ zt;enH$;r`rOG_n$R4lzX{i~xjj88ieR4D?5kV}y^$mk`vE%0fZCRBQ|u$md4;xWtH&pU%q=00 z77%}>ZtI6BmbaJuNiGD$N{Y1l1L)zgv5wR-ae2oR56B(9!ath*SF)z(p{_sj$3;FL zeNkG9}O-hhG&uD zbAopSX9WWi3i{#j=@Z{W3Sdri%pI2r3wZ`PgXEFJP@r8Dt)|*$4xnFdnYY*kOq3`k z78%r_(P&iVIuU8iH5->i*&iB>6kI8B`2-cvl_WEv{!wq0qxyyn{;eZMuPoNP`OVHT7s+W6ISYRiSQRQ=R0 z^!_i+<}F5H7WrzP)r>NAP&LjmX7Hi#jPuZ8kH_jNSU|a%vzblT*2hmLCDXF2PWcsD zOHB@1(u|v8l37cjHMNDftaWUxb@WzEEc$D+=LTMBOTuA@MS8BBk%+!XCV|((Uq27| zlnC^EV@*;=_b|h}BcKHK)9B(|?8Cu<054##1vD)n*fiINak%lDJTIazo^}=Cqo7EZNgQdRChYEGRc#5AA{71bUVU8*%?q;77x6fj{d}1D z@)NN2x%5PUD&P!yDgaFn6Yw-G^DnMj}-}s-@ z_z7Z>GM~G|?UP*97e0A%`oFc}PZ4Q@E7V_PJYJZKC^UKTg)bBo^9zU!TOU<@?^skAD*3@p|a4R+5 zexj}=Y1S9Tes`y~GQxz)0`x^Om=id&8|HoffJ}fq;GH;Oz~!}|@c@;>AvTnYLTWVq zCyjF8@X(OD@u;*A{QuNlS_Xdb@F}BHt&&LunVi^g;lOn_-#q;A*{_bESGUYj?Mv+z zOM_0td(mmPsO+%iQkR3deG@U;OYJERaVFRT0b)@C^cnaif9ai>n=@i*-wsm$#O>N- z@o((z%a!fJK~*sN@sya4B^{s51-Y0vpl<<3;Nzg#s^LbVx{EGB#FHJ)sWBSwt|B=4 zV&QT@kfAmL%QxtL+>b(QwOj%VdzzRUX7Ufi`XSKeX~U4O$3 zGxywctFpwM7*Dn9^?E{X^?qe=81*#Ks47hk_=)4qv$M^q z?}Q5%ub*6+*|TS6X}S2|*5$uGG}5P@jP3fb;l4 z&};94UUP2>K(%HWEz7u{6Qp@vv8`Hc$gJ1^-^0^m^(LdmdbNZLbR2vgR2=6^WiAwYZw!n86t5Wc)V!Ph3gdHBd6eV#oTNZ^M7mNi>R*<_kQKLJmx7#FgXl=2v!Ac zeTcWnd$0R+AER@VdSI@njF#u!A!Ag z>e3VeD7vom_w5P9cG{?x`HRrc4=&!6eQ3(99RWRA+YM9Zx)d4^)z0)G{{Kl6rsedp05ohg(i7nk;;2R5$ssatwz#56%Wl+<;} zlcLHw@?Q+b|Iw71a{mC?P&oV_yIflHyo`@tG7H5>Z}wVExs{Jw>nA!JJDY~;JHmp+`Pkh%7Hf`^{zAE~S4VY+h>KSVGu47wVF&VPjRbt>nl_Q)AP`7tblh zoUWSkA(F(D;R0QL0sfp5I6(&eOnAas@HCR9de(5={2989N~Pg6^w$+!c+JSeyBHPY z1U&7cQZnf#FWH5j-nEV#UPo-dp4@7;w-_aYr+hZM&gJ~n1p8sXxE?=pTRx>ZbJFEy z;-g*5%N@CG#6_VaM?xKs-=eE3`MEQ2iMw$qt_hV5UXYcEA{YMq>LgZdY}nEHOWMOw zx63QsK?#Lqz=SyzP>%@NR{Z@drsymG{JciP3`^~lXTU$5ScN{|UUWP817y#swxAQ6 zR>+x^9<#X)?Ct|zi_j}KtzeH!8UJJuNps^J$P= zUf6(cT3GA|t}6ND9^gHuT37n1-D@x}DFv_CMUWb)sK|Z#DeK+je0Vtc02W~(oElwN(pSlhB96Z)Q=hJp@OQTZ1) zK|E&!P6_8BI{-}#LytXJChVBOf7pYd6fxzuvQ!kJ05c2d%XP+$<2t(n;)oVdcK-MZ zkOUhf46~JCT*pGBVh*v4qwF_s%Y%+m`1` zT=Zo1!W?OEI-M+y!She8$t1W$DL}sfGW_$O==ZG6Od;QJP0G=Hfr``T^Ho1k>=7FI zb{Jj#E97rm7%Z#mO}lD!r6^k-TFgx@}>G+%Vf?x1%CtAm1WyR0vOabzpBE>}xC3dASegLqDPxmanOLdq@sHh3%36=^p z5VToP%TpnvUxZgR<8x6(#;Cp@JRC9djpl@X{IDVD51e|<8Hh>HfMrw4L3mcU3`A-Y2t6%3SAmb52&pCd=f_oYIK zD$<5NEqN^HaSiMlkC#N+yJQbrTAG;coplatqRJY$ZdD@s9J~^x`%5P||{fK&mQ3d)%h7#!}T)WTzWrgED6E7xm5 z_xfU|KG}z!T$v{)76$Bg!gL)Own>EaN4#b`p|l47WdRTQ+Uu^nuD#_tQv9z0g1GTY z-71|BuC9{cr@pta(1SSxoUGa2J9HIgKX(Q%^)wHM?Um8Ni?VX@=9yR7%%N*3-e&{v zKMMVMQLs3;A_V)Lg*rJ zE}MUD?uPsCZ|Gu8yxl1DFPu2_-ZDB4?7uwOZ?|u7+wDqg@kcLMWkU1+eqP{c{2GqA!HMIeXHZTw5DrHXAnJ}?=NsG(Pjt6!!X8+9 z3`ug_$xS$4^KS0NKjGQ0J0^*4@;Con&HZla&rrd$XKd_u%`vBkgDmdiDONOwo<0{z zRb-5?6K!VIoaJD-vo`)A>gDQ(_?&oqpsOp;Uc#o4A9UHsty(R**w(ehwr*FoL?@cC z1%&RnPFH1-32!zU;l5c#RdC<0fgNw5=6MXkthiN}`Ey1Dg;G>hU*6dUoMLMTolzbL zAnCYDUhqNiJJ{dC0HB(nypa4R2};*d-p4oSy4QqUq2Fo_8o0bbg=bJGwUAfC6!3#% z-QF_QkkZx=Qt-=Vbp(wy!bMLApX2aVE>*v^zL+Z#^Vm!#kKs`@H?$gZb4KG%u`nq% z`Cil848~msq3E^OP7M1}k>YBNxwyFbYV;?qaUCfluEwVS+|HBpl1&S_&%%*)x4?vJ zYv395FAl>pXJ6N5>n?M3?T&h#9+j)XjBau)ho=JO-sx{!+S070=?Z-!RqVTFw?z1_ zh6doAa@f`V5X}qK3nB`U>Onh{o~}JFqB?QDG=yP{MDwh2rX>Vf0=sb96rRCoeXcrlkB^ohlPct?~TXB$Vt$PbO-TURj+* zss7&t8v5V=a?O9HdC5=ig4t!cRpKgT^Tf#0$Bm7t_ie%J*$wS!m%6&<{jGBGVKP-; zM`v&+_*#wiesp^*Hd$7-x3Q6umvX2ze-&~EI;guY2MgI&h+5HA(rexNI_i?_cxH0ZirZ_@9yars|e)kE^S>l-xYEitb(=uj-1E zhfOA8knRxoE&g=+Cqg6d{d*j)_J}WfBzGa9aTI@G^cqbK7LkztbBMS6?x(r+AJDo- z_l9~avUT-SRSDPwaZcaVR3Ecsb>?{Auh=Oqd9%ZTW)uIzGHhy#e#uIe>*Dpf~fH1JB0EXZ)!9lL5HNmzuxg$q1iIIvzn3M^8kgU3$C0Wl@Tz-Wor1DFp&K7d>L>65>IvMeg z=|Vb_M0gXrHg~SkI1K}3>f}z(+eVkscmQMq-T&;fRb7@*UqkNFw~6=Gt+PgCu#8y$ zZdsH~AFcJch>N;sX1a4f?%n8WnPMpvKSmW>y62AT62+>zj+m~z((S)uK`JJ)iwACP z3{D-c1!{0W1|Eg|jeS%EDnD1a5#krP_6zv`EGze0g#?oU1r|6hOz}>>Zw*)l zf{s{7aMi@ubZS9N@?ohHSfKfEnctMr9~s;uYRXiF}UXQ50Qt9H}6S{b)s>bSK=+x8pr8U z;k9@|F%ROAzl7LaFZA!=xpHpsb5vI?WG7vqQCY_``` zS4aNE;lF~`-d|e3-<*7YWTv^Y^|6n(}uI<4eG%h9%&&<4g@M zbECB5&Cfh@H@fI+d*8={ote4_J)rf!5etq zf!?6Lyy~M3N>P;jU}y-*+nE0(t}c{C<~fv}#k82kV|cRJJYV$s z{i6Z*33E%$-vDEB>pN>5iju_Nwn#-t5}4alnR3vthz(bFwI!2n#l?U-YoQP3=a8q! zZ?UR{j>ds}bPp1{lpTeW$9H&^#mL7HAi8iCwXhgr$bH(0`oEeGD!S*jX2Nwat2tZI z6(Dy{t)PQl6Yhj@@z}nSlG$q)YHRmBncD=La^Ag`Y&S~z^(vd^cS?^*w^J_^qKmG* zHh07Cei&>rjk()`-+OQ}RTCl3ADfyQ%e`Sp2PP9JFo%gVN4}DnME@CMgu~qj40(KEHhnjM83ri>}>Q-s5Xn>|xM zI#gI|Lhv%LC)QNt8JR1nRKR>@10Qk?M$sN6tGl?2*thuHWiFe2w2aOtcg)O^s}NVY z?t5_mdtp8+(aWQgbHyGVQac=f`2pC{AArhue-0g)!NQ(f{R^R+o9i=V{Z@%nZ_Ij| zt{KQ3B=!x=%?(7FISO7PPVRI2ZZP+b2IbMvN5`~DpK*&!jL1p!44E=~kxI=}R3Ivk z!w3H|Kg*0q_16R`OtBVQp?ng`&n$2Rqo7GZjY0)Hs8eh;PJ5SMwG!|N3FTqRK-REL zT?=-iM|=Coi$u~k0h?c2o4flR;)$NzR^sBG?257`H(Fdw+%d2)-9z5#^4~$U^roH0ROmmCT3TA~ zyz{W-X0icgd*Ry?c{ugrX)K=EgTp19_*^B1T(KOM>6b`CRnA92v}J2gQ+{ZTFNX z63#*LWUR^&yq4Y2QR7C;JB$sftuoO;GEz~&oq!!37ZG979rklZ=yb%Fq`yPx$SXgK z$4AP`4^lPdY^dM77chAZMB#9>r5md4=V3N5%wL8^e+o3_QTds=1j13^xqXSk*L*kp zla>D?pfL~`C(IRjk;Aq)4p{6=LSuBRRLS5CtdqcY!69KSL;Q(Yzg*WkC}!)Y27)B) zyg`>v3?@9op)LvMz^@3RpTQ~BCZ)9oCa+vy#j3RhS{f>xb+_#|dBvJIdE8*wBjF?C zZ;UP=wp#zFjxXvQ=$Br4bJ`fFAz%N^BLusnw=dNwWEMA-bh(I22eR3LUzFE2HYAGO zQ*5!!;PYzhr7?xl5YT6sA#HnYds&%3tyw_MiVKHow@?3JVCoiqI`v^y+7Y~l)!JU| zMy%~{rsO@Y#_)o+Cg_VK$$!_?ftmt*n}VL=AAz3AV;VduJX^E^9y82fhIwCb^Dam+ z6<{p<2IwYFQi$-JrK=EdCx*J%z0S`kfKw>c`4or`M+O@1Oy3afK*2RsQAsWgbkJ`~ zJ*^L@msIQryV`<>g5J_%@*|VG)U)IZK;hTk@p*LB_Y4MNm(H!(6Ag80+b{KwC6+?H zqL@oZekKfbx9K>{Sw!dfH%G%cH)J<%bL$NXhvQ9b1K;Urjf{|sZxUj)_PdR;8qH(D zrXg*uUf0pAFjZTdRPSeSc|vAxEmptbR9x1EsifSv8Z)c?vlySG#1y54$6vPm#0XMt^J_MfSk7Moqr>EJ% zctUih?63I_*eFmO4o-vxD2vbRtu!u!V@!l&wGwr^%x+|`$x}Lm>vgmF zpj4QK#=?@fv~H96fLSQnj=pUtWtwd+SH|t$0`PLsn*jZR1Sj6)*+wrZwQD%HdIH+6aFAexhMdm|(@jzOV4A2lFWO9=YZR_V+RY}j~VJ^Hxlk4LO@~`o7d*EB_ z=C+gzF^(GRldCdu`tz}|WBAca#YC`=_ZZA-#WMp)??sE3@}wr>}o{xe~@nCYlU3FbObj?_2Mj^G!&C;%8Iz?2~G@i=yZWMJMA#n%-1@-gT_76E&Rm~qjazOL~Ra`)WwP@v5tb2TgN#HDlz zi(jIaxFtfaJDGN?BZmd+wz6ajF^`V^^m~FBq;(|4X=#uvA}Uii(>Mm@fWMi+;PM%K zHZQlyZ2tEPxff+p^neYLt3spE^&dzPKkN6CP5+^l56(8^ju8_LvmO3g=y7Sw^_r$k zp@0dRJSwZ2-3E?&RidcVTc)4vjV<}dF6xnn<>h=S5nP(TdvKrf?aK`ky}W7yEjN&z zP?G&D;$EVziv8H(-BI0^u-RkL;niljIKGj59b+mUW7Y4&$_b@Q!sQqXzXTE*_6P&`8V2wbR!mrpYeN%u6E{BzZLIz*h`J$ai{(z2} zV3fVe86YnioJB{ngDuOhPRGICu=TUP8M?TQt?1~DlI?o^eGaYKMgG?)7FH|Gu2AzJ^sO_UofqV8A3>XXI>_sL zA(lY|Z@o3Q3B1f3om!*ZjAlh&SE2pMz>!nWC?QT{|>!LrlMii7)z#h z@=Q9NFCn_@V(xe#BDsOE6<-0nw>mq=u7G0GE{y2AEaA!f%&j$lb(S8XP0v**qg5T( zZk39d@!dcEZ8$Af=w$7qPrV$D>m9Fy`4$4t-48X*#S}imwOZw1i7?l#E7}AU-CJ~^ z=rGU~3XQ2~s4Fkw6l}tgAP8_M&LCjep`wC+*vFxadG!D8`pW5_OdRQPg}vOY;g_L9KNN_F^j%m)_&iqm!{C(;coKUe)L9X zU+z`Nr~aC0@pCL3sVMhznc%2H2a{1XzTZL^brJm`5Yc$KB92R_lFDT7$Ymuuqg8Fa z*{C;9H0)Wsg9c36nO4&gJ1fJe{>J`_ybE!ZH;vlQQgCkYNAU>{&p`~`sXESP#` z+^rz)z^1qgIDde^xrNYm;fh#UQ&}=_5a2TuGe0!AbLZmXmMw#bb^h@1)~zcm=acl| zX>!lR0y=yjpd~r)q}ygz+THJfscQYcD`KtSNE0%t@TsScA0O+2O-eKsa z=<4b&ce|sF*%!1cHe=lg&;ZGe_An%@sxdLeY|Tmclr#)twr zz(9F*3Hg06QE;RA4zV)_$|6MB1Guhj$}nf+k)JvWc9mD|PQpesOLJv5Cr^b9)v{4PnY$izT1 ze~lsr6u$V%1TI;fD9x9%(ZoOM5OZjeVCZ;k0I`6jbh@n~f&N9U)u5A@kLv`&KYZ{3 z+56%jK0qJU2d#D&;S7@N^?Gzg1(Pk2l!H@cs3*qQWN0Yl z=}}iW!oEmPGbiN<4Gr1jJq&3LNQ+(h^vuw0rpC&TlC=)sw*(WTRfxGmB1Xp}+q=4? zF__YbZB`Iw-@XhnLyY}#T~W{JzH!{A2h|r;P%J-x<4i{uGLgW@6jPtAkSVr?NMfG1 z^Ys>Iy8!w40FIi$-zy-{jy(WMK{y-cqJiz!z}~>&b~CwedK0>AV!FR$_wnxzLL_y1 zVrXdf2eQ#^rR?|U~K#Gj*r#i>m+X0j1j=nwXsvI;lN*e0= zZ3!-MqJSXVaM2eU4v4{vAApaUSYA4mxNYzjabO+BM1S9=N8mB zG!wP84wVk5A)Gdg=uaYSiPkD87etO7m zj9qBu1=zCYQ7OzZ0Uxt>+|yE$(3*)YGr=G1mTFyW)__Q?^f9=-Wf8I2o#~3`()Bj~ zRrgpMYBt;U28=e(a(6ex)XHIZ#IIp~P2L~DmH>N&O<;*J0zdb(HGt!f=4}9=LB^LE zYDx|uu831KIPk{$244i9p9;?m1@>8+dP5z$Gm3veXoGr2T?6>T1u#8-)O4&pfnSJg zdKVXahkADI>=`22Fmq{on7n*E1CVA1`Aj$ZYmb)v^q)?nk*?4bzy7*d@C4|gQ|V}V zq+ZJiMXV8FY0P%j7}2}V5L)oEx_k9q-4~!25EiIoF`>tSgHP<+m73p{Hv1St6&FHmOYrl6eVJoj`;dENH z9aS?-dOFf9Pg(_~`ZiUdt*zB$xmaO#M4WH7wCuHd#idRL=rCcC8*ujtnCHO+9hR?% z!%^EIs(x$>^n#vSbOChN0l`497+606*_l8a>X(8YEhsT~lTu({SCRxJeIQDBCM*0Y z28@)(${$}8I=L{x@j_k&gfqZa;g~Q!L@+7%okB6nnYAdt*YxRpeNptvOLhG*Lay!H z-gVVghvCt6;f4G6?^O#MH@E71ZBaw+E!}{@Ro8iU#j~-CE4pIjKla*dL>CATlO(N? z{O5-YxtHdDzc4fNhZ3tlz(L-iZ(cNjo;r+_I?_s%65o-Q@EYB=xz6XFs~U}YES3u0 zo7zf~sZ#ryNfRX5=W`QJZiun!7>Usj+c8XLcq$!F@8;FFSGl3n&hNh(l2n($r&iN)o!qE4I|U&clO~i|hbuFg zJzkERMnja&i-XR4j;fEwy+?QwZ+_Yj&Oe+}baBy@Mc2aTFl8y>%Kre7g2B5O7(fOe zlo}ibU1qju6XH|}@ z^eetK)N`eL+N;qkV8Pmuq0<5ptSEUYxpS1ppp_jGakEVI-XM)lKhAFyqM)ZV;Utwa zx88aHP42n;^5fz@?$B+wjox(A9e0dAa^WrTK;&O&TgcZw&gNd3`{T^q-0u?(7ZmZ? zy{;v0B930UP@xJx%;$Qpg)dx+yb>qjTEZR0;1jozRr1YK1Yl00PV=c&JHzX03)}vv}3$*26@8c zlcE$O3(g1ZI&8*O#q%L}IhFpPUWJex;6YH96eP4m=P^8ibH%40c2QxGFTEXbFX8_| zRe%GSm&juAyhs%cAa(Lsq-bw&>$YfpC6obLy&|rW*i;59Hkt@kk5G==5?sE3#D zM!BOR9@70xYt!k(rrQhx(K~8xhuWkQ$vJhYR3g#Pko(imF32?b?XwlZD!Go;R!Qs| zpPU@ey~J+q40Z&&f)fb4*@^I`vAxbs4DP9Du4b+{6E^q8llTcURE~$}h-gr!0^R0g=N#DI8kC z78cgjf|`WWIz99R#1YFN92k~Zp#GYh3$hmnjffk^^H>f(@(p$Tuq_mzN|fbdv7qnt zw6LmRAJiF7^V^|RaPIhM@lOW+2`)?A#(>nM4L#V~c^~SglfShOGLcz7megoM>avg{ z(P)&>Jua<}&QltUB~uwu%VG%VR5Da2Ne%nhqusII4Ebc&I2wAK`BO&juYmAB;;Tix zrcf>-F*<^$riG=43kE-z`%X@-p+3 zm27$DGb5cDYe7;y&s|O^dFm?d_h_bvtKuS!r$nAH*TvW>bG(9$QmimCIHi?hkBQEr zX)NLjfkDMHi~f|&9U%5+hrK3KNmkF|$<$^;)iF~;<=eKvRh-Guq^6?!?M*T$3+S-H z#w(`I#^GdG;rl|N`*gMH6r=Pzm6hL#*Zdu?=?uZXPIw4lW)$M{RRI{*h~pSyYBr}0 zFhB0hiBNS%xc(mciKqluUWyCmuF$7}Pd=Xo$0rV*?hZHyJUEQ1B!Tn54gx+G;*WpI z{pHt>J@#Gn>USPL^;6_5ErIA=P*WsUxX@{ta&Dlrqtawd1G^;a_**U?j9N%y5R8PIQ$s$?b(B85vibm z_Z-@2kqxS`@fNZMxC7ub%uIRq$yYtgV}*zxk$cy!)n`8dZkIvR&4VTxMcXnW1etas<7&e*MA8n3T7AB=;xpOKqiL zmwv!vBR`5uM}%6Agc#?Dmd&O`A@7r!v`woU2|v`VSMtK6@22=>kzIYmX2nL|;X99Nk!loklH&VMqqF^HP z_`aZU^Fl}sHY?nu0u(CT5zFOZVSNpF1nR)BlwsHkhef>$5hvW-4Y8#dz!8cNsJOF< z=_7v};g_xSiY!bHZAk4nawIJ@HpX`t7A2jT2JYbAy#}##Nb2VF5mzwj^!ko^*ciLQ z-_fm9b*){PoPM&DA2Q9H7g*mZOo{nj&D}N=}D7;0mN)ueOU#nR*Y46l+FuY=w zb9IJ`(B-k}a1nS=638DNrS(EhNSvyx?Zs8KUv6FjLxEMxm&|~b5-ZOOxEcY-B!O>W z*MK%rv{v&0dJg!+2C;G61e#|M7iJ@%JmRfa(v{?k27#cVgu8QRsX*Hhnp0+>u`QFX z7~j7APS3QZxYa)>W(Zlc39B4^?DZOba;wZRI7z1McY7TQw~N;)H~mv$7IyKh;;fvx zgu<*zBxDm1$xON>#*T_(DHT)7Z)vI+O-{n3CZBS_BPC-cn`tb1*uJRN5)HXKVr9G~ zt{1(KQ__0&#Dc}j+?(5C>XxaeOZt5#_q>golXnv85e7l`cR}p32w8BhD-Jh|*@1Es zzs5$m+Kv*IJfnc<#8uF@gy|R!GZi>W4wMLkxdvk3R5}K{xL$^0rYN*A(HQlO5-4Th*OyLMHb?~nz8d<-h7CSmAKRpAU*%TS=$YI1Y@}TlOSeqh zs>X9B!-J(s;zc@Ag@UoN(j}op1Z5rs`r^Xp?;2^)uuFOCbbejYNNYOXZ4&H(+4R{J`4PCgS z3sVVqbs*52K#^YgZjSSgsW`g;#a3 z4}sB~Kp#(V_)H-O!FHt?!#(AtNC%5>Hu~MXAwQbjwaYIYQ24s0)UR6yt--J=T8*|Z z&F$ULl+m$Vf(5R)!Z_S#8Lqi^s@h}}WXc|>vjB8VmaV`v=XSXOhM0Ex(3Re}UvcG? zxgFu&vHlb1h32ZKPHqfZ6Dt;ImZj(CbNrAwn44j->~=t^drx+`bzuIaW;Ra%gOJa2K4 zsLee^V~~Gdc_XIpBez#CS%+YJ9S7#T-3vQH28zsuPCncrj$_Ib`MYA^vp(yl&QKt0 zNe(cNRQ?Z#!r-$IW(I>O$)7w}N<3xj@OD8yuL(&Kq>`jK3{^<=OD$}kbFa~h_ocjh`Z<}Rh> zJ&&YC>K;-ovja<9E;*Gp8-?xVC+f8lbx%cecX}!@f2blQT!1!>$xlC>N6&28LZ;A4 zAYA^!PI%1jf=5?J*4R0J!D>`rGew=T1ZEH2O&bElh-+~tL34nPEL32xfp)5SH4gFs zS@nXNr2rvii_TObn9Wt7ZGkw{kRlsP&dQSq$O0}LrU~tChERM!!bx~lswx<0Bc#*V zJGtTc!4_i2FSuwncHxCdZ&Q4OZc(twQ& zkgJ}s{N^{g8MQz)sJ5cTr?(zN4E8*oC9#+kyBpWTz;+}wFA3NPP1YEEnTiv2dQ;Zl z)LAq6MAMkQKC3O|v3jBlbxS>HjJ#bhawC<`n-(7VdxNLm&n}$iq#V;tCh}*pxO}+MF{WCky9J9(QMoy@Z0ef+;Y5wYDrzgc zv(cJ^ec`|mp*9e_yhL=}T@n~A$5&7lo4t-{kgwy3$w!eY7>bks zJ~Zq-UXDukxIKIOux?dC@6(G=7ngwQkOh%RtU(VDxx@v zGDCn_nfWXPrW)o&ART3yz-VI{($0Tk{?Z69{CTUQa<<20>(L73%=6AG6B!$$tNIlP zyc3c+ZPWDLz2}OjE?u7~Tf?Up7790#XZb8KPS!{#~+!a=^C_;gs7LG#~ zBLD*|;IPIsza^2y1SXAAg*Fs(!V_%RD4#u!jyT_I5?$IZb#|E4d-lY+>e`YS?Y!(r zk{DW9F)F%U@|Mj+DY;+`kGgH#+Qf{0g(>_^S?;L&M6eQV5}GfM{R&d2+ESlSs|geb z6s2(F| z%18;i$hX@XHSL${jaD6#G0WAP%r^3KrGiZm1SR8gs5yRt)&X{I4(by&QJVm!?**a8aX>gZ7aqg7))I+16$p!U04N4(`jjgUq^4u^P%x0n zb6A!yP!mtNZSUT&T-Fp?(k+VST=o4cD-v6~Mcqt1$`=ZQc1x*I$O&XTBSJ+W*rb}& zcsk1E!j!BPhF;TI=m)}|arpj{?o^*pz!9)Gd^&?*hq$Ezb4JxD%O&jhd#iRy96dru zpL~htHs4XRDRS+6*dkNtt#)n%T`z5r`V-n|lQ~>cMQ(}h z)|79@{;3ppb{&PjK{NCO;YcCwdq_cb0*(z9ObQU|o6IsU@W3gJykUVSfHov9!2Z;p zU7$aO-(6_CKQX#v$3A9){0%4Czk9b|p=t=t=ok3(Bk2E3l0PAz(;u@{AuTE+Kl$rr z@i=**+Stx93;!yW3p!Og;>l3ecQ4$6ekc-RDk`JaAb=GO;Q&lw~{Sb^G!!|?$IuXxp!PV>-am-OxHjgu7 zlxqA6_P{)%T61Lql|$4S4~(F=1k4){hGH{#G0#x>AJ}anToe^pF8stryZtB6@ICHP zF{}1th4_j+dtzEaeK@OK5WACdZJIu~Y10DTsoD8?f3Ds8NM#tkpzh<9bOgc@@gtW2 zG-I(#qk(9%qCS!t9uko4CPSyn@rl;ht<@8M4r?C1>bcv~m0AJENncd{YbxmgH>ctl zWIwHOsj8nokeqs3Jk$1rZzDgiSoNc-Wa*FTKSFkWi#j5&Ro zU6H{>#QX_)Z&Saex&O)ZqH(I3vcJ!P{q3P*$&=vOKnK8=UfhFIcWR;& zh+vbSN%aaj%r4GVOIQkChtmA9OVr9Xi6;2G^$ZWV&iwyQrmb3KTl{35LCw#2+G~_z zN&hR^>~zUwdJ-k#s?OY#gIeogaZnCbsq}dL5%H>c9T*f<&smz6N=zVI z93qDR6VJqn*lNUa_L8zSuLf)ygxqBymTSFXh{#gTD}@A)()^RDaRS=e-D zuhMn+a6+tX4sXzBMeCzY{Ne4}FDZ+&su4Qix{A%@Mq@&@RV`wYL1CU^t8VEvwbRoh%ym+rJ2cyRUk+&;FDq2gwguB>7mGb~u;%FB$_VKrN7jIDcg zCTW%{+hY&Z>Fg7sZvH@W=91{H#;Nl*>ywp;MxQ`zu~aWSGYE|Cb5{RbLHykljb zejXYw?Fo)2rsn6T)+?-nsL@;tO`ApFf6D;JH;xvgX4j(6832h%JyQRPDXk@)k)gp1# zt(UV*pP8dP)4C41ty3;$bNB3t+8e_wx&vSD0RBBQO)ybR7VP3BXz&B5q0 zrS19Yl*yfmpQtlx1*SGd-9#!G$|iof``&wZ|FSyfOOhRnRqm;9t7FcwsA`J`BY<_m z|GoieH40uOo=-RcRsDF{0Ism22vJ~}uj|A$!;oho_%Nj!e+fc!^Dc*Dut(r#83{0Q2yjRB;7b_CGcSn@cy3neARyD|N5^Hf zb1b5!RfeQS6j7B*y2jfYbc4)F`M9W9I@1(s=<||0?Z=9vKk9QNic4%4kL(z9^jF+< zF`2ST`}yDoxBtrFC0J~_lea=JX`C-6Y7IJRTm0J%Cg(s&^+fH&BQW7iDz}X}lriZ- z$@3v==J`?4RadM2vTRViR!8nY7xzC?gWN5p^_^Y|poYyUYq!&3$bAu>+}aa3_rW1_ z%UqMjdk}b#pmriY40dKS)OAo3+cEc?<#pg-7ZysED^EQj$CvDQwl>8=e+If_Q8G-4 zF0dZ;XOyO(Ucq1yf0|-b;#{pRHv7=D#45G$g`AGr)=9atSg32*&TxO&%GGY^fz=X5 z)!w~6g{m<;uV0o;I?8F|n>U*zt?a?bj=OonDIWW0iHk4Hx|1`>_GsOC+v8Q1VRwa$ zD~(m;?6$j|DReC6N~J#D#wHkJ44Gm*`37?T>lbp_SO^v^$d>31!7?E!Gfj1ydj_AJ zswviJTFdWhQ2B;EH8V9+cMex*P3=PfnK*WZv$4)OBM%tu6PAYR;z3PBZsIaIBa^== z@#2vnV1pE2+)Vp1V3j!FlMEF#C_*^AhN(x%^4C=+hIwo38dm{>f&v5u;K-}N)0LJK z!Kkn!T#6zp?Z1-Mbkp*TyXo_ik6Ic@jaYc9$Lr;UBSh}_d=&>-)&OJ>}2Y%6=6yi^lUCG`#2XC_m2 zwKfyKyHPLY_BOOMr6xa=%@`X?-h8@xCbIJGyC}W7y0G%M5^rtpUQrOH;~)D2L&4cOuT$xZOdyzJ)DHI>iBW&+D6 zPU#jDUg4EEyo%o?o+utn&^;vsQr~A>^FX`Q*daC$>(=?W>Qr!2H6iMBHSk+HJB7v; zp`*5+VK>u5VH=8jip9xMTc>Na;{A#W@@K{?%w_1=@^!`S!JQSKMfY@6wXH-@4+$+2 z*PrYzwK4+pba9!ob6ORj<32fEg?*6nyVFKb##c98HGQvlQBt`qkBPI*7jKyVVt)RM zbJIIgiMlINfiH4D54xe%I(}8As^eI~(|=7{U&8@Ffei5NUIgE+529$pRHT0q>@G-5 zUXcS>0dnPUlFE$&zu;%sP+AngWblmQC@gv4PJlWCYYbEaut(7u%Q-F}#{|PPq_ZrP zKS9|K2t7)@Pn^2xQMo*@9u?odamID{7Xxy8a)!@D2}7{ABamhAQKo4+Hbu~Btcx=7 z$nAj!_We2c!s>0Pcu#KD4YS=Brl+A;&Mua$;~w|f2Cw_P_DGL z_?$uQq^T?1EU9#B0QaZH)*FP{iM`GNomL@gE*>(EyERMYQwG1&*Mj!26z5J14^ONR z3_6=$8WP30e!Ip^es1z-GJX^A9Ny1xKkX#UrKzQ6Z;b%I!ELW`9EQYLf1Tx{QG_}} za{)ODaj9q&(+8e|7-Gs(rj;@gdDqKDgwXCiOV`qT6;o0%`GQfV+qq{?TFFhv7L_v$ z&Wfd$*}q|fS=Gt6i<%aBT%&yAKh4(Wm#dI!j^xhF&gI@VJ#OmSWifPf>>|{h#cFA6 z?`VZu6Jt%%RJrL2mzLXBep7`;B$>3N<|?KiZXZ;;<}JFgoYobYY5P0NCY_L(X&>)< z>E(02^BtMT(n=oa9yQy?Jy;jfz;C)6>ODKDj6G<1C>erWhRf-K016H)NpQ%m5Wqgu zd4g>=_}25mDaY>5*Nlq)l3$OBFD#<>>2Bua<@{1)Vs15v&ai1IChrvZ*C#8V0` zg>22kKW#f%6z_p7Vj#B0gKLCdGl`gb6kTyF5Zg##zXB!miSt+-UjYgLA-4`idpK$U zM?rfs_s*+4!Gc)w-HoZ5Y{iILqp;NOqF27$%ymq)Ni6LufneLVsEMczOlh(#E>ptI zsFSE~vC}zj(D|$7lcJw#!>;PZQ~$Ky9Py!F@fC)!)h8J-xe`GYIiQ@@s9qZ@cbP@f z0P)`PvfrZ!Bv1XkwlbX_97I#*K>Ls~tXO5)`73mBRF~eYYxf2opG+$pL~Gf}dZ9wY zlJMH~)syMw9kA^sA>{BAAJKGz{}bShaA z*5=Job3@6TeqLhk6V|m&PwVBad>{IJc9v`!^A#6gLcWZC^uvI~mpfp(*^)#Z=3nCu>c(p(?`~_*1~;P*at$8hiZOR6cHYWj_IOv!@7PrAswSWDM_+Y|LwY@9z^V%A ze;W3XPu<|Cu*;T1VQxQ%rc&0&%u&!04A7b116$Jtk(DyA)wt_s&ByyDRasC5dAH03 zQ|GAe1^_CQRt2X65aVgUV$16QDw2~E5I72)|Ffb5->?E2Sd(Hf z98kqZ1S~BO%YsuJU{OF5D3o|tCN5!8sp3eqgK7VpCB#>5%4jv6GX3`Le!^8>x}aU; za7K%3`etVA;ufKYaCCz=LQ|IbmHvP-5`0M5uv9hsEjc$U;J&x5dTWHQ&J9{`RM(@c zoz<-~ZB@2gIyw;Q=peu7c&Ot-B|^uBTuYw-!?|>XTAc_|%O!XN9{Ruf}h~%xAVG5XF z$&RmaV1fKhmJEuN@pxOx4kMr~CI6>4+~Hs!z6^X22#d@5@~Jf!P#^RJgQbF^vhiq` z7+78oi_8Khh%#TkaqHHgy)HPdn`3b3zePWU`K}VOj{L3hTZ($(3EMz*{UwS)e=s4I zl~1as(EMGhcRJM?;z@Yq>YTzBp^=5gbf!9o98E&DMMC_fx&rdeA3(Vn4NLMOO?qm& z#^h@&JJF~XsyR9R3~gk*#jk74z0l{^d-PorkwUGtXTnHD{ym(jG@)}Hjw;73dxDzM zX*KF;){LdxM!f=pGT6U(0Ae!z5P!~6)vK`WgW}t~fjJA@oZ(hb3J{lo0}r28X;g9v zQ)aE;K2J^nm~o4&Q1J!Vp#FBvqB9^b08X(AXpdyu>4|@Yc#+|~dm~z5ZRr98W3v8+ zkx!8@{rs< z^EaDb++SW?M})i>VruS%|q*Yn=_X zW@@G$ZthcO#t&C*YNMmd(VjNWB#rJ5E2gSD&12Q7=JKxME^UQ=RP7&ez+m9;e@8UI z;$$=vRklvl5G|o(h~e{*`>MvY`g5Uz1k+gtJG6fUxy~7&GVVg$4=+;u#-w;@&4gpV z0!;v_0z?~(J8&Nu7O*hbcmOn_c=R-911)jED&TE=6`Xegmzy$F1zS&x_v}e(1=ag2*3*Rb!53Lf);hz>6Xd-ryR}_pPzFZp zbPZO|&&IcHJBP8HY7WcL@%cg6)Eyiigj{L+K2g|aPdnR|el1Ze`=lmi?k&5bg<}#%ziQV;4Y8_FGyl)t#1n;8$a7_ACIptJjfrV=yx*jQR? zo-{qI*GwynC3|b*UOOHW3^-m4_4rQ%zUqNV8KYDLJP+gZSe43~fEuO(?_4f2`(As8&|Ogs$2*s2LZ?QJcOZ(;tjWS`lwnt~jh09Nuau+s?^7X1L5yj+C$o z`w)$-W3})!OhP_OiqJpLzvsM6i3i1?AWHaPL#tvkp@=GGX)eKxhz{jFX_(QLiQU#9 zbEr_iH9eTFO8bML!59v@Sh# zeDc5l5%uvLT^R;6*|1w+@rgGA= zRBtCBd(2}X=UCj&5Pgb5YkYQ^v=GAqj-vx%DEtVD0LyXSB*cr>1~G z@qlaCwB#bjl?|zCCaDyRo#Y~P)qJw>s{4uB8FF{;ICX~Stf>R7Bc&*YI$_G zc$qFG$Lpkgd8YiqdYM*TUE4HXH-1mH#4y;bFO#px3EGbjrz`D8G0dH>+Foj$IEUwY5X?s$&`KZF!W^h!Hn+!*m^t}I0f-A zT!}Z0W8PHlBGB|}wRm|3#7w(JPig@+ynsVJ_#0*XaoG@L_V5*AaqMqWYzV(&ZQ#f= zC4LFXN91hhhs}K5wtf5J8g65FNt2}s`zlkk@vU2p+76w)=@@#O)L$G3?Dg-18E?

*M)*Spg*2V>~pdNq|Tj_?- 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%0D0w7< z5OH=;6xWrq)@4m3olskw8nz?VXP<3F?)PKy@x%>J2EpjNC95PwA%>VM2qYqOCXwBdl;WJJJCZ*DiTK#jP)eyvJ0Mb`&!c66NjAG7G})2kb#*@I zY>Fj8N8){bkAn<@N_W6G3n(2l3y|098-$zy>2M=ju<1nqK;C-US~eR!K^;Ze)QhN% zIyaS&R$k2XhlU(Z9vLK__#jJ}duz4Kq8aZPYn`}21g2VY_CCGF)o|?eT2xKbw+LeB z&(iXt2sVGx)VA^pg4I!2w4n%)ir9a6%@ZIP(;QuTLLYTSl)}M-(GXREgZ|53IP7o> zNOx>B0n*eVmpRgXL}_i3BfE8CguiV+bDm(_E061!D7I4n=}c*9J(ws?P^l7BJSelg zzRsSI<{>WqbbWDd{{Bm0zLqJ&k4)@e%PkCLOD@z2RxeeDpihyLx2K& zFEGexKP*xRaC0~<-e4Iu8RCieqR|)uL&tcYG?qfiN)1XT#w;BbcW@P4nIxW|{sg^4 ziiv^((l$YbZ#uWDI<0u)@oi`_JWvJmU8KFDG_RBaN>-7XPGnPm8%r{KO0DlK{xyX ziK#CSPft^f>BH0)NV?9dZ}x?xC;7?lNo=$jr?n>j%)-ce@>#L&r}CX8X8+NoK=n% zZ_7x-d93#mK+Zl4{gjn3*#V-<5WrjJjfgD3fm5*fmIVULY+#DK7AU~H!csVtj72RL z!nA9NKLs#Lk?+OjJ|lt{UMZTP@VgvZt;6SK1T&54?Y`K>$&Q)M*tvN$hu&f< zYQz5(I_%?i8<)&{DOo(QCdu3AZ|n19&E%ACHM->1kDYnxAUKGIDZ~}j1JYtZJ4)LT=vbAP>kpqS4u7P+j{*L&~VUY%PyyMHa(J6UKMNH-)yUM#E9 znl5o_iZrzn1!~9=+9(@aC`(UqCd5W!HbfK`aQZ07O&3%jMj@atcw5ngAR6JnARn)? zMB)21I6!ckz(s_>4*4kcGid$%dW!ltilsikO&r?=4Q0X}YFmOWWy)=hC*9P$T;9LN z`NAhDH=9rH7I6@#e)PqM&Z#jPn2_}*P{aI;Cww%PwbnsoJ zP?Pl>%x_76DvOma{A+Ej$f1|n6W1nzOo4d!HAA4*L%WxgXR}Qu0oZxe56Bm`Mp*S5 zqT(AE34VOf-*@f$`<}5~q-N}&d+*y{8!Fj$e1>`=ue&?1I}O^>cBdgtdV2bSRCr*Y zS`7B?qoe`Ob!C3<|45N5poF?B`h1b{49pL3K9Di1RgK>Y-R?1m111~vR zE?C|K@t`%3OaAtYFV-xg?)fhl*US@7zkK$kBdvuM+wVSzyd&X3q-mFtrisb5Re(^9g;nSO}?A9$9!g(!cCwDmms@Edz!BhR)Ar;%(Fn6vsP{V3yj}rgAVwrHcSvjv)kPpzNbvoh0$BP0mbhN`TI@mr2Q5bE1A_>} z$qsA-(Hw}Qbqi#6*qV@JA5OAx2|m(yOtym8+G7@d`<;T{_*kK; zSw%%AiXS`@yMzYEc`YZPDRF6N=*`}DhQ@n)Nkbd;ulqjR6e`|zbb_7To!6D!1^@E8 zv%B34MlUI555&d>y0f$4Tkrt5GU366rND;d1gH|}s@UMO~HTBwSk3LG-?wy)?^wCqN?j@6EsNZZjy}2}}VD6^P zV1pl-xPkbzb+T~;*_y+~qZ1t?O|(7}f`9U3I739P_@I6{3Wi)73j%`9cb4Jz8!C-UXQP=uF z>u@(KYh&GLJH)I75Wm24$*>;Ay||H`;Qzxn*XUvkU44zid036n+78bRpbG`)3N`#; zj4Th^60PudvXgrNcHgL z>n~ham0dJ*YosY|ORYLzR&0Q5D5XZD+1ZEEppXpgST6Vp z&w>9FnOXrJ5L7bLQi-`7=K24@9ttz?AXA$6uQYQ*hs(15CJ){=$aOlrZjsF_5q$TI zfJyyL=y8uGJGrEpdPjmJUx?IwX<6RZf~lvd6VRrF-!E5R%x>do*C@{o~*xhpKXl*Pq;qI)^i;TTKRCs;l1Mc52W&E?1ND51T7m)T!DIpr>fS z%SGt%HY{^m#HM4>?qr0q;OJOAf!sGhmJAmR!pS4}z`;aTq-X7=5esA6|5S|~@ zKKhqf<{Hj$yflL%(68!z!gPmk_wKKD?)+-^$WD}(K>d2#Hl*UDjUCxkom#o`mNlqn zQswQ`C5wb9+D^5J9ZZxbeXA9?iu9@S1EAz~M3fxfS92fvQ;6p|@C+!ravMuv__rLS z1m{PDiL_5!LjR+E!zYD)|<-1Tb{XIuEYAMQ;y87)FHpGyUW7(DxdB``d(Yl<*JSEo2d9sz7xu;_&JET}e_q{A{Rc4zYwF#*iw9d{h;FgDmzyv#n7hG_ z^&=1J*50B0ger*LV+npmRz}gn2ao}mg_I);qWAa&^2kL zRUI~Mhs0cKll8I^o^!UEHnSV4FU#YiuOp2!)Sq_UwyP$!V&jRus5AWHnVjyPHK8F- zvu|iq4^--T->sOb3x-hT%sA8_^|Eg)Sr=P7|*MirJg_~SHF|SChEV39zR~5TC)9) zEw$7_rC!;bCC$!|y7^54XC>NaD)V^COd~p7uWp-Go2$k6!F#xI>_rRsF+i=A9inT2 zsC<~nMB|7?2$m)=7>>Tzih#!zDt_JAyh-pwef=+gUk5HC&Fs3$vAE@amW@#5{W9MJb|rr znF4h+c0*lsd_}1_J~c58$)9ZIaciWhT!){tC}|X=un>%~IflAMm?(PVfmmfsoG69` z3yCtHv}_^FYj zPOUu2JY@8Zr1$QP-jNd<;3@_NhGh1B{WI~gP(Bi$=0e5A#f`ccJJr#4E3#d*M)9R@KhC zjv)U)c)hx=PFLN`UByaB1;Rn|3VyMIV38{x(y>f^o^ha)j zWep~6LPBF1bmEHh1XzWVtB5d)XdZm6<*U(t1E3xB5Fi|WiiGG0lsrL&8Wzh~H{o`3 zChOPstnQGFOwVocw`BW9v)DGH!7Nf*ggho0-Nq?MFH6sXN}&9mQ&USz1MAoKnR7V3 zalDtkv1aWEVjFbvcVt)v{9Lko{fp#-iBJmr9ChDkTLQyxpFooX;iCmTg{}D=wQ@;p zf2>H#ws1<<`YL?$rCL#~z0uZ~n%Zcq4ct(|_j-GKk7Xhc8f$Kxq_#HH_sHs^?X|Yh zl7Ua#6z75et;^Cm2k?wH!bAZXu~?RfXvUye)yA|<1PBG{7eVX{_7&Du5xcw~s${vUdR1fL&R)3KN_`ML><27E99LQ;5wLG*)oy`r zz+6pw$H}rdcq*(hc*b-(HmPp3+w%&UNoJFgFI6f}cB6K`kJ-^Rv~#m?XT8>18c6&j z_3R&Z?P8ofNt%18Z(jc8SV6&tTeqOr%h!z@Io(mDhAeJfv{iHjy-eN7s=t3~==Il! zK0Qht4-{L5q-yFiiXPDEG7JXF=`5s^%vc{^ggGuo-~}Vp6GZlw(44)(4_MU0+m$Fo zgxE#PH@Y&A4m^;nxgE3})SRrgw0>d=jQLGu20N!EFF~hk(`(}j4rRz@+I}jx)o?6{ zdG}=0WEU2My3!1W&WTQg!MJULeh^Q5cj@;V0~4>^il!(2+efvcyNQ{@b7{%J;q5ah zilr6yni89-H!KCo%3QG}c|5Z$t-cNUnqjqdN;CCl8|reqYkXC>oDp~*+sr=$`%(`P z&)leCkoghptx_}?RjYWzqCf1mxTc#GZt_J1Mq((Mi2DAnu&*Or35qt z{2ZFJ1zpkhz@WpDfNjq_Py2j-Tm4X~Qr3^|>`(RO& zl@dMOf?{Egy(PP@HW#)|k8&h_kI$>*6Xb}3+2JT>pe-5h^leX$WHv19+ellb-e6gG zMMZaIiB!0AIwz?vs|kN;uN1W;mraiGxJA-d)z>GD#d;$LuXYvKlJ34v%!U6Vj@XbQ zcEX?E#+$T$%!gW}N{|D1Gt{+Fhp7J}F6r8OFl!>p9^kPo93ylS5t7Iv z0#EOXpyWZfHqU@ZwL)^h$TnIAlk{-!io8N^a=DcqOjfA)NlK~c5B0~20{SwYw>M2) z<#pD|ZE<~xvFD6&S~c}iE`m@fTd#`U31cW@Rn+I_&gB^lq-ppsw>_}0GFY|g@DbD) zHs-Zvm*R`Tsh%r## zxRKfxs&7g3QO^-jsrH+;NlZ^Tc6br?5F5dJ*Mj92+5K}3|LCwJh>T7H1<7O?=^7g> zGccinEW~gK;;8d7B;m*L^SI*+A{gF3*fNLHtuXvQrT@m<&g-8}fq4?Q7FHvD<|~<| zl2%`P-iW&oX=|g&Li1Z}t~zlt$Fw%NDJvaznjvE=toFGyJBvQmUi{5Q+vv}3Lo@xa zn!AHb#jSR^+hx$7Fq~=`con^SwCcmm&8>!YTIBRin+%9#TVCmQebii z(1Qfx?@xo?#PQpRq-c(Ul7VaT1`zK76l3=jzefZDDZ)X@6?KXwT zDii!4%1Kte&?&MqY~)!j!+Il+unk_gFnH78sZ)bDiICdn4JLDwq+;%ap7?CFAeR~a z$aV3>rT0%D*h3Ln+P3XaTgJAL`VQ)^yYJguS5UHWYzoDjY7FqGF`1}E%lrOh zMkPxiT}or9cm)|^ahx>1o@5q$fjkzltf}*+4~NK;Y6gEGsdZ;i+Zzpe+oXT7k44Kmi6U z(250!K@^l=Vt{@JKRM8q)0`e?O;=fZUd)c;CJni?^QFV043X)CSvA3M>rw{F^b?h5 z!_ru`AzrNgko7pSN;2G<&cv8k-3cbe6oY5baHzAxi11nT;uxq);5kF+=3#i`rL|@k zOKksBAW%Y|@IV-R_u%3?v=Q3r)5Ev14lhGM-3MrK^}M@1Bvn zCH+;4-v1zWb#7ie)TqE%-jwvr1bMwd|4mHjAycU{K?^`+L*D5;z|aXaboH(*Oh

?9g^-dYt67dP|$uMw~j)Rh{h@)2A85qFI^( zp@~|PiPu{8?Rpc-lqs)+i0#9TgX+$H4RI;?lh?Pwqbg#lkmN`h;QP;iFV5BZCljw) z>h<1Kb9SqJsyO0Xajk1yFboU@UTWw&fMuHlbbJhE{SQ%?3Fidy#)@&!iOcY=s^kpR zl-Gk_vgev}$)Ix6_Bf3q4r{G%D2}HAft>=wMP*2B`TQV7cN}1X;@$ioU_A`aJT zG(+px$7@*jPg{7(-RGQB?jY(ybD9lIA#r||{L2B(cBESU|M+?jz((pTao98Jy|+>C zy?5DGu_Rlz<=&g*Zm+$4m))h8WND#=7RmwvmKJ(V=n&u_1QK!qlH7$O{F6I!gb?lm zxs>(rz2C@Qc1iLL$dX5+@#^*d?jc&`wJrzAb|wv0>>aDPo*@4w_14|8bN_Rhe0OzV zueBOEZ~*h1bI!)QauYsiB0f}EhV?r9KeFPE*~0usT){fSD_o-~{yJYUc=6HXJ!PZF zkdWzFI~aO7`M7JZ&wY9Byg)Jki4!xAKmk*{+Hz;YOR8j;nx3wmI;Y<|Sn@GSuzo7_#&6{XmZ+og!MkYTyy z?Z9&*l-5x1l$HVFqcUAiAWR@&&@sUM$aimK@e@uNoINoHvvoK4dsGKJ1%C`*XPDnF za$?nPvAI_(+r2wMwE5?VB|5hw&>^UP}@VsQ*?>9?VLAS08vh*gpgK6v%j*IC;!-y~=7lowvO zA|P7*}T-)llV?qEg*W+g<5|0fx?8mxPozF1I|9zP`Nzh>T`xi z4$nkhP^J^itj`v}V}A~-3KD$J5JuPN4fC>%cZMXT7CN0XO=qjsL(Xm|V+iAOMwkq5 zx3l4o-32v36EMLo4l<$-D$CH^8`Nb2QWrrS$%ua@a?!|tgoMoprRp41`U@dobNxAm zB&6e^S`F?60tN^gWHJ=DQx2FS5v7_2RHrh-#}d5Uz%k}27 z^HZ~vb5H;K#-D#~dn^;jPt!c}2Zr&nC!U!7F2RXt@QpW(>K={$4UwKZ2rW1=?9aoG z4HG=StnV_c`(rr}G-sVH{M&57tX6bq9x9m)jINf#d|~#D^sCF)Uc3Biy7n*Omf*2Z zGCb)Tr~i{c;1k(;l8y~*YgXkKvEUqRYHcA}nFVwl#c2)*c%nMzhoLT_7kpW?Z=kxF z@kUUi!g(hVH2Uro1p_;8*`w%pur(DdW^zjifE9~$7xc?7D42#Ozw7Cp9Fs;G-3 zGEik!fGTG{qnZ3KuD9N4)peV7r=K1dE80S{x_LUcl1pJwH{jz`q4EqLwmo2eV3vG( z?y*6wuZ9_8@9rjp=G(*Ik4>j!%Fx8@>_n|L=~K!QBm2XC?rBQhH3=x?Ol)ULQs(8V zX>8!xxq?oq>`vX;uH>uRi@BM?+9MVeW@+}+0sr=lC@ zU`GhMZ7@92**Ov(v=Mf45lii?*+*@uT1^}XMxqs2v{H{neJNft%tHDM!TfvB z^M@>fiQ~~1kisZXAEIPt1Ez{3MVpjd2EXb!3Yg*JWK1>IQsbYY6B;o+T(w21=$SIC zsOf@$8wz7+A_g!$HNTSfeR9vTDZOHr_K2OGxg4$dPCLi6+-ng*(DC5Gn7J)DODxd2 zt@$_k^xb^cXDj#W%%d#HltB26+pmFR<0acIzSzZm^ZM@P$l%KJ`x{5G=En}0M)eO) z6g7oy+Axo|gKI%?(Uj?|6j7ahe!f6ByVG};C46({;`v}ZN9;K*tkeYC}MD;AA$n%L6LXg|p3W|P( zbb*$)Xcw$haE2(rK`07^t|=A5_Lo!nDVx(r2E zc_u&ik)&hb!N;-uEwOm&k^IC&exw4&NPgop>>K0(%L{8EwRPMWOC*M<0U?Yg-50My z4Sxl!(rK8}g!a{Ao;hIVM~H|gsg2tNjF?6E5wOWlObf* zHX%mwG9@43Zj`ZPqcUnhZ2(NjM7r0=E3utx*beflyYIsMd(u49qsMOit|zt^^WVL? z!~Xigj;sB&Gi$XSSZrlx#-p)Y#N$%adcD3Ki>!=}9wh&E@CVNI?c{&-VeY}UXUh5Q z6_*nG@Poc^xR2Djsz#x0Y%FB1x&j`{awtaU(EC{KoV{4I=d3i0mXvaNQjfD_Ef%dM zXL}^HV)3=FG;Dxzcq4z51H0FYyuzXxD zm)$y$OA64X*FtQvF_-f+hzG;G1xOie`ny{R05owNY=?&X3&cT5^Ao8AouEV*SQ#g2 z2~f+3;ZU=(3i=`;?vtdL6BX+r3+K2Wh9*QEOHu7&UYn5)PQGv{ zme6@L^)H$Xqh<5>+6?(RTftM(uERu$L~OQL{6i#RU%fMBHgp&!2k$u)Gfj?AdEDD! z2k!*#4+|EBhU>IrlP3>JhNfG}d=whi*7EYTTf#N^WU$Tt0ocqH1w zm^*aH$*W3j72_E8$iaj4I;Vdj)!EG1xj!7Y4OeAHp5ZOgm?c%$_~E&}zPZB-)6-0@ zvGSOCqT5vRZrotKTOUrFn`u67M2 ziuJnIXm4@#h;M_rLNS>(YS({k+!bgbp>@4JKaY@eeX2theXMyJni%P$ksk zrH?NYN3c|Ug_u)3QNH0GvD#!(ig6kanX^Yct=OW@erDyK0VZt{6OQA|jq5lLPDSYY z&`gwo2|lvviy{yA)Qm6eMwt&!q$@S<9%0yd>vS>3oXacuBk4;^N@&U(Y&q4UmvF<1 zCzmE7*}44O|M56;&dKasSci9SL}nkYkpFWD>|BCFBKO#_KP5tKcUY|Dzq*6t=Fp zF^0F1pJ39h$53^)O0<`Wl)NsmFxD}7%qY=bWb~i){8GZ9koJV{E$MBxvbM99SbDr| zmN-42jVNkb1GYk5kGEI{^Z7w*#a5}<@=0w!d4t(JW1KNT%tQipAg@CWRtpsoMRRnP zA1hxseT)EpkyaS&)8);{xH|280XVD%oO8z)3B^)S-Xu-*Y+7&Xp@Hy zc?5$RQ~v?nyYczINLl;M8y`9EQTM)uy-8k&(aB?@`^i_Z-#r^|4)uy*7Pe0MH=Ca} zCJ4#`N}haNu6GEeHI`J7ahUDX4!43S;jt3iXo{p!JJDv)FZf@WDXLw)$-B!k6PxHU z7pIFe4Q-IG*xjy3&I_8yksZN-dA2`=-4%lnV`)rdL!N0jRRe}5MNmX`l7)qQO0yI3II^!c zB`>^!-(&z_m`Oyf#zIqZsEjH64t^FI3AJfn(ZoFcbI0y@-0fe+>_=zUt^e=r&t|c+ zggE;&Bes3v)6%Wym{zylh6N6;Y)oP42>CHIY_D8$33>fxzqo{aJ@(uEFSp3smNE`s zfv@f8uv?23i&-}1F8s#>7P?ekeegY7SXGnT%$6eVh6%wN+stNj9To{%tuM(#|CW?g zDmowf?yM%m7e5BNYlm3fZm6m}6KseJnl3?8o6wMwli3YC?oI1p%c+LhKk%KACPPLj zVsFZ-0$R1fAWA3X=zzT&iVQKW97UADZ~#??B2EtY1W0F=k^zE%h9oiwYzBx3l@uAH zUxMoZ{l8x#w#9)H^WGoWuR-v0EP%bH%QCEO1ZtLI=jU zt%X#F0CQNqtWdXy7V;|-L-Q`MiSbmK=GRv#9j+^oZDEP0?x5So%`~%zVIP zF3?pv$H>IQp@KK(HaM-Zq|+IS2~8bIU!*(HPnfX>@*$o(+8V3-2^smZUZelOrOxLK z7K8^b@c+G#yX%K+2c>9MMKYH!x>|SApszX7Jcms7w?5a2Q65x}yG3 zxfl!aJo*ptq-;b;kiQS1)m9jM)CiI!F_hy|qR^~F$z_oaK!gy1w7xBwQ2%NW zjm;iYbT#k-TnmvbB#04qH#08QM%)kkFM=p@qT{Sty6!y}oh_Nl1zTA{7K=+?Sn$a+ zz9HGLC~u1xD(ajs#TNQuPKfo!j`6bl)AsgkwuB2`5A&Itie-6OD-{-0PHw04>%=Pt zg0Eu3+Va)PJpt)Egum3p0}GARzkis(>qCgYg_kzV!~z7${b|Q)@M0*agy&E z!=^l4mxapCNFc6kW%E2Hg}8HOTd9maYQM+s^Yg==zMr0E+_&#W5MMUeW5;g%o=k0@ z!+b~f9x(jzHlkb*&7MY^hY>Fyb6DI&J`t4=d9hkbV?JN>2TRR|J6m>Ttv38abROQ56g;J<~N#1JivatfCvL(?mp~~G7j&iUn1hV^v;@F(uZ&hj}KeI<< z-ah@9(Py-DX`TK35}BdPV)B|MQjp3dRsG3Q9;45m_> zDtbchptJ6q>gt-}y92RY#A#zkjB%?g!Lx|KcaKmuVT8P2I?1qG^~Yg0u_OAVL8g75xENHPo=v0>lon0#M8_if9vOz$!>| zsaQ^^wZ=ewY?glManR|oApx<{rfC#9N$n>oZB7N^S>Rg5LGLG$<2OHm$sc39%wXZn zP|DxJ7K@!Zt(3{4J>b>&-X6i@o;f+t%(*^Czj#T)u01F>s zz&uGp2yQn@|M98q`m&(L};rtIsep3M;_)%J} zVp%CTqXP;b4W-A{*2FX|z05HR3wUtPn|F#nOc&!$X>5S9bfNly)0o?-SlCMn}B1GNk!+skMXF5Zn(a><<$xOzXj6vN3 zn&I>))GZ7i-vx%?O7-?o$#B#IaDxB-RmdX6*#JsImQb;(F|dC)>5mr{4HhhO=2Hpv@L2{%UE~gnCO=qR#prdPuFUP@lhn3(QK@@!In7% zazn_ThdGg(bzo2hgGQf$PD5>E$hbib-2gfkGWy^=$nE1a+(=un8~`LFdrts2Oa`H9 z#Tu5-W&t>ij6_8^6u40c3*sN>2S64e4d)TSWhk8l)!$bqZT56Xn0CpO0;LC+GTZd# zDk04FvQxj{3l}`Uwi`z!?suE$nx!m8c=ViZE6opwG1}RLp8}#UV z^pWyKDl2D{C%9D2(G#xrXEC}^rR0)_vqJ7=hSHT8i%Bfe4tG{ND(M)LIm8ZtR1a;6_`9^ zbRCwMy2D~M=jGRHqo%&SdY`WK<_=az+wz4k^o4~moY~q4S5Y<&*!2Ku(1KueqJ3`-(85R- zH0V}AS?Udo^f<~ICMD=lWb>TN9uU<3k_Ql?qJSev8lWMcjTxUX#?^_UC;0p3y;GKF zC#~nNyXW>2Km72WBS+7&PpT~4PX3HYap{w{{S5nj8GUrmx(daom|INXMDX5%>86zqvi(GWBCY|1Ae>MmZQ=Js64->YLn(cV zh9n^^3bz7aC(#AyYG5PucOaAwDEdl3%j`gbEEHITdm~I>6`J|=7%!gfWT}Kzj##|9 z8dMYl!>Sp9F5*sC=jWA@POhHc>Wboaah2nc;7ub|?^IvN6wxU?F0EH?keRk&@jWGx z)uP97p|anZ63q$tcd$Z&3eIh>ZrluWE^6!R{p4Ssab0N%<7rqtW@nQEm_b7h#OY4% zB8MMTT1Vm+9#qsT8tGee$&+-pD7`tJu$L0dI0YHCUXAW!K2*+dawXiG*VDNwVVO>hom z8sKQFSO6+mzr+Q47bF{C1)&$cG$SkluBcvGG)o?W6zFXhWzo>6s{ln1LPNpEjnf!@ z@;~{i<=wkO`h0L&Gbya=(~P0DHHnhj$#JpT@c!mxz@1hItcE97$j??np&-H2`LpE~ z*$hWuv$x7kQpE_DBX@~X7PS@{jVe)>*kH;8V+Q^-S9nIAB@-4fnQENBajxMeePM@1 z(v1@|DfSV@CqKjZ^Qvu(#0pLJ=USW1(w)4esCUd++G=gJdy_c_;n*kBVoQEgmGG(* z4uTwm7|-4mB|bDs*Ew-Xq2^GKqB7kYWs_%ha;3Rl^NTncD0mC)?KuQZiBz}{keOHcV&>X6TZhr(PXw=dj2 zK0brXK2@^$3k9*gs8`nO9u+6$9#l;+xC)0@&3ilS=5{97xIYw}$n7Zd9D_6?gGXq zM?wg$Ui|HFHC|FPe5QePb;deug|vW*qjgN`Y>BoRqdgK$7c;)};&r`iCRcP%z0=8@fp^-y(-0DS1R|&Pm6||571xu;GDFjQAA>3e0a0pej zcX?9Sov82#MC^@MZHZp1m52X^j&YgL2TJGAo_NAHF{p2CuiSErTgmTI_maE`p0GIa zow0b#o;t<#=zFezCtsY!=I6*SW@j;Mj=XvH*15eNwZ^0B7RjGo?stZ)4*%g>u*2kI zx4k>0W^Swc4eDrTr`xGCh^kpY)|3fHeF${U=JQrama-QR1h?RiR6UBz!e3!Boen23ffH~4QqED&w)G^wg8{kCmRx*_KuSIn^) z8pU@`U+Tu_akvUmqBloSYgNfwcl=ErVu(x(P1M z^hNDjp3IgC7nE`N>H2tjapxmkF|&=YYgd*nd7L5F2^At53)@&TUE_#i`_$x1Ds_ia zi@kXfXxcrVYtG%vrL$)u#xl>!Sj1#;_1>(mF#FxvHapV+wJSvxA?R+&&$Z3|LDm;a zck$UmR;Y_kV~*l{sU64YWfn)_b@V!V96c>9@WYXCcPHGF!RMu!BwUuagu-d5naz-S z%KZV3K+cAZdPDlS54S7SJ#o5H+aJk>Bk2$2F0S2>wM2170R9%bklX?U0XZ~yrO_IITKy=#0dWb649Z^7yA33RncWB< zBHRKZ8xce_Bb;I@B=k_#AmXV8GJ&%I;h2QZO}FLfT?-5PZo2tTI-YrKWyM9aXMLk8 zd_*y+OSJYwmu%XX6=@ zv?w+GR;6v1n`vR8E?p_qbM@adgbQ>x1Te)L^_+zs>`L5L-f&9N&pet5_x_x=jl7q9 zqdYJckBJ8c#?`gep$MOum*o=vm63$3tULe$^0r_5i>$v3N=CzG#qNAOEOthYFP=< z0Hotkh6HL&UUWqaa^*OU#!M6}<&rh*pGzF}IYmMD`snB+UL7(@Y;1#NmM6|X5*7>W zGN}o+NvNw%(T*KX8>8T#(JV6f!=B%B1>2?Ew{O1mn~4gc7M1D8{%X6++k#cQkLL5_ zy9ya2f(=899v4PK3EJHb=G)!f6Zs3n6$MV~(($EI(UntlnOqSH$&E_Dgsn|$B)ba>P~VqLpfa*gV$8!u{iC~aILcOJ%qz+kQnv7R%m#2%Wi z_yWwX(K`tWnP6&AFTU#2qCf%+?2lVfZ92>Z0_W`H$^p0qjH#nc5EL_$f~^9~ zOVNrPD*xcmGFc8Z@PLxEv;@gfY7SP9{oZ_~E&4w@cARR{(6P{|qN!F!d1AuEE*qq+ zASrvwQZ`mxhfORr_sWHUvnv}pm_~~FA7P8Ng{;lIDrmeUa*7)!3Z$_cx-5aBWt2$* zr~#zGZ%A^Qsri9awP2(7lE!LuZ-RV8S8NFfV97*WhNLI@coKKYA`YJpS_6M!V#{U< zU>_(n^YeDTJmu2mw*%{g#73^#U9PEOL55=dt~LvqB10wKlfTs8UI z<^-pY=3+17lCa`Hv$AdB#ah-P(RL+nEy*nOVf+2}&tIP^-#RFFDCSfHwzwgUQ_ zh@;?)TC%CmL(0lTRcK~s6jm;P@}eqsz+$2JlaiPqMWIU;?#6<1z+Xuue^;CTTPe7x z+p6sJ3-|92^VH>FO|c^CjTE@BiD{Jkf3rJw%&yh1yRN=Q?lRuuY{h@a5%4?~y^p{H z(SliZ)k9K)jQ{U0(}2Z>dGKl6&*7EDJj2yA7EUO}+!Y2#%x1Fb3?_rz_uO-zn-o>C zR`eIYU(9tg=82T{V5{y>`jzQ|K}2*X?`)GftMPKZF#V~Rj^nZE0vyvGk2mUX-FUYe zY4(RQjC8capvD-#QTXl>xbjYzF`;7!QrovWA93*rH5M$DLMBUviegP&IYBdy~l* zOc>+bZ!GJJ=3~FITi_f;CA{%?E4}A0IP$pG-tYcI*(WT5#%QfE2LR^mxbre5^eV}NnX`>fp zt0wawRgl<{4DfTQvRbDwSwhd|P~h;zXNL>$pP&p#EyehyiRsg|(F`-~lBH zAbnY|%Hru?J$B=pF5fv===S~V7EF02c`@D4Cvi+*7tfkSlX%n;_w_r1mt1z)(mnUw z7-{Zw`KJn*(c)9*ns@H_Hs(KT>uZdE7ED7pAzp^{N32*u89#nIK?-sR{jxUH)0utiJQ zS`4EGyV04$>-xOgo!2MwS*=y5Pm6Ulp5a9UVSK;6z1;+At2-(q571q>=yPhxz{~mG-X5c^B+!5E@O)UZ`!25 z9DGqhH19I6r|-l3>rTsekKOP+xzN1_OMYj0-E#QJuDO@vEUZ$$6g&6o>uEu$L=v;M z!SX!ptf0T>GbnnSvm@vJ*05`3--O?!CvWJ$=mU{wa$O6ZW&_Rh`(LrOf-V(Xl`$AH z+O`2htEM8cn8Q6HL9fGV*m&RCX|W6rD*2X9tIe(*G3DKC3A2yR@U^x&crAQ(oWmtp zvCi(8Q6tN8Olm@wPY&p8Skx?$n*L}o>;Jb@Dw(Z7+bZZec^zVKX!0N0KDCdkN1X2$1_DAXyDidi^FbC4Sr zp|jquwRSe|-5XXz$?>>mS=!|;>6&f2hx^ypt&(nT#VA~_wXm>xNO>~JPp%pJ_y^c; zU-{k0wUdhVKWs+_`LYaSXywqBcGWkqv=YaO2odK#AlG+!JzYJPsLhPbVyVmifi8?y)iV8|U10acgVqWcC5mv$)3KnK9oO3LTZIg*IMuNF~E?9Q+^Ri`!{GfVyLp z-$fN%XFxXL>yYuG_E0sNN&$KZsDK;zf78ABs;Z`HAdnM-WX%cKK?nr|A^nTej*U`6 zcz?@6LYFq&9x6kDa6<7R{6H^|kJHo;Y)nwgaEdaWTau%}!Dw%2z@GO?H8VV^>p$dd zWxXhO6ph-YC6|@f;vH4Yv)CeKyQCHCg$Xr8Nny|T3FunkWi0-_U$Mly_5Zem!`XZF z**@Qf*Kn;ahn+28E^?SRuCDgn9D?KFDET{Yq-Ps05dA#V8;xFDiuM=sxBTaSUYbm| z!m<#Vjp<}8;*zwsW4m@>^7&fM;-`0|juxeAnMhTUwaw>h4|MivI;Zt%A-%tF?x`5~ z;o}OId|=#f8i^h1{2KO2$kHM3o2;I9WA}wB@PLE-OLI@6dvEN25^#Y0Vne>+CED{) zW7h_~9BA?q!V#sLZ9uS_j;Rx{L!sxN$AJKSTbN0zkhF?Q!1Slhwp%yT*K{f#O7c=}B8cEY%q=aUZm ztv}6bO{Xs0JB$t5{6vN!WCsM6d&zBl1FKzP!$$5^(T3=By2C%!&U7&ra7l~)w3I%v z|HWFX-5}^p-rUABa$J+`yJIc&*4pRN*1pfTlQ%<70o*)-1VeFsSY!5qUw5ojld@IW3qrCIuv|qqH>;!m;Xp+lr z&?<;?nkZ<1@Y>n}fDl3f2=&c0%vHbu(h>+uTfny3LC~4E;x-_jRPZJkO9YcSdcTe(c{cHEk>Iv>*dO7^7bOZ(w(Zi-ZfylXMX;oayF1mOqZv` zLu$wrw5i%PouzV%{nrv9`Hq^vVo+(qZy!p^@+%T{|AE#WuB6p#^(sAU7PY>&D{Eb{ zmMq8X8XuzF3U*N|)YA@AvoU62?mOB(y&L>HH0ka{NFrH-*g(;E+LBU#uSFmg(2P^W z4Df^m11eyaSdT}&0G!Cfph2Dn<@-Trn2}F_pLN$*#pg9zAMBf(gXI!jv#_wl%Dj{o zo!z0=_Q?6tZQH_1ejzfUSrKXjQWa?@gHS;SV;!U}0U^HY;0U&Fi2T*a4~NnuiQz*t zGcRH;^5?_noP&L`@dNywY$}`y&lD%G8w#tf%QkIBR^wQ>Q;IhIe4jb(N!>SDv=V}j z#F4VhYKY5;D~^2z8w}`-9_Vw{TCqo-bi>i(vCz#8X2|{&iY66)!xV z%TGYyXe(?*+4krM1;69q`zN`SijHS@qbdbxSm&-V1dBgoKqx9 zxd!ATd}Z8_HTwwT4dwn`d&-gSs2D~>Eks(|W|IxEW&1T8y~a_xl@Hb6oJA;>7TSLJ zib%lzfn1>xzv$^5YVYf9Ep-_x8JV^o>lsLTJF#I}343CXPd-zW$7M@+khv;N=?3eX zp}r^Q^CqRdD|t6mkE@$)=#x$OR$SBsE9{fNKM*@Px`%C~*W&$d1~SB3tjn1t849 zXgcXCKotll%AKY%`BV+%RzsGPl1tc{i~PMHTk4TGX}ww_(7QGt9w3%j%sCIEG_bZN zvhLL{W^#OT4F|}SgP`WmUrso8e`GFXdM>N^3fveV3$tKmj;Yc zsYJ;0N~_qPkF*KA;;ci`=I!&0LJ(i?yNP_Ae93aX#UsMU$k(w1sZ%(4!?Fn0V-t_c zHJw`CC`ZYm2NpQIj4pbBZzyhivEFVm4W}+HspZ0DKO;ZfUVp^7OR>_Xj7eAnB{Q+z zWnt5~Q!KH_0}RBLs=M@Y1JmG+G;br=c9!Z!8NuL=@j0Rxjorr*^P06-o_xV5Nr;#c zO&~XGW;n#U)^*(La9ATwzhu_Aaix3Kp=sas`f^g)-z#3o3d`VCv%sf*fZElLa$v}= zI?{CF7D*(}!TzKwY2ekS=%Rwhe@_C)0N!G|25B5uEY7GZsiJ6sYUe_;RuC6Lw2%tw z12IsB76kEu4XLUo>h@bE0rgA+21frF_#lWqkOxuPPdI$8+oJWUjIR7meG-j*RzF<)nR?u#}1!M9g zYSE-F?!edr9?a;Vvp3qU*ZG3j>n5#^i~VnsCCo55y+V4jkcA`ja_i%|QG@VrV8piG z*IvrU+|iIbAHb&7Y@$}y2IQ-_o41U~(kADk-P}9zRK3;g>W*Ju5*tb_?enc&mE9w; zp{}l>*uQo}Qmrl8JaO&_TYT=e=t_rX_XGV5lT8XE=ddS15N)ixLKptUELFJ(y*Qxh zkM@Q7Qdl|~twkP~iKXEe#J3!nFZvzm^%!gNQd4RhdIeFpp5$}Z(_=Ts-48BTQFnw-AQ$t?zm;tC zr@+Msg%A_|={=Z#Qt$olu_MpNEi+i~zS#rTL%$qZRM>@tTq^A7vZZ?ibt0MZd&B9w zm#Z+d;HN`7kl-_kj-au1bo(X zRA*P!&AKVJKQ8xdcbcUxxms8lw(sb9rx#NW$DeKyPpdPjyC0}Ngrq**%X!aY~<;-b|h0Q0}O;1>}28jkJKkJy%mk>S>#9}+YZo5 zjaj0hDU0Y$c&H$J*=TxJps*tlQKJL}^|JuaS+UM|(b}SN9IY%Z$@J|)TWN)^C-rRg zY=_#~tTqTdiF3rG1 z02RRYIe;yi3xM{&qus_=K<&*PP4_fC4pI(Mn_K1rQ2m#y`jYa00AwV$z9Q&ANdch2 zqoGU>r3%GoDEz<~CX>Z-LIHRqg$b}^I6?o>8#&C)9mtz*CdD$y@07s5c3 zH=}$`2GwD~L?4dgZ&-t>qj@n)%JIm%^YosjC1_XCtJ+r?#y=ammhr0EROPY_?Cslq zJZ085rK)pjGbUU|&bchMA)d5FNccwUCfMd&#hGkZFcAECu{cl~C>F_7t4V9YzZn-u zB}zF9rjU{Z#xc9Ku(?x8tgWqKzoTP}K)O3@AL@?#l4N}i!_^X)8VUKH)Cp1sj3l3E zEUDHfb+n!V>j=9ABBjk0bfA{nr=XVtj>BbJB6_`&s}RGYW|36r+4uzeHu+2}$Qfig zMCV~Kn{91~pZ5D=|2^QecUk35=Or?Y&8pW6HBzM0*iAy9hj+miZ3X{oKg@kZ@zL|C zUT9=KfaLopF$KUY$ULOB0NW53J=v>OG@?hW#vL{lnF6FDSgTYrm9;r$0%Ra{8Zj&o zQzK6XG3jO;sH5?O_0nbU#X0h zW!0X0JLl)Ib7h(Wjj8xnf#oXA&yGz@Tj@+3o5uLwogJL1+SJ(mii^uCO7u7#+qj%> zDM5bheVYwDPx30OwPdyKT*X|-yhy4li<-`fXKDqfp4%0_t*p_r&+MI2nL?Ji*~zC^ z&DKgVJ71{%!BE*JP-t-;dj@BY{3#m!Q!h=bVLi$6(Rj>p#^~p<*yjT@lT;pEX9*bC zOnQ%WY*5_Mfwi|IJm8SSyo=g3csf-2KwSq=yc0|{Rznd{$w*csCX;{#GZ6O&&O#?B z08>A}9X=_ra9k<^-ySzj;A5NoN~tN}NkAcmNo0RW5Zgk-2F0%wVh~<|PvcSA-8hdS zszrT#i(1?!HW+<`N=a|wn79Qui$Now)JE|xrieel5V4HLVU0n^N{t5x16i+2Ykzd8 zRx?Nj#m+8UAGG%US`C9|dNjse*V6Zk}|)jPO-$Rc$~S+kY#iegNE|t_7D<;cN-&qA!P}5qe<#&zyj(_Yt;ER40k{Qb(YH4z?_<>3?5r546}Hf1=*1i zriP!B>oNj$f-d`=jKiyEVbz12n3-|u)1Cq82$zQ63LWMhS(wqiM1JziSX@fOxSB#m zHOvuSk!Yr~Q`uwx&w8HGkG=Ww%NO#*<9hO^k%)Hx{`2?leS{zmYc%*zV9;Od+#T}H zpt@rW3M1+KRou^5#w0Oq`k=mL@_tx#GNQa|&%|UAQ`{ zOQ!C+laTOn&}9MXOsdA?zjhH%e27R#sL3rf7!p9k5qp1STjq z>M>5I^wq6RcY=NQk0~305Gje1YOYxzb~d@C@q|1f3fPozLbftwfGKH&3_&Lo7!V9M z3mSsi$m39Wa5CUJkapCh00wj=gVcf>p*AK(Qe_VTcY)bQRpCHWJd28bVAvv4P5w#2 z^$%3EmWo%pYgZ5@5$dX0(YdXCwVF;@F{=ysll2P{tM?P9RqYmCz?;u&g*3M}t+O{r zZsop-yFcaqB$di%L>@iE=_SHpEr)L5Gq6myb!_*sPb@df5^}tgd=Il8f4n=!7a5gG zLTY`I<-z6{FIxzom?;%w_#o{s&S=KGC|kq>%z37$)i5z?*pqyAI&X!t(D+?No%`bS zbbk8bfo{cWUhxN!S>ZN~OXV6+c|B&oRcMcU<66&o8}^P4`^I_sq{L$|8IfX=3R$_J zRVu*GjHY zm8u=xsvJEZWZ|ZX4tUyhdq7e(yd}^al*y)G0Pq20f2Xas7!7dJxNy@}MBNMwFyNy= z6Vyr-ka5VigWG-?Td0D7_%H00iYs$x;_%<9bZ}e}Y6aTN7 zEncl?j9nJ_jvZkA`A1ZXY(`J0K<`>zC6wJV%h{G2YuMW_MMZmIG3o9zspE03U_%>5~g=^s?6XHAoyOIju-S}uuX&1p-@n!6|h&aRUWH5)0z?1-V>^;A7) zcK0N2EX&mVu6X-wuKr;6u(n!1Uq#Db{s1 zz*zxseu1*B8@CYQ%?fYNzsVEGpLcB7e(5?p&t-(6kyLmcp4xE1{=Z! z#aa}Kl5p_}zeW`(Yrv3iEzXWpTXaGGQEW)1UctIc;*Ng}GK!<4N@2Ui&^*SBzA5D@ z#&RlchlyLOIrYun0ofQg9QoHzZz3-~cmICa%TCgJm zjm0V(e~4orGU+0l#qTm}Y1(Wm84SrG_IK6+HdnxAV>A~&6PYc{+|ZNMcFm}Q(glta z|~Jf*3c7Y@d#5E|Bhr zVj}eOtH#%t(lIP#p`)M;5_bsBs^cfn8R`_}g#sDF?LecTXAoqt%^h6d{krCYl_DW{#4FYEmZWzUaM?7EX>OVCseaEc8?#AlF*Z5NmW|7 z6SFYm$eWf)EtxdeyE`b>1&8yVT-ar+D$O>UwW>0a&)IINou(BvGy7LzRH>j>Wi5>3 znF}5!HJy{`$qO*cDR)c-GzzAjF%P*l{c^WyE_3gE&SdCHUe~7K%KO3>*T_$DI$xzP z%dU@Ht7Q)i!XZO<;`~fB>)7KI0aAf8tZDtqUzr70v&s-Q^-#EMX#v6XrT+hv4 ztt$C+JyV*vBww#T^w5t{U)d||=>f#JT@wtK}sg?EWZnbKD-Ypk5dq&i= zY_83wR%#_xQE!4siX2dL?1BqI-KI9bZ!CmerSs3{Ymd%mRZ~667(~ncj3sG{VXbUzAH2T?L(^s5 z@jKfEgvJS#Zj~%IIvh9H4R)J4HI?Pr_@iOVpxCdZlRNO`V`M4IWH6R_dJ}&B#`AdL zGGocvGH%l=RZ&;#)R^B1o{zqk+PTcA0>dmw6#y8Q2K`fk%RO)oXQ20Vk3 zV*pw}38-<(Py)Gha>$2@u_FFJSFm6x1{If4DHBPA0>m2BbE8HE*#dxbR8-c$2(XA1 zLpP4AP?!ith@yhqIMVt_2oWTbO2Azbr8?jun1qplq8vu!j^Ok-;VL-K+B&g$B@6Ba zXQ}9499RzO(0;f!_|!MFtGgb-!n;fy`TfVf`yGR62Nrs0eMNuP)16+fT;1ET2XEbe zoz~i?a|u~inHV$KWNOop$;Gj2$*+I&X7UE+T^P94@r1uk-lI{;Xf)bw*pH-9(YgO& z3yLe_d=Zq#f79wDFwy05F(%Pt zTRS>RAu;)X!>km}z~pj+MItw~B+WLq&VV@*gYPBGlhR0p*UOblga*t^=vb|-61lo{ zUL;}*7*h_5LC2gGi7+9TZc#INa;=g}z;1LQQ}@Iny-lFjon}6@Aa;A=fXyASw144&>)ka@WUXzAXjhk>4+ZF;%s z2TgB4JeT5apbI2}Pf&j7425IWS8WPAq_wE19{6EqWHF!%H#H#8B9JE75=ek-J}8Ar zNfD|{7?lGz`YaI1F)7&%5qKa$AhZ+uDxe|)5f~C8K=2I$LM32m0t?u@)DIOzi_yDO zMHl>=HU`y<*5`A)e4#znZdL5r6A?@EfobIo&KLEVlXy?PE-{u>27K4OG8G>(ceSttE`t1D#l<#( zP#(U`dH~zb#(U@U{k|4;pTVfw z@p$GeNJ|Q^rKO~xCopMV6{{|KCHU)=v(DNsyKLrX;T?e=k+0+QIqY|P$!9yukVIMM z>usO?_<}-vcsoa_xOLZXM%TdPI2Z%e!{H46+o18r<7q zzQZVFFksri9kl0|5Bw~iu!6~04REnDOa{khiA4Zgn2Rh{2d5SB)ujc;<7TRu8 zmAWL?-9d-iq;Fxr{y7H4#~6qFh%qRVN;PU8M*F3H)*c8-QMtZ9`!Dl%_f5K_TCZ8P zDAXx$-9G5U>3B!!_KMz-+7VK2AKZR<;Xvoj%X_0neR0>WKv@Ax;zVDR3TnU-Winxsru^t=fw0L7+=AZJY@riiOq z&Yhli3c5T4iglsvvS)>ghkBQn@w4-qj_Igm&od>w`P6CpP}FUT)_wcJjSZ z2bP<<_TA?f#tveFN3Z$C?y<3F_w`qc-l<8$?v1f%?gjR zMarwyJlKT4OSaCJe(gb_;$Ozs*7Ew^Vbv`>J!@4Z$+B2DzRF>PH~V826XR-=*1qkp z6k9V^Zb{^@J!ovcvT8MjIwy1GQoe2w4Kw(1kxpOds}^lJCDz3FP_ipdK_ujOt)oORu>#Fx^ z^=8TH?#8AWY+4Ki2sI(0gAFz|Za9Q$0-=SHgiaDlAcXD^ULYaf@qgy7WXnL_`!7hc zWJ%tcIrE+G^o4~vs(2b-Hp@fM8JNeZtd;XkWm-dwFZEd10vcZ(Sb#3(7+Uh+TUG^T zjC!4WL}<|7wYob~$kX)L;sFPraKjauG%V{T!tIr>OPTMMH2YglY#_pYu(3#fJm z|BJMo&k_S39E7+T>3>TuIP9%=7RA}fHm2TlA`ATreOasPdc$5{&1SQvdG=8LdD{m`S}+WqNy~Nf@mZVSq#qF()OXGFyZP<0n_Hx%_Svvyx_<^8UP${pQf!(xOLNSQ z8=J*5%5qD5H;J6aJNbOsGNgUp5^ds7E? zD%0)Y{}uoQ!!`+WFyBdt5L58PT%9HAlhlw>?vvY-2gDk3y6kFH?rd-t%gPkOzCJ&z z!Cj@ClZh_crmYL#LZ38Vkfg9)0ZNX+Z3Kzv86n}bf9#mJTfykcka1!b2GJ# z8_R~8XcoPW=M2xT{5s90C)NRODj<*fr=T}UT{DT3fM1H7J!2naqPtu`x>E`i(#bLk zbSXRbdnn3e#X|mmrZ;j%EVLjr1U@pqnm|Y9cQd~kaEGu?7*6uxqn>DXj*Ok7(8xCH zRnY;RGT_N|6i9`ryW1l|6}}q%j6$~YZk_VksrmUDyI%e-U$N2kC{C%jXbaWhQmgF) zeEX+w1!JaMft(+b>g47Dn=amXek5clgU%YO$8bx2jNga&I$cRs`|9anPC{pNn7c$e zdFSM=Mo;%UB`yy1J&(;i{$g=(6++vX@;HnJgMCU&*D!LqZ zp~-U0ZV6`tN*uhVi?Kd zwv){VF(Ypo<_#a0GSk4Shm15};v}9+KlHrS@Y39;)9OG(Gt+A>i0aCdGC_ZTF0U=z zte=%AE;yuCKR>u|ZS|9nTzO?*U*F2hSFT&P^74@lT3@@nU>bjAH5y+2^wUq#DuV)V zvs%9ts)hyELSX$ndelHT4RtI=1d zoD#{;-lfny(mOdxUELX*{z*(}SkI0IJ!JtQFFO&b8*%U9CJwy(^4o7ueg63ymQb+7 zRJGpfOa=4oWyj`G)!LWmUtjCUl|fH0-8Ff?zOB7#{rbq5OfJzk2^GR@i?P>H=HvIWbCAZ4k$_FYoVgMAZFovzl&izZwSIsSMaeKChW zCQ}qqMSs6bZ0rkm`-eR0Y-4k{zzgkkhWy>ZK5hKH{DqW|lIcc8dexn?L!Qzz9<>x( z=A8bSq1l_wZb4I1jtOT&#O+(%Kw%--BMI=t-Si`LUY6x#21cf*!%_zBR;JHo0`43v zElHO59iKeRlVz%>motS$Vtg7Dk|YZvZYP^KfNPB;`$HuXw3#Efbnz_{EhBLo!mtR{ zgdGN#NxrREnU81}Vm&K;?3tbLyqNyj>~#ieoxu`?u%{>37OGILQVGw!OR0JUI*6jk z5ZX3^-yRx5juHH)p`qW5{N-GiaMOjCFb_JscVXR~mZ{d#94jTSudG>z`{RYp33Rcc z)`k4|QxTXYuiNqsd8RyL{HW2Z>fVVE_|8S(W-x7#!*5<3DFl@Y60JY!L441{-vPaJ`Gd?E2lLPy~?kV^{% zm=AFZPUZ$P{CZLNfPI6gp2}TOGj2%^NxeV}m6K4AHL<8glH{cHm}xo@q!|+>=}BP)oR8 z#dI-B{rNd~{(4Xm5S{6%o}T{q$ZW^TBWKKCA~|z@rh2xea7)Tl!WDC+GcZVcBsPv7 z9FLDgM`PpBQI&iU&dd!nc5kJ1SrKMhSp%FIbKBJ!mm*on|Mp^mDMCkWlHEcY#gkKp z*eXoRii$ybC%(Su`&!NgGB=t90CW%ZmrH^y)(k5PSCx@Elm%-90)A>71RN zlh$AiM)!zrweeiGXy>aO4y62CmhF*ye+JGKKAXk*hmu7XT@p~t+8d0H2id5cui;tw zas}Pd*4EwG<`mS`CJKE*D_5!?<*7vdp>g!^cx*IpG&Wk?pBNn&7)|sS8(MxjrD%>X zobzbgP&ZYq_|fddt=QGQ>MZ-H%n`lWY7(v-Ewj7E&UL8!Y^gzGow2hL9Kc$r+9$cu zU7%yGp`)MVVh8D^rnv*I9UM4QO%q~3@THZVj<1vl&rqbEQgu;GpVPV5oAioaZs z9!3{bx7Jpu*Q@M0eC*Dh)W99MZYNUQaqRc$zy0aRk@+J>=qTQZHS`&2SyLm6&7Tlk zy{PdU(kx^wCkH_d*6NijYgd()f*Sx{Sv$zWwGex#gLz|_Dim_N7o)@+Courv=H?L~ zhAY76Lq^#HXCVGCP*j|y@ z=zGYltMW7(ZcDHA=z??i^F=1et<)jIW11Sbk1^*pKBW#TY{0KPl3d2|5MZp#{;TnNN3dvijpQ7myzCZl}z4iEs%9L=J=Ln)Jo+b-vBnvs#fv@or*P%B# z+B}ofW37w~4%W-12uX}OlQO0PUf2QhcrERPb&~m=WI|faX=}_tA9HjW_yREn%1E4p z3~rMF$C=f|h_o`1@I`3_>HK0HEN**so7bT&6S#HwU%_qd-rSs-=H|TYwkBg~QDYvI z+PNcj7dYGQ-bIb?#Hn3Ky_5Fhr_)c-8`9dA8aBn9;UijWL3ieMnmta)}ibt?RMmFG&-Howx79c9Z+*}9ql{q48g1Qf8RB7f{?Shlovsc zc!?j!0kf9Rag4zce!hkrVRd`FR5f5XtMO;Mc2kr0;M8uUxX1LDyaHDPR|7Tl>c9T= zsi*Yg9qeh8GtTeX^y^>$h4$fR(@&CxHrI1lylIKqif(<_15b+=9&9s}l!*}dH;iB|apjIW`VX4;n)S5*pzIIQe?f0<>4Hpkgxk{P>#>9^^% z`0(>Vcsk)N{kF-0t_}XYr_9ntqimh9maMB2&hBd34}H$PV6#LZFPhAn$bw-Uuo#lI z2mdi^%J^X+oB6*YCpk?L;-p^3LpFWM9NGp((+bN1`UZbw;3M~M(D_wurFQiSxkZCN z-L;pRxffUMMY4PG=HLI`FlkeDeoSw~_v7Dsh9Uz45eX$sOB<@8oTH0xvY}gl3kT(G zBbN>vNX{G&Fn$lno#!;Ui~bPGe+Lrbb!J{G!v-0aL2v}UhCiM|kD=|A9VJP1WyoW} z9|P*m?ZZ|3kaQpZ@J+0|XYSi???HO}Hz?hH0svucTHlsp(cE4hMVlRH=aWRH8p$ig zj~_q2H{9{oAdw#d?DKBGIdVsI(Er-DOpYK=VA)Lptn+xi8JAy1F)dwn=CZ(XaN~9} zWsfs`I2l-b9BnVGmhp>{3P+>Vrox}xvzMCRi!1gb#oi_yK(Eb$S2GK*p={}Q;UYYm zehDsupt=gNA$OQ-51^Z#^m>uk+v4;2{Wye5HZuTyQ#G+?d!T3UH6R~FC-dcr-LNF} zKtoS~Zj8CS#LQ*Hp2#*aa8H`InNx6o2fdWU1f#U*octP3hkWuJX?4w1DvQ}mWH5q3E@ch{t^eDQhq$XOZ(G^In zTKvh*dzkxt4^r$-zxU8P?~J|u_JcSFJ%jT{iLFcr@M9od8`Hd0rKpGI=xt~Z9Fo`D zz=+mOwa%tMpvhTld%888k*{9Rqd)%6>(AWfveV>?(KC$W@B1sD$$em^YD26IG7m_i zG%065uj7xW!B{xAqBU5iG^M0A9sc;%{nXR}+^`>U4%pLgxOd9gQ;HYy&S0=R7(721 zgcUrH{sS-}No$Hj^SfAFxWhX$cbMo*Z0YPo_8g@ug5PQMb)&#m7LsjPJ&EyOCt~FOMHTKHXyWR^(OL;p)GUJ`9H= zZA!6$1ko%5Qdo=BYN=variHnQxJGGG%SvdA8y!CEhNpqNJLYs&x!ntAS{?aDtzFJw z?;h~`#!thq_V2Ishndf!-UQ8)QJchh3q%nF?mKb_3I`7G%T1s=FRJX!HEWValLmje z>rSfwR$Ox@(%kAA&n|Gq)FG`-b!99+KTq9)3h?fC4jdRea^!=#aXOBlNk2rNn`Sjt z0veA9^%nH2$4IOCCKo)|kXw-8_JRLZ>#hyCja{yGe@iIT;%|2WMt6We?0PzK+8W83 zEB-xgNLvKvWf9AIs)MREOWgogk3xuuGgW*$<1mY@Qu$5GzWnKv?Cd> zjmM5Q2Y%NE-ef-Ln|<^RbT(+oa){()SbI0jUL68`nPD*}Ph;^6PJ&|w5eXK;|KOuy z^eD6L|8f_>=mqZtoSm8whIfDMkA+)g?JAYxm%n`T&7ZOayoA5UbYKIzpsJMrR?dRQ z^8&gszb?B~tuK}l^JLdu)X?p?`Yxoo9dD4z&J3@dfTtCNUj)f*I;!4Z6Qp_UMt!$G zeF#|l>lSf|XH5+?pO)6u2%*!6*^cgeh`2ZF?C`vykU3TbYY1l-fKDKs-F4cTE={QV z{<$(1)^|}Knqq;R5)TuRSrXjmLLvjvX^RK@(KH8lQ+*0%JsYeXH>g0s-S@yEiiSM3t+$M>PS>p~HqPN6ePMbVbws-hA-^@~^TyAP*l(6&;f-G~2i06n%Zea!*H%E!;E;@aw5 zHyuc;5+w%FO0ms}E)R71d()F~YgyWnNE>3=cPmKoIK zxS3tdl<{b_9N05pm`KsSfX+WsTM<=O%Kaz+x4JIu)dbvTCI0A+d#S1Yxc*)w+<*H; z_^KUi)@(-YTNW1Z?077S@-GoOarrO&@(`Zm)OsL zxw;w5$~f&IH(3pfBgzTz8CIIP&>-fSf*K$PpAxI)!jguXgsQ>pF#vb<$<&AhCEeb-z>Mo zS3u9OX*lcuuT?`E>!s$|;R^6N?3)cI>HIohjx12`Z|&yu!+Gvt4i8$kK(EHi zQD5_lZRn#9We#0&U9K;c--!>3O;R>HH^+v`D`XxHY}4=3kJ0PW>b7#hfY|IrhaR%R z1AUvF&h&5Npcb1d_{~~tvpFIY>y!;rjfn3v7}?F_ zuToZyX(KC5A<229sSL64?t}9ucj%N2k%WGfge`o3kA9fe!OR{;B7i1;P^jTAjfYiOO`-cwGwu}0U+IpjMClZ=HMVJNO3+(Z)>7US-rom)jQS3pU-HU#IFF3^(cM`uL;44_k zy1HDOwV3BMs;@QF)rB2~%500OnJ18=5^o@&fQj4@m$kr0TNMpLu_fC4KP;ojC9ega zBd>sOQ)`-=15V>K^dSS;;xMvxEy$LU@f>D2N|qZuG|T-ous4hLr$(zhO-m7Nllk7v ztz$^2M*Dpm5Ir3l%<+e&(02US(s1YeV0%*n>hQOh)z{?9>jF+wKoc8r`^!^B4Sgg1 z{p}9?!5#Ng8;{`1`w{=h4Y?2OZVTr;KyScD@I%#|edXnSxe=;2t!qy4diWksf3`Mf z_m!nNsoFX6cQsa|c!6;4cJhws-d^xWT?78${Kb1y2l;VbS^aQ-$aST$5lCU2% znoZsxijJGo_Y0E{O@UWZqe=F6+DFN_JK8WNTtHx{_&5`@83{i)bR0(bI-0> z17mAmSOZQeb7vKs;`GF7>rD|+C*N!Q##nAiKL9)M-d>_$VF!SCI9=#2OS$nIm%fBT zCWz$sL0F&BCo7;I9PzzHz^7RNQcwYNC`rC(JH!q%Yi2G4BhVnmUaXavv+=@Y{m0qq}nVf`^23r!)4yYxuyCG);_J}ACh@64j2)-QCEDw~yZYmTUv^tEngh_|q{u8sP7)SnhWr8Ig4370!R?Bv zX~?~V2`KDJ~oXWM`vgY;;y7!DH~JS*7Z8;dh}1^9v;0v@#xQdCb8X&|9;$m_B7>3!gU?+KjGbLGAjLVJjMd2nRWZM$572r1>A`YM}7|0b(eHV3oXuD8l*Va@EB$S#;)2gddss+$FL%#p zTPu6ZRMA*&jRQ&Xmq7)0|rTbD$_+ z|66UXu(7CmmZVnTsxZmEyp>^bDRRN^c4H)->$8qo`Ye{r-D(AX|1-LTiI8RNx@IP4 zmsmhcZ0oeR8Cf;6bmm*M_SV~X?I$71A|))&X|hdU2Y>+Zv)2axkNm|rd%d5LqZER1|7vulnt=Yj6m7rLpEDN&&WkOXk z^y9b4(dwIsoD`9Fc#~X2S@E}4=jKMW_DUA(GHb8ZO72-F_|6DtTW{m(78m^ZVD~H*KY-L^Y(v;1#vBB_#1K6Aj93O-Vi&;I;8U-b>&+0Jq!w%e z@EJY=A^xUdZd92n1EBffj)T;?BS+F#9z?RrGAQ`K+)|5VeB1~v*11Y!DGFX;HVr6J z;XGZRh36_h@h6%N+(a&4PXZ=k;bYGMNepcI`7&>7bvd7M`EMkSl!vhFlp8^-zx@ zrX@lO?AI>vRbLCd;grX|mzf$@i3zra#Da!;<2RMQaW#ZppiYGJZ zMMRPO2V47JqD>&aL{g!Y8@w1?E?Dl+jliB{9AAWs0HJ{24MNQ&J`OLXLg(v>^KE9K zN|No6+TCg;D=#~QUsN|mrqKELZ*CVdYwaN}3fv)x25j80E-8=md2ET>g8y>I5o+^8 zICTVZ9{Nz?l-C7q`W@O4sn|9vL;@cE0-+ce$@Co7TVg>iPYi8b8a@1a^i#RA+(9SP zsIbhyLfiz!F5<|vlxavi+UZ(J@AxvE4o>u)<4{q}97!Xs_3@?#w&Z%0w9P}ItIY6} zlKuaZ?}X_tQK>|thKW5}?e<_^};{3_fZJZQqLgtw037i=mn&yXN`%L(R6vM;pXc8AA zrv|7&{3v8dA`@r;*{21#4p}`-eyHfpn{_@5-t}k>?_Kw{?UgoN{y)(+ZDGQeZG03;z9WNaeNa2Y_jiS#B&O&|FP zf(*YDKG$XuPcEESjPzmSl79-m3I!I>Mj9ZSw)sO+d3lU0Fh$uOw?x+6;saftM@tKw z2J1a`vkc}&Zqw%Hn#@{RNM!><;?6_VI*9rlI)sFW@N5xVAi&3Z-725kppuImCW%(5 z;_?e5DJVY=2vkXwrwY4*{F{==^DI@`1kHLdnM?*{(Vj4(OZ-}uUZkhhm2%m(!L8w< zCddu=w}4-cUo7rHuQy+nlOLw;N-Gj2Mw->hbGp$VZ)3at|-q(53aOpf6q*#6WML-Jl;& z<$f%6on8qDL_EKls6vK~W(spoCkI4P(#y#uxCWO<=3+pFkXAx2)XUr8K}vTFjtC5x z_b0)%eu2I)?udJphDsGgOW(ii2({%fEFM@F@S?CJ?BFM0Qtz>}K-ePWehFnCUQEVRFxH-`y1=m5CpU z?Nf{L3RuC2Bgm+h&;@Nq=ub*N5qjnuhy_SeQ=m%&XQ}N12rcQlKr|i+Nf34c1eJWk z{26{7=j87r{%IzJ!9{P9J$(e7uTI1gb<%>kU4uWo>kzg6K3sAL$?m($3vMBW*y>Vf zt!jl_YP0E_GQPv?p`;dlt4SjlIrVK^nXbEZ9c5oz(XF$1LilZk$$i%A9kQAZzS@47 zk*^b4y&C>8*<~V~-Rzc$9emX@3ca6_In*Ajl_L`=crGLD{VIJvIChQsWfozj5C#3{ z@7EH}mQUWLH*rH8wVLa4DpYQnTrRSk%@&owy4CJNVx8rMGP@31S=(w+JByQWIIF8I zp{Nx9E95~>nU%__Dxa}xLZpRR-YV#Y>~d;E&EoM%f!gG-$Ye&5=I63A&0Yj;5w=)N z4mONe6cARJ@mUg^y$w8Bge_;{E#BXH?pPsurf8z*T{ z#wO&C@D{ifP9!i5SzF6SRTPAN3X1c!DZ9^tFU}YIv3!f${Y0cZQK2YEY7{TN`01yQ zQOS+v>fM_+BU9yV8rQqf32cfQwT_y*5~E$|(&7}faTNF?RJKRd6~4H8hc%Vt4+sr< z$w0U}l8svHYttI)rJscqhKnNyfw<9t!Mo_IU_KZtP?EqgohdtL!Pg4_{-F4Sbr^Cf57~jrgA#(`T7CFkoVNdl~&FE;&Sc|v4 zFjkazVYR{&A9&@>-u23C|Jg{F=1@<7@1Pm%n;YpthQ}}WH?7FZQZl^ddxwTjoneye zC1jJCRR(tr4u&|KAoqlv7da{T3Za#RW-=|?nJf15=tNV&ihonh`qF}ugsLFwb7LiX zLLTtzbHonlpq(dZjm!nuP3|2dA3cjce)@0e+n`X%I{%y5+273fL0fPOPf*}gUrrB( zCYnq8xamY`wVl^3a0Os!}C$#@^@6|AY+vrc$Ru?9$W^q#BYG# zg%Q+RV?}s9$Sn==-(S%W!(2=uWP-T?iQwP>pg|5{B}7+dq?2GaxDl7e_)>4b{r39T zUR#f!Z4J4rQ}&>04eI%^F%;>T4@fA^dh9`Otw*I-zfd_>+&s*lz$d^=|Eb3p94z<< z%emy=ZGwEp0}x}A06Pl7zkB+>#fDcwJm8)s4eg9mAZ=uXFr-+Z+uO1|HFaK_d;{vC zq<5q`19>ieW5RCw)0Nrb&gr1Qp{E{xu6(|zrH9ppzoNIwH>I!dtb_mtXOq<8q-rC!Ve9w~3aEy*=%|L}*O;NPHEAESfo-m0E2Yh1yF3i1};aPi-dABQZ^ zD>mS-8jFM*#AfS<8|Kd6bjDtYMv)q(7MNN4Te=!D`h#GH7sG1<(K1^*FMQ+ZV`l%fOMA}c zzb<`-O;`W8s6G+V6#6XM=bu?=Z*bN1hw;zRH-Avz-7P^!qFV3KX^loh zN9)uqdTs82;X3?$V~KDvK#H2IDz(7g0nX3d zXWP2`)8Q4Nh*&97iPFs%TyV`bmket1R+U5&W#|k}z{+2J=@}LE8tP9axk^(xez+O` zKG-$cQ6pHzQz~-qYO}oEq}x{n=+{pLu2$KhP3%m$sN~;(3HBE-`gB zjq5eYH8MLqOx=Z}_yc4@FWq+CA1mgIyIVMAuTkI5rEd&4S4@0`1#EQo$MArxG=ksq zH}HCV;PKCb+IeD`W^VnG5Woc^IK*Y-o!Mz9{`3Md&s+j#^I`XirUk?OlHRLoj5$i9 z)L>JDRy20ZqZq^%(Qwh`YZcrzViA&bo7Uc9k*F;ijl?(Qm~+qjcl)#}4ILI}`*`GF zk%nfi<5srM{yxp3SFeAfbOy4FuKV4F&LqDnz9GF(C(^PJYYk7MDgI=wW6f73`pHC~ z@X-*&f_M?`;!3TWa>7!r@h83SOsAua34VB5q>Gp;Y69(+$rC%CPvJoMZjiK zInHfrE^bojX^#T(Q4Cg?_hyk1wE9X@y<92}VH6gjID3pVk|~0d2tF zJg8JtmH0UI>o?9{-Q7mB^WLVn;O9)fl7!4zwW2W(4}ll+XJ{ahYAK)l(Wa(K-kbpc z)*JLp6nug?>@)Z7g?zWB6OV$-TVYKaI2(7CAG)AMLE09Po(r%E%V2{0upnS1jFy4d zzog5Tj108C+3Sv_EP4UFVoElTpZ-UiR%VuZJm|Jnf0&w@U$ts}ingwKrE)_-TRX*# zKTD4t-$mCPe=sM9`UFeZ4xe`_DSiL__wl_SzyoZt?!;lhonFW~%Z42WXT!fXq9&Oo6YKP>o@fEPNDVAU%6bXhS z=8l40MMjfjX1XP8L;5!=HWYQXA#Tl^^hEj^mu+Cf7Z?hk(9Yaw4UKoY6S@BBOD=&m zHk`N>X6Mv`7AsoJB?Xq{I!%)$0a!qrkvAYs40$BJU=G1xhZo|&1Qf^}Va|+`!3I!l za7{=urFL-+0mvp@zpY^OBEM_vWXU;aE1%Om`p`p9J~{jT`%gXf5nM)Zz-q@E3sY*X zR5Fc1bzawGPeYGQPL)kgzBEnEPAJ_Xw_YrvDJsV?ZyT#gj^@tfP1SuK7!N@2u9bl= zocyMOoCqh@L9^EU(sS8qV;CZ>9-E<~*h3vVs#gJ%I>($1~=ir%vDYU!Gi!itsi zpI{LOjlG2rhc+gg&z(ZS(YX~Z7s6|&vPyv?zXtXF#gLVr6>^^Rd^2ngy=uoxf8`eM`Klr7!)tHV|s;Hc0=zA$Qg2%Xhi0_}#LNIXaVAoG5kqstx?P*Q(a%w|4Q$U#17AF^}tU`&Q*&yy}e?yd7Qm!iAjjTY9ED!ak(g zqLaaTnom3e9M%pPmyxr@+9qI(ixi%bEYRU6jj~0XMeXt~0yX-M<$^*UM;?s)ldeKm z)Rj)(oPPG%7b*1HSJKsz5(K}VE%iCJH4e!$v3+bmCW@Z{@ z>d@y{SvOPIIyU)tOmWdI0|Nt(_rjC87YFFa=_2M{gaD0+4Mw;kNdzOR5wv9HUbs)u zak2zrg)H(B@+|xA*i?CPe0T+>?jmZab#_Ck3EKOsPej^DVISphkP3}UDfS6 zs9jfD?i^V_f14u#GkAM*b~d;07cg@odC^6)L$6k>DQj=xc6~;VrLVVIM$b5g*<5sM zymUi)5_;obWS_e9Qs!PaoVX1z&Bj#P7A&ILVkfxFgav2jj*v=Z#yDIgg^4)pJ77k( z{gk={E)1awc!S?gQOfL4S3I0RvM(xzC&g$0y}M4VgoI3lO@(zbgG9U*g;QP+x*`o_ zXC7Zohem+%)9Lgr>K3)%uL#Bu^PiZV@D9{cT&h0(%L}y4d%a#!9R|AOG|Gpfy3az{oezOE-9#S)2!C7>9y;z(B&ALe;>?Jlw4>J zCN9$1Cha!Eq%YUE)ot(hruUVUwuEP_xvio0`CN}l<(uD7rzq4Rt20~bNwfl|u08Pp z^j0qcv=@UMXDU82GVEs7uZ3tYUkXeLYaw8eA2bz(&dmtfzGXRxjo(@s>M0=x| z&}vs#_iD7yxy{vbW7I0MtbcVKR6`^MidYV4N1ZOt7FN~tu0qc0kbLio&Y{PD-IE>e zkiSaJdd|+RS+`E$+u>-qF%NGQXz;y|x!wd-5G#Dqf|QFp$7`7!Id=R6y|Cfsx~enx zK5z!Bvtvce!c8}Uc*BWTK>T|b*u;`71+XS-RxVQ^w%kr9w-M&lGDQqoOBix06OZ9g zgdd_z4IetE#p^3-bZF&ZYi6SluxTAa_yj&qbDJ85)W(C9E?JW-QE7|RMiqW~ExHFk zjS8rTUMkyA+}+BB(Cr!c%gLJbw;h8sf58$iir}jHV#zq0XEbZ?LAT`RkH(?so!D}% z5TiXxH-Nk*NJqj`7?|O81U{G@CuhVY4l#O_sI&~%N|L!>Ntjklh)5>+<2&R8B|I>0 z&!AJQ^=4ILS@$do%i{yOHD+WkZRlR>y?1iWjsDqQli6x6eaKft7Ea ze&(6^mtH!G{!qNSxVsIiklpT~xv$eadUQ=Zv@u5;nQ4rgf@nB=?qq(4_WsOKzEMLEHhEl1e2k zZ<$%nu&<0o4t?g{f5CEQ0AF3_aU~jTIzpDt)P#Kv-9ovP+KJt0;RNI{?K&2($SGFG z{07YjA8f)$(KmNe-wX~`>xb)KFWpey)y%K`fSyfX6AXri@;=90NFRUll~=lh_)jAZ zm3hJmk>2PZ(ZvP_8T+Xm@_7!>J#dRmka11=f57g?yo+2S{vC!yt`?|c;&o)h!9s`z zlr(%1&JiqgfEI}NFp8WUBl>Lq9hq!{QS{^jZp^DO2IO-HCIs2nxIB&HLWfn2o@=r@ zn)Ja~UUu(hkGp!bpxDS+p!uev*U`84-+C*xrS?~$kgCr0%W7To?rJyYIS+- zaKY!8MYAZM_c<18EsMpisOaoyD4$#3$16(AWTX1|`3jq>_Y3 z2_`V?e$j`2nz|;K05VFvrbGZU%sBG}_)++|WxR@dCcL9PbymYn$F|D;%Oiynpxzi4v9l~q7ebN{H2#>UU?;7JH(StRawI_Z8gqUIh`dPS`8ZLxH>u7zxp^r zXO4^)Uf-k1ak`7jigR+?S~$IFddvDZn#!xsuTkY0dS0C$9Gw4Td{*y`PIY+04rlCP zKg^IV0Yy*v6(=hNvCm%sA29&C%3IQpCnNexQ6J(LC&v}1GKjcHBh?&6alq+npq}V- zvw#isj93fk$CR|NI^a_&aur4;J|y+}hJ$XgLy;HLT2xcWQ`<1iX8Rm_1f0Jra=SqrSsNd+on>4hzth!69 zp{~*tDuxRnu$L$Y*O?DWK?B`}sI-1cVS&yiJRqrcxz09sywmz%g@ZeZzoA#HyJ*wl zzU!j1a>=Tk(TF8RNynX&wH512(LI|Ar}E8>DrfA>WcnZ3wuymHu#$(G!wn){bRO+L;^JoXlvn{n1b@;DRQ!CI8sZS9fKb6j0n-M za%AF|#}U^-=}fBGrz`!LMr!_b0wRAViv&SJfrLHJ8uZ1=YeKozPaw9??i?|f`=v?| zSICj1Z}-}jxe=>gHjFguwUnTywnL>p^wn4Wm6b;lU8z_ok0+}v?Xl|wX7*Z^P2kS< z`L0Q;<}XE;`NOHg?7VrN?1quf9kzvg>%&olZ5XMm)|VHi?A(qty>$bogYKbehB~+6 zCswV6d&Px&brAdo!+?(oCeG9eefBQ~H1RSHFs+8^k`A&2nvK+yfIuzVL64VWh{uw( zrY25e?-G!LdC6c4h$2yxP@V9-ALlOqGsM@K`8Q5(x0n1hI!ADpK{jTQQWs@=@*}N| z%LKh{$PX7tBB4ksTdm%5so|V4rEXVFl~bz%*-iOvXXz-e%Td##)uLT;Sye$@Ng0fG zG8)A)?rN5hEslmFm0_LvvRfRNY}YD(BHkjEjBu=jZ8@cdy2nN1!O{`8#UT)JME@44 zT8gN~F>$KEIP7Cl61SnrS{RUy3X&{q%ofejSS9L^u~+LfhH$Eyy9y!$8`r;BySc{e zHt{6U{=82xw8}+y>Ok+7dd(a@tx&n}kUB@61D(mF=A>)N5OoLSDt;(u!H2ZXQ&j!xxvqI+s&JQw9mR_P0SPUWgBx8KDAAu(^2Bu#=e!vY4SIyX0(t} zQ^$wo7<34~pc0|poSuQn^vBT@T_5tf!DoMjr0ISWE~yI*IFp6eQH9&-$%Z~~oEe_Y zz>)M$e{uXXdi$F8oXts7d`u#xr1%+|ytgcFQ+!tS1*>s;YHd-r9#wffP)&Ry%Wboh zN?DRS_y)v6$z+svxXqBY%myJ-FX^_-Jtq1qgPDX$X6$V4lD7*M4a8Cj^bE==Nk$8? z9-vA%>!e%JoiP|FKt+H`n4ol7S(9E=P#4WnR+i*6{-TaOc2rnva=k{J<-1!h*1+pBbCDcmP`g^T53Z_^5k5`84K7^FQVUmAF2DUVH2 zzP=7sb$7Jz`$Fb1%S?s5wy2}Lh+F#=y)gMk>BeFeKc`vDk2@y}z9BzS2y*a=p=Lu) z<46UyBM?X*uL#d4KF54+ny<=sBoY_~*t=v!VIJde-4A-C7X0xAuwTTsVr*dG|Df#^ zS}wVqj70#K5#$HnE$!msB_<33%m&a4tdjueCdL+g1=t;c=VFpejE+sGzn+|(nLXRy zr!3Z&ZELPw*Q+Zt_g96D8b3c#Zn1&hj5PWbo%4Z}3x}cxRr*Q|Eox{UGMLcgEvl%b z*KfaJP!Vs$=6bEX7FBT6#(Rtd4V!@y|;(8(&} zsU@`!8CDBR0oXZ3=NY+SOwNoJjgg+O(9Ok8gTon6~d#cTUJy>2%Bt<50fj*WkfDcR=)Wr$87yA{^^4d zS|oa|`ozsJBc&fI3q9cVNHG1PNhijWE;Aqqz+T_0dSYaw-vB=?in zgqb5w!dHoqEc3vje{h67PfI16REk%IC2f6+qF4~$$II{ z1qCS$w{nH;|85eDiJA3iF2E%M~B&HRPi8N-F=gQ7O&-G*D z0j0qK*|5N)4$x1-euSV?RPD*yAI1-t@x&3UIl};%1_QtqNv|l70}yf8DIoV5yWk{s zT&B{%(#iZNNpK;5B;9K1rxW+@op^KN#>+3iiwfkA1_RQM`Kt9CK3l?h>%IHaZ^dft z8pRmWS2UibN1SYHWt&NbSa86*HSaI#PL{=~M*O+~GZobFHPiB;)uY(_Ds53V!hUVdB5QLtx)ZJ$P?pY~0l z6*c6!nQeoV0zSkX_raYezJ$cd&N`idb&yL=Jp0Rn*6tWH%W6rWlLY?AStq=p5t+kg zjB?iEMbHx8897(dJR;*H=WsLW8$d?@0MXg;3YT8B3I!Y7UbOJMimQ+3#%q+N5vQ3; zRdcLtUX{iorf?G_e25Gp!}(l(Q{#Znh;F%*dGJdL3$L38341DSvjhgW@wz$UdpqEC z|3z<{`E&95k`340nk>`{CInWmNUI-^YSl$UEq#<`B07>Y@^)+g)G^G5p_$J|qgUo! z8O1loE=-C`E)Aos`e{Y?plD%=vythW#D@6c1N1(+7`$y>@V68&l}{k*aHUE6cQ6KF zMW6u~(PylQ48{={B;@uaI4~>@3Ro8X*Z>Gx&>nD8n0lx~X(oV7^DjmDnW@G3X@$ti+me(6g%Q>>a<8v+FY(2sSaKJ?K=F}T<+!^pRLDs z>7@|%y#&2jIP0X>aV+Y!N_pOtXR^>CtCn7{`yT%o}pYLT8nQtXsW%gyh^=OIE5_pT3XOl+h&oWZEI2e`q$S^tzSPO zRor?`yxf#)ROUI1>X#C#-25JGJ=#2nO1VK~aFG7W4*X%Mqr@U*!_>&%y-O5_IK5m=W$qL&{y8>kaqav?k*p30fClm0AJUG zbRT$TYoJ2C7iz?oItzonK*D3o6E9%p88;;C0f+%vKhYOUh?;>@cz+tALMq8g*;10r z20uw~h1@wVd?df;WU|v0`wqAwCbvYPm5I7K>-%oM@y7kG-0?iumoomWO8WAv`$D1g zJFzOWQ8|t*wLVurhaK?Lbvb2t|Ml1J?T2S?{olKOQQz5x*4pti@i4c8t5&n;=FUOa z+v^+^_dL7Vx9O=nP)ks$4f#9Wvvv5z7B0csvC%iHSC_=wLPN<DZO23MJhYhn6suNIXNLPpS^PI!LLRNc>5-gwrC&Mc!$N6Hueg0huSjak?WA&<4mR zp&@7{ugt3!!x(@Dj~ng0CH>+}H&F4rhYJdDnI3_$(IEr=UsUwdf*Xp9w__37DI2%8 z8~f~~BY8zR*$TH`ulZ4B=!}N$qF$=&-bQZuC-lPft7V%~=*EBjD>*Wf#7R5ok)c(8 z!(s>?udasYiJqR#)82tdcw)Oyw~5CW_~p8*2KYJev4;>%qo)oUR7{F6nlk z#WYv}p3KNI6I{qhIN?=9U;#NZ76zkln7snE0{5KoYz8mA1Rn|aA|J`f1s4#BB}j$5 z;w1HlntSXcJ0kAOHn?Xt>5u-Idi?QM=S0%cTdPgA4L)bA!m9>T!(N_@jzz{xz10Od z6?aVPW?%jFuc)}s@wNufw7MZbx6VGNPP%(7@~&VP+=aqIPiNJu zl^aT$o7vUJ=+)L_NzuhmK6zm(r?fg+P|)85-zK;87CFq3>EaJD3_zZ1vIk*51b~_Q z>6amorV4iC6b7t=Nqpxs)+dv}L>BLXP~|e0QWDe)tP;FVKp%b(TLBd{TJ3ifHALW- z_6FqXd)Nwo0xvi%$@n&+dgv{RC{5|Y*&(GOR1}_&X#_g0z@S2Okvv-uQBN2;R=?)? z=ihp3p4V*yp3@%+Nb8D|V}Ewrpf z^(+a{ZV^=0Q2zX@)+vS1sgxF~isG6=lbypJpjkc?b9dL&bpJof z-UG0$>UtdZeX=E6vi9D4Pg{~@%X@FjBX+#^wrpolR!Bk_34ss@5LQ_M!VF~wG9h6@ z8Ko_wrG-Kn1q%HE1wFoV-;*7O(*F5w^875xvUSfrds@jC4W${Ja8|4QnkHsHc>Lxj z|4F0j^FJoR)^4%Gs={A3SW+|OZ>zI4?3UE6&Oy5|Fl)y!F9w)D%E$u`U>VdZ zw*e;NS;n);xfY`WOu?cX^ccvIVbX1ruo4U3V$lws8qoS#!Jjy|p^pS5^WgyK zA0`(0FnI9kLK|qRf`t~?%^1$`7vKTotO8L+q`+(tX*EhID~sbOGIBWNHg+Vt&7UPh zKE6D+P?50)m5lNxDvbjB2;D)g zwJ`}Ol}N!P|AJ6KI{D-WQdx;i^p2NP%hdBW^D?Vgd=%MsVOd^!A6u!GTjw<0hT`Iy zi2O z5@e&NBm6O`WTE14c(0Zh{B_kJzrW(dmKMHeoBP9#DfaR)%nO*n3+{q^!~T@2tuo0{a;{r<|(Qq*#EIHZ1Vhh0JB(9q`cDTXev;KTO_P(pVutV8Kt5D z1yfe%l!(9;R--qjt@inuTQ_rynO#hxm%(fa>LX;{m&cF4xJn}I6Ka`dZfUP;)0$txDeqt=k$lc%%# zowkf#whWwE%#Omee)4O^ipf6&J3Tr`7fx3-W+Hc0gs9Gq8pAE-ddo7OUT==_tDLUN zWtMt#OCacN_G^QX!#DYNQpA!6tl9~cJ}+YAS_7OlMwMA{N~negD_K-N<^7D45IZiV z>#>vk8PpFzQ%bae2m-zgSJLC{vzhJqz*<^nExS z2GO|Q*%xw}S^?U#D5!=dx6{R5f>IFRv|k`>OJcYc60*c6|KIGl|4~ zo?@w7A{WZUI#)sc2+GVi8{U*;3`;nd6+5TR_1X8{;cwH9_$xc@F~{=Oz6yV6UDl(p za)O094VFG#Xt^V1@07+6a}e6`*?TKKOQbPI#@{ZU&PC8yAj?SSncM~QN21`(r~uFQ z!t94L{eg?y#kxJDmb!is=4Pc@LkfDuM=;7wRUB^6wZYB*bsQp#`N85%8ToDM9+vn;~5FRy4E@_V1Ajy7oPnQCJt>cC@v>b&!XyI^Vxs z#4LZ0F~8!C@>K=x)^v2kSjoixG4jeZ1_L;mMc=vlQ=DqF?bgxxYo^M}`^)Z3%Yd9_ zuz~A9-#-jFa3x^*b^#AvO;;-dBrrRp5r)Q@9LzHD6OtJH*aK`n`~2YK04f5|Z}KEXJ_Pa;dj`)^k?3VMG3` zOkKT^CyOpOr#iFytq$Q2ni&=Ewc`i-{h3W!C7FDAXuajKGNosEn()2EUEWfuLePzf zQY*|LsVc2vsnJWPLfWkTD?8NF1?<#-%c+q@5P~!WhEYDO6OBu6%C{Fa8?qG+aj!(| zRXW;KezT@+`<;`4+KoF#QE#n0&%WH=EYg)kbEP72NZV#@H>x$6=C;&UR>Mb(src{8 zR~Ce=hW7QJkZ_FXqc5_no5_D>=Xq^%;8X=>r!5m1%gDLorALK>Yh?g~#kIe)_O(g1bSpw2cd1xp0~BmS|s z)abe*tlnbq?ax!+6uaIj-L^GXZW*_!3kp%QM?!8H{Y1YpQ~ySTwQ=aS#N}3bz`)>V-6=u18m_rDSv^(D}G)wOpv$h2$AHmSUG8Z&?khh?^1Ic5-E5*VYKW9H3 zVu6<_+>*(u*X&FX-H@-0f3Funv)D`TsAIJ{^*_Hb8=lvyOja(~` zimOXo29dbfqF;A3*THuQlxs71Zh=Lhd!oc@v1l)nIMhsghA2aXOzO6Ze0Q*-)@v)z z54b|EtXk8uLQ|(BtAQ9{F)Yy#-(nH?vXzR^a+#0UGOAEO!4*fTA-*M2RYr-xElK=$$KQ(Qcw zgiYnlyas+)H`tUFa6)v=<^Y`2x!^~j(L|X!za)I`#!y}d$ z3Pwu2<7DbZBa}Wn+D>3uWxx;M|7j~lF2{l{f{u56s#tIQd+&|cUH9ide?oo&{{5;P zUJ?1}-`;!gh8xJ=m<^sHm0Z+^n7z<>xK1h}E+t2=AG)Kg?Ap?6%gSbL*^Ppbm`s=Z zg{_)A^bleYjNC$-OlAuO`aKpiydjk+)$T7)w%-BMmyLy{gNkgGf4SIs5L(a_mAn4Jvyg9~_ytu)LoFu!Dh#9NeP z@C?>G;lDAAeSm=JU_97!>{xk%!-+_-I0H`rJOJQg@P#4_2n@i$`XvS}1WDjD;dd=k z2K+@C@Fif(G93PmqyZa>fL{lG1}nBQ&}*@m07kC7mda3jT`+qil;d6gv~_;H_U<$_ z6PmCnGDZ*w2Cc5pllJwAcU`$g1JRgc(aV%VqJPJZT>)i8f)v5c=UNmtA!LuDKU?o- zi8y3J4u@9D=Rv_pC3)zI;i3UvaVnBH>`Jdk<#)a%MWN1AE;mDln@(ja?(zOz1hgY&^Bjr>izv{zq)~8%r8xMyvdjyFt=J&wrb5KRh}pEMp>N{kvJYREJOBr1U@l~pcrG9?iv!GR&XHEIW6 zBIP1=I8CjPIoyQ~r7SbuD=Rc)6yG1^8>^MM++u~K%`u~2E=;TE*)r?6M{~tQ0d(a0XKo-hwT+Xhbz~}Ax$+FFptMmo&<<*;T=`Tg8x5z) zoMmiQPdb-fWoMybhLk(V;~36@11~a{DxtS6C}`u3Bz}L+*D^x_ywfQyWK@dFljn ze9;OiZ(Psaa^-ede^^1U=9z5tMSeN?FV~ug+R@3?$j~9it*`AH2siIOb}cb;=V;}@ z>SN2LWrZC9*>v{o!0f=x0J>^`d}H7_2-T#f1Yu8)Gg={TNqgm!dxGu2&TzFDe7-Oh zrooKs|GkaJ$#dg^4F1-+EnB8hZ!anmkXuT9abb1F=P6`9g0 zC}g^J_Vd}<&pT@_o>S+Rwm4;`xtZa~!O1Cf%`o}9!Dq0)G&MyHv6Mpq|ApG##m{OF zFPaq;OFaYhhsaAt72HbXaC*|xmyx7b8k!KACQDpZ z{29J{odjl9>Nw}@!4vR)zlL7j6Zu4{OVW+V=Q7y&Q9+QsCW9zQyqU@*9{8@Z_MQe_ zeno9iqv*Cx4owU|F8viSsBGXAc5dJ~(+@Kq2Ay)D1KvXr`l<2|qq}yyR{q)A^Uj;xx^yY0nc1*mW+t=d zhA~rVUTsLGX*b1(#s()Q@DBetcxnRnr+_@VC!oe;q1)fW{va_Di=E&ix!5Vs0qy|_ zuLMD;(d69X4|GX@iUK74;!=tj2 zLUW(8xI5lIH83@XuIeZMIPeU8h6;%J-wrZ=DK26jizO=N&iI@_Aj3ndqgE0T?ZAhV zIzFxGOF`Yj{kDN&(`?{&^8F3J4plvo?|Ic%`FOQIa$_wtBwWei2Fa%!`uv!iG$JMg<`Ribj zS366aTy>io=0cs-Wx6VFyK;ifJN7k8AT0IikPt%ly=0a7c}LDAUZSYCH*we42cEx- zVzgBmRV{m-k>pnO!#3+@2FLp+rit)aV}-qab$QvazaZb#9Nt|j(itbYDqe1O{;vng zxBF|kjnnclPc)rt>6#hV%^50SfOMA81B;gH^e|%*Hradv7;S->v&{+pfOFlJlb2uO- zT-ecqF%v#5M#dzUT*@r}V;76~`2@KIKCoj_!8ND4LL*Ka2W{pv*D|;ns4n66REkCv z22Z(Ylq;MS2)os)bM{^c>vg;-Smk{o5V%GUxdB~h5<1VhVKT2_^RBI^Bv&BG@LQ(- ztuNhOrfeviD!HUg?r_;H=3xF{=|J&d8T3H^Q}K;uz(1KO0yvvvfTxC}%))&|m!8f7 zj-JW#0ZHM|K=Y<}Dt%%wO*)C37%TA!9V53+uw~5~LlZLDyi_p7QKz4C#Wq-pzw@+5 z$oCAf-mKPfPU&EO?`E zXzw4Vi}TWRbEl_)Qx24WGC2W$noQUWmIWg4&@9ZLs7^@{)+%NN;$cmFNuDqI3E?7d9~Fx#gDq+pDnF{_ z4Dc)~FWe04>0ww8!W4>@v8`LtCYUCEFs$s$zr9}Tl1yk?YNGWev*ewyOQAv4*6`$z zp(1D4pt7w??h>>A0dfYdn*8ah zZiSURt))8zE^^z1MoLaRR4L;0$t|pbv<%P8DpNo)C00+!Gl#uvFW3l+w6B3k)hrT@ zz`C2f4fV`y-;Oqoj4U4y5ZMmp*vvE}%SCq-3w6G8&m9S`X%W-m9#>a=oMrP3! zA%$*YoP2$ZY(+z}7oRnY_Xr)4Kqol`d6C)_%qy`kcyWLKWhb~79ULjBR`k{}4}r&E zk}Vu9uoK`X@G5BX$sJQF;wkddNqwYGH_leC}9{Lp!*;dTyr{|mEh=C>`6J+CpeF(@ z^z~jqRS@hHhAuM8g-zr5Bkb?LfC%t?L2BTQb zr+mgZE1vXKpvmBjTs6%XkGtbr*1{r-2TVqERZ`PTe0cTMZNpK*uhBL#^Cv6FSE0mi zGG8x|3}s(bt+Vzx+fdP-2Sil`B^9!3N2Z2Hhi3`t@__xkDe||YCua%Bb_MyE1!w&b zob^Iq+MnugxN9hUR9Yrb*bE>3zmh9XKira>uL-9;ge*Q?| zNHiK!21~RvO2xETF)Y!~ZQlSZ@qJ+-${!uQmAnBB-wJiZ|Jp+^Mn@BgJslGfqQ$0d z8tWV%g*D!3E?Lthstp&Fs&a>>2c`xlrU+%Hb0BdQx_MyW#{7Kyl&=8$?bE1v^M`>S zaj7oN)NCLzZX-n_Egj?l z;^(b~b!v!SL~pp$Tk56wrR;`IC81pR_*gS{F4_pJ4)Yrr9H2+wSUrYuE=s{ z7vFieze?BiP@Oc;SeGZu8yuY+86AnEt0v*lPhpb}&Rhd|C8rpTVDsTQUIUbWXC*`= zDJsVfa=dW>5Uu>c*@ONU##!DA2M<3(X-AleFIE1KJdzp#cMhJ9fSm#00RqSY5N&oK z3_d}-5#ZNj+yIoI)I*{l#S%T^4ohCnlv&2li}+&Y>#xhx_n}9_16$di3Q1q41~CeZ zk+MfRk+*t}trkCWG#~3}L!d zV9qP~2fYe(HOB9Z>UPJFpHbz|wV894+npV4#%zvf#3xZ@ch~0FRsHs;&FYla8_M++ z#5Fcs+~qX1h|G<_phTtNE2@+hvtMDY@VnCxAys)@o-YjN>ql@yS|-efzK?Ma)b!!{ z(}9!`h_lZmxn~lp)Qz%$DD(okj@b!t4xAtk2@lw>g>_0Myo{Y47#nd74j|xCEt^3< z1+gap?-|(z@-ys3{1-?r8dCIyh=v)vARylGL&-{sArkLeBi)Jvgrg9Q$ zZw%RuZYHCRC23)$h8k^Rv!XHg>OEX$xLVUEt@Jtyl`T?{h(BXAW=PmZL2k3X#$IhB zs$n>7IIpyq%07qZ-M9gEPeNakg^8C~-@{pA3lIda1Ry6yP>fdKa>r9J z|BGS-__e@h!FmSx$}wMJEut-jlnYuDXd;-aU>n?Wn=hp!VRIU-T zhory%q@#n>84bK4e%i9(LP8wWZgBawOI1+(OMcjRWt*@zw=$y8wOGfdhR1+S58G@t z_P(jBqYO^E>*}#*OZ=j6mp72@=~L-!LW8Bxu95osh}k@W(Ma_P$VgFv%sR{%UG#|e z0adSn437;>HT^?I(_|1VK3F zcCM-8>ops~<$;LJ88U1zv(vS44YbQ+gWd4})>`G3<9UDZ8(o;)bKjg zJq?;a?kLJhAF#WM>v|k{fpn!R{+g^;uWN~pHX?^*G&eZcD5@yxamtJvMdrAd5^Oi;jS=ZW-`P9BrFPnTNRg`k%@o zT9N=fF+;>G6g+uUAd=3;0BXj3V8Ps5BA)Eh$P&H@UKyxd2Newj64p)NZ8&UzW%r^u z8bDQvnQ5mfFMrNFqB+3NXz%ta#RJeVt-q$Kg4^oI8_0Epoz;r01_RV5vQ;03_5Ns= zZ@fA*;OAISgnSe6Z~!m$Yw%hX8uHmrDf{Y>wX6FBdKKuajbB+*-GTX#&8g+e za%H8?vo=;)CAlc4E5sYrUwWxNHxjbsNUXhHxhBxo9Wm(ooB_MLAK z0JCujheGk>1Mvb{Chr(>7)|M}2`oTdI1b<&z*8uHkrd=Tm2O1o5Rf^7qXHY$(vZ7F zG0f#xae2dry6!5YPdLQkwsE-w`uIjn|GP*ifvbwe`pI4W9UbUuV4{=so&Jt^a$T%> zl_zhk=|WdmO;>(~f>$4wke{NhrovcPLBuLTJAKuK%gEOaj);m7T9sXqn_>#5Ip`G6 zx4BT(OsUvy%(hA5ZLTI~qpR){O}WF_!kXi>wANMnJ-u>U zq=CuH@H*Y??Jd!ON)>HwZtja3#m`5qc3jk-o??dD=_eUIplkjl$5~8^EjtyR4AUAX zNG8DAWMcS&j|~JH1wqh`=sN~GAnNJU`R^Q=5_xc9xHs_bp<^s0T4CASLrBTr_F0N} zxz)SYE-wkx4%k`v8uRGC0yC=Q06Q*mqb5nsLHb%^SMI;ai5acCp34>Vjc8R zoa{`7pT!IHc6TScPtkW@cjAu0JVIL1A~TxF8*I9EhpW0qktH0^TM#%W zdbP&xfW=XxGFLZe8*TZe_t)}bd2LQjU=lNlkvViVD5hft+8#~z+>jQB-~nIdKfxY2pWg>1& zV_xs9>F}I4pkGs}9AH}pF3!v_>$L%Qj@{*c(=YQ_rCINo!T@SP8(-Qd&=e1Lz)DRZ|1r81f@$@7H1X+jV#)zLlzBqOziSFo(#LsnYx!mp$qVcpX7K zOW#rL2zA@6O1E@KCgs=!MICBII?PhHm*{h#%u$E1P#pR4a`5wwL08f95?Lt{hZ zLo10X+;+1Jf4Ow5$Y!&xbo+egkDppOZq3N#tNi$EGE?-B&-@_Z_d-58)^F+4*$ff* zJHg9?ArBA-#0FJDPHU|+=K!$MS?QQ#;EPHDU&>l2-#LEw8Ih&rucJvP$&$=gct0f^ zm)wo;Tfs~NHw5K;$Bo|LFJu2a_78$~jXj&x;lllKyD3yKpc+pX-6dcS$r$ON^?vpp zEM!eojJ!-Og1v+6m)mP%u@UlorjXA9%bCkutP1^ z!rZ`S$eqA?HF)=dN#lQ%o^1zcS>a*<5v9QeGccCM;lpWmE0)D{*^ksJPdnWLAcCGC zznMm>$!Cdo$dhP&ocve(uTMOIRv$a|2;4RtJ7y>5)6+CQXGLpkMXr~8FavemK9sQ^ zt=`7H^S}c}|HhajKNM;-e1S$MVK9ic9dA2(d!29Zc=cdeS=mTMMa9u}^6MP0 zO91_r(){@&O&wnOlu+q$_VraL@skXp%0}%q^5cz+`x#kF_F6%8DfyWbjwDYQpDw-- zkOw9hnuy^EXbTml;sKa?=oi68MMug1i^E2rAigA@L~G*Yx6`|!kJa|0M~NuhFMzx9 zue0ClXJZAy66Gy_WZib#{2ylTzkl`*sl@Q5?^t?!E$>`<^w*UYm6LV#b>yoDhoKgm{4W0C$&+a9$&>fdw?q$`NTmJ1OiR~C zvpj_!Sz*1|z+@8t7JY?2mk({pcUc8|cC$aOsW%^XYKEcKfBoiT=C(HTW2+yyqNu2- zv#_G#K<4CyWRii z3gw)xF_crQ9hF2&w1Pl&aaGP#t-`x}or?j@DV)m8G^Kk@_KyyBZuI& z>By0P6dXEW8yz9@#z!r;9Rq!^G*#vsir=KdCBDk(RBgGH7nU9`<>vWFh@Gskw*g`puKw?t; zu4sl1q)Rh(Ji-Y`0n)U94sd>38kkREkkLu92m@VzIf>R&bbSbIm?XcL{1CRf?n z>Dy)G3uk4Wyu*0UJ$mvPBlwG+M)~9(6rV=3x7 zoQ-Tp0Z)>eMqD;`Kvz?vJ1}?E=1?%y7L7&|n{D9f){ZKIj=lOqU5QFnqPteY7I=j& zBjTkar@lzXmUOulZe}XVV6ihO{^kNd(amSjLK)bODF}9%JUx7;L>Z=lr4kJI!9t-S zZK4C+WBCR89GI3ky1no+?u@*kjwD|toM>a5{A!x~G7dfV4neil%<CTePGo?cEqQX1t9r!loUp|*}S${Z6mR#g;Oo%n@3_7KNl zP-;trgQ+9pYG^NJ@?qSm0bBYeMqmj&oURxA1+amx@N|ztxJ3YAfJK@K7g`qwUQe@o zAcVx!Q%|8yCr&&Jw~Z%GB>oU5{vJ%0SnRn5*<$@gUjMJ89KmlA2j__p6-_2ik&59}^0 zD;+McC?_|U_}o0)Qb^?U%@uUjXeUL^Z0oo!TvO!@Tz`GIAY5CdAFt3!aW)`d6~gD2 z{o^f+TN%D3@NhvCxPhv#{srepae12^yhR|VlN~h{{7`U|VWSjxH;KsfkYY@+c*2j? z&XV84%oPZ6l1Jfir=NZrpXzVmwjK`mye*zAUED{`D^!+uHU3W%m^q7yFA99pb2vLb8Ci zi(wlh2sFS15O2702M_GV6NZ2<|KCiKr#}hx&g9oKmZ#As*zoeimmCH9Q(?HNS=?jK zW{_<&p~kEW#-BwndHklQ>!j$--5~sI=pM3-zKC;HJYZ>RvOKWj_6zg#^PlG`$hWcr zoI0*|E@5;mFY2l0>7pKu&J!h{GLKnckLfA7VB0>(C|+{L^$=mDX6Y_6EzGPbM)p&Q zC59L1T6#FwFva44Wnr`jj!swTVT*@l$LJ4Um*luBbd3DhBoHUo)()Z7lkn&RKzqfDFfZYL-ljG_ zMx3+qVRKiP`Qeq9uF1*CX$XZwD&%31C}>0U!yPkta$?KGI zA*Ot;B=2*buGCPh2i%B&@8~8*$r5-tAV!C+6!_c}LcliQeuiXQfCi?1I~I39{tF>n zAaklC15Q(-Ngi}u%p);dpCiA;Mj1$ZV26n~h_Lm?@FFihe*DLj4Mm{`iHd*x}6Jw2CJRaFj_mX-Pn z%`IcsPgPC9{}OikjL0^_f*7xu7nLq^EZxGzLRuyy_aKBRlMoN>VUtcg}te69Up2GqL2<}G^^$R7x)q*NAOf=;6P_UL)VLWk5t%!)FW^x5JHPFmY7Ll0D z908g!&rBD0^g>16rRxg%SDO(K8TnUduCPE+Ax1mPN|%Rf6G3B{q+ed5CsL+4X{NB> z6V3DbgNhM}Hl)#I>*WM-<@$#-v6$xInqOa#mzVdd*HvvVbm!;GmBE@wc@}$F8cSjH z>T7y}W!4gZdB3w>Q(!+AbTO@sTP6u*IvSUk)DNw;^g5mX3HuXDXrjYSg(dd7XByRF zu$l?J8hEZ2W_R4r@GQZ(D1~vS5e*X!g?teJ57wm?Fiw2hR>a;F&^bZk0`q~NPC}oy z9I=NEtJ3o{s)6KPJ5T;QzVlS#IPFwi|Ln8ZZJyo93>CFFUHqv>R_O2BdvN)9QKY~X z)6QQ!zG0x?Z)Na{<^w;Xtm0Q*w_K+@wn7ZShnb${hze8;P*&d6fsG83J6D6=VF9Q#=mg< z7JiNewiO=IYlRC3Zg4RPD2}Tq$ggL~uciQ@o+SR67zb18oD(Mw(Kqs6XjOJj$S)EF zL=xe>X*Oq*s52bmi9$m6^=!AJ)#F6ngjSV~e!Yh%zl)sMgVOFIUbH@U*5i+#^_;c8 ze;1gQJtZY2gXHCr0J{qcucT^oZK$@A)5}bEE3DPtI_F5+UF4n&fi|nEGS6y77E6-@ z7UsiQK!Xp#OzYFOWqvaA=jUk5_k{}o;G!&zt-`8*0k)z;uN>LqVQS&1m|cu`qp zv8W>IVvt(&S9}pyja{QHE7R`o-!>BnWL5ip-alzWA#GTbuhr&j!jOgSe?8BR*o7Qx z&%0V6E)At8-wS+pssF2knsqqxzd7v!HZWknr#mCV=~E1a1=CW&jDWZl4GF-IY|MOt zBw*`+1j(}3h@G&bjdSF`03k3K9tSgG;+0p>s#jjQnZA9DmMgMc6~%(EH>cGnZe;Ol z$h+CQvp<|e?c^&c@XGnb9q7?ZGAgcHhP;XWN0ICBnl&*F@t)z<*_}IQZ#7g^&HMfS zGLOeY-e?wYAxVvRH?>TzU-qqn4RWIazgqc1=Gx(KsmqsEfIYk-G#2^o;Wcs%yp1L*XZM z0r3yePU*g9w2uK4Qlk`f5iJ2dO|Yhh^)zUQhvyH-fl#E_Ib{Kbm2jX9^W-<6sm-B{ zl%+ZT>Z@q=%P;>LZYy4Xne5`qh#(TD>qG9mTppQkbs74*%808c$Q<+>Y0@a8A;ro< zRGWd`%T%>Sj40D!Fs73S>X7^@;$zbTtM=?!^?<3VX=5M|sD_LDBVRN;;qi$xbGL~2 z9lGM*{q6#lDyUW;6!F@kVq0ICIx}4(DoqP8kjkKx!0>4n)d%YKGx%yH?(_1q81fU? zV80xAiz%T^9Y5`SV}a)%d+5Sph_QehAM%lLdMhZna)1d zCHBcDu`avj$tM%n5oeQRAXJdW<7px~|GIIVwWdzXGmOZ*a@p3m;_*b`EYYFwnm0)_ zt+m$5`b}oyFPdAYuDWXF-J06k`EWQK1C93Hmcpt10VB77m8ohJ=7jm>MpqWA)(ewE zB=Y-$QnEvY_K-&=D_w!g^oZG3VKL_55=FqBk{_R8+_q@P;7AG1=EZrUZ4lE+K|do~ z|5MWkt^#}o>vEvGP#2}wfp%xcD72`~f{X#sK*9iyA7aPsq66niw04~Qa{5!y?9M)Z z{1AQH{cfhBL@n=1pxT|QS5Ko2)9{tN5E#+IRpk=b7ok9)Oua*!l}B7Mf4{b-MtjG^ z{K7)!3t*H#Rhb;eA90p!3OdX2^5k1})p4c<7-?7`%1geJ4;Jd8&i_1WCy?&!e2@iHm3N zwA9sE?uhTdG%G8s9&cGyQCC-C*=On~hQOGuxWlv$i49j7@xo`G2|0E5fq!=CUY*H2 zd%8mPf1Wy4+fVyxp>s6O!>5{7;W#97Nz-tM7-KL)hJxYExNm;bmVU6|F z*^l9@LAxN&hn7C2V8?GSC@zmw5~Uv{Uix5cY$rNrN9nrt=SVuQxu&asgK2%<=FwL~ zV;#LacaH5KR?R$QZf`d~9KYovpafMkD)UFHvvW1%!>G=EJHR6QyVPz_B)z`%1M@xo z4`%rox8Y|2@0Bn==kOUYpeM4|LmYQB<$pq8LAFwQJum?(c8Je^$v^Cmg8fn#0y)A= z1H`w1aZfd%P39FqKg)08NoYJt`>y_ahIWy-$eQKZ=$YZ2M7$|2a*%J(GwET(MnQrd ze~((kb=N-IatHaH_TlYiCFR7?)hz|vrV{s5RCcuzSIpj_sjJi6G$uwdbGhSh_^ojCLg?*~sN{2JV{1lL619|!Xoeofd)b%?T~ z^^@e66Ev&9e#~h=n2pDeKSJN$<)m^@bK;9kbezS>%n!#}gkYHn<>@SPSNYXB?fu&4 z(KeVWwRQAU=^@lBVvLG1QNJ`XwBc_U;3g08nTj2~L{;@Bmu{7YS_(M&y)}$Yuxg7%Gx+p&f=7WC%dg0Pqva z06YYWD$PqLKLLGx(^F490=LaiJyn|3-|dMF21BiF7V@4=oXmbP=d9W;Pp(+CeY4By z^&B(X<|3LOE)!$BH#e43 z;Apj%_7G5S59(tv{lRWP zp4`NZsU2XlYQ2`(zLDwi->NNKv_)&-<>qF{#dqrtDH-VXh+66p7)n*8k_|@VD^4dR zi=DuiuRep$3Mon4Lc!*j=_*+5038H?wLoCBrx_|4pk|5+m_lVHFs7whBcSE4oF>1+ z3N6@tSj(S2bqa?O?}gi%lPAdmsk25?z{{D|2K^0#?#JUC(SU)|_~qm)uS`Dw{0Pb# ze|}_goOsu8Xw5?po%6JzwRIa{Ne2XyzE$}=l4Ts{!v{p#0aKAolfNuD>v}0Zj~}@ypo1@`T#BlCMPPiag=n5{ccsDO|c+pw_ z9qv>^*}PXtoGIXXm=aWqFhO?-qo5WqD49sqOp)G6``2t!&C zv|M*VOkY9qqyYGNABVoN<|Wl}bfwie-OmU&L$%u|zX_N^*r$*zr%KkKFj-d2bua+} z5=yaPhsW54!1)|hRusI7pT@Z>ct}$k?W6#W0V5@a!9dZV6fl_A_zELtMV3V@d~x`i zI&ZYCSU(i@wuVEAYvvjrz7Acv?_mAxvc9IKBe57Vz4#(I+thTl>0I(MwBqI$$@^QK z#kCx1{4$?ht(1w?qv+vFl)ed%h&Z=6@t4vtgOLIC=JM==#O9(vLrb{d|C_@N^`5>) z=Ed(g`uiR4Uh>)lklWH(xeOXHA8N}lFW(m(%@P~Z73pcCOob%a{cD@C0VnaKgU<8- z#K)G#PKv>vf;#&DMaK)?O0W_DRJ0L6gYL9<0%D2_PvJXlU*I3d&;$r#OO*ZxwEJJ2 zSBJsNy8|@M{(J5j-M#y)vv%zoz2%n662BX{<(92m_wF6J^wLe6cJD@aCDst%%p_J5 zI}>||II(B`9$hS^yKUlz3&3TAqbQ#mO2y(*L%yL%Bq}oGufgBz3&r9>eZHY|q@4U% zSgR=kaDcvD4>NL~KEuu|U(!?ae?nzJ-xe=W7ci&=5G-yVBt34Yi4hUIIg`VV>F%xA z)kTRr01{<|93{UP1HJnc@fLW?*N&2(Pkss^VlX@(gWKlg$1gamcd&n(zpm2~f8^<> z2VZ~v@l}TQ>co+Ph*&KU2qZ##RRv_tnJS&icY2VbZ?LClu#dQ8)xDagCe8ktTX%r6 z9g7qcBzAkMW>?h&+Qk;tztyEyYpMF*a-%3e#7Ko+8P0I<5;8X&B)PKJcwbH0kPPdq4r@R zE`YVAA<(?1@C2csr8b}}9G9VUz_D3I?Q>CMk~8sR3df{a5@Pd3YQ*1QX~}?hgSTw4 zd=%75%0-4Vbs=)_%^XAyFsP2uQ7i3>X!Q#(psB;>Zg@$$X3psh_`0N5S+3s*R{BOF0M&ZsCr2# zD)#84ECN(^^51qF`Qq~$Wvg{fjz^>MYc%)DBr*wxCp#qsz2#qozGAqaJnp}`Q0Z`P z%C8`snX=@7(&&s6$}0vSq1Y8>{#fAvWdm1-VHgUrpiI8FLb(d2k7u{A()&K!Kw{Z?0__(0vqrNQK~i2?64>s^YYjcrI=gisdLA! z;XH_5eLOM_k6XgQwQz*wO1~(B&Ay?bS8AcC|+v zqXkj2LZo#{H0A4+;tQ`$6=p&nxf}cuC(h9Qi@*;t2{M+hj5_PT;42zb#Bm#8NUX{lYA{XM>7;ba8wWs(h?wrDM?IMv4h6)f0I<& z#Yf~}v|^0>*Er6Poqytq2k9I6M_HFks)(p`D7~pU$Lo`(q7pP$OBAINLZ>5~<+2kQ zZO#6|Ae&KxF6heSXL8wyOg~7BJ^O58-$C@?v(J)^2M-dLuf9)RQ=`5ke%)43{~F;U z^O^%{o@kjwS(I7aX>EaKL`n`=DHjJ+$^dk3x41{r(koldZ7R1p6PWrXQ8AY*Fe{MU zWI{$`CCsum8pn(V%J-E4eKCInF~p_$nSG#LZ%*0z%izlb=mN;8FIeJIy}>{`0TDxC zHyB&+4cO(hM-;PIe1RU52E?(@8lOU7>K#ETu0O?^A$||U9*>dVOrRCyapEuJF|=Zm z{C4bp5Y)3rkKPNnxuZvaCo)J2+nDn4`)<1FX#9iSsSTTNyz#ysW=3zZQClLBWpbkh z9nSV>RO3NUH0GA-J!*+8SE`g9J2ph7iCE{cS?GLmNKh}#6A(LA95B|`8xO45wH6?a z{iQ3V4tb3*yTn>($tX|FWK}_T=R#|V)>h*&1XXIDz=K;Ac(u{-7V^s?FEhQBm7&sn z-7+w6XSUF2+HUJp*_A_-3=^bysCw3W7V>hGX zvD*`O?SBY~Vlnc@JAE_7Z&X#?9gE#u*@7(O+au)L$nq|se|Ix^`x_ovxnzXbok0wf zw?puA*UwfnMzVePMer46@gzZ`0bTI;YoT1)<^ASb6l z{rKZ+luDk&eX+|aKPV65Wa5mJe6R;^2Duhktaxuq*7c>(5Ce|~lZ8i-0FHt4!=B0l zs-`q%s{9)>VpZo&oJ&%vv8I535?4khGYQAMk?lhr!_F~BA)jglI~Vm1fhA$S04r##c9hkL|S5{u3TBj5UPo_m-K-Mky-`zMuDN#df_aFx)`H6QH=8DEHkCS^r7o@Bf$tVgmReU`Xfb57#gZEGQb$RF zKUNByAk8|2n!aK2Org5k_9G>&-hs+mkKz3+hsRqC`U$Ql=KycTHKWu^MI6&J1mhY_5Ull+nI^QaEDMXe`2_rS}?|P+LU{K~k4H6M zWOGHCoD8={6wun#cBMsWzqQcGg~ZYpCrolzLS5!D=sAAcCpQBAC|s+3cFOsn5AIC4 zBIWA;ezr?>6Y&D*=@T&0TzS!yqxJ6vZG1u9rsxdQ9uN)Ix~Y0YAS6oN26a=$f~Wzw z@$9%Z7J741vKD{KWMNOJ9joNHv?qC_5T%ZP{Njsf%}X!shuhkhUb;HVq=@-d&PfBO zSu86d{}ITvNvdQv?Vn$M`Gs_WWTMZc(fI-^Ydc^%Sg5YEQ^r=l_|i*XCC;*#hIPVd z)|eK>ZRJ%qvZJ;2^Kmpi8{404Rm5`a(lvIOKBLg7<%@3N2-_9J4KoK+4GpRTGv`f$ z&#%hw^Ce!g=zWD6MYhsxcj`2rytQoC7C%LCVD`mjbmunDThaQ8-sDASg;n(kwi-!)Yu% zSM0ZeRvJLoZ~)Xv!F%xg@J0E3D8UqoK-LLpPS6@D`7}OM`p59E!|tGkJ7xuPxEAm5 zC$Mt^lqj1VP8EI&R$nn|W?`&a`h*cs2LBx^^%WiaehdwQuMH>0^-p{=@jfuvffrxA z9B%zDzF3s#A#O_?34O$JPyp_^Mn=5G8IZ-T1*D|I2dGyf5={#ZiANFsnDPli6lnJja3tJheJM6Hq!-zjnr@j!DP0< z)oXX!3VcKv-)B!{G7A`NNdEKr40fM^NXHKu9GT1Px8Ka{7H1cm`0%iyaj7}Se#OKxM9Z*uBpU#Dr@H_ zIG9v%mZGIJ?f-#xh(c=kJIOnkMrZzA_*+=R$1W3mC+?lDeQ+;Yd(C6DD=I&}@}Zj9 z%88o$_Mo}Tpg6X$zMfds(n97pH>1J2x`$g@5*OCjA8c+eBrialAQJ{+{fYLLYueh- z=GJ{sTKjcNOHCVcw6@lEkZ0d?sCHFVy!N4eXbbW_QMMNrki*q zwnh;QD(35E?~u>e&(6kH%Y*0ZbvhkfS=bu|-+ug?-~6T&DmGQHs_+*ztc&C;>*nTS z>*Q{ad{zDYeDiv_+ufqq8+7m{c&E+)7x~?5ud6h#zoFa=@6f?j4!=gpz+bSR!4JOp zKS2MPA}V*jIjP&8m2w_*_Dw+xnm`zH3rhXM+yX8T)eFxhpNGb~)GPQ^d_fuxco3+- zJlMh5EPxAA{LZMCfh3G13Y~TY;d7>xHFyIpV)l^xE*u`-v}thd+V1YNi%jNtd~nm? z#*M9l{rj(k^)RW{{-!sOxtf>Ox~YI_bjC)xYNy>Ul*st(4d^OpefF0P4E4QJD=xEa zD$lZe(U+yIMd$tS!Uj}jc4lXx7u3sb?bhy^nr>@541Jx`mG!UA3h%{q02BeQXCzF73c}PE5NuRCWv)148GI#qd3bL{{((zi53+` zC*$OYNcr{GkPFI*!^in#b{3_P-+%TQlJZ$;rozGvmtD4@AXiRoN?b_1pV+2z&dtrw z2102B+GFWe@)d_7cSU+W3z(IN!61|-jSxOQe10)C z6Q~z@^qF9WAI1!v)0pg|hz&rn1gS!5*b&|puGI!1Lv^5~P=awFktcS$rrh9J+h$lN zP?J|aIzRu)D+dogir#qr^|`qtNAA0i_-g8tEw`RqABnBKVk^pSR$40Gh$R{>o?bQ< zgRs{n#6z*E7!K$|UHKzW%NK@xcdE9Z1|RNwgj2ZbkAlHQ1DFz20C9+>VL(Ej9q5}_ zWWg?iQeqc2CgbrB)?61|nZ56vPvdd&EoA-bEAm^Grz37ZiSh*;@)P1u*u z-;Y;AU&?BLAD(bl1fQJN!az|1NP-}Ru+8ZY4Oju$Y)fzge^?;{HXwx`!j>U%;(;37 zhCfLDBrAHlNjZD@Wsl;dq%Xc8|BaaO@i=0U-+lQd4s$*_2SX;_Sh##=g(kBqU)J3V{|1 zg)Zo%rF^ud6I!~yHhTHbeI+{yn&1oLFOO_}6 zW7;)g9<)qGmkYUSYOG6Z;3fkqNpgO&IGM=j3SivB!eFVALktD0fT__|ri%EXWDZlx z$V*lv<|QeU3z7iA9NuIJlk-!=NvM>@NhwcE5wk;VA+LbOXD8}7c`T-!mB*5D3Q}o2 zYK2%@G8dVJ^kg-L2P5f6eRa3FeBP%KLlTFLSyU_hli+`Bgq|A9Jqu<(} z)hYe>5uSdKv4%BSj_5Ke9A9vtlMD1LB+rLowQ6$)*7x}vX1Tu%2Q;UdLc!P3bN@+awOBE^pEhm5P)a;b(k#1aXK{~t^c z@WOcKmoAf5^lTd%Y~7OtTMV?7CWC9(LzbOLNj`(Vd5(9rq5@#)dkG>%mMY)~SO`U7 zooB7bv&CT80!;)S5AhTy7|LVR|(n) z&$;0&CFWWhxFa_*D}_R+1CC9=u`g9FchfdCJE9y4uM&{wTi6J>B=pZr7$3IQLKp!Q@EYI`j-jnk(uI?tIFEm8>5BCw03Pw9_n(Yh39lKA z+R(4BCZ}8_gLgBSE|aM?7~Ekr?g$3awkuc2OTi#<&!SzVCN~%T5}mkTI5uY0MYrNV z_%i&Jqb(FC{iov>Z$5}s1o*yqcMslCKZj*nPNCOgT(Mzn<8T}uZ^y^Q0+^5oMdzpV z;JoO>s7$#Ou;t)JmV!}v10+NM4@2w(9ZDT0)}{)-jK2Y-puLlwWV9o?&~EaS3xjrv zh)(`8Ez`g%AloMxf^F#Gr_W^lc+CVg-SDEE)@z(DxGMTA4UaRXpno!+EPsVEYDgCY|+{%-g$VG7Zyeim3W z_`>rK7~Kjbx4X3W-p3y6E(@0N9DGCJwcY69OQM&_sRiPc%*1JIEf(dK{ zoPpydSSf@(r5jakqDTU~hBx4WI>za0Y)^4A8>Tg>H?Zw8%#~qb|6(Fd2moV#+g|dI zb?k~HeN$D4+%v>sY(YEj6<^UBd8OYF4{_K}i%=qvA?jDF^Gv2uD9K$-frSA{=r^ex z1A|GfG?{)FG3zOx zjYRs$_lg(SyxPtS*spSJO9oX&47OT~Mmw=GGdzoU(vVKc7aBEkP09Cr$miE=P^1{l zpYavBMh0QsBNvXrj1X9?5~x#sAMng$=*f7#ijurz#XH1bM6Vz5`CmG^KH z&xkoc$Q+WV-a{^>>qUBNwaZm0WM}EBs;Z22*FKQTb9K4_g<=28{GCZ9=;>2$8L z(&*UvN)jmy;Lqpw zpaWzf8t;S;(DT>!dSRU|gS!QwYuGSfbbDNKXAST4J=W+7H4EuFE zfK&NjjL&fv7q`gYXd*DPf%L^%!a!d2(8_cDqYmCfKg^W23M?ITa&js)8JxNENy#a1 zsNI|)W?Fk{N{?dw%w~8TBU^b~#mUZ2vOuFLHJPSCU2!|%L2fgdhF4lx|w$ICH zb?)0aBP}Op%Vm=jyiNJ+p%&I2U&@jidK=V2Le#FJ2JjECAB5*B<`Cjy=*4rnaB8jy zjtT@3-RKuVmIG8c&T<1!QJNl$tON`z_7P)*0e1mZ`E^eTL=~fWVz!#oWel7Mhk(TA z#RQ~n(H9%)vdf*hTAxHE6j&tza>rn5@-{T{kno~Qt5)Zx*`=I2o?_646BA#2lrJwX zhSg0%p*m=irLNABOSGgxE)Qj84Js7Vc~%`@e2>5NR`m6(EVSUQW980tgCbqXCbwo~ z-P@THDDO3{Eea$iMFP@1LyWThGb)wdkjM9F^+Ps2(=Hz}sjEW_UJ73jSDtq>^U{9j^4KE>9$^EPh#=&GVDq^DrvV26-c?u zi=64&oTLn8EuB0xmB`tFwx8lAKBi22fu8gv`o<-KPV*9JRigZ-8C<0)SD(w}q$VfR zlW62ePG_mV1gb8(v|6x3Lof;hwKUKPI}BX_0aDOqFhpO>cJ~JHL2D{#%1Gt$ zD>(xH007Do8`8@n5zwQDgX8_}3fu2~$6=@i$pJx0x52LPoAQDRDNmx&qKEM=tNMBi zu<>v=wngM;y%)hn0YwSA^c>V-Dj~Zb+gl4LGP*g07`@)>iHR^pu6VYHL)?^n!*UF+ zZ0x3ht>MPLaA)A~fF=e0%q0LW_N8P(;dQujasqk513Q1h?^s*_D^L)Vd{L!Ey{ivt zM0}kAny8=9A_vU7oX(HR%i-)Uup{ST zpSpHFCWdX5H=YKp=PgbHvzIrz!ajpqfHPHU*s_5+3F=Aspy*HcKJ(1vxpVj3wgwr%g`v>so#+R5ddoe2xx=cI zKJmnUv||@(7)S~PCW65q+lLMx9vnWI$3SiAxwjTq#~mVqjb3 zg$yU9PC=M4B-icmA;Pu|u9;%SvrJ}ES!H2RTIAL%=tLcnM2Fd-bd`*q77`4ni0O=a zwT6j)uCw(y8pRVV(KipBK0SQy+@V8bq0n^abV0$yp<|us7s@2PkX-L}hg~k>?fiq} zw>H&Pu_rkCY$1!EBITw)7J5t|&$?75)D&<9lF9v-jx;w^=a!#qNH+z@RL}6CL&F}- zqv2+Fgee{+&nyxx((j}Ql?45G57XX)I8sY>-C{qxA7^{NM(|+3Ch@wW1YL+VBDjVC zG|r&19~kTiH?aTWx}-$knO{i7r%5o2@+9pZ zS}~m8bK@Sduf6g#L5yMWjxo$XUUZ%3VLKoEi}%1#GOIp#u=mudjT?LX{=p`=%-;2O zV}FJ*yP$*I7Uz$oN;lkb@a%U5=*=nuUpLvI7XNSBf!FnKqan~aUte+i>QcREiGqEr9fkDR7h)kEGOruF*!(t`@M(uF2vvY*H4Ee zIADT5pUP>#Re$YasZtc+@nf$6!~`438%{@CCU-Bse@nrJyZs&d;Lyx{_f6b)-`>4L zaJ_v~g@vOte$B+xfTT(FJ6%SBgy`Ut#eFo7r_JL*?ZWVmRTU$J%gWFrFFu*M%{Fo1 zz=RFaj7NqcDl8d3VjOwwap}oZ`s}wm#yq*UJo;}f%{e*0sHng)?t(b+DCpT(9xlEU z27RIW1uO{C{q_8e(>Y#T_{2}lvar!RCe1_!S_$wjUXfpyE_#%i6B;mx4^Evwf5#nT zrKOW2lll2$M~<9;Ut--yUL7Gy?nC6D*W2fI)3Tz9%0l*XR)%s#`_8s%hvvwUK?kCl z4vb>`J9@xGMjb7Avq!gV-fV$+|BpA-X?SihA)tHBpufIL3j$xx;iBA@?!_~>pobXv z(AWh5r-phBFR==ydQsrDgrJZ$B{vBtdSU0OQ=<<*eBi){$1^!J>Gv<#iJqV()46wr zB_^3lAm!Qm<8uQ$vKq(P6cI&mG>k zFYHDMwgdgJ__DG8fGzqvrhusz!?Mq$O-X5d*HHq}x&(8YnO^w7f(2^d-b{W=iJv^y ztPT`g4%n6xtK9C7@LeZDUFRauqb|Wp#TZzpCnUl_=g!H%myFLC>q!NUhI_{cO@fme zK&RhqfNyQMZgeNcH0w9|vor!hnqx3rtrQ4l&08L0373lbSAL;w7HsothwIOIp7us8 zz0pq&oIX8v=biia54zoB;W58|XSPl+gat$1`>~^_+TU8bFr!H<&CiD=lz#vC{{5%9spGFsNelysadd_!Wiwex zGzKDnI83AWksn5AE?1|^bym=<_IS&hm!17?{sN84EzVERg;v~TwlXPv=uiYmVV>>7 zcB^mJOp@LKj$BBrVQ6G4n1X=?)6c*HaYiev{6-wKo>ic@WcMrAI|b;0)j|urEec(&K4-FBNlAW`8Y%mhR2Y z%XTIkyk*_RLS+PP1GnY)@tr#(et&o*;`0se(D3@&{h1B&ru1fwy<9b<(3Y?=n9+fe z5u%uvUOdc`rYi&}`jX4l>U4f{i^nU{Sj^dNjm@a|(ppH~4bRLByFUjm!8!!EWmSw4)7t7HrUUJ2vZQt0dQwT(v>hU{k0k{wM+j>E7-U+@D z>r1^a;33WDj=j(|LRkjQs@pXezfaRZf3o^d@ z|4)&?W2OXf%?-AW@_LBZxaDc)v=&CP+pWMhI8l#OT$`&;!d^Ud*IjT(zkhgOG&_52 z`}SQTUgR%LGK-R4T-;q&kjPh%3kHzS*Y5M7hmr+s4v}_pwYcbPh0LU3@sqieN&K{Z zf4)LTzj*Lp3j($bN+%!?geG`kLHOLOEjqRWl!|OeAtB&Ei*&)^)*uu zklbJZeTp8qqryS{85)M({s?M`Ht4_n1<0)#s!Yv*H-~%Xhwx-mtl|{AON2n}#5ZPEH8AiEV7q==|3=HxwW`&Ft`$?<3u$NWx##TJk$2v? zc=5dyhT3G1kjIaV967ReYiBUn-#w5G;K~~lyNT63J<+{(dn-W7vgkbnTy?4za7gJi z!ls@o+>twwJ?R{&|I{3|MB3USmOmMiLnU5Yk~6YvSHuV2`JtG71Q+&mA9}&(Ycmg4 zRyq>R2Xd_i(7MWj6fwwc5?~2D3H=x);1lG|@4dM#UmbEASQJ2kQTGp7TuSG;=Wzz+ zeR&-HfEC4t6t96#0{=bcBg}LE*StVv0cD~!}>2y9vUruxTa`#e#Vl%f&~)-M|uiR-n8q%2S*-!aL11R zoSdn*9;15+eJ}=gUqM3Cua>fYmiSy?puf35!rVv4CH! z^M>90EU8(Kh8&I$8UeEscqkkEi02_MmI-stbD3JGsm#a3xIx4hoAQaB)(_egNA&Oy zhYfhAE6@$q32t|JGK^Jp#e}Nqa z9REH=`z7?*4u5)2OP+I1*bKB#f&r4s&y3t?e);nB9C z@`sDex}MAAXNBJ_)sy3$4o92QNto=NJ*k7PxpbB)?Ae+bLrV@>BkiTg|i{FU8;&ykt-RPq? z-Z(pY`0!{pc#!*taFuarKX{PYoHb@sn#K2Y(!zbN9+|(wn@m(iFK?4@cw(yuy`G;h zbT}G9p~Lm{oV=L6eFCtPu)Yn(H3=+Zy&WU-WqpfF@z}SHH*Cci3pPQ92tc9+LYKw(Zx7jH926g-IY$BPHxR9<8OtKk|FM4V*^yohPB5fg!mS}fm zH^C-=<_(f^dr|k`GZT|fk9KYJ>5PelVNT!T9Lm#xRXGUWWG%>19N&i821K>m;Us2U z&EooETzgPPDDIBnrZ&Jd!SCRQs+q^jB-PisW5c3j(^J=T`v0SlyrTn2NZXr)g11b+x%R zg|JO!wWt~ea)nNpdt{F~OHTeZ^E6)3qXXaC06yun(BqYIQ~jRWM~tx9#aB*+5TFRY z()QqBlp0L~^2MDMDA8cp11+d$5$#!0`3=PqRx+PFv-i}g@zbYgW(J+kv4IhkcITm|Hi#(n#@X5>*=LSmA1 zGe!J&N6>{4`=D*eJ`!~4(eK>u_uJam=+!nE)Xi}%<8|0|jx$W{;FGRMSOZf*H+CXm z1qX%9+xIGf1_r8H9P3TMcMUEXZf6ic=?I|1!T8{ECe@?>>2$Fh*5qNi0Fq-pNqe0^ z6Ix9LUYm4mv}r+3P+GZk-MapL`<5(ebUM2lI*rEWrFxH``bUak{Z&yCk;075HlR=M zC7)~Nev+PsXk3YupT^*FSp)-mZv{VOdjL{hL2fXcE6wJo(nifTp}!E>Hom>0bb7VN zl2`5NKX|a;gOW^#daxz!Ib^zAvbOx&t&*v4J+M5(z(RNX{S|^<6+fSp3YASsNrO-- zk%`SADU-ZImWB$-97>_Aq6ru1lELm`nl>kh=DR$wjKF&c7$e@k1Vo}#B=~7K=oa0M z#9$gikT54PSW*tc0@dP$?@l^iOO~vVv!4r+%B{zbPu_9Iwr$3x2XM`2;GlK4+pR1t zJYPFhUQWK+M&*Pqxn>N-)XG)MNydMPVOOyo&3qa!BR!e{so9wX#^0;>$VJy!sKIw82t8aTkD~V5MuXi(38IaKNS0*6A23wmVAjm)Um(*)*(*=e1f0U3os$L z#tpJUeZU1;?1N$Lg1q3-;^y_a#4gQ0dFj%?rAy;_y>rdMgW=7aSFZ-O(bv%Da&@dJ z$*SMP9a@`2-2HeWF@lnQ_7R=-!`~+-BEus0P{`+u{;&aE7^u{xFH>sBBSvF`*?h%3 zxN6m)InSyNah-rJGvq{cD~@{WAriL!AQTLn2h!6b9wkzEA_~rcf)j4^4C*`x;IqkZ zmX&3De0Ja@EFWf&k8e=E2ll<@tZL+oRJwH{6Z`8oxby(miYqh}jc^MpPzH#C^W1bi zRT!5Q2^1P}e2wm2H#0M}fB(jf9og9f-2*OH`#M5Z;4RAbN_Yn1%n zn8B>{Ig33d=%nBOi|J5}CJ(e`3gmPyLM;dTqcQB-7-|U>;og>4N=;_qsGbU4u|A>F zCR8odOW9w@^dT<;lu0b_iOEBC*u=extS~5G0+zF$-?^-N177KAU z`U@iK{_ueVko%@vj&$Lmw(E$6yyivc!=uA1Mi&;97i5P3_SS7TvzpjS1p;Js32YWN zbfuGbdjm~sORAKa#8&0J{Z?m32U!BG2FwH#(CQ_MR{|45hn;=j^W;*yy~S=v|HN6%_ncT#oG972zaRT3{riom=98}A zq|+IFl^BgMm_r0A@981mfthBS#gfwA-fHRgFwLM#So)9E{Y~IA8w)yhf*4X~CWaGwxojcdB@3dG3ngGbBbIE^wPX{x}i6&xehb0iqO0#E*CFH_? zXIiBi0iVy~HNVx+u(p}}ro{rr=d)&7L+y5ZL}#*Ejry>6eSLI~cW7p2$oskV&>(dE zR1F@o{vapMzuo7XCOsi9Gt7}o_YiK<~5Y``Nf zsC~ad>r6gLwOgZC-^0P;{+9XI$R z^HB|EB+8$|GDc*wRO)V<^4(P4LjAd_%1ZLLudRyA%xu}x?(szGB2H)L`t>Pw=y2Yl zMerbnpjymk;@FCY+V%S0Qol@$#_Zl;7x~L{gC!IFrE2>_Gga2U*B(MW2BUCjq@w4J zJIG78nC!o1pY6xKOaH9>njbwI2naz1{VIQ9b2DkwdEMr5i6*zcudm%F7e4RK%7Ud( z$$%wz56s4QCuG1>T{-wN*jlfEIcnTTHSeKGV$_0}MK$>Pl+nF`P`8$`c!KE0xkNY4 zFoB^K;>07?RhUQ#&`U69rl{b6;5EI#;7#+=Uh6gsWwI)nL?9#I(k5X6xIrgV93#VCzuFF3V6=i7rE$-PWTTVtY5}?J3%zws?yCaa$o8d4}ZK z?QJkxP@~Cq+KI9I1p0Kn^*(8qDGS!lXt+TSTPL=;JU+5{2&&so#Izn9#HM}lpq2cm z6TRZ`M2i%`Y~zGjRoFVztSGGWYcxgK$}(|PzppAoDMo8uvME(t+miuSXp42ONUpFs_v8)qCe%${z_XE_gLroh;i#qr& zo&ufIS=dGXM+bo0jgBr}+_!xB#6*qV-dTpuktV-h$JZ#u+~!1`y;a8fZDoCZPh(@H zjQ>zW^qI0UqNbrC`ZP>0==Glz7t@OCBKvKhC(Jb}*!DxCf$HTesSB$&2fYh`PGJzedTS4Qdq^DP4W5{>J~40@$6yw85*D z|1VO-);z!uQfTB@m#g79r@7(V_$_pL?S>7JW5?F6ZS{Hw8V0hmI@h8f9lLPh-FN%0 zUOjvEU=T&gzUjV|(Kj2=`9?&vML#v0>w#57jeTuDb`2dnHsk{1bugC4KWN$I*OBMU zy81XBizR;~C+GXP4KKN|u@=u>!P!$F$M!h%-&BH4_d{0yx}OKW&TZNB z`CNYdEI<+L*kO@Mf^8RZz$S`PROymRvcb>Fn+3y+9Up5f7!ZM*mryn7%3Zi6{D=61inj1l0~OUXsSAnyXWr4p8Yf zCrYr)C8Ytt&52-DwfFUrW5-5b7l3S3Y10{^q$wu7>JzK=lhwuOQdL!?5I^ot%m5@M z2I%Aa0T;F_K}cD#;y7XhXktpuz=xO`#{MfT>%OH_T<3|nZh`Sn2n+;YM&^ca8VH1^ zvT$Q3m6ySoYnVO+vvWF;Q~#`TvHs<@^c6#7)9#VoyEklT@_2?zhT!DOmvc+dLv(%{ zhxsP?QWBEUxJ*x8L8UOgNFo)on8amXV`nIsr(i&P!{kq7<5KoJ*FHCyx{XHk!~A>Y z1;fpPk>T!p^U3c;4jh0=H{CR+l}*_3c`gueb7}$0beF%Uqa?r?NJ5^M^y54O6Z`3K*sfSHE(qOj-z%0JX z>mhbT`uZYc;nC6X*t<~d9zA_}*RH-mV6<&Sr|a9cuZ{RU*E&KzOLu0YUuBz9@47@z zW@mRnb>p*3@F0f#BiIQZfdHu3GkWaUD9+U%9l%z7;HY&ctfRb4TQJTYLumErD0vdx zAFJPQXl~9c7!0OlV>_M#xrC=-?i>5Xb9fH1`XQb$n%5EkwL1cQYNQDCrTAeX6T`r64$R%<1ssvgKr+vN4qN*eoS!S{7xTa8u9 zY+qxe1D03+@B8nc&fS_FU4ec^o+t>Wbfn1S*RmYyp4r(RzK5*=P=z-d8=tQ+wWu*o z7~m7)ewkJ*Ra6#YU&28^ut~uEK~xh%Om$MW;wG~~u>d%UlsN|(bEhGY6Wl@r=_mtGKk$?rdFPt~d17MH?Z5 zwP(+oH4t}p^>kV6P11VzSbnf`74k|-1&3@!JWZO^Rjt~+#Gy>r@zcv>8?1IXw0b zsbn&UG-hu|vd$?w7^J}WOhtQeyO43jsgeh_k72OfR-Z521dVK+>(-%^C z$AjN_H$0nRkX)~VQ{TR=dLJ+`@UmFKr$7y{vIJEL-I&8!NOgTedkf zW253|W5y1NiOi@aI{WwUU%7JY*8Uwk)~vZZnqoF%t`6C@7*(G3nl7Osv8~veo*KzC zo3nbv0A`|gyP~hthw1dhoV+gQpmy)xk!+~D&xA44hi9Pfp6#&wdz5@)DT^4_YcgRQ zIw=W-T6N6^u=TBmW?d`dbacdc7w=+vfffRtdn*K;+lsLLxC#JI?3L-}qV1Ssg-S;* z0fA-wt0SOW2WDqCZfu9Pi<&;*t>x=Lxkk}Hq9ZkE9bQh*w{IV5Fqhh9B*PI2Kv zzu9~rjN7>*hYv&YpRgT@RKp{3$o64$;Y~!6*a~t=3-uEj3d-kk10;J#MK|fGdS^tqaEN=kVYJ$ z<4i98l3=mbngK=X0%-c0o^FKJnwmbnzG-@TBa`tln?Ee&T_Icj;eKcZAb(B1RYTGqrp&Mi|1VqcjKPJ z?!!3mBJ!^9L9IHoG~YbDtREgDZ@+yeKcD>b#6%EmOxKL8=}5ADje}`lo@L)@QJN3i zBwYWgG{Y7f<_(PRe?RRfklT&*msQN~^`o-j*Jp1as}JIFi_nI$L6l=3cj5q-2+I~w zaPBRb*TiI__A7xo!i6!~4K$6bIpTxJ#fy>Wo+Dr125#tv4ef!zU{l25=vu!%xe4tZ zEGZeh5NT!z@AyKdPk2AU0S!0T4YJ#my>iNa`N! z#q{ch$nTmPUCGH=sO*AGO!h7Sx~y#PE6~@&YTf~z1MMbPBbiDiXlz`g8dXEgX9Au7 z9?Z5D&gW+^#vGvDQk`XR{kZf412XYk4F;FTz#G`$`l$nhGd3S{i$H2b;DJc6%D=5} z0o)u0&XdbRT(xeW zL2ugr+G{%sJwADbINR4<1Ml$^9V$FB1I!AwU7Yd3&4a+KmvVExH9paURP2xl{P+me zVTz%Lat;$OL5EvbF#l!Wrmh2H2uabH?VGcEaR(ZD9&nZr1OLYVqrk|w`f;k@8OvnA zPhN`xT5|;JD-w$k#W+D+4vP8S9LQBy7Rf1Zpyrr*=L0 z1%t65oc8a@D>wo3;-c+GjY!=ZhDSo_wjZ5aa$kAKlOh> z+)4g+P{bJG3Q$e8!_`zd>`@D#Hwqy|HhYLEIHpd`QaU=L>+8nHM@ITrteBXnhQe}5 zmsHwSLNtieS-w<22Oc7SuGg0u4Cww|Q?^7YPph(%--IgXc)$-r-}%z`q8a*%&q$x;AcPG!m+%OQY{wEDaDCPqrg=S6_R3Usu;1PB!&YOLth% zmvRC2hnCDwPlTz?$XF(K9q?nkg%&~pF+_JD_&^QtK`8x+on3I0F?rzml?I!t#)4JC z;|JGgUx7h^M)P%7TqKad_b{L}lq2qA5*D}H%2R7HMJS1OVY`H5C}-E5btlbkNi?tA zwQKO`(UmLPeZGNaaOyf%78>#ZXzM%TWV})d8d1sQX0$25PbWWuq@3AIx_5a@z5yMF zp#A={+#s_ynMP#l-rp7Ywqih;nJi3dW#>MWnERMFJTr51&8e`W`r0+qn>Zg)QL!u( z`XrE^2@r#W6oSx*1Q4b$uW>=HFT%d~hFkQ{$FL)D3xxDV%@pQ1#1HPo5 zn5Dp;P~`(WLX10s=DgvU>cFC`rO3>{#s}yq-brR`Y0qvWkMHk0aRMs;UT?TAtkZQv z04KMc&%R(M>2+w@V%eF!!w&VcKas*ujm8#0?l=+s+lCZI5xP>vWqtIi?EfmrF_fCIYF(a-P>us}ealamp9b*2v7L-K*nPOI#>=gObARhCO- zNgR+(+++D1>{+OaR}OIZ%oe~t+ykh(RFr#@rkc+cfQAGr0J~i`F0rrS`!TDH*)d+3 z0VR1mxgI>P06k;|tTS(s38p>QVDYMr89ci}BKlqq-(TcawWBfLaAYX*>f3L3_V%q@ z+1DH1w5g1vd*?M@^sYWY$eEm6x^#HYo&^hPAy&ifmV~4;`TP(v4o82Z*H?ma0~! zN91W1UT#Kzc>DH=iAtBNtFYbSs2Cq#;Bf5GYa?=bLuM6K_7rn)*qBrC_1eB_lI4$hdf?Ag;>^ATl(LH>gm~pXA-^v zvJA5LHFh{=xIt%vUBC5f48ermAj$&=CdADd4=u)f*Is3A@Lr z;k7DTl0{r5tDP^Yw5Db?E4oEOVF#1Xg5hC@&1lq%(^8cKgI0sKpj4=AH_F9LYLT=+ zs^QjyY+0bT{u;z%GJ5p2HQ`4%*#hq$( z!`Rs3#a(OHPEG=7Rc8TlM{XibWU~l4sbY(XbMj>CqmQ1xZx%nuK}NESnM58cD0uH* zGE=5fz?E{@o#eX!&CvQTmYir(+PquwmZ;k7Nn`_wY;ON)l_TIKQ(@{qc|_BAy{OO&&}*f zq!9vv?;?7muCCBxX*HR?%ayPgsj@W4{$rdTtnXd|j4UqH>Tm3Hh(*$Su;sm3;~}4W zuJIa6(f^mii)R<6 z2kYw!^9B?GExo}s(Ya^O#00E<0Tt-=R*#P_a%HXK8PZI718AZnoI&zL?i!wh-CKI7 zH2RN1V*58qpITiFpi-N^i65=OtWc*%(l2$v1Ub>EJY%z+QPz+G)K90=iu26P>`=um z)M7{bCkx33b2K`Z91W7E^&IrC+>JWTGBt#q@PH|@x0TA&j*g~`zKmxHJuk;6ktAaP zOE&Z$oq^m~2Uzi?2^dFxf5ORx(+T$jTImxB=M$a>TaE!NzL3GtdcWW}VyixPJ=l&@ z;RqHZN|NvoV=;g+9jxK-VuP5Kr}iVjk6`zJ%7)NzLo7BwItZJfJp=S8){^iCz*vsn zD~31|BB+>3oVz3ZD-7_Ka90n!NnI3{8rt{iG>OG%l&70rriLq7V~geYX_u^CJ+^V< zvSm%+MK|~8?M>;!65@B-1!S^Z-?XGXM^glQSW(C3&09eoasTXEwpyF6Vo7+2_`c>o zE}x7xqjqE>f4r?P*ujM?20;^MsSES7jqmVLhlS4JFa*M+=yGVVG?~yz+x|4ZC_*Df zQE(BW*YXuQl|7Z;CbX+nsgNY0W!c#^j$V1TqRT4t4MMZG?{nLsejF(|)eSmjCaprT zuPzfEvVGrE$lw+OXlWbQua=Y~3DR;hPASqgh+y+wL~RC_+Xf&C^8O5t+?C3Z^X0M> z1b>{&OlOPOQYIr2zRCmtSCz)?WlGd)miRbImuqu)ER?_jeRvM=67nGLdt;q(E{@oe zuq$B(_#mdpzA{n(?-&|v40;GqA>;ta1nQn+_lu1rj##nd2k=C2$CR%IpQ-y6LG}iF zG`JB9KEwYT<#K>82+|2Z1ia(MzYZT61~fJ_J>9uw3z$BWsiU+*sjMAB`TynHtzJc1 zmPsZ#x?#iW!5Xb8Bfr5>qHX-IW@-?v4wKAMw0#gs!~e5!;~iD*$Xc?}WGVw+ZdEWn zjk__B#*_zyZ0V+8rtHUoo`VMgiiofr>cagXU56~FEXsCxBm|w&n4Cx`mFPR#Qq_kp zMS;||VU5dHw2C%L{^1Ou*K4}+@_66{YPH`l)skLQ@IyvROSy=Xp>c}y73p0?Mm|?8 z;`l-SQej5&5!z+IC#$+4io<>iu5--9>U%nhigCh!Nzy3M!p;d$4TuBoLsNs3BX6W|&Yn36kIST*&om?5tM$o=eLV6|D_TEFJ;S&_vUtV zqNePo9#N z5|^W^%KV9p2^Ni(sp%KzwzjlsKBEx_8jiHJ`TELPCw%1N<=a=h){Qc23&_9a^ekQ4 zo!gQ1(o0z<&EL++fulnu*$Q~S??D`wO3mnEFPZAwhPZ3~Y;ZD41;?`324Eyg4FhM~ z@{m|*$NeUF1uTOzUYI(52Gy4gyBguYaXkYLu+x~M?$wi{O|0B{?r`co=w~oyknVP| zq!N}po8ihX8z~UVx>v7TH};5B4n!DSwA#t7?C_}?o9t}fkS@b(F-9kw*nMcQz+TN0 zkdL1_Md$>^ye^(JElrUI>My#!#6~P>Y4P_|vht%Bb*&zc5HFL_JH3{+uI4uvOh^;` zy^9z3`a7~-d@-x|n-i?Nnr)uN6^<(D{k>_2?n3YS$q&|C@yQkMn4hgU{NQ?rJPn7` z0!6hntIH2LYuo3SV79ClXo-=NWBm%iLpM&^1ln~p9?nk^f&BON$?3-GWi1W zep|K(=lT`-e)Qzes-*m7P9NEj)4O6tZ%&8q<(GA*3~y3Qm6T8nn3T^`J(#$61NRr! zfc>E8KsgEV6Jo=Uk4MG$^W26d>1&RyrLoSD`H$@1fA_;8{di@;+ki|%N*-2|T`law zR_>ImIdx#u_I>*noK*-PI*3-S-@f?KN6*O1Y6_;NKAe7Lk)ztWSH9?(Y4j0DO0c_} zbw`kFDC(Y`?k?(3f9qT7yX|j;ia<7SobUpz3GNf)@y=mG;~Tx^FyR$&`=0dep5pP0J3VA~Wq-o+Z;yL;chg_q?S&z(e@R_|VS<_uz7 zy-HTg8)+#=+uMEpmFyERZ!d=B3%`eXd%{On2l`j9?hkZPmtZEp{n3g*0Aw52>@L6z zUt5A6aFFJ7+WdSl75&CD`tcn7O=%g>R=}6gl6d1`zv6PRk;WDs`w5b`Ap$I4FYTGv zFWY?@iG-iY=d=zt4_{%h#_TeMlmEbT8_e zTKZnM3O)sYy;r0U=e{* znT{?>&&ZS$gfrdWXABms9ePM2e{3)6oLaSNZB@>~y~PW~t>cW-$7j?9S;gF>F+ZL;OkoaE9vcA$nk$UezNh7w`F43&^G z3fTGiGcAolM*?$2bx(9vExQx__m4+bj6SH4-n$!hLWU0||B;j&KYl`4hV~h=ebz3u zKae#D!G}6S-dNG|U%I)dHPBPR&OL%0>vJWcfo$@Pv?OkFTd_Y=K%5LL)9J{~JU?2J_Skb!|K1W+fzE(fgOq7wYF9;8fjI{d5#$fN7HNC-hY&=hz$;-A#prjP5(oarM!=6Ko1)Z9Z2D5_cpk3!W8*k973^xFD!n#MSQGi2$ z4QO8)w!S6DfD8hoCE+mfy3As2hougkQjw#Lto%mqSn2~c=wY%O1-?Um)WYgVitiXr z!BT_B>hoG_yE0{-0gYtS#3ORa1N+d_s;yhMr^{HA$;qi1qHm*5uO2%__FTB|q^y`& z)7BQ~t6=8q$<2SU+qnUMc6RhnH2MUMmZY-(ATe-Qh{Kr#}lWKvz3v&qlbFmoq$8a?V4nw*3lyd+K5;rz!xkUJ%0Qz9RqE0H==vVFv|To z`AGw-8>Ri6Jh%!QKe_769@IUxYT=0!J3h4d>}tMJEfy{^aR!YmergIhm3*a2EOZCW z%I?ffuj(`N<+dl}_FRuJ`bl~S-D2fd6_TsoHzz!`C1#iSm0w`Ua7=l2_0A_+A(&K=V@fBXveCq6sI| zL*YlV6{@=9s$g|F`A3Md)+}GUcH}{c?2)~wYjQcdP-q#o7ya`1@qc!9UT$uVJ}W6f zFLZVeG|$HlWCoMm3!{#U2qJ9D4?8pEv_YDjH$)>6X(qcf95TPIG#939Y_%CyB&AUv z$-LdoxB2SZg3dnERaj%{^!s~ogAwp7uJ=4fyF%*&ZyBROH_ao$ElOBLNk3>tDEZ#X8Y`)C3YugIibuYc7YY*0j_K!akENrF%x5JFlZJ8WJQ+AUs>pKczn%}a?qq1x& zmg;nFgNi4WI0a^VA>hIXgXCu)ewbBbo9|zH1oSJm!#DO3;F{%5oLjz;a1edmZh)KASpuIw6<&)v6#{n5C~g< zH^FGXq%<_TGLqSenW-|V!O-i6N3X$Oq0E*{%z>l^}^(039bbLTY*iXoEe}Tb_{`{aQH88 z6~latpOAOKq160ZGT1aGx^@qe{Qd7Qzx;NwwRJ@QJj#RJVt;_$V&`GE*h4QH7c}Zi z-hTPz&!RtB)UoJT)iT>|(~{=H?e<8--f3D$kePl!-8kK0%rbH$1?M`Us zt45dH@-n-rM1yD89S|RU1M(qqYC;?9Iq2(|PXmFe#sBarC?3G|X%M*^4o4*^Z@gVl z{_#^$r=#JEX5iytmkkypQ3e*tcdN3~`0Nz;Yj^J37r6s1xhwjIJyTQR@bGYEk#49g zWXeF_%c&^sR#muHu3Wr$6=)nJyLK0nk>qcF z^Y_0mY+v~IzyIbpBwDv9KhS0iyhlrR>Qh)V;x4!Q-X58?@of z8b`!cZlotwrLa>)=@${xMGpje#l9jdFWVCRANBvE>pKA3DzE+hU2R)?TC!yAVOe|2 z8rJaMd++VUNys9Tgb+d?gFv7JLQ(>OKv-oqKp&$(OM$Xy7j0i#+V^PtI%rEvTS_Mch2wZb9#IA&4wmJlb*aC&FbL^uoTcy4|IG7YR2ZNEDO|y{<};R zZkwVQjwlm%-qQi&dPC6OM12=@rwpDznHbcS0jDvsYR$_KCM}iS!W#y`8V2-{ zQ{F9cc$o;l{N?ALukSTE6oMq%P^K#9^!xkmo&E(;tffDe6xGz-UhI_jBzngXDpQnp zhjb(SA4qhyCddF9D*P( zuD7C@Zp{7ho~y6kvE#r2o-5O&qm`<(&Dw}~h{^vAoz2vC7R%#^CLgS++!n4F2|D`r z@87m*&Ll=7cArnBr$s!(q3!A#s(O+g}1E3)?ELlh)ePWFISdgpL9% zv4CD@>gqDJL)l5UiaAgkt@ARR){tevEf*PvU=2pl$~Q8EB42;mkbf}iCwHKOmGFL3 zJ4|XjQ|No$fzpqmP)$>UST_v z&r*XP7-n$(Sk=JL#R*A!lWVEUJ5p_%-LYfSrYm!w*Oe-ZhuqmrYpCZcK;muNt}t7A zq%jfstWsFpTj7_@-FUuq1iTV#HYwAf)u)k!6#lfzb) zn_VLHwrcwVy-jv-zfE#j6wbKK;DzK96(z zO*EMh{A4S{lV68A-bRR4^{mQ@7p>UWRIL~wCD1{^08(C}h;U!lN(lnixU0-?iufxw zxE0&rl0t@V*~Vr8fw7B7J1d+aKcA+VGu_>SEI}jpbApb6f%^K6j=tj3zMh`Op3v3- zrN$U$&Z5$O-dLSdw|FQuai3RO(e{wflYKYlUZ_mT`um^i>6z^BpX@<;4tWG}-b+MV z>$(ww?Q>U7(3xA-wXPjpcUw*bnbH3}v2LiVGBRPel+tFwxSr+O9Dd5OE^p%OUTV>8 zB5$vVw04I*H-I61gtDS>y!LL|kDynmfy!gz85&eB1LFan#B|XDDWEN-pz?-pUYqAx zs$iJ`W@1Q%AI2}^2h?uh7CFCcWg9%^KFXSbeGd7m4g5x0!+x@C>+J04==Aht#c15$ zx?kNz{&nJx$g!dyG9&3ZR%SX{iE{I(%bZ_f?=v~}Ln=WA}Z&f8%_ zqf^&bHiR}#J_1*lV+@Tu2CO}{o&ed29ut=t4IRV7=Wew(8;?tb;g-o^cYT?hJIxaW z;XT#?Vtd4B34R|Yel<$ny+LCtQ63Qv3M$0tCfF%dYcwwE0YCBl(GMX;JP5TgTBvBw z_x&taG6TV^;J(7m16G=Wl>k*K#}4la&9~sL+&B6==^kORgC|PYa+J6F7#tc}e1J@x z{~EeIS4Cse>Fvyt>!73YsttGDMM$QnlYuoIs7h_d@*?92E6{H^VU@ z_>03uR!DGKz9lNy!ecsq^j zyiv2Ur0fa@Ls%al3ys~+W)fmaZh}uw$q7G_T4*9xDIJzL@Mv@uR;a01X)RqvmNRq-qp_vcuTZ4r zdXs=AAik^6L`Y{Zqr`DiSh6G*p70|fXs-$LI+2pBqBDw7E0=>B^aO{<3dDG6KV z*WGJAppB&Jy?P_W4 zSE;+J$tO$b)!>8NB&!jRSd$mXlW49B?Jr*!oODf=lBrXt(68e&iK+#IM`o*DNQEWG zUtT!h*4?nDA+xvfzdNknx@PT?E>t^{`yTq{O>5UzKi-^-obdCL$@xqM?vG8)2tE(- zEG3o4!CSfTPA*t2C;^Uz^8?r4&+@MrEAaO-md{pC-8$TqULgnn9*!O7*6@C*yaYgn zF^ENB2q8pU^%_DSwD|%`=FEBmZ6w}BY$n$iaK(kP#yBng<%y5woDC=_W-oB*Xgzsz zF^z|G>!l?FXU^pQ$q~wYBB6-IBESZ}pd;^IPu#VRjG|ZYgYcJGE3^Y572B^JG(_CR zZRV6|cW0-G*QMjyWbA+bOUh7n=|pI_xvoOTV8QAWHTffr)Jw`y1NpT10<3Q|8i5`- zuk{Yp9`{nwV?FGtjZ(8-^6}D@>b(ME1A2ww?m@Z1kz%-(Di^S@;Bgh1eA~f z4?wILlMnO-^p6*q;3$(9C%3c;t%pRyjrMhB^d9MKjM?R3!HCc;4C;=HTq2o|->+?u zM+Em|tdf{;titNo=d_}fcmpoFM!m0*Mc+Axp3j{*aDce7vVMMk(}Krbx^CgbBDr%{ zgLzYh!91cFu0|2-u-Y)9uBh2-+)_bau`g4;qrxzn9!w)QG!*oqGf!PNGjrYiyeb-n zT}QzGHmJqMJ+fk$6LfJV(h4Og8PAJ20~cg1M|&xAiPDO|M8HPWW7&N$12MvwjbQi2 zG9scI=)x?y*iJ98A5*O>k?cgTZGPz4K+@%tIgJX*Q%?=QTl?Jo_b;74|J@v2lmeMA zL1wavybF!NfNkQ4VPa~^)id2BD^E}Vcw~HbvNl#c2l&-EtE?G)!ZF*{HtTr&$5%B* zk2E&sK0;^CB$Jbg1ROb4Z;ofD^};=xKufJgH<*Epmf8KHzJj0%esPsjz!(>Td%_== zr*6UqI%+T>1lQr+P!$9A4t~&{CDn5*PU1f88YTCxG?PaL#P#HwPG+&=xNbo#x%_8* zS__B4$h{=2XO$qwJi2S)J#ugXjm;k;cD_gc<`}y7z1%g&2+{m}G&pG#CiM~9@ zQw!b!AqORqh$ZuQSP`XAYH%go6 z^^5EE2GN!yp^y@q`0E&~GTl(0mRl=q=%v-&pmE7mx@RXQc29+PYD;v=1VfoR9Jx+( zA31>7>GTxdRD$PG)PRn;3otkhwq<^H-3;_4Qrk;$tW=Q)S0HHy*b4+6}9 zdIA1}5G^$Y3C!)4kx1~|1cwyHi2|TGqi}NYi>!1UbA-AXu+wRIMqNf|+FfhOpTRbA z)*4WqboBEtFZ@EV8HvEH>?P05c33l+67Y9Af;`qdYuw_Ra|EkO7g=YmjijTjwo=eo zSHjmfM$pZCtEi1v$$hZx50{g}4ZrkckciLxh{@i*j@Y}N96@*E2m0Ei#M~$rF*)?6 zrcfhGQX-kT5G-}6J*Bm-I*GV6mMoW7$>V8}$*GSe%1b94H|ZCKo#W=RQKt0*|IVm|91TAIoO9d1a_zyGGK11f+pYZfU8nh zN%*oZ2jxu(_$vNnS+Oz$+XX&|fM}GrnP1u@34|5YSXLZdvE*BEaico8ND6!=c>@p* z3hezL&Yi(;fiuHcfF2_EHnCaOtHt6eN%@kM!6iCK+WM02$A!?kCjI6J|0M=%oR|AS z2|XbuW?wHeCxlME=^51d#VbS`oo@9@Z8n+PthO|g&!ViOtfq%2DN!hj6$13#FUXRk z#0ODTQ@Jm<=_nzanrf|>w3~Fcx=CAGUq?r#+ruwYC%Q8ktubTh)n9%a`Hn8&RaT43 zKpR*r|Z8G}1N!6a;9Vdx-qUQe@3% zH$A(sKr&I<Yp>FbK=1q>@`8=}|EKvy2w&-P#+74uegai5!GK<7 zN>@=wkT{Z=s`fn)Y@1H@H1=L2IEUVRL~sXbd9Ea$9*YLKqw~bptvzUy)w=H|=$hrF3=OYM|5P4J^I4j}iZrSU!8b@7>|wGIAtJJKyuB38q`)Syodwth+ol-)!u|ln*x)b6;Wxi1FIf4rqnPR< ztHDpf8$h*S&Z1_Tp!bwe9Ip$*L}Ph(?Pz_ciRqa+LBQ6C8%Dx3Ru{T$T_!FNtqb}O z1by2Bp^7=@%r3!c^!5t`gJ3>A^KRi(CmymHQLA!sR*&|8T5P1pP#>(X>UXf?oxe z$5+n}hgpEtJa8XiW2`Q(D%@)jFa|IOQz~y^Vsm^IU)s+kw$}x|9^5!vH8?nUHJf<~ zefV9$H_58TXx1N+dn+}{x`S1*S=~`a34>j{hQSrl7CuCq1C40p2XM_UP7F9}YTHAz zZ~*f1vbAfYx&K8X^7;A%cZpZ7fBEL!3%=`W*2!Hmn~fumG;zPTZr%47Fi_a-KIX={ zjt%*n`(S>V86pD9wFp(r_lGx&+Ns;>tJ;16e*~B95$(>-MgBv%t zy50NcGH&-_k9&VHZwbz>6y{gF33;8o+~FC{mte@np{ZfKLY(4MD64=wgd6qa4U??= z-4+hGz^7DVZy5$F?y0W4Oz*xnP=8f`=eN6j@=6`JkR`;|6^3*F9ryOi7J1T-*lb#{ zZOAaSkIg)TzV{sep_zBctDr-8&pYqDbJ_XD<527Ps5`!Fhm77ubuqXZn4by|5WDzo+%z?$lxh zpFo!9Lb%5uHiAKG;-vhtU#P&sxaxc{L*wJ5j?@BXHCBx>jQ+tpQjP^j;E=y_Jjykd zmb>K|UU$3181SpGGJ(T;guJRA_dHmc!O46s8`EER*&i&2LfOo zUKUE+U2-wVj3pROT?Q7J2<%--qVori0|NM_85E;KK?6dVN#|8sbB?DU%(Hh9Ce+FfnP$@b380XCyOZudAqlIOBOv4wkCaU}!G zES|l6hV~-N?lG@;fU9@u;hVVBzr*SUS`{Jtte`BNf0yV2i^DPJp?I@wydmV#^JEOR zQ@U{Do;~w>_ulZ3*u&fAA9H3oOCrag$d~lt$*}BDvq7Yka;N z{WtmG{`CJk4cI#Y(VcK%q9SnhSFwnNBf8j_rsNiG5KbAFVdjsJ33WPHxj@o&W$_I~ z7w~z(2Fw?iP#itutt;PP@a%N%>Pc9q%!@FzYHZyWvtFR+Q_Uzwe!w?b-w__h+=r<@ybI0X6n54#d*lrta**5L{g6VJGBU>cI~B zVAU>rijxay44jMy`NCX3oIWl5Gm0PpiW_Ra!p1B5mFC&*Oq;hDTzlR2HO>HeU?Om6 z#5Lg@JM5ikZJFOi=bT2bzQ{X20hR(>8@kGeG<}Lx%G6rct4CYNzcNq=ts}ogGvp~m zCvPI(V|+nAWls|VLFLR0wELpnUhh%(2RzDx-EMc%-lA!WXhk~k;%$ZaWD$oL6O#b~Fp!riFf$(Uh@KkX z+3KrH9ZO85Q`xqWalt-x@=+H1Y~u#~MCF?H+ABMZ6YU{172enBZ@es;`}EW);>kTf z@V;?5gO|6?cTCi`zN`u*gd;FhVTg@aXS7)A(#Ph17(`6AqJF=P&WMIrFnaKstU zy)8nZQUE$Zd9tXZU5&P@nGx$05Yc>M1xB90QbyR60l_$&d4h9ifk0c$_|D%Xmo|ua zo7j9d!JLa#ZL4w}c2#cjcr6pQ@%=3No#@qXb05n6^bJ49#9&LM=<|2TjTKJCbxO5T z{nQo-q@avHJo%h$v^v5+XER>HD+r#cOTgHZ_xDMyXI~C1ckvx zX87CjDdzPn9?S}8`ycrHqJ~-4u$ZBj^((qwH_)g{#h|x&_U~8NM+YlW)mUA^u*n40 zjc13;Z=bc!gE4V0`siieqq%2}5gXnmr;j22yYIfMtg@SghACJNMLa;3zL;$E-qLJH z`UchArJ1z3Q#B?}X$Y=CGc!}2`yBm#bab=dFB%(z{Y=MvUo&mLZa8T()fu&X zcdJep!O`K3Y5&P>ToGG1<7E-WpV95)*BHV$w zxj^n6^zFIhe*axFGijgirl4ka7W9S*&gNa1A>*N@^y<+!eeW3TtZ3BC#zqoeI|Ze}37` zT$VvoYm)dARm189w)lm{Q3pqg{#4zY(ar1qclbs}K|!?b#)R#dOrwrwEPdeVvn~Rl*6Sucie((lC;6Ea|<+ zT#lVSf5ohAWIwI=JbL$e{)0Kyg$u;h@4@x_tTe3D_Ng=%7_6Q(lgV~prmY2fdbb8f zebF(8eWTeHnj#P1DsyB9^=-16w7yk6B&{wdI9%W2ViFXWfe+rI zrJ)wGqM(DpDwbeh9qx|u1A_m7<@350&Ke4G!OF-BOt6qR2geY=Yx(%UK6M|5zm{Hl zY8c%B5>&C+MbDdk6>|^M*JNfsL8Yl~hcQ$NnxboD(wO2b9bjbTWT*QvH z$4zz_ukZ1;+!tBru&P~Mm+guSTUrRV#xONio%;f11F)Q;Y)wn|n$wG;ql?ZpM&yN9 zi_>|8inR#g{@#OJK?g)?^V=c|)8j5OFt#G7J75BM;b)lR{T46-fdDvIfi;qX3F1%X z$@22?6+@~>0rVom7Oa?ohaknArvM#0kWd5XmxsbwbJ`L=rQkP+9$JAS+t&v zNGQGZ@ZD>t+t)IJ)6h!Ogj! zp{P#PrYq&|-bZkW;$p&k-+j5ek(bM)%Y}4e?!Nmr)h8NeT~Wu{aLlsB6|I-(OX&o| z(>xeVZ8*La@t3R`OJ%!Z_QAQjsnBzMfFdi z>LsQq#I`~D@Xl-ePV8F(Eur8Cj--&B!cimOG5nySUr>^QsB>@PEx zLNUFFe|FmIg=YOlo6WiJ*=NcBJ9`$r`Ruc~V`ph46#-#C$5W9jZPyQ0H>T6oFoHD& zVr43yn#$zY;^X3kai&2=-Ery++$h&q}G3<$GljX)c2X1HgS)jyYDU`ZXbW?>+%`@ zpsiO*{_}B(x!0zwMs-*fO?GvecZ6S@K6h^F+hz1cPq$+ud9SIpx4cu4s?v9AdL;n5 z!sy(bm!10q+Us`zVajqi9doSJO_?*!bU=Hf+l?(`?5CQj{TyB3!{z&9r@%h8U?XB# zwXDi(;YdvW-U>>Z`U;#nid?`s3d}xoIn<9)qPc=l2)}0)7}K20qkL9!Q@i74?-es1 zek`E3SrmRh)=5*_Dw2Bw1aoxEG}FiT^cyMyJbkIPA#AjUnlf%vNq5i0O@eQr z|M@=urQE0$_6HGD{{z<&eYBW9+5=+IkAkKgJD?lL2&Piu?m=DW*Jgq0E`(E;VHx`sw9t4oZC-D7?C|w& z^^w=3P0g)?ZI+%{Z&Uh;hEwR!9;xf(b`IkddhJ;@^MOTdi{uW$iic|3u%=C!3^%u= z&=C0@R~pSVIeH#F9)o2_hvw%i+uS$br&BB}XjH%hdpw>okLQ^C2#hCZ78xkNuL^dJ zET8!r&^P!G&R0uQC?KOi7j7qiKlw0m-r8VM2#t%Xsh^?Vj_Y0_SVa}X0;XI%dbr2s z!~|UdAP$mb7>jOyDBZ`Z|3ycMwg33eNqa2Tco+)^!Pq$MJRAp}85 zOiReB78k2>pP{Q9N1e{2PP2w%^eBZOFL=({U0{Q^LCiTw<-~CH$3@$v(2juVQgFAR zKnpvT{)_a>^Tuit$snT;q}phJRty~BQsCG;_Ba^8N|d|x)~31dC$vFT4-9l&S4uzq z5}Q4-2@TZ`MfN9LyF9LK-sn`@@DAba==;wJ?#Yz~(Nr{we)AHUwXtdbcVaX)^1YOM zx6Ddh_R>ou4?Q$pVbq}SS9k>(4jB+~TRWY};URN<%GjzN4@L+^a%Lu(`zN9A;FeW% zbUf&A^lSZHT{b(@>3pTuqD?xf*ybG&+f2iZAZ>vbkeoGxg$g&1*@t?7*Fkm00dG;7 z>EANj?uww!kf@{ zE^z7hlW)I_uTR!JPTPNQ?f$j<(U13jdF>L>lc;Zh+y-k>Ln1e4VwCb`^eAQ|o8PGOQOQo|?m#$X3W@pD;MoYa#N$yh#D;52q zixQEpSbw03P{n6w%#oN!;7;>K|G%03FxnSN zMJPT3CdFdt0e!yOHG-xOxP5rQ2U@SEwYI!j8M&rP+iy(i+thW{GS#HXT{o?9Bs)Cq zebbqYB^kGk1;Yt2JR+4PP*!?58oZLf^M^a}waeRDYv?GA226eB9i_F}H$!?OIf^!n zceIk9qbu6m`VL=MbN>7qw<%rkym0+TYwo*mO{^g#KytNjWTcHOLR&oF@*bu7?(qDR z^MENSh}c~8i7^GR6cwD^RTc?&#rb*;kVh!GV^X(E`3s`2+91o@!Ljm%g=3_zTRF{de@pxVK5wt8+EU&**zIVnO*D3y%nW8fPpv`GxrEYdo_FaCj(K7s zGe3%bEh5LUDMNLlHAV;S(5#{&o>bW+~Sk^e8b*Ctj`89gpWZVOIGwT&VR4e zr-ZQ!jWcO1a0lfV6BHmug>sWij1{2YN}(wT4#gno*JOH_Q|v@Hmhd*Iu65I)(()Us z34PMO&fvP%>0IZtkVnv#o`&%&AcgkMtGuUjF-~z+2?u@g3S7DCPM$=+gw8SVQnXyY zZb>(!Ag>eGC`JwKvYL#kp{!nv7Rm29Lj)g^r?K3h2zFpJ-2pZ96A&M89=;LV>8v6R z*d6Z_;%52oe5wvdvf_?m<$6);QlV_DrSP;k%7KGBhWtO{q8MQqS>^|9m_nZm)@YP} z9iq$;j1SPV1TW_?r|>_3s40+UOIuq!p3RO_S4SdQxeQv8elKPSOnPytkXx*375j;W z+v=Ko!q-)`EX7U3<~AG~KXf;nc`HafLoDX9XbiD{!T-t0lPAfe4GoIfvEa~<@ZqP1 zzIo?F2Kj+%RpTQSgSL^z#u3|KMclonO+In<(MrFD&S;YR?d9XIY;VtGvZ+k_pfsx| z*zw6pojUggkyQ+=bJG#hXqMK#?!6v#&OkB{=y8ncJ3^Dy)sq?j8(87sIPv|EALuMn z6tV+_sRt4;;8zzaV%`A`%Ew@q18#W(k4kqiDeC1}2T&Cc1qb2G*R(?v3jmt3h~RXV zJ;9qM$4eNIJM{}v=?zf^i#N0JS5#VjaUe3VTv9?7LkSPfhz zazFRnZT3i6v6v?2iHcL>(a~GRQSiCvoG$qQRTJZ+w>U(FvHg4oY(!-tPWuRM*s$^m?xkU>ny8KH(3* zuESH4vMco@0}#7`ZBMI_7(@t2g&&yp^6Uqy7?*lc3<&&%^$o-HbIMeBK#AOhjV+V?-r=iNE6e3!GsI1)Kc9%Jt-EK)`t4lFo>M(wzDeQ7u z;yRB9FuD%%yYJG}P(NgWif5c{$wzRh-2Q4NS+VvChVg$GCqk*AybXAXaVY^3VHBb@ zAFORpNA|^gnv*^8!CCHpwDTzMXm01;q2FA;ckcslzO`lZmN3D%`|c;Qp3$bMP+wg} z!9VoB=qKvQ52hyP7Z%2R zxlj5VMw|P4H^e*r(TRzTt=1OQ@AF+xVJ(}=r@cqB6**RTqMz!EUp3i0j~-TBjzVc{ zfDRe1z|3nOU>6F8S<9-Nf}jG6U zABMw2!`8Y~w|B^qB-ldd+*|^X#^Z9q>hCGH8zS1TsiSrUU+Du}QBZlu7Cc3Os&84I zrjn1HQ6PQM3(8~bMM1$}1GP#NuCE9cpbxcjkOsg4&oLllaL-E|RL~a~1vT`2{p)>z zod4I^8XxU(@Ao$DiJC_(9qT!aqv*j$X%Komor{d5QX_W^$6~{G5Od#rxhyK4ts4%{ zH63|k_UwV+;2yj(uDu!7-Av{_42OmqW7+C>>yS8EPOxx1vZRz| zjdowQ<1S$mU@2U7XD+bIYHO})CR}Y=r}JGE?i{vr>{g{tF41Zg67q{-H=4Giy2!v1 zopTJGf0%z~?xznPfPI5R=;^0(2VQxF*ae^8h(s=HG!JPyWwoh>WLB@EGsjBQYGfyC z2_+gJ?;}SAtjgdD51_$6R$Ukx(o#IoLH_e~Z?X&P7CvC;2T+OqFLBETLWD*jTbYRy)MI3T->gyYkmZjy#mI$lI#@we|d~u15}mq{~w_ z!hd-Rt>4=1Up#W;2rag85gHucQ8@a?KiTw2^W3AeG#F;5t>j+thI*)u*Z4$i2&GxQn<>JNpk4+1Z6i?XnX^fmDD5};Wy7xWb} z0=Ra22h7;KM881UFr`NT2o#_}stE|Ci3(p}0~ddF3AKQ{;6nqHhAj$(8AwNmO&st} z=$*u$3`~$N?EcZA)&~Bg^ba(pv8?dA0zPApAIM9qs~oJ!Hb?fx1~LhPbkrjPamv|M z#TK@VDKpd;t2r^QovjoWn;U9EO#^~mXzfwqwPc-0sbm$uE>*}00UMn@d>A()AznH6 zPb`{1&0y065<-8N9N^gazc6x%>BEO}od-)ucljp->wk zq!qmdy?VO4;wAB?)C|=a>s#dCOgB{(CoYsRYy7M=5a&q}oSKP=8aRS)HjS~$6Mq@# zWU_1R@A)^-@8__cJ891r3%pwhL}x>Q^=f5FOJ8v&;j36;)-$af=$d0@SOO_5`QURX zn@A3P`wq;C(5$M=1BPCnGys@`*$!yx)y({S3n+3efvsl426CclQ3nmPx!^G~7gy})Fj zpL_8|GH@TU<;53sNA5$r2hzcAM`9|e&1 zXfJu*o*-Ds+1YX(fEVa?DBAk3K)~%93j$+updRsVkk|Gi{Yt%7H|#f=#FNyhZWaoU z0dhe~u^Rz)4Nw3GfQf)Jk*kpm$a7JIF`UEguax-Y1A$n#VV2HYQ&x(M=u@)i+~LEw zcH7y##VVzL+$|iHsTxmQdoB8Hd!~eys9dl0?g>mzhwVd__4}bh`o%{K8_y~9ILn4AVE^)b-(vqqAvcpb zXzY?f^-6M7me3Kr*xX!MDI02^AZUEddxINw)~j2ZpLT2rNQ2uv|F@}CG%&*%ohz9e z#XpCjH+45!v7JcoVuC3nO;VCmW+IEkKojLo_y=e+&)yA#1ksKK$tW!Yr$ z>qpH?=xQ|lG)caQUVb{a|HT)HE1rIutbOrCTE#C(hbz-PSdosIS~Y{xINUsVlQ__q-(- zcxVXi?QBdh)OglLW+$9blzQAcpkKF{R(vBmcboS?;vCuT;E7x-Vjqd za0)VO7h@R9J2UcjGDI@qUjb6EL9^-sJb{C!t0j$+HT>d5t6{aMVY>+k1j2@S1%BB| z{}>fqhu6^8uTDtYx&oc%NWz&Z>zmuXdwhH&tg;_6a=5gZN;4{xZn$k9Y@M!mN<6Bh zX;c&3d8>3I2;aF27{GRxTb<&OYk7Z@jfj9)?_VIO3YC^n-5@Ig5lm&rkq0Mm9Ic2 zQrMJ7Cvf{$b6}qNR-6)SULXVX-@x0zngp`~dT;#H&`tOqV3OhVF2#26CDfE#aq~ug z@DDf7FZ3uc-suD$ktb%O#;k5{A`>w*WPy-f*Ir><+3 ze-&CfC^-7XZMTuH=%s45sV%~)F5$|BLWHs~vP-Fd_cnZyKP&gBHA0vP?AKe`Y`PE7 zFK?c`a#Ovxc5YMGj}Mm+pWJf#Sev(D%drzE&bG}8IhA#~mKIfj+}ml(Gy(>6MCuh8 z9U;wP&iyUgmLh**a7h>mM$E&G7BeLRfy6I#iyZo%^wDZ}ogMyfH8NSI%sUoJRAfVK zkP`#ii=kfWL-2)5fs2zcRbwyA)i?;qmX~cHN*=xPu@k^C1l)NEe}08Q@!3Gr?`n$< zjsz1H8z@ZtBn(gC7sHqMt%X@8nByVNfHf|7Nh{i9yPID;^!XsKZ>vt&su#8-B+fFs zu+dXO0 z-!bf%vZ2QQVaVa@po$gOcz)Htxaf>i+8g5y;A+0WKCg`PSt4|zstoRl|Nx+hJ^ zL}#$qm4af>`T00N12>U4VD)?VSWBUT7cXSvKu-Em(7jzNcidf=+X=ZVGlc!9B@r-> zVHsYjj3ka#VW(O~u@_a5t)T84K47}wZ$lO;h?xvSC`MCkF;mOLq^xBvB*rsjE~;&K zicM!waD~o2+FMMTDP1+QWy_2&tne%}w+@J|-N7qfVv6p#i$;$K6_RRsnWvZ?a@sA6 zJ2;Hn(COO*C+0#rl$#6R7>S_YKSf5v$0G!aP<-Z7!#3kcIC4$IoOLG{V9yezo-AEy zI+CnDbWNAbDAE){7k0jvVAd6JZw*z8tI76VIn3+P;OMh{{!f5 zhy3}gv^vP2<9QDG+4T82&PA}RxS+)-H@{#a18G8(WCIc_3RDBYh31@K7>FLm*_u^8 zA62M{O(Jks3h)aGEsUq#;m1zvnrBX)9KZF}Z%sO*-MYag@%B=!nn!$8+zNWCK6SQ! zK3GS;jQrnPBYH^XNsY}4j-p4O5!_3D3YO0=L_E)eOM{+!8eh31Cevl6uNl!xzDdu_ z$jFRmGTNT@vw4JoHo;|+&vR1l_S$G; zD(dcTtZA&-0Mlf#9^p}Xqz*V{0(^@6oNGLJ3|ONulP#}NRyL?orqBu#VMb!%sx}rV z2cQjB7oa2HRjTUdDuRyH4SkYo+W`RlCc^ zqIqXqTKf9>2M23wCy%2eG#-oRuaSk+932lQy1ccW zZ035@dIiC|k`(IsY+IQQrLV$Q?j9miBGbqv4B_0;Sfhc?bcZVH6NhGu>gm|HYif9S z$~7LFc3-|Gq6}PKzd0yOw>>e;t*@W`c;8c1yW8Z0%1nIL-JPu>*fzuLEH??Nqr0*H z@`0KJ^e}j@_xgO@X&NC{>RQGMvrsodpYk3&O%i-85W3Y21tJJwg(WdhbWB&Q zcf-_2in5rtO{y%|kBs7K3vW9ciga(gLwM)Zx4uQXT?Z0n@hd9+g+{-TcGNyIN&F06 zeShHX+qEZN?Oda(lXh#nq?zhb%b>j)wUsJht_O2VPgm{w{g(6C~+&ntq5i_-50MI1%kjSazgcz=jJew8Lg59yw6RM{{|cnekW9$twN0auebzF@sEI2R`_kyp+n?Q22;wc_)Mw) z33b#kRB2hu-_qOY9Z(K5)prd@9OY7dP@|6ooTZ$&P-hZ7{P4(w4_ZsSAwd~m5|^mu z%7~?`)X67`F1ID@n{=){Uh8^y$TVVZ-;9g-9^#$;@^G2X7hrK25)CaTD|LivI-!~P z?`O!@%|d}8EKo|haha-87!??VIz)fwnP+b3ZisbH5rplZT0IM4V4j#*a-QD z+FdWtj*QISW97wMBCVv{sxhhHWu4MndZ=kfzj{#LD@&(!ZJJ?8HFV3w7Z>9YADUMg z;|?~DDYrAMdQHefw@a*bZukFKrBa7etS^&U4Tf;3NA4CGUVzFN9K6MQ!0rJXqaJb` z7i+Zftn~aeFPK5eD44PUNf^)z`VVWte0UmrAs_}AzGQHiAdIX_WU&w>0{q9$8-^(e zEUi>S!Bfio!mnd9jM~8qL67g+C*7OdbtBd5l%m>=f=%bn==Em?&uF!0?tNYGp2ana znmf`d-K5UDH#XN49myouRv#VEtEHPW3+R|UE?t+Gr*hoj$LMer%t?N3Al z>=(ih<0Q7v6b6H#*Ee4*HwxK6M>f>@;~FC~;QthOaGR+q!q}If>T+?U8=wahFigdk zfP5I)3m>o`{QGyX4F}?Z89tZ~Am zSy90HUu3U1;Rpy@Wm%zyg{D3YAV#zLBU{RfOu!$45x`v0tvFUZJe_)GCXPc@?u0383Db*<!`=Iaa$C`Au#RVrd30o z+C^KW>(YHN7ZHYXmY0QXRmp)cFlr*EIWrDoVIom@x;g`9&r#IJLb4g#HKI zh0)(adC9T-6GGF{qJKG&c$xHBn!B~_vUFrHQlIuYW0|l4_U@v!x8P zNr+?BQhRkzd%aLFkt#2rC@=9EwAgnrL+<-MngQ|?IGfUa(D%DO{Lr-t(HPP8b`Q&GQQs2|a|7+6ZmH8GD%0VaC|rmU ze+=~kdWda~7OV_hg@NY)T?=#r9fQ%%FDLLkA3!;fH#~NMvgs_=A}p>@O@Rk!Qn!y2 z=Xt4z{qj($fk6@n58yMTy{MMGybLp0)aV)Pk78bve z#%9qVTjjBo($NI@Rv&i?#ddQMd1L%ZW!+y6z(vxS$OeleMG~=qxbpVf(Y^y@z-mSB zB@@Z|Fs;+nt(co@Ab-15=~aM>#_aRO9o@Tcy(%(3SL^xm5A{{GEeSxe$*5&XGc)7^dIfPP_ZOlhH8~k$Y_Kb0O+G04`N?-0x1XzLDU|;rKYQ8h zogcg=p3b&n{e*jGa1U!E>gYzK=E>l+z%GccTDHpH$!yZ{OasEfObE|Khu zIw)@f!Vgd;9{em=-~gx8nNT(Y{AS9Q#zz519R~9x%mjlF>=2`ZHrv%TxTCCDW*Z-G zZSW5TYGd3fsi&*PuM1@(yCbRobaS9?kasy6-OoK3*O|Nvsp}S;_Lho}zjmm`>$5d= z%^qx=trU0~z9cch;rg|>k}Fs=NK2)G=C$PL_=ywaZ6(>!$!d3S_couKV;}F@vNn=Z zXKTEUwvPHtnqbF(d}O9?t!%O~IF|BN`I}uAE;wVc@X}bkVvMZ`PyRLdQt*1e2X^!M z-||V6nqXi(#!6O^pNeNYp}x7R5KX{a8j2*#%A_Fen7H|e=n}xpbN9t>UerQ)AGe^C zD9;4u^1^)B0&rrv0dP>rgFlBVvJbz*eO+zR%h+A^&We5-vn!aCal(?QFciIF>;$FwlkmL2rN`{Vk z-}&<|B6aTdT2Hs8N13c13|4D2jEe8Q`s!z>u1wP0?D~@>OB9=6FnO4n`z!j4g2;bD+=bz>3AaOv}5rZ^0hja_Gg9A8Q0a2#HE;X)3J1C;$N% zBC!_-&{+uIQrxyYEN#Uk%@{gn;ChJ2 zDA4aMH0UO(5Eu+XuT^F5mf1?$`$}qfz8XQ?s4me|-~3Q1&m=q>7*NQVeX1)?hb9Yq`qO; z*RE>Op??8vq)3FW?e12%o^ofBS9_ils7iv?gyl*J#Fw!>i}O|Q&`g)qH7!r3-HIn$ zU1FfFU^S*B3yv;?qcA~iV1aD~o0DLO6^t{bPUBM6hGzDH6-%85FuWYMp#gkQ;WY_{ zYP&a`!r4?|59-YaVbYOoKXe zpurl=4z|Rs?s>tL=-ONO#LeX2&z`-D+=!0db(Z|;qxP__QY*4HTf*v2qq9;i6F!GN zLV6(j!76`S)Jqg4+Xe>)2Gtc&?e;OVlYF?Rd_dPLOI5dIha@RIIt1G>woL$EW_s}Z zTriJ%A8!|Wawc{Isnbsb(M2lkr;;z>WE zjX;Io@)TZNL4miF7Qr;pf{~H85DFc{xQiC!Q2s+c7!1Y(Hdz2!tQMFh2prAKx7DsP zdke}D3=RruF6JJvIfA_h*dGAD)_@TXgaT5Sz|#a9af<_?xJw{Qa3yjk<4JK-T__rZ zI?)M@!qfC4Zstb^7~D<5Cms+#ANQ78OQsd2_mV$F1kpKT%gjbYS4I0f5*^j8Q-Z_j z$j!LU?n1~gtE1eQWj~jZyu+8x?)MxK2I#6^SY-on2Dhf4#XczgGvg82m zsSqA?pDHksF@ogzA43U13UDl_(TgwRcZXNSB?>{qb5*vfzNN7mPFg4X_GyD8%vP0IytNhTz&H*0QmS6-&`8ISb}TyXV<*i{ z3+zGXOW(cUppQD6d;?2M%}P;~G!SPQt@eswDx_8!%i}!esL>ZN`NBif(?j%D&%U5& zVnS1q`v=Yh`;$L_8Wt5~j8BeQ9q z_CWQ=AHR+M{N_g=Sq-~N&=tQ;H8jO)Qc;31zr z{pH{BOXw}|maCu>b`&04?Va@vUbVNJIay3c-hNazGD7~UpZtJEaEQuObF9tX2$O=R zr-R>o17Cabl$<>brbFNT)8PBrpbigjHeSMrk)Oo~>ds=t z6TI=};d~D^JX26pjrC00Mb{+^jEJphob1HOVxSqua`+igkFbt~A|DV@1^^=iJ_p5z z*GJRd1ICK6GgYqPpl4{6o>F=@x{M}c`r|&g+^1K|Xdb@Yp;nK#mF> zqm;CT{nuM1PJv}Xj)l`NCU$E_kQl^?Og^9eXIU4USJ zPp{q^!CG2`Ml8%G8_IT0E_cLnT5#ClN*RU{M;uzHPTxJDuz{iPmO96_=cxujv$y zgy;X|KIH=uU!q??>I`~;jyEYH7m=}Eh$eX&$%KgNWPdTsuTs=6hVQr@ZDemd_R(Cx z=9P)`a#+4aZ4tpCn|HUEwk|Mhuc_QSi@wc9&s3U&5l5}%srmWehnq(54ms^#pMjXw z!R>tMSiXhL?aBBXh5fR~VYP%_JQBP#S(disdE(<3sZ4tgKPYSH741S&P}^2G9EcZS z-?z~>9AeO0s(?4Y+hmjw6k>mhlGA(sn6FV)-RdVL8wLi78sV;;3V(QDG%iD#JxhPG zS}V-v+f`$9Dniqyp{qBe{p?*wzOlhS_S_)^o1A-R>x@o;T9dO7H?#lup@-PVU)2>v z2H|?eJhJA5#I%?hlZYDF&nAU|KR@sQIsjoKmN(5`p96V|16nn=a!Ueq2%DwVW@}kY zKyGlP2{B+PeguKUez@d@v0AQ}u4QFBPaRI=%H%;@kW;45cM;gZRH5(gP$sKme`fOZ zdKvUGRj86|-aS1%c5~<*bg-$Zy(=)45qTVeoi%1H)TP;k)G2S5S6$&0Z}01K2E^%u zknKczhujKuYsJ#PgNB++o3%MQ>c*z)@FLpFUcU9U8Q0_!`_b1~b5kG)Gwj6C*~!Vz z*Yk)i?X5lSlikgMwBEp|42DoHyb#dEggxs0bWu7^s|(=E=P+OAmAzz30y$pQj-ui@g=>)0+fS>A^co!8iK(g%n%Ba z)xR}wt4X@-559v${EB?{1Hm*9^Vb^7q+5sH1mosET4PcXB+><=#ma5sebdq{8K<=A z!)k5pqFcrHyeWKNtv4Crj5skykc3Re3W{yAs!L$?L$RyN;}NI!rPcm$HyFPjqp`|p z+!>6g!WPEbcVshA_J)Hm&w9t;1_A`RLm;-rL*!0Avr^N6tiO8 zdd;kMfSEOQ&?;E$>s0D0X-7a-c+n7|RQyT4a3?b7`MgmctpIAbu%9pRGr!-yox}TI zfccOXuIGJp%`|uCa{rnepwb1!MDVu%Kx%#f}b_Taw*20=`UYK!S*awgwpUQ8q>G*jdb~zfs`C&bE^}#>XX2KJah3&EyknHt2gHQ^>t#4Lo8?x7aI(MJ z)vdC&95CZhVPJ-{K~VO>u@R0S$?F?PK2_IReOaKbp8ZVgoCM?hMlMNppnZI)z?cZ- z%_>_1%0DNhZ9Ya%0UXP2_Q_hL#fKF_VO6BJFX)kNxI!5Wbocw^=obv!G-1D$P=`kL`09iVq;U*cX4bPi~YNe$iqULSNY`b5j`p6>jS;6pj|JmHJ}c(3n_SfR<3aa?TEMk8`4swwFY)g+;@ z+bnXGz22kO5=6*TWO$ya?|A*@-eibjti6X8(Z%eg;TO+(w%)rHefWh$U3f}=a1Xy2 z($Ob$)`P!g|HrLpXgQ>e2-W;?`7UIsgy2kMenSg$8{Z?> zK~H=M?L6-{{#H54V$Ed*pg>UVz!?QNVW2hGGw{N|6K<@7E*UBuALqC-38!!+-+?2= zl|XTY$GI3$_QT&Jgj7>&&0(x4|E_gTg^cLyGJnvqGj3%FL~64#hLLA7+RP0UU${x2 zJH7sU$#8qPF1@!xYo(+zfyE?7ksjb;UY3Ry1if3cVyHfN@jORFy}a&uM9+!Cd=XZ|x0+ zv~M8XV`*`lNWAvlVrgRNmP{}vt$x**G*XkYMP$nf$SJvbN+NDx|9zHk*Z%p~F|0E@ zz$tN#*0g4}j4_<2_xb#6Rk&9UWw=NP)T4whW3u5-K%zeJh(pHQSEoA0_MlFjMapXpuw;4xm7yIp}DwH6vYGD%tDx@brB zhNM|qmo?|jAz@k}xsHd3DS{W53cDH8DS^~X4+QH)1S#bU1$;p}B@>wqY(Qm|HOZ^4 za*B8K_Idnb@GlT4^$m&CVr9R{R4|+S!_rg$j?MQT-V7^GuiWz1q-*-rHRui2+A&t3 z4Mv?wVL+jLx~X%h?!d!8Nld4VK1qkvXh0jQydKotP;FLknVIaYYIj^a;}A#{c5}hn zm=1<`!?_tB9T$RIfiTJpNzZx5z6p@2>>qF>N^!b?XS+mzFLZ%LEA>Mx&zysdYsyyb zpQ*-jgydY65Ut2Lkea)uz)>H347_I9jgxn?XD?ESw`e4f3Hc2z)tC5NYStnnHAjYqf?v+;l)e8XvQ$hTbd>11&1vEvYhItM1J8Ld(YOTY84nX=Fg zI3W~lLFNkR3y{$hFnhy(J`3PP@BIANzM}ocP4vsVjSpOZ=n%BI;au@Wupdo;yKjR2 z>1%K#^kv(R0f+OEI~?YKiYUEY5&^IalLE?j%RzhDRN%-Rh>fiUt~ZyVhgCwG^I?CR z`Lbew`Qbp()&7_Ko>-E}ci#cH1jO}f>x|Ego)c;$*YPLFfT~TPGF}JA0}X?^m`x@S z@_2kWDAvbUh^;gmwwPMQZrAN%F|x)SJ-v>QG<_(|#rF!G9Q|HR@_0gXRPW3;^hYd` zV!p`J8)LeJe|OE&Cnb@tNC(Xfa-gxs}hbkHeIlbn-HIJ`(0b@g7a?vYn(t$kyqYeQ- z^d;i&q2T6K=>q}w-q^KLn5Cuf!Um{hq%xTFu&M(pBJfi_Nc4SzWzXxOF+ah4U4WH2 zpGF5UE~o}n0nYn!?&Ux#^zaYx!lgyTAAF@gfKv^rg%)Y0wN?vdb|Pf3O6_i)juI}&>I(^k)*>m-9v0}O5{cd{ z_S(FAYT4c$m*3Z~w+r;TyJ_P~N=76pIQHnd{>r zzhFU4J52;X6EOuUCt8NoHY6AnDfMl5EU4&`Ydcc;O8Ae5$;}eI=F50mDmz06qzWj3wY4 z7`K|~tL@;j%XybV{K`WALtNhdKN{Z5yDMrdR0rEFnq+0x74GPWxdt6p1K|q$ zF0Hp12|}uf>6Fmgrsxt$S;C`f5eSM$ZDMatYpcg0S-)Rx$ToEvg^DhdDZ?l8^p z9Nz6dxEVsO8xOw#YvUfg9-U+By5}eA#c-^7LLeQSsA@w)Y;BFDj{VIqI-{QcAv0|> znGKLf31%fW3*lRO#h+F*UEHBD=qWXSk|)|(iphk|a!kfUm47^X6x&5L^zeTVdiXoJ z+nA-jm_UsZrm@O@wv6`oV!{TucRFZ3*sxA6*qqm6?Q* zSs(7XTlOs9$7lsP{-~VT6xRgc5Cjj{?{SEGlSjwRo(3@Z93&-b%s+ywpL#;BjyJjR3T?nt8_YAhO*WDc* z%PdSmT9~_~ySBB`$?R>>^0BKPmu*7Y1`!(L>&0sYl5X}l6TBQc_Oxn#9@AG2e&=1X z2yyEnt~v&NI^cI;N8^PtBMfz`u-5_C;9H*Z1WJ|D>GIX05*o6CfS2qVWZLwXfh3M) zU!pct2+BDK{89qI!Mm;u#VSnf$7*KGrbi!%LOv;~Yt4003d)CKl_ATZ!r#$Y!}OZXB{D_Kt}yh59L~sB>Ia+sjq#kpLaR-3ucGKUVKnDNTET>JJEVh9a7Z?AdxQ@J{lcyT0w`cD;2(HSfGb77;tNWct8Bh69L*Tm-x|H$0OXxT zF4#T4aNn_G6PH|aYOJ!mM-=nNwFb4)sBs36GL~%CIeZ7JpcugxYCDniYc}z=o*tiD zoY|L9n<_hdt;z=}O~j`lk=4z9Vl)D%yvJaTq(gp-dEm$t!0xAxo?Gu+|KxG>JZsX6 zhbFWY>pIqrj=~=W`aP%R$h+AXkH1b7Mf6-Vp;x{>RC=qx!ie$ z>Ue_|*p-qAp?na7IXL;gFpa_e@^U2>z>AeW0JSLr;3MPH|bqIQ8KMqYQ_=nXgUed-QMlB4TIcBQCxQ~lC^Gu94y$0_kbTbs`c*j`3$ z%rth&HB!jlcrbA>S6$s8bI7%FZG$s5y4PwVmYy)1b5`pSS}S#_lVP95GH`ervbVeU zzB}cZy!$kIoZXT;kx;rqeSydpys_e7JUzQX;R_81{K`yJZzlE+OigPl#LT2(7e{dp zQ58zs*68SHx*;f%*LH>5Jx9)gv+PmTYD z8YYK=U0dk1NGF(3?LdaAmDH?_{Uz{2rKiw7zea5rYa8`XZJ4ojt2I%%s>wbQF*#d( z$B)k_@^q5@fzn*x;B(j+B%nxKjuRKLp>4*W9Sm@E{%%WPp=}TsTPS+r&J&~ z{ln)wBFGO=mB~a@K6Awl`&+Yp*Kaa5BI>1dUwU##(Z%lB84G4?eih?33&)UbGqPrd zV?2#)ErqK$Qv_kvs!}^=KSq1lJCDCT8H~8~5}CeMZr1eK8#dQh`HJ-w^|zXG#r+%6 zV{FZqeMO_gkXs0)_52P&MMT&p7SIYc?bqw9>A==qy8u^L|Mg|);J)LZvb<_ELK4J9?c;D0&nO2J}^}EpIUnxpdVEub6$JU9PZbrDQ8a z_&!%Q;=fB@fU1be2sTzA@ zWwX=o9it55gh21;ye7~))$R#2_lO+1saCCcu4YvKz(roZ#)z~AUr^guZ5r6Ai3|1Q zByi6Pu;i%FxmMl8em0MRuUn9u{m-%S9-OmKoNxOCbWj6RTvO-kCET8rGSNXBFvdb@ z{{Ju!SE>12XaPESq4*7R6W3KrJNC-X3|K2vwF)mSwoAHlY}MV4?{y5xo1B$7>C-4MIsVrCP*xI+DM$cAGVy&?H@QCbdo~8Y0Et$m(o)FS{n8sFN3Na7(uK^eBr|>Tp`=O7#wf zRHH^C4j1mVs@LJmLard-8)%fT8RZGW{V{sL8-?`9%RWcz+)2O7VD3J;5p37JTi@U0 zn0fgSdYUyXZgoV|CfHET42g{*gF+kYW6WByp|2`n)G2NW>Y~uHJ1GZ%w}uc*@wCz@ zv9OK(e4`)-Z7p|OoJI-m6V`yA`IrpBUK=m$-H3i^%6k*^d#}NFxDnW*)jnsnX`*p2 z3x%66@K76G3qkp?kGZgXbBQ=^87`-XckaB?0F_6!PXIT~$l zZfjopzzo>D8U5<)*|Q%i2~zJ4#N>Xfg*e+K*ZcR>kRkR%_K>npngVnZisy^q$Zy^E z>KvpmmqHh^sb`%P&9nb%Q4>+W-@o+l;mrYkLZ~CB06sV6AtwichXP?UGz}p#hhFu; zT@I9JB<| zpQC|5oI)UqW5KGnwNhkdCAb(Eln259F!V4yO<^YJAWB|I)xU&`l++8uB6^>jf(^UN zya1m8e8^@>aWlsNMaI=}gLY0}xVo>XPPI0Mi$Br0vJDgHZazunn{FSgt7q6RXy-_P zK~Ey3%kE5v27Pf~ZKqIxW{?QE1}ePqXggw~jD>1Zd}0)+ruzD-mDGj_bP0Rg!LP0NPM^63U@TSFSXKjbrWKXFgQ~PuFA{o5OHkc5&>Bhzq>1iv zjXq@&Ov$%FIuG0v*&)S*>h2tmSMh}-5`aC|msDFE?0=Z;d?nrNvbimULXG2S;TpwX zUnRduR<2RO4vw*v`A{eTb6$b-#57lW!am_kO0yEEfj=+VtTflR1lLO`h}Q(z@U6hX zD?9?njE5d!zGRt8r2#zhDRxV(#Cy3GO&N~{d16zqP*_puyFHlZ!YOv!5RQaG(?C9?7@Y_W*2cdbSqsJstqCTDgbxC+je_)tOhC#nRd6K9c z8Cf@3L8w|LJy|xYt4M`RCVStJ1@J4U7QeR9Hh=agdWN+xZgGS)W|2aG*0E>Sy1Ar3TuE0Y%^b1D-1~C8cv17Br;Mza{*UY8Rlkg+53p8OAG@-P0 z23JjRud((YhD11ENnt53`v(lMVxWryOh98w=7S5ExY{>YO~KVc?y|X_#y_}hqDqm} z>a+&<1K1cJRyI-aTFZ0?GezDZj}Uw+ThVn}AXlW>U#m=`b~SpgVbb00+13!tWIpvr z-!_;%okk7l1D{hAI!@-y*{?(R-WKH0FAJ;z8u#}Gwx(qPus>WnFUAi;AOAOdL|w`g`T`K z2)lk4UBmWx#OAcI2mL;h-!60ouCeR1a+*;}5Fs8C2u%zcyfqkfFMUhAzo-)htrH;q zOoe2IQY+SrsV4U48xa|lUfDKbMQ=5av!9~yq~CAdw=ang$WS2nPeCuZ5$amgD^oz% ztwPE%gzHklNfb_wOQx#ywX(Coa4n?=0|nOXJa&se<^1z9H@F`M-(5~JeSGXrASk$i zYC!F<93qvWt{(_hlvAUz3&f&7A&afqsNhK~GMik)|DD!aXVyY911aG1`GlX3u0jM1 z8}bC?((_7P0g8-$#bQjw-`6g7S*n_qd?8wLR|=zt^we~1t)Rf)-6NJ{>slDe(w~jS z7$hAx({$Wqy0@k;l#X~Zw;lo1qZanu_3w4r2ktu@LzlAq zA0H%oLkdPh}@$1;nx(LEAep8YWXn7;D z1%TC&U{tIhA*GG%Pp5c!cK2=_mnSOz`U=>i0kBMXC(smNFnH?*^zb5}H&_k&f}tsQ zXARpSh`4an#Z6Fi@MB6>?xO^#1>2+x&>c*Y503+v6$3Y1fg$4@HhC9&(;=l`R=uxI zOh~eoJ-3E486Eq%);VA_2+^xj? zX*}`HA%#vNK*86R-m_Y9xfaX`Hehc`Y5(3@QpSD@K@CxrSsGErMaiJq1PQ`sfEypZ z_JvKh#x0lbhH|2{Yuwrz=noDI1p5Q)h`8I$M!u$@^dNu`_e19(#QoDM!<1Ouh~=K= z)}qrM&)GwV*d5@dWCEoE8m5GB|NUji)9}teJlj+1{oRKrPq@pW%OMe#@=_o9Kgzsu zM2aWWAvvd3!66{}c>55<`=y9!mH7w0l~n-D|0+_K@^v6}Ha7?c{j21q5((wh=`A9O znEh{qr$g*@+I0YA6&rGLlQCbLP3HBC(_E~!710&{0eA7pLg38@4LQ3Bt>MkM$AZ!nys7cy4?nDH zZ6$^6?OqMtyL8ysmiSvgNQ_9qx>RXC?(L zpAh8gxqWhFJveW2R`JCLt4vmk8enqD28Vd%HvZ5@9SSDgEe^`N&7P`SXckOW_B~N* z@}wR8j8TYQRMJD)Q;rI=6WYD}T}nr$kre*nl2fOmW8WeTsxGY&u_r+BEiKZj%N*kE zJ-r^EBy%98j)eMP>;jE7C{^rBToOSzVd9&8R;ln^(?GmL&5(Ne44-ec&YJDH*`*KE zst#2;h+A->$6*(Ha{ITZ9F3dd;}=-N@Rapr_vWFPGw&ny!wx$%+lsZrnW4?y$SG}z z87o>z_NYFlo72ak!);Qr6ZpsHP4IQH2`L4ZYM!6{X2xQO9X!bHG@A8FF%4~<5JM>d zPx>+G zBMy1o47%)LbO|5DzKQl-x&V)pNX8d@I`RWjBJjbyCg1a*Te7{k*A)=W999PXoxMRh zfpjDI!B$%=8A$pbqO3`s?jo(I$dggKM&cm{V;eq%D^&Mh^zOWC^4w)On{JL58>J&7 zN^?L(8}uffl_Z4&QoBpt5!Q|;D$zTm!R|n}fB&I?j<5%VtWoTs4{2aEGLMENdlzD$ z8)ckwu9FHmMT=1Acwnzzedy4CnYSq`doLMjm$}DXShr+g$Ig-e206D4I{dL`*<9`v zEp1r9n}XJ05@z5Do~5iRWnMs2A^v)K-sGQkv*%WF^1or%3c`X@K+e73>D=YoNjanf z-NdtBgvk?$*w6`Yb93~eXP@o8=bn4eTRed1< z|Df$;XD54o4Q7w~j2okTjpC`J>Y%r^E1*Q`w$q)RrxS@@fclWlmatk;7ybnGX4*5z z$NmuhYLE8x_xD5}^f^;OyUE^jXdYTe9ysyV2Jh?(R{{FOw5_Ys>kVpCim37Vd`q9d zt{2iuo}t8vN+HJx3J(PcD$!f;9UYm>)PV!`3_QSlVEX@v9D!K273RW9JIZcbbMHUV z7Mu`ZcuH5kjD;;)j>cI!C=sXwuAbn^$zlnMfS$ z;;48ziP3=B!;78h4EZCmAYT}KJdn;a>~A%u5f_afR;X^HZtHWIY!-*Xe*Ib9gh+Ge z6)vU2VsLo-?iW2zu}eOq&BX4@2*_G_{$8ngQ%AegDNXH70xaFu8&ILf6IHCoVo5-( z6^9XawZUSQ>7d^eRr07{eN3Yi@@0t{HSNB=NqIn`$jfqC^WKRh#s&M1Y=Yjo>vz62 z=UM;g35?A)j#*LE@$pqLmCmRLb!N1NL}yrT)T<*`eeC$7T}>3tYQ15JeLx}A$04*U zd8u+^yAT@Nf4*6eLtA1GK`^${VCJa>!d4+;WE2{nRMaHV$|L^^X^jzed4pn?J~Tjr z{geImHSV5PA2)lAJ9sdja^;$9Igb9rXn>1YAxF$DZc@S0%pYPuWXx5o)&&}Frp1A=lPuJR_jy4(0E}z62 z%w)_~b+6upDm?>%ks5f61O`0pyDDek(gG7Nj~=v)#)Xn5_Gb$`2qXSC@LSL; zpJv~_ai0%(fcxt3-5v#8*xUt~e2M-yt~t44%a#f0Sg9_akDSX0-p@)L~%!aGMPyD9zHd1k~>Ma@`skB-2Qn|-s-ow6u9uN9_1S>RH>!tbQ zcCm7-v(xRDWcSBFr`mf>BKaHWF;$J2y$hW_fczV7UOEgB9$31LMB*C*0h!exAzrf< zBaxytyYz)Wl8jiH;K}Pjl};?Yz1}wU++Ju_VJa59&pZn`wMh-faKuzj?K9W9ayeIR zr9qtSU(m)xTK)t9L!3-rz+2DP$|pJf*~CLx^tFAW%KI{wRLYW(?BD-LnFsu_8+v;2Wb6%VURv||nm5R-EnE(_6lmtGd z@bRPzb`(KWz=13|7?6h_!6^#Y`9|TJs9?Pypa8WJPzGjC5gVKNF zg78-k{_9!zeQ<*YR0BA51cOKmD6p6C>y)rfkPsK-r7IyKzx1-`H)2$%FkTN85!etf zhLoQS^3;S`Z70x^Lg)zScs_s;v;WmP+FV+6vmD;s?M)^ygDNqtmKux(WnRsmv`hFQ zfkLQITXT;+Mpr!4|aQ9msxt&=YzJt+Aw0}s{vVeS!=$has>m)16r2xFHE1YtAY|wan{-Z^JJM@&Pgh@hnDG!F$4I@G_it=Dt{}algs_ZX*!x zW#T{BSJ2)K>~A;z?%Ur+`#$*KG5G7^4?d{l50MH=Q4FW*8MC8mc2PVumCaVqTv_BCU?{E!uE{YMW3m^(eGD zin#R1Yu2tV>q`foxG9}Z4;2ap)@OC8A_|9JZ!q-1S(e5L_lU;qGIvA1*2lN>QM{HL zZ>%wBASc%M724qndxch|FN6(BwZrUmrj2$_NTOHg99p$dEY|?d@qM^Qp;l=HYWv{Q z{BgVyw0zA1QyrU7Y=Jq_z<@RkbLkM^L)>Z+oz9Vg{uVsM!claE@L3F9EE66uIs6jm zDGmfLsrm}ZadKDU0!MIM&xHTtk9ztvpIpp-4|RO^yBj~MtgJ3n-_L$jOrR|LMrT}q z^Q*8PZ4)~ADXiY{420{925-yElyqoax-~Dl`o>0&am%ttwAkYbfNiMe=cH1FiTu z>d{JmYVI?e*)fG*npbGGZT?$t&30Sb^-f!}M?f_34NaoNwr%Q`NOf3mPdGG5rBn(N z0Y;_I8l}^uSt*l;%_=D+l1O#Vf-)!5W4Twt{=GBgFkI-v`|I(2gkdcA1St@Joch2x zEt^s3a4juD1bUUs9|blN>><~_mviC$%AA?x(YgO`bJq(4}cUIg|OB{h?LP(70jl6XIT^*)p6l|$gei$F*bOYUYs&3*Ifxo^F!fMs zzXnGF-6zX50us64ze$jmibTAkB9UsK)~clSqcwCCbSPP~g}Im~UOUiyGFvk#m-cJr z3!BorBn;B9uUd_$p8c6dtoW(>2acboes;>8aPs@14l@EvEl*2 zR!Am*k2uUl=Kwm8U=Z~=2VNM93Cj(a;FUFeARr&RV;2v$J(6eg5q-t(O8tVZ_J4@! z$)wI<(1tZsI9s%={ajNnVXQ` z_r=4=M{6Hcw{$55)=|1UC)bKa<4QeZL~8%l@AT%Ijy`!6s{d_r%!$_I^RF##^Jz>K zmBmbjMqN2;HdmS+QAsFRP=@cq;yc9;k?)Z6@c!GNE`((U?_ph|@xjb5NCWT|gd<1u zK{-lhh7*`&x8cK7S{5PL_ERF$ifG}o(LW}OgRbDAE^BZhmflg<5bx5x%VXcoCQWvj z^A+(V#Dqwt_Jur6k=nTg`lzbIE)OPaCOziI-zAT31+-crPd0k5`$0!n+fOcqDe2yx zg`1S)Jk@db5_F{Wye>xTC(uBl1zfnA>Ah zYMA;cd!34TS}p3eSQ*iHwpf(vCE_6wqlJDO-Dc-lRn>$UZhYtC8Lgyxz0+Cgde|rz zVa2qb;?XkS>s{-R-_e-rLb$+nj6}G4wfSitYkBcVuYo z!Q#d3Lv{;X-F2dBnYKoB_sSsNk#voY-s`Z#> zd-k?&ldZ0~zow?6yTvrap3Kc0C^R0W&$49Uie2OT@Li&%U(3^OaR3GO$ZOw#UaAInf;$YU?lXNfLKXEX_k|n=gDWlpSf2Ms)Il&7ib;W zW)L7u6W@x(<~$kD3)97;Q{wmww{w(A-Pw!}Y&RZn##JY7l}?6EQ_Ee0r7#aDxg2d^ zQe!Dyae6>O9eOBjQiXJD-H9ruP7^mknKYg~V%@?QlRf$RLuRIjp&%iW@#{OAy0rNg zf!M{6a>V{#tLjA?1(ZlgA+nZ4q|9bDL|sNzMBMTU_p|!r{Ttqh8N; zuz7Zf9lilEa|kv$m9BfVp11fw2e9}s&%u!##}1UwU0P3(;{s|*2Ry-rB(QhOihSPU z`#6ga6*}^Po>VAMkQ7 zklZAhZ(XeFtJ+Z2v2LC9aCM&(HK*&Q8Y};t%@*T+L+zBsQfYluFA+f-lvTsYn-1!2 z--23ZWKD5REr*SQ&jXteg=G*m3=CX2P{6te!Ug>-G+xKct$8cSp$m%;gsnJj#3-7J z++EYPJ=9uL-OY^Zg~P2mLqsoQKzKX{D5YZ*ee$Tu>2+XH~{ z-k>e^$WeG~qN}cZvTvGQhwf;dF8EKxqJVCh_0kEjP-mq2#pK;RMupYTKE5~u2>+ga z&heMGNqhTTVV%+3+U#~t27{M{zvBxyf#lO>>a z7V7sg7mK88>sqQ?4f<}8W`;2H6qF=tb2J*P^7%en)NEGw`;AV0i}i!=*oqwl@1|>H zW}!qNB;@QzGyJTNJz(n4ZaV@GldkQK*KIpOsXBs3*bQ*yO^;5xw^lt?PwVN9;y`u1 z->ij}`ztKnj#Rd9aQE5wYInF{S8KM`X)=sh62yW$yH*OhZQ95nezQ;pUdjCRpJWtHjV|3lt1+^?{x zC8$2?yZ`+rTPRZ{-H2X75&;zrRaU8OVW~>by@i_Yz&{LYO# zve|VZ?;VXg$+)IjaZQn-?Q%s&pgyrHL(DXr}4dLq;3AtCMa{^|!~3 z_Cy7HYH%c*)x%>(tka;U43aJJ+q%q@?bI>WGP^O{>vg05ye?o!crLds4Uf6q@yYD$ z&^1qdHF#xo>e9;|s@*$=u8Bm3B9VU!hA%GVyRVS1!!1cScMlNT>?Y27m6QzAWmP^` z`eK=O9&C_dZWe$B=sE{wE2|eSIq^Aqe2_`S)@r0(T@7^1XqFf2ueI$`k}tI;FRp0W zAd&UyWpn7izW3z9hjW)KvPZ9k#~(lZko`|X)g7-4kEFbMz1bjM3uWEM43fFWgIf7Sp~}RcMIZ1K0y-ITgdO^V zhwVCW-~ciCA-iLPq3UY%2WK!{-@j`j#SXzb#fJr>fA~tJ*I;5ys%bTYzG~H8RCQOM z#d}v*VzPVCnlNONn*z-PbsJ7xoUXD7s7`>U{zYyj^2 z)|4xjy=#Uz&kTT)O9vCWAjGREvdY|Y9Y)}R!FiXRGq)g*v%oH_Oqk=`9Z2ka?TA()cwtQL!2Sp@ysFHJSkU>B_Eu5{wD9HmZcwN27H&*`8R1DJ$m)r zTS{@*P<0v9a$Qy5y6iFole>ENm5+QjcOSZUy1nyET5n~{dc`^|gI;jVL>{g;3oOz) zpX?5F`}~eKhRi)rY*{a_<A|MZMyBw)tKjR@tECCP+b5U;&n^JrS1KV4$zg(t;r2+~R+=gT>OhHd& zXD6Yjrzal_MfHR)l04?vEF-tX+MKgmbFW%Ch5kUw2y-D_l{2Ig0Slz2=*LFKkJw+s z0!;fBg_@lb%7eyp$I(0O?d&VyZsrWFx4!&pSf_&peo9TBkwK4oHbq}(wwnc0;X%)& z!=npVzsf$uzEe?ak#AS~v#)>F7mTs6)UMce@t8U2f7PDIm@f~7B(JXxf8>uiIA5cK zeL1fI?&tv2tLjU>_k!Wta{h!VgRt;`Mu8EACuav-7=^@?K{#guk#YZB$np$0pb>$k zH`iheXf(Q5{8DDOy1%X=)1@|cDx@1w!#BUV<&8HUd1T8IPrND1X%_Tp1^abnQZ=j2 zs@X2*fNl{K=77mqed4w5(SkH))SKlKS{j|zsJHu`t2PAc3;n4Ei%SzvuwQKb^PjhF zT*TMW7t!I+>6j~dbDaHE>bjsmbW6~L&w@LT5{_=mUG;W{dIKXmBNXu*iVpe z(_+__Cl^m7y7Sc$gDzIVp0;ldg)&k`rNiOK!}iUU_ck+;=6Dn~C!AP(Y#;hwXT)|z zBr*{Bjw24tr=aF{58Q;saTl(ncLK67g>f2Aq)XPH_cATIqKn^aB*MprvH;GlVsWxTCgp!Fv@K->&tML*_X-tGd&RM1#AAaUW0%y=UbnR{ zQqy$8wsZn=>n)@?cePw?aA~d5Ih`HdYnzQc)~NSQC59^c!+K4ijy>JdNz`tvx9T*} z^v3v*TvSs?-TZ#fc%Ur+`w{qyl*&KeW=%$1S4Ecot+!>MeJ;7}ikXT%0~ax-`3>VFos;D3} zoMl&chYhQ>&9vP1J@c(7(jgl3J+H}*$nn$O+HF6H*h8Ih1=WRuxi ztDKf$$NMBW?BFmm~**8e^8shtGsv?$-bVZBk)4sm-edb{B z(opC_N6-iRI5ZH?zYIO$D`+v|Cg8C{U4GZtMwH~D{3Rd})~uD-3{h3m~#Ed`Cn+hBFtTQk|dwt;}jU@x*KPbQpEi(;M8 zjvjZ<#qX`tszn>J@sWB%Shl`n!e>xfjq&(M>}=Q#tD2zx?gX6gn`8p^(6>QVcc46( zupN3MOPlD+DKflu0JeZoB`CQpMPE(?+|XK&XG$3>_>z zuW68IdeOys_IEXhiLp%2z<@+QQalo$bTA%;j{UyQdAYe$=QE1NbXiN4QY{xwi*?F> zrRmKrx0-lGiP9ymAD^j;2K?*tm5hENjrJ;HM$b4u$ynGw#`4*e+Ny>cuv9Q*x2Nr= zwHhL0waP6Zt18%E_6F#0XvFGE26e<}U zsd2FrlO2*XAD)2YM3hrqOjqLfZ?m#qy0fhB%F98?PW?X!i! zx9+*8u|;E1E7Ucn%g`quTWhqBSm~)<`e|$DeM>JMJa}-uTv~g@>&NCR<1xL}F`{SC z<9fwx^pys^gK8~~493S>vTA0Az3VpS*y0{a$lEAX&~u568*}p}MaGwW2UcwJ4ln-5 z@4qY<{M2LC;ik6IzUXsM<8iN|#04XOb9o3+C=M=NHVCD_YpNp zxxy2)`WxKPV7f81wM8mACB2nel)&KT4%x+$MMAi>!CaN@wYAIHzY@fcB|j#4e^d-- ztV_@C*s+5U^2CjKO3oLOHEE&HseoD1hU;GqU6QVJs~PbK&7c>Z8=_xngbeOjZ%w|t z&*#zya_kKQ(M(pAuA$|2*R<2&jhp6}m}-;CELUw%zmCF}sw#C|o+h7UgU>8;ZE`8C z;aNqy?mb9NqESNY_66DhZ819yL91GpZ47&1WfQi6D%f#wmYiDS;WkK@&=0JaP=zhU z>A(X_-ql&@m(&vX^<#VkGCe#`~pK2R}H7K28*Ju-Z3m(6j$NbM0PY zC;Q*O-MjaNEak?6XiZm&l-jil`F zW;=es78`3-vob!6_!_>7ei@C{=W^PprLyvRJ74D91@yo;#>3>dq0iB?a^VPWeS5Ho zVJe)5?m=X}B#mI5pdJDUP^sF3iy_$eu3E!X(oN_eEmb_A0FuMkqHyOMgc_wn&>}l_I26r;9rryHv#ndt-N9MZQ-c?V+@D@wJHMk=bG{8Hw<`oy{Fpbv9nll)7Rp z81CF)sNe}_{MONViAtrF!aN}RFaPKN{AJ(1eY2(_f|)gk*0^5ED9}Ah#pcwl?KF5{ z<3vkEe~r<}s2bV3Zaf;;Q4x$4{@?Y7#w&(>t<#-oUvNIwG~|o!5i8x31@_8sX=O5< zBvtqF-G?HPOQO+rd)y(e{~gC=&yjCKzE_Gt@Kg;PjzS!C!wE(yn}dcW?y3c-w}L2% z*5Bwir`|wN@SI@dHJs7sR2iE%E*wz-YzET?Kspb!kmA4Lk^q)2;){Qk3jFbaU(18m z9fg3}xnXR$vZ#nTQcOx1gK_rEMa+U&a8IjuCetvk9#)FiMyg0*Xxe?h_L;{g)2=Z%s}a>=@vA)WqVaYJP%Xawg7bfy|<^a#|9+< zjYQ8M(Lr0UcSGv2X2u}Bt1mn=(%GYpWZ9EjDY|l><>&MmaZ$$(B*k zP~_k)!@&@2xoZHn%3$P-dvel@X^DYw?g=#}U{DT7Ub^tjrB65jCZAxBgi>>QS*?%? zHr1=cdUq_j-#Dw9jdWydOzIBvSTSNSYGEdY{W*JrZjcFJ`h-W&5x-L^bq2$ljnvkD z(YlyL)$>fVuD#fTkE*pn158^=;rR8Xg>0RmdN4`|V-;Xrb$OS$P{^ zpf8(fNOX%00fXM49FXee=!|(h{cxkkH4|#Bt{v)ZSEc;y{r$CL$hDC@9IxaNKKCJ? zJAU(JpDwbmtnUsq_0>Du+vbw-g?E1qUwRuA7YEbn-t;$JQ5@cY9J}Ba&bws$niN=s z(pA`Pu;mL|QxG^VrU6%7qUbW34kk8};dERF(YFqe4oE(Lnh5WxTS@cb8)zpi!r^EM z^BA!4D^rGrfD<+XoDSEwfu)z9bC72W1-n00b(y*5J6qAVndtw=*jvEKSzi0&dERk% zcX!vF-I-_ zJG+~Zw*Sxn&F9@&nVsyM=bZ2HbIJ`?T5-&I@Zp9~+W)_IsCRxJEgYRZBJ!AO-#PK+ z4$a|fubte!eOQH%VmuNtdJR%(Q0$ma5N$KrilK{ST_W{b5e-QUzmto`%%!okwlsbbU)!e;y1Mu6bGeG!4amoHHut=kn0 zIjly4w)C6J(etfOw6&2#mshvn(DzJuPo&swSe0l>;ZPYbKt%97&JhXl5x_R3f;4i0 zve-Rlxp0k<3#JiZc4bk3v8>vcqX<_RE&U=Gq=1xgxN;dZ{Trn@dY_;oSfo$r3BJ}B z+pL`v&qdp!b>2Lv`)&!h$tSa6M{7i+mU7rqHGpN4(%%H*s{VSP%GI1umY)r4TO&k0 zv@#Cg*4X7f*j(DU!&-LZ-ShMFJ=)}Ea&Et}ri7<=c>)SLK`{LBU2{<-$6->)71AzP z3wx_jI~{qjPVbyc)nr?0+tm(r#7^GiZ1Zn(i&Zb^V1^(8bhaj~<+HX>|75T<*yS>f z^~UWBNaQx7(u*GIyCFE9+*`J9Tg2}_;PbudNT{*=;~s;Dz#iy_DH-SQA=?6-aRvK+ z)v8J@=Niu=eu4aq0tT!~x(ZTjxF(u13BLBY8vg@WJ#X(W?nI~T18VglWquwC=X^ah zLtC^`<>axD-5uMY8yD6$SNFT(xh^`5&g$j~`iK%^-)4V_#-*0JY#fE;g%^JL%V(Z> z?6G&=>HF}*7hn87xoh}^S+ac#adPwKrH{4{*3FyAtiI&Zr$?$2%&=an_({DL#SpdRDKy)7@!%!`4?)(gzQhAdLrK zyZ!!px7hDr>z)nRw_=*IA=h%2b_y`SKv@SXo2%M!%_OK2z)Z}WtgizBkd>xV;Y=KW zX~DRXK{TBO#03Ul?%jYbks$S04^gDTfiLuJ^l1yJAg_Q<4wP592;vQ2iL)cIy*YZ+^DkZN}Bo0tL(OZuf{B}>qKKb zuuAXpEQW5+3!TAs(r!6ST-s8VZf`8tT8p6c|F28Oh%KX2?c{HewjE~gJspjYXoB=)B+zkO9gip)Z1Xc4Fete6(fb?{npPN2T?U)=F-mkJYw%tcHrDdDojY zCDUw+A>#PzPMl2XTKI|KJP5tCnK`$Xp@LrLH_Y9dJ}E$ zDN7H9O2|>6;;^vBATT#_D-ESwp@`QeG=88E4rv;^XtKh7owH~vgbv&7gZ5$Pd%kEe z`@P`a+$H%CcLM7}~ys$z7XahWe$*`g%u*hMyD9D>bsSvNE zUJBN_6w25NWCM-O0vIgN4WJLiZw25SP`ZUR3xm=Xw`CZ7Mv0=$+UaeQI>qil;$r23 zxU`}4qC~El!)p);*AfaOpc#r|Em?)3M(H%tSS<2WwY}Y0Cm)ydRYR9vI!(U0;qqhK zwrxXd6eqtwc<2!MqlRlnzsH3bwJ%hrmly<=#X(c_68Zs^2Ot?en&`d;1QB!NEOK#L6T>fVnB&OBB@27k*Vgt!RQuq;gQrgQZ{I#J z(A2d49}!rVNA&geH48*l+x^54LC~GvY=w=c5a9=~i;r^q+{y=|S9efD(NBYCz zqmjL_*#1c5hYqzK`#lA0!@2PcWW_5X0?`kfoADMpz&0ph#)QH_LL9bVIf0ez;n%rX zK_!krYeVHTv`7GVV;X|{v=X793`Y1420Qo(Bu;>Faoq~-S@KymGF|=zS!yrwx=Q(Q5=k-t*Vvis1*pAq-^I{aOwt~~ke(hZ3+lS~6yG&TCBb6x!Q8nJUe z+2kqy_zee4w_NH^5}a&_Q&}FK{|fIT-dWTcDK; z{1+wQ;@ePv(YL&DU=I7<=a=e0!``aCT@ilFjv&aui1-EygT0M!pz ze^XB^L|Jk66?mD-!h#D4j^Y~Yx>8?$tIvGNm@g=#F=)BGC+y|3O#Z}_bFGMxZS5RA zHZndwa%{9SzcX6g$l$c`*^_al894-4U)=y`D6%2Cr@853^4s39FapMh+!JdV>@lMFZ;XSmyK)p3oO(5tG;2c0c zaMGxct2~EeKoP7*a4?Zl7zOMEt^3o|3kP)q(Q%%`ncjY}7H zL2kk`Qn2@i-+aNl09%7e=@aOG12Vx63YuYsp{QLh-~ca&1}U8aE*Eh$ZXRf^R zQVpz;J(WmAA|jz%tdSDG;%Vw$zVbRK`67P0bmp3C{*Gb~ZK=&~zm_NLk;|?+rnihipQ&Z=?{tZ9zNo82djici=b<| zDWoe{Fr9#RYoN2MkO;xVToF@T9=WAae9Lu#zGMpcQ8VN^%&sHXJsNhM3_66GY zfu$doNt0zo5Lt10f*Z68l9NwOKKtyQcm8DQ^LOsL>+$@6Cz|VE@;jK)rf8=G{c`E5 zX}Azrpk03dWq$wCw|msI)Mm$chs`0?sU`htIeO4NAGklSb?oWu>KY05Mg|8Xy}|ZA zcV~mqE0xxgr*1;lwpgqq7I+@6Q}!U!404C#tdBz6zY(y$(5)~6NWbi*EejqcTmOy> zm=w$8z<5>A4A7kcM8e^e3$P2@cNpZceOHLEXnIEyGp!T0zVfJ-!H?HeSlv=vAi5C@ z+v98qAOjxUBWkDMjYUlfA*w zZ11-p@zl9m)EueQs8fu{wCE1&SmfTE)Ok^=zkmJu#l^9cCtnziPF7b>Mv+Bdv#qB} z5>okn6NTn<>}e@fw8tDl zjabm^>TvZaTw_9}PvFa2gFX=l8QqZu^`xY-rV5h3rVfY*MAWch;Wg_bVdK6?jv`b- zzD(X=tK!i6`q5!{g$|Er=|cdoCTR_!<-%lxhsbrXfTiU6Z+zq3A52UI^+KgtY!a)w zc?to#$1vl&wL;@5t!hkFT6{uNnmiq??)uTqA9pHf9UAg)PU$!DdBPKyz2*0}Oi~vk z(6?yySidci_HCyXY`W*5&%J+*8>%gusmjD%YakwA#{hO-Kre+s9>W^8Brp!GkPU%6 z0$&ww0Q%Jsv;yb^H!ij*5D_yNa-AP*U5OdM>!#pE;U!i0g9GbI^oX=wZtFrZaXwS3 z2ng7)Nz#+tshX1&wUqW+wEAYAcr5R>6V|1#UOIE;>9rQ|U}ALqWAjsP_gHqY!$M>tJ*gk(YTI0`e+dd&K$Wr+u1=D@UX|7Yu~K ztXAv!gFG3~SSeqh{#Lok7pw2+H+!9OO9^>XSt;tBo{moezv=_q)#LG)wR|!<6@SEK zlBj}|K8i_aZ4bgKvx94Pn}UoU>mAL)?f*WJE?_hw<;rKv-PzQrQ zV%3Ykfa9YO0CPEohwwFCJPgLP$KD?)>dbd#x{8`&UVgO7V|79Yb0EA`H70S5RGTX} zp`v;=2R4NCWbKx=^w9Qw`!;UeHKkOxJ1yltLkGup=$=FI_=g#|4#!E|0(v3S1zpa% zg-(_@x%vHgk72lM;7Q~lKX|yOtX83un5FVzp$Xk0RL?}7C|CO2GfnPxUQd(PAvBbc z-z+W94s@rx(>=KnuhUmnT$T1Ki$`)-b{|J)b3N&F+Uobm;UV4V_rGozo2h<5ya)C< zs{VF*weJLK9Kf(WKh_7JxfkMEM`nxu7G9ZoRJNX5?&P!*sp`7 z1Z$fFC~SCoL6I+8(m-xZX4(#wlt8LTKr4aaOn&*WK*3QeIWitX`I6{Qssp|8k}gT3 zggNzYyS!EIG>KZJrZU*?E={E?WIm7vYdm_fW`nf5{BkCZzbJj}jcB)k-5Jr`^G~=) z)mCEopZ{DsvsK9zysxKS6!@M%Zo{BNY)rl;!_z8^b-S-NKd#r5RgXX zfdF7LuHSl@_V@+0N29>USZzB22?{8@%Dvb%#JXzvrk=E7V2s_iWxpV+crEnJvdDoi<^_l(mpn) zP0kohdwuJ)QhNt_soO0wTto`d=SwHHZ{JRg|KlG^r$)^&WYbHW!)ilhvfjmKN|`dX zOohuE?-glhBaf8ojI5%jJ)3X7dGmXv)g8(1I=fR=qa@E%GzInQfBZvf45IxbyJE3@ zQDsSdrz>d)_{~ap2K#U#=tp@G=u-|kTjxn zDAzeFpfLBSuyN^JjLX3S<&QPkN{s8mXhOlgTgFB(NulTGU-B&2bi`P>+_Rootyemi zP@zy0YL!&9yV_k^hoSMXY?}OxmYa^Y>x|l>Qqv9JtJ~T0+;gW-KmK^nBafUqb*HQK z)e~e&r9FE_x#I+k^%z+YI>|e$KCZgCs;3HZ$Lh)!_H%h%O8#|ZAG)h>-(18KOrc{% z-iMpG22RGx7R*Y4!l zdUb+i|LwQ87XM5GS5OTX`L^BfaY;pTi@aH_4r&gocm!DH*xUl1m3;LeD{=82 z(m9-|LJ)YyR0XJ9Chxxnstd?TrCbXz3I^$lxMO-l-2-M#d}EQO%nQgB08-#r1}vq_ z0S2523pkn(^URh(nyN@xlq}Z!WELN&qET^gqB@rfCz}}ZYKgidQmzpE#yBdMe~0W( z4-byCw2;3ge>P3P2+~WYr->PLpxvh5q3uEvu9@E{aE+oSlh=%2Zp0IA*ez!D8;38+W44Hf1P1xp^3_skh!z zheB<0bM#P4!%f;lgY5UY)w{#{yawOZewBQ)Eo5QXuQW*_`z&C`%D*}TdF-Jz(lu$Q zb1uYl#@9@P{)biw;4V<&Sb+eQu-djHV6I((%;#5|6!g$?d=ldUO5qQx^ZFpE&Qpj_ zz@&JJ)P<6hLgzN10Ry_Z@UB;=yC4KKN!eq%jY`4e18mO0rQek^`PIR^)hA@D`GLp= z<0d}4tgL)vtf(IRAhxK(?g${c>=FPCaW$e7ijXfK569@1?)G$78KWD$v2^b&F-HF3 zH?ycXl`BDM;hMvD6 z^sOqHR+uU4*wR*~@ygUW@|IjDk*snX$Rd%p&Fzy05<809s%=BM+5~E@^Z6n!m(xdc z-sW;y?hq)fMZGE^@Guwh0#88vrxW_W6Kjfq+T~RAY#e+B$YU3Jx-h?;i(OERc%CZ4 zaZB8*gxyGN^8&hpi$D<(Xh+3FfRZ7 zh0G}@Y~jc@)r`0yQ|@dGC7bxHMm4iF#^bm}$W8tgz4x->S4+S60iE+Y`6+@`-$=3a z_gP{?UuCXwES3pnf?lbsENgDH#?cE)cVI$)h1Ptvbh?+%%pXRNk0!+)qe(5~YuF5h z#K<3nw$tluGm*#2^w1{W?X2z02NjxnDS4YrQfEZ(AV2w|bX%KP{fgaQWq%f8YoF($ zO(oUEW4WlH-4Uyi*E!#Q`{x+{$uQftfsoCh~`@~n%v%*U{((28`KZg2nZ&gQJscof1jJc{7e0zyU3he^3=~LsLuWQ+7$nYIieSL2}A! zMK`hX?lOCqtg<86+aTo{g<^RndE4bSZ#bY9bt_@PxMM7Rb+g7{Es|Rk?2?GBzdz_4 z;0jWXTr|;D$I0l5`ui<0*aA>4=J5n_q4u5)Ex3vJfbPikHlO6NEoNiLnKg|3AnNBz;A)5#Hb;) z7>ri3==dnG8AzFQw3n7XT_>t}T*TWd5kA<#Vo!Xq^ij1q(2gsT~x{JqXXNkI_9>)jIJo6-a|B1)QA9I{)=uk4+TcALgK|D_u`bxpy z05-%`&=96isQ?QgJb}4=ndeuT9v6R5!vQIG4QoLlDDXZGDmqlKRt0_yzZNAk1g13| zO9P8yZ6G6d;|gVksRV?#F!a!_$T>Zk$`+qdCe9`4OhK&Ax~M>{(%wpehsV-~qEq?_ z4rizCgkaa7v_(!w3AcwMI_Y2=bb;oj>1v@-?^4#QbuChM`5THl0gLEYs+q-f^5bll ze7omo+3e4H;3Ii;HH$~D-`P@M*V0fuIMIF3T2KC65Gz9b%Qvz$OqMO^vT)kCz{Pi( z$D_AY%2bjK`rOnv7kaCHJi>#X)csF2Pqx2)?*J2>o^`7m-5y1WmAn;Qtc%NEn_PE7 z&|ldU3f)kb2$i%5Dz381v>X#;JMkX+_W<9AVe-Q4>OM#+mQkqFT*hXni)xyJ(2WYH zxkC6=e*|WToo`?-hlT*j@spR!*RhR_PXo>bD_`K}WJ-yZE_Ec7iUsmxYX)<5!Qj5s zyRFGJm~8PR4OXSbWtR$uinMKk3cqw?o!Bi?a^smI|C$ zNw0?~;YIUKqo=ayyU35T@>Qx?w|mf=*VqFF!LZPbZdP%}Q)gNLm!gpdTV-2= z&8RiNB>7Xxo@DXobPjXaq_Mhk6Q&riW};M;)T@UTh@J&Y9d_T#^lwp#J#W~5OxYWJCAtlJy#8ow@2=aJO5N3`z)B>r%{Chp45(4 zwibCsmVjPCT4&)xYsS%|qhFAJCDfVAh`}$uc>3aiC!`l@BmgCRbiWZTWNyeCP0r4` z#jbXTQ>@Oj#Q*mfL4SBlX?9bj$>;aH;PwRlc3+LvVXd_+;LECvnga$4Zi$5fg3z>V zzmXm{ZLRls8r;x1iEZ&GX-`9M+_~x|92tfVe}rd+0yW?U4a)+VUsipqkvptfSILXx z6BI6ESYHkkt)~5P;xC2C3qM(Dqs6;yR0Vi`db@P+>0keP>|MxD(M!{5qeIGrn9wHW zq^R4MTOUb7(yEcCgb}RoKH0&a{_*|yzlq4V9(dq?$SvXUU|GGn=2I?YT#Svl{Seh%|X!l|^gc!O4V(32vK9sHQS%S)W1k{0d{IwW4*xEoe3{IoMjgWv&~#?tCG_dlh}1lrN@4FIvgGej?|Ap z)8+pK(e(4byrX~Q<$4m2F78z3_Y&9Ihw+TfVY_{ao9?*&WKCUaJPjy zk-Vc+;uvt&Z|iJ!={4m#^0c8M>Pio}e%+nTrl6v=d*jBd+g(F7PV|t&k$?sSkLL}W z2fRN%HS6bxP_x_xTz39UVLS=-#F~@mlQ0qrpPQuyI(bflmXv*dYZ0T%t33tJS} z#ldh~U|{?aqP;6zNzopNz8cD)GGahgOx@+Q2K>h>{93@u}plNC#EHnLdBH{97y$`idVQRkmAT0Z`U8pljh| zmP7pz&xdDW8wD4*K;J#qeAwGr{)Yo31xKElpf(FG*9b#`<-7nZIw@@Qy6fb;thmf7 zjSIX`!fW(LN6dq4#{NoGd!VRZP{ZaoKU^nd)_N@?b@1IXmb8B5#mcU}c+kL4N z0GuForV8xju6VVSsd6IuFRoKqHXR+bwYg6Vom6GzYz6o&=;HYtReBr&Zy5Sr4B zFjyV_55$~#x!@-?J(V#H-3xr}X zk=UC^EZql-G{o5*e?a8(p=`KFnzX58=u|uzm=gBezyZOzKzR;!sBr}vbko4$f`;UYf9df%$Ty8#Jh3Yro zbL*UACS#cV67~%({Z3y7JIe>GG-%S|(gZvjc^3q~&{w0Q%#E!8+%tS-&LfVo(YV9|v{ z?e$*fX9URI+gkG#-tvartp9GS$h@gCNX;mI2IgTkK=h|+x%TgzcLuq(^Xu4v&@T9g zAI|G(0)fM)x_m;EH30GhM*y;TUfCM9!Ym+k*k+*A5(t+HP7A64p?~STU?=_@oI(6d z8}YYnwo{hwXfLWA*Nc6kw3n+X%IO?30`hI~QOmf*Gf)vI^JZ%~ylRP{Iw;YLvVjAV z=JF$FjvZ^i;);98@fLnW(vi}R7ahy&T0%_n4EfVu;*vYay}i9e@Ilg31^E#MQMb)P zAEnb7sf@1D)G5>Qv^r^%&VcR_sz)=|HOYO!>4x(9rY5sV8}^XjwB#(k|6C+*DuNaV zh4smB_(^MRr)|5_xu;~niLZCRW&RG@Qxpz|Y&K`;BA2Vn#*?%73^SG+A=JwJ5N4m? zzD0~`cpKNDHCL>;3M>b#K|q%qQB>-|zFmJQl)e%o-XZ zrY%qkl+$WMfMh(#-#rX-GMivdQT6hEmLqG9Q`?=tvF3I-GZpPzRlus1e4%xRr=}G^ z4-icD?+k8`hC;~`94uuy0Ac}V!i~$V@i$j0@4$_tLg2U*n`+s`M~9!il7@k=spde4 ztuBXFf8wnikX8z-T^?0b%aI5D6S`Rzuial`Eel2~SloIEyC!C8%8g~9H_Al3Ie7Wy zgOh{Dj}K0wwtincW|x=~enT}<&hnuL!SCB3!aNVS=Cz0vWO1_M{6k~o;t3A ziAV_@cBfQKusHD9u|S;HVC@EHhF1tvFHQ+AK1c;XBd`kmEijMR>7vSQRPcSO6scfD z(h@Pf$Kw)4y&+qzHtpj}ZDMneo@174<0559%9Kk@o|w_7B}}0~A=fI5Wg|L|%o2z# zsD=gg@hW?%T3soW)`ca0x#*V~`n*i`W=9^J53SE;EGdmm*)CJ$;)znakV8IX4rIH3 z6SNA|ws^U#s0>DZ=3RPeSsh8J@(d2MuNPlUs_ILKE9+C4mdM4l4IwY5-mR~ZC$(8S zgU0Z~o;4<;1F`vL7%7maapbn)xXF0-<@E`bQlXa{RgylK8Fa=r6?(A7V69EI2CMyc zwWFB4#nfJU&py6iRk(C`jSzU^evs=rnB-8HJ~j-SqH!$* z-VAdU_;EL_IR(~cA*Kt8?L6D^>&`I7;S~NcRk;YK3bI(ZabBcwpzug5_;Ucb@OOC|Z>D@ax=@H{v;@`723*`(k>DkOl}5ah%GHXK%?;2FOL@zpCN%bM`3tO8-L zq$H74#)Z%s8 z%VkD%dJ|ma|Bj#+XK86Dfk8ao?eA zcX#$sG;b_1WRR1~m$T{GEjgWyXWVYcx!oFr)lZ&6{a>YhG-d@?YZ$b$xU`FQFa)l5 zkT$GU)@Xu0uCzuk>$Qd~N1!?q>s1lVc=;J^5N3)ELO&+<%y&~b4fZHC`szFZqa?OK zT98SQbWCa%{%lpMzwS3+sVw{wu5qJOFUWBr{2_xgq!ch^l41-7e*xQ|lz?L)$0rPo zfLl!{hH${w)C39}O{=r}i>;p2kz&77lQ;go`TP>z!@o?u^%MCe`8!e_ktZ=CB#nPJ`y>13^QYyiQZWKMnom; z#f2`n8`cL;*BWHv_V{*-U7fLwXWG)NqK(ZCJlKXao?9Wn$0C9({bK-%pR?*B)6DbTFli} zL?f51FPY8eF%w)k7LkPgIZx7tVN*kXwN4t>yFmPn32&F;7|bJBF@Tl;c3U>!=q}ZH zHG;rISWz)Sae=NXv|nQfl?Itu3Q91f02AVy_T-B+7QuXU{>|AP(mSS-9a5jbHe4(i z(5gn3o+8$=Xix*_h(=uDxN0tYS;({Fv{>VmN}OgD?Ta_xyo20>_MlB~zDc?sM$f*v zwDn?)b)3Tw-i@(EKgY`@5>8uYkD&|yha!#HThR#{ZJ5DLguVgfF) z?x8Z0j?VU#iK?r+%F4uLWmsl;YihoF1?t9IaONL&DwJQ4XTur)!h5BLiBs=EL`gxSaG{UsPK^lrySXkjE;uAJ&UfyU5nqr9S@5!Yb3}I+${3uWz zG&9IMGr{x&sXfOJ~r<_k`|2(~(eHSd!-f-QY z|NPI}iL3wo=cRSG|MSm8V!hK`rw1cbm#R#UB%6yYzL5L2Oi@H*4_4JRE$UTuL7x!( zahe3CCF-^m`9`BPLX8+Vo{MywhKF6GMJh!fxkxGc*0^V;qC(+wR8|J@YG24PN5Bt% z8{&~ksEp1*FM45aUZFA?o08bIx2EZKK0@D>pMZ=`Qn1xvg zKF3%^u~KlVBpsOchW3U0nb0_ytsd3@+bd0~0=yxerSc3zcz0dp;BL`P=%puw zch9~?);|3-di*uA_-SJAYp*R``t-VT?|`XFTU%~x(zk(kJ~=LOh(_F=9+fwinUvUJ zOHYhoWaj2FOaDZhp=`7$7YtrkR3r>k78T+5ngCn;VaO#iDSs7r`(T~D2G8jQ6o-98 z%Po!2wu}oBK$YUT6EXmI6zMEP}u@$TR?00fJfm!udS%VPJu~wK1Wr zG_AKuU)8HZLhVDhJ7(@4uzx`Azv*UM$zzS=#|HhKO4d>IA!$2z)9C8Bw82=k^tq9| zUZqC!#!5Pep)$}I4078lNU!taG^;0gc_kqcvH|YJ6U+k2IF#H7SW) zBNb@r)B~`Ku@bs(3N{;b2NzWAveJdW_CNjYDzL4w!Hu`s zz#GFia0mW~!2{kLzVVL>3g49gqCnvhAoTLPO$|Nr$i$ZWi+7v@AnBcMN#)oT1diqLY17+z^?+9PP8H<`w z*gWPP(F;f0qvPJNv#Kf?PKD~@@gdl}hvh^Gd7j5E*5c|l_ zKzzQq^%yz|QxUcvLqDA*AFE39MmP|lv><;r5e)PX6c-&n<&t$o(=&^$Rfuc((BZ|ZyF+2A57GQS?eB zgptXMA4^Z}8}%6V6$##?EM6r?x08eD_P3=5X}47TEt%{=mXg_NvQ*2VLzkfEvvQ%) zSRvsW^E#{ zfSExx(!EffgM4wko{(+(Aj)t#>rGJMufk<4k2|b8*wVFyT8E0p2 zMULMnG@66pw|d=0C~Pu~S_Yh(VN7qp+GV?SyRFHURd?ylhu00>aKm5&Kr6gw70iHq zgBGM_R~P!_C!szSPpK)aXa)}+4^5)#fX}^W%Ee5nl8HFjV(_+BNrQ)7u~s%YQ>+W& zSqv7i4YdFnIQRo;R>~*=k--FV0sZ1G_%jG1oKr{QB_%>%u+Nwe`@{jaUdcjGq{K}+ zSP0gEZJ!%}YqywA(`nhLip}M+nFIqZ9d1FN>1{j6x)yx>QmCev)7AWw41pjelFxAH zWvt&@xBH5GvCJP-_uP2L?uM96FeWnDm^{mjL9z=r3-bx#R0MZs-~J7wC^CEW5;U_E z6mv!L^~LDMNMvjE7)sqvM2?2ZD~b*!SlMeLNmoNBw`s?-LzmGuYyeuyp+52~Ed({F z#mn=2aSy-{@Q;#W7(H%v1tpAdv5g(tt=g?45 z=cZ%(|FZttX!LO6Xp}q}KT^alxh7Kj46k^aDPnzRY!`iGPl3nOK$nMU`8A={i43z4 z&wweTP_~cJ(h8^sJa%p{7q(qM2N&*@adF9nL$N$dZH15k%|MB-QxU7C6){{T81+0% zE~kt3Fa!3c#*6Bre!(8j;RVi?MxWs6H&pq>ZwVfMg7=bGZj%Xs6G_=+Voq6Jt%p@f z27`uaS7_rLJrMOL=!#3{=jUFjr>;*#z-bJn;G{^L(r~AtUWQCL|E>8*5T6+6_Ma9y?6 z2n|6Y_>?@JI+A3SUL7i$7~uu4eQNw7`poj289YbiR$2;X_pJ1u;CX(FlrC5`rEsA) z7Fe)3m)AGAl8{cs^hGfxP7k{=82q-nE#etfwl$G61So?_JmF&<%#Jm z3BPV2k!TY^T-0ZSZ9&cfgOj{(6U?_`Xp%5fNg<0#b#eybltlg}S;kQCt}rGo69SYYVCCo1OVw5E1sGSS*P&;Zlr*DNLB?X6jTWJPT4>-A0d7D! zLEcmMNOdf0AZVO6M|fCpk|( za-f@jptm6ZQrIo>CangdnkzjJ^RRUp_dwv<2TC@fRscgJ);25n_jLv?Ncz9(8$ed9 zZ-A%;oG2wQ5C3NX06lXn89$@stThNfq7n3X2~2ny&}NG(gkhJ?q=%K`Iu*mn((_{y zi1v^lqn#T@;JS#A(C99Q0EJ*B6qkb#ed!2h)aK^@5vk~9plfd8%9C8pEQ?jfCcZm6 z+pbgf1W1N%)R75BGiYP~!jXksg;s-w-Du^Q#vPJ)#;w%(fq$bQ?~xmBH;Vl&8|H2! zs}w@9+B1zFj7BL4xFU5Js=%*~rW$v0L)SlBa|1E98|!W*@aTI$*TUvV96gwa&Qf4t z@OICq9#|+ivgA4!jt6F>AmIXf0^b4%STL=j4tbf53{XN87!*jI!p`aWz`CNo53)q; zM9%EgDxxMJp^UZ%F)dZuT4TG$Xq2S2MitA(((w|oMVI^)+PXMCK0aDHrK=1gd3SWe z+@D=?!te@oBuH-_-wD*_#NrAj`BGEUfAbZLa=M&%QX)**W_YwR7P|C1N2^Qd%xS*S zvi-1d{)$Z{<;4uvq|oH#nMUlAMODBrC%6-_u7rKZ543|f*5B}ka@TXM@5Ew95n{S4Sfh1swXD$>~k zm2x=B3DV7EQqm3MUQ;Xdyg;Ah2rmvhVRmE`boWAURKva2&Q7)Sgqf(2wR_zCi06g zX62(jw`}VuuAV)#b+I-|UXeVMV&<-nCST#|S_iQ9IRNh-cuxa+sGfj4vTilfU8skr zd`;ZT3~w2f2!=xNY7&K90ZezGdPS(L&@$b=rkN;}^KT&$vunZLp*?YG@w?w`QflU{ zVZj_z9A7+fg3Rp_v12)-!yvP`Z8|356qyqaP}V<1mu$o|>nq6WZ-r_`9>{Y-Bu-l= zz$#>;rY+>Jk$%f7T@Cj37e@Gj=GR|e|4Pz!?5es7277|Xpc!34e(AJiS5-9_h>6Z* z*GGxOktCQrCz6L#tm3QV$>}l9%g+t%BX&aY4%0>sa``^3VwEy&&~1Sy`9OcbvTCLn z2b+SBeOX4fuW1EE3=10&ui$+HcVHh=DTOMOLXE?}037C^W%}$W?a-85TrbInf+lIe zVN|o+EIqGCEMt?eqSL!!Sm5GrLP`*|!@O&+-_WirEpL2Ew6p1*W-mgoZe#ClU60>VVbs%ToNF&T>;j311XM@tSx*(KLT^H1_O)jcx3mDaxp(@Fxm;a!M* zIUojF=t~(}*0TUXtb*%ZAVYzlme~oD0|)O4Gly5QjLUL}wd@6wc)oMCDs>d)mx;#F zOf=W*&SbC84=u>=d!nBw9S+Jy>HMlO;)Wa1w@JN_nat@OI%(3bQ!r4FrR9btIyM3h z+pr!hh~7e>@+U$i2%wsOqX1TiU;)grQDXGU%*5hVN4JmVukK&R-51FjkKQdb)!ud2 z;(pG$+MCbRRxnv(BBPxxuuL0-!O7|(FTtNo0#y@8luQEs66A^4!8E(%M7XGXj@PmF zvBBN6kxKxhWDpzsF7O(jp@M7g@x;fy(4Tb$Sl7(+$2~&qQ-Q_nd;vViffu@R1-Z50 z>dt~u2pD(H{lk7ANH+vlAwW^c+n|*wJ3Rg?fx+zlE)1-s>!LvzM3$;dFjJG43Rsbx z)}m8*tPGAu%5X3>yr`9l$ls#*t&@}O{(8kY%z+Ld9!jvM_3pC1%BonBIn zF6VgDN!!IY*OxQc<4~t*a3H=J)bYV|Mk^q=xt&0ScfQ} zKI%<~KdILgwiDtxu!~SD1v4PmQ1D1m8iMl$rAu)5FF+TQ$t4M zoN`$O4aj(WO~tGr1T@+D12(aoqi#1$*;~|)+H`}KR^x<-d&$LD2-uMvwHs8dl`|X~ zam>s>FpKcg4P$Wi!#HT-(Z*yEkO>7ZQcSWhQcArjJ8IF|PSQ4OyBMUXT9E-ve`3(Sfn*fgPOqLy=x#jBlsn~S1(o&(VF?i;C zX0IAY|Cdbe5ARQMhRdt^$pi5N8Fuc#v_Snu_g#SK86l z*WOuQ&K;+-^bQ(tuvXj_Nf$xPhzCYywEII)a?wMeeaSFQ40jBQ2p5nqnff{{o#0_pg>hh!!w*$V0+&q5poC`y z917f9@GdDc;$JxV-w{-XwJL3lDV#mhrLxJ@qR>=@#ckH{6f8+bbKrgnL%cz+dh{2T z2Gzl^Z=&+W%)5?>fu&ngMBN_OhyO--pSBtph6W1bujf(uS1(Q!pt24DhO?0{6P0O$FB1oD*~i=wga9S(I+W zXX9A*=HXN*Z+?}9zwXViLh{#QB_ITSY+}D zM@}dIj7CQRpF0O?sOtm19K2FF?+Q65E)vj3Sj;Q~5%&k%b|x}XQ&ro*M9-BUlCNYI z#`UTWiB^r?J(ZftnX2Wr%EW26z z?$5_wYZpXEao-W{gD6A*R!zBouk_$3Acl@pnp6$yax!H_5n`${3a*9?Vy7_%$Q3?D ztXx-4z=fK&v6-w$iOynFge?Xc)1i>W3;+_pLlYBiZEf;>eNUqQ`W8#<=^w9HOwQy7 z{!vC<=;rC?pPzo_nWaNQ1?F$waiJ&$8g86TFJ+^%@#?d6wWZ*N3iM7Ie=Z~0n=H~o zPImAcD63KF%_tv;*Sm-j5J@Guwv|0BB_{@3RuO2t=?RKQD~YWg9ZN?m3y*JCR(>du)AI}k|4KyX3F2JU z7>|}?ogCY~eXM*uF;X;^9ByvDcI<}4_}x{H)YoRQuWzu^2##~uD2TTf6@%f%pN(`x zx?s7UFgX}W7O7I?@#MiIyZm^tjH~RbW~cW(x^97}Jc)U+uw&vCh@Gr-aO3{%y_gSI z9CR%FfRv!#zD~M-&zC?YB{mx1>G09UjKD9ufb;NI*a23+=kWNSVpGl)@1OQc>Dq^` z4(z?DCw59CiRjxCYHJ`x!vr-O)yj|=2Wi~qI zYiozj8Mme(s?-{4TS{xQbRe_QP805SNv}+o>jVU65>^*>r6QXm`++fM$7IKJUyZ0zrOANR5KN(bVxVIIpIKky>vK`o|KFCyIZ&YG+H;Ky zTeVK%E^c|V-x4q|+GnE+Ius^vH91C~X|&f*@wnCbL~kYO+Cg!6iN&f>NJBCla`o`^ z5$w8rf+nXhgZEWa*UzcQm6CrA^nWvT^hp-0lzY!aXsqwkXCO3wU1F=!ER{_ut>`qf zZvSa<)7p{*->03>t6O~j@MOkwZPfz}a0<*R7R%t^3lej}%PAj)GoEaZbp0fm+!wh# zMV?3;OtG-hc3F~VIG}u_`50{x22SDKMmN(w0K08ydHcj7Xv1w#M+(}oU=;&@E~5hE z-@w|yzFZQI)xhBJuT%scXR@dxu%*r+P61~y)+oSQ#;@mEVe=ILVL${38s(v%kP-)I z=Emx9ITr?gtnWMZmYrjMe$Z<$7-b1gf=83M8CEp|nOQP!P{%-Dtw9|Ft*vcs(-7{a z)7H<3o|2xu=bopZo_g=Sr=I#boyoHL4d$iqRRW~kGBUDsS7jwCVvLbxVN2pwVEQaD zJ#k!Y7chK6K95cdS{KUq6^{n{Oa?luk2brJK0D83AezBVLu^-%oxc-01Vn^rHrgKR ziq}3;Z50Kl8b0%k`Nq1s#(ckbvAev<5RAy_r@7mD($lc1K{6!NPJJ{9GXm96$oZodOJ3GUb93qG;+|HayM& zcLEyWDUTkohk69sV%?Ymw|w;g3Zn8g5MM!XumY>QeZ?lXR%-Q`m7j6Am#AlF>lY*C zx)>6$LPcsQdodZcN*ZB>Q}DAD^v_XgOFmy&Ic$syYLQe4gO@}V6&2_*J{LAwamdRm zD&FDA7&(TFyH_95(R+FSkFW0lkg~ki-uL@v=9}Jo@3Yf;-QFA9d+*EA#X=E5KoAr} z#DXOnHFgsf6bqJUib=fIXs${8jozD^dZS59jJY?=m;b!q%q)xX|3{ZumfeAQ&wHM8 z&T|?o4QYmKo@jw8-X$TMw7Q7#n$X6_|9NHIRl93){w+J30A;2{7Mo1u9&(6HbMb0$ zFy=CS@qwhH?S;V&8)W&Ppg(6a2jf%a7Pq{*&I^uT{BQ+Tdm>cxg79AB(}xCF%aBZ@ z08^fTS(lwFz4Lgp=mxNorG2UpB*TrzX9et9kqj?-cyO%v#)DIM{!AI<#s!67TA51@ z>QOpa900D+9PpC`_YRKq`gYf}yCE^jm1nb)NX`jlRnYY&Hn7=Tt%^i8vC?m(&?l&- zuc0BkE;wiMkH$Cdp1$%Db5BiPi2J;2ZV)Khl`I8+mo~ssvIYcXlAzXIyg*-quHUe^ z>T~oPv2oUzKJeY9N)~&T%|gg*74bR;1p6ne@yYcjqL02QJ+O|x?#PRapdc52V;H>y z=a+aXP4~u*R^WVBxYAIxg53y=H-O`i2E~0nn!@s44RmS2 zm%(4-P{gD8|AiunKmGpqzx^%hXNd&4Tvww^XjJL1evNtjuOU6D35bY0IB2~AnpEAQ zq~!9SAG~-|*lt$H*RQjG=OFz7x>!na2L0o5M;A{hL3^hidj_w}@8w&0a~2Jf_5Zua zckWc&>j|OnqosCx&YH2+v{h$>4J6CuLwdV?%sOIQt{o5Bx@|GLxZL4JtSlV}jtyxcQ@CO)nMGU_#FPTyIsERO+*MJnMQ1=pz7*)wv=3O8eq9jtU`Ck9NFyOGfD0=B<3~x&5-8^eet0$Sl!!N&8B83VtFgs zevrpT7AL{?jJTxR5|2{41&;AT1+~lflV0F6@T8LS z)1TR5ciD2rhhaFn^<=b_dCTNLr#cY~F~77)re;i3Xu$e1mP;4Xk+gZt^h zMThvxy1>X`AEd;+F{}ovT0{~~B%^^;c$(nEDUR08=Ia1<4Qv(P&t*YTVIK9(_QT^! z^t(V(=hUn0PQBKrYSO729G-!9+K4_$C;f8N*Fxk!W76iR3bTI#&ODPT}I*lfy z+UOJM6>Q{_slpCOlKdCCXdOffd(4(PDd7UQb zQi|_Uw5o^HtqQ2Ok}u{T?&|uDNX>45aQlQQsu0a`sT@HOKb2dlt!$HmzBJW(x;dIP z!lkBIK;=`C-X7Ua4b@&Sg}L5D-}|}T-P5y{i4F2C^|pl3qJP3T=aHR1I$qu;h7|Tm~abY}OV(>6f*x&;T0XHy! zKavFQ5Pqn{aVX%G6K+f|J^kj3p@a>ZUZ8?sHa0P|aQ3_3o#>88Y9w_kQ#yagMheiS z!lVN!dF&dFTc8he*kUe3l%JxF>p@IUKxGs9Xb1_%XbF5)Gc+-lf0!fYMy>ScP?ysP z6zL+LT?u>=aZzRd(`=fz76}Y`|9$s;8yacWZrKtM*NAG=2Ks|&`;$#AH7xD|pTw@U zsA@s3QB^uJ4G^yj=5zhA!Jp@H2V{i_(KSXSUZiljdS+l*HH|8N_Q8RIsC-Jn<+P%yxG z3PTgvU*eCizPj$-dv89m?&X&sypP_x4cFhOBmQJWt*nybU@*khCBX|uQ2VrV3zIj2 z^CT|*Iei+Q%76azbH5cT*ez^@;Iu?uZIJNDI?gxeZ@qOshxUKeu^6WJ+=8!k#wc3g z@XRiuFuY#k=}!mDuq|{x)*l=C0Ah~VLNw}3kP-U(@vE{_&53_vQO8|?!yQaT zC*~V?YH-%m-qJ zf&Qy4*j^>@yLDET(qqj#rRtA|s$LRo=znI-adJJ( zlx1x5M^B;s zaj2>%(b?DOZ*`-4U(cVwh0-XD&MtoO#TWUXid5`YAYdQjX)k?`pV9mTKC?yU5@*oI7?gT@iMo>~XK%S>7wX)4?$<&&tBE7$ zU!!KnB(h0@N8mC`_iL{$9XfQ|!X=0PZ7`#j5s1y6A$Tma3koVL#2bA9aKU*CsR5{^ zY&p|vm9BrpDtUh?l{yGzm1mYtomv`LTB3iSIGo`$91GUmWuc~~p3#a92FO_)ykp+u zA*fTU1h%6ve{m4k7fX!5JgYSiN}0;|>7Ar{FRto1Sd9 z$y^OX^&A%Zwa&LzYM{oK=H`}WH|6uME5uSwpbh;1QjGDdaf*3@%RN<(L*v_FC7hMA(3|wTudABECNH^k8 zoLTgZ9dZT?(vWP#BKS&A{zA^LbkT7m9OD?Swz6PkOQ25vJ4+^rJ1r5&cg89@te%?5 zm?&~G%8?oMV)VslaNMk^sG-rDNLD?KI6}K|IxvJgdqjZN`RAtLzO&`Na-Bt`Qagkg z*R3*nR7?H^wK36XKcvTy_&@0$cyhs@FD?*R6<~jNi-j?fbc9a=3HYpYU1PF5CYHBk zy39V9jlIY<@+t^b;O4)nHqLslt+eL+HGz$~!)wPcHNEupsKi~F_CC<|RAV${D2Ni! zn>Sf6+!BxDykoj2(f>Yxbb`JGRng!5Wu|E>J()O~<5b=lYg`!Qwr)OkL2C`QrYWEw5c z6X1A98qOMbk8uNec z==eyaX5osF8#tOc%QPn-D|y7E{ixCRx4DepxfrX?CB~dlTfk^sGqfpVZ+&4$Qzfu2 zd=i7!FNK%o42MR?^I%ixhqq^SQ8;ku9{?f3-q?gm5!)!@`oRuNv{LPdc z`SfcjP861BRBjr~Ct9b38SxW^6ao2K5((1Tb6}rWvY1)otOOHQJ|J8oq zfkZ+}lI#hJKu}B0S*YS|n@mGQmF!CnBGHF6msIrjQof&%m(gc`lTId~d~loB~2QhuQgcV>9gvlsKQFMi9pr9()p(!vxD=rVnX0;)~E)KT*qy2?k&9CtA&YZ%+BZ`%_{hWVdUtm=%HoW(t{NsYw^3k3 zoP7TdxwSV26(~SE4ul6&K%|MRb$-0fYz}WY+qiM==9^!hjV+)zlgTy7WIB8xMPHw~ zI!!el4IpxJk09Km#d@HG`jlr$2e3If4^-MuTZ+tJO5IB12)yytbT5v`7;}9gLEr#w zSn+W1Y%TZ?pDJAKLK?_baHbev68n|#Ef=r|C6B1Upfzp6V6TdYp|Vzy=A|GJ7r|$Y zY%rzH2pP`5qk)MYc%ZMn|Nhh~uRQwbb@fD9-HFE@qlJxV^Tw%*@*|LX`+3(ty5S3r zsI_aV``mxwW*&%l@3kc;E!x$5x;2s2<7$!#a@Q0KYJ4ahj1hv`1?m1&MkfS#hf2U9 z`opPh+opV|+nIUkrHqq4h2Bdf5>*uyRnNs9$NQl@sV4kH{}@*V*4_|8)JuZk32dM7 zuJ|*6`HjV1@q%}WXVV>m`;7BJa0+-yLBY)8qh=6>0egTO=AgfPpI2ygxY77lr_ym4 zbb@P9m|x)3&*z8mH3lyLp#S{&Vuu~BGvm~Q7|0u)($VKef(9N-87SAP9=xp9ph@jAM zzV=S3IG=?RZ(ykf_bUWMl1qwMXy0?sJ$I{FM*rDWj#OdW&PWy#pJFrd5!>bjqYIUWjzt62i?9%nqR0GoRh&jy4k%`g@QPn3e& znuf>+&Kx>|i?Ci0#s%1ZA&FV2eT9K4jKMC1&bSK*TLyTo(x%~JsD#N)ED#oMZ8B6! z+2+QHCgPLhQ{6}X3yswtv(h~@ZeNf-;r0q0Ri5T`uWD6_E`?T?Uv9z=bZ{ryG*Iu! zZ-GFemL(V5Nl7R&C6J<tZ(yy~STQu;XRPf=x!v{QDRui)qRnDf5^Ss8 z9dMRAgYl~~YG97k^t#xg3>$j25b}<=Rotm5OTy<#W8D!$Jn52 z^QVe+bvRPPRu~u4VweIEo>v}xvi}mIDL~RpU<=O--3(H}Zc#BmVpCvn!e0Za6thuK zC{RQ%)V3gED}r7K%+gd+q;s=*dIihM(*Z|m<@SGk&Z_Ltv7$1Lrbd=VL-D5J`X=|&Uh^T1zslw(_#7?4uj2t z7TiEMGu7WeFt8PIJKOE#{yseTxw-L-#y@k1N>JJ(%}kg7f&tALq}uw|@*o zLL)%Wt0_~wo=a5_T=e_$Xx2OGOl6$2DwoCUH&^T3Ex1w+ii>_UWosmZEbCPXqx_L+CF45qzo-BGvEKdQc&H^n?$@Z zY0VXHy+tpqh3J>9j)UW<0>&%B<%FG(LUF_7eHk0mp#Osk<;y^%;m0o^A5{nUcXQO7 zs2yDxT%-w?3;l{`7SAh$0}G?*^kNsmVJ#Cz`9^_ocyW8<>GpWeK(e^AJYw%Cv1T7M zoUlaMbh)P%1 z3M2sI3ELSUD5AfmA+k-gGpY%@PCyh#h8N^M3%DX z7^!dym&3TISPq~{AP0v`0RjTODDlX^dH_+R@!;GRs#?Zg57204vsPua;W7`T<7fn4 znTR}xx+igXwFjNc$LmoJ-9w-K-S6lPOfdB}`plowSQS#aR;rdy*GLqi=SX85;3>RJ5e5N&uk9{5}2OI_9EV{TMjH~@6^QrD! zFA`5qCQ_+)Km4#iQ62AC7JCFQ9sh^hU{a6Wd+(SkC~?r+k*dobc3IEj z-pr~K(b}DjT&?NQ(=bXC%Bdm#(m)>fEI9&*mR_0C(E&XfrMdKI~rK%>+A3DY(;hG_PndL72WacU(?@eZG9Jg>PkC|QjS5S z7SrF)pTj9I$kX0si5bw2KmKu`xtYjMOxSF?ae5z=^CvTU0taBMo+HHYE)K`+LcA)x zp9E-9DF9D&=;w*Vr|-YNKH41El%`YYd-Ssn72FYm>$JQ_-#n7MCWA8~xJ=>{;>p(TzJ=;udMI0yz^Aj?>of{2X(Sb~BPSjpT%TIs&&_*J$1Iuz#m=h;c%Th6N!X8 z^nW((;QO}(-t3r?ZI8fF!&wWVe)`+wSeb;GG=t~d<5~pFYT^!TY&O$sNN!*RUSSmA z9y4XWp#F>_Q#||ggF%?X$2S=lGk{lA6ax;`;3ct`qVQ$F6sW(!<`zJHwY@Ds2_c{U zAzyMi#Zr8CI{)*F;6}4F@sP`^uArcH4C!4Q9#F^xVVB8*dNu)RmBG>BVHoAwMLOSo z@x`@g&%So4yK(O`%5^;1H!p7CJ9nP@KV4nuwNyH&&HuQo>qG2d!qvW3B#B8C#B~ji zc)V&2A*y|(f&QfBY-=oMAV}^4x#=QuZWk9wQ>T*8@2?guR#y_dr6~BA??30Eh=7JwB6zJi@#r6@8 zYb<>ZQ^hnu!~r)3iooRm$g@qJM987gS-A?ydlU6ZbWi^I4I-fIy;{FomEb11oN^n^ zsT)O_08h#S5@&iH4wle=ee@vB>Oh}#cG3!9j_1*I{u+3meDA&dTNZW=sT6!2fEpJ( z?R}5XyiC7Wo#Rb$fg9GNX3fyC zm4Lj~{Mqo49f?GBP88i4iHK9{y!2Z)&U347h$0riGk19~<@3S4#=Y}T00-FxyiH+4 zI?khChc~5s6$@GN$_v+-0TRa1yuezj;FbcpfYAfrTooLi2bhLZk7p923&PF{Hj&Kl zRxUr51T%|`!cti6)-%+kha@`oWp;E%~5R3KqA>cL5Ysz1tPW^sYAH%a8>Vi5=Z z6}3%aA7rV~C$btEeL3j_Pq;xn2y_ZimGy(xb~rufH1Z_H=?1$r&Ta{i8(H2@sCODd_2w zHB_cjK&4R&P{BTs&Q*xb;i|fmol>`Jbo-q{txb=%vPnmScVTR70cE!E#gMMJ)_th1TwRl3{1d#d_hy zVLtcD=g&ACXQrMB1fKcs7gFTSe*k8KBM@m-A1WV>~%wmG5D3h_RazE}@nqV2$as zdZ%PYsPL7m`sK=}Z0lPus;j%Gb-nE=_ld?Q+T&@+eT^eDw~g$*l1Czwg;Tj+cxkxG zMsOCAebCg4gvn&g;c&F#MFDNl$BW=M^kebESq?NlA@mZ}uxpnEHa1!zXDNey#6N~S znBq&`K9eo}s=aB7qWD&5f5u?1FwtKoNI|PO6sQ>%Ei4?yMGG7V%vRie>>ptma{+Bp zk_)yO_?CE>i$ZK4->_kP^Vps}W1FwCtn0BnKG5=_jTa2ryx<9$ZEC0jmdS%~@=#GS zgeyuQ8P6eE!;6~7e}KM)e)uf+9}<~}2||!e9*9qPy}p#tM}HGKfVrSB)!SQm4fml`?gO)L7r;($eojk{?}z1oY>401(kae~v## zf^$DB&IP+p!HWuH(AG-jxYMe1#^+6J*R-s4&M6&U3m5&!5i_&avoz9Wo~brPr-$XR zC07+fJZPwjrPDs>!!$lxBI z4UXz0%Q4{iN%~NVU2|i&_R4B1w_f*L`w4P#4--e@xz#Nz-QD|`N`PB15~6|@fj0&6 zEMzVrqyYO}DB}7`Q88oDneYw!yYO>GwPIXhxB?8SVo+t4E@1KlTPHUD0}u18E%e9fYtp=$6QSx&J^T&*&t5)92KR;Lpu_<82H@Pq z`+$?U(ihiF;_be>nJo2qZ$zB3TcZ&nG5X{comGfyU@SDBo{~$ z>>dYON+t;k&)`zScf$}q4}>`s?x>@%H!e>B4nRTA`M4b%{Gu>DVA(Lwf}<(&hT34T zqekF1+hrnMc|G4{H5-)%wN}n1OdLZwUrM20Ay-Q^JO-9~dZwqxCMH^1Ms%%CSO^HtuYVYdxaXmPqc7E5 zF%_O0AD;_PRj3dBT2|ArY4?l0<3q&WWU^6ycxn08x&)o+SZuH-_kcGI(b_a@h=i7QD7_Z#++SRahC)xwqn94Dz@?!pYAUOsHY2s_x`(C`*?^0)H)p>&eN zmixU%SU8#B#@Mj*jm3pPO0ST3b>!!$X#l4H`YYotSYF)IVlxJ zbm-fIgT!IKn=Wf=6b`c~yA2)7j(b1*%sZaV|AM$GrsK?2YP1zF4!`kKJ8)qnXM!Bv zPgLE)C6L8I^48{Lm&D`P_b8Sj4>&@-Q9SqJI^4FvxQP=pf){r+;_sJf@QxwRG7xDvU@an+jI8?x=@y}&9vZ3dw^V9&WC zHf_7PN^c|ejWs5R+Ao!ITzX`0uJX2Z`8X_VGF2X{weUHXu zLD6m!$iqUhmYid;ILSES7$GaoI+Em0k$Xp3TNjzwi#t~#>(M$xUYM8}0}abGoobc$ zBk4TsHOa6DyCvtCoQ&DRdbQi$>F{ba&E{TrqvHF-Le@VKtO~=ORtt=OIW&CfWAAO5n3%nI zZhHFS51+}8w-L1$Uz~rr;Obw~heSj9j7Y&`WUduT!a|UN|$oi@0it zXqra@Ot>}A9ZX&}W6`)WoJFJ_605{+U5C-Ic%W+h!HCJMjXfmgYQnVjxn z17=AV1tuGxKhP`L9%MoRJOd#m_arpaQAVbwm;lzay$^^|Ilnd!SoLIxw41gBHCF5`~Pxyrp z_C7#!ptA_%2$F$M7`K)A93)gwDNH^AR06tLO0(8zr!zobKjbpMrgPEXfXv!WKg*MNzKuwJQpJx6#prg9h%MoI25j0B z;|mM6wBiG#>g1$OJ_;F6EWufFW+z#H6VGT<3pNDA_N=NCqIv8}wuExiRZARIK$lW= z7#p<$pR+?{9@c#u-16A!-X9JRmL{apQstz(V+@3sy!I6%V_W=~8j_OZmSq%Nm}LbGHfQ zk9R5Z=N2W9Yb!Tuv`VYNre_fj$`pVy3CObHi54wiYeR2~SaXW}BW-QOU!MF~{*#|S z^UPD|2TwkkA8KnuCkM~;_n#S@=|A@oba3E;uY)jcKW-W4lR1J*%=Y#+4Mvq}bJbwe z>Es;`MlvRnv&bWjPBAxdvCuOdYP1sU`9x2u@281`C8}(?KSfL3{r&EqaulTBEl1iU zg5}toJn*33jl;b0x*I|jYr4w$-#NQ`n%J>`>n)_aA45Gpd0dKM>6YnM?=8KT4|bs2V8h*7;B4{pX?X5}=Ldzdu$2ZO;IX;04A*hAE;Jh%z2lyq z+TN%i*WO`J;|bzhrAJ$nHcS&%EnhEn1;a*4&aJQwx%%CG<%9nn7>Ny}?s!litr`jj zhY%f$Ib4Tht?q>sr<}gCZ7ct5WejF9Q~^U+wtJFXfEErB#80Q7e#m=476^L*djP?% z1silTj){R1FXn?vgFx_=g=2*)3a3sn{u<;9|a zS1tK=@Hv<*_#LeJS?Qx;1`&7|KqK#gS(E;#!DE(6!a{?L;GMqesu-dgB(7#b_u~o9 z&HK#~wki^o8{|rh3wr&KN38Z!Vm24X^8%<1wzajlk4YN+)#xYmYg%?J)*bDNM)SWY zcyVYXsg$`BSI6^vq4yp0QTvTyg>Z~ZWuQtX@9OyG^Ent}+{NbF-A8W8#($V#v!n*o zjLE`PaRx<|kJ)a&JC-#uCW&vf3&icCGIN#2**%6kxS=3EEo&Q~>CiijSJKu1yj0>) zS{gU2)?nij`W^0Lsy-2}d4a#K|LL|H$;+T`5_G1H>E#|Mb3v6?&&nR(gHWf3eFcyS zoGRE1lF)uYo_o*=SFC zbqd6_T4>CRI+OUj3OA*Y2_R=1=kk-&b&|>b)~aE2U@zLe6LzzaJ9ZI!4-nV=J%7&X zsdA2az2$bj$|ZCe?Pk6?;8Dg+>6FzR5UVJwl)GGR)dw^lJxWk~VIuC%c_c!kiyys0 zYZ{HMp`Ri)eE7~g@6bQ|KJ%cLW9l(Ume@4!8B0bHs z^hC2sHm8MTRfzTFIT!_t>MJctbK;Q2(r@mwJl~PA*p?4zgD^0Nr8C9K+w{o_EI-9R z?{x{9Dt+V&u`yqlAE>@E%q9mNLns&di{L+p{s>5utsk}UgxgM7OSd>164z|Zw zai6G;^#y8UIt)i~Mnxw1MoOer4>;;1B#+Ie2wr}G$)?nxt?fS`h#zv* ziWk}JoLrnA2Qs6EE#qHl3~9JSz)bOoL*wJuU;j$=Nd66Zk1p#E#aV%9b4yjaXga$;${>`3>vEwRgFmMIkR$<#|qnO^k3ltdJQV{cnEDA$Q0ptSZ&zMO3 zG63=L5;$1Hvo`SOrD+ftqTz4(7mbD5cKA9IyfNSmcOi+s_tcwjj=lZ%8M^8w=o{mL zFhNtT7Th#u(er(536wJa8C4B4lR~>lL#L2V5YBUNLWbY^{B3C0;b-%+U0vTM)D_93 zC1Uf5WMRAYmUF)XcfSJ0N?oZBDENbXJQ9iEzVl97Rn-?WRSw5zLmxM43TUD%}@O98|_ziqB{1G;)@DBm^)01{<@IJd0Kd8iUVeIu3Q#))5 zu1T7NDIKHRG;K1^&``@_OL}dXWRsT|=BH~r13|Xbi&#`J<+rJHT4+d9vGg)!Si>g% z2X*u`HMO)%aw4!UcfjVbg`_6OK(~v7sAV3f*`BpmXe$=IJy*roX=4Gqlg%bKAs!IY zE|0ss)@!e5bEZ1zMYl;>#jY{Z*B6=@euA56A$7Xf6jQ=13IS2ULnmYst3vqZ%mfUZ zZRgg{%;sFdm`%h}@F%w%scZMgLzJrAP~K7v{e@7bU}N!my5;kg6$CLC2L~xRzuYy$ zo79LL<|v06Q5xJfcB0;33i_=L>Y#tHJQuVp0wD=_ktT6WMJeTOOE?`g>SZIc_$>Oh zTPLYzXSJK-aqz5?^mPfCC)9i_Q2nBC53lX%OP7hRV+Om}W)H(1kuY4$YveG)IqzU< zDlrRo6ma`am5Mn&>QBO z!Bt2y`9dZ-$6Aa(@Rh(f5KI8YL@IC{m|}aZ|JXGs{FX`2vTI`~DAs0>>DiTqtzfbDs%Cu4|G6(t;QHN7$GUBQqgGf=X zW&Hs)jN?Au5hNv9cEyJh{vsu06P&khzv{a7gr2LGG_eq=x8_G1&;xCER8`SjsNtV% zyS}RGU?TrwLj!SzLJSLKI}JkVx&PoR*g4=v_vrk_K^`kXvWfczT3(+~V32eB2?<9Y zx41W249J~$($^Kyk8|Y;dF6hm^CAbQQL1|A%$rMg3x5eLxQO4|CEXUT05WbN)eQ#x z_!+Zw^xj+0+JHtavx~XXxxi1eI&BBZXDj2-SkJ=KvsHmW;I_EQhac6MTSammPio)_ z6_TIFu1|BSZVfg(&wu{Ok%Q!2wOgH&4#gg)d~-G5vBAjTyaxJ|z7P2cIdBEIW^Mya z!Q2b=poig>+ydFAyUQL0oX5ZcUL2E%03ZN=3thM@7-Iiom0VHajNoBDY=Ke0(mJ1R z)O;yHRbmthsV7BottR{oUaDCr2E*{NV$%Up3N{@$AhKCkqS+Xo+cHE5LNS~(-U9HakUQ-kKl=qz8(PO)VCi#c+yiVa~? z7-;wnV@RnLY!j>0#BBlp=%_0;<+N+3rt-g(wEMi!e2)laID)=kj$CaM{DO>n1*2-3Vh4E#5~nlwk@si#fxzo5sX`{yOA!J&3t@K6*T~nQA4*u1E=GZypo0Fc zvIjuIr$ENwt>K(J_N9{~9DSO?h8$E3Ykt9|GwxOzln>4ypZNvVFj&@D`x)?ufmzTc z!r%wC-KCF}D1ZS4_?sA2E?gM~761kqmjFM*N1=s{Ni8!k4E{R)Ct}@)YT*xuKN4~- z(*9!j=4wZ7NL1O;URlv&w^UUM%k2)Gl4}y06;SZU)q4~a=eMYQO?`bs!-R+w#v9m(Tj9O;sE0Bn#iUhP; zC2ZEz$=FCMQUaWRf~xUAx(@WSH|YBsh>dT&k-rHr8b7}exP6w?w%lM6N7Vl-lK{y@ z_&e_>H8RA7h4W2lO=sQ!J~@mF5bV?YWg^D6t)?AgQLCuPygm}!TLe^H>qnrHs5;82@Ira@j*I z!r9gsL+&T~(nt*bFNypg*RAVxwK>)#m3Q6MmX<4&c7S~sy2@0ZCg|%uAr{%^sq$2; zU9Rfhsyfz>xf>Vp$;?xn5IHJl_z z_r?s077;4e@Ix!GlrR)SBK@z1?XdPSbzNtsF)kcbYYEQr%iwV*!Q+Jd zu-`LaR^lH>^YpB^TpfZP2{+}TGw#`u5xRBs!skEA6>)_erTMCaj-S7Q(hKTDdiL8A zSwC`N>U_W2Y}ye`6=i<=j7scGI8i`xg4#VvPts zPAD95rz)s)84;q)7Og{Br_(rjYPl>T^DFJ}pK06!#ho#sRIPHMA1f3|d55Y)piv3= zvbMBJW%f0z>~e=PQ&n!^#|6;JW)<5wI;iFONsUs8V9T>Y-lkM4k63gnv)ZNe$pV_7 zrb=m0W>v`GRM^d}!GJ`YmP^xmq1V-642wcG`XPVY6<7Nz)%`$KSgloFCEQnbnd_h5 zBp)NYA#>%2`Bh!ezj59hDYOue({5FWi+KyCKW2VHBTJ{^1!qM8s08P*8cJ4QjyN0=hr-zbxDzUT z7Zd<4*rNm(!qcJQXEC{fU$uBsDCVYMIwFoqWpuPULzwC^d=b$*L+?GS6v;9}NpU<- zQzNer7_}5n^ndg-s;v5Xp+1kZa%^B|tlDM#K~yB*t|gTm zOSQp~ak_AWJyqs_`}Hc+$(X^Ds9rf^JT(fIPhdz65fH+|LQ|}3X}C6E$6>}3ocj4< zH5_pj`b#j}$5l8diTApEMI@3oVI_4RvE4gE^zV~;)dnR{P4p@tS6wmzFBKFu3-auODvsw|F4Bax&3 z`vv+D;Qi(hH*9|to%$~B0(m}otg>>S?_u9grjLVDX8Px&phI<#|Hd=%@Qh%rL$JgM zUlg~e=-Z|s5-ly{ff7FKN9lUwM}}vNiC0vZ3Y%!h%RFr zD>4&_w4Pntkd9bmO0UNAz*1)u+7s<%Et2#Luii3PSGNzp-M$ANcz`%|i2nBB7Fa8P z5u0oCEc|)q!8h)l%k><4>CVULZ$(qWIZ;IaFnZ$qNI`!x_hjRixn~1MbGiNA2fdfW zyXBU7m>udd*zsm8vzNJxlM?XW?-hxC=`E$f6jCd12r)rA91C84i$7<|zCnu^O#>1J z&;$zV)6kHc#DpT2FZx3|9@l%p%-Hs?t*Jm`kxDd1Kk({<`@7?D;zJUNd?B6RE3GA1 znq002`nCv^MW-&}@&sHiLU}bR`}Y3*`=O8j=|qY*CkmVHLl3=-r1YOYU%u{X|B+md zzNa$|Wt+-G5)D@dHtt@oZVL@=9@cb2&)c_TBC%AGYWj=E^9|olC_G~BwFhR%zXo>1 z$IL1&$Q;{}l~aK0eE#0r;6^h>0>c8f8SpD+A__ug5*iG`GLz^MDNkHNTyOw?%|#-P za)rRox9wk7pG6CicJDf|`0qLSj7R&ZBi3>BTL*iRNkX!9tm&#s{X}cW;Gl_(5L%B& zB7Zj`nfJd)KbuJLVHI7-SUQ00&F?B2(;H3(-P1Ko3xVaQ1J}Z7{O$Fo$&2soI8;B{ zc=)=Fda2m0uy=+NZufou!U6Ege4y8-p~qKW7Ai&wg`IzE;0#u)FIMaG=fGwzeo-s1 zq-7xGm2)T!x@ND^ZS+QYG#as#D}*+ZvYni(j+294T`q18S=5z2hlzgYs_$Ii0?nb8 zU;lbE7^J00OaHd{Zh)4t*_sN%8=3;@>=q@9zJ}y zsba3Fr>lFizN@K!>AFZ~B*~i*hO7^u`(D8}|Lo5Pb{<-{cB*=PtjkoZ=r#q`jxC;? zLPyS&Usqi{7zotOG}bOG`L;6{#{<289BNH`5EFXJg3Pp((l#ORpP>AdNrr)Iz%GSp z7swr-OX0q|K+hQu0or{*`5gfNNd^|N$B+d4gE6|ydTTY90;pt#`OzylKs3objxmQ_ zh~CKmSIDn2$`uZYZTnO%f*QP+-+ejZr@x?YibRMnAPFTjXrneWH_C!a|Gvr~H=39r z_OU5G%(z16+~0ot==SZ~394rQspCWbo&$Ft1Vs7pUiyhpip3rk1)X=Jhn__u`Y)$X zpYa@nd5xMH`j{=I4TR(f8N;DJkMG=Coozg}W4=e7qn{9S5p;oD>~bUyhadKB$0$LS z#hL!TPM89R```=HKL7 zpeKJwN5X!++^Utyk4#m^(3FDRG3o7(jP$m3HF!)71K)gNe`_v>K6>+^iT(-U4991=>M%da^wiXzK4D)nnWZuDb%Tq_o4@0K@$4U?6&p5tDceG2a# zD@ZBuXI#qS@H>nK@OD=$;mS#P7z!t@ax&V4@6Kx5PyFG97uLP-!e*^A5(y`z5Jkuo z$EGTyXu?uEWSDnt8mgCCY4WLS(3X_<(|!+~sH@wIV1Qcvv17;3u^nsk`L#Qe+W0Q| z=_r)Rk&^bLx81lcqNP^K7T|U3>d9Ch0G&1sk~X0B<^tyKQT%_>y5?2HiKNM6wAd2 zrm`Va_RalB;dWD}M@V&3{_b3km~nf8B6Ban&fg4C>?L^j?^oLA;gUoT{*} zIU6~Ahbv&~HQDPuxpztPl^!?~`U$ujBzK15Xf*bR(8Dj{lRD!)y5@wt$)nN_ZmXtG z{mh!k8ohPCkpTTSXH9#Jy1e3$AKw!S?#Va6p45W}yn6Ns)V2a{GKnzUYJgwNTpFC)1iymujQ|u~1s|j2SYDtt_|g?U$5jp#`36f9EKkJ!K}%hxH=WY3 zy1zcqU>#9sWJ_7scqBRSoofXWsYHMfy^sK8H7FD!y+|gyYC0D}!{xibwXZFcSt$GG zi&tHB)%UKA#N_@8l;&J=$HlqM||`N6KWaHK%5|i+lBq-qRlOBe872n zTfuuc?^1&Y37S=yqzP5?7)bD;;N1LbBq?}am=i3X4BV?y=s+BIjfeUI!}f8kG|1Hj zyXV4AjVdkIDG$k|i#l1HuZspH_%QS;*^cp8IjV6CrzR*V{ruN=HYSsUAAg+Ov111* zufICg8roG8MjLM5K<{l#Q{2rQzS#_;)2#aZpU?rb^8YgS9e{CFSK7Moji&eBd+)uE zdhgYeTqMiA$PIVEfDHyr4;Ty>j2qb4#y0L?stKJWz(Ob?yO2P#*?%_)Bq0g$JpOav zNU}^|vm>5nJQ@v}b5HqBpT(mNhBLSzaTXK0b~Kj#=+sHfN;{UUwTX=!P^*=dTl@#y z8{BT(Q-bx&SuzK)^^yfije8d$ad5aL%|d6w$|q4LWWFx@>{IyxfHY8G>Mvpm!_b5H z>Lto~Xy?vlJ9bb%_Xqt3w^S=*8*iAE2%vW7#sk+jrqlEPj;?vRNWJ~wgUjwOhCyV| zA6Knfx?c6jCwd%^{O-;*JxYyB80zQ`w z`jpNAcIK7Y0Y3*PcTAKbF|JZt$T3xIOvRA0$%8Dz8ugMJ32G-rYg$^-;`{>kDzQ(A z)#&7jJ7=EItT4SiN;Nw}@sLX@vr0{yXJ$g*9J;P9pC`u1g^;p0q(U6EiW^C(Z{zK7 z)$tA=kTq5Rmh(r6ULw`YP%-rPzgKVGyqUOe;XA$3`5!Dh0{VbD8c7mRf6Wh?_M=1R zX)*-1<#JTVu%Qlv|hDDdxKVtQ*|N@YH&a5!}7o` z(}B)?iA=)&hX_p09EQCQrKv4AKRRhk6qu#Q50vJC?*$cQlle6l{#~5a!YBetHgK2% zped7ytDB}+pQ)JZFFuDn@uRdxpP4nKxq^bDrU02ix0)6l9Sh8dZv5Q;2m}!^K z=ZOz3Ikp7;dxUx{oMn*AQLa)6*67I-7=2MXauG=iMpJ$Dy-h>c%UVL!opX;aT6B0p z*TzIRz(l_S{9akv@AEzCTIX^BM`^x&1o{bj%QQ6dxD;{drRR^9Fg$P#O~g{|fC@}C zJTqaJf7na`-(drV)4&tR3*l&v5?6KNXJJ)e^|lsaZ$2oG%lP;4q)QyT7{Tf$YKTU^ z^A=h4O5r@7LO~q2h1E-`>Rc*8?4`au2SS%7NY-q`Qz?Pp_P&5|+8NiK_LdfXRYgln zwf~@p`b)ff%;iejNDw^^@KmW^MhCIahVk8ec$x|3Fw==6ANa(KX|hi$+FqK;Y< zis_3NFXiXMN5Vd(K_(`RGQ;&FV9W>HS0CHfnawUJ`_I~k?@9y8f__3lJ>=EIu zwueH}Kn2?JfGOM6;vaE{YBa%Ynyp zN%vxQ!3+YykCMg5E$_7dLzfWJv5(0vch>}+2;b<_+T|<>=lO-y`f$i=w23VuiE#6* zQ~-52)*s%|0P5-vY7Y!D;r)#mB2X~d=x~ao2szp+YbtZHUiAJ}o=_y_;2=N`R#!KS zzA{rPEtp;zrG7&l3S^)Kj^>`@r;w2P3J^_2#mL+tzn}W7CmXlPLjHFc?A{H-p&nm- zcO!TH{O1$`iJ{81$hD@V%lSa3BVf1tV2|F^=vT>l~E;U@IoiY}3a z-uIJBu;;Ywe}T9Lulh*}GiJWo9tN)jY#1Z4I*4fPgzXkc8$5#}=yd5Y zJyLf%+h^dAzqDhyO>CBdtSi|Ng1rn1)J5Aq} z%g(HHw`I1w_vi-P{^@M!_@bscBN4C7E@qg-65+PlNf?uI@}}mBiltb0p^a$2Bpfn= zj+3Rt3h{5KMccL!*Wf!O`VD%DV9hBP!;B~f!Dh_h2<5}BswOKd8*DCYP|9+SzIkq0 zIV?RGqW*Y}Iu}f{XCsbE1y*3s^W$Kmvho^l@oV%S)b4mjM-ngt28N<)xObvCe!s`l z>h*Fx9@aQhVnWa1&?C^e6qTog4}iL{NYm{atZ|eL zw3`Y(CdJy3hyf&3!OLLQF2pHp3QS@MTSCVLyjiKG3}FQdlQwY>7|S>QDft?UgrRep zq+96eYG_Y3sbpRuyWSO%R=+Ibj+&oVpmI`1Re3^Qpr)N~+B_@nLru0T9^Z`ayN7zG zOGI4X+2zR8LY51yeXWWO@`mdyuvx-rGpoEQctcuY4^P zQk`cgl(+c(TdLBgV5f`vom3z3b4W(>KD}%&tq8bfQNSxt!^}(#c!+p{Zu@v-7;|_j zD*CuQY|jYkj`Q+!q!GTGu35 zP~h!aJ5IkK?wR#A&}2fuL}4`cil0nQ=^H~#5D30Qm{IH)Fa?Ey4p8LIHOzv zk`^C6vbiafK^Lam?0bqI{^K8LHQFl;`VxMLJSukmnpy!AT!ZhB_}9cCwXE0Q->o&= zM;!(yhyg$kkt((MQFQDaHa>#diUFUQYqEZE%5!TzFZP6-i$cZUqj#udk&KQvgUODR zZ$pb+d8ae&^Qi&s(emyDzIzPvms*%KGd06h+8{p}iykM}R8byJa!zVTpbdm;By>qZ zjGo?HDiNnK--OWtteAqwnElXhdmtXLDa9rZgK4~RRy;^r!@iW(Zj#FaBDI+M?JNh{ zRQ&kJR`mZ~+FAS?EDSkZQBnNeH{Vp=cq7{N_S;~7D9w$ellt;0>U1OnZSJ$V2nDPM z&^~NV4pK8~GUd!!OqRinEL1z8fhjy+0xLCtS$Sex6}LAXc-$kTsJ=cvos?ifZu@ca zJ#r9w(Iz@4R>Le0m;vvEdE+?3Fd=7H>6HWwi``Uyno1zhbpQo{p}xz{K|(G*);028=*pKMu%l|LX^bQ^6{+I2M{jJbtX%rd zH&xgR?b8sZnqbsKR_|C!4sNdQ^72PH+TqsiJh>-tAC|WUr4~>72(>?)#)69}Y&n2V z9mkRzj%SwCxr0@*klH$`i7NY+_;k)(p{YI^UU^3fy$Hmvs=ChqxOa`ucg`PGd%cZz z9_Bj%_^`*oH}`c8}(Gm!7C4Hy^{H{BxReO(YMt^>jx*NdE@;8g47YV1i_?4CV zZ=lURc6-0gw!v;M?!E!drcQ%p#hS~o4|5pA9T10F@T0Td+n1-)!75%VH4+GnQLm1S zpiIHj{vq64fdKeaKKQIZC5NG3ZrT*BRGM-R(*Pa71uR?u1M))`<4t5nzH2$*6*NE5 zF)kbyE%6rSEb!K`e^K%>N}vzR9W8rs4=+_rkcg%SegfExbX)sF@%BP@tS3^LiFnOs z3DeFtT{ArvL|K<-dcI?H@#5j(D$aEh^cIuPEP4OmKFwGeyxY$5K_zF1ZEcH(9@IZQ6 zday83P&#^?kw$ypNa3z&ccOZLfy)ZwDt9`a=K1}jaF=fKuBBtCY?w=Sm^=>s(lX$b z(!`xo-!8;HXt*|>N1>rH9$N%dqKN`+510NiPH!CSpa~BTfJ1#XU`0m~uVj$-A z$^*uMLKQKmduAkBpAhw`IV35IUR;y&sfD|)IU2I@a{{@NG3T3W zcI{ehXfv6*49oP*Mraa(tP|+AkLbR?iC7qxwUU-EMMwTQD)vKWav~K43`Ca*0)s(d z9;S<7HXa|?0n`SAKmxI7Q5<*R@We1^-J{eOPM(}~<_xtDw3l40fR3C^GZQ{k?OMC< zDx@1cJH7ayvDok*&`Z~aT{|<{jhe`&jAi!7a&&$sRiv)kvbcL=Am({;3yYs!qVe5gJ+G`h?PUgNdoNP?HP%K*KGlLAlHo zy9{42a5A%mDxmZYm(XGw=cdRw9GI6r+g^9rgGhalhjvdA?l1_#%%C@Rcah} zehvwjx&5A>p7Gu$G=}{?wX{9t=)UjM=e6rs6)1I1A!Wkrv-;% zfr37e+n)oz#r2K2Z(;RhZTsDHXX5zGPTHMdvVfZ4xUoP!nUlU-Dd+@G(+@5g-R~L) zu(@Dp>G=j=ZQ=F!I}SIDtHp%HK$J$L!idN5SAcSupgC5HveGY=_?iArZa3PygNAk{ zqtPkVsI^j|#Oju4q|O#~lQ3sh6@;;Rok^<@D7+$>$Se-PkX41)&X)+64TCO?IYdIf zSyYMM*%ndT;(B>yp|43)rEwOQ-nWLZ;JJgvhv1~X_P!UfnbHzdl|mpWp8w*D>SfE8 z4Y;&Da^HTnsE@1qrAE;!)Q{zcEo<^7DTl*?vHdgHLP@BcC~uAQ$oV!+PlM9KLRcz?bqp{?sduzg z3kI=ie7>N-;W$fmP$?WX!QwTwx1a7!pi2hek05RsTDx{=-r%}*gYzgV7W9ZDI6Aa! zR>X@^mgNs`AdYajJh#CVHaCno=G16pn_D7!M-|&?Yqwf>uQ8a_TtG zpXG~$(A4xowdmt2UI%@6gdkb;(Vw~chdQSD4YhUEa=F_LIE3A z;4#+JllG6+TNuvcY6BJMY>e5-Qx~sCo3+<)4Ad3G4aG0f{nVmglQZUpbFq}v;xwwL z`o+Yx#oKO1^QoN+9(<5wcXwxX(pu`{C!ef$QXf6^&_8PPye@V*sW*Q_J&sm|?e^6# zw&D~i)KSJ@j^2sO{?3{yeyVx13Xptw8596974T;R zup$p$ybl!MdbXb0M681l$S!J*03EkV<)Y$&Wn?%MbqDxV_mW@yf?!hrxi0jRL-uO@A&7>6^Uy;S0Ut0Nby}q= zjZ8EM1^V^B_yyw41FrK{CYSBovjR3d5&w^x@gX66{i2gmyjO0#W$D;0q@b!wX4Dx% zv$k%H>u-MPn}=f|P8&z1ZZ~h+mN5QN=F)rJe0Ucm3HaV!8-m+viB2y;3cDp`Zn`D@}+JY=!z+g^f0z zz?bMxRPuy=jZT0*Y#6C%pOM^_XxQXsyB#LG3<8z{>c9KYb3|kByp_@i(BWg^Cny(n zCsI89G2P@4Q1i`0TUACn3T8^{iP<+Dcn-L%6xSvbL!{JFQKp;}7#S>fcg# zp_i$XQmv|e!|Yq&a(vwIsbE#lR89b41npOP29zIdpKwqTLJ%Mo zSl0nXu#{pr;dGH_Df<}(W09G9n_93}(EAg#_zs!CzZ1q=ttI$R%x*=R~JH8zaojfFF9)@cW`#gt+!jdoM7BR%yw zeRT{^Z*z=YZ-|x4VbL)<*>^B+t3KHnoPD9z)%<$jn+nZ{O-(#`*IRuD|873IWln89 z@%xdhH#}S1-Y~Rsh@kY<@;Qo(o?57ALe@52rLn@?v?%Ilib)nChnT{{(u8)Jp+Zul zs4~s8Hpu$4Qm>5SD*eWcca_SN>m2CsE9m9V=NzsK*o!denA5P+;1XTt{0pj-kOPY* z+xJtY99PYh)|An~XwX40_jWwa4fKOv%WYMs+WgaxWs82}m38P*>P_UNKBlj>j*Oy> zr(U;ho=76+p`+7}rR_Day>Rr^I#p*Rw`ky&|B^= zx%}Mfh0!G|xsb(sfGC=3o)>G!^afPB zV#VIf1I_Vmn~18)LC?L^xnC;YLy0>bm8l1o5&xsFl#a+!I%=)15y_ejX=B#V=qRXM zMh#EQ=Jk;r&H+hE-*2dpW#l=-pt(vms0EBnz54!)z=(aMZtjYHBMTBkrm*SHb6lXGAuZsJi1`RcV0 z1qCvisZZ&vt|_9?OPgNYMJ*mUP_S1%)ncCgRD+}GF6+>enF z?(moj`G7ohWe$|3kk?h7Y}Ma#sQ9O`{;{J5xCg@ewuer>OYSmj(cK#bX-R4KoMt zCjJ3uKTF?0`MGRnD=Ah;YLT+tkTs?ZwKd9&Qu(2&p%=7vUY0jcH&;tHo5cbtwNIuC z`GXRoyqwTiq!9mhyy5UMv0BX+Iy8VAK_3O7HtWYU|6sZ$V82o=L{?@`a?lSLHY|80 zdO9YkHid<-p~EtWdskUt;#6=4zd*ATJdJuPJ$d)zma4NY`lE;Kbw8f|s!+d7VtBD>&x+XKksK;(J~_j`=0M-@ ziCA;)j;|L$SBX{sgmx&jT8b0};xD?ibihzW-7kgRppE*pE@7ycpVsP`LNbhS*~HL0dkyN+7`t zeb`|8_L9fQ%5k1cfb4a{G>9da(+&{P)Gyq<|6SVQT6-v$ z#H1c4CH+boEzm{xhS>2dI}PIj*h4XKqk?@ALPEMOrO7ebZS>?fE7& zxABcW?V%GCM zMj~I^+f96}jtM(-8R~*E`Rjrvq6(^#0b9t3*d&uxM~bdiS2k)BLX$o%?l#oU(6K_) z*Ra@v8;MD#v!w>DJ!F&*&dEA?VqTxvruOOkWO93|ug|Gc(m61UB_4*J#wMU=3}{&m zxkCtPln_=4V11XCIM|Mf3)maJVosP3L(}K`c(N2&hF3E2OK9tWch3U&CpXugYSP_$ zsF>AUTZxW>&pE+}J-z+eO4LD}7^9A&9kRvQ)9GHnj=^Jb zn@RC)x|$Y!RunfibQ$t6$Utn9{4O%QcW+IXZ&c|q3=15A@(Ad+$hSWspMcusOL`v9 zD8+pp|AInTQh$&r;N8%98XR8$N?5S_OKz$>)vVceu$VVpkLB_Lb}s0vt)sV*DV@E& zs!9kA;3sZ4YpH&!S$FJld*kc9rxltpwV|1~YtF@k3kWAwgPxnXNKz9Qb?JZ%rp(uM z+PF5N$qf70a+1enH8F&DscW0HX>rP0)1}Wzx>XXRW*W77aPSX4Xwq5l1sj)y-p04c z0(^D{*tmHhVOPMkm4ETMFMaHi!ohq*JGhu2G~#x;;1fGtrJ4R<^rl9yASDfMFjxc_ z^Z<6COa%;sC2%sY51tL?o)~#u#p!nK4Nn$x+AAy3LF%PTK(wo~#ysujfrMD2Lr-+? z?6uUKZ$?`fQnsSn-_gn!wQh`G)hU&ec0Az-r`7{c2{5mUP^Bc`$l{;JK1rVFEb zYM(rh${KVjO+uTmG(g6fLGa4k8R8qn8ACUi<%A?_nP#ezE)d97YU=)G^7aEg)~w){gY}8U zfaE~wD=QDQ>UwtPF8+^BYTz#_fHQGPUv~9dycx8-*g*6Y-yo93bEt|Z65iG{=0U%? zW3Ms)Y^CGVEtaNdXP>^xp?I82=>K~D*jvhbHa14X#D?PLF>+wxw9(~{*orS@Y6m+> zi7Fy)llYa?D+EiyiNBFnx?%QNT<41XG^q<}6MUhNRnBIf)a0OvjPLWOnhZ(VGA*Ca zDX!*3+{!+d7>3DMoFgN7hfy@Bl}U9p??$0+`xszF7S!iYhl=FVrg^*%Zk&>`NmT)X zAXQ0!CK9C@D@^Mjq%-Dds3`z)g8~5!l1fI#cfVcE<#?$%?1Q7Jo3LQ*OKvPY)@JV6 zlb+5Ji36V14b>j%Lu5pQ+Xw2+sxvR@*!?%JFv$#3v3gYjou$sAF!eTl4K`Zs_0R8> z^}kxqgZ9{>P%AGel^ibhKM!rU=8m_x=08t`JmC?9W9(BU(j&P)1 zEUrji1J+!q)}W30T%9T*^2_4dMngi@#~0}M=jA*GEEIbGeN7uKYJ=^a5R*GfWAqBJ zT^-OxG6+Z$$CGHfrx2KOFyok)v84Y1nK78e)Weg}a1O&VITB}*#xyI#@RbBPmBQEM zPju*Re1iH2t-W~PnxrWwlXo~pYPCeWp%Qe)OUMO3!dFMHPHe11x-}VN8&iDuQpj9> z)$>@bx%zC2apY`+t>Lx4b4zsc9g;1k|9WAJIJ}hdqxUF3*tvwXS6fwl!`9T~)z|0< zW_c45^Fb-s>f*YHE~l3o6R^>RLFlZkohxY3)sF9koM)EVKiPEb{Jqbgmqg6TLZ&Z!@! zr;3I30cKoWF$jI@KvX$wxTkS?37Y~qwSjhEf(BrXZ?hR!!Q@qiQysbocWzv?DzdxU zx^}?B@9Os3mG%Hj&{}S3%G+U3AXAv`3)Uu-n${}-KB?tb!H76;o*mRL=&Py6nyfMP z+Veh>-$t&PyA(Zo?_-vlvrTAD(;Iz;;j_&YYjOAv(Op(epx+7o1vQ$!XdU&kDc|o8 z5#MN1(rM;=v3Ztzw0=gU!_t>@L$+;@%Rto{y}_q#*ZGVbsomXUG|Lrvek&=G%WD78 zq)CIN%o`(V6N9XTgzwzALG51Le&-#~1i8&n)1k|Wt>AVJN;BYu3x%tUQX7+e(J;rG z>Ynj_e0j7Fpcfl(*=fLKwV+Ef5G8G->jj6Pa%obRkQk%l+9O~^@G*hX{|jrgQlL8~ zHO5qr3TDTHGfzWZT3yf}t?iD1b^2djyzjr{moQ`^UIdOD36-4h+LE>*1unB#};vbT& ztzl-1h|f`$^Em8!QovDXzO2;%R#Ip3E_GcCN^7c{0KP@dl^yz&bOuKz(jHGHsp~)Z zK-B>pjD2$(@bFV)70_rRb~-SgeV(Ke?PkKqoBD+f7v^7@Uf&<{qNDSdvKDkI3fn@c zhkyt(T%|%BD1(DHrjut|vu8SW-3Kd*e%^vgbc}j-GLF$RVD)9Wy2V#7^N2M@^yB_x zc}xDecJpkAgVnq-`hrk$mB_MyB(&K`CaiELO{(HA5{Z$R`_>m9e|-Mo!!J`6=yq!L z{Fh!L%alQ3z0fD8KIdlMPH7!lmnLKMM0q*}hs~}-!j(e5qCyoGgoI&DohB;n67c!j z8PwIWjGEoaRq9d88!el%h3KMYLDrDgYSV_SVSC1mX&Ht*;#sl+^g%74f85hOOiv(O zKEZK#RyXYs(RvhEW|HTANT0GGLI}Tt4Hs*Y_e#?5a>3IoCcFRyztqqO{rqqyE*Fd3 z0^u^<9S5gVtH-FTX2mPo4UeHKU{2$L>k?gJkpk9AZ@@0;E65F&3}3CC>2xcfhZ+vZ znb$`H)PLS~0{f);;WJIPW^f_Y12Ww%HL3~J_;)dDqRB>BZi@E$0;-6W_^UE1Zr7!X znb}L1&d%zSmL5N;0#n9@b)0OTEctnbI-&}xlGy}LW9`u}lj{h9I-C8-_0~`GIF^J3d1CI`Zrd{51 z2l%m^b{;U&vSAI2K^2q5azz~ztolPB43iWxiF7&?sull<)DsB-NT0K8@M3sd2GHHc zBG*?u-mdT6pIzV%Zr$S9@Y_46cMQko_4YZ9`v~LMjWH;_S#jlxCSn>Y({5Nk>Xhom z66O3n__EJV`m){KCRbqh^PC%>K&z;~rtX+;U{X8pf7p~i)nXrhuEEy$%$ye)+8ga$ zV&4^qniiSOH`?XRcf5x>=LMa=QITR*NZcq1D2pPuPNDA52HctsAx|vSYO34C8c{WD zo*mGnjma<=Q?O#Y?La7`S<+GFn zT=__WsI7KHjB;s0!4_&XZ$UV*OC{tPsP~PA$RnOs)f{4V@y`Um_z}?@e9dVC)f1Jq zOCoCOU2)=_wA!oiXc9(UK_zBznCvD7dyzP*t<@yOenraASQ+X8%JK(J)a4Xbw|us# zH{PGL!_pgO4}(J>spdhg#HHf+y{rN5051qT80!pqV~+YtZC8U`(|-E|%mu;uu8DZ+ zOpuCI{|D+%Ds0+(0iKv*#=yM*-9#&N+9m=jiP}>t8p>hJT-tUCM*wZ|@Qp6nWs%op zAMdhs?sAVDwQcfUP%wADH1OtrJ+shMx`waYa+ z;^@b_R^0Px@Tn`QznuuXEOm-U(F@yU!`^tsd(@XVK1qEH|C`~J8fh*>edDVYciQ?a2R z-Px0wXH5)cT?RBP<_|MH@#Ij-@?;VUAxNj%?pPeoIQ(WAcA{CJ%YO>~9MwI~pSUDPZ;# zi3vPW<_1|<^18z5HvNuWLl>_(zO-t_I~vVUvtuACQtJf9t82i+dvQ{WbPWdcWL?19 zB1?+z%E=Nk!^qhtd*;EWVTJ1DnYn!U&E5mmmg;j&)W=%=LrhM&>6J`2-?nVdoR0@| zSJx6>0$A%e<}d!&^y$me)AbrZbV{;X2nk19{r7r(48C%{6qyV#q&az$ML_mTQ-&T@ zSQ<3xr^o68L`odhwCFN`B2^ri7_Xo{O68-EKKkhDe&eG+Q!dPFI0ilHI4&^+(Zj`4 zDxhwfpe*QeEc~D)#%np85OM{`3n~EcGA0m|HBSPM?KD-9Lr-0UgHYO;1Ik)4Y zObg%;To-`rpC-~yS9V)O%Oa8EY>B0qL8*8%q&#v8Cr~Kc{gDw zx1ThbOe1iasIRSqo|u2s0oWz+?fp<&gyR>U@ff7j^~9v`hYCZiT5CNC*< z7KV-xA(CMA4F`z19?Uc@UBN>(N>x1&>Afm*u-DwbFI{YqUyaSQ;*oip-S;X!Qf_@lu=S>= z{=|O(mdE%mT_jH(k#$NVD(ZqX^NXCutMRKd5~HG$uV-+0%ti+LI#aGulM=<`DJT%m zD*E^;JOAEHM#iQ7O|R*4tLy8H=3bcr1q@f1dUO#e9%h$?fVZEAUBobzgwFM4pyTxl zsP3Dj9t@bCT6))LSa~LrV0`M?2@YpIBpl@(Su(v`WktZ-2sg&CQ>qNQdM&@xjl(sR<59;tx+l ztBPais1N>Z=BoH?saT{=J4m4_AZir(l+>5m7+1+)F6Yvzp6`qDA3v5Y6zsg;wCx}AY+$?q1dK9o7q&nveaNVBzaz&j*hqg(X zeD+O3iA;+N$kUW%^yR5`}KrR^I419+vNqZkaOqzN>q(tyU z416e;_WhPL2t78m1XjTHhPR{h6zg+)+f6+WrRGp4vSt)tPK_Hx|E`1FR`mIs&<%*hIvf(M}#{P%$w$$-9$J~=uu3O%Dg=ETB zLw<;v(S#v;w4EA5+ewx-F6)v;)y0REJnFX^?F+VV&*D;W1ML)04>YQEZ<&$z5$%m zUkJJxZ9Te|oTeUTanVbZSSUuX{sFm*@ybe9|2p3X$i(M=g<$^<_3T>$S^G3^ zRbHmkXn8BXL*g!{p-ChkWm)x)+SMWJoKsbfeFt&cv}!>J5c% zFJCbtE?-WT2B2k68(XUgD=%R*#P?{G>Y9vZOun(t^!Ig27@8;AH zds8L7_MlwH;<~MV8xO3op)TpM>f|+ih(Pa>gtS%aghVcri-jBtvDH9wI(M`Sa0aHi z3nn<>-1zOVQ}TY;XfR3pAM(E^82EdkG$;??Zk$wc0)kd40X?f!EYKTF%=9Imr`!1O zC@etLI0k~fQaZtj)0*&$xOWedouxsNFxLZ=HwGuTeh%#PhSc6ZYwzwkT zB=Q>^h-+*7^S4E-q>vUl-}gwRHGQ(xKL5!o=L0XkBvh?XdWiiucJ?f_uw6E5$SJjC z9fRU%vL%o!cLsZ%W=37(3Ss#w@pWWhCTiDu5-uh3@x(dFG@pH$E`)mWHC3~VzILzD z+aIj!MQwUt#6>bR7=lMt)QgJDhk2Dx6ry^dP z!x0eJbLO6`S0O|d3j#`8m2<&an@(#looO8A%p3=t!-V+tV%S!(ZhTi8Y|H~W!qg{0 zw*YNRhl8_OKz0xf+B|}O0vdz1!WY(77;63t$%0S{oDGh*P6<)b%By69X|w}xI8oC_ zu37b*wQpatckkXC44r0yzDKQ5QcuZ(+F<9PW}dbido%Ov%`Blx;Zg*qzmOXB+4ytf*u#L_>h;TF@t4a-v$YNU_S_MlWVkq0}B zcT`Wc#6J*h0eC{w`7#v4!cmq~*ac~ai8u^M7CuD~8Cs0s8$Kw&rq~w1F=9(Y=M6Bl zAyO77w|9~2(!2Z2-4ACk{#C1xiWU|w7nmN4J?~w(Vnz!6`@UOksblTVd8aF#Kl;gY z8x+bri0Md!KHK9S_Jp8#%_Rumkx13W>{f>B+`hdwpZOf_6 zFl7#*Z}Ihr{o68){t-4QQu-tfLa@lcBse@?^qIKA4!v$sr7mq{uo$cZ+GK??EObbM z+UksBu1LTls7**;K_%a8lMyJ$GXG>U5J;hZ{*S)V)hSb#OIypmy zu>CMWF8Dd95nutoZzf{4)P~i)nzz7J4%EI4DDhf07 zr7w&i!626o3O|7H>vSls^tgnuN@2zCz{QjyOV`ruuYaIYdQS{6#fo+YGWmnS{5^!DbX=D{ zED!^FlM?;`{lx!KVZo`Evm5|gamn9Q>`R{%lO;{T@y5utxjmg0K(Ise771GsQ`hvf zyiP<)n zaEdq>hZlR|dT>PhZH`Mli%UBLR~n$j zQ+--nc(>Wq{njbskufTRUY)oA8GA*w0+)jNy(IB;MCDLB)B%&qt6HWFg|y3{FpwZv z<>_+vGI&j`92Oo5{mMF}PuQsC=&sV@8}%cTqD~S{WrSWq6VLZ)l}3|M=hP6VP(vL5 z0?bLc6kpp;Zw}gDcJNBM2aSo zs7)+d4|av)BEb>e!dM3t6AX} zwQ8U_y4snJx$P0cVD53+XI>qtFs6(tQ?>f6yVZ8_~Z4e{Fye>+~*tA^)HN`5Q&#+)Wo3|ZP7w{ z2`o={MA}#0NmZezZ@ISJILhQuBlCaz+XV}Vt#d9eoAdVU*^5R-UL74JzLopM^+GQ= z>%zeEVc0C-Pz8*}pis)-kgOb}$(NXXRf+&C+zhJfRenjmfUgj)o1t+8ntP0OEmdg? z3}*{lW-lMrsuUiJrPsQ~vV3)8Jr!!++balZ@@YSc}a1hve zz)ceu)=?9p^g~bp3PAqZa?pESaHkIoq^BHT@TNEhfZ;Z{LZ#RU{BI^9Hn=kRN88Ok zyE9Nr2l=wUk5PXcLu;rv&|KS&#+62~RVb6K{7#6k!DN7H8tTKncUrQ?TOFfMRoQO- z;7O+PR=L)E;R3q)!iA?xcf}mpPF)Ee?AVNuOQhC|L@O69U3A4#q>zzZg-)E96K*!Zxio{x7lob)Ys?ypCS{NY75(fN}h z`A>HU9(r7S>#d&?AH%A{s>fxkyMJMcx={O!f{SDWifRyg6x3JZ$Wt+;UFMKSEb=(v zAh=9s72=EtJn9NXNH|{|(l5&A7V1N4wE{KRW7Sb-6OtkQUi}?@|Hoc!hqWofCe^&k zh%jeYXZ>wL!U%4tE6VfeGD1@+$dp4%Fl9BA=w=v9sxnC${id zJN@X=$sz1%fJ3gZuwXF=ZCJp{U}qoDGt|=JDrFpL1hoXR1Q%?L7&lHoBvEi0Q0_D# zRM^BgAP|WqXu{mX|C82Z*x!MI2-+fHkk%pZ-W8=jP@usv39cNp}{s>UU3mN!)))yWNWu}?cCs@#*8#6XTcS0Ydg)aILko3+hEyFC)C#yxZJcGd5pPhx`_T>)ghGv@&!>#{{*-!4qT9`8 zh>vunbkW^C{D2m@4c@ekn#J$WS(R+of(7#zEO>L?Jdy(-uSV#TU3{&nX(cmb^63iJ zVWo~_unPoB4ks(K%V6rDLy(foNv6>LKO!NAukxg;%VlzJlE)bzVZNO6Nfn+aytCRmL$(AZ9ZO!Dl+JzM+9_)hCovsd7-RaCz;- z^(6x+qIY*3rR&41=x(V#h(}!7UyAn@;;m|*b@gmmSaEDW2fa+lE?_g9HyxFGa^Er zz3D%1ym9oVn?`S>QV*wp1865>l9@Hd!ESV#nn%kHUzge7ig;^9U>=k20@zO0!Bk^?MOa>W7sLoH$z{ z;za~Z2L3mTXOQSW+?7+QR5=`7n%0@m8}SX>RRQScJy82F0C;91&aoYK7Vjy00%ZH? zvggV!T#|5-mRgXoiLBRTj+>}`e7up?J_yn;gSiWOIN4RI~a ziaj>7nvr+L3>tYYFVXwZLr*~bj!`bRxs=p5eY*;_)X@&vPuJP&b}o5)jZ*tC?^Pjp zBj^k63Ki32e^~qYG!9=XflRfaJRs7mrFLH39=W8r5j( zM3TPGi4EC6!LjsQq@+tzIC6L#-q+MbGi}Q$>s}=FIT{fqLX9^1hYOq!WfmmFn z&L^|*1m?%Ib&z0$$RzgP+W-eYOeV`nm;llaxz*CN#7M8o!Lt$YL?Rp- zru9Jzw7*hycw~gQXG9SXHP%XuZBh%2DQ}RwUGi8|`)~htiWSUuSdPyf9Gr=?GY1Dp z>jR3nvbVkUyBurLJnBPueg@La8iGmreEki9jnsc2%NuLa(6+bNe!eYl@+jlw|Au7h zR&sL@#WPw_YdOai_KNYyYK~SbeO=ehfTlSUv{oAOdH9x<%7eBWbi4Q}KT*g|Jbi*I z)pr>lz%G1Hk8k~mFd!L^02*`3T42xnPMXG9h>w)&$JfwudWpWYA5d}xN;VQxlomxA zDuFGGVxw5{MnH5RLiK&r{GR8)xPl)CdKK_(IVo;x!I=Lm_%74 zvFNqu$41Xv_6(R;xvh%U9#g5tPlU{h;2&iq2Va*6^b()F(eX=YQ%`^p6G9mnTdQBJuKi@~Wbsvzj+h z&N17!CzExR>H1)X<>c2elnHaw3u=j*Wp4b9o6Qu(oap9M%8)b^3h-_65%rC*Jm>Sd z4TK;`eUtQLjkzP%u2i=p9IDsVN*nQRZYKB|M`6cV3)Bvj_IXz04t%H+Dq)ZkN0;&( z^ze%DgcES^B?Sk(j(|DK0cz6o2XK%BM%2)w3TT|k0(b<(jFDp_u|+K{8+}Z#*Q|$C zelj8T^$2=(ZgrbSa@WqCiywOEeofv}6r!i8258W~78##;2I-CQl!a=n>#p~39hG)L zGVByL2z1uA)WX{4rn)+-9@Y?RG#9C>U~>Xz&8Eyu_h;buCKhVxnV^Z=IppsVx?3j_!iATXBXx?5kc&nRx)2@ zxi2M2dy77(qv%09sBJ`&Yu4&)JgV>PSzb+7!Om8SE5gZ;L0!k;C@np83)*MS7--aL zIKy0><{O~Fr_^Jq55@9Oef>x7&j~JqvS|p(K_3LQkJ_~hHQRjU*KvzK zLy&7x%H(pX<&ROJw#u_G*OMKxNvpL&Gie^C*xK3dgdd5#9(9YjMq^8NQU6G+RcKVg zxgwQ<=vlI4UOlyEfs`Yt?nmd}d#^XLGSTqVd@6^2MO~Wb*HX@}ZXzbo_ z@L+#sRGY;)_)^XKDbfP;GeMsvo-N-86A18pTObV?n_Pd3)mI9(y~(f@fQg}(7UO>B z2P|@&geBrliGfIDB`5uI`k@r;FuVWJTM1#g#OFx_Gp$b&Hd^vS?DT;jf;efZe z2eV=#%$~*8YW_i8iLMJdO^Srz@jLG5DJ0Yp=w2y@ z|FIsA`Sx;PBJM8-CBcs>SmvYVs+avy3uccA7aDKhqTs((9qc$Z%oS7_w zP^%FE6h!w?ON?lNCc-w0>W>^eI9Ts9nBuHJU=$CK4c8?sf?;Y&0&%%Iwv8a{06a^oU!|mn#{rnN;Q=C(&nBT|5DIOQDS)PQ zU=+t1@P((+kdx!9O2!&vXbf;BECS5yg#W)%^*(Vk@7k;1*t7+8q*pF$Yin&aNHb=8 zW`oALkNSiy=ku5h=&P$_TSH3Nvb_1K_iiHZEGHPAa4gS>1q4C{cYIE^RB*fjaX+ap~#~#h_#0yTYJ3T7kRG&Z$h|q}l+UgEk7+P&y zm$BQ;CXF#*iA$BI*O45CEfcYE3ecvgJ!Y-hYiUMNlF_aagP@4 z5T!Ni>Z=yFbrkUL2CfEJ^&-=~JvLN~Yf7m*^EbMvDd(Ly7(-L|w`U^~a zRH<%IMWA%@Rtr3)R6?kD{BNbss$%ds%rd4-nN;wmwNO&Y1f3_qZ@msP-Rsu4>2a{S z+4-~CiSBDaJS$uP>sfV|)3U)LCPD7mA^PCkX{QDvTZ^_qoS?X{tP5_6+>SuhIOwJ) zE@80)6vtRx1vydrTN2FIIV?wMdi(Iu&RCL+PBgT2N%t=i+-*GNp>H5oQphIAN}*Ml zR;9ekBA9VVmirY&uj4nx<7l|@)AE(a;6ny7SB{on zXDoc3T7PLxxC) zo{<0lQ=T+H0%Zm-2N5dB8f!K-1Xzv)1hLp8aB%rZPNaa7aJ3T%RRw*ya4uk^;je)* zbGe*U?nIbxbJ*76^yEd`CZlm8vCz^uKpfbm;4HA^$M0n^lL&rh8Q;o}bA<_kC0-~w za*|Oml6Py2f<6vE*1NdKxbY5#zQ(>Xoj#mSA5JmSKTb0k3J^Ra6-oMg<1UfKLqwT8 zQd4*N6?G3<`eIQz6ZZZX(s_edZS872)Q_Govdh)^RE=IRg7{&8Uv*NxN<$L$dE-S> zK3yabH&7Gp9(v%u2YZlkMc-EF(b&D=iVaY04ZPoKfi(^-FRan43QZpXEDFQll)~-G zcr<(#gwbYsbwL*Pm{{jm6&|Q(Xv@j|V4UNm^&Iql{o%lWjK$Hz(ywjXCZN44yj0%S zF1=z|&YR>*Zo3t+qGA)jnjaF@2svr7jEmfi{GsM<72-E(;vuV^5Ci_v}mb`GFJ<$KrN0cgYLp**%93{RJM>oW6@u&jkt1t|O@rJo= z?U_TJ=yZWg>IhP;QgTe)VASb`6!L&V;w~fENbX~FZ@M+$oT6S1grp3_?`QLjW~7?* zI;dic*vN*+j$=~eL4QJ0+s0Tbyec;28ZS>y%{DbPeIeF48XNT%8JvXx_Siqgd zmDgXh*SUSpGR0Bszl9xF$P+4&2gwo|^bicO{mO0=@QXO4M#RorITE}o7-Yyrr2Wrw znRZH{liu}j}dQ@;)NmDRz{_QpE%M2xJjhq}NkWEzp6N2u28mG;Vpv?0Qj0F+Vg zH;6b;-o-QM1o+yBz!#ik{uFwlL#z9XdNvHuOaiVX+rHuI_4X@wR`g-v3j;R*tUG;P z^rtCU+vHkntik4gUC4_|;+5w)0;rE&vtAgBVn&ul_lBqeEaCHl1IrDx{3(l}kA)2? zrKv1hxC}$&$XoYFWD|hOxo^HGQuCP#T{&Nz&*xFfly4+|V|1W;>BhV68oBAFy~ADM zy&IR*s5FMhE!Vc)uo<4mEHA@Hv{?^Y%uL6V41;%*tMh5>5eLy)=qg`r5370*YVipa&1vGuRsIq zV`0-(*Q?0+-h0%?FK`h`y~q5Jt@NY>V5wef)RQq7jTk4H=~iK5qPLQDqu`)LVPDBE@v=U?-&V}A!Ij7xnd4UedP&T zwJe5!!Ov%l)d~rxQjKvHL#CF6l_zaB+n`k;mC1Lg%xtF|Y$2b<1@FMw4z2BxxCru_ zd+7Z+|K2sN-YpP5eMmIef&^#o_Tev|MFxPjNPJ(;^-0;J#+t!|lgrvi47;)bjQI}q zgO!zRy!`T>c)lh++SJ`IyKbwTwT;6Q+;yBAV2ZR{$n^;QvI4HaqD|@A4@g9_n&Uq( zBvu&(y=7%9e@Ne!P9uAW$4tLh$zrX%44*Tu z>d1>o0opQk>Ad_cqsSa3JnO!1VOto;f)oE zi53Bi>rte2uD0!ihp85!L&(hde114=Fv%*@;^T8ZniZw5UE=)KU8e+$AYN`Bm%MA8S8W#kG*s0-rhgAS?RfoJI0KwIxf$r&5rv%>v zfv0=DTf?|-?Rw#>hbcYm)ZAb?6U-Z`*c@wNLF>U=+W-cJdh1(S#g}gub2m$Pw;bWP zgc@!oN0FzM@zA~088)HmXUlm?huK6rH(qvmm(#_g{)GJhTYIXqa^>B~b+OoWksD$R zhH@7?s9JGE$U(tf2Nk*muJXm#tRNO!*i_ekWB{Fs`K1XhRqO6kSD6R^eT_8_Ux)br zCp&bfyh$h(fuDA`bwSQW)ZJe;_)gVZN`k1*arHl&<5*R zW8-As_~>XsBx(^<8Hh$I$-dJSw#!SFN~}~D!JLwtK1TV zH8d`ug#}V3vuJ_@0LO)zny*Fs@EveEpu#B<=8%!uGg@;i7((Ctf z7l!#$FhkmKPz`)fNw8?L`lSEHsMwP*S!4n&Um-a>Y<1+-kQ}Q#X0?tXmNCNN87&B`zplL>5?>m zn8}8gvD?ve#Gtj@&6M%TKE8(^VKrUN-Q1_CQMfu%!vPex6-iZvRMJLt3fQuGD`~1G zg#y2-9(~zT-@vxno1C^$INMh|UcakENJLs8?DBO)Z;ZuWP?12$OQ7IKDAOt+6Av+y z0&LcMV6&=Ld6}gRm%+(i3kdL$^(T8lgGFB+d`?+bCJ9#um_?lTrhOFt0GN5bG`}*e`ln(CU4ogDY@YaHsK|1(ixUX>;fX1%W5Pb-{1JU|I?a zhi|%RBri#NyXqS<;!78l+zGz)mRk@D*6VQrHw2-HTBSF#hSA5j@I`X55HZ`C%-3I| z0#6=1*bijR7kSquljw5KQK_K0vT|d7ev~P#DK6evR@U?7-|}uuB1R?2R(NZnZP?H2 z&Um_S8(8^5}GdC(^R0v$eHWCXy-QL`=hA$TJydrmQTp16CAHm78m~e09Up+ye?GSK6*8mQ|$o|-d zyEoiVS4#cAutaA=th1*pw*uX8HoE}^kIw1B+jRyI9}F-P;J$E~1RQQQ%Zn8S{1|A) zI$i^_s7f#bIgME7!Ei7R7a#M{@CH-Y%=g$VbvV#}&piV`*7*nP8#<+zF38!7Q zoLrWGRaD_6b~yE+=ZI(8rmH7hRXb+C`1+bFlb z-Q4_4ZS7s2@<5cN(MUQkK0R8~e7qZ-DYQvjz~3$M_^NWf%2UmCs}vQ;PW>R1$1UdT zjJws+!v`5c^>1s%8Ws~0aefz`MvM4bEs;;4E{R)NYx86>x=8J`y}HD2VKBKxEDk}M zoHcrAYH^AW0`&Z54X>o8CZdiN=q&Xrxx*^c)F-Zq0q)PE`M_4lEM&P=Y^SeA{UlZgeA|J41-lK|__c4(cC4)XS-E3{7@PJ0 z=f&Od9QK}ZNKe?ZxRYeQ4LeHZUXRdd6yf>u=Pb>Gepx4VRYE6tv>ohGKro7&$GS{i_ph|&KQv_93mcBlV@LivaYv(=i;DfIq z<4kL7Yx!=5LN+ZV!)br!_X*9xNXEQkSni)mU&HT-`Oj;k;SpB#N6aB;H+n1dk_Hr9~4 zgY{AC`XK0buw0OlyPyz4uwgMfj`^Wx3VvEL1+*Bx`Y8^4h$(>t{74Rc*SWMW2A4qp zqbcUKRLK*E58ppvsw2dTVk=o|Z#{nf^=Jd^gLRY?EN|boHI`Bb`)k2?U%n*a%yVQn z97L=D1F(`-<&pXIa9c#ThS>$MP(GZ!w>@5{m4P z#r8+8jxo?7MoGdg;?@@ov)Oi-9nO#lg?xd?#Fm>(aEH=z4*Vusfs@D01CC0k-#In2 zosljtw-%Udi!3hSAOeoUT62MwN`<6rq<&t-&he^_W1G-(2^gA{pz4I`Np`AS)#&C1 zHjY;6E9tNVvi_zbjm>_Evb^I==>ex4F6bR7O;p$sj}QL8~xC zs(ob+nBqj5^b1;+$rk;NLZ`L+kV$JXkPId-A<=QzT!mhbse){r|0v+$4v6h-3xF#5%>Dj+yXu;p<#u80MU2H%1&K0Hfb z{A{f(ZP>92W=|MQKkcVi8CCobfSqyS@Fj~1a)u$NPIM9hbY+!D0>y!!2yfN`o>UU3 z?svIteKK!(|Gur!1mW$kscjH#UzD?^8Om)}B9>pKDB+t0QCVE3Gz+>mF^y!IO;atp zB8{q>5cF5V?8hpmKsB|!o=mZ&JR)`+A$Pt}H)JeOI{NygBA!$RO_`Ghqp-2u?NHk) zfZ}0Wy=Dhrq?ZCnpf>w24}~uGUm0RB+Du%H#@D1#IEu`YgjHK!qTpy8DV_Udb?u32 zNDLicj6|T$68wKU-n?tBuJcGAI#X&<3d^Zl2~p`RCUmuOu3u$K1&TTg;>OwmnZK=| zlZmuGg}bB3t+qvdg?7a6tXHQw622pn?uXK5ZAKzf zDDC{9^?(%WGDXtp_H_Xib-4g4Fj*0AsxUud&I=XRl}lhp4wrE2;Qyx=Xbpf9@}Q65 zZK$8c6TEZXZnzfyNZ|zobV=_uLIx*&*9Dz$mhWxnzJBZkxZnpdaP;&^KBMO<@2f~Vokn3(o@DX zS@j|bOD^UIYW;P7*dF>gdh<2Wt0>bWyLw(K8dN`gCksX|E9D8UTHulg1)`P7-Sw}2 z1MNBXO2fsq==suv<>gdUC-plh1k?BQd=K8;Sb|F5Ek{!tB;z;?KDkaNxOo~o31AQN zN{Ft;CX1QDVsui$u^WSUAXH=;DU z(f4-0;_vG6zq0!^nD*RrV>+Em_ofRA2F1GMrcLSyNga~w2oA~Q2w*P-6PMn>E*}@| z+Z!M|-M^04!&5QwUhD%Ku7l2#gV1|&C)CP5x#7%)mvN=+*<9f2@e#OIE|zlRBf=*D z7n=(O>R&stRd-K^V0iKgoYTKMGdQmlykeVy->*M2ILAUp_G$1Ixq4?VKn&V};pNY8 zrU2mS02(_HNS(oRz(9e2BHaX>GE)I0kxZ(}cL%$QDyhdB8RA%6?-N#`?$Ra$|g}htKf|g)75X)W7vGI{DC#8?I_bZ9D4ceewb^ExiRc-~bp9K)GLpkTMSK&OygcyiJ(au^SJ4teZVZs+XI}p|7 zc7rat+~XF{eABE%_DsB=nqtnem`r1FkQi60r?BVAz-x;}WHA$4p`2 zvHbku!ouPFxk$gm__I(C8a`6TSbSq{n3vuT!me6_9L3CCYhd=Q9rAT`16}UsJ$6pgmu0kA!MsvZd zWo0r%250Lgd5TB!dZ>$-8*eDAttpqZsdVj5vR+>N{bO6irn%Ald>DhYDL;Qxnz})1 z74!-$62vhGHn9kvS|}W33D6()^IJ|Dm9Eips*^FjymCjTQcsQ zTa@Dk4=pq(y^F3lH|L4xh!3}gZ}WwnWx zTK2M?RVS=T*u#Ns#iNs;WZZcnog&GsGGTs__M-s8&MH?cVN14}rWE26;RfnP=J2=k ztKx2rJR#DlPMp{eJE9+bnrc`uNasfK@~)1>y7Kb6VqFR&YUAic)Jchn-ytxH|HN0q zctkmm6mnZ(hvb(;f5m}j(x)FOqk0i{nfiTQfq026G+O?+JbClx<(HGc^r`NvtgJj< z1&_yyCzyn3#QvCjAs`QJb-m}=-y5&6~g(6iM68*PpBJ~|)RB)siC zJ2x1rFEQVp1DIqU&LLvEk`)&{ujt=tRZbx5V^XCa?Ty8*iAFcZVjH9VDod-}O5H9o^Sk*L$-lIMPL7OE2w9yh9wUzu z&ohQLPe;j)O-~wTt~jW6nn%j14)nR%atf5=R5d&vFW91K8hpe%?^SrW`+hc4BX)1{ z@JBm2GmY2|E8%y44f@s2*Nt^{c-=3H(GSK%XQRDUh76uZ7t{^F<5(BgU$C6n>D7et znygC_@g1Qi>KNn1_rE{?!V5=_KK$_fv(MgtKUFX;HVpTK!}~*_jp6Xd(4a)mY3FK1 z)G3{z4RqoQt)L5*HYg;l4lq8S8>S2QwaJ}&Fu|Rf0>* zc`7tXsGOVZkJar|hPJproUN2vr)`3zYQb7#CETBMjRdGE7K!l)4;}P^guX_K1pUK$ni{>*C|o(HFc&*YmN2>hnaFk zqut?+;TFAuy4#@X)ad@E6LhkbJT=G)Nzk9ki5+(+3ExP?tD`T>Nq+uu^cRne{p3#a zrdPWV0$G85{_({>b(O;2E71&BEf4?KcI~AfCyae{-Pm@YzE`z5^l0mna%toH3uO}5 zxP`y9f?KqM_Ui=Hxx5QCM`G~jwd-mq#$Y=L%+UOrU&lNT{Nf-Z&=U|LNz(ax%$=r4 z2={V{eH_D=GMKAkW?x9xvc4^A#Mfl02`!W?@l?lSt<<&5i`8ueO=il$AQ*UG%ATH-6YWg2gNt z?GTK@5;4rjr~z+32XiW<=isM$u<2bOWeyFY*K8Cv>F@_I6j-hljS?VqhEgFCJmiIq zI^8OomE|f*7|z(VilvgL-BJylFT+t1f$?Bl5-tBzeo?bmoy&6dqF!JW~rSgCGFNFZ5Eo(QeH zYLbma&~VCN5g%bwk#zc&WU?on?nzP)>U6z2-QTssZn;D$WAz~(YoKL3Gc?pa0W=~% z)Ti8CTRXcq%xk3niOTfLC6~3RJ*v^lYnq;0$qB7uG7?Su)roCj5f2oMe#0(Zm56SfL1;F zn#^+U56~7Hqbl0c<;0`}r~negMsLm3VMG8<0LvP~tn~na@u}hBjg3vCy2zFJ)OFgx zT-iLnuWi>RsYZ!uEQYq}n)-*Sws`!;c>FnZwRs}A$<=FI`7j>ui}&d?ZKRgE8E`@m z-zZ*zdH9`xNHtPUFZ6?Uj6T-g-E^R4{|!a36tCPcwd**c4h&XzAARl&8Gyq1D`Vg6 z0gFcc-|S-P)Ahxv!>JJ(P<3?^!?lll7yRs@M>au}Q^I@3p89Ez)9B=tO##ZYVhmr|fV zLW$BJ`sU{6(**5HPtuNHsYp3l{-kHguLLo@Khh+zPFn?IZM=nQ&?_;_s{Rh(s$TdA zi&VrE2m=T`ha1BZ@zR^EI$}- zrH(QC0cjhGlKw~}ke4Q5zsNHtpT=TU8w?`Ee6{dYI!!fMYZ0+G#aC(-ih|8r{T%N}hG)?_Y0`{3G=YP{ zr67y~3%6?3AhAog4J8=xvyut$$8N}<$uW_YWlgaLpNm&kBc(NcH2d>iv?T)A>cY#3ntfXB2Hr8H%w+GL^DW-1#_3_gKi)46;l9*JBQ3ZWO& za+L_N`B0$GP@0S;`Cvk1Fv%brz4CS>k_iojo7E(BMx)R04WeHuC)`8vHuCgg3p4Jo9b8w^6IUO+M07JO4RR{lukCCb27&j*d8V%wCJzp0x) z)(R>PnyrT3zt^GnNW8&wjwi+&N4n_R(ep7+&X#5m3rxUjTRoTOy;#>EQ&IPc_54<@LG)*psEwm!LPc*o6dL|kGrR3RmCZg>LG|`@ z?upFi&r}xArG`9L_e`Ub>#wK2JB@Bq`%?V2_Z6?c|Ni@>_4W041I63$w7XwkU3l6x zAC&vHdfpkXlDHPd!r_dt5iWhU9_eYA#niaQZe;hqU(kkvlL0BM>N!-+VnYbRBdq6y zUhHhDo(@j_o!ePwLwhvdv5Hxa`dB2B$=iIJiZjcVys|&N*wE6e&%dagy6sn^3e8|I zWLTq7)HDx4$%zxxCWy+S?Rr(KQVYhwDCmS}{&R&KharTB+YQS2sbTJ-6H0kxxZ=aU zT{AV6{PNP7%Lcn^_BGsmMbVS!_gV61@Yp_&sk(Z_8Y4L)~FO0-qB_t znZmdHLLi5>860jY1F9Mzf1)OUU&~8D9RoNd4%}^k;ILZ^SWs*ia%N&}LWIjr%O6sk zIde;!1N}9z0*zTIlgGSOC;m#(_*C}XraDGy5e=ZF@fYVf2Bmq zhWX^3FhC_HG`6}>4`by%jilOx9+n`NJl|OBIDx##>QowZ3g*hJ+kKJC)$DdRyO4@2 zV6fnOcE_qkR_b+;kzda?h~F1VxphLhO3bR4Fs`A#q8=_yf^-^vrHPU-&&Zc($9aT2 zdM_|Lf_{j@Q^wh<18s7vwZCqOtCG8(Y9^b`#01s>eQa-Hcq5D=tDt%w+Q*C)o~$Eo zyXPJB!f*Q7W(UG5ejn8MH{EV?3#9Bp8~Z33S$NvHJt%Ws9QrWX>JoSMvUirUVc-jn zvF~O6h_(@Nx-T{xQR3YKBT$2PLHpna@nc(#5dxHz;Dg0x9`X(lX+w4jCiB6k7oZ)^ zI~6#T9Bgp8yOq9)(kX%baHs*|?FTjE?e%*L>*5V+*QBpWi4K4TlxOTwdikI(iH} zy>j)a*f2DdOkR~tX7EcBU&X5ysi}JDw-k;n-coy6@hFhX3xcZ}J(@$ug^AET_ss9-!{k!6??Dja-Hq^gPF{MQ3>K4n#6IjQRZ&ql4?!Ko=5 ztSDjW2 za7;mUp_zm8QtC~mStsNx#8W&iQT4#(FEJVDKkoS7Esm(DGfaAln;yR&6>~h~goyWB z>YnQ&Cs6+v9EL$1sQ4{do%^uq`EYw%;wI06PwCt0eQ&T{Y@Rgpm#X+U!o)psPcc7& z+AA^eh1p(Yyw$V~bQZRKpBu$Pj{~4tkSx|cFdkX0UB$N9EE@PcI-mmcbe>bYP|)6| z^$%6fuvJH6ZPXpiU_<3}thrUwsMa1_4x-n z=l0EQ-3o68j}$Nl%r-44{}d1!&Cyf)+>0UAj<%mw&r96nHo--e{2{u(O$hk*N#>84 z1JKda47Rx&VohwHaktfWdLIs4Qz$E<`Hgif(4-GcGD*MeBqH;;ulm-#vk8)ds*Wkly*C*eD1m8ZQ7Dj>MqhfT0X&1-V)BF zf{a#lziAuvBd`@NyUr+di4h@#DZ)Fg2N+@zH77Q72lhrHAl9x(q$}DNZj~CTZ;DOa z4xUl;2SV1tQt=fsRtHmz{EE4&w=!9yJf(JVF52#ncBNiJ<+|yM9@2s*tbD0qZ}0qk z>4PzqH>Bpo@0n3CNlT%BqO`2vbrfm}utJ{1cHrr|$hw|qJlnh~?=JVxy1Qk@Nw;WU zQqT%5@VL)g`PH|eC!`KI59J1Og8`yd2cWJ1L}5ud0~~>6KsS>)V@YI90YnkFO5_{? zVvGgFKUrA28fdNF@by<5HzN-reQZnN98YmfVr!y~pnK6FY7T|pqLwA5@i0VJSH)t; z|JKSgAf;HBQr{*qP{$3L4xUN;H;6_%fUbq5kDV+&szEolXw^pMO);So>V=UbSbqd|D#DE!;xgiJn21QdfRFOep&qk3NyAGB`+e*s4=M zgMRYmzu=C>VvLlwTs|c)B&qM|S~wa}i!f~;^%hWP;O@q#N1^MlRipnOLfp<$@<USY%qW(lTx9uLnVZh`riM%!FSC z%FZ&W0<8jrcwVFhVAGnQtsOWUF4nH~?iheP*2~ zInqozEZD$ppG^q+i^xUBAOC*cb+Z8iTl*IeECDvJ-*>Fnz2H}QFYa4*PWht^F-USN10L$M?KWf0-@mo zJM~bnRJ*Yy5ZLAS!`l`=^&P;2t$O0uYDp_c&L;%I4j8Rd8OqjDS2sR5(a^AR zmBcg>L{AM4uDlhE?u$k{@C$m%GUM*49;ZGFGYh@D4fXWyTF3?8$42w&-*_ZLCY=#1oT?mf|}O*?N7%~qA~ z--I~ju+g*Zapyuv1w_#Y+f$g$7PgOKsspr5`qfKt|1j&JJ5PFeX5K2Jy=K+vf&dT| zW`{7h#-y1vd0tk>;4adoI_s|BzxR@z3W0YnF(MJ(3>m1$7(Y5lnbCU(rr)~$`mr%; zctEA@Ge#~A1ki0;w^HUvq#1gO>l7O5Ws#BB%GHZLHgKBZ3Ia!);d9X6)xwdzH!AHq zdO4pX)y9XRn+q7A* zt59$`o|%hn`v#^=-6E6C{xw$=)gh5jJ8{nybJyfkL=V3AZNzqk3!LDv3dQy)&7Q@Qm zHrIRIUE=8qUM@bC0{`+N>@daoO9fy8Y`^Vm_wVe);dSy_1qCqsg}!N!1HeUpIS-h# zP0&!202$F-%>|Q}7#j5HJY$7Z3f>_?+eDp2`_Y?Jiu$9-uqnV;f?u%e7gR?$d}T1$ z84h;_SAIcl6G%CHX0u#NJ*C&SgAM<+R?q@|P9^4Gj9Q33Mt?BR?7Tx2l#S|LR0m_n zk^%0OkFua&J>Sy8fZIg_cX3P0edc`9EFfBHA8p*K^ltTkuuvv8PuqkGwfv#Zvl!tu z=CjN`VEAQ_&pd0BN+E{A9BfZck7y7IFewKS5VlJIJ!vI@VmU~DV<4~!-D#JW15anw z=-lXNz~tMUo-!PPr2mPmWFDHS*?W2ljO+R;9R4uGT-TdeT5_Q|92-Xa`XDy}PfZ?HjXov;X&sszgwaJ%%tvAzHp zN&*N9->tK8CQ{OdcbVXLCLK>?PD^ zk)XUm<`7jOWns+RX%BQh)Fbw^*%g%7*Xw3QB2W_A8i}-qI%N7rnU*?jk+*3`2rDyC zN1+lkTQRQsy>Ybo)@HR+J6c9{F+wUcXP#{$Rz8~BQ&|8L*`=|eIdf)a&T6x@noQ<_ zHdkl+Dpq14MW(zF)h> z>&zUMGS=2?&6CUBNjTGG?s1-Ci?1A(UjHFntR~bV6W189G?kSN<>$x6f=0BvXfT2# zF84;4Ls++^)Y3Py^1js8;hA$fx4K*{PG^g&MJ=xiYyH}Pdk0lNWl z5R<`EPZtb#=oGg8I;!jPihMTW^|H9(|5l9Y?wx+{!RgD0WWe~^6lFxe-hX0mbEtOL z;RC3cXVlI*6xUn}@%m>#lbpig(IYiQ%3jY4{;eKKX3zVMIg6-%k~cEI_I8P*AZLh* zpr-D1;0kd}K!7hbfj2!{MTH}GtkvsmAx)KlAB9N>09Zj`a{(ssCtu6MWRn5OWGUlp zBIf+Wz}V=)VT<6i_t}UgQ>te z9L{c+?8Y`~UoAys*f zBB55Vi)u4sEy3SCyYTMJ98ah6EY`1lQYBTDD%}enPmSAMY;|gXpI!ah*U6 zM3k_BAw+*PjO{%l52^cWpvdS8K4*^QASUFZhZi1PfEUUS^^`2}rlQ75y+OK5VeW88 zdiN2{Mb(?eo}Qa~VzTR!gwMle3>&QvLlfW$Xgz7AF7B~5Y zE9so{{ZL2J23nkk>{k`wz$Ut@wx8~)T>{pd13QE;>jXe>9X7;NN_PKQwvGhnSyvPL zfUdECvrJTWgY#Owf6kqOy?{en3)t2f3`P@SZ4oLx)cZtmFf|HNkCr$}r08g=H_}`) z7PZ0P=S&8k>5`~!aqx}0aO;;8 ziA@UM7O3iYGE&5>XYiP%o2OQ4(7&{{`2U~^-N??9Dv)=>Z06hTUygM*cXwts%?#e; zick+TM!w(tbcd|5a(dr$jiUpM+b#CWKaGwb64h;x4S4N*xX{ZT#JAI!47i? z^}I@m+L)mgg-F*OK}CWEyFwaXVvIWs5lR}qA{1&5hucHw43qUk;Z{{RL0D7~>Wgqj zW~3f8KsAB>_k4nl5eIOu9gqVv1=_|nWhu#skj>QS|8wLPwV<7vLWTOpZO4^X>u5#% zib9ElT(HTewjrphD!p^NM=AGh?=d-Skubp6d$93-!rgtTHX2h~$S~s(bz9$)9m~q4 zzK=YUR;g{)%HLeWZw8hNa}f_fEK~;{xoKuAzQ(?0qsXuGI-ueB58aLrhmfr+z@gDO z0a3QaZ9OvqQqRF#e01ldkRGU8)yKGe2O|ny~<=zAK!H1lG4`v`3^KVKR!NRtq$B(US58WI?{gd;H@3-cuL#A zgBrK|#>aeHT!d$r>t|C{a@UwexGyU7LIjR+h6Qr5F9Xidf#jkPG2z;kthL5i4z|E4 zVGDvAG?&&@P+PFNU=-k$!*;+xRw!Em^8gS5e+#BwA!x#O8gEvmH8N$za)PhX(;@Ls z0fp!0(KEDDv~0nV=F~e|t42CO$oOaGP1F$yjiDlxCVN>trg`$ffn!^!m(gF$YP2(0 zS~MBh+f+Lh?JT|4c(c|`2`xntH+oyGN?H5VrMjAxeQoLzaB*%}F6HX|cC<%_qVbz3 zr-YTf9-e@(Uj9(MjpdMyD&T!i zmSlp%rH_Or#zE?k@}fTnbApeDmL8EcE&y1VS=JKQ)L{G#k*^)PK))t^HvVhy<#$;8AjLZ9bTr=EWv+0UGr0db$99#?1=IHa(%BvD>p5)8LG z4H=EqX>B!^G!&rY0g~L{O%%e*gio(16Y2{YN>Wrm)&V0Srh03F zq)chFNEJvYb6dmpU;d|=Q{rJr#0IH~zcTDu1VDmco|4M6slB3Xc^Isf4#g zx~b=w_O6PlqEI^NBf>VdVy83Zy3+p|Om6!K7VEr$?vA}CRu}qeBMmD*?9fSCB%X^s zo=?oxRms5LJf1dBKWyk^fxM{~#CmQksreNlXc0?PLRK?_kG^saTza=AqUo=ux&sA+ z?VER&mk1~MdVPI|d4%jV?U{^E#3rd9PbxjZWV9h#fnE!!v1}Jit%YR)HkR@;#%8Zd z(%kcuZ^@p9Br08fSkbT z&*0y{a%aBF6ANQ@bC?ux3ljA%?agYr|4ucBB();+$*&lUVRo@z)XCE-RgWT$z@#1U zXCxenP{QT1zWgtRz#nhW4oLWigN4-V-|mx;-QR!bo!@yc@_7E3mq)$s^)`Cyw9*=- zlKKG*pK4O8Kj4Y^4Qv@lE^B0Sp9FxB@Z_o0E%9cDLC=}s=-COQ^U$C5lYyb@`ivH$ zF*Rwqy03GK?$twu3U^^%1VuHXiHg0AYM-hfm~iwvoui%l?r))*;YZ8$7^^(pQve0a zPq`L7vgNiP`>Iny=dhXcBzFmy^+B8|r#ZI{V3i!uQIf6g%T}o28<6F?ab3eY@q#7; zzXbN?e8L;^-C$!tuX9)&(R>q(SYFk2{Cw6e=Y*ei##wuVGkLul6wdFr%xF2MWUfZo z?EK|8<<3-BPYg`7twac-OQ%QA4-BmQJ$z*(f~@1{;M5z`bwJ8R(3v+5D%H&r4RuIr z;cql)|3!+rfRR%RIbf&J={L}S>(M+=B$||HOc{Yfp ze@;)%+1iEyh%)D3FWm-UI|#a{31A0cJ6eHpi!`<>=mPrdJa5PuJst>`kmMAZjs0y_ zgllomdWkY$dUo>Tgg$MZzCp#iNFsjaKiNFy$Vw*>4A?Jm?}3Oy(`G;v{5`O{(pznQNW{Z20JWXS-=@qzAq zZu;oaX|L6U-Yv4oy*4Vq!{L0Mb~3rYPw69|iL48kOT}7RJ_4G_o-su;8Mh~adEsOA zZksB;UFI6HKjm5oO9R_H@3sz$%o84A^9*kohVNs}=~3p-V2(9L(OLE!Ybf3cae>G^ zn}1)GElys+tp=fk{;n38VJ(HQ@H`3+Bnlt|tN?r?{EZa3YF=pD4z6^))}9Nm-Cb(u zK*1E7xGho@uOYYJDdEp?r5|ri&ZjEE|8k}x)ambcigZorNxk=^U$^qP+r8W4>2$k0 zJ&fiT<7H8uQf!J9E96y5cD{Y1HDYv-($naJ?v2G8Yin1GAn*nd_|Ii>Ttp%lv6>Sk4SOR}s=pfewuU7qb|nC*Yry*VHYZuh)bIR_eU=j|xvZ5+Zj0>?2= z(y^svweq*@oERSO#$Lyr(AEJI7xWq~I~~D*euKhe2#3XrM~=zi>u$g&_$+9+2eZQA zsdb1O6Vw;55m5L<1~*5Bd5W9Ft_)-qCr|AixPQ|XS8~1nO;V|cBNEoZ=BSHq?oua&9; zIHNy&qMo|f=|Y3`S3EuCwYvEBhy#Y`H#~JC@>9RAeypLvZM2rWUu}wmbnnI@rhdKn znrE|Lc~$j?m9rw(n2oz!C9uu-v7N;;W4{l(hTIU#6hb#zmY>e{Q(q68qmDr@^+Ujf zWSNdEokYR_6cXbBz+`|S;Dv_C*gZNgWGz-*BKC-2hF29F)7;s{9NMiCSh?{xy4+m4 zF-J{i|1tU>;o^hC^}*R#DTyuAdD;$*)X5b5XViJm!HfmY#Ep668Y=0tFO&xoGfae%Mk1P1eV7? zAF@e@g@p`;w#YD`GV@d(!w&Oo!}fZa%`#9;wV^+XV+xDJWNm@Q6**xZ#M6?t5Jd_P zUP`63nd3;6$qDCRnT+=jvDf zt_!6bO_REt!j;ssFExt|8J&MuAdvC1GiYI7g@EL!O zQGcOst}Pc%LFYO&)dc_YaapRfd}u!4Xg7tc$?I>7mHD-;CQo#J!u-a!iw#~+VRE)c zBP&`lZK}JZU0&ALNcEuKs(mMbKt6?!;;D&JSx?>LP1~hgd)}R{5n5(#ysDk7r8%q`U35qepj08)?Mt%I;+H?x zplDHzeO|`DJ+GcR!CP&M76c8oC#b438X-vHH3D;rzOzt)@~qBy;+ix z=?DWC+Hv^`DXR;*lhCQr$4AQxg_8mn(_pR~X&r5i!x;E$l;Ivt=@WH&G*q{vOXX3H zRRDnc(h_V|*o_v;ovkdef5)*A9Bid-^DKqr2dX~a98+~PE3fiP%~M|9p7d&uk{EIu z55vsQR^WELfHluUNF1?m|nU*8I%~r!r?NrTqQP5SdZZu za3Sz5Uyp9rmyvU^P}i}+>onWth83jlx;yoY64iYreCh5Ezmw49CnYXjpqIK+8B4co z7I~^;$vdRl7LXv!ck>b}ABUmXvlqW0*V6aCxAeplKe0+PxTp1-u(OOVtkVcPfqK-4 zIGs4PF}3sPLI>%pS_sGQDXYi}`Rz7sQMv{Ns8&=!&NN6&^6 zsImvz;Gt?-`0&Gp<}I+ibd&ul?_xmd+vfXdxm0SNwF^2&g^qbhZ_xRTXPI|{j|qbI zX6ur1ZS7f^VwVhLBJ>Kbnggt<;05qj2wI#phhW8gLc)F_4|Be)Ff-spE(APXZpLdL zO;gmMR@j{CGtBcNjozUK(mtcH4$VzZ&y8#~k5ymYMcN!-3A)i|cH=$3L}F`D`^0FGbTt2&z-F)1 zzr*`(Z#k5) z<^AIFv1gun`|a-{x8G-1Xw=63vHnSh$6X+f&J-0T>)q4SRAScz<8Zz?lMI!-D0K=) z^tN8Au+CA|Ti{K5+jd44<)|}uV&(60?LSl0bI&}3Y~TL&{4>wYf17%aujMZajf@_B znN?fjRoX(KMr)aV(qZIR^EAS-u}#OyU{_uQ38){X0unU->2B-FbfLGnKI|pR)Xr4W zZZD`V$}2i#9CFkLjmm1>?-A_zFmJ;P-;D4WQB@eU;ffs2d>(d>t)C*2-H_4^vkk_f z>lh*^tiag2otG)1tpN=%G3%0h&1Nn@+Br0Y->(Hv@O{p#9k>9}bTgl)9-T07ebfme zI#xO_k{*lHv^y50%0Z=MN@SYey#$YyyL8gN5K2!@QVkx@9*+m*!-rcuo^B7?4j=tq zscYqGMAX9)1Hau!{D~BGLrAI+aiP$!V?K`ll_yHApi1rdMMq&s*l78{ZI8=J^ILod z@7&zj#OTx%qs&K?J~Vb0gi3FZ=3&h}Je4UMQ`!6M&w4ipmHVrIKGr0)L!ZfDk8ljy z-syPhTToBhx`rag=w7q^FmwI34M#VefF4@z*G2?q<(V_8d0-u$EcHkWP&Q;fr_RUFC6_MibvgJC21P521-8fXEeC4a8*0G|g}1xyOF zk<|kUnsCUFN*Vk?xi;vb9@hl&8#Pl>;o(SiCNy$LdTpcEQ)4eGOf%R5G{F&|s$|&R zW{LE_E&BVmjM(H_vrGyz5ie1g z0re0XwGdG=GGmikMZG98a$C7Z;V)HU0H6vcm&s{k@t-E;k(AFXhxt29Z7lG#)>TlB zI*eo0mjMBz0mS%9ars1etR$9jclw03aSLO(THsDs=jD}-g(q5*!+IF8_LGpj^mmXh zov`Vw`YK4CWzD1s#C7XARxQUPbFg7qJv2BQxpmzh18kqp_O8+wXLZ0L zEHuc`@>znD3EqRgPRUfx4ZtD8VXhTlpX&|QFpT^Eq3b&U+bXZN{a%f$z4zW%Te2-# z-nND%@4feShO;Lm5CQ}eb{S<93KVF8mX(qMDH~c!Cwyg(?hgvIw56r}Xrs%2-Ydy* zpudQRY}q02dCxh|S79u<^AjUIU5^!$wjLccFN274W7{oK7a1pt?3z;FTb0rmH z(2u&31!@LN6Ck|O$(O)-sqL1*HiabGl#K7MXoHp`-lfqb{WO|EAD7oxdzJREK~4W; zq(*JZN;GK8TY+V5<$32PM7=I~WT#Zsch&hPO}4IT`X6m_O-AS4OHtikZ#PB%SP1E2 zgX|4=4;OlkNKqH8ru{%ASZ=ytK<9#SH|RCmpBJTSgbPBGnb>yfvk7%8u+-P7UYLvO z=JuIveU3R}Xl|KcMH`)4Nt+WhA}}tPKIY!(k{)h&@#_-jsFSQZi#ylJoT(D(PHzDY zmoO|+gE_3JMC<|Z)KAtX+fO7x~c1A|Nbe`;D zop24-kW2_v0OQo8IuvU&ED6Pz1vB(XmTYTs>3~-`rO(v1hZQ2ER%#=St)?4(dh4wZ zKDhGT@7{j<4|^JuRQ^{PnW|ai*zR<8I~?6k^iK8J5*hs+jjl^(q#uGQj2@%NJ$%AzCyTEsoNWQToKf2=pdRoEAP?9M zR!sU}XIwh@(zpWa+;C5*y794qa$ew)_0ye6XKJi6#1_N@xr^hnv9m0@I**-v_0`$u zp8M_v{cYy^V?zcsTz=d4qCtaxzPh2&*EBy*KRgaa`6jmiR0VzV#0g}7;)&H0Csv=J z9~J7!O%`H*A zuF>>9dPJl%A`AU^Ls*1%{(a8vcGG`l+0474dOCnBs8jls&Y;aOJA$EW3v!k}g!&%N z0+)K^3KO4&`t@Ou0*+?zB1|q-Y(B)nBpBo`wqq1~UNpGU2Q_LqV`kGY&IV!d4k!l4 zKwq>CkWs@M3;}(vzs>lWr+A-<>w3&eC%Q!$E9X=h6!iwZ;^Qe!l0L5UPp9XF;%npC z040Frxw-uN=pBpj_L!?VC2x*|QY-q+*XCO-^1jNB@HwGSPZ)%T{_yd~^bU=-O=6}` zij4d&o#wYZHB4*)$-ji?!6|ryEfS~itEe#`Hg{T}(eW-vPm>MwztD(rVdo7hn{lT7 z)`rzFew8Prd}Mk$L-bS;>@ha`&*e?>s5bXEsAt@bn_-$Ls?Y6qWJVOJp$Dj~A=z17 zFF7~ZCFT_`|B@hoPZACnY_k$-dQX82w9t1^h=&Sy9ry1u3^oPw4~!+b%#8-Kzy$Aw zHNgouw}e)kASsf9YAn-zR3Ib;?1PWI3S1#vVWzSKX*3`gDWV=NzzOEiF;rS_LC}7& zv_qiD(Qk4EEdOkDTE@Rv;EWT>7=8PTe0P<`?{xDWIrXT&(%0WVB`HVkPf8xk>olS? zxWOg2dov{G|Ei8~7lrx1xZPRLxLnT9!IaW3beayG@+F0|T_FTa)4>v<`@6oz+wyhs zA5kM;#9lh*7Fk$3E=}bBu(EPqolgllw6DYy50YqiLok0c>zb#=4{qGJe}i9TuyXzg zX|6G;XM9=>pL9RmT;tZ{h97P_D7zs0O7Dd1>~ij|MqVA*VK`$I>`C}BGjB5rr+S*z z^KjWkz!ZDUm+RO}_yRW{A9%rrVDfGpD*b!DD>zymB z8k_ZAkkdCYl%&sd?+q#MCY{) zbtW9TF;7LnJ*c%&b`4cC;;v}+YjuW<0X@Wbhc^bp_MLitFh~inwOaQ=Bs>UjCXf&2 z3VD(B4CEc8Ykdgoy~hUVvEKbba`=$S_!ef;sC{&aYX zvxHck(w)t3z4hp$Fz6QPlp5Qlf&GC1TA4$d$^72~fv&*Yb7PaIUe#&4b?SEw{4SwV zA!7A$xP(+AoJ^kEp>b*^Qgq){v!jx_F7=e(H|j%4-*||_o@FTna{^A~xQ~9yH%g2e zy!hJh07vYu!iLJ|f(LzT$1dri>`U7c($*>76&~&~#+2eR8T3;>$C?0N;DMY@VY_*u zLvjwR7K17wvy0PXIOJvCf#HVJf?_LUshG=+0X)-L;Kr=zYe@w-)gq>6Kz*F);$tGK zHIGnq2>4XLm{)&pioSnll_zR>R;1lxkUcRVkmcD1Z*`k~Q6#-SR6{@h<0+YO3LRF@ zNJaU(DC%sALO;64Rqim#g=(Qh&^FgPcMq(Xq6VlwxjrY?(a#7Cybi8G_>NKnv}mMC z#Ofe;gz?#liDx6#D~?)CV{9c-t+y?=9B9|L?9lcBwGM+j0AG9sPI9LAliG6rJe#A? z?4^H#;-8?N-gaCLKan0%_2(XO?F>sjd%~}djEbp^R^DZm+_5FNyISzKuNL{@F#jt? z?uAKeyf1Vo;L7vXR|*TUsE5)phgY;Kkeg&IN8vpPBw<&A;Q*75?GQK*gw4fzd(Q!T zQ|LM<5Ze?_dhPncFJ``k4Gy+9@i|z)H0;WxScvqkkCY&bwCaGt2|M>|;&aTbhRY zdbs4MO*L*EPfEM0MuUC&gk{tansOmIJC>j7G>1E<%n*Ki&JmG_`}08!D7loWumCvfw%j4TQg z8CFMT63akz9gf2-JI*s%M>VpjNLt6|^5uM@EH9U-T7BrVhw1u9uDk9Ebk@~h`LN-u zb#?ihyxtvP^|pEGUpu5}QZM`&U(C<&6$$}A2SZrz8|Mz*1+WKN+y@B- z{l+C~)s2mfN5PlQHo+ss zc-0He>X!M>_PypyMWs#CWNtgjq}t%lD?fh>xcky@uDDP2G=o?hQ_a9zqgKGPYN#Tu z!kK9{xYb|~;+1Mmxi${78*DNU@vR!2TiILkOl}bfiXib7~_et~~qO|$161VJ{7Jq>H{USXz?zP@H zbwqIgNma56W-bpQ&8itXr{C-CMQ}s!#$`8oZ|@yV#(Hhl{0ZMypS1PhFE5~E%NfDW zR_y&PVLJ^Q?6e}K8tVZFKEA(!I+A-#;Tfr_{j^To%Qp(%Hu5?|N(~2A*%3mP>x!{K$7+oJD7K+H z&@>Xf);yX$ze60>4Cm-RqRc(1QhDoai^h7rS|H-_Cxv?Lbg(I?z6a!Ye1JY$U(EvG z2@7)#hG>;GQC(X_!1HmEP3X;jWpqSab0AXd^=F&|^n0eNJxc*+yHkV|Hc*zqaC;ou<=XHTmdHaU$jolNN7=-r8wcVG65-(+#AX0r-Z`8 zfdu^~D@0ktwI-uXsWC`x&RBM|-cl6^7%Bn+eFNn3SwmbQZ&EJJ-reEp9nR<5k~(oS zQup`M54c>bF4zC|(}!KIRu}!DNY8D9eC3O3GA9x!d1NbxK)=&2v|QS+DKxwyR{Qq) zj$z&$&*urP!V;*wx*e!Q^#)b1Brqpyj7Sy41qQc4Q{G5BzTq3Ozev2ikqBz)CVmLH z%BHcgWt_954~KSmMgG0PU!EJ~Z*Syg_Hm9R;K;!Ph?$+Zon?Ba!(bM$58l^#4s4Ug zyPK|r%}r&cR%5J0RF#qeK80x;cTp>f#VY3L;Wc=2?{pf7#ArXEg&*T`Ns_{Qm7uR4 z({?a(I$RPuNIW1kwc3UE@?chPEnaVbdc?V8@W8QyP>ZU?I@}X1@5_xxD)mUvHc+`i zseIip^SGL*xSuRobY z0q)JN9Q|@TA&dHDs~jHfuGCRE77~jHw2LRQ+xEy5v(yDuRYz-T`m3t?;djbfw0s>` z3}LlobhfE=d}yh6;UG)idG6ar-{yt(eRHNfwf)#C ziXXLfnY$B;3YXBMRV$o2prbSL(-tHT$G^9A=Y2xWx8qhtm^9z!y@xO1utY*W@YUU> zlsYcT^G<^SZgQ>wUXAk}lg*-_H%$C&nTB`^}S&G`BZzr565cg>je^imskarGXr;!G>AVGs5y92P$lH`gKz(jW$EBmdWnCgo$md- z%vv4vt*Fh7gA0}DLZF1+PhVCyS36HHR?g4V=#=R3&(!k7+;vec#!vU+zSx6x9%o~P z-S1S@R(?0Mg;HQjK<~0m;@o88&5n}GKoo-Wq!Nh7z7KQPwSZ^8$W#R^$qelSs6e7< zeXzs$V(AQ@62`Ci4UP-26P~TY#T0N*1??zC75~2!#u=yyXP)9L*|+H?l{%@Sq{^gH z)D@gMn`G}fpL5*?pK@4VKEvzP4H%C4-$B!U>DJ_Ej>AAAAk$SlnLmyl|K+aAXdU-AeH5G_E> zf{};b`x0(qCf})IlA@6EFE+QqU5AT|jZ3L{0g^;Gpex;E=6gdXs=76mrnx(%dX71VzSCh-YxB29B3(iB`tN^F zZ&SbuO`(zgfyl%hE+K+dqYed~gw$v^N5YeF1-&pRa>~AxJ-=P;aN$sl*#62Zdv3i| zY;xW-y%U;1=*GoGV~|vwIwki~$c#O!wSGJmHEUusj{)n1)PI)m%~oB#iwpEZ0&2#` z&h6kVK^kgeg&<^L2jWwg`Fb!L{NI1_+pg5Xf$vcP;D;;Ol#E?crgnwJy!R` zTACS793O58i5ARpRml$H8%;5HcTC3jZj8=Lgx8ff(T}s@*^23{PF=UonH5+1^$xbp zHKvqRNi->uN-aX~(g!l5*%4Sn9ST^ILi$Y__P+E+;LtH3?aXApo~7l1Kt~WgA(4BW zr|y8^g)RuUUR6k1gi4i!+X?yRzp4cDhi_6)rtvm<=&*L8{OHyPJ<}2!X&#gr9-qFf zHRz%w)oG3 zOY4Sx&jjc02T`qIx6nMUpr-XzhMkECQ2`&=;!;X@){fpqxj8|FiMc*3|oW$LP$1~+7X?nyw^A_5go1QhRW@Rd9C9r%Kg>w zMf0XzP5!h-HguMd+11sJ1O2F332~R`cRH}o^~!Dj8!sgFB0wQWzQx3_I_9C!23>rSVW8`cQngY#=p>pBb{Ss2tm z(Auo17c< za#(nY4NdmiHedcWD&?ASIF=obkEt!dZ-D>Ma}GzwLI0n~K&GI&`?!R~V`VrBDW9F@ zqko#0n$I1?y_K36Jvw*owLzz{bw)Wd8$&zdbEBhkar(*_+PaYzp?_TZjq^G}&3msp zic&n2c2=q82~#QD4pIRtv5tn}VPN8`^ZdI4LNJc6j>*FYzV8S*IZZweG7y%jTZ$Xg>Z|7p*(Cc1_x1@(88j2sE?8MFV$I?2n(Ao_)*qyyLqf4 zlFiR_%4-edbv{Dnr_$#}8t%XUrXCi_8GH1~D_1VP^zMwN^QP--G|e`>ogmsf7Qe( z+g|859I(J+j;gaM8#IQ^svM@Z0e@nEdi{^Vwqd?JoPju9$vg)l<4a+)?HA*zFCe6% zbHOMH#KVH#e2kyqY)KFam^(P(L?MX^3I*J?*k{A>7aPby!U-)4G>BRsb#c_tJ^Dp8 zViXlC5%4uC{WFy_0?EEel>QTIN7R#W8I^joMpiHKigHTF*x102fe+uO*2yHS22#;0 z6}W`5I)zAp8vdwIx>YS2H(#Nb4E!b;PhNiA?^0@ct;-`5Mn9@#Fcc z(;c@~ma{nBT$82I?sxO!4br;g-It&g{kO!`KNuYyPz?{`8m9HW`T2zYI-)w8b$X3= zfx78uXD`EvLmDfZB)H%A%MC4p@j)`To3n_U-!KpJw_%>98+;M2W9|Tte_q*zz@vW^ zWH4^V2n>3h@d+2lb$>sd!|5ff)Puu{Sd z%zANws{!|h(~4`U!ZnP*pt6G0`s7eeaEyrrdn5JqUsyIP6cBVKgJDaB%+lpI^%HEd zVY?&8*^kZ@@K{o}LuHmIHN8rqRj8;}s-aoRF=>&-&0f)%g!{xFl^SFSG+W}!%REm0 z>rE1Uoy0n4x5GMkA0bu9fL54IgJVnC>3>1HTnq4YKCR)laOF}S2V_aGRA}*>b2O9= z3-b_biNzB3)Fizfcb{EBTmWmu(aLO)*X|no^Mo&Ih{b|+ZwN3`5HkiLkA6r@v|eFuWMnOOuu0Qz(b*3K51m1=a-i`_$?c` z3!|JB*l)x5tw&hTf-IY%7im47UWK~cZkUF@u%Lg%zC|pdf)xZuh0_jL&RCT&Zu_sF zGr0{&T_G@x>xKtN-1lCJUrO_57-xXxT~j;26&h?uBduYFU>Q5kh(IgTn?cY@jz zkcalWUpuQ(YTINLZfzIT0%a18+aF;426}A7(0Pin_bP+E3;D#$q2Kssm}~py8X7FB z<7rYK3Um*HJ?!SzTIbgi?zr2Ap{D_XGrEjl$t-;>KEq;XR1i{&a3?^V;4LX!o5g+g zS~nO}3>Hg}1g;1L!b@nOqXgu*CR1!nu|%m}h0mW+4XF=$s_Bnd19d)MQ&W%EB@Yu? zBb#NV5I0y8wn;5vje>YV(Ja>0Y9(5;h$HekgSrt?cK6#V;r|h)pm2(mpQ{vE^uG4I zGOLuOi7~Z6%q=JQ^gq3VrdXnyAkqSu=A<{<7i_ka-JY^NF38C^2GY|;aMOByDF1Jv zflP9Bg6GUF0*MToTe;|zezf_Dv^2Glq(?t5YwhaDb&rhCom;Pu&UaIbvX(mDj6iEd zDOJOQV({hp2YIr|@JJ4rK$abHM=Jf@0YP16>s3#7j*JpFc#Kbs$IgbJIJmF3*V`j8 z2=r{o&D{>-Z%^#e@w|N39?guM3cW$?2}=A2Jg?p_92sTpY2g6S!F8_(p-%zF0@VyN z$e9~`@hGrAo6&d}Ekbjt}q+dsWjf*3mewjKT zlGaECRwKK%J|3T{sE8*BLSYjJ5tKOyI~DO66|6){TL@MyqcHNch}jZERPUf`l3Ys? zeY7LL;PnC>6cOFABY&ya+v1@=0E&ei-~I!hHp`RANPZh1{n51CairJi($3`QfrV^r zE>W#KG^F>Vqja>VTv6-dD2dsi?$Gz^@G1M<%6)>9ENV2ig7Ud0Q z6zFr9FR!T`e#%G&Udw!s8r1|E+RdBTs++6&S6Wv2n(tLj(wj6s`kLR)sr3`+-v?x- z-T4o~VPG>y{-&mz8yoZQg~NkURMXTn)i`6+4DyU(`VsMf(J&<8bP6n8VkMVA8Ixdu zt>)+Jfsr3loZ?SZ(m{z-BO!-zwg@&%jl&wVkF=Xp=k#brk@;5Tu3NR*ATH6Pv@SiYCrvKAdMgJ?avMH!79Pg<&Jly`alnuURC+H#@DLgAKjLfSU30{4sQ1= zL%aNMj*Ln-rG+blB=Cmux90>)un+{#8$Jm+e9X)51CHU?x|vUmJ`4Mnzlb{5sS8AA zV6xODsvS92D>!73PoiuM?-U|#M&&@S5*YEwLBnu4=D&r}UvB$>0sgu8lt6NEBn9=$ zEk}=z96fse;<4=9h$j{6tytXbunfoK^tCcoLx2#6!kwy`#>Se=oLvN*h7zMhl@qc^ zm+z3NvxP46?SibveUZqKaQ?W@*Y2Z#uGe$}3x-b6A(5*2f({;ueyv+N_gk=pX|xS; zcMnx84-70<(C^>UxbNmG6E(wCLrAaQJ7%~cQ42;he;Iob7y)Z)v`zXX%t==(C{o*q zc$?_2R@bu8MUX}!AZ*7_vXeeMyj^;r|MiVY$y__Pbr3hufaG%)@$*f_a!phfXpc_rF!nLTj3M(u~he?R(@*?u?V@tB$07pr?I7jU2K@k;#%s5iDGB)KWl zzwGB*_QRxI0sq|t`~EsWBOL3pc_nG=VD^q5`I0wr!~F;Ufx#N%KA_GEtRzgD0{AZ1 z%nr`>;bIpQwF>S6j=lu;N-hK2E-k!q*BLCZSO3LOQ9W8JTxXb-^3DmQ>331cU^0z$ zj;Ylq`lm!!Yv0D#bnReAJ~&8euXyBc6zZ~ZkG&2j7M zeqBS2&qgeAVLT(xajdg}ZGLfRpYQeMHt}*BcWH<-0Xso3=P1+-o@C|9bkNz7fXNoT zs~S&2ZvcdcQTcwzB^BdhRLW4;aaxtR`i1+BFMjFf zvjAZH2y!^XUbRfCmkZC!f9&xzc!jrM{yJaU1@ZwITm?ht#G249#1b8(5drxP2Fcv!Z1ye1|HaHs(7;zf&q;7Fr0f`NELAkO#!d25_A*ZUxQ4*laxp zz_AzW76E7RpG#HrQ`%q*2S?)b%e$MD4V@_0il$LbEo$sU0~Lx`7G+w{^uQom9`k2U zeXcY#hZ;P4D2mvU_L{3}%B4CDWETJK@$^t1|MQ=BkP^N)C(+YC!F|~#=_@R*iqiqT zr(&`PaoOmr|3qV4Ha+5Up|2<2L*2%i#v^@lr)9YJdlm6-UY5 zG6(*GRn8x8piVicwof3!y&+s3DX)#nj2cfsirdC6u31(`ZGKI%>v8wlVfhU;?<#b2 z4r$j6IX}wtuew1wLDz6i>07X$2V?1WCW=~*rH__f!Axzg&)PCcTYR(yBZsp|pi;%w zQz#ihE(upT03_p=6r~D!2Vg;k;Wg$~i5IOV#@tNK32;M#Oq{li5RerGr(|T5(BfYS zW|ZlB!lDDbQP8(ug+Ewtn;>O7se1YYR&vNqO}3U>tE7fd+^&==%nHEzvXnM zT%$a)L7=VYks>kK3N&W3c43Ry^n_H>!cj^1+!hWOy|0_Dzj$7w4Ud7Lq&Mw8uqjnj zrHdsmt&Su9FljX2Gcge|)Fsk4Zqmn~LA>>eG5LUN+OVMXYB_c0?RSq58`5L#?PKY& z8}t_vv_X|=g@%w>p0An_sG5#8a zKOnL-%BZ4|g)cFf4;xRA%<0)&6>czKB!pXUaBdOkK;ng^SdbEqgC>Jo))A*e<03x- z>+)Ivv~}AR)?pXFhkm2cZSE}>vjw8ML36)QwyWITYndALR#pRRlgb~A^UOT9)irCj zN>OEHmy+DTQ!Mv;W^QLmZf%r$dqcX4Zh>%~6m=S!^u1bN_ERy^?5&=TG&b8W%wIKI z<)59cK!=p(RX=T(*=7-Xc4TCt_~!wGbcmTV2v#y^0Mt!|-fn>8Qr*+U@clNQCK<(IB^GhgOYRgC2 zoi&;)Rbj2@BOHCz)VKxg9BQxDEY@CAquD4|x$7)l7c1--d|EqCPqAyEI}u(E7iFDdmNc_dL4}*NlLFyxf13U+D_QGt*0gkb9Wr&L zQP1H>qN9mLo>VC^Un$!EfuUC8-sveO@Qfv_^0Uk%7+I>&IA$MV)%3;N*<@2&^ zd$uDzKC^Hn)I)#9<;JTB;l;beTGlF?g}%P2ap{ib<{PrY=Ipl1AMKhNChpP(zqfhy z2E|z*>x0uG@0^d5K8xGE72`>~gXG)5 zosRdnbOK_TfV@;;0v^vJ-B@;O*LI&-ES#i& zO#HAG=#4|B2K3exeQUor67ccj0;8bC$R~yfxisY`lmawNm?c?RqzXcbv>~)$=LMWP zenrAT4`$`+qy{j!x6|kA^rGFw?^r;k5%yNpL#MDwL-NiSM8>=0jX4Kz_j#-*^x`bc zSHEZ%b?7y3=mqUuosuhR=kU>gOf$)gyQFraWVkx)XsWKfE1SJ5<%l_zP|(!3 znryn|O)`_eN+)HUvbm>i1iP-e-d!gQ8D)#DYIQn%nZ zS3+}F0=CwJA;uY}D$rceOb{KOyYxV23VuULBQbz22$@km4ftNhmcviMZNl&DYN~iI zN`R>J@e46GR^6-;?QX%@m%#VIVN3dAY z^#eONdyr5nG8sj334(PH1i?|-?CM}Z6LgOdWAtEX7cA!e9YLIAbGb6N(?mIhZjY7E zU6HMEQJ2aj$TFE!B?^ilJOpK)v|-!mBTuZ`PIGycz3eQ#$;0P&h!0HIXI8;zt@5H zy|e7zvWEflu8~$^B?qxl*qzM*(~GK;`8_4pWj31{fp6AY$G5$^Kgq?-6ZvI4+Myl0+HBnwI{TZ z8WRdt`W!N|T?r%RoaN1%n{?bgyF~TfEMkPk?$yMBW22(2$t#xRGk$+IfTD>CF>jDE zvf1tT^Bo47q9D;tzbG;t*PN z4XVmoe|o^x>DCk0x$|#O+8ra%YL5PDao&d)1?;MG#{=GKi#b~z7fcG&dW(cJDzEBv za*0;b*eWWgMv1|YslKA#5$vp#NnXS)Z}i(*Yi)yvH<|w=l6pkNu6k=p{9Wz((O<>-8 z=u19fjjR*=Yl-R?!X+>P;I>H$t`1Hul&~9E73{#VqJvE-?0tk+7B`xdz%~r67V3jl zai+J3c~@$jDA|${?#2O=8h=xR<1IC$Be4B~yULgtc;BOT2OG_keEH5mBh-Jl4i0YE z;FV^~UadhCak6Bx4mlZ<^Q(+JZnQk28k6$Q3n$Gg4&g&m9+xArTTM=}(jOBk*e!^y zA512j*gT<%CxU_oeSyr<8>BDSi7UN%$Gp=?U%6JPxXe5XduJ!nXWj-2SFVglP3Ax=C#q}x6#A4p z0SAVNmJ3tG;~^2w_^yshr~j;cnP@A*jZQ(M*J0e-bAsnt@=Ii<9LXUHiO zW~Vq6qkjPUK3_e>QyeXCZ9CsN5IB3dnSE{8Y^IL!imH`8yfOo@p?O8 z4q0sEGLx3P9;s9z;lOsYx4qi0=c4`DY_4)g8gZ#m$Y+nx|8`cZJM{YTY(}M$2Zq&k zb<{u%h+ydpP!^Q6I{gtO`gVdS)J&4~2q>iT zQ0Ln_fj>IK+uBK9PzCl`3w6SuK|TrB>lLt}>CD|;31Gx5)FbeIM$CLz=t%{}TqQn! zI5f~MCW8chk{mGMBzDhV)R$6KLJKbf6U#Io;TNyz7jx_-S$qL4GvC8AR6~4~ry^&W zR-fmqre8sWL>XO%{!F_b%<-)`bi>@^^YasPa})D<*c!Czc3(pn^6$OncIVv03T=IM z@#)1y`XQq{EjOU};^O4usW;WeHl6xqt*{-M*A;9Y(E%wvKH(xrk#4c+K$kj($6bki z{jN_wk;%&i;N?bei^?)&6jstKTse1t{y7x%?LFPKnluoK!sD6DLHU99S2i|_tjl(e zZ^6eJ8GEL$kEzF=V4Z|~wtdYHmZtsiMqA9Sw+Hg6Wd()Q487t*1s(X}!D~xhmW-OX!B%nbZ@_ZH$BNBW;UkmaG2cR$9ZAw2RkWocDT>IO^0m6ahRmEmezdZkKK{clgCvK3>GMr^%<23i-u;mG@_KuH zN6^Ewf1gXMO>F@*_;-4h?~?ROU4s88<-M>bSj82?LR9F`1@uOtZIY_#F2UVJu2vq=E4V3GYhb1S7me z@%#ZrV7F1QM_4F;Dqw1x7y z>P^2N2+Z#|c>_B8=%e`@%(;3u5USc(Ozd`1HYsu%oVKst_wvhmgFGuV)2|4PyqsG5 zKXPFQTf&vX)+|;h!9#a6H2iB$qty7JnMfl+A8Y3h+@iGN(c@wCzAFc03$Es*UvY{$) z*@{R^?^G+*lt3d(=KsgB=y0U)pEg&6Ohtcc7G)L6?ChK{a6qGKPGm0V5&K|togOB}MymaWtiwi`YrXdBNIVhVUM*I6TN--AwObVtvm|)ylRo;C z#g0C_gS0#VPCezhHzcX8xK2_8M3DXUnH#f+K-C`c>B4 zoVi`Cm*@vo{47t=W)Z0@9ckydP<)P2F~wz(?ED95oj8ep{Rdx6uICLU^_5Y(DOdwr zH|)w!!omzK@vZ_hLv<@^so+ZFVmz7-JAUM?^_qD8DT}O?tK&bV5oLr@xtQI?;h?`6 zX3x7x7S)d7IJ#vj7L51<)l^U`bNkXNU#xQJY_ZFhZS5AR1v>FiP*YD2)Wq0i;OM9; zp)txegVJPHwqKz}ufg)H%h7e9F-zs;R{FaH0ee|~)DI76nH}F?E;syf+o&XPHucI} zmvD5DcTNLuC#F0GEGC1v`8C!M)cEiWZXcsRm>Z^4<-;*_fyoCZLvj8Zve+B4$sI&ddx=$2~(5 z-nmrt)ICZnlF<(H#Cvh?`Co}!)v{h!e!o!H=t8ZFsF6_hj;}5(CrLy=WDsZvYMXgsx(Pi)UqZhI+bLjO*$enV zU!m8uO04vwQait!?-2bSxMkQ1z7m5$mKfdl0&$gZumK)}9?uKNG_(BQ;$w8Q7{Ej3ft11nmnLt%Sb;3CGKF#kJ@iZg#BwzVL=!ll5!8!JEa9SZAW z@#{DTn!pnwB`q#}EG0DX-;7%=3J|qWw=b9!mf`myxk28_3~*~Nk!DJ2s&;iJ}+MymtrOjm8YLu_aJEm z`EMta@D~m-f1fv<9!}fUhKxo_Yqb2Vjz#0iU7=hsJpeYd95~~!JK01 z&!2`_ya5J@6=HcDYtCc7W?&j#pE3ty&omRRxrVju2?k{tF`qeeSC(Mnn?l(H#)ef8 z#}t$CC1V5p1RP9q#Trm9vk8u^rpg!!8QW`YF8Vu$ifuI;_{tk9vh^FOA@^l{O==Ip zeJ}CX-Vp6J=og~hVOR+d-5REp*Q>NrdKIk4xt^~#+GH}DLxb|)0b;}8G+LxT=GP-m z!|$w`aZ5C;0RCTgQwQ2)t%GU4o#y#%H<}FYnYKvHHzsEvt6P#erUy`ax^ z4i3_{mb-Zy1V(E#K>x<57vi7S*k2un2mR+L*R;&m@t}4r|NJFpR+kT5Hx{tpr}<>s z!A9WBH7FvcJ;6Sd@tZh4C*ci36#VTf1z;yAEqMqkpse26?Qj_VbQ~=irq91sXSXZ|HBm+W#Omria*wJ<=znc8&LB=k zLI3I~0#?KRhlb$sAC8)=k8!kYxIY@;C%TQ*09f7$*zt5OXzE91Gg-ucwuEeAw7ES9maAik4Y5E1CzPVv$W;2-o5;Sb48_;NEan~IiZr2Tl4n@<2G`ISA%|*w-Il->=nw-r>3SJhPNsD&tarv zFDuy?iwPiCd4lya@ZL5uy}6}a7|tQUh8?C8k@2-$vJ|SWsS%t4L@D@<`2;eOa4DdW zjNcVn0T|<4IuQ)LirD}Rtgtu0A3=-M;D=aO%dHD{%}Hdk82yBSinduc06%{;*&m*{ zRC?AGT;jfyEY>9AKL2wz>&cfyh+M6hJoP7oekFQtD6}8yOdDnL>m~C1r=d_s7|HLt z>#lsT5%H4)@ATg+Hq(Fec#&Kxl{I&v{id1Np#mBNtw=TcezFs9QqPS&8-FshbsnSXMo6I0hTHe)0IA*wlya4TtHb z;4Wat`!r||BdNn#iJIxBVYv$8*GskeTY|w{;05?nH%m+ZJIOU6yPeqGio*)xtk&g3 zz}!|f=CM2L{-K>~JCv0-&veqw1XmZu6S?k*-N07vb@}+lSZK6 zHu_v50Ugs;-gac+6zul{kiY7J-lJ)#lB~!6WtasFXPB6DQK@bn$0_jAg~KKZ$H2wI z#MlvEJ3CWMXAnA*x&2a?OX1Ezst}KD09st%jG_g=iB|j-9=Fn=RmlcfQiFcdW)UKO zyKnXu#hpD~cO$s@Dym7&U*gIKUG~-%b7+SC6o^40mn5gcl?l%w+QwqVCUjW=_xwh8 zk7K!eAJ`uBzmEM5l%1WOSy-6C?=R2)kf=o~^rO{Pf*Fxse^1YHcfwz@>1&sx{q!Y1 zU!QxxV@Z)}AdAVglJ#v)V{6jv9T4mKYG9eGJKzNNT0X}+=JCmR(O`5a`tc=~ynpdZ zjm?VEHrpb0%s*-e8z+T4)Ju?ua={s6UU1w&iDRn^OME+8tph9?kTpVq5IaM-l=vhQ zpv7DOOqkpXS_ak%)R1e!_zxGT83G-+mW)vZy9n|Ea9GIO#z~eMQX80WCxM4S@$JQC zp=1e4wvlyyTPW64y&!6S<= zzW9Io3HjCY+zou8!yy(S_6Wh^Qhs$Pq-OaAcQ{+<8zr)2!ja^)q30w%g@#A(-6GIz zoR3B?i^V3R(aG5GSX=jSzc@^C`go*jp}%@>8%t*DyZ%FY{UF+W*@^CvVWi!8+eBq@ z>qXm8)fKL8Q%^!(=@O<2965+D^6G$5M+4<$gCt|6KYCMuj-H|-S%sfW@gg;MZL7L) z{6nD%A~zR9q=W4R-UI)A)^S zAN^UMEFvH0@!~&dmI0*)!BV=&k+da7zauJ-rh$-3yw{tGtL^^ntAe&*V|E(dy{*UV zrTH0G3;KjGQb9y|y!IQkD)e?pB+c)1ZE(3V_zx;aB(a+~!x!x1MazdDGNToNA%}j(+{Zq@e!CWj;VcR!0upP5|KO@}DG%6| z0=z5r#T61ki2^%A!OTE(3O@q(T$6x9tir>aV2??PjN8qG{S2;B;*ko?AM{%%E?0B* zbEN2+{By)j`DNlfmRQ`|g(wvVkf_Drs& znZ+T2zg=tdxZ-xFyGcFba94EN&>b?tyxL=)7ua3ocBKrmGlW=U_v(xxuTKii5PK|^ zgw;w$id0y?as z>`a>=#)yS;){yw>fzxAxd^g-w?Cqggi7)QDG8jetQ@p$~n3*(Ho}H3Z`V$tFk>c=m zY97lk6NzK6#TU_!t;z&D)%ViBMm6*cD2tTsExgOG+VNDLIC0{{l3ZTTlS=7VfG|O# z+a+gZfk5bQcf3C`oxH67_KRx`TEr%2_$;Kii{)V(rL;9wMTvOCCTpTky1PC5&LKu$ zzGla}@9wzC2it4&9}d>ZEQ#9c(XE1W`(8b#ncD)l0=`vM;W`p5n&KdtA5{58N z(lzJ-xuB)Z6SgZoH69m_NRd`?%BqsE=tF$efWtC-NRzrvZ_Gp*8;NL@ zQK<|7&+T8Tq%qkZmL7$6{PnLp=#M2p4tBfGmxC4UPls21;_!a|yOt57q`zL!w@7vY z*(4Xv=K`K2YT^+Yu0_(~l!{pN^d&mMKA!4r`Y3uP{}hQPxfa=iQI&cw zq1iQq5}RVxY;-mKcO<@6%o6fD1$yo!0`Uagn=WeW1+iKki^ZQKxya}eSk-N2OP9B{ zj)+!Rm1-aTH1#htPaHlwYE1P@!;-BAboc5iy;CHqLMJJz$K%QWAt4F)l%`qhb%`Tn z(}6M`#2UweuhR#e0W#q9!uJPHHsDBu=>@|c7I$jd)%Z36=QtNk)Y^%G7J1|*#kqVlKojc6tR(~xe);6)j;a$2FQbuY3N0%GFI@BC+1P22gm zpO1Qf-W>?g4QA_^%V6DzCorJXg}aSMzFL?Y$+-l59yH zlK0*tv14a=Cb8qhiJeVCfDl$ffUpw6>Y%hxHk6qJ=z2RSl(vkP_U)#7eJ_1GUUd6E z&%Kgkc>Di8Lo7uevCng!Gk)iH&asHC%~lrOXR@n;zjl1yZm$C7)Y#e%bKl5IU1>vY zqvn*>G2{drLqX2@An3{fM9vtu!ZGtk@P@p$@V`BOnecDS2YG^}=1mOz_WWhSy}aP& z1U4hsW|%XcqI{<=~kDP5^KbRD8)@=Tq-ETogtYzs`8(3d9y7Apz6IJqki zI4(22#odd}7H)t!lT8&fwGB4%$dv?ILg>I@5$PY&U-^%J{3FTO^Ku)-!L(@#h8{B~ z6jV1&qUK2BVq-_GgxrkEC)IM7ahQ_Xo&JoE$PL1T)E9!>d$oNXC;B=@PTxMabJ#O= zUH{J7bk*?ydZTP#Sy|!F6`d^GWgd&~j4G3h@$Zdnpbl1n%p{O+T!1{SzsM}*x4ihV zL&A|)92AJJ%kt40q#DJ`gJr~fFo8-~nFYNnTB!^U*H(0@Xrr)VfiZ&-Q2Z7LY^{YG zR~Zz&Nr~MJwTD}}uFTfk%a~YlDi%>UqaEcIW`MFPx`SoA)0sU{4~(#>&p23LzyU;i zqQ1OS9;o2nx{B5>ikS=CW9VA$GIYI$lpOuzAMaGM9cs(fa&lO)uRajgiX>o=>a#@C z7e4XW$%(4oqYs{X4j}Nq^t79TTLU(6%tuHhgvull+e9L|j}{X!`XfE#w+&j+4|N$G z6XgErY<8^MWm6C^C;~!ZuBNuh5*gmx*G9MYf*9d0TELEfN3<4@4$Rxcyc}UlH2669 zc}r;rwo@Q0`1RS6Z@VNT$YceB52QK`9{?9o0c^x5zLE!?0A!vev;0a~$a^WChQNQv zqW{Cz9v=bvHKCylv0z1+zS3?slcEHP49XOvqhO)s#oao|Zjts*?)NCdy)E)E3VF)y z$(fz#Whnw((psWy$2Zs!T@mwV)5xgo+r3s!D&$Z@d!c}J;j|y+ccD=GG1fV+Wl@T z4LRU2s>eZSr8JRZ70~m1|EDP)L9A8RSSqTvZvlT=ZZ)Y2k z$}5$5?!5o+jgiX0b@7~oom5#^;ufjbFt1gN@7aETDr{2*(Mtj6WBDVqFlYXz39Wkl z+28aTTkVE){npNIRZrW6(S7vJt#2PMBS*%IzUDmG2|rlZGC=e24kNs^x+r6;xL^W` z(HjNRT@m^v`mw4St0I0a@6fUzSN#$Hd1n{Q^wi{Oe~Rz zy0lW0iM!}WM|TE-`++~$VfUzxwwS7QPQ6hN^9FRNxz4zFa!*Tr`*P zk95_qt<&6jYG*5%y$st4j4wX{wf-^S_TtUB7}df2Fgzppqmsm7a7kOi-tz8g4YmV( zWd$DKe=M&wkh4Kz;HLn25J5W3-+va%u@oJz$p(Y)EdX@Gj!#h9V!U&ny92G)NUQRx zl&&mfvjD|~dvv2gwj@%>zR10S7B~ytqqO!AqY`hju~Ev5`9m5?graD$@5*SpMf2bK*0%~55}K&gWheGIbTtZyC2e%0LZ?zlS_wJo^B-SotygSftghBh zB9(R;Xr~D@mHW?5#f}jz6=K$Pv^1Ms!QO|SIN=?VYPZdvnZ0NJKH~26Z96kwVgS~0 zZQK`x&NwbO65g`muCB_lkipvO*tHN+=GT!M`^6bNju~Qs0K`U5KwMp_9pcP*N{}(` z+q@K47l|+>Sr-EVtgeE$!a@gGXCNoR!Ua2l^EO^f;dNo(G?)eGO5)9~=m~BC-H5dE z>ZVZCqxYpfZmQa5s5cuRems1_pxkBr3ik^+cn_bd>grYB zeam9IbZ`rfwOQy1dI5M30@jFcH)Ons0{m+w*yhzT%lCYcB-lb8Ov_@g1_m$#bKgtL z6<1|!RPkO5h(A!jR)!-=(da1qB|&CCJE3AEH^QvTxKIF zis%iMaudaUc`FUm(U#@(ecT^VihCVp3ANbgXJG%}$P-d_x7_~ZhyVT5Q%}t@+G>NA zd(Wb1R~Z)-c%VM9evjnfLx-z!W(dl6Gfv-?*Dv03sJGl?Kq6{FZniVpY`xanoR1J0 zv(%(g`3(?e^?9z`Z>qcOuItkA-QHoHV_|n9bkOH3{I0EoY3r)mupm7${Pu3)KHM&M^awD@S+F~04rX}f);ghMJ2&( zVkKQs##QS0B6lO)a9L%YJ15meqINTdqA*lF3)_C+s&CfGcbdNng4A5mZ>^1i){xE0j0 zFK~Q!TV9GbDq)tIL~Da-fU#UvC6Oxg>FT)i0Y%q)UCu8(geum)I9T2A`GMw zDX(0PFj>|rS4m}Cnef*CW8C)DI(8b=^TxDSk&md(p5EI`4s3xtjpca}uw5z4m%v>S zHQD>DnF=CNZPr7s{c?cglB)8{%B{6E*?vdk zfyTOpr!Lnz|I=)=JY2`P(Bdybfo9pfapSPqy68mz!j0F#!mn$`b>f#~3W z_)3VC;40(Wz5?P1ms|KeKmPzI&V|ARah*h|$mW_`Rk<*0l1iv4jeAJxZ!G-xpA_O_ zFY51qZ`0zw^m=e-KUg=a!(H_OC&Zeg3tfGxES+!+qbA!v;Xh$bqDm^nzJ1h@Az_=95T5Ypw zA`vn*eob)rk@nzb{&?&iWI@iUNH??xiMDup!Os zl5+h%#Wp?cm+30}#NO822)wZl+Fb9R*1IDEc66-S;!_XH9pFA!LY|{ zt9ZwZ78M2s4UsEB$-iu~Ra&jwfyS}$MB7zy^*{t();oG9{pKFL96zAJDS?GRjZ|I@RVQ9rqUQ$dAJ<0g+D6En7PhcbrXiJEpw#>nbbPRe3<)Snwau zLXK`KR!e$8>u`St#5kZeLGTQigf5tW;ReDlhf|Z)={xUeKITkH5e|;pEUB4&a_NhZ3m)dKdH3CSrwJ`7B{~@0cg@mX+N$aW zI(h3~ZFCOFS>lU~q?b^k9^WmqE%o$9naM$mSaZM0Sl-ppcv)3n^yj}BnjW3{H$o0o^O&{3`&OkT?r@h`}v_WEhjTd2k=D8?M*$;17l) z;7<{X_+R~WL>)S;kyh8$CUowE*GT~kan1D#ZKmi92=g(h7K^-z#P&HneaLQFmAaMPy6!PNRCWJ7nt|?YY`~eus zQw*o^x8YNg73G7Bt&|L-Hx(UfbB0={?%p!saBG2D&}9$$d{()h45bd=tY2o~)i?QuGzr*5aT?8OC}=^btJGBnt#E;>Eyfy`8cIuNm(=ou5<(%q2%5Ny zJN@?CZ(ruChY5&>8EFSC-#(%|FsOxHyfTeOb{VDBrB4u~M7AhVOOwYJ5_Q(bj)mI2 z7WuG0z2g@xw#&@bpF=^23(Mg?Z&X8EC^iq4vE7OClu=Hk{XUgS;-a}1eSZiX@cRqD zxm9Ca7rS}$dU|3M$0;mul3oH%Tae#kx0c6x;ff0$_TPyO3k@HI0E+W>GYc>SX`p0!qgJ$z(GyR9mRT72|1eFj$}A6d>l?imoFV%2Xb%s?sIAHV{)r>#OlIVCJsc z#qN{If5d$Xoh$rU)b-~w=HU}3>Q%BCpJrM@l~0e4kBs=uUhxedeDDFc-zOiWOscm+ ztwFU^*(X+@p}=*!RzxCV%ZE$@p_)dbszqjYLlKVqdQusaFS$Os^_K3K`HH9LMEaR$ zw%)S!X3!t>v+yA(s+?ciz+?}Ee{q&ML)RXbH15S1jh^TK4+Dcs$TJ$CF4qHDF|Jth z9-$c93B}6QN+t;GQn?qPERZ6U$oX6YYVlBE0KF7MLuCZJ2QLVM8bLQfhigMiUhBz{ z3eYD2SN9#aiT7xwZ$lO3;lg?DZz@MT*<;*^hW48sXVIBLq41T)M#3udR#|jMEs7RK z_kT1tx}UVFuBDazA{oF1hYxhrs%PX-cXC#j>*YkUQK^k+xr+gA39Vsc2il(6xO3-N z&s}~$l$p3%q~Tt2j<9tV3u|+l)~;t_+sl;Yd&=HUT|@Q2))LUCEX??M5aKqr*oV5Q zxPcgCL#@OUMJ&*r^@?zePzp5uS1<=x9Fz)UDm;*dn~t0Wj)Xr_ioziqh{?zo`-Gqk zeG|RMeNBccq!QU+TY7{EOhNoE5pfsYHBS>a6_$x*u}YDtE{lhlfRW9gaM~v|krD3h zKggN2-_OZ<4FUC4X!5{7R4ks7sF8mc5U3w6>`OT(t$E^dYJ*kZrZ6d4gOrak3q&tAZfRYYyM5-y2yk%hfbkmbt-(dR2R0n>c)=s0r@>G7SJ;y4_#F46T8A@= zY|*}b6fD5q+5ied)sLr2!j0rXYyQH*wG~V$&eZVD&B9!(70~Kw?ryY6BTMJ&6S`#7 zYNJpBBxX=k1oz0KPI{QV0D;IB&cc1@PEC89G}?XDn{WQ?)99Kvxibvit7Qk}Qt;ch zCe755BmGE0o0|Pcl(Jq@ih6xlFSX{G4H~OctZAt-B+KKqL`A}-fn6T{@t<%zv+cJ$ zbPgG=3lDd8`hfo-tFKkw*rN0LS)a+=XJFAShh}fCx;i|^+;*aOj@kk(Q;^H*fTR8< z;Qj)JI>}?GMLt0gE7WR;4@(PvS00|?g|P~pBJnN6rtKrP4VV2eI}>|aOfXm(XNYB1 zLi$M4%s|J{oO63$gSDr9H4zoH~ysaZlJl5C#W zeeRjH3e8lxc8ZiX%%VHbpeH~4)x!@z%)PGEOPZjLa;I9AX4KOvaRaOwPtTmLnw`J3 z^>BVeARqz00k~hMR>xE&)!Q;vM7gtE?>2K6y+gh$mth9U&Fgo{ug>PJr#`2OSA6PI zJCDo2QiKkGp?kG#XSqDJCssF>k+-$qaAls{4_z}DQ+Y`AUGT#~mlNhWFTrkwH9l;T zK#Vv;g$Eo1Ly!k{%XmroFxvNVaSFo3V`hw)mdPi#kRxDt8fG&rl_jgesYJ z6QWsyI#OruG3MFwQSJlT->gY{;piieJc4>1p^)jr_f-Z-hs2;brvz#TD_&4ZTE+7A z{8U$ON6*HFflPYqhIj>p%&^gYf)h#z44qR|HAE`v&?zF^3!Wiw^~mU#4{xu{ zhX)6SEe+OgM|k_te9vMT`ltV(+kJ5`-`LAt72i>=NH2%02O1goBy-cQ0csfAP8w>| zPXqox2$*17G3VV3@eho-`?sE@bj|&%XfP$n3VQm2AZ~0m;b!w_1DH*IDg!>HOa^90 z7qu52;kFA=deJSP=k7rR8dQRce!5#62^uR2(us#(f{y;)GM) z241(BySJ;ORz8Mq5-X|7hFDzh>_FYmP;#>|;53skN#%ntfBDOW&)j(@`VAw8$$xp1 zY>%31l}b^+A1pu}Get|0-9d=8scxOWzp4Qd<=%+8j{B02+p*B2s#uJgG-#r;Vb3Pn zmRk}9cVB;kR>tBZCPiFdYAov&h+S8EioA*QH)pKu%nG$Yyq)Cj2-&dC-{6< zs83bE#_2}jip)W;-Zdaw-ovhxqa{-jUIc4q$4$mo?(9#rvLlohRTSPM z?kUU?R}(5qp00+031+cPmx^(%=q1jPD(kLt5+{hs@`f0rQ%kvscgnYDcs;n`hFzg8 zEzRCgb>)^qMd5t}8w#K+-&uzo# zu4KSh5p<)gJZ2^1{DG~)W*zmUT#5z~MNJ+Qw%aSfNBwF;RjN1db2J7?*4j1enDzVC z)(p1z2Q99o$J-P-!mX6|~50k&{hODJ;)jmu;z2OsLFuT4x_N>-ys@ zd7{!8QkmS`3;urpZ<<<^6??;`0HZRg*Xru&c?B_1IIkkke{YVvM+%^_R!4m6y*ci3 z5Bdvc=lTopuWeMBJJYAPc8k-vV2Jhl3Gj34L4GmlM#b@H13&9pV2NESWv!&*ydaCF zxs*f#0SG3Rf)&7YP(CIoqKL&tQokT(u=Q{XMfZk&Okne1cbN=EyWV6ZkymMsEAOu-w6Dc%r=)iOM(axEHM3$aU^s`HUto->t-SPtyr7Df^aXA$x>-Y7Gv&1nI%BiO z=A;N<2R7SPfNAf&UQ6zw)ZgdsM2{5CTjZk>JF}UjxSw@tfH0xjf$rk|#XUGNfyNOk zd}adeU*>6?dx=`;$GTJocr~6|5(W(t_Qg*_H41OK z0$sy61eQ+8%dh0nD;ab#YNDX}cj?n$26VbY2VVeX@fM3b3g#%Y>zoN-Ob}VCzRqX>>76-jmh7gq7rE!q4(|42 zA+bIccSSto%E@|f1#$2fzbITm)btp|#OLlK zh(=!(;bE2SuJ8He?Q+i{1>FIBMceTu@bx6UQA&x-URq=rjKL<_+8QFCSE-p8_pE>D zUzs`=NpAr{qsfYL+fi=u_3fuxQEn{Om5UvyN;OzRA!xyTI+vVswYGmJqA$;M9a~?k zI{nCwUe&tAZ}v`*Nqmh#FCCzlcrOT^R4;TT><7;LF{l=R=UBzJ0{9GjCID5zr(>60 zGLgKh@RhtJ>}3rP~DRpE=h1_FUqpN?}oj*CHNp7E8-(r{Ds0zFDmdC35iHz zuSix_q|)&ULkov2-22E2*FRkkKaC;c0n3R(fik^X#=SRX+M>NZ(xu%~YSnNXVTl=h%DnaSjdWG7Se>!t@<^)X+=w|?%n zq3`$#ml<3R4MMQGS?=(U-(J&G?c!d&%4dXcN9g?iLpR*O<<{<%U)xnZkyK43Zn>&n ze54WXfQk1<17IKUlpfqmypCrH3bk(V<0a+(caEuKPr+UWag+dufFoOqS7hNJfW(Eh z9Z%qvu%O?d@%X4dDsp@YK=b?10>RLxWYm@M>#9O_2Zgdyo2*uE!3glOTD`}3fxC!c z0DR#aV{LgA-B#9bnm4`>Y8=dTRSov+BG$b9Hg}Cy=7q6`g|`bgH$4zeAB!WeRnt$h z%FpQ)O{`*BCF&7VT>aGB@h==f5grpJsf~=qMY6Vj)*S6>s3H=+kgl4$=o|7RYAUt# zK>EfeZO#02Ut@e-s-?LZ9rf8=YKJSE9rJqsW~$q6Ofqi|?p7z3A~locn$i5pgBkI3 zm&-G_V=#pET?)PUPl&z>d4;PuYa91!Zx?p?mMl$Cwf~pb7X^9Yf{qF@1_L8Bf$;$> zh)ysyyxfh!qTAlYNNaoB*QQacNqIl)LG@k<2F9wIRGZvQEkr66utzl91^*!TuC=0f zYVC%8w|BHBxBi<)=BgLA*H~Kg8QlOIpNj>yFAl`b7DV`i!2z%LeN!;eR2BV6UB;Bp zj_v7ZjtstcS~*-x<(4J0o!GVnK&M}Xx<+_aZ#>S3Kj!m_xf=)w!lsW}bzIuz^_dES zszQ4WZY_f#3+zV*bRF}h0Zb4Yo3IDGMBxO4??rA4x(W+7)>Nr8`OIDqC8{Q^^1Kau zz+;!|$bEA8*SUw#-GvXNJyP!=*qa8j?Rksh=E z>0!sD@-hY80|-`M;20Jpvxy=J!t7Dlja_DYhrhZSWNKG??A)ti?k`oU-fJwdHI;EI zJS0RX=+>KW<`&NoBGIV+IifBYOn>7WM#zJIw=tpZZoYnCj_d^@1`Sx&<9vK7%$OQeJ?&XE3A>RX{#o z6%=+QmN<(x2sR;6tJ9|SW|l-L(x$9d+rTC~)NgCw&{u6UF_vNTgtftP(BD^Gzs!o4 zMA|30Z=*Tx?AKtD=CjIniHT{JBrEL^*6uVJ?wm$rQ;?bUF}iw_>L5e4i=jwftPf34 zw8bSh7<=tTZ+Bf9ZLUa&rL=SxtupURRU|gpRQbff#Kn4skyip_^9R20ky)#(T#6c_ zK6;Ke8WR_Z1}-c{oyp`>JpQAucFjorsqrzo_8`~-8F1d71fF_7=qJv~FgIIZX%=nn zrMTnY+1#Q$ftn6DLK<8h`~l6xe+)3GL69K;(JVx+aNVimfs{hpV9{s@0w&tfG6Wl` zGHVs&S_unFiqfP5sFfBO!JXMh84gIaFK{oSo!o6-s^ym9_nB>kF(l|SKl@qXzZ)BC zTxs2CKJ=%uv}v;=8$#VSRS#qh4^k2hRZp|j9=WswVCk~!mJ(GqS~9^{+>A-zW!IOt zWSfXeCaY3KxC`E4(e~}%-~LH>+dkv-4ST)n?_XZM#aDi?>vIhoYm$vK^-W{*OnNC; z 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%0DMG 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 )^WCBN7cwkIlUdIzEzW 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