From 18a32e4e73c00a32fd9baa1310033ee700705677 Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 29 Jul 2024 14:00:38 +0200 Subject: [PATCH 1/5] feat: keychain class and app group --- Bitkit.xcodeproj/project.pbxproj | 10 ++ .../UserInterfaceState.xcuserstate | Bin 112246 -> 117651 bytes Bitkit/Bitkit.entitlements | 4 + Bitkit/Constants/Env.swift | 3 + Bitkit/Utilities/Errors.swift | 8 + Bitkit/Utilities/Keychain.swift | 149 ++++++++++++++++++ .../BitkitNotification.entitlements | 4 + BitkitTests/Keychain.swift | 27 ++++ 8 files changed, 205 insertions(+) create mode 100644 Bitkit/Utilities/Keychain.swift create mode 100644 BitkitTests/Keychain.swift diff --git a/Bitkit.xcodeproj/project.pbxproj b/Bitkit.xcodeproj/project.pbxproj index edaca8956..2f26822ae 100644 --- a/Bitkit.xcodeproj/project.pbxproj +++ b/Bitkit.xcodeproj/project.pbxproj @@ -25,6 +25,9 @@ 9637E6DA2C32E573004A92FC /* OnChainViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9637E6D92C32E573004A92FC /* OnChainViewModel.swift */; }; 9637E6DD2C32EAA8004A92FC /* WalletNetwork.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9637E6DC2C32EAA8004A92FC /* WalletNetwork.swift */; }; 9637E6DF2C32ED7B004A92FC /* LnPeer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9637E6DE2C32ED7B004A92FC /* LnPeer.swift */; }; + 963DE7932C578D9900A2AA1D /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963DE7922C578D9900A2AA1D /* Keychain.swift */; }; + 963DE7942C578D9900A2AA1D /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963DE7922C578D9900A2AA1D /* Keychain.swift */; }; + 963DE7962C57969000A2AA1D /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963DE7952C57969000A2AA1D /* Keychain.swift */; }; 966DE6612C502C7E00A7B0EF /* Env.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9637E6D22C32CE79004A92FC /* Env.swift */; }; 966DE6622C502C8600A7B0EF /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F261352C369D2400167439 /* Errors.swift */; }; 966DE6632C502C8600A7B0EF /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96FE5A1A2C46A4DD00860ADC /* Logger.swift */; }; @@ -107,6 +110,8 @@ 9637E6D92C32E573004A92FC /* OnChainViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnChainViewModel.swift; sourceTree = ""; }; 9637E6DC2C32EAA8004A92FC /* WalletNetwork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletNetwork.swift; sourceTree = ""; }; 9637E6DE2C32ED7B004A92FC /* LnPeer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LnPeer.swift; sourceTree = ""; }; + 963DE7922C578D9900A2AA1D /* Keychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keychain.swift; sourceTree = ""; }; + 963DE7952C57969000A2AA1D /* Keychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keychain.swift; sourceTree = ""; }; 966DE66A2C50FA6A00A7B0EF /* channel_manager.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = channel_manager.bin; sourceTree = ""; }; 966DE66C2C50FA7600A7B0EF /* adb1de43b448b04b3fdde638155929cd2163d2c53d36bb40b517d7acc44d1630.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = adb1de43b448b04b3fdde638155929cd2163d2c53d36bb40b517d7acc44d1630.bin; sourceTree = ""; }; 966DE6712C512C1E00A7B0EF /* seed.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = seed.bin; sourceTree = ""; }; @@ -246,6 +251,7 @@ children = ( 96F261352C369D2400167439 /* Errors.swift */, 96FE5A1A2C46A4DD00860ADC /* Logger.swift */, + 963DE7922C578D9900A2AA1D /* Keychain.swift */, ); path = Utilities; sourceTree = ""; @@ -306,6 +312,7 @@ 966DE6692C50FA5800A7B0EF /* ldk-backup */, 96FE1F762C2DE6AC006D0C8B /* BitkitTests.swift */, 9613018D2C50288900878183 /* LdkMigration.swift */, + 963DE7952C57969000A2AA1D /* Keychain.swift */, ); path = BitkitTests; sourceTree = ""; @@ -526,6 +533,7 @@ 961301882C50202A00878183 /* MigrationsService.swift in Sources */, 96B12A002C2EC37B00DD07B0 /* LightningViewModel.swift in Sources */, 9637E6DD2C32EAA8004A92FC /* WalletNetwork.swift in Sources */, + 963DE7932C578D9900A2AA1D /* Keychain.swift in Sources */, 96F261362C369D2400167439 /* Errors.swift in Sources */, 9637E6DA2C32E573004A92FC /* OnChainViewModel.swift in Sources */, 96F261322C369C2100167439 /* ServiceQueue.swift in Sources */, @@ -545,6 +553,7 @@ files = ( 966DE6622C502C8600A7B0EF /* Errors.swift in Sources */, 966DE6652C502CAD00A7B0EF /* WalletNetwork.swift in Sources */, + 963DE7942C578D9900A2AA1D /* Keychain.swift in Sources */, 966DE6672C50372600A7B0EF /* LightningService.swift in Sources */, 966DE6632C502C8600A7B0EF /* Logger.swift in Sources */, 9613018E2C50288900878183 /* LdkMigration.swift in Sources */, @@ -555,6 +564,7 @@ 966DE6752C512FD100A7B0EF /* HexBytes.swift in Sources */, 96FE1F772C2DE6AC006D0C8B /* BitkitTests.swift in Sources */, 966DE6682C50372900A7B0EF /* OnChainService.swift in Sources */, + 963DE7962C57969000A2AA1D /* Keychain.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Bitkit.xcodeproj/project.xcworkspace/xcuserdata/jason.xcuserdatad/UserInterfaceState.xcuserstate b/Bitkit.xcodeproj/project.xcworkspace/xcuserdata/jason.xcuserdatad/UserInterfaceState.xcuserstate index 0eed74087a3e33db03707757f19a812a6632507a..214257073de07cc983921228fb2fd038af60031c 100644 GIT binary patch literal 117651 zcmeFa2YeL8`}n^*TWi=I)l_Mf`j}#4rE<_l5C}yS-`W??Oik-tJT7)Pxk}{*69Qo(9E6i_5!HzrL`|X=QJZ*;s6*5x z>Jjyc21G-m5z&}vOLQVS6FrGIBA!Sj`Vh%Pe_{ZUP7EXl5yObr35|fno5UDmJTZZI zhgd0wq%x%1YU&0#re&8daUDLDi&c zQMIYps5(?#svcFJYD~4HBB}ON2dX30i;AVPKZznN$`voEkyRqGnTbsQ0M3 z)I92aYCg4qT1aJ6In)yBLuwV9_x2W6H9qKOiC-sneL^Cu?8)%tU=+blDNj73eTJoUTY$qN~w$=m@$A z-IQ)kx1rn8-RSOg54tBENB5>v=v4YGdMrJT9#2o8C(>`z@6eOz$@CO@20fQvM1Mdp zrdQKz=(Y4ZdK0~k-c5f>e@5@8zovhq&(i1U^YjJ!BKSOi88`Q<@29Dl*NP7EDVfl4-?6F|C<4Ok1WM6U}sDdNMIg zFQyNZ#Pnq{nJi`?Gl&_+jAY(o#xmoWDa=$Rms!rNU{*38GOL)?%o=7bvyNHMY-T=U zb}?TtdzpRAA?7f1ggM3h$ed<=Vt!@LGZ&a^%ym{^O{~aDtjsE`%9>dVYh`V$i!IC+ zVau>(*>Y@Ewi;WVt--#=)@Pfs&Dj=gOE!{i&vsz@vngyUo5l`c)7cC*lg(lWvV+)R z>?n3TJAs|ZPG@JZGuZ{~LN=StVVAJW*>&uC_A7Qj`!#!j{f0fr9%2u(N7!%K@7Uw) zPwW}?XZ9ldJ9~+}&E8?}vVXD<4ZvVD2nLhEYOonX4HXPwhHyhgLnT9HLlr|+Lp4Kn zLv2GtLnA|DL!_aVA@n;!d~G;jIBNLbaK&)daLsVt zaKmuZaLaJpaK~`h@TcJ+$8ansaWbcHZqCDna0R#`TnR3etH6bE)wvp6J1&}Q&voEB za-F!&ToEwsPCJ?cAr_XWWn6Y3?WP4EHnl3->Gc8+VpF$DQXcaDQ+&xm(xsamLJDY;ivM`_<8*M{Cs`^zldMTujbeAd-;9* zm;6`!e*SCz0RIhtkUzv9=8y8H_#gSR{5k$Sf0e(+U*{k25BWz%!blrAqheHzWsGHw z<&5Qxp~ecvFk`r}qOp>(va!0cuCa-+sj-={oiWHTE_p8dHsF#<9k6 z#_`4p#)-zajqeyI87CX37^fO%8s{0`H!e0VF)lT(HLf$RH*PR)G43#aX53@^-1vp@ z8{rmgTM*AU=gf>O|T1Yp`cJwC?%8@ z!i9=LbD@RMQiv2<2~k38p^ea1XeUGqorIo3jF2ew5t4)fLb{M43>QWSBLz(uEsPZ= z3sZz;Lawk}SRt$wJ``37tA#bfT49~AN!Tgu5k42b5Dp24g(JeZ!ZG0o;aA}|;jD03 zxMJc=yvb-1OeT|Pl1#EmF{viA$!;oODq$*VDrKr@s${Bcs$!~Pdd<|>6k%#&iZZn} zC7Sw}l1zO~{Y=TG{-zXDswvGhz?5Zr-89$Ouw3bGhH!VHC;1ZH{CYf6Dg4v z8Br7^v7}f^EG?E1%Zla1@?xl1K@1ba#VTTL@inoI7$G(hn~H74c4D;HUhFJ(7ZXIU z*jr2#Q^hoKtT;{_FHR6Aif@bWh?B(0;uLYJI8&S_zAr8omxxQn)#4g)t+-v>A?_4E z5_gNAiwDGS#B<_#@q&0!{9U{x{vlo#uZUO0YvL{Of%s5-BpD=5;w4owOBShsR8T4; z6_$!irKNDGqSRb!A+?kurB+gu)LLpIwUydQ(NZU=rxYV4N`0gxDMQMXvZR61P-%oT zMtVycD@~TBNXw*LX}PpQS}A=ft&&ztYoxW(I%$)%Q~F5SC4C|7mG()8q{Gq?>6G-N zbXxjJ`c*nFU68Ix*JVLA$)YUDvaHCeY?dvuRkq14xv*SXE+dzfE6J7RDso-9o?KsU zAVN&P985$muJW`<#*-xsH}XOGkbGD^B7ZOcD4&+k$>-$@@-_Lod_#UHKT-&V zR2YRPi^0xAhGD(@NOi`vP)0B6W_m#!U5@o5fR#~U4S2ieHlpV@v${yu& z<$&^y@||*AIidWhoL4R>e<;_K>&k8Aj&ffmR9ZEvR@J83RfpHAGP<5F4x;k7Pp^j8Fb+kH8 z9j{JRr>WD`8R|@Rj+(75R+p&D)fMV`b%VN5-Ku_~?op4cr_>+SpVeQ~bLx5ZlKO{w zO}(z(R`00y)dyyq*=}~2oo1KWZT6T$%mvH^&4tXx%w^5x%$3bm%vH^G%yrH6%+1X$ z%q`84<~HW`=I-Vm<}C9-^C0tJ^APh;^Dy)4=HccM=8@(%%;U{d&C|@&&2!E3%7Gaog7Z$4%|Za!f?Y5u`{%6!Ir-h9D)&3xT_!~D?v z$U<013uECes>N)vSUi>xOBG91OEpV%OASj+OD#)n%WIZ8mb#XPmgbhWmUfnCOAkv= zON^zLCBf3il4coT8Dbe~nQED4nQob3nQ3{~GRrdCGRN|sWv*p`Wr<~}WtnA-WvykM zWt(NYWryW+%NLftmVK75Er%?JEhj7|EjKJTEw?PUEq5$;Eq_|>S?*gNSRPt|mA9%^ zv(;ktSVOEOt);A`t!1pC){54e)>_tf)@W;cYX@sbYbR@GYZq%*Yd33mYcFe}HPxDC z9bg@1ecd|TI>I{2I>!2rb&_?mb(VFub&Ykcb)9v+b%S-Ib(3|ob&GYYb({4g>mKXp z)&tgWtOu>ftjDdtSbw$tW<6`YXuWK`ZM|b7Y_yHB@iwDPvYBlmw!*d|wi33Iwz9Tz zwlG^|TXkDKTO(UzTQgg8TU%Q@TePjct(z^*7H{io>t{>14Y9pp8*LkF8)utfn`oP6 zn`3*=mTk+i<=WQRKC|t$?X!JtJ77C(J7W9ZcFgvJ?Ue0|?PuFr+d13swkx(9wmY`_ zcEV2EIlIv=+AVgg-DY>$3)zd=L+uspVfJu)4SP*{9eaIyBYR7Gq`i&3y}gq?-kxCh z+I!m*?S1Y2?P>N5`vm($``h++?33)1?NjVi?bGbj?KA8%?eE%W*=O75*x$3ywa>RN zx393Tw0~${WnXPyV_$3EZ2!c*+y1HjGy5LFWLXFU$tLz za1P#KbO;WULv%~QRKeCqhjvB&YbW545T$05gI$1%ro z$0^5;j<~X>bZolT&f3&H~PY&O*+@&LYkd&XUgZ&QNDX zXC-H2XN0qfv#GP0v$?Z{v!yf2+1lB|+0z;0?B$Gg#yJz6eVj?o{>~xJp-$+0%Q@CL z(K*>U#W}+{+d0Sio^!r)fpejAm2O%||8(AS-giE5K6E~E5iZgNT$GD<8C|l=<#M|`t`JuNS3y^4 zR~c7XS2)x_1*)y&o0)xy=%742&8>fq|`N_J(qGF?MmBU~e0Z@5Og z#=6G2-gZrK&2Y_hz2}zwPn>w@bK*EQFlu6wTgZoxXZZ9x+}PwxSP70xtqIN zxLdj--L2eF?$+)$?)L6(?s#{C+v`qsr@05X)7=BzL*1j?Z@4G8C%WHu&vego=eU=+ zm%3NDSG(7^H@Nq^zjhyRf8##rKIA^^KH~n?{hj-$`-J<9`-1zT`*-&Z_f7XB58)v_ zz{7fs9<#^dv3d%4ihIg=!aU)gDxMmi*F1GR4Ln^uT|M1A-90@#Jv}j=UY=M_oG0Fs z=t=Pm^bGP0_Kfnp;Ti3D(=*QVwr7TCrssXne9r>UBF|FK8qa3WPR}QvJ)V7@FFgl5 zXFcaU=RFrZ7d^jwE_wd&T=rb?T=m@a+z+8cm=HEZ3XwxxA?^@QNJvQGkm4cbLqbC; zgj5Qt98xQ!en{hxW+9OwtwP#{^a$x05);xZBsQdfNJ>a*NLt8%kU=4XLxzXE6*4wt zT*$PL=^-;hmWAYoEDu=`vNGhukX0e8L)L_>4cQp7HDp_d;wf3l$%hG%kO-Mj2n%8F z6ct^epLa+`SM+aS_M~I+_~h7(jBG+B%o@ zy^T}jv-*2eGGmnDm8&!euhyti)zAjj8&wajQYpN0Xv6TT5uw!^RH@XsVx{Vp8Z-*m zOLh~biE1ke4-rBXAPN$Nh{8k>q9{>}C{C0hN)n|sMq@RD#%a7})CA3>iJGLznxd&I zi84f4q8w442qh{IVMI7l5q+ynR3WNrW~~flGa#F#t$^%c$PR(*Fvw2z9a{w1546=< zy%@#W&Kr+v9FdTenVPQGzeBsoj2Ok;*xNfcD>?9+Z=NWlNou_oAgvX z#T4z$Y@UEllhixOn~o-#y8C~Pj_>2`??tWAE-R(6HzPACB{mbyQ~4&KGEugybZ^I` zjHI}vFKd4iRe@*nT@@1S&7Y4dZ)%HDmrVU)Rau` z;7tETpbS=j!OxZ#qd5Lr+o;(7UQ|z1X0$gM)x?|dxXkd#*o@3Zsr}QEz36ZoJhhgQ ziAwfgOvBg=G=qk(9aXuVH!U?C^|rNPx;M68T53{CW`^%KG^Lhs$R|}1M4Mcq3DJ~j zMl>f{5G{#Fq7@NEwAL(|U2|$~EkrA*71oMs#kG=J>BB@jB#F^Pd!hr;5zAs6Dy|#) zH{F|znr@(1BQ%?4jZxb4PD=LH3JVMCkbx=~);BgIH6=`MzKk$ju?*a!N#2aGxTMT} zNtvNZsTpAneIMJSuE+>Omml9JHYue-#-OC$nTLojL|394(Y>o*+*42kb@qSsW^{;( zM!lYme(upZD!O$X?((Or8tbc;BSz`)BGn4(kckBWSNYkxJzZ39Us0|YB|4vqibzjS zP0#Q*!qWxy^A+TYQI-x49UPyU;0?uZ>8Z)dwf?I{f9mRPAMzO?S$JHwkja<7^1wHgOH{RZmKL_VTE2$D#H-V==u>tVG$_!B_w4a^WyCv zmplXkjaneSUrg_GgkQbn*sPTJKGEI`Jh|V_+q+KX*!cMHnl-{v-{WLWaH?jp8GY(h z4zEt>btJH|ATIm@n8Rx4^sTd{hMJ~HTbN_|=l}q4T zq_6J2AN-BrS1=Qaw~<=I`g}+>F_Gw@o4`rLJZu6d6H|z(#57_$F@u;%yi3d?W)pLW z_lUV#S*@H_UJKPKXkl8oR#B^@Ro1F#RW+39ePTYbfLKUm6FI~p;satav4mJkEF*HY z>RLms8Kmz)`VnM!$k-uM6EcktQaaFKcHn&W`$=BDL#tZpiOdYivO2?NZ-br z7@Lum5uKWq9`9|0&KslD_=nm>qoO|DQA$&h_HzUju6!rEYRxtwaiiC`xwO%72PT;Gd3>S+c*jNYpE%*=|ggeqr@?y zNB5}cC&%>mJwcrGpF=#9-Eb! z8jl=9sZF z7OTZ;UM*2e()wxrk>8q%yw?F*hL)ub(uQcmwBg!F4Qg*_Z)$I87F0E|AX$hkOco)F zlEuj4WC^k)S&A%8mLbcM<;e16C|Q9FBg4sxWF@jPS%s`hRwJvEHOQJ|EwVQG8d-;| zOV%UnlMTp*WFu{ywnjUkU52Cp$(oRC56M(Wz5~hSko*FYzd=AkP!NLJ5Ojec3xb6Z z?1SJOq-aPLg4An}>I|t&NKJxNE~Gw#)K8Fl1ZfYXYe2d^q|+h&Hl&w9`ZGwMex`59 zX1=~{5u>zy5jz{055wYp{zn)dDOKIJt-wI_^SK^p7t?HZeCXvnG}aK{*bW7-htlaRHS&reEJ@JPe((zgvPO% zu>lnj8b74(;NFRS`t-}pN*jbsbVC3BDT9*w#}4R|G&Ia_*4iLXFBUl>VQ4TN-!C-_ z`Nzo#{X$canLtCklmt}4j4#0* zqgMilf{XNzr#iT(}PR#52L!rD3e}(3k8HOxRU-+SkD*KQBMtqBU2NR+y@urACmQY!Li9R z%JAtge=Dc{0b1OPDy*lJNHg!?hC`6)4!%bJ_$whsiOQ?T|6>fFtAO9}DaGC|D!W*_ zBgK-Mn75jr<}0O7j50Q_EBV*yjzbF3uL9deG-%u^qC)?Kr|sP=U+wz7pe+4oo*{z9ecx;!bdPi6`-!59nQ zvEb`l<0}zO6Tg*LiT`@N}}7JT{Jd?gHyQM$fR z36HzCbxI>VZT+_je3!4hp)pF&7b@>@hh~HYN_>1I_!>X+mHB$UU1Q+l+V?@j$Aml# z$39hdotl3nHnFP92l51$ja;!e2E8qMQSg~&Esy2)XDkVjy&Qkaa4>lF|UsN z*SUFOQ~uT&I_9h4=ofT`+T&6E(@QhKjep8l&=?fylUGyx$CN&nU}VYl=6`%FxYVD0 zrH*~UMT9)fre2tD>6QGAyh>EdCC`%Q$n)d{@*?>=d5Qdkyi8uv#%mL_iQ3!RJK7{| zvNlDVs!hu!uaVb%f49inL@4_7CtB{DuFdxS&C!-?E6}Hv{`F1wlexjbETex$1^M|g zN=WdJeNqRtN=iW^Fl3L4TII^?XFPe`BsCciBhh+m zP(22v$EM-+rVQV5Cg6xR3jwdq&`SHin}{}xfCwb?QnZ=cyXZAbD~&?f7{$y5W~zV# zxCwhUZ~~Y1o;EidctD6YPs_o}=V*;NIWyMZGm+0WON>$&O`8u%Oi#^9NoeQIKr7K1 ze@UVjPy`gm1r!CvwD-07*`Nd{sV&eJYT4azqcl%R@DBE7^h^k>&PRGv5;Obw>tBv& zvp_4Yk|+HWhsQuzHl85VPh1gHCG0t%5~vKSXp6KDw8c4~8mJCxXiKzZS}wkVl0i*| zCiI@Ebu?OsMLiQ3bz<=eNaB-(?Nf&|PRhXFu`iF;_`JwNDHwF>jHCo_Tx@!UK}iYd z3P4>#2K7LFG@V%?D=R4>4v#WgE6Uj~x>wI$*upgPYVT=%+m*ehE%jX;Xb2j0L@T)+ znm5h{4T&CyKm^L)Bsl+rW6clu=v`lUyWH55XX6N;6oj@F79&`p>Kv&QWbO${^PY?rofmm&=woY5G zZO}Gqo3zc^7HzAxEf>W5nFon}=0QKi{PqCz9|xG<|B88E97lx=q{i}%`5~D3q1q0e z`Qe!P5nv=h(JNr_F-WDk?QAa z1zmimfEk#~sbCtIu6?HM(LT=sGr_xv%rCUPFQ3f!5n1zt$x6#~^=-PXVJw{NUbC%e z<|afY$VN$Xf|Gt^-upw1GffVDczNnCl?H4Ztu56reKA<(*LF*hw)+wTw;XA^ue9vH zXgC#^^en5vIzOXp5u;!KeHK0a7Vs&Cb1T>ewu2pDC-?~L0w041^;jxTO80{hEK)_!_wBm(LqW zKF?%>Ti~|#v-V4neEKc$J--DuHr4C*h@ueL6hV;`(0+SBnw6(*U9$mjHdRx;!w*y2rrJ$s0aMI%&hA)iS({$3r17FW8G9WV)o7d6- zt11RsfwEIBAF-4Z5&OsAH=>@t5LFftOBJSyP(`U?RB@^VRgx-2m8QyQSG23zHSM}~ zL%XTn(r#;aw7a=fIX|&fnBSaIl@YOj28ey&H>Z%~Um=_S$WjduvQ$IuUI1ANg$OR9 zng9vEwEM`1#;?+fRqxtXR2w7;R20=(d#F9irrJ{NAW1-y%{OaGb)vdq<~mbdsIHJi zchLe!QaPXo)r0D(adQ7d|M?J=fN1gt)08zy`en(&2z5r;tg6R% zUG0v+>w}Ue1t)!d%ZWyPGn-xCv9m*iQVXumdu&pvWGdCCvZxg8eMlM*ZqxwnXGn5E zN=voQ)ca*1HN=nTVC_Rl8lRI%&oPpkKvY{!X%wVJQEyPAsW+)H)LYb8Y8*8lk|s!s zkdz=PLsEgH3Q030Es(TA(gsQUa%y6L*~#Q>YAPQ1QZtCEkaYO5g``VEYvCpE=ogaJ z|L>t&8ifq`M^0_hy#oXDtqrmUqo7f=+UozsHx&N=!bq7~gem_3l1?4-r3iBrrtSMf zedPZ`5x>4E5NZ{*7DK+8S_4TpBt6;GI%+*6Lm*i+|1jS|?ZB9CrM6MqAz1*D1tD1| zhuTSf1ZqICFeHn-eEYfwvHN*2yVH#1^lxiNU0OBzfH1pon>rZteJJUd!Ab9Zb$t2g zccZ$`41MnkJGWe)CzyXt9mI`%02GBJnkvYq4uKMoERMYAAm5pssQ1kG)Q?29#ndtC zICX+LN&P^bf@DcZmV#tyNS1+QSxA;!Or1tFo}qrGexZJaWO+CeQ;@8tWj}M0E;xRwKMG@s*K=^R;8VD?5i8spXc$8s(iY$j{A>5=IaE3X zc}29Dw$N7EM%!rz?WA3_8%6z)wIEp=lCMFs4kYVBvK}PsL$U!R8$z;CE?vN{Yw03> z|A;PuHEm;E(>BpPq;~)J)NJs4<^T39BV8HkPPz&tBLcdUu8v1F8WDTRNI*I~ z6Cl|)-<%zK3B4S{x0GH+qY;c3lD#3Bm_x6iS7P}3Kr-p&!?zw0wIP_OLHp7RrsYKZ zyk`2;KHn}KcLu|^8718koRqKgMeOa%k)>zak2jF`oTuR1PJe_Oc?VWl{jkE?g%wtE z9tumP4(J+d553n<>=&5W6inH0>u7EpQe8zuhTzcVu$L)j({W@6HUOL)WlcJ z{tL`r#mruV2r8CbIB4nm;FvxHGvGPzvdIZ1V(_(KPX!d3g#5_|BB`qGDbmY|z z*J8Id`)qsH!~LdxGWax}K(rFR|5WCN-WFw;@;;QAav0^epVNeTj!H}&gfdf^slrrc zsxj4>8ca>57E_x+PVyv3PKM+ZNKS<$QuNayIRlb2A^9#OXXP?={U|dH{l=GRf>HLb z$0L5{>Be{2E0FUaWTrg=ndtz@IRTKF&In|t3)2<9Ao(67=lb8#q+$UjLhtQZCIQI@ z6UW3u5-~PEoAENpL?Xx*=bI5``Y~u?Er&^F`ZFnzTnI^I=5unGG-dz>auFmyc=l~ThS&%%K}MJvjg9cqyo|7nZmIUo1u^59xBcW!#N_5;az|t3w=_uk={cq`?_+YO zGc%Z(%)87iW;Qd2d5@XP%!A|#NUnq=I?*afu7)IJw%+B)39xTQ>6vfA?e$WB46TZm@k>Hu>clj_G9b21I=tR-{9%+ zok0Sqmb<0b>|5p-M*TbHDDyoecR})FNPd#T90xU+laSnvmk~b2iY4FUVE*G6oI}hR z#P83+{N~O)*mh9=7V=V8{FS3C6Xsyle?v*n1}8nz8<|6ZlAKyzD-_M`ZdV15{U>;$7Z!))-+sqy2F7qdIkGao0U>-tpFC_Ot@=Hj5 z14?^-#E=&0FWoedSS@Jr|VSEqk_s?|G^PeKcy% zhE7e!%s$+@41$rZgOb(_PC9SbJ2!tj-SXh1qqpM+bX~LmvE5}Gu#J5hjBSK97>aTz z!8XAr^rv7Amb$Q5{Q$x$SfKY(D;6)hf>vy64DqkeIf0&|BO8k#W;?N+*)D8Xwj0}> z?ZNhBW7uAhJPXNlkUS5`3y{1B$=@M)36g(6@-if^gtb!$Tl>O=tLZJPy7MB>X~yU=0m%&>P;I$LF50Z?I!9z@u3-zPtg+o7wDJ zEE-zgg5=$N8vwI!vy=S-JP8Z%Z7hFNu>ju*7GUs}UbA=E_b~Od*xBqHNd5`Qdyu@J z!_H;rVd@`1^5M&;ei1_XgJ6`Gk@c#MIM^h4!RX&2lU6RNi>Y6Vk}eBQ`tE(XYsi3B zgO+ZZbuBk$&iE(PuV7dCq5Tj+3y9}5n%-g?*j*UfjqE0NGrNV|%5Gz~vpd+G>_-p) z2q*|>2$1{ELSTS^gMf#?2!W8xejI@IvjDVv5wyS*fEFk^v?$csx6f8^Wc8~!bpH+~ zfwj&5Q5-sZ6hr$x1fmWtii1OrGy4O2{fL}q97zL#j67$H;?g_&7xpX$_g5Be7NA04 z&SuZC=OM5_6quf0fvM~tELtqhVK1{+*sBm&A+SM!zF%i=AO?X00_V$T@E!u|elS?= z&Xwr2pJ}Dd;kWmVDs-kOX7CXq8;IbfBR0OVxWA)W^)dHTKHjXnzv3~22Fk$t6qkWP ziVL_Ag9Z*MF5n4PTr?Bt8G~q0eBc^n3~qtvWYTlk4Mh;R28Y3Ea2ebNk0HcRz);Xo z$WR!9LJ*+$B6!dZia}5uqA@op2|+0cO6MAi`oT4n^n+_Ci@`0UgNwX2|A-gVd1Qj5< zNyE_G&;o*R2rB2B$u+b#wDU`DTP(R1u@JV$l3OWQat$r?nsqVsK)4&a8oC*}Lr?_* zBuv$E3_T4o829QBg{{8q+e8e#5yOeW3~TLvb(|)m+RhjnKBM`_8yyhthQ26izu=?~ zjuiDwe$;I6`U|^i*WPgY&nLL27zX&sO~d5YdQPM1EjGw73X?n7FvKv_FwF3}VYp$0 zVWdGbKnPxgpbi9eA*crdl7?#M;SEJc0$nH7rNR>(c^v$iw*c@1;Y}< zQV3c?5SeYrH7tjq6$EYakKEM;e0zgo4OaM3XqMHm9&7y8dCjt_Q*=4pYS@X%-DcQs z*a1OX2--mqon!dOunUvh9)b=ppWM$8j$Z`h_>Eyg`QH6n88&ryCH^q?)L~5Smni91 z!AXlwEK}mAk}dk=$UDkZ9yqkBwp3}Yx4<`s!+v%TVRk!XcGqKt*E&ey={b%We!=V> zH=Hn>H2h#VW%$u>+VGR%jNxYpxtJhHYac<2>L>hmT$f?r*bxgAZO+*9CDQVL68hV{~XTFIWU4L5Tw3z1i6BQ z%oPges?@-ppWR&gW8=w{ zXGPW7|9b{~p2rzY09(dLr04qo|p{5l$Wn3-bV1h6Ab^5 zZ>xlMZQY>$tgJ^=v)JmTu%4KLl1>dyYClt~X!NZ5O~$+K{oEqbh^D}b)i3FvnbsR( zCWp4kUCh19&EjTrbGY}oxe!c;UvFO|a>Sr#S`o$lM4$y31B?wR$ zK;{4SSoD92Hh+G!x_;p+I6SjQUE$DVd<6*JdnN?^nXqv^#|CZ_3NPn2LNG7S@Ny+p zPq~BJkCL~!V|dk_JBbzQN?oC@LHF^19lmvU z@Wm^2`ph)p|8^`ocM+@8-y!%=SErY;I=#YO#V-g}L9p8Yj?`%}Mb$;*4tEdhxx3t- z5Uhn@T{d^0djP?D2sY)LGUWl!V971Y)7XF5fFzeUV9DJWB)KZBM-cEP9?iAo@FFkq zG6b6;*aE@U9A4$kSeb5vVEao~ro4-gd3UgeJX+u(Rr+kRl(%mR-9KDA$BUFHUjQX7 z7@Txk+g^1So^85rY?sJF5e0S|A3I%q5gt8lV=-TpFUA+=OYkLmG%dIjf{!5B1;NJ< zd;-C4pAO~A@#XOyJpmp1DFi6cqSC*mL;qP%{RL2ggHx6a*(A zIGN3l=HG|&OuHvs-W6;rh&8G9SusWQ<&*YH< z^%DeVAow|lpUuy~>hKo`etr4sa3Ruh*}*!lbbPg$9eOq+cUWfLAGNq;HLMOlKuH$| zC!P7j&GCneHlDrYt%McGvOi`3?L=eiOf$ z-@pHt=0o}j! zg7$rQwPuQ+-jlEU`0z(Cyx&4_Lx=Z!1TWgg2W{oUpG4dEpsjo$xQWOO(R=zd|1+lc zCmu0z8-hF8{4e~k5Zr~}e*RH=fxm7tA`Lg%Hi+weBu*P~ul+(D$_yz>wy}}1F{G@Ja${oi zW$!Ixb7Lz6pRt9pr7;pxHb~ha<;XEc8CzrcoRD(8eE2#dqB;c=)%B~XBdYFdIcMej zUyNGj2q}Q!>xzO!A#i?lgF7f#=HQo=e>KpTO7C80*tm#$HHcQ62=JF&=3w zDkNBAscUrp`WXB9iS3JtE%=;FdX53c*DVI6OcsdIE+KEt(qN#Ke}>i4D~*LaHX3t3@{|yt1?T zZfA|tFtXDjRZd6tU4*Q077>bHkSdRYg7F&)3Kmc3eLdfpjk#T5TnMQOkP6E-<`@@2 zDjZU1TZH`LcA0S{<~G;3+=!}B5mJ>PRXNA_p>Y-FwhE-GzI<*sA{aLX!+30={rmmV ztsku3_jM81;2gB4$06fZlyqBg(n4XeMSuIEkzwoW@6>&eQ5k&$-w5l^@_ptGZ@mu3}#-qmXjmM0~ zjVFvJAyo%bbs<#`QuQH)^mIc=HG&k<(h-nql50E_fcH$m-2R5)ZK}iDLN~V^U$Ofy znA;ne-J6hVrn7qovwIi+@u=sT2mbfD$#S5t1wueO)@2K%03g*8QjysLEg+Yw6{Mo` z4PL=0NC;j*5KIDc%c3CF8d7c07F~iOsOa7rsx742;nMzbi?080!>#}MjXH+}2O$g2 zU?QtGEYV+@RR6-%tRtOrGt@f>UcrNsh6E>_eX-x(rkh(89XDxGPw$yz+hcfzLPAm8 z$c53u5!D_o90|q1El71hI|~L4?!^as&y*4T_rMDH9$2aqx)nz#hHhj++5VbI&rwOJ zgSZtc3sr=wLN%efP(!FG)Dmh7==o7yAle;`>ISLqkm>=co{)-xR4+)yLMkp-2;2iJ zH1rQ{1$+-I6|ZyK`|;p5{S~4Zt{wQ?CFBAz3DX;$>jc?2A zo!v`_$1)Ww#6c<%Qhl<81i=fbBuJtC4)STmQ|K%7$F`%Wkc_QPUt~LkRBUzn1<9bw za(c}&g~6EiEMcH92vYqal>({M9ASts6r1Wah_jm37 zoM_Q?^`upp_BT<|F~Lb^XfY?xSQ~!uo_W;6+`EGP3GL&AiMY{P2@^258P91ny~U;q z^Dwy6gz3TzVW#k|FiV&%%n{xb=0Yk9QUf7{8gekChCpg4q>u~!I;4g}YDBK^zTe;q z*#U4DV{k|6;G%sE0<%(YzXJDP0CznGcLSs}9o)?bTz)VS$`8gNDBmM*8NKa%eEW^? zk?;wIc9-xm+C>pkZ)6L*g-;lYmdLlUK=;OtX{@gaQ&+Lyc z*s6WJs@W6%P6j(p2603VqVskuCF6_PPpiY_5z0X9c*pSU~7xQNB%PZ zuIIQa+{e&f6Rrz4gqy-G;kIx`xGVfA+=J9)NKJv%R7g#O6dFyIBs$iAYHbasv@)Kmczn**suFWq9A zsuHrPS}=xTBRyxYtZ3bEym$V^^&!+%M63zj9Bazs=GdMqPuDz=)%@^p>N+0~{srnRPZruC)`rj4derp=}; zklF*O&mr{%r1nB;AEds76!LcVL+Wct9mq9p3)t9?(ET=b$m^!v7};-hWDoo9w<(9` zk$-%}?7zV5LCowSNFCIf{T4B6`VMIL1<}^GyL@kGKwC%e>mN*~F}J5oKSJsVq`u8I z{bV`=sqY|lGXE^?Src;ea!lt;=S>$Nbre$HL+V(L>37p5jNoxdop|{O-auU44Cboj z)y|I+x>K}pd}EP7Av<${Q;@V{&xg!VWo`T-F3wV zNI=ATVtt7A*`}^#iw(s_kh%^j->wq*vT`dn6C)A2Vso*Dh$gCUKZsmxr#3+pJ zZAjgD>FA0b2wChH%ww?z11=Z6)#B{<>bF)qho#_$nu%Rd(yqZt%Vpj%_xLC>ed_jm zp~i2(6EO}`m`ALMFsxYp^3O!yi+x1@60Yc5!hQIh+UUrHlcU)e5KNg zL+|VPB3{B37l;cXEkRn&7IVZ!kX9gV$v2-_Tqdr-h2$dJL#x>KtVFhlHs@t~=nTDP z>qK-bM2@&#+#qg*v=!1eNTctY#Vv?>+5zd8za@pZ3!(gRFv>%ZG#q=sQInBl5>8z# zX5H{Urv6iu^t0fk?}o454M#QZI=@8R+A0s{?tMc27vh(g`c~pTWP546C55;WQIDGK zZ|0@MgW^fd?IH27ctreG{7yV7elH#qkBcWD9RleBkS+-6LXa*D=^~IueNhb3#UWiH zSNtJhdw&XW`zz+Qq|R;G$J|zX#qGbq?RCuU4M>;LxxI~T?;Y{3c!z2N>C%ucgWl1` zilr5!!Up(|2nny>N~DC8aXCnr&z5KjspC*chvyr)l2H<|5Ehk8$n?+^kPu2T7Q(O~ zAygTC8A!59PDHL`lk5`0v?8P{LAr8|TB^ zXV?0yUrP6}h+L@zN?I~F>D35?;Th8|mcgPyC=?J@F&3VN-rSV^qS+w^9d4Hx7U+;pJPj6*>Box}*Kq z0{_zyh}`0OU-y#m@~spr#X-6$q?=_+36dAm%^{6;FvzE%DXFiNf)VT|B}@Gw-2&1r zAsv|`rAlcS!B&utdg(5+Gzf7uIGC&9Lf>gc8b#C|_vMr~_ICal-!3H$LrGr`PRdQr zec0un(`&RvU~U-i(-T8?3hs3-z8ECr$KoigmfoJcZPHqNOy&FH%NDfbPq`P z%#{Mmw^BCPCoLkcOL+N~)*t*q$D?3JIu(s}>9kiCH~%fJgqLrn4UpEK{2}4xTWJe- zRoWtLhjgsZS&oHt90Iq4Qc~~kk0rc~vGj?w8`24o_GU|;NqZpO8`4SnXL7%k@HWQM zSJ+ujM9#8w06WWl@^Y4o=|O_hw-VmQSo%&nDt!;>zL4$*>Es;gxO4*Zj#NO(%jX?! zV=U#djqwdRzVQ*!s|pl5P=Dn0X=q!R zDtg~sl>GY_OL+fc8t+OW9l*r*2_jz4aYMrU7fUy#TheXmj&xW0Q@SVJmmWwDA)Nu~ zOh{)zdLX0+L3%Kxhd}f+9~zB-U(b~T`xnc!-(8mR{>Aig-RPpnOZa0i=n1dj&3|}h zynV5Z9Lo^_t1IK}i~n|2NG>85M?A?zWi;B+APuwS5^_mMkAn1@`39|APOg9pDUYFj z13@c?VQ7)b36egQ=^hY3xvE?fK`U32tIG(|F_3->(qnVvT5@d+?Knt}f9cT54GCFp z6l{4LPjG*}dRRp7_Xp){iGSe1j|7*SprlQMlh%$tGLG5b@bZL3cSj^)J)I}sr(hhb#V6It?(ypW^io(NgFz1%_WD0h-O%U$HIayPlVjEw3#ke&qT z$&j7`>8TJs*NL7E=^2oo3F&up?VJJ3H$&Ph@PeL z7Xnp!h2Ar{@=8CpD=@Z8pOZ9vqvmn(l1z;<^4+s`q!>ve1&$6wH|;xGP%@vV%OZWqemL3)FZ z?J8+5?zaR|x zqU>|_iprO;+~Ob%`3jcXJc2MdeV=jprhFH}eoMYB-+}Z_NPh(BT{-ff@;wau$B=&c zK^O`kWQ7VQxPGOwB}d$g=sf*{;UU>6H_+WdhZGhiH3TP(zjQ76lCx><)|{m?OSQj* zZd(ZS44OOi&E>UHOqg37gz8~KYAJSh#`arHy$j_}(%+IY-3UjLmVbF&jo7+>b%x(UgTLrD%E>x;P zT93g{YU1H-cW?&3AexT)!T0t!I$5c&G(ylS4U~qEJ`Cw2*-B$20@B|?`ulwIk(Cw- zcK4K)*hl^j`N&EX_K}a~=_AMKBG_K(jG#q>@Qwn)b949C!BD49x@GEf<$3|59HLzQ95>yZ8l(y0HD zX8r}zzd{=6<+G4J2kG;WzL2Yo2tYf^ADyg>!O&jRjqRmCbTWPS6|?^Wv(quNGa&tY zz}70Wu&w<8i1_IM_{jihuRQd4fG5n(SMbWMvOrk~=|3QSIa|q5(8}!$yJss$VIyf(W5u%>*)SHWtFlT-M>epRjZr0w3m4Qo`P<^Rr0v`cEh^O1AmKe zkf|+AzaxJ*l*9O;n{SmoZoVzJ@{5?+u))WR-f&Usj8R9Q;I~ux7~@w|!8hO1=z%7; zl-=m&0Qyc4ek!Hk7Oi}t_*ZTf-^wkD*ZA8^I3SXjC@Ej2x}UUFZH$cq_(NjjgKhLZX~hejutXSb&T0JsL(it)TspbCjQyGs@49 zAs_=FL+2>JD!(abA;Ut(02%Jt8vX985ktl()t{+Re{cWP^dbLQZJu1;RsY$j|MA%> z$HrAjs1hEBuIt4u72O~$t$liIN(PprXm5O0dQ#>Pf64-C;cT^_S_m>KWGs-e`VSXX zi!FeR`4G{C=&F`bOZJS4Zk3f88<*^Dke(hpBu6blOeA{v)0S3?`3rlTp}ZQ}{c(n9 zZ)T2KUadg%=nxf+zQicbVZ*}97Y?mdV|e+(!zxy*T(x}Ris6+i4jTeYHEg{YRT zRw5!Hhhp9((y($Z7=>h-9rHpCrUPpz*ufQ%b5 z9>|2`sEyRdY6N5oK&BLAO5=_#-x;G@xedzejnDKC*rL73=(9ILuSH~Pd~7BnHzV)l zZPL91lTx!X+Q+6RdIP6ulpLFZl9$Zm>@oghPp9_xMoZlFsND)`rH`ns)i!EdBoFP> zXtllCq08fE{B+4o>hI0SjP0M+Eg{fK9onH>MIcicGDsRq=69PGYp}ZXv^NXlg?H!{Oc&45H z+U_}OqS}Y(@lVNO6iefd?f;rN&l>1r(oao(R#l{`nMAckYMMGgO;rFAe_r#c<+?d4lWh9YXb_w#=F?*EtfzK_wFbM{$l?X}k4 zXSX@~!?2N0jov8T<+SM2g*jQ6Q<|gCh(1%8$qQ*6-DQ7|rwR>^nO+;LTvBNSW4QDS zqBpg#!i%FXlaIS3`ch#YA4~h$wYT1i=1akk%wvRkEU!4xxA2N%&XOMQIiUX)g}<38UCMBqf8aJstQ<%VSJ^$$3_b2s z`UA4`?4~isJr8%d=ke$ll+>%EpNM`k`l;xrqn}ZxM?V++yfBl^CkXQ-VV)xRy(v=A z3}K#ib@YqTJELEU-WC0F^efS?M!zP^dBR*P%%=$RmBRdhF#l7Se-x^%y+gch7&^B& zYGt?s<*#fYkq4?vt7Hd?v|F~Ucu9Rpb)aLPE~z9vt)$eS7C%tGELUDNv816QGb1fI zH9jpdEhRB2DLo@8At5oL%_Xusn3R?t?_a{LZL9q~Lz;=jQLFwVX%bQb0e^f4X%dn$ z(vwnC;*(QSk`fXV(-Kn>Q}z`nDLDaYWbd@42N(U3A|B_<{% zV4jTl`wg;>nbTFJ)!Qb9qKGkFOEL)ws2)t*ZLdvp3T(C@`|9$yyF8arc?&UlvS0~ zl*jr5ODbyu4VmL}#uZE$kTgDFpz(P{pu``jkF6^SRy1U`>l96`EUho8Up<^+0#&uV zYz)^^HUF-!TtRQ8Bv=ya55<Yc}2ytU}N1%V%uL`U9+;Xx@37p<(lD>YW#s! zaW%D-^1s8!HC9&n`79WyuMYStOM-!h*6;LAR$Qrm$@oBNV|i?4T}3ToS5`MxmC!2- zcfgEG8dg>=3C7m02-MeC`YETPx}=`FR8Ci zP5xh3=KmjBgfeX-FPx#!{@+Zup+r?Khn&dU{#e;P{2$L!b;gT$yObNMuN6xgWYbbr zvig6sx?}=IJ(=@b)LUIrT{Tel2O8-xXX@>FoRK)P8J3tD`XVk*Hmn1U=CxhNA@o^m zPXE8$Z}^iOKGS%))ceA+$!Yk%nE?NmO&=}$xBG$zw_C{L{+e#;A&F*mykl#4|H?E{ zWJu-)|FX<|`mYITalCHm-BzQom#MeYu_bkNRRKBBn2-_|AKTL14PE;GS|-wa@_N6U zR&W7aFRcdAMKn(oz$6 z3rc8i45C1%_wKu~_R>mfaL-V-S{>O=~iowHJ8;F=4HZM^_Q={uufCDTc>wiQlY+Z)jdzWKDp0c|89M;(#FMawAp+3=T{0p~F8oqt%*ss^NO#fO7tgJp^g|c-nt1rwo z2QgZ>E*DuViCb&2b+NU?T52t``mF)$5^K2?t)=o3CHc)@RBL>Nq>j!e<5s}WY`K}J~|w>#}T&OS)D9ll_Oy* z|7aOlww`L;D1-JiD>Du2gn50l^$aUB4I6~{n8O#e=UF$&hn&xnDRUD`rmPpTWXde| zw`8iv>aYu5Ze>yLR_kW#7HhLGA1lnq3G?w=t=p_u$e=wzm{0ucgZ4Ti@%oODIPRq7 zS?AYHKC|hnw>FmByPP6}_9ia9x#Oi5jyva-%#+8Rd(o${w&%|Jd~a*e-e%?C02#D* z$e=x02JMA1(}@n5E^M)Ttxw3Hz0Z2T^#SXH)`zSQTOYALYJJT5xGx(jI&kG0brqGfp^R~ZZ_P-Fb@5q?lEzIYK zWA=U7)b63F1!2BGHnsdgQyUqs>Cdck;jr~{>leaI7wDp9>zCHAg!y7&-g4L$OtW*;5x3iV+Irb~+xpo0+WOi0 z+XmPM+E{LJl`vl|%-0C>c459&nDK+_g_&}16y}?@+lClHYl}5nT3dn)+MB~cduvNe zd*9ztd-$W)HioFRjTPowLQ!kWK6p!On{1QohHX=9Q-%39VZOcDHr>X|>m9<(a{t4$ zVcwQ+lk1Fa1-3ah-m3l~%y$a&U0ZF1Ho4B&e77*)^Vi2L>x^ytS!cZF_=-E9xH|Wk zySv2y^YwebyjaF8>x^ytS!diWYhuJ%JIB9zS#TeIX^q)Ro4(GtuWgxpJ-GMJ z8%&`5 zM}_$@VW#bULYSWv=BKvXP7Fotsgb*Fr;66^P{IX$v@4{@#{dj&qqxPwYIkHHdYTe+pe{dfL{>i z7n^N2*hs-Uh56;f)E5iJ$Fu%6d_OR^{8St+Q^BaGCz&}kCKhv@6+x3BNBTDP1KYUBS^69a!UK%L_ z{&_Baq2r~ueEa^31CPs|eEOb`%Hnox%xJngI`{st33l0DH6r*G8NqMMHup~1=I%OR zoBOuyV;RB!w7p~7ZF|@Dp6z|x9@_`D4{aX_^E<*!U+i6BeovTLM!ZLuKM>{*g_*BD z-fsIO6v1DF+T5>Y1b-5a;Llpx-0%Mm;QvAZ|3LuT6=D7~6u|b#gSWZ%&UV>_vv;u{ zDa@Y>^B2wbZuaiN{4Zht>aazw-EP#zsa^dH6`t|(|R<%_)+KI2wHm_mk#fE z>Ghvpb?)VpW^_3=V{@-XkF0O~0Zn_NJw=aLd$NpJwj=!6tF3*cJ(q~JkFsalN888P z$J(>(>h zMX22lTPN9GZ(kw9ufZO)HwyI#p>`H(m#y}d_Em(RdZbXh{`KLvftYIQ7*o^FSdp;n z?rDi)$WIea-L&Zr8Ggrd>2Vz|t?6{@$=}{R{m9#UHP1`Gci6O+PO|+(yFB~deiB^` zwL4u6`>Av_)TsS*HKI+Qg=^+4`?*HUo2JO8?iDUvzYx! z`%^;2t@<_FpRqqH)c!&pc=%e{o%WZd5B9b1qNP;_974PCru`im>TlWKw*OP8gM>O* zs6)2eciZ2Up*~coNB#Ao{xR|UNyqrze$$z^zEMBrveT5}b4u@fuu6vd=Un|ChWc0by++i2BcnF<5G?kSonHlNw*PGZMX1Atn$T?j&HlSk zlZ2YwZt1rpvPtgdQ{#)H(!=X__1%1OMHR~c{>{yE4vSG-;=f-UyXV^NcXM=c9NBJv zgQL46s{IExhl{;V4!gtQAP1!i6=xW+)!}w{9OR)yTOLw%awG0YL$-azq=g!UgKJ5t(z zknR|XpExocBZN9usN!Mdw23E=)pTnh*;?pyd z+b&{oOfYWCKIm=jwV3RfCPkX!m@3p9q2@L_raNW`b%IbQHjT+&Q(Id-uf8^@?@Q}9 z=F_`xwry#6Lf<^$C?LZ*<~Zg$<~a(5I!UNgggQ;A(?c21v5@a0cbm7Fw>cKeQ5w^u z^8eMzO@sT5*>%BB3jb#m;ZztmBoU!`BGPUXV;UqAWN%`F#J=@%N8hKke64L`9V z^u4?y{5=mH)-rSFSmRhPefVfY-oYE|JGwx%r(~-`x(Q$_3 zOvhP5og>tFLY*(v1!3vg1s=B7rZ)DP+reI!=xR#SIySelS78TxZ422$UK+NCv~Bo_ z*M`17u)S_^+{1PlWs>7I$L)?g9RG0K>A1^rcN6hmB-CP|mI$>>r~#pt3$^lU#}3E6 zj{6+^R4{RutqUfKqyhs1Xj3rAN0>R9LxOUO^tf9!_;;5?*lOhGd%Bsqs+>)A8 zUte3_&_RBEEs-I9T8s1<@^8BEe0@OSWA~AMry+f5any~6N&1#*2>m6$qMl7B9hFGX zS4|mOq_$|mry(^G!)D)K9mKbGlGV19vw0!T54c_&a`h#d}ye#v^eV4!>z`@RUP|HO^Iw7YmM%G z9VF#8}AgH&F&MwX)=S`t#UMjpPvXIq>-gt{iQ#naiFvj^m-96bKx)6>O4xQ8-#kCP*0XGVDdDE*^M=1fM8%%aCV?f z9u<&RRuN!l{FK1z;;5AUT`;wzA;=*Ee(oI4p54kCz4J6~wQ-|<-@yId*Zz9>fUv*` zPW`llMNT$9Gw9IN>`Zae|E9-stn91oXV>yh=LoDc(m87G^t?E^lV9$Ze&mz$Za!Y9 z#~Af6+Bt@LU^ic&**Th%8uUA|oTIq1U+lXl-j~dkVFAWFC(ucZUgXTx1vtLhInhan zj~>uT2NHnCPjgOp&L~8H2E77>dSY?Zh}_)x#O&;}aj~h1Ng1)psfo$4=^62fv5CnU z=tXaJ&T{4{Me{g5LjU*9(9`K;@yx;T z{9k%}QhY4`W!GhPVp3{yQg(b|PUu0k4aO6~>dtc(u{+;c=$!9d;9MxwQ-pe|P)`%; z>D!!(oW;(?PWn9?g?ffi&lKue(gcV6jN+(K{uMz#M>&)QVmU{ka;DtqIJ2sxEKpHf zCAVZ6%5$zuUF(Ofg8rXau)UZG=}BzQP0UH-C8C2V40ot7++q4PMaf@D$I*RcS?I%6 zUndl_d|0D@C|&H%w^}}2u7B9~so5XRyP%CX1)Uod=XPhKbA@xIbCq+obB*(8=UV4F z=X#-@Bh+(+dY(|v7b^E`66%FQy-27R3-yxiN{Uk`DW<*7DS}{Ea4=!QH9EYE@{diIX z!CqD$2y*>CU(Btn=e!Pi+D4RdN8b1;b4uzf=^E@)cK93*BGb4stG=wFGRRpUjrD=T zmYZ9?HYCa|sjjRdr#RZmGmVaLmE59(&+i))`}t&at849Z^&!PwfgWd^Z?VtKa`(a< z!%^oO|4B$0maM-DIWINNfeDAsW+&s9+eqZiWLU;5uN3N4LcLn3*KBiM>AcE$weuRG zZWrpcLcLC?*UQjxk_@xTf|V;caz-A*QXkB(49W^~clcrsN4Ic5%KpBZQ5QNoCBDO5 z*|pW|vXEcrHC9)%wb@7#d4Y2M?3V(4Yx10gl-#5Qf7GXjTDL~`+v>c{dAsutp)v?` zt58`N($a$5<-C{INax+odz?FjdZSQr!kf3MX6OCRD~0Jjq27X$Qa73C+w0cu*)!`a zIdLXPtsiyp3&*j+DKAi0!v4G3`r@b|2fx~Q#+;I>#=xxJ;hK5e`SgBdj@<2h*7=-# z-BfQA>g`Qq%9P#%B9z`coic~M||E8&hz@S zQBKxKVgC~8BcBe zmm_WVm>xrh#*Y{|s$XW-q{&mJPRpA+Z((sk{~CG;FLmwKJu2GTlH2F>X9Igf1IGtt z1xfa$jqD_EifD2-MHc2YmX&cBLBRi#gP))A_@wO10;?P5^WTs_Tii{Zws@P&O*R_8 zTpIRQdiLtwr*F4@{Ra#jG?>rwD%S*f){@++l5+VFn((sv$~w$WDI6s*x6&W1kR2F0 zCjG_^l%p7m5`9uslV)jBn_Rea9A_z21@cxm1OwFtljJkTk=S4AcGR%gxZ#W}7|(4j zx5ab4`+n0#L8rCJbX=zw7J9`zNBDMK?8dPTfW-q>^6GrmN8A;n(Xq~<8pk> z+2fnKH$^q)PH2j5vdX9WC_P-VJkqGPzIDI^g}^@qekUM zs(Hp=1G?oaNeZtBV$ee51K&Hve2)LZ)uxZGI!XnoGHTKc6cWC0g++{goj~qLQXeQl=`i zILob8X;juK$8#vwh04XsrOM^XHOfuOoyx!xo_ zKbd|p{bu?jLX9{gqDw^Ah^Po_ggwF;ksL8SVrInbh`AA^5z8W0MI0S*T*S!{n<6fW z*cNd|#61zuMZ6fXC*qTcuOjwF{219aGRpAl2$S(&r7ZN{(0?N7h2CNG$6j&1TGY}T zqc>Ty)%l9^HKhm>%72Bk&l}EnmDDTAm~T1XcJ6S#q+nW(~FRaiv}IMBzaL@aJ6iM{^ZJh zy4L!Y{l;1h+ZcVMFOBZdQw?_3O{m8#%CGg8tnOVB?46J>A|d>{70$iR-;~sAoZmXX zbAIpq!TF=}C+E-3U!1=R^#P$iDAb39${5-sLVZ-Ij|ug0wyIo1@8=IC#bq+>bwxUV zki8+<^?6cugP!7VmX+KiyF=1o4%D2>roGyglNxeKrFryh0yT?TKGpZjaI7x#()E|MvJ3H%L3#s+d4X}`6Z?D{YVax1?r1) z(sRbqqfCm;j?YeyO&*t#6Puo#E4%o~={d>S<1@ykrW&oHAs2U#E2*Db(lDp8LH5$- zRt78bNKI9;+~TOAt)f=eHw5`?LVayxopEpLV`VNbj_Sq5dRrSffN)Wsmg4f+wpdzH zKPmiNqeszJrZ!*oi0_@8(K|6IEvPy#9k-c2KU42}AUHx4B`PV>M zkGq66PiTcgD;C;fp_THP7LfHBh5UIHwJWEWtf(wEdIIvJmVah3zE&I+%||T*hkA2m z+&PKU{q*GAdRfbz`eh5}Fu9-~lEG0fv?bH@105&Sm(*3Xej1jczv?X%+ntjF3kZOp0q! zEH0bVr#K@DvxLu#YWa?2(NX{h=Crv#4Qn;UCg;&2r75JMNn8%5&wr zcw2i%s3hKZh5FvM$oF0IT!s89vnf%i?+bMgf00JD=T=s6NRJ-x<5o)}=tCCKa#*89 zJNYqPoq`%BF86b>+bAR8FPOA%IkHpVu9&=9hPY|u!=6*>@-qQ%v3XFCzTh8`alEYHTvL-P(K#xM>C>s*|!JVt&sP!YF$Qx zgnnf(i!LN5amizj0*mPSk=JI*lOd`3qVSy1B<^Y0oWwxMY;Bx#P_v~=^AVlx-jGi}QmMvgahEG9JgPiJLa6_eK6|ulZOCW86zW(1kNE8It`nutG9LEz7S~Ba{pL@7_B4EU6_v9cz(g`U6NIQXFV;H<`A zExilbe;5*_?BnCdoxE|=MK>Eh-Qwwv79ThMa%;H$&vIR;q+aDZ+jWlXT-SN7^IaFX z7zX-IsNW0q2ciBb)SraChmS6lKG(~2# zKKoCUdRmVQCDQ|>W8)f`QH!Gn9IP1L2{>1yo{14FX7?(_HXlRrT)vsSZ-0Pd7JBY*B!2Zxb761Dzqbn)>&xX{_8DTSg!kBoEE;t^?=Z{Ev|lJC1mxb1Si|bXPu_X5(#*}7x6SKVi z=VpoiFPUZdA(~~+|B+dCyWVG}&-JeBJ)zlzW^Z=wiQFSJhcG3{RO(sY7^q)8lX2*3 z=1A)0Y)RuaHT zgyt1mZ&`4R?0e^wG_20Aom4|_n~uaR`KW9@r@^x7&&}igwdG*u1^P$wgo?c$h5AkToIyHY4mbMq%1DUw^$+zY3C-7} z2(72kdcCA{cPnm_JHj0qF*#pO0MA3SYMD5N)dtL$o7?VoxT&bVLhC2A{z4nD&Fyx3++Md^Xaj{dNN9uk%m1x* z)!o!sKbQ^5@N8wAjC7Y4!5P)kkkQ=7f_^ zKl9x4FS>Ng)~l|$?#5eh->F%SIC7sp_}0#yyMz`-6cURK`a-3sPCMn4$^Kqw1FP!z zk%w>t$r~&gx7UuGC=-R-9F%4+Y#G>z(ssJso`0j5X%yn?xwUglj|IkSf$Zxw%x^ui zJWAQgT+1PsIC#B_68raT9>8x6*h6Rh^&TInV?k1&ri`9!VJXL<>udUU4jwY}kPD9e zp%(=Yi*AmMJ3ztnq|h}Ca_o#xNIc|n<4ip$H#x02g+b2!3cN6H)>K9ujAdj|5j!(R zj6CGhd+nG*>6vNN(&+i}&0n7!ZrC|CYuvw4#v;lXpGz4z^TJERq9S)roOCEjSVWO+1 zw(gK`9lY!-Zmkb;Yr`C)mZQu&SFBuh=p|I9Q^Feg@Toi3u3LYo>XHmra${3kb7xUx z1aZM6J&boAd))DdTuR?zw@}K7C-HcDlx62Br=E7`w+>vztsAA6pHU#aykX~AXP&!=cPpO~r(`NqlqRN5Pf^ZQHt7?m*D`hbFz-}v@;>#R@*!_i-zYzrIx}V3*EGm< zlqt=NmW^hL%+ zW=7^lPKlfzIX|*EvOZEoo)URRlgw%64D)F7Ec0S>rMbpjZ(e0yXFk(>x%q1I_2!$+cbK0v zzh-{d{Gs_%^LOT-)vjucIzSz&#;Hkau3DfjQp?nGwMyNfZdA`v&sVQiZ&DvtcdBoy zyVX7FC+e?S7tOBq(0XhAv|(C`mab)KleMYZEUiE*+2=jh+eka$KEt3n0LIVt; zff6|{5x$l6oATEe##PmpEi-nH&U5Fx3xt*?v~;0m2o3vmLMCg+s&g;wq| zeqPM&ck@n_DYVhLv7+1b9(xZM&^s}{ZI&=@TgtLt_cEc4WmVQI?izQkyN>Ssa(BIw z?+(HW_e%FFx)k9(BjGi9i&}@QcvWS6x}#;nZ8i&%7)J^ipL1t5$J(}D&dcv4`AZfv zmW0b}{Z76!vSmwXQ-zi#v?*A%Wn|WH;E-wJa#r!X(vtL))IeEjsqrp(vilTXy{W6#NhD)&i(cl;lFIsK z_o?zt@}Sp*B|E+AkM0wMHi2J-Mv_8fy9c!w{yrcjr;>F+!yle+d^kBIeXmh|xzDY4 zgE5ZRn>Cuf+qlDM+lD`k|1%W0#C<7?T2Y{#m0PuGKMmOIzDz1}$k!Jp@oP!(8R_xy zQ4!$`*X+JpM(S4gHun|oE8SNKZKlv>32nB}@`RRug_{)`5|i{OVW9g)wcfYLoX` zFS6HTKB_+aTMJkojfj)fiO|Psh7ocE85xn)?+u1CC`v^EXRh(YNT! zMBY-s)IiBH2HN$8gmo?RX19D3Y6RutoR+*57U~`MXG-d|?%nQp-S4^Ickgk3;QrA4 zk^5u!C+<&$wnS*V{9g>=3&MW2mPiYL+_eue#maMLAQ;zp-Z+>)FCW_wq0d*YRO7HxEi9AaH+ALIAe>Dp=<(; zx`*B&XYq!YT6osC?{U&$@Gl&jN#8L z(_W#SB(#%-Wr+NXWrkb{*Uq7$4Gj^5m1m(okj?mPA`V8D;zN3HMWOm+5GWz(s0Ff4 zrc~DW^@Q7lfNZSt%dniuy1Ll`MvxoWL|UycD31ysIqI3}nL)gJrg^3d?G&M%+U%L> zrhjmn?BNnQR%wl_hR|a}U8kt9tMR4oUWRSv&@u4L_001Wdgcr5bfMiXwB5qOAu+Fc ziad)v#h%4VcTb6@)Klj1djg&%o^nrxr&5{bVQGxVANmQ;cFm-*Y_1Oj_xi#RI7g=~*STvxIhz(9Ub=b$R^mEZKKKG^&zbmUXIsnXzD!tYy5f zhI%xfricyl(sNn9s^zrpxrQ$|-stk2uXlMuqqi^Vzrs3G+2A=<$!}uheNz+fxBRxQ zXQSr~k`$pD?skT|vdx||Wp8GGUoo`pIoorN=iK>n$%fIT6WYZ>yQny7%zw0}y7i}T z4XG~hY+8U!;r{Yg&xM|gl%lpDkqhLIZNM-4(>Y8NvCF|$*H~IrS!UQPwn1OC7ye~a zSzWRnHo`8fY~0L1c}YWKL%8+!2g14IGS4-fl;gSFv)Qx7)9l&m+2*;zbEW4h&(%V^ zTxgqxwnb>oLfa~|Z9=<3Xjcl2-rCjMJ=yfsr}^(KoRp(oqc_7i(X~yV zHGM9-ZFd;$y0`VwhG=odGBE0$esRYy$qCacYsmX`^n&*LwcO8>Eq`K&b@nvx`@Loo zuLt^ySlY3UrSS6`G$<{>Bip);rRZzd^aK}ItM6CeUrELaH{&X~qU=B_vA(B*4e0y( zT5i_QWwAZ4iOi&QkYgq5N9A5yqr>OnT%0YQ2ZgphbO?dx5fU3iD_tYr5jx25>831^)4{BxJ~SssjSIU&ch*Ymx8LXPJFwmH@T$rL5B*wR zL})%971}*|^YKm-vzhIi4{v90m)7Rv5uxp9(|qWSfj1hj^jf_(uifhq+Py*}nd7w& zwX_IclhGpZG}$8TGjr2UN-j!Uss^g`NXLQ?h)s~#-^M*F2yz#)-3tRG<_h|2WY2>vW@~6GUA%Bs} zIpoh|+0P+=VT&E-W#unFIN?1(X2O4x2_u(t!XNkSd&1v5-W=GBP+8M4g>58-o#{P` z6n2i1D^u7WJ%xQDG+LLtge8*WviD747kD?drm&BN_Fjh+b{YLy@8#aj-Yr6VUuYi) z?ZejWwb8mqCMHhmrT2V*?A5*}8%|Hx8|mqz{iUZldU~?AOHX%rAC&3oAKp8?cX{vj z-s9cjz1Mr6_kJ%ak#UL7g!Z}6z7X2Kg!ZM-z7pEkLiE~j>B(aHJ3aju($i})JrVKWh11hpq$l;Ah;9-Q(Y@&c{SQ3K7}oH<@BL85&K@t0 z_Jh!VZ1#TS#V>yn+AoK#r{?{_`;`p0zTPioPwi*IE$U&yt<#Sk!YwS;_uijnO8de4 zqZd(r720n?`+ckT7w@k!rTrl+%3t19^F=D%eVsbysoQV8bH#^cS;3~O>woNi!x{@I z&8KmxrQ@YNuYaQWLXq|0wqre!(dQlWYD-G>DC1ny?%pES-g=OG}pWIrLm(vFN#GVcRpX!r7=@2kT(nDqn_C){*zO$r}&!A&v z89>L%{DSOQ-FM)QmG1)IMMmDbQ0A>cu0Y%?eOED)UuMin8;;fHl~Y)b5|-&55}%izneSTPbtJwU+VspUNy0KrPkhrl z_RM^@_-<`Ye2Kym+adAYMbFH4x9=X`4q=HCmf^w@-;(pZ?R#dSl(yflnD22Tr6uey zrR}FH=6k{Src7xs`gZzW^6m1y?0d!cs_!-5>%KRHC0SU=QmMj{CM>vQhOmqfmXX3T zN?0bp%Ct7-S8emjR=wH^q>{myom=%vf)xv;GDF+rw~ zV;Y2|bW2R5u#_ES3OQyqQ^+xEVvZITzp#|IPOZkQk2!{T+;<8&=2#^q=6GQVFsEzb z7lK=?+Hb7b-FD$e%qcPa3~I;w`GKyOvxKEW-e1|&+-hm|z`xe6fb(N6=XBwi3t~3K zTo`jv%*8R6#9SJ4nXvGJQ6((Z!crqFwZc*-EcDIluQu8sdE|-lKco4fI#^|+|BueJ zJV&c#UXMd?YZ_{+0&*gHYGrA?Tnk`qV$>%*jFV6Hd$l~*r6EZCwZC4TN3!4RXHFWQ z&v)$#A9kRNrv-u~eoj(pf4N+hwBNF2#kapy9@w(qOY<5_8}xIh+Fw8XK-Y&>Ps$0} z_IDgm_V5CnwwE)XA9HKWZAy0z6`CA#J1at_=d~=1Fq!~X;N)F%RB{tzgCaj;;8;=}H#R*bJt;Om zB|a-VJ1Zw8D?1H$lj|5f&=-b50*rt$Fbn3uLRiExUbA5y1fUvL!3H=EPJol(bT|Xf zhI8Rs*a`2z&+se!t|(TDv_?QDPysoto#9C61{|?uc9f1-s!JMX_;`gpKvsHgvUdooxwR2sZ)O*`9+JU?=Q?SAg)e zy#a5*KY_Ar@4+7U8h%m~yBRb%0=fWpvzJ3X91Q}nl^q+|FM-QoGc*JCad5ALdmY^C z=n5Py<){PhcLZSteV0BE2l0>y$*>VFhD+gc*aF`wipvC%fLt!hcFlw$D25WCeAnIZ zI6MhY!?TLwo&fnk{ky4i_k6e?o&fCPei_i+{Tuv&3-KHe&++ga56|(Sg9jZv=-|QD zo@lTE=NfoifZQJB_E4Xmbf7*x)Tbv4s80{i_fVf6>eGYFo;*Mn53+d9hsWT1Me*Vn z-U>Jyo`H`Qg^?4*w;0X^bn^YEC^5(tgKx#)TQN~!1rPY32lRqIfL&wa0r_H(FQy(g zfPiD+cz77F0b3lEm|gISqV%u>_xI=v{QwzyP*x9g=`jV6yGH=-K0E?gmuv0JUq!%{oRSmU(EqY;# zUf7}+w&?W=ybmA1M}Yl%j{(Z=JsoBO<@ZL<-v0n{Nbh^#UPbAH9)0kMKFHo@5DWpz z?Q=R%&wZ%pKGbtxmxDD=rJK=6c8QdLWpeOW(zVIyY ztif-=KVi3`3>gU%VKQLvA=rD!^*|XzcEEk`fT9fL`=N885YTC85nKn<#Zc;ED0MOP zenmNoXC6fz9ECnd#RBpkbtYU2m%|p=YBYz#y7FJ-92O1u&pZF_)dX2vZt_A8O{zkYNZh`yZ5qJ!qfM?-(coEPs z9(yF%0J#$ez#yPr5|A|kVG@uv0a+8q!VH)P)NKNFo3IGV0e?-vW(iF|og`2v3Dijf z@+Kf}!dY+*oCo+x0?$m01~2fu#1SwGasb~-oCWiNvJ=<9S~wmy!kK`NBsRk~xDwDi z5xo=9JMm^9_7l-J@p0G%pTKAE1$+r#!(O0n6RF!o>Nb(OO{8v~(sp0FrlYAH40}sGM@Ccw|GPR0p_#vQsHLm9kT@LuvvfLl)%1L?HfC zX8?7Wng<1deNvah34onad44MTr&6D()Mx71a4wt=o8Tg#E>mxYTj6%V2C3K}6&s}9 z3-<%Er#=ji!h4F6hRkULU;-?Ivw(Zk&@XMTqNGQG2hbxOJ<`!59s8sw0(zvULOP6q zQ7{_D!Zer-`9OW9FMuK_h7wp0Ti^yj-gKUsj=bqR;68W&sI&AJ;SG2b-iF#s z<&}bRM^Nqv${j(uBb?9=(0RlNK<5$YJOZ6ZjDzt&y^f$>M^LXLh|Lk`JE9B%P!5%V ztw&TtEl|%Rg0KQs!Fg~SyavcIvL{gP$OY))wKfy1GG8Xy9j)aLY1F+%P0+-GfEVE_MH$x>hQI_s)^YW)0gi(cfoF_61JGgId2j(-2G;`Rj=KY}k_b5CL zPr%FY8oUYrgm(eEj+4*)Sy8ezI1;c!b~HG_4L;}r!vLFPPls86k7i?wY;2KT1dE{z z@Y!tS&aMIh$eoR^W}gJeo{fF7kw5z^z((2FD0>rJ1lS|{6+oWx_}%!iKzZZ2Z#?!J zj~?Txv+@6euK~Xu|2^PiITq*)=#YaBIZpduE_IgsBs>Gp!Q1dDpyve2onQv^ozMl)bprJ@!459)0`)Zk z9VejU1azE0y-mQECyWMcI$<1)hY2tVra%Rp2*@+xS-`#%DQ_b8O`H#_0huRW4$W`{ zTm?75U2qSe!$fqL_#ohe6JG#qGVwKd6LteWH}OOGSWzY+|D?fyoRdbu7(lj3IWQGw zz-*w7Ce48ja5G@*Nt8E9mhlVxrYMtDu)#o}%*m8Fc?4tv=*7eJ7*uWOSNb z1WTb7mO~KGbMnzZT}`I0CZ7Ss?_{1k`8N0m+zseD`2j%B$&Uf`HJSRF{5r+NTF%UCTurN2uo<=j&zbrVd;s6T5AYNGswmS;5DD0Ing#HM zX~;Qk2*g7Yq(TOag>1-$iGZxrkY^g@Ps29Tu*tNy0DY$6SJQr0l<69HfikBL0P1Wy zbvAtji~{OxI(0UkGN(@h>TLRaD2KJM0gi#=;UqW}Ho{qOE?fW?!HsYWP5l+%PJaTh#f(mXJTuT^Mh#Hj4DOrpDtxafGi`v}GkZZ_=nvGWfu0BMSah@7ASKTWzIt1Sq}l_&UzB?*ICcO3-AuS z2h`E5Zvj1L;R~~VSCrWb;0v?OV23`yb7!OLY;>KCuCvi~b`GHD>?trEWv9KACb@uy;lE*Xi@VUGhfKTO}4L1XF=V6PyH{fkR{=ARj zYuF3l!4L2={0iui-vy$8`pb8M4|)Rn6X2BM?0d57# zE4UNz)dI>apzaDNv*0Dz4c~z*`xijJIVR`?#MYe7&=t^k4*Jd+3`apM42J|rhBO!f z)Z?5nkOkSW7|?spR(KRXQIxseAqi%~a@YtLz(sH=Tn<+Q^)vT2xC8D2;%zQE%zXf! zg`My+yav?WTy&ZHK761k^DHm`5&{33hg|cJYaX_nHwmT!zA$eVDh`xoCTS&Qu=vtT!#Ao3|m<#iv43DOYnoDEO0^!%!UQ92uc9?7Z7g?8UgtiApZj7UqF2>5J0^xI0x{# z1sB3)um!fkm4FTlK7_sSBm4}%F+CIk_}4<@T6hGwff!ndZ!H`S*moiFEKCRLY$0{F zFb5{UB&Y|TvG7rN4&H=+0rpsk4T@Co0A&_YW)Z$xM7c$jTSUDTWdQY7G#aJ>#ww}> z$}K|IB6KY}8rB1P799sC!YOb%Gz0ZjbQN3!*8;v%gufQu3b(_Za5wCL*WpK|#A1MF zE-HnSfS6zOG<>Qk#n_@4A1k&2^-=7GJ}?x90rD3o0I^n_3h6Kcuu1V$m;ti^-z!F+ z;vy)9W8iY&S;fd!d)ap4$!p(T}!C167(#|gt3qfxv&5h!D7IkC4MM}rBDSmupAnIIxRUHkhSDx;F+cP zMrjrVfch=n3dmiGElQt(=K=Xk-+=c4`Ad<%6!}Z>wNi8_MTgRF6{XAs=umb990}22 z2N&RnWz<($AuNGqPz`l}TxBa^4XlMzVIy1&&47=UT@Ba5EpR*FS7mnt^;h?zSe#-T4hwI=*z%G7t_f!A=_du45u6}g&qpSaG zKuZ=?d zE9Y6|17I)=1>&ka5%9Hg>Zv>jCPD!$1pL3e6i~Pv*~@F89)hp}h=X#TQT`45q9_#> z@Ien42uY9&lvyzu<^ttbplbznRj~vrU>V>S6>H&SK;H`Vt=I-v0lHRP4>!TBa0d{_ z6+3|ESL_1pS@9aY0dK=Q@GiU$AHv7*siIVBfNYh>Q;ANM)JG-dRdQeDPl~dXI$fFq zqah2%13E070rOx16v1M^HcS109!ncw6&wxg;aE5U&}ZqXKs_y`UX~)`Qe<0-uPyxm zkZb9efDM;^2l&}i}+%bo_F^P#XwK!1N|To#=smX1nR1)7|^o{AE=_Ps+K_wEC>9cY9(xh zv)~*!4=#X<;8H-|s;zJZTn*G^)pdaERp?%QB*ejNz<$+STm3kEs30oT+d z06tYS3UXi~Oo8bz3-X`<<^uB9P%kyeTT=tbTeAXI!&<FCPEnRe0P-$J z-sQ-4>@sU49qrfcxPgcoeY1a%{W&J=g;u!pHC#d;!>d`8V(_`~W|}FN#u+ z-1W#>PYl+tgDvnlaBTzjYrswo`9NJatO2fRXo6$lR5%wdfQ#T#*bL1;o@t<-8j!i+ zPPhl~i-w1RdTYQ}8}N|^WDIrzM7V4uw!rt3=l%~g0fef z0O!DFxB{*M{9wh6a5LNncL4RiVkdkA=(&P=UO_#t*bCnSb-dzNK&F)uU=U+539Fao9lWv-#j zHR!p9a@SDq8tQFLHPk^p2-pZ)fpXVe1J?n%uDJ!!bIqM_58MY2!YhC+*Srb%&6;=M zJ@^1Vf=}Rc_!m&8M|Xu`Kz$s|GmkzWcEE0+KGyaGY_WDcOn}KS6$)Sx;MZ$Q!4Ktt zZPud4+Esu();7Vha1xvf=(F}rxE@{rWL%4UYxe;1twpxA$hP)t*sCb(A^`tdX9W+$ zKriSELjc*=4F~FOT@ql^bv$DoHd=>m*5S+RUIXfU-TQ#f>mz|O*Hh+t7f|kc%3a?F z`oTcJZ`Y>*dao}8%3WU!=(;`t6@Z@WYhXD9VI`afXTVu-4x9&@;3BvLE`u$w6|R7X z;9W)8fIJ%p!4#mp4cxbZc--(3AoGTw;8&ndnoQ6cY~TQNXhMf3AM}8sfK8ebAqDWc zrc4+M;{f@ajsfIsqQ09h1Y~Qv9PqOy{H*CZxB+g0*A+!{0cp}Uucf<=?z-ON2mbj=gG$2)MFCM!=@`8+a=->`gk1=VTpK&-!RQfE zqekawVbo}_8>9wIQW!O0#P7lH_q)f(z2|uEUhn5CKKygfnf>gmpIhkHlt`jziF@tm zUi-BtmQKXemG1OK)_!a8X207((7!TmaLfG%A$NbX=)aUy7$H*iHb5u4MbPu`7M*-||klcfcP>d4Pq$BbSax;UzL%qR%Zg3@<bHgnV@EZeiQCR-2~rhLMiMjp)8N{ zBn@!02@yomhG;qvi(5$0bHdm3$50azNMt1XOt7njiA-i1_LZ=jwU}kX1~##kZR}t- zd-O-p-q3`3n9h$~J*yk|0hdoSX9!36PwP=L=!y;*c+Z)!Fc67(R4SR`K zvA~Gj`mf@XYvJI1M*iOuI*blg~VZUOo!%lFK>-aNp*qtCqya%}x%{Z|z zc9&?*iH-3_qWL76OJWLUk!Ti)>HNeo)J#+}(Y_MZO;mSyh+O0)Kc&(0aC;iA?(k+b zrzLhZT%W^Z=tMl-=)>E*i&+lu%g21i7kouO24J7VXR(#cAQ<7z5l_;Y53$=3D=~`^ z?sddLj*!6_E+hX4`A5h<;&u>dI~aK%#VAP_5AYC`cm&x;zQ%ie!so~}Qm&B+B%;vB z(TrsS{{_LQ!l*Y&jZxt=B#Mr_ikhR;9Q6^OqVA|~(Ca9@jvB%QCgHmrwTLAw$IXsf z%X-|zsD1p+-FLIl>nOdBy1}g=5G@#;3%eTa4o2UL8y#(5qpR>3RdLs&t5cKO)I;{s zvXAbDIggfSv>r#B?HKjO__;A{d7Xibz=LCw7*8_uSb!eJ=wXao9+S!@w&9k??BPd# z;dlN-{;{QzbL@(mmL7lA1|s zCOwY2N$Mu)H>ocAP10|Yo|4>bQg@!`MP8v7Z_o$tC4IqA^qDl16!e?4kR>cDEQ2KyiP4>>_FzAW{Lz%0hMq79vR zhUa*Jm(aub9=wZvj(5}J-QM_b7{Fi>n8R-VK)&$@vGeh=jsF+f#>+PT?)$!_356(z z`A!I<92I#4*(X%xNxI;T3G*V(9wzBw(&JR4CUs~)W110(?33(dl6;fKF_Fp0 zH7N!2o8-nOEk=$>e+9whf;@qGlhv3UPgmUTWSJ*_g_@JqoIIBCs5^NodY$ZkC(mXD zt4U`Ud-$GT_zibE`EO2gB?zW?cglU()fBx>(d(2l=yQr)O)T@n$rUF zoYI!|#L$sA>~l&tK0wwfYw+fjTR||j60PZpeNL5os##23!gA!Fx`FM;KXorZ@H4;i zJ9?OU9QQW$Ea$mQHg-7mW)Mu1eVUz2lW&?_)8v|Fp3|P@C0<2_X|K~8Ij4DZS|;jE zQzN-BZXns-lOLraY9_0htlwmHlhsY`&NDoZeI>ueyL^i8B{`81jK(FDe9+T}TS%1mtW|+l{w|S4ge8krzApeY!j3Eg<%+SM(6c*r)XDnkCYgtbkdYEx5 z2xiJR(=2DoHdD5la?LEygFHlaYSD~V$TPD&vDn#6JDd3&FJN~wWt!=Yng4Kti$O3e z5BV^ISr1SHHD{?g%dO5*cb2-d>}^&@>}{4ioz(-onl%V@XX$m8UT2MA9QvF!nQ6>m zHug1Z0~^`QR<`3_XYFAhKVqM=e&s?C%q~oAygB<5l1V2c2vY1b#Vk_XSc-k5JVkZv zEhQ59Q(6;^xuobJMGq;Rac?PlNa;my-sU~}VuvaAm9mCy?8f($;?`2+O8K3?u&0z$ zoaK5D%n8UvUJ6iz;*=tcvP9vHIc{N&Ugj)f6I(EYIe&5*HRs%|c{>Q^sykQRxo&oD zLEP+IbD696xla&*x^wMnZd>#^Hx_-)HMhCld6pM=pAY$%Px+j$_=f%rWC%k^WIpyY zSDtzIQw#Ox`MG)aJMTMWo_B;}WO9-$Zs3lU2=wsE8fTuZkVc zua4~V-^M%h<(fZ;1Z0{&7W13`Ei%lX$_}mt!GbcVw?K^r&2a+@I`9ntL(K(hF3|4+ zbr-0+U>L(0#TaHVo8_!#E$i9LR^04@o&15G7uMrr!Ecuu( z_=ymAl+mbze&rkfy-S^FM$vMvBUYA@Zo9o!;68l{0c9-6R zj7#liseLT<=F)li^I+-4AXsJ}%j|QRSuE?y)0oM!7wE-1yvGNa%`!bK`;@`B=Vc=q z!vrQVm1H(>n6t>YOul7Tk!_i5%Vk?G+j8$OFTuk+#uK=)>NB+#?l09{q`HOFI9^BHRJ%%jmk;;|eWu!1 z>esl1RJV{inQ2UCCbOB#0v53Z&84ouPE&s&D+pGU#G5Og4XI za;$VqtK7+|2-I7p#;P|kmsRGmO6FBbsJTkbRr64HmAb1^(Zs4XtYa5@`HO?NgH;*W z)2dUriB#Jj62@(6let=HAn(C6wpnA_@xG@&zH=!RQeZJw)N;ALLrHD0GT zeMmso)%)<~nqs)CHEw*(XG}uwHD<9UogK)(=4bXJ{~Gz%$iK#)FKhI$Mh|PQlEdvF zSQ{cQ1+c@l_oIikG03;}C0;?cwQ{YMYwg>-%h&X06cdnV?Np}YuGX6IS~Fg|l;y~@ z&Kv8Vq8?G$)w=GO!MeAwt95FwQ*+%o)Lp0Ux@2bHX4lQZeXiTepWLmh*L6oYMke}P zcb4;9!&b{g}CMQZh8G`*0Yf;J~q6Fy=~}0Pe$U64H=x_S`efa!aUN zXX(vHB%*GbUeolNHj&BbGtI8jX5$Xh7O;t}Y-0!RG;J^6^CNCH?Kl45FRlc^MswaM z&&Fpk+l}gN^m7~C@us}Uyy;1*Q;Rw@p%rauhdbWX5wqE3CY#J-Q!n(e>22PlFZ$VJ zPn*^t<0jcQ{eWDXTOnI^H9uXvw3Wu$tu*`tmfw3 zsJmI+&A;+HdfmJq_qzEk*SQ@8Ruyb<2V3$}5PRBEm+^XNLe{vl2+nUKqu5gVT+zR}o1i1(OrkBFo>E)?_4C#+! z@9AcrZU*UgoBlrINygmMQ<#h1()E;X=IM5sE=Rfy=|?z{x@@>@bg=a_uySokb{0aUR0#cbff9Z|yXbopotSBrRx-w|BPZa~9%` zcIBoV_O+`aO^Bd5X1c2@Pb1^57wCoC+Vu(Q?D`6G-6ij?p(HXEGukEluI>DSx$Lsz zU1qcE80Nm~4F7S7t6V212zHzK?t<9)ZoTfFg<88)S&4b|MzIwQueGRdfeQPn# zeLL~(?AsRv-?t(TxAc8C^t`_q6?m9RRAC0{?l;H%=D2@V5FDt1x(7Pr=MQw}S?u}1 z%k-cZz4;&SV0H(FFqA|_;F~y*gc%!9SPD z<_0%|;9wr^$BiE>PAS4DOL@%aU^U$B!8$acG0liX4+p-Df3Ijqma_ITLb4nM+UG$DfKw7@(Mx1~KXbR-V@JnSA0f52GQ z;LXFgg5ZdoIMSM)*yj6X1IxrsVra<>SpLQL$4Wo`2l@q*j2`#xPy#?T;vMbT*o(_ zaXSc%A~<#rxyeTX3h@}`d`zBW!!g@q>K*fQ$KCPq2FQH;MPA`GdhrgQ@Ht=Nj*s`p zY>w;WcoODud>PT13lzKln` z6Kb3=mlIpC`x7#sIE|Vo?$*?EW(ajN^P|^H_nTRm2YHC6s6`#>)0n12;=N3_kg4y? z5BP{rv9HXp>CYhSD>D(dkm(jO^_Z#0O!+e1YUVQBYUXOz@*Qc&o+*3gA#Mf1zYpWh ze|upM|JuX9KXEJ z+K66HrSl7iIgW4h)G7Ys0+(>Rr`_o3qUiCocTYcwUQg@wbX~&H=jo={)#(;I&2zkf ze5c*&X}5a%b=>yp|M3p*VV|c*vy9)k8U$zD*qI1=U_NJNVn=6ou@`eV^AmrQfulWh zk~7GEM*cJMpOOFUJ>;Vx_fd?J*xy<2oVBa7&tTVQ`|vjJ@*$t_8DEfyoM+AUYzp&O z$P!kumi5@%Sy|7@b58wpW^>L=&UHdR=X&CebDuL3HP0n6gE^>sPTh0naV{0L&)MC% z9sJ7Oy81k)&vRK^#!Z~N!L1-?rh39z*c`o$EJzaQ*_xOORc;kXQxNtoPvdki@4Caw# z23dN}(odF}S!!naCbQJdQa9@rdf*fqQ@+Cv!nDqy4HOoA+4&s~3a<^H>$qa&vxv-y$@?3l!v%RR^ML&1(N)TK!pGz`dYDg0z zXihug>BiIe<}Uf>E}6|GGr43Qm-?cIOJDFc{n5`Qd%Cn88869p=^x~}B-f==oaH?B zbLmnLTrN)xZ=>F2H7-xYTrQi(t> zO?fI%kw>Y@Q&h(ubL=rEf+%|OK7IL!Pw{@v0+wP1Iji^%v(MR#`RC|A=O_Ng%yaae zqwgGj=jb~}z8v{(n)}T{+)q(TAmhz4$anJz>QJACG(onT&1pwG&+`&?bW`4&zL}eE z@&RA)HT@Yx0>hX{GBdHuoAc1mP5s=|&rRRYO+DTGje{KF7@1roCkSo@_*QNeqZ|+N zFqJXaTaQzVMwsa>d%e|y*0iNF&(ecl^v0iWx7_!w_xOwf_|9*QVl3nNmdVU!G0Sj= zx7^^Zb*yI>e{+CCxW8M+`Ipn2<3bSJ4w0LD6y!dNP@GcO!|ifBMpd4~o!nOIwq4%7 zgqyp4EeP(I-6O#KH>8q6nd08)FYfmoaZLDgU~$zx$yJ%q_dr! z>s z7Tm-RcC!z=EcgrFENEs0y;;zk1wXpXJ>#?vm3f~GsMeL_YQ6A)BD)T7bEAkXIXhH4k27R#eqIO=? z8%00l6MQp8zu+q-Fo!>aP%(QcCTFq#F_MMsAd^c$sCZrqa4&`NjTCnq#lt9v85B2z z;&rHpyv5}$E^l#pi_2SF-r{;M-ho(Np)Uzc!R(8t@hjdfemMx0u)h)|kgtThDe(aA zri8mGQH95OlInP;gm+4Kr-ZqbFqabMQo>wHbmJMG=S32+`x4vvlUqTkq&`Zz!;=0t zCC#bi5Jr>41l&x?smx(Mi&#o3E7{9ot_7h|#i>Rk)GQTA3tH2b9+-8hp$unK5GpNu zX_-rZ#FxwsLSg0|rnfM&4D;WI=`BoeVg7evdJEH2n7m;x@hUxe9s3O%i;Q7A$>2N} zabsaJhUK8|GIm(T?);waP#HPP$XV8#WxZL}TV=iFpW7KKYmQ~jv8*@Cdb6xI%f8Kf z*kjp`F}Jd^m;HtT3}OM_q z{qpLUSHHaa<<&1gmF4W=1bQs*t@78nTlaPldLW=&5UQYV1wUV57$dOX3ieyUek**7 zJyu9#KLuu&gvY3go2mE$z3GSDR@8Szc`B}8HEUUqcPq+O@hAS~AKYcdlbqp35UP|5 z^QiO?;dJC_KE>@+nvQ-erJ`mfH7n_*l3psgr%Gy9`W1h6RPsh8Z&W&jxmPZL{FR#! zO*`7-jw;({H?~ z>Y=Y{jgX^SGxS&O3lf>b4vum&2vyHRUSzLc33aOb+3HP+qy??fPxUTz$DLMxju&}_ z9_Xq1Z2sbU5UNpu$B?atnl)srAzKY~YIMcV*6_16UgLGX!9CWPg}K-GfzzDjJnpQ9 zJFDT&YS?4VYSbr!C|coGYMOUV^Y%NHLp6KS2j5W5clm%R*l*2k?B*nPSJSL(=5RX* z)yj{XtQAIC9-u0Esa2g?#PdAfs5P4LxRY9TSL=KBa{~2i*=4Q&&_gXf)VdRdYTrX{ z%)YkS*S?qgc?5H>-HSwKvXDhAMdsSS;09~|!C}r~Mzt@Zm)d%%ZANt-)TaeO}rvepGv+m=#J--V%RJSGa)-~U{!x({? z)J|!rJ@H4;hC+1l9AV)Zce0AMdy()xb_w{=6CGM}@ zcj&2}?DY#HcYV3*%U$1W>pzBF)^AE{+7nA>+;{y~c!NH?&3k-;`>yYe`tG!TfAm-1 z{OT{qz1DY6_2sVr7Y8`RQOvUb8P0J5I|{e=@cVFI;bk$;aJjYPfhJQsr1~Qlg>>+#}8`+19;n%nkgc{`IUd*aNF-jv- zg9k9T2C_6Trv@E)n&)^Cb87G!y%>VoH`v8~)NZI|L;W?ZM*|wujOMhY4f<->0e$%0 z$DxL1-q6e&nt8*%e8hZGS;q!8u@&=fXxIvExSWxRE_KGQUQ?wMK`r%SLwC=yniltaf8}*tje9(fDIN z<4fF0;{n(~^6k{3BLYA-${WV_68uZ!NJvB~aGkR^T*T!zCNkC;<(Hr%e__-$j zENCKAQ#)*G=1t4-AbM{4IJKyQT{I1+A@268rC!7A1w zThmQ!A)Q|^o2HqZ;w*O2^eWe}lcwg?O#Wu_G<%lMaih(~kiuNdqM6#wenQP=YBoEL zy3N#W_8%9x$mJjukqiAsJdC~~nxKyew-fO(b`hb6h;Oiq2)l?#AQ5jy_$DIkAwqu< z%UQ{4^cLZkBlhwG?kwUr{@@t$M934N&xo8L6q%nw_@*O^P?krjid&1Uj(JBmBa#-h zqdU*=JTKA*StDhQlr_@b_&v*^$WgeP$nkv36q1oQ(#=G=naK5+U8I|dbTg6L*uie} z5&1o*gHZDVJVh+;qh51A*Zd#!5@nuI<{4EPJw!cDEgE6IQF@5dLsS$k=}b5D5v7l) zS9p!raidZ4M=e0ksEuqvwy2$$ZIszYnQfHWM*S6pT7;-gJnFSjqs13|#Sq3Z4>en; z* zuaN#HIWnRUOTIr`%Z`@rg z*;|=wt9_VP>td+a+RwHAj7gYxYxmVU9X+((h5fbO&p{58!ErJ%@7CAIK@V+mk(UDK zr_E!uL&i3C-A2AP?x#&J-axK4X5GgA+YDtiX4+-~^0YDAHfGz#Y}?FdA-@How%%y_ zC^cw8N8D-KXVG(8{j^oHt(tA^s;#J zRokf4iH}q!^ zWASG}^hD&1o{6l{%UQ{4>?ry#4seL0*h}=koJQ{GySeQs`f3nrXCLkErwH=5D?w@G zZ&#iNc^JL4dxYk^%s|Y)-CnYSP#Z`+PkR^xsb7gY#n6l@BqGx4))!lDoQ6Z(wlN_TqEmoL$4%m4;6 z3cbZF!H!~n;dkVSv7eYj$P;5fF?x(S6@+5%ArJYnn^?PvElP3hBeoK9#XioHRHG41 ziKGSc#l|CF?9=qbZN@Dyj7?xXvc}39D{HKKie1BZq~ZIIHOJT;>_+xj z*<+94yNLZ4_Z54V|G2;p zui^Xc)SLhDHt%BIo%%BfJ#-quXp+!RrxpBxjGcV9ozCF?J6%MsPI7g+9)voZb?1_p zZ)f}OToHLXn{Q_~)!Db(xeoPs5pQ%(#hrHEgAstKY%>(HK~o>;=^f)`Nzu?ACG;-Kf|l^M9%m(k=5^!4#nGL z{Ai{y2Q!b~z$Rpk-;No@|IDw*9RDYOBX_*{cPT{!I%B?FUg0%f$6HLu%TPu# zhH;ovmlPJU6g%-dr9)l3-^Ke~wy=#I{D@g~Ie{DPa-NG^;U;&2kl!yI^82MjUGq|e zGE|{HcGa~B5k%37wzMafmyo+_4|*bdSNGbr4`$WXth&C(bbjJi5bE|M=G)CT*lisr uvBPfJL8yBn9^_%FVn5v*(VFLi|NF1p{tvgi|0=)X|NZCx|MyV${{IL1vB^LH literal 112246 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 com.apple.security.files.user-selected.read-only + keychain-access-groups + + $(AppIdentifierPrefix)to.bitkit + diff --git a/Bitkit/Constants/Env.swift b/Bitkit/Constants/Env.swift index e2b34f70f..90a3572f0 100644 --- a/Bitkit/Constants/Env.swift +++ b/Bitkit/Constants/Env.swift @@ -12,6 +12,9 @@ struct Env { static let isTestFlight = Bundle.main.appStoreReceiptURL?.lastPathComponent == "sandboxReceipt" static let isUnitTest = ProcessInfo.processInfo.environment["XCTestConfigurationFilePath"] != nil + //{Team ID}.{Keychain Group} + static let keychainGroup = "KYH47R284B.to.bitkit" + #if targetEnvironment(simulator) static let isSim = true #else diff --git a/Bitkit/Utilities/Errors.swift b/Bitkit/Utilities/Errors.swift index 62e066a6f..ce98c74e4 100644 --- a/Bitkit/Utilities/Errors.swift +++ b/Bitkit/Utilities/Errors.swift @@ -16,6 +16,14 @@ enum CustomServiceError: Error { case ldkToLdkNodeMigration } +enum KeychainError: Error { + case failedToSave + case failedToSaveAlreadyExists + case failedToDelete + case failedToLoad + case keychainWipeNotAllowed +} + /// Translates LDK and BDK error messages into translated messages that can be displayed to end users struct AppError: LocalizedError { let message: String diff --git a/Bitkit/Utilities/Keychain.swift b/Bitkit/Utilities/Keychain.swift new file mode 100644 index 000000000..b7aef48b2 --- /dev/null +++ b/Bitkit/Utilities/Keychain.swift @@ -0,0 +1,149 @@ +// +// Keychain.swift +// Bitkit +// +// Created by Jason van den Berg on 2024/07/29. +// + +import Foundation +import Security + +class KeyChain { + enum KeyChainKey { + case mnemonic(index: Int) + + var storageKey: String { + switch self { + case .mnemonic(let index): + return "mnemonic_\(index)" + } + } + } + + class func save(key: KeyChainKey, data: Data) throws { + Logger.debug("Saving \(key.storageKey)", context: "Keychain") + + let query = [ + kSecClass as String: kSecClassGenericPassword as String, + kSecAttrAccessible as String: kSecAttrAccessibleAfterFirstUnlock as String, + kSecAttrAccount as String: key.storageKey, + kSecValueData as String: data, + kSecAttrAccessGroup as String: Env.keychainGroup + ] as [String : Any] + + //Don't allow accidentally overwriting keys + guard try load(key: key) == nil else { + Logger.error("Key \(key.storageKey) already exists in keychain. Explicity delete key before attempting to update value.", context: "Keychain") + throw KeychainError.failedToSaveAlreadyExists + } + + let status = SecItemAdd(query as CFDictionary, nil) + + if status != noErr { + Logger.error("Failed to save \(key.storageKey) to keychain. \(status.description)", context: "Keychain") + throw KeychainError.failedToSave + } + + Logger.info("Saved \(key.storageKey)", context: "Keychain") + } + + class func saveString(key: KeyChainKey, str: String) throws { + guard let data = str.data(using: .utf8) else { + throw KeychainError.failedToSave + } + + try save(key: key, data: data) + } + + class func delete(key: KeyChainKey) throws { + let query = [ + kSecClass as String: kSecClassGenericPassword as String, + kSecAttrAccount as String: key.storageKey, + kSecAttrAccessGroup as String: Env.keychainGroup + ] as [String : Any] + + let status = SecItemDelete(query as CFDictionary) + + if status != noErr { + Logger.error("Failed to delete \(key.storageKey) from keychain. \(status.description)", context: "Keychain") + throw KeychainError.failedToDelete + } + + Logger.debug("Deleted \(key.storageKey)", context: "Keychain") + } + + //TODO throws if fails but return nil if not found + class func load(key: KeyChainKey) throws -> Data? { + let query = [ + kSecClass as String: kSecClassGenericPassword, + kSecAttrAccount as String: key.storageKey, + kSecReturnData as String: kCFBooleanTrue!, + kSecMatchLimit as String: kSecMatchLimitOne, + kSecAttrAccessGroup as String: Env.keychainGroup + ] as [String : Any] + + var dataTypeRef: AnyObject? = nil + + let status = SecItemCopyMatching(query as CFDictionary, &dataTypeRef) + + if status != noErr { + Logger.error("Failed to load \(key.storageKey) from keychain. \(status.description)", context: "Keychain") + throw KeychainError.failedToLoad + } + + Logger.debug("\(key.storageKey) loaded from keychain") + return dataTypeRef as! Data? + } + + class func loadString(key: KeyChainKey) throws -> String? { + if let data = try load(key: key), let str = String(data: data, encoding: .utf8) { + return str + } + + return nil + } + + class func getAllKeyChainStorageKeys() -> [String] { + let query: [String: Any] = [ + kSecClass as String: kSecClassGenericPassword, + kSecReturnData as String: kCFBooleanTrue!, + kSecReturnAttributes as String: kCFBooleanTrue!, + kSecReturnRef as String: kCFBooleanTrue!, + kSecMatchLimit as String: kSecMatchLimitAll + ] + + var result: AnyObject? + let lastResultCode = withUnsafeMutablePointer(to: &result) { + SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0)) + } + + var storageKeys = [String]() + if lastResultCode == noErr { + let array = result as? Array> + for item in array! { + if let key = item[kSecAttrAccount as String] as? String { + storageKeys.append(key) + } + } + } + + return storageKeys + } + + class func wipeEntireKeychain() throws { + guard Env.isDebug && Env.network == .regtest else { + Logger.error("Wiping keychain is only allowed in debug mode for regtest", context: "Keychain") + throw KeychainError.keychainWipeNotAllowed + } + + let keys = getAllKeyChainStorageKeys() + for key in keys { + let query = [ + kSecClass as String: kSecClassGenericPassword as String, + kSecAttrAccount as String: key, + kSecAttrAccessGroup as String: Env.keychainGroup + ] as [String : Any] + SecItemDelete(query as CFDictionary) + } + } +} diff --git a/BitkitNotification/BitkitNotification.entitlements b/BitkitNotification/BitkitNotification.entitlements index 4fca2ce32..a9b567fb3 100644 --- a/BitkitNotification/BitkitNotification.entitlements +++ b/BitkitNotification/BitkitNotification.entitlements @@ -6,5 +6,9 @@ group.bitkit + keychain-access-groups + + $(AppIdentifierPrefix)to.bitkit + diff --git a/BitkitTests/Keychain.swift b/BitkitTests/Keychain.swift new file mode 100644 index 000000000..dd4e77bcf --- /dev/null +++ b/BitkitTests/Keychain.swift @@ -0,0 +1,27 @@ +// +// Keychain.swift +// BitkitTests +// +// Created by Jason van den Berg on 2024/07/29. +// + +import XCTest + +final class Keychain: XCTestCase { + + override func setUpWithError() throws { + // Put setup code here. This method is called before the invocation of each test method in the class. + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testExample() throws { + // This is an example of a functional test case. + // Use XCTAssert and related functions to verify your tests produce the correct results. + // Any test you write for XCTest can be annotated as throws and async. + // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. + // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. + } +} From ea9d467a9395856e2287571d6ef9ce78bea23e14 Mon Sep 17 00:00:00 2001 From: Jason Date: Mon, 29 Jul 2024 14:51:43 +0200 Subject: [PATCH 2/5] test: keychain unit tests --- Bitkit.xcodeproj/project.pbxproj | 10 +-- .../UserInterfaceState.xcuserstate | Bin 117651 -> 117825 bytes Bitkit/Utilities/Keychain.swift | 31 +++++--- BitkitTests/Keychain.swift | 27 ------- BitkitTests/KeychainTests.swift | 67 ++++++++++++++++++ BitkitTests/LdkMigration.swift | 3 +- 6 files changed, 94 insertions(+), 44 deletions(-) delete mode 100644 BitkitTests/Keychain.swift create mode 100644 BitkitTests/KeychainTests.swift diff --git a/Bitkit.xcodeproj/project.pbxproj b/Bitkit.xcodeproj/project.pbxproj index 2f26822ae..500aa12e7 100644 --- a/Bitkit.xcodeproj/project.pbxproj +++ b/Bitkit.xcodeproj/project.pbxproj @@ -27,7 +27,8 @@ 9637E6DF2C32ED7B004A92FC /* LnPeer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9637E6DE2C32ED7B004A92FC /* LnPeer.swift */; }; 963DE7932C578D9900A2AA1D /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963DE7922C578D9900A2AA1D /* Keychain.swift */; }; 963DE7942C578D9900A2AA1D /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963DE7922C578D9900A2AA1D /* Keychain.swift */; }; - 963DE7962C57969000A2AA1D /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963DE7952C57969000A2AA1D /* Keychain.swift */; }; + 963DE7962C57969000A2AA1D /* KeychainTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963DE7952C57969000A2AA1D /* KeychainTests.swift */; }; + 963DE7972C57BC8D00A2AA1D /* Keychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 963DE7922C578D9900A2AA1D /* Keychain.swift */; }; 966DE6612C502C7E00A7B0EF /* Env.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9637E6D22C32CE79004A92FC /* Env.swift */; }; 966DE6622C502C8600A7B0EF /* Errors.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96F261352C369D2400167439 /* Errors.swift */; }; 966DE6632C502C8600A7B0EF /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96FE5A1A2C46A4DD00860ADC /* Logger.swift */; }; @@ -111,7 +112,7 @@ 9637E6DC2C32EAA8004A92FC /* WalletNetwork.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WalletNetwork.swift; sourceTree = ""; }; 9637E6DE2C32ED7B004A92FC /* LnPeer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LnPeer.swift; sourceTree = ""; }; 963DE7922C578D9900A2AA1D /* Keychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keychain.swift; sourceTree = ""; }; - 963DE7952C57969000A2AA1D /* Keychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Keychain.swift; sourceTree = ""; }; + 963DE7952C57969000A2AA1D /* KeychainTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KeychainTests.swift; sourceTree = ""; }; 966DE66A2C50FA6A00A7B0EF /* channel_manager.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = channel_manager.bin; sourceTree = ""; }; 966DE66C2C50FA7600A7B0EF /* adb1de43b448b04b3fdde638155929cd2163d2c53d36bb40b517d7acc44d1630.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = adb1de43b448b04b3fdde638155929cd2163d2c53d36bb40b517d7acc44d1630.bin; sourceTree = ""; }; 966DE6712C512C1E00A7B0EF /* seed.bin */ = {isa = PBXFileReference; lastKnownFileType = archive.macbinary; path = seed.bin; sourceTree = ""; }; @@ -312,7 +313,7 @@ 966DE6692C50FA5800A7B0EF /* ldk-backup */, 96FE1F762C2DE6AC006D0C8B /* BitkitTests.swift */, 9613018D2C50288900878183 /* LdkMigration.swift */, - 963DE7952C57969000A2AA1D /* Keychain.swift */, + 963DE7952C57969000A2AA1D /* KeychainTests.swift */, ); path = BitkitTests; sourceTree = ""; @@ -518,6 +519,7 @@ 961058EA2C35793000E1F1D8 /* LnPeer.swift in Sources */, 96F261332C369C2100167439 /* ServiceQueue.swift in Sources */, 961058EB2C35793000E1F1D8 /* WalletNetwork.swift in Sources */, + 963DE7972C57BC8D00A2AA1D /* Keychain.swift in Sources */, 961058DF2C355B5500E1F1D8 /* NotificationService.swift in Sources */, 96F261372C369D2400167439 /* Errors.swift in Sources */, 96FE5A1C2C46A4E100860ADC /* Logger.swift in Sources */, @@ -564,7 +566,7 @@ 966DE6752C512FD100A7B0EF /* HexBytes.swift in Sources */, 96FE1F772C2DE6AC006D0C8B /* BitkitTests.swift in Sources */, 966DE6682C50372900A7B0EF /* OnChainService.swift in Sources */, - 963DE7962C57969000A2AA1D /* Keychain.swift in Sources */, + 963DE7962C57969000A2AA1D /* KeychainTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Bitkit.xcodeproj/project.xcworkspace/xcuserdata/jason.xcuserdatad/UserInterfaceState.xcuserstate b/Bitkit.xcodeproj/project.xcworkspace/xcuserdata/jason.xcuserdatad/UserInterfaceState.xcuserstate index 214257073de07cc983921228fb2fd038af60031c..0d7cee4b1e75a4540eadea71e260bed7d1418080 100644 GIT binary patch literal 117825 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 literal 117651 zcmeFa2YeL8`}n^*TWi=I)l_Mf`j}#4rE<_l5C}yS-`W??Oik-tJT7)Pxk}{*69Qo(9E6i_5!HzrL`|X=QJZ*;s6*5x z>Jjyc21G-m5z&}vOLQVS6FrGIBA!Sj`Vh%Pe_{ZUP7EXl5yObr35|fno5UDmJTZZI zhgd0wq%x%1YU&0#re&8daUDLDi&c zQMIYps5(?#svcFJYD~4HBB}ON2dX30i;AVPKZznN$`voEkyRqGnTbsQ0M3 z)I92aYCg4qT1aJ6In)yBLuwV9_x2W6H9qKOiC-sneL^Cu?8)%tU=+blDNj73eTJoUTY$qN~w$=m@$A z-IQ)kx1rn8-RSOg54tBENB5>v=v4YGdMrJT9#2o8C(>`z@6eOz$@CO@20fQvM1Mdp zrdQKz=(Y4ZdK0~k-c5f>e@5@8zovhq&(i1U^YjJ!BKSOi88`Q<@29Dl*NP7EDVfl4-?6F|C<4Ok1WM6U}sDdNMIg zFQyNZ#Pnq{nJi`?Gl&_+jAY(o#xmoWDa=$Rms!rNU{*38GOL)?%o=7bvyNHMY-T=U zb}?TtdzpRAA?7f1ggM3h$ed<=Vt!@LGZ&a^%ym{^O{~aDtjsE`%9>dVYh`V$i!IC+ zVau>(*>Y@Ewi;WVt--#=)@Pfs&Dj=gOE!{i&vsz@vngyUo5l`c)7cC*lg(lWvV+)R z>?n3TJAs|ZPG@JZGuZ{~LN=StVVAJW*>&uC_A7Qj`!#!j{f0fr9%2u(N7!%K@7Uw) zPwW}?XZ9ldJ9~+}&E8?}vVXD<4ZvVD2nLhEYOonX4HXPwhHyhgLnT9HLlr|+Lp4Kn zLv2GtLnA|DL!_aVA@n;!d~G;jIBNLbaK&)daLsVt zaKmuZaLaJpaK~`h@TcJ+$8ansaWbcHZqCDna0R#`TnR3etH6bE)wvp6J1&}Q&voEB za-F!&ToEwsPCJ?cAr_XWWn6Y3?WP4EHnl3->Gc8+VpF$DQXcaDQ+&xm(xsamLJDY;ivM`_<8*M{Cs`^zldMTujbeAd-;9* zm;6`!e*SCz0RIhtkUzv9=8y8H_#gSR{5k$Sf0e(+U*{k25BWz%!blrAqheHzWsGHw z<&5Qxp~ecvFk`r}qOp>(va!0cuCa-+sj-={oiWHTE_p8dHsF#<9k6 z#_`4p#)-zajqeyI87CX37^fO%8s{0`H!e0VF)lT(HLf$RH*PR)G43#aX53@^-1vp@ z8{rmgTM*AU=gf>O|T1Yp`cJwC?%8@ z!i9=LbD@RMQiv2<2~k38p^ea1XeUGqorIo3jF2ew5t4)fLb{M43>QWSBLz(uEsPZ= z3sZz;Lawk}SRt$wJ``37tA#bfT49~AN!Tgu5k42b5Dp24g(JeZ!ZG0o;aA}|;jD03 zxMJc=yvb-1OeT|Pl1#EmF{viA$!;oODq$*VDrKr@s${Bcs$!~Pdd<|>6k%#&iZZn} zC7Sw}l1zO~{Y=TG{-zXDswvGhz?5Zr-89$Ouw3bGhH!VHC;1ZH{CYf6Dg4v z8Br7^v7}f^EG?E1%Zla1@?xl1K@1ba#VTTL@inoI7$G(hn~H74c4D;HUhFJ(7ZXIU z*jr2#Q^hoKtT;{_FHR6Aif@bWh?B(0;uLYJI8&S_zAr8omxxQn)#4g)t+-v>A?_4E z5_gNAiwDGS#B<_#@q&0!{9U{x{vlo#uZUO0YvL{Of%s5-BpD=5;w4owOBShsR8T4; z6_$!irKNDGqSRb!A+?kurB+gu)LLpIwUydQ(NZU=rxYV4N`0gxDMQMXvZR61P-%oT zMtVycD@~TBNXw*LX}PpQS}A=ft&&ztYoxW(I%$)%Q~F5SC4C|7mG()8q{Gq?>6G-N zbXxjJ`c*nFU68Ix*JVLA$)YUDvaHCeY?dvuRkq14xv*SXE+dzfE6J7RDso-9o?KsU zAVN&P985$muJW`<#*-xsH}XOGkbGD^B7ZOcD4&+k$>-$@@-_Lod_#UHKT-&V zR2YRPi^0xAhGD(@NOi`vP)0B6W_m#!U5@o5fR#~U4S2ieHlpV@v${yu& z<$&^y@||*AIidWhoL4R>e<;_K>&k8Aj&ffmR9ZEvR@J83RfpHAGP<5F4x;k7Pp^j8Fb+kH8 z9j{JRr>WD`8R|@Rj+(75R+p&D)fMV`b%VN5-Ku_~?op4cr_>+SpVeQ~bLx5ZlKO{w zO}(z(R`00y)dyyq*=}~2oo1KWZT6T$%mvH^&4tXx%w^5x%$3bm%vH^G%yrH6%+1X$ z%q`84<~HW`=I-Vm<}C9-^C0tJ^APh;^Dy)4=HccM=8@(%%;U{d&C|@&&2!E3%7Gaog7Z$4%|Za!f?Y5u`{%6!Ir-h9D)&3xT_!~D?v z$U<013uECes>N)vSUi>xOBG91OEpV%OASj+OD#)n%WIZ8mb#XPmgbhWmUfnCOAkv= zON^zLCBf3il4coT8Dbe~nQED4nQob3nQ3{~GRrdCGRN|sWv*p`Wr<~}WtnA-WvykM zWt(NYWryW+%NLftmVK75Er%?JEhj7|EjKJTEw?PUEq5$;Eq_|>S?*gNSRPt|mA9%^ zv(;ktSVOEOt);A`t!1pC){54e)>_tf)@W;cYX@sbYbR@GYZq%*Yd33mYcFe}HPxDC z9bg@1ecd|TI>I{2I>!2rb&_?mb(VFub&Ykcb)9v+b%S-Ib(3|ob&GYYb({4g>mKXp z)&tgWtOu>ftjDdtSbw$tW<6`YXuWK`ZM|b7Y_yHB@iwDPvYBlmw!*d|wi33Iwz9Tz zwlG^|TXkDKTO(UzTQgg8TU%Q@TePjct(z^*7H{io>t{>14Y9pp8*LkF8)utfn`oP6 zn`3*=mTk+i<=WQRKC|t$?X!JtJ77C(J7W9ZcFgvJ?Ue0|?PuFr+d13swkx(9wmY`_ zcEV2EIlIv=+AVgg-DY>$3)zd=L+uspVfJu)4SP*{9eaIyBYR7Gq`i&3y}gq?-kxCh z+I!m*?S1Y2?P>N5`vm($``h++?33)1?NjVi?bGbj?KA8%?eE%W*=O75*x$3ywa>RN zx393Tw0~${WnXPyV_$3EZ2!c*+y1HjGy5LFWLXFU$tLz za1P#KbO;WULv%~QRKeCqhjvB&YbW545T$05gI$1%ro z$0^5;j<~X>bZolT&f3&H~PY&O*+@&LYkd&XUgZ&QNDX zXC-H2XN0qfv#GP0v$?Z{v!yf2+1lB|+0z;0?B$Gg#yJz6eVj?o{>~xJp-$+0%Q@CL z(K*>U#W}+{+d0Sio^!r)fpejAm2O%||8(AS-giE5K6E~E5iZgNT$GD<8C|l=<#M|`t`JuNS3y^4 zR~c7XS2)x_1*)y&o0)xy=%742&8>fq|`N_J(qGF?MmBU~e0Z@5Og z#=6G2-gZrK&2Y_hz2}zwPn>w@bK*EQFlu6wTgZoxXZZ9x+}PwxSP70xtqIN zxLdj--L2eF?$+)$?)L6(?s#{C+v`qsr@05X)7=BzL*1j?Z@4G8C%WHu&vego=eU=+ zm%3NDSG(7^H@Nq^zjhyRf8##rKIA^^KH~n?{hj-$`-J<9`-1zT`*-&Z_f7XB58)v_ zz{7fs9<#^dv3d%4ihIg=!aU)gDxMmi*F1GR4Ln^uT|M1A-90@#Jv}j=UY=M_oG0Fs z=t=Pm^bGP0_Kfnp;Ti3D(=*QVwr7TCrssXne9r>UBF|FK8qa3WPR}QvJ)V7@FFgl5 zXFcaU=RFrZ7d^jwE_wd&T=rb?T=m@a+z+8cm=HEZ3XwxxA?^@QNJvQGkm4cbLqbC; zgj5Qt98xQ!en{hxW+9OwtwP#{^a$x05);xZBsQdfNJ>a*NLt8%kU=4XLxzXE6*4wt zT*$PL=^-;hmWAYoEDu=`vNGhukX0e8L)L_>4cQp7HDp_d;wf3l$%hG%kO-Mj2n%8F z6ct^epLa+`SM+aS_M~I+_~h7(jBG+B%o@ zy^T}jv-*2eGGmnDm8&!euhyti)zAjj8&wajQYpN0Xv6TT5uw!^RH@XsVx{Vp8Z-*m zOLh~biE1ke4-rBXAPN$Nh{8k>q9{>}C{C0hN)n|sMq@RD#%a7})CA3>iJGLznxd&I zi84f4q8w442qh{IVMI7l5q+ynR3WNrW~~flGa#F#t$^%c$PR(*Fvw2z9a{w1546=< zy%@#W&Kr+v9FdTenVPQGzeBsoj2Ok;*xNfcD>?9+Z=NWlNou_oAgvX z#T4z$Y@UEllhixOn~o-#y8C~Pj_>2`??tWAE-R(6HzPACB{mbyQ~4&KGEugybZ^I` zjHI}vFKd4iRe@*nT@@1S&7Y4dZ)%HDmrVU)Rau` z;7tETpbS=j!OxZ#qd5Lr+o;(7UQ|z1X0$gM)x?|dxXkd#*o@3Zsr}QEz36ZoJhhgQ ziAwfgOvBg=G=qk(9aXuVH!U?C^|rNPx;M68T53{CW`^%KG^Lhs$R|}1M4Mcq3DJ~j zMl>f{5G{#Fq7@NEwAL(|U2|$~EkrA*71oMs#kG=J>BB@jB#F^Pd!hr;5zAs6Dy|#) zH{F|znr@(1BQ%?4jZxb4PD=LH3JVMCkbx=~);BgIH6=`MzKk$ju?*a!N#2aGxTMT} zNtvNZsTpAneIMJSuE+>Omml9JHYue-#-OC$nTLojL|394(Y>o*+*42kb@qSsW^{;( zM!lYme(upZD!O$X?((Or8tbc;BSz`)BGn4(kckBWSNYkxJzZ39Us0|YB|4vqibzjS zP0#Q*!qWxy^A+TYQI-x49UPyU;0?uZ>8Z)dwf?I{f9mRPAMzO?S$JHwkja<7^1wHgOH{RZmKL_VTE2$D#H-V==u>tVG$_!B_w4a^WyCv zmplXkjaneSUrg_GgkQbn*sPTJKGEI`Jh|V_+q+KX*!cMHnl-{v-{WLWaH?jp8GY(h z4zEt>btJH|ATIm@n8Rx4^sTd{hMJ~HTbN_|=l}q4T zq_6J2AN-BrS1=Qaw~<=I`g}+>F_Gw@o4`rLJZu6d6H|z(#57_$F@u;%yi3d?W)pLW z_lUV#S*@H_UJKPKXkl8oR#B^@Ro1F#RW+39ePTYbfLKUm6FI~p;satav4mJkEF*HY z>RLms8Kmz)`VnM!$k-uM6EcktQaaFKcHn&W`$=BDL#tZpiOdYivO2?NZ-br z7@Lum5uKWq9`9|0&KslD_=nm>qoO|DQA$&h_HzUju6!rEYRxtwaiiC`xwO%72PT;Gd3>S+c*jNYpE%*=|ggeqr@?y zNB5}cC&%>mJwcrGpF=#9-Eb! z8jl=9sZF z7OTZ;UM*2e()wxrk>8q%yw?F*hL)ub(uQcmwBg!F4Qg*_Z)$I87F0E|AX$hkOco)F zlEuj4WC^k)S&A%8mLbcM<;e16C|Q9FBg4sxWF@jPS%s`hRwJvEHOQJ|EwVQG8d-;| zOV%UnlMTp*WFu{ywnjUkU52Cp$(oRC56M(Wz5~hSko*FYzd=AkP!NLJ5Ojec3xb6Z z?1SJOq-aPLg4An}>I|t&NKJxNE~Gw#)K8Fl1ZfYXYe2d^q|+h&Hl&w9`ZGwMex`59 zX1=~{5u>zy5jz{055wYp{zn)dDOKIJt-wI_^SK^p7t?HZeCXvnG}aK{*bW7-htlaRHS&reEJ@JPe((zgvPO% zu>lnj8b74(;NFRS`t-}pN*jbsbVC3BDT9*w#}4R|G&Ia_*4iLXFBUl>VQ4TN-!C-_ z`Nzo#{X$canLtCklmt}4j4#0* zqgMilf{XNzr#iT(}PR#52L!rD3e}(3k8HOxRU-+SkD*KQBMtqBU2NR+y@urACmQY!Li9R z%JAtge=Dc{0b1OPDy*lJNHg!?hC`6)4!%bJ_$whsiOQ?T|6>fFtAO9}DaGC|D!W*_ zBgK-Mn75jr<}0O7j50Q_EBV*yjzbF3uL9deG-%u^qC)?Kr|sP=U+wz7pe+4oo*{z9ecx;!bdPi6`-!59nQ zvEb`l<0}zO6Tg*LiT`@N}}7JT{Jd?gHyQM$fR z36HzCbxI>VZT+_je3!4hp)pF&7b@>@hh~HYN_>1I_!>X+mHB$UU1Q+l+V?@j$Aml# z$39hdotl3nHnFP92l51$ja;!e2E8qMQSg~&Esy2)XDkVjy&Qkaa4>lF|UsN z*SUFOQ~uT&I_9h4=ofT`+T&6E(@QhKjep8l&=?fylUGyx$CN&nU}VYl=6`%FxYVD0 zrH*~UMT9)fre2tD>6QGAyh>EdCC`%Q$n)d{@*?>=d5Qdkyi8uv#%mL_iQ3!RJK7{| zvNlDVs!hu!uaVb%f49inL@4_7CtB{DuFdxS&C!-?E6}Hv{`F1wlexjbETex$1^M|g zN=WdJeNqRtN=iW^Fl3L4TII^?XFPe`BsCciBhh+m zP(22v$EM-+rVQV5Cg6xR3jwdq&`SHin}{}xfCwb?QnZ=cyXZAbD~&?f7{$y5W~zV# zxCwhUZ~~Y1o;EidctD6YPs_o}=V*;NIWyMZGm+0WON>$&O`8u%Oi#^9NoeQIKr7K1 ze@UVjPy`gm1r!CvwD-07*`Nd{sV&eJYT4azqcl%R@DBE7^h^k>&PRGv5;Obw>tBv& zvp_4Yk|+HWhsQuzHl85VPh1gHCG0t%5~vKSXp6KDw8c4~8mJCxXiKzZS}wkVl0i*| zCiI@Ebu?OsMLiQ3bz<=eNaB-(?Nf&|PRhXFu`iF;_`JwNDHwF>jHCo_Tx@!UK}iYd z3P4>#2K7LFG@V%?D=R4>4v#WgE6Uj~x>wI$*upgPYVT=%+m*ehE%jX;Xb2j0L@T)+ znm5h{4T&CyKm^L)Bsl+rW6clu=v`lUyWH55XX6N;6oj@F79&`p>Kv&QWbO${^PY?rofmm&=woY5G zZO}Gqo3zc^7HzAxEf>W5nFon}=0QKi{PqCz9|xG<|B88E97lx=q{i}%`5~D3q1q0e z`Qe!P5nv=h(JNr_F-WDk?QAa z1zmimfEk#~sbCtIu6?HM(LT=sGr_xv%rCUPFQ3f!5n1zt$x6#~^=-PXVJw{NUbC%e z<|afY$VN$Xf|Gt^-upw1GffVDczNnCl?H4Ztu56reKA<(*LF*hw)+wTw;XA^ue9vH zXgC#^^en5vIzOXp5u;!KeHK0a7Vs&Cb1T>ewu2pDC-?~L0w041^;jxTO80{hEK)_!_wBm(LqW zKF?%>Ti~|#v-V4neEKc$J--DuHr4C*h@ueL6hV;`(0+SBnw6(*U9$mjHdRx;!w*y2rrJ$s0aMI%&hA)iS({$3r17FW8G9WV)o7d6- zt11RsfwEIBAF-4Z5&OsAH=>@t5LFftOBJSyP(`U?RB@^VRgx-2m8QyQSG23zHSM}~ zL%XTn(r#;aw7a=fIX|&fnBSaIl@YOj28ey&H>Z%~Um=_S$WjduvQ$IuUI1ANg$OR9 zng9vEwEM`1#;?+fRqxtXR2w7;R20=(d#F9irrJ{NAW1-y%{OaGb)vdq<~mbdsIHJi zchLe!QaPXo)r0D(adQ7d|M?J=fN1gt)08zy`en(&2z5r;tg6R% zUG0v+>w}Ue1t)!d%ZWyPGn-xCv9m*iQVXumdu&pvWGdCCvZxg8eMlM*ZqxwnXGn5E zN=voQ)ca*1HN=nTVC_Rl8lRI%&oPpkKvY{!X%wVJQEyPAsW+)H)LYb8Y8*8lk|s!s zkdz=PLsEgH3Q030Es(TA(gsQUa%y6L*~#Q>YAPQ1QZtCEkaYO5g``VEYvCpE=ogaJ z|L>t&8ifq`M^0_hy#oXDtqrmUqo7f=+UozsHx&N=!bq7~gem_3l1?4-r3iBrrtSMf zedPZ`5x>4E5NZ{*7DK+8S_4TpBt6;GI%+*6Lm*i+|1jS|?ZB9CrM6MqAz1*D1tD1| zhuTSf1ZqICFeHn-eEYfwvHN*2yVH#1^lxiNU0OBzfH1pon>rZteJJUd!Ab9Zb$t2g zccZ$`41MnkJGWe)CzyXt9mI`%02GBJnkvYq4uKMoERMYAAm5pssQ1kG)Q?29#ndtC zICX+LN&P^bf@DcZmV#tyNS1+QSxA;!Or1tFo}qrGexZJaWO+CeQ;@8tWj}M0E;xRwKMG@s*K=^R;8VD?5i8spXc$8s(iY$j{A>5=IaE3X zc}29Dw$N7EM%!rz?WA3_8%6z)wIEp=lCMFs4kYVBvK}PsL$U!R8$z;CE?vN{Yw03> z|A;PuHEm;E(>BpPq;~)J)NJs4<^T39BV8HkPPz&tBLcdUu8v1F8WDTRNI*I~ z6Cl|)-<%zK3B4S{x0GH+qY;c3lD#3Bm_x6iS7P}3Kr-p&!?zw0wIP_OLHp7RrsYKZ zyk`2;KHn}KcLu|^8718koRqKgMeOa%k)>zak2jF`oTuR1PJe_Oc?VWl{jkE?g%wtE z9tumP4(J+d553n<>=&5W6inH0>u7EpQe8zuhTzcVu$L)j({W@6HUOL)WlcJ z{tL`r#mruV2r8CbIB4nm;FvxHGvGPzvdIZ1V(_(KPX!d3g#5_|BB`qGDbmY|z z*J8Id`)qsH!~LdxGWax}K(rFR|5WCN-WFw;@;;QAav0^epVNeTj!H}&gfdf^slrrc zsxj4>8ca>57E_x+PVyv3PKM+ZNKS<$QuNayIRlb2A^9#OXXP?={U|dH{l=GRf>HLb z$0L5{>Be{2E0FUaWTrg=ndtz@IRTKF&In|t3)2<9Ao(67=lb8#q+$UjLhtQZCIQI@ z6UW3u5-~PEoAENpL?Xx*=bI5``Y~u?Er&^F`ZFnzTnI^I=5unGG-dz>auFmyc=l~ThS&%%K}MJvjg9cqyo|7nZmIUo1u^59xBcW!#N_5;az|t3w=_uk={cq`?_+YO zGc%Z(%)87iW;Qd2d5@XP%!A|#NUnq=I?*afu7)IJw%+B)39xTQ>6vfA?e$WB46TZm@k>Hu>clj_G9b21I=tR-{9%+ zok0Sqmb<0b>|5p-M*TbHDDyoecR})FNPd#T90xU+laSnvmk~b2iY4FUVE*G6oI}hR z#P83+{N~O)*mh9=7V=V8{FS3C6Xsyle?v*n1}8nz8<|6ZlAKyzD-_M`ZdV15{U>;$7Z!))-+sqy2F7qdIkGao0U>-tpFC_Ot@=Hj5 z14?^-#E=&0FWoedSS@Jr|VSEqk_s?|G^PeKcy% zhE7e!%s$+@41$rZgOb(_PC9SbJ2!tj-SXh1qqpM+bX~LmvE5}Gu#J5hjBSK97>aTz z!8XAr^rv7Amb$Q5{Q$x$SfKY(D;6)hf>vy64DqkeIf0&|BO8k#W;?N+*)D8Xwj0}> z?ZNhBW7uAhJPXNlkUS5`3y{1B$=@M)36g(6@-if^gtb!$Tl>O=tLZJPy7MB>X~yU=0m%&>P;I$LF50Z?I!9z@u3-zPtg+o7wDJ zEE-zgg5=$N8vwI!vy=S-JP8Z%Z7hFNu>ju*7GUs}UbA=E_b~Od*xBqHNd5`Qdyu@J z!_H;rVd@`1^5M&;ei1_XgJ6`Gk@c#MIM^h4!RX&2lU6RNi>Y6Vk}eBQ`tE(XYsi3B zgO+ZZbuBk$&iE(PuV7dCq5Tj+3y9}5n%-g?*j*UfjqE0NGrNV|%5Gz~vpd+G>_-p) z2q*|>2$1{ELSTS^gMf#?2!W8xejI@IvjDVv5wyS*fEFk^v?$csx6f8^Wc8~!bpH+~ zfwj&5Q5-sZ6hr$x1fmWtii1OrGy4O2{fL}q97zL#j67$H;?g_&7xpX$_g5Be7NA04 z&SuZC=OM5_6quf0fvM~tELtqhVK1{+*sBm&A+SM!zF%i=AO?X00_V$T@E!u|elS?= z&Xwr2pJ}Dd;kWmVDs-kOX7CXq8;IbfBR0OVxWA)W^)dHTKHjXnzv3~22Fk$t6qkWP ziVL_Ag9Z*MF5n4PTr?Bt8G~q0eBc^n3~qtvWYTlk4Mh;R28Y3Ea2ebNk0HcRz);Xo z$WR!9LJ*+$B6!dZia}5uqA@op2|+0cO6MAi`oT4n^n+_Ci@`0UgNwX2|A-gVd1Qj5< zNyE_G&;o*R2rB2B$u+b#wDU`DTP(R1u@JV$l3OWQat$r?nsqVsK)4&a8oC*}Lr?_* zBuv$E3_T4o829QBg{{8q+e8e#5yOeW3~TLvb(|)m+RhjnKBM`_8yyhthQ26izu=?~ zjuiDwe$;I6`U|^i*WPgY&nLL27zX&sO~d5YdQPM1EjGw73X?n7FvKv_FwF3}VYp$0 zVWdGbKnPxgpbi9eA*crdl7?#M;SEJc0$nH7rNR>(c^v$iw*c@1;Y}< zQV3c?5SeYrH7tjq6$EYakKEM;e0zgo4OaM3XqMHm9&7y8dCjt_Q*=4pYS@X%-DcQs z*a1OX2--mqon!dOunUvh9)b=ppWM$8j$Z`h_>Eyg`QH6n88&ryCH^q?)L~5Smni91 z!AXlwEK}mAk}dk=$UDkZ9yqkBwp3}Yx4<`s!+v%TVRk!XcGqKt*E&ey={b%We!=V> zH=Hn>H2h#VW%$u>+VGR%jNxYpxtJhHYac<2>L>hmT$f?r*bxgAZO+*9CDQVL68hV{~XTFIWU4L5Tw3z1i6BQ z%oPges?@-ppWR&gW8=w{ zXGPW7|9b{~p2rzY09(dLr04qo|p{5l$Wn3-bV1h6Ab^5 zZ>xlMZQY>$tgJ^=v)JmTu%4KLl1>dyYClt~X!NZ5O~$+K{oEqbh^D}b)i3FvnbsR( zCWp4kUCh19&EjTrbGY}oxe!c;UvFO|a>Sr#S`o$lM4$y31B?wR$ zK;{4SSoD92Hh+G!x_;p+I6SjQUE$DVd<6*JdnN?^nXqv^#|CZ_3NPn2LNG7S@Ny+p zPq~BJkCL~!V|dk_JBbzQN?oC@LHF^19lmvU z@Wm^2`ph)p|8^`ocM+@8-y!%=SErY;I=#YO#V-g}L9p8Yj?`%}Mb$;*4tEdhxx3t- z5Uhn@T{d^0djP?D2sY)LGUWl!V971Y)7XF5fFzeUV9DJWB)KZBM-cEP9?iAo@FFkq zG6b6;*aE@U9A4$kSeb5vVEao~ro4-gd3UgeJX+u(Rr+kRl(%mR-9KDA$BUFHUjQX7 z7@Txk+g^1So^85rY?sJF5e0S|A3I%q5gt8lV=-TpFUA+=OYkLmG%dIjf{!5B1;NJ< zd;-C4pAO~A@#XOyJpmp1DFi6cqSC*mL;qP%{RL2ggHx6a*(A zIGN3l=HG|&OuHvs-W6;rh&8G9SusWQ<&*YH< z^%DeVAow|lpUuy~>hKo`etr4sa3Ruh*}*!lbbPg$9eOq+cUWfLAGNq;HLMOlKuH$| zC!P7j&GCneHlDrYt%McGvOi`3?L=eiOf$ z-@pHt=0o}j! zg7$rQwPuQ+-jlEU`0z(Cyx&4_Lx=Z!1TWgg2W{oUpG4dEpsjo$xQWOO(R=zd|1+lc zCmu0z8-hF8{4e~k5Zr~}e*RH=fxm7tA`Lg%Hi+weBu*P~ul+(D$_yz>wy}}1F{G@Ja${oi zW$!Ixb7Lz6pRt9pr7;pxHb~ha<;XEc8CzrcoRD(8eE2#dqB;c=)%B~XBdYFdIcMej zUyNGj2q}Q!>xzO!A#i?lgF7f#=HQo=e>KpTO7C80*tm#$HHcQ62=JF&=3w zDkNBAscUrp`WXB9iS3JtE%=;FdX53c*DVI6OcsdIE+KEt(qN#Ke}>i4D~*LaHX3t3@{|yt1?T zZfA|tFtXDjRZd6tU4*Q077>bHkSdRYg7F&)3Kmc3eLdfpjk#T5TnMQOkP6E-<`@@2 zDjZU1TZH`LcA0S{<~G;3+=!}B5mJ>PRXNA_p>Y-FwhE-GzI<*sA{aLX!+30={rmmV ztsku3_jM81;2gB4$06fZlyqBg(n4XeMSuIEkzwoW@6>&eQ5k&$-w5l^@_ptGZ@mu3}#-qmXjmM0~ zjVFvJAyo%bbs<#`QuQH)^mIc=HG&k<(h-nql50E_fcH$m-2R5)ZK}iDLN~V^U$Ofy znA;ne-J6hVrn7qovwIi+@u=sT2mbfD$#S5t1wueO)@2K%03g*8QjysLEg+Yw6{Mo` z4PL=0NC;j*5KIDc%c3CF8d7c07F~iOsOa7rsx742;nMzbi?080!>#}MjXH+}2O$g2 zU?QtGEYV+@RR6-%tRtOrGt@f>UcrNsh6E>_eX-x(rkh(89XDxGPw$yz+hcfzLPAm8 z$c53u5!D_o90|q1El71hI|~L4?!^as&y*4T_rMDH9$2aqx)nz#hHhj++5VbI&rwOJ zgSZtc3sr=wLN%efP(!FG)Dmh7==o7yAle;`>ISLqkm>=co{)-xR4+)yLMkp-2;2iJ zH1rQ{1$+-I6|ZyK`|;p5{S~4Zt{wQ?CFBAz3DX;$>jc?2A zo!v`_$1)Ww#6c<%Qhl<81i=fbBuJtC4)STmQ|K%7$F`%Wkc_QPUt~LkRBUzn1<9bw za(c}&g~6EiEMcH92vYqal>({M9ASts6r1Wah_jm37 zoM_Q?^`upp_BT<|F~Lb^XfY?xSQ~!uo_W;6+`EGP3GL&AiMY{P2@^258P91ny~U;q z^Dwy6gz3TzVW#k|FiV&%%n{xb=0Yk9QUf7{8gekChCpg4q>u~!I;4g}YDBK^zTe;q z*#U4DV{k|6;G%sE0<%(YzXJDP0CznGcLSs}9o)?bTz)VS$`8gNDBmM*8NKa%eEW^? zk?;wIc9-xm+C>pkZ)6L*g-;lYmdLlUK=;OtX{@gaQ&+Lyc z*s6WJs@W6%P6j(p2603VqVskuCF6_PPpiY_5z0X9c*pSU~7xQNB%PZ zuIIQa+{e&f6Rrz4gqy-G;kIx`xGVfA+=J9)NKJv%R7g#O6dFyIBs$iAYHbasv@)Kmczn**suFWq9A zsuHrPS}=xTBRyxYtZ3bEym$V^^&!+%M63zj9Bazs=GdMqPuDz=)%@^p>N+0~{srnRPZruC)`rj4derp=}; zklF*O&mr{%r1nB;AEds76!LcVL+Wct9mq9p3)t9?(ET=b$m^!v7};-hWDoo9w<(9` zk$-%}?7zV5LCowSNFCIf{T4B6`VMIL1<}^GyL@kGKwC%e>mN*~F}J5oKSJsVq`u8I z{bV`=sqY|lGXE^?Src;ea!lt;=S>$Nbre$HL+V(L>37p5jNoxdop|{O-auU44Cboj z)y|I+x>K}pd}EP7Av<${Q;@V{&xg!VWo`T-F3wV zNI=ATVtt7A*`}^#iw(s_kh%^j->wq*vT`dn6C)A2Vso*Dh$gCUKZsmxr#3+pJ zZAjgD>FA0b2wChH%ww?z11=Z6)#B{<>bF)qho#_$nu%Rd(yqZt%Vpj%_xLC>ed_jm zp~i2(6EO}`m`ALMFsxYp^3O!yi+x1@60Yc5!hQIh+UUrHlcU)e5KNg zL+|VPB3{B37l;cXEkRn&7IVZ!kX9gV$v2-_Tqdr-h2$dJL#x>KtVFhlHs@t~=nTDP z>qK-bM2@&#+#qg*v=!1eNTctY#Vv?>+5zd8za@pZ3!(gRFv>%ZG#q=sQInBl5>8z# zX5H{Urv6iu^t0fk?}o454M#QZI=@8R+A0s{?tMc27vh(g`c~pTWP546C55;WQIDGK zZ|0@MgW^fd?IH27ctreG{7yV7elH#qkBcWD9RleBkS+-6LXa*D=^~IueNhb3#UWiH zSNtJhdw&XW`zz+Qq|R;G$J|zX#qGbq?RCuU4M>;LxxI~T?;Y{3c!z2N>C%ucgWl1` zilr5!!Up(|2nny>N~DC8aXCnr&z5KjspC*chvyr)l2H<|5Ehk8$n?+^kPu2T7Q(O~ zAygTC8A!59PDHL`lk5`0v?8P{LAr8|TB^ zXV?0yUrP6}h+L@zN?I~F>D35?;Th8|mcgPyC=?J@F&3VN-rSV^qS+w^9d4Hx7U+;pJPj6*>Box}*Kq z0{_zyh}`0OU-y#m@~spr#X-6$q?=_+36dAm%^{6;FvzE%DXFiNf)VT|B}@Gw-2&1r zAsv|`rAlcS!B&utdg(5+Gzf7uIGC&9Lf>gc8b#C|_vMr~_ICal-!3H$LrGr`PRdQr zec0un(`&RvU~U-i(-T8?3hs3-z8ECr$KoigmfoJcZPHqNOy&FH%NDfbPq`P z%#{Mmw^BCPCoLkcOL+N~)*t*q$D?3JIu(s}>9kiCH~%fJgqLrn4UpEK{2}4xTWJe- zRoWtLhjgsZS&oHt90Iq4Qc~~kk0rc~vGj?w8`24o_GU|;NqZpO8`4SnXL7%k@HWQM zSJ+ujM9#8w06WWl@^Y4o=|O_hw-VmQSo%&nDt!;>zL4$*>Es;gxO4*Zj#NO(%jX?! zV=U#djqwdRzVQ*!s|pl5P=Dn0X=q!R zDtg~sl>GY_OL+fc8t+OW9l*r*2_jz4aYMrU7fUy#TheXmj&xW0Q@SVJmmWwDA)Nu~ zOh{)zdLX0+L3%Kxhd}f+9~zB-U(b~T`xnc!-(8mR{>Aig-RPpnOZa0i=n1dj&3|}h zynV5Z9Lo^_t1IK}i~n|2NG>85M?A?zWi;B+APuwS5^_mMkAn1@`39|APOg9pDUYFj z13@c?VQ7)b36egQ=^hY3xvE?fK`U32tIG(|F_3->(qnVvT5@d+?Knt}f9cT54GCFp z6l{4LPjG*}dRRp7_Xp){iGSe1j|7*SprlQMlh%$tGLG5b@bZL3cSj^)J)I}sr(hhb#V6It?(ypW^io(NgFz1%_WD0h-O%U$HIayPlVjEw3#ke&qT z$&j7`>8TJs*NL7E=^2oo3F&up?VJJ3H$&Ph@PeL z7Xnp!h2Ar{@=8CpD=@Z8pOZ9vqvmn(l1z;<^4+s`q!>ve1&$6wH|;xGP%@vV%OZWqemL3)FZ z?J8+5?zaR|x zqU>|_iprO;+~Ob%`3jcXJc2MdeV=jprhFH}eoMYB-+}Z_NPh(BT{-ff@;wau$B=&c zK^O`kWQ7VQxPGOwB}d$g=sf*{;UU>6H_+WdhZGhiH3TP(zjQ76lCx><)|{m?OSQj* zZd(ZS44OOi&E>UHOqg37gz8~KYAJSh#`arHy$j_}(%+IY-3UjLmVbF&jo7+>b%x(UgTLrD%E>x;P zT93g{YU1H-cW?&3AexT)!T0t!I$5c&G(ylS4U~qEJ`Cw2*-B$20@B|?`ulwIk(Cw- zcK4K)*hl^j`N&EX_K}a~=_AMKBG_K(jG#q>@Qwn)b949C!BD49x@GEf<$3|59HLzQ95>yZ8l(y0HD zX8r}zzd{=6<+G4J2kG;WzL2Yo2tYf^ADyg>!O&jRjqRmCbTWPS6|?^Wv(quNGa&tY zz}70Wu&w<8i1_IM_{jihuRQd4fG5n(SMbWMvOrk~=|3QSIa|q5(8}!$yJss$VIyf(W5u%>*)SHWtFlT-M>epRjZr0w3m4Qo`P<^Rr0v`cEh^O1AmKe zkf|+AzaxJ*l*9O;n{SmoZoVzJ@{5?+u))WR-f&Usj8R9Q;I~ux7~@w|!8hO1=z%7; zl-=m&0Qyc4ek!Hk7Oi}t_*ZTf-^wkD*ZA8^I3SXjC@Ej2x}UUFZH$cq_(NjjgKhLZX~hejutXSb&T0JsL(it)TspbCjQyGs@49 zAs_=FL+2>JD!(abA;Ut(02%Jt8vX985ktl()t{+Re{cWP^dbLQZJu1;RsY$j|MA%> z$HrAjs1hEBuIt4u72O~$t$liIN(PprXm5O0dQ#>Pf64-C;cT^_S_m>KWGs-e`VSXX zi!FeR`4G{C=&F`bOZJS4Zk3f88<*^Dke(hpBu6blOeA{v)0S3?`3rlTp}ZQ}{c(n9 zZ)T2KUadg%=nxf+zQicbVZ*}97Y?mdV|e+(!zxy*T(x}Ris6+i4jTeYHEg{YRT zRw5!Hhhp9((y($Z7=>h-9rHpCrUPpz*ufQ%b5 z9>|2`sEyRdY6N5oK&BLAO5=_#-x;G@xedzejnDKC*rL73=(9ILuSH~Pd~7BnHzV)l zZPL91lTx!X+Q+6RdIP6ulpLFZl9$Zm>@oghPp9_xMoZlFsND)`rH`ns)i!EdBoFP> zXtllCq08fE{B+4o>hI0SjP0M+Eg{fK9onH>MIcicGDsRq=69PGYp}ZXv^NXlg?H!{Oc&45H z+U_}OqS}Y(@lVNO6iefd?f;rN&l>1r(oao(R#l{`nMAckYMMGgO;rFAe_r#c<+?d4lWh9YXb_w#=F?*EtfzK_wFbM{$l?X}k4 zXSX@~!?2N0jov8T<+SM2g*jQ6Q<|gCh(1%8$qQ*6-DQ7|rwR>^nO+;LTvBNSW4QDS zqBpg#!i%FXlaIS3`ch#YA4~h$wYT1i=1akk%wvRkEU!4xxA2N%&XOMQIiUX)g}<38UCMBqf8aJstQ<%VSJ^$$3_b2s z`UA4`?4~isJr8%d=ke$ll+>%EpNM`k`l;xrqn}ZxM?V++yfBl^CkXQ-VV)xRy(v=A z3}K#ib@YqTJELEU-WC0F^efS?M!zP^dBR*P%%=$RmBRdhF#l7Se-x^%y+gch7&^B& zYGt?s<*#fYkq4?vt7Hd?v|F~Ucu9Rpb)aLPE~z9vt)$eS7C%tGELUDNv816QGb1fI zH9jpdEhRB2DLo@8At5oL%_Xusn3R?t?_a{LZL9q~Lz;=jQLFwVX%bQb0e^f4X%dn$ z(vwnC;*(QSk`fXV(-Kn>Q}z`nDLDaYWbd@42N(U3A|B_<{% zV4jTl`wg;>nbTFJ)!Qb9qKGkFOEL)ws2)t*ZLdvp3T(C@`|9$yyF8arc?&UlvS0~ zl*jr5ODbyu4VmL}#uZE$kTgDFpz(P{pu``jkF6^SRy1U`>l96`EUho8Up<^+0#&uV zYz)^^HUF-!TtRQ8Bv=ya55<Yc}2ytU}N1%V%uL`U9+;Xx@37p<(lD>YW#s! zaW%D-^1s8!HC9&n`79WyuMYStOM-!h*6;LAR$Qrm$@oBNV|i?4T}3ToS5`MxmC!2- zcfgEG8dg>=3C7m02-MeC`YETPx}=`FR8Ci zP5xh3=KmjBgfeX-FPx#!{@+Zup+r?Khn&dU{#e;P{2$L!b;gT$yObNMuN6xgWYbbr zvig6sx?}=IJ(=@b)LUIrT{Tel2O8-xXX@>FoRK)P8J3tD`XVk*Hmn1U=CxhNA@o^m zPXE8$Z}^iOKGS%))ceA+$!Yk%nE?NmO&=}$xBG$zw_C{L{+e#;A&F*mykl#4|H?E{ zWJu-)|FX<|`mYITalCHm-BzQom#MeYu_bkNRRKBBn2-_|AKTL14PE;GS|-wa@_N6U zR&W7aFRcdAMKn(oz$6 z3rc8i45C1%_wKu~_R>mfaL-V-S{>O=~iowHJ8;F=4HZM^_Q={uufCDTc>wiQlY+Z)jdzWKDp0c|89M;(#FMawAp+3=T{0p~F8oqt%*ss^NO#fO7tgJp^g|c-nt1rwo z2QgZ>E*DuViCb&2b+NU?T52t``mF)$5^K2?t)=o3CHc)@RBL>Nq>j!e<5s}WY`K}J~|w>#}T&OS)D9ll_Oy* z|7aOlww`L;D1-JiD>Du2gn50l^$aUB4I6~{n8O#e=UF$&hn&xnDRUD`rmPpTWXde| zw`8iv>aYu5Ze>yLR_kW#7HhLGA1lnq3G?w=t=p_u$e=wzm{0ucgZ4Ti@%oODIPRq7 zS?AYHKC|hnw>FmByPP6}_9ia9x#Oi5jyva-%#+8Rd(o${w&%|Jd~a*e-e%?C02#D* z$e=x02JMA1(}@n5E^M)Ttxw3Hz0Z2T^#SXH)`zSQTOYALYJJT5xGx(jI&kG0brqGfp^R~ZZ_P-Fb@5q?lEzIYK zWA=U7)b63F1!2BGHnsdgQyUqs>Cdck;jr~{>leaI7wDp9>zCHAg!y7&-g4L$OtW*;5x3iV+Irb~+xpo0+WOi0 z+XmPM+E{LJl`vl|%-0C>c459&nDK+_g_&}16y}?@+lClHYl}5nT3dn)+MB~cduvNe zd*9ztd-$W)HioFRjTPowLQ!kWK6p!On{1QohHX=9Q-%39VZOcDHr>X|>m9<(a{t4$ zVcwQ+lk1Fa1-3ah-m3l~%y$a&U0ZF1Ho4B&e77*)^Vi2L>x^ytS!cZF_=-E9xH|Wk zySv2y^YwebyjaF8>x^ytS!diWYhuJ%JIB9zS#TeIX^q)Ro4(GtuWgxpJ-GMJ z8%&`5 zM}_$@VW#bULYSWv=BKvXP7Fotsgb*Fr;66^P{IX$v@4{@#{dj&qqxPwYIkHHdYTe+pe{dfL{>i z7n^N2*hs-Uh56;f)E5iJ$Fu%6d_OR^{8St+Q^BaGCz&}kCKhv@6+x3BNBTDP1KYUBS^69a!UK%L_ z{&_Baq2r~ueEa^31CPs|eEOb`%Hnox%xJngI`{st33l0DH6r*G8NqMMHup~1=I%OR zoBOuyV;RB!w7p~7ZF|@Dp6z|x9@_`D4{aX_^E<*!U+i6BeovTLM!ZLuKM>{*g_*BD z-fsIO6v1DF+T5>Y1b-5a;Llpx-0%Mm;QvAZ|3LuT6=D7~6u|b#gSWZ%&UV>_vv;u{ zDa@Y>^B2wbZuaiN{4Zht>aazw-EP#zsa^dH6`t|(|R<%_)+KI2wHm_mk#fE z>Ghvpb?)VpW^_3=V{@-XkF0O~0Zn_NJw=aLd$NpJwj=!6tF3*cJ(q~JkFsalN888P z$J(>(>h zMX22lTPN9GZ(kw9ufZO)HwyI#p>`H(m#y}d_Em(RdZbXh{`KLvftYIQ7*o^FSdp;n z?rDi)$WIea-L&Zr8Ggrd>2Vz|t?6{@$=}{R{m9#UHP1`Gci6O+PO|+(yFB~deiB^` zwL4u6`>Av_)TsS*HKI+Qg=^+4`?*HUo2JO8?iDUvzYx! z`%^;2t@<_FpRqqH)c!&pc=%e{o%WZd5B9b1qNP;_974PCru`im>TlWKw*OP8gM>O* zs6)2eciZ2Up*~coNB#Ao{xR|UNyqrze$$z^zEMBrveT5}b4u@fuu6vd=Un|ChWc0by++i2BcnF<5G?kSonHlNw*PGZMX1Atn$T?j&HlSk zlZ2YwZt1rpvPtgdQ{#)H(!=X__1%1OMHR~c{>{yE4vSG-;=f-UyXV^NcXM=c9NBJv zgQL46s{IExhl{;V4!gtQAP1!i6=xW+)!}w{9OR)yTOLw%awG0YL$-azq=g!UgKJ5t(z zknR|XpExocBZN9usN!Mdw23E=)pTnh*;?pyd z+b&{oOfYWCKIm=jwV3RfCPkX!m@3p9q2@L_raNW`b%IbQHjT+&Q(Id-uf8^@?@Q}9 z=F_`xwry#6Lf<^$C?LZ*<~Zg$<~a(5I!UNgggQ;A(?c21v5@a0cbm7Fw>cKeQ5w^u z^8eMzO@sT5*>%BB3jb#m;ZztmBoU!`BGPUXV;UqAWN%`F#J=@%N8hKke64L`9V z^u4?y{5=mH)-rSFSmRhPefVfY-oYE|JGwx%r(~-`x(Q$_3 zOvhP5og>tFLY*(v1!3vg1s=B7rZ)DP+reI!=xR#SIySelS78TxZ422$UK+NCv~Bo_ z*M`17u)S_^+{1PlWs>7I$L)?g9RG0K>A1^rcN6hmB-CP|mI$>>r~#pt3$^lU#}3E6 zj{6+^R4{RutqUfKqyhs1Xj3rAN0>R9LxOUO^tf9!_;;5?*lOhGd%Bsqs+>)A8 zUte3_&_RBEEs-I9T8s1<@^8BEe0@OSWA~AMry+f5any~6N&1#*2>m6$qMl7B9hFGX zS4|mOq_$|mry(^G!)D)K9mKbGlGV19vw0!T54c_&a`h#d}ye#v^eV4!>z`@RUP|HO^Iw7YmM%G z9VF#8}AgH&F&MwX)=S`t#UMjpPvXIq>-gt{iQ#naiFvj^m-96bKx)6>O4xQ8-#kCP*0XGVDdDE*^M=1fM8%%aCV?f z9u<&RRuN!l{FK1z;;5AUT`;wzA;=*Ee(oI4p54kCz4J6~wQ-|<-@yId*Zz9>fUv*` zPW`llMNT$9Gw9IN>`Zae|E9-stn91oXV>yh=LoDc(m87G^t?E^lV9$Ze&mz$Za!Y9 z#~Af6+Bt@LU^ic&**Th%8uUA|oTIq1U+lXl-j~dkVFAWFC(ucZUgXTx1vtLhInhan zj~>uT2NHnCPjgOp&L~8H2E77>dSY?Zh}_)x#O&;}aj~h1Ng1)psfo$4=^62fv5CnU z=tXaJ&T{4{Me{g5LjU*9(9`K;@yx;T z{9k%}QhY4`W!GhPVp3{yQg(b|PUu0k4aO6~>dtc(u{+;c=$!9d;9MxwQ-pe|P)`%; z>D!!(oW;(?PWn9?g?ffi&lKue(gcV6jN+(K{uMz#M>&)QVmU{ka;DtqIJ2sxEKpHf zCAVZ6%5$zuUF(Ofg8rXau)UZG=}BzQP0UH-C8C2V40ot7++q4PMaf@D$I*RcS?I%6 zUndl_d|0D@C|&H%w^}}2u7B9~so5XRyP%CX1)Uod=XPhKbA@xIbCq+obB*(8=UV4F z=X#-@Bh+(+dY(|v7b^E`66%FQy-27R3-yxiN{Uk`DW<*7DS}{Ea4=!QH9EYE@{diIX z!CqD$2y*>CU(Btn=e!Pi+D4RdN8b1;b4uzf=^E@)cK93*BGb4stG=wFGRRpUjrD=T zmYZ9?HYCa|sjjRdr#RZmGmVaLmE59(&+i))`}t&at849Z^&!PwfgWd^Z?VtKa`(a< z!%^oO|4B$0maM-DIWINNfeDAsW+&s9+eqZiWLU;5uN3N4LcLn3*KBiM>AcE$weuRG zZWrpcLcLC?*UQjxk_@xTf|V;caz-A*QXkB(49W^~clcrsN4Ic5%KpBZQ5QNoCBDO5 z*|pW|vXEcrHC9)%wb@7#d4Y2M?3V(4Yx10gl-#5Qf7GXjTDL~`+v>c{dAsutp)v?` zt58`N($a$5<-C{INax+odz?FjdZSQr!kf3MX6OCRD~0Jjq27X$Qa73C+w0cu*)!`a zIdLXPtsiyp3&*j+DKAi0!v4G3`r@b|2fx~Q#+;I>#=xxJ;hK5e`SgBdj@<2h*7=-# z-BfQA>g`Qq%9P#%B9z`coic~M||E8&hz@S zQBKxKVgC~8BcBe zmm_WVm>xrh#*Y{|s$XW-q{&mJPRpA+Z((sk{~CG;FLmwKJu2GTlH2F>X9Igf1IGtt z1xfa$jqD_EifD2-MHc2YmX&cBLBRi#gP))A_@wO10;?P5^WTs_Tii{Zws@P&O*R_8 zTpIRQdiLtwr*F4@{Ra#jG?>rwD%S*f){@++l5+VFn((sv$~w$WDI6s*x6&W1kR2F0 zCjG_^l%p7m5`9uslV)jBn_Rea9A_z21@cxm1OwFtljJkTk=S4AcGR%gxZ#W}7|(4j zx5ab4`+n0#L8rCJbX=zw7J9`zNBDMK?8dPTfW-q>^6GrmN8A;n(Xq~<8pk> z+2fnKH$^q)PH2j5vdX9WC_P-VJkqGPzIDI^g}^@qekUM zs(Hp=1G?oaNeZtBV$ee51K&Hve2)LZ)uxZGI!XnoGHTKc6cWC0g++{goj~qLQXeQl=`i zILob8X;juK$8#vwh04XsrOM^XHOfuOoyx!xo_ zKbd|p{bu?jLX9{gqDw^Ah^Po_ggwF;ksL8SVrInbh`AA^5z8W0MI0S*T*S!{n<6fW z*cNd|#61zuMZ6fXC*qTcuOjwF{219aGRpAl2$S(&r7ZN{(0?N7h2CNG$6j&1TGY}T zqc>Ty)%l9^HKhm>%72Bk&l}EnmDDTAm~T1XcJ6S#q+nW(~FRaiv}IMBzaL@aJ6iM{^ZJh zy4L!Y{l;1h+ZcVMFOBZdQw?_3O{m8#%CGg8tnOVB?46J>A|d>{70$iR-;~sAoZmXX zbAIpq!TF=}C+E-3U!1=R^#P$iDAb39${5-sLVZ-Ij|ug0wyIo1@8=IC#bq+>bwxUV zki8+<^?6cugP!7VmX+KiyF=1o4%D2>roGyglNxeKrFryh0yT?TKGpZjaI7x#()E|MvJ3H%L3#s+d4X}`6Z?D{YVax1?r1) z(sRbqqfCm;j?YeyO&*t#6Puo#E4%o~={d>S<1@ykrW&oHAs2U#E2*Db(lDp8LH5$- zRt78bNKI9;+~TOAt)f=eHw5`?LVayxopEpLV`VNbj_Sq5dRrSffN)Wsmg4f+wpdzH zKPmiNqeszJrZ!*oi0_@8(K|6IEvPy#9k-c2KU42}AUHx4B`PV>M zkGq66PiTcgD;C;fp_THP7LfHBh5UIHwJWEWtf(wEdIIvJmVah3zE&I+%||T*hkA2m z+&PKU{q*GAdRfbz`eh5}Fu9-~lEG0fv?bH@105&Sm(*3Xej1jczv?X%+ntjF3kZOp0q! zEH0bVr#K@DvxLu#YWa?2(NX{h=Crv#4Qn;UCg;&2r75JMNn8%5&wr zcw2i%s3hKZh5FvM$oF0IT!s89vnf%i?+bMgf00JD=T=s6NRJ-x<5o)}=tCCKa#*89 zJNYqPoq`%BF86b>+bAR8FPOA%IkHpVu9&=9hPY|u!=6*>@-qQ%v3XFCzTh8`alEYHTvL-P(K#xM>C>s*|!JVt&sP!YF$Qx zgnnf(i!LN5amizj0*mPSk=JI*lOd`3qVSy1B<^Y0oWwxMY;Bx#P_v~=^AVlx-jGi}QmMvgahEG9JgPiJLa6_eK6|ulZOCW86zW(1kNE8It`nutG9LEz7S~Ba{pL@7_B4EU6_v9cz(g`U6NIQXFV;H<`A zExilbe;5*_?BnCdoxE|=MK>Eh-Qwwv79ThMa%;H$&vIR;q+aDZ+jWlXT-SN7^IaFX z7zX-IsNW0q2ciBb)SraChmS6lKG(~2# zKKoCUdRmVQCDQ|>W8)f`QH!Gn9IP1L2{>1yo{14FX7?(_HXlRrT)vsSZ-0Pd7JBY*B!2Zxb761Dzqbn)>&xX{_8DTSg!kBoEE;t^?=Z{Ev|lJC1mxb1Si|bXPu_X5(#*}7x6SKVi z=VpoiFPUZdA(~~+|B+dCyWVG}&-JeBJ)zlzW^Z=wiQFSJhcG3{RO(sY7^q)8lX2*3 z=1A)0Y)RuaHT zgyt1mZ&`4R?0e^wG_20Aom4|_n~uaR`KW9@r@^x7&&}igwdG*u1^P$wgo?c$h5AkToIyHY4mbMq%1DUw^$+zY3C-7} z2(72kdcCA{cPnm_JHj0qF*#pO0MA3SYMD5N)dtL$o7?VoxT&bVLhC2A{z4nD&Fyx3++Md^Xaj{dNN9uk%m1x* z)!o!sKbQ^5@N8wAjC7Y4!5P)kkkQ=7f_^ zKl9x4FS>Ng)~l|$?#5eh->F%SIC7sp_}0#yyMz`-6cURK`a-3sPCMn4$^Kqw1FP!z zk%w>t$r~&gx7UuGC=-R-9F%4+Y#G>z(ssJso`0j5X%yn?xwUglj|IkSf$Zxw%x^ui zJWAQgT+1PsIC#B_68raT9>8x6*h6Rh^&TInV?k1&ri`9!VJXL<>udUU4jwY}kPD9e zp%(=Yi*AmMJ3ztnq|h}Ca_o#xNIc|n<4ip$H#x02g+b2!3cN6H)>K9ujAdj|5j!(R zj6CGhd+nG*>6vNN(&+i}&0n7!ZrC|CYuvw4#v;lXpGz4z^TJERq9S)roOCEjSVWO+1 zw(gK`9lY!-Zmkb;Yr`C)mZQu&SFBuh=p|I9Q^Feg@Toi3u3LYo>XHmra${3kb7xUx z1aZM6J&boAd))DdTuR?zw@}K7C-HcDlx62Br=E7`w+>vztsAA6pHU#aykX~AXP&!=cPpO~r(`NqlqRN5Pf^ZQHt7?m*D`hbFz-}v@;>#R@*!_i-zYzrIx}V3*EGm< zlqt=NmW^hL%+ zW=7^lPKlfzIX|*EvOZEoo)URRlgw%64D)F7Ec0S>rMbpjZ(e0yXFk(>x%q1I_2!$+cbK0v zzh-{d{Gs_%^LOT-)vjucIzSz&#;Hkau3DfjQp?nGwMyNfZdA`v&sVQiZ&DvtcdBoy zyVX7FC+e?S7tOBq(0XhAv|(C`mab)KleMYZEUiE*+2=jh+eka$KEt3n0LIVt; zff6|{5x$l6oATEe##PmpEi-nH&U5Fx3xt*?v~;0m2o3vmLMCg+s&g;wq| zeqPM&ck@n_DYVhLv7+1b9(xZM&^s}{ZI&=@TgtLt_cEc4WmVQI?izQkyN>Ssa(BIw z?+(HW_e%FFx)k9(BjGi9i&}@QcvWS6x}#;nZ8i&%7)J^ipL1t5$J(}D&dcv4`AZfv zmW0b}{Z76!vSmwXQ-zi#v?*A%Wn|WH;E-wJa#r!X(vtL))IeEjsqrp(vilTXy{W6#NhD)&i(cl;lFIsK z_o?zt@}Sp*B|E+AkM0wMHi2J-Mv_8fy9c!w{yrcjr;>F+!yle+d^kBIeXmh|xzDY4 zgE5ZRn>Cuf+qlDM+lD`k|1%W0#C<7?T2Y{#m0PuGKMmOIzDz1}$k!Jp@oP!(8R_xy zQ4!$`*X+JpM(S4gHun|oE8SNKZKlv>32nB}@`RRug_{)`5|i{OVW9g)wcfYLoX` zFS6HTKB_+aTMJkojfj)fiO|Psh7ocE85xn)?+u1CC`v^EXRh(YNT! zMBY-s)IiBH2HN$8gmo?RX19D3Y6RutoR+*57U~`MXG-d|?%nQp-S4^Ickgk3;QrA4 zk^5u!C+<&$wnS*V{9g>=3&MW2mPiYL+_eue#maMLAQ;zp-Z+>)FCW_wq0d*YRO7HxEi9AaH+ALIAe>Dp=<(; zx`*B&XYq!YT6osC?{U&$@Gl&jN#8L z(_W#SB(#%-Wr+NXWrkb{*Uq7$4Gj^5m1m(okj?mPA`V8D;zN3HMWOm+5GWz(s0Ff4 zrc~DW^@Q7lfNZSt%dniuy1Ll`MvxoWL|UycD31ysIqI3}nL)gJrg^3d?G&M%+U%L> zrhjmn?BNnQR%wl_hR|a}U8kt9tMR4oUWRSv&@u4L_001Wdgcr5bfMiXwB5qOAu+Fc ziad)v#h%4VcTb6@)Klj1djg&%o^nrxr&5{bVQGxVANmQ;cFm-*Y_1Oj_xi#RI7g=~*STvxIhz(9Ub=b$R^mEZKKKG^&zbmUXIsnXzD!tYy5f zhI%xfricyl(sNn9s^zrpxrQ$|-stk2uXlMuqqi^Vzrs3G+2A=<$!}uheNz+fxBRxQ zXQSr~k`$pD?skT|vdx||Wp8GGUoo`pIoorN=iK>n$%fIT6WYZ>yQny7%zw0}y7i}T z4XG~hY+8U!;r{Yg&xM|gl%lpDkqhLIZNM-4(>Y8NvCF|$*H~IrS!UQPwn1OC7ye~a zSzWRnHo`8fY~0L1c}YWKL%8+!2g14IGS4-fl;gSFv)Qx7)9l&m+2*;zbEW4h&(%V^ zTxgqxwnb>oLfa~|Z9=<3Xjcl2-rCjMJ=yfsr}^(KoRp(oqc_7i(X~yV zHGM9-ZFd;$y0`VwhG=odGBE0$esRYy$qCacYsmX`^n&*LwcO8>Eq`K&b@nvx`@Loo zuLt^ySlY3UrSS6`G$<{>Bip);rRZzd^aK}ItM6CeUrELaH{&X~qU=B_vA(B*4e0y( zT5i_QWwAZ4iOi&QkYgq5N9A5yqr>OnT%0YQ2ZgphbO?dx5fU3iD_tYr5jx25>831^)4{BxJ~SssjSIU&ch*Ymx8LXPJFwmH@T$rL5B*wR zL})%971}*|^YKm-vzhIi4{v90m)7Rv5uxp9(|qWSfj1hj^jf_(uifhq+Py*}nd7w& zwX_IclhGpZG}$8TGjr2UN-j!Uss^g`NXLQ?h)s~#-^M*F2yz#)-3tRG<_h|2WY2>vW@~6GUA%Bs} zIpoh|+0P+=VT&E-W#unFIN?1(X2O4x2_u(t!XNkSd&1v5-W=GBP+8M4g>58-o#{P` z6n2i1D^u7WJ%xQDG+LLtge8*WviD747kD?drm&BN_Fjh+b{YLy@8#aj-Yr6VUuYi) z?ZejWwb8mqCMHhmrT2V*?A5*}8%|Hx8|mqz{iUZldU~?AOHX%rAC&3oAKp8?cX{vj z-s9cjz1Mr6_kJ%ak#UL7g!Z}6z7X2Kg!ZM-z7pEkLiE~j>B(aHJ3aju($i})JrVKWh11hpq$l;Ah;9-Q(Y@&c{SQ3K7}oH<@BL85&K@t0 z_Jh!VZ1#TS#V>yn+AoK#r{?{_`;`p0zTPioPwi*IE$U&yt<#Sk!YwS;_uijnO8de4 zqZd(r720n?`+ckT7w@k!rTrl+%3t19^F=D%eVsbysoQV8bH#^cS;3~O>woNi!x{@I z&8KmxrQ@YNuYaQWLXq|0wqre!(dQlWYD-G>DC1ny?%pES-g=OG}pWIrLm(vFN#GVcRpX!r7=@2kT(nDqn_C){*zO$r}&!A&v z89>L%{DSOQ-FM)QmG1)IMMmDbQ0A>cu0Y%?eOED)UuMin8;;fHl~Y)b5|-&55}%izneSTPbtJwU+VspUNy0KrPkhrl z_RM^@_-<`Ye2Kym+adAYMbFH4x9=X`4q=HCmf^w@-;(pZ?R#dSl(yflnD22Tr6uey zrR}FH=6k{Src7xs`gZzW^6m1y?0d!cs_!-5>%KRHC0SU=QmMj{CM>vQhOmqfmXX3T zN?0bp%Ct7-S8emjR=wH^q>{myom=%vf)xv;GDF+rw~ zV;Y2|bW2R5u#_ES3OQyqQ^+xEVvZITzp#|IPOZkQk2!{T+;<8&=2#^q=6GQVFsEzb z7lK=?+Hb7b-FD$e%qcPa3~I;w`GKyOvxKEW-e1|&+-hm|z`xe6fb(N6=XBwi3t~3K zTo`jv%*8R6#9SJ4nXvGJQ6((Z!crqFwZc*-EcDIluQu8sdE|-lKco4fI#^|+|BueJ zJV&c#UXMd?YZ_{+0&*gHYGrA?Tnk`qV$>%*jFV6Hd$l~*r6EZCwZC4TN3!4RXHFWQ z&v)$#A9kRNrv-u~eoj(pf4N+hwBNF2#kapy9@w(qOY<5_8}xIh+Fw8XK-Y&>Ps$0} z_IDgm_V5CnwwE)XA9HKWZAy0z6`CA#J1at_=d~=1Fq!~X;N)F%RB{tzgCaj;;8;=}H#R*bJt;Om zB|a-VJ1Zw8D?1H$lj|5f&=-b50*rt$Fbn3uLRiExUbA5y1fUvL!3H=EPJol(bT|Xf zhI8Rs*a`2z&+se!t|(TDv_?QDPysoto#9C61{|?uc9f1-s!JMX_;`gpKvsHgvUdooxwR2sZ)O*`9+JU?=Q?SAg)e zy#a5*KY_Ar@4+7U8h%m~yBRb%0=fWpvzJ3X91Q}nl^q+|FM-QoGc*JCad5ALdmY^C z=n5Py<){PhcLZSteV0BE2l0>y$*>VFhD+gc*aF`wipvC%fLt!hcFlw$D25WCeAnIZ zI6MhY!?TLwo&fnk{ky4i_k6e?o&fCPei_i+{Tuv&3-KHe&++ga56|(Sg9jZv=-|QD zo@lTE=NfoifZQJB_E4Xmbf7*x)Tbv4s80{i_fVf6>eGYFo;*Mn53+d9hsWT1Me*Vn z-U>Jyo`H`Qg^?4*w;0X^bn^YEC^5(tgKx#)TQN~!1rPY32lRqIfL&wa0r_H(FQy(g zfPiD+cz77F0b3lEm|gISqV%u>_xI=v{QwzyP*x9g=`jV6yGH=-K0E?gmuv0JUq!%{oRSmU(EqY;# zUf7}+w&?W=ybmA1M}Yl%j{(Z=JsoBO<@ZL<-v0n{Nbh^#UPbAH9)0kMKFHo@5DWpz z?Q=R%&wZ%pKGbtxmxDD=rJK=6c8QdLWpeOW(zVIyY ztif-=KVi3`3>gU%VKQLvA=rD!^*|XzcEEk`fT9fL`=N885YTC85nKn<#Zc;ED0MOP zenmNoXC6fz9ECnd#RBpkbtYU2m%|p=YBYz#y7FJ-92O1u&pZF_)dX2vZt_A8O{zkYNZh`yZ5qJ!qfM?-(coEPs z9(yF%0J#$ez#yPr5|A|kVG@uv0a+8q!VH)P)NKNFo3IGV0e?-vW(iF|og`2v3Dijf z@+Kf}!dY+*oCo+x0?$m01~2fu#1SwGasb~-oCWiNvJ=<9S~wmy!kK`NBsRk~xDwDi z5xo=9JMm^9_7l-J@p0G%pTKAE1$+r#!(O0n6RF!o>Nb(OO{8v~(sp0FrlYAH40}sGM@Ccw|GPR0p_#vQsHLm9kT@LuvvfLl)%1L?HfC zX8?7Wng<1deNvah34onad44MTr&6D()Mx71a4wt=o8Tg#E>mxYTj6%V2C3K}6&s}9 z3-<%Er#=ji!h4F6hRkULU;-?Ivw(Zk&@XMTqNGQG2hbxOJ<`!59s8sw0(zvULOP6q zQ7{_D!Zer-`9OW9FMuK_h7wp0Ti^yj-gKUsj=bqR;68W&sI&AJ;SG2b-iF#s z<&}bRM^Nqv${j(uBb?9=(0RlNK<5$YJOZ6ZjDzt&y^f$>M^LXLh|Lk`JE9B%P!5%V ztw&TtEl|%Rg0KQs!Fg~SyavcIvL{gP$OY))wKfy1GG8Xy9j)aLY1F+%P0+-GfEVE_MH$x>hQI_s)^YW)0gi(cfoF_61JGgId2j(-2G;`Rj=KY}k_b5CL zPr%FY8oUYrgm(eEj+4*)Sy8ezI1;c!b~HG_4L;}r!vLFPPls86k7i?wY;2KT1dE{z z@Y!tS&aMIh$eoR^W}gJeo{fF7kw5z^z((2FD0>rJ1lS|{6+oWx_}%!iKzZZ2Z#?!J zj~?Txv+@6euK~Xu|2^PiITq*)=#YaBIZpduE_IgsBs>Gp!Q1dDpyve2onQv^ozMl)bprJ@!459)0`)Zk z9VejU1azE0y-mQECyWMcI$<1)hY2tVra%Rp2*@+xS-`#%DQ_b8O`H#_0huRW4$W`{ zTm?75U2qSe!$fqL_#ohe6JG#qGVwKd6LteWH}OOGSWzY+|D?fyoRdbu7(lj3IWQGw zz-*w7Ce48ja5G@*Nt8E9mhlVxrYMtDu)#o}%*m8Fc?4tv=*7eJ7*uWOSNb z1WTb7mO~KGbMnzZT}`I0CZ7Ss?_{1k`8N0m+zseD`2j%B$&Uf`HJSRF{5r+NTF%UCTurN2uo<=j&zbrVd;s6T5AYNGswmS;5DD0Ing#HM zX~;Qk2*g7Yq(TOag>1-$iGZxrkY^g@Ps29Tu*tNy0DY$6SJQr0l<69HfikBL0P1Wy zbvAtji~{OxI(0UkGN(@h>TLRaD2KJM0gi#=;UqW}Ho{qOE?fW?!HsYWP5l+%PJaTh#f(mXJTuT^Mh#Hj4DOrpDtxafGi`v}GkZZ_=nvGWfu0BMSah@7ASKTWzIt1Sq}l_&UzB?*ICcO3-AuS z2h`E5Zvj1L;R~~VSCrWb;0v?OV23`yb7!OLY;>KCuCvi~b`GHD>?trEWv9KACb@uy;lE*Xi@VUGhfKTO}4L1XF=V6PyH{fkR{=ARj zYuF3l!4L2={0iui-vy$8`pb8M4|)Rn6X2BM?0d57# zE4UNz)dI>apzaDNv*0Dz4c~z*`xijJIVR`?#MYe7&=t^k4*Jd+3`apM42J|rhBO!f z)Z?5nkOkSW7|?spR(KRXQIxseAqi%~a@YtLz(sH=Tn<+Q^)vT2xC8D2;%zQE%zXf! zg`My+yav?WTy&ZHK761k^DHm`5&{33hg|cJYaX_nHwmT!zA$eVDh`xoCTS&Qu=vtT!#Ao3|m<#iv43DOYnoDEO0^!%!UQ92uc9?7Z7g?8UgtiApZj7UqF2>5J0^xI0x{# z1sB3)um!fkm4FTlK7_sSBm4}%F+CIk_}4<@T6hGwff!ndZ!H`S*moiFEKCRLY$0{F zFb5{UB&Y|TvG7rN4&H=+0rpsk4T@Co0A&_YW)Z$xM7c$jTSUDTWdQY7G#aJ>#ww}> z$}K|IB6KY}8rB1P799sC!YOb%Gz0ZjbQN3!*8;v%gufQu3b(_Za5wCL*WpK|#A1MF zE-HnSfS6zOG<>Qk#n_@4A1k&2^-=7GJ}?x90rD3o0I^n_3h6Kcuu1V$m;ti^-z!F+ z;vy)9W8iY&S;fd!d)ap4$!p(T}!C167(#|gt3qfxv&5h!D7IkC4MM}rBDSmupAnIIxRUHkhSDx;F+cP zMrjrVfch=n3dmiGElQt(=K=Xk-+=c4`Ad<%6!}Z>wNi8_MTgRF6{XAs=umb990}22 z2N&RnWz<($AuNGqPz`l}TxBa^4XlMzVIy1&&47=UT@Ba5EpR*FS7mnt^;h?zSe#-T4hwI=*z%G7t_f!A=_du45u6}g&qpSaG zKuZ=?d zE9Y6|17I)=1>&ka5%9Hg>Zv>jCPD!$1pL3e6i~Pv*~@F89)hp}h=X#TQT`45q9_#> z@Ien42uY9&lvyzu<^ttbplbznRj~vrU>V>S6>H&SK;H`Vt=I-v0lHRP4>!TBa0d{_ z6+3|ESL_1pS@9aY0dK=Q@GiU$AHv7*siIVBfNYh>Q;ANM)JG-dRdQeDPl~dXI$fFq zqah2%13E070rOx16v1M^HcS109!ncw6&wxg;aE5U&}ZqXKs_y`UX~)`Qe<0-uPyxm zkZb9efDM;^2l&}i}+%bo_F^P#XwK!1N|To#=smX1nR1)7|^o{AE=_Ps+K_wEC>9cY9(xh zv)~*!4=#X<;8H-|s;zJZTn*G^)pdaERp?%QB*ejNz<$+STm3kEs30oT+d z06tYS3UXi~Oo8bz3-X`<<^uB9P%kyeTT=tbTeAXI!&<FCPEnRe0P-$J z-sQ-4>@sU49qrfcxPgcoeY1a%{W&J=g;u!pHC#d;!>d`8V(_`~W|}FN#u+ z-1W#>PYl+tgDvnlaBTzjYrswo`9NJatO2fRXo6$lR5%wdfQ#T#*bL1;o@t<-8j!i+ zPPhl~i-w1RdTYQ}8}N|^WDIrzM7V4uw!rt3=l%~g0fef z0O!DFxB{*M{9wh6a5LNncL4RiVkdkA=(&P=UO_#t*bCnSb-dzNK&F)uU=U+539Fao9lWv-#j zHR!p9a@SDq8tQFLHPk^p2-pZ)fpXVe1J?n%uDJ!!bIqM_58MY2!YhC+*Srb%&6;=M zJ@^1Vf=}Rc_!m&8M|Xu`Kz$s|GmkzWcEE0+KGyaGY_WDcOn}KS6$)Sx;MZ$Q!4Ktt zZPud4+Esu();7Vha1xvf=(F}rxE@{rWL%4UYxe;1twpxA$hP)t*sCb(A^`tdX9W+$ zKriSELjc*=4F~FOT@ql^bv$DoHd=>m*5S+RUIXfU-TQ#f>mz|O*Hh+t7f|kc%3a?F z`oTcJZ`Y>*dao}8%3WU!=(;`t6@Z@WYhXD9VI`afXTVu-4x9&@;3BvLE`u$w6|R7X z;9W)8fIJ%p!4#mp4cxbZc--(3AoGTw;8&ndnoQ6cY~TQNXhMf3AM}8sfK8ebAqDWc zrc4+M;{f@ajsfIsqQ09h1Y~Qv9PqOy{H*CZxB+g0*A+!{0cp}Uucf<=?z-ON2mbj=gG$2)MFCM!=@`8+a=->`gk1=VTpK&-!RQfE zqekawVbo}_8>9wIQW!O0#P7lH_q)f(z2|uEUhn5CKKygfnf>gmpIhkHlt`jziF@tm zUi-BtmQKXemG1OK)_!a8X207((7!TmaLfG%A$NbX=)aUy7$H*iHb5u4MbPu`7M*-||klcfcP>d4Pq$BbSax;UzL%qR%Zg3@<bHgnV@EZeiQCR-2~rhLMiMjp)8N{ zBn@!02@yomhG;qvi(5$0bHdm3$50azNMt1XOt7njiA-i1_LZ=jwU}kX1~##kZR}t- zd-O-p-q3`3n9h$~J*yk|0hdoSX9!36PwP=L=!y;*c+Z)!Fc67(R4SR`K zvA~Gj`mf@XYvJI1M*iOuI*blg~VZUOo!%lFK>-aNp*qtCqya%}x%{Z|z zc9&?*iH-3_qWL76OJWLUk!Ti)>HNeo)J#+}(Y_MZO;mSyh+O0)Kc&(0aC;iA?(k+b zrzLhZT%W^Z=tMl-=)>E*i&+lu%g21i7kouO24J7VXR(#cAQ<7z5l_;Y53$=3D=~`^ z?sddLj*!6_E+hX4`A5h<;&u>dI~aK%#VAP_5AYC`cm&x;zQ%ie!so~}Qm&B+B%;vB z(TrsS{{_LQ!l*Y&jZxt=B#Mr_ikhR;9Q6^OqVA|~(Ca9@jvB%QCgHmrwTLAw$IXsf z%X-|zsD1p+-FLIl>nOdBy1}g=5G@#;3%eTa4o2UL8y#(5qpR>3RdLs&t5cKO)I;{s zvXAbDIggfSv>r#B?HKjO__;A{d7Xibz=LCw7*8_uSb!eJ=wXao9+S!@w&9k??BPd# z;dlN-{;{QzbL@(mmL7lA1|s zCOwY2N$Mu)H>ocAP10|Yo|4>bQg@!`MP8v7Z_o$tC4IqA^qDl16!e?4kR>cDEQ2KyiP4>>_FzAW{Lz%0hMq79vR zhUa*Jm(aub9=wZvj(5}J-QM_b7{Fi>n8R-VK)&$@vGeh=jsF+f#>+PT?)$!_356(z z`A!I<92I#4*(X%xNxI;T3G*V(9wzBw(&JR4CUs~)W110(?33(dl6;fKF_Fp0 zH7N!2o8-nOEk=$>e+9whf;@qGlhv3UPgmUTWSJ*_g_@JqoIIBCs5^NodY$ZkC(mXD zt4U`Ud-$GT_zibE`EO2gB?zW?cglU()fBx>(d(2l=yQr)O)T@n$rUF zoYI!|#L$sA>~l&tK0wwfYw+fjTR||j60PZpeNL5os##23!gA!Fx`FM;KXorZ@H4;i zJ9?OU9QQW$Ea$mQHg-7mW)Mu1eVUz2lW&?_)8v|Fp3|P@C0<2_X|K~8Ij4DZS|;jE zQzN-BZXns-lOLraY9_0htlwmHlhsY`&NDoZeI>ueyL^i8B{`81jK(FDe9+T}TS%1mtW|+l{w|S4ge8krzApeY!j3Eg<%+SM(6c*r)XDnkCYgtbkdYEx5 z2xiJR(=2DoHdD5la?LEygFHlaYSD~V$TPD&vDn#6JDd3&FJN~wWt!=Yng4Kti$O3e z5BV^ISr1SHHD{?g%dO5*cb2-d>}^&@>}{4ioz(-onl%V@XX$m8UT2MA9QvF!nQ6>m zHug1Z0~^`QR<`3_XYFAhKVqM=e&s?C%q~oAygB<5l1V2c2vY1b#Vk_XSc-k5JVkZv zEhQ59Q(6;^xuobJMGq;Rac?PlNa;my-sU~}VuvaAm9mCy?8f($;?`2+O8K3?u&0z$ zoaK5D%n8UvUJ6iz;*=tcvP9vHIc{N&Ugj)f6I(EYIe&5*HRs%|c{>Q^sykQRxo&oD zLEP+IbD696xla&*x^wMnZd>#^Hx_-)HMhCld6pM=pAY$%Px+j$_=f%rWC%k^WIpyY zSDtzIQw#Ox`MG)aJMTMWo_B;}WO9-$Zs3lU2=wsE8fTuZkVc zua4~V-^M%h<(fZ;1Z0{&7W13`Ei%lX$_}mt!GbcVw?K^r&2a+@I`9ntL(K(hF3|4+ zbr-0+U>L(0#TaHVo8_!#E$i9LR^04@o&15G7uMrr!Ecuu( z_=ymAl+mbze&rkfy-S^FM$vMvBUYA@Zo9o!;68l{0c9-6R zj7#liseLT<=F)li^I+-4AXsJ}%j|QRSuE?y)0oM!7wE-1yvGNa%`!bK`;@`B=Vc=q z!vrQVm1H(>n6t>YOul7Tk!_i5%Vk?G+j8$OFTuk+#uK=)>NB+#?l09{q`HOFI9^BHRJ%%jmk;;|eWu!1 z>esl1RJV{inQ2UCCbOB#0v53Z&84ouPE&s&D+pGU#G5Og4XI za;$VqtK7+|2-I7p#;P|kmsRGmO6FBbsJTkbRr64HmAb1^(Zs4XtYa5@`HO?NgH;*W z)2dUriB#Jj62@(6let=HAn(C6wpnA_@xG@&zH=!RQeZJw)N;ALLrHD0GT zeMmso)%)<~nqs)CHEw*(XG}uwHD<9UogK)(=4bXJ{~Gz%$iK#)FKhI$Mh|PQlEdvF zSQ{cQ1+c@l_oIikG03;}C0;?cwQ{YMYwg>-%h&X06cdnV?Np}YuGX6IS~Fg|l;y~@ z&Kv8Vq8?G$)w=GO!MeAwt95FwQ*+%o)Lp0Ux@2bHX4lQZeXiTepWLmh*L6oYMke}P zcb4;9!&b{g}CMQZh8G`*0Yf;J~q6Fy=~}0Pe$U64H=x_S`efa!aUN zXX(vHB%*GbUeolNHj&BbGtI8jX5$Xh7O;t}Y-0!RG;J^6^CNCH?Kl45FRlc^MswaM z&&Fpk+l}gN^m7~C@us}Uyy;1*Q;Rw@p%rauhdbWX5wqE3CY#J-Q!n(e>22PlFZ$VJ zPn*^t<0jcQ{eWDXTOnI^H9uXvw3Wu$tu*`tmfw3 zsJmI+&A;+HdfmJq_qzEk*SQ@8Ruyb<2V3$}5PRBEm+^XNLe{vl2+nUKqu5gVT+zR}o1i1(OrkBFo>E)?_4C#+! z@9AcrZU*UgoBlrINygmMQ<#h1()E;X=IM5sE=Rfy=|?z{x@@>@bg=a_uySokb{0aUR0#cbff9Z|yXbopotSBrRx-w|BPZa~9%` zcIBoV_O+`aO^Bd5X1c2@Pb1^57wCoC+Vu(Q?D`6G-6ij?p(HXEGukEluI>DSx$Lsz zU1qcE80Nm~4F7S7t6V212zHzK?t<9)ZoTfFg<88)S&4b|MzIwQueGRdfeQPn# zeLL~(?AsRv-?t(TxAc8C^t`_q6?m9RRAC0{?l;H%=D2@V5FDt1x(7Pr=MQw}S?u}1 z%k-cZz4;&SV0H(FFqA|_;F~y*gc%!9SPD z<_0%|;9wr^$BiE>PAS4DOL@%aU^U$B!8$acG0liX4+p-Df3Ijqma_ITLb4nM+UG$DfKw7@(Mx1~KXbR-V@JnSA0f52GQ z;LXFgg5ZdoIMSM)*yj6X1IxrsVra<>SpLQL$4Wo`2l@q*j2`#xPy#?T;vMbT*o(_ zaXSc%A~<#rxyeTX3h@}`d`zBW!!g@q>K*fQ$KCPq2FQH;MPA`GdhrgQ@Ht=Nj*s`p zY>w;WcoODud>PT13lzKln` z6Kb3=mlIpC`x7#sIE|Vo?$*?EW(ajN^P|^H_nTRm2YHC6s6`#>)0n12;=N3_kg4y? z5BP{rv9HXp>CYhSD>D(dkm(jO^_Z#0O!+e1YUVQBYUXOz@*Qc&o+*3gA#Mf1zYpWh ze|upM|JuX9KXEJ z+K66HrSl7iIgW4h)G7Ys0+(>Rr`_o3qUiCocTYcwUQg@wbX~&H=jo={)#(;I&2zkf ze5c*&X}5a%b=>yp|M3p*VV|c*vy9)k8U$zD*qI1=U_NJNVn=6ou@`eV^AmrQfulWh zk~7GEM*cJMpOOFUJ>;Vx_fd?J*xy<2oVBa7&tTVQ`|vjJ@*$t_8DEfyoM+AUYzp&O z$P!kumi5@%Sy|7@b58wpW^>L=&UHdR=X&CebDuL3HP0n6gE^>sPTh0naV{0L&)MC% z9sJ7Oy81k)&vRK^#!Z~N!L1-?rh39z*c`o$EJzaQ*_xOORc;kXQxNtoPvdki@4Caw# z23dN}(odF}S!!naCbQJdQa9@rdf*fqQ@+Cv!nDqy4HOoA+4&s~3a<^H>$qa&vxv-y$@?3l!v%RR^ML&1(N)TK!pGz`dYDg0z zXihug>BiIe<}Uf>E}6|GGr43Qm-?cIOJDFc{n5`Qd%Cn88869p=^x~}B-f==oaH?B zbLmnLTrN)xZ=>F2H7-xYTrQi(t> zO?fI%kw>Y@Q&h(ubL=rEf+%|OK7IL!Pw{@v0+wP1Iji^%v(MR#`RC|A=O_Ng%yaae zqwgGj=jb~}z8v{(n)}T{+)q(TAmhz4$anJz>QJACG(onT&1pwG&+`&?bW`4&zL}eE z@&RA)HT@Yx0>hX{GBdHuoAc1mP5s=|&rRRYO+DTGje{KF7@1roCkSo@_*QNeqZ|+N zFqJXaTaQzVMwsa>d%e|y*0iNF&(ecl^v0iWx7_!w_xOwf_|9*QVl3nNmdVU!G0Sj= zx7^^Zb*yI>e{+CCxW8M+`Ipn2<3bSJ4w0LD6y!dNP@GcO!|ifBMpd4~o!nOIwq4%7 zgqyp4EeP(I-6O#KH>8q6nd08)FYfmoaZLDgU~$zx$yJ%q_dr! z>s z7Tm-RcC!z=EcgrFENEs0y;;zk1wXpXJ>#?vm3f~GsMeL_YQ6A)BD)T7bEAkXIXhH4k27R#eqIO=? z8%00l6MQp8zu+q-Fo!>aP%(QcCTFq#F_MMsAd^c$sCZrqa4&`NjTCnq#lt9v85B2z z;&rHpyv5}$E^l#pi_2SF-r{;M-ho(Np)Uzc!R(8t@hjdfemMx0u)h)|kgtThDe(aA zri8mGQH95OlInP;gm+4Kr-ZqbFqabMQo>wHbmJMG=S32+`x4vvlUqTkq&`Zz!;=0t zCC#bi5Jr>41l&x?smx(Mi&#o3E7{9ot_7h|#i>Rk)GQTA3tH2b9+-8hp$unK5GpNu zX_-rZ#FxwsLSg0|rnfM&4D;WI=`BoeVg7evdJEH2n7m;x@hUxe9s3O%i;Q7A$>2N} zabsaJhUK8|GIm(T?);waP#HPP$XV8#WxZL}TV=iFpW7KKYmQ~jv8*@Cdb6xI%f8Kf z*kjp`F}Jd^m;HtT3}OM_q z{qpLUSHHaa<<&1gmF4W=1bQs*t@78nTlaPldLW=&5UQYV1wUV57$dOX3ieyUek**7 zJyu9#KLuu&gvY3go2mE$z3GSDR@8Szc`B}8HEUUqcPq+O@hAS~AKYcdlbqp35UP|5 z^QiO?;dJC_KE>@+nvQ-erJ`mfH7n_*l3psgr%Gy9`W1h6RPsh8Z&W&jxmPZL{FR#! zO*`7-jw;({H?~ z>Y=Y{jgX^SGxS&O3lf>b4vum&2vyHRUSzLc33aOb+3HP+qy??fPxUTz$DLMxju&}_ z9_Xq1Z2sbU5UNpu$B?atnl)srAzKY~YIMcV*6_16UgLGX!9CWPg}K-GfzzDjJnpQ9 zJFDT&YS?4VYSbr!C|coGYMOUV^Y%NHLp6KS2j5W5clm%R*l*2k?B*nPSJSL(=5RX* z)yj{XtQAIC9-u0Esa2g?#PdAfs5P4LxRY9TSL=KBa{~2i*=4Q&&_gXf)VdRdYTrX{ z%)YkS*S?qgc?5H>-HSwKvXDhAMdsSS;09~|!C}r~Mzt@Zm)d%%ZANt-)TaeO}rvepGv+m=#J--V%RJSGa)-~U{!x({? z)J|!rJ@H4;hC+1l9AV)Zce0AMdy()xb_w{=6CGM}@ zcj&2}?DY#HcYV3*%U$1W>pzBF)^AE{+7nA>+;{y~c!NH?&3k-;`>yYe`tG!TfAm-1 z{OT{qz1DY6_2sVr7Y8`RQOvUb8P0J5I|{e=@cVFI;bk$;aJjYPfhJQsr1~Qlg>>+#}8`+19;n%nkgc{`IUd*aNF-jv- zg9k9T2C_6Trv@E)n&)^Cb87G!y%>VoH`v8~)NZI|L;W?ZM*|wujOMhY4f<->0e$%0 z$DxL1-q6e&nt8*%e8hZGS;q!8u@&=fXxIvExSWxRE_KGQUQ?wMK`r%SLwC=yniltaf8}*tje9(fDIN z<4fF0;{n(~^6k{3BLYA-${WV_68uZ!NJvB~aGkR^T*T!zCNkC;<(Hr%e__-$j zENCKAQ#)*G=1t4-AbM{4IJKyQT{I1+A@268rC!7A1w zThmQ!A)Q|^o2HqZ;w*O2^eWe}lcwg?O#Wu_G<%lMaih(~kiuNdqM6#wenQP=YBoEL zy3N#W_8%9x$mJjukqiAsJdC~~nxKyew-fO(b`hb6h;Oiq2)l?#AQ5jy_$DIkAwqu< z%UQ{4^cLZkBlhwG?kwUr{@@t$M934N&xo8L6q%nw_@*O^P?krjid&1Uj(JBmBa#-h zqdU*=JTKA*StDhQlr_@b_&v*^$WgeP$nkv36q1oQ(#=G=naK5+U8I|dbTg6L*uie} z5&1o*gHZDVJVh+;qh51A*Zd#!5@nuI<{4EPJw!cDEgE6IQF@5dLsS$k=}b5D5v7l) zS9p!raidZ4M=e0ksEuqvwy2$$ZIszYnQfHWM*S6pT7;-gJnFSjqs13|#Sq3Z4>en; z* zuaN#HIWnRUOTIr`%Z`@rg z*;|=wt9_VP>td+a+RwHAj7gYxYxmVU9X+((h5fbO&p{58!ErJ%@7CAIK@V+mk(UDK zr_E!uL&i3C-A2AP?x#&J-axK4X5GgA+YDtiX4+-~^0YDAHfGz#Y}?FdA-@How%%y_ zC^cw8N8D-KXVG(8{j^oHt(tA^s;#J zRokf4iH}q!^ zWASG}^hD&1o{6l{%UQ{4>?ry#4seL0*h}=koJQ{GySeQs`f3nrXCLkErwH=5D?w@G zZ&#iNc^JL4dxYk^%s|Y)-CnYSP#Z`+PkR^xsb7gY#n6l@BqGx4))!lDoQ6Z(wlN_TqEmoL$4%m4;6 z3cbZF!H!~n;dkVSv7eYj$P;5fF?x(S6@+5%ArJYnn^?PvElP3hBeoK9#XioHRHG41 ziKGSc#l|CF?9=qbZN@Dyj7?xXvc}39D{HKKie1BZq~ZIIHOJT;>_+xj z*<+94yNLZ4_Z54V|G2;p zui^Xc)SLhDHt%BIo%%BfJ#-quXp+!RrxpBxjGcV9ozCF?J6%MsPI7g+9)voZb?1_p zZ)f}OToHLXn{Q_~)!Db(xeoPs5pQ%(#hrHEgAstKY%>(HK~o>;=^f)`Nzu?ACG;-Kf|l^M9%m(k=5^!4#nGL z{Ai{y2Q!b~z$Rpk-;No@|IDw*9RDYOBX_*{cPT{!I%B?FUg0%f$6HLu%TPu# zhH;ovmlPJU6g%-dr9)l3-^Ke~wy=#I{D@g~Ie{DPa-NG^;U;&2kl!yI^82MjUGq|e zGE|{HcGa~B5k%37wzMafmyo+_4|*bdSNGbr4`$WXth&C(bbjJi5bE|M=G)CT*lisr uvBPfJL8yBn9^_%FVn5v*(VFLi|NF1p{tvgi|0=)X|NZCx|MyV${{IL1vB^LH diff --git a/Bitkit/Utilities/Keychain.swift b/Bitkit/Utilities/Keychain.swift index b7aef48b2..9564ff04e 100644 --- a/Bitkit/Utilities/Keychain.swift +++ b/Bitkit/Utilities/Keychain.swift @@ -8,19 +8,22 @@ import Foundation import Security -class KeyChain { - enum KeyChainKey { - case mnemonic(index: Int) +class Keychain { + enum KeychainKey { + case bip39Mnemonic(index: Int) + case bip39Passphrase(index: Int) var storageKey: String { switch self { - case .mnemonic(let index): - return "mnemonic_\(index)" + case .bip39Mnemonic(let index): + return "bip39_mnemonic_\(index)" + case .bip39Passphrase(index: let index): + return "bip39_passphrase_\(index)" } } } - class func save(key: KeyChainKey, data: Data) throws { + class func save(key: KeychainKey, data: Data) throws { Logger.debug("Saving \(key.storageKey)", context: "Keychain") let query = [ @@ -47,7 +50,7 @@ class KeyChain { Logger.info("Saved \(key.storageKey)", context: "Keychain") } - class func saveString(key: KeyChainKey, str: String) throws { + class func saveString(key: KeychainKey, str: String) throws { guard let data = str.data(using: .utf8) else { throw KeychainError.failedToSave } @@ -55,7 +58,7 @@ class KeyChain { try save(key: key, data: data) } - class func delete(key: KeyChainKey) throws { + class func delete(key: KeychainKey) throws { let query = [ kSecClass as String: kSecClassGenericPassword as String, kSecAttrAccount as String: key.storageKey, @@ -73,7 +76,7 @@ class KeyChain { } //TODO throws if fails but return nil if not found - class func load(key: KeyChainKey) throws -> Data? { + class func load(key: KeychainKey) throws -> Data? { let query = [ kSecClass as String: kSecClassGenericPassword, kSecAttrAccount as String: key.storageKey, @@ -86,6 +89,11 @@ class KeyChain { let status = SecItemCopyMatching(query as CFDictionary, &dataTypeRef) + if status == errSecItemNotFound { + Logger.debug("\(key.storageKey) not found in keychain") + return nil + } + if status != noErr { Logger.error("Failed to load \(key.storageKey) from keychain. \(status.description)", context: "Keychain") throw KeychainError.failedToLoad @@ -95,7 +103,7 @@ class KeyChain { return dataTypeRef as! Data? } - class func loadString(key: KeyChainKey) throws -> String? { + class func loadString(key: KeychainKey) throws -> String? { if let data = try load(key: key), let str = String(data: data, encoding: .utf8) { return str } @@ -131,7 +139,8 @@ class KeyChain { } class func wipeEntireKeychain() throws { - guard Env.isDebug && Env.network == .regtest else { + //TODO remove check in the future when safe to do so or required by the UI + guard (Env.isDebug || Env.isUnitTest) && Env.network == .regtest else { Logger.error("Wiping keychain is only allowed in debug mode for regtest", context: "Keychain") throw KeychainError.keychainWipeNotAllowed } diff --git a/BitkitTests/Keychain.swift b/BitkitTests/Keychain.swift deleted file mode 100644 index dd4e77bcf..000000000 --- a/BitkitTests/Keychain.swift +++ /dev/null @@ -1,27 +0,0 @@ -// -// Keychain.swift -// BitkitTests -// -// Created by Jason van den Berg on 2024/07/29. -// - -import XCTest - -final class Keychain: XCTestCase { - - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - - func testExample() throws { - // This is an example of a functional test case. - // Use XCTAssert and related functions to verify your tests produce the correct results. - // Any test you write for XCTest can be annotated as throws and async. - // Mark your test throws to produce an unexpected failure when your test encounters an uncaught error. - // Mark your test async to allow awaiting for asynchronous code to complete. Check the results with assertions afterwards. - } -} diff --git a/BitkitTests/KeychainTests.swift b/BitkitTests/KeychainTests.swift new file mode 100644 index 000000000..6f3d4e67e --- /dev/null +++ b/BitkitTests/KeychainTests.swift @@ -0,0 +1,67 @@ +// +// Keychain.swift +// BitkitTests +// +// Created by Jason van den Berg on 2024/07/29. +// + +import XCTest + +final class KeychainTests: XCTestCase { + + override func setUpWithError() throws { + try Keychain.wipeEntireKeychain() + } + + override func tearDownWithError() throws { + // Put teardown code here. This method is called after the invocation of each test method in the class. + } + + func testKeychain() throws { + let testMnemonic = "test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999)) test\(Int.random(in: 0...99999))" + let testPassphrase = "testpasshrase\(Int.random(in: 0...99999))" + + //Write + try Keychain.saveString(key: .bip39Mnemonic(index: 0), str: testMnemonic) + try Keychain.saveString(key: .bip39Passphrase(index: 0), str: testPassphrase) + + //Read + XCTAssertEqual(try Keychain.loadString(key: .bip39Mnemonic(index: 0)), testMnemonic) + XCTAssertEqual(try Keychain.loadString(key: .bip39Passphrase(index: 0)), testPassphrase) + + //Not allowed to overwrite existing key + XCTAssertThrowsError(try Keychain.saveString(key: .bip39Mnemonic(index: 0), str: testMnemonic)) + XCTAssertThrowsError(try Keychain.saveString(key: .bip39Passphrase(index: 0), str: testMnemonic)) + + //Test deleting + try Keychain.delete(key: .bip39Mnemonic(index: 0)) + try Keychain.delete(key: .bip39Passphrase(index: 0)) + + //Write multiple wallets + for i in 0...5 { + try Keychain.saveString(key: .bip39Mnemonic(index: i), str: "\(testMnemonic) index\(i)") + try Keychain.saveString(key: .bip39Passphrase(index: i), str: "\(testPassphrase) index\(i)") + } + + //Check all keys are saved correctly + let listedKeys = Keychain.getAllKeyChainStorageKeys() + XCTAssertEqual(listedKeys.count, 12) + for i in 0...5 { + XCTAssertTrue(listedKeys.contains("bip39_mnemonic_\(i)")) + XCTAssertTrue(listedKeys.contains("bip39_passphrase_\(i)")) + } + + //Check each value + for i in 0...5 { + XCTAssertEqual(try Keychain.loadString(key: .bip39Mnemonic(index: i)), "\(testMnemonic) index\(i)") + XCTAssertEqual(try Keychain.loadString(key: .bip39Passphrase(index: i)), "\(testPassphrase) index\(i)") + } + + //Wipe + try Keychain.wipeEntireKeychain() + + //Check all keys are gone + let listedKeysAfterWipe = Keychain.getAllKeyChainStorageKeys() + XCTAssertEqual(listedKeysAfterWipe.count, 0) + } +} diff --git a/BitkitTests/LdkMigration.swift b/BitkitTests/LdkMigration.swift index 8cb15b9ce..3ab2d47e3 100644 --- a/BitkitTests/LdkMigration.swift +++ b/BitkitTests/LdkMigration.swift @@ -7,8 +7,7 @@ import XCTest -final class LdkMigration: XCTestCase { - +final class LdkMigrationTests: XCTestCase { override func setUpWithError() throws { try? FileManager.default.removeItem(at: Env.appStorageUrl) //Removes 'unit-test' directory } From 5423793a4e397f2888931dccfef0470b0110101c Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 31 Jul 2024 15:16:04 +0200 Subject: [PATCH 3/5] feat: create/restore on chain wallets --- Bitkit.xcodeproj/project.pbxproj | 42 +++- .../UserInterfaceState.xcuserstate | Bin 117825 -> 162054 bytes Bitkit/Constants/Env.swift | 17 +- Bitkit/ContentView.swift | 191 ++-------------- Bitkit/Services/LightningService.swift | 30 ++- Bitkit/Services/MigrationsService.swift | 12 +- Bitkit/Services/OnChainService.swift | 57 +++-- Bitkit/Utilities/Errors.swift | 8 +- Bitkit/Utilities/Keychain.swift | 59 +++-- Bitkit/Utilities/StartupHandler.swift | 64 ++++++ Bitkit/ViewModels/LightningViewModel.swift | 23 +- Bitkit/ViewModels/OnChainViewModel.swift | 24 +- Bitkit/ViewModels/ViewModel.swift | 25 +++ Bitkit/Views/Onboarding/WelcomeView.swift | 50 +++++ Bitkit/Views/{ => Settings}/LogView.swift | 2 +- Bitkit/Views/Wallets/HomeView.swift | 206 ++++++++++++++++++ BitkitNotification/NotificationService.swift | 8 +- BitkitTests/LdkMigration.swift | 4 +- 18 files changed, 573 insertions(+), 249 deletions(-) create mode 100644 Bitkit/Utilities/StartupHandler.swift create mode 100644 Bitkit/ViewModels/ViewModel.swift create mode 100644 Bitkit/Views/Onboarding/WelcomeView.swift rename Bitkit/Views/{ => Settings}/LogView.swift (91%) create mode 100644 Bitkit/Views/Wallets/HomeView.swift diff --git a/Bitkit.xcodeproj/project.pbxproj b/Bitkit.xcodeproj/project.pbxproj index 500aa12e7..ac05ca573 100644 --- a/Bitkit.xcodeproj/project.pbxproj +++ b/Bitkit.xcodeproj/project.pbxproj @@ -19,6 +19,10 @@ 9613018C2C5022D700878183 /* SQLite in Frameworks */ = {isa = PBXBuildFile; productRef = 9613018B2C5022D700878183 /* SQLite */; }; 9613018E2C50288900878183 /* LdkMigration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9613018D2C50288900878183 /* LdkMigration.swift */; }; 9613018F2C5028CC00878183 /* MigrationsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 961301872C50202A00878183 /* MigrationsService.swift */; }; + 962B921E2C5A20EF00B21057 /* WelcomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962B921D2C5A20EF00B21057 /* WelcomeView.swift */; }; + 962B92212C5A217400B21057 /* HomeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962B92202C5A217400B21057 /* HomeView.swift */; }; + 962B92232C5A327000B21057 /* StartupHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962B92222C5A327000B21057 /* StartupHandler.swift */; }; + 962B92252C5A4F5D00B21057 /* ViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 962B92242C5A4F5D00B21057 /* ViewModel.swift */; }; 9637E6D32C32CE79004A92FC /* Env.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9637E6D22C32CE79004A92FC /* Env.swift */; }; 9637E6D52C32D811004A92FC /* OnChainService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9637E6D42C32D811004A92FC /* OnChainService.swift */; }; 9637E6D82C32D8A7004A92FC /* BitcoinDevKit in Frameworks */ = {isa = PBXBuildFile; productRef = 9637E6D72C32D8A7004A92FC /* BitcoinDevKit */; }; @@ -106,6 +110,10 @@ 961058E02C355B5500E1F1D8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 961301872C50202A00878183 /* MigrationsService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MigrationsService.swift; sourceTree = ""; }; 9613018D2C50288900878183 /* LdkMigration.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LdkMigration.swift; sourceTree = ""; }; + 962B921D2C5A20EF00B21057 /* WelcomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeView.swift; sourceTree = ""; }; + 962B92202C5A217400B21057 /* HomeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeView.swift; sourceTree = ""; }; + 962B92222C5A327000B21057 /* StartupHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StartupHandler.swift; sourceTree = ""; }; + 962B92242C5A4F5D00B21057 /* ViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewModel.swift; sourceTree = ""; }; 9637E6D22C32CE79004A92FC /* Env.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Env.swift; sourceTree = ""; }; 9637E6D42C32D811004A92FC /* OnChainService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnChainService.swift; sourceTree = ""; }; 9637E6D92C32E573004A92FC /* OnChainViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnChainViewModel.swift; sourceTree = ""; }; @@ -200,6 +208,30 @@ path = Extensions; sourceTree = ""; }; + 962B921B2C5A208200B21057 /* Onboarding */ = { + isa = PBXGroup; + children = ( + 962B921D2C5A20EF00B21057 /* WelcomeView.swift */, + ); + path = Onboarding; + sourceTree = ""; + }; + 962B921C2C5A209400B21057 /* Settings */ = { + isa = PBXGroup; + children = ( + 96FE5A182C46594500860ADC /* LogView.swift */, + ); + path = Settings; + sourceTree = ""; + }; + 962B921F2C5A216200B21057 /* Wallets */ = { + isa = PBXGroup; + children = ( + 962B92202C5A217400B21057 /* HomeView.swift */, + ); + path = Wallets; + sourceTree = ""; + }; 9637E6D12C32CE65004A92FC /* Constants */ = { isa = PBXGroup; children = ( @@ -230,6 +262,7 @@ 96B129FE2C2EC0ED00DD07B0 /* ViewModels */ = { isa = PBXGroup; children = ( + 962B92242C5A4F5D00B21057 /* ViewModel.swift */, 96B129FF2C2EC37B00DD07B0 /* LightningViewModel.swift */, 9637E6D92C32E573004A92FC /* OnChainViewModel.swift */, ); @@ -253,6 +286,7 @@ 96F261352C369D2400167439 /* Errors.swift */, 96FE5A1A2C46A4DD00860ADC /* Logger.swift */, 963DE7922C578D9900A2AA1D /* Keychain.swift */, + 962B92222C5A327000B21057 /* StartupHandler.swift */, ); path = Utilities; sourceTree = ""; @@ -330,7 +364,9 @@ 96FE5A172C46592800860ADC /* Views */ = { isa = PBXGroup; children = ( - 96FE5A182C46594500860ADC /* LogView.swift */, + 962B921F2C5A216200B21057 /* Wallets */, + 962B921B2C5A208200B21057 /* Onboarding */, + 962B921C2C5A209400B21057 /* Settings */, ); path = Views; sourceTree = ""; @@ -535,15 +571,19 @@ 961301882C50202A00878183 /* MigrationsService.swift in Sources */, 96B12A002C2EC37B00DD07B0 /* LightningViewModel.swift in Sources */, 9637E6DD2C32EAA8004A92FC /* WalletNetwork.swift in Sources */, + 962B921E2C5A20EF00B21057 /* WelcomeView.swift in Sources */, 963DE7932C578D9900A2AA1D /* Keychain.swift in Sources */, 96F261362C369D2400167439 /* Errors.swift in Sources */, 9637E6DA2C32E573004A92FC /* OnChainViewModel.swift in Sources */, + 962B92212C5A217400B21057 /* HomeView.swift in Sources */, + 962B92252C5A4F5D00B21057 /* ViewModel.swift in Sources */, 96F261322C369C2100167439 /* ServiceQueue.swift in Sources */, 9637E6DF2C32ED7B004A92FC /* LnPeer.swift in Sources */, 96FE1F672C2DE6AA006D0C8B /* ContentView.swift in Sources */, 96FE5A1B2C46A4DD00860ADC /* Logger.swift in Sources */, 96B12A032C2EC65000DD07B0 /* LightningService.swift in Sources */, 966DE6742C512C9300A7B0EF /* HexBytes.swift in Sources */, + 962B92232C5A327000B21057 /* StartupHandler.swift in Sources */, 9637E6D52C32D811004A92FC /* OnChainService.swift in Sources */, 96FE1F652C2DE6AA006D0C8B /* BitkitApp.swift in Sources */, ); diff --git a/Bitkit.xcodeproj/project.xcworkspace/xcuserdata/jason.xcuserdatad/UserInterfaceState.xcuserstate b/Bitkit.xcodeproj/project.xcworkspace/xcuserdata/jason.xcuserdatad/UserInterfaceState.xcuserstate index 0d7cee4b1e75a4540eadea71e260bed7d1418080..e4eeb688b40250930558a3d4d57fd04efe84d311 100644 GIT binary patch literal 162054 zcmeF41$-38`~P=m_4eF7=eeUuaCg_>E+HfVQbGbraNEHOE$%J}MM7~Y6sJJ3mSRN< z6k4E^wiI{%Gj};ENBQ>qBmMLG{a!TPCApj3nVp&UXP$YU+1*Y(Qj#+=3l}~?kOUwo zf+iS(B{)K8ZCWp> zUs7U~+(btSo{%(eni-#&B$BJt(ys_9AtQ{0i7*qTh|)wEqAXF4C{I)%DiW25%0v~S zDp8H7PBbQ360L|1L?V@P4poK5CaL3fW!!5B=I5f5iySVgjhkW zBvuiti8aJpVjZ!b*g$L~J|#90n~BefFNpobVd6{TC~=JVhB!-HATATviJQdF#2w-; zagS_Cwk6w<9m#kyiR?_iPj(~I$R1=S*^BH)_9q9EL&#y|aB>tmnjA}xBPWrQ$?4<_ zat=9{Tu5e-i^(PAa`F>$HMxe|KyD;IBe#${$erXKaxZy+JV<^;9wCpDC&<&}8S-25 z0(qIdLS7@UlQ+qq$=}G^IqPL-faQl+TUR2ix) zRgNl8RiA>NItU`i^=;J*J*e zPpN0rbLs_6&?F6Lisonqt)x}7i8j*~+D&_CFI|X^p$pSR=n`}px-4Clu12?|+tKam z4s;ydk&dT3(Ft@SokS~XOfjY&Q=e(T#4-(;MoeR-3DcBm#x!SIGaZ?(OfvI6 zlg?x?nap5j2qQ9(8NrNZCNh(l9A-K53A2J($*f{lGi#W&%sOU0vx(Wke8KEz4lu`= z6U<5G8|Ex?fw{_DW3Dr|nBQ0lE3i^l#>!a*t7KKIn$@sc*2qS&4%W#A*nI4JY*Drt zTb!-PR$?o&RoEJA9kwo8k8R2}V^i4fY$}_^_F#Lm>1+m@$@XG?iDcb_4q*`xSeH{hB?>9%GNQC)kthH|#0)9DA9)!hX-* zWPfIVVehjK*oPe8D30bBPQuAK1!v%lTnty3E5a4!igCrc5?o2H6jz!n!&Ts_b2YdI zTrAg+Yt6Oc+H&onj7Pq?Q%!E-#% zt9Ui9;cdK~kK!G?hxhX_d||!_UxlyASL3VmHTar*ExsY&h;PBSE7N5;8;y>n>@hkWZ{6_v$eh0skKh2-v&+_N^ z^Zd8`1^yy`iT{qj%wOey=6~UTk-OA;$-C}|{VC21{bBT1AbNjgiqNV-YVBz+`(CH*8&GE_24 zGFvi7GFLKBGGDSlvQUyG$(AgVES0R1td?w&Y?gc`*(2F2*(doza!7JSa!PVqaz^r< zS zh!q+Njf7T0YavePD0CH)g<-;QVT3SJ_&^vXj21o=J`%(wLL+MA-$;-${Rz-jMzzy(hgdeIR`(eJUelyi6h!WEz=PmS0vt zR!~+*79%SxD&RY#>*ziCdwwsCd;PCrpji@7RZ*$mdSEt>t!2c8)cu$w#atKzL4#g9grQB z9h2RV{Up07`&ssj>{r<>*>AGjvOBW7vWK!4azf6_C2~Qok!$5Td6e8CcgkIIpFE%Z zJ$Zh4F?n%$th}MTk-V|IiM*-2nY_8Yg}kM_mAsuiLEcTCBJVEmBkwEkC+{yGEFUWW zQ2vp8jC_uKu6&++zI=gvp*%~TBVR6GBVQ~3Ouj{aTz*1+QvQwnl>D^(jQp(pocz4} zTlshL>+&DvzsYaQ@5rCXpUR&pI0dheCT{IzT$!6 zq2iI^vEqs1sp6U9x#ESAQVL3`QmfP{^-71*sdOpb%4p?#%A(3*%HqoM$_mQn$`;C& z%2vwO$~MZj%67{3$_~mnWrFg3Wx6s$nW-GC9HJDJP&q<5S~*cUNjX_LTRBI$Ub#WJ zQTeHIlXA22GvyZLR^>M3cI9s60p(HUG39aPIpulfx5{hE>&hRMH(!s<*0-s;{b_s=sQ0YM^S63aUn_Myn>OCaET?=BnnY=BpN{7O9r1R;$*i)~eR2 z)~mLvwy934zEPc0omQPuomHJvomYLUx}dtKx}v(F`bl+Dbysyybze=WNi|SYYECUx zYt=fnUTs%LsY|L$sY|QNsLQI$smrS?s4J=~sVl3itLv%jtDC8tt6Qi$sN>Wf)$gmj zsZ-S5)jid{)PvN6)zj3|)icyH)w9&I)pOKy)$`Qz)eF>%)XUYMsMo7Es5h#2s&}b( zt3OwNp+2NOu0EkYss2`dL49BSK>bktNc~v-MEz9#O#NK_LPKb1jZ`Dk=rnqbLF3f8 zG;WPYJ~Yb{!<)~2;B#M(>B+(*LKkM*7ni%)%Mf&*ACDQ)DF@P)(+8%+Tq%d zv}3eWv{SXywDYv{wF|U4+U43$v@5i0v>UYBwA;0(wP&2x~1&Y+9d`E>zZKHYn|{JH|V;<^&La=P-m>be@b z_PP$bI9*3wysncjL6@jY(skB#(RI_M>-y^k=mzSB>qh8C>L%zW>L%$X>!#~w>#}u= zbX#@XblY`1bUSssbh~w*>-OmO>h|dl>W=Ep=+5fS>3+~%)m_tF*WJ|J(mm8Y(mmD# zJ*AiE<$8r)qqpgudY9g(kJi7Z&##Zs7t@#0SJ2ne*Vfn3*VV`B8|oYBo9kQY+v?-= z3HomOG<^?!roNYch+fn~{ZRc#{W$%2{RI6C{Y?EV{cQal{X%_~ezAV7ew}{3euI9a z{!{%X{Z{=h{cio|`a}A|`Y-iI^=I_o>M!Uo>#yj4(%;notp82_NdL^BH5d&hgUw(! zxD0MXw83x4Zzy0WY$#$VVJK-RYba-^WT(>@e&!>@w^& z>@$36IBEFCaLRDeaLMqU;U~jQ!_S6a47UyU4bKfPj7Fo$Xf|4mR-?^mH%1v9MyJtb z^cf2n3mQupOBzcVs~D>qs~M{sYa8nun;DxMTNpbSgN;Ls zq7fQL7{?f=7^fPi85bBA8ncYq#wEt(#&yQ^#;wL}#*@ZxjHisJjc1H!jpvN#jo%tC z7%v*H7;hMVGTt=aHQqDcH$FGMFcBufBsIxQa+BJmHyKP(CWon%skEt#sjR7-sl2Iz zsiLWpsj{hxsfMY(shO#{sfDS7DbAE^df(K|lw#^($}|l$4KhtNO*2h5%`nY0%`(k4 z%`we2%`?q6Wt(zLYfbA+>rLBDJ4`!GyG(mc2TVsz$4tjf=S=5KcTM+9_e~E>4^59u zk4;ZZPfgEE&&|LrF{{lQv({`kN0}XFr`c-`mUnwyxLnwy!Mn_HM$np>G$ zo7n!A|0ntPagn$ykw%>&FM%p=Vom`9n%m?xNLm}i<7nm;x#Hs_d^n^&3F znYWpDnRlD_nZGa}G9Na7Z9ZW>ZN6mw-u#34NAnHyUGqKjee(nJ6Z2E^bMp%eYmr+N z7QMw_v0J>B0+xc7;+Arj@|J3r>Xv$zCYBzSOiM3IKTChhV9OB8Fw1buD9dQeSj#xe zB+F#Wbju9O9LrqGLQ9rqv1N&6x#bhfYRekS2Fqs4Hp?!{UdsW?mzJZJla@1%DC9Hx~YL!{#R=w3=wOH*|r!`>BXDw(gVl8g1Y^`FgYOQ9i zZmnglYi(d{WbJJ2V(n^8w!UxeW=*knx29UttUatft?AYbYo@i2b(nRyb%b@K^#kiD z>uBqT)(O^G*4frM*16Vs)}_{E))m$@)?L=!*3Yebtb48dtOu+It(UCdSub0!SiiUa zV7+R+X1#9x(R#y1*hm|&Q8wDf*jO89<82a~!{)TPY;K#!=C%23(Kf#=U@LAbVJm4X zWh-qfW2m+i3gLw!^m5w##(}PowPG{)^4(!?H0S$ZnN9% zQFe#jZTHxV*o)eW*^Apt*h|{W*~{B2+w0pK*qhng*xTCU>Q2;S2kBrOtV3`}9ZHARp>voVg&jp4MIFT)#T_LaB^{+4 zr5$A)WgQhAH5?5bv5tn0mX21APL2deq9e(X?C9?3<>>7g;uz@|=a}S}?3nJD;h5u? z>saXc*s<7=)7Y`!m;0Rz;V!V$Z^>5rQ<8d5yx@IS;u9^7036En~t9y4;&92 zj~tI3&z-=jacZ49r`~CB8l5Jm)9G^hodIWIXAx&vXBB5{XMJY_XJcm*XA5T=XIp2S zvyZc{v!AoSbAWT8bC7eebBI%PLgxtQ80Qq{ROdA30_Q?!mNVPA#JSwL&bi*X)w#{N z-T8&{E9Xh)8RuE&1?OewRp&M5PcF(uyBHVi;#|B-;u2g^m&_%1sa+^CYo=>~YpH9QE626gwa&H8wcWMDwbQl7wcqu%>!|CP>zwPd>xSzW*RQTS zuDh;>uBUFoO}ZJk!|imt+-|qW?RERy(Qdyx;LhiM&t1q}!d<~#(Ot=1$6eQ5&t2c$ z$lc7{&fVVK-JR-AbN6ufbf>#B+ymSL-9z2O+#k8exW~Gux#zkUxtF?^xmUQ?xHq^r zx<7Ltb02q~aG!L4<38m+?LOl^>ptf`@4n=|=Kj@v%l(`CiTkPhnftj1cvz3Zqx2X( zCXdY{ z8RQw^8R?nendq71ne3VFneEB;Eb@HpS?Sr}+2YyZ+3DHi+3PvrIq3PybJcUrbKUc! z=Z5De&rQ$Io?kq_dTx2{dY*VGFYRT#O0UYR_G-Kauf^;3dc66)1-u2lCA}5A)xEX7 zb-WF{vEC-$7T%WLw%!bHrni^3x3`bCueYDKzjuIlpm&fLdPjLjdq4C}@=o?n@y_wi z^)B%)^)B<~cvpJYdO!1S@$T^+@*ee`^nT+#>pkba=)L6q-ur|1nfJN(g^%!&KH#H# zw2$$zKF%lgX?zx+)o1fX`~1FuFQ2cVuZXXVudJ`CubQvAuZAzy*WB06*U=a6OY$ZA zy8BXn>AnwrANj`k#`?zj#``AtCi*7%Ci|xNX87j&miU(XmigBC*84X2Hu^sEZTIc- zec?Oe``UNLcgc6n_ml6Y@0Rbb@1gIJ?^(1y+7NAwHbtAGEz#C!TeLkoD%uh4iGDA- zXmqjY;?WhOD@9k1t`c1%x=wWC=qAx^qT5Edi%yD8iO!7f8{IE@Q1syFq0u9wKaBn; zdVKV<=$z=~(Vs-Gh+Y}JDtdMFn&`FB>!R03Z;IX#{YCWt=mXKmqfbPijQ%G2Z1jcb ztI^k@A4ETleiZ#U`bqTD=x2V$&-!J4xnJ)$_>F$2-|sKvFX}JmFXb=oFYmAHui~%a zZ}0EmkMno*$NM|^6a0z(B!6dr7k@W@y1&1FfPbKWxPOFyynlj!qJNTqntzr*%b)FE zn`en31|K@u7 zTX+*v;xjU`2sNP*fkybG8rxqT~v~O4tZH z5k)u%C*dO8gop4FJ|dd%i;T#MoXCq3Q4pn~Oq7cXQ7NiK^$H>%@g9+%C_oe>3K20x zVWJ57s~Az7C?RUZe2_Z@xijLokUI}Kw7&?s`}i}SfjldIC02@4nVKXepc2S4qf3QISUJX*e9xG%2%AB05cS=j5bx z6cA|_`nG98*QD-As5YAPO0Axhk(rztpNV2B!C*-yI;>ZEQj6q_cr^lyuL8nU1te(`VSC=}eozvn}YIN3WX{nh>eKSKBfez4xGX8UZ zaVq0qOB);CJqeW)<=HeT1(hTz@nxQc>&ItgR!i&NBP9ua+z5w(GBQ!lp^K>+pMj!1 z_}WpCnpYla%yHq@H-U#Njw(pRW*o4IYdpO7Ezn1L)0be5%q}% zL@d!z)QSetBw9q97$rJIx9An4#lUf*3F?VWiDpD|q6O}Yoltgd(ZA_QDX8jtCy9ip z7jl`ed`E8Xh<@KfO7A&1LPPOzc z*IlT3gS{mI^=Z^v^^!Aj!~FhNsH^<3ZhHhvZ;w+odR6KFao0pZXJp1Bj$&%0_KwV@ zS1=bxoa&=j^QB zRoolpflrQWuv1!mdSY^Fmzb7GDG7hNu#nn~A;u!L#luX$EMg4NK0GpyC+6ajc>*z! zm_$q_rVvw!X~cA51~HSEMa(AVi0_H{#R6hMv5*)e78Z+$Ma5!baj}Gm4w^^ICl(M3 zi7XU#<9FNc5W5DHNNO*#}u3bs7dg35`YJ4i={>7?jpR$UH&t z7W(t}jz4XN#^XjQ@u{J2{zLjkNnPSIdS!%!p&II!ajMe)p>#D;lhV8Ndu7pzhl&=w z8YJznC|~ff21(u1();~>MgG@aQ6s#NBYZ8TLMem$Vqp`dR}VZ`|FtImlqODPMm5v8 zS8_tP`e|w1LZ{0;B2HEIwfTo?C^jv%CK{QW_CqE^_y4B4@KJx$l0`!K{-^4y)~NaK zbyf6rWeuLGHnP;>(W;d{RB(aU9fVuGNm@!uIFB$QpAp-MlG(%-Vk@ytEG?E5%V!fi zh@HePv7%U6tRhzW;~=pwh;}QT>A3|SBM{ok_(CN#cB(Qt745m*Z5Dt>!}{6Di*Hs_+FW5 z3CLbWCThV%62FPH#7gZla;@e@ z@u^A8aq^6C+WTZQQF4_k2AR1JiATg^;tBDTct$)YUXTPyl7OU0nq)|pB5V53` zs71<&+N6?HArrYFsU_-?deT4|NfT)%Eku3NM%u|J(m^^&7wINFL_N}n4CXpwJ+Xn< zP;4wV6`PAK#nxh5vAq~4#)}DJlGsH|7P}#%x;rwn(~zOvQ_MidcC^?F8Qguue&PUe zkT^ty$n+j2ju1Z(M~fecW5w~}L}ZRnM#U%nWPr>^zDMRK3y=lLLSzhCm@GmTC5w^8 z$r5BqvJ_dGEJKzh%aP^D3S>pH5?Pt7LRKZKk=4l>WKFUbS(~gw)+Ota^~nZgEZLB3 zL^dXykWI;EWOH$D!P|LMA_C zYC$FuGD9FU8#13l<~U>?L00#t-a@ts_LjPFs+Mm&?B-f8e{Z&saly>$$Eg~>QD(Ur z<&K6C<_eh@%qBKY)$~oWiA}?k+l1i!H3rW=3k8=B{y~e#1d0B&kd9`}Owu-6I7kLKo0F@EbG&3C;n2|XR4d&D)PL=bj ztNPbxEO^eDiUwNb1xUpfa7IjMejJ|T)vsPJ7Jr@lZ)EvD2$sKHoT~k+${)4{{<+KH z_g49n*Wr&KjR|Ji;SGuXL-($co}QNeie4}=m{G?#)#6uO+rQp6f0|8(8zl5$OtrN1 zB(zISMb0VIzaraZTCnV$-gLg5tDf~!8zm*BN9Hm+m`h^bOf8X@5V-(R7p$Mw<(1Pu zazQY=&T*>oZ@)ou-Aj>m@^P?`UGuJcqUu1?pva7Jf*HLZr|R^o+W4pF{b}U-;~#&^ z->P7~DQ_yoe-OvoNqwvKLuO*+HLeflmHMXLI5g4!+kUkNif$5 zZ>W*49NZ!^Qv@@c^rkbl-@A0~&>fkRHki|tH#9~5Jj#S~2`(`J2H+-2E(bYW=AtJ144@>(FLY3Q5a5wFTL;}0iHNlryYfA!U4RYQ}*SAC5g)HTym z@U$5%MTjVJpY-@1_0gF#f{}huj%c(HlozwaK|+ydzCfvSA2 zuN2e)^$9~3s0-?eOT?vFpaF;#mx*ifx)LXf&GhS%p4KZhu}M+}T7{8O|If7;T%VDW z86T>KzkC_apeblc7_vb#&>XZ7bHwH1C)uDCXbswkE5udeYMfDSFdesYZihjh-`t#= zrS+?xoPqzwjvL%SNywy)il~W<kpdOsh$NA ziT0k#i3yEnTpFeDhz{L_>755OlQs!my+*Yg>pV~V<1Dl3%D(jz* zZIq1M3W>P~pqSTR4{eBGPe)CPPV4yVcYj#MgU{`$bnDNTJq1k1RXG(*6L*Qbv%m~6 zQ~X@qBd%$IW=vg@GTSAhIA(fsceE5JHM4mNHZPi`;DtotdRqvx2m^|ltO$1 zgFQsa9Pk;~0=9x}U_00Wc7k1CH~3uqT0ANq6OW50#FOGT;wka8cqRwz%~j?D;2=>D z{r)A=<+HiEd_lY+ev5wp>HnT8N9z0kcd0#xrS`mdE-bYdvD98djes`sJgRuS1<=i3 zFKN6Ee!^YiM{q;DC|=3}H^I;1cjC3YQ`+0$K33X0;4Zi)UKX#2-)DmdNNFF5KOm*O z`nHw!1)-#fNP(RHOSAQz%f=>6D!S*=lLNvOB#;z^lG2e$r!2^H$Cj(vVoaNQN56&x zS#f19Hxx$+LG`30NIkD3+$b4R&mYA#e^E>|dCRlo&vHR&D18uBN{3Lr`S-_$^RiMX zx|l=RC_5EJIVdOPqTG~+@=`wW7x7o|miU`^Tf8IQ74M1n#RoZ*Kg1}NKg1{%gBX37 z%jmNZqmUHdK^k2CSttVyDtToOQ56uRR7LSoE~Hcy1SwUOs)n{2;$!g%+MXgvB`QXx z2{&&&Di(DIsy@{~d@jDoq8d_-AW1-y#{8i5sDEeg`~!O_oJDi0Rj9YN6xTtL%%WOT zZ6FCCNkw$n;1ExB2o3S%`S2M!QJoR$R05SqB|(ybBnwF{o9aS!Md4bKhol4%kIMTG z&7gn51Up8hA&7fKLVRt1yHZ&T>&mA6)_L;#P2RhWdCx#eGb58eJ5%R)`_7f6WAl$1 zm_1?P!ryuCL-h|a+fO_UN$KlqFkEFK^%2GvQbVa>)NpD9HIn*(8byt!K7^zkk_t#F zA*q6-8j>1FY9XnEq#lxn9BNE1z!P!-oq%lM=ByC}Y1Md+27ZA?E2xmjm6lQoa zW_Ss;lv+kDgQOXf7D!sr|A=E+MXJIR8)`MR4s*PQS_?@#B%`vZ_0$GPIv`rPkyn!& z>N9FP=5PzOmD&bLCnQ~vbZ1jLsGXQY4B&8>XB)Fzt)zj@o<7=%@%j& zrKgJkg>>X%%4Z&P=$iA>$c^p*(ITLzLfu$2tSn(y$`D5CA5GyNS1ChhGTU-@hwMMIH9qJ*phDJJE7Lw(%XgzI!WO+zd%CljZw$f2J z6B|f_WCd|u7VQA(kgSLd#|X1g2(LqQ}vL$V4at7e1Nbbh*kxC)Zh zAXyz3@jrSf{(Gm#KOD@D(M1U*T`UsgazplSv@M7o^Kt2xk2B9cY$QHFvRa;h`Z4#XiJ4;b4a!b?pq>= z7pjyhPq@W1={}gSUUY9rqVcdz7TuTb2g$aO?2vaD52hjRh-tKl$Dnq&BM!qIv3*2G zRGU8vmuwV024g&${*e9%l5vpi2+8e#0`JG@sff*Kk!;#x z%FMF~H4hIx_3h(BrE7eJF`kK%&WcQ`y6$w8Sy1`jQoG@5%NiZFA&e`#Lm;cBhpS>f zjl5mRRYfnvAa{99{e_QMO0P#T1bP{rLocU4p;yo==~eV<&rPLDC@E1Cl)>ow!qgy?LKd6mDKj^N(V0ei>O`pTWpP|n}vJWKtX3^*AZy|}GAA)hp zlaK;^nZAnQy+VIa{{YGUkQ@NXf!Xvm`Z~6{2SIZ1TerIDUlEbFB8i+VkW)^Ui~V`k z@FUWh&PEk5ymwI2yOBws96q~z`1IIz(+bYM#m>p!^`+HKKcFAuN`8n97bJRF^b-nQ zH$;Yaq~wufa+`)B86HIg7{E{r%`gnhaF84Z$>ES30m+e&`~Z@pf-wO`%E-VdMuB4j zkQ@!kkHo!@9P_V)1zzX)e|^Z{KZOOtmu+M$Sl*^GW^orJKm0>D;7?BcaB?T(`jhXU z@iNiK_s{qsIrde~|L}47nLy9gpTT^poIB2u8F?_>kgEC1ejVC76;-DW)`2 zhAGRGW6CoXn2L~`2+2v1oD9h+kemw1X^@-_$r+HG3CUSGOy!V*GSx#K38psI&)H%9 zoE!E?Ec?GFo^Rjt&$K{_$h3syoLog@+F*~wGNK^fup4$`r>CN{P%^_J)$zRkz`iI?&6%G*Sd+cabK)8jQf4Gd z`axvUuYbO=HOg0gZC3TC6(5|vghH_4>;I4$8-jKWhBgO5%b@B*j@Ycfg?2JC4?{bJ znaWIKrZY2`nanI^HZzBr3&~F)xdM_aA-M{Yt0B1tl4~J}ETZ+0+>pb}&xJNS7uqEl z+KpjoH-(|y^A6g)pTaO3Fti&X`Dqy1&Hn+~oy_N$r(Mi$NN$GYXIac1291JSAh|2g z3>oGi^A+ar5ObLM5|UdXxeb!rvza5z*O_6~#k-3a3`4Seb-B`4)VA1;gRidS) zj)bZGk+~V7_9sm3UQF$kAhnWej{${*KD`1$XDphVDVO^{j^%2(1dLa1?Bu{0rJ~kSX zry+SR&&FIfKO409(%6F7^Kb@rL>4)p(eQCLq9bYus$Z3G;YzS&5cX_IwiH_$lIJ0b zEQSl&Y+1G(#{MECFTHi_*{Xz+trp4huwPajtC3zqvS5#A#F5$~+9T}QnkZ?l$fQGl zYkoU^OYOZ|+Z^vUd3WDS*!iFfIUm%_-EdvhXB!4#W@9nT-@mR7!-q6yJ0h6b7Hmtl z72BF^!?tDHvF+IoEOO&qh2%9zUWeq5kVIaDpCEY?l0QT87fAk^!^Y>roCHR&T@cL4 z80K4HnD2;4abF;o0r8IIe}Uybm}O*V{uX9=0A_h0wG3~Nyd8|=;XQIAmJB!cFm@yc zc{n=)l6N6_FN^(v9R|z`VdH$+Mh%!s13%AV*c6Er|Rft_c zBF`ba7<*oyN626Jh>h$njP9rGCU!IX8M}qu%5Gz~vpd+G5Ks`%5HJw15O5Ii5J(^p zAdo^J%VBrtqPvf7&hAI(9z^H@c`mv@jY9yyj@gZR$L_zt?rF^K83+_%cF$vWzhy7r z4FV+us?Z*>8>@;6xAzb1b=}{OME!2B~9{1im zsP_WHt9oyNq2ZD}VxM8;AG1%`rx2JRFhgKLaXj_~MJ7%u0qxM@AjCq?~%(SX`-c=hgtH zRXXm0g2j}EmoEric1ZeMpzzcy7 zf@lc*5CkB|2f=$eTu4kgP;fmrSfdx zz6~Z zGqhH}Oaz4Lw1u9^xj}d}SP*Weo?K>#;tWi2h1Z=Sd`N$81jcv(H;@~|4d#Y$A_uvl z+%Rr91eGAD3_%qLszOi=g6a^|fS@J>wIHaS!;K6L!rX_UwKUu~jB%YX#`VH$X+X<& z6#okp&%qSWg`jSj;stmNwoujZhNr+N;DB~79nahnE(asLlv@TteFz$4am%?+Ac%#a zah{F7+!}6us0**dUAQ6cfXL5=x^Sb&E(|^h_rWdP4h;TQZX359f+i3k{F`NSJGosL z{N@ndEA+M(uyXqm%?BcBUPe|bG5BcBlm)}D)=yrsq#_3YFiQGmWYXzRm2GT28}wQF z>5SVsakD=B9sIAk;~{L1VQgEyuGYd;c7{XG*jmn=<<4>Exo^1(+(lsLzT+-)SGeyX zXahl82--o=9)b=K#EIyEO&uYKhoBP#3Cp>wx#-@Y?r=A8(4G4g!L|RxqiIlA2$HjS zIj?}=eTZ%p%d3DoujP%1MqbD3c>@I9AV`6rdp2+4&6vhi2+~3{{`d3We>lDUk9PJk z-bpBVS0rNMg`pcqB-QLXYgUn>cfQ+L7tzRjQBq%IQkh-RX2goxtLC)g+kJPtV7-?# z@&P_SuH<}p2GJAEAov1!29f@%83f%n+%iS^GAN$T7vqcbCHRtjDZVrWnGp1Xpf?14 zAm|H0zhFF_FOToB<0}Q@>7YNp$qs^n|4KOh^&#`u1>65&IGwM}*Tcd!m9LA!>0rQr z2&eOn`KBm(&Le>z^qS~7-->S=ltaD^mct=vF2WbUbCL9jF(h33@q7w0V)#yc0-wky z@tyfDd{;i1f1gLa7ovL|As7Y$GH6CXFcN|fAQ%O~Xb3*c;k$>Fknb5XV)$NI2R{ny z;JBAY%&d1JnD-*c4?`lzqjnh+7Qqj&2zKE|BZurIq-hlOdRr&ClcKV-1`N(cPqP+alo? zBVk(-DQr!y`&xd=}0kUrAK``K~6+Dp*H6?McfA@~Y;;wAAC zybd26f#7SL+gtR+OVGnTB*~FL_Sn0aIhGMS8qTT_n;v&|DP}hXCG8%W^u*`Hyz{kc zGW-D8;DOg#BG{;J7`IxgHY{Uw7!=nll_oswB_B#Yl8ljzh2Rtfry)24!C45-L2w>|Zy~q~N@^^aXlwG} z-PK2|zf=1)dS(mu+)EI$5d4D2PP7;dnajUM5U2*b!q}dbd>g{{JjV97*Buo;99D1%f*e+=T$yQ}-cw0Kr4-_Im`uV+c^cc)DD2 zE0^87)E&uv?Dms9!t_21)B6Iu{U~YB?ME5j5uEn~3mhU?;30UPORyjf+Ra2k{yGl6 zEyKY#w0r5c7c>HXAc>$AbdVw-MP>;G!3Ze;DF*YKC(ob|Y=R@$e}yR2e<=zLAc6}G zAQXDc#a~Q6HPs=vFACAZdkA{LF9d{qkYXXlL5fF1wNOAPh=yuP0x97w57k03LMarF zBsqEiorwjH*X=u}&!~@cS|{&7&;+I_UDFG~!-}o-VWREx7#t zlUwg~kKPKmdSd}wfkG4H1fjIzt}HMU%s`LRLaS|Gbq9^mMremzenMMF>0jgW6XFGY zR|HrkBp@lIjIZf{;c~n$^hQc3bQ4m9?n0`NCiD<`3h6?IkSX+nlo?VMNLe9egOnXo zQIK*#$_XhKq}-75EEoEOq)-?D4hn;?6bd4eLdu&fg_IxNc1RTqDPhI`drJ7f>b65+ zJQmFf5Is{V^e97NG7?QXRhWu5NVbF&TFs01$na5zJIHKd9`2}fgt?FkKq_CBFke^z zsrMjNFzitemTbHNsj*6@pX@qzY#X z>xB)-K|vLPRMEF?E(u$a9Bzx0!&CO>RNz|e)Uo%Z?N+Xxm4uaZCrY|2GU?>T9V;%p zR%_j;*7Y4V?4SQZIrj*MuyXDd_6c7I`-KC-K}Z#c6ymQWq)I`mG^EOel=Ca$2)_L= zq?~0Tg`W92l6`nx~4PsRxnoLmDA%%>= znvkjmsoIdL1F5<>!i$h>N~zH7Ps(A@tQQu|hPksps_p+h#eDns8cOv@2Bii_)z6hd zsTs+j)FQRw4N?st6&ubnZ zq=k{BNefB~Ns*W}g;X<0HP4n70j;IQAcfX%K&mCqEw4hr|AQ5j(lUfnS~gOrDw$UH zm5r?twRZ2cgQ=hI*@GlaS^*`k7@4$XpMC{vZLWQP((y%W+x++my3a6N$yKD)g9CxI z8XgE*BLhZS6I;-2UNH_d4Iflb8XH7c+5n@AA6D^q2ZfJlCXGYnN}EetNLxxI|taIns`~8F5-W`L?o~Ly2qs12;oJM2$wuo{nxg&s{FE$PRkm4S~?Na zz62#*8kzLS{KuDGbZeNnVRzM}N-)UbiT^Ry*1qQb-26qCc9j(Io%X~RpW9y|m zFt{6}8>OF0H%T{3Ka*~eZk2A6ZiiHVNDYA0Ku8UO)L=*rfs_a-h@MRdsbM+Now?xd z$pv>m26uQE+z(!YJNX^B{{pz*U~o@CYD5^^vj|-F0-eHMkRqSB3P0@#?WvIn-16bZ zzAQzSTbA^S^m|B+g4F0N=~d}9h@LG;O~|_u_onm~X7Fd}FVbHj^%11TKx!;U_zdjFi!+l4Sr3*F+>-G6oCRq*n=-H9ogxWKx+T2(C%1R<|WoRzBFc(}Iy6s^RdQd2OSf~s= zQU%>EY{q*Ey&gej3wMvIvKqKgRg+bR)FMcIoF%I%L(`wdkXn{!Bd)BzEO?V^nk*KZ zic8RhP1ZQ*GgunY3Ds2iA&9aTvNi~JSxZ?f8S)Y2Kx#RpKFOA~m9@h@gB6fk`PO{~ zvIIgYON?arf;!dFJiT_a87Dq|ny~<`M!3tmprly0e356vt!%k$73S{~*$UZ8NbQEy=aAZyEn6*H zgZV=){e5qrzfB0L&5=;GIXr1_iJkRkt(doe=rW_tj`>6GJ=rVVdxJ-&Jly@T$_ERq zw|?!g#Pala{&vdnBTzt^3_Y3yQu{G~dxNTlUV!lzn^&z4zbiv_Q1)er+QXRIL$5n3 zOzm;m1x)P;*-6O;q)^IBc{bq6rShQBmnN6vu6qF) zeR35x`YuNFTnz!bcM6wHFE=CNPoiUBDZ4Vk!g=#r19UlwDNp5 zd`#{plyXlb@i(XM|3dGmJ!V_04YBRstBGzkIwp@sN&S&YXAB#3d0dg|8`s@Bnsl`6 zW^_}qr?M&c!5otB!*x+W9uwqPUI=si<7=ugd_)O(6%?P7mz0;1mzI~2mz9?Tc6kMP zMR_H8Wk~%5(X+a#pCR=Nq|of;7Fwx5{RXMqkh%k@yUXQOLnzB@f`jtfI6Nn>hhe@K zhWP;s&(TycJVz_u(VX`*%UdIw%nk2fE>(~x%DZ5g zljNNt^$=2zvgBRm$&h*sX(G?YVR@=N9aEVm?;-CAsV9(n3aMw=@(g(n{PIRqsYBa@Dq4E85ItnrdUc?kX9 zI|cj~6z~F8z>AQ!g%$8JQb73?q9EQNZAbPD-XZ@%k#I}jkmFda{3rQMNIM|y%#!~i z{}s|MNPF|noVhE1fHS#=9AC5>Ilkl%k>iW@yvp&#hF^dpf35&nHeV%q@yA2 z&sI>NwF0R?067fle7K1Jy=>-{fAN?C-RPir#f=VatH3AwYt#`wJ9k09HLH#V$)-Yy zlByzQbC9#tk4moLl+jl=Uu-(G`16;tsn9A6L24CxOl^Kl?L#b^o(LN-w=ESmg&$F? zuq&bz4uw0*#B4rxRuIwTOHR#712_)`?d z)RqcUTQ=hG1wN;RWO59ac+5Ki2V07A5)-*mMA(!f^}r}?S;jc*F8DKe`?y?4_uWngGnf9 z=g6cca?8EmwJK-ki07s*+jnr;?+hj@QZR#Qif-6+LGMgWSEOPFYeX=pR+_^tlcDGx z0=E|i7r$BL?+ywdF;MXV26vERuwsZpR6xa0#W2Ni#R$bnNY{aMT}ao1G-~Gt5WQ=J zMy=ck(v2bABu6nS7u+$5v5IlPtC)bn4Zm50ZUN~|kWN4j1Um8EfSdONu3{c0cRr-U zZx&IY*L^KgWXmez4bsh#vp%#(haio+pt4`FgUVhF#&UjRBX7BPAX1^AU=g5PI}Gp;Ug|6e#8)8R9sSgr?{-RqWE6%gW{^9imsy&}oqFk)ybg3-K?xqwj4DanJDRoB49|72h$O_Y5lu#IO=s znCZEruM)lUYmt&63Mv_D38c{@WzY`A-Vnml+_qNAluFb)lyap4(!C(vJ4>ljqIppt zNDs<0gp~#*dh z);(50L=jZ5K{nKYA}T1@1;z423HFK|!G`Fw>;KHXdpBi6#P^Rse((3;`LZN;XXZ}( ze$SaRXU^oR^VB2MBSCo;D6ats4fO07)mjT|oq+H&p9wj1IT_CP@)e{MF zZ;+6CqqN$+<1BFh0pQLi!1aN0g#_F(1nw!X_EFDMlkHe_g&L{%CQz;ntE<%2pu8EB zYdR0Jb!u`Wg?fQ{p&9|Z3Y4osc}s)(Vl}yuLU}7FZ#(mt#TzNqSH%Kxz!kR7zui7A zdzpXT@dxd3CkSS*#iZB8CcWUEBU$g%<^O!w$Z@s;zGiH~mZy@NaQZFZBcP&BR zjRN{^k3k<_C*g0kTDb6jhx%3m**iPRBxSivy@f#bZuL6#dUd@ztZqtxQ} zOQzpj!kopuvNjS!qxrWq1K(HU-46}w57bB0AA)ixDDMa50}bkr)t?ZgKM2ZQXCCRt z5x!r>!k6y}3m@Jz^x66=WcLo<`)U(GI^OrC{x&x0rzzw9+%s?N_}%^X|2BK-PmRq; zKdJsV>9rl|9|&k4>ZsSGF8hsV2xxy-|Dpbqm*Hi{3O)`mJ*IdXlzTwA7nHa(c@&h7 zf%0)sJ^@OcC{Ka%=|-LvLCbfgPUJ@csDypgaJ|=fZpfKLC`^gYxB0 zlec*1E^2!Xd>Wt5XMpkrP`(Jte>Lz~{6K=jmq2;&jH8erCR6j-vC!&$V(On|GsnEW z67HMS>v$=i&2Qp!F=<|G(u9VTamV9_ZF=~#?WMOpGza5!NS&O|k0G5ris;C%ppMLs zB|7pUq_0@+>b6_TRme{ku***(*gcHc<;Mz)hhb6LFrJiUCO-$U%g^F3;EVa$ypJ#8 zOZhV1&zFPpHBi0|$~QpyCMe$mygE_&4k+IRyf{($ej`6Og53&!K3|F0ttQz0K*H`v zp!^z?-w^Dc4Z!ga7?=6W33jgl1+^H@oozksFl8dKpiYIR1Km zIVe8{k*FOSU9emy6*?mwy}i`6Fnb)d((O41i2eA>89AE12(T-J8kvo??Zd;{-)|3 zXM8hqxANNw2CMjOMCe*opbLHQ#ne*)#tpv0N+D=2?! z>n4fj_(p0)_{U-RDpr2r}}%%9-D14;>$5aXg#uCnESkgR zk96?A^M4?ODHbS>pt!TPT>pa&B8^g})=;s~ynRdE;BWb1_tk%X!}Bi%elj46H7q9O zVv}yZ?d{#~bRGWly}!Pck+5w`RusjWt{P$p)O17nOLal{tKo5Ho9f!$&Nj6;GBO&Y z2Ho^fb=H^>x>R?Bu7-H`VYar=mvXo?=OT19ZjDFd)%4Kx)b!Hy)|{j1qv;D250nNd zEl@h3^gtPaG6H1+$_$jHQPWR^u4aG;T}=u?m$F8rFNIr+;&PYjdltH#4_(bLgsvtV zD7+G?N!A@FS1v+Vlh=KPCXb#2lpQzc$R`Gj?Zd02!5*s_Pv%sCW*ksXpj=_i1kFUC z+(6;he;}P(6X_ z1yt__O}S!IBB59`801dVPLMnHrp7;}eKz{eNBF9Og>UC_ z%^3Wb=4Fw&4ie_dAs8g`_;|E_#((&FV4+Fr5HZP<%ewc!Piue#;(kH0%NWfVeJ+Xs{OZ71oy zn}7N0r)=fTYx0)cw|#$k6uR2}TH#Dal{SGuw-^;)Z4yy@XU8J9_ho#wG&UL9fdY25 zSp>VK9b}Vo4AqWC=xT>)v$Z+e;o4kno_2(Gq&8oRi1h8Kn26vi?sM}El>+PO;gq`)Lu+pvWP74>Trpty#!6H)Pixh)T1gJCbyrErz_`NX}zr(M$9=Pw4-155@HtZ?=-S!ZH z`puYhRcz8hg|9B9UdsOF`VBu{KBx9Lh9;5Pf2($_h}ks+vzMd1)m|bpsoXI2~bNLwc8?~ z-4Oxp0|d0oB+%l89Faxt+Owej2SEE20qxU3T`z(586s|<#Z#2$^b zvdwGz?atT7{i_**UuwT05UkREO{DE@1cE072%^7B8whHY+ohrTxAtcdxIYo#-ri9z zDa)Ta6#`c$)5&!TU7Sv-qja>6(Xl!Xs5^nW3#hw+S_jm6pz47N1JwZ32B0=J>bi)) z)u~0`>U0FSnUzgzlOLeA5Iq?`aD^Km z8ERd;E)i#kE^}~WT3VKb$_P;SC^q1guvBh>auhLfw~8%dx6@~pgT`D zm;m=apmv^d;Od6U)VkbQG!{DEVFslP-E-4R`~Q6F%l(fcaCIXwX?|?dS0=mvMNzp4 zOZ&d^#getlv!lS(jnR!GojjIk9C#~bST~*+l^<-+sLTbVk(sQUCg4^#mEd+aD#^O> zM7PFUYTAHZ%2BMlkid4f&ZjHUmFmiLeqFh4j&80Fwc>|?+5^;HpdJD0QJ@|J>T#f+ z0P0Dgo@&(1i@>%j0^1;g?b8x$(H$TH+e2qz`wzet2yCweYM%t#YY?`Yt-9;T4^Wvv z?H4~0xaUfPeS_{MGN)GPZUpLCpbms}D|ILjp9AW}PE(b2x9M&tFIht-?(<~g-a%C5 z7ur{qOQfpR>oyX&hjk4)lnOX`Ujpi2gKm>cHV)#Ai}>KPG)3HmTwgyNr8ia9uc_@6XZ6b#MRv) z$mthO3Ed}j7>;**2y61Gy>s|orRiIu2>UE&r0P0Pk-oj7? z6ly^40QD|V?`_llD+1qF6ffwSNT>oGxrvN=UjpzE3{^mVDY!vWKc0o~KLBBJ7n$x8 zpgxcwOzt9!%kI7+E}Nc1JTgl0gX{`P82MUvf*|V~-M2t}2-HVm-FLc^Kz$6<7o8_} zf71O%fcUfS7u~NwVf8)*>azyj@47z-5I+a%=ots1o|38cbS%2|D!$pjy-SXE-TI~n z_go3H5r}#Yld58qe$6ev=oNLr#tpZ*_f$LAHU}!uchmC(h*f$uQJ9aR2-Rze2t}`# zHX@W?7a176N$N_D$f!;%IQPuYp0)ta0 zgk|e|He4KtEVNR3JkA z5JH4MbBj?w$}7&|-+=lZs6T-E6KEOG za-bDJ$2ICFiX5n)EUGa2>BxYzGQxl~EvYcH_ALK(KL6?GBLC?FKvNO^(^nw>ozl*y z59-N@T79j)4rm5wHmqN$Uj#Gmd%I4cg9Js6A`y8RnHJEg5Y|{J}ADj1Pc=V-9EdGJ(dVJ7)jgE>URKb0NMz&31~CW7ND&_+kmzM?Eu=@ zsNWfZ>@IOXT)&4v)+IsK6WI@^G~@>DRGIcTODg&4}Xs z@sG}Wv?Q_mrD4&|h zn}ACW{SRcxLC0PK6Tz)PX`p54^#%&)#CijgaB^tKVcA5PT2?44l1(yn4aq_X-=t!G z(4zQ7rB!AA_-cPmdAz^UUo&TMe4r{gaKL~Xe|1$&?T`vzU1jOqLVqwAsH&XkFCUzg z>Q5?7^QB3lV-0EpFH2v)p1h(P@tZQ}3?^B6gF$aF7?2@SfldcHv%z3CSPaM#1A!g{ z^m(moxb zVL%T7dMMDt8Vosx;f7qGvwt@4h4{JteKbJ1H?a>9WhjLM9lB!iI^4 zLZI`29tm{5_;|8m%6gzjG|8sPrW>Xire9D{IJU0VS5o00R#W3!++dg{TP~X=rk!b+ zBGx0CVYb0HGn%2$U)x}qZ77k=np9ATe@N4|%z&pR!Un&g9O%(Nj}05<8c^*S2Xt}k z$yzB+h%v?d*z!PyA7|%)NkM;2aKMGWU{&RS;Z>z|^Zk{z!2uHyLcu_7RZYMj98eOd zofoJj;2MxE{2KWuK>%QNP1S`hCtXl{M?o>4_y6;bmW7MpTwu7EOq+#Z?Uw2)3Vm ze2srWpsFrdV9Xm7?z>03^U4w82;LCNx!3Y%8d$4U`8& zAWP*PG`!q;_?rx`krx~`pnizj%SBju;hgFr8AO^)x1#8q9)ul)ZZt|CNoa6m=b zy!a9vhPvtjzOs^}GJk4HNos0lNn&bAN_knCKRqQgDJ?B4IjgiR8AVB1a%oyhSxS0I z3Ci%aq>Qo*UukJ-Y8if&m{1bHgQE8NLuSxdmj9ET^2jv!rjvlldslxvz1~$>PaQy)Lre9(*{b6Kf>01qd8f8YgQDKZTDvgwpHlogWG0>L+eL2t}psxfP>GxWo zmjJzNtC2IRj9rXfjopmhjcOxr)BwF4=q*6+0~!_kpMfy}lLX8dV9Hy~4x>@*^-GHR zg_53E76_t5@Xs%)AbKA1cj>(1@*3ZKf2``6;>*nNm6T;9_7;-mkyImn!MTI8GE&nM zGm|hl9O5_AzEunMrLAJIc9A!2aGncHkTFii~gh9B>NWr;DhNlMAe zOi52mOifEmNlH%6NKQ*mYg?U^)FiA8QKF+$(&!eebH#sJorvz*;#ETDBqgULC#NJ~ z_hcoeCS_%1WTwSbCo|2Tk?BimRh?d9b>Kf7tCY0NtkRT{nBGax$VkPJ%1X<~NJ-4X znkA;RsIf3s*fq%|Wv#SuMcH>>-UxUYvQYYwR3}mTd8hi0wp!Rn#BXK7=J|- zu89T+oR5Fk1Qwv$nePx zJ4$Mzm?XF`P+l8fwZLCf6DY%S=Faz3_exIuFKdM;c;c%TR>s!~x?#LHCjaH_@l{mB zS5{TV3-qArY*-Me*87afm!? z=Jfwzz2Pr7e7v|y6?9=Da)SSp1bDV?f=%yl>w+EkTV%$a88!8^swOJl@s+s#8Z1&| zq|U*zd4t>NuSppRxZDubR#Dd*EXe72Uv+hbpO{0F(h?Hmqv~!X>Hjt+5;S>1??!S= z5ICi_s;UB4`+>^f;L@u32|{}k%4!p$&l3c)8SXFl)m5OCxp|>CKwQgQ^B=CP(5R7^ zl^MJ4Oi4^egGdT4tx_@*(^3=hx3()QUm99Z(#VcPb8S+^+FaM!%g&7SBwUjxC#NQ7 zC1s_hrX{DwEIU)mlT!Sd>8+}hC01wYf7m&hC8b%JzVw)7XKHFvMn)nU1~Sr9Q-QZ+Nw6^i?zA_KkOV_1gEE!#nvV%0}T@CDOrh$8R?lxiJ2*>8L?xP zlv65kjd{iq#*xN+<0vC;R-l=21<*GFeG||tfxa1N zv_P*0`WB#XZ8VM*H{*>H6xVdQRMFEoiEPH-CT+&w9>QDgF2obA^ro}B@twaLZ!ATl zn-MMJYa+Yx#yPkfZ=5TOCqF>1#UnT5108^eOG8~{#9N5M#%kk5K;HrMond3ph!(@U zfL`BeJ~YO~#!Jb*a+UEC;zM&cS|g2@3+BRgu}(A^$pP4SmGL^s z+r0QT(9gMszp^WTK;xL9CoYZd;TzW&?+|w5jklBCcyhh!DSJ&C&3YqloiyTjHW)V; zHySq?HygJYw;CIbxQ((E=tiLNm+e5`1N6N>?*JNiQg#A;f1~l92yl0bj&H_Y1h@}K zz}*#fe0%CFaQ^||Vz|?K<9?tYlz@wVHF!Cx$!80?Gr#hdFEk@VNH$ggf-1xa?!9`t4G}w+WhW{Ir=W-wn5`b zO!|E+!q;Z6dVTQH?A5m)i`N}o`Q^!G*#2nzMTG6o1h!8T*uE=}-QJj9i@??-Gj&1O zn&c*hDbA!cQ6}2Nm{=2MQUQ&#;u)Zy1^NK;1kkwE_5#o^0*z(A)M)A|!q&u#&Tl3? zf$c#FwudC=xA)GXw)0VI!f>bcrXE1Q96_zAH=@>bjx3)10R0LPxA=kLHclGp1XB`D z4$}ZrBG64h9}b(6O({U*R_EKD=KN;LG@XYCG-a6vn$VHwHK1Py`i%zDVAJ^ofo}r+ z))_~j2}7Ei@?v3i-SPVlq)*DH9$vO+_9b`i9gYYzYnn!2`#!?fG(mvvyD^!h zEVE7X2yA_(5>u(E%;Yzfo93A2ngS-=hd%=Jhd_S>^v6Jd0yHuqZpD5M^iiO{Xf#zs zU|TIpTT?B8?J)_qUq+?v*<&`MOGH9vUaV!pP^a~#tAIW(;r7~&rLE}(6FDVkT4BOv z&sRWy9X72r;lk$|pnvE*)ZS)7b+5s+#_~ ziW_60c=0uJAAW92-j#d1B)mFdQ(du<3;9J7Bs1)4kIaWz&x)qVk!3LV?3{B?9MH6gW(`_5_Yr)??*{Naf6O zGlh^hE6j0bB`|7WcwjUQX4=dk6?(Z?DApVWJ z;t=v?Ehg2)CcXdrj}P^}I%m`kpL|}L@aPH*ld8#kLh1sO*-B8q!)!qaGe#nIe2@lyYj&IaA%x8yv)A0i+|%64+}nJPxsSQ8`CMSkz*vB>0%HTl4vYgBConEx+`xDm z&HY8OYfco!t~r%J*c%bMOixMdG6T*+xbq=w&PE8EbAag)5xeHRj>WEdteNO><^uCL zV0r=5J8Yg{o(Rl2zz8?IcFHv$<|$@D@2fJCh^I`S(~u$N+2%3=Tc5eaTnY@%x_-d) zZ!r7K~RR>orSkCWf!urG|xSiam*cj$A~?*z6NVbYq|r1u=#yn0>! zxGq;^t#@6p|MH$uNo}q(FA_1kkYG0Pbh_+v^HPG@E6gD?n6ETnWxm>cjrm&hb>=0& zBmK~fpsVBTwfgy1h1n7lKOzo!vY`(i;=aN~lcSND!hhQ2?KxPHx=-2{KnV$uV# zNh_5PEd73OLDyZb@YKx5`j2hK-wS4P{gL@aqHc^tb;Ep+s2ln1sT&&kacO8?H4FC{ z?J&PiP&*n?Yd$DQ+Wb>W+V{*y32NUre_%dh{?Po9`D61Z=1&su zEU5&tPE{55wVuhB4RD$2x6t%W|`=1v&Csp z-kG5IiN@rF2%}p9mI{K}3oSUBb-*kLTjpDEJQo79xYO3QmY{_MS-@FaM`rD!(@^#- zms&7nLWAWp%jK3UfVmi$OMtnw!2*^miG02cn9I+&e74}ZKFhLL^fumi(*tkUjJ|uh ztaw$)<4;u(px=N=SHvc*3JjVX_Kdl7{Ym{Y|H&sq%|KsiSuMhL6@hK&bh_+z%UyV) z#&U<{PGGJC=IXHJZp%7gt_9}0R>xW_8w4*A=Bi>oQ#zX<9H=JVqUhrEH_tCywu;4} zf6(784i7N5I&y5;Zn>w`K`zUEmYuC1JZO0s4}@BFS$10<0%j>N*8_7ygJq9pujLV7 zZUp8gU{KsO|3ibW3h^>@yxZ< zab?1pj|Bn$LUQPSK)aoERLpj3huKmRGX>uz!CA<1-0}?>)h{hyS-u8l4KQngxxK;i zt>uK}J7Der=5AotkyB@;VB}110eZs*^ULtyGM)zX*A!h`RW*NVO;xRMz*jgvX8FnT zOTFc1U=R*>%}897l$c(MhpJK%#q+8qmfyqVRCSLb$M){j)d!ywGFfHFnO3<~VU4q* zIc+^KVPG}@voWFtSsDCZaZTLGxRcf{Xs(s#lK(UHp*}r^yn5Tu*nNNnoA^W*9<49**DMI&(U1YrlVOo334$l;5IjFvQ#%GvhYd~%bjJ5-(nKYlI zs<+pUq}HQxo!E{&#r%Dp-HyK+jSS*CEY7K{Xe*L3qOFjC&|WLz+caaj*o;St`7NE) zjAm5i*3?wh#Lg!10C3y-<5OuA&=kz4#U?!Q4*+6ZWe#zIKNY`bw&2&)W`4!Tk#?lF8j1Ae*7Ved zU+)mx@l@x{q#TT1QtKnpT5>BF#Ee2_%TZ|NR(vdt0=jKC&m%JHT9Rv08z8I~tG}<9 zzo&C%(tydRIF3bGSrKghHKr9r07!GG1(*ev6+~P|0;26y+9R zYyW&Pzq^xaPo`3Ez_`kiDql?*o~0i!#b1F3Tm0mC%#=!Q(Ug=_f(D^2_&5TLw7;e& zVWncd-}*qS)s%I&^`X`e_F5ll{orxy6RjUSZQa-U!LwG3hteX_mh}ZI24Qab;Gng2 zgcEC%^>FJHuUp?}{orluJFOqQZ~dV4gO98qiw_RT)Yi{{c~e*!S&v%3m|Rd;P*+hA zwjPzuidc%Q$E{ysq*d#ez`R{=#Z}rnp`EiZ6juSBsw%9l!4Zgt1H$co>q#_5$+V%k z=9S8i)}KjiFnm^T{RNo!BT+uAzhnF>@)W~gMP6l-+lWttO<{|(;Ueq^FzB@LQG<=P zF*X*MkAXpN4ZO@)3>G%At`b?X*1xEBqQ8^`vMMZ{>&MVaD6oq8G^}Avf-$~eEr!4< z!!L$o;Fdt8uxQL)EM^q)^=>a;>-6LWQiZ$QG`I>g+-l=7b`mh3gl$@z4wz4Y`JAj; z+X-FMWHZUsHnYt#rJyi@go45#Iq~Y+8Fgsd`b-!Ho6Tm&alj}J{;zHfl}7MK$oY=dm)*#_Ir2L|l~ zCxQ7M7$NZSX}6-7Kd)>-Z5c-XD)q->*r~vH63$|Lg|E~&{NXvv7&2 z$+;P57m4j`VeoT>!H-XwJ{Iph!D%8q94XF-f<-5iCPg2P7E{Knz=xAClCnT}=zU@0 z=Tp(x6P-H~Y%^rWt+t7_LR*n-l5MhWifyWGnhp1Gegx(xV9NWa-+=iYm_LB| zbE_=PHcQddHp@2K=ChU9N@Z!GgTTtrca4<+D+g8qY#gvkH1zMB9th@E1m*-V`W;5A zLdlNN)i7iUb~tu(Z8=6m!1#MDALj?B1ZvRELn5#7;unR(M^E|Daf31J2H0;HEGER$}sv5so=lJZz ztYLX+iMjE4!!y(4Q-@~^kIzcVONt*hEH5WFEiEZ0B`0&d;5R_`8P6TmoyBtT=ojuU3%f%8It zwGZPVRAKb2z8$9)-!a)&QRkoFmPTfst)ZPdE3UC^v~5B&8EXL67#dP4bN5on+)cJd zB)e_4?S$9MFapmwjj~Hgbwwapo0#~jToI?FXht=)C&n!x12V0rkIYy6tEgvfRrS=K zRV5^TVNffRU%Or)R+KXSGGS6Q4*fq6XOX5gBV$ISS_-0NgW3E2`NJ6P~5b_y3$gN z4dpL8Y%q2=S!|^4^Zbj0)A8R(h3d^AWxX{-g>)#B@=)Hs?sU05-tIkm_Ue63AAD9A zxY&>HD$lF%%^@#A$y!GsC!6H-kqIm3+D_EsY84?Z$wBF(vr8@uym865l<0niPN0gjvpDO<97kWN`oKRJXa1D>2h(j_?m{ORd zXj0oaq(ze_;#dnYNpZ4?Z6%#9GzD`^n~n_Jws*rbCbshwQ_s2}GB?7rCgPv7eMrhJ zW?Pwvu5bxvZ|Av;m1$&FSx;GCS+XocmM_yp2vR7pv%8trT$o`OXa$atc+vQHVOYV{Pke?^dkPxBM;n_wt|Rzsi4?|EZuAoT7`On}Szp6?%nH zk*X+Aj8{xlOi`35<|!5_E>T>qSgKf~xKpt~v0L$o;-KP?;uFOeif(O=i`#+$vsniTn9VwYb&+4>Rzj!Vj(Lwv zu)j=%)xt#QbX*ciR9L&1NTI(-S%gZjkg~^6R_q>8pE)3^E*YhxcTGes<$|KBGT&mi zuhyNEHZU<$>X#R7uVExW+rMlt*$&!Xw!LCIWNWe=w!I3h2Ust#J%H^AEOvKqV9x=z z53qf=qQde9DlTu~zwg*ymZd3r5`E=dqPg_L-@3enc~D{5NIJ}b&76W^6si{H2lJ3k z3sEcZS6&c(Dnu~BprQBx$!%<4ju3E1kQ~9hnyUE)g%fdUQB^}?{ubh{l%EW0F@HWO zfW$qiMg_CTS3*`U#9HsKDbCHz%|`7nB|axHCo?`ZJ1aLnGc}JWlc|}xsX4>5veVN= zxhU2Pb7%W%ruc%B13{u&O$pS_Ekt&zAmtYG=QdY0P!p`hXCrE=>Z--O&95bNT+F*L zu^?^zr>Goni56Fcfh0!CmyE5rgHQRAzg+x%3j zL-Y+~1uc4Sk#ZxG+pe|O2M?A`5ZJ8#$6wRY5v(t*tYHWSz^U{PBd1nhah z4hHu8t#*UmXgAr-c8lF=x7qD>2e3nc9R=)YU?%}v0&Ec2D}h}O?7gHv&J}|TkzNr3 zlSSslr2K?v!xGR|T8S|{v0J2=p3(1+E}{is5W^Okh=n+TXxKHVZ>oh^C+0?>ghlm; zW+S0oao0=8E&SS|aPgv<1gu@_!t)T5D43&VwEi|ady9GdDUt|-fui>mUyrGpBZacJ z_q8XWN^U>b-p}6Oj+1aGu)~1O1~z8{)zzM8Polbl{CZ%A1B=_h*ON}w=LIS-aH4?t z?8T%L1apFhm>i<5BaczvnN*1m7wsfAi)HxBCgry+hbZ=~iYctZ?KYJ3(##oX$77rI zcAOV^^>&;Wg2(JBbK$z&KFpqN&%ujMa0`=g)p(+*;$ou4A4FSE^5AJ~!O`1{+c zvE8TPLTkQIM+6Bfm$k!CkHqMxB=n^J0@VMI*~XKY;yCiNq@DYG%oALnf<}yqOt$fy zFxw@}sd`9qvd5D>#b3i+yY(1)k@$O$p{r_z-`2AlTf*ScVg3So~%}=-K}bGj^7}n9SGW6N;HmjCsPEgHuk?c^C7@7Vh0_I0N@W8W2~VZFKu7h(D$5{7M>5SD3V zpt80em4Ce$ipt$*SY2%uY8MEZvc9~m%?!VK>54VC?`$*A4bd4c{_=n{`T_ezvh>aN z3+?ml754e|N_&;P8raFeP62i*u+xB@4(tqIXKuFF*mWo{>g)^b3+;=5orN+)kQO)) z#lYe~_{i+=v`>=)sV79J^b}+)rXhS<%=hZ37+e-$1Uy_`opPFsMTyjZ3aKL|$qxqW zh`8#oN<==PWjI=;Q;I*aOd?YdjyYA;=+^Kb%N4QmrziVP(ZqySg7t5RZ)tX1XJ1aZ zVTpaIeVHBQRw=M$!1{qL-(bJNzQTT^{U%`N0DB>@^MI}T$Js%u*KPK-gaXz8JGb6` zJFtNcDPWvNQP~#PonTPe+NG<>=IMD(zy6~6su8v!L?JE+JKU%6R}vXhmR(m{TZMUu*l*_dV2I^qXo^vW=q7VF zi?xN>Wql~F$?kBv+FR;NEBCO|-Mq>-ck}jGAEGc*uikA}`@NiQEWb~W`o1A1M2T8| z+qx8sN}1rNfQ7^-VC9QZvWe+XP@!T#3|E4n5?Z`rKw^^nFH>Q__~v4YNY6Ew5c{3b zt3v6gunNq=m31Xr2CkIdF1uIuvh0xTu?%Ljfjp9?@OpcgOyPQ9E9&hH zz|QY*3KP9+GfJ_oe=Wr-J74dL&uDmaCHuFe*x%K=q;A=6$D>^J_IrS>uD9<1_M*S+ zmIts~(4FhA)X|!Ms9Q$=k95n!cHANk+xOV_0$U4gUD*DpVhOMd@a9gGxt5FS{56Zm zqse+cZbZ}sn-}Y|$_3^a@2kb<(nW#xr|r+8ecHayzTf@~unU1jalW|0e!%{m{dr(7 z2KEwQffQ^fDtfLjxVWe)zY>*l)Ho)PSLNVylx$kzy@j~Ujb5-ZLwH0i17z=j*hI2@ zwWV{3Fe}0hS0VSS_E+qO>|{zGmKE7wv%fw~$W(;kGHi@NvYX3~!VvaUi$k?if!uHQe@#My- z4pJ4BV~ejTt&{&%S8zuJE% zDETu-#TABT@?!abVP zF7DW}gIHY8uGsEg({mTq`h~^>o6hOe_w>uSC37$UFn>~G+GBUINMp4gTQG?DS^}%hE^M?#Q?X1Ttk7L&C93iW+ zDK~G#X=gp+ehIVYkH)N{rjz;$8_q#q(KNQ;bV|X@<4G4zm@H;&DlD3G+Alv=u@&=A zabo_dQzfQsnm*$+Up$L6ctTV0Y~N|W@re61d}FDxUe)9;pJO~-Y<%oBW43@XtWq`2 ztC)ZK`Oe*h`Kn0orZ!zv6FmKl@n2!aI%9)s!NM6LT*#U#IKBDirl!RgUvk>*J{HQt z@-EYmd3rf^wYWRj6oM;HyNDz1&#;KAu}Z35P1jy`IvFwjQUMyvrcA*Q^8VUj)AAcu zoPH-H9K{lDBBMOD>E>0dPd{V&=a})<(P7nXv&7DulrMB&)7snbIQ>$F4a8FJ(u7ra zw;Y0|_4VP?FXR08v5XBHu?byxwrTU0t*4)L5RX~65kBbEbkDszPCMff_n(+?rzU*= z1E-+zsbm&aqHVWn*Y1Z-djgy=b;EM^kjXru>5)etJN*iISj_mu={x90yv^R@3t@ym;Ex`Z)PpBKa~K-_7qIK6ohn@+;L1~#ZYM{Qv-Xp<$#2Fpgvu9aOcy9t+ncgr@)cF1VDPmn-C5<=y2vIa&0bkDI`G@)@`hTq3WNUoF1@w}5Yz*ULA__sE}Bg;nwde-1x0mY*cJkY*##io4;=; z-c=k?99Mj$_%4o$)5lrj9C1D4`o^6XH#)8;Zd%-|xbnDpahJ#45O;Ijt#Nn6-5d8< z+_P~n#=R8R6!&S|_i?`~6-r8}QaY6Vm1)X>%JY>u%E?NvEnT%la0+@##4 zd|bIt`JD2Q@^$4G%AY7XMN=wDO?jy#DxDfcO(f+te4-chry6FEmYep`CO*olXy;htR|5JbD^Em%fNzKwnH>LElW*(~a~F`hNO( zx`}>+K1Tn{C>Vz6!thKFCYc$;3}ted>C7Cag1LfO!K`9#W5Ud4W-s$R)5N^Pyw7~d z9Ai#0|7QMVSysiWS$&&@^_#61)@;9sM(ki5YBXCqSO@1&Il4HyI=VT!1A7CoD}cQb zShPy51omcNS8bN1IW!KfL#OEJFyMW12Z2R5qFaEymF(nh#yFX{%pt~Ove7rLvSKm1 zY?6z%vMZ`e=iw5^gI@_&OT0Hg*r`Cbl-jvD6;-%rF~V1eTU}&_H?pCM?xbiZG)Y;6 z%V7h!DIypyurNo9_XyWzp(qgyh3Je*{M3YckPG678&$+?60s4PhG&n6?&Fa49cCbs zUT~puxD7??@hVw-w|Mz%QX;v07H?+5yJwR#@a|cu-+DUEm8EZV^m6oeoa5-@=nL#^ zz@iy#EwE@tyJMrHpDYb~EWv?$r+4DcHg?zDz}`bTiL8f&o66T2vb+`D_LBa3*uvKVMQKO#%q zy?VJ*#3X~!uh?-uu~+U5N46tJrgjW>)#T z;K0aNbA1`5>1oMXDWz#?CF$j*;^|q(Ob0G{?KoV`8)%|;kMOGTzCcabaRFHvcbG=1 z@N9>{fqN615W-l$sp6SCcM7kFBrx16i^l|bE$w^wy_D-h;UU{7JjBK3d1d5qvO6dm zDBb8->K4_M^L1DJDgIAb*E^~m7oqDdR=!ooH@Bqq_Gj2pLmG10>8GWXmzR|LlE{UC z!kGa_o#PS$(*=%&jzx~e4z$RiDeOLAcLIAqun%l>;4KG^%kd`!?1O~Jc9D1Rx5#%fvUMWg=nUB73p$olaPk5`0I`N+WdXDlqH{)3V2eSH}ddDhY_mZ}H z$o*S*gKjzA7U(a_LF?2UyiGm24$U7f-X-d|4LwX9YaDAG$Z?MV`zWv&9UOOfn>Sa8 zQ$W;VLn944c>Nir8>mBGtTJJ!- zK3Pw^rAdozgk6I~PDRF*EEUDg1jz}(vBj|sZH11ljz(ag26kVV#8?r6AQ2Xi7BI%| zn}_=g5jp3YIx+f9M7$8Eq$rU|mAc>YxGa5};{nHmj$Mx3j)xo%JN7vCIv#O6>Ua#; zXMn}6;sd}w2P|3=UjX(+VE+Z|OTeNed3l@T2}Iyij;9^_9Qz&5IG%MJa6IS0gd}J+ z+XU=kV9_7zHRy5&bZLMtPeYe|(B)sG;ciI+H2c03qK|BCggprBo}2AQ1pA5XM8|Ku zsa)`yz+)RVk-ieM3QzF>g6PyE*j~{2YF8 zoK)A~C7C!0g>WqqFWj=${D8hbh^ELp1o1{(c`g|1TNId&?xd2y)QD0MeM3k?$v|T_ zM5>7w?gWVIEBOXJo5>r;_!d{y)gE@d;doP~j=M+knd2?oTEZ*riGU&UXNBROhAO=}wtbiN6c-_NChGa3NOuD{8H$3bZ{EJ7_HoaQt64%Z_aMA z@jH0l+1;sj@=lFY>(n{*PJ`3vG&#*qi__|~Iqgmdupa|w1#Sp%HNdR_?lIs#0+j(& z13^^`s;fb@4OC5_`Zsj3L6?G1pEsRur^o4a_K>NaJ)OOry`ASc`#AeL&vo{5o+B%8 z;&z>-EOMQEE9oZs`FU^yLGVN*7WT-gpSH7E9TeOZqfW#~QnM3^=W4Es3-#VD6l7hJqhe5z*+Fm5YCqGTB&Q!L}!vS*^%!|mBj=5C9pUhzZUeU zPebn&^WvSi#8IqOdqs^YAfP57;^0 zIRR%o?yyQaqojw1ofC=P(cV|ME8;A2PI6A3UX4s3Dqg^T3+y+={E+`B1VzFk62hVy z?^+aVHO)DFhPdl1D7y{L8P1u=9xWc>%qO;Ne;Fa8T=ZhavlzPSx{``Osn|#HLBXvM zePmn7OcBFUV-v>v=lFtkK}ph<`6EQ+ob9YY(d6_wOPr<7GN<2J?wsSC>kK$AbfR;@ z_rU%D?7xBi5!j!A{TbL_fc+I%+@ts%*gv*8=Zm4poEOENbOvSdik{8|7>tblQ;?h+ zfs>PfBwSZqG2$O4Q5;*FYa!M$LG)P@Hoxq#Un19x4OAjs~wm3T4$ z_uJb|laFe?;J}OWCbks3zYXO;6gosE#g-yC+6ly&P$fkA5Y<(&5vWluh*+S9)h)vC z98q~DoJ(<$!yc8zlOIrQMJSPv=wVXlP0m#q9?QAXc{6Yd;Nrs0)y`Xh zQv#zwN`1{uc!$DQ#QWX{b<1zTbRiv^xLxibFns6}@!T(YroTHpzcLFU|s zNw>!)ZIG`RJJd67^tN+*oj86XR~3yx=G@`DUkKag+=*e^xGorjOywcbKI4?9iZ_c|YOKI(kT`8aUhfa?yN8aN&}4RG2`ifa&#Pg7kLOPtSOEF%OUhDf?T z^bBwYLGlWG5t+8Zgy|UB31?XAheXa3I?g6Tj1$lrO&&pRj<0e7`sL#+M2Xn;%W;TE z;X-oB4>+1&e4w%tDNTe7A~yO(q}Uecg-O}cOgZQzS1BoOalR6I3OIcjPl&7y?F;P> z?VMQ_Ks2EySc&^!Qt~&PZ{dcj^G)E4^@=T_=TDLBedmWl3^?Zzi~+})JL-RtwLfRT@)hZr;jwsd9HlKm}`V< zBycIfrG{OjT%&=*0m~qQqys5&8d64j$#_>GdC3F}w#=ntu;sX}annLyAeEkqM_tog zvrzQ7rn_diW&)Q9To!Nx8(bH-iizkM1l)ONT=clgWop-)Sb4H~eXX}(P~PO_(?=hA z1umsg^tdj>r1N5vuKT*^!SaCx{+pBcANlop)#|9|aaFo55~$BrO{njDq`o*jYoQ2z z5z}Ka?B!bM?BiPOy4cyzwNN&Wuvd=2USoh8DzH~hsCQfTa)n&b%w9PDc+Mlb#t_)c zb)9VdM%NP8Qr9xq^{(Z>Wdk=HxIEx+;^apu3|~nsm0V7Q!Za~aNg^EOS}iOxI6OFF zMY3z*-XJAdD;Pz&5u#C4^n&P+;KJgoN3}z6vZVsSozsfowz)8J$u`$^*FCO#T{~R& zxpunlcRk>G(6!688@RE+6#zF5xbeVE0B$01g}@a7Hwn1Oz)jiadN{&zk1AepJx(-i z*HeV&rb;|FJ#-8>zo=kW|KFoJVhRu;L-$rb(>$Dzc(drMiXu zfIO32eItA}Gvhn1_X%me>v|8k8Nkg9yFPFo0d5v>#hu5DpSq5cmwZN;@d9MVZc8u> zy;9K;HGb{-j!@$_u5VqalgtLr2V6;m>!j;@LXD-sm7RHN{1y4`w^+VgzDn_&|EJs! zLlyU4qP^dmMyT;mnc6LjO}gSEsDFAwLGaoe&JTWIV^&0|(H-Yjp^EKRx+yp9X56fs z1FjsnIl#>YE&$wxz|9j>YgCDz@9=wiAhPi`zz2?D>D8V!OTW zo~UBGQCF+#K*e_Vbqn#-cewizIdc)pnQlwS5=R*;nqvfwJK5RCo$5|=_H$>*yAeUN zKoB&S0T&bm&26Eowt~hz$bDY3pt%${w28JBG;X}&W`jG&J=~q^M(I)q+(O_M19x#$ z#<-J3{da-1ou|i@dQELz^+?>v#goLXlx258+*Trx7J=M`a;Djju_IC9o+65pOWF}7 z@;!nmsctDs+_T-}7DKnsUE(fvm%07!a`znfTz9~Ylksxkt^h6s8~}GEa906$HE`De zcP((&HM%3W7`h|37`n+VhTIZKhAboDWd#$>E&ul<$eCA`-Q*TSH;%~Ch*)rwTMXHy zT`na*ptu2VS{FZ~V!?fbo7`jQUg5qGxa)yi9(J#EqY>r?;8t~-<;8uQo7`jQUgKWt zz8$y~z~ReoYH;7_CifU}D}lTDjB~sj?=f_@bC2Q6>wY=%=e%)cyPmE+tSl)Yx3jqM z9z%CK_ZX%(4gY4wh+$vXE33j+zS(7EGskatlY0!^_YkqT8pUFln@}vqRd*m3-Mif4 zJ%(;_k0Ey}GFg|K2$RKC$EeJ>xe<(Uq>rVyCy?HrazBmqwqN!ep|?8)dJ6-$R-m^> zLla`??K$`J&Gc3e-0d;+_A;TjSKNo(P42_M-2vQPz}*epx@LNNLR5V5ZJUv?F2L=b z7J-B#wAF^zIwZ4?MKW989+_1NWQKkeXpfJq*4$sZeNa1Fq101hoyn}FL4+!o-r0@n!KHsH25x_=T?V)t*#Ny^EJo*o$?vwI{m+X3=2 zko$?fYwuY$>--BaJl&DaJZj+Xjj)+VOO)Js$_o6c1oMA^(^@er-TWA&h6 z>ptLihCL3C6S(_AZ=$+Xd3q5$DlY%0DX${Xl+TKRW@HX}`g;$oH{qkaF?m;9# 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 literal 117825 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 diff --git a/Bitkit/Constants/Env.swift b/Bitkit/Constants/Env.swift index 90a3572f0..e1e7ae575 100644 --- a/Bitkit/Constants/Env.swift +++ b/Bitkit/Constants/Env.swift @@ -6,6 +6,7 @@ // import Foundation +import BitcoinDevKit struct Env { static let isPreview = ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] == "1" @@ -29,6 +30,8 @@ struct Env { //MARK: wallet services static let network: WalletNetwork = .regtest + static let defaultWalletWordCount: WordCount = .words12 + static let onchainWalletStopGap = UInt64(20) static var esploraServerUrl: String { switch network { case .regtest: @@ -57,10 +60,12 @@ struct Env { return documentsDirectory } - static var ldkStorage: URL { + static func ldkStorage(walletIndex: Int) -> URL { switch network { case .regtest: - return appStorageUrl.appendingPathComponent("regtest").appendingPathComponent("ldk") + return appStorageUrl + .appendingPathComponent("regtest") + .appendingPathComponent("wallet\(walletIndex)/ldk") case .bitcoin: fatalError("Bitcoin network not implemented") case .testnet: @@ -70,10 +75,12 @@ struct Env { } } - static var bdkStorage: URL { + static func bdkStorage(walletIndex: Int) -> URL { switch network { case .regtest: - return appStorageUrl.appendingPathComponent("regtest").appendingPathComponent("bdk") + return appStorageUrl + .appendingPathComponent("regtest") + .appendingPathComponent("wallet\(walletIndex)/bdk") case .bitcoin: fatalError("Bitcoin network not implemented") case .testnet: @@ -111,5 +118,5 @@ struct Env { } } - static let testMnemonic = "pool curve feature leader elite dilemma exile toast smile couch crane public" +// static let testMnemonic = "pool curve feature leader elite dilemma exile toast smile couch crane public" } diff --git a/Bitkit/ContentView.swift b/Bitkit/ContentView.swift index a8990bc79..b2ebade89 100644 --- a/Bitkit/ContentView.swift +++ b/Bitkit/ContentView.swift @@ -8,189 +8,26 @@ import SwiftUI struct ContentView: View { - @StateObject var lnViewModel = LightningViewModel() - @StateObject var onChainViewModel = OnChainViewModel() - - @Environment(\.scenePhase) var scenePhase - - @State var showLogs = false + @StateObject var viewModel = ViewModel.shared var body: some View { - List { - Section { - Text(lnViewModel.status?.debugState ?? "No LDK State") - - if let nodeId = lnViewModel.nodeId { - Text("LN Node ID: \(nodeId)") - .font(.caption) - .onTapGesture { - UIPasteboard.general.string = nodeId - } - } - } - - Section("Balances") { - if let lnBalance = lnViewModel.balance { - Text("Lightning \(lnBalance.totalLightningBalanceSats)") - Text("Lightning onchain \(lnBalance.totalOnchainBalanceSats)") - } - - if let onchainBalance = onChainViewModel.balance { - Text("On Chain \(onchainBalance.total)") - } - } - - if let peers = lnViewModel.peers { - Section("Peers") { - ForEach(peers, id: \.nodeId) { peer in - HStack { - Text("\(peer.nodeId)@\(peer.address)") - .font(.caption2) - Spacer() - Text(peer.isConnected ? "✅" : "❌") - } - } - } - } - - if let channels = lnViewModel.channels { - Section("Channels") { - ForEach(channels, id: \.channelId) { channel in - VStack { - Text(channel.counterpartyNodeId).font(.caption2) - .multilineTextAlignment(.leading) - HStack { - Text("Out: \(channel.outboundCapacityMsat)") - Spacer() - Text("In: \(channel.inboundCapacityMsat)") - Text(channel.isChannelReady ? "🟢" : "🔴") - Text(channel.isUsable ? "🟢" : "🔴") - } - - } - .onLongPressGesture { - Task { - do { - try await LightningService.shared.closeChannel(userChannelId: channel.userChannelId, counterpartyNodeId: channel.counterpartyNodeId) - Logger.info("Channel closed") - try await lnViewModel.sync() - } catch { - - } - } - } - } - - Button("Copy open channel command") { - let cmd = "lncli openchannel --node_key=\(lnViewModel.nodeId ?? "") --local_amt=200000 --push_amt=10000 --private=true --zero_conf --channel_type=anchors" - // let cmd = "lncli openchannel --node_key=\(lnViewModel.nodeId ?? "") --local_amt=200000 --push_amt=10000 --min_confs=3" - UIPasteboard.general.string = cmd - } - } - } - - if let receiveAddress = onChainViewModel.address { - Text("Receive Address: \(receiveAddress)") - .onTapGesture { - UIPasteboard.general.string = receiveAddress - } - } - - Button("New Receive Address") { - Task { - try await onChainViewModel.newReceiveAddress() - } - } - - Button("Create bolt11") { - Task { - let invoice = try await LightningService.shared.receive(amountSats: 123, description: "paymeplz") - Logger.info(invoice, context: "Created invoice") - UIPasteboard.general.string = invoice - } + VStack { + if viewModel.walletExists == nil { + ProgressView() + } else if viewModel.walletExists == true { + HomeView() + } else { + WelcomeView() } - - Button("Pay bolt11") { - Task { - if let invoice = UIPasteboard.general.string { - let _ = try? await LightningService.shared.send(bolt11: invoice) - } - } - } - - Button("Show Logs") { - showLogs = true - } - - Section("Transactions") { - if let payments = lnViewModel.payments { - ForEach(payments, id: \.id) { payment in - HStack { - Text("\(payment.direction == .inbound ? "⬇️" : "⬆️")") - Text("\(payment.status)") - Spacer() - Text("\(payment.amountMsat ?? 0)") - } - } - } - } - } - .refreshable { - do { - try await withThrowingTaskGroup(of: Void.self) { group in - group.addTask { try await lnViewModel.sync() } - group.addTask { try await onChainViewModel.sync() } - try await group.waitForAll() - } - } catch { - //TODO show an error - } - } - .sheet(isPresented: $showLogs) { - LogView() } - .onAppear { - Logger.debug("App appeared, spinning up services...") - Task { - do { - try await lnViewModel.start() - try await lnViewModel.sync() - - try await onChainViewModel.start() - try await onChainViewModel.sync() - } catch { - Logger.error(error, context: "Failed to start wallet services") - } + .onChange(of: viewModel.walletExists) { _ in + Logger.info("Wallet exists state changed: \(viewModel.walletExists?.description ?? "nil")") + if viewModel.walletExists == true { + StartupHandler.startAllServices() } } - .onChange(of: scenePhase) { newPhase in - if newPhase == .background { - if lnViewModel.status?.isRunning == true { - Logger.debug("App backgrounded, stopping LN service...") - Task { - do { - try await lnViewModel.stop() - } catch { - Logger.error(error, context: "Failed to stop LN") - } - } - } - return - } - - if newPhase == .active { - if lnViewModel.status?.isRunning == false { - Logger.debug("App active, starting LN service...") - Task { - do { - try await lnViewModel.start() - try await lnViewModel.sync() - } catch { - Logger.error(error, context: "Failed to start LN") - } - } - } - } + .onAppear { + viewModel.setWalletExistsState() } } } diff --git a/Bitkit/Services/LightningService.swift b/Bitkit/Services/LightningService.swift index 7ab7430f5..cb73d6142 100644 --- a/Bitkit/Services/LightningService.swift +++ b/Bitkit/Services/LightningService.swift @@ -12,15 +12,25 @@ import LDKNode class LightningService { private var node: Node? + var currentWalletIndex: Int = 0 static var shared = LightningService() private init() {} - func setup(mnemonic: String, passphrase: String?) async throws { + func setup(walletIndex: Int) async throws { + guard var mnemonic = try Keychain.loadString(key: .bip39Mnemonic(index: walletIndex)) else { + throw CustomServiceError.mnemonicNotFound + } + + var passphrase = try Keychain.loadString(key: .bip39Passphrase(index: walletIndex)) + + currentWalletIndex = walletIndex + var config = defaultConfig() - config.storageDirPath = Env.ldkStorage.path - config.logDirPath = Env.ldkStorage.path + let ldkStoragePath = Env.ldkStorage(walletIndex: walletIndex).path + config.storageDirPath = ldkStoragePath + config.logDirPath = ldkStoragePath config.network = Env.network.ldkNetwork config.logLevel = .trace @@ -39,9 +49,9 @@ class LightningService { builder.setGossipSourceP2p() } - builder.setEntropyBip39Mnemonic(mnemonic: mnemonic, passphrase: nil) + builder.setEntropyBip39Mnemonic(mnemonic: mnemonic, passphrase: passphrase) - Logger.debug(Env.ldkStorage.path, context: "LDK storage path") + Logger.debug(ldkStoragePath, context: "LDK storage path") Logger.debug("Building node...") @@ -50,6 +60,10 @@ class LightningService { } Logger.info("LDK node setup") + + //Clear memory + mnemonic = "" + passphrase = nil } /// Pass onEvent when being used in the background to listen for payments, channels, closes, etc @@ -83,6 +97,12 @@ class LightningService { Logger.info("Node stopped") } + func wipeStorage() async throws { + Logger.warn("Wiping on chain wallet...") + try FileManager.default.removeItem(at: Env.ldkStorage(walletIndex: currentWalletIndex)) + Logger.info("On chain wallet wiped") + } + private func connectToTrustedPeers() async throws { guard let node else { throw AppError(serviceError: .nodeNotStarted) diff --git a/Bitkit/Services/MigrationsService.swift b/Bitkit/Services/MigrationsService.swift index d6f347284..9f4588d06 100644 --- a/Bitkit/Services/MigrationsService.swift +++ b/Bitkit/Services/MigrationsService.swift @@ -17,17 +17,17 @@ class MigrationsService { //MARK: Migrations for RN Bitkit to Swift Bitkit extension MigrationsService { - func ldkToLdkNode(seed: Data, manager: Data, monitors: [Data]) throws { + func ldkToLdkNode(walletIndex: Int, seed: Data, manager: Data, monitors: [Data]) throws { Logger.info("Migrating LDK to LDKNode") - let storagePath = Env.ldkStorage.path - let sqlFilePath = Env.ldkStorage.appendingPathComponent("ldk_node_data.sqlite").path + let ldkStorage = Env.ldkStorage(walletIndex: walletIndex) + let sqlFilePath = ldkStorage.appendingPathComponent("ldk_node_data.sqlite").path //Create path if doesn't exist let fileManager = FileManager.default var isDir: ObjCBool = true - if !fileManager.fileExists(atPath: storagePath, isDirectory: &isDir) { - try fileManager.createDirectory(atPath: storagePath, withIntermediateDirectories: true, attributes: nil) - Logger.debug("Directory created at path: \(storagePath)") + if !fileManager.fileExists(atPath: ldkStorage.path, isDirectory: &isDir) { + try fileManager.createDirectory(atPath: ldkStorage.path, withIntermediateDirectories: true, attributes: nil) + Logger.debug("Directory created at path: \(ldkStorage.path)") } Logger.debug(sqlFilePath, context: "SQLIte file path") diff --git a/Bitkit/Services/OnChainService.swift b/Bitkit/Services/OnChainService.swift index f772e6522..330a30f64 100644 --- a/Bitkit/Services/OnChainService.swift +++ b/Bitkit/Services/OnChainService.swift @@ -10,31 +10,35 @@ import BitcoinDevKit class OnChainService { private var wallet: Wallet? - private var blockchainConfig: BlockchainConfig? + var currentWalletIndex: Int = 0 - static var shared = OnChainService() - - private init() {} - - func setup() throws { - //TODO maybe better as a lazy var + private var blockchainConfig: BlockchainConfig { let esploraConfig = EsploraConfig( baseUrl: Env.esploraServerUrl, proxy: nil, concurrency: nil, - stopGap: UInt64(20), + stopGap: Env.onchainWalletStopGap, timeout: nil ) - blockchainConfig = BlockchainConfig.esplora(config: esploraConfig) + return BlockchainConfig.esplora(config: esploraConfig) } - func createWallet(mnemonic: String, passphrase: String?) async throws { - let mnemonic = try Mnemonic.fromString(mnemonic: "\(mnemonic)\(passphrase == nil ? "" : " \(passphrase!)")") + static var shared = OnChainService() + private init() {} + + func setup(walletIndex: Int) async throws { + guard var mnemonic = try Keychain.loadString(key: .bip39Mnemonic(index: walletIndex)) else { + throw CustomServiceError.mnemonicNotFound + } + + var passphrase = try Keychain.loadString(key: .bip39Passphrase(index: walletIndex)) + currentWalletIndex = walletIndex + let secretKey = DescriptorSecretKey( network: Env.network.bdkNetwork, - mnemonic: mnemonic, + mnemonic: try Mnemonic.fromString(mnemonic: mnemonic), password: passphrase ) @@ -54,21 +58,42 @@ class OnChainService { Logger.debug("Creating onchain wallet...") + let bdkStorage = Env.bdkStorage(walletIndex: walletIndex) + try FileManager.default.createDirectory(at: bdkStorage, withIntermediateDirectories: true, attributes: nil) + + let dbConfig = DatabaseConfig.sqlite(config: .init(path: bdkStorage.appendingPathComponent("db.sqlite").path)) + try await ServiceQueue.background(.bdk) { self.wallet = try Wallet( descriptor: descriptor, changeDescriptor: changeDescriptor, network: Env.network.bdkNetwork, - databaseConfig: .sled(config: .init(path: Env.bdkStorage.path, treeName: "")) + databaseConfig: dbConfig ) } Logger.info("Onchain wallet created") + + //Clear memory + mnemonic = "" + passphrase = nil + } + + func stop() { + Logger.debug("Stopping on chain wallet...") + self.wallet = nil + Logger.info("On chain wallet stopped") + } + + func wipeStorage() async throws { + Logger.warn("Wiping on chain wallet...") + try FileManager.default.removeItem(at: Env.bdkStorage(walletIndex: currentWalletIndex)) + Logger.info("On chain wallet wiped") } func getAddress() async throws -> String { guard let wallet else { - throw AppError(serviceError: .onchainWalletNotCreated) + throw AppError(serviceError: .onchainWalletNotInitialized) } return try await ServiceQueue.background(.bdk) { @@ -78,8 +103,8 @@ class OnChainService { } func sync() async throws { - guard let wallet, let blockchainConfig else { - throw AppError(serviceError: .onchainWalletNotCreated) + guard let wallet else { + throw AppError(serviceError: .onchainWalletNotInitialized) } Logger.debug("Syncing BDK...") diff --git a/Bitkit/Utilities/Errors.swift b/Bitkit/Utilities/Errors.swift index ce98c74e4..7ffc45165 100644 --- a/Bitkit/Utilities/Errors.swift +++ b/Bitkit/Utilities/Errors.swift @@ -11,9 +11,10 @@ import BitcoinDevKit enum CustomServiceError: Error { case nodeNotStarted - case onchainWalletNotCreated + case onchainWalletNotInitialized case ldkNodeSqliteAlreadyExists case ldkToLdkNodeMigration + case mnemonicNotFound } enum KeychainError: Error { @@ -64,7 +65,7 @@ struct AppError: LocalizedError { case .nodeNotStarted: message = "Node is not started" debugMessage = nil - case .onchainWalletNotCreated: + case .onchainWalletNotInitialized: message = "Onchain wallet not created" debugMessage = nil case .ldkNodeSqliteAlreadyExists: @@ -73,6 +74,9 @@ struct AppError: LocalizedError { case .ldkToLdkNodeMigration: message = "LDK to LDK-node migration issue" debugMessage = nil + case .mnemonicNotFound: + message = "Mnemonic not found" + debugMessage = nil } Logger.error("\(message) [\(debugMessage ?? "")]", context: "service error") diff --git a/Bitkit/Utilities/Keychain.swift b/Bitkit/Utilities/Keychain.swift index 9564ff04e..709bf60ae 100644 --- a/Bitkit/Utilities/Keychain.swift +++ b/Bitkit/Utilities/Keychain.swift @@ -8,22 +8,24 @@ import Foundation import Security -class Keychain { - enum KeychainKey { - case bip39Mnemonic(index: Int) - case bip39Passphrase(index: Int) - - var storageKey: String { - switch self { - case .bip39Mnemonic(let index): - return "bip39_mnemonic_\(index)" - case .bip39Passphrase(index: let index): - return "bip39_passphrase_\(index)" - } +enum KeychainEntryType { + case bip39Mnemonic(index: Int) + case bip39Passphrase(index: Int) + + //TODO: allow for reading keychain entries from RN wallet and then migrate them if needed + + var storageKey: String { + switch self { + case .bip39Mnemonic(let index): + return "bip39_mnemonic_\(index)" + case .bip39Passphrase(index: let index): + return "bip39_passphrase_\(index)" } } - - class func save(key: KeychainKey, data: Data) throws { +} + +class Keychain { + class func save(key: KeychainEntryType, data: Data) throws { Logger.debug("Saving \(key.storageKey)", context: "Keychain") let query = [ @@ -47,10 +49,22 @@ class Keychain { throw KeychainError.failedToSave } + //Sanity check on save + guard var storedValue = try load(key: key) else { + Logger.error("Failed to load \(key.storageKey) after saving", context: "Keychain") + throw KeychainError.failedToSave + } + + guard storedValue == data else { + Logger.error("Saved \(key.storageKey) does not match loaded value", context: "Keychain") + throw KeychainError.failedToSave + } + storedValue = Data() //Clear memory + Logger.info("Saved \(key.storageKey)", context: "Keychain") } - class func saveString(key: KeychainKey, str: String) throws { + class func saveString(key: KeychainEntryType, str: String) throws { guard let data = str.data(using: .utf8) else { throw KeychainError.failedToSave } @@ -58,7 +72,7 @@ class Keychain { try save(key: key, data: data) } - class func delete(key: KeychainKey) throws { + class func delete(key: KeychainEntryType) throws { let query = [ kSecClass as String: kSecClassGenericPassword as String, kSecAttrAccount as String: key.storageKey, @@ -75,8 +89,15 @@ class Keychain { Logger.debug("Deleted \(key.storageKey)", context: "Keychain") } + class func exists(key: KeychainEntryType) throws -> Bool { + var value = try load(key: key) + let exists = value != nil + value = Data() //Clear memory + return exists + } + //TODO throws if fails but return nil if not found - class func load(key: KeychainKey) throws -> Data? { + class func load(key: KeychainEntryType) throws -> Data? { let query = [ kSecClass as String: kSecClassGenericPassword, kSecAttrAccount as String: key.storageKey, @@ -103,7 +124,7 @@ class Keychain { return dataTypeRef as! Data? } - class func loadString(key: KeychainKey) throws -> String? { + class func loadString(key: KeychainEntryType) throws -> String? { if let data = try load(key: key), let str = String(data: data, encoding: .utf8) { return str } @@ -153,6 +174,8 @@ class Keychain { kSecAttrAccessGroup as String: Env.keychainGroup ] as [String : Any] SecItemDelete(query as CFDictionary) + + Logger.info("Deleted \(key) from keychain") } } } diff --git a/Bitkit/Utilities/StartupHandler.swift b/Bitkit/Utilities/StartupHandler.swift new file mode 100644 index 000000000..77b15f40d --- /dev/null +++ b/Bitkit/Utilities/StartupHandler.swift @@ -0,0 +1,64 @@ +// +// Startup.swift +// Bitkit +// +// Created by Jason van den Berg on 2024/07/31. +// + +import Foundation +import BitcoinDevKit + +class StartupHandler { + private init() {} + + static func startAllServices() { + Logger.debug("Spinning up services...") + Task { + do { + try await OnChainViewModel.shared.start() + } catch { + Logger.error(error, context: "Failed to start on chain service") + } + } + + Task { + do { + try await LightningViewModel.shared.start() + } catch { + Logger.error(error, context: "Failed to start lightning service") + } + } + } + + /// Creates a new mnemonic and saves it to the keychain + /// - Parameters: + /// - bip39Passphrase: optional bip39 passphrase + /// - walletIndex: wallet index, defaults to zero for first entry + /// - Returns: The generated mnemonic + static func createNewWallet(bip39Passphrase: String?, walletIndex: Int = 0) throws -> String { + let mnemonic = Mnemonic(wordCount: Env.defaultWalletWordCount).asString() + + try Keychain.saveString(key: .bip39Mnemonic(index: walletIndex), str: mnemonic) + if let bip39Passphrase { + try Keychain.saveString(key: .bip39Passphrase(index: walletIndex), str: bip39Passphrase) + } + + return mnemonic + } + + /// Restores a wallet from a mnemoni and, saves it to the keychain + /// - Parameters: + /// - mnemonic: 12 or 24 word mnemonic + /// - bip39Passphrase: optional bip39 passphrase + /// - walletIndex: wallet index, defaults to zero for first + static func restoreWallet(mnemonic: String, bip39Passphrase: String?, walletIndex: Int = 0) throws { + _ = try Mnemonic.fromString(mnemonic: mnemonic) //Check it's valid + + //TODO validate word count also? + + try Keychain.saveString(key: .bip39Mnemonic(index: walletIndex), str: mnemonic) + if let bip39Passphrase { + try Keychain.saveString(key: .bip39Passphrase(index: walletIndex), str: bip39Passphrase) + } + } +} diff --git a/Bitkit/ViewModels/LightningViewModel.swift b/Bitkit/ViewModels/LightningViewModel.swift index 270f49426..169e11d62 100644 --- a/Bitkit/ViewModels/LightningViewModel.swift +++ b/Bitkit/ViewModels/LightningViewModel.swift @@ -18,20 +18,24 @@ class LightningViewModel: ObservableObject { @Published var channels: [ChannelDetails]? @Published var payments: [PaymentDetails]? - func start() async throws { - let mnemonic = Env.testMnemonic // = generateEntropyMnemonic() - let passphrase: String? = nil - + private init() {} + public static var shared = LightningViewModel() + + func start(walletIndex: Int = 0) async throws { syncState() - try await LightningService.shared.setup(mnemonic: mnemonic, passphrase: passphrase) + try await LightningService.shared.setup(walletIndex: walletIndex) try await LightningService.shared.start(onEvent: { _ in + //On every lightning event just sync UI Task { @MainActor in self.syncState() } }) syncState() - - //TODO listen on LDK events to sync UI state + + //Always sync on start but don't need to wait for this + Task { @MainActor in + try await sync() + } } func stop() async throws { @@ -39,6 +43,11 @@ class LightningViewModel: ObservableObject { syncState() } + func wipeWallet() async throws { + try await stop() + try await LightningService.shared.wipeStorage() + } + func sync() async throws { isSyncing = true syncState() diff --git a/Bitkit/ViewModels/OnChainViewModel.swift b/Bitkit/ViewModels/OnChainViewModel.swift index 19d96d26c..6833411a0 100644 --- a/Bitkit/ViewModels/OnChainViewModel.swift +++ b/Bitkit/ViewModels/OnChainViewModel.swift @@ -14,15 +14,29 @@ class OnChainViewModel: ObservableObject { @Published var balance: Balance? @Published var address: String? - func start() async throws { - let mnemonic = Env.testMnemonic // = generateEntropyMnemonic() - let passphrase: String? = nil + private init() {} + public static var shared = OnChainViewModel() + + func start(walletIndex: Int = 0) async throws { + try await OnChainService.shared.setup(walletIndex: walletIndex) + syncState() - try OnChainService.shared.setup() - try await OnChainService.shared.createWallet(mnemonic: mnemonic, passphrase: passphrase) + //Always sync on start but don't need to wait for this + Task { @MainActor in + try await sync() + } + } + + func stop() throws { + OnChainService.shared.stop() syncState() } + func wipeWallet() async throws { + try stop() + try await OnChainService.shared.wipeStorage() + } + func newReceiveAddress() async throws { address = try await OnChainService.shared.getAddress() } diff --git a/Bitkit/ViewModels/ViewModel.swift b/Bitkit/ViewModels/ViewModel.swift new file mode 100644 index 000000000..fa6b0f589 --- /dev/null +++ b/Bitkit/ViewModels/ViewModel.swift @@ -0,0 +1,25 @@ +// +// ViewModel.swift +// Bitkit +// +// Created by Jason van den Berg on 2024/07/31. +// + +import SwiftUI + +@MainActor +class ViewModel: ObservableObject { + @Published var walletExists: Bool? = nil + + private init() {} + public static var shared = ViewModel() + + func setWalletExistsState() { + do { + walletExists = try Keychain.exists(key: .bip39Mnemonic(index: 0)) + } catch { + //TODO show error + Logger.error(error) + } + } +} diff --git a/Bitkit/Views/Onboarding/WelcomeView.swift b/Bitkit/Views/Onboarding/WelcomeView.swift new file mode 100644 index 000000000..c31e437f9 --- /dev/null +++ b/Bitkit/Views/Onboarding/WelcomeView.swift @@ -0,0 +1,50 @@ +// +// WelcomeView.swift +// Bitkit +// +// Created by Jason van den Berg on 2024/07/31. +// + +import SwiftUI + +struct WelcomeView: View { + @StateObject var viewModel = ViewModel.shared + @State var bip39Passphrase: String? + + var body: some View { + VStack { + Text("Welcome") + .font(.largeTitle) + + Form { + TextField("BIP39 Passphrase", text: Binding( + get: { bip39Passphrase ?? "" }, + set: { bip39Passphrase = $0.isEmpty ? nil : $0 } + )) + } + + HStack { + Button("Create Wallet") { + do { + _ = try StartupHandler.createNewWallet(bip39Passphrase: bip39Passphrase) + viewModel.setWalletExistsState() + } catch { + //TODO: show a error to user + Logger.error(error) + } + } + .padding() + +// Button("Restore Wallet") { +// //TODO +// } +// .padding() + } + .padding() + } + } +} + +#Preview { + WelcomeView() +} diff --git a/Bitkit/Views/LogView.swift b/Bitkit/Views/Settings/LogView.swift similarity index 91% rename from Bitkit/Views/LogView.swift rename to Bitkit/Views/Settings/LogView.swift index def2dd355..8903b5f45 100644 --- a/Bitkit/Views/LogView.swift +++ b/Bitkit/Views/Settings/LogView.swift @@ -27,7 +27,7 @@ struct LogView: View { } func loadLog() { - let dir = Env.ldkStorage + let dir = Env.ldkStorage(walletIndex: LightningService.shared.currentWalletIndex) let fileURL = dir.appendingPathComponent("ldk_node_latest.log") do { diff --git a/Bitkit/Views/Wallets/HomeView.swift b/Bitkit/Views/Wallets/HomeView.swift new file mode 100644 index 000000000..40cde2a51 --- /dev/null +++ b/Bitkit/Views/Wallets/HomeView.swift @@ -0,0 +1,206 @@ +// +// HomeView.swift +// Bitkit +// +// Created by Jason van den Berg on 2024/07/31. +// + +import SwiftUI + +struct HomeView: View { + @ObservedObject var lnViewModel = LightningViewModel.shared + @ObservedObject var onChainViewModel = OnChainViewModel.shared + @StateObject var viewModel = ViewModel.shared + + @Environment(\.scenePhase) var scenePhase + + @State var showLogs = false + + var body: some View { + List { + Section { + Text(lnViewModel.status?.debugState ?? "No LDK State") + + if let nodeId = lnViewModel.nodeId { + Text("LN Node ID: \(nodeId)") + .font(.caption) + .onTapGesture { + UIPasteboard.general.string = nodeId + } + } + } + + Section("Balances") { + if let lnBalance = lnViewModel.balance { + Text("Lightning \(lnBalance.totalLightningBalanceSats)") + Text("Lightning onchain \(lnBalance.totalOnchainBalanceSats)") + } + + if let onchainBalance = onChainViewModel.balance { + Text("On Chain \(onchainBalance.total)") + } + } + + if let peers = lnViewModel.peers { + Section("Peers") { + ForEach(peers, id: \.nodeId) { peer in + HStack { + Text("\(peer.nodeId)@\(peer.address)") + .font(.caption2) + Spacer() + Text(peer.isConnected ? "✅" : "❌") + } + } + } + } + + if let channels = lnViewModel.channels { + Section("Channels") { + ForEach(channels, id: \.channelId) { channel in + VStack { + Text(channel.counterpartyNodeId).font(.caption2) + .multilineTextAlignment(.leading) + HStack { + Text("Out: \(channel.outboundCapacityMsat)") + Spacer() + Text("In: \(channel.inboundCapacityMsat)") + Text(channel.isChannelReady ? "🟢" : "🔴") + Text(channel.isUsable ? "🟢" : "🔴") + } + + } + .onLongPressGesture { + Task { + do { + try await LightningService.shared.closeChannel(userChannelId: channel.userChannelId, counterpartyNodeId: channel.counterpartyNodeId) + Logger.info("Channel closed") + try await lnViewModel.sync() + } catch { + + } + } + } + } + + Button("Copy open channel command") { + let cmd = "lncli openchannel --node_key=\(lnViewModel.nodeId ?? "") --local_amt=200000 --push_amt=10000 --private=true --zero_conf --channel_type=anchors" + // let cmd = "lncli openchannel --node_key=\(lnViewModel.nodeId ?? "") --local_amt=200000 --push_amt=10000 --min_confs=3" + UIPasteboard.general.string = cmd + } + } + } + + if let receiveAddress = onChainViewModel.address { + Text("Receive Address: \(receiveAddress)") + .onTapGesture { + UIPasteboard.general.string = receiveAddress + } + } + + Button("New Receive Address") { + Task { + try await onChainViewModel.newReceiveAddress() + } + } + + Button("Create bolt11") { + Task { + let invoice = try await LightningService.shared.receive(amountSats: 123, description: "paymeplz") + Logger.info(invoice, context: "Created invoice") + UIPasteboard.general.string = invoice + } + } + + Button("Pay bolt11") { + Task { + if let invoice = UIPasteboard.general.string { + let _ = try? await LightningService.shared.send(bolt11: invoice) + } + } + } + + Button("Show Logs") { + showLogs = true + } + + Button("NUKE") { + Task { + guard Env.network == .regtest else { + Logger.error("Can only nuke on regtest") + return + } + do { + //Delete storage (for current wallet only) + try await onChainViewModel.wipeWallet() + try await lnViewModel.wipeWallet() + //Delete entire keychain + try Keychain.wipeEntireKeychain() + viewModel.setWalletExistsState() + } catch { + Logger.error(error, context: "Nuke") + } + } + } + + Section("LN Transactions") { + if let payments = lnViewModel.payments { + ForEach(payments, id: \.id) { payment in + HStack { + Text("\(payment.direction == .inbound ? "⬇️" : "⬆️")") + Text("\(payment.status)") + Spacer() + Text("\(payment.amountMsat ?? 0)") + } + } + } + } + } + .refreshable { + do { + try await withThrowingTaskGroup(of: Void.self) { group in + group.addTask { try await onChainViewModel.sync() } + group.addTask { try await lnViewModel.sync() } + try await group.waitForAll() + } + } catch { + //TODO show an error + } + } + .sheet(isPresented: $showLogs) { + LogView() + } + .onChange(of: scenePhase) { newPhase in + if newPhase == .background { + if lnViewModel.status?.isRunning == true { + Logger.debug("App backgrounded, stopping LN service...") + Task { + do { + try await lnViewModel.stop() + } catch { + Logger.error(error, context: "Failed to stop LN") + } + } + } + return + } + + if newPhase == .active { + if lnViewModel.status?.isRunning == false { + Logger.debug("App active, starting LN service...") + Task { + do { + try await lnViewModel.start() + try await lnViewModel.sync() + } catch { + Logger.error(error, context: "Failed to start LN") + } + } + } + } + } + } +} + +#Preview { + HomeView() +} diff --git a/BitkitNotification/NotificationService.swift b/BitkitNotification/NotificationService.swift index 7efff6bb0..a651ab373 100644 --- a/BitkitNotification/NotificationService.swift +++ b/BitkitNotification/NotificationService.swift @@ -9,6 +9,7 @@ import UserNotifications import LDKNode class NotificationService: UNNotificationServiceExtension { + let walletIndex = 0 //Assume first wallet for now var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent? @@ -19,10 +20,7 @@ class NotificationService: UNNotificationServiceExtension { Task { do { - let mnemonic = Env.testMnemonic // = generateEntropyMnemonic() - let passphrase: String? = nil - - try await LightningService.shared.setup(mnemonic: mnemonic, passphrase: passphrase) + try await LightningService.shared.setup(walletIndex: walletIndex) //Assume first wallet for now try await LightningService.shared.start { event in self.handleLdkEvent(event: event) @@ -86,7 +84,7 @@ class NotificationService: UNNotificationServiceExtension { } func dumpLdkLogs() { - let dir = Env.ldkStorage + let dir = Env.ldkStorage(walletIndex: walletIndex) let fileURL = dir.appendingPathComponent("ldk_node_latest.log") do { diff --git a/BitkitTests/LdkMigration.swift b/BitkitTests/LdkMigration.swift index 3ab2d47e3..8ff6e384b 100644 --- a/BitkitTests/LdkMigration.swift +++ b/BitkitTests/LdkMigration.swift @@ -33,6 +33,7 @@ final class LdkMigrationTests: XCTestCase { } try MigrationsService.shared.ldkToLdkNode( + walletIndex: 0, seed: try Data(contentsOf: seedFile), manager: try Data(contentsOf: managerFile), monitors: [ @@ -40,7 +41,8 @@ final class LdkMigrationTests: XCTestCase { ] ) - try await LightningService.shared.setup(mnemonic: Env.testMnemonic, passphrase: nil) + //TODO restore first from words + try await LightningService.shared.setup(walletIndex: 0) try await LightningService.shared.start() XCTAssertEqual(LightningService.shared.nodeId, "02cd08b7b375e4263849121f9f0ffb2732a0b88d0fb74487575ac539b374f45a55") From 3280bab051f267f7a65033972037c3ce97196b80 Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 31 Jul 2024 16:33:55 +0200 Subject: [PATCH 4/5] fix: updated readme --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 99f2b839e..32b95e1b4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -## Error handling +## How to build -- Don't pass exceptions up to the UI -- Translations -- Known lightning errors +1. Open Bitkit.xcodeproj in XCode +2. Build From 2c2e4563372e6a43334df89e8c9de62d9b9272ba Mon Sep 17 00:00:00 2001 From: Jason Date: Wed, 31 Jul 2024 17:09:06 +0200 Subject: [PATCH 5/5] test: migration fix --- .../UserInterfaceState.xcuserstate | Bin 162054 -> 162870 bytes Bitkit/Services/LightningService.swift | 18 ++++++++++---- Bitkit/Services/OnChainService.swift | 14 +++++++++-- Bitkit/Utilities/Errors.swift | 8 +++++++ Bitkit/ViewModels/LightningViewModel.swift | 2 +- Bitkit/ViewModels/OnChainViewModel.swift | 2 +- BitkitTests/LdkMigration.swift | 22 ++++++++++-------- 7 files changed, 48 insertions(+), 18 deletions(-) diff --git a/Bitkit.xcodeproj/project.xcworkspace/xcuserdata/jason.xcuserdatad/UserInterfaceState.xcuserstate b/Bitkit.xcodeproj/project.xcworkspace/xcuserdata/jason.xcuserdatad/UserInterfaceState.xcuserstate index e4eeb688b40250930558a3d4d57fd04efe84d311..34d487fbb8f207d466b984f370093d394b2f8d63 100644 GIT binary patch literal 162870 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%0DX${Xl+TKRW@HX}`g;$oH{qkaF?m;9# z&tOb?er!_ysN0pbe&`Qd9LCS4y4!a%hjx1ca+ zoJ1CV`o{2?XSB1AXRN2d+0Qdx_ABADrvyGb02~^rEx>&k8rPQ3JVl;K&3yJOa8I=5 zGtUg%N%YM0%<^0S+>^jP4cz`Hm3c;sRE94iREE4erfi-VD+c$JTIp$?a?u{JPqYWj zXyKh6Ave!Fk;k5CkH-Q6kBx81W1d>i706?rI?n>nLeC=4V$a2%OFWl)F7sRt+;hM^ z58MmDy$Bq3@JqlQ1nypo;wt2|C ze4gz@DR~o>5~T~368ZTZC?%c;J*bp4cy@VqdmaMrZQ$Mk?%f8@9?xDvWA6d?{+Xw- zr;wYTj^!ry?xk;hG9df%`wz`&f}WlPLSxTh(r06n4!YvG-S+hb%Qt3D`FVEL$9c^( z_Ppm`B8|OBXzU1~F$~Iu%zu6i^CLObqQ?pnL{Sxfko!&ABeBCsVy}5#M-qEeHkObW zdPATYW)k}fxKCn8>|-=;dOq=d>iNv`x#uWwp91$ea9;p- z47lUXbaq%|pw9#bx?p6hXv-2yeJiFpDx{GPs6@VWwYF(?q_uf|7t8sw9k!EQA+TMK zmTc#xy;`(pdKoY4<-96y7jIW@H*a^Z+RJ-2zaXeFxl0;Jyd$2jEbj`w_UG zfctry7d^_!e_oTKkJq9&7k{%8()&dsz28C)fr<&efZCf%`+tx2{;RB+-hRlC-u}S- z8evH90AxtTP{lCv6KV);5PqaR9&frg3sLCJ@Zvto@4)>L_73z80`5;xQJuDA^$zu- z#?s&&=FRrzfJz1`Ij9s3-dt}UQk^OeRLV0>b>6WuwYMOazusP5KC*t|DE0~Mh>u_1 zS#k+dop%Bzofw;RMbpHeS7qfH?z`hocg@|C&x=x>canE1>Ey{M9aJ<*2SpI~xOR6S z9K08J{bqpz7P`JrEHeFNzwo7o$sp z>fDI%Q1zEIW>v=jJ<)OI&6wWzh&*^7RQ)7*@F7k+UGKPT@&nYC(EnraPM~e9`-bsf zO4HsAq%sdV`|N!r4H`%kGS8V6p-f505K3|(Lxzws$vn>)Qc1=XNfb#`Qi&)-8l?Jv zHqqU!?*IE=Z~t|#_g&9=*T?fbZ^!rgPSk8@sod?dA^+YtGr()537B7_lJ=J zVdT1rc@N}07)GuSBe(o>j|fNdexH0qIGXpnyvM@G4PoTQFj8<*-XHS*n0!RIDU96w z-+x5#>Ql;Jy!uol=SLUZepB(62X9>S+lL3%Ec1wva;`5;fA%B7yS4MYecpMcuj`lZ z-FzcJ|IvTy_n-gbd2&j&TxlseQgY_XpOQPMlswM-CYa-_R2cEd?|Jfl-ShnW zah8&j68qyg^B`XI-;cADYwT4@{*-G|3Zw{GER5V4Mv8}#5@(LHlx!#e#h<*|sekcb z_51I!{%;>nVHP}g@-VylUk|gCvMJRaW+~-T%BNIFshCnJrE*G@l&UG! zQtl2TrNc;>Fj6**lnW!}!$^fNQZbBF3L}-nNR^o>HBKF7DRoXAW-0e353{PL53{?^ z9A@?Z=P>){|M{Qtpu;SsWf-aU`(c*yu%*lJMTRev!t}p|=LM(!Jae3-bVx})rAXT9!6?ROzE7`C5+SzBenmrfBvU*O9_+rW}B4mzKa>D<=)Jg;pDw}@mcrg?@x77 z`lR%C0;cp$>6h|!7^xFR>V}belTrqx3{0MY_k@vq|LZ4U$}q>;@UxG#=cacob|^!M z`4jdId~4%_KVF$U0Y~}L(Pw|@w2?cOd~|WCpXUC&vCwt1rr-9*3HW@?szu4T$gDN9pc4kP!65zoAv{c(m(J@u6AfzwaPvi|FP%KZL@B7gekWy;Ev zuSiFlo_Dn*YTymTu_`~tc={AO<`lcA{6!U#!gJmT&slfs&p%GF6DhwX zPqAN8ehnj?!bsm7Q4fi#qNw1kClj(3?qHQNWU=BKa31GbGXH> zJ9W7EDWBxeUH;7*jr@LC#VVXT%@5B+{1}RV4NpGvW=j9*ADyuprw+J*e|5lpdGdhk z@vjG5tbVMy11{Dec3-SvtWm6S?EcsTu_m#mv1Vapa2Od9MuvuwXT!*_&`;_`Mud@( zVPsSo89g)B;?w~bYn9>Q46V z5f^(hjEwpHh>Q7Yn#r-Av0h1G=FgJOdr}wdW_nrQQ%u~NYd^)ceV&1}Z zQfypod`vEr!-&P1Iw>|OHaU4RP75Q`|LafIVt$1w_7}gxG_LOIW0_}Ft}&_l)q4&N zF4`=4GS2g*^UppRub(z-biH8}zw7?;3*WZ+C|7|$PR50?C8v(L#mQrC=6`D0S>HX2 zEsMPtTONBoSN_<_pltFqdpC?M4kJs#$n2A++2-z7opqY6jlJ>5X|^bg%sJ~cd)u?L z*v8m9u}xuQZWx&#Mqd2mAlq{4oSAp>oT*p6bcs@xOJDbJlha4n2dDn?f>Zzb%sUL8 z{?9v49fJ$c9D{%L#)PMTYqjyoW6O8<{FIDufVOVh!ADyqKk~7em)!679%R?~mGy^w zR?6x3B#nI;JDfb!_Qt-7?ThV?eH}XxI~e;W_HFD?81X{N(lGLJ7M(}&vX)6d$xnN9KsS!vAxBW%IxPjkMGY z9ciha7p?mJNK3ugkrvGs&7KsVTRA+p%BerkJZnqMlzNrhCiRNcE5pc|FtT=HYUWhm z=Y1oLy#0?oYfH_UdbP7DHCJlxRNseP7e?L;BX3Pg&6}E%Je$^skq!U#vnlnO;Ih>G zXCF9sW|`ah;(?`ey|{M7`qr!0tZ_D_Ugt}%Kl@ATbm~%|?91i8ANt2*cwJY2qW9W$cJYRy3{hKPO@z$PcqLi&%8kJSN|0K zx2J6X>6u#UsW%Xc?D(r^YR66Y>?Nhrs)KWX7c1(RVwNq;6)Gn!yr9Ph8 zHPt^Gc7+k&fc_+md>Te}hmp_1$eu9rc^LU3jC?sW^~qC*T58V=@?|`HPAs)g@=)7* z`cT`K{N%&)8YiErefK}d+CTqHEp>SESo6&JtJBBYXiInb`RA6r{QL{Q4$rHZe0`v1 zc+Si}PPOr=lai;}gw%;)WPcd>dSdG2RO2}iMvnY*r`pU^KTtC%byn)^)Hz|~U>Nx( zjC?yObzbWH9W80 z(z(-)AN;Xo`k|xB49GF-yKaA+YOklRN;Y{#@&$sUULd&q#^ehGjT~%$d#b&ey5ZER zwmx~P9doK(eq-_=Jg?DNf9320Y_kLGz0~(}XtwV6 zo^^ojNd4%K1MIgj;>{-h?Ep)@)|C2L>YmikQ{C)8g^{1b$cZrW%O3~W=2Nc;xZ0`L z1Tvrb5y1BUyGPiuQ)lC^e|3cQIeCQD|I-onYy6_*5%ya=h^LF66F)beK7L;O{P+d& z3&Uu-FnUfHJvWS|52NRW(euOT1!2_x|3zUmGBX}Ib%ez)J?E+Oo1YVlU+xHtMt?uT zqL=s})O6llBaCMGpA+n#Kf&U8oM7>*!|27opJ4HrtvkQ#xigZ&bVriE-E;EKGe=lF zfBZVPO8nY*fiQY$7`<#_{QCF}VKhS+z3Lx3!s55Y{bZAgUjM~oqaAvKl*t2f~A!P%pJ1w(drd<7IB2d%lOi=XMbtl zQTemobVsSe&&(S=a#;HjQ_dV=@e1+E$tG8Hghewu!p@(X{F%sK|HBa$uMw|(@(7F9 za)d>*I>OGMnmoeN{d(3B)-b~jt^W1r0Xv<1yXTW{JXNH<59}@SaO2kAS*Bf)huio( z2k*r47vE@$H^`M1Zy0ZsD}Vg{bmuwsqPb6=dWkTae?ZRlTFq$Wf<_)7MVKjE;=!-Wvc|JvRpFE!$cniJc z>!5#n?I8Zx$tCKhP%D8tfyfus#niyXbUmHdpbbfsIf8p&P z{^Q$6{QhmX`1<%e$rE%#{O$P0FnU`UEfPj=pA_E|e>Zu877e4t{`)8B2ad(+e2Npknd_{m7T@Jo`(#f81lqQ%%dXc<#9y3m)CQ#Ph||^?wro zEO{KZiSPDL+vuH+Lm&C-I6SA_S;yh&zw%Yw2dGSq?~Ct`e;q#%KN$ZejFt$aCBx`l zVYE~jb=Q?S`GbS;Bk`kWesC~aHjI}4Klld+OcBIC)2qeO<}!%?OG)c<;|+B9zB4F8LlsS{apr6sZ@vggX5$Qe{f zKFau=I?t`GaMhEKGVQzP`1ePd#MOzse>}?64WoX2<>$;dFI#imdSs5a7o;J=^!uQL~DlWJ;+V2cjg00{?qpb62(r% ztn(L-BSG7fk0Txr|M{5LNx6Q1L9)N3dIOn=*%hlE7?#G~$(M2AGj zFxotfwwRdcl;|8r1$ij>knoSZT~OkQMEB%Hx+R}fw)CX(($=0-ruR-UfBWy^MDN7Y z9z_y;5`7c>!f2~7`fwO+Jt@&YF(COUB2L@?`lCqV+2FFou(KZ;HjOzl;pSNtwhl{t zFk)<teozepjCS;1w_6f3q%bq# zecH1;aOxfD&w5X_F#2d19evif8IrGTC*~#Q|Jy6u(I>-br{q!iSFda*mLy*K<0$MF zMmwK%6uy=`3YRBdPpn8d{kw$G$HM62VYKU+qwwEe**^V3&!1ny{*UM0yQj{*C;sBx zOZOMATqizEe4ae_b|gMZ>`d%Re4O|s@o8dr; z+9!LCcgOn+}n5RmFvX82q(unOCl(Bmd{%`{%!#knm1?6A~xFX#dj( z-*1*HL(g+dCWYyD`+jKhk2A+!+WBdoOH53=AkDLhfnjve#I#6SG>kqIdeee`>ex%m zke2-6-?WU$V{foyFT>pAv3Kx49D8Y5({eiY(z2yxPs zWLlxL!lyp_<4>oV_m6qtp^0g?CEp@4`N1G(|3`1ec>3+O8=m^Fe|nGRw4!On{y4uT zhSBH${rpP1%ZjCyN-LdKCe0J^v0?OuFgh-bj{oP*ue92y&aVmoi|1Eb!?Y$oh%v2E zTI00)(;f(;lf&qgFzOLt+T^sRX?`I)twk7}9!BRRUnGzEJchcJnl?N6*6sDGKiIs* z$^Y%1Q|}#n>WxN|y*u;v?q}W#{`Y^jq_s)wki1;mv`5m~rL_;EGs5W1Fgh!Y&YpZu zEGTepJs%4&MeZKvPklN-ZLhH>KQ_31@|z|n-_O5#<4z~v<30I~r+@yhOFuHj9sq;Lz<<$TD{R0Z7sN>`hBl**7_4$+C zIsIARO_EQ=+q7z$e6RdU58mG{`KH9DJ|p?$+YWoz=)e2wnh!qg_hcJC-1g63f6d>0 zeYNtXYWi<~3V!Y1eR1Wc9U3=j?0td%^ySI#bo^!J$&UT`OaC_Q8XfO%-^Hg7JpAXc zzy9w+|NaR@$@f$L^WXT}+)sbd#lL>}>2Z!p8|%|2(w+~aFHJ~u=PgYRB%`iMXx!YlEIT%7dgh)=Dc)=FzkWza z+LE+a{_1M4y4q`DbVc%NE4wfF<5o;5KH}4p0nU7yLE7rHwaK#AgwZt<(%uN8CqG~J z@5)}EEPF$mgVa~P^)F>_@|&c8QTF>1*%n6EB@=m5A|`q2XiOX8332*kB9b>oO7YH(P6kT8bHvFv0&kc+foirndHgiY5G#1&O*fY; zQ>ajZ+itw!<^ngDDqN;O;advdRN#hNZYXirT_sB2QsS;c0$fN|@^URVQiMCXo7&Xp zz97i_YY=2fPe%NmEHUzP13no$%gx-z?c70e>d=k;Ol3MVnay10^CF8_!ctyg8OvG0 zN9^JgKI04avY&$-;wazq6DRofR9RWG`=5oWOH&5$0eNJ!v&%30 z9@LWk2;ZTe93ife!!>dYWmpj8G@G22s6sWw$?4iTUt|&bm{T8fm7xZ;Fo#_A(A!+= zc#92e41(PGxD|cMT?F~%9>{Y%kACGI9|U>MAxb8)kV+4p zGV;@cNqi6lDHn4)@=B?Solen{6g^3)&wVuFewy$I?UA3~oC#7Evx+sm!J9!4J0CrW zT}fuLQU`xO)|6(*AtqK#Eq(H={T43xPXg@atW7_5q*v8 zYg}LBoq3F|*pGOK{qSN=5Vs%kf!L4uv)GULXzXiz921#>p2ue~mjx{1CG07Tp!}w(S!KMs6YNWYLD+n-SI=HIsQHBjh{fRiE~Jgni6VCs41bQ z#3QIB(VZTsC*c|iJxz$4(9?vTrj@|`lji*~Mk$c)QmIpz;t4JZ01o_aX ze0DCM-sBs~Fyxx=IP%N)YYOha(ck=I7>k;% zU~sKEuT|%@=Q9s^T`R9^_4V3SK~O;51@a84`Zd~7wo#^HDdU?ItueYB!ROTM)b03XZi&@|B zKHD&h8w((Z8|8509TZ31H`=8eXX4(y(LNPabHPlgv7np^%Bf&`x?{El)mgANUvPx) z_?{nw;3oh5rf1NHo1R4xk8kp4CSc6 z43=PLZh3`eL2zqD>Y@*~>cg%2aO)ygvKsxkbzKk?x&|=|-Nx+{V+= z(hm6-5vxcidSR!EsHcc}iVS5KBN)Z2Y{#679N-%cafF}vnO|@&+^%1@--H})e}dlV z%k6r4yPn>@0DZXqHPn3jCU){IcH{Qrh*MO}MKh9#E6GLB?F}I?2qG)N#Qh^#Y z;$hnG2<_>JT8nl;PDT6jGy@pKVANey-9_zHQL`wj-eTvHn-Yj$tPb_DSH)bXSX1mn zu?Kkwy)E`6Pa%FWJuRk(#q2||=PzAyo=d~ zVtQ5VSPVQrMt9hgJL+-|>bgT+cc|-*`)NWm zoIQ6;#JukK%2VfyDTu#&r@r2)XLqXO&Q~zkJ6~rd>v@l@e87jO>&{(#!fx!+okvm6 zoj-7bUxT1{z&WH+lB&2~ak&zT>p#ffAO&_XD@cN_%A_FA_IC< zB0Fj5L5X6RX9;mj+)WL{E+KXau}kPf2|HAxEq11aohf0KB?j^gYA)gaC}FlGp2JK_ zEMWs1*~DhlUqbyQ)L%mVCDdO+{Uy|2;yb?QM~uesLVm<7EoSLE5x2CsrOQ)^s)${>5f7uz(odnr z(*1G2mmY!{mL7?kOOItdi&@GmEMqx#x%6t*vX1q*PfNQ`OY27&wU@aL_f?q=h*!qn zD`U=O%(QG)@{)?4l+}~6H&GP%mo14R%a%i5%BrDk6~rssfct4m3)EBAPL^#?M@Av% zva5Itd6l($Ww&78%I@S7+-qg`1VOorxr2s?S5Ay_eR-N^(Svde5wo0_< z_Og#7xPL1A8Uz*7kskS1yoe}jsF;o1TAW}OlBI3kWaCRZDGK1O7)k1s+uaT6 ziJiGyfA6*n)qQPsbFJQhu8d|PzNY$gX0niFEXRzhufmR1e}ngsb9Fgamvi+!=u>s` zss42k)R13|{1oO+>_Lsvl%p!usfF3p(8C&LQDYH$QA4~M$r!%|LCt`RFyET_5VNM3 zHH)FPn&Q?hO9jllrr0&_qcLVu)0}H|BcvC7cp9^*X&yDrqvi`tU@}vg!7S8V^Ak=4 zK`s5Qbt`pgN=wYWRvS9-D4lr>*Qhm&;f!Du`dUk0Yl&NHF7tVj*LfTFYArpjwGBP3 z^)b8A*IGyT&9^MCATwrHJ12QCuw4nc40j=>D;j%OkpaE*Go zNN_XyQLjAJX^5Eh#H=S~z21mhPuzNgc@}f4Cw9GQEaENRW)oYmr}flX&#dZwj9Jxl z&(>3Oy%VVKo^+hcd0a?@i@B7HWa3H+qW*h2GLlyj?_PiJ-WYdbM)y8QE6n5GM|g~$ z$p2pX-z)!n?e)FSV3zkzz)s(*hI?l-j~7wTy&v$MZ-L9PzTE0Zkym|r)z3n9^sjy% z@=}o}(C7N%)fc1wI`pN!e$@YjBZ%2R%m((S!9|GMAOmV`a1~-VNN^2>D9Rm_pbX`y zL=_s~K5OtKJ$MRrHc)2+^KUSOVdzuYS%Legp?)@8&nEP=p&e^zP7S~0YktIDH97~o(a78yUB>0uqehv@ zN=Z5}9P?^43q5G$I*ruc$UWLkFF}ue7v7?RE-gqc-Y&;S@Z@h%9{1gQDyXO6O z(v*HoM}O}BoP!+VD989U2p+hA2$x{r9+3Y7SE45m#K_0BT+hv@<$)sDzXux971wz{ zUJpFW2;}s@cqTCgIXo~Ed-1?8LC_?QcumA;q9;x6<{s4F#J$->%qC(sv8zq&Y7=pr zjA9ISwaGZq!g98hldff z#Upe>+!jw^XIl*98SHC|VN7B^Yk89myn|X>m{kjXYq5h}e99iw*g`K`{K9WR@L)R9 zW0nt^<%1V<85uFp2XCM%?NQHzFY`$dv^*Czv^2|>?zxuDX^H$>wxKg2z0jAI`qI)p z*HR5F?RHE3XgQH7*yomWP)o~&EM_}q^3XY4guEV-*F%@1e-GKOhwRrwcH*HFDxqHw zjYGVL#CS+g9$L?PsQ;m(h}lZaR_bjfZYyzHskPM=n0qU+Tcweon<<3(v?@}jhS z*o9X0unVo!-KrAkw#!Oyk6>G4ot>oIu{92h`t9RMLR?M)~ zhkPFd4`0b`xaPx8qIVC!#aBVlT0N~}6u`_{-^4B4L0KxGN3G4W_1&nUbt9V6f`@2J zdmhF7TC1V;QtVf2eQf*pMv0#?A(c1kMv_Y>-e059O5X) z_%#UHnNK^px08E2xwp%NzO>7XxwXs3wOo(AYgdRO6h+?cbzi`ibi?S~+4doyW22KQ(Cam-}_%h|v? zY{m|>|9~AhU)t}-%-Vm$VbtDU?d^Z$co1~BjO#F;4iBQ=9j38}mw6S}=wJsrtVJ(7 zyu~*5@Fn|jjSjBSL4P|q!#e6|N3lC*O;q0gWyrue6$oT8N?jkM(&RuK~Eml zlSlQW)45!X{5#p@PWGWwX4KG04V}^`zzy6)VQ%LRiX-<<-H~6XVaThKygHd(r^)DV zC;QN8HgowP2s&THHHg<)jLtQv#eF>}!{NsIN;2?xHkhsX%3_VwPRZ zvP*61(h+%fS&D0R`85b0i&2i|^kx$J@Ypgs;#+J~okhM^3{?7B|HytGpLDc+M}JZb(<>dTY*@#N?HfSBFI?5^JKmm+TWE6GAOa*&_v zFthH(QD^tkm|gcum|yq1X~e^*wYyrotF^mYyQ{VP5Y*XyB+oIH@hoO3df9y$%UQ{4 z*0PTE$i2JVyMG;cKLz9yR>Lep@j`zuG~e(<5cJ53Ui3&Mjcd4xqTERdN>K)V>YhT`#r5+#h5%TD%r#%Z(5Ak}6(NkY~ z_F^D%?l}iBdy3gp%{|5KDQ?dVsI}*2#P0bSUvLC7>uF{^PXs})blAOKcD9$D?PX@Y z)ZD8m>g-jL(x|alMXI1@y=qV!x%H|~dmg1TkI|JUk#Dc3=tDmSFo?m(y_ed19SVY{ z+#gTfidau|XB_77lwLe#&z{=Leh%PldCEQ4TkgHjMW1?KNQBJfAUAnQa18~xo=WIr zZ~65O=}B+wSZ_V;EwA3@)O!MxS%BT@{VMY5y^=Rs&qm&53rB;XkL&i)pFZ}WPZK)P z1wH8V3=LXU4HLOFtKH~KeuaDXH`Gnnk&X?@N-u5{d1bxrpYVJV4`gX%E z^qt0R>_cDI=(_~D_kD$B*tNdf_>i5rMqk(Hy9YDq`%4h?6T4q}F5qG=B_o;0iyrnX zLwWSFUsbA8i@My)eKe*C&5>Wf5WVha7y9+#X$GJ#{f6)?BN&BR`n`l)`yCI0r}gz| zXU5ab@U>67-=BUTJ@21^toWM#X5L?4`kQzEo4A$RD9W9b;4Z2m-~RILFW>&ooc<3W ze*YH8vHx^jr@!9yU&ia0RsVIERsXlKoBcn=T>2m37(eoJ5Dd`A0q1cc5%hAvE$GL9 zzNlls3oKwEt}(!T2JA%40b&jiYd|vAuR$;{9p*Cd0>m3=&j+e|V0Ln$?twAlq*09e zbYTqoIdChVu^0O^@BoL=$ANMm_(Kp3a*aV5xdPW1l#Lv?#-RKZM(jcQIjAIMsX%4y z!l3(j2>0+H^B&Zjewg(jvmWH$8Z?|y$ZOCGsDIEBmZIN-^kR^H4_e7;*77Fn(f2`e ze@0)Qxfb`^Gwl%X8GrAYkFYa?yJsEr>MUeks`!x72%1{n946Z~y)G)X) zO?Z%2wBZpv{tRBga^y8wUV}IA4*ENIJ3H9LCqXbooK!8P5OIe%4~A@F3-*1;9=^o9hWv;+hx`%*L+#p7a~o$rwGLJ5 zP_+(K>(KJ3b7)nnQ;WJhOk4DFXa^p}?hNfpH_UTrPoAO=lacFCyY#GUK3jkqbYcXH zk@vIa@$AR!M*hzp;283M_Gf+#f??@6m-DzBvm2I;oa99X#mHfdQas}Xawn4{G@x-jC7zLS!aq71dLtD~D@2S&G|4Q4d@QS9sJ$1$tX zY94J)qv!D=i&=_UjaKLAm8@YM>-mJw_#C|){S{yH4Tm_wF@C^2pSudVK35Ode9m4x zx0ZcDFve`hB#`%*%2cBU@*i^_&5{3@hiOZDI?{<=^kV?eV18rNGUhqVZ_LZ=BzYaV zjgi}!qv+?DpZPTid|B}PWn4~f;^gC6uIE;6qbPS^cF#Y^7?z=q=eO_$dvT5De+h!I z84z=V>KSK7;*SIB^%{cuVx11I1 z3xe_4(dY5vjTd8lQ}kuLevE&D!H79t%<+>Ecf7dc=c3l}?$PmLk6+81Y-I;K`Gn6g zqw)JWfE}1%|0d)l5ALf8>YSj?3FbfHdJ3Xv6AE)X>YGr5TGT-=C)B4Q_tOM9Pk4}r z=*u*m6%!5y!NiOd;$9wOG;*H!I%Y9Z?i1JXE*~QIi63J|6Zh~1UvZ4%*fnDeCY^^` zCPgv7N!MT=lkP!olNuwpN%EQ`uSu=Z*GW&(iy@3+3@C8fZC(Y+YJ_>@#;!n26 zlhrY~6#6h(A114RavORe=H!74#;#7D$Yk_lvOSnA=43OQY(FQfd-5i}WFKZT`CE>l z&dKiA$!eXf)+uV8axUj%Zd1%{N?u}^-4wH%k{|g^xdHQ=Vt!NPI^{NM(-D22@+zMM z!BoAQ>hDc0huKY)`&7A4mHX6Z8IGPzmHX70%t1e<%6;l$-ltB*D9>Y+ltwFqLVoW=To=nq=>GGYP1u>_KIo+;K7k9e2 z({H6Pw^NKtRK<=?H~ZnVR~mCr!P-4fM>7|)19Z&M=%OCPk$TpnQ;O7HKR1u zG5;C&;2JaR*^CEhN^?38qNg+Z;2JYrW5yuHV8>>NJ!2j(@)9qzjOD0*hWclG%Mp(8 zBR}(N5X?+RdgL@S!X?;;nW-d@=S=%BQ-5aKhnWS@`~19rgnVYc#_k}P zCEhH5Z&n5LZB}peW!6xJGm`PlU^a8H&$H~rti`Bfmif(k3w@iliTC*c^~`c#&-y6{ zX6HbTv*kD2{AS-oVdOR2{AS-t74GIf^mTR%9-=j7IJ+~C@dWPY+47jZ1wERhH*+!) z!~HSmdWupNG3SUm$GqltJv2Ue+U941`G9J;rU!hMzWEUJftB1h4No`4TX^Z zLOZ;$BxR|99xk+h3)}GwuCq{H3#T#zIW2Utg-bA_g>qQ<8fLR71Mb^J;w=(m(f#Pj zBE4Aj7y}V=k(i4nAnqb@7unlIbC}PItYi%v*~CtEvxhISql*r5h$BI;I31Uw#>Hw} zoR4d{o`T#$VQ%LRN>H16+)D!*BHzXCwZ&$*_(57>Ul*I>V!1C?`{H+T%_Uc%e@hx+ z=a#&HUM!LKl69=-ZS32UkCFcp`7e?Gl6|OQi5iw1=eHnu=^V}@!X;$ja^(I}b>#O_ zGvxJ>yk2U|3XjB1FvRLrI3vsArH#a*h_rH|k~ zUn=&}r|8RYp5uAOF_~%1L{FBgd+D3(;#1VQRGmxJx%2?va)e|2$j?FWvie@m#FeWO&S0Kp1fwylW$Iiukts|^-Xp$DS_J&t+S9pKZu{nY@?n;&>3e zmX%_-=4*QU+6*>gzRRP?d-;v%!}3DNe|bqNBLC&`Uw$_=sKx!*yX7r;n09oeGml|r z%U@v~@>~86n~~dcxh>zx#~kDkzXZYSdi(kXM7V@2$V@iu*6Vib^|Ex~IVNFNuj|L_ zYjKU&)%^N5i21shE6zdO72>YAn9H~vu~(#U1En#i6>42k1$C~diCL|(^J!N_Tq-mMzT zc;v8ZG8_3V2v)m4R*SbZzsn~a2!b{0T%*o4>RhAFHR@cGflORQR?L4*Zq&ENey-8SHMdiY;@m|U z%yEsJ*Hoq|t&r!Md2Hrb5UkD4o!o~xu9frJNlZoVYiF^D*O2?#RoJh!>v#(_tliEo zK4lMI@ilgD?V%ueL+)?ffc)MlMOi8!uQ&Ab4ZHP*8NE>-dA!kw>FhwfH^f+XF6VJ6 za$aY~>%?3q=DL!IyH4D7m8inq)Zl)a(weqBK@WQ2I_m~7h#}aAbraE_b!%A1dN%Sd z@3D;!anG(Zvvr^G1IIbRuR&n6!JG1Z^L#GE9N#p@H|^`28Ik*&YJc+)T=UJB(7(6L z{;fQi$6I>wmb~9;!9zTZeS7Ok z2-eGQy}Z`TYkdYXk&PVWCND8cqj&4aBi?#3)|>l!b6@{HyZH_=H;B1Gy&Iy4yTRGA z!F|3VGg(O^KZP;34eH!b5_8*79<$p}g$A@ltsB(3L9H9qxpN3a;^v{e5Q-V!k8hJ3k=qJK}D#cbn340b*~; zLMrOqq|Qz1+@#J;>fB^bn<`P2>eQkx>f7Z0+N6)0I`Al6c$_CN%S~pv$$ht}H{m+A7>jjv{)*C5|ytc|~ zYYE&#TPsqTYErX+j&CIu{e_LL}+$QEW^==b)o4DK5x~(Lo zDNAkYaW5@+m^QSd6J6+vzHC$bw&$3~i>P&*TDQH*a?EPm8rI=V*|rfiZgYQa+si)e z>b7q<%u$ZFEy#pb3d3!$wFoa=@WHd|o5cl17`E8fq_Cv^RyWF<_j9vTiV)XXI9HbB@AJ<~9 zKGf$AZ$qCyEJia%@iME}gnoQzULPJr%{wkZ%pGFxxEgVHh`S>{*I|A;#NJVosx+ZF zYTfZL>fF(uN9jUWo}>rr+hJZip63O|Gl{88XC`x)#{%9#ULR$|H9xAu6HH(QcJ`wa zL9p{YF2p=`%75oo61g?AT6u?A#XwyRuUh@pg%^t10@jOFwqWdDmdX+$H9&$%wm4++A}~>#jwJ zy=yJ@Yu8qGu#-$u_UZlT=cn@ev<>a(NGIg+=|tY=7~<^~ zV|Om}Ww(Cpmha zKU>GaAlT!6*mDC_k@p_G*wdNEk^i3FJcIoA3}+N$7|S?jW9RnRxjiqj47Kc8g&FSI z9R#1J$8|oJ+vi!yj(&cgLYy=TQG~Ko;cjYDhx=$u6PjUmpATU*_TY1Me11F#zPN|B^F@@>OVlE4K zlMQTS6Pq!^FShX^AF&H_{Ngj@`ei!Q{$(lD^5xUa$KU(XF7LgZ>yi83+cCGj#j$gH ztD`4-^<=O7_sV~-{P#XYTiWv|kJAma-rJL@=+)kL`G6hBYp=Za?qxrExc6HQ2fN66328nEh81Q2$pe5%ViCzuJnpUy1wGC+tS8Uww)D=&K)sU|)JNas`=j zjeR-Mi+w5FKtXP%5VxWJed^z*{(ZIRz!2u4@B8Gu?>N5&!Txl(#{P?latW7_gM3_z zzV3I8{jRb9R_>x2V(+iRJv5{-O)#JR9qGYHp2JS;AI~K8b^i?91N-H)|3wzFo{en6 zPV9e=ZPCl2Vz0X;dO zCkO1rf$G$xHg!?M0ef-aL0a<&`gWiTU3rp_7g)(V$nU^bwj;L#W_Unu2jq4jdHwH$ z;NZDL(AR?*$V4{G@Sxle<|T$a4!Xv{@#xLLCA@`s9aPW3-F%0b--!9mg^2r&xZkMr zn=7y%-()3?Tc|)~%<7vOxW+g2Q0F)1_09b>r3FvWogVa}H~r|(K%QYJ!x+IrwjiHx zvrrWAzV-LMbh#i0b(V0MQJqLxE; z`;ZwO>V*6b$?MP{?DZiz9U6n#9GZX~J0yogW^_2O4Feu@BE=4zKV!D_MgX9ex`-d)Uq%{uK2dR`21X=+EJwQ1=ltI}+hy zE~7GPI&v>&a^yZ9q8;)&(wWCGlOs>j7j+*Q$a6f8nvbaY$VYs|eh%<$5FE|NtrVsR z#Zc=}wH_7ks97Bq^XPEYdUPb}Jvx;rkQ(76d<3MPGhs zN=qK5Egk91<2-?x{m`HBOk+Op@&P{t!H<_9uOF}H25#ggilf#aE8$u{R;L#CVHQ7{ z#gEN#?H^lVr+(bP@gVpq#_inAJv5*Z_tTz7=|WeYq!i|JyaMt)F5lzwJzfX79&bhq9zy?q7VGCr$v`IL^m9+l<7fT) zc@WPsg3*lOCD!r|^8NWew(=R~^z(iWa)e|2h<==K?w&ZG3yF}KYbbykPTa(;+(uE< zbD|`rG2;{WqVFg4{e)Uh==+J5nE8pew5KCI=tXb(1;H<_`-}R1xg7V>FRuH`P{uKV zNlXobU-k4?J^fWKzZT>c=CO?B*vVg42kD}Z)0d|iz%xO*i!b6TvXG6OjA9DYn8EBI z-6e5u;uZ=~gvG4l19q^BPuatl?Bf96a)e_+x=SNm!ewM66Rv-$>tC83*S|Cmd5KYi zM)YDT>p2vpyX*?&b6IuT&>8hz){XA;V<^KJ$#Xo<3yfzDFQSIamhu`a(5K7R@>!5B z!+BgzX0noltC3fR1oe8D&T9Hh&5DH(8$jQX7M zHpI**X2!~hn^D}1b-0HHh@G)DYR)*AXBok0)R}P{6PdzvW-%A_WqgA-(aVf)vxzOd z&o(~fBg`}7@gUvh^18eju6cP+X0Q>n%@ie#8@ZW6$Ujp_DpG}N)IeV{sUcGn^deI$ z%q~+0I`J4?QA4I>yu~|g<~_C}uS_5FDc^F0--2{koXIDN6;+=}L88sm?2F zQ;+)S*_C$S%BHCA$|rb|5WT#zH+^}U0X)MH%=60mY~pB;?y4)%*Q><4%HO-nY_D30 zUR<@8{TxJ3uKF=ZmpL8s&n*AU^3QBenJ+6k21TDGRq_L27U?BWzpv>;$;ydi@s#h?=01kbC!09nMKSjYR=LR zakC6YtyxAOc9v<(UVXEV2KFSCs0ti*knO%2($@Bus6#bC)RgZgV!o#$sJ&z*)T#wU@?hIro!x@EI za@pftlW?6}tB`N5BmBT|P6X+4rz1TVa1mL^$u-=Fy~?e>x$RW$5|~+TGs~^Nx$RPJ zz05roy~(X7xp#30*U7E+JZ68{R;YhK-gLA=Oj z%5IoL*5C@Wg&Jf?^0f4 z1@5D~Yk8mD*sHu>^9_gj5&g_7@05UZ$WH^rPSKZ?VN7ENYDsyWEr^*SX3Cd{n<8$C z8dHv9PgBH>UBDIO!?_uAZpO?hrp}l;W4Ch$CD5~2S=1L(U#u|?&=kFlwWJlTd4%?u zXKX0{PYd@Q*LA)34gB}5tkbeAn_8A0M8(B$rlKJ>G)H81oTp*s!c8jTfK*f<1r;3N zz>OvjNF@~qE}V(&-Dw{!+q?UD?)$zTkLPv$amoAhdXF!ET!XEg#|?(nLcK6Q7iPC% zZZ*s-!j5r*)11Zcl(0{bKTQ5G`NJ;Yy9xUv6x0v60zK5fjvKfM{nU43^&dmV`m)s@ zhFtaKsy~5b%&-15QYpd>*Ei>I^}^K%564`>%_BUPM^Q6e&G2U#g1X_O&}+EwGhFTP zS-92kT$WM5N_;Qj8`y+<2zLYF$N7Md@tub2GhCnH_8)$UA273U-);Dxp`d~O8r;Hd zxX}h?+2C&Or5<54pb?FE2>mz6z?%(T!`>U##%>$-4VHz_@XFf~FXF01_jUF1h zMkT1%NR3AC^C4g2RwJ%P z%?LFk?n2!NbtCL3q9J;XXi9q?rU$*SuL$2{L_Y@dZ$>g1Jw_}b7rjR4HDU#Y=rdvi zo7lo3j&Kb5B2IFKbGYk>H+Y+Okv-z~P|)~JI^fO5?!56vPT_`|T!-9E+*Xqow5Ba_ zbVL3o?yX60o}e%N8A2kX8OKEQ(qt;rDPTX|X(C$_*_yn`dzfdFPjF{Veh39k1O9=z zHmyz#%(rPR?&coMxM^2XP`l|mc3>7w&7!G$YWe}+p=L8Rn_Y>z&D3pnBRAuBYBRN) z*;lg|?7dk#V(H8S*jqEbH?yy1_SI|vX4h;f>oLD(_R-8fntjF3{KBu8cXMwxznW_> z-{yCqhvxODk9jw5PBbl%q4|A0h_{=2ySceHpGgi2aU0E-aF+Km!{#4jhLN>VGqMp8 zG{Fud)r{0zWCzSHQr*Z$P&=|ePx1`UF`SW%VI0#*V+QFIv6J1r%09dw`3=5{NWDk? z!QY`E%G{&$AEo!G8?etPxuWzOrPrwYiATRtaz*vQe4_^ArlMY88s3jGgQ(eLkcBx! ztzZ>vSdVN`n<+)EsH0SJ65mFY`-^gaQRWu)Ip6X^eMGmz-9&f7-l7xe&mf*cKhe)Kl(9@^3T7MaJB*%%-lDTv%4*iJ zflX{-D`p;jkQ1EdHL7@nx3Gukuer!2en4;0dW)&XJ-EG?`sgF3G0ljg1+8%_G43Qr zFEPG@me25Hk$Bi5ZRih_R!XN%$UP>?+2tV(cnLKQVL3V+qSx9tv9YM!gp9 zt;Mqp2?Z^0MXr`%gyVi&zRQ>Br{x9gs+GC4GKW^%DPdckS+skI zZlR#PpKo8C8*wM?Z($#H)BY6ht^K)B&>@4xm_Y}-?U2t#irB=NFKi14+r(@r-IV?i2vCCM_O5AR2Df)^v>sYgn zHS1WjiG7_nc?bQ)eu$mN{ue#QUc#eQSTxPeah(Gm0N)P)BbfZ22!#aIeh z$1ch_#%r7p1^!2t!Tr~BD|b+vI@BeCrbJ>d_q*Tw+wcs9d>9Ji^dDD~ySRsj*kzo2 zaUHO`xQ9ugKZ6*~R8pCNdybn+7V}v^F77jKGiDdJ4fBgLzc}-YbC+>?i93iH#+hN9 zp5pAPv$=J)kIs#;gU(%fn#p*tv!CzmXFI#+&UW4TBRZ-rz$nqW;5wgo3W_s;geQ>ZPk* zy4ImCVKl)0y0*rBb+yN?=GfKu*wsF}K13q2boEZx&-s>LLqWI8s76ihB?dF<)|U2k zBo4RQO`UGt=)qICD}R$d=r#m5(#;#)Ml+5iCNPO?R&q8JJaQ8F=?`8MB?7mkQ zo@6MqFz;TOq2N*3AC>vhaU`=k6eO5;g5DC$GQod8L2n6qOYrX!^p>Efgnyx@1oKQ# zH{od}A$!6)^qBA-UvUBZO!%Ik_$3rPb~Cl{#$)X;$KH)-g{-|F!oGUDuilT+np6k~B;y(co6sZ3`LX4Bidk9+HJGkM(4KAyui&LB&lTIj8h`h5nXmp*Q}k6Z5J zoj&UKQNNG+ebn!xejoMww(PJNP_4%Iv)%}&4s#!1?gPwyfISZ|;{mDI>43Go!hTNh25<8&A0YpLZ}@>fLxKPGSupT& zuETdb@SilnEe(8_r*JO=({OVGH=x&nr%`j@r+mTJ=wqNh2L8q$nA0G08gvC$;@cb) ziMoRZGmT857R%NUk$3Ns&m3wI;ia5aa^He9yhZhm+tI`aVLGyG|in1Ou5i#dT> z!_RV#*Le#w8gV1Cj;Ko*4TwPBBbp=c2;a{LSx5BZG5WBO0`x!P0A@VmBA0L@BYqAA ziDsQ>kBR1+XugRxxed3H7>+&?^^y1xW{}vAnasr=6U*^!B${vHJGlQu?j=^CGjDgPR{c4>v!05sO*Ia?ESAzDAd^m;D^#2*)wU(Pyy#(e^)DzR|yjf-&|z zrY-S2&otJepD~rlKGqJ$%01TojcrLA%yz7s7_0xWgBZ$iCNha+Qn1glv&rBkoCt+(pvu)IxtrZZ65(lX^3d!PryM zFcQ&Uk~t^YTT&X{O+L;p*D5!^Ao~oKm<*R#GEFyqAk66jK_I` zz6`(~Cp?XQCp^bchNI^RbJ5#`Q`pnQny59=zn$pTCa%ZbPqfpCb~*8X|HdvS%INRa z29vJh8m{98YG8kp?m^y3@=lU>lD;SDds0hU(~k+vAcL34W+Co+(sEW|?~~SYIus-a zm_xF9$!a8bo@r` zzTj&vqW5IIC+mH(o+me?3s2!@Cd)f{3p*%f7keq^0B&WnHzvQ2?_{z!CV$SCcw_P} zp&+FiYNwcI$_>~@%5B_~~5%>Jv!^IuVDNOi93AraXaN zPcfq@BN@#&>}pCHc`T)Xm8@nR8`(@T+cD26mDtmiGsrxp3cH%}7V=N=?M?ZRkI}=_ z06C|2=2_gtRQ0C%xvBOz&F_e5&1lVi=wVt%9^z3RLl4vRFs(2B8A2lZn5K_u6Pe6Z zrlXH(`;l|nIbP>YWSjN@vQ3k1n)j!NxC;B8em!P8-L9wG^>j0yUWa>m7;j9^XD#M2 z{V;BK`dQxR5^AQZnd*j8)lF45)eWWUGqonS5{CVx>M^w&J5hLh!wt=NoIyO# zFx=0K(YT)(N%#(Cq%)T+WSt@F3|VKWKSRbD@9+f|_?GYZncw)6zeB;y>eRygX4>;i zS!PBMMGIQf7IU0Am|WDJsppxe_=r!?=geP2!7MwOrRFR(XQ?$ytyxWp#9n6E%PjR~ zJ%D?f)s^n(dsYJap7jJH$Y28%cq6?U_MLtkcTk&qsYe)gpYDzHPISf_=?~KlZ>0C* zdDKoH$rxT>5-Ch2i!E%U1ihx0;V#qloPH3yOaB1(nf@teoc=WzG3Ru1n0*=Y&i)72 zQk@&Q3%_4x%RIY2?U8ZzBlN@!W)EN}a?X}>ww$wNo1Ka~o$XF%%Q<@~`K(|Sa?f^$ zvyX6`lbqokuk#k~BKvIFXa9^_nEeNTg@QSL56rooE0KH7HC)dP)SxMH&T)rx+}oU2 zcrO&p4baovSo$* zC{v%AHBmb=j3`>shIY8EOt+Q!0N%=UtC@Ptw2#dBEFc$sW!g=q-DK)5Q#WY03wEccb=zOwX?^$up7 z^#O9fR10}tdXgCwahi*vVBYn}J};V-_Bu< za+deGgqr@(k%MeI%2qd9-Rv8aLtRJQ$O+fTOr zWZO@+4B5+BkDX+1!|$o=o$SVbvX7(x>@$4Icl^jN{2mH&WXq|EJUPCfoZ9$(l+&Cj zTF?r6$T9bv{tV(N24e>~zU`buMl+5V$lxVp&dFgRc`QZl9JzCR3puMX$DD)M$AT+q zfSX;Q_XUg4(*nC&V6F>(weT+Pp)SpcLH>npiRFIcc>wcX zIEw`=W*G&z_k}Vobngq@=t8qxXqF34aTZw?zJXmY{D}YX8DE5gMKy>+?L~IDXcC#2 z#UlMLT7&&8Qge}-i%y{KB6Sz}ZWg`8yQsbBLMX`9W3GMV)~6wj(O0hBa=yhf1X+9{TT`t*TGH}55d1(Z2pV& zviPS^u;gZH&~sE9h;hx=Z(Ski#5BPfP#9 zC4S&%e!~p>zpw<$F6TyWq9(U-C$-W4vU}0@GQBMugIO)}<}&xW>>WPjV?O08{>w$& zz%p;-+j;)=cq89j^KZc$`DU6QiQ4&QntvZ=nIA_y5AZnlpFf$Yq%s5Z%%4jZW|5!6 zCbl43ehE7%V-IGLZ@&4jah^AkJ^wvq&cA@X`QL|vg6h=5jTY#=K+Xa=3u2J9pbcGc zuLWJ{j@cAE#WT3i0ykBVgp36;7R<-o3UXOOJ}a=pg0*a5FLqa8cLfz3;W#Iez2GcW zypH?@KZb(kH8H#8eVM{)?0os>p_qEM(Ar*cY5&{eK4a{1JL6t zyIPfunXQ`6i_Ai{RkE#;ZB+p)SS8B_k=RLLOX7HfehlPEp202(hcbduj3tS=Wa0h`vspkcc2u|w`3vPQ zEMyI`7Jd{8R#zh&Gg>_wy{_JYd9U^jto{`zrrHEw^+Dr8!-9&=q|rfUx4*4LatmNl>Q9)7>9`2_d0=JQan z_D1eU?X|<1h@Gu9i?#Y+YhP<$LCv*luB}Afwd$@t&zsoUTD8~ym+wQtx|-a^o!rGe z)T2HPh(J&49^hdfp(hFS#=h1K=6QyZ$S6{nMjGa@PT%Xcu#FOSBHOyRk!Rfpe9V{p z#4r5LpP^vAJ*+qP^>qnDuJv-Qw}bWWXuUgH--@=h$M?Kmw)K7Z7w&4koa_J1Q@E}5 zZfpGzWL}@nIx4vk3O3Y0y$ybD!z30{%03QI!4b@L!&|(I{2S!oU{@PH=LdepJ#F|q z6l}bLtI*5F>+lV1?1p?B<=SYc8=pm{jpny;EJ;j2hK+^T;YPFBs9up8MRjnCMU9ZR z$bO2{EK;*bzeVa6sas?>MfxnVnXT1hkU|k=;h^$T;lssu;oVN-O>@+w#c?cwksmvf9wTty#yc;!( z%dw;4!yH48#d<70%U4|BTl7`zwu^t|_fW9a_pR(UcG%~R+Q_uS>~=JyF-?(S$G@1% zCe+)Z#*Xv&rgnUYyd@#jEK##Wza{FHs9WOODbZ)iKT*4+1@~hYB@fY!Uf4;An=J8G z$@7dspCtvXWHsy1TghgM(O-!?CGMr;dwLFskKTWZ#& zGM6@?E$!(@96d>(H%~Aa`AXeP=?KPQccp3ANohI@k+W3JQaMZAQE4f=@NJjw!wgF+ zIEt*L=2-eM?yB@NzU04rgZ!oPm;S^rq2QHUh(VrLCSgXe973- z9%BH{GK66yGMceWV+Qi?wCkPo$YBv~YiAj6;&%LP=3u8>JHO*c{=htU+5fI9xRPc( zNh<2?Qe#&UX0ppHb{*t()ZC@!uCKU&y1Vqc%dU3W)h@MnU(4;>MIGuAP9vJ&t=+z( z-Gg|F!933}^tfA(yY;v`iI>R6j&{rBZ#xIO&2RS#HsGdqm#`B(@7_x}Cpp78Oxoi_Jvz6_XB7fO#d=F(mg@RY_q#gfeChqgqV|)<`_Ee)fHK>Um_L%b? z`S-}brzw%Rxjij$TYDZv{yp7E;BkDrd-^d2bKSF^Etu&ZGuhkAt3fEKi-E$wkb{#JBQZtmsgUap7o!MK_7skoVPxy$7) zm%ChUe-}C^m%BWdCFHXM^DCFPT;6gsEHCFEhmpVhIP#aD<}9-Bmvw(6-rxTMYVG%L z_xrtY;945-06p<<4#;>w#slViU??LP#aNPEt^@D!6_+r( z13&XyC^%@J2e05Nu11D~F+9sG)H|rg!D8IZLA@T7_uxCIc~H%R-=OY6br1fE-#Z8Y z4h4tQK6E2@(TFBACz_VD!FP4&A-eJiJ<<0e_jO3$hx#%SdpK0YNxlvR74lZpxP)#a{Mvh$9?F zmI}MAc#Z#Mvfm1Gs4#~L^Q|!73bQy|jq21u=EJvfC$*9DaATSh$$dPCc^sDYa4-7t zJi{2lC{mb)dp&Ibhcj5rQVLkXX8gW5T!Eb(uH+PFsp1XZ#vTuU$dCMj+=u^{`>#-N z#14w_e zW-jjbXg=~EEo41Kyi74>e)L=Z3H#`afQsdr|Yan#Wt9?s0XG$8taMsD1o#^m%*?aNrG6{*TdCj58*%%UZm6;jbqOP!804#zuTtNY z`mNM&WlwxtmH*~x2IH~ykONFGZmU?tu;yN->Nu?O=yyPt!Y*;yIRy5X~x z*w@+LL&0ki=eN7ns#@HQT~*a1jAocgl|5BGfbYG^?NrHHC2Li0 zh9F~={Z!dcRSL3JWwL-=?50ZADs!tcx2g?n;$?PXZdIo^&zro%`^a4N1z&Liw|+jr eeVwlp`oI5i#by8Rzc%>d|NYnh|DS{NUH%U+*mYU} diff --git a/Bitkit/Services/LightningService.swift b/Bitkit/Services/LightningService.swift index cb73d6142..3b985056e 100644 --- a/Bitkit/Services/LightningService.swift +++ b/Bitkit/Services/LightningService.swift @@ -97,10 +97,20 @@ class LightningService { Logger.info("Node stopped") } - func wipeStorage() async throws { - Logger.warn("Wiping on chain wallet...") - try FileManager.default.removeItem(at: Env.ldkStorage(walletIndex: currentWalletIndex)) - Logger.info("On chain wallet wiped") + func wipeStorage(walletIndex: Int) async throws { + guard node == nil else { + throw AppError(serviceError: .nodeStillRunning) + } + + let directory = Env.ldkStorage(walletIndex: walletIndex) + guard FileManager.default.fileExists(atPath: directory.path) else { + Logger.warn("No directory found to wipe: \(directory.path)") + return + } + + Logger.warn("Wiping on lighting wallet...") + try FileManager.default.removeItem(at: directory) + Logger.info("Lightning wallet wiped") } private func connectToTrustedPeers() async throws { diff --git a/Bitkit/Services/OnChainService.swift b/Bitkit/Services/OnChainService.swift index 330a30f64..c5a82173d 100644 --- a/Bitkit/Services/OnChainService.swift +++ b/Bitkit/Services/OnChainService.swift @@ -85,9 +85,19 @@ class OnChainService { Logger.info("On chain wallet stopped") } - func wipeStorage() async throws { + func wipeStorage(walletIndex: Int) async throws { + guard wallet == nil else { + throw AppError(serviceError: .onchainWalletStillRunning) + } + + let directory = Env.bdkStorage(walletIndex: walletIndex) + guard FileManager.default.fileExists(atPath: directory.path) else { + Logger.warn("No directory found to wipe: \(directory.path)") + return + } + Logger.warn("Wiping on chain wallet...") - try FileManager.default.removeItem(at: Env.bdkStorage(walletIndex: currentWalletIndex)) + try FileManager.default.removeItem(at: directory) Logger.info("On chain wallet wiped") } diff --git a/Bitkit/Utilities/Errors.swift b/Bitkit/Utilities/Errors.swift index 7ffc45165..92edec0b0 100644 --- a/Bitkit/Utilities/Errors.swift +++ b/Bitkit/Utilities/Errors.swift @@ -15,6 +15,8 @@ enum CustomServiceError: Error { case ldkNodeSqliteAlreadyExists case ldkToLdkNodeMigration case mnemonicNotFound + case nodeStillRunning + case onchainWalletStillRunning } enum KeychainError: Error { @@ -77,6 +79,12 @@ struct AppError: LocalizedError { case .mnemonicNotFound: message = "Mnemonic not found" debugMessage = nil + case .nodeStillRunning: + message = "Node is still running" + debugMessage = nil + case .onchainWalletStillRunning: + message = "Onchain wallet is still running" + debugMessage = nil } Logger.error("\(message) [\(debugMessage ?? "")]", context: "service error") diff --git a/Bitkit/ViewModels/LightningViewModel.swift b/Bitkit/ViewModels/LightningViewModel.swift index 169e11d62..f171e0625 100644 --- a/Bitkit/ViewModels/LightningViewModel.swift +++ b/Bitkit/ViewModels/LightningViewModel.swift @@ -45,7 +45,7 @@ class LightningViewModel: ObservableObject { func wipeWallet() async throws { try await stop() - try await LightningService.shared.wipeStorage() + try await LightningService.shared.wipeStorage(walletIndex: 0) } func sync() async throws { diff --git a/Bitkit/ViewModels/OnChainViewModel.swift b/Bitkit/ViewModels/OnChainViewModel.swift index 6833411a0..0a8177172 100644 --- a/Bitkit/ViewModels/OnChainViewModel.swift +++ b/Bitkit/ViewModels/OnChainViewModel.swift @@ -34,7 +34,7 @@ class OnChainViewModel: ObservableObject { func wipeWallet() async throws { try stop() - try await OnChainService.shared.wipeStorage() + try await OnChainService.shared.wipeStorage(walletIndex: 0) } func newReceiveAddress() async throws { diff --git a/BitkitTests/LdkMigration.swift b/BitkitTests/LdkMigration.swift index 8ff6e384b..104d6802b 100644 --- a/BitkitTests/LdkMigration.swift +++ b/BitkitTests/LdkMigration.swift @@ -8,8 +8,10 @@ import XCTest final class LdkMigrationTests: XCTestCase { + let walletIndex = 0 + override func setUpWithError() throws { - try? FileManager.default.removeItem(at: Env.appStorageUrl) //Removes 'unit-test' directory + } override func tearDownWithError() throws { @@ -17,6 +19,9 @@ final class LdkMigrationTests: XCTestCase { } func testLdkToLdkNode() async throws { + try Keychain.wipeEntireKeychain() + try await LightningService.shared.wipeStorage(walletIndex: walletIndex) + guard let seedFile = Bundle(for: type(of: self)).url(forResource: "seed", withExtension: "bin") else { XCTFail("Missing file: seed.bin") return @@ -32,6 +37,10 @@ final class LdkMigrationTests: XCTestCase { return } + let testMnemonic = "pool curve feature leader elite dilemma exile toast smile couch crane public" + + try Keychain.saveString(key: .bip39Mnemonic(index: 0), str: testMnemonic) + try MigrationsService.shared.ldkToLdkNode( walletIndex: 0, seed: try Data(contentsOf: seedFile), @@ -42,7 +51,7 @@ final class LdkMigrationTests: XCTestCase { ) //TODO restore first from words - try await LightningService.shared.setup(walletIndex: 0) + try await LightningService.shared.setup(walletIndex: walletIndex) try await LightningService.shared.start() XCTAssertEqual(LightningService.shared.nodeId, "02cd08b7b375e4263849121f9f0ffb2732a0b88d0fb74487575ac539b374f45a55") @@ -54,7 +63,7 @@ final class LdkMigrationTests: XCTestCase { } func dumpLdkLogs() { - let dir = Env.ldkStorage + let dir = Env.ldkStorage(walletIndex: walletIndex) let fileURL = dir.appendingPathComponent("ldk_node_latest.log") guard let text = try? String(contentsOf: fileURL, encoding: .utf8) else { @@ -67,11 +76,4 @@ final class LdkMigrationTests: XCTestCase { } print("*****END LOG******") } - - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } }