From 75d9abfa21123bdcdc03e6f0df527d2e8d95c893 Mon Sep 17 00:00:00 2001 From: metaproph3t Date: Thu, 12 Jun 2025 00:00:00 -0700 Subject: [PATCH 1/8] Start on integration test of streamflow --- tests/autocrat/integration/streamflow.test.ts | 140 + tests/autocrat/main.test.ts | 7 + tests/fixtures/streamflow_escrow.so | Bin 0 -> 438120 bytes tests/fixtures/streamflow_escrow.ts | 2627 +++++++++++++++++ tests/main.test.ts | 9 +- 5 files changed, 2782 insertions(+), 1 deletion(-) create mode 100644 tests/autocrat/integration/streamflow.test.ts create mode 100644 tests/fixtures/streamflow_escrow.so create mode 100644 tests/fixtures/streamflow_escrow.ts diff --git a/tests/autocrat/integration/streamflow.test.ts b/tests/autocrat/integration/streamflow.test.ts new file mode 100644 index 000000000..30b25be95 --- /dev/null +++ b/tests/autocrat/integration/streamflow.test.ts @@ -0,0 +1,140 @@ +import { + AmmClient, + AutocratClient, + getAmmAddr, + getAmmLpMintAddr, +} from "@metadaoproject/futarchy/v0.4"; +import { Keypair, PublicKey } from "@solana/web3.js"; +import { assert } from "chai"; +import { + createMint, + createAssociatedTokenAccount, + mintTo, + getAccount, + getMint, +} from "spl-token-bankrun"; +import * as anchor from "@coral-xyz/anchor"; +import * as token from "@solana/spl-token"; +import { DAY_IN_SLOTS, expectError, toBN } from "../../utils.js"; +import { BN } from "bn.js"; + +import { StreamflowEscrow, IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.js"; +// import { IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.json"; + + +export const ORDER_PREFIX = Buffer.from('order', 'utf-8'); +export const EXECUTION_RECORD_PREFIX = Buffer.from('execution-record', 'utf-8'); +export const ESCROW_PREFIX = Buffer.from('strm', 'utf-8'); + +export const deriveOrderPDA = ( + programId: anchor.web3.PublicKey, + creator: anchor.web3.PublicKey, + baseMint: anchor.web3.PublicKey, + nonce: number, +): anchor.web3.PublicKey => { + return anchor.web3.PublicKey.findProgramAddressSync( + [ORDER_PREFIX, creator.toBuffer(), baseMint.toBuffer(), new BN(nonce).toArrayLike(Buffer, 'le', 4)], + programId, + )[0]; +}; + +export const deriveExecutionRecordPDA = ( + programId: anchor.web3.PublicKey, + order: anchor.web3.PublicKey, + executor: anchor.web3.PublicKey, + nonce: number, +): anchor.web3.PublicKey => { + return anchor.web3.PublicKey.findProgramAddressSync( + [EXECUTION_RECORD_PREFIX, order.toBuffer(), executor.toBuffer(), new anchor.BN(nonce).toArrayLike(Buffer, 'le', 4)], + programId, + )[0]; +}; + +export const deriveEscrowPDA = ( + programId: anchor.web3.PublicKey, + contractKey: anchor.web3.PublicKey, +): anchor.web3.PublicKey => { + return anchor.web3.PublicKey.findProgramAddressSync([ESCROW_PREFIX, contractKey.toBuffer()], programId)[0]; +}; + + +export default async function() { + let ammClient: AmmClient; + let autocratClient: AutocratClient; + let META: PublicKey; + let USDC: PublicKey; + let amm: PublicKey; + + META = await createMint( + this.banksClient, + this.payer, + this.payer.publicKey, + this.payer.publicKey, + 9 + ); + USDC = await createMint( + this.banksClient, + this.payer, + this.payer.publicKey, + this.payer.publicKey, + 6 + ); + + await this.createTokenAccount(META, this.payer.publicKey); + + await this.mintTo(META, this.payer.publicKey, this.payer, 100 * 10 ** 9); + + autocratClient = this.autocratClient; + ammClient = this.ammClient; + + const STREAMFLOW_ESCROW_PROGRAM_ID = new PublicKey("ESCRoWj8QUJ5cTXCBWbGpW6AzaaEAtRbZuwKp8c4YYGs"); + const escrow = new anchor.Program(StreamflowEscrowIDL as anchor.Idl, STREAMFLOW_ESCROW_PROGRAM_ID); + + const authority = this.payer.publicKey; + // const baseMint = new PublicKey(baseAddr); + // const quoteMint = new PublicKey(quoteAddr); + const amount = new BN(1000000); + const price = new BN(5000000); + const orderNonce = 0; + const vestingStartTs = new BN(Math.floor(Date.now() / 1000) + 3600); + const vestingPeriod = new BN(30); + const vestingAmountPerPeriod = new BN(1); + const vestingCliffAmount = new BN(500000); + + const orderKey = deriveOrderPDA(STREAMFLOW_ESCROW_PROGRAM_ID, authority, META, orderNonce); + const vaultKey = token.getAssociatedTokenAddressSync(META, orderKey, true); + + + + console.log('Creating vested order:', orderKey.toBase58()); + await escrow.methods + .createOrderFixed({ + nonce: orderNonce, + amount, + startPrice: price, + partialAllowed: false, + expiryTs: new BN(0), + claimType: { vested: {} }, + vestingStartTs, + vestingPeriod, + vestingAmountPerPeriod, + vestingCliffAmount, + }) + .accounts({ + creator: authority, + baseMint: META, + quoteMint: USDC, + order: orderKey, + vault: vaultKey, + from: token.getAssociatedTokenAddressSync(META, authority), + executor: null, + partner: null, + }) + .rpc(); + + + + // let dao = await autocratClient.initializeDao(META, 400, 5, 5000, USDC, undefined, new BN(DAY_IN_SLOTS.toString())); + // console.log(dao); +} + diff --git a/tests/autocrat/main.test.ts b/tests/autocrat/main.test.ts index e69de29bb..472fb8d44 100644 --- a/tests/autocrat/main.test.ts +++ b/tests/autocrat/main.test.ts @@ -0,0 +1,7 @@ +import autocrat from "./autocrat.js"; +import streamflow from "./integration/streamflow.test.js"; + +export default function suite() { + describe("#autocrat", autocrat); + it.only("Streamflow integration test", streamflow); +} diff --git a/tests/fixtures/streamflow_escrow.so b/tests/fixtures/streamflow_escrow.so new file mode 100644 index 0000000000000000000000000000000000000000..dbc78a2ac2be64e635bb43d39a80f13d17192c6c GIT binary patch literal 438120 zcmeFa34GjFbua#tl}Qu>wQOgMGR1htmJ>xq57}`NMI}Xv;zSq<%A#0t>muXiMK((` zo&dVKZ6n1YQCtd2!XnfK&Dc)l(nZ}~M7L3SeIH!;j+ZTfS8k%sCczB44>bjck$mbqc#J_|;SUG6^Xb5OE11TsU*)OmPF?Vg~** z6#m6C#18|ETzB09|7_WQiG;YG2=E=33cN}2`fVs@O``-y{zmwQ$Ldqma*7ZK zsn-?LQB>T9^u^oN58^MT_!8ee221+s&z>N3fCn!DTr+?oOd^jR}U}~c%5q)0x=knTKsd0tTo<23E zFxt_lMg=a_cS>MCG_C$*93Qr~wexcAI{9qvS`acL)~DQ#E)O|mzGs)z<9|uHF0XW? zh80%&QiBSEKA##;81?Zf)X(KnUz2B-2S0qOU($#2*hKV%a>nw>dZ?91X8QgQ(HF*N zH2!*uFYeQNQ8TpB&+I+?H;Q^LVyUalmxy*q_;+GEy>3Z6fxj*O4 zXOPeD!#EJ@YluZuyh8CdsPEukLi&?)^jr)C<^7Xkc0OhOL;ERJL;7j+g2*@Py)>t5 zo)@@*;3aywc@F)cz}Uzxp?K-P&8H=t#uN2tknX6aqe8g<7Hb^-I@W539Hd9y@Z zNWJ{eQ=wj-5_(?Bd>9lytQJ0$^s==V^pMM=9wohO`fOC{=d$2$lG>Y^hV(n+sMO!i z4^J#luLS;BFJ4X!NG{f!ms@$D$6t>0eh}flAMm-$by_mUbfjM7_6+1dlxvpfJ$aVr zjL>@_<@t%JmykR^Oa0rW{wBwN4Y`cR<@1xjm%JRSo$fM_^PU>iKeQKkJ{Zpb9{fP% zJf?i!@(kIV=*L?{p4c8IG-v!eloQVbb$sFYR!ZsDN%F|)JkDJPnCFR=B`T%oNa4@fAv-3=dM-%5rq5qAf3M$`TQ-Q$LqYw>-dhk{fA=Jf>&mxKp146+o_9jsP&M%>F3+lOd{Xa{(xSofVZ=2!o-99hz$r^3Xs`X6^9UHe$LF7vH zMg2?kp`G_;{$mCDS_RME^^m7Z`q~h`{i{l!@-;8Pk@OSgUs3t@3g+L@Hk4av)$&nK zv;Up)E1n;ye8lqyl_#I-mi%FRrK!B)F)g3^VK>3tzMIH*`Lxnmqy7CYk}%BA>5GSu zpYtt}T(}c`pfleKzkqTZ$lgjJDgPbbxSa%$Tq1%Z@I#9-k9VdgR4#m~OYr#S4)H6> zF9;g3`#O~VKP4N~9bH=fzNb%1{v)Yogobe7)I&P2p zUtKz1AoG67{NS%BAE$5B^s6bo8&Ub%06&(m4TO-KGx<{e=1jhHyxIRA@X_T#kKfRW ze0k9AH=sYcJlflDNF)An@uVLRS!c{nOHfO(bA_hm`KIOCIQ3sazg|~Gzsfw3gw^!x zV?W7qWpWPr{H}hju3tx4-id#vU-vQpj*e-+9EET4pPE$|a_>_!3aft5d21~HYX67& zX^_eb_3ISD+%I!9pLh8|!Iz}H3?hl7yi&h%`cS{VN%X7Iq4ujQObMQq^(*vMrGA~1 z{Jwcy{E&VrKhQJdO8-&Pult@xxg~vyj%f2bR{)(WuOpj&)%3O=&xt;rd zh3GPQ+Q3?wVU?#10}87=ZRl56yvT3p1Dr>@`3=1agAQ-{I1f6_-gNmcp>zKR8qmq@ ze~);PTT#CbgAY~K`>h>g{i=F5Y@cD3kAL~kGiUbYfiGFJLFAk5O>@Me$gKrbTo0f3 zlQ=*3Pj=4``JAO?Ju))Pu1Dtww$IZ*X6^8Uh-18FH}57qi!3i!B96<41&sBjmRADe z@t<3O%N-`4+wIU%mZwqShburo*!Yr&Fpny)k5~IRln1Vl+085$hJPc;g?|s)-RuwB zUwbzGHYtC9PWXFT=sOqwa{lw-Z_@?h?`h@lEyCX>)l(5BkFu&<_() zhom$6lld3Yvp0kOVEUEgL%Q~6{#59S=VdxS=5aHmbMN*)lyp2Uvr9yPL%Jtf?t*#G z-A@p`Q`3^q)w*RHvg2Gh4IiiF4^~nP? z9_LYBvL-DFN_2oO)895u7#~dUB%&tCXZ?xse&KPR=bsRI!ut2A9GV^4#&VeNL;VZ= z;+vlIN3?vEH{T38Lwp0w&!AphPcHvnk%IxnJ1G82^)UVE;&FQc`SY{LpIQ`uU;Y@v z)qZkEmCkE*K6=H=g&+HMJoGk>>iG!2LEA46e0~G^uk|NxFRI2F-ymp6j<9ZFYd&=JnZMT&QYm% zAa@)d_GjBy4dtzl>J!@KZ3MHtT_f^Vr}e5A|D~jNn9fk|e1`g`o9Y6+Y6rT4^7EYa zPOISY%}wHm{E~8m{%Ll|XG!b36IyI$(mP71N)B8W*@yugt{ZOZCcZ93I*YWaq@; zOZCbr2@mC|pXw9pm2rZ(eSc2msbA95{8aozbfXYzdhx}yXPC}Vue@ILit;zFd@U$H ztLl}Fs85AGGbZ)*&7*;F}7=_D)d|zl^^PtjiO(=gl<>p7Qdulz#p=kwSM4FSifH8 zYfwLvhg~8My^6O_eAWkCf!wuPkFs-@)%8n<<&C{&cus-HD zyiNE;dJg(+L%+bekDz>)NB&@)LGYRV7~4Zt_0sCR_5O|RDa{I zyAkc^^nB^wb-Mp@BUOZ)+YW#4I?!+PT6ZH1E_XHjz3aawbUZ`nQMja@RlUeRC|*=l z`k6mpf0*S0^R%!X+0HILg!G*5OJh|26!b2QKZ4&C=EN^whugb7iSo+&1-Cal-wr%J z1w6~y{aillhkyT9tc7zv&d(fTdR{|xCnGGR6q$+Sc9YLV6t!GF7em9Hj62MSmMvI! zOV*%&BqDSee`IBPPBA|UTnf(HFnvtNmx&ISKMj7II3<1}!akho7p8;hF6S@TCr#mu zXPvYI&f)IMHc=?8W2La)S)MPXgO)|4eitd8O9c-@M3=TRkDv4}D%s^2z|Wp2Hrp`~0j_Ammede|zvn>TiEurN8|Swb8lvH%uUt zHSd=CCZYlHpG$umA^uhNw+Fz_L*mK4=sQT}%K6Lvjpd8`+cBz7kDf!`m&G`6KK<>d z1kal*${(eW<;qWM`5%&ew^rnvS|Q(0O1_SYd?#1P_lV@Xz9QfJ3i%$CeA_GX)e$3~ zt$u@&PwkMPU7A+Nmz8{tC@(9X?2p!Qd!k!O`!w$j6fNZ23Mb`Cxat?3Cp9=TP4|%E5Z#e+!9jyM+4gS0&#|SKodA3!(3x_j8b#-`RYC=T+f; z*ZJ(jH85ZP3+}_+A^K@p=O?4$zm(R)CrR&FKVm&F&*vpy#C^EAd!L_uxOY>%&SoF( z)1+{pkA1kWkzR870hNP6@xQwdcdqBJdoVt!9eX}{XHeHCZ6EG2ZttVRvM%TT3$2&` zp2%Cj*6XFeUVgXe9jpht7h%2p`+kt+0PE0B*Xb|hdig)lV%FKLmtQCP=fba--y`zy z!mpS2{{rj17k9m!_pg@RgTVAVviX>!F`C`R?PSQ1;r`5@w#ugFKFvEU!{qg({m|3HEU$OIGe?KxvekT z{+6B7v2%mgzF|4jTCd;Ldi^i1SA0%*M#pW)f#FNYE&-)0U>(}RZNENVS8kJLr27Y& zPS2BZd)Fe0{|?(Z>118EgxbDLLTX3*4!r0^E)l&+{E&Wb7q;VmXOQMgDoQ~KV!zExxQ@9du2{m2&WrtO4dCsxJx z)A&4V;D-GW+N~#nd2({qcJ1HSNwOOb5CU>`?x6UDfD!LQO~3YH0Q8sn`o5=wFcUyR~-$A+uP>E4p2KjiLHJa5s$+;Pz13e)H}H*sphtM?rJ?E=Q{m)vjw`gXZ? z7%ppvJE-#jk&cpb*AD-|$Pn?qa@Hr{Q?^9FX zW(1{ki{skf+As8cuJO&zwbA<{lFsXUB3a#k&BgDHsQjj81pmG%+;_;H_;c_x&!u8r zeHYOi?i2h4!Av)69;W-2pJ)0&m%Y0}_O6yc27h8&%IUdujo{_>yi|V4pW*mESA0IR zN%Gk^=u@oO}?D`1cKYtcUwQC14_M<#`iB8?^NE+O&yMXFEy zEZdx!0S^uujcIjMhfT6 zvU-0bmx{D}t#3-}o2t`r@X4p@1!g&A$LAdQXR_|KfC=E4XUj;Jz}z0@SdQa+7+Cg{ zbJ)MYbhA*Bv+=6sGGt_!ojZZ|LHIs4yW&maMGeH~Uw9C|8NZ#QE;eaACBFneMSrw# z2PMb!GbS$g4)R&ve&A;)E!BtnO*!3ugaXOg`Hh%fLTCBc5x;HxGJU}9Ve#82{yxHy zrvE%{u-_AHp}#EWs9$z1`gKoDTIjQI-iLaM((!)Q9^zN=a?VBNLHwfPD*@ZRPjB}r z^Ju@)xf;6{nU)N8?$GW@X7iAPoZh1}{l?{Q=kf|Dhu8O6{z7>>^$F4|@9C2S{v*BO zlRYT?BDZ0i!q5w*$EZI`yxkw7bL0Zsc+Bm@E2vfH?HRwv>!3X*zU+sgu?8{_kz|l1bO*FD2H@@f}Ons$K&i0In03SP!8G7 zV>$fNPZK^SULB{j_Y9cd?|vYP-o6cbh{d@-egA*wr0E0i8t~hompJ_1d(!XV@O$5N z-vjoZ9f$Y4>t4}P1NZKya85z;w*|i4bK>@8yEL}5s2_5TTJ#>Z^~<A(Si+C(6hMyoL0ww?1(eJEcZU0$_HU`zIFC2zbv92oJ!-y36{_=+x4F^Xml1?XUfs^+5P88q3!^^QCl_{%rkN zKd8QPPy=Egk{F-yosjFEi_pK_4jv_F4599ic)+H&OYg;MzFN(v@70##HQ%}pN$A$M z!GFQaAJFpqU!?LUQSMq&66EZCo|sRnM|zBp+D@f-cffza%OBM8RUTgO@~2S#+DWBDy!f41vlpL#IY7C| zRbYVGF>Wp7!rogdrjgF(V>bSqd_99`nin?7ui`ZbD8g)@^Z7L4BWL!k*}FwHYRDyP zVRsnpHV??iZgOwwdup*idtl2!iEq*Oq}`T2fs?hb5`6al*nzG65`Lf+>CNtL>6T!! zTNcHRuyA{4tjLoea>% z)w8GeTbf_%qw||YgmCM>GQZk(F^HhQJTCk-&8w|_dhAuqaCmE zswX(y^?mdI z?uL)?yjCX8%ulx1nZAWG`j}&`e<>d~jZh%D8?vgm z_5n8j6?1@@um40pOZkHvzDZ2)e&AtxKg;Q!0PJFXWpoGWf1K&;M|%Hg6*{*lz8&aScK<863g2$% zSp~VYcio?%cA%z>o}or&KY3B3ATT}6bp8R&o9%rAdtWjU>3y=RQJ&>Dy!P&-yBhUL z)?$Ir#+P^Q*d!VGJ$7^4pWMxWg!*Cp=5Q;w*nzMj#39;r4PY*x9pjh!X#Z)k_bbsX zQ4bHKf@T5o+ z$&1R5?UQcO`o(fbLf3<rtOYdzJNvm@e*z!@wc@ zviGHSD&9NcZ&JHI<`)GEzwQKoOy2liS$4%+#EXiJ@E_Ik->Ts(&rA4q&t^%OpcZ3S z-hW?u^sb<1E|Y4=dH_p$5!I6SdAZ(6v(xTHI&b_{dAIj&i!0#qTPyQ(3skd9tv%LQ zd1x-N)A?u1O$ac1ZZ`=9hxF9SQ%#ZCM<%!TnVx0?ja>0o@uIDyr@5Xyo`}!FMb6GE zKTY-I`8L}-Y?s)1AGaS;VfP^DT~Co;riV+g`@+RMV9?|_{yWef=kEYMeE_VA-p6OqkM?C{J#QTOe?wQ`*P5q6N z^dvBz+CKc*^06xaYSF>W9`)^*ui5!5ri;s^eOKYAO$N z|09K9{?UkZJl{I<6=Iq?mILle*|i9;cb&Oixqh7f6G3`Acg5i!55gG__u%41`h8)?uK?uKylMnA7$-upaI9_G?kc zed~c||Fu*AIePC_+RIJi{fF%OO%k5FHZ8te4};cUixJVS#km7pN6%eB9gv*K<+IHr z-}Dirt&--f3vq)4}86>omkWp5p80UySKJJS||Q% zL=Ka+cSf%uI9dC!$YF@*55B6*qj;82?g5Di2HCx}Yh>I@)?O>~?_}-WGH(v^zr8F! zj|hqAC+IKJ@jasFlC@XMj6Yd>m*5Zc-&l6P^9sp-So43cywu6`UrHfizVWhhLHCbp zzEs2-C0TpBynG+#8!9W0`ILy>E%}&EVgcnl7;(=G^RO7BYkChWN4D{-$JoV`4EnCc3&-|^JUA{=XDi${<fEba#}c;~t+7ZM~GPbQym#l5Xj`828VI%kV)yp?|`9+*gK=ht5Q_rGmbnFT;m) zudYb<{xW>rZxWH(X-q6Rrtb@7?ZbNB-qSyu_AQpt!*&R_?{HcB{=g*TT}`n|`M9wx zKk9?=Fyv2Y2bsOYjVkuU35;mQ;LsFZ?CyYVdaPE@8VX3 zuh|Jd+XJ8X1KQ~4r`5kV@%1xB8mEj-TmOjnLA1Q$oyafiJKJF+a0t^sTcGhx_f5~| zJD;B#VLM;#s)E|dS8(s7{;774o%gbRmH500#OtiS^Z9Z*=Nj`z@tQpuuM_2^SeeJL zJ<01G_C3;H5IW~z{}nI~N(eWhPbhiG{zUhP&jYd@)ynl@Wkt^EdZXRbU_SoM!=$ex zWOP{yAjk5}?yG@$X|){?ogVO%DGGCV9QlJS`yw>FBiSOo6@tL zlw7r1#zS`q_CUP<(Fne0Hv^x4CH$P7Yqjsm*t=$r2zu%ln2)kOSBs#CMUdS05bTrxT+zMX$?+tI$8 zZjxYXC*|9YCJET|0K#p3E2;X;*16p^nx7k!oTZER6RB7tHEL<(za)1cL++7qNKfM4 zIGo|+Dz+L44=ZzW@%nY+j|d#vo6OgEorzV>uq1(9W9woVZlhu!;x?t>8y)fbH8q>i z*{5`(8B6PlN;lV5qokac?l%g;a=PrhO+}Jzc2*C+>!h@w-!lte?@PFA!Ee{5{q1^` zQffDh<9_wDyT2$oe| zX}9PGq$4?Icf)oxSh(-Q=f~_koAn3oXY9D29i{uhc5cia2S3~~@W)M}p2m7$aO6@|0NICi) zUzr~VdcfW@kM)zTABF2mELqFl`{Q*v*1z2WK5nP|w9oNEl-p2dPu)r7mh1+MQ=xpZ z-nR9|Y^JZE*URdDah94On-R$UTX6x z^e?;Tsr}Er5_sGp_{mjJJl0RmPIrf(XWdcgoxR(2pY;$4J~?+3`1fvy-mvmrPWAM$ z(^CH4PTUXdS;Yept#_`&I!kiZCV@F0Q()ieGCRV)QySVM)5=e~@B6l4rUUxH?)SMY z%D3+nn4M$&-(^uR`|g2#*VOLsmGr|L_-F5V#`*&F4e6TX{&q~NBl{$?1halPHpJ~c zDR`W|PoIc>SKu)JnAXeg``*g+((gsnI{=bC5&Z`8RoLGv%iRrv@A;9ta(UwY)c1dM z>j#+|Z*F|-EAf4HYGl^W2_0WdzBv7F-cWxPr@!n2uQ1s6qs zai;#^z1#J>d=T5nee<&Ns&W_PFPGP^Jh+^^{wn14N|bB* z(#Dxmza0BEr*P}~C1G;aSHGPE@!MC?^~zuTsGICynHIwZR+{xAN3aARii`ZgQSd?W^Em@fmx#U& z`s_QbZD~Q6ReL^ry>$5~do{*`Tzk8u&rMtp|6rT={zxnQ)lKmCq~SL=z~5CbK7HRw z=x|$5PRx(3QtXP~la2XuJJQ>JL?Zet;6GQsRPf_ZfXDc8E$EEDOIyK@gOWZsaRC02 ze)0XmKKQG9;qU2&-`oX%SBLnvo^j#%0e#?}Ge3SAbe=UoCM11s;$!fSU|jSE#{~AP zN8#@ohTl90f7gKc?og97tZVFr->Llt-KQkyw7jrH&avDOxt)*;J0Ha7w;<=B!*yuC z(eyUYiu(;4bmSOj=Lg`I`pXAF=Pj^b+^uOzknIB9**9o^xmo+muFpvN+{Ew0KXOuh zdoRHsoB^!!V&6Umc+aHxwoes*$2kdlR@}GSfpi|*QgmO(`0!rfttJ;$_!{rq#r%91 z@RZBNb;^gfa=r0QNuN9N@9>8f#rFpn;IE#Czh@4<&JX>rQv#En1--GhAN<}7fe7zo zO|kxMZ(ZO7JbrOY(!2aI%;CO0EwFEHfS;-tKeY2s@%WOes|e@u*r%e3@Np_P90%$t zT}W34!-3s7!0>UV2KszYipGV)xYV!oegsv3oO=p-+s0!%-*5MZn)7>{mUiZ33I zKBWEY!)Zy79aFjbh|1OD+P_kNEO>GU{|NqSjPriaN#Ngwd*$@53*aLdx2c~A>@uyO zyI%RhMhCf-=(m39J0y8LJ}08jL0&IcetZb=E8+92A>aND<@j_wx=i_zOiO}nz4Bv& z@?)*>W0jPjJ6HpMbtJyuv#9)7fIl&h`fI-;I~L*XrxBh3ez&$)%5xWtKc57DE(3r3 zu3?mSGwQuEp9Vqa!~pW0K>kX;;oS{))_mKpeA}jcYgN8A!QYjJKhYpQeNPs2=z9>p zy$<0SZKumsp3buUV|l7*|0jXhzCU`;S@LP9AN1XV^wwV!(PO|@jW4e(m#4Q$`rOby z_^bQG_j`Kb@9KtsunYb~2mJOn@onA3-WhOLDqkKr%X%E?LpyIldS9V0?ngOI+TYGn zpZSSi;GG-=pSsHVbPw=0YI|-?OM+|~{UUpn^2yGnG(REfa}$rlUp*$i-!lq-*D(Ae zgYet?;SUXnUz#5+3LK6nG+YGpqj`xh&5!0P()0e8tuIy1k50zKlili!Q+t27~kPCd~J&F4&;yVU8DFW(eLB@ca-J7M)U74%dhr= zJC6Pq=hySGaXGp#>YjrBvvaAXc;H3jJ}us&wnPalZMh@I5ZK z8oz7H_zkmz&N(B()t0qWD`2nt)&4T%w{`jQ@6Uz(q?P2D*9q<(Ci^kpD*ddd1_<1V zUV+`9%E5^G>w0CS!SvHkZ%2H4F?^2JF&mb^s;l8&A~qo`u5)W1<9AJ-GuOS<&*N) zH!Gjk&kLUT9Z#wc6CAJmuUkMlN0n|{_g}ZD;YxS;y8l{1L+kNM_cpBi^L;ONAwPK@ z!{ZD)mZv|XD@Cr*0RH6bQD6FQFDIdMZ^F+oKQ92*I&G zG?aIMU^+J=dY9j|LOFc;iRe(d^^Z$%yXj*nS1QK!xms`;KqIszZtK! zpPk>b`5l+9OF1~tunry6_IsthDGj%0;Ym85gJ?m_Km8Vz!FX zN%d!Z?q2niy|Wa*Cui?A=zDU0U0M+PCz{0PdbZIo+qb&6=Gy|B+%#~iVg7^jHgSE4 zZg%ngMP1*D`Ac-uzxW9J3qZM;}voaf0lqLp)<=>J(A7jvCpP__}}<~sS*DC0-Dxz2S8qugBQdWBJLt`p;8 zwh`s#I-v-%jVL$QiH*E$Bg)NnzEbm}++3%$9F>Q1bDfuKJj%^=k`YNR+lX>=oj6C9 zZA7`b&R1zX%FT7+-e$HD<>oqHt??)~*SSeyl$+~JD~xh;of(BuZmx5)!YDV_34zZx zqTF038Zz66a&w(qH9gABbzY$`%FT6Nsc>5STqoo^+lX>=ojNaSM7g<6tV?7YQEsmD z`!qkw&2_#;VU(NeugmR<>oq}h_j6-H`lpc<56y| z^J;}rZmx5O!YDV_d5yv-H`fWnIJ+6;=C;7#xB0B;FIzXWa~wSWe4h1OhI=RVPl&gy z6ESS}?6}{3KGbu1f7i~<_@Qyp->eUp^xJiVjAqGsL+)X*-kQR=7Ta$RBe!EkNX`vI zek$%u+=z4@%^8nlZ_lJT8_nA$&xqeVrT)11#iu1&-e+XH%jQwMPR;W=yN|>5c;kO4 zGboGcMJDS*KS6Zqdx*Id-ZQrM5OXQ)$H(s}>N~#leyi}u=BxHzq|Ha^ex1gHUU%Xo z;0djV?oY5@Ceo;Wr%<1~)`!AR6a97$A+%R0n8N2JJ?Cc)5bg(G^|ewx<8ux=kIbcX z{!E2ZR^I2VDEFk`$Gp}zSFT47Q+zm|6+Rya-FBae`OEm3zd!WjBrgO&Gf28&R~VLZ zH|lttkXleXJPtf8$5KzI7rJi_J?jqA_#dh>gT-lN*Sg?VXTr{DE<$I#BUFU0aF^|=#xdJ(qQJyu(%Pyb#+XZG?j99(w}z0Jjf^Zw|t3A3k26Zs?VQ?L4(hYX98>d38xb zNRI3xX-}5~{dP{%seNnjeY-1}3gX)##mj{=yw&ikoxj!a!rpgV4R0OF(R{u+0<77RJa18Z+RjVv-Kyu63X1`Rq#f+(55;82oj^X^GE1(ggo89XAi_xYgb)_0LUQ1^-}^_VtaBBl7&&jj736xpon*rFV`+W`yC{|m?WYdr%F6p9TTqVOw{s`Jm!8B$ z!m&i8`x%8f^wX!%4v7dC?OY?|E$pw%?`P=0@V)GQqMcK=_De*c7Cx99yL4Iz%3h&- zF27IMtb9IFh0lAG&w74=)*r#=cF23k=aXgn$@u&O!e@*-B|gK>uzfYYx5v)(YO>~# z!pe^mkSnMBviZRcmw!Uincj5A!SC#yH%NH$BKm+kId?nc&fW*P;i{_;{xs6tIfUdY zo#!3`zvA_vEtT{8G|3T<=flA`$8z;=G**Os;q}?&(oKGy))$Bh))cu^xA2wWw-UTx z-`{4KIb-i`^Y}FtlxOY1>DbZ!Y>ekUWHRs9b?1@YbbXxjr6u3I z#B=?_cPGu>2~{X$-fJiO4fRR2iBI2ahdxZD6<$yn`Ye8bTi=K0`sRXmW4K&C-b{3yt92)Ed{bFHzyBp(&vJTimU^y6J02A;e#evbUOIf2kd(}Il!Vv2 zMuYbb`9A1W0JA>d_n{X?559MWesK%Yd(Qo0s8SDhRp}RxOTXyWe$gdV1g!jJofAG6Aj8PyXw?-TZ)YIf0|kO>y1t7aGd*w>b~i}svH{doLjcQ$s> zRF!&nOTDMH-cwrd-x0kN)~8y%f9)*m{UcTC{Ub#Gxyt#u)O)Z>y|+odhqc~=TJMj; zj(MO}_$R zaQQ?A?I)f_``LS3n$Ne-Nw}SxS#BMW5rpHb)$7|iwjb(%SHB;Vh`uD{SA8Gn(z0~~ zg4y{a^TG!|GzZ_-5oj96^|0@X#qZ@@mF8?w)%S9mtDL)?SU`POICmSi<0RMrm=q`L z09=2k^LXa(_g=>BJEi=Ey<_**?A})*`ivlOwocdB0a*8u?A|wMpZL#M#^w181h%=c$dubZe7lUw=R zce|vI?@1iNe8>;Ag73{u@NGS(y#cVU=fwQktmQSPQSQ0&X{Th1D)|Gw6`zMcTmFEI zfG-~sy4_jx<)EamxGyo(hx#}7!e8ADU(cENJskp<_=5Ebcft8GgmTVRZYuba1)j6! z%Y>w_xHmC0CgHw$6#nXA`0a!6_Y8>dY~6jOdlM@E75%BIoS;3PyPUiQbe=UoJ|pR? z-kZ>O2kc#dihC2Wej&v~&Rwv6b1mvoO+M;WubW;Wn4M3HC+{&pkGGs7KU9xT=>3T! zi;~|DEx>P{hrfCbe*0c7DL_OVB-G=)Lx)1)(>!^qz$6r_ef_#E0Vo zj|0n{%jEH5x%(1w&Zhu=us*KmaV40abub)^GXo4CM|vJ-cJMf(=Wy(NP_=o9y>}VE ztGxkuLi*E$pYi5A;mxOoZ#^}ymxS(Em%w&kBFq;tT@NWfvH{rnU9e*q->2!}aHsY_ zY2EiGNtb;*ExvmQer_G^Kkm!6EeYSR_a>d%N%47n-fSdi`_S?CA@p3mTdU*7`_hum zCnw?W9EX3+82qiH;=2(o*UtN&GyYlN+c^XOnrZl3r^L7KIotW5v!{Cwcy^wKf6XcQ zTThB_`(eo%TAUzP!rvfpd~QjVb!|-AI#^>(-{#7w;VUNr&L|JKNx2(+Yp9?lX=kUhD7Mx=4c&T^4=_e6;(^i{w?iD+G=gMbB!IzOV2U9qFpBXC) z2cLXq9O2nkq*s09*G(=>|1|WP&n`%KDDUOxHgBMLr0M0JnwQD?y?b9D@aw#c&kZo5 z*uJOpo$TWM-ow2D`*y6ic%29KtirpytY1m}()?pl#w~j9UJ$s${gThl)vZ*HZ$F7~ zZ@pxr@8Q@y>t99gvX5s#hknmDJMxgim=9-1Mid?wJlT<9g(n4eBZCTK-NcOyC_Jt4 z%J&Mrdw%+>q!)-m*Mi1uv0n+u6n*SLG$B7Cw`D? z`uTs_{~oXB4rsqt_~36(3lrRN)pxpI>yE3wyItG!xazyx(O&WV_jdGWr{`Gw?J8G0 zkHux&W(P;n(#6&a2(H?tsAlP*!}?`#F6t zg4>aM%Dpw85a0TzP%|u9g#Wg$T?EsC+On$_c-6@Nv@cG?ChN3b3Iqc`_xP1K2r<) zR37~kJ-nHG*0bOK$!9xf2>twGoHJy*%H{>UJ}BqkAbxT#vizLkh}P%PM@TQ~z1Pw? zL+J0)IYa30Tzt+D`nz<_5c<1x&QQk@y&vaawDW~CGOoNB=L_FLg3bNu`8{6pHFXfln2d=jNb83L(|2XVjmmd|rB%)uE`rCMDb|>@ubnt$1xbMh< z7niT+yTW$m_AKpCe_jE;oi2o#&Yx5e8|1zyP6(0t{#V6s@xoauU9f$qo^3ZFg zb)v(P&}A`y+<2piCH2c!OZW}fd`kSVTf6+_4f0onx3hAFTNRvxM*H^7) zM_E0;NVeEZSr3)dyFhYrHs^3YR94T=yu|BSPVb*cJuA=QaKGmMe7@&!7Cy-R@%h)k zKemGY?Ia1k5c>Bt>5XuIne`I)-?Zr8Ip_I ztIP|*k80;|zI{KBN3+Tg*t_w&J1>Ad46RUqwhS&r{l}}w!{?>`lUjewTN2T4%lNnP z8g30b50J(BVzTD@CA>6FHwbLwY-v1>B-~}^C4aI8cz7L#N1pipMs`8s-O)NpzjvG7 z-^ea%c)f%v znlHYOl0$u}-lIQMRv)`Zf2gcJ<@e}wW%bebbCavyFZBq=RjclBnN13h6e(94(XYyB7Ywc`NRB|>|2q;MD$M7`#QAW*_;PT z46^=)T~|5})FBAIlg|VFDD&sL=YgV+t>N~aLccCx9<}m$pl)gZbKbB2f95<8#{CO_ z?&UlEJWwm-rZIhf^0QO2EptxlyXS$JGo^j8Ui9Z`=U=Lwt4o8wrSo(z)_EY%anAas zs(gI+JP>mRUN^FY7C4tnA{{vFgd z@WuA$FBpIRtG|QV1ipRu9aQv#Oau6#`&8e32X#>R;=lV2s_-FP_v3wR-~7^f2lb?k zuS?gPTu#I}zEA0O-XFhbnZrCKei!sQows0Hqm&QoHTv#5sMvosK7RKdROQE6zJuyh zebSHicg{f14ywK#ft=d8viLmfmR{Az_2T<2y6#}-)wZZTv=;gO`VOS0vjFTW@eLx} z&ed%hP#ALWxAX&!@$~_|8}A&u+wi`VyB+U6xjWJSvpVlcCba+Tyj=46JI0ZJClLBO z#uUc+U4O?Y;G1RHHS(Rq0{bVY;jf>9zhzQ85znK1t#!NxC+ ze=VIIi@zuL6vn-ti(eu8CVqTT7{>1i5ep;VfOc>X;XJ}#J;xH_@8|Lkfj-86FRjzM zLci35*Vh=2%MYMlS0J4$pnupqmi}!B|1iAxoQSo9+l>B`-J<7=Yaxgs9n3#o*B&if z*S?lSlJRiGUW(^I%ISSQwU2!lHoS+z=bE3({^Sq8pW9(Z<*!YAJ3nCWr`r0co$I&n z$=Uvl%a3dR2F(xov-1|rXD{pb=!e#Rxm1UwXZT8LhyD6)5yRI?yF?Pt^?SwF6DkGV zUW>AxPxp$%58J!^{Wazf%isIoLG`rzR{HK*wfi{k3dq&Id-Qu?yXu6F@Eomt5A0t3 z9@s9>!{;CAAKkA}x{iTld$-;1!g-zIJ*9BgfOa2;^QQ&IJ}P}z2K5WlpOkos|3sYl3X8tKS}Dv2iFv4KjzZ|4AFQ*eB=}f`YIvA=gg-He*6*e z+@}1vE6r%5Y_Ia;?s9%qx$kP<2TS#W4@2GXcXh#EjsEL0+O8LzA2X=OxynriKYj^# z&YB++lD^`et9>6V1wH16hQWtjgYZ{lJae1dgx_v!FZ>H8A0I(Io-;pw5_ry9fH6QotE_UKB4e~-p2s^F`cg**Kzg8NraDrt`L7W;g9dj z?pL}#1mEwOlYCtMfp7Btv2H29cpu_R=OW)C0U_Rw059i%ieP$|UGkUm?W)Mv8ssbL zdIsnJC&}Mhmj7nS??zPbZ-9Ni@jY(@-mG|XPV`ehL-MqGR_asSR|+puIK5Ada5mD( zae1%*S!xHe|JfBEhtJ`kr1X}*7^MF?hwC^_=O+YTkKWr1^M8h}xELJfznaU_{%-R) zF7KZSZ%>5&X!$t&R!*n{VJ-h*Vjon3C3dWfB=_wwnUzQ}`pKgmyMe;qfjutaP8Ocv#TVx;5&<_5G~}Nsgxw z&ht1~M^ZT|z764gp0bsGa{A9uSK#_n)oI>+s)DbliI2;zgHbSr!w%y7ENb=+EYIhc ze|H}J#qNc9eg7$J$CH8=dcyQZ7(Yz$#vfaMGCuJ9nu?ZseSp@cn2u+^2ZnV_TmK-t z26D26kdTY_4YmW0_Z8IMDaETi=)M}uyYMHY`RKklJL~VIc;qww$KO>w(I9e%uK=-r zu7eyFU@!S6kk9U$#r9Snd^_fXNC9XT~)q8PVAg)Io}e|-wWSaE?Ew3ewA&+x?j&lw+aDvk1UjjF(Poe^}qk| zJ&M`QyOJM!4gW4fn|GP%oC6adMe%kpQ*Z*EFay^fJaunmE zjo)6^ukBv7^_Tek;;q_$)&6GrWVx|>&dFMa0JHBp_%F$o?KjeU@SKAC7xx$U2KqtH z-c?@-pI?1a_~5UXY{7SYzpnbI4fw7`ytD5g-V1o8cL}py&63a`=@xuho$vZ1y$UyJ zd>_i|N-NwC*zW7w_t8O4i=1UADIQ- zMkH`IrzK(h&cL1p#P=Zoiu`CZexxN|R=*Q&>w?)f<3}s-wxK+)@8`LzF|OP90BzmW z9R(d8)75}4zXd$DjzRLpZe_V>kbJ%s=}X_w{S}1kyX|hvuq1H$T}{77_3hd6BbE=? zjV1YjeQ4j6xA)6kEFX2KS1cd(fK@)+G0;)@eFUt(xpS5i^zTYJ8B=~tq5Q^C@WbAr z(C@jsv*kxDAF#_y@&UWOBp;`sZ({j44LFt$wbQ%Me(vZT=&X>BLC}59@-ZXjRm#V^ zlpmA8yJf6QK29V2Z21w($C#8?l8KvAlExj^(8Z@G;O+DKFR;TS>3@Bg0ak z-FD?iBPzTiKkia~9GsE)NA@n|$H7^Jl^+LnJy-X+{6Vbaxw{&`pM#iJI^I+!=MU<7 z$4!7s{P+X#<67m%J&0e4PCqm#?e8b1g)V<^3jQtS_>17rqX>7$FfO@{ehF}wDt|sy zR_?`R@_>cTr>MM`o~V$Ui2;=JwDL>a!@d*E-vNajO`x2D^5?2)Dabvk{L%R~&yzX5&Fk&E zK@79=2m7VG?8PQWT?(5Vbt|lVI@k;PE>3IyKEM&=$k7@xJNhn{g!?UkOLQLw-5*i@ zybbXy(s@NWo*}_Q`Ud3;wZcEr26_t6*RC)Qy=&_dHg7LXYxu1CC)I~ubNVh<+&?#; z9i7=R<>Tslp(8sEK4!<1f2$in-$&De(2XhI?goB8(S-ODXjhNy^8Ht|`wxMCcPsy% zI6Jy3@!SqPcWU{!gC6?+80gk_$mss9!YU8Vi~q?bX7!waE1;ga%tIt;w5~leB0jy3 zDfx1lVS#;i5Pr=7{Czk#;p9#FVd;X#F)6rK?{m)WfFtilN_>|`7l@yw{7EUW%ukgIW zbqcpB94Wk@@FF)e{tP z3ZGPXQQ%zWQwn2z&1HU9VT`Z2%&fu~UwvjqVT`XnGp(@N1(_*@)&9s#Dh#_Me#f!^ zyC;`Q)%Zb$y9Lf=4k_HLa8}_y zg$ESw*Zlno4=CKH@SwuI3J)vXt?)^Oy9CbNc9Vuf-{&$nDjca^=uo&$>(M5#zp)km z<4qbrrg+l|H);9?fo-i{NzpkSgzm5NrpAj$GcMR`S?7y*70)L+X zsOV98A6NVjBU@BNbW}7u3S>pa%aI^l2d|^`eqMk4r~65M^Qc!(4PBZb=SILcI=B4q z0+)Z^nnwNGPXUkGNA{h~o<#X~PU8L5XqcoP1d;6rJ?@C9lAs^9UvQthM7u$ywt z+oc}4p>6OF>NvGp+NOwZ3!z5VJAwD)1?vwhq8MW5_X%~j<8BIVC+ z*YnM(QxeZ|!BZ>R@2yBbN9jp_AbcC@!TXG(l72eQpB8vVVEWD|{Pr%Ps~F@vDe2Ij zEPqSRIj6=XU#|I!G2VovSAM2OB|PK@%a2bDqr8dJ74a+|cHV>eHA~+`2=fn1e&~Cb zZ-cz224ucK=eQIeRJcpwVTHRD9#wc);eLe&74B1bK;d46`xWjM*v_%k6&_bT(5rBl#`jsd3Xdz?s&q{%+@|o9!W{}vE8L~< zNrmebKBaJj!lxBZD?F!glfq*P_bEN23im2Jqj0~%vkDI=Tn{@fRj2ss6pj>*6khxf z;b(qP^Dijeq4Dzyw<$cQaI3d`al)?*&uUq*&ukfJKm)7*73O6V`tZ=u&y_&yE z;W3RLQ23;l*RSxb!hH(QDBP>?w8Fy*_bL8Cg~t{Dq{360eq7;6g~u$t!lMe0DLk!k zzv7>={EGjS!lRo0q{71r&ni5q@QlI(3eOp=_)jZ5rT8P*YpH%szo_wj3NI+!tMI(S z-3r%h{z1iGr|`7mZ&kQU(>E#Hp>SH^Higx0PqixCq4C3tU+wPHjN%Yl7Q|ticjMa!q*D8BK~aJ*25YkUpB4lNUPHd zGq-r$Z35nOTH#i}dVh`1c?0g2XtG~Hhn?Rk(U1P-?od7illS<2J+#D-Y1QYwB*a`{4e`qweLTs_Wi`qi9XNmIRQVVQz|fBh{@iShCI`I(h5WF=suyskPn+*(0x_N zVJa>0Y-h5>(Y;K8>7HR6&J954Up2fz{W|g8$hfqRv-dp8*N>~nt4m6@C|*a7^+hw< zzd_|{1nFYEQ?0*2T!QzgGJ+@6uMK7TRpxI;JA@Cse_?ie?E%tv`3A99OY^rb)HBe7 ztZ!p|SA&j7_aG!4(~Ee(_C2aN+~~D@BW3v-G+(|;=yPjFxjT`bni1H(^H9u4anwGL zFFFq`@jPDq8tsi1frid2DxSx?M5A#0G{-A{!+QX&)TEZr^ox6ZQp&gWm1GS~w#YG_ zrwNZg0(n{v-`{dMk{juNgLI4C8?gHThL`beqdgxh-{Lv^Z^vldQ9PFZoev?v@E4V@ zmXBA@xgD5RyFXA%__@6~{9e&gRNlj!g4=x-{9fM+Sl5kAUROHD{ zkcj>e{iTo=xeCvrF&%c!%pDs?`Nzi8A60)){Q>p+)$dckSN(4IlLL!VpJQsbAMX}8 zJ};~Ldc2Q_@>SjrgYG!I4Y1RBbWd%sFx(whdA0m)fD_T3h`)v!jGW!Oq$LsILwr9| z`OYvqzYB8hc~VKPbU$+nd~0oxaNAF{efjJT9S^S7@t|GTdv@u1&jj=zog;(Zvi-e1 zrpKV?Y@aIB7n8)8%Jm-5N%u*F&n%a}N;KR3|B}Ag0zTOO;1v3Y^(Wc~l=+Wu2VFeh zo?dRfhr$_=>0`1xr5+)jCu!bXeZA+DloO^Olk_Jm!lk|iVe^vpo;ydlepAwi=-j{f zTyK^e+E;_T+4sUWL%(cX$5gZZC+ddvkH~!@x>dqCf4YkP`Qb8sv4i!6%8BV0>;H`B z6SQ~}>l31t9f$w$*fRP8+dr{BDqfEChIcuA@neL)LSLwTbm8@d+08ocU$B1k`j>n^ z+O=#y`VDCycLMUq{bY8TeiF*}bLkH@zL=e4`pO?sJ#nP6|5fWZUmAXvesh-NOp?wq zvok$O{SD*C4hfFpafY_pI3@KrwDUR34aPk`QB4nj1M4-!S zbLg*hFHq#0>{*OA`9&FDY=5Gne_pENqwRxCX+3DXm|liIrssKlIQkE$-{ilk(IIrB zy`OD=rCh(v9z>b^*ZAX)l=y*gjPoI%tLcp~qN^mwOUK*r9vRcY>o^@$fYr;!MYc0I zoa?#ygDmf}(ms9y_qe!S(o5c3!hO(?zIl=ZyVqrS%}!>#?$24y7BK!7fPdo_S@w!- zUxB}S*cOz-`F{5?%Byx!X$K_U)8|`Q3 zTmIza3hj=59n(=we$Kbuj!&Wd^UZ(0^*%QJtbBLJq2J8Qs4N!4?;Wpa47{r?5#fAV6C@%&B=4MAil!wzJaN#^$jcs|>6F%78X+_BkbZLgkM zEMVGu@v$CI{hE;5*Mui0=py&PBJ7!+fO#E>%Zu+zB)~|!KUa!ZeI3|ql26;e=b|qH zua?X99O99W?gt>=)|INt&F8RRRYmR+(Vy#n);z|y!i?AxJf44zzJJH|MC&(7b`;wS zO;lBmXL{(oh~z7+M}xmM&!YW(;kT`C_=CDWGo*HKzC+_-pV2!2uxH}+?m>k+U^nN7 z74A}aRN-!gu^vX}JQRjKK<7LxUeot0+^g__!hH%4D%`K|u*ECAW0qgxQH2K-p0)f6 z&nVog_{J4(Q+QJ04uz)_?oxPK;d+HnD%_y(DTUJtpH{d@;W>pd{`=H|!WggZeIS|_ zY5IDs*XJXJ>l9uTd7<2ohqcFx@I&Y=$NlibX@T|i93ePCqr|`7Gy$WL-r1LEbV_fyAL4~I@{iMQ^3XfZQ zg~t>gQ+QNi*a5U3WBHXoQwoo2`cn!ID|}MnL4{`(9#DA3VC|1{3S(TfcSc;kU(-iA z59?ESQPcM-yr6Km!t)AaoGQIniSf_AD@N~rX!=&g-=T1m!fgtt6>e1+`}Z!7@hAQc zeIDal>3gb8njZW2E}vEy`}efJqj0z4uUEKBVT^;czo#(9=jGlx;eGmW9?tvtJpVHN z*G>A7>I=QOVT?2-!B6Wt&WSPUH{rZ)vJ4;3^Wym(;q6epx>NABidZ*jmUS%k0v_D#_PsE9K5%~czemF2-9^` zNw?~6NnVI~go562>J|OS@Gla)KiHq;DQ39Nzw~{E`Zyog%+`w-&x5aIJQz1Zdg_+h z4`sSPyN~%%k9z0p#7{)8kb1LxEClO0oc^&RRL@>6m3%Dkm(E9Dg>V};!t(81ty^jR zr1Y-btEmK{-|iDWg7&ukJolKkyS*!y((z6AOYOb3;-e^+?YlJn49k`G=5P!?^6eP! ziXTFHzX#(X*XySi$Zk2_E%oMgSZ<$$SUOAbbp-ERalX61!TCDM^5KE(kdE-3Il70A zaWQybYdf`%JKkD`=jFm5H_|2qyY<*_v2&F6&ez8Eua$Uu=S=VxkzDMtuRKZoT|I;F z5!9RM{uc_Tc0f2+mK=w_i+B_7zdT+FpQrSum%{zyMoteiIx>6O+K=&lbBy8@Pnd5% z=absedUsI%t0=rD`d2B~@-d$G2IV~4`*ZivnS|x&Zy^2o&PPz-*}OaVI>N*2ZKVE6 z`^E>r4_5%6jsNy8j@vQ_x_K}l=Q6|aRqwiW0+!ydN>athxwQ@AKSO_+!rW?%+dlP2 zA`gDg@5A5qyYQQFUMrNZrSHE%t}EVuQ$5P_7oIVM`Io%^rv1eogZ;?-U;j0h&w44p zC-IxoKf?U-{+s3t-+%j^uW-Id@|F74uS)jRa zz^R>^h2Y2IW6XE(*Prh@aM`rb8{=JP_|zVX$6d9D;&E5)Eu|y2x3a@!_ymmHdTtex zhs&1Ag*y&?;rGBEqjg=3=f}03_tXjOQ&+*?m4V-WIsE3e;@h~LOVtY;wqLdP<$jyC z+IbuZ-;?9AUT>3um` zDq;THckF536LNR~-z)vaKGGZZUg_~Z!Jmk}PY5i%R|*4-&Sz-+l^Wls@K%Kz6yBn6 zox-Sa*q&+9&)m;eQ%Y`^KPH)v-!na)mV73cHeMzZm!APY$XF#8;;Z&<-V=R<*Us12 zyLrbKWL$91+q-$xk;qkhH;=w|AmzvJ0p2dj67F= z*piu+a6A9#?YntTrX}1xfpKREzX$>I{j$G4b7o&2<56k<8Uqil->6>tQ}JB^tK8fG`j2*N`Owp$9^?FGUvhmq zc0+G*f9HM0zzw@&pl9O_jzv25?<0_tt^u3q-X-|#9zy@!xC8QQ=K?rAV>kdYkG9sf zM=X)1XYPmkh<20S*|XtW@{R&UQ$Oa}8RnTR$J|~-{u$;wyF{e##%ViqJVn#_QKcvQ z-1JGc^Mu?FnVz27R|_5Xo=2?5u1C2EeU;N4mSi+8tlZwGsMw~*Tn!0)d>_=n*w(J%I1<@?L#?|sz9Hm=9t zs{uMX?>YngM|51L_GCHBrLgY8`O*Z_`l+O2d#SgT6rnnMr#0+9Q!EduImL@{+3P!d zVZWNCbd0Z@-UEdG`FOALkq5awwZ5q~q3`+lUd2eVId!S`yo3y1GjzKURz zQ{iv0{}6w#=18TUnyVtW|KqJ(Pqo+ey@5o8_GSFtW#<^)@MAPi-GT-!UJu_lcL;xq z7{(&kuX3(>r&7Q7OGefQ^pC#tr0EZ*CEPt!so%$`{aGLOexCLFxRh7Y?~TZppO$c+ z8WZ2fN#8sQSjR`-KCJ0bPv1NVxE**y`Rt-{Lpd}$@^59nbpdao8~Lw9J^U-tVd8#d zd{KVHdeG{<59w`Qe6Ds?wR85#n(KrwvAuP4QR!U}Kdh(K>xs{ypQR+H{28|Qe@f?D z*Mr~s9#DvA%{aIQ{lz`YqiDiTfv0VC~=^MY|;A)<3sf zseekkxIZG@3*ByUf2?xPDeRBKW&LqK^+&(!}Za4OS++EoJaoxJ#b2s*L z+#R~#(|!u+@4))MZ=Y2-y&(8f)4;oW3jV=4_!Fn$4^4{SQ~Pq!b5*~yOhz2*!T6m> zHtNW^o+c^BH39ZV#)0=%z=oIGo7DFi*QD+9FyiC)46EVCG&}Np6mOT|eVNdch`uKB z;+m)ca_%hg`aRfRjNhTGHGKaFd|MUYohWZ5I{i+hEAEEhQ@dN~n*+WK>=mCH75=zP zS`yMexxm>B7)bl%3S<3&_6Y%BL5qvziYLU2F1b|q?NpD1>sZGhqjY&qM~&7-`)hPR zPVj{3Cd<_(v3?x$ZMGHBW3AMN;=4AnC@{(mpj;w`H!Agq3_=*jQZzN zZ3=@wv=6E<_($hs1olU;ZsLa;G+yN-RWGpZfB1t~m*MXNvINq11(E;YqO41V{OVvk z_zCcj>1F|E`5hvDg}P^-wzZpGJAGb9Csbk3KZ<6dNbA45N9dLQ~h%+pvux})<_o;x;;a%<3Vf(+5KMaPx1Q2H6mW|`h0xOP~Q)Y=R;e8FFt2jh@^kp`b~_l z4frbPs>Q%o?H*^f^X>6^c$M?$Uf-Rt_as7lV7$y8c;FGX2PUDP+GoYLby44}>xDMn zRh>U?;%155?XVks^OWGB?|HI1qj0q!nx_%2-_iEXGXisaupW!&-H)X?o2>U8C!g0D z!6^wIZu!t_3Xso*x=TeXGpZc)s-EV7-LPxt#DY zokTv}>p*)rT_3D?|AW#q-`sJull42J*R@h4IlCY4j)C7jt1eS};rjody?24H>!{Af zw;Z3K_(D;fNRdx59L0_!)Cy$hrI<%$I|;%-Q9_gmfj~lWkmZo*_}E6OM1l1Rc z97quU-+!xfWIIYrsS3BmyedI&LA20{7K+=_R=kQ^xJ9Lu>K01wTI>5}@6kR!mTew| z{<43z=B#*k+%_Mc?a7Gv%G^H28Va#3_3-P>wa5v;MuAlh6iPIJy-pu;G)xe~_ zN$-r@8K7U9-e^sWm`Z_FdiRl_yzdi71bX?!7y7sxwXDBlZN-@I==|3a4k zXg$MO{-ZgR_k}sjPwsst%<{YXj?4W?#G`!}zbB08td;L^;eGkxBjd>DkqL97!IN+| z8+z}a=?|GlxB>LIcYgAlK!4ud+xSeBSLQ2$r-|c=(kS6mrVk27{|xRyyt`Z&oQIy+ zIY)gl3)j7qyJp&8S@!~-_V|%o zbBxSqgy~ud4-;-_Ud0WO$D71mSvvRc~mEaQlE`J;MDbZa&}F z^Xd6|r|0X;K09srW!wSx#F)96;3nihIc{+NTJ43)`*R)Vi%J*0wb|mw{U+blRjp|K zYZiEPJlZY&jJwyM`I%_gVi#I^pYGG_j~)^mFFdhi;mr>}1#~^K2)B3|{`sFVM9uGX z_a!60r*i(v?Q47n+ozw8JzHRtwtLn(VZyEf&0~t#5 zcik`J_dbL_gYi47{^9#Vf|P^hr~hup2gY~rPO5#SjBDomu?p*_-&p@Z@ZKYG@*{$3^JbFzG;(5sC2R~u>pYa+imek81eqY;<+Hd<( z_FIGa$M#zVyDvP3_8Y$kPQL26LUVTfjQe@=GrSr3%lwql6KQ7hx&AKBcL)2?EeMbC z%37-8kMRnuU-^3u-?93U@v!BS-^l)NXD?y)e>bUZ>rp{f^G#xP2$hxTfF6rJAmj^5OKF;+ua1Fe<*< zi$H+t^CiLK?g`U=L8b=n(|FAd`d8Y$q*uM7?Vv?mZO_|>Mb7|@MzL|QyB{%}oP!*1 z(NseJMsrraulyRsi?+i}eKYQm2Q8B@=xiIeFsLznf7B;lIQefl$G{qg$7G z*Q!l{uGsBb^9Q;eQpvy;<4J>R-Oetqk_`1LKx9ePS7Kg(yKWcsZbjb0I z3u=$wJ}>@!fplDHZtbeKSiSjl$aeh;qT{RQMaQ38{(gJ=S@F?&dX3bRPtT8sFP|x+ zM{guhdOA|{{QU*;=kL#pKc6V0N5_v!&+}9C{CN2Dhel5(fZgoZ&%a(EKmPT+`0*4Bx(i`}Sr6 zBc-AoX!?5#L9k~F#!*_%n}_#V{oh;IeV6LGw7nSl zM!)t?nP9tloQ;2brG5DHdve{830hZ7ukzdPwbNLBZ`pm1PmlHw85=!U=BLv6l3n|( zecsi#uP@r7(uw%{_U2_PDlHQHjAfx55WoCJ|wr_p#R`EY&`AHtB*-P>YqpYhVGZT9|+72 z5ZKw1@%fM{gv)*T)(^OQEOlI<^;BrW{D8tafup8H^cMmzJ0HUPIsEb%)0t)~)UNv!iO%7=q5S9(uzUS+}DXcP2IREPMnd|U=NY{=P<@XAKG8`1vysE2mR zI*In+yH-7!^B-4m{sZ$$I)72)&C_Rsn+=b~$2>$G=OG$x9zx@Pd-f0yH5Yw@qK__eDx*f?6_{hLR( z((w$7_bkS{(#EwKFPFmibc+YOqjpt;jXO2o8&Y&$Y4I@8Q@bi><3f%1x)i<_Sv<{M z^pS+WCq4&`gXqE4(!QLwWb;>iA&n^Mvo4En5?3em?gDJ<$^qB0I zbn|@L4xafpvcKoiaa*?zOJnACu6nxFdpKHt{(3BxzVUD6ox0*bTf3{RYJj{*yK|qA z9Ju!qW?lwg-FKsSRPX8M=5w20hJ^lnu7n_Y@z2YBE{fNGSMMA9+DsqTR$UG`IAmD`GiVkzKi#O~O5vS;asA<1n`QIy z8Xni5Fum~&>Vx{Itpb9${-9QEJ#$&T)vH#Le7t%)C9v}U*-~$3KWD?&HV`PNpUwAx<@ zTOW7lv)p}=ZlAJ-wTd9tn02?zD)2Y zOCN2;`;fkTrsd)nm&t`o4?FK{{9hFQ>;7}iPwU~6sd`XdpmJO{n9OfD1`t!?^ zZa4e>=3MZM8lLFz*oydGukB=NIbHeU2aUhUK9sABKA)}{;q#1?SwHJ{Qv7!7VviZW zasQ#b3r&9a7{7gd3!-Nf&&N`DRFf%x-(z^NKVS5!?VFePfXeX96VFl#k7^dhbKLM? z|GYbgk_lc^hDYCvReJt0g-0b*@%&H2Gi!9nI}M}<`w8T{5%}LUY_8k~WBhdY>&f{{ z!Z~wy^Io()e4n|m_#yM}=R0Zn;*7zC?B(W$MaaK<|JLVYT3()`^_!Br{3EPi=>VX& z(cXMKIkuxOr^@f@Tl8rN!Wc zFV`ad1o)Cag7HDLbpZ9Srq|rss;5cqiT*e?i+b5+V35C*x<0PCcQd?HtX zj{*Ps%iGM~%@bsTc7y$TY?FG_{(D|3PUZFuJ*q!(KWbRQy{LZt7S?+u`}BEM@3=2D zEa4v2Oz{7g<=dOecgXS`px*5@*Uz_u`Bt)DpJn-WFnt&G$gf$x;UwxgoA&3?KZaGY*iD&6HwcPN#Pc66Ms(m5TcT$XJL`@bPV#^bNL6&U*$!=@Hpk~805R>_V-(O zXVvo&KFM~ndBWhh9c&&a%yzJOj4<25=260~9iSfyFYPjaw;w6IHq{QU6#Y+9NA`CUM!DQOnetw|`MdWqU46Ry z3Bw}lPu|C|cs~8TLcjmMoc0Ua{yXoKdN1~Z-qL`%nV`IX*Y|ByZ#aG}y;AkYNv4}N z*UxWa1%AEX_%+4!6L5cm_%&96U(Ysvjgjtgb64u;GQsQ6{w7g>p=+1d!k!N&M^N9c zU0#d*eTrAV@EGb<-s`Y97$nW~w8_mOw<7-#zEZXvM zNJmP(-u+6IuP*Yr!(3m!+E$RSL6fg`rf-A$6C__P73Ay7cW8TTA>FO!x_vd_G4l5~ z>aFMI&q1z^u^x`2etT}lc@;O$73=j0%1_6iKz_KdGZO&LU+LyiVfV*V!u35)~}DTU$11>U!(O_9Ao-%_Ums)IZG3e%PVsxKM7rceY$2- zbiKytnj_xXGP{zFVZY;L?CmFu2zE*0&b>vD3>5@EK}rg6f?Mp+kPe=|w`Uej&?>o+JjFpsI4 zM(*V{IE?F|12D%EJ#vY(dL-fO-#I?-*@FG{+K*VgIKN)N$3S<_4$Sv<%6z_li9N2X zOUw0!_G3CpNyLbgD-O4o-p|0?Cdjx-ix^)P>VCuEzG91o z_t*V@Opoz?p>ELN=wWjtAK1_C{IAHP$xT!TIgxn)!su^hTu(ShykmqL36B$QAv{XB zl`!Nos%tYidI0TO>_*1xV7xBELxeGYit2_5_cDCM;6&dwS-E|Asi9o{1?BR6uTc4_ zr(D*U>&FjVKc1RbaPviZm9NQarVrpAV|&{MKE>^A8~7NvH;&8V_O{K)Pug1%?d^wQ zUoT2KIg@?;51lGsi)z*F}t`0r)-?@Bx_2RLN@ z3hhMJiB-kM_mA#Hx!pKx{RYmbN+jqPWE@T|Sb9I-In7t*y(*1+o`?2t>B6ZwbDexg z4w#}w&Rlm7 zit77=!uL+QWng)Kaazjb?xE3md;7G0uunqf5e={MIcpg0&q&V}VSs%8J%P%%sKLCY zU({V75$VZ1cIzgvOd$vzQH7?$z-+bi<>#plTHoB9O*e*(Y9EAabHr4|A{mSbrJ$Epj4NDfLf&bGRa$p^m*E>DzER?Pg}L!NHtYxFd>8uJCfc8ec>f&jRW}dj=iiv(?+E90?iG=g zd(bVP{0Y!sd+{~s7tXNnLhm2*^-+u9RXh4RkvNr~%!sU44}Kc`{Sgzx;PoQ>Ir-V2 zeTVt?AB7#eyLh+dyC?f6h+jl})q6&-CzoH9jxC&QvG`)QnwzvkOh80i=U2q@z#r+p zf>TIebsffWlArsusk!$ve&BruvUs>`JvY720K@3=eFp2AjU2UeRWobo{age$%7yrrJslWk@3__XQUxL z&5hp&NY%fOx0>URyS)3dbsvkCTEs`!``|ex~2Kwb||crGk;P!9hJ`p3N&eFw_hb20C& zY+?Q10k`L3yo0Lc&@a5c9xm_y>Dh(z`|h5^S}U#a?-q*|%+$iwcUOh%$D=#T`8y_2 zV*X|j9vwby^*A$t^r0$e`NB4Hf)HX7tiNNed1yNUpR)%0d~Qwg`TM$GbrR!VS;r%v zpH{}_MoFjb{OW&)4pPLLk4k{@_d~{CjL*YT3;FvV@R#$%;ld&g<> zSG@X#*O0&5kKWVr6${t?M23&?ekRqEvl8FkBdzkU-^>GW!zu93o$H?20sm+#`C0^g zrhaO{#-Ww^DeQlh_JjI43!cxP6P{Bm;yLumv-O*fp3}yEzuwdRZ}gYvf@g6>JR8mh z&)~e3E84oWBEC(k*H0|xcfNR=)qAoJ1&Y-#U#pJ8Jw5Q*3iAqgo1C^%U$&W>30`ja zeSGzl_e%C>kKw7e@`NSKL&-UnGCbA9vp&^sbmXAz=61tVO*}Q`W`Y-#;n8~}wf$Av z&+;O}v*hMWi0Aobc=VoA#gj?Vqb*J8*=~4F6VIZ#^6p3(o>RnAXmwEaL zwx8(~zi>Z;^lL0{ONw8uDSqV)PWZJk#jmL|@=N97JFgIZTtvH+_p4LsdI`IF93V`) zz6$FHe*3cbW=mQ++*8rT^AmTyO!Jwe+{~MMu6)Y`1@LQdoO}Wu$@|QpGkKpG<&gJe zN$)(`;iaI<&HK1}Hbd^WkorLUwdl9v`#|}gqRcB2ANqxOze9`{{n~}T3#j(3KQHI* zMbq(xcAavcuE~SX?{VR;d$-v4$NPTjnoi~HH^jzq_jSs84f$A2`5qx05FRGHWUj2&n42%wTX-S+ zPJ^8t!09c)e=1eaw6mJPw=k|(=n?mBpL=)3jVB%7Wn5$VtZ#U>ltSzx;e-5>aT@w# zzx*dfZ>pW^=E?u0OUgSrOL;$Ot{;Djde*ORwU4x(m0xc$dtjRBr{Jc`$NAIHz57{% z^15<_CqRER2ssE(fUnUY>OVXIzRP`=sMiyymuL|6?D!z}RH9zG!MA89mGcy5TzZ`SYulsU5EU>%p$@hP!wwEUG&E5AD7NHm1Jx@N~CB?&YXukiv z`GbDnU+-5xQ+q#U@u7eH_-AT=%KyD0ld>P$$}Q`X)SqZqiQP2|eia#x;YQ%@E3d8k zvW5HS87;p<=56vi^Eu(02Ve0j(HCn*ncs4}J|44Qy>#zaJVoGDyIu8|e{S+B!7J?w z^_}*&Hn=1nZK;-F&yb+U5_yE%DSGxJ{_k`-qFr{f3&9#@GsTwWWR~Y-TAb) zMau`}^z&Ib&-V58;2)okGuVan=N{>ulh2;Zrl^^ldiNcdvXf$TLI6C>HAXobNxL|*9U#A z{fg;n-rMf>?Z^Jq=bcq|z@DtQKl?Td_xV4Ns;{?NeGQS{17-Eq#rmpb2foPatBdJ- zSzn)r-sF3~?!5zf*U0>39A2hJN7X(nkv~$&+OKN6{M}nsUyaf}8#^!iO!nEZ|N5`m ze@>!&93LkAJLD)6{Dy`5^*_vUz~^KFRr&i8tN#)5ci3D%{=f?3fd6LoKfv@u=4Jwp ze>{ELm8#zb*6)6+-!7)_W%{?7d{l1l=sz;Sp|bLgrsR9Gm2ZslIa(&)!<6qz>$Bhd zgzBSVrXQhvN9Qfy?WyuR`R=sxx3l~m=AP^L50uRxKo3N2eu3%SxH){V-4Lx`tG#M6e-Q64InrVNZv4^H z!2KmhWb#11cwF1CWbH5>*FM;ba5t{q!u>pQpSpf-99nsP3if*We8@`WX*B%n$%kY< zBy0Y@JXBMD{+4?1-CAG8YSw=Z>;L;@{bxPXxqYz5EnPj+<(Tf@&@Ufpv3wK${U7M- zBdzpD|J2ifb-#pvZ3vI~_xF}AnHK;{C|1zj!|~`{8&$GW+8OE2hlb0e@J+IAnbT?9HV9 zuCa)I{VlP*x%sSp*4_fv!%|s$JI(f1X?#@RBzO&Im!<}>|rpOSK%X&&o0rK!sNBI#c+HxrzI9CCgo zmczB5U6ya$j@N$1{9`#Rfez8D=HIj7)8-~}2w3)WAfFP}?PPy9;A0p+>^@!(y)^;5 zeNV@TF(^Dmv-H@SEHU(rtXp&b6XT*D`GDeA`b>EyV4(N@U0yYEECJ%&HOp^4$B zulxq+IoWT<@J5D1F2W5t!jK#HzL48L;NGE2?wS8P(7T`Iztxhj$j@l!NtB=aL>xae z!RHL0yJsOhRBs65`FnTn_!j1KG5DeTNR2NS>tEqJ*eCBkQSR129`i%w2j_+IL*xhN zW!=5@(V8)%FC5AlK6!V6FzAu@$pE9+L3Ecz3p(Yw8Koc-d>DLj@33=!#*-YqBEQS% zb@DtwJeN2;xNkbFW4?pK$hR(M5u?E&gY$K)$H4)@C|CYcl-KQ-3!h0mN4ekVnJ7SX zvcx?{4dHM_UZ`M0OLX)!-A-_=*>`ZrlP2K~v_))jBW7sa6V9z)^OXxQ}>*lQr zP5(%Ep85U*;ZuZZ&y=7?Ur2b7up76qy*6R|BK8@>F&-&oKWOO+gC9Wp zBILc0JxLhtLDr=S4yLz>gN`$38hXr=$j8*Tu{^*OhN%~^F;j670S|w3sT$3|66C77Chz_INaleIT z8^0%*yt4~Ab??oIJ#F&i?oW{SznuITAKbj2*wv7e1E4qTqh82@A7LNcFUueHDR&b7 zgndXS=Lo@<67a2G`!owk?C4Df$NO(D1s=bD{<6%MTqV-4@~>8sy3J$ySKH82?8l68 zMea;|(7fYyXYHRYzTC&9pX;w(Kdb$Uer{i9_$K5ZN*(B@^H&-}_hai9+o9Cg5&Qkl zs(US7Ca8j5FG5aaKe6$*XYCj14|$P$mgtXjeKFn=`8$bv>)C*PnXW(21b}_}TlJ2P zukP{od+NCA?w5gHrQDt0)bqXiMF*jGj*>vsiXtYBp!- zd^${DW}z>mgD78g5cTfMz3Mf^m!|jWox*3HBk|v9(RQNobBi=)gf5kj8^qQ9Tca(~ zY4WR=C{rG+eE6UDYI|aNv$K%L_}tq`!r()q7uv0SvcAUf4#E?Jy9h&XD8Dk2m)uWe z?M7i0$wGF{;w!ACWk1`G!q*Gz^oN#j%Bw%8XQZAiz0c>?Gw2a5=cj&A$~oBv`gjjb z$bHXYd`^(^6^|DwkMVesa=Q%-joWXZgUOG$y^|lYJ^()weKB1|f1}cW4ES{4xYn=I z{}rXb*hu^8 zTyUF}BRb0deJA?$ko&1!e-zhi1-fTmPCgtX|LOoI`P_{9s3LvY0nm35=+Cc4x$+s> z*8%Noo;NOJ{|xy}Qw*OVyukG1gr^CQ5hi~Rj~W~u9icz?9UUGvxUgm~-0nQwokQlz zeJtk6y+FX5?S=nf7u==}hEFlP-C)(1DuGe<6yjxDV}GroD7!%aHo7h5`g(I9r8o8d z5t$dVd{qDZtl3=yrf>A#RBh_ApUvP*a6p@55FTJV=u-&y*lIvUJuz(20(akaII(2; zCGGFK){le*w(oP)Kkgh-g6CVnL%9s8=fZc8-ff^Gmj4QRBfp>Rwi|Mj-%mZ(4Y|qh zhkQrfkehIS&Jai4kehHn+eJ6{8a~AGcT+BTUMQjauR-@iEdQ5(d9z zzaU|je-QRWcro%1@9wgIZ~);6-jNhu*e&4$4)0J3FYK1^Vw9urHO#MR)aZ@J$rra+ zK%U_m|Qs&*)I0eo_Nbm!V)esX9O+egms(?N%P$$V@x${*`R=)puUj+;E>ABH~3 zkI{~Km$PH22Wy?4?*%^Yr;fT=Z?&lZsGE9_`Z?;R9(xyFbmn zQyO(s-_d^R=eh8iN78%>9cO?Gtb}jS$DnBrRj4W043`DpQyd7S|H9HzdT5>NS_B;ls- z4nyC``hc|yzuczZx~boeLcbN(K(7@BojybTioIm%6a7Yg)|A#~kaMv+86R?<=rhQ9 zA?x&+({CpkA99}Pv#ARD%;~RjrgM65%;3cS8;N1%OIn{L2>2*x9-%u(t85ZagO~m z5G&rY_XMs+nC7p2tbQ7=`3n7u`6tx`ny>3OuG(ErZ-4V4m+XTG-8pJ)?DDC;(yDXy;m+l{`AN6Vo2>ug{y16Jfu6|rLarLvPh4tfgOKZB z@qNlS!GEQ4^&JaXL(SL;TIk+6?;QhnyeXNB34}lN+SdZICuQ0** zKz_viJ(`!?3)}&|I{QKRr13Ms?;1XL-pj2Axcjd{?kA4#`J>##_J!yp#S`ZzuzvYr z^5gKl+1>eJ^5ZbZ<@sUq<1ohK;c(8<$+>-t9}d?OM*kMKm&0=ipBhGa5Y2mU{GH&> zX4(nv{_zTQyZZss^vir5^5H$8vE3QJYknAfd%2Mrgbg|S5xRX2JhvbAA$&!CT}OU( zkAq*=kzd^tgvqb&DbRHt@{78s0rT9y%-;ca^}cn?V5j#IIob<8tv6uz+jU*g(TujP}!#I>sd!sN@*A%nw9$d{wT zgpqMLg8ZU2UFIL}KZx4__A|+N9O*{L7Zq;#;`*yVr<@0bJR+IgL*?4n&BkZ3XMwk& z#qfokFAQHpel(c(iuptbYYb2RO-^1K2|IadAxyq>w<6y+LH~qPUB;(ysu%p)jPOoju%^!h z&wyO^lfKvHEJA(&<;m|xIrDd;{Dr}_7Qb-xQn-h?|Lh?5rESGNK)3%-)}Jx|+l_Nl zvW{ToDrCQe`C8s5T*!WrF!)!9&u4*uGOlMh`IDUo-ZgXd2fxG~Cfo%+^87%^d&CRb z_c9#vT*&?|VaRhKJ{LXA^ivid?VMn|5&Dl4hWyHTM8abXA0<3)a3Om?;R(Wr2u~3n zAw13W!-P)~9wIz|ddvM{kWX(B)r7wY z3gMHzC~wOC&je7+=Q3{6@?FTd>8$soT@5~;%ed*3L{+~2_t&1=xJl`C`yqAQg~Ot+w~LW_hYXC|I6+<-@ExVq+6FW z*WDAReEFN5de157^X2HY^5H>?Zv6Y)9V*Aj@51jnl}F#?JD+<_<$Awm?MmrVx=#z; z$$hmqV!i49oZPG(OhK`Ulz>CRoEm=wIEvZAraVy8m|8@c8*p zY5vk4E6q>zXnUNTwshgtl(`Yd&p+z>Z*|^G%iFo?pOOC+8ukMrc?oVl6cFNkl^+;h2Ccf5kU z9W{9yH$1hg{+RcTP8jU-Wt8<@N&h~>=o|xGQ={f)f{y}E9r*6{m#O~Ip=0x9+bqDH z*Y9gZyqRm^>b!);i?-9hmi{t7BFnUoN4H5u%ctXi{ndQC?*5VX)1s+l{}$&1bUwx2 zqrT0&m)$e>Z4XcL?YN&LyaDrbJ{>ybiRs|@N9p^9rr!=aYF9&n=Wj#=KfRKEru1L; z(ie_CV*Jv1K9%3*hq6X+vQ7gz(*9x5+s`C+C(?<({F8niaw2vs_+KtFYI;e*bRazXyL!?qSK;E5uS?lBLzx z%}T9~0|cRbN>7_tE^U8Nzx;>V3fwysg#*vC_^y8nuY+Lt{9Z3H&cyF8YkA`Of_{h& zb{L;@-1j93&tI#lCA~YZD)Rbtg}0cu(V@QzJ5gV?tF^X7->iPR@n7lGlF9hX@J4Ie z%j!YjHFx)(XgRm)y>2D6L$PBlz8i;U0@z1UQ)?NX5y2Cdy3AkkY&JY-e{!!&3J>Je zowM`nc_@Xa(eMmg`mi`eJd%NyYm+%rZ#Y+TCi(2x%u3VvKY)BriT-t;d*?H1YBYL$ z`g>FK*C_qP0nlIS1^u>bR_LKV$^^e>{)LC1YgzO^00k7)wHPe+yM;&GCm)|TtIIJQ z^$~HOeSBUmezyQ}i$%;e69~Pz+Q9X z7R~pR(4}(Sp!%c;YPFrV>A0i-SnZHX_nN*~6qD2o`GxURCU~`#JmmWm>yE;dWqKujzj!0^QN6ZIuhcvF z+_$29PLPk4?A(tTA1BC1tXs?ZGs`%wPtWIF^5+U)!z1XQ%ibkl2mkQx{uF4o}O9c!tgaPd<dnmr7zp@y^n!22Q|bQTPQw!rPc`ujl+lwT zo=W#LX@42=9jvg_NIb7D!?UR8PlTRI_Ym(eJeZG`^JO-#nF(N=`sG?6p7vD#wpMaf z{%kconD>_XCgOQX89npFb6pCLs!+wV+3?I;`s97?o67LarsU)bYmzlIeRlJ_%R%BK$b!fqQOu_kCPp{?Xw^ zl&c6mQFiY~{2n#Zhw*#V$S>JnL49_)p_TP`mMha}9_w#LfU~D-SAzk|>OtyX+qb*- zqgm^%IL-RTx{Mo7`{`zx&fWX5$5~kbG`j;`rmnMe(@$81>OjEfzmK zPJZ8h8vSS-j&W0XoP56>_t3k28S*|W_}bY9JQL)92Is(Q%qO_u#@$0rJ+gQbBys*&NgCvt^9_ZJHCHJ4ObQ4TB#dH&tThis^dV+Gj`WvZm z%Jl^0dNt%emg~5DZQ$<|<$46~TqJT0I6T&c`i7bg61fJS!wH73Zc{N7J`R{33s<)i z?j_tpxQlQj;SRvZsK?lTLXa1P)vV9Mqlj0{`aC>BnDu#h7_gN}=vXrZnCtrMtJz*8 zTrx80lDt!_#NoS<7`(GkpG^J zccWd2eCiiYuw6~DT~$w6xZB5?k<|mlWBba?Dk$>K_LVtFnC&YwO_=Q~Gewx~tA_1s z4fCyG`&vUfd7pc4lE=$@MCi?yQ&!yz$yDye735`$$xA@GtId^p^a}EVdwIe#dHJ&yRtbsSz!G;c{xSc z$;&)p%1bZ@cn#&{cn9=4^=x>)`Wfn1&SjuqT+egdk4Y}3pM!Gw(RXmwesuczeI`Fk z><<^q`a^w>`fU0+Z}M}R=@;Ps1j&!Sk9{V6^N+Wvex4`Yr_9X+uY>%Q_2ZPEvVNTM zW3?*y%KCB2kJX0SCx8=s>nckb9)lb>|IXFr_ht67-kjb4OIB|Kq`%i(zukAR-YU&U zY}I-z@*F~`i{*a_%73h#_F>NGOXzyK!G1m?DY|wWU8AIHq>Qd1(p72R=4zvBi0Ow( z*H)v;&$lg=Z@1;!&U9^M`L;0MO7p4pmTwEww=&=^1W4eFE z_@GFBU)qB5$MZ9^$K&u;hEG_!o^2dg*(gTnip$rAc=5QE<0{^Zmk9tT_x;ye{OEet zW3k2BQ&flgmwSi_6K@gY-l&fBkiKO77y2Pt|HZf}s>^|{BJ7uB{TJiPQ%}>I9zAxW=Zu|NE`c{=|%=`T$?C1L@p*z{ncQ@8+57j_^_M#q={dd$);$U3O z`OY8uzRC5-e_hU8f8XT$jnC`gUo^+|4V`{``TEa$ekgo?vSn~S`zCeYqrdM+>C$n` zM~%-XG0uqhJ8lR5`|Hcfqx<2`wtsR-*P*!|Cs{|ro|f=X4tUGz?`O& zVV?58aoFIV%ds96?_a*?kkJ=j-DTnae#$E2`!8F#UtVj6loQp9|F=W(`GNbxA<%Ii zd~dD5_a__QTgmrb+;5D1l72ZFRX>Y3RI+c5d`Rt^7SJ`-Xl^EW1?j}TM<3q+@l_g! zyxH)voKpkDcPsH>|Dcbro%kw^r+(S+bs+szJMq21-1s~N_xs7aco^^88Z2r>YyY7m zh32)-vwC;;>x8#fTezItF*~krn+41Lf%lY+)8@V}{p4|kyM1yh58sk?sqoQL$Zu*M z?uj{bYcH0`9r^rnjw+rK@aVpFeGf(Dw@thh-&gOGdAp+{mR|1pf;%__ylfY>Roe}L zvn!*fobf^TuLv8Ly;I#HG2J`WJ{?vbPp+5jT}RT-_j|&rM&nE8sy4H;qOFjNkoHsU zss}*_+qHiWg5~S%;tdwf&YK&3H?V!j=jZD!pOEV~E1jQ@@5?)Zbjdvc*P0$tK59O? ze<;2G`LBDVK2+Jrcc-|jI%YimDAn<}+ZWw@b;jb=R#A^uJr4O>^(6Cm_b$IxAgRh_ z_3ZWuX^*4yyjsr%@VuJbyKm(!9Qc^wap$VsdT}NQ&0oi#ir4M4D6D1t2f@GSev2mK zpMw4H>sR-4s@%JMN-wqi+rZ~iySXZNhW{Aqxo|D-;sK=UnUk1mY+4?asa8Ttuxt>M39TvLrmVA$OOzSwOfQ;qF{aCHztMtl^E;EW+Ix7=7jV z-(~poYf(Q@(~`x{*S*{_%3p#0GF;bz{OjAz_2o_ViOTtm&1XQ5B=258KYH(xLa)W| zUQl0FJ*y0_zK`kaOYJ8#pJtI6*@sN|YNvd?uPl9UsvZ23Yz+%12T)I?UUU6&bVz)g zC$8|G`@27={UqnTOPCLL?WoYo_S4Ar32_P@GOCvAhmjOre{FP)lCF_5x`s$srT4$z zWprWwT=q{}`jzOC_mzw?xsMz2adg^Tv2Oqmo`idFivFL+;!(tBpaeYw!n`lq)T_(A2-pZN0Uj@E6xsY>K z2c?VztQ4TeyF$Q{yM8S zKi-g~hkW?{EtVegXPCm-E~Hc>iJ90wnLrpkE_CKfTGdm;QQ9Urgjs^}K&C-EqMey7SpZ^h0_c zD~lxhSKj}Ag+V?Z<(tfl8XZdKS9G1C2>ym8@Y9{=)pH&a{c(40@(Yt zo+;?H(uBEweBH-%w*KnHA5i;ujOoYC%>*}5PEMK|HPPKV4LFPT;OC_N4Ov z-tAgnfz^lTe{;{d-}q6t8}>^p$?cE6-8>EauF!5XLA{0h{9dFS#P9!_94xUO7t7>e zVFfw(Zzcx|On;hka1rP#o`OsL)w7o4*F>LKz4ojvS-iwPWBZKlvtPIH&MJ)GeR;8d zi0?#&kD^_;bvKn4ZAmIm(d$&68VyghuGiX)*sDfwv<~e}_KlnVjn)k?9Q}E;Ziq1Y z?`YjH;d#a%A$*GPC}E7}qjlqitC`;fVc0j(x+%gOf32G~IQrF-<`#CNofpE7G9JcZ zg>|!pF~3n*hYn2ae50eV?g+y%{x7T>GdL4G%lPig#XRN0*|Td*E>5vt=gsxw&r&Wb zy{9>MQuM>*9MjLjJw`pbt={N}_2f3GAo<)lDx@72>&a~vEaA|{vd;Nya^}bNzBmOF7bZtjbH9>7QxRf6`ppUkSc7f*yCSJUj&WOz$Heeu<3tFCqPd zsJG5bzF;2y`-pSmqxrs1=jYry_FCfoPk$ega>@QBx&QEAtscUC)hG|^N$qF(m+Y(N zz7iep=of9Jy;X4VfXQp}KH?BzwD)N1FkvuW?in>W+>kQ_(biGIlq+{%qqFZbZhnyG zVD>}a!dsDlOfT&PcRz&c5B;K@y@o%+HW+U{4*Tem_Yrdz-;HD4xux(H^R|2RjW5D3 zb!*GsN9;g8yk9YSAF$>Bji>gM_7-9ChG0ss4muiw41y`{x6$kX3{*Wm`W+XrEXChtFR9CZS8 z>3a({jvC}R%JZ+W^s}&sBwkLEM1#8C}GHRp^5!Q3GyuVB*P)kQ4{oY)ICLiw$r8w!UHBxLO#lggXci5uPACU~nP(8u;^_@j|wbaE-+)xcjAxXeaU>G{bYi zlkG4#I@}I-XB*r#t>&uzq!R1ik#qKx+~bINT;Dv~yNR>kTW*i%q<;)2yDWd*k2xp! zwV(RnO=?fgntyFof$t{H87$|>L?VO^&L_wH8JgP}-c5wuCgUZ@tGm}q&bv~s!0%+- z1bGb)Xl_DJAKP;l{7BwSMER3<6B~^mVIR`Dbzgah)AFhOZX)V4ycBvt+lS-FhhO;9 z^lsw!t(@*2O}W3(;N;yz@~eb;=vkY7Hnz5jNL^xJ26H&NS(#=p>a6ZiLOdt!OrecMIwL*9XhycWTSL@z8_`D7i2;Y);} zA7uP&e3SJy3s-(+r0w>5_myfxEo6t{@TUme&-SD7uQ&ce9<+Q<`Bxfo=8twH^kEq@_-X`UoJZ*YH?o)t!jO{ue7f`<9aRKEq9v86vZWAKpi`#FXgUOFRv{PAs z1b_Op_tW^`N1`vf%IKe0`n~yWtzV`8BW+qw^Q8Y2+{r0(-FpY_y)b#7$MoP2{%+!^ z)$4`7n>b+f<>Pk~hX~W|S~EPZ z9$|Pp;Zdeo8%oZ$W8KYBKVrTn@G8I z^9Hg0K|O^JvHaa^dR%jGxCLFR@G5pD`M$zd%v<>SG)U=Fwc~VNZ%**2KK<@C)u(~sPu7<&(QM@1X~=I{ z-^F@P>doTqha2m=_+7kCFcaT0QgMRTmW+i>pje1G+9r&N< zQ`CE+Pf_oQK1IDJ`V{qE`CY}$p!2-nRiu2ncV;*bp1fnV33y|@*=}+Zj^&IG@q3C# zpeOV1!amS2eg~0yPX$1}sGE8(eg~0y?@bmg;fv6NQ{%`d#zVaqf{%+_wx1U_^)3*7+?gi)tfma)Sr=UNMgC31%^Ml>m)gOph&E zzKI^Y4tP#XnZJ+6&XMc|-&K4=U9T&)TEAOc)nEZS-glqQySQ}?e}BK?QTtCncmDfa z-Z^Z21JWqoALO0GIZ3bdSId@~G`(kf=g`WXN8Wxv@YrsV*8?J;@@c=LMal&3{fTzi zBc(QTeLhZ0eVlEd#MQs2e4RG_hozH{3%9O7dnkEFaS8F6?hlqWvt@_a*(oO4;Q@OYoz z6{t7G-y$*Hete$}D~~7dcj-N=j{Xwp?_AYt^&T?cPCX1JpN}Vy@~FJK^AuOzB<%8xJpFO`=?=#kQrxw2kw301z+=UDE) zQ|Mzmy;EFmPyYD?A@_%Jjz#ae&~o2RIxp687nk2_Q8=*HC@DY3^0P+2Ygb_j@>p2Q z`1hm!q6aOSv^xxxeEzw6IUL`=Bcdkv@I$UkqvpEzu>Ev3Dt~VWUgdjlitlku=qL4IZONIORTrCQ?iB%P}+wFExh3u>oI zJXhXRTHdMCl#2y(YggeOXg{6q<8bTITHaqul~;F8YkA*c<(((KQnmV2Vh%AeL>x9K~@lhnV|UkM+tB_G>Y#PgT9Cz^6keBAe2TSYwC7Q-X&WWe3p zX0F&PmQL0iSIp=C*uB=3=+)9|KaeB-(}vft|8)5mwce(dOB{Bm3YipERFTuKq|&9NEWf{7la2xpW=G z)U*J8aeuDtk0C4!(Ry!M1RS4hTQXSfyk+BVt{bTR zq$%CIq|544`TRuOr+@a|rgAW6t+JLemQbNx08F{ zALpyUFW>*?Eq;0XI&J=Fk8)1d=#%^V!QUe2Q+u(+;(>l2ug&}MU1HyV!QzjW;W<-# zRQ|t8WHda6b|(E;Tz>S2(n#f#^$6=X+&Oc1&T8fs&{+9tJjze^u7~2e&iX^}J)~Uyu+Lqsd~O8#Q09wJo()F!f5LeynOu-B&w2FD zs!@Y|{w;D|z@00)XuH}W#^E1*ugMG3pEg(C|FV2lugX8cKVbfa z4IGc}pnkv1qKQ3+_~3jOh-g^22taAWnBEm5vYag?*`XoQLkL`gQPw`|jfWxDOx`97T8$ zP-RYHK)EDN*`TqH``rU)Ngul_Oh@m*1zLv(H#R`A$pzg#LcPO~2LQ`k$V)xUW~oC4b-W)N3^S zIlupc_k<@80jrA|k(V1NpXky{OWB(HDPL?R~5hg(a>V@t!$n zC(8PO(dWi{$@w zqxCt#a$~(Q6Z9Bfzx<0Se*H(A_QPEF;yG$R{=y3F=tIV@)691PZalt(U7eJVc3oV4 z$1l{k;+)Qwd@zd2` zSb|;Av-Y>>Pr0W3(X)2S{F8AH+rcE-SI>rH7M_fI0LS;Jm$gf#zX1L7aKop6N2RF# zMdR;U-|+J$P)WPOI;CIlV<|Z~X>u}7evFyx#~-1bRGQ~MU~)3b^doS82y)_=%a@Z? zRR^q)7yrjo-s;QAbLXD3Urv6pcyF)zzo7H@)6XO)LlxxY>sz(m4Y6Fq z=4OI_isjO$BhlycR_`jGK0S#(PwpL3npCg)^dPK*sx+hfeNipk8QTf53UO2EhT6THjnJJDz0d(Ya> zvVNUDgWm30`x)~u*Jmhq&j!4kp6D~cGS6l5Fwjf9eu{9e?fL zrSf>%=-XYYwtV+&T98ojF9ilin@$m4g4}MJH#lFy`b1&V*9`6}En0a0rY|#oJ=5DX zqTtIBu9g-V1iMR(%&*4adPR6C(i9#2a%lXed64{G9(mxOTQ=1 z?GIoceePE+qMf<> zl75oT?XR}=1nj@j@rw*mWZ%~%rU0Hex9{{T=NY@9U!OR)@A?m{uY|hLBVW{w@!J#U z_MbSnZ}Q;Xf2S)=E8eH+_PtyxgG~9(=iL6^%GL+j&%^mRr^j^kF8=3mZvTGSaQ)MK zZvWDkVc(e*SpLWoY;Zp3_GkMf{*U0?e#>twU#DR&{jkpMyYu>6$1u;oeb~1NP9a87YF^`2Ea%r@|x`LSn}S(aQh^5T%+mSJ_@(r z!k_oUxuMyz`M^=#Uz%Msf1Ouq{LN&)ot!f>fA_wIk8jM!;@mRj=r$;my|~ zq58W|{Ug$&{!e-NGryu?yWiV96zxE)a3lM(9Xay|H?lw50sqjQQ{Msqa3j)1+%F$) zguaS)v@v~)xzP^lv5mAJcECT}m}5Bn^BcPi?pzJR_5Kh23Om}(RrrPS%iW{l?gw$< z;l`I+yl98U68>-OBYZ32-GmV@+?Xefc#2PBIKDqs*6j5Qb8Y5E6wNRPdZJ9V`G;3_ zAp9!uMc=PdjzwrL-ePdRL5ytq3fzws9b|ga zsry0Yc^g~eEC~6dJs+!&qiU2eEEiMb7MR^$3f4|a(dpu@+rTXx7}~){PMrW z=tbjl{8BpJNIERt<&mY+_WMi3*QWS34+CF=IkpezXXU5#??%sz=l^8$&z1ShG>*h? zE%VpSelp))<}cMM{=H@XFE;-+^AC&Qmz?Va+;ESCYPwOv`v{K^{w2cDZ{dc+fVXy7 zc)sC5gB`#78s2DdKlg+0ZWuLqPxgOV{CGcfOh=db>wO1rmzcgDpA~+(bHds`sVGF< zL%_3Uz+9E*Pxp!(a9`8z1`!bX_GCY7;eF(@+(T@zylZQ2p8N3%b+5Jf@qWCzR}(fT zi0W`IDJ+5CG5$L6EyiCrfOI9)SAze|Dg19p;eS2Tp?(tlZ!!M_Kltd*hlVUyRQJvl z{@*Y-$^Q|9cNf9`J=yPB`TMvJub=&BKhI6*rm)qC1PM51unC=woQ|6%O2MZa6t^=?d5Xn!)`K%+i0@{G;nn z5{6tx*H06M+(y?=5gudww-JV%MAzR(nDTS|OAYSd)Nbycx)+y z6ovGeCt2_^d7aSqFLL}Lxynh){cLH#;iFSVkKA)=u6qwo^{$9?`TaTKDJX*G4d_tf zccAlp2YN3uc6#`&5?A9#?p=xpss%znpha=-J45SAezXgnylXvaiss9HPLl;ruH1PL z?LQv)?Z5kghP~vDr(LstGxV$9PSxJhb=z_89tbV}5gBhNKaCFR1AXUOzv$pe)YC!m zN8>3!3Y15Ma~jXH|CZmkej5BNN+kJIFY9|=?tQiB;5_lqB3_B{gih5fTCZt(Unuoe z>&|mcGQJRH>(UbcLhoDu#O*1)ru#pIjt@{y{!zL<*(ZT{Q@(?)^&(M%!u2m#N93{5 z2y**ZUBBSY)4Kj3RQ8snGNf{Fd6~^Gtur+`<9yF@0ZD+%EbgG1E(t1Q+z+%m(ug!Yyc5 zSFKvT%+AvG(UP*S4oVXVZ$LVCpPAYRiXqxMW$OeEulg^k+-{xbde4}-wHN)FA(+_+ zJZg{qo5ah9pd;Fe_%rCP?Y#RXihn2YtDU6$XukH7hM;dqLq!hvn-l20j(QTyy=UU* z^Djyd@v9u>Bwq85S@|pRc^~3T&OqbEpKJUz<@7Xbe9{vRUuFsN2Y%Mv!eG0}L*E_1 z(?7Ui<=)*Xgv+<5`zzqbVaQEb+y;5w|1=Aay5}rB+z$pt-SY3x!T}pkn|n{ zz0uAQ(7ErqmN43hb-i%kO@tRg_dfJLg`Gcu|dIN+0!5qqS4a>82Bg%7l0QtIlm|{H?UTF!Vt<@GUEZjx7 z#^8M69^|vN-r(j8?BVDz=KI|{6KeMrlzzUi}YE}SgQZf`+rnl-70vrUUt4Z2>Oag4UhC^M$hgd z-gn%SeT%_9zDo7`d(t5|yEZJVXV}AXUzydfk5BL4@a3h0^mUQG>xDi)ex>}6pD}+a zsC@37s+p?|6rC>xH~*G0delBT8$BC^9yxbp>6DLcf~R?dWG-JOfZjfnJ^TxzIGsH# zc3oM%<2(=V?BY*}T^K$(Ve#aCPsGn#Ho={eotCWZUP+n4P>F5cB#KeKbG3`b{xST8 zKKB1d*nb`}H1Rx3bhy#tsoqih(CMS_IP}kq3YC0nXSRte=kGv&2j*7txBrX=2Zf!G z_h?Pd!lN~i=jIKkOb){m`-P@zq<`5hmM+>_Z*cxL8C)nHzDKrutTPV&Ex$0QqHW08gRZGc2dlts|ZpOq1Aq4+?8NZx&bXrM7h1Zod2~9j~GP-BSVLyvv9}D4>Ny@Q&Jli_h3_t+f80}l%-}x0x7%MoVQ{{< zM0_&_%Q^+qKSua8;omX1uZaGtzkb%>-NlX8p7+%MZ^o}SII90s!swTx`p+AjFQQ*6 z)c>8qeMR&i{q+k5?=Id%d|xp*EH)C~HwmM^i0c2%;CvDNMFD2D=pE?u{`x>TuX+gj zzQ6t=gX8;n>Yr+Gz6gC@sDB2-q3@&mE0`YoxW66^vabkz++Uw#eCXq-{@H|~kE8k< z49*v!j|=s`V6ZP2)gtr0UQoU2>(Sz?lz!;X{`zihh9V!(pL^={b{|Q9NdKaJv`Y>? zKGlPY&*{B)3O+ynR4TseDL?)Zi68PE~e+F4=i@0)z|^W8p~|1ntY z=BG;38OHbZ?Ms=D%D>9}8#SLI+GUiTfxKm3@VMqA<1WHz&wlw#Z?pVLx3*}-cTn&Z z#_uxzgvC+NSKmvx&EP^k_0q7ZH_4|3`P5GcS2W*N!fk{b314k+G@vb8BMg6p@G!$q5bkC8n+Xpw`~ku>41WRPdWPR(a3;9T_*gdo zAoZgfx%u)|q}yOl5CV+n+jYF6@gnN4nOekCe;YsD2EE>V`?G=PM!^1juJ(+PlLMG% zHf~x}eZL*?Ygb=w>GL;eY>}I5&9Qi@de4;pn_l|D!EahQ)qdBCZr-0Y1Uhck&z&#U zesrV7G4O%dOGt?%R;a1COFlRAg>l%#UyMaUNv`)f+tNNs>2xII zOq$1ZbZ`>-7$Sv9O4}i#Oo2l}VC+oNkV&I5C#MbB{jNAkO9@fyw3RkS#LP?{6CaR^ z527Ly1u;GepcuV8BA^CQi~zEvertVa&zVN7!?e*GgKfk>} zE&2z7P@c*92R|r78}JW#loxV+B{kN4{2kgL-SP6iPTRNeu^fYQ?UC^0J{#5mwpYyjGq89&y&{evT_LAB;E0`ZZ z&nsPpT$Cfi@;ak?j=GbiIOj`GK@*@Kq1+=t`z?@<+K|s5 zVSY;WwcPY&^M-zoP45uTZ`iz02$ZLHXh_T1Z0Q`2j9Vs@54-bu{n-AF%X|3Gm4XlS zeWF|R*{kTa-vvMJ{qQ*5Ur0JXpVRHDyc4Yr-jn}yVVA<`6P*kn?$9th$8#a=H<$c6 z>0P1GmHEsI&kz(@wnlSWQxi-HU^F3AmKhyk6HGip> z{P_Inborrwl>cGP{{k!D_+48JxB;&RSPe70V{ z?ws1Qr;q6@0RL_BM;`RDJLLb?u7dn!KMsB(y@ve8>yz5RqGJiLW=MtIumb)FZUqVTk@*_Pw(nM)m(%iI403k7&I&{ucHq;`9mD zlk{P;_noYFVTkzBh43OMhxC>gj`#aH@yvK8YsWVIknlN|^2q$G`Mb>i+@9PIeiwe@ zRciNMZ%O~t@jI{3{H(X3*W~at>itVKKkIEUzw>m;zftqgTyK9s(q(dUdD*=op_rV9 z9zp?sMIYjx|M=Z^>meWBl_N59}7J50WS2d+LG-KBJd(SDQ1KWg}N z@D5br{gmR}Yj_6?@Bez*cn7QSzFL-i!qNSPchK-sk57kQv;(mmZk3BY!qHK~d(iOm z9OI{h_jnavtWbrcCk*d#!~44$#(Fs^`Jj(wvQ8O}p0e~OEj{-+jImjg^$*Sy$^6=P zpvmwC>RHy6G2NWxuWCb(g!QxsjBD`3>uRv`Qop`V%JcrWma`>kRr}2+y&92E-lqNT zy!;i@mwLf|2HFXrY<=`@O_#MBjc2s{-ur-E>Jyv_LW0tNKS%oJaNUFN>l5EEn65jm z@vUnt{}sqxkMoZ8J?fP|h|1RULEHdi@ZQ%ee7@EDAB%5d8m9;S6`*WgX64bn%eaHE z&yS|}o?`h@j<{TXP)=*pX8rB_`~EcO@fT(Oc(V5PzIBk@t(tF(?8iWnd70f;x`i6R zxkO#2%B@M@)<@0n-p|rYJJ{ZrTN2gVwzY~b+1|qS-O^eJ1oN%m(fHC1j`g<6YauP! zRwkpbzFw2bJn046(a<+FbUl@J6f{BDW$i)?$}0)AKS!%#keCmwH3wog`$9nSVk#OGnRRjpfG0NktOt3OXM z-ygw;q#|eY0wOome}Vlp{=nY-es9o? zXH00;kmja*Jnv2N{vN(h*U=8rb+n&!pV7OI^#I?U;Ry%nN4(#=UhqS6#oG0%Kp#i7 z@^~WbR`FlR&^n;mk}>mVw?5RQ2^L#AIX6t@vv>{j-MSmn6}pEA zYkLfPTT9sQ&w-wrWZ~ZF4MXI^^$-q`U)eXJ`t$vo^Q|1n4Wet^BaMbUxF1r)t#$xd z&dp}N2LTDZj{X_te&LN3IfX-fKmQ@7lXKfNUtA7i%4A#T4Qm8;Ii>qZ=a}Wc^&U1j zUZ0$A>?=7L%@2Z(A9#HQ&*DCo-}+8qm-qV#SIcF7FW(pI=Ba*4I|yg=iM;^>><{vA zI_B?YI>-(2tqVV>e#PxCmsq=O_*_rv0m^4AF#p({3_<_?NRHmVjy=ivaLnZT4#JDy z$*@@WuUanh|JD28XM)0EgmwhK0{ZM3Sai+K%>VgI2?xS3_0)Y0+Y{vT2lXp!9{~(7 z20yd*@fyBUe=W3(!ItuVsjJ5>Qg!MA-ASc8Gz< z8e??dVT% zp0)X{%#O@%-2QXP7qr~8#q81iPie^fbffuc+wZ!)k$&3yf0;jMWBK98DdkV*4K&Qx zv^)jLltzfBy!u7-`y<4&eKqg1@$_42-p~GG%^F3RuPLbIjBO+SN7L~Ler<%=O4e*nP38Q}evUGLAQS*aGsBibTMYGdfa#Rh@_d%yET&MK?(`m~F!Ie~WWGh^>0>=_ko^Jie5Uq4B0j-4_*)>Z zG92MLR(|gIes+wna}s>0FFzFR7aaTfiroI_SHzx%xqgjBx!d#@jAWre`{P z@Oe^|o5)W3H>y9kH|gi79!jJ1#6lUKquYmWn8!_+y zdy02+<5!7qXiVX9<2Mv8@B0r8(+A8>?7r2woI2<$(zojWF_s$+(XXJq&xypskvfy_ zl_p=VJI45sAL-X>zx0)~_oH0D%q4d!JX!jeO8WRc`qRMkfV@Y43G$J9H;B*gf3fqg z^R+e)E9vpLUUO<4(!NS&LH87Ud(y7dHfuU>7slNG*RVh2ehBRe9`6_D?MLQX z@L-&en6cL?DBqpY-=cqu`Y_+-onS9`GCHL^(3zj}8O1m8{om<(-+!CGf(Wv7#%J-0 zZ(Dxjr{=jzXihHEKzV52&s6oF=5L^0kPv$PbD7WGQnQNV%9_WOZm%Du5&HA;>OWL` z+eYZmx7&IC<(ALs`*h#mkdDmXeav9mZQ96lsyA=^u)dG&Yr6Ui`u;(trl<1f`I@hQ zO=*{#NylaO3QqBB>L)Ah+E*vgbKz;WYyW%IjS45AoT$`t>2M<;9{g&#fS>;)*eUG*?mG-8j2`^_o zc!|!NR`nCJda#-04Us;K$ET_XU6KTRe@2#eFQy)hPGY~ve?Z!VaAef%%lmcjnm`Bk zk;eTI)T0Ugx+h4t&w~K}J5|2>O};;)@{RShs|s(=WO(l(Uf}yF#kY&})_(IltXBgH z$9Ve$?{xjem8e%o`!%1O8?Rw5*{ub6J-HNr*DFoF_xmdSy^UHw^L5K7$YHAf-fM&+ z@O@D9+&lC}&A++varGmmp}Q3>H$JIwdEa9iR`>Ui|Ls-v<4l#@z2Ek;SYNRHieZ@h z7{m3HzxQ*((X%GEGaCB-n4R^o#~#u{M-*x&vt%BTB_5G zX)p8BS|{u0?a>6!UO(@CE#JrY|6TieVWds<7}uW$t3P*Fjkhp$348jJLui*8G+%!1 z1?uN$L1Eut6-G`^zf3)w|)*Iep&2B|p%@^ow#5z|- zr|Bt^r?s=0Jo~ET$$7#U@42e>8~rAfv$s{sIdYzU?C3cSeSI*_e?js?-(Qk`0rI`_ z#mL9;NjQ3e`G;uVX)o>2&ujAbwxVy+C;Li`Znq2a;or|y?1%iyK3Po+%ss-}y}9h7q8`Lkxghk#xBBVw;Q{ya=L471*W{!ME{-evhAPkgT@ z==60DUnlhSg`&*6A|CnGuLQHBM}bAklSst-x<`gb^o%Fva&UBRD(`blSF^nf_jPDG zUuT^OUnsY0`gHX!wU<(PmB9mq`#E7%+SNw9JDVAn3rxptauGdW)Or?5os4g^_V{WA zXXGy&X8JVG^p*3kxz9V?->(tAFKZ_L(s})?2mO7dXI_W#waMU4gL@6`GPuX!4VHg{ z!950d8QiDvM0z=275aB+x&WohGb6qB9bI~F8}Y7gXDIf9ry>u#f0XExVCPl@vZel4 z?MQqB!n~}f;qi7s_Vp;9@GrB~{k(kuD!`21~pfcuTYVcK~%UXlGXNSRCCMZ2?h zGdxs4_N4Sq+H2|UHxS;-eqMRs`!#)e}PoIAVWXrXNdAD zH}28*;zyPLa^r4;DX+49XDEJC9KSjmT!Z>omLLN2g<%v zYP`$hX|HAbZXgWxSpH6n?=!f=;6a1i4K5hmX7Db9n++aNxZJqJ;C_Rf3~n~KU~rq| zZ!oys;Ch3pSFtaH_gZ{n@P32YKZyPIE^RMPXgco~`1e8aJjV%fv}p_dzPAf8p0n`x z!)hK{Z>rk^?bn$9hds(a_1|y5QRc~Ijv(HDDf4;SJ}r8b_M1xT$>&&}t*iQas;~3M`A${!$6PP3*YZwV zd8ahYC4Xi7(T>x`Pa8k9^R&_0!QGTcwS0p0<16LJh0!Cu=uWQ~%S+akNT~&|BQUa=AW?^_e5bO|GL1BYA-$ zx2L=auvY0itaA5radOGXMe7&y7I8gyIvQ2KCykC1rr-UF7yZW#Rp-;Z_jMSraQslV zdpcwO;6IS>&;M)uc=G#%e#~bMM)aewP*1<`%Ve;ZI$v-4zjfJx=pc9 zb}Zt0+h%^@&Ek*!d|lrU>gP@P`AlJ`Q|ndbe5W>ri#0FQ^5r{qi)XzKLu|(??UUDU z`rnuiD8Tp6gZ{UGp2wsT$`h8e9tV?u)(`alnT>nBo`q$aEjxd#c*O#hm+Lt$_q^B} zX71`s-^ecLSolh9Y*?zc6fBqx1yVZT9 zUN0n@C64T+oE29@1Uf zMt(~7SigSVCp2IAz{eTRW4oEIKBaKla+0B)XPL_86d)Yis%XW|DL4OqT>OR7S8g?<1|>@vJNEdPMPC4=`G z+;8xpmD^|VeuH}q9yNG_!6yG~oN&i^MAfS z9p(PmH0eXH`Q@w0pVxOk4=~vG_UUr>2Mp8YR&TF1KeDi(2(t1;CwQ{&jT$Kr(6hIS z9!v>2{pkZID8IL|oZdeAgRyrix@5lXpZ0NK>wZBfkK6Bh0r93-^RT{0d15}Q1H5Rx zmhau3@I6aG-oMpCKYwL@6H*KP3m8_X>$dmZ3rNuBg`_iVV*1#AF-`@4BcfQ)Gu}>5 zC~e&feo`}rp_8;flRM5;ME?@}VV)fQ`)a#*b(geDLO;%tzV$Kbh{`i&?dxRew@7-~ zx2xs&e)2^&k(EoHtNDH3H`+Ut>-*lru<2(Byoi)j)RHVf({WJf$o%3y$|v1N{ltC@`UJjedJnZpe?VucMJ^*!xIDhjj`ZK{IjKw5 z!CxA`cD{8OqC6`7UCN=-AKt6{RrqkZrpkYw6Bza5HPY0Fk+ZD-!)zboe5a7_=OI;* z@BIvs?gO`<2c~IS^Vx~`kZPU zcs$BK**Nf=;0r@$U$*bt>%Ge@4AJg*_5XnHm#X}7 z+^&RP?=Kc8$6gVPJn6O84){9MwR|6XHCp27CtSW+xy+{i@OP@p#Zn05F4gR*-mUbj zoBiC9O>K%ewu_UJ4(Y#f(`5ejq}p@$f(JEUy3g8YlYhX6?eZ+E%Z>B1KHi(me-4QY z6Z>L)YN0&^Tfdpi|2usjpO(J2C>?GW-tJzE|Nl9mC-eV1%>Uc?Vlw&t9kqOPYhzkbN-;ccc*F&ZH~yT2ujSUWI< z-xvHQSMu%k(A&3a{~Y^cw}bE2A1@a>7<)bG_H&Ts{1=_Cl=*Cijfu(~`uIeZzl`Sz z!&du_|AGB%N8fDgBliv}9Lv2^-YWDLvO(3#@A4V59N&COR&(-IT{d>S_dM>?u4k&YpZ1$1I$D!+`9*Bu%<50B6A}+0G@Z%G{_uozX341u9 zAC>?c&kRTUSPylA2=gLumiLhR2c=yOqxB}&I)-*0ZMvKNgR~deD(A+8(KbtWfuYSy zUw-*O3h0+uKSk(<9i&Z!XJ0>`WxblB{9MBCv;2GZv6m>hiJw26nxBII{K0f+udDj!QcCZ$9sV@*ez{)T3kOFGhRl zM~;|3oBQSo{_HgH43jU|VL#{|^Nqv6Z*Bjz` zdtT`C^$Fma={(;bRX=cE@yF-+_Egp1X2Bb;XFT)@(Swbb;TL}WDE607&nUP0o~u`^ zk@O&5o~PYDKb`Ya5{ie|C z{W0xR?#0mev7BM2a^DKm-^+R;<6r7;ntg7aRs5?y4lA1&cT;YMsDH@gIUhuO)v0u2 z{TlT*mteMUeE$&r`fB>dHfu7K>tlZ}c!t{*PqFsJipSRnV*Q}Mk9nwZ-#gz^!SkLG z_Ip5woUcK;YF8282>balKJ;6$-{$;(M(bwsQ&>~FZg`K-HBzs5U&Me;golBVx`^h!mTEfLSme1~gt;AbC?$l4&^hJW3$O|W4xb9_?s&%z)ljCV;kjT>)P3T%>T7=D^ed*=q;CU zKkm%!c$d~Yv>!{W+VOGo>d$&R&if&zZpSaE{wKEMXY_rg9Y3qEuV2J=#&-N%hG(XB z{6o_22_E{#qgKCUID4{cpWhj=-?-iW>D$J);i|4_#>(~fVbYR5k&6Y624 zhkkiz1H)n3i+_*n=h{`;@pero`+pd&?$of-j#H1*wc{$+Y1(m>=ZMK$+}Bj?c+a`% z+Hu-}@9(Izu66aAtc$5tcwqp#j|G41##)y^vI_}?g8-uDUG z=Ydl!f0%U0z9EH6!@Sp|+`|2zrD4jmZ0Ckm+VS&>NBUiCr(0;(aXSe+O>IARdN28w zc2dikZohi<{#w-No z?RdNL8S7`4R=wqHU!-mm$>P@jgCcKkTs5AUTu z4h=B8?Cq!+pgew$`^0wqgq44MmddYg#}7`B<6e{FRPFecD#t;Sw%?P|;lujosa5DP@qxd>2xH9pkEmZCktuNThx8YI z-*&d%be#Q-Y(K!L!6z;KLBek({!rq=x$jd6*?GFBnJ)W|_>{rS=iko+yVoQP6My#t z?nV+n!t}$;*S&xn1AINw*SotHaQyG%C+Y7q-w65ZzFruX$M?nhd57M=$R+F`rw_0k z^eg6(MEo6aI%7F^h@8jySAikd7fRRG_kD-q4y7ZPaHEI!OY$|=j~HSh82$}Pe$ewN z=~Jj5#lF3f{l@>GhH?1=(6jidzxt+hj_tuYWb@@W^8ezy;ivXm{sD%UNl(5X)Ab|! zL5M%w4@CYd`$aBHpuZpTJ4C|azhJkZ`}r!rT}F4mhPgyO-jFBezsKbD36s|cR9=0S zuV+GeT{Fn*e#mQRgXQniaLRq`HlGpGzfUU>iB+~=KJX{WpUU*;>y#$X z7%$56eGtg^!#J04^GS7q_$sSx^fre zT(J==Z`jI{K_OJ;^Ok-tOTGrX)x0Q1tKf5qbv4`nUFFNA+AhCB?DDpk_i)a^jQGUZ5 z&*YMVW{mM+9|`c>S%n8R9eCcUcs5YZ!#x`MeGq=1R`_{EJ0qXzE1Ayu^Yf!)diGxKt4zs>^)Ddn3tDM9{yg6}VP zdrs%|Y5LNAH)y*2oZB=kE#>-Hx~_xqOBtW8>oJ)9{B&KX!eMEF<*e%>oP9sGfv}yw zmbUCQIrnLpwhS6fJD2ax_t=ZaHocGdaRpFXP+;FUPd}Be>=k=<1ZW6 zkpI-~;go$yn$Gv{%RVH74_bcm<9<{2d0G4^i>Ex?Ps+NN#h=kIroUO}kNdgsU*P)# zOW_BbiEp?~!^!%&C(Mpdo4huvyiS_FInIyE8#Ozgsy;WU9gkXm&JWCF$6=WE>;5J4 zW7ZEY*08}3w(q49Z+`Ak+DZ1__9Yi zb6o8GaSi=DtZFED!J7(iJ z9}i^fuo8>-T*7m)!ZPYN6sY&oiXO#VYVKutgW1gi-X~n%_b19%+2)y8ul`=#xiAm2af{x)2+9F&YCUBl4jkV|YIp?_chUCZIGmEN$dK??|lf`+9PtY4*O z_HRl{#A(P=ZsESZ^1g4H9O#GAdGtH(XWhU0cqLtZTGPk&jQO*8ym1=vh!&&YyLr3& zU*a+`4iXn8>-vL=CtrJ&t?TcffOkOfOxOQ-5$x6H*}NZdv-x?mSMLXA=WI+huGv9) zVVCch0aP}w88-iZjO|4JD$21kuhXn_SH1_Z`j>sL#d?^ouGe&F3+q>UAeq1~Fu6qVy=` zlCLQkUG0iD*uI8E3pft*aj^JNO&6D2Fuyp}IkxA2LFgDNm|twx(C>?j@w6G9sqP>7 zC&kldc-jpQCmv!v=V$QKpH)2P4G;aiuSdmrx&#l}ZTHhxtDk1O6o%Pe#pyd{ki*Bc zT(*Z{nC+k69~XwGU%!W@djZc!sLYGg9=jL(rRvA$FN6;2>rg?%?xl9`dJQLbV*1V+ zKi=MbLtKpPD>6Bp)i6$fdIo-eOZho%`Oj$R-oWZYo1gOUGtB?U zJ~GDJJXm->{du}>Ki@y!`X%cI4K_UM_8P2Wkbd!i!i((QM%bUYUTH7qX@W3p=@0d3 zy6&ZRZms#{aENqvFTJ4g$d4x+GCB^EFYnhDYpva}aY?@RrJCN$&DV0=9m`4m%&;cY z@9h%!zY<~J2aEAho4kTw{yOec9J2JnjJ7jT{x-=Ur~fyk?=^fTU&QwqzAsCB`Y<5K z<+qg282?GLA0ICtQ2RM$`ae0revZ#zKO0~_etygFapK9=g-&SsmG!&h2D_b%8m#2X zeBeRC-tIM?G?;qzdB!kAJE@G9sXuSeV}1_`{gaKCKfXltK6KFd9@Q|H{4~q6?;nb_ ze`ql6vsg=dGP|*JA&NCT2i(u8^mD;uItESd?q9a6-1l4ggBr%^2Tbl$&41mX^>)DW z?=||%O0UnGhn19bu|_)a^2GSNj2@rQdIRXO^I^g;{dg{+AIiqjb{~9br@s9A9mK<) z{X6rxoD;DBRZI_i--COyvUM!lN3r%A?Jrg5L;5SQ4wucVcA7n$($K%>s(jbD!QzQG zU&D@3jJF>2MD?pvV3bo*d#GoAyZ_AZp^ozxkiSfRrW@~keZRKrhOe3Q+W8_g`F~$G z^!?(Z7v{Hf3cTI(edRHID(^iNc`wHIPRA%Om!q#|WBn>Vr=xO?9_I~w{cBn6e4W2V zdj*R^zUuQizHz7M|A6a-^(1Yf9%A~`A4c*Ay^#MJm49OLs?#u+*txk^lb@3L;bJY< zZ%Ye=AbE~5-yd~cxfQzDJ|gpVr?zqt66U* zv!nA?e?DX5<9}Zva<+RZeS919eb(ypRQs`9=6lCLqm#|+O^vhD=D zMz^mQK>rPLABw*R+}|qpG_O4(EfUV6nH*_`6*lX@%<&?dgD*zBgvnd{qKMFTRmYr_)M2y)Ls|*7q3>v zv-NnZpZVH1>U-}e`MqB9eY(+2{}9W$XNLOmLs~z2tbX)qm`ga{8{=X7h+yr|% zZG4^4aK?K7f4%*^kajZVcc_gTAItZo>HV+GAHQ7ne#+!}Qo}g?@fq~~?I+QGTYuKh zgUTgWj-#tsJ7TaXQl4Th&()jQKYWj-D@r?xC#K_|(e3@hW~F=7=sq}s?m?q_s(#@= zD&6c)%6?bP@8=o&xB>k&w1}}iR{Qr&;=0qFZAx$Yum)1!zf5|jSx?t?Bl5eO(cc?A zO*z@VJMaJHulxbxZy}$Rb+KJcZ~L44d)UhU!aj|Ueu(FowFE5$$#qWr$eO6_nB1A zS!R13vU8S?6Tj7yv}M#_E5GHS!i$=v@sp?Gk8e^q<{RsLe(vCO^92XgzT7@pKXS>2 z3HUaMf19p<{HWsDKzg(Fd$uPrUFe?!&p%h~OGFP4{&TP5=`=iD8j63OKo8c9;&$Qp zmZLx5ewThCE*I;h)5#%dxhJfi(!b=ATeRHZ^Q(ub|L&!yjXu-Yp+SYam-778%wHTb z{T|-W_}e+3U#u0UCXdWhXnCczW^c99xySpg-IYza@>KNPp>WJsyT}vq+4x`O&|&no zYZ#|*Hu+CAf3yK|@b4P!KGKk_m!Bct3FCFjr81r$&~%mcaoVl#Kf08Cp$$TRJpPBD zfZcq&fOfaR_%5*giyWWD^1-@SY*+m%&+}#%=jbn^eks;Fr>hq)QoA~1`Oj*YOa6s) zX7dtuKZp5&V(lMjd}c@4yu^p}{bcPsgM?Z^wLMJ#ad@uT{D)7~P5D z$tAXaGqg+L)X$G}|F=+-Adh_aVDUCDcrzy$(mSmEnJWsDC!Mfv$@-I>LovxZNOimL zDB6W7+ar!w(tGI_{2aH-*)DCuJ#SOCCwC~HmG&ekT-~1dy;7C-!sItq`@&{P{DjHZ z#^q199SOECEgWKf?Ow``z(jv{v(g=gtNq=J^?hci6Z{?f19D!Q+EKCAVDoRq+U>-f z)q`yY(>{u|TgT(i>cKtwzA`^YIJR&23DD*B;Ty}uE=TAWqku2OzrNl;@P15gsk0NoykqQhSERcJ=QT^w8M~( zw;P{S`E(hc&I$5CJ2PGT`6%d^a-Y>1;(Zp|4YYfcwHxya@K?>ocbkSYjn{I?#Pufl zQ^?cDsmD~F^qbS|ub8SG-l}?Kd*ky@-oHuhdzIAYZ?knLl9lbN2R+b#zV_WF|EKG> zXY$wop?I_T=^HsOm!I=ywZCwepTE$=gz)oe=YI(d6!|p z@<{-`u+Loiv-u0(ckbs}rUy1?xhc^k*oThv=r4#lJQc2!AM%7j4RlU)I=tysOy_uf zUq?Roh(@IM_G@`#PcWUI|6I!3_+(?V#+UN!@1+~t3~pxrjhzaIe8J#$gU!#|Ir_2u zdL-p!@)L7>Ds}nQTl+h27x5`}?%|z|-_QW<2>yKq<{M@HYI$b;f`$%Ff3bQ>_w^}W z$2YcLvuAqpdtd#&?0oJ%O;E~j)KK<+d>cPX`8OC`ulP#&4F;dr_>k{1_=3Tm1}B;x z`-9|j#HZ5RXeeXRei@iXdYdLsLVch9m}fdR~{}mwhCpbEjrc(mNSe_7y#%{-d;DpGIWgH7|Il z!KbL-1$zxXP5mtxF!&7Nt9KD@Jgaal7ws={7?;HBR@3*}xGwDXBKf>`wr*zU1N%H_ zY%i!W&ZqC^46jl0bp2TCn`|zMFc|twIbl#})lZx)~6z8nce7R&R{q7Lo zgD%W}#rE>IOVQssVfsE!Jw)kso=W^D^bfoFldADJ-osBmp>}i7@Qi9$-Z_=MuwKUU zKV3!FN0qKKhVS$Qx-jntditlZ-Zl&=?O`@L`xICEn<@b*=3E zbyfMM*w^m+0eziH_Is)y$k%?qB1q@?IRf>n$9(M?zF*Dn>`Qj8ntaEh`AQ3{ztOVG z;AW<8;rRw(LBU}A&fdmZGQX+mV>^RCg`WY3upd0(5dA#-#kXH9@FjjXUh?l?hkKO2 zvW*x0oTbo21^E7u(8T(e?H{r446^yCCeoSBN7=Y{Q4`0b-cR=VzL;O^FF-uLBOaSe zJm9lc>tloYgZc^e7adIald0O{FaNx>$A_ucFy!NeI>qzd*2`Sdr3A+GW4#mf`?zGG z(%o)!bG#F$FChIzv6$7#T|+;S*(s~B?3+62{AhSN=1qHqkIBZrEiZ&T z`&gdMAGrNh`h_Y+x&O`lnys69dyv_&-=BCF(`SCq#(SB+yo-1$@rJjzD&IoF#hO*5 zueU0n(UVJF#P|{VJMZWD{yyhJ+JE(D<>h~%h-LlQ;FAW^|E0@M7)<|{EzriOB|6>N9GMEiRuygs!%Lgs~jK-(S_ZocG-~olxoxALPm)cjl zyx(BjTe`f@;B!{aCWF~dl$TS$GM`}aJr;k#%GqFWV)(lZ?lZX4;9UlH7+f&8-QZ@0 z%ga|8+-5K*0K8o*FK@H>cFW&vaEHMKh0`Y*7(QHY@f$Qgmu%B8uCHBIzyC&j82t1u zt=}8WzPmJx(|1_?o~qw;v--JC%ip1)?^E#gxzxTR#P{xXLLu(q{pMF?@MTZ9$>_HE zk#zNO;-fgS`kt;kW%#ighI&aqFyGSo{uke`2L6tUO2%jwlAiu@KE);NGV$HIhWPv* zs>L=Q8+$tm%+KY-k$*p*eP4eY?Z%Q+|QYw zK4{DoR6DJs`zhWyzjq?&!yiC{vT!he3L`Q|DDGFe#S3;!tj_L^K;qp^6x!b z?=$|_TDmos&&%INxV6{#H@Rl~+xkIj>s+xtoT;*h8nuVBW)Ejf?^kF6z7FAd(7!>~ zK*qb8&gVr_!GXv7)7d;_Q=Ps?JBMGb*T|++d3=1~>-5+c*>K0EF~qGNOy9F;<(u$x z+7f2z1%J`@%c%=*RgUBn9;e9_Kf*ka8|bS695+k_VZU71Rj4680$wY zzfqyX`w8hj*4K0&{YShnm?4=;iRr}n9{Tzn ztM?ySf_i^a{kZf4&F|A+cz*-(kblW$tDm`~Rq6D8pr5y#)vqb<8ylp3JdJy3epl$c z?Dx>@J3pb_!uUPb6XXs%`sfQ_*XK+=XD8&t{0hbyeO2cY%o7PA|BpV7e)?(4e@4UV z^^MKe9^|wZiN1POyqX_!&+3oZ2%fAStztdGeNWQd>UVQ^GueLPyVgp+Cghg+5kYzZ z^80&QyrQh>*YrWuwfAI5r zFux>f=Q)$|e!_hkCA&{!2MhM^L4Q`#O4cNO!s?f;zgO2U*Ej5EZF{7DYZrWe#?N~R zHes2+itR->LVe-9CzO=km>x`c@#OwRm!&*og z`xQk12(Qd*==%&@{%)`CSF?LF*J$#@`#EDa&kwnt5c=F7Krbk1Y!lOiPf(Iq?+iV& z-llsPpIU#z?aTWuejb#cyXAK7{TGz`$VHXQ^~Y4`z!R6Ju(cPNTn!#$wNK{XsM)e} z)u9(*F=<_kztj`L_4dAaMFC)TU#R!*wu)Lb-<`}icBdxO`Ct5k-Vp=8_^ZG2E5Cww z64bVqtsJ9&nFtt`j(!8et@2*$eHl5DWQ72266R|-wg~so4ps;ny!ZO(=dZxOB88vN z68oRiV!!cx0Q%#Q`*8_<9Fh0=*kRhQ&+8%GkBVP#*v}nsySjYxrXLTz!h}5Ejl4hd z;SYZpc_p}FCVBg~3UXc|c_x!H-cKfHX!7aE`N4~n^U9|o=Wve@A&;L&cct(Fy1d?J z=R(=}b-q5iUd##Uin&F|p1A#Hc6|$C<^3%hjI-xUlJ6X|<6g64u~(IE*50!{bpPS~ z;ft~3^%p7M+%qcQ7gCPqA1+3|m&IR9B4_m%lgL^9g`Zg~C#CB%% z7q4e|a-J3Yd#k$``u!4i@2uLh(Bys<{^-=##h=lPl6>8tDWcH3>pXsB* zu5vAR{xQ=XqW;UBA5}PQKf}ejgC@R*?7E`3jH!4eikSN8u)x8`?~+FQ%MJvPT#Nl&GF0 zU3o#_wB|g+yUsCOb5_H$oex?zy@Q@M$&d2k_r2fj>*cxRE1EAH+r`k_~R*23}ez1Ma^P3c15{{ajZ2S<8n7lVL9{T=f z^?Ahf0O`&8wVRmU`stiJd;LHCX_|Ga|?H|{rlhPS1ku-#t=J3A$$`*$wszP%dn{#Wh?R5+G9 z`jIYI@c9by0b%rlrt^K*i+7uRcaUDUb00_E`shS`D&9TJ7te3L9s11ho82`wYkB#r zzE3mwxN(K>(aKN{(C3CE$~ zl_vMc46pO=cyTF+JdQV|x*~h|67{@ht)}yKqO@j>!Q`XV(V=j-t)1bW&=UO6InCeQ zzM(8e?ZH%_5E!A z&+-F5EC_s{WXNZe^08MDhSC7TS>U5M%Y3|2`8Z*G9G^8lUOLNsv?(9wjE}Rk#>e%u z%*VCLhmL$?yizZgDfM+0>}uXD^YIkn1S>xm1QI6HqNouLKE`I5kKa%}&KMu3XN`{|v&_c<<)aSGI_4!9 z&O$x^*;(dexAM_$e6-CPANS2NAAQP4pYhQ%Yka(Mmic(K;P-g|^i$T$!gbi$3^Nlu zD=?e|JL{NbzHS8mp$p#u15@4`zCzi{)-SVhPb2&3zVGz|GMt3tNDrLW{;AIkR=#h( z!1uOqC~Y}!Fx!)~h2tLIx8wU@;(qig>qq|`c3cfFTwb8#sv&npfjcaUQ zbg?$4@|ldEliT&GMk*D)28rh~@CCe+@%7Ww@@4bkK8{_vlk{YK+5B&&r#EZ-_T3L_ z2t8p$SmEcSz7LmyAK;ygpVGAa9AxE*XKW6lLJ-WwWx3@PL?ELWJy6wBUksAD9rnaJ=dNhld!7t2Fyp!?s zyWq$B30eQ=5z?9Ue;zj2_-J~Y!Ny0^PKCGcenLa^>#)PpzsK`?NxU527v$$`R-cca zeLsOp0z5Xa3%pt%y}xMtnq$5&kLv4V=wD-xu;+6>5RQ@$-?`!aVoBn-=?`Ok2Ez0r!uCFipcS`Yk){n21J6ii# zj>{pB12N=TAx;r^!q9Q`XTC4r{TAr@gMUZ;JE`%QpGEp=c_H1)L{6@sY(4G}?RX}6 z`FTgT+C7aie%&Xs2h>WrCa8+#>T z;J^JMF?RF zzp+`C-`Cg7Tz{vtzgJet@8lHn`{=VIzb9u|et&U^@@uM+-}x!z_nv1-es7s&`5nGQ z`F->J`1S)m&dL1W&Syz}ch0i>e)1CK_wg$EVMH{U{C?zFlHcN4mS6D_<#((~ei(sG zCcov+lKj5$&Dm{#TQ5<5yQ}1f5#MC;`_A*9o%Z)*vn;>dCCcv&Rr13Kb29mT>RFQC z(OH(?XF4ve|FW`5ei+eCCcpPWe#57=f4_K-G}7{1?0C(`k+*J|eB9>a2*01n#~~OW z{1oK(pp|Fm)cE)#UCnWm=l5}2Htyi`c{c6n>+7?zPvPtTCiMFLU8x(oPlwz3D(m|t4&<}- z|7!_n`*Wczr&1pHe&j1LaHXM>MV&oUpUm5+Yog9G~6;N!!y%*O`=|FdCdqqEG{ zyH!84Z)ZO@%X~bje9XR`?VM#k?o~bxT79wgBJ*>Y$5KDjq|x%7D^>@@&rSKgtxT-S zGub}G?pfyJF2Vn7)R(oh%-7ATpAMC4=$$>ke8VjBu}Jxt{rXZr%Y4jHJ`S2bX0N_{ z<14e<-hUbRx1KgWPBEN?djHv3=HnBB|JkVbAD(5tKA`&PF#XJ4z5kV2=Hore$L!bp zM`xLjw<{k9O&_yY?|02IA3vsi%znMUdzSflt@4q`NC@Mu3)IUj_^&%=nUB?iKl5KU zp8M~3&dV~P^KzW?@&du*=aoDY=e#^m%lq$p&ddM)SD6>-RrA&FbL!>iGjYz#$1kef z|98#{G_yjyOq+z0oj-yZ7TdhF+j(sxv)2ZeF^j;i#ltI~tBIDLOr`Wvg#*9i@A`h!*JUsRPI z5{%PBk1_qtl0KCBC6$Cb`ZS#G`$pWCH+C4Q1+UGw`u+)=6NG()kmI-HdqnKV7ST`g zeIw83TV&(zn7%&X9|m@Q$B*)W4_D>LclF=F`?Rq~!*HyRp`9Z<@q5MrjR(JA40zrw zej?bt7kT^6Fxb6{ak^gklOdEQbVz2{3-bRg=(Bl8z}JgB!>(pcH=FzLUk$ovLM1O6e()$3*Y1o3C}^9I6lKPBZph}t1~c>=Xd z!pBHZcoelj;CI2gMPI9Veo4BH=b1pxe9!Yt0E6;$wVh|O(a$kS&Ldr{2h^v`{x&04 z;<33{9_Zsv*+Ays4X4@pj9r`$Z*0)8a*uj}@MwpI+yzNo@^@fS109I(vw&Q|k(^_o z{KxOXaoV_-?@ey#UqC`*Ps$&8@O?NW74uVlUSm&H{rpWivPI6{q`dw7l}6T|VD}Wt z_skYgeq{d~=@`;t)m|VsIcI_I%`ZakZIT3XJ1XVGbiogKyB((+u1W|06NbrmobH#Z z(!uX|y^GWBmvrILdXX&b2i{HiZK2-foSO;yZw6hFe>jQyX#OaSSbZ0JfJuO_?eIgQ zhspg=v+8{^KXe>;qjFF#@V!O)0I_xup(-feh= z86oE>KfmX4_@Va$zxm_T)_>AomY4aVp-TA&tMpWF@>vZ%9UV3O9AvnEgJukmb}^g< z`5c&K`8)#r`}Z0j1GC1*?pfyJe&yqY@o{|C_~@HuKHj8!oHIVo&Ke)Do@G966a2A1 zse6X}$&J(U^)|N8Q}$~f(D+<(zlMGemh6vaeZL2-ulRw@oeVcMFzg-G5a$-w$*zXEDxhi;&R?C<;3aHU+{CC;&e||r8_O@WdFJ1jnh3Q=|b;WEhua{ zqv3S@h3fNCa2|H0zd*V%Zjq*0+vP3SNq<55X_NOCHmE!%>n~LI<4`W_W82k2@925T z_1HOvN7>F#>@QIMll2!q_GQSUPRp`u|kY#qx%JK*vY0U*6hLz(0d? zVEURV$KC?NS!fSWfbQLjepbdUzXtr)&&s|Zw(;3y{RNzJ9@h)+Pu&PT9Xn(CvHo=5 z2Fj(kYu4oR^Rq0Uy};kM*Z3HiH9pc==Ho5O#|h)(_^k1Fr$e8O@8)qHK<=$Q zj|4tH06#`}ig|&3Q_l<3qg}Cf+0S2wpL>h6@s)8h{cad4C_ibV`C~s%w9)+ZDE;ch z_W6G(eXc*u2Y@4=kBZ-eE<=relJ=e9W;4jISo{mgK}Y?Tjc*R>U!I&{J1@ZV*?6L>?iD}e)ecF zdVU!g1-?K1XULCwt@IO)XL9m%e{y9^&=;3qjvkrL7M`2Te``#5Xi*@Lq$D8$3w( z=za|+^cSyvfff+Avt6KLnB{_x69UKmmz}GH-v`>P9G0KmJ7DLori~pI&+>hq$@>XD zf3Q{Xs~&n;9?Ee&{E_GZ=Nt4$RIH!TNIzjX(Q=A&?^XnU9s<%MALMmRj>eApLq8(s zZ$MzA>y-8QN3y+WUyBdqoYyk*qCqonhhIDhs%DBt9n z^-ts*emvRwM=zu-_9^le_Mh_g)NCEr^&xU>mUJk(xvyFQaeuXJ*f2n^-BJU-=)7neN))hcjX>-rV}59_i_%2=FiuCzd+;b zq58WA^|jX1H;ep%4^KEm{O$++KB!>#nWrtJYyK*xmvd3HoLsV!`E4FD9b~+plb%b2 zDS5(Crk`*9cAvNQdkwBgBj?<4k$ZGdgQLe4?a^5DoSC<@9KDGGE@~ z33`j0goX#}62R~GmFBPdUD~VE8$3B_?GVQ8MWISAelE(M=Lz0yUWR;D=50=so*`hP zpM|}H-v24zrH5g*pA+{3wUZucWI!jg{xn$G zyEN<_B43*u*DD@>gA}dabq>%)jA5dSO-4U6CA-P|i{PHr|(( zz#8Oz?R@HaHSHl?M|<#f*O(rxZ^!-^_62+Ts$69)_g*ReVYr_BEvLQud1D_C5Uz6b z!+W*dY@MlBL9Lf)d1CyKcP!s;wxb-%HC_1Qno;(xvAl)%8%(*T3x87K-XY3$^TLM| z_Iitc#?Q!`xID-^mhYFfJlaip;g1=9v;T#{xIAHq_Tv3j@pmd;=R24DJ?+){yVzbR zD)FaMuZ5o1$lKOOH)ve`s`aeb%}g5WVN~QE_w$htdT0{dy+_&J=CAx->NQ)hK4tZ4 zP{Ztd_Qw4Rm+X7|awGdyVd$i#Pb~cjgX!1&95mlA*gN!V7T=&@Y4mS3jOo4?bPtms z^auaW>gjT$|Mx}S-aZ%YzE#L8uBW-=Mnw=tNMATgy29vjEib2|UFd~$NWEA4Ks)!a+o0M>Ysi~Ll5UMKCym@!|J`ilqY5RZN@(nIf`z5)E6C!Z1td+>Gz<$1bK zLB8|okK%a-r_0Md_fKfInQp7REC{~0TIlo_{eDs_w{*4nlbZQTUuySc`Tgsu-M1dg zv$`Jxy9Pho)Sncn54$g_`rd5FK}3+3R2&%2ZtTEBiMq5UjuP<+|_f0=)%w|FsRdE72HFQkL^_8^!1Bkk=L zO_q$2+^j$FY}`LQDs~XdM^y8Se3$aJiz@e-{x0QvRWYI0^uysqvQ_G}m}1g;C;p0j z?$jW`eZtT<>b-{M^nF}=RE$^5>#4U&_;N{?w|ln3X4*;ior#@K4m(5%shwXQ*Q3*d zr}{gScs=*GB;Nh~boUCsR{h8s+Urj8;q98&FYlj*&5R$TJI=;|sF!%qPsPvt9KP^< zV(aaFF?XG&^LuSCR*qB3?+U9=HjgCzRPxbyPDA&b7kiIwEWe++Bb!_Ms1 z&YwrQl2!H#o>x80WVi7DcVDEuzb!s;#_yx7-}V3QXRe%|`r?a}@5e7jzUchOQ(C}q zOYL)1-}zd!rWjxJsohl0M`F6}Yhe{)uf2q!_xnJX)!+FxPXK#G%AAf~fUi^g&-vPS z>-P%5zSr4y9r0aEIa{YFM@%&-H<2F9Tf*McooMyM&Wz5*M%OaA2OjZGzxyTlX;1=w zR-&A(o}Yf*`Py#t0VoIQrz=O2Oj-^wqMW7El#}k3MDpa4f7dWv*QMdM1+UUDZK0pc z=-i~QlkOF)*JJF~WaXp0mrHs6-C)>ceC=R9@QOK1_M^E+GD5t=+HS z7%Yp96Qb%xjMej@$UhnM5` zgpTc3G|8CE8Q?+rb0Npa3Hv%^cAx7c{DLp%cjo$WrQT2Aba?&9+9MI3+wY%aUcuUx z3O{C7CDP}1jB*iEU0=FOs3jBYNn9T22j3sMi1Ny&kITvD`!1r~bfvN(^)=NW6?yRe zWcK+Nf_F0eL=CIfS1zGIz5mwTPPt82-~Iq}n>@1mwwd&Jy&GFfc>Y5S(eA6gVDe8M zw`bRz`xW>F=yS2@f7umv33@hJKdl$JMX!;6DF_Tb>ixq*xs|g z+INw5-DE&u9rCzF3Mro+mg zAb;~)nf$M*lK(YT^1qsNrwbTX%irbwblTw#=wXU>IM_W5+nXxoU21#0YMSzV-yHY? z=dK4IUxfncXpm-b?q~k4tH^Xa(E5*D~Hz>&MW@cbANJp1HTgrud{v0>)JJc zcwM6D(sgZye^A46%U;5(2QQ6)?Li%geg>q`wHu5;gE9YPBDi+%EL zY{=3Jl3hq|egg4FV9#4C_~1WVdEJKIH-;FQ{~_>tuzbTOvQvE%~rKcq_pbt=H0_R>rT* zldgGZjLt5G3#jL`z%cl|Ze}Nbu3u_)mEG$m`0=1TC}4Y`08r$yfq1V`FiG3Mg}nEA z-NyCj;Pt+Zjx}6ubkxh{9eG?X+w0dV9Q+eld2#)c-` zW_a7)r0KR7?$I#2SKHcwv_LrpYX{N-Cp?0+18KqfrPdClg*Pi6mv^4m9Z?<m3nuDgg&p6OX&D8PYn*oM8t zH+a9ntRHF9puwykY13YXx33)45Pk<5%KGDW-wVFGzaaG?KiBNS+k3Z{7M7pci`C1_ zURqdwW-pB_-{+mW8@{OY#`O>LRk9r(E18EZ>ycd%Fk@t`q z{37Sm!!Z3+u=@q&dqBk(n#^7rPZ-R6Y2$H&iBk6Y6Sn($(u^O{C+7lK{8nZ(3g?Jl^kURQ^9y^J z5bytXx!BR`3H!WcSW37-T;sU*<#iM^)(v5LS^Kh-@?aS+|eOW36$%FWD?aS+| zeL*FVCoH2~;qSQiC1>r+9M)&w_mb_4FnaQ`zXFf1Yp%EV#X0OarmO2H*Oq#dZ-a*J zSJK7;<<06cwZFaY$5@UOhZ3`VyY;o!cf5yuk9`sT_RSiR9-#cwd2L#buLETFXnwc; z7EVG6+}>8uaw_+Awre^0x#+!#T&SkZuVns2>N}z`e`0*d_YRsrZKD6p_Axb?e;%g2 zrcLI*Gyk(h%iF$kt%mR;c;os?50I`2{-mVI<=j}>f$!I<_!HKLia%lb6@TLOiE{3~ zZlXVFHh;2Pz7Ny!zsM~dq&~iTeu-K;vqo$)|2<~?jV%6(r5c~Dn+*{U#y97MPT#lX_kO8;ND|-AjByek(6OLh z^ey~JR@o_lexY9_ruEwQpTOd}B?DR?nBhn_CxJInv+2 zv)Jaz)2(JdPx8IDJ7dcTWBW{}{0xPS`l6NBTl=dcQkg zJD~4Fk>wU^uTs9oUZby*`6fTtAM^&wTbCLA@Q?DWxA(;>*pJI4Y)?Gj7+&XzwMq95}8A5*XI z-L3>VJs%Kg96pkpeGj|X>U}syJ+y8cU+&l)%&=JeEuO6ZZFH?SdW$*E%XmExhly{# z*^}D?2d6-!4==VCl z%#Mr?=wpxAkK2vx(;cUe%>P*WaOkwgFOzlF*#G#vYvzZH|B4^tc*E^E^FziD{Hn@l zDgFvQ43hcgcVm7|PT`L}b)(qT=t-q744Gbc6H)d2Qo7sxj*UAqzf;iSbuJlI$Lqh( zgS6HfeP$Q1Hz7y;Bf_GM)BL=%u?Qbjp5-?`QWU?9XUycAHYu2-chPU9Ye=Wl=l6wY z_h<@{N~fSf==V%`h1yiL?GJtzQ9ke2x{3;Iy`B!- z`wwA+a!zf$?S3e=@wn_aVY#Nq^m_IOa>*N6?nc_1&m&@gxAG&gkc`*oR$d>QwLjkO zqCco|-9tH|-s6G3R4+oV>P4{$KksCGF~{^?&%+4$Z@t<2dG|2g;-!{e>L=(5ht4WL z^X>h%PR65tW9g{%A>z#?te^S1zti-sFY$gY<Z;|J0;Oy~9AzjJYakN!@VB!R!w zP>29upyLal$9S=*Y^L+htDMt)Yt;U?)ZC_)lCSx)e8WJxU^%&Dv8BH%d7i*qYQA6Z zEzZ|`UhjDZ{kR`l=2I-)^K{?wmYP>3P4Yfp^R1*HA<_ZP$r}j-&#QDMD_`^WL_S}W zx8Kw+9*_<#PA=hhtXpdCNnW7wdsV*qnz=RDVTE*fpG%%&_%>_J1-@mP{)(FAmJT&K zm(am)sac})LHU|Lmv_X2+Ef;~<0;v9o@ExF^p>8h?~65BOjaJs$D1;*gO+n%i6E_~ z)r69bpXwnUvFB1j!?d0bHI$kS1~)>7=;?Y1bIDf~&e!~~-q)P3*{3u3e$IDk2g@lJ z=+9H56ZAkoxrB}~U-Lt1ugDLIJb#=XRXUgatd+M;+s=H=UY!R3K9rD4K9|K`E5Cpb zoFN{5)8*D{a;wPc^O~=(FuQ&Q*J2-=s%bIM1~KV z%_R?IF#JU>*^|MGBC!DA2A#jQU#CvkO%EK}kH{ro(e?v! zY?gevWQ!uY7=3?_q|D?X^r434lDo&{kM#;aHvQgjq5%lZ|L*hU}P35|T_3l8N#^-?QAh^{NWG z74njqXWi0=A_Db;=t`T3?^?ke8 zOZ^M>9X8NcRm`EDZozqm_X-626wo*58ARyT*HoUJ3eTn9&I#fN7IA*2m+n5)N}<<6 zdNPrIVt!V3USZ5eMzDNbx;{x~b{qW7`7Y)|(l5rVwn+I#Y-K+hkaD~I+mTY=ZvS>9 z5g-?-KE)%6Ar7-g<4p0Hf8ufV$Seb*Z6e2rY(89^MJb4m+xN%l31J}+X9Y2G=LTf_ z;?5}yNIjW8#Un42^p3ALYFO!wyjsIjo_OT-95y)@M)tTcu}$~M@K@>$eqrQ|@OV81 z^%<|)&hiS6ht(svh{3%lW9wx{-VfX(@^5+@(}@OlYj~Z8cWGG0ThYJ{4d2A^tEb(| zKE^wcDD(}S8-LgzhMv{m%W_5-7V4O|YVXN?Cnto7A+K*J(fdjC+v!hhVjPr~jVq46d8*t%fk-ow#y zx%ZB>-0q#4=ak-N_UXF>?EB{gc2K$OePNVq5wU{y^yoC$SrR-sv`f$R+I#bW3kJs$ zT*_tr7~;nz)}cnxl}0<~W8*92_hqW+c(%x|qCX(M%&zkJwP|&nq18i0e?a(U{lT<^ zU8VT4{$QHgRf5A={h?Kr^#>{K4;JZpv@7&H+O>Kft#jl7PJfM_M_aW<6P^xS0&0fMf*FVQ`T=>qvt2m zk1!o~f4glN^IaGr`eu3vJA?UNx1M)N_9IC>Lp^V!{b|1+8Aj>NzSr(Y?iYR@SipRk zeRKQBD>=IMISjq8ZTYx#eUi@aM>gz3KO%OkvL8vb?^oK7pn6Gm?%dn9#iA$F=HOx- zKe>0oMruDYP3kuusr|?_v-{GIm|R?c@}%fnG*9Wi>T_?Z&#wPc`|kQTwePO~Q~U1v z$D5cDleg=SMBOXTy^(Q&ewf`qdi~N?=A+avZPD;9u7}dOw;dYZ#PROj8#Tj;1o@xT zFP(naeo5M|*)_XY=f*$(WBVm-?_`%3k-T9)J~#E~^h;9{{n8s=kA7(p*SFs<{h=uc zCeyn96_h{P*OlbkelYe~79{9gLQ8Xbwd-Me1dm&CX{;6jP6Wv1(z2eLZx+SRrFH%a zWha+!Cc@;3GuR8ljLc^!?wR;=eqM*nde25Cox{WrJel{12u9XH3*at?HeWQCfUJZJ|QLIpgUh_ z;{@A(&9_h`kPB&m2Rgaqq~FT7(4c|CGXKrDkP>iM?rqyRH9t`dDBdA~vvsXf`v2r| zmD2x2!;&s{+Vu{hfD88P8PbYw+J373G}4>E>K7PS-ZKF!(n=|=8IJrv;*m1a%qus zzWH{B=hBVr+x~dId5whmFX@+_@1lJshLrfn>JaD}|D!Z4eCN`lSJ9+5GCXR&k$rkc zP4uBz=3nt_ZBNZtYrM86nzx{2`HJ#>U-So!hFqaZ@>$*V8V+|iQ9^R1cD0GamFsHyfSrCFqEJEnO}x=eeWidz7yBZ_OXju#`7y z77JtV97N6U(s*sJ#23nId=;BHn%_0e0={qq^ASzbahAP5r{|R8gv^iUN%XB`Pek7$XHP`m{BieYn%}wo zWGZh5DKQR#_KvXozzD><`E4a5dOxzU&B(L@fcVw*oAEzZ|Bg9vl#5& z%cc8%F9U-4=dgFjd-3~)7Y|+=>pMMw|Jjlg9|!#TLnH6D`!#@n^8Ar(v`%{WYwoi3 zCcxkM*yQ&B|4ozb|E0|zqCTxBJOAIO^=Rk+`&2LN{C^)Pko@&sBs#aleA;?qgvaeU zelM4g-f7nGa~d{!sux`xP4rZ6Y(Lr79c;hZ#&^2^>ed~knN#|GBF}!IhjXqp4WjQ5 zY_5RsW_T~d(SKwqiQPxAdkc2I!JiLq<#eJSKAi7g4`{x1^xix4RjQfa0a-+0%=76V zkNW<_T4pm2NiP8QF}9d(0d)x^W}3j+6git zm#eRAC%^}ttFn}i(%*Db&)RN%&kE&Qzw-85khUkg{LQiMivfOncKuqwZ@!}^YwrXB zepA=Yf`4Q7j(7|(gf2=BzEE=HHz!eVfFmAwh`%sPa#>cA6ZnjE-QQo|$GL){>L2EJ zTN2~pai^5-Puco$SMynviqeV4=YA>6AUBK#ROC8|PL}-AxOW)9%-33)^4R_&`25Z3 z2vfl|zL|#DRv$J#v3zZPI~pbBLi$r$hlW3#dbC-E@;Jdlvj>d7TM zq`TP*N29q|biP^i#`v~%T;NZndbE6!{$SEKdg&wEceU~~OaAt5z1_>t(L5b4()HC+ zyvQM!7KOKaB<}tLl|M`Az&|j-{|K}X?N_7a1SE&^(A2CB#Zx5g?)&RK_fov(SC`1I zOVUA~Tj{5t-yi?Y%Wq5vBSxddj+ne0{U)LFYQBT;bILDLeqgV;T-q*=#{28vBl=eF zCU18xz{WKZ37TAZyeL%kw2Tk29)}orp0$tBO7HZFxh%aCuj4aU4&A?S@5F2RYI6TF z@rnGVQWn^cf*f+k!rQfc@|qAxb@}}K+4^Nuyf7e59!dp?k4_=QcU{(h5WF0 z7wkNHv75;-{&{3y!onJzGHzfT=(oh%D5C^VzvFmCWar54kXfkA`vE+;ZahF-%bKw zK=6yn?o;PTEe;t6X9k_RqP#@nW(b_q+Sl`jwDdbD~e75F?K@quVgYv2Uo8z+!r6c(& zyhvjO4jaGS5=Oq$>8IU8DA7ys?csj`e6E!A@qLni1)nn|-t^7ZJHp}Gug?+sVM_ap zxkAVK;qW-=7##n~H~9T6JpdkZuL8XfIisDV7jQOCMHnDkpO5BnbYS1nv3pyfcO2QT zP;CjFOJ_t|Kd+Ymk0}3~;#<3j@0IeD@)bR?dq2fq$=~7Em+%o|}4d9_%w@XD}XtU4$JEkKuc!SYI5B{2m;P{Ftx*uZPy1(PDbi zujhTLFnt9l4AYyqUaY@CzyGwhJs^M%x_J98O;36x-y7&jpDy=P(pU36j4*vS=jYRT zOA0-TIM6wXerAG)8PG%f3TUBW`fScEOkd0Wg`fU)iS*ErOz;j(e*#;kFnuQXbYc1$ zrthc!RU-WqPJfrCe=VQe4vBvn%DVm*<-a76PWXO{rfcLcp@iuxSuTElr|BF9h$t^C zFMTJT(}7O{QF&Jds6s#8cN6j+#p!O-bko=phv}7k|Hn_)pWt&Mr(2=v=CP&q@o!Az z1IwNXx)gsduN(OI^Q)HUI>z_$ewCmr<-Vo@@ACHYOkoO|>0 zdoYn7v<&BiHq0pL8`{rzCxia{3O*t)eJ1Fri2sxqU#iFRD)2TZ$|LnA9kb8xumm1@ z-VBcl%Jtx@3A`r8D<2O+KW8NHL_b?A_#2m~KbVjVpH42%cWHv2;F0kn=a=LB1UDg>ofiEK>MkD;I6n});(Pp)yGue&;AND~V;a|o- zd(tPW-JHR86L?Ys98Gu&6mPWJ$urqb0#Aq3h$p;xj2EV}Y8TIAy9hkUOC908fq#bS zQ`8R5W;+Nx8QF3);h9`p+3q18^{I~HXYkK3-NJSb@#s&~QT#Oi33$nhfKQrClLH)j zq>kXH@z1V_B2~VBY_U{6dxx~UN#ZlX6pjU**LZk#KL&9059)~i1pWy)siZlAV-;8U zkr@aF2`;4pKJ0-yg3AOQaJ1JFTuKADU~mlKOKyP6NZsJVHQ>6Wgb2cy+6Nr^td8Kq z9okbHnG$!dmhikG4B-)g9MZ#ns-yEV^2^#`#XVulY$~Dbq;!xl^10!K@_h`z5f41X zFQ=mwwytL5DXe>fZ#(y6>(vOu*}9h1XO7;906yqpycy|+NOTsXm)`LwB?ew{yc>(! z2e_|~_)H+@5~4dqs?nRXOenvhRs2XMmihH<94@R;f3v^~y@D4nl5}y0(21uKgXHX7 zKlX6oVsBoA{B1v?*8B+Lchpe6S@Ln~!u_Bo{q_Np1LXWUQW(gkpBj*j`)!>no`Tvy ze(X8>YV#(W-$rj1yhztOZQt$uYo%PpDbP z+drSJ>yCLw3mTNJ&10>eZN1Fa8QSgszZ#29@{yC3BUdk0EFLTMVDHtOJWKci-M^*< z3e#`w`)o<{Zwsl4?Y(KI|JwMBAJBOn89LjaviUUN;{or|a!Iz_9`G~yo=zv#AKd)Lz1T_(7N z^NE{OZu;IC#$j-_e_`__tOGM$#kcaqp6v3*E0D*BA&-8c1Ah43v9%I5`qu7&znbs? zCsMpWiTRbfUOR_&@@VOWpzpmD33)(rNdIN}K$ET8=7viFfQNYC0Uvl@A(L+H%O_yhZ zZ|muPexE{q-ApbpJK^m5(JJTJLf_B#!+ySMCtNvnFyYFnaxcXv%4zoNFy;K9pI^W1 zZ@71UrU`$({n(eVAFrVy1nkP51pG1T2La!afIou%QQMo1dvi3NgtL9Z9IYovSoABG zmVO>`V)#U9|G7HpK%G6*cY&ZUA0?8;H_{O+WLM-qhqH64H)t1IDc)~a%OMvLXHczO z0U!C?NbSn)k9h6e;>VsQ?T*l0zhvu-#$PpldI{g>XA$w^pPvA0hzB0{xXN$eBDT`F zBAX>FlJ8n6P@HYmupq|SsT?khl=fZOe{-~xr@cF4_xhrV5}&IhhRA`R`6N?+zkMFT zU3pdSt-p-sXuh@&IY;=h_vNEG!mm4DH785dNS=1DYYqn~yqotMqB&Yld;e#Sma|dM zd(9F3v3pywo)^sN`DU#5UO^=NcTN{kINyc8G~P;`%=S8$l5ujhe6hf7|GjG&hfVJw zkLgr@(6bE`6D?n(_|k#dJ|*(S48zYClF4`BFY-M>^ObROw7di0(!PJ!0uKB6Hfz4i zD5k`x*jux2_Fh<|?cGoRT1`)^2L-i1W& zKTaRC9hzMa^?qxZx`^AY|K4|&=oYurA96SzznAh$wm;+>zFdMMJV5dP4noveZ#0CdlXqefLSE4^(eyLo4mK;`pHnUtS^{2O@enfvnKY(AZ zKca8(#!Z|q-ni1y-E(%Op855T`H`Kgt)_2~zprmw&elleC;pzCAJ| zefwL^KNEb6{Z~?7c%Rqw6?!r0u=Tao$+f(_OFjDKmim(VsH`uk-+1E|rf2OQctJHg z(nWA`(9dz?`*!4Dwfgn&MV}XQKGo_MwdvRItQz$zdhqJ&ckz(wcO&yn^E&qZcG|&w zA7D7z_hN)s9ZZz7)L!^`q4ccM!Oq6)3TibJk7K-yeE*#KW60}B{Ww(L zPvr_$UuTlS^Cqu3OO|Cx6?YY#a&!^P?28Ul>|I)9- z`aK#yU6xAh>=MbX%r5D>^1fb3dmX&KY#Wlke1`eY1fQrWZ|P@B@?KCw-cm0^mG>6T z*O!mTwNww~a^1@KHh%ZhiCjzdQC@$w>tkG^K8DgS`}I_-{pN>MAMe!qxUWJki@ z3`f7Y2H|7SZ=xJdKP&o8>F4}%OTW2Y`0XdA$e|s>epTx?FNZvy7CRk1BYI``?p{g1 zc@f#OlAS2k|4{o)zufTymF1LnIQVi-Kg#87rEumEfiRNX`-EQtd$Z)-R-BQP(nt`*bp(L;ALXVvJtYjn+YH0`7h?4PwYe%crvM z_5tkvPZLJlh|jVgH?il|onJ}$e)TOWUoVj=&6`KFoN}pAoI$j_gZ+}67I4@v-;1C_ zCdM%b33Pu^?#%&J}Y!^&i^^!KPX}3i<&{Y+bOT8ua_gD zJ5j4-=i2zVFZG*pPtdnNyFlkDMswezw0#5He+Aunq?$X)ZW1e1_FZ+>#|ImCxSsY7xQOd*!jd$50qMi}AoO zks|z+%%8oh-9p4C0^Yxd;eNetBR-=68Lv3K(s!(UJd`JTb|0s=^O&{oNl3wK-;+>z z5MNp1%h#g^k&o6h`UR@4Lv|n2-E*nAuc7lM(-Wc(iTU*JLA~@5kR0ScK<~Fi_b=vf z)VE0dn)^4eyj<&!ak*B3zTG3&ea*Owi&I)x7xkfbu}tc55bg4|QLn6B{;}oQw9DtH zieF8;JPq|fh<4fjf4N;wMSTvUU7|dHigtMl@;Qd>ay072YnNyIiP~lQ7?o91&k0c)P8M=_G{ZE9rih9`Td&8(Y}`gJ9jDlZ~Zs=S5Wl( z*R4ozcGK%$@1l0>rvpcRe~Nw?_7z1yK5s?4&+lNyqP4={;rioENU!~@>zD83N`(WG2 zDMM^0LA)l z*F@3x9y)jRv*YMoc-^?*dG;p+&#}Ka_%Z2EPu<@JJ%k$8U7Wg+e4J;SK8%c-I@lx3 zlsK4?aQXYI^EU3x3OVt_yz2{?6bRuVrPP5AJu^adIKcW zFH=f~d`EG<`rVtl*9PCX44i1o3-<=Gz$T=X93@Kjd`# zgCA(RbL-3V6M4a6LrxQdJzTzPgTLqU{XY1DmhanM`H)}8`SJ9Q(w!1~iRQ#TbvFiI zAU~`-F7-Rj@9N{r^OJiIzeje2e{S$C=5KHCO~r3c$OB6P_MMxay4k@`82_8Wi;Dk) zM0up%ex~&22fMi(KM0Cij_mKM$?eAue;5fetovT@4~jqI&&v6yVL0*gUB!Q6@DE(x zp9Oo!haP+^QC_Lf7aabJkX>CvYCrkFe>9=LIH8jXzTxoqad}^p`VTGdmlE=k`umE* z|25+`q<*FNeZ$N7N6(uH{(=NVJ7%%rF(VoDX!Oz!KbyJ zZb|5;$o;Pr|H|NtjK3lHlH#Wm^@{OZCU{!$7X_bX{B?YO8};=852osyFv1^afM@Oz?=}UlRNy<8KLeDgVDp;EUe8 zTk+QgKVd!l>)<=2?%?NJ2|dG!tW2;;@$U$}%ktk5d{5;cChAq%?VXDMaPVJ@|C!)7 zivP!io}JG0-=g@B2RG3#@Nsj350U$N#oH46o6_6r=?Ux&Zf0bHwTibbIG}j1Pvkq9 z@or^29a(CRpm?=O*+9N5|}568PKV zoySHwvmBpu=^yjb+r2=fds9NcnmFB?T)OUren@**=;A+@h!=gE@8W-%keifyu8Uuj zkekR|?j?c0`3bp+9hvRYpO=u^bc(U>-XQ&AuiTJ}qz9Jh(a#g{(jH6ql6F+>AL($P zroY{jpMMXjqiVWlmu^y`+*l&@?5|6?vEwpF7;Bnm-M{^ zeL9{@`6Cyhe?meoVi(A0X#5uv@gg^BOd9{zM7*>IssN2Y*^?XU1yfSY>*oEgwBC+# z+>y{P$w$sJBmV1&c-*YCdq0S8O~i|whmv?>?wsoY5hI6nEZ#TnlQ8&% z#R~O4U~!wkvHh}v%7gjv*S+uSU>{~Cq2OL^);nK|d%hiB7<6~gK-8U6)^i&6{cPL+ zE`1+F*Vp?ub9wEYkbURG&Lc$qTQy$RuOQE@#1HtQD&TgW`+D_r{lEiXi%C)4{t<=Y z?0YD2Hml)Y$;Zz1>w1};>yPyNH*t2B;>-R~obAx?8cn}|!`*APuwNLth<*P)007DR zbzSHT$>F=EJl~{q@jTy5O_KR$>L!_QroJKb&D1-1zFE?@y_`SlZ}_ZwAx3{Q!Dk5q zy2s1BGc{f2ovBqa?@WD5=AEez^1QPey_K_ldcXj^CYgVx-XQbO)Lk55G9OJ9Wj>m^gXg2w=*&9Dr}LE3nIQAh)HO0MO}#FKd1&$)b)L`vyEJ{X%vV$E zWWJi};Q4B`^aso8;~q_ak<43D$E7fDt(Iyf!s4g?VkYbPLMzTkg{F{5EwN z&u^=yE0fE0E*;NvNuM##t(I;>nI2s2((!yZ^(LP0R!g_NOrDoJ6Oi&1)6T9%!5;p^E|j(x^ZRcW@);cWL}(ljOWGG z(k&<}-!x5kqs)&}kMjJuTDm=D_1C89mdiXj^)SzqtEF36rZ4g#i!ilJ=F6!EdA?jN z-MF%JvOX53{zB%>srT@_xmvniW$9#HEKFT5^JlVOm_Jub*IHISSr-daOJp9M`ZUj@ ztEJmemQL2i!qg)&pHBTd&!?-VE7KPqmXN+YB=hRjcX(c1E#3CAdY5&vFttnO*QuZL z{JL7Yy=C?OE2t;sx0~nL)$m)(`1?=AFYstHT+Fw{On`=YIxhr z_>gt6YIu9g^8aQ{dI!tseYGZDYZ-t4ToZ45S^a;hCfOUdAF3& z+f|d^@G^QIuZg#~4DTZ~@phHT@7bDo`^)O%$(ne>%kVx}6K_^oeLPVUZ&z749<7PD zxJ-VVYvK(r!+S?fyzOOp_twPQR3^W^ns~d)W%<$s zy$0SE56{*Kz#p95@3ed2fMZ_m?uAckWxS{<%f7!}z~@cpGFax}|5aLVv+s7rv!9cB zvED0>?Yl8eG7*oi)bCW-_hzot^E>)InlRPH8Q6Kws1@7=K@0JT8ZO??!Jq+~VC15$ zG7pB9Ohx!<$sbEk;5S|+>m~Nik-aa}(2UenZc*2uxQv68Uhq%eBJ+4Ve}(fzoPV9* z*?r5fPSz8RZgdB@AU>p-1}9g1KNGt!6hBYO6@}t2o$=o+w`iWqDHMO{3|%jx^%_oh zq3C54iof(C`Cby%eNf)xjuScL((-*Vdw(WBs)^I*=pH_te_m-n*0scZbG^otm%R^e z_nmPr9_z5`dQYBC6++I|%WIvVIb1%Qi6+*We7acYA$I88rj$F{wx8v4^1MAFAAN5n zdUChu*-0X&c#_C5K1(>X_qz_4|C%9{QxwiGCnOMySPv`Dduo&u=_||mmt3w)AnUxP z^)zWGrS&#F@Aj0GH|iI8xOTHm+ClWBv=6L{y@zBgqZi6|+X0bhQjTY-94DC^f6sWf zPU@dm-%Ism??Bo4D%2kw*5zBtN4~|0^naeg97g>XyCjU+4RXwpCc*jZolM`O^9a$g z?^D=!F+l$WN(w$8&sc^@uAIg<>>SoX3;JFL*3CTEVRjLCTWEvM>|;`YkY9EFMQ-k0 zEwgv_K9JpyaNo(3+|4dmE7z~7Z6F@3Cf5(``x{n1wEtehGyHa$7IPRmbt;`4tuMma zcWV6d9YB4Oyy5J-EGX|gCYR`1`EvU1l<{ApFZ)bUzvvgz<4H7oU&ybweow|;tn19#XR8uk~)c^p!4eoi0{G2 zh{zRt*>idW{n+D;_mKXdCXl@%_`U@E2Lvxpk@WU%ntjJ`@bx0&oahdv(=R^SN3D8U zJfwQT?iTD#sa}?%Ui4hNUoVfNUZ@{|vvzCk8glpvI`ev0cGWdsoivOefiJz;hYVQ+uD? zy*EBn2v|Kq9|6I*EvqT z`1a9vxpbiC+XsYE-tUqi=)2{N7mtwqq9(WfzfzF+#5!ss(Ne4Og9m7}QRkZ7CKC*~s%Nc60ftNlh650!5O|M2?@08o$c z?R`h9*G`4!XkP>wn|*B1c}#v3pjd}JCqRL1pBwW6`sePC#v6sN_O(og;Yim>dIAW2 z2bv?=L$n&Ab0vG+-Zs2JD~Uj;@2`h4KdV|VEzk<|GwkucItZiw;fLD)A`DktDZW0h z>hAyL=$$&?BR}*H(G>bYF6v_Mh;(iIWOVGDN4`n)#rEm*O`8Lv4JNqlu%ioCuJU48gq{ATqa?qQybYOs-y~o+9^m4<# z!|>u7_E^_I+U}3G*G#up(utbz`(#-!UHpLRX>YB3zsBj~5xZEfwjN;P6U^IvdhIpo zd|BvdJry6}V9+p0{QO+;V_m1P@5Y$@$v0`du6xvKm!@ZE&sj=>ehNj0KG4!h)%Oa4 zhj_jZ{2&F$*?YI~NYOvD5B42F>mTE+2sX}gGWR|issl0YF!bcCzwFe0HCHF=_4eK% zai(7SP)Mc-G6emi-sEH4J#%OxJ=Y1RCYFUmiL^ICph`{3B7o%$SGctWq^~Hz5{IKiq&4lEt1aW8?3&Rfoq@IUTeSC`%Wfc z=Y>p9kS`?O-ip5@Pw~9@*(Qej?HzWzlkn&|2G7qp{b)_EcGKE@v{l+cE`6ua@!CJ+ zXyt5|ZQ3gJ{x(h*4Q%K7Lw}5%Y<}(LeIQ28?qORyj~DLdboQ>L=|`;Jla3z{y3v62 z&n8btSG$&YmBbg{EBQ1i-1NxWd4tX?Oul-pi^cbt#3^{}EJk$r{e z$pd1SpV}n$;36&OlhVJ%7l|T8PfC5o7fF8c43U%FcQiW@&&V=DgLKnD{HVy!#>X&c z3zFj#TJi*ZSpxo5g}0us%0-l+5C5X@js*Ol6uvkC-=pv~3HaYDd{YAcIfZXcz>5ms zm4JUr;m;-DpHTSz1pIFm9wf^9afOddz;`HoY6AXYg&$0;cYH|UBNO>PLvUL!_t%rV zX-rzYMC*07=z)z(Fpq}@MOWy)Kx41y%N6!s#Rk!vHnkf~qCck3_FenfzGJTAt1zYQ zOy9M`{0}Y~*vj;ZQzYC%RX>q_LO(uF4p8#a?W6yK5o}%&>GwE62mD&UV0=Jt=6(h9 zo=#3@{hzHjp&d3+jO8EJlTZ-8i@hMaTiXE$0p2TmoxdNc=>3!Xvg{Y~I`7bNK%DxW z$mfb*h(G7Y;!pbz_K`2j2RlKZgFS?PoWpf8j?UG|d1W^aeRd6}bM?}%avv-CM`J{; zVZ8{{=8w0o)O|#vPgz!#&nYY)>FA^FLKpl@1wInNxA8%@hPB=xmak7BySZwwlyB8@ z;&0r;e(Bt(*j+bXH+!n*bKUpG?H%MkVt|~@@7?#t?K|~-YM*u8*zZSnVEnGBYAIcpDq<>>(#a%6zlf~BK`hoG*#%@yF$hf*q16R2Ohs67fsBvAM1KP)-nD1%#F=07US39Ws)`Lj|sdXU@hL^=0SIZ;18ACZ11Cz_^&_Y4wTqZnPLDAIi^{kL|ZQK99gpZdmpFG5$ciI{NvG9RBCXqnw{(EsrQG z`Pse<`VBy$jKFi52^1nbLwdsUUnKBx)Xe>Qjxt%sJ9&nz=SCAb7<5gP@8Q}y?t~VB z+j!LG8SOKnT{7>0pBpY=>mQJxPHhm~JGqXOo4Tfm?rp=x(+{!@il=5JoE7-_GlWiV zSn0l!&$qS9sEd=ibtU_5QrxBGt>K=SjHXO7U&JXmW(zM*WyQcl*hsL=LuY6;HFUl*`(&eODr$CjFz;pUKCS zqgnEgNc?bSkF8$-AFrXUbHg`0z+a>bOAfA;IrQ(jCBLKD&hLhW=|#*>nBFSmktPoE z{m)(FNvYLAu2=!g1fOF_={uUI>G$1M>-XK>U-2EyQ(sq3XExLMgwnC^XwKm8mWAm& zuZdYbp+ER!V|jX1CB5gZ>Fqn3)Ajprw^e*cbMDFI>9I1M37*yTjeO%LOy5%R9nH&L zTb^zzryJ08N;2K;mnCFDAv)4f~syPo?mAODky^2}iTO^SaV_eVbd$Gvi({z(l><+Pijhofid5@RRE~Y2rOr#@Gl%0>r3QJtCwx8teS>t}Di!iA&<+oS! z(ee0U&XH}ReC>OLzPt}4>Jd9DnLy4@`gq?~E&^w9gNeAoW zy(J;P^B8X;=WBYGtY_%k{xW^jc?7}fAJxCk$8=uh>n-Zr^aFIZmg𝔉jgsxry~D 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�oOBo;W|B|35>si;j_!qtQWb3X- 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

#;uie(B~B}cuK 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 Date: Thu, 12 Jun 2025 00:00:00 -0700 Subject: [PATCH 2/8] Start on filling orders --- tests/autocrat/integration/streamflow.test.ts | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/tests/autocrat/integration/streamflow.test.ts b/tests/autocrat/integration/streamflow.test.ts index 30b25be95..abbdf5cc1 100644 --- a/tests/autocrat/integration/streamflow.test.ts +++ b/tests/autocrat/integration/streamflow.test.ts @@ -19,6 +19,7 @@ import { DAY_IN_SLOTS, expectError, toBN } from "../../utils.js"; import { BN } from "bn.js"; import { StreamflowEscrow, IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.js"; +import { getAssociatedTokenAddressSync } from "@solana/spl-token"; // import { IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.json"; @@ -45,7 +46,7 @@ export const deriveExecutionRecordPDA = ( nonce: number, ): anchor.web3.PublicKey => { return anchor.web3.PublicKey.findProgramAddressSync( - [EXECUTION_RECORD_PREFIX, order.toBuffer(), executor.toBuffer(), new anchor.BN(nonce).toArrayLike(Buffer, 'le', 4)], + [EXECUTION_RECORD_PREFIX, order.toBuffer(), executor.toBuffer(), new BN(nonce).toArrayLike(Buffer, 'le', 4)], programId, )[0]; }; @@ -132,6 +133,40 @@ export default async function() { }) .rpc(); + const fillNonce = 0; + const fromKey = getAssociatedTokenAddressSync(USDC, authority, true); + const toBaseKey = getAssociatedTokenAddressSync(META, authority, true); + const toQuoteKey = getAssociatedTokenAddressSync(USDC, authority, true); + const contractKeypair = Keypair.generate(); + const contractKey = contractKeypair.publicKey; + const escrowKey = deriveEscrowPDA(STREAMFLOW_ESCROW_PROGRAM_ID, contractKey); + const recordKey = deriveExecutionRecordPDA(STREAMFLOW_ESCROW_PROGRAM_ID, orderKey, authority, fillNonce); + + console.log('Filling order vested:', recordKey.toBase58()); + await escrow.methods + .fillOrderVested(fillNonce, amount, price, false) + .accounts({ + common: { + executor: authority, + from: fromKey, + toBase: toBaseKey, + order: orderKey, + toQuote: toQuoteKey, + baseTokenProgram: token.TOKEN_PROGRAM_ID, + quotaTokenProgram: token.TOKEN_PROGRAM_ID, + vault: vaultKey, + creator: authority, + baseMint: META, + quoteMint: USDC, + }, + streamMetadata: contractKey, + escrowTokens: escrowKey, + + }) + .accounts({ executionRecord: recordKey, streamflowProgram: STREAMFLOW_ESCROW_PROGRAM_ID }) + .signers([contractKeypair]) + .rpc(); + // let dao = await autocratClient.initializeDao(META, 400, 5, 5000, USDC, undefined, new BN(DAY_IN_SLOTS.toString())); From e621b9ef467dfa7fa8ce9f9a1ba8b514430f8587 Mon Sep 17 00:00:00 2001 From: metaproph3t Date: Sat, 14 Jun 2025 00:00:00 -0700 Subject: [PATCH 3/8] Add more stuff, still not working --- sdk/src/v0.4/types/futarchy_amm.ts | 23 + .../v0.4/types/shared_liquidity_manager.ts | 659 ++++++++++++++++++ tests/autocrat/integration/streamflow.test.ts | 59 +- tests/fixtures/fee-oracle | Bin 0 -> 10000 bytes tests/fixtures/streamflow_vesting.so | Bin 0 -> 1096864 bytes tests/fixtures/withdrawor | 0 tests/main.test.ts | 27 +- 7 files changed, 748 insertions(+), 20 deletions(-) create mode 100644 sdk/src/v0.4/types/futarchy_amm.ts create mode 100644 sdk/src/v0.4/types/shared_liquidity_manager.ts create mode 100644 tests/fixtures/fee-oracle create mode 100644 tests/fixtures/streamflow_vesting.so create mode 100644 tests/fixtures/withdrawor diff --git a/sdk/src/v0.4/types/futarchy_amm.ts b/sdk/src/v0.4/types/futarchy_amm.ts new file mode 100644 index 000000000..b839c0906 --- /dev/null +++ b/sdk/src/v0.4/types/futarchy_amm.ts @@ -0,0 +1,23 @@ +export type FutarchyAmm = { + version: "0.1.0"; + name: "futarchy_amm"; + instructions: [ + { + name: "initialize"; + accounts: []; + args: []; + } + ]; +}; + +export const IDL: FutarchyAmm = { + version: "0.1.0", + name: "futarchy_amm", + instructions: [ + { + name: "initialize", + accounts: [], + args: [], + }, + ], +}; diff --git a/sdk/src/v0.4/types/shared_liquidity_manager.ts b/sdk/src/v0.4/types/shared_liquidity_manager.ts new file mode 100644 index 000000000..db77d8152 --- /dev/null +++ b/sdk/src/v0.4/types/shared_liquidity_manager.ts @@ -0,0 +1,659 @@ +export type SharedLiquidityManager = { + version: "0.1.0"; + name: "shared_liquidity_manager"; + instructions: [ + { + name: "initializePool"; + accounts: [ + { + name: "pool"; + isMut: true; + isSigner: false; + }, + { + name: "spotPoolState"; + isMut: false; + isSigner: false; + }, + { + name: "dao"; + isMut: false; + isSigner: false; + }, + { + name: "payer"; + isMut: true; + isSigner: true; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + { + name: "eventAuthority"; + isMut: false; + isSigner: false; + }, + { + name: "program"; + isMut: false; + isSigner: false; + } + ]; + args: []; + }, + { + name: "deposit"; + accounts: [ + { + name: "pool"; + isMut: true; + isSigner: false; + }, + { + name: "spotPoolState"; + isMut: true; + isSigner: false; + }, + { + name: "dao"; + isMut: false; + isSigner: false; + }, + { + name: "userTokenA"; + isMut: true; + isSigner: false; + docs: ["The user's token accounts for the pool tokens"]; + }, + { + name: "userTokenB"; + isMut: true; + isSigner: false; + }, + { + name: "token0Vault"; + isMut: true; + isSigner: false; + docs: ["The pool's token accounts"]; + }, + { + name: "token1Vault"; + isMut: true; + isSigner: false; + }, + { + name: "vault0Mint"; + isMut: false; + isSigner: false; + docs: ["The vault mints"]; + }, + { + name: "vault1Mint"; + isMut: false; + isSigner: false; + }, + { + name: "lpMint"; + isMut: true; + isSigner: false; + docs: ["The LP token mint and destination"]; + }, + { + name: "userLpToken"; + isMut: true; + isSigner: false; + }, + { + name: "position"; + isMut: true; + isSigner: false; + docs: ["The user's liquidity position"]; + }, + { + name: "user"; + isMut: true; + isSigner: true; + }, + { + name: "raydiumAuthority"; + isMut: false; + isSigner: false; + }, + { + name: "tokenProgram"; + isMut: false; + isSigner: false; + }, + { + name: "tokenProgram2022"; + isMut: false; + isSigner: false; + }, + { + name: "cpSwapProgram"; + isMut: false; + isSigner: false; + }, + { + name: "systemProgram"; + isMut: false; + isSigner: false; + }, + { + name: "eventAuthority"; + isMut: false; + isSigner: false; + }, + { + name: "program"; + isMut: false; + isSigner: false; + } + ]; + args: [ + { + name: "args"; + type: { + defined: "DepositArgs"; + }; + } + ]; + }, + { + name: "withdraw"; + accounts: [ + { + name: "pool"; + isMut: true; + isSigner: false; + }, + { + name: "eventAuthority"; + isMut: false; + isSigner: false; + }, + { + name: "program"; + isMut: false; + isSigner: false; + } + ]; + args: []; + }, + { + name: "initializeProposalWithLiquidity"; + accounts: [ + { + name: "pool"; + isMut: true; + isSigner: false; + }, + { + name: "eventAuthority"; + isMut: false; + isSigner: false; + }, + { + name: "program"; + isMut: false; + isSigner: false; + } + ]; + args: []; + }, + { + name: "removeProposalLiquidity"; + accounts: [ + { + name: "pool"; + isMut: true; + isSigner: false; + }, + { + name: "eventAuthority"; + isMut: false; + isSigner: false; + }, + { + name: "program"; + isMut: false; + isSigner: false; + } + ]; + args: []; + } + ]; + accounts: [ + { + name: "liquidityPosition"; + type: { + kind: "struct"; + fields: [ + { + name: "owner"; + docs: ["The owner of this position"]; + type: "publicKey"; + }, + { + name: "pool"; + docs: ["The shared liquidity pool this position belongs to"]; + type: "publicKey"; + }, + { + name: "underlyingSpotLpShares"; + docs: [ + "The amount of underlying spot LP shares this position represents" + ]; + type: "u64"; + }, + { + name: "bump"; + docs: ["The PDA bump"]; + type: "u8"; + } + ]; + }; + }, + { + name: "sharedLiquidityPool"; + type: { + kind: "struct"; + fields: [ + { + name: "pdaBump"; + docs: ["The PDA bump."]; + type: "u8"; + }, + { + name: "spotPoolState"; + docs: ["The Raydium spot pool state."]; + type: "publicKey"; + }, + { + name: "dao"; + docs: ["The DAO."]; + type: "publicKey"; + }, + { + name: "isActiveProposal"; + docs: [ + "Whether there's an active proposal using liquidity from this pool." + ]; + type: "bool"; + }, + { + name: "seqNum"; + docs: [ + "The sequence number of this shared liquidity pool. Useful for sorting events." + ]; + type: "u64"; + } + ]; + }; + } + ]; + types: [ + { + name: "DepositArgs"; + type: { + kind: "struct"; + fields: [ + { + name: "lpTokenAmount"; + docs: ["The amount of LP tokens to mint"]; + type: "u64"; + }, + { + name: "maximumToken0Amount"; + docs: ["The maximum amount of token 0 to deposit"]; + type: "u64"; + }, + { + name: "maximumToken1Amount"; + docs: ["The maximum amount of token 1 to deposit"]; + type: "u64"; + } + ]; + }; + } + ]; + errors: [ + { + code: 6000; + name: "PoolInUse"; + msg: "Pool is currently being used by an active proposal"; + } + ]; +}; + +export const IDL: SharedLiquidityManager = { + version: "0.1.0", + name: "shared_liquidity_manager", + instructions: [ + { + name: "initializePool", + accounts: [ + { + name: "pool", + isMut: true, + isSigner: false, + }, + { + name: "spotPoolState", + isMut: false, + isSigner: false, + }, + { + name: "dao", + isMut: false, + isSigner: false, + }, + { + name: "payer", + isMut: true, + isSigner: true, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + { + name: "eventAuthority", + isMut: false, + isSigner: false, + }, + { + name: "program", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + { + name: "deposit", + accounts: [ + { + name: "pool", + isMut: true, + isSigner: false, + }, + { + name: "spotPoolState", + isMut: true, + isSigner: false, + }, + { + name: "dao", + isMut: false, + isSigner: false, + }, + { + name: "userTokenA", + isMut: true, + isSigner: false, + docs: ["The user's token accounts for the pool tokens"], + }, + { + name: "userTokenB", + isMut: true, + isSigner: false, + }, + { + name: "token0Vault", + isMut: true, + isSigner: false, + docs: ["The pool's token accounts"], + }, + { + name: "token1Vault", + isMut: true, + isSigner: false, + }, + { + name: "vault0Mint", + isMut: false, + isSigner: false, + docs: ["The vault mints"], + }, + { + name: "vault1Mint", + isMut: false, + isSigner: false, + }, + { + name: "lpMint", + isMut: true, + isSigner: false, + docs: ["The LP token mint and destination"], + }, + { + name: "userLpToken", + isMut: true, + isSigner: false, + }, + { + name: "position", + isMut: true, + isSigner: false, + docs: ["The user's liquidity position"], + }, + { + name: "user", + isMut: true, + isSigner: true, + }, + { + name: "raydiumAuthority", + isMut: false, + isSigner: false, + }, + { + name: "tokenProgram", + isMut: false, + isSigner: false, + }, + { + name: "tokenProgram2022", + isMut: false, + isSigner: false, + }, + { + name: "cpSwapProgram", + isMut: false, + isSigner: false, + }, + { + name: "systemProgram", + isMut: false, + isSigner: false, + }, + { + name: "eventAuthority", + isMut: false, + isSigner: false, + }, + { + name: "program", + isMut: false, + isSigner: false, + }, + ], + args: [ + { + name: "args", + type: { + defined: "DepositArgs", + }, + }, + ], + }, + { + name: "withdraw", + accounts: [ + { + name: "pool", + isMut: true, + isSigner: false, + }, + { + name: "eventAuthority", + isMut: false, + isSigner: false, + }, + { + name: "program", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + { + name: "initializeProposalWithLiquidity", + accounts: [ + { + name: "pool", + isMut: true, + isSigner: false, + }, + { + name: "eventAuthority", + isMut: false, + isSigner: false, + }, + { + name: "program", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + { + name: "removeProposalLiquidity", + accounts: [ + { + name: "pool", + isMut: true, + isSigner: false, + }, + { + name: "eventAuthority", + isMut: false, + isSigner: false, + }, + { + name: "program", + isMut: false, + isSigner: false, + }, + ], + args: [], + }, + ], + accounts: [ + { + name: "liquidityPosition", + type: { + kind: "struct", + fields: [ + { + name: "owner", + docs: ["The owner of this position"], + type: "publicKey", + }, + { + name: "pool", + docs: ["The shared liquidity pool this position belongs to"], + type: "publicKey", + }, + { + name: "underlyingSpotLpShares", + docs: [ + "The amount of underlying spot LP shares this position represents", + ], + type: "u64", + }, + { + name: "bump", + docs: ["The PDA bump"], + type: "u8", + }, + ], + }, + }, + { + name: "sharedLiquidityPool", + type: { + kind: "struct", + fields: [ + { + name: "pdaBump", + docs: ["The PDA bump."], + type: "u8", + }, + { + name: "spotPoolState", + docs: ["The Raydium spot pool state."], + type: "publicKey", + }, + { + name: "dao", + docs: ["The DAO."], + type: "publicKey", + }, + { + name: "isActiveProposal", + docs: [ + "Whether there's an active proposal using liquidity from this pool.", + ], + type: "bool", + }, + { + name: "seqNum", + docs: [ + "The sequence number of this shared liquidity pool. Useful for sorting events.", + ], + type: "u64", + }, + ], + }, + }, + ], + types: [ + { + name: "DepositArgs", + type: { + kind: "struct", + fields: [ + { + name: "lpTokenAmount", + docs: ["The amount of LP tokens to mint"], + type: "u64", + }, + { + name: "maximumToken0Amount", + docs: ["The maximum amount of token 0 to deposit"], + type: "u64", + }, + { + name: "maximumToken1Amount", + docs: ["The maximum amount of token 1 to deposit"], + type: "u64", + }, + ], + }, + }, + ], + errors: [ + { + code: 6000, + name: "PoolInUse", + msg: "Pool is currently being used by an active proposal", + }, + ], +}; diff --git a/tests/autocrat/integration/streamflow.test.ts b/tests/autocrat/integration/streamflow.test.ts index abbdf5cc1..3464dda47 100644 --- a/tests/autocrat/integration/streamflow.test.ts +++ b/tests/autocrat/integration/streamflow.test.ts @@ -20,6 +20,7 @@ import { BN } from "bn.js"; import { StreamflowEscrow, IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.js"; import { getAssociatedTokenAddressSync } from "@solana/spl-token"; +import { STREAMFLOW_VESTING_PROGRAM_ID } from "../../main.test.js"; // import { IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.json"; @@ -62,11 +63,11 @@ export const deriveEscrowPDA = ( export default async function() { let ammClient: AmmClient; let autocratClient: AutocratClient; - let META: PublicKey; + let RAY: PublicKey; let USDC: PublicKey; let amm: PublicKey; - META = await createMint( + RAY = await createMint( this.banksClient, this.payer, this.payer.publicKey, @@ -81,9 +82,11 @@ export default async function() { 6 ); - await this.createTokenAccount(META, this.payer.publicKey); + await this.createTokenAccount(RAY, this.payer.publicKey); + await this.createTokenAccount(USDC, this.payer.publicKey); - await this.mintTo(META, this.payer.publicKey, this.payer, 100 * 10 ** 9); + await this.mintTo(RAY, this.payer.publicKey, this.payer, 100 * 10 ** 9); + await this.mintTo(USDC, this.payer.publicKey, this.payer, 1000000 * 10 ** 6); autocratClient = this.autocratClient; ammClient = this.ammClient; @@ -102,10 +105,25 @@ export default async function() { const vestingAmountPerPeriod = new BN(1); const vestingCliffAmount = new BN(500000); - const orderKey = deriveOrderPDA(STREAMFLOW_ESCROW_PROGRAM_ID, authority, META, orderNonce); - const vaultKey = token.getAssociatedTokenAddressSync(META, orderKey, true); - - + const orderKey = deriveOrderPDA(STREAMFLOW_ESCROW_PROGRAM_ID, authority, RAY, orderNonce); + const vaultKey = token.getAssociatedTokenAddressSync(RAY, orderKey, true); + + // const treasury = Keypair.generate(); + + // // Send 1 SOL to treasury + // const tx = new anchor.web3.Transaction(); + // tx.add( + // anchor.web3.SystemProgram.transfer({ + // fromPubkey: this.payer.publicKey, + // toPubkey: treasury.publicKey, + // lamports: 1_000_000_000, // 1 SOL = 1 billion lamports + // }) + // ); + // tx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; + // console.log('recentBlockhash', tx.recentBlockhash); + // tx.feePayer = this.payer.publicKey; + // tx.sign(this.payer); + // await this.banksClient.processTransaction(tx); console.log('Creating vested order:', orderKey.toBase58()); await escrow.methods @@ -123,20 +141,22 @@ export default async function() { }) .accounts({ creator: authority, - baseMint: META, + baseMint: RAY, quoteMint: USDC, order: orderKey, vault: vaultKey, - from: token.getAssociatedTokenAddressSync(META, authority), + from: token.getAssociatedTokenAddressSync(RAY, authority), executor: null, partner: null, }) .rpc(); const fillNonce = 0; - const fromKey = getAssociatedTokenAddressSync(USDC, authority, true); - const toBaseKey = getAssociatedTokenAddressSync(META, authority, true); - const toQuoteKey = getAssociatedTokenAddressSync(USDC, authority, true); + + // await this.createTokenAccount(RAY, treasury.publicKey); + // await this.createTokenAccount(USDC, treasury.publicKey); + // await this.mintTo(USDC, treasury.publicKey, this.payer, 1000000 * 10 ** 6); + const contractKeypair = Keypair.generate(); const contractKey = contractKeypair.publicKey; const escrowKey = deriveEscrowPDA(STREAMFLOW_ESCROW_PROGRAM_ID, contractKey); @@ -148,22 +168,23 @@ export default async function() { .accounts({ common: { executor: authority, - from: fromKey, - toBase: toBaseKey, + from: token.getAssociatedTokenAddressSync(USDC, authority), + toBase: token.getAssociatedTokenAddressSync(RAY, authority), order: orderKey, - toQuote: toQuoteKey, + toQuote: token.getAssociatedTokenAddressSync(USDC, this.payer.publicKey), baseTokenProgram: token.TOKEN_PROGRAM_ID, quotaTokenProgram: token.TOKEN_PROGRAM_ID, vault: vaultKey, creator: authority, - baseMint: META, + baseMint: RAY, quoteMint: USDC, }, streamMetadata: contractKey, + withdrawor: new PublicKey("wdrwhnCv4pzW8beKsbPa4S2UDZrXenjg16KJdKSpb5u"), + feeOracle: new PublicKey("B743wFVk2pCYhV91cn287e1xY7f1vt4gdY48hhNiuQmT"), escrowTokens: escrowKey, - }) - .accounts({ executionRecord: recordKey, streamflowProgram: STREAMFLOW_ESCROW_PROGRAM_ID }) + .accounts({ executionRecord: recordKey, streamflowProgram: STREAMFLOW_VESTING_PROGRAM_ID }) .signers([contractKeypair]) .rpc(); diff --git a/tests/fixtures/fee-oracle b/tests/fixtures/fee-oracle new file mode 100644 index 0000000000000000000000000000000000000000..405dcd2926f3accab51f338a655440d5a69ae25e GIT binary patch literal 10000 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/streamflow_vesting.so b/tests/fixtures/streamflow_vesting.so new file mode 100644 index 0000000000000000000000000000000000000000..ac783e8001d913e0e2574697f3ff376e58d766ac GIT binary patch literal 1096864 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%0D_o?v{JxJkT3+(5X6ooY$^4l0O0U6oMVk3Myq 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

-uQRfeMj=&u_@v01)@;JXyAd{?^u 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 zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun z0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP z3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbF zC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epy zpa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+ zfC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O z0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC z1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo z6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)U zP=Epypa2CZKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZ zKmiI+fC3bt00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt z00k&O0SZun0u-PC1t>rP3Q&Lo6rcbFC_n)UP=Epypa2CZKmiI+fC3bt00k&O0SZun P0u-PC1t{?Uk-+}}U0#Hy literal 0 HcmV?d00001 diff --git a/tests/fixtures/withdrawor b/tests/fixtures/withdrawor new file mode 100644 index 000000000..e69de29bb diff --git a/tests/main.test.ts b/tests/main.test.ts index 684fb9007..9cbdcac49 100644 --- a/tests/main.test.ts +++ b/tests/main.test.ts @@ -21,7 +21,7 @@ import { // getVersion, // VersionKey // } from "@metadaoproject/futarchy"; -import { PublicKey, Keypair } from "@solana/web3.js"; +import { PublicKey, Keypair, SystemProgram } from "@solana/web3.js"; import { createAssociatedTokenAccount, createMint, @@ -47,6 +47,9 @@ const RAYDIUM_CP_SWAP_PROGRAM_ID = new PublicKey( const STREAMFLOW_ESCROW_PROGRAM_ID = new PublicKey( "ESCRoWj8QUJ5cTXCBWbGpW6AzaaEAtRbZuwKp8c4YYGs" ); +export const STREAMFLOW_VESTING_PROGRAM_ID = new PublicKey( + "strmRqUCoQUgGUan5YhzUZa6KqdzwX5L6FpUxfmKg5m" +); import mintAndSwap from "./integration/mintAndSwap.test.js"; import scalarMarkets from "./integration/scalarMarkets.test.js"; @@ -74,6 +77,10 @@ before(async function () { name: "streamflow_escrow", programId: STREAMFLOW_ESCROW_PROGRAM_ID, }, + { + name: "streamflow_vesting", + programId: STREAMFLOW_VESTING_PROGRAM_ID, + } ], [ { @@ -105,6 +112,24 @@ before(async function () { lamports: 377_950_832_219, }, }, + { + address: new PublicKey("B743wFVk2pCYhV91cn287e1xY7f1vt4gdY48hhNiuQmT"), + info: { + data: fs.readFileSync("./tests/fixtures/fee-oracle"), + executable: false, + owner: new PublicKey("pardpVtPjC8nLj1Dwncew62mUzfChdCX1EaoZe8oCAa"), + lamports: 1_000_000_000, + } + }, + { + address: new PublicKey("wdrwhnCv4pzW8beKsbPa4S2UDZrXenjg16KJdKSpb5u"), + info: { + data: Buffer.alloc(0), + executable: false, + owner: SystemProgram.programId, + lamports: 32_000_000_000, + } + }, ] ); this.banksClient = this.context.banksClient; From a50618eb1cfe2e8bb651cba3ae750386ed6e2fd3 Mon Sep 17 00:00:00 2001 From: metaproph3t Date: Sat, 14 Jun 2025 00:00:00 -0700 Subject: [PATCH 4/8] Start working on LUTs --- sdk/src/v0.4/AutocratClient.ts | 45 ++++++- tests/autocrat/integration/streamflow.test.ts | 127 ++++++++++++++++-- tests/fixtures/fee-oracle | Bin 10000 -> 10000 bytes 3 files changed, 158 insertions(+), 14 deletions(-) diff --git a/sdk/src/v0.4/AutocratClient.ts b/sdk/src/v0.4/AutocratClient.ts index 3aa690c9b..dcf6278e5 100644 --- a/sdk/src/v0.4/AutocratClient.ts +++ b/sdk/src/v0.4/AutocratClient.ts @@ -7,8 +7,11 @@ import { Connection, Keypair, PublicKey, + Signer, Transaction, TransactionInstruction, + TransactionMessage, + VersionedTransaction, } from "@solana/web3.js"; import { PriceMath } from "./utils/priceMath.js"; import { ProposalInstruction, InitializeDaoParams } from "./types/index.js"; @@ -311,7 +314,8 @@ export class AutocratClient { descriptionUrl: string, instruction: ProposalInstruction, baseTokensToLP: BN, - quoteTokensToLP: BN + quoteTokensToLP: BN, + lookupTableAccount?: AddressLookupTableAccount ): Promise { const storedDao = await this.getDao(dao); @@ -417,7 +421,7 @@ export class AutocratClient { // this is how many original tokens are created const lpTokens = quoteTokensToLP; - await this.initializeProposalIx( + const builder = this.initializeProposalIx( descriptionUrl, instruction, dao, @@ -427,7 +431,42 @@ export class AutocratClient { lpTokens, nonce, question - ).rpc(); + ); + + if (!lookupTableAccount) { + await builder.rpc(); + } else { + const tx = await builder.transaction(); + + const banksClient = (this.provider.connection as any).banksClient; + + // console.log((this.provider.connection as any).banksClient); + + console.log(tx.instructions); + + const messageV0 = new TransactionMessage({ + payerKey: this.provider.publicKey, + recentBlockhash: (await banksClient.getLatestBlockhash())[0], + instructions: tx.instructions.slice(0, 2), + }).compileToV0Message([lookupTableAccount]); + + console.log(messageV0.addressTableLookups); + + const transactionV0 = new VersionedTransaction(messageV0); + + console.log((this.provider.wallet as any).payer); + + transactionV0.sign([(this.provider.wallet as any).payer as any]); + + console.log(transactionV0.serialize().length); + + tx.instructions = tx.instructions.slice(2); + console.log(tx.instructions[0].data.length); + + // await this.provider.connection.sendRawTransaction( + // transactionV0.serialize() + // ); + } return proposal; } diff --git a/tests/autocrat/integration/streamflow.test.ts b/tests/autocrat/integration/streamflow.test.ts index 3464dda47..8331824c6 100644 --- a/tests/autocrat/integration/streamflow.test.ts +++ b/tests/autocrat/integration/streamflow.test.ts @@ -1,10 +1,11 @@ import { AmmClient, + AUTOCRAT_PROGRAM_ID, AutocratClient, getAmmAddr, getAmmLpMintAddr, } from "@metadaoproject/futarchy/v0.4"; -import { Keypair, PublicKey } from "@solana/web3.js"; +import { Keypair, PublicKey, AddressLookupTableProgram, Transaction, AddressLookupTableAccount } from "@solana/web3.js"; import { assert } from "chai"; import { createMint, @@ -85,8 +86,8 @@ export default async function() { await this.createTokenAccount(RAY, this.payer.publicKey); await this.createTokenAccount(USDC, this.payer.publicKey); - await this.mintTo(RAY, this.payer.publicKey, this.payer, 100 * 10 ** 9); - await this.mintTo(USDC, this.payer.publicKey, this.payer, 1000000 * 10 ** 6); + await this.mintTo(RAY, this.payer.publicKey, this.payer, 10000000 * 10 ** 9); + await this.mintTo(USDC, this.payer.publicKey, this.payer, 100000000000 * 10 ** 6); autocratClient = this.autocratClient; ammClient = this.ammClient; @@ -159,11 +160,92 @@ export default async function() { const contractKeypair = Keypair.generate(); const contractKey = contractKeypair.publicKey; - const escrowKey = deriveEscrowPDA(STREAMFLOW_ESCROW_PROGRAM_ID, contractKey); + const escrowKey = deriveEscrowPDA(STREAMFLOW_VESTING_PROGRAM_ID, contractKey); const recordKey = deriveExecutionRecordPDA(STREAMFLOW_ESCROW_PROGRAM_ID, orderKey, authority, fillNonce); - console.log('Filling order vested:', recordKey.toBase58()); - await escrow.methods + // Create a lookup table for the accounts + const slot = await this.banksClient.getSlot(); + const [lookupTableInst, lookupTableAddress] = AddressLookupTableProgram.createLookupTable({ + authority: this.payer.publicKey, + payer: this.payer.publicKey, + recentSlot: slot - 1n, + }); + + // Add all the accounts needed for fillOrderVested to the lookup table + const extendInstruction = AddressLookupTableProgram.extendLookupTable({ + payer: this.payer.publicKey, + authority: this.payer.publicKey, + lookupTable: lookupTableAddress, + addresses: [ + // authority, + token.getAssociatedTokenAddressSync(USDC, authority), + token.getAssociatedTokenAddressSync(RAY, authority), + // orderKey, + token.getAssociatedTokenAddressSync(USDC, this.payer.publicKey), + token.TOKEN_PROGRAM_ID, + // vaultKey, + // RAY, + // USDC, + this.payer.publicKey, + // contractKey, + // new PublicKey("wdrwhnCv4pzW8beKsbPa4S2UDZrXenjg16KJdKSpb5u"), + // new PublicKey("B743wFVk2pCYhV91cn287e1xY7f1vt4gdY48hhNiuQmT"), + // escrowKey, + // recordKey, + // STREAMFLOW_VESTING_PROGRAM_ID, + // AUTOCRAT_PROGRAM_ID, + ], + }); + + await this.advanceBySlots(1n) + + // Create and extend the lookup table + let tx = new Transaction().add(lookupTableInst, extendInstruction); + tx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; + tx.feePayer = this.payer.publicKey; + tx.sign(this.payer); + await this.banksClient.processTransaction(tx); + + await this.advanceBySlots(1n) + + const extentIx2 = AddressLookupTableProgram.extendLookupTable({ + payer: this.payer.publicKey, + authority: this.payer.publicKey, + lookupTable: lookupTableAddress, + addresses: [ + this.payer.publicKey, + ], + }); + + tx = new Transaction().add(extentIx2); + tx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; + tx.feePayer = this.payer.publicKey; + tx.sign(this.payer); + await this.banksClient.processTransaction(tx); + + + const lookupTable = await this.banksClient.getAccount(lookupTableAddress); + + console.log(lookupTable); + let acc = new AddressLookupTableAccount({ + key: lookupTableAddress, + state: AddressLookupTableAccount.deserialize(lookupTable.data), + }); + + // Create a DAO if it doesn't exist + const daoKeypair = Keypair.generate(); + const dao = await autocratClient.initializeDao( + RAY, + 400, // tokenPriceUiAmount + 5, // minBaseFutarchicLiquidity + 5000, // minQuoteFutarchicLiquidity + USDC, + daoKeypair, + new BN(Number(DAY_IN_SLOTS)) + ); + + // Create the fillOrderVested instruction + const fillOrderIx = await escrow.methods .fillOrderVested(fillNonce, amount, price, false) .accounts({ common: { @@ -183,14 +265,37 @@ export default async function() { withdrawor: new PublicKey("wdrwhnCv4pzW8beKsbPa4S2UDZrXenjg16KJdKSpb5u"), feeOracle: new PublicKey("B743wFVk2pCYhV91cn287e1xY7f1vt4gdY48hhNiuQmT"), escrowTokens: escrowKey, + executionRecord: recordKey, + streamflowProgram: STREAMFLOW_VESTING_PROGRAM_ID, }) - .accounts({ executionRecord: recordKey, streamflowProgram: STREAMFLOW_VESTING_PROGRAM_ID }) - .signers([contractKeypair]) - .rpc(); + .instruction(); + + console.log(fillOrderIx.keys.length) + console.log(fillOrderIx.data.length) + // Create a new transaction that uses the lookup table + // const lookupTableAccount = await this.banksClient.getAddressLookupTable(lookupTableAddress); + // const lookupTableAddresses = lookupTableAccount.value?.state.addresses || []; + // Create a proposal with the fillOrderVested instruction using lookup table addresses + const proposal = await autocratClient.initializeProposal( + dao, + "", + { + programId: fillOrderIx.programId, + accounts: fillOrderIx.keys.map(key => ({ + pubkey: key.pubkey, + isSigner: key.isSigner, + isWritable: key.isWritable + })), + data: fillOrderIx.data, + }, + new BN(5 * 10 ** 9), // baseTokensToLP + new BN(5000 * 10 ** 6), // quoteTokensToLP + acc + ); - // let dao = await autocratClient.initializeDao(META, 400, 5, 5000, USDC, undefined, new BN(DAY_IN_SLOTS.toString())); - // console.log(dao); + // Execute the proposal + // await autocratClient.executeProposal(proposal); } diff --git a/tests/fixtures/fee-oracle b/tests/fixtures/fee-oracle index 405dcd2926f3accab51f338a655440d5a69ae25e..8502250db6202a2d2056dacfcd827a8711430a39 100644 GIT binary patch delta 56 zcmbQ>H^GlFd?RBqug38?@zS3rS(H^GlFY$Iba@8lNtfXzpEeIx-yu?C$0 From e97962e9a04546c58c4865827882d95aa1333fc4 Mon Sep 17 00:00:00 2001 From: metaproph3t Date: Sat, 14 Jun 2025 00:00:00 -0700 Subject: [PATCH 5/8] Get initialize proposal working with extensive use of LUTs --- sdk/src/v0.4/AutocratClient.ts | 81 +++++++--- tests/autocrat/integration/streamflow.test.ts | 142 +++++++++++++++--- 2 files changed, 185 insertions(+), 38 deletions(-) diff --git a/sdk/src/v0.4/AutocratClient.ts b/sdk/src/v0.4/AutocratClient.ts index dcf6278e5..492837bdd 100644 --- a/sdk/src/v0.4/AutocratClient.ts +++ b/sdk/src/v0.4/AutocratClient.ts @@ -3,6 +3,7 @@ import { AccountInfo, AccountMeta, AddressLookupTableAccount, + AddressLookupTableProgram, ComputeBudgetProgram, Connection, Keypair, @@ -438,34 +439,78 @@ export class AutocratClient { } else { const tx = await builder.transaction(); - const banksClient = (this.provider.connection as any).banksClient; + return { tx: tx, proposal: proposal } as any; + + // const banksClient = (this.provider.connection as any).banksClient; + + // const extendInstruction = AddressLookupTableProgram.extendLookupTable({ + // payer: this.provider.publicKey, + // authority: this.provider.publicKey, + // lookupTable: lookupTableAccount.key, + // addresses: [question, dao, passAmm, failAmm], + // }); + + // // await this.advanceBySlots(1n) + // const currentClock = await banksClient.getClock(); + // banksClient.setClock( + // new Clock( + // currentClock.slot + 1n, + // currentClock.epochStartTimestamp, + // currentClock.epoch, + // currentClock.leaderScheduleEpoch, + // 50n + // ) + // ); - // console.log((this.provider.connection as any).banksClient); + // // Create and extend the lookup table + // let tx2 = new Transaction().add(extendInstruction); + // tx2.recentBlockhash = (await banksClient.getLatestBlockhash())[0]; + // tx2.feePayer = this.provider.publicKey; + // tx2.sign((this.provider.wallet as any).payer); + // await banksClient.processTransaction(tx2); - console.log(tx.instructions); + // const extendInstruction2 = AddressLookupTableProgram.extendLookupTable({ + // payer: this.provider.publicKey, + // authority: this.provider.publicKey, + // lookupTable: lookupTableAccount.key, + // addresses: [question], + // }); - const messageV0 = new TransactionMessage({ - payerKey: this.provider.publicKey, - recentBlockhash: (await banksClient.getLatestBlockhash())[0], - instructions: tx.instructions.slice(0, 2), - }).compileToV0Message([lookupTableAccount]); + // // await this.advanceBySlots(1n) - console.log(messageV0.addressTableLookups); + // // Create and extend the lookup table + // let tx3 = new Transaction().add(extendInstruction2); + // tx3.recentBlockhash = (await banksClient.getLatestBlockhash())[0]; + // tx3.feePayer = this.provider.publicKey; + // tx3.sign((this.provider.wallet as any).payer); + // await banksClient.processTransaction(tx3); - const transactionV0 = new VersionedTransaction(messageV0); + // // console.log((this.provider.connection as any).banksClient); - console.log((this.provider.wallet as any).payer); + // console.log(tx.instructions); - transactionV0.sign([(this.provider.wallet as any).payer as any]); + // const messageV0 = new TransactionMessage({ + // payerKey: this.provider.publicKey, + // recentBlockhash: (await banksClient.getLatestBlockhash())[0], + // instructions: tx.instructions, + // }).compileToV0Message([lookupTableAccount]); - console.log(transactionV0.serialize().length); + // console.log(messageV0.addressTableLookups); - tx.instructions = tx.instructions.slice(2); - console.log(tx.instructions[0].data.length); + // const transactionV0 = new VersionedTransaction(messageV0); - // await this.provider.connection.sendRawTransaction( - // transactionV0.serialize() - // ); + // console.log((this.provider.wallet as any).payer); + + // transactionV0.sign([(this.provider.wallet as any).payer as any]); + + // console.log(transactionV0.serialize().length); + + // tx.instructions = tx.instructions.slice(2); + // console.log(tx.instructions[0].data.length); + + // // await this.provider.connection.sendRawTransaction( + // // transactionV0.serialize() + // // ); } return proposal; diff --git a/tests/autocrat/integration/streamflow.test.ts b/tests/autocrat/integration/streamflow.test.ts index 8331824c6..3c1e0cd76 100644 --- a/tests/autocrat/integration/streamflow.test.ts +++ b/tests/autocrat/integration/streamflow.test.ts @@ -5,7 +5,7 @@ import { getAmmAddr, getAmmLpMintAddr, } from "@metadaoproject/futarchy/v0.4"; -import { Keypair, PublicKey, AddressLookupTableProgram, Transaction, AddressLookupTableAccount } from "@solana/web3.js"; +import { Keypair, PublicKey, AddressLookupTableProgram, Transaction, AddressLookupTableAccount, TransactionMessage, VersionedTransaction } from "@solana/web3.js"; import { assert } from "chai"; import { createMint, @@ -22,6 +22,7 @@ import { BN } from "bn.js"; import { StreamflowEscrow, IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.js"; import { getAssociatedTokenAddressSync } from "@solana/spl-token"; import { STREAMFLOW_VESTING_PROGRAM_ID } from "../../main.test.js"; +import { Clock } from "solana-bankrun"; // import { IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.json"; @@ -171,6 +172,17 @@ export default async function() { recentSlot: slot - 1n, }); + const daoKeypair = Keypair.generate(); + const dao = await autocratClient.initializeDao( + RAY, + 400, // tokenPriceUiAmount + 5, // minBaseFutarchicLiquidity + 5000, // minQuoteFutarchicLiquidity + USDC, + daoKeypair, + new BN(Number(DAY_IN_SLOTS)) + ); + // Add all the accounts needed for fillOrderVested to the lookup table const extendInstruction = AddressLookupTableProgram.extendLookupTable({ payer: this.payer.publicKey, @@ -187,6 +199,7 @@ export default async function() { // RAY, // USDC, this.payer.publicKey, + daoKeypair.publicKey, // contractKey, // new PublicKey("wdrwhnCv4pzW8beKsbPa4S2UDZrXenjg16KJdKSpb5u"), // new PublicKey("B743wFVk2pCYhV91cn287e1xY7f1vt4gdY48hhNiuQmT"), @@ -224,7 +237,7 @@ export default async function() { await this.banksClient.processTransaction(tx); - const lookupTable = await this.banksClient.getAccount(lookupTableAddress); + let lookupTable = await this.banksClient.getAccount(lookupTableAddress); console.log(lookupTable); let acc = new AddressLookupTableAccount({ @@ -233,16 +246,6 @@ export default async function() { }); // Create a DAO if it doesn't exist - const daoKeypair = Keypair.generate(); - const dao = await autocratClient.initializeDao( - RAY, - 400, // tokenPriceUiAmount - 5, // minBaseFutarchicLiquidity - 5000, // minQuoteFutarchicLiquidity - USDC, - daoKeypair, - new BN(Number(DAY_IN_SLOTS)) - ); // Create the fillOrderVested instruction const fillOrderIx = await escrow.methods @@ -268,32 +271,131 @@ export default async function() { executionRecord: recordKey, streamflowProgram: STREAMFLOW_VESTING_PROGRAM_ID, }) - .instruction(); + .transaction(); + + fillOrderIx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; + fillOrderIx.feePayer = this.payer.publicKey; + fillOrderIx.sign(this.payer, contractKeypair); + + console.log(fillOrderIx.serialize().length) + - console.log(fillOrderIx.keys.length) - console.log(fillOrderIx.data.length) + // console.log(fillOrderIx.keys.length) + // console.log(fillOrderIx.data.length) // Create a new transaction that uses the lookup table // const lookupTableAccount = await this.banksClient.getAddressLookupTable(lookupTableAddress); // const lookupTableAddresses = lookupTableAccount.value?.state.addresses || []; // Create a proposal with the fillOrderVested instruction using lookup table addresses - const proposal = await autocratClient.initializeProposal( + const {proposal, tx: proposalTx} = await autocratClient.initializeProposal( dao, "", { - programId: fillOrderIx.programId, - accounts: fillOrderIx.keys.map(key => ({ + programId: fillOrderIx.instructions[0].programId, + accounts: fillOrderIx.instructions[0].keys.map(key => ({ pubkey: key.pubkey, isSigner: key.isSigner, isWritable: key.isWritable })), - data: fillOrderIx.data, + data: fillOrderIx.instructions[0].data, }, new BN(5 * 10 ** 9), // baseTokensToLP new BN(5000 * 10 ** 6), // quoteTokensToLP acc - ); + ) as any as {tx: Transaction, proposal: PublicKey}; + + console.log(proposalTx); + // Extract unique accounts from the instruction to add to lookup table + const accountsToAdd = proposalTx.instructions.map(instruction => instruction.keys.map(key => key.pubkey) ); + // accountsToAdd.push(proposal.instructions[0].programId); + + // Remove duplicates + const uniqueAccounts = [...new Set(accountsToAdd.flat())]; + + // Create extend instruction + const extendInstruction3 = AddressLookupTableProgram.extendLookupTable({ + payer: this.payer.publicKey, + authority: this.payer.publicKey, + lookupTable: acc.key, + addresses: uniqueAccounts + }); + + // Execute extend instruction + let extendTx = new Transaction().add(extendInstruction3); + extendTx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; + extendTx.feePayer = this.payer.publicKey; + extendTx.sign(this.payer); + await this.banksClient.processTransaction(extendTx); + + await this.advanceBySlots(1n) + + const extendInstruction4 = AddressLookupTableProgram.extendLookupTable({ + payer: this.payer.publicKey, + authority: this.payer.publicKey, + lookupTable: acc.key, + addresses: uniqueAccounts + }); + + // Execute extend instruction + let extendTx4 = new Transaction().add(extendInstruction4); + extendTx4.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; + extendTx4.feePayer = this.payer.publicKey; + extendTx4.sign(this.payer); + await this.banksClient.processTransaction(extendTx4); + + await this.advanceBySlots(1n) + + + + // // Advance clock by 1 slot to allow lookup table to be used + // const currentClock = await this.banksClient.getClock(); + // this.context.setClock( + // new Clock( + // currentClock.slot + 1n, + // currentClock.epochStartTimestamp, + // currentClock.epoch, + // currentClock.leaderScheduleEpoch, + // currentClock.unixTimestamp + // ) + // ); + + lookupTable = await this.banksClient.getAccount(lookupTableAddress); + + console.log(lookupTable); + let acc2 = new AddressLookupTableAccount({ + key: lookupTableAddress, + state: AddressLookupTableAccount.deserialize(lookupTable.data), + }); + + console.log(proposal); + + const messageV0 = new TransactionMessage({ + payerKey: this.payer.publicKey, + recentBlockhash: (await this.banksClient.getLatestBlockhash())[0], + instructions: (proposalTx as any).instructions, + }).compileToV0Message([acc2]); + + console.log(messageV0.addressTableLookups); + // console.log(messageV0.serialize().length); + + const transactionV0 = new VersionedTransaction(messageV0); + + transactionV0.sign([this.payer]); + + console.log(transactionV0.serialize().length); + + await this.banksClient.processTransaction(transactionV0); + + console.log(await autocratClient.getProposal(proposal)); + + // transactionV0.sign([(this.payer as any).payer as any]); + + // this.banksClient.sendRawTransaction(transactionV0.serialize()); + + // console.log(transactionV0.serialize().length); + + // Execute the proposal // await autocratClient.executeProposal(proposal); From 07424e6d2a4cc10279f11d7eda134f8b79d73c69 Mon Sep 17 00:00:00 2001 From: metaproph3t Date: Sat, 14 Jun 2025 00:00:00 -0700 Subject: [PATCH 6/8] Latest code --- tests/autocrat/integration/streamflow.test.ts | 127 +++++++++++++++--- 1 file changed, 108 insertions(+), 19 deletions(-) diff --git a/tests/autocrat/integration/streamflow.test.ts b/tests/autocrat/integration/streamflow.test.ts index 3c1e0cd76..910a40597 100644 --- a/tests/autocrat/integration/streamflow.test.ts +++ b/tests/autocrat/integration/streamflow.test.ts @@ -5,7 +5,7 @@ import { getAmmAddr, getAmmLpMintAddr, } from "@metadaoproject/futarchy/v0.4"; -import { Keypair, PublicKey, AddressLookupTableProgram, Transaction, AddressLookupTableAccount, TransactionMessage, VersionedTransaction } from "@solana/web3.js"; +import { Keypair, PublicKey, AddressLookupTableProgram, Transaction, AddressLookupTableAccount, TransactionMessage, VersionedTransaction, SystemProgram } from "@solana/web3.js"; import { assert } from "chai"; import { createMint, @@ -23,6 +23,8 @@ import { StreamflowEscrow, IDL as StreamflowEscrowIDL } from "../../fixtures/str import { getAssociatedTokenAddressSync } from "@solana/spl-token"; import { STREAMFLOW_VESTING_PROGRAM_ID } from "../../main.test.js"; import { Clock } from "solana-bankrun"; +import { ComputeBudgetProgram } from "@solana/web3.js"; +import { ConditionalVaultClient } from "@metadaoproject/futarchy/v0.4"; // import { IDL as StreamflowEscrowIDL } from "../../fixtures/streamflow_escrow.json"; @@ -62,9 +64,10 @@ export const deriveEscrowPDA = ( }; -export default async function() { +export default async function () { let ammClient: AmmClient; let autocratClient: AutocratClient; + let vaultClient: ConditionalVaultClient; let RAY: PublicKey; let USDC: PublicKey; let amm: PublicKey; @@ -92,6 +95,7 @@ export default async function() { autocratClient = this.autocratClient; ammClient = this.ammClient; + vaultClient = this.vaultClient; const STREAMFLOW_ESCROW_PROGRAM_ID = new PublicKey("ESCRoWj8QUJ5cTXCBWbGpW6AzaaEAtRbZuwKp8c4YYGs"); const escrow = new anchor.Program(StreamflowEscrowIDL as anchor.Idl, STREAMFLOW_ESCROW_PROGRAM_ID); @@ -153,16 +157,12 @@ export default async function() { }) .rpc(); - const fillNonce = 0; + const fillNonce = 0; // await this.createTokenAccount(RAY, treasury.publicKey); // await this.createTokenAccount(USDC, treasury.publicKey); // await this.mintTo(USDC, treasury.publicKey, this.payer, 1000000 * 10 ** 6); - const contractKeypair = Keypair.generate(); - const contractKey = contractKeypair.publicKey; - const escrowKey = deriveEscrowPDA(STREAMFLOW_VESTING_PROGRAM_ID, contractKey); - const recordKey = deriveExecutionRecordPDA(STREAMFLOW_ESCROW_PROGRAM_ID, orderKey, authority, fillNonce); // Create a lookup table for the accounts const slot = await this.banksClient.getSlot(); @@ -175,7 +175,7 @@ export default async function() { const daoKeypair = Keypair.generate(); const dao = await autocratClient.initializeDao( RAY, - 400, // tokenPriceUiAmount + 1000, // tokenPriceUiAmount 5, // minBaseFutarchicLiquidity 5000, // minQuoteFutarchicLiquidity USDC, @@ -247,14 +247,27 @@ export default async function() { // Create a DAO if it doesn't exist + const daoTreasury = await autocratClient.getDao(dao).then(dao => dao.treasury); + + await this.createTokenAccount(RAY, daoTreasury); + await this.createTokenAccount(USDC, daoTreasury); + await this.mintTo(USDC, daoTreasury, this.payer, 10000000000 * 10 ** 6); + + + const contractKeypair = Keypair.generate(); + const contractKey = contractKeypair.publicKey; + const escrowKey = deriveEscrowPDA(STREAMFLOW_VESTING_PROGRAM_ID, contractKey); + const recordKey = deriveExecutionRecordPDA(STREAMFLOW_ESCROW_PROGRAM_ID, orderKey, daoTreasury, fillNonce); + + // Create the fillOrderVested instruction const fillOrderIx = await escrow.methods .fillOrderVested(fillNonce, amount, price, false) .accounts({ common: { - executor: authority, - from: token.getAssociatedTokenAddressSync(USDC, authority), - toBase: token.getAssociatedTokenAddressSync(RAY, authority), + executor: daoTreasury, + from: token.getAssociatedTokenAddressSync(USDC, daoTreasury, true), + toBase: token.getAssociatedTokenAddressSync(RAY, daoTreasury, true), order: orderKey, toQuote: token.getAssociatedTokenAddressSync(USDC, this.payer.publicKey), baseTokenProgram: token.TOKEN_PROGRAM_ID, @@ -277,9 +290,9 @@ export default async function() { fillOrderIx.feePayer = this.payer.publicKey; fillOrderIx.sign(this.payer, contractKeypair); - console.log(fillOrderIx.serialize().length) + // console.log(fillOrderIx.serialize().length) + - // console.log(fillOrderIx.keys.length) // console.log(fillOrderIx.data.length) @@ -288,7 +301,7 @@ export default async function() { // const lookupTableAddresses = lookupTableAccount.value?.state.addresses || []; // Create a proposal with the fillOrderVested instruction using lookup table addresses - const {proposal, tx: proposalTx} = await autocratClient.initializeProposal( + const { proposal, tx: proposalTx } = await autocratClient.initializeProposal( dao, "", { @@ -303,11 +316,27 @@ export default async function() { new BN(5 * 10 ** 9), // baseTokensToLP new BN(5000 * 10 ** 6), // quoteTokensToLP acc - ) as any as {tx: Transaction, proposal: PublicKey}; + ) as any as { tx: Transaction, proposal: PublicKey }; + + const transferIx = SystemProgram.transfer({ + fromPubkey: this.payer.publicKey, + toPubkey: daoTreasury, + lamports: 2282880 + 8574720, + }); + + + const transferTx = new Transaction().add(transferIx); + transferTx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; + transferTx.feePayer = this.payer.publicKey; + transferTx.sign(this.payer); + await this.banksClient.processTransaction(transferTx); + + await this.advanceBySlots(1n) + console.log(proposalTx); // Extract unique accounts from the instruction to add to lookup table - const accountsToAdd = proposalTx.instructions.map(instruction => instruction.keys.map(key => key.pubkey) ); + const accountsToAdd = proposalTx.instructions.map(instruction => instruction.keys.map(key => key.pubkey)); // accountsToAdd.push(proposal.instructions[0].programId); // Remove duplicates @@ -316,7 +345,7 @@ export default async function() { // Create extend instruction const extendInstruction3 = AddressLookupTableProgram.extendLookupTable({ payer: this.payer.publicKey, - authority: this.payer.publicKey, + authority: this.payer.publicKey, lookupTable: acc.key, addresses: uniqueAccounts }); @@ -332,7 +361,7 @@ export default async function() { const extendInstruction4 = AddressLookupTableProgram.extendLookupTable({ payer: this.payer.publicKey, - authority: this.payer.publicKey, + authority: this.payer.publicKey, lookupTable: acc.key, addresses: uniqueAccounts }); @@ -389,13 +418,73 @@ export default async function() { console.log(await autocratClient.getProposal(proposal)); + // Wait for proposal to be old enough + const storedProposal = await autocratClient.getProposal(proposal); + const storedDao = await autocratClient.getDao(dao); + const slotsToWait = Number(storedDao.slotsPerProposal) + 1; + await this.advanceBySlots(BigInt(slotsToWait + 100)); + + // Get the AMMs and vaults for the proposal + const { passAmm, failAmm, passBaseMint, passQuoteMint, baseVault, quoteVault, question } = autocratClient.getProposalPdas( + proposal, + RAY, + USDC, + dao + ); + + // Split tokens in the vaults + await vaultClient + .splitTokensIx(question, baseVault, RAY, new BN(10 * 10 ** 9), 2) + .rpc(); + await vaultClient + .splitTokensIx(question, quoteVault, USDC, new BN(10_000 * 1_000_000), 2) + .rpc(); + + // Swap in the pass market to make it pass + await ammClient + .swapIx( + passAmm, + passBaseMint, + passQuoteMint, + { buy: {} }, + new BN(1000).muln(1_000_000), // Swap $1 worth + new BN(0) + ) + .rpc(); + + // Crank the TWAP multiple times to ensure good price data + for (let i = 0; i < 50; i++) { + await this.advanceBySlots(20_000n); + + await ammClient + .crankThatTwapIx(passAmm) + .preInstructions([ + // this is to get around bankrun thinking we've processed the same transaction multiple times + ComputeBudgetProgram.setComputeUnitPrice({ + microLamports: i, + }), + await ammClient.crankThatTwapIx(failAmm).instruction(), + ]) + .rpc(); + } + + // Finalize the proposal + await autocratClient.finalizeProposal(proposal); + + // Check if proposal passed and execute if it did + const updatedProposal = await autocratClient.getProposal(proposal); + console.log(updatedProposal); + // if (updatedProposal.state.passed) { + await autocratClient.executeProposalIx(proposal, dao, updatedProposal.instruction).preInstructions([ComputeBudgetProgram.setComputeUnitLimit({ units: 300_000 })]).signers([contractKeypair]).rpc(); + // } + // transactionV0.sign([(this.payer as any).payer as any]); // this.banksClient.sendRawTransaction(transactionV0.serialize()); // console.log(transactionV0.serialize().length); - + // Execute the proposal // await autocratClient.executeProposal(proposal); From b5dabeef53fff4644942332ddd566d90001186bc Mon Sep 17 00:00:00 2001 From: metaproph3t Date: Sat, 14 Jun 2025 00:00:00 -0700 Subject: [PATCH 7/8] Get test passing with right params --- tests/autocrat/integration/streamflow.test.ts | 40 ++++++++++--------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/tests/autocrat/integration/streamflow.test.ts b/tests/autocrat/integration/streamflow.test.ts index 910a40597..3d7b3d284 100644 --- a/tests/autocrat/integration/streamflow.test.ts +++ b/tests/autocrat/integration/streamflow.test.ts @@ -103,17 +103,18 @@ export default async function () { const authority = this.payer.publicKey; // const baseMint = new PublicKey(baseAddr); // const quoteMint = new PublicKey(quoteAddr); - const amount = new BN(1000000); - const price = new BN(5000000); + const amount = new BN(684_208_000_000); + const price = new BN(1_000_000_000_000); const orderNonce = 0; const vestingStartTs = new BN(Math.floor(Date.now() / 1000) + 3600); const vestingPeriod = new BN(30); - const vestingAmountPerPeriod = new BN(1); - const vestingCliffAmount = new BN(500000); + const vestingAmountPerPeriod = new BN(3_759_384_615); + const vestingCliffAmount = new BN(0); const orderKey = deriveOrderPDA(STREAMFLOW_ESCROW_PROGRAM_ID, authority, RAY, orderNonce); const vaultKey = token.getAssociatedTokenAddressSync(RAY, orderKey, true); + // const treasury = Keypair.generate(); // // Send 1 SOL to treasury @@ -131,6 +132,18 @@ export default async function () { // tx.sign(this.payer); // await this.banksClient.processTransaction(tx); + const daoKeypair = Keypair.generate(); + const dao = await autocratClient.initializeDao( + RAY, + 1000, // tokenPriceUiAmount + 5, // minBaseFutarchicLiquidity + 5000, // minQuoteFutarchicLiquidity + USDC, + daoKeypair, + new BN(Number(DAY_IN_SLOTS)) + ); + const daoTreasury = await autocratClient.getDao(dao).then(dao => dao.treasury); + console.log('Creating vested order:', orderKey.toBase58()); await escrow.methods .createOrderFixed({ @@ -152,7 +165,7 @@ export default async function () { order: orderKey, vault: vaultKey, from: token.getAssociatedTokenAddressSync(RAY, authority), - executor: null, + executor: daoTreasury, partner: null, }) .rpc(); @@ -172,16 +185,7 @@ export default async function () { recentSlot: slot - 1n, }); - const daoKeypair = Keypair.generate(); - const dao = await autocratClient.initializeDao( - RAY, - 1000, // tokenPriceUiAmount - 5, // minBaseFutarchicLiquidity - 5000, // minQuoteFutarchicLiquidity - USDC, - daoKeypair, - new BN(Number(DAY_IN_SLOTS)) - ); + // Add all the accounts needed for fillOrderVested to the lookup table const extendInstruction = AddressLookupTableProgram.extendLookupTable({ @@ -247,11 +251,11 @@ export default async function () { // Create a DAO if it doesn't exist - const daoTreasury = await autocratClient.getDao(dao).then(dao => dao.treasury); await this.createTokenAccount(RAY, daoTreasury); await this.createTokenAccount(USDC, daoTreasury); - await this.mintTo(USDC, daoTreasury, this.payer, 10000000000 * 10 ** 6); + await this.mintTo(USDC, daoTreasury, this.payer, 1000000000000 * 10 ** 6); + // await this.mintTo(USDC, this.payer.publicKey, this.payer, 100000000000 * 10 ** 6); const contractKeypair = Keypair.generate(); @@ -321,7 +325,7 @@ export default async function () { const transferIx = SystemProgram.transfer({ fromPubkey: this.payer.publicKey, toPubkey: daoTreasury, - lamports: 2282880 + 8574720, + lamports: 1_000_000_000, }); From 362c14dddda0aaa7e75844a96a158c7eb01670cc Mon Sep 17 00:00:00 2001 From: metaproph3t Date: Fri, 13 Jun 2025 00:00:00 -0700 Subject: [PATCH 8/8] Add test for streamflow --- Anchor.toml | 1 + scripts/createStreamflowProposal.ts | 334 ++++++++++++++++++ sdk/src/v0.4/AutocratClient.ts | 265 +++++++------- tests/autocrat/integration/streamflow.test.ts | 60 ++-- tests/main.test.ts | 2 +- 5 files changed, 497 insertions(+), 165 deletions(-) create mode 100644 scripts/createStreamflowProposal.ts diff --git a/Anchor.toml b/Anchor.toml index d98f3fa4b..f9fc91415 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -26,6 +26,7 @@ initialize-launch = "yarn run tsx scripts/initializeLaunch.ts" create-proposal = "yarn run tsx scripts/createProposal.ts" create-v04-dao = "yarn run tsx scripts/createV04DAO.ts" create-v04-proposal = "yarn run tsx scripts/createV04Proposal.ts" +create-streamflow-proposal = "yarn run tsx scripts/createStreamflowProposal.ts" add-v04-metadata = "yarn run tsx scripts/addV04Metadata.ts" [test] diff --git a/scripts/createStreamflowProposal.ts b/scripts/createStreamflowProposal.ts new file mode 100644 index 000000000..72f547c72 --- /dev/null +++ b/scripts/createStreamflowProposal.ts @@ -0,0 +1,334 @@ +import * as token from "@solana/spl-token"; +import { Keypair, PublicKey, AddressLookupTableProgram, Transaction, AddressLookupTableAccount, TransactionMessage, VersionedTransaction, MessageV0, SystemProgram } from "@solana/web3.js"; +import * as anchor from "@coral-xyz/anchor"; +import { + AutocratClient, + AUTOCRAT_PROGRAM_ID, + AutocratIDL, + PriceMath, +} from "@metadaoproject/futarchy/v0.4"; +import { IDL as StreamflowEscrowIDL } from "../tests/fixtures/streamflow_escrow.js"; +import { BN } from "bn.js"; +import * as fs from "fs"; +import { assert } from "console"; +import { USDC } from "./consts.js"; + +const STREAMFLOW_ESCROW_PROGRAM_ID = new PublicKey("ESCRoWj8QUJ5cTXCBWbGpW6AzaaEAtRbZuwKp8c4YYGs"); +const STREAMFLOW_VESTING_PROGRAM_ID = new PublicKey("strmRqUCoQUgGUan5YhzUZa6KqdzwX5L6FpUxfmKg5m"); + +const ORDER_PUBKEY = new PublicKey("AS9b7ZQ89DZDdzE3y7mTqHFxoxEJp3gGR2UTRbAVHiFE"); +const MTNCAP_DAO = new PublicKey("6uY9NohsBFGF1BafttPNZtJ4uyNbYKaNToL169nEegox"); +const RAY = new PublicKey("4k3Dyjzvzp8eMZWUXbBCjEvwSkkk59S5iCNLY3QrkX6R"); +const LUT = new PublicKey("5m1KBVQBrWbpX3qe8AG7tUzrV4yLdMPGbDkHNN9cZ7Z1"); +const PROPOSAL_NONCE = new BN(1337); + +export const ORDER_PREFIX = Buffer.from('order', 'utf-8'); +export const EXECUTION_RECORD_PREFIX = Buffer.from('execution-record', 'utf-8'); +export const ESCROW_PREFIX = Buffer.from('strm', 'utf-8'); + +export const deriveOrderPDA = ( + programId: anchor.web3.PublicKey, + creator: anchor.web3.PublicKey, + baseMint: anchor.web3.PublicKey, + nonce: number, +): anchor.web3.PublicKey => { + return anchor.web3.PublicKey.findProgramAddressSync( + [ORDER_PREFIX, creator.toBuffer(), baseMint.toBuffer(), new BN(nonce).toArrayLike(Buffer, 'le', 4)], + programId, + )[0]; +}; + +export const deriveExecutionRecordPDA = ( + programId: anchor.web3.PublicKey, + order: anchor.web3.PublicKey, + executor: anchor.web3.PublicKey, + nonce: number, +): anchor.web3.PublicKey => { + return anchor.web3.PublicKey.findProgramAddressSync( + [EXECUTION_RECORD_PREFIX, order.toBuffer(), executor.toBuffer(), new BN(nonce).toArrayLike(Buffer, 'le', 4)], + programId, + )[0]; +}; + +export const deriveEscrowPDA = ( + programId: anchor.web3.PublicKey, + contractKey: anchor.web3.PublicKey, +): anchor.web3.PublicKey => { + return anchor.web3.PublicKey.findProgramAddressSync([ESCROW_PREFIX, contractKey.toBuffer()], programId)[0]; +}; + +async function main() { + // Initialize clients + const provider = anchor.AnchorProvider.env(); + const payer = provider.wallet["payer"]; + const autocratProgram = AutocratClient.createClient({ provider }); + const escrowProgram = new anchor.Program(StreamflowEscrowIDL as anchor.Idl, STREAMFLOW_ESCROW_PROGRAM_ID, provider); + + const storedDao = await autocratProgram.getDao(MTNCAP_DAO); + const daoTreasury = storedDao.treasury; + + const storedOrder = await escrowProgram.account.order.fetch(ORDER_PUBKEY); + + const fillNonce = storedOrder.nonce as number + 12345; + + // Import contract keypair from file + const contractKeypair = Keypair.fromSecretKey(Buffer.from(JSON.parse(fs.readFileSync("../contract-keypair.json", "utf8")))); + const contractKey = contractKeypair.publicKey; + const escrowKey = deriveEscrowPDA(STREAMFLOW_VESTING_PROGRAM_ID, contractKey); + const recordKey = deriveExecutionRecordPDA(STREAMFLOW_ESCROW_PROGRAM_ID, ORDER_PUBKEY, daoTreasury, fillNonce); + + assert(USDC.equals(storedOrder.quoteMint as PublicKey)); + assert(RAY.equals(storedOrder.baseMint as PublicKey)); + + const daoUsdc = (await token.getOrCreateAssociatedTokenAccount(provider.connection, payer, USDC, daoTreasury, true)).address; + const daoRay = (await token.getOrCreateAssociatedTokenAccount(provider.connection, payer, RAY, daoTreasury, true)).address; + const creatorUsdc = (await token.getOrCreateAssociatedTokenAccount(provider.connection, payer, USDC, storedOrder.creator as PublicKey, true)).address; + + console.log(daoUsdc); + console.log(daoRay); + console.log(creatorUsdc); + + console.log(storedDao); + console.log(storedDao.minBaseFutarchicLiquidity.toString()); + console.log(storedDao.minQuoteFutarchicLiquidity.toString()); + + // Create the fillOrderVested instruction + const fillOrderIx = await escrowProgram.methods + .fillOrderVested(fillNonce, storedOrder.amount, storedOrder.startPrice, false) + .accounts({ + common: { + executor: daoTreasury, + from: daoUsdc, + toBase: daoRay, + order: ORDER_PUBKEY, + toQuote: creatorUsdc, + baseTokenProgram: token.TOKEN_PROGRAM_ID, + quotaTokenProgram: token.TOKEN_PROGRAM_ID, + vault: storedOrder.vault as PublicKey, + creator: storedOrder.creator as PublicKey, + baseMint: RAY, + quoteMint: USDC, + }, + streamMetadata: contractKey, + withdrawor: new PublicKey("wdrwhnCv4pzW8beKsbPa4S2UDZrXenjg16KJdKSpb5u"), + feeOracle: new PublicKey("B743wFVk2pCYhV91cn287e1xY7f1vt4gdY48hhNiuQmT"), + escrowTokens: escrowKey, + executionRecord: recordKey, + streamflowProgram: STREAMFLOW_VESTING_PROGRAM_ID, + }) + .transaction(); + +// console.log() + const payerUsdcBalance = new BN((await provider.connection.getTokenAccountBalance(token.getAssociatedTokenAddressSync(USDC, payer.publicKey))).value.amount); + const payerMtnBalance = new BN((await provider.connection.getTokenAccountBalance(token.getAssociatedTokenAddressSync(storedDao.tokenMint, payer.publicKey))).value.amount); + + const { transactions, proposal } = await autocratProgram.initializeProposalTx( + MTNCAP_DAO, + "", + { + programId: fillOrderIx.instructions[0].programId, + accounts: fillOrderIx.instructions[0].keys.map(key => ({ + pubkey: key.pubkey, + isSigner: key.isSigner, + isWritable: key.isWritable + })), + data: fillOrderIx.instructions[0].data, + }, + payerMtnBalance, + payerUsdcBalance, + PROPOSAL_NONCE + ); + + console.log(proposal); + + let encodedTransactions = []; + + for (let i = 0; i < transactions.length - 1; i++) { + const tx = transactions[i]; + tx.recentBlockhash = (await provider.connection.getLatestBlockhash("confirmed")).blockhash; + tx.feePayer = payer.publicKey; + tx.sign(payer); + + encodedTransactions.push(Buffer.from(tx.serialize()).toString('base64')); + } + const initProposalTx = transactions[transactions.length - 1]; + + let rawLookupTable = await provider.connection.getAccountInfo(LUT); + let lookupTable = new AddressLookupTableAccount({ + key: LUT, + state: AddressLookupTableAccount.deserialize(rawLookupTable!.data), + }); + + let tipee = new PublicKey("ADaUMid9yfUytqMBgopwjb2DTLSokTSzL1zt6iGPaS49"); + + const tipIx = SystemProgram.transfer({ + fromPubkey: payer.publicKey, + toPubkey: tipee, + lamports: 1000, + }); + + const initProposalMessage = new TransactionMessage({ + payerKey: payer.publicKey, + recentBlockhash: (await provider.connection.getLatestBlockhash()).blockhash, + instructions: initProposalTx.instructions.concat(tipIx), + }).compileToV0Message([lookupTable]); + const initProposalTxV0 = new VersionedTransaction(initProposalMessage); + initProposalTxV0.sign([payer]); + encodedTransactions.push(Buffer.from(initProposalTxV0.serialize()).toString('base64')); + + console.log(encodedTransactions.map(tx => `"${tx}"`).join(',\n\t')); + + +// const accountsToAdd = initProposalTx.instructions.map(instruction => instruction.keys.map(key => key.pubkey)); +// const uniqueAccounts = [...new Set(accountsToAdd.flat())] as PublicKey[]; +// console.log(uniqueAccounts.length); +// const extendInstruction = AddressLookupTableProgram.extendLookupTable({ +// payer: payer.publicKey, +// authority: payer.publicKey, +// lookupTable: LUT, +// addresses: uniqueAccounts, +// }); + +// const extendTx = new Transaction().add(extendInstruction); +// extendTx.recentBlockhash = (await provider.connection.getLatestBlockhash()).blockhash; +// extendTx.feePayer = payer.publicKey; +// extendTx.sign(payer); +// await provider.sendAndConfirm(extendTx); + + return; + + + + console.log(lookupTable) + + return; + + console.log(initProposalTxV0.message.staticAccountKeys.length); + initProposalTxV0.sign([payer]); + console.log(Buffer.from(initProposalTxV0.serialize()).toString('base64')); + return; + + return; + + + console.log(Buffer.from(initProposalTxV0.serialize()).toString('base64')); + + return; + + + // Extract unique accounts from the last instruction to add to lookup table +// const lastTx = transactions[transactions.length - 1]; +// const accountsToAdd = lastTx.instructions.map(instruction => instruction.keys.map(key => key.pubkey)); +// const uniqueAccounts = [...new Set(accountsToAdd.flat())] as PublicKey[]; + +// const slot = await provider.connection.getSlot(); +// const [lookupTableInst, lookupTableAddress] = AddressLookupTableProgram.createLookupTable({ +// authority: payer.publicKey, +// payer: payer.publicKey, +// recentSlot: slot - 1, +// }); + +// // Create extend instruction for the last transaction's accounts + + +// // Execute extend instruction +// let extendTx = new Transaction().add(lookupTableInst, extendInstruction); +// extendTx.recentBlockhash = (await provider.connection.getLatestBlockhash()).blockhash; +// extendTx.feePayer = payer.publicKey; +// extendTx.sign(payer); +// await provider.sendAndConfirm(extendTx); + + + + + + + + return; + + + // Use the existing DAO address + console.log(storedDao); +// console.log("DAO Token Mint:", storedDao.tokenMint.toString()); +// console.log("DAO USDC Mint:", storedDao.usdcMint.toString()); + +// // Create or get token accounts for the payer +// const metaAccount = await token.getOrCreateAssociatedTokenAccount( +// provider.connection, +// payer, +// storedDao.tokenMint, +// payer.publicKey +// ); +// console.log("META account:", metaAccount.address.toString()); + +// const usdcAccount = await token.getOrCreateAssociatedTokenAccount( +// provider.connection, +// payer, +// storedDao.usdcMint, +// payer.publicKey +// ); +// console.log("USDC account:", usdcAccount.address.toString()); + +// // Check balances +// const metaBalance = metaAccount.amount; +// const usdcBalance = usdcAccount.amount; +// console.log("Current META balance:", metaBalance.toString()); +// console.log("Current USDC balance:", usdcBalance.toString()); + +// // Ensure we have enough tokens for the proposal +// const requiredMeta = PriceMath.getChainAmount(10, 9); // 10 META for more liquidity +// const requiredUsdc = PriceMath.getChainAmount(10000, 6); // 10000 USDC for more liquidity + +// if (metaBalance < BigInt(requiredMeta.toString()) || usdcBalance < BigInt(requiredUsdc.toString())) { +// console.log("Insufficient balance for proposal creation"); +// console.log("Required META:", requiredMeta.toString()); +// console.log("Required USDC:", requiredUsdc.toString()); +// return; +// } + +// const autocrat = new anchor.Program( +// AutocratIDL, +// AUTOCRAT_PROGRAM_ID, +// provider +// ); + +// const accounts = [ +// { +// pubkey: dao, +// isSigner: true, +// isWritable: true, +// }, +// ]; + +// const data = autocrat.coder.instruction.encode("update_dao", { +// daoParams: { +// passThresholdBps: 500, +// baseBurnLamports: null, +// burnDecayPerSlotLamports: null, +// slotsPerProposal: null, +// marketTakerFee: null, +// }, +// }); + +// const ix = { +// programId: autocratProgram.getProgramId(), +// accounts, +// data, +// }; + +// // Initialize the proposal +// const proposal = await autocratProgram.initializeProposal( +// dao, +// "https://example.com/proposal", // proposal description URL +// ix, +// PriceMath.getChainAmount(10, 9), // 10 META for more liquidity +// PriceMath.getChainAmount(10000, 6) // 10000 USDC for more liquidity +// ); + +// console.log("Proposal created with address:", proposal.toString()); +} + +main().catch((error) => { + console.error(error); + process.exit(1); +}); diff --git a/sdk/src/v0.4/AutocratClient.ts b/sdk/src/v0.4/AutocratClient.ts index 492837bdd..5e7d566dd 100644 --- a/sdk/src/v0.4/AutocratClient.ts +++ b/sdk/src/v0.4/AutocratClient.ts @@ -516,134 +516,143 @@ export class AutocratClient { return proposal; } - // async createProposalTxAndPDAs( - // dao: PublicKey, - // descriptionUrl: string, - // instruction: ProposalInstruction, - // baseTokensToLP: BN, - // quoteTokensToLP: BN - // ): Promise< - // [ - // Transaction[], - // { - // proposalAcct: PublicKey; - // baseCondVaultAcct: PublicKey; - // quoteCondVaultAcct: PublicKey; - // passMarketAcct: PublicKey; - // failMarketAcct: PublicKey; - // } - // ] - // > { - // const storedDao = await this.getDao(dao); - - // const nonce = new BN(Math.random() * 2 ** 50); - - // let [proposal] = getProposalAddr( - // this.autocrat.programId, - // this.provider.publicKey, - // nonce - // ); - - // const { - // baseVault, - // quoteVault, - // passAmm, - // failAmm, - // passBaseMint, - // passQuoteMint, - // failBaseMint, - // failQuoteMint, - // } = this.getProposalPdas( - // proposal, - // storedDao.tokenMint, - // storedDao.usdcMint, - // dao - // ); - - // // it's important that these happen in a single atomic transaction - // const initVaultTx = await this.vaultClient - // .initializeVaultIx(proposal, storedDao.tokenMint) - // .postInstructions( - // await InstructionUtils.getInstructions( - // this.vaultClient.initializeVaultIx(proposal, storedDao.usdcMint), - // this.ammClient.createAmmIx( - // passBaseMint, - // passQuoteMint, - // storedDao.twapInitialObservation, - // storedDao.twapMaxObservationChangePerUpdate - // ), - // this.ammClient.createAmmIx( - // failBaseMint, - // failQuoteMint, - // storedDao.twapInitialObservation, - // storedDao.twapMaxObservationChangePerUpdate - // ) - // ) - // ) - // .transaction(); - - // const mintConditionalTokensTx = await this.vaultClient - // .mintConditionalTokensIx(baseVault, storedDao.tokenMint, baseTokensToLP) - // .postInstructions( - // await InstructionUtils.getInstructions( - // this.vaultClient.mintConditionalTokensIx( - // quoteVault, - // storedDao.usdcMint, - // quoteTokensToLP - // ) - // ) - // ) - // .transaction(); - - // const addLiquidityTx = await this.ammClient - // .addLiquidityIx( - // passAmm, - // passBaseMint, - // passQuoteMint, - // quoteTokensToLP, - // baseTokensToLP, - // new BN(0) - // ) - // .postInstructions( - // await InstructionUtils.getInstructions( - // this.ammClient.addLiquidityIx( - // failAmm, - // failBaseMint, - // failQuoteMint, - // quoteTokensToLP, - // baseTokensToLP, - // new BN(0) - // ) - // ) - // ) - // .transaction(); - - // // this is how many original tokens are created - // const lpTokens = quoteTokensToLP; - - // const initTx = await this.initializeProposalIx( - // descriptionUrl, - // instruction, - // dao, - // storedDao.tokenMint, - // storedDao.usdcMint, - // lpTokens, - // lpTokens, - // nonce, - // question - // ).transaction(); - - // return [ - // [initVaultTx, mintConditionalTokensTx, addLiquidityTx, initTx], - // { - // baseCondVaultAcct: baseVault, - // quoteCondVaultAcct: quoteVault, - // failMarketAcct: failAmm, - // passMarketAcct: passAmm, - // proposalAcct: proposal, - // }, - // ]; - // } + async initializeProposalTx( + dao: PublicKey, + descriptionUrl: string, + instruction: ProposalInstruction, + baseTokensToLP: BN, + quoteTokensToLP: BN, + nonce: BN = new BN(Math.random() * 2 ** 50) + ): Promise<{ transactions: Transaction[]; proposal: PublicKey }> { + const storedDao = await this.getDao(dao); + + let [proposal] = getProposalAddr( + this.autocrat.programId, + this.provider.publicKey, + nonce + ); + + // Get the initialize question transaction + const questionTx = await this.vaultClient + .initializeQuestionIx( + sha256(`Will ${proposal} pass?/FAIL/PASS`), + proposal, + 2 + ) + .transaction(); + + const { + baseVault, + quoteVault, + passAmm, + failAmm, + passBaseMint, + passQuoteMint, + failBaseMint, + failQuoteMint, + question, + } = this.getProposalPdas( + proposal, + storedDao.tokenMint, + storedDao.usdcMint, + dao + ); + + // Get the initialize vaults and AMMs transaction + const initializeVaultsTx = await this.vaultClient + .initializeVaultIx(question, storedDao.tokenMint, 2) + .postInstructions( + await InstructionUtils.getInstructions( + this.vaultClient.initializeVaultIx(question, storedDao.usdcMint, 2), + this.ammClient.initializeAmmIx( + passBaseMint, + passQuoteMint, + storedDao.twapStartDelaySlots, + storedDao.twapInitialObservation, + storedDao.twapMaxObservationChangePerUpdate + ), + this.ammClient.initializeAmmIx( + failBaseMint, + failQuoteMint, + storedDao.twapStartDelaySlots, + storedDao.twapInitialObservation, + storedDao.twapMaxObservationChangePerUpdate + ) + ) + ) + .transaction(); + + // Get the split tokens transaction + const splitTokensTx = await this.vaultClient + .splitTokensIx( + question, + baseVault, + storedDao.tokenMint, + baseTokensToLP, + 2 + ) + .postInstructions( + await InstructionUtils.getInstructions( + this.vaultClient.splitTokensIx( + question, + quoteVault, + storedDao.usdcMint, + quoteTokensToLP, + 2 + ) + ) + ) + .transaction(); + + // Get the add liquidity transaction + const addLiquidityTx = await this.ammClient + .addLiquidityIx( + passAmm, + passBaseMint, + passQuoteMint, + quoteTokensToLP, + baseTokensToLP, + new BN(0) + ) + .postInstructions( + await InstructionUtils.getInstructions( + this.ammClient.addLiquidityIx( + failAmm, + failBaseMint, + failQuoteMint, + quoteTokensToLP, + baseTokensToLP, + new BN(0) + ) + ) + ) + .transaction(); + + // Get the initialize proposal transaction + const lpTokens = quoteTokensToLP; + const initializeProposalTx = await this.initializeProposalIx( + descriptionUrl, + instruction, + dao, + storedDao.tokenMint, + storedDao.usdcMint, + lpTokens, + lpTokens, + nonce, + question + ).transaction(); + + return { + transactions: [ + questionTx, + initializeVaultsTx, + splitTokensTx, + addLiquidityTx, + initializeProposalTx, + ], + proposal, + }; + } initializeProposalIx( descriptionUrl: string, diff --git a/tests/autocrat/integration/streamflow.test.ts b/tests/autocrat/integration/streamflow.test.ts index 3d7b3d284..1f3778683 100644 --- a/tests/autocrat/integration/streamflow.test.ts +++ b/tests/autocrat/integration/streamflow.test.ts @@ -4,6 +4,7 @@ import { AutocratClient, getAmmAddr, getAmmLpMintAddr, + initializeProposalTx, } from "@metadaoproject/futarchy/v0.4"; import { Keypair, PublicKey, AddressLookupTableProgram, Transaction, AddressLookupTableAccount, TransactionMessage, VersionedTransaction, SystemProgram } from "@solana/web3.js"; import { assert } from "chai"; @@ -105,7 +106,7 @@ export default async function () { // const quoteMint = new PublicKey(quoteAddr); const amount = new BN(684_208_000_000); const price = new BN(1_000_000_000_000); - const orderNonce = 0; + const orderNonce = 1; const vestingStartTs = new BN(Math.floor(Date.now() / 1000) + 3600); const vestingPeriod = new BN(30); const vestingAmountPerPeriod = new BN(3_759_384_615); @@ -151,7 +152,7 @@ export default async function () { amount, startPrice: price, partialAllowed: false, - expiryTs: new BN(0), + expiryTs: new BN(1_752_508_800), claimType: { vested: {} }, vestingStartTs, vestingPeriod, @@ -292,7 +293,7 @@ export default async function () { fillOrderIx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; fillOrderIx.feePayer = this.payer.publicKey; - fillOrderIx.sign(this.payer, contractKeypair); + fillOrderIx.sign(this.payer); // console.log(fillOrderIx.serialize().length) @@ -300,12 +301,8 @@ export default async function () { // console.log(fillOrderIx.keys.length) // console.log(fillOrderIx.data.length) - // Create a new transaction that uses the lookup table - // const lookupTableAccount = await this.banksClient.getAddressLookupTable(lookupTableAddress); - // const lookupTableAddresses = lookupTableAccount.value?.state.addresses || []; - // Create a proposal with the fillOrderVested instruction using lookup table addresses - const { proposal, tx: proposalTx } = await autocratClient.initializeProposal( + const { transactions, proposal } = await (autocratClient as any).initializeProposalTx( dao, "", { @@ -318,9 +315,8 @@ export default async function () { data: fillOrderIx.instructions[0].data, }, new BN(5 * 10 ** 9), // baseTokensToLP - new BN(5000 * 10 ** 6), // quoteTokensToLP - acc - ) as any as { tx: Transaction, proposal: PublicKey }; + new BN(5000 * 10 ** 6) // quoteTokensToLP + ); const transferIx = SystemProgram.transfer({ fromPubkey: this.payer.publicKey, @@ -328,7 +324,6 @@ export default async function () { lamports: 1_000_000_000, }); - const transferTx = new Transaction().add(transferIx); transferTx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; transferTx.feePayer = this.payer.publicKey; @@ -337,14 +332,20 @@ export default async function () { await this.advanceBySlots(1n) + // Process all transactions except the last one + for (let i = 0; i < transactions.length - 1; i++) { + const tx = transactions[i]; + tx.recentBlockhash = (await this.banksClient.getLatestBlockhash())[0]; + tx.feePayer = this.payer.publicKey; + tx.sign(this.payer); + await this.banksClient.processTransaction(tx); + await this.advanceBySlots(1n); + } - console.log(proposalTx); - // Extract unique accounts from the instruction to add to lookup table - const accountsToAdd = proposalTx.instructions.map(instruction => instruction.keys.map(key => key.pubkey)); - // accountsToAdd.push(proposal.instructions[0].programId); - - // Remove duplicates - const uniqueAccounts = [...new Set(accountsToAdd.flat())]; + // Extract unique accounts from the last instruction to add to lookup table + const lastTx = transactions[transactions.length - 1]; + const accountsToAdd = lastTx.instructions.map(instruction => instruction.keys.map(key => key.pubkey)); + const uniqueAccounts = [...new Set(accountsToAdd.flat())] as PublicKey[]; // Create extend instruction const extendInstruction3 = AddressLookupTableProgram.extendLookupTable({ @@ -367,7 +368,7 @@ export default async function () { payer: this.payer.publicKey, authority: this.payer.publicKey, lookupTable: acc.key, - addresses: uniqueAccounts + addresses: [daoTreasury] }); // Execute extend instruction @@ -379,20 +380,6 @@ export default async function () { await this.advanceBySlots(1n) - - - // // Advance clock by 1 slot to allow lookup table to be used - // const currentClock = await this.banksClient.getClock(); - // this.context.setClock( - // new Clock( - // currentClock.slot + 1n, - // currentClock.epochStartTimestamp, - // currentClock.epoch, - // currentClock.leaderScheduleEpoch, - // currentClock.unixTimestamp - // ) - // ); - lookupTable = await this.banksClient.getAccount(lookupTableAddress); console.log(lookupTable); @@ -406,11 +393,12 @@ export default async function () { const messageV0 = new TransactionMessage({ payerKey: this.payer.publicKey, recentBlockhash: (await this.banksClient.getLatestBlockhash())[0], - instructions: (proposalTx as any).instructions, + instructions: lastTx.instructions, }).compileToV0Message([acc2]); console.log(messageV0.addressTableLookups); - // console.log(messageV0.serialize().length); + + return; const transactionV0 = new VersionedTransaction(messageV0); diff --git a/tests/main.test.ts b/tests/main.test.ts index 9cbdcac49..3b994b9d1 100644 --- a/tests/main.test.ts +++ b/tests/main.test.ts @@ -44,7 +44,7 @@ const MPL_TOKEN_METADATA_PROGRAM_ID = toWeb3JsPublicKey( const RAYDIUM_CP_SWAP_PROGRAM_ID = new PublicKey( "CPMMoo8L3F4NbTegBCKVNunggL7H1ZpdTHKxQB5qKP1C" ); -const STREAMFLOW_ESCROW_PROGRAM_ID = new PublicKey( +export const STREAMFLOW_ESCROW_PROGRAM_ID = new PublicKey( "ESCRoWj8QUJ5cTXCBWbGpW6AzaaEAtRbZuwKp8c4YYGs" ); export const STREAMFLOW_VESTING_PROGRAM_ID = new PublicKey(