From 1b15ba7c31e03eac8f7196a4b934e6381b74a674 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Fri, 31 Jul 2020 19:49:12 +0900 Subject: [PATCH] Initial commit --- .gitignore | 6 + LICENSE | 21 + README.md | 36 ++ assets/TrayTemplate@2x.png | Bin 0 -> 5985 bytes assets/icon.png | Bin 0 -> 15354 bytes azure-pipelines-template.yml | 34 ++ azure-pipelines.yml | 30 ++ build/icon.icns | Bin 0 -> 144235 bytes build/icon.ico | Bin 0 -> 111493 bytes lib/app-menu.js | 36 ++ lib/app.js | 82 ++++ lib/broadcast.js | 104 ++++ lib/clipboard-sync.js | 69 +++ lib/log.js | 5 + lib/main.js | 4 + lib/settings-ui.js | 144 ++++++ lib/settings.js | 67 +++ lib/text.js | 8 + lib/tray.js | 39 ++ package-lock.json | 923 +++++++++++++++++++++++++++++++++++ package.json | 38 ++ text/en_US.json | 21 + 22 files changed, 1667 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/TrayTemplate@2x.png create mode 100644 assets/icon.png create mode 100644 azure-pipelines-template.yml create mode 100644 azure-pipelines.yml create mode 100644 build/icon.icns create mode 100644 build/icon.ico create mode 100644 lib/app-menu.js create mode 100644 lib/app.js create mode 100644 lib/broadcast.js create mode 100644 lib/clipboard-sync.js create mode 100644 lib/log.js create mode 100644 lib/main.js create mode 100644 lib/settings-ui.js create mode 100644 lib/settings.js create mode 100644 lib/text.js create mode 100644 lib/tray.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 text/en_US.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b892350 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.swp +*.zip + +npm-debug.log +/node_modules/ +/out/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7c9994c --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Cheng Zhao + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..cff2bde --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +# CrossClip + +Sync clipboard's content across macOS/Linux/Windows. + +Written in Node.js, with native UI powered by [the Yue library](https://github.com/yue/yue). + +## How to use + +* Download the software from [Releases page](https://github.com/yue/crossclip/releases). +* Run it, you will be asked to fill some information on first run, you should + at least change "key" to a unique string. +* Run the software on your other computers, and make sure the port/channel/key + are same. + + + +## Notes + +* Only plain text are synchronized, there is currently no plan to implement file + copy/paste. +* The network part is implemented by broadcasting messages, so large text in + clipboard would fail to be sent. There is plan to rewrite the network code + with a proper P2P library to support sending large text. + +## Contributions + +I do not plan to spend too much time maintaining this project, so if you want to +add a major new feature, I would suggest forking this project instead of sending +a pull request, and I would be very happy to add a link to your fork here. + +Bug reports and fixes would still be very much appreciated. + +## Icon + +The [application's icon](https://www.iconfinder.com/icons/2530830) +is designed by [BomSymbols](https://www.iconfinder.com/korawan_m). diff --git a/assets/TrayTemplate@2x.png b/assets/TrayTemplate@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7f164a51283a0f2948fc9865c5c07c4f3fca45cb GIT binary patch literal 5985 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 literal 0 HcmV?d00001 diff --git a/assets/icon.png b/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..51a96ae14a8cdab7e1c196d0ec872e05e0b47e69 GIT binary patch literal 15354 zcmajGcOcbm{5SqNWF-{Y8KGp0ki;Q-?~z&dj3}E!A|r&T2pO40cIJ^%wuZfq>^%<0 zJkEJO=it8Y@AG?p&*L9lpX++>_v?MlC>laLQeUq$aO?n=i5wKo6-&aHg07|-}%l+_ItfWUh)3LtN!5{rnp=0`U596UC z*Skx*Q~XphyPY$c#kK=&SWN#7nC<&6>iu;A74oN7N6Dd(@WhNr%51{=!ufYLWep%&qV`uXD)=8OOkawco}zFMb;B`#55Uj=eORn#7bX>?_`lxk>o@@tVhvMl*8L!0|SO+OQ( zRIFsQ+^@0~3njPkmz8a}zsm8<_;N!GDknWW*+B?|kgso>1q$@Dk#$NPDe679qfEhc z>+xFAcNxyJGn|`{j{#jqq7I$qbNUjQZ!I2NNd6x7wXK#=cYpqQ-#ZMV>a_&eL+f&P zKGqB^+7PnC(*k#!;rgKhi|5`BGNlB7p@b2qP!(y(FqnW|sZqy_L!AE1pU})dF9Dz# z+1Bpn(;;PI5yTh&jV4j3FO_id%Le>U9r(=?tvU!Vk?~3L`S>is+moYr^;W#lOQRS+ zFqrO%7Zx7W%-AeJ8W0kXeosa69tpgm-e=0IH+2b30i%{oZuL?A%+!XR ze|qA$=iS+hrUC%a7x@UbhgB_{xok8#tEg=>5byK_^u(10%k^!bU6dwo)RF zN_zk(xQKj+73#~kC+*`Q)7D?U@v|HPOy>C#BwW>FntzeEHAmdHwM6x+1#ER!`GpGL z^Inus>FI90VU?>XU_^Ze0K!K;3W>d2Rem9OS3-78;GL02?kpkj`PGP%rQ4^ME%TAT z9!qxcJ^=thE@=yFoWIa>Qj2sGQ}#>QphG^N+4nLzhGd0WR@k-wl`q(*!gAO-OU)yJ^^tJviYCZFG z(YkGcZ0c85j$%9}J}NGLn?^uNhNIlf`(l$0XHChay=p|}5!Lo30ANmCG*TpNJbm|c?eYEsHB z)!NCp$!Y25r5>pBj+l*-<@}0aX3Xy-09bi6zy65~mOhiSzvyK}=e{<^8TYpF-e)jt zjxsOCBs14UmHn}g`7Utl=KL}M^HmpSXn4j-1l%LvSH7JQas)-WjMo~QA1qyO=zj{U zHzrx4eVS_X&aTF@S(d%LTr1t%=T`*)d=P}ejUE^e&s47QU+qcdu3qh|N#1r($!Vo; zUFsfHTzehG!O&i|C40|XV1Nt&K9!*DvIHw~?)9w%ptLN;rKRN15&@dRK@-+l^Oa?b z)^Z~%{ve1TwN?Bn{LLFMYtQ16F|pZK1$xXdsg46BX-C8akdIQ06acVq%(p0KagJ5Y z(skHt$Z!h&%N&C0%aM;)b`!rY{5#T;1PDPFzZ7gFiR$)yW-fqXrZ_`aI?B#;!_DE9 zT=V-I?t4PpG5|0G8@*QBh#nzUhEJC|QD*Sc(%5&=P8^7vg#OHDDW*R=t}S#1ki|$m zPkfU&5}K{YW!2u`v+#OB+V&|6F{IOF(+-3UBwS|vkTRk`8_kKR{J6anCqF25Dk>St z7hCQUcvGDLJj&4hDRlwb8FC}49iwcl=Ox|hOdi)xUa5Lb1pt$R`vEhYSjiaU%{D}2 z|Ct!IZ!fqr%59}oP|xarn?V3`4(#(TV(acXmbT$ZV}hi4{z~hBYuc!1m}Eygysq$oXfV z-sm}~oI5e#5sB`X**Vmv<1~-4U!LI14*ohfaF_jB!4Y{Q6VN<|bpM69|M1hbXh(qz zi5U(JjE+r=EAxks#jQ_e0pPF$?vnXs>Sv)B>A=;yn1O*k&n^v8oNxMjI0+*z!O?S7{dKKP6jw3+cIB&(tB4}3PF!B8xS2g zoUedVXizO+RUdOOX1kd8fbDkJSqNS>8sykivVHXzFP^$!p=5$%5#}8? z6@S%v3DFS~fP|isg+|!Z&=TUmU7ZE7O2Z}TaU+WDohKNX%9w9YUH9%~M!AXpezkN= zH0k%zFLP02;uE~1)UiaT+>Z^i@1!{f=sotSbzZTTxR2=HTRzwD{!)CNKI?5%) z)A}tXbaan7NL;jFHnfRn@PoiO7<+Oy)th7eeao4+MM6f_pTU#;V z1_5}b|B>>YNU4HbpfeMo*LfOA;)NTep^~eT32XumBJ6lcyE@RbrHm7KQm7Rn>>5%4 z$s_B=d;VC7HcFZ%;*D^oC>%(YISylW!jHAlV-jKIp0kFS)p}*1*_m$&E)_S06z)GB zVE?o2;r9pRV=m1UabfR6!Mvfdc8rKmvvx!{j@Qn|#!cs%Un~$$rofZ8Tj{$yCqNRY z8J8)9rRYCyR9yY(V9Vw-^kFqx2B$!lwxhbL2UmJpYd=LtoEznjY+YI%3Y)!fPmGJxX3lk7Ts&Q)m_N37FC)8WUs zd67c`oYUQ>FUbUH;gZRua_8e7|5k11K&0KWM2yc4OYFMr56N<^h`4lHM>f4Qs&V9N zHNhjPMuSq$D974`OK4W$oKn1{${@VG#0M#HX@|ot(9x zXJbg;v+A9xdK3^ad1~4-kTHX9=VQ$t6%2eAX7*W~zn%J;^@vThQV12`y8Urf|HjT4 z+6y=?F%B@@s0C<)z0V7Y6mnsQpcKV55?L>??`yxztzR!)a4wjMA2g@eo zDJde2$&@_5J^LXu8_4{Ek^B|Y1e{lNam!@!JyeGWPb2|dIu{ky>(N8eHm$8G))2oc z{cvu_Dn+5Qq96r_i1iv6Ua&Bf?anav1SS4?zsoLv_}Y{(+cPue`z@X8cp`7mr8ty+ zi{*kr&XYPY`)iIu$7&LP7|XmUA_IW~PCi>I;_>Zfi5&IT_nq5cOBX+tX&WyMomIEd z)|JGQ$U+;YRxN*jtTHFw?74X*r*yH4-l}j0co!(%PlK~IeTP*mz4Ny!6>HWtiM|b& zI`8GfWT~daA#2`iI3o+b#P)v@dFM5OEuLY48V=h8Ci9-f@m8N*CsP<=YnEHbqTY%p zL%%z&X!7zL4}nLgj7Kjg;xTk%d4J)juHnt^$Zi9DTvS?IgVCa5Zw+3R9F>r8M~s6V zz$7tb1RCTOiExezM;gBowhV7*E*_X{xfZJxAZCTAo4g%{mH0t73MhfG5#7DqzVG z>v|rpu31|R*6*9XMU_iGF2$m9mk98dP>mJGND9pxRf^3X>;$+zs*1bY194QE#VN|R zpTuN4!RMk`|6K@Po#js$l4!!)PmlBWjJETqRd=oBo;>sEd!JPU*W{{*f%y)$Yy!e# zvSM2+Pp;%y%xBqf8y+^yNF#aelmyQzT(#tB}yQriRKaZ4Op)ov|y_W5D( z*YBzRrq$N-=o)u6R5ga@pRF$sPVPR5`Pp(|FOkhEn(dNDIxTg`t zoEm&2u{L70#m)E&$zOB>KynW%1Q~^++fl=uqv08UzHcvMJ>XeUe#s9pXsB)>XuPs0 zv^+%uoKe!Z$iTK{#W6~JV?>ILYf6IUy&kCU6Lh;9-J#QP*0U=kvZZqI+;cvPHoZC@ z!I5&989Gsn)b@fyl=vjM81*O>n|9keFF(&<;Ses4IANYi+Y8v&b|YVMhqq`@^@6aA zu@l<;C#GNq@%UGY6NxiMZt6f-3OEj(b_&r)T?*<|;j`{;nv?5%0na-qj-4`S*V0AL z-%saH#hUOF;ZwQyd%a-dgpcMN|6RMn>KAQMFj`6eL2Rie5eeSMG~@!C0YMqT59F+2 z4yvv2ETiD_lcD?05z z%X%b1?Z=j`HQ)|4GvHc#Uk-jz?t~k1&uFh)fhE5hbkmqxcbH~7rDLw7@j9geVMSf< zyD(O}t~-v?OhO%_nl`Mt!jF}aSGu~|2vf|+t2<>8{yPWp)3y`4^(3)8Q}^$&CE5@i ziz6;N<+G&|N4@zir+pQFHw9P`&al-7;(dZV_Q{NUXyww-SJM5MCypzOMYr+E$hL3B z?pC)=tsEo7^iZ%TBT@;j{{GlgoUo)V54gF_8oD%>CYcrQrg*fb)>^^l_jV}Lp)Bb` z?*4z8yTEF~>^CoTHpdRDS#?T*zTGN#N8*(;6+U8=F(rwxl`(vAY(4F=+h)~xxUTun z{}S!+8`U=P=dIo^o$3=X16%WTTA?=xIhm{9A zkRHGRCJJBXk)q<1B`*{YRv<=#<81a@UtwZ9sBr0k<$5mzBGNz-T+QJ>os!V%*6OpS z*s4OziP&ujX&=n9_*c>EI!6#3E`s0!517HK-dA0jH!5y@yi{4w*PVZ)oGLWN(ap99 z7CX;B1b=0aa2NC5Vkj4uHp2)^{kBYYtn*b6Tq7#u3 zDTQBA^@g23+nZ75^Kj3Vn_I+T(YQ+^YeB#gqED9N) z68lMm!YJv08Wv~cG_heNeCgC=Sfm*idDm!v0IG_NSMDLZ`G(pRZJ|Me7ZS8XPMP9p z_~*_=BvzzpgWvU^_HiyOU+vo^sw2JuLOd3OhF(j+_8UX=h1pJt`+zeau0S<#)9N}q zt~B5vYG$2j-%7Q}_)wZo;iLte25@2b0QU1vQDmSOPdd`KLuG)C@MrhrPwBTI6p^K` zNpBK!a^PGhQ3I^Z&xAfRL<;OCE=*x33VuaEe`{eK_W`7(@|3kX}u)|G5PWb8n{C^5@!U}KB6DdwP;*IwE&nA%^IyM67-EDj z|JS?!gAI44LFUdiysL`2u;Lc~wK6_sj_tNJ1CMtJKXvLqTKz{?km{*z$v`;5jr~8z z2rnnrL-IdrS=?!q{hZa%ocSNQ5CT3JNMn6N^Q(UyFtbjr7nWdY^uQM+eykzaK@Wod zLG*vTME{o}0;_I0DTH_Pv7^?he}|2f&JZ=7Vir!eS2}}c*iZww_rH0ijCtUj_s*JP*;L*>Sx6M zYXGp4?_K||u#1gwA?p7`6Ff%81>H$*@%%qVdUf7vu{Xcbr7B_&T<(FRkCQiXcfyL< z8EmX{Gybr1v%EhSL>FIz^rZT!1TgAZSQ;l3P3(dlMAui@y&x*sacx$uh|({aZ!WxJ_ z>Fsh20ax=Aho=lURl(CqvHA-=cgv%}RmZWX&$+ylJ94l`9PM7Z@pk>_B%Q+&+Qu>V zsl%l5o=KTh@nv7xPP{1m95;CwW{{DnxZGp4f2)<{B>xx=))1xA4)*dZ6F#Kzm{U4r zqFBxP!(DJw(1(gnZ}PPH%R1)An_-6h9t(xgQ%fpMp~P#oDS>SJ2ismVT|_fNvxpKG zwi771rxS*9lJ0VS0iFTS?~lr2z}@wj=LzsDvqDez&VruPQN*2haxg1}Iw8?@dN!NuG^X(in7_dp&lUaU)8d8urE`p-Yv z#Q+5&Z`&DteG6^^fXt44uQZMFUr&jhsbr)O)pzFwkBq|bT&rKg-%9nf?T5LkqMRtY zoZlwdcmD&AUvibusZKsv?q1Mc$1r*C2JJE??YHa?=pn&B#2+}fG2W$U1>+jTz2l@8 z&cE)$_WGB~v$*u9|EMP!k40If_UqKFNaFRvhk2MPh5rji3RD8*tN9hI5sN==L5C~D z>e3iQcO0x;eL`6=TTaXDR05VIKh(1>#}BcoH4-(S7+$g{$H#Q3P@XXUG&YXCC(5+) zr&quuFce|vp||&S_%z<42}3r-bC^GHpT8irrG2xmne7%WEtvf$@hDAY7iw{mHl^pyJ5!X}SuMhc(yx*8U*5*VD-VfWcS=^lkjWA_Mlm=BMxOVcUkuv-NvVYxWmn!jO>amIbBT zj=7?2*!axr^e3@CGD~IaLO82%|~CYEms(gOh|f-tDEw zN+3SrjR7SigT|pRGsa^_nZ{rDOL@xd%b(0Wsjg0KhR-vMzsqmhNURXwmqaFPJYzZy zRb~nRJ#s&X8I?Cqa>;Pxa7HHdBz;%p)s7Aj;&r;k>(l9#sP&H6(NnvxvSP9Q3lZZ1 z8>Gq~Q3&u%3s<%_tC;!n&Ii>2zn%1A*GQ!(*=lwVv7+<}>~GzCAx_{)drq~s5`Jd<`rr)M_{c$rV0H^$@eU#@%j{(P%yFOx;{u$! zbiHTe&eT&OZu~?F7)T`){jx*{0mZE?t8sqyyHqhk{_-)YknNnseien7$Oa)`o; zqVgi>l87}&MfRz1u|xG@0TNREy{#uJrMIf$nl~GtNW;6CxQvio{L~I0Ti0QZU16Wj z>n*F|A80(x`m1OM?lng;9S`2%21a97xRNr>?z!CW3b6b5H{7l>gR|}QGo;y)Q>x=R zk-D2etP?Se;B`WO$a~l^X;ntxB10WjvtGbDq40h1SRzJUYgCYw`Iz!ch-^Xvi~Zjs zRCUUaf_w)C(|dKhEKe$r$F?&7Pqi8A-mZ?+xC*@Zk@42nF+n$m^74Zj_crd5_jW?y zs*UOa6L6+dJ9gzJc%<;DO5uQt&BZaxFA!}o6N|?wl@7iTnsWeeW=2>9v#G0+raxWi zu{RS%fW1g#AX$6;3n#|?1+C)&cD5z$@NX6K;Hi01G)j>{)f*0N^z z7jmn)SEUOzHLY*dF*H_r2|YOxt4=gxo@u!DfTChIw_3ty?Ro=yw`CUpkWMLD33>$W) zNI%o$F%h*2B*NJgT=!7RN0%Tv9o!80E6dxSF^fqwIEuLrXlW7OK3Nz7WT_;RgKDuW zA=(=L-*@i#KU%n^A3gZ?O7Y3^gZ(~XNRX0u3wXd((fHC{!1RF{oPC zV$!a00lz4OxN0?ab-`}bc~SaJ@hFoPyVc0#(ba;*_LdSRDHDd@)}Xp4TxFNfbGc(f>uuWMBIi171ADg8HJ(s#G6TGUS% z>zFq6uMvi5)>GXrx+d;8(vw&(C};*(eacjWUse&CkUds@@Q9>jp4{$Yig^(yIl``< ziU7P|Gv-O;3Eo_o`f8Jz8vMX}4(2*StOmw8Ve=|65bTynRtmXV0IwHjN}GFn1o<6S zH+$Ajw(~-geXoQaO&0Dt)5AX*G~hKTF!pF97W+#nlrcaQ3o!Hg=bJ4<Ha%4;oG>0 zRtP-ktjEs{ErFPxemGp%bmGUFHpJ4raY7ua9~KI3g|=pz7qmXDUXkRd%#`sNMfh$Q z7`S#wFsVskUgA7u*N6{;G8&uI2X-Q@uOwSm7XGc6M{= z9ed&*Q_6Gx(LG3?N3a_btf(~8$NmbA!yjD_!O0CMNgC}FaGQXK<#qvfW$F4Q8K1So za@mYZlvd~=(rpVf8jIWQ0ZP6;PlrrzfitHNm-w7dxgRpdp%mtyou$ha@g;J|nN>D} zEIkN;VrhI=>H2wmp3o%dV*noNfIwAeS!Oq_XM@Y;0hfw&Ifa^I;} zAGi2ij?dpP-!HYjAW*%H=L_H^lcs9y6IhLtNpckQAr4+NcTqsq?ci} z!+S^k=GTlsT&)8N^vXz`QJTDG*2h*}$0^#pDK7}VKQGrjGf&5EAC@ida0g>dvYj9Y z8i7{=*tl^NK{iT=@DQ1-x~R}OG8B~X?gCBTm5fdsp~;ZgiTpYgbO zn)jLjn*Hn!4WaPuhTdGbISpn!vc<1%A0B2e*B%PJ#mzGBNN=OObHFxQ}b67c^ zdFHvlKXHqeM;(d<2RK0A%a z>McOV0=%xgrlS}!v9|YCgw&+=VH&BUBxz%GA>vc533zVLA(zzAfRpjiaXVrUSGsgMNI9-_ZrsrG(gQy+d z6L_-9Oms9jU8Gm;vBYIQkQl|yxBR1=2KHdY9H>=%NJ|VU9SS=CuH5>o6vtSBWD8u- zUyHeHCp~>mdlIjpSXfBNPPvmd1pT)?Sz3#mf;bKzqhC(AI@7G8 zN0@MthP>Uu39?H6;L@3b58&*)&1tl?YRbKT@xmYO0}wK)Chhxdn{RKORkPJKq%@)+ z08iIDK_lpR5$5%p@jv-{wIuZ~)S;bMpMD3Q3(l>BXBHftbvGlH>ij@4izjJnzmD7P zuLj8fh(@q=#FZv~2A8`7cPnvg06-!sdwI8m($aav9IQ!*Wz>X4znrX`s%v2qF~pdJ z0Gy#+c;m1CBhpIKKhSh7<+a1*&EktGDFS#^QMvmZIb8xG2^d3Zd&35DwGIbKH;^ed zX=<++A|^FaGUYy&9p<|>n>;mHsMncpwSUH`$kZDj+k-hW?V>JelhH5zo*eWRT_-KD zU=U#b`%SL7Uy=a4{J@mS!$#_0W_hsGj=KbD4Nd@3{C;3}kwR=AMksJOq!aps?Tw@7 zm%E1J)|~4LbyAPddx$M*`TrWJnaVtG>QoXU)Tgq|Ca%N}LOFQrq^DzkBL#}==CU9vXjA@Jg zeE!TrZ8;nt{Wa{;`Y;{3P@yhyu+yX zNU^7rC^+@*QWO)C1dvM5gJWv!9^SMG4vqfM)!p5glLwz4szq9}M;E;NB>jDb{_pNk)amHjOU&DHl9n0-fcp&N~nL2wIoO!K>jZ z1&CxTy$PMOITxL7aX4({%-%IxmI7(5U@tc3JJIo&UO_b+$VVMmcs7P)cKWoAo-YVW zvSJ$b-Ro*)!y{mOmba;_nOnkC^7`h}rpyAiJn^su^{?L7t_etm>9{3pZ{^qt%%bYQ zI;Ruu6NXe|5bRZDnoU+T^N~54VRM(Qv}e{2uQ4@Rso6!F^0C&M-pcHhX3Nma^f4{V z%q9A217hb*O7O_;=bhG-R)s)D4{4&-SHVJ8D#(7B3jZ29Xz`kbmpfy1+^9kFoQ1E? z`!?Spa#IsIYZ^En^1J*})l>eds+NJqGMn%#vloh85drf1hb^U-VSvXC+%0=`S_vy# zgYvU!rivx+xWq>U>d8$#cbk5f|LDt4qg$h{vST)n0ilStZ66T*XgI@hl(Zkv&+o;P z^Uyh5GS^i_ZT4H2E)l&Tx}vrI$=gfJcb|g26-xz?^*O87 zL82l@dwFqYWyF|4VBMylEO;>6yXfVpeeWF%Fxg}bkvoFfCDgi>$;nc21|L4W+$6ZJ zBc*nqMQ((wJ@kp=-8A_-V{Xr?t@5?%>t|#b!PzeG+2{OZyvasVej9tv*-TS;SuHIW zcA{#+C}RiDO!KFOpKpKY$*~v-bS}aO@C-f%y=$(irWRA${v^qvmgDues89(;(momg zl9kf%_p=pmxIIP{X1{efkZ03lU1#qeNxX#VV53~E>OoJ0@J3s%?v`(umz!RGnZ}@L zwC)ru!-hNWt-WJGUfZ=nY>TxM>~!BlyzoJ5LiZH{zkXjup8*5;bM;N)O2GmC=mg{2 z8F_hR^Lwo^(3i+%j@jKja$^Rx`5bD`oNT#w4t@n01k-#S= z`PWoByU?M-+zUTzy%0$>&8ecquf8#=8D1{RFf`9>Rci@8;B??w1xz)~Kv zn7eS$SkACo;h1nc1NVG|cV11?U&_dTkqVjAf>{!j#8{4%AeLW!w@fnQgPQ7iE+RgD zzOMaP70k=&O=U|(3;-m{y7jyKRenEzJJjP_^t^x!`%UnACW`0nTXqTg=*RQPh8z4` zhlxXqs4Ds38{!tM4t%v&vGQ8fn5x|UZCKLkEO?9rPE$7fn9S-t4l23(ea4KS@y}H zE~u&}Wf+AE_VE|-TAAhE5DK_kxF1B!-`eAE3ss+u&pxS)MN>d;%G4UyAlCxlJpH*O zpJkg_sJ6i{EW&ns%ieav1uYrRu7 zhwr0cFbI4pSDQ47w9OtY-eLMFgW9{}WG+wuPVrUt!97O^KrI`ncTY9|aX=&{avgmB z@|D($4R`MG(rw#GDiY^|j|I#>Vb|6_$W;5^PhMtNDWyM$4dt6-y*&|WEc5;Wx`#-0tj#4`vDf&`r3Nb1|er{T$M(A>j_H;fePcaZ;!T`S- z@qzC|W_D!Z)E>+L1Cc9th3ObUDn_#t*|+3lQgfW{L42id*;-fX zX2%coeKD%(4i^UQ%2ykO{*WVWa|^&@mt8jck7T$7U&6ZAkM|^1RuAo5B5ub+;UYN* z)-;sCWfJ^bDOzG65=!>dv+q#n8STNU=i+dQGnr|L$E?o0ni{PA-1sDlI-Wg6eQ6Z*xx6yf-f>W-F68B=t#e4vgI4}ckbpu4ntN`bnmp%) zxEqS3$rkFwTYF5-Tdu0^MZJQy2eo3WzEw_%rd{6)2m8RMY~03A&b4b#TQy zRgt|-&QG#ldPLVv8|Z0$OCl5l^yAm`gAUwh#8eEeoZFxzx%({@eXid7yTM&mpT9iS z&K$_0BbSE&ToKQoA3&?7o7S!>X@1~Kl)MOa-)#4GZa(j)Xdl&;ZID^5)2$JYtl2$?YRXUPoGjx5pLw zrXQHOAF925S%FlIRw_LM2uId6ZD14Dvk`Y>zkM@2n()}fy=9vNpXsF|lV#Z?__^fy zllAuPl+5UMAb{{2gVLRVyDxV+t|p>sk1F3gy?FzDHwXbtp6;EIgNwh+hj20KS}AUn zumR02=ELf;!95X`D%PHNJFtx64+(%zkfret{3ENE>MGc;dn{X`{G)IWi$s6_`HBUv z!1OBG=c;Ww{g^55q;M%qWdlMQ6Vxj(x^z3;ZLwol>H9OtY1Mha=X~-70nM^a6lKr|i4nBlpfJ=x(Bs+O7`_b5ZpzeMg?D-%w=7InV06d6H zg;(c7xHIosH$7u=Mj=!s27I6PG+XBKOXijv1-`rlYoK+T*>B&y3r!L2 zAW?&`D17_=peJdL9G*<~^OkSp!LDNzC@o!8zk?mE*@gMb3%NlxaLu*l4dG%G1PHmJ z8`IgQ{QKyAWi{t2Q*a&qPsa`St8no8V05qr}2T$YwrQLO^Az`7;Wd)7F=D?3rgVMFKD!D4Gfc8 zDhohIJqbhza&u}WATxMckDk=28`E5zg=Jh`AK`9;IXp!phzojG`+`Z0uL>&>IBz5{ o^}({~?o7E7f+GFG`4dF0AjYbG-lxZM;ZeF0Kix&5D>sZg+cwJqnNpPI#@X{5&WYA{0}MrkF@y5 zM6l^@hV|yDXz<;X<|Llp3O-#)IK>lq50ssU2>&U+*(7&$( z{+IusaK^v#zls1%|FZr^xPPht-u{yf0uBiH|BPP~0Ac_@VJA~V7keiz0x3gh1yd&i zHB%>NOM5#4MmkOg20F%HB>F%t5qDNNL`>}p{WWe_hPyj6ncE`Je zZw(yk!1GVAw%OBX$B)Op9{5~KO4QNxDyNvDST#mganvZ`8#g5{>u$7#+X}W7h0n_a z1KCV=dHJ8|EEHCn-#CNKIG25|(0(Xo3B@#HMerV%&1XRP45NlPzY}I8zr8~@ugAjo4g$4oqI}ywcX7naRZjKuL;kT;$!=kcN^=nRaUwTrO zN@NLvlj1A}17M5HT#=L7VqGL0&g4Z(LxykqO}$nv&?9M}WGsw9-ywZ=2{h>eMBzmw zRBQoA8Xq}})7@u|Jbec05G4?Ub9{$EgQ@zI6P6NN6Ng=c^ZZ$AfncB>W_wpSc!G_* zX0;kKy1H&pzd{hc2Y?@KV{u%^H1aELH}9S6mVXi^Tc~1)s>P=@_w^I#LyZl_OT#cQ z%+Y~!%+i{%up(gfKUg&(Nh>|Ix8+*Jy!`bMMv)8LER8M`jDf}X&L#b(8yGy@du#bG zXS3RrprTzpi*u1ik0_3_I|s}5O&9g|LjU}ikf7#_vk|<=p)gcghF~!(*P^Py>u7PP zDS@u8lHZ|y6a%+PFZT8UD%ya!%8{*RiTWoM67CQC(cU+h02Mv3Rw6lTX_!CP6v%M( z?n8hw2m+q1y>2B=!*om=B;^j|3aojdh~(DqXoK;9|H1IWr~6K)EL= z^*7Pufv^F>>{o^tGM+KsvV8Q_vEwHAST#03N?HMQiI@CAl|FMBXKy??@1`kVtDx*tdvtYjHcq- zns6xlp?NuQ8@x;RlM%oHx3PU)78L6dEtqhE0J=9f+C8ke_~j0A{JSGsYW0R2Jnw=9 zZ%^`Tfx?vWok`!`r;jUg=rRLkWdc`H!ePgb$cp|)-i#iL%Q1rXoNFBh5mdL_MUp5g|3+kk1*XcGpCf=>+&Ec7Bc@3~Dh zws%ZU|E{osdpTe%84nf6-&4SUFQ?AWZP^d)F0_(jYR958aYNsSm;zJe&B3vyK^ync zO;0R^G@ae5^+>!f5>;Y{zqy@E7qWAjpHCZY#r#dD1xsi9e-&$DJLoGT&v)#rab1&_6N6fSaM3ds^z1&zn&GUCQnzI4Qh9FFh>Tf zQ58`^=QF-Bfm8^ql6w-uAhn@`B*pCha$8!dimqMCk7t$>@CsZ(WxFN zdb5JRK(Qx)P*9YT9OymRL1&5aMR+XTMB4H!evVPc+I+`fVtj~p3Ozp(lg7=6P<1EI zJj}TMEeZ7#1%liqwH?>F9XrPpWdewwv0Yto1YDoMBcb{Z~3dXWayrwz+~ zO4Z(-kjyL!E#N{yb2=t0<))agxrKvWmNxYLMnCD|raARqpm9$pKez$ z_i4S80`U&RGceI;CWgHL{HS}vzI&!mTuFa?XPWN>k8s0W>_u@4)#^Au!6gy0{&Y}8 z)Lm&AV~jp~oqDs2FCym%>0L4c-6(umXHiY(I`fRr4Js!B8TOWwBE=#SX<_a)VXMwm z=f@)>3WDYBA7MDHUCOlyrAlRAGs{X}{KVbfYU(7OKlieILwHfIsXKjbmE4riSe;QR zADs$6P~3|Dfy?IqIWC9P zhc{VH3^1h4QD9K5xX+!ixV$A7W5i^)l;mA8a`zLWkl{1_4WvDSt`T~-7o!V?wju|+n7Q`)ID8VR!sIu zAj~l{PNTO6JO>ju5?RX1ZfPJwRkQlpBwGQakxkxd$C=(AxzoZJ4EZ&#H4DeTNEh$n z@p?{Lo4bWYB~8Eg>D)ZH)UhQp`sLSK1MWVW-Xhn%ka>+Zx#ZyAJs@ywm^K}RTF zrff0YZ<**v`{NoL5q__Ry@HS7^5Sk&lzq|n4<_$+mzuLIe`WJtxT9h4#oe}*aS5w{ za~G=8-d!P3ru=<|jzDrg4Mzn{esVw8l;kHqBrN2&Ek;Uvc4mGVSdhXm5kK#`8M}z~ zqi3;6oEJ7xtFWEG#67D>H?_ZYGnV6WP7hYZ9KFw-g35#GMOrY_%F{8e2XI&k+v^fX z5Qn?b?cnffpSq&ZPiK{LSa43UkA0%O2bgO$W2_GQufZ#?{lz)&F~p7qZ*_h|{?hEy zR^|UPA3Z%rB2}!H;ir!v6^YidMZ*S(I(T`c#3LA5G3k=Ide6jz{Da9FKeu8(w6p)B zRyMiOC1V8$T?aXkNGfflDjaEhHlJpRMVGo==38(i&FCBiZl^zb8gjhOdxSS^YjrN@ zBs}LIk|yeGknpKx9bK)E)jyho5zzv%RnhPI@LVl>vVJ(wXHZeBC`6F+f^xbUn}kc+^3-B49{7#XrSJDlx_vc2 z<^F+ZQxxCYpK_RWTmzhSwD%H7 z)|u5`Zh8f~eQbq&_hQdJj&(^sWhVd-E6_d4h04;lnf-n-*k&R?A4yqM*yv_}2Idq4 z@=}={-CoKk8Sk6#W@dKG->pP@XwnNlLMC{5;pKz)B=)m=w10Cn%t;D0h+8Q+;Spnd z5cgHR4B!37dtoKOURxhe->5#goaJSy;9$yhNoaS&Y)*O@N|lNKA3)wx#jG^J0Yk0p zUb;X6LS`$gn{3fUy~~Fx{bDQ+znBn@fC|W7`@$>tKjbUfQk~P8Uj}KDjq%3y8&=P( zG2>n=BcJVRLN~AXyaj<6qyf}yx)mfNgnrR<0;N7Xz8u*K#nqeKZh7^U5pK*(h!0)Q zbmLGT7uwW=;1-3h7kO2>^e{Df=!21H#EUVSkI`M?>_U{INDGNZL3GALP{u?JEPa#F z2x&LAp7UkKu+XT}?V!%)zT-DxskS97Mo`4wbo8^pOK;W^ zRylRjNdF|md}v{#9O5%PHfE`8AOZ^tE3NV;RsGBitdbDF#+V;brwa_m|Db(7jC|uc zws?d{9b*c=5HL2rN3ISq&chu*J8LW4N2n$&>+wVBp5=j@_*1lOg+(=M#F0Las&JxV zHAg99!1O0bYAK$wS9PDSoNx8#_5M}Mni2Z8e(Ao#6u4dA*K{K*yS8@b;)LtvwEu*) zIls)dg_h-V#}B{zB8?zj(ERn8>J)ZH;EqVr)B-ssfM;2{sRTKEwo+OyMoFfTmk3P_ zVyPQ(RZ<#t)#}4{-|&?9tkgV7mKJb!^qB##!X7qv*?=(0t!f`ftPDBV)sN3Q{E2-Q zlfKS%psy=mO?itKs;gBy<6m22q8)Aq1lqOeI&00gnU0G5hq2L2Zh-Nl~ z-t1&KdLI^N!7$xPFDcupf~o1$f0S|kbd|RPJ;BOBB%J8+ZkIr9A$x1sPKRH?4R65^ zc0y(_=`X{CM*jU||>&BO6cIDn>%$N?X9SoYN8Rst}c+J_r0R_h4KbiWP>P||h zTrF2Pnes*gOqYK&x-2xT?kt|nHq9M9`K*n`iIS-uOAtGl`~;=)qm3ii$5T7QbE}`* z+e=!lHt=pgo{0+^h1G>rvDRG#+0|WXp5zy{AFc}fvS#)N^Ym2V-fB?8$~*zf)|&Uh zTJWERYsq7(?u?RQ$E#ayb2(h>bfv6cc~?DZ{ zh8~?LhOh_$STrh7@gf8G*bx5-iH2& zXH&Wb8XVze3YFKzRYDY(Ld3f53F=Tz=aSK&td6^i`seecgKL=JrA)w~oJmInz7jpS7;>HDk7i>TI*PB|n zl9=H7*V@Y*8m6Gen3t8PGRO`pWC+1I#z#_kRtEQmuoB@xsz&Gv<2Ck^Eap+j8f_*> zL=g3G@g(~!{||A9f>d>lZg$*5`r{(!r6Y*P^9(mB6bzXzy@XVXg_X8sGu^M{7ZqZ8 zhR&>?eIV5rH}qce;yE>$3uG3kzu^%tW7K@bt)EU~WBlDIU_%szwL!PvaJ~mW;|wah zf!H*`lJ)3RZ+|SBk9^Mf(Ih&Tv4o zOnFUcNuT2{zM80My>F7#u-NJ}BaPY4TBBoYwRc!VJ_Td{YII#b0T%mYro<7HHP6%d zfi)@s3S1^;+C#`-~D9`GqIN<;-G@O;eahU>0 zBO@k^uiW0f>m&LXP&7>~F2SX)0Pp|9#JOYB3Vt`O&>CYH(@+cBf- zx#NR~-0;mP87RJrhzIiky!!e_afxSCzjHE4Lpcx(W64xBz#R@7(@kt`JZB-75Hy$p z_D&loe1lvj4?6tzEr&rn_Bc1#?6C@#l&^TV{OuHQw}a?=n4|Y+=%c6_#s*sx7*abw z9DR~cj_AS#kU0h6gbW+}Iu0`(TeN&BF))NM>+?_c&qFL%@>WZ=o&y~Rhqo9RcP)ML z+k>o|2n_zttduW3sO%yIkFWeJfWxx`VP=^m$I)e zFpTbj`Pzq)Cy#M#EB9dwZaJ4~#`boYPJ`C5W(f`jH#lvl8#2{0G|59JLYz}2I5Zl^ zfC#vJo zcOLN{qVam1i41+jOdvjIU)^)IUb(^YQ zf8z20l)*b;$hsk7^bw$1s|Wtq#FW9NTfCKQQto$C2`dt?9Dza4)3BBxX}o#J5!wM@CZiP~IUbXif_ z8V*DHyakuQ5XEcCFw?IROtHMQLXTGy5IGX0a)Rhm5*5`Lb&jZE;wj<#WrW@C^>cwT zPM*KjzO5Ij?n2$yh%IcKLX&pgoDv(5usu$ZQ`oz8M%JaHLfMpIQM0xTa2I2kuyy+f z+>Uw!#wR1xt?~7z)DNO*XdaEWNd3v}`G(;8^ef^@6i*YHvd9mEYuGHnCzfD8eU8EV zQXbJ;2z^o0WVL?onR}?>fPf{c6h4IHgE$``E9sVlgSE430=rwJ{^AXSLK*-iQ2Ye2 zI;Rm$bdyLz-bt(mF8_%Ji*sP3qNqICFxBycTOd-6{%)LS6;v6$NQ&Si$Vc z0CGM+-=V_4hP#)K6WO;6Y&sF8V6yLjkD4?rxbN`BX;pH8n7*{?X;gDG>E_#HfM|WY zbdE!i=zv|g3JCQtl5+5*suFZn4~0VSCOtFhFN&->Bs*AOZnm6+62_usF`N5ZPD%w; zGPF`q95l%;MLk;;ZSP$w{FL|VZz~t&O(E)k z?p_}nkrfCKl%!Dcj8ey1P=coz9e<7Dv_$&Lv9bGuj9ietTrFSlr$-|-03*?7P{T)J zq`m$0kpGSZJJq8Nzp7Ey1M(D)I}b@A5^P>;8)m$CKlQINFw0x+5zr|d68!3-#76EZ z1IRuqKgrtq)~ejj$p!($3zg*Xa#OT-g4=gBw8T|Pc=!9fhQvwZ=2tJ_>?GWs=it&q zZcA7=Oqil-@##O6IfA8Vszqd!=Wv6fa}Be9^@ri>A8OSApYoQ!M1SvF$2OjVPqr4$ zOPfpKL_7y5B0O1?`44PQie#ExI7jP>YeWod%BnFl2_qR&glM`7 z+GG8VEsw0Ou#$cE)=3vw*5Wp=htOi>X?MbLpUIY8o|Z(Gmvf>{;e3_TT3&ZYH$!t# zMFU;Yu(V%%e^q{6k3|UuCIFk+7bA~s{A1{(NHh+0qQ;sf%QgMg%4FKF{J7%r{PWY6P^BtuDBqR9t7@fo5V8!`a(l z?B3$kaR2wD23Wn|;VFseJD-kklr9fW;fVLL3UcwF0{zQW-5%?I{+1<;_g~X+`FupcmZFI{u z2}a$~a|pnh0SDDPYQr6xpO52c?N@082!LAVI%KG0r1NY5&dz_K?bA(TxQPCOUEP2x z2W@%);^sc(6E`_t#vHQJF$Z=Y$wN0ZgIa#HdS~YU|?+q2q5lI9oj8@f-HSJ~Gv!I4-{l zh6Qp<%VE^HDLJGT7W%uQ|C;~sL)OgA<==Opd6>!&M%{MMSfPP=Ne1_-8Tw90vJ_pq zKH@2Gmr>YL9IDUPm%{fmO3CmU9G+U!<*d4Z(S~l^&6RZAVonSn5aEW?$o-*cI5bd{ z>rO1gD+4Ir`1m!3Tg15P7t$YaqF)Cbd0RPbArl=_;p>|eGbOKM)=AJ(MP!fLp@k%s zT6olaARHer8(Jzj~H#iJWqTnO(TDwT&# znQx*5*RP!9=43rzb!>ec7S0i>^$?>M0@0l*VamI~vmCsV-T+(l!-WF6s_;)9M^9UQ z(k$9JqT?{G*X|e)VHR^nSf2SJQyK@j|RJs)pu%hvRc2s=hJzsRG=F@F+aOS_* z(&0@#Bnmw2u0;oeWthbhkc#k9|pVMjPz8%jm`8?YF120Wy8 z1JvG?A|xwv)VkYNfIItv^ zY}8@X&&zLTRIEfXhrAB1PfTAM*m$S1;@%ZTLDZ$smANd?~PDmMZzQgn)xTen5v`rw7aZ= zVKv{UgX66+5y9S`7T%*v!2a{~=OwJjq-6;deml4S7x)z3LG`+_e2o%=k%xSZet$}g zaD5?2NEML&^sHv3!zaoW?m_Ybk3zjI z3wZpRf`Df!eg$zz#Nn}%1e7GF3v4SH^EtQ(!i{M=BoU;MA*aa-P z($5gCxlK%KmI$~6UK<=nwoMKNv0Sk>AI-wwq1*m+nG(qzR&rJd4WKI_iCqz;!99C4Lki0jKwon_>rb77r9neQL}PAu$c7zf(a#QF!V|C$Iz}F<@nmlTlABC zjvVhSz%?3R){Uy#uhq%axr-e0Tj9NAx7#4sK~=R<3ZKL!Y@P-6cjlZonCJbH1Zezy zf;?aF7tL{Qq2@9l5>G&=SKx)o?sD0*N8t6^>+Rg&YhGx;*nv;Lf2@*TC9c)@y;!~0 zYsU%QK7qB`xkP*_P!4dK#ZY^ZFX5SjRB0}LMbs(+ZXQ*9L97mV9&|&vgF`Esmv<_V zV>V^(ZLy3`e-YZdn%BdQwbbK~QmQ3);Lg}xsuZhCzJRL2*JYA;N_JlC*^%}?_w?dN z1?R!8K6I}MP1KRiy4m&S2Nj>zhilo{-%(Wx{mu_RDjLiXlFcT#ykN!{qOTGA2N6;4 zLV_`TT@txfyF1nfY~E}oj?g@C_5?Av4U@`Lu!y6Lt&aS z2O8WjeZgRI*`DxaslxiN4Ime|V$BZx|34L$Yw=JdAO0J#f1g@o19i%7fXdv+cwc}| z+{_ra+^g)3ID(enLsNFCCnoy|g=VQ=)N?@BD@+Y?=ff6OEBLypiZ3i;A>UDF{z_U72!JIG`j=7v@|rGL7UHC((y-zjjll< zDM9Wk5Jb+;pLVUVm2Ww`MyKM(s|~DnT|q+ZsG(M6`WoDzuOrw^LUr6nDh*>kt!J%k zm7LX6&w$b05C+r#pV|@1Ru-LkKxN8$Of{J0+W>D+4#YbQTbp5^k>LkI67hYxOvj7( z0c~W)}i;nC~|2K^T|F42uJh?x>E5IUf_IWSIFJ zQ6pHAmS-XAJx#o*yO3NLg|inLN>P$GoQPs%#7|Vo_Hu_jhx9zC;;ng_Skt^z#zc>R zA-p43nso8wtMZH;X!vL=W-VZfM}exGPit`Ds~|~4r-f!vro$K<;(N#H4y`ck>!>=p z&30Up%5(lH$o3Ab*P#z0sc{loYK~N%715GoDr%y6_~#pklHf-QRX2f*mv%}`7|Ear zr$@_zJe!%&kY4dI^Onb$42;Fe2r#lp5C=~>znC1-2Wf%?IwHo*3rZ!YW(2PGaiAw+ zV#?BW8AxFpaj@r>a%+UQP3KEtIeY1pCf=L&D);jnrzJnkaXx|9d4Mt|>K|utAlaW{ zZB}~^3bD1iU?&P^Y=wXRXHsa;Bcz`c(Ml3MNxf~2@+KF z#$C>dh0vG0$`|dzcw+=~y}=0nTw3as8_f_-X6~$0E!K}8*WCBH>BWBkfSAY#=>Yx> zG2Q;N?0m`PXLoU!*z1~XtOIpq@kk~k=n-Tv(L&)8c@UnT3!(woat>x2g-~|lRUnCw zl!amJy#0RqD_FdG&_wN~-|=TKU#9J(45#=fJl%x@53ypl#g&_>wn6Zy-qmCj#DMF% znJg{W4o?_3%oEzobXC7UcZ3g!Nv>&z5P}W17tbL8^qd$W7A)pk&^2_6X2(+Rb^ozJ zR4weQ1;-%hI`SEOP}D@6m_K!zEVk2Yx6wDA%&II`wb$T-#0kLMK868KM51{yGD*Mk zZ!<+-6LUH1b9duc+=U_yQ@K5xEH6IkxmoGQ&jLwO(W@N+kwDDGrQji#87Z3sfxE<0op!Sf2ZjBa(*wP+v1X}n?@v252@TLKF??c8~|-L!97Iuf}) z!@L-?#kPh1Yh@7<4O^RKz~@WgXlL%o%1?^`EUW%SGp;{msiqAS{ts2W9xiyC!C;(} zO|HCn@|A>sA+}6TU+TLdFM$pz1Df~?flHy#I||fj(MWe}b@X(T@w8pTdXablTE``& zJwBXd7QO>Hdu>9be%x}mc5_7LM~!=yN%)=$>El@$NB0PJJw(srx4Y(_epzU=9icu9 z7b)w_`T{;|501@96=_rINkZ?k{A5`bz0?JD2C6#oR4N08$|=?+ELr*vbaP@$=^uk$ zQcY#w=$6hC63tIv@5qsi$jce#o%-ZcI_L)oOiM}!=$Balj&ZJ$>Wd_RIJAb0T;qpC z)tJuY2gxxqC81YZj0bwJF$eyZyQxh*64lOn9O_De;`d^kv{Hg%{(k)ue$^Z z1vI#^_zDn8uXR-CQ!};8X%Od*qO3gZ=`L3fLP@&jbmyhXmF0yD#Aan-7gd16YD7*N zG!|Zp;>@I$mwqVy0F7hqe?6H*%MM<3-aQ6QJ7H}n90J_#2i20zJyI+yL2>4OOwsGL zEd+632a1uW%!92|quG)tLf^)-)u*m_qP6w%lX1Li;*5XAql{RM%Q3uzFMRIV1$ zw38uZ({8Xu2}~eavp45hh&~*>omcao?%~W>a|hy=_G4B&2^C^%iS+xtnx?(|$%1`lf_N`vKjQ{|0vXkk$%oairy84x$} zcLU3ydfG#;-8H@yJaBpCp8>sQ&rzzn5+CL`IDg%ucP3F|6Z)8V7h?Nu^O*qbpmbD8 zq@`n8*GdAH&(GBD&AH+hsR?@<5{0^#|Jp|Rl{i7}P za9$prZj%K`ad&?GhPfn`4epaF0w9N@3uMV3Kci8z7_i!U9eJKgH)@_jcp9(h#nP zcc_`b0WzHKX!w^{b?wnFTS{eO%EH626(!yZFyhqWR~u2S_7K5@r4}fXaP<6S7Auh; z_hdv;lk>9DfP^>PP5D&a?}$J!dl!f~ZP&CTIXG?4&o^9q#Vcr*DgBQ%(Gcc<1<@3k z$aPT$jXIkejdA&r%yO?;7pG~v7c$YEDed|9u zw|lkES1cuqHF_w-{S}7}g=3s*jtxdwp<=UpEZaS{NUvWu6svi!mdSK?H?i2krSk(J zFcg8%0*KA=&|}5>4#^-W*8C+bpI&S?04`I1WI((k@DILt{li`1bDgG_rr@NxBa0%s zCbt3zZD^9mn)_>D=y~$g*}P58weCNHNy?(O6X-c6PZWNxDUn|O(|niRTU4laKtq*` z=hL-11Im<~Y_;=C4D8(-Ma2ik3E9Qr%bR7f^EOsUfta)5@^?E$@rhu2p*uG_IO)i) zKWt)jb&2KWOGv&CeIr>~MHO*9d4~t^zSj%S!hhSHW$3IVV$^KnD*D`gwz6T5@a634 zD%{nFN$kGS<5?6v`~u+mL!ZQJl<-`TkkO|~85$eo(;a0YJJbb<{4YDP+JTK+(|Qgbf;qJz7^)i_0r zIvNb5q4)S7GesiIcP_X%v&0HDKc>{{l@F?1Do!xDOvE-N52)R*UIFzo}5cLTc?EC%G z<`l!eHs-X>B1DxIJsH1!>|V2cDhXFU_{j(q%W?s}md#`WF7mMC`y1QjG{54NE4&_U z;F@L8B%{2QF&z|uST|yZ(2hluOCeBcDM@YZ>%)Dp8zgY`)?cHD%tb`Xb%zi2{kq+;`V(%|g?w4uSmkq8#JUW&~pBKtnZmlT&!B!ZTF1p4K5V3^P@k*U#6H^Znt9LHcl?!4SSwlsVDp95%X#U>Gs%Q_0@QzZI=ypHT~-o) zK~+TP$5;4cBmu2*M?_=~_TuFmkP<})5t?&nvt{rP_zG{<)lA-X@G2$s!Q(wul8xY; zCSS0t`qWj>S%o2q^^kGpWP7lS;m63NF&%iy0Vu>>-nd_&(u(ZPZKS(UM~r|nym8ei zTI79R3Lg$rXzc`2$&{4yq8U#&fvkODJ|Deft$EwihO~E1sBLHQHZ;>KE4+wRXFCLR zr><&-Mfw>2B4g;L66joHm^8TC>7?%v#~I~uYV}14ftItG2Vn$z*LJ~>q}7N@l8+bG z06?AWOd(=;33hc&|Yk8+3h5}~GiY^^J_xP-iRH5`GN$t7AR z#srz%)0c*U+AmzxTuc?qU2Lgw{G(?F-A)?SX_ZuWoy19#Eoctre4XI(B_3z{V$uT1 z2FDHAZdtZDLC5HNN2S+}BCWmAuqgoCQ$}615MOmWl*w|*OS3pgGY9h1(y4v{d^8Bj z(yn)L>}te>A~CuQA(ps-WD#6Oj>@1ibofh0Mq0@<|f1AiM9tCgG2<*RK|`4w0~2pE{Lpa35FM z0YxFOHeJi6NNt`jI=NU;UwjaVYQ_MSp3v$(aWrO=F)PwAKpnZz0kY|kD#=z4{3yj3 z2|C!t6tfgrzwR?ob(pNeXAEPW(T_L@z#^+2j%=4TRy}X=d6kFr*$oFX;NX3m*gCkg z;EvqmgKxX^!TT{Jbu7llkGIv~Pbc(7VB8Jbk^Ro4DZ|T&YILZIgzZsQfFg-ODzDox zV?<9PX4*60qpWQ5*En8%$CWYj9lv01*4!~1iu`mHbOYKmIKl?;`s@l9ZI!VOBxY)Q zt&cJjzJ-3R#rl85NFEfNRJuV@?c0cIyjc3jpZ(3w59ZADX4)9Qx(Prw?7XjS{|ZGd z{+dBGrJZJ%$vcVpj80z6MQ9zgo>tgCTxkI~c!29b53$MdIZ`M~3bLUU2uPg4)x^~y0 zwyNRQ*QTzMv=#57+|AnDgapDe9KgEk`4Bdc#FFqw=n9_QKt)%4nb`Qv#liMFxbI%6q??OPUt!|tvWADS2hkY0Dn@Jr*ci?$OKSFsn{TcylgRy3VU(MM z$))NMboizA5G!K%J*AE5(DO2|RE@8Bt!~?4OwNI?vE7~rP)nU5M9>yDD7{DCQgkwi zcB^c`*;(25yfQ@pd4@F=YL=UF-2u8gZ8dD>CRJ*etvSZ0$2o7`r-bnm6)MJFCbq;K z$)g~bAG5O5KEF_*JmCZbi_H|ZMXANaVK;f$+83H58H`excK#`+qaw=hgy9RzZ$EBQ9#=d>t;fZ zp8S<%I`HVyM@`TzA<*^Ht{`Ios3AEGZEVuoT}z0I3Na)1aG57p>o1_hDX(r?ZgAZc zZZH6J;%4a5Q)y^Q2k=$jGiOP(x3LRT+@tnsU+E)JEyap>Xb0wK)ilkHjv`)CCvN0+ z$YXtC+1NB#kNKQYk5SM7Dbf3!tPESX<8Fa+2l&i&&_5(bP0Ubch>Jf=L_TaLdDlk4 zP>YUC1s@{N&-rfj`=rN)zB>tAMBodAq~b1~`FHrD8=k=0hrpX?mk}}K>lc4m)vpq?(#vU>sJ6V6_DldR8S93vJ!?_iH){|;W9e2l0u9%r z{CE}4O9J&?I!XZi8h4;2*h5P=UO@j*#qvrFQ2S)ZD*Jh8^)8Z4J^LoEFY`5fVFApx z4`~NpK+ip8$3Jb4_FYHN@XAK)&t!Undmu-p#o?(NGd4cZaD@HPb{0p)Tp1zk5`1}| zP8|Mz^DsB-m%izRmsh~&amWbK$kezpLy)U5&1jNPK>xARTG&x1+N3M4y*EkoWGe4H z8&+JW3km#5*Da%PXt*JJM()mYQVav@4^LOeFF-3+{QU zb9q{Z_=9qjr`nk)EG2sByoOw)W6PtDHYf}fFXb4Xd4Nm0$$#oWaQtCaAZyD`wKtcE zaRT6SJ}~upKM)#A@^32~>rpyoW_BVIgso8jkTtKvMv5Wq$?j3!kAK5|#k>*8&JFj5grs*41{EOg%8krZ%ys{< ziH&dSX*)TkGh9t3k$Hr=N|ho5xizd)TD=4{75b;Ctb1JWstlu^@F_#NTNi_Byf{7$ zz2mp-rTpMz za&m4FHeDyl4$q?bAVSXV4c=&&bUUWV(f2OMCNV96Ve4Da2ND-KQ#>ajCvNoigG*8} zbM7$1vKu_(G(Xq87-)zhXmGEK=ts_52w(-WTJ~r8rfR88LtUjF`lyx!p|m9U+}k+` z2OWu0=fX#0lX@}hZ_bhG%_Eov6e7*x=lW{SmM`cqD+X983kpNJKJ2o*fx#htqz82= zDSfrcM8V#Tk_=n*%)su-LicQLi29M06VB5Ld3p5e#%*s}%?i6$Ht4(LRuTS&@hB;; zK0pYoE9U514Egg!z=&&I8@Cg|5f^C0Vh!VM2P;I&2mpQB$T7}RHmm1RU`yDXrS*6P zLC!r;;9thAUj~6jwpO5q5YERRyL}A=xFycM+Bt7*L-UZV>WMd`?SNi^?+0ItPg5mqnokvb#_H>I~w%=!k&?)(dq}>rf)UK2jWl z_;fef@`1tv)?>fVcEbDOrXLkyJil{2f%r9G~HZRHO_Q-6pnYtg47kGk(0)c z{d}DIoT4Ke9#O@Ks{}YRV^Gg>)LA(EFb?$JKK_;NiZ(@ z)?IGt z*;*E)HA+YrgsPO#RYoi_D8O5ZU2ko7;nXrm#;xg|TUd4vA_IYw%`rCZ+YI6T>=m^2 zAer9wx2IX?=n@FvUKD)$qq-K71nJ~UM+Q_HYJ?rI=b)8GS7F;dYw;0Vh;y$$pp|G4bYOaI8VI@-t~&`j!qP~pzd(L`7Njom>%2s2E@ z@6;&s`k}h2C{xEI5Cdz-QQ8bSk`tEK`f-~sCdXU&N&XhyS8@h;8TbPII6%(?b=Ps4 zx&Zj%l=qPFg8 zZjtpt0Lmk?Y5B1dK=3#iL26_^8cDWRu$z~mc+VGT zH0jTIVx-r-*d`)~Xao}5Mb0bI*hF@a;}y$V7&LPMAnP-(nW{0R z6_e%yE^&d5znt)-^Exkdf8Fi(E ziQ%w_US-zySv-kW^!WscF{6dNaLilwGvlY<()|!xAO5QBc#lvTEbBY<69HBpynVef zA8`VK;E!kJcJNn2qmDmiP}brxQ=Z~%$|r)&I}y1gazKd<7*D6449z6ZLL*Wk>Sz^L zE@P1UGwo7G+bIzgKN!QJ={c~P`Mjd_w4n}B`~ibdRG9QVsW?Zt?G6K1fcex(pvhqV zmhE;SNj<5POLU1tD1>sec0tLP|13gS&x~Lts0VLqSc)0ha}y7Iu@4hjtFo`qBcSpb zddhzWE!I?pd4bG#dZd{uVyPo1EKMLN`q+RY0&;+G)k*Gm!>rECcSSNwG`zbm!)(3ugc=Q<0yFJV|_{HO#-#9h{vrXny3osk zKP4#>1X7Rx9nJ=Q5;0hG79+sQG^5=7LpmaTG$DT9rN8XiUuz>=(r+*xdTT@72#a2A z?B>dg*m9G;$zNStG@QP}FmFc!YisNprFxkg?z#wvE)7*^C<&?a$y zy$fa!km59~?+SNVS+R;_>-~}TMTay>r-#JleMkI5ON|jCE{d0F5l`dtsTxTp_a26j zCI5PvO<}ua;->PKPx5XQXrt)#j}VuH5Zj9H$M-4tfhUP5qb#d%#I9%m6e?lt&iJeLmTpxe(jcmfVyj7&r_fSTI z2mJhlL%e3HU;`rFmbwxMU2E_!2Yf@-dCB4{jm+w6s97t=-^TtcfVCCw;0(vuJKD`m zYD_j>JTj76^>sLS7~1)ej3Wxa`jr+tVfySQ?3|M?MLz*Q8z25qjM`1$2>xf(-^0y- zAZ~hSO`6ey+$CsG!~ZgYRj;l3EP$(!g?JUG$P`I`t0T7^YmNA{Qw)O6j8l@cucpp;8%IQbp9U zlH)gZrd*E*BPoDfvLuS2}#EZ3H{5uG>A{OYK*^6Vp?8tylyt{g<9t zmj91OpgumA{vRHJ(01dSV%D%q<~*ep%Q}MKort!04((c47v~2TO^=O}U17%_@HeUU zQ0ZT=D|OASvAkWeJduzK?rZ>aFj238caa5L=v4y-|4UUW!*IFf&Q zOG#jz{Tv5k^uRBwyHp%G7&hCZ`XXzeZc;`^Oi>O62J9>>4KQ(%Ozg<8TJ#vWn&DXw zWSs|rl_s$ymB+Aa=kU$FGNPz{=Gw0z{2id!6nSHRG7|7OS}34$bL4GH3?MXNk#ME2 zj&U;gwI21+pk7K98)?~k!;*6O5Pye-ZVS>tBw$(lMjBYY2%3NAG-<<&p3un!z5emJ zze9R?+iiXC?mxY+BiEvcQN-782WmcWxnaGg0M?LRjanH78pa`Mhif*zpiRTOva^=& ze4GObl;)`3NI{4r`xP`vDAonrOl8JcP=`PBOkSs+*<5Ya;f6PxDjcUfFSqB~fnb~# z5+nx}?|Nla6B3X0EZ~|-3N>^3Q`b`auT|uq4UMe5_)c|O!-+Dc_w zv~ZBtCvn#yC=v-!NB%#Q#tKerehoXW7jU_Wx94g&B49oOcsUbOM*#te_H#<=YovCX z7}0C0hskR}+c1`@N_z{qt+2*TGqq5fzgP`1900Cn4LQ%Aq+~)NJ5kMtyLs_HO__v3 zElBdKAdhwL)6jwqXD^KR@FwT;ajoYn=sn_5>^Ev(5y2i%Fl+68t8-c^00CL}GR7HS zI7<3)EnI<5j~q%P@nm^kNHt%NUflUeNMpi#feQBTddUjEiCB5gO$w zO@7g&L3%+c%gGl3SLrN?f6fkUPA`B&ZlDAXm=%c z6qQ>wL{m0o5<)mRp`q>z3_QYbc3QZ77r(Hg7l>=>e=}Ixbj2uyAF&=90mTdDk6bbe zHs)JH_*dr_;E5@VNoB}!l&O5#y=Sey2jf61y@6LN@Ta8+{UHby(Njmt(k6a}cvdJ` zMMF_V=cj92_l4=vhRDh@$uUyhMU*ez)Iin#%Pf)zi>lPH>-HYwJUCU{Eq=K0qv3{1 zBA}+Q{O-hI$aC=mOC$noqdPOh%c)f)(>gklpot1=dC=0*|bj~A9t z2ovpc2W|c{Cp!`)jMQLs2GZuHOs0D6R&&^SZ*{R4lUiFXDJpCy8Unn8s#JFlVO7AR z@?Ud=_JT`227<;>O5~NfZ*XDrGmW1^9}0zMsB5d6Vt>Y^(iw^B#L$)hNs06vmYDAI zka2qJya#i)@MyJ4)9zN3gfYNkI*U_vfpXJUnrb$x+@DK*iP3nm#D9@y-TTH0>R7+n zQQ9g1d8W?{dU%muy1F3Y->rkdK7z{(7!k`sL?E@3X{1qLq7Zhqbw>2aL~_EbDOCc8 zqnR+u@!Oaqh!Tj_sUH)G?^R{Fdj_kJqI482KBqQf%@-yT&!Wz*cBYbNp&-fZQt@Vh zTrz{LKZc2x*Yw1D%_3oXG@jisU&8i z(jt#(>T%AYJ9`@Sh7a*!rM`Zoll|iQ13@shsCCS8bW-6rD(kzw#G5Dm`ajjC$7@2X z%EHPc=)usTky6bT9?~`({WurDW{^M#e|qdFmJ48p~30gY{YNne$m0k3y?0 zcE(VsPMzt_(;+pQ6@oVzbjP3kr-b~O@%9Q8;kTAWH)>wuBnDp3Iq0LdnwT>N?Y);4 zuM;U)?Qyi@m&1Dnqs3jErA?$Pty_a8O5<|M%u{}Ee;5bg;akhK|QC>TxgSg6+C?1^k$OIPk}*NV#Gf3J}*N}XKM zqd~Um?b5`tVL0O*Q0L7suWu~(qj#TezbDRFo_MMMWjL_p1X`8)L-F^}jx;Y`WTj2B zUYJ4O0#Zq^JT+K`urCND;dw%G|0b7)3MswmxNQ@ zO@OCKGSYxJ$*gbb|Cta3vz<4bJC7XL~@ zP~plHuXj1(2XEIdphrSjy=9W}C&89EJKjyL z)#)0jKd7wRQ^Ep^Ap?YA=91Wl)Yal21=1uPMI!6LfE2cEGk=MyAC#QYATrbJETD!} zcVdE;LuB8^FSmTz8Oo)%Bu}oywf|8dJ`qe^CMrztWBpgs;E{#`9?a9;`EOFTj@Yt) z!gLL(Yw{vOu=cc?T}yh#olQ@#iwOJ~l-cb2j-`}IXk{i)$m4tEQJiF01PZMM21*q&8v2W4k}@1lq~ zlRSt5>%s$YK%DvnU4U253WPj_rd+qgu8LsbxJIMklieYE8FuUFO^CzLc7kf^VhmdP z07<-?FxjI|J&5LT`lm!h+aR|(I3pZ}!1Cil9ak#Atg2z=TxJw$d4mo6212%1WV|EZBV$xBa% znVPT*8-FhPso)_v@W;fH4yy_YF%v_iL2^EJQ#()m9D%&=^@uwK07V&K&=EU!bfh#G z+3MB%+sYm-_Dw!)26sUlG4=JYc{D>1&Q!jhZDXfOWB4BEaAk?Vm)K z|3`$~f0$HN$b&-fh)l4Y*t`;?8<~n303>mQxqvocO0?5_oA-XL)G7#6DH-<=OmKAR zDoo*c7t`Ov4;{&rb|65)3w50M>nE^xND_s!Hi|$C$}+N76(HeCStP`&Y>F}2SppDZZXk4!qWTVG^2N%R}(lr}2nL)(|iwYGOyfaZkvCohR8W9swM{a+GQ6 z7G?tUW}8_zqR9FvJG}&dL9Guzn+EJg(Ge>c=_OI^$8@Aa8Op%|Mh>%Q?A|JMd~Nio9sEqn7h>~b zkU|t(1!z=nTKPTUmbIg}uqM-4;SOpWD5y*1$XpZAH6_0uxqc-Qr&m*fQ*EA71ch~8 zB~P$!fUcn$aB38!?nHtK$TH{Zd=LlY@=^wX22~#*Jz=)Wh-2tNc~_k9duvThuEtgE zpVOyph50!e&A%(D;#g481pj2UxsQbnn-^VSQ>teYa_ChrUXl}|cBxr;&Cqom8S3$8YQ%zb{P!k41GT8#i~CPrSy zZLnD?{6@a*4Gyw1#72Ua8T&K<(kj^Iau&F5D$56kz_e?7Ks$ ztl7`~JW|z9qLdB_4$4a^Ii7f7YrfT9#@_QF$ht?>^ca1=jADcc}3Sy*aQMdgZvCe{=43IRl0CCb%6YST7p%&`EBLL|H6VK*GY9hVAQ9 zlJAUx(#qLW`vleC@Qe9?TPLI?l+a(jc~vL%WDcidz60ggqyM7g1!tL&|V7=!_xM@c>h6jD2 zITxss!cTybq1m`>UDrO>{SX0|?oUhv>@O4iX2a>Z>mqAr3P)~(O5V7q1bwtiJ?vdt z+W=IfqUnr3;l-Af;L%xX*T0Hap(c^i0h;MmH4&S~Z%S!Z8w@_F)YtekNTLnIgHZ0+ zeA)0<)5Y>1XRyx_+!?gJPoO`q(y;hs%O$Ka_c)=0*@zIE(*7+OL1?(Ezk#Guxxb2FQ^ki;ucCMunQF*^+L09I7u((mj;CAk(=h|(8;eTJ2Hn#t}0_sfTHwZ<{vrb zmVbhuK?=>27Bb>ggtzD%C179QZ$}qca~H7p+hE)(Grx3G}Sc|b9 zbmt#Q>6?6_L8;0MffY?wwkl%Zt0T_+(thj@n1}?tH1$)^bW8MbOhr2WqP4n1_MG(D zLI3joIXFMui~oqjj;!jNw4OV}dAr=cOHysp`!r}oWKcoV5>7Jxl|24t0~>_5Y-&N> zVGM%?^L_;)|&gJ(xq z{6UHBFSiuI$=OGB#~{sL+I<>g=6%-54VHYrx=mU*q%45Lw~!S7RXrBSmb3zo*`I4S zFYA2a&UU9`dRME-;>21Jb*q{8xMIgTLVpMY+3V7m;;VbNy``%DlZ7~}c96k#t`x%@ zVKPEYh=3j<1us}3z&=UzeL9+iz3s_X@}RvVqKGGC68CWOF`=_YaTSSsUkH%p5%v1L zd$?#`#VaeRr#_?t5MS~DE3`3ojW?%69XuP7lZu{MTno+p`|jM#jagiYHy_U_dTP>W zX?tSot^7YO9J4jJ#;cnZ5=^6{?-PV#=#u4lQ+wGMy7u;BPepl@N_PULkNygHID+TO zw;-YTx@!nmsg-e;r|>o<6c*C7)+kw@(IDvBK&6#3_`H?Nid=fvc*`8BC)UN>H3$*p z?Axp;&ArL}x$u92YM{xh*I^0y)>Z-*wgI-C9=Y(Mz1YM7?YlUZyTx_**~Sa}413K=?)vvhm;!t?&F&SSTr zGzGV2fInLNG&4-vrssV=oLKrR5~0hGnup{Tx>%*_Ln|xtpG3a?sj`a*Eqmgp+22YL z4E$!|DtJOZ=g%BL;=!Hb$fZufl^++9?2uZiD8};6@|voi%E;u-PQdc~Qp&6hjn9uH zkB1vc8N0d5q(v(i-EurStrx}-r_XRq*!NSNx->bF5(@}&3>CIJx6E@F8cjen?lryy z4i1utJI9+up06F%hEle}cQEx?1CE7S1rRh(%J8#{9S+r?B6JKOjturOVV2iAJvE^m z2&t%Mip2)SN)A%J3St)ia9UXCZe+ZXT>hKdcMa4hisJM0B9#-?YwUZjLOQyQg_l*CZ}!6vTg%HzoHcJJuS9w1-%rsvMs+Dw|yOEtyK?~R;3Sij0f+arw;D1SS<-F zn#P~Z?8bGN1oU<0L!bR6v`5sm<>ko^EN@1rJ#f~Bn9g!NW6QYNPevC<+cdj=sdx#SB6cQc)NW?IR+%FhtYZY+?&@F8^O;cTbl@1iGrB;vSz zU%+efw;|_jKkx_$V-ET}lF}DGwC}FidsO6gpN|X=)3{B0>9NXtqbzdYdv%o}_WNOQP&Rzx*B4?dc z!-**JSN<0gq_=2?`H_M4GAk6T(#8jS?K-@{6F10ajXRu+_xx0wbd23Ia(25$XkYXrM*#lzh?AYV3a>#gYApvI{T>`BJAnXEa!0 zC|pDS`#x}CL4qE@ehp=*eyz?>;tm@3t`4u*a;5I<#Q4xB1k*)vC#_>H>x*n#5m{4* zc>rw>^$A9x#IWH7)D&LkqzK-Qhvjdh=#_+DKOTuEk{k97@Ob>@f%5;b!W|@b84&LS zA~L=PN$sA&(EQfbn*%4Lh!1&VY4{GfK(y$~G~3odZRcWcCdlP1%-2M4xuz1s55@l%&!Jq>#I518duRozVj#9<4`xEbzF_H zK6T{CSNsCc5?oI9GSS#tS$8T9%XS&5EU{h1KDRohf@nvuj-5Y!@lvK;H!r#= zj_BRUEx8rMIp;&CZoY3h?WK^t3Pa+SLXs2D=U?}9(xqBUE&jgQ5Eyl9R5lK%S+Ks4 zMss0TSu-6`b2lkC6BblinS))VDk+aOUhjkarNg`_1Y+9#8x2FLM6J=w#4rk=>q-pp zyLDH10|4(R0lGp=$qgNvc*sp!c3DYf#CLA}FJ9r3>stHB1q30kwVZP`e{_pk}%y!bW%poKZ||YZ4NJV${F~pvunUXZ+~(yCPY~* zNe2HCDHs7E^f=5SCXpz++n2Bzo7^33_dP<9!sS?n z#Mc27Kq%cFY`**{bOwOdR3mlofFJ7UrFD+~fB?&p#?R9`(7fVFEknD1D)Fm^AQ@kf z_c*Wx*+os1Lsq0rKM@qxS&&q(XP9C9^U?T>nrB;UFT!Qg;#Cq0$#iX}!+f0%jzQ~~ z^OYUcnpX%3c$>#}TM#6^gAm-Oa3r%W(wm-BMKN+Qr+qLOI~O&P>?&Av+M_0QHF7Vp z*D|%-t;Lf8u`5c7Ekz7@<;V|EWE2oC-g<#+R|!1#a(6cM_(n4T65OJWBXVRI`Q>Z1 z|3LgBcPo%fYvYkB^h!?8--T7p&uDJZ6!n z5e1bkjJCn^hJ?#|YhV((&kK*6V9#HqbYLa(DI7f2$-kneglE^oImu=*(-cTvEi+84 zz}MuL?R;HvA(EKwPx${5U^5|rb6?KQus}Sjxy>+)x5|w|7ulSWvWRctEcv0k!~d3M zi%mA*riK-*)-f6IF^Hc!-DxVhN1n^#>C!f2>%qQE(DCIT_kiDQ;VU)k$mQU4OZHqe zc}C8H5Cu?VuK!pF5gcgu*L@ysHC{kI9Ug{9kYnEVFUB;lz(n1_`xo!E=X=J9DO_`+ z)(vXt&w$Rrok{GKm{VF)F2EAB#T`!)8nMW_nL3{*q4tg#WorUSZE*-A`su1#th~QR zKu4^PIkJzz#nHcqp$dgvV$S_hiw-EoWK;Z}=Hi%U2IFn0Rg(@oEBjS`5pW}KzLZNP z>ec}hWHam(tucfrA=E|+ZR}@Ugt^r8Uq~62ylk~uqVxMl!&>%=qA_#+=hP*`aMadx zo|h*qOfKb8pJ3ZMP9^7VSCmHK6F2-ZHO9QT6+3Q%u*#gtX|+ZJ~e3=>3Jt@K@X$dH8kbWOUtzud(LG?rvj;=QgjwaHOKMLuu zyKFNNhuv~#3)evZ(G<+o;zxf;Hy6D}>n*g3TvS5s{L=uRK;4e%L;bP8*G{!f*gTej*j$~9#e%Gn@b zwA*_(m2q@u>&?f6n7}dGUXRXuKDZHL;OpyyT*LPu9kaWjjn*_teH#r*`91t;Q5lB@ z$e9t3*NHqfYbwtiI}1HPxMcN)I)f}s<#0}|8N_j2xb<%(MV`@tj$sWhzOM z1T8u2R*kZD3a=uHO`>^EV>lTplz|nB&UDQ*Q{S27xM)A?ZGl)LseZJ4rXnEf*HE+i z@)sYZ^?qfHgmqepW*c6Z57+d3&yK-$DM{+p_V{$^hTx5o3dU|Ans-;Wn(=U&w&PQa z&e!0V+9f@xOEH>e$91&ab6&!FifC&1ndHp!g8u1}m0`+NGDf z+ey+bPMdC{j&I4T|Hvgs_tm6y9gl*qgx|K~9XR1{q8AnOv(euCKDp6I!3)r})I~E) zuxi>eWUFIusNyXwEQnre&^wd=p~5<$^k1h7St-H%d}o$7lQaEgK{Z4DfooD4nEuPM zvNatpn!2`M7zVf4ipAEpAdDFpJ?ea7=Brr?0VV3^v+cmaJk)J)*Vj!>P1 z??als*qHkt;xBik&@ynm9VvIzsoZ~b=iI-@lAj%APd6mjaNFV`iEqM_M5Cm`$1~Gn zhXiu`La;%$M)g64a5PV}jS3z7l$eNxk)G8HTOj%an6UmMk#8EwEKc{S71O~a2BYRa zhD|4wYBe$TNtucSo_eC#eX?XS1H_~2*%`I`7hc2AQ)MxpkPHDgnVEfz@#{(yQq~*l zI-{w!U(;XWaR3Nf@nkP598>Q)Rg|$UDZIfvXLC#@Y`+&3+?BRc+QZAlzm73~Pb$?x z|4G*iiG0*cP5GBDB(1B!B1x^HM9IF&wh@`pSlC4Ul32Fu7LF`mCmXRMei4^0*s-2QB)( zzFcKUW;)+Ja-|bx@sjMWnsLLQ0Rva@w9H-4NCK6JS)Zfp9hlarU}?g%%C~+t6CJuv z(wc5AP5~AoavqU-h;>G6`Zp$J`|536;{V0K!~UQY7*fsH)lqUT*(FyG4U)pGoS`+U z7D>WFuTD@YN$YyW;$_9373?464>Y3NJEdVwgQ)MHW{YtDY7~K9=yce=u$T1IlaL@) z^Kc6f6ZSPWx zW=2u$h1tw7nPQmU7b=$0pz^XyN|NAjM!J5blc|HriFfs+cV!fOd}F?&^n6m@f?_|r1(=rZv9Q6br^0kONk^UFN23*XyA!(t z{n${a3!TpllA)z7_?z1DSqOd%5N1}@i4*suDi*_<>!0mMV_w|d8>6D)i3tBfC3%Ya z03JPN>NHU6ZtS;EvT*2a-19o_>$d!YbDRVh)05e=JZzn9e=G1G|xMEqu@1rO%nJg3OLgy7N zU?3_Q>kPcB@}QBP(xOAm%sE`}Ayl0(5>QzrcB-|Gwwi5I?OJx?mBu?&Af{DKMK&o^ z#mnafR|HL?H|KV3!ANeo)P9qejv6VWmiak8GoRQPEk)P)C7LG{Vi8p+{ZmwJ?KpPJ zSq|RIoH`{P@ik)dpL8a&ojaKKeY6RSY!jy}{4I5B0pbp~EM;c17+fuD_T8!L-T5BP->t~{7iSQ0BL`0_mT z2);{KCMt|OK+!|_pb5eP=>-3)IHp_3BBUB=9%A(aS_gK#L*nX&S9)GAMD;x=(Fn4( zxCm9$Z6|~wuWKr=saBRwICC2xD8FL!;>FnMrhl65IYy{)K$~d_ zR*j+A7BAwbm%n(DK5oyB?ODg-5uxGvlE)^sKG;0kzTg}~Oj%JUuSC)AX@>Xl%}N0U za6`;ZU7$o~|GmI488C+i@%kp6tam0g z?JwlJ%QKId3)44^BN78eB$iB&XJLEeCT%fptZ;LGUdJwWQfX1*=}M8DY0c`%*nGR< zL&FpiT}MK81(4ktcEvnSX~PYwh?h_3W&YzxmX)^lnjDvIIg5fJ0UUiqznR%ggs9)$ zn}63;1+qVZu2{8(jH|H<_iwG55ZTXBO-+~(p28xk$o|8}a;Z@w1yq0&N$>6aHYvq1 zPlz%{wk#BPl7{Hha9TyzxF1U}p?@4VYrgE`L9oLFa;!%GpD+vHZAX$&#hr8;(}6kJ zKu-v1!Ca{~S8G2w!%Uj00^hxHioaR07ls(^$VgT%F)lix*=!46MlIKS#G^8&0uG#C zxV{|DuVCMkbXRu+m*~Ing8rI#0Hv7gaV#*oe=f@FDgD0j+D@DN{vw@fZI>2Ril1JA z6|_RIfp#x*@4mNJ#$JT|eVy?*55oahz%J9j@pAbx$pjUK51)v2zB@OHD-a+2B5lGX zC89K34f*sQZQ%pzKdm*K(@@^$Pki$w4%w$J8^pct;g{=ydCb+`it~_KDj($j#ojZl|oBC&^;QunGHT)WZaLSD14CV@zQ<#G89f= zud~$IRQ4-aG)S6v$b#*8+|TYgqOn$JB~89=FV5v?da@XxrrD+0oPO2fa3PCnAhaV`Xrbhw?S>@No4{ltPzGj=;60$fu_V+Fnl!w zByUjuHi#+K_X+?@^B2hK#RJ{Ru=Sh2IuNy*;_lBmmf`%o`~gpN5Z3{KGO@v6`Wu$^ zTd%Yq%h8D2|Cyp|RW(1AoR#&KFJHZSK%yyrJ}pGt@vunIc>}7C^m~GD^4n;e zRRegzZM*J@Z{CSkY@>SynI-0D!8iZPZAQT%-E8am|Ce*`u%HaK2B)Y_leLW84lvgG z&Zb+p0OoDGEzR5brCaex8WP)&7v_3QeznwFZEy5?rO92`0+pq44K`^|{9|O}!dlH; zy#Q7Zle=bOcy1#*G{gk4kBLnZei=p|*LVed2$Ht6=iuOl@@SJ$FWX&GB1X1~ynBR# zw=EtCBM}DhD(}H^o4f*`X1jW5G?t}twFVyQCY?x=HF+F~K~0%gs`)%@w9?65kD^IA zG!hOVP(!;c4ma(&g6SxKt`Sa!=?}}(hHG+zN@UMVZ6+*!i>}EL%`<=l5|zOE)M~WU z-Aoi%;XYXYyR%=6VmR|Sbte~U6d9OnqM#y*ZU$ zumHe%oDd6(T?okop=8B~)E~<4+)sX3QBeuj9jYc&_T1dx?T$-`ck@t>m%eMeWJ``Q zt0r(lvorqSz=SXAJ0tOQ=uR11?F2TzbeyN>C9$Tg^!$l;h=9?YC`**nOw>}}xMWe) z?$->r07CGS2r1V`$1{$*t|p9_gg1hfV>c*G2M`!&nQ(XgkMQ9|50K4khKA;YB*Y-J zEBPo)=5(uot*O#;du$>IDp&KF|1-!zh+KAfCyHybgZPI~Vr}X=WBP=sPXoBqW z5r-5EU~1(uhcYZ!)v}MoJ?~=?aI;JB*#}gXh}O1MUJf8=L0L_XOE5*C2YQ+ca95Fj zV(^P^*FR=uX6Q>@1w3-SUl~ECDcWaO03VH}&gh{K3sa3eSdVC!rDc+sTiBa7PVWg>cv@Hp z2_hWOYga!cDB z@8O*sI4s9H1`ETl8>A%7swpqJE(0K;Kb9_(XciH}S93hRknirPO%?ERP$j!-`}V5l zm#ZV-;^cDw<+DZ^+g2V8CaQhCHGANzKuPDV5%&L=2>9G5=K%;^@OxNLR2g`M^{EAZDVC;5-68`+Da$xnNyx@Nl*t zsGcZU9-+vT=I>`D(%m^Wz9cNQtXFV7BvqvZ=f^YG+c=|56;6uHkZKxsA0Rg!-o#-Ltc!&r>^9{4~7AkSAA-C>%wA6~U)>yB{y?d3ctaN-3 zkrJL%2-8}tLaxGxjQocWokLWZm#{o~{I?o@nbY1zDl?nt`Lo0+zXYwYEwX>{uuqQ_ zRfa|HBGok^%~IS-_FUC>J0PX_d?^4N+d_OmGGrK(?WGo56$Q)r$i>V$(9CMLi#i3q z{1J0JaDi#D(|ygiB$ewo=RY>r!tf3y6Vfs6@SL$ti|4*93A zxP`9}=q=cHxW(w_Y%S^JDnl_Ko?Ut8R~qS%$jxDz0;r$;1D#1_iwR=bPRxsC*hv~z zEk?Wi(h3$IjW-!l-2K;oVH;1d%-MmVhflrt*M1H!q3Qfa1FrCkDu+rL!$iCUYnS*U zaOYe)-6zRTkvIH(Oe^i{>aPKHtqv@fI z7O4fo$1Bf3vF@nj#cx6c)mCgvx9DC6C({=x9z^V%1V}oY*$D z(aQhAL*H14?l08jA-Rjit*X+KDffkpreT^H3S{@P9+5bV^-2pYhtc0Zj>0s3uv-Yo z#We|F69&$2 zAWvhSSuN$I&YOIEo-FiJ>o|w=&`Ri4#J5PigZxCtdVzb_X+(H%rqSBjfch~2*nv&~ zoN5?VC9tJfI9a=sYvfeRCgBF5`{!KaHuPTXPDyM9+5u55*unWsF7e&OS_6FLcTl80 zp>J@*bH|9P=v&S#T*UGgcqR?>~I`!H|%JKaDTC;DMb(r*36JqrdEvi;D%x7C~&F~7x zOEQ~YC!`uj$+|h^9ALo7-E5cYQlx^vBcaZkP5R&DO zi7RR3(9}T74Cm%x(EG#%veYqA&(NZN;Ror)xX zj?~U3F#sxbGe_b~A78@+D(FxJhg@)_hlCM~v9=aH+$Qgh;+`&*ibAz8EfpRhp%Ey1 z%V43vet~oe(#w<0K6H2d3^+ZZh&XRU68yvAOv7)>F7M^>P!_H_>o_>xI21+NN1X731=3396;U*odY3w^>C}#LR4w2PY(EEp#cpu@%jlHjz`W zv_-oOZ#3Sc<7~&SeS2$^&KGex33{*-^XjcfQL8X|%HF6jSf#UuQrO$RA?t@W&ZGiC zKFu4Z-3=Piam^jPm{Z}WTOA5dg+FG8J7a`bmN;amFBbw_H|v5!aR%5Gd<=P@>8FoJiQz8G#dsxmUuQ1VFmjb-AA)JA1?3Cyl(VO@ zuL8ZzWufqnH7KR%zTtib2m40I10*j6NFhAhReifM+XhGBH04Uo@+yLX-v+6`r)ki| zFh`aDdpRNZKCX^CD6yh`#GUG__I@N2e<)0WdurqDpR!kSrVqleNsKYrifLH;FT+(r zLNI#a!f^tjL_ZNJ{s?B2Gfk0{Raykxa-9Im!^^5VXY~8cmJB*587185!XvxuM7;vk z9N@77Czvf=j~#oFlZZE%iCp&6i$AotQR{1%0s#-J-lv2b$}iAHh;)ia2Xl*){1w~N z?Ui$n#vWPo!&*)mS6D>`gPUpm{nWKv)yE=SdRn^T0$NlPsNE$VrBOM<#z6X0raUK7 zqD{$!naoMZ2~nw6tjI-xwHCtQRSic4V)gZuhZku<6)IKqhkEHjhQq)TZqXIwCD zdm1E341b!?0|+WJAjCPvlmWWK#bLeKp6kEX?>p`#LW*v&p4p4;+A zR;c@7M^+08x2rxG))eTu->#uDYubW<>9io4BM@Dg3YEJw6KGi{pjV|qg`m-Wpr!pY zTC!};Q>yr(_1C09_+FcT7XLxQOK2|C!m5X!@NzrcV_25Wk~GDa%RVn=}LoH)6af_RpH)cW-%Mh#w`YgZ7|auRqw1m&7RjYD*io@ zfR1=}AKv|RraT?;MHQhKsLN8BTl*uJGw&gyRsx zix0moP<{{Qs`APkgF=%(L4qRm*!@BImEzeKKYW!B!-dX8`dK6`Ijgam4n5uUgvANT zxF*`XUdjhqE{eA~Y1fB9h&3Cl74(6X?y=X&l`@{%%hl6gHY+r)U89)Dl-r z3pZ=?C0=d(l7)NQKh2f#wTqq(vmJ|kU1=R)d}0FZEKZm`ZJe~~6IDc^kpLFlj>PjT zUh}gpaHU`V1v~wE;}*Dg-$Dg#PIzU^+=rx*>`%r^3h^`D2+evps5`O2BfM43d8)Z( zkvU3oLSW_F!7AlApU$gwBw4#U1YK>bPi#TG+u40Ql*I6;+TD1o=NoZvbVY%CD5p|}$ zvZL6@mS|>sd5Njx!0x1FdQ$N9Qp^jM;4p&aDU+~c1$bT6r!EgaJ^{AL5=XX=9?JU~t=unzsU&eYiYadwC zbq)|f%I+6=VMclmPm*WHZq+P_3Sy9?6}|aa6*BH0+aR_O7yDo9Z=KIB`Xv}ObdF%} zn<99^yF{apY=5oA*j-PIizFshYD1wM&%0}G3Z*_U&*0AOzOyq|gsJvHV{n)I*TUHt zM7Dujovm(_yPgu>pUL5(ix}}Be_?T^E$vwADq4C}_?lQ0&L2_Tv4c=TanQ3z*VVg+ z|9;uJsx(g24CiYfV}|TJ;l(~FUdR3>w%V0w!wMrkE{Gp6={2X3a|67~H(!RoY-n|B z@LWGyG90leS?it4AXawqULQ)AnXjNOMRclI9|^&OjQt_UtrJEvLI-H+zEA3z+AXj_ zO@RjgLPx}^E0RC=qJeoQc81^oU7-tL`?Oqxq`<#)XWz6NohLy%=uJWr|JBSAr5!nE z8iabgJV{2ZrVq2FjETq_w!52!^fD)RE{x6Xs2^-mAQnW)w0dm`A>A?HV{$aNl>})#E?$jp4Nv!CoJ8(QPd|BJ=D*v%s)!PN zx>E~$7Wd|-E6GZ7n1Vw8yYp2q(%S$kBCXKEr=h`aN9~sDh=s#$9QXjhGK^seVq7VD z02XmKQ}rjW?xCMtHk`K?V3xHmb+x#v$8IUA*;oLZC9WP}5L}-|NpO>kh6OG%$G%d~vUZ2D%PxTkA!6Rl@~l{-JB3~CE4y=rF;b3a z4@GY<+n!|=bfvNlr>wRd{~6WaY9-jHN*+Q9e29wWBJKl4ky@+bTQRwWyCF%`E)^J6 z_=*WM>w~iZn~N8zy3_>4{l=6IrEk`K9}vX~mNJMT%*KG_G`5z=h2{UD?jD~r4cj(f z$LZL%ZQHhO+qUhbW1Dwu+qRu_%#M@ksrfcF^US+uRjsP^{rU^eYdiK|oFu#l%MASd z4yQjOBSExqkv~o1{pqTkikUr+l|GUxLGsf4N>3ulwta}(VuDb;N416NGO-gAr=UX2>CHgv@2B} z^7i$Ro;qDznmm#;2~MPW;obd!uQDXK>yFdrlW5=t%iJ%J5`9c{>5N@Sf)(@Lol*?0 zdPdIXDyu7E(Bj6b<=Ia99Z1KB4eSLnm}a1iO7p)@oTfmd^24Qm3@uXx56lV}e7DSu zy(tJoJg8y5vE=E6hyjm5Lj#J8*eTP;bnw+`mDa*=nHuo+CX_6m+IFO z$G3^1RJQv>ym zQ`9#2Q*}fDwjwpE=7@)mbn4wLSwRn23)V8Q+=mmvKe%S4V)}j`ZAOv1m>FV?z`kmX zh&Be$3qeuMS*O}&W8oP}YAnoO7)h$bBimq%2$IT&7$$4pOdZ_vG9d{}CtfJ<5-%k@ z_XHhWI`wd_d$(ZpNqL$5*rpdiMm3Xby1Z*%jMb=8WHohj{nuakDUyRNmivUHeEDMl)O@x23>jM#H$&OlJhRb7T8BnQujYHoUgld>}R95y*kRj zd&8XuY$QH1XGm0#AT!;6IYtQc2DPaq-mZa{fpxJOdFyGn-CV2V9$nWog8iy#qjL7g zd9o>zpl|x`gp=mg1M-vS=o>H1;_kBV)r0Ai=iwVK`RLVM=#!`Z8}B;+elhU>Z-kQr zx$TzmuN|rfTb)SRY-ZW9=&A+o1NYKktKv0dRygdU8IXWQ-OB2(M|_P78(u0u$RUpR zn4KrFtt-}hx?~%+nFH3!o6efra=Wu6b5PUN?23ccOu?17dj06_&RjcWok_Se8h<+qB4_dMJpi56%9_~izh?||k z7UyR)Ozo7-cUQaEuN##U%`>2WArE?86+dX-Sj9tL8V_X;FTDvNb$co;eHPn;UfAWvv;BP+Pw zQPiXz=~U}OkHM(`R7LY*la2eg6Gu-iEGoce&1K&Vjy-;J-(0_YVhIac9J{kP5Z+Ez zGK$6GI>gl}JV$05%2!=ns>Go`>dT|6N?; zBA^fq?j`rb_bffF(`$i}yZ(=UQ`uGDc%e{Jl=+~R<*(L41~;hcj=s)wPLPpPi_Nh> z*xIm9!JG!U11-zD#}hd(g7MTxCRg4qFe$0gYx|k8K1KcU6 zOtwbWwHkTR1;Ow``IKqcg@xJNih7hPKcPp?^;qB9DwRZDOn#E?%pv7M8z{(mprW74 zC7e2PNb#e745p@ufol|(<5V%&x!&jG@GqUpIqi@Ith%hq+4!IaqN9GkrEiC0)4iRk zNOC8uO%qo*BW~BQWelQv$E+t7j96wA`zHA@G^7+E zoiHEE4GwbB!l1Zc8llPTjXiE(;cH)B$W2PCD!SY8i3CW{>t5XYEig;ao>HtTv9Tsf zX3QPv#+x=bZ>$Cs4692NRr*>3e<;&+q9srdm(?8ynbKVuhZQAey$g2j$|~FALMj=% zY~yQ*zb`#GdOS_-OHEsDhvWMUQcx1LY_6~nTg`wlMpfl}Xx~MyKz}fD&(h@b^{Nd~ z>r!Q9;5`L7MQ?ziO?Q+d?Q@XZAc3B~>rN*c9YBQQRKGPavI*v#*%~~|X-aywe*Fq; zhr&eVhf7b66okD{yg-ty7t1GBs(@Ns4R zzOf0Q;(Knzk475AfPU&`4{3HzB+~WLq27L>)LcP$mT}yVHGp+riKv*+=Fp+TmA%68{R?TSo~<=qss5cN z_^#?RWc1>rBsc17o<51&XT30ze}*hidin6w;KgokSP;u~Mr-%^Jh3Uf zrI8j}uklrdaPatn(#0CebF%-;_j36(4^2r@r^f%|EDrqGZwW3mIw0{-^~Xz9>$)+I z@~o_pp2n}EH`1S*(ybST}(au~VbL8<|=wBoeqk)yi`E8 z<03aS_Ue5y`m{^3G+DXN-+=U1q^@9%$TFY<4-`QslLh?7B=6nPY)|WJGF9Pp)S`^V zip`-=F&CO^gYqy;aq=N@F9c{z@pN;!I8~>g(AgtPPi?n$v-dL)lJ|N@r1iC!CMccJ z--=>~g{e|Vi~sPD&uO~h?mL3pqRSPYzwxtDL z_P0Z8uu(tk+`$E#yrbp0d#%M_<+Yg86wC$tSTuc8)L`TxO~S_Vn0;FM9yN4pV+7|9 z`s%oHl6!YpF0Jtq{@0rfclOjM#NW-O_ecw37n&se$|I{;PrS&)O}k2}uW9JB^!E$I z5(hT6`N!S%fj*6CK~ACsMy^|6Gm(|l@jIQiQg zA|atVmgWBXH(7)#UU5xS*ffHv)9BPBE*ta)jU~V3f=})95KGW9`JgzD^elai-%qR>1<$r{6_WFkWa069 zJ>t=Bq8NprwAQ`{M!j(A;kaxNN-J)6z}Txi=M^$)op|w(G||6Q&p&C@z9Ro}wzro4 z$?uYkAz3)F_s5>vk97Kym$1HA!{JBq`+El5!73Vke0<1!da0_+_rn^=u&uvDlu=!do#M5Lh+2j*%i;#RcbEwm};nq1{P$+>` z`FEI)>mFf`hw!${@nmPL^q+!ES*HWLDfc&8)a~z&Bc7NDWfX(z2q>n?eyC3mr?T9qTu#yV_*5zE}oig=OU?J&nGQDA5LI&Zup3CiX&biD6c-{MD30>Fr zX=+#X#?zusc=64>OK%6;Wu7z*32iiZP*x*?Ocmh?N#L5i&A6=P;__Ta-d8PJ@@^)- z{0WY&IgpdtJ3Wch5qB_?qqtUN8zbHD>oLQM5!$DF|^gbxx$kQ8FS*Dh> zHu zdqW6tKJ@8SS#Blyx+~yJaYzw`mGg_lU`idXF`*kOA*n)}1SQSaJ-a0nbbg&0r3tS7 z1X6bH{mi+_lia12lu&|vrpbUfg2TCVtW>4|CthrmWfAb_75h@cD`eU&SW@wvm~9St zwGcDv?S^8PmfMc}gC(@sZGXpxRAnO3?wrJnX+?P+=u|3VZiU&XwTs9thJ+mJfc=_d zlgl1GXc=tUd3F_pxG3%tiprB^>=Wz_OxA=VqQ~sZt-v`HVjLlezA>O6xXiFVpnVY% z2Yt>kyTql8!S<+vPo)F@);dWg0OI!m9I`X`7l?2l(pi&HBT}vc>e4r~%$^ft=PL38 z?xB7Ly_TT!wF7f?>FKj^XIwuJM(XRL#LMSj zk=94{*=QT^_H!Ce)?=($$vPxq={r=A=_W1c#js+K8Nmr*KfrY7sjPza^_mhAGICsy ziTB7k2?qJ7*L7UVknoj!!ATxKyLg)d6HDrW{;h3=`I263fq_X{ERi5Oe+EkQo~tV5tDfc>}pDDp~;=UlGI*dGYwU? z9kPjY0a}|tnlLZGxv_`gI{BU4v+*`^nObpOtxo^hctQRWh%J8s7}p>PEkVLMnmG=-Y z@pmdL#kjTD^GCY4bi}v84{6MQN2@VJtEv-93$>u(0E&EtXB%`q@6A(zP0+rj^*R$wiyqS{N0&>u z3hP+ddUg+;j^;FtvzkuDfNv_;kC_D zfQLC(n_Z+vxQisR6TAA=(AeX+8a3czx$*C};V*Rj8m{+)X{kKe?tzI=^PUXRn+x5y(0)nU2&yR>5GHNJ z4T--~Q&;J2HMpjogAs5TQ941FDg0xR?1s6}zzH1f#k3?P84_YoNVG4oWi@j<_{@H7 z{0r^c92N_5K(P*jmch!4m=|8}`a|K)NyFeN7X=H66t__9=DJGyW+MF>4Gt@7F6k^q z_$1o|@w$+if6U2oA6{e{MJxZN^}u8DKdX+=*%<(TRtWd&2laS(boyJ z-#O!3@@0zpp=$_Wmu7P82fM|&d=f{sCqS+|pQFPSB_?I>&XHa{F{DWCq=W&oRT|V@ z1qQLJVY(c&%4qkwS@$(tu99D-&;3CK386wH5r%H3kI&doQ=7Grd0N_nLp-LvE5tT~ zY2kB><3JAI)Gw-R7ZpHXVET}j-9zn3YlLANhpV7MYzSe# znU=tp1#rM)-p`24CC&>M4C>&;U>t{0)sZ*u;T@UEgj1twGq5EJ!3sX;z;9-_$x;R? zM!DDrNj^#z08k)c4ajOO+@V4@kOe~n-F^1h*8%zq(l)EjB-E{lz*k5xl(2R@?Zec2 zEk4ubScJueFfqI>4&^;?(3j02*Zr!#5AYR2+glQIX$Hf5K$psW-1;n@7; zK#vLvRxdNdwR{?O&op%EzEMht4*1_vOmdrK_Ig8dzoLpDN$2dx|jMizMNdw(>J6j+_Nu;D>H-g8;Awzd*VJ9Kgpp@9q6J zd$1pgV+8&)Zd@HG&+kx<;GuLX09U<&!E!b3tq&ii^X-pbc=}fnUq0jfEjJ=jmHol_ zLuUA3vLMZ>-~nL21I&AD?6Hsp9b$mckrJZVFees_fnR?Efp4pM_(CoSJ)Sga$;ajL-D+dK}$5k>_`ViM5&dncs` z&#L_wNRA-nBy&kYqV;tg2oPK2lJMTeBbrGx5m8%2Bs)?LNB^jeY9n7NO?fyfh% z*m9gic4)1--*YHMd459=Lr8sD1fhsc^$Q|#?}zFbW3k@*th^j8n{?=MPL}XY^m<{} z0F2HKg=IK3-*a$hJhb+Fd}jI*G?LI)WpM0dei_Thyl>p^HAfUVOX|)wx>GkFAcHj@ z&19Q!r~0*5fgjS?3S15N^FZdcPa8renmt z(FjL(?U^>)0Ib70%V;|cNU2(rKF&a z&slpUXpsShsJ;1VwRpsg7ow$+p3QdL?S`bES94ssD)p$64w-MNC~fueioevOy$Q$) zRtE1YHCAwK?#<$KQm$JQTMJGKBfexF9TI5yv>AGPbSsZ+myqMl9=;dHsOC0z;^_~7(JdB-R%{FlQ2kpxKCK=otoccQ> z`)U>-cPIx^x)^IHi?9gJ7_aTUURR>P`4Y^;2)YH)?hibv0G2DHDc_O0_HgCB5F*=c zpZ$Vgt$lG`H*P~7D%nn&>Al44RaI%`yiPCks)J02VJU0ST|W?G?D+gh$UVK3A2}uY zTLRDjO7VIGI?o?`>3qC@&wC1Q@fB&Tuf4}mK7y?1GR0e< zY{gpU(u6$;byz(13jnN2A_$zRZm10kns3g81bc@6-qsY46A^uqA=-X6Ox`|?a}gi^lY>22Ce=%zHN zA`3_2u1BmLHSg7={}%ma>i}t!!kTQ%q493QB^HNE*1xBSI9vD~f0_M-IFXUWyx^HX zeifu!{zmw1ojw}q3%V+n)20(T{RWZLiKV`W&Ns=_(5;y5$oTRSL3C}T39^CcXBAQQ1W*fz z^yf=DlS{vDN|Ah)M}n@BS3~|)_rW#x1)l@b!c7U)$+kC|yXzf}Buk)q^m%S7xrLgq6Mb%&)4K{dCcI2Fjug>kIwqyjeHbow+SDk{h9yc$io?y!b3Q`(cad@t< zX~jxWu>Y5uGHo3ln&o&hYO8S9^29^qwK9pV2$2uu*Oq|Me2uleDSl)F;qB}Mk6Io; z1eKf&WT0KpSW}TQ-B3+z=-e%o;;g)(HBw9SYJjTR*QqWL za5PWF)>-c~B{7=%?m9QAJ}%N2OCbcn1ZycG7rmZKu!N;BAp|hDbBzAhoct`-y8P^A zM;uJ|*rscjae4LzUHYqzE7{;}%B@{^SJtTIYys~Qcv#YaH1jKF%G=q^ViYHa4!dGg zuP5uzOPmuqPJ0z}j*3VAhaTQ694SxDFo5G@w4Qc&hdt04-)Nn#ym7T+?BfqkekUtj zuhXhekX<~iM=V;ui&`lea+EF`KCVcKxdqhQ4=m3?79m>{6F%~EZ8g_@gJh9fGGt$4 z(|(duMm1KKzvmMwj>7ueDxIW$$_j zzG`vVa|<3Z#hUV7ydpnJAJL2oi*Vs8oqXJmRb<@hBe006Os}i!Duy?^V(v|5PxK>@ z`hl=;sO=F`oBY)!-!Wr`|3sVwX9a?Iei#J!Rs`E0n#3ZJ0UkqLc3sXJ#}#W%@{rm2P2006CGpo5>)8fi5Uvr%nKBEqOAlrW6 zW$b>rG9WqKBE739i!k;4=?_Xd1UtzLp@F0p0KxD#?_@oW{DiaGulF-<$Nj01Ai*LY zSW()KaV9={xvho_slE;b?@u2AQYj{U8=YCQOi&aw0X#oTJ+HkCk|%JVmq>S_JD5(E zJo7+0?0*a0K9>vSpgBgCRR!CqRV~;W6=O|q{k+HOWz7c~4OLe}07`1FUvmPd9?~Dd z;T^}ALexOiG?A_akYJM{bonKdt5^2wfkGkBYGhGUjIfErf=-3?B!H@X776nDn#rO zN|P3KXLBZzm0wiApO!%FJU#;B)X2dER^A*~)W3TktsiT*^Q9!i5{maOlW-PqkYXcm zd*lUmk@HC_iz1VRhLNWNITXOyYJF0q#N0o@g%e6``jh4lHtq2;?t;S+%J_C|Y{5>8 zD3v+1*4c*j5^dN3_$guyjs@w68Ek}us?89;r`z45sFh#UpJFUcQ_NIHaI+kDFL;Bo zl}m{VEz8u~{okyUr`O-61{izwId#?H0#Uj&=2aH6&7tM2EX|dUE%y3;)!}lSkSoAL zMM_ClQs2ravZ&{(DD_(?6T7Q1aX&A|G3JDuXayGiT8nK0WcTf$m7w5L>VS^Bcy2n` zSmvWiZt=w|Ob!=V%^i{6Lop}oh7*4gWjK5Y9biLMh6L)Tf2=0guy4m>bu}ihlW*e+ z%LSZ}GGtt`AALmkt<|OF1NU@FwnN5Dirv_%fK@X}7>Tz!4Eos+NX%{vA+?~T^*6Lx z^!;z8<-a$zRMIpfDsUr#CUG7cw^x6U?lk~Y`-;ql7%>+Bzde8C)^WheWmS{`njbh4 zPK7+j5*O0eJAY__u{iz8xIc;&I@EP8%y#<}M7AfzsC+w_i^5vuM`66_%9%D4=Vf#- zLpCM*@);LX?;!vs9G~9`B_M_NPu19fB=y4c)0Pi5B+Dw3tywau6&S~~R+PKn=e|?T z3U=lF8M4)Ot_wT&c>oUNFR)y-^#did;X!XDffwFx9hnPF5)o@0)F5A}-5=9MF=WtU ze+wO+y^&Z*^9Dve0H!Xcf%?FGkXJAs1$OI>hn&+J2Lf-u3P}kty7!+-d9i4p&Gwv( zFo=v(3xnlYK`D~=8|jX%d4EILx|(&Z47xhhVckm$GAmVkA;LV87_!j%pO9$lcO8%7 zN$|55qhd7EAUbd&K{8O<7wPiNk`FV~0dl5DICt&Cgp-;;nr+XaAkXVZF^V_m${C@9 z3gHHd#+GDMeAIIis9aSb*Dr(jQq+;-s3_e<1@Wai#J)U0$q^B*}03IZDXdX;R^6g{tQ%`ZMUWc89nvS((ty zl2l_Et}dFjXBgBdMB{g=0F>|TfU-^S^1V}a=?O?K(mCmjlzG%q3K8Tl=%p=Ru$g*9 zSkHLQr2K6GJE!Apan)XS!@w*=x0NQw*!8KA*cTlNmD~ZVM`eH*VnOmd)?0LAURR zw^l>w_TFeQf)b{zJ5!Ya2X8-CN3YM3fgf}zlJe(RSkVtX2=qU8L*2_fh71B3ZT=QL z$ON4h1j;8k*1}{521uSR1Fvw*92p15p0$!#xBt$zW3=osMAq=UkS5jSSABp-Ju=84 zxE;c=z^FK*KZ&ZgR(#if{MVjQ%C*rPxQ>-%tqyY+X%XtgA74HZ4ElxDtP9pxK{@Gl z*v(>sAyZ$7ub(pfX9PX9#wRM2HVTN*exMyHC6!g!K&+k2T`6Pvyd%Z=Sgp zUxQ+x>jg5U$I|KBiW$m+tf+z+@y+>qFFxLkAcj{}$I!Id3O=doL9seUDgt)K74}P* zJ&aarEI}1ll&NO4#EJu_=L>Cfrj%JJ0inIgKT>x~8n2xwJh zEVr@YXyk^gHhpvY{)45os*`r%2d$@MDe!jcAw%z4+2wQ# z&k!)`&CfZ%SC2rsLihe|rvk7TSdJFkppcCSE0oHK$bGCSB#YZ}LsNBypBg8aNrbZx zmKW3cPSl+tLx)^iO5fq*_yK2MCIqDami8gHS>j*(GK?@DlgSb5GHJLU6smvQNz8XY zFTfpF!*6P_^?Ky@tkcGL!A&C$|jj z4f>fVA5RATVT|nbN46~KhP^QO#!yBygrWyw(P5^uNeaow-%M!s^!-sy8F=`xFr_YR z$cLOS=HCwPF@O3Et+qx7oc&Bp!g=`fV#ply5W`WEs6gRp^(K(&-xthI1JIm{adM3@ zA5D+HOj;$FGcgaggcry(=TFTo9oNueA?qBI>Vwq=)4932QT6k(pe*5@pICe?Pl)%` z6J<=8uPST|4go&P%;8EE>7g1 zn(TUYU-;xX{l*LWrzS67Jup6bF2C_Y|EWo%PoAuAyq|ywi~lc%FR^7=ad;0-iJ`cI zkypE|YIV zvX#p7=M@-4t*F=#K_J^qwRZeOcfeY^bM+8RvK*VQ$mB%_`$L($*RaM$?g0rUW+#Qi z*WgERyJ<*T?~3?YMgZcnZE*k4v>|cb=csjx?6LB4I-liDBQ7$vNqRKL;d{qV7vfCD zm@=Gjr>ToYl!W1-I;L7WydTOeWGR|8!GuGXEuI0!@@2@`Qyfxde9#0a%0KSCnV1gf zu^AL5_7B_zTJP0{Tp@r9L~f-6a!l)M)}6;+W#igw4N%GE|{XDd$=R!XwNz0b<(UO}3)9MFh(i(* zQLZH=Fl-LckICcH)i)j6{!g;fl;!F~H>o(y;FkY(Ds|vARpl0<6Azi4NfN}OK6fl) zNA61_MGKB&ire2n&yor?vZOaCeK4(sg0=E&#>U!!L^jcXrRl3%(Y&{$#fH#%r(Phn zy8ZZ(?MdA#$CfjIO%V=QM{!J1#;*e{m2Y`AjcHVRPU4TKaPNr#h+k5%J@^kHn>(D| zd?aAB8=u)e{=ml?M00!bTS_Vk8yysuvM4as$i+YPaTR zytu^gw)6ckNmi2!|J1CJr0TV3Jir3#Sh5Ne$JqoT%NCzuJNFvFswf@3TgCQ>Ce#N8 zzL5^NufPnZtYkKrRRT$q^&NW%p6ihxYhnT)Z!A?~WODyhV^bD6F`4oHw!tacT4*+-vV+wp5Bj?u|p2|x(zak z`<308E~n)CN=Bkj<@0@aRcy46!&$L8T&+^3-l3BG0Y8a(!X@DF20J6fO?5*hlkp8i zzH=`XBTp||w;0bgFCWHc=doD50Ay{3XvMM9)M5|eFj{^1{YO(MNops61tD)qv}}IB za16T$;(;!C*Inl^s~DDH0@h%)QTtM;Y?^TwJ+m|6WJjk|V9-k{->1H9z4}i}l=G_s zyDO;CN?kKnMkzwh6i?xB$k3Bfe>Nk_#dMt!^#Zd0k?#c4zTMhUN3^7 z%4u01IYW8K8h(aZD=qkNS;tmajXO`4GKzGqyn{a}K|&Uv#K)vhJg5iH5&9Qk@Cc*H zhMQdE^H(7NMq3q@O7jNp=`S@sR2cRx2esAj&$3@?BGHpqQI0IrbgT;SIX1iKSJEC9Y>Jo+zP;((WjOtLs9%Zd36S^84q0;)yDS$=-Go* z&mIa8?xlnvZhG*EWUvU|wus+iq0S@af3xI9e+c-6L`%+$W!q|TDF~2?phHilJnp2X zihWVCQ0!|ymqbE!L%;RiNJ>D*CKR%@1W=}5|JQtSep!2`o1=|$t@UAfFh(FoKbS&b z;zw;IH|$77l6wPlf+WH~?@v;*n>h~~-FMwTJy}CZ&fc=*`IZ#9(h!hSogZ>>@yEZ7 zb>|v;^xp1_&HE;yS9u6-wvkv8NE4D;J`sf{v@7q#+^WIwQ%HbVYdfM9G|5hwh52GvWm(vn(xXMEGL{g#XpuM zpHetHR{bv2$yx!I`bP7W@oT-+4kArhGL+>!C?Dcl{5|;cfczqoT5kCqg0SiEo8vF` zb9Rj_+dixK@bJNK;=sXow>WPFOOuUiqXL8y-8Yf?Ak2vVDLtKhcfi9jrWcfss){6U zL)r&F>6NQ_<)9PtD|Mhtl(%znh})=t!3C}L&R7gsFSsSL9Fhil^pdI8OUODu{)m#{ zAriQ6OCp#KOX6o8tVetQ1V@!3E+=zcsxkx`E?3B;>I2ckQ1Xh|mKAI_ntk#O{-<@< z+4PTDEOQ&h4;S@Coq`k@3`%eL3PJ-u@Yz%ri*_Xw&Rt&3@7Gm>qt77sedB2~Xb;7y z4JSe^aOmn@MVaPUTggbQaGfAFbaw4XIi2C_2)H>Avxjn${fB--bjvw0_|c12sFXuN zHYtg8yD!TUvuXWcPgDo@OO8>t7e8J*(Z`7(OuougyD!%AolM6O6OL+P&JlH(XPF~m z(G&AaNK6blQeI6qEtMxV5j?%$MWXy1bdjmh*nlrDq(g2zE93z$t=et)59NC=Sejhq zP)xViS*BOzv|Zj%^fjr-A;tyC_~c{E>XpDoN$Ah|p#FLMEX((r!@#*Tz^nAPXh}%Q zGouQcbhZV*KD{f3n%BFRYVd)X0z|q{^5lIonW|nk?-C*ONSj{B=}dk$eF+<{8}){t zM4ExLY{3_I3S+a{4KVdOWN&<}0-t@|jbHvJ#@24dmMnpMUif@f$w_?Q`T&{Ug6?D> zjs(G9#Tt#hZN=?Fu3c`5(-QO?w1A-lnKJyVi5$_rwy{g6 zlJOofici@9gvyorwV!f;{Z)yb9d{qwt2x|^!gIR8rVeJ-$I(~n|60M)-`w!(nTd^HbvGWx+16T;l*k%yHE95zDQ$Q>C zksraSeBvaW;Btvpt65H}1s!qc=>pcjSLe7KRYxorYSg`*04@**5ILP;%y)f(w;+mv zlzX@enEmXczS!tHBs6ZV2re#b|8d&#e-f0_XAm$+!A!zbxST^QFW8v*$B^p#QT1nM z)X3@aLK3KC`xG}_GOThhy`C4B10~GK|OdO+mi^!!n5W-DnsKqy+ zAzBE`dT15=SrZKq$(jMOMCs+OP0*COx$JpgRQwi7*w<30f#2kyb`KW**DN^b?#+1V z`gU{?J$Eur^q)Sfp(G=w21NMc&D9JP$5?}~650_;QNU8%(+6a)yWB)|>s`vcdh}=Y zKR``aI|Zowkh<5?D&&BEVLz@J-!BjR|2xq`3WdmKBF6UXf38hurSo|O4i&@yWWEHO*y7wiSkh>#3 zz?A7uE<%`#9fW8uCwCJppr2#-*e9ER@lAHXorYXv$0JhCi(<2NE44_#St8kO03tsL zFQ~^!GQUN&ZCCX2Y8?BDX+jlUi6aAG3neRez78-V&M_M$!<-v-OONxTD`d-`=fPnz zh)9zA*!Xi_S*yDP7R{8k3oz|^>q0hhNQK}sZ0YW%vF(ObgUM@5VfMYX$>7yo-e=O4 zxYp()MYW_7@9Yj#{+7ud)_ZwwBr51xU;j760%v(Cxe@56DZ7>4kFR>(ku`}B7$HNi zr2O=}X49Q_C4(kxzG!l4gTtkFsX|m0a`LCgCHu4aYl5u1uw#9CCuFkAhEzf$d3@|c)g=r*nSG>vUvPpi=5Guo<0^Z4e)3i;dOsu= zNcB2!jyP0%EDgcWf)&FfeK=d0*1TM%U?Br$5quzQ|HMH45z5 zLn+5dmyIRuW{7DAr++l12*}(2z>yB7As!_{P~#J;Y$Y(yLh#ar&u+4DB7z@*mPKq!zoAcN_| zhRw-*WwJ8j3k*QV6J!F!a;&t+4<*pMqE`LCg<;h=krN9hEdzf1?ElrPU1P-;Aq5xV zaaZeQw7Qe#Hu85-$VR6`o?mh^-jxA1z@LVaP<%n13_6jkrj?{#Kk$SUKc3-~`o=qD zd~;%qrZEsyicXcHXLx@&P6r>YC!BL2ad||^hBa)bjGR_O0u3eNk%q-zAC_;tqH^+7 zsO6hA7$Rv;ew6`>T}aGm0BvdC>^46wlkG< zakKoLYR6Met~RGro!KR3zTtcx_=pXvr6QS@<>b(+ml-bG(L_U?)%_O@>A1S&FHYxC z0c7iQO8l?^-J00_20NoTtSCD3My|Q#Y+%2Zzx2;q8rB%H*b6Jp9hn&Sf7y|&TG;*# zq-0N_k^)wXcqnq8N)WAem`%Ltli_eZb`Rr%|-SwENmU8tjHH za@XQ-+Hcg{w6N@#U0UMv4$?I3xj6>)U0*l1es~G9o+-K1@zxFX;>rvpefVs*sVbLb zjX{7-x$O)JPMcb`gH!hot~Z=Vmjwf0-Y&2^E1KAU;dX>U7BOH%mAg^F6T0;>c*g7e9Dn-gSKCIJwivPSG$VtqtwUbkOH$G1e zO6a8L|2?>*bhC?QBQ`*GmeY| z9@f_`I+nj>tFpAf^9N6}a%C?oogHKGi)yZTYLBbxu-}XJP>ENotc5g@&wOe+PQDO+ zeiK{|E&?5I#5U1OHL)|ncHW6`xj)hf5f~;pP9$6lYoB1 z2>s1;{w<_L#dplSMbeyCDVERrL{${cx~|!<N`pfSD z(SvrXPt-hJ6&fbnjVW?LwY*r}S}7k$88W()b>~(wd+cY1lD{raZI!eyVDE?SKpP|e zWUv=qV<1d6L`j~Aa+9lXe&;!9)p#>VOV&$Sd`Xo%9DBt}lODf9Ie{|$u%vdAml`($ z+dv|cz6r^r8?f;d)O?~`>7+4v$I1Tk*`!UMLiXO;`=}luLYZsLrTS4qX%-Z__=8Z! zgiS1|QKOU*eC@6bb9azj$y~~cRmg<5nvf_Bbp;^zO>LIlWI#i8K(k$$cSQ!%~yb?V?b9gK{ZWHHUsGQPNG5M=nTa z1>gpAyr-6=NJ1B6urnT{%Ud${vR+yW5orpFCAgffm1Y_ZD7RppBATmVl(XI}K?=4v zJD>hZVYAEpePpqUE9n5q&UNqVmw=ZuLw)n#SUZO%VU%dgmTiA!+qP}nwr$(CZQHhO z+jjMRKcJ)EpocliSw`eJYp-ns$oMspG`zRye~>Bzm-X;yq)j_T@Ar7%V8tVr)*GNn zHOH&*I}%Yp&iNi6U1%=acZsor;jFbmG4hYOghfxeb31ZdG$Kuq@z+nwYXjFAW2rTP zjq><+TyqXZCwuVGmU#ELp$dBRg2r?^-;#U~={EQ*?2XB>pO{#cR%0JXDG#>LJx^NRS&~zp~#XR7G*5^bo&c5ti)#GZ1;O3Z+-PXDd@L0tn2A z%|tSX(;XmH;RT0@Z<`g#ENJu+r(2`?;ZCpK^PK!-5S%$B`chbs9Ead`A zj2+z$#@h3hzSgTU@LWyz7H{=~Aq5&Wq}Ar+#KE*&T+UzTshHJL4e=8k+Qc->V9i-s zL*Nfmaxxh&8Z?fE6!Hht^faA>tEE2t^RibmW*7lP8`j7wVbUfOZ^4Y}S>ciH6{LVj z8=A&nu!00XVX7P^T$ayKM#dRp>u;?4-z0<&}JE0tanXBBpG z$CFgBSJwJwAt$AtS9Aynvirf4z-xEdfA=$^oXj#CZ&A(!YE8fZAj;Oh@Fw})-*q&* z!r|(vZ!w+RS8EdH6xzqqDCZg&6Ef?h09^^Fhi2iC+l`TkP6^13 z=u63XHMnyvvcp}@7o|w~ z;ffGTG8I<;ZLPyT?I#3U#xnz*46Zy36{HoDi&wJO4WvQ_bQ+sye<{dMb^+vGz_65r z?nrMiIyMcG

prCQbA7ZZ6G0sV1&9JIem_B;!!`ytbwye6G;m(Hq7cyZ)*uX_N_h$I$Cgq%3dYBu=*STAp5#CRJxd zfDVi|3zmx4IWt_y#!ljKrUTq0Z9XEvzrur0c8i6nCNPLL=8s@jdqQ4}&!?3i{xrTjY()5!#fBrn)r@Q@lO1!s(J&){5DeP3jl z<0;4(CZ#K_mh}|PrrH^s`E2qNs1j7wiI)CehjUi-zRPl)IU`zdTQXXlO;kG(#VTzT znWk~-)7Wy4sF5QYLML1J1XSK9z^}9^K%_hqBAqG^LlzL-xyiXfS5<<*(}MvXVGl8& zFiui(Yx!bq7O$gSQH_Wh6c{GsQw%2CSH95?6wg>GZRed*iYRA z+w9)sbHJ+?FjJ=5#&abm|)i;#7fDnU+#n1n5d0|Ajui!!#5Vs9J&+c?UHuqrY8#Rf3zQ93f} zKKwEC%G+H`i{IL#=J_qZ^d>|K-9jWrg9WM)If1VI!<2E~gJ1MYT*Ar&%Lg$#p{b|A zC&$D^%nR8&T!v&V)4v#jII>eE8PQBPzq10`YFo1Pw?G_`8E;9=N@O$*@pi~;@K6B5*_N)Xw zBq_^Y1Ts+d?oh@Dggpb99XXv;5owDRJ{2UbAxzquZwc`$wS(9BI<)R4O#un%)J8@{ z-3kMJxEC&Es-e8iAyy-S7wmyrqiHL>32!7t#^-ylhE2Yw_R9S#k$k3$;P3l7m?jZl zrTZOVDYSc)A^^s;G8vhQRvzJlk=})>Cgtdn8$&}FE#SAho>zZ*a0~`WsKLz!4qh{a zjk$`|1Jly@WtnM4XD-TXPiAdHg`1+!$7-ytFfNp0=l*P2lSAqRu0l4Vs zUMP92w}wvVm_nm`{;8Y?p0zS;uvGKewNz-H2)MtmN&0bFAiH8q}b&J({^-`?JZU1E#dtlB`(8)lcy zfgpT&TwXk3w=tL33d~&Rd=V+WOl{%1(b!Eg2L18++A*Qq+IuL(@X2qrC^c$|K5RhS$|1vG)!h36lT zM(VS``44>yTI@(lV%4r~G=<>Dr%nC`b~9yxlFp~~QEs@%6=4T&>02#26+ zCjJFt*J(BYrD?*XLGXtM-a+#N`}L?Q?=MLtg^RL*EGF187I_W_Tn1(LFO_{WBk&+f z{o;HOz8+fyf|0^kJL@h(7p+_!xy>a!U>cDa*ApMH#dfMjSH;cLL@F6cr1V7zTPYSATc>iH1m~g#6*|q zCP{Mb98?d}E}|mW!Hh(fYbRr=)diOd&3AnBhz2O{{49M*#Ym{~^u!id(H3fjE5}!g zn>(S=XAWMbwfYgfd&)eg%U3c~z>LdI_YOeh^MiP`FRVVL#Zr(GCPrpv;TmnE+}CzZ zufAM5But@LeGTXve;%KB&FG2TS%ztgS_0GKYi5YoYkYvId|vo;MbE+r6JKoR!1;@X zg1=sp#@Kw1cMFO4)&1bj#nz-(U%gSEc?rb>4aon(Fdha}B7p)aO<2mUmi3u;?c(Ro z`13*ANHu3G*3?WQ9!3wjTwbyn;sN#TM7oFfTD$H4Nj%nBQ6Z#YqKUrg>7V8>^YK)80lEVkr2p^1b6&_+oG8h(cc{DUJ_ZxN$XGsU;(}%WF;idbT?3&Xhhx-2;74|!O%-DXy#F_yd^3zn&!Gu&J4{Yl5(c~RXAkA4$s zhquhYkgV%R&g!4m3u}In?@7~C-nJU5W8y=a<2}=Kk3}OIK!hq8TFz*^C=x>&0??F& zk;pB0*f26JbpM9tBqJ^qJk^`8Oz08BppYLD(RCF*!}5#z*teNg+7#j&%K)FU(*Yw&R;!^3e^`yN!mM-+n5WlBG1*oZqXU6Wn$jlo^=&`8uzk2*I^MF-+EgBOhSGmaKQr~;&l=IFw=4{USO)iD>60Il z5u-9E3SSEXH{LLAfcdYu&F!AWy16mjy?%rwjzQ0qnHvPDyYTgl{{}v(By*1$yZ|)~ z`%~MNx-Z z5qR`|!B_UX!Eo*V-??;3f&>0FRpt4K?G)591osR(Yc|kY9qop!?#;~hHrWE1Vzn|P z{tBCH6T`;F3I~ghH}y9EiDD9ZwezZ2u}YFK(At55xV^pHjv{P3q__1*2rbJeOmE;x zVlV)f0ENUx$2GgwPwKrIrNw*(zifNssb=Pa)$OaTTD+DoCUb)WV_ZY0nt{WZb6dd9 zL^XGSwSUd+3}cDYV&h(24PX_lszD`W6S*jkn_F4*>sPjl-C)&5L2gw;_~PHh`Ofa=>kjh$ zhJ^Y;Bh2pm{)G7H+C=Kwgc`o-{_K1ELc{;S!v04IxxX^Alv0Jd3J+22OInMLXJBKd zh4<#7RAQDGqbwCPQRBDoFNjkj;wH!$xh)R7+YwlK{#_gP+hqmx(a#dw-y%bHtW_>~ z{1iLbCN)LH3|%eAvx#`zi012vxTIu-=~V^A z=|j%Qw_w1jQ`_xk&+qgMY8m}hS*J(uF`2L?_@%3D7%A+UNaT7~;heB`Fj?dP4FRY( zs3zEsOZ;V#)l0##Bw+1_H7}qg=$yq3?7$%5=)btt-0!dm0TLj44Ll!2ZTkyh7UyE` zZ2w=7Tc>rHPQ<*EK4?qIM>DlEzOHh2ht6w8a;>v6m0P&)5w0bI>SQF_3K3wM-9V-X zJ0%uGA{Ymp>s0#qDE~_f ztDOi4=~O=XC|ogXB^k`+KRgnNhj^!U!|@d{Yh!*mKnLen#P5)xDe1wR7KI=QGjhdw z|I=VKAD%3j97$Znb|sDae%26R8xqSHKpy3!EZKboNWhR|z71iHe{4)pl7fWCmG6fa zSB(0Qa6-FX8RsTuW6Lx~3ev+C~WA(VCgeJtE=I~SkMt)m}h|g&7%}) zt#bbVSeIR%eHj`=CAE=Mzx9iWaw4M#k43xep`N~-rFtdOdi#}?ZT6=xpgJ|KG*YnD zVlINzf=G>Ez+Xy1rFA{$QCFtiqhGf_4TfPKc{ClScGLaKRZPCF?p!+M_fgP^2^$n2 zd{~Vz5FC3S#Lg!95+Voq>hFZdrWehA;!G--R*i%Ldk@;f2gowwo0@X+wm(1)#=Mg$ z9Gai`&*0F2l9I!qP77W(sKe8sI(R+&_P96g^eux`adMXS!qhJMN6m66Z7I5@Noxnd z*3b_8lk4cte+U2Z5)`Ui-%4>#V!bPzX5nEZ!!b#Q$BThB)H*QpmL8k>l=lhhw0#iB4 zuEK+2bHfLlOmwUrVHKF9W0ZLk?2H1%8z4mZ_gpo*ai->~O^$Nh0*-i(+v}6?*_o3B zVDH-V4Qz{L1@w_%he72&ho6W&b)tI+~dG9kdVRLrz^UJONe4>0U`! zXxerlVa9yhkTkm7^D5j@h{Hxf(cyc;=iaspCzR%h!x@pDYE-@XeHPUiU3;570QsK2 zG?_%ypM*<@!Vkmp#rNS`)^q#j%dDTI(pU2@$dU`AUp32mxVwyeT(dxl{aKy$i)=iZ zOT6D)*x0!l&=1$orz4!@D&oKySFO{%N`J%;W}6wVsD)AiF`Ul^zMkQfhP2cV)G|N9 z`dCE$-4sk9HM(DQX|Kv9Xzv4`za8|ANZi|3caC<7Jbz}%Y3@A3*#qa1`_d{EFEbnC z`Bx)8l2E4V_PN{l~ZJ z)2Mhu16z*tz_UKTJBMl&OQi^%?7&pg(m&#H(cc>Zoy({pu3xc#V?m&mAoYn+*!N^S z!KX3^vA9O}8(gD!oLU+Ep0Sp6xRdZ?)(%^Jl4GLyL6T~gpi!?Ubd@{t7RfegcH3hi zi$id#%3*qhQ&C~m_Np}){ev}IjP0< zEAaR;9LPBeizh@9O>*2xTJ`jSY<_z-xYZ8&8g4qE|FuocBVP?M+mh~8o#ECWnz!ch zvLtew3{6@;0-yIqA@nggj=>g8>42d}BOC6qTw3p-r1z%)N%Jb8j78%6<^tLFpc!d-E=@vtykhKFhVkX*$XU&0n+QBy+Z zV3PsVdJOmIckT;X_J+MD<`N&2D#?BV)}75jz-4Ibn}kV+h7z$`sILF?oUVUPtpSF! zu_-IPNDFV#cJN(v>15h=LqxwXj@j3hOJ$9dmc(|^yI444mX?L|OQI>wP1Y0hr{0;| zdH$ZiJd#Vr;yu{3yqMo>OZ~IpA3cfPKr>Is6|0Z%?Og}6lx5K8@0x`i&Cy!i0;!vMEwA8cIi zerg!~JlN}>)ov;(pF&MMycDEr>`hI4Hx_lkm}piUQlAKouw)^e(K&?gEWArMSLGbr zstnq@*f@QY*TRnF6VSFX{Bbk40)+MV=ONG7)S$O^=0AWP@9_k_7oQA z*Nh{WgrS&&J1oDrQkAB$fSuL*H`jA;@}q-IZWLRIOd;T1o0x1qMpGo*blFh$L)eo7{>mF^-x0=+btG z4ci!z#VnyOI$1<)C~Hr84dkBaXe`cIi^Ark1w^^Nk?ZUrO&i*|o!i^5boxQ%JKo9- zNx=tQx)dc68rp)7QW(n6kF4(DS)v(x^*Ic|;@5 zjWcVzN|Iap3on+boqVLh0nd(_2KaRcL*m<5$d`R)LCD2E+_^Im;^Qj*JTx=dc`;o6 z#PL7hql^-G{L3LwK)ucIm^1T}ye?02*~3ryG_SC3U}`5ALK-4mGQ1*B@pvG$`W1&j z60M>6JAleN@S+6{)%ww=uuzBa-5cFI^{QAE@g|uW`yv3pOl^v>D)!kzrF(um?&1``BFm?I)lN*#lV5UZOmP!Z)(|r zHkqnp&B(fSp0Svk_LsKUOeQQ30qPN?+Fz#*m4B=^A<5$0T8X@4uJ21~iEKt$>NE>4 zb%M9v*7GC!H6j^+tq@2hgu<5}___F)C>(zn86Q2cYYo7DPd+UxuQzW#Jt%uNHs74I zae3>@-oK-LVKRL8my*1Gmf7CFCw*a}ZCmwD zLQFZSLw_J%6d zy>rJ29zD5!an#+mR*ZS&6tH>a?9#TD(eE4W+N!v2F2&we_aBuwVWX=)9)AwSyhwoy zIKrR$#`T1k#6AJo1@05Gv1D3X-m7u8&)JjuMjl(6sYf*m%oJ@>qy!~FQl{z zUL8pIPf}cq1ZSyPi)sxl-yg$Df>LOL`4WA+xKSg4y9A)vK*6%YN>`awK_2tV>)>H; zTKfsmO~K*B30X8nUvgWV2H)Zs*Mw6~8Tu(?BEGecQOOtHFEr}NQQ-A*kKa*7Nj+>o ztpbz=nPr$qmyF_?NHz3C@M9HyGNbdPfWXO@tJUUN7>} zm`I#ku(6>Pma?NrbeE=e{03ouvjLT__|_m(27O11qBPnk(hy%8rB$8>^U6mPQ0zSQ z&cqv=^?fa+>fGuv?DxlXtZ`EfLTbER0i*z`nmce!Ud0w6_fdON->Yy zgaUpuK!F&0rAsq?o<^JvsM?zg2IF}~yis&8(XPoxT|b}?u3Bz7bY71KQ6j*Fli|;?Tt*+GJhJ{e&82`C*MHt4#oZ_Aqr~^lU;2u3(5N*G19R_1)10k}g4% z&y)D0X+5E4xcDcuKxQU$Ron*6eNN2044jFMa?t>23Hsw;oCzU-RAvTgoA`b5@r%KJ z9H2#`n^JR<%{991G|1T0hvEH!{;^s76zJ9hT{pz11Z?q{IV~>!tO>nrc6i8aWjvnJ z@Zr3Tp4-O z5HM|?Sv?J%Y>2ZIk!Px{)gJy)Cp2OpSn(@au zR!d^KtooTeXQi#)T3OdW?~^iZ>KXb69uK*I@e39KW8kyHTH&{dlOo^A!O8zA zqpC3>DtHNQFs;YvMmXkagQ&0b{L=<$_UHGCl=(DU?Oz+gzktqqroLyojQiHbZcPok z_SUzM2Q2`|J>ni|0M}S-KcUKlHg^#1|F&*hHR&MtLl$B`1^b6kJcVx;^usD5o>>~2 zXuDlw3#%**kt%>(-CvQ_O|z<|F3Mk>UQv=l)0=<*$VNv0?_{UIp;zeFJgvT(6;FZ3 zNh{JeX?368Vw|Vs-IhotjFGIuj1!(t0XwWz4ddW3J~617(GGWBYw}#Br*v|M9gp74vk$ zKrQOY&wL5tkBjo%{VO+FB0gA^ez(+Kvuaf*RWEBo=g4+mcpV>0*V(AdArD{yl}+IN z)pI&DFd=ts0>dL3G!Y`#9I!4SGZ;M^S>iDc2m%v5PWO`0TssFrRvpzR(Q&Lb);I7! z=8#QyS7KkVA}c+N7{DZ*y!9p_Ah8$UI(?SqLG43I7CBdYwG$Bc+a!UXd|SbT)IYhg$HUb zU&!KzP#&pQrZ)*Q!!68et!s2eL2$z)m*0lIqKWo3_g;=OiFd3M8Z(S1~A!Rq6^|@#(otZU?+@D8TuLN_RA4BAEX15T zNi+w&RvX;IxHC2hRTN*;QgLk&HeQN2YOJ{c?b5Q)spP~4{-ljA9#u9 zpU(xqa9Hcyb~s6|_RJ0gM-$jWf7ai9#7bxWI3AhN3vz7{;X71`j2e_ z{P}Lg5f-piO%GofmJ3FK!OG&4os_eMRg0diz8>Q^NNO#rMnMYiu>GJOolUzs23l>o zvFs+8Q=%2|>7(zRs~1`Av6E2?lOcB3r5`9xXmng8C|!6N zI@oLCF-%u2`sKf1(ZpLUWlm|}FXaozP$$R`5y>nr@)#FOmmP0Gu$zu6y7;CHo#5`r zq4{CTN`KXhzD$u_UdLGjKFljCal4iK#Y-E=6NIw}N9Hhi#+zn*_+RXwBlI@|w!zdM zJg`m#h3cUlYGSCeb1t?@xBP$DqOJ?|wIWlc-0XERc?S9UV@=p)6+qV})QENq@*_i( zal{bZA8l7@B|#`d_F7uXFCWyPlJy--okFTk^_a=1gpMQ>PojQ%lf^!TDl(;IJ;&(V zHcej`f(+SHDxj(UWY#qUWIcZR(E!RArTWLux=#K#(VdcYPJs&qdSt9|-s6{-(zRmC z(z4sRe-@tQ3zT@da%#MB)Sr*at#!^XICTBI2-Sb4n-9FuI6tumYROOvaoUa;b~KwLaQ zGDttQo{56AZKP)qun%QXY%w-`N^$G#G5|m)*quLTL+iz_$4ZqngH1S#%Hp}e_&Cuo z&bYVTFsWjUPPdicvLcIvAyiW*mC%Uwr$2hj#@ghWK;JDS+&n~i!y(a9w*Nw9>q1x4 zP4@z5HwAk+D-AAuzzD(mo^R+7QzSG^?!99Kun}DhG=7Q zA+fLv{0AD=Xmp_Q_bRHGvp%m2(#B>hZx(koF7>*!~|6V{^Y4xU3Tv&B5gNX-d)?V9r>Hot#@znLz5Dn|i z0pGU*;_Db7mOgJQ!-1;~WTL(RiuPM&sNtlx0XdKcUzCUHy1kV8%CW`atEHj6-MA9I zmQj7IdS_xG8p?|SE>n4-Ua5YN9%fm^Y_R~YHBH|aOeeoy@*N!dt_B@l2q5Z>M^od0 zi;|Zww1WpOBs{MW3#g8~vME4Z9g=S$nlETaeNFdCblG)oY>~K&Et>X9 zrJvPB&c*%~9PqrzLKgSE+pa!9Kszg`-27!U$DIIq=xhIN1ig1PWKOhy_?-MLCkk)h zzb0slQ&dKinA1AK+KCDs)?5T{Iv*c$i3Gr2q_LwUdZUWSGrSK;EY)E_$0=DDVsW&;7Hong_;bTlweY?Kr7*{9+(8JlK3 z?47F=Z=)7rqTr`OTcD(`Y=3?>aJ5R29diNDOh&&rI0-^rQ>7#7p*2LKy<3k|2D7^= zXYZSgNp^w^<@@v>t>lVt_~y& zdr?3JIQs1^WEfLzLJ^d@EV|QXdQ|xw!^OV;YH|3DsHBiHn7Sbp41#DMDL`x~`xrSc zDV%G`EyQYnqz4%;enb$Zh=c5g6sp-1 zO5FF+wLYp%UA$72Qh_!?oGSV#rS-d&oAijs1kSVk{{hPq@9)|4BHRwq%TuD~2|<{B zei_k&B@9)Me+U=3<1kwuOejn=X8;6N_;Wgduof*XP0l=ibjP2#!NRA4)oaU>t$YY) z)(_GqXn1jA^0gKhFI)KCa2VVGj+nzx7HkOxvl}OPt%A~jfR@p7U`f#FDyMERENo1f zN5@Gk$(_P&5y&dNku`Dqr{sF^OD=MwqvRU@zUyy|_)wt;DIvWsRj zJrPa`w6=z7+I?^#f4kG7>*!(x;QS%F&ahyMbI?}oC*#n*uHD=38{0HE-EE}d>qy)g zp_zhjUCb1;k+i;hAV#JeDpN^l=I=JoH?MU2I-a2haqCZ`#sBkQv(!-yeg7vvR16T|OZigc(U88s#A8-pCD!|b zzrjd6MTVS*3LJ45kJjDAGvzg1e7}zIh73UUU*2q5cSkV#9}>V|he)oI?w@ykmJfDY zD-Uo^s54ap!qBsmrf2}^risIiqk=2!Za1A><}vzGNsw)za|LyM1;R349|0nT|KTi^ z%7Amk$ue0u)hM@ayz5nFyaqTw7~p8&|-0$)G}#MRm;c@juc_itHehDOvTA<2Mz*y7Fp0jdEr2 zL2DUiGzs-zV!ZvNE{8TPQO0k7Bk6EN66h(#z{}W7NFEW)_j3maX}VP8UA8zEZ^7od z9mCOJqZ2zqVD2yrxNNRy1Bwpt6O0aQGXH0O2AxDi;I059LlFLoOQPSIoizmnJTAaDepNI`(pD zmYzAnPrM3y9YJRf29p=BL34`fept`Ol`Amg0_|dzc+Fgpe%ZE2@V9&pLu|FAflh^Y zLEW`iMem=bd<0Y7q#QZjC=Or%1CB#4SKonrhzP9%_^ljYSV)tt3#o((Dshy)6m{Tw zFc{Z-P+#BDo&Rz^ik!0(JxXnA>$_(VRpci)XK+m7ii^NX&mg!xJOa6NeG>BX{1B@h z(Vj!tsQFQgsmDUyX!Iwu)Yd8-Ujnr)ia}f)`QG}c;$KTVkxX4=8KTJIhe}*KSpju6B0hB6q-Se}+5Nw-U;kLEQNjMjpiZ*;`iH4U#CuF^fbnl^|5^PGRA{i(Mk~ja zpm^Vtsh_z~Jy`Q3=>}c$31Ue&J|Q{!LB5sbn)4zpD1HvYhY5=u-i>THB%t|ai%g%> zt-rJx`5HIj&Og0*(A&F+b@I4A+_a^g*^u ze!dfQ5xlu&)PF{3P}u{J-MA~`%_htw3lpDt^1J%L=QVC=uarF=61QjHIC^9!Zr)~d zo82{f1Hn^K9=giJfIEj|&A!+$;^1y7gBh6AWS^~`oU(!%R~PkY_R$yr{OGaHyx%>) z*GyCJO9{#7c0IhvCLf(Y&Ng@qm_UPI7r2qG4Tw?`N%RrR1O*@=?5hsBy3AiL@Y_CH z8s+td4tC0iTM91PKZk1W3nsoUy0@hxeTNBcz9INNN^T*a(CL(y9LY!r$xRXym93X^ zx`s~J*4dM8-6E~$p|)X=Jo2dhG0{q-yP%2H;r~>pAXQW4DKF#5DWyV@YEHhKF^PNz zIyJJ43Fp7v0-Rxi53BV)!8l3NJGLGW@?A_d~ z_sLlB=O(r_7dc?T9S|{~!^IPlkUo;lq!3`dfCPhmMyY@Z=X9%tVLLtb=x* z@0omFxwID%#m2Vts2B$EpG}^g8E}wqjT#T#7t!*nu134ZJmeirxV8%`X<__^^|cJ6%&EpgcB}Gm#}NFSKIWsO_<-tZ&*r zGWks97ssg=%b$+r2UUB*+){i|WUEa(9=V+VJL*BpDyiVM3Y!$iv{ax0cU*xe4{w`E zT#`WrzGs0gfzXRNps$xlZ?aY2Tyft3;f9nXef128IQPE7jtt$Pf;vx(iEs|!hRvU$ zfXZ;CdIMT1??C+Y5>=y=i1gXp=C>p=@CJ6fOGd=!_Lx#GCJT9MxfEZ8_#D{_sXw#< zPc_UxxRiI}+b0O>61B}02dpvsH~NfmH1%w7@fTBXG7u>GrhCE64AUN~@MwjowIB&) z#Lrf^N=bMf1SYpCzbnFZw{G2yK!ZNa!P0v6u*{V@_%`1gmaN3^Z707l$mT%Zw#*Vb&KvGapy8M5mNlH=Zs!Oz}S;aH*yznfk&C_vsKa=?2$5K0fHAo3k zLMAFGz-wkpQNFZ@h~bZ4(2kO@}2r)0r2zKy@2eq9L-?B_TLy;N5;I@$1KI-3my&vL6 z+q`@;=z5u2m9vP+I}oz1x)+$Or{bU}Pe;a38}YO%vX|)p){XIBWC+(tL-1;BV97Un z=!8knbncmJm&*M7n~Y(`ai1Q8*QOuBcNRef=uzbt1;h15;Z>wx6?~fYAlKDzLkypM zhm3g^3-As#xVz1b#;?kAc{k}A6Y+&6y`5|pwx`dudB&3ny5TaA)VAQ?^@!e$Evy{7 zt9$kKBD0*X4E<##@wi3Hms%1rYV1}<|9C$mfl=(=hn zAt&sK+RV*tU>8UZ|GUy~4}4`VfG5_;H2o*W)p7MDJJML6fcq2O+`<&Z`mwB66vdpe z&fL0aOBzg+E~=?unL66!Jflw@HQzkd5{-KkzQ8OfqJ<&A%w$#CDrTM$F5)zUsS{w@ke;=UfBi;NKP-#@WbZd^5V%*&Lr z(4Z=}B7y*X1uE_#i0b-RD<3PC$5gB}lu zENemQ4=l=*Z_fj^Dk%a^pq49n8OEtFpdLV`TE&b6tbx{YS3R5kmijZOrRyWpH2!A` zb=zt$)dT#8=$K%PFE?%Uk%cei34$K&HZ~BVcIVGg)i+jdm9E+Oq-$J%BLr-8cRqz~ zsZJH?jdmiTE%_2Z{-d$ppy~j<6gj%c6alnX(rB^IlQBR_W=o2T?x=5@(mfdN5MVbH zHC$TSR_hp?yd_UK-HE!mn=EgK?QXQ59mvHg9Q@U)(G2R(FHBUiWnRcJ6L8d+b`c9| z7<`_&b0>rXxIC+A+C@vMoCzHiC*$X=^malRFIsQ*hrN>$R}U44v@zqrBA>s)$T^@^2EIBrHRynqFpKE zY#Vk5en2aE?IQ!g;wxm)%ncFpHZA4pxCiML#1QYj{^`baf*zdDP(v!3T2_j?u-Z1t zfUbZC!$sD&b5Q1^a+wWHLsi7@1dXwDE3(P&$j8wMpT1;rE7X^6vsOJ{j^hnCX&@Bm zT*MHlF6wGa{efeRt~=xg^9-}orxEN4G@k;#gv%J>Nw=?)DEL1xWOCp;Esz(g0)X!& z$^{mZK+zGQ%l=UW@AKwYQ^8K4tu6ctdIAVx;*J0(v56vGArpEf{1f9ONk3Wwa zX&ZZ-ilD;>1Zbab&~K<{sWXvN(#qC0ji=AG)5Q|AY!BB^cLW5)NV$|RRWfs?uZ(5s zDny?O3a!E-jI{<+*s8V{DYHn3xZo(^ySl2e{Note52 zcT&(YwM@o1!^*Of9i^zn!(n5_-5YTbMx(9naGaV;7-ln2r7tIfslGHA6pS9NOOoja zYM6~I`NYmadXnb|CT>YNog(mC+-Q!wF(U3_YjS@Wg=M+kD1DlyAGW1Ne@%Y29d$(A<=`r_r_w4M2AIN}|F_n3wB)RF3) zwkmV7&^v$lDrI;T{w5N`1o6V{V-agJ3;@1l>)c^zSk)BlfeW1i`=o$*#kIS%yn!vu1qzt-cjBE}VHBS-8!+r+TwyLrX2`DM^RsT} zUdg^6OLpq(wd@&&j_u$=6*3y38PKRg>eNF^_oARB9A0>;XK6Ij{>cB7kr~K9xFt`) zBGLX>lXJnPM2A?+InZ__BU;E=_>vD|ym3OLJgNlOYmWDGn1a=S`rm74>JSN{QB()D z%8cf&voPyEpPbMbV42wM5*E<@fv3qdSrNo-7&U7L{F6j5QZ{ub zGs_r7u>N`OB zrQt1TLdZU)e*xEjO6hXjOJJLSgF_oUUi@b0O?pDqIwJlfDzB-@@Z z=+$HmG@@x=RqSm~=;Qe{s-8iSVlh{aFVy?u1Wc%wHZ(b~Bp+`A?fG&@$cgJG6>hwP z^SbSzxrLIt#hOvB@6QTy`F{X9K*hgfu7WC*{DTZp803~OUE)Fw@RpKfgaLR6j`k)M zx|3M=emm1oX44lf3(N}Nfnlc$Y3c7Q3kyuf*(whxU2yik;~V-=_Ej|`mm^Gc-U$I` zv_OSatYZwPCq$pcU806FE02KV9AiC1uP$EB+rsKkfkjF-&IUog&9D^I44T0$KVYnztsxhpviO$R`)&(qLt@Qmmh-y%pHKeIR8jF zi{H!-wrhrE>oDu*5B<$bx(+VbL=vAv!i zPxXT(VzZiGVhZs+aSA&jTte`==d!wUO^A&({Hi)(-Nf$K$NV=dYkfo|K4PB455Jf` z5%9Kc_FE_6CC6?56+ptx1lGIZu0==%SJhX5beH2#3!S3^|7I?198vHHypDoU{~H1i zxzqo8JbHVIT!*6oV}u16Fh=G_dggBVg8=Cux&dP_y^zSdKomyv+VUEiO&LIznVsOY z=4677Rt4Qc9;R>V)#bF>wMN~@siPo-G6yoFEm3>5>r z;7sQk3jEaSzunG4D)f&6uh3+8$Qs%$N*1cgCy7^b?E8^*njqxm*2z!p-XV7v#|5HlcaAMd|b_8MS@0h4voUw)AFzW}}I|ox}HDGn9(YL%)P) ztvG(-IQU<3pW~O%GjG|@fyPE#z{Yt7B@-+p$NZ-d`1VccW}iaSik6?Y`haHwCn|iq zeH8n5OcPSCz7BkieD21bzr}^1ibHTgMQMYcgLy&ubdC9XXOOc) z8h0ECW-n;sAp*MXt{0&Gbt7yV#SA+qj7pFOBl;9JSM~23MHJCK%gd6O}zVNDS?2b;uLB=s?(z)k3I6!bT0znzxCe|9Q>ie-7 zjUHC{*8uDfm;>H2zCV-UIpY2sfx)3SaZfR*ugUfu2whu{2$SZ^^8CNArVa`*`Ps z8?8mbmVAv{GxqV)(z!pYPb`cONKkVfTISG50%1%Qb!o?~?qo(A z4;R*vS1F&O6QQ8@@iXu5ns!sNeC}}Oa>CvI*v!WuII)?=`pLHCQfR^&90`^lmi#VVV_5F*pM|(W!3`kOwiimB`lSZMEpwd+tiGKBP9_f zUDMalTY@R3Zv#!ZCP}kmUXWyU`g&Rn@g2eJvjBM=Gz>*d%&EY@OvB-M(dl)SlZ9@%4dIN_pJ&! zl4@JDV-ZB26IWzKV^NPK_IPJEr+$|x8{*fbDZuCY4cnXGVumK>Z1QJyzir9&%YD2l z3q+cznj!g{aV+vNg_thjEy~7>tUq{c3X*DPS7RdL}cLQ7c7`ey1HFg8`(_q*8|7}GzlWG zyyW0?a8gdw{hD)Td8O|TnXh67OX)+`-uTp+YQkv40*%^x?(`y9dg>QtuaZ4v$E{b8c6VKZRR>tnajA6x_#9FFr39gE zyiS_MEpXRgIZZBug&E`zQl=tt>mx*_l1z`576eFJP2b`!h%mtY=h#R3QjU>nk~VlC z6SAqrnI%(_=`UhG#wGdecH=SD2ion#K){msG=e21<1Gbft0|Q>wutf4VlKOp{(OQ1 zbe}i+wS$y?&h?qc*wZP*D>vCjk4vngO$W52$e%pbi+v&~;Ej3qM~sk}cK0G4$X=hN zjF?CBHUaIqsJ%_od;fA9ax(mCohJv}xf!e>J2CTURSt48dBA}WED7_9?I@CGn1ODw-=iE3#e#0 zr$d^QSkf7V3nG12=M-YU*8C?Y9J{CwAeStIEeIjXXo!;DT8uuq35?xu9^K&|<9o;lG5WV%_bcX@qa28Bag@zD4e{Jjc<>TyXH@7X&oanCVAI0!p!MDlu1=B90JT< zPF?sPIt>wxt#Nokvu9Mr{svx=yV1S@sClL7yKH4$O3P*0b>lbs;3^D^QrE%6z;TRk zS`c4|8-HO>x$=Wa6C9~}vt7w7U+x6~bKAtw0|NG{*&^!DC`86b*nyOq)8-kWr~F1} z;HmxOb#NZZqaj;QkC49a#9Nv)op;RCtFpHgy@YADa_iFOX;|pRng2%UF03UgjSSGL zhKwUh=l2CAO)lSo4t-BZ#J(yz#+CxCeEA-6uzql+*GPGMh=}r`; zBxp%GwdQd^Gyg=0J$!;Y_kx`A6=z2JqD_L7j9i>ul@=3M)$weD0C6>m=@`=)$LKJ6 z$J4K$H6eaW^Csz`I(1wL2Hi^Y09HD{DfU@wS}yuD?nmMuCs_T7F&JbX-s^SB8@3HF z2tuEJVu7M9tpS(EQI1&dSoTt~teH?ERdnH^p*@fh2k=MEAy7;GnSJmb?rsSSQilxf z1&S?2G~`V$0sUY{B?OpqE+4@NnM08OAUUU8LDHIVbf%6;eMf60VIjSDg-$7fP=yQB z@oX)VOu(ttp<3NjU+-CmY{aFKeepKouJn#L`Ia2txjvG1E?u0Y{7KCce0+tPNo@{*n*f<%R*6f$3hrg6${ zat-8#wL3$c5;S~&7(%U;dOG+p*&=<6Es#XbEQAXyM2rA;M>D_AQ0K^2%c1c7oOvH| z*ZF~8C<_{;2~0qj*J5)T9FG;@)+R20gB&v#6)f(JXdw9qCg*O%~&!zb-hP_JuC>>Ivp3aLuehy&}!==aR&wDEv-19Q*}ug68s^LLv7@ z`VR?E7{#m5K#z=*lv%5d^|9&t`F=hNO?K8uo}Xq6T!Q7`ybLMblCZZK-tO|lwIG^fLhV?NdOWtAjqxPUg=pW}zc?LiStKus8EtEfO?0DgV zLhbGGBpMYmK)RynRj9ce?TA6W{bRrCKPA>0XrC($!y>SQhtr5Hk3Mip*RGLhZeZzW z9nu{%<695v>;B_0`CO$n>7tbO^#1 z8Ap1eIU_wYWy=EuSJ2wkFZXAJIE`yiD0^$jtGcTXw}n2!vG0W#@g+mP4|*h3d2jMj z&Tc%@2@(~O$BCkbdCCn+)Ay(b^wmA-zo@pYxlI%lOKMi17KuRo4_+{lI8AtCWurTi zt6NYdNhCh4GNXsEBLqjs0hM%BG_Qmlw90e+r5k^)T%io9c;rUS8Ew2Mu^I^c_kAgN zH@EHNWF!sUyWvuLs`@G{n7IS=*QN5{kxR{`m5 zI%AY6wem}fLRO$ct+lWP>DK3P)y#n)X`Dqyu7NgF_jel0bxsnT1o! zx7JsXHuWvoa*&QLy#Z%6$3)>7vK{GCq4z>$oFkvNG?!lXTM)RYc76pu?~g4kT2YWC zhc}J&oav)NfZ=I(_0orF&js&nr-mqjueA69tK0T242tq6^!f0tT6Ro)#tP3n{`gse zdq`xF7&P?t`}Ni8Ekrnv@2~8=~C@ZjhPe9qe&KGE_`{k?Zq@WqkA{r!eQXd;; zdH!1yVlFzTw(OrBJy^Uypqggje=B`>CYIdUA01#MZa{nRPy@sUsiCp6R3ARKf3Gk7 zX6{idwlSGbml~Wg(%-YXECtQuC%WU=#tK@s;osAdn)#)|bY3tvQ8H`?-AnM+Q~>H9 z^td>!#08L56HShrN=W%Z3*!)tN^C3e8VuVlMw^-@v8bshix%Bi7=s5{tex@}vioC6 ze7DX~8ysdH>iJesbTPEjL#`KSd2d_x>WK@48WHP6m2Ba2Na%x5TWcDNfJP}6 zZAkPMU@mkhIYOBlR|7Lk-F3~gdVzhRD;pI_5qXBoWmwWnEs_-?WG9jI$YGcN8=w6p z-)M?n_Mc!hqnrH6lvTEOn_z&lbKhz~kx*C2FH=lt<~-v{YUNwk-0-Xr&Jqc?+)yRJlVcn zvw4K3RGw47)nuAf8ae-bQGpcx!%I8-ILnMJ7Rka9W-e6{H8YB!eGURQldAYe2n_OX zrG($alX~2%xU-r&Av|le6>lR(@xZTxZWs$LGBerl2Y3XQctIb97#Is$EHhDdSHFW z1jGM*fxmC^l`A!o>dYeru`Vl+;>2LhsmQQFeGcmoSb8>OR-KOA-=VehQj_+R9L9d@ zb^eMJC(eOAVnP-4_sj?#NtXX!NmeaOo24o>F1E&!t6ZgY<6e=8FO)xfAMRZh_XO1! zdFu+XNz)-aHgg;ZrcZltut7aqA8_1Tm-r?Szt+9OD5dc2Ln_=PhS2fkwhXV~s7dpI ze~OX(AYz(rfCQ}=;GBRSWwyEGzvxMZzVpp(P5#zn_o)4=&^hSuZ1s`rex$ zkU&{oE(aANTZ^C%qt7wvF-ujIs^rU2?rdtkrPsVte;Mw1w?&R|*{$m~_wv;B885e) z2K1I}{XQ_1y6}O%jRl9$3|+Lo*gLzDK(A6miWOss&=v0 z^NmH(O4HIT8a#m(`M7{v75+)JY_OCq~`Qx*ycrI?oAqx$^H&hDJsl3G*GEl_C1Sa(n~I zB5|?o*h}|tt>^%aAEw`Ix|qO6f09n(dpDE>9k^I6zv4$5!c#@(p0~?nw?B(*V-%Ny z?Ty7~5#IS#o?Bb;>!XRf9rZ)_5lT`nr6|zHIF5LTW-bSTFMd^*iaLDn;5_GlN0TCa49+R?0F356;C?) zI~Qr5q^b+unI%j0Ksqan8mF=SFaW81Ae`^^4pM8#m|?J@RJN;;dkmAN;nB?pjjD?bctx&i*+WF9U2 z=;!xAEeq9`H^*|?0gK9!_*DB^ymDDu#Q#Q@M(mj8ixqem_ZD=_+-UL(2ID%4j3QzX z^L)Hje)j32jiV4bw*6Nb-Q%VD(RXeb=&GOv`BMVXqHm^E~st+ZWVb9qmi74=*Y2-h00uON@|hqD1Hvg$yoQPcqpn~I74QHScLkh&*-T|de_6_QKKut=c_EBSsA zI_TUeqh_n>b)_KyJS~CdqMh$C1!P$Kx^_aK3Wz|LMo6^&FjdG5b8^g#q|lV@I1GL$ zdrG%caKb7Vc=J;19Xy^bR6!Auh)7;n7~kh&y%EvhH2#(3HRYaw?INcctV@;Bz1r1V z!xFSR{SdfO7AQW2R$5n-Cm&mWB9@bZd3y^X9p0OA@3dw56#`d6IZCszCM`TX#~St(;>8 z*DmzS!qGTp^xNclUl49`JN)wy8k%|}tyUMI1HWz>2|6OMkL}D|p$Fj;;mt zeYP>qRT+u3Sn-HS+1+Jv_SaeQawnY!eqPBs{7_|J+uX%cB}7WNjdcFnXl^lc>X*wl zl*i;6!pX;5CwFbFRd04pTzR4@m?sni|?Ta{F z1#L60uZhf~%V6rroMNWai1^l!;suWIB&e9zT9$*&htSKdP55cKSY>r~_x5Tss>fq% zG(}-^`R^!3FmqRHd=QCZ$)Zvt*euL;M}4FzY!n~s-?%4+WFog%#)e->?w68KX0lyP z`>2LQ{t+X)WY3X+PUu01U9JO#Fd*X-%h0H}2554f^VG%1@vm%?^2rY^kA~Tn8~JK- zxR1|g|9i`!uGZG1_EXE^Ri3pu7d?o92H<>-T16w6M@T+-ViP)@Q?J3vV-#b?7$ z{lMC3DRqz3YsEdZkz*w#h9l?$f~(J&LCc|@bBi2_+O74?p;B*cBM^#8f81SV_YVCO6XIgSM8fjq5GyJw)#0X#5z*kFuqZ80!|oCW@C$b3!B3b{@148 zkf>?2d1<+d#_zQ7JR4Y^-6|-uR%@TD#z#jWfZYrW$HfY)2V>i*&|#!OLarHCbWWfe zgxf(z@RR;Q)i~(T;cA>tq-tMuWxt=S4fz;#tgn3P0lV+1;K-Ol1>#_q3D1aW%ZRcV zA&&kgts4Pd2#V22~M7dWEwuB;RIX> z$y9-`(DGl=R`LO*!j8N_;JoOb{K;U{wLIkN&YtZqa8LV zj6EH17IlEpRrzmlo9)1{;6X5qx{2SrU{Dj$jEhJh+#%6BG!4Ky86XSD=K#Jv1f6$- z6QJ)~%;ODY)KMH@TvpLdJkN~BVQ}U#dJiqv1adtsaK(*TXJ)cGZsN&i|E&v5! zzS8W6V;Zx^!e@dFX(n>6NM-F>giM8SAE3*XtSG(n>OEyHs_l-oHZ>zxhk3gh@hR|? z*PYFd;-kd13(Vg2ec2Wg|&@9f7p`u^~ zSzS?>f?2hy1U|OiK9%XtySUMBnNaK5r~Y^mJkq2dLpcBHzYrhMmD~3OSB)DL?nr0E^_$$7(W-bS^)U-4_p!<>&~`&5@L2 z2mNnopJR(YXUqa=OgM9s06Awy!KnpecD(^Guc;mR9jXzdM#z;(LeDWN{4KhfWS;O8 zZ~!$R?S8VyzA?6@JWfG`+99NxuMCS)-{t}orz>B3GJUF01wbn^YM>RjxEz4Z`cdq? zV&}Q%QYT|9edO;15p}Mzx{+cBeZwILT3hPBe&(RSV|!)OKU4)|w6crWqf+Qk7V-i` zeptpfSum9IrK%454VID#N`b52f0o3x^$Q+NU%imxZ7M zzw(#&UGN@7J@bO!9Cu}QBm8eq8c`#udphryBV+%6@gf1kW6pF0g`I$+l_+CDE@s=U_}f4?e>H(QpJ_za}exe z3w6%f`1(w~sw~rs(cIlg!kgVS2Lx_>qA0jpZCrq;z4J&#TVIw9-mGi{SKtkZqVJWg z#X(Ajne!G^^z=|->20;{*OlPN{}0R*kxSZ~QEZqC0o@a5dtqNv8i9)RXE(LJRI~RC zUzBs4a0FL?J|rOqu?u45YZiN5j>Kdw4VGX62q zarbX^o`f4SZ3z~bwMI>SESwQzaQQ8&8k-(-#`~u53;!=kF)zey2Dgt8d-z5siqz3M zceW=>u_OaP#LDd79u3K@94Ae~Y@LHhZ7Vm5OurWz#Ibi8PzofJCQXDr8?748sa%}D zhKA_abbmPKGQ_Erhsuv9Ou?bg6f!h*@4ome>4KPHR=rFnb$UxMpi~u`6#zbN3#-gA zk4Is6R4>}#J1&IskBGc$Ti-NIgb8Zl^kTl7#RylbjpyOr@_}rxL5KLIQIF>MzFuqm zxV`q~MYCwY;x|48?!P`nID5uQACk>feNic)kg=hTNRe}$Yc8%!`kP_0Cd{eI+T=a< zD=KC?iFcBJa96yls_RPd;Yq=njO)gsxA)t%ryx@Q^AxqZB zi=;2LFsu_#24t@z2(TFlq+kDk=q;^vb>Lk{8Xru6Of*r$G?^)F%qR+(S`bfwv`67{wrs0JVU*=0EnhzSXPE)`2IbLvs>I&gGqAg2p3hw+Fqz-;Tj`Vg zVu#)VmOLC3b0X&YujKay*PD>PMYhYnzq##3Q!MrIx(14E&uI~KlL!85 zd0&tyKz7GyVV$<|YZMd17A1YkAstZeo-^x|aFi86q_ET70DG74EM>TwjB0zz0iaPz z<%z(^3!DLDjpoJCabZ^|f>{1m^}efGjexRXx`4Mle@u!dQeMcD!#n#Vj16R0u~QT@ z{o!Ohvw;EFGg~PcbP<#G{yYOrH*L~4tp|~_7ACwGy(;ZV>ip+!e&91M z;su+YSpL8A`wM|pRnYi}6GtYlVFHNd&cx-8Q;@RNAM}j_rDtog@ZrlnA1ST`J$@lB z4XAd3U9!Ty7XS=IXBZjRHY1CF!H8=YvKvnF){s0Xt#z%dvx`x62c_Z98bMgPk~N%fLpp3CNqg#XVl3d2*rzs&Z9~(v6vZ7Lks5S zOGsQ3MUxFJ!=i*KlMI`2ldwzqR3JMelCoNcy8i1}f@t?ggu<)~rbK>|;y5@@FTu*n zJZye}WF>XIF;hI{VmmYC^yXOO(9{h^|9}5vO{lL?WqusAfX%hRsx$~=lh6IiokrT& zjHY~rywFSeR<3EDZV`}yIFE{B?%6ZwyALxdOgo&-H*uEN+u0yOf_ckHN-FP^h?^HH z!Zm$@aB1xVl<4cX%9}d()yZqHA&mA-4i(G9PE8SiwPRLg@c^EDRALWlyX#MW4B95g zRkjms@Dx@4AXd%`B zspN=PNQ8746dy(*nF;RUU9Bf`dEw$@1OuncyrCBJCYc0d7k8sz^19pjjsRUZ6ON-G zV2!!}#wVwjC_-;7LUwU|BzXc}DwiL7#DR}eb47Xszz4@hF4b^d63eG8O?=4n&lK3E z$<65AcPOBL*)vNk5sFg!Kpukpr7Cd$16Kvc(|J`d?fhi5(6~h^m4+SG$-g_S+w_!&-L5azryQU-nJX+hW8&c1wzVLH$c}w!99|sd$81syFA; zZEA#f>vRb}i)zc{lJJWRCORk&3)NYdCFC}4a0 zb`DYhPBT=Hf>yql?DQ1IL6XZ3#2_FO!&k-uE2t0KmyQER>owzS`ZG#%;m9bSQtb}0 zE-w*TJIw6mus1@0mgz~p6gZxLL0}2s$Oaui3&i?dOvBH(9oi`8K9zok(g{yunH?V| z2A&fBJeq!9elcufILImVzknf}Qq_bOf0Lr?Q>ZR-y-x-S`LT&{3*TMIqM{gbWdZO$ zEiNAS-@M3vvy=k1QS^r=8Mpykskl|Q-1m_bU|OB<1gP-rCq=BTmd_rSj9)8 z;82;w*fjwZldg=b=-|?|j&+iN&12%lmA%_3GT*i4lRMd}rt@UidWFrF$UFcUccG@G z?DzaC7bg&FYg`XD2hAa%JONih;)61xUB1{y4 zsh*!P6#z~IUbk&YtD65WB1^xzRQt|}UxXbDz0&8Eo?ss$fI8mxgpCW)`>JrCTQE5z zC#p`ZZvLa9F`(di%e=- zw5or~$49uK`9_}*a`pFN1V}i~kYupY(MDKv>PX1i1d0q*bAQ^_tf$L6)l4{g>OOBt z;tEs^p3AJggV#t%h>KwT)z0pbg%D)#3hY^RW>p0wz5K~>1Ii@LxeV2T+`WD|i!NNG1{7@eS7r^8Z+GG(dScU^)DMsA*ZWbF z1!MjA!=}>jSYEf=pvBVFROnH_>fAET)wps?>0FIAdu&9kqby5?cCS;vKT^dbQI>1h z1ho|I(iA+|DvkdfT1AE=8n2*FyJ;(&(!1*LW-DL?W;F-;UpTFR)fPCaMV zn^I8sA}S}`-4kEFWi0iKgBij$5FFj_)@jUoi8Y1)G?U#=T|3}_%PROgJVd`M`&_$P z2i5>4lXXVSn$tSs_GXa_EjPEjC5gQHgri^v^?=<5wQ<&&{Oo@jjDGXO4PU{$-I%qY#q+_oIpKJPj5`*l0V+(Lb>Yfo?Ej4GnIJ5(!o^p9tk$8yXdp= z8SJ^{+MR5MEmJXzz?JaT}Ub;5kE|_Av1B zF_LK!XF`vn+~6ozzD*4$O<2Zv>V7TdMCQwi+h`t3FSCbzoy-hac+?jtGT!+Kwl>;7 zz?^tYu)o4hswrR->}y-euaegkMOc(_Dt+Y!Gj^u-iOi-_mTW0GPnm2{P4Tg`F0yZy zE8cnpiFt_sZv%!j>>ry9n>ds;Hk~!~^-7%h58LF}jh64LYDK0xBSr=r)Okp~#w}UO zaD|f^mZFJAV#>H8u4}_iNMAM-%7!n#QlUS6i%aJw${Shev60Q~yFe0E()zZBrm*ST zlw-0owbMHhkRFgp_2Ka0eF_fC@P0MoZ;&cAHtZS;HMheNv?=55yvs^1AOKjvB*RmF z3$v}QdXl6j!+HIe(xEEq3*_xB|L zxuOS&;?mygwTz70+n}$>w&Mu@T9gqC*A_}`HhXPj|^_G_*J^N%E$%k z!i+$fW|NQs`a16+2E!r$0q{N83%06Koa5vpmee=Y*Jafu_cSh#9xTL14Sys{q{ZaE zQgoW~V;M%n*JM%B~n=}wse7`j!=Ja@;c^=hmNz{b5&`_^eB!Y zZ7*A9WL`t5gVrR8)^c8G)=y%Y$=cD$v~6@YrRTbb@_TaxB(q)}yhQky{|6oMeRa6) z>0OW4apZ_sslC&Q4fxR&nM#43mvp2D1LHE+c4x{U$4i8B&@bHqj7nooh9)U13I&r3 zXqG0Bc`--M6e#D#Z#GaGb!grb0-9#h>hdM^?*!-zB%yHNS1bUExPacSuUJKsd8b4d z&&Bm4URk@E@t8)jzFpch?XX@V%BzLXWMvaysO3S<6v!8a*Gu7z%pmjkmfqdUHuN*#>)%;JSMQ;_yz2CZB}FbZEY z0Y?I|gDnFG*=k@fBXt6}ZJI~D8-OHW*f9LRwmmec{9`6P6(pP(qq(4-{9n?BmCYpo zIYu+Sls>y*kg7x?xd%TJYv3-a%9gY$KVi2HzZJcSAY{`GXX&M)yoV^u>S_2ymNbOa zVEBXCX;tqMmog0Q%227b+?s1A7mMfB%3(#NuONETgx`LkvgLvDFNy8`km{<=AooG= zF{awOOE% zUi=L0scwC!;O$2B#Sp5{ay&Q1BEl0@Ux_~czk#P;_NSc08-5|kc)0V$Ux@EHfo>T{ zi;k!aGes#=HK?ARJqN$R#-c014@G9XL~L1iBBPox%brB_>45~cjn3}#9|5?)+)mf9 zCByf_Em<#@WgcV1wEKeS7-GW&QWb^`-C%^OZJyzghGU2?(AR{@w${3miKUhRq#n2Q z-vv?8J0{JcIm7A<#Y94q_E7kUc)1W%QkAJ#DAXgckwA!Azb8f6ylIN6_R7@M$Xfn6 zIKcl95l6=DOGog-f-%LPNG%*b)=YY|k>p2i5toymKt};nzA-GbLQ3e|59Oe9xlZnF zrAJzcnzb%v!df@AsU{V^yslZu%i$@li0cNWI3q8J7vZJcJybSC)K^^>DyHv3pFs2F zgff+v{kS<5qypdJCU%x@7BqETC9}d1$4^zm_jW4ihn#M>0^0x`=r0=aJ2p_%UMrr) z91Ce~$i~kgvg3i-20Ezt9MW!Kud}dU1Uv}*(S$HbAS_>jpESG=cERgJCMZ%3y3`mo zp779Z_L4k7;5OA1>JW3z6wRBm%Y`y`uGk0IFXAQ<$yVLAIxd#|t9b%+8~H`6zShsM zy_ea8N>_bPn~wuvy|4DY-Mc8J*$~^|fSX&*J0}vNnt_0qizg@q5FqY_@I2kO;W?%2QkBzC*2!5X5>M67PD@e|pD3|bTXDF%{FIFZcQ|My5~lxDWg9n!fbcVM!A!?qbvA$2l3uX_93v= z3i7D1mhT`LKZgZ65Q=4!g+J{nyqr*bC$w0?h4ah4MiSoY1g19mM~YPvvsG;15B_x% z8!`VRfAD5(XyvWc&Gk{j&<83@yyeNl6z$o{Cz~M8vbkm)x&v&zzV+A#&Wl2c4SYZ1 z#o+*w(tw1xFLO5bb8I!X3zGQqhGxzPn5?+Z7XU=zpaHYChuWt|JrhMR=Nwxa*`L9f#>X(N(xeoB<{*m+(yYL`OE($MdwM4`=#0;CJpGVlbi zNfbCgjs@`|u~JxNT7W@EzJ_OIXJ&~JXUGJ+x+9b2F&C}PJ`|VRy8|a(VDrl zHHj04S#Ci!uY?+dvz@qbyk&1=?a5+e^njtD{;rIpq!Ydr(EQb3CW}a-W#9Zbf0>2%*;!z{Fz)#MxH6P3l*wD10k`R%R8e;3vfa{s8Ie>we z6d3TACNC3Z=Gon{16OpuxoN;@DAN8z>>wKbUf&19mm8%x2wFy3-W#}+chd=Z4R8bE z%IImu0J@OoF*+P+Q)u)Re2@PGF_;#o$TC!n&*82XO$eQ2{#kid_ernF18hJ15n2csWWPP;)f$*9ip^2RIKT*@xCP&Mv% zM4Z4J452$Z>xcTe#9|4C!tiaND;dGmpaPV$*K@1}xO3ydA%9x}{%GOYKH_$3JGyz1 zG^<1-kNhC;c|x7OHU$h<@pOhA4k&^3)!wS#8x`&WkZHFAcx7ka^)TvhcZ{>ZsPs6D zCn7aZzNp5L`UK#6`8@P_JFo=s7liBHl7{mR@XO~|NoT}_5Fx_ZG!Qz0^4sowHJk|! zVDfe={V?A!u#et^uP8-GOy7jF47Eu8hj96l(bd)-8*Z>_SMe;1P8^8e`u^*XGD}Gm zF1+CrKW_3#t%Qb&tgHpg0oE}9QVys}NP+UCb|O#3+WI>MB?sU)JVN<-Yc%87N3xnI z*{L-M+$6!`1>jPqK}H8$4EV(0#^c`o5H`t7tD~aB0$$`F^I`S=M9%xY7i4&tcYjhQNGrkD-uW!T7_ab`);Ca)IKQNA+`il; zMcX;Xa$iGPspOBD19Bbqt<=>V42Qa(#TBys5SVSf*m9Q{j*cW$mmvr|4Ky*Ppg^D% z4!u8LN?!Y(DDG2a9-)4QnGCmr*>?eGzTvL&ZQZ}lq0R%(+N3-DT9xVJhAP1}yM<2r zHHUzq6HF%rF3dWm%*tSZ=Y~cMZGMvichJh!{J~QAd@%lM)ur!*Khpr- z1I3D}b5mA4qVc*Ke_gu~9c&O3f$mdXbg$i<;{Su{Ph-yR6-6RsPEIyT=%moaPR-3@+2%nzmMcYRCbm z*q^P{l>~@0z?zQyZ>inkafP*kDIe>x<}y4b80mZTflPzp1ofA7ouZ#zi=@8P3>x+$ z_skC+cnV^3TPDVdtD-&w$jX9l0-cmNz-=_SoHQX13G5z&7BaMvU3c8-=G}62LmR~a z1!Q&PtkAb=dj;uklC9@k<2 z8GMs!J4ehkVMZWIWk)4AC_XA!ev2}>ORWoygxh6%z$R}Pf8`~jS;fRqV#?@ttfli+ z=<7slZ{KR$*_6L-T-aUb(|`n>8k)}r&rml8CS+N6Ex@$B^EpCP$C`~kYn~z#-P3)u z(9aD-okr`dk{Lb+8#o36(4-x8ciwvDLsS%29Ne9;c0|oy4~~*Mh-%ie+GM)>IA!8o zreCRRxh9baA)5G2W5O}zud*{5OvH`kR)5w>bYt*<@NJ30_7dtA`Qk+!~y~&fKHjsu)qIrEJIbZIu`&(05%v zD(^1)O+K&PaFzPoj4|9SU2mSyk+eB|@fTwc@Pav4i~XVdo;sJqw@TFt=0eMZKmS_z zAG05PS_-h1x;T^Jk;qdrn)17f#RJi{OO$@*0qj-e?{t%aaDSot1hlXQl;Al8kEHKc zyc!DtfFoPqN1=r2r!$|?TTB8DrVpRxMutUu*-=tmx+>5ZnsvnHSc(H!=F<9Z9iG*W5Z~uvi;%L0OSnrpNk3HhDG%bC zAc96lW*0}M_ui(|mt-r7XY~lS0Rmio5sK@WJ(67p(y_U+i<4H&rY4qZ98Xp96KMX{ zafu6KeO>CYrHchkW~=J?OF!Z5D8qjB$nX-mE)>%+xOzqvNMVb}TIR*b_% z^usC@xPFVcc@>MCG>QstCA~eY3u4)lwa69&AMhc z)UQC2Kp0ulVk?U_8f14>nVm_C$l}(vByxPze%XpiXwY(=Jm{~{;dtv(D@1I~@lYI@2+AkJlySdTcJGB7=8_JA|2d&R@T zuwnA5U((dL037p595^QP9l<8XhzV!PwLnlU@k2o(?=jM03~F#1G-7*wJS_b!{S(iVPb!E_iM2qk84#bc7yH4LXD}$ zT$DM7mC7!C?fmoA<^sy7`XrczcioM=Xp-{igq=F$i+_NATQmt8@i*`^&HZruwehjFEO@!81@phJcDk;}%~`F| z@pjGbNTHBmq9pkm^WKH-K)F2wtL`Ja;I2Ze9EI6$MEhl@w^Ud|TzQE$Og3->WZMuI zA*N?knRU1_3vqfcj^nNlV{<}q$ArV&Zx3>t8mPpJvTQP57AKWT`(ycUwqyRevcY*& ztu~0hFlM@G@?hj#q5MGHxq->hGHAt!56vmZ)c1Vhi!gf(WRfThW()s#vHwPTzVfQH z3;8JeDD4Iu+F#qY# zUi5@X)%i9#h z!ibmthe~^%&ur&Bc^b*hps4X-UTSiS=h8LlwHj z`C~AJ=33}DT1U66Dx11Faj8<_Uav;GR6w{m{1vZ#U#mhaze-v!yB=hD1TA2R&~9n`60lqt;@5 zJPXr}f*`eb3C_Cus@Fmor}UMA28%VPIpd@hm+K;ISydFP*BAz^EWpD^`Yn&=aFm#H z+k$G)+rC^Tg9|Gjw1Bx$9_@KF6km3s1d4>Xrh8!RqE^f?OZR931g_C8*eSiEU#Gn9 zS|D+0k6;)J1vYE+g;$Q$n9-KcJ~+bmu)%H?xuozVUQqM~UVZJrjXp5sK_P`GXxq9R zk_o!M@DhTOaMsDkVcH%`uY$&-RsL+#@8{BG{}9Uqv*QQXV9;i5^6`u?GRaRbIvR+c zm=zT)jMlN`IKn#iL4uZpB}sc9%ZD_b+@T;abkmPRdfO|jX~Mmqh5R&rPZ2$PU7JH@ z08TVNOq=s%Y2_pl7I?DIx{up-Dd|GxqC-NfE_Z7ZaJ_{i;Ip3iT7Z$s0hy)t0f-mV zsPpQ$8Z)1f;zkNqGPA80!=EM`U3HE~8WkP>RMUMK7hb z(gD23R3I{v+&%;pe-O}0q&7$})l+S_Rnok=L-_Dv#s~!NAPC<1#vZJ8v9Jtze(?UJga@*&s27 zRVf_#$*E#bgt2{%*#~Lz(d?qV!|fw+y-`Spl<>Mir?#Eo!};1Gs+YV-keakDKTi2n z`FX&9QZqF3k{$$s2cW0*K$87ttjW53^UQ7c88=gRW-1{24M4& zS=LK;6mxk=Gz%arip9FVQ(SdY&GY;#X0xB|5T$B15mi9lw#J0`>||7&9O0XdaPn_L z;B|-B83AuW|5{in4PpZ4`)hU{1P4+9x34`|syLTqS&!>#Y+lX*^hz^xwy%wRxiMAf zUWcK5GW`ePf}p%hzl79(3?QbW1lDwDvK$Ou%F4(u0k9dmOn2ARC3(P(74(Gpi5hGH z^MfVk?v4+Rfr*rVf>-2U^aT4wx6L?X(^WtUrmZ!pq)2MvcxqcJy|Jg$sj~q-t>AA2xD)%IeoMql1k+8J zlRgFb5wT4l6f^`Vr39o;Q0usZ$rS}6`s$n0@8}$YEG|LNq*b|4%A#p*)F|0(=J%Dz zA;V%aSWuq8R=-KpJbTGzCrG|yzZmJgKcv2gPMwIJ0HNcNh?G%+&fLkzAWPrt9!4UG zh9f<|$5X5_m+)Z_8+vj~RQbba0EG#WwLEcv_h49x<;Z(JI3Ch@C0kyJQxpQA!*ybv zT^jKgc|wZnbPLVqdT>lc&}Wr@@wSRAKL!ef30u_GqaG-w-yE?($SJ7*_@+xrhJ2^qQ@GRr|- z$QfLQ*0O(hjoomZK$P<1x3jQMU1p3)CpGR4dFVOb@SpevYW&TKeyJpN0I**6Geup= ziDDU}8WnOvJnu(0Q{L2{rSUc|m&L#YHZ}wljtC`HT=eby!E@WZ&EBh{LmXvCl}tHb zE(}pA3;z}j9-cm@`E>KV zZY~UY|IEI2i+|+5r=z*q02=M~}6l=EV8N?Y3(Ekh@rFW&m z;5rT$cxT(cd-?o=Toie@d7EYC8<{)mvRKOT-R@Jnz%mdcfNQ+C&mnu#S-5P zc&z0qqC&j~9UD?rfd3&y-KQBxyD|#L^Aqy~iw=yfR!#YI_v-}cZC2AuAe-}JFMW}7 z2z`p(nKyLC(u5j^9uIu!iHgzLr`i@xy1t7X_?mL;a+=a(X0MOUju)3>)w5|fW^)E_eG)^pc3a^( z{UK{+3q>CA;ke@r2y!GlqaYi$>fX}F^XEW0Nr5zTte6pNG^%T;47weV+zG_T{dZf= zgR!cUR;b z80(bxr#9fXDrB|jS_!H-H?^Yck~sBr~q{9mk)z^ z@U!J9aK&SpR zb*vTQWsntrLY;#?MUO{XR)*LUaDj zCIZ@dxBz@)L;O_6C4HI)atCYe0$J!EgV2P3KiL{7xF-Ud;RUeZjwu%Y#2d0X?L4w} zKF0waqh8ZB*K=9emcWk_ymeD}SDl`~p22u(R zLC37>9%!(4MOew?Fm=%hg5er@@BL z2w4kIT#_UVTFW4Tv%N94wxT6Wh${MVs-xTIQOVYop>LN{%rCx?$p=C5y8xkcpw7T+ zM%4A}D$?+QF|x~-s4ZAj-#SWD=KNZLQHYS!cb7K|h};zmY}bORX@GrSyw(wAOD3zQ z3GeeS+Vmaj!Go^Xo0pGHM3(bc&39KTC0Df2LBm+UX&|S~p}RTmlK0(X9vjQAsr7Wv?93JN z_H#mo7)}cE@K~GhbOh818O#t~5aO;VeO>QE-7rWIHetNcO(nCESBLl2LgANDSh;_9 zkQ#e9_g_(qrK}lOBD%V<3UyxlI7CR03SIMkj@yd#(xmBdN-ON1j)U3nDBuRKHMmO< zYlbit#IY@9IV<(=J75YD6|BOvw5^BADv*kZnE;|?NFZz#E54R|vYF4(_aDz>mI-6C zoKhdf`(r^eP@Q7d9Wy&WYUerL?nl_aZZn)Lp!%K>M$IT1inh)*3vKXZ7=)aRR-HH& z`m_I%s*hH>NsSauC4wSw@??m+*cXZeJeo^E%UiK!QxSW@sWiXHU*;br`TuI5U{!wv zLxTVj?)h!W{J*n!D2zdS521G()t&psdcU2ZKzBHy^3v3(Rezwcuyu_$LO{DtQEM_5 zcfkE=(M=4eNKWpn$O9m#qpRV!$i$knZErAD)H~m&hI|S;V(?=0di^CNrpLcAGLMbo zB)J5@oez9lEkMA2z)A0P+2A{+>pc z9y719+-I`r%TsHu03g_*pS#Wcfgka zcD?kkf(kUN@T;s3o~i2Ckl7C=RYk}U#CdJNLQd4rAYbpX0FK<_Ja*0F6gUw7gh{)HxZTxmnSM%da4fNinVYEA)`5J8=Cx zHTb9v`EV!>*3)dZ??xtcW}V0Tde;YzBpY+0ShgA5!V1x!4o5e;a~3)@%O_Uf83kB6 zhs7{ftycl$p}n)O;^!QR-A`wRGXcYR$GZdUWJ7hEgp~!szeRT<19E!*|M(|om&<3sa8d?vWj+K7X4YElw$O5fDd>b*=(6OkG6XL#RM4y8_-~XvCzFEGXP`* zbh^>I50Z{;?hJ3P9id!zam{R1T$I>Kuo&zB(1K*)(CQ@Bh|ut&<6CD;nkaM|R~;bt#-7rj8%^LF!LzkA=)t08H5f z_c{%c_8fYs5vJg@nJKE-&8oF=V-3B<>^PGE3?#@C#2Ry0iBp*U!v?;W$hDotGZ*mX zp%;Ez55^Yu#bA=#MD8|)434Hp*UZ9GE=)`IDQ?762VS2nj@_|C^H5Romv!O%|(q)jXU1>&lW93$^ajWz@ zZcZfM*}HFcA`)ptQ;7PEh6BC%$$0SQHo`@>n=U z=Tiwo9$0@_IyJ7{H32_mA9$Ud^IipFL|3ow2=K-MrJ3;@#+C!#hnpF96Iq*TnOy-t?E<$+-c(1^}xw@3Rs)VwR%0629=<9fuvrDy<+RC7T< zzXi!cYUM1ct-wT5@&~9Z3cSJPM1(pef(CV>CxE385r&KCqZ5(dIz(m`Y-X|3{0( zLB|=wufF%39gBu?gO!3fX${sd9uy1k=yV*jaZ5#zQQJ8OqTWzI?FZ z%1-Ip@oEmyQ1abhF&EqgaXZjBD7R7JROvKJh&vDUGR|;GJCOs|C>oOB-8&rfV0Clg zW@`*S*eWyT&AFw`9|i|%YTcVgMuqI=g@ZD|Ky4h34`{PT0WT|Ae01xT!J1x8@x&qT zla%sDr5xa9R^NoF)B43xoaqi(JPy4{vFFp<TU2q%`WI|@@>hw5lTMgEX zkn%hrjNUj+ZMrV7-=de2TVzZoMlv0pbeR@pJg$FII$v9{YFW8Rq&)o0#qFT$3&|3 zR^5iJMr$K&nDq)}X?2g)wsU2-Yw3#d{Fk-^5>i>N1tWC&1^%{Jt5e^ch~!)KLEc0z zOMuxO1c$ee%66$EoH;l0`x>|;66lW9d1rT$TzTnXv;1Lfia24nYgdiE*=6>U6Dl1Y zrQ@WN3{Jp450gF9@1W>{DnRcF`fLtyLTSvzHV&Hi*ZM+MsXctkTL$L)b^Y*2HoU&d zweT7P%urrX<@EoYglmAHTCLJkTblnD*N^w0^9WxHbg)9G;y&Z|<***ql- z3WPBxDJT6FRi^%=%{=R{Z2p0%6{$a--V(`RFk z%a!#bKw9IJ=2U;Qb9n4fwxb*|k&Jvdx=#vOq8DLvLa{W}$dY(dDZYfr8(vG$)Fty? z{#ih5DG6^~Z0A z!t;pMq%aXvjg41ZJEXjkD85LKFz6*$S*CQp_I!uf?F6LnL)`cVPC&4(|DlJneXVl_5QvQD61BvCtS|;U{YNa*AzECXN?vt=xM8TG;6i%eAt5S z#)Dp9lS+3fdi^hWwuIcG-@vD>R&JuaE#EMGCDxP@iPtTj(~5jY3C=Hr6{mIUNy+@0 zmDy|eXEzZ;2r?wq{sO(XHo&n9LQQ-zUj8d*h%3+EicwG2nv}9>(v^`?)#80yRZyyQ z{@BrV21op0TbgquBl=l>#o^Hco-B^@B5V!lVAWe7(B>U|YwHpCfMzeQVpEzLy7LRm z`4nL7v-KqG?+V!l{Rfi|XJ}^50In_)7rTo>1uso&kZ`@V*!YBG0Ws>@iQXLcM)B6$ z7AT4AucC}H;p#_wUy6?ZPcQ?G9=cnOSi;Td9gE6A zQS*yk3!i>Cde%G9lZWvDV(E|MJRZ^kiJT&AF{sS%8sFTRt z9*kymnA_^e05e^K&nys8{YoIKdBM${6v%;m>@=K#PPQ@05_nq4%&|`P8DQwTp-Pk( zvjg7~a`RgcMkH*B;drug*PggBk>$y=!gi_xWnIp(4R9%HK$C~ustTeg1NzuwOwPx| zxkA+sQTPqUb<9}Ly!yMdg3ge!di^vx1#Xz}aCmVRF~uEFZ_MN@e7W%86;t>ydi?`qMp>lI=2nzeqBYYm zL4C!g3){}W+z57(G-9vUd_&Kr8yFHVL82%nQyr_3PiTjwT7&b$07GjOdnon=#k;a5mugQ_ z(0hdfKP3k8^83E-^Bh%A6{HKR{)5dY|5IB*s_1%iu|2A5@8PpfJmJ9C`&EZNN@~uO zr;lv?QOB1bkboAybV*oH%T?U^{C*LJ5ZZlD1#4dd-k;%OF2%TuNXG_`djBw(S(*nY zUYdc<%BX`aJdwvCBVYgWR0M|g>trJz)q6}QhuuaOt+BGblz^MYLu4md{JlAVPi(7^ zt4QnJ(aGDqJSgrWC0zEYV~B8#YSbMD#(KOlqnfI8;zK}47W`^W6ek3A@^{E+9d(|S zl%2HDH;+SZnwYnq#qIX<6sk2v;*A3rfhVlni2x6*j1BG?8>)o$$2 zevDLMP|fl*!u10Lv+x%LzvtiSJHM)eN+pRxEPlwFlfGM?tgwn2n(F$s1Zy4} z6eZ{!aOPGa3a)NyvnImi!6rjfteA^(a-KFctlM{L+eYO2iWjp(WwZeMC%^D^^-+&=M6+j zi{Pw=EwwJC4s%RW0hd^*BbK2}ThZZYnsWi)8odiE4cq<^Tml$^Lf7^TqI0+TZr)*c z9Bm~s@{R|yH9YM2I(|p`{DZ=TvUI31xJ+7-(Ns)x6WUaLy5!+?qjB_b`9`r$>r&He2Y z34h1{c8}5VWj%F|#%j`77>S(Fe0I|B>1qi{gZYb=rd#7rGQ6+HuqIZ*OH^(RYdflI ziCS|+ka2<^z6)dzx6>HnQjHw6-B&qL#+3-~ry+)RnSa|3vzg#6JeRQ(XrHVLnYduW0*g74M>|lO$2#J_Xbbn&s9^bq`Z8%y~+5N(R>us)0v) zF1%q$Kywypq-N{)IkHGRHU8ikb5)?aSNQJrR0lUo%o0JM<~{nD?GmA-z*Q4_{NF?7 zlnawTnxCztTGu?Hw!43%ZV(Tc7w`alUTrdFdJM>J^PEo&Sp}T@v{p9Z%Ab8^7r;hO ztP3Ih0A0J>w8#W9Yd+e6i`X3VC3oSJtAEUh`SO?AXr2eED-*DW^xeYmH9;I34;Hj+ z^~Y7lq|}g#hi)4C-g-9}Ax%nsYv|1+6@R+zD}V;im|$VyjN8ZvaZSp}T#rbN8#U>< zS1{0#h&S#B_r>aAJTESPhq1^Q`i^$b@CP~d;IA*%b#Q)q+h9YKG|fHdVC;)NOk#T! zVic>k#jO&@|0UsdF&f?|_zcw&>DM`R#p1el3eHieEX?&xiLbI^^`E+-MZP_`E-`Kn zhwIo<5t7Uk08_H}OCHMvodNyS(lSXeGMZBMZmV~RQ8A(|F%s{+OZ({pdadEUV;)Y@#L)y~&m{?4G&Wz4$-`@pPaFjJKhuDz8NS#_jqeZ!`G{?%YazRg%+HhZ( ze@i5iZwjdchC;k^?n%fhP|5S}aMuQ0%PWjNnD!mgAGw(QJ7Lp`&QI&-n^ZbC-+1Y4 z_D5LpBpA)1#Bx?3p74AIt49*l^&NilKjdd7+Q(Am3hWd~VEcs&+y#1MgXX(w`=< z0>8A)vh*4J1B?Ggm+kJj zs6Z%=9mgt)tOD48y|ZAjKhoUk1j5>o-V&13)1`r_{i+ zbso-jjrRJy?<#+6SS>*`@AgK~v#HA}(X|ARkBKMuFiMLIgk!V>C|8pwPS;9v3G3Cv zo!`JBMQwrKmi9-rOi367cZc&=Sv&Zw`r7dh4)0?7?tN*(5O$m6sYb7qNr+_(fsaJA z&Uk7f;h;+BY|a65{48EVgV_#)+J@`FQ#90p0VE|S;@O9M1T?eh3o1$7fm$?V78o3) zUk5{LJd0h^9ZQwH-MRpVz-NEAQO9D(dS&gbj-Va1_oP3NFpFFoLNFS+7@ z(k_Qolun*zdfzLG^m7S$#bH2bS+(lg$T@nf=FQ~k3fZMItjCCnfzh2~jDnJUkvRr} z$Hy()LBZQT)s~1CUPm^6@TtC8Hr#^O{WaCPLyC*GAPxY>tcN`5`QZ(o&pR#Zg7rCx zo+p7$*#@}8h%Upc%DG0sFI!lD*WjhucyMj4agh|GUTOM6rM4IIVBVAg8lVT9k|zso2oGr2{;A+kEBnLce565&2il2QV9Oz}%2c z3aQTMQpb@WzADKt6-G4(Re)~i%X&5X!yw_?p-%WV5~ceaBI5)ePz7Sx*{f;Z#4b>1 zzfR!_4HYrQb|{ymZusHkUG@_FRfcc2DxX?J!~p_4tVN^rU3bmjGN<^K=61X4L022S z@!)iu+@>-5(!qAD5DsM!Ux!<0>n(_mot*R2 zr0;#gie7llz9sV1L9{o1xS zXKnT3E}4t4V~8Ff$mLqcQ&3CY^sRRR*j}Xk9J0_pu3N~;>Cpg^4p})K_MmtZVlkz| z@vKq}MndJ=+t2uxO;h!zITRE#j5ZWNXW2pAwo4B_*oF#KDG4VJH{S$#ppy zr&Xt^X*9(GXo$d0vT>nWqUg=Ot68^PAB+0tw9X_C7f<>5`3$h_Y}W|AHe6^_n|8rW z>mQ@D&?079pipHM&T@(aEdo(C|9AQeTAq!9`158S!96Rk{lmCarHn;gxqZtehd!^u z_3e`-ii>{^b@k?!OfAfL^GGsdA9e-1gbwo^nmyUT5mH?llpP1w{LX%Q&`-U})5@1x z+JfP$^|R!NlK6JubTeoiV4EbA&dgQ?sdK%VHDPjoRBc^3{L(mT>Lgr6?F}I zt|_{3E-L&+3`*fULgiRHyCr-zf6v5!v(nGj$fIwHg>Kx-P#DTRIJ6QZM|4g&F{C~j zB0SfY%;yPl*xt(O@Fu-i^Nh_5Qan^>!pDF=OQFYA?>y^Pj;fbG&MB4bDO)M_?Z)zS z8F`^VSIgfjBaChf58B-6BfM5oxBi5k5QL(S*N`Q4whZ<2ny*#&cVK0L50ijY zw^Cu0pG|8iyOrX`6AdEGXA^d~3Z-6<;khC6md?jFB20Bb1EioPbrr(kwRMeE!cnKe z6VpvJE0h{+MM0DY4L)cQu=%`xDOMtxTKP3u8u9Z652vw`KqK!#tk{1)pM!P%hv5Ii z=fqqNsHhSq7kaG8v#KccAL}l^uZf3!<jpFsg9YB25U*0qZjMpmb@d@R7&9=I(QUHLV?TvVM~MlEjiK?B&vC9M z9>7?>4x9I)M?9>tI_O9lu)(Y|Nr->lPh;($+f8e@rqN#7ngNc{13_RnAO#g&6(-Oa zv5)Ihkd)8x3oY1&{~|~sl~eQxlP)8Mv7nj4X?r#7)xM0+0a(nt0snXbUOJs=|#VdoqI>7}wpfe4~)xE($ae5tqjY=|e1R3wvH$l(HC%hjs*& z!3H`elSfn?_OC7E0Hl1$=PLJ?5K$KEx^+-zRK+ zbphy#B#*dckPhaEZi{&tNut@I?qD)s_?9f_i3x;z&VqA0%@LL zP@y`J2L|=_4&SFGP{q{;*RW+)`%LLgIJZIoMV>c*HA`U1rtYfKLDP+CH&Pq7>$+W13|BCAuNh6OLY}NGj zY~~0LBD4Q%HHQ+pDC}??`%EE4jILVbA?T7o^rSFPRNiupo#rr+sPcI)`zl7WPDm=) z;yD0}2{*pQaotYmP#-U5SpO+@QuKN7kq5c7w@3pr_Jkwd^wFqNc+ePm^nz_;pO7O} zEAqoj?ZY!79w(WQy=0eNLJeO2T8cLo`y$@L81ExNzZ zO8;ITrrh;xUy!@EmDrg!_P9pih^CZZ4VG(Qm!RkBfx9dNAZ;xR^={?gt&B=_=))tl zcBgY+&E0Q;wT=U7qq`S0c~VTv;LEKariMg7Tesez*e4oMPz7XHzm6ad`$x72kAg4P zazhR}YZbZ$^KpalF=|ggjA%A=kCbIdAJN2W#6^}|Q|D!g$`A+v>qu$M1SQ6y6O##e zgHY8;>sO2)8K)I1-h)TNkMt92W|=|hNc&;Mga_P+zrYYSl+JNqjhf=r zsmE-0?Kaaq{y2O37M^rT4nQm3haBSui&XHhpm`CfpWBpY%-;Z|J3k8Q#Fl@_%v2fC zCGbDTzk1$#gf9wg$Eb|DDE^v}%TdTdJ4`!~a1@}!akEu>5LfcyjBkC$yRg$|bS?2k zuA}SK*6%!)_R{bBTG)J|#c&bOOf|&8rb-8~^Hhb(pKFzXw02^#A2zp% zAOH3phNvTNj*1{}EQ<5A^iiH&c$H0DE8>v=#)|AMpXTuAV!qpJbDKZrQVTUyKYo|r zeeO+x_sgkxt})}sydv>0GGG3Fwor{6Mp&>MiWWwhk$pxB*H&I5!DI;r^D&OhOFgg? z3LDnq9&SA8qLKgAv8?HBNrD9NQo1iwe(awML1)$vmJzkQYgr^>0IsE}q%LU%aw{wCt&WJC&=5{FBJ(A3VioYD+)>R5cKA?euy1XE_9>J^+M3Bb`zBIOlACuSqf?C$@ z(>th@TkpMFO)*v0+a?x~r?R2Kjid3vHrU$GdI(=@rC{nOTLkG2jU$l-4XGMWMU?%G zYeL-h+$)%X^;|ObKoMS~x%nW?oj?~zmTOv)Vmh3=veWhR5eVf+w`O3RL$lY_Um36v zD`-_#usOUbxKyev4*gREqeUHGM^)r{5*0`O$q&HxM?LIh2b{c>w`v$uN$7fu7(#C_ zO##Mwru8hf{>(5y&CWg~u5fqj9Ux4KGDF`$K;Rv=yx%R`d|cAs8^TfX=eiKEW}c<$ zS1ZWo-T9PE*s(}z^n(j;s*vnBu1GvA*?=y~a3d;m9#Z$4CfY*KtrTb{c=Ah<<@)O` zH|v!g2g3H!qEH<2oh~f=Vq?IT{B1qY0a)GZJMiSi|h}58LOJp9N zaWgsNL=O{tIWvoNjsu0zI}(lx1~VcHAAy9n^EL;%ITIG5Cu%6idWS>IiP%c~SpxFM zmGZz$dQ2QZUW>vngcn@0*=!AbsCwr>76erXl7s=e${_JTJAW~RdchO$g(et~7?SX; zQu#n#^O2p#z6Hp{S>v2gv?Tb_2Ch6F3j_-TqYuam#v6d)7C#y>Slg{}OuA#7xwxW% z(bkk~FJnKkf&%)Ja8NzQ<}5~C;-ZcmMTp6*EbMOyPCH3(d3cEc$rA)e{=HpH)@5PN z8E(DosF)QPp%6`Hwg4Uy4)rgLOBV%rgm*BILh7O!t81#J$jRN1A`p&uVDX-rUxjL*q5moe zW%&Z-0kA@?_$aSHU>0i}Vw)s6WvB&5uZO)!{o#vMMfWy?GTAW(1iho;wLD7>F+G0( z5)VwDh@2&pxh*)$h#K8yJT?~Y12%*N<?Xq{|X&#Z0mx~Om6HN;TEXng0S)p9@K|^~@-HagYg2l_89aGF zC+zkjDgB#^%j7H}cx2NUKH-}2x^@l1H^!d3je<0nzI{yTn>PQ7h?-p)g|$jY7PC{a zO?QhMSo@HEJJ{bi}twH-1f2v?QeT^0-k#a#&}Y=Y7#CGUtYeqb|SDhHPFE zTo>)$;U#z%N$uiyMyX!behiiH2485T&yu3z_Xm?jQ44Y|>mOBt)jgAQA*D}QikBgr z`JT?+R|N*v|1}Ng3zaRE=B7p3#0nRVnK;|ek0zo4F+W%fD8QIcmye2PN=NfUuZ5RaQ@!I@??G$5yfBYS>JwaSKLh7kDt5GR!d!T zw$ADuaJCt6gNroLlt(^F^lMM;aTJ*!vQ>@f0>&`Uxum-?d{kw&k<75vp@6_LRS;{k zM~~*Xiy(e9D5#D2?pkcct`V?LA`hetP>4B}_mnsT9?M(VTey>e!=W5xEIV{V3g?$- zJ@6WYZN#^0rQ94o%y>ZLgUU*_>woOuZ0G(m!~Qx4MG<*w<=>3db;wIRTwmh)JEXF) zEAD;A>OBNH6+ldT9BV-@Vfm{SX8T2ebk`yGZe^je4f+IlrV>&RPJd(iJxUf_F~C3# zxWHY@`M@83(v0uShY2RGH##Qe{Hm$7M~@>)a|LU;AFNFQW2*QxtS8ED+>4A6_kPpZ zGC%Txp&Grm7B$6iT7oEqg^}$~TAi5c!uS&j;6xq!VSk6&C`fxBHoh4cuH7Y3|6ZcF z^eV|3Pj|9XYoqiF6!JGm7LDMVu{8u9z|sAt{s82a5%db0LJz(CHeff1H_oDM zy>Rc*8bh_3$)r)b#6{79)cL5^mS30a8(DLgE9K;D#p-nwdX|H%mC_Esz8}@hB=4jB zF;hf~wj^B9_||*`I=TLdEGmhw#0pAK{W)J+z|rtmHO2xkwmDlV;*-JZHnTBDuf&H~ zrsDH<{dVpnf5zZUb!+AU7NYv;T=yWrvy$2hsZ_qbJ;=8Wz@5mc}FDp0ay44=VB4M9q!iEeM-) zk_m@MUigTmF7xhGkW7#13Rob%MZ1rpQ8izx?a85$>%pvAg<&ayLl`mUVkZ*GRIs+H zmL)GF^h1|W%>d{_--d)hf`EE$Wo5FgP9i5s>2Ltmb_D~%J%?Lf%RE7pkH}LwArg#| z0e+Ba;^*7$-F*>$b>g0|*x?}#ega6cYnh&^&E@5Ss}F7-yIY&WlWaL}=?1o<{EI^0 z+T=Q#g6dfTF zp+T3xF9pNH-k7&%pUDwj1^@lF26$_42+Fwc2Q(UahPs#TfZ#0a^U_uSpcVhQzKMEyVQ)$nGFVP9VV0K+W_t%-r&rM{Y)7LJw zjeUcO3T#S-21WJS!^XoVAd;%bl#YY7fS}a~S-kOrY!WF5HIR@HJL|*x55I@%8Eh;= z7$7tS#EkhLu-L0E^rL68otipSa7)@(Njbt(2O$_}SQtu6&7Bm=8Xiy3{YlvqsH@=h zb2M?hsyGV*I2n#bD!^~aUyu4g!;cNrJiwD4PisV$Cm_#5LIRTkdb)mXo&YAG133*r z@M}qvT!s<`CVlxO7jWV*f~5c<{cbzab4;UkK_bpEMSL4>c3Ud&03h@E~#&;?U}Ri@`AbH9Zowvx|?1KfdlXFU_@nf5umnNom5TQJ$4 z9?_$J@yJHHqz)8ad))}Ht;+I8cO2TWWx^X8UWB^d8stlJh-H)d+FDt!l=;J2)P_R6 z{aTay?KNWilQr({#7^ou=%p1bv0s?UtSIm+@gM0|Qf3lpdwsMlc#l!Rp{sZ1bjf@f z=5Z;Gke1q&$l-S;IM>wJca5T)AP+6&`)=3iX+mfV=&&YFjK0Ti8vi0TFZ@V+eKa4S z9e<(=(h;HVJdwsSvVnj?g?-gQQEcsb2ZR&L>+(5^SsNYs+xGs4(oI;7fA7E->fDw+ z>cmhW6I9G`+DR+wcFZmhp$V&oY3cU&-!!DhD_SZr+Gw)Zgp*fpdIF(sOU4EbP$;+t zpO^YiQ}6N;on$fqg??4lMZhcKBGn>!GQpkij>$ScZJAg>J5AG_Z0!&h0DB7F4HGJdq%;afMwGK@pC!Ey`Y|~*UgpI~< z7Pk5}DGMn%k=_j6<@xo3Eks9D=Ir6;WfL9 zizO}(JhbRd!Bra_J-u4%wCDbWP%!RfIF9Yc7Yts?wE2(vLa~RURonmrvR70=K##Ri ztjQ`754QO(n0kC^PoxzmX9~0X`Rm`4RWf%h@TG5sSE(a85@#XW4l5_5`@gmbO+wb` zuD4veMfVLE5q$_Zy%|nqx#mWMb8eO#D%%;|VLEpYfLo_^(mD1qBou5|5e572+t3Cy zbjCTmVg% z60x`p{$X*2Sk`l8))=bL?rg}!!jCKNME9|e>F5nTu56Ppou)tldKw^X@$^el=~i`v zbxZ%bYg0K-#>D}yOjqd8mfoyF&~MM14g-~f`urL zEnck$9RBG!j&Ud|+l#fo71Op8gcg4E558-hCyzG-*$l0)|JE8kQv^H2fn(v6XhPKg z$Yj_{F)~9v$%#D;KPd(HVhnC@_!qWe?y#F*#056NR$pTXmP~j6h~9i>DU4hOG>f|7 z`z64;yyp8+D;Mfdu3AL<99RgLVYJjcRXctlEjQ9R5qQGC!>sp?e-^iUPB0FxRpPT3TPA`rpN^YXdPHN6 znab0T!V}b2>JK9mx3~?dHu@lS8Zq2{J=sKf{eg|a|5_#r+kx0&B-*PJP+{N;BN`fv zaYDdXMk3h(NMC1-M`r_dHcnGgIsZ3y8ebPtTF$V$-+)<0(aKZXse#TjConR7*Tev$ zg<<6Rfoeb-c>}Vml-Y8F;3(*%ChOKr&>@)R2A>POx zc*tsswJR|~$)?aZQb)hxD#E4}CKG};q$kz>3AET^Q*>*IPS?76DQoKPNz*fNKD#q!V*2Qg$$JpKC+?UPtj}$H+7*KJn_@9nSd8$vd@}bF zN*sJxQ;M*2nikAC0Ojw9-2`Iry87}yIHWpP@y|Mn(ZrNjKG-!g#b4w3tw9oB0)&~) zLP7Ek4AOsxFgar5%<(hk0F}W^$75W~K0)#7CH;bG!>Y#zD@zNI7RXql0yRvYbB+x3 z2q^R7q1c88>`XI)Yk-fxYYAzNVK@6rl(v8izY^H7ba0ZE@U#qU!5GZ*n*>GnaNcLW1eZo=7n#e24Zs`oCApb>>HV&Pz=B=*7x2? zRQ5X|-BT938vufD($iFvEn15Hcf}j(kdv^{#-f&ph&X5Ey~TZ}&Rg(y4BzLR^~*p^ zbNZL$!KY7fKB9whGk&!89co>%DSb&y(E-t$q_sq0V87xoWFG@&b5~;Offa7ecVgYl zJTz0#jr>ArT&o-tQ#v@^I*RUp++HbLzSuT4k$vL9S+(VNZ{nNkg1#ECHNt5Tfuas5 zgH_4orXUKLPd&4Bl1wCi-mcnvW6Qd4YG^mQRFc5ZyW}_2TF$;|(N`e;ZPU7Jr0dFmSA;^d1ad)+1 zk^A59Zx(Dq_^#iGGBqWB(ehrJ7R3;ZU5%DURyJ<@#+Qp2fYbPfVU`a^{Y;^t`hI-N z#VxhX1e-B*Ndl_62S$EP`<<3z<+RUe$g?)U8b&k$#)*v}=0J|D0dy9%yVSy>GZYUE z0?2MPflk>g89t}6j~Z-ZLvSsh#5<|I3mugT`Ds)IwQYU!JCImIJv{^6L0O!(PL6ys zuQ)h!XRdpsOqUx9YR&^6{J%)d>3q8#4l-QX#y>8VZq89zptyNY_h|+H)Dda0yWCQ& zsX-vjFMm>2EJ+GFF%0rpW)7Ls?Rtt9x9J`W&zlnapFZC2{d$`uTUdiAc>#I|+R@Xe z&OSQ1fhk4}8$(xWz>a({(iICTU*Ufdc-w;$V2p4{MVr5R=sv{if8!?X9SB(~Hif^w zth?A<>%2-RxTI?mIp@t&dGY~x&}*d;7jO8JQYqR1A|*-puS;N1`Ne6R(>;k-Xxlic zS-%LpvAU7kOlH)ovx(6*_oLM}*-kOnz*zSazp2#hspYgOQnqj;@BfRaZ)_<>5N*mi zNK^|ipL9Mp^61JKN9i*lJ^iaf{rVsSOy7bQKW@U3-xL6x`6UJgh=wjOD>k0#oCAea zs`;3fw=YV~B^M3(1!-XW2@CXZFDsFZUbaj`;=6{G;+gM!`lr!7_cnzvrN^M3x}2u@ zdildY|JMKx-{IvVWR#QNN2bhmfqRcMjDm)Wb}a}O&_x5fEyS!hq;170(j0&wS0Z*R zPl1e{2f-1;Iy6q~9HM8WU#ya~@-I)VrTv!1{pfpEn>$W5aQ?@G2frB<^m|AVeFS1& zIZ`xTa~^nLpZUR^zvG)+F?O>-dAt#l7+>5aJE=PgtSX8?l*sH6o&br^57X!n3+r4W zx3i;|OO5#JCuD!%wUN~Lbj|}Vnj`z9OtrqP@{kl%Y#suV=`STu3_LinVFRjKN5;h2 zB}~I80BiJ^X!z(1P{fwV41iTyECjCbT(||aXMF8Iv$`EmUE!io0e3>A?|E9#o>49Alh~d@C10S&q}hY60q9H(Wd4@eIqiL?26{e zoHNfj%XfeX%-O2Fb!_f#vw|ldQvy2hquAgu0rz6T(y`~20=5+hd1|dNMDNmlS^KN3 zU_*!1@-IwgKj8*b_jSmmk;|#$D+~0>2I=?;C7bUrM>`}VNojm_ z5}-UW_bTWR)&9GW57b+EJ>Q>eEgiQHOex+`lDUI`vDmf&t(UOLC`J-B_KjwQjDuQr zBd(H~irxBH#uE0rr&Ry$1nN*_FWl(M95*gCL3q{`(5W!hTFgnv)BGz~W!L8a8HK}w z(p!vV9*prLO9dB*dp6LR5^RYz&x^<7Eh(g(=t_W5&=+fzsEWk*3EYF}OjWDMY|&?D z!4Rw_5F25!&o78zQ-wSa`)S*!{D@)A*FfpEMepCOICPrVc*U-?3YMWa(ex2M-mFOs zGdlgJJ7*?}!h~ozu(SuyPYd(LLRu33%JoR)-bPNiDlM!LP+&YUW!vxCZxTpshM{Pu_($w2xv zQR+yKRqj`~=j$ZEUICJj-u%Qo%$2IMR&0M2i4Zb4& zoSILE89_(GHyfcUJT%n6)hhuxCGn@4>domrycnfv#rp1jtF$xwluxfNygH39g*f`0?c3>*u2Sp(baL;~m z%mdx|oMu&WTaBKkk(0*Bq~`C@>iuo~^Ze*j4uy1bfo@C3(!Vz=aSv2wKSYU1O<<-% zS~6h%JHThemPs`n=2kRjs4sjm!yjhN-4~!=(`~BxyNuJ zu6R0{XpI_@ERsE<(lR*J&Su?PUKk#05sI2vrLDl=Yt`ylH_hUqV>y?f=~$Rdh(dh? zu5c}Nx{$L7?FV@(F(`$Fh@av@^xU5~pc018{Zzdn6sPe0Q!kd$=xrPyiJb<@HAvZ2G>X9 zZ55cx;A}ftp=Hlt*tR{&p|w}&$Sh&rnJzMWWWNgM>XSU4QSG!PE&^ywrg^VCX>72q z?73mT2Lb{6L{6%+i18%+?Gb@gCvT~;St`7LL+h)7wL0G7YCD3%SiehB^3P3Xs@O!9 zXgAGJx7p+-*H^t@D^M31kEa2tYftY|H2^J((V@)6CR^r)gY6G`twq>mk3_mC{C597;@i zoC1L}_@1GH;FSnGnW#c^)BLw5^>wUKiDEuqj?k4h0Wy-%$;|-iEQ{+MxF3X8y{o*w z^T&SuX6ODy%@oN-!=9u#cx^bKDwdLCd9FCcfGa7d2Ft0{)B#D;N9S313cvHdU}|`y z2*u5#5sWvY;+ah6W_A$E?2A5PBl{(AFJ&rAruXD#Ae#!`e%%R^ZPkkMpJ*&>fU*>x zZL}%7=`cG20*jH=VM*soZM^ca{@X{cB)?46@MzQHKGSanCjtR@t1T6*xIDhsz9cz0 z)C7z<_tjrFShF9al~WAUqFq2DkZu4)1KHW>>8240<`I8{>t$?MuY07DV7bXTRnH7hMY z35kXQ%QQGn)NZSS;wM?{4U>?ek1VKVHSP(JFOZ%(Xz)#mfTOSv_=KYg%#wN1N?e5Y z-9@b-hhawo3?#)VTO`3eJpsgRngP;(C&pifA~Yh^xt%LP(9I;``mmAN-xQ}O+WZ9B zp$28NtI4i7x2HrjuE_vIhQ$tS+EM2ej(wHyJfzLo()V$0Ypcgz&)o}Mi`XI*nB&iDWK^Y z@K>bhu$9nZ&&N(z<`WrIuuPeX3tCJi2n>_Y$2=ZBZ=vL}%LlN|_H>8`MAEk2yI%v$ zx4#Rs^BVa~60T@Y?zegGm^tH?03%$G{uBs#4Nvmtnx885ZT$;4+s;?9G;lk@s8A}G zhptpaOwF=Qg+N zDA1%$;9nSz_~C%0r?E~vZgNjLhAsAKuZrXIdg)D&b%k- zKJkDG4j>AbHnF`d`5q6?eGEiTU+h)9tJl1Ccz1@PmLfs^mmgVI0Rn1;jo{Fi5xX;m zVn$87jzCMRiFa=?X69Sa$ia9rypk>F;dW!m+9a44+wF6oGn9TsSdRF#+72?_S5JaK zJ_rXdqHS>l_Of3V)K4dvQ=6UO4)sZ5h;5h5l)^y78KE21PN2bw6|bVXV?(GQu$R}# zbkEJxToL%I#;iC&>92X`q`B#)va)|hqr*88RuqyDQ4z3N-lK4Qx`Emh5R%A3_jAOY zTRbVn8ulWT)pC8yw+w_baiz?bcU5l`ReUvhg%YWx zGwN>xHH~2Cz-@%EMG;XSSYu0!h!uGs^Y=rAr}b{CUN;FwcCyL~CqFy1;gOo2*HO3y zy&$)G!1WzHi30kxrC%$daj6h@CfPFa@#UM)RLQZmHHcE&|D4KEZ&~#H|EZiNDxaO9 z2lOdWt-uDe=`1h>9-5Ax#t_HkSbmv-nH|&%8{abmVraX)wgr2#v#FiH161HVif+;? zNU(d*LhzropgvIFwrfT)PyFDoj2T+A9djKmOKhRSjASmQL8^_BNERa>$!5R^6kt$K z%XTUDL40k3cSrdHNmtR1o7keRRD7tvuu}2@Ka-qc;S(N}w~W=^pVRwb*Dnm`aeQt+ zMCeLE6P)OtA+|}JZ?g%EegfkmKIpC}4f^e;dkb9X4Q^Y_utaVPqhU(=P~eaHCA97Z zGX9ym&KjX%Bt|?+5Z_TaCLhY?xv=MV!#-;(r8t@CY-0p)gxHoqM+{!0nL(U;+tD{$6I-Am5cFb;v3JdEf zhvYzgy|Z78>0?GaA+>KwCV#lB`7CZ;D6T)qd?%XNpyxQN@GbbtI#!yQ@9h~ zO`F|pJm7;BLV``(XGxs<>I@P&^5bE1Iy#e+)^P=DBT%YS6JmG-Xhh0Gm}|=`$<|Ww z?wz%<`$Yraf>8fST6_6^i$U<-a7D?bXrjN?W%X_1k0tA2p=~=NHO3tdA_z+Xc1gt? zizf<&M?2BK(D6ZsyM}%t!>LN~QE8?!WZ8vs5yt47!GxZR62V(>b=b9qmb6z^DHBsJ zZ~FysrRc$2w*P)}yb6HHEwwh=Cvg1LZJH#+v^@W*%4*2Nvhs1R0oVy6qT{-GLg=yVg_*+Jx$J92!T}LA64*tnM$3Bv63EyBdKzu3i&HCeD8)O42F_v5mwV%Z87^LTjOFkBy543=)8J-DL{ttM zUsG(K`{aH6!g|JepvmQ(ogeR_-7X!z#*nI}d%=X*zaUHA5Sx>G;~@OOQ|U_`%1B(t z54n7kW9liT_B!`N-x{vDpJNtbhsUHcD$N%^5iALLkEpp<&m7%1(> zkAtCXi;q2Kx?|`B@GglyBIDZAA3!~=#4cn9jyhGcMd=BxOMm@(G-A_t*7XuBy z?X%kby{)QVp^ITZUaLqvkVHtBL(U6xARSR>^g*4me5G5{ai^cAC|7(?kFc= zaUE;Ka~}cyLTN(p@Qq~1TNcznLKQT8G--%RB|w|CNZh1$SCs+xcAU6mN8v_Uob7Rq zBkKHVmrnrTGSuVGF!->u&p{Aj&NHkH98qJQwx-Bq|3VI!%^j`FokrC&%!xex*H)OKvq|u7@OA<3n`%n!f9!821K=~y z`gL(eh%tG+n3~dcuu+y>fE#zA`yypXdIAFHy(HRW;<@H)-AINYz5ao|OEu*Di=Do| zCsj@vJ3MmYPWdyM&n2f;Ae%yh8_|%jzF5TVjkA4FR1;cCeT8;QWLOL;qM%QOqq1Ln zMZCi$+|lE1LtlNG! zws{7(Weq`wUqqk4R*`Zh3N+YJoJd5{m)7o=q~$%`{GPh=poR8TM-<(NMzytY#f)t? z^rGbnc4zgT@QOrei|}hrGc?i@WOGI*lQ%)?agt9oIe5S*ncI>ufgvDX8VXEw0}KYR z9TOZxp{PSyu#g|?F2~FwzT_l69M^BGd$4@9f8!EUUJK#Rv5M-tM|(%#R`9M zlVWH}$)N*-k{S8Dc@8OSVqzp!8O@{4l);ufvQ{!l(T{+QO&;=G>(-E?HYoNLs}`uqvem26{FEy)U#3kE<*6SYBZSg^zEkc*lYT!y;P?-7j`nw z0^lx3-{Y^LK~`bi?NjHaHux!ZPYJHUs$QQ0ENa^3qKzoI11t*L!8y)h@yfa){p_!? zPG~6@Jz8^S-;0A5%1M@+(vtwBcPyKyO){8wzYW! zZ0~2U8|Er>Ht4i8;8AHN%cE$#KB~iCI8iN3Qkg#|=suEk z%i?$BzU7khhbw46;rNiCfx-Zr;;8RXB|mi00lKX2E-XQ#@p#l%G)_XPQ>e~lvCQR1 zNt?eg5&|LwVh>BsmO~a=z+DCVPL;d3YK5Xg|%hVnn<@8MxYcH3YnE1XW6S(P^ z@Bwvk|AvC7?mZ4X*NHHXS){ynJ4nR)(t1GR&-gqwIX&HFo7EaJBQgqZp*~G1DoG?P zj1C68%=|s=?w)Ynehz)7o{dc~sNLw|*dOaBPR2ZICL&ItG^Y^>EM;4eF#y~dXDtBzEt4@01_AngB@;?sCpvN0J z(cY!-vchR$F;CTJ1V+gh_tfrCKCs2~LM<>a9j5C0A)gvFWZD2XRz|@({d=5I2s3Ow zVER|LFSk81h607^AjSL$u8rBJSN!B))iWuceb)>Ccs3da*QDZPHgK2x+1NQ$_+sv0 z*(ihc7zp2#P;U;zYIvWgB`~X^$FDC7HR<(3cFaY90)%b3-THbCy}0iNE9(RunLU8} zWzTApGjSZe(JN`~7kUMdA@F7Jf?Y4KZco^TbV@8~e*VLPInB&(i&3UJtx@y_QJ>l^ z2Q==dgB?kQ6NQ-{B(1BlGX(*;p1wOK5Du6?2#-vLsXA6`4Gi6Q$9pmxE2@TwJ zLsnK7x3g{`u0rO_X}y;$i?VU4F{@>ac#?gOE~60Dxe;bWaV&hU$2V`b3BMwt|0#>G z5LwJDtY+;0h|OV(*{e{D4U!o!B=WxhZ3>Vw~fYQ*oF2u)PGyWSY^PbH&W7R z7y3kX_yN{9cenJ%f8NEM( zLj*#CC*M3t1u3Zh+&^B=lnW&&ppVq1s{MuLA;A;U(@2ADMA$TW6$*wLr`^_RNac@s zX_H|$VYxY|hrj^j8193&FvzGBYZLz#8Gbd}$1%92b0q_lYX|1@Qrud-G4X5jnG21l zm2wXxZ6Bt~;b}BTh~m{uFy~LWVYJ0I)PmJ+-S~j&J4Cn{7zg|(VGnJGi(7Z0P9#=# zj*MN~>dH1|d{WH>{TI1OSwFz1TP1Ur*9oECBa9ElvFG3$ZQRme72{|`j_fI3f50#* zMRC`xyfD$=5c}IG#+FrV2R_LLNA6gAj)xs)?Ou*26YJFJZ5b9}y<(Tk1xhQQk{9tI z$_T!3bGuDJrf-yk{qUc>hNfu;HWnzb6Mc5pi|Y7S@Dz~_imqe{sv^0M zgRb+Ac*_tFF|3}mk7`wj)fmgPh+%=Ebu;jaCX zqiY|T2TyIJ1Jhx^=pruCf!N!19VGx@Q7&Lo=wba&_#AoifKESnCDY;iI}=&Ukv!L)m1fQR^R0Y6wY1Z~vqkj? zCq1oni}$9k(^WKtiXbzv`)^H1o~vrtrp})=D`hIe%C5h#@*WYn4JPJkKiM5Ob8p2R z=f>9saGo1sSbN*BN&;T$+p2V)ARqC!d}uAmf}WGbG+b23;%q{OAy#)mOQC>+o!d-5 zQ1A>!qQi7pwgw*)gP<9*zA7VcncZ%2I`KxxWk){5RNG32+pp3B8i* z4)(y%OnWPbO^{cOid?Ko_^0cZIaVQgwB-yLIUuA|%x*!{-F~gQXu&TRf|!VC8ST3N zj#XE3%RS+D!C%lEf+vDRsllv7Tgv?&oaK%|b=@qOK--nSF8)z&CurY%_l)EDQ*MBnj1Vow$HWdrli(kfe9Vd7siJBl1KSLg z1Ri^62uEeEllNv}-)4DANC1)L+jAH~A+(Z+AC!wm^B&jOZVDEwS;<@0{6%$^IFC%B zu&vUbjo7Q7*j%??Zrr)9*k-QS3n6Pw30A{NH-&C?GeRibxp5F`9^6da0;k#laV1_FQe?ec}-hEZjU zD-Au0i@hrD>myU=1S2_4jXUQE;}=28Z6uwom<}0~@Rz{-j~mkY;qR}~svp;yw3>f- z2WgI-l@ zP2-MdiiM}=6~Fzz8#?!_oL7wW^ep{6On5#f>kcq&<`VonO>RYnj1c!{!JXA)q#aEALg}m4R;y>^E?=JTN_r&2NDMZCIdC(n!V3uLhe_opHK-VS>HhW zJdy1WoH0|8p;52zH?LpkaS4MoTJL~*tJNb5nh%!p$o`Ps9Igfsti0C-(r2MmdE)?` zygKl3V5z$eMBMYSCat;|Mn#Rd z%g%xIv>xCZ?(2>FVe<#+~PB=Hi8)zn(c(%0&?+XKO*1Dc;AN~$Ux0kPI zClxc}UCE59nA_YL8tQ8iknZi@EwIkJ9E%dY@MJ!Hyp^S4i$B(q2LQY)JI2CwDgEke z9)lKHpI#MA8b-T)Ue9^sPi-2zXm2_vR|?5V&L}{X5SH$JrZ z-4kQbtcVO=3|30;FuU2I>xDv zoi}kN@hPALp+Wx*xsCehyBm?Ckcp;)$6j*TToI4Nv>NnPM_-$@)qi;8o8U zdFHUfE6{+`Ed|nkVCs2k8HGyXM?&vW!V0YnNE&FwVNxoLfs<~O(1Kd7??}lONzr?D zlfE}&%>-EJpQsc4a`O+vLD01}{NkYaC+dLw6Low;rT&RJCOp2zTwXs*y`iG4n;Nr~ zCGO8ogx<}wtee`uVDG+zrJdJxwXH>F@81ccvzG*)9@e+5#bNK?h3Ai-df(lcyVj;( z9F^bQcs`rZv3Cu=p~Ag)=a+Blxr60vUO5x`4<0-}*cz^z%UL|K@?1Q!)~=gNs(1e$ zS!sEF!TY9`_aA^d22*le_BBy^oMMN8>N;a1H|i0bFh`{I@d~hTUjxo2MNG0U?eia( zO<(GOMfT4{@KAlLYz~k4*v3PJ-GiXk`6}R&Nxbf z3;pD>lK?K62z=7b`)=WVx75F?A98U0Pe&l6<`Hig7_k0wFlFWNw`V0tD;`R93Vg!W zJG6!fR+a?JF!OkrPkcHFzP1Yf7mf#e+1O7HDh_?TF~F2j-)-zD&gI@Pg7Z&c^JzeZ z5qhe=VdValgSZW^qV7-PF@e6tc5BmzTi^qJT*7Nd)}atWV@=iR?Rn(v-vO@Y2(WlW zscufX+oeiFeGb09dw|(lNU2A68EW72ACHy|m5K??jjUal6hO8mV<)9q$>Zs{33guK z+hHtK5hgctGrqV0klIG^uLhBPkCM5RhzRHCp!Fk|DBqi6Q)DI_f-IHBm$~+WVI1*i z(RGo5xu+YK4~r?abvV~t$r5%hwo!@gY8xUM+u6RonJzNgOz6PA?|Ia%>bWfpH}RGq ze_&IbR1kI~t8(iY5oMk2T{!I=8YQl~0SaZ96;CzgoQ`A`xwp9JrTv}@o0Eng>`;=Zpw_j<$EOny1vzviaamuUjX z9txHG&uxv?p?gG_QK(47uS2)%?qoDjX?0)#Jvk%oj};v4-F*;uiH~YL2V(Nb*GXGV zM|*3RPB@~}UG&9~R;$Nhnya#GR0BT~q&wshApmI`q@R%0qI=bDO(n3_nnKg8BEOpW z!_I1SCy+jBq$4H>_ZNuo!1~V=$X0B`>z<^3jxfYL;$n9Kho2snbC2W2#QdnX&{b@y4L*Y=7e*TsJih;JP3iN@=xLC~2&o z*3CY5)%FWCTo4HK05Nh$v*I#P+fO>R6(EKsBWrXbw#8x*q*8ewIXHoZ?5|28n4d*O{ z5_J{5+yrR9ubEKj|u*XJc8F@O3!H7 z*WfTptP)#3K#+Kc9lgvsjYT|a5(4Y`U+6lVt-N;^UCO~^!I4BMriqxm9Fd1kGRLD_ zMU=H*A3Jf=wEtI&0zNlufDFVzGZISYP!Bf{)?P8ndC#;S)p0OBPzUnnD zg4T@(#+0vjzJ1#H6p#<9Q#gztt;ycKk?O@HB4)u&lX?K6q=Y91#JwCqJE49Q-=6yA zc9U~Nlv!)Y5y6+X{J7xZw6lb@#rXE1}+uKki zx-c=yku2AsS4uhmH!vg>l7he0XpR4@f?C8))ak->vc`~0p~On(G`VOMFDsN(^#mP5 zI)++1rutEIKVDEG8Sp(i==w$Q5TRoocucY2vsz#FI9t8A`0+Dq>ru~$daDPM0M{H` ze=Tq;l0^%Ha|XPGzD!`|6VU7NXIIeg(h0EnXkutXb(ztnHPT^$y}& z{dHE;z4u6`JSqHe8YAim-eeCqeDTTu#UiI@8}b)f9i7$kMbTP0{TZ%=-hWRWCdz0N zAO6e<8{xPyA<-E_&6PY$Z2cyOd~uS()veB53_YUE+x0 zcEjxk*05UNH)B;-2NrpLVIu+&NkQa9YWViV7Cee=%L_uE5c_6@E=~EQ4?TzTZ%p(; zA4Nmv%^IWmvOcAvW39>xuo*`OxqoYeKU2zAO#_=2w&NokB_PjbRMYDuymcGGI&rOw zuktVRe2F$llJ6bI4kG8E@TX<`P<8ZM|GQ1rlq?3E> zBuXA;;z2eNpE{z7dmy?p<&0Y*!62hgnryPCRbi~lDvn(+&NnG)HCt1qJ4DfFx5wEF zuopFzMJn^$vX`1gCwZH}btOV)lYuN5Z(lHz&Nemz4JlrwZ^|zwwfko)hH+-q@WOy* zM4mI?;advhkd0a+Ts}Nq;c*Wn@=|qWsZjKP(R}TZmyMUEWKV+*mU3Gm=&@X*(T1rL7G;m``fn z0Zfbq(!fM6ps3n+;JiKOhh{pEb;G|%XEu_yb#_QwtcjeH1eBI5^ivRJ4In#*dfU9# zXm_f$c5`AE<+^YDL-*bB2iz)l5|@tWfF-3^{p3-d6oMDMSppXdrmu!?Q(g~>K)QWT z?i@Fk^IpCuDjH2>X*GYJrkWREHOCk^@|n z7HRhi_5=z=?Qo7uo2Kotn9uj@q5bb0$`&#~9*5EZV^F;sC5{-w?0br^QctKJ!h-l^ z5O19p6A6lsfqa+CVA#Qa+?%9eJ8byUzNj#K28X$vL>#-`N6`jM>%raEQ_!*(mS8Xy zv%s#izaD0xLVo+8~sHCpSbPll0kwUd{e!swZ;NVgKUSy>xuHE)Yq>p~*u<1~3;v=}chih2=Onc|j zY#fRr(YlS)DE13M_5t>K7sO7ZsUDwppq9@{`PbG{v8r?=Db>{T3^i%^a zQC?jsBP~}~#{%k-D;N^{`#zT>!DeK*9?8rDZ51b0jFS0!9|rwuU8}eNrZQ&ycD)O( z0u{ExRs&rLLSkLF=Y>OgkUBLGmIKQKDjpn*ePyF*;dJ;6+s>P%_PMEUhj&GpQ4pZF z1?vD!X=iYS+H%z@F)HFR19d5o3a;`&4Agp`Mqs9ixdi%xb#Z3J`l4~%f=hvPlWJt-Cs_@jq+V1jXdZK8qG4u#m(vO*)Jq>U`LFDH z)etF&wM2E)$@Ow*e$n~6NQ#d>ghsQAvp@&$;&;JG4{@JZ@Uh5Z4ljNs9%)oK%O$^R z()_Kdn0X4xZd?MmTxT%vL$|z;ny4%$I)RkMrau9C|My&-LN9HSUn}XnDzW2YzsCtK zn8p7O)bZFAW^X8N1$sL-q)Pr?P?6r%GJ~SwUBy*V6gQX zo$=y@gg~#oehfV>+PK|;%%oxIwd+B26JkKMO}XusmI-}*A5G;vfQhz(dJ+*|B?{2x ze3n2)R+_57v^2*E8zgDW9!%0-!Lb;IhQ$b+(@4T8#6bK@+s%$DObCAv=agMYA$V*b zg8B1ak3K7y*C?aaDmx<2iJ!@e_whpc78ZuNJEXG0bHmd^3Es}oX_Hx5-AJKf z-h+lZ1;gyINwv*`2iRH=)h0#^xt`H+?;NDm=tF3m(P>2zK7jm=pyB&73zO6E3&L+0 zD?tE+2B4)@tY-bBh@iI|Q#NWb9v@2z%gvvjNwe*EvUfM;o+z2WMeyZq{msLXEw)5a zfgEgfe9~Gbe~rMqXnoRbU(HRwfhe~Nfq*|yget~1H;NR;#0|sQiwMlB*nA!jc1|G( z^ExGQJcDwLW{|CLq2$290!!&x2=2VbWMok-k8&oI&#vo~KD8W`^BG%^pb_!?i$VLp z=jqrw8-P#v=@8hEDP%^^Gjas)ESJ*P?jba*>@7xe?Bf!qH9W*avxh*JW?*zPS-ets zLkOxJef0z%(69--zKxC*I_A{O2dI1@^_=l+MMci0RjLnLs$YKIA3TcC2K+CiUiqX5-UCcW54EuLtV?b@3J)^V$V;I-`6 zt%e^uN<;049u8hc*B~?F<3TdNeMyW<{TpldHm95K_fbpF#j0}eUHjS8nu7#aZx4(h z+&RkkCEbfBMq9HNQ;&1!#`^;fLqLximzem~p@-60B=dU6+weeQcvjvQ-pluQ*QzpG zN#z-#XMY^}vCg?Oewd`{Kq5|s#cBn=w#cMcdfe}Z_`QpFH)mjECpuqq3kGUhNRI}} zSR<^V&(JblL6pu){e%aiqeW*7=PMReHH6o3Fc^rgFqeIUQG3@?^~)KFt9pFZ?UUTA(&N5uH^yR?CNH+IP7SL1rf zRKvzHt0!$n9Y#?Taz$WNLrQa8bt8mmucb@XsK_)=+rJRDYb6nFKK>2Q5{cfKD|BpT zm!EDs#Vp1kq671Hozh|e3g+H}NxZCY+^hb!Q-%N!`47LEd9e^|MKLhF8`CA1WBq!~ z-He!b8j)09bn`AiOVLQMcBn+EHmCoErL#I*ufLrc$pJZrqlD8mH#^0ir;jrh9`XkD zXOB0O<4#znphMrG?TcfX*Ot26`9)zQ358WLZZs~x&U{R88%KC<6Mu4HzP-!6^cU9s z5BBG6QI``HkH5{)fWTN;?4YxcU}lr&zEhU6rj=dAJgC*TtI?&98EnEvVk$kUFn?hP z4TLz|c#i0g!mQ;XXNGN!i6Ohzt-oFt??Z;z z(kO!uW%&&{yI>K`=)`1q=!Ftt*f0CHbA43Z&?H4hb>RuDLqCU^wm(&}uyl?;uqjQsP`QHb3U- zFG46ZO-279d(1|S!EhL>E+dv3g-Dwl+{}CocgJGcrF08U14m>Iu8v~mn~6r3%>xcG zO^*93mYi=ct9DM)acIU?MGlY)L6nj){Z&{AMy`Sk+B6;dUJ)}QxQX%r>8&1!;N2>9 z;e2F+Zu>cqZ4N(7hz-F?1b^$gtZlTj5W$IVrI~J2I-gg@N|Q&kuD_!U9XD3jZ2YOM zW|JeFZFV+#_g;z=FqSenK(!K<#)%AkYe|%bFdL+TZ!;NxxK}cW9QdnK77zZ$Iv{m0;2Sfg4ZqEcg;RcQ8!s8?5$J*EVCT_ z#8%yL09pg=E7@F)*uti+0`*+$ztS$f6t@bj&mBWcCeUWKu4}=pXV5Gz7LDR@_FIOp>dJ< z*gu8CT80(kACaISm%)Peb$=py+eowM+xs*)&8v!lFoZe8y6RIi5^F=S!pvNl4CW1J z&{mg%5TktGx%+@3S z?X@+UmwoSko)E!KIWakz*5ra?Bogt* z!a>v&@?_BE{hAuI99y<-Nn`@oVh5#4`DN|(r9?!XXkNuOaE1p+iP}%Qq3;H?AxP!g zH1!_njx3=9r*9VRfXO@1 zB2X-Lpe@b-L6;OpN88bDk)%e=15WjMlq4TZ2ck7W?a)>2_yYxW{`na9Ot3xU;nIGr z4AqCT8tm|f6dnjuMd+H|Xc~@sa4j(|u)sUUEwhXkxO1fQHAI6pH{k@FcgK{^d=~x$ z=I)yVr$llq$8#@^t87_jL`vH<65mnLC=79JUdE;^P)G!LsjK7C27O@^2-PrrDRkjI z*8pEbE=r^jCbMTqHjX5=z~s*&0Y;JmiUnRx^4%ch@Yxf)gAeMGWXUa9x$(rpV8 zt8uvUen9vgc~8agLZ=OT;f;`+-|bcAiP=d%++lBSoSWept0h?S;AzTPuY-~};AH~b8ExXR{LK0;*van?x183#j&y=K% z=K&UUiUk@J=jomuer=!aCYwCfjee5k z$Jj;UUaBsgNLOtIc*dabU4o>bR{QWRZj=-G&7|F12`SGlEUEFn1{EnE)9+rI7po}pv@ z#}HJCZp7Vsh7+NO)Jrg54EVOWC#V3S-|z#K_r8{Rp6Fal;&7!zZ{HOVL;D^~SiZI@K9em^pvP;KSy(lpb|hV_ z3EnZ_Ha@Ou$i*LkO}^mk0$^+%s5J!j*QZFmufF%C@Fr?4#Vu-}gj+<)kGS!7w0R{x=lNBBj<_IDc^^&U(J1iCXC}VkT zRXUB*iNj-+vxwQQ#7}FTrE*I4*EBb$I*w1^Ue<0#hgR*8*?{c{t=$Qmp>URVxY%k{MwuRmUqCd-D zo!x!#l!Zg%W9;Ch%=i3Q+`ZqUK?ohF;k^HurK2g2V}tX`QXz_(|0m3sRuqB_9Wm3S zE)2v+M61u`Nf2;Ycz%tUuRW$lR0`Ur%4odUaL^X?C6ZEB?v0{pc$}}1Plx4InL9V+ zaAs3ODEK~3=bbr3W%HLHU<|sS%=rG{39sI&@90DtV`OwYf+BD%k^Q*uuqh-9^hWwl zWV7u5uy&6iZ4k}m<9nwP${y~gq0T^%WqBKR#}Dbx zLS(AsB5g0NM@PoFxOMe)%c~ zZ%X=04ec5JrsA;Hik`?d3eR-1cLC@Y%i}+f#}oOVV5iyn^i@MKnOw7XXOTY<294(1 z>v;%r+7)wW4N>W? zv5f=dudi{B#DLlpj6w`k``C2RU3rLev3fOJ0`|;F<@(m%E+nP&D4?^MYnay5{k1q@ z|2!WW_qKNV1(_UGm11K-8=o~(uPoD_a&ZzRzWej;mglFV0yGyxvu) z&M9JH7_zuvh)nprd!#vJlU@$g+9Z@w-r>rW23CL~2BrD(CC4 z0eXx%7UC5o6!LNB2=yJ1Rwk2 zidxQl+2{p>P+z+l)3^A(urEFQ8pvMsbWX1HbeD0wA;DrVLqC{`qApfemR$?!SvncR zZv;gqAh=ke@Im$iHb^k_Vrt{(g~!opp;?y!tV(cRPl?S&PJ>kN5$AZkvSUnn3u@nM zl&=IOmYH)&_M833=ghx(DD$OB0|kxLcNWUDQh_9tY>`5{6NxgzNe9ZE7QvfCWQGv^&m;QSwYg9F@1M=9XtnJ!KuPhXfM^@C@ z>IU{8#5S&8>gNi%@2)YG?!Xnsff`WstkP*ANpSk;Ay1DJn?%wz!S(+g&H<*LOV!?l z-}>96$|&lcuL=>qE*9aZD^k}g<&;RuXy6>2Vu@W}=^nZV&aZ0Mk+wjD@GN1K#`+x9 zGoJG7^;B`<*&(oULghYQHase#Mfsd?9#7CSrxV>9T~R=kZw^oLaFx5tD~qa>6+pr5 z7Uyde3w01*Xg>?NT>MKF$<9qc5ia67)8Ry$pd(#~M7VDLv|^A`rl^gz zE;JyRC^i50opwHZ(}U^}wa{*Yd|#JVU^O-(TVHcN0oM<#flIq2M$s|3GDXxd(ZkOB zSLJT)zIR@ucYDG-c7Z&*ddaIUQ#%u}KE-ZCi;^_BEB|v&lu13J?H9f*lVLTa2!GZ4 zyVEBgia3rb`oyrv!9ntTb{z*K{ypLa$)!!y84_XKXF5%`h8CHSo))aj&&5z{%to25 zm%-}B5P_3--YBK&VRY?8J_m=BTo_5!g}?Q$w`9@90D|FL1j>+Nk;8Z^@1m}wX02@H ztoFePntL?;vg)aWlYE(>MH8^Y;`pyYJE71EiqNYvmDV8aSyYWdnuU>Ww!6T8UCtpQ z&%ViIg_W5*(fjzaqSS}j<&)1=vX8%t&-4t{NWW7}K~dXz5D^iWqGNp;_Le)@G#om1 z@)T&`N?mowel7lV=3hg#L_ZIsUgzTHVTTP&pk_dMAl^#GbsP)&$`Kn`FVC`tYWOj= z7=Nas1nn;TVv{o2%`a;kmhh#xBEFb@1jL)@ebpi^#0HcnSWJ_9Di2zl_v-~^L}Ni! zB^JDI2MkcI37S1mf(%*XeirWZOTqHSUi_NXSIb^ou{-}MG<5`-iuEs;x;z_W` zBW0Uk%Yk@=(TWKHy%bYmR1t?(H2bA#*z#Jt550?k5+F9SW3cS2{sng^ z#dvz98Kx&}4eW$#e(g0_3k*n)uMF(nN!fB%Daeql6jOP&gB$~DXR58B?QNg7><= z>U_yJc@;9+0Ill6YIjMlSD8xpA1gX^6&17EN~ArEYl;a%iOm-l0Yy9|aY}}OE zilT>iP%}tuW%W%-tqHs@1AJFI&~|jD)9?&6t+mMPB$l9{RL}oX*u^!#mliB^Q1SbkDhF+1=2%@82m$C# zH9KjRV(kZr0EV}zX+ks8dB=MwDP^p#er}41R;roFi9|p4LE5e0L_<5rfI;bX7I9gG z_`m7b*XUh?{6J&-ZagJc;DD7A&GczdP^~CTM4%TjqK2eTM6Gh7YBbolNWneT9vsAle;J@eS`*7mD|8oh5D> zyW=P9a``+w&-qBPmq%1t=%;Y$$oXfW9BDoTbURJyubm~pbu0R$>T}8bd0c{ z;Hw_KrOIGsd~K>?0CVu+{!S2ouD6$25Idw8bjkt%eGSQ^wbmebC<9RaR{#!x8&Xd% zGMfQhb3%wLpPvKw2 zm)nhpZ4iBzm3LCwnAVBJzQw?agR6Z&HA)oWoxW10{xCjoaQ8Z^8zB;9X+Y-)(KIj^rQF)2|&ro7wg@L{a2MjWv2dmaglIi}(_V!_erZJ(?m;Bq0RqsQz*jPlU-U{xQsgoQSSL zF1929^sB+O@)nI3Qr5H-!sA)W7JK=;?L}o44HaJIMGD}!`s(e+KD31vyR*dn)P7Xo z@h_v`)8@gzxzdw;l0i28SO|oWgC7SGON+u@5*j9k&kZnvH}3|(l^|ADQBD-R#%`c!eWsi;J}~mbIW#*^W(FqHxgrcyS3;e?mXV zzEF&MC;A41tUNHqHl))t5^0g#!@-;rgk0grj_@Qz9}BkQ(S!h0BFutyJz19~0ERmp z1^TZy4_a_6O4FUqFej*_IEXHQBE@lcw|g%gH0y9z&~z;7m;OGLIY(ORtj1-F)wdNN z^;J702`X83Y%QNhTWK%of~eu_oiU_Utg=|8PKL6kyP&92CQI`LxyT16#;GU+n>1gj zdNs)p`E?-(aqQ5|6^*N(jJF-fi#z477&)i;h+Jhb%>?OzQH03L>h98wW5v%e>}DQQ>A_ym)kNsGuRB?mN$Fd++j zBzj3egLGiWlSw5C!c>94A|2(L>_}`>IDspj3r z4Ykma*W4E`>Va(VfsIu~YYK$4-AiK4oW2?d8RfZ$d_MH4m<6T6`8pN!zWU@4C;8vd z>rH&qSsp{BlZchl_aR}5ob)n;osrfug2!}PjM10BBlnNu8upvZ|1mn2RbiMp zI>8*E>4Q#YzCB%EpVvYkB(*{7oC;B3FEu0Ul|)JY{kzl4E({$Xr=FM}ovhNb4x9V; zlTJa5+xujZ_!k5c7qGuL>nQ>{xccK$V=@bK_>&`DWe5xs8!JC{#$Pt1p8DfnS@5%x;KCERTV1o1PojnX&f5gaY=@8OU3#i_^ZEU}M&e=01mRT$x z6gDbUWlk~>ow|NJ{8~0h9QnZ1KZN?E2~ZemiI5`hT^rM1;aQtMl7XKi^-&{&l;-8W z$HumcR~y-XM;!e5!!2ydqPR#rd1UZKm4>ghTbSlMKa5n7a?A6xkcgk@2d2x&|AN}_ z=N+8gNzmnw{!zj<${aU&_=WayQyNSo2$P!RFtKVW@3s(>l&~(y6n=Fjsc@5cC-pYO z5`|L~eXhyw-_Fu1uHYc(!vg8KDRLXdCRq#=-gt}?L;>A{#s+c>x4B`PxiA&$Qc@w) zP#_rS?n%v+K)8pngx&PHM1(pWkA;2}_NMs~m)jCPUr7BH^y6~nOvteqdi73{gl(VG zWUZY8iHvi5)=38Ab18V!fX=V3IpwHv#?w>Wk>7G2KVZmz-GT%lw& zvRhDD@zlrm0oKZtcsqQ^O5}P`$+En*Z~(#(Fp8#IYZB`PKLdZ!wra64xDnj(8f5UM z*<)Qjp<*VS$*%Kc*&tf@n=yIOz4$UD2Q%%Np0EPM8C9Olt-24)Nz+u4_kLb+B%0`M z)NO*m?rYpMcvkM0>9_dwr!$6xC7`g;{Nmtj(?Ql0;bp(0hUu2C7F|ipNsvCprvZ`x zA>O?e?D$?;4sdTs&Y+`|mtAi&jG9GfUU*iC84tqA`e4%}5`^9!_xw6>g{W0_0s2!S6oFg&7tc z0R(aCGn&p*$be7hr=g@eznhMJ-DM%ZRE{Q7*`81T&72LR^9sQt-+RIL!R}i}ZTr0S z{d5o~ctgZqSm4)oGp$xMO(@0V3_}~<3`k7D9}A-nvtRWyYQPrPG3$Y_E#h>ASpw+F z#PB`_x)E*nPYqdD;UwkJrGT9Ql2vJIB#cTyP8X*!OY=asjv5B^Vet~4wL{KH3kPov z#Wqgd#|&DK+>Q!b7LAaHUwt_;jXkV~$lF~Pb3I+AK^ulVlEl=rm=pbWc9pWVdX|X0 z_Ly$GP9a;{tLg%Fj7XSl3d;(G*Kb}+n13n7aY+MENRXfiC1&Ao@yxk^kFjvD(6vZNlv9CW-^8viU0f1XC@+E&dRJ14m7zSNC7E=9{w?emgAtB;f-Ok)6DZDufiy$|Z&w5b|IhokrvZRHiS=~wwF_z;( zat9K@MEY!Ks9y zO%E-rFQlv=X@>BsRP9_TF<@Y&k3QV0afe#}F}T=5?bR zLr+0w>>`ScXP^m6%ut-FQ(Oqf-s1;0AizfWLY!K&q8_(W#t>%AJc1(Eurp7*#Z(&* zgk?{Um69UA02UQnw4fQrtmV+&W;7~r&UsWFP^inQ6WJ`%fNe zoP0L(E!46?R4#JklTCAVzUn9S#syV4bZOYG>q@Ik*kRGfuqZb3sx8YV>5OOxLfEiY z<|Y6U-^qnBb18D=l*SAMC%nT_krdj97ww+yJycCC<#z4`Wl z5MZ2T9oZU^4rSxO+}8Tmm9Lq%fvGlWXtU27eQUa#^ef^y{O7ta2wC`V!F3|jd$%xEYxYx?o^*4Vvo=b5nEPdGl_pG!A2Wn!7S>PvrNB|V&01}T{ z^T^FZSHb}VPsmYgG5rGb6G>QCZWrB4sIbUI83WihY|iSVsoMyWo7#Sv6v_R4Es`7& zRlG>E1m1}mNV%{69Vd{w790wv%=`S--2LYY3(8ATX~+N z#ls$@F1CY$%eSueBNUtoUINgg_9?mSG-cJ|vS5rRn^Qt=d+B!NKC|0~esVg~dNP-> zeDS~zm=PaS%XGFAQx+V5elfdKzK_|UO#jF#ei@6Z8u3zUDa!*qVHDsGUv_h8g%#iK zbk82Z_I*^s*F~dYnJP9 z!7Q%!nivg|bgunyZ$ve{(B&scf)ATwkxFT=oS1)bstYu0@5a4bC_WN&e3OrNgJhrV z3<8HnP-lY^s9fi`BP;NgBSbV2hcC#YI`l#p=5rgjc2p=pmH19tZZmKohW|>IqwWyP z9@L>z@mB?uSB=J8m7>C|&j3n5!_9Hl&c9s%m(U-SEr6{vWqozkkxL9Q-Nc;&irh+HR>rBQSTxOD`dRO z-8QnEhR_taP{N!{Ry8TxlyZA+T5p7Q2h%hNXX3b1drLOA?D3DzsK%fEtf_8bssd>Y z*ooaOezv-!j>Y{~&3rGd8MjdES*ay?h~(U0?T{ROn+M@b{xeAedoeUXkdi8z)w&R; zov>nT!7i_Rt6z;}2>3PbugzzCYWitr;y#9G@BH_RN zU{+Z(K3KT8r`FZ-ohx7&)(0wi=Wf|kb$}b>2d8-x{%T)EZNE;w*lK?aW%SlWcUpXf+4A;UBC0P9s=Lg1gq=kuwe_GUK)Bn*()~yhie0=sA1G6ih zLb(V{6xQ{pH)<#4fV(&4!W36GOYjZhwYS}hInTc5-}(!I#3+l$XV;4+SV8vmNsSog z?QadDp<^P5vW}C!XQaGxQxj_8j`+Nt@=XmCpKBEjxmj~makkn=P$0v%d)_JVC2pCK zCj`hB;=YjtRdEu8h|$XkpqiQC@t$rXXwE#016EFyMOlh4vIAoZ2R$=FnyyKGi1h^I z9JMAZegDTkP7R`}kL`iV=b>WeAUs6b+eA95cOo*zF}g%9(^mmD;1ZqcVNFP)$a_Fz zX$LxX<7@XS9+9nZw;PJE75bE;PX9=Cd|kp4sw}lck|yXS(k5f>k$&x(bE=H1P0SjU z*ROCrakm88{U>&cNLd8feaeS__gStO7NwB=qAjj*~Lc}$7 z^5ahSWNu9fEhF!rn&#YHj}z zlQRqlr`bU)+7&x)zp0h4ClZ|HX|s~fS@PMEawDazl|9Y&pV0DNnwd+7a4%cl=^@|X z1VEVGrRKFX@*YI&G{W={l0a(cQpg;$0VE();?J+LdR*j$(*Yktt*o%`NRN1W_|Ly; zp*J|3#f|%lapEBHK+^IxWyab9^|d#LLz3xhZ^j5(B&;khc>YSXTf%=n=seq!BOq80 zT=Z&ZSl#O8_jxo2)&hxcqa^H0IV4r?hEpC~&ju+IMMa-AOh~Qu%hT?2y z0(l4EOwDlg-}sGoZ9sx9owTT69v$4F$Fthv0^=r}w*yn3fpweXJ0}NU=dSfyG{*r4$BQZxvsh5{WpJ{(@7wNb@)GoFa7h-&CQFPU6Y=E%6D+Pa zqXRly3~(YAt(A9NxD$tx=x~U4M+^xdaX*^0uBl>SYOQS+_17TO>oIU!g>dzG5Gte5 zT1nYq?;)CW`&k?d;{{OuMOne+D$14JB`DO87Q3*%hEo2#_`>+XsI3oNy>K#wy0Y6g z^6-)jHw$1U7(4RR%XR~iK)qUf#3sXNHCdK*j28yOF~Z)*diP^_p$;nXF)up;*@CHr z-GJmhU>tVYd-d6(pN=3UFDG}(Esr!NMS>f7MVM>*;aIT*Spl2+uDJ^UHV8-(kWnfU zm@41sq4ZGeh-KD2>7L-D(_;<(@{PZi5AvM!RlM)}zlX(DE?1SO`s$x>TfG|y%78w` z1SLIC8Z~h>f6C9G7i+IMYre=*F|%-FC^GMz!tBRvPnU<@5CBv~Kb* zW=2(&=&if*gX!01T5?7$yjrgx=_CFKF&}e4f$~T#i~)kxC#1y6Get69_f|W0ldN2; zO3H4|z;&s}fMb=SRZ}C4cE9HD%2NO9f1H_46?; zji%b)reLn|Qhts7hW-^-?BnA#J+_@9O3C$i($iO_&5UjAb?UM1<>JnZtQM2?m+N+7 zDirA2que=xTzY7(zC^~n5lbC2v5Z02F6M*O5DRYbgLK8J?z>_wVO7Jc2DPns9&=H& zTD;tPYM4}~KrhYZgh4@#0yaTO6s`fs;#Bc0i~7S~wxWaoEgR?GFcHF+2&cLh)7Z!iNj@BR z#7;_`%$1T}wCrSWnu3OGyIT~5u5)qRuP#?~)uj5E;+znfsEj7s%fyy88j2}}V75Hk zn<+->R{&r6S9c94Fvvu+d9-oy-#c-HI2q`T`v(pPxr#&g6vzx%Ep^zruxCpmr%BSC z+ZZG~gXxm6aCj`;do+cZRNv3P``}ZDO)i@Fj|Hb^Zj2RcLuFIxR0;v25ZpWafbXEHeu{ zpiqahr!X2;4yGOIKd-SYa&mw2kfbDjSzuwzE7CJb3WFG0bEgu3e|^78-YSCr3emm} zvwi>yG403tZv9{-35w|lTw<|=1`1XyOiaMvYqTaWy>+^uHETlxB^wy@k zCd$D(A2$8L-A7OF{OSxrI*yP{Wnt-s<{71BZ@EKEPy{W0s3yvurZ(egu=|3KD6Fu!25qgIMN@ck8e(XC!W~TlUc-x&8zgutpQiQq^i~G z&^3aRJwYu7GD5o_>Y;>oo9Mo#Wb~tov@NZm!bD}cWuC9HiGDtN&oN(;#por0w#z@D z=xxRt@_oCsCK80kDMwWzg|zHYlUf`Vh9!|2qxX44=nt@60sJi}I$T~<1#-!)%nnwT?p>+AvXN8r6#(b&+$K<}F;0^6&|ne^D5;uCTz{5~7q^{Z zXHf>WAolkf^=s*3p!M#;g~LCaVYcKJ9uy|-y3qG%3M({ISnaJZB}c6@NotB&Q4Fm8 zZ^cOSHx9i;YLf9@8~wrMP_V0?nFp{f#Zyn}Aq;=;IQ%wWk@>YgccnfWEnUz8f@<1y zHSrD#Wy@9g*CI{JFrB##U0Mne;f_vG~izB>RT)W>`1>k476mb-E>8$ z@tgN`W7S>C zf5BHQwq~*2(}S0!xSmzbfuKLLro-pOxJd)s zd@Htzn^V6f$yE9hQ`iHP74uNHB-csr((Rg0h-|%l3IsOSoP<$@cO|`xA~%?i-Ty9t zQ^Jy}+%Nsp5X$ebqQd!i7*S30@Aar2iUhoafh!v{Z8t%6#ioUnJ_cGm^57bw>mQ!# zNL7Eeg}~|Dh@8kYp|JsVNosQGXJr;d>~nOn9*7{0&hJ3tnKq^RN%WnD^QS0gACKhh z7f@<+?X-AjaPR!#mxjFiAO@h|F{$kJl`k?f=U$5;VkS#kQt=UmESyy9AAC|}N-r?9 z@`}z`Aj6WdPEhsZJ0{}<;mbpGSl)%xgwKROj3<=HVyq0S>u|>?^C1t|ga~8#MzSCR zfV|5CbcNrys*@m48;%}$F>TK1Eui&Tq~qTw@BoCpx)>;P;tsK643kgpI=}7?H7FW8 zrnJPg17xQa0wmuP(gW=LIlN)oKokSmh+btvxzdJz(bG7}acRNVHller^BXIDaoLzQ z_!TOf?k*SO*S6Q=mLwHj#_{4POkRCMMz!)(gad{?- z)pPlfxRV^2)Rc!Pe8*DnNo`Q9IK}Yp6<31z|NiX7iL`M9C1h7 zL-MT~EZ9ZarmEVA_GqVFQo|fB>b&=Ff=K!P;cJqz6}tXu+@;bfhSr_(2xrM=H%wc> zoJ5ZLA~L#=b7u!3BvPxTb1>y>#))VN{phklOme&-ttNbYMaPh0{MxX4Kz^6=rF zzu7%8o_uNT*yN^Q{~W=-LxxkjO4->}T2Bu6$SGXRtvg5yiH-HHf53P0_0a?Zop@3{ zDgHU4%I(dm`F1BI^*BZG@8pDwX&gT?icGYZoC-Il0GF81BkpeY4BK%DdW~3Hslz@o zfZr3K7UAKdHHi25Lr}W*i@tpoK$Ixo1G6CYr4tI3dQawn2``UYPaaJihY%^#5@p0_ z5O|P>MArhRzkb!sSZ(TF@Qz+8sfPZMU+P&C-PqR{&?+TlQYp+y$VdIavt^hgjX+5! z!~FuG1O*4_#Mj-Lg0;~q&Yi@xDNzJW%SnHycz2vH-W2(#L>!|odb=A9W2B>rnX6fe zGH~vp^FlDE?H%3Hr+`vuRei#ilhn|?YKKa+xmXIkg1FDg3fp!x=u1>FIlpC!43b9} zdKzj4t)w%@N`E{I2{>FdlD#+Q=|f6%GW_}b#DAGU@Cd>Sn~VieHHa&KYAJ`*ILf{! zw6(vS6qA|rF;(V_{f#0fNW}DVxG5K`66x6F&k52=8nW~*$7`8!nti>HH_!MT@Ub9W)Q|c`BS#+Yzy*e^y4e;< z+rW*>fo&W(r$6C3fQ#HCLL<>QqdmKlKoj?-EEPYA9JN7I5**<;QswmAU`8_{Lzp2n z^d(+5hX}`%Ua&kF_a`IRAE2&(&!Lzw8~na@hqTTfkrbkUb3D;CWgLN@*^5nA!j>&- z7ax3tJ#OjYw|!bnYdA=CqvsB>hJ5DkDzi&O1Lue%Ig=7AmJ?bGNM+i^TzZ_ol= z^eV!2at`TjPVCNB$-+vp$o z99C!nFbT3h4JXhdA%!`35{W|h@z?;Gzbv*^?s${ST zT%FH>PPZAmC0_?IpEqj#`*T0)IGm+$vCRaD-71t{vjMs88Btro*q`XR$N0n`8FCLzPp zK{J$IB`iFJDdA=B0glNQ&v8;mCKkf}*Fy1*K*`bCu;1P3`PMj9o|{+}3M81@6XFJQ z2FnrVt#XJ-=8DtNu3OsAglffjVp{LS;rkaZbHmGDz#5U@R$gC9#&~SCj9bfZ-1bAc zy!3E-ft0^ugA1EBXxf2Bd_q7a4<7EZ^Xc8I(#8;@Cxl#H50km$J@+P^=CN12wTm&L zKTJ)X<#at>e=`Q38`GbHmG5#i|H}72H*X&C0Nehzc|%Z67T<9(?$t@rj}xwOUKfWO z=o57MnCC2haSj5Ea)XZrqa>0>impHD@vjQW%bdbO&-eI}Iaam-Roh9>Q@j$E@d&Bl z9<2-FqzK8Y#k6{8pg8ST_+^q-1;r8H2a`sQ${flj5Ad!<}YR%Fo!!BzDc0**k(%&gmJjR)V01Yh%+XMp9V@o zK(c?cZV+Tb28X)m7Sar&SZ~dkCLedN+vVn(@685fr;dDW0guf=Mj!y)%N(F^)-R7F zashx4TvVWxRrm&+m$ZvCXoj)tRm^u~w?Zd=E>#6-xK8K&T2l@d zA8bZ4Qfhiw9wELn;P#qMIQGfTL&Ou&(O3{blv!?LpCBq3ZbFv{={J4{0{8CUcQBGZ zIL?nSz(`V#e@i&29=x!bhO)UHEjXO!hx<^A+emOXMNkndy|AT0;c>n{@e#FDeNJ(5 zW2FOH#AJv}n#h%?3$oa~;X_#nz$J=8@HrWlS;Om@t$_sI5rwTSXkCqp_=yx#{A~{wP0ch>Y zHMQ~)uQwKI$XJybLmCn(>2t%sjF$1raDruAe|ZIJ>k;wo0Ld!|JR)C>E|k=@LqGMU zzOxsVxztUlg&xrfkiiLkINkaQB|jl77&5N~&H5p<+DNLhts~{;v6fP)EBrK?* z?opW3-iEmrpR>Lr`^rrXpSOy!e}t|)_jEkkE(n_7Ok!#B3CHNcQA>ig93Z2j2hIXw z{pvj@|9r(HK&-7*)D?;R!YR;n|BP(>brpDPaMmQyHq$XiDV@(o{vJTt5C~0ftZ$PE z4x2(T{dQ)}@f$5=S}l+NdmH1Iwx#+lo=DD;f0|TU1o6}h>y^q%<67K)p2|^#2v-)* z=V2K^cnyPH?kz-#v-B7fSa1%>Jr)ojh&L2wS9kdA*EO@zWuYd6OEidIU#8Z43r|@iPS}H zbQ^cL6gy&d>!`5WGl26CA(d)lFWi<1@`kyl8PS(HaFHPQ=e^XYb z*A}y@tSDP?>qLR`cYX11NXj-ysjOKVRUDp071iAbM(5}}eNE-XmxLo%QHrz0 zl3$%I{I@F(-%7l~eaii&wnIW~CaJ4zaFYfzwr93rEsT8Badmk>L^h_Q_Sc8`-A zxM*XDk)I!3HQZhPwl43ZK$_u2yUi0Mx19@)*1lu(I8^$d_^>}@%uM!F`NVU8OpV=X zG9pcz!edn>jCDeCRE-iua+Rd1gtV==DSGj%*unZtO(nCCIo2`OF1-3^seKmFUa$cDQ``3n*SApvaZS0-2uD1X7I4T>LD1%)(j`a z$DvMwP!Ml#NnGrU!5insH7lV`I*NWh&dv~YYX{yGjqkN%^q4luxdZ5+z(<5s38Y#! z=1**+E7#@H#>nl$%AAx{NuY+i1!3xaAF16+|?DM4d z7=}x;MK*psTi{!Jg!2W7B%(kicyO?E4Cvtpn27o@bVqV2$ zbJrDpNrxCRsk!f|&oi-*lemO8q}Iw^qMJ|)T?~C{tSgTr8a;r5D-#!imx*?+trq77 zHg->V2EA6Wq8s>2+Q?KWi~ma!FtP{LCI^@te6^(DC^tIbr8$nq97dO;K&*7QU6J(` z34`rN^y}N)79y4=v_xrETk=R0;e0vsToqat!*XU$5dfShLRW#SFp5f$T~yo62c6~U z5;=KHjXMi$^OZ4n(uphUQrV)AN{Jv2*6ZMukPE)DNq@*jdg4Y|uRAh-wbpnwnKMjK z4=I<|Pbaw14)p57Wdrp`4ZfMq#IseD=i$bnF9a@^ zQgaGPlDs_i>1=4B8W4IZC0REm=%cXHj;iZl^8oF1;EUv7< z<|`xx>O}!XtTr#=;p8^A+aN{{@xcTDqqB7)o~U6)WJKkM8;YqlOXA*oXsPn4Bq_&4bX;?XAaqS{&P{{m)Mq*Oka2m0eiO(^J!R z_FBDdszho(P7f(ooQa|y&z>8KOllLHdOU35Fgli^Dw7oHrBM+$&8#Hy zECBYdy_?WzVSJFdjNQ|X1&L>YF|;<#-D5~I3!GEhXMD)w2gW#197G$#9AfNmdDcxA zC)o5;1GG6!2U($p$(F6879wl>_;j||NIsc2ZRNBbqgn?bYzmAb$($o>%R)FaCUG4w z7^oi^BX84?M9UOWn1kT6$%CP!1{Ped9c;d zx3}C~R=y^VSnw^l6eFRSl-xK?3gbg-W_H!a$Y|>SN5lp->9*;b7BuA?i5%R@LRngnq||-H zf@TBGhX24c>mZ(>mu=dB7V?q+4owr+0y8Vb2WrIkW0qBbj4fW0;@8oXQ`q-Bi_$OM z_WB0fKg?vbqZ~2>B4#W=t$4(+>=&bk^AHgDJzUxB05y<%EV^<>&xjPu$xb&^dp>P6 zt}#a#aRc?pwPQ@i{NoIGR!MLeyk#NPy5Zg^3g zG1${dH8Q7tjHSBNZ9WeM(Rz|3s>ghBc+olDO>Js(X=L@dS~)|KPDov|T-e&CfR|JQ zv-J%91)Q6j+9Pl(Sh)HV`;6kEfJ=_8Mc4e{&uJcH7W@yoe^zeebOjZtk6lIMgQ1V^ ze@5KkH@ia2bbM5-3ZR!hCHwryG=D0#9w4V)A|nkS52E_r_q+u|L-DSF4xR?z$9ymM z4}8{N4H*g7KR4X%<#`X7;01NW;{UJC?zyWH23iAnwr$%}O`6HJZ8zDjlZ}%nOnkGO zY)q3*cFkn_gp)gWKEVCw-Y>ED+G{=g`Az(3UNDN`v=%>7%`C&sehz&E5O3ywIHu;E zRSko~0oB+|lX^JPPo`D^S%a-vn9Qb9Bh7vqRj*EN{#}+hwE@Ucz<)V0M={0A?bU(* zi)|x97FYP4kdPy3rTI{3SOg*&ksZm1XFY!32Kw2PiXYVE7%#5%X9ptGOO4*!pO^n# zMgReVpIPp5QCT9UQ%OHBHQT>dG1iO`an*HMDtm>c$}mb}CssHV{hW+Ql(yXW-@2W@ zQbim#Gdv0PGv>l_fvakbZ0x%CBh5uqhrVA!Y)AD0Hwuw_MrNJGS?t|e>#sZ~lgc{2 zGTvDM6@0<*UiaspHfb>Y8ESv2iw3?~9~r`a3pe>XyAjU5nAHu8Hg3M2BGE*)%fP*5hXezn>ZeJ^c9PX0lKd5G^Op%e4DO{B?8hA<+aI z-088s($s7M=8}EDcf;kPaw9r?ctBooX8pxxfl+@}{I{|82E3eIg7x-lKKWVu+R@s! z$EJgshV*Eln&-+e2ZwQLgCX}O>fEM?Y!67KML%4p41eMck~E;pJQtpG$6H9pNmI7XVmkJ9`Vgg`<#^5?0(ZYHa=^ZY9b)^yQ@5BiJ*Tx@ptx zHu?FN{5x0ZIf9wMUe%8b1+N5O3+onsup`sZ;(9l_X@7QAwypOBH_}s$?xR@Sel4&_ zkb2QX^7x*tzT{ic0hsFg56M$g)0*$&vIcsGKn)z!0A$fk!Bp*f!T40u05jz=5&2&v z*XWVB93cqPRjMR=84Yphga8Y5wI_rNf%FBopy+>>ZEojH7QT{%o%xnkm$4CL;Qi&p z#S%}>2Ny1n?*#sCdc-91hWIFDt(`u`4*L}$<_P!UP(}aZ)$_Nr@6`+4C!FUjrns_ zfEhWwOjmqP<&BWkBq;$)Sb?vtFyK_7(Wfaho&y*<$eboVg<)&cDpDKqEAMKG(is=m z!^_bI5<`h87EZOoWmfvgD*B+{0Cq3g&pj7lWpS@c-3h?6wK*s3Trc4l0#n>a;`>O1 z0-g&|f6T|^V_{mm0I$+p6Ew{y9$A88xe58^M5t%y{Z!8z` znhy7P9M6qH5q=ft>&h9Wy zDEjq0hT6!bFwyI(N(0>2HU6E%j!yk*Tp!S|c8Z5kBCtFI|$w z$sQG1;3(f$UsG`Za2n=e2R=2N+PG3JCsTIErTM93@LUQ7E#=5Y3uOoNaER64GtmyfC(Nep!kT33lwoa)U{d0JHAzm1A_3pyWAYzz&kw(h z8tl*tp3=rxEXyl{y9uek>>7=Pz>z1S40AFJ^s#Q!5rfuYwAjBoWi-mDYbSmsY+%}1 zDmGp^&?o9c_3fI0CW^LO+T4Y}8k9CGd(TWeBy*d9?ifkYdJ)s2g(JkO<_~8a0FfE` zMJ47d$vSjJY$)%aiw=ArAM!jlZ?{5w+2~?b!z(FRucsK}n==9!jVP+LKH6#~-UShw zyPMMX**eGTw0zS_MZs6yX$3v@hm@$xmMOu4GS?Lf_PL8N$;kUjTAp54Zb64$Ie?H+;t31jpCvUkQgN^7h(9 zV(7p!{h;M-;gor$P4>f-J6ROQHTA8XEq&dIyK~QeVos>~fdAJAO`O=tX&2RYYZzmW z7yhGLPKY6YwLgFIyBAwxo(poBl_xn2M|>bUDo-Qa??@uR(fT7zrKe~Gsx19CREH`z zSs78~g1dK0jZ1)TmLtuQ>%O?L!mN*2uZJCWy-dDrZHnSp;bP^OTT;9hfDPY2vE#NI ztyKEI7gAkT@gjeI4I?D25j44E1Ggw~Dww3HSkPaV)lw*ZhXFiWEc=H;-UH=Tts|dv zLEYTv1$G`jOa;u9|7b>^eR>}66zx-5(6FPkjIeZFqvdz^U~0JBqh=B?q(a-zNG!Xq z>Fb;I>{~_I~$9pfa4j0%xlxtANv$*6az!_+n3_PUTd7DE0$IU8C%4v(;SI zP2J|h7MG^17zN|=yKH|TfxSm< zRB}bIpO_W_<`uQYC*Br(e@8wEQ3+2uVu<;2QwVz~@9c7OGqNgK!27~ENS@l>|hcjw&0=lUu z;!dhR&4Z?5p&{vkKmvn{>9=l?883;A5dV;>ToT5eLPZO`*)uoKGjuq5HDKs(M&m>B97s2JOZ zaO$ACViC+h)iPSUSyMdMQ*3W#4r5}z9mI_o;Mxm_ooc!8p zez2!5>?k|qXl?zS% zi!NCJSo6b7$jxfI(q%QM9=puYmj*qY%{bcI0IHC0ew;&omB6L(f|I3rw|HU2TP8oEC!#I;4eVU_*WQSitQUe(MH_HYl4 zGskc~1v;vH^L_eMn2+)lIS_Hf7fzeKz-9ie)_LwW#9$4~ay%zZzpc#tlRHl)IM91f zm8qRU`vlU=Y-5cDOGE`Aed4?M+v-;BRS~?=?T} z1>xGyx7wttu!oHET<{9UBpigIL|2{TP^x-;J;tQl6g{QSV#49bMAm``OI?pqQ}B{L zn+fp6VCZ8^h>6mj4ez=t{VfNy-BL%H|2g${k%V|Qr_cFUA zkh@-uf{IDJwg4jRox(sQg2@N6c0%xqEmW@YURxV8ZtuV}DlntG$Gw1_mnK<1uKKFo z*C7a&a`nJxGnA<(2=nPhK4Fr;QZ{`s{1nH4yRvZTt9xIhv*tGL{p6S(4Y-p|a<4TiVYDdU9WXJ|J(`Nmcy&6ahEBu(E`1jBlszV!KBY zG5+6u%)3oB5<1c+2El|6&t{`gi5I7Yvm7AG>&y^A42a$~1gL ztmp#AX+J*YHAiZmgInxueRo5o;RI=8PXX{RX4+Rt1S?H%HuwMD1Ks{W*xlLm$5r*p zbZwY?Brt{t&%%UHo3)0Q3j%qx7EJoq8$!|BIm<_k9ev}yfEYXYlz;By!T9KwV&dC3 zMoR8qr)fR%fhImpcrJ(ITe%1WnP{o1k zf9J2^r+X&Vp4d%a#dlHzB)Jpz^n=bv+OrxPJDV0^`n%Smr1<1u z?S`QZe;`!6AAQkWFr}CGt|_9tc^`qBt><2F`IRg=UzNd3-qs6{%#k-z87-UiRW}+A ziyBHdSVidb(?C2xgB|d%GwNq9^<#B9AeJ#iSL)Drz5Ocvhv7WJv>HbPS_UP6^arny zYcGw8)52SX|Lk%(wMNqNs1x$PzNjJo+3aPk6nM*FX0kKy>3Ztp6!?tYyTCg0tA^9u zu?mS(p2Ojz1u24DGCmuA^(N#rp7+)Ix^MGy5ZANuvq?{SstR?!jm4c_Ak42%={w&*ttWINwdl|<>g!Af z_hE(vPzq$$pb$;5dT5qFellG?S8BCt*Uxu9d#{+?q{x zF5{0*U)m;9tgtK5Bh-~UMjknbF{<|-D+BD6H2yMahbt3UsA4z zxbCgvls$iKu&osB9EmYAtS? z%~zL!#C(U9i2sF>>(Wo%l}Qzy-uK!_{G#|-Joj?=Wlmp5-tkPrkMou>kXZ7j9VvL?OQ*qmm3Afi0GklWu#4o+`wbq*G# zEB!aQgE}-TwS9$J?6vLkhcUgGnV%I{sp_x!AK{28ch|_QMyS~Dk)izmLTAHz!3k6{ znONsK@Gd$#&d9e&w+{%@OI4a*gg3cK@yumRXx^A>Q6S%}&8L>&QH|`UcMt}PdGBtm z_&8Z}LJ$a24lqIY@{(iezyAo5S?#bNsIPfPa?VAHMWhEm4$q^cn(H_`p0uRZS>~jw%SMb*ff+nJgF<@C!~FC z^}AKQlo_ky*#I@WN#|kPoHpp=0oN)AAFUUe%)S?GGDR=ZzA%+oes9{0P5(*uV7+LL zT@*ubZb~vkz-2FAZ;E>!sO0aPQ%tDVF-`w)%f?Ro0Ssz2BcpwSTjrn@Sj<55`f5FW z6>b7ikjrd1bx;(!m;DIp4GAPuER7{9W#Qu0!(bv`PvhnfCHedaID zh*;X7f^tH@^kpn%3w)e*!bca1Y^l`2v9py%5RMlvz5_;Qt3C!(-@$<2O#st|7RKc& zH4+>z-)ZkF zv~I_RQV@D7(dKChE{*m*mNrLw%+bwwNSQD0Q}ypmDL)je>^6|h>Dh@+(C~BXKJ%q! z__^^`mJ5f_6CkEIUSG@w8A&Q2sn|Tb3Q=^jXOF$syRQbp$9PA-?N=iH!V8-u+cZNP~{6I38gdkVNU`JWrgAj?!$`rTD|Jr2hP5;(cOE^*q zq6Kkkc-d-g8gI`yet|tNsl$iT>)X9kf6d4t)00D&(^I#)Si9@B1=AT}4t!pGl)SAw z=2M_k3_2}cf56#_q&z(@af#~0;e97wDjZw&^qJVd6%5On4V+?|$Qh)gKL*$>mCQV!-IM?lZ?Z-RcsJcvUS}gvhC$I(X9&CF4 zam;+DtF{>lH&531pF{ECz3g@xI*LPB=`hLi3E-LUnja$2gKKaZAR>9nNtwlv@O+*= zv5_Wi!f_Xhqd_0rGFt{bbY@f z1KXBAQ>>$&oQ8LGUk$z(x1iA|4U~oVpcL=Ua+$`>! z=fyEmWkt0r%ZJRJ%0nzPRrQb9=PXd>_pFRm5xzT0KsXMHSF2wsWA}56m&>*yOJGSMK#>?6 z(!L`{BV8Xr2#Iyws@&~jWfl*V|NZDco8^w`%cNLrdbhvI@1KJd5k&Iy-;bqB*~eRt z@)O@KC-mQnZyU>A)O@hr=6>BbRQ2k8gE8Kn%Mc6H@`!`S2;V`Vrxcyv5rP30&Ka)@ zMEkhQ@`{WIp~dwz;PBsoO8)iun~QGeJTf3ETyj*rk{5Xje>l>V*;rhz8YN$(w13is zh7?O1fwu(?pY|b~EDocj$aT?~jThR)kuUkY&OHZcOo^KFrm0C;cA)l3aslk#*yTe! zW_|ACB1+M_U*F^pjXzZpp&|1NWcpl7RFNh-z84^7%o$G|_q;G2vwr#Y{3K?xHgj{= znIlyv1qlI-B*4XeoMCO1WXP-Hu0x9z|Q?}c` zXw2@9PGfOP=UI<7j2P(aLxhv$(ebz~(I!x7UP`$w$ni&vZmLF;ZtAW88C#Nu<%7e& z))FcwcFmj9{*+V4a9?$(&oOI&l~z7uxI+EH65st>|A^VrUFrT=+LK}Y*@_W*YPx(@ zr$*-BjnE7Y#JJ%H)0kNZj&i`sG^d~V02gYU$L&0+>t6rTl%aVsXA?ZcJ{mZ?><_g) zr`@JvZV$8194OY-A2ANmN9>G=V)BHc|Mp+=q+AkJrcE}#a{@rDbL;$QmrzglHQPvu z>C!5}+*Y`QpqIU(`&4{hN0Aa@InR7elVC2B9sz$UKbt zKj#@3loG5w%3fEQ8gt|~LiawIE0Z2Vqzas-hH45rKS9nXoLCFSC*dBpt2Kn}Lm-VHziCG%DRe;UsRHD{8NzFE`vSuE!N!~^K zeRsc|*Fk5LwTDI+jdVL@MNuI~7QOGPjjq4eO)snErYK}h`e2W$TQUKq#L`8`@{dR< z?);X@l?OpgSl`Vj-SH1&W*hUW_ixUKCkh3suG-&OpgKznLiUC5i1R_j1F%sOU3W2> zM+4W5Y5X?byn;DlP<8&dB2}?+rp6$tz3=w8*JA>eU2yIt*-~5WE3}rAY^ID772FT3=BMGy^@XOvt9d0-HFudg4#KF(fa4(dvc0zo%6_!esm zS%QPeF-Dv7e~2qUd)y$ZptEX`u|Sv-@bQ)f?(>sCT-5;wk4|?QQW>Q#o}_dQ34p{) z3$0K>LAM;ZtUJ0q`2}Sc?|j8r{jyTdZB+zukz-|@`Jx^eWPJ08tdpZW2cWh^ zP`TqdKJypy`G7B*Nwji!Nt>o4-_beCy{-7WJ)2G}MnuXNR3l^V1pUljK)P{bc;dBh I1Awmo4=yH{vj6}9 literal 0 HcmV?d00001 diff --git a/build/icon.ico b/build/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..bc02eb4edba97059a549532d19688b49d728e3b2 GIT binary patch literal 111493 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 global.app.quit() + } + ] + }, + { + label: text.edit, + submenu: [ + { role: 'undo' }, + { role: 'redo' }, + { type: 'separator' }, + { role: 'cut' }, + { role: 'copy' }, + { role: 'paste' }, + { role: 'select-all' }, + ] + } + ]) + if (process.platform == 'darwin') + gui.app.setApplicationMenu(menu) + else + window.setMenuBar(menu) +} + +module.exports = {setup} diff --git a/lib/app.js b/lib/app.js new file mode 100644 index 0000000..eedf527 --- /dev/null +++ b/lib/app.js @@ -0,0 +1,82 @@ +const gui = require('gui') + +const Broadcast = require('./broadcast') +const ClipboardSync = require('./clipboard-sync') +const Settings = require('./settings') +const SettingsUI = require('./settings-ui') +const Tray = require('./tray') + +const log = require('./log') +const text = require('./text') +const appMenu = require('./app-menu') + +class App { + constructor() { + this.tray = new Tray() + this.tray.setStatus(text.notStarted) + this.settings = new Settings() + this.clipboardSync = new ClipboardSync() + if (process.platform == 'darwin') + appMenu.setup() + } + + async start() { + if (this.settings.config.firstRun) + await this.configForFirstTime() + this.broadcast = new Broadcast(this.settings.config) + try { + this.tray.setStatus(text.starting + '...') + await this.broadcast.start() + this.clipboardSync.setBroadcast(this.broadcast) + this.tray.setStatus(`${text.listening} ${this.broadcast.ip}:${this.broadcast.port}`) + } catch (error) { + log.write('Failed to start broadcast service:', error) + this.tray.setStatus('✗') + } + } + + async quit() { + if (this.broadcast) + await this.broadcast.close() + this.tray.remove() + gui.MessageLoop.quit() + } + + async editSettings() { + // Only one settings window allowed. + if (this.settingsUI) { + this.settingsUI.show() + return + } + // Read settings. + this.settingsUI = new SettingsUI(this.settings) + const result = await this.settingsUI.run() + this.settingsUI = null + if (!result) + return + // Destroy current broadcast service. + if (this.broadcast) { + this.tray.setStatus(text.closing + '...') + await this.broadcast.close() + } + // Apply new settings and start. + this.settings.set(result) + await this.start() + } + + async configForFirstTime() { + this.settingsUI = new SettingsUI(this.settings) + const result = await this.settingsUI.runForFirstTime() + this.settingsUI = null + const config = {firstRun: false} + if (result) + Object.assign(config, result) + this.settings.set(config) + } + + async showSettings() { + return result; + } +} + +module.exports = App diff --git a/lib/broadcast.js b/lib/broadcast.js new file mode 100644 index 0000000..f850df7 --- /dev/null +++ b/lib/broadcast.js @@ -0,0 +1,104 @@ +const events = require('events') +const crypto = require('crypto') +const dgram = require('dgram') +const ip = require('ip') +const Bobolink = require('bobolink') + +const packageJson = require('../package.json') +const log = require('./log') + +class Broadcast extends events.EventEmitter { + constructor({port, channel, key}) { + super() + this.testMode = false + this.port = port + this.channel = channel + this.queue = new Bobolink({concurrency: 1}) + + this.key = crypto.createHmac('sha256', key).digest('hex').substr(0, 32) + this.iv = 'valar morghulis!' + + this.ip = ip.address() + this.subnetMask = '255.255.255.0' + this.broadcastAddress = ip.subnet(this.ip, this.subnetMask).broadcastAddress + + this.server = dgram.createSocket('udp4') + this.server.on('message', this.handleMessage.bind(this)) + + this.client = dgram.createSocket('udp4') + this.client.bind(() => this.client.setBroadcast(true)) + } + + async start() { + return new Promise((resolve, reject) => { + this.server.bind(this.port, (error) => { + if (error) + reject(error) + else + resolve() + }) + }) + } + + async close() { + return new Promise((resolve) => { + this.server.close(() => { + this.client.close(() => resolve()) + }) + }) + } + + async send(message) { + const m = { + version: packageJson.version, + channel: this.channel, + message: this.encrypt(message), + } + return await this.queue.put(this._doSend.bind(this, JSON.stringify(m))) + } + + async _doSend(message) { + return new Promise((resolve, reject) => { + this.client.send(message, this.port, this.broadcastAddress, (error) => { + if (error) + reject(error) + else + resolve() + }) + }) + } + + handleMessage(msg, rinfo) { + if (!this.testMode && rinfo.address == this.ip) + return + try { + const json = JSON.parse(msg) + if (json.version != packageJson.version) { + log.write('Ignoring message from mismatched version:', json.version) + return + } + if (json.channel != this.channel) { + log.write('Ignoring message from mismatched channel:', json.channel) + return + } + this.emit('message', this.decrypt(json.message)) + } catch (error) { + log.write('Error when handling message:', error) + } + } + + encrypt(text) { + const cipher = crypto.createCipheriv('aes-256-cbc', this.key, this.iv) + const encrypted = cipher.update(text) + return Buffer.concat([encrypted, cipher.final()]).toString('hex') + } + + decrypt(text) { + const encryptedText = Buffer.from(text, 'hex') + const decipher = crypto.createDecipheriv('aes-256-cbc', this.key, this.iv) + const decrypted = decipher.update(encryptedText) + return Buffer.concat([decrypted, decipher.final()]).toString() + } +} + +module.exports = Broadcast diff --git a/lib/clipboard-sync.js b/lib/clipboard-sync.js new file mode 100644 index 0000000..715f6c7 --- /dev/null +++ b/lib/clipboard-sync.js @@ -0,0 +1,69 @@ +const gui = require('gui') +const equal = require('fast-deep-equal') + +const log = require('./log') + +class ClipboardSync { + constructor() { + this.broadcast = null + this.onMessage = this.writeToClipboard.bind(this) + + this.clipboard = gui.Clipboard.get() + this.clipboardContent = null + + this.isClipboardWriting = false + this.clipboard.startWatching() + this.clipboard.onChange = this.onClipboardChange.bind(this) + } + + setBroadcast(broadcast) { + if (this.broadcast) + this.broadcast.removeListener('message', this.onMessage) + this.broadcast = broadcast + this.broadcast.on('message', this.onMessage) + } + + onClipboardChange() { + // Save current result, do nothing if content is not really changed. + const content = this.getClipboardContent() + if (equal(content, this.clipboardContent)) + return + this.clipboardContent = content + // Do nothing if clipboard is being written by us or is empty. + if (this.isClipboardWriting || content.length == 0) + return + // Broadcast. + if (!this.broadcast) + return + this.broadcast.send(JSON.stringify(content)).then(ts => { + if (ts.err) + log.write('Error when sending message:', ts.err) + if (ts.runTime > 2000) + log.write('Broadcast run time is too long:', ts.runTime) + }) + } + + writeToClipboard(text) { + this.isClipboardWriting = true + try { + const content = JSON.parse(text) + this.clipboard.setData(content) + this.clipboardContent = content + } catch (error) { + log.write('Error when writing clipboard:', error) + } finally { + this.isClipboardWriting = false + } + } + + getClipboardContent() { + const data = [] + // if (this.clipboard.isDataAvailable('html')) + // data.push(this.clipboard.getData('html')) + if (this.clipboard.isDataAvailable('text')) + data.push(this.clipboard.getData('text')) + return data + } +} + +module.exports = ClipboardSync diff --git a/lib/log.js b/lib/log.js new file mode 100644 index 0000000..255a554 --- /dev/null +++ b/lib/log.js @@ -0,0 +1,5 @@ +function write(...args) { + console.log(...args) +} + +module.exports = {write} diff --git a/lib/main.js b/lib/main.js new file mode 100644 index 0000000..a28e49c --- /dev/null +++ b/lib/main.js @@ -0,0 +1,4 @@ +const App = require('./app') + +global.app = new App() +app.start() diff --git a/lib/settings-ui.js b/lib/settings-ui.js new file mode 100644 index 0000000..7b6ca38 --- /dev/null +++ b/lib/settings-ui.js @@ -0,0 +1,144 @@ +const gui = require('gui') + +const packageJson = require('../package.json') +const appMenu = require('./app-menu') +const text = require('./text') + +const windowWidth = 340 +const promptFont = gui.Font.default().derive(-1, 'light', 'normal') +const errorFont = gui.Font.default().derive(-1, 'light', 'normal') + +class SettingsUI { + constructor(settings) { + this.settings = settings + + this.window = gui.Window.create({}) + this.window.setTitle(packageJson.build.productName) + this.window.setMaximizable(false) + this.window.setMinimizable(false) + + if (process.platform != 'darwin') + appMenu.setup(this.window) + + const contentView = gui.Container.create() + contentView.setStyle({padding: 10}) + this.portEntry = this._createEntry(contentView, 'port') + this.channelEntry = this._createEntry(contentView, 'channel') + this.keyEntry = this._createEntry(contentView, 'key') + const separator = gui.Separator.create('horizontal') + separator.setStyle({flex: 1, marginBottom: 10}) + contentView.addChildView(separator) + const buttonRow = gui.Container.create() + buttonRow.setStyle({flexDirection: 'row', justifyContent: 'flex-end'}) + contentView.addChildView(buttonRow) + this.errorLabel = gui.Label.create('') + this.errorLabel.setAlign('start') + this.errorLabel.setStyle({flex: 1}) + buttonRow.addChildView(this.errorLabel) + this.okButton = this._createButton(buttonRow, 'ok') + this.okButton.setEnabled(false) + this.cancelButton = this._createButton(buttonRow, 'cancel') + this.cancelButton.onClick = () => this.window.close() + + const size = { + width: windowWidth, + height: contentView.getPreferredHeightForWidth(windowWidth) + } + this.window.setContentSizeConstraints(size, {width: 1000, height: size.height}) + this.window.setContentSize(size) + this.window.setContentView(contentView) + } + + async run() { + return new Promise((resolve, reject) => { + this.portEntry.setText(String(this.settings.config.port)) + this.channelEntry.setText(String(this.settings.config.channel)) + this.keyEntry.setText(String(this.settings.config.key)) + + this.window.onClose = () => resolve(false) + this.okButton.onClick = () => this._onOkClicked((result) => { + this.window.onClose.disconnectAll() + setTimeout(() => this.window.close()) + resolve(result) + }) + + this.show() + }) + } + + async runForFirstTime() { + this.cancelButton.setVisible(false) + this.okButton.setEnabled(true) + await this.run() + } + + show() { + this.window.center() + this.window.activate() + } + + _onOkClicked(resolve) { + const result = {} + result.port = this.portEntry.getText().trim() + if (/^\d+$/.test(result.port)) { + result.port = Number(result.port) + } else { + this._reportError(text.portNumberError) + return + } + result.channel = this.channelEntry.getText().trim() + if (result.channel.length == 0) { + this._reportError(text.channelEmptyError) + return + } + result.key = this.keyEntry.getText().trim() + if (result.key.length == 0) { + this._reportError(text.keyEmptyError) + return + } + resolve(result) + } + + _reportError(message) { + const text = gui.AttributedText.create(message, { + font: errorFont, + color: '#F00' + }) + this.errorLabel.setAttributedText(text) + this.errorLabel.setVisible(true) + this.okButton.setEnabled(false) + } + + _createEntry(contentView, name) { + const prompt = gui.Label.create(text[name + 'Prompt']) + prompt.setAlign('start') + prompt.setFont(promptFont) + prompt.setStyle({paddingBottom: 5}) + contentView.addChildView(prompt) + const row = gui.Container.create() + row.setStyle({paddingBottom: 10}) + contentView.addChildView(row) + row.setStyle({flexDirection: 'row'}) + const nameLabel = gui.Label.create(text[name]) + nameLabel.setAlign('start') + nameLabel.setStyle({width: 80}) + row.addChildView(nameLabel) + const entry = gui.Entry.create() + entry.setStyle({flex: 1}) + entry.onTextChange = () => { + this.errorLabel.setVisible(false) + this.okButton.setEnabled(true) + } + row.addChildView(entry) + return entry + } + + _createButton(buttonRow, name) { + const button = gui.Button.create(text[name]) + button.setStyle({marginLeft: 10, width: 60}) + buttonRow.addChildView(button) + return button + } +} + +module.exports = SettingsUI diff --git a/lib/settings.js b/lib/settings.js new file mode 100644 index 0000000..05257d6 --- /dev/null +++ b/lib/settings.js @@ -0,0 +1,67 @@ +const path = require('path') +const os = require('os') +const fs = require('fs-extra') + +const log = require('./log') + +// Increase this number when there are incompatible changes to config file. +const CONFIG_VERSION = 4 + +class Settings { + constructor() { + this.dir = getConfigDir(require('../package.json').name) + this.file = path.join(this.dir, 'config.json') + fs.ensureFileSync(this.file) + + try { + this.config = JSON.parse(fs.readFileSync(this.file)) + if (this.config.version != CONFIG_VERSION) { + fs.copySync(this.file, path.join(this.dir, 'config.json.old')) + throw new Error('Mismatched config version:', this.config.version) + } + } catch (error) { + this.config = {} + this.set(this.getDefaultConfig()) + } + } + + set(config) { + Object.assign(this.config, config) + try { + fs.writeJsonSync(this.file, this.config, {spaces: 2}) + } catch (error) { + log.write('Failed to write settings to disk:', error) + } + } + + getDefaultConfig() { + return { + version: CONFIG_VERSION, + firstRun: true, + port: 21007, + channel: 'crossclip', + key: 'your password', + } + } +} + +function getConfigDir(name) { + switch (process.platform) { + case 'win32': + if (process.env.APPDATA) + return path.join(process.env.APPDATA, name) + else + return path.join(os.homedir(), 'AppData', 'Roaming', name) + case 'darwin': + return path.join(os.homedir(), 'Library', 'Application Support', name) + case 'linux': + if (process.env.XDG_CONFIG_HOME) + return path.join(process.env.XDG_CONFIG_HOME, name) + else + return path.join(os.homedir(), '.config', name) + default: + throw new Error('Unknown platform') + } +} + +module.exports = Settings diff --git a/lib/text.js b/lib/text.js new file mode 100644 index 0000000..d4b9ce0 --- /dev/null +++ b/lib/text.js @@ -0,0 +1,8 @@ +const osLocale = require('os-locale') + +const locale = osLocale.sync() +try { + module.exports = require(`../text/${locale}.json`) +} catch (error) { + module.exports = require('../text/en_US.json') +} diff --git a/lib/tray.js b/lib/tray.js new file mode 100644 index 0000000..b5dcd60 --- /dev/null +++ b/lib/tray.js @@ -0,0 +1,39 @@ +const fs = require('fs') +const path = require('path') +const gui = require('gui') + +const text = require('./text') + +class Tray { + constructor() { + const iconName = process.platform == 'darwin' ? 'TrayTemplate@2x.png' + : 'icon.png' + this.trayIcon = gui.Image.createFromPath(fs.realpathSync(path.join(__dirname, '..', 'assets', iconName))) + this.tray = gui.Tray.createWithImage(this.trayIcon) + + this.statusItem = gui.MenuItem.create({label: ''}) + const menu = gui.Menu.create([ + { + label: text.settings, + onClick: () => global.app.editSettings() + }, + this.statusItem, + { type: 'separator' }, + { + label: text.quit, + onClick: () => global.app.quit() + }, + ]) + this.tray.setMenu(menu) + } + + remove() { + this.tray.remove() + } + + setStatus(status) { + this.statusItem.setLabel(text.status + ': ' + status) + } +} + +module.exports = Tray diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..9456f15 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,923 @@ +{ + "name": "crossclip", + "version": "0.1.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "optional": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true, + "optional": true + }, + "@types/node": { + "version": "14.0.27", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.27.tgz", + "integrity": "sha512-kVrqXhbclHNHGu9ztnAwSncIgJv/FaxmzXJvGXNdcCpV1b8u1/Mi6z6m0vwy0LzKeXFTPLH0NzwmoJ3fNCIq0g==", + "dev": true, + "optional": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "asar": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/asar/-/asar-3.0.3.tgz", + "integrity": "sha512-k7zd+KoR+n8pl71PvgElcoKHrVNiSXtw7odKbyNpmgKe7EGRF9Pnu3uLOukD37EvavKwVFxOUpqXTIZC5B5Pmw==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "chromium-pickle-js": "^0.2.0", + "commander": "^5.0.0", + "glob": "^7.1.6", + "minimatch": "^3.0.4" + }, + "dependencies": { + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bobolink": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bobolink/-/bobolink-3.0.0.tgz", + "integrity": "sha512-YE0+2Q/5a/+Pj4HRbBe2xVp3HG6S1OnTSfb7up9L6gYL2le/FEFSnLTJna31J+Z8ctVvHlyRgEvfpyUfk6OpaA==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chromium-pickle-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-pickle-js/-/chromium-pickle-js-0.2.0.tgz", + "integrity": "sha1-BKEGZywYsIWrd02YPfo+oTjyIgU=", + "dev": true + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.15.0.tgz", + "integrity": "sha512-7B1ilBwtYSbetCgTY1NJFg+gVpestg0fdA1MhC1Vs4ssyfSXnCAjFr+QcQM9/RedXC0EaUx1sG8Smgw2VfgKEg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "debuglog": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", + "dev": true + }, + "dezalgo": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "download-yue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/download-yue/-/download-yue-2.0.2.tgz", + "integrity": "sha512-xLgE/XcSXVrtu1f8uYOgiqkOf4DcyrZCI+wORHOFxhqo4+4pn30SbgHY9qhlWHugGV+7oXaXQmWhwd0J77tS2w==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "execa": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.3.tgz", + "integrity": "sha512-WFDXGHckXPWZX19t1kCsXzOpqX9LWYNqn4C+HqZlk/V0imTkzJZqf87ZBhvpHaftERYknpk0fjSylnXVlVgI0A==", + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fetch-yode": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fetch-yode/-/fetch-yode-1.0.0.tgz", + "integrity": "sha512-OTGJyL05BblMSVZ2Yxsdhb5IE8sj4xj+vWUBXUslPcxtBbdU50YqF+pcbhpqARphaXiHxHgpwvIS+nKppplxRQ==", + "requires": { + "download-yue": "2.x", + "node-fetch": "2.6.0" + } + }, + "fs-extra": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", + "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^1.0.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "get-stream": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", + "requires": { + "pump": "^3.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "gui": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/gui/-/gui-0.8.8.tgz", + "integrity": "sha512-/yFeIyj7anFghO95jzsEysB7EDseBQXayynlIvh3I2HIFJZXJ2GA1W/6y2YLRgaTvmDvjroeF5Ro7faPZM9D/g==", + "requires": { + "download-yue": "2.x" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "invert-kv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-3.0.1.tgz", + "integrity": "sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "jsonfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", + "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^1.0.0" + } + }, + "lcid": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-3.1.1.tgz", + "integrity": "sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==", + "requires": { + "invert-kv": "^3.0.0" + } + }, + "license-checker": { + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/license-checker/-/license-checker-25.0.1.tgz", + "integrity": "sha512-mET5AIwl7MR2IAKYYoVBBpV0OnkKQ1xGj2IMMeEFIs42QAkEVjRtFZGWmQ28WeU7MP779iAgOaOy93Mn44mn6g==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "debug": "^3.1.0", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "read-installed": "~4.0.3", + "semver": "^5.5.0", + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0", + "spdx-satisfies": "^4.0.0", + "treeify": "^1.1.0" + } + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", + "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "requires": { + "p-defer": "^1.0.0" + } + }, + "mem": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mem/-/mem-5.1.1.tgz", + "integrity": "sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==", + "requires": { + "map-age-cleaner": "^0.1.3", + "mimic-fn": "^2.1.0", + "p-is-promise": "^2.1.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minizlib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", + "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node-fetch": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", + "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" + }, + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "requires": { + "path-key": "^3.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", + "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", + "integrity": "sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==", + "requires": { + "execa": "^4.0.0", + "lcid": "^3.0.0", + "mem": "^5.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", + "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "rcedit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rcedit/-/rcedit-1.0.0.tgz", + "integrity": "sha512-W7DNa34x/3OgWyDHsI172AG/Lr/lZ+PkavFkHj0QhhkBRcV9QTmRJE1tDKrWkx8XHPSBsmZkNv9OKue6pncLFQ==", + "dev": true + }, + "read-installed": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz", + "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=", + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + } + }, + "read-package-json": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz", + "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==", + "dev": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "readdir-scoped-modules": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", + "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "dev": true, + "requires": { + "path-parse": "^1.0.6" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "slide": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz", + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "spdx-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spdx-compare/-/spdx-compare-1.0.0.tgz", + "integrity": "sha512-C1mDZOX0hnu0ep9dfmuoi03+eOdDoz2yvK79RxbcrVEG1NO1Ph35yW102DHWKN4pk80nwCgeMmSY5L25VE4D9A==", + "dev": true, + "requires": { + "array-find-index": "^1.0.2", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" + } + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", + "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "dev": true + }, + "spdx-ranges": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/spdx-ranges/-/spdx-ranges-2.1.1.tgz", + "integrity": "sha512-mcdpQFV7UDAgLpXEE/jOMqvK4LBoO0uTQg0uvXUewmEFhpiZx5yJSZITHB8w1ZahKdhfZqP5GPEOKLyEq5p8XA==", + "dev": true + }, + "spdx-satisfies": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdx-satisfies/-/spdx-satisfies-4.0.1.tgz", + "integrity": "sha512-WVzZ/cXAzoNmjCWiEluEA3BjHp5tiUmmhn9MK+X0tBbR9sOqtC6UQwmgCNrAIZvNlMuBUYAaHYfb2oqlF9SwKA==", + "dev": true, + "requires": { + "spdx-compare": "^1.0.0", + "spdx-expression-parse": "^3.0.0", + "spdx-ranges": "^2.0.0" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tar": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.1.tgz", + "integrity": "sha512-bKhKrrz2FJJj5s7wynxy/fyxpE0CmCjmOQ1KV4KkgXFWOgoIT/NbTMnB1n+LFNrNk0SSBVGGxcK5AGsyC+pW5Q==", + "dev": true, + "requires": { + "chownr": "^1.1.3", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.0", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + } + } + }, + "treeify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/treeify/-/treeify-1.1.0.tgz", + "integrity": "sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==", + "dev": true + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "~2.13.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + } + } + }, + "universalify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", + "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==" + }, + "util-extend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz", + "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "yackage": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/yackage/-/yackage-0.3.1.tgz", + "integrity": "sha512-W3ZFlCkg6dLqC5rMg76R8iOxzErljVD0t7tyWZCrNx3fLi96+nrCt7re/I2gdhwR03ZzjD9JpW/g7eGjSSTytQ==", + "dev": true, + "requires": { + "asar": "3.0.x", + "commander": "2.15.0", + "fs-extra": "5.0.0", + "glob": "7.1.2", + "license-checker": "25.0.1", + "rcedit": "1.0.0", + "tar": "6.0.1", + "uglify-es": "3.3.9", + "yazl": "2.4.3" + }, + "dependencies": { + "fs-extra": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", + "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yazl": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.4.3.tgz", + "integrity": "sha1-7CblzIfVYBud+EMtvdPNLlFzoHE=", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..4d4de3f --- /dev/null +++ b/package.json @@ -0,0 +1,38 @@ +{ + "name": "crossclip", + "version": "0.1.0", + "main": "lib/main.js", + "description": "Sync clipboard across platforms", + "build": { + "appId": "org.yue.crossclip", + "productName": "CrossClip", + "copyright": "Copyright © 2020 Cheng Zhao", + "unpack": "+(*.node|*.png)" + }, + "scripts": { + "start": "yode .", + "build": "yackage build out", + "dist": "yackage dist out" + }, + "license": "MIT", + "homepage": "https://github.com/yue/crossclip", + "repository": { + "type": "git", + "url": "https://github.com/yue/crossclip.git" + }, + "bugs": { + "url": "https://github.com/yue/crossclip/issues" + }, + "dependencies": { + "bobolink": "3.0.0", + "fast-deep-equal": "3.1.3", + "fetch-yode": "1.x", + "fs-extra": "9.0.1", + "gui": "0.8.8", + "ip": "1.1.5", + "os-locale": "5.0.0" + }, + "devDependencies": { + "yackage": "0.3.x" + } +} diff --git a/text/en_US.json b/text/en_US.json new file mode 100644 index 0000000..1f8b094 --- /dev/null +++ b/text/en_US.json @@ -0,0 +1,21 @@ +{ + "port": "Port", + "portPrompt": "Please choose a port between 1024 ~ 65535, which will be used to send and receive clipboard notifications:", + "portNumberError": "Port must be an integer", + "channel": "Channel", + "channelPrompt": "Please enter an non-empty channel, only the computers that share the same channel will have their clipboard synchronized:", + "channelEmptyError": "Channel must no be empty", + "key": "Key", + "keyPrompt": "Please enter an non-empty key, which will be used to encrypt/decrypt the contents of clipboard:", + "keyEmptyError": "Key must not be empty", + "ok": "OK", + "cancel": "Cancel", + "status": "Status", + "notStarted": "Not started", + "starting": "Starting", + "listening": "Listening on", + "closing": "Closing", + "settings": "Settings", + "edit": "Edit", + "quit": "Quit" +}