From 11f3430da75eb3e84663c68fccad62a554f5c5d7 Mon Sep 17 00:00:00 2001 From: Frederik Williams Date: Tue, 4 Sep 2018 09:29:40 +0200 Subject: [PATCH] Backward compatibility with Java 6 --- SDK/build.xml | 3 +- SDK/libs/hamcrest-core-1.3.jar | Bin 0 -> 45024 bytes SDK/libs/javax.servlet-api.jar | Bin 0 -> 86333 bytes SDK/libs/servlet-api.jar | Bin 245732 -> 0 bytes SDK/nbproject/build-impl.xml | 632 ++++------------- SDK/nbproject/genfiles.properties | 8 +- SDK/nbproject/project.properties | 22 +- .../queueit/knownuserv3/sdk/KnownUser.java | 43 +- .../knownuserv3/sdk/QueueITHelpers.java | 66 +- .../sdk/RequestValidationResult.java | 2 +- .../knownuserv3/sdk/UserInQueueService.java | 17 +- .../sdk/UserInQueueStateCookieRepository.java | 20 +- .../IntegrationEvaluator.java | 149 ++-- .../sdk/integrationconfig/TriggerPart.java | 2 +- .../knownuserv3/sdk/KnownUserTest.java | 107 ++- .../sdk/UrlParameterProviderTest.java | 5 +- .../sdk/UserInQueueServiceTest.java | 77 ++- .../UserInQueueStateCookieRepositoryTest.java | 68 +- .../ComparisonOperatorHelperTest.java | 4 +- .../HttpHeaderHelperTest.java | 19 +- .../IntegrationEvaluatorTest.java | 646 +++++++++--------- .../UserAgentValidatorHelperTest.java | 52 +- 22 files changed, 762 insertions(+), 1180 deletions(-) create mode 100644 SDK/libs/hamcrest-core-1.3.jar create mode 100644 SDK/libs/javax.servlet-api.jar delete mode 100644 SDK/libs/servlet-api.jar diff --git a/SDK/build.xml b/SDK/build.xml index baaac4b..025fe0b 100644 --- a/SDK/build.xml +++ b/SDK/build.xml @@ -51,7 +51,8 @@ -init-macrodef-junit: defines macro for junit execution -init-macrodef-debug: defines macro for class debugging -init-macrodef-java: defines macro for class execution - -do-jar: JAR building + -do-jar-with-manifest: JAR building (if you are using a manifest) + -do-jar-without-manifest: JAR building (if you are not using a manifest) run: execution of project -javadoc-build: Javadoc generation test-report: JUnit report generation diff --git a/SDK/libs/hamcrest-core-1.3.jar b/SDK/libs/hamcrest-core-1.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..9d5fe16e3dd37ebe79a36f61f5d0e1a69a653a8a GIT binary patch literal 45024 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 UgpPtD2z>DYYp}SJr5?)v0beu;=l}o! literal 0 HcmV?d00001 diff --git a/SDK/libs/javax.servlet-api.jar b/SDK/libs/javax.servlet-api.jar new file mode 100644 index 0000000000000000000000000000000000000000..8161e88b90997cf904154544dfd2f022e46daf6e GIT binary patch literal 86333 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�(326VBVn=kclwd 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 Jdw_Uu1;s+9naEbs3qXDf$X#4OFk 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 literal 0 HcmV?d00001 diff --git a/SDK/libs/servlet-api.jar b/SDK/libs/servlet-api.jar deleted file mode 100644 index 9ed1b94f78055eabe4ab826fe696c06e39f81629..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 245732 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�_qGdWe{To7HX3^vpiK}p+nSwHWr}BX7QpUw(qi};2Mh&LqI0@m5 zzp@U*(spv2)Pi^pg`xLm4^~`9VjWSXkH0MX(CoPpsH#4Nuxx}97ci8@ignU#sK_Aoc5ox=R^@mi7onK$tF=*W z4{qnK^`moQYwcf(O#f)>8LlSdXO~B_*7<<7bj-!^eV3H5Ci=4dCJKjv?1SodrT2`k zd|)o~ai%rTvVdnzRKSSh3&Kq(zQ;Z*O6qg4S=%f#jh1nq5G-iDIn4n(7Y#XdnT(%; ze&l+I40TT+cfpwd0j3%Vcm$IYZqrkT3-hAdxU3PI9Tp#OZVEjt=c`l@N| zpPL)ZUq$~-UowvV24ST&+r6qRhpJc5#XqmSUo6Y%{*qndbk)N(^)evNCSF67si;Q=L4eJyT=9X#05()glkJumN?2L zqa-vH`OQe}u~pWpR*G!37{HBs{rC4ofPvXn{%wIY*u?{AbkzDmO=>8^C`JwInd{MN zo*5{+eFYP>XI5--Q+j1Lg=vHwx!9w#=8k{I-+(7Tx#+fX<`}<)dpMF0qqhmP!haRy&bXK9Yi!(Uy`0-?mk^;w7y{Z0K`-& z)>rO16-cK=mI9&OXB{C*^;pngm)}RFr|D{eD4@6wF)mk{;=bBJyVbtyRga_9+d(=c-O4(xtXRwna7 z40EDGp3KWp`A5n;HOK%ln`MYU=pN}s83%+-Kz=iXIx*>27c^#eyHCCqB+QWOqGStOOA_Lf(htM`^{xO=L_hXu+rsxr6Iyx_`D zbdpn1(n@22f)w;0DR^Dpm#IV*L9a3&+|@lx)kPHhl+(_u+{A!xCvOe?H>56~Y*)Fd zl(S<1{MgO=XRnvDvLjiIH`BZ%*ToUlqVR|5b0tY=ES|G{cwIEs%vOf10l&wl>*Bzg z0{BvI^cFbpNmq(%ecX+V#AJ&07>5j19pey2e&^2>^l`f^OZH9(WcHB6T9d--DGc+_ zq>YU7x5aAM0naD!A|zQ;iZK&q1SAc#V>Jj9oOug-B2g51hA<$<+JUSst$&hiZb{s# z_!wGl-Qc2m<1k}9=HH1dx3zp?Yz|iS3TBFtjguv zgWPrdAxS=`4o`@|$u!sv4UsB6!Tae{Aoz__2U6)4cl8b3r&zR=Z0U$%g=FQV6nvb6 z8C$AOKc)-9-c-XHQTvy4%L9iK<*GtHjCXAuRahprfQP{gAptwB!%QyI&_}%Ti7mNb z=*U@NKGlq5 z0LEV5`GbCfUMKowyP}N!(PAg^#laq!emsq}*K#2MA`kHw#%2qRJzAZ4Wi>CGCKqAc zs0DnAB^Bzm?GY5$f2`H7vS%;%#~(Xf?Zhb5EwH0_0LnE@D%yhXV6t20Z`RhF*8q)C zpEhBs-`2%mMdT%hE|>na8)P{DJ0~<*j50x|-8tMZ48B)2#B;mXgNjnQf(@X3$z-vu zJF|%Q!0{mRW0Bt-F0d)F=0mKu$C4Y2k1>7bZ?$PA`R2uV2+t>WM8^*D-K0^SR9$w)Te+>-H7cOLht;*O8xk1?F z>1ql|ysn5sP5Gh3g0%kG#QH%Z<*n67#x>`p=cWYNcC?ha-K{$6hU9+)G-JmUl|n@F z1G8R`|7r&KNj+Z>R$sXcYhv%i{|*yr-%;(VEdm?J?Is%JUNcE;0{pn<*#HmzWIcR=)7~EKP@S@CbkYL z^)~3#(w|bB={$0U5Tsn=8APe@67%qm6WwJM*nl{?Yu;iiuNF8c5hhOeVg0B)BfMD{ zrcF(sedNbMlFrdVo2u=eh-gJvmZ!%vnNl-k=UiD7`50;MH6tfqfIb@X5?i{7%|-2} zXWBXYv$5`iO`*Vw9lG*Dd}%w2ccp@w_wg+OoA*DFr_?tJleCEfG5sjo+*9ucm z9eI@9dxw|`MI)lx+=csTfyjUEd@4B?miBvRQIwAty0Mm70k+Sh8 zb5h#q-sin~QTl@_V9|mB9LPB5%&3COfYTiIB8TVtG7OA!tMNFiU6%=c@- z@Au`mzEfF`uW3RMlyYCj%rlL--}z{r3vi}>ti*j?4S3m1BPf~@(gbR$Qcph;Zd?lR zcCdYK&?#pxr_NrY#5sn*QKqQH$W30OxPmd35PQ5;*IsU9$+8-XxmXT4T%?{!qB0@# z?$3<9a+K<+7dF-wrOgvB92qy3E)=S1t4ZKTTV2^~+Z0zkXET4;-0kWNI<8K1MOEh> zYFx3m4S;*LwJ%`moX-^Y(+_B^#})f{B`sJMschCA!a`{nOLgs8KLl*SW9rUXokrSr z0U3~wB?2E(IWu08r#}RY^Pe6aU0*LAYHG55w|=Z$x>@bgw;O)O$MZ%;R-G|CB!@}( zzF)4;bOBR(Udz)au+TSdwx^G%qpnA+)n;l zEN?Gh+ z$Cpy@fCpef1!9Y~%__0xTZeq4YYVx0a2vf5Ztl5h2O{tKawk;ivb=4a-=H~D8!jqw zJzpoMIeTy>ITb9@B2S1wf&#P!7;8cyxbMQ6#yKi~Ghg6w5Q8=WTb~pK4r~N2Gz1Q~ zlJe$!zd!#z*sr{lg!2A8E{t`!j)+QXXm1=((UXbS=-??n9E+Ha*vi7`GG$8SB^n(97oxuaCP?)B(?F!#lKV ztim)vw;+H|6ccO`ML4`XP#KQCbACLVn&K`@k2^^r-kE1H+?(w?twqZ7BkFLPC2uKd z#bY!Y2Jtrz$L^~v^uhKjI)(Z^$rMv$(d1e26y4uBL|Za^nCOesTO;co>B8g2I1 z1;DcmGv+mH?N-;$qKlz*`n1arJm+K1$k2{-T!$;WleSx*bTuAJM;`|u_;jr+Ey}Hv zYrC-m$;w{@X1kjR5*Psm(xR)iY%g0u;OZpl)odWK{Z?%4!K0Dys0-#t<*g7rD6iP4 z^sNpn4=H&fzx>~qH4=~0FZAKDs|oG*Nd@rAM&}Xe(oc$DSJhD+jOxQs?WqQQR3ngO zW*!Zh6_DvPPYorBEu^~V>bMk7L|q7p_QQH`~1NOVi4wJGgvn4i1& z`${-uCW$i~{Hs)Db{9%19RXW+{Tf6{ccHY=wz2Q0FJeCfhKtZSz#|n;l?R|5YgEVl zpKeV^;V1vu+3dj&+k<9$q*%)PYPr$_@fRw@UOG#c#so*^GPf#Z5)L9NLKwGNOsGzi zGh}kS2k&fAUlQ)Dt5UXg*2)v2iEx{fTIumkOB>_YC5^=z)2^7?N zOU$^;9zLDBU93IZ^k>C5MD|59)J%=re6E=e?6S(ZYk}{j)?ksZBzLv~&U+J#hd_RG zeB3Smwzvm7Gl8zi>t(f9VvG|ABF@{^_p3VgH5Oas+c%;hBXN%f_Bneo_kiU&a_+raf@3~_p*Yn9v=o3Yh+sqRKE+=Co=;EaEmO~Y8sx%@ZxFZ(j z9K#^Jz&2|SLT~#Okt9~NBvHjMFUr}$n)pCOs-{VTB)_#u0mxs`ORW;h9-xx0#Qj`g z%RNdr5n|5a`6*i~x`puKyib&4m13yRfKXn0q)5t6x5tNLz*koeUip!w#2({wz9m3) zA_mQDMViAE(08j<-A4L;Lbh$Yx00jnz-L%6p+ALG@rgThD!~HP-U~Bre0i$X*IF#i zfCITvR#@{0~}l3HAqhT~Vp7uKM8Y4`6iTc|ACJ>B8um-TLjym%p(ZLDhR zZGr<|;Nevpa2Wrv*lKqM{>^OQZ{V)%N{@}Dm!#K0JLYiC-CegR=EPn#8jZ1PoR;^o zs0F06n@)Bm@9fCpt5f9tpcg66Zaf4nN3yl5kNJ!YTkI-z_s#UXTz`23NLrdUE#_%- zG_5wec4)4zG~8RP9rxZj;E9nJ4@f0$WnX+% zm=A+3tRlPDplOWoGD`<4h@B#E?erl;$(4w2Sh|DgwT5+{Qug@0lY6aondq}KKW}}& zdft@lvcMpg%Q&#;l=NDw366I9piMVDy>*E6+eyKix-oNwjkumSfm-P71+fH_)30$Y zV%}(Q;GrpB_#c(vH9Kh!;nYHFo`gE_i!*D##dUCmKl8Xr;{T2ae;g}{ zuM=kq`G#0)CURRtwbDu35G<*d;@LGqv%yc0LtzQqQbG7!HxlhYa^pE>m-s@1LU9ZG z^1G#eOgwVYu14Fzj8pM|q#=NN&+geQUn95JPMcLjlA+Eq8FPG8-wizP!%29jZVNPRXD^h#9O#K0lEVGliV<>;4v@bMsE-y^x8M?fM z{x%5-CA51UV2@gIByx?$iHS&!CYP0z%&Ft#J?<))XWl}dQip5R^=*KC1jrdF9_cHW zy|3J+@N`e(jLFhLyyI!PyvyFX?0pXN%{QwV*z@>~!RyYR(prm~8@VuW@%$~VTgt`G znvIcA zV!}+~*Ec4FLzZkn#JFWyD#FYuSuith?VC$ZKsKXi`7f=Rm|nj-tiYU6xOJDcO`K>g zAh}U6QZ+GmRQrdk2bbhJ77C(ZT5?dki z*>GUB?F!;AxVPyMKCG!tIwO6O96vaSuNnz_e4S~MBBg_HMgZdReaUxSPY3~wvnN|U#)g$)eX7pz2>d;Os+ONz6ymnavL- znQg~g&saA_7~_FgF$_6Y{!t+JqDr-1SpXbA&V!p=D?3}~$M#_(W(Q=Z#VuCXkmu** zB*cG<_2Zx+kp=)yU<8Ym*Y0|0Tm0E{&!uqPi03BXtb%gYUUPA}oTI}qa|O3MnxmX| z+DNoe{Wr|eDr%3CGe@>by_kN-x(V_TGSG(eh1w{%Ecx(&tK7B5>NSS*`7hezEkUMR z$<>3e+zk!3^KU{+r6ti>ghZ@xVPO7fPTGSrCJ|V4 z*37o5N6@!wQ@i#8j3)n_M7~joR?wJ&a{atS@yzI^OtVMb+bdEYx*%b5@hj;5{L5EI zarS$yD>6U@7VG-*4oy-hJ_G2vfI|?L9Uyj3Xi*0Am~Q^@7w^% za?lF><{I(kzqFr8V#mWP#s!A&-(59W(wnEX`w|T{dRZX7#BjQ(6}#QCqxT>lPRyLr z8^vKEqBZ6237UN&c6)6_`yKQqW^F((3yM1uO+cGxPnJH2{*fIjL!xy7>s2`l^f=O6 zxC*Y;aG&dBK8=Zr`)isG&_T;Ocxmm{;45BRTbB+ANrBrlPpbQvTM65RS_EtdHyuvB z*y13zUbC+fRX!PrPq_g(4?rJ9WM4uGo#kSPPT&jVx$i>f+!Ofsi}(y?!$vcgTn`M# z+r8h%KoBRdhnZd+1nm+DoZ65yad=Ofe93>UU;Mten?nHDS&>dm{>+5UzE^4EIY10_ z=n3f}YnOO4OJd_l?qTh{+t?r{Mve12Ag20qm9qk@ljMxoDkV8nLnLKqOF>n(olFA_ zN~%vvL_K=WBW=ufcKuPSx>=JFvnw>|HHZ&jrQ!Z zt$EiJIK1e6P6)Rk@)pmjcE=aRB)H(gBB9;WQBlw7g9u-~NXVM}_9D~?Yvx1Y-tjpY ztow7|q|A~=V~6!mr+C6EmUg>`du^9u zglV@JElu=GYULGVm{)gBQDqC2{Rn}zYusXW#wl$FIey!9`_p0OGmf?EvhOzM>^=we zt&Hv8O(^jF`fi3v00&qOIo=|rd6oOs8;kkE#nyA?Y)Q}X_vB4|>*2q@FO(!AwU*EY zl;(5Je90~eFlfz4b^t0XVH8Dj-tuup3rwaXE>s1QamKhn7T8~0m8}xQJ<|;0l+~#16U^*X*;?WQ z0l9;Lun)9b-##&yn!lqctdTUWw3IN@rQ6|-`dxOEplrcv8t4so5(y7?^akNk*((&y z3*oS`4_kqEp6iQ@E}G(b0ylNh{<06JQbp2SzS}?LDwJdH9O7u-N+}1E-I$^4p3Bvm zA72|QU2(k^tWZ7a=}Ly}0*Vh2a62}>_Rfugs#rBWfjzjFt%?|;Wvb|4w9E10TEmc0 zw61~a%OIJAPSh~n8=ZeJND|K&u#V#|fCg>V4UEnI8hc%nM0ZvUWS1dMA-n0_$pJ!k zL+JK3M7Ai<;_8G&5m3_s<2u&0sdrA9&?^)Y%M}|}?n--F7;FfI+USVW0i?B;wO<**;0 z)RLKkCOZ~55X0GC!fJeIEsSzvE+bPrt$;6V9J}cLt7zU^h!sU8ik7F0aj@E5?w;S+ zpS^!QyRVFcj7 zJisyM{l`IJvH>B2im?8UIULfb-bc zDj44Yh&h;?FZEZMkb1yhv^=0>K%Va)XNY=e0QNL~W$#=6UI4Y}rL)`}g1c}`n5hp)H(bj!0>!-MX(#aL z0-)d&)&O$=KG{etUDmSxb=ir^UN zp4-?=*}3YGlX@|s;^oY^)F!E5-AqB|DsGdGVCv@fF2f1_G3rBy4rfpAys2EHlzYXl z%v<<(A7Mhqj{SZzmYZS3az#E6U3J_7KaMbu&*9J3}! z&sTY{Y1)G-PnxF&n5K*_&EHCz)yV}EtmYw27w1qE>x=e?ahj_9z2x7-tn=Sx`m@}s zi>ul9NvK&W-Ng>wFzR4DB_K18_XcshQmD9Qz64F)r9*%=i$5(bO)QO2ViYhH;WlYQ z#;PzK5(!S_h;F(~GUBOf5YOx|UPnsnZN)yyn6qQCuJW?V2Z=W9vGhAW>^9`Hd9@C8 z=|bwXt*697O*A7_cyX1K__pY_>b8bGn|F`8miF+`)+Ot>9unG=2X0PoN-0N@|B9s7 z_B?uzBOI!p_n4Os$tFwlxU@p&?Wlb+t6LOZ>)=$%WPJB!)2NgYmK{gUZ?6SO4*#n8 z1YWTzTd4`!Dk+SSdXbDc;xGr4W&unaYUc054uk@+la65AvPHVWu+^#R!~oz$oGXNF z;));YvY5tnf0=m#R_ZWST~U>*!%PV|TxSk&vN~rWo&?{}LuIt#W9rZqw3Ky!B{%-`i_TJhew-CsMP%qY-Mysbd2{el0_Xv=2w!YNP#0HpE!e;RGp{~2v>Yey{B z_}iDN^&h$tE#*S)xcY;VXBr)0&3Y=*@wNJy`j_YF3`u_?qG;|+eK0}sPSckjUDpGg zz&sH|_I#svK?6rWk%BpZci62C-)>CPF;H4zjYD25t}EU(F*hD65p$pCf#DJO8jqjm zyOXY+ADb76sO-o+cD#l{gCmTZn6=bMNUVE2mgx$MdoNRP{Gh zAJBVwjnTTPNX6P=Vo#E~r$M#J{b#i|+1%a`|60LCQUO0IoN{cCm|>Mq4Xf~qe^;bh zs2Q?I>ea=Q?;4hj)`WN|5dUIrbXh;Ww^-5?I@W+9K5@RW*dt6e`cm{q{aH(f1R=&M z{{|;UBVE8x&t&?)GK%)wcz2OJ4BosaOVdH6je(ADXt|>`vcBHyyfwpV7)4Tg;6D1M zottB?7!xi!z@FGS*v}OeP_Z0)n^><(2uf0~f7IMc_l&4`Gk_8gD*0X#)JBwc z^C9vbl4BIdY6#Mf37hIYzLV9zA2LtIMyVkA@&O|k&JkOUu^`wdiwTAGqgP}z{|+AH z2jImnXTr`f3yqok1zep^hViI8jOy6~Ba(oNok0dZaTX>8LvpX|ERkT?$7LV2G7=>t zsQ~FLL?v0UAuxP}_*+baROcD~7UgLb67ooZF>*sl#W#cH8l~ytm-O#=`P@OsXAM}b z{Yi^EvV#yu-s^Qi+k?&AsqJ)Vn|zFsL1F1O798M6=pd1yiI*`Jm_ks+z2?^sY zeDi}{u+47L&J{a`!QriX)y_>OFZ6g)hI(-e1URyfLOi2+1B&sPX5J5zf)D7zfZo|5 zvURu6Kl;R30r5s{3Qk}5$U<=riUcx=eF0^t*v!BRhRVnJYN{Kl69BN{_uh8)R)Gu2 zd;9S+^&*lmitFFSJCc~K3jFpHSl{kDmP)>+V{CW=#_hyd0do~Wt@7I)h@n>LgYPhN zbx!;mZvCyPVX)e4JE(6Zt^O%MtxO3_{DTkR{b&0cqc5`*a_n}Sr3w!RDknQ`j&0rzdy_jbC~}j{lN8cHyHzd(b`!DC%w7A&-EBCYogfY zR1dr;<>!r%<6#9*azeWHL}!TX6t1w%)MQrOCV6W@t?6c1PO&@142FBM42j+F>4TeC ze#kY&v_7Vr28qJ&HdWBHThrE@gaJW6=CKHjm~hwOS}D^1828B#Q=s6W6es9fS!N>k zTbPW(pL&w%C;t8=zbt8y2_FT z&4zaM9`PG(n)E&(6)KTrDT2T=kPc?@1_rh=zHj^=6@F1h9$f--t4gfmYAsbztI5EV zwv${EeQfMV#NMClB6>30GZ5Q%lZv!`g@|YeAO9Zr6?906im~Q462ch$5f0cZGSN z9rM)1ZvgP#G->4+Q%ZiTtQUJd>$_)6H>h(?s}ZrQR_0;i*|#dX-$I&Y<~Keezz=ji zViN=-Z=EM4`4`-u4|fxUZ2yDYVZV@j_fdCHMQ7Uu=+N`F#$h=CTx!FHJ<%8U(J#~b zPa<`P=s&psL2gxB&tp-$K@&`JAWkFFIVTH**}?WNpr!Y{=$9T^F-%c5X5A!G$&o&`KBcEU|(B z62y8R=5+bj>FCllxPCTw$3Hb+Ny?V?vynM1^I(I}g(A4f`SjSeO8smFB6nv+{Z^_P z`?nVKJx+(RxX8?cMvYm%noEBP+Ps&tX${W#nO+OEnU$P!n5^i7T704uI@{wAP3jgk z-c$uyw>Y8so$-;kY@CVLvhCfoS$sjGQ4PM0L`xxglVRR9pf%710>sbvptAwmi57hw z>!|id&{D^bJu;V+ydidU%hk4rSf2M)dN7j^$su z?G)L#sQ^r*8~k^8`X8vGDWX1}z=K{N1bij@c{dj`H+AMrj92qu8$ zSPuX{b3egbd_hMWk1SpQc1sOQr3MK*br3ide6B+>3UF>3`(?8?dSKaOA582272$l5 z_P-)LPW|Bj5#g6wgc(?20Kl<1$Sxpo=es?y07bq@u=7+^K=^b3BCTvVK?c$}V12U= zSbkz0dv9Tv?r&mouj1_iOH_agHye4ro>?5Va+Tg zd$|+dP&z$7Ti3i#9%Fbmccf=en-{SJ8LucZ#p(=2W!qO4Tx9nPk5(F(qELa{$5Dx+ zak#;<#`dnWk|XBDv@vf=8M1BciyeK(=I+h~1N|OusFVR7taO7hz(_#9a#Yn7%z@}7b)yd7xF_yQ8K@RLChS21PcgRPvz9l1!+ zB4(~qga_bq_L$UU#9~0Y`0Cr>bp$W`;D0PhIxE-JqMa6kb>AWjPC0|~UDk)E*|}jU zUnTCALY)8^wB(MAL0T+gtLCio zDmS^f+~3y)0dA-HLLwaZB=p`xJ(Vb0Yh>Da`6=W%P(6R=lzF&t2M{JqOU&d*{@dju zyHDB+0F2i#OOujU20M^=SM02DAF0`*xvk5Jl*Yca?ABB5(g~X7B|Tt-fDElfs-# zSs0>aU)0CxB9zgd5hzn6=o$j&5&wYg#+dHQRS)6}*Dah7}eBBGc&=$^n1_DDI<5Mv6eP3-QfJxCxASkyX8p?!d z^SGJ{IwwU#Oi_Q@P{Dij;LHJva^Pmkh8$^JfPu+8ZY8tshX=<= z6-EVFQo4kOI`tYAeT|85h5wp!LjhC}<7$FQ1V9kT31v58d3w zI3dfjiU z1ZGBxGFD(3G;>?j!^?Q^>EF-vS?HO8+OwP%!bp|Y zA7WD00pemBC<9)g5@3me2oSoL>S#Jkyv=p+mE`Y#bKs$$IWY_}@e>vcIZ@pq&)Jpz z@ndgNg|DB3e@nDr@x;bPQdu3-6IM%cQ)lU!a)Ye$PH4PJa_|JVXbW{=H2w^dlK9f(<*o|wstu0F%iPOWjkB#wQq66( zD)Xgt#xv%E<5a} zff6<;qpkWMcUM?Z5}-=S{7#Q=1Vh5wSNu2~|HDlUkklj|6#M@7L=T85<5q)x(}*E+#-=R6jqyM4er9gq&{t1Re*iYa8b3AgNhLY-w!DQidRWB~o3*72{|m23CgUul5Er`T=O^Q4bB=Sc}@DL50t1OEJIkP%=w z_p;H@3#xn@j4;I`L-fk0dZBF|Sdx2wOBW&~6^r=)Q1(timb8JkZP_-vY}>YN+wQV$ zTV1wo+qP}nr~Z9*#C)I=jxlF4dbsv~$a^=yf5?08R{kUj`0tsuQ&+0AAq!n$bcHhsmwKR++F-c`ppCuQx%jMNK}a@%zuM5H2)#nCEVT=xn`ssUD9?nq9m{(?b|3fn_c!wbczWHHRI3A=}J2d zONDkgUsuMf!M-?rRmsHB9{a{1pdJ^4I%9XdtY@zTzGx==4Wu=m4mbqgjdtuR0uad zF2ROZ2^$%v!Z11&&z<~~X}6noj608v5E_%3FV=cTU~`O=LE-^eBVr1BKi@C-en>+o z=RWC3tMpmopDvI4*3b3e`m}y?R`AJ#hjwJ{I^q@fOTN1*vjXM)%!fAp9A|%WSvP|r zOmJ6R5JvlI-c%l2TpS&Cb^vJxYH*ocfS*_>w3CraRt!Y75tKZi3j3=3aiky*6$prP zlC~y_gct?kFn7b!w?%%GULP3)`O^3a=l#FnJ9RTTs3-NNkhSr!4@U1?$R=r+zc1kI zw8NE_GGcCVnkN3Y=#R@bFMP?o6BIH)%%^4kIA&=l0ppU?!k!xsj)YchA@AsMq&Nvh zdJ8Ab%q`kOash(TCfFM9a2kROj3*n7y|O45x4&&tuc6!|+u z97Iveh;Rv~e2E}xF3V0?dr{CeaF!g!bPP&4<(Fr^P5nE!$PH3gTWq^iRx)8Nz#6O) z6wnyH=E8m!ic5RCU0$oiw?$^%)ma-cok2ejt7aL$DwRxZ_>C;}SvksAahU($_Y~S+ z_>m>5pKAo%W(ImYg!%$z~RbyG1(t@oaYZ;)kUp@O2BPF3FyVM&O9hxuzqU0hAkU51nLt<^8k;_1jqPsT!d@MQeN|4;W{0Ubow zn8^(oNyt;Dl@i1hzPXDNcknr{f7WmS0f}0h|8D-|sCTD~_du0(7IAlzOK4wLsve2g z?rEawd24Li@An(S0newl8=>n-Vaq?z+e+w>dQ)DTOjnW>%Y9PNMe+Lj+HIbnzRJS8WDk03vdnkxLl?`SD?2no*OY;&ZI5vP}fzUI0z$niapg48~*fmF#b0GPAa#HqBKx!on`6JC{ zfN_Lg^u4TE#H~=xKgID|%1wI6FT|j1(sQ!YOH$m8e}`|XY!=^XP}EEa0P<|784aMW zBbM*;YdXdI=7{Zy1Qb%9Mb8j;I_O4!%yJ^%)w9lxP|QMqwVkfY^2P79!IN{dEqYIA ze7Y=Fluy!$zlJBB^3TX3?$GP80(0;ROIjhlB@+8|U7GS?2^I6t&GJohS_uJvc^a)z zl(JDU%yp7T@Gn9l;Ab>^iuL3H#??7Hf9dzic%I$c0?a+p!UysNejZqUJX&|(safw5YKW#-xY_Q(8n3Hu<|TTwvgBY$mIqmb8&0Fev(-n-N+kk07XVma3v6IY~#11`BtKH%bgxqCQqo z%HT?e#34AmNTj$8mL_W(><&>ck8uXCVtb8lW9z5hnz;GL$@XgwyZcZCf_tIO(4!*0 z{h~IN@AlCq8$lQ^fOky2aKa!+uE54$zAPwILwtm zgW0XLz-PHk5b%ae7kfCo(ATNZUgoGgTYKznQpHOi@B6}^!|;i@`EornlA1usOt1xq-Kmgt~+ zw+&mYWHo|!3)Q>T8`GR2-f?fNuK+n@L%c;6#E-}JumO)`RBEV;U;M_{p^_mxyTY>I z+ek*gG3jw0dM5IWzxWa?KocT#)~iCq+G@eMR2;VruI5H+btjkXGM6{?^a(zqGR+rq zC$goB!)E{7eY-{m#}|DfRSkdMSHJ=`4z?TzS13YFip;9BK&$AOB#;{CeqB;Fp1+`;HmL-+8JJuBBb z!@|-n#==x8!y6&YXf8jB6}?kg!y)S}?ImX$W5Ub*_4b#4=eGij@&qR9n$Cwgdq3Nw zpf+HXlpFI_I_o&U=LX#ZTOMX?1I?dRu=$AiY1~p0NXx4wpE5l^P_(m+5ad-lA-I$mcjKDZR2KY(CK15dslbv798&y zaDRwyZ=_@~(dr2_inwCU`DSR7{P*oJu}4$3yV7Bm?yr$Z%cJddSybmr`D!LR9g;CD zqXl<2YXOF8-9h*0633wWCGMI9t&0zAtBrM!>tyw`J?|b{k!sFEu!Fo%BlqL>^ced! zli09@TXM#;QFF=hc#F~D6SAF92O0O{{jlcRdo>Es?%_jNs`z1_R&^MZQpDD}vm z%J*@7zUG=RkzKsy;Es*0@@eofz+_xhM>+4BsQY{|4Owy;pbD?>C?7mdk_cWOX)Q7b zAej-f*upjk!?Kqj;vaN^?hA3A&taKM6IVQC{EX=`b%V%Txm+{n9H2=UUz;wSRPJvC zKxj$V##)2$c42nHExeMbq<22(9KBUv8X(zj^2u0YK~YXj6+y@8n+}oeMMo-h-m<== zloyh0l@kMI*#T~^LTq2<*ar@;(C|!p(xT};M(9Eg%`bwV78HLR3_!8h*pKly&JaU7 zz&+7Y?g><%_jt+Oz}wuC*EYpqvTU$IavRt`v>%_WK-;`LTRd~GJB2i#O9eh1J6j&R z#wHHvv&L-uJe9#ytLxTlgITohu+DX5vT|;N<|O$&+^|Sd5Rm`+_YIj{j{7#GVYHRf zXX0Jpf`V2^&-`?{uI&7d|gzj5DV4RnMym1s}{srK1 zm_(=PSAKx@r_s#fpzmXBzW)b+-y!|^dE#qkJ@b8yJ(%O$UGa5cjN<{Z!o2J6&wnct z^CKA#x_rIs3iH&wl}L|K(mP7%R+3)AQk`hx%r%ztCcV)|-_Z^c=rb83*G;;oHcV9c zT{HUu-h9~kc|G!Hh|!ugyMuFOFUkV+3IzB}GsmJ-aGWGX#&2>`$1M}XQB;hh`z*#p z_bI#yZ$Iq0;j7@dDnlC%uiz_9P+30^kqo~P0?*31i8uo=UMR;vTl@1>fwqV4jRd=} zP6Tj(8HPXO>O#)c=T1<5GV_n;Z3TCgYstK}Bk<~aOKBsf$$~TUi_dz__YazHtjG*0 z`*m4DEi^j`kqEP|kJJ9*ft2o8-5-(NCmonD-bZzTDJw{}95*KjH{cDcle}H$z+Cim z@5KEK@m`O;1J9}ki|gl56{`mo1ejx9vn^;C+ym?3WlBUbjfY( zwinyZSNyf#tkgW%dX<#wc9F4(GPt_x(Rlk`Cpl2+l_w-F!pHW*&GtiWt#`iL1gF?T z1B{GoQEg?5>8K)03f7KPm$;_7>A-E{%19;aKI>2Ns=shTd}t5auB^zZZp*W1rECw; zw#JeLVQszY&8+4$jt<-h$?zq~Bol}A>Bq!fE6<8mfiYef6OQ?5b`&RULgRz*ZQUXh zCOY>c>k-dxmF95p&0BXbwJ9UhF5l5`5|m9qWC!b&4q^=ktRODA2DZDRdf#=PLL^GOutOL&st7bCfnWaFg+NLs9h!Kuk{!oR z(9N}ySj&x(U{HynSANdtjB3Jpt1Rr1{oXl3Q`bDUX9Ol`04Q(vtdnl=dZI9^x6eiN z-lk>1s_~uE&;(D%`M2AMQWk2eZv)kwdn66`$UgpN07o|{F%iz%%9JQcOkejQv{u+&{qA4^Wt!8w%o9uYZlh;x zk%#afi$h#{}~R$(24PSJ*|?12-o|Ah}M)e5+^HU9yY!E#)d z9A@cQUo6t<{Z$;+!$Kd%MK1Qs72fP=hFGeNZe;s?jTt;`Kzuf4Xl)K6SR=kJOrmKn z(uy?XM$a)O?&!Py5&!Za8bxS-VDg+Y@Eth+&6Mllc>Iv;j8=Hxs+dvms~_-umszsR z=#v8wlRnR{>r_K>&bOzDb78!Tn#NNlWyTg7Hy8il5#ErAsMmC${mi}Vq~onbKF@nF zR3SQpx+Us{(vg8H+z{e0MV#&2-YC#}(fvB9^a`x*#xNq(7e6ZbqZnC++I!c#x8T~Cg8|M;)qt5gS zGLgMUWK+qf!7~R;gCgXb?+i~Fciv*U8Si~+*MONfY|{93G$b?9ldnEwSYUh(GzBN{ zvkouFk21=EocY_uoHEM1+Fe_&nyEf>?@5O1mlcOKlR+);BVZ)Nd%~e|)Q-$hI)QcA zTv)x(-TuH-Bd0Q**W^r&6L-!*;QPx2;LL2WUPFA0DeoyOf(mg#r{$dFy~Kl{w2(t( zN;bueTA(hYP)FvMCo{puy{Z-?q9Uj380amK432^Zln&MQ8CGO4*4H>r>;NI+x3yQ` zFe(5;ixjJjFs>ApTSTzbg=%MT`?I{KRu=v~tFy)FI)e8|&DG)_ft3Y#+xDbo5fwzg z*bY?cf3D4OyN|9Mbtx_H{zW7V1nf&io?2qm_=GXFRMrIpl6eUI%`MBIWou-LgZpuM zl?yXWn>S+C@oxaEygCrZGsFaFnXgCZSbm7W=IW2$D7=@*WB5zzKd}I^c*QZbP|h&B zxzoZK(7C)deD|0c^2i8RkeFRh=EPn1C1BVvuXqVgR#Aq1>g1-9m(Lb4Jnnm|m`97Q zz%UVdQaj37RKvlym?;V#5W5t920;xPIy<7x-t)NBm_^k$J#(>c7(hOJz-oWjVnAg} zr&Y!!etwz$wBOW)^?bJdB%>^|y2kbKhQI0C!R5r&V&2-4u-blQZ#D)7cNu$ous}N6 zJi_93;IqDvNgAWWlDU}`;~J~uEj+%LMbcx2cgnqZ-mTEnqvv6Gjrv$ZTotgbo2A_K zNd&0+H2E1*H=%;&^LWw1Q3K=!;8bDDrd+Gr&WW?pQDI>#f_1~iVE-X_dxw8;M5?Wt z=J1p42xAkkAYX3YhqQWmXy2l88F5${Nr)>^yx;DFTva55jR%DkL2D8brz%HRNNp#~ zpmW?Cz8;B&6FyBI21ReFOHIyS#+JuD+k<7MNVF)2KUEANS+XKbLCMRI-aB@wWgmce z&MW~UwgGY^Mjlxg`=OuWwV)OP|D;5DY=;odfC_JaYFtpyM}#)K8L|{Q zg3nltkH2_KS?NY>`N2Y&ZyDI2{bX&5>{t=@u?{q(<|d8}Sb=k5=G;llwsoMfyWMA# z1p%vrj!5t)5Er7YWsu&l-rN{375TWJe$EP83cj>iI8pH9W^es7@}|MT zAOlHSS+w2^v@D|ibT7jQ_p#47oT zY=z+@eO2zuaxV+kVibJ!RG#Y0=qp#bi_@G(KyW@AeYcvDebnH|Vwl4e>a*I;wnHr1 z^6g|yl7xfVY`JnJUmJMxjd!(mU6xEiU#Q5y=A;jrb) z7prS!j5F7fw=aQx$EBz zK2teY^O3W0z+!N%>KACSI(*gXClSgI$+s@FBeuB-t`#AK7Xh!wW$Jy>)@8MQm~O&T znm!K4uc#H;XpZM|)JHQnx2^5;Jv>S)x#9K1y?%91#^rxeO=N*SUy@f5BzWjc_xC9h zw|Aq5>ON3%{i$qMhy8TeJo6sGRZ9Ac5T~+B876q4$c))UVui<>w>^={_QRyi( z?4E*Fsxe||ybuL(|TCxqumU0r!a0p>q_FC>Z8Go^5G)856gQ;788PVFLFZulC^SljX9+WE!phjM{__%{c- z4h;vR&$mi&WHyR+n&Jc1+AC030oG6Bt{??SVf;S0a1e3AolN--=BcWZ zmkg~FREUb<@1M+Ur5TSRu9Sl?*?nC~G&;pzKSjS(QkQf$jlKYMQ5C->rj}@M(x0$e zNoO5iXI!Kh@pCD!Jq(6fN2zzmGq3#Fy32!H5z-#UV$g;&O-}w*?pX!~Efx(fw@PGL ziLAi15ipAs!*buAOLYeP+?a3)C&}&iu4q9t2#%FW- z&ADT^-SJd9@p&7havcuM&y**<`iSgV@_H?DmIJ$1$Y+?)371E$SvU>4sTq$X0MD7* zqRU<1sPQAKbg$~mM!|eHY)I~e)ZD4Nt6{-lBC$=`sUe12xx@_$D0W?nz+k$*4)hGX z!Yr?B^U9eKL>zuz0GeR0S(+^&UF-}Xht*Jo)UYaq%NEx90O=b$#=*5d1hHt;C2v{bEA;t~F@qX4R1Pdq`2R!` z{0oEO*oAx?DT%Cq*1K!@pwq3@2*z`D3T^S~_viJuKsGilU+M(hft!{i>zu7E5lt)$ z9`b$7cMnz!TJwR}XqR&vLvx>5-nlBh=QuGvOl5kb_Z&`z6dOI&_7zc@k3Q9A%`q8dT@r1=_QN|) zXMT23h@Eu;fs*m|Chfu;rTEa)=X4@xd|kq7L-wWR0hzo>_vlRBAMqt%@!9O89i}H& z7UCUT&ur-Y>?2JMj@}}TJTljZNLfxki(P*AFc$Z~@17f!K*pOmoc{zmi3G1&j(L*^ zVDJJEzY0z{&!~L%Pt~FHAXmEE6yoq`e+cpX-&P7J!PlAH+5HJc&YS+#T+clKF@?1^ z_#G5clah$OR~-$KGTZq=P%l4U^89C-*cF=eDX-FUG}^NGs4ClyQw59H{TQhR(U zJwA!8#0Vxf#@) zbb)r@G8fw}>7nsrs|446UiUE|g%%%Kb31=sSC3w=N^qA7#^O}Hp5flH=DKJ1dVWVk z_k54s<^N^OuFm}B6okd?&%^&$G)XD@6-{JmE8$GQs_arzq?T&6;p|Qc)MNz$_4H6` zNmdOVcN?|#{c-9pM1G}`q6x3h@yUKINumNm)v;Di7%BY z0mhW6IapO8Y(@A6@|7`91m+hal2QkW6;EP3C-;rKpd9v#<#r%Qes3_-Q0N$C2n^uP zwu>fF1m8d0Q{$GjFb5|KRZ`q_L4(wAfS*RmC-sT#8 zlib{_jCQMV9CazBga>PcA65pe+m5bF2ByjhMBosS(*4RN{Syw9AYEt#TurIgRjK&J z*FBJDAGa$bRll-H(ErFLr2iwETnK=&{~`y!vI)MN4#3>YT;GUrqO3;Ph&5xpYkG)d z;pHS_x2%YG-qY%EZ;88O{y!OR@AaSR6sj=_kP>8H%9B=Oz34z0*ixe%+=l0oml{u^ znCoBN1S_*-`0!UZk%Zf}^Kp7|gx0~X(d*NDY1u5xA}veB0K>H!a8j)&h@xu_%(?~9 z7CqI(m~V0KWAc(OUifXJT;D{qUDC8o4+ct+@XntzpKi!03Y_*b&F4UY8=3VTLFf`eV{;bE_(YVS1 zup_^$!9F4!Ok(Ifws`+nH<|fQH_$I*uJPxwnOHOa@Ft7VKgNu#30%(HSKP>`uO-h zoyy&JJRd8vOMz&|{TW;XdHGP4w=Hg_I<>l_n~>g2JCZRV(`! zFNmG4cnu(f_f;~?t!%364 zI(K8s#5KPl%x0aN`+|>OWiGSIkJ@*z#73Rt{zfR#O%Yt32fV7o_vZ|$y`EG1mKrG1n^bp9i1DlqEYeD|@AY(KPeC0Ryn09a(< zaQPZrYPwRca0sJOks_=Wq(BcpDhHFGsAhHq4H#qZf-{h7DCsVy2SDlC<45}pgM3+( zG=@#FuK&yvSb!rVu;iyca3ElPPPLN2>Z1c>77Wd6vR(H{lL+bH`SwCCaU4{LPDi4& z|A;M!Y5qLH>A<6bH84BJ+nIVfCik0~@Bh@3odPKlD2EXgG~{$6HI%hr7>-CC*$a#u zY$|*ynU)3m?R{vB$*!Ygvee7Y41r5oYqeSYW#qT=GVhE1Wm^7hn#aalWcctij3*Cj zHZd_{%OyO@7)It&VeO8K@#=ikgR`AZH3J)@x@h z{YbB5rw$$9KW1!nP9{bDd2#)dYwCI~U2XhgVe#*jO0hz*GZrv_wa zjb<^iG&P789B>5)^l$soj3h84<~{9rnPt|z47ej@mtKqplrj0Fb|tC8GBT|Pd_Gp{ z!LkVP1<)v0cuQ$Zo!+(E2OUdW=y0=&Ej&+AbGidJCpWp-+on|+6^}MN#tivNDV}bk zOiX_i;n|*MVTe`jLF1F`mI#-6A^X>;RQe<;Vv5t4#jPy?ay`Q2i$0eqD)#a$c5>1^ z{;hdBVe{u7t53t82`&53>qD z1(}Rhd!!|nP?mVi498;|g)7tq^o}74tCN5*WtxHwr5(}-Cdv44ZlZPbmAt|m^=Muo zG!66sq%hBNDL$8d2YWtXhW-(? zlC@WZK}9Aeoq&1`ep;?s@&Z#dr4=X4B2BnUwsLrDiBMv^MLNUMYSG;ddR8q3K+L{u=1}s|64;75}7#l5R1P*QoegOXy zS`@8FX?z(00MujuUqTBL004lcfs29L?|td$Vr}x5&e6ol&e_q(#EI^|>n0|8t|o?h z|NUt3drgl)kMV!}7M$M=g4Vl_sZC%0WOxU~$Oxya#)I(ecWbgc8KjQ71?`cOF@6+c zhCFdx0nKG;UoTg5cp&1(TPD{POIun<32L;D?I9pKU0oSP7YeBK!!=nmDvxCY!pH}K zglHE|ycu2RpKbTHk1toc>O+04VIzh;7*S)#5+>S-GnX2+%&Gh}cm>@kkC_~vjq|V1 z>njTHmA7xM<4;N5DB-t%azR=5>Z^BpuOzX?$s!KCXMm@=q-W^}umH?g%^uDRbF~px zM6`+wh#GH{bfn;hqZN&tXP=sP%$THxv#%+sCh?CIif(#pYxy_0{d_l<`&@*~GxeQ^ zB%Nz2I|~Z}f7HUl-3|D0aT;Dm%&c#&*7m?%KK;Gfy<9(QgqnT5?r-45YId^rHVVE5 zl)PM@k57}jI5xT1KM|G?o*&LS#YGPi07-mK`+vTNWh%B(D9SGOxB|r~?_3O`l5go?HadaV6BMb%g!a=?@ zcA0=ro<3qPn?{BElw1^_7Klyl64i|rYkesa>Q1O<<~cS_J9*uIUlAO!;HlE3?YG%Y5PJ;fY^sd48vcKi>L{9! zid>RyNdv+$1^%s3;-5?k&&9%pe`t?p_~XpA12j*9F>S=2-raS95MLWpBM{|0?F1ON zbN+}PsX#_@q4sC`rg>V&DAR9vH|YyR8rf0ON@_;~Hzohe3>{3aptMr$%cI9X zHP8vO+D5=qW5z6^oJ5#HYr%wi8vmoK1Yc=cYwL-o7@nOeIlKO=9VO(q@rMkHd;r?FqJ!H3{@JZ5(f^7D%8B2^VwzUs&?Eu-zmMaW@YwhnZ z9W)Lm(?L-D;qKVQl7ZGw^Y9sZ=h)Lp&6P&9+nL9bg@NzU=<0$-p>~?@#17ej^JAOI z!KVOk@`IX#ap$TU7w6;zerE02OBfq;aANt=xA27S@x{rujbL236Fwde29P zLZ5V^Yi%_hRq%Y{f!N=TRr(z?bkryFZdMG@+V(4CX`n|=&l&BFL+6fX0Zvj4XKj|x4zI-jc zI2eYC5TjKzN?QQ5Nup#*7zrnenf1xm-kR>q=~u-+p(6;!u$a3sS{A$py7dz=+C*MS z%_ml?Ui+Rt{dEgWyw#^E&uoa5-_GfZ`Gl%067tI0#1jq6XUMDiCSW2oL`w=_uZ z3EBYmQ#ngtFK6_!E&I@EdYq-;4CJk|H+ z>ln&Qzag&;;lpc$v~`l^~O}6%m-g~x?Yu9CjM>jjTsY`uaQo)#U8H_kNECs^aW!*PUz--$jeaI-XNwu)FL2 z<)b3$I&M`)PHg;6sM@vj?*q1+(%KcPoee4p4CN^MU26aZsCOh{VtkJ8KY zg*eTWB2n};qgRPo#*%n!8bFooRT&|-@ZRW>x)6NQbO=Thl3K%9jgQF3jum*dvyqVh z#~rq82{RaXKT-c3z*}3lfqg=-6e+RdFzY7?JPyY`5Is;IY=q9w3tFNaArnO<&tCR9 z9nEN$-|wV#)Z{GjDxciGO9J9&oLelSdyN0O#T$aPCN5h3YA3}=+F9FVG-a)*90xMl z!j>G;8Y>R3*$az6iI*EsVMPZ!J*OPUjr9uR`bn#4X*Ol*ZmL*J7F{cv;(u&eqbCMu z89#o9b-`1LYm>GxbVm5`E2~tYGQ&LsGD=}MU~RX=O5kA5_Z1_6{%(T{MY0>%G8so z1)L|erSLDgU)vM0EkpatZVm`Jb18ShkvrpoFN1?~S?fMw-};oLS~*+Jk3Sa1cVDxO@P%fRRxTxy*mB<|XR z)h$`S=(rqL)10YIqB`^KW_U!khFgToD_>$5gi_bC zP!2PgtlH3`YKc=TK4PVhRv^=b*{8%tdMdp)Z4=R@I^`d%V)QB!ivCo^C4g;{}t{O9ku?BaKPA~%cp z8$H&!=vu|o!rMF8dfQUe0d^@lTt%EWtajGS%^%F93YNIunQI?MJ&hF-2-|p5A~qk* zta{ol;(5HF=7_}_8+qkFR;miA_^paOA6rIiLBYU8RpOMGq$Md)kD?q{F%rC`iqw*Q zId!=5=KfOIXe2vF-ruAYUEV^w8Ym{iN+NpHj}A{M^kd7zS+Miw}w z>tzVx>yJ&&@HwMb@bES4)lOXGIHLmqsV?wj%IkA4 z2k#cSs$}36YEJI3MF0TCFLs56Eea&Q)q%xQ${UD_t4SlfBc}wD!Zk9;CbH;cY(xSHF(b+7?J4lEro;VJl;DH){rbVmUu3NHy{^#Vmv1b zVXppa7NoNv*-=BC^2i4Wq~8N%>1r1jKa^NVWWF&HIaE{}|GW~vhnzNjf|P!YnU~El zjSHc*O}ZQ_d{{{(^lHQ7P+!~|WD zn3tf^GnKoF-b_+odJCYm565JnvsySbQxwg8!YWyb2C;u=Q6XMUNqjCO59!RxtF3e1 zZ1HAK(u)d74Y$X<6HTp0kjCp3db#m>V@880grK*IaH*q&TFrs5;y@U+6hT2IF;yYE zNMp}isZO=mS&{3rT8h)-!n@rBQF^*$iy<4OW5-gS-n>=lh_F-H73Rp@Ql?zkNRtsC zU8KSMK@KlNVJs9C%8)<4WTjSi=ihD8Cg$KqTb3zc$u|?_B-wdxx~=!UzeQ|8tFTsF zYw#Gtg$>OlLHLUL@{Znp{jaXM(;BrZGyzX3k9)M~KL~^Q?!w1&M9NWB zRWs^dhFp_b5(-soiyo1dB4RqVk~;&wPqzirhU__Y%;PRVss`S-bak4Yfla%+!ZVo= zA7YL^r#v4O0VZiH12>*h`c^~-zid=jg#g!H zN+;W4Vpvzd63bkv3d+6nH2SHgIxcrUu(#PvDH#Y zct zgo*%o4}963cLis<3F||!fGkFy@gyvM#Lu1>AJT5zH{7mT%?6O0#J^p8{6WYNVR$JwyOnA*WyENR33h<2jR zUC^yamxC7v+g_TaO6cLYl9ok_8!z0Ada*5GOE2Q3~g<#7w!*Xmd=C}BHnZM$?(vC3t`#EmOavRWoF)Nl3 z4}-f<-5Klw8#7)0g>Rle58CxFnq`Y!>GnBPU5Q~9sqaRh-lWEEMX*k0uOXRbv+J|& z*PuaZIgM#1P`zEIT{zvbiiOZwI%4U1)+98!J}J-ntoA5KIikLjGQ2LSa_eKUtYER0 z@NnMA`2FH>T+n)mu=-@jXf9+A?_TAbDu6Bf;26ka$7Bu+rEOO`?G0wbA4$vJIu;GK z!amsij)C2=)CKliaSE$>(sVr+#Ok$|k;42}VH6i*k%UxbXR%ZDo*Vh0`rD@tG!K^2 z`Q-1dcQ6YDa{uO;pak2QH~R_)4zN`%oOn*{tf^nWR+ zDh-cM5efi+n-#$SV|w-fe+v3rQ0ioS^t1m{m>vSrDa03$tEmEY`4QW(U?n=jP)k?SaaT7j=js2RivqUipLX0s2oVBdj0?9>A$U`RRWV=-Z*q4eIYUI2U*Tx9hQnWwuAe6j-K)sJVK79kYK=q|aHmbL62li+s~;SM9)L=ivp|VB zz~|&;y4T739o&UhHtOClJK=y7dZ~jGp$z$4VT$?TKgO(4Khm{Qa^oSFR`|s~=0&>@ z!L%<(%qUdM@K5v-UsaPAq8GqxbAykaA0k#Lo!Czo#xq5WmX)WW@r79b(p96LLys{I zfeJ7uL)ZZ`qEg=hiaO0qVsb&g7IfBh4?h4*ncrUUA0r1XyY*fzg_h+%l?wixOI>A6 zP)#nGR>eg1sQ__pkizdWaxhE=3%|loXbhxDD0-{(jjg5XKJ{^+wB7~*!eVaBPT(o_ zKYzf6OaKRAgKwvE#O0_dkqJs2Mv?x>O7WsvQwjtt*`rYdTMR>q6ojovaK|>4Q>qrn z)9FnFYdTGv5t=BF{1<(ab5Nk=a%%N1(Nho&*hX$+_W{;|I#5Hq#eAZ3XJIx0OP^Q4 z89dgvvikOt6Xxw(j6>%^U_uifaNy{Xa}%#*nX`9$iT$(}zIf zk-fwRV@O9hCAlU}^GVs``?4n0DkYBpO{^;3eiD7e2_gu91to6)r4jzDI`L?hvq&7r zE+uBagU-UM10Y%!&oR)hzNq5Y)v4G;{Q7* zxzQi+f-W^x&O`yo-tR#vg2LVH8in!>3bd%&rLG=PQGEw^fZnK1&Ys%}5NOdvh# zkq>PH$G@_vr<*aZJPLR`4tzDdzwz}(yoh?@@wQs)g)xxo^ir81D=A|shvE>bJxzkx zYR_DTjIZ_)O_0z8s-qn{fK`JF2^j!)&LSj}&$i-Vut0RhYB$EPwLN8Eb@sMe0qtmw zDz5GkoWg+q*)#!!WeA+Ca^BOWw+$l)3npnzgRZ?zs+Sy1)Tb%T-c^hPtgRTAhKcq! zRU!+w)-4BO7<^T@y6pNrKRm_8=)vM_gUQoAS_8PazlM3U0&b7#_$UZp!CCQ_s_8FZ zMpPs76(Lr3)*2C9>na8NBlFW_d*I00xE~33Qc)FoP(%RkV!=?`&$vfUKTIJ(k602M z^D{-gB+0O|^SDCZUyQ+0a%xQssjWDEv8#ZR?mwBLW(q!MFSfV#%{ec*94S7GkmcSc zlH4skmzV)!xCaY&To33WfS?9y+iX5TQ%fN=&#=um7OZwhh_8Q*5iaOTLqB~ab2|VN22K}zJ%Q^a;9*qygAI!F z(QvK(^+dcfO`%@8o9JX|@l4J+^-#fl<00U#g;rCicB#*Z1^*JIEqQy4d;`E>XGl^~ zLU2wQoU#dKi2A<%R-YlXG)O_xGK%|4e+<<=f(3$S3URFg6B`PQHzbH!&l0f~$xZ8+ zrALe5Bp>1)rd-@K<;Rc99JbdwpBPPf8Wkr@Y-=x;R3K}KY>OkA@gh<`8IQr2rH zsAwLpkaO9EzvGW6>DHwoZU>E})1lfvI@u+aioLR^mBf!C)LI#{uB~$;sov^K4YBNpSr=tdQ%@P9{=L&^B_;pFtW{l9Hui zDEuJS)x<36k{}_MQVyI@>)(1oSzu2b1s6^4KR-rBNR*+5tn+X1#;bw8qtBu0p~P1TxC!swQyLno2N$< zyYL#9w3{5T4}wwIU9=_v5Cu!GuORWYwxujU*}gsiWi@0p);o=G%gXiFPUfAuw;O`? zG*UHZKCko3O=xExgS~Q0;DHG&cEchJn7{|d*&Syx!hNKlHLk!YXA@W-#Ke3zdB?&T zqg`YeclZB;10VlhKRHvLI{sI{MII&$yXoaSO=C;nu+hkHd z-aMSZ%H72?)kg0xSo)@83SS)%)0oG3*!LNB`2gt_P$tr`z(Fv};I`=OXs6 zs#2~x4A+LARffk4L@pt(_K6!%a<+B@Kmzintx^z=Ay@*ml48*6-QMp-{&FIDCuI~1 z2Bluwpz*#sbl;FB-`*iQW4>M7n%<=L5ax9gez-eN9+Tt(*fd;{u@(KO2F)92StUPt z)5R+g)`}S!i^_9jBGM?L8x5z4w8vn3XMVqEm5&+AT+z#IRFHhbn8^+iPzkq)((hWv z#2uub$YKD3FJyIG9I(CeAjkrl-mAkJ@-sx#<|!*_0)BM(v^v3 zfr8ymA#ZV$(lRvGpwp=plFbIcK@lp+!_dgbM!*=P?k=tlc$TfUw2Z|oys{AS94Aw7 zRx@Wfh~6hwkhOdoDq*es zvsG28+|9#HE&nj|WzT@x?O4d1WuIc1YN=*~{R_^Vg}v4xfT>xz)u^e%1k7TJ)_O*% z7`1(~L?P#Aq z`9vDpMHL0z2z8+b&tl|^>#@n?a$AU9c!}%fjHT<_;jc3L%{30>OU<5j_(MVJ6w~$k z@b-6N1V?{#nTEQImh3~By5kM0)=#03LwA=AD}mOxVR*Bqv29%kh-7f>NPQqAxGl$zaJCD(>2Jq?QF#<--Yiw!m*f8QeFhC#o@ zQIVyXP+T?bc}@e8peNZfHx}w1NeoFJ)Qt_t-UZYic5~}UL7I;c$QwVEP`C)cs6plw z`D5l1a59XuZ>`a$_0E4^N$kd#fSULo=f1%_Z!<=8=?`4pMCdx!IG%4G^Bh@qotX|? z)&9{RU<@8TJz3w|%y_F4j{v3gd8&@&Ng49Qrp3t{?1>W~d!!jLlQ6V4awvU2-hiN@ z5J-5J&hHm#a7c4oF6?H3+`Lf-*)ziRhiWTAs@2ZBf|UiPdub& z(iJl^wi9ARGyinUBtK_h#6HHRaZJCJM%n-RXLTmD_;zZR+;mXg__D{r)SDBpim0!- zUKhT%?GS`<{*ekpqWgI3kAtF}5TXOxmWh&wK<6ol!w4EHvB@tl!?$JBU~>jQixcbm za!XaYU-zrzjlmYLa>Ag69*pw z*msGoFA$VVqEi~}bB861ZkG*vTex24dW3W>y3jM^g)zt_jN_M)z)nKTHqfw7L-54a zhN^G{gxuH>e+nyhWt$|#OAVTlKNjv7YkD}L9@c_NA~+U7?4DRsjy?7iL6@oho$b<~eva5>$)x<8}8k$o2m z`R&9V?Lj$;1?_umWAmK3LJpwkSkgPDFg@^=%UW-bl=Fc0y*SFRl^ySGUjn~JHt&nz z8-h1K}$cK}!yc=0@R85}d&gNON8Z~JT zmMhMNrvPZ6CupdxCtR`nHRoG{khCPCpHURVum5%lS0Sz?bnvn`n`Wv%XN<;s)=J2I4v0&N1N)NHH1Z)+q3NP6O~S-RpaITQ@z z-Tzls9$~#XbQfA!Z1aP-1Fh$Z2?=~Nl>#NBcVBMb<#*Tf!FBu2rQU?4Zn!G*0i1j3 zow$Qe`s$9+i9K?UTE1Zv~>nrTq3%_@G7k_d_iekQfR$>r)482GQFrCg?gDr2~IVY1PaT0S9dPDP(OQBe=v{Xj#05!g-vBpRo8!v4P zKqXCB`yZK%S`V#n(f=@q8n0|~a>l)xIvqvD61v|=sP}_`JY43IV<$h>)$464enHdX zUe|$Pgzfjs;q&5rFPdyB$q52)ZV17+N-PYBtv_!2YXDee4XT+8 z_`!JX&l;H}e^2={o6+U-Zflel2AjqOIT$4ZLSb-G8eD0O z43uACz@h=~5K9&rGVwQydQydK1?8FUew+UDiqYhE==xXKUo@Exsl{&FhBPWP zmXca0e30b?d{>>kdv0u^eBqf+?E*bCD1Pdmq$`#bxp96F4@4~43P`5)PIgJ{C8wT| zfOL{tX-ZU0B0m^cg(|qjBkUI8Lm*N!YAV@-%bX7q9pRMTF?=7-+- zNkTZ|VP9!lrVx^xfQ~|jo6G;@dnSwU#wQ*M;~@iiFXjY-eu*V}-sZ*fZ@?2fAp`i% zGR5{#u?ImWT^w4!`_wmz+QLc2EI~5qnC0_NMNr8Wq_Q{VO83KKAt|u3@f$^NgTDO& z!Vr=p2)SKLmF3}3&4$;~?H-1?M(Iu8=V2ha%fUAfG@t>64UQ~PYYD^e=DcM}KdUfm zsA~iukE3?)Uf3cefwpjI@Cl7PBZ}QSiNY9D35f>5k`W=h8ChYg7f-pYiAYeCRxmd< zovKZrF+u#!3bN{q7t`2V3dEwuZ$7s_5Kjl9tu4EO`_lw{|8I)lJ~L@4DF9KA_QT1X z?amBhztn7%rhZw~rlhhqDh?Y_HkjMhJK@4)aNk6kylcpN}QXEN$-UuIS5dI2l^FV)8Keh#| z4nz_?-98>3Qs&4nt2>|~A{pi4C~hWeBx^!13-lnE12%NepgnELAjy_n^)s_UM9b%qHEEN}4kLv` zY_0on^6gv@67=A4b;B2ypJpXq-rYjKmzMOR>IWo=U2*)EMhIN}helK(we+qvqI%Rb ztn`x>)+z8IRFuPP*3I_z=2x#4;{i2D3#x$n?IvCD#*HG!2vWZ2wG31A1ptIqF=V-Y%B{e8Erzad3!LzlniN+ND~iL_ffV zjkpib59$nkv6C~M@ROs_HC?dMV4PvH&thhEVv~*O2RU@lvsd3xYb_xnmpLhkTh>jA z2mVQ6YBJY{-|r1wi~9V^*kPC7{plmHDWiert3TK}bo_|A4_GG`w<{RU< zkbuqU5?f6gZ9LMo4uA&8R=0s@EFNx!dPCK!fnw>It`4a`Oie%oQ^gBD#8#p~5WF48 znnP2oQRCF9$XJ^Blz3YcRw}xN8M*O2d6fAfBZy%zlq@+;60f5`PM3ho>b8kCAYAZ4 z$#P7Lp`yx)$5~;GGs8qN#4b}3N5W$^jF`YEkgT2+5N=Y(vQlf#Hd=%~WB$zsy8FJ* z{Pp-0cpszp|GndZ$R1BX?LY6rr%{3%j?*|EHekM~?S(MwQ%Bx*d5;6z(>Hx;;9TM} z9`CB7Cfe=huSO}s&{wCZl}>F`0iy%$hY^!b@qlmt05Buec=Vlcm-^7j;w;X^*^2HylvdZ3U~HG{oPhDk$@%iy#`myXbZJ(y=g_;B4ZezY-lyT3y#s55#+ILb?UfF=+ey zQTDba?OA5ZX+~`@0pY=aYCD!7OBV>t3VJ_<3lFNKN6>#$+NTUf98hSSj9#(tlNXr% zp?i$7Nug+kjhlW|d!Ql%5&Y$dLRio`V>Uz^|6u1~4GL2$%F;E2ZRTElgo*0|sh^XB zwFa_kt5YU9N59E#`*Ruwc5w3c#IV24A!Y;AS}9LQQDlB>(P3OZ zR4eA|7pB-`)VQFgTr7vd?@D93BQ**Kx*MP&17ep~gt!Tncnzf9IeNHK7-o;j;)>rcTatT-!4g-BDn-$QpAjbSOMNJ0q zMC`~%Cp0@t%2e8fO?i!?>J?gFn1hl*x>ADX+AuBQIvNQU?>;?#Xda)VrGxz|9 z$@{3=G3(;GxY16HW7YU{WHGd~G#SIJ40-RZ zE9~aeE}((&R{`U~*$@+mrgsV`Z&n`oArrOW7BckK>;EMa z4Qq83`^NNmbFv#_KcgZj;YJa`fwR39lYE2FSw<0Py}}xAxv7bEmK9CerYlsO!*<*? z1=Z?hS$nEUeKO8R$gY(z5IhgWk&_peNRj| zjCuQb)M%@csCe$m-V!pXLrzjDr$H9xMfRECvb{;^1M7(Q9av_T*t+GikwsXO(%#hZ zIK~>aoSFVVQf$9`1#Kl?^V*}9XTGqVQ#!qM`Yf4hKlE;e*$okUxbd)a*n|Q# zw@lr)gUXRix&e1h@$c%VKd9rxNp9I)jwmgqmEgd#M0BW2lIP*}nQ3T*+`$mpPH(!l zm{(csSjhooPd7&%pSwT&-1xdcaA7{@j zKxMQuMvRlZ75n^^d)uusflzY^)jKr3i6J}gFpfd**-?S~Y+kHPT%dus3hg5Q zJj;ZzrMaY7Hdb;)ZYQp;B=zd``C`fCLg(@FlAJ@}_7?HW636-qk?(T5t93v})ZkCs z0wiM`wmjD=?Iiw&ImZv5fEi+o{12ZfF!(Q@*wOvJ_{6b>AJxhapNRfFIWRn?9|fTG z^~%AsgV)tlKL5n#@Cs-hkv0vR6ML=z}KLdte zkAEjC_LwG#%6E>?$-B(LaQdXr_0_#>j#QO@#cSKjM*^r(ec+sapWRXdJR~7osulDC z<b>1OiZm{^+&W6IP&Au=*zV(2g;dYf{=-Y!p4q2RX5ap}5cS8wK@m{`|r zFUVnnBEx;GUW1CW@+G{x1R`W8dX$tG^CoULcL2x7uiHaF`_6|a^`d^(w6+3tEY;z* zk%4;57QnMpFFt)IL5v$$(EG*F;^U$w!{WSipnV7FMswbIw0f1z!dV#gc(ktq)0OPP zI5pB2u5>I+?dQXQth9K2uG@|eU(>;SKxe{DTWwK1jkuP&qTR~*qO};S$StcoyHHK@ zT3V-d>#G02e*^tBzstO>8eA?;OrtZ9H}>Y`#*Qu>m%E0WzBIt><>#yLWSCEwpM0R| z?EP~7aw2;7@N(F`SaQPn7jQklIK2NrIduJ;8diyT5__qhC#y;sjGkm8L~LIo(xHOX|{`WIiE>r zdhEFOT|PN_71%$cQe(5ad}F*XIzV>W{l_EjT`v0XQf%%jN^He(+583(mb+#QY%ejf zq}uV7-Peh!0Y8!@Pc7;Em_g}q{RTNYCCg9@YVKW?3rJ|JVBL@kNJyz)w8+{JmrhvC z8&93snUavtlA#|I*2#e!guOtU8Qdru98+7=lbBQ?AJka!! znQCa^N?0vgR#}}DK#J~k!5Sde7T9UdlSjU(O)*Kq0RzJ88dXyJscl$^ zpayb)j+!I>(X1s4X9K80cG33W(#-kj9dLGYA2E zCCT{mPzIn}=sZ&*jqLL1zi17N=|t|brXbg4J9hT{Z$YqHp}98hv9Jg|=$5v|1GU2j-DS3~RzIWXKwzoTZLI5A&GN4S10ZI4$_sssCsw@m6k8bUFRq4$7+X4uK*(1M}q zv0Lztq!N`OjKHa>_#4><%TU$A2x@8Z&HVb4K@e6o^cu?Y!NpQS(q8jLS0=i}jf;_2 z`vVwQkjn1M1>;T5f_n(aFgfM8v#I(JrSU#ara|trfZVFb>P8$Xaj06%8OZ)!p8;R!(t2Pg#c`1 zN8aDbESB|36EDrOGHxG;D=-fvbd&vl3-{A46{$x-ge=9vWg+(`Zo0LfBhu;zPHqdW z%6Bc|i1E0hPcaRszZm_2QL+h~1gR;IMl@12^Gl^Fk2IkveL`hYK+EBI4oU^JLH#Xk z?0BmLR1^~4f)g9Y_gqsWY4!!*OrQvdT-FGp+VsmH$`_tq-E1aYHCwt|4HZA}exFPF z93|R~>cYj_>U(3okY>l|Jivok{c!<+))Hoka8*10OH7r4 zjFN&>6vx~;-N;W*_D&(oDh}-!1RAjM?dIuymzv5>mdX9zO=J5y8H-7{qC{RUGja)A z&9r}<luBr0VEsFAMJ*fj;so26yfj3*$qkXo9!49J zs~Z6<@d`G3c_X%jcHBmL&(@%+D4;gNPJF)H*oGF^F)<&@DNir~Wn+3yzkhc8ShYDbMaVY?s*Pt2?#eCD zBhexUzFaSyTI;f_?Yp(BL6D+imR5LRnV#|3h}Cd|bs%P}(r4_;flTQD)(jBTYk7JR zBek48+R;{WA$+f5Jvd)Iop9wxdFZ4YdmuQu*j{hT z_8#5k3CrOgJtcmIrF#565n<706|kRj(?sLuIE~d{XJmK`Wr<|BzTSw!K+u4oz@=LR ztat~;TBHPAMj`q!5nlG0ZMutN*=Ss8Q*d(o2Kb@?jmd)ni+b1JLVd^8Y#OmRb~W1` zS_$Xptfj}0QWu;&y%RN|a`#}k2qlRN%D_fJp4m!P<*QaV$syYV?1hmGk{MncG?)|P z?!-{*?f2n_=GG>)cY0>3NEb9X&+UaRa8osm5U4F()to*$sN{xif2Xd zlbcD?_DmwGJ?nMnt7|ltt%r=GdMsr8z5N_Z`Cz#)JlVh@*{oS3=q*xyXKDCWZ0;A@ z0*aLvY#DLn#V!ZqT?ghyISE7nE7C(7H?-?!H+Q!t=M}x(nMZh309BNN@1P5|( zdKHQ7tR5=e4JqYP#`s|&Jg~B$ma*7G|11-5pK(MixyzV&j>i46V4L9xT(l>PvYrBH zWRrIv1zNV1(w?zvrAKgRe|j@y!FgOpCh+8Lh$ zajIOLi%2sDUL;Q$LAlM<*0A6G8MNk0qs>V*VMcHlal&7jaqg*O#P}Ah(*^|sR}b<7 zSAx?@fb?0VRA)+TbX-JuL=C@Pgcb;=gjRK`AMoor+$oI?iC9yPPjHCQ1ays+#Wsk_MTXAB; z+w>VZvNNM};dyCyRJT4o;$C->09OOp;=CJth-I?6Mk$saETtHNHGl`EW78bOy^wJe z_KH#-&b_!$VR}f2uCiQMLM~s9M#a7T)9IFxst+|PNi7WKJ~e?ISVhrb6TCDdy$nUY z85#wBqt~%NuuPFj9@>a%N5b;)=jq7}{#vSLebE=KXUH@jdhSZt7V00$6ff?8qeX8f z1`l+s@}PxM(E50j!BKV{)!WM-Iju#MN1r;wEB}o&UU*_10k56CZh&02@riBZN!Jpn z!aQSlOxsF3Z>4ADUv_JK(SKyS>4A#qAXVpCc904~S1JxBNDfcE^x(cqgeYM-*csK` zx~at|QRCsLbsOj^n&C6QB$`DuXLQf1?fA#<0i_%62bfpn>YA>Rx+Lejd1tPc9GaPT zo6Q+Pa3VoNQnF%W5bfq&e7w}mDKvfhMzSKj8fQ?a;xeBcfwEd#QTrX`n~>D_H3pNq zVxyZ+l>$y#$;UlFe9xVODpqal{E1TbjdhaU#b1E5e-~apJFoBSlf0TAs?jODiaS)$iY`*KEVZZi+3_ z%40lUjkxw=Ta#RM%yEkR^hkK~+C%9NR#P*NK^!hr=YL3*arx>zT4e`0rZt-g1LizF zHf@D4zMOEI0~0|c$Mz^*rb+Dd`gMG$ZvQEHMJc+UYu=K9>%*O#%lCF&Rqlw7Ew{7z zt;j4Jo#%EMq|}|+?ju?e^Bm`gm$uH%_SOc`P>tyD+O+fF_-oGCk9m4%&QJwagJ#gs z9=xgd|6R$(d~C^IQWmU!Y8u8|1Gw%z&X&hfFh-gU*<%{54# zw?mGW!Qk?rmDjNEZ6hk($o=SVw5F@w*+c$^ z+x$(r_of7{{!}b-YvfB~QV;};Dmvj`jaxJG_4iZWMH~FlAPrG)dp0%7DCT7OaZL55 zXC4_fC@MK(&oYVySJ?spdwRbMx%dTD4Jy2;K*%Q2ckYb53TNryj&vU=7E z7XOarkSba$b;$;wBT5c|x(>1$>|wJ1+*;)Xo?yM}^rt)@3YjrtKvM_|)dyFi9r{kP z+(W0IlAof4kBD)=*#2YIo8)kQ5*R#D_nHI{kAd+qr~YKU9B=U)zck!}>eww_#oD(^ zpBmKiHpn!!wG%o0tXN^6X#}={{mBp&f1CC2s(3?q8noauPS@ zIww@Y&T|=P;w^Rt^i-Xd>cJVZ%Nu%X=Wh0HYu+0I4_ia!y5bhR%-)CE#4RSRhqov+ zGQlF7aetdRsSf{M|6;*BW}7b*1qqN0dj&%oxoLW^BWz1htTFVJR6(!nsO|XaF?z4s zYPXH$;G)>-!06fwtg++?Igjz&)fsqVRL@|VoB$6Yf$vK;`+I}@xZYsi{j8#A>RXt6 zT*AB21xL%%e9c)$^uc~|1z&@497udP^1&EnS_O*wp$)JDAk*b@+zrocbS7SJIsq2B z%r!C@E653aF{_7rcjjNCg!i%wy>82tLu3<_xbGW^+oxH-f{+vL^X$IsEkuSx4ahZt z=n-nLeD{SeLexV=2dhE@RWv-%$fsiVMuS0m6!x%=_=mKZE=Mu+J=>Zg&EcBRRp~ml=)a) zl^J%4B0Fs;#t3GTcPK-7FgXol zknGG-W}0f%x|Vq`K!iy@P9VC}v@H04Bos}N!Fq537gqy*!-a?;*Nxfx~4*b{2r#Enx(Xsuw~p3e}_ z(uTB3I?yMw7H!-2e-D=xJ(8fK{+j4H0B}(FMwl0?aH={KX2z^(VX$T|3a@-9cW4tA z*F<4iYav&Zd{%ZEZnnKS%U&jynm!P|&Ne6=_{uy}y^F@BMPZs=IH<2qst6a91*C{O zM5J*eonY;n!PYumcuAQwA}|3$bK}A0JsY7>!0TRNH_b1{6A`e_1oc7;eoW|ou3y-* zl;{Oe9Lhj@c)8#?Asl5A%a+M*6c!6Y>diEYqMtm}Y~x;>=-je4pFqNgqBTxl&~xh$ zRTSE3I!?S#2G9th_)#Y6gD$CkyAw-;2wYa#-k>EJN3BPo5=k)hl-!JA6y|tQ+>C|q zGzVeibtc`&V!CM}`oF*oJoK`SLh4?P{k# z!?mq6pLKxl$pHHfkaWw(RlFpS8xLjf^Ok zNQh&b-eDMGT>s6#gjqY+fdX$N;OU^vF~D{)yve%SvSR|^qTm8H7yG12v|59-ZqSRM zKsq>5h16j9JS>*nhd*!!_y_JJ=8J6%n9*0F@ayREnELgj088S~{v9bh0~ccjrM>5m zs7tmIGd4x~fjiYKNM={^0XXhqu-9HldU~vfmgfI0{;79?oW_J%k}mK=AF5psoXcKT z9o#|~aQoBxJs$Iue=(BzBo6GJA65j9oDgLR0VHJQ%$lsD$LX!B_?VBao z*^PL7|5BpvN7BTM;SPlC-m^y(Wll6A1d3Ml>4nk>evP(_4d;($fRGS`K*hsB^9*9v z0uARXwEVjrrM&o$1HYjpc~BV2u?3t_3X@{4H1T1R!y6`(5Q7bdttmV*G#%$N?kx3v z(STS$vkB;(my;iOK`6i^)1nO*1WT_|U?&fB_@AeCIg0(C=f3%3TO3izzU$8wLEbIM znB3U`{PWw3?*X+@a4Gv?1tr;zK!U^ulQ$;C6BsVeQ_<_zJTIYPnvl6a#HyQo(yC}0 z=Uj9^=AH5g)g|@Re6#)BUPUV`)9%G>5HS!*C4WSr_7LnN5NutHPgodcsG3MN{wzF=o*J6I-^b&%FfEK#E-^?plIh?-Enht!rr~UgF$cLk?d(;o!RoHyh7H) zYu|zQIUDlzh-L(boQ7lfG-BQ9xM~!~k|v(&3uIHFQ51=!q94&@V7WU#T>u7J}a zZmGdujFDI)=FPz!L60`6a@%jO`>&8p9T(Lwe!KI~jkNx*kl@^$Knm5jmBuC1%+ypF zi~8 z=9&9VzpgacS@vWwZs+6kEBVxospOd8?-f@E0eHH_(sHoq$wGcc=zo7Dm%qiD0Or$T zV9I1pP~?D|W_8}j>y5I{Hg7%jKY#gM1Xb6W2yMx@*2QdE&!tMbTL=G3a@$re2Ffq% zMq7CZ0I$NjD7o!r32SP5ZV~5JC24qsPibKTw7^o@Kp|M_**RtbOQn=+s}&iHr-d_9 zCt1PP04&_9#jnTy>>-aiaaqvKbo46!yY-ss2BuQ_`y@1g4OhV{RXKG72Dim7KSDex zMMNZD9H@$~5jeG?7Uou|7nX`67?BeD>!4RXHp{M0p~7)PZw$B<$4=@%U0{$TLyGhF zE60%jV>*#XU@7ArF-^ibs0j>yLu??_E^RbI5-ZF(jM|_RJ2=!hk-JhQF?>%+P*{SWTj&lIz*bBdK)THUC@-7fh^N@xtdq}XY*b;!zF z>?j9I=Uwg$@V~6?Rt@q43xbnl)zBW0Sox@w_A<6(r*UsfdBz5~NOJY(Npxm34?Mw>Gk$rY+rLksiI!aSuX3ytMHg%X zd-Jl-!8lw?0v}r)%BL@B&DU#+lMI5?6d^5J#pV8ML#xrmz7d6Hi=vN5pwphxXx?@_ zp~aRxzS(57{O6s&HICO+^y((+azSytEMG_I8u3!+`cMcvVMoF58E1vwsBQpTrCetT zV~f^@X&mqK+mW~k7LEXdNfX|R9ja?5QU9=`u~d+D*%lr@O`QDAB>yZTGp(m}S(ufK zZlp|QQE*oANnt%FCWUioM?qnL#;9qkEPojxSWikyZc5D+Qo^Zyth!}hBBkJ$C?@`z z)tUct^xI{IY9Q$~yB6c7fW~WMrqUyD5|1|el0Pf?VlS&2IgeC{RV0ig%gIP^S@)rN zU*y&x(RW7MZY;)bA?c@rdRkc}dnlM)5&My@d=4VJJ^ayxs|3ROHC$^Auh7fHa}Y>= zc_0wnz^ahYJpfdVS3XLiX+vZ4&4+!e?vkDK#^!PbEJ8VrOt0@zgVd6`PrKoVo7BGe z&bcC^++k1_vPR{>7-)oPNgss0mWL6vC$KI7$C;E{;%fJtT)ztuz^Id%1^m35Tfo1F z(-ROuJd6HLU6fk2FbC_)1oniAq7j5(7~ol>5y4=E+8PgAe;EX+kHXzz!Ip>$n`}U_ z)r9Sm6EPMtOxXDSql>~-(6r;459;qL@5i=|;n#3!K9mQJrm-LJ{nO?66u8AZBFUN- ztPQgIr`8GgvD4zY#hlCYGGgdTdudf~uWGE8(J@q?qYhOfy+H=el7y|WR;xnn;E;5t zb>P@VYgtrb17`2k9X5M}EUDWx#q19oAYD0WW|a>22!iH> zz97uSJCSuW<8R+(D@1RLV%)$e5N{cobd>!UG2kmy*aQ{T zb|+nbYTakaD-mE5*bD6)zT@DFe!{51X#;CB^zu&g(VfRv-#upE z9_J#|QPQ)`qwS#7x?MrMr)qAkz`NcS66|wz+|GP&PmvG~;cu;A)qf#py`jX+s8)rN z);XtyJGPNa(Qsgki{SP4g=a(@?c1fT>6l=7)GOXgEZVhW$7GhNzcipm7o+qr*FHZo_vo0V-H%w{Q>0F zh&i-R91CtQoB1yZu_^kqIztPa&<&Hq@2I|&?~dD&S#L`g*3e^49B!rcPo!=S#1u&a zYpnTO-BGL!U7Uf#uO-#n#Rz_Qt`3#zLq~WRcJTFTgd$iUnV<=llChpHI`DPn$Wb53`#(TmULr<}R%;NyHe9 zn%2^K^6&TLo=q++{B|??jO(Wa>}$y)==D7r9`bG%utwdu}{k5VE0;}(?_5p zEPQ?@q=^ZTHkd~Bv&vB~^o3yAK!}q|OV-1GUwFDO&C$;UVj^X~)9i!nXyZk!u z=ylF{GF)T{XFrHOHz%Hia2o%|QiVVo-DyW<^gUG@eZ}J86V@3cY7&)TJ?I$+o<0-) zvWX;kUfU$xw%M&;aOk23u`wdv#R0Hjj@bLe5kx5Xs31OMV;jDSn1Z4|a^`Q6<#Ova zq0aec_PtYNwWJ-~Tz4n_S+!TVJSayo*#L_*u+(P=DNJ6nzlk7(_>Lq&O;~xH5rBhn z$iWIX`;{?4G(1x!#hJ-fW&=`H2ee_TSeq;3-8s1MZ}=pkIE6MIWvwlu5~hlV$Q5_{>ZFW74MV-1XSQh5SUP+sjZk{TICeSUY)GnI_z8ZIDYNL$N&pK3f4Ca5E`B-YK2o;*o;r$$I;(sYY+- zbSo~j5y9!R20t8I$78kOZQ)bW7BrV53o@-X&-gk#!juPT)eS0=&JU@j#~@spC71}B z0r*v}qo(T&6mk@I$&`{uqhD{}YWvFCBP_^junUbZ{yIvk`r$;Fr(;wb6*;y8gTl2E zIoJsarYbOgNIAe~Uts^<*P}#}ZlCpANQu+j*w&TQ65G6ZWeTYUh7~yqBe*v{D>68u zP(9PBpf3e!^4jFG0glx!@pnuT5;}35eIy$?*9{v>RVg~cyi7Pf(4X^!GNToF-@H~B zSz;vzeCr)gp05MIw_VS-=+n-P@5}91Lg<%&_x-8Y#X4a^!H(%h@6;d17DN+Jm+!bI zc`#jaoZ!_>*7#2%ERGwiG)YTP%@Aj>{EW_c&|pgGcP8YN1cN(X*D2GDl1mn_tus`F2G1 zL**NsZgirpeF)v_I`sX&TGMm)J!xY*K9aTtb-JF&wh=0E*F-y#K0|QVcs-~5LU1=( zI~4fV=Cd?Gta(Hr+Tt9vY*$r#@YAGbIyf4_Z?~rZAQ~^+Y9>2$-8CKqR_(s8Gt4Z0 z)%!rWPb6s;2=fe)+~=uZ@=fRL>46)~Y~rWO$#CwhoHJU#a{6lbW}|4>t*A2yY7Tap zkdnQ~UprP^P;??NkfvxZ5RweF@s@X}nzb za-3i5(>pH?@CuMwmD~CDWAGq0-T66Em^WIb#vo_7v{U0*ZHyDru0AQOTA0I4QbZ@iL@0Vnc8ms zBmBN(Fn~%-rQ2*eUs}vsBWuvQ{Bm#X0$L-?H&9f4Qa_|gS{Jrx?_2yS6gSN^JqY=` zIc3ok;F|ySaw7QYSiA3sEgdYV)f^0$=A{5@n~d0GAY{JnR2ETktdZ)u|5do`wBoxX+o`8m;oE*Wc~rnkhlI`KM4E zT^k^GylBF_Z>EFi+MCKJFA)`KW9OxOIMF~SHuq;5qxD(r`}uFeOT5@jvm8cuAgAE@ z(*s+&a#ZdbX8ICSZZ=i7W6jBX2l#xQ##3^vqquZ277!4^;VlCo3>Q)r! zkF3S!6AK6W+7l8~ZpHNr=S&J@pDZyF)!Z~TSrG#z@m^& z14M8cZN!bt99)(KX}}c%WQt^<&d6SDDsdrHYnWA54gnUykLw|Orgcuwra#>-97rQ@ z*J&~hhunH0VPsWcu(u$}n2D4c-jN{yG|KniXUAp%+Tv1NGHb)YtS{Z2FwH0*em9tB zu72)A%mqm1A0!eiPgAgJa}p3F$#jLuW+!O1H7$^M)>~{_2yZzw8u6smMbm7{ZW;~q z#`)iQ0pRH#s7Z}$RbW)}fzE1rz&d}3#;NE{NPkVO!VVi3n zI!HV;X;Fknb0QJ*ib&6Lo!*49!J=-o-^3*ii;y3{(TlopA8_BQm-BHBRq>qi##i6N z462MBH|zP!8zVRG{X+mrAzK7Wr@5sSqxrztCr1)v4qCs18W?AF6wMZQeCS0n2-<;s zw07$}%ZtY<01hP;kP}Abi?>Qe){5*Fk%u4Xt^)yBkGRtIhn&co98vtt(a6l&K;6I5 z^^10Y11XrM4{iv}o-|Eobx&eJ5z!{k<4MY}1n#FoF5GmdcaCZv4R6na&k8m?W7Ba` zrH%IhN0WTd0r(BenJMq-Tdx#xxB{Uoqs&LR&gYVX2qG{(v+eFg4}JSz`sZ>d)=z?t zkye>u^iG9;&Uq&E(^YNTOHfBZ9D1M zwrx9E>3^<0tM;y1a~fAU&q1kRSvI0ZM@YG^{mPlB^U+JDUuRkueWwka#Vh$zC{+0bvqFYTT8$Jd!kd zP|k3oZ?g)W5mcT-@>_ofO?u^+|H6Jev{2&}zOSjD7ac8bnz%F}eG@__MA5V$bZMaq z6P^>4^JHnZ`B+|tFnW~90$6`UmSpEAXGf=x_?FEqZQ7{%7<_krD@zF0{z=z^`{@9V zw{rQuM1nu0wL5bffNKW?o&zJ>AH)+t&TH*fcm`ntHh&iDiF^$K6Bnb>)l5$B>sKup zj3?i0W*726dB^FRX$fd>D8fB?pnfbZb)kIrjIQIhvUfY8;3MaH_R%6>tR5e=K8^qxuvAG&pWn(xvB`cQhSmU~NdS0&p|8 zmx5%@ge+jF3$Ry!a`@WYZ{0tSs5e^y?pXPdA4<{sQBo{A6lZrhX2W7-2MeP>2!Bb?J0HA{MBv3JZsAeapss$|d(d33!zc0@>=1k{*1rNb;Htzp9_?xJV zo}J+oEixS#ubEAG$4>eV?eHNT0AdXnXGa&=_>@Ju>W-4s#&L2%ZPr&~9kB`SMDaV! zC3O}%kg!J7GEagt0HkZ23^%x+C@~_xkoXX4KxWE^hm(gy7C0IV8Prbflfx0iIvIdX zt{bw)9rzk;1C1YxO?l6-ao&KUxkMA|(jp~@z{-$Ho`Z*$A)=5P8Sv{W;E;qkg6|nh z(7u7_h(O4$HB~0K@C$Tn@#YgOAXOqpExu13*pELW%tH32RwjEp1iCV8WXBDXamtGQ)Cw@>`-I|C~yU0|oRsk`q9kewFv$ za_z)})JsSCSMA25nDR1Xo(qY_@=(Q|hL|*Xo8W$@Wf+iK@}307{5NJ{epO8WyF$uP z`qq5nj#E+Z0-MvE!q7ZxrW3-&d}sR39I}{Gx`~|dkhD{gzLbPfdVl#xnq&0dV?(h6mnC~!X236c|78kw@$D>7MjIpg#B^^1kU+>lDGs%jb_x! zY9V7rVr6%Zts`cvtW^dRR-Uw3{l<={;0q^>q){oW2oYLDIt@n|FfEIk0ULnv-Rbag z>Qy}S`7?my5TO9wg(q^3BK+F^62F^^0RS-v;TR<*NJGsKs!EtxX9^Ia-!(~h3*RSe z>4+D}eIv;U8YpJeP%tvAXa9_|W`r9M5vl?w^Y@Gb-8W>A+$}H?c zp}n_zhZTw2kBVBAJL}Hwl9KC+=#!$~gf2~w(++DSox(!o>UtS!jqLj?do}XmaX$TB zO-@NzROcuTf~q`Spo+dC*eIq9qlom;k-{IVZuqp0&~l}m6$8)f+@LSO`x`gXldjTI zU1_;7x7wURdsv`-3O48|b!#ac&-t)*v=F=o(Hfie%$$%#0?t`D3g}5|;wBgM3a8P( zZvcR_gs=)qKO<^Z_|LJ3$Gm`y>WutPP7m8&nMb7gil!pmf@1%gW+wUDI^u zm&MKat7R>e+G)LzbXFh%IueqiIQ5!g-dn9{J-xn2QmnoxHdd;!d4q+p_ft4zFCsj8 zWwK7r=!H~d*@mAOE?tCyFB{3cIP*WtSY-|Y79#%lo;||7?-3Bu(S-1o4!0R|3R<43 zE6n*{mHTYj-jtV=Dj2l2&RM9n4L6>+Ds8eq!o4ie!(8XYC|063oeF-?7SGQt5;@hIpQBG$2N(}Rsx7AyNGjScgxz#Z6I zy{1+6O}t9`YkaD^o?U%&^#9R}jPGebeKMfjJ)^$m{3VK`8jNQ7?gsG#ceP&vfcRLfEf`s-`S7>Cv;i(0Ww? z{c|@Me?{(I^*E?rI&wePTCBhHoEwU3mm+(xcaL#5-FLa0hb=3C^M74DRTgr_S#-(@ z_m@l@L`GLT2TF7}-fK^Ey6^YLyDWsdcw~`=%g9YQsE>#hvob5K)u}9lPjF@Y5zOvp z16B*=I#*eTd_uHdWE)X6I%(~IEM{(SM3-7LMhwUEP%(1i*gLWzGY2;@(ObJ4x#5b9 zu1gdZkX1SDaHpkqs8j0Lx&$o#6P?)On%N{*ONRDX1U?ecg@I8MqyqSO~E%z<=yapwjE<4=!~ z4f-;)U*(RP^1Zj{ny8$5PnKwJ=QvQ3UP{P+r#19et^9mpYvoPTVCw_VF3*T__E={C zZPr-At{2&1dRlHj^^U)p2`lmdoAIfM8e_*7M`(8z-lBu8zPxMi;knI!^}nyW(AFB2 z)SU0aOk#Bh;eGFMW{#6zgmo5XfF-EdQMC7Y{bt=WMBQAxd z+B$a~0_No)T@+NX?xID3_r%D;^&5o9xS?nJ)-xwP$%A=9d4{Wf3oO!z zwexw7N{~+9FsqWeSbO`u;Y(fYAS@zC!WVq~M*nhc(um4jNZ74}P-?MEp@Sy!qZrIE zz?ow9zB0DB`(QKe*@{RFte(okL&9V^7MZGZ_YF$rIe__{I(1 z%H_}Q))rj2uv%#_Bu%c`pWt#=U=%jPKB`oupKqY+AKE~9$B5OB5w&(~hanuc`5a0< z$`tq2kO>#q`p}oZQw6fB<}jce*FC;9=RAA9cL(0LiQb+^ zzn#XhdDxreb-&bo4JBjA|d0C-e1z)tSN=sey z3~`{GI$Jtc$~*)ir$N~$@;eYcab=04D@DQhWe+KUJm+xLD8yFGUeUwBJ>{xVx!`74 zH)ssDc6=<>apqdzKeeg<<`m3j?Lg}u5NKedhZ75V#8Oln^jW@(uJwnh+`lB;VcVg% zen`cSgSVlNWG=O1m=jfVCvA8|`Nbi+f()4SuJ|FLxnyZ6-cfD72Jh-;>BY)ju?b^S zkqrX4y}SClT2nK%?J-QWGdi3+973nNv}uRT=L{HNm$xm_d`|6TTRq9s%RW`K4QZe1 z6cKEE-(&V_Ru)OtgbkLu+Wt-N~_t>ke6jPolJvpqDXme<_<{c?pd1ZBF zU5yfgb4tLRD8r-%B@4~M>c@z&Dzrgr<l1OsXur)?R0Nu z&B^J;n_InGxveqvTD2Rw%{~2Gb!oLtd8;?Br-P*d8wBIjWSi=`sbFhDV!&O)vhdcE zru-~VjrA3M?d?jg(wVmQ$U9bll741QS4!I&cg7^W-w?HaB6-M&25V#S4Va{4!>@g2nYmlH8@-bvGE zLY7I_(p&NMtizjI{KiZB&e^pu$fr^Uq%~RCX4Ik1BZKmmh5DB9xJLcVTT)D{$jfL< zQqL_SQkn0~zD!CCtKNME?|kXN=-(19X9D+irIBB?P+ykYojziMFVsiUc)V|QcJS$3 zz347iXctST%sd~>Q`Z^4LH9$p0ne9Ts@mQdwsLKZJZ8RG^Sj!f`~&~s`o-E>0=yya zCK6kv&+L-@Z@n1XSbX;UqZf()N4@y#e_BFyw9{qOrTKrXQbS)xngS4S)@~?NFV}KQG;Zb{Hvg}iy6=L+?zf-QY z@|Jlwsuk=D94eR`H#}LqR*}bq)GMVOHafDiV87PhcPH;nYrdH=xO_>coC_nB>&O}9 zsgp2jjDx<5SMyg!w89!Hnd_+eBs(!=r{O@l%e9O|!l=0D1O)Xae3UbZYq#PmzN*wi2W{N%1I_TEs%g8>W4Q}|)1C-ZD@ z_l6|SgWuBQ%ldl9)*xb&stuKtO2}L}u(3UAp&g)N$FfPLi8;c zr=FNdlQ{)aoy%85^Hd#e=*^6I&5BiU6b8P53lsEJN8#;h%|NQiJ)x5NSB=j6%A~7VbFnwNe#zJ%oUt`fKyK&@DGg()sKc zd#)_0ccFs;qo?Qb^RyTG?shEQ3DOcpdv}s89i2=mlZ0_-FHYqBh?qV6gouQ0IXR3e z`IhrcVt|bF#4>|sD*y#Oe?5WiOATRM9hRmzbTGLNrEcXv1B) z5@`Z$lvkBW!7bjF&gM^5HTg(-Yo3DFYD06qDJvMZ8y;UQQ~B|~A?bk1Fkds8t>__s zYQj(vwxqWc&coHJ=B*?_Ze~T=bbkE?#Ts&{BB!3j!tTtYNbDo=Ph_r&Bbl#7wWBM@ z2VsSj1geu~Wcm52+*orZkex9v$!KB30GV6>ec&kJ?5dr6Y!-MKaYncdMoN>Q{E`SL zgcYVx*&=5==?ni603jY+pEnQ5PZacYELEJce9bp1nN#=qK(dpCpSNz1fr8svUDUMlfL^QQH)>&4>y-J5{Wt4+2p9gG&S{Xko_i*!y%TdN-qrmL_H0i#1E7Y~s zLgM2U8m}*{m?IGy+?i8QNWaWJQyZS(Sb*%ou;$d7ljp?`o#U_tQe_teK{_{+W}7tIW$SU{1`_*jMpxpP}>Sz zJUi+9kLWeifsUd_lG*~lUzi2eSk5)erQ1niWiP$bp_K1Iavj5!R{Pu$WB3@(V*fZd z)q%B|d^$Vo${3+Jon;4yd+g*UjqKlgMQ_m|xV${R8;6tDWB0iy6*iADzHljJ?#f@{11?9zM{TW!pl zWE5vuDYUlvB3Lt`FLh1ajBA89ZYg*03H;&Gj-ZU)c;6stskU@Q$&HaUS~QKRQ%ywi z`a-c-Txp1Eeaw2ttoshTr71Dy=)Mlj9}vhK*h9OAPDS*oYf z;)a2wO>$l-PlRA`oYDNw!B%a%KGD%Lj-=#*K zj=^te>%My{KDM;v_f7z=)H54AsUTRE*I{2h9JpmpJNh?v%@dL=YPlOqIcYvy3zARn zwvRSF;PdxO{9LUS@hSz2wdAlA3l^RpJZ;e9Nv8P_$y=khaRkCA#Io=9lHRD!9iJ{) zQt%r>fCoh|ptKhE?q^g>@DMlq9KDM4fODMM&dU9Ga6KijqVZG&+$9(ELWbL}Q6((}rY{MShKeSpa%N6(W?H2>Q);FwJ$zJxlrYpQPd>WH zjWX5Hl)O|{4Re44{UHK6LbuuBsrLH6vxFU3pV0vm_$9qRwQ@| zqbm1-8WlGcj`54;m`3N6_;EALUkqF5U#wHlnw(r?a;;Z^CS{`S>x(J*_h1ZexI%f9 zN-2^d5Ju|@+8Gx?p-}4-W)-lkRiCKd4U>GpdG>ug{nx--MM(HXtgpT3IoMcTJI6&2 zYpl?%!9#a^jSQs_RP8+QIY7ebmx*^&$KaY&L<>4&xg%0^b+e##J?*TlmyDXX#oa@t zhw2+|a5NFnm^s3|erjhg#K)_3E-&9s1!{}mY`jq2_L+*Bis+Ix1KB-}w3GX#>UJnl zhS&#Aon+m27WxE2C<;F}?`mq)XY1_L-wArleXbae0b??%IEj?&GN8Ti^taIh>76e~ zEwe$9a3E#nlY!CBC+HE3vcTFKbUZjvvGztoiX76)`v5nkcMW^a0rSQU;aIV>ar9K0 z&={p#_^Z`AV>=-6CxY7ylNR8ETzfsR0LYXW&y2Dt=Nr`Y?zY6SH20|TklN}!CsCN6 zqy^#+UU~821on9ekb2t8jSO=?)`wMC7vfiKRXb59Vcbr*ZS20 z9A;jzWHcpq#&H}9OzP@4fqh>!v%+LB&I7O|&%=7lu)%o^;G0w8FZrQPfONkmJGuDm zf$LXcn-%~Ku2BXfldEUO{|I;RWJHE+ie4|QuyM}@eWYtC( zOwcwkMx8<=D8JQ=(bU>MYYV%r zZ$%HzWY%7_HNeT8t#tog^zYdoVg)HqU7iLQbp#)M>Q3+=J-a#@P&Nb}lr-@EJYmoBB4t2}#DMT$bNU z0XipA6c!|S{Sw6bG`L#P^>kTne|P=vVl6lVib`&MPjct+Jek2}YvTQ3pJwVbyfz|` z1p?mn>8Ca%Or-3Aq$L}&8`C#DznQg}wSV1j=NfXN@V63%%m}(3x|pBB;6r$5V@ZGs zHbR1=A1HbYHh-EV(?eOksp#ck+xY}oRZoIHc`4_p0-4&W_6D^!c5)(vkb((lzEKMw{T30$!}gliHT++^sfl{&!ZlZ{#XF4sk){>@EMpE!_EMTjY+eM43 zx&qZ}W&@3I`H8!`0rMe+`v~&oQD&wC%}_4cV`U3YYZA^Wys@;jVgJt03JWDrab!eJ zi_Xs)MV1i4{$+buH}mQih3P{GNhxx{^ec8UaM+_-$1E$@vD(X)9<9q9$0#dnM50jC z$c0aI6d&bC`HQ;fr?;oam?n9?Y1BOl?caYRpW^j0<0diK9DrFMF?)Q{2@8js31$ol ziS#nl6P`CXF$>&IX9PT#d>he<%&l047da<7{*-iUIq^wX+{xX^eL^FBhk!}QMZN~( z;!jSg>Hha#V#qqgZpkUbRQZf(vHwx>LaIF((Jlt&BLP}K&sZja#d2}mQxo^<8vlX! z+XwU2oBz1)$TV1HHClKIOyuDGUiP>VaAyFIrAEgSOT9DIjcNwL@gVa!f9yj12K6w= z`uFMzmDTx~Xb08f!qgLxDC9d4}Eg>(T z8@qOr6qJHt2Zi8*FRfzBiGfpHMtuG(!|Ce-1KoGEbSG#%(c}R&0d#8gkbJ{Q97T!+ z(s0rr7CY|)gH>*2i=&GPn$4cDeTacSW;`8GirPwtA``Z3owQ%}-;jV@W$zNrjYe~` zcDAC&@M^GA>37oIK$mysy+s5Sem8G}jQmNt?N}X+~H!^snFIEF~t^2h)1d%3W-|Lnw8N9~?%=i2hP=Q0diS#*(fdBxs!v6m| zm>BWfpj78U;?ORqfQLo%x=!F z#IM6U8N)d~caKezPu3iYjuf@|wJ~4~Dsp+o}g`&ZS*NJC{JJ!#e1>5ad3Y{$bl&X%( zO0rVyyb8$b$BPAhbWIbFLKT(I)s^K6F+a=jTh$TL*P=tbI6OF9#io^J>L|tWsM%aD z*Y_=H;+A{FTo8rPI^pPabVGfohqrBR?zB@eJ>IXIb-%sbp9Wq>=S@={9u96^0e7`7Y&jh?G=I2(Dsunh`!V-vZ!vnd{Kgv;y z>dQM7)FWmNrNS0aP+J@OrG!}KRivD%gQ$~gA799lRPq_!a)pY<*n5hYeP~WQ_>NB_ zRQJj#l_(tTRbm{o!WFa1`zdd;6w}%6sINlKeW$jGu+?<3^Toe+H^<)hvEovqwdwV!maG`Dk%Z9Y7L8yr>ZstQvs}-9{ zgJ^RDUWu0L#gfznn)yO79t!_RktGGw?@Jhj4dxGxolIGSGyt*_E6 zstW$`%`2Y`NMa_E|AGpJF-6^2OVoGPV!^^zyV?+%M8~-o7a#@O2y)9<*P-2R#Vhuj55|f_Nc~Hsw$1BwA{`O24mlzRwAr7 z!$%hc)I}1s zSAr*JHV$TjWG4$5RL?hI&mkxUel|ENGy>Y2Hf9gkG)8U6fvmSpo%h6N1T(De(rh=j zWhm6aqH&m3Q`iwopVb8JgTj@@ORNvIHu}YFc<9 z8pFv{6et5DoqOX^Wb`W1NgFF9251hWnOio-7U&{Gg%dB;X6X8y0UnF5#RtLZc=3X; z5v5YQ^4o8{ZmO?1SnrM*ievY^It`)*(@Be>MI5YWmn;_~spWyoZPVZpmLvn^Y~TyG z7o68F)r>Et30UKS@s`7GS^o^yYp!jR;Dm6FVF+D$paBJqS^)lZB36>0&4&U3IHK4i zkD_?0(E5Dvw@~2gNXlBi(eU-;j_kyBl|RoA5%4s>i+yfaAMSZo_}cAuzkHwR11 z^j6^^V&u}IuKte0siIOV@)Z;xi$Z3x}hDCoB84$SIb0Kzz59T2@<26{3+ zmntyZBVdtBT*X1pR06+1+~y*6{pVy`*XWG6Za?;)aaX&oB&pn&{&X&&<}<}8{t z$T^*$AfdhDq?8fvIC4V*!W1zNWzvR~G?JV(7KOZ5wbEA_S$Me&O26Gz7wdTE*t$*n4S168eId^75gEXMs>LzM^s zYE|zyaq!?1Lr+{}rnIuup_@JU`HV}nhj1>S!qEt?W z)hKQE>&^56|CLw)f*5LxI4@y`6ZUFQAcPB?&>}fqdylSyk_QXy2LE^I0HtiXp)M+T zBfS*3Wp0_;=ehX?+a*M%q52k{*xNd(wC)o`{*KGvTM9 z@&JqD;<%EBnN7IeqC6e?fw`@Guy1wrI>0&9dumfA%5h2*csc9q#nqv%FH|+R>x)`^ zP}gTblvvzT(S~c`k%S0RGV1aI$VXf1A+Z~$QTyW0{^p*C%%gSyLnMF;&p>`EtKoz7 zRZ+VUBW#pP+cISHl-~yABXIifU4?=?c^V43=s+f*GKchY22q7Q_{?0~GL_Lr=EwZQ zfee_or9^o`l}`m=;_?d8o{r^){oLg(aF@JNy%+CiB5cFUaYyY=srmNC7%+I&PQsc2 zY-fhz&I+7(Rz_DvGFQEaqx|Q;jfy_9lW+z4xqBqDpO6wEjvDq32csPMG%>B{y1y`b z1Z5oqL2W106z!gse@)7-*;A0U$_eI=@_L5|*fK2&BL=pid}DgwzIO>F@W5#c&mTNs|Eb+YPggUwCR-4AJ55#5n_p4aD3NA*4maTwDw>%An|{e&o505wHE%+8!Z-&cZ0nqk-a)CA&n- zqldi9OMK&_m}=c@UoEID`bFZXz2kwHxgMHbdDthji=VKn zMf+6RQTm~hB4dzUg}!u!zod3u-Rn<&(bMN{-e_U0*@1ZivlFjNg;I4)QjriRB&Ih6 zO3wFKM?$&s(w+Gk1tw{{TZf-2f323P5})<9DBun?G1du!xEaG^-X$zwge8+xepA&* zVo`d5;gnWK-y-f7{en$KyT-yIsWB3S8xYYdz8=X}Ym;Hvx zycC`gTGrs-6@`mtm^9_yK*7z!C1f&@SM?YQv$JCOS+|CKV8J84RX`@3WZ+kU7$pdW z7ML7pjq3Xw1GkY?;9`k|h*6`3&%Nre`^BVfZyk*R?yU zlZ>6MLG16Hv;(l4CVF6z3)6^kNVWjck_}h8`u*z}$l%{vRJe#vYbPQ9vg~h~EbZrK zX`i5{<~osyEv%~G^mj;>E1!T}w^go9d;$qXIKc5qJHqr5_nZ_swi4p>#VaY)nz zQ$kQbI;AF+z||4ZS0mnx-M&s_rrONsxI(gPbeNDw4hH{x5)ztj@dtq+>rqMdmvq5j z6vtpMT{F&>=Zm;HKMAkN2L>=p`~!_eg0!ZNyCsNCjg5Oc{Iu&;#x>H=J^W^N83fJR zcf3XjBz-yQotQJYU`N@K4oHscG|f9#_7nFO_6{8E`SY5fZH#rlY>U0s2lpFO*Ia{L z`%H2Lm(7jV#<>}`-}ir#Q52d7xp$E;8+^AZ%`Sd{l88U}3PEuce2dklzB1(vqDF`1 zv=h&f`qba)n;wl@|0=W-kMWeY5UPQM^OCMep@TOs6ttvj|5~Cr^xm~eeYG>+z1QtH zU#>+kNw@r?Ojz;6FTQCHyg5UD9qZv5;^aU5lV-Vvy04t#M|XRL$scQ#Erc(oA=n6y z%}!RwV?VUfjH&O*ymD=I^_%SB*p0l+LzwNYx3Qmgvp=Gwsyjo|@LgxI`7O}u+Ew}^ zlBtXp>sAoQwQ~O}xlGhEwZrCQmo9{SJ^R2#Tu9FeY~cJ4I$vPD*YZ+H`j=j%G$EY8 z6(*34#OE!>=B;N$+Nb0?O(j_sqIYJqE9By3Uq=Lp(i#X%>naI^`aTCs#dk;2FIVid zZ0QL|dIsUSOcdhV!kq!QyOhg&6qW>4tmd6SV)19v4MaQb53QM@4RXbiO>7Y}n20O| z>DT^-m|3r^sa`*Jbi^+u*^}^VTvv*p+2>0fkZw|9-bCo@VAiUUGiI?vReYf;+YGt$ zX;~wjqgc0Gkdv&V&;*&bgtY$c*ZpYD!J6Q?$oMrcu5IWmbjZ&&oiy5DL{lxcSIeb# zt%j@Q9Nt9|az6)gbjo!_-j|Xo_rep~DQ6qJHp~27sdbd9*r4T8A2;!zf~W2P8J4Iv zG;$4nuA52cnZwgKUfb)50>h|-ipr(S&1YXp3V+c}Zq2R^F(-obPs1d9S}3`Qo3oF? z`x3yOmZEs5Vy#JtbcGOZH1P%Z|`6sVeP7)Xd1pop90zgKBOY~=S`rn`byY2d~R^uP2 zTo*y}p_}=pSH`!vPFJ9XzOb1oyjio^>x}|lH*bLmxCq4&pI5+164Y3Fn!a|O(sHXK z=Cs};9eT@a5}!(Qe4TP8)%A5`nI0;ltYRJ7@B7^C@|P2~VAPhvhu6{e%J?w6nM|1G zeSaG>iLv^Bpc4ECD!H(tlE)A2UhV!te9y!upizyOYSz+`N-g8pve3!UWE4lscI@p`Qs61x)rH zq*Kw|oS$D}IGNoaw-+y`4bUE*UUp70*RkU-6=p6iGRf7{x_NQ8*a~Xa0branXg`#c|t?vP$Au`JI9>O*%RgiGre%-pbFK z+oF`F{}6#HrT+P?EM=9D@r^*3M3Uo|g!za1T|)_-4ycB#a-Kw5M9Smu<+9(iWt5dj z+nkqS;Qc7C5*IMp-CUR#Q2R^xsjoP6@QX!blL08`Bm8*wrBzI*h&LdvVBjGkLi%JZ z?r=}c$< zAO=BdJyGjX^5mw>^EMZ^rhHmP+f@SJp9`-hLOp_Ww zE+XCRRdQl#gUSR;m^L4kP=uOof>3IQ12CU%MrVqNdIUK>`P0#GmpRbfpY6L#c%AgQ z-3my98dZs8+re|7(?5;zf7xba70%H=(p(n^1cuNvjYh>U?eK?j!2y5ZY-WeE zzwy8Co6R2&KE@qKtY%VZb;vNfq4NQjm|+V0;mo}o=>-B%GRb#WoL?^yfslAcmjuf% z+m_R~_Q+x)#aq4RS)OqDc#Mi($}AHS`hD0au~RT@c!_(<0QmlTkoss?f03EY-8J`P zVXJ@XT12>{ZIjz4pohM8vDom*kM#z|+T#e-*oQp(;~g@7qrk1Zu(JQ*Mg+}CBVh!W ztIUFfc-e#<^W}n*>YIJ}?mmAqOlh(ou?9R;>VC6t9e}?Nyys z!X#V-_8`wUa7bbh9pF7{ESEgIBUd6zOOH7q@h4JV8gmd%FFXr$As7xrNKZ6@)737w z58WZ&mnKO!Md(@N5kdAOh%eNV>+%kD07^eULVsyYKk2tegbL>SfQwy5D-)Mq`Hr6h zPx&PWcplFDh0_%On**w1NrM69OR0^og7t5Y6o!K{afr*4)S&$=wLTL&H$gJA#9d~T znQsZBL^N%dXvRGF^z-z~CmxU)Z5hxZuX!CRr$^}@6pmP)vNNk0fgv!EqexDSydaWL zKCg&Wm4JP*iDkSZ{z(f`#IgpHjvJiK-$H_z#OPbe;VUI`h-2sV`Xp$%{DnqBi-!d9$DvpGzJ4?YL zkk@8;-R#Q71@F4zt%Vi_9pH7quV+~D;aVOtPhTqX=4x%(g?2~nE{$L~)IN-DjB7jR zXag-+M)#&K&bsroaKV7RN23e7f>-0noDbg@lwCr!b|1`o!RmYA_DIKObu;{%9-vu` zWgg9`BE#MnjD;lqb;^m7o?b>9jxka6GJR69eNB@7V825dP@P%opeM3C7+qvdFY?jQ z>><`Fau&mIg!R&c-=IUb0ay5eph9u>ijm}yFccgUpX~S%PAa*POJs^hcmXzd$;W90 zF(XBXWZyKCnw}pIhVz4&8C(C2nP+*W`oTC2QxpAgrSSvCAh&!69n?(N~GszK7XPg+IUow zkuHgi9th>UUa78S%2m|IOUg=&QpNTzadbfY9JJ*Do4oNs{TgD;as`R=h89Aa*#Ky& zCuhQznu!#XEuy2@9WTLDU0?d;I;_tuH{9`7O>Xc=Ba0mDa1saf{jt`{~h2x-kgfkt2EJP zjm;y&^7#AiN;1n^il5pikcH$+3tEL`Y`wck(s~@d^X>*cZ>*tm>s3ZUx&qscxo-@Zy|SjzIR) zZ*7>)?PsTGAHb#L+7(I8tf=62H%XK!pfi{_#fy%|z$yLWO2E^K-9#mR2K-kZx--r$ zHWo&{d^5&H;348v#jp3s--YwF!Nlv@QLR~1{im>^L*!(WKnEu(3r13I@sTFC2Q@q>tBqui%&Y#|%5*=}jHuAsI^0Fd zlCKH^-rc)6o&wH1m)C@<9d@30*KNl(;nmuBb6B(aXsHIlG|4hh9;^JGTX@y#Z)29| zD%RB@*uHR#Ut8`vHVYoVgmAepGG$*WtHsb_EwX|K`^1@{IR*L2 zjweyAGaJQ2UsWsFaRJERE_QN zGEO+wOxC82gou&VchkNLI+IJi-Sb#h%!^^E7#bMM`NuCq!IwkC^ z@Z>?!ADR~e@wqNYR}d|9UUVmHwlNfk=Rb&80|q5ZirwEAhRnJpO!RtF!a=-?$mv&^ z__FPZZYMS$V*WJ}V{#^gUVBqk_3bc_kTiv_-|W zFE_6TvJRJd&IO0hIniu`AHjktA|FyI{h>_N86PZ`+STf=t4alkrX>QBxK*(l6xY=jrQ%Zj1k9K#Whvyx{=WbH4P~I_Ld8 z;+nC--M80Vorb>tOF_wPJ>qo3_pc=`cJ&w-`J>hLj>WPr-4G)Psq6DMP%M{y>_s)F zmCWs?^Nt)~6W>S42(=GY_hC5rH}F5yq^}EZ!}>u@hyM{Ze{Nj>Sm?XxyU{rsJGfXG zJJC59JK8!s7#cg$xf&bL=-d6fw#!Is1^@dw&w+}aXP*h?c5hD62AXI!NJp|U*6q()D)waZate$O)Q}Nns?r5P5&*H)uX%x?^Ljti zu)iZOGLZHN=5ex^no#^Fw$~~VEso7m$bI?0mm~C^4Ye*1%q4H7AIFH1qmSFGNsayiy zy%@!gIQIem1b#``Xw(0VxM$J||9%pV>+-nWbK{a>N90Pfc<#S@-UBQ2=*W}}HPgCh zkQT}gEd8Q11O?LJWy%JW#_k4_K=u)Oj0+cg z<2FWXBH65_Q_I$HXuvK)>`SZCv+b=_$7>1?->|-D&~4-je{s2axoFVT+7Ya~Y~}JE z_GxPG$zlQo0`?wSB1H(!XA;?uf@r>k6;A><3F3R4wlcWx23%Rx5q}M`J}R20&=@aO zDwtWI;7C9(z%1?+3SD2^IgW0{oc8g@;Ug&%r0SG>2^oO^8FH1mKAI{Kgo@rGLMVB} z)B`)rt6&di6A*%ncfWOu62R5jC3Sm(cfwY65v~BE^YjseB!lF`J^n7RHwVnvO4p*U zfI~MhaTa(;kzurTFXWmpOn{p-zx11p9l#+LjGItjN^g>NYxhjh3jwZIo>;HXAV7s% zT#sr+o}2_VcN-Fb{Dn4bdAmiQk9dzzHfRu`rWO8jrC4y zOrlT)? z^Z9Vc9Dr-_2H~Q;WLe=^1|?z}!CgWC1V=>hZsVW2rM%6-86bVgDNhh=k6 z-<(15iXjTO@(Te>KIpcIy3blJ7eUT0N&ONzvO}DY(YdpJM8z>3X z;d0Qx`p3ZMnPSAdh~3k=12LN_(sxw~qKiD=>)yOV!XLy> z!hOv1-~`d^#QZeVHH}L2*R)(VA#dS`7!+{noUY%*uPt*mGMkcu&(^7#9mWO63Hi8#Yp^?fqd2bC^4k5w)X)Q`A(J)%rX*qh9C=w7oT@{z`|)l zW?45r0gJ>0%Mgf|ivpXW7Av)&LDC-@qj?T{A67>G{;OQy!*`DCq`xZ4!_mktwXUQ$ zXfb^dZQUpp>F)~}3EVUyT5}d_VOiAft~+UvLxFvhc7zHUV8hj>r=^r#flxh^@iCLE z9~1yYG%hef@s)T0&l8IU?Wjs$#mZPu3-VP8=okox=^7J^xc-!bLm%EV>H6tQx4o3d zdsNgwGj)CKLB1@VP{sIDMsb03Am$^-NdZLUbrL}*_-h-pGzg9(Y%Bq>!C5g-s0B!hYafJ9ycDTb!8 zlP$=?(U6kb+Db1g8YNU^p%Ejw7yEhkjdJfMG~opZYNSeFrQ=@;arpdLH!P}`up*N? z5D{c1_8H8_N!x*0Q57@B&1v=UX3Uyt#CN6dLr7~5s#FwCjo5e9_`bEI|BJM9P|hse z(r|3scJjxz&5oUPY}>YN+qRvKZQFLzr{`S2)Ktwq>{_+IS5Iei_Vf*=wFSnQQU?fHfrk;X3s^QSSHQHb z^NB17TIUmzovc7xX^o}QxX0L$1cAxoe74agz1i$!xv+1Q|0fgl zoP(F|3Mxm29{giVu!YedBz&HIA`$B{%_(nlN@sFAlHxqYJ+h?HmrqPi695wdBFfHt zImtkuo~0#bJ-lm*8XyfVF@V5`YtYqa`315_?w{3VK(s`k;z>1JEXu(G4eyyDpt&OX z3f^MVB5Y+)3QXd~$~=lg^IAzfZYygrR%uA({ffva*VH|p(bSPLG6N*!`gLzH(Ar%beD6^2kuOx2$xe98Wm?y-om~Z9V z5~Ka}XU+Vk$r$LqI<;4XZzI9C$nUSA*&b1(P`wE@F1O;9-K=zsCqBQUnrD7|_V;VT z)*RE~(H||C0Vvku1R+vKiHRT4Ih=&%o+oYI+qFQ#Ju2u;>Ktx#j2Da!1>u+&iD@C8 z?xC?#`C)x3v2OuA3@=1fbnlU107s@WihAs+nRYKVS-a&l@ZfX2wjDB(DN7N%1y;g+ zyp*oxpQbRZ?*4OeNi{>B#=v`L8>FH$bI4bRFlWx)cxw2I33cWI`=^{$wbZdLG%ID6 zi69f)*d1X0Ga{E!=Vp-3_N7tzD2wUGPL8Sk=JjDksWqgK6ceAB^fYXI-u?7O{ypT$ zw160+-`?{+|AGtLc|L$y)0na?1q0qVsAx*KG)h48d@!yh*&~9k zG?L+}qJk92S~l|OG67;!8xLOakVEz4j=7#s-nR#^qQz>sbPdOTt!Gc7b0++xf_$0I zF6NxW#viq(GpG5<5vY97N@!QLg@Dh=riwXjcE2~V?Mz*3BmQx znvjr2>Eat5s?IsG;%P9cGscE#zOEbz3|wT6xlRu@w`SD?Z0((zIeO{OufE>ceb~Sc zxr!$_Tw`d!9CuDcbL`Q4p~LkWnOQDgw#W@dG>eL}j)_iAiqOSESel$8yDeJY$3TVO$9UPN9j+;uSn9WF1U#@G$%D*59o5v6Q>><3A z5{*;h0RR~w)MI%Wzb*nB5HIMG7AaQ`uLLj|uD~d(jkF+E<(V03{g~zwF1h^(7X5cA zOLkD9JK>_UB_vDd#kRX4jpx$Y+m#P1=dBT7?=a#S+2yRHh>*^87g+~c6x!V1nWn;X z8G~6*GGe~smR2mQYh#vHMPoJGEh}RziSi83HdCR|7$_MJVx@&0);WLF!Qc*ymzOG7 zlJgAx5F;WUpvW{I3Uhk?>7H}o*u24xR`Xjcx04lZXSGHfFYVk^arezo%1|L6e16vP z(U|y7lwFpiBpfUCxDAI9wW^LoDmrAE_Ao$0hHSgL7;+FJsCojL67 zkT#JO%+-2jfD+3B!E9jNh3fxmy%3}dUhlxv> zVEr6O>Te;4I&eG3wtz8Zn+*A3;vk(0L?(!eCj@^wp_4wTY~Op77zXbdp;>K@uG|On zrdkB9%=Mi21dg@hjxcoC=bz0`47mbh4)aT_-B3j4i*GNp^p}ql3-R>UTeg7@jfrG6 zl-yFiZ4l+%b#8%8nMr2ZvFTTa)5nV$m-%)|G2M)`y3C8z(JD;w>u0-%x7C{v)xREE zph9uLW!1!BgX_t{;V1SbbA|3_5X<$#fyKcL>TF^z8*F$u@+9tT_vebn<8AMXye6tw zx6KipDoee^3J25`>BcGT1$gXMiJuo=S1fbPBQnQ}94Nd2A~jk9TEBE0^5~{=VBGdo z=vLk7)df1_$zER&0T$0Ns``m9gi{4=(A=yRQ-kw^Fa^x$A``6;;@zLP!!~JiaWx|8 z`kpAgX`al!{!dZ0zzj@U&X(qwV}kYy>tElv*0=DW6a?u!ueWw}81jBfoNZR--a03q zORcER+a<&hHZoefjzF$bPbL1ke}h$dX>yxbX$y z8=x%Ku?^QG0wiZWIpDG{$@TaEy8PLBZXZypxo`>yPdheMw@FKh8 zSg)l%?uFHdD)!Utfw`g`Td<46=x{d`Z_Yz|YZ*T~? z1C#Vxr3cz*N5J&2va5h6E>gh*y4d;RM&<-FvsHu_p7SX-Ecd)Xi%IO^%kB9a^a0c1C zCQXQsuG&|a6U+v7R5V-`A z@7XuYXf;PQX+lr`4I+T>i+7AKNE&ynnRNek_px&FnSDuNyFhlOwjZd)gD%IWQl&b!i?+yqi>B)wjvuo;z>PXet~%>^I2W{-v~j2;%E<@5t@|sHyFNXrUVIlf*GKHaB&?7EBSi_L@Gzq%#_CYKlNGZr44*T1gs< z0U9-7yK5+zE-ucV=BJJN&vxA6`QhQAC`x}4oxTE_@1j-y#q^h@tl(j`f&~gXc>Kky zPc~=(CM2;N(Bdz8paoHWlFx9lVNd^kCP=Na%LJbCIq*8y#2pVr55;Vkv4q-2AgDGX!m;Bzw8}eH?NoPk!41FQpwgy4}vK7 zB}Psb?cCGdqcM#3>f67cAcBP=rVV&=W?n1Y2^k)%Inhj-0phU zCQFn|Yz5khVoq}iBqZQ)z(%)EmYgwUUBF_^DR$}r+Se<~-&PBdBjCW6+zFC>aRyU7 zDRSqj+FB}VmRfTRGw~_F;^5d7;HeyMKzh30op@D3a&H=RR?sLH@-T29}DQql(-ej z1A;{p;@NceuJ+a=Mj ze8HO{Jdbj^z=c_=v;G$7a!xIbcj$1~2`biVAEDoo_Kk(TLf=3GW^##?dXR@ zNy9wK7Z?mqoXnF-tQ&LM=B?`ea zLwKqeqb}rDP5)sIii%WgEI!m!Ij@X8s18DT4&mKy9%eVjH_JpSa{+@q4UOE*pO~f? z6RJy!5p{bQ$AHZ1YU2p$B^1XF(He0xI(j&HB10(@K*TgzQ#-=_{hN85 zElvcDCQNJ6AGqSCHIws60*&0jL9tkz2`uKxf&f+Csxy9h&Hj|X$A31VZ0MvxAiMIxes0l0vy`y>vYMyN4S-V#S9=HqBe(tn{s; zUX=}Bc;JwnlD@S0@@nSO$<4e8=K&`dMnT-XdbS!yX5`sKFCNN)B!3S5n2|6pk*&q7 z%MP0p5DA9Q?l9VEo0Ruk9P87=t)N6vOpal_yjgXT(t$k(F!vDP=*fkv3s>z6et?r5W0iDW>3 zn_z=bsB3fRAsB!LBttJM&s|U@hamE272_Q7tB8CMMr=p|*eEPN*sCHl9K|q#Gs34ooqv+N?-!rPUV=UHDo*G*hTzJg8N8`ynu5@I`CM z9?Ww*pig*V0#j{G0n_qKdt(|v-3dN8e|zJ+AuJ9cs>4NaoI2y;YIDhgPmxE8%II;- z)U{ERqZ5+6VEl=@`ExvtE`}YU=Y;{6gO-jlNVixBI4AHVvOS8wOGy3-mc>``J$Q3! zLf{ie9_>+83mvtdkzVZ$(Z?C4Mp|HQBvAhTwRdtNk?uWtNHMf4WAd@4*VEVYStE?d z&F1h?QVPG`bYK*WF~(ycpRAjyA-j(l`gpO8D>NTRVoGceOK!(Jf+{tGF}&~JrgDlG zKs>{Rs}3yE#wfBkcL2mkJfrI5?pI@Me`A)>Rg31)hC^a62nTki13FAWHq@~JO3_30 z=%Rv>eZ;-cG2kqSTmT|;vUR$yW?=}647Iek2~0@($@YHf8(-a0xnBd(MkD<3WXTHG z%4Yd%C1OiS7M|RsTgGw-h7yK+y5Qb4Ctscuic$mL-s;9^#tbV1_EP)wpT&5AcT{0o z%C$yF3dOHhru-=4b7st}YFbbCBtX%>WM{YBCp1j6NZV)!RxX9^4z+Zo|CzxiF*fOv z5ipjd1`QjFSVO~(R3^VBRc~cakncYN=QHYV+K7Kz#fMwzD=zrOB3A8)c)_fVol!$g zp8_Qg{86jyyTw;jmh%wC#8RS;NKkZAk&5MPy(9tCc0=B|+oHrMRNL-w$wW{F+plih3qNQh) z)%I&RM4SnzQWkQyIe2o&<=i9m&(o~FHp zoKY58vnuZH&1Hp|`kr_)WE8*$8;4V!Yj0zmfXt2vKVV0a8=vrH*7@z13~?#4wpOL; zpUzJ7AQ&fqiJgjHne~l#;jtlYKqY+jl>z-33n=I|Dki9p$>WsMO~3n!DygpE18~lC za95XL!BV+ZRg3)QCP%#~uzVd!?S2cAZhxAm=c=?x`#+4|+R~d{7>PyT5%MWVoxy08 z7ysfrCD1e5j6+IUa3DLh_dpGUfcBX)h0z@^~lil4N}x$_RyLa`OA!UO6Pfz zMKw9I*hCjbjB3dCjfDxKyK;B@99;M9sp#!8 zs_&yKi^RmotIPUxhLb1x@bH7GzTP{Uyx~j9k5hJ7paZIB4&)0j>4&2?ImFb{zgen{5 z^6iPHOlwK0rC zCoq;OmqunF{EJ(J0%4sJzkz#Y+EdjByO;Dby@`N3)O`p*;sgT1?%b_fskD?TEVHD6 zeONvjo_6RPp*+lqv61NpR|cozr8A#99sc11Ju6+Y6EG-L)gy8679N)9-I)@qCB#ZK zU;9|521CA%+pn6{8Xj@~`}#r4%^uK`+j(Lzqn7;&?nbLJJaF$yO%0dV@VjKP%93u4 zSQa=-oZgZ-I`WrC%bHa93F#ko|5m8g4lc_A3!);Hme`vFBWx)qFooeFQQEYO1veH( z2Mc!dp-2UoIYqbHc+vRK5QbL|<`oHuX>GD;(`OM-N4R+k-;ffv;LEpiDnzMb<$sV| zQ8+OiNau&rgD2vlYHkkj^8^j|s7u_>Do->iO0zY?Nfr?yHx=tfg z7JGm2<3ksfLMP$+62Hm1>gKfpy}SA3f%23+@9NBWTX;&wC^iIl{K`i$sqEGR^dylK z{g;;%Twz-CyahGf3PIUz7>eK9Npe8TP&kmX!yv%xW!@O$x|*Vw8tM$i7IWE-o#X5e z2Hu-1@o)d$J23Z1hbub~G;&%Nr?tk~pljMIPa;dm_A(Sp(yh-?Ac`{;2bI5xVJ9nw zL@yj2d#hij7^NJz$uVHc9HN%O7E3nj+=^pY=iXro2vseXgfr`qX=xSd$SF8#&2duk ztDm3Ib5~4P1Za5>4&)j|CeHN+y7DL=E;F*P>>fNbeDIQ+SM76D+hwMO ze4KRIO)-?)nCkTDu?+j!gq2N4#fz2(tw1*ngU4PAVB6B&=b|ZMi13?RRot8MFdOIJ zEYx4yUtpac1=ug#;~3!rtLM)hYcb2qnWas|Q_vl8w@uS0Zm;k2)5r4Bqpc6O zOXv#c9#VS(~r-us|C)!X@ z?gTgsT`7qyIXL=6JU{it2uns{fZifD^Y*nZT^Xo|L=1Os!C>%L|H3h{`MG(`3};=P zu*w6PwE(bZn6-!H^&QcMhiEUNZQ*Z5c%aVfdC*u8ww8%T5*lH~E9PbYT0;O||cG`U_ z7FoHEv#Xc|TvMKt+yEFK+ieNCfGvjQC=b#V|Dh`+*JVJv+rK95#EOMs?eM5GpXBz2 zLmk0D#do6$Nf(sz(zNW^H8I>mHp@>LSOvb`o_=f9!!_~XB}UzkcoH*;%b zk29?vZaOhvN`ZAB2goPT5oR&bi0zCWcg^!nD;lSuO_t6x55{+;ms2a#O6KCva>>=! zHRgVCWXKv{pkZWZIS25!JTSpNS6Vpcan0fo-M(#JP=Pjaj3(f`Vkr4PPi?ZFtY$KN zH<__%r(h-%Nve9v`tzn~`r1d;|1G7j_$fZOb{iHN5&u2nqeIuE8!oPu4gkRTvVzNi z9#hP|SRH%R0UtNh&)bL|c|!!F<7Qk!kx>Qa2j6bXcXx_{Fiw-48+x#hZQn7+C362A z8`aEPDD=tg#q(fzm9jA6Y}#a5KXodN3CpG3k80c8lZ&$|mqRbPm#DN~dm+94qw0vd zgz;O?Rq0<%zpau$o7LHfPIqXK(g=#6tF-I;k!t>;Q^k%T)Ti?1M!D@VuNF{um&rlt z-Z)~`k3e!pqFt#1X~yt;limei_IJxv@QMMDH$QBNkhJM`qK`3GQ~hG;N5l-Hp#IxP z8+iy?dof(YE!Zk`>onLYx%*bN;N!71eddq#`?0{wyk1Uue|af+c?S0L#UdC+CTqqPO{o*8?m3&d&mX~ezUmCdrSJOa`<0ilW--Q*msSdw<86bMm;^? zyz0bB^BCzG6Kaz+?#}9tKTD|o($Xep{4?NitTz`@*AM|7K-1u<__!V6N$tg_$HKN~ zx<1bixHx4(23n&Id?3eL{`4;?rFBvG=-pa$W!!ThDh#_+V-)#5x*^(Mxw7;F>9ZCt zY$H9P3;WxCA;)9JjapU*8v{huE;b`ohk949KIc+lg}vauvAGMV&jk7ZOlg zJf-DfKrred%SN8+LSc2$u}iSBx=+`1c8vXUhzP0)h`b`mld`yDYqIu)ANvo{kERu` z?(vT&YV)**I3Si9=ajZ*PVcbUkCAs@XucN3u4h4IRi1yYb1m&Q8nu3>7v08M)aUI4 zkuSFm1*2H!q`vl2Oq|&f@&-3Yy1ei=(Ij{>Sit(mN$_2jWI>-viPJ!z$(Hn_(Ms~m zCUs_zwgVR&Ak*;ahaD`1ms=PDIT`dWqE>OTNg?b%T#4kjNY3)a@_%k?cgr;tJ`CKl z?`y}Yd|NLe8akBgQV=?13~7cY^JP>=R%C)tA*^=0e5zIdk>O4m&(uY?U3Mb;NJxe7 z+GAr`wTaq%ox-ewqST#X=km4@uifeC*u&G-(J}ZG;+GK^>=en3_1YrJ>oA*1e)gmO zgU>PGr*gej50YKd@6FdHblEDSHzzb79#;*Ha7Ls$X_wXqDc@R7%g1Y0SlgOOPs4Cs zv@B($48_-Nl!e!>ZsB{Wg6!t}?geR8_Z9J9#@`MuXAN7`3tGk@hS(x83;ccE#KZ{iZGu8wL zdb5oquWEByng=%AOL_Ms>aBNbt-D) z4)Li@YiaH3*mwoFYSrS;l=G1{?J%E2^VUYGUkJ;?M5(P$-|LrQpXly$E-cMdk}*EF zB%onaao>@G?8-gEvAkKWml8r;!K!ZSU7xEvoo$VSLaUU-t;3!kaaC2Vp6-qj52U)k z_Wx=YRhG!MD?J}0Dlqsd##GMCag)*oWVz=Pa3YK_e*iRZ%tHhAhyacmgdh0gdLHFJ z0uX-+^OOm~=&w>C(j8`d%L?eaRgPIcvgF@tY_Omyb=SXmpcB3E8GwZB53G-b^a6dU zDiUB|o*+n~d9-us67a~2&-CY>*VoH4J=lZowIwMPwC%&1j&q|zE;?F*xS9P6+SU5K zZtm*Vs9kr8tv8uO!f_KOO|`ythYu-J}T z@0-%Yoh}P60oti*m@OheIRiR0jf%NKz0MshmeEwVEBaFe|{TrQ}uK6m75y>3Qm3~_;H!qHHH19 z@-pzd&Q6m-7p*hGD9bRNY`~N%$wY73xPU#m_Caln(y@jhX1Qkr1J#-!5d7rP>KQNT zD4lQ*dHj{_5%=asSCuovTxpjqXnlQevj---;7_!L*)--qL) z6g@$GHU7RF{C}$Ikr#v8tnd7*cyg2pDLF_n{5sZ9J3LX$;rzH2K+tD#K>7DJ4#(BO zX)EqSH-HyGSQ}af)KO8aGr(V{Ta%%Puqg~w83*51A4Nhm2i7K}lgob{?6k$9toV%M zbCBW-tz(*`6YF~NW-*A@v7G@}zN^7GC?nv|?7``oL-#4i4|8y^_h)mqq1ukkx$i>;y?MQ) zp5bRqOGW8VAxEtoPEW$kPYHvU1gsI?rs%j`ewRL=P^1)fo;+JSqptgWW|3s38P#*D zVX8fjPgM$=ZBtiQ)8Jc}(JAG|;}3~^yMc9NS%{~PkM$2y%Eu;ir*=W3J?Qvy8sbg( zucb?b+QgqtG|BPhN?7+Er&IP529BKFZQa?E=RO4Fy7;u+nVns|*;@KpOOcMpK9ls- zxh?iN0ADk_lRmT^;VEyj)_idl1@M> z2VP`SK5fz#eNgOl8tyt{#lH|7ZDzC*`?OCemxk@ zJyiKp!~ObisT&ZGOje8!1cdJS|2KaB3);Kpv-mfVow%!<^4EWip`nS_dMst**~?Wr zp*&cRZ-RE>QjXk1FCJ_nB8+8fN>QTm{dRM^orxtoK~%Sbkq|FIuxS1a^bGWEj05ve zdQJpg+`^H|smEW*_bKA1*1g5w2OVO@-BoWK5tazICp3zsWs?ga%e*y6H9MX)qweBv$H1^KSaRE)8L0 z?_B5xG^vDFY#!vmenNtrSl2LXjFCXOA|2Pj`Pri10sfI<$xV-}pTnj=kqTwV2-8Lw z__av1Jp1=~LA59!>HjQmkYc&T&`q!gGCH&Y zBgIfwH#rT8Q{ul|&rF;ZM+x#r%l8R*`c3j*;St{A<;I3mUY(_16X4&($V*6s-L3L( za(xASpPt#*{Q*OQ8%4&ff-?g$7nhV}DoI(6E>;p`ALx5bNf&K02T_(evEs+H&J9E& z8z-kt02JY2vO$8CK~cn}DhX{Rr=5a>K6_G;V7@=8A~fqcLI|fE)$zxjcJL%nLMgQo?&E88@5{KK~0VaQN+=^Aw;20puBf6r`^Qh3s4=q`!~2 zdI|lek8OgSGw(UKQ?kXQ)fj0>M+7;{s*?@Meow(A0NQH1oJyBhvN-5A)S&) zrWwo5*z3bJQ+_2p;uG}isg2O>)m7fjx4AIj03jRexH*)Ofr8T1{ZQ1{tbt0fP`|N4 zW8|ECFy!wvrDiio&a#_O#09%`#|$hx23^2%cH>Ogep}D{{?DFH^rzr8LL?HLDe(ZJ z){#AgzQ5ifHZ@HA-yBYMb5(>iZ9!K1WLe~R;~yYaWnLKO-kF5`hUrbrp@NVEa}4j} zg_?k}tx_TmDE)#0NF~@x^t6GYmnNw5*2n>@S-szMH4d?_XWaMqPww$Wu1?6tAPFzvs$fP)j=mC|UMv zek}Q7i@bql%_r;%I4=z>^mD^fbWxIUY>6+$kW4M$s)Fx+gYVO17oYxvuZ*SnAlbHE z&I(vn5UND=eC_-Ts;c07)+^hQ)LU=`i7(Lkv+5QS9}%U~GgZ0-92hp^8=F3V_`{1H zx)3BF&og>jC$G_u1Y%C=1jw1v>e0pTu(oeW5Y3C&BpM~P@r*4M!n*Q>PUJv;B&A02 zMSK+QhUihJi{(cyVoo7N(AAil&3R1PTR}d~k}~@Ew*Z&9257=$WyM!Lo#ju!1?AJ= zo?6Iyt3*tivL5iVHOKoL53@n=BU>^8UCe-6|8>7Y5*Jq9#Ci{aACWa?-0d|6@6Z=9 z1lpWm-N1fgr6a!TUFrsDAX>ndB;yqw@AlVyDM81o*>>BBfuq$48!9qJsVmbet-%p) z_;}NaR5rUS?eK|Rc%5P$`+Eo1-`hPJHvcm|@Qc=kZ2mGf@dbgFUR}8G}^W1#h0XE@(Q4AG+<5(1=uC^IYX(3v1(v{zRm2Epfvx}gm$a<2~xj2*z0MQ5NK zGnHE+v+`aVWLfxFVgzn+B8W8MEI4wz=mfk{fmfoS~%TqNMK$k zKT!q?S?0{F85DU>b<`9#i$evPpK#Y6+eMr11=qvtcom~c zYkzZykp}NbAI%1ek{l#gX|_mI2yg?HsH@c_$p8l+%KF(~U5sSSQVB0m&rNQa;gGoPCfUwRsVPX*6V#Fq;%3Zfr8^rIv<7@!CEF5Lw!DhDAaDqe z)9-%o*`wZ6Q>)>il)NW^q+1pBYH)YTHTv^J{k)f4!C>Y{NX9>VoQx&bxW`$pc^?&X zR8?a%eVsNN^+v)&SIA-8I|zb1?q901)qDp^&a7i4iw9o~fXSsuGuBl@Of;r}N%r=De=&iA%{?Y9>uH zB?oGU;L-Q%59RFn4d{|wQ$hE1=ZFh`AHY5UTRK48#rfXnqOIPP3K2#Ie{(X3ywJtr zGdWcvwE0R4m-V(Eo}H@B(CaueafstxMNa}~U(`BTcvFp4Y+rOj3Na(bVcojv@NUK+`+FO5t(e9=dd#j0&Lc~5cZ^{?AOm7%&OJ<;)0k7vOcrpwe{GC>-(MkMp~7e;oo@hu zSF+5AwOVU4R23_2_EDUD8-oa+QHIwEJ^@;*By^KODq;#-tFqR^??!t$5I`*%$OwaD z!V$98yT%AzX`x_iF*4bMcDVczNSg%eepEW)+tNPZOsAkT!I_=tqM1CP)*3O1bC6T< z-|t;DXmb0UUriE|scED|`Mh^2{tC^!S}5sih6?K%(xYPWmIjebfWs=4ex_(^V&hIRMUGw`emGZLNtuvk5duZrjcazht(o1^_T5qQqDjto(V^c#Ul(N2 z{=S8sn|rjrGUs1evPIU*b7Ms_9D*2=?2X;f?zGq_b-iJCSS`>b^^w}>`;RNoD4;?j zg&w0hBTrCJeTqlLL}`N?Ex}TyUJ|iv8!3J|!9DynIS`S?HN#+aIE;^>nR~r7e8j(( ze008PF$ivmJGbybUm^SV_w!6pK@X|{e82bt#@e|}Z~oXHcz~5+!tqKaj1?w>c}K(0 zGQ7Z9`XKc<<;vypf-9qrnRDeBqUqI++Y%_4%^JOMQ-sUz$xIRg&*h#a`h?(9H?|<~ zb&=8vFCm;EjpKIk3Z*cpa0$VNNN%}$CKtw=_~gmI8?XdFm`m z-(H7WYE$)ItgJb>QL~8<*s2*PO5f!mA@`_V&CA}8knkpLjVKu zs8}1NZ=M3M4)|-9Q`^{syq71^SxX6mjz&)y&BrSg=#uZn&>DlD& zl*h0*@>cioZGKSkA$y9A4`4;)O;iV7UAjbXF_X9RU+0cx@G9*r=ZNsg4LfL0gBmFoTovdYs*i}5&@y_fxOlZfhel6qwV@)D)(CqE zTr2H}Tb;nMFYeNu9crNhOG zP_X+w*GJxt-7PCW@>iFR90^)VBasNXW8y za;QwIiThHF)V$@C>7ALG;Wh1M3bV?F8@9|4qVtM$Udr6=?Eu*ZA5FZ+_Y@&ro2BpTCbq*Tx0kXrG zTaOGd0X9RPA^yD&-oUA5ryjBHB-8%wUD@=&HUMW-y5G6lCUomWu{VVD_i;g2wSnE~ zT1$Y&cqQNOIq_dgRRj}5F@;x~*Y!#^|b)XGQ zX!a179RVjc>(MmrLgMV-vSu<5tC~P(Fw3jT>0k6YvvKhgI8}+3(n^i`+^u7A&4({y zddX}hDkWRgt))h5cr!)LZOS1p+m2K_4`USDW>Vo`9SUU{{*i!BHDroea#h_5aW7z( zf)Ho9*^t^V`KgbY@_PJrVc$!U^nw*7Vr@s8xDh-TP}Mliv{gaOz6>KGjweSSv<}m&&6J=?RqvwA zLfH3XlSpwh#(VHGH7HB92K0F8$MzK;1XYr!Qcv1q1Z5j|ZY6(j0!b&Yy7n#7dUyt{ z@jG8HFybOOX0m~Fv`sknoHy9KcWbwI?hM>F=wS~(_vO2mVvF3IGk#aKmW}ar4N0JV zZ9891uIRAi(ho2VB5!%o2(anq9Vy(7i)aN27710Ix9wX$luf>GvwmwEQT>r=40u{} zXd4%DE6DpmVC>UV;o?Ai7G`5qxu;Q!ITJ?BvH{jzxe93T{U z-pd<0Cwv=Pv?EX>*#^9!NZSTmp)t-OG!7QcsS;ZeFqFtYZfYQ%xYI;sY)J!rhB6Xp zj=SziXd{r6o19X9U_9m;I>ul3U!R|2l&KfW9S6BnOfe5mK8SPzT?vfIIr#6ca|7{1 z%X{VekJFcK<1p#OFU}qSvqcg5ZH`{+oN{_()U?yKPts`ypT|CXre)QQsq??AJ^r8v zva*+RmnlnN`+yEZ%W}!w);bTt*J?8wF2V@(qUr0VNSPSs;!ZfgS1G2(kbO7jtXG-KSVv$+&QGtIWJsyvAjJsRfz{Cpt;Y{l@uQ&~mejnyUYcois--Rh)Q zd$Ju3(FyH&&Go1ohpyGr9qf?zC$y)Sw+=Kleo@Jpj}FPNFKH(v>OIj*u2ew@oDVqnw8}wI!u=Ju%6Fnaa^W= zAMk1f-fk-WSQqSQ8rUi9bf{aIm?x&uVi{jRh9i0E&MXDZXlz$5SSwEz7+Oo3^o+qM zBX(KBi$R6>1d(afP33!=iJ{`Q_qEY5Zc91_k_^ORLMwHxA!^!EIm5Z*WH<*$6y%+0sc*6AXaawqqv;0%^26b z;ZfkQBKDZ2!w4IC$v=zr+50zPS@@tcZ0XV_Z+S3SoW)fFHAEjnKuM`4hvT$kyecHG z?vU+CW2MlmnsBnGvmBlt5-F3YV4G##@cJfKq~bVMeaB5VISbS5ENylO!1!7VmkIYf zCVZf6tg_CL%F`mMeO)ITtzSEpR>WZZc=S`bk+7`nRbqq$Qp=YME;;xJS5%9bG;ancA_#?;n1h^%!pxu*VV^}k`}^nSr}+wi z>FWqfgWK986)-P>&Uy52jERz*m~D{b0h@RfaIRqRUtFnyR|dkp2wNtZnqGSK%+RC4 z?2zlJ5d}{=#nsFOlZ6a03{f(Dgprxxrzip09bg-RnJ8ky-D8$5%YdU|TT@>Bc#x-; zi2Q_^Bj|t!QzoOD@Fl(%I{d?}Y%9y{pQ*&g^K?%q){Yr#ZhS?GHntlV=N1j{ zPNoCn#JsIt5-T-TBdJnV)Y`Cr3Iw9;B^^fHnRe8|Q*Nk--HVp%724V>t;%}K*zr}( zb#d>_3aWwbK!FS;lf`yxu8ytdG@dMSrsv2?oafJHv=AzfD;TbeS~}&w8rqxV4fPA0 zw4!VNoEwdAtt!q5uPkT&?*`9i6)}Q+p}?QXI#Z{zm?BL zQKbktA)xtLN-?Lmj3^3N=d89fG%KTtqMni^g0do@l0S;@^&Va3T;ZeEy;^cTC(i~_ z?UvSs0;ar?dOG|dh?{5L0WLBdtw%X00kg9^NO^23gVknLodzJi)%^IcqqjXGP|vXJ z8;?aUojX52fsVCzWuf=CfmTk_a$85TP}42!;6wqbqe?(~I}Mp7zK4C9tXIWev`2!s z77M8OD+~eF5;uVSCNej3+;`F5l?H@`#q?n=fdxv!6K)T13$0O4y^=pDSUH_MpfM`-K~Tc~#P zY)?;}^4UUa=o|a&TD&q>sF%R0~6^8p1Z6*NvJOZzR zo#ibVM(zHyGyk!y8SB6vR@*Z8G(yd5&ViP4%H$4ERR60=Jvq@NAe9Y=qr&T}np#zh z*IcO35t>x;(~qI>as)&bT?jKTC@Q1|pYH{LpP@di-BpzmVaE=mCRF_Kz5igk_r{n$ z#2qicYfJL2_?BjuyYO-NA;S`VPyj!wPC z*Iv!eo}uqIqK`XYR!8)%XWJK07O;p;*V$1TghKxb zeT2!+<=z|;P2cADY2<&EQtV3nGAUR90Ec=1J?LWnpS3u=*6v%QPJ6y_ze8ZJIo90j zB({GYwcfdEi6$U*bvaXyJ1vj@NIOXqfdPU+OBgA=wz-?V1cKHBNNSgquzV$GkT7s} zJ#KGgZuIrFXNg`3l`zR1{vAlZISPpM$cP#Ac;NAHerbG^ABeWU+57x7&z=4DzM{a1 z(uhKwLQ0bb-O7F>{JLeqG*9P2y)sQ2BhCY)d2zUXIw1!0k4hnJFp!)ylcWNGz$SA{ z3k&86z9j-pyqBaJmKn~xVsfJb3FP?#RIE^`b{8Tz1O4ZInHT^jD zPXhUmbfFuCe|Kqdy)=Jf2=We_1ASZHondPCZ!z~8I3_jdK!G>6V?}v_l>_NDd7?ac zP~>E8FdFdsEej+Gjvjc*F&j>-`^MZ~{qXvr@-NY3-@bUIr>E=6LAWQoEHXb{;to{e z<>R?QSo-{x#et+Wtnix|LP7JWH}HYufPDvGh60mq?J*0}U&94h(48{}xI zLX#|jj0bVUHb`ChMM{~|i_!P}D zUHf6R(+04Wiim<3c`BVy0nB*nnZgV2H{%H+O(6#8kVj^99>_z7r)W@}<+=Gy^(N*k zUNvfr0I#)Y4+DOwFE+t2R#?Tq2%P`j>|gKR`kMUy0b@#?B7&0vr0iTT!jF0`O2UM& zQnxNKU2GDVaFFkm5$3EQCLpN-y1Tbdla7fEfd-r@M&sfAW?Sa})#y$MrmHazUKQhI%T;!2bF6xcv(xv;^6_1P=OwO{(8~ef@MGWI(wyv1O zMTcma2VbNh7swtp(&ay=*<*Bav5rb4vaLljPta;!Dj7iU00>WI3(eCj@Hr?b^Mu7=qy%;p@#j=vdB$WE zMz?>oz_A@>A;L|ApH8^G&Qv+iG8w=ve#Vn+B$QkxrDk+R9cY&1ODXKp>NX^A6Yvvr zAch{~Te8_0eyH~Brav1p1K$NGAXzDi+4v$_ejXZ+(WTfx(FDQ_%*;U0DxO*vAPh~K z`3_h!%(&yv)C(9>WJJvu2JHx0Qlu`{bFW@FE8_W>4N?F3VPcaE6u~S;^{Yk+!vWoc zc&OYlMPW*S-7S_alozT6v|W5=A-D!6oD^D3^>qJ;E((z;%fl}G_f6TP2nKwyk4Z@H zJf9Ry>K$lx+afj6$g|`Lti$leU;KN+d%)ow)e5Q%tk8{Oc=6Fhc2HLlFv8C`KRj2%0N z8qkhHT!T$Vh}xIZ2!V!ZxJG~Q7}-|ka3C4u{P-kEjqV!XjR$aB2mt1PlM0L)!f*Wi zfMcQ!2Piz|(>#Z)8I1>G0Ui_|{6&IAg#joky8FiKL@9uDyE0*kFgrest-0iR5^)F> z@@sVa?ZTxd4N>MgmM(SGX)S~o_f4hC##RLZRv8|gpza}dlN`ipw(QnsrRf4P@?=-F zaKPR|+{oxy{Wj!nMa{#;vLGWSoU?*=eSqGL6JZJmtSEdlsol;(d@$<+luV#)8kF7D zX@d0j)Po@!ZH6&%pf_51(GeGcmK_dDsq4J zf&1N7oEH&TEu>Fnwc^4Cc^W167eVe*IVshk7gdWm95_N`_E_gkz?o(f{sOWKPf8`x zQ^8JWiFDe^toEQtSh;`Qym6zN@R5E-^`dk=Zj9Iudj!tO8VZ(G6tyB62@~>p8e|oi zu9*7saxQ6=kUwlCSIL`5QItLyuF@Y|hpSeZt&jB@mlt3l^TWH9wwP@tl{qQ<^j;xX zhfrlYk=9AuH|4ZkdF`DOnG0NgqsAIoPy}Q3ALE|JaVi=r zIC*YUw@0${*dGHl&iYc*?J90|GR$=~sdY1TU_Ek^W?Ol#mfNJguEANBJFkd$QCLqy znu)(s)vJR`v|sMY)n@2ExWBC;B`ciQJsK)4x=4^ChIdD&#=(}XOLQ8HQitF^3cbWy zS(A!Gtfyxf+o}~ZBF_E0#B^Opbs1uFM@K94!f#=rUVU^LY5^tBGRXY)`Y{1&TpFuZ z9$E9-mD2Lt2bWZ4TzKaGcp#8Ap;QaB7CNiVQJ}5@=5v!yPKB+9=8$n#QUyG*yAd#s#3Ja+6`KIb4}2$Vdkm~c&`O5?1+ zi!XXO7C8G4xIvuEoXM=QEa1Hz1!93Zi3=uKa5E|bZBYQ^(L-P`Cg<@xJ7K|*a|KdQ z3WQyVJYy`(EIF_z`&ZEQ8w-a%CuO2g_9NV;G*au79c-pPTHtWQ?YxqZ@hBlumjVUL zsOZJNs^2g8-8neN{JA{2O!f!KGs!XdE%*2ES>5308Td;fdoDCwOme*r^TY(n(~ACR zDU#l!7}&6*^fTFVK`4`h{z=s`JQgLumB57hi4kx?qr>{fmFID?0_^;W!~u1Z)9l|# z2uK44kO%yW&5fi1Ebh@uVN{O47)6EBHxx}c< zkc9v2=hVm}3NJ*JnPp8w`*h>SZ&J$NX*)or57Uw;;U^?Ul z6BPNr^48_GogN$ksfjOGuU#6R)w)Im=A&dP9ML-mOsnE5Uv^D86L8s6a$??-9`Vj& zr%~4k(c3k*5UKYo?lU&yhM7Uc12=Y35Qp18)f1aK=cHAv-4_h&TqjQ*>}z0*fQ1Y^F{j3 z<0^3mLMh=|>ZM!>?)OEg_&Ltk&0EohWvk=J_wgMKPg`mDd_BXISNX6a+hqod%RcF3 z1`vLo!I%b|s0$@HQvT$C3&%*ain$?#qVv^AOG6rxq18`SuxU5R^~@F1UDH13kQLIR ze^qya>qpp}XUpR!_4)H}0|%q~iQx328DoX{OOP;k3(`ahPmv3u$HHvIK>B9l{no}Saf zUdp2yw0wsYtsBj%@pPnrwMs;oux!4}n_t%c$moBW$Yp5?lel{Z)q)? zT^rCG${B#PmgjsBeYxKX0&i81GEK$#VriV*ggs4e)xc`h0t0#xuvY)M@LSt3NR;W)#;A&9U}C1v`LWmRZ-cnh=by>w1@ByC(b`8p3mELQ{tFU`%qef z3`A8-S-~D^;#o3v^-I1{kv-4oP2vC=+Rb@F)lptKm;O`c1AT>nWSEI0!{1=&zYt<` z#)-iU(M%i7xB4*pk~4@71rOBmz;c1{icnl1q-_H8#YI4?!>wUKZiI9}vWlFzLDa}- zSjueS+5@ee$34nD^hV@KFGglN*Ik*XgB3}^455^kR!zXYV14!2X+xUAH_23~va%Jc zu8XWo@>iwUBGr;fok=|MV~6c^$7-eA`GdnQVk~u4K)$HrH{^4-H7<2q2sgewC8zdK zvCsRjNBRxoTyhw3-b#+JIEmUlOzzm)gP^pj1$E33-(EeIHK&khd)*fst5>#|G6 z%L)DoLd~SdTA$*uaVp_D@R1ic8#*n;goB}oc4`P?MPc)V$0-k7b1LwL@je{1tA6(v zVoQLVd4<7sbLAAQxa_cMSoqaShGfogc#~% zufrh6w9q>4<@!g81>1^wux%T}o!}zRtk5v^@hs*nA8th@N+u&4tz}{* z?U*&0WzwAEvkxTR-a$MyskKg5>1$9K!l=^QWr#gn^BOr$WkY)BPhVt@;}BFagNpVb zZAWJXHd7SeBb6xkGxI2H7Lgmq8~YFM4IDLPqcGwG@gna*g-&8W&G6#9N)zcq@3Ky> zIEoo1F3Pg)HF>g}VaS&DO&_|si|jt5Ovi?_ifinsNws>K&Gj>5efHrEn2IZ&%OArF z2y-GC_U!d~iRjh--j-pnk9$Tcg%kG$%XtAAg=9rncVSF8KbfxC_bA}vP%_iWFq{)bM_Dv4jl$b%UHhhqGDP&TlB8IuuXt(ozh9FsdumbI39 zb7=0>_F7xH*eeh0_M6)Ec`YLtx65rEvAevVc$K)GinPPI`f0q(2 z(2`7=4|>DYC*wY=?|ZZIf8powzn|&#`Tf9tJwLAW-SVz~{(btqSG)f#y?3F{&H3~H zI{5kV{eJWFcYD9K8EA6FN}t7&E-#TG1On>{LJZg~Y&4Ez?5k%iXT*+}| zOo|}fZz!0isc^bSV+z^QUbCU4Tc0afu*0UpJ)Xz|M}$8tz>02TBWRfsVCz|L-hBsJ zQ*EjlS<`4ZSofG}o~nA4TmsOdD^>yMen0O^v{k5Ea&Vu)$S76;n}cwxwZWrR z`+sykKBNC$#a^Wres#ms1dhzQCh+%t5S}#(@GF3e*q4`kSnkv3`FuaeN~!E8r>737 zhe@DPl(MXHQ}W{tnV_2~FDgw=f)3%u!HlhSv^)+Yhk@<65c51wV0L#uZguVD`+2-Q z{<`4xc)TIM5s2f@a^LkGEr5R=EJSN(?RJG0$kOUPLY7)g`qqToxw&+L$MXbYDV6nl z#M3_0roOYibhZpu6^nZyAVV`M`DCBl7Vj3Ks^Yi`u)7*5sM*Se?lX}WYt?E%;?yZ2 zMU~vIgjf-3BW3UI&gLVS(#`}%foB1lszBPls_r>eM1R-}9NI>Yw+nSXWsG89+a5%A z86jU@IHJuChv80KAgl^}G%oP!mGFv-_l!X1NPYA$vO34oCS4u#kPAsUXOIEzenEd3 zK=lDGjr=*5IMPKkQO^uts4L5tWR2H_zg73GDwj7xnhc^3uHW0!6>k)5a_cKsk}11(pysJ55QrT=wt@gnTH>Sjhwb8HR6>xZ`H73mV@ zeM}u=<83bgP3;89fW6z%F=nal?eP+EXG#d0oF`T$%v$yqSBCOcRJRr1yuBwQEMsG`0Kk~Z`4fR`-l!2((22DQ8 z8l=X@>$m#^DvYW0BHjL;LFFWSydhqRc=(~HmkXnQ#Y{b1VUtv2uyc(uF4FFb>@#p? zuWx)0*Z06Rlhj(pv|)8(Z)1G?Q|#`^9PZrMUcjP$SyM3JMoPW@&_V074ux!g9T$J$ zdr*~eyCOU{T)v1R)pL)rb|sM1udKUWb3wD5oS{5GV=}um4uAbJXJu2MTf+UCLWE0 z%wBfaay_c66$Hda`}6TCIqhqOF=hEeRabh8Cy;Zxlx4@Jczt|)udS?nTtD|lcM-a$pUb24 z@8F@Mrk`EK^xgX0=4=E?U8E$4kx`cofYI(lQO2o3=aea~2j1qeLN`grAi zm>!=l9ulP%QmlDWV!REI(2~ZR2FT1>xDupg@RAOO3YQ{QqFKhLP{M6gT~j_-xt82H zfu`8rlW>>Qj44V>cMzD(Cn4LruNJ6`q3qBPG^#Wh2gDq1^zE5Ka9Gx66-b@$j2Wcr zhl2vp)Ip`sN<-&5I_WK_wg$&x@=ED0+3yDE)X&xmhQagm#Ln%^)mhr@7u*M1RxQ6+ z*?C2nwd;UdG|!$k9jEQon8eNxJD%MhzwaHE6!v)AES=TD1PSy?oTjz!%F2^N5_X!p zI#WlGf#h9B=G|A@Zk!3@fb@gaW85#n)_hskpEVN3)?cuSf0>hBG%gQ@yg}++1cfIj zt`K!{S2^`TkbYjU?uE;v?s{JXEgsgak}*r$3WEx>u;=ElyQuhD((UGdtk+iu<~(j8zVyOZ85%tG?81M0Zd8`sXOvKy<|jvGR%CZll<-yRmaEV#YrHbr zmjpGY5uH7spls#g_o5kOjBtKLqfV|}?7)uwVWyX5 z6)3D;uQ69oR22RmoswYN^ZPvw!>T~(qdSC5qCNr(=b9VkT%qSJqRZicLMvAsCdiFl zNwEkh@4!%)^f}za7}LzIh8ur}5tn>i7(DzLcW_2Dv5d>rr+P&+5oiT7@DMA>(oj17 zUM5@FqRbdZUxK$^QLWr{x*6eqv2D3mHYuhm%7l#bB*8Y5NWK?dI;Om{7g_Ol1og`y z-59va021Ee8?4Ul0N3EXy#Gg5r8Iv{Kn_m_`Dj^%*6=~CFl$h_a1S&=AyVt~Nbm`e zEt9sSt0-}fo7a-5yy@<9@loi{Q$9DvKoaNE^|m;yaODoT&!$XQGF@^~5C>Gs4qeua zt7R%%%1UMd{up&r5cTIVlw+N8Q@?yAsV{c-Gos26cI&Y`3|6S$eGL3Ds zp!dQqzROp6e`*Nk;^j++)v^Wu_~qoC>9gGqi7by%?o3E~U~Qmn@3fjk?=M|zF;>`S zapgu@*q-PpvAyYYX=(#(e_J*7eX6;*Tyat-%6oQr?R8EUY3(w6{3M)yujHOFgYCV| zl{H(e4_9V9y8HVJ_#cDoB9M-8G!6j3ebax-H<|Sr{)caB**YVOBmKys{u(yw194i5 z4yJSG2Qp~{P#RNgNz$D-m5O!IS{kqxUrkG`_VwL(ZfQ!knntwisD1(7-N?wlF3I=J zINcq3X*F;zYf-$@d@}kcF(!mkh2ro}`Sp72e44);z7K(euXS#(jez{gIe@FkH$^r! z`~3bfY8XeCcUF!647MU)B=&#rIme~0UX zU9E)2|7!&Id3p=l$Lqt+p8r#4A349cIe4&eOld>bE!${D-w!j099qKvzM*s5lX%ld zX`Pp{F|2rBX`pd(S5uj#Td4(ydBK?yof!dDD=ZeIWmO5*YI{l2(y=r}VsgB=MR} z-iS;8Q6?p3VhER-fnXUmornu@`ym9>+b_OaSwNKZP${nzdIq`CyeZu@@w0s4Fu!77 zsi)LudP1;P$X^v{r!z3iNPrk{QG=v|Hh^xX9VZ0sDc_!?Y&Ws8;IKPrw`_IE7*QQB zt527xN^CibvgSqdN=j##qx~k$_?Zq`CRhFm3^+y(Hmtd*=f1gsPi2At%73QDc&zjf zn&#leKR(?oaQq99`zT&{gvJ{TWT{ghHRU)o);|hGNyDgFkLjgs;S}4dp>9NlqsnS+ zvhi#$P-r?^hn!Fy^CK8o60SzvBye#>SSh-af_GD}tG!Rb5y7DfmXG|?A01hSYqe-6 z3)4hD({n#iKp`02a17S0N*0lEj}>oErRRO%m3q5D&1E_|L-MFYi1nZ*RC8Jsk_4On zLckKzTF8yOXl+FCV;xH2Vj|5P=RzM5qGL4cm|-XmJj4aiz15{VHUOG%91c1V5TPRar*T_;VIYy$&zZn0z zg>J!b6)1KVsXSJ;Z`Udm4-4Fpd%?Cr0`o_rxCA-ReMiKH7SR~^CIRVav{z6P!ZXO( zEwkK9bmWh~+uax3fiMn-TyqKaQV3dcj4s$Umz1udOlSQR5S(IM(q6Wj`7BFi1P2PT zC}HUOTg^DelLet!kkduTB?|HhM(m_`&puj0Ztvwpe#+jKfbXOz6ft;JH1Tzo8yY+E z!o57Bg5n&8u1|#Bh=fNKng(9N{GeixP@%H{f^ecSG9)FGgqp~}2jnEImRJFdX|t<~ z%~PRN8poh$Lr5q$Xkn&NN@=Dr`-q9?@H}H}>92??gz5Aj@Nd~`A&*^4x|ux>9)!o1f2JZ+cPEb;ER9yR1`;1=WVqfT49;$j?rxh{A>7at<{`C&4m}1Hf$Es& zZlIxh#UYD4RV&LbC>k(PS~H9;i^RGUo;Vb9P9^@&D(aC+~tvbs-bjMMczGrj|G z&Nq${E2VGm8MNM30?!IqXewJC8n8fK7BRNWMxu=ORy@s>GX;-5L*oIkU;>e_R^Evc zcenj(B`7?U+ZG6Omn5KOs}S89Hp5c;5nJ0_1>6Qzs)cg^+si^*YUW8aWuXlC;hjf8 zc?sL{4r_MngYaVH69M0}6HmOoy0-VHVCte>-@3O)J9=C>qrj2Pmpoke%~g5%1V!2c z%dvAu+XbDq)?96xJ$olVr4Qk*ek%GyzF~;bpP#2!a?VkUuIG!3_u3==&^A`!@HEaA zl2-4Lbq%GDLktsY4I4O{IcX~w>Upk@GLtAPFg9$Op|{J08!ct|v5+Egza)Ev=ViTVIhPBsG?9}dzfqm5AsiMeq6 z_`XV}aH7sE1BwVJ?wc@<$q%=^f2YUZv)5HP{hMKro|nsbn@Jltg0b-lR4_+F&Ve=h z)~DYJDBsi~hfee?_ug-jZBl|w8(D+o&p{O{ecKXI`+k#TBj$^cM5~cd z7nWR^r!Pccb~heW4vIAnoRwAIx-EJJA|IspL^xjqCT9t&5#q{x?17eC3<;LO$__H*dy#&my@> ziYzQH0N0HLQ?O8gQ{0Qz@0wNE$qX!ya(d9UluHjoi!+C(7EzPHo#7%->Glqi1redw zx01M>lxemx}R?tRK&s>`>`PHqjjM?d0Do0-K z<;+IdYX$}w79Ycyqu)94n zrR#E$588I1hg&a*q&VAwix(N`^TRIQ?jT^C=q*Y2VtZsmazj}+q|LAAc+K&jIzX*! z?QO{9sSfDj^|vf?kPlGfi@T7HYfKB!RwyH^e6BlmgBx>hQ-g71t%St35VPM@Y&Tiq z{>*p3;emTe-mDfY%b>2-&eXQxU)tQo!Xm$hFkCWM4ir#l2o#HVdoK1fr`=Zla~$V4 zF44x7yhVj|blK3kpW96h8b}8lT}#Erua_6ydxkbt{mE-de$E5B_)Tt7O{(cOLv68k zUq*+riH1Hfyg6<$32KkJ_qTtFZ={9k!%3Zf%nsJ-@4&`vgh#i0K3FFl%0f9({kiWk zZqW?$fB)zdExatse8g`M%k|SO3E^fYO}4{Z8a4Ec4d3-i8Elc)@fRu%4VxFcyVq#_ z4e2`VtjVUOX4*>;TKs+`7&VLgcW@&TZdZn1?E8{4@(no&uPUH&2<>0;heC!|6DN10 zHj13{*S`H4AQkJCeO}|1^pph^RfKAC;W{?#K3_{Y?W!4KUg-ql)#wf2ruM;pphY}$ zyM-(LP4hLcEv~=Y45Qcd8c|;5Jkjqi0>H|BGW;TQBjc^2dhW6K)~06>@ezt6Lb|C?vEowr(%{N`kSfG5+rc*#)7 z>3R9wm}+Z=XE|EO+_skPJ(&L0i)17ONCl=oUUx=f3q&TIa8914m+2!V3>wny`*Z=e zy}k9(j^k9B(0%wfCH2HY?o~`U@vp`E^!lRx<92&Je{62`%(|Fxo05<+22T7~)T|n} zE@jJ>Og^{}SIS>6PNs5q{rU6s&K(yX%}L&ro3R*O#iYr|Sxo(U)6#t8$hAPeE*v*L zWo{{qospi#bssOP%7Ss@)pAj*O>}yYRXvBpn(3DPp3G&VeKMMC>}XUgC&62cY8F`a z*><~rTpN*l2HZDSQk)CRgV^n-J-%6xEn~CV(dCvGI61ld$iU0izNMY~BEw6u^^dlahkj6dyZHDzh{nEyi+@ZPB{)!$HB;k9qijm)Av})u?yJ(d>n1!! zmx2%{oASyfYDo%*4E2sx7&8-siwL~ZNKlijJB>979=)a|sM>)-NfCvMMmtCtFo#uR z#=Y(`OQR?N=`j?msh%m)hUTRBz5QRRlArS&)fR$umV=4pCoJ=r=rG@BJmR~Fg3y^8 zQG5D0V)YOVPw}G~L(;{s;!ur(;+zlr@tjhmk*QD&KKys#HLn z?x1lSD%I-|X}!t-;+v}cif<Tt_sl4+>q&bLvq9a=17_Pl~Zh5)uJ$ocCdv0y$2R zf{9wvqr0bJ^++o`&4@3r?E4=+GaQrN69Pzj3NR`u3rw+bGSOVkc(0zg%uq=4AVJ~h z*JAz{lP?g!s#yF1Lpx8mO2x+7=?^_d;N>ku__ryE2BZ0McZ*~qV_F=CdB}pZ5cNzI zy}5B}!gF3+uhJa!wB+bclJw>w#?*wtIXWPbi&dZ$>eu?H^aO$x%-S-_pajQa zyc|LVAMAkmjxS^_WGdU8iNpm6LGHXDKw_R|sS1Wrco>D4HQ*_$b=w-KX$Jr=qi(!} z9f^pjq`?}%&DXFWfxS(DC>h8q*pCm{Rdo2@p9WBWcL<|C!70#KOnWVcR>bsSC2?am zZtf&y$C-rnBK;TciK^_16W-ega>`qeqvtK=0bml0i=#*{*b)VCz~R2dY-fbCd7;5KgeZyBoI% z+vZ5rEz^?JNY0Ia5+Z+zuTV%wg6#AIo@*Ff1S((Q^oJvB1TrS$1c{HTT$qLmvRPa| z8&P*xJwKzdy8@=}-ADkNPy%9tppFT+2y%Pe9vjj&$rBn5nG^#@kk{`wWC)!Ap!^*L zhxmF4%HT7U6okbjK&;KkcWWJ&!6C`bM2aEkCDC&=+y58i*~c;<|R5W8YxOpdk1l1hwNG6 z3`%KHk)V*!#*Fm4{YA>p>A95MAPBr+Z9Kj`?l%^nF8_#6lCiA-yfd;sRk_faK9Zro zV8)isM3%AHgWs<#t(wL!SR?rEMIO}E@7rRy9K!WtMr#5;)@I!%qE$19#j{f@j>ERp zcGa~W)8KWng-Y23J~CpkvqNv1WgE05cnD`laGWh2OsmVJaqjZxLLII7R7@iI`991-kU%IK^ks3bGxQJ^;RoH=_WHhL}FHc6~Xm$Ks)H*XN_K!rq1xMX(1rJ7f zps?h$!S>GYW$hCzw0Wp3T}u%UlIPla<0N zh=HWRTCfbt(U6gMXBK6%FZl@T3)CAf=fc+7OObZ=%)lXm`*5@`-?kNEprg1mf0V(Y zZ%iVm8DIvf!MHQ{{TUoZg;{Ng@v6raQUiM=T^@sCc^S09*M?mGZ6-WX15yj6;PMXakafI=8aC|5^yt+8!88SdB^+LaTptv~qoXfxd zMi@ITt9v7M#G$*!K)+^#7P6bhbs``$L-w$B@?MMU3^P~E2#4Ny7x2q^;}CPtTF1ie zCz6;jvr5Ruz~|C`A^50oXyzuLNqQ!5quhva#I4fCWqZ^Zq-C>Y9aj~lUdK>b4@}h8 zkh(7^m_RF1XZW_!M5hvmbvkkX%>&(Uv(J83t4<`y+;tMJerLcR=#552a6=O>-q+!Y%KT#y&+-&q|p zV7w|`SsWchZ4iqxW8KNx-+;m+KIn*emfxau9%W||N{+RS-H7CLR3Hog*R<B#Q_x*jl&pQ3s6$Q8+2MYZNEkBwtvVgLo8@~=i zOI1WIuI(*RAzE8dIp`hgS4U5zY(`!h)g-`fBMT(UX-S8_SZ89oEMd;SWu5!2))b%& z8#1yyV;V(oz#JxgQ_QC2(l{2xWBh4-&^`c&$K-P~hg^o0J}tXMtPO8tV+r*P)E|6K z|Fo@NQxs1^uXFQ=0BwWv=W@6(P%PS^!jIKHYg_2s-}kx_9QzZ-r0rc>cuFoe zG&HOD6opY^furbaVmFvyY9Q_W?q0!Su;H>Mcjp={>(KBQS8H}{Et5r2!h-@DufpUdQ1>%&vQ-%M@SZ!lCB+&CYBZPV|4z z$sA^dQl>%Gke%vI-8r!@T|u2~^H4tsGW<1RC?p{0Y-n11kF?Rh6$!h>uv1=UrUrAP zzQO)XzjNXdO?{u4f;&lh-RiCR1ms)Q+rW`uN9QS-v;;pDaWJ_b1cwj#Ec4cvZshzG zPc0{hsDM+jmiDf4na0Q$yqCIvq)8j`IET4z$BM3|_B?epI}w=?a<84uV09YxJ2|`W z<@I+4v1QtY*A9KANGPf{yDT`Tz=jVxX2 zEZf=CLxG{sCNch5TFFmVpP>FNjQ^fpw?VjfV>6ydM|+rHm&P_4Vzos0jl6!X=B#Qa z$3GpuLDZ$HH4*;KoZuS%n}DB*W|q4?$~XKeXl(~@DQJR#${TQ_&wdLk;%%WBWiMqK1qvu zb8fx_=p=1=H;vJ{(lT_fZF|%E-tLmMGEt4FkKq0Z{RRve)97Xab$vZqf39*VOp?sy zz2QIMy<|*=c;p)Imv-aP_eA|Kd_QOG{U4uGWAeujL}WOF@iKijvr|s4CT?y{PE3Cv z9Qo--yW;V9Jla3?`El}HLBAJ6Fmc4tU@ z$wgoRU_V8^pL%-?(bmLtN{px)AG*3T@FEcF79T8c^-<-M6^RbDwDrgcL zz(niJno|C83dc1a;@gr|7Lz5V4nY~=M)VG#BMX9ktOlVWof5CkAxVl&Qen`8AgdbS zAE`Gnh2w`%i!zd`5dr$8z2gS{yD<@el{qdlp!`yVRWgx)OD>!!Iq*{{F^bo~BmMVE z?{*{lXxBGQ**{~#CCfaG=`dH~5fdr)p2iG3QspujfTiEN=Q|iU#KAtJjItnIApbos zURIv{dgqq;<+a;Lna{jls2a#;8)algVOlE9L?Gy#M%IH3Hb?pKNjm6VVdA>;arW!e42ybryPQ z>tz%7*b`D@ziCG$#G$2}sO;a=_)rV&nrp#d#2fGC6USaS-eOd?!uV0l@4Z?SKhW7~Um}Q}abi97S3Y&5{m% zDcB!s1A6(HS_4xcG@~5%{_xCG2c4ofv|_ZGFku;Um1Ej(q;#A_?mE&t4mHB1&H@;m z>ewH#eqjP84FbW?Y5-*rz3==h-7Mp%q_>^?n%|CZ@Dl(kBP55yr3Dhc2&HCYkfB{D zH#mA^ux&}jN+a#eLxE z2YCUA!KFwOs7;75A25(B90Y=h+FvaIszr|2W?%`aS|nnv6z+y!AQF>YuA37n%?g!Z z2Gup4j?;)GXGH)Ob%gUN|9~Q4S$e+KWqTU*&c{GkYw5&6+XpU&^W|!X@z{lvmYh{{ zd=SP)U?*E6wLXf{`vdbbzB{rzm2RgLU`)hnx)5bxfXHNuge3|A)##BPl@!dZtZKn@da0;b)L-%rdZ-rf(Xnpij>uz0Kl^I_pZtUl0JtT-?R0nx_-u(lzUv z7Won#=iH(o@BQt!_p{r4cMnWUv)hGrZ!g5W88Zw6EX~9noJvw9FBedTBj{_aytJa& z6j|e}88L=V+gtV=TiUM#d&m_dn5;VedU~G??z>)C`+B*yxBYbUN_k}lL^s9FA~Eh3 zO3N;OFk%?JGQQBc1Y=#4nGHpGjWj|d9t-#<%>GPlU%Z3Pq>8c$iv~Dslu(nMqc;gp z;*CUs1PR-x&t0tVHh@cxlZ*CAUyH$w{ydt`ilBaKUa^5!nnlTQusN&e-;-?xf}tnU z@=+j$e_Fa3tpH9PV=87Q2$Cs0ibOCb`N&wU1&uHvDrafn73J(+FBks@Xfg1txYWKg zM3I3YOfG2c7!kn7D{43gHIDJKUc@>A3&n-t!U8iC8!)1bP+{+|ad18-wwx|oqmakl z=;D^AM#Vx`%;MIiYm1%qVM_e*0dmw^9kg zs7Qzr&k*Sq!w|9jm7xH*ap?86Be}*YHa%Dj6Ib`iu2J1IR}EB2&M`QQQ>jL~n2oa) zL*|pCW2~OT5QJeXRL-m;$+bdiRBAojfBCbeLq#=fckS_im@i$dK@ zIqo!^GKp7$5^e9mt?y>_2!B<`bsIZ9+hX!(;w%G$D@T`l9H28TyvHPQ7bt)zchr7C zIG%|nz4p}_wlS$_;Okg0puBkWXvHK-X!Y9AP^wtQH|p9qmWk%bTQuRY9p2j+;#~B_+6^7?;SOVKt&LjD(<%Unzlzo-|*BP6?^Tk+U+f*~LN4{PVZ zWZA-|*|aKc+qP}nwryLLww;x>ZC2X0ZFBN|-90@$F^GwnA8}6Xz1Moy%hmSMNlE5n z#Fr*6rLNy*5g01*OBst=#Q~mvp?7#xDgPnu{OW=65F^Pv=w=swph|Q*Xm6~dpN&dd z5Zs&$6Av&EUGbP6`9Nt+I9mYr9>{;?AigaigtLIrn?$o_edsKQ)Xr{~w{|yCppVP~X7JXdRc+s;fR1^>8 z34bK~0u6V*@G^MQ`M`-4sdHtP%ow=~sGv_U0;n=n(b7tC&wLBnUOm}8?hq4_`G(oV z^+rqcDVXyp)zt(ml3qyyF!ZU3!yL;|f3am6BA7<8U?};rgFZV0F->&fx82Rm9wi}k z+n~y{aRFk;4C_!nL%KwCUfgq3$WU=Vp-@1=Wv>q4wlsC3l5TBNQ0bi}ooljcxN|dq zIUPz#iU$|I#rhU{M8pZpUG@2|t%PteEU$!-Oyp@;LR;~K#M*ad^+*G!~30x?eIMjov0bIm@L%yRg)B>T}DA@5T`_wf(g%Wy?vU++jCp}XH zUk`)5ZQDYlJE-57h;K+=v}qAHf4aFCnwVlYAKos|od(cx(8(>9-p99IXMOEP0#0zS zdAPWH0LY4;H&0jLUY@^hXLtXKH2S%R>J`%UZ~dm8iX3If++qg8tQf#XaL4D{TO(dY zIue^&O5udOTkV$Ig-!=g0cZ{zrt{r_c;L^P#>~_OjP|FzeJ-5f)w}Jyl zwNJP;g!N@737LggHF2t?@SlHt6?z}dV8lu*<$c%YRVesw0#}-^#|9wPiI-DYy9l^s z*-!&_xCEY~bi<}+);^i=-%Sr7^TBlV!dFO~)gTC$ij}a*03<;VD=~oKLLkA=G)Zfa zt))i*8p=B>VOl~?FrDPNbJqOOLXv$%FCW!6cG)RkI<=6qW1CLW*idz{E@}4EbFq}F zTrDHHO|o;nTpGRUlQ44m3bBa6N*IRCV`>0cKYZq!; z*Oz^{6{+U_O?1Kri;{c^_YT3Dr}L(EJ00t1!6>12j>1<}f`JEzv?{b9!w?U6!hksM zh)C@0LD4$`yyU2TSiwgZ4RMMo*@HkLO|`%1)XgJgCjk99LwIBsCO*yFG$6`cdE16K zO;|HD-9?1M7yzCYmFbUYvN(}fMfka312QPeNJtRMpoO z8eObJb(9lt>!6CS@>}Sfbs6D0^Y(8Cs1R_?gMku36EW(JH|phX$^sCTX673a2rjiz z381J-#uSm(5Gq3Ag302YahdF?VpAjc(8^X0F?ZTfp~piI9#Zi>r4Q3a_UBvNctc*w zfdI`!uqBuu8t%4R)Q0~pZa#ZkzyWiRh?j20CyR8yaxQ8e>fpZWLBg3wvj`+SgB1_B zyZSUwaDN}ne%es)m)Y}urj%0$Q9cpfwyh87ng1&wQ4vV+Bd2OPFI-A_VEQC7F;3<& z>oLMUX-+sFm+3I?+|N)j#^55GRp(D;!k|1fIFX_w9j(2dmt_JJi;Vo(br1dG96Y}5 z8RPQ$bS=4tf{96>JMqRn;xk2MVZjB_gv(a9uNK?iWg^GtEEz1IE1--8ezcWei|SU} zR-hS~ls-It8|7zFmQL2)hgrHYeKF#yOx%$cNewNt*i4#)W5*}rCq=(vu&%o1+n4nY zQj9L5shcxZmEfE*-l`Ghm~xPtDp8<3S|ABcfHCUIRt^&_FA6Y&g!dnn4+8E(`=hNs zq%15w(auB{!WeQm))~7gxS3og3?l}C%FA1!W+TyI8Qj%PI zGZ^3}R5MY(5K{goirKCxJZ@G}&W)y_yVsi7qM4JFG_msUMn*}`anD1HJLYIoNhpMe zqqJV^ZYWPacYM%LdW!JQi!@oUFjg@Y1p^ZP*5WPrCT}c`s+AY}G{vDOLQikmtWEfg zJS0taxEgO)xn_BkF9nN_)(ZQJ>bVcX^h;_VmAKaSklwe@RFz$Y(s)utAoAP_DG>S}9NTI1dDNHrWLXv z{GrWyz32Mbnzu_YE2?Dx1Gkwf8ja=<^4U6kKZFc%_KgI%Gcbc_mypXlZA51UH|A-* zmQQi-bl?u_=ljn;_Bw5o=$UQ>=3{Z{8W+5F-2wr?HFvL;B^})G0dFBj>Yay=4mplm zRSyMQIk`Pox#9p>1Y}0IUlw$oNFkHFQ4UbAl^$zqWP6DsJ2JNktD^FAx4F%Dt;N@F3yJ&I)P-6FsNoHR!r~neM(Kv_q$`n z@5AzWaa^sY$LH#cLS^nPtLuz`wM7oqFOhWBwqc#{eW`h7ZlT}39blqBTtQ{&Jjw)SES zt+uCE>Rz{|=jR!H-yI@^c3^ZWzpbjBm$hLWoQ+Lx>|HJ2RrE_5h3G8*8zI&TkXwsTwEs}YFvIw*uwX!X$a~*;_w;JH6K=ezWGQRjt3eo!61>M%sH7k- zO=c5Ff{)!z)KfdbjT+c(5l$c5H43RSl0V}KPK0%4-)ZV-I8ryKp{j_0ixcN~Lne@p z%M}?I@EY_9otlC1VHZEz{c%WMlI;~97eJr%86Q7#jZ70X$YfNqqUsjZTOVoHc@&M{ zu#R$)i&gPYH94)D#wYKjxF&*g6r-efNrUq@Ea1rn&W}=WB)feUQ(4U6qw+;k>C;xj z%ElyI_YrR1LkqO)IhV)V#b`gT7~?|0nS6wpD z5iM{1qM@lkD5i*Kc{(&ID{lOD4UIu*#QVR&gKnU_-rLHZWDH|tZ{pLnvq6`n(k}d; z?%dk*`BoATEZ6?St`O}h?81S$=splY(_yJXjB zB=Pc}Lg3w2d5+cZPz@=4Wy2K!0Jo1q@?3R3IEv)Of3-@3O_R2o0)sB^Y7t)A5M{f@ zB&C@j$()}BXDdy6oe+*cxJ}WCHpuz;%;_e@XzoX4ji)~|_CWe=c}s%s3cfSmaz?`e zVu_(!BwPir$kxLS)@9y)Bb%PVcGR>T7ya!%Fpjpf((di5P%C2dEB3^&U7nLhv$7+u z!z(dGz=^8H4xL$_b~UZZY%KLc@*co}ERmp5rrChQ**TEerrLqFYc=~=QQ{IO1rbkV z`4xDzvku@!w)BNM}b@%mk_Vn*;-_JSBEIE}F=@AvhOFNV7g&8gFYMW|c zRV!ybP_6U&OP0KX1THae?{Y!svDRA0EY6LDY%!zlE|t7?tj?5Y(!KLctstjN5nJ3l zOCtB|VS*@7ke2Z>IImXY=>YN)4BUP@Ckpa}?aBJD;F5k-Y(mXc{T21+^30vFHgq_S6Y~K{H6<(j$c%c8% z!}xN|MjPz2qm=Y4wClXc&G{NpXff0B<>tCtxcc~bDWs$U<{c$AJrrSub8^C70^=Yj zEWtJ=@h`7*h!2p^o{NPvs7LJb({Pt)Co3Tf-C{V}YX5pKA=}2m!Oqdf zzQlPhEAnxXfWz)YOOMnnsP-ky8O+U&9#>2Lyji3S3B>FNw7`)PdZN!qMDw&x8a$?)5?&egksMl2ZI>-_Q`q1QEJ)f_pYSN>!eD zP|%Y7p$q)8r4hi(SL~$J3-|>Y!#jrO%|nGZqjYms#>02NURa7LSuS}}2rZmOeM%zh zqgj(s5!PJXPdiC?q+gg6n|#zD(%>5Eo(c#M7>#qlVx>r3`e8vu{a$NAU>h3~t3zSw zYI&jbT9^>|iwbxdEh>_~Wyx0VPHH)mH4`bNv>?0o#w2)L&7y5%h&QS2B&|UKu`}6l zBX<9G4Yg{C#;-tSe5;OmrdjJ?X@&fWRwQ8v1x3F#(`c4Qp#>{$MA8K%K(FB1`uy_g zA>`nxyg8($!J#vAQlR&&8SXS@b?p(X;zxvo;n$;dX>8yyjKi%ydn;Wji%opJ7@0 z_{f8ecU532z#n!f^fX@no)4c!WAcZ=E-92kZLOZ_4uoVbo!OavclZ+>W*JtQn?WA+ z1Jn_rb{H}htTSH-yTKx2b#VO*?KXl^XjV;tY)v5 z<&BW^4#{iIVANGVu2i~4iFv)D435n@{o6AD?ZxgEcT(RH+|Rb;FrMoOEHcFx#hF7~ zgzl#X2CEt{Huus@sPkJe-_OoCTO3cLIUXkGbrYR0YgL+~IVx?tFCGrOMN=9QpNbj> zkwmVG>7sVNI7b#{{ImMP{VDfjG3x5KM8}M+kj`uoT>34AT-z%LWZ;P<27kD;!8dR( z10wV+ajZLaExUtiy_(U&T;1=FlTE2!qb9M#EG(qQ z7+T@}I{zfBap@PAREa9cNW4b4vDCby7^>ADI!EIb@_RwLvQf)oKX9IW8{nvPQ14Ch zw!FU!mdz?lG8rw)bvL2FR>Hqdx~Vwr0vFjl(BIquFiNAjnt4V|MW>4Po!jDVc2o0~ zYa-{D^%O9>z0w*EA7??VMRtZX#=?4S-{9*H>|Ep%OQPUhNC(r<9PA~u?8A)=H4L7D zVU1o#*eUb#SgZ&tVVejH=;AzRgME08iuVvb;y@w(K%(1R_kM-+jEzRNr38hT3li8Z)p zm2KPCyt1>2n7fcn^hEP3bg6@tjT~*`34+Z&Vb@6Al&Pegnhh>?j&uj7Dz0Wc44s$>|04yVIxq?9%ZWqC=Y1I&~t&q0kYCbc|R| zjdSNnU;!?6MNwz0`Z%8kCHpERWW$m3c3tA`Rb+&5qB`%H1AY zQx6NX#o+L+u0EchM~)Y&@7K5KuWNQ*#gWOp2@jIsf-mJ}Jo#XXL4dxj$dbAEZl!32 zL4lgQ3wXQS+|ov(70`aCg*U#ij+22Kj*kCvUwc*io9K=nSvr@3CW8AsE(lUJ?yT!2 z^)}MAIko%}Ej~HVOyv%!*R6Vax=fCh6#n~FpC2cyK5_n6vzxbr`>^cv%IfZOi658o zdkNi_uj|9bE2uBe8Xxz_|7Z#1{8$1qW**#_Xx3IY{(vlBb3PCD&kS6XulNX2C9|?A z4XtreaA6LJ_kyFi>r#lKUBu%d$gf4=+-Yb(lN}9Bfc^v%A=N0Ozj;jlhXQxeNgdorODyDd`@qdtAF9ZmYCurvdAt(R^|2pxnjTxlLJ3x6k>S{H8LhvRF8jT zfhpjWvak15V<0@Z!6NZ`3dAY@px4?UbxKtN02up<20wd$_+~JT1OQJ4=WH9K#u(dq zj~SzjYYhv1nU^TQ26f1nR*H!8fHYKU*#MA43V3Q92v<-iB6Z9ppg}Nhmfm{bzI?ba z-T8FF3>%nwlZ<=-skj}5{vzyQ$BoEA6S$%7)CfZ}N#(V^whsjIJJaV$TRUxOL@voG zeVFb;qWEiK!@;2J&DQ#m3qc#X0yqU?Ai}@REkJyDF8&6G?+-LxD*@w1AGc18H1o@r#^%| z3DsUWajQOXBVYvy%)Fg;Po{#{Awov>4gX+kJPMw}-X5VnYUz{TuhnQ0#Kzo`4kqN( zCEVbhW5LIs>>4OZcD-iadv%9sxw;Ao_Lbmw0k6q=A#p{R$KX}PT|=_Y2JYISMk~-8 zEb*Dh4^%_zs(y;!F_4)#a6Z&o5vgnl?(~h?s0Q=4P14{G9pipWmghfEV ztgy}1%#iX3kAb7&Q8RZOOk4vV%U2T-x5@_z*LI)$Xak)4NnCV1(0W=>1&#^qzP0od zo(hIQe8SxcPUqJ}!?1M>_%w<&2D9adt98!d^$!jG1mo!-8~y-64xv(T;RWyh-st`u z(x#Ze_bX{qn5;?(FzQ;JgFt79-LAt^wD@=HFyjDC%3xFw)G>&&n65XQy+T^Wej%Xe zbgWz8zJaLTIXVG{02DDOF!DD8fDW%Oq@WDQ`1$;xhH>GTwT;0)Ngfa5d=XM(e1Xtx>W`M9nO1OnA@y9!$ zBnA3AQ+<{>q^r;dg*NC1x5z2>bpB$FG4=w8W85NSfeWL_C(koXVr7ATZebjF1o$7b z0RG$2hN266i5HTYnDDyJlhCx$?&=(wNpo7O?BF1kW~Dm5y`@RRZBAEfd&q#@!@bamtyK+8t;Q(*oG}Q;)n2+?rrkXH*V<4m)M1ge@tI5X* zlw*s)K*!d`WVu-DNDC?Q#(w71wd4pC2yBQmn>R~-ZE=H5qo9_Zf4w~}w^RXmBX*SW z6FdEmf#7JaJu@xsVXv%*;=x4AM38+5Kq4qQR2XDr#@sP|@l{X7DXRX}W;^x>R^y-F zA?^zkQ-chlsLK%w7B~pDeVIM`Y(qZ;Iieo=mB>Eayq9y5j{qbFy^pruz~6#GDt&Qr z!A~E|iBU|~$9d#m2U^^YIoDfstl_tG0N{Po{&Z-9s5;FZG4tVwdBMvzI zBMvB|pZ-f6$e2>9-60I~cuE3c5BuSX)8^_kP3Gr)YVu4_s=x>n{rMt72Z=jr(5AN8 z=%1a>d*&qb)|KWee@hP^jdT7e$0W^Ll1_`h?t(Fq=Cbz z|1by6|1k&fEXZrZW)Cdc&nXRG6#nL%^Z@;14j5}rKs1EtQ!qK`I1@~DHlrq#SB7Sww{l_cm*psy+eht?{W?MQi`=5b5@GGT|n#Enr} zyVe=B;N>2RK*hGJmzvN@ zVrVZgY=LF7^Te4s)pcY$co0>{b-Ldpumbf>uMGKZe=VHHZYbr0`sV(jR{O4NnkRySTc9knf!{3m}Pj~eSs zgV{}`9z@}x^XP(xA&f0#<&YA|H(D6(k84BV(o}!Mfm9q~LfM%}<@kTZfn_d0gtlW} zJ!E?)0Wel6lV*jq#RHF>4Wnydc?ax8%!?Ij!l% zZW;8vQ=1!~TiFDI!7iNciOU-r#0W0f6_p#N+$YEI^KGgPWW^caO4)21|U z`FeRA782i2Yn6E9BY5YoK24RQe$i_RR^+;<`{fjH%$h;-J?gi4YZm^NN(7W+ zfGp6M#8SZtip!f-oNI>E@&h-00ErZ)EJ5m~CRbE24Uxa<#rBDIXi4PAXC(2(Cm>y=j~{#>)H{E0rVZnQXX)*(?OI$T7PO>s|{&~|I6xr*L? z?JQKKKO<2L^ah|Z1rzQWHqbVsD~U*_6jAN6q%wc7=Xhe8Xz{+nAXonvV3yn>6*B7lwWZ(#=2Wq`vwmMVDgxCqS9){r>& zf}3E#3cn35t`$?WuC?`saA1Q3)Y=v+dJq>;dp)^I8NDAR>i;QHMO!cUlC^XS{|t<V&s8R&fRY$+isi0K^D`SO%OF6Yh^lN>Le9-`eQ><#SXQZMCeEnR zOpt!HU6u`j#>-+=UA3t+(oAG^1=v)@s2n*)L!*1>@3UK%*5)(t^L!~0T|ZU4awEvP zxfLlU{0Hen!Tccoa|qNtlh2Bi)RF5m!MP=`p`Kyw!x183*GOX>L1O^Vz`@2G5Evb8 z$nabK#w_L6qiHHc{`Sx{I5)HC`!mq(oI*A-Ay;#R`)A*xI z!8C2XK9$Xpec|5p1qwT z>p`|snjB44+OytDIS^^`q>~^|QwLWb00Dnl$gcK>Vw4d>eqQy$L)HC!8uqYzx_EpV zy8MIa>~S$?zV@rw?cBA|palt%LGF?H!c8+$p3RHk#{Z!T3_V4H@qBH7O()^9JVHmi zZ?-(NP?747@qiLZFnELe!u{-vS$(ATVp51?ks6MpgT-**UR2v5#v)HAhc&&3kB#d# zdv%AQ_b(JCu*f4rjCYnwXeB?GHFj|#S_=F5duvHse8Z(vxSLwYFnFl2lX#`Rpoz)#78NQu9>Nwn;)e8d)}KqyjR8E%Q7lhg3cj7Tb81Qx(Zy3~tYk-6 zw9E%-g{NbV5nAF+O06=?BQ{U8HjFLA4}zilfnL{|^NZ;htO85p)@)VnI7iHnI7KYohG^6q1_9cAku zf|pezELMl~+?z(YDPWqL zK~8%eNi4Ubx8jAB6dotcdt&L|h)B{}q*w-XzP@E}IGv-&+xTzzf|n3uV${ zHGgRk9j?pXH_?C3=~RBkswh;e%2tx2w4#%ulxCMH$j#$mi}LPuxo(X1fwBPAy`3)^ zk&@rIUS^@xg1m9s z0kJtI_FoeI1=v=;?NOJ)SK- zq<(um|8RdQ(#|uIw@@F7)5IvTP3p@z6S%`hQD6ID`*msQH_EN}sV4HoKan{s0t3x; zl-ZENc_f&CwNsAmsy=5PiyGHL9fErKq#Q3~DHrKaF&W2qtoo_?6F?k()jdLDFL3cKPc)vu)=XeN)-s0@(-1*@HYi225mAdhWaptY< zM*>5;*Xi#G5K`_wsQAJEutfBo;p5srtx`mWd`l9FJ^vM_UvnGXdz*Nlo3FpVJ)^Yo zXZ4{2&-L+dJSe{4+F_kur@YU7JP^ws@x17TXiJYf=Yt>teJ4@wgXNp-iXxa+2&!^V zwMjX?p0To|%>T4%h*gE#VD^|L4}&Xpv>lYU@Vhm(Z&u|5ZaQBT2L`$Ek8eT^My}x) zSMQBe@D^>aq_m@Ugr6cZE>u1mp)q8K$Nch<))t1VU6IKpCgR?JVKSK3Jnd=s$R$fI zu??<-*5El6ZK_FXuGaO@rK=j?Q?c8l>0F!m+rOgOG!|TjtrnG(JO^x-8Rp1+j)?6w zz_-2elKLgiIss~fxqHHEsM0ACF-@*-Lqy#qy{E&^TL9Hk#tW(?prr(HV5MWqOpnG!pbo-Gbpi{b|b29#i|KkXOv84$>vv!{9l&zRGG}|hYibP#gHOVEabyQwH zOngGuEM-aB`L~m2>PF@`Q+7=tIhkKgwHz*CCvVg)c^DMkGuGMC{{2$X&QLWPcr)f& z@rO370F-NJ)HGa+BghMsC%UCl3HGJDhj!QPaP`H}t^tBM8+=*BHj0iZ43s9G5$ZNErU`|54DI#R(6x?K6aY zsdI}H13e^w2rK9+XC1mQ_TSa$G<92$EFkhQQmT}TzMS^;=2B1aK}6n4rI>hqjx8UvFUS^17XmW#q8=TgQIP?P^2-7W0yIMpl#(D?$aZ< zrwU-gFoUSQup*ywjAy=N2YGw*6i#G57eA!vFQ9s#*%pD-AQqrHDSvAg{ISjD0PDIk zzRG4yHlMKSA;tT?%~<{6|D(L)$kqxP{X*?>bPKZgX)bt{Zg%rbrF4gjI6;^bKefZ{ zg!7I-C)FYk^rqx-_&3tb8*EK5feco*l~mp9F{h$GPiHc}V_DDN0-RNi_*s^hRK--q zSW{pz{oH)reSMuh9i3}6R4`4DR7mC%q{=^k3^AB40au#@xIV9KsW$!TcIymq=hA~M z1iWnw#41YKO574yw}a!^mFL)B&R1Y|NZrvNZ*T7QwiTn3=YldIHFNC23}HJd*`5ty zQcu|7jv0HTAEX)r=^w5+k2S$?5rimMUqmSD0Fcd}5BxsXNSjpl1kk^*+`LayP>h4N zEM$Mi%MX6(6|!eo(Ux}e+%(s?l?rm1@TxMUNc+t}3rT{j)x}&++*#~h6go7Pk?r}j9Fxlc#5lkt#Xxpj3pUN|k`57ukPFC*c zb!ztS&~8IRmr*5=>*uqaTsIFVJ9iuV8rPMA)cZ{`F1veu!_!izZ&2pKk0nsimE3i+ zOaE_{0QSEufql-0l)7}6S}Y|p0X_QrhdSz0#W^b8`FMJr;|C1{ZMgt9@u&xrGxpTh z6HpLM{tQf!a`$JJmPe!3vk*Gk5o5Z*&OTW?|m?;RXQ}{g~?rJBvmqOdsVga7hQ3GBBeN`_iX!y zZiF`%_z|eG5g_*veZIBLN($-JT9&6KyDVb%d7NN@au(j>uEwjh7i;I=y)S z<)0UU=LC}lTFC>UsRAL4IT*M_x6{2OJSosIzbu3+sZ8KTA8y#4?d{jZ#dmnj^PF&P zw|8*dVV3S3YCOaDr|hh>oH6>(sJsCmdNKE&l)1A)vYfB&_wSx)xs%QyNOE|cYyhHs ztJek0TN8zP{3~R^iZvimV<+3z6t_o~N!<}2K|J?m5@nFMU1RAuj@-rBcK=MZwZrXRb}P@E14!>#v4P;c{u+L@?@Z*E zw{r#G^mIG73=dwL&psbhY1~{NKhm9^$kzP1JvQ^{<`gfS$oi>rGqD=OF;M|z&j#;4 z!Su@Y=s%myt>~%O&mP|!8%Rrex;HLjb^kG+Fi78BlOb;-j_g2i~b%Yi}SN@#Pc69WBu zU2f@lCKAwe+L#|2UFD>&mka?}^>>1_a{4*>5*{$~hSk>WOs)?M7)PATU3VoyE12;HK zr+~jskhe8v(=OLjf9yXjR$M=*=qm4C<6_vjOR&(E-uY(S0H)kj$czT|EK11a(DTkD z!xQC*^@TX~k;eQr30Xwqj6Ss6FAWSFE)Ti+Qy~NC^?SmJ;6jSs?~3P)r(R8}9Jvw~ zz2XlcU^#)tCe=&nLFMgOISW)q1tgRQO36!c@UB*Ytedd`su^?yheGNYL*y}Rmx#do z;alA38Mal$i6$wV7N0`>#LKdhKNYS=w39j%#tO{)V4A0BW!70FjS8_XrHDxY+>_0h zGfWYJ@yGq#3D;j$MbJO;4`$%l$7|+FH~0lH=2oZBgvb&Ky;1*d|m--f7>_TvKS{d`W_l z>4sc7-RH0LF7Ml$zP={fXBUP53Nvzo$9rqT3G1G1J!;g~J&o!!hwqURIlq(d=g+@w zo2fkBy$N^&=L~5|yr4Y$pu(?m-cwGSqn+~eyyaI?HhjS93i`2|Zc=)b(JielyYhX= ze>|$rP7$KqmC}z_uVHEi#rfOnQ?ZmH4UF;{I^x+bV|)38cJyX4Kr^JupxIjQ`Y&5@ zQ_9Up6Kdg=aeVYk@Mu?d{|@a$`LG+A1wG^WV$`bP@qT%_ejHtbR^j$wX3ektk5yWj z|E$t#{BNtYE&pDnE%^5;ZSw!BN=pmCBrkVK3;$vzlMBl8zpc_T{!^vR`d5|KU~Ft( z=6_M81=Zc%|EEf8;jaBtrM(9kqkdMjV(ek@N?>}buv|%^!|)7eF_-fa`Jbw^omw+O zV4f;%i%Rx?7iR2{cgdNxI4AaK50v6a<}8gbTlX|$gL4i@CY+@FAdC4L@E=bpzxny^ ze)rX?y2QmOe&#EJ3G6iZf*R>Q%Ee)n90zS^V|8wD@E?D~pS6li=ka5rRqi=%+%VME z2|`Ipqgsb_$_rjMcyJ~g@|1-E`MXIFnX|qKL#!Q5Sdf(-rVKR&|HuVK9AP$(~Isee?tiJ$ zR_BohbN6v{NK1DW7%Jg=yZeUS5Wr%SY0f2E2u3Ol(+0WV6jsxd>a3UmhLwu_6)SE^ zXNo2zgdGxA5GP>OMaBrir5Ti#m(8}%HY~s{oP9Az+W@L>aN~JRy!FB=m1`3>IM8=- z_@mP>wP#Am`K1J{+{h$~hF74)fVfo-ngUMTXrGiPe}av^Ab+qTEEo!ufTB?A8|WC6 zj6g1gVS|H%e5@WAGZLljVU|x)FVsSJh!=RzS;2dRj%BO%Lh|zE=;HT69&wI^` z_H50uM(GzWgZ<@#8~&=9&vn_%#nGt>L#YjCu%uKoGtPf%#D!i-o8 zznExCYeXN=UKi9QJd3BlsptpvE=GOz(PqQywPqs#aGE|8wYK-0JP8%E`Cr`wUx6@S z0>7a*y%OZFtq0eukcCROv=F9F4#3POArz}v3`(v?ZGLCVbJPt{)}7*uIGgCM8X7`0 z1h#sqo4@f3Q*A<@*$sVyS1D4^~x|hXueZZqjSwhQH)ye z*db>s5gmGJM5mOJw8S>D1&y2By|R$Jv;)-?BTJT6An8LTw(<93*J~nd4s*I>b%l<~ z5M6(qd9C(Dd?--TXSQ*7b2nXnu9a5H3dMM@aKZ4R{wdQk8uW+)OD8cebnb;z@ip+u z3MG}^zF|t4Mx%`>*uwyVO6GIf0=Bp?!c-B>Nu;s zU^DNB`-jRSXVTK5vQWJ83IY3|!cvPP93Hm!@_F5L&raB*=jklL=Umrj0D-fbE?YSI zIL4KOLU*ohS8oV)^k@@%7m;Fi3FmKK^rH&*{sdw{tyf~@zdD^tW=>pkfxm<^Suzdi zg3T(3m>YM^Gfu+b-N(-Jdo}8ZZ}W@6qCY`EOT>a$9XDE!);2AaFa$s~(q0hZnSj1< zJ1n_6nlPDH+OR%p#SEj6FqOptPY^7;)S=`*$#^2ilQAP(+ZGMOTn`Y&g3)@nkQ;D6 zWh7UC&TSa_{^q{uR8WlTnkK>3UnBLr0}kCY+B8f?`zVlGR-tC@T8|4(Q$G|4+Y#gD z(vnl9+PVBub9J+-$?kXt+u!>cFP3YmSozOUJ7TGNbqln(w$LGW!wgK9!H&w;5_x=# zr%wyclByufz~K0|Uz{)oy~J{azd3wgxdbs3gW+1r^syZB=%QmvVf)w!Xy|*@nfD>u zI!aK-&+zb;S+J2bN0-rvdJ_#@!w{bi9X8~+mNkg|;%Sj6xNorSUWpUCnjnU?tLfQ? z6`mkTygBL}X!cgwxPqYR?h(@Zqqcs@>)VWh*?kEwOI!Yt>zbMsT8WOEmK>ar0@& z^jm8J#Cq3JUm5mqv<*)x4&pv--*OY8yrUwPWefAX~V8DofR?+=P= zVjQXdmqOQ;y`_E zdPBoH_cwN6U*GgMT8=efRT=Ghwl=m+m;QcMX3pU!J)A+XNL<(vP@EtU%pYuB)(spr zm^Z+(l-UvN#cM>EZ@Q*V`A&KeHqd7NJGC>fYy0EJ|UwqNqMol zI;<8s$u?M)Z8ohnl3$CF6UMfK&@(xnQuRfH?JIE0gPyYoU!ccfG=x-kAOgnyppalS z#K=6TjDOGh&F+2wl8o}q9$RMm+fhe_9kOCeZef_iqOvBiWl4ZWF9$){Wfw*-ZdHD9{0qrj85Ojhrd(Nl+7x0Gwv(VHk;6HcaG6p{Uwbd(x_#-;4JJ~0-JJAw%3Y$6%J~RI{MV5CTeh* z$%0jw9-D5p&v9!ij}RlxpF*v|Jf^5_`si7jLuJ+ob39|3;eU8vZ$7>*hwR1m}PY|7hz_&XC7_3 zMK=LS;ywalEHWqVPbJDvp;jZg(Ug+NOGV^?QiNDZTDO5P&x65~7_Ad56a_&@F;+@M zpCK+Ws?_x6_aRFeC^Wqy6UXe2q{&zG_4M@OCU#D`vUfgwoVL2SDmFUY`^k0O4XW6_tX zfauGLmTb$>1@Yaf_^KGham(dPIqG6m69so{f`u&C0@Jqasz<22>c^x@AU|Ohmv99o zIzb7Ci9$UVBJ&AsK|bI(d)^_0hsXgBa^b5OKx?6Sr4xHZWE7S_?CLd1^o%lQ)9n)9 ztA^eS1&M|*JHZRo&cTrkAEARKT7q{7`sYWBp)ehQq4i%lagOCmAt>a`OMFaJBtYof zB6a1kP}hxKw-jag2)KpF}=_B?y`4c;1>&vNptcA@h_S}XCN5mwqEC=d>XMK8Dr41 z4yv8y5jlF=+#SSMApC6EwZB0}agI(db1Dow{`n$f%DI*esVxJAKbu0p7FPc76esdQKrcmB#0ldH3(`Cl2SZs?s$U~OLm zG}GShj`IF-YQs+Wgodly58XDAA#F;em&cns1yqcIG^@15NfjKc)=bkj<;1)CZ3UpD zfb;y@-3G4%- zS{z4G?$xLx`b|KN#5M9u4inm>T_nw=oXRnv(h@s&2EJrLM7Oh%_9!WHZvAd#;_Zc^ zYAK&N-^*ID*C|=j44r~N;6HHs8b_Tl!2UqUdd-s=RzuvOo5(`rc^kEMrh;@9VX51h zLn#puW0gQiso+TF+H8#om4vJYYFZi>ZS$gir)>+CkuK>$z%Vrn2(@{@WadgHu&_W` zz`Bk@uTO{Rh?;4D3cwqZMSTj=OfN0i{az_6Fqk;0DQgetarb&HPq}KmFsc@mpLDgq z{G>cPbCu7({7fl5OlNo{wZyTz0%4rAWp}CVa`+DH&yY8aySu+~I0uI#D-@@HJLAo> zqD2q&8q1J91eO9pv|WX)jXEw;tOO?$xUlr5!Dr7FJl|?6*|XAWV{87%IHZ%Sz)NW< zM$v+dWW#xjJwls9(V8Rnf>gef%c`VjqDXJyC%i=l_WKyr;;^OzA8}Dea61`t0?Wm& z0s^5Goi9y*4fv#Bdm2i`O7(M+7Il9NAk{dKgIrTK8`9jj0*k;y(bnV{ZnJ5tOe}9(tm9?nq!zQHqJjzzy>c z6VXmI$T)p1GPAUpEFWd%P{(+))-|v&-L62JLOhLBt76QL9+U5eGpv|8JB<{VUe zQwwDmqtV?luKm06>{e1zCC~g|=RJbSgW{Xh#PQ#Q*WZgvy(|Az=G(Kg2~`{6IK*U4 zv}led^vyAv{Xw+F9NMQggJyjnQ8UbksEAXdS|+zrZgM zeI)NhiiJts%0^3RE5s+=6*BOGUR?uJBy!lVK&by=)s}6nHd|%bIt;Gtp#-b+hz4Ua zZAZ>-BaR4hN+{fazwXX|>Rf)24u^r!da#{#q0)b~p1CcMRqfU+#puIzLlecsX~1mD z={n84b>6yfsv(9JmI#Az|0C5hQFf0oRt4PAXY&EDYT1y(A8#P^yz?Xc`MzZ-$Gp9p z$=cff3P(ldhDUCYk{910&A*y_1jOxmgV(PFuc}in6WvdSGNSf&q zlj-~b8Mqiv^J+!G_HJwg9sGf%$_0$kG#1`e?+sj-Ls*C3 zDRkKyq}8oiD`QSh%HNf2+>p(4?>85+-*Om&d@Tw_hc$?__hT(cKT8PJCj6vmLF|zN zu(`uh6G$$|AoJj#US$zJ6yB&w@o5EOa48y>ehv-kH({>B{_qX;qOgtd=w+kBIk}Y(_@38csbTMcK$TPAzDAq~8#!mT6wPOTEtD&dZ{WTU2Iu8&|>BrRF%e^1j zH*N4cG&r)LdgI85^rJ57W(<2M&t804dc|8luPzC4PZJz5*^N|B--w^4N!cY=bf7{> zZ;0!Ei^oPMNDL>qak8!K<`Ktc;Ui-`MgPmdxEA@2L&*0D|6gXV0e=Aa{zs^lW&PhW zbEf}GW^U!|;9_WQV`=1M=;W!-q|Zce;$qUGVVjK8f&8D(O)$K#9~|Q2{>&%6JtDnk zsBOv)BZo(w+Lhc4Y@8!zG$|}S>f!Iwb`r!u{p)_^tsy2>g?_$YXEtFUHrxiC8-=nW zRw7eXhAu2SwI|GvnU$rx4y;>MCCPzWWss|Q(iIiWwj($HniY=8REmlCX@E0PQ46{J9P6+vF>l8uC%bLlohYe-Eap*?@Yjh01v%T16ypg`0?gup6nR z9>9KBU6bC&qEpZco*xriM-*F}!P=e$T|A=+O%66L&{YrL5^LAZC>3CRzszwD4U; z5*}C&4~t=-G=-smG3SQSH-$uscddR2>B4BmeDs81WSEOPj1~(jZVZyhqT3*MAx72= z|G90!hWX-mf5iw|vDqiN0QZ0Ssav^DHc?3^h@vsjke=nJS>HP<_kg)M9AeZ6z>xT!)p zIwZy(a0*iBdRj=?dwg4QZyFnYl1V8V2l6D>vum5yvedqf?Vo2BUR+?+J4#y+7L&iq z(w6W|{kQ3p5msOHBVCV364%jgk@!%j8h0zvF=|qdw(B^xQVoltGxMebSyT=qs%RL^ zEu`>q0WAoP!bEkzQlXupD5d63_S+xrM3T64sBkJw)G%JDm6)2a`c=ZbRiJQ*a0s)~ zA=dUXy1Vpj4+0#z4-P^;K_PX0>4aq6`p4s>b?FNHt;oQhu_R+<(m)J}_}|~f8Dnoo zUk=WGdCbQOESirs_nkFyNBTZO^a@z-5pI1d$0O&)96xkTRAWGh@^lz70AAwVlka40 zw)~PonR=NIj>1lO(Vq4fGT+~y^w;?H5qf`C z+kVV)i-qmi{q+D7`3$10)NQrt0*;*~SwtEf)zL}Pt)5}Pm0_JqSsuC#rmDquL6%u@ zBFNOTD9-*Z!c5S=4v-Szh0?7$FVJ7&)&!k}Llv!sm5TFPjs)7)x^$rrA`5A(tgeYs z{*iP?+Z7GPEZf|yEgK~7RXFWtw}dUQ4WRA>0qToNeI;QQN*Py44+b(fCy4y9K&Jy$**iEyp zG=^ylu$GdU=-#*wG0SXoBE)?K^nmKPm*b1bHV!N&A{W#569#Wt}sN0lCe=s@l3q;AQgO&8T(a=m_RBY@O~lzupjo zLr5TsLq$X#hfd({FbcsBzQO$Xjxv1wl&@e|K+wSNi5tgk`hc?gj*)hYJqQmHu(`m~ zJ%A#RIIuq8#Yz(~Iz&oC()&$HoFK;N0q$fW)GT$%mZYo|l1L4Qu8#m@sI8cZ9fB!! zTOkq0jBPUnGsuQTqNJ=cTCR`<6f=T*)zyKAqP;G&1!F7X zjCwa~w0uXn8z<9WMGjqhVk!P)LT%W?V9fn?9!^k4%Tt&d3J0qF11~Q;N3x8wuBGpEsa(}%)#@85%=lK2nOF)hei0CN$25y`U7R= z125zmAa7tP_OW(}vSsP>xFDV@1NK=n1+)NvHXIsSud8%J!0OrJOw;cXLxJ!Uc_i?! zoS~FY0(xM$kc{Qutq3i3QfuV`X1N-WW02&$0JrKO@49=U;wOWv-Gp$JgZmVj-Fid?Ky1%!hgv|+Oc;3D`^5_b|$W4>l!AF041?1cN&DONk}qH zJq@$uY_WpqWUQIh$O8peG-eG^08-u)$0xKntli8Y4}redP<*ZDL_Dn+oF?^FBKkwY z1iT)`=c-BLo(wI|oV55vRn% z)$k-o2Sg2hS`!mftoIH@g941olQfmH!tMLG2gI*XANZWn&wyi6)WoyEaAAZ_xmMEB zn5)DX``=QgX@W>w`an_#(6}<`HobWD=}SjGTtXy-$5s40-TDoPOYS$N(JMZ!CLA|w zRoNp)K5TuO{cSYtx;`d<=P=Vr0Rn~&aqV+XDL`u}>gnd2`?g^K8mSj3qc*QSCy#T!lof(Li*C+2^ZA`-yWEKDjaR*ue- zM2$!z*}reY{@#_0?{T`pQqVlR-lo*NVw~1E=MhEt~ z_Vq4`lN`7Kbv|A$3k-LDHhY(|?+-Z00-e3~pe1E2q#i%$kM_8DmA-imvN!JdBZI_N z&o_DJ)|wS}5=~P&=?bQYI(U8%amN{IJRk3ft_Z3=xkQ`Zjbwr!u&E?nBtt+dqKc^3&|MQr#-RlpXXk-lY19326q6xUHfqPKFS0#S#|M~?TJOKs| z|6y$gv?K>;8tKmoMcDs<$VmAd>Ljod*>-L}N(O{9n;YT1<5~!Rb zGRndU>Eeze^(@%&LB8MvD9@sXOW5)VdWbmEei^I8P%t>ckA~Mgl0~;e`Xb;8d0*aa;riSi>YMWTV8BN$yq8!qlPk6wf3j-EqJI z_&4}S941nODI6m$qd5`Yhn$7v?m#!K0fnG+*68WEAwA=4Ldv4y_&Oi*2Wz5XHcWsZ zRWC6l+6$g0P9kH0uncD!a4kAKR#%`z^oGlAWcTVJ6j5^`EB!c6p#rQaJub;EgDHtW zl_*?RJQ4=GIDCqQ_CfTCc>+gc24OD5#QC@Vpg^!7w@6=@)aEZ^JOKEbBt=ULX$2|~ zHQJh*H^G=OHqJp4D+^oLi$FG9qoyfi*ViZQ@tc|p@-4w5O8tQC*Blq(vC@31UvKN1 zDG(UMMpG_=xb2xBZ))@rr56-5(gSavq+}53H%CSo5eL(Eu=c*HHW?$CC-4)x^)inx`LAetkP7 z$IPJ&`Dg+P`)eDVWlLVY>f&wD5%J8;Z=yG+ucs$(j-ICIma$vXEC!tDmIWAZ^Ck4oh`m~p;bo8N6R?FulXhiwwPf-BCAjoH0QwL-tHA2UjJ{% z=aah8zMrY&z6L?Yg80iDeei)Mdh0g@9#*m(wXE(lpH-tdXKka|Wnir8gkh)3UZqy5 zWQ7-O+a0EV?CVq&eO|31oag+62&GuioI2$XxQ}5j~^qN$EDoCdq>170(^(p1AqX}vjPkc50d4Ijo8pf;ffHlFzGk8HH z(w~(JEKclJx?PQud(_g06a>2}((vnp3@Zo9EELTcmb{0rWNs)N#f?ECW8L)tsBg@W z#Uxf)g}c~t1<7?)rh;sF7wBZiOyiXyU}uNq5asX66X@oiVC4Acgl`ruNq;~i{EXkK zN!`XDGelJ}c?tDqB>|qL5|sFurP0Wy=H}e+GjT*-*}7W7RYIUxDx!eiNn4JhJp_s)>tT+R8-_N+xHEeiU(Xu#`Wl^{W^U;U5WW|TsH1<_LH ztpUdQ{96#ZvbHS;mUJFUvF)>S4roZxLA>yJD>NjNXo*0 zU&@QAhR5KWfpC@}TX%!g)c)RpasAdgg{OUTte)#nO^iT zMW^8zrGB_~>%7HjTts+zjdH&au!3RHkBbNNGrw9m&5Ej)1_tDsxGpVqI@cb(Bh5I5 z)@JxO=RC*=HWxg|=5Ot|S1o9D8iqHft-TUhwu(m0P9{=I4l+9QQ!g@_DfTgzkelKj z;O^ShfQi%qt?{Myy2t%g^{ctLR^A0frH^|gz%K&u0eZ5%g_;^3H2wLT4?@PS07z2uF5Rip;5Aq2+^($Q1=rY{NkQ&vr zsU#vVJEpMA4#HTS%`GGslLXZ>4R+N48b4%)vL+t55Ll69=M(^2eyJQ#^e=OSrf#bP&+66|_`0~kzm znaNe5-W7(H|gYrzy2d~ zLRWo4g{Qnt@s@erocit=9QKNrAD7R2@_N0gtU#6w)UbY}>sPUycLdn>(jmz2Hw0^^ z)3pZM)gu5`i+YA4WUvXf_4y`)a&B)&ZqKOP&(r7RzuuF}ozC)X@k{})yCi5q>%iF+ z(QAq=q=X@o&5>C^I#XueU!_9Xli#$uo;^(>HO*_res#C6eYJ!&*7DK3ovkC1Jd;U~ z%dFQZ6U&S_jJ?6w-ZF?3wQ|Be=IjHnm@gH7T)LW-H3ZMI`R&C@c`%vp>oZ9hGRB?f z*?Is4!1)Qok6h13AyHI)k-#B^5aG3wJ)JwaE&_a1&b-1B$&MgztB*~!ruWc6$6JCK zf463GI^u=ru$8IiC8*hY68#nHB3FQ0r|fP3@-GKs16}u|R27pvZfhk5vihdFs#R}G zlgl&TfpWoUy|qps zV5meGVHesS#DYJNMLgdZJ&{-vC%xBuag%^`l1iad7cYb)AjGOX_=ow>9FHEK zgI+ALpkw*)t?+gFF8+;Np-!RrbiWFz7nNF~hI1qCxLqXDdEIF#(+ zk1t!?Z&lBB{}?ON`nVJse=t%Kl|mM8d#Si@(OVdtRprWsb*d5~;K(;xMFlD6SRrAt z0z>&kJYq!C#amX!Utu|MXVm(6ae4FV!?6Ota%<}#a9^PBcZ)YqR#-hq^AlA6HJ}lB z0r$#bep)?6F1FiGv1D6F!Jsw%5f0a?o0Hbq?){@%hOrWP{g(Hav04stcH7qJMw1%`Tlm-{s#f@)^cOVmc5epG z)Kyud*!57R3VzFP!iM$VHP87ioA#|+eUolA29IfH6~9-OVIlHi5A)jtMWUvkkCgp2 zAbMbX-3|@;(EmO%SMWH}J+{yoUJluper<;AROB|4J+;koi&*D`dB8u7hmFDf@Po*f z%PFz+4s}3lt#)T*yh=oh!&&?_7&aj~2Na_1=5C-YIKEgQH+U|mv*7na1w!YdnIBs% z-k)55oqsP~d~@p6#oCImWfo_~X^$7>i0Lx3E|Yf4Y$+?%AhH%Zon={kf5_DTMwm3O zokCIt%OSvhi<3uP?X3^P^8)8P$%k#l!cf`GU5>Nt!!t8z!XDEsDKa{uQ3am~y#-O(oJt-AG%%Nyf+eWGpp9g#=QigWF2b3WcHY8SNA zRL+icrFmkwd?uQ&oG%>T%a&){mbRkX?_E(4Uhu;#FvskU`yIemw)~FxUskWVT8wXt z00fl$zuM&f-?DmUea8QBRr6Xq<8mbZRZjg0IKrHwN^JIhA->S%8PQnG>yFA{OZ9Np z)}~JYRYFBH&lrfIEPWo+cRyePIvz+AnQ)s`*2cAluwb2!^($QXyl`Kw3ek;IwGQZO)RuZWm*Knj-GnqNL&9`i& zWdDVENk+32fe93iFH=epkNrvIlvWaC%B5}E0YqezS0YLNWZU=&strU*Aj*U=gNjjhYgB?XF_Lt` zNr>g%GjnicI?yN!qud*_N($y2$dZ|drBfUv{d@42|AZ7Ty!ogXF~a(s)!ACp0xFnm zfGx!P#qOQ{8irThYg&osfD{$p{Jt0cAMgSgkD5P{(@Px=W@cjnPp_h&6K3Gy&pBp; zjiH+{cl#H0^)!6xq78n01orIN$P^*sn!R}0Z?SU*s&i#y!a_J7pD6$#DUHg%lbqq; zdA8X4pmNT9pfaevg7?Ug5sv{wfbbT%^l%xg4N|Ohv6UojFvER2Pz~0+#sQN_xiZk_ zFB30rUJ;@jIfn0(8F|dh?Zd0hiMNrnyObW!DZL&pe(oMlUuOjW-1><(hRd6>6Y+4F z{-6QQeXraDIG`CUOl1)f%^?X0a1+!|?b?xFdc)2cTAj3SO7*4?*+ioBn$bS!(qxrj zV5DHl|Jn&ec1cg30|GpjnlGm-(N?XFz?ty3!^!BB-#PSCH z3c>v=a27Wyv(q_SKY;nZ&h+cz0GP@Cs+aNFIPG+4A`}_0%F1nz{=8p_y0@k%b542o zRd$I955M$+4T5wzBvHx|A7mR4l}N1jUP=wGNci1P z>VqHcly{Z!L`jXp7Nf1f{`q3g)eB8GtnQiVGrPfO|2%&A9~cBPJt>$$d>msS zk|JNiS-)bXUycaO*!M?WX_Xh|V@ejc?t^#Zwi}fKe6)t+=kUFRcb`|C#+uDN)6hx# zT*)vTrT)O&g`UHH{qb}|7pMQ|Zv`~$7x7d=*po_lD%_osd`{E_a5cjOop0whEH zJ9-=lS_^Sh3$4^!sh5nI5HvADWRo@t_+ z#Pob{t&omvs(4}*o{g74$`Xg->skQ=06OkkuHO|LYU+!2TzR%ijCN45aH z0J%l&fU~03ytbG{1V(Xj(ulS=+>$p-RYGoK8=j5tgJgI+N?;HQXqz$~k$n>-*+N3O zVE^`LK;pz^XOx=*+A3Q}id>NqDR5qUBs9Mg=zpfV)T_%PUf3?P{G(a>@q&pKa!w8 z%R7ey(S*qOM00Eyio%4C1~_qqbK@VwcSov(CrALLs$0ouFdaOAMM_|oIV!>4f)chI=!zCCuY8J`0fnH%A+f3ztxZrF&oV(YZErA9N z4gX-A6Y=%wQKD&AxGA~8@cFPQ#4KlsXcYBMsA3J}l5LEI4M<=lWB_r<5eQcFk$o`#VW{B>TyV>L$wL8bFir5<{L2<@R;^CE*$>wx|GWO@=5NqQbi zyRmGh3mQVm=}2-zvJgX_lr2Bg0`na~q2^{m$1yzS1fh|5_Hm&aGM4v*DsxInWcxRJ z?2%kmR^EZqDUha)=Bu6ih21o&9qUDWlxzyHI8pPy|4bdHGCcB~ok>mN?_C!J`UBI+ zXcUz){&rvghyj|Jgb2}>d2;|rb&Zi}GC}9kDMUSrfw>rPSGKMR#UJ>g+-CcC9p{i; zw%T@KCdd6d-rbp{>jgLk8>w&<)>U1RIuVW!{Y3L)fwH9DsChMq{tutA#g4|%xyHuZ z1x}SqD4i{M2=+)?b!);0ZEZ!6+|!QRqf_R&Nw%pGA#J(Ys2_O#P`MI9KN9;!M+83s zE2u6W=|FJQB!SwLwglYVH-hWW*<8N+O?S_~y5H`*SZ%eD3^H!DvqdsVSMzy<<$B(F zMDjUcpjL_)Qk;YVR=>CLQ8mTKpjqQ60M+deA8k>A+6f2GU=2Yo6pC7(;k=6d$fp3e z+O#B660%Mg+-9HH8w_FRkWvw?4Ck$)az&~Uc zv9jxktf0RLOqOms$#tH7aeIK(tjGTf_X{0Aa(_MfJrVhSc!h0>!-+Pv|&l7XWx)_~jpW#|G?+T)(+zTN# zAVE+sMZozCf1TgzNl^ZP$gOewfM{W1@GxdlT>T_@Pm1@9Y&BcH4AYLCWxUdiL$3@B zLTNNcjlEwFzg#8VJ8J6vepPPE+v^xnhY<=9cO~tQqIw{18?46CJ)p7?kcsUkd!&)c z&6czjh&4JOrkrF5*L)3W@)f*MCd~RQeB9;lSRLD(%Z%kk{Yw&?y;X1IEc>l{`Y3uJ znHR$POeF~;XcGv(61mlSCc zZ^F~y=Vsb&OtiSR5e0-rIKoLW;>PG1$$()*(9R@Ln+Zh78`gU$yY~9?rJ2m#e3E^Z z?=)Y!JC)3d>>aU=r${Rk`ie&trDra@JF>xRS03;ii_p;dS7tT1;oyUsD|^#K1P*wF8qpYwgpNj7-*5Zw@8LS-kIN?HV6Iyk7^=Irn z+B0G8*SQXvKp>6bpkqd%!QqYAG`C=Rw*b2JxOI=d{0?>Z>191^!c^l1Yt*tLdOy}# zuo(YB<@fY3N-{DNuG#1H>&M>N8+7Rn&~MsL*K?30SV_5XcF7&t9fJMkQGPsq8KDSW z2kIhDq!pJ=V{Z4D)8G9tAHO0|}2p_pR7YQ>cf)gvjz`XyF+@7>Pyj;CO*SN2=j&1Kv;bX8#)e!n(wYja4=Pc30u}smWp_f6QnTMY`+S_moLj zzcfBmC*NNaqx+>E3CFWZRxZDA=?@z~m(d<9n89l|WMK~8e z>#+-!5u@3XYuceVM369hR5lw?1sWY=#v3+CD_%G+$r&a|6MkH*&jNA=#4x%8U6lGN z4wD)=QjZE(vOxEWS0{c33vhYv+>J!jpT1%^cFS&gKEvb4vOvhSQB7*vAf8Zd;(T^^ zoFxSkSTP*XBvKPsuXKCKZ*mKcpqOp;pH|4E^b6#9>?ZrEd*2j0X;*#_ zNSu`Q&|q8HgQ;;%Wf8glWmB?(n6aGx_T}~(Wj7E|uA~8t1qbZrWb^d;y=d^XQ=jQX z1x+L3X_u6Dj%Jf>go%M6XOe4nqIuw8@7~)yf-%qz&YqxnSYV8H$vmVXBX?%&Pwk6R zQn>&)6xfJeUmR4}REKI3oqa6%alm8TgS$DwHAM-?D1fVI zJ`clkyoL)sPQTFU?{yop7>_y{l6g5-=0-bjuTe(i?qcU<+zE}zyhzbBzJzoqF7N`I zx@9J)EQXsM?uVxzr&Ey-(=hwB4t+Wr9kJbA@D>PnntLv;V$8}|6e7?S-J?XxuD&c! z_4MdEk%y=UtlFfl+mG{_zrOJ)d>O0Syyxf))_T+ag7+dz`E}=%12Tmz&z&v07tfIHTYo7k;oTmBd<<*-_Mq!XZAL;wrFZ7Cb4jlqAKxUipZnhdoyrp;~i z8?_a=y*9{Qh_S5IS|>PE$Of|u?Z{=cp!Q`y_CVFu-cn;@Y;a5Xa3|h(l~WcHF7ht0 zj8)V2j3{DQIid;GpXknZ7}JNXRG^Giikzik6}yED-XZixbT5JeU_{FJX|+edRn4br zWS|4ViXcVYld#^wy4j)BZ86JSZ#AQNe$`qo%`JXd^}e}MP)wssV|2S}sGuXrEH*_m zqvnB@Znb#f00|P6;btKJCI>_#nf(LonvxVt0m-btA!6Ep`}uq;p5yjY@OGO^_*0Jn zpC@MUk_Cn^Zu4xHs%Wl^@P?3Wj+hwg$K_t9VTBJjge` zL5@wZu9{S^7qMkd*Q@fw(%(ygJH+I9i^AZMJ>Ky=f)DjCH#~m1Q|Gfc`czj|XogEe zh{9|ML6gxly_(2bpBVUr@t$+B#8D|!DGO+6ty*DKG_urN4;S+2t{FR5WBew{jG|}- zi$y+^V4(i3@MK$F7T}#kO~0bBKK6aNm%2K-ebxqn&iXD+GG=>TAWXbmsrxQZuBV7%$2yhh}>k-wH zNU&9^T~e=p!?ogy7W5x3-SOrXpon&#`goEn#0 zPK{E7(1Wke#uQwA#T?q3U#qNE(sq&t#;IllQdql? zSzCUIw>ZnV`~7OXo$Ru+{16^hC(~Ykf1kTs^NP{qLszzztB+ZqwDBlT0RE$$DDsP> zDcWamIBo4S9({@d?_&FP-mqxh4Nd42Ivwxe4Q>Nl%}bt%D9jL=E64s75uG|qBEQ>V z&O{6X$TV4F%Z4Hf5Mm6FVKei=%69Nb&)~@Sx!V2nfjWAFJBo0oe)_Xm`3F!Zc{j!Q zSDaWS2h@{U$CbOfPa{mN@`)#sz8^;NS$gtI3RKM7 z2Lb?R5UKM=py`dN_5qy&In*j7&Y(dPd6LL_)mIkSE19>u2e5PU=jq`Q!XvC3INg1J z9Q5VpA&yTD^2g7`L*#qx`NsO?gS@%<@!}p_^5;vv@8srn5h`@-%FL^Ujm+{sSHEZX zF1A4UY#N%7gy-OMT58A91-)s@9CFn+ePyDT_`0Y<;2N|J9wRE|AEm;V+&_5;RW#q?VEt)Qu^}+>(`BWpr?@+(br)%a%OQGhZ{<(L;;3BUin-XCT@#C=B5LTf97{Sy~$n`E03$LgBh;j9w-6nS>mZ%hLw9 zMBf-JoGOO|wBY2Sm6z={>5B`R1}_75JJU<4ln@om5}pNuUMeQ=l}9)|1xv^|<%EYQ zdBP*wmZ|xUA8hE(j*cB#4J;-NTIfa3tumY)1+$(kui6_@y4@sNZn)qY|J5v3OIrI| zTC*wqk|EmR-SFA-T~VXO@OA;SX-H{fUBr5cKVITZ8v4O*a1=K+pRf7^MwUH8BVqmT zh#35HC+`0K`ru~T(LaJkvxfEhhTzXm#BOCzsg}eshfK5F9glWsIDgIdSw?7BcJhOT zW&j>juGrsNo*RBfA((b|P2e#Wztfqe&WH_ppL)~oy818>={|Ise?Y?j!t4*eD+)Ud zAfUp4|9{0S=6}U=4`-8Yt!?KGP9*;unIFj9{0%ucNjtk^z-qHF?&3jKQg(*UW?4*q zsN!6jjwS-5v;XJSBw>JUKazy=7_7#k-;W!4jpvse4#Z(zMTWGaU2bz6-Czg}Fa4+U zg`0!rk5!NF!{_>gd7Xdb)yW)G$38tO(?dj>NIdqL$Z{xyc-&(MwHUoA$*;;le9r|( zdVLfRlPHOS2og_xk0G$<@o#auQ z^T&qz?n>`cOYEYAGYtsF*ly(wwEFJuUd%j{i_;krEBq+N;*9IN7XG zybXpitGi|`5ms+IP>vXQ12@7M7l!Amqt`4l^V=5gr=KqmQ9cg`NA7pQs_Xa@yr=(m z-zmJ;s;@^US?;&`eZy)WCkY%Lgwqu>kzzL@jJ)t9}462`y zub2u zdPHW7Mp9$ALCSXV2ILKZ^QX`6mu7T|B5){M;TntRwHT&9dG&=~baAXtpnNJSGuLuA za#~BAO#v}UK$kNuz=h>f0&LN)0Mr_dTl|E)k$~j{6xq}{m;5kVh}%YI>)+gJ2%nFj z&Ln)&Wo{)9zA#GDzbEDZ;d1fu@*Dbmx?Ex_D5e;4P|6+yVyw`Q9Z$T4zyh(JB`qrE znf1-w$W?zZP2Zbcjd~`Ox7+Dp`6Rd9$#qdToM~FFuQB1GMK`8IGHXQwvgc}8<1iMQ zB921Lxo;uNe1LvavaF6UN`U?3)pPa4_FcND2+-4`pouU=xHeqNlU9y7OD_MIe=m)` zXHe@H0_8z>qp-o~>3w(duHMdc)BdsKlM0Ex_KJAtiuXPLML0>)g2&hN&-fw+U@@WW z$&5XM`11#XmRD#BeX2mpMEsfK1(Tq@zqQX@9^NIarIz zWrgN~^2gzOD=r{3G0#>Ur7KDtr>#3HqD8v4JfwU!{%l%Efn79OHjw+cz9&lqnHwx{ zITWQpRVh|ik&fBv`lutSsVBMvU)wq2{KmVIQ!iTD=V5O&zz!u7q=#*Q{`i@CA$x$s{bXy3_+iflj)K&il3WMJ z`r(BLy__oHMcdU%?v%f1QDv}4c7_VvL(g7{Kr3T?mcJ{7=ChGY50UXf^*}3?L#kEm z=$O@gEUBy7XbwQQT1z!iTc%-JG-{XDQOR2GG-Fs5NNbDN@{^?#L0dMB^B4X5uaG|? zj~WnU*Q{;^`xLAjn{o1E!dU~Yv6G}v=f0tx&RGG3UMSJWtZTp$r55s zzU#|G51WKRgPFL(I57lE$l9jTb8;tC5@c63v7s9Br*-4*%en zLa+^wx3L1(k?b06zO_?OxglYE$>K9cY}Y%T5o~1S{z{k77+4$q2m8b(5&R_NOLwWFR zU(3~#ZB`yP)8)%%zctLPuUeKt5pfFV$5V|-)V|e?+Y#V zr`a0TLYw@*O^rgXHRTYxsj4Km@m$Z9qqd})E9I*j9i<#Sf6csu4M6KAj~oekI~F@o zqX(jTKZHuwo;o|p-V8_R4s5>@K;wTv{u{w1uw1{$Ac26asQ$MRO!&XtetFp1{5NoG z)D-QPB#`{X_xY#a_JArPr9Yg|l+YG2ifEv%7B8M0jqOoj$E>?AI^SMiW~%YCQ7WB^ zQeoDoXMG-KI9NWezrFw^|GwjfO@cA&KEfGx^7;IqujBP@-dH+iNOCptlUWY`WQBD^ z-Of$Z>XyLBVwO%D9XX`xA(&&e>-NCZ0XA1)d1j7dNz_r{b&{738j_$ z_mYvtkNpbhyWHCN2{qPpcAaciRMtQwceTJ0%GlsT*sAR`T$JE2bVjapO{a(yDaQF1V^UOHr-!8w_c?1>IW(j}35@GR&QVm-rtle?g3rxdiDBfM5j zk}cP}mP)kuerN63@H|G_yS2(v?ZlyzL#t`TEJw0?JU>y-)v%JBLz0fP9>(2;5vkFx zq(mIu+zQkTqT9>f4Y5Vca~yL7b`XZyEz3O#d;QYzSlDKT=4Ey^<{@4vysR300_&v# z<|fE8#Sc5>^mV7_*HO!}P5dTHwk$Tk)}C~oZp(-hm7FTN!g+7t1k?f{hhnau{<4(? znX9Mo1t}ul8SNZq)$drW&5ZV)oj;xQUPR-4J5h<6`ZJ@9PoGyvaOd5NtY{&epL0(T zjL(iZQCq$+JuY`LVu2E|{3wv-@J^P6ia8IdemH1px96bCHO|dJh2MxW^dmWbPLho- zjg>5L+`W`)L1DOdz3$p)55-!;M3SoBgD>u1MNaPf`MIOJ9~chgfkTQn18fCI(J*48 zwMKaT1Q(E%%(qdg4Kr;78l!v4R*DK5`vN@+xFNR(`+n2K{n8y` z3H}GFHsnxXxz6%=mBw#8i*B7_;h`{d{RbmjsjxO`RtwUDgluAa=H|rRLob68T)L#P zqf^Y%!Xom?h-YIzwL~^!55&0k;?WK|t^MSF|Aj`MYWCabq4sY24tbdbG`SL+VZsCf z^svb)cdV41urvjr+R9|!Qpu#BHFlWXzt3vcESK(&KAJ6W@-0BPrv`VWf$z>%M>!qIfhh;ck?LkL z6R!Z_>%^l321HvJaXM_FCZ~W$s5T%0{T9)su8ZNL1${D(yvyW>Q$~N0%&uV+Xz$$B z??qz4i?nZ21Bw$+@tYN>-@nDnWac5*#k!vxO!0n177RCDeob&BFJ z=jQgD0EZpiGzOG8mGXJ)^AUw?Y?mn@ZzB9bJeo{rg@W%2U?|Jr$t%5h4V z8qE6@5r*dzqpvna0>WA{r=kM@Y6L&Wp(e5d{m?}Wke%Fb2HTOoK+%J)W z0)Z}}ZyN*jU&lZm7y(5!iD>~V2O_D2Z!il&!$?};2m>T?u1sgG{xRB|Y}k1edE7J2 zphQD&VL{u)CgsIl{Ji6#}>Kh zuReV1IY+CfX%+K+Z)H*WXX1i_D(Ub^_p9QlMi+yzGcE(KgX3d-nh(nA@oolYby^1_ zuM7s>ce{JnD`&30`Hn+kmws{OjL&;2j8XWBSXHB2~$cZ#zQL}(Pe4B}TCEhUh1w_lzL=HV1PeROZf z+*=BbKpU2OrIuQaMPz$+aG_dm(qFSPX;w?z7k8&1NUaGAu2cO{9q&K|Q2OO#9)D zY)Uqaca{4v@JqJRz%QcgL&=vH#{9qg7H7yDyB<;NotM7QvsVi$189_0ZC7!*0<@ zAM^bV-7y`t-W4%O`_>Hcpc|*O_`%KI$^Nk-gxmXqH>hg2u`AAx-|HA2aWC4QFi`VB zCoQi31uT9J&UfhQ?V)_iL)rwBn6xjeb06<8RKvZ7^_Z%7ZEvtv$Rr06{$~GTr*V$5 z);O-^0yCD?ZOE#jkB|~U`dwF;w%IC^1njKvdt)6T${dXkl*D~-sLe=JB4v)pFVZy- zr}m5JR-w34<>7hFDo=5$Gs3)M$&T5$U)`g6GLg`Z+MxT5md9{w;SM)-@y=iyE1p;E z>qdKxj6_LT2YmY>Xsb<}Hp{mezBqxY6YC_*cQ#-IQC&&ybBu4n&>tZ|l`?Pd-&0Wc z8V`PYsT|+vg56H_Oj;|>Q?y}^GG@t@UY|VC*W97j6lQXfLZ;mG<>M6c;Sux$2B&#m z7TcHZdPWtb1JJ3i)={f>lybzsW)%&dqQ7Qn!0n*h5b=?9eX2z?16z-#+wbr_GxMi@ z>*QPEk7eJVkjp&D>)waTJxRk+eaCCH2hH?F2|)}BITX<-#()MV)mX8mrddK6-#11p zXigh!d!I1sX!TUz8iBilkO3CKCXY;&S8c&6Eh>iSonN1X)g>HrkB8i9*}wqm8dBnO zR0_Yv&~Q`O8M*Bt;)K;yuSaTp2NfvlEy@)#miI%F?INRRiNaLZ^kO~zM$WRR6GSEl z6kR_KPe27yUPgpeL05`A?~F?!9dA_<;d?n{ssLwtKO#5N7M?LHnyK=~{zK({BBivW zg(>JcQ!S>|&z7(Q+B(5VqR5fYk3CHIapCg~kp^vcno3db1_cgVVj^krITO}fYo;lN z3zlvn?h;TaArRK2y_9ZuOGa~>G(~&MPBWA);-aulwO-7Q4n`h!Z|U?%l}c0mTBOLp ze2AF*@p%;(?z|M0j2Gc@yi6C` zJ8i^7k!WHoc){I|d7shJXxy^IBKlAKz-cAgr*Smm)q35DC2y?X7QM;H6OMP2IU#z` zI>e{a$Mr?S^HrPzD77t)a_z8;+PWBcU9NzNs(oghpr5_Rg8jNCvCuYw3~NT;*NRb% zBj0{m7!$vzc`}VKGfor~F)uGHV8Y|)TGpX+`<94*noxvka->MDk?%H8>@d73M&3X}5-^q`{b z?E5x?WH|)kI(A>BhWPEBrQrl0)Y_MQv%oLFBffutMs+oOfY#L_|+c3&X+e=_v z;l%cP2&3FdM^PoM>m)dLDAeyvBA-l=D5T7=V0P;H8^nEQE4|FCGMmAA7?$rTqTZTP z5C&JzaKXncoKdz=YCS~g_GXo@5*4VsHS7>*=l`I4C)MGvQY>G<1Shk2{b1g3^_#5cAtuy!ZO zt4Vl~9isV-2EKT6G87SPV*T^2vV_1K%1~#T58``{wBwNUfpx#jhjs0!^Y)dyQXi%U zJ}HUgG@J4jo>W&!z{OzmfizR8WDGk7cal-x#~nm=OD_mAEFrC0Jg9Ks1k~ zACHrUa(#A{tve$=u`3x4SGViP2t9ft%{nnrCnvkQHf6r16!gEC2rL7-XSrRYU| zYTNfh^?j(?JF%qZAJjh{Ov2l(rBp>v-wAaZ7h7vP4We`~rwk>PwVN^)(}xR;dS(hL z{aV-LMfw$SF>x;-gs2`ZMHr#BZW)C7QX8$Xy)-VkxwN{QSae~|#9-e<8-YNEiqRFp z8q}9X{RZX2?S)?~aHd&@u|w`YaXS7F40T7s=F0ontqh&!nR^Q5<%;%AJepq|cP!B= zGM7TSIPsvfR&W@)yhKXc8$>6-_%Sb>>m-Nd?vsT@zmk)HI>gj|&F(>o&~7W45%IVI zJLPK={nnFHiH{{Y^6ie|9{J;kvuxO`AKq#0Ia2$_APUhwf<+%oAP|ib%@M~A5T1~ znDaUE#fR}h^+W_T$6i;>5R%rHJ@%JHxqa@Yfw{B9&zp<3Iz|Kunm*+2GCpFW>@I)6 zohruCkU4<9iA?c`!|>jN`axY!(bv(mCJDyyfojFVvUqaSBK*>#j?6=%&B+&8W2y&n zg0A9p2YRYbbni*Zs$*NZ(kKdFsis$AHymY?2WgkTVX{`1_E!6BLiR~RK9*$Zd-At{ z7wme1hKo(-I0LNbJ!m>`mC}3(yGHhTmlIjp`ay7w{+S|iN>a$FBBiaOJl|nH!1bG= zykUp`9)QyW?dH^|S-G)Gz&B_@#8A@^F>I!-G9KhIUw8_dd4Rq=OWk5r%j*a$Kgjpo zLX>6TiR$<~n~j){qa=|!>6Dr{o*G&T{v*N27lX6$@QHLVCXTGyxx3%Re==)_<3+ZS zb#xz1d{ zVq0UEF{l<(O1vOdv#6yzp-i8;W%yygD;b36Jlfmc*Ly~y^h(Tyr2pXzOll@sN8IiY zs@1@dTR8hR9E~INzzy z?lk9y@yr-8tXN^l^rg9a8(F56<}CFhM|z9$Y-ae6T;F@*>#TMrHWp1X74iZLr%ZCq zayskH131&cBH821F@oJ^IU90@i{x^T7EUlc-4e%k?qJqhMr@+vXsn)@1-V!oK4Na3 zS7eg2vWnA6qf&J3)YGDC8nbir-&V^#B(ym%1ECJx(Pw_eFwi>}&VmbtqW->`B?3Ot zM6_<9OF-Mhp}W*}8a4h!R>T)x6rb3oCF!6tlpm-$O1Mjm`qg^{hNJcLp}i(acL+Ma zHJRg`dHL5!?GqBVdA-SctX7sTTV@yc6h7pxseuC$E>Uz8je@(C9uy3PSccfQzRkzv zOh#{QNmU>8+bakmN(WE`+Ep;`6tX`f%Nrz&xD(s5W}^FS0i^~#8trIhJ$Pt}PF3*n z_j1(r(}w%pjk0vZB@0R?x{f=QN$huXg<4oT$C9|pmSNuyhQNOpuJ10LmRJ~1tbQ$F zfb+g5tKxIj2@(#*$4=cbKgRTp#1aM<>ybM&+hJ1SZ@H0N#HsR;K6{4^Tf|wE?R?h- ztNEqhEj_`nct2Jc$l@W^U`T~suf&Jw%}ii%w_=FV#xC9m*C(TY^ovDi75e-R{j8LO zXY8I#4b_OL-V-SqifM(%r${L>@&Vb;(@0_T`ub68AFqxyyHgn}!Dso?7C2v!-O)k1 z95OQT;7Qfb7};DOXHyEdx1UYl?RVH=pqmGU9vW)XnHE!cOReySuHl?N7TkN8zPg5> zhS`VqP&iaJWWnYQ3Bjpt6X(c8wyGhY@WljiL5XO-pMuiGMHE&s8eOwd_*^q9u9XfJ zYp52#YR)T(3%s!!@}N=w%P7B$khd*gk#x}wkwTD&@7>ElchwtxuHu>xV|l7nbXV>L zlq8foeBEmeEv)$*151TEB`I;i8HX{U8e?C5LhH>WIf1=k((c6zazqGIQB zla&S{16>|{i3tdS#>;MCY>Mt5_0r4!L@O8TO%^d2$4EeiD4jH-}nX*;RMR z{1D%JBE*q?AuD~uTqEb$cO9Fgjs~AITI8VVuyI(XM6GP#l`s zSaLMW8s0pCBcCEOS7_2pFh(QjL$6%_?s^mtT{d6jY>2#G6+E&H_7A^I`!nEpBpr*C zys80S;TBc_58)=^lG^hks6&`Br~=8EE%6U|c-xDQrVBCR<}M|+^vFbEF`eCNxY?WcQddGSps?Ui;w6x_rYex9jo0EM6mrea+SQWk~TbPxSLif;KgqrNI9X@_S zKJ9FUEumuEELpGI*utiL`NL&DZ}Kx5>A@Nvme!-j3O}Py!HsHi&Nnr z@oR4S@ZhaC?L8FM^7c6B?w)1alHPh&#~8;)Exr@<_;jj&_Vm=Fy1{<#G#`Gf+*`Ll za?ZNp_y@A#%KC)5UWZV7+yshbVT!k>8Fn~teRW;(-Q*;G6R$7dEPQaAms<`(8K;=_s57xT|R^!ahXUW5_tR&h96cDvYtdTzw^kmQW?F!#>VbvA$+)uCt9Ri4y7$ z8t3%IDtNBiImw~59-j{ihI;DJBAq|FKD_jiRY!{NRnZ#;#ALa~^hebc%2p*A?R{Ht z>zO}S)M$^b(TnIggA9t{y%uJ_XXlBev#x+F%q06ge7^@dDturCAFpQ(QKq#=``3oI zdUuttxMUg2;%1D*!jIhxD17Y96Vd~(Je-gzV2{@>`E9B=UZsw(MfN#p+NnXFqc z>c%rhUfP$4sih5ud;Hl{S&D9>(D}p3M6@0(ub8yI^B0)*Ui2$xgBb3T`3tVVL8c!p@Y8844V$#+euXh7%T_+a|hm!!EYxkxR4W^lJRDV>N2ArtT=d zHejenCac5aDXGe~+VTGZ6=P|YKw_JdIMqdg{%I#9H?ZKX?Yb|yzH43nR(JHauyh!T z225#xgaYX?^~x+~nP;y|X!^*=(}{1=*kvd$hL%$NaPY+KruYt>lY2Qb^5s`(@%Ab=52EMX2|Ygwkwl~1U&!?1dzJ7)M!sPxkx)pM zMw3lD48OULM#LRl@`;Kgd2z|;Gs`%|L-J4#HF*xHz#=rWXHjoCB!?eI(msBHAqX{S z`flh!;v#bJu_eY`?n%2-=t$e~sGcc1RQHaJRA1>$SD&uq)HV5?LT#95?0Hi5(%bh9 zy4m;TcU6v-**+chrBp1T8uO&OM5c1zOXQtF6{07tFKMP+ORDdUu4E%L&()|8?Q@6j z`oKSht{(rsJL3C3N_G%yvaYcHC-H<1r9#Err={~uX2`wl^v*e~2Q-bd9SbEtxh>Ty zG3*T;Vq6kg&SF?8T^|t3WEQwnM|HOaG`WA+*RpshriMY#H3MeKMbn$|KmdM(TbHv} z_bEBGa>MFVD=GLR?^Myp&Y`o&0(3)4fl zBL$@Z?k{dp{<3*`_DBvKLUdnvBPYTi%++vAzCXg=;YNC8cM={f?pZH3dp`}n?a_U2 z&Z+ObA*Dv6eZc|Ilm@&ou*GB4i!wK zpy!=ExnS?tHq%#S?K3JqmrM7DTL=B@|d zGDiN9kW>vDJ#*V~?qPpVYBaBf<>e<9&SuwTo`Zcpdf^M2k*9vnm*FMw-?5FD5JM-vk0VWs zL1U@><3(HaN(T)ek~KL4?h{m^oJvN_j_|>C6(~lcgXiqCY=}D^W3#}C=zIDaBek*! zCFKimrCWuJHTnxR+AlX)3hXv|xg*67qh1e3Ykulo-7bkCxEwv=(FC#^<-q+j70M%wYe zR|Rgq7g2IrrPCOD)w|U3Rn~dAmu%v}?g+j0&wa)owr>xqj<;~&La3IM$114HnGTy( zW&-TK?Z`<92ZG##rurfWv#>bm3wTd>g>)r5IXnefdhg=uFGE3B4;4OeaUBjqS>KmE zIiVM-|H8%DVH>0%8=RK-5WNh2(N{eld!%25r zk^a8;edWo+gJV$wo^uVUJi?f0@^fy?gksrxdeW6Ta^{`Mml4`Fp)8JTwew)7=$?}D zM--ICV&jKqO;IR?G8)Q6MVm36%)L5ps{x-!yE>`Z%3+_NVHXNF zNK+9EyKEZL?oCtGhiz^>vSVwH&U3F_5XUm;^;vuL3eHh_ad4m-KVsJz^i~?F9%FQz36(22dQH~W@Tpiv*Vk}_ z{WI>86eF`5x*V#eNRr#n<8(yCg^kA+83u?%URj7`WH#$+4$_wAwQC*`u{OB#+djs0l%=R9Uf${PX)K}nVr#JL?hhx2g#y+misG4n#kgPil=$4$)kO8@ZMr> zm(b+Uf9i0%+eLnnfxC~+dzT!#zXAb1bvp6OD@N@1$jbsME19N~eGEhHI7+N4>l$y0 z^RtH~bw9&=?abRl#pSl2F`bIHx2veHBEfpm20PaNpheTUJng{du0YOd>3cRjg`y(0 zI?;}=hHz6_QkJo%Fwq+LI|vMQ6b}Z)IkF$qzmm(aK|AR192)2Nfj)cB!GXfB*_=w= zwe?c!0j^m1Xm@iubvWZLC#JI$h*O!XR%SNNH4X-seA^Gez=uLh*t-B4D(h45qf zis5kA%%hIr%4rSUq&I8Z2m1ylx!7u_$Vbz1?p%^_0{7q#lfKjqGA;i!^*s%gn|_*- zGwU+lur)v`9j&k%qdh=o!X&?LCixU6M1=@9c8s*lZc2jlrx^iv-5I#Os_UICfu3dV zZY%l7PR#{XW`yl}5{)qVGh_bd&O&Zz^W$%)y^&v#E>RZ+I_nYLnHDV?BwEUGs=GF3 z_}rGpLq;+@D{1h)J+JiaUl&<`bv#=ByA| z$vk2)F)m{*OzumdX%HzdEZRVEv7#=e^L=ekthitsU zDMy>PPBI9U`BX?>S6*^{-97RPow?IuCXry$Pwf7Axr#(R#<^Op2)s3O!85C8h-AP| znCA)?pC0#c_Vs65vuj{Pbcma?cSN?M3)c#BBVn~-fgW6(n3F!l1$lBlnqPm@$^HD{ zr!Qfhn~UzJOo8kK22ro58t@J7er5O;m9SG>jd$?ggLuB{)vm^~Qg$^yZ!n3}RB?wK zsn+&ub*T?+D}3izgQ_eHD9AmZ!WuEf$1j{DznyQo2F~xWTRCF&L+u<`dWvupw_+US z3ijDkRruB`G7(Tl=kGC-irXHtKEEVXTIC_1LwUw3PQC`_HE{~hnO}5gr?51KgN}Np zSlknGj#o|>CEBwDGv50Bke5@7DdDg#d-qQAfaOIDi1GW0(mXP6lE*VP!hVk#E5WE$ zJY-7qNN?QMMcnS)AFc%R>@>}-t#2ul#GhryE;Bi%nID%U;Jy-Ei?H_-TbjR&d~IJ+ zm^i_HaYEVfST^;*5~FI~jA-}VlbqIRhYHLrIPE>r74x0Q}ipN(ZE31+e{_XuM>i|U*%RHPuv7tKp zDz%cC@1HV3<0!ng8}zYT_#eB8L>5O-@(rD(h-SnU9;+OdXr3y6SQZK=L^>6MMck~Q zUxd*b@f~00Twph8aM!aqIu*6AC3ms$bmbxxe1KKA&D`{T%v`Koc%KLry!pI-q*RCm zXEbK&>6#ZULhD_}kH?xD{yOFus~~-CI=4lkB}ICi=>d27kDn3}8i=UckD%^Nu*fuKP z-XJV5yL-?lCVENS8^f0h+7%B|Y_LpcnQ_D`>{`pX`Xud_2R%T=kG!9Mo!O7TaODGs zXX}$nHc~>Pkx9w0;jh0E`Bd~@+ZNshL)t-Vek)Wd+%CS58uqstR(AE0x7EU<_E zG;n7#Tb?u^6yvAS?mdZ+N4Oy|N;PcTWJGyS*L3Y3$;ahz6BrCJ)v(lBhub7o%k@vc zQ-tCcl}5@P)-ApdBO?B^gbN1|XPnoTnZBC$KL6C3??$?gUh?d0Lc>7-81%AZg*P&o zT8?W%97-aaO zm|31; z$|vc8?A_YVW4*iNaAJo~Bv(lMazyR>gIO*HhQ9x_WEF|Bx?fMTO*a?yu(bcn?#t(+ zVNRJ@Y);_Gtrt)2pF9mHVia6R=5zOc@^m*fr4K)OiOe{o8`h$16;aq2YX2jvaFYXR ze`l|l1Dd0m1#Ts30}pq3T>5JPgEpU94#knh70-PpSCf_514=qjj79bMp`NafKPrX$ z+gW;;>>V!X6MN3ubLP~h7Bcg_#{70CS7(^wy9(q_yqv@2^ddUqrg&kd$0VVzO zhPELIBkbGB6^aWFMA}dM{tV6{=gb6N!rvQ%1sL$|wooCfwBG&ds%2YOO>D4J0rQGY z(w+6SmvGaD&E;K-hP0o(I<*J#;P_zQO>^;FTn2t2s1473mMk1N&ijksfYLX#cB2@@ z>mhbd{bJ~upU;d&n#!u0d?(&Z>srQ-dUAzV52u!ts^wkUu`&x5H=5vv7iD+^N**r0 z=1nnbIo>$iZd^kC@Sx8+qc5R}FF-Sfm*b#vW@I*V?Ayf43%L{@6xZ|fDZFnD{7=1- z?ke`f!SHpNYLY8YKPfWA596eDI#GY{eq(0C+M;BbfDa`HxxT74Q*w27EB%l@Fy<0{ zC!#^X$K&FAk8ND-qpzQeM^>X0iWoPQzwF7V0uRf)|+Ku|B8=*-Kjb~z<^)n{N^di`}FFe6>C`8v)GGG?WwzWKHx`p%u4oJfpnQZDVwsCce*K6YInCbMkZM2c&Wf@qo- zKRlf>@XQW=mfiRK0o>0WI0EO9U89v^C-93Jzq*J?6}j&xcn=tCq4a-dj5jn*a~o^& zPtr5BK6Ei>0uGn#nU@*<2qVF?Y?1y3)18)n^n v`C~ltnP^9C59?o3j0u$u##r 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 P5Ijg(L`;sAnfd<#d@Ns& diff --git a/SDK/nbproject/build-impl.xml b/SDK/nbproject/build-impl.xml index eeb4748..a14899c 100644 --- a/SDK/nbproject/build-impl.xml +++ b/SDK/nbproject/build-impl.xml @@ -12,18 +12,18 @@ is divided into following sections: - execution - debugging - javadoc - - test compilation - - test execution - - test debugging + - junit compilation + - junit execution + - junit debugging - applet - cleanup --> - + - + @@ -46,15 +46,14 @@ is divided into following sections: - - + + - @@ -72,20 +71,16 @@ is divided into following sections: - + - - - + + - - - - - - + + + @@ -96,6 +91,12 @@ is divided into following sections: + + + + + + @@ -114,12 +115,24 @@ is divided into following sections: - + - + + + + + + + + + + + + + @@ -143,7 +156,6 @@ is divided into following sections: - @@ -156,7 +168,6 @@ is divided into following sections: - @@ -174,15 +185,7 @@ is divided into following sections: - - - - - - - - - + @@ -192,38 +195,10 @@ is divided into following sections: - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - @@ -277,7 +252,6 @@ is divided into following sections: - @@ -317,7 +291,6 @@ is divided into following sections: - @@ -358,57 +331,11 @@ is divided into following sections: - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - @@ -416,277 +343,33 @@ is divided into following sections: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No tests executed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + @@ -700,8 +383,7 @@ is divided into following sections: - - + @@ -718,13 +400,10 @@ is divided into following sections: - + Must set JVM to use for profiling in profiler.info.jvm Must set profiler agent JVM arguments in profiler.info.jvmargs.agent - @@ -775,14 +454,13 @@ is divided into following sections: - + - @@ -799,15 +477,13 @@ is divided into following sections: - - + - @@ -834,15 +510,12 @@ is divided into following sections: - - - - - + + @@ -853,8 +526,8 @@ is divided into following sections: - - + + @@ -882,7 +555,7 @@ is divided into following sections: - + - + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + + + + + + java -cp "${run.classpath.with.dist.jar}" ${main.class} + + - + - + - - + + - - - - - - + - + - + To run this application from the command line without Ant, try: java -jar "${dist.jar.resolved}" - - - - - - - - - - - - - - - - - + - - + - - + - - - This target only works when run from inside the NetBeans IDE. + @@ -1112,9 +779,8 @@ is divided into following sections: - + Must select one file in the IDE or set profile.class - This target only works when run from inside the NetBeans IDE. @@ -1122,8 +788,12 @@ is divided into following sections: - - This target only works when run from inside the NetBeans IDE. + + @@ -1135,8 +805,12 @@ is divided into following sections: - - This target only works when run from inside the NetBeans IDE. + + @@ -1158,42 +832,6 @@ is divided into following sections: - - - - - - - - - - - - - - - Must select one file in the IDE or set run.class - - - - - - Must select some files in the IDE or set test.includes - - - - - Must select one file in the IDE or set run.class - - - - - Must select one file in the IDE or set applet.url - - - - - - - - - - - - - - - + - + - @@ -1240,7 +866,7 @@ is divided into following sections: @@ -1283,14 +909,14 @@ is divided into following sections: - + Some tests failed; see details above. @@ -1303,40 +929,39 @@ is divided into following sections: Must select some files in the IDE or set test.includes - + Some tests failed; see details above. - - Must select some files in the IDE or set test.class - Must select some method in the IDE or set test.method - - - - Some tests failed; see details above. - - - + Must select one file in the IDE or set test.class - - - - Must select one file in the IDE or set test.class - Must select some method in the IDE or set test.method - + + + + + + + + + + + + + + + - @@ -1401,12 +1026,9 @@ is divided into following sections: - - - - - - + + + diff --git a/SDK/nbproject/genfiles.properties b/SDK/nbproject/genfiles.properties index 952020f..efac672 100644 --- a/SDK/nbproject/genfiles.properties +++ b/SDK/nbproject/genfiles.properties @@ -1,8 +1,8 @@ build.xml.data.CRC32=4f4bbae4 -build.xml.script.CRC32=cd16bf81 -build.xml.stylesheet.CRC32=8064a381@1.80.1.48 +build.xml.script.CRC32=edafd639 +build.xml.stylesheet.CRC32=28e38971@1.44.1.45 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. nbproject/build-impl.xml.data.CRC32=4f4bbae4 -nbproject/build-impl.xml.script.CRC32=573072ea -nbproject/build-impl.xml.stylesheet.CRC32=830a3534@1.80.1.48 +nbproject/build-impl.xml.script.CRC32=6eb04d1d +nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 diff --git a/SDK/nbproject/project.properties b/SDK/nbproject/project.properties index e813f1a..f7f5cf8 100644 --- a/SDK/nbproject/project.properties +++ b/SDK/nbproject/project.properties @@ -1,9 +1,9 @@ annotation.processing.enabled=true annotation.processing.enabled.in.editor=false -annotation.processing.processor.options= -annotation.processing.processors.list= annotation.processing.run.all.processors=true annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +application.title=SDK +application.vendor=queueit build.classes.dir=${build.dir}/classes build.classes.excludes=**/*.java,**/*.form # This directory is removed when the project is cleaned: @@ -20,26 +20,24 @@ debug.classpath=\ ${run.classpath} debug.test.classpath=\ ${run.test.classpath} -# Files in build.classes.dir which should be excluded from distribution jar -dist.archive.excludes= # This directory is removed when the project is cleaned: dist.dir=dist dist.jar=${dist.dir}/SDK.jar dist.javadoc.dir=${dist.dir}/javadoc +endorsed.classpath= excludes= -file.reference.servlet-api.jar=libs\\servlet-api.jar +file.reference.javax.servlet-api.jar=libs/javax.servlet-api.jar includes=** jar.compress=false javac.classpath=\ - ${file.reference.servlet-api.jar} + ${file.reference.javax.servlet-api.jar} # Space-separated list of extra javac options javac.compilerargs= javac.deprecation=false -javac.external.vm=true javac.processorpath=\ ${javac.classpath} -javac.source=1.8 -javac.target=1.8 +javac.source=1.6 +javac.target=1.6 javac.test.classpath=\ ${javac.classpath}:\ ${build.classes.dir}:\ @@ -64,9 +62,9 @@ platform.active=default_platform run.classpath=\ ${javac.classpath}:\ ${build.classes.dir} -# Space-separated list of JVM arguments used when running the project. -# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. -# To set system properties for unit tests define test-sys-prop.name=value: +# Space-separated list of JVM arguments used when running the project +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value +# or test-sys-prop.name=value to set system properties for unit tests): run.jvmargs= run.test.classpath=\ ${javac.test.classpath}:\ diff --git a/SDK/src/queueit/knownuserv3/sdk/KnownUser.java b/SDK/src/queueit/knownuserv3/sdk/KnownUser.java index e82d1df..3ced801 100644 --- a/SDK/src/queueit/knownuserv3/sdk/KnownUser.java +++ b/SDK/src/queueit/knownuserv3/sdk/KnownUser.java @@ -3,9 +3,12 @@ import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; -import java.time.Instant; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.TimeZone; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -38,7 +41,7 @@ public static RequestValidationResult validateRequestByIntegrationConfig(String String customerId, HttpServletRequest request, HttpServletResponse response, String secretKey) throws Exception { - Map debugEntries = new HashMap<>(); + Map debugEntries = new HashMap(); try { boolean isDebug = getIsDebug(queueitToken, secretKey); @@ -92,7 +95,7 @@ public static RequestValidationResult cancelRequestByLocalConfig( String customerId, HttpServletRequest request, HttpServletResponse response, String secretKey) throws Exception { - Map debugEntries = new HashMap<>(); + Map debugEntries = new HashMap(); try { targetUrl = generateTargetUrl(targetUrl, request); @@ -148,7 +151,7 @@ public static RequestValidationResult resolveQueueRequestByLocalConfig( String customerId, HttpServletRequest request, HttpServletResponse response, String secretKey) throws Exception { - Map debugEntries = new HashMap<>(); + Map debugEntries = new HashMap(); try { targetUrl = generateTargetUrl(targetUrl, request); @@ -240,7 +243,12 @@ private static void setDebugCookie(Map debugEntries, HttpServlet } private static void logMoreRequestDetails(Map debugEntries, HttpServletRequest request) { - debugEntries.put("ServerUtcTime", Instant.now().toString()); + TimeZone tz = TimeZone.getTimeZone("UTC"); + DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); // Quoted "Z" to indicate UTC, no timezone offset + df.setTimeZone(tz); + String nowAsISO = df.format(new Date()); + + debugEntries.put("ServerUtcTime", nowAsISO); debugEntries.put("RequestIP", request.getRemoteAddr()); debugEntries.put("RequestHttpHeader_Via", request.getHeader("via") != null ? request.getHeader("via") : ""); debugEntries.put("RequestHttpHeader_Forwarded", request.getHeader("forwarded") != null ? request.getHeader("forwarded") : ""); @@ -260,23 +268,20 @@ private static boolean getIsDebug(String queueitToken, String secretKey) throws private static String getOriginalUrl(HttpServletRequest request) { return (request.getQueryString() != null) - ? String.join("", request.getRequestURL(), "?", request.getQueryString()) + ? request.getRequestURL().toString() + "?" + request.getQueryString() : request.getRequestURL().toString(); } private static RequestValidationResult handleQueueAction(IntegrationConfigModel matchedConfig, String currentUrlWithoutQueueITToken, CustomerIntegration customerIntegrationInfo, String queueitToken, String customerId, HttpServletRequest request, HttpServletResponse response, String secretKey, Map debugEntries) throws Exception { String targetUrl; - switch (matchedConfig.RedirectLogic) { - case "ForecedTargetUrl": // suuport for typo (fall through) - case "ForcedTargetUrl": - targetUrl = matchedConfig.ForcedTargetUrl; - break; - case "EventTargetUrl": - targetUrl = ""; - break; - default: - targetUrl = generateTargetUrl(currentUrlWithoutQueueITToken, request); - break; + + if ("ForecedTargetUrl".equals(matchedConfig.RedirectLogic) || // support for typo + "ForcedTargetUrl".equals(matchedConfig.RedirectLogic)) { + targetUrl = matchedConfig.ForcedTargetUrl; + } else if ("EventTargetUrl".equals(matchedConfig.RedirectLogic)) { + targetUrl = ""; + } else { + targetUrl = generateTargetUrl(currentUrlWithoutQueueITToken, request); } QueueEventConfig queueConfig = new QueueEventConfig(); @@ -315,8 +320,8 @@ private static String generateTargetUrl(String originalTargetUrl, HttpServletReq return !isQueueAjaxCall(request) ? originalTargetUrl : URLDecoder.decode(request.getHeader(QueueITAjaxHeaderKey), "UTF-8"); - } catch (UnsupportedEncodingException e) { - } + } catch (UnsupportedEncodingException e) { + } return ""; } diff --git a/SDK/src/queueit/knownuserv3/sdk/QueueITHelpers.java b/SDK/src/queueit/knownuserv3/sdk/QueueITHelpers.java index 4150d4c..6cd17ab 100644 --- a/SDK/src/queueit/knownuserv3/sdk/QueueITHelpers.java +++ b/SDK/src/queueit/knownuserv3/sdk/QueueITHelpers.java @@ -1,5 +1,7 @@ package queueit.knownuserv3.sdk; +import java.util.AbstractCollection; +import java.util.Iterator; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; @@ -26,6 +28,18 @@ public static boolean isLong(String value) { return false; } } + + public static String join(String delimiter, AbstractCollection s) { + if (s == null || s.isEmpty()) { + return ""; + } + Iterator iter = s.iterator(); + StringBuilder builder = new StringBuilder(iter.next()); + while (iter.hasNext()) { + builder.append(delimiter).append(iter.next()); + } + return builder.toString(); + } } class QueueParameterHelper { @@ -53,38 +67,28 @@ public static QueueUrlParams extractQueueParams(String queueitToken) { for (String paramKeyValue : paramList) { String[] keyValueArr = paramKeyValue.split(KeyValueSeparatorChar); - switch (keyValueArr[0]) { - case TimeStampKey: - if (Utils.isLong(keyValueArr[1])) { - result.setTimeStamp(Long.parseLong(keyValueArr[1])); - } else { - result.setTimeStamp(0); - } - break; - case CookieValidityMinutesKey: { - if (Utils.isInteger(keyValueArr[1])) { - result.setCookieValidityMinutes(Integer.parseInt(keyValueArr[1])); - } else { - result.setCookieValidityMinutes(null); - } - break; + if (TimeStampKey.equals(keyValueArr[0])) { + if (Utils.isLong(keyValueArr[1])) { + result.setTimeStamp(Long.parseLong(keyValueArr[1])); + } else { + result.setTimeStamp(0); } - - case EventIdKey: - result.setEventId(keyValueArr[1]); - break; - case QueueIdKey: - result.setQueueId(keyValueArr[1]); - break; - case ExtendableCookieKey: - result.setExtendableCookie(Boolean.parseBoolean(keyValueArr[1])); - break; - case HashKey: - result.setHashCode(keyValueArr[1]); - break; - case RedirectTypeKey: - result.setRedirectType(keyValueArr[1]); - break; + } else if (CookieValidityMinutesKey.equals(keyValueArr[0])) { + if (Utils.isInteger(keyValueArr[1])) { + result.setCookieValidityMinutes(Integer.parseInt(keyValueArr[1])); + } else { + result.setCookieValidityMinutes(null); + } + } else if (EventIdKey.equals(keyValueArr[0])) { + result.setEventId(keyValueArr[1]); + } else if (QueueIdKey.equals(keyValueArr[0])) { + result.setQueueId(keyValueArr[1]); + } else if (ExtendableCookieKey.equals(keyValueArr[0])) { + result.setExtendableCookie(Boolean.parseBoolean(keyValueArr[1])); + } else if (HashKey.equals(keyValueArr[0])) { + result.setHashCode(keyValueArr[1]); + } else if (RedirectTypeKey.equals(keyValueArr[0])) { + result.setRedirectType(keyValueArr[1]); } } String queueITTokenWithoutHash = result.getQueueITToken().replace(KeyValueSeparatorGroupChar + HashKey + KeyValueSeparatorChar + result.getHashCode(), ""); diff --git a/SDK/src/queueit/knownuserv3/sdk/RequestValidationResult.java b/SDK/src/queueit/knownuserv3/sdk/RequestValidationResult.java index 843a6ee..4fdba52 100644 --- a/SDK/src/queueit/knownuserv3/sdk/RequestValidationResult.java +++ b/SDK/src/queueit/knownuserv3/sdk/RequestValidationResult.java @@ -53,7 +53,7 @@ public String getAjaxRedirectUrl() { if (!Utils.isNullOrWhiteSpace(redirectUrl)) { return URLEncoder.encode(redirectUrl, "UTF-8"); } - } catch (UnsupportedEncodingException e) { + } catch (UnsupportedEncodingException e) { } return ""; } diff --git a/SDK/src/queueit/knownuserv3/sdk/UserInQueueService.java b/SDK/src/queueit/knownuserv3/sdk/UserInQueueService.java index 374c640..8609bfc 100644 --- a/SDK/src/queueit/knownuserv3/sdk/UserInQueueService.java +++ b/SDK/src/queueit/knownuserv3/sdk/UserInQueueService.java @@ -2,7 +2,6 @@ import java.net.URLEncoder; import java.util.ArrayList; -import java.util.Objects; interface IUserInQueueService { @@ -23,15 +22,14 @@ void extendQueueCookie( String eventId, int cookieValidityMinutes, String cookieDomain, - String secretKey - ); + String secretKey); RequestValidationResult getIgnoreActionResult(); } class UserInQueueService implements IUserInQueueService { - public static final String SDK_VERSION = "3.5.1"; + public static final String SDK_VERSION = "3.5.2"; private final IUserInQueueStateRepository _userInQueueStateRepository; public UserInQueueService(IUserInQueueStateRepository queueStateRepository) { @@ -44,8 +42,7 @@ public RequestValidationResult validateQueueRequest( String queueitToken, QueueEventConfig config, String customerId, - String secretKey - ) throws Exception { + String secretKey) throws Exception { StateInfo stateInfo = this._userInQueueStateRepository.getState(config.getEventId(), config.getCookieValidityMinute(), secretKey, true); if (stateInfo.isValid()) { if (stateInfo.isStateExtendable() && config.getExtendCookieValidity()) { @@ -77,11 +74,11 @@ private RequestValidationResult getQueueITTokenValidationResult( String customerId, String secretKey) throws Exception { String calculatedHash = HashHelper.generateSHA256Hash(secretKey, queueParams.getQueueITTokenWithoutHash()); - if (!Objects.equals(calculatedHash.toUpperCase(), queueParams.getHashCode().toUpperCase())) { + if (!calculatedHash.toUpperCase().equals(queueParams.getHashCode().toUpperCase())) { return getVaidationErrorResult(customerId, targetUrl, config, queueParams, "hash"); } - if (!Objects.equals(queueParams.getEventId().toUpperCase(), eventId.toUpperCase())) { + if (!eventId.toUpperCase().equals(queueParams.getEventId().toUpperCase())) { return getVaidationErrorResult(customerId, targetUrl, config, queueParams, "eventid"); } @@ -141,7 +138,7 @@ private String getQueryString( int configVersion, String culture, String layoutName) throws Exception { - ArrayList queryStringList = new ArrayList<>(); + ArrayList queryStringList = new ArrayList(); queryStringList.add("c=" + URLEncoder.encode(customerId, "UTF-8")); queryStringList.add("e=" + URLEncoder.encode(eventId, "UTF-8")); queryStringList.add("ver=v3-java-" + URLEncoder.encode(SDK_VERSION, "UTF-8")); @@ -155,7 +152,7 @@ private String getQueryString( queryStringList.add("l=" + URLEncoder.encode(layoutName, "UTF-8")); } - return String.join("&", queryStringList); + return Utils.join("&", queryStringList); } @Override diff --git a/SDK/src/queueit/knownuserv3/sdk/UserInQueueStateCookieRepository.java b/SDK/src/queueit/knownuserv3/sdk/UserInQueueStateCookieRepository.java index f186897..759b513 100644 --- a/SDK/src/queueit/knownuserv3/sdk/UserInQueueStateCookieRepository.java +++ b/SDK/src/queueit/knownuserv3/sdk/UserInQueueStateCookieRepository.java @@ -1,7 +1,6 @@ package queueit.knownuserv3.sdk; import java.util.HashMap; -import java.util.Objects; interface IUserInQueueStateRepository { @@ -20,15 +19,13 @@ StateInfo getState(String eventId, void cancelQueueCookie( String eventId, - String cookieDomain - ); + String cookieDomain); void reissueQueueCookie( String eventId, int cookieValidityMinutes, String cookieDomain, - String secretKey - ); + String secretKey); } class UserInQueueStateCookieRepository implements IUserInQueueStateRepository { @@ -40,7 +37,6 @@ class UserInQueueStateCookieRepository implements IUserInQueueStateRepository { private static final String REDIRECT_TYPE_KEY = "RedirectType"; private static final String EVENT_ID_KEY = "EventId"; private static final String FIXED_COOKIE_VALIDITY_MINUTES_KEY = "FixedValidityMins"; - private final ICookieManager cookieManager; public static String getCookieKey(String eventId) { @@ -117,7 +113,7 @@ private Boolean isCookieValid( + cookieNameValueMap.get(REDIRECT_TYPE_KEY) + cookieNameValueMap.get(ISSUETIME_KEY)); - if (!Objects.equals(hashValue, cookieNameValueMap.get(HASH_KEY))) { + if (!hashValue.equals(cookieNameValueMap.get(HASH_KEY))) { return false; } if (!eventId.toLowerCase().equals(cookieNameValueMap.get(EVENT_ID_KEY).toLowerCase())) { @@ -143,7 +139,7 @@ private Boolean isCookieValid( } public static HashMap getCookieNameValueMap(String cookieValue) { - HashMap result = new HashMap<>(); + HashMap result = new HashMap(); String[] cookieNameValues = cookieValue.split("&"); for (int i = 0; i < cookieNameValues.length; ++i) { @@ -172,7 +168,6 @@ public StateInfo getState(String eventId, int cookieValidityMinutes, String secr cookieNameValueMap.get(FIXED_COOKIE_VALIDITY_MINUTES_KEY), cookieNameValueMap.get(REDIRECT_TYPE_KEY)); } catch (NumberFormatException ex) { - } return new StateInfo(false, null, null, null); } @@ -190,8 +185,7 @@ public void reissueQueueCookie( String eventId, int cookieValidityMinutes, String cookieDomain, - String secretKey - ) { + String secretKey) { try { String cookieKey = getCookieKey(eventId); String cookieValueOld = this.cookieManager.getCookie(cookieKey); @@ -226,8 +220,7 @@ class StateInfo { private final String fixedCookieValidityMinutes; public StateInfo(boolean isValid, String queueid, String fixedCookieValidityMinutes, - String redirectType - ) { + String redirectType) { this.isValid = isValid; this.queueId = queueid; this.fixedCookieValidityMinutes = fixedCookieValidityMinutes; @@ -249,5 +242,4 @@ public String getRedirectType() { public boolean isStateExtendable() { return this.isValid && Utils.isNullOrWhiteSpace(this.fixedCookieValidityMinutes); } - } diff --git a/SDK/src/queueit/knownuserv3/sdk/integrationconfig/IntegrationEvaluator.java b/SDK/src/queueit/knownuserv3/sdk/integrationconfig/IntegrationEvaluator.java index 5246cab..93c0509 100644 --- a/SDK/src/queueit/knownuserv3/sdk/integrationconfig/IntegrationEvaluator.java +++ b/SDK/src/queueit/knownuserv3/sdk/integrationconfig/IntegrationEvaluator.java @@ -1,7 +1,8 @@ package queueit.knownuserv3.sdk.integrationconfig; +import java.net.MalformedURLException; +import java.net.URL; import javax.servlet.http.Cookie; -import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.servlet.http.HttpServletRequest; @@ -20,10 +21,11 @@ public IntegrationConfigModel getMatchedIntegrationConfig( CustomerIntegration customerIntegration, String currentPageUrl, HttpServletRequest request) throws Exception { - - if(request == null) - throw new Exception("request is null"); - + + if (request == null) { + throw new Exception("request is null"); + } + for (IntegrationConfigModel integration : customerIntegration.Integrations) { for (TriggerModel trigger : integration.Triggers) { if (evaluateTrigger(trigger, currentPageUrl, request)) { @@ -56,17 +58,16 @@ private boolean evaluateTrigger( } private boolean evaluateTriggerPart(TriggerPart triggerPart, String currentPageUrl, HttpServletRequest request) { - switch (triggerPart.ValidatorType) { - case ValidatorType.URL_VALIDATOR: - return UrlValidatorHelper.evaluate(triggerPart, currentPageUrl); - case ValidatorType.COOKIE_VALIDATOR: - return CookieValidatorHelper.evaluate(triggerPart, request.getCookies()); - case ValidatorType.USERAGENT_VALIDATOR: - return UserAgentValidatorHelper.evaluate(triggerPart, request.getHeader("User-Agent")); - case ValidatorType.HTTPHEADER_VALIDATOR: - return HttpHeaderValidatorHelper.evaluate(triggerPart, request); - default: - return false; + if (ValidatorType.URL_VALIDATOR.equals(triggerPart.ValidatorType)) { + return UrlValidatorHelper.evaluate(triggerPart, currentPageUrl); + } else if (ValidatorType.COOKIE_VALIDATOR.equals(triggerPart.ValidatorType)) { + return CookieValidatorHelper.evaluate(triggerPart, request.getCookies()); + } else if (ValidatorType.USERAGENT_VALIDATOR.equals(triggerPart.ValidatorType)) { + return UserAgentValidatorHelper.evaluate(triggerPart, request.getHeader("User-Agent")); + } else if (ValidatorType.HTTPHEADER_VALIDATOR.equals(triggerPart.ValidatorType)) { + return HttpHeaderValidatorHelper.evaluate(triggerPart, request); + } else { + return false; } } } @@ -84,38 +85,23 @@ public static boolean evaluate(TriggerPart triggerPart, String url) { } private static String getUrlPart(TriggerPart triggerPart, String url) { - switch (triggerPart.UrlPart) { - case UrlPartType.PAGE_PATH: - return getPathFromUrl(url); - case UrlPartType.PAGE_URL: - return url; - case UrlPartType.HOST_NAME: - return getHostNameFromUrl(url); - default: - return ""; + if (UrlPartType.PAGE_URL.equals(triggerPart.UrlPart)) { + return url; } - } - private static String getHostNameFromUrl(String url) { - return getMatchFromUrl(url, - "^(([^:/\\?#]+):)?(//(?[^/\\?#]*))?([^\\?#]*)(\\?([^#]*))?(#(.*))?", - "hostname"); - } - - private static String getPathFromUrl(String url) { - return getMatchFromUrl(url, - "^(([^:/\\?#]+):)?(//([^/\\?#]*))?(?[^\\?#]*)(\\?([^#]*))?(#(.*))?", - "path"); - } + try { + URL oUrl = new URL(url); - private static String getMatchFromUrl(String url, String urlMatcher, String matchName) { - Pattern pattern = Pattern.compile(urlMatcher); - Matcher matcher = pattern.matcher(url); - if (!matcher.matches()) { + if (UrlPartType.PAGE_PATH.equals(triggerPart.UrlPart)) { + return oUrl.getPath(); + } else if (UrlPartType.HOST_NAME.equals(triggerPart.UrlPart)) { + return oUrl.getHost(); + } else { + return ""; + } + } catch (MalformedURLException ex) { return ""; } - - return matcher.group(matchName); } } @@ -131,9 +117,10 @@ public static boolean evaluate(TriggerPart triggerPart, Cookie[] cookieCollectio } private static String getCookie(String cookieName, Cookie[] cookieCollection) { - if(cookieCollection == null) + if (cookieCollection == null) { return ""; - + } + for (Cookie cookie : cookieCollection) { if (cookie.getName().equals(cookieName)) { return cookie.getValue(); @@ -156,49 +143,47 @@ public static boolean evaluate(TriggerPart triggerPart, String userAgent) { } final class HttpHeaderValidatorHelper { - - public static boolean evaluate(TriggerPart triggerPart, HttpServletRequest request) - { + + public static boolean evaluate(TriggerPart triggerPart, HttpServletRequest request) { return ComparisonOperatorHelper.evaluate(triggerPart.Operator, - triggerPart.IsNegative, - triggerPart.IsIgnoreCase, - request.getHeader(triggerPart.HttpHeaderName), - triggerPart.ValueToCompare, - triggerPart.ValuesToCompare); + triggerPart.IsNegative, + triggerPart.IsIgnoreCase, + request.getHeader(triggerPart.HttpHeaderName), + triggerPart.ValueToCompare, + triggerPart.ValuesToCompare); } } final class ComparisonOperatorHelper { public static boolean evaluate( - String opt, - boolean isNegative, - boolean isIgnoreCase, - String value, - String valueToCompare, + String opt, + boolean isNegative, + boolean isIgnoreCase, + String value, + String valueToCompare, String[] valuesToCompare) { - + value = (value != null) ? value : ""; valueToCompare = (valueToCompare != null) ? valueToCompare : ""; valuesToCompare = (valuesToCompare != null) ? valuesToCompare : new String[0]; - - switch (opt) { - case ComparisonOperatorType.EQUALS: - return equals(value, valueToCompare, isNegative, isIgnoreCase); - case ComparisonOperatorType.CONTAINS: - return contains(value, valueToCompare, isNegative, isIgnoreCase); - case ComparisonOperatorType.STARTS_WITH: - return startsWith(value, valueToCompare, isNegative, isIgnoreCase); - case ComparisonOperatorType.ENDS_WITH: - return endsWith(value, valueToCompare, isNegative, isIgnoreCase); - case ComparisonOperatorType.MATCHES_WITH: - return matchesWith(value, valueToCompare, isNegative, isIgnoreCase); - case ComparisonOperatorType.EQUALS_ANY: - return equalsAny(value, valuesToCompare, isNegative, isIgnoreCase); - case ComparisonOperatorType.CONTAINS_ANY: - return containsAny(value, valuesToCompare, isNegative, isIgnoreCase); - default: - return false; + + if (ComparisonOperatorType.EQUALS.equals(opt)) { + return equals(value, valueToCompare, isNegative, isIgnoreCase); + } else if (ComparisonOperatorType.CONTAINS.equals(opt)) { + return contains(value, valueToCompare, isNegative, isIgnoreCase); + } else if (ComparisonOperatorType.STARTS_WITH.equals(opt)) { + return startsWith(value, valueToCompare, isNegative, isIgnoreCase); + } else if (ComparisonOperatorType.ENDS_WITH.equals(opt)) { + return endsWith(value, valueToCompare, isNegative, isIgnoreCase); + } else if (ComparisonOperatorType.MATCHES_WITH.equals(opt)) { + return matchesWith(value, valueToCompare, isNegative, isIgnoreCase); + } else if (ComparisonOperatorType.EQUALS_ANY.equals(opt)) { + return equalsAny(value, valuesToCompare, isNegative, isIgnoreCase); + } else if (ComparisonOperatorType.CONTAINS_ANY.equals(opt)) { + return containsAny(value, valuesToCompare, isNegative, isIgnoreCase); + } else { + return false; } } @@ -282,19 +267,21 @@ private static boolean matchesWith(String value, String valueToCompare, boolean return evaluation; } } - + private static boolean equalsAny(String value, String[] valuesToCompare, boolean isNegative, boolean isIgnoreCase) { for (String valueToCompare : valuesToCompare) { - if(equals(value, valueToCompare, false, isIgnoreCase)) + if (equals(value, valueToCompare, false, isIgnoreCase)) { return !isNegative; + } } return isNegative; } - + private static boolean containsAny(String value, String[] valuesToCompare, boolean isNegative, boolean isIgnoreCase) { for (String valueToCompare : valuesToCompare) { - if(contains(value, valueToCompare, false, isIgnoreCase)) + if (contains(value, valueToCompare, false, isIgnoreCase)) { return !isNegative; + } } return isNegative; } diff --git a/SDK/src/queueit/knownuserv3/sdk/integrationconfig/TriggerPart.java b/SDK/src/queueit/knownuserv3/sdk/integrationconfig/TriggerPart.java index 2dfe5af..d5c13d5 100644 --- a/SDK/src/queueit/knownuserv3/sdk/integrationconfig/TriggerPart.java +++ b/SDK/src/queueit/knownuserv3/sdk/integrationconfig/TriggerPart.java @@ -12,6 +12,6 @@ public class TriggerPart { public String UrlPart; //CookieValidator public String CookieName; - //HttpHeaderValidator + //HttpHeaderValidator public String HttpHeaderName; } \ No newline at end of file diff --git a/SDK/test/queueit/knownuserv3/sdk/KnownUserTest.java b/SDK/test/queueit/knownuserv3/sdk/KnownUserTest.java index bb54156..afbd31e 100644 --- a/SDK/test/queueit/knownuserv3/sdk/KnownUserTest.java +++ b/SDK/test/queueit/knownuserv3/sdk/KnownUserTest.java @@ -25,7 +25,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import javax.servlet.http.HttpUpgradeHandler; import javax.servlet.http.Part; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -39,14 +38,14 @@ public class KnownUserTest { class UserInQueueServiceMock implements IUserInQueueService { - public ArrayList> validateQueueRequestCalls = new ArrayList<>(); - public ArrayList> validateCancelRequestCalls = new ArrayList<>(); - public ArrayList> extendQueueCookieCalls = new ArrayList<>(); - public ArrayList> getIgnoreActionResultCalls = new ArrayList<>(); + public ArrayList> validateQueueRequestCalls = new ArrayList(); + public ArrayList> validateCancelRequestCalls = new ArrayList(); + public ArrayList> extendQueueCookieCalls = new ArrayList(); + public ArrayList> getIgnoreActionResultCalls = new ArrayList(); @Override public RequestValidationResult validateQueueRequest(String targetUrl, String queueitToken, QueueEventConfig config, String customerId, String secretKey) throws Exception { - ArrayList args = new ArrayList<>(); + ArrayList args = new ArrayList(); args.add(targetUrl); args.add(queueitToken); args.add(config.getCookieDomain() + ":" @@ -71,7 +70,7 @@ public RequestValidationResult validateCancelRequest( String customerId, String secretKey) throws Exception { - ArrayList args = new ArrayList<>(); + ArrayList args = new ArrayList(); args.add(targetUrl); args.add(config.getCookieDomain() + ":" + config.getEventId() + ":" @@ -86,7 +85,7 @@ public RequestValidationResult validateCancelRequest( @Override public void extendQueueCookie(String eventId, int cookieValidityMinute, String cookieDomain, String secretKey) { - ArrayList args = new ArrayList<>(); + ArrayList args = new ArrayList(); args.add(eventId); args.add(Integer.toString(cookieValidityMinute)); args.add(cookieDomain); @@ -96,7 +95,7 @@ public void extendQueueCookie(String eventId, int cookieValidityMinute, String c @Override public RequestValidationResult getIgnoreActionResult() { - getIgnoreActionResultCalls.add(new ArrayList<>()); + getIgnoreActionResultCalls.add(new ArrayList()); return new RequestValidationResult("Ignore", "", "", "", ""); } } @@ -184,18 +183,18 @@ public void cancelRequestByLocalConfigDebugCookieLoggingTest() throws Exception assertTrue(responseMock.addedCookies.get(0).getName().equals(KnownUser.QueueITDebugKey)); String decodedCookieValue = URLDecoder.decode(responseMock.addedCookies.get(0).getValue(), "UTF-8"); assertTrue(decodedCookieValue.contains("OriginalUrl=requestUrl")); - assertTrue(decodedCookieValue.contains("|CancelConfig=EventId:eventid")); + assertTrue(decodedCookieValue.contains("CancelConfig=EventId:eventid")); assertTrue(decodedCookieValue.contains("&Version:1")); assertTrue(decodedCookieValue.contains("&QueueDomain:queuedomain")); assertTrue(decodedCookieValue.contains("&CookieDomain:cookiedomain")); - assertTrue(decodedCookieValue.contains("|QueueitToken=" + queueittoken)); - assertTrue(decodedCookieValue.contains("|TargetUrl=url")); - assertTrue(decodedCookieValue.contains("|RequestIP=80.35.35.34")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_Via=1.1 example.com")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_Forwarded=for=192.0.2.60;proto=http;by=203.0.113.43")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedFor=129.78.138.66, 129.78.64.103")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedHost=en.wikipedia.org:8080")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedProto=https")); + assertTrue(decodedCookieValue.contains("QueueitToken=" + queueittoken)); + assertTrue(decodedCookieValue.contains("TargetUrl=url")); + assertTrue(decodedCookieValue.contains("RequestIP=80.35.35.34")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_Via=1.1 example.com")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_Forwarded=for=192.0.2.60;proto=http;by=203.0.113.43")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedFor=129.78.138.66, 129.78.64.103")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedHost=en.wikipedia.org:8080")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedProto=https")); } @Test @@ -633,7 +632,7 @@ public void resolveQueueRequestByLocalConfigDebugCookieLoggingTest() throws Exce assertTrue(responseMock.addedCookies.get(0).getName().equals(KnownUser.QueueITDebugKey)); String decodedCookieValue = URLDecoder.decode(responseMock.addedCookies.get(0).getValue(), "UTF-8"); assertTrue(decodedCookieValue.contains("OriginalUrl=requestUrl")); - assertTrue(decodedCookieValue.contains("|QueueConfig=EventId:eventId")); + assertTrue(decodedCookieValue.contains("QueueConfig=EventId:eventId")); assertTrue(decodedCookieValue.contains("&Version:12")); assertTrue(decodedCookieValue.contains("&QueueDomain:queueDomain")); assertTrue(decodedCookieValue.contains("&CookieDomain:cookieDomain")); @@ -641,14 +640,14 @@ public void resolveQueueRequestByLocalConfigDebugCookieLoggingTest() throws Exce assertTrue(decodedCookieValue.contains("&CookieValidityMinute:10")); assertTrue(decodedCookieValue.contains("&LayoutName:layoutName")); assertTrue(decodedCookieValue.contains("&Culture:culture")); - assertTrue(decodedCookieValue.contains("|QueueitToken=" + queueittoken)); - assertTrue(decodedCookieValue.contains("|TargetUrl=targetUrl")); - assertTrue(decodedCookieValue.contains("|RequestIP=80.35.35.34")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_Via=1.1 example.com")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_Forwarded=for=192.0.2.60;proto=http;by=203.0.113.43")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedFor=129.78.138.66, 129.78.64.103")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedHost=en.wikipedia.org:8080")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedProto=https")); + assertTrue(decodedCookieValue.contains("QueueitToken=" + queueittoken)); + assertTrue(decodedCookieValue.contains("TargetUrl=targetUrl")); + assertTrue(decodedCookieValue.contains("RequestIP=80.35.35.34")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_Via=1.1 example.com")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_Forwarded=for=192.0.2.60;proto=http;by=203.0.113.43")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedFor=129.78.138.66, 129.78.64.103")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedHost=en.wikipedia.org:8080")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedProto=https")); } @Test @@ -867,9 +866,9 @@ public void validateRequestByIntegrationConfigDebugCookieLoggingTest() throws Ex assertTrue(responseMock.addedCookies.get(0).getName().equals(KnownUser.QueueITDebugKey)); String decodedCookieValue = URLDecoder.decode(responseMock.addedCookies.get(0).getValue(), "UTF-8"); assertTrue(decodedCookieValue.contains("OriginalUrl=requestUrl")); - assertTrue(decodedCookieValue.contains("|PureUrl=http://test.com?event1=true")); - assertTrue(decodedCookieValue.contains("|ConfigVersion=3")); - assertTrue(decodedCookieValue.contains("|QueueConfig=EventId:event1")); + assertTrue(decodedCookieValue.contains("PureUrl=http://test.com?event1=true")); + assertTrue(decodedCookieValue.contains("ConfigVersion=3")); + assertTrue(decodedCookieValue.contains("QueueConfig=EventId:event1")); assertTrue(decodedCookieValue.contains("&Version:3")); assertTrue(decodedCookieValue.contains("&QueueDomain:knownusertest.queue-it.net")); assertTrue(decodedCookieValue.contains("&CookieDomain:.test.com")); @@ -877,9 +876,9 @@ public void validateRequestByIntegrationConfigDebugCookieLoggingTest() throws Ex assertTrue(decodedCookieValue.contains("&CookieValidityMinute:20")); assertTrue(decodedCookieValue.contains("&LayoutName:Christmas Layout by Queue-it")); assertTrue(decodedCookieValue.contains("&Culture:da-DK")); - assertTrue(decodedCookieValue.contains("|QueueitToken=" + queueittoken)); - assertTrue(decodedCookieValue.contains("|TargetUrl=http://test.com?event1=true")); - assertTrue(decodedCookieValue.contains("|MatchedConfig=event1action")); + assertTrue(decodedCookieValue.contains("QueueitToken=" + queueittoken)); + assertTrue(decodedCookieValue.contains("TargetUrl=http://test.com?event1=true")); + assertTrue(decodedCookieValue.contains("MatchedConfig=event1action")); } @Test @@ -932,15 +931,15 @@ public void validateRequestByIntegrationConfigNotMatchDebugCookieLoggingTest() t assertTrue(responseMock.addedCookies.get(0).getName().equals(KnownUser.QueueITDebugKey)); String decodedCookieValue = URLDecoder.decode(responseMock.addedCookies.get(0).getValue(), "UTF-8"); assertTrue(decodedCookieValue.contains("OriginalUrl=requestUrl")); - assertTrue(decodedCookieValue.contains("|PureUrl=http://test.com?event1=true")); + assertTrue(decodedCookieValue.contains("PureUrl=http://test.com?event1=true")); assertTrue(decodedCookieValue.contains("ConfigVersion=3")); - assertTrue(decodedCookieValue.contains("|QueueitToken=" + queueittoken)); - assertTrue(decodedCookieValue.contains("|RequestIP=80.35.35.34")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_Via=1.1 example.com")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_Forwarded=for=192.0.2.60;proto=http;by=203.0.113.43")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedFor=129.78.138.66, 129.78.64.103")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedHost=en.wikipedia.org:8080")); - assertTrue(decodedCookieValue.contains("|RequestHttpHeader_XForwardedProto=https")); + assertTrue(decodedCookieValue.contains("QueueitToken=" + queueittoken)); + assertTrue(decodedCookieValue.contains("RequestIP=80.35.35.34")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_Via=1.1 example.com")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_Forwarded=for=192.0.2.60;proto=http;by=203.0.113.43")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedFor=129.78.138.66, 129.78.64.103")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedHost=en.wikipedia.org:8080")); + assertTrue(decodedCookieValue.contains("RequestHttpHeader_XForwardedProto=https")); } @Test @@ -1366,11 +1365,6 @@ public HttpSession getSession() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } - @Override - public String changeSessionId() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - @Override public boolean isRequestedSessionIdValid() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -1416,11 +1410,6 @@ public Part getPart(String string) throws IOException, ServletException { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } - @Override - public T upgrade(Class type) throws IOException, ServletException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - @Override public Object getAttribute(String string) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -1446,11 +1435,6 @@ public int getContentLength() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } - @Override - public long getContentLengthLong() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - @Override public String getContentType() { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -1609,7 +1593,7 @@ public DispatcherType getDispatcherType() { class HttpServletResponseMock implements HttpServletResponse { - ArrayList addedCookies = new ArrayList<>(); + ArrayList addedCookies = new ArrayList(); @Override public void addCookie(Cookie cookie) { @@ -1746,11 +1730,6 @@ public void setContentLength(int i) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } - @Override - public void setContentLengthLong(long l) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - @Override public void setContentType(String string) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -1803,11 +1782,11 @@ public static String generateToken( String eventId, String secretKey) throws Exception { - ArrayList paramList = new ArrayList<>(); + ArrayList paramList = new ArrayList(); paramList.add(QueueParameterHelper.EventIdKey + QueueParameterHelper.KeyValueSeparatorChar + eventId); paramList.add(QueueParameterHelper.RedirectTypeKey + QueueParameterHelper.KeyValueSeparatorChar + "debug"); - String tokenWithoutHash = String.join(QueueParameterHelper.KeyValueSeparatorGroupChar, paramList); + String tokenWithoutHash = Utils.join(QueueParameterHelper.KeyValueSeparatorGroupChar, paramList); String hash = HashHelper.generateSHA256Hash(secretKey, tokenWithoutHash); String token = tokenWithoutHash + QueueParameterHelper.KeyValueSeparatorGroupChar + QueueParameterHelper.HashKey + QueueParameterHelper.KeyValueSeparatorChar + hash; return token; diff --git a/SDK/test/queueit/knownuserv3/sdk/UrlParameterProviderTest.java b/SDK/test/queueit/knownuserv3/sdk/UrlParameterProviderTest.java index f5eec79..f27b4ee 100644 --- a/SDK/test/queueit/knownuserv3/sdk/UrlParameterProviderTest.java +++ b/SDK/test/queueit/knownuserv3/sdk/UrlParameterProviderTest.java @@ -1,6 +1,5 @@ package queueit.knownuserv3.sdk; -import java.util.Objects; import static org.junit.Assert.assertTrue; import org.junit.Test; @@ -16,7 +15,7 @@ public void TryExtractQueueParams_Test() { assertTrue(queueParameter.getCookieValidityMinutes() == 10); assertTrue(queueParameter.getExtendableCookie() == false); assertTrue("218b734e-d5be-4b60-ad66-9b1b326266e2".equals(queueParameter.getHashCode())); - assertTrue(Objects.equals(queueParameter.getQueueITToken(), queueitToken)); + assertTrue(queueitToken.equals(queueParameter.getQueueITToken())); assertTrue("ts_1480593661~cv_10~ce_false~q_944c1f44-60dd-4e37-aabc-f3e4bb1c8895~c_customerid~e_eventid~rt_disabled".equals(queueParameter.getQueueITTokenWithoutHash())); } @@ -30,6 +29,6 @@ public void TryExtractQueueParams_NotValidFormat_Test() { assertTrue(queueParameter.getCookieValidityMinutes() == null); assertTrue(queueParameter.getExtendableCookie() == false); assertTrue("".equals(queueParameter.getHashCode())); - assertTrue(Objects.equals(queueParameter.getQueueITToken(), queueitToken)); + assertTrue(queueitToken.equals(queueParameter.getQueueITToken())); } } diff --git a/SDK/test/queueit/knownuserv3/sdk/UserInQueueServiceTest.java b/SDK/test/queueit/knownuserv3/sdk/UserInQueueServiceTest.java index 11e165c..1d1c6ac 100644 --- a/SDK/test/queueit/knownuserv3/sdk/UserInQueueServiceTest.java +++ b/SDK/test/queueit/knownuserv3/sdk/UserInQueueServiceTest.java @@ -24,7 +24,7 @@ public void validateQueueRequest_ValidState_ExtendableCookie_NoCookieExtensionFr config.setCookieValidityMinute(10); config.setExtendCookieValidity(false); - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isStoreWasCalled", false); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { @@ -35,9 +35,9 @@ public void cancelQueueCookie(String eventId, String cookieDomain) { } @Override - public void store(String eventId, String queueId,Integer fixedCookieValidityMinutes, String cookieDomainString, - String redirectType, String customerSecretKey) throws Exception { - conditions.replace("isStoreWasCalled", true); + public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomainString, + String redirectType, String customerSecretKey) throws Exception { + conditions.put("isStoreWasCalled", true); } @Override @@ -69,12 +69,13 @@ public void validateQueueRequest_ValidState_ExtendableCookie_CookieExtensionFrom config.setCookieValidityMinute(10); config.setExtendCookieValidity(true); config.setCookieDomain(".testdomain.com"); - HashMap> callInfo = new HashMap<>(); - callInfo.put("firstCall", new HashMap<>()); + final HashMap> callInfo = new HashMap(); + callInfo.put("firstCall", new HashMap()); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - HashMap info = new HashMap<>(); + HashMap info = new HashMap(); info.put("eventId", eventId); info.put("fixedCookieValidityMinutes", fixedCookieValidityMinutes); info.put("redirectType", redirectType); @@ -122,14 +123,15 @@ public void validateQueueRequest_ValidState_NoExtendableCookie_DoNotRedirect_DoN config.setCookieValidityMinute(10); config.setExtendCookieValidity(true); - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isStoreWasCalled", false); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - HashMap info = new HashMap<>(); - conditions.replace("isStoreWasCalled", true); + HashMap info = new HashMap(); + conditions.put("isStoreWasCalled", true); } @Override @@ -165,10 +167,11 @@ public void ValidateQueueRequest_NoCookie_TampredToken_RedirectToErrorPageWithHa config.setExtendCookieValidity(false); config.setVersion(100); - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isStoreWasCalled", false); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void cancelQueueCookie(String eventId, String cookieDomain) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -176,7 +179,7 @@ public void cancelQueueCookie(String eventId, String cookieDomain) { @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - conditions.replace("isStoreWasCalled", true); + conditions.put("isStoreWasCalled", true); } @Override @@ -229,10 +232,11 @@ public void ValidateQueueRequest_NoCookie_ExpiredTimeStampInToken_RedirectToErro config.setVersion(100); String customerKey = "4e1db821-a825-49da-acd0-5d376f2068db"; - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isStoreWasCalled", false); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void cancelQueueCookie(String eventId, String cookieDomain) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -240,7 +244,7 @@ public void cancelQueueCookie(String eventId, String cookieDomain) { @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - conditions.replace("isStoreWasCalled", true); + conditions.put("isStoreWasCalled", true); } @Override @@ -293,10 +297,11 @@ public void ValidateQueueRequest_NoCookie_EventIdMismatch_RedirectToErrorPageWit config.setVersion(10); String customerKey = "4e1db821-a825-49da-acd0-5d376f2068db"; - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isStoreWasCalled", false); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void cancelQueueCookie(String eventId, String cookieDomain) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -304,7 +309,7 @@ public void cancelQueueCookie(String eventId, String cookieDomain) { @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - conditions.replace("isStoreWasCalled", true); + conditions.put("isStoreWasCalled", true); } @Override @@ -356,13 +361,14 @@ public void ValidateQueueRequest_NoCookie_ValidToken_ExtendableCookie_DoNotRedir config.setExtendCookieValidity(false); String customerKey = "4e1db821-a825-49da-acd0-5d376f2068db"; - HashMap> callInfo = new HashMap<>(); - callInfo.put("firstCall", new HashMap<>()); + final HashMap> callInfo = new HashMap(); + callInfo.put("firstCall", new HashMap()); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - HashMap info = new HashMap<>(); + HashMap info = new HashMap(); info.put("eventId", eventId); info.put("fixedCookieValidityMinutes", fixedCookieValidityMinutes); info.put("cookieDomain", cookieDomain); @@ -412,13 +418,14 @@ public void ValidateQueueRequest_NoCookie_ValidToken_CookieValidityMinuteFromTok config.setExtendCookieValidity(true); String customerKey = "secretekeyofuser"; - HashMap> callInfo = new HashMap<>(); - callInfo.put("firstCall", new HashMap<>()); + final HashMap> callInfo = new HashMap(); + callInfo.put("firstCall", new HashMap()); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - HashMap info = new HashMap<>(); + HashMap info = new HashMap(); info.put("eventId", eventId); info.put("fixedCookieValidityMinutes", fixedCookieValidityMinutes); info.put("cookieDomain", cookieDomain); @@ -467,10 +474,11 @@ public void ValidateQueueRequest_NoCookie_WithoutToken_RedirectToQueue() throws config.setLayoutName("testlayout"); config.setVersion(10); - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isStoreWasCalled", false); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void cancelQueueCookie(String eventId, String cookieDomain) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -478,7 +486,7 @@ public void cancelQueueCookie(String eventId, String cookieDomain) { @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - conditions.replace("isStoreWasCalled", true); + conditions.put("isStoreWasCalled", true); } @Override @@ -518,10 +526,11 @@ public void ValidateQueueRequest_NoCookie_WithoutToken_RedirectToQueue_NoTargetU config.setLayoutName("testlayout"); config.setVersion(10); - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isStoreWasCalled", false); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void cancelQueueCookie(String eventId, String cookieDomain) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -529,7 +538,7 @@ public void cancelQueueCookie(String eventId, String cookieDomain) { @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - conditions.replace("isStoreWasCalled", true); + conditions.put("isStoreWasCalled", true); } @Override @@ -567,10 +576,11 @@ public void ValidateQueueRequest_NoCookie_InValidToken() throws Exception { config.setLayoutName("testlayout"); config.setVersion(10); - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isStoreWasCalled", false); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { + @Override public void cancelQueueCookie(String eventId, String cookieDomain) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. @@ -578,7 +588,7 @@ public void cancelQueueCookie(String eventId, String cookieDomain) { @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - conditions.replace("isStoreWasCalled", true); + conditions.put("isStoreWasCalled", true); } @Override @@ -616,13 +626,12 @@ public void validateCancelRequest() throws Exception { config.setCookieDomain("testdomain"); config.setVersion(10); - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); IUserInQueueStateRepository cookieProviderMock = new IUserInQueueStateRepository() { @Override public void store(String eventId, String queueId, Integer fixedCookieValidityMinutes, String cookieDomain, String redirectType, String customerSecretKey) throws Exception { - } @Override @@ -643,7 +652,6 @@ public void reissueQueueCookie(String eventId, int cookieValidityMinutes, String public void cancelQueueCookie(String eventId, String cookieDomain) { conditions.put("cancelQueueCookieWasCalled", "eventId:" + eventId + ",cookieDomain:" + cookieDomain); } - }; String knownUserVersion = UserInQueueService.SDK_VERSION; String expectedUrl = "https://testDomain.com/cancel/testCustomer/e1/?c=testCustomer&e=e1" @@ -680,9 +688,8 @@ public static String generateToken( boolean extendableCookie, Integer cookieValidityMinute, String secretKey, - String redirectType - ) throws Exception { - ArrayList paramList = new ArrayList<>(); + String redirectType) throws Exception { + ArrayList paramList = new ArrayList(); paramList.add(QueueParameterHelper.TimeStampKey + QueueParameterHelper.KeyValueSeparatorChar + GetUnixTimestamp(timeStamp)); if (cookieValidityMinute != null) { paramList.add(QueueParameterHelper.CookieValidityMinutesKey + QueueParameterHelper.KeyValueSeparatorChar + cookieValidityMinute); @@ -691,7 +698,7 @@ public static String generateToken( paramList.add(QueueParameterHelper.ExtendableCookieKey + QueueParameterHelper.KeyValueSeparatorChar + extendableCookie); paramList.add(QueueParameterHelper.RedirectTypeKey + QueueParameterHelper.KeyValueSeparatorChar + redirectType); - String tokenWithoutHash = String.join(QueueParameterHelper.KeyValueSeparatorGroupChar, paramList); + String tokenWithoutHash = Utils.join(QueueParameterHelper.KeyValueSeparatorGroupChar, paramList); String hash = HashHelper.generateSHA256Hash(secretKey, tokenWithoutHash); String token = tokenWithoutHash + QueueParameterHelper.KeyValueSeparatorGroupChar + QueueParameterHelper.HashKey + QueueParameterHelper.KeyValueSeparatorChar + hash; return token; diff --git a/SDK/test/queueit/knownuserv3/sdk/UserInQueueStateCookieRepositoryTest.java b/SDK/test/queueit/knownuserv3/sdk/UserInQueueStateCookieRepositoryTest.java index d1aecba..37b8a4d 100644 --- a/SDK/test/queueit/knownuserv3/sdk/UserInQueueStateCookieRepositoryTest.java +++ b/SDK/test/queueit/knownuserv3/sdk/UserInQueueStateCookieRepositoryTest.java @@ -15,10 +15,11 @@ public void store_getState_ExtendableCookie_CookieIsSaved() throws Exception { String queueId = "528f01d4-30f9-4753-95b3-2c8c33966abc"; String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); int cookieValidity = 10; - HashMap> cookies = new HashMap<>(); - cookies.put(cookieKey, new HashMap<>()); + final HashMap> cookies = new HashMap(); + cookies.put(cookieKey, new HashMap()); ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { HashMap cookie = cookies.get(cookieName); @@ -44,7 +45,7 @@ public String getCookie(String cookieName) { assertTrue(state.getRedirectType().equals("Queue")); Long issueTime = Long.valueOf(UserInQueueStateCookieRepository.getCookieNameValueMap(String.valueOf(cookies.get(cookieKey).get("cookieValue"))).get("IssueTime")); assertTrue(Math.abs(System.currentTimeMillis() / 1000L - issueTime) < 2); - assertTrue((int) cookies.get(cookieKey).get("expiration") == 24 * 60 * 60); + assertTrue(Integer.parseInt(cookies.get(cookieKey).get("expiration").toString()) == 24 * 60 * 60); assertTrue(cookies.get(cookieKey).get("cookieDomain").equals(cookieDomain)); } @@ -56,9 +57,10 @@ public void store_getState_TamperedCookie_StateIsNotValid() throws Exception { String queueId = "528f01d4-30f9-4753-95b3-2c8c33966abc"; String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); int cookieValidity = 10; - HashMap cookies = new HashMap<>(); + final HashMap cookies = new HashMap(); ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { cookies.put(cookieName, cookieValue); @@ -78,7 +80,7 @@ public String getCookie(String cookieName) { String cookieString = cookies.get(cookieKey); cookieString = cookieString.replace("FixedValidityMins=10&", ""); - cookies.replace(cookieKey, cookieString); + cookies.put(cookieKey, cookieString); state = testObject.getState(eventId, 10, secretKey, true); assertFalse(state.isValid()); } @@ -89,9 +91,10 @@ public void store_getState_ExpiredCookie_StateIsNotValid_Queue() throws Exceptio String secretKey = "4e1db821-a825-49da-acd0-5d376f2068db"; String cookieDomain = ".test.com"; String queueId = "528f01d4-30f9-4753-95b3-2c8c33966abc"; - HashMap cookies = new HashMap<>(); + final HashMap cookies = new HashMap(); ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { cookies.put(cookieName, cookieValue); @@ -115,9 +118,10 @@ public void store_getState_ExpiredCookie_StateIsNotValid_Idle() throws Exception String secretKey = "4e1db821-a825-49da-acd0-5d376f2068db"; String cookieDomain = ".test.com"; String queueId = "528f01d4-30f9-4753-95b3-2c8c33966abc"; - HashMap cookies = new HashMap<>(); + final HashMap cookies = new HashMap(); ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { cookies.put(cookieName, cookieValue); @@ -143,9 +147,10 @@ public void store_getState_DifferentEventId_StateIsNotValid() throws Exception { String queueId = "528f01d4-30f9-4753-95b3-2c8c33966abc"; String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); - HashMap cookies = new HashMap<>(); + final HashMap cookies = new HashMap(); ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { cookies.put(cookieName, cookieValue); @@ -173,9 +178,9 @@ public void store_getState_InvalidCookie_StateIsNotValid() throws Exception { String queueId = "528f01d4-30f9-4753-95b3-2c8c33966abc"; ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { - } @Override @@ -198,11 +203,12 @@ public void cancelQueueCookie_Test() throws Exception { String cookieDomain = "testDomain"; String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); - HashMap> cookies = new HashMap<>(); - cookies.put(cookieKey + "1", new HashMap<>()); - cookies.put(cookieKey + "2", new HashMap<>()); + final HashMap> cookies = new HashMap(); + cookies.put(cookieKey + "1", new HashMap()); + cookies.put(cookieKey + "2", new HashMap()); ICookieManager cookieManager = new ICookieManager() { + public int setCookieCallNumber = 0; @Override @@ -228,7 +234,7 @@ public String getCookie(String cookieName) { testObject.cancelQueueCookie(eventId, cookieDomain); - assertTrue((int) cookies.get(cookieKey + "2").get("expiration") == 0); + assertTrue(Integer.parseInt(cookies.get(cookieKey + "2").get("expiration").toString()) == 0); assertTrue(cookies.get(cookieKey + "2").get("cookieValue") == null); assertTrue(cookies.get(cookieKey + "2").get("cookieDomain").equals(cookieDomain)); } @@ -240,12 +246,13 @@ public void extendQueueCookie_CookietExist_Test() throws Exception { String secretKey = "secretKey"; String queueId = "528f01d4-30f9-4753-95b3-2c8c33966abc"; String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); - HashMap cookie = new HashMap<>(); + final HashMap cookie = new HashMap(); Long issueTime = (System.currentTimeMillis() / 1000L - 120); String hash = HashHelper.generateSHA256Hash(secretKey, eventId + queueId + "3" + "idle" + String.valueOf(issueTime)); - String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&FixedValidityMins=3&RedirectType=idle&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; + final String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&FixedValidityMins=3&RedirectType=idle&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; ICookieManager cookieManager = new ICookieManager() { + public int setCookieCallNumber = 0; boolean isSetCookieCalled = false; @@ -281,7 +288,7 @@ public String getCookie(String cookieName) { assertTrue(state.getRedirectType().equals("idle")); Long newIssueTime = Long.valueOf(UserInQueueStateCookieRepository.getCookieNameValueMap(String.valueOf(cookie.get("cookieValue"))).get("IssueTime")); assertTrue(Math.abs(System.currentTimeMillis() / 1000L - newIssueTime) < 2); - assertTrue((int) cookie.get("expiration") == 24 * 60 * 60); + assertTrue(Integer.parseInt(cookie.get("expiration").toString()) == 24 * 60 * 60); assertTrue(cookie.get("cookieDomain").equals("cookieDomain")); } @@ -290,13 +297,14 @@ public void extendQueueCookie_CookieDoesNotExist_Test() { String eventId = "event1"; String secretKey = "secretKey"; - HashMap conditions = new HashMap<>(); + final HashMap conditions = new HashMap(); conditions.put("isSetCookieCalled", false); ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { - conditions.replace("isSetCookieCalled", true); + conditions.put("isSetCookieCalled", true); } @Override @@ -315,14 +323,14 @@ public void getState_ValidCookieFormat_Extendable_Test() throws Exception { String eventId = "event1"; String secretKey = "secretKey"; String queueId = "f8757c2d-34c2-4639-bef2-1736cdd30bbb"; - String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); + final String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); Long issueTime = (System.currentTimeMillis() / 1000L - 120); String hash = HashHelper.generateSHA256Hash(secretKey, eventId + queueId + "queue" + String.valueOf(issueTime)); - String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&RedirectType=queue&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; + final String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&RedirectType=queue&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { - } @Override @@ -347,14 +355,14 @@ public void getState_ValidCookieFormat_NonExtendable_Test() throws Exception { String eventId = "event1"; String secretKey = "secretKey"; String queueId = "f8757c2d-34c2-4639-bef2-1736cdd30bbb"; - String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); + final String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); Long issueTime = (System.currentTimeMillis() / 1000L - 120); String hash = HashHelper.generateSHA256Hash(secretKey, eventId + queueId + "3" + "idle" + String.valueOf(issueTime)); - String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&FixedValidityMins=3&RedirectType=idle&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; + final String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&FixedValidityMins=3&RedirectType=idle&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { - } @Override @@ -379,14 +387,14 @@ public void getState_OldCookie_InValid_ExpiredCookie_Extendable_Test() throws Ex String eventId = "event1"; String secretKey = "secretKey"; String queueId = "f8757c2d-34c2-4639-bef2-1736cdd30bbb"; - String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); + final String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); Long issueTime = (System.currentTimeMillis() / 1000L - (11 * 60)); String hash = HashHelper.generateSHA256Hash(secretKey, eventId + queueId + "queue" + String.valueOf(issueTime)); - String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&RedirectType=queue&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; + final String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&RedirectType=queue&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { - } @Override @@ -407,14 +415,14 @@ public void getState_OldCookie_InValid_ExpiredCookie_NonExtendable_Test() throws String eventId = "event1"; String secretKey = "secretKey"; String queueId = "f8757c2d-34c2-4639-bef2-1736cdd30bbb"; - String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); + final String cookieKey = UserInQueueStateCookieRepository.getCookieKey(eventId); Long issueTime = (System.currentTimeMillis() / 1000L - (4 * 60)); String hash = HashHelper.generateSHA256Hash(secretKey, eventId + queueId + "3" + "idle" + String.valueOf(issueTime)); - String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&FixedValidityMins=3&RedirectType=idle&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; + final String cookieValue = "EventId=" + eventId + "&QueueId=" + queueId + "&FixedValidityMins=3&RedirectType=idle&IssueTime=" + String.valueOf(issueTime) + "&Hash=" + hash; ICookieManager cookieManager = new ICookieManager() { + @Override public void setCookie(String cookieName, String cookieValue, Integer expiration, String cookieDomain) { - } @Override diff --git a/SDK/test/queueit/knownuserv3/sdk/integrationconfig/ComparisonOperatorHelperTest.java b/SDK/test/queueit/knownuserv3/sdk/integrationconfig/ComparisonOperatorHelperTest.java index de9ed71..4d53e5c 100644 --- a/SDK/test/queueit/knownuserv3/sdk/integrationconfig/ComparisonOperatorHelperTest.java +++ b/SDK/test/queueit/knownuserv3/sdk/integrationconfig/ComparisonOperatorHelperTest.java @@ -49,7 +49,7 @@ public void Evaluate_MatchesWith() { assertTrue(ComparisonOperatorHelper.evaluate(ComparisonOperatorType.MATCHES_WITH, false, true, "test1_test1_testshop", ".*Shop.*", null)); assertFalse(ComparisonOperatorHelper.evaluate(ComparisonOperatorType.MATCHES_WITH, true, true, "test1_test1_testshop", ".*Shop.*", null)); } - + @Test public void Evaluate_EqualsAny() { assertTrue(ComparisonOperatorHelper.evaluate(ComparisonOperatorType.EQUALS_ANY, false, false, "test1", null, new String[]{"test1"})); @@ -59,7 +59,7 @@ public void Evaluate_EqualsAny() { assertFalse(ComparisonOperatorHelper.evaluate(ComparisonOperatorType.EQUALS_ANY, true, false, "test1", null, new String[]{"test1"})); assertFalse(ComparisonOperatorHelper.evaluate(ComparisonOperatorType.EQUALS_ANY, true, true, "test1", null, new String[]{"Test1"})); } - + @Test public void Evaluate_ContainsAny() { assertTrue(ComparisonOperatorHelper.evaluate(ComparisonOperatorType.CONTAINS_ANY, false, false, "test_test1_test", null, new String[]{"test1"})); diff --git a/SDK/test/queueit/knownuserv3/sdk/integrationconfig/HttpHeaderHelperTest.java b/SDK/test/queueit/knownuserv3/sdk/integrationconfig/HttpHeaderHelperTest.java index 2e0e485..13484e1 100644 --- a/SDK/test/queueit/knownuserv3/sdk/integrationconfig/HttpHeaderHelperTest.java +++ b/SDK/test/queueit/knownuserv3/sdk/integrationconfig/HttpHeaderHelperTest.java @@ -5,32 +5,33 @@ import org.junit.Test; public class HttpHeaderHelperTest { + @Test - public void Evaluate_Test() { + public void Evaluate_Test() { HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); httpContextMock.Headers.put("MyHeaderName", "MyHeaderValue"); TriggerPart triggerPart = new TriggerPart(); - triggerPart.HttpHeaderName = "MyHeaderName"; - - triggerPart.ValueToCompare = "MyHeaderValue"; + triggerPart.HttpHeaderName = "MyHeaderName"; + + triggerPart.ValueToCompare = "MyHeaderValue"; triggerPart.Operator = ComparisonOperatorType.EQUALS; triggerPart.IsNegative = false; triggerPart.IsIgnoreCase = false; assertTrue(HttpHeaderValidatorHelper.evaluate(triggerPart, httpContextMock)); - + triggerPart.ValueToCompare = "Value"; triggerPart.Operator = ComparisonOperatorType.CONTAINS; triggerPart.IsNegative = false; triggerPart.IsIgnoreCase = false; assertTrue(HttpHeaderValidatorHelper.evaluate(triggerPart, httpContextMock)); - + triggerPart.ValueToCompare = "MyHeaderValue"; - triggerPart.Operator = ComparisonOperatorType.EQUALS; + triggerPart.Operator = ComparisonOperatorType.EQUALS; triggerPart.IsNegative = true; triggerPart.IsIgnoreCase = false; assertFalse(HttpHeaderValidatorHelper.evaluate(triggerPart, httpContextMock)); - - triggerPart.ValueToCompare = "myheadervalue"; + + triggerPart.ValueToCompare = "myheadervalue"; triggerPart.Operator = ComparisonOperatorType.EQUALS; triggerPart.IsNegative = false; triggerPart.IsIgnoreCase = true; diff --git a/SDK/test/queueit/knownuserv3/sdk/integrationconfig/IntegrationEvaluatorTest.java b/SDK/test/queueit/knownuserv3/sdk/integrationconfig/IntegrationEvaluatorTest.java index bb8dc96..579ba0c 100644 --- a/SDK/test/queueit/knownuserv3/sdk/integrationconfig/IntegrationEvaluatorTest.java +++ b/SDK/test/queueit/knownuserv3/sdk/integrationconfig/IntegrationEvaluatorTest.java @@ -23,367 +23,353 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import javax.servlet.http.HttpUpgradeHandler; import javax.servlet.http.Part; - class HttpServletRequestMock implements HttpServletRequest { - public Cookie[] CookiesValue; - public String UserAgent = ""; - public String RequestURL; - public String QueryString; - public HashMap Headers = new HashMap(); +class HttpServletRequestMock implements HttpServletRequest { - @Override - public String getAuthType() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public Cookie[] getCookies() { - return this.CookiesValue; - } + public Cookie[] CookiesValue; + public String UserAgent = ""; + public String RequestURL; + public String QueryString; + public HashMap Headers = new HashMap(); - @Override - public long getDateHeader(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } - - @Override - public String getHeader(String key) { - if("User-Agent".equals(key)) - return this.UserAgent; - - if(this.Headers.containsKey(key)) - return this.Headers.get(key); - return ""; - } + @Override + public String getAuthType() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Enumeration getHeaders(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Cookie[] getCookies() { + return this.CookiesValue; + } - @Override - public Enumeration getHeaderNames() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public long getDateHeader(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public int getIntHeader(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + @Override + public String getHeader(String key) { + if ("User-Agent".equals(key)) { + return this.UserAgent; } - @Override - public String getMethod() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + if (this.Headers.containsKey(key)) { + return this.Headers.get(key); } + return ""; + } - @Override - public String getPathInfo() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Enumeration getHeaders(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getPathTranslated() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Enumeration getHeaderNames() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getContextPath() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public int getIntHeader(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getQueryString() { - return this.QueryString; - } + @Override + public String getMethod() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getRemoteUser() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getPathInfo() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public boolean isUserInRole(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getPathTranslated() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Principal getUserPrincipal() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getContextPath() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getRequestedSessionId() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getQueryString() { + return this.QueryString; + } - @Override - public String getRequestURI() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getRemoteUser() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public StringBuffer getRequestURL() { - return new StringBuffer(this.RequestURL); - } + @Override + public boolean isUserInRole(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getServletPath() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Principal getUserPrincipal() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public HttpSession getSession(boolean bln) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getRequestedSessionId() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public HttpSession getSession() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getRequestURI() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String changeSessionId() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public StringBuffer getRequestURL() { + return new StringBuffer(this.RequestURL); + } - @Override - public boolean isRequestedSessionIdValid() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getServletPath() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public boolean isRequestedSessionIdFromCookie() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public HttpSession getSession(boolean bln) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public boolean isRequestedSessionIdFromURL() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public HttpSession getSession() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public boolean isRequestedSessionIdFromUrl() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public boolean isRequestedSessionIdValid() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public boolean authenticate(HttpServletResponse hsr) throws IOException, ServletException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public boolean isRequestedSessionIdFromCookie() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public void login(String string, String string1) throws ServletException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public boolean isRequestedSessionIdFromURL() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public void logout() throws ServletException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public boolean isRequestedSessionIdFromUrl() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Collection getParts() throws IOException, ServletException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public boolean authenticate(HttpServletResponse hsr) throws IOException, ServletException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Part getPart(String string) throws IOException, ServletException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public void login(String string, String string1) throws ServletException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public T upgrade(Class type) throws IOException, ServletException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public void logout() throws ServletException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Object getAttribute(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Collection getParts() throws IOException, ServletException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Enumeration getAttributeNames() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Part getPart(String string) throws IOException, ServletException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getCharacterEncoding() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Object getAttribute(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public void setCharacterEncoding(String string) throws UnsupportedEncodingException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Enumeration getAttributeNames() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public int getContentLength() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getCharacterEncoding() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public long getContentLengthLong() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public void setCharacterEncoding(String string) throws UnsupportedEncodingException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getContentType() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public int getContentLength() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public ServletInputStream getInputStream() throws IOException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getContentType() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getParameter(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public ServletInputStream getInputStream() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Enumeration getParameterNames() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getParameter(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String[] getParameterValues(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Enumeration getParameterNames() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Map getParameterMap() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String[] getParameterValues(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getProtocol() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Map getParameterMap() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getScheme() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getProtocol() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getServerName() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getScheme() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public int getServerPort() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getServerName() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public BufferedReader getReader() throws IOException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public int getServerPort() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getRemoteAddr() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public BufferedReader getReader() throws IOException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getRemoteHost() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getRemoteAddr() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public void setAttribute(String string, Object o) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getRemoteHost() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public void removeAttribute(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public void setAttribute(String string, Object o) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Locale getLocale() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public void removeAttribute(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public Enumeration getLocales() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Locale getLocale() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public boolean isSecure() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public Enumeration getLocales() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public RequestDispatcher getRequestDispatcher(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public boolean isSecure() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getRealPath(String string) { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public RequestDispatcher getRequestDispatcher(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public int getRemotePort() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getRealPath(String string) { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getLocalName() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public int getRemotePort() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public String getLocalAddr() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getLocalName() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public int getLocalPort() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public String getLocalAddr() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public ServletContext getServletContext() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public int getLocalPort() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public AsyncContext startAsync() throws IllegalStateException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public ServletContext getServletContext() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public AsyncContext startAsync(ServletRequest sr, ServletResponse sr1) throws IllegalStateException { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public AsyncContext startAsync() throws IllegalStateException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public boolean isAsyncStarted() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public AsyncContext startAsync(ServletRequest sr, ServletResponse sr1) throws IllegalStateException { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public boolean isAsyncSupported() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public boolean isAsyncStarted() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public AsyncContext getAsyncContext() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public boolean isAsyncSupported() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } - @Override - public DispatcherType getDispatcherType() { - throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. - } + @Override + public AsyncContext getAsyncContext() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } + @Override + public DispatcherType getDispatcherType() { + throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. + } +} public class IntegrationEvaluatorTest { @@ -424,9 +410,9 @@ public void GetMatchedIntegrationConfig_OneTrigger_And_NotMatched() throws Excep customerIntegration.Integrations = integrationConfigModels; String url = "http://test.tesdomain.com:8080/test?q=2"; - + HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); - httpContextMock.CookiesValue = new Cookie [0]; + httpContextMock.CookiesValue = new Cookie[0]; IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); assertTrue(result == null); @@ -471,9 +457,9 @@ public void GetMatchedIntegrationConfig_OneTrigger_And_Matched() throws Exceptio customerIntegration.Integrations = integrationConfigModels; String url = "http://test.tesdomain.com:8080/test?q=2"; - + HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); - httpContextMock.CookiesValue = new Cookie [1]; + httpContextMock.CookiesValue = new Cookie[1]; httpContextMock.CookiesValue[0] = new Cookie("c1", "value1"); IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); @@ -522,10 +508,10 @@ public void GetMatchedIntegrationConfig_OneTrigger_Or_NotMatched() throws Except String url = "http://test.tesdomain.com:8080/test?q=2"; HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); - httpContextMock.CookiesValue = new Cookie [1]; + httpContextMock.CookiesValue = new Cookie[1]; httpContextMock.CookiesValue[0] = new Cookie("c2", "value1"); - IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); + IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); assertTrue(result == null); } @@ -567,12 +553,12 @@ public void GetMatchedIntegrationConfig_OneTrigger_Or_Matched() throws Exception customerIntegration.Integrations = integrationConfigModels; String url = "http://test.tesdomain.com:8080/test?q=2"; - + HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); - httpContextMock.CookiesValue = new Cookie [1]; + httpContextMock.CookiesValue = new Cookie[1]; httpContextMock.CookiesValue[0] = new Cookie("c1", "value1"); - IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); + IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); assertTrue(result.Name.equals("integration1")); } @@ -588,7 +574,7 @@ public void GetMatchedIntegrationConfig_TwoTriggers_Matched() throws Exception { TriggerPart[] triggerParts1 = new TriggerPart[1]; triggerParts1[0] = triggerPart1; - + TriggerModel triggerModel1 = new TriggerModel(); triggerModel1.LogicalOperator = LogicalOperatorType.AND; triggerModel1.TriggerParts = triggerParts1; @@ -601,7 +587,7 @@ public void GetMatchedIntegrationConfig_TwoTriggers_Matched() throws Exception { TriggerPart[] triggerParts2 = new TriggerPart[1]; triggerParts2[0] = triggerPart2; - + TriggerModel triggerModel2 = new TriggerModel(); triggerModel2.LogicalOperator = LogicalOperatorType.AND; triggerModel2.TriggerParts = triggerParts2; @@ -609,7 +595,7 @@ public void GetMatchedIntegrationConfig_TwoTriggers_Matched() throws Exception { TriggerModel[] triggerModels = new TriggerModel[2]; triggerModels[0] = triggerModel1; triggerModels[1] = triggerModel2; - + IntegrationConfigModel integrationConfigModel = new IntegrationConfigModel(); integrationConfigModel.Name = "integration1"; integrationConfigModel.Triggers = triggerModels; @@ -621,11 +607,11 @@ public void GetMatchedIntegrationConfig_TwoTriggers_Matched() throws Exception { customerIntegration.Integrations = integrationConfigModels; String url = "http://test.tesdomain.com:8080/test?q=2"; - + HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); - httpContextMock.CookiesValue = new Cookie [0]; + httpContextMock.CookiesValue = new Cookie[0]; - IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); + IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); assertTrue(result.Name.equals("integration1")); } @@ -654,7 +640,7 @@ public void GetMatchedIntegrationConfig_TwoTriggers_NotMatched() throws Exceptio TriggerPart[] triggerParts2 = new TriggerPart[1]; triggerParts2[0] = triggerPart2; - + TriggerModel triggerModel2 = new TriggerModel(); triggerModel2.LogicalOperator = LogicalOperatorType.AND; triggerModel2.TriggerParts = triggerParts2; @@ -662,7 +648,7 @@ public void GetMatchedIntegrationConfig_TwoTriggers_NotMatched() throws Exceptio TriggerModel[] triggerModels = new TriggerModel[2]; triggerModels[0] = triggerModel1; triggerModels[1] = triggerModel2; - + IntegrationConfigModel integrationConfigModel = new IntegrationConfigModel(); integrationConfigModel.Name = "integration1"; integrationConfigModel.Triggers = triggerModels; @@ -674,11 +660,11 @@ public void GetMatchedIntegrationConfig_TwoTriggers_NotMatched() throws Exceptio customerIntegration.Integrations = integrationConfigModels; String url = "http://test.tesdomain.com:8080/test?q=2"; - + HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); - httpContextMock.CookiesValue = new Cookie [0]; + httpContextMock.CookiesValue = new Cookie[0]; - IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); + IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); assertTrue(result == null); } @@ -706,13 +692,13 @@ public void GetMatchedIntegrationConfig_ThreeIntegrationsInOrder_SecondMatched() TriggerPart[] triggerParts0 = new TriggerPart[1]; triggerParts0[0] = triggerPart0; - + TriggerPart[] triggerParts1 = new TriggerPart[1]; triggerParts1[0] = triggerPart1; - + TriggerPart[] triggerParts2 = new TriggerPart[1]; triggerParts2[0] = triggerPart2; - + TriggerModel triggerModel0 = new TriggerModel(); triggerModel0.LogicalOperator = LogicalOperatorType.AND; triggerModel0.TriggerParts = triggerParts0; @@ -727,13 +713,13 @@ public void GetMatchedIntegrationConfig_ThreeIntegrationsInOrder_SecondMatched() TriggerModel[] triggerModels0 = new TriggerModel[1]; triggerModels0[0] = triggerModel0; - + TriggerModel[] triggerModels1 = new TriggerModel[1]; triggerModels1[0] = triggerModel1; - + TriggerModel[] triggerModels2 = new TriggerModel[1]; triggerModels2[0] = triggerModel2; - + IntegrationConfigModel integrationConfigModel0 = new IntegrationConfigModel(); integrationConfigModel0.Name = "integration0"; integrationConfigModel0.Triggers = triggerModels0; @@ -753,19 +739,19 @@ public void GetMatchedIntegrationConfig_ThreeIntegrationsInOrder_SecondMatched() CustomerIntegration customerIntegration = new CustomerIntegration(); customerIntegration.Integrations = integrationConfigModels; - + String url = "http://test.tesdomain.com:8080/test?q=2"; - + HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); - httpContextMock.CookiesValue = new Cookie [1]; + httpContextMock.CookiesValue = new Cookie[1]; httpContextMock.CookiesValue[0] = new Cookie("c1", "Value1"); - - IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); + + IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); assertTrue(result.Name.equals("integration1")); } - - @Test - public void GetMatchedIntegrationConfig_OneTrigger_And_NotMatched_UserAgent() throws Exception { + + @Test + public void GetMatchedIntegrationConfig_OneTrigger_And_NotMatched_UserAgent() throws Exception { IntegrationEvaluator testObject = new IntegrationEvaluator(); TriggerPart triggerPart1 = new TriggerPart(); @@ -780,12 +766,12 @@ public void GetMatchedIntegrationConfig_OneTrigger_And_NotMatched_UserAgent() th triggerPart2.Operator = ComparisonOperatorType.CONTAINS; triggerPart2.UrlPart = UrlPartType.PAGE_URL; triggerPart2.ValueToCompare = "test"; - + TriggerPart triggerPart3 = new TriggerPart(); triggerPart3.ValidatorType = ValidatorType.USERAGENT_VALIDATOR; triggerPart3.Operator = ComparisonOperatorType.CONTAINS; triggerPart3.ValueToCompare = "googlebot"; - triggerPart3.IsNegative= true; + triggerPart3.IsNegative = true; triggerPart3.IsIgnoreCase = true; TriggerPart[] triggerParts = new TriggerPart[3]; @@ -811,13 +797,13 @@ public void GetMatchedIntegrationConfig_OneTrigger_And_NotMatched_UserAgent() th customerIntegration.Integrations = integrationConfigModels; String url = "http://test.tesdomain.com:8080/test?q=2"; - + HttpServletRequestMock httpContextMock = new HttpServletRequestMock(); - httpContextMock.CookiesValue = new Cookie [1]; - httpContextMock.CookiesValue[0]=new Cookie("c1", "value1"); + httpContextMock.CookiesValue = new Cookie[1]; + httpContextMock.CookiesValue[0] = new Cookie("c1", "value1"); httpContextMock.UserAgent = "Googlebot"; - - IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); + + IntegrationConfigModel result = testObject.getMatchedIntegrationConfig(customerIntegration, url, httpContextMock); assertTrue(result == null); - } + } } \ No newline at end of file diff --git a/SDK/test/queueit/knownuserv3/sdk/integrationconfig/UserAgentValidatorHelperTest.java b/SDK/test/queueit/knownuserv3/sdk/integrationconfig/UserAgentValidatorHelperTest.java index 5700cf7..6b3be6d 100644 --- a/SDK/test/queueit/knownuserv3/sdk/integrationconfig/UserAgentValidatorHelperTest.java +++ b/SDK/test/queueit/knownuserv3/sdk/integrationconfig/UserAgentValidatorHelperTest.java @@ -1,37 +1,33 @@ - package queueit.knownuserv3.sdk.integrationconfig; import static org.junit.Assert.assertFalse; import org.junit.Test; - public class UserAgentValidatorHelperTest { - @Test - public void Evaluate_Test() { - - TriggerPart triggerPart = new TriggerPart(); - triggerPart.Operator = ComparisonOperatorType.CONTAINS; - triggerPart.ValueToCompare = "googlebot"; - assertFalse(UserAgentValidatorHelper.evaluate(triggerPart, "Googlebot sample useraagent")); - - triggerPart.ValueToCompare = "googlebot"; - triggerPart.Operator = ComparisonOperatorType.EQUALS; - triggerPart.IsIgnoreCase = true; - triggerPart.IsNegative = true; - assert(UserAgentValidatorHelper.evaluate(triggerPart, "oglebot sample useraagent")); - - triggerPart.ValueToCompare = "googlebot"; - triggerPart.Operator = ComparisonOperatorType.CONTAINS; - triggerPart.IsIgnoreCase = false; - triggerPart.IsNegative = true; - assertFalse(UserAgentValidatorHelper.evaluate(triggerPart, "googlebot")); - - - triggerPart.ValueToCompare = "googlebot"; - triggerPart.IsIgnoreCase = true; - triggerPart.IsNegative = false; - triggerPart.Operator = ComparisonOperatorType.CONTAINS; - assert (UserAgentValidatorHelper.evaluate(triggerPart, "Googlebot")); + @Test + public void Evaluate_Test() { + TriggerPart triggerPart = new TriggerPart(); + triggerPart.Operator = ComparisonOperatorType.CONTAINS; + triggerPart.ValueToCompare = "googlebot"; + assertFalse(UserAgentValidatorHelper.evaluate(triggerPart, "Googlebot sample useraagent")); + + triggerPart.ValueToCompare = "googlebot"; + triggerPart.Operator = ComparisonOperatorType.EQUALS; + triggerPart.IsIgnoreCase = true; + triggerPart.IsNegative = true; + assert (UserAgentValidatorHelper.evaluate(triggerPart, "oglebot sample useraagent")); + + triggerPart.ValueToCompare = "googlebot"; + triggerPart.Operator = ComparisonOperatorType.CONTAINS; + triggerPart.IsIgnoreCase = false; + triggerPart.IsNegative = true; + assertFalse(UserAgentValidatorHelper.evaluate(triggerPart, "googlebot")); + + triggerPart.ValueToCompare = "googlebot"; + triggerPart.IsIgnoreCase = true; + triggerPart.IsNegative = false; + triggerPart.Operator = ComparisonOperatorType.CONTAINS; + assert (UserAgentValidatorHelper.evaluate(triggerPart, "Googlebot")); } }