From 11d17c6e82022aa708fe472aaa3295c436bf2d16 Mon Sep 17 00:00:00 2001
From: Ituki Kirihara <ituki@fc.to>
Date: Sun, 17 May 2015 13:22:44 +0900
Subject: [PATCH 1/1] =?utf8?q?Windows=E3=83=AD=E3=83=83=E3=82=AF=EF=BC=86?=
 =?utf8?q?=E3=83=87=E3=82=A3=E3=82=B9=E3=83=97=E3=83=AC=E3=82=A4=E3=81=AE?=
 =?utf8?q?=E9=9B=BB=E6=BA=90=E3=82=92=E3=82=AA=E3=83=95=E3=81=AB=E3=81=99?=
 =?utf8?q?=E3=82=8B=E3=83=84=E3=83=BC=E3=83=AB=20=E5=88=9D=E6=9C=9F?=
 =?utf8?q?=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

Signed-off-by: Ituki Kirihara <ituki@fc.to>
---
 lock_and_display_off.c   | 176 +++++++++++++++++++++++++++++++++++++++++++++++
 lock_and_display_off.exe | Bin 0 -> 56320 bytes
 lock_and_display_off.txt |  63 +++++++++++++++++
 3 files changed, 239 insertions(+)
 create mode 100644 lock_and_display_off.c
 create mode 100644 lock_and_display_off.exe
 create mode 100644 lock_and_display_off.txt

diff --git a/lock_and_display_off.c b/lock_and_display_off.c
new file mode 100644
index 0000000..5f9214b
--- /dev/null
+++ b/lock_and_display_off.c
@@ -0,0 +1,176 @@
+#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
+   #undef _WIN32_WINNT
+   #define _WIN32_WINNT 0x0500
+#endif
+#include <windows.h>
+#include <stdio.h>
+#include <string.h>
+
+#if _MSC_VER
+#pragma comment(lib,"user32.lib")
+#endif
+
+/*
+
+ Windowsのロックと、ディスプレイの電源オフを行います。
+ ディスプレイの電源オフに関しては、http://www.knonline.net/d/?date=20080123 を参照しています。
+
+ usage:
+   lock_and_display_off
+     Windowsをロックし、ディスプレイの電源をオフにします
+   オプション:
+     -h
+       ヘルプを表示します
+     -lock
+       Windowsをロックします(デフォルト)
+     -nolock
+       Windowsをロックしません
+     -off
+       ディスプレイの電源をオフにします(デフォルト)
+     -nooff
+       ディスプレイの電源をオフにしません
+     -lockfirst
+       最初にWindowsをロックし、次にディスプレイの電源をオフにします(デフォルト)
+     -offfirst
+       最初にディスプレイの電源をオフにし、次にWindowsをロックします
+
+     隠しオプション
+       -wait1st ミリ秒
+         1個目の処理前に指定したミリ秒だけSleepします 有効範囲 0(デフォルト:Sleepしない)~WAIT_MSEC_MAX
+         これを指定しなくてもEXEC_WAITミリ秒(1秒)は強制Sleepしています。
+       -wait2nd ミリ秒
+         2個目の処理前に指定したミリ秒だけSleepします 有効範囲 0(デフォルト:Sleepしない)~WAIT_MSEC_MAX
+       -waitDisplayOffDelay ミリ秒
+         ディスプレイの電源をオフにする際、省電力モード→オフの処理間に指定したミリ秒だけSleepします
+         有効範囲 0(デフォルト:Sleepしない)~WAIT_MSEC_MAX
+
+*/
+
+#define WAIT_MSEC_MAX (60*1000)
+#define EXEC_WAIT 1000
+
+int cmdRet(const char* str)
+{
+ if(str) fprintf(stderr,"%s\n",str);
+ /* print usage */
+ fprintf(stderr,"usage: lock_and_display_off (-h) ([ -lock | -nolock ]) ([ -off | -nooff ])\n");
+ fprintf(stderr,"                            ([ -lockfirst | -offfirst ])\n");
+ fprintf(stderr,"\toptions\n");
+ fprintf(stderr,"\t\t-h         : show usage(this infomation printout)\n");
+ fprintf(stderr,"\t\t-lock      : LockWindows(default)\n");
+ fprintf(stderr,"\t\t-nolock    : no LockWindows\n");
+ fprintf(stderr,"\t\t-off       : Display Power Off(default)\n");
+ fprintf(stderr,"\t\t-nooff     : no Display Power Off\n");
+ fprintf(stderr,"\t\t-lockfirst : 1st LockWindows, next Display Power Off(default)\n");
+ fprintf(stderr,"\t\t-offfirst  : 1st Display Power Off, next LockWindows\n");
+ fprintf(stderr,"\texample\n");
+ fprintf(stderr,"\t\thelp> lock_and_display_off -h\n");
+ fprintf(stderr,"\t\tLock and Display off> lock_and_display_off\n");
+ fprintf(stderr,"\t\tLock Only> lock_and_display_off -nooff\n");
+ fprintf(stderr,"\t\tDisplay off Only> lock_and_display_off -nolock\n");
+ fprintf(stderr,"\n");
+ fprintf(stderr,"\tversion 0.0.2011080412000\n");
+ fprintf(stderr,"\tLisence: ??? (c) copyright 2011 Ituki Kirihara/NI\n");
+ return 1;
+}
+
+int LockWindows(void)
+{
+ if (LockWorkStation() == 0){
+   return cmdRet("LockWindows:API:LockWorkStation Fail...");
+ }
+ return 0;
+}
+
+int DisplayOff(DWORD waitmsec)
+{
+ if (PostMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 1) == 0){
+   return cmdRet("DisplayOff:API:PostMessage 1st stage Fail...");
+ }
+ if (waitmsec > 0) Sleep(waitmsec);
+ if (PostMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, 2) == 0){
+   return cmdRet("DisplayOff:API:PostMessage 2nd stage Fail...");
+ }
+ return 0;
+}
+
+int main(int argc,char* argv[])
+{
+ int i;
+ int enableLock = 1;
+ int enableDisplayOff = 1;
+ int LockFirst = 1;
+ DWORD wait1st = 0;
+ DWORD wait2nd = 0;
+ DWORD waitDisplayOffDelay = 0;
+ char* nptr=NULL;
+ if (argc < 1 || argv == NULL) return cmdRet("unknown main function arg...");
+ for(i=1;i<argc;++i){
+   if(argv[i] == NULL) return cmdRet("unknown main function arg. argv is null...");
+   if(argv[i][0] != '-' || argv[i][1] == '\0') return cmdRet("unknown option");
+   if(strcmp(argv[i],"-h") == 0){
+     if (i != 1 || argc != 2){
+       return cmdRet("-h option : only this option can be specified.");
+     }else{
+       cmdRet(NULL);
+       return 0;
+     }
+   }else if(strcmp(argv[i],"-lock") == 0){
+     enableLock = 1;
+   }else if(strcmp(argv[i],"-nolock") == 0){
+     enableLock = 0;
+   }else if(strcmp(argv[i],"-off") == 0){
+     enableDisplayOff = 1;
+   }else if(strcmp(argv[i],"-nooff") == 0){
+     enableDisplayOff = 0;
+   }else if(strcmp(argv[i],"-lockfirst") == 0){
+     LockFirst = 1;
+   }else if(strcmp(argv[i],"-offfirst") == 0){
+     LockFirst = 0;
+   }else if(strcmp(argv[i],"-wait1st") == 0){
+     if (i+1<argc){
+       nptr = NULL;
+       wait1st = strtoul(argv[i+1],&nptr,0);
+       if (nptr == NULL || *nptr != '\0') return cmdRet("-wait1st option : msec is not number");
+       if (wait1st > WAIT_MSEC_MAX) return cmdRet("-wait1st option : msec time so long");
+     }else{
+       return cmdRet("-wait1st option : msec not set");
+     }
+     ++i;
+   }else if(strcmp(argv[i],"-wait2nd") == 0){
+     if (i+1<argc){
+       nptr = NULL;
+       wait2nd = strtoul(argv[i+1],&nptr,0);
+       if (nptr == NULL || *nptr != '\0') return cmdRet("-wait2nd option : msec is not number");
+       if (wait2nd > WAIT_MSEC_MAX) return cmdRet("-wait2nd option : msec time so long");
+     }else{
+       return cmdRet("-wait2nd option : msec not set");
+     }
+     ++i;
+   }else if(strcmp(argv[i],"-waitDisplayOffDelay") == 0){
+     if (i+1<argc){
+       nptr = NULL;
+       waitDisplayOffDelay = strtoul(argv[i+1],&nptr,0);
+       if (nptr == NULL || *nptr != '\0') return cmdRet("-waitDisplayOffDelay option : msec is not number");
+       if (waitDisplayOffDelay > WAIT_MSEC_MAX) return cmdRet("-waitDisplayOffDelay option : msec time so long");
+     }else{
+       return cmdRet("-waitDisplayOffDelay option : msec not set");
+     }
+     ++i;
+   }else{
+     return cmdRet("unknown option");
+   }
+ }
+ Sleep(EXEC_WAIT);
+ if (wait1st > 0) Sleep(wait1st);
+ if (LockFirst){
+   if (enableLock) LockWindows();
+   if (wait2nd > 0) Sleep(wait2nd);
+   if (enableDisplayOff) DisplayOff(waitDisplayOffDelay);
+ }else{
+   if (enableDisplayOff) DisplayOff(waitDisplayOffDelay);
+   if (wait2nd > 0) Sleep(wait2nd);
+   if (enableLock) LockWindows();
+ }
+ return 0;
+}
\ No newline at end of file
diff --git a/lock_and_display_off.exe b/lock_and_display_off.exe
new file mode 100644
index 0000000000000000000000000000000000000000..875471cd0f97d6087a1c461acfd1abaabcb1ef72
GIT binary patch
literal 56320
zcmeFa4|r77wKsg`Uos>UW`G0&MvNE~31~DR$bb%n2?z!z850Z=)K=q|){0~fY9%o7
z5Y5SUDs8pei?vev$KKjr^jZb=YDm%q{2S1VK@bp8_jphd(n)|Z=l!jH&J01VxA%R%
z`+eX0JTDKK*?-qwd+oK?UVH7e_mnLSNLERb?2=p3bxGQSF#YpMV~oIeeWKzE9%<+~
z&klLx+%1-?-#B;u`fEbB*5|KSdHXFZZ@ex4Hn~2W|Gk^@SIR%imw$BA%`5Yl-1?*9
zOS3WxrhOOK|C{&!9t8q^NxItNl%D;|j77;-4@yIAnHGm6J%JRTnd-qe{cWbW&j@4u
z?G(ko<hK;CNK%@SW)okilurSCQ+*?ZG>deXh*+dHs$7J6fcK4mK8rNd`Hj>;2^J}L
zQ0$)#UKGCht}qpT0)K?pL-;fCMo9e2m!ummy6ML7jTH0YZ!`WT;_qMZH|U>Fl3Fhc
z|FB*p5v-&5qrP;Al+=fh%B?g3QaQ=&b7!iE2>2u^aM7)U%6U+ZaNGWka=wdh9#jrA
z745$HE#+3$ulznGQ@cr8cYj;Cn}2va6{K>Yy_A9PUEe4dI5Xw{#{N&Gfaa<F-i(sM
z!ug9AFI*qXd)g;$bmL>&LF=Xw_^zmv_#b~NNvxX>jFhCM{2}lI??Vt7&hsRxI<#f8
zk0J_6Z5o9tby93oy(GmhLvC^F6BZ=3Z={U&8(x$Gn_mis{+uaE?OPuM$uf6@%amEv
zpj4l+WdJGsU0v5jUU{99`v5e+Z^CD0tDLdrD=P3D3IqcBRI0@tvLu<op$J}|0y~<w
zVR~<(LQ20>|I;lAs{3QqZ8sZSIl-*>Gzw<6hDQg`;9Kjd!4vp2Gh30_o~q*EuK<FX
zbt`2FYTa}T8#zg0_IumcSF$6)D&}{-SoD%ldU*nxZ)yz>4OB%-iUNG$1W8glT+u3f
zMRZ|NIroaVGg=x5M1w^YywHsQqy@;9iz>Nh(k~uDl2OZHCf&CKNk+wE7Z6})^e3OE
zDjqPCevySqY*c*ROuBD6l8lO5lND=_WVHDEWW~o*6@Q+rxI0xblB{?zRq?iDMGIt~
z(c;o%#fy<-v^XzWu^LH6i&K&nS*qf>$%@fb#i7ZHe@s<8b-w8K7N8(4zpkcz{rdI%
z=?5i{Ty}*V&w@X08_@OY_Ttud8W&dMth0nxd?`tx;iwWKeTPSl@<T(Dsr)P|4@gaW
zSEU8{xyY-te!a$Z$r?+kMy6S#xK$v4c9f38#k-1k1gn-Xzv~rZfi8c7Q0(&e8(+Qj
zrB)s--ldiuDc+%0a<%NR(%`hLwgdIy(fhBr5gTs)3dqDJVs(6(Dnzffdu69P`Ws{_
zUWv-B7Uh~nIV;LBTV(oVIW2ORg|Z*{1F|dlts?tFgqbb+$aDB^an8t)=d9Zi9^NwF
zGGl>7zD#MgDs9$vJLJRi#6@x%aIuB~f2)8$K>(m;G0)GUNO5cI=O#R!gjX;KUhW`x
zF0=Qs_c3mS!RN^u;|A3jIjBZPajWW2#QtoSk0;B2M+<_mv3txKr;;_kvxWZHLbE)P
zPSE5#S`cFv8*SFeO4j(!7J6eb3>@`&RI>a?^f}w4dd8qW-xV#jc>T_X%HmzovcqcS
z;X0|DmDmIP!%87DRR2+>;jk2TvdY7e84?EP!F<3h=j;?Qi34~wHXOa-Q%PD?5WU}z
ztN>pjvOWb0(MN7YN(EmoQhJb5s<hi<3r*~r|F^O8C$T&7b?kmBu>0&JVRsAKX>2%>
z#O^tP-7b-JwZQH@fnBRenUTcq&)|8Y-HHDSJNX~c?hn_PwBujLZYZ?da=utJNMf|H
zfhV!M5?KL0MP&VjrrjgABc+0m6DhQ65$!Y#z`qC}86th1nNBnGf#nHZ57ETn2O!Cn
zhNIG|A<Ta?z`I4XR|-#38WK|2!OJipO2ZM#uRK!0H;ep!DSR0#<K=uF4VN}iX+TN_
z^YZ|oN-2XXtQ8dmC@ZpxTd!Y!9s3B9&{&6n%)iO5D*icWTFrW}6uGMEq#*xSw;&8_
z7g7^tv0?={@kO;!SHurvsiQbavJ>o>GV7h^e3B%e&vK4_;FFY-*04i4X^~xB4v_(s
zQOih%eG<!|RQ8^&XW@drUFW?A(JSRkQV=raGZo@54WiCo+^VIk=WId45-^7Vr?yVA
zo;rJoG|(l?7T~X-G&`ymH^to#w<-rMq9Bz!h91S)sqj>@w5Sr~528F^yV={UtMFYu
z7O>GwPGdVkZ2X))o8t0oryC7P=vGC5FGI!oVH;Kpk=GuQA|&zxyyR;cSZ6{#=p5hO
zEJ<ER_Io}loEiFnQu1m*L-a$?e+g@FG1=J^4`(##VMtYvB)VK38umQO22dMa*elZf
zp)p7c@_9&9(?Z1}GJ_)Np+zDxnTl6>RI74@6wXqvBw<kIQ7$)NI+FdVq2-R+r!mxX
z)}by2F%^#tin{`=(pjPBG$Re_11+E^$6vy@gMgQIIjHdFd@NuN0+T<ELR9#!^C|QI
zLemQ<v>G8ALo~VRE`&vUbr${?;vfT$)9oVt7pK!t<A?M$M*6qlMQeMPV};pH`+8*-
zg{5$so<nG~Q~nDsprDOpZMIgM<5{FCt-Y$xuKJuxo86o91X5NX+DKo;y9O1(0vxcb
z^PNIR09#?qDxIvYINqoeuhcu0?RxAzfbQ}+sgr8JrB0`T2-u5vv8<;6Pi=mHGS;uh
zC(EIfrd?sDdN0K_$EM9l*hHz(M;}58mN%PnFk$O~98qQwqLMt3O(n!^ai!Cye4L1u
z*f&uI>pWeQ=Ycv(r=4|8CMXJb6?R4g7IlPjDA6@{gdIx&n315=yIHqwmn}!opsiO+
zV>ulJY=K=}Xjg+yhR<rJy3`&;$Fsrkm{KX3QR#x7)Obibs_QJ1ZL_s2tqJd|?)x?Z
zd|a}+*ZmxULSKS?S$K?j(6;ia%X@5<pc0k2ut=n`SCwsc)#VY9uDKq89&;)mB)nMy
z$5kv~XY-xv0w;Zz+eJYe2rBx0&9HvZ*Gx<GL=B*@U7hVbqp&)6Sig1wMoBAR#|n$t
zZsk+E#Ut8+hINh8uC!tyCAFj4Qe51c?5onz4=M7>Lqr+b+1RN=C^mjf{Z?jeN1`NW
z@UO7#-b9h)IE@heV{3K%8muv%3fqpdv&D$-b+2=QKd@@E?!pn?V{YXOkb`Btj_NkI
zH;cg3+u0}@jz<wTau(R!w%w^rH!`y*^Qyj`=k2tO@V3=E08pF7as-%B-W(H5y5`s@
zpoon5wo$guRNfg-w%Kg#DBI0!h26Gx-htH$%fMM|ci{+&s9F`|Ht4XJ|Iq55pbpqx
zAihW8M~uSfH9DwqN@SUh+vvMI$lrt_XjJ+ED$yMIK2_d8Gofj(yQvpIqh<Zk%0%=&
zs^WF5Cjz8zq%SSaNaRnP5VA&a&v{h;>-{|4myLn~U)s_eI}LbWC+GrWAh6gRYud{O
z-0L1E`qOaO-u6}|+)WY0m3y4|4L=4&Mid@{V4lR<*lu+7DS<~g$1;^#A<Zkuk6;-`
z4>f_@eFW=W=1&yv=4*|@7qfQ@cN;`x3!Qq26S?YK2Jz8v3EFMm!ht10{s#jHR-k#r
zp>s|X=zEyX0wTZIAVL=E^ZOB|f}<_71SXaJ6-!uIqFm^1*gT5KT20Gxa*ctovXVGy
z1Di9!WnRH^tDG$Bw}RFz>q+X=7)5h=Ut5)qaVFi0SZoh_?KJoPg1R_@9kU%*IuqVb
z`5tz%@C3SWn3NRI;R=1BlcATz>>9;|K;hev0CN%C&A0aJ`h^DRPzE&MuONj%)Li{@
zSK(_Ub}}i}Wo!4&{ke11UqSwNDaO}Qxy-`1E)+PcUa^d6p3`Ki1DTQ%O7t1)2{`y1
z7Dzz&G@c~BTnSY=!LJ6Wn)U#PzL?Zwf}*f{-QSUfBFq`zW(^l(exmXR2}meQ1{gp{
zM{k=vgd}8^5S3@jCe5ZeEr!hL##$1$TEY`qh6%yx74-+#Ug{)B)lOCc`DREl<!Xq)
z!Sc_|b`F-&LrfW6VP{M2>a}(fb@(iCs&nkoa)@cjJjhfaz1nHF$`^dsNPBm#N)Pb&
zX{Tn&^>W($ifvV6yA6}E@k0__QGbHH&DFRN30aCiVOKOem`$xtfEBMhtqU5eT21>b
zLF^#`{zqD<zfS8aq3g)RU$2lz7;x36zbMw^wCHl1@?jz=M6nI$_mJA`J=<IgUbF4M
zQj=V?u`+nu!soL#C4WFrUAf6)|7!4h0anM75xZ7MjF*VH+Zs=9!MA)p+orTSQ=l+%
ztxm7c9_~kVEXsD)rp??)L#$0@#!zo#!@TdUx}eJfdg;t(*KGLk=H7Y2$XADX9aLU+
zY@r5b(T988-)OGTYKCR-xH90WpLzza#u~SB2(4D%U?>y$4FuwC<#W4At0;TZMywUB
zwy0yG)pj*6!(1n?wC%8oHBs5t%a8%?z><m2Ag!7vZbQ&J)mY@e#<{u1>ME95(2V%e
zC<rXHv$WCCDqjWv95bgHgFK{)7n40hvzp7~dZpuFm%Sh#s9wW&Hvr+e1umr{za1-Q
zWjUMr6o>&Sx{%!`6d-$nzR1ab<cu!+i>v9g)svZxb+i7$-4$$PH5Q<qg`H}tT}@+M
zytx;&?&811SDDhDX!@+-Z8oI<dih_M){ue^J+z#3{4!F;l(xia5vQC0TWvMiO4(+k
zAs7SR^1dcR{yJkH5mk$nk1eEiv+2qw38l+!JK%lIegAf373)oLwILC{ipnIsLg`wW
z##T60Igz5}3cEU0NP!i0c9&CK<3v8Y%dW1mi(1M}Mc_urT&t~JwX*iYZA!mqWk}(6
z)?*}ZgOU!3Oasc=qCtxoVIcubj>qO?@Z`@nwu7uPp$##)5(*JU3ha|qc}NZfAqR5N
zOBx?g$<XVGOz3-!Yw*-&YZ9!TI?wIiemR|W#_lD;ybaaJd$N84=vvP6u{6=HaBq0{
z5@-SAY0h?FxA-VcP1ddjwQ^Cxkg@fJqLM~CP*Eud=B)tgeFngy-VJ6w;;JQf)^6)8
ze4FI*W5=+5K(KVG%M*sCDde~qUzxN`40|T5ZB!lWWEeXlFyg(`kai0T4ifV&G?#%{
zN~=*B!n+L}1j_-M)4b7OLaj_x8T)3|kL2?~QX#0lU#_I(S&Uy*a0y>#ARXj?!g^cH
zx(sTbUSDWWRzs?<kUy-A)?3<R&>wh{wh36x7|<{Cu$?<&J7bCCza#l<JO112my7+6
zQN}Fc9awp8c=A`#@K8Ov+O3On>{Y6#d~Q>|upR$hLK~W(cnS>0nIMVwmbCaW5j<$L
z<zQbM#!U~`)T-&xt4Aej)p=HyzU@<6xI|4?=h+v8i`02eb)IWM_yTpFN1d0wAUsx`
zm#fapTM*7s=jE&O3KoQ2>bwc+yh+iuMGNHZszsd*iSN9=rd_od-^w9dII}r@;MK6B
zR-HRaH&P8;fJH6F9z9PSul<ve1G!*-(k4#^xuAu-+W4sj{~8ZP@Gq>9E*t)6-7a~;
zy0|>PuMO69Ngk`6jiPa1LJtp%`@Yh{uDEYN52w#BNN8K<&!5k(F0jup+-CMah(@=f
z+xn%giDQ33)6wgRh^*4}VOEQ^*|x4VeC3>ytK{Rz+7`2Zc(Iu{v1N{>xx|9({FXV^
z<`OGHBU|R!Ff*G=Y}kMyo_3YIv(rYK*Xuxm)cAT>nG*x7==Rl9S}ZLiXLQSxT4q~X
zsw@bNYng3rsj?!J+cMkMQe{JEsPcs!Dh0M^sMFBZq>GLHXtS<kcIjgIc=3*w?ZvGv
zZH3#}Hj__i{x&$5@U0|y+0oJ}ekIms!(5YD1^w#*!R0R2ZcZNXA2yzl0`@tuAl53=
zB{@zUigcVkkiF+U5DEZ_cc2s`aHn_As$sRPs8+pnHq5-J<lS@U7s#vavR@0S;CG5W
zQINfF6Dmh^Zh=!Radnm0gA;vHZC43227C_37Pur26Gyt~mW|l%+HSf<g>~h+_M2|m
zgrks&6X%qa+!eZnb?8&Ou`UFcR8<CaIa`-Ky6n<rCoj2`Bt>@3^6RftI_!k6u?NGJ
zJ3h~Dkw=BRkU^p4TYOSz9zOV`R|(Mq1mixDKa=t!lz%Jb4>$8Go$)y?JL+FS`A<_m
zqx@s@jrwIy_w&`mZ8gwcu`JvYFL65MWlBRf%r?+tm4h~=-xkJhUUR$v05Hubs+RDp
zphrT`K#F*Tc+L>2X^gbwc&W=CK1-Jq=-U#knIN~);X%oCLw%K%c9-^ZtX%HrmwJ-T
zF8{6u`_W(zcBn>!S;FLJ0-KO*t>0+vZ(_GLsI_!z?XlFxK#+A`uxiUY7zBO+N*BkO
z{jd43QUSxW@HdKG>%vz?oh`s5-Geq+J68W#Y2yHyaaQkSmHTc|b7-UubD{vri(Ace
z4b|VTR`#l8FiE?lFie}6x?*@1qX(h!TS5LlB7glnL4MJ17&x=zb3~~Cm0C`vitxe9
zlBM#ba6T)`i_aFN%Bj>NRO(hLb-|!ga|BoA@jt-iVGwLosFI4mPQ`yi#rsP|(}MBx
z_?lEfQciz@J_?+M3pg%*eJXoY=sJQk;swBYm*8wR;6Tm@4x{ReQ5|*#EG%U%gRNZ5
z+oZeKk#&ez%iR<Q<&=hkf5=`(Xu<YRu+`gDKSvdN*ugGS8~73+#CH;U#CP(Q@p&%0
zd)<?OrpsKHkLYr~F6ZfTt}(5^dfyYwP|(!sUe}0X*w^~=nMbWWqE%`2WN-|-ys}3Q
zK>>I~AeAeHXDSVO5++MGb#(%Dbu2#k-~57Pbuf9N9pj7ILMsU&fzV3$9I|GIv%GRI
zdQf>}NM*m~()~wOxtEn4QOo+lim}fLC)l^;;W}1aKZtZKCV?xq8|j2zWk2+xhNG6S
z1E#mKUgqzGU?ZzF*i0w|4cVX%44l9*#{nGc2*;ZV$8!xF*;vzRdMg`ctFmJ(1Si5C
znqU^39buvbIgGX@cVOvEh>59=(x$~r?AGuk_wywl8<;*k4hD(}lqWmy>eM{O;%3%x
zYYwH;rA18z0VvW|3e7vW?8E%R{;F2FCry&G>&AtSA|dn<&APki3R<F-G+TShwgx>-
zs5^VnF$YFDq*H}cRAIhR0h-XLP#R?oB_WnUvuLuB<vorQaO6laGDXy~puN^xWtY=f
zrgtc0SF5&Cq-9pw<82X<aHISAd(v#D4E#og#uC`^1a>rm-Cbg$xIE3azgAg;K8y;T
zLuF=CnIbClj9KR8boa|6O6GaH1>7NE%_9O8V?jy|o8M#f?=+?wFa;8J_w!<qK-BZz
zif{9TLyezEV7|ti6ZGYUK3)o#S3sevOu+PrwDBUN4clygLWKLe&+CeJ*upde$^6;)
zmVi)}f<Po#Bd}uEIoT>_OvY#e-g)oFJMG~KY@y4$$Q6dz1ml*tGD}^eFINw)QGy!K
zDg$Cpk>EEa@CAKckPuS%>^Kf`!=vIQkp9E!ESQ8SeHj^SIy|RUa>FjeWDitw9He67
zi1kam!Qi+k4DL9B32={?QY6Ji_H1Mix3wGDmH_`!n2l1|<6e-#{@A~c3az0T@iEPa
zr)WmF=ZIlU?bl}YA{C~~E(ZnrFY&>2*`G|J!2C;LE+-t7j(uD5Uc@?$rN@E|;0sjP
zn?u#YqiehTN1T!_ViYDjHvjZG32Q3Yk(FV6$O1{|)JB{)@#FhJh9~Su`f3X`;dM}B
zWS^&RUW5$NokQJd5l2AR+)k%#OYymB(tg5`J_XtoAU~88juJd62*;W}UFQ#+ZieNE
znlr4BGgArcI!m3MZ>|*d;O#(VBc+->=}z^cfO;{BdXZY?lD&ZcK;h{IHVXLD1$^oR
z;5&H0fWMIv^lp9_Glcpj=-F?G2IH6tB4QZ+vZAoy@e9%YYF3j7J%&J#cfPOdjjafR
z27ftD{Nv(tz;)LN!=5Q)_!FX39!hPR3#xV5uBu;oFO;$(L`<0?xYyKKO<f9nhZ78#
z@Vy_O{A{SO#{3N+m~GaZC%+gPPRAFLhhnb1&DUeP^M}!JqZht4t#Y<9D;w0N)2v*4
z^F?5;YGu|G8k=w~R`3ewqk0a-g}x&c+&X1e(bo!4{B(h<lv&FT5rj)v4h67B?uYPK
z`mORg0<F)6t|YX+7`n=hy;+^D&dOs!8pdq3rXL$~LBeNl6WnH)K8fC#Rak~ST|WEv
zVjl=8ONQCc%nR_l%><O)NGL-eQw8oISeJuRUP46*6TTE4oVtGf#_2$oq=0GfqH!LS
zb~mI29rc;*!3k(6R7a;!hQ(S21dT-RHW&w?G;fk{GNzo+!zV7cV8=Q{JI*B4qG_=w
zeke)n*Ru~<Og{)#uahc5o2F8q?nefg6Dwm(A7PF&F`4)5gRMSkr9*g~u<Tz+2Yfi9
z{^SQBTEEr(5FL{eha_<e@Ye@tA%}Pj`;HW(jJh-)N(TWocrSSrZdsWg9x^|ir429E
zwOlgiN!qYiND68hu-?rQMGG4Xesvgl=#XVVn(P57T=t+rcGM?3xQw!_(^x8~-Nuf7
zl&99gr+%l`A-a-PcandS1_WZ{!-T!=92_v$leFJ2;?B7J;g8UkGwi9eqOCG#IiDuh
zYXTCtH&Lcf9*LS{Fh}kQ)WgJzJx=xegz=NqwtlT4`YXaf8`Y9lIx|Dgf|k;0%PQ%#
zWt3>PW?M=0VajH&6~5YdLPyUVhOo}UF0bFS^3Bs((IzTXE>2MSPmHFbQA#V^<82R*
zRG_Uplvi~PYEpk;C5%C^JdU*Z`%PHxdsor=<nJ%^lTpM}f6x^$oUM}%3B~w<OvO5z
zN+c34Wg1qW;kNKl9An`8H^}?Za`il=J(qPVopfq@P}nkrDs`H;nHb#`tQ$0W>Lk*5
zuuU$9Qd`07O~g9^{)0L?{C4s#Dpu2uWfz|&|9H?#6eXh0gs=cnle}f{5F>@n1;p$y
zxslV#Pd>oZsBQfI@Z&m29&|+)W{V>LD5Tc#6;1l88SoQ$%O^d#kj#hj=q3DWs=<!Z
zY^zlk4!1+=!XZeGTC74xz6a~5$09o@$9cwC0QS2=85_c}l7MDf?TqV2LA0RmG9uCH
zalpzcr$>X?-VyRJ=$i|j(UNSh4U002X(Lc$3afY7>Yb$*);p_!ylM-$Uk;9};1w83
z^wfJa?1`6*u*w<Kx`!Yqjicy%W$|Zh*6G2ShTUXSYr|v$dGs3)r4+<W0a5hF<EO!U
zOX<>^cF3*lZ^HVSoVS}cZ==KX)I28gFszu6%}B*uiuyeP($tgV6FPV~#P%aj;{055
z{DewfBXqL{Cy^t38Dy&1(w-Z1zYOX22^22uIDBHU_!S7LmnG&24gLW34G$n8c0WF#
zHUWWo-p-XJbe8j~?aihgtIuxQC1-%o3%g;E*4#l}3l4!TS!h?+V3KE+^Vg1m)3ML)
zaM?O>qQN>X#oFb{J=i<u2tG!wqCvIBRxL4x;4N|R<ib=6+r39uk%ng#l0>j3^}o3F
z1rk8o5CuL_E+4EqhB#UMh4GCkxE*IgAdi~eL?yw*s!OoEDWak2J87<tNrJMUhSJ~w
zSosT<LnDks6}z|lP7`2ul%PQ&%TQ(t!0_e~O{LoLoY{^k=jw-GLKvtd#}(`LMrxp`
zl@3s%*-aFIg9n;+&WGt6llnL&$#8rV1-=)}jtIN5cCDI58>j>fPH-(Ge7yd|nv0&c
zK;p3B@lI#h7TJ*>?~KU!j>J3jDeh|?S_*-u`1|cBy>=HoeFGs90ad&}6C4j!(pY4{
z-%7``0=EEn*Mb3h464?rsbc-<a!ddxM!Y`S4_{MYk6v8>5%JTTN$H<kFoT5)X41y=
zUx;@`s@VnPyx=N`x>Q)nyxZMPjmYSN;gD9B;=Qkk9^@4?%xoE1THG3M%MUxUB(QS4
z%}1ep3Pr-{S(1;m(JUzfu<jCA0W-I&Zdm!fc?GLGSYAQYE><NC>Ol#1nyq$owLFT(
zw|!tOuM+*`)t`#)Dys|Zl6-SrobSI0nii3w?(cjTh3ypX<((9EB3!)pWx_GYS0&F&
zlvzLA32efn8ix{o$>>l-VM)=_8qe1c=z0m61W#GlbSfQJ(`r6wKCjN3H4)ukW4P~Z
z+KyJ-FRy<V(;mx3b{`1-+jgJS@IjY@van+4o5B#Bg4KdN@qHSU#t+Gpm9>wjuK?eO
zLNMQ7*UsNZwwd?<B^vVF*kZd{YMjkA1H!YEb)unp&NZ{EqLl*`%w5h$#{_LGcRDT8
z;`1Of&W@bQ2s<LDvg8p<xI&hCOmT5A{;WiTx1~MyCj@HQyx~u-m+enl<*Zs|v5=Rs
zpHW8R;^C4-S&KQpOj(Py%d>>fG{FdQy@D-qMau^I-cy%2tI8Rq(!*Tf5UtWJOOj}e
zNuh!I2{PRS4N<>{aL^`-9=Km#JQ93}{X$ZJ&oczLfslr2)I!Eoh!MyTrQ@_^3u~>M
z-RajQn7F$9Nk3h9>FQXxA#3$YCmCj8glXEldPL)?2)fpQvx_&1v1($1_6SW$FUxf|
zkHD}hx<x))XidtgLg0C7GK|EhCL0P`vtQSqRCKFc_X^~%q?{^}OR&>IH9Asr;80O6
zKBHLy_9apDE&_I~obj>;(b)AETu2DV%a|;*o~FN?fq*t#8L+q?U{qnC!2RI86wqz%
zrXmzaYpb)AQ<tyBa@Y+clr~N|bt9$x7%9O&!X;VrD5qwx4k)LVu3Z>i2sy*OGGF7<
z{YO|CtV~DyKDYTf+)@!N^z-6feQ`|bb?-oqgK$=~6=~3=t@JHhu7a&lbHtuUrqa-B
z4d)RpgL);75}kTkKb0iU)}t8xN*EQ7U?ZsP&`ZLW*}^`Q&tPqYIUd#eEjXY!YAQ^a
zM?s+#6}Lu%qu6%ewhwGk*HyOHnlqHPT-bD1Yg>r4(cp3|n{Ds3>L}ndN-VITh^c!X
zcE4OQ(o`Yy<up=U^shp6l}4C@#bRw)fV&Vu?gUf0UtV|-b~kZ*lypv`!bG#e7V3Gt
zq|hqk;CTRRb2OM+!FS<^9W^lX4Sa>FbXJhh0JLhMF)iysNa#vJM~RnAw1>w=OL7Bz
zq$m^2tKic`nH|t%7Z#```AIoK`vI{JRPG5#;UX5i3Cq$Dmf>Bv>`tgE0T#Trf-MY`
z2le1J#-=R2tK<e^Ge9Z{r1lAb;{u4l>hvK09f=E8aua4(I`epg%T~DnqQ&oQwrA=k
z0lj1ys$uR_ZH01Aia#0bTGQcrb;zxp%xFlDv=udbG)JUuTC-={=k}}SH|=Qnz&ICc
z>^O*tU))N%qwG<ed|2hxrkUci2%oe~dw2>3%3Nx6Is(F2>xlYuN%c~j<|3(OZ0R~U
zT>S?)K5}Zj>}(lJU(>N}w6w<~Z$MVs!?_VSN{)y=OwCmU`DkMM4wNj7Hc=8heA0|0
z?P&-ZK(55O3NhfTdZ)h+rvR{WCyIBxl8-LJK_3+(r}Eto%tD*)m)}-Su5~|n3Bv5P
z$hL#UyIOYQY^P;qmrqhojJb1{UJ$*Z#3voW-|P6BHP<KY!}tC8{uTZ{$KNUZ4fTVA
z@ckOTe~Z6A<L^2AjhP2;!TC`0@ZE#I3jDo+zZ_`H;X!|Cs5=6G=b{eQ+6SLV$0UEt
z5?hR(QGC6KTVq$6@d)CPhQ31gy2(gsuIY<mfzXvt4s3Ctm$6)myp?Z6GDV%WcN^9(
zchf1FzHb@4W*B+>d3IKrhb<>tkWkCI8_rW2x}^sAF?IL#zznOrWraUmWjDwu=3$JE
zxRidoyXiz4=vLY71C3+9H4~$Uk+{VUG$8e2KS64wy&JIC7D5%(#l(^`L3lumtw1iU
ziMAb3CXi%%6>3oIx+L@s1ih?(aBhE$u68JId5o@+x(N%S1r1Wal~2Biooysx{-%;L
zkQBM%GWndy8p{-Uw9;uc>NI}x1yp$h(#Hrzt|*rCQ07v3B+8(X#!qzE?~DR}69q02
zKrTxHK`Q_P@J5-9qRe!6)1wHKA}3Y*ek64Hx07JkMj{{tdlmvD_@lvCbLEG`tHnFC
zA!hE=mcB0PSU6Yl=i!tgj|ITTJ#d#&EBD3Lqgr1VRSr)?z8(4Nc8I)p!q`Z^^Gns=
zgL2vr5XNLMBFh007>6%P)u=_4TD9`caF+WO|C`B5m${$!znQ8vAyrzy?<V-&$)cGE
zCrd_~t^%iF5mFlV!H}*r^hj7H;q)$NvP#}*m9(+STlN<JhXHI^w__j5%XN95F8A=I
z!!ULoxm4EuKn_qu`3k;*_L8c<L-n^J9+@#&cIagtS~mDz!uh+uRWIWJ(&F!HCRN#6
z+2Q_4DOE1(FD&c8QWcwyn2CKfIv>c19`JJEgYO`T)Zy%G3Lpclb1M2U6~U4j`x)pC
z>Y_Hp|63lD(9;B{vOJ?)Et?I}HBpt?uBHV912=;Xqb4K{@A9`&DE1sa&#2Zi8=|OL
zRO=M<qSBB`$qG&1+Vpv5FAV(6W|Rgl$rHN#{H88!oz5|v!IARp1O@?jPeg%q6j+7=
z;_Ac{BJpZis{1v^7NEQqgr&U)-1p~$pg2?}Mc)D(YH8o1#f%fMe^AFkb>>iwx6oHy
zXOTaT{S6_5akmh&i{+EO8;BgTM5DwW6+vhq<%C8<`WDP@32s{cei$aOFp}X7Y{1@X
z{D3$g!<2`^9Fgc${ds*|1TlOu?P%9rC|IQIfMAhUutDVV$+Ar^YlX$b>u+6ybIL?v
zWh<5eBQKmL*aoTx$K9%MCh<-sZz=18j)9}FHK+;|2v;*s?l(a8bpZve!;w?B%Wf*N
zc6^urD5Yt6kyB9IB2e6hD{uLf+Y(mgwxia&9b(miR%Iz`HDs+^U}6KF5vx~SK401|
z*bZBB2tIFF>)OM87#*~9uDP7m74gfAGN~o+d?PLpy#WneNZmYoAx`DQya+?5LjUuj
zdr|KS<x9+(NY?$l1?Lclg%S-V4U;CJ4NIa^#9uQq095fGCEEqK2KSRz020mXm(<E<
zSy`)E_LNq_{4Xi~m#nqSQxPru*K+=-gN6$uvsr1_EUmeS+!UUTKIE8>i52z#tG8@(
zgS#cy*F0v9?tgYRqN~4T{-+fGQ&`c~K7(0=a$tT|_AD4sX=s(gS1^AodZp!l1OEaO
z&B|5<^B%T}_tA+c(X<>iO*3<8Kb#=whhv*4$ynEn=_{5t4pR9!dst{Gp4b``GG*d$
z(5jXR^`%y|#BM?kh|8j)WJc^7#7(3E{1KrBg4ozj9BGl(waSN0T=*2q`VUftq-tYB
zlV$)lRo!4!aojKf4ukTDW3V9q3RabB+(pXu3iIH~PiSWeoor+FYd#1<r*hJ>))hWa
z`E+R5y&#;eU7~y%2*U^HT<rojKbOt6!!F{>Ww0c%KrWku>mMQ+wmnMrdFUcZ(nb-Y
zJv!`(0p5oI2G6uDH8waS;6eA#$l`3Kg=h|nvag*{wk}^J3dtq_0M|M!KmhuiR6(SL
z9!l0{sbuO`omG@wl}e<t?<C7!pGp>GF<gMVAeBh<L3pHHc19YxI|cZ-!D%7tkx0%=
zB@;|R1FUdghe1iR22+8`5)F*987UxyL%xytcQhfWNNG48C7>S+N)t3Nl3z_G8#FKy
z|C&sswulBsGMT!K!6CRFBT-EzQW`u`s4Y4xNwse=(rz4-CTL(JFGwa+`%uZjS&b*L
zW=Uj^t7#Y9rrd>N&NSsN+;4KbU)kk;-d?#I!s)zi#7jWqnt=7ZR~cdiqdW+%p;Zt2
z4Pnum$#RHgl^??_FdBJ8y9ST@74q7#mkB`a+9;SNqGisCI!iguA1=r75YQVquU&X4
z8}`ylItjpzWk_VY6o#`e0S6QBXmQ3HjUB-xoGGk6OBhT=lXccW-4JFC@DYHA?Ym*Z
z6RIW|%3)VEidm>wMmaxHF}N7e#N-ieliwAc_Ywko(KhzrIJqE;NCY=^#W8Me7h*^h
zUiPOu46`22w0E>*)~bePt=)ya#EAI42F6z?1J>2!wo+5T&vI3HKoGpn8U#k33cl39
z$V0`_BKP3luds$p5q;1mi~TEATu>2USw!VJ3)O^V&p+K4tm)JMIf2pm2r9}rTcUG-
z)0m!B+t}dJrB!J#J|U;2($(w{^$?+3tI#hK<sh0h5XF8lNw`oxX;z?}U9?BH;BZ~h
zgn^odEiCB^+TbkSi>q?*e*!BJ32i`(d~3D=zd^W6^wxOl$AWCGv9+o@GIK0Sv-a43
zqEv~}Wkv4FLx_`7L2i?x=M_up^eUt81?5Pm>yU7KnjiZ$O7W)ym=XOyHf&l^vtFm>
z9?U)#pARmcZCLHFio@&fL-;e3hl?k$1X_a_7#!~7qCf?212}5I7!Du2Q)g;326X@q
zt~+)^erw|en;AosM6c<L$~NF=7^@6g1!)r2IHTnjK!ugTx*(h;oB(^V?;jyTS%vL8
z`|q|X-I5Pu%C@EU_)14FZM;=~Z}DF8O&CP!)u1#bxz`!@a8gsUglIhtjn+0^j^P(Z
zKk|WsQ5~GplF{tK$*@cDyWollRgT7i9vGo&D|aA5;G&hiFrSD+C(%_@4AfzvbX6Gq
zL7K*5L9x9!+iK{A>6=D|V;n>*gAYS?YJ9qpPFURqxY4qc09|K=STN{I$B<|XEca8?
zp>3$aae!)!?$5;NCg@U-XBDB_hy?h^`C)v|jrvb|<wQeHi?cZc_u<K}_-0?}oDw9i
z)~J)zt!AVy9yFRbM1Vi_O=3W&Mg6@7!-<m_pmt_I6N}7#VkQ71F<ohhjWa+@)42tn
zzJda_om^`BZYpruwljNy2<)t`ZgWbNFr2_nxvU@?F0#3qJ7j0(uJE$Vz2R#!cio-Q
z_g-I*@*dd$GIt=hr*E&aM^gGMEVk8$ZlY#!eCNTPyLRs0`L6e?m6><iy~kHN3Xh-l
zmG96e*Y&kyu%vLh2?cCdgBJUa!!`0awfnVJFGj0{Cgkq~{0%_g=s*oXRez%c>1GH1
zDePG%d-osq;AiN<v2W=@G1|TOpXmZYPjy2;i=4<`JuGs<w;BpO?%cBOw-4dV{kyie
z54NZB(zcyEhqbk{wqL&8-|qf%_uD5==b81|ig&%uMc$`|J-Rn27TK4e;5B6Ko!ndH
zlVY<mFpVeYj=)&~l0JVONf#jrs~n=z5=75Il(jYOYQUX?z8<z+`5=8;zwJp2Oe8F?
zY&vSFHN6PU6ruiF1bqnBsx^tQd++3Cg!kUoyMM>thTaW3;XLnN_ab=VNeg8@bY`ZJ
z`1rRaKKX5l&wN|rOW&5*`E7~a-<J5^w<R7PoCs26qDMWmTp*8TLr@&Eqf_7b7tybz
zw8)iM|Drb!yx%ae_Ymn9$-DH?n-d%MG(gllH*J5z2SMgKZ(HBa4esaRU$!%|trk*d
z&us}&di{ERd_U08$0x+6g!1}$J3d2BeDITFaa7PADyHz~MtB8<4;kSN6y7budp`{6
z=fD~^m73(MunC6BX6PHyn@L>7ed!T7?Z5<TmpRq4I9)d?I|)yxfh&A_Z;PAwkRV~#
z6gX=ef9$-%7f#zd@xb&A?JPqTx76m_X$___dnfGqsJL~*frIb&Y%telrQ;=<^>n`P
z!BK_#0Xhs;betwA6oC6L?7mnu>d)1z4QEFh;9WYZGi`Dykb`iCB-#Z5>?E_kD_Zjs
z>-r_+o5<pKz{J&T8<bMQH_*P$??hSUq$KacyFKz7+NgyswwW0Xur3!hr<H0>EB0n_
zgrb!%dEb){b*4d8_h4R{eZ}}G9fyT!nXZ*&)NWnlt9`NVO3hijb)cm7#W%cAPGG%q
zvXixNLX6a^4G0|4*VaO*T`Rly-sXD0=J1C1{fA@Q(8F5qtM$W}KUbV{<YC#2tus<(
zT5}}+0nBq46byeza=|Z;KKScKBAWLA+@6{v8}|5*ykB#4gO)D9AKf6zL1n1mPoV7k
zc-sRPTCS;O&f3gZYcuCt@n^?hn(R7_k2a+i*VM+tObvHie{YwA&H={}HcG=uh-^UF
zb5L{ROUpQ2D@hqa7dVAuEa3@2w}mjAtIIHyYv(t`8(a}`hEMCXO)lx%A1&L*I&q-W
z*F0>t5g^A5S<^;c)nZAGg{_3fA{S!;hndQK-d8aebce!~Y*FaNbvJ@cc)G&4(Qoo_
zwy_TYBPi4DvK!`tK&~3dGkw{V=?>ZOyG(9CfxB6D1eMKG1NpUTpy0nK5B}Q}coRY|
z=Nf#PdODr3ZzUTlD}}p1UVU=(eTge+EDc|2tW8|Ep*;%dlq{Im_kqptB1TTb%M_({
zM7t=4T5YNOIZ48jVpcbluc8YakyG=+p2(?N<YC&7#ooS^xB#VjB5U=c@Ru!~8F2Ns
zEEc{xNgY_}*bXqLJ)LT|NX`B@CfI~EFvPhg5Xx|3sO)bk%Z_|-pt-Csa-vio&Kmmr
z4m9a&&IMa^seYH1i<BmPZMryz)G}bZ^2_#lIuvr)#G<gCLQgNp!$jBv=6EoJJF?+2
zUgK#T(AUD~HeIMn>07P^#jq);!58Z<ZpB#~JAUjheLD+Ju$}k!;eHM4N?lVDcRd>i
z1_syvo>Bjnf2#gktXra8JFy=yE)5srbDq2DY4lnd_{#mjlN2CfV>;x*^asZroNkB$
z6WkBpk3ds=?Wj&$QAtZ>ym>?kj!=hCtQ6C*uNZcv?b=WzFOt)Z{CU0>4{jtKu{HF2
z8(a-}5b1?)u@knwC3Qvc9e<VPwaa#3QFyGDw<tWCM4LPU*NHuW7PvujCv5j90FQ_o
zj|{|%;65hB=qwy9wRn7J3ZLtCg)eR?i#KPMAe50zlj8!~xdybd>~j8skQjibVIo3?
zrnUHKUZJJPq5R0JenR|iXWxDzkcQR@OBx60eVNtiuh4mkHcT0~31K?x)Ewfxxzp~I
zqINHxRfo@Ior33o*>_?g&gINl^N7VrP&;v$ec+5aON0i4Kr?N1iR-h(pj{4H)0(d%
zA4yu*Jj=;*(%k#PkI-~40{8y-GjMOMqR*qfh<=Nltz{~j6-p-Ye-50{2a3X<!xmWU
z4GzG{3y+>b_nMTB$Ba2J1yE|4RE?Fj_giK`Ei22eZT#Q>w3o7YtulBjj7v_1(PvDB
zOo++&8FS&WL381K_c!Lkx#nE>p~1_m@P!k@M+IXzV{{&3GQC;wg@`ElLJPid+IYKJ
z@ZBVL<Fb`)vZS<Qm(&n14Nsyk@c1r_nc(pq6!;b%HzomioF)Ny{5-%Z5^!)TUW?a1
z+O6RAtYj+j`*Gs;$FxyK?jkv}HdS;U-53M$p*MbDvi{gJS^p<p2J7p@{Q270Md7o6
zD!4ye@GC%p{T+kZpL%9s)CCR{H*nEBTA{WCf@T=|(^(ifV4X>HKy=vG^5rj#wk|N+
zqRH{g)Z`c@GQ%0TeFzx1y@#$;X4fi*@@th>{bq0PcJ=K~k{YXim#vV9^<T{w+=ROa
zbJu>4m@(r|&zM@Jtw?DfFcZ*5YS!#c&Kg=<zkSZ!0LASA%#<$2O$g1sF*RqPSJ7=M
zth8YFXv03dktRjx9H<`(zC<T_o&LC`)BksT_u}t3)TkpbgXlO6<lrbA{_ImL58?>!
zuv+#yW}W?0bIoWc2Mr7noGaj|;=}7qevWE->;-UaygfoUZO_56Sv6MlcZ5fYn>h4T
zp`3>1EE-%uCd*@=u{2lyy}7ba6!;wN5mbLR{9g!aq#<sRb0ZCZ$2(-osjJ-UB7m)&
zTI62$1p>ev=i~l%Z;zbUh^;sJ<!<^nz-Wr&0`+d3;nU?Q?YD42aX%m~C7rt5{oqef
zK+%f8zH28j|LaYAYt`IvhHy`c3Dx&aJqc`GEp-S7zRU5Y3=CQ8Vd=Kks6B$~*y%Ak
zEb_|z?gxDcuu)N*16Fph#ZZj52VwOxPDEh($;6pI9Y2#>0K>7LoB6ln`fO|n;xFDz
z*bLwa5n7zgc4ZsfCX3-Yb2B;L_~oTt{+DPdK%={sok1U^;U%~>V%<D787Cn`*j|g)
zLoPsXli$s`<ad+D-nH$DX8+9gp3>gUPBoqqTf2Y9P+PP=6RF`ILpSsEvLg{;C+Is6
zuYn(6!!ROWa`0on0|JqT<5Jj<PYa$ADto<l3q+?n8wc;N*W%K+@nscXR?6<0?HpLE
z;UN*#zfbjphx|B1<QO<fTMELhao|i8Qh7IypunGnZRNIpuHuqH_1=bk8?c;Ag}#AD
zh;X61tFH$(_Af<NH?kUr?!9f_-rKtOpP-@|lvfeMj&k1yaf&tsDSHl56z6uhFoxGR
z=sp-H=N?$+_tEX+gX(NMCir1=!5O;%1g8GtXgF6|Jrq(OZY)W<4DNyU>ofSC#-s}z
zDYu<5FqFJmIaMnENuV>1IUa|!1|68=HzIJbmN|Zp5D_JIEpbN9LzGdu4{!E}07~RM
zCQ4Kuj$MWl)Bw;jW(FE?H!nmYe5c$^bIk12#1Yw(MD`+g(|HIa@py)S6CTfr0O9e1
zXa#t5W8SlzCn<yQcuE8akIkY4@c0W#B&Cs9li^cJ&yb2$xyJdVJv?5Y`VK@8Zsy{%
z7Vf(hdc9pQhAI73x}D#V`~KJs+Lcc_!`UoT9m?=t%OZ@zLT9bI$f;cb0|1(OzovhK
zxbq6zK?;DxRRh4Du^Zq~M;2YUkfV_>q+OST_Py`i{68o6Tpy+M1Toa#Ci(sf-VXAC
zkHM!9dV9nm{ErB|=lyN}zZ80f;))R+jr?Ds_umkD4}Ja*g<d6{z3y%JKUC;-k^~`P
z^Qs7tuz6F6l9bSUi84sow2A-;n+{Rp|52g$9swsj_KN`FaY(e15_;W~L3q3)0)$78
zDDicnC+r*lw9MO$-Nk<`^N0xlK;}Jc02nOuLXdPntR<QELxi^1rDPuVQp}@6C4!F(
zj)QO|$ci@^jQ1L_kJXcB>5$o^6OtPy>`72fv^3rCq$|`o2z?nRB;tM+V8rNIHGiT!
zP`oQd+jcdFOhI(<2?wO*q18WtsqqGU@N?d#Zsw8G%v#vv5*JoFwGoKHIU8qqr!7c0
zvUJeJh|JXeL#3k!iYXZqGq4xTRk$_m!c#I(_Ylg}Cc!?v$4Z7`?OarR-y(t|MNjcE
z06j)jiA5rS<pa;Z`Fn9p1BaSgcCC}WZCKmztWCTtV%(I(v5;y(sQ_Pv8wj=IrFqr0
zvv8Md3MkREcde~&Z;5hh!WzemWCaP<6_IwtKY4-rhSTWmPWu>1*n(n1A?Q)lfs4{a
zm)HQb2gEIilX)WcIpXf;;U|v>99JBcR$aff+fxP-!WpflJl(bnra&~pUX5n&jAoZd
zvww=?Y@{L4*2cDPJK^~wh2an$w$Z}h;DWJbC~G)UNFnzF3utZEN33zYLV7&wE0m95
zb2gvthvH^u`}_8qdY<D&Qul&93%WVv$iWTBhq3S=8Q{MpV%m;tP^Ls&7~~7-3doiv
zeBUQ#1(Zbo{yhf{K3+c_sLVsNYb$9VvSzXSmC6CQ{O$Gkq~I;qE{`tO%lTv9Qh(K0
zD4B~z)$B8?il*mL$L@fJ5iRR27sK?Y7!;DqY-p#pcX4h8>+U{SKNiB0FdFVf?&pdc
zKPD<FaXiB0Zn_LrwK1aNk4bF0U+&I4M&?}G!o^{$_Axp(5*?uS*FtIC*J&-%{rfsg
zESDJLpT=sA6vAGaVgV?Mogi-IzQW4v!uOi?t{F*8QMRv~?}F+}Oo0OSTrlpDlu{(*
z!~Z8d{TmGNX`a69yLkH7Kwr?+CHNV8(xu?q!mn}lSw=j?)tQL@&vNzr|0Y*YgHrb2
z;_9?yh5t>i?!;5YqQOD+{~4~neK1%5Clo~XE;044;<&9cTktjP2edD>{sZ2=h<N*4
z!P}2xQW(7LetCPXvJJ28kl~A1`~X<|tR#!mJ_o)aFqruFS!=sWte21@4CLIm@wsps
zF*tqaNgU|!k_5x&CK>*==aLMce9GrE%aa{j=@3r>IkA_OhwzUs#<V%Aje)%hu?<Gd
zr3@tGbi-+^2*L`zITEPi3Uaa5j0kb8f_yZnP>nSs){c3Nn{uzi!5)sezB#kV=W}&0
z=J~o`)0A&GVsYR1FhbF?W7^p9BnG1E$(2QObXx7cImLThsx993HOG`~))sn}DJ^n0
zoK|)VhJWEr6pUmz0hTJR?rj|SEgF`6_#KJEKqCn$l3@X)9W7ZOA<?^S%@@f3_>6q3
zk^hOAuTJeg2o&H@vWWt?;g&ov+DLI2GI{hOx;wQ4<2mR~w?M=2a|-aSdyr?IBVcm{
zCk(oPjt=F<6~kF)ym)wjh!5V7g{)h<fbzC|=yX4~!jick57c4Z_h}iFYDD1VxNfif
zA2@dq4jLFQ<F2L?(iAs4p#^ApLB8=>w2PIduzxXj-lOTMwoj1+IY%!xVwcWVB*0+1
zA?s59G<A4DiF5)Syo9b4%7L>YGzozaIp&7mL8p0?W_3rt5t&JiG`3PkfZR0rm6#2f
z3r6l3401K^w;KLVO2^S_`2CYf>dY+|8i0FOfv3X#{M7}+%PA#$P|6sQGA0lTP}}c(
zfM&;m&`L+a7K-3H3TU6~cY_OPM}Qw)@J0}!R?s-WKbi!-C3l@^JOZTIQD{GSL!*k{
z_wT@(-k|$4urV$+FX4BH#3iuRA~DE+gUSYJ&<+S9oa4a)<k+x&eL0K>_5%I|3T@-?
zRO_belIdHdeEir+JA0=hbR-O%??rZi2LMmxC^HM-XXT(LG?yCqH+HNhYR+1XZsM^D
z93HuwUIG5fth*@1-Smuz7?%aVABrFrZK5jh5#e(Hy>40bVTxDq$BolN;XHIs-Hc>1
zT?D{*h-7E<S5#KBl<=AO&ho%xE)c}CB77@A33nD;TXZALdJIzGS1ckxB*@oMTjB<I
z6`%i%Nxj>RM4Swv96XazZW)p^uZezmm=Vy!7gp&x)T8Q+)KiQ|uF+>b>?WtXjH&=9
zkqAW18763sA?%@vg~^kQZ>Kn{4+X?oNDnr4{19CUH3KZ4R!EqK9u}BfhDhkQ6x6%X
zAYPlN*XL19(iY-rN_q?C8a|b3z;VWSxM0})@EEPYC<vaFv~fn*N#T)3Se%>Sl@tO-
zWg0sOlDJb9+Du5CFEF(6dy!n-UN@3EGHDVV0G1eY{HMOq-77ruk*Cb+Mjag7=s6VN
zQ(dqN=DdTTA#@NR{YD;x!Y)0h2XQ@TA3jNI=VuY*l#dp%yf|Eb3{7E{lgLTZ4e1uX
zZcsWUVBGI8lG@jcxP{-Cj2rYOVdYVC)_0>p%ch6$Wy&%5Nuf34B3`ncZ%acdI!`?a
zjMbdOgg2f&^k=JC9N|qz@Ihm!%qloUR9H>>m`(kl?50UbP;+__#JkpLx147@jge<P
z>e&e-hMaff7l)`8?43CT9v#LgXA1({B4Gx>1e!%qG!MN#X24QK%0^1wl#350T2OQH
z5WcQm7Z@tDs8zVfZ={CcpZ^54D+*Td&nN<DSyU!Dmg3M?0L9}qNSCK5;@iV=D7x*C
zwStKX<@`TTADC^T>R2T+L%l$qpMyDyUuVD_SAP}%6p!Cm`vQEWXqQ|8GecuR0e&Ju
zZR4`{0M1p-Q`O`5_pzO<3n#0obJgY8Chp%TD3>Fsn73YcPyoWrytmp*hX*x@sEoU*
zF4cyCqv!mEc~rCNHkOIw`uuQw=8*6)HX<@(oP3UMOJ$4;+u?w2W{gC}@Kg;aYEb6q
zYy^Jy!tBSt{u*ejX`3XV0Oz14at;d3rw&b^4hd&hycI(2+FGQ+?ZTz-mnh7J;xeZ;
zcjh>GJX*^LR`EX}m1G)~H_-X?G@fS(^e2YxGq02#;y4>M?jBSF*A`4XpJF4SjOb}F
zPLB{ihS*E$g4+RI!>WSgFOx1TGjch+9tlYZEVsCSBXkdQr?AoJUf2y?;BgwKU3drY
z&>$WGr9oxpj9k7<_CR+TCugvXPRlq&vTAtfW-bT<ADGkm%Z&VGlz$;BY8i^<e@{|j
z7>Y|{a7tujnlp7t$Meu^Ov?}>Y^Ve@@8Prg9ph|MY*vN?K1;3ApC3Mk&mrL>3`egR
z?g_}l3GV3v<M5g%81XYRe=OyX9+aOS#xW@Xh*F=>=&%1Xh+u2QNnU_I`7471?4Sp6
zz+MbS=!e7s=i@#_b?i07!2zN{8xC*3fe{$t-%-Y3gbHMjlP3`h#0%}n5WHYiG%@|y
z#B@9r%TM-mB00SF4`Pe^&a8Y!Hy&jpYw7teB@IgaVE!O6_$~ZVi(k|TyNM_^@}+e*
zT?kn^m_^oaGzdUE@;k_A!6THElp{$N0i<OzM&fSkIK2CoQQKu1Cn=I$yE@4xm%-tO
z%3MTcmf=lrDzi+KnV^lP%)70)DNk%s%ZAW?Lb57W!6t*_v~mQ+jRWo=d`P&Gti@WB
z8G4My=e~X<he)U1NExJbym6jb?Tk2oe*+2-{u^EB2m~<h-|wKbjm}hjE5!{NOoh}e
z%Az{p&dPFS7DXkwUYRvP1V-};G_i>yLiW8xh<t_XFxADM!Dw(cWoXXmJWHvK+j@fh
zg+C&T9_^L2XoF=5pFz!0R|H0Tg*W(aiGC9%hpOU;J^Z9tAGLe}=Ol2R0Iw%70Ag80
zKhwi(2!0w}Zm+YeXM0ejB*;H_RLJfoQv3wehy?C1(VsxDs73hPGOlH)HIni-d+9ve
zfgsOKVHndcNw!Jl`Ze4)I|*#ia5#<G)O5|hNa>=Nr&CDmA4JL9|Ao4iZFn%LIfT0L
z>NWNu{|2=KIJ-i7h+c2RQL<fB-IR}F<R6Od*Yur0u*~VrFy1^-`ZHD^$L<V#AmqhS
z@#|x7v4t}oF6iT@O6axDekRR=!%XYiD~%^5XE`Wxws8q>vJK~m?sat3JKuONKQ@5y
z<g-!6a0FHO9pOu3F(f)}*Yzuveuw*hk^p)^(^V0lbSM6v!(SACJMedQqfa`H?-#8o
zgX3)lU&2`>wi%&h>N-j#wJb)Dgd|g&C>7pGlJK@mrZ!Tl(EIL4Cf!d-SK&ijjwaS3
zAab+-V$i^(7tt$8n}b+3#YE*Ph>c9e&PQxiDwc~_ZYpLzw@B@>DZlc7=6Fy++*r8-
z`z_NIskV5Ra>}A+i+sEWbIL}i!&Z4ZfBHY6&t7>BDrb=cXE}cs2@p6@{1O!T{xR3D
zXdKIRoV4Pk*VXs#xp(DjBchc@$yGj;i5y&XG?ynDUvafVIPcq())4`I8}O?Z0;&eT
zq-yG=ky$RlmgKXI$IZIe`k*L=He*ou<@q?HcTl!*`RR|OwUDcT$FK;G06Z`gqzbc(
zUXkOO(Z7_ADz-RP{71>ECNav*8uY$f3AlK?(s@+*+`4iaKEjvMhgD1GkKxgGt)R}v
zFZerJ*2Z9sHNe9L`|}%s7v4Xs(!0@d+NcX%hqP3F7+$fYq|)yjnZI!)>>Epj%9Vp>
zCm^ZeAc1WeBsNJq&4WbRE0{Mhi(A=IJYDKu_W&~K__!Zyc@*!gmmSe?=4`lez$YKC
zzC-(hHyl(s2MfRrN|?08E2HvR?0~l>QGYS(oKa%I)zP3;X-`AS%Fng4@Wh|ee$spD
z&S8UcwKVUkRbSvzyW&5B<9H{YW+>}lyWS=XT$;kbHaWZ`OYzf2V(6~J?;X(~0aXm$
z)rT;287K-4LbQmY;zE9hlhZ|V@!a`@Itb2>5JREjc=USwOc|cw4`k!klpe@MB8emK
zwAG)YJyTYYZb1&Ar5@bi+e8~wz7EF*tSY~PEy^qB|F&B|W2F-U{Fc8Gr&P_Y;I~nz
z%RxvHe(KZ!LO7OCv!)YbyEo&h#vo*e5dVA@g$j_tN{a%lYElKi`M3dfk*}PU&P3XD
zv^E7dHblCIk52Yz1{>8i_YpgdXq~i#4>9|OtH-_6y==34lF>aK&SDVyZf{xd+K*sC
z5JdY=Fe$noFZEc$x3IGb5A2-bRh%C_0R{5!5$`zJ@yxgq&GAgW$bePKIRj6f&Kx3t
zNtyPNWU?J~{*F3d^0^W$0{AU6tfXolf_fFmi{)n~4#TT)D3U|c8ruchk(6)D#ivok
z72u<(NOHj82y_j<9uVSl3np2@>104Dg6k#us45+E+xaHsf#)&r#T@t-L}{8Q<Ld{<
zO)uMfMH()Oup>euB)@6SgnYYbe(`tC0@D0Fd~R9><jfZu>Df?<iuX5-=Ll)Vp<Ql}
z|MBO*8<Tpf@$Ai=L%H6f>+uNfr16|1--CI_k042*-xHK9{2;<CLXsDg*qFxziEl@`
z_fblh-TXzW@B~#DK#?F1QY%Jb<5CzsdXHzE>m)n@`ZKJ+ATw6kL632}pI<^R0K1=G
zZjZO;hfArjMPG#%)xV!AZpx=RwhDI&sT`a(@s`%oB;d=xUebpm;mhOxY>bJJt=dI+
z{MD#c5O4S4E!ZxLoEG<gWs!%+yR0H;O)d&}rUU~Fy9N;t^Q$Hs_B&L-M3eIfNxc7y
zburY0!3YKL!RO;-1Og8ZTF6VMyx&pY1C%$(%<J-mZ&E%?Ul`6>7#_VaJPy|7@C5B*
zyu4T?HhnH}w-D2WqOlf`l)Z&p{hf$uYt2&Hsx40eCMbAY=u&FtMQY|5YUXdo^IzIE
z$u_bV!n}hv^0adWNK7JaTGbK)SA-uf5^ygNIa>Y;Z3J}}kY7$vcM{a?1od_UD#&37
z@=845hjJO3#n+NC2RE$x4Jt(;;h{MDd{9n9^l~Y08Z8*dAfZ^->D_83=fZ2WeIV|~
zQ-W!YuSL+!je>>oQ0sXZPhS0da1iTXA`G0>0eVv#Pl`(7N9W-0+}BA}fan{9=$C|O
z4<Xw5sTcv}<Mc)0tVQ9Gi^6%dV4bT?2;%K}T^x65GtID8j9(Y@Q>u1hGAVy+Kj7eQ
z;HVJ2e-ui88=waW^bZWsNg7}hc#MHgP`UG|+)#Y*5)%b;j6r|=WRn#h$m0bDE}9oc
z2m#T&YjDa7lL17G!FkYoLNf_&F~QYhqHD$oC>^a^9)*|(U-AstCTK=pc0US;S!?AJ
z5ypWq=1DNk_O|fWTkiqI_%LL!vV66fG%IeSSY?5_p0qc$riY$+HXbiv#aJ^-T=Z5?
zUsn<3`rpBOM0kQ^0q&^uL`(5gi+?zUF;e~AcmoDj7<hqo<0p?0!5dHN0_Z#4>Ix5{
zwd#*^Sy?xh=6B!@HbxZaQ5R&R0BN<j#ZlIcWqkGo1I~g;$msIr{qR04H3TeQT`)zI
zEl>l~QI<?rv-3q(uDSq^EOdAJ{8Y4a&Rk0sm<MH)Z54R`4ErcdN0YHE_?ZCla;<{L
zhHHboZxeA?4=bCZ-+`ZFnWC@AW|dR)l^&4-^pOI48B*|TN>lVp&`#v8xwO%*#81Lh
z;7uH$QtrbR=2J4A1mNsCLE(--T_&u1^!AI=F(vMQ#}dAoUOvLJ-1K{{p{r>;OK3dL
z!jU4Wg<01g!aj^#`ov?+=CklbKBW~zUJD{q7Of;6&BLF<#GtrG;`v}acm%3B1c6U$
z!dN!bAmc%WD7_Ie0neuZS+#O|Ip&TfM33|G-W*i&?-TFXn(G&P9Z&g{S5_^l2nMdv
z@5sl~@wnJ?M;_>+-;u4~;nDAK>32BwJM8);e63iBuO^`=MEe`cHYZ+kfnY~%_2vZo
z8(U%L{|fUadlb0P{?)<zeg`MHdq6x#w4?%hScwlVXk_K2;iAb<@6ziF^!j|g9)`?%
zJ0C4tDN4y-rDHS9pE#1i^EsQ(2iPwEv*<n4zi8QJJQ1T@Ww&m*2MI6G2WA!9$?w8m
zjxH1dQw6VNzivzyOk3Uq#sFTULR+zW3N51{3DS@>i{lcPF%sfwa3}``hJ41Lamd9u
z6rfAyI8Z<78R}b9Y)MR-3W0}NDSCZTykv|uT);}Q*;E><Xb>kY^Cy+-D<%Xg_%fjn
zdQ_3sSu$6O+~b$Rb6EXMY*0pp1_;L=5RTs`91r7^mDZS2Jb*t2KPq7jXS<&-ofObl
zO{miAeSD|^t+T|Ryb6w!9*7Bggt?(tm5=hF3LtC&&RDufg)YQ1ETJX>zmmW=8Q^*B
z-sAxC{S+LbuBQsD1Wc8{gUFX*WC^=zRQ*A!{s2`kHL82-CqRHsr@X&V-Y+O`qLD{u
zU1eD410IH-fGkVYvTRSST8_8=#c={2ILoU}tp#rU{0eO2Y5Z|K6G*eArk^$RGWjUj
z%nw<UU==QQo5T(U=>9=!w1qy5>kK6mynYuj8J7-Bb`mCkB}|?;Yyb;R@>V*LeI8}^
zQg#nzHyYVu7)FK0Q|9n@ka>zSZ!+t`)pa(0*=;6Wv0NY~B7VNa8F4qwq6l)2#%DV%
z?uXhGJbtsV0<JW8-3p_E$BMF9hOI1DUFgHW;dc$6EMiySfi_ZVs_ajC!ufcb-Vz>z
zwVuYa;}O~o^^<~*{>Nzh8*j6?*S(B{CyU(co}=&l@cHqQTo1Z(FJbE?Y)9jRKZjQ(
zQOyLP`JVJ(%pRsPK`Jwc%KXeILjaKZ3(Ax!b17xYMkWm!<bDDymd*eEI01zxB8*+|
zaq{<4Dke1FE)44A_=J)1R`!N*>q%g~gf1*mZ|?hrz$exVtkEF)@f(Ejc%HW;8`wWb
zjsKb&Urmko!)FKBi$)`<Mn@-`t4=j%HiPMaEh{!>%8zkOgWtv=a9au7?+M%=4R9D7
z$TV7cS3ve82(2-&(4>g$(W;?ti1c?K76@qbLE+I$#E(p%^fsiXO1rc|?>$8MeroJp
zYOIwSn`tzbgcLO(kr$UdHaTq<K?KmW1?iSRyg<Oy^dHQ~N5u<!ATjMYY30T3RS?%%
zD4es<6a03GCpH00!SFt=a58&-CjB-LBJSt2adYEty1=1)YFU}5d}?#wdkW+Z2N$^4
z{Rx5C8}z|x1Vmjn*J|H%!y)(<cg-Gdk%Cwfwvs%3Q3%zt{ue2aPu)aY-J0t_!P+k0
za6tGy%JApc=sH9dX$nU*538Dhxg|Ti%Zu<cRhX}MVCfP_j8EX4kPiPMZxKlL0@RMs
zNg~;PBH0i;`9*VlBnqp;s`wT%NLT4qdDYrHfnb7Vqi=R*$FDZvwO^+VCjtTf)DW>Y
zf=F8a7R!G^duj#j7{Q*4Sm<1Q@IN0kU>|^1G{jruayPw(UFd02n^OLMB!aaKZ5HC2
zUW=?Z(inazY13(C*7%hSrQNAb1p8tx&?5uqW6rK}K^8mpRdzmrJtA~fphI~XN_)0~
zcSLrk>>-Nq&!fc(*CE9((XhMWSmG+2XBQ*xVhdb&$P5J<r>A}fU<|ZE{)cvmWcs}%
zds=vfSfcnF#s(QI(Rev6^ztHh4*EJDZ&ScRlptO&1`&1qf?63CcRRl!iJe@4?KWYy
z8*&}i8M1tPjKz#U^SG`XKM*DMPqD{@q{ENFEcM{$Vb?WN^f(@PnFcEiUd;o`O~V6>
z2;p9UastLhFG}DQ#os^VlTQA^CtZZU`|$U&8K*QNfT!_O@xum=*hB*9nubTw@ZK&>
zL-{ag#t4YV<+$WtmxeOmrq$uc?L_bKQv`UL4pb9AN05Ubh9MmTJ4*Udf@_3zBAchL
z1`Ulx4X>UI<9+uKO%vuiM~jq8oj*ZLH?9UIfokd<MJk?V#}iUT20Z>fSi-?B*gUxS
z)k5W?@xy&4T*wIE=W&kM<WaiZi#~{+K-_SComk1T`Tc0m{H+a^wG0zWx!fwx5p`yY
z0kiXKehHL%5UEaTo(WU)Oc<Ky3bI0w(|`kpxO>Ea<_a}P%vdpZ@!~-ZW?wHq_66<_
zy^i^rq6}W%q$qqw%g_isRrZmT!RTj1D|^)W*+hZzTxOrP=_a7}b!pK1BBk;Rer-qt
z9ChGLp&4QnZv{-)8}TbXbFxt#kE!Ev5#m<T!SMtMOrh8bc(8Y0jLG3eQS2WU<kHL1
z_)#kVLG*dbwAiB<^(_mN^I5`%CG;rG=M^-c-`_`+Cw+i^ruZ%}zhKbQ6Pi@M{9R&)
zWZZm*e-=ORGuS#xTvn_Nc?7SE;QgB5MGbh$Jrii*IGZvx%6yYDR~VUwUPzzW5SY1a
zL7sPEe*IZO51K$VF5Qh9$Ed~?MvXq4XhO>xjx#Ilrt(SiEkMl+=j1JMKfe&tzkWg$
z?L7HDm|YC;@Mwm1*@?piiswmu2G%ADk|C7;#Y~6xKMv_%Q{;_ZHa6FEm9xRAO@?H`
zJ!fpV!&Zi01;(#m!SPp@3&c-Dk?sxg2>}kxBCj}3KP+66UH=+rXe!N|%pNi}YWQg|
zL9~CTUfxK(yc{3=+Pz{B=vohLi(G7JKDI?*plk6Xpm^<l|DE{hDg4+KnoRzBobgjv
z*)cx|gZxpU&j{o_1TsV*9R^6YA7G#(4!6;L>7zLM5RKf3m4lIg+qKYt>8Iv$vru~j
z)xMW%cfBVN66@>5thB(}bLaU2gFL*Lgo%jPiIp}N{ZbSW{S6^j@?-QcQ(+HYz;kK8
z279`npY6eAar%8UT5J2+rQ{f=fJ|niS5l)dQlr12Mk@w2y2NO7k=ZERU1S0=sL^YU
zMyWgQbyuS0Bz`2uAt{cU$kF4baO{fZnaK6KVk@B93;gcB$kyOe8;-DPg7<DFd|oAd
z+6bRExVQ<OPuww#mpbg&xR;_o96BbE26U^ZDkrGQPO9>tQ3ax{???IGo>l3EJ+Tew
zFk51`K_t*Cl0ZX>`vk1{Sd}>Q;mrtcSp~%pBb*o1r&aJf1uJE1khqjauT)9c;A|F4
zQyv~G`oigLID*4HBO4}6Ar`Tei}9Ex%H{vB_O1m!s_M+2JYWN*BoGWBh!-T70Kxm1
z=bcw3A!(unViLdy2$RfBW@Ium&fE!!4@AM1ZfJ`x>(Z7gYZa+W)or!4id}r6SgN*K
zrD~O0y2g^W(M6z^mHmI`-kCf>w)@-PZhz$@|8vjdJKy=vcOLgV?%d03x+KkFh+2$=
zp@7eMKcDx(N$6-`kH=33uuVs=F+Nr~ioPUxfQmWe4HT2X>e+RWYX)C2Fx&G_DSkD@
z7gPKuGrkdR?j(JH>IMOij7|={PGoT+Ya_CNLB?Nih3|(RZ^s-M^GQ6~a{M@*M%0~f
z)t&6PfdBM(a_C)3d^aUtONnQjc~qS^{>Rd)0@qCi$;qKZMDqmE>?9gy(kwlZ|4?Dh
zN0gB+8Xt_KRcQfcCChrQI!T3@eq{1IB^`w&10wuJ1jNAi0qCWU??6ZNn=W&Bzz17!
zRB$1ELJegr9FMHurmUZ)tZ#e6RMEH%hw3++sK?Z0-;o-8-~kIUxV*g3^cC=&*Sp{B
zo`w-^Wx>4UiFsF_+;9V42{t+8Bz}1Z!S6T3&zk0U^vn2uZU4}6*qqp&pffOjfZL4i
z5$p$bS4`*KZd@s!lHxmpf}X-H3m+$(0C78sy_eYM!|HkcbwgY<(y<_=1q{71G!!O^
zDx!GAq@YO#X3)p{y#3!qMBgW(I1znqFj2Q(;4<KrH7ZM2>28*V{IhZQGBV;k=!K=B
z3BLr7$BD;f19?=;{@@Nw)TjyEjF*)Xqui80jQqLAmn!jE+?DuU$O%4q$2-zmK#mZa
zhvi`;{$K(+99nUKUfP{Q{SGC2gEI6{hErhmy!i{G?1kM4eE9h2kx|_WF8pv6Kdpwm
z1^FAhsT1S39Gn8P0O%-N@8Z$p1U-&6kf&dZQ*ff^g*r}oL@AGI%A>=`19Z7m_(?hV
zUiH#G4Dy#@(tw$1AAP2<kIR{ZeIL-3>$w<7bC=QM)ELcrj7J_Z`t)^U{H1&_hK%lB
zH?Ds$nw5_{@1i_YlxMb)XZ}O$1bkF3`MJ`Ya2z-8gZI$caVn4BYb0}z@1wH@NK`c`
z2On3*o9{=XN#Yl#$M@kw@(enw>pkY@N^2nI&k*zbi1~f58A=12dL-yQzHb6J<!_|Z
zYC3E0CA~q{D=68&Q?eH+S=3BM2`C4?7VD*{Aj;pP=itNA^jq7W4e!<9N2eP;DNjKQ
z_>?q>0gdAWcwh{T&pf`5wp#gOvKRNEo}M<|Tlwf**F&>jtPt~W+XEuxgi`8tNZU$p
zWz_M5o!<N(USE)NQ!gKu?jRZaNXFljj4!@w6z%W2%LUrE#bnm?O2Rz&7-PIkkO%it
zYt*OmQJ2>3{F{_LJwN({(oZ^az7atq%}G=tzE|1P^Lswgoo<SRp9>Wn^9xz{npjoA
z`c454j?(K=v%AYrbf170PQ5|zkk8rhNlxne4gX%V;nNzZqy4a<4rJ{>kqq_IGNB98
zlW7RS?f!hc7rK{r9x>_PX6%n1agb-hT1<2?pTX&FC*E;0jcel4DR|3aFZOMTB5ab6
zA<rK>Ku$k7KH2?~4bL2PVV(S?y|}yZ6CHDxh)%IK{P`5#cxfDy<5P^csHcik6EJC_
z1#|&EIsMd$?x)bSDB#4kd7<M_Gv0Gb`|SJyM>8pX6cAG;dS}$(0zcjp)x+&xZufEf
zD7Q~=`y{v71ftC4b{@CKal3%qlej&F+tax%aC<hlOSnCs+ak9u+;(u=&Fyk-FXVO&
zw-<4{p4&~_zJl8;xV@U&L2ie*9pQGI+d8*9xqTzI*K>O#>;nf*72nH!ySTlZ+YfX5
z5!eR~pfR5_|En5^%jMvoYlS^(Z#nGT>2BC#ORgcisg>*%0kUh>z|P7`lD(+|cFv+s
z*x4`KMD8tk#DuZF+sNL1KJ2Vl=aG9lab|Hp?3~v)JzGca0@&UB{J$cWhy<cRp>p0l
zp-iZZ#k&&WwvaAJPN!3-jm8t<q=w)`JeCOP;aC*x7<;&!HJMn4YueNomb1>Q@GS*^
z%<iYk89nw)5BojVh4<FnP|kJ$7RXGW(SpP;BL=ZGFOhG6*)qV*ij!mUY+ImBQ-w&Z
zWz8zcyDAt?#v_5QRk7Aqp`<KSDwJF;lu@j3qfi!&ao0*Clt_3WIaZdAWx^RunoVms
zk<=*}5*cnvIVKh-B|x4rW6DAqHmZ;e#nuX3#u7agP72{@Ypk6sOn?fbdMu?=@-c>p
zJfSKqg1F1W(O_(CvLvXr22v4|$dn&sst}D0q~koO9EMSag@zu4`q)}6AuMTa9m*+9
z%sCCC&d6kxQ57VVdVpN>g{ao4e^xFT9YJ1VFf1FB%>c&8SnCY5$0Hhv5Yi%X@5q%~
z79s*lDNs92vqqL9C&*AQiAK6cCZPs`^h7y;op9y^5lAqWAx(#tNTLl0;sSAjEJ~8-
z5G|4{iX!3`p|?a^&`y0mpHR|LDzs!e6p;$GdTLErxGbCqhXRSfC5vmvvH?0#{q?mf
z_s0@z8g--jR0qP51q&81Q_>}^t(>ermelLCB=rie@}y3#vmlnC#KFX==$dG3ZB%Fv
zgrh=hD%wI#TnHrEDBIIV5=DoAwjNDIxP)m^qmQt%5dH<jgLV-^bqKs~m_aRpsL-ql
z$+*@MZVhX}1&ntNX7*l2J&!#6LfYp|ln0xxwSlmX=EllQM}KDRNv(y87SkbKd$X1}
z9g!YxhYT^ay=dF%Xrkbf)XaRKKZA}GnJL}rG8|4cJj3BMgEH)|_=OrqJR|cVfuAkN
znG*~b>df?M0f$t%IcPWIo)QhVx8rOw7*4EeUeH2gT_Ct9+?)s`x`de?p}jpAi3n*z
zp%sl>3$nByzil*Gls9%Izo4O|x6i)rx<q(zM0G;b%$Rt`;HU;I5J8*C#D>%Nlj&&(
zu2<kr83#52y8y-rSioVWz%72oj+a3GenWdIkNpsLE))GRh6|gBr`%9cS6uV5aInm)
z#}^0MHP+clK?_>qaeS*m8tjz^d!>;R$s+~VHm+)HYFJuX(i})?L{Jw<t|=YJFGCU3
z5*;H_q$4ULfn;)l9&f3R1lp3q9HFv$RgJ%KRfWH?s&OF8l9E(38E%VeL1ERZ)<8m-
zTiT%qnj>1ho+!P#Oj;>;Jc2kdMMfifEZ)==2OTv8QJ6DF$jFz88c|5SO+RhIbkv9m
zlZh5HAqgeicw>K#nWzyHu38mNHlpf~TB}`Hk|CZiWMnBFR?tjTrhG%#WJ-BPHkr%@
zD)GOs_CPS07|5YA5WQFz0>NujxKX!Ib;A=(;8r4(V6H)J$PCt^Iy!4>EENrwvYE5~
zvV^k+<~_8dz(1eQfJcZx5cMNWR@uqN%i*J~ga5x~J49QxYE@-@eNbyowbjI8Ycj%q
zbQWbi^h7!6jWXiakJ-)=Of*^}v9&YVW;?}=WX51{8p(`BIE_+6O*X<$lVm9AIsZ8g
zoYTNL4g3!@AXD1a7>P`f_pjEJ8~YioFgrVU)abmtyh-O37LLyzRg^uWbbbjLei=2Y
zbn@i!15N(?i?ZkE&jmr@wCUN|qw=#Sm&`4kYm!_ve$=SR7Zn#GC~fA?HQYs`gzUoU
zxueIM5!txTnKET`;ixoaAqb_62M)x53ZeZZM)XBf29jmm#FCr-+__hnTPT<@fB9w0
zu4l^G!@vu`d%%alsAtRBWZ+`J4J-!M05=0)1?~YJ0-gX~1o{B>9KO{FTnLCj1<(Y9
zfE$3jfgb?R0lxx%2e5tREFYK#lmaTS7+4K-0-Jz)fJcFsfj(gL^W|(3FdI++3m~Dv
zRwWX#1SYe!(T+eQ9PD2sn@h{ZF(H|12??!O#0a3oqDO1dV~H+SAJ9YC!O@Lb6l;pb
zu*!~hVY#MZsSWZZtJf0k;UwQt2x?KRgIPrYSr99eJr*(Gh2^#u4G4N7kPLxnF_>!6
zSgI`~wDb6kbcR=GrX_QFYL|)Bq8;HxEZUB_T_&tGmcUk3#v5p9p~+xNEU0C|f&o3i
z<ua#=$lfS&Q0oY{Xw0wcT6<i_VnB}x3CPodNn|PkiS+^6AeobxO$%l!FhR*QQxR$H
zVp}1_<?|=ngh&{(R2^z-4!5zYPORz;X$6hygjFVD$z++q4z$rVBdQqrw1mQuAhzOS
zR5ob6HX4Y-hrPLgt_ii5EJ1lO-Hk=4YRsKZ$}Yv%G)8q`cO;e6ST$7*i4=jP8rMWT
z(4q+utyRY^N4jvek%-n7h+yMDTf?v%4VLj85MHs#t|au;FDpr&WEF|n8Z?V|IIgie
zYB(89G-yfe4GzeZ%Mgepz_v@!I-w*qB&Z^c1sDVf1gY}bl5|mc6NINdjC!KBV^p50
z4k$y1I#ay<GW$O*SU@8tp3*PD<|Qts%F~HWrK7p0+XSSHr4rBtwFPV!C&JkANks!4
zSlrXfkX7&|X(mi)*QL-;g3yhbtT~nJ;_W&xpv}}`c{0F@Z7{QM@iI}P>tajI4J@Ng
zr~-EBSPAV)mEy{xEX5-DgNL!AqO79HMKIZ{C?~gQ%&4@XFm5Im<xkDeJHM#t?~0~S
zKp|P5C(AGeWApR#^TrkxjV_w>x$#9s6N<+5$8Xs}n*~GvN+5;tH#BA>e+{-D&h)pD
z4gVWVe@j;XU)EWgfgEnl>i^5mI=jDgdV#e3H*L0T$sS>iHRUJeY$`Afm=0V3%m6L~
zW&(47i-A&LE-(+Em0B6DmjDu=0+qn!Koc<3EJxTiKr0Xjx`6e-mw_$7R$v>j9oPZf
z3+w`R1CIbt0?z>Zfu90D2i^eQ0eXNw;7>sI0o*HrvA}p>B2WaJ56l2&0ds)4zycs`
zveFJ*5AH8#<6bQ1A+vFnL1zJaC~N@_E@LILJ4y{-8M}n3thh!ku2YK}S#kR%#lcI8
zyI8S*zEE5t6bEs+lKJaceI2WdMT6KUZAxiLx-Qp(QNz^~N+ozubs|hLjR8HC;0|nY
zz>kEKic&DpGLR7sYfMGirGaP)dzY+QYff-ST_DjCVt(8~A{ec^*rlnc1}oCV{HZqV
zt*}N711jHoUV_O0Z9y-_ZIK5o)LIM&xDrP&ND!+uBjQ7BhzCPzO39FjRpKvW%<m?_
zzazUGHklVjmGdiOpX8aY^6leHSN${jrfc@miH2+ao!g2Gm$2u@Qw>+{zwMv)RZIC@
zkH+Wi`tEbz3YY(4=gX&RFYJ8!)$&7|KUly23y=T9F8^2G`O~-ld}Q4NmsdW2`}my?
z?wI<UZ&yzqm%8PPsgC_Mb-!Kdd2Xev`>s2#`sP0gf1lm3`q|<XGtBx^H%FG^ZLL73
z34TJ>iZcRici_+?+9t$fI5RVE^*CU_yn$|!sFq|)AbNI`$ZaF|6SkQ6-^xcWq@u0A
z*(hM2d1WXmKGqD7`Qy#}0*l^;x;I19-zU=P`c82^eJ2c>z7wY3jPEn!jm*eipLV9t
zUdw71SF?F!l`Zx!X7k7@W3_BCs|M-3jH?VGet^Q#E|V8z&$v#RGVVQfbH-)JguFkC
zZs)uId>@}b<BXKgdicarh|_76In$)g|5QSA33U~fje;@ZqACwZ!+IDK?(0$S%#UeX
zf*(v7X9c*+&o`!JxT0}r0%OIZj6uP$EJ1->YQ|bnEGj_|4KSY{%ka<G8Z8mkB8t2K
zXA%sj4fU8N`i(tNMh6i%cT{LC>u-+IR5?QP$hJhF9TOc)siOVo;-GP?Eze-+nKxxk
z(<eS%#5@+NXvcCOXvm+Q?Fk)x@o*ND#E;Ano^h-%S_knyOPZ6Ay?~w)fLVeGAGnx{
z2~2%g;RFmKc8ENh)Kt~KmT1&*$c^&?^Bku#mcneC>X4tp&=lKbM5P|E1~FDC2FJ6v
z>Asi?&?8x&1MoZ*KeC}m!X^Rd0Yv~iZ!<;1Y}wM^&x{bVk93#!dxp5ud(WNt`C)or
zmPnFcA^*rGoo4rtG(Y>N@{tpmp&y(fKFyQ;oOtA-%sK23_~*erbicWT7M*nXgL50P
zQ<Oxp)Hs5`fya<IQAV73Lc<TFhQ>RF#IFqnbRSLu_?0&Gd8&~^OM-*szybN-yiSv<
zy*1h|{8=VyY0(qZRnr1d&IA2uv2=Emj^-QmT4xJx%{b%6X}z9~>5ODt!355x%DkPy
zs)hzy+mN36ql3wo;n7%mATZ6LpQHw(ncv_L3hE=0_!DjP)Xm_^=;vT+q^WKd4$119
z8U|~!-KgwL>~IN&rXNmWoNZD5{kc})6evw;2wvu`SvXAD8C5i5kR}dET+`_~xgP0w
z&vYSvE}V<%>(eC7G0c?s%9|cC!636JhGplfRCFz#iYcK(r_Z3sG{j+atE$qqT!Rrd
zq9sOVHv(CPXGb7Gx}k%?(;bU0Y+BNgF3d>e3x_nv5~HD%dC|05YH@#CsJ94Sk8rxQ
z7)YafDIHk0(s}HevKn$=J5Vy}6qT4yxhWscGR-J+@Y)<n7nK?e9Uk-k{aNuC)dzMj
z)B6`_Y)~`xH#GRKOp7o;HU2~bN7I3-h>`1AXA{&16<X7S+%LF2f(BlO2RiQepsCW?
zHP=B<H*`ki9Ya__Kb4F8jg2J(q#UHck<M#dbsC`t9g>?F(FjrI4eENjGD{XVRW7Th
ze!tAW=tjfSP}KxariwtFPBpL!aSIqeDhww@Qm8ae{XL!fY}$IJ+^5OCl)61`1H(i+
z6Y~K@>KK;rtQyFfxTmX=D*3-t)FCyS(d+3N=^#N-ap`=UGdGyIb1Nz<J43Xye9rt$
zYoHH%F+l#mV&09F*g5mJr2%(A7R$Tl7g_$?h5kMG;m~3DH{;sam{ZZ%$hPf=`(FA%
z(Fo=>gue&$0iObS6SLSPU=H90nt)~?0o)2~19k(C0WSh?1AhQM1quqY*bHC+un?#R
zRsa#;R$wcz19%L05qKLo4D<n?0C|(LSP>ut6+k`E3Xu70kuw2#zX)stb^<>D$eb?x
zvZ{u~Rg17^uyD~LwzRRT!E`cK8Hpt|W73KAl{ll(H9D`M{$14>=DQ0xgn|!iXn$or
z9OSC3uf;RtrrX#TScGj2N=328VOmp&j(lpdAHqY2ufUCP%8t*=IMt#+Qs-MRW-30(
zZo+e~roS#0Ohvee^pqlHNI4pzMmf@9ORDNJ@($c2F;Y+n3Ra^9;wBF~$du4iaVnTu
zjz&G0Q4Qr{Y#flR%gr>)jK`}7`>Hy5`bexf5UJzGonWn}NQsQ{^V7qgrkkD$rSJhy
zoO1c=aD*1F=+d>O*z#~ttHcx7plS%<k?qV{fzmbTk)?bA0(T=ckH`IE5v@{BM9h_h
z5l%X;r)^4X>>43Pv@zABkcfueTgI9q$+URnHpPPr#a|YPV85BuAgi=*X*9&wEWwOi
z$jr=VSr{4(L^2#rzsWUSu%=k1wBWux5jL72+*LSKHd>MS%L9a=L9AKc|HwH)%qPn$
zVqEV7o;By1T$?m@Qn?4z=gj|H18yOUWq}RtZ4pY~7Xb%wWdVN4^RJ98g*yb$vwdjq
z!+r>}K<m`7DTH=qG#m^~^gEPc`$S-H&ip^oz@vL|eTFDmbZpJ0U{9U=>2Rv;D-b3Q
z2~R)YS%dhHh<i9CGR<hVkS)VW(IU(#7a{DP&F^lz!L4@9xz0Bxe{S*QG~K!D|FH&8
zX@?-fH(ft-{mRwjO1b~ReZPCJJKHnaGut!QBYUbnEuJ-=wVs<in><@R4|u-kdD8QY
z=OxdZo=-g&dn4YY_YUtjygR+Sy?eYbcwhET^i}${`+nwo!}qT5ecyPoP@E=Kh>OL5
z*d}fi9~Yk!-xWU=KNY7*C6Z0@OIJ$QNN>tx6}J*lY>qNVwWGnY!m$v){kzP$*4gdc
z=Dg4OYv+f~QR*ypzG_p;)fsAuDywd_T5V9n>MiQG)Cbka)o0XSsz=n1)RSt3tI4Ig
zu65n&>UJ@KF?ufA?W^-O_}2M0_`dGD%h%`o7%e_mtP{J%(NdvQEnP09q+6uT(i75C
z(thb@QcPYie^q`~J|O>6J|=%E&rs$lWs0m^sRWg8DfcT+D?e3^DLxCcCamkM<E>Mz
zTdfzW%hlhxwyIxOA5nj#z6N>Tb~U=MaCf=ax$k!0>wd}os=LTD&6DLF?Y+<YfR~{|
z9foYzJJzARwa&Ypk2+s*`rMW7SJk)FsjfM$i0ezPi`<gi>3-jROufc6+I`GD!E=G9
z)bq63tA5_4x~fptwXUtM7hRj(Z@5K|-&60o({qpKYpAL3dvF#ZP8Gi+{ZQH?y(|4(
zdQ1AP^atr9>6A21o+u0QQu%7RMZQknAb(lDL%vh~w)~|0g8Ytrfl{J4QOZY@36`mr
zHcQ;{oTb=ewNzV{S$ZrVT0XIiwiZ}FwT!h+vR+`7tY5eO$ojlB$L6;++BVw0YkSdl
zzkRp;*Y+F-E5~m?QAQ?xUh+y$iwWs<d4;kXS_~->C9dd7r*fmRUfHN@QZ_4Fl&#7(
zWxKLNxmVex>{cFz1dl0u@Hv@hl^2wH<v;B+9N%^AbG_!O@LuWtlJ_2OkM|qCPrNgI
zoxbn;eov!VJ!74?TrABJuM!^=-xn82F=>-@zMPa_mOaW9$`7p{SpUQNsdcRFVw>A`
zxvkZ9gKdlLKHKBAmu>f2_gQ~ylkLmwE9}kokiFgBWxvgSyZt`<6V7+k!)lTH0{1fa
zO7~o^#k;`k@Xqp;`YuDeLWZjuqbcz<Qb=l+BGM7-hgN1CV=c7Kvd*(wt(&a3Tfb?2
z!1{gblhzX3GTUm~Rkon*UG=x>$IefkdFo_UQ0J;Qsb5sLsCTQo)bFX&U6-P67rU--
zz3MuMGXJNG6q$#?_;p8(GwQtB(dxLt@jb^2j<+3$9UnTFbBa@NUhI^dKIabSYR68;
zV~!^s6P-Jq4>{jLf0^K#?eeMhu1=TV{b#quZS~ZkS0D8J+Vde=WRo}Gz25t%_gd(4
zf_J9Z=5>27^M2dA-`ndQ>pRcq@vZS~^zHQhi|+@%G4d?=JMxd^{b(t6Swla02)gZ&
zKa{hSFDP#+zfpS8H*zfbmYJ52rQLG9Wu`T1U1AMbe`lR&6Kth6#pbkCLhIXY_uC$^
z{mS-%?PFV({XBcEy}{mUUuo~K-)R56{iuC`!{R7+R5>D!^^PTu+Z<nUJneYNL3gLU
z&~=^jYUgU_2InT{Pn~Z$4>|wE^|0%hv)JSHRC?a?yzlXQtG(;Jw|TdF|JggoH_un)
zyVTe0YxA{AzmclMTJ-+Q#iinv;!5#-^oo3Wu5_uiPWq<wrt~LCkmt$`=oPoi|ES!h
zd<U&C-*UNSwZ&_xvAkos*7A|%O6zKCtF_4X3w5F`$2P{c&vBt^uItAx=HBgj-t%+s
zht_rW4fb!?@3#MkJ<BoLQR`Taag8}gIoTG*9)bMT?%UmWy8GN8yC-6_wR_y28$9bh
zy{M0R?^5rx(EUu`9N!hbmA;d{dn`LG4_F?we9!U&%j1?hIV^vSvFB-Pz_!*_Af6{$
zL?=qKOngavRlGo&CH=khHR(zDY58-?RAq)T#r_s_{0E!U?nT?a+P=yD6?@c?bUfwQ
z=Q!oab?VM8XRbO%wPRGB;kwA>bye~a^d8s!Xn8+Di(xx(kB7`zVhFsqNOwxxrF*1Z
z(u2|?(&N%zX`gfe<I6$m9qF+2JE>1PCY_YB<ve-3JV`zuBh4InzAVcQ*()!UFO}=%
zW%3HSSq{ljS(mSuZ<RNp6>XKjA+v{#@giHy6UU2_#PdZ#oFmT1S)oJpiVMX{#d?%-
zh1e{H#Hgr?*Ncydd&Irsv*Ih_YvMuika$?^5qrfx@u+x0JSk>NqouLZdizF{d9!_w
zeXspld#<Ylce-)z5;qF87w5L<Q-^&$zFzd>65L}%)uK9}iF&n3y+U1~u2zF;NR6m*
zRaZOJ8`bsdMs<_A89jBYx=r1#?ojVVkKL_4jB)=lb&tANeO7%zJ)pjVd%!{UZS@dF
zj*}{L<+;YW3S5(1C)_99%#-U`?Fo89o(O8Y$@`k`pzm$pA>YH&A^9-+Qm@=6AC*tY
zCuOGODtXE{r9hdaOi`vQf-)PU^L#~AEQ$kn&2nX-Qll)w=-7nO?QF)@UT2^4sPlyL
zq?4(+YMweyEl?+^Q`G6|Y?Zx&c|O##McgW`N8R>FdGfue*ZHVBn(q}Lj)}RbopB;L
K&zZk&4g442Ul48p

literal 0
HcmV?d00001

diff --git a/lock_and_display_off.txt b/lock_and_display_off.txt
new file mode 100644
index 0000000..d178f96
--- /dev/null
+++ b/lock_and_display_off.txt
@@ -0,0 +1,63 @@
+
+Windowsロック&ディスプレイの電源をオフにするツール
+
+Windowsキー+LでWindowsのロックはできますが、
+ディスプレイの電源を一緒にオフにして欲しいので
+そんな要望にお答え。
+
+使い方
+ lock_and_display_off (-h) ([ -lock | -nolock ]) ([ -off | -nooff ])
+                     ([ -lockfirst | -offfirst ])
+  オプション:
+    -h
+      ヘルプを表示します
+    -lock
+      Windowsをロックします(デフォルト)
+    -nolock
+      Windowsをロックしません
+    -off
+      ディスプレイの電源をオフにします(デフォルト)
+    -nooff
+      ディスプレイの電源をオフにしません
+    -lockfirst
+      最初にWindowsをロックし、次にディスプレイの電源をオフにします
+      (デフォルト)
+    -offfirst
+      最初にディスプレイの電源をオフにし、次にWindowsをロックします
+
+ 使用例
+  lock_and_display_off
+    →Windowsをロックし、ディスプレイの電源をオフにします
+  lock_and_display_off -h
+    →ヘルプを表示します
+  lock_and_display_off -nooff
+    →Windowsをロックします(ディスプレイの電源は切りません)
+  lock_and_display_off -nolock
+    →ディスプレイの電源を切ります(Windowsをロックしません)
+
+このソースをコンパイルするときにはuser32.libがリンクされています。
+※ソース中の#pragmaを用いてリンクしています。
+ cl lock_and_display_off.cだけでコンパイルが通ります。
+ bcc32の場合は自動でリンクされています。
+
+なお、ディスプレイの電源オフに関しては、
+ http://www.knonline.net/d/?date=20080123
+を参照しています。
+
+プログラムを作ったのは
+Ituki Kirihara/NI です。
+ライセンスは現在検討中。
+
+プログラムを素早く起動する方法(ショートカット・キーを設定する)
+http://www.atmarkit.co.jp/fwin2k/win2ktips/150use_shortcut/use_shortcut.html
+に従って設定すれば、ショートカットでロック&ディスプレイ電源オフが実現できます。
+
+たとえば……
+1.lock_and_display_off.exeをC:\binにコピー
+2.[スタート]メニュー、[スタート]メニュー内の[すべてのプログラム]、デスクトップのいずれかで、C:\bin\lock_and_display_off.exeへのショートカットを作成
+3.ショートカットのプロパティを開き、「ショートカット」タブにある、ショートカットキーをクリック
+4.設定したいショートカットをCtrl,Shift,Altの2つ以上の組み合わせ+通常キーの組み合わせでショートカットキーを設定
+5.OKボタンで確定。
+
+作者の場合、Ctrl+Alt+Lを設定していますので、Ctrl+Alt+Lキーを押すと、自動でロック&ディスプレイ電源オフ状態になります。
+Windowsキー+Lの代わりに使っています。
-- 
2.4.0