From 5c34fc22b0c8b9a987052499821de0803edb5ca7 Mon Sep 17 00:00:00 2001 From: Michael Zanetti Date: Sun, 21 Mar 2021 15:24:54 +0100 Subject: [PATCH] Add splash screen support --- nymea-app/images.qrc | 1 + nymea-app/main.cpp | 3 + nymea-app/platformhelper.cpp | 15 +- nymea-app/platformhelper.h | 8 + .../generic/platformhelpergeneric.cpp | 21 +- .../generic/platformhelpergeneric.h | 9 +- nymea-app/ui/Nymea.qml | 15 + nymea-app/ui/RootItem.qml | 2 +- .../ui/images/nymea-splash-horizontal.svg | 821 ++++++++++++++++++ .../linux-common/nymea-app-kiosk-wrapper | 2 +- .../linux-common/nymea-app-kiosk.service | 11 +- .../linux-common/nymea-splash-horizontal.jpg | Bin 0 -> 188561 bytes .../linux-common/nymea-splashscreen.service | 13 + packaging/ubuntu/debian/control | 15 +- .../debian/nymea-app-kiosk-wayland.install | 1 + .../ubuntu/debian/nymea-splashscreen.install | 2 + packaging/ubuntu/debian/rules | 2 +- 17 files changed, 910 insertions(+), 31 deletions(-) create mode 100644 nymea-app/ui/images/nymea-splash-horizontal.svg create mode 100755 packaging/linux-common/nymea-splash-horizontal.jpg create mode 100644 packaging/linux-common/nymea-splashscreen.service create mode 100644 packaging/ubuntu/debian/nymea-splashscreen.install diff --git a/nymea-app/images.qrc b/nymea-app/images.qrc index 0ccb1f66..dabaebe0 100644 --- a/nymea-app/images.qrc +++ b/nymea-app/images.qrc @@ -256,5 +256,6 @@ ui/images/sensors/water.svg ui/images/zigbee/deCONZ.svg ui/images/zigbee/NXP.svg + ui/images/nymea-splash-horizontal.svg diff --git a/nymea-app/main.cpp b/nymea-app/main.cpp index fd342d19..377210aa 100644 --- a/nymea-app/main.cpp +++ b/nymea-app/main.cpp @@ -88,6 +88,8 @@ int main(int argc, char *argv[]) parser.addOption(defaultViewsOption); QCommandLineOption kioskOption = QCommandLineOption({"k", "kiosk"}, "Start the application in kiosk mode."); parser.addOption(kioskOption); + QCommandLineOption splashOption = QCommandLineOption({"p", "splash"}, "Show a splash screen on startup."); + parser.addOption(splashOption); parser.process(application); // Initialize app log controller as early as possible, but after setting app name etc @@ -152,6 +154,7 @@ int main(int argc, char *argv[]) engine->rootContext()->setContextProperty("defaultMainViewFilter", parser.value(defaultViewsOption)); engine->rootContext()->setContextProperty("kioskMode", parser.isSet(kioskOption)); + engine->rootContext()->setContextProperty("showSplash", parser.isSet(splashOption)); engine->rootContext()->setContextProperty("autoConnectHost", parser.value(connectOption)); engine->rootContext()->setContextProperty("systemProductType", QSysInfo::productType()); diff --git a/nymea-app/platformhelper.cpp b/nymea-app/platformhelper.cpp index 584f4e2f..fcf84a4b 100644 --- a/nymea-app/platformhelper.cpp +++ b/nymea-app/platformhelper.cpp @@ -84,7 +84,7 @@ void PlatformHelper::requestPermissions() void PlatformHelper::hideSplashScreen() { - // No splash screen by default... + setSplashVisible(false); } @@ -173,6 +173,19 @@ void PlatformHelper::setBottomPanelColor(const QColor &color) } } +bool PlatformHelper::splashVisible() const +{ + return m_splashVisible; +} + +void PlatformHelper::setSplashVisible(bool splashVisible) +{ + if (m_splashVisible != splashVisible) { + m_splashVisible = splashVisible; + emit splashVisibleChanged(); + } +} + void PlatformHelper::vibrate(PlatformHelper::HapticsFeedback feedbackType) { Q_UNUSED(feedbackType) diff --git a/nymea-app/platformhelper.h b/nymea-app/platformhelper.h index 90bfc9bf..f3ad8edb 100644 --- a/nymea-app/platformhelper.h +++ b/nymea-app/platformhelper.h @@ -47,6 +47,7 @@ class PlatformHelper : public QObject Q_PROPERTY(QString deviceModel READ deviceModel CONSTANT) Q_PROPERTY(QString deviceManufacturer READ deviceManufacturer CONSTANT) Q_PROPERTY(QString machineHostname READ machineHostname CONSTANT) + Q_PROPERTY(bool splashVisible READ splashVisible WRITE setSplashVisible NOTIFY splashVisibleChanged) Q_PROPERTY(bool canControlScreen READ canControlScreen CONSTANT) Q_PROPERTY(int screenTimeout READ screenTimeout WRITE setScreenTimeout NOTIFY screenTimeoutChanged) Q_PROPERTY(int screenBrightness READ screenBrightness WRITE setScreenBrightness NOTIFY screenBrightnessChanged) @@ -85,7 +86,11 @@ public: virtual QColor bottomPanelColor() const; virtual void setBottomPanelColor(const QColor &color); + virtual bool splashVisible() const; + virtual void setSplashVisible(bool splashVisible); Q_INVOKABLE virtual void hideSplashScreen(); + + Q_INVOKABLE virtual void vibrate(HapticsFeedback feedbackType); Q_INVOKABLE virtual void toClipBoard(const QString &text); @@ -100,6 +105,7 @@ signals: void screenBrightnessChanged(); void topPanelColorChanged(); void bottomPanelColorChanged(); + void splashVisibleChanged(); protected: explicit PlatformHelper(QObject *parent = nullptr); @@ -109,6 +115,8 @@ private: QColor m_topPanelColor = QColor("black"); QColor m_bottomPanelColor = QColor("black"); + + bool m_splashVisible = true; }; #endif // PLATFORMHELPER_H diff --git a/nymea-app/platformintegration/generic/platformhelpergeneric.cpp b/nymea-app/platformintegration/generic/platformhelpergeneric.cpp index ef26b297..b3e11788 100644 --- a/nymea-app/platformintegration/generic/platformhelpergeneric.cpp +++ b/nymea-app/platformintegration/generic/platformhelpergeneric.cpp @@ -32,12 +32,11 @@ #include "logging.h" -extern "C" { -#include -} Q_DECLARE_LOGGING_CATEGORY(dcPlatformIntegration) +#include + PlatformHelperGeneric::PlatformHelperGeneric(QObject *parent) : PlatformHelper(parent) { m_piHelper = new ScreenHelper(this); @@ -73,19 +72,3 @@ void PlatformHelperGeneric::setScreenBrightness(int percent) emit screenTimeoutChanged(); } } - -void PlatformHelperGeneric::hideSplashScreen() -{ - ply_event_loop_t *loop = ply_event_loop_new(); - ply_boot_client_t *client = ply_boot_client_new(); - bool status = ply_boot_client_connect(client, [] (void* data, ply_boot_client_t *) -> void { - PlatformHelperGeneric *thiz = reinterpret_cast(data); -// ply_event_loop_exit(this.loop, 0); -// ply_boot_client_free(client); - }, this); - if (!status) { - qCCritical(dcPlatformIntegration()) << "Cannot deactivate splash screen"; - } - ply_boot_client_attach_to_event_loop(client, loop); - ply_boot_client_tell_daemon_to_deactivate(client, nullptr, nullptr, nullptr); -} diff --git a/nymea-app/platformintegration/generic/platformhelpergeneric.h b/nymea-app/platformintegration/generic/platformhelpergeneric.h index bad548ff..7f6f15eb 100644 --- a/nymea-app/platformintegration/generic/platformhelpergeneric.h +++ b/nymea-app/platformintegration/generic/platformhelpergeneric.h @@ -35,6 +35,10 @@ #include "platformhelper.h" #include "screenhelper.h" +extern "C" { +#include +} + class PlatformHelperGeneric : public PlatformHelper { Q_OBJECT @@ -46,10 +50,11 @@ public: virtual void setScreenTimeout(int timeout) override; virtual int screenBrightness() const override; virtual void setScreenBrightness(int percent) override; - - virtual void hideSplashScreen() override; private: ScreenHelper *m_piHelper = nullptr; + + ply_event_loop_t *m_plyLoop = nullptr; + ply_boot_client_t *m_plyClient = nullptr; }; #endif // PLATFORMHELPERGENERIC_H diff --git a/nymea-app/ui/Nymea.qml b/nymea-app/ui/Nymea.qml index e5be9b25..57541941 100644 --- a/nymea-app/ui/Nymea.qml +++ b/nymea-app/ui/Nymea.qml @@ -556,4 +556,19 @@ ApplicationWindow { z: 1 anchors { left: parent.left; bottom: parent.bottom; right: parent.right } } + + Image { + id: splashScreen + parent: overlay + source: "/ui/images/nymea-splash-horizontal.svg" + anchors.fill: parent + fillMode: Image.PreserveAspectCrop + opacity: PlatformHelper.splashVisible ? 1 : 0 + Behavior on opacity { NumberAnimation {duration: 300 }} + visible: showSplash && opacity > 0 + antialiasing: true + smooth: true + sourceSize.width: Math.max(width, height) + sourceSize.height: sourceSize.width + } } diff --git a/nymea-app/ui/RootItem.qml b/nymea-app/ui/RootItem.qml index c2deef0b..c2698959 100644 --- a/nymea-app/ui/RootItem.qml +++ b/nymea-app/ui/RootItem.qml @@ -236,7 +236,6 @@ Item { if (engine.jsonRpcClient.connected) { pageStack.push(Qt.resolvedUrl("MainPage.qml")) - PlatformHelper.hideSplashScreen(); return; } @@ -414,6 +413,7 @@ Item { if (!engine.thingManager.fetchingData) { updatePushNotificationThings() } + PlatformHelper.hideSplashScreen(); } } diff --git a/nymea-app/ui/images/nymea-splash-horizontal.svg b/nymea-app/ui/images/nymea-splash-horizontal.svg new file mode 100644 index 00000000..8df2c405 --- /dev/null +++ b/nymea-app/ui/images/nymea-splash-horizontal.svg @@ -0,0 +1,821 @@ + + + + + + image/svg+xml + + Artboard 1 copy 5 Kopie 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Artboard 1 copy 5 Kopie 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packaging/linux-common/nymea-app-kiosk-wrapper b/packaging/linux-common/nymea-app-kiosk-wrapper index 793cb88c..6258b82c 100755 --- a/packaging/linux-common/nymea-app-kiosk-wrapper +++ b/packaging/linux-common/nymea-app-kiosk-wrapper @@ -1,5 +1,5 @@ #!/bin/sh export QT_IM_MODULE=qtvirtualkeyboard while [ true ]; do - /usr/bin/nymea-app --kiosk --connect nymeas://127.0.0.1:2222 + /usr/bin/nymea-app --kiosk --splash --connect nymeas://127.0.0.1:2222 done diff --git a/packaging/linux-common/nymea-app-kiosk.service b/packaging/linux-common/nymea-app-kiosk.service index be9bdeae..1cacb133 100644 --- a/packaging/linux-common/nymea-app-kiosk.service +++ b/packaging/linux-common/nymea-app-kiosk.service @@ -6,15 +6,16 @@ After=systemd-user-sessions.service Conflicts=plymouth-quit.service After=plymouth-quit.service -# lightdm takes responsibility for stopping plymouth, so if it fails +# nymea-app takes responsibility for stopping plymouth, so if it fails # for any reason, make sure plymouth still stops OnFailure=plymouth-quit.service [Service] -# temporary safety check until all DMs are converted to correct -# display-manager.service symlink handling -Environment=QT_QPA_EGLFS_ALWAYS_SET_MODE=1 QT_QPA_PLATFORM=eglfs -ExecStart=/usr/bin/nymea-app-kiosk-wrapper +Environment=QT_QPA_EGLFS_ALWAYS_SET_MODE=1 QT_QPA_PLATFORM=eglfs QT_IM_MODULE=qtvirtualkeyboard +ExecStart=/usr/bin/nymea-app --kiosk --splash --connect nymeas://127.0.0.1:2222 Restart=always User=nymea Group=nymea + +[Install] +WantedBy=multi-user.target diff --git a/packaging/linux-common/nymea-splash-horizontal.jpg b/packaging/linux-common/nymea-splash-horizontal.jpg new file mode 100755 index 0000000000000000000000000000000000000000..d4dddd4d60e080a616b901c7797a7cd7bac0a198 GIT binary patch literal 188561 zcmeFZ3HZ}Q{=i*s!4nb18&N?mkfd#TaJlJ~-bd1;2eNLGCTW_s>5;Zcy>{1KSMgw3 zZ&2Aq7Zepm1QkTq6-5@*RYXKUR}o!6R8$mC-ubmCs4Rc~|JUbz-sjl{eoZpRH#494 z&dhgaGTHm;-hUa633&ZpL$BVwdX4Ti+F;nb(=a-gQ&gpvQ_925V_}2c=@0kWY3MnQ z=?P)zWdLD2=e=+G=j2qiJPv|NwXsZAVfnF~QiL?73?XA-$S~o2t;}#TuMTHB)FE$IkF?ppEPKKHcl&+i@eGV*NTNwZJai7 zL|gbcaNXk!jTqhzqRJCTU_DPAo(ji?yOb(F935*N!yy*)aGPT+Vns{{JbJhZMr;sl zhY(~80*^D<$C<6e_Z=f94FXpas##$i;r8x(9Jre}VqdA0}l2P``0uPz|$;%D5Sop9CtHeGF_GV?q*$eH?5ZhuVxVG7g3( zKtBq5KsMWcN>&o|A4#!wq-6F9*dOQz(Op#@B;ZHU50Z!jLLN+pQcWmIVN$0x@$c7; z;V##3lW8nG{G2euNu{2K@!U?L+5-1Q`+>wnu3ltIj8v%o0C5lZ?-TBn?zbh_<6mZ~ zHNK}lOdRoTg*Z@;_NxQH*HfX#HKnYYn`A<*?Q|XBv_Dlpj+EmiF{e&4nJoKb?Q=U+ zw0#;Jhz|4i3Ybn5!cYQ!r-}E2oo@7I6M)M~qGO zq^ReBbwnbmh`WTta9d!RG0B9Grr3EQ~wOcI25T6$t)R0i31 zZ|%9osPwn~pp<&k2y`4 z+rLi_K@eBZQ^6B}UYWu@?EjC)zC!t7?2fX2>*`R`JxUJ_cOsOGAY2LDcMeyheO54U z91}2?(n(hskjlhXvDE4RhJBFonUGo57-S%+_?HSUl`> zi=H$_hMl3f$Ba>aX9Dx4Iw?$goJ`Ye!qS*i5^);K*qs#-hcVXT)Z@McmW7>GQ1dVW zb~&4V0?RdB0ny*Y@--I`55%#8;>yGWO{`SwRK1)SB(QSRRl$NStZH}Z%}@%fhh4U2 z$c{Bdw>KV^Fx~EsVUYlaq}>@TqGM*eJ0Fj-m{oDtu^5gyD3I(}tDQn8=J$Bw@to6* zdEyumcjB0b!$`~-@OYFssXN1A4}v8M&KT!)VHD#eo8Fj6$DPTrHycm-otc`qDyE#y zEahzrv|=f{Gl$^;ENyYhFrJQQOirbSD;R?~Yc<@0u_kA;>GL-^)Ct>t88Pc{qH$jp z6WmTm&1Y|lA(t!ck2Z5uTc8Vv{W(z*Tp`g9ivUbK9q?na)kRYQwpk3i7%I?=mpGRo z2ECZlbjfg#iC1t}B^+#GRo>O8h46UI>_VteTVNKelP;Sl1Y?b+8?%Q)O)cie?csb= zZ@MF%uw8@`?gSN~Ma1IHD3M0oEVxB~G!RDv?qV}4V^-L$icu(T&$R`*;dG2?8VR>8 z9Wy&Im&YZ>6PnZH3BYm9>8^Q*FcH(w%;(zzae~W`xq=aA!x>alIK1Fta=D5fZ}{1uQx$NOVq4Cp$LFqb zoTgWO(Ku);kfbkd&+3H5?aRY_R(wT9kD+;RietBp&i} zisT{#e!n70Iw(m$EaxRM77AcZIU$kpK*V40l5{$dsTIt6x|6~{kt{4G|K^3p%!H0Wyn?b1{F)iMYq_qzjnxE61DTailG2E(2NQHX?O#GR+} z5mq$0^BFl(t(iUfY`HBkV#h4FJEuj%GV0G4?9pu68g^HL(K=;|yX#yO6795G*J5#t zgK3!qF^Mzg^0q<@jzeV+s9iXLX_TiJPv@L%fmS&Xj#nIRj~qebj)EsfkrENldRZz( z68Rinf;pTpAwGl>9b_;QaKi-)$p?Z7PsK#)-ca7tuq1FI3{$Y9Eil2TQQTw26Ae0+ z@jwa66N%RlPoByUq_Yq(Q}uEp<&DK?Pk>SjRE5qsl3p(pq#KS@wjk7!IFU9Xg+!85 znYKW}TQMeES++(uYpGy1>o1u2RIbby5IdDZy`tOXil*aQE|2>|X+_Pu@n|H2p|Xrq zWF|uwah%~Yy0cWq#STLz=qN|%vkWY&8q!(3FWk0VXHm=n42?4|rHk*S& z(Q7oOjD!eU%cjN4i2~!2)8U$E=RIi)h2=6PJgTtioS6qIEFo=y5}gb<(v_st;zOpi zX3G=SNHdKV^37tbT6QMnSdl290bH(|5`_#XwkSjAQ4pXWP31EpT8xqzIiom=^$Ob- zSPW=*DVEHZ11ME$l7h-OO9~<7bZfw&wD3I2keM=NEn-#%Et_3Rz?$bP8K#o3*8HG? z)_5yystS0$$~ZaTS_?zNxY{fU?l>0@YZ0N-Vk`DcLuZRBy|f3ZpfXxut-# zJFq$&4-tqOtiTpGMQ5oRBF2&?mDf%FMkW(cj3zD5+8wQEJIiLK%I6#o+2RT1{81ld zQEmA~ofOctyO^$LJyw@ccGXLDs~W4;qdIR(C+dvRk+8cPS|H|+*c(F2A|%2NHg9SR zEXR1l=(C}0tjrqWsy*6(D^RWhxdjMHdJD{VMo2INEN3SHwJnS98v~&Xuml21$NB=D zKarw=`6lhN2QW<1fxpKHM1_5E$Y{abvR7tJfdYmnI)Ma;#r(jA7URHPraVrO@;XHs zZ>P`+IweNz{10taW`g(c`$p_?F=Wp&UnJ3HCbG%aX!s1 zeD??1UuTnxv<12`I1L_?#&Z58Ir_-4^I{dB`y3@lr%2=NB`YnDOWe>uY+$KEgsqTwXdLaScx^;3nK+jv*;M zDWz>-Twsoo5kBA%wJaq!#r;_hBb+uYCHXsJ*7|;-45A~>++upIU9h9YF^HK`J8~K(;E{E(MI+e!!2_hLVIW=I; zc`Fe$8>=+RsYr=y1biN|X7^cG8=enFBSIO+aF~z-oJ@4gxkxs^Rek;zEx?YPH7lqk zm!2RPJCRfcz92L;y5UWw!83otPdm$p3RfsNyj+Z{ST!e<2zop@0d>@?ZZB1d6{L{0 zIpSe&$zM; zs=(!|FdhoXq`mG(vpm#vmjE%dRISlj@Y7CV`>OLpns^%mr>a_<5j==e_J#_mHEaor zHX`RH^PsQIHUuxlGO=uoRS?8ei!>R#1!jwi!npEOvMo?08n8yw8f^;JH9DAO8bY|{ zu@VeX<{~!S(TLho9tUD|X{~b8<6-@N6whR$2~RCn%Oz?gAyxdaZb76>wPVgX{3e;M zNDUGRbLL9To-sSKyeo(MNHJ5fRPvq79FUKmyd8KO_o+}ZTI@+qM-MUHY)o5!VmThF z2yLBSuN{PzVOOBL126J*qz z1l@VI2xTHMx0mji#6Ly94xO&HFBKESPJ3ud7wbp_Ov2dW_As4x@Fr7*Z)Y1)wHKIO3v3}XwFjLXfogkAc#p0CzTWx=JF*;78H!I$-bQKri}@pX5mOsY@}UM zA`F)?E)w#4(0zKSQL5(m3UZhRrs~0PQO=4tSE03VK50@KnP$bQOJp>nYu>CeA(rZq z28#j(vv<^HpITL%NTr2D?KOdb%~YbCZCPbjNEW1gDdzOKqa|0e0^v#!vC)++5Qz9(|HRPoNg0+^C`9>gsr%9}WQ`vZ<&e3!% zP*(zc(%Ym3s_gV~VUeZNZdQjamAI#!LMIuL#cJFmHIikGj)tOEFTz%%eqeDEX}%P0 zI5jO@t(WZ#?NdPwIaI3K0>4k;kN_$=A40%*zs?dyrJO=M5noCUa)qeF6*UEw1lbno z2&NKRh_u$(a=GXZBQ1Z%<%*$THbYSGpt8T|R|{EL$|6)Y0wH(|KR6BY}4!W&S^v0Ak1fPiVM8I#^3XrbDLE+Qo( z%jaS!Fkb_>0{X|YQ8n2*vvXBSkJs&9jWHH8LX{*HS49(pbh;6DsujczvR3P-S z1yn#RSu7dT3Ti3Uvz@6bP)(DxxgdEfH6a?2v1B;x3#7zmh^sr8bfqrUQ~@GAHMm|T zih6*BS%T$g%Hs*?atMjI;(UoUo9H+UmgU+hWaE0+q&8(2L0WMgSS56xjuXMMJKV6P zSkTbMxQ-&k-Bzb!m!dLK_J;ESS_D{D0qNGk<58Lb49G?>G~ z&}fq;8s?0I#RP9hn-A5F?Nj)+!2cL7pz?5%G1fyks+Ln?Ni4WpBvGSS7&n?Q!G{qn zE$1>$7iUQ#9Vu;rLC~|B>}4y9*6kH*9?c>Fl1)(lx-(d#GZ{~sB%-dUmGoByV09#+ zLJH-OhVDRpusPw#HrR?0slr;I;!!(&3a4i4wHD@7U^%TCZOIZCrWJ!Vbzd(2V+Ic9 z(MchT3Us~fDW+tpASAp|!c}18N<*-yHJWyWLV3hf)+EYLV`eNZRfDktXcl8V&nstm zV=@*(9I-%*X9OqL7D(!lIj{S1)F-B`#fBjAFr<1}(!t1I;MLhUD6(_Z-jn1$ptEl?@cwQ~hE_*GnkjXr4loT+0 zjaX1zZ(8!1vS2M0eGnGN*xD&fK(Y{m5K=QIQ9jY2>`lmCbCe-HR)DPKw5f$6WmIw zQ6x%&H&Sej1E6d(^s#zeOi^jsl`97<$$(ctfi)L{u%M5If*^H4HCY$z7#YhzjshR7 zL)MN*1z}JK&YOUri3YMduy#llWwveSGuSo=YYhlIWE<^+|B#7a^n;cNL6 zIE!+O5aA>#&A+5;}ulGHjjcCef+Hy|I0uuwkc zgAli7!4M5C*|T8EN0ky*wOTV4t$C&yVblnl%6jsAIA5}=LJf|o35-lu_(aa{I&20AP#6ky6TE^FhIc(P2jghpNSl)>zqu`Ew3`2Fhh(u~?*mmKX%h zKw%##gk*EU#8PUwEzsWdSD1v5Oeh&5>(`96a>VD?^Esb~mQmX4v_Q2=BW|bDpuma& z2n|842-I}eiblwqD`~VH=pz&*%utZ;3?5?;>wz0~%$h4`G@6pYoFoo~N`xZ=g#;=V zDO9WWNL8?ck#WUXFjJgplHE8Q4oksiC{ZhwD`lUlUd7UtW@kk2P0~;SJjIwu*oz<) zEC-vRN;t34#zM4bMEHZIS&Lu^#8IQu0$Q+_p)y$Oi#D9NOCoa}fwo*Nl`{oZiZbd% zB8@1V)18ntQ#_d@h>BE^TvF9W*{G(fm-ltD9wFQ)`shN550N$;x8zj?qCE~%$DA`^ zs$MP7RLJf2Yh|)-PN|Y8nG#8_MK!abFh;Xwf0;%UixDjFNs5NW_+pUi>9DLUq`{69 zWNB%FBW~wADNMPoWg)NRQB)Rla#2P(KN136REZJ234(T}A-~&OOQRK2!(6JCte_() zyPX=3GrY_0bfl#Wu<7G9zETMq+okLlLSCnfPev7!18sqIeK$dQN)>|Cq%u?pO99=Q ztx;7Qm|rmG>M>(D0ojRY2nU*lcQnfaeXCh*fu>;7D2LI84NL;m(5lXnIPTvT66>*ccdZ#Ws{3)kY4L2fAZ_FKz$LtCbg)n1_0>&`t zTgsp?bViWPkXmP02*C+U1tLoa9R_!*o>&nPps}DS{(hw>2f!p+Bg0fH>AJU=LNaM{ zJ{WJ2LE7VC5Vt??u7o2ItmxMxP#!E5StPjC&N3uHpqVGw5>zSW!J?#M6m+nPhIx`j z!JdK~eid{B5eoEf-+B>D2GT$aG+2JD{L|x`R)>K++r;y79 z*rXj69H`3*qqM0Rkz-|dpkbt&Ml$B31)~M5ihz!YOxH@F#Df+g;LBGUVD<(nK{Z*U z%@F3Q`@piMwJop;nK95**#cpj6j~)C6D!0hAz-Xqg-oDQQ&C{3Ws?roYs_U+sX{1( zS^bSbH69Gs_;Msn^B$oTFcK-WV(hG%L183UF^N_WTW>-HUW(&%wFryAa7|h()?$=T zMw)a?st0Qx$m->w7zAQeYC(cJZxP@)N|Ho9 zn5ebD5UwbRK*!*4v6^uDNw9|IwU&@VSS|#!^_ zXey3ISuvuey`XN_q)ao^X}(a*jf)N@p&5B#7~q^-w}VM#Q^Uhrb6h10Cdg|lNqfm? zJ!<8nDW1+Dt(22gAx=`j@_?R=H8e9}0nr-qb}0)1y2YiUxoU_b8xeoT=Zg|ji*ni% zsZg3Lg`1vYkhVt3rW%v4&}J^>g*eSBcw>H&T?P^ z023u8Lck^m7=i4cC1x@OnrwN36{#FBVc1Wa2)D1B>A{>)6(^{G3i^jOnDHMuN zK$u_G1PC`eLieLY(oef+%+d2EXP$J? z_LA1*6$UYP?87{%1VT=}0fPqxz|us_4~$J$UKi|{ObkJzp%QqA$Ec=dNhCa&3t}QM zZ(dJBWFqAv|a_ZmYpW)K2NNJ(_2ILOoozkkN$b(KS7TqRB>< zZe+vWRwbBAa)=c3iAhq71xq4tN)mO|9M(K?l0x#i&OCOW2X9>9;625Ft>&d;NH8q7 zu#}|?Ah)V?ghX08T6O4pv7qv#o&d}FNl8Y1GQ--!YSx%D=7W;U=PCuMKxbBj$f!yd zsd$mH9MJ^Lg`=`Jna6^%Tctd*h^9laW4`C zHH>rOdPfgkTB6k;Az-Z}5^P!Z1@RkzbqAuruumA% zLO5DsBH3ikX0o=DVXG?wI~Ag>*fBey;8={}{pPZ)lV&uWlL&Jl7pcm!*PM=n*8@ba zvC;IBE}hIK!8Dc0WkVphn+>-Vk!}%%s!--q5rmaGjRVZXX+K!|mCSxlq`@?cJsPRy zf;wULgQc2%Gqm3u1_HOHUdKVtVXa3(Y{der4WN4AMyI34Vg(-sS$Y()8P(wi9E+r6 zODds~4X-X}O?#*cCi&tKrjE73@n$utGHRT5nyQF3OW5s9B2AUc11-y6SMKZchG<@b@5OsxPOaT)F zyvT?Aok9U-7in%eP@$fsYayON@(zY?$*2@^D2nC_byq^QM{mJpXt zE3(;)(O!y=iOw8rjFUFKljVxlTJ`a%u;2hTDolZqnKz#htR%3u8eZ8_1s!KS#DMwu zyd5#7%!p(XJ&9nz#!yipla>R%NWyMSyYOnLqu3U)RP?HC_+*gPt!85gOo&_bT%3sc zqE&%$b9}H?HYT+uh4_3{V;~ZO5;n$|BZHhriV}geiGqU-oDn+=ElExh?QmT8YgA1M z#O-px%iuXL;c)u34E5at)L<5QA(%}S)f3qdkN$6JwB8uM8i9iv?ga3ycv;v~t2 zF=@=zZQ+cqQuWA?&u0eRDbM>PCZ=;ydsQ&fjMWPPyQdERLNuJ;$?d9#5_M5YM#xw#8%tYEFjP>?>3|xu$QeIEm+?Z{m6HVtkJWiUCFDf# zeqtz_wl_2@SS>YsZCu%jI9ve*i9@lrK#MEk2sA~NPk1%EPN(7yw;I7!pUTpxFVDwy zSuc=`>=aD#y18kQ%UU`IUTtVLBR^iDYYY4jwe^s5_}{DA=@3dnQC6qXjvm@|rh%qO ztG9rPFb~#J!BoCY&f!IGIS6M8Vj6P$T^`g+*hz<$5WGo_NPvIUkjJVMYQ3s}Jn&k3 z8Y$gQp$*KxgO@~LueoN;nOLb+MKB$Y+ak%dOqkMnQ1n%%5vib}Eb~coCecD^zZ1O8 zDJIxNPG*TzQJ}M=i0HOX3Z+s5%v|TRq`zf%+Wl6}6NIvI%SFT@I7wLYEzrHB9J~)a z3o^>)6hy~des2Zz5vUO{l^CE}nG%w05oKFv6re?7cr|CLTRGC=tR|zSgr+y0VLqtU z1(nw_UX$C`Gy1H9Y*vC!Hl1*hv63G0GOSEleV}FJtPEFA<$`3Vl#Ll%z){gD!S2Ap z(-@ABnMNyMlOq8mYYz*iDnURsVD?6ta1FP4tcs%*RGoG!pK>rVX|7e(ObFKaYJly$ z(3k>K>CvPu=&U6Yt~eSFD+Mr*d@!Xrls=#?keJR4XE~;4VOt^=@#atkW-?WVZ4rDC zNApFCgpdwFqB*@}!-~d85zIlvdCf!%B!qHCA`-LbdCC^kZJC6g3MM-YLu4wfP>}$5 zRW`)Y7){hLr^At;3bYKCg;=U8X{s$slEz?_#e_ywNZ>{AW^4qm*i~y4r5m`MB8qu5 zZ%cQkOj%jT=bJEML7TCFm?|Y`D26o9d;^A!QOYXddNEKS5x>Rm4VdLvteUEd0e6~= zR`GHyVlE*;UP&bzWF;BzwAgtW)ct7GC0Kz?6RuJ+;?m?&tqfJz1Q7|Mq+SLMl{aq> zfw8O+Ph=!NUpIr2cIld`aZrXWCv3GO!E=1aa&QoED3OheIm8l)aWQX8%7pT;=rA=@>jk%#J10xE}n zP$rSrygrnR(Xn8o5Yijz0BdcOvn6Xp<4j;UAkZ>j(Q~P2D{8fYv2-Zo_To`XCLprD zo&~D5z=JK<9?XrZ*jqde6tHEbOa%sILVPkr61uUd`Teq#j^-`HH+RVZnW%8}hka<_v3Az)Tu=GZ4-A zH8)B+I4Y8`Mio3)h2+lA%8Dpi76ZqrVcj8jYHig*zPb{9A>B2?L-gLp9fP8F+Ze%aLC5sGb2BDu796mhu_87TG6DKg z-2Dma*=5-A&i=Sa7}$Z>%vQ@7tAjur3Q~i$x(-HFn|NSDqEx7|q=724J`?S^vUMNti`T-t2_$OPJjb+?em~lO7SH9tHd#J93Hml?-#Yv-%E8;o|9_O) zPitiV4<+}X_VWHbC3mp>wEv%$UZ+gIUlqTt*FUbh6Asu3K8{qGs#-6{s)`_i?b)#^ z*bzJdIz)*5`ZNKw`{O{wY@Oq)`!pK7VL7}Yu~nw34@cm!Fld9n7iwSZPJ$2ku0XpD z>9~Tg7Jv^XK;L~a;YZEOch&#ryx5Mmm z4$bEWzFk~D0CMQtF0MoK`GN1Da1Gl3%_T6%nK+^ezNobKtpTt4U9JmbMAYjKdB6vp z42A*EVs59W_b&{FVo9wMxN~?aof$r0y`hhxw_%WBfZ<$*tChibo(^$*`U?0O6gbw7 zVS)JDik83Lf0yUe*MD8C*(P z2Sd!9I{X~hx!}W4ux&W2gD*!Fl3b4O9EJ$Hl-KID=#$47kB*7;b17+Fm~n_-%xre(ovXPU!vR#?`Bhj$7}? z!FiBjsNrt0iP-PmhZuX(*5?)5~kRlU~s+T82ky*}#o zb?*Va2lqau_sHIG@A17oy<@#Iz4_kd-WT=0qWARPxAnfe_rl)Gd#~=jzW0{iAN2mJ z&tZLr_8HL!>NBB_zYpCf+o#&+vOd@Lnb~JvpGW&V(`Q|uxBGnDw|C#ceb49%_x(lR zSl?guE%*I(-|2n-()XdhPxXDd@7BJb^*gNJN&QCmo76AXkLy?OcV)ks{pR<3vfsLX z|L*ry|6}@})!*Jf+@I;+=zn$pKlfkMe|7(V_5XCh5d+Q~;201cAPl%7lLI#m+%xF7 zLGYmPAZgGQgYF#kw?VHD`ttA-54Rmo9j+e!r^6Q<{?EfdJmTmhpd+G3C`U{?;=vNgt^lIpfG>N4{}X@1xE>%70Yhs6QU{@KLWG_4Uzb9PK??K6?7mi;v!P zOz&gPIVO5c;7!&uJ4+Yo7MdX**9p_w?-Pe?EQl@DqpA!>=Fy;u%Mu z5kBMUGyXAR;0WJ{D@Qzg=3!_0&%El))n^@XR^+Tdp7qk%L(fi~J@f20MxHrR9C_c! zU8Ag{E*|ywa}GNva?XwCY&!R>a|`D_eC}80dCt4;yjP7Qj0NLj@R_>M=vzi_83T{G zc+9G?$B*U4E*QHPia@tR@4@5YtKm(^Xyg*)dDC!H)wIHVf;n$qW*KbZEsvo`p&a_C z^(brBy3}^8O|t#XKFnURuX2oVTNuwrR zF=^}h?(^^ZMc-d!fAKUn61x)H?hH8}a2@NayEeEdx@UU^c#58vyms#_ygy#V*ZC&; z=J=2HYyP(ap}^wc8Nq9UdqUaJi{Xjkdn3alS44J4v(dFNS8QSY%=isNf1*ijCodph zNH`OVsq?5=^l|i5dT+9kd@q$vZA_Et)fso@iOIIf3oaOa!Q3e$rrhz%lYV*gg~weu z{Z~i->N@5K<{I{J_G<13?%M28*+25f@;3^@gxkd7;$69Oa}P)sX=xtIKP$)NR|`yG zTd`LBy7UL-SmpNex#dL_tnz&Ig6j5~rVdbVs*kKMZs3hqn^N;D?K=GoeNoHT+I&&< z;sF=meu?>#e_YC3`uSzke|_GspZd)OzxnjH(=Q)=`O4pMzc>8;_AAC+@#-I%R}Q^$ z(N)w{yQkiCwe9K+*Iab%Y1ck^9Y1a0wE2G||M>azS%32WY3KDf-Z1focW#_^ljEi> zH(z^;q>dd*+F2mM8vp%HQ68^8UX!pTbrgv10wxcRr)6obc?x zXV#yHo-*x|c)V4v}-rv4<$D{AvvGaHD z%O8**j^B0GM@N42*~f2wvS#bA!P!W4OUEc*=ga5vvS_A#WKBPyTc7`-Y?1-z+m^{|2J<+Pl&4JJ7xV z63yxgWr`KRZ@4>zL4DPjeg<*S-vCzLy zkMZ&C(W`f#{)Y|hH(*fT!+~>e;P-vczWw_RIP4hk#mT-PWZ!;$j~FoUh(3eC=PJQX z|G@*!IQB3E8!|A?R7M>4;ctd6n!e!47fsGHk8d>XgZ@I8&$2FlW!G=7r*1kSdE!ZL zvQ-ypx%rWmzAGKGx!T&1sXslm@a417`d_bjW)vTl2d(?jO7h7Oqh_m{|BE>1iLGxdJLTI(IwC&&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3% z&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3% z&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3% z&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3% z&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3% z&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3%&?V3% z&?V3%&?V3%U@$!OK=SLiUi);*wY!#`K6FEJ{?_qdFS~Z`TMM>dwfy&U|Cvp#o}a(- zuC;H!`rZ>q-ZSUXna%s+mu^~{2v3=C)UpSb`>$A|jl6aKl0{pO-}$*PedEwSoWA{= z1vk%?7X0g_&0E)HpBQ_ea&_UBSvN^1H$wVfHr{^C2dB+_{Bi5^+gGHYdSk~E$DeS{ z+W3X(zrFg^qy^Kbh3izcK6BXYdvDntTC>7KzauQI2QQnmTaX<8%6sc@J!H zuf1y7%g?=V_O-9f*!hq1{_*$6CZ2b7bIYm|Mo-yx{-E8KbqF;npI`sa9o1ZY@T}8b z-HbeMU%BodnM=-`CvH1wV?EW_xMYVmMH%+NmLY$?_~d8bny?UmUVCTmjg>Y3s6G7U zH5t=_(#o60PQG^3>ywvHnX{0ZGs}ANTMKqa&%Ji-DQ8#B)?fTAVE@a7^jg1p{nlN7TdJ)2Tup{g z_~fmL9PE;imW3k9^L&bJppH-TGmE$HH%B`maC#Cx`_pck zcK*EWdkxsyTK=2ex4bj!>G5Os8m2OTZq1vwWZwLq|J!HWJO7>;^XAQ)dp|`bc7rSN zzBON7h`he%lr?K!Y5vuD;^b}32W#?aCID6*! zjTZIR+cNjenW^7Eem3W2vN{W;XHWh5iECee*K_lm{H%{2dH#*n=U=^a*0dv+UHI28 zzWU^TeB16J-?+}&`PI#rj(z_Ge9Y3fu77lCviSNVrQI`cn6j`jb?j?P^GiyTmzK67 zQ%)GO-u)c<;uQ0cAwv*k>=z?P8c&|ZTy^#A1&hzN|M9XKK26f?nhGL$&){LV&P`x zgImhqELr!}*xRT13p-c;Y2jB^&t=Q3d(hBZ7oKP6|J1~@TG!q=**@`}cP|>0Tfd$f zwh7X2ZLqf)7locar8ep7*S>oA&CR!7`S32N5t~6%%l*8}U&z=493rjy6 zsa=|WZ|myjsDFNa_ICTqt=lqRE}y&f)U{826#D3^36E6gtloUlwqN`#0RGE`pl9y* z!=Jvn>HSxZ`t9abGfyF}`4=~3(K}OTUwhN*TX!z@JU{)bflKEv|HG-HR=!{VG-Oxe z?|i)D&f`iCJ-h4n<>={W?|x?PTf1d-*QXWs%1<{>p8NL9RQBCXzcQQ&sw)C&?JFZE zj2t=f`XQfORe0m259Xb->6zt=H?MltU1G;Dl}qC@n|Br88aH|6+ER6FbgyC2vKzL% zO`ZSlFON%}fAVVT{ip7%&$=o+a{guaEZI1BTK3bA?ifF}wAV1Fb>X_xPhP#Yb>kba zZ00}y?6Jw}H)F}q9*J!JvQHiQ^M84X{w&!?FW;d&oF2Dx>m56{kD0RUzSo~WZQ%`T zLsadPOW!#8q}NYdIH^_NlbSqwbbj;;sj0bV7o92yyOC3ryB{_S7p_l#I`*z98<2-a zE#btA8&7aMO4Az?cCCAG#q-8(#jkI66C2*Y<;v?;O-RVlSOO=89Hhce6R@@kxU>FZ+G-!FhX9OMa=`n4p^d*)bayT)s-4%HI2G-K~l1 z&&f3uK2(>4}%sY~v^<6WzK&6vn?n|QPJt@9om_UN$nriVsO z&Ci>fpFbvZ$8_^x^9R2-U051Fc2#r3;*sJK>w>MTOQ$4-U3BB~{GIwlThM`MZ z;jvHt>5XBtW?Y)O>G1nss)vV;yw!5+eY>vue9i>+BId3;K5ERZy>^s*`!m)Hhm5-L zf^{=jF8&z5>6JIa)vbvwZ)^CUu33HRq|-c)?lp{R+`8?Rt7gx8qWQ8VZ8_kIev^q(81tSt&+ zaf0jCUDsW7=QD3#jMuJO`f_&7i;>6}%F}?>dY0Y{e_WZrRv9(G`rHZ9jQ3ujef7gn z$IVgyRd=lIfAP56DmV9gv3~uRgdWX4@yMO8Y^(1%lf3f@=&1?Z?>@TajUgK>H$K1S zwf|;a{#o*_zI%80zHLiKZF>CKdso@C`A;Q>UiRfj=e(p|_wf3c@?W3v(x|zqTR&a7 zc)~aLUiQ?s4fDUc{|dO%-&kxYv^-${nEQ<{t`LPW^oG`^Xa;@4WHFXC|fI z7&2th;z_Gov);UY!=kI^zPetV`tgjruWni#H*fjyBKhS{rq18BX~z?R>Nle=`QY#C zxBlai&t{L8X-T=MUoSKd47w54-@7WMlt7BXz%j#1p6u`8-aC=j$`@PU*(YrOE!HqWBbh89!OqYYHgms zHU84FSNhF3bIXc#=-ZR0UHjRbvCmCh>Dj(~-b0opSM4>J3x!!v5B_B3X%~I|#KLVC z#_`z7laA!yc=x_*uRs6NSN9rb*gwAZ@y*w6Kl;IwuKW1k+n#-T-t!OKCM|fM{L7}~ zP|r0pr{tH8D?T0%Q^^OGH-y|{gQ+$0jbZia#B-~g)-UD;7v9a?|HS)qUj0m*mHqVM z*O5un?jG0ww1t;HR~)lGecH}VqdwZaVZvuCc3y{!<2G-zZmJb$&3^q~+3lZx@%YSJ zZryWY1UdcjTc%Du@|m+)_YXS0)Ey|VU-F!omdx+gK-5LUJ+XHif!SY552zd5x~~|fqKvC zttZ*%Uv1SV4h_E_zHgD`>A_z($5MlzMebi03ay`#c*jjmA*X!)(d6r{#@0Xd)|@fC zvU1N8pESRLW-YHR{r4RYzbxG|XZxbnm#Y^(@#RH(4W~4|zW>Y8h9hs?bqBdpzhl-3 zmp%Q+u<_4L%GMX&{+rg=jZ@#6k)Qwc7o%2Rbi&v*$-&jUJ8$Yc;&Vg8UoPH$-SjP6?^t-+s&_95 z)-Ckp7e-%v)26qUH7^-Qk3aK+{F#3rvwYi~+iYk z@zI-t>t6lGihnG);DUvhKE0zBUY#snFlXe9*(}S*r6sFpe>sxfGh@Zde!JdYK6Ka3 z$2|vBe#JAZuDTB1bpG7a<4a!Oxudvi=htg4QOb*M*<4+~N{gmFyWqa~;9qW}+%Nc^ zopZ~_*)90BkL{RpYH`iePkeUQZW(>$;?WOZoAAE+)szLFtbB3ldy{V4ecIRurdmGV zroq}|IN-*UyC4NGV2?zL?P{(5*~`j*67(&w))dG5m5wuQ6T=yQIi;TMjMTB3vu6Y`c`ApfR07n(FTpUfpG!colermoi{O2gov#s7(ua$h=ORF zsKfwTMNmXE?jqubxML2T_y0fF`SzYO=X{%aF8v_#a9z)H`TXwt{w=p{Ilz?jPh|zd z3HKpWug7#)at<^7n3-M<>6tdN)@wKe9dMbl&iQFRw<_!*WlCWWMOf=ukVu2ImyZms zsu>j}4+Ewdm?;rzQBNP@@afyOx4e6w%?b37Td#I!C->K>w_c1O*x<&FWI?jB=wSY7 zz=vgzIye-@ugGhECs@`Si}&sIV2>L0MCFC}xqs7OxZ|DWWe-yD9#y^oEzoubc+5VFVYt29@pco--rb-y6U()37MUMCorTD zYM*Z+yI^_%T$LjqoH2q@9l80cb; zWY4aam$AOiZZktwMsb+m{D1K0{crpcKbuB}0sIV<>!ySr=H5{$p6oryhbOfv!BB1# zDZ9YPB>KZm0*7=GJ+@cir{BF^y;*oTb+&~@t_nbSRt4Pm6N~lAbALWHLz!G_&#|!` zsP(XnXcsR`@_!kA#fFwXjU?*(YB>P5&p)fmE+{kLAG^`{9`hD%_#TVaYl9_rpbNHw z@8wKedMI83xF$_$2ncegEl>2%MZVm1Zs>GI=6Zx!*uoWEcbw-6s>FRzuz~Z4FEDB1 zp{{=B6kUvSV#9{NQWz*~OWlhjCPd!%kd~MUxMgc`^Sj%`N# zAunT|1}OdQ%hkZDCb@f&a8=nb%K{2Uh9n2`xv38#(XsgYfg)e%-)~sfRis?5%lztD zK(N()zQv#Za5?9TRa|EcwG;_cywe$4|4W?NRH|&q_ci-ooLOOUMh@=sadTuKxRXqT zLJB@5#L+6@tnMvEeD(m<@0R7vFZ+lG+NVxxTu!V%q`ugpz*+gu<-kQDdmklr-a|6m z*byGe=oe?Cdngh0;_2>h(k{NBP^UuB&Ob3T1Z*s7ntEoupEfYr&kj!Pf@U&g`da$lJdx;ko$d6VtFe-x)g4RDgoO_aO~26hn~ zxQ6&7oD-*})M=$9SX}~5rseeXz=2v)TCBH3jBDjM^Q8bZ9gqQrXE{UUDzWWT!re>+ zR`r7WMsdTLS`&q@H?^=_pBz}!GsRv!4)`j@-OLuMXKHeVkjRM+89m&Afq|?9Py2T| zRK?cPVL*fCHgXzf7{aPrXWD^3!@L>rOpm;{lAB}gss>Sn z;Vc`AuLy3J5!9?*+WxpNZP(q1VIQnrN{1Fwwdl)4cin zyP9eV3&A@-vX%uo6K7FK>HL7|EQ%*!ulmA5$ych&0bSSs^!uC;RA`r0w|gStB(nag z+ci%y(u(USb`i89?KDtar{#4mEY3_wt`SizNl7yS_Q@|wL{rb~-A;PbQjloMSl{>x zd7XPTIW5=SUE~05UJTw4(a9EFlmtPYdh*cMaheIr$O#AbQiVAL-0Gb2C{Q`CluFMG zKhGY15ic(ZJBc}!Ji32^>`7T_+Ejf3=X7k0C+9Sx1U*i#ljqk_e$(?tz28w6f}rPQ zT~LFcXi;4Vgu$AGplJDM9n8+)XRVTRje{#1u3!qKM-x1hlZs z`ODIoe{5jh>73=Tde&sR{Zq)j|FrD?ItGjz^3T50*|L16Gu-=5$G6Kns9>SM`xy81 zold9eI~~Y79l<-D{mHl0g_>nc-H@Skba?E8 z@*IA8()pD<@bY4n8{^CTfos<07H2g3y%8O-Iy``2JNEKB#+csXklJMBr^b$o+ zA(wy>Wn_m{Vuq|F$?tUjsF57g*Oe0IzQAU%xFVJ7oRtmRrF(!oe(5q$IZ16ICbIBq z5!mI*ex?10@0)}!R41jFm6cTYf}+)8B8NaB^Q`0^3;VJykIO2XiFA3|&}rYQuu6#( zIdT&h+c|I<`}bnH{ssuF*B>3Q)(Q$t3`w^9FCAS#pp%ofDH->L{BvXv;tQcp5HC0- zvAjaxha39D!os=DcZ%7T&WvjIVE(*ps^^jv;50I+W&Xw61lr<~l)h9ycf;V2P@fdH z{HlS6vJa_%kLB2UNXCoMme9xxmoeu6FuF)NNRe7{k zv3Z4S=c%TXvF+h+iv}${{;ovzpA-4dd7IYL)aV1asBHc8i|s(LcQ&;;b00G=Kg{;B zf8iJ=M}^PzGLs7uf%pfhLJeY+kwJ$n2^VYoJ0^Ewrd}h-*Iz}qjw^p^-F0tT^CI=y z&Gh#Tk1tH{U%p{DIQH{%n-bSUIjA@bcVQ4WGzTL??)Hm8U^*)%*}Xdpu-JAT&a&fr zkS#2<(pYRyf7QSK6#aXj`8!%K{xrez4~#BY;(le@!S`OeV$X^jz9g5l1(C6*FbG-_ z;9sFTifD;G^R%T=+1!bEJo8S+dO5$h187pY4sbK)4yv8%m1#KQNBr$`t5lgO{ix3m z0KWYp#awx)ryFDi;va<+{=n`ma9F%#m|F5WvwXwFm)T!PE^V@Ycy5}ZKa$pz%ui~c z>K}f|hOy$u5|c)G!SoHQvYYC{;-Y9t3TQ}N zx2skiql)X`4{knFoZp6+P%5MMd)D^057@WWCPj)eyB1!a#{Vit8BexJ;^{tA!5=-X?i8|M=9p!ddBOId6c9?vp#j&Gb*kw?wtr z^*hUp*J13Uv}2LOxsfuEJJPh#mJrt5QL*1FQ{KR7;GM zr#tg^!-r1nd7WG*QMhc&Yl&GvkXZpU0W4kogDSJ3q z$(KiGhaUtY`d($gVz+S8*xg&~(bb*FsleKsd0l{j^MoVI(ty~}nBuuR$^YKC@h@Nf z>4HPeK=FP(SFwEzPv5fIOF2mM0uYZn22W5JUsMrqFtZKLGjuvGKQ#2EmBGZ`E{}@&d;&+WV-3 zQcVVu=tsz7)7dW~ETzw=ed?nS{ALWko^u3VHSg5?$VM1}+sc?1N-CfyR&2_8a03s9 z9>+AJ17U9NxdaLunxC94XTk=HX;QZCA~Jz-SaV5uY20wOW_l=U7zsP&r?!Wz2n}wt zho8@vD?8rl*c&0(cd&gOsgt!(SnE2{m33UY>Y8HJ>nJ@*+1N%(=@t2u<`G}cjdhC6 zH_2oruNBNj=YB$cf|etmp-C0DM2?e$2!{pUoBSe~_h-An#!;`Z(ZgpqJZSswT}M?z z2gl6h61Mpr;eNC?hI0io-bJr!|Al*UCyifB;RLJvaHzZV6p>eAOKP2J;-!FC0fmO7 z2|^`KQ+NuS(U%oR7^)zPf{*g}!U30n+|=E#bD*mykK{F9BWxdTI;HP5YgG|~;Gx&n zVs(wm7J>aj*qeS7=+eey-ISyrrSE0kxHq?!(dr|3QA|%Nai%-zIZcxbk6~2D@${w$ zN@qDO8Y)DGYXu9McfV1LlqdD)@>vZH?hQAa57tx(^BakaIpPInjjCTzCL^}uohg<_e+Mf03kFYdt7Eb6DPL2#Q-ZVPi%9~ z*JvuVFIxOGfk@!oRj3fAU>PUxVpCBuGLYAvIliu-Wg#J;kWOKs+XZ|T3hE;WX$9J{ zs9m}SHY1?1)plTg+hNSOU*$%>5vR4sW3E+l_Q#Cci1|T~SNP23nLXR02315yOwVLL zVy(|%8Nw8$Fecb}7Q9m_lp&_e-Q93L`@)1ze0h3~R|0eu{6mq_kC7J@6|LhZ7J_5{<)`o8`NZD|IU8#yRL&)5 znoCX1L+bD^Z)#{IcMu!W{z+;7-~eNPDq-`D)*);`K?Ul8U*j%bEy5X}ssDlgBH=_| z=q%HVKs*-WTr)K(&)^DoZ(($X^pQjr;YoWoFfnh0*;*KVaF?CM^SJYRyK~rHJpOGh zJhA1X#w3ZLA)EHmWX zo5b|kkGW%7$cdII|0!W+)3(34--bhYp;v;jcg7PHlW?Oj|$OFNxQ>v9Gy|A4VQyP5bFs zzb8()S5!->y(J|Nyaz`d^or8YP^h$|E*HyRz#%tASH0E>go8saIY`;84?4har>8!W zm8k*NWlBue_9SiIbZ4d1DT&>cU(Ifj+V?FXRwxUX3QX)GNqz(H-QnMhz1Rg87d78I zIlqvsA}5$$c9E~?zJ)XktFA~tLY5%pmPnq279X^7rM!FDYt zI;Z|LdqnM=*t3sd|1`3cwY_7MSr@Ok@hZaQN*yW$HB&J!p@^X@3%G33orm>n5yhia z->_vhyF*e$4-o%sm*Ybn7~+QdwN25E_g^lWV>7^usyl`dzFjweQnf z{O(1R%p!`pAI|FyS?(6isSc}djiO#AC1k{3gRlS*yMdlH*x*N~b6krFt%q)r?N9Qm-vS$2O zFg?`Z{T3@elfn#{o|n3n(f+Zh4+*%IZVFk( zW-Ct(NE0kr6zW{;LZU*^H6A0aZTv=1E$gko3%J8rHy8%s!tbHbdOApMo&gF<8}l7@|OJx46|`@3H)Xo zzN8BAW#d(~Pk`|>j4Sj`R<2nBzML4ca+vaUM_SDG!SY6gV{LN!MlmN>V=m0EYfFDi zw6qzJZh?G9U_EL!)tfZqaK_`oN=erx#C+Ul)0ACK6B8WbeKyfno^_g<5kXN7vDWxh zeAq*j)wXc+I<+^OMv4G9jLfZO8#EYl{t!V+^@t^zmWyQcDbZ5-tE#&?aYN6{^-Ht&C)LVgX~jD6_QOm**Hal=RbP z+gz{ybmT*4*(D1ryD#i)ChVWOm)Oy5QcCLJF+G+^b49B!`vE?G{asiGM_$yBW|Q=H zolk^oxF$RBOYaZ4IS=-yqx+P?O~7s-%%$tbqw-eg57X?Wj7G#jUEJXyBlO?sgHZv;-==al_xBoGu{0ne*=EX*hhv~r&>n8s7 zF4i!*XsfJz@07>;nyKXOWRjOpimi;>3s(|5)*bKW8*2sFxjCTBnL*@nvU5#8cGKr>L%?Xrou!>2dR!ge$&u;(;Vf3*o)Q>18+)JV)9C|T&shv8#&C0U-@z;(1 z$Vqn@uBHBBSAu# zzRy2-=Bs21;#q$nU=$vywrHPwyBs$-T@Qujk^1Yd+^@<0?1pG~G5*jZw>KqJZaN$H zizDw+LySo%%`GjTTYqh&sP5|Z6t7}IV^LjZ?L-Vd9L}!L+;<`G?YME;G!ea*v;WzSUQrQY1CM!VaGsyW8CJ^O-k*Vy9W-MT8!9>2|G zhKka5Qok3MbZh8rTwG&`L3%tBH@JD%ThG@KftcXeO;aDPP^+1KH-BN~9}8!f6`(B6 z6~#qkXz$sG;)j|S<&$gpU1Ub!>Uxm~FmQ%J#+T>V7t#)j_EMM!a4lc4mgj^)bTOdS z6F{ZBc`dDxlVkLKnvJxIHv9_Tm1Z-NEh~pLy&M=&c%@yVQz`K5aourpkAKCFq9d8N zQ%}|r-J3C@EJ|G18TVZ!X)}r<$(AL?W2x8cdW7yJC7V<7^oVZESJq%Ht5U(`2JabK zF>k003MW?V1aGKhK7{#_IDtXUl%zXKI8e66e4sFsK&qvV2B@2AEnTH1fSu9EhQF=U z1du@|E&3z4ts7ErhLJfd!K=I_q5FsT;;g6f1T*sDUZKwKBsHz;GtNp2#ZIrTM3g8x zU>L#dqWgNE$-=a(e#FFEVcHZ_`xO+?i=t*3)UoP{<;APT%#3i&jeC~0pB&M9Br>n9 zosH}~2dX05Kc(y$t8#d<10%)e<_gc@XFcw80tMKa@3FNZE*awmH_||!iT3NAB;=v> zgkoOcOYCy3G9v~l(SV0(goHt+ub1bJ@1$)=ht0AeSFZ>wI3AXlKC2) z*)}&zcqLjfU=5(gx+(SPJxiV$13xBrvpE- zWUbUb=eIfh3po1kd5SA%i6&Ov>>QoJmw4nwy$Z>WGlSbE1MK0E)y0k4rlblX)ieFN z+NKo0-iC$gnb?GF-N<#BWv|U7OXtsJ4ZLRNoYAc1>_8Eg7u7r$q-YjK6(noD$WSH3QTWXsr?XvXxIpg09u~+{DQ@#yX3~<9+b5#0>D{00)1L5 z*kCtEqd01Y)o%6d!U*pD-WSbEGIqRNnrFVpqtR@`kC}X|3RmfY^&ow#_=FW;S3v=f z%bC7M>&)IV@jIP{G%2Gztp+V5m z7kIov{F|H7!onC`C3*C^_fo&uUtTu+;TX1(5VAcsdnNVyJ#eViyG=7=1RR0u3 z+CRkZb@ediNJA(sH>jU>9B5>B;yQmE$gD}YQO~ZJq@_}5~n0f76Y)?IF~SZvYyi(bc-rAEqC@>N`HA1JTF zII0^A@4mdWPDs7~hHs%YUUY+fEv9ezjCg)k@p1CwlbQ1|#K0~S3Mf!3a@;5NTj=R& zJ0s}DCoM(Vd&nZk2fSQUDY8h$Yjx0Vq2oIp zVvJ%>+~GPAOeW;gH?0^Um2qa-AoW!LnA3zAejB#92;9j8C#>bTd;d*cb}sAga!=|g zDS~s9@WyPlFXzfa2dqyy<3t>H!zD3}vB-RCo||bRJ!w8DVn1`wHWxH)+|iKA-GxSS z9AWJ9drnm-5g3N*6N#n%O1CpkIQY`(>s+UVdm^cB+t;|39aQp6j z`G!+fIsshaxy#zP^GxWcEfU5HozmoJXWt+=vekM%M{!kQIHTd zWFmA{M@3&uP@Im~oUiFjDXD*a#LP)r--lgSU6*g>H9Lp)$k=wc%Ui~+4$fF#rp&8E zt4wPHC3OiD&wpBa^E+$LC-FgG%bc&_F|iw;>*<@tmt5+S>S;QZ2>XvGK;rI?2C zkWw=KX-y>5QHblrUFf}M`jQN^Eu!FxP~7xU)__;?jZ0%psO}oO!y}8^;Q^$}XCSky zl>=2Fx7_dhp}Rbgi&&4m4zabtqI3%Vvld|8shylvWp9#g!Jh2(R_m@)prK9tT{y;L zsyGqnqz`ExAkbpM*`~j+A37)VxdGnM?^m|GkUIuya^~!h0UaA>$q8qzU#Mxs(fQ-) zFH4`=mN5g`T(AOj#{EmeangnvyHnFUJK;W+&w!*L-q=S@#7)&@XQ3d}@u>d3S8PxY z<@K9}mNhqlUt=3cc&psZP1ccX_R!?|oKsJ?AVa|MKHVYRZy^lt!r|rvOOD&#U&GcH z)LN?SE;G|PsalTXD(GC>K%aLyb90=_PcM}`&e%Npnza-oy}o^2onKE>-eH+Kd zQ~fQ}!9mYKA3n_hH~>VC_+6<=E?PVs%g^OcFfMEg?#|>@9K^*eRiRQhzOLDvhX(Eg zXHhC;AYiHW^;PadP$b#Rd=M%SJzXOt;BiPpE9we91-`2BJ1gO3aF_OavN?I)joH)0 zwM2WCTeP-m=I8-GeSKoA82;}VD2nSbOOP>0?ZPN-S?tW%QlL+U0;5et=6n*#rtd&< zF4oc~)IVhtZIZ|4OX_RbmM@c{&u3(NMZMLrJ`Y zjx1nR0cyjWs}O^?JcFg$t^zi;jcs`l2Yb5{HSzCR(Js_x4@#3Y z5UEj?*x6YnY5Cf?d&AkQ8y1XM@ec#n7FG9Q#+w6M$?@bkwE(uiudUe`S#i0$aJxXi zn{3p0=!4sJtKoUcUrV+Zj~#j?!@EsiD7;L^VBSp;i~T?_)Ons=usx)xXQ#M6xVw$A ziW5erkTFbKFIW+ zF~H42Z&V?&k)e}eOg&(Pn_i096|$LKbQjQ5%={6COp9L@q|DZw3~F78(+AwJ9sfx5 z@Tlc5uHY3bZ{_5I44W~UgQ{fjW(z8b-qs{hi|~MJj~qDWWsmK!6D2qMATFU+ zFmL)6pB?IT3>b3ugf7fo0d;2-@XlMmfd)* z?6o=uUpM09`>{#Cg)3RxX7p_82E#cDZJz<%(OS72X%nFPX1}+%YQ_cl&L#fk&pK4N z<~U+EtyOEZ9US1Kn46lLEMijTXXr2&o0-;ZS{?) zAjVhlg$>uuUp?RWnA75?(4`a#6XOUZz5U+99xa*Su$npU6Yu`r$VGuz#{ooVmy>;?sB^(yX5@DZsVo`hUTLwEV30DuYjUK5D*yh zCo-rK-j;R;-|@PPZWBhI6~fuToI1X9e;gwAi!d*R`Z;Sll0Ppa6Az7Tz!*0umx% zGzoWRqsTk4;CtX2M$b}2TB$A8`Xq^bhLmRtyPK}Emr&0Y|M*iCaV6dH^T zgNPF;adCOHG&zwRCvO^dIfWjN&X~#N&p31-l7|_70`GwJy8pgEoporwt$Cc~le?v^ z=b5EA=6QD=#Xl?jK?^>y8;M@QSnCctjyBAr5>j*0QANUywv-U!1Dwwe!SRSyw;N^p zm6=tYY~nSy4lf6@@>&qSVm0Bbu#97nCvC=9*yF`0=LU>&LdIA~z(OtVIgXv7EIei+ z@#}=XyWbBTh0OTRV6l2F7bQc^OQM#dngLAjSv_o#uI`pyAlxn_$@|ly+U*JTR2`{R z|KMt^4d$ZV^XKDI%>}Z*^UxrU=5c#x{mFQCK?wbrF(%OM;B~-Eh5%B1Wqs%Lz5i5> z|2swGVw!rKYZ)+|WW>hI*=$eSHcmux&h=%f80gse7HRda2-az17JdS{mASNp%fLL!VpU z4=@|w*tFys_I?Ztx-%O|vw#n9qaXS{)#M!%D$YeQeIX_Qu_w&=^bKQQQm%`y_(VFN z3#_PHy$Gx?nU8Oacr+x~k^ns5IdcZ%86M`+{EfFmE)Ktj_15~e)}mFf*&weh9gyife=15Cg7+Ao*p@8vN_j)idJ zpz%aj^Efyt#1|R}W623gb*#7qEh|7V)57%&xz@g6o6up&`Q^8%C-!9~sR?q;LO@l|}K+jnz`BufhY1AHAy`v$GfdnGjZHo(zWTOWRZ1y6y;ldc|yk|%9@ zlP#e-AG~K_HPsEy8G-&;ha}@w(gHCe^#5%3>OxUobfFgYwYjC=48q!QuPy-K1&8PX zoXRRbEYhYk+HQB8y=C&Opmx8*qhQEEPD;HO*Zb>{$4R*5lcd(s*mVIblwSf!<4S=YTofVLi_4cqU|r+2}oHQ}#YiAuS&KB^Ayad?nV*?AgqMwx!^0VwMQ^9eEfE5scJMFi2Gp_y4J04QPxe{|OU zLE!M1ee=<^zO@b)zho6@<|Ckon6<9WOwhu%<#l;dGmKyIi8UJ`(LM9us^KwJ_fK28 zD(^E#0?%8Ic@)I7_b`*bE zeCoHf>uP!`CcJx!gW-OpzHmNk!p$(%0dU=Rm>^rrCF)B#aZ0^;eF)$hg9*Dcl2-x9 zK;b3VdOWKE(H8(P=Y@_WJ-wSn%X+7AyGCO01?IKRDr}2{J4lNk7*`d?Gh+jVu2-{+By&x*+%G&X)O3?~j+9o53NO8-IBtTnzE?0iVBAa)vm9+1UpND-j9E zz<{Wp@RrOB)va3f`}WQsJKQ)zHMGSja8G{8-n+Fta$D?!^T{z86upT< zD7##EK}*>=pZg~&c5QWiu+ORscbmU@k{+2-ndWcI9GFRkP4hly_E9W`F!ZZSwi`B3 zFf@$4fUh^dxF*z16TPO1-sD~-$NW-Z5{b7{%~f~o&wp}=^sm2J=^$@m@kdzjgf(S( zs)uFC?L5lCw{bC$lE(Gj2Rq;CI)+m#w}`<_alT&eU`?$lg_>EdpViQeo{MZfCp5+M zLzH_v9E`FuQQ5MDBLgW|kM(K=TS>N~;sgh460f}oRzYPx_P8GU zIu&k~GV-8+SM$JO)U51#x*5^KHg8a2Y}K1M#Rq}VMMXLL=<{fUgP&xEemrH_=0-cr z&vz{K7-n!QEkfd<)sT~O;07TXUS1eBJ4p6=fpGEe9z&?>XZ5QnDXf>AP!c5EFU8Yy z3=_c4P5tMD)d(}&5r>6skQ(A#btaGLYqxAO9jX=NA$#V_sB24kY<-OMC zr*41y1V_9_EXrO2Mw!H2p0uA^gfE0?`MK+W4JnyrtsPjd7UJ>vaNasMBRZBJtrv=) z)#6*#T+j9SYUX9Sp0;nXaPI5d#3wJ89Zt`Oa;P;-Yi?KdR5LOtu>m(LX))lM4H99g zd+m2d;7!Ju9Uj!#q3mJqCae9K&(@+xeX`Tw6ly7LdNmD10`oecad)N^DSBu4Q_QBZ+iFEh zbmJ?^;+s^!mEGYo=u}HH_NsQFCnc*nm}*D2?;mzz-@jY9c&XNN)$3M>$jPBmB#T(i z$dkrAX?+O{n{le4>IuAWg+H|YW3Co-7f&{asqnqx>el^@(HZq_1pOz%Y$6XVFbCw zM!oGvSm3r*BjxSYYHZfs2nXGsOut->k<=Y&Q6GY>I?Y)2H18=$h&@v!6u;*f82#tz z#b~ydMN^(HHB|h9L~_ixw3`O=#tt~|bUvEeIkc2)++H#Gx@)7F6ufp2*X!v1i3y3@ z8~7+LD}ugAIR2HR+_nCDmYJpA9cZAjr;6UI589D0;mKC@EfQT*NRmeH3szMobN+`N z%@`XyS9SWQ9R>Hg6%8H18DOpTWyM^53aj*T(u!sK8Iv!2wUOtrA~w)rcGUCy^_|mB zGqcfXy7VTlemRCGZ+4n_JCjG3-l|`zeKHnV)plv-b1=WuGs&~$qe23CiHw3)`<@dn zRd>)fZ{ zK+{CH?$mRK>x9j3{VA**uVCwEfHo#$lf!vkto8DK zWUELeFFMO9%3y5A`pk#`SL6WhEz>Sssqr548TM<$Mf^jfS|rW8CaNp__ymO_u`I$iN-qPHmSuJeu%>|vA%745V2s9K4z5)%xt z6Q$4jg!LNG`lA3rP_MLwR}VZ3zMf#YZSDH+F=+BUd+J=F7|yMf6h5Cy=<#Is+ZE2Y zCD<6R8~#vWB$2f&_85DPZJpdU@ygd=tp*k@PNful=iD6i>YdK3-i@p*R>&p897_d` zI{7xc>IiF;mhp6EuwtcWVzY?Zv-Bqw=~t|M$DVaL;?>^8(nM>94>JF>+o8vk8JrUl z!z8S3tDUB4wa1ZB`|U?pwQ)g{D5P_;_nZ`PX+LxQF6@gsbX1kY;gq2SG50+AM8;rB z!gt-LFE<1Hh@Td-#WyaO!%KYrfBxxfwG-THJ|p@e+GOVWCl=b`>GPRS|JVQAy3%Zv zBQnc=asRKsyU8rI)zfAdbpBX%g}mqh4x9xJXY?JBfqi|WiLT-Ev*V7?S;yf3>MH(_ zY^2*^{lR}-J-n)g=POVbQcL>}#Ni$8;>jQ4iNjx76dhXbUN&+q>K5)iF49$LqO0}; zt`LV!Bh7hMeoX;Ax;Kq0r1`(A5bQq54X4E|^0|~{PGc`Z3BPvjQgN@oc55&SI?d0AU7`nye!1)<(AI$OeC)1)t^@VA&MbdJM|3bHr&Werp@$1BD8p zw5sHAYBMkNBq#mcNa7gO*xDKC^iD_4>SgFgroV){^kGv9XN_EZoHb5VQT%qnk7`p! za>(f^yABtr-T}5RrLZZv@OzZka{PZl`hUFx_xrRhsZSsGX3cmW^PB4jU0#!}%);h1$^C;(uM`vS$UViz6?(Q?!v&{>)Uv^{#NO z%{aO>5t3Zb@ki7-52r>ON}FGA$L6{>Ja?(HIm<*$4ZXYc0dY~VTXTdZsaa; zmySkMcK$8?x0m}=(UC4)+BiM4OZVZ+1B?o%4R|G4tXmi$2Stn1^re01n&aMyGd1R% zmI8~|ML|a6+%u|e1}hAvu%P@Y<}Kl`Xw-9|ohm+kf!onuv=^6yBuIf1l@WJ)qc|_e zAW24qRE{B_6*VOcMj2yWhnAFYs0zb2yLrh(!n*Id;V0QRth0N1FXjrF(IqBHF{L?GSb-Umw9;`Qu%DBJ@qRRU3{+X7`|M@(M495!12ER* z_Zr2R(DyjUE!%1;Fv`gZ3fQ`ioQFVl#c)zju#EEs7%Oe&Y^kB+axe6+PJxTV=zSDk zYA6j=7E6|jF|tL;pc;8}L4J?pUG#eXNh$$@4rgSa@H!&zg_Km4r3{0ik*~*+6oQcv z?aE=e-Bj;A7jmQA$@fe4%^yV}gNv&4j+iCcwmtEOYzR%Pae2AlF2#JTEGj=jHZztT zkfHP;&8hS}9~kegCoY7y)mThz2x+f#U0=6Ai43;3)@8j<$O3|G27xB){Z7v-J8(_0 z94EhklzzX$a`PWN>_J$zywlOft&$4-d8j1s)6>y5LYFYe&#KoyS}@W=g$TRb6!^(qWO8EcNR3S+9*L z5$`Aq{Cj5=snO-DYfZ_7G&WkcJc7yOB?q~e;l+S!du9s}+0)if1 z)tXBl|Lx(2V7-xB&70x>oWrOWEv^*mSUZoW!Q)FVzSY@xP-ZnBhsQJrYkFQQ{CX9N zfDJmFRk8Re(uD-c41gO{nw zD;6pZ;Gp2|lR#O%$qk{$S=e_d)Z%h%SU;Dc>y^mP?qvFa`U1X!Cn_A)3b(>}_Jg@G zZPpnA^GQx6?9o0qPD)NV{oR(G+k^g$Q1{3yMGY6Hz(+DO>o>fvz3ns<$Ok0gRm_g> zJNiJ@3bENpFG8fjEdBcv$-JH7Rs$XU{ggARP%8DjgB~%lEn1L05cy>O%tI}YgYvik zLYT47TWOjW&C2eyJ6gmZ$&E>Ek2c8@8=fbuy7n7KY zxQp8kckLFWTf2b|KyKxnd%QdXzO2F|Oxu~y>u=_A$606XlD%$B?4{r?%eFdZlKW#= z;*OMP8 z%_4=Ki5wTp9sjrwlIXHA)qSna+}fn1CjU53`fw*i*SNs(C`OrczNNHtZrw9y+CRDA z%mMSksd16RM}2kAxR+N;zbfeyeN9->4r>4OeR)|}Dsks4t()gREW#5edv`R#b%bf_ z4Le+Cd&TS>0V>j=4cTkrQ5VCMH67g% z9TO`RS-u&uA;0X`UJ|HaT@_V*w(A)?h^Ve}S#c)~_9=|{{a_^62^8`3tC#f~pd2$Z zr?gn6g``c2*cJo7;%EAJ3jCR8Xt~0MSLG)TH~|vTAz>-ZSyE&eaG-lq>*&rT)y7I>B(Q|NAN` zI`i*eGU&GcPKPgc14E{nMd49vy}12_{~xFASP z#$4D+n+gH(cL+`J!1SgJQbk&|LQmL2AIUh$Rgth^Mjp$1A^pl7kg1;M5_?VZKR@Hg z{O;%T8s}D((}zm#xBUb+AoXtfC%+!9;Ld9vVFN2&fUKB-GdAK^if7*^-Bt%0oBfH0 z+8g)D)EgwYv>7oDDsnzAFrX|^exlQazItBy#-+tq*jgH7v$*9r?9g4EJV%iFkGDKy zbsl#=m)JD_@NW+!|LYAn6}nfzn9SeY^lCXZwIKVMS(C13e<}eNS6W&Y%zIzsvPDmp zbir75YO*yWt%y?VMPvxITQl`&6t8ke1R!(6tto(?8@lL zeQSi=3d!{`%Z$8>*b-(%MNN}fINYgeq_8lN!6LSE|m%z~CWKo<&^Cs}noX zxjsS2UwDb`H>d#}6DrA&%YMoxbl57eeB46kU#LhCxMRTr<&JL_K2&lAAoB$8_fOOWv7`>3xeEg5F! zrNpDhTAn||#YzCn*XAwCB@ja0N8_nc0n9L>tHjuvR7u+*_w>9$w8;Js_TDtAsWj{R zrrU0?~F z-rkK7-JqkfL8-PrV4S#aVw;;)cf8GjP*gFpu9SFY1`xNp6|DNbY^|yuNT63(Y*3}-dV~3-&&)-sfARJm%=|%{6=AC+O#3-k4Ntpx1NdIhQ<&#p zkU0IA#ytGEb*?t98VCSyuY99`CuEyBW+KzG&A+)Srkahlljbs+hMRN>HTb~Ru9Je! z5`H~|eKAn@!Fl?Hn%&T@`s-XJ?pT%VaC!IEq;&ol$=FHo*T1Yr9qh_nr+q|Attuj=*zU(T*yWAi7JYzy>B{{p!lq51tUo81{vcs$HSJC< zqaFd-Nb0-YM@NH1z=}s&{$TWKXa48^&RQnALfMHB(-r2^%@qRBR@i{J7V=YV98AY2 zHZ~IJGVA0**8g}b|8c;dz32tBi=;Bb0+lvjjItSo0+p0OodniS@|hK%}7(WS9e%g zg@XXzY~S@V-Eb!;vsSetyiOL<(%ppc%T|ks2+Axnm&@aacQpEzgO@5I*^(^UdHa8C zsQREHqeXo&oQL~4i!2N97Po0pX|{>76dr~ZI9(kF1pfpqk7N-Sf!4c`GE44K_7A^Y zst3)6L;GKt`H@)Q`1p67T`vZHqAU!5Eb%Fc+-FQ z6rdDoz8}71xg;tz-FQCy6%4jv@=eCBz>i`*DU_=j9Qbu74-;1#fXS~E)=QboVBbP; z&EBn~{N(!WJF_7X3C8O}8G0(;76MPQUF;9P=Ve))c_)aZ{k&!M?|=yY5DNeVf>4HK z=`4T>2WBu^<;4~47m9c|{7kl(38sj9|776$w6OmufSONSIVisG9no| zQ^`kMGC@Dpp1%wH+xN9o`jw@JV)iqwE7RViC%AEq%y9FRBaT1ESxDJYV0dSPrcZo* zEUKzOZM|m66*cCUJxjkPzm(h;*c>eWf=A+69Iu_)Rpq9}F=EYc@b;lwiMg}zhI<{@ zRSiTdEyCP4ybBLYi}3JC)e1Fp?gu*XPYMVNekXX&kJ0h zY`3GoV4}O4lY)n~uL5w8wUs@I$C{P-l1C+V*|*Y3k6QTPtm;htI=3l5FN1MmsHEyi zP}9mh5f8}WZK|9!FNG7FWhd-kvZ#4-RwTf3!*DRk?8)|FquN+XgD8%j^uwvV)sb?h zV^{7Sj5%|G8o411Rh9a_7X62Ou&xNNjpwn)XRbGv6mY2Qzv#@zzbKe zQS;2NT4D<(F(PD2d=aQ_#C?)`V`}ra%|6Y`4*@5ivaC^^7_Z7lxY$z7V1YDpCs{b0 z7coyc*%VPR80jyE+9~F1&h4Vb)ekLh^?z_;n+i9qy@-GCUjOHZ!I85~ZZZL;*BX-= z)fySKDf*=FPmkN*SaU6uXQYDiAU(p-HXgOyL+D zK0m&mmDUk1Nxb*6?gL?QdGWgOjA83Gm8`xWV-fC=g8rm%Hb3+V&c(T?r%3Z;6^&c7 zg9rx_@H0Ch+p>H7WWFv5 z3#Pu5ffI{zi4iEmBuiMiNMb!Z*QCil-$T~5sh_dfMj5YW6~m2sZFOSRDUQO1q)Y0V zVe~;*6k|NM{d^}uLZnT{+(8PfoU&u5qh@IAq5Mn4Rmr4nOjNW~6H^;#Jd5oWui0dT zzhLRIYE#a%KZ&2*(rd8=`X`2_vs%U{xI|8lu;}AQv~YLOYcT5TOCx)PVBnGSNdXdK zH0#;P_Kkild6eaX2y2aRC+8Q7)$fieoiCMSm32yNkK~Prf9=KewTQA^+hS+StHN3m_Rb2JX5D4phSvl`s5T&@yxyV^NvxyS})qL%hxtjRFl z_BFgNmW1`8+2J4Oy#`49qbo}c36_k-rTT8Y_;x=FHSa#7zvY!ot*)b z>@JgL5=(wlcknP_RmB&FhXBv0frWN}0ufY1fMXK*qvcA21SB5FKKpJX%XLl{ubQhA z(4dEMY|p2wwr&LuT&0*pJ+@8X_bs*Ie{bzm0Ul&u6d!IvaUokE@V_N>qhEoc0NZY> zUh{{v)mI!vFj&N;*x!%m(O8Z{vi1kI+Eq2`=X~~<+j`M^(|w+v5pfcV5NEdN@1kbc z>G(HVJX?0q>jpfd;v`wUAF~XpwCuPw`~u;}nfgtdDRTsTDO*L@EtEur7T4pcv@52D zBQz2)$^?ucRz2UuKUf`}>BQ8k>&|86=AWpJ4K*t4k9K-LQdqwd8@Z!=T>zw`H>P-B z$84g}SC#{;R6J|#ziNAzH97=U-q#sMvESXh5ZR%>T{yjI#-0mLuI4)ZV-2EK9)sc@#A=dww#*(W4apYJy>z ze{tS4E8NnB`R+}vhgbOvwjeCr*y(=qPS7f);p-70GQubI46Dd|r!elfb;LQ*NHXW- zq969XFxrV1eenATw|*tT7vb_4X!49Y&jckaj%(#}-UMd+(wTDPXSt?H)w-)0yj$L| zrHz&&9#?IDH91G9zQ{CcjJWl!Bv`sOkr`E&VBGUR2gW~+IH8Q|SgeGXE(HRVfs=-J z>2XmeG0){@j#o!`&qUOw83HMYN-%Uy%S|!y?^EU~PmC24P$+S-mGO(``*x|eoN)xh zS}#2ro|T5HE$Ia>nC2@(or;(~kUo3d=zB2VT36?O^-*+5PnDiw`J-1of(b?l|2X_iH zgh|$k-NtCH3C}j%x2NA(F})gYh;)xDS5-noo^?z}LRrhecxBHkyxBu7JgHs!eYl~6Nohdd_AHnw@j z+-;lH4>N_h2^I@zXG@{K_A0X^y7rdKIJKD6TbmcxX1l1(_M6%|pA`gVnmaYkI7NA z&s*NRGmG93yoeD-Zw&{ow`+P*o}lJd9!F!Br~5lDhZJUEcFE62$44cwGw1UW+2!ja z)UvD#>dCgeQ9IaN0mTUMu-b*(f^+f$a2W`~GGIuJDN@?x`pP)_ja_-~=gd{%UA;1|X^i9vf zYE^EWZok~ZP|yO_az9k@S|bOtk?=>Gb}X9YH?fI7%r z`YeaL0BG=BVXO&*Vpd2o4c%ryeOW-$TPVoY2k!d8;`m!HO);G}P0_}&Xmubc5~t$gN| z;tjPd1seI88{eph1ahZ?8^35hWey~6L|5e z(ZPnrZw}FqcQsJk$wvhOtj$ToK6S*&^&cvy&)IS`MV@=tt759&^Jl&BYlH4~a9X7= zIc9@chZ`gF93v(jBa}2RSN5s-Oc#D&fZb8;vFEdWi~-DGa4%bYZ`QVaXj+g{*(F@{ zWaBDRFA64suAVzEqfqDE|FIu2_iO>>uXV?wq$q1KGnq`rX$&X zvg)Rhkb1HBvBVUJLIn?(q*+*PZGH9JKORp1!5PqS9Mk-;kk~J55_~nps|XVgTu;>y z`ZCRX$iE<=zLIqoRLOTzFiY!kG}~WTrHiQ7U?5OsdB2eM?rLf3m(w=(ss8UJwkB#G zzavUIe{7B&jvHrLy2O3CNK6=+dX^f|x+P38?YK;rFujc)I@bn1z+Ln32WGb2=?*Zh zSSf8Mp;AOer9B11z&ukW8;pF3n>5+1p9HzEk}kh8AB8CGRl}yLUj#NQi3+xEyPz( zH$KYo|JXM91j`&6ibajG3h6?7H2O3*Mi7ZXx{|YT&qAXjr(qB?N6-whs1Vn5mSW?; zuYNl-%a_C`x6`_w04ZZf+7h`;>_tjE4>6Bkp`fK8NV8GQb*uX&hvD<49ak4f%7N&5 zgRqPUC?yoo8Td-;oU(uSxr>6z0lD!4Fy&aB0Q7%W0N&(f^8ZUOm1jjTQToS^0P6K~ z`Psel-+HNI@F-uzgG9A!1-s0$XNk2Rt|i?<;0Ah~b0IJx&3|nChrZv%K4>kY=8Hw4 zx+ck~{Bi-qFgQ>&* z+*;Ub2*o5lc`18*qS>I$2fgmp!=sWyB6??;vk!&ykD#YYd`{5{=D*4On%@jGs81Tc z0-8Y5gFY_l%=SVk`sdcfv%NLdpw-K3jGaZSrT<6&;aWeZdC{Kl*K80>8EPKQ7jq*0 z=ZcdThje&()(2?7RWvUcXBS%eIBl6>BZ$)~CD(x)-1i^FSb7Z!X^^ zu@qGk*0$PC@LSDX1vWv5p%@8u zRf=)R>2cnHq-~!yeljk zR|b5B9$HwGT_$GU*iZi~g;7x()kc&7{&H_f~oYLh!OH0P3{&|yyg$hbN4^I4JK6HtHwV4>e z<#YR3{eLd}!7EkW3)hb3ZzSs+ zJxf4XB$PHUCx*uaFUD0WPP`l0Dv5l}jTsEp{4o(CHQ zDQX@(zuq%QFD&vLvp$PxGh@gP@{jwtgsZoe-t3U1t}>h0i&6~i?6FERMM3H5^TbMM7>m4Ee?p& zyDynN2)EqMcJDoMnuj?4aA|F6gRJDpO3}2thfb;AGxAgRYI2+0pxT|HkQc6*+>2}D zYJDIIhwVK~PP+WEQ`^s(Z$Q5cl73S7Hc9$;H{a!C7b-525|?}TbjXfo*bjuULjhz5 zaa?_XO6UA^n;dwPmh(;c5|rroH)3%vEXH|h1Dak2aWrseGxfpymmJi;?OL#8ZhGM2 z#jSKYvm$0|*X}|Y<)i5F-k=jx45Db>Xx}qDd-u9$#Uh9NdSxB7UIER{h%_Fl8q);q z!KB43^s+15-hqik%7L&_tLA0r!)&f6J}|B`s0P`!>3>ctUb~pN6-+g`;&0!HCzVpG zqEz_(VOUFpi`9z&Fc5$#GyrX9keQ20N=wdhFkp%UAe)pN-UE5WXbv#Q1Oz35>YvUO z0io)(%a<@bkbHcPd<;``gP1#chX5ca85kU0Kw*4Ag80X`73PxacF&6p8pmcDJSzHU zGjm|dzBD7j!NJ&#-3tRq3O-XfneI>x{t&cXyd^l$68Us#Klj^vp$s_;G6z~?9$kN~ z@Y@0Q8r=!k$98Wq3TH9(&hKdl7rLHBc_H^ZNhoaKPyYQ?@99a|%B_N&G`DUi=R%xq zqh&(1k1fS?PHeBo?L%_XhgFs{a@O9}NZYf9-fti+>}dYOvXXn|uXb2m5TMM2n6(bV zU|V!d054h4sCyuSi%HNkHJCebbCI zc*Klkx`RhZO8T}gaP*e$k_mClkF#*`v9Of&G-^V7qbwj~}ZX1vBMBko}-N70$Vnpf!I2a#rXk439L}Kf-1^ z__E92S55d9S+UsROZ|mNv8ja#45BTnMyCK`oa=( zn^yd-IvNn}$M3|1v07Qj+a|4Gn?D%(Y(zfR)c%Hi6lWwANDm zTzgF89otuwkv5>S4KSyHAJSIMmB|SJ@@3Wj)$W9t`VIv%HhPhOEvMD}?rX>EW%gfoQ1=|TR`P;vjnp(tqwVTYDscx%Rt5?Yb<7eG)~AG%EmMoAX!A*0DOt)tQ9` z#X72s{;qCd7(`S+r+jqzkvOty>sYm~`mYEtdjT-ic{QuaPThK@QB~`=9>L)ANo&6u z3}`0fks+t(s(PT-}X`fOIqY!_54~~%iFkr zbZQR9p%sY9~n0ZS5$XA0Fpa{c06qlC#v=2ab znM&!b(l%OY#h_bvuNM*H;NYkeRb0~*#xShW5Bov#hu-%;i$)4Z{yBXfk+tq;UpFBt zg{856U#bp$HzcXONLn1L^*!|bb>mqY26#3=EREnym}QulN}8jQ%J77-zy>3-2|;Lh zEyM1F-|^QwX~;cGuC89z@}!bFGPaF>zsY6CbE@fq$X6ITsh1$MrDNP*KfBkZG9@t< zOCtF>+5I7ep!S~P0#X>D2=9TLC6ujs%+@(s(fZ(2Hcvgmd477>o+04w|1jUZuV%un zVQ%b}irE>Qyd~)SICx8rXSx%Op5gfj#EG3g`=n0XVEvR@^&9Am(zAfp*yJ06Aa+{6 z%$lhepbtSTWuNbJzVgC6+V5|bar(eKKs{qJGAT@yerY3MLQLaHqWGkFN?bFk7zdz| z6DM%3El8B^t4hA(>a8tn|E#q}OoeMk&Q#k_^gMvItjhsOfmZY;VRrAvDnLudg$<{Y z1C|qp?}{^%_|o=uKqW%|vW{@U-2lI`b>P>g&wLv&3TW>DWM$dq#v7*rv5rlD>xMsT zM0$TK9MI{s7EqL7pQ97*CBU>q835`VV4GjxewoqfCX=`1d?8A|b(kE{E_%xJEe@Gf zhn}N?Cct#`S{ggnzI$VP)z(hc`ML%Ig22~7B+02O_FsA|Hes{kno{gKC?|5(TN-o% z?|d*D+v6BlMPl;K(fU&*dmM~cojEM+lLBITyKhtVzrHl(>36uV@>51~-Wc6J@;{zW2_T)NQ{Zd{`K&vE!$Nh3hRtv-S=VftKo%qyta|v+@l!WK~YIvedS-LqS{>;k*5s+w&ht$xr(g zwS1*MVLr-_no9d8`~A~n6Vd6tmUgvQ|HHNY$6+T;;+_vgLY&)w;PA(#8^SQ3dLJWH zGU3YIb-?gsx&gIM&Ndqax2Gpg0BGIAY^ypN!gR#s*$hR5fZ&g8t78vg?F`*>-*39k zF%w2Y$(m8Za;wHij2w7^Re>8<)HL>0aTyJmeTydNGjPXkul11+Zu69;JF?iTOY&e}XL*sfl}UTV>J(B8mvr>5KTU>>0@X$ku_f{R-Yfly7$i&?9am9EPYX*y%9 zWu^#jZo8Pco$Nfoj7)nC%(_R5m~aprz{SHH-MV9dMil^|2YxNENsEGVa82ehE0j=W z;m4;yBzsUCLCB9P;GPMYNuLw|KS}v^PTX_3L*M7!yoFQVT;3-I z@IXpFBFk*QfR!V*)|)MlH)H&^dHfDN%L6VcY=*##C%nuN+_uiT^BldCsHxeoMG>{a z&kBVB@A<@gfgs%lkBQ~FBqKS5HBn^^eYp-_2@}IP(5IWnT*6MFV%o+Ll0b2e>tYAu8N}6ik~bKV3jtiB?^TUfKJ*hxt@O(xpzCf2Erc zkXX1U7(HLkXa3GY?4(e7pV;#PgmD3PnZxZ&)>$(5DoT(eULU63-Fyw3=F~Ph@ahW= zR2qGv%$(r>wd4$*aPh$0)mFQb97Zm!9thqTHdk5-tIZJEKAWAH6h7IpJz1OivG3=K zYSqft?Pb5J7YSBzrE;&cam6Im=0bA^6~Nztlv^FbfK{dZi2dlOjcNj@t;e(t{j66y zG;{m?AK~XeJ_8r%1Y=hi`)NPG9-|TF06{fjj;2d01GGf|D-sXz$CUmAQc^DD`QeH- zPT)I2hN9?g{>YH67@nw-8BS$;;tK2DQ_J%s?FWJpFEHd-i3r8Y+S9^+DT+*BpUmED5jr*yk_yeuXWxk=7;JsQ@Y4GiXm55>vC6?u3=7^Q7!fs zDo07Vpa`nezy)W2o%pSD$R~xE_-a%f$5gmF;@fbJb&VApNek-{TR-hjAqU9Xev zb)Ih&5URsGav*+o8bP#faPr-e-^J5>e@d_7WbM48u(aX+##Ay^_+B7|mFfV=*qe%> z+>l7Sx}+DdvW~+jw^H)np#PVO5fTIOzRANCU9C8X9jx$!_);~+_0-@nH0Wu{hv#&@^l+2uQePYN@W&!7j` zU5nmvYG=`Q0V#g1GS#WM(4sLb7%$dzqIC}Wk|}B9EP#^FNz~IW&lcpN_dH1$f3F7n znOsp(t}l^e3WkQzCQIk(1?kN8I6kM8We48&_sJV(#SLq42#Hp)(rI}6Dt5rDP44yV z3F}I@gQHuhAP=Iak0q0(7b!^(pj~TVlt~Ry%p?i0d|E!!MuhBhlJUVuF}qbB`??Z-kY*T z{2FsIEoYC{9HwM_#fLGxxK}%D_r8sPZO~(SchP#cNE7I$J#AGP{|f3cy;1cIR%ifo zdx|NV)-T`x0Ax?MN%@a0oN&1?qXzY@C0A0@%v$5O8$T`9#t_W{KL&VYrDT0U!%I}4 zK-LzC#}`ktSn+@nl+ibpd?8>>7|NFSUVSUxvjO+&s`em(F$j9WHZ1w-;GivX>XX9M zLJ`MdaI(+h_1Ya4ubMHq3xV6{4FN-+uV~5XQC|XOC?Ha7l`J0Cm4NxHX5|8UCj$4v zJO)WdDXCj7fuD14AF5hcZTcLz?w^Syt?NKw88-lH-#HxV09~Zj;|ZCTF{mri!mtq9 z+V$(TcCCZ`yy>)hCWhzdRUr9bAnC){Vg|fys+hA6CP#;PRo5a@jXBLbTG_NJXBWYC z>d%O8z1&OnK1Y@jQjN>&(Wm?0#T7pbYgQCyh;cSVCd{TJ(XrXGjaChZLcGqf;e(!e z48AlWW&bKDH`1Ofxt#U)u95izibTUXKlmz__lak)(v9vL$+&icseCNuj(7>elO5-QVW_wY7%cZd@Kx5Al*= z#my5OTq<)}>@t?Sbj9^QI^A?H)!&~OMQoWzj3=PA>&{68dzk{g!=2_r|X1gDW%}>W_{a<{*nU(~X&Bz;&R}rzj$B|=S^%r^#mJcj! z6vWo;WTa@;e#KRG4OKg)$u}njGqGg1_Hd4e(uO=6(kPWf6GObWyf(I`Pr7rZ-G0 zOZ)EvMKl`Sm)S1cvNPJZeZPkswR381TL(M9+nE|VKUh4}8+})ka93uR$ZtB4WfZlM zkai_p9_PZge-|fSBDG^)4Is=virSfpq9XI2t22W1aFA|_E(eq5XB#72hnP)GhWVOrE7yk;-U*=E{JGq?)8J&pa{Q7c&j{KeW$#GD^d0yiWg*OX?CO&kh&FV zt_NnR`Y!uh4Hh0vRXJZfixS1+tQ@p9k1gNAjI}p`Jwl|k`9qd$BA{{vkhW)x8HG}K zwOQeExp4ApsHQf^0Bmv^kO1^uY%K%9pEN>X`sHFn51$|6B4cz_uN}7jT|IDfn}HtY`*9=n=6uB2D?Vp8 zQwj26t#_!Q%wOp`H!sFcZVPBx0Ox52{cR_=Wvc%5 z#ySk`QBMQKsFSqm&EDZ{8Y4mTE~L#=Ty$g*)nby=Zfru{O#N;F)IBqAxd%@D*ZgCa zHGLQ}I%c@l<>{N18L6qm?D{>jP*;$-v~o$FK&s>)b!OUYR%scExLwSUMOR;-1wB7a zqntzebIUCNTqohy&%O8T$c7(#1Nng&tAKJj@j^K4_8G=u=5e_6zZhe_k5Rj)?2cQ$S-YgYxwZ&S;&n2 z&$uxlIas1y>-S&MEj+q3 z?Wk&-9(DYXhGt6u8!0*dSa#!nw@2828?_R=?6(=fqx??XCk5Vs|0jjhqw;M5ero=c z!Vg913CC!Du2Bh1<(5ATj~Y=>V|rs=_*!CzX&Du0QuCZmV_61F_hg|d#4Eubm#(g+ zPeYdH8@VF-*Sfv-oYVR>NnHZdJ>NQJsh8cR2upbz9&WW;Ed-tVhmGF7Rbx>^veWU8 zBPZg{PV5+ZN0{T111S%(kb`#Sq6T=3M|M6jClWQimo_NkWCN}MzI4_Ct!#iuB=u|w zH%8!gX@6y5jIvS3wX+p>F~rG3V*sAV?Xz$GSg!vUXW&nKap&SE1&no5d4^L&eJmws z(x-U(4DoE9LEURXl4k+E$#3>_V=}#l#o8oRfhW}fX1A8HXg#1A@KlsxgO3-utwVX*1q zbYXmiqaweNupnDNJg17H7V~?rmHrwzY?}XkYF#Kd8Mf_}VysDpbj)Bjy^9pmGCaQFFw!*+#D6X zv7^AxTQzESVgTb8J9wis7SbI?jv9w6ZH1OrfQ4*Fcn~{;USu|?bQ&=Eb^eN1opd|y ziv6RwW5=@l!%tlr|A<9ibG8`-`5Ob%ek%)f6bfa75<|`Vmw;gj?*PxGINK0;%i;n6>}S!3STZAjt;Dts@&9UsaCFRM6xNt9`DbrUu% zBDZd2#>4MAWXv$>mcXDWTSMD=mrh=c2t+3ZK_Hy~r{?AN#?o*QzKASeoQl zDwu!%U)+~}{1@O12ui!R?4D`ewBC)dc*&^-JcEv$lX_^2cVqfr@9RXZNaBJCQs3ffrA3-JS^(b9g_@r3V+o6s zm=3M78mA`aziyO){u=*%E-d+YYedfBnp5A+9Cjr&=N2n+VyChrSq4;=!C}$#QZdVb zbU4jZX%0BdLd>CnGSB8t(7%FN8tZSZDQXL~rBnG6H^uSZxItOR+ZI)O|~9{5#!E(p=h8k1Qu`fp6#M z3h&EwTnG`rQjn#ZtWt#WySle(r{q!f`=Y!FeFJmpz+dY=T*?0LwhC;gxqtj|WB*^C zfl$OusSCMZ_b;gjzfaVDQdr6S$4DPw?Xq|`b;;zD!k@wqCVH1f*HdGA2R5}%;3M)Y z5|h4pee0tn^;}t%rc?-Im>F2sOX5yx7l>~+7~YQh@x`i=Mme`%{Y9te^jZ13@-*PW zFxLF?aV^evbi{vruwO#eP04%cTu6}C&tNELc7`jvKur%|yxl7Vd{ZSncMYS`5n1r9Z<2o_`datENvVt9G_j7y7hx&f6)% zGb;BIijxO7C}Ea6@FGkgGvy3%TYrO9SC421eQAl&oFffD$a)k6a=6lHk^%y zvoiq8Vp-)7VTK04lfJ&Ks)DdFfv=l_nx(lQQ&Z)BVPWb`Bw7xd;nC>Xo829kCX&`{ zVtYb@ozZT&lA@e(a3&tH~PzTE#v`Nugn zLx0IBz}l(1+6Y1e_T*+!+i?m*QzOM`ZUR_0kJ?p#)naYg0|J9YBcUO>FCW(_YW&?I zcV03Joj=}WHDr@WLWQ%BzmLLtSEDi~T^}HhcfM!O%!jHMg@pSFei|;;S@sip4th&K zif-NauxHN7t-*$nyjn{oe|m3wZT>yV&)I0xq5Y*d7St~RZ{*lnwkT9CBV#zi z04Sc;Co$bpx1r5wr(;rTRhO_>$0)Z}M~jFGnA>JS<}au0$7J`}R-Y6;u8VrNUAdgy z0w~em#V8}rH-ewmY%`CxTZUhQr%+5xqcZ#$;;S2> zr6!?%Mj%s5U768nwKCWAAAuhg6po|w*ZtIm(vxU|*+ypiN+zgEo|-k4#7U-2dY{)y z^LQedv{ZjqVU%LoO2_zpNwVX=?28N4(fr16lz;b~ba(`HnnG zk7Q7;mH427*&0&HQ&cn$3tr#EmsZ-MjvTd`-MYuVP(hPwyk69bYIrKF0uY~9rp_an z43kzzSJ-=lfz%$`9SqFZDTjvzsEQJpS$D#Bcwh4F+ron`+U&YzwJqiMe$d|2NX#R% z={i?iOuVQZRzL0&9E~Q#PVnFEnf~Ln>(^XYD2cvXRcjknmMXKRA7)!LOI3E1MGPD?C>yR`N&Eo z9jjTz5od`aj$4LO#Rmu>e7YHWFQmNCe=;z_XvU5l_~;Reo&$Hcu-c*$iPV8^NAshb ziJ-B}-kpaNstE!VaQU@n_d=%M8wLchg?ADq;FLdG>HT(k|0>3{BQc93xLa`!>&ho5 zTpc-aq6ki@dB+ARDaM(=6T9qjBy`J>BMnZyY5dHkeOS=zBgD|1g_VDO!`i2qrUsb?uEJKV!uf9cUd?oR659CUQa1Pyxp># zBi9Mw=3!SX_c$I{S`h7Gaj>A(0jlKYVT<}9MDtln%xKQ8pz!Cm-Fwy)7g6ms%t+nd zUPnvsN6R&O0uofc`*RiGP6%=tB{nfy2K_f4KW;Dw-#)<^pFxI!Kv64Ks@GpdRWG9M zpvK4Qa_~faP6&Bu*t5YRgx+)A&XF`v2NJGe`XLSUm*m6n1H4|O>^}>&tceWwZf|d| zi`?G@nnWSIG>ezy{BS>ZWN@*#JQ`{agFzJ)H3H5RZ(dmcWdlD1ZalDVWBO?BtcRVW zdp4CxGvX6${Er!nHssdM$;8-9dzf7iDWniRe=Dy%%P4mKm*7td4G8-zsLdnY{pKOr zyE=`!0YN0K!g*p8(D&KoakX$p!t(G$`}DbR2dEnax}!;?(UAUK8o|G`oyh9BHKS9Q ztyayR{kfE>I)QH$#Fo@Ym*Tyq6JrDefIZbvbCeU8{J?o62G|BG8T*_s2&#u|Ui^cg1`Q z;5&+U-sXJ#d@(><96wsJ-A=%Ow{VNYvI)JHVxqa^UIocdk+tWB8;(?sdqg?4zLr^> z&%&V6_Ak<<&q5YQXsJ)>1*=E%6W{KC%oK%OiHs4aFCz42Uc0J{)O9A}J1*BdA8RY^ zRm{$4kFIYl_kYzwLlUVbfs$n~c)P6F|JTdtyuF=d|D~nT(u`HVj+I8Mf<3d3t9G|o z!@^P?s$uUsYL|$TtQmuaw4&GJBae%x+VgpezQ=A#?V>1`3m=&G<3}|#GebF+WmO&{ z%|me7U;}A(<@I$5UOGosoOvv9gT(<_FWKg)dq-x!T|fPfV;O0^{Gg7xvQV2C=7G5={Ip z8lYINZ<@Mp^T)de;Tvm7z9Ok#mCySa)iwGCDR^Hk7u5>eqdP#sqF=S^$+b3{Jg2a@}lBkO5dpc?ei7= z|HlV@D$oC`3Jzp1Qfl504&7~Ps|5^`P*^BJW%jC~qp7B%n+I7Xh7xl{c)01Xf46Cu zdNAcPGk0}%Wuby1zvA>^of#<@+)fUMtnAe9GLoCM^7%%mCrvzMzXj#1;M$pQyf3tl zw#zoMD!eaj-HAN$@Gt$2^Uu2D=QVHDxp0f^ci3aNvR#99r$>*jQ!$!`WXx9hqWEK% zTCYY|@9|)KO-XN7)G|~9>s9r_vU0b1UjzNFs#zDAlAoJ@6l{50E?YsR75j^mVX&nK z$P?lP7_49FDa}1c+v;o_6LlU8Ms<$*J86xKN*FD5f|L92S%T_!ObuNFTA9Sp&&a-I zOAx*s&ol3Gg5K*|7P7n>!qxzDyq1O@ z*{TG99p%cv7NZ4v3FKD0JN-%F*M=Nk!j^v8K!4~h?yIZ&-3ja4OQI=Zh=oN}-v`Pg zv&sI}aw@&fp;cV^91PyrWZBuL?B%p*+r;jFv*WTGRZ89@6(WvOS9_39a0lIc6{;jDq7u9EcQ!ddlwKw)?m4u+C=F41#+`@5MAbE_WNR_0o5j` zL_4#2h12xNdDWJkwbM@`tyt6t>3KR-`sEpFTus%Bk$MtBE(+$yI<*BQb9#y-0s`=t^Ux@z5Uz|eb$GNhiC2Vz1H4) z4gdddI5A@$7zl1Rvxp6&x!5fEoC=2=8;V`ANM?B-cq-LAv{MiF9}F)kBy&P0XwOPs zkKX0?5A^pmd$5zv7#r);^H+^|Bxo3^5f7NC+|@k}w8o-!b$SyUEB?NTc8K&~2l5{0T|w50BhcGQWH^(x|b+d@fSvd;Sf> z!lVjV=WjW?52uF{ep|r_YUWb;HC{=O3iXe{A=0kb(p4jG7JS|n7sE%KZlgl%l!L~z zNT=buO2sE=YQ7n7KDjZyAIn1V8SKab(1($;z*QLe>-N(EqG%S_!ex{rZ7R72105S( zxT2yvdUsJe*3UH^$=E1t$T#$-nyQ+yw38`AfU^#e27FxO`b@?+qrn1I!FptMbL1Z; zgf4aTtrT8i`^cgdy@t&p%)vZcA@)I>kyxigw_?$j`*jLya{@C8y*_fO4qWy9ai8`& zLdBw$uOVFH4)cPkRs5S2wgyAz>Q>lWOcbD$B{JM9 z&#ixho|4;Ee5sg5?<(0vDdzU#bhQxbs|`Qf^LZ^beX`rmekokr2^HX*56MD^sXS=k zKpe4Y`C`aOUtza5b9Opg0>UjL;ebKrnQHUBr^_xP32*bNakSBz>Hx^*!XQO04kuJy zED(7k_B&(7=mV?;sl96>uV+^Y;IJ`AC8i6|!6Y4SVhptYbBUa-28xsWyi$F+506mFuH8&=R3=89>qF{_YIm%OivYeZ9cq z6Ytt-`o`yn0wY(Z&XQ)Ffw{btoPiBHmzkkDZ91D)KuE)#pn^=ri6^3+^Am$##_fH^ zxr1H*9?p2>(qZvZr+LqJcrT~pub)J!>(B-Y8f6~aNa zz8NgvE((l!FG)mvLkrNQV?y+Wal9F=AV`J_sE>Ti3DRule$<2MvGX=Ukc~z#nIc1r zpnSw&6SlWGxjAdU2)jTM%M(Z6V5Zhn2j&E@>X!o`#2i`-=ZD78rHm9 zd#vPjG$*!cK6W7CQBy_^$lb#oa#h5;9cb^SI&58EhIGVuuY6hAtGI@G22YSJPHBG- z^8 zC|Ez0pT;f0fg=Ad-OPo$IGav(ASaC^a+Q27h0m`EGvWZMH*tW$ASAO~49(ol_dCVA zoAomR9=kiB7spanb!uNLD8L;r`0bkJ;-)6DnIW7@SA0=^X(txb zCC62@6=xK9;l6H+2n>{@=$!5YpX!7~TwMN4Jqi-!{)8OayDd7%U8SZkIcR3dtECB) zd4qp4e}5m`Z~yOiy(_AFrpKqhvOp$Rjp1?IgYGTU&%CH60L+n6umHwZe>>}>HGh02 z38meWATyfYjK3Y#P%m-sUMu{FR#Ay6AMD}?Vm<>%^oZnfpYxdGD-TeaJ5}>rr2=Um zwRv#J3H7T;_p7OGwzm^_MSn#1%EB50ftT2_;lbu*-mq+b+MFfuxw8H~b^#bQF&CwN;Fhd_gD53bs!B>=WmUqtrlYuEIVbu7Q;f`Yq{6iPa zhE>i#0HWQ_HkHj2xq<-3D=itw+VltkJ9Ikdq5 z!*73Ui~`z){JD$bxF8a2Jsg{1T0jXDI*GRsZIpNpljWSSsZHbEb)d8Lkcm+p9sp>y zf9I3Gx9+#C_OdDnB`Rei^H#ng%i)CAwjhIr>Hs-@PY)|@*_WGTc@}qE!UbgezdMeZ zuoG?jbg|}zHkV~oE6Wg!b66@6>lASlS$)V$NidOq#bq<2R@HhQ*vDin3NFIOii z@1DRzxzu)1ifiEI%=-?E$$Xy(H(V{IX{s3Vkmv%_VH8gyV@gt=LFuDbkvCHsHVSAB z)TqE9{NKD=-&xkb~*v zloqy6YioNSKBVS7cc7dBsLr{M;4Vgn{JJ-e@Q<|cNRx=Zrl#_6^*Lkca=**bx9jUX zh3iYeEQ+BLy&CEJB)w&6mTfv>EBj?LwE%##Aq2y7HxI)%S`)0~6`X$1@~TX(!;f(~ zsgF#AHpA%;qMb5wRM}NGK{lv@1Gt@g$>ntUg7J-7kx_m~DnEN@u@Xx!_3e!J_Q}4{ z5nVP|_iEcuNt@kT)dnKFO$&Z`eLSkFkk|?L~nh<~J z{2TX>XHrEKkr`_shS3hh!!5=#+(95njcQs9_9MuNHR({@Of-utW0?)>JlK2vmAh(3 zZ-<$0av^xA5#770t!Fd>eu65TzVqqR9q*bmrl!XF>mEK`9e{ZhVERW0EINyaLiP4d zw#|VAttkSlrYoLtnumYY2uwJDg3;@(V+b`<94@1g*wH6CA~?`M1^Eu#06Kh)UorUb zAxK^C9L>`Ke8cxzt2}6IU6P6^GqG3OR6>*{JCq!Ase zZ<_t4cy?x-oP~+1M!*1pz|>(Ce9dp*6J4xNt12K!H#dSx6^`~0sU?Kou91cKSdb3# zHMMv!vZ{X+CXS;W;{odM4;`@e^OLi8-AsP6xKXj`xZV6_^y!rE+6rmZm4~GzWh2IS z@DM?cgPC(LDOlq3nLMA4WT=Ny!)v_LgI-|`0CJ6WxI|< zSG`Z$`Pcg!vZt*uF{OqL?5GW?#2XncJy|kPVK4%t-+7EIZMn5U^9&`G)|!|C1i!0q zZI-vx)_e;eW2z!i{0u2P!E=$+ z`1#!c**V@h`lo-X`h?$@V~*+sES?$~{C0}hJjFc{GT6Yr`bn$p$x5?x`XvkOp)Jek zc4_<__ZWg9x7f(MFLu?~kI;Co{3NTVs4;%=q~B6Nw^gfOmxgN8gv-o|5o2-!&s%I5 z$@n@cr$5rs8(Tm(cwO(~f4Z6uv9YF_NPW*%)cCv-=y)H_SRVYXrd+62bbdCO-s~p; zhGOT9-kI@OOc-?5LV#~vxgVGOb7yZmIHuJyZ!TU@>JwDsYFTV03s{A1BJOYqBd&qu zdKL>#%*lN%YE7u-m!*}Z2X>e((nMsPNOv=ao4Ie%7Rx3K(0$W#{BF}IxrN%0Z$e3_ zoN2OHhlf#I+OlMh4TautA_3Xy(0Bz6gf&%>m^g4C5$$~Gup6>=^Jr}LemqCwddqJx zmKns&<{3H0)sjb;lym%y4RM%u8*uZ6u+(QRYaHRr)B8s2;;n!asAte zg#K_SIplFZi4$J8deP$K_IA=};^>J{1hK2Ht-rmyjDOR}-^iiy72qhmXDD10_N1Ud zx%;p%IiuNaUMgvk2RJvS2FE10CYhMRlY=z$gy>&CA}q7Q#34h7lLl$zEUk*n@Kuwj zjrNJ2_V;C1`|Uk+Xn&3Zdn3XB@nzq`U8RdV`e*c(VEJxXh#+AT(mm`9nr1m$-Xjfa z&9bXOPHcx>l&~+_R8?EwS_kp-;*~9b&G@Sc^)Ly*Iax?cD^=C{qYd4le$zh#qa`YF zZXNG2JhXabAo6v~X`vCQy5yAvbX-!ufkq6P+V1v`%-oUN@vdj-6 z(3$uT!>^}mf_DDPkde;b-p2oQe;C4?QxqLbEUMmc57Dc{0UXXUp}Xk_rmP0h+SX}C zUMNf1PTFWYO$Fa26%uPOv~td&5&(w^NlANhqn>WlyQ}nHVhrL>SSB|L*M_oWc${`ivKD`dBONJTeISpo{oCBZ2N87t74>Jx;P0;>}^eR@LZ8tT;8ak4#C0F zr;5tge(i)!l-8=w(QE>>Z(0E!wOyKJdb%%>uxvi=d0SaMZn!Iwe!2f9N6H8pYu120 z_|I>|Uv@1zL$;0+qjuMKpa{+N?Bf<2N=o~CH3kn3d15HzHJGiJ!qW84@(hG&JQ{O%rGJ={spFVMR62ZfnIC3joa^k=qj9 z4rC3F_Y@mBzQ1DoIRDzYRE3qKXX|15}i8OWXo=|MYLY#WA zjGDSfklfo8t4#Ybox!EpmPqiq;mIg-R`QR5MX>nxfpW3Ez3Ur|1fYQ?86$|h(;ppQ zw#eYW4j5iZLb<=IMIQdq5`OmIb1X;64yb z?Jm31GCyoiE8yz<52Xbwp3{~AAvHgwn>SyLds29~6S%UKNXZ+~#P;+Se`3YYcUMWn zokP;-uu8%#ixO)|kukL}NuwWMMB6+rH8$X~F|~0xt&uB^4SG)G(Y7?8GCzC zstiHr1}#NLTW`t-#)8I)r?Aoe@{zeB!MmYJ2%X+VXrON(m&HS{vzc_(_X+(k>QIS2vt92+f#t*Qjre``b zZ^3IIlw7B~yjC;jMa>sVNbPjZOzh`vS7CtTvlp6W#1F|5;IbIy~MG9J1uVXBn zg6fci0O{;MHV49V@UPIJf9i5JI~SW1u(uKXEjAeQBF1uh(Ze=il6gP>Az1ZuV$Y zgpWXxlGeX|BB3ZbsYKuI_u9Ut@Jk_F#WkJz2S5)W_)U?3s*Fjxu^@39Z8=9K9xRY4 z6sQBzIYU97N;(Ksvo1*hWK(xnv&S*_naH}y*W7HF9CaC%8A59>;qu}bkw zb*$;*!erPB+O{~*Luga6u#_G0Ec{?V&HFB@nqMp6+ltD7f5z(*hy*?ByE^kN5dU8; zW6B1G@Axp-0(i>u9CF;LWkF&UHj%o-c5K?B*=<<0?@**4(q%Ddj4M}F>+IcyfGAgc<>+V zA@AZX%=4~{EMB&Qzh2*13DG!}&w7|op4uLuTNpa4ODr3OP=Ec-b$161Dmlq;+)p%wKvQ;xN5*MUrqtqHrL@@d0Y|Kv@KT%RcVhvaBup^(O2P)qhi1RS zeF`=k^eR;T%nRHp##+Qg*Z6dIbyHwF8B!xRI74oEFC(u8Fv$xmn_@P!&7!0!lOFQ5H5ZIWRK=NOzps25?&v zUt$~Asl7Qx!)>slu|B{eVBico8HR%mMEVuzAsm8o@ibj%mA_;rx~jEpT&l<(BoUTC z+kaaKGSVZCZ0m)*?5?SH-!{0zzPIy(#V{kDg6W82MzKB((VbP*>Ozfv9sdk3aw=>e z`!w;sm09JE#L;4KD$US!RS$L9SygXJd+fipWt zca_o!sG2E7*N5SccXpNf$zy$y<61&c(jUYhBcI96IgC}aoZ~KnQe)Lq1A)df?tL+$f>M7uirk*y}UGrm;L1Jri0?ek* z5+>M~a~KGILtw?ZSzK5de4JZNiz%9_$;e8|VW$QPkLn_M3%_<^G;nUJ?|H4@-o+iw z=R4?tHdVEbbQ(O_lL!=`Mp&#HIZlqF+YU!zjD z`bCxkt&5RBcJRQ_2QfQVPL*jy-;WqFU4H$>FB^W69&KZN5!v-id+NUHbmJV?yFf^Z_t!rQ}Z zST^x!Hmvq6E#?B3ShVb8n&_%UnvLI8I%Au1NK{)rWMe=>8}Q5qivo*MNAD}`pB#%= zHfv;L&xbz?R|Z$U>*Fkuqxw6Ft$|2Vp?4t|uUDDjwIL;tNI9m%`!*Sf3fc+YBoJAP zv#PGm_!unH#I5qfV>&kRut2vSOB&brxNc12=Q92QTafxad?BDJFz)X9%eAZBI`0+s zB}Ixrq!VA}ZmBydOqv|5Ptv+2ar~WLeB&V~r#-GdTmS-rmp8Smd1GM(c>Ro(;j1Z& zsqp7OH~lr4={J6U=h9TbaHNXB?D{@Y9QdHrqZenNA znNF#eynN|_&x7^B)%~*+q0M>OjVA$g5Vz@8i>CFGPndwI3+mYjQK1E$e3FSgyQ+Bl z5y}&+7=g_p1qJwm@_tRuUT8L4{vOg?TgWwbwHYbbDT-+jTg_@W_x6^JcOaHxZSBH; zza2CK$#7R=X2d?6VL^+Cmg}l`*zX)`h(lQYI5}PYlw&q2%7Ub~W4^r}} zgXC=_1FYY8Kj;@Y^$30K$^+VHs;F1UtL0+@G35F?AY|&P~;j#zy%IoBRjBN}pjY z`^D;q$Hx`8B*7yLjGsIcX}pzR-bJi%evFWx~*54_q45cy$*v3htI$bcyV!DK?jRRIq76j<52P^;eB+{uV zy^P2<_AkJ)D>@q&i3^3ee<1#K&VPr`L)X^n4`Yq%-psf;$GX%M+=~@4Yy%9{MSvYp z4rrjo_6K?`-r72usUxaU{iwd#7%@26!r2U6YuHutoyKlmfau1WlUE^8!%QKHv)w$P zDr#{s{#8tt{J5NLoL7u_WMi;WQ8Qn$P+GbH3+yvF8aWZ1z8x>CmVZAlh^JTmSZm>x zXIcwmPCG2>y^=YBV69&X*#O%e1Oz2C8{$u_(N0+uZPss0Yb8y`b=_SG=S8^ml?Oe) zf`HaVPt8SXkgEEQju0paLB$Guy4oE)83mdx*Gmt2;h+{*^SP+v-N>5QJ+RNoXJa*B zqkL%)Jt^jDEgbeM0=OjF%Foi^9esIGV>IY`BR(UK#3k^!@m=*rLiSOJxnqmIwlmc? zr8b4E8qpCL6i0z~_Hc~!g}AUjP^W+G-sBt&-kY)u@>P-T@|0W=4ju5q|8(D-SrBsK zcbdX;;*q2dT@B z$MvtRvh2BS15eVVj5t;x(vjR}Xc(DOw;{s)L9C?4uZ;J!h7S|~{>3^~u?O4nX$4Xf zUf5!e$;FO~d93FB_YKyYZaqV&TAm~rucl;GtN%W`?Q@P0H+F*NiSj=Z;7yBF4WjiD zI>v%tnk4yZBl{DONG+6KY_hl!_5F^xZdZwFbM^k`OY0YM#L(70*dPtMnKo-03X`OD9AP}~^SHw)_7IO9k7=-eC0IAJ;xnnpOqnNndqQA+xL^P7mUfi=y} zl?nsCeW*NlJSATJ9*G6I%|t|EsKvguQDR>j#P^5R;nwEaX4UNzFEsad`9PM>7Hx~0 z|4rIOX?bBbs;e5rZD#TLv3?oqivWhmF@L<6Z(dRo+haDAS~iLWEHkkcqJLxFWMpW5Bku0RwA>Gp|0!xPuYss~CrXE?QAses z)4_Y*NQG%CL%04Z(bkQ=?D~)S?I3;Ag!#+UCv_mt`_k}1XPmp&6X;pNqBkIjHtf!v zo9QrA@2lWv^YzM|BvS>256CeKatW`zp=Ur8@G(jH;NQc{8wRcLDM9qztn_?xl5Qc?K(4D?bfCck3!~w+UEjL9|`nbXIG%%lL zr)yMmVg+~4@Ih4Dtg^s&`0)!P4g$_bCgu%hNm@R|0+^-CMIwz}nnu@@UjSyvC0|d9 z!nk46qDb?EgVrR3@6-RU*Ir-}$c*S4Qfb z%7QTqjZe{l(e3(W*7-%Da$3h`sjWKt@a#6c)3z1TxrxuUyJQOA>OZ7OJxlE_8}}g) z@HH9c4mP2Jee)M|p{;i3!MIfNd)jhrJg0!Ok)QmAwOm(g?3ROx?E?ZfiAG#N&}|sG zf9)kJ!Z30j$*V3h@*$JilS_ua^x2JiA#|GCLv+gvg49Uklta;Z-(Frd+QAh(D1_gOhbgf-ul)nqSx*s^48ML8_m6&F%o z%^EY=)cA)u{}73QH|QUnDh5Xr%P_iz?uZ)gHvV_K4sn3-Y_d59BqjaG`qwXc6I%t5F9W$G8^1|4e z9yJi`BF#2mf2UVJ5So_h8{giaun7&~7@Jmc<`)WsR@*n6TtCdGc!%Jghw15&b$(dx zi5Tqh%ppn#XGO^pQOh~we~Md|b|}-pUD#DZbL=RGMwV~P*Oqu1rWgo7g}7$d7Tj_9 z#~qwwGx;tvihq(cAqi!Pxn7i$ACO}w!yu>&i62n(6pB)J+Cc0(R z;h$9KhGLvWDKru|@EC{E)K=2mA7p63)h#{@^_(m5L;^pML> z1Je6zZ`DH>>00z(U@Yoc6gr?!+` z7m@xiF@yh1*_epfc_od`cGt9_>!6&#Q@A9A`D1_~y5=?I7YyWLRQeQC>csTsAnqqa zu(lZpI^$Qt1%&F`<#&9A8N$_GDes3AvR_yw!2CBUVdhI%crAYE+NCGY@}{ zs)|+fIjtK6sHvKzjPX!#?wyAO))aq$BQ%YUZ(O<%hSI+YL&eJz8WQphca?M$E)HY& z%5W(l`*Sl`ykXYr=(`O4a`S?V?YumB88^_fzkm1?*Z4+r<79zN)2DIYN8t)JfKZB6 z4S?@p?Y_ud+Pb$vcP{ZvW+hwEAthXn<*BM2d7bn^{e^nNtRWRfC^e*N2hg)9z%M10t65LSIEs~w@=z2e^m8+t@r~7Ux&-4p7i(mEbs;%v& zKv~+*kUkji=+X6Smz9!qHvfSRbgo&S9kgSKjvOA^JLQr5bu~`4TlD5b6h#a$*&6^cr{h>9!N#Uwr%QuGv$Xl zAg%drC6dq1j*6!pW1KiC9LTj*kV8{Z>176GQhm4~d@*e$z4EvF52W6!|3xg@7Hm0| zjzz|zReP=W^%$>cKJ{x}sUzLbcJKs$J9&cIbZ*1*0^73-Ab?|TT_q%^e9(NVq!Wg2 z(&k?&Kls`ow;WTxJ%1{Zf5h$4+!In!bmYwafx|ho>G(=2ysGrN(`MPJ>V}1pK%{cv zPZ7DZrX1Z((R#<2U&Q!Ha>9H>%^V{2_kOo|YT)3P87Hiv#E&coII$Lu3tqf1j&I2U z(VsbHZhW6qyw^u3Q#U{DD&5}MRa!6P;zq7KSb-nJK0@RDZf!aLu@j!IGQ0=L*7=(v z7{_hp_KHB|lsX+-AQ(%|NA zG?kf|G12eBopV+fWN4M2|7y0lTJ}vDw)AS%`4N13hugE9z*!UMr$isIjHvQcX$1md z30V|9K0Pa4=q8?mbe-?p(QGqww+SsP(NJM^p3xccD`Wp?(0bEuD$3o-SwJS zPoey|WZ|*g9GR#nPr9Xe{&^q&+Mn(Dclfv}pl=)#TDgr^ogh1J)m=VwKEpy#F{qnf z?pT8Ox}l;=Jl0#5zJQAWIo zbPBFv6Z1E5^3i2~DeB%%y)WY14n6?YYYC?QQ_BXJe7JVhLsGHyTi5-eo?lKF_7JMV z=B(F%)p6m%_RFL4XtCV)s9L(oL=?6;nM-r%Jx59}YdnuP0AwSooPi*6AgbX`=?*)qBW%>m1w3Bl`BT{vQ1Xv-?Ob+SjpeLES?*-HD&7T#2 zbXDWA;9KTNWhmj!IH}aP;_=xJjF(uO?WD*}h$eiHwTY5cgaKH9k(51bv(fq<(z)gD zn8zb$IP5lA(PkBQ?$>Z5QqP4Mzs}YWeU`s(gRFXj0^Xn+f}MNM@RkS#fiHf}7~mCa zo@?u&7N%tsLXl&AU4WljAhMm?3d6oh*oc=?Zge$r(#m^y#-yU=eoNm@)#jg1r{B3( z8qvG<1NYt>WQ6#1eiSdlQoZtIY7V`I5DFqE0;)KpMTThTpT|ez2VCMc&Zc1zudCbF zB<*zzOVx@{p2~AHwfX#dvwu8CufeRI-6AKdCnT}Kzi_p<&!TKU|Mexq%F^$~c9s17Bs>0}KJoss_rv=; zy9NZzU*Kq#Gf5C?zLL?_e0|Yq6=(CRpo=`N{U4KpD}2Mf5OdR3OuXFpnR7tz-3ZcV zpx%Sf0?nXJv#m#^-CJGL$>8vk%j0$}qZ(EL)Uw&pa&`81ea$Xy4-Cfj(3U#?C` zFiqlq%y*1O?5eny1X0pCYI|>IF?$oq7kkQ7ELWP6eic>2$(ha?;mw#RZ!Xupj01iY zQ$zRH>3ZffIyVG5y1bZKV{YoUIC1ENzuI;t^C$zQhl5Q&ysEFO_x~OCH zF7|%ST3;Iahc|ZB(bu<}_v*aU?I+6NqSfzA?SU|gYB8O2R`g*ZxfT~0=qYxDdV4Px`ntC%ukZT zT?czuF@43Q7H=ZfMo&gQ6Y$I$wMiF({5$yGMb_+dG*HgBFl*eu56%s5{di{QHTV9o9BH_L=k?W_ zZn}&#MMm}uEMUx-`zwU*0c^a32Z!*T<|E;*k_;)&dfnO4%F}flw@ja5SdfClFIy^) zOVagFr)l)GsK_SX@>!}Mr)bI;^|jE9eN=Y-0fK)9IL`H^4I#GqCPMX$ksiu?$wjmC zb*;!1FdvKzoUTs2nMthu|b zi5c6zy=^w1YXPxv*=P)UA5a3Tk7$gf3+;#foW&t?7_JYmw}B22;br|J%k~XPie068 zbY$toAKv^=b#}&zjKG2aXyK_#mNm*%4O%5ulsJ52Mcc{QfKGvk;vr8NvbDQ)dUSip zi{B9kj?xHfUk9L+xMZg!ecQZ}k>zKRxMM4J%_bsTVD8F7ImDw0cTUtio z7zff|EhO8ayH&n8Qx6z6(l_XbNw#*A6htJXETcgdf0AxtBK8%Sb%Hbqc%M*RyX^opu*AA30QL&vC_kx%NA0z)$NH2%e>`+vR=b{78Oio%$Q1q=B) z=_kYAlI%Bi(YJS$*9*s^MlRp}lfU+tI{&jxo055-#Cfd;TsioC)4cl&AZd5sDpHka zG%*y&Ld0H@7Kf-9RP$5Sd6jsPgXo72@m%02c_g&Pq6&%EzxN=)TX}*owiM^<3=_Lz zbE>%ul4WUQbGCMG)$FH;_)YcI<=E&bHxp1*rXLmD_oc| zVnD3!igjN`px;bF!H}5`OJV~;m^Jl*90)*olNz!=H+=OK+1x())=`IUfpc8{W8NaJ zsX&3Vxr)ebqLMh&+_xJ#lJFN5dS?lpt_H1`Ez`#WQAal+tvsZc{CZ`+3ZwvYz;!ny z?R|Z{qrtNw^LPFG7>w>_0Nex&;G7dzye$oyb8=9^SaV)8QWy)EMfL+0XWgf}y1M(i zYtzyKrJkN3f!D_9sFVm)%t1Cra%uw^jbSwSI`7LX4F`O@P;-Y>a=x6f5!xLBGa1aG11Xio204FNP%XI7;_0M0jS-{i5bI-RbBty&eDG}T8lp+5kM(R`~&j`-{RNZ#6471k#gCm|Nd|%{INMC z3$ScZG+t@dE~Zo8l$1>uJ5q~$bu}4Tu(gGy82)u6FWmqOUnR_F;ZErYQ*2MiO%3hQ zXG33@Up*w>jM}onc$bz_v^0}ET`VIn|Jv9R%RAI`i!vR2H@X@Q(>a}e<>50J;e6NV zY8F1Y*bCT(2s6D~QP~vlC%?(8-Z!}ZL)fJ@d_P;c%WV7Bla(e-AD*txhff^#;(7x- zNHkWP6<8E1VS6wT=ZV#QR09Gac-n}sJosE`-xIrwDoZ~smTzT=bhnxdR0h|SP-*-E zG#OlhTeN)Bx_IP)_RN28?f>y#4*wm&b@qSU1nD1PV_XbP`Vq8-(KR1DgYIP&(MOL= zv8Z+fSVx8L7*sQRd&l2{DpKcmTy@{GX92Lz&mmn=!yA^qZI`chR%mtDRVTN@IB|>- z`8g9uXP(rRqg&6S#`Z=dfM|-iHM)rZxBR0yVtI&^BlJWxT)?0?az=(_Swh1hToQEP zE5*dsk@$bX^_b6i(TWZ=_fb0kC(ZFXiv6EVM*vpV`De6`FLw= z-5B#&P}=mNvbFrNtMm$<^`VmN@9st$sd^fpnnA0lhj;e2!i4en;_^djL3$mZ$CjeE z*%9OTbIp%1Ij%(p3nPZq$ONl^8*2gU*|jjIdbR`prEIlOp0`p{^tq~CT+jWZ2@3xF zXB_4~J?f~4Cic#y+1BAmnZWP4?>Ex4Ra?coEfs-j!$j5ncht8){lC<)S^Y-Qjtvm> zm7te${b<#xb7oTt7h#-^8uCbca^@u{XF!DCJK1z@A$f)wvieTCl8I%Tid)h zcH6siB$lCm!H>{t-oF#vr2PnMF_nHV^8%MVLYTX4#he#Uq+e!-SOqPJ-LYnoN!T7y zEXo}NoptlLFH+G}0YAn@y>RoiozGi}nDH(po5Z?;e@Tc}Is0H#){A+aJ2BzIBfTAb zm&rfJy~WYy&#uHgp#>HnQ3XKm{{-;HEN6|SrNmAs@uZMeDDk4lK#R(NlyKa&z1APT zzP*fo4Qv^=`h|l6t+xsEFBt%8(CGAz{s#r6LwUgrsHE~A=u3mb$;G6t{(&7x^?}2w zOl29|PWBEkQ3W!4k#E=D0y7WD?y8+4AmyVX7f#<*@=8w7IekreFVLu@WPLT6Z)KW9 z=F{Yr$bs*s?Hzw^k z+}Pc9dG0$K4ijYVuI6q6GPef-5_SN67myX*GhEyEXMkbv(saIPxg#?rZB4D;^6WIe zX^+S+;8Hb&&Va}K2y(2u?c9{9?D+R9 z&u=N&*^8a*I7H^)y5?BGy7ILnt9zI9?@ghjj)J85@p4nqM(ZOfus*L{yD`nDFt>H6a94T561{DFS1EV) zPR9g#ZikwsS)7~Ey0k5k-)DqrSvc0CI6EUrM~zfYO>Cwd&hVI{t~LWP2hpvtfiL*2 z5V#;CZ;_BLWc{~+vmba)SlYmjpg^Fi)5*wzLH*ml9Mac!N1F!xfJuO=rrB02dSEJbkZ>q2f%j#rJ$f-B@Gkx%Z{ojH#J@t}(4uN7JF~-I)hrU`hzX!063I0CjTAHR z*B|=STKwU7bPd7~XJ!?2lC@2gMn_lidU|^3uufZBn?`X!cPp}i3h=Nk76`LkHVkx( z=?r+J1J>k=BaI_g7h2>~{n3^IaqaduIfW%dM;R>`XC98iX&DQTqj^R;o*QRa4Fu%4 zwvk$gH$CsAo5%6XX1BsShNhS<<~l#lu@HdcMgcy`gCxW-b)J6qT+_*c7Hwcg0>rbp zK@(|sZ?`Pym*J31`bOOI|H-Se%}K1;3hqO{;EG3R*XpkeRcBImQrC1xLZVx}CR3vx z0LT32I!j42*LTt^TG{#5yGr1O%a-~Qpnaejv)N2IH| zp^nmrGcn%n<(oSlONpT*;oz{3_0`yjF{(4zcs|@j=*}FpxzYa0D(W?Fa;60*@8M=k zq7Cqf=B8O6{*54w>G4hq+?zNrfmpOYV6**mOz;e_9yD<6`dz~Tqg_xo~-S1ZI9k1;>( zTa2B(E^(P2f1DMKak70uGt$q6^tP-A7*g8D?cHT;gI>@i?X=4;1J9Znmf@ zv|M+;ky=Uh-Nll1J|-=sa%t>oTc9NG}g$mY$`d*EwHJ&=9?L8gtmS@ zB+K53jkXG@Yt4F;5mtbSjAts%2_X~|i!L?t1<>`4Mx5rbMwkyhY}N!q&l9LDRDJOrH~}yVPRP;uZ<|wOrNZ&Bs_;Y>NqhXT_E^)d(tH7S;Pk6D?p@}5cBxMy zlo$-PCYx;MHzJw)s-8y%0lrm>*zB#)b+-`ZQepI)61rIbpCrDRnslh3gB8tNnxBrm zjQ)l*K?-DKY9=`$*JU-3q6McU`+S~h<)r~?}MrUD3O!X z7vCryy1w}U9q0;*_BD4R~_r;F|>YU{^97rK`kR} z2v-eL6kxS3EoxZX>dwlEA90cm3xYVenta~T#oGfvTLRLJHS+0IDWH}ErD$o{I<}yV zlWbn)E9Z!}g&C+vr=w<*6rC(=&iPp54F*vy`6_R~1>h0|Wtp17Y77Msq!|HqQY|;Hr%pTu%5xHsSLzcIHaDJi^hXdqcvNs5()AanM?B83FW#Q% zkrWD8!wxDNS=I6^c+x+-iV(IN;SjBaOI&NUbEPe+!tjYmt3oR;0WX{H7G}I!V)z7* zrUoHmABU9!SfH8{qoZYjiKsbfB+9W)KUuL=GKfdcmzJ1%+kMO`5S5y2gw)%LFLPS- z8c#M`yH9%yw-oh;F-~aP8a+~}1)ev$tCSQ|6ehpw=0U$z9&}4fzTBr68Qr#wYIxZi z??X(~;kRz``e+d34qB5V3cZ`ov*yFf!~!0FEZ`4O+xUzoF=c9I!+lE`GsC02U#Y8| zij3SmoKB#i6YT@=q4Y;x;c0kA9Mi<=ZxVNi`4rn}ai%D#Dd6W_C76x*)nb5HxYdX5 zn=Z^WF{u+w-<_a7!j_?RMhmc-cLP)YZzzTAN z=Ri*;oZ8GoN2$0^j6e~K!h07ZbPDX~wLtz?1u(Xqki(SmK&6wFn}FQns$5jDhNVnw zwN1ZWF;KE|+Pe|^By)GBB1|s5HeHF{6O9#5&P_tS{x8v3;+4xZFLvd>L}M5C(!zkM zC9o*^EunDpIUprailP7UtiQpNY;4J7M_X{b{VYQQM{YWl9;WsZME;I2D$U$s@L}u` z!2bj!pg7F|qG$|=;Dq*m(DVI)w#BxgwzW29w*?L2lcK{U#Jl*XKIF&mtSZuy0B610 z3+~HHlVNaN=G)muYfbfvmsJrq&x(Dl?S3yU*+(%tx-&^cKdud;=@g#d2AQ}{!JAIe zjwy83HqS6DE-U2e+fMf~0B?=z68;;OP~gfxve2bicC9d|@*x`6L6*q577JKu?cyhz zg(0s%zUI?S>oqa*r#i_Eu%2`1jt4%P6XJvLHk}ds6`XUEEDDLupH}C~N}@$q!qy3) zw9Awk2zw#X*^6xqI_A(DTDIhy4$K7GwQ2|S5bpEhMaQRs!Jpv7dYk{+-kC==m8W^1 zZbzLdOKA%M6@hA0ER{uMQ`xGfKuRU1X$)Ztv>+f$K(??XBvoZALWDGhvV?5}4Uj-$ zh!7w^R05H`AOr|W2nYdLLV!RBOYptc%s(^dyglj9YTykyQdC21nx0< z4TQkInU_djKuYhiLfcv(%j#fnA+_JD3n=t6GNUMsdE3#AeHG^3jX-t{=4pO#I#CW8 zyIWCnX**(slFtmR`hGP@!-h8JISU_@j86 z#fVG&HXJJ8-*-UQpvSv|UKkOao*ug7&2X`B`x+?$bTmnNyb_+CfnAy)Yh_uMDJUx( zia|Hq70+9cXs6%^wEjcIkBd}qrX@V{sFokc_4<|m?+*R^QGa&TW`FFqm|wBj@k2)2|-mD=faGm>D1Gm{XhiF_X@ zf6ad2uc5VhadvjbNsX@HJ`27dKvGPphSikB4XnJtzvEj@^MRU**ubz_59gPN=tG~^ z_h&qBw>?YFnESNr1FTAb)rK6N_0;1Q)QcESh`itiVR`~npotvX7i}f- zs>J<*!g4}&*=XCTtzbEH;|1;}Ye^pR;T6`eIP~-PO==rklj$P^R=tIn@*9RLZjc*O z#6ozYV7RjM6ij;na1>g|zU88`w3SS)e@7e7mAq)Ns9LxEQvp%Hi)?K)SB`Xs{!43+ zAQH`cYbGfnT&tQ&NsYSiazDtsf;Snou-#v>$u2=0caJ-RJaAiDTPcTFHitG z5x%A6GfVGkIW~tkw>)>jo5U09{Dm9oi=;Oh**IVR<`-4le~tZr+-k3}uMQjT|I<=R z^;#pFJLU7PZ>b`jdS~MR(@Mac=^I15=8#LE9E4!FZ?Ot{yh7U?f{ct>~_ zH4lEdC)vrU^k$9-=PpWXWi=mTb)dDLk*%0f!UB4Z=w<|=uyUx~@QZXt_VFm&tKG&8 zB#iRnc@C|u`a1{o_rILj|D>r=W7$<)g57cJiSQsi<}C9_7f6FViA&q1q#giX+n@7CKQAzUng@&3P8*@dfv(4-3^dn@GT%#?w_(6Fc|c^M=J&Un+%_f(;ED6KbM9k^~b6RrzQ(` z?GlN%Z$~8imz%pXft{p?hh|R+&($?57el<;T53cCKo?GKO|Q_ViVFO_jD>?)-vbYs zlVjoQtdZ!nu1M(Ipx@2V=v(HeA*cNwq|*9#t83}V>W(StLl0P$T`jKwuVr2WF` zu2UXo)5+-lrUK$!1mxBRgW;|LX|cPsi@Vz0^`t;!3Ot-KLrO{FS(p<;+b>xLJWLeE zbN|YAn131YVrZIoXFEyWB#_sKoSE^?W5+s0X37%(eIXfT&bjLD&ynwZ)My%Ie)#tL z&W&B1ICAuPm#|9-l`bJit80qb7&ZIV7#$*Eh6}o=lmr)`>t1^RW<7w=hFA~4EQdd7 z9)J`l;9se{5&MqXDXu$_T3tP1PcCsUtILihQ&`>QH6MJ!m1L4H#`qFPkq#LarZR#h zA-=ibKay^(ZPpA@w=9%REZZ!B&%7h4c(0F5fzRYebjhwmb$H^ z4#Wlmy}pM3I7hq>xMwxEQ z8Kgqo7t?F$1#TRrdh0*YCILO1&>Lue%nndYBmia^#r;ULujWB zKMMz>>%@v`=Y8M(JC8j-PVW?c`&K3Sa^^%u82wvYQ6?1k4{9cpjzZb#ZggaSbM~*AC~2TJEU&LyT|5F9_jVmJ>9Ty z*kagWLR1O-3)b*)T+Ybz@$JMLg^B3GNHi1hzqkGpsMy@<@tbFdk&$v6OTDU&loxWg25pA<) zH|(RvrH>jVg)*$XbEjuF4*N*0r#fhmx7->%>kscx>_DBaUrEL=WkTy%QV>&F;T3wE%b6<6@U*)N@Oi|^_M z_^yBA|9H2KiX*B4)bE-U^&9Yu9%RLSMGoUCpL=?gZbs> zS6YN7s3nI~UX2!9w0f-gMJfK43%W+v>}S71M=xR&r20hEH8%vY*_dF@aU~E_zn=hV zMk!B$u>x5gA2r@8K0e#VbQr8VR??5xJn4Rsqd_*`0zY*}6jjoE_ zp%|EgdzW`R9-dL&Kg$CCW>m)sH`>tBNV_L)j(Ug&ctkITmju~SL{G`(A4zb>9_ zHkK}F_n1wOXlWJHj^3>>)XbK8KoDn(sg9|D+UVpG?`LaYk>=96a>GXHvNW8MHDe#n zqsdYkUzG{UYEULb#%4{*x+hCO^ONC~WP~+;l;y)jk`f6Khto;BA1gO=UTi z;s>eBdg5+a|=F*DP zt4f9Mhz@ZHn?6~TlQ7*=nl?*!owD)KOvgigw){&?|Gi!C$WB zZ{vrRbOHYWdSYoO)=q~~v8OofC5rupiAU)1;#R8o3Zlf6SXpYikWEO(=b)(Bw?^`& z3>-r73o1v0T1!_!XLPsTnd$OrgSr81VKugFbhiX;BpV`Fp_$HcVqGY*=XA?<_IB** zNi-qvAkftaRD2!CEBCw|KWcQ(MS7**I|lsLzg<&!q*%fX6mNMo*^ENv!_!jo~)ph>KpzG7;n>(vvVb-L3@WsT5?b4 z802sF$GvKv=Vy{!+~00OdXUjZOhiCu#8UE1CU*Bx0pYYycOJ<+eqpAaIx8kOA=e~x zS2lm1PnGYEtMgE?ECIKcS~{o>Pr2D-((N=|J7~TrO=J+HwBxo=mw3N2Jh0aSHeEb~ z_5jeW84m-LLBJl+iVwNf@0GutpSZ2;m>mP^RP@FR{{z|d?`Cype^@Bg^(ZgB+EOb{ z-e9o@wxc!|>ja0jDu3n#$*lC7$?McQUNM^*xoC6C3pX{oA-b{-4is&%u`Hd*-w7yTDYB(fYud{_l|{vNG~rR;)S&QjDrYSEH?j z8C4l~8{_oMWU%-QWFX8Tl{b~p>(ns-Sy8U^7YdrNkXEkY0%HGs)2;9t!u;G4EjoAJ zHy(JtjaT}bUhv<*MvG(W<(MDZ?qFx7+mT9&ndTWlSYe9Sp7=#rkvFg{qd5Nco^OGN z40uLq9;18vUd94$U_yGpcpbwbM`>$ObslP~;;my9iN_hNv7RV?Z1k-87j5MAen%_` z=RBKC3Tc|}V7gA$o+~IISFzJ!S}+e;qju_{psKLeePv-vvyF0Lt3CGmVY5CGm1evR zud(TvUValFbEh5yRIp0Ec$3bH4&&OmespVR|hBi5sx2j z;#dYBcKhZQSCtHiob{*w<|_T}p+n>5U$<U$=|PEiJpaBslNGbh&oAuATFCtx1(l^Q`}&GIF<8bj1X3SbK1KSv5VrJpD=SVP@^rAk!l_b(Bmw{dtvIE8tB<^=m&E`>}) zV(yl;XOgfsS7F=rJHU)SNTQh=$K9=m^WEL4;nIFxW^?GZhKZ8D1#Z~RY@!z4Qdqv3 z5Ruv84kLCW&OCFD2^2js%(xIEG7^@PNvL7^4WQ2Tlo|8CkrpPigsX@?VRr1n+^E^q z7D338tzBxaOHa!~UPNtYV?pW5zOEJ+JocjEA`KQR{nX$Bb9;9#X32>qEtHw-PWe>J zLvB97W;T1j5I8iESmG8LBP7m%CEzBE{I^xyqkLP=(- zUCg*7pj`7zL(xNWa$*8Asnz$%tU~{xLsK|E@J>5y2kE5!rfi(86PC|Ri4=8ad_^;A z*cbcXT(sZp+lMR@Dql|@PpwZ23tc(hJI-)&r*jn$L&H76_(aW%{Us$&Jyv4mFsRo` z7FmL10<9tSf(&RpJ+zJB{!s1cMLjPo46!rIfOeW+!EB^2UNSeI#@Izn6?bf09xEIP z6nCRmtJ>MIk1-2J0H-?1+eM4!yv5#I9H8aIQjSqL>b=^+FC$t76^y@b2Sq59j2k&F zCUDqqrApa5>*3aJs4||lp zOtLw8OVq`ohJ-$M@dT!DZ1lng`SVRU{0mjKlHT8Gcjm*NUxnO)wseXO&I`{C^?SAq zulO4mcTWEJVd_n;U;=Q{@2@X@HM4anm_j7CRQ8ano4qLASGjPkaYsKQQN_6FuirHX zj63*gHn(AWh*JS6Q5%$ruR3Z?od^-wT@1aVO_nMH|J+n6mI2o#PG8nK1R zywZCpL1v)c%5a0IAI_L~F}18XqDK9YlO1~$WNOnA9MS!hA1mzweqSI1w$bxIHhzIz zMI@8S71ceep8Ja&zzEP}Cg?AVaW7YtI<5OsAG5rz{izoN zRfwwbC6Sllw>;e3dcJmu##HXY`CAz7a0*^NL*}P03M0-_9^5PHwuyEh%k&)NxT9~^ zDtG}mCl{BaU?EZ~x2rTAS+|yT01IXEaQ*wgkLox4Za9ACcS7&s*qaVwU@B;y=1)@t z+~mE&c$l;TN9IynJUv~ys4y*ba5)p`1q6Kbh}JEk)%=SySCqs86TWYg9EDb4o)Utj z<4tpt1296>6d}$eIeOPFNL(Om5@#D`*Hja_cQili?fbo-fh$8{WBTXBnjKo?Zos$U z;w~WJxuLFM9X=mwF4+V$$aR6W!2aT+MsZ_c&YG!xKd|Qq?sK3Q%_K5<-X=v&HCgK% zo|y_6U70h~)mhiAOrP8FA(uZ_L)dA@V#HZ;M!ZMIk=)LEmL`$+UMi3BlUEq@7=^_G zkap>Skj;H4z$BK_Z>PCHLmYH0{rUD`Emwio04<@}J22^{^lon5Ft0I*82MztMAx_N zzA5AV7~xro6i9orsKUi)zJKBomL2kxAFT$qqAuPoNE$AG-k$>pCOZ`rC_@I^T(2Xb z73+?X@G$ezlwSIdrRCr2PHh+jB^b zMxAWfB{`TT8rCAJB{5XHuFJ1hC^&*N+0M@tA`Z#PnZIm+s&AG#vXO=9abd?ZB9o^K zWLi;8Rb(Sz%8lliExnt*DRNm9WE<@S^<(AU_ASgI)XAPqB%ai}(%Z`J9)11(7#gx` z57-Llj(h4jY_V6d7DE=kw?}Vog~x`sjiG#5S43S#=V)5Dg(bJsa)9aetG%8Vt%jF) z+VRT^24AvNwC7Nm{rEcG-h-EhNsP%p!jC?$RVNy>el_6dM>La+jq`kl0|kxCK?i?#_dSA!uzfb-*{O<4gh(%eeQ^Iy|R|BjIc@@?6 z`|4sHh=7!FZ}U)VkR=2g4GUlQG=Ud{7sBVu>=l_Psl|?QEA5}c<2P;>EA;F(xLvDT z{WqE9cu~{k3Qp6Q(4LlAFMB?Cz7}WFW52k#5_>PU_8!9o(b3)Zj)i}knUc;#8=f(k z7O(?l+RiW+AsiUuoW7Et_Aff(JH1R7v-Ia1?E(MPB&eUO|B&BgoO2>~+*ySUfXhGa z8-mg2fW3sC&3U`wr2zKoM*X7aFByPbaUtJFPy(0^ZusU8ZRM7PvK7oo*xgwub3RvT z9bBY-D(aIkiBJdsh_QaoyqRi!wd3GcReObcX)mg%0@k*?p63?TlrzPaQVix$9Q(p& z=wJuSfgcwz$AY5z&e2WLH4`n2_e+j%D=9zDv&tzgx==6_4+e}TnUVVOs8c|)FP8lldx*NYXk zSyC(~ZN8Fg`V)T-q)X2SgYaz@r}VG#zl zzT6utfbk;tq2xt|?5EDHP|>VeeQ{?duycI~grn)x>!G5N*5T_Tkq{9m*iR3i#}MJ@!iMWx5X)6?{&P2HsKvOMR(fW4i;s->c2BV=b}kK4`8 z^b8J%d&#H3A81`P4+?D8nfc`_maaZ$`nZ1z3uIhJtCxHPt)GNb$i_@>(JO@mL&*dL zQCW$#w0c|&i-4oMCT@jy6E8cRdb6N^(FzqyDz!=|XzOQ$7=JZ4Lq59`zn))`J;D_p zG+-d(l>uE_N!+EtPOFs=Kd7rkLhC=LPf)Z*WD#PdjrkWPrvWd4i$ce9uZBLwJ1;T{ zdGcp-<09(WzNF0VmT+K*#J0#c0XnYI6P;U@^CGI(RVdnr_vEsZFRT#@vZ{gj6HnW* z$F`ZyD(+Hhkh+zhyq3Hc=M;1bp+C}oM#_|iZc9@C`L`RL|A;f+SM2x~M0Sa7XN+AN zce#pLF5QqVG{TzEs2bsGY3?HI()RHhpA7r@Mx8@e{MZIk%8XYdqHAaK2uGz4zaeF> z+g$CgM@ZhLvYpUUgN6@4S#OAY>&=lj#IV$}jMKIsHSAqN6)rqW-)Gg2KV=Y_7yORY zG}G?v`p@u7uh-VcIc07NQD@&ogrLvu^fsgU#S2iIRCe?dGg9=t=7fBTNnidmf-*O@ zHnyY_Y;o8E_c#&>vmB|h&^zd|OXo>u7>AWN0KGQi6e_^biXJSMg`UDSNSEre1QWzF z`OTwThaqm=yr|OO@t{q#S!WxOKd71RLR3jxT;=$}A>OEx={HvB|+Vv_D+tgj##r;I9 zAN()fm#7j$lQ_)&%Dap;SqMa@%!!gUk8+EA&b`xaYdXnAe!wktbUP1VO;V z@GBwxnvbBg1K3k^YXjkID}c{LO-+1?W@Nw}W(>t_a7_V$B_1#$hZW#4(ZR4d!}f}m zrtX+qY7az=VKKf6rySUcQQX+){i1a^*28gbN76hauY0KdM_T+vU!bVF`{T8R6 zPUp>b*VHZv2uJf146=KdTfQZgXeA7&DQ1KcUv2`e`TPI%MFc+x5ZLqkR8&ebrOD60 z?m_!9ncb&4w0Ap?PM2-2Ue^5rXhv;TBdq|F6v0@^LStS!FjN+<9Z(0c9zjX+ToEMI z=nl}alpfuEqP0SM!7Od}*>j*LjMtu!Zz??8x?tOrD6IdmsJJS~zianPN+xVdu-0mK zJ_yLd+N_j$)&oyay9t|wlKpJ)wsH_697pczKhAf8nZNzRxaTRd~mGEnGL0O`X zh2bl>;>h(4OqjCgqXrS3Dk)B@1SV`Co0qmuQ%b@j6B$<=)9xo!+w|}C38kgA9^V-2 z{G##=5Q*oW0E_$hg-)$@k^X(Q3cHS~XXBSKA_>78(7>dPtk@j@bTS8ehp+6Oe81yl zzS2A%V9=s7*lz7L<8%TePvqrorYz+kooIKGdR)63*}6XJLtq5`Is#Uw7rJ@3l%;vl zn1-yqHrt7PmP>rJ?iU}g{l4Os{GE996OKwu2 z%W_q2YI<=?&bH+EI__&=&JG{TfFP}okx*9`%q2D(HwDaGVc6kFxUT>UlpEU#A7Wzb z;(&Z$>4t9u|7k^`d|NMnXyTP68-+u*WNNi!V~HF|QIV>rI25Z*ZH&KR;}L+8(;tc5t|sL*}fnsDZ2>P0M*v z_ghoOgeoIjzNgW!oN=E;{sWqx3*m`rslff=%`0P z7Zjl&9o1xZ)e*}+C)QnA;<$~mqli--hZE=t45Tp7r%7yZ=-CUlYZbxf^V~sfdX|UQ zwe(2~%?sntwoi7l_KFa+z0;17&EcUdI}xca8P$QSjti8B{*AYZ{fBi`$GYVf*JmT7GQJo?!IBRWFKE$o}KhP%0bXm+b9EvzxHw8Coj9$qZS%9*@a zPaK<%l*hL|VZ7hEe=T&k2FK7!{8^&+4EqoaykAKm2v_w{<7ShlySVY))Ul_53yuC| z(TfdE#x3DwGB4^p)5X@JHlhyVt$laH%DZeB*%V0o3^|^0jukj^{SNn->GNjuKgGKt z;=a9PoI4*`J=K&1Jv$|3B?wgz<3I!dM)@D6F?(|4m!i%1cjl4}4MzP(kO_^qIDYi( z=;wemh-dBduDz3iu#NO*!aQjLYT*+=GwxwYK{6sYL(vmk#g3`Q=vQNfAw5br4re)k zbLvS)XC~b$0rhEF=f!q3s}J0`NTj;CyI8^!U`IS47Q;Z%kNSjnSYA*N9W>rCns|&4 z7!YhB?46w#67rMsj7y5ow}iJJk+6pCjibgDFiQjd;Hq5v5jSP?4Y?w~_Fh5U&%;eR z^-1SE;Eg|SC$*h|8k}oMUDS2ex$%pulE4%#3r-InDMLChZYwH!GeRn-M7W=#jDvay zAF*l0`-wCYPJF?*bJBViV{I+Jvz)QRfqqr6<(P;3aKf^1$P@5(h|u0h;^yq4KKOSp zP5jF12!8y+o)PnMQS_gR{FC!O<8s@932xdW{HwL+$m5PqRy;4VbgQAGL)}%$B)qJH zbuEnC8L@D&4KK6}DTHIKGsKYyCO&IDfK;<^6bFBvkzj&al>Q`Xv!@bRPTh9K#u6*L zY7=otR0u05J?Dp)ue;v8?R(QpPt>(MV0m2Tc`+t-g~oGP#1x^20I?g~4VX`0VWD-v zOI55C2lIkgEHDt`Gj}*0s{EO)?YMHaL!Z^?I&X&i=AGI+Z*n-FK_y0yWxNjzB%24f zQ{oI=kgP=Xallkj^Yi{=g760;Z)w22a#)m*$yrJkn}-F`^qht>H#N@SRA7%pJa*;+yGd#W#?! zZv?ppn>ERU=Gn56+{SeuL1wN1neEhW8UIlOB{_=xUF#MYoWJ_^vUXAIU9$~HSVrm3 z$_|ykPqh7gyX|K5(Y6I`MX$e(mG5J*rqJlkvt1di6jJ zb=Zrz_{)PdB7DX1Y*|WD+rfc}?k{Sz__TyqqsgDWk@83x-!dY+IK~r7xe{~s)*hFw0H}BFhZmcx2pnUP+ldTn z$@_e1^jEV54-moSr#(Du4u3fohgMRJERA8KsquI@kZ-OQR->;4qkYyr~KO?Hc>0|~eq^f}Q z_}%W2_R)p7&_mJYESvzt9&UZWtZEl~lnZs%^%<$z-#u=gxpeg=#(YX1Jruls>}Y}R z%Ed+h_U`tUM8osC#(dO8i&Yaij52I4U_oq6{TZ8%e4AL3hE9Z=F1277W?aq?YI`3F z8$L&@fwu~Hxc%2cQn*m-!kC<=ZtDw>o^WjLSInq!P2lEWI+!JhBi5Pi_rj10oC6}IjfcZX zXSu@oIY^N}$#G$c@2n7W|(?ZiU;P1ZL$Q}YA*!_tZaKyBuuMzHX# z%^W+qOtezmicR}lMC`g=u|K2-@{o0f?+FYd7Xs>1z>^dP$o?v+1;q1Zf#i^|{DRT^ zbfF$H@3r;u)T?-RR3R*QbX^BxRv(z7wH;N=Ydvx2#=&3A!uKiFUn!fYBT77k@Uo)_ zd#x*cH-7bal*gbNFFfEmJYKcgO_L z30{>k5itBH F_&*G*MKJ&X literal 0 HcmV?d00001 diff --git a/packaging/linux-common/nymea-splashscreen.service b/packaging/linux-common/nymea-splashscreen.service new file mode 100644 index 00000000..d6908d8f --- /dev/null +++ b/packaging/linux-common/nymea-splashscreen.service @@ -0,0 +1,13 @@ +[Unit] +Description=nymea sSplash screen +DefaultDependencies=no +After=local-fs.target + +[Service] +ExecStart=/usr/bin/fbi --noverbose -d /dev/fb0 -a /usr/share/nymea-splashscreen/nymea-splash-horizontal.jpg -fitwidth +StandardInput=tty +StandardOutput=tty +#TTYPath=/dev/tty1 + +[Install] +WantedBy=sysinit.target diff --git a/packaging/ubuntu/debian/control b/packaging/ubuntu/debian/control index b168cdca..2b4b441f 100644 --- a/packaging/ubuntu/debian/control +++ b/packaging/ubuntu/debian/control @@ -65,6 +65,19 @@ Section: shells Multi-Arch: same Depends: nymea-app, qtvirtualkeyboard-plugin, -Conflicts: nymea-app-kiosk-x11 +Conflicts: nymea-app-kiosk-x11, + lightdm +Replaces: nymea-app-kiosk +Provides: nymea-app-kiosk Description: Run nymea:app in kiosk mode This package will install nymea:app in kiosk mode on your machine (using wayland). + + +Package: nymea-splashscreen +Architecture: any +Section: shells +Multi-Arch: same +Depends: plymouth, +Description: A nymea branded fbi splash theme + This package will install a nymea branded boot splash using fbi. + diff --git a/packaging/ubuntu/debian/nymea-app-kiosk-wayland.install b/packaging/ubuntu/debian/nymea-app-kiosk-wayland.install index d025cfe1..2b84dd7c 100644 --- a/packaging/ubuntu/debian/nymea-app-kiosk-wayland.install +++ b/packaging/ubuntu/debian/nymea-app-kiosk-wayland.install @@ -1 +1,2 @@ packaging/linux-common/nymea-app-kiosk.service /lib/systemd/system/ +packaging/linux-common/udev/90-pi-backlight.rules /lib/udev/rules.d/ diff --git a/packaging/ubuntu/debian/nymea-splashscreen.install b/packaging/ubuntu/debian/nymea-splashscreen.install new file mode 100644 index 00000000..1acca22a --- /dev/null +++ b/packaging/ubuntu/debian/nymea-splashscreen.install @@ -0,0 +1,2 @@ +packaging/linux-common/nymea-splashscreen.service /lib/systemd/system/ +packaging/linux-common/nymea-splash-horizontal.jpg /usr/share/nymea-splashscreen/ diff --git a/packaging/ubuntu/debian/rules b/packaging/ubuntu/debian/rules index 41d42f22..71262a39 100755 --- a/packaging/ubuntu/debian/rules +++ b/packaging/ubuntu/debian/rules @@ -7,4 +7,4 @@ override_dh_missing: dh_missing --fail-missing %: - dh $@ --buildsystem=qmake --parallel + dh $@ --buildsystem=qmake --parallel --with systemd