From 729a8e7f360079313e99bc049db79faca9ca4a96 Mon Sep 17 00:00:00 2001 From: SidneyAn Date: Wed, 16 Jan 2019 23:20:26 +0800 Subject: [PATCH] =?UTF-8?q?Remove=20retired=20codes=20populated=20?= =?UTF-8?q?=E2=80=9CV1=E2=80=9D=20tables?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit the old source code which populate "V1" tables are no longer being used in the current stx-ha design architecture. Remove list: service-mgmt/sm-db-1.0.0/upgrades/ service-mgmt/sm-db-1.0.0/scripts/sm-db-populate.script service-mgmt/sm-db-1.0.0/patches/*install.patch service-mgmt/sm-db-1.0.0/database/sm_database.xlsb service-mgmt-tools/sm-tools/sm-tools/sm-patch.py Story: 2004752 Task: 28842 Change-Id: I9f230f900baafcb8495d8f7ed739bf8e182abae5 Signed-off-by: SidneyAn --- service-mgmt-tools/sm-tools/setup.py | 1 - .../sm-tools/sm_tools/sm_patch.py | 59 ----------------- service-mgmt/sm-db-1.0.0/database/README | 3 +- .../sm-db-1.0.0/database/sm_database.xlsb | Bin 122233 -> 0 bytes .../patches/sm_db_ceph_install.patch | 31 --------- .../patches/sm_db_cinder_lvm_install.patch | 60 ----------------- .../patches/sm_db_pxeboot_install.patch | 17 ----- .../sm-db-1.0.0/scripts/sm-db-populate.script | 47 ------------- service-mgmt/sm-db-1.0.0/upgrades/README | 31 --------- service-mgmt/sm-db-1.0.0/upgrades/new-service | 33 ---------- .../sm-db-1.0.0/upgrades/sm_db_upgrade.patch | 62 ------------------ 11 files changed, 1 insertion(+), 343 deletions(-) delete mode 100644 service-mgmt-tools/sm-tools/sm_tools/sm_patch.py delete mode 100644 service-mgmt/sm-db-1.0.0/database/sm_database.xlsb delete mode 100644 service-mgmt/sm-db-1.0.0/patches/sm_db_ceph_install.patch delete mode 100644 service-mgmt/sm-db-1.0.0/patches/sm_db_cinder_lvm_install.patch delete mode 100644 service-mgmt/sm-db-1.0.0/patches/sm_db_pxeboot_install.patch delete mode 100755 service-mgmt/sm-db-1.0.0/scripts/sm-db-populate.script delete mode 100644 service-mgmt/sm-db-1.0.0/upgrades/README delete mode 100644 service-mgmt/sm-db-1.0.0/upgrades/new-service delete mode 100644 service-mgmt/sm-db-1.0.0/upgrades/sm_db_upgrade.patch diff --git a/service-mgmt-tools/sm-tools/setup.py b/service-mgmt-tools/sm-tools/setup.py index 8ad33521..7c076221 100755 --- a/service-mgmt-tools/sm-tools/setup.py +++ b/service-mgmt-tools/sm-tools/setup.py @@ -19,7 +19,6 @@ setuptools.setup( 'sm-deprovision = sm_tools.sm_provision:main ', 'sm-dump = sm_tools.sm_dump:main', 'sm-query = sm_tools.sm_query:main', - 'sm-patch = sm_tools.sm_patch:main', 'sm-manage = sm_tools.sm_action:main', 'sm-unmanage = sm_tools.sm_action:main ', 'sm-restart-safe = sm_tools.sm_action:main ', diff --git a/service-mgmt-tools/sm-tools/sm_tools/sm_patch.py b/service-mgmt-tools/sm-tools/sm_tools/sm_patch.py deleted file mode 100644 index d8d1aa6e..00000000 --- a/service-mgmt-tools/sm-tools/sm_tools/sm_patch.py +++ /dev/null @@ -1,59 +0,0 @@ -# -# Copyright (c) 2014 Wind River Systems, Inc. -# -# SPDX-License-Identifier: Apache-2.0 -# -import os -import sys -import argparse -import sqlite3 - -database_patches_dir = "/var/lib/sm/patches/" -database_master_name = "/var/lib/sm/sm.db" -database_running_name = "/var/run/sm/sm.db" - - -def main(): - - try: - parser = argparse.ArgumentParser(description='SM Patch') - subparsers = parser.add_subparsers(help='types') - db_parser = subparsers.add_parser('database', help='Database') - db_parser.set_defaults(which='database') - db_parser.add_argument('which_database', help='master or running') - db_parser.add_argument('patch_name', help='patch name') - - args = parser.parse_args() - - if args.which == 'database': - if args.which_database == 'master': - if not os.path.exists(database_master_name): - print("%s not available." % database_master_name) - sys.exit() - - database = sqlite3.connect(database_master_name) - else: - if not os.path.exists(database_running_name): - print("%s not available." % database_running_name) - sys.exit() - - database = sqlite3.connect(database_running_name) - - cursor = database.cursor() - - with open(database_patches_dir + args.patch_name) as patch_file: - for line in patch_file: - if not line.startswith('#'): - cursor.execute(line) - - database.commit() - database.close() - - sys.exit(0) - - except KeyboardInterrupt: - sys.exit() - - except Exception as e: - print(e) - sys.exit(-1) diff --git a/service-mgmt/sm-db-1.0.0/database/README b/service-mgmt/sm-db-1.0.0/database/README index e06bf778..40e13705 100644 --- a/service-mgmt/sm-db-1.0.0/database/README +++ b/service-mgmt/sm-db-1.0.0/database/README @@ -3,8 +3,7 @@ create_sm_db.sql -> sm.db create_sm_hb_db.sql -> sm.db.hb Instructions: -1. Update the SM excel spreadsheet (sm_database.xlsb) with your changes, -2. Update the corresponding SQL script i.e, create_sm_db.sql or create_sm_hb_db.sql: +1. Update the corresponding SQL script i.e, create_sm_db.sql or create_sm_hb_db.sql: Add proper SQL statement(s) (insert, update, delete) to the sql file. diff --git a/service-mgmt/sm-db-1.0.0/database/sm_database.xlsb b/service-mgmt/sm-db-1.0.0/database/sm_database.xlsb deleted file mode 100644 index 8c0a3f96410a3625efb71064b848148f1c348cd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122233 zcmeFXbC)JTwB}p3ZFJeTZQHiZE_A8Owr$s2R+nwN%eL{>^qDhr=iYVCnlCUDf5ghz zYp=|V$Y=j@@61q^1Bbu>fdYX60RbTeQ70FpI|l;+DIo*_K?i{W(-U)YbhmJHH&XX; zws13G^mec(DS`l_E&%!G^ncs`$ty6Fso=CBj1qp6`c6!5MAyyju-F3TYOPwC&Z(;U z)V&7Y-sn}kjTjub3y8Ea3(nLDbOuGu@Hts0v}Bz+^i3|^!Ansr$#^$meilGUj6rYA zdG90Yjji)n!e=zilLb`^gx~1P>-ov%vvyn{V8`&dWQ3a>Xd*8~H`b11jx^BQoIrap z(yK0)_HdfW6l@SPnogfI5X4NT_IhiTjIVuLzU1A8|8ZhK{viIkv$}l(S6Mmxz_0Mb z(Z0Z*VV`7?Y)w1?$`{fY%&vc#bIiNsuy*eO<5H^qX#nY6E8!d+te!@a2_hIkA2L@> zzIsD{j2gC|djK(dwG!(I>BGR>p-qlD#Ogb7SqQZPl)SU@3zjezy4tQHhq{TQdkC?5 zCRwMnm{k=>J1Nt7!@xROMY*m9-^D+G@Z@?h7-}FL*X~+4Z5ugDA;BIDN-)n6-a!Tz zO>zNyV@80H8G$`KU?w5QrAnAI5te3EB*_m4B^~Du)<^tLAO8RDLr#D!Cc5Y%M(VMR zHJw{>5H5P&#h@(B>quQPvk4aV-wi$g!*KmS4SoM%pvEv8l{P*y!(pFQDL*M(P~a#h z#EocKFDszI478eO&N#)?LfOT)fM&@$`9{QtaJ^U$>V!6fgVpqlr5TwHDVf2%ZO^G{ zVz21%LPk*2okhbbQ_iDcmS4Z1YLK=Zc7nr8mjBo_qa}O6_=7PT5X>U8LCRbf`V6lB zp}SfQWBGVS)j%7~ygPy91jhE`3EY35l9_B)2TV+X`Ab~$2&PQfGlPt@jNnWtEplhm$l4ZC{&Q!kjMK0zH&H&BKwaUm;UhgysCt2+a&Fmd9%v<2Z zOBNVBwl`9_R3x+KKId5Q9*kio90 zy(n1o89^bQvpkCPc*X_+`Thn6QU3oRQta2k@XNozm;XmV_{{litC`#lPjBKlUv8t{;v> z$CVA$1v5J4@z4j;-9>WWF0vS{=X?0QixwU-rc6-7ml+aGToL$h=KudVDgAC?jRFM$ ziG&9M!2^K-^|ojF&rtDlaBPVFUUvqxk3he|GCmoBSsm6p0tFPI7F_L)NwbiO8q!oc`tSsOYE@aR1S^3D6H<&L~@`qfdp(K8z4$uzO|i=0VfK zO50qh%pu^_UN_^pc86UnD69`?og_-jdNRMZ-U(sX4v)OMg0qEth=a0VyR%<{V2gUw z9CYUS`Sjpa&nXJ6LimsNo)91)$p1Y4Df$1cVRtnHIdv5b13fp@rL4Jysr~`~ zThd2fwoHgpc}}#f6fqLfm>GE+UNX1(LMKrX0f;xOeZWh<5$OUl%sZ^W(~=)^ZI4BU zp9f<)+sUQdv##G&ybseFrd9p-`iT(3IzY?8VN|JE>Pi8mwGruWUehkQt~Zgyulx|y z%gH?u;<5mE-q(g8F72@Bbn4^Mej`1wP6yBd{%%SnWoLt=! zU#OOCJp|zqcEJMJ!Lhx|TQ>6{j39au=7g!zd)1jk_yMOrP!t%r6X}~RbAuXQF7l5A z`47~}xlCTmXOd$!2v;q3inwxvWF@}{!O-B^@xaKPBcI_}HE-jt>G(@w*M#FV$M@yw z!*(}ll~#x zuTkeC0&a!dvQ$Z_mZ9E@C7sJ℘O#HC}c`vSS2aURIiYdPio@rayCvtXZSaDX~N8 zG?3@{q%ijE4kCMQ6Q1iO9;zK{=mfI6^>>u`?ff0UpWh#Do<6`rq&++&@mrBw;{S?? zQ8bO4xc@k}^G{9W|4T`3))p4-ZvO+1|9!y1`Tx+dCTU)AkOU+AM!`QK+^;a#(#6s} zQb*pm`T-P0QO}eIrGLG*C!^HGfY+;e(hceJdo)nn$#>Dh?^Z&pJ0t~tx<)nURdzeso~!-PUuSa#kk$aWp9C4fg>U8BUWvYWY%ihp z2Tw$o&E$O?nD>`h)EPL=#9B3XH8g|xhGLmi!w5hxr(&J?>%;y!mz>2|U))-_aNSGB{_?YwW-?GfpF>MmN1pQnuz2(`bcfspD84o= z03Kx=Cb0PJnQ02K3>@A@k;%}2VWHC_DY`?WHcH>be(pxLlUnYINCR3;^O{7)5jE(Y zqrdDdoTVeWRRH!gtnxA`kbQ>t>-{WzWI9I%heKk;nJSQh=O^w0CY-a}bfCIN)76aL zX^bZiXU-=v+<3ga#ubb!(lu~~N)A(PsCEa%t7abVXsx$J>ufkDcgB$b&WcTK++tNQ z)Xi2^+$-lfI3~zZXJgozGc>VWNGBVQr3c0S?5r2r&nE?5BWElx!<@5d4SBp>X2E18Ad13&IL=o!ZB6dKFSfA z?Pz!7ix@6DGejbBi)UiOt8Tj*i9TexrRBcPgAjU#SmXsc{9YQmPx{a z>|#&_gCE|W1IV#Ro=G8a&j?$4f5$pooBT;<08C!BWpVL}y>H(Ut4KM59xyh?D|5~B z9R(tpb4X20iC7ZUPH2>|jry6_FbE&iPOXX%VpP@slIx)9v%D+|BQJ*hYs?_|Hm>V! zPi&3f1RFq1X9CK!mwkBm_w+yKB6=6a$0$INgZK2?9y&T}GZXsUCifQfRnuk7R9JT+XsRjMNlP33nNb@pv)@g$oWArBZSxEaj7@o!j$07rw z@_cEN(Uki`Nq)8|8iVMu1P5w^j{c;EAIueIM}FbMry6(5nf-=-`t+Z&2OA zK&x`XS!FSgXUEA%D?i<(JKyFMF8$CY-Ml^~dh6^rab}cA_AW}@`O8gp&>@ve^a#4y zt>mD{3m3E0eJ3_RXT|4XN^D~52sd{zl8MDf(=64qu!N8O*BEQD*H46ezVsnjiZB)j zo1@|}>w&s`@5?@#U_8W}7?wFK8&@rh7NY7sC$Sp1HbaEzKQeV3$iKGmD{J|vD|F?k zHs)}HH5*XYTYYH4JOk7p5>z6fu_WzOxG&j?8TbiLc<}ewr{BmuXO3f%61?y1yXS@~ zSTuQU*k@N)Dss`~2&!f_YnKwy@JH9(@r-8h+6ZE1*gvXbYs$as-K-I>T`|kex@y2uGHO{K6fCUbq=Inm? zlq7{B1~Iz#`H8&T_jVM>>L?slBJgd^duPyjE=g@MIAslln*$E`*G5mY6tdh0$k(l9 zkedyZnfaT+W{r?5QV9qlhy7Y*o@Y4i?wn4=6x_3hHGBSyUa!aTz5Q$54O(Q|qg(LP zTQWURU^-%+I!FpA5mg>2cc;ORoRMdeLk^D>6KoDeJv*yn2*JepQ=I25{{D1VG!t~x zJ{)_2U=UKA3Z5NgmZ(?g(1-J9u=Q~uMZJVC*mqg=zgOFTk?+r<%Rw0YQ~9s|Er5Cc z6Tm8Vo6INy#Fs)aPozvPW_}7>>YK{E@2!Zfe~6+@X&QBPtZJeU9#?P7d2IMbGDs6W zUd|SO?h-PNtgycGFoh@G_)+<9pK89BaCjgSwPq~MMHK=*zq)W?zeNW;?Q9wL?_DiF z`BT)1WA6G>LMMhXPgT;v)o;)?v9 zS-2Ya5iF%ApbzXPHBhIiT(g~rKAyQ{lV|yC`=_VpL4}>#RE;z~T`erTQZ=!Y6({GX zl$U>Hnx&X$4(8G9?37;`StUy$ezabcvTpn>!OWA5`#XS_v&a$7E4Q<_DKkq4YQ<5X z`bs}pznU|gjP3L|Op8V69Rih;fRF4M|4vz9YthHX*ytPmLvEFDX9_h`(R|&4NEEub z0oA9s_Y064MKel^S>!p2Y1Zq|g&Dw=5+sH?wncEZfD%#Cs$+SMSbC zR+eD4kK-R=Pd?}OQWZq*;1z8JRU&0J$|JcoMCL7N2ZYJ+}0JTY0}RS%4ep( zdRkm_qXXKl=Ig%W3+?{eO>|LnNwv|-)P`b_w`myL$+OEnErv=#YUC3H!(QC#I%A>f zYPWG^l^z;+`wxE73Y*QnK}b;Y4~k`T5#{fQ|CK7As7Yc^<^BowUwMi8um6|3dzzXk zyE@rgn7RK)j&M4Ns5z4fESoSY5dvlm#uHty{$q3>9sjxj#6QdkTRq zg#~sFE(hD}O$akXhwfM(b{277dBd*0=lS5WXO`!~`Fa?)n2JcIv;WtCF4h3!2bs2ZkUogg z-k<&q7)p%x%a@N11R>*ZTp%={pXyd4K0puZ6y#j#{K1(7Yz*Q@Ff|GIZ_qN(MNn{N z@ZXS@U@raiBt#jA6(D%WJ{Tltt{cr^!+ORcHnxJ+;fPUV7gp4530vKwjiD0w>3~F%NAclV5 z0<<+Kbm?h9BVQ^=}23Tu|tRTDK3y>-~wo}c1IDO<65Uc`BYw!(F+*1%< zQ2aemN07^Y#sYX}5XF8-cW}pkcx7CHg3Vw;VWv6gO9(;eEtrHE$JAd>tACQvJ1Ca6 zK+lhP3Y^18iO9k)m9^iv?qAdB--LlHlcF$>lKxTml#fAgPKO_MnEh0Y^^M}B17^CY|;f#EnOh}X+S0` z2@J?lxgaTO2PRY~xGxFVZ-}BGYZ9moD0yfE5P%OoGx~3EYyaVp87Q{*P63|LvJZ55PXeL5&EP-hO| zgCzS}C z*&KvEygsx&R8}wpNUD#3HM}vXE@%=UWI{LsudV74YR)0ZAeK-49PA2e%XX`J;i`Zy z$dIE~t+Y$n3Bt45g}8$GV^c8rrMo{STEd0;SI7RqgxDHUBH&xJT7RAiSr}#Xpos3>rzfU(N#_HGR$z3bo)x9nY z>S6}=Vs`S|WrYcXWk2M;CRS5>$EBNO@oa|Gl#%6><$DLO0ctcxIc%e(nPAuX$eRz( z$eSc*pS6Ws@pSMfAOG~z&pgS>vb(C!V-y~y2%oFk2Rm9ha?9&G-Y$AWy{5(Ba7-vU zTVCEM2M0enTkVMWbwdjWKiTW2>GnY?gp`Kv{e@qqW&x;^hKAaKYI1Np6oC#dS_#Z&WZhg!vxR#vRcz3lZpzqRm{&Bar{saTOY-XHv@1gJ>? z7^yGG6^Dsy2r&zyq%W1dN2E9o4{#Es>=%_w5%|~AbW2P$7-;Z=bn|mNqLCVo412=*yw`1>CS)eu+c2@nTJ;=udk-`E;q;RpQbA83$_tQkhJU;uUsvSD{S86Zv z9W#5MCQY)~EIT-W!X-*qjb+hSyp21AZio5C1wqu?0^mF$%|M~#tZFOZ#JZ}KTN z$OrTD);R4(BGh`+j7{wKn$VH^nkVob(V1 zzK8UBRA2Yrj4A9Ip$R#tbazaD`W~Fp%1yvGPpP(e9kxFpm+7Q&>>^BlyglB8mrlvr z)L2|5b_z)i{X|pYqWAN?+}Rk52^p}bx!zV-m0UrDC0co40(|XsMg`{b2ychzWX)#bnTTyCqS^U?8pu+{NzL#-5dGo!r$PT2#XdH@aW19|g3 zIrcAVtHC%T>DTx@dn?ZnaWJ6}U&h|I+feCx#NdGKSMxVcn!#qh9@pAj{%1$UY-Q z#k;or{K=UDM0(}La=<*Z;(2e?t?vEU%;RJ^;>UJPk4{Yw19=w&jh@ZiCPsG&Ya%`D zPR15LtF(|>7=_HI;BS~Noab1cW<`feXYcN`HUhsm{*I%^zt@4y?L~dQuU}MR=CjFq zhXQQ^MEB;0kyK=jWB#As=1a<-{c?1Z4n*~f23<$x;B9F&v|Pj4gE>>a4R68CKSqj9 z2{UgTJAhN0?`=;R94|eEf#$qrBXn@0-9b;P{f9&YYfK5lB&?onuLu23AaK%_E6?!p zi)aGGiQvD5pbQH_8!fW2s5gYS8b-3zy`FU!ui|I7G(IQ0^QC<=#Bu)i`Fp5xKc&Z{ z%<#F7_Ieg@2`8}VTv8j#*cecp*%G@t$8W~Y_!Oo`UMkZid&Tl9obbd zSa!h#s7XK40$!UxLtgl6U%wf)M*F+rl>FY4l~3^D=sDIvIL(rm3xN!hW=w;UH@5C8 z8VM>>V>_DNO7Pu;NKJV%N5f-Q1c;kh}0@tf)<0LQI%DX~ zLd8n4x};Ky^O;=DSej0CubNeDw_UsRcP!f)8lpU(g+pex(bcpUE?h-f7&}C+UDp`| z>-Fio95#pDNj;5_k2@GQXHX1Wq<2!;ML9SvuKZVhC^nKkPJtmC67b0!lycVMb}z&l z-Je944vp^enqS#y;1lJMie1-0ODJmNT=R%CSFv`Yz$YAiK!GIVo4t^FuclX#RuUhi zEHVzpbpQSL&byh%(TnZBq=EJ{ohBXr1K~o8{5reN{Oi4};iGOcQ>en9+|ljQZ&_(K zfZ`&Z>nv|KU%uA6d_8%WxKQJ~c1e9Y@3Z<6MZV`r zsq?&Jt2dhczA@~(|L)W8b6z!0__nGwy0-JjF$(S6fL=m`l*N&KG)Ov9TOgJVf3!J-z zoVV`PLI3)_c_s;Bav&de&V#yUDfrE2?0n+RKL*x=e5AIxWn+9P_kiK>+vPhcnqu)L zf`cgKBOPjnE7HZASrR!JploDF={NqR+SXiM)Q;9>Wci%^r+&XM!`gJzN_dv5u6n6v z>5S21W7DE7lW#AA%-B7s>}|aQ^!$)P!(fw0d79GkydtF!?=>%;3y}kb0}>K8@NnZ$ zxLN^AiBw?N=PE#~OOI84LMH3L#CG!F?3S-F!|pd5MpKe|I^4ylj8uX{4i(uj#IP-}dM^eL~~XrnYQLIDa$)Gt^Zd z-ozV31`qaDg)Z|G@D3+I#sWintM*sgkUov9XmD5Dr*aLfBM(S)V`Pcli*hJ3<>xkBXB9 zdZuhA(DqDiQm8I1Kdeb2t4o`m=MO7%_UL8)KH6|Ea`#i{QEG?f5u=yP zrKU@U-;^#j@tbh4H{8kVaun6h9I4P(1{~TQ_M{`~Y1F?;{5PY(6Y`EhmDf^<#F28s zbE~UR773m5#NYc4%F@rYo-6(y&@)}W1kuSIB*ywMeLEou$0Jv~Ui2fb-)NWh5jocl zGU=k~HG1~J`Of8G`_jk%uBAC8t)#!hNl8`Bj+LgYL~1l?$iy@or@!GL^``smc;ZTT z7#twy_tD->c#m+nI-no(0?EJ2n70%4C@iG+e2pdbH_$Dir(!L;T`);^3@gcpB<~mI zKtKXBAgjDCm`>wX5k@sXjmH{3~xn}#+hYZPw zqaC?>o?%(L5I>7f<|)N#*i8yh97HyL^M;?jqd>2^@~LZq*P7bKxhUFfcC^b@m_DN@z#{1ZoBMG2iB3#_kpBaDWpPk4ysAs% zG16}+`I2&eSiW;Iz?QOzLAv}Re?#%tRKY~;m>v>O?6hzP^8GKG!_mqbnnNm5C71-O zis$?YePWW;3Bs^XG@?I{>F^rgexR=Mc3Xi-`N#=U{YF*TVOk>8ia<3IAJB6@MrlKM zT)-K^sVblK+pOX9s`Zz=$Jfdxyl^^Nljn%U`Pp5Qln>& zUDxOu8VQ7E$)5NnM(*Q=KJ`(5@ZyjizU>1PTZiPL9OV-zDh! zV80~qUkd8s6BZj5KHmw$L&}_#k8m5@P+e;SI|R)Sjrf0;K_>%u^`FZj&UFgK-VXjI z!*{AHGVK#X=$EGi!myr)klzLajeBM1>#T}S3dG)$`|X~D!o2rBB@SX&(Ot8&THfbe zt%h(4KW+BLjo={Lm8J6;v(!M}Q_297U->`!u89Oanyu3j9hAmEJF#RI#{j1r}6=YKg^D3L5M%#y?u0%FpE(LBXOxqm? z^-~VS331N=)ZYo@27V72;#Lgw(|i9~Lw2b}nc+zaQjdt4giloYpIQ7~$Gv-4llbqfY@LEOTEc4PEgLEMgj^aeek zZ<3?QMMNH26AQo}ap4CGCg&KsbH$#CvtHm3&*;+<$ICQ&#mt(C(J~bQuBikIYR4?; zTc@Zn2~}nX)*sBe^K#W5&(7!G70JIIqT(1~+a|Fw1!KC)VtMV)t*5A{`49iftG=1@ zn@r;@qUv-^jGE{#)AEmipG$NznTmGIuVFq`y^p)sR(`U_lzl9Bv+pR<@Yjepq3(lU zL6Fr;^ZH{PL8Tk zEFV2SO_{LZBXW`}6^P@kpFX?wmtC=6D`kdLXR9n}Q)rdLlHxPm%r5mTKXmq`NZ;(( zUSSm5q5|*`Zk{FP4blPPF*hW`ikSHqibpS#@FHX!+fqbUO}#vQo5*uu6S_6m$>a#l z@~#@zuMWbb9XrH454JMseR7i|?jL=+UDMU|b$nz1R4g_T({>bmNn#^3{K$&%vJP13 zrOTFWJ`PP*y8_sibjrNbX{zy3j_JA|-cYsLu(P|Vr+@mwZfZ$8H?Uof>|-3Ir#=jT^0#ctjj zdl841%H4;vZxr$NQhjlJ@lowGT!hJA(o`l0fhBBryOe@?m>tn_NY3M2?X5$)!w8!6 zs(wRkl{1lsSISY^WSEnA4u<8?bgZzWiVK+r7;EVrdn{8~Ph0TrVM!EHjhZu8@%s}w zf7)kdiRBElSL2fNtm9pmQZ8-Yi@DeMQyDSEkw4H1zL^J$J+H5PuN_#E@!s{j4Ms-s zN5U4I&HFHchR}i7Cc{L-TSCc_+0dhcDL~C`QNN3dOWo+r5SOsvgJUY_busU#6h2&A456%?L~@)Qi1)q(t3N)r5#rImW~F=p}q_z65=+ZzA~lZ zC=`zBHaw?hw}IIF+cR!7K+Go2Sx;ZBFfx8jB(3*I1QTqN5|lkp>r+BG_$w zSU$^{P;AMX*J~u>iB-9Vbkm{!zBZ{Eh#dk}jBMHd4N4~1@4>pi-;cN}hy}Lj3`cH= z?wA*7G_42B^f;usy#c?kRKL)iui=W}cq{4UGlEwZ8wuF4#yuk+)>hYbV!+`roRY{} zs@L7oB{7G&3TpxPd0JO|ekIKg&*$9!o z5VV_qf?Ep!rI4`^s+@@t3OOgj%?*}N*}k(tXhDFOKLL}e)X>qTVaX0v9SEkg$2JqA zX@oJEHjw0Sl;kG-8}Mr(uI<*7Kva(q4cXid-P896pYWy}UzxC^ETZCymT{_Ct!iO)2GY&0g0;2>q-M{Ww?uHn$y%8$lg#}6FBo6R?x6nuEhpcf0Tgm8luAhV$JfIT6(~? zyGVtGmY+e|kYNGtK=G(6v1bsYIH`YhXFr=mnAHYa{U{z&$>IVdOj2i4G*-Tx&U$83 z%c!_4fP2#FZhK{Jw1F98Wtn}YIVtLV0naA!P%Zsk;30GlaE=xT;xrW&k%;{Ab0v!q z$*6jr43{=HZsre64wZDnD$jZzlen)ZRy_4Z`0Gt?MuYG3d#^a(3=X^aX1BeQyL)`k zl4FazFF6)q*V^lhm!R#mF-N--%5ZL-wv#^h-mS9`?J{SI&g{qJ%6pVWj;#A+Dc_Uo z&yF+OETPQjrhK1n)zVrGSu>()`!=S@NfyB7mCeGF1l=@c*Ytkk!i+@rPa9Q9lU>Tm zF~kT3iCJl#g+<=kncz?!@Iun#DYP#Sco%wO2r43H#)2`{PGd`p7N6j4OtdI;6d~8F zlj}Z}d_44yo5%`$Cd)mNP!zR10cxbJ^?~%6MB;a%qz(KclX6!6txn!*#LTQ!wxl03BwAyn5jnk zt#(OPMuOh!>rSMIcub#;@^zlqpv3g9tu7umM6FhmNid|Al zM80FG%`z>H1 zkJ8h-Yp-Xt)2x7x)j$?e!gU=}Un#ShlK8RpYy8IUowijztR6X{6Fw0hiYCqECts0r zMxSKWD2?iRN?s#B7t;gb{8vPI(f4ANokM56gl;YoXE*x-VeSE*p-l8v%{(HmsQk)p z@%3Yj!N}Bp!=g^v>8)6=O)9KwgqPFl*{waz3$mYBVD7_>iOm^ZXiudM_L^H?cb-GQ zlTOWs#;gq0z^cHDy7+~%QuX%ANXdJirhT0Of}I)5OkFE$w3MT>X==fxx}UDS`*BwrB60HHx%KnB!@3o= z-CiX@)L@E}wmv~`UrQbL$uxs9cQsq<3KDuXt#dLPiee-$I~%F^qf`g%)_BdyFqxzj zYT(qr8ZQd4o{oY3#_@$8?Z&nc0MuK=*F3BB>t-5}(4T8d370A<70|PsB6gOL#V7xAduT`jdibvVUlL?FK{m{6^xO_qwc-K2khL5yOn@4HU=lh3y>WyPOXK^Ld~ z!zW5+%w&Iu-R97@vTW4P^?3{T;g|{TYGt{ciyI&9(C~(=kgU1qI%W&g)G|$-_eHF6 zETH-!@h89+IXv)5`S-WAcU=nam+3Jqr}>BZor4MRzTx_JId(U8tBSQA0bM3`V-jO} zTm8Z@PR#b3h-5M5t~nv5=(*U8`6`c>dfQ8@K+)!|>S4s!$V@D6$YX@=fF5>d$;p<1dZ5ytCuXEnZH)f_i^bc%_El#cx z1-NFLPTuh%)c1D|h%$|i?VV+@#S}EK{OJJq12rRv@mqJUS@d-?9V5=&jDPk|yVu^e zAMtF~7g-Yf;`PanuqsrfQ+qvmJB^@$lv*}VBCU@Qz%%FJcd&PZ8^VZ;- zRu+*X)(WCOT{qnp*7~@yxozwVE%mgHICTJ9UO7xM8C@mO%58;ko)eH4;$F7tiAjsJ^deFV`X5R*Hre|IUhckwG2w`Is6;D<|D8${#G)^RRWb z{n=*AdAtAR#n~IWJr!ui-EDH`@OqC-L3@*QCLS?DW8`bf6COiEfmSY@s3ISEV8VMM z&Tp;E?VDZUypJR0RKcD(awkTFVoN21;m2a;i#LiaS>a1+TXk8b}{h3pD;xd?G)he=S~? zvwI{Uv-|E{)KQlX;zvR4KDE9~Cs#5c?*q--5l< z@He6X(N?b*lCMm35~GoFe-7xLH#)PLcpt92kBhRZs)UfK6tD)c>P^u`6|!}Ge5FFPvz2a)p23X~Qo27sY8tfVUgQx$2b zXi58b1GK&OTcwvm4tZv;K&JJOn%CM+?KOtrf%2B<`)Q#sGLUujIqA>pz^mfGtL*Oy z*=d>5J7&utMyiA=IqLktVp_fmc3ivp&jSoz7WX`DQTd^I#^~Ot7^s9I{jB8pwPMS8 zb_Hv%?e?=Wq{uwT^%Sc6#xA%U&6BlF4OuHG{W0O-iTzb)pE=Z@uS5dqa8G|=ExR=d z+SbcwHqG6BBmC%>N%ZtUH&nJxEmFc?)|0+MN=ibQ(@Jty3-$YP4x^9E@)^pxkP_q> zUqspf&jhNiPT2m#a`+`o@e>>p*WpwmhWe`yldrg*Xj?z3TzJn<#qRS4(pqLrEBM8cdbT-jEMl=+y~3Tx~L6lf=QFafn$cV<%jclcIOZs_VYZaH$Jx6ju)-8%sYxh%m`G zqM%fe_@DOt34DLoV{F7ol8GrhlE1QRGD*e?Fo%XQ*ABfHhln-+K~IfTldOdZDT3>z z3@Rfk9LOy}!Th+al45n&3b0u)DmaI)zI~m=7C0=7+8>n1=xE+HLndQ_1A?oFbJBjd zlqtzHlh$$-PW#vk0T5Y& zr+r*k1->xu>)5205t7*ME&SQW>E^6Qk>Qk<3E;`P639;R(BAl;fgly7zl09Rb#A|r zN!DXbQ$m>s0(EF&!Lp$6a<3gSGR&DEJ_k5x;9g7Z|KvL+(Z4<@CdF!ck@o-(ug|64 z{k(k8$OK8&w}@vLI#Rr()_1t_SeA0SzIl?q{=RLWVDEaEJ)PLWf4g%|e_AE=czSL| zAb&YNhfDSKF@1{541<&NWxI9=`WvYnfgi=LP61!NZjx*6FW=g<@I~cEHT#r5j^@c6 z$UovG=kImj!m8@2Fary33tzmFYZfg8vv;wzo>Sqm(fU}sixbUtcKO&D4xY5+9Ob09 zo^?|_*v6Zj^gsS=C_GO*cy3Pput}NS}xX;h!p^7U#o!@iUKo5C4 zz=da=G1vF1iXp8mDe%j59{{`D%%31S~&qO}I=R%@^{#7=v8Y>T7v*uygp7uc~>;IIe#nk1-K73 z-h5(1seP{rzfnB|_CW$0S3HakLga#lBd&HzJ@FKtH?V{YNxcgdgY$+$Z@QB_aIqfl`}coFXd9y#wf!&SqIwf3RPVtnoG>3!3b~Z zM;41S$LD5kKlW~i{I-}4#hd6dnD(*w#9R-(FM7Gv!&Qn` zH3Wn{Ju4DDube;*?=cGS=Fzt-XDZ8;l>1HULbmIh2&yNY!bu*q31@%*!wo610Z*|}$y;3KAQc?!A- zbwLAe_ry8tPBipfW!fbSH~dff#htxX+|M`9kX^&GU0(E6>R3W?4@6)e`}|zx6BEa) zPD#(ocY3EecVAFE-{FB6CoR&TL$64rKJXB`?n(bAu=NSJ3%l!$t@&y^GJiUzh-e&3SAn&8)I<1&pKjLmxe*AOmwvr zz+iZN)Tv%|Nl=rJ>_v(e9=R}FZ7{$UsY+n@7nT2-@PSkj2?oClj)KWUR#xv8Bl7k7 z?dnxfQBm=`^WpnvvbmR~XB(d$N@L&xkTX+0iD{hNh&A)@BjsU)n!e1n=9lQ_;i)Un zirDP>70*eus4nMhAqXo6f^sQ`q_;dmHrpr?EX2@T3nU{vETXwq{-&SLm zE|o($PjANE>&8@?JfBT|hRo?-*BfX@arA1YzUX{_{N%!xC@_~*2nr4{lT7h$%!}lP z;ShV322+S?g5pOR@99MzJT6WjT1sjuj9E<0G>piv7qgUA{%ro5WQV9<_(ESv%#v>% zZo9F06*zO{_bov$Ogi-8t}c8>`%vnlAFNe$_?DiDX`r1}i^-16S&0iYB`~dsIMKYd z;<<{!2H|dSNKcGbO=f#-!)AYEe!y=+TnfJ;gvLU~`POjr7!MyKj5M9yY3qEVmaTxu zQk_S7GDyX#n6^sg4D*uqO+)3HSoHY6G{1e#56eOyzlqd-RI6gZ;XV-_=hF__yA1t; zGapaoo=wzWC_z!-ZI&}Q z@L++kQc}_0oS=!CE>$lwoka3Uu$veGz}e8^Zf?=OdVX~d0dqGwVUlt%yi;S9%?>Bq8FNpUqv!u>lx?G`7zA(+ z{I-fb++^ui_S%(p6)NV>Xw!WK=JA|?ja6KcWTN=Wa^U5*%M&cY{#zQkMJ&S zmWbu`Xs6?ZKJLd;lj?@~E`(k*Fe;La$SYH)Et@xEDUY}zqwl(sT3iER>u zwCcrt2!P@{LpY%KG!lNtDsOXkTQsiQs+s_A-_Rwh&`H_|_XNUvM_j~!DS`N$8fZ6C<8%J< z5c{_g7&?5DTe@FvMBr{xX-01?&vR?i6{>9(lM_>YhK6iClN;{oK3aod_!mNeltw99ZrxQiuU>R(6N8!28~D{`4E<~A8@>q1;_GH{ z>FlNtn4SOQDPD}nmg!l*YzGKRh{CB=Qe2u(`Z>^urv|h|fl&ueIm1LZi1%@9dG_1CZNtz_I+=V_oEw{e>yhqs z(ExS>zl+@pwv=(3gLnUZAvGNa{m2jNVLI1a37mXRQ3J9Ee!Z`@eyb{S*X)k8e4iDd zRD3DHM6)8xKiZUBfX=ybCJ)I&BwZQl0V6Gc;195ueKsdZ7Tl-fE^xZZJZ_SbaNso` z<;ONOeRex#d^k*flAU9m1+s7t71S&7e7i*fDL-~Cr~u!Y)jmX3EKf=&mll`8pYc0{ zj-ta;ppH!;O*$`@a_28AY0&D@Sm{l$nC`5AlfkWU_=nq(-9_2 zP(b>+?;n>G4e4OV8q}bK}tbN!C(D>LEm8C;7B0qUip831l$n*p#HG_kOWY@P`#kNkZ~Zp zpu6BgAX34^!DjtRAf-?6>p@_9n5XTr>u-Vh1hw<%$zL}k&s#>%eVF@rnGRqN@hhb7 z`Mrt*eQ;s{H>uVK0r!4@10$c;LzWwaKwu!*sq!Xyaj8(GU)Yn} z?3IE2uO92Ke~DGx!`pw~T{II0pbE1UKnm-S6{q*$+Qe9rPv=|71j~cakkSC{R614- zZ#bxKH@}`GTNN*e6W*cUtI?XRhbpx$N+ZvR#|D1fJCz3RjdT1#k}{QIDE{hm%!#wd z_rQ>asaX|)1|_3_C<)mEqbB_wiUw8}LZYf6D$EPx7>@Rf!QFSt)ro+HlscYqvU;47 z0-_4(7q6;l!8yqovG$1O-wHT)l%Yg4Fpd9l77|SjQD-MccNA`E*kD{j2+I>>lpIuZ z;BD_eV3;Lm39a?iB)1!Kl0YF{{ovlVEt!uOnrTq8nRnIXq&ce+qP{~I;+yQZQHhOtI{?rS!vtW&01@}bI)mK-Q9M3e7N{*^eL*}(XADM^Bx`dO4lTn;IE$GzLmE#N8O zKwauUdLi*qLhs`~!_jN~m17pM>RUG^AjHTEIY%!2>l|OXog=2M@zL`(9F0H=NJpG_ ztJXdSCU^Em%-}_ZSVDguT`t7y>Jf$GvpRQ5ABp3`G|0OD^2q<8s}|3oJY=~wu-M)8 zZh{n7D`T+w>5z-i`koRjngJBhRc`R~qqQu5f}|GD&+v6A#m7JGsGT8-@)N8Oq4f>f z$tXc|n;@{{@d=du$y zq>`Af;d>41!e=&_%BPlG+{@(@=*Ug^(y#8I4Asd6I z%?b&AhEHnv048{;JLD}M@LVkRuOkN#B+ofrZwV8Bk5>ypkib6qWWzRAz7HGGJ=jF@ zCv9NTKKz8w8AR`)&bnOO2YBAF;L|2)@CW;?%dbzNUp~KUetfPz$P=ygvqqVHUiwRH zJ>;O!xut(fuQ>x0)S#Y8_`lu*|{IVc+ux&2zjm>$Q1A0zM6 zJxI=BTY7bOSuNg#AM@cVvUI$jC4{#l`10co(rFM9b0?qu*X4tEi&mfomzU6{Z9q^7 zS)5;n;SzMlj-BviGIl#X?6XA6BHK&HR-9~hpJ4=h&Gq87IbM@pTLwuXjrb85OGV*F z@TQeoHRQuO8c|ScA|*@A-Q`q)e9LX>41P{s#@+DRV96Rz&Bs$dM>YS)IwBpmSBDD! zy5`YZ)ywfB)%~#ina1e-a1Ex0LDI|aIPEtd&vUXo{;u`THss=^UukdlJExnx(93nIz!M8PQ#`6L2liiVXNE27|1uUT4rAXHZZ{rw~679#g^zR=fL=$`x zL!r7V^|U*v5LP=E%>Kyy6lnM-RBgH)un}Fl`^%V zS7DEB;!AP@H0;NS`FIK~d?E~Fg3jP~`WTmX^TA$gs=4kik?kG14$*7mZzReszwExc z4%fMd$FxJTMzDzVE>62 z2Hn_UO3(oeoHpnlf-$l%akDd4ds1E4a-1yCm-o{J1n23ZL`gL(v}plMg@0dNhV zVj-W4Zp&s1H-pWAegu36`T`gx;IqZk1IPg=MUCkU6$@1ecq{-G3z-T30{{j<;$k?c zM^u0<7I+WHO@L3p47HCADBRDlXRwDrmq7st1~3??-&fjqy9Yv-#Fml)3IkR_Go|+f z*p`z4tre&h2?IP5T*?o!M>c`N4Y!a1Y|mIA0UFx?haE|@KFQ;*}8 z`4*Ng7z1)ES}N!d@E`CBnhknOfVLlEV*96-1G+@=N&|?_HK%+RLgP3+T6a5=R+~U& zE<@L2VNt28is3Ov#+xna#47oKlQ*_mrPtv%V{NVs&6~=#)oLC7tHFfs+Kwu%-JuN0nj#6FrM5M*>1Wi78|K>oWv}wsC4ZBC3HvAgT@Xa%ebX zuA4BnV!x}826v`82_PynJS(E-`yj>p#KdcaB3C*ticBQQ-f)0b5p-D|6^U+e z?PjqvODwq!wphPGCA=Xw+OcsMWhyB;o_LM4FH6uzY6E%hC7EuQ7azsdvkRi}HfJnb z0!R+e#IW=gJ4)vVSRfwsqrlS~k5}N;cEe+xK3YyR!=6&lT%0!_c4Rlm)6D9LqgXt` zu5Am7n&SpBoKf!mB8P(GcFnhY+CeJITufK=$_A`cLf|$jzG`<{qMYNA0%0ZiJ2*DX zXR06)@v#DVFf$to%1K=_1vXJ9L8IJSYh5IJ+z|J)!ZDhn1{wn=wZdj6niC_KlNx}g zIUOf-U-Mi?D1nf<+?V{+_c(qjFQ8Xq&$i0R-dujc$s)T!ci|qigh&>w=@R4_A`0}? zbgU>GWx=mDe2-&+BXO<0oK3v2A4}8E#(cR)Ng;~Cnjj0HIgD^D3V|^D87k9BFRT+y zKBuPRh#ZtlW_ckCDv|X=VtC5Zei4}-hwTJl^sF_z9V)~T@%FO(OwLy60!65gRv)Ae zyah_~vi5iwr5uAJ6FDTllI@rc_$FFnTMG<7m(y>BGB=`StSCD%FYfb(r7`* zrUUyU!zTH0#?)e(;61ClngaH6%nD|}(P+R!=5eEDXOu?gw&7IE?jj!dnDaM!NUo|# zCrvm$;d8+C0|A4IDDFlIuu=oxdS@gV?*({xkiJPvk`W8Ob0Ucz8{G#fCVJ6dqv%tH z*({K}RD84XDp|Y{g)ZI@2wNgDVI@#3f6!}@qTmI{gRk5!E~KbIyFTOaTsdA6a1JJ* zR_dK7E`{c1J<3)-nE*(0TgTGo3cq1zpO&hlr>+aGd|GS>t^Aa3$iExBov-PA+M$4= z)riNuB(`&&*&?MlWl2n+%1Ln$@UZZg*hW&F0Ug^^2RqbWSBl4yX)nv7yfP}=bR8@i4LssZjX&P!HD3PKlZH(c33H~sh_iKo$p&GHUTS+ zQQ@-$X?Ze#_iq40{`z!zVZ{@?0}YO|aiKygqD-npsbqbEZGq8d|M?O4nQ$a0LU|$H zqh8Lax-Ct)eur!{f|ZtcDj9rv#fz~0!kwOJ5G7_bRqVlTlej5Y;!V%tnm+#$KrO%` z9_W)gDDBln48)3ApySa*gUCX2;;8#f1x^lgGEYLB8FQF23b_|gFy=@pM<4c`J2+wF znFBI#_-wMggxTeiGFff5pxaImaz7r~bd-HwizhS6v27Le=+ub%J4|nh!TfCE8B;+A zl6YRZTiy?u24F+I6jsL{qQ@V&g|)u%q(_Bu1&8PZ(4eV*yto@_Oj_Lc#`gOcxWWq zKjkw8+egW|N;}!w%M4;Sfn-}j1x-;b`Y`4>HI|zAqsvoSD-Dl$r};BnXM4Qik+sqf zt9XCYTbqiU{xqp}`I(f;_*#3{Juqu-wZ6R)VB>AHUHGIC&=vOqzkYigTtn|uesulI zfd4esORWyrsKBv!Q&YW@+Q#gHn$+R71mD4E?CO%P-ROOvn>>Z*X=rGwCB~Ik>!s%R ztJ5%h#~Y!^t`YwF{7Fi|_rlNh>XWF?=cC!*C98*bWg0Hh)pwgNwoCDf;4!GQ9zVya zaf2ruB|rHuFQ2+yDh{=IOq2%`OZ&vxr9atInopTpJk>|5ve2hwGas|q`QgvnsI8}F z4y7(ue{}jh)dD6MK6MetM7>k#Sxc^8G)t%Oa&48~<*XTREgqO8A6A~}uf6QA)7zwc zWDL2`U!<&C92H2r)0=D0J#!t)KL9C9WR&O^oZ1I#doC3VXW+jb9N;%TmeFQ+drkf9 zx2qG@e%Tu2Rzszgp5JiU{@ByNb>45h)NCwwI+z`<>Ga5b=(03%UU+R++?+~_V|~C_ zA1+!YTO#nr)zYPH1hQBXSE{wgttu}pJGC%DoK;A_?I(9$oM3Y|Phz&Zh3!krT+nZ} zEiRhyW$ptT3_Q(l7S5;4FRYS6sJ{DUE4mt}if^I}&TWA=nKbog_A^Tq5zx+Im)bGr z)Sc6z9T!Wz7K|*VhpPH@VM>#zLMkvQin_JE(Vk1SRR7UehK16a>k3??HcpB#4|a6D z#Ggrm?_zP6g4Iq~rT5M&Gb=0a7Lh9&>VTl*CfMT|b0l8&SJ^So%;?nW7&jlO%&5zX zhQ%?hG6OBYZis}gV9aY&syg#873u|sbMCba%Q-<3Y6%jb1BVh%IF|_1JaaRl@5)KC zDtZ;>wO$`g;UZGz;}%fGilD-Rw0HBWOW7*HXUn{b1+q?;kOl7~4o*G>zseVw3Jt!%p?MA)TIM z&JysuJcT)77pB5p4S+UGn1P^ePA_w=A5!iQuiY+Kj9yZ3W}AVXthc6k*1iKp(k=I1 zI-*Aei7&MP%TvrD9060vV15+M*N{Nvd?PO(K~(5bQPTXb#rz3M^}uS~~X zwv)5*(*9z}DESNXSdQ{H%?}Q!wYlPQ%Al#ao2r(1;r(lzp zl-3__bnAZJ`mNlS*BgQ}DGKr@xUDYQ!jgxA zSOr&N;1u-a>&2}~tZm}dQkcrhPQ`Bcruj;oB7dEmAs z@7A*}3dPIK*`0nwiBnw=zTR#M2OG_tj2+LHpOm~1RbX!NLsW&vxzC-|P>AdIcIFeI zMI}Uy;~rL5VV1C^$X|OF6vAsxHiGP>RoBo}VX|Y4dDHhcB*9z!@P00wJ5Fly@l-($ zEtSCzBctOC7z@jk=Fc-%fzEUf<>GZI;XvQQ6kP#R{gu2VL$vRZ!((h>A}QD3ROO~J zP5Z&E8T9k;7mkaDcp_c8y6y!4Y|4(^y3@Y%qV~|Xw?8BuhJ{Jp3pZA$wOx?&qFAz^ zEze;TZ&?Zgh=|TGi-jPF_6~`|FE7wuq zlmLfy=H_n__8xaoJegZJI#yQnR|4Jn6gLCN-|1Onk}C0FP-8g zPSE3sp=HhL7Djb#k!OL(-`!5Dry@+I?lE zZGZOaUaSE(ODX+boDF!+&(fT&fY`CCIQ|~u{_-I`oi`U=5{Kyb4RB1n^vaPR@-F38 z49A|AM%g_V-}xC@z(-Qx#c#0}drD9~ksng9bUKyx6Jth)@W>)x^4UiWHQD%q9;4}I zC5~=mmQhkqJ6URlITN2zj5+>b`u6S_5v!n&m%koT#fN7XJ->psoV^J7;bW~O{o!f< zb7fZ|A04AXV3bkGsY zx=uT`j0aZyRs7yx#-)P!%8yU5*lI05XZtTg*&x)2^w z@-*r0_-zMwr>6xXP?`q&2twK7pKeFM5{RCm_9z+sd6OgdyVlhRnLLKn=1LC5;=0Peq{2cm(;@^JVpp>|W&R@jF?-3uP9EPv}j@QA^pv3PH z@@Y%NoAd{gJU>@*%3bl4O!d?s?>4#nl6U+_BANcpI_nskP~$tqMiWf{^P$2ti1Ufn zR&ey8ZRF*k+U3=s7A9V?$bef53y1NRN;A=(n$BHYr`WxO)kLfoPk;H?EwhvI=!(2VKz#&HEwhpPn02FV6e z1*-7<)uZFb+M~H;ri*(8b47E7BVbk)@(y%GbcIw4=!&@v@e{}rhz+;~$Ol*(SQ~r; zU<0HX;5(qysnznDuZypX-=pt&&uh=7pAP`HFT8J751lT1E%+0{6T}m_fZ03tgZ7qz zF8&qd6=f~{6a1CVmQN4h7Qq$f6{ju46VMaV6BGxGC#)y1Co~Qq#rvh+CjbtpH%K%f zKOjGFHvpahAcJEp;Znl=DDGtz5AoyTcRn5VBfrD$rvB-Hw?T}_O_i5-gavkxIQ+q#)wQcz$u77p)i%GrRm#dYTV z!QVf7sl&x}R<}Edms8BbeJ~3!C36mRR@0tFwfOsxdEh>ps?2WbKW}47kUsO@!7a^E zb9~t`KSU2FCnvhWZPq$ne0hmp{Qzy?zrS63Ax~b_(2ISSc0s$Ob}Lu7r?S5iRIy=E~0(*#TM|{F;!1jB*wSovL z%3}lScKq>*(3k4d2{nuB{U+W0QK9t-Ln0YCWY}pJdOt1WIv{uZ%Hj*hS~>QWp|=F5~d zG$9EOv$P_uSj%Sv2{aJ>E+L+A-eB4;1KY!THVhtNgH>W4L*NLzs@X7R*0;1S-9EvD zpGA^cFl2C!*b&8WM&NPcNdQ5*3Mw9gp@;BgbD?(Z73%|CQ6_g6i>eVdXLPlH+Cu<^ zVe$u#lut1?1~k+E_Tf45f@TmCUrX3)y~2iMimUm%6p8XEZZ8Cog#?18)lOhp3yz zH6y7Z7MD3 z-x~1b!L1(q+EtB8;(MeFyMeksiV=*JGb^t~eo=Y1;B5y|Ld=OwXVUI72uj&<#IGS4 zDr?J?pm2|QJo-Ut`tmLI%+(|Ax~upT!=@~t{-wZ5R1maRC<*{8QSFM_pgsMniL~Er zZ>EB=-SKBtrJvy&TardCH~iS!<`lSUm(`M-kAQ- z!2-YWN&^cbcs004Rznc3nnHCGXoiJ03;Ab7HSrUyg7yxvL5VdY%8NpO=Y}T6dWT+Y zHZOUicicFmby?=vKA*@~nfQroEpJPvL|-S2ZOorGIJQ_91;=Jb=d>6YqM6TufHS)1 zWEgg4T5)+qznsLPVMFyJ*#P<`*5E^Z27MwKv^sc0bVn++-$c167UY(#3182M<j453)lY&IgYn7;LSllxxrgU9g`HcAF4)ND>XclG= zY6V<12J9@!q%)30b%6XS1(nL87z*-GX;726!9xFP0He9Sm1$)ANOqJW_DTZd32_JO zP?;fnxUwx~jd||S=z!0|BiyrqemnQ)eK1_6BfV?P4_uqso#YiYYFD504%D~$6$|R8 z7*jvlwiMVyLG8fLa_8FOmgHLcC(wTyJ2*#IP0cURpwGVr4YK_W8kDv9oAl~~upmrl zhg_l)V2(|}b=M5L40fhYk&IN4B-*c!Q_}67xL0`20K*(BL6(#Kga?UkV1fCbi7q_q z(uv$Pi~%z1ST z_$(GyC`R4B3TDW01pC+6g;p?SSpD9TCn6=Bi%x-+P_zzmO%wGVV zHwU6Ao=H0NDYsA4n0Ahi4m}DQl?ls zdVTl;y)sAz9mX59)`A^6M&(V#KQ?loxDjs^9#kRuWa(_!Cc|ZSCZvR?I&HyX*$P$j zF5{l85tJvrFSbscz=rd5b9T3#TscD#Iihgu1kG$vSPl#tEwis$Vxyo}B)X6O;S9Qw z;QR~oYVd`5ZN85^_gFEiL-5}&<2ZU!#V@d#vbw7^&~)Sk(eF@@kv zm5d-tWQT4TQqP;P1qpUYWdBa?U(!&nuE4evK1e{eddC;;fi1Sh97Xrq>`nBLQ+KTc zSYoF?NYT}k>w{@|(bU9e2DgpRQtJb`+1BpIhdOk_IbL&MnU*}>`h9l1M4vIdMPjFe zSP>)bNsi`k6-lK1s^40= zy$cOXWOYts3)cw&f2@&+CM=*QPZdsq`U$H#vN|Of6{^J7@l?BW%1fz~1znI*l~nxT z$l+&AK4Fz^QojmR^k~;n>ehp;Kqkw?Ra=tII@_DzSXPbM_U(u2i>mKZriJS22t=TN^oS8=Nv5Qg zy~>i3_%1LqDXBEe5T}z=tNE>4Y!6pPNSbmNb~I1Oa*{aq^9lu5P!eR&P}2I7asb3+&LaFpD_93oo6Ls?w$5 zAT{5i|LOPiYZjv$k{ad9;>d{Xut4)4zX_q~MDhcvN~UIk_$HW*g3pss=i8+6K(4=4 zIO*8|TB226U8bbI50wiMDme)!vJ_e3Op9jz5Y{_Xsi(oT^i-O;XXBx2Q;uJ^Nd&t) zC?}HzWQN#P}c&j9zmalOSn)1!I4bwS3~7 zOR#YW3gbxU0HZ76yB!Z6=y5&wmDkYxBo10ro(CzI@lNYv@y`CD(q}a$GW%*6tSsKI|`Z zPFOP41z!;d283fcS3tl$Se^Q0T>={IzfL#Iv|R6u!#M}q>rEzzc`vas$-wCl<{s_p zyWXN44(UbPP}qf* zvhKsxgXY0cBj5u2u&CGXv)u&G|9$G8+2OjLs^)*twch`BMPd1SMfo4>aM!xdLW}k86w5#q5T?_d)x|WJ| zXnH(tn}6ykZ!Wp!I2$Oi#;Br-rw>nq{?3vS+FwWa z5{DF1Wh|ETrYCXi*26Q&SpmScKiNR%maSEM%=2L{hC{oK!=Q|2LApq4bKpGj)p+=N zpqC$%Y*o zM(*!n4cA+P*lq@h4QM|Ff#pV`z&pgfkVRPQ*DzDmJ4Nfp)Mz(k5Cc^WInUw6^k{E9 zp9zaCtejcHD^BfRGcii;2T7$9el!W_*ju5P5uhhxx$SM+HE^!RRzO>Z~g(vqK$rE4)g|wiDt^UO#JB z{pRUmh0jJ6^i)*`#HxlvXFacR@(nsPekd-R_*vh zxv^h9(+-lo)_9O!rG+G$qx&y(t#}V5(+SRi3rA%`EM&wNy4JYN?$jt$ z{xmjxt)a&k4sJk?ThD)3DgAN0M>=bPhvj^)8worTkSf9R)vNsd|&SI*M0B}Q4k+^ zNbZa@5Y|1_vjbNMd5FbsPYRK@)0kh5@Le0cpuk6?JRj7u*l5Nl&1`=MA#XVkD`*1& z-2{!s+x8jIig%h{vD_W1S4UWc?jSiNI>&I#2I-QgWGQi(eh|DQO$Ghb#MwTD(?`%q~xIZL;m4klI$+EbpVL*z9OxSZD5@< zJ1x12rVrFV2OS6?A~q!-_Yyn*1P4A!f(#0eU?(l0@q*NkDH zJ*KrmlaUIe7=bt*m3s(6t#I|fgV-SER%xY3Bix%juvM1=k{QSp6VBo^N3y@%AqKX< zdW+fOKl-*hg%`cMOOv%ig|p`+eH{dx0}(Cn12?79u1TxRbb9APesvr`H8 z5SfGpiVUgR5ULQq8v_3j5F%0iC{aw^t30izKL4e{omQwBAw)I}{FNKzgv9&g_ybTh zg5KS7A&T8bNEh1~UUU&`Tnc*^h^lLLvKpaUFyzN!Sg{HJY3?!J)E!_Wq7bSUix@{* zACg=RctqClPyj%953${xE1PY0T|Io)2x69gSp6y2B~a+$+DMt8*lL%h2-!5n*z4=E z|8^*A@e*O7d zLio6wf<$lJottmyf$I=^1#@&c*E}xKfgOI<#Qs{GW??*6b0T=b+APU|t^|oaa85*R zB}^ku;XOg^6KSi|1DSk93pJQw70cctTLaOLbRezvWv0t91{O7f6 z@pULqP1E zL~^6eOO?+ZogT1Cjbxf#_T-ZZ_L7w!lN)VlfS|p*k6UXC?p!qCqhOHnYst|#yg_jp z$$eXLkEa023z`7QknUqmN`#E4^%*nL9M5sATS5A_So(Co#fbC0;@#pxT8UPN{Svqe z$RS3spdZb}-jV5tMMvl??XW=wD+SPUFKIpZZ>%gnT>85}-B>ghTWJKqx7Q3Z zL@8Y>R`ozk+U9~+1UGbBsg`VZE!#G{;wvV2Uu{z~Jh@t=b=!gfBqG;xPatZ@TVqJy z^4_V>rh~CEngF4wQ9oVkM$IiibQ$f>(oSKP#W=!#A0VP^$)|*%i(f;1p;%plo1=9iU zEJ`308guOgUd#+)ME-=6(%r9SM{gujV$3bdanHbQ8c5WSa)ZXUoOb7{ zEEH}wbcXOCkVr>Vap%vgfHWyEcLWy0qym!-vXeXyEPUZt4saZWA}{k1&O$?NCR8aM zo+hvnnL>5DFwTq6C7%ctq_wt}wmx34#jxOwBAIn_I+L2;B{Pn!u6bc?H2$VJfY1oKguViPuTT%zs2?i*OCe$)nt=0EE<7uf zDoj_fc`vkT;G6sL_&a`;;7&&j9t)C2QZUZ=0FimI7%DtsOX?TzS~|S|RnRT!Mv7v$ z?hAuO_et!s(?`N@c~9eq_1?PC&ah0i8mMz+{-m5m$-l@}-!WSis1oA|=?D+B>HCYYxTd&SI1 zw+30^?OwN$ULxr2ii;6MG8(c6jH!5y2{qsg5RD@M0M7xPHKm(LiaBBT)&;l^lQ-ien-^9DxZx(H|%@jdwv7QO0To23g6Tv~*l16zS^&Q`NExdZF?dBX3=oROs zljh*{u<7Gg8z-~%R8VHZEK;=By5kW&{@4;F6u&G>L0nYz|7q14U7h}8|LoHLD4=}W8kCA}K zmf?2;?9nzBzzCa*9sODtUUIPZ5Yr1~*5YFlRaLB(?!=6ipC21Lt<&jcgdN z^~i!8kh0=&sCqX;-H?pi|--CGm)$*Yr@>{T52cglMV z%g+59!Dl#sR1fQ(_F%1s+c2UXk0C}%GzLrZ_WsiHhH5^2=yed#Df0E%B3xu)X&5e4 zae+ld8k}d7TuI8tZYr_MX1uTtTRj%t9@&4|=b#|`9P{Qc%4D`DE06f0X1%@ZSUyfM z&L|D19Cl(ROGmAc!;$Z1TzKB9p)mv?#}UP_Dp6A#ZF3egz3p#bmy9qX|;-9+|D)KHa4pv#BKF7W=f67TMM5PCr5Z^ zrN{F1jN;om3@zDWaT^OB@XS$6(K6rE@iQ2>8O>%I zjRuchOJ9X~QC7S|4Mw|65)>6%AYcd?sVxF+*5-xjq)M-Mv6jx!Z6r_!loAzg%CntgZ-pOVOvoP=_b=p!#n= zdvZVylPHGCQHZ|o*MWgA;7EZ3lO@SxDv>8+Nx(9MTxL!&)bs!;Cm73|iKRi8DmU_^ zcPs=%S05gk1?L?`-^cNswcgZL?$CsWB3s7I&dN%~V8)ikIb_|=OeDkk+I!8JZXHLH zAAYm*@x?ykBRK)c;S;rPJ&y_CIBoACI#lzdiK8sp98|sQ!P67&_KLW_pIA;!7XYF( z#xX~|Rc#3HYXY5DY~aS0xD8vY$~9pdh~K3#y)6kCknP9>t;+0)EhA1Gew*AxsE9;Hvc3Yc$bO*5U74KW@wITWm$ZaDMWY7f&EUNva0E^aJL@ zk{*6}IGw`y-BkqM>u{xjl&TP_hHDxq-_;TmLD7tvxgRiy8Jg6XATeeIX5q-$>lMkG zE^+o8T#E_@7maVPX+fUfLS;+>^{L+tlCW{*gDgz`+%l|r$KVAJncNZ{`qrAZQpJZ|IKz~346VAdbT36%bb zIo&3ahDr~2K$4qT30;-PBmsI4`-U$k3a9J4!a`RA$?s}B2Jt5Aw3YwoqCUn z*C8D|MTLdNs1IZs-x(f}Q~zSKug`j>$&xF$=jVi7J%s_5n0ai7k?$83)l+70M2;G# zU(m&{)IBqRb4)@w6si4P6W`^JHVxXH9C(|0#grPpR(KI|-C(MT31j}t+C!V+^2gef zNw35gfz#kZBDx5h>1xWtOm!&#p2;WQno9pKZQ9f`QD^pa$#n|zj_J|yA8ikD-IyD1 zlW-Sqt+Tp2uc|n`9yEPAZ-5;he6qSlKszp#fwB~V{+cRP0j^lpRlEZXeDYQ%9pggU zZL+gCuL+Qx`Bc)Ak-J0Fj%BOcwcMt{U?HH*j4!hNdGCe7Ca6l2Wy=t$s*S=AS{pj_ z3b4x|0wLl#(5y!>J<{akbE6T}RZD7=3i<21bc_;5`ZU3U^>a5umIU(bEnrJ~!?g2{h^%W~=GWf7hlZ z$EapwU4^W`WqMm6&dpTinG`q)1~BE}@97ZHhAV84L}D4FF|8wFTqtf>WTJ4BTC4QdD;}2cf zOMAKi(u)M3U!)anh91jUbKf@7XtshFrmWucOV!^;grSVp(FPVL;%Vj=4_RK* zkrfSlt+B;aOHG~c#T3DQHhXWqd;92Q!eqI%mUCS}q>3o|b8V=F zaHoM?aJB*GHLgfcXhQa5>tObNvm~lFQzvX?lB51@;#Y@#kc%=MRmBXAm5F z4yCxzF158LK0?;)h=fN+{V*m@0rb*zuf9nrA}O}-%#1SJzhYdf-*l8d zDV7NwQWh<<>Uuj)B?fl4*dM5=p~}xd+=?X|DR>zE`XbkgyDk9q41!{*pYK$v{teHe z+Of-uBinUz)Zo+SxCv+wUv7lJf%-^dld~cZ;en&piJ zCiE2ffI2B<=BaPQQX-!MGafFxibBPlv*E$pTI=GrbXsf;jAJ=xpB++X#D*y&dl+pDIk4bK!WLzCW1X1i zRsbI&dJ|#_>=V5gJ^6PSx$6aGbg^kB+-Q*S9mrz}bLJa#@HLUgEH016#M|HtOn=_~ ztC=skJn)xYG|3&KmA$H@TVu_J((tmSLcpV5;&LfdN1PPd0-BC z6SK$pT>U&y_e;$2m69Q7C!rGrIaa;Wmqna*&bv4xhSY9Y;7iy_$>b&L?Ot_5tD#(M zBtgUiyCh#(>=uKKSVs2z8kPUu!JYR+CqMWa&EBtZBmTRC``=C({B6VjTle~B4)k99Yj?2#T<2At1W{x(C!}vI>|aAt`9Iu@QJ{kRIHfVA#COSiw(b zh;W%06rY8|FGZokB0F%b zP_9D;Q!=vE$Wf z0~p3mq&$|5af{5f1S~C@!9!#bd*kV>-EuRCTxvD?06)5A6-^39V+C_EZ!>O@cFB|W z^I^~Sxvo4+XY$h3>E`L;AH!79Kmhk2h3T&&8UGZf^Zz_dwF$5gB-mLciv73O+b3Wm zdcso^aSHw6pm6K^gCB?{{Z3^ve5i_)$}BPy$Es!e=b_PXUneq>1XldsYuwrI5Dls!FnE2TV zdTo+|NS_dUn`PLN(@(O&h>kDWFUCd?Yw4H`21_3@T=5+t2$qvsR0tLtZMh`{y@Nax zW~qqjMOmasVU~fZgu5slmob&dK&U){??AUT*-c?|xd2naD&s(Ge-p-3J~iI~%l@#L z08YAm^s~WW(<1_YwhNR*J4}JnLw{m=iv^;!T&z(4A+Zx?2J<{KaC$kNGEoX9j@b88tVc53=3{q%w2i;)_?m^SdOG|BAKh# z_2hMQt@7_$w$deymJm?|g$IXmu2ZX=1@@v~B7e(*VFd4QnkbMO>dHX;Rc&Ui@-gXq z5lQJ@LilJ6zSCNq{>IM@7tr#AaV{>f69th}Pd@bKKXKplZI&!%1gr38rq-er^(K$s zYP02MEzHJ&`cBW>P;M7!%RusTZ^EdBJX}hGs_dIt_RX)A(+>KtF#PZGq>I;7|DV~Y z|8L?|#`nq%5PSuStP6OXuJIS^5Y764rOclKg-}de2Lrpc`emb*-F2RKqQ^4<`}o|& zU(D!rHiYNH2=PClDF9L6w5mnCvwHNr6_5-?YC6O5&m{(Fr>v=2q@Nj0r3+fT^CLlp z@o#2)h{**1<)7r&hQ}alepnS*b_aV|^b!kuMKpfV#=n@mFO#6Gsi1TGUCP-YCzIZy zqn!<^Sdt`U=O$J9rLjU(43Xa7@D+!iuso&x48LT|F;&8=aa{ZnFFRa_WixEqpvf zx|Cl!YnYi;O$o;H;S0X-kD+akl@a~VLi>M{wK85-uAc!R=uzS~VLGq#Ts~ADSCT?d zB5fithDW^m0Drx#q;-rU>Z~&4dTl1=Yv;7h&-MHE@#v#~`d~pp`;i$4>LfFapSanV zcm&XK*rVJQvAw>4&im(+51`z5U!rfSFVVL?P{5byTfz*1)*LU?$#kx;S^G9sYExl& z5ZorV`o>fEy$$S-=sO<9lXNK-7c3>S#$v5q73fjb)11X_$RE$C^?_kiW+&gTmLJxGCg$0clmUSds=CvWBPvIsJE?Zok;r3-Jz`L zD!V+s1;6GoA-(EU?s2evK6L9`Rk>ztVy#AI$Cpdsu0^$Z{(|NnNV$MHVp(n6&-L?Q_oQAb7PUUsB(h)W42 zs*g?)L2wD=X6!r|ze8n39)B}!f+i``MQDtg<+a08h86=e#??(x>zd`X18 z5>4i{^{Et$2qUAU7WC3sSE|SUVc%70b*f3dta)z)up0@wnPGjp@8bUBTT+)F1%<)S zzZ~j=a~flZ|I49%oxr72|Hq+z`{hul{^L+rTDGX@^<|ncc?Fe?@+)0N2`5T_*?wHgO=srpzVLQT9GU9dtVm!{akM4 zKURzMX^5mUhyZN0kN7!M*+nQ#UpSa9TS3k(GnY-oFy{gqorDEg@0rI``&3RP}cN8MJr1$kMwNgW5HF4(7vfflmSC)feeOr)9?O0 zLX}E9&nNHV*WJP~u^(XcRO|UKeWivHYOQprgSn{rSd!Td+7X-PTu+_@f;khp`)E@5e_%GMf|1%YwS~^et@1XtkZ_tj)c78+)IFj)Q3~L2-c8x zD>-}pUiQUm8^N(Q&sIm%xw_vT@%{RAuvs7elMPD(F4cVqKl7dg=Hy> zc7MZ>pGD_a`wcRcmG`c<^uRtM=u2yVdE>-tVB#1xjua*p+x;eQ6bx;Ocpl3Ow1JNr zImbd_?-0G!du=TrkM!uShyRMTZBl7HOsxG3(5yFclSuz)wJ|E5%l{QG;`kS`&nz3v zi=J7wyj^|Tf^VUviGXloNjZ}I+<^3qndU47696D^U)>)BB3Zxl?6u|#lxQ)a@SA0&XOOv^goI8 z_$iZn4z%0Qo@GW?iZNx*vJTevwPB5Qaqc`^Y3uh0pyJ>kS#P_h&+ zyAm^^8u8VsX4hY9_{MHkpWUhg-QLvFHQop@x}+Ec^GM85c5AN~=i=J%1;{}oQ`|BjP+=O-{uzOBBao=&r!6gjeALIujTu3n{=k>poe zT3V3+_&R@Q#E0UMW*uEg+;!rTorE`Di(|9?&5KN3ICvNL`O#R{2hiTK(5Nqu=;|G0 z*f44*^ld94#|esb{z^TJrE==}{5|w-k?d`v?~3N80I7kTF@LR9vR0foQznnW_aU=i zX>&g8bVX!O!{MGsw7kN1=#eg@f_eMF41C1)JU^6cdLgQyDd|lTE@b~poOu2NPPQbV zYD_S9oCl9S{lE6w{;_>|@zjw2;i)tKr>Fk5bRRc@ITp}b&&}lM1s|D$jU&5wMeiIz z0;iCPk|wfj_?5p7+;ne#;6w&D-R9t?+vi&hxasavkEF#!E_D2ArloMkTM3nGXd?1h zM#p{s7*~ODjgHME)oDXJT?5D`Xa=(KPp`RBDy!XO_?YPg(BUFQrJkFYxTzlo#`YQ) z3)P}4f$u(?dn-RXszsabkBl4CgsXUQZ#7N?6H9c1cb2E*{r`MJywB7y#eW6tzqc;` z4<|as=R)8UER-cx22cKOyy{6OK|lHZZ=A>h+`71DEV;Dq$Rr%J!&pVdd>E8~rYIZx zZF35AZ*(Qm2znE@P4k8v08<&h4_*YAImW?hC^CE#z{zpX zWe!4TLF(dU277jeE7-FO*H(Sm#HU@o#2$+NMatoR{fpjwBo4!}hZy-73Cd?JrI>k~e&z%*EWhx(%$i>KtM7tC%VOQ6Kd{Oa4MqF_sQ z7^)jfZx1D~4g>qd_q~gr+0FQ)Q@htD_^L)Nq6du~=G01!P|A_s44SroG{Bt#@NP12 zxYU7p^$G#p_&hIFba1sadRe2Gt0H4D!H?+`E$vL~BkL2#6NI)))u2;fM&P2{be@|x zwpbcCMW9 zzp)P>kgvXF&wuNpACvuz->=^BCb>rN{5YCK2n~HMzAJi~sgiAa1H)lUAD+&Z|A=B_ zh_Pp{q1Rzcp(wBBmAIL^M9N2_?%dH#ybd(%hA_zp@L3wvk-NqV32^xLo(=BwT?!uZ zE+rGMbkz2kVTXc6P*Uq1nR0Xz&3TBLy+1@yi7dHa96wsFPBfV8 zeT9g@CKt&#l09%67iFgtYeT&xR8|a2z9%8y9V0>rF&EYwz0NvZNRmU=Ybpz#d`d&M zlveDtuCEf`a@cNigmdU)8VzoN?{y<~G8&_Xy7b;5jiH96zk>-OE=INK@5D}RU3WY2 z3IAWxqqchF1l5yqF7L>$R8DEp^DY>Om^lm9RQnTiBAG_Yvy{TY2k3TpoymMzC|??l zZutTXwlr3nCrL3T*Xar9sQ5_}xAgiEa=atNrPr(Zr&888tQwcZU*jUWA>4$j?9TH) z@;RDBYE?1z-c(x5muO*jV%;NrDs9lx=jn<#ZivZXfEiMG$6B9s%hV4goR%=E>7@9O{w{o_<6Y|bhX78v#nIi|t+=lkEERFrDs|fStoSW1!~h!oDIYe| zpKlvaK3^49_!f#fajl`0)KgSBr0JGxwxs*Omi>xPP$P8s^v>dBg^BjBb>5C$yyQKU zJV7*L7d~EhlXa= zz+k38ofUW_9m|H@80^Sph^HRU__~6-F*p>wyj?ng5gXRvF&Yx=G>^1874Z66(6|4P zEu!m@sqO)1nOT~Kpi6E0g5LL{tZphIS?C%jY)`L)t-Lr32hL!|ZishKgVSW@Lu-xJ zxSL3S#LZvJyoI6(Q*uPttJ*c(r$JpAb}B+O-?RM>+awxgrd+$Nwln$r|g@; z-hAuW=K*LacMWJ_L`C^d#QOCg2`%U%?e)D_!&2@nwO*}soK=gP6Kf|V%^}|f6F`*) z9j=5Er8$COOJZqpr~&mw0Xe}d2Ko&NnCYZFuYydQ_zs(rHQ{BV|S z-K1|kQANEO-XWqk5Z<)>{YD`{XXW*7G_?o+U~>oDq3hrWugvnM?_o{Z+=z85X{ZXH z%$z#lo*M7xd>_%M#z5zCWPnhj4BrQe5YwgpaU>qED|=Zhu7-l&JM^v|Y3msqZ`d|? z=A%wtEr{Mume0!Tgj{Cro}ff)R~58Bf-UNQ62<5pJNi$^uU?HV|7Tl!A>R{eZ&Pta zJ_NcOC+u5evc49Cd}B(28Y3iS!67Ug zIBX9};5q4I$*8)g~?aADey!BvEJH_S3-rTna2gGTCJ zlB8T&(N+w3(JErqaVCgr(|vUV__&4NY}x0gT2J3X%-mmKS45R1A8ZxZz*{iTCNF9R zgz5JkU&;&e?$hVbO}C@8Sw^NalqLI=S#x7v*vdAxS~w!wXR+g5 zCfeu7hSBkB6*~;nhI}K8)C`Ljgl~&1E`O+i@#X0~kEjw1vJ*lP46^QyT{1Va?%PQQ zWg!Mj`+4v>>6!_V-$?7)n?&!k;Nw*T1pHDbu}!rnjWt>|A!Mip!&Ut}e@4^HRqA5( zP!sQdY?u95B#|kNkFxLT98FF(EAhTo{5_?_u_|GaL=S~Mezci#IahF=Y;mn|n!L08 zQ6UEND-xE$saOt1gxdN#bWw#8-4XP;JyL#O=+FsY=n8iznV6p#%mySZ5@wzPlSD-l zk_T|f@1v9RCxHC4x%kZLo}@CIdWbe0DQo@T=*$W90?Y?bHa==@ff9S>G_H8~sXMf( zH5VXC=cTX>Mn(yX%t%Z~uz$^@UO(`q+9Y9*_)g&BD8464gw<3gNUo9#Ab8B||J*$ZshzGC&u zEhi|_i_z5j8gvT^ z&|%9voSVA(>WyMs=oOd+G`U52n2uQ&q17Gzd9SuC7RDJ#pN7D?P#mX>`(s8M- zGA{qzbB=~uVdt(+rbBpIK3-z1-pc&tx1_lI3C}sDGG?&gbmKfq&n4D5N#$GM!OoX# z3(AmkfYz=ZYehZYe)i>_)x#o}I*m@+?7Sq=g$0U)-yH{aw*^PTy+286$SG%3OO&|H zM$QwbSzCDZkF#PJI`0<*?Z%kPSD5KPUjj3#8}Kt{#yZ8BrxoHQmitvzqsMN2pnXYd zKIxL@f#)CsbMq-{>E~Q9gE!s!vd@ef`)6?Vh8z?IPK?T#f!v*vL^niH!kBuycj6>- zni9F_WKpndAx&cGIJ;39Sow|ZwXyGbRs(QFzv*7t=AJ+uls}CsUJLhW&%TQO%u61n znJA2s<=-pzX$@akPH`9Cm5VxTJw%zF!Q(A{yCp$>V^r0)n_+Oijh@qw=-8Nw#eIC5k+LryxZ`~}lg zB}L{ABJHHk=uq+5VajHYv6UIR6!yb2^!zIknHUD_@3W>9j3eCS(oFms9l&Mv1Nj70 z;~WH4-E%iJ{}?c4We+prluW<@lm3lCTk1c+>c%)MMy}ab&vhJA;Bd_ja$X5G8B^V#J5UNf=U* zhi}NagVKdhMTmk|q>fP?9l;n#$zs>i3nVXeGP5b6FR&AjcCkkwd(L!9Dr)MbTabb) z1rBT?mm98MlC>zL@b%&w?HE89Cw%qkfEN_>L+Ocn;Yvx|^w=ftPxAV`ty@PVbDqm; z@3A9TO(AVhZIlEFZ29#pP}lNVAbsUn>}*0pfSGj;4X0jwbL!w(0 zr;^mcix{$s4fO7s66ZjhXiVTSwIm#ur)ylC=ut?r=z&z^=H!>;IZALL!kxf5suEtR zj&eR>TKy#l32@&kZ}cuZKX|L(qLbNKKAszxy4gp1w&AFX(n_D2Yon+8SD~Y?Pob&9 z7BN_4xb+q>^V>0kHcpI$)aa7v0ael4o+~8&cc;cL`b2jnc$PA|=}j=7c(_U>Zrb#X z^<#Mau4D{#-)hj~P{zpxVaoue8PyggQ-o0tRqWm!eh<&Kk-NNj@AmF6I9xxLb?j(M z&sXf`PD7%B*fXZ<%;4!$Z(3~kE(oeznvpMFozlU}=6lD3OG=#J7EFQoDrl~Zgp+TA zfc22^;jVyt9{?QHP zFgTs0=VZ#qZSF$<_A)Pgue-mLc|MMU*<8ltN_Mnm8-B%}nU9{b-_Bj)m+=lKzg%7!X-E4_KL3lJA8-<8d%@|H2K z@7k`{qkWK)q#Z*x`z$X8jCc4YSgSPpG!hAqc7adPO}Y-iMAOxqst#}@Im)6@)w4ku zNRZm>XHb1f<$vd6jVfXKrA5{O=nzeEvY`X^oSd_6Vboy^hemP1g_Z=>t&?tWj+fTq z*>fr9F)R@!WU{aPW2AG!&fO2#T>@HAC}Jo6t~8D*@T;i*6bIMj#pvH%ZFs(z1W7Rc zQT?BCUw=Y~t-AHek0*u2pG zm@dJO7weJmxXFAmTC#Ndf&eocmq-xCvrK}28P}IT#ucG%b`C5wTfMQ!kf4qj*>IJpcyRi*- zn&H3fWc@r3ZqTHInfw`t=Ze26{bN$Y8h^W^$D(9)tpz~E4L8edUIZe{)IS7z2YEVX z66{PjZ>-QI8t&W}%ZAoM=o1DK=s6J~{x-8M4T&CY1T#%ca*5Ucgg@?gW0wfc#(D}a z4;XTfKalHH{(-#s59AnrW;S;;5%fT9Mm?bMp9#oatLO(N|&qY7Qe!nxP4-%}J(Hjs0ESD58*%UD73dg@2Q3;gECHO3Y^8}YF> z!Y~?H6XCaNe{o}>>p>pQ+rImW4arSVgqgiKkESZQ$nOYQaM-vG4jfSmRroe_guk<^ zAKQm^2qIOD{y~s-K^WO}27!PjVXCp6TIO}l*n5ASWbjFT`+gbC|L(+|+J6X1mawLn z^X`J<`v}=6fnv5P70(xmcqsP;y#~vG+mV|rvfwQceJ4qRJbDQMP+FP~ecFGC`7!P# zPz9|7il11#NQvr-kops|8fc`ebh{4&=~2g#PJTVGslH1iNF@p&AnM-u>oJ%>4eVN8 zg%Ybbwt3P%436>3AoenX;+1hIi*e?;jjjT?PgHky40vxJXO~oJG;;C9LeiM$QF&zG z)qI%M+%b6&u0-UR!dNGcI3yxBv8fT9$=-#{rhFW%{gNzW=i-aL+fRD2$w?hHlp>o< zvZxKn8+9F*i0MkfDP`saNHd?bG%`q6o5=z^8gm!t4f96bJI$h9?5n}GjZh%5I!FtS zY;54jwm6TSKcjsxXy?Z8q;tCsRp+n~?Pi}6CweNH4Ni8Tirou7n>3isS>22TU^muv zwkexr?57GKbzw@Fs&IWmHtNadB2MQ3pYF5_+@{cPAX1#S%3Ds~rV!N$lgSdBP^yJ4 zo?==3f=(!Afp;rNqoB`cnFC_f}78aJZ3r3-n~7-R`cknB6MW_H63=Y z*t`|Th{!=W{A4ny6=syvdq2c3cK5LwwG7t2%=Ds?{vo@`Cgbtyu+|O#%4y6-?wr{s zk8KbY^?*4@^ZB0?Niv_h+3{grc>OuEy)d@tLJ+eY_zSv?tQjIG@ZIms1{`Mj-C0>j z*``lvMRZGO$K=$=N8{&ZwEPp>bJ&MU6Lv73J?73+ACs4E2FbnSgO8iI3U67@jit;^ zr%4p7$<@kR0efeU>y7;y4-PkYKiWo&qul1X4s&-V>-|mjabaj+NAD*)x6Qy1)-Qe( z_MMtCSuhkxZqqPxYaE9`09#1&XoIdWvZgS#xhrb!jeDZ8t}GyaREqpwcEKCWH-^9r zWhki4>{{+6aG-Qz@J+5z9<}N0vi~hqTL`zA)-qy=pT;v5p@q(Vu zgGo2fTPYXLdM=X&mo$^W-=Q$?Pi!^9`_r5${E3A5{$}XU{Oh@8NV5Jr1{;BwZM?7t zjC*3du{sy)foAu7Ar_jRC|JOkzc`i#pR`iJ-z0^x^H1Xj{U>%amAy3Ujh-4Ry+hdZ z5W4QuI5b`Y5g?YckHErJ*&_N6&FnLcr_Pvo!07@5bB^w#zj={<{5WF zd4?(P63ZuyidF&{ceMw<2G2gmR6M+N+H7qu!!3j<&6SpY@P=-0@NCFG46^`SAFE@* z12CcBy$k>0bg`G2xSDt#zy$yM0F#6MnUAP9@{!_b%RY!y{IHsSw8HjKP}x~fC?ww@ zD8)yhNqjQbq_X($A%!Wfp*;NKqazT7le}M@?YkKf!0-}pY%L%THI>L}j9kw4Qy?Mi(K|S37s37&3W;*=Taf z3ul#m-B+tK5mC=l4GI)Vff3=y;bm#f+G8>K{%D@li8-|JU=xt#8Gi3cTq25C69ze6 zbxMMmznO##pERmyDd84|R^8slY>N zQ}B*hQsRY!RTq^uWOK+zC*)K*pCOR}>2;}6+*ozvFfs-$1A0lscfdk?((^1#Owu0? z6B=%@KZTZ}RX$~1YCvJ+G^@4;X#RKyRDNhwng38*&fC!|@*CFV^WH|CIg@>=J!fPG z$B7#DXw_*=W+Ux~(u0F1Vjz4c?S`1w_wO+Zf*)>}EBR80x5n@` z89bVCPHj*7AH1@PZ|}u*J-uA)S(YJiOUjl!gn$TXrXe>j%axiyYyYEM#K-BotzRRL z))EibEZycemu%}?++A#k57+e%o~DLnj(vnXhCUJ1e4xx}nUKxAJJdCk+T5S6!n{#VZyhgwW^s3jF&Ic`z<;&Z}&E8P`W77(t^}48k9-JO!${f3Z ze)Z}%?|&XJd|5?1FgFu{rh*22tTo9rj!?%=^M)7#{u50Vd?!sQ!~#T)PxDE)^Jo{0 z?k9m91vrfN6EL=~6NDe&gbBn$aYo74=nf&aLjqthwB>D|fK8Lia@J{FAJTG%3G17O z%9lXn)e5(9nw0nGmS=BwA_!6;QFgO0|{GheJfP3!N7p4p7_Sp~TGQsgY4 zCi1kGlEc}G*(r5DsNR=!KYlj0VrZ;zB84M7goE)JLS7riAlchH`hmr^6skIxn!-?V zQRxl%>;z@(CH1-EEty*`8fyyFW{F@@d9()hk*iueymUvMt))fP72$0|eA!uQO$1V( zld01z2u6R7jqqU2I(al8#7qwkeFiZt?$VZJEKUW6K?uty&9SL4Z{Q-vJj+h-Igvfd=oKOd7>cGGpb>oGB z+ttuorj!pRr5SM*!Ax|v^fD*9+n+DdG%Kays!diy@r~s`STX}P&<0XXi7X(j5~EAV zDAe5ZhEbZ@ zb1QBmOkJ%KQ+F7l$=Pej&n{L|PLE1m2ERItt|nEj%ajv;k&EOXbdBfuJb$Ub0#SK$K07|c-A;g4Rrc3SQ1ZCDg` zyYeJOgQlr(ohVLQ(>J)-A}Zw05vWgj;x|%~LDTfN;Z&!1zfNWP*R&{a^H;I6Dl2Gr z&H$QI7k%g4K$UDjbN0<#28*|qt4E2*5`zfPq}pR^RGA} zSn8YA_q=)}cTQin)vt?*9|IP{LcM=eR#uG<`U2as3Nj+Rx_iO_gwEfNZ&`!S>T!fX z9al?j#F4jNLbTxkWLwybVfbL6I|KNQ%wQe1Py>%|vf+f6@Zl#{@9=8bf!$q%9=!Hh z+jAjcy}dKhLG^xr>3#RCr5sqxcocA+0g=`Fg^1@QU_I+Y|4IV$oCE+)()3caYIbiu z{X+C5f#*y)F)L>xRY#=ocyJj<4+~Ftjpq+XM$c(Sd%@z+Z69@ij#M5$EL~l(PMlCB zuW5k+eZ~vpS=SHXgl^A5H}!2Fuc3@-fxU&@Cl{LO(-@O?te?L=gzvi0(5kKP^`BmB z94ATbZUS;Ew4y5b`lmBG!9qSDT+JLw9ba^Fu&HhSNRsMq+#9vjit9x0t#eGaDzX1P zV6@tDVP03(`z2)8YRCEZ#*HIqh1I>aV{49PVwHPqYV$a$e{a(|w?Zch;1mzgK?K)= zG1aM~;SIFi^}vVK`$47ky@AuR;gt}>B|%c4?Pr?4)00!Mz_RksDN#s{rG*;~awq);@Mv)stU4z{!f z7x%bd4lk@&;w<4n5B*Net7Fb7^NXJ~pHY8YEJ27^ZlQNZLa@~EESYhj8- z+veNPkJ>-=nv;Dm16ONnjcB+D5)J%+Oybfy=n;UX<7QhI_JvOsJ+sGfKv7IrAUK`* z9n~5O!MVg~w);MGp1DDE%SnSn_<^>6WPM@ZbfF%=gwO!ImHI!hzL#}H9x+@1Q~@;q z;eF0UDAlM=DM0;{JYy)FUJEkz^kf@wpW-NryN(&;d>ByLb9!)?xxkl&jo)_f8Sq6AZs{#`(+fxkru*r6xZa@upqQcqRQSw zlQjdSbS`&5qt#uqcX*H$C$7ByvUxgGyJN2ov2@c-({%Q#6 zYWUW*&Bf3p6N-V8uCa_m*Za!eJWi-9r`5tzcT!tFPXOjMi#R-z)F`&EY0 zK9^k7WUK_p$lc!1r^W~mgbp@G;{*)Dc4MH-Bcsvr`qPdB(>Catf|@1Y{e&D(EW@W9 z?&19TWzDFs=_0pPpr*~z5VvWw1|Uho1^f0t@4(R!PZ&-BcM^KF|1-UM*&tGrdXs>s zf(&XlAxlbN*H;e>fE2EyAoA<_*8Yl#h|abh3ZrWQ5)GqEftZA_g&#BeZJ{OfmCiiW zgbn*KlFJ(sev~&F#~3`17@AAPSNUd3d+u$HLnVEUfTkwE(r{U^JHT;xzJ=DvR?c;W zPc-0rk>Exf9*1fT_4ksH9eqz*t4h^yx){6G*uC$Lw~ciTl@0aUe$DvpfxoyZ>*KmF zPuD#=-2{0hDU}pid)vzQY2VR`^+=6!?GYw3 zorhQMEj0#WyRpvt^|uqVJ@qV1b#0ALDpnZOXQ_s!;!OfVLc;fI6iPYT!vofF%d<;4 z@;G5A`pVZz?6>LrvecBfUWsuy*f}E73C^&98ax{sN_KVUn$&12wchPzTvpnf%yi@_ z<;Bvb))SwD!bjk^-pqybcPUK2wU4##-1RT_nawdc&5Ea2LYS79RkkY3Y5y_G@ZQ#{ z$UIY!OOK@n>fj9}j{`G=Stfm?)S99wXyi@JLh%Z#DQfXI#6dTNTR}=WaV)$}4%7a; z^ATHOzx)i+1x!4H?WtiBJUssqhw8!v#Jk*m199pqd5Q4t)aE``I&f6ZYXbSc$O+g*xBxyri7xXD+Oy z`iECC^~lk=^ry3rxH3x>EHUQ>t>?bX3oWs^1Y3E0a^r(i61OM1w{FSS)x;8fgyGNs zc^ly_=*Q;LUykWz@&Fhl$MiPx2(ov;rF#HhukzhH?`M2z2@PZoil1_I4EZh^|ReX+D;w-Gj}TiH2QY9jV@f)v;;y&W-)*w%^up zSPp8s-b!BmM!+|tq_gL*)Ox@oD^ADQ#?t{7gX@}CWb~dl^QbK8AIV~05ePvPxy4j@ zk?p995+V#cwhpsu<(~c&UAXB(%tFmM^kL^@*nQ6qdvKGZ==wRmO&(m3jx#{`^IHz` zmL%O5^k*}myw}t1)ThEgO+`OosOG0Z4&XeG_qqPBTT~<94 zm1+wJd#P#qvoSz{75V1f-0F5$p}RY78m8mX@mT$6dOarT+M_JJCznh;ST~E7bB$!# z&?e{Z(O`wE!)Kiq*Yb{DD!J#ORreN;dEquGS1&!EKDK|YFGda1Q?F5pC6q!tMIHe; z09x^a&H!BZOXO_)*y)AtI}s8_bp71LV5_>4`T#4VC(s5;D*=B(!fXi!^3z2~6+JTA zy_Eqg2D7%^<^ce;G-AF zs9?a3lAFKsGncrHQ-l&6zKVOxDL$!b0#<=9-x9`?<)u(+-J@4UbAwU{ z=QmYp&FZJYh@Os=a5>DSK3taMXZjr2Y6#PrgM|SqXqs_rnKPc4jw7WR>@Zf1vFWW{ z8L=_%-6js=`(!xE^QM~&7M<{X!?C`GjtV`+rus3D>}fzJ4-)@IEUUuv<9smVP&yzz zlzOUB{suXc5oOGDKKzOng})-=23Y4kwTyiJFy_#6IqbR}bPzLZ{M4}KRy&1ktGAcO zCo&$~P;oYPHR3>YsOG-oZU(Mrix!6vW57H^{@xj$BV*3tnQoIvOxAP;)!k47z01yU zu?RfaI%{pgS@h1w28ntuA$IdzPlFvZE4JF!^9Uwbv2GDGnIxXWn6C^ zZO>EA&MSIG=Ui_uY|m+3Z>Lwc#m>%m*l$C?&uiOEuD5Kf+ZRhHS2}w@EU}EiIUsMi z?$d&Z-dx*8p4O)R)Xmmu9q|YL!Y$WzDw_kDcT>`Z0b8)9w3DLis4N6(v`I$Ru~d<- zZjsGc&kX&AA>U@AVmals6K{W_F}TYIJLMMzD3oPaqE2g87sysx858aZM8P+fMFx!2Yqm}A%XUO=v`?QRP&vp_ii4m=QM;SfHEZWaX^aYiDk~*+g_9) zK5n5v+|<+R(G_r-GSRUZHP5zTdFbtfj3R2+&PC<)3-K4GsM1&rPCH0 z6B$qsJ+D+?9mzDm7#*gG%9;}gWPOsP<2QBFqOw09d^U<&WiWOY)iZ08h%k3gZW6Zu z_@VIwv(zj=Ts{*(8p&mcX?FALcH70+%a{Fgk6bT>ojW^Ua^I<*B@XoWzLk`egVw-a=yQ@w}pJfWYXw|gZy)(WWds@vaxP+hH zscU0voZ{Ke<14;oNcWZow^&H7J9Ss-Srv)y#ij$c-~dpRR^m8JFfjKx&E90>m%H_} znOERMGi_CIImqhvc%*xae?g9Vb(_8dWU@{GzlB=2J}r~)S$=P4=cKvP5;fx75nV_c zaRRmiS=T(G8Q1s|>V+=V2mzJY@tVNh>d~P}=#Rku)nCUW*{jFL-z}6Md1fBWCLft* z9vUS#W_k~Yb2_&&M;#T*V@I<2z0E2CW9f8L;$?B&5X85&4*BI&)|4Sn|F{ZXZ+pRh z6#NVPf9?RhY^}14VX#ns?f`fKs_!O5FsOYo(Nw9C6>tQ8tGubI1#dJ>6jrqKqnH(K z4{{=tq`5~1r?)YtbEjHasOmD=t9t#2tlvz}ie> z&n;VJ!MV0D5PL6uCb@hsDno_GhUaoV89${h4Buh`KAgBGWTZs>T0S=yiHGinvJ$mG zlB2iNTrqO*YV>K((}E!>L&iF%74U;e0H?)tyFw@>tNK9RQ5okb*<5z(Jm=8vP;_g& zFQv8|&l&JtfqJVCyZW<-X>ldx?_F7zd!L71s+NAn&quj1Fte#lzxP~iGHcTWyp3DK zIezo)w+ra4!Ha_AM|7v$n0RJIm1;ei2e-_2%xoimsyK`xnrJVuWPia&N7&*>qmqrH zZrOSVYV0s6w@IMpR*0jnLn>E4`w}JYto>^OMy=M+p=qF96{Qm{G$MDr8);uw-^GWP zJOF%^M%S_Em7xB$uZ|3SghO4+q&Ke_G2(Hsmj2xDcLz1rBviNws74#hCrkL(1wZ|H zH!})a0y`H*>YH|VEIe&VyN3mO8xN*4*ZV1f@REm3<+_W#ZoQc;=)Tk|#MX+f z^|7s{Hf>xl@hB99NTJB09=82eWd@61!S8z|> z8BJKvdZb4P)2`IUkFXZB{+(bCc(bXN4`!jdH5|HKiD+rVB_EM=!IyWo7QQ#YtZ5Do zig@kkB<1ROF?!>H*T|+qU}ZfT@{S=uAfX=hguz;%nJf6c`}_X2?0H%2$y#l#_fie0 zR2^$WehBdo#m&k(l6>h>MYcUORA=ZHE+JGcP|fwxZRq>F(3SOx2-KGTRh1tYcbJ2I z>p~WMHZa&!jtS-EMu~yvC9)KXZWmuFcC}e;{e+~-D3=UFKQq4B9_rl3-Ed;g3b7x0 zs>ss&F`IrA2*my>aBCi9>G{C=XnBL3&m84{$-;lEIywE-xrf`Fg4_J7_0(-4p$i=; z+;E=uD1|THfp#+c-b|;u=RTUha+TCv_0edT?xiy}78F_h8f)0cfq zO2ytq%s$|tY-E}^o?(|s07Q^-)e+{ep`!at&hL&UDz`)MNN*H-f$kr<>dT9)F}aY~ zz@O^74u_#C$bUza&Lu^Kv^l7{TkLT|WT>#>7a3+?_3?5MU4AnO=!lfOgdn|K#gmv( z+Ur@o^D>z-BB!pk7q!siL3mJm9BlVKxPI41{X|X=-!9lw6N|@UBi1I zMqNWL&08mU$Fd1Kdv*UEUlOgY^igj-TYIE*&2G5&pLbOBoYAK@gAH8|d`S6!TDktR zN3t}bRSr!6vu9~W=TKGW1X36gk^4|eC}@WkgY zfD$Lsr`Hxz6S4+7-kC>C)ty5>44s9Hf4QIWG95jpC$%>692R9Jtd33p%tl6p`%stHluYJU+Kc%!ZW4Be z24s(jtPiAQaw&p${B>@e_7((0!|*e4hk$`8Nfo$~~FCh)>TAtXWU zzX{`={p=g9<;w41NgfWU19MWnR|`cOq^XfRUQ-EygbCADV;_^~#dqX6&NJb8n78$4 zIAgO75|V0>;^58uOG9$Dc@@(8Iol;{4ZcB`C$>0O)HZo(Kw(-~B z$J?4>A}YoED$Zs(MnbTvxp*Z92zA=YQ%%1H)s18su}f6L;0|db%5!YN zW{h=QT*2R_iUjs$5zq_qC5)UH>-^5Kh!Y~96Ut!PhC|1r3iQf`_gu`R*KhzUVa1o$ zzhSS$vm#fCLYN*+)%jK+{w6kkU10Bli^QZ0*<=D4#@()xex4a4)mAKZJe(ahoZV3@ zRYEM4QY|>_9h6l(JV2w~>n z$9FD z?b_F`l4V_a_sRUoXhq)NoQ<8Pxn@`-W?_ZRh)5S_wjLf6oqNdWBJn2)$K)U#_P{ZFj8f7BI$$eZmlUN zG+*~Yj7Pd-0?v-)4 zKvZ4VqIlWlwN5#lK%+5Y6U2^iX8H>B@dQe9%oX`nKzOvqcVJNb3gB+838IXctkMoS z_N0S;HNqe8AuKAH-0-{SuT}i;9v^)qQua+0bn~#;%({2p7l3gObMq4y-{m)HI;Tcv z5*9wW^rqRIi-A8Usrhwzo*pO93brTD$U#UMczpLe*P}UWfqa^}h%1QUzCk#u6npN+Il^8v*#};hZi`pMg-3fAD?w9M`Y8j7@3v2JLRMIZgtSF-YN>@LUge2 z$_2%$FxNx<)`Go7fL|zO+;6tTZxqkk7Wgonl6XdBmqKtZh)b&Sn=q`C=n}&973KF) zd^MG0a03zK6~MmiV%Bh^xaxOzE@~499WEIHISMe&CW@ba>wN0WZlWYDo$xK-==>z8 z$9sAL%fH+!yQqGV#j%+>&2m@k$7|KNsi9z1Ap8}9t}X86O3v!!D{q--d#!P z*NAlQe~)}@pA=K}?|e`GX?2=skR+0Fk3ZW_D)D~Mjua3UXzyD^J{iy3`Fn`4a&`l? zxurOvI!AJ-$Mi$unGKn#3KM(Dk4b7ur5^{5ev`F|Ch@9l#Yy?w;{7sHbgU+BHm=s# zG@FZljWF#skh;3Q)DX1TvOFMcYtvo_Ne>lxr!OLRL%jKAvBPM{oi=uU zJ(gsb41RhARKJ9H=Iks`jE=V=I>X zx>6Ow)T!)RhjO)1=C9NLiq*${8kQctd#f#9D(e90(V&5jxg)vbqFop%gdr)oiv$Ue znD5MA_w(XYOF*vAoz{* z(B4ZoYdBU~YB4@4;Z8eOO7Ai@xRGvCH?>c5!dp;%wleTxYhqP|lk4KgnniQn#N_*# z7}9rA#MGzET)T5EskNRxzx@Xhv_QFGZ95puRbk)vBJh~}ggucz#*5tr*sP7#bZfp- z{iHgsY}F)_O$@d;TY%I{XbHfFNN;92SEXr} zcU|}1T`!Mef|IQhN%BxJgjp}WPfC~v5bgmtnj2fr3*#>k?wf=qNyfS9zAkY~%Kq|2 zXlpCxGmpjDM%Ftk^J{@9K1u1n%@J*c;#pN}hW^rdbQF8Xo-mAZn)?eKO+&RXuobC# zYbvMW;OHr~*l`FgRjBdJB};}6doDB=<+dQcbjfacCXXV+XE(<;WYo;xZ-PXk%4LW0 zZ-0>Z>z%)QGZC*Que>{_E6~w+rYqpvwERIBl4-p3ORuARV=**V!cWa#h`U7y7yJRm zE!neQE<`R${q}=6S!oD!)}z%TvxZ!uu)a5aqXDN4(-$>-3Z4D+5i=g|SA)PnkaUl+ zA>{vJ@13JN>$WxFRBTpkJEZzdQO% z#@P8`WB%4&bFKZ%`OG;NCIbQG=^!|*p@8Dt;NeOS{e8`34I76$wZ$`+f5N=aP)_V4OCiBkf3K(fcp*Q&`iF(H&;pEs*ui>#F&YqWF@r42ZSrQZS75aE~LK@p}xsr{uAfXbc6zN1PA4k`)osHUT zW)X+ZjaO=7d1l&<;_gw2REf&i!Dkf28)MA!#C2E9VeT<04heUAdU zqw-%bCdB@u6o!GN(@6FDAOGX(_3so+9x$zw3HOt!B^MFPBWKoinWtFWCe?40UV8Os zcci33QcK|lG8E6_>Z>ps`b{66oTaq}rXRxiOEB!-W(xG?ASu?lsjlBcw;V$`$^8b*3E{5hRLxKl-r z-X&jY)G!jjH+-q=%f~f8zO4CD28T{5o&Uz&*2ZZhYWQ^T=qXk|u%hNFyiJ@f3#WA% zJIqLH893HXtvM-FmFU@zB(8t-XplM)RF>`P><0DIcpE1%Ry_SdD^%umV1L!jpLyM( z-1{zgiLSgq4{4BZlmPwehklVjAS657Ib}(|=8g+zNL_FEz3iy*MWX8yPMR(XSL56U zEfRV;5xr~(RSAYl@KPX3&wiu|!Hy-qxE91T_@+7mKXEl$ekFHUi4aPA89aO$0)x`z zuSYMw-0=cKU3LeukPDdu0_54|*(FE?wz;KqnS<$`6ZiAo^-VFdgIjOzQ5-72w<#Ew z7x=d`Y_-kDx82WOvncM+A)^Wa|TJ-Ga zC#mO}pHjd8lW97O3!(yPtNmSsi6o46*jxa1II5M;fjsDRNW5uO;#fUQvz&AWL*shH z@j^yVM)sJ!s4Ch*HxTr-Nfd{_B0}zJIXE)!hxOHRQRMD&Cq{s6HS4!u@{&wo^J_Wj z>S3-^+H2)(vDlhLpmi2(u^HqPn&LutISJ-CYIy8!Pjz$w`gTqofkbh2HCkbiL+hSx z#`@QINu(Yps3Yd`qw|wK)JJ3^JC35c>QMGia%4Zwqc!Uog=b?sPN6;N7)5M-IgO=r z*QVX^$=CuhSEwnv1iJ51E>oFJ!E_(06*a#ku6Y=vAm~sN%x7LP+3#ziJ$=b7cm`Bs z4y3KT>AwW&f6eYi)g#Vi>4pH~oZO@QEvcxt4}#rbGaXz| zPkZOXGAbsEytZtV559k2Sjc1lOv3QP$$9fJ0{%@%%b)NBd)YQIKVJCsw&z%PZE*aE z0_m?g38BW6M9L}s%V5F2g77(bj{mdjbddDb1#+3ioa7a?y%FsIsW0ZeqmiSP5$#as zro3S$QV{59I~Y@*F-V%R4$R16CrUlCLuD8Pd5xTN(cT;!urR&jUIZEzOa%3-KubKv z3G3bB077pJp%>L51j!Ac65j)d1M82i9@HkqP!qW`7b?Ztg|ZC)!+5=fbsB^8nfP_A zAr{ChRX3KMM&J!uO5yX#9U`^-wC2_dUsEz5c9{rZE0oYtlG*3u*lI3I^gDi`y=WP3 zeR){)!f#;{N)lYS3No>V7g2aKWyT>J_Su6NQ$_g4h-;WROj8;7$4H!L+pq#sfh;M9 zGHtYtB8lH+c5aI-d$|WTaJDf;(JFd6NHz1O%Qweb=rvzgo0p6@`zP-eqHMZO^Ko`s ze(p)Pd(455zMX9)oo5wm+$^I0eX+*wf>ImHkA5lqKy&}5Z~i#n+~YewW+wQ7gEP(Q z(uymBU|><{5Jie@1z%_J$|g1mV43fQ@Rwi$(x*AvM2>F+D8Bhw5vqChl~wf|b#hd% zaJSDXO~i#?4t}?%T(mANJ!CkYuIWq39>`JFEU$XPS@4;!)2vjlRTHbp+xJ^8GPaO8 zu30Y6%ocFz#mIPaFR7-w#JK4;&R%=GVyH>YNU+>G%mDu6ma6gM{H6YM@TF*&jGL-< zlYV$pBJ!n2zjO#Tf^>w$d`~4M!sOXaGrOvmaNUKmL9RvNq@E6iODezr+%k9%@muGWK2MQh)0gYt~`ehf`IjSfA^e zQmU}VV-SJ?T=yvH*$9q9=xjO% z8QIA7htO@6=tjnYZH|G6iy%5-_di6eA5H+BHY<83)~^XJhw6 zgh8HF&hRN_XVBb^Qqk4$u_fF!RMxte8%+a3YY-d&G^2ylfE@I** z7zc4m)~~0^;l%+2#l2I_Mqs>Xm~O5250o$MQD4M)jMdb83`J?#JWpA;$G@I3weQ?F zt^Brnq)WZVRh#qx_)WGARb2-0aOU4;ssPPuJaA6@{I^d}#t!Xezz_X&!Ta|%#h-eY z;Y%ZSf5OLSIPn=a!ME^ZqqV)^zXe9?dq)rGgNlU6T*+8|B=7GLJD&gIPRtpM==K=-`G~;VOIT1UELd67-kq}9^8YPXFPB{yzH6_-Dpyfd|Hv@X&wA! zQBmKCt2E8v1_`Ul2KMM&lpi7w-*&F!Iq-$+>ha*3)=Br)vY>>=w*+(fM@oItA?w|x ztzm}5H5vwPwJ?l)+wGZ`=6m$PR=S_Nc=nwwpkm+lBVc)>tNc*epc{`uY!Ix*g~o8wQ%kr z0}?f4L7B-KeK-sgA|r*mR@^BU$gh;!2(=$rBakY@z_8Y@3U4b{Wio*fI~1lS>$-4q zliuOP@@f07kbzq)=9Coyo@AzKG8)wzWkQ}f6@&qbGV*QGH$K#Wr3gPo7hO14ac+8h zi$@>~wb|X$KI45}7cL1rq)$`E?4Yg}=c(PE(Ydtthl$D6f7xRobi-b0wA{%*tk#}&j} zJC@hk`Y{RHHq5O!cOv4}FX|h7t|;=HR_`r!Tify;g3c`TTRrle`tB_aTVL}UrpohM zPf)2y5Z0fqd~Z=42zK6198R#{=6z!b{Tr#c{#94yw$91^ZauL z#!*`l68eHw=?wHQN!OS&3&PgmJITd$$L=^kea{7REALB!c{kP_3A6G&&qZEm+u+fQ zgz$y?H%y|B1K&oSEiO7T{7Hj`UJ}i%P^=}&%98Yk-N3B@L9^Gj z(84PDau+;h^cE?v==9`h-UAeAEjeAPrHD^!9nz8s= zP0@#(-OR0Mw}vz%9u3;o(5+_g?-4#EXz*m7Uo8A?4PRRK?2c=(yBTrasb}VOMmUjJ zS^v@xl{+MBQvE`EC;W0;}3{y3`H zQF4YI%KA&ms4evjo8;rR8(LUJUXE93w)MHOM>Aj#vCc|9u$vL=TYjrxm40VA?A*`& zE&NoAN|`SO*rW>HvMZ)@D}(wzJ8i*n>S`;l{!2k!U2|QNQoCu>lh#uj6`rh!Iq7%9 ziD1ft%+9q=&~p__h2m~L&)Y}Iynp481(q1@WIlkG;l~3W0Ra4qzLlP|t(CPMt)7*w z!Cy23UJmdVvMhj)L;nB$=N>B~-t+Bizy`=W|Bzdn;YopiJx~HCE0(g1JJiq`iurV` z{>lA?#7em%8K0)@M3dHd8<7T<0ygnig zB<0#cD=S$|IZbrsv=Y!AqQ%a*+Wgk>$?>LCUGqoSuQf4F#Q>mq0FR5!TpS0;&{CC5Qt0ZANf zPT05;@^xm}qXi@1A-UO1uYehTMx(>q+p8FOmKJgu6g1z%|Xo-NfME7j{$(ktSLE(6G1mx8h_UirzlQG9B)=vJ=5&8WbhtquKvDI3u9?=)pe*rt}B0f&bqJr;fGt=h*!J z=A(4^F3V*e_%@|uZsm5cv|2%ARV@5zlspn%AEE;T&i>NHmick*El-budT>W^{9_Bp z^_!K3ofHJ-XO0^&>!R|M-#xsCZrbq?bxV>jg?A67zuJR{B&Zn7w6~SK-z09Y{FK?$ zya{0rtNgn{ej+08;PE8z(b#lW>JU}YB=rh6z?jDxgET0f*?#+~9<)W~&FK?@-%ha( z{Hkc9KK&lruQ>O1>7s#b&Vo3TGguqj`z!ps))vKrZ@r<-_Xn_sbY%;2QO1nCU^aNO zaFr~*A3Bt9$SAyk^^aiI!DeIeVr-$DJR6A6vK#65?P`tZbs>UTM-or+jKsi2MF}%F ziF9NU8rQ0GWH|sngm2jrOgc#`5qAg1ET(8!cPVvzC;mR|19b(^m-s4T!lYDi!Wt71 zVe>X-#yW^AcMtow>;02<>-_r|O%!uOv`U-91>Cm9VaV_`j*$le0#p% z$LS`BfziQTe&HtRO$VDYs2ik8Foe4DxnY*Rh&*uQ73!h&yObL=%Z@|pvOyO5`zb|F z8qf*rV_ac=jG+H~O8Jvmnm17{&ad-z;Ob({JV1&SqfSm+od2|s~6{(rjmS10Wx5Wj18QzuTR{F4h zkTFPDr|;-_e~0_K>fNp7Ow!%KspX4-=F9th1nuf?j;_D2gJ0}D5tk1I0MPmooIv&; zbG5atiKV@Pt(<|qy@{of9qm7T{*OufRLO-U-VD==n$%%1Rs(%_h|BO4m(QR$(jT4O zh^QZJ6z_y6lz(2{XS_7*$Xa!J(H!U7?vX3*iHRvf1F3u&e!}mjnm7l1fU%wDnQu^Z9Y+~>L z#E{sBcV>Ul761@!8{+|+{4&$gj8hL51M{u0aB2S*dea%5V+hH-w#E4Q{mbC#Pk|N% z6!SuWkk^^Fb)E-3bi&|U?e~#4mj?Xp*dwy%iS_sO{S|IsjqrH@@A(dKpy<)dq&J2) z#_X{XSmhHsfJoKaU+*;EGd&YYAyLsizhuZ;M?!9QD89E|cfNTUZXR&wesQOg-T3Xa zoVMhn+v(0-&^~Yh(g{Ba>feO`5n15Pfo5Q+QXJ6zz(?ThjRCOQh&0=5Zo&0xxW)P6J--QS5diW! zfI4{|INRkn0lWb`zMDzi5A4Eucm23@tYB$4F@}Sy<&lGCi78 zWo=3SwlgoyU+j{5n~}`6Dy*?SIy)E8ajsH0$N~5BWV%5%k(vXW$g_5Qg>%&K=;(yJ z{&p{nZy?eT3Xg9D{U<*)lHT$g0=1YF>qW9p^mn03JF{wTU=|ihQPAm)^dFL!6Sz=L zmnN@l2%APV(=V_yIgv+Qx?n-GW03TgQ2cgb?jl51v^3p0XEFC2t}mnC(>-VQ-h@Ka zt3-*n+C<{H4CYCQR%}HZ&ebjE3v11HdB#>jJ6AmSCXBRj1`G0`A&<%eA{2LzUD0Xe zfy>V`jP4rHsecKZySFs-P$2N^AJ@N9$=nCp#wCCCXf)`#Bzw1RdGPhF@*%=OW~G)X z_36kLPfsP%U2hKqCvFh==|dFIsCK@|9cE#XaplB$x)6GUuCdSQ~Ul}tdcK`w+VX^cQz6~~cRI=3GOAKU*sdiX#6f4WaXty_ivo+55sIdWA zqmkfpyp*3LBTv?M1tk-zyQZwSKXNFy`BTrfhV%RLjvS{!p(ih@qX#&Jhg`#SS0|V3 z-6%c#h56wE&712+Q2r|4j)$pwYPnr8IK2%-kA{p%!`qy#(fL_MUptAx8?(YhuUI16 zL{v94gMm>GxdU0p5(^zE3c^LzcJ56EKga;gh3xtHqL(qZ7OQYm{&^K9qe#Rso~~_! zUkjci^%7{JS$>I{+(NijU4SGiIHTh-l=#7Q&0P|n@tvM`C(rqDAC!T{Oj`0)WndY0|X%J=b3Zav&CH96b6 z)ExruAe93X<~E9xOUHCaNkfmEvbUz#!C1I9^bd>w3tRJQxwVM7_B5q%pQTy{dQaxm z_4)8yNt_OGLE?BrL!e*-I=LY4xUSzc5L|=Q_=sm(P9d1Gf5weoDwSts|uiKO3A zk{T=ZmCO`>2rkG@F;9$~S4O4GGF>Tg^ed05%DAT_Ja}qt7uzLt=Q?E&1`Jr<*_g(b zG#*%2+8ttQUJ=S6jA+O`^`p%Aa1gdR38mgJCh2h|7hLr1T|@wHS6}8^iA5Fjlj%aO zBD=6!*`YFOmkzX2=n1T89ay$CXKg%RMqBHIy9U!NjAwb-9CN;J~i%F zh?94cJJV8ZLh@_e5*#>lZ>t?0p1!d#dQ+~$+g6NrfmjIbnUAr=I*VSavfz@RI)vw6 z0NGWLo#r5&`({lj)ro9znmx#^m<+A+zJtlzEfPfR#js}}v4lxZURE)Z>2(D}t8yKo z6vNcecAnYrlt`m+nBiYl>en3nn|rkz^Ag&$n;QY)*v6@fErD&dLs zrAlZIwJ*X-o(>iV2sQq1>^AyI^nIOqt2yj4uPCOz-56%Zi;K-=uhU`HjBj~>vbD?c z7S7?UB-EBI+9#+8Rzc_~iy9*3N_X^y)r*Ran+{EG8R5HazdJ38knQxmw)1szM|x65 zgPsEq!&p+U9{_B((DWSF8rB20z&EnW^HCvT$q7mG;!o;aQVnEjf8M+6tIBzj(*Hng z3N~)T)seaP%%&@}DrezLVQh78YgPx6WgrAPC_R?zFp9Lvm2ol+HWv|f2b7-onS-!2R5VIq_YOpCQkMEk!lBEF|DTc}pA->#I#fzgWzJ&HxRu5#SUwBx8 z)E%!%!kd`6f2E3kIWfJN0d4^>KCjwUNdBd8JFYenm`SS-B)Q)k0f@<2-RBCFdA9>8 zYQ9jNt3qogo$q_tG)>2BV}eVqN^DFvc_m{}K?)j$Xhkvt##2c0l>v!~!2Gti^~M<$ z6!Va|eQ)tFf~JWaG4+Nanr1-{Rj!d<<9p#Gn^Br_E?%Cuwk(CG2=6V#lk=MDlmqkQ^BhC&^k+Pv%vQ#P#KSc#53JfnMMm%N6v1X1G=3u$5 zV$)Dq_&o+Cfnytg)d}yki!8L)At;mA1vL&JTd}O{BvRVldsQhf8AOFdn2m@?y43OnKob+2lQP&9uznmIym{Aye)$M9{#OsgGU~;x(T5FH{$WGG z{|D69v$C)-u(Y@Pj|`)jHL)HZ_yDQl&}B1RZQ54(jqG6GEO5a#tJGQ0Wr67e7eo-; ze$wlCFY4c8Bnh&k)h%%h>_+3Gtt@S<9*u3-qIF_p-=%Yk>Gxcnp6s6-pMQU?b4yye z-*2#&$~gRTD;BU{`D1rWyh?mgHra!R^tag?61KPerlH$9a=H_~;g>`|W&Z=gfE@CB ztOCHO11y`!PI`I;{NoOHmyryFpNI+|^AZ|${rI`X-$t%s7pj-s56ZsB?<1u9L|xs+pw*mi2|6(wFCJAomv9mK{`bkmib@MV6wrDV|Ax z^5Xfj`~%c2W;-zKXw&P#donAg(vD>u-Q;$0h$#8ck_`h+|46|!_|wW9|AAg1p0X%; zuQG$&kKU0byUt=KSvJ!i8HaL{G8%>3P{~Z?nebq-@iDw?MC!N^lU(@XT>WeIGq*=^ zhw_)qau(4J8I!m7Oz`JdeEsoY5Pb2yhO6&1{eRmi+()}A%8y2Ier!1Zp=p2b0Q{qO z)3MqBfFO8@fOOH`fmqDZPCf_(y@LS0%{=3Zc#$BXk_NgT*Z3QSPQv`I`(G0C$0zWQ zV%Vce2f-0^^#OP_@Qg^{YXAic>FNGn%%#)djxeP^mo z5U@oj%;W)n*oF}J;6nJLCGn`$L`gqhGCJ9O>;Z3p3GVU&r{=Ak15LjD?b_5hX8V<%o#>>9#+x(f3Qow_sS*^*3r3QI zV^wDn+6rmx`p0%6P`VNv)Cx!zhhoXWv*_~*?}j%I4w2Lz?Xq*d2N^QA!wy@{x7X}i z^oDM5dk**gH9P$4Ggqg!f0W{5&tH50bHC-^Pad8BOD$B;(f_^jNer@Z#eRrb|JeTN zDe_0%)FX#rxtMenB*^g?o~o7CLIYJH3re$%?aw94{EdcOm8!U0_%- z?8|SMZ=8CxB#NwT6s5IavpizAbYeNTP&p+jM-cZSh<3@8+28m31AP4JZG!N%9WMBv zUP#i9HheHf|KxT2=g)s;j!!4#e@iE1OftvQ);BbyJi^mW6gF?s#^94v{AEjzyhIw9 zov2A6fao_^0HC#p-?BbH0D!ksWt>a6aohl)3|%Wt+p871oE($)(iUn`YG}}ll< zzNO_C{wiFYPNIdxW>2N|2B$W1hpqb&Zt^T#OUAj^st3w9jn*|@KJ*5^xyeF|F5+cJ z&)UW9MYY;hcy}V;{c}w0hW$qvTLD-YHkK?iFO9DMmtOZtLFsnpB^rFX^He?c{M0Z zsxhS}2944PwareMa~p=WtvFRzXX~(~0stwcEB7@5OPIqFy0W)hi7-96FFj}LP=NiQ zvCi_lwF2d!Z;3P?9;INHXBvX|RRRyt*st4`O@8lG^>q&Y8+Vmjl;duTI+EqCsop=v zV$|OOXit5AE2P&_zTU=n3o%J$pnm;cXK=$1ipx`2YWR$p1l?$1p50O)F7{<^G(l}5 zh#hLr$%As#QDMK>C`nUDCj09EtpItbgI+`mZLXA$SLD#x{p4ws)LneW6Ntv*9e&ZR z#F`iw(6h)K!^mlCO}19c?-LK)L|dqchhiI(`tf{%!Cqo$C&B!+C#8{$rUoaJ=hXPe z4S7x^N|j>{Zb*jF_zalB+3Xj?o!)e1f!2Z0sBtG)WGv=Z@un8N_v}~qJ*>UN<^juD zJVpw?;Gs3xbKk`}eN5$wgc3^$4TknP6gCaKSrHY6HI*f055Km);m$d_Lk7q-(b6(m z->U|Kol900+qV&dDlCy9S0^NKo?j5;_tARQG)!0f6!m7|U&T!1*l^W`HiO-|-`IiP z!##klB!=e9BEw#=3^NMXZcEB~R&178Q|>~lpAN(b#JO$_cbP>%4-ah{y78-gM1Nr+ zw^+OyLc0l#v`{{mN(Lq*tFmpZW1y@V=6wZW4TBMb!Vw(2GFtAAeLXLF_`3s$6XzLdb$5yCLs^yT+4m%u zCJ%bxD|6A6BxKhl>bz9;B%!whQL!6t?xyJ}#U~mv9`)vYgVlKViPb4#)r6aEYWWQZ z>K~;);^m+(KkZMp*$v5Mn33jKwE08d&A!RW{SO zz4gJh>JKq%3NEkSH@mGLt2N7KJ0bR0z#bE9zgxp;p=k64nL29mlt@7mxWze z6NaRd5uNICg{IEx%r&mY<6K>a@F?QbMQ@D8@K>NX+pu$iJGCMRNVBqR9lew4dvV(C zx!-Y+B2%Vv^;>lN$+eAVzU5j1t=NY8x=#3YnsX!R!@6o)z6*Qj4)n1P+dvK3ilY&) zAxVJ|G;l`rxaXKTwA;qR8$g2rdf`hB8?LB$Y$8=P$4Cj%{H?#=@b~f0anRX0rB2NX{)Wbn)@M zrfaK3ot-MT-HtQHBM+SX0Nb^}Wxf5L+k`R$MKbzy)OQ*@v6jP6ihKi;+nY>y3`#Ok zioPs!U=2vMLp z>0U8^Ltp1H{j>^)--#KIww(8M&bd>WE|u|RUuxzMFB*M)X7~EXO=kw0DaJB-H~OpU zWkIFlNGn~dMj(+6MZ-Ju-1A0=>d6gNbXuQ1^X19AWC<=j=w2+22m8Q4+*@6e2$Ewc zC1dvI#d7D?=eK~>t#WGwP;@Hx(3k8bDb7nIv}$UGUnymzEOeQGJkQcz$5t|;@`;kl zcAX+hvlAG(%C$YH$}Mt+F6P0;WaW(=1l_m#N@27t)4A9&R~!jP@s-&`gUQ+MyMB{c z+3O39bG#FNhxW}yy|Qy_&x{NN=b28UZ~R@TJ3vyP#|JT6L{yVQ3OqX?OJksXMTyum zj1y$r{?LRxTVlt~n^%4%Q^|Avt8`2X=@c-lX&_cfr(JQ1-HH>_wLKb!B?XBY()@N1 zKmedDh17M7><*=G_7jJV>NKE z8;}p3&|uoy>Ah!!fUQ`QaR}OQyOqHLrk6?r?ZXH<48^&ICRZ{HP0T-P(=!BP)+sK*fB^k1#z38Xp=cKG{ye6ak2HG#hbsR@OH-_1AdWhtKQ0xd{)glv zPKHV~bO;f(Wn-Dz@k8r&cHk(Y=KcO|fHjlM(P43xchh=iqE9;kr#1AblE(w(57cj{ z`A5c;^*UclC83o)o=%NwsJKh8X*PkCF)2&){|fa>ArQL$ zvL0Lh)#3HW1agnzHUs2^@AHBp1pX+6To0}oOQ4Hq5XwVAEvqs_OzNyHNk`g6p{07W z;Mc06XU7K`xa7fpv)Swz`H^uyMYF=iO;fg4d>Zz1^ZQkz3;p^QIoiX<5grPRn zQX{*$u|ev}BxSkqVlyR>zmyOzy;4=}_a-k|dIZ{Aqo9S(#R}@4BbYXd}>|I{soI!L3Wx0{8IMuuHN_ z=;9>RwAs_&huE?o$7|g;?(P@dJT|;G_B<<|U(U~5#$7xQI2If%^#Gup0W7^~D^Vu_ zF0%}v7QGu$C&6|ky(u?AmX9|qE-vcI!oOUKFS2~8(9u@!^>&HygV6@!vTm`c0ka|1 z9vug*^izVJocUtp>f`6|tF4ol2O=6s(i`QZLb$66H~O(|lbfghCu2HZwcpdoyGIGv zlT_}IMu+gblh)xgVvBa!7XYePd}<#00orG$mjvmcbHLF$Rsdnf`I&ck6swLAenE*y zYVBx81PnB) zC;_ls0|CI+;~qd|0{|F*>%XSjT`l3b;%_+e7wD8`k)!fj-O+~|y4{saCeMr&siuo(%-o#3=$ zE*K3+z_G?g?oZT#4h^OUjF(gC`gj6j(g!>WaWMu;k|?_*9qaYCOpY!Hpy1IO3bsAM zJrKxt2{QQw;oP8vrU;)w$a_rs$=f6u(Dsz1(G$Bv~?*y;EXI?s#p zm=fkO&rul%E>^~GM65DTwpJ;8OJr(|J_>kz0jssD7&YFyUI2${sC=69^lF2)G~mrc z*W45H&=Irfx*wm}IY4WBo$14|>tiujyMq;shYHBn%(s_ecQ z?VPZI%hW%L8-;3U3f!A>P;q;qcqR`sR!sq z$?eK1&KzlrzXf}~+Ch<_0J{S_=F|Zad`yGwTSM$JUq_w2ptjXg*REzzmOX-)MkSu1H~>x&E*b;1znJe(nGm^qyA44S z&}p!f8r!7N8@DMR^TL&>iN<)t`U6L_z1Gt>-b(&LLslJFIa-Y-s_kc;mvwLf_ohnG{3Wxm7TF47kCvv&oA zGL)OmmfC~=yu_Uq(JQjDUm+H_&2{%6N^(u`H%_4#AN6A`IFDwQorFcO-62q9+W;HJ zW#6SdQzzros`#c9W|@ZW21|==K8(tUy`PE%K~c(LE~{=CXix4?hv4DleD!f1j8$8R z?diHeF1>{O&9G`4AN8L2`u&?dVMBZ;ta4n!zw3StPz3P z2#w>BoT?3_n1fI+FpStUJ2k%^>l@!BORP+PGgz0mJKbvfl8dl%%jzCsrYdU#z7zAq zF{vPuQla=ZU z9(TcIQSV*!1_DbAHpu14)ii5CWVLN&PSj(ULo+TREbI}d3Q|Zv*^gE#b?`Ih>lxCe ztuslMsb$h^9gyX-U*f830zk3tRdJzv@_M*Tl=*?v^L7V})B_ka7wR;(k~ppa4P{;F z4H}6p6PJv;8Lp-oIgTI_OF>0_s^29hzQ?u_ecKKbGtc2~B&SHrEa$-%dh_h{2)Pl1 zG1Ix1cd=Wm3cs{~AK8SZnVl0|Wl30&wO@C8tTdDMP#bQiq@bPN4 zi`y@BH{wy7>UQ_IexAFXFV#)tCt-RZHd=cz9BnL77{W~O^gsr#!FER{{^A@j%IhY) z_*}<-vY+*U%o{nGJs$`SDKFFohriKRm?u4kOc- z@}A)CV4#S-&~F6gBn60>jint*WmV}!{6u7kqjkioBdE|MVAx=kJJB&Tlj%u&*pF)4 zl0c}l?%3+2U>cKg1q>0$6efcfAyWzK!QBm+sbLRhvx;Hw!H_9)9gBg%O)%KY64(3G zJotRBsI}1$U@Jx~O`~e)4Y+kjM_ABO!nG$5`t1SvMrtOmBn9<{b;rd{6?TqnAj_F^ zkgFFQKz6eli(`711`mQY7)vfO(-VdAVQ^xl*9pw92-Lzx+ByP9b(;^A(FQ(>bx)+S z5!Y-QkKkZAd#06PEw^Px7rqRtti3@o>WDkP+&Zs=IbNao6a!;k$g(M6rdY#->&8ov zM5anT!wO}^4f5rjFk>r@Ft`(FD^0yK%9AbiTMm8Hf55uU>7yC9oGrensO>#)SX_;` zT+A~H_>C+|pA8sKpuLiVmu7uE5hMAfQGW|JWZ%1&Er~cjR*Bf5?;4Fe~K{8nYd`c=GT7s-oCOPX7J4c3aZ>G|G z&-pItz5F)QeV<)yi z4Z)m&=%J3@{-&diSDhd6gC-?7YcU|bJ)zsiEITXWp4d=V*<3(UD%ckz$A!b`S6ET~ zBy#rZ9#O+ctM;grD2jOKLLv>2|c%qHULh3;?ML z8rz78#=Q{qT#t}+p7Z3}FtcHF5@)E$X5iUTP2E*Y*|V9|$<62)&oz-zdWeN)PE(f> zcMby9`r}eiJ5$}D3!h&%?*;^ae#`X1#d;tNhp%^)5Asl(Yt-)5b zeqM0To^N1ku}THQOZnbk{VXpBM3Vuy2SC(5 zU3^%igI7r?b5*>P0f1GNwkGD139pHh3t+D>F1Yu1yn+mLPx#+kmCIIK(7`8pA=JQPW@?km#0?iId9(R;*~`YeaFd1w;;-1Ze`QoQRS~1=K4Q-Ps+jSg z2jKmQD4U(*6^Z*(i$HxOF-2{}7RHW%AKN}2z6$sXFPF~|{wT}2DmWM%j$TMC2o0yi zk5|AzKwuC<&jmikwHTHdrOkev8 zd`a=%5nGi>)Gs#+YjoK3G;%~EwW0tKfEJ)C1W-Iy0N4P_z_w}n-jZJ;0LsBqNKLZn zvOIV^a4z*>4_PKPvoxb|MG=jmjk%?9CnXRq53`@aAFtgGi(%h{6absY9O!F9fFc0y z{6^!5CebE6v$&$uKF$RGII|9qJNkg<*OxO;)t#92I8q*3pfkW@&?ZS7fHvS-q#~qU zQ*<`I2hnO?CpQ%&4K_0zMaWb@Hp$W%o;AFMLFh@HtTUdDSgJ{rEPfs}ZP;Oa@60b40L>EgJUcvuJg+=AL@I%jfGNb{_Vr01oSt1AWnXVEBykh`SPXF9XeSv-*m?wlQjFPWsA3+k1(dwaV^&V1+Ng}@JZ>rxC#BR)Bj?(Nj~%Oc zXwJ{nY=hl+dE*qqK~{4mXBen7Le{1L0Uq(ySot(X#r_ON~8oSX+Z%=>FyE% zX^?)l{O^4fJbHcJ@qV};&UPF;IL7)p=UlPp+;gwFkeU?G0~$mEUudGuy!iUXO-nYv z@VWfUP~wTBVWcHLh82`VGDJ!)J3M(gr5TatXdEh!3RvPfDjuVKDer`Dk|#Zq9fsB= z3p3A!y2Ds4im(SzuPYlPIt^++W-Acs*9rwATbvt z=7PjrkeCY+b3tM*NX!L^xgaqYB<6y|T>srMS73m$lOYfU!~v%pT?t1nN&pln%E<#k zmKR6B{oNcvT{P;cFn@P0_gM-56h7e&H6hZn=Vvwz*^f6E`5C3rTFi1%Q&;NUj*WG$ zZv@HnPQh#j!YMjN&0tX6-O~HUb~1u!5rV|!y_m6B5oUh3;;mhv$(=G5(J)r`wkmVX zJIztOVOFn9S>7~J4Rcv0unZgQ+!)2%iLa_27aXs7V=&Ru{o33B zO+PX98k4G$1ap|GA&;K;X#M%{EOF(;vU=i?C!vcs|H2vSTa(X6v^!1LZI|{iBdxq+ zG>A2<*QFFILn>%(i6l#UvjdROiDte0+BB@T83 zzY(?Rv=P0X7lv!*x?T9j#IgrtW-G!88?|a9CrS%k_~&8u1Q1rjyzR6dVv}}bY$76y zs5~xhUx0+WX!usq=?sekEZYqBdwd&y)baqKFT;W7phWMX*CK5whsECxGJ;+T%2B(V zr=4yXoNXwr#T(uR;h!}p2_tndpYfi3`Q*EPEx!6zqjc)lst>+s<@9<+EoTQOt#t4a z{+Z8UgPQe+^A4nwvmVnRT#LZkm(A)s)(VJs8#eOJ4bQ*mtub-e==JC{>4R9xn)Sm{ zPFaP}=GViwPKYyE)J~xhg{M#FjB5E&VHEJ0T_%idB;d5}b)#*|5_g}U z$eK2S?i59`85P*jyg$$5h|`iAfm(-$iJ1I^PW{?T@bSSdLWA3VQrb`bXzt+4gCb5r zjZM1-K4c3ZAz^L_L%8$NLo7q1@JXVHE#fqMX68;Rv+KMzybm6b5^h?0`%WSi6^)y| zdyFNqGnlrELHyz!;<0#ao7`YGUGCoTa$%7_vf6za*XTT9xgn#E!+{G^wCx(5jUQ%M z0#=VvcIMoiWtJZX((%;69*yG7`|>yXJL)ck!3#Iny62Nw^q;vu6sPi`^qGI_ zAw&1Mw_qb^-gNupVDDhB2AmgsCd26z-hg=j;w(k84ZQm~r`w(A*K*A+NxA`YxL)`8 z`L#`MrgatISGPQT;$GoahTLi~`hvE8zgxVXxeBOyoshl|+sCQc>&Bb_k5#|XBQQ%` zXx4f*Jn0^(hBz6cl#Yf@!!@6xdMCK_y`2~Le5N1NKtsH014ps(n;dB~rqaMpo}Eye zp#7`|us!HE;&*Cd(NJoqCc5z?2_AOtO8A_?4Dsq1m%1KWWaWCeo@)5`zN0{;5->te zX^%T<8W{6Wy=l_Y)9Zee`-Fe_NlC(xIg?xAJ{t7ioCQshvqI%tUgPGXo*bJgb@!PB z$2b}x`>-^@G*Y2qq%hGg1A(^A+IzOMn_fpaT@MfLP14$AaD6;7C0#L_to3}wFSq%& z!O@wFuXO6w7@b1qQG}UN-a!OV&UoUwhWBVHZ+Gn&Wr-$N(c$gDKFolqwUII+=<_2cO*e;$+>UMmFSW-m@@#zcy4+k0QOaf00&cyr#LY{Fvv(@vBc#VrxYl`T~2i zWNG>QRW%>?r8hI`B34J;Eh2ML>u+MM+M%L!XbaqKNE*6ZSMK@9#b+#6rar{X&#Hd= z&4GUtwHqA{^45Ch!9ua4=lk~kUZPLh)DDsR2*$5{R?^l(*_8SB+W4zi#@wGN9GOMr zrSLcu#osb4Hr9xDTsrFW^_DLxJbHPcllh=H-4G3tM2+`3pYz$O)Z?I!Cd5$0i@1VH zIQ`?4S~(r_Y{Gmx(|0)CU(YsnA*C8stlln=BJDBW-q|KJ>C4QF#7`NRV~Cniric(j zvAs3^`pLcF?wtpd)M#T&aqfx%UsRRE^_Hd`+}IqCAN=Lmd;_FZ`sBSd(Ob@VHZ>0TnrZ?*;R<{_!DtD@n$9%rT6iEuipq zKF|H`NpT*a@bwdgC(yDbzPsELQKTtkxzft-GI0wJW;=r)u6jc~5+)h=Z$ZJ0_j}u_w=Fz3ng(AK`GF z_CjIOYT7AIq2w)A?TSs##ia4~V|}le0@Zeg99D)G(`#9p(;^2;Ka$@0pn`+V+zBVR z6Y2l6tlQ+9vK6AL74`Cn`+3;+p&#;$#4;NSbaFD|YpL1|6jV)!jFt~{-TQpn zo4u;?;*0I7k@Il3)4+q|Tik+KsSL*)j%KoFX(umlJ&b)^^}4!HJP@q_U2T_V#-h)V z;K_N+!ZIIFgqpM2BnGQk;Z5><=2Bvn2;PeD?FOAEUZ$hb&L4-Hz#~QhIqB` z6}2$(zr7Q?uTEd1q}fv_U$UD$ib7ZLRsQk!%GW*Z<`F7;+Vb(FW)0ahRm!(tr|7ZG zHxUJR`^fK1nMJp|iYzHV-k`2)eM4V~*H}y=wUEFo-64hR)rpqZe~$0w+BUONt&5^z zJ*P6Ouio&ufvgv5*|t5gj}sA@`ID80X5SnWcEU+`qWZ1O8wZ=^`WpB~6fVN!?gg{k zMR6kOu^I5Tt2cJtj&Tx?ZwnfH%`>UU`=X|>0287SrqaKAm!ek_o3S*jjq-M2>K6mH z*UN>X9aE9D%kIS@vw^x`4U-YuJ z6V-}|vv_@zep9Y&oMM}Wsaj_#v+E?e=U|^0kIw4`6Ry50ua16(hgztV8INcc#%P0l z#QEGxj>n3ywR}^GYP(K{FM1cA z_v;$f+Q%~7T2^uMIIH-^E~GTs(`#k_35UZ>pkF;Brl^*JE~gLv{+q{K{nUPRc>%~p&uadzO2t+y6la}TCqL$|tCo47&AUTRfV z7t@z?T?6Gd52reBO2FEnqd#hOrxec$^Vh}ON2Le;;^Djgx+}~5uRa7*DIdfFwXX{# zO(>fYF;~e*R7cfZH3wGHL%G_&I4w~SAr4uP6%k{;dC32Si8fn7M?*&1()WyP)u42M z8NrNBqkaB;x1(6=E!0uAd_S6&fus+Skz6Sy?5`bvhkO=%=OYbPt8+g<<`QTG3=Vlu)QX zl^^!fXA`F=v0=L0;f+9Scv|)j7w$$Z5$3Ir?dAo;EtTowRk|nz*;V zof3cSoZ2FXW0|-hyEo0Y>8WoVv)E!xq-@_QP4%s1qESfMf#I<-8-}zq0>1-8+~SbF zFvFtk+WXg=Az@I01l(d&}agxef%!i6HEqnspst@4a(jAcp8=>&%*t#jN zB1RQvNn0`7Ft$4>)Z^C`%z17+MUc;9vX^yr>_Fz1IK<@0=;T--nT}--JD4SOx?Yf2 zCso6hHI`qO_kld~xFR~r2sgvQW8lc~(A7{zYfz2xXaM%vbjJ7E*ONf)>%2LfH`B^( zm5DA&(>1GTS(eF(~AwHT~Dbn5Pf%-fZ8-%&}Xc%ucU;tS^>eCZb(T9H84x=JMx7#ka$N{-KI zwhB#U{TSgYutyYiFMTSH1um{MH8uJfWH01bmO4?VdyB2fRdn7mjE~Kd2&3!#l5=QZNXj$BoSjOJK{H zF--~2FCV0EBW|4@nye@{%)FN#mVLrbwTmFr8CQe*6cKJvIW^+8@QKWw5H}Bz1?s-| zG2#A&PN&e2(9b(76N>~zce5SW21iqvbG1F9Rz`EwFeRBs>C0S__iaf~2(|X)Q=v3zF7?q_rSvEl64mlGgg~PHP#jDBLjt zVi;+-|MV*1Mebx^fK?V+kEnHP+AT3LQA$+ti4{3)eV_*-V=sC%2Ij>TgNciYiGeB{ zpt(Wr2~~LgItB)r9vN`y>C_Qgn|g%Dm~1^HO1k7oa*58gR9n`;d=OU<%J zs%Hd6CQ>~;j`%fh%v>~Wt|m(=Ia6>4VtLd4crV*^M*C!jPKUeK9mF1ziW%ZSkuz*! zs0T^wB6?wmtdYqZ;&GGnwqcG+1hwJziE&1gZ^LPd3FsN%o7=f#ZukV7KkiYVCrQeB z5#mw*@W9@?SE6Z(==>8onbXAfN!2qfjk2{aJ5=qP0@Y3;H>&i6CK#Ogzp*Rof0#P4 zdFer&e^=ZWJ_nj)+Ju0*HSUw7U*Z~B51(_i0WohITcnj?LMv`xrvVn-Qpr*;^Z&1S z3{u4b5|25#u`8)T;xR}(28qWY@fai?gT!NycnlJcLE^Fh?s)9~A@>3);{fsXA-?{# z809f6=e+kX^h_Wf(Os)2xdg z*wBVVHSFc9<(lUe98*EoN1Nq8oB^-#lG@aq`F-nFq9+F09&Gn{WvCTQ@>+LyC#oCg z!|*r`!p0avYdUwP*O#*Lg| zeQ)t0BB7!My(4R%_oUibCr3EHhLX7&`(CxxG#2JzoPD7whJ8_Ocb(yj1OCLXDTrO% zLn*yWyEdVZan7G>Th)8{<6` zTz2Sv0;p`!&*Is1R8kwdzUV?c(ShVIP(-^LN!ut$LlE%U9MPl5#l?lA$e)wxk_M7f z$;6#me@Z+^TRlxEpK7QaF-d*XGj+`CF}X8YGh97>O$g-YOX3Sv=(;w0^o8_P$%#|`72 z9&}Y=D=?tXJIS@sr3q&f=P%DuK5yDXp$6Uc4dy&uX+TV^Bw6%pGNQ))^cK10^N!AE zlIY|8b9NX(Z-U~+jwC`&{7)O5a0AesK7-7#pWtiX$v8pf4-opEX!47KQtLEOr<(gH zmS)T-U?;lz@$y!K#6XQIcQEz75`=>4XtBv{dpJc&`A%6^d&B|%be7-&uk;&H!)@AkILzOeXtammbU7X(k%Til!@(EL8x9A3s_ z<(neg=H;!>nFFHIDz%f3!qxjGg7BGi#g)uOmtW>2NQ-v$79qHLePRAU$d@J85~-)3 z9Il~rqqq$F#=hlfSRR6y&Q!SO)a}nIg4)P}LH#D91>jDj?jUon$VHW_eU?)G4dnwBMXar%wAvC7wy z%o}OBSJL(G&xiU-yM3FrxPMTjVN!phKBt~@`02j9zkYtZCnhnmsI}4tvmrNk345p3 z7tDw9LsRZB?8c%?LZ@ZqL-j< zaj3cS(Sr}fd50BMf%s*eE@u07N!ffv_le{Vb*Gmfy8C#cX1H5Kq`I!;_}`C(zNIhf zk3jQqB?;G4S7t~HIE6R;ER?yt54AXy;$BB)caNB9?6i2QM{yWaX~v$N=HBs1iyG}y zIo`T;3y&i{>WBdTbILbOC9@me+f-#Y;29iN zP<<{p@Rhr>1-kUD7=w!YJ9^YyOLL8AL}!P2R&I^)ud7(RnG+v4UYh!x)=Cu5F-uNv z)fXbaY-L6J!ZD2|SoCR7WYiXSb;{c(0zE3{W;qka?%~>k%)v^3C9F*ICM#i_(H7Q0 z|-_)WDE4@sA;@FWFm_i>Z&t*~K`+J(?4u)pwKfZtpv9 z$iJ^0q}(UZ*=3t=oCpGWP?+?G=9Yhq)YM6QFLUlvc?YX<-dYcq9>~n?0JppE2i5yTB-ZBSv*$ zDUrOj>+@EgArUHKD`JL}4ZBBTng%+AL+!CGuT;6hR3tgyMJ-Yr*<3>wXq_*JC`X8u zQ}5n+Cc#WNe<%1!O1Q#7iKsU1R~3RnJV`Fho_p%zAM>+GDKK-^8RsgozJ&7f@+hrw zm|MYMQA<|Cd%RG9E9w6-`S#<8qon#*<_BoJ0vx+luO>Q)1}&^9yx5vYuHlMb&w*uf zzC9|3EI<-oII@(-{3u8)`Q4JpQx<`@1$i>eIE8HRNtEO*X@Z5@@tvdYeZgt*_m)z% zYZ-{m%kU-Fx=Un})a@MAYb18eiwU=~Y7yQj`}Th|q5ranvpANo=!uK6U9?UX=tsjS1(t?9f} z*}222o5c5Tl4Zipj4Zf`5=7k;gm^5+Sa9iFx6-GJhc99 z|N3bF{SD^Iwws@rPunUw0$aUA94GkaB6yYaiR>j-L;5f)q4oHgl6?4!RPA?(uUR~K zn{M#*$m8DH=C|6AvT4kNo^r48LWkr|y)CS_-JDgd4-fME3fPQR3RO+5reoTJqwqGW zTZuT32YVJK-o(~l+tbEW#Wsma_$x5*v&e0Z;ucQHn&INaWxlhZmJ%cFe1S(a%d)D@zKWnvEzNT zEHtgAdoy$E9`~e=sf;n1WXhaM<0>-EV(zuDE-{OpLaOX*D7(l78BEwzND|v8Nn?j! zVl&IO0?{>Kp&8rU=lg9q#t9Gau`-UTz*sn@Du48Ct?{8Px*;O@%$!KRMcXAR$*+Vj z30sP*)6#?uxyhOQwitnMD$B><_y8f`WgU@NeqX0*2D%U^pBJru4z^hj^r%E|pz9JJ z*yJ{)-tF8gV)gh!PM8Z=y znp7jxSnnVNSKgG@lx16zRm5wz&L-X9`Wgm5ZHgLF+!>6zB2hkKD~A(df@UIoBc6zy`my z93C!sE|*ExVR)MM-1wZjgQwLpv7ob7@0FQms!83vjsGME6i2G1)oR1j02RKt@)Rk> zM?^|TX3ffR6?@xxx;P|8g|ZZiHgGjhwJdnXy|sBnQ*;c?^O2KLQQa0B(A8I~=tua; z@Ap4wXH~)Ey6e@Y(=n6mon06qbp2ruu@V>3t7-E+9bL~a>W!@BLijl?5z*H^?OiWw zr@mi4dZ^Q#$$m4lcb~>Y*|LL1b@;h)O^w}UZf$>Of1f>#|^(nOUdWctMK@$?krnXy_div zAe(1iN}KyZ@5uo}X-7U$D>Z$2M|%}A5{Q<^JQ-hC1UjqaYBNou9*i6l7swu|d~B z2tb%Z2KqTgLj(Mat0l9oy_vP6k-d_UqobL%iNn?3x&Mhu-0s9$5c)9EIJL!S6SRL6 zFkT}OG0KYwB;YlnY{Bm&U8M{a9a1zkl*N{b?+e8Dh;O@xZxOh5%(PRN*}bQ&Tjqfu7Hoe&XSuuy0nWj<4VBy5zDfy z#`O3cs%U?TxT+m-TYzX8# z)F2BJ)w%iXjQxxwqpJf|eU%jyp;1q8J>cz%yhgJY?qu;L!p`cTk}pdSzRl_^CTz5vy}vTlMvSipn*%a^984e*TL+EGW@&DO|4o5|J6QbG1I zK-7Q!!vWChE&xHk)S3d=UawmUC|$`o0U*Q_0HD0oSm*lx zHg+&IGIDhImpm80uwK+V11rvbhIl-EfaV8?LwJc;je0>ewAXXFNSHWVS&IGhor?+h zepR#uw;YZ_0Hg+g6{LdkJJ20)pdKt)SZx60|BFPt*uMjDg9Gi+l7@el{jL)f2oT|? zs~7hIRSiT2HZ z2f7Uo6jgR>h#eRtRxBW3hW>noSzUk}O!e%I43!*#%$tb=I1}sD^rh+oqWJzI%9h9P zL}3Ld3OqI2i(vq?hIrLDq29j(v4I0&dl+_l1D!7XOQ$FKU4X83`o+$!tDWBOiAS>p z7~~y5qWIY`pnCyVDgP`R|4h^0E*kl7NKwH9odW*=ycm&Sr+vVF7w$4x2~!^Z0eDeh z1T4_fDVFCuuo+O9@{-E$gZ=1dek@Yz=_B|051+|0}HgHY<+_djKm3GO}IP(VWa;5{C&6h5B1Q3 z2WrRs0r>k~LC%e{0@JQl$IUl zv>Je-1Gpxa#|&dTSPJXKw7-f8DE=~^4|LN!;A~xvG)THGFpj21Rz}PhKUu*=8rhUM zz0-g_x`5+9FUxV<4_*$i!v*`=VpAKS4k8d`T<&L#QLq@WL)U9*UCtQjpdEm8nSwR} zmIAh$n{x8)tN}tUFdZ*b@+ZMkz*?50L3a!qAh?lUHH-w$a0aiM>{Dg_W7 z=-InTTN@g={u4@Fl_ebc0~-P$hXSD1_mhWyTvRJR$)aa#3r-XR1!xx{Kny~Fa9I?C zwLggh*7wZw?RlCFM3S|@xTXCe2k@{x9->_poD^!s%xZ~Tb`eudL3Yw4s1VBZJW<#mA&3hK&2`STJ5c7(~b z-4Os>RnQdhxjYB`|AGB`27|TH&slaFfbioIfxZysKddTX2Sh$1#=Gyvs`+JEU_`xu z{#zul3W2cXaM}K~_3*MtGH8Dz64-I|dp+L~{tXnY@otp#eP{yojQT~-0-8&Df?Z~2 zG%zE}fo1m${^}@5p}lDR(<6zWM*&!q|6acchQHAd>>}}ds2kVcK*6qJzlR!%{tXoD znE5?aUjA>OU_0pQQSU$I29M?i^fw&@)|OX~RQ~}Z(Yk>Bdrtfxjn@26>;EuK!QL~k z9;^66q$1NxB7q%oSC0Vv(OSs-uS^bB(W_^B{GiqW$9(`kN^ux7iuh5Scrvb4XF32b!mv;8jL9jada4HfL&{b%T9^JP~24V3j?GXxHZD?uPF Q;LiY%N{Va(?hBy*0aj&qEC2ui diff --git a/service-mgmt/sm-db-1.0.0/patches/sm_db_ceph_install.patch b/service-mgmt/sm-db-1.0.0/patches/sm_db_ceph_install.patch deleted file mode 100644 index 7f28fe13..00000000 --- a/service-mgmt/sm-db-1.0.0/patches/sm_db_ceph_install.patch +++ /dev/null @@ -1,31 +0,0 @@ -# -# Copyright (c) 2014 Wind River Systems, Inc. -# SPDX-License-Identifier: Apache-2.0 -# -# -# -# -# Description: installs the ceph-rest-api and ceph-alarm-manager on the controllers. -# -# ceph-rest-api -INSERT INTO "SERVICE_DOMAIN_MEMBERS_V1" VALUES(7,'controller','storage-services','N',2,0,'',''); -INSERT INTO "SERVICE_GROUPS_V1" VALUES(7,'storage-services','no','no','initial','initial','none','none',120000,'yes'); -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(55,'storage-services','ceph-rest-api','critical'); -INSERT INTO "SERVICES_V1" VALUES(55,'ceph-rest-api','initial','initial','none','none',2,1,60000,4,16,'/var/run/ceph/ceph-rest-api.pid'); -INSERT INTO "SERVICE_INSTANCES_V1" VALUES(59,'ceph-rest-api','ceph-rest-api',''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('ceph-rest-api','enable','lsb-script','','ceph-rest-api','start','',2,2,2,10,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('ceph-rest-api','disable','lsb-script','','ceph-rest-api','stop','',1,1,1,10,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('ceph-rest-api','audit-enabled','lsb-script','','ceph-rest-api','status','',2,2,2,10,40); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('ceph-rest-api','audit-disabled','lsb-script','','ceph-rest-api','status','',0,0,0,10,40); -# ceph-alarm-manager -INSERT INTO "SERVICE_DOMAIN_MEMBERS_V1" VALUES(8,'controller','storage-monitoring-services','N + M',1,1,'',''); -INSERT INTO "SERVICE_GROUPS_V1" VALUES(8,'storage-monitoring-services','no','no','initial','initial','none','none',120000,'no'); -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(56,'storage-monitoring-services','ceph-alarm-manager','critical'); -INSERT INTO "SERVICES_V1" VALUES(56,'ceph-alarm-manager','initial','initial','none','none',2,1,60000,4,16,'/var/run/ceph/ceph-alarm-manager.pid'); -INSERT INTO "SERVICE_INSTANCES_V1" VALUES(60,'ceph-alarm-manager','ceph-alarm-manager',''); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','ceph-alarm-manager','not-applicable','enable','ceph-rest-api','enabled-active'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','ceph-rest-api','not-applicable','disable','ceph-alarm-manager','disabled'); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('ceph-alarm-manager','enable','lsb-script','','ceph-alarm-manager','start','',2,2,2,10,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('ceph-alarm-manager','disable','lsb-script','','ceph-alarm-manager','stop','',1,1,1,10,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('ceph-alarm-manager','audit-enabled','lsb-script','','ceph-alarm-manager','status','',2,2,2,10,40); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('ceph-alarm-manager','audit-disabled','lsb-script','','ceph-alarm-manager','status','',0,0,0,10,40); diff --git a/service-mgmt/sm-db-1.0.0/patches/sm_db_cinder_lvm_install.patch b/service-mgmt/sm-db-1.0.0/patches/sm_db_cinder_lvm_install.patch deleted file mode 100644 index 0d0b61ce..00000000 --- a/service-mgmt/sm-db-1.0.0/patches/sm_db_cinder_lvm_install.patch +++ /dev/null @@ -1,60 +0,0 @@ -# -# Copyright (c) 2014 Wind River Systems, Inc. -# SPDX-License-Identifier: Apache-2.0 -# -# -# -# -# Description: installs the services for the cinder LVM backend on the controllers. -# -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(57,'controller-services','drbd-cinder','critical'); -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(58,'controller-services','cinder-lvm','critical'); -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(59,'controller-services','tgtd','critical'); -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(60,'controller-services','cinder-ip','critical'); - -INSERT INTO "SERVICES_V1" VALUES(57,'drbd-cinder','initial','initial','none','none',2,1,60000,4,16,''); -INSERT INTO "SERVICES_V1" VALUES(58,'cinder-lvm','initial','initial','none','none',2,1,60000,4,16,''); -INSERT INTO "SERVICES_V1" VALUES(59,'tgtd','initial','initial','none','none',2,1,60000,4,16,''); -INSERT INTO "SERVICES_V1" VALUES(60,'cinder-ip','initial','initial','none','none',2,1,60000,4,16,''); - -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','drbd-cinder','not-applicable','go-active','management-ip','enabled-active'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','cinder-lvm','not-applicable','enable','drbd-cinder','enabled-active'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','tgtd','not-applicable','enable','cinder-lvm','enabled-active'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','tgtd','not-applicable','enable','drbd-cgcs','enabled-active'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','cinder-ip','not-applicable','enable','tgtd','enabled-active'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','cinder-volume','not-applicable','enable','cinder-ip','enabled-active'); - -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','cinder-ip','not-applicable','disable','cgcs-nfs-ip','disabled'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','cinder-ip','not-applicable','disable','cinder-volume','disabled'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','tgtd','not-applicable','disable','cinder-ip','disabled'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','drbd-cgcs','not-applicable','disable','tgtd','disabled'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','cinder-lvm','not-applicable','disable','tgtd','disabled'); -INSERT INTO "SERVICE_DEPENDENCY_V1" VALUES('action','drbd-cinder','not-applicable','go-standby','cinder-lvm','disabled'); - -# drbd_cinder service -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('drbd-cinder','enable','ocf-script','linbit','drbd','start','master_max=1,master_node_max=1,clone_max=2,clone_node_max=1,notify=true,globally_unique=false',2,2,2,90,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('drbd-cinder','disable','ocf-script','linbit','drbd','stop','master_max=1,master_node_max=1,clone_max=2,clone_node_max=1,notify=true,globally_unique=false',1,1,1,180,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('drbd-cinder','go-active','ocf-script','linbit','drbd','promote','master_max=1,master_node_max=1,clone_max=2,clone_node_max=1,notify=true,globally_unique=false',2,2,2,180,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('drbd-cinder','go-standby','ocf-script','linbit','drbd','demote','master_max=1,master_node_max=1,clone_max=2,clone_node_max=1,notify=true,globally_unique=false',2,2,2,180,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('drbd-cinder','audit-enabled','ocf-script','linbit','drbd','monitor','master_max=1,master_node_max=1,clone_max=2,clone_node_max=1,notify=true,globally_unique=false',2,2,2,20,30); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('drbd-cinder','audit-disabled','ocf-script','linbit','drbd','monitor','master_max=1,master_node_max=1,clone_max=2,clone_node_max=1,notify=true,globally_unique=false',0,0,0,20,28); - -# cinder_lvm service -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('cinder-lvm','enable','ocf-script','heartbeat','LVM','start','',2,2,2,30,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('cinder-lvm','disable','ocf-script','heartbeat','LVM','stop','',1,1,1,30,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('cinder-lvm','audit-enabled','ocf-script','heartbeat','LVM','monitor','',2,2,2,30,10); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('cinder-lvm','audit-disabled','ocf-script','heartbeat','LVM','monitor','',0,0,0,30,10); - -# tgtd service -# The tgtd init script blocks until it exports all the existing targets. Using -# a very long timeout to ensure that it is never killed while doing this. -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('tgtd','enable','lsb-script','','tgtd','start','',2,2,2,180,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('tgtd','disable','lsb-script','','tgtd','forcedstop','',1,1,1,10,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('tgtd','audit-enabled','lsb-script','','tgtd','status','',2,2,2,10,5); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('tgtd','audit-disabled','lsb-script','','tgtd','status','',0,0,0,10,5); - -# cinder_ip service -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('cinder-ip','enable','ocf-script','heartbeat','IPaddr2','start','',2,2,2,20,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('cinder-ip','disable','ocf-script','heartbeat','IPaddr2','stop','',1,1,1,20,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('cinder-ip','audit-enabled','ocf-script','heartbeat','IPaddr2','monitor','',2,2,2,20,5); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('cinder-ip','audit-disabled','ocf-script','heartbeat','IPaddr2','monitor','',0,0,0,20,5); diff --git a/service-mgmt/sm-db-1.0.0/patches/sm_db_pxeboot_install.patch b/service-mgmt/sm-db-1.0.0/patches/sm_db_pxeboot_install.patch deleted file mode 100644 index 6adbeb85..00000000 --- a/service-mgmt/sm-db-1.0.0/patches/sm_db_pxeboot_install.patch +++ /dev/null @@ -1,17 +0,0 @@ -# -# Copyright (c) 2015 Wind River Systems, Inc. -# SPDX-License-Identifier: Apache-2.0 -# -# -# -# -# Description: installs the services for the PXEBoot network -# -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(67,'controller-services','pxeboot-ip','critical'); - -INSERT INTO "SERVICES_V1" VALUES(67,'pxeboot-ip','initial','initial','none','none',2,1,60000,4,16,''); - -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('pxeboot-ip','enable','ocf-script','heartbeat','IPaddr2','start','',2,2,2,20,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('pxeboot-ip','disable','ocf-script','heartbeat','IPaddr2','stop','',1,1,1,20,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('pxeboot-ip','audit-enabled','ocf-script','heartbeat','IPaddr2','monitor','',2,2,2,20,5); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('pxeboot-ip','audit-disabled','ocf-script','heartbeat','IPaddr2','monitor','',0,0,0,20,5); diff --git a/service-mgmt/sm-db-1.0.0/scripts/sm-db-populate.script b/service-mgmt/sm-db-1.0.0/scripts/sm-db-populate.script deleted file mode 100755 index cc47a801..00000000 --- a/service-mgmt/sm-db-1.0.0/scripts/sm-db-populate.script +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2014 Wind River Systems, Inc. -# -# SPDX-License-Identifier: Apache-2.0 -# -DATABASE=sm.db.v1 -HEARTBEAT_DATABASE=sm.hb.db.v1 -CSV_DIR=./ - -sm-db-build -mv sm.db.main ${DATABASE} -mv sm.db.hb ${HEARTBEAT_DATABASE} - -echo -e "Populate SERVICE_DOMAINS_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceDomains.csv SERVICE_DOMAINS_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_DOMAIN_INTERFACES_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceDomainInterfaces.csv SERVICE_DOMAIN_INTERFACES_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_DOMAIN_MEMBERS_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceDomainMembers.csv SERVICE_DOMAIN_MEMBERS_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_GROUPS_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceGroups.csv SERVICE_GROUPS_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_GROUP_MEMBERS_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceGroupMembers.csv SERVICE_GROUP_MEMBERS_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICES_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/Services.csv SERVICES_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_INSTANCES_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceInstances.csv SERVICE_INSTANCES_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_DEPENDENCY_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceDependency.csv SERVICE_DEPENDENCY_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_ACTIONS_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceActions.csv SERVICE_ACTIONS_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_ACTION_RESULTS_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceActionResults.csv SERVICE_ACTION_RESULTS_V1 \n" | /usr/bin/sqlite3 ${DATABASE} - -echo -e "Populate SERVICE_HEARTBEAT_V1" -/bin/echo -e ".separator | \n.import ${CSV_DIR}/ServiceHeartbeat.csv SERVICE_HEARTBEAT_V1 \n" | /usr/bin/sqlite3 ${HEARTBEAT_DATABASE} - diff --git a/service-mgmt/sm-db-1.0.0/upgrades/README b/service-mgmt/sm-db-1.0.0/upgrades/README deleted file mode 100644 index 146a0345..00000000 --- a/service-mgmt/sm-db-1.0.0/upgrades/README +++ /dev/null @@ -1,31 +0,0 @@ -The SM database can be generated off of an excel spreadsheet -(cgcs-root/stx/stx-ha/service-mgmt/sm-db-1.0.0/database/sm_database.xlsb) - -Instructions: -1. Update the SM excel spreadsheet (sm_database.xlsb) with your changes, -2. Update the SM database (sm.db.v1) with your changes: - sqlite3 sm.db.v1 - .tables - apply our changes using SQL statements - record the SQL statements for Crucible review (i.e. in commit.txt and in Crucible) - .quit -3. Update Packstack "sm-configure" calls were appropriate. -4. Update Packstack "sm-provision" and "sm-deprovision" calls were appropriate. -5. If your service runs during Packstack manifest apply, you may need to make - sure it is stopped before SM takes over. - -See packstack/puppet/templates/platform_sm_stopresources.pp -See packstack/puppet/templates/platform_sm_stopservice.pp - -OBSOLETE: - - CONTROLLER=192.168.204.4 - - mkdir -p /var/lib/sm/patches/ - - scp new-service root@${CONTROLLER}:/etc/init.d - scp sm_db_upgrade.patch root@${CONTROLLER}:/var/lib/sm/patches/ - - chmod 777 /etc/init.d/new-service - sm-patch database running sm_db_upgrade.patch - diff --git a/service-mgmt/sm-db-1.0.0/upgrades/new-service b/service-mgmt/sm-db-1.0.0/upgrades/new-service deleted file mode 100644 index ec472df2..00000000 --- a/service-mgmt/sm-db-1.0.0/upgrades/new-service +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/bash -# -# Copyright (c) 2015 Wind River Systems, Inc. -# -# SPDX-License-Identifier: Apache-2.0 -# - -DAEMON_PID_FILE="/var/run/new-service.pid" - -case "$1" in - start) - touch ${DAEMON_PID_FILE} - exit 0 - ;; - stop) - rm -f ${DAEMON_PID_FILE} - exit 0 - ;; - status) - if [ -e ${DAEMON_PID_FILE} ] - then - exit 0 - else - exit 3 - fi - ;; - *) - echo "Usage: $0 {start|stop|status}" - exit 1 - ;; -esac - -exit 0 diff --git a/service-mgmt/sm-db-1.0.0/upgrades/sm_db_upgrade.patch b/service-mgmt/sm-db-1.0.0/upgrades/sm_db_upgrade.patch deleted file mode 100644 index bf1853ce..00000000 --- a/service-mgmt/sm-db-1.0.0/upgrades/sm_db_upgrade.patch +++ /dev/null @@ -1,62 +0,0 @@ -# -# Copyright (c) 2015 Wind River Systems, Inc. -# SPDX-License-Identifier: Apache-2.0 -# -# -# -# - -UPDATE "SERVICE_DOMAINS_V1" SET GENERATION = 2; - -# Add a new service to an existing service-group -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(100,'yes','controller-services','new-service','critical'); -INSERT INTO "SERVICES_V1" VALUES(100,'yes','new-service','initial','initial','none','none',2,1,60000,4,16,''); - -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('new-service','enable','lsb-script','','new-service','start','',2,2,2,20,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('new-service','disable','lsb-script','','new-service','stop','',1,1,1,20,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('new-service','audit-enabled','lsb-script','','new-service','status','',2,2,2,20,5); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('new-service','audit-disabled','lsb-script','','new-service','status','',0,0,0,20,5); - -INSERT INTO "SERVICE_INSTANCES_V1" VALUES(100,'new-service','new-service',''); - - -# Add a new service-group and service -INSERT INTO "SERVICE_DOMAIN_MEMBERS_V1" VALUES(101,'yes','controller','new-services2','N + M',1,1,'controller-aggregate','directory-services'); -INSERT INTO "SERVICE_GROUPS_V1" VALUES(101,'yes','new-services2','no','no','initial','initial','none','none',300000,'yes'); -INSERT INTO "SERVICE_GROUP_MEMBERS_V1" VALUES(101,'yes','new-services2','new-service2','critical'); -INSERT INTO "SERVICES_V1" VALUES(101,'yes','new-service2','initial','initial','none','none',2,1,60000,4,16,''); - -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('new-service2','enable','lsb-script','','new-service','start','',2,2,2,20,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('new-service2','disable','lsb-script','','new-service','stop','',1,1,1,20,''); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('new-service2','audit-enabled','lsb-script','','new-service','status','',2,2,2,20,5); -INSERT INTO "SERVICE_ACTIONS_V1" VALUES('new-service2','audit-disabled','lsb-script','','new-service','status','',0,0,0,20,5); - -INSERT INTO "SERVICE_INSTANCES_V1" VALUES(101,'new-service2','new-service2',''); - -# -# sqlite3 /var/run/sm/sm.db.v1 -# UPDATE "SERVICE_DOMAINS_V1" SET GENERATION = 1; -# .quit -# - -# -# sqlite3 /var/run/sm/sm.db.v1 -# DELETE FROM "SERVICE_GROUP_MEMBERS_V1" WHERE NAME = 'controller-services' AND SERVICE_NAME = 'new-service'; -# DELETE FROM "SERVICES_V1" WHERE NAME = 'new-service'; -# DELETE FROM "SERVICE_ACTIONS_V1" WHERE SERVICE_NAME = 'new-service'; -# DELETE FROM "SERVICE_INSTANCES_V1" WHERE SERVICE_NAME = 'new-service'; -# .quit -# - -# -# sqlite3 /var/run/sm/sm.db.v1 -# DELETE FROM "SERVICE_DOMAIN_ASSIGNMENTS_V1" WHERE NAME = 'controller' AND SERVICE_GROUP_NAME = 'new-services2'; -# DELETE FROM "SERVICE_DOMAIN_MEMBERS_V1" WHERE NAME = 'controller' AND SERVICE_GROUP_NAME = 'new-services2'; -# DELETE FROM "SERVICE_GROUPS_V1" WHERE NAME = 'new-services2'; -# DELETE FROM "SERVICE_GROUP_MEMBERS_V1" WHERE NAME = 'new-services2' AND SERVICE_NAME = 'new-service2'; -# DELETE FROM "SERVICES_V1" WHERE NAME = 'new-service2'; -# DELETE FROM "SERVICE_ACTIONS_V1" WHERE SERVICE_NAME = 'new-service2'; -# DELETE FROM "SERVICE_INSTANCES_V1" WHERE SERVICE_NAME = 'new-service2'; -# .quit -# -