From 4a33687b33c6f9f48d121796acec4ce12f2fa734 Mon Sep 17 00:00:00 2001 From: SergeyMC9730 Date: Tue, 23 Apr 2024 17:52:05 +0800 Subject: [PATCH] v1.0.0 test --- .github/workflows/multi-platform.yml | 55 ++ .gitignore | 58 ++ .gitmodules | 3 + CMakeLists.txt | 28 + README.md | 3 + about.md | 12 + json | 1 + logo.png | Bin 0 -> 86812 bytes logo.xcf | Bin 0 -> 150002 bytes mod.json | 18 + src/GDHistoryProvider.cpp | 390 ++++++++ src/GDHistoryProvider.hpp | 25 + src/LevelProvider.cpp | 12 + src/LevelProvider.hpp | 45 + src/LoadingCircleLayer.cpp | 20 + src/LoadingCircleLayer.hpp | 14 + src/ProviderPopup.cpp | 1337 ++++++++++++++++++++++++++ src/ProviderPopup.hpp | 83 ++ src/ProviderPopupWait.cpp | 47 + src/ProviderPopupWait.hpp | 15 + src/main.cpp | 60 ++ src/test.json | 47 + 22 files changed, 2273 insertions(+) create mode 100644 .github/workflows/multi-platform.yml create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 CMakeLists.txt create mode 100644 README.md create mode 100644 about.md create mode 160000 json create mode 100644 logo.png create mode 100644 logo.xcf create mode 100644 mod.json create mode 100644 src/GDHistoryProvider.cpp create mode 100644 src/GDHistoryProvider.hpp create mode 100644 src/LevelProvider.cpp create mode 100644 src/LevelProvider.hpp create mode 100644 src/LoadingCircleLayer.cpp create mode 100644 src/LoadingCircleLayer.hpp create mode 100644 src/ProviderPopup.cpp create mode 100644 src/ProviderPopup.hpp create mode 100644 src/ProviderPopupWait.cpp create mode 100644 src/ProviderPopupWait.hpp create mode 100644 src/main.cpp create mode 100644 src/test.json diff --git a/.github/workflows/multi-platform.yml b/.github/workflows/multi-platform.yml new file mode 100644 index 0000000..1cbfbca --- /dev/null +++ b/.github/workflows/multi-platform.yml @@ -0,0 +1,55 @@ +name: Build Geode Mod + +on: + workflow_dispatch: + push: + branches: + - "**" + +jobs: + build: + strategy: + fail-fast: false + matrix: + config: + - name: Windows + os: windows-latest + + - name: macOS + os: macos-latest + + - name: Android32 + os: ubuntu-latest + target: Android32 + + - name: Android64 + os: ubuntu-latest + target: Android64 + + name: ${{ matrix.config.name }} + runs-on: ${{ matrix.config.os }} + + steps: + - uses: actions/checkout@v4 + + - name: Build the mod + uses: geode-sdk/build-geode-mod@main + with: + bindings: geode-sdk/bindings + bindings-ref: main + combine: true + target: ${{ matrix.config.target }} + + package: + name: Package builds + runs-on: ubuntu-latest + needs: ['build'] + + steps: + - uses: geode-sdk/build-geode-mod/combine@main + id: build + + - uses: actions/upload-artifact@v4 + with: + name: Build Output + path: ${{ steps.build.outputs.build-output }} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..beb171c --- /dev/null +++ b/.gitignore @@ -0,0 +1,58 @@ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + +# Macos be like +**/.DS_Store + +# Cache files for Sublime Text +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache + +# Ignore build folders +**/build +# Ignore platform specific build folders +build-*/ + +# Workspace files are user-specific +*.sublime-workspace + +# ILY vscode +**/.vscode +.idea/ + +# clangd +.cache/ + +# Visual Studio +.vs/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a472cfa --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "json"] + path = json + url = https://github.com/nlohmann/json diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..72c8187 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,28 @@ +cmake_minimum_required(VERSION 3.21) +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_OSX_ARCHITECTURES "x86_64") +set(CMAKE_CXX_VISIBILITY_PRESET hidden) + +project(LevelHistory VERSION 1.0.0) + +# Set up the mod binary +add_library(${PROJECT_NAME} SHARED + src/main.cpp src/GDHistoryProvider.cpp + src/ProviderPopup.cpp src/LevelProvider.cpp + src/LoadingCircleLayer.cpp src/ProviderPopupWait.cpp + # Add your cpp files here +) + +target_include_directories(${PROJECT_NAME} PRIVATE json/single_include) + +if (NOT DEFINED ENV{GEODE_SDK}) + message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode") +else() + message(STATUS "Found Geode: $ENV{GEODE_SDK}") +endif() + +add_subdirectory($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR}/geode) + +# Set up dependencies, resources, link Geode +setup_geode_mod(${PROJECT_NAME}) diff --git a/README.md b/README.md new file mode 100644 index 0000000..26ada77 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# LevelHistory + +This is where she makes a mod. \ No newline at end of file diff --git a/about.md b/about.md new file mode 100644 index 0000000..c434987 --- /dev/null +++ b/about.md @@ -0,0 +1,12 @@ +# Level History + +Look through deleted and outdated levels using GDHistory or other sources! + +## As of `v1.0.0` GDHistory is supported only. + +# How To Use + +- Go to the Online menu +- Find folder icon in the up right corner +- Select level provider you want to use for this session +- GG diff --git a/json b/json new file mode 160000 index 0000000..8c391e0 --- /dev/null +++ b/json @@ -0,0 +1 @@ +Subproject commit 8c391e04fe4195d8be862c97f38cfe10e2a3472e diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6b53e8701cd99b4e0e32cc778bc541a647e702e3 GIT binary patch literal 86812 zcmeFYWpErpvMoGfmc`7>8Zk37GsB3PWm(M3%xHndU@=>0F_Q%rGgxHNlf8TI-Hq@4 z*@*A`yA#nd-Bp<nBm08Hu60So=!GBF{44FC|& zeN@+WQ#J7@4HLF)^V0ESvd_8mW#Qvg{*@ne{^ry@ z^=7To_SDbwgXj^T9Rc5NtJ@o*?s$KL%NHW({4qx^o0F61#{+Bu{~u;gCz4k;Y4c>h zKa9AJjksj5ZX_Ps`ySlJmwueyGkw4DertbaL+s4)+r6`Fe7ovk`PgxpgYi>_)Z4G@ z*Fr#vmWTBv=?xnd-Zz<{gYVY7vpo(&0ncmPFVEZjo(uEOwbU=DsrgFVoADhz#i>7+ zXpd?|YJ@J{KCXveFJT`Y@La_|TMJoVA6yYEewOf$?KZqW_b|#o`ZkhUSYwp?`+V$a z&^uZ0Xl7!j={Qzv8|&`X%H`(FC&f`hH5 zA7S(wmVe4d87*!)6_@6D*oZrK)g55?ucG}h>o7VOsJ_}I`n+zMc8LHti{Q31 z*#GnyI{2&>A1Kb>KAn*e0Z>7x2*K<8W zX1i$LH19%R&1qYG%lYvXZknOXD6v{JP``1Ji(s`y}rVz zAQ-7cGpq8>_!SMQG+yXI_Q|Mxht+oDL2*`tl|C%bc*Jsvi^?(G=Zi>}ElHGMSrb7e z4|)vIc6f-(jn0ptb9t+6D$to2CPM~5v&FMo#TC>K=m{p7zI zVIOho*ENN=WH579e^<>Hx}j+sj34LH@s(|9@)0r2_tN=mr&MN_0k`0sozc+I{aqGh zif2dfAw=aGKr4$?tkLJ!;kT}Kzj~KgKTn9Q7_1n@ybT?PSxo1J0#B}sh}=0b9zd4 zRUT(kn72e|XNI4LBx-|`NuQeRuW1MiV~tzDRr(oyoc-`TYvz?!Pj**_3MpDmGi-A? zU)o8!%aX9U#5+!Yr*(Jebe~Hg`giD=a(@UX{CcuDk7f%xZdxjSY|F5ll{yU0d&c{^ zaXi(^nC+_*XwBtWh@`Cf(LUqu=rHnEZEAmbB{|}{&*wckgHpn~BO4tq?j012aGU&t zi8ezDKSv3C83+|ea#ufF9y=bPiH?npGN<*`V22g=@mKfp5|~Xl=}&|zVuO;-^5+FZ zQv#_mTG!uEe;jQx$JE+4xDNM{NFHCEVvFxqW(}ra@Z+s?&y}X2r*1B-Uy!ppAbn~; z$4o`a0LFQ<#T+@&ONKkB{pyR!;?*$5^AzB@KVwy`33XRuwhe@_0vJ=r?ZxB3UE@9d zQYgbn5*qx(mD!75{vhia9Nz}%*78xi--r1p8GBZ&>v)lH^tJlra>0*ZrC-|g@&$q&NFSDoJK<%a0I!yKB+SvgrQ~kGuSdZ|sStfv>m$jJWzx4nLo+Jy?`ZVUCS4y!KWK;aYbd4p$GV_*Dw?!AgB8@)d!Z0DxO7t_`S@F&z{BvE#+W z4o>lOOOm23X|qF~EX5J0lkvL!w2lsqRfNGfq4_7Gc4I0UEaCkp9-p`iuH&&Ei&d<2 z`BKWHnc}v#co`1~#>kj?gdMvof(U6{zULc-mD+|MS24zq)d)+h)+P61^@h-f!I_56 z6#YLGwKvjdZWkFLqIf}4e?EiqFE+<7y$dQFWzpO*2RdjIo_|kgv1A}U(UxQ`VL!L( z%_{#I+`Hzh@cIkG(~t&T_p8MuCg?g>K@PhJf+_COuhgJ)Hz%%4&HMq{!Fm@>@DVyU zM5)F66}6NU^!WIY`YA*v?q}}LA!;A2#PP>uFIjqFL}iQO|AjxZmzM; zum$88bS53exTrvnIG_}6h}sm7G$|lJH#ib-O%fs7|4VGlh;%nRrR&PRxb-~Oev?BI zo`4j@GC)YDoi1G#R6#okeI+sL5hSlc`rU&7^N{x9L2~m!aZ;TOF9o**9CpX&K@?B5 z7qp{IyH;-*Her7|IX86#G1~GW=_EJyh#Mpc-y)t7aJbXoR|K)cDO=MnQlE#}Gj~{! z!^uJ1^MTo9s~`%URM=z8q7HMIbFjJ;xqcsR*ofdn5K+>h*K z9PI{CRPj1_MO{WIMP(4y&e$QDYG7kfBUSlUkT|6||JP4EN?HRy=63XB`JO$B>kr=m z^7|Sa13JQj#FCY8GgMk9Y_hFKz7RL0E~v$-o2X+bM@IFQ$?Sec!U^4AQ3+1Tx@@e- z{iSP{TY_pB;otjU7%(8g+R!QzTope-WL(>S5{1bAHX1`j`^k!}>0=_oW(9;>*KVev zYEA~t+H4^A3A9A?EbjVO`<}`5DqU1}vMI*Pci~ErLXyVF3(_#Tj9M98xV2>7(dEs|auNjDA zc9q1}SRxB@0s!S+Itjtn++O%wC^yAASK&G+W&FFVhg7f-lFpmF;xJ*VreKv$tMFs4 zN(!0O;Hfp-GjIhH_OZb1gQE|qgfW>EWJ^=*z56mzbC{xF>b+mR#QnmAUx2Vn1Gd#A zkhFTcv}5QfXu~!E{WyiWU~UEAGQi`G{#0R>Tn4OwHh}vAsiBK4Xv-uFyaJ0IR;ACy zff8!LC1oa7krUB$xc#?my=elc4i@t@Y+xj}g5>R-=wK*VDGCLmK5B)&&sHRY!g;c? zPX^vOe5VL{%TnG;SpX2Mm8W9=1iZ!aV*-3L_W%w4^-$#x``aAu3*=Nhf#lbs8tf^D zz&llomjbQhvOWtHL&(O!*fs!O=8>l&N{hEmB!el66C)Z{ihRuHb3dAxtZehrW=7YT zK$3V_HTs!CQRxy0Uud>rq} z(_W9dB$SxqDe}1#L!1Uv!M;dXs7w0SE$l}EFWDo-$XK)&LEX#WXW8Djaq?#@>5d^c z>UIUAvq|WRdvQ5=dkv&2HsCeXiW!Z+ml4(82&RSEAb92lH|^gHzZTkky9!4AIQDM9Q$`ophn5Yq^gO&q!^W`AX6>y=8%khyTNZp)Zbl5fP!B4A zgVIuTIM6s=O-F{T?M}@@?@vmb2CsCNv9x|*pe8_}jC45^aLj0RS7|4oY-K10U(*m= z8guMYN!6*z#5z8*E{W0spTId^_06~Pju~JjHwWstZTYbY`J!}NWb99fxH)H9pi-%R z44V)jS)Ku|YqRJ7-h%kaLo!%nTOOXoch9$MQ=wSSl4*S|(*azHGYhh3zQ?Cn-5Q2=q z`;kdq0w;p-!HTS|!cDeK@xb~y8}EwbSGLHyl8{D*9ozfdJ!5MwDRT6PH`*Q2q>if~ z18UGLKQH&4b<4gE5mejJ7}VLFkqK2PHGz2^kKma7DEaFc-M)V3HiD8otc>D0LNp`> zXbZP`%EqN8U28PW8U4URZ%w+?Q!p`79Es=62J{ccAC!gJBb!ZkPP8d#F{h@TyjJNo z8g}f9vN1&RVNrI9o>vqWNR6DAb``IN1RBRUq*8|Rq^mIRUlB}w4G(Slu(;(X8BCUX zPF_PeB&wzomIb-ejP#+X$ir!!{z`b69xfw5?~7d;KU~CQD?vMUa@-~c1nf;Z)yEk> z%p84AihS?unUZ0=6kQlf?>y4{2(&uHn8`N6eGBoiobAwG&f2rzfcgV30KQ%t8K}(U z3(d>nLnYZvJE;WZSZX8EM2h%|73IFG3U4`nB@#F*l4)>Pi4cJ;^&*R=Vdw#sFtcr{ zX;}g<3fQUWr-OEP*((`k8Av2Xw?Jp248!ZwO9woJKCL=SW$Iv`IdQe3tlm%7W#AU! z-Rx&y>(lwgZiEW#;IfS9FyvXJsc-pj63pg2_t3?YY7c%K)i}Z+`AxAthxe7ziO8&9i_17zPjBNTIY6e=6h5GXiG6m?k2HbI$FtsJgM;pZ>dY_G zaxPT36xLRG#%4)i{1|>|gLCY}k48Y~zgzx@in1NEN0G2BXN>V9Sb|0lT(>Y&MWQ$X z6&fvntECKoAjGb~3UFcN@U<9;wcKM^qy*}h7z{2h9ym;~X3CRz%a|*eq7>E~)CMPH zaz(k17J-^1?*YFG>jSrNLRoeQzBTiOwri-uP_jG1gum6`5wdoDVuQK5Rc{hip|Tpc zQc{H7DIQ*FKC1M2uEVKHq_wq@Lf+Q~;ovh80b!stcyM31DzW9Np6XR5g+1yO4#n}O z&$HX=o6R*ruznua%9R=65|P5bA(Z9P0;?ZeXbhm%#L4nd+hdr4pC7%pcJp#0*oQEn zq>3~p{Q}RBYiMTW%sIDUEt+DS`oxPPd(*1Kxs077?Iaqr0I|lXWZTm9W=Htn4`$7- zoaE;abibgmK=QUWJuB6a#S4R5Q)aIEZZ>gX!n8spKYfv@G;SO`M-}kAjsytkc-Nh{ zUDmJ_{C2&fOTMn)r?vM_yjH`D92(#$;kREl;a1QMS{O_kF8qy)`r+fy>XUcaFib0o zSVWv;R1yjf5TXPORHmop+s>DYiM<7PKW<RFES*{~Z6!lb_Wk-GqGlsQF{!vD$39kV1uxzC{ zpG@pPU7JVuET~*S*Wz>eZ9$Op`UqboDo4OjE|5{O(^?j#EKj!?dK{{aT`&yE*7;|! zvSM=k(mEi4P#FOYHA8^?JDM3!3OWws?no71}B@A9!zU3bzuHv5a1=vA|1)2N5k@##!Cy@Ix@N5aA4f z7rLx=_Y6d>v@RidOx6$5$bG9`-iA|x)O*(RrS*5Ozcr`D2r-+}p> zS7MD9-mEyr>JD}nDG>#Qfx|}G1*`b%plNQImIqBZ&|TBLZ!#XFj@eevXE#*8mNlS6FsH0cBA*trNfQD#vQAK;zF z3C*RA#&hr#c10_f3cvHWN~fs^k#1#OP9lWv$c^$?ZR+K~jziTXbDCp7kkExyJ?X`Q z0jC>ktQB&1|Ix&~h_-86|1=W_nFRR=y@Y=K$q;h_ATyWqS~4_gI>UFnH@Sqh`FR%(@Sbf_@XAlY6)mY;P)x^K&llEqb2B9YN6akz9Rb~3*{}G%W3G$Tp1Wr zXpMCgR+zdWJx)ICNdF3q-pf+D7rf;;^7io}+=)A3UN69D0zTp6PP%_+fCf#Ftr)8m zqd=_>riZ;OeWqDQxBqqHBAzOITtn6Vi;W0+ z+m%wKz<-2NzyP+#z6gsYVl#{L7CC)fn1#`Vmlk7lu>qk(4>ZxKfP6A83f#OhP0=;&Z!7^Ix7kFch~HV6j_QH zy>U$qYx~Ssmtm+(4}~j-(=WrR<39J*g00$pOqIRm z`)No=YPMJGj&NV={nhZ?z7ubYq*du;0uP;mK^bYs+3n3*?zI6|@t2KnH$1KE-EhqBt>Ag2ci!EJF+1KFt%w202JrxjkH8=m{;xPbj8m zn$xF%5mG#WAXb98ahQc5^+>nA4(`e~lpvla91f{fRN*#XTYOB8#q6wUc~0vHE}blT zVabxK=K9EnjB{#2=f~CJhHuc0!PqPxp`jfhjiv^_SP#b!??5K@Q)@kuh!mM4*)XO` ze{R--RP>&w1p;Vex)9<;Kzffj%uWxGJ)zUrA#XHHe`*=4Yo zb6tPl;#Atf#>1trR6Y0348vS{(@Ofeh$eblnh+wCCKi#U=v+5tcQzf7>ZdSPM z^CC1NM&4bo@p`% zXLDpcwtYf#L+~kfLulJ=-c>im%84kr!sZC_D+LKALPh%?S6QcotEiMnE=XMO|}# z?b&V~uQ3#kAFm9p=jr!J(-yLFh3zU=Ip{ail$Jg37e<*Fi?fe`Q_T%=T=SEy#Vd~N8#XQ3HL{mhOq zImxKy>hcwwHLB5kp}+5J*$?S#w4(M!uguCLVi)>-4n&fB0ito05|w1KwFFqV!k-Z# zXH{n;U-8b=cuAxy_ZxRrn&_eBr;$x|Ny1=$=<6DtfJc;;jxn9(cBZ~qUM(tJv364s zq}CFGYh_0=FWQ&UT%G@@gfMwxI-aVLgC==x4#o5Ci}?0c2kGuhaG&L=ac_ArlXSI; zok}A?o5^?wq~_D7p1U;|u|xDAi@~6ddzq(R*s8Zvc!!cT+_+)y%v|0k3HHFU7^>oc zym{S##G)5Ay@6OHEJdi7kSu`kG)?oaFul1AF9QyQ}=M?1blOj5!+@Pn|dHPzDLkGRt$Q4WiThtXmji zk?CEIg+OX|U4WiimFB3efr<43H0{cdZYJfZG9+#yCaqgE%)ElO1=7bd4fDLnV|VQC z&Bm^m+8E?fLCyn)CNG3pGH#$luI#vOQ5tNC{K0h>kpjb*oiV^zwmMt$g*1_gM%}mS2F@4k+9|rk-rG5BF&yG+TFBBu(!NAwIS$^bU-KMTk0uJ_ zs=-qI{%Yww$^I>4@8;_#?%ogg*AxE8UAZCRMXF6BEMI;frwqvT6xfG%T36J&M>?Z4 zT(PRgnYi{xQ`nJkzIMIkOyI_#XFl_+sY#&Alcu_*q$g(oHo|Ic*-uJi!&3r8(;zZL z+b9j6`^*`pdX9*uLGrEI_K6IvDJ$Gy)^g%A1e=u*%LCv!$Em}LVa)C*lB8RrQiZnjejtg2eTHQw1cgt`Lk6#HcU_ zu0~k0zLGA{v}WcP|CH7t8Ak;jiow16vsauW+Sys}7s@q!4b}Qjl65vYrSd&D^YcFUPlxiQa-=plag8L>wD{nrn(iUmB7V`bT{EVo$Ud`EQl0b#Q88bLcGb(paS${8x*(ajEFakn#r0a zmz`Qp{Kn!K%S>3?mK7&z4{4MTbJ5|JR23;b)NB+X!*ImYLH@NJU97MehXtyG3-5&m zq1Iwz$}(bN|5Z!yZX(AwQ9yb?nBbeyoQ(z@GS+i1shE2M3EfV)290Q_GJVsrvCC2T zbP1`9vonT10##FvBlio)^yd$S9Q(WjcW@ z!gKa)xbcxk-=lCoNdSBg2LY=f3*5$}6yfnJ_YcHI7e)M4w{1dFU$dHVw$LLjGfY+o zPX^VpTl&27xxd3V$bM4fx0!{CByOwmdLH7rXy|1du%P3SBA~*$QTW2nLZ5+mMd2*I z;5LRmOH`HfmD~0kYt?3Q4=`mRJ-t=Y71o)-7!^&NhQs(lb!^n{#(O;b#x9Zf+@ zUiMD!X#oK63wb%2nAw8dNK8SN)(!$>7acuhB-Z8vWLg{wKm{i;kd?LcM;DOVM@4nB zkG5t!=43*G@cdr9?*R57Hxm*sdpieLUM~T%zqq{b=YN`+$w>Z+xY-JjX)7p`h&j4| zNZ6U!nShKEUe+G0WP-Wb$NVa&)m|X5r!C zVFt1?v$8V2OE9{6JGhy6F*>-C|AF`ihB(O8%;i0otsNam{$QGzI=Z_FkdeLjll+%| z_D%{4{|)cp`cD?#`C#@kabjj+0y5j%GykiGtDA(!JIFsB`oC(ps=wFBFsp)G9o=2b zKoTAx2RHJ6g)le!Z+$0s7rVdVn42+!>_GPKqOR{&S^mwWl#GJ%e{1}qz|z{@>95v1 z+5aZ#W^M65Wc{0Oe|r9g^RJG)tN%Cdze)dB?0<#dr4$r+#U0Ju|F|b3E znYB6Z-%}P&b5>3hb2dgGs~Hy~I|my#qbWNNCnGnTIX9~rk0}c`tHr-S$vC*WnK+n% z{y@EhGg-gmu$i;4aZXOmkAO{!lUm%oRtlzWJ z#O`0c`U7SD4#mRC#?8ZO#=*$W%EiXW4l*%kGy!pQGqSO8vvXN+nsb?OoBf3{H{+Fb zbg?&iA5Lp~6H5@YlY`~ojz5I+iYUtnkg+oT!|LA_Wjhl$i+2S9GI?tUcd!2uRkyYW zskxc_VUvZ6g^in&gPjHV$2uG9{|ISRlnZUH;% zzg;9Gf76!N#OxnNTunSc=6?;n>;0q4%*w>U67+t5|1+WftKItlGFTv13w92msR<*9 z+nncpytzymc}&bq7`eDCSV25y9Ngw6?EjAL>S*ESY2pGBv3!s8J(~9f`Wp=i&0i{M z|6SVC3iO93AS*i~ke!j0O`U~{mz|B54M-2<<^=-DnEx3t^Pju=zar*m{{L{o|5xB& zrh#|8f3&?%FYmJz^M6lQ|K#isjsFin{~U||hZf$U|JTTW#P9#o^}lreM-2Q&!vC9H z|4Y|@#K36A=2n6!r&w#{E_dl=iNSg!#qA0j@4b+ zWdp6K;XwltpE@vZ%bUthnD3R!O60|P8Qn4aEseT~-| z0h4EtQ^eKAk0=3ePG0twYbzctA1wG_wk`k<=kXtbFDi(6w8rO<h9bbcv;?+rB zRN(W%!9F=t8=t@Xph&U-m&d2G|Bm-k4m11qG=L{A^rg?0dVKvIDwm`ko!>L)PwyGz z%m+P`mpaI)+=8}0?u)old!0j0yaTVT2%d`kGDObH2fKVb{YMjA(Y+~37k04a7^go} z@6Kdb1XmlrLE7 zW;}w0FD3bMymS-9w5qS)F9^C@k1sP>pW~$840+dIZN#5CXbv=Hh--H@tRBZi51>$0 z#=0d;1o`%Vs(P-Dy^i0~FUie4;`og%sonS%p&U99l?aK``lt)W9}(;`DjM;^BPvDQNl{tz$da-E;e@GG2df)gs*b*6sN*U>bIB)PdAOq$z ze}py6BVUpK>caYidjR8;M#wL2Y2QX^zg`X)(Qlj=$prAH1N=Dy&yAlDS9>swi#??g zRCyiiA&CXQKMPR8h`C2cBL+%RHVp&|G0*yI5eBi7ZNL;gesx{GsrtZ7Gr*y~eH(KQ zb9oyGw@=$Weko9tfo?e&sPj!7^%}gEXPOQY?a7sKV4_gmMm=i z(M=^fk#kg4?PDTK0c zIY*x=Dy-(sGik-#Pi%>EN<%)Xm0s>ZAm`ys79%c|Hamu9g^JL~rFTxh?u82`2>%uv z7u^fT;r73Gu*`n@vFV9h<}Ix{n)|ArV#=&smhy@O+fJ%26Zdrl#3%oV{Obb-Sy*bG zY#AcDlZ-VR50i*5nmTyg@|RE|KV=!csmsb7l%|6bK+<2GpP~ zsOW-My@#lUB}gsGr*0TkuxgatbDfxe;eqwrRp<~vM|{`&i2Zu6y5Ew=!J(rJ)G3d| z@Mrhmg>I~WZSQO!@L`!E-z`r zibO$B{q{m4poqy$n-bJ^W&2DrQfJid`zhi3uoQR5r5KNSdJLDeyDeQG!!v+B7aQIV zl}%4TK`0 z%l9Z3dmqQ&^x!@*dDE`|YRg1e*{8gcQKDxy2cd4vztE-1_X~S}BolYJGbftQsb~Y( zwwI1E1 zC=$QQwks_s4N6$RmjSpW_@AYxqh`UFfJz=VbNN|F4`mC5K+#Ze;}klM!PC$wM!K3?i9^Sdph}$jz=SR^TzFgCaAJOg8!smjcu=485sj z%vVWWYCauL2rmOyV?PH+m;+#(s!g{HYn`)E@~h<>_d2M+iQ}^Blmc{vEd6u*U$(V` zFu>FW5d&|g-fGjHE8L<)AG$58;7*$QP;q-0ytJi0EC$4v0VIhvM@o%@4PVa$eK3dg zGUtWKQkx1dO1`Ty$}!%C&phGL%XYUdpvde5r?a2K4`ZcIozGOEPzWIg2t$CnqJ{>l z!+te@ig;(g6NE4tWjYlOs^)TPNK`~IAn1MP&PBok4n}G&=UE|@FUda@j0wL_bFCri zL9Y0|Al>rACtJ*@q@e|-#ZQiv0~<&psfBYzO!b`wOMPWGG%+D}Pnt)!UE&lKPn@OW36W*O_?Z4b>zB@t0C?|VCVRv5SnDagZ|Xn}(x>k4^(dS3WR<5R z$ayRzMVs%r&BEB!t;9g%k0xp^8~f)sAX^<0hspm;5mNhIIslSI2|#N+8q5ohq4Ryd zOeiql@ZKb-qrJwUmFIz;scS znTA#%s}Xq2-_FJ+y>dDgLYfPoUVU{&a+jgJ-ISJip4`3|Wl@OrL`cwfKvE?8d&sBk zR_xnBnGFOr==7q3V^Q@wT^>DUqOz~d2g`8$3F^VI+jZwrfgdpCh@i*8|)G71$U0GHE$VAy|)gPXR5~PJm10_o-(v-np8({N8Z$t5& zAYp#0r&MPwtr>`w@Ztguq?V_>Rqe=QsACvqGMhwBQ<643=)i6{DjislqtIxo3S^JQ z#ib`XV=qT?>DA>6_fs_qDYhqbk#qP(2);BcG=-&a^wM&0Pgopjv`+^WNon{q!9K;+ z@vhG|CRVM8%Vj=^#J0>C&)H=DDwmy(nh(@?Mk~@EoV!O%*zUyT%u^=@nGgn<(rtoC z&x_bdEV08Vq*w0;;9unnzWx?S4-E5RaeC$R9|luzxvuJfIiiBtW-epvmwOJ2q2Cv! z+m)Y4z=wJvR>a=sJKhbzD0o^5y%rpTsMuBdUPAu_;bpXgV!$$-7%gIhNhuRxl9SD2 zOZOC!JDTC3t1MngQ2*^>-?7RG2`Xpr;bPZSutU3UR)pZg-th-`E7QT(X2tr$@Ok|X zQrpihQ=FJ*vRVP|O#ituP^@xzLJFLz5!5>y zGNyd%zu&;Ij4vRtH3r6zBFycET%laS*sYdn_;X4_D~(#-o#v?&p6V=tnkNHWRK{S@ zfT&EkPGlrHAmYRH-cxz;(Ia1^^eB9@prEt3W`C|di#E7kQYh`{kb09SybbAaYPqa?r0hL z9p=Focy`zcA#Rl_QH6Jcg}TrxK@;Qp?|h*`@gab&Kt&h9y4^v`2~NSR zep-|x{eq+^32_cmye6sNOk6vOm>>N;9u=APQRM15agnkMmhE%i3y32jxemwPD0{&{ zruNj}bJ{O}e0qFDdv8fy6rpWY|9jDmgczZMB;D?>gE5J6@|xEA-n1W35bAS@Dj69? z*c$XdO=9WUmKi{*_y7%1Hd=OVGkcx`2X;54e!>H>xaP`55!%S+Z@Si^{(HrnU2_j^$i4ADnQr?x&%WP8d*X4woxR~| za%JGQCvBB8_spv!k(kD__8E`l^_O_^M9-5(*szVG-?I&|x2=bxn=j265)zsO1@sk` zs1RY-yV0-xlvmB*XD$7NYI<-{P-D(n(2YVgVxLopLLRo;km(DRJiVjtA~?U|K6%|5 zEMql86HyppPpOig6ydNcy32!jDKgrtg>*zjCWSsE?y=PCv5sm1g3s#!6oGVmjTKRH| zma-GWLt~b4jjBk)%IhRf0_=>`eg_hrne%Cz$$Ds0i)wo~%})vRS}bY=#`0DhzAXHe zmAd;8Y?{iw>E`KA6`yn2W_A<4HTzIpM_7x#cDYf#-cWbni%}+=YwmmFbcxLp!YJB@ zy4^#l{9I73QvsIkJ5wy4syLS+(eb3}mT8mc(ESXB8pi0q77t2{1h%AA5)tYO_dRJP z!CI4A4f=Oaabr@ED}qX8k7_OC)r}b+0 zcgIwz+7B>$H$NTq5!1bTe+@byOg%ArCU(_IyCG*UF?ezH+d$pq0v>M{T0GmCJ~m+1HjWs*=_D~lR#qp z9NHH~yXM1BKVO2$a71o13T-5L0IoOgj6J1DwHX1Yh$}>o6Vtl}Z9TP;ZHIU62h7se zZsS{N2}I;#AT7sg2igRw>Sl*Zo|>ZI#9-?+n-3tuhjn+z&*`MjE30T*Rof-`nyEc1 z&gAe|^c#4-|BlneF{s9kPaEU2%BLpT!4u+|=WDs6(Yv3bjwTBSeUkM~WmRt6EHss2 zew#>-`(X|6-So)tB=;hc6xz6MY4N}DciK$=PV391s;}Y1apD(q(`^HLN5aLwtygY!S3LD_5S$5k?-Vr zr}q7=uB2T#y>KgL!-~N1y)y_!^*d?AU`Xqc?=GCUQ5JI}!LrI*dX2490b^>5KPkF?O)v56whnhqQsL0t8cnvNdfF7sQqvy0-bL|S zliX~O{UnShQsVW%gEOyvRTV4Fux28Bk#S}Q3BptnSEWpC-(b0)@BlzWXGU9AMU13{C4PC7gK@N1EuY zH_8&Jl$xKJaJf5B+33<}PMx)hSAb<0p-D6j%uDBkjPhrhXXnfq(<#% z4;9zfRHw%@-{M)W!k}84k*vujg)BtWVDzAWCoI~)Ry%X%M~j@ynt}Qqd9VnK*!w$; ziN^7UvO3y{Tsu11E*Dqah=qMYl4+FCiJnVor3$`c!4dWy9E!@HUe}!j&3vl+Ux6By zaGp0A-xo)JWYmFyeDzz?XZ7e?V>5q|dCwA6E4-W{#T6eULHollyq?t=$VbMgE+yUu zj|pxnU3Q+iyrlafIZ<&AO^f-SI%jd!=BsCUSxJpJX{wr4fhs`(+gJwFF?G;$n_ps2 zp~E2Ik+Re)Szry9tRk_rvG~&q-8C`k#>)BE`8CwMQY6QX2Q52g$#6plVhtY5RVS=r znmMGRun8|pO4bFS!r^51hHCgV(2(G;OH6t!@ljmF+SEuRnsjV1SsF;t;dz49D|~Uq zW5GP2;9%*j$j6HZ)9xyE>KZsXoU|W#ZLW;M#4%$LQwT~U%C{F~n0kLIr``X^^@vMB za_MJ8ViHa-LrRvgw8$&eM`NbFq@Q}*YMA0%@c!XJJ=1e#d;5u0Nd3DNDSjCG=sH=i zX+)O&LC{&Sg^9~~-4R3?WJ^#nYM*S_km-cL{H>QB_D38Dl&1E8!K_L65*cpqDdnp2 z1}ry`DBLC^+RnZ(&dHA7I!dM=ia%+xM%C#Kla!a4r@4YAfY$@HgS*OH@i_fK``{Y< z87XLd0_Ei#y`}V0qkJWGyRw1o&>nQEV;T0er&GBc+v;Yj)%{T@%}`y+{yyjDw3IdW z^pv*z57A3h88K#EY2Sj}TS)U^ByipIrvglQP?aTfXrK&k(Wu4{+r&nU3x3^OwZ}5F zrF0~1>1U=SsHF$K9#cD3MIOfS#`k}qJNXWb$W5uUr>Q+fp9?BkyevMa^emBT@Vm*t zR$g&hN~_r!bIE3*?bOh9noURn3xD?Ha0=3b!>CY4v5wwaz>6qvik~tq<2+F{`!c>~ zLob&W_NffT$Y$MLdrVCWlBko(i^*N2Ei$gZ)cKWwuv>?>w(t&J`kL)ZL$sXD9<_>C zGfX^3$@ZIUvF_n_$4JasTvllYXNwmTMng)|aUUy2li9R0(wt0=Obu6Ir74W6ls0E+ zq}?(oQ`J^QvN56snb_HlTFsroiwGJd+|Z}Gsp=@^?FC3}z(eW*vhUW4W$VC~o0bw8 z|MMPdqcm+MS)bz~@+dlAqmk1_G(Q@hIhrBzIUF7<64fF|Iu*3?1B}Vk4MowxuHo-# z_+L_px$RN3YUZ_=sx)GVKT{dWIfoI+mc$Q8c2&U0eQZ@wjqMMhWbv5JKX3|HjQf}$kw(7GuVrW; zTBt0GWW_0Gb%?Q>l`^r#e6r;u?nc^5^^w*A`&0r3JZlFBB42plNYbO-GigZrETZ=i zr>os1?>9ldiRv6gEbelRLeC)oADnmI)O|O1jgyN)>tx8)TD%Ks8r8Gefl4ZYo7IaIY|l-lGYnZb+PR&cwe81#;2{V-t$*uy_$#aL5) zBJsgADp$^TzyqkAN;pfc9=kYL)L97mZh6eoy|Z6*6TQnXr7FN17wRl1)FG`%62%?9AmYTu*r3d1sPPjRm88``! zza66lKd6kAkMMBnn9Loj2I+m8?1#0gyWaW4Ja>zbI;TMe(>H8PpL!aUx}5-K!D3dL zt59&Tpt082(3h)+438=VIgPs@J>V?ENcDk>HmxIRUNkaAp^RVE9&L;#54{D#Db8iR z>}Z!=CZmMY2c*Y)@_zuyKsLV<%B;S(5RrB;`GB&|@Ihvsf9}8CCjIo)h_;mtT%I)L zEzSX`U|niUZV4ru6k@b_F;`0f<#Jj5+!(;L9adniZ9!D!5g!fAwVq;TGgGpalISuf z*bx&jV)KS3pt6|vfzsi%oaDF%wdIi+sT(v!50TpTOtsd%u-#C>1~szcQ#!_GZ+&p3JeSj2n;r)U zX=9Z@ecxeJ&7RD2Q>0Xdup*|xWIHuNi(aLo(`|zvH}5U36iRH;%G{C zF+`4S*;EJ1F`-m4*pi%bX2kd=D*y<4rF~lS68*rk&)W%}&)iPd`Dg#OC5E_z$PdjE z3=?WmcNEoH#L{Ld>Vf!B*zHO{J(RXS^I}JLpuwP1kF<(IrC>zX%!DRvQ@mkEr4k53 zce`sdG{e|}ZO22I2wDP;=HX_&5Fb{4<+YDuyN(#cH0WW=As?=+m-dKcJ7dXP|M~70 znBZS|ONz4t%%elneG_bktF3GvwMLa#Y;}X_3f?H>%_$XDYZpa* zyd7QU-D2S@8@3^~{KtQM-~-7%Zzp)(z6XAzN!>RQrDrpu?r$$=$v?D187^IMP@+sh zeQB-YS_37+=3#hW@MKUm^|ED_9Ll_)T&8;il7@^3_CeQea7SU&3x#3LYq?aQOtm~* zS&;ynrTO4q4OKV&{lWBlt8;>~W+<@7PYkkFbPOEp>(7&Al$C>`I=qsnSUMvSr}`>d z;TC=5W;R)a*@9WBagS=~Yx6>8jYgDxMnxQ~;7261TSbL}yck`lyLTG7M{%|nL!blP zMrq4JpE0tmSJi4lqwz#6tZyN0J!Yw9KWc>dAi`4{9f-xk&Ia=`Oiu5t?dbc;KErK9 zs$RT2og)@OcoM z(>+R~+;pimjNe=?u`HJgY0T^)@xFRJEcJ;8@8PKpLlJ(x-E`EH<{0x3A9!7JbjF$m zlvPz`;KjMN9km1#sqQbBaeaB%Apig%07*naR5XSXHyTkb7{3ot0JTzTB~Mac zVrv;8tPPvA8mhD1L)K}&#zNtZMXIAEV`Tt;wg<;n`lOA z1ZR4n&Y+uvfN^WrWCWt6%$86bg4hT)Tc#Et5r=E3m@>&=OK9uv zV6ZJBv?vg&0~kt!i&Q!<&dif!D}YHYpgG-AC?g2A%rOJd(%9jFRUX=kT}KsYOfG92 z)g7xAhJA?YLiTeBs}7+&_SO`IR|M*Q5k}X<%s)@(D42P_+^#6(%0FP!&R-- zlF4{mi-alNggMIt4{X#@Qku3*60{SOUPeZj&ax6UrCGa1rwZ_`&*dE6k?!-MyODX` z8BwHgJ>2G5t1{H;?^4V>vOO8~V>1J<&b__v2_ZR>lpf|{DHm);!Ty*kHlRw8M0r-Y zReEOUCn0Hz1R}H0HZe958%IthnU&AXXkf7=oT!`&wycMfGi5^%lH!Q8gz(t**gzPl zDtCJYlSLbGcUsRbkV^wU5klD=NcdX_zus<$Y2Hr+#(E zY>O|W^F0MJPbue;#~qhe;Q~Vi%HaJd7dy>FwvpXtTMn;Fa`GgLf3l&m6|+m#@nbl3 zX*n>pRYYbeT;-@l7=kwv;Y2wyA*FX3IKQvb{rd@?&)jy_i3($`3_v(hG96u78vaWk zGIi`^OhrtKbQa1x&qo!HTe)_$yj%wwISdMEe|q3aA`5fGilV8rdjI3 zL$WGIp2EiFaR$|>;84kgR5?Zv4B*BvtNIC%jx%Nxi^_hl74%V$`mP3*`GIWpf}}jj zvNA?MW3XAdmR5r1NJN#!Ah~*`7U$?_n2;E+PHmH%7RO{0m0&$Kg|(aB3$+F${Jp2m zL2v~dOioD5TI*o6qf~N(h@tYjd@x^h(XELO!h2V0;vzwI*fuabv&1i zVk&?#nWA=@YE1#+4A5J@Sx83gL*vFfl(MzB2<7X*4kvloni#pP?+sV(-_`dBpm0!- zSU5$ijI7lkoK9>UG^6w-)pjNMcFDS{&cX|M>;?sIb$q!}_L*_{JSC=R22y5LN&b~R zWT_ixxTn-vyXDKkh9IyVMKyM*29LDbPBs1KMq&oq!0O^T#MZN^%4 z$RN~%*~DfPHuI^S=y2O(D+P}4w;b`D%QxE1?;Xz zy=8t^jdMV)om3;uQIZ`|*OrrOu{PJws~1nM6j$N?UC~Z66-WMvwpS3pfSKh^Eemh3 zZk1{uiH$E+lKwLYE!0z*AA#%?fnSfnafLm^0G4pp@A_b;G|)tF;v?VRt0s#R z9?R>7#I<};&2Tn_Q4Odm+qH6b7biAPC3imWO21#t1L8UAdCGiNVJHPys8wS0F7t_$ zQfK`mmBw zur(4^b8b}YBu-rlXmLxiWRmpKr|9;p^+9|7;hL|1qr=tku|pq zs+RvyVO6#hNt=30H)&ExZX?^Xr`b%|YEfK9;BisUg2O-+2A(ih?c&ByB*KnLbyd3% z5Tjf! zCs>NwBa=Q;rJ7X01MQ3(le9+0xC#fggFH-@Wv$@2q!!pdb#<8|yi1aKfW?g-c9Swi z-8g5pc&3tJv3LPg9TF3!3lb&q|vsxXSiE<=fC>590b=G=GKA} zrP6GP?M521&)oJnL?1;M++Fwq?>{e8iu+)lfi(1FLSoASqeoP2d2PDBbJ$^R-rg6k z-IBYEq#>tLqgfS$gJuP%H|a1AQQp`h7%ULgG|)i3`oZWZRbe!&Las?F^}sg9fAe_Y z>;*vGUgBJj42GN9Y+=+9I#6nMi21P8=IGqEXcbZdHSSR`c6U*HpABC~K>h#rmkEQ`Q;(ul&KDyMlY(JYOnKq~bA&7wDvMws9qYxVTDIs`G4as!*^+o@-u}kc72}8%iXV zlu=E|tI%4~#91J?OR4_OoH6$cOf0zWkcp`{JXIS~C9u3oZPwZ7%rZUW*-N&duq>Mr zhdXlqP^{>ORuydllHOm{p5!jr4B6A_!^t7ZEWgl!@aOv#eC=7R}y|A@bt;0G%`{@r8Ngo*Ly5vVk}-r z4d2~C_FqZYr=0cn?+d<_kxFh=88{Nlvh!1yG@%MH#=6$9!MlE|Jw7IdNceBMt-L9S z!3;S#Hq6LfCruV&Gl?R^%8F&A%|i-DzSOxOE4WB1L?Zp6PuT_@ZDg1nsNn?uVnTvY z5VD5WV%c+%I#@92<@B(v#VT9IDQA%s&{aq~S=Sbp(1DdDsm;34@cIO_oso+(jnP=3 zKXJlxs?U`Mwq>=CRGhiX7};S-D)Em3(5Q9j66cQO^3JH%*rR6e>u@NBk!KlG|3XyH z`ZtIu0D7+lPi>HeRd(vTP=qbAI%6nYR;geDLITm19C=DhWiY%g8m)yqTL{GOCX9~_ zW8vL!L>#kDSSy$D@GQHP>WI`Vy?4{8j6w2<-qeS$hNQ6puwDAXGs)bc1TWw=2_}3Y z;dv%gdXxSqcNIw;bd}A14auY>qXU)yl@QA*JD{e_%>g{4Dt;L#K|SY#nWWJSQ)pgn zHP0q;gVL*6Q0g*8X)x*{gQgkCk|mL7ACRP0P(NQo1}AlGU=s|PNM#sop4Dv1k*z}9 zh+#YKw`7!R5~j#mpcJM?T}o*>m#XZuILp_WrPA>znRy%RkFsuS*3J8qyHvIZ+|A8( z7qv?ITyc0YXtF=ZC*1a27pB3DXI1WSQScN>RKqCxpK&j^@0Tf0WW#J(eUFE8YEl=> zwe+d0W6OA!k+)wVD#mB}=pkd8_(eFbgh?aYJG{)vDl1 z_jg&SZHb|#dVwj)^Sm!D1Jbl%^9JLbl)g)>w2@xNltNQ<-AH!EduhkjN?WS-b#II3 z$gCnQl7c8Yc#E%6~ZkHRk81aA`umpl#{2o*5|Hd?zEJs@5qrV zq;S7FV`8F+GhTH^rjBVh{-2bg@({?{ zlIb1^p4CLuZJy_J?14Qb;YlNyp7tVS55&w9#z_6?w!#UvRneJA6te}&F#Nn4mpO@g z9Fim>E@&1uoqkWPF|7>mvyTpUt9VwK`>C0#u~?q?^4n#FQk4bHwMS}(*7Nzb@2DCC zQN?3`+mlOvK$#`z)OG!fO&HZY9!AVKk+;YC~1&7<6^rXu=~lXf%g5$Qo&M4+#`87Q$Fn8=0gN z@f%}hZ9s(e_h=y8Zb68+W3}fGf-nMSpU(70D(M2J9>F+_1FlUn5jQz|RqMNH(wW3q zhb(RnmEO(;L~*ho0{1+%AVx&aX2J%^v)L5j=JU9cJc+IYwW1nVAc1Muw6GsqBPt*+yaEa8e%*lw6*e=Tgxcb5^Nd*W@^rG*`pFlQJ|8 z$Elu4rvPeMd9{sa`LkX}~mUU@2T9wZcjfXm!CnK6!X2ufPjP}r`&u7l8NqU5;ONj!y z)*kbkj$7{@S#)=Ur#6H*o=8Bi>9XzE!C*MS%Y>8-VyUzaRH~~~Y_}mC#Ab(LY_}UD zDE#0vmCD$H>2Tv9pSqt!ww-wBd*Myzkk-UXy*d;UL#mS=i0KEp!ih7HSC{E(f9}~> zf?*bt4RJ70LjbmCsstf)t=WdCM8Xvus{$8Xn`;iFiP6vQ_iD6}MmH!;V5M3>j6I;# zC01GJm9oeBdP~kS+Yg7peiyH3kSdWXK~Wo-eq>3Py7D%n(m6H;V>s_!@``{OR=?Py zwNy8rl^3`uY-lz zDWjBd=J0S(hn@Z21T6|%Z4y=;I@V%6f2bnLl-PXINOI=u()BF9=g~AKt76MFH>o0` z#u25?zOr7j*=JsYw3-PJ%3&FiKg%=Z!yq`TFkptAeLkgP-=)FMtA}@#n*bt>(9xVB zi_?Va_o)i{;b5MyC1G7o*Uvz~Bsywwb3MXCMwPJ6-cX^I)~Fw+>j2$fii=} z02n*`mVzXWE2fq?&X&1@L;Uz+*`|+PYhwx_J*VkYcbzAKS}Me5Q$Ef@3 zC(Rd9P}QnXXX%s|#Y>er0cc{9&Pk?)2xcP_I|jp$U>x+tHVYV!PeUGs9E8fW4v!~` z?S5fgnj)7NV-d|*3TvGiV}CD_MyU)}3P37q0-cC$b2PFb^+v&EXqtiFBFLgnt!q+* zW7;W9$uQff8W_iAwbgA_)^kQM<&!m54mj*oe88u%9KgLt7>QQO5i0_txMR#Vj9N2f zk_9v#g5B9Um=vGJp(NGdN=nT$hs61PifA6Gt1Pvtq|-1x&AD7_u%@1I=W@R!Jz@m$ z6+`cgBdTd=d4`+kw^5bEVj`$EO4ZsJNIl6hU@e{{FG0zxK-HA=X3%iuDyJ4ZcB6Ea z4M2vH-+WKQP=kc=)}yKrZ&HR3ZeyRH?@1VxK4C1f z!X1^PgaT2jK&BPGNSeonoCvMbIe(rQjcDb&3F{8eL6Ys}QaLV87A4hjSc#M}jN4og z)LiRWG3%w_^qy*$yYYvpXW5z?*o4&k=jFg4O{^~{dj;N)8>yE<=+W3pT;)&trKOD)BAt|Ezan@kUOW)ay6vfW*AI@;FNoUlx- zi9%P3D*scIJwQtK4(9@ug9;fnv%a8;lj<_P_qW|$kvtrM(85Hk27hv3mm-ZYYDDGo zn624pj0QYrY+aACGrBkps5kGRsg`zT(QvxV{;k!qSwId^yGCRlFx#j7WPQb4ggEo1exHeR0KE;B1@dMaM=NX$LF*x`KSj#y+ z9I1&dA7qthuM=^@<9^ND+ED2k#2GOAhK$+~Aual4I(;VW#1fC<4UpY!U28I(g!hgU1;w?2Am#&9T) z=P=3uX6f~=86)3aV-Q%CMC*slOqM`JZJ27iC*V9eO$NtZK4fZ~p#bx{uurmT)9*8_ zc)>jVVjf;IG&j?_8^sUN^*`^A;q zlbD1lK{px~b-QneCn|O7WW9E@iYNYD%@l&QhRZ>#739=9zQcDX*<)d>LJj%D#vhT$ zG3zG9NxFUjR`PehY}Z<*q#hGh*PbT*OmFdBLlP_ps&;No!9m3uLP(t_nDRH_q?C>I z*=?EZ=*cVZex#liN0vdt7)mzeN0wb?(nt#HF2d4EvMD3eVfFLKT0|4uq$z4JQV}r5 zxZ8_;^N-=7l~3XR83tMpulWrE1(FE6SUct-f{|P3eS!_(#@!i$m1ay-u+F%2c zF||mG8zu6pj%49$uQZ;6)vdZ+Li}vh8Li-0+vm==Tgdl_R{dsLh6;iQ znMom^OhQh@bWAb*A)+EfPJs9?cN4boTEIF4O+S=!D=pPj=0a1 z%p>ajIZJ1fZ|h`myKdVQH?goc93fq3MZ(+p zvTS#m#e~d+8|orUynwm!K`c%lz|rMT;gJJBhPlZC#@z(t(JV$`gstf&Hsb~sW|nc^ z?xVPN^AfJCy@SP>J-D#;8s1*}r*=W8*9ow^zrd0-T7rXn&MeskSXy)c8nQU4G=`;{ z3ubhPm)5CsX4h(RmDVOLzFM%tE{De=>(O$yCM|r>I;WYU*0{2}?wK5XhhX6(I&eG$ z2N5--40~$UqWa!NsWFIHEsxIia~}YUHL}4%wJ{@!trNAL99euvrbrHBe#TKF+yXR` zvJa$YFUsOetK|F+a${#LWOe7)awE0lffHM7>Eikc6sf2qi}R&+ z$WT-O8YE{EerTM@Dq(xLDthUHD>1~02p;+jJk3D_xxlDdlv4);pLCu#>Ue)b?Gs@eDNP*GhQVaLW_c7n9D6K zk3yf_2@PLk`?`$mSW>B%)M`Z#Y3)2<1?EossXPY6L|yV2aQ8|-;lQ%zb~v1xQ6Q== zZ=*ImZAfU;MLb1~Ihx=WimPzy<6pfg1w3Aq7A>1VpaDZQu=#C=UH`WRSswUSdAdvP^OD(iw+HvMY5w1AcN~W zcNGy7FpTIZ*r@e*wEJ}PWq4kXdK)^inUIpv2C>yVE+J*eWq6w-di=CYsXL~ND9Pe? z#fiQpAF{vT;W!1bGW!WE%^t+3ANBx7%h$Jr3H14#!uX!rr+fICbR@ z@y6=!WXm?oG`n(-)dN*K=kQQRw8oh?)=sNNP>&snmKI^D-S3(BF-~UA9ZA@MNW2lW z*kB@RvSn3G)E*AIdR_$UPQ39h|oPTY@WyV4dVClWdLr zWwu;h>0M@IE0IM-mL!$^mv-l!{ zE{w1^vy7S1JXYrK!^*-T%$;AsnbqIN+SX}vXwI4$fE&XhUR$bWDyK0K&RI8mRZ2U^ zip@TatGkh1u_>|S;AOBzaU+ZgBj^5f7V49ivn7#;1W?o(QUB0nZL8YB8>-a6YFHfs z_m?N4JqUL0JFedrPhC<-MK6PGzwXoTCYjQ)kJGDq#9Z*(r`%cPy2LJp_>cXHTM_} zOitjw-AAkIck$vyyz!0)TU*1eTemPbH;4Q0zaP7H?ZRj@!k#^4fY!L1VAPGV z88`5el^?^})@5wnyot?tk#N}3?UD^os>E{}4^N)UWLJ*&z(5lb#B`QABWPB13?nmy zh^lnH1L3mVnI&cMV*)9_H$GS`qj;i)*ytGRdE@~I5 zod99$H}6E`g4+y=F9FpZ&dCrd*;DVsY10M7wlP9aUhzT&>S-!GqPg z>))e<5&H&+Um#LRENloO#%LA;e8c_TXtrH83)tH1gY?qqAP&txhL0TnC>G~-nXKT27hb@P8#nOci!b6E z-}nYDT)2S6#YODdvj@w|%h$`xqKj%mB$exg^B1)yM+PV3b8NcMJSBw{qZiF|*{=;g>hK;^o}60O={~)5 zZboV}bSWrChUcm(x&Qzm07*naR2IZ0thPSq-?P<~&175lbm_R&tPcv@qrL5}hh5-$ z|4pz<%T+M_=*nX1{1Et5MH-lspIs;}6QTJ{OfYjX|vEgv12PQ_HWFd5C_%8m25x^@AxlLbuU zCZLL|H{Zss=_+Q&i#WIXb&O;Y0>S3=YVVmiY>DI9+6b6#D5gUkJ8}3Y@aU1Ju)MUA z-@CrPj&tYE;mcqCGXCUG{siy5^A5JQwxFt5Uth1n)j^(>~kY8h(vL)F^a&^Vl5F*bDEMMl9^iuRIm&g8)& zL+Y5xOhMgAl=jo0-U<&%V=XusiV)VVFvi8=Y^QR`T;7}R&e-Vx&gQ-XGXl6(1}E7S zn@o+bKgJ*vgfN3iw}ge6eK@@QC>H1T;P}Ch;>^WUII{ORCgT}&VT9caeF+@n6bi-M z%mM_0n;UBwb)Uek&2`L-W&r?Ku3x~Y8zX8&)QF3#KZEaGd=Z^a02O@q{5P<6^C~2C zm~O3MSOZe<(Ka0bM4`VzYV`gS1W1$O^-8i=ADZF#@6S&Im!X%yH!;n}Ru)lv zpH17}tt@O;pAEVhKP@@Z(AJ~W&6FQSYM&J9J`xo3h;g?I5A1mwOLHrjPPg#r{ZHZW z-eV96n3>Gtf&ItPh0##DZ_jKm&FuyN%uN>ZYqOL240vx&H?eQmAv}8clelo@ZLHtA zi3gXTz_|;jarWYOab@ic*4M6LWBtnTyURFn;8R#$T*3U@V&3PaOP6r+o7N7#O}F$SQzieyBkZG z;+iQ5OSfkcwcCa(H62#v=MJCVSF_Y8K>AUtPO=5#oMe!6(QR;Pe_M+g3M9Sl_sbUGsaeFt>zJH$v3-p270_LPe-#oD7*G0Nj7z7;dhwVLYDT@#9b8%v*2Z z^)s(xYjX>$*RSBE*Z)5}e&{n;Svr83nc2Lbt5>h$>eZ__d-g28_O-8>&rl_+IT}o! z+v@1PhfXHat2^v6@#7B5Ry0I;0O` zN->^_eJfLrxCt)blBJ zTu2!W-J1U{4H?5d*xR06;6rP*c7rImJx=UYoE%&=WKpy@>`}#XsHj9pLZcf3BnIns z>1GRAyfQdu-xEmX-z#&EVt!@?dl!%3qep)n_w6~1<)wXqDnjVY!`2F%sXR`9Ub}V; zyLazKjL~F&UDshcokCU7bzR07d7GP^&wqd5$T8fv{}686xPjH{@8Zz@2XSEEA?)3= z53@6KJr=sPg}2^%3un)s#dFVnvpC@(P)I( z*;$Oc2@WnE$F*B;nGc z(^?_Y;LBOc)SN-jP{e@mnXwj@AJ0K1MztM1+#>0MR8;SSS<2g%Gm@}zvJ2c%ZGh_G zNNxJ9tJ7GTDV15DskLKLD-fGmNif<~6>Ip+^dWa6EUzh<7>hILsPvp-$8Lzs08q@2 z4`R>41Nhj{&tc#0LpZYUK`hKJQO4R@Tojv|n^;?0%UR$0`a0Iu)-X3WhZ{F;;PU0m z2q9o$egRw4Ei5c77(8)qZVtP5@6Lf?*REZdPNxtNj7H^B1__v*nZwM?ELQgH#i9G| zM+kzhEAP2^^Cm7{yoj%V{p+}L<*H$lQ!~$Fk1gSIpF4N{;W>Y$;lhQtruOX9o= z#6J^^l?D@(r22Wf-df3@D&7YQQ5L{EQ)pH`sCpseFdn3Za*1J(g-dcXA<||~+L+S7 zfm-0pd~F7>(#jo&zXx8FdA54?J_;t_MF@fjjkXxFNB+Kn7;lOcra|nZ6XS<+z`SN94yLJtiE?vT_uf7V^ zh<7erz+^nZ8*jXU&CN}0ZEfWsI-O3jw6ug9H*Vm;2Oq@c%a?OmeEj%vtgWr#;>C;j z>7V{-9653X8yg!~TwKIM4?UDK*$_g0$Y*9|s^hwP^(s!k@djRa;RWMb1OSssz*A4H z;L%5y@iRYj3}5)d3HZyh;lc&{)^Gh5jvqgcW5P9^L$=DQOp0tcR!o=th$9ONHc2C?}TPkb}lj!JsoV&7jrvEs#=} zcHxIvs*E$yL*j++)ucPPplw~~`(W9_6)~5)+ov31ZF04n46ie&O^#BuUxr;ciwpiXV0F+^Uptz!-o&!%$YMd zbLI@LU%!s=c#O@>O?r5R*loq7OP2ru7cN{VYeooo?X}l19*+@1!0PHMcJ11Qy?giK z(MKP}wQJX~yu6IbWP&|=_Fz07qwBf~D!6*}Dqef-HT;vWeiiHM>l8%#ATc{T#>YN( zAAbJlk6|*?pNB7e;UTQ8-NLiazKv6-uA6dxV`BpsFJ8oN|MqX=mwxG&uxHO6bX|wV zxn+Fp@Sno>zV;lZSCSoBf9G!AETVJ(SlAbUTS^S~5G-Svs@YAXvLooknC17kgNSiJ zwWN4$_>zr4s{VVa7GSZK2~MrS>@-QATzespSWq_x!+5Y~PfT&aaQj~Pm;+=H)2F~I zs9ZNKspRbL#F0#BSlh8vlV|DGMQTxOGpk))E2uq9T4_kN;d)P_Hsz>R;R04ySFv_;4JS{Y zq#IJOwY8N4W(bCC>li>eMMb{q)m4!#^{J_IjXng}HS-AW+w~DV^TeOV?!^_%&n=(} zHj}$`>lOguTi^N?Zrr$mmtK4kuf6sfE?&5RX^a?;$I$3zk)t8OVJVF{iJIF03z4Ig z?F-^G;@Y)q{r9^LeB~=&!QsP)@tyB{2S4>wKZT8r4eZ&o2Xk|CIDh^;UU=aJy!F;w zC72I5XV(el=O_5ZUp$TzC-(Nlk}Ad`n3);l`0+jXi+}M6{N2C%BCcH7z;qgO0994I z^UgcCcI_HgS68vLw1gl5Gm{w{*?$6OFTaenjdyw*F_TU7Uv&Mdl1*D5yf)Uvl9GdYmFr@d@M0CGPTpkr{Ky#~s%$r5!KyW~$&)pCgfKW8)*NPG085Wy zI?JToCFM>+q)b);+dF?R&TUuna&X;bdF*a-Q9>Hg3p;ivmDwR@66CO?R_ABL=}xp> znl9`Bw?Y~jyW>J#(Fk2k1wZ!SFW{pOeG&)vA4UkB$p~-WyotHFIh;Oy8sGfpH}N~a z^E-$!W zJ$e+M{p@G)_S#0q})XCK69)JLhQ2E+lMzIAJg-MeS- z%rgh^+rRxLVzf@_mo8nx>C>n2zylB9#EBCajYgP^XK?(;<5<0M1>bo6A9{qaxU;Jr zMVxx^K@Z*ZlI_Kw%nLTwifse}FuyXiG>Ae1u&`%@ZZSA>c^RKfzrkzF0RrKmH<9J{^AFhLY) zfl*bH30FEswzjL_3Y$@SbK@3aww+wkJ`L(5UiYe>Co%4ZgAksjtY)q5`-*+nQRw>$ zRC|e!dg?P|n>SIIpjga@#g8$|S!xKr&p2Uz0lP;hFxTzHPe1uD;n9blK-Y~7OPvDb ztFOL_ix)5A*MI%jF_}!Tdi}Z^1}4oQX>HL2(hWojfVc@v<^+>@!Ohj!cYY`^8Vhtv z<{sLYqdL`E^5E{Oq~$z$@+4k;8kLQO%Yw zo}=E!ylKGei3^QhTW&Kt0hxe!aeSkNld>{nE>At-ntRKmLsuJ?aXfg=W2`RiOx7JH zQx-S&!(gG-s;>MXI&!DRCUqd(pzN~L(3ukP<;REIJ)Zpo2%bVKuYI6HF$77SLcRpj zU~f(o7bX!eb}#v(igziht?a;}Y9gFedS)LG=yU|Z2uD|*#N$VQ44-`b$1Ca4*47p_ zHa2kP>{)#Et6#-)&pn5mH*XgBL0oUW>1r7m;~?05sKaZb zei58IcMj*zpU=JVB7!};_hH}iLG0W05Z=7_4z*Git)8|p^b9HJwmLW=z+C}MHz?Z> zV0|@Wb}3>e0NqSLHS8^Slc_nLlBI?!Ta~N~iB-AHqIlyQ`R?H)lDSlHEJx(SRr!PYu3ng~Ag`CZsrS4<`y zHa8SO1fTx=Zk&GQCc3V7h=1kzHJm@Q0RY&zrI>E1)h$|ED?>h|*A5+?!4n@_$yxcP zZsBUYj(6it?C%z_uA3N12a$lT3;6V>58?9V4ZQHeRilGcRlNG@t2lG!4Cd$OF+1D$ z0DCAc`M``)@6x(FdNqSc_#YsP;RU#RxeEvI>C6xj>S+j zIwUs(n-MHr52-OYZkSFO;zX*cl(l?@1D-dktW7W~GO7_!eXuY=SK*98U_3Nc9U2=O z(k7|%IX|J(&E_X}~q>fN4kn0^K-ZvLIO87jXZ_Cphx>1dF@+Ah@_V!gwO+LO?fU;z0!65ctEc z9+n6a5S9hqkiCW=KolH3His)0w{Y{u77iSo!CP_BwhmKNTO;cPowucGvhqCOdYW_ zWV@V!QaUV+t|0}S2b{Hk^U#1g*;2l8+qlJ>MTEzD2r{|U!YX6NX$xc%jUs`At3Nii z;YGbJwbdkiF9c6@k`NNW=Eq7D(yN-GIvxI=^q<7M5B`_Z7#Unh=TMVM$pnM*|)Ff$i08VP0>O2F(_&tNp&>Bdf3U{o#h zkyLuQP6#+~a0Vi?z!Z4+ap3a#TlmyZ?8fzXw{YdsCjRIv*RZ}e#m454jaqNs{%i!n zr=MQIk3W4M78WK$*13UeaSiXpYuLgRs=y7s1z=ZRxc2X#$JUl&VWGq7D(4A;X`JHq z*I&N-Gq3U7U`jWU|Ewjxtf!*eC##{8aGd{4t~JJMuMCYWhMN!1quWeZmF=!7L0_ETDa)1`G^%Q4 z?tIT>o+gh_oBfq;A_cUwHez5K9VB-xSYExyO;d+av6U01;S2bm+w&5e-ai4;tpLOk zc1<3{LkB*AFMRG7vFrjT0Gv8?3g7$Q_wbdkdYVOtQ_lb_~T>D zE((_K8)0c*hi=F!MS{tfRDo#(Hqi&iThpG}+)|(m$d3A>&}W__2?!zPAhkFeVT4}$ zI5QJ)3vsc>TNA@Y0J{5vL?OT3^SND_8L5 zn{VR4fdg1t>RVSQ<5@hg|6yFbb{gxO$crWj|1@$nu^EV&%Pm#GZf7ymgSB~6apTe! zMq|NbE?o;a!(&V484*(xf81&h0K|{kSAyyIuoU2^`hz| zSz6)n=IHOm>6zk3$*5&2E3vU~+kZ{BDhFTgUzQ<68c1)b2Lh^*7kMIOA`~_|$aIXc z?8Q^Ze-=Oa)aS9ZuvE#AE?&Hd-}sH+!0FSc@%GzqXEP4=3{9BkXf|N!V8Ee|jj{LG z2umv+W)}pbF67X!L!<2!g00O#$2i^Ujf~@PY^p=@Om=(##sL_GqIaEi0W)2PcQ>~% z34;022uopvaR4Ucet|l6VgX0)U%+QSH^s>pui-2I?`2%SwuSZeh|P^DW@Z8o+&96e zpWcgS{?tK?y8cYw)D2vXH?XSf`Poc2+m*P6#V|Lh4iwAFbJ(>s8Qxc56;;KJ8#i$3 z)F~W3d>D(1ix3g)UfP3?Km1u-y!IAeKJ$hxS(;v%tcA7GA)xIKYWvvxpKomf@mj=W zK4Nw$V5TESE$W#EWk^{KAw068G5?0Mq-Y5gjg}lSdQKDPHS2jJvY`1T?Mw!?|IGf=AMc7qv$UDiMf5bDM6#VA-Ek z3y-2|syVHV5bhDeXd9)x=PL^C5b_BUVm>YLl6`N6cZ(B;mZ`MGs!U89X8*7Y;zkFZ zc9+T-F8Hi~@vdFU=C*#x$Y}(;QG1 zyAj4gFb)BW-3Tj_8H}~V?4-l;+ytNd>HXM$U=Gjz-bK9q)-8wt3kw}S@rm7d{E0o- zwQDA?{kP&KE^ghx^?1v;0Q^7$zW{FN6c?t~upH*G92PJd1?=BHj}s@B@ZIlT!};^K zu(cJl55V>7*YWbpFXL06`cyu5T{pt+r9C*fatyDZ-;4FlOU8v=ixi?7iJ_@2g(g>8 zJqnp96V_I|IRxw1r&wR@Fq!~iB2|EH4>u)!W)@+C@HHjUM=Mp24N^nq8R=m+QmjUw zx+hM&IDN<%bCA$9=7OOKOSa^MHL4k)<^}t$lD!fN#nx0!aq&Q%hDl9uwbMBnp{03E zh6Eu+gbUI_N|R`iD!z*Mnv=Xco!=yZ%R_TcEgC-KxrKZE7ng97LFG^Qg6rm;-+D`SiYXMA#pNdvUf zi0-rmt;H!q6o^c*9;di5-NGaUERM$5Kbga97~zq}mT>IB1)O^IIu0G0#oX)|lSzlU z`Efs0Q>WO_h|BQ?uIW0wPkKbenr`*wyiPHa4x>@P(WATZ*kjjm?%a9n1*(ek=g;RB z)!n;yLm=ovha(4$Vfpm^c>CQ;b`FrKJhXByl2)nX#qG+{CCTM8L=dO_OsBk9iRYgR z30RCOig?@Low=D>D+i|I9rA3nyN`6(|L~{}3ZrtIakzFHTZ)ZM#rhP+ zm0qaiFCLX*psXO`?gek7NA?m_Gp$V{)}|3b6svIymo_)BGMZpzJd2fuS$zDdWdsCt z{gRf0*M>%1oZi5N>2<8fP0NxD0ceVdt9la)n8hMGbX~x)W4m$X$_;$u8<+9!yPHKr zItcWiefC-G+qVx-KKUfNuETgV#=*TuaO~j6aplJMaBKQ5jDe+ZGB9_Bq8_lWm6*K* zV=Bd?VtNbMTvu$YMNAe#f6XY4ir7G1CR|vVj}1Js4MD-BCu5MQ-#u2@o|>@{>=IP= z!J5y!FhrL%I$b9Fh{TpTu(4|@uJTo{IBMm9I%A)Tpi$OxyKK>uMUAqbiAc`w#jt46 zXj^Tj7I**vAOJ~3K~&XwLuj+}=>2cuZU#>4-r}d>rPpHf8)##+9S?rf)ZeR4-wBwp z!ATdY0>r6cy4fLa1;j1Ekv&h~nWw&h{VNAdKwMp2#q-ZUk1v1u%lN}T{6iBsbLJ_6 z(Trf}few2g?QrlDW9)vQ8?4eKU!ct`#f|ldYyUrUZ`NeTm0pXjZ)fJ2>YP*a090WH zNst6cfb6E&>bZ3lvV83uvTuadFMjZo^`r6?CX6D|XANJ17y?5p*&=FJ^h+q(?;S6~)zx=+n*09CO61ZZ z-zlHD2#mA8R=^mdyrOEwGiNXbJhpWtB@ShR^|+5mqa!>W_pzIdF;EGlM%VI==Rgjz znH-@n6GL$LD})-4+m}P^t3iGd&djuM_38;MEYwR&1w@3;KKl&!@837>Oes=bgvr()z0_ z0w|0>GD)SA31qz{8=G`O>dfm<*3ai%xML;9aFa0f&njnSlyfK|dyR^%6;!Y#{p7OR z!6C-H*TAphZoBt)Ve6J0GRewrMgP#{SZ-g##hdwVf< zcVnwl(3?%$+uKOfH1`<|M1T_ur?Itr5xc#0jM8nBNmPty#Gba3obXale#YfU4+pm_ z3gWo0OdK<#))HuT1C29_;$4P~qKK({ciWZdWaBYqQM$HmT+T3?*41%_XNUO7O)I>7 zOMmr{fwD+G|DLLlYjFv3R94qW_OqE5+wSyS&1e}bAjfjA_-&gd_hnp;Y9Kdswm&!J z!UcW?ho{-J%|7gnEpm>l=gP!*1*3;O$jM47024#lZrW6A8Zq13K9t*$u_cxjOThyV$NEp>z`YG6)GAs~U} z?Y2*3XIHl%b)KX!L_vA4H}PN$O}`^A}MoR~k0JI~sPAY#va*y`Na zBbk&h9QSpSWOY@ln6hjwsI#)kB^ULoV7Y?PXB|sT<&H4Jv$NDr2a9E{7%yGDrkmDg zDd9^BfU=uBdl+f1J+9=M*eUyDyJWDdVJ?}NSjXYpoZG+M=;4W9B<;&%lR#Fey}e%y zh@3=nLfRawh+^x5DL1$??4SNUl@{8jzxdAog4fQziFUh_X9;DQ@dJIR~xpN2q@DKlhpa1;l=ytn0Qlv43wdM1edw3F~cpHg~J)I}J;cqCq6!KO#bIqW6 zpLS`5=LioFWCAFu5D$SgQJO%q#?r<}SPZYywsw(;=OsqeB!tQpa#L80$_h3yRK;G~ zT1$86WG2TkJ!hjU@KiU~hn>gL#aKDrRv~&PFXET19s4Xf)4P{D(ZAldk<$sg5-M_j zo~_TyeGlXv4yTXJAc@TD!pDjI5H#6J^C0xb0}U%l{`c<=2G(4K0eQE%iO=hoI127>|q>7V`ygW(`|Vkkuw$w zD|g7*PR!U*D<7Ba?GGxtEzV^O?t()pw9jYN4wAi3v5!NC_@WEL7nAg5KP zQl^mW(#fj0pvOmCgteKXlZ?n&eGKY^pl0s%0i)g)h?;;91s)pJDUaM>Rv-bRyePJU za%h0yIt^vdUFsYwuur(V+scaeb-OH^5qITO4%6tFBy(jHN2a&)2q|+8vZFdMpGo%m ztkg?bUASL#^P3II1e5Q>S>(c#>)@~8y7_+-S>-Fyc~->@+ZdG%>9Q~%THrWy!`iGM zOCnKJXW@E2+TUm0v2rS)QcbXgK?84}e-DfEOHS9;>-BK|{(bFhx$(5X87;SY5dp1} z0am^jqPr?|$7#kIWj2Gxu_1w+3%nc^!O-D%@C#-sbk0>JaD}NJTbVqik>Bh1o$xc~ zTds);vg2swrq~bxh>LlF^_~2P$LR4GZEipiq1&zF%9RD&y}O5p4|`4_Q%WI~61Q&M z!ph1@9%5IE>UiVKJNR<_V{9HAfFUj4Odp=9a0Vx9BxiqY_l}E`o#EnveinK>P|miH zNRZ>7AjYUi2y5AAq+PA1=7duyMF@m-+Z|mOVIj*O*3s-7#^4l{Pm3$du1@kM*_^7lKV!pD8R<&Pi~f@&U8E&zzj6;%4DAUgVB^Ex=JVB$;fRqwJ5af|2)9pE&oV$Ycoqt27Qz+-7lN*3WrNE3_d`Fh=8CgVu-?%y# zwrAq&IJs9C^ZEsBe54AYI{@l4h6hD)3~G9>9)k1N)L98FnU1b{^(o3XkT?&tD|Aj= zikEN;ovqvC47y?Kn)CDHZI>kG;|+$%7v~oOc&>7HxAK^5&($JTvwTG`7g|>T9r^rJ zr8OQfId`5)3stYk*skE%YC7wfoMCer=ph_}!nQ~wkD+tDKFK5YI3L%Q6o4ui{Ie@> z;`GV0&TCB56!-4k!)Kp;hJLT-;*C~9V&{xN_pCtFqI{fCQnTtwY=tU1R(P7ZDsc7U zcZJm{=lrm}>d8gIxD%E~m=Fl%l1j`L4M(;d433&1m(Ng9U~;_Jj!`FnX#o!DlwAgr z6^?j_j%uJGA_M_pW~Pp-R~N9evw=8P`HhE2cl=*{^%a(vm$9(003ie#wI&v4SMk=F z5ApoqHsW;O*)#Xg^&)eL;fj^uxx%wEt~&&hw@t%5iHUW0!kzQ8tln|vNW}~_&OQT$ zWCVCeYswU`6BL+S$9h{ATA}W+(maciJTGLnMK70@ zYs^XL>cOduJlR|kU_X`{m|b%6&z&>92b-v#Fz;zdDfZM5ZEBznT|AeTrtr=?3%Gf6 z7aJRW=R}oK;upX81zvmYHO$V=>TG!;tjw?C%dh{4nbs;^9PJl9ZHLx*Z+-KEpaDo8;HP5g}`JJ5~_HOuVnGGa855xH*fFtQ+i^P+)+G$YiP`+l})=HW02k+ zQlb#i6L9&$cd)#4!g*;M8yooOqmS_D>#ud*km+d%n8iC9e^SfDUGbVO(ku~ zpeJ~@nCt?Wqw;v3U+7*5^f1mU8B=CbY@ZMn-oF+k;*$+j#O~VKXlA#NvR{}A{T+Lw zG65KI0zm>PD?}vFYDM~Z5)efKaV+!W#H>{gpMU;&9uP-F2*U`kow|aJo!daqj=^x1 z2f0>{+}j6Ptu^^u1z9PmkgHf(W?%xMDFP6fLTtuq1&n%WzUjrR^tr(HlwqTGen3U} z?|#g#O}M0ES3f!)Y7#A|10rC=Lt%X`dR%VK29^(~LajjvYOWiT2#anm+vsGdf`hPi zqz+ldo=2uj&MDgn+G)NWv62H1REhnag73sHTQS9!*MJRSC|m7Q6_4bEQNF5#ktp90 z^hL^+G6k9K#!CZACmRk#)CmOohGcsv_Wy+Mz5he!r6oy%d-v{P ze}5n2IQBx=v>YjD66W61<{nwMp#UT!O%7#+O28#m+?6*UxA41Ym(};$XeUeF$4Oa{ zQg)3rntnWe*Q!PrGbktEOwQ<8&QN(KCEk0ES5LTppkngb1mQARxT`_9Cuc z+rg*Tx3T_YU}+t-EBL{|0oK>o@%rnp=Z;mg-36Roc?X*ZcQHtvh}p03s2Z?Z9X+qk0~w_dD%6G}<~s?>+N=of#>O#8Rqc{&Bt#ww*Xf|D@E zOB6&Bp(vbM*Ha!_QRH!DK&SgfUhQb3XvjU@ST%8rMbw{y>yv59T4kqzlt%&=Wh^G~`M)rqK5(IDU!XSQwC za%R#duiR*fV)M&o-}6`L67^nJ&Bas;#;)vRPE4VVhCZIP0N1W9;p30Dim*Lvbh~@^ zE{=|l@V9^aw`ew-AR@F|9lUY+UEFy1{~(cvP)OXh2tPX~*9*h(@^scTiAv&a-)&w5 zjMi*`)_jPmX#tf=jS-sStyq&iY(`wA1j2d>W|1G$aZe(Z$|`7#(P5!rP;8P;nM;X| zTtQ0ZHgh)CC=E6`uw0nT2P5Nxlw~l2zSg5=zhCPTlCj|(%yUL< zc8)X`X2>jDji|NaW#65%jxYOsWGV_g$~?*c{NMcVnD!ju4-XIV`0-=hyLS&yo;)da zdSRE)SP^Kf6asdo4Bjc>h0GN?RAJp6$-`Ah!Eq+H$9J-C2xP6CGI`@OSxW-m`ersl zXU4DOXQz?%b8zHOHdaMIMfl#Na5eYDv){9X!j3w^oR~s`BGl^v*4DcC!4FpOi(jl` zIF!!af8*%}+U+*>_V&?iYIEg4gy>Gq;_TA9_-bPhqh!}raX5^r0Q{YIzzMV~Zz_4C zAL)V-HVDn>0L`}EA_}6wT+q5WN(G28FhX_$D}}Hg8XrqGvLryJR6xdoGo^lb>3_fvzWWoW07 z+_ADROI-&YlfFjmW)PfP#E%}qVF;i&E*xWI^xG`5GZW5RB*_7FMB0HO%QE6KTUr%18 zfFK;>g#Rjao?LOUv30uICdk%_32Vj9jU6GktFZ4riIyehnjr>WKXautnm&E{6xXj` z$D>D&aCCH3GBu96g!&?(v7|SO2&8j1KkwjF1(*CiaT zn{0^;lea;nJIP(efh2 z#kNlxD@d8$Yz3lNA&mm(`f zC=2q!a>=&}Wzky}9-Tz~5_uMO<>I9vcJsgTV+MDF#xq)XHMGS^EXdMLS~rO7W=J&Q zCg~B{F-aV#A$n?rD40SJ2rMkLaP7TCe0FmeFSbVJ0@g1oNfLbe>8JSK_rB)@>rFK~ znCmWKcIpE52KVy>$jZ*r&o}a+QL9VM_JM+k(3%mLnh!8FBh1Cl821@6kx-H`>Ptv7 zmN&b?T4B^X>sdj~a7PNfO&#+*f;sm_r2q&mq9aTRX-au=Dl;Pp*&&0Z)FvcsIU$XE zx(H;_^zot0J#2NMCKnE{bhCkn~)AtOzw+Ww;XeUO92%Jy6ZH5PRzcA_ulv^7G@Xo!pY3IfB!yy_wn!W{P}Z70H2-6L7UK6 zB{WYK>^dtph0}}Pux?jWGS?&roX+g#sDjWDTqp>%RLUxa^Gn56Yw_FE^bsM_0C>}nR-N-_|fW1Nk) zR#p%((u8reo8VwG!NH3ZsVxZ+9uq9IvPPmKHeh+vQ8q`ktw|zNnD7^yR8Mhd+B}5%oIdX9LMCuuZ5h5U6IcfXci~suH=w?EvjUYHKq~>o9PC)+dm?oZGT# zva7ks_tUdn?tFcfJwd%O>?Nus^_;a%cGtoRl>nTr5XY3ogGiVeV@k23dT59Ub<){L zSFS9f-;eS5aSt0CL+99R@9bdx@nc-LZ~-$jGYEnJLIhZuUqfeV4pWT<^y4i{d+IuI zWfO@YKR3N<_e7I8jVXb8N1)ymP)5r+9x3cSO|Wr$jP;viY~D$8eDIB*rMaFGtasE; zzFEt^Mg(-00^Pxywx-cG-4_>yuGXZ&ZkSo?cFC3E1d(OA1`P#JR7@UH0zsV$(gj*L zZH_^>-bpVS9!NRRzOX-#m4ah%uO+hF(D&wY{rd5nKfoW zcb!RS)V&NAnsYsO@-0kvrxArw{#w@8*YW7lBfQvt;eyM?Eh(r0jTN9aV{Q5<&6twc z&9Ta`8@KkAS4Dk9kSsAexkZ$zu;$B8$Sh*j3S%aVofnz7Qn&V5;Vo%1JtGWqcIUYy z40nw}*fnc$I#qVW%-&Ft7yBNMkZ@X%GPM8;3);5Mhhc>f`1p6f!^zcEoIQIMjYh+C zynJWx2=PVwSVf{j}- zdfN(tB19xm3kkRX>)63AMGe@v73W=TYZf^9W@L4|jK%XI!pL+$rcLTBSlucZVU2Uh zAY-V*y1Oo_neO6dCjuRF4asxfMfUe5kDE zk04V86~oy~Q_5cHDLPZKyF{7QRo#(}cFVfYxaVS;wJsTg%_sq;fvDrkq^lV9ssdjs zq`vdgtLP*@Pz99G5Jl8-0om!cE|-~5VU8-Yq%8^@adw`*#{^d9LCqB(Pz~o6{{&}F zp2N~Y5g&YXbcBtK4ICUCpx5i=>6m%rLO?VxFm*;a2Um|ZIf!5tEe|{K#J4uFlXtD; z-UW-GI-mR@w~KOAO`eFJ{TLE1t!@^0QH4g|S$%a48**)^H!V2&|B?ZT!{O)M=!jFi zkUdO`78;~iHZNYB#rM9qj9>op3HJBnVmn1?!Ti@>e~saAh(@Dfa9Dx)?jn|#&R`U6 zVgKN9u_QsPw{R3Y*szS*CUT+7j<*PbdM7}=Md&OAsI~MmhD;=+WbAGvc=F{KPrpjA z_e3E`2&>%&=35P%oNnUYi+v~jZErBbiwALTe0&JT<4=YK1`6Q9_XC9WqIfcZv)3ZW z=B_nEsCSCE4-o*hHk=j7S__t=y&;N(ZTg`QgtqUczAM!O%0mdDNb5DTtRN_ehA>lB z1}hZUZ`K*hSQHYdEYPrLONR&?vpXpQm7_MiF+3T#yux>-Lq?c@8BY%?rVxV*U&2nLY8-rt}9AAk<2Vqdh zsns)1fjm4s#GN~LaQpV{3O7vM2sGCKiYzikx(T07l;>3W3*;;@eJz%BsBhau$^LXC~^Cv0iJ#tWBa~DAPMJA%;K%n z3pg{^#maOGuRY#!F8-^S>=hzqoXF5+Z#WN+d=gbVE1a+Z{WI$no&1LLc)`ePK6i7g& z0a%i=^->F4Sejiyw=)c^)<)zB&ru?5 zT(P{p$L>jcO21DYHcYNOiQKV-ge{h@Ivc#gY58wbg+T&Y1<_Y~+C-5uIGmrGRNM&M zRZhi>BRR$lY1vY}9%6ZU3g^yFVf)1pacs*+6rMeMhL1n~80XKQ$Kv9mA&w#}b9PUVLf1P6g zslrqcVriyS#E}o( z`g%Vnalni(A0$O0Bm<}37iiAFiRC^0Ug+$E*II|ae4QUX1q)!EtUR9NIwTSh5{Hhkuly&DRNCVphpe}#}Kqzz(B?2VJ5R{-M2t)!z z0ct|zq>##skol-3)FcvWL84OZNJtQ=G}ud0PT|RcsQtm?JxzLAE8G zLU}FCChYxUSmY^HINJcu^Z=_Purbt_CAQ=t=7TocR0n~uxY)wG?=Ir`^C2ET9vH(A z{qu*1hj{Yj3674AFh4(!AkeK-O*C<4>QB()uQB3v{bT}YM`7We$&7Iys82;2O;mcM z?>EiLZUod?WDKnt$(YgKm)LrkVCPAK{pSj454f;Ag&(}RinFh+;?i4ZFg-twBvqJR zo^#lS?uj|4{Yi!~PM89l9pAG{GZ>F!*qQCCkG2ZUB^aMP+H&MVd)H$;iqm|P39Rt^ zuC(MtjF~mU!dc;Tb}MfL#`IbLOviMqYmc%R6=$%SYxkPR~s)T)-1 zmY=WU*lyPrX)dUt$sr0P5E2jwKpL}JiM}qL2%xwLqEHu9Xh{!2SmQbzfKG@8=BAf$ zX7yYiXUojk-rmL^|M*7)K>($c!w&+4phX2XX$rFsM3>8<#)lACl}NF6k2ktH5-3@@ zc|><9pUR2R^>sBiwr_pi&2;yv!lO-BOR-}+FA$8%T3(B-*dWUDJ6Dyck$Kjuh8vwvADRHAG5jIX)M&PU?YA~QLXiR zs<(wZ#C8 z1VW(EZ8^oW(QZ1xUK*#EJ+J|*Vt>E#yOtPGp zCgB2HapQmGI!{NTuqdK_ZOZ(bv+;q)tfLbIgA_px zHRBpIG!QS0AUJFlA9QZ_Y)nvWJkmExCeP&9cU;QXK+9FJnmPBBkZ|uiC5@!NDMXg> zvF{=3z!O$1LcTd-Wykb+j6K!I47boSZcAs+&ft6BJAv!hcQF{G<}K^BzRk@|e0t+k zy#Jl|i+pzq(GXLZ3YJi(6^!{=(Z#SAC&Bhwpw?O{qZ?KVNX80>+bQmTGQ`H0W9)pL zB0U1$TJGT5Ys>i4A78`U=a$i4Sp;>a3Uxz%aC8?~n`$`4v(^Hd-IjA8JB!m$Qs!To zUR!`lCF}+3xzFx9XXxgOeHr<_Jk#m^3pOjVYtER#_1Q5EvdkyB0-J0f`7gz(4{h)CqxG zz(nY&hm_$TvOl6&`Se+G2U?;s1J6|pI}-`4SFQ7`dhu|*j85%i~er7vihu|L)u7WD;vH%pG zfTg7dzW%zG>spn82yWlLjk|a6qSNW1)oN*J83MG@CD7g(>>NEsSWnUF3L{WAE0mGN zQk!Xjtzfe>Ryf#7@#1le?MDd?o+%`KpcWC%onOJ#_g}~9i>qjySO7KZZl*I7knRKW z5RiQ!I_aG_0u;0y*ts>=bqa5Ns*%5*>@`g-%{W*4($gJ`_Kut~urSwgaMLdyKEvgc z^ZD<*I2z*Ni-Q7lX2u^MZ#(8M$y0@Y{WNwm($9XM5H$*H_2gwLiki78&Yf|CkD`{@ z7RttBqg~AxSPW*ReM43536aVCvhyNrd8NWDo?J-6%RZbHIe_d_394*CHwhPg`{5TU9;q>O-+!9p2zN-^D;$GJ1-^R81Vg~P)`?C$Pj zFc_4DT&6nI=FQmPF>xx<<_Q3xdiq-7*x;5z!{c3Cg&(ZN1cFtyo#H@1Hx_(i)SPK9471M#OpP4d*kMdX0Zz|N;o^mpc;m`zSXiD%(5Pu_iLJuP5|BGU`~XOv0m+(oB{qTDTJdku z0Kyrk?TMPT(nYd((JjK=6LUz%NnQ?mTl?som~*PY?DY=FDi;TbeZ1H@a15;1X54~1 zPE!2a*PHo;IZ7q&{&UZ|Rv8;NwP@eA$a~{wZj&*yN@z~o?wo|~vT{E9TB}$N&^W1O z9Kyv|?lg_L@k(*NI`zV1))flZGOifk8P$$TnEcOIq^qENg|X^E za2qlO1g8iA2-4l;a_1aYm(QS4Z#qw%Br*2(_MJWHyc~s^Wv|UzCq#B#B#iU`P=^FL zV9jumC6-s7p3L6uHk~P_3<`CpIef%OItsOEfv~L~FKhy$F0A8X+oe(7f!cZF_6Z~i z)!EJ!VPM7P5m(5kxReuRn<8r+t{t{#n@MQ9YRA~Y>omb`#?Y80j?@TaPW8qSG&8=k zGKG3wnDc{jM|%MH{PWN8;fEh$ettfGn{%@ZSZJR_tA7Sx-q^?2*N<`u5Cb^(-I^1* zOCe+J?K+fVBqN2vfyC~U1dl(9G1yV)L;~j)+xTyYx1Q~yZwfanU5Nkif4G$R z%6p8~ba5dxx{QSjE~r0y)?KL#Ye3X={WLRp%dTJ|v~1|89IN3o=za_bltnai;VI6l zQcM2|VxHc0?FYdzm3Rsl=JVDDAtNm#Vog5~bc?z+|2o=@j&n!e-`~f_AAgMPo$bok z7Ic8-DY7~%h8zOPHoyr%_5mKT6{o>fK5Y8#HZsy4r7<2(%qEC34l@kIyFl7e2wDO` zQ;+hkHAcOwD`8eZi$YiYzZks>B1T!^Yd-$yn>71dK?TdmWg;t|4(#r=xJ!^DYbuPZ zJzW!AHI}`+%INV3k|iWdgcP9FiZC_d)Jx)IRNA~knRBTz`JRg10bJSABF-X0m(fVtV>>lvrY#B zny*{`7C?Q`IjCVhM4l*U{w!QL>AZ&N)dehEJmHju&dOZYg#ZAa-?)dBA(BM829@{L9NXJ_kZJ-qBs77d&#sGfX=epJ$6^z z#vVeGRmwV-f|}J;a)!0K-RY#dV(UC7<@&vn0dQPVOl@yZHh77kvJZhXVyi&^$5gDn z5hFqbDJ3qRdmW8NGbf6+wzjaf^#bGZxFoNk5U4Ne;vMmOhhv@Zsc<|r>u3o*Gf4$vq<0n7<5x)Av$JlzYle5GO#@;Y? zRwzfY#DkAj5rIJ(W@v^2XHL%I?Ke+j@%$-7XI4S&DIf~nVyA{cx(kf&0dfma`_;li z-}fy4cj}HR$*uC0D_>X@A_9{0?$6X#Gz4IqSJ$SU=ZP92qDIF#ekZOp913M>vE#h# zq(8!PHpXXir#tIN$EibIpPuU!%M#4^^7$@~MsfbN$GbhP4zT`w_J6wF>g;Pk$F1#H zz2+Xm);v&eTle7*@OmQz#&|`9jtiyxF;x7UCb`YiE7*BD5x3-HX9ZS~Z7Y`A>AWC? zfT}qsw8q-Bntf$yCC5972*cs9@UJ9y9kYIt&^kkqBSP9^q`QC`71Exp+oXy&q@=+_ z2f7K#K9G!z5@cZ#(i-;(P$LBr0&&7fc7dR!5Vi=TCqUrrbC0FyUl(s8%Ow z7dw=3<h(HSS68vTybJ)S*XuZc;XMBAFMf#YAO9Om1Bxcs;orjrT zTYyYb=X#r+Yg-e6#Ol3g_H7sswhyq=8#!Dww50Sve&e{g2g?Yj#!Q z2UmZLdaa%_>REj4r=Nc66rikF2mvH}fD9PvexaYt4TF7wyMekm)eQ&~gA>c7Be$x{ zLhB~!UCk)2!y_U4rU>^Gl08O!0hqli5Y#eFqQB3 zNC|lT(i+~mauzG6SJ0el=EPC7(QKs80@y%oS;JY~s#EB=a>Ql}fF_GjaG#$wTIxl(>HvV??0kH?rbi`V=6Bh>2wW@j7N+#EPncQhQ~i!Z*wg9i_A<;s=Z zrxgGemQG@RR)Etj%}O5)aqvzb_VV6}k@FBUA`*~Eg3;a)u6=L`tEZRIm~J8nL*l@!T)>3_cav+ap#Yd;m+ zADj7}5``g!xxgdQz|Q^_q>>IMnIs9;*4A+S`gO~3-d*>heBr*_ud|8VP$LG%432d& zCuN;!i42+0`&;G*RP{Vo_s6VR`eYxFLxu4ZKwc7PE(1{;C8r}2?F3N_S3gvG@vT)w=Bt*s$`@r%ch z($%5v@9*RD&p*ff{5(#bI;CM65}=?7QcZwEfKzm*Tj=InKt}d6GnE&A0-&TsIv8VN zaRw9#qwcm@vs7!-;%7jz0i+wckUDr~#quuHn&oVqD9#^1d%{_dPhd2so6gs2Qw^|E&XwC*=s3sh`Ik?yhPAx9 z9c~|C|Jk1N)=tm0oj24QC-~Lv4cu5iL@!mEl2GOQ82b&rsU^;8gEzLnvb*iDL0T&7 zJZ;vta&*rOs1*USZsG|zAN>e~gW)#jre~evl%^??BtdMsP2`PYWNkE5;T#H(BRxv< zICJTA^U-aBM3Bg%gd2?pqA)^|YL}o4K1kCvk2VI%k-y4daJq0a)Q}KMg@YT6UXw6= zMWD5+iIrm2lN~Qi`%G~BM?KQV*`c>RQwb$Jm5HrFYNatcpP3ttlEo=xU*QT7bG`#k z61%F0u4rNrA%p2cu(vmM+?LWb#jk$#D_ps91uH8n#R#8~C}4nlAVhWw z8315p+=tv9;nVSihhrQj%6WV6S2f}F4&>hRh+jH4ygHqy zV?;qt`bHkvlM_d7_@w?hWwL_U9hp1zd3^ZhPtomko#)-(-^cHN|9b>NKzeJLEM3{2 z>+}mvAoUD6nuS9N-(j`DUF-Eak|e>>(h{y+yM~h|PhvD0AxRPhL4Z!Dg9i^D;Nai@ z7f?TNKP(0R}@&ca1`$I zUU%rpn3O8yh~*+&u-h&i!`6m0TjaCj>z$q#4zhGbiqt_ zH8bcJPUd5}N&9*uv|q{ky}hBQPMfKx}&jFE4mnohpi$2Mi<>< z(p=H(O|A~;m`?K}tl5gx}0+IOC!K8PVA%?U77W0qBi zPkDM!$KjD*LAJe;(Xzir?whekd*?Jyn})z(OFYexQlTC-5Jd&vsg%Oz<|Z1A22v?K z0*DcH%}%b9=4EP@{lSVc-co3uFnjp9 zr5w4eye&}oaZ4`bMX)@@o!m5V$@rtHpNq2EJ zTtp)XQL6>`&UaR@zdyqB=R-Vw+RxKJ!3?DoKK=AloH}(13kwUTcnTn#29l00dQbp0 z+>tT0pO8UgoN&3WnUMH>TvaYf8+X0#1JjOs|y>bJd|It5I@bL%Sh=)dJv3CKYVyIz7x2 z9DFs2!i6^CrONUyX}nZd0h~2t*OlO$wW_Ra>UxlGZP1~ zP1fia8wLTEmzQz={COmCj6eDCLtMCU0nKJJCox*Bmcs}WQGT%#5#l(;_rL#reDu*r zSYKbqcsxeG-`B61;Ebva1`i1RM+!kGFSm(N(yWDxf&~_3YLDNd+>ygl3zCVBPVVgNrdxyRE2drT#_nhb{>2Gey(w7`?<%j zyAM*Ef!-9czSf*Y9#AI7sJFDI!ysnR4A7X?4Q^O>)jIx`krQB8aR~U|0sH*cJI}mW zk{fvrp1dMuTTU^nTo_N*opp8kBI>mUMxznhQ*G1f>5Y^y3@sQa8)>yEtj>5TlqktQ zgU6)#02HD{GJszY1Yl-Nce{A!op-Rhx{7n>&S7O`1@rUsm1Gbqh@xgw-<2DU2D;rY zR#sMU>((tiefkuieDaAt-{LsWA+l35RmzC>frGmW-HQVCS$KqvOBRtmD%*Ibbrw;@ z-nv6Nk#8z*SeU| zmyht|N#8k3di@?AJ$i(VjSVaS@Y>GEcN$?s#b8UiI9S@mnNf0Qm6-dy;Ib@y?1;3R^EMw%agC|Tl-40?c~do zP(dPCzLLJwPLoBZ2#Vsam^7VZbYxxAhNF%-v2A1GiEZ1qH4}4U+qP{^I!-3GHLF%>&K3iKwx>P=-o+N~|M$Y6C zL|~xp9*iaZ$5P$$|MCTqLJQ_kj6m#b=D$44f8eDPg&H__9T18VX#YF=o78xE3S!{16sb*AB1+*zY(rHI6hoSy?Lr%`0zP_+D!c1X z9PO;@NdrCJ<9221$u^xSlXGSPeDM4_Ah!}E17IFn7Wo>8?+O~0CQ6y1AO45(`g~ed z=L8~kXLB2CXav#b`yu1hW*~5Rvzn@+*6fu^U_KWP@N3Ke@#nEm}V%BYXBkna`beRMg;*<}+>%GfupHG@n zM?hW81pfAxqEu?K2~Auh;d#P(5P)AVOQpX=&(KBxhp9JnK$ku6>19v8C5=`<7d0>y z%@`TgNBq>#(i19MhpCITx^=g^YdjXFKx`CaO;@oQZ^n#Yvx!JT7Wk_tmTSuk@;~4m zh{)RDaf(sM;>HoCB15AQzK`=nyeXPUwen+S!1xNaM;OJHzU=z*@F}76TQ!D-<ZgBDvtc4o^fjLgRI2F7l(CYPl!cORC;rY zsDCvm*jSe(g1kL-&vhbeK|r8GnY$6>pe{grJT@3=^V4_w}!=0`D zuJ)$`Cg^>ETtdGXnrc(JOd$1>;9y#u!`{Iptz4VM^%mb1i1ZHpIn~wG)$aGfo6G;x zq~WTQgeEBj(;bRtVVLR!Qrgg3^k{<|w+^)k<&y-HWhf{&$ zq1jZ2y3bdewq+|HZ%)Pap83~R_>#}R6-`3)jb59NvNM}rCFdJ>zRUp3maTBK>4-e+ zu{R6PU-)-samJnp2j{F^>c141(y5)%*t2@f(IBvA48$@^e{wC`an7E&-Tv@Iz=fg> zBe2Ti`Ci-|W%5md=@oR_@Ox~^+XYSZ{s*rjhL-A(Y_d0Ku`2Md$+uh}N>2DzM(avg9#$!Yd7B<_&2Nf0AXBX6%B0A=|R2RTF3yh3!$EVZX$0I0GWnRMh6Qpbz(zNmsN z58yl`wHU@2%ny!-DwHzv>kTX^fqi>(W{RHff<;#)7-^XGX-uG5q{66|ZhKC{^^v1V zo?H}@smQ;Ty`HQD0aZ$5CX*(F)SsleEu!FZsT~NYQiP9=|*BIU{6q{erHSPWiZ-eqq&E&@*Q{ z6C4X$8u~a-Bp@GV?L)v~!xmb1{s32!?<#B}V^JoR!_LksD2LbWw6ic?c~v~r@l06d z4~iW$8hM^}@M)+Gmvy8??`vYI@0>}qfDbOg27L8Gf!T+;tHCmx^y=j4 zpSLunHX;A7vdc>RT1@(x-m8*kibt*sj5q3_y~#u7{dTG!I> zM@K-sNx%IT&^36-q>efA^L>gsoye`DXl%|KdL_UKR}I~g60Q`Hw}{%!5vBQYp4g0J zEFnwd-$*HI6`)CQ2X$W|rfz?^h91ijP9{AgtieTw4ErcXXyh$^s}i(oVfphfaail7CJd`*tuToI~p2Iv%)njEWUPF z;*>{IXp)Y8-y)I*blU*P1uqC~COUyIb*l%LcESv+ns0!FLaM?r$xQ!TeY_(M9PYqD zvM5lbNL&g%bf^ca2Qs3JZ6L!V(vnYdWrc5$+R%RQpA;{(e^_0qbtH$pa+P-Nd0_$W zhM2s^jJpD_JAW{Lg#K~bzdM`}qcR`4G@XZZb(?Exlb1^0KWW{4riN#%k>It1%JdT6 zrDJh3dfHGxR?}mpy%UchOK;k5NgJq3Q!&^h*DkC2`naUxN;lF(ZOqqn#<`L3+4Ebx z--whGuoVE7=n*LpxZi|4<>6`LP{UDsKG706#%@MwB2hf~G2AwobY$rl8etPdr_JionEbQz_zlU(;u}PldJO_p; z^sdr_-0VoJSFlX{%|1)xrbgUK)dBbT(U(cEmHWV9>2DPgA-E~@DhAKg?(dkxEBz$i zziAx=3HB!*Sp8n!pjZRY>%cd^=d+sH{i}=(3Vpj{C8GCYgkKjC zf6&Z~jTK9R=;0&yaZdY}#Lm7ShAi&Y> zDSA_ttH}E zfq%jZpw1MOr9XUAPE}pq%9R`uK&`&rz`<*w!lgNV4>ptN-@M1Vv@zmk(#B#8B0@6g z$3m@$GT3Pp2|USQEMaWoY)b#^%W#OsRdUG4+;|BYn3#CSVd|m6o|?mw;?C&e$b+9L zaW+GcXDp&Wknhav2mV|Yy}D~e7QayD9CBIJ`K%_?%^svR*C`OO?5_B}n@au?qLc7v zaOO~wl6Uy2#GYe$P+HU<92tJ!K_K=jC^!o-62Dltv~tmOlie~%Q9s6SPKJUvwgJ#IA&0TF# zfy1R}@K{&pD!_Js9tCSX`333MAGB$dB z*VUnwSY=@Bv0X8cL{`G4muuTCV9kRRk{)D&kHF(gp+RKr5-42yVo`||lAKKrv*PpQq>fEloHc02vetc_l_|C8SDl%9g0!y?1uyMAnUjfA*y- zUHIg<<#XD3z78OGlvRt4#xkz$N9hJr(|XF1quyq!97#XDD}hhj=3MPNR|0cEcA4&} z!fMJV0St@}x>SHYCYby`9YeCsJ-BCT@4ftp?`fglb8iTY^(Ev;G7H5U711M@mPl4g;fff z+tjlE=Uv`Dh|-;&o9h8@>Ay0vDd~B=`f>LBvF{&pfFlM0F?fJ*^2}a>0R`7Hn32ee zZcKv;0Wn7b%);LG;4S8kb#`(J0L^33lrV@?hSx=uhK>oc4L1pgTj0!cSTALOsbpvE zE0r!t2fF=vjkPTlnNtq?ej1b>tL3Nz2#8*N?|$hBxXTKbo0JFsO|jNEh^EYF%n@r8 zshK<`2cwLs_{|c^I=cyqdkZq@3H_#gTR{6rJZ({5hEaDNi$HRCT)P+I*=?pxo4eoa zsSPRd1pkNGOtpamoejS+Ngg9n`>(1c)$auqW>OFtv6AWq_k+=jrc`{16C{p6M zLlw-Id!&`0xnc?prcKnCMS?2acvvB5fX<}*qA1yvr1LdpWi|Rs@4ADPX$>x1Ey5pF z5T2vqFzX}p9@5Mrz(#!s2q_WP{c_KP?kk$e`o>0;n~Vm>R|KQ=_;UH^j zh&_9w=ZY<=%H#tdQM9f&^V^USx{m2LKn%58I>%2A`V0zhl@ytCbWB@zbO{&UBQ2-U z_i^jl_rWiuYq`9VjC=Ws0#h7%AD^nYuQ$WD_OE2t#QqI+qZ_0g-mHnl%Fbyy+3CYK zNX>jG`0ZTa-8Rx)voV)>)K9vgvkQ?*e~ln{4K#C)Rsy54wpfbA1Eoh6XM!S)s)E__ zWBSaDb1LuLUq!L(meV`IC;~J!T9@Y+J10lz?-Q0^;e1*C{aO#g(A$&$Ogxxq>YVU2 zJwb!~HYBk3Fun_gnfq>EZ`)s6WE1e!=whhyP4X#@)@){SI0C9T_8CY;E8+g;oDG>- z!5#FL2fmji_MYgC?cpwIbdaG3eG?AO@*|~?>S5QonGc;{FaPrHG0dt>{SKwR{CHJh zvqIde-HbKq41X!97?v{&B&A}EQ5ZC4q18D?lWJ(BIzODM|Cdo3fa4+XKp+c1B-T;6 z`EiGpzd-k9p=Vs0uAJ|83fKN4iJLFD4Pi~cad{qi;WaM2_D{^&YH+DabIU;Qn@N)N z0#Gyz&c?IKOiryvp9^0+x51D{N-BjUX`J3ypz3yK`sF&wZ(Q8u)Tom;K6D(E+VZaO z)7P`)#xwl220^rq0XJSDGz(^Os8BdDBk36#!_(6a#&Us$C5~K+v*>cLt8ujJ<6pyBcMWdEF zgN&JSA!BMLBP^1@N}|yK%Ee<6@jLdr>bu3;CK67r5vmQ2lWHnSE2T`Tm~ygIMDeHz zrtNe!LEo+dT0@$W9oss4qxZ@roIR@i)H8(U z4QM((v<`y57WwcSZ%P+D#MCINLW5AN@SJgb`qQvWfo{cn@zg3-Tru+TCao84-yzq4 zpVb{k%`q$2p&CkgopcS*R51OIxa+WjSm``}t5-ByHg&9SB$xp!xvtk&B;O-bIGpNa zlC}u!uS=Le;4izqVDjEJj=T9GJ%cYyjULi2ZOE*9OX2-!T=TV!t$ow#vc{)a9hvm-X5K_K+NQWe&k0-SUuv zmwb4I$bNSojJ^)0dj*}M2z;hUw@an5+_t&oXa|-jP%~y8Q zDq`RL%gp}F=e@268_2+EZ>y)Mi2Ogjm)A*2T9B!ICiIoxHPh!S%r-Eu@8vgVcCb;( zT`wk^2BLBQ<7I5H`vv=hp{lMXI+}yNw=wJwDu||>V8<+va^4??RE`&uwHbUxN~q(3 z6pRKd6N)Zz!;HV;N?H0Jlu}w-glxbaH?Lv>xJ(A>8#L{V*E!eKSg7Gz9@i~AtEEvA zeMq-D=!CN_sJW#nD8i*sW2tdGs-r@>58QZ%)B4`ceJ*SbhyG*kFB^E<@9_RaSUBz< z`hwem;e{)!oa&$@Q}!Bdn4M@InxZ?@4ge%_^NN|qcHyA2Uo?$X92Iv1C;w1a1fkxi zw9(Z`pV(5v`HEg1*&}TDGiZJ9->a3cDXLUzeytmsfTyD6fRKX8VZ!$ENNK;g4paNN zT=*n-w=L?W-T(2^j2*iq500d{d-&xRvFW55hMH^;)JF}U@j0Rdc~EqDJzp#LeKTq3 z>jw>hTxa#YWJSRF={jBqbA2Iif3136dp&RpK?9wuJf@>yqQGE{_Ind*-Lb2L@KJ>5 zP3voH35W=w1*Sn@wQ>}-+B4o2<-wK@MY57sW&@qT3{;)88G79b#Pd-X?;eVschCz>tfx1)*M8OWSmlaCv5>!Pa`Qe41%;>S-=qqdLHtB6aj-jvoLHq^C7Gr zeM%euz?A$&18`72TB`KTb&guQ)DAAtz@k|5K+UIKcy`zW;!;~r`8#a}=G6dCDS5{D zeB(59b7r3M7kNnh-jpjZ+J6+o!OsNx;OiWDIi~cw2-8Vpdul*RVpnad`XVTt}p1ywK&xfns zqD2(DmbDjh?<=+M1Qqfv6UtRLCOdQ zBtnI8LZ6W*fTZr8k>Z%h|MJlnKdm+`W!uSoo4LH)oVkZE;39hi;ydpA`v)s2`T1)D zSS$SFL%`_~sZKwQP{#~Is0sC%bhfl%R@`AtyAm>zk%U6OOwA1@TtORp7cG~NTo-(# zhWmtgPl4<&vICT1_ib#ML-qXr%-1J`;nxyCsDHpRa0naPwY#+G!MkJhR{`HN`({oG z__!>tv?Y>6xlh8VK4E&`I5)|6V%DZOVm#to(N6#@P zDAHSA`$#yZ*B}ky-gFM%^KDvRbW##J0U;qk`id;*4MlL!|Ly7%ABPN;?#U021t)BZ zMRu)b?t)PU0*#%b8D?I%zjbp5=E@)Yc)~w;y)8_}vq5WTYqRSablgH1kv1AnO)dqm z>cPs1Tj4WvD)5plKC=!R_s>em-z2RLMJn;f&ce)JLSYow{8Zou`F3xs68C7TV}fLs ze_I(r_CJ@KP2L!w1@K>6;QZ>!6eOl-bKC~f*L4S-E!T;PB}OpgCwhZte}Qp-^nrbP zQ8bfrNvqimA+Wl2>==z}XF(Z@xV`#>IQ>>L2#I+2TU%OU@UL2F`z0LI{Mp3-VT_G7 z`c<{Z7QfroSp%4v*5&6ht!}&Y=5XFpNP_01JbFSF`Y6C3#v#oM>bp}t=I28_4`?>` z2e1r2&>!4z2-L}6^j`!zareXszN7S^h(hZoWwH&KTF;WSxt z6y6ZlR#$N=D+m930cg&!)Vf}aA!uekaUOeV;^lrOU~1hV?bp~K`C+AKjhL)1t*d=A zjgO(39roC5uBet)K^n%=?~aV3Xh~XCZze$F-Sh4$)MDW!Z$AjyoAt zR3r)t_0ID%&QPG=HMt!CLwxVCBP`aGsS z%V7w#uh}8X;HYzdef{GM)LQ%!0spAsbAisegkRS09Jx|}^AK{w`g0=DLix}ofdw$O z0hFsRG=aCF8B+n>9a+QYZwB5Eci=2;_7p~U?0LBY0QP;p?Kj!?-&cN+gBSUQN$bHI z`$a#VbN7oKKy;Q*hpE$6Iu_KSX}s_CdBpr)#C3Ij3*JgGtm#u0&pF#Kgg(0nhW*QZ zpYHDmBZ6?z@88tr2<=&$8HXNa#?imB1IAMsfin0GO+c@NdUwpQ<{hLq@lEr{4~VWRNLLQuvOCl3A8& za7;CKG$_B-O6{sEbBB4=NOHn()S8s&DPu7UNI{yvFR`{IlHd7cA?<(s{_c0b1?_+P z@xAws)ASc4x7UD6PE(K6x$+<4eeEZj{R3$tau0QVyz6`9X)$av|7YrU-w$y; zo(AtYUf~0f#^XOu*#A7`ULVf9?xwhIZi3_XKT@}--UrTJ8UHHv$#? zf`cImh>7>dl0dI{69>U=u#?81&K~gI-roLO+}`;P>sTPL8zkDUt>GIUGBWZjd}9@I z46Cq5=?v?ee^59#3c+wzQR_Qh7dRB8F+MWcB&q|*FUaqa%0e~BI#S)L^oq@d=3)`nQXY5tqpg zYSiPm-jkg7&pyK|yp@$}O?2LE*Nn#)qSP4j`c~m%%!sI4f#W@hJF6D4qwya(H%p>f zCIc0ho52u6sIHW{{5@-Z(yI4pKbnMjyExmAAIkYU#Etq{#RgCQ-IuD zfk0O1tPAMv_vyY7KE*F&T^>kT_CJRY*yfD_3fOj&wMf|37Yd|cMy8Nlqpc^Xrokcl zFOxu*Jk%YZJ4F9?&Fw$f0#D)u=fwBxTwf!09wQBa@^=|6+J@c*1gR<^fc*iAXJ zKm{&ifxO^wmJGR9jgF?DF9B^@42eIKPBfdEWZn~CO+}(sJJ8DKH3}yZ*44TJ zD(7C=E!4eDqo&*7G-&6F?9o*esMVSWw+TMOeZGC|_6_yDEPqjgc4^B0=(eEf-@Ook z9xjKCeo))77o^2_;@g;+o@U9LX)vgB_VJ01h?>!@(MXr0N}oCY?-Tsze>W0G{9n=R zKQC(U^;Fi$QIj zy`Gcfkf|+VOda7aP5j=OLXRhvxH*Njc5=*jjo2f=x4A{*u;{)|4Sfv-v4ciHA=+x2Zegj_8S%TV+INQ%auK)S70C6_j zoe90YgY8dKGz|to1_3u9;!mtgw@rp)?2YP!eN=auSMoG zM*P1WuBGK|=uD^Lt1S|cF|J*}%lEX#=}!H1UYI-|`|H^xtg9bpe-YbX#EqO6V=QF2AEXWbp<+mCUEBXP7#t-vj2xdgygG?9 z#vkrIh^qm1R3hek%x9p-G6VU~i6rg69M}3OMZiuU2Y*;vURY&6o6&30+sO%Ak*EP= zh`Oq$w?20+P}oRV@J2F9=}UgizgtA)y&q7w-q`8BpVsxprU|&BME&Thci_!2;mz4| z&3hv_?bKL5Ic|4D%KxYE+`8JYrrK8=9%#H_=s{FuN9=MvQ8GIr9A6c(jWyhCnFm8Fe@1oJ;73IIZ`?m%S zvZ+%1Rm>7&Tv|!STE<7gbeaV%8Hz5!%91<~B>Viav8&_aCP3_%6d$kLZ;(#fb;O)p`Xh!+3N$~Hd@ zX{01fKw5IDa=f#jnw3y}rcQ4tra>3+EJw+uhD0p^>}O7>jAN66HXx>Xr*pgXL=@UI zOa};l)DHwxU;a+PjF_Cvvepy`zBEsd*q12UK#W~-0oz^Sj%Xx(VGAhx;&E>NAmLZdRHy)J6?1VwkD}G}6>aFO@=W!*{31{vf-CYpyx89X0UMoK0VgV0 z=<3Oi6jD&uM7Xy_NnuY4&*kV>Zh!{5lspO7@O#c1Cql*DYg>D{C(E9 zZaqe#q$NIxR*`<-OQ#QUNPq0$XWxNkcdAfNpkYl>pwKHjL2~a-x6D0el$b~7e?q7D z#n*4*T;_6R8f9FXvtk^L9k!vb&db!?#yGokvIjo#8r0OseG4|2L%Z#@AarJ}kSdCX zUoWTICLj`~?N}*f#6mX`;eoKlfb%WE7rCh+lE0KBH=y{o(uCT<834I6oaF0sWJT=q zNV=4SP`%8~qIh$@kEdDN2S0!@x29yso)Mgdq+uxt=}4@*I(}YIlP7%oJ0Lr-5z;Vm7XU_CFl=|+mQRvwBFrcJax~UlfRt8gw&87RM0sEKY z0JmhOQ{L8D1hFpU^ubfM*6%rGk{X&e!S=7>K-hX`G&dk4Pjm)ko-)Z)vAPL`Scb)6 zeM_Iu4lY{Dxo@Bj3W2X{cVDSC%StA!@u|<>SZ|}Ke{VCnJlpYt_#EL{Lri8Tx-^%S z+V$+io-jxHDP!Dxs_U+0h|suU)|*x#T3JaK^m?yK^AHo?>$gPKfEn5|1M8mG_m@9EzH=lqjSlBk5ZizGcJ*qE5@3B`@-l;*i*`H*ZY(|vn0)g2<$2aWrD$Rz zX475P>)!vb?PW9gwW%i9WQ)=D?h`$*087LcXYzb~cU+eq87_ogb1G7Gw`&#{d({N9 zh!>bZi|C2Zl0&>eC(&ODjia5@@&1 zUjb_dB~PEO5pwb;sEC#GqL-~cODOc!+#a}3>l?^pH;+0Qm)L5;1!Ff5F^W4|XlBDa zm1he^8~Q^yW8Er6Wl4?cl|!Lhf$OIqlbQ$N@*m|AJo-kWDW!1)`PeB{1+$Umyf-4K znIziPlDE{5k@+)S1}lJ9C-h_>`>8U$D)>u~17r-eZR>`gvI6qim!O>J{|4jy({X0tpr!XNW{D z$Jn6XgxWMcTHeHDpFbC>03I6u$r~DP{V|yFWgMy*$+Tt5q{*HIok)y>tRLrW(&a5I z918vFyP7&o(88TSQ^W{3czS1LqhrBlLxCdiIQn}s)X}91rUek9q`AjMtdY=m^#k3I z?ahbgTcAuzAzk)p_+IWlo2fTC{3De#Gm%PUJG~E*UaJmRhKD0tGHk0}*> z=U!+CA=wNV+o;@kkU2Hd*)0M6Ibd8zW60H_c&N~WX;aIyRORS_#g$6xt=}zL1xBS8 zr%u)(ImBkM=15Zns?v`X4DvVNsXa*gVCZV*F){AQn*s+C9j_9qSoZZVx@z}FoohxR z)w1~$HqQiZ^)ND~_!KG^M2~tt8Y-Z zuZ*es&Co9BB6}eYG({q{D0H|#w1mdYF{2wd6v}d=sEK}>sMMvuIl>|(Ny!y_Nc$*Y zkmA@7#yO5t7c=^!bfVVVft%oDc8(QQ@NwI!VOXSZ(UVReiE)x-;GycM?f4CgZEA_z zemS8m*Aaso$(a#1a|i4qwQsID@tF?Oexdwqcq8;lj5brN+$j$yJ~ijn#2rUojQ=-n zhD4E2!BKMG4v4=4&`N#oDML(&HIFrKmJ}Bi+Ax#%hbQ<7cZ{b8{i*3D*J})x;|-9- z>%{*MDCb1aaj;q?&Smp^AAt71&Y}DqapcU$t@k8MHv}*JEs983DAJpZ&e#QEnw>0} zhQ{v-1B6ZOfeTo>DR2g?f>-IbS{3|3EXqE2m(-ZN)`UB>#jE46oDVX)Ou zNF}(!o#aH#E3@4x3Z4-Ms0M~Oii5*C?WaDZG+*_^5M63N3$e1EW$fsn?QBB_#-3lh z@s=OY=EtG4-FA(f0)9*F1jj9-uEP&0siUiFb+G`ic*}V7&skQRWsLS#1y#T$o8J7d zeHo=o#>k8^Y2xmHi9t$^t~NK6f*2Oo!^PSx6Xs3&KL`Guk4E}dn;s^Vxg4FxXJ8U6{TDu$uGo0z zNJ*0I%PRY@tXdC{j*s@jhvn?_MWkyT4vY=a=&U8H9Zrf(*BUgfA%N&bf(@THAFv-DAgGSH+tQmk^?)=#De zpwQn~|0u!-G+BGCb-iKBt)Qi88}Cwqu`!oFwG{54pq*usE7>m#IveQAGP^chXbTyZ z5OQhW>x2}?{7bPW{b!52)T~k_I*-VO7C^4S0L}_W;EST8`NLyRc_dJQUuINn{MXZw zx&@e$pp$m?$by&aLr>?WW{rM}b(qjmuEKRBzwRt2i3v7@NtI#&ZL}Q0C>|<4s$#aZ zAGpqHMZu6YpcXOL&bE0V!tDGIi%L#z7U#}xf_G^t<~n=zne%Y_=KN_oj&giV53GY= z9YQNbrZ38ZQ#=ecfhoPbia+>N zsk^ne3kgLCChqM|J*g?!G%P_(oa)7OV7xzZAD;V`v`el+5a=*sEM>8PXAw4<&(V=% z+&+QTaA1^tO{x3*=FsOg6{A@LZm?z_e_{P;HWLQP)`jhCB?SyD(LCD6Y2gV7O-}JP#K6mAPA82fQX~2fwBTOWQp7ZXcEir9!?7}FGVX83_ z``a@V8Q9{@uH*lez*i0&=NR}$6^%Wt2;0cR=Wn&WBvD(bG-LY{`zJu zg1$MQCi7enqG)?q0dBw&-2)qV(TV3s-8$Ap=S35*_hrEQ^kjQ(yvH*HD{RyUZmH^akeQx-j`0L~Z)7AzZ)ZP)ZsGj@} zio!6$G3&*WTVL|e85KjSo3+S)UbLF(mXCL4%eEN5#2-Yyt*W}9{eoke3$G;hHPEA& z+0>kf-Hen1e&W{Dr4~;kRxSRk*Tu?a(>R{9A(nc>?|88@c4uY&t&>7T(QEdL-4* z>^fTa<)7uAdis1FADiu;mPN{rws?N4KSUX>zi^wL!`igCP#Aa}eQC zK~mPeKGnCFhgTtc6bfv9IFN3jL2xq)L~dwFT3u~MMaGYw(8EV5q z7%K8Y`qQwz{!|9tCft6CiuYk4N zrPA-l5Ri~)VfZoNJm8Yc)P=BhSDUNF}gJHm06-O!H8QB_L>Qhi~ zW31-P$U%|K)`iZhE+f8QZ!-4Y zLMZx8+o&RBP<{}eawq866|J`%fwA0pk__m2ik%=b6fWtyq?C%;%8ykEeIP2MnDIH8 zZv~YA3R<-D82VihvKa%Xu=@S(593A0n%z{z@$F}&QTpg!?KqX+_YQzxm;=7A6$=>0D)%FVabvi~ROMkFz zRjcIDbI4JF++jwA)(7R2@LHm#vc}eLW$EO@6Ni1tE#bKa?QO%;I`GRO8JcnGhi7o| z0G1+g((Zm%w4RByaPsYRKJ z$C~35i5#DVk{E#+-pRrm8LtNH?nD%KXW@BM3zqJM!F=+HI-%glc1k!*v#ENip)_)a z)WUjH;2Vr z#x7HxJhG=m98%MEym8!vjPI6)5A^i!9Ju=E!{^t9Jc>NzIhGXq9*3v6EpQgquWXrl z&(`phtdl9xqPs8IzU$~F8KNxXES^RbU}eH#N5AEq0c<({j-<;+%M^r}^kYZjJEdNz zTrw6t0eC6%G^b0TMr*oI|75u?aJUm#X+1=k#o@f4ap0^sv;VX~8QSw!h{1;Is$%ZZ zBSzbe^Rg+tVmvdQ&YRnfOK@|Mk>R`=*fzP^C9~KdR+ED9Z8K?kuv6-o5MTMT2_5mR z>=g^wWBSJdrMU8xX#XU*l}<^d18xkF;h)O$2_(~=6ah$|Ul5bAfy3@b9$M`dZaP7_ z_e-l8IMy7F{x$bNuA~%vR?$0z#nw37V_ARdWYc1whxo95^TdH6Yb&XitAJS)&BrHt z_rANLo1n;rFEC%Uv5(qaOq~kvUQ7KpFRzAylTv6HrY%|_Z!iS}YCN`6>(a!9H9NYN z^M;k8NNuO_l2IO-WwDXivK83)@FgZtXg^hOqU;EQ#{~TBXC5~BnU80-K;-0c zaD{#b{4I}S$>F1;DA7cQK#AF+t%!r%Jl-C09xG9vYu`V6wx(HE=X6D-ABmbjR5&ZYXGz_TURJcW zTdp@3l({qw!Sg+0rMs?LZP}*VkhZ)%0==_p5TI}NOhylMx6@gd&zUF#0B*UA%UiZG zwJ07s2=X0Z=3}j?!^Q^$+)o#S;ixH_FvYa{&MEY`GNK5^(`u)~Zl#1^tp|(eE__9Q zt!pr`+vY?IE5Fwa{^{YD?q^$oD%n1#%SHKaCI%hW$_~t{fr?Yat*X&|V{5bT$~amr z5VI|I+f==&ih=mf*#75dZV8<$!y*M2z92B^RjmC z+v6Z8&hmsxjt)bsH!ZX1?PUs0YBiofQsA%o0e=F7W<$^hz>U_`n`Q?WrGX9{;yk|b z;anbwo~i>6DD~q?gJ~s%k=b&6K8we<&K4g_{8!aE+-W^9xz(Tm-h}cOaYr5tJ6Mtb zXH$Ogh(bVSl>w&EwJ5+vT3~H0(rl#tYKEXN5OvFME{APrdbMaA^7pqcxhkkW9DT=3 zi?+yuF8mb{TINBWP_aLpo1X zJy~Ct;}4I-2L7UTDKn{4)05GT2qo6tCW=m8;B7ktV8^@wxh)zu{qN?MOY9WhEM4&p z#)os|9ttVUck4lJ5OfP|_wH1?l7yP2Y~f(ZULEdtq3v%n^B|6@ndo7o^Eoy((m3Rf&V2UO ziH6JPMASlB@}&8_9HD}~U`6N!(ckFMV7)3aSHUc!%MsQXuJ&#rrO`#(`X`)@X|Ag9 zz^{Zr#y$Ekbt(IW%k7JWpCCgnJXrKM?>G!5XxuH0KA`9m4lNPn8y zUBDNO_>_jg-;p0Z5Bu+8+&Ol5%Qysey5&&^Ae7<2iT80T5FLy1A?FQ=Aka`1A-p1( zy}LNG_2*{SBwaI17T1w!PMpCsZB$=WNW$|8V+q{y$z9cWL`mWMG979-AgeKQ`nSR7F_$IL#6x*M6MgiQy4= z@q(+^qZ9F{#Z>3sM%yso>-$Al;?czU1U9#(FZZXdyp7RPPRz+PWPVl^`9u|`L$C%j zMZB&&lmnby)ef*mJkLxXO`kezaz-8Nb3ae8w>vn49$x_UJiHZ7dZO?8I^$m-Jt`9@ zJ||M8CCDNM5#cjW3UXVS=5U3G(u4*ETJWfIu?LL5INT6;=^ej3ULu}I(cRx1298Q2PLhrgHfCTK*?=> z{^(oVxp?bG5kyV*-Fb9`cx$WX$&DrwPV-?1r4Uc>i57C{xSw|KOdcS)%@(BZfyG5j zs~26=-jnwv74X;?!`d#}Wz?}VDh?X>BNKOQyW<8oS=R4nF|R+ibId+GLZDl~xNUC8 zH|ABso5^cvwP<=x8U02@nJVqOp#qkck26DwlD<|;VLyf+qZOA3W?h1pdhZMOBcrgj zmv@oAfVKy}D;h#bEMqItq^kyhziW4EGuE*@QWrXxF|a8me^*JlaT&1fhN7C8E0wG^Ft$f!5AEc?UcYfv+eSLb+ai;DOwJjO~;Z;*}TNf z-7#^Kt&R?wUiHOtulJjUDWJ!sJH27BOAW#OTkXZ^<(D zp3_SheS_Ix_xy1QtM)2tUDlvf{EZ#JGD3t{ooIl&gRmUulm?T&*MdjRP!LGVgpO7(qO0Z zw%_8n9+FM^E~Boga+cJZj$ki%TQFu5S`F5Q2L>^0{v+{(76)x`uyTqDe^`P1nJWlk)^>-M(?STF0A+5{Bi zPkGM@{;vdoJn+=!KLRx@L!??z#}i0I0zXFF^!Hg{*V6m7Z|))hnHjoD7B7-d;O0z2 zB{Hu62Z2C-zXU9jnR6|rU8`<+42VjKx_B4t!i>6%r0Pp)H8Kj7X4p%Hs(A(=<5}~l zMGq8rh-WnLqvD3xxn$BtsS0zzDdO{)k_Go}=rXqyZn*XgbOZ}lQ$3!4m>ZC&0wm7QSh%7nCRVtf&N-!P%S4Zr9e5?YZ-l@}&gNoR?FOP9Ejbm$dum zO!Gi_l4+M?#XsVH8PMHIiJ{M`t+P)Hrb2ihv`1sCrK3JM(5``OFd+ z<F}_VX=LDtq2qZy<^QaL(HQt>mEV|ciFWw6_Sm^_ z=AZY%FjfHrIK%>bbR7i3i~Cc&c)W+JU%ZDKuiOTiPJL~M#AY>dhej5?#iWk{j>&Nr z_|Q?{^nN#{fUA>0BVNmRq6bRF=_lIyW_>BysgPgko7>l3XzeBH9b<$0Fa?wfK%!LU zqE&^NFk=7yoD}z&5 z1q-w{mywU51IEWecd1%;_jH9DGKS@mMEL&~qka-nr&$Ddcm9@buMfpakjwyyP`*Y=JR zw=8Z_g)4M|d3d_a;OPTiCm5m7*5@i!WcbptYV~>inK@7|g*O+nCF-gLyDxp+wm921 z*tDDmgU~drFtbW`=EW#{q4=f1m@^?Dj^#sWSlZrhdPC6w$-6i^W? zu4)tv3Nbla-yj*%q9_yu#sO@FFvHV(d~WUko2Ani>fyK+3w!&yTkkQQ+G>?xxl)l~ zH`(P}!%+exzlz+Yr7nhHgjcH~=;ajt5*X)N^Be`?JzoO`8-^I$UNvrOCW5V*GsmPG z=w3%;qOm0%X^T!|%5j`(o>??EPW&7*+8M5LS97`wnkd+*G;bz{fG>qSP_Vx4LYq5} zT69q?LO!1vd~F0ts*`H_@!x-itnj^?!4fy0G7t&8mjl1*dp;$4Ey!;tQGhaMm>`c1 z5D_$u;C#hcuDw@k9C%WG6N$RYNy*^!Qw_UkSZ#(Ap?0yjdk#=L@SIM8y0-V7FWk({ zrK~*1M4??qICrrtWeTR9D&w5zvt)TvvU_v4y=876MOA@*f0EnpTdXWTnNb0HdP6E;LR{DV_QLIi8E#R(_+N6>QA=cjgY}4?q6y+_K zU>-iLvdMc@((fyJwq%@M2rgE`KmaQ1^Yn`jigeBdGAKR8$t$vQw0!OK*fYn0c0B29 zYCWYaK-1XAU(7Fa+rCS{@t88Mg^6GU05JmKW8g>%&nhE)tv}3SfJVfQWr|?a3U1!L zg3o{c4vvl%_C)6zkQ&&yH2LB_osv#8Lg-4SeGOXvv3)?fL*ug8R1%;hlgXI?9Pf}f zT39Nl@|g%@%LC3&`VeIseJ0UlkG@n*0_zn;ad47Undx+q*RDrdo#|tQ$xGs;@23WM zk7y7H>ldXG4*1OAby8ZLdML~SoUIr?e7DAr-f!{u@49yVE@7Spwq<7qWLu7v@n5jyz^L$|bHY$=Wkv$Z+D6DsuyQOkVPuP@_Ti|h zMmdnrq$fe64@d>uSOE`=LAlB+;xNO?lcOlNfmaUSRSA5W6eS-eYzPKmPZE_>I#~%x z){b3CoA*zosIT!ns1$zvMX;^~4^IUTp1NPmEIZY6n9)}+SP|@u@~ASW!$@7>dq2C! zCT|T-*L0mP-8p(`!Si{!ObIKutO351%C?K?{&_$ZBb;Ykar!<_-lCQbrkKN^f~>c| zlQa9t9WLCrWMR#0rD5CB%G($uh@vq{txcscB_U~zk#CLFV;EV>o8viSQ+>c?azQ+c zfw+`Snztf#D|W;lQ=z(*=io}mXa|Zi$sNL_q{9ah_?Wqkm#j z_l=Ugc%lPo#xA6Rb6n;6ASqJdFiYH}wsg+>ImMNgR{;j9^f1{&fGz|f9DkIEiyW|- z9Yl+M-6;T}@52oFPztNy?3$@^rKy2xN)eD(l~elqB167^@6|@|y|)|u`HvXyJOGx? zZ%Gww%-BRZ^)*V}I|sYXwf!kig$69=aHD7=r<5Db%T;-f-FBC?8e>Ay*z-%FN-go3 zDBRXBk~jiX0cvi*riD0Jk+?;>t9w-rQCu|@+g8c|7xHU0lJp*A_(;kp z4;4kKOf*~YxPA!{ee?bClhU4dWK8hNEPc>|NA0%{oB`Ox02cvMA{e<;dx?0#VcJO4 zsxXbK)6xamyNw6saSmuyGsM;@mOP**R0FhVywWwi8$lLatOa%JD!ki(xd)houxTJI zIi8~bkfGEiZ1ExK>J5sDohjo0&W=RPnUT5=nU8E+JdKe^X;Yrnk_ND*7 zqL2^0a#eXoe|$2YZX(f5@)8^VMs}Mg%h#F?4jjXM=K0Dqt~3L#8My_j;bzQmzTKMRw~cGr z_pDGP(X~#L>omyK5GK4H2CSdtZO;;I#*P|~Kx++j(n~*Kv@3vVE%%s0Pf-Q9OKQDf zcZFXRppFHi7STd?`|~w3TB(69QG2<;+4&mBO^ZcWMi_S|(E@d4N6s_4tP%>-HzANx zX&zm2EqJEVOm0u(F>h+OkXag+8}*csH;wZ!gE2)d968!dDM^x%2ArbKb&Ge_=VRyM z_CE$SPPbutRjs}{W6ad9gQjYn9|29x;?%u%5#VACTr>cVtRC8Zz5OatVvrMWL#@Y4 zvNj(s#-ZtMhI+fu)`h~Ye)QzZMjwY-+D0Sm@9GtL+P zYtc_~QR){BUJpf+c%LNU`Kh+;8mR6v-Sa%0sAPnv_z!2Q+>*~T{x9Y@{Si@bcE5Hl z84Kg_a)T#Li(mTET^zn}VsG0lf%*}!Jp-Dv{I^SO%_Y5vAjiN*XA@;AO!0z=3FSF) z$#9>7g4&%i#g~5Hjg@4cS2BUZ#c3eKt+HhDF7+xio)k*jby4_CWWqm$qmMkEQRg(3 z9+9FS@tMh2g!D=@r}bs4*nkhF{&}}G@a%%|y|)|u-k&vi^J4&4?0<9}z=H!#gngyH2{dLk3T9e@mHrb6cx%OV+NSUD;L~=FSCvEloxDFA;&3$B|6YY|tWc5&Hoi>YV2K$Mu;smxU(qbOu| zw&wtoP+UjInWb)o@(w1_#xzF)jFC?^%JCB+rbm2c);G{UEI`AIZ6ny!GSmPDVWeEQYAR}% z1AUO9d~4-vpUtD89k-mvtA{V8V6>|ZsN}^QyRY{1T@CLT;W$}o&)Iu?;~gvMf4^#u zQAuT|Fpa?%|Kof3;_EMBKCkQpaSiYm*k0%&3SlIq!%s_yh@#TPLkc^95GmN*fh6F@ zDaZ-Nr;)~5dnLY&Bx->b9@B4=L+h1S$q^Dk3CjK;LA=2-t@`xMlIbz2QErl_Lx$HJ zO+kseT_{XWQn}GWYwmNyqUVoFHc4L~OlVr*gGYi79|_)hAo%#108@aDVU_loa!vLC zu~*9#rb%OV2uhQJ{MMBKQamM}F74{!Qp=tbGc*py>r+PFa4s;lg@!o^d;_4lDy9-61 z9T#{>WTu-6?Yt;gJY^LwJW(SJz|a7~1KXf@jw(AAXi$_?ewqLzkw}yXJ@#LzNFyQ3 zf+0WzN(vH`YImqINw3Ni5FNNmjmOl(KqyI~*QtX+Fj{Q{Z{277^drIh&j9S(|7hk= zB{!$x6n40fWHANf2%^{quiAv{=1zp9P2%O_JdxoXbJeA`kG%t|l87_Lg+9-;kT#$0 zdpKLK;xtN|Zc-raDjo)~X&GF%z@{EvELFB`?-C4(JCP)9Gng~2uHRl$d9_Ba442Y+ zaKuj)4_^ z({J0W=U|!z*m4W57z6`u1z2r?(Q(Ca};ct@|ngTVYI`25lNJj8%J{PMCaeqe^Z_#Os3H|*ZaWcKG(MA+c3YC;M-XEd0lS-BXCDFsMPFHI z93;W#w`>-LAPpP|>3$;-MTi>GmGqP+;QrGV|L{KJgU7(f&%z=`as`ou0*_|gNLB^= z-p(;#)GU&vuJ=-Mo?K|xbHa}7C_IpCOqpLbS$RD9Z4pyq>vJ|z*#T%J1J;~r(^=s>W6(4O0V}d!weF-~2$riY?mu{p&z+s1I=evC zOd)NJX1T>gDhP9bqEfFu%5%JSZJH;yZBqfvY=B4s7>h~sQ20q6>NJKr0VK-APqIr0 z$|AMm=w;0BWu|}#sTE41wwmIQ56OTPM{k{|;#J6ndhd~>;H6fWim6@|gOY1r+yzjy zo)}3L8`K=`pjd1W$htqi9ry^66>D6P?Ssz(MT67J7UL}7ILYBL2?J2o9dAr zAK&Z)Npr@}5p8KX;F}q87)7ArPFcHhA;>hj``1eN3^&-eQ858=Ng4 zVzS3*+NM9@7IVUM624i}iAl_FR5Z1BEt;fz-~~JKq}bu#`DCLw3BAuE&j4p279mV_ z?`y(jmrtskOOV{I2|rPl7y-8Uvw$&pNhk&euPb6s`?uZ?BT44T{h4;o17Gf|F8YGE z@coExKpNMX{~F0ikTSE~sh&Gu;>XWU{+7nD={azQP)>8Z)Rku})a)|pQ!2f+H?rOF z@!RMz+o?)-Fudi4zZ^9rpn&bAjgIND&- zZqd4L+0g-EF$bi&^d5MwTUNE}V3@xC;w zSzKp9>S$;>3Yn=gMG;q&>MTv+3As-8!8Y<}YNME%x~?5l(6%E#|DFJ&XjPyDs`aqQ ztu#H9NjEA~g-8NT(uyRAqf>_3P_Q-)qMYFVGr=E!pYi*DE07An34j*>+`zc$a%|7o zF2U!!hOYm@ah|~V61Lc!E<5s?xiomK{nx;fpHujX1tH1+Z1f>Et`cGhnii;A!NZFs zqzXx%<+cs*YX8h&Ivq~Hs|N;8&pGJ2&X;YkFNpyA3&Qb!$Yor=8kPVC!2a9>;8d9% z+jF(glBB)1lPCHYA|JdFS5A6ZamXEpe4H8w=N+f`d7s(&cZm}8^0uWiAM10MVPzoE zd}q&D=D;$;VGg&Yl>b#PR1}CzNhO~XoVqHOhKm7AnO zY-+}~2`7c7{dPio=d*PStcOIL^EIO~VR-G?+62|n-W)jEGvRHPVYRwHCmbFygb8)a zFa%sZG{Fm4ObLd$MGt2AFApc~NBC1c?m&zdL`gJ^*Doc=CTIi~yL zG~uQYgD1JkC(X+#8NRX{Xq^09C;`~;>qwr1!S|@9&o6~*r9|8;v)xy8u@-E$5+X?T z997>SlqA$fYT(Q$Y5VQhZtO<|KT5Preo;UiuF3 z;?*h`Yn)BUw*TJo81kzm-JcmwtfXR-zhYLR@syZX_4&#if0+kqZ3}0{8bzTPl%plk zk8et^#&Lxxr)-e(r}03V^0Egz1C=#$mM$73TLJMZ%8( zrUn6cF4tb0=WhD&v<>nTUwxqps=-@VDjdwi(ZOqn6inC-Aj0Ih(!5ASkysYJR`FjS1zS4B zqg?b9d5Q+p(v7OwWdRIq8^PNT1mFC7_nkj-|LsG!5lVDU#h&RBfR0t3G6I^p;hIay zd2)u}U083tFS+rO(^8|7-%V^8R{mi68C1ngQwvr<8s46 zb#wJ`i^UAV_~7SWm;^w*m;+b#hqGl;*^1RSq#Ki(zR9m16~CtB7OVyByQDTM;grv$ zq56t}Gfo1DDHqEsA1sk~RUoS9G*qSC!_-bJYB{43 z>;i1q;kIK6e0*+FMjOEn9O$L0JV^mj+3}6y9oqTl@s0jtfzw~?CK1=^hd!I|cux5o zEnV1$A;JXvnBky*U;?nLr^%C_Z^9Sz@YI>+J^ty%YZ63k-8iNmS{cCJlrW!$O+p7w~5c zh%cqjQ;=VwQ7X}MD!SILf0}>d^&0WdP4wYs2=Io1XJ&XY70xlk1wep-K?TCT94B1B z1oPkvcD5m4Gd#(BLip+Z(4Tp_3g48Y1+YI4kLT(U^}DqO<$bw3zVpaR6XXIv7u8^r??B?t#@?r8+j`ZlVDEG|-Y6C!7%z#&KSN(~6v>?26s|u2( zt{)SO3D;ZnZh@pK9kxzV6g&(Xa#_M%?E_yL`XRNHqi9lRWW#4KifPG7y(cv+)wG%O zY}B0O1uapkcAse10G36t-T)swW_th*m`?{jbukrZW%5YE zI^_E523T+G@pP(m%b~!vZGgY|DfcJxd&sX{P#c}UQ1$Mqg znO_j2001BWNkl9%IjE`i}4z2bsV$v@}7%~@l z3eC^SxIBMK(+s7hc4h~#)d1T2^3}nYMX=#*aGO2e2DVZHFqZ?5Nd=6|VBAM45Rg<@ z)!{*`>!{!+SeufUYO&m=hkm*m_{_=x*N%qQZ~07E<=+E}D~F*wz)&~clz!X&DvbNt zb-`*wcz+Ylf!}}Jx*~i)hmSr}1;BUrMun3D(}UoZ0|)k=HD@-lLkD#uXj=QTY31jG zT9HdL&HFS#9B|x6#sx1m;xi=#Ok_kMR!1@YNh%s*`c!XcZC=acPlxlw2>1C<)r$W-Ri`gnnW#M{<#stx%~hsU zxVj<|s=S}Clo|VV+X+)$b!sr>s=rUg69~z$!5F}_J_-(ih0rz?{4%9JOW&K7CukWG zTx^DkDeD8Y^Z0&+^TH;qr1oZn{rS)}Pb*tl`W#+I1%zx}$T!x0@*CMQ_WM8M0D0d1 zxW#-nRBJEYGB{kApi+G0)&zB9S43|cTb=IB!WAKhdwzDNU_K?7e$v}f7!(OZIitEC z1`;J@Bs^wmJ+LU7MdOc5yDcd3;Ks)JV0z4(0%H~|*TA;*zMnoYat7Sk6PBK*BFq&r zW8>euh|`z0@{DM=5VOl`~wQX04tP)AGYwlxD2?ted#+KM6G zefF#Mu(=RG#Zye{z3>{?%%kd>@N_ktY(&8MS^}@&#Rh|E-uZhj)?rz(KLhsWgtisb zEpW0=IGBfaqZ`L2m_#zB1LdL03YvIVSuz8@5B1482cYxdX**a7+@Je*TeNJe&Zf13 z)-bwir<86U8TiZJjt_Na!dv?tvUQ&Nhc( zq#A&AGYP89?S*$J4$#)!^pm3l4j0x`wXJQK?tB8zT4itZ*_&Z`F`ruVy?^2#E;^CS z-lwW0S-BDW92<^$L=pV`I~>@6rW5ON?QV8*NO*MWfhB-@*Q;Ugx>(LQ3}+GS&uvzK zKfby*3zxYW5_N4x2yCS0RO=CT5ekVP&6lw!#e)P;*7(ZMwy&G#Xuq}9HNbd;oD=}J z)Y_xa`SGVyxP5vH;C>OnvLx=rv2%Vq?Y~|vA;v&=4~zliSg31h9f1b+CPN2!)o3d~ z>-qJFf$gO3w-{Ogd(s7}yQOu6*=jF1gsPqbYyvQNvI@6>tv1#c#O{PNoYc4*gk6|8n$UR7FpRpM4D|1(U++o51PT?P+5+g2cti=1qxpvH^a zA;M}i3ED@BJiY?-!c7MjUARi08AQONGn)?8f!t?rQXrEU0$#XE!#;HZ_UD4C3i@Ce zAM?O&L+OxR*@_pn=N{|bhix#OQyIZWPeYmd&UM118o1Lt*9cFS-dh2}wId2PMb4)d zK$&e00W)yrAe>nzB2-4w-ReToC}(QO7sbXk@ZLeZNiQ9BaD@+^r|r3s}=&w2hL|M5klF)p;kqfkK<8f(vYS(O@tr5WK+$Bxhcc@^EJ zTQiU0|4kJ>emiZ0Dtj_(5m`ksy_ni`_sW8k*-T+Jlh8L=n`DJV?E$+Xn_}))r%x|J zQK>S(-Lr6A@U4@MBCz+HRKS(}fj40Y_NICuaA1_@(2mr!z}Yga3eVqjRwQ@-$EQ)^ zKLMY;X?z^V$-V{LO=AOGnnrNr3I#xTS+< z)q;;tfhXr~!pykJa}G68?B~)(=;yf2*mmAs{G*o&Jb#h@NI@VP+ZAti5RqgAsK?rJ z+Mz|)RyjXU#ajxNC55(#s&lEr_n=n3Srk~nUxkmeKePO=50YKAI(!AB55Ja(C`}XOhc8>h zgwrMP_D8@sz5~4f3`2s_fot7M;%6jg?ldBq>%2-CzceC3jZHHB|KRxvwe7wj6oXMt zMP!8#HzS-T?Ld~(b5^3{(Fzp3hFu?TY|XPlnv??tOiAavI7$(hSxV-wTs~>{{L}d| z;9sdWpo_5m=Z*2&RcB|~hUm6!x(pBtAWtrAY`~_mK*a!l`F7YVUONPi_d^=t)|K#h z7c=GKh~8IGR@|Sj!}oW&34>S;=7ft)2zVFk@NxEMz`;DU8r?bxpRY3V|Fw4|JCYsO z^~B4n9;(@-Xj+gZd1H9^13_AN$uIEUe;|16h2fR_1N;SU?2XqRC2O!nL4cQr09mGB zlQhghWV5TMVpoJ0naO$?8TX!ZBeUiRfM8cu=6f&VMVvVI#2xVZE3;RaHr>P4zblm_ z{PMKm@zbRX+R6Gnaj{~a3(?|CMDt{fQy~Enm!v&Qivv7Cz-6AadCnFy+7T9(jsy5P z2APYJCkH6$y@2gQFm|G!h(1-SF+l@NYj1%1K8tGHsv1n|ga0o-bDEK!pKMOzPtq1R zrN;-eljeeax_M&%MLw(QnOETWi~rp;d5;c(dk5I~-XDE)^Z9=Fw>P_fuvof0&7bF> z0-MTX>PtuTS#&2JKig)jXRcq%cK^;Qm%&UsJ$_y`K;rd>z~@iSzIS*4yn2*2!1L7y zX)8~`Iv>KzQ=BDjS(njR1SC6)c>RJVC4{ zx+^RcqWN#h6iRIvZ?mvuj$(}MqVfDSgUvv>yLpW-?v#z6r_TT!eR0;EQy@K>Hh`hL zz}j`7P6)qoSoP#&bAaFZ&&_WA;qm6r5AOqSJlq`mufBFxgm3*S@7>)VhL@+n=}J02 zT+EX~w;t}_0W0^pTRlRP~F%FE3$O`l+9{zD2K{^kE| z{(LwA_pAH=!PnCU56sdTe>P@QTAAGIKBY4- zUHALRi|Y9ffQL_TmVF*e^L(mmu0J~ge)&G|AO8)!_t{G0d}F0|-bE})F^dZF5}_Be zkw^6XE1S>rrf8nl;?0K0c!fCj5g zurvD~H1yW`K8KrqE%#>cX5~3hUa7wGVRfGq%#sk){a8NW7a6F|!0_+C-u(IZE4F&L z0DkB7C2*d+Tn0BhyoWDKqpXMRmHXQ)a$ahBu{f)YT3XKatE9$HU!+P7s7~ntJbwZF z&&Nw`_{)b_SIT5o&s6=_ddEuAV^3aFk`KYLzy^5kS@Uc$&N=f;hL)2Iy|eZO^~`k( zxHIf}N^BCe7_7%!C+Nu>R7Yh9CRVGTR)qm;1DRiI(YQ}77c3h8zEj=nL3Qop)qnGQ zeq41{D0BU*kGApT*B_tho&fN**RWYvYGwY<$K)$VE6`hw?VZDAKGgXW9o^Xk)0A+Q z#CqMW=hgEh;KN5tvweL?wN*xgNkRy)LM8lJIqWGS8y=eHIWbT*JCem7lLIWOj@YX6 z;+fKHH%*R~m<&d00lnqQlpD_-^%$@gfcKs3JR6K>1==UZ2i4E7Ro8y7GF|6m^RT-9 z34l*$zxx8fbARzJ^R;eX=e&!`7KV4Ht#u2z`a9k6zw~# zP+&?+{dME8$Vx$HncDR{VlGIYF3PO1h{ZI__H$yN-bZ0XE^xL45w1JJq{C2Jn^Hcb)ms&vsATP-t*;K9uNKUgfmbZ*+eJOw`dbg7?y z{(LpIUtMh!lQWlFR!a#0BJ;(x?rBM1$uaE*c%BpUY`u)u0!_rUWFXoD;$HGtMZ5JF zug4TEHm)9Ml_2|6Bn_sWvBRq#)>|4YXny}!t9w0IG1&R_UTw^+k7nBJLBsTaw*9-) z3Oql23gC&uRslRb0*;=ZJ>T6!;OO4=P&|49Jbu1no(X3zN{bnQX2+UI;(G;nl#ya; zvl>TxHrWSwS})f-NU41#;b^5v0EaA0wn*YvLHN^TkPlXLc z$@$0@k>ZQk>c@obgx7VwzdO}4Wt^pVTmSxP^_{y7u)0%y=EX`jn6*!yHQ4H`4-fAG zuN`f6<-y%0>wJDX>*m_Wb8`AVXP#4odA0!8WBy7)92J0v*?vLn(*iNeJY=VQN{J57 zSCWNi7UB6l_LzyLsjz5^bw>WJOzz6uV&{p#LF*p3*h z!SiGWo(aIqZN0TT+w8;VC&1^GcffUUX1pc z1WhH0CNl^qwZJ4BlgvvHn*{x+l@W@?4^Q9;XT5|fAV6dtSk-;1Jr|e{?HWWF>y5|* z30iK}LYS{Nj~3NDIBY!Qo$BWo6BhKVmGwc|7&zZk2PvWuU z8nhO{cg_wn*a3uk(yM6L*b5;K?Z&dg!cL&#E{~*0VMas(v0e#)hGEOKvbSY|A%jQ0KNdv|BdGhykMdT(}( z18ipsVz6WU2nnCa+go)Dyf2s2|ourOHpBv=9UyC{T_N7Ked z5{)yEAI$RtnW&ZY7sNEMPGuF>qa;oyi`mr&Sd+j+0PcR}rLoIsC-Y!l0!;7Bf(fm> zKgF+xcIpk7{8Hg<~jkqpLK_p2obSU!+UgN~T|j2(K1 zgX}#-9OD(A0;}ibF*5aU zQ7w?Yb7pPK=Mmd*qnp)yeN4n+0kmRmY+hve?rfG$y2o^M13V*|XR9_5OBlfxkd?LF z14VCgPT($1o;lencM;jKBPC^-Ug&98#gGIh=(#*g$KO=F&@%0dIA<(yizGVna?lo{ z#j?I-=lK*}TGg!;y_QJ?=M>k@!1E^nJ^=8ITW7YnCT0>BeQTjBDeDv$p(4lwsblhZ zI%kG`&|!f^%WVpdKE^UR0a{igr8*-^s-imMD+f`EPL~9&Gz-kw8W-j!H^I-4yarL?sbL3R(aA??Z_2!3qnvnwK)+F_!TLZ{B+5nZVPh)nR{DA`rk&7|Zfw zTF*2I=Ad_dYbQ?x)RJJjM_E4LR|HkF;(Hr|`Z*AG#^Sb;(tY{g=PMP^+u}7=$ z9IGR*n2?IO$=pC9ZYW9&GIMcZ2R%x~PcMvAIsAje#MF{3o-0xce6Ap#INAbrHB%U~ zdRX`*dq(9N5gDNq1Bd1r(Z>`QpcVtH0d)$#Y%j5fl7YS$0BxnOYnh7-)L6)262JlA z*@To6^2n(?+oX~Ra!Q7z1kKC`VjHL`(-d*DQ?p&M({&|D4XX76ar3r{0rp4%ooyn2 zU+bQu)yW{dWD~`i1oca1FW1uStO;fP$3Ux8eQT9Z$Y?uCxBLrBLoZXEtKsyMU85M+ zu&&KcdkYy`I9gw+#={%C;yimsJI=q5J{PC2%6lo`@#@O^Q^wiTOWFM*-}#6A=$%aS z9J(jqrz>M%$Micz!?GrBBKjQD+X~TAmCX6Dy zh!)r?W><)gW|``2b5P7^HFHn`kA=5FMOoIKNFoj;`m1#x^?R!M-#VFB0kkFI6ljS& z06SZklAnONcQN42!n^56dZfvoj7I3u|Xm;+aYF!XO0wPOf_f@kNdDl(i zH6!)fRZwV+wZ)(cnO7w+u51%zdUxyIJplqhyXICAHZG>EW?_D^d6@$;!Df4lk;X~9 z(A&43eI{qpG5sZxYcO_GpqsMH3`OI)8PKW+P}by59p8-rZx(@tvEJx&WFnEM?79aK zBWc@ORu39;G%$Ff5e*m+Qu12SdP+)=Jn!SnXAPxZjaTO_B3dG0X+Cj7I> zlN$ifPQMYHfDyAZiROC|79s@pZoQKn05A4lBf!sCof@(ktsto|er4QM2Ctgo>bv&z zc14Oy%94(QappZkwzrzU%Zc>=ff;K&PU zQzw4wr83}BvaUyd#}Z5^CMHXat7x=}1_-RYPXi z$bz*HVd~0;1VL_LW`9Kb_~$U|d|Ub86ujs-IBLCkFT*zkQ@{0hR`({t8rg|_Z~S*5 zY+CVGEh0!o0VAS+dYct9DO;!KN|KD?=#k21;OV~X^Q=4x^J4HUC*=?_Dgh{SC<5Sn zV4YF$1a9lWk>!GGyJC;Esn+DyPnIY{&R zo&uIYlpzAV;cc)!#=GH*%nYHft@LmKnn=7pjGaY z{D7IZ5KMJIJE2!icoy!cfW5LfnS20fVU0>Sq5^`wC-ut4S8re~pW&z#qk^6Ce9D+A z`g1|d2egBAMvcF9`v!oY<2K~^OvHR`9U57og;v;PBHwQ%1yMp8Tj}cRXrRg2M%n!! z_8GAAp;}?26S%9FCyOw-#JaDStv^z(*gDW-(JqNt8%bQjN@Y!u{wS&TJkVrm<=6pH zfnKts)z<>x2Vr9Ptq6Ed9guQ6*k^JUxi{fU$3z8LybvaH-7+!3lo~rdkuB)_OpiN` z8u6nXh^dTAVTg?BDg9RceU*M#azQ44X8{!vCwPeWVhK!I7D(%FKM1e*5bNv(&)cDW zDy0J0j;mBCWM-FQPAfZq@1aw~yi#KxsX*+E3L7l(94GIw>&M)Po%l)UqfW zdCvbziR08Uf1;bQ64cP&LR#mp;Cb`eXXK&0=KT->Qh}o!ZZ@@h@FO@LN6LIqd*39{~6h0LM34 z>r@s-RO2hcKFe;ci**7#88U0{ue$i=jRVj5ZZ{F8!I)|au*`Z}Q}Tc^=A0?KePHcN*}$tH@lv|tF{{};h|igeXa;>TVb6Z(^Ha07h;_#tg{#vgi2g~ z*hK)pi)GUHaGUl3H#h6>s0d(G0%lvJa;0@W)lG$ER$|&yYsXIlL-4Mb1g4_+MMl_G z7W%8|n^Awk3?BLjp)aZ)o1ld+Mh{rZ4)4jz;^aNIQYyq7yEt$juPo{{#rZf;ho zjwAq`!iv073>J$l4pUT^pbFASU|OuSaSz+}{2dw7U^-@N+@}tP2w}7IHY#QrsH|=m zHp`fCah^xfb$fC*MEztTu-x@$f7rFs{}RC8?8`{qrQMvvBbF_x1zrd)>Xuo)7R%=u zoF>6M_O9W9m$xaD#&xZOg$cYKk~ba&+JTZ%*GT=hy6JiIqXcAy);%(KttrpR-D394 zeD~y$B7&?cLs-CP^+)wonP1~a9c%nG0FUs^T`lHmPmr@dJi1w|Q>`1`bDx%PouxS` z{+~*Hb#D-UHR^Krm;XC_~8mB!%&(Cm^nvxH)x58nBAu;e)*jI04Ng&M) zF?8yJk?UHUf~WOGatx>uPU^{e?zkQhI}xwnPsF#C&9f4GFJ&*l2>{>Q7gkLejWaFJ z9EzH53PXrSV<=gGl&nT7cq#p4tPHU8MfMzW>?>1G4eDxPJS96m+oX5N%+)i8*jS~8 zRl}~G1Rz)YVlnq0?_?pry)Vd^&H;kHgX`@3skq~)V8c$TJqP88S)8E9#eu!J%JNLEdD-iO_Q^UZxri|1vwUmpNXK_CH;1aJG>HL{_Hu_&Nj zoXNiHn52&J0^)fs74TI-)hol{WqgnLNJgWfqM#Lt?rFVyW?3YMO)Aflg^iDeczS0G z>FNS!RGI5(-^Q|T-78lfL?^V}W-On?)+A8#SbEp+{>^fJD)~h{e^UtGX8;?C;fMI0 z))=>*wTRDE9J!-7<5Qe5hw-_nmBKd88kjP4H!RPSB6T2z=jR%EPEYIo$xf^K+<@~u zndkLlpwSAHY=N@Fg5)eTHaVl|={#oC8%xjFrs8a_n1B(+)yr&mjk8w06%>87M?y)0 zjI$4mN$IzB53fE{c1-pw44fCiJg+_jjhvPzfsMA9md6SU>?}n}rg@L`GFGTWNwI9? z3L93l9$8UWwPoP--(si}VT7!oMVvD%Zd_rbMeG+V?`*L^Wz$Ly^R_liRp6CB6#xJO zI!Q!9R4!r(!vA&WRekQjc@fO>YBEsIS5k=~FVHi{drrbi$znzS%bhxBB&OVR&ToC6 zWhsw58)Ng{y*N3zs zHl2w6=P{%yppPX2>OESk65d#|zsX@5^){S3{#^uCZq3{Y+Mz@wTodFSorm7(X|2(E zK8)e96ZDo91mSwh#?pGOf7{DyzA)gt4Dh^K0Gfh}R5@(%fNIw`Z3VCuQ{G$r3}ls9 zbap7i#*Bf+E*oAUR)z|A>H$kMGnQi7gMc7Jt7sR5P}0gN&-~N9t>y~_&dUPN%LUMu zMwEyqv}=+IMDoc#& zoq!%%tYnvG&yL3PweI=Ty{_sD2hPg`&ozMlEiN+?lj6J{Wjb)oat5ALr>U)6-(#e$ z(#9#c=qCagk*c9yioS?RtZak~oFe!2`mCC{MckxI03b^x8TF*HVBk1^w2 z8M~$DMHrpB@Vygm=2fATlV+POvm|zrq%!zvy#?GJAV#vhzXRaCy|3V7EOT;x7r-wr zlY3ouyI2;wk35g9k(&rxQq6WxOH`gS;vR*7HmN3lR-Q@OSUlFq4p*Yi^)0|r^zEqL znL1V_W5&HE`>vpvE{t7X8Mb*9!4oUs{8IpbhMQQCbF|S$+XvhH9~IofEW-5R!e)xq;}O!?798||us=3BUeg(lM#AGl%4k2czEY!3lE#-HN~SLaRF zWGDxSjyBq0ngcush>kYeXx9}quPb;C5FKr_0h$9m_XMJUj2(;Dk2cz912k_Nc&=L+ zb8)oMt_@(mi)E_g53X}((hYn;Yc~3O!>k`|w81h5cw9!TzZM4xw8*Q}FMjLIk(MB6>tNlOPA^`SY SZJcTV0000h)4+*M5HPz*a$_6v;Yb!QdCq>lwL%-bOH%QR8+u*6oH_qh)NTs zhft-1fIw&oJ(Q5p6G)jaNZ$YXpS9kz&bi7U14=ZeA1sPV@%howr z6z1UIYGF~xg>~wat{!$SPA6UNxjM3TN0Ji0^9*~P)j-RqvT z+#j60=VEUst?=igc$Br<{-5ktl>YPC+#TfWZRgoy9gz`g^+iNxOPF z+;Q^VJi^P_+1JTW`cL}5>09c*PrRAuJ%76o4<|o6M>{{e&3M+maE@!if;`-%1Dx*p zx_WtP%PPt%$VxkTI(RvU?Smj8CZK^-+E=zn(p8~^3> zm+pA^dC8yItWoByn!zf`e|m094{v!tS7&GWe|no*(0_Ygn~(Z$0`}UMKDCe4XUIJzX}F@vy>XLjqXgz@`ohXKh)H zjTJWISrv_gm#wqFaqw@t_}}y$f77M^rt|$x=l`27@HZX8(l@X74*|23&1-L-|1eu; zf#cAo4zPs9&4&LE{U4nHH!JRMvhB{l8Gn_+=6PANEp>}Kacs`Axwgg4?O(^Rbne!z zce4bm@7vF1Y3shPWo~Ht`7s{eKa@T2E_JvLJH%{B00Hai78qBTK><3=C?MYk4Toy}%EO_v zB&IFqaf5HqS?YH7G(oT25Z+4#3Z3(aF5@?}Ow8b1zJ-8Je-8#`uj#)S3bF zYV?&sGvo#^3~*|?2hXv}vX+yVLxCTZ|G5GwJLtrpqPvU32)&f~`SVH4r_X;$2*A~9 zqU8R+A$@PBK%~OH=*v^KJJo!Ij|6ambr;*}_C;W{KNVlVlLN2B)INL3lI1MIt&^)tVHzzp^2-3`lF(dGaPjYWSTCaGY;GVskxj0A*+;5Eeg{d8x3Cs}t9)W`h zNaDHB5@N<7YN{pEZ3DVw6O76)s~-`#Y=M=ZD^?&hl+ml}b&(ZW-sL5*@^K~0X8*MI zj2Y(CFRLyTb43$`mSM~!GSoQLwfR{^|E!v~iuI_p&w=NTC71Y?tX!5mP%!yOYlp_d z@`$7If%`)G+b>T@GYmIG`bQk2UJ971Rxs~IiS;e4TI?Sxd4S7PT|xY?o3Pk#$n=$+ z$rN+eDYKi(6gw!@FSOqHpz)k4ajj6w5wRB4+M!Axz;M2wNxH+jZik)#hqTbPf@?8I zS#KU`%Kcv#40T_6WTp>)sh}P}{8M4_ouL1h1Va^ZJhoM{SeN182fbZa3wzlKIdnDg zuiCezXfP_lT{W9k@c;9K9R)i%r1?RLYc?AfK4$1v7P@`W2*Wm+<{=lB|2yIZbtiWh zva;NwD8OoERrwhwkVnKKv&n+znrCLe!_ecw=>+zd>5Jt2zHV;wKL!5ZDDnR(@PFTE z{%SM-Vl_OmQ-Dj6|BNR1Nj~ov1;yP89N(qR%N{a%al~VG`K3}gia4A53NiLe9Ss5(;Uad= z3Of3X+|LGyimSgv@F}Z%|NI`6AegF1woQoQXw|eFm44(QzU^Cdl@?xWJ)Nx`5mZ5&^u1;Y)M**u(tmTFbyzjYq?cYhystlQ#PyN%!Y<7$P zf28g65R8%*x^LIf`DEpec7g0Pr`$?y-I1Ife6?d2m6+)bw|5B~Fdn@hBdZ-*21d}S zi{lOPQn0@(bJ)dki@@r)nnHx;L*e8e z8(W)s^f}Cr;g^^P!%>(jv@3boW)SxU^9wzQ%fx&@%VHvE`Difaxn@i5idb3Ud=BI1 zl-blR_;KXnz?9&P#2aB9Ul<8rKPm$V?l^lT-z-E+GL*pCs#p7Uvsd04es$YAtILdJ zN#Y(l5kkAHie|FTj}Q)sR)GLhq6`!Y1uT%onmd?EC&qK;ZQ$g<4mbvm8}tlzE}u-E zf9+C4)+!Gp^v@rcnz3F#Pa$Rw7sdy~>vU^x7za}NNualr;&3HE1^Fra_EqgCJKYJzFwgH>$6^Feq*>)M5qioW)D6+Xuz!H%Q zYM!DS~C&?D^`xBU|=96E^+We8c7sHapmy*`g@Bj78b=Vo~;d_0PPtT5+>( z)nu%idGJeRY#s2|HoTZqmsJZ{jqYDM8LLCsyakGx2L!x_rP9S%t0w>Qx&AK}{QunC z|5VF=!KV2iSIhs?d)Ol_{~-n5X8ctE?7?mS+pT>%?7>avGTXlWPmW>T|gpifLE|Cn7HU3d6Skx(*4aa^3*}H+Jo^hzLs)<#w_cek)hOB*(>?$%q;TGk+ zkG+5BdxnIN{v8p08W)#CKUPVxx|+!I0@-yTE9r0(HfH?0Pu7Kb^`ELs8s;5-Ded38 zncbq_OI(LU`#e2{-m7$V&ya_fZ?C+D7vww1B3Is=UM8VK$T)J~YkXjPDeBZb(4fsP zc8K$y&^^7T3+H(ctw7ZCKEw%~mza>7&@>`BP3Yq8KZ_6DemaK)G-w2QW*xxvRS+tF zKj&QMYxHQ7g0-A`=5v1GTU*dNj|1}T%hMa}@S`%^OUiBg%MSpY!RKk?U3x-}{7a~m z^;DQw-I?@ysV`Nk zD@WF8L&Aa^B$DyQ%b&*0Pj(b_RU_shEns34@d;)*Nu>Y4$qS}s*Cowp_i9KFP~&M~ zxE9iL`Pg(%D}&EfrqE^Uk1a0~$~ zqeq-mUFL+Rnhk8!Zy!M6v-?U%8*)aXI4$WN+yE4^ENI$pF2~fbp zvOZd6M>fwIaw-V3doI~Nu($gBEU*nszE zd1~8}bc~t6kM3lT>=m)K;3C?EXa<+J_1EQm%)>U+%8I}(r5q@HxR{ zy6yh1ka&&lmoUj|Xd92GFPW7I9)vY@cexEf*rshNo%VbC{u} z9e4eP1eut;3c>D8GVP7ANu}f$kM1VQ5TPP1RWH?H(PY$sQE}X!PTxn|ZJybnqRA`v z)o&~39)_Ly{*}CI?#3=MsL7rZ#v2*PA+9cd@jDnV_NbE^Gyf}e4COnKBl_0whs#Nm zwaFO`O9ch%Q&fyTm0S@~ev3XLo-ak%C)ZQZ%}cE<-L-+rytXoBD>)ghnPdN!=<8=& zSB~l+93Y2$QHhySFBU!XG@gqfq!7m$2whIA!Gl|A3&m)v_)SjjuL@M)Mw@JhOaF`g zhJBV`hM4QxdC^kn=Mu^-NPFT1tyD+Er#%3Yi{Nr`8?gJ$TgWZV^5m(?8^(Dn6IU+W zdL}HZdUvWoD1$lGuzXlCAjHXvt1b3e9Jysz+&EQ|bB*Eii*pVXBFaS$1W|Bz-pQv1 z9^N+x7&Y3s9&xiZ2$9q7iMHH_)h%o=Y6>gT&qw9#yqyn8MgOVI|?q4R*k8 zbwhf$s5r84`xV3Gh8=IC#G7MJ_+AaxYR!g?vR(tJ$^6s+WmyUyzqbk!=Y_;Jaf z5G0<@W?!UaSpnGL0R7R-i%ONC00<>%Won?Pc&8{WxdwKsQ8l`4MRa&^YUZIDd_tctir}7~ZhZ4eq~@K8gWZm7A>q%e zNey$^@imHD`U8q@>i5Z)#Wid>AJRd2QFPKkm0KvbGSlI7!y9Hu=aIOJ=IQrHv zM>I4a7VrG?^xkladft;?4T@AiF%@-Ecqo(^^mYj@MUVH`BVp|RzVGJsE0@1VxidAW zmzJ~f>zW3m0ULFvf*KDARau1ozAYxmeNuj`;3jzL1|FXk4iSua37 zQf=ekC8zCNxtVYnAu0My;T(YU#)-n&*1V6>MlH=Wl zg12F%9*EzF@Az?wVkmD{o+HGV zU2#&kMx(>tKA9)Iw>W-gx;!|pe3VcfCXGRGEb9sMMz_S?_@yUr5?hEaK9*X)R}q4O zmGP+J&z>rHJbgJ8_Wfq4-Mes4sn)lFRba&<{ti#iWCjihku#4aN?cvTK|-~E)hZ}J z3ei48Vo*9R+U@qEhmu|xOsR5`_0TRuWD(BvP3`xN+K#C8@Y9`7AnJQtPQ&grXEdR| zWPsK{BU+x35^IMSBqScR#q0mHh>_w@mU!@#FulGpACs^Wa&bpaJby2_eF0rM2P0QCxPnj4gsaGHGclO+# zDU)iIylF;iPz_!l>NFW6xX;D>SO{wbsUsB5QNqfk8o+PkL62rY+zVv)GC{=gn|4_y zBV}^}jUMVKQ3nJV$2?R3>+=dLs0sTj@;aAl0Ec{1F^#8qr+D~vUOcSlS9&!wayyj& zqC_hgv#<(!-TYl4!uOFi`s{}o>WY*tBog>wrCTdq}=<;iE1n*mt&W$JR zl2{@(Imw`^HOfyu_avHb>r+I@LVM*iKgZdXFQ@c&6iCX>Y0~K7dBbO1%M`@}AQ@lg z#IK6Zh}ck+lvHkrG1jF)8lR#C*BrZl%h5E6Ou2=45XB*%d>|SS@;37(3ztZRL&QtW zykTRRQJsz{QntCEpF6RYverujOyNi*WI=HJCe%Bi;W72A&wE-$l;^Aa-5==E13SfZ z1AzTR>xb1~T<}4^e3cvZ`Z9hBFTk*HWPF~?2G4@jHfHU@BDkLrk?eaNQsIYbQ0((a z?emWJOzI0PQp@vSyi)F?)5oXnmv!;$n-S}2KTfzh+R{CXu!DGYr`;L(xkR^83neI=TbMo= znc_C4WT(c1kx|P@ZhoOsc0JkXrGU>V0f`cAJS^7v!thTOW2xoak=PW6TOE_wHA%Np z6vj7B>@4ZETuSaaYm2cA7<4-roV-C#tx3;s#l}9*zJM4($sDeQG#{K<{pq;joz!<~ zs_ay@MUY1y{F*wh)(sw6$1(T@el@i_X+TSVA@D&LSo5}DrdD|Fp8J%3tgv=2~kl;Z0f<`5m6@ z-P!Sk>(jBHduSC!TDOXSS67TB$|%aleJsCYNJf9A2r+oCG!$Sc^%n&?v|PTr!T0)F zdX+!azjfAQ^sLFwQ{A==OLx@9HDqw+l}CtLLHK$_8~O>c8jlrH+@X8%pDT&^pDp0Y z`0+zooo>ZfX9lVLsSJsvHxX!+7k6AZO07UM!{3Akgzny@ajPWexxsdk%hkU&F-7u9 z_ngakogI@|dY~s$JSKr@fc)C*)^&n7Z%1jDes{ZSn3HZIIL)D$e>`a_Kyzl}h?Y$2 zRj^iKo`c!zf`(Qv)U_h>ObfU1=iOQ7^B%wxDn1Hu!p$B}hb!L0zv~bQd~fR&(GmDS zXg(muZzSkp>?aBF{4<&BJYQ*V<~ItB{i?#g`^=NsjNwfQKE$91eUdzj)uMJ>+A4)a~S*6&r}dctJ8sL&VV6o)UPHXGdgI z8YXc_+p>nIhZ{b0S`C$tP&PYlJjNUUV6G^AUkoi`+F+1YAM%VE z9BeJjP^W|%Vsff&j+y=*r^#u7toRxXZyOtu!40N{SZC5gcPj*rRB$pYkDs-JgqvYU zmv;oBF|B97eQ%>eeRZgow0m%$TPgL3fkxd}+^35i9SvW!_wq0;v+)}_L2=yFfrIs! zbA!jsX4kfzAclD{Nx$A(8z1;70LUs^W zy18PHMA#J>$*47~tMa|+J9bnABO8h;Iz|sgZz~ALFz$XZd_!m09<2=m&r>8{hcOL3 zw&iDCjDG>|ih4{A5lu{PJ5x`Ruseq0&5AbFZ0jwZPB^LOci1K~8#VI1y^=VU;EbKi#m2= zqtLnZ1fgI)A`)q#K73YS`Cd$H`e>!e`-(sU(?B2&bwwj-sosmae%*<(t3K?*j=-3j z_7FW&-I4~EXQ(N8QOsoeOZp|TAjw+|@Dpo4jacoDe5-bL_03L7B{uC?Z?!|3-FFVU z+FaC15ayYmyoeQpkii$`@Nd^O40qk(g0oaya9F24Udeyh;ev~TBG(t}GW9^bp6 z7sXe^7ZOtXpk?mW_}rXmK~!gQ{97lSX#Hz4qhrMK04z1v+Byjquc*qZa*y)0ozVD<31>fwL0|@ZO9$e?vHh=jHj6W z%+?q_)_(14A->q)yhOM7dtVg%O&acte^-kY*EHPC{d==rOd32PoqXgeaB-nqPjo8a zw1fsnIz{!Egk}F5r<|_ZV^BIz-|z|=`Q5suigc@Cns)46U0?a`4{?ig7w>tQuDbfA zgZoq-OlzmOPRKxgD+t_I?DA)$trsTY`!cIj?%=ahap&w zbrC%6$n+26eZwT9my)s8#qZCjk_)CSyv<&_B^inrb8pAng_V~M8@_x~%gX8pQ-x~J z71x)>`C>BHl;Iuk{W55Js#NI?5N&^S;Eyi7h^}gl)nYA%Bte_pP}*SF>htXgtA)^Z zTtAO-Hv3i)KfP8jeiEIm+LL7$=k^dv{NAmvjCm;VUSuVxcqMooZA`zNFBXL#u6UnZ z5jbU8^7?>A5>IZlzA)j<9$aX&M5x|rYdS?OopK{~mEkgZV8!R$DF&24B2tF(7M26! zE&F_LjChV#?#cbZ^Ac{cy)AssbB_@-#iNok_=xiRuq|Z;w2W4-kbnPJ&^e+F{j;{$ zO_;dzk$7}OH!Neo5B!cd8926@qVe_gUI|_IpoP~<=7Kpp4~w{W z?O%=iEWCG7x^@(siablsK9c5h_=%oP$}!{(u-7NU*tdtH*L9$gll{ja%q!-v%p8Jv z!4}8zu{Po1YHr6N>6av94;9upnJlMpEBqN)#7MFG z_S4bktKLgrw36Nj%so}vDQ&s^)-gM#Q`IxD@@+}}ptR4{R1@uYYj^n7NVfOaA+JES z>$*@kyH7$kW{Gc$PaFXrf#VIR6}H=^9hecrD^(!=Z-ODimUB%F`Yw`XEy~YxNzs?> z8iRSO59Xr9rpE`sfzeCn;#aC-<0bm{<#<<3K3&vpk2KDSXyDy8ky5w@z5!;e9NgC) z_V&0)cbfc=&a=3#S4s3qoZLmX5g#rz&YMgr=~EdT{rSZ~{;7(F&nbM&E9`08_KlWg z5$vb+{x~fyuZ#8SzIkTm?YjK{A$w1(T|?|8av{N@d^pLiqqb#SQvvr%z{b7f+!S#8 z^CgEyAA{WTR)#W-QUBa{=o3DsOnfr=5-A$R+l>I6+I)wzZYq0sqhijKHV;jrpJ)BH zj(vONesVy2+3Qn7cN_H!FDAns0k76{7v+~H`}cYIXLMz^GU65JbhRmwPq>iYCbVbi z&xKv>)#6U1d%aCVu_^vmw%N;-Ts@5RgRIA$IE{dIiwHGYSl2E)sp9W2N}Q1e0>Y-*n%Sb+;;( zPIri#-P8LyYMNm41GJwp7oyruO2h7S%9q7f-LA9Pl$A45Kmx=c>eL z?S;R&{IBnu;w&M3`iKQ}@!bGZE*7VPm22{oA30CmHki+vtziccdcROQXlX+vFVS*$-!k`O2kmEou<96t zg1lVJuk^q0tJHt@$B}lHL$S0FM}f=1YK-lXQ$xC6GL&sJ{iTcMblrP4e|PQv8$hp?{$d6O!X5$(AvXz z(LQCmscxT}Ro)T9yElzLD4N8cbI`w|oz3e}x_|YZ52SZ;aa}_>AX(yO)s2b@%tTYG z=Qna_$1)nPDSZ(CXuH<@#hcU#U5QG`&kgkR+B+J|tCm-FJl@WR#~kwh%Cpbc|5bCp z<^EWQ#r%;k4cugZ-nFav9GiE8zg>RI-_XqYZ7}PF9L{-xdrQ#>fqvD%nzB+UXEoQhP3i|K2I%u)O;>sIF}qisa$UN zlFUS`xjeIrlP!0@g~Rarp6QW$DoS1na^IbIHJvj4`w(2(!T{hsA<#)v-kVD*_DKm2 zGyqZ1(;;3|2u^$d(9QZT7wqo?Q-}aDWo$jaq`lOopjRPD1LJG=$1y1(u^aW6UXRx= zt5CVUdJ?X zqq|A`)^8D%zB}W=8l5|3q6m_p*&8{;&?x5xG4@hIOO6D?H+}p;_cpI1Vtz} zf)Z(!%Gh$XImu5Mf$^_sU%w?&PbsT+xALothz#-XkZ@uO9EnQ&gr{2vEEt<9)#ZKcD@FbUHihh6jB1d0PZhtZurWEBiqYLo7tZw;za?z>3 zN*kfv@`H*) zufp+4$y|HP$C8JQZTKCorY-%OUWgBPker|k+hLsX4-ZMddcdH zmFuK}TWCVr!S(@+l}p;8AGJMukL_=sReg}8emd!g7l7(xIg$Qn-{xafaJe2_l+``- zYD1&!_HmDN_gcKy-)&MK`A)yS!Nzu3<%at~y|d@(0&hCyQl=sKk2|kOeYu~+{iIH_ zEKPP`TbStkjYE09hg~pcWLmI!ORf7eQ5VDH1C|P0<;^vwA-3g5Eme6yI+L$l4Ypww zG~*MHpfv~<^D0VMIX_L%@?%+fi)1&^mvplLv6e1JPAk4NhKujcPf)egsGw;pH`Qsy z-Bx}L#{+zDo0aOgpyk2&{ExFZc}OeI!Ef+}RS1<~Q{^#6Uh-)= z3T;tBa%qhu>uL47EIn!j)@{yjNa~*b=Q1JdB}jZb^}lhj_?LE-_>V`z|I>T^-#I`1 z{WVyDYo30te(p|=|9A_Qi#;rFdNFJ|2W@(z9@x}j;jHcdoo~akoqPV|pS6Jn{6k}T zg8ic~*p5)J&wuuD>D#fn<;cXP&wk5uGxo1zSi0`OpL87Nid%I1zQu^TEhexXhO$Mr z?40>6HnY8r=XC$roZD-*D7RJqoZ2>9w%*p;vYb|pTXyJ{qZ4Q1mLnAB=dHI=IWb!f zT%5IfTj`pcw}{_-cC0KfKKMf}(AXA*Yqu!6<<-n3y5*q7bwGS8UM_8m3eHMZKy&WNm^{!;%QrR!zI=xRcypD5?*Nk;9U25AGA{JQT5Q z7na5q80c|NX!~SIUWjL#F~zuJI$vrwkQfi-&d%;!PK>FmNf2TnpTDX&GCTsPO_jfY zrFQd3&d?a#t@4XepgtAYU+G4Psnb|V#?+s+&wO>>{o7*_-pc9Ii}UVhG_PGb`TV?I z`D)O-%F`~BEaT(P)x+0jzP$2ysS#60|Ii)z>)@-a$|Y+qRab~jp%n2Tp5ym;xbsEC zF;22at!dkVy29sSo?5h&M}ARDQ->#^lwX*hV=+ z?*e{A3a#f+=lP9HTifY_iu7_N&a~KuSzsZayr>1yCYyL2N* zA=F#Yp6b9L;C9ndQ4IWvpN_g4HXj8)J)>O1!`qpjwG{l4`C8$jeoi8$H<%xG0neSx z*&o#xsSVw*dF*n@n}P9x24JYVJdR*F=Ho^rmSJQf0|nkuJiy-oV4r7;nX+ZZiJ-vC zei>c63I-V>ftM7&+)%(c+9a0S@bB>pC!lSMcTl@0FeL3MFCOLX0k))?^Ggp;TMCIj z)5a!*)u#d?%t&n5SmKR*=9$66wNQ%9y%zDHVdw_ZMy^%&`V#80pd6o86n7=xLC}RV za1req*@wc*%w<5S>wPrnRDQ4*wfJ!jkO5p-;kg3G$Y68!>+#&w0T9OE_B1g?Od@Bn z*d%=6X9w^tH6j$)j(~zj1suswhS&S(W6b$pdy-8Oa-I2{=}S4va9FchMwN=TJ`oMw zu|COs`Pu+DxlA%=_IX}d;rXVPp_>dT^HwG?%mci1)50n_dpr>-dfPm6!ss*(oBVSl z0XEy|JE<~lh`mJJXA$0jKQnKL|Mdj(VY$>$RYxSO0<;#WJ2bzW(y?U05IeuFMm*Fu zv;(VYSOVOp`x2_PD;6}RFSOF%gyRtvwBzd}d0S>jU@oBQ2-(KS^R?MUMpk32<`Lj& z3aSOYYTXfzrNl_U^XiqUK`H0uqD7NnBI}rYv^<6g4hm*SHDH>_sB+S9V&J7Ue85ux zcY-P)R1tO(bG0RgVS$rUf)%3HB^oiYWeCWv{p7^MFbZl~za7}f0hrxhy1`&qo-zvc zqB7P;`H`h~YUjAjX)+NDN(LHpv@V+po5Smaq4*1-{L4ZxT0NSj-0jUsR#-Cv( zngqeuC?X;DCvEtm;nL3el71s0tya<`2DHp`fl++z3Z5Gp3k2|}DQYLh2ZMGMhw}B)MRq^mh5b>K&}=vW4>flhOJtszNx=Z3 zone&}^v%+CR&By6G6xy3<^FL5-xA)S6qI~=DEituvq=n4q2$<#&@b(2x6L{`B&_!E z7cd;c5BH`S1FO1WBjhL`>{QgbI21h|4g@22I{;7yX&m{G0mXA@fQk{22TWzmTIED2 zo|kGq#{A$4ln3CaIEV|3j2vq9uqyH4JYpC*#EF_<{r)V?xb6M?)zk8bci<$Ou)au% z{BkKGaAX~0FmMEz6c4yh8DhAmb5bg&nNKIY4p2@`hQaRPv-;y7Ax$fh9rhb221aNd z6M*5S?zLpP0Ro5c;kPkSJN#%>7=JUOK{25Dn^OaH4M{lzbk|{QAQfQv^@8G86i^6H zX*~9OSm@}C)?v{-houfX%r$5P~S-6pxO8g%aUzA?p;uO zgz3*(FH9LMa6`-ht_y;;9T4<6*)L_xx7?_blu*XcR-NeuhkB zrtlr#d(IbBNj4PJB_*A z0*s!T3giF;jOlwvBrMDJtYcP|^C))o^M$C@@!rpSg28yjC%=*dA) ziyrt2_^gqe)p#}cq`qO)!S*;MRHd4?=3JhqU3TGL zmr`a*@i7;?^jsjzEt0GeR!{-+dIShPP9;b35Agv{n4}h3vF!Sn);ugtniv+wAsS9@ zv%9mcGCmTYe;h9i*tyh9p^)G(ew=;^%0+q!-xF1r7bu0l_L8#@pidH&F}C<;^usnq zw2Wb;MGHCLE>DkSt+m4%BL6rU+(f&aMiZZ>9|-L`h)4h+N&tPYjtYGlvarm*2T+<1 zpAUB%Ko)??04~IbHcbr6iUi_mvIq~Z?{IRTiCNk89bG)6&0%qqv52Wws1p9x20v*+cz-A7POJ=7s+x8uy7EikiZJux zI&flroo6pyb7UCNl!yJYfF6h!<&Q*eC)U;h`>xQ(-(P6u7|Je}_j0~KoA?BxS*OwI;77DFv0*6Q(n6Q8el0^@R@)i`Lg5;qme;$W@iXYSD zVfwV>VSNW^N7LZ-h~LRQbn;;sfq8ZXe{}K5=@XBOt6oe%?&XIZCSgiAD*&-~Kyi&) zI1x5xmW`7k`Ee74gKQ+iA5_7(JoDi=vwftgSBsS@v3d5W0(!wZ%!i5GvEEVVbs+PR zOTKu!?g}s)8wAKP2g6}OU{4VPO5*fdBD^}U!iC8>A6BOElw?sU7BG%(3e8=S}vQ}}Hfat6=&K}8WnW1@W-P;!;3 z>$#2$u;_F(e^p+Eg{IBhG%$QWQ8WmZ9UFz@q5<28BM*Snp+81|=k{K0cP0GO&p?ft zhk=3x0E^*#4g4m!kQ2`Ud67&P#NygZ8b;L7c5nml_P!$T871L>Oudan5AgwV7X#)* zRiT~2qV$z(;I&Nd5TK2Snb!-2A=HT9Km;d9Y6>0tjG_cQwqn2!uh>)|dkuj8(|hQe z`5t(fcAeKfjFn^+33B(taoapCL!OZ^Vd4+oT0y6|?ggnKf!cJpqiy@w*7&9mQ*Dyz z%CG{rdcTp1=|}@AN^AGJi0HF1(XY2*`9Sdl_*{F~B+ca^*8Ib{I>_2CY|AuFX}Okm z?4He=$Y){oI9sOZlJz9>^hzYvCIa};kXMT7#Dn4-NFymBB9J%#s|ofpr$07^2yJ=Em;xi@V_ty`NT%7iwv1Zp83Wf@mn! zP*jMXvR>!^))}$}Ym$)u9(n)=>#O$CZ9>i!dR<_`SF8&lvugAY2XeIQZA5!;S)=8n zYDDmA7M3BpAa-=EmIwRB)~k{OxH!j1Y!@2`)N17ebpvgJz^43~tGac{(_@4{p-JR5 zzbcKUa-bLiUg8fR!DFQQp*6Iw?Wb6S$FyRIx41F~+^%M6*>{nz#tQrPJvQtRcSW&0SY5U`vZ0qNZ)(UM)Dyr zl2-+1OuKTJ|@-q5T@Iip-#ieC_9fWV7ttqLhAPAxiB*Q^La9w3f z^d6=!@Dgb40It)mT9IDZz*m&|1LI*nzw;A+3Lt}<7c4$zvU2RUZo*WI;tBQASj*gt z9VEZYo0oc*mnLNlFg)s*NGd7h7b$$YCb|k)8IgkeenM$vv4u_u3&2Ip>q`abIw3je z&G34d5#8a}Hms~-l zq}dBig}@We-eYUw8o%aXN838QGA@=OEygHj3Q+=!g4l{VZp~mMY`Z`;awUDQ1_URD zm_&~u9}_!XQ0lDVoQV8B8+-5`R*6KBl<77%VRx8$^Qf|QK#-JC@=y<=&a@S5?T~0J zhf?t02$SRy$qA`rTKcTU#7VEWTZlKzhEKvOpr#q11j-21OpLjM`o%V{QX1iX{3s%y zu;1$`rA?{|vbMJZTs{RHe|~9)as~sy4TF|F!3QfjL%`G8C5JSsT967LFRDCG+DPj_{w(dc}AEXsO4&zYX$5lQi)x#vuiiTs< zFA%$ffcCp&=z>jd|{7q>T^sk!I4wFveS=#K@kU0~{LWT$fzPqWtA=BK!IlvL&MwGGWNVCM#}vI5bjiXps_$&i8q z6~LO{rM-1bD`xcW0|Q~Cs`nERJjX$hR+K;+E^}S26FwMN`|Fb(^yz8DWY}W%V&y45 z0ObI-o+XkkYz)A{`4;$nJ^UE^j-9m2FR|5(b9{FJwGCLP>#nOosUCfkA@6PsJg{p% zNg|Q5UtRS2b#RpOu~MP@E~B@~wH@SGW#3)gF-s|Ttxg}v1g zm-HSwh!T|Ag;S5KTbxn<(UbpuuioW{4%+(K_uS8BH^jB^&BpA3|MY11AmNc{q!mcC zt{hpDx6xR80hORNS;R4ZyPbZSC(-`uHA2Se)BcBiS(>z;qs_f{{RJ&@dqf>dA(kOB;ldux$5VtBIG!9k!Qc(v}XYuA357Wx*rE%ZK#2-Z2;^Q*T#bv|vQd44S z$U`+VmHZnuF3fVh)?2%WK0agu{W_n@GgXeAh#6kl7pVI@jWm*sg{F^7rWd|3V^r*J zAT1^?nCFe0YwEj(IGvWgzX4Ik6A&|x#e2|`HHyj$SKVE*ny^p&YHr=>YCG<^oXkM{ z0RPUtMza7KAikEw3hjWbd9_SdO;v^7p^3~Qs}Z<#VvNOIWZS&W3oGKi8bOTmwI`aN z#??k@j?%^jmHcOA;ZdGuYlf?8I*;g*M1=0`%WZK{R|;#bHjs404>8QTU_N7~3w>@O z&w&!#XukF`?8`u0(Qi{!Q{`^tVdgesjM{>^iaSnu?a)xRMtkz>TX(0(nnNV_C}&c} zbB6UQydQTp8+*cYHyu3bye3vYPqC;3rqsMou51s~Wi||jd}{W57bq1Lw;VmMHlHz^ zw1^oE3jAhqZtYP2jNt4lEf4OS@3Md5x2ANtCfK2p7vukP*d2vC*uzykaqw+nbdU2MrFkUeRyrp#$RKftaBUIOAl_aOY4HB#t1Mm0^ z7|-YBqj|`xrUMlrfy+~rMvpbq6wOb0ukMBq9}2M8?|BRazfQ!7KW%)|5L3b3WPV34 zM;N$v9I<@!P+8Q{8Q>dcmS(d$Y{SItC?Pw{-{~C6Jf5Y6TeVE5P18zEj`Q=nM zN7`MruTzI8Iz#Q>9qIX23WLE)CVT07hhAGmN&K+H=|2g(f|dC3PL(fEI^n(3GBYZn z7;_h=gP}FdW(}jNO=H4jxZo4qbm(uuh=P>y)R~dQRmEd%o(#MB!+&JWdX!hdvF5SD zn2NwB_nxDM`kf2LSEiZj`bo|E+7(D?=`vT0rBr_d`s#)LNL)GR( z)ygbyHtR*q*}IsalLZpa-^H@-9$J!}&gq*Y2_*bRqwYqcWAGXk^xk3Yo1qt2?bG{w zg*9;+gZ*AePufF_#F}dMkSW6RMwEp1H(NqJEaYxZbo!0CQNmt&uOT)0#|4A*OpD&@ zD<8PauRB!7-aUc69Lo*+{9|p`M-4vKzu0jIzjZWq=7{^r=fjz@gN6B1 zH~Twe>DJ@W7wFjKy@Ne?dCww?r36jMfmj%|@n*fmSDr7#w*+q(%M*hxx5Tw(G2n*9 z=i87nu9Guf561T0DEB5Gp0)G(wZFd{<^H=oT(hUOwCjatcdK*Y$NF|Ey684KVBTI< zZBX+R!x(`LJG=_6t2E-SYY!9(tqBms`5Q6BuxUm3t3beSY&|;Gmr(QnFm&ZnNo`-a ze!lWG=}UW=Iq=HNdZkuoW`s1nvNE;V%$!qm#1T{kGBZ<4o6HfZtjsiLMMcDUNCl^q z8AotnP*G4X!_R+Mti@gT+zOoiX*&e)s6MY%Ds_Wp@H@g>qiOM zTS@;-VtNDLK(-<)@5!t9Jn##5>7G@cRqI*%83*MESA&LOiU^xv{5d3&}yQ z-w>w;M+SmlUJ6;e=6r>3Rqo%dupVBtlt^r3h|w*KHswn}I|cFA^K7{}Rk`EGSgWfl z0wVmF%K{%~<;p_JM21=VYo^&W5-uQ~SoMqZ%bU)``VP|D$mkyzrTL{{4HxZdjwnpn zSm6_dDWXjNmk}+U0t!2#=m>Cak{sce@Eg=b(O2N>_TF|KMoeKjQKOw0H=%-tZtsbp zY9jx7^VOg;w>?hP4*pF@Fq5c-RIrA+*5yz(veW8G8mlM=R*lLcB9Sz-1A||V6O;p6 zX>mhlGGUYc5Nm!3Qpp55%5=M zPQeL-f$Ge99Dj4-@%x9RgpdQ%3-$+*&3P%mm(k@%YNK6t4 zzE#ruC)@{VfPdARYBt;|C@01UgCk!@y7F z40)V75!}I`Hc%w+96?N7XRpLgLKwutt08%k01E|CR4uQMXt0JSWXjl>x>bIK+=@;d zQpMmRdeHSzNisA)h{5TU9D`96XAUzP124^U4QwN&EEXJdJ%4CNS`4G$|1vJ>ZEE-LQ zyTHpiX|tD|BbCmfs(0b`n_d33k+|5&h-+Mc--+o&^r@5X?S^Ke_@G9{`cN-HlE2G= zG9m~aK-&AGO)+q0lXx?&taj+7$m(eX_@FRQah-qpYs)%F zBRPBqcS@Vs`M@A8RX%p)#p-LFM)m`3u0N#qybSUurmaCE(g4nGP?MaY>f9hwTPB0X z`K&zS@rK7!EQD!mgN-DkK8hXfv!3KirT$^62@Y80LbUvYr-6Q$=_=q)p;dWq69DD^_ z3T3W?L|U^b5UAX}nkNY0>_fhkg%9X8X1~r! zXG!!jP0i+FjB3KvKH;Bw zuKx2SxukZT$T;x#f)$lVunUpEX^RUl_+#EdN4A>+jM~5q#AkYZ4Z;&!inzDx9zT*} z5^99}%~r)v-o$6~Gtt$_m~$uKp@YNpjez^n<`>i;z}*Wd4L8CXJ`}qqhrBpR&I(zZVPuRMA1?EdjrSJ;~kdmS9#W z(anka>9%(~CIIxI`1xY=wxqVUs&=+u;|c(xo6UQfm-C(nkWB4`?p5j&M4JQ$gK^VW zRP@J2BA(2Q^VJq_;zt-Z?xO&Cg7`IuG(#W|G zl;}~yNR+Q#2>6{!BrpkTR7_fHhpClwvg0*ZJ9BmJ;j?Tn-M5`Iy}L=gv({$)&SmmE zzH2P9jnhad*}Qid$?1VF;KvD^_P}@s%~WDng%}ec%5Z$}BfOkA@6ZFpNaiFe8noK; z4Js#)1Adh4cUKc=l&LPrtwcfIaDUppfljook@;q22ED^A{e!#f!un}?*I&Sc(oJx_ z{*d5eAk|gwPBkcPIXWZMVliEcRF{*m9B|K;j5pLWi?lmo*XsW^vwD{;D9s8r2zFS! z8Gmz&q-A^$TH2R(Z?C3w`Fy~6G-&>guw<5eph6tX*t6u+99_hnlp9cofmyo?^R=ONj1~dR8+foGsPg=#1!0_CDWX$2nfjWfBf`lb!)jKdfvEmu@W-{$ z1TdRosj2e#wf)G{$M?GBVecU3FXe55{`!FS_Paqiy`D`or5nt!Z6W;Pw3DIfMy;vh z$p>-rCAfxdBj=esJ4Dq(3!{VI8PK7a6s;rSxM20=(!7Lm+847Z+KbsPT&EPOj3;DT z5lj*)$Np9RDH7SLCqp4ym4C|e>Q?svv>r)F&5<|C@2B^bfqZX1nZgOWfMihf6UaBHB?&a;z+QpNMshlRo;6U$oAHEO5Y()v36g?rmbCM#OQdugcs>nyuzfP^Y@f&oI zs^Bf;n&f;vrmEvPh$?VH7qMLZlTzTtaMxWRk&nV@uk zD2{b6!sw@m=q^e;rwGb{%u7SFAE`@{K@#K0SEv!{D^~$IgDxnw;0ta1E?l!~w(3Hh z6UHs=vg=BZH7}f+{z(aLNB?OS@rb}{O|iQc_JSD(&!38Fh#Sm~67qMmdYzzEzr`ji zgark1)Cidx$a#j$K4pZAd?8@G*|)NjNw`^)XE1*|Z$7n*wZ%*zxPvdGV{@MB48M=; zLcjhTwpXOj?%B>zUq8Y8MH72i9UZXDN7ob-t`DJkW-Q;XxXUicZ=>*<4`N%e=?f(~ z7Vm0+Nkhf)&!fc5f2u)0s0J-m&>P6Va0W;df8@A3&+huT+QBj0cmOFRyR%r&+r8I! z)lzuKRAKPrPg4zqVQ2;MsKo3S6;^O*IS;tBf}}Q(muDEF1d#9}JqmCSGCKP|Ql(D3 zj==Thr;rt+QLT!1J^cKzt>|+53BtPboUBe)TR9*udY`6N5w`Bd9hT~Z@E*mb0MZ7F zc#2mJKLKCgiFKZ+Z%Rb78`6aHQr3Q4A#YOD26Hn7M%+1nZvPIF^u1nb@v|m8O8vh6 z>})JQ#BYGS1B}>$2;Ho$+|J)sAKr}KP(rB*6Q?b1qoQIdc~Ae7ygTBzk+XW~6z<{R z7SXbkBIdccC&!{)F}xO!W>5S#H)+)&d?b~w?*_`%eOu-|ku~_1^{FpMS)ACcJk6HZ ztc|7Ej<*hnblLiNWQDnszhgFw(7P3m)!8xHRI^fV^YW~%T=9M@(_g|iJk{mQ;ZNn8 z=Vq2QsxjTd!E8g}_BYBAmIeXC>f%+2t!Q#xxbjH=XwNQiHD~*)QC)XsiU8EY068fC zkWGW&4l!9_M&4h#9lI|Y`n2IrNGwlM;2=g>nA$M&!j#(9P8bxL7>jDBNv>3GRmD(4e>V9M@%aC2U z&$M{ww<6zxi5ryvlWp^$m|U}bkLl)Kvsq!q{f+&sxm7awHpghnup0M))07%?pj=sZ z5l<(=rTXY~fuUYdb&KwM7XCsW6}_E=dIai_4E-S+Iv{l0s_fGSKF5b( zVXh9;XB3|4apN3a-VMKBAbWe~7%@(+2QT@tq^3XwSQ(S>OwdWhR1ZpE7J9{ETB0HYt*8Y6a#f+$18{=;Azw$~ zULU)Y*>niNKczyxNap{*>*PLLKNY&AzQweM-YTOdflqbh8-0>=Zwk46xT=M3V?2%k z8PR9~(H;Ggj;J#?H@bx1`p;oVm9G}I#Yfw@JL;aIQ-T`-{lr<&1=a!b^L5HUkzbcd zqsncH9#Pwkf_&wI`dIoa`TR*ED&VBw+UP>~@c zfSfwK1qgBZq`@?VM2YRG3Qgwpw*k{xi6) ze!nG6enG(epGcT!TF&Sd8p3se^Rw6*OV5P#U+8D9XUKWYMmabt=Hat%Q%=sm_6wYoUG38 zw3j#rln}&(bb-_z(JXv6^0(84a8;^aki85d!KC7q8`1A&8ks2D&b#EocAj?rWH}YQszBH zJzC6-MZ5Uct0h$8+dxw^p8R?xb6>e> zd@YLY)&o^uJo`|S`bQnN zcJe;=a9nlMZ*HMXQ_sBlRU)(Njx4@XLiLTfQn-V7y1=t;Ublc0v(vY}e4e>IsX9Ej z4)N2yVFEZs4(w6O1-E3hoJxpPsIo|za=aF%PY&ja{FEka&SS2Av8z?8!r>U{v$AHA z8F_grp@%$6&QII7yWq^a0c$RdJVz1M+Fp?ms0_s+a{sqYumd^7}=CSUJHdSD9nj5R~cs&e{?en*O6}vsQ1C)^_Aj ziJcbZB zs7@%{CmemZvaO|)1-;(pPQXL}w}r&BJ%H61HuVqW_vQzBpB%%apj}l%P!Gk;<>YiU zKJF%3betfnf$1Z6&ZYDp5#D!rN1S(3{wtOLYLM=$>V~ucMgA5Ew2-EM{fzeEg>I+k z)2(9&!V3b5ETR^;86(P5u&ghFUnCJNe@%0r{hZ-@`oWS>FWYj6`JC7z2bXh{X>0xc z_EFD z8BM_t>Bn0R42hlu3Eh~o3}@qEo!e%trq$Gvi)^DA#%t9I=?qYc2%p-!IQnRXEf+5= zzfi>^_Wx~If5iR6^UR#phiJC1*H8=5GbOS#@22T39r0)Lp0)3)U~UG2-dOoLQp^8k z-hNotMDxUO^uQi=b zGm}dm>JR=q)@s$>jIP601Z7&%bv>g+6AjRI%WoBd5jjrqW1lQZ8P26fG0=c%O+g-i z%QmEQEGvg1^6NNtvBky1ZBOu`JWI{^mFG zea+pBSbp3f-u^p?d*5gOBwj@F;bm{3R@u9bt^KRG$w7yIRlM^T)6X{Ox5!%#u1bz8 zi|sF9pC{dE1%D!Z&r)Wha-@{7i^=gCm?HD0rQG9F{DzHEHN!Ix>f=QE94k?S)|y&S z_`#rq#77(%CkN9bTJgJ13>bpqb_J(Se|el1uBsG(d@3D+OR5vT6O{C4YyR(oCwPbG z88@JkzY4QS+A(uYYG1Aj|M5nC)Dyj31WdrMY1pR`i!@Oz8;l-KA60G^;g6H;$ry7x zW!G{|ZAT{6aVO$%+LsVc^i%QGb;;!QW4saZAA*}P+m3GmzvzQ*AqmgJ|7v+@eiSVt zTVBPV_G+g$nP}WAH!Dzbo5;>fOO7NJ)Hj?IdR4lBkb&m|b>V_N;M27y#LIucV~_nd zg=Zvr=VLA)+<5O6{~Il_n=fYRx7tCOWp#8%&#g1GTF>6A*zuqlR3Yk`+(SSO^Vur3 zx?~|B`kwUS#8%j6>On>R9h_FMJHljm;h*Dq2DJ0%$?s-OuY0I|KdD`(OuSJ;*@}L? z|MykaM(_8w!R>yxDTuzm5XZFTrB(CN5A=IRE1Rb+kmV|2(p9xcVfq&bDKitos*#ZA3HQ|0q+jBizulhJZTUlVfkp^?zYh)$L{os7Mw_EOU(r$AA1Ncm*-if&E-=x-R;u2yVsJg&?X^4gx zJ-El1?fI;&l%6B|C49B$eru6oab^m9g=%surbMz!P?56^*@5CEy1=bnirf9wkpoJ* zDt^f+0B1vPVecZ^R()pjiB|p!M5UU)cY+&-cgCJFDP=mn40 zrsDEWGH04}!3wJuyJGJi)1dpkmd*~n$Xy~e!C>vW%9XfmNgt=Ri_H#p%9I3o{wE61~c zKvzEg@=m}9FOcM66YkBAuw#@0MlW4g9?}!3XI{iz|Jkn6+cyP2Ukphws~1?--PX%i zm;`_zT{PZrHiGjM3xu8Q-eo4o?`3TtKEnH8nE>etQGKJNZ}g5zVgJc306Y9PE?dp zFmFY~w)t&q(tqqas;05LNo?Au2QzslbQPj=!8gnl#eqI9jSovJKAf;1G*P}No(kO0 zOZ)Ih{T_h5gzecx-Y(zva@e0B@;{r*xH~jN`Y3h&kofP1nqGzf(qIbh{*uPhgrncl zK2!J_V_T`|cO3Up_BQX1+QP5M;okj-*FsaeT91eyw}}aZs-T#72cfDg6YYbu(~yxU4>)q7#-4h}{i@0hdk z%g1b4PaWwU_&U5_5G_4DLH7Cv_7-(THAy~#$6V&E44`q4iP<^)>%F6t?ae{;q!x-i zTs42hrqcRxJMC`eV^@jC)YluyN0Y)T%Ue+|pf20+otfXAUfu9cpOF=O$htiaGhHCq zBhoL#!<#-FUGR{kM=Fp zT_hh^Ya^~%=NW4FsyxUyq|>&sN#nK%G}?&kZP8XO0WQjSI7Sn*E%07(-lPe;B6 zCscgwa+DX&<|EVEj+8hSc@VxAJ(m?8E6L)VKz<&R71qUlt9g?>|4aHhpa2|yf(xB% zcrG=k%#;F`drE#oBL!alw8n;wnQ>lKPL6=ELVCnS;vO&I$5|y?TqwEwy0+aTG6f7p zd~7=!(&6WqI>J<|e8lp*Z(H~^5n^2BrJ9v9sJBo&F1!g#<7_~!kX1TfnU>`wsXl=n#*ZOhfZiN0*${@Sr(XvR{<_xLoFI%-fahE^!*UgOSxtE{VjY+5my$DX zT}@86sQ=F}V@t;Bb>O*cdG#2>dED;QsnK@e8~KinO*Zru>>pd;jNHTOUG!YWTn_W1 zJ^Pc+BMIM4Z)|n94_7uzW;u>GIEe*|M}yYf)dA0V+m)N^x7|q$qFX(>_tiE=^j#>^ ziQa8-&7$hggchb-M!oor_zBH6KY^^qj{%mj;h7PFD<0`84aMus{}P`;G@%*`73QX< zJmj2vugpJ7#92)K8$aYiU)1ojm3d6*UogALXlB9umOtLPXk&4)YF_OtBa}UV;ud4} zWAP>nfyHdP%;&uT)`!yzIL28=WK_wZvPV%$uAovtZK;SuTv;V-P$&zbo%gbluj@}5 zK)-)Jppuq*iUViVZn$y2D2oV*t@Xb5uA@~R4C8IG8(6C}?1y)w6wcfiof#q{CVY%j z-dyckUm16-n=zl4^r6V(o|k%15+eKSo`77FBWPuR5th-0MK%+RRxMzv@S0>WcSOVM z`ho+_i2E$9NYH2;SP|ah_rQ2aO#`zTINfqb`GJjsZ3~+7PNvkw*;c@sh*vELzso(~ zgUniFb~x;Z9@cDOeI}%G!io^#&R*6iUNn&>{z^&zFY!mN*Fb>q3vFE@S6ik6^%F*F zA5h%U(e%n8RoFstQ_OhB*+8UaO_&9vPUXG8-|`5wF`N~&itJHT!&AmR@?8b9_MX(&(0SAoDPXh1dwTxzu$t89EUYya^8zpFg_Bls_Tieuzk&g0-d~PKBY2p{0-82@Gc}0^EQV zvri!Pg~>(-Zuf*%Lvo;jW(%&0*UFKW9_wjc5Ew}4gczQ%w}0-dBm8mUT@Z8 zR@0X2tBQ@NJSuq|FD**&or)euY(jPd3W!M8`!L2xF!LVkrp_CHM3?IS%-0KpA=7u` zFptxrWeKJG}ZxSMJ-#u%PS@6J(d{RxI^A|MNX&gFVe!^)j#~1XSWDH;K zM)@ECKN8J)oGnFsl%`gkq?##nVbG4VBn06Yxb7py;?ao7!j72TC1;h?<4QHT)}fox zaWGI?+^w`0SLXSdx*FCHo&Jx7 z_U=YgiJ7H^mntk+ztTt3UDX|Pi=T#Y*=y$9_5}njEQC5^5&-lZ*8MqRpQ30;1DXr| zUI=~-P~5q72}c<%+EXyK-W1C|y~zM|-V$g4vkzPYK1LAFshNC9K*3jE)(@FW;bY$g2hJewtzM&P(BZ+qpneVN*qd{Dd|1dx1{Sg8LpY5%9>MiFZXw-28(&;V5Fx9>vo{nl~{^4e7+ zk7vW%EnY`d6;=O^qCiT8$QsU!ezfSZj~v16&~IinW0IwKj}CnyJ33vOp$>Zr8$FMh zUtRc1q4I1syi>1FA>P1|Sxso86q@1^6^?SsG)7gqQ_1N`{Q)9w9{`kpDy_*c`5zbF zpofRb4~>-5BR`zsCRlQ+Xxq++x>(6_J-%p&<3PwU4RRjG6gFX^QV|1jYo?$f8I6y_ z1t|I&+|-q!aIskhrY!Rt=&o`z*n3CCx7&j6Ch!>;SNUD>VQHr#b%{p@xhoqZMbwrk zbs0W1PiaKM&EnSyEUZX9 zQWC<;DlQ3;Ul~coJq$Y3mQMj&P~IDLEsOP8BEc>s0JeDVktzg$7}qal&z2hcR^o*u zK6ASoJn8+wYvJLq_tg&MU0lgwBm?s4?_-PCU8N9Hd5Ty+*NiLT6a}ffDaBPuiul zk|`QNYX1&CgNp!lB#B<`>iAIfb`EfsaK6h4tG)Vj=+ru;jO@x6`AXV;=2cWE{~1PR ziqs9cAW(sx@M3kk5gbId?7|)iFOg%CSKH99<{HUzRrrF9^gb`>QQ=B*u@a&^#^u9S zrL1Uc(FyfBAzoIRZmm&a^FQbsZUqSKLuK;Q4zDWn{gt2v4A8<>76UF4g{lzB^{FVv z2v`Wv8cJkARv6xw0>y|gd?x*PPic1c2&6c$*J-GmHK%($<*BgE#Tz=jJ~9$0c9J>- z3A(kVaw{Qx%v^bsnOaUs9;0Iv{9)Ab`%**6pxh05A9(bIy&8QeY*c0-GA$(PuBQV~ z#lq0(TtCrlx}q!5jDkhZqx-5vQaJ)5jZ&+YSqzhMm*MR;(vy;>aswI7=H^YI!n0 zYw4v~omf&$1UEhWXM$w>T(qgD2#h(cnotHYRRkiMmt8XTqY!<_H0E6q=XGXz_ow2i zwGP#-ucVQep``q?{I#>fpiYx0S>-3TSIh+~*kd9r=|euGj*~Yh-$9(SnB?@;ac)R; zvQ)HHJ2$dG0gu(D*KP?Hcm(n)<* z0-!Gm3Lw4=l_z>qW@7S% z(Ao%$ClV*ed7{|>ge8Soij(}LNH)S19*cV@8dmI+3S~k1;Uxq!d&0Ln`5Jhx@uSqC zRAJ$?vO}N8&9yqxd+AMYxbkDz;y)t|N_z}bd}&S}9-1D`NzYN*^oZ8qUmE)}%2Dd& zBCVrTN&Wi3qL8X&C$c4+5+kY?_NI`14hukY%KKm~<*T(QHEJN-QN=e zI|Nmds7<*xX+kq&Paun>pDaUaX2hxGs3k zKw$OYN)d2H-hdHc3F+^1A0H?Tv%03_^T<8&$D{sG()+NcjD z2scWgx>t^=+OthjnEu@3`Y&*2Or%Ru_7sG(xQ*I?7o8fGyE7?rBW4{!Zhv&k40;X- zSRvZ+uUhd8oTSO`mq=F#mM;Kxnrr*ne^L|ZPzdI&^d2do_CPSh zo-Bu_732m=HtEdS0kUQ^x67Q6Z@q}}_ULEh8wM|#%~%bHPB#FRc+)tARxFO`mGUr| zC7X6EGOTjo>yz>&YF=ucuCW!S0FxZ8#47rhUCTs^1~lnihH|3M1ihqZ+t!;$mlJvs zqC6~tJ-EPjSc=KyHU_{YVM^<>ABJ4+l|;C@n|&=YxWxC{fliQe<^)BWn00MwXPtU8 zeA(f*D{B^#rAMl8@L7O}2>Bs~d8>1UCx4U^Z1zG!h@@IF2j znW8dPa^E#DladDy)9q?LNnI3;r@UdIeof`4w4A>d0nAq?!dil6(PAl!}PX@=|*_ zBI}C0s;w-XFCi?s7~$}rF&tE2#07Z^=0Mc;#qic3-d*ITnWl_j$?Q1~j?8UahdoU&C)G;`V75zPhXP`d1e2e z_s6QH$8)Ln)y^vMAn)?#Cf%B1&GG!5k}CxG9IA*|p*Q>mu=7FcIgfZ>#S8uC?OP&B zL^U6gVI%3jBN)%a(@CC~#h8=~xOxTT&;GA=r=9x|!RaA)0hf!~(8vx|hYU>P@YNM!U=1)O+4+>kp zy!@~a#qKYYW^0R24A-zzv5>3+S3y-KKdiz!8Hyl_DnBAPW)RE*v4#B)VYP7HO0UrA z))@I+y^zMZji-B}tC~$w$&R5%kq?RH<-_eF`I}W*ZZML>MPtg?gH77F{XW;E1cb%C z%*G(Jqi6tiSyrOG*cHuN=o&`fiWY$?z~%ncAi{s#OB62XD$o3-r){uvwr(=WyDsH_ z$X-DN1n6{8#&HA-@zlAo+yq$WnC0VV5-kql0KvE3y8!USs;tQ_&#Nb|CTdDG&l+exjc7!_f;$@_oGD-@Y1JqK0a!VVEVG0Ct$G0# zqhf$q>q;c9?p?e6*5%)t;bL0$V$j2iY^#J?Yc~IBZkH48OWRAbQLJmp@ymm|ME*3M zqA0zOw1s?z=lbpUoHWMZKA`I~QAS>mXNVo#L|-F_pssx@|Hgy+jve_?Fp%WwV= z?-N$SaUT@DTNo$XnsQ1pS;L4k+<$($%%Y3^_5JtBAeT9!2&;+POk_*%#Tu>|TFI#6 zHP{cOC@QjaE$xR)Vyo!(ZI?&D{J6@suBRaf5-)qCP*ZXqE06AoDn72Lh#g z;496FV}67a1qrrr7%s_yot_9`4Mk9d=5HtNxZxXn$dz@2dr_yJVJ{4yF=}gq0M@Z6 zK6W9e#(!nbtZpPCrL1h8Wx*|{1ePQyp7%EWDp~!O>u+n`LSePY-YyeMjzep0{jnno zd#a8y?ZfGkA<+9g!@$7_bhm2W2gs15=A?Wig z_WdLB-X+oc*bISuqm+NP4~f zn~RM|J2Sg>B|9MfWNC-iFlHslo*;rLin?cYpF#Yk{sP><1Dh;p0n#p4Mzj5C&57Hr zEwu2+!;jE#A@ImI?NXaWNra2ho66PHR}YW6o;eON2+BV17psVG6>Fs zPn-z5Y6nim9NHL*r{X-3?}j1mr(~$b+n*cO*3(`HEOUq6an(IoOwkD4lJiba(f(cm z48AN5T(B?>JJ7AzoO;seLwt`4|5YFHY>4pSqDC56sCTuyGlv4_<^7--n%No>X;pO-Fu4D zgAuQd`^3PzUoC_WMuSLfb()>$@fH78fu(z8RT)72l5 zBFdf&Y=(5b!9FF=G|ccVg&=nOSuLDO9c)aSF;ig@s8$d1+(ua?9BpXvUjLL3q(LI2 zfW3^}5$#Yh2O`>>dB3(n&I>2r?y=fs!RQ!IaC+-$CM)O8_`J(`IjBpyc;uLc&p3B3 z-aeUMTK&PBT<230^qttXz+#-OTtaR30nGW@KJ~6r!F^tS+0f?7&Cf0ERJ5nR!%u}S z@`DQ2;njP%XVJrYYB`iC7SyXc`n4RfNu3>^PynK8z>D(t=8I;HUc-}YV_3g#P zY%|NdW^#)mwi~!7pAD^;q%v~{F{#{-JD|=;uvZ$d@;9g5ymt#QlO;ITFv+3~mrH9H zq9_-sH*5~sOFmUinu@|934g$uBMDY~&<`B%N$x9m2k5JL{K5R_pU^zZ$Gxxr_Y*15 zk+dCVfTLLtzB{jn^^Y7dMd!ZD$<_&HqWhNvxzHtczxd}*Vz#p^lw5^z6sq~BLgD2toOrL zSbi{r!T*7?10=qTD+)6Iy8MJzU|1MAGQgD5X)8Tav~eNA#ogqEysA+eXm`Hc>aOx| z{!etnI-N1Ucwtoj94L;)kDO&vkH`p()7M!(Z_Az|*Fy=GTF{ufcBh(q&|CxTs&=+9 z_Shu1=p_H|FsBj%*`+V)(29RV^+;&1&no4A&^eDg4%YHvWcn~_Bs$+;_7XWl9B7n& zUC^d%%#H{s2gS;-eP}jjZmz5V5`Y!CK@4f)iKX@s^yGggFmEO;$QT%gs zw+ZN%7sa|o2b}L$!7`@y!hfw@Cyqs&Kl2Uw(#nSklf|T06zi-SI1~hWL`Y-BgUp`stez zwlH&c#Xkz2+_(zgog<(V*a%M~TSkW{6qgDnkZqH1d#|Wso!k=aSS;o!s+_lDo$n5)carSm+J-LvMrfn}ir zRvdgrQqOXhrJq&B9)2~rZ6s3%W@H7AhZVP_cho zoyH81Fk%X9XB|l%KdmeKP{sZoMiwMmD2Y#$+&q$wJ8MGJT&1;QYUx3`LwGJY+1xqt zHQIOb;XKuG*8Ei|XCYFXYT8C|SzFy}sV;k~=17>WViFT;0r)5Q8txK$Q`mg=a3hRE zK(05c9m82l!N*Gghq94-vlhUlX{b$I=XL&B)e0M^>Z1l{S(^)JMo$RdQL?GrfHh)M zZPOY5hP6b(p!ON8U*)GXRDg5e{X-f}x13%VJ)*2JJpWo@m=Lyq1^GP!bo0za$#`xC zaHO`4ja9b66J1(tYuj{-`pj4*>(y#0@VfPEK#D3BLd0$SHjKBZipdZ;;k@Tb>Wk)_GId8q$O zN8IJV?>qM<{?Ju;_hT@(e(Ak*1PtyR$3soH5;vCKSX~Z7@9E}EH>~hx_y0HbYWcRh zf?S%v0`#yiC}PXaFiFVo{{2HQ_$}pS@7|-10&l$ZRk^-~BUxuKEq6{yRNO90;&zs_ zLXU0*P8>G?;86Shl=H84DMPbJBH5%rXSE+mS6|fKlTfeP$-01chh@Ddz8yER^U@Mt zZujAqd|82hl4`@3G4}ENmj6YORC>UuN!MS2u`e8HZ_Hct#q7N=q$*=VFd}T)?^P?t z{h+8rn^GauiL++}(m$ zvBiGnxe7hWKYqIRV~Lku{wg;A$o&0}x4EQ1^acs4x!Ua_x>$mwG^{CKmfIowOrKeG z$X=nJgNF2q5lqAC~zBQHWv# zWK$?5db0wmsf-g5Uy7zJBU$@}Z)bvpDD~IQt2&<22E&Nro}bk2+j5h6`@7?$$!An+ zM-femT0nPD#hG=g@QIPV2#(V&aVyKmPK-W;d{Pt_+6f7@mV{$qi6aMkD_;;x%3l!S z3D{ZA?6Y|OFfZYjc>g%)G&EH7CvY#7cC#0~Z=>*!ns@iq?_U2%c8=5d-nsX~G{<(R zbo)Tn+jF)?jkwD5Kg;+VL;O*yijXXlSA;NvlQo>-EPedh$AGd$b(*+*Mz}CZinfz! zi;(MOY?Eux{8?_#e;q|veH5gDyh^pXioAcFUh|8TU8&xf$ZrnZo38PziJInJ@?i4= z`iM~zVl*h}J;_(*^&@|CnKfF-!Ng7qf7yQtM}%FbsDQVuCKzh`pQ3AV zWb*sNm9k2#QmHhQ*V8qeWm6Y>+Xv=SMPN4<*7<4sSJZ$Rtb(5#~HVp{g}sf7W*^ez-F_ZQoGrNN&+T| z9?+^%qPakaT_0WcttVghMM$wj-p3;)EL|g>nTKiw=VHv`wz7daDb(dE8#e6ZDkO&R|34O`o5ef&#g7}_V;L_o`CcXmh^}7uCaTNpST+C)H~)y z*<8s6V$cVX-&82?_mJ%KYD*4IH(5~DQ}K%s3~kv*&Fe5fstFs4`-QO;H{P}}N!lNV z`b~Y0-^p{E-S@9D)?4(eIB7(DI&?L2YTy{2$QqhI{SHhO)I`q~ffbPXXp9}%f0_-O znR_tv=qT5!El!+q(dnl4Y_Y&r+`XR*Sz6D#r>2{q_f`>+Lt{n03z;++6{S>MAPj0wxJ z!DSsylWly-4@bNyu^q3Z4w4hr3hX=VQladQ0-v;=(ASHDg8b6sbXCX88MPf_Z8GX% zsGMX$w8)a~r#H9wvbZ2)d5oMH0*M*3!?Kn$a@fw~W1=%H{CMqmMd)XlqK?A*spagm z?Ror+#Fdk)xUn~YzpLleBj|r3qiRUTF-l)`TeN)I;^OcV40#nZGAx(5?EI`aVDx3B zX6RIbPc`_w>O-!--hh6tt2? zTxI-p*8>}Aif(rQ_!0-QU%NI^n5oHqK_*=oXbU5-m7AfT_G{u6)7BD`FqQco+@bkL zQms;-H||QzWap>*?%ISw(_J=+)rVrPzQp2d#T+bP%Xu*vkr~F^&C~V)!+y^}u2?N+ zwnR=8{GbjinnN|kSyUPP3o&@|mMqVUCUXWA0g{YIm4hzXi6LYt^sO` zcsENmh=VxF`EVi|tdG2ABe-k;HQ87iPyv>HnHkbY>J{^kP5JoWmYc@D@oJ)HvXm!X zKkf4=Cf#MPUYS#cCu1^cOjO&HLTqwvd$>_(8}BBvpwo5wK&;84t-CIRITK)&Df`r#C7PR_}RZqa?TTdO5?KGFSsmMU1VAu$LGQ`rxaqi zvDv;08G>Q{cYV8(vZvrP@XHV8OaF8VtOE!xfKabz7ZowuQ*}k@cMZ!G7zM-_a0(HmCE5{T2gEf7bx5`r#}KWI>I-VXa}g?6m<^=Pj0lLl z^|4t&Jp&$9D>C;&(Uy;fHe-v}PYn`0yPij`|Lft4(npzusTmf+HRBVZ6+M3~+z;6SRW=I8ViDn6R8e`*t9f z;r3J4Dk(>pi5Y8i!#-n}1whX`GpGPd6=WsipObUXo)Qhg9#7Rqs--Q8oDFf86KFd<(w2?l-i3A!PXJ zMpL`mpntcQ>{nFI4+TYoN0(zNrZPbNt&-hL!k2p=DboTUH!onfI}7`e_kqkWRU z{F}R@0i5oPkN~xGG^Pb?!}hnKA6*B|kL9C|f2JW_I}Rb(rx#Q@s!NM=8*Rn!S0AtUg^Uv*AqLp z5ZI1I5J$PAT;z5{IB~?uO5$4W$V00Y@TIxelY5cP_h}Ia8MkKUu4R~+F+(TF+1~=9 z19J}o?#6d&4x^Rl`O`>IjW!wZVR&+kNV8@S(Hi{PII(J!ASQxZgll3Gq9u>~S0PLK zMt!D5>Rfv*esh~JGH*%j$%#i+uTC2?dqnqFFtvPR@t}|Clp`<0kAoiU%M+ld*;`B>wX6nbF+l8sWHo zf?0t^(^q8%q{V0{jSGJaYR?2A^~bkU))*yK@TabhZxA;29pPr&_mTvD^G~s3I^V{_ z^(6OOze}63=y&%twg~qOux?jGV!(G|C2BHgIh$F%XFbImS)|&M@kL!xyD%EB!rSnFzfBkOxZGsrl0TPCZdAcuG817zy1pHuW8Z@#e=?I|9S&b`5Htf|Fj(v&_=u{Mah zPm1V@Qz`6%ouK*{Ui(bnxH1o*nWnIr-U7!)QIE4ZwY)xoJJzmC89izFk*bYnk_pQ{ zBkXFf4QrExQt;&|d_1#=KMO9l$JK(jg(F+3zj^Oa2Scw;qvbu}CZbvf`~}vL8$y1(V#)~_blKA< zdDme$X1vrtpB~4cM(|!J3y6ogucYUU2rD4=out1I0v=&Lf(|W@6MG}W=I&Vm7k~R^ z&bkVRb3bCZnffCCQ>+)r!T@#5*VU?(HKCVV3eHM;(^O+y2_4Epe{O0d3t_a=(;~l{ zD5B|M+@6J(+@^Be)XY#G7lzBt1D=pClWl)jq7=kWM=%WGuVAy*0$?$z1f{!xSbL!{NVzaSZyymous%Qx2S8eQ=fxY0aM<)HUbR z%|><&J?zuq+Nx^SW~{?6Jv*6HZJv73^~EQ?!?IDL3)4)ik&*f&qF>41X4vYx1We69p%a0)RBI5h1MS%GVqC@N{4cmhRf~IxqrPSZYygRx&{`3s7F<_N2qN%I zu#^>U`9ir)OF{9^A|u(MIj9~NJtZowc5ZmN+@6pbWYX=)foI^ymwebkhJ#6bWajHW z+?{Hr&{aTZ5yDLrJ)xr>cd=cU#boSSM-sl@lJ7Ji(=J(e{j!$|X4ut@xjQtI`#yv0 z!+as}sAHTs##J&I{LUSdKqswuRt~I0Wue)x0uLT#3ux44`Vj9)7Dpfj%W=zdPO;pf zW0U2~m7J+t-tZ5+`Qwgmyt!abDzfd=@Oe)k;3R@-cy+nH2KPt$@dfIbXW&mE;8FzI zRD(xSl|s8xMD?7?T(;ecj;8p_gI%*`>C4hLY61&J!Nan_VspZ3W_cxpt~Aot-6j=e ztmGS;Ggn^`#L*H5+Hb$HcR28dF!Bz5Ro>K!sVkL&MKLQU;sKen zl~Cj2@`y56(gq)hEZ$NR@PS`kuM*j0^s3e_Gmd|%JJGhH-x!P`v7MNIxu}aBAYp<} z!AYB+XSt~}VC%Ib)U*NC%&QdcR7C3-DXgGI9T8Db1K~w9o3b)1<0Y{SudZ8&WDNTo zhQQ9#)OY{V&f&^QhXZlmQ>D0Qw%o^lY9Iv>gj+Hf`m>bz z#?fYxwmF_0B$oN_Y36Ve}E9P)1jxNR9bictwYwk zHjPxNoICgFzh~hj&%+lS-U!`%{#;PJ-V>ho0hafDAH1*s_6pO_afCy)3yKwtvF3^D zL86d5{^ro5*@UzDPqvNlN5*Tn-FVH%M(~)eJX_QKfPyG-ZIrcsO{Pp$bVu|ibJ;52 zkz_SeF(?9JdEc4E<+GFxVDvlv9@lhCjsg)gC6tdG@ke&5M38n;Uh?a!9)+?3dd8|; z_~z}VjkXuA^IoNQlkqexjX1477kRfjG|A^2Y2w1F`DkOnNGFgWG1(>O= zShsI!ebsQkcZ}>@|*?AnX6I9#P?RVyrybzZdE!5pE76NjBD zId5*U?opVP%3LoLMh25J-1_F$QWcYt5+l+eTic>%u#n>a26jk@ShN_o*w$}-yI^1^ zo%7hNgMlVLikphq$IsZ*;WDwWHv2TbFN}&UF`dYLm2wwev%%Grt9s9^QU+ z>mHZ8;9}gHH05qyUkU3YGbiBojHIiw6W)`j{V7M#+igxFy-4Vf++iIemd6naJ)UbTc!HDWve(z;J;*-yWjwy>7J{y_|Dn^uF z3M{9EHhTCdUsfjhgfALf2f=0FK3hYlbop%i~QXyhNbBGZ+1mx>X{wJ z?=je^Bh}2${ysMHWJLC-x!g(_LWcYYV`aX5UzrT^lYvsY<2cXnjc&>gz;W_K2KmVK*vqLP{Pkn@U& zXxXT8``qwI_q(Z#=Bi28*GabW9k;Er!!MpKYlH+@RaQJj&%OCT+d5_ZKx;%fDMXd$ zUrea}nb6%Mzo%xs#GYZO)_%dK;}3iCea8#4_G81+Tssj|c5n}?`faIiaQp7rkUodZ z>VE%$@n6D|n0Z(+C2Zi$=fZx&Khydr^X9O1pMPJ1{}7C&-X5t-D1P^oZxBW)lQ z*H_@T(KiY_!&JZx;Dx>}@>|!6l&M{rxlrcnk>r(na(Y*o?ESLA_raH+3Db-ZYsP^J zh~P5#-DnU9orFI}d6y?fR6SA(U7@1=~umfMC}#4)F{lbltD zQO1Sc-OgWqBecB{*QxBR52-E=<8+(SOtJ%lMDS&azxs33rnVcjiLN!&yZheWoOMJu zI@o9NKLhv}_v&^7xN0^@`{4U4zD~bQ6|&2kM&ECi`beD`#_YU!58J|oxA*J|cq+K9h!{Owj9QyZ#7feU zp;;2E6IS06CHGN}u}Aj;+vAW26b}|D@tW*=fKx({@2Llwl-~?KKafbNiP%nldtJvMwNJG^{Da17*#q|rM}i2y;pG^k{xGtj-R&Y@oP|* zT|0()hCM&v?3gI>{k*q?r zNwMTVxuTFDtHKzIHJQ%!(pSkwVsl>d1^0mSEO}&+57@4f7LRyno!Wg22#!NBDbuyD zKe!VWUWKD;7yL*yF&E=d6O?_$*9D1WjFC5Csg>>bPjrjWR^z`Xbj=I+Lb>P#7h4zc zby}N}kz0*wfx9b6S;X@gWP*Q@%PIYY1{9BBg?eHp7R4517$)(z|cw66yDAP zg&(_z;X(c<#mUzYza2jEuXD%?+=fDMou$yvYyj^tglo9H9Z*pW@;SImu>52TzPK5= z6XS*{d0%#&=IFV|`+c=(JWM+2cE#0CO$RcK?^ds$z{pqvd+^aU>#<-#?)%8+(XeZ*Em;vzQ72Z#E8qjv9!FDhN4<%?VN2oPC!>Q_>Vn9=Nv!NQpN zY08SD%`aF$4Mw`U{9Nc3gbzwi+L>cNW5rcwjS%JD0pV*(CE%%H7pW|!I32sK^k?HI z(W7RhE$u0hOR*Xd1bh&hz0S8nyVZ7qrrpIsPk&Jj;V{1!>Y>PtfQ2mP0gh*5ZyWN z5dSa>tIjnsdiddJcdm%_*HQWy=MYwAR$)R?&~QHruWwQdWbD1e^#D~8vAf0B*=Tjq zy*tQw4kl7;A~L428l=KkZ-L+cO%ih6<=k{v0T} z1MTR-&E+W58rwDNBZhSpc>vaoQ({=m6u6P*)^Wh?q3cM_-c;aL9#cA&!DM7QrNg*>EuysInmg6^I9Uof1Ow! z)8*B9$O!6{63(3^cHH?Z=2|myOVZ{3QdGN*H6VobP&WNr-!g5)ti2y1QzMvD*fnj> ztUrYC$4AO|C(R)91FIZ)Vy%1!Bu*lWjfk|KLA{K z#cQb9t63xks?FeGA$)#5uZyubanc2|(dZffVX-w2MUkn769|@fK^^F0oH35wrhEdq8w2sKE9~E52DFwaD!18n+hjb8rtL3RYQu?8tjMTwUZv zlPZ7P?BOLe9SxrUI71nolxOtnnm`$(*bj_ui(+00R_!K;OZzn zj2&5qyoWMN34v6eeHRerMMIq|+rtZ~M|oKBo9Gldqe82-)?`ZkM{$RGGZP^inAtvL z@n7inBjWgasOVS~6wDCZTpJ%Dih%i+}B7^qGYQN{u#&fhXB>j zj6U9qevSAyKCcvzMPSY;XDv}x4JDh{QdP$Q<}3P3W*y>Rw96+^7guu`oh9mMXjU!f zdf;C#^jDN3U(JSlA9^UW&~RL$+l8b`|HJl5>xRK(RUW4GZy0DdE`PaB(g02zbD28_ ze3$v7JTlJWj_OO^v)6M0KMGE6)hO%XF2KH8!n1k*pkjRokwk$S6+!{YAyHr~r6dSg zaI|>@#(eYMiZc@Xm&IBmic$nta`^58RY+BWJ+2I{;US%8y$C9>I~c!u%;ez>9ucu{ zg;CpX^-lR8WmB8Nm8waJe$9Gw=IL?yl4_Z!*;4iD`xcP0&G^4-$E6^PX6-fJg8VCq zW$sWD5e5qaH*Fy`Ghtdw1!>RlQxz2wS?ChK78%E8jlIS{)&S43M|O!XO3PF+8N2#w zfr(GQ1TUg=uPhJEUiG9$r!bck_DUR+5O-^$BOsg9{XXM^)j9aQ7L?HXx55bVR21yM zPGD=(j!3zLt(el~_e-%?<{kF>M~MjRTzBG&$H@JHrp@^7+tmxq-w*lDd)!c$cdAPY z3)1VppjU&S(WE>2dPP7nido_Z5DaxiJNgp zHwlW7yJ2o%cmq7tO`tFo_QyF&VKY90Ae8-zXucs8>WpebMM9n(GdfYdCtzI_vT6&0 z_7XNSuRLgz!y^Ym29S?7BTgL?qJHE0b+?Jm{)@hnh#z*SXr|yyb{cJ;A5Y;;RVq$f zd`hIaqs(PMr^{MPNKFa!GHB2$f0s0xVq_5kv4mulQNhEFWAYZD%R!IN$OD1~PC}z{6kD2A-SG#+i_`cGp|wELLPJgMaQPj| zHc?TD9Qbl2ZssJjZq6KWVb0L<4qV*F+<={ue+X1T!eiK|7$*p5*>)t@VhVMi`Cw7C z_P|x#P|cF#C@(K#+Fa!Fg_2O*bh4Ha#V%zQQZ=^X;}(dPAf3QY`AorX!qE^n;Q!*_ z^!tv89Iy%pQElNy0V+d!Xp1TtHnk+wt+smo9Bi+ICAKommKhvjZUI$>)`>lF(!`Z= z4?J9i-na#yoU{ymioCq$mz&@TVOs&+3)EU<4BMxjoyM}QBc9V){yV)+bnOY{!4}?R z&_c1qREUqxF9M?lvaTXe;CKLqW8qyei8wVPQIKB8l^z1?6Ll8U!A_TH&~@z*7>d*? zR&@XxK7r}jP2yyQ4pp4bf6~%qEy`}}DaP+F=XT;~Qe<*|%}yQMwMNJ7p{y?w?o`In986Z-=!wk;7F6x@gxEg&@Ff0Cg4c6%fN&Zn}aWh5gP z6UX`%!rNKear-0V_boc!pkL*EK-8*Eg%=~b87!kB{$n6p6@COntrRpVyDbt%04ucT znykXjrG7wdo4A?M63s!>KanEk4@avdY;+p%Cspx%lGJq}Q=(H(6*SaDao}G(Iyzmb z=Y1bhEMVQ6R%V&_)cheM$)ECnU7LpSAu@+eqAvEMvqE2ctIb5bLPvqs=!91usm2ugg`bd6NPL;+5cJ}E@a652GoG|#61x0CU8uUC|| zaX;6)*WhR1DrW1zgKN+@F&$M0Y?(mrJ99nhpj0=V9VLQGR!uo!>i8Mtd^v_o#$1qj*ft5)PuTgJ`~r7*Tj`^mJpveqxDR^v`aSmay=8(=U|-34>#w(K+PkGYfL3nLye`l-6gF+F(T_fBjv@&e+!PbPwG{VhR~`=!t~ zY{rMQKs*C^Gm4BCU;7$9b!<4b%0gZ-<*U0`&qgw{oxIpLw}P0+2VL&*d8kt1b;vR1 z>8f6@nWzXzqja0hiO)l1`>rx-BiI%~x!6#*1pvxD51|o6s;f=t?Ghh~+3S|3>tHg) zcPH?7oOb%{Qd7OEro_J*>(A5NiZ5O=vLk-9Y%=zJU%gqRQB)AxRSpWAS32Q%+de#- z(&f&Gs)!L4L4>l6h=1S2z7SVj89EJ}#auVaMM+tUvw-p_({fWxvs9D81;A`18_kd+@C1L)3qDf7E{bq*h_2N%fv57`1`)ABJDyv7YHt23czmW zKa6U%H4(@A=FS=fCz9-@1(>e;D_ITf+R~IZ#Fc<`iwg?X{_B!Dy>N0X%4!n76ARE< zWZ`ZE?S;`g;NS!mw%7dbqUv=C(sD9%h_dA9B<@Yv`#t2(N10~)?2`qf3dQq4Jm-$@ z!+P_?OCi}xCzS3jYA3CAU@w58zX9YxaG?P@qlpx3F)LW^?;gcMo~Z^ED+0F3l>O49 zox&aWqF*rwR2rlUN!tJ_1iKkY9bbmB6;k1ykwCGVCzIO|s`s9_)_u5_Mb*p;6>uG)+mv09=GJc_wb6sU8wR@fzY} z#b*4~NhoQ7^qLYU$^DAcOPxJ(^=s(Lf!=MXT7~0XMijohaN3c)4 z!#Qf5qi_K5KFe<7o}p# z&G?hATWCmGii@C$kS&uq9aRc$k)AhAF0OW5bMUkK_@UF``#ux9(gi5IvH~ zTj3vwn_yCFmDCf?_C*#*@K+=Akb06%9QsgbR9!nz~5nr2;TSWiI=D1-?g*DMs_7wRArp`>p=O5W<}>pw+Wi?E??YuM0-84`0uMNa5L(Z>iG z9a!`14cK%;K$I&l;54Lc6m|}f!F+XdLyDX6&8o0dpG>xY6(6iv&x_5L2?PIJ2NZwN zqT46~xUIZhlSs`eJ0OtvZ3qvFnB8*)6kCZz@|H*}U^gS3g>d)d&YY1JeG@fCov1}h zE-b68DEK>@y#9!T-ub3-2i?Fd-hrS!hOsSx1wL01cw8q_k1}n8Md6=IPJfZAO*eI} zUu()f5A-H2I_TpbYsuPPI}h&r&bHev=$ChqTFw6va(|XH4iTE97EKI;A|H&x)Kxk0 z`&OMI2(|o{$wRx)k>8=K3bg^jBO0rFOc!R>N$FO-c*IR>V>9IiOq66$7ct6=Q&@9{ zKswjs!)4AcKvk20#4GG5&20z^aNfQi^;=-qcy02+A@)%R23i(>?N?0DN`?{TJf&3J z(a97#qOi%gZryrfrr+IWuBjQ@VK{hSNe5uvYDZhFah?3LWN?0vo}mc08kw0{os;5E zkTuzrA2CwO#BGr;dLfpBNOafav&0$=V%d#(FlpY^9w~4DS~?XS`cf`?kr()vz@-!y zSIVOmJ|`9_K3IACxYi_z+PpH0bG29aJ^YJq>;9%NHi%ZYsWe8rB1UQ880BA8PB40SWeR2bS=?~29;JY<mkvrSKA6W%e#ywu3pG)53T;|9aooLt6-Wl^$eI@>Xuo6fmGAJNWkIPwA=4NIT2ZBEO|^M!nZ@Z0~t)zy~D zYh(x&GA&H<4nRkW3;83km4*Ya18UVoGGFhm6F_B0_dI?ibMXB`_QjWmui&CfjXv|Sl<7Q=y{!j z2Y2AVZ=1S(vx{lJ!`UN&vFwci#$MQ~(6y>CLY;t_-ikxeHi9=ssWbEkYs;chZj&;N z3cCUvILG7PZT(x&H%NtTz7n(%$c_($HWkKr^^Cpw!`%<;M}q-Hj@J7x4Xi z*y{lQ>h7i`6^)AonNxhMWQbfaS| zr>bTo#F{20?kXY$94yPqis}lmCiN1Nh&J)o;XR86YZTWD7{9knp+Zk8jvS*l3H5JO z_)sXb)({3oPpEkOi+ysVGHw@pWZTpM&X^u=!Ibw<9#e6gSGWUHD<90Ygz(%T(r+5F z;2s=Wx5PD)Xv7>`h`nYXux+=w$?5Y@Mcppu$+u^yD=5d&2HDLE5;@SZzC^R(_kT zr|J#|+HR{&P`j({n&ONFf64*OkD3f6`@Sx3AxQEiLH2D3Y7zH?L(Osz!9=>DK&e*_pT2ZrndWdZjHu zp3q&)0qew?ZC+rG$G6vF`7K&_D-Vrpt6ScDH$Q)MHTOb3uM!ovm9Z=0WCt7ZJ=_?NVqPCtJ_qO0b_s znSZZ;Vv~Mz?)KDfq5mAn7@oRA9SHprvjdY-Je=vrM=0Zby!vrI58xlkPdHtmH(&`e zr$N$7+V#8Tf~2>g+@#${MCp|Fl%Mck{%+C9P-#*UcOWF z-M|xKg=d5IUh(JHq>Q)DIlX_UDWl$frPk?myn04S=*&c@aw4*IVEl2ltI`DDM4R$$ z4VjDt)J2+XP}7q8+ZNr+()xS((rU^IK8JlYIM-hZJjp|`yRUa?tgc*Ybg@In*#5Dt zLU)l{FBIz}JY!z;vWZJt^5KSlVWyJNHw>D;I2M(~-$Uz)j}I_r&XDBVFPF#Z<+03; zD+1;jVLX>Z`UPw+;$3`dJ9rcW(hq}5ilLK$?;C8@Qttfwx(i&Ny|@Q`+Qae+1Nq_- zy}Yyvy|G?@A0FcjCT zxxo%VuZ^u%%P_kwd1{YR)x9z=!j1;wuz6Z (~z-kIQ>;gEXf&*4h5d@TXlQdq(~ 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∾-NJts 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 Un}1LEV}FwAw*Aqkw@u)G0Rea^^8f$< literal 0 HcmV?d00001 diff --git a/mod.json b/mod.json new file mode 100644 index 0000000..e08eaf0 --- /dev/null +++ b/mod.json @@ -0,0 +1,18 @@ +{ + "geode": "2.0.0-beta.22", + "gd": "2.204", + "version": "v1.0.0", + "id": "dogotrigger.level_history", + "name": "Level History", + "developer": "dogotrigger", + "description": "Look through deleted and outdated levels using GDHistory or other sources!", + "dependencies": [ + {"id": "hjfod.gmd-api", "importance": "required", "version": "*"}, + {"id": "geode.node-ids", "importance": "required", "version": "*"} + ], + "repository": "https://github.com/SergeyMC9730/levelhistory", + "issues": { + "url": "https://github.com/SergeyMC9730/levelhistory/issues", + "info": "Any bugs with Level History should be reported here." + } +} \ No newline at end of file diff --git a/src/GDHistoryProvider.cpp b/src/GDHistoryProvider.cpp new file mode 100644 index 0000000..2dde36c --- /dev/null +++ b/src/GDHistoryProvider.cpp @@ -0,0 +1,390 @@ +#include +#include +#include +#include + +using namespace geode::prelude; + +#include "GDHistoryProvider.hpp" + +std::string GDHistoryProvider::getName() { + return "GDHistory"; +} +void GDHistoryProvider::downloadLevel(std::function onComplete) { + cleanupLevels(false); + + if (_params.count(LPFeatures::QueryID)) { + web::AsyncWebRequest() + .fetch(fmt::format("{}/api/v1/level/{}", _baseUrl, std::get(_params[LPFeatures::QueryID]))) + .text() + .then([this, onComplete](std::string const& catgirl) { + nlohmann::json data = nlohmann::json::parse(catgirl); + + if (!data.contains("records")) { + onComplete(this, nullptr); + + return; + } + + nlohmann::json records = data.at("records"); + if (!records.is_array()) { + onComplete(this, nullptr); + + return; + } + + int levels = records.size(); + + if (levels == 0) { + onComplete(this, nullptr); + + return; + } + + for (int i = 0; i < levels; i++) { + nlohmann::json leveljson = records[i]; + GJGameLevel *level = GJGameLevel::create(); + +#define PARSE_STRING(lvalue, rvalue) if (!rvalue.is_null()) lvalue = rvalue.get().c_str() +#define PARSE_INT(lvalue, rvalue) if (!rvalue.is_null()) lvalue = rvalue.get() +#define PARSE_BOOL(lvalue, rvalue) if (!rvalue.is_null()) lvalue = (int)(rvalue.get()) + + PARSE_STRING(level->m_levelName, data["cache_level_name"]); + PARSE_STRING(level->m_levelDesc, leveljson["level_description"]); + PARSE_STRING(level->m_uploadDate, leveljson["real_date"]); + PARSE_STRING(level->m_creatorName, data["cache_username"]); + PARSE_STRING(level->m_songIDs, data["song_ids"]); + PARSE_STRING(level->m_sfxIDs, data["sfx_ids"]); + PARSE_INT(level->m_audioTrack, leveljson["official_song"]); + PARSE_INT(level->m_gameVersion, leveljson["game_version"]); + PARSE_INT(level->m_ratings, leveljson["raiting"]); + PARSE_INT(level->m_ratingsSum, leveljson["raiting_sum"]); + PARSE_INT(level->m_downloads, leveljson["downloads"]); + PARSE_INT(level->m_likes, leveljson["likes"]); + PARSE_INT(level->m_levelLength, leveljson["length"]); + PARSE_INT(level->m_userID, data["cache_user_id"]); + PARSE_INT(level->m_coins, leveljson["coins"]); + PARSE_INT(level->m_coinsVerified, leveljson["coins_verified"]); + PARSE_INT(level->m_rateStars, leveljson["stars"]); + PARSE_INT(level->m_accountID, leveljson["account_id"]); + PARSE_INT(level->m_levelID, data["online_id"]); + PARSE_BOOL(level->m_demon, leveljson["demon"]); + PARSE_BOOL(level->m_autoLevel, leveljson["auto"]); + PARSE_BOOL(level->m_isEditable, leveljson["level_string_available"]); + PARSE_INT(level->m_demonDifficulty, leveljson["demon_type"]); + PARSE_INT(level->m_demonVotes, leveljson["id"]); + if (!leveljson["feature_score"].is_null() && leveljson["feature_score"].get() > 0) { + level->m_featured = 1; + PARSE_INT(level->m_rateFeature, leveljson["feature_score"]); + } + if (!leveljson["song"].is_null()) { + PARSE_INT(level->m_songID, leveljson["song"]["online_id"]); + } + PARSE_INT(level->m_isEpic, leveljson["epic"]); + + level->retain(); + + this->_serverResponseParsed.push_back(level); + } + + if (_params.count(LPFeatures::LimitLevelArray)) { + int max = std::get(_params[LPFeatures::LimitLevelArray]); + + if (max > 0) { + std::vector new_vec; + + for (int i = 0; i < max && i < _serverResponseParsed.size(); i++) { + new_vec.push_back(this->_serverResponseParsed.at(i)); + } + + this->_serverResponseParsed = new_vec; + } + } + + onComplete(this, this->_serverResponseParsed.at(0)); + }) + .expect([this, onComplete](std::string const& error) { + onComplete(this, nullptr); + }); + } + + if (_params.count(LPFeatures::QueryLevelName)) { + std::string a = std::get(_params[LPFeatures::QueryLevelName]); + int b = 0; + int c = 0; + + if (_params.count(LPFeatures::LimitLevelArray)) { + b = std::get(_params[LPFeatures::LimitLevelArray]); + } + if (_params.count(LPFeatures::SetLevelArrayPage)) { + c = std::get(_params[LPFeatures::SetLevelArrayPage]); + } + + if (b == 0) { + b = 100; + } + + web::AsyncWebRequest() + .fetch(fmt::format("{}/api/v1/search/level/advanced/?query={}&limit={}&offset={}", _baseUrl, a, b, b * c)) + .text() + .then([this, onComplete](std::string const& catgirl) { + nlohmann::json data = nlohmann::json::parse(catgirl); + + if (!data.contains("hits")) { + onComplete(this, nullptr); + + return; + } + + nlohmann::json records = data.at("hits"); + if (!records.is_array()) { + onComplete(this, nullptr); + + return; + } + + int levels = records.size(); + + if (levels == 0) { + onComplete(this, nullptr); + + return; + } + + for (int i = 0; i < levels; i++) { + nlohmann::json leveljson = records[i]; + GJGameLevel *level = GJGameLevel::create(); + + PARSE_STRING(level->m_levelName, leveljson["cache_level_name"]); + // PARSE_STRING(level->m_levelDesc, leveljson["level_description"]); + PARSE_STRING(level->m_uploadDate, leveljson["cache_submitted"]); + PARSE_STRING(level->m_creatorName, leveljson["cache_username"]); + // PARSE_INT(level->m_audioTrack, leveljson["official_song"]); + level->m_gameVersion = 22; + PARSE_INT(level->m_ratings, leveljson["cache_rating"]); + PARSE_INT(level->m_ratingsSum, leveljson["cache_rating_sum"]); + PARSE_BOOL(level->m_demon, leveljson["cache_demon"]); + PARSE_BOOL(level->m_autoLevel, leveljson["cache_auto"]); + PARSE_INT(level->m_demonDifficulty, leveljson["cache_demon_type"]); + PARSE_INT(level->m_downloads, leveljson["cache_downloads"]); + // PARSE_INT(level->m_difficulty, leveljson["cache_main_difficulty"]); + PARSE_INT(level->m_likes, leveljson["cache_likes"]); + PARSE_INT(level->m_levelLength, leveljson["cache_length"]); + PARSE_INT(level->m_userID, data["cache_user_id"]); + PARSE_INT(level->m_rateStars, leveljson["cache_stars"]); + PARSE_INT(level->m_levelID, leveljson["online_id"]); + PARSE_INT(level->m_demonVotes, leveljson["id"]); + if (!leveljson["cache_featured"].is_null() && leveljson["cache_featured"].get() > 0) { + level->m_featured = 1; + PARSE_INT(level->m_rateFeature, leveljson["cache_featured"]); + } + PARSE_INT(level->m_isEpic, leveljson["cache_epic"]); + + level->retain(); + + this->_serverResponseParsed.push_back(level); + } + + onComplete(this, this->_serverResponseParsed.at(0)); + }) + .expect([this, onComplete](std::string const& error) { + onComplete(this, nullptr); + }); + } + + _params.clear(); + + return; +} + +GDHistoryProvider::GDHistoryProvider() { + _baseUrl = "https://history.geometrydash.eu"; +} + +std::unordered_map GDHistoryProvider::getFeatures() { + std::unordered_map features; + + features[LPFeatures::QueryID] = true; + features[LPFeatures::QueryLevelName] = true; + features[LPFeatures::LimitLevelArray] = true; + features[LPFeatures::SetLevelArrayPage] = true; + features[LPFeatures::ReturnMultipleLevels] = true; + + return features; +} + +std::vector GDHistoryProvider::askMultipleLevels() { + return _serverResponseParsed; +} +void GDHistoryProvider::cleanupLevels(bool withRelease) { + if (!withRelease) { + _serverResponseParsed.clear(); + + return; + } + + for (auto level : _serverResponseParsed) { + if (level != nullptr) { + level->release(); + } + } + + _serverResponseParsed.clear(); +} + +#include +#include + +void GDHistoryProvider::getLevelData(int id, std::function onComplete) { + int recid = 0; + + log::info("(GDHistoryProvider) preparing to download {}", id); + + if (_params.count(LPFeatures::SpecificRecord)) { + recid = std::get(_params[LPFeatures::SpecificRecord]); + } + + if (recid == 0) { + log::info("(GDHistoryProvider) record for {} not found, getting it", id); + + setParameter(LPFeatures::QueryID, id); + + std::vector old_vec = this->_serverResponseParsed; + cleanupLevels(false); + + downloadLevel([this, id, onComplete, old_vec](LevelProvider *, GJGameLevel *level) { + struct LevelProvider::BasicLevelInformation info; + + this->_params.clear(); + + if (!level) { + this->cleanupLevels(true); + this->_serverResponseParsed = old_vec; + + onComplete(this, "-4", info); + + return; + } + + GJGameLevel *propLevel = nullptr; + auto levels = this->askMultipleLevels(); + + for (auto lvl : levels) { + if (lvl->m_isEditable) { + propLevel = lvl; + + break; + } + } + + if (!propLevel) { + this->cleanupLevels(true); + this->_serverResponseParsed = old_vec; + + onComplete(this, "-5", info); + + return; + } + + if (propLevel->m_demonVotes <= 0) { + log::info("votes: {}", propLevel->m_demonVotes); + + this->cleanupLevels(true); + this->_serverResponseParsed = old_vec; + + onComplete(this, "-3", info); + + return; + } + + this->setParameter(LPFeatures::SpecificRecord, propLevel->m_demonVotes); + + this->cleanupLevels(true); + this->_serverResponseParsed = old_vec; + + this->getLevelData(id, onComplete); + }); + + return; + } + + log::info("(GDHistoryProvider) downloading level {}", id); + + web::AsyncWebRequest() + .fetch(fmt::format("{}/level/{}/{}/download", _baseUrl, id, recid)) + .text() + .then([this, onComplete](std::string const& catgirl) { + struct LevelProvider::BasicLevelInformation info; + + if (catgirl.find("This record does not contain any level data.") != std::string::npos) { + onComplete(this, "-5", info); + + return; + } + + std::ofstream gmdfile; + + gmdfile.open ("temp.gmd"); + gmdfile << catgirl; + gmdfile.close(); + + auto file = gmd::ImportGmdFile::from("temp.gmd"); + + // geode::Result intoLevel() const; + + // std::filesystem::remove("temp.gmd"); + + file.inferType(); + + auto result = file.intoLevel(); + + if (result.isErr() || !result.isOk()) { + log::info("error: {}", result.unwrapErr()); + + onComplete(this, "-2", info); + + return; + } + + auto level = result.unwrap(); + level->retain(); + + auto str = level->m_levelString; + int mid = level->m_audioTrack; + int sid = level->m_songID; + + info.musicID = mid; + info.songID = sid; + info._22songs = level->m_songIDs; + info._22sfxs = level->m_sfxIDs; + + level->release(); + + onComplete(this, str, info); + }) + .expect([this, onComplete](std::string const& error) { + struct LevelProvider::BasicLevelInformation info; + + onComplete(this, "-1", info); + }); + + _params.clear(); +} + +std::string GDHistoryProvider::getErrorCodeDescription(std::string err) { + std::string res = "unknown error"; + + std::unordered_map errors = { + {"-1", "http error."}, + {"-2", "gmd api error. (dumped into console)"}, + {"-3", "invalid record id."}, + {"-4", "level not found."}, + {"-5", "level data cannot be downloaded for this level. Note that this issue will be fixed if level would have downloadable link for it in the future."} + }; + + if (errors.count(err)) { + res = errors[err]; + } + + return res; +} \ No newline at end of file diff --git a/src/GDHistoryProvider.hpp b/src/GDHistoryProvider.hpp new file mode 100644 index 0000000..37b2516 --- /dev/null +++ b/src/GDHistoryProvider.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include "LevelProvider.hpp" +#include + +class GDHistoryProvider : public LevelProvider { +protected: + std::vector _serverResponseParsed; + + // GJGameLevel *parseFromJson(nlohmann::json j); +public: + GDHistoryProvider(); + + std::string getName() override; + void downloadLevel(std::function onComplete) override; + + std::unordered_map getFeatures() override; + + std::vector askMultipleLevels() override; + void cleanupLevels(bool withRelease) override; + + void getLevelData(int id, std::function onComplete) override; + + virtual std::string getErrorCodeDescription(std::string err) override; +}; \ No newline at end of file diff --git a/src/LevelProvider.cpp b/src/LevelProvider.cpp new file mode 100644 index 0000000..6de2a5f --- /dev/null +++ b/src/LevelProvider.cpp @@ -0,0 +1,12 @@ +#include "LevelProvider.hpp" + +void LevelProvider::setParameter(LevelProvider::LPFeatures parameter, int value) { + _params[parameter] = value; +} +void LevelProvider::setParameter(LevelProvider::LPFeatures parameter, std::string value) { + _params[parameter] = value; +} + +std::vector LevelProvider::askMultipleLevels() { + return {}; +} \ No newline at end of file diff --git a/src/LevelProvider.hpp b/src/LevelProvider.hpp new file mode 100644 index 0000000..72acfe4 --- /dev/null +++ b/src/LevelProvider.hpp @@ -0,0 +1,45 @@ +#pragma once + +class GJGameLevel; + +#include +#include +#include +#include +#include + +class LevelProvider { +public: + enum LPFeatures { + QueryID, QueryLevelName, + LimitLevelArray, SetLevelArrayPage, + ReturnMultipleLevels, SpecificRecord + }; +protected: + std::string _baseUrl; + + std::unordered_map> _params; +public: + struct BasicLevelInformation { + int musicID = 0; + int songID = 0; + std::string _22songs = ""; + std::string _22sfxs = ""; + }; + + virtual std::string getName() = 0; + virtual void downloadLevel(std::function onComplete) = 0; + + virtual std::unordered_map getFeatures() = 0; + + virtual void setParameter(enum LPFeatures parameter, int value); + virtual void setParameter(enum LPFeatures parameter, std::string value); + + virtual std::vector askMultipleLevels(); + + virtual void cleanupLevels(bool withRelease) = 0; + + virtual void getLevelData(int id, std::function onComplete) = 0; + + virtual std::string getErrorCodeDescription(std::string err) = 0; +}; \ No newline at end of file diff --git a/src/LoadingCircleLayer.cpp b/src/LoadingCircleLayer.cpp new file mode 100644 index 0000000..1c2d876 --- /dev/null +++ b/src/LoadingCircleLayer.cpp @@ -0,0 +1,20 @@ +#include "LoadingCircleLayer.hpp" + +bool LoadingCircleLayer::init() { + m_pCircle = cocos2d::CCSprite::create("loadingCircle.png"); + this->addChild(m_pCircle); + + m_pCircle->setBlendFunc({GL_SRC_ALPHA, GL_ONE}); + + scheduleUpdate(); + + return true; +} + +void LoadingCircleLayer::update(float delta) { + if(m_pCircle) { + float rot = m_pCircle->getRotation(); + rot += 3; + m_pCircle->setRotation(rot); + } +} \ No newline at end of file diff --git a/src/LoadingCircleLayer.hpp b/src/LoadingCircleLayer.hpp new file mode 100644 index 0000000..86766a8 --- /dev/null +++ b/src/LoadingCircleLayer.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include +#include + +class LoadingCircleLayer : public cocos2d::CCLayer { +public: + cocos2d::CCSprite *m_pCircle; + + bool init(); + CREATE_FUNC(LoadingCircleLayer); + + void update(float delta); +}; \ No newline at end of file diff --git a/src/ProviderPopup.cpp b/src/ProviderPopup.cpp new file mode 100644 index 0000000..6f8fc67 --- /dev/null +++ b/src/ProviderPopup.cpp @@ -0,0 +1,1337 @@ +#include "ProviderPopup.hpp" + +#include +#include +#include "ProviderPopupWait.hpp" + +using namespace geode::prelude; + +#include "LevelProvider.hpp" + +void ProviderPopup::onToggler1PressMaybe(CCObject *sender) { + LevelProvider *provider = static_cast(((CCNode *)sender)->getUserData()); + + auto popup = ProviderPopup::get(); + + log::info("clicked provider: {}", provider->getName()); + + CCNode *providerBox = getChildByIDRecursive("provider-box"); + popup->setupProviderBox((CCLayer *)providerBox, provider); +} + +void ProviderPopup::onExitButton(CCObject *sender) { + auto popup = ProviderPopup::get(); + + popup->removeMeAndCleanup(); +} + +bool ProviderPopup::init(std::vector> providers) { + if (!FLAlertLayer::init(0)) return false; + + _providers = providers; + + CCLayer *objectSelector = CCLayer::create(); + CCLayer *scale9layer = CCLayer::create(); + + CCScale9Sprite *spr1 = CCScale9Sprite::create("GJ_square01.png"); + auto winsize = CCDirector::sharedDirector()->getWinSize(); + //spr1->setAnchorPoint({0, 1}); + spr1->setContentSize({380, 250}); + + scale9layer->addChild(spr1); + objectSelector->addChild(scale9layer, 0); + + scale9layer->setPosition({winsize.width / 2, winsize.height / 2}); + + auto bmf = CCLabelBMFont::create("Search From Other Sources", "bigFont.fnt"); + bmf->setScale(0.6f); + bmf->setPositionX(winsize.width / 2); + bmf->setPositionY(winsize.height / 2 + spr1->getContentSize().height / 2 - 30); + + objectSelector->addChild(bmf, 1); + + auto exitBtn = CCSprite::createWithSpriteFrameName("GJ_closeBtn_001.png"); + auto btn3 = CCMenuItemSpriteExtra::create( + exitBtn, this, menu_selector(ProviderPopup::onExitButton) + ); + + CCMenu *menu = CCMenu::create(); + + CCLayer *infoLayer = CCLayer::create(); + auto vlayout = ColumnLayout::create(); + + infoLayer->setLayout(vlayout); + + auto layout = RowLayout::create(); + layout->setGrowCrossAxis(true); + + menu->setLayout(layout); + + for (auto provider : providers) { + auto spr4 = ButtonSprite::create(provider->getName().c_str()); + spr4->setScale(0.6f); + + auto btn4 = CCMenuItemSpriteExtra::create( + spr4, this, menu_selector(ProviderPopup::onToggler1PressMaybe) + ); + btn4->setUserData(provider.get()); + + menu->addChild(btn4); + menu->updateLayout(); + } + + // menu->ignoreAnchorPointForPosition(true); + + CCLayer *providerBox = CCLayer::create(); + providerBox->setID("provider-box"); + + CCScale9Sprite *s9s = CCScale9Sprite::create("GJ_square02.png"); + s9s->setContentSize({300, 150}); + s9s->setAnchorPoint({0, 0}); + s9s->setID("s9s"); + + providerBox->setContentSize(s9s->getContentSize()); + providerBox->addChild(s9s); + + setupProviderBox(providerBox, nullptr); + + infoLayer->addChild(providerBox); + infoLayer->addChild(menu); + + infoLayer->updateLayout(); + infoLayer->setID("info-layer"); + infoLayer->setPositionX(winsize.width / 2); + infoLayer->setPositionY(winsize.height / 2 - 15); + + objectSelector->addChild(infoLayer, 2); + + auto base = CCSprite::create("square.png"); + base->setPosition({ 0, 0 }); + base->setScale(500.f); + base->setColor({0, 0, 0}); + base->setOpacity(0); + base->runAction(CCFadeTo::create(0.3f, 125)); + + this->addChild(base, -1); + + objectSelector->setID("object-selector"); + + // selectorlayers.push_back(static_cast(this)); + + scheduleUpdate(); + + menu->setID("providers"); + + auto pos = objectSelector->getPosition(); + // menu->setPositionY(menu->getPositionY() + (objectSelector->getContentSize().height / 1.5f) - 30.f); + + CCMenu *men2 = CCMenu::create(); + + men2->setPosition({ + winsize.width / 2 - spr1->getContentSize().width / 2, + winsize.height / 2 + spr1->getContentSize().height / 2 + }); + men2->addChild(btn3); + + objectSelector->addChild(men2, 2); + + m_mainLayer->addChild(objectSelector); + + show(); + + setID("provider-popup"); + + // _levelPage = new LevelPageInfo(); + + return true; +} + +void ProviderPopup::update(float delta) { + // m_pSelectedObject->m_targetColorID = atoi(m_pInputPGID->getString()); + // if(m_pSelectedObject->m_targetColorID > MAX_PLAYER_GROUP_SIZE + 1 || m_pSelectedObject->m_targetColorID < 0) { + // m_pSelectedObject->m_targetColorID = MAX_PLAYER_GROUP_SIZE; + // } + // m_pSelectedObject->m_tintTrigger = m_pFollowPlayer->isToggled(); + + // in->setID("level-array-input"); in->setID("level-page-input"); + + // auto laiNd = getChildByIDRecursive("level-array-input"); + // auto lpiNd = getChildByIDRecursive("level-page-input"); + + // if (laiNd) { + // auto lai = dynamic_cast(laiNd); + // _levelArraySize = lai->getString(); + // log::info("las: {}", _levelArraySize); + // } + // if (lpiNd) { + // auto lpi = dynamic_cast(lpiNd); + // _levelPageStr = lpi->getString(); + // log::info("lps: {}", _levelPageStr); + // } +} + +ProviderPopup* ProviderPopup::create(std::vector> providers) { + ProviderPopup* pRet = new ProviderPopup(); + if (pRet && pRet->init(providers)) { + pRet->autorelease(); + return pRet; + } else { + delete pRet; + pRet = 0; + return 0; + } +} + +void ProviderPopup::registerWithTouchDispatcher() { + CCTouchDispatcher *dispatcher = cocos2d::CCDirector::sharedDirector()->getTouchDispatcher(); + + dispatcher->addTargetedDelegate(this, -502, true); +} + +void ProviderPopup::setupProviderBox(CCLayer *providerBox, LevelProvider *provider) { + _selectedProvider = provider; + + auto s9s = (CCScale9Sprite *)providerBox->getChildByID("s9s"); + auto csz = s9s->getContentSize(); + + auto popup = ProviderPopup::get(); + if (!popup) popup = this; + + providerBox->removeAllChildrenWithCleanup(true); + popup->_levelPage._cells.clear(); + + s9s = CCScale9Sprite::create("GJ_square02.png"); + s9s->setContentSize(csz); + s9s->setAnchorPoint({0, 0}); + s9s->setID("s9s"); + + providerBox->addChild(s9s); + + if (!provider) { + CCLabelBMFont *l = CCLabelBMFont::create("Nothing is currently selected.", "chatFont.fnt"); + l->setPosition(csz.width / 2, csz.height / 2); + + providerBox->addChild(l); + + return; + } + + ProviderPopupInfo *info = new ProviderPopupInfo(); + info->provider = provider; + + providerBox->setUserData(info); + + auto features = provider->getFeatures(); + + if (features[LevelProvider::LPFeatures::QueryID] && features[LevelProvider::LPFeatures::QueryLevelName]) { + info->_pagesMax = 2; + } + + bool has_settings = features[LevelProvider::LPFeatures::LimitLevelArray] || features[LevelProvider::LPFeatures::SetLevelArrayPage]; + + if (has_settings) { + info->_pagesMax++; + } + + if (info->_pagesMax >= 2) { + CCMenu *menu = CCMenu::create(); + menu->setID("page-control"); + + auto prev_page_spr = CCSprite::createWithSpriteFrameName("GJ_arrow_01_001.png"); + prev_page_spr->setColor({64, 64, 64}); + prev_page_spr->setScale(0.8f); + prev_page_spr->setID("prev-page-spr"); + + auto prev_page = CCMenuItemSpriteExtra::create( + prev_page_spr, + providerBox, + menu_selector(ProviderPopup::onPrevPage) + ); + prev_page->setID("prev-page"); + prev_page->setPosition(prev_page->getContentSize().width - 7, csz.height / 2); + prev_page->setEnabled(false); + + auto next_page_spr = CCSprite::createWithSpriteFrameName("GJ_arrow_01_001.png"); + next_page_spr->setFlipX(true); + next_page_spr->setScale(0.8f); + next_page_spr->setID("next-page-spr"); + + auto next_page = CCMenuItemSpriteExtra::create( + next_page_spr, + providerBox, + menu_selector(ProviderPopup::onNextPage) + ); + next_page->setID("next-page"); + next_page->setPosition(csz.width - next_page->getContentSize().width + 7, csz.height / 2); + + menu->addChild(prev_page); + menu->addChild(next_page); + + providerBox->addChild(menu, 100); + + menu->setPosition({0, 0}); + + CCLabelBMFont *l = CCLabelBMFont::create("Page 0", "chatFont.fnt"); + l->setAnchorPoint({0, 0}); + l->setScale(0.5f); + l->setPosition(9, 9); + l->setID("page-string"); + l->setAlignment(CCTextAlignment::kCCTextAlignmentLeft); + + providerBox->addChild(l); + } + + CCLayer *page = CCLayer::create(); + + page->setID("page"); + page->setContentSize(csz); + page->setPosition({0, 0}); + + providerBox->addChild(page); + + setupProviderBoxOnPage(providerBox); + + providerBox->setScale(0.f); + providerBox->runAction(CCEaseElasticOut::create(CCScaleTo::create(0.5f, 1.0f), 0.6f)); +} + +void ProviderPopup::setupProviderBoxOnPage(CCLayer *providerBox) { + ProviderPopupInfo *info = (ProviderPopupInfo *)providerBox->getUserData(); + + if (!info) return; + if ((info->_page > (info->_pagesMax - 1))) return; + + if (info->_pagesMax > 1) { + auto prev_page = dynamic_cast(providerBox->getChildByIDRecursive("prev-page")); + auto next_page = dynamic_cast(providerBox->getChildByIDRecursive("next-page")); + + auto prev_page_spr = dynamic_cast(providerBox->getChildByIDRecursive("prev-page-spr")); + auto next_page_spr = dynamic_cast(providerBox->getChildByIDRecursive("next-page-spr")); + + if (info->_page == 0) { + prev_page->setEnabled(false); + prev_page_spr->setColor({64, 64, 64}); + + next_page_spr->setColor({255, 255, 255}); + next_page->setEnabled(true); + } + if (info->_page >= 1) { + prev_page->setEnabled(true); + next_page->setEnabled(true); + + next_page_spr->setColor({255, 255, 255}); + prev_page_spr->setColor({255, 255, 255}); + } + if (info->_page == (info->_pagesMax - 1)) { + next_page_spr->setColor({64, 64, 64}); + next_page->setEnabled(false); + + prev_page->setEnabled(true); + prev_page_spr->setColor({255, 255, 255}); + } + + CCLabelBMFont *l = dynamic_cast(providerBox->getChildByID("page-string")); + if (l) { + l->setString(fmt::format("Page {}", info->_page + 1).c_str()); + } + } + + CCLayer *page = dynamic_cast(providerBox->getChildByID("page")); + + if (!page) return; + + auto popup = ProviderPopup::get(); + + page->removeAllChildrenWithCleanup(true); + popup->_levelPage._cells.clear(); + + switch(info->_page) { + case 0: { + auto feats = info->provider->getFeatures(); + + if (feats[LevelProvider::LPFeatures::QueryID]) { + popup->setupLevelIDPage(providerBox); + + return; + } + if (feats[LevelProvider::LPFeatures::QueryLevelName]) { + popup->setupGenericSearchPage(providerBox); + + return; + } + if (feats[LevelProvider::LPFeatures::LimitLevelArray] || feats[LevelProvider::LPFeatures::SetLevelArrayPage]) { + popup->setupSettingsPage(providerBox); + + return; + } + + break; + } + case 1: { + auto feats = info->provider->getFeatures(); + + if (feats[LevelProvider::LPFeatures::QueryLevelName]) { + popup->setupGenericSearchPage(providerBox); + + return; + } + + if (feats[LevelProvider::LPFeatures::LimitLevelArray] || feats[LevelProvider::LPFeatures::SetLevelArrayPage]) { + popup->setupSettingsPage(providerBox); + + return; + } + + break; + } + case 2: { + auto feats = info->provider->getFeatures(); + + if (feats[LevelProvider::LPFeatures::LimitLevelArray] || feats[LevelProvider::LPFeatures::SetLevelArrayPage]) { + popup->setupSettingsPage(providerBox); + + return; + } + + break; + } + } +} + +void ProviderPopup::onPrevPage(CCObject *sender) { + CCNode *orig = static_cast(sender); + CCLayer *box = dynamic_cast(orig->getParent()->getParent()); + auto popup = ProviderPopup::get(); + + if (!box) return; + + ProviderPopupInfo *info = static_cast(box->getUserData()); + + if (!info) return; + + info->_page--; + if (info->_page < 0) info->_page = 0; + + // for (auto _cell : _levelPage._cells) { + // _cell->removeMeAndCleanup(); + // } + popup-> _levelPage._cells.clear(); + info->provider->cleanupLevels(false); + + setupProviderBoxOnPage(box); +} +void ProviderPopup::onNextPage(CCObject *sender) { + CCNode *orig = static_cast(sender); + CCLayer *box = dynamic_cast(orig->getParent()->getParent()); + auto popup = ProviderPopup::get(); + + if (!box) return; + + ProviderPopupInfo *info = static_cast(box->getUserData()); + if (!info) return; + + info->_page++; + if (info->_page >= (info->_pagesMax - 1)) info->_page = info->_pagesMax - 1; + + // for (auto _cell : _levelPage._cells) { + // _cell->removeMeAndCleanup(); + // } + popup->_levelPage._cells.clear(); + info->provider->cleanupLevels(false); + + setupProviderBoxOnPage(box); +} + +class SearchInstance { +public: + TextInput *_input; + CCLayer *_page; + ProviderPopupInfo *_info;; +}; + +#include "LoadingCircleLayer.hpp" + +void ProviderPopup::setupLevelIDPage(CCLayer *providerBox) { + CCLayer *page = dynamic_cast(providerBox->getChildByID("page")); + ProviderPopupInfo *info = (ProviderPopupInfo *)providerBox->getUserData(); + + TextInput *in = TextInput::create(100, "Enter level ID...", "chatFont.fnt"); + in->setPosition(0, 0); + in->setAnchorPoint({0.5f, 0.5f}); + + int sz = 0; + auto prev_page = static_cast(providerBox->getChildByIDRecursive("prev-page")); + auto next_page = static_cast(providerBox->getChildByIDRecursive("next-page")); + + if (prev_page) { + sz += prev_page->getContentSize().width + 10; + } + if (next_page) { + sz += next_page->getContentSize().width + 10; + } + + CCLayer *levelInputLayer = CCLayer::create(); + auto layout = RowLayout::create(); + + layout->setGrowCrossAxis(true); + + levelInputLayer->setID("level-input-layer"); + levelInputLayer->setLayout(layout); + levelInputLayer->setContentSize(page->getContentSize()); + + SearchInstance *si = new SearchInstance(); + si->_input = in; + si->_page = page; + si->_info = info; + + auto spr4 = ButtonSprite::create("Search"); + spr4->setScale(0.7f); + + auto btn4 = CCMenuItemSpriteExtra::create( + spr4, this, menu_selector(ProviderPopup::onLevelIDSearch) + ); + btn4->setAnchorPoint({0, 0}); + btn4->setUserData(si); + + CCMenu *buttonMenu = CCMenu::create(); + buttonMenu->setContentSize(btn4->getContentSize()); + + buttonMenu->addChild(btn4); + + levelInputLayer->addChild(buttonMenu); + levelInputLayer->addChild(in); + + levelInputLayer->updateLayout(); + levelInputLayer->setPosition(page->getContentSize().width / 2, page->getContentSize().height - levelInputLayer->getContentSize().height + 5); + + page->addChild(levelInputLayer); + + TextInput *in2 = TextInput::create(page->getContentSize().width - sz, "", "chatFont.fnt"); + in2->setEnabled(false); + in2->setPosition(page->getContentSize().width / 2, page->getContentSize().height / 2); + in2->setAnchorPoint({0.5f, 0.5f}); + in2->setScaleY(2.f); + + page->addChild(in2); + + LoadingCircleLayer *circle = LoadingCircleLayer::create(); + auto csz = page->getContentSize(); + + circle->setContentSize(csz); + circle->setPosition(csz.width / 2, csz.height / 2); + circle->setID("circle"); + circle->m_pCircle->setScale(0.7f); + circle->m_pCircle->setOpacity(0); + + page->addChild(circle); + + auto popup = ProviderPopup::get(); + popup->_levelPage._cells.clear(); +} + +void ProviderPopup::onLevelIDSearch(CCObject *sender) { + auto popup = ProviderPopup::get(); + + if (popup->_locked) return; + + SearchInstance *si = (SearchInstance *)(((CCNode *)sender)->getUserData()); + + CCNode *existingCirclePtr = si->_page->getChildByID("circle"); + if (existingCirclePtr == nullptr) { + return; + } + + LoadingCircleLayer *existingCircle = dynamic_cast(existingCirclePtr); + + if (existingCircle->m_pCircle->getOpacity() > 0) { + return; + } + + if (si->_input->getString().empty()) { + FLAlertLayer::create("Error", "Level ID input should not be empty!", "OK")->show(); + return; + + } + + bool d = si->_input->getString().find_first_not_of("0123456789") == std::string::npos; + + if (!d) { + FLAlertLayer::create("Error", "Level ID input should contain numbers only!", "OK")->show(); + return; + } + + int levels_limit = 00; + + std::string levelArraySize = ProviderPopup::get()->_levelArraySize; + + d = levelArraySize .find_first_not_of("0123456789") == std::string::npos; + + log::info("levelArraySize ={}",levelArraySize ); + + if (!d && !levelArraySize .empty()) { + FLAlertLayer::create("Error", "Level array size should contain numbers only!", "OK")->show(); + return; + } + + if (!levelArraySize.empty()) { + levels_limit = std::stoi(levelArraySize ); + } + + int id = std::stoi(si->_input->getString()); + + si->_info->provider->setParameter(LevelProvider::QueryID, id); + si->_info->provider->setParameter(LevelProvider::LimitLevelArray, levels_limit); + + for (auto _cell : popup->_levelPage._cells) { + _cell->removeMeAndCleanup(); + } + popup->_levelPage._cells.clear(); + si->_info->provider->cleanupLevels(false); + + existingCircle->m_pCircle->setOpacity(0); + existingCircle->m_pCircle->runAction(cocos2d::CCFadeTo::create(0.35f, 255)); + existingCircle->m_pCircle->setScale(0.7f); + existingCircle->m_pCircle->setRotation(0); + + CCNode *levelControls = si->_page->getChildByID("level-page-control"); + if (levelControls != nullptr) { + levelControls->removeMeAndCleanup(); + } + + // delete this->_levelPage; + // this->_levelPage = new LevelPageInfo(); + + popup->_levelPage._cells.clear(); + popup->_levelPage._cId = id; + + si->_info->provider->downloadLevel([this, si, existingCircle, popup](LevelProvider *prov, GJGameLevel *level) { + popup->lambdaOnDownloadLevel(si, existingCircle, popup, prov, level); + }); +} + +LevelCell *ProviderPopup::createLevelCell(GJGameLevel *level, CCLayer *page) { + auto csz = page->getContentSize(); + log::info("1"); + + LevelCell *cell = LevelCell::create(0.f, 0.f); + log::info("2"); + cell->loadFromLevel(level); + log::info("3"); + cell->setPosition(0, csz.height / 2); + log::info("4"); + + CCLayer *base = dynamic_cast(cell->getChildByID("main-layer")); + base->setAnchorPoint({0, 0}); + base->setPositionX(csz.width / 3); + base->setScale(0.65f); + + std::vector to_lower; + + to_lower.push_back(dynamic_cast(cell->getChildByIDRecursive("length-label"))); + to_lower.push_back(dynamic_cast(cell->getChildByIDRecursive("downloads-label"))); + to_lower.push_back(dynamic_cast(cell->getChildByIDRecursive("likes-label"))); + to_lower.push_back(dynamic_cast(cell->getChildByIDRecursive("length-icon"))); + to_lower.push_back(dynamic_cast(cell->getChildByIDRecursive("downloads-icon"))); + to_lower.push_back(dynamic_cast(cell->getChildByIDRecursive("likes-icon"))); + + for (auto node : to_lower) { + node->setPositionY(node->getPositionY() - 4); + } + + CCLabelBMFont *song_name = dynamic_cast(base->getChildByID("song-name")); + CCMenuItemSpriteExtra *creator_name = dynamic_cast(base->getChildByIDRecursive("creator-name")); + song_name->setPositionY(song_name->getPositionY() - 15); + creator_name->setPositionY(creator_name->getPositionY() - 15); + + page->addChild(cell); + + CCLabelBMFont *dateLabel = CCLabelBMFont::create(level->m_uploadDate.c_str(), "chatFont.fnt"); + dateLabel->setScale(0.5f); + dateLabel->setPosition(csz.width / 2, -37); + + cell->addChild(dateLabel); + + return cell; +} + +void ProviderPopup::onLevelPage(CCObject *sender) { + auto button = dynamic_cast(sender); + + if (!button) return; + + CCScene *currentScene = CCScene::get(); + auto popup_ = currentScene->getChildByID("provider-popup"); + auto popup = dynamic_cast(popup_); + + popup->_levelPage._currentLevelsIndex += button->getTag(); + + log::info("tag={}", button->getTag()); + + if (popup->_levelPage._currentLevelsIndex > (popup->_levelPage._currentLevels.size() - 1)) { + popup->_levelPage._currentLevelsIndex = popup->_levelPage._currentLevels.size() - 1; + } + if (popup->_levelPage._currentLevelsIndex < 0) { + popup->_levelPage._currentLevelsIndex = 0; + } + + // CCNode *menu = _levelPage->page->getChildByID("level-page-control"); + // if (!menu) { + // FLAlertLayer::create("Error", "1!", "OK")->show(); + // return; + // } + + auto prev_page = dynamic_cast(getChildByIDRecursive("level-prev-page")); + auto next_page = dynamic_cast(getChildByIDRecursive("level-next-page")); + + auto prev_page_spr = dynamic_cast(getChildByIDRecursive("level-prev-page-spr")); + auto next_page_spr = dynamic_cast(getChildByIDRecursive("level-next-page-spr")); + + if (popup->_levelPage._currentLevelsIndex == 0) { + prev_page->setEnabled(false); + prev_page_spr->setColor({64, 64, 64}); + + next_page_spr->setColor({255, 255, 255}); + next_page->setEnabled(true); + } + if (popup->_levelPage._currentLevelsIndex >= 1) { + prev_page->setEnabled(true); + next_page->setEnabled(true); + + next_page_spr->setColor({255, 255, 255}); + prev_page_spr->setColor({255, 255, 255}); + } + if (popup->_levelPage._currentLevelsIndex == (popup->_levelPage._currentLevels.size() - 1)) { + next_page_spr->setColor({64, 64, 64}); + next_page->setEnabled(false); + + prev_page->setEnabled(true); + prev_page_spr->setColor({255, 255, 255}); + } + + auto level = popup->_levelPage._currentLevels.at(popup->_levelPage._currentLevelsIndex); + + for (auto cell : popup->_levelPage._cells) { + cell->setVisible(false); + } + + // int id = level->m_levelID.value(); + // if (id == 0) { + // id = popup->_levelPage._cId; + // } + + // std::string cellname = fmt::format("LevelCell_{}_{}", id, popup->_levelPage._currentLevelsIndex); + // CCNode *_cell = popup->_levelPage.page->getChildByID(cellname); + + popup->_levelPage._cells[popup->_levelPage._currentLevelsIndex]->setVisible(true); +} + +void ProviderPopup::lambdaOnDownloadLevel(SearchInstance *si, LoadingCircleLayer *existingCircle, ProviderPopup *popup, LevelProvider *prov, GJGameLevel *level) { + if (!popup->isPageHasFeature(si->_info, LevelProvider::QueryID)) { + delete si; + + return; + } + + CCScene *currentScene = CCScene::get(); + auto popup_ = currentScene->getChildByID("provider-popup"); + + if (!popup_) { + delete si; + + return; + } + + CCNode *existingCirclePtr = si->_page->getChildByID("circle"); + if (existingCirclePtr == nullptr) { + delete si; + + return; + } + + existingCircle->m_pCircle->setOpacity(0); + + if (level == nullptr) { + FLAlertLayer::create("Error", "No such level!", "OK")->show(); + return; + } + + auto more = prov->askMultipleLevels(); + + popup->_levelPage._cells.clear(); + + if (more.size() == 1) { + popup->_levelPage._cells.push_back(this->createLevelCell(level, si->_page)); + popup-> _levelPage._cells[0]->setVisible(true); + + return; + } + + int i = 0; + for (auto lvl : more) { + auto cell = popup->createLevelCell(lvl, si->_page); + cell->setID(fmt::format("LevelCell_{}_{}", lvl->m_levelID.value(), i)); + cell->setVisible(false); + + popup->_levelPage._cells.push_back(cell); + + i++; + } + + popup->_levelPage._cells[0]->setVisible(true); + + popup->_levelPage._currentLevels = more; + popup->_levelPage._currentLevelsIndex = 0; + popup->_levelPage.page = si->_page; + + auto csz = si->_page->getContentSize(); + + CCMenu *menu = CCMenu::create(); + menu->setID("level-page-control"); + + int delta = 40; + + auto prev_page_spr = CCSprite::createWithSpriteFrameName("GJ_arrow_01_001.png"); + prev_page_spr->setColor({64, 64, 64}); + prev_page_spr->setScale(0.5f); + prev_page_spr->setID("level-prev-page-spr"); + + auto prev_page = CCMenuItemSpriteExtra::create( + prev_page_spr, + this, + menu_selector(ProviderPopup::onLevelPage) + ); + prev_page->setID("level-prev-page"); + prev_page->setPosition(delta, 0); + prev_page->setEnabled(false); + prev_page->setTag(-1); + + auto next_page_spr = CCSprite::createWithSpriteFrameName("GJ_arrow_01_001.png"); + next_page_spr->setFlipX(true); + next_page_spr->setScale(0.5f); + next_page_spr->setID("level-next-page-spr"); + + auto next_page = CCMenuItemSpriteExtra::create( + next_page_spr, + this, + menu_selector(ProviderPopup::onLevelPage) + ); + next_page->setID("level-next-page"); + next_page->setPosition(csz.width - delta, 0); + next_page->setTag(1); + + menu->addChild(prev_page); + menu->addChild(next_page); + menu->setPosition(0, next_page->getContentSize().height / 2 + 10); + + si->_page->addChild(menu); + + applyBottomButtons(si->_page); +} + +void ProviderPopup::setupSettingsPage(CCLayer *providerBox) { + CCLayer *page = dynamic_cast(providerBox->getChildByID("page")); + ProviderPopupInfo *info = (ProviderPopupInfo *)providerBox->getUserData(); + + auto *layout = RowLayout::create(); + CCLayer *settings = CCLayer::create(); + auto csz = page->getContentSize(); + + settings->setLayout(layout); + settings->setContentSize(csz); + settings->setPosition(0, 0); + + page->addChild(settings); + + auto feats = info->provider->getFeatures(); + + CCSprite *checkOn = CCSprite::createWithSpriteFrameName("GJ_checkOn_001.png"); + CCSprite *checkOff = CCSprite::createWithSpriteFrameName("GJ_checkOff_001.png"); + + // feats[LevelProvider::LPFeatures::LimitLevelArray] || feats[LevelProvider::LPFeatures::SetLevelArrayPage] + if (feats[LevelProvider::LPFeatures::LimitLevelArray]) { + // m_pFollowPlayer = CCMenuItemToggler::create(checkOff, checkOn, this, menu_selector(ProviderPopup::onToggler1PressMaybe)); + // CCLabelBMFont *men1_info = CCLabelBMFont::create("Follow Player", "bigFont.fnt"); + // men1_info->setAnchorPoint({0.5f, 0.5f}); + // men1_info->setScale(0.5f); + // men1_info->setPositionX(100.f); + // std::string _final = "Set level array size..."; + // if (!this->_levelArraySize.empty()) { + // _final = this->_levelArraySize; + // } + + TextInput *in = TextInput::create(100, "Set level array size...", "chatFont.fnt"); + in->setID("level-array-input"); + + if (!ProviderPopup::get()->_levelArraySize.empty()) { + in->setString(ProviderPopup::get()->_levelArraySize, false); + } + + in->setCallback([this](const std::string &value) { + ProviderPopup::get()->_levelArraySize = value; + }); + + settings->addChild(in); + settings->updateLayout(); + } + + if (feats[LevelProvider::LPFeatures::SetLevelArrayPage]) { + TextInput *in = TextInput::create(100, "Set level page...", "chatFont.fnt"); + in->setID("level-page-input"); + + if (!ProviderPopup::get()->_levelPageStr.empty()) { + in->setString(ProviderPopup::get()->_levelPageStr, false); + } + in->setCallback([this](const std::string &value) { + ProviderPopup::get()->_levelPageStr = value; + }); + + settings->addChild(in); + settings->updateLayout(); + } + + settings->setPosition(csz.width / 2, (csz.height - settings->getContentSize().height) / 2 + 15); +} + +ProviderPopup *ProviderPopup::get() { + CCScene *currentScene = CCScene::get(); + auto popup_ = currentScene->getChildByID("provider-popup"); + if (!popup_) return nullptr; + auto popup = dynamic_cast(popup_); + return popup; +} + +void ProviderPopup::setupGenericSearchPage(CCLayer *providerBox) { + CCLayer *page = dynamic_cast(providerBox->getChildByID("page")); + ProviderPopupInfo *info = (ProviderPopupInfo *)providerBox->getUserData(); + + TextInput *in = TextInput::create(150, "Enter level ID/level name/etc...", "chatFont.fnt"); + in->setPosition(0, 0); + in->setAnchorPoint({0.5f, 0.5f}); + + int sz = 0; + auto prev_page = static_cast(providerBox->getChildByIDRecursive("prev-page")); + auto next_page = static_cast(providerBox->getChildByIDRecursive("next-page")); + + if (prev_page) { + sz += prev_page->getContentSize().width + 10; + } + if (next_page) { + sz += next_page->getContentSize().width + 10; + } + + CCLayer *levelInputLayer = CCLayer::create(); + auto layout = RowLayout::create(); + + layout->setGrowCrossAxis(true); + + levelInputLayer->setID("level-input-layer"); + levelInputLayer->setLayout(layout); + levelInputLayer->setContentSize(page->getContentSize()); + + SearchInstance *si = new SearchInstance(); + si->_input = in; + si->_page = page; + si->_info = info; + + auto spr4 = ButtonSprite::create("Search"); + spr4->setScale(0.7f); + + auto btn4 = CCMenuItemSpriteExtra::create( + spr4, this, menu_selector(ProviderPopup::onGenericSearch) + ); + btn4->setAnchorPoint({0, 0}); + btn4->setUserData(si); + + CCMenu *buttonMenu = CCMenu::create(); + buttonMenu->setContentSize(btn4->getContentSize()); + + buttonMenu->addChild(btn4); + + levelInputLayer->addChild(buttonMenu); + levelInputLayer->addChild(in); + + levelInputLayer->updateLayout(); + levelInputLayer->setPosition(page->getContentSize().width / 2, page->getContentSize().height - levelInputLayer->getContentSize().height + 5); + + page->addChild(levelInputLayer); + + TextInput *in2 = TextInput::create(page->getContentSize().width - sz, "", "chatFont.fnt"); + in2->setEnabled(false); + in2->setPosition(page->getContentSize().width / 2, page->getContentSize().height / 2); + in2->setAnchorPoint({0.5f, 0.5f}); + in2->setScaleY(2.f); + + page->addChild(in2); + + LoadingCircleLayer *circle = LoadingCircleLayer::create(); + auto csz = page->getContentSize(); + + circle->setContentSize(csz); + circle->setPosition(csz.width / 2, csz.height / 2); + circle->setID("circle"); + circle->m_pCircle->setScale(0.7f); + circle->m_pCircle->setOpacity(0); + + page->addChild(circle); + + auto popup = ProviderPopup::get(); + popup->_levelPage._cells.clear(); +} + +bool ProviderPopup::isPageHasFeature(ProviderPopupInfo *info, int feature) { + auto feats = info->provider->getFeatures(); + + bool settings = feats[LevelProvider::LPFeatures::LimitLevelArray] || feats[LevelProvider::LPFeatures::SetLevelArrayPage]; + + switch(info->_page) { + case 0: { + if (feats[LevelProvider::LPFeatures::QueryID] && feature == LevelProvider::LPFeatures::QueryID) { + return true; + } + if (feats[LevelProvider::LPFeatures::QueryLevelName] && feature == LevelProvider::LPFeatures::QueryLevelName) { + return true; + } + if (settings && + ((feature == LevelProvider::LPFeatures::LimitLevelArray) || + (feature == LevelProvider::LPFeatures::SetLevelArrayPage) + ) + ) { + return true; + } + + break; + } + case 1: { + if (feats[LevelProvider::LPFeatures::QueryLevelName] && feature == LevelProvider::LPFeatures::QueryLevelName) { + return true; + } + + if (settings && + ((feature == LevelProvider::LPFeatures::LimitLevelArray) || + (feature == LevelProvider::LPFeatures::SetLevelArrayPage) + ) + ) { + return true; + } + + break; + } + case 2: { + if (settings && + ((feature == LevelProvider::LPFeatures::LimitLevelArray) || + (feature == LevelProvider::LPFeatures::SetLevelArrayPage) + ) + ) { + return true; + } + + break; + } + } + + return false; +} + +void ProviderPopup::lambdaOnDownloadLevelList(SearchInstance *si, LoadingCircleLayer *existingCircle, ProviderPopup *popup, LevelProvider *prov, GJGameLevel *level) { + if (!popup->isPageHasFeature(si->_info, LevelProvider::QueryLevelName)) { + delete si; + + return; + } + + CCScene *currentScene = CCScene::get(); + auto popup_ = currentScene->getChildByID("provider-popup"); + + if (!popup_) { + delete si; + + return; + } + + CCNode *existingCirclePtr = si->_page->getChildByID("circle"); + if (existingCirclePtr == nullptr) { + delete si; + + return; + } + + existingCircle->m_pCircle->setOpacity(0); + + if (level == nullptr) { + FLAlertLayer::create("Error", "No levels were found!", "OK")->show(); + return; + } + + auto more = prov->askMultipleLevels(); + + popup->_levelPage._cells.clear(); + + if (more.size() == 1) { + popup->_levelPage._cells.push_back(this->createLevelCell(level, si->_page)); + popup-> _levelPage._cells[0]->setVisible(true); + + return; + } + + int i = 0; + for (auto lvl : more) { + auto cell = popup->createLevelCell(lvl, si->_page); + cell->setID(fmt::format("LevelCell_{}_{}", lvl->m_levelID.value(), i)); + cell->setVisible(false); + + popup->_levelPage._cells.push_back(cell); + + i++; + } + + popup->_levelPage._cells[0]->setVisible(true); + + popup->_levelPage._currentLevels = more; + popup->_levelPage._currentLevelsIndex = 0; + popup->_levelPage.page = si->_page; + + auto csz = si->_page->getContentSize(); + + CCMenu *menu = CCMenu::create(); + menu->setID("level-page-control"); + + int delta = 40; + + auto prev_page_spr = CCSprite::createWithSpriteFrameName("GJ_arrow_01_001.png"); + prev_page_spr->setColor({64, 64, 64}); + prev_page_spr->setScale(0.5f); + prev_page_spr->setID("level-prev-page-spr"); + + auto prev_page = CCMenuItemSpriteExtra::create( + prev_page_spr, + this, + menu_selector(ProviderPopup::onLevelPage) + ); + prev_page->setID("level-prev-page"); + prev_page->setPosition(delta, 0); + prev_page->setEnabled(false); + prev_page->setTag(-1); + + auto next_page_spr = CCSprite::createWithSpriteFrameName("GJ_arrow_01_001.png"); + next_page_spr->setFlipX(true); + next_page_spr->setScale(0.5f); + next_page_spr->setID("level-next-page-spr"); + + auto next_page = CCMenuItemSpriteExtra::create( + next_page_spr, + this, + menu_selector(ProviderPopup::onLevelPage) + ); + next_page->setID("level-next-page"); + next_page->setPosition(csz.width - delta, 0); + next_page->setTag(1); + + menu->addChild(prev_page); + menu->addChild(next_page); + menu->setPosition(0, next_page->getContentSize().height / 2 + 10); + + si->_page->addChild(menu); + + applyBottomButtons(si->_page); +} + +void ProviderPopup::onGenericSearch(CCObject *sender) { + auto popup = ProviderPopup::get(); + + if (popup->_locked) return; + + SearchInstance *si = (SearchInstance *)(((CCNode *)sender)->getUserData()); + + CCNode *existingCirclePtr = si->_page->getChildByID("circle"); + if (existingCirclePtr == nullptr) { + return; + } + + LoadingCircleLayer *existingCircle = dynamic_cast(existingCirclePtr); + + if (existingCircle->m_pCircle->getOpacity() > 0) { + return; + } + + if (si->_input->getString().empty()) { + FLAlertLayer::create("Error", "Query should not be empty!", "OK")->show(); + return; + + } + + int levels_limit = 00; + int lp = 0; + + std::string levelArraySize = ProviderPopup::get()->_levelArraySize; + std::string levelPageStr = ProviderPopup::get()->_levelPageStr; + + bool d = levelArraySize .find_first_not_of("0123456789") == std::string::npos; + + log::info("levelArraySize ={}",levelArraySize ); + + if (!d && !levelArraySize .empty()) { + FLAlertLayer::create("Error", "Level array size should contain numbers only!", "OK")->show(); + return; + } + + d = levelPageStr .find_first_not_of("0123456789") == std::string::npos; + + if (!d && !levelPageStr .empty()) { + FLAlertLayer::create("Error", "Page number should contain numbers only!", "OK")->show(); + return; + } + + if (!levelArraySize.empty()) { + levels_limit = std::stoi(levelArraySize ); + } + if (!levelPageStr.empty()) { + lp = std::stoi(levelPageStr); + } + + si->_info->provider->setParameter(LevelProvider::QueryLevelName, si->_input->getString()); + si->_info->provider->setParameter(LevelProvider::LimitLevelArray, levels_limit); + si->_info->provider->setParameter(LevelProvider::SetLevelArrayPage, lp); + + for (auto _cell : popup->_levelPage._cells) { + _cell->removeMeAndCleanup(); + } + popup->_levelPage._cells.clear(); + si->_info->provider->cleanupLevels(false); + + existingCircle->m_pCircle->setOpacity(0); + existingCircle->m_pCircle->runAction(cocos2d::CCFadeTo::create(0.35f, 255)); + existingCircle->m_pCircle->setScale(0.7f); + existingCircle->m_pCircle->setRotation(0); + + CCNode *levelControls = si->_page->getChildByID("level-page-control"); + if (levelControls != nullptr) { + levelControls->removeMeAndCleanup(); + } + + // delete this->_levelPage; + // this->_levelPage = new LevelPageInfo(); + + popup->_levelPage._cells.clear(); + popup->_levelPage._cId = 0; + + si->_info->provider->downloadLevel([this, si, existingCircle, popup](LevelProvider *prov, GJGameLevel *level) { + popup->lambdaOnDownloadLevelList(si, existingCircle, popup, prov, level); + }); +} + +void ProviderPopup::onCopyID(CCObject *sender) { + auto popup = ProviderPopup::get(); + + auto level = popup->_levelPage._currentLevels[popup->_levelPage._currentLevelsIndex]; + + if (level->m_levelID.value() <= 0) { + auto notification = Notification::create("Level has an invalid ID.", NotificationIcon::Error, 0.5f); + notification->show(); + + return; + } + + clipboard::write(fmt::format("{}", level->m_levelID.value())); + + auto notification = Notification::create("Level ID has been copied.", NotificationIcon::Success, 0.5f); + notification->show(); +} + +#include + +void ProviderPopup::onPlayLevelDownload(CCObject *sender) { + auto popup = ProviderPopup::get(); + + if (popup->_locked) return; + + popup->_locked = true; + + CCScene *sc = CCScene::get(); + + ProviderPopupWait *wait = ProviderPopupWait::create(); + + popup->addChild(wait); + + auto level = popup->_levelPage._currentLevels[popup->_levelPage._currentLevelsIndex]; + + popup->_selectedProvider->setParameter(LevelProvider::SpecificRecord, level->m_demonVotes); + + popup->_selectedProvider->getLevelData(level->m_levelID.value(), [popup, level, wait] (LevelProvider *prov, std::string data, struct LevelProvider::BasicLevelInformation info) { + auto newpopup = ProviderPopup::get(); + + if (!newpopup || newpopup != popup) return; + + wait->cleanup(); + wait->removeMeAndCleanup(); + + newpopup->_locked = false; + + if (data.empty()) { + FLAlertLayer::create("Error", "Level data is empty!", "OK")->show(); + return; + } + + if (data[0] == '-') { + FLAlertLayer::create("Error", fmt::format("Error while getting level data: {}", prov->getErrorCodeDescription(data)), "OK")->show(); + return; + } + + level->m_levelString = data; + level->m_songID = info.songID; + level->m_audioTrack = info.musicID; + level->m_songIDs = info._22songs; + level->m_sfxIDs = info._22sfxs; + + // log::info("level string: {}", data); + + auto scene = PlayLayer::scene(level, false, false); + + auto transition = CCTransitionFade::create(0.5f, scene); + + CCDirector::sharedDirector()->replaceScene(transition); + }); +} + +void ProviderPopup::applyBottomButtons(CCLayer *page) { + CCMenu *levelActionsMenu = CCMenu::create(); + RowLayout *rLayout = RowLayout::create(); + levelActionsMenu->setLayout(rLayout); + + { + auto spr4 = ButtonSprite::create("Copy ID"); + spr4->setScale(0.6f); + + auto btn4 = CCMenuItemSpriteExtra::create( + spr4, this, menu_selector(ProviderPopup::onCopyID) + ); + + levelActionsMenu->addChild(btn4); + levelActionsMenu->updateLayout(); + } + + { + auto spr4 = ButtonSprite::create("Play Level"); + spr4->setScale(0.6f); + + auto btn4 = CCMenuItemSpriteExtra::create( + spr4, this, menu_selector(ProviderPopup::onPlayLevelDownload) + ); + + levelActionsMenu->addChild(btn4); + levelActionsMenu->updateLayout(); + } + + levelActionsMenu->setPosition(0, 0); + + auto csz1 = page->getContentSize(); + auto csz2 = levelActionsMenu->getContentSize(); + + csz2.width = csz1.width; + + levelActionsMenu->setContentSize(csz2); + levelActionsMenu->updateLayout(); + + levelActionsMenu->setPosition(csz1.width / 2, csz2.height); + + page->addChild(levelActionsMenu); +} \ No newline at end of file diff --git a/src/ProviderPopup.hpp b/src/ProviderPopup.hpp new file mode 100644 index 0000000..29725df --- /dev/null +++ b/src/ProviderPopup.hpp @@ -0,0 +1,83 @@ +#pragma once + +#include +#include +#include + +class LevelProvider; +class SearchInstance; +class LoadingCircleLayer; + +class ProviderPopupInfo { +public: + int _page = 0; + int _pagesMax = 1; + LevelProvider *provider = nullptr; +}; + +class LevelPageInfo { +public: + std::vector _currentLevels = {}; + std::vector _cells = {}; + int _currentLevelsIndex = 0; + cocos2d::CCLayer *page = nullptr; + int _cId = 0; +}; + +class ProviderPopup : public FLAlertLayer { +public: + CCTextInputNode *m_pInputPGID; + CCMenuItemToggler *m_pFollowPlayer; + + LevelProvider *_selectedProvider; + + std::vector> _providers; + + void setupProviderBox(CCLayer *providerBox, LevelProvider *provider); + void setupProviderBoxOnPage(CCLayer *providerBox); + + void setupLevelIDPage(CCLayer *providerBox); + void setupSettingsPage(CCLayer *providerBox); + void setupGenericSearchPage(CCLayer *providerBox); + + bool _locked = false; +public: + static ProviderPopup *get(); + + LevelPageInfo _levelPage; + + std::string _levelArraySize = ""; + std::string _levelPageStr = ""; + + LevelCell *createLevelCell(GJGameLevel *level, CCLayer *page); + + void lambdaOnDownloadLevel(SearchInstance *si, LoadingCircleLayer *existingCircle, ProviderPopup *popup, LevelProvider *prov, GJGameLevel *level); + void lambdaOnDownloadLevelList(SearchInstance *si, LoadingCircleLayer *existingCircle, ProviderPopup *popup, LevelProvider *prov, GJGameLevel *level); + + void onToggler1PressMaybe(cocos2d::CCObject *sender); + void onExitButton(CCObject *sender); + + void update(float delta) override; + + static ProviderPopup* create(std::vector> providers); + bool init(std::vector> providers); + + void registerWithTouchDispatcher() override; + + void onPrevPage(CCObject *sender); + void onNextPage(CCObject *sender); + + void onLevelPage(CCObject *sender); + + void onLevelIDSearch(CCObject *sender); + void onGenericSearch(CCObject *sender); + + bool isPageHasFeature(ProviderPopupInfo *info, int feature); + + void onCopyID(CCObject *sender); + + void onPlayLevelDownload(CCObject *sender); + + void applyBottomButtons(CCLayer *page); + // bool ccTouchBegan(cocos2d::CCTouch *touch, cocos2d::CCEvent *event) override; +}; \ No newline at end of file diff --git a/src/ProviderPopupWait.cpp b/src/ProviderPopupWait.cpp new file mode 100644 index 0000000..4d9468e --- /dev/null +++ b/src/ProviderPopupWait.cpp @@ -0,0 +1,47 @@ +#include "ProviderPopupWait.hpp" +#include "LoadingCircleLayer.hpp" + +bool ProviderPopupWait::init() { + if (!CCLayer::init()) return false; + + CCLayer *l = cocos2d::CCLayer::create(); + l->setID("main-layer"); + + auto winSize = cocos2d::CCDirector::sharedDirector()->getWinSize(); + auto base = cocos2d::CCSprite::create("square.png"); + + base->setPosition({ 0, 0 }); + base->setScale(500.f); + base->setColor({0, 0, 0}); + base->setOpacity(0); + base->runAction(cocos2d::CCFadeTo::create(0.5f, 125)); + + auto loadingCircle = LoadingCircleLayer::create(); + loadingCircle->m_pCircle->setOpacity(0); + loadingCircle->m_pCircle->runAction(cocos2d::CCFadeTo::create(0.5f, 255)); + loadingCircle->setPosition(winSize.width / 2, winSize.height / 2 ); + addChild(base, -1); + + l->addChild(loadingCircle, 1); + + _circle = loadingCircle; + + addChild(l, 1024); + + // setTouchPriority(-1024); + // registerWithTouchDispatcher(); + + // cocos2d::CCTouchDispatcher *dispatcher = cocos2d::CCDirector::sharedDirector()->getTouchDispatcher(); + // dispatcher->registerForcePrio(this, -1024); + // dispatcher->addPrioTargetedDelegate(this, -1024, true); + + return true; +}; + +void ProviderPopupWait::cleanup() { + // cocos2d::CCTouchDispatcher *dispatcher = cocos2d::CCDirector::sharedDirector()->getTouchDispatcher(); + // setTouchPriority(1); + // dispatcher->registerForcePrio(this, 1); + // dispatcher->unregisterForcePrio(this); + // dispatcher->addPrioTargetedDelegate(this, 1, true); +} \ No newline at end of file diff --git a/src/ProviderPopupWait.hpp b/src/ProviderPopupWait.hpp new file mode 100644 index 0000000..2d1b9b7 --- /dev/null +++ b/src/ProviderPopupWait.hpp @@ -0,0 +1,15 @@ +#pragma once + +#include + +class LoadingCircleLayer; + +class ProviderPopupWait : public cocos2d::CCLayer { +private: + LoadingCircleLayer *_circle; +public: + CREATE_FUNC(ProviderPopupWait); + + bool init(); + void cleanup(); +}; \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..4f2ccbf --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,60 @@ +#include + +using namespace geode::prelude; + +#include +#include + +#include "GDHistoryProvider.hpp" + +namespace LHSettings { + std::vector> providers; +}; + +#include "ProviderPopup.hpp" + +#include +class $modify(LHLevelSearchLayer, LevelSearchLayer) { + bool init(int p0) { + if (!LevelSearchLayer::init(p0)) { + return false; + } + + // auto winSize = CCDirectory::sharedInstance() + + auto extrasearch = CCMenuItemSpriteExtra::create( + CCSprite::createWithSpriteFrameName("gj_folderBtn_001.png"), + this, + menu_selector(LHLevelSearchLayer::onMyButton) + ); + + auto menu = (CCMenu *)this->getChildByID("other-filter-menu"); + + extrasearch->setID("provider-button"_spr); + + auto children = menu->getChildren(); + + auto last_child = (CCNode *)children->lastObject(); + auto pos = last_child->getPosition(); + auto csz = last_child->getContentSize(); + + pos.y -= csz.width + 10.f; + + extrasearch->setPosition(pos); + + menu->addChild(extrasearch); + + return true; + } + + void onMyButton(CCObject*) { + // FLAlertLayer::create("Geode", "Hello from my custom mod!", "OK")->show(); + ProviderPopup *popup = ProviderPopup::create(LHSettings::providers); + + // addChild(popup, 500); + } +}; + +$execute { + LHSettings::providers.push_back(std::make_shared()); +} \ No newline at end of file diff --git a/src/test.json b/src/test.json new file mode 100644 index 0000000..c08f983 --- /dev/null +++ b/src/test.json @@ -0,0 +1,47 @@ +{ + "hits": [ + { + "online_id": 10565740, + "comment": null, + "is_deleted": false, + "cache_level_name": "Bloodbath", + "cache_submitted": "2024-04-22 02:00:51.505566+00:00", + "cache_submitted_timestamp": 1713751251, + "cache_downloads": 80138936, + "cache_likes": 3889023, + "cache_rating_sum": 50, + "cache_rating": 10, + "cache_demon": true, + "cache_auto": false, + "cache_demon_type": 6, + "cache_stars": 10, + "cache_username": "Riot", + "cache_level_string_available": true, + "cache_user_id": 503085, + "cache_daily_id": 100079, + "cache_needs_updating": false, + "cache_available_versions": 2, + "cache_search_available": true, + "cache_main_difficulty": 5, + "cache_min_stars": 10, + "cache_max_stars": 10, + "cache_rating_changed": false, + "cache_filter_difficulty": 12, + "cache_length": 3, + "cache_featured": 10330, + "cache_max_featured": 10330, + "cache_epic": 0, + "cache_max_epic": 0, + "cache_two_player": false, + "cache_max_two_player": false, + "cache_original": 7679228, + "cache_max_original": 7679228, + "cache_needs_revalidation": false + } + ], + "query": "Bloodbath", + "processingTimeMs": 344, + "limit": 1, + "offset": 0, + "estimatedTotalHits": 106241 +} \ No newline at end of file