From 4ff27688376c23de27a8e78b17d179586096a5bb Mon Sep 17 00:00:00 2001 From: deeppandya Date: Thu, 20 Jul 2023 11:43:43 -0400 Subject: [PATCH 01/17] Add new deps for 6.0 --- build/android/config.gni | 1 + third_party/android_deps/BUILD.gn | 3 ++- .../billing-4.0.0.aar | Bin 88350 -> 0 bytes .../billing-6.0.1.aar | Bin 0 -> 337630 bytes 4 files changed, 3 insertions(+), 1 deletion(-) delete mode 100644 third_party/android_deps/libs/com_android_billingclient/billing-4.0.0.aar create mode 100644 third_party/android_deps/libs/com_android_billingclient/billing-6.0.1.aar diff --git a/build/android/config.gni b/build/android/config.gni index a8c936f5f4eb..c03214c8a9c0 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -63,6 +63,7 @@ brave_chrome_java_deps = [ "//third_party/android_deps:com_google_code_gson_gson_java", "//third_party/android_deps:google_play_services_vision_common_java", "//third_party/android_deps:google_play_services_vision_java", + "//third_party/android_deps:google_android_datatransport_transport_api_java", "//third_party/android_deps:org_jetbrains_kotlinx_kotlinx_coroutines_android_java", "//third_party/androidx:androidx_lifecycle_lifecycle_livedata_core_java", "//third_party/androidx:androidx_lifecycle_lifecycle_livedata_java", diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn index 2707266e9b11..4d5eeef5861f 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn @@ -41,9 +41,10 @@ android_aar_prebuilt("com_airbnb_android_java") { } android_aar_prebuilt("com_android_billingclient_java") { - aar_path = "libs/com_android_billingclient/billing-4.0.0.aar" + aar_path = "libs/com_android_billingclient/billing-6.0.1.aar" info_path = "libs/com_android_billingclient/com_android_billingclient.info" ignore_manifest = true +deps = ["//third_party/android_deps:google_android_datatransport_transport_api_java"] } android_aar_prebuilt("com_github_bumptech_glide_java") { diff --git a/third_party/android_deps/libs/com_android_billingclient/billing-4.0.0.aar b/third_party/android_deps/libs/com_android_billingclient/billing-4.0.0.aar deleted file mode 100644 index 5d41dba6f23f453f07adcb70caf4e9dc027f0bd3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88350 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
j<@bjW?YzZAf^@^dRjS8xc%3JEk?>y-Vc2 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 z%0D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%0D7(Xf4^J=_2VpQAVWh3iITvJ+3PlR4G=w2mq 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 IBi~T|2QBv1ZvX%Q diff --git a/third_party/android_deps/libs/com_android_billingclient/billing-6.0.1.aar b/third_party/android_deps/libs/com_android_billingclient/billing-6.0.1.aar new file mode 100644 index 0000000000000000000000000000000000000000..0ce1db125e998023ff77988289ae5b7e22de336a GIT binary patch literal 337630 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

`)J02Ta&!$kP95=tM*`$QyE`+jV61 zRi`17x+~GTg^i9S0L$F=#?U>Yv~k^_E@;S=W!G>6xEDcQT!QgsT!c)&&k_j2NM(z}85j%4HPTze1RQPb0l zKa={1ux$}-_>S`rFmFN-eEk(b%YPl1t^PMK|1G%PrSdyjS*#ls%?&8YPY{C?n`HPm zrj+C@NuISQ@xs>Gb?TXH15eScK?s6$ez<@?fmvsRo@CP%$ko8)6 z4iNhuRREmE3Z8+DfpaJo!(zY7hu0ybnP+LLD|UPqu6jtK@T+{sRRk*{FpI$&l1s3= zyFe$O`_BQ$s(D6X!dRc9;L^oYz`CV|jP{ArppQJN9K6K~XrSj3rW^wa)gjpJPN!E#5;rcHp6+-rSZ*IfGi z-yE)%PW_^)EvQMlujGOv1W2h0!;d=*I26f(%O}Trp@3f67@Ha06GN~+T9_fg0meCP zH|=GhdG>YXhhrm(^+px$eQmf+B;tn72qiDRC^C>V=n=?IZY-{^@Y?W^s{o}B43bt8 zjaycDEMBwQ;l2_w%pdO)UxAl>uGg^k*~6!9x+9J)C$O@8t_=KcjC|hUE}yq8;JYUf zyEm}CJ2?IZnEt^O!N3F)W^Sk;-#*ZJFDoX?l2D5Bku`Fc?B^jxmdxXwtD!DE%Sfc5KTx{jY97NQI&amXQLh&sn zS7dfJe-z2^h4LLd!Dm4(r`f7oF*)#M{?sz#@w9D`^LmkE;0M77xWN*Slqb`2&WtxB zhx0BtPvnR%8h5X^U70Mm(;TClXzkFa)KOofC-d-#%mBs|St+hFA*BoQq3X~_LNrvA zv|e4oe9}Ozs<&F9e>GTGI2a%qD1Z&v(hD+@^*x`Wcv%N-5wquLWozpivJ2nX*i3HQ zI(+g4z}QG^%^RO8>4?o}4L>!HsJ1p?9kTOltg=S3L7%GahbBv%4%|U`^YN-{$70Ms~K7T^5Hw)87{BFgzf@0FnO zi;)-BI>V5l@>^yqAkNkBI!JegK{539^v%ljrpeltZIt#6N@N#x-IWH(ppX=7Qz%F9ieignTn{ZVzmm0ZLD|8c{pn6XpD+xYR=xKaL0ihHk)n*Ftp0s8|-qO}3c zq@V9v2Pri-V~wlgMCD>CY8<(}GwReCTxBiE3<(WtD|?1ZF@>WBm_L`CwuIHrJWjiV zj_4R{h3rAleTUx_=arykAmgD!3ABzTZ>1xUK<0FW<$9xJk&1s}1NK1rgYp;j4`w*! zIcM92tk##k4e~u0AFLr?AF;=2E*#XAs$@GBof_0h>+M`D<1lOaE^Stf@nkMO=`^r2 zi!C<3U440f#RsN+lf@Bv0y2Ww*VQAFmRKeXlOX#ZNiBDszPcF+Ye=KtFO2g3dpK|B zM1=vuly@xP1iikZypaj`Q+|YFKt}TXNpT8gJ^3Oj29TtHRg=yKM2oYIfV`;6(g0u5 z6t|zOshHd&ZA{bA7Kf46rUVX%97xvADw!G6qZ*6TzLQ8P&>U@I({yHsjq6RZX8X>< z2_3_2KH|%ppWDRp7#W-CJ}e|Vsz;Az*@Z~n`I@Amw&tcPcDw9VYf*eijoM(R^>`>5 zA$DU+QM!-gRYSyb&+@cyIBmdinM)6bASUVf)`rpx18}s~?X$gXau_(83lErW5uk?+ zkfUv4h*pLY-eEifN*P$)WEr_C?mG$#ys}CaZrnNC!Y^^tr$}ty3fwV0NO>gA--iz( z&og$x#sk3=$RZR32L*$#d_M7*kk>|xOo;0PUCZ!Be%(>U=PW+gHT(mv-f!V;e)^aF`${Zfa+8M1p?B5{I_xIzaDw90x}>%h(kM@Lmw(2KR)3-rm8{> zjne%IA%8@=ve&Qa(Bn{ac(ou+N;J&!6G(58YUr9Au*N?7Ie?o#-@k(GVv`70Z)zt_ zCsl?tiXF)kjl0oBJ+{}!57A7-o`e{&H=}M;d7TA()eZ9v29s8r$qCq$8W&Xc*loIc zCFq%P<@F>!{+UKgN2E9tf$Yq9r&fi;kmA-E^PtiMT#UF1pPsiwAErB|HQpW=7bWEs zDg;m8Z987GC(SF!y|J9RI-l z9Z8=yP^+WA;^g+PlPKH&r@B>`-+1ey~u7CD6wC=$rsJQS{+ufs4lBcJrViamXx;FMpm;Go!T)G$3Z&DrwUnX%a6 zVEBGL!1AAHC1TX7v_D)fUt*h?;!0Ak(xyLJW@mRflHRIP!)18xb@BUZR($GoHlu6l z(t98c7X0QrfuK0yN~FWMZX0SB6(p3h(Atq%ZlUrrYf;X5Qn8#Q?wn6XeJ z3S1{9J!(HnlJ%tf&sZ7XxFR(YGv&P`bV(8y1xgPU(#^6|@MVk|@&*#t z1FMYDzZGRPMwmgdd&a(hCLh>A!;;^B<0Yppa=fjncX$yUo9#mvqxNa23Ft@Ep4*T^ zypgC~Msdf8zaaXI8FnDO*)L`7e~O*-MeG|8CNpSk7F9(D>fDpX=`2-g&wX}YwqX_p z5q=W^b5=+mU9&6|4}vXyiH0vErXs#1mN0||a@zBWH-@JMo}B)QdT9WE4w8GI@{DKz zjus3`2S09m>J95TM%7*M4k&%P-;UcUy;*^z#$hCXAMf!NBLH_Q!ego2&3hCU+P3ds z#JTA8D9^ zt-+>$Q0|CDgS~;470P;0cUwO=gnq^%xhR%9lnGbHkMG(f0_lWSTgog}eNx&fs+FoV z{0SZEc6IoMRJrqedkGw`JhyBNmn!GJ3|gy);amDMuit3z!zRIU0dA?t)gV74C^Fbt6+%-P8=IFdh0D zImwUC;oo(+W6=0eA%z_+QrJfA7^RFtnS~^I+*=IC(L3eObnhC$fpG5%m_3B3ma8*H zhi-c8DP-srEOL{D8G|CGVIuBtRQ%|x1FqUG^%XX@*~sL3doctMjSoS82rq4~s}3 z>6P~HruZ~2iyMbu-ZwXwV>#a+e`x&eKPYF>WGFvv}b_T&J63;Jygr~>gm$FvrPM7`dPXx+_0fW+vVtbI!39s zJ@nf-I?D}+tF6>Lo3c%&_p+WI3Qx*avfa$AXlPdi2ks;N1&yr;hlp;u0rPdhc#+Dw zs(54>7oB~;FsL;EMh$DZfy=(N{;hJ@*I?u~#!_jSKgc8S20n*t!Ca*FqFO%GhFoK- zV5~!_$pS5fH<~!1xK6;?ZzD^nCCpLM;)KfMGaV*7>XH(zM?K&pUoYtyJPs=TKgI~! zXqUtK0dK%V0kYyZ7^S9=70ft@rxIt@^{0sK;kp-UO(1)Nj*>mw{SW_@Hwka?a zU6{4(3Q(T$XD^0c+(WH_`8+`l%C0kMlFp6CcT=ph11V?eyy1Yj)MZOj?O|Q#sGTA>m+gIs?yjLJ zL;7aIJpxW-6|7SpDyOyK3YE_?t$8E?3b@$ZNh;;n zX2vbOxKS3SPXPe>(%q^euI#>+`d3@&b-%g*&ckZ`s(WUF8$mVPsv52 zmYS-p$Lo(y=^d|hhz}))gKf&n)1D%~b2ABjpCIQ~D%IgM6iY6fgqR$?>LiHN%o~7_ zoXqpm^D_zfc`ZS5h@u~;)R=aH8GPYjOEI8!nV__V`9pnd@C-0u+%26~eU&N&I;CPn zRh6w%C7Yim^`g~>zn*326?8eFrS6p2-1NtDW9+JF1|acAOSoE77+)4;uKp<_#4xn* zIxDjE5vbvr=^e=7L-&y4u!mx!X6ZV0!=Qk6e`8NH z`95^o4WbaJQE5TWr#i`H4V>3nA@G>3(#(fgn%Is7L?=E;vgyx^soy-8Tz`Z>|JYKS zzXFGRJM+RiH^5D7E>a*6<1NUQ=SXcFufPr>YI1`dlmdB!eAOH5v8L zs_-p4Kg@@rm)gfar1O(8s2Ug?2q+)!-#%vS|F`LiJg^XArFonfC=vOGQQM_t6z)U+ z*q|v2JZ~@TKr6hJ`DA@+t-`@Bh)-f(gFUC`!F*D+w1&p>%*`E6F9;yG3`!>{^ml{W zdQIf+GWE`N;(ZZar}^X9+ikP+yA!`#kEE3|)<;!l@O6C@n z>xkc@fsIb`I0OUJZ-2_pj_iyoJ}9hF+FQXvy<5xbVgo3h%NEi1QU1C1?B~^5{VO!m|2kuL z_&?1zDR#?89Fr_M9QVp;TIhNG3#}ljYQh((R}0$y=P6eUb`s*=x4VYJA6q$>*@+ON zz(j`I)#L%MZBLwE)*UweZ2aw~6<-5F%<-Bi6p`Z7TVA-EaY=KFdAug1ZGx;>}P0@}`*08LI z!cpL|y{l{Ov$g|)$k1`|up)uh68{2lvA90DEL{d1lP)HCLSkHplr;VgZ;;Gs)VZA@O@K{T$Fv(_jSMfsIuE+EgIFG+SJ8cifJ-D@s? z!exCI7s0Lc1Rr~J0BPBKPA$vDp12i?k0O_a6`z=McqBa1vUwl`ox+q-t+sE95J3kP zf-g>4B@6E7NtUHp240dS!-N?3;Jw!z3fB~+YYIW4w(qA3m|lJ%4Xnn@qnG;eAe!sO z9r(6sDOZ{sST?gZV^J@K;3+JKYIyt=lrqA$b8oEvUMTfBSL~z~62mClgA=<0%VPHV z53tWgUU7HY3^rt{ZNG#x*Z90KmtvjH*euLJ9(P#7(g)PR1n59BQ+u(#T0>kE5(!NE zeLV-y>8Mn1bF}HMDv8&C_Ae@8g=Q``L~lU*DTmN98f2`3zcZQEjP{=(Ou?WtV+V2v5dPhW$Dc<(79VkH)0( zHRr=xVsYt|!Ya3L(Y{QuvYT4puvoZAOXasp}-xIWUVD zb16XyhpYkzjn$l)m^6o^(v8)$CGylx!%|`W(n!Gq>C<(Fz8F*3&xRmT)d~X%-bOD8 zwBZgTRm)XiB&fD00p%VlQmD+5i?XAzq|{|hVedBX)E5U`cYfu!7wsdkhsfgAhtwvH zYWQe}N1Y`|+~*Tma_cj~=_gi^Y!bZ7aY;gMPJI%ym`i_6tE7Oqr-HjpTJliM9}wS>oHt3`*h0d>pL1nx65BN zbzgML0tOgYNSP3>Q|ihAgE=YZMiMNFG;sBann@Xo&1?VFxCWn7=8)}1I5G|OXO~%NQ{TJI~w1% zj~MHZ0PK$t?aRCvwu0=Yh0rjBXxcFHKlYI9^F4nhsj4S`Pog?%3Q zenv#mkv)@e>XF<($k5Q`s*R|)KwL3qTLt?JSghIUFxzI$g<_yjGq$iH`ag ztT)cEufAK?U$6^RDSyY0>3wTE0S$KiB4L=;-n;+Ll;tZZ=*0gW*mwT#<&=`cydvtC zecn~D{jPb5%ekRFJaj=uI$s!*j-)JmD!*a#AO>C0?`fG1A*Q$-*&-G6Gt3t1WtrS-w zF2%<5rgluWQD$8cR+0x^z*Lh8b05hOIC}wbaFL1$vrY*BrsLD^M9iBu5DMI(Zoq~n zI;@AVIFG1-O=~DxfVprZReM)XPU{X`xeMAe*c`UVn*kFw{_Id~`V`+ZRx&O zwHx@V1mcNY&@@eTRO;LFi z>gEmVa_?+Xqd&ln_pn?-Cc)7C1PS)h2MDG`Q>Pe3Y|_cQQICA{Xp@!?gxwQ0=){Nf zm5j2vV%SQ^oBbS7iTm7j(B|Rl? z*aqqAAhbfNjf1wGsFk}4kq<~H6B!Dt<0XmMq|#timzjUE6BWqTp&{!~2oxA387BV% z`Fp1>*b-5S0RsWG{o6KzCNBR!q)hMsYlyy1`5#h7`~Me*|P8 z3{|@#s78FD2xb~Nc7lO2~*6zku^~zWvVk*aUfr*R6;q)dBb%PbK z%x^W5WNY06C-Ig?oz zO$}c8-y0Zo5S1>3gcZ(dhN3N6vdE@SCdqmiJ9vQT@uC2$$6zbtz99a5 zNOdYt8Ukj!t5u;K`-H9`eWtb*U*&a0tPCGTRrgzmiLy94Vtm5Uei4_G9W0G*9G`+` zauWkjy&AwY)^CsWMfCzE*3^iP2c#kYStyiUXR25+-Hv(NkwZ3|Z1a*GaE zE$oJuzb-(M3XJ)6euVl!le6|sG zP6U~+LcjO6lpFk1t-@xjCiHfWrpc?K(&!#q9ZKZgJn+uA%lC4D?Z{5E$EG(lrdGqW zQtMPK&g|1(K?a(An>bG-6bH7ydlqA}u&Fa2u{#UJ2I}@guX~-2c#8U1maO=5% z@ib9C^IrKhR`GR+pi&7DG+s+sV~%rEQy=*B1wYmbS}Lhkf-jiB)DBfZr0P+ zNjDXvT?0Pm)$2sQgHB!8eaIMa&21Cxb}LUy@shFAf{Rjcx(Qi|%5L3uP8p%h?qt>z zXe^$K5scODZCQ2|&N4yfdyG3#pskmAYc1&w-!@(2fGzXYh(f*=LfBUl6p^4Sl*$WG zdGOgt3O$`os09kJ2Nv6PTF4w)6PSXBR15&=_VuXZE40zGC!)oz+1@2B%E_db_cm<4 zIO4gd7s#Cn%xmCS7NhV!N}#%-b(sCaaG#xQ#KS!%+%7J?qGyA>#5@drTP9_cubE?&W zxT?P9VGonIo)adjy;g>SjUQA7sfi)7dpEXN1-xmgdS$e$)6#Hmadyy9#^6{^o&8N+ zypEzW^99;QcIu#4=Y7e=V^ndHOi}~QtonMzm&`PC+25Q>D4yOdyj`@ppBb8HeO;JZ}pVhwy*{4y$tA+q_NY->!n^v zL^E_avnJLON1lN_We%0n8XH1H$ukg)1>hlL2#`Zxg_(@z9@zDhbOp@Erhl}XRQ{IK z$CH}m%Sf$%>9*laV4Fd+D4EQ(fr2-0Ft_iOKD;;A7crcqKaM|6i!%Ge`G+wT1Fcll ze}>$O(LpyhbKra|A#H|xouCij@&#&#eqh8QccS7s8&cxizgX;&L-^g?iwi!~q-UTY zg+5eU-=}KF($}~C86e@^^PpiOHS|vP4cL7}Z7)um6^|63n0e936USz$v*lQj5v54O zzj;A{-vZ1uEZ#}rYKvRsm|iV+b%}R%hk=jT3~Jjuh1a=?m~{7eFW=+&>jRrzq~t&< z_S2vG%(Vdxr( z>`4xmcd0Vn4~BJFJH}@>hjt-s{Ksjk04ceEbkm2-={c7wdv%Cs`r0!lG5%HU&jQ*F z0PEr^b$J|)52_Y4q_R7F@>RgZL6d>b@M4jZ3D$9uXD2(I1GE0{(j#rfcvWx+#q!~9 zDK%;IgP-ozV|_r6#M3l7!|2kb*A)eSovMV$k2lGM7H-c&WO|jXTg(Xdn%xk~kx)p9 z0oz`41|7v92*Eq}2CZ`*zmV{v`48&( zvDlU8osiToO07G)>+U@I(OCFpaz0wU3g=F)9bpWNu?FI}8PYFs7aVG_E;D6I(@NWn;aQT% z$OMUpRPm~XGy)h`1FFAl32%J4h`qVIGi-}msY)5m0Y$!X)(4gQ*%-d2U24NB0oYx1 z3*;vj$3v0ah~96t8^W_r0=<@Bv%~=gNR`fVt{;CP&jw$M655q!--UCxH-JYJV1$3X zO}3P_&XJ*FF|{{_qP*62yZ3&RNAATrsiGV__-h7#mg`b2I=@0RzI^}( zdU@prFtSTCc2;%`;K=OgtI#jy`3TKnl;+KSdBkc|Yf!~Bi>{cj(BLSE!B^)PwU1KP zcAAd7JWjgws}XjWLL{z;bKB zJy(zP(-=je7Wb6k_L#sw!QN%^yTD6Rdp_J5Zw<@K2mOBI!=hzsyFW%Ur$%K-U;hR7 zO}y;fw&F6SA86wee!F`j4fzo)EG=^Qf|peK_D@Z0xgwLt1PKJR^si5~{6}j)N$G#) z8#WLM?h2}QA`I^qy(G0k5!6K~p@ru}#AYLH*=5?zI;fz9^lvLA-9~ z2c{3Y(tffG`1y5pgK+k;i|7UOaX=0T%B0{3KquXRcde?C$HncfU)g+l-cVH~L2b@S z!qPDUj8hQWD!8mP^fe*|h26bac3OU0lqzNJV$~PKjX3IC zeNH=A|ubyGaZkwW7c`8n8Q47SvNr z1gZqxOd1Cm9cyAGWinQN>Q!cmvX(1#Y4svQvmYxJf=~yjXeuno1ePXL?vryQ&h7=E+>;q(?c5nEW86g!Vr5ZTShz9fa4F)M9S zR;k^2Z<%0sIT{B&o$^J})!~Ee3s_@6ty!8Z8cN>zB-?w2Yv*~(d;0V3{=fpLVU$s} z!d!_e)m#Vzn&VG%*-?`4oD%B*T63S<(EMxPKxXkpx{~6!*<&5(@NC<}b6dX4`o`!L z^itBUfPf}H1JNjANuw(rzutX$J2|XJU9+}+wt_-Y36{9RPd1aCO_cF=M}o9hoy2Mw z3)3mqXX)f%b3os(P-#deR<#4Hk0WM_RPS2%YZO!JF)qN;%R1FT#55j70w+giI#dDN z72R!KWZnU6ZZHh;I!!RONaK&aPe!lVjRZPO=GRJB>pQS|b+? zmgo!xRimGPU_bCO!cAHR=vX2piMq4(!gx^leP>9e(O*qMOEgBQKu>M@$T&Q(CXdJ! z(eYN0T!C|l)rL_-X>3P$)$PT;gf=mde$`DTP_rL(W7x4%+0!D;x!FkV^ zJuVFKlK4h{Fc%E61G>0h#Uc4=X9a$ILv>2f6H({ka0*4~HvXBs=7y-Av!vj{BQ44? z9v=0R#$Z%QSQhc-PZt?8(UmLSCi(-uy>irKPiG!U{K1N_GIm4u+A{O-(Lf4GBOAsS(YPrqJ!HiGf3R&y-b@1GYC4G*Whw!bn18SLNAj{m45Pig45 zpo*b>aceP;nG$jIlj(wjZOPQ*fCeHC3JQ~&qYMrag2Fa5G)#~-uuNPYo`cFy3qEZ03rYfa1(0a=cRD&g2N2jTZO)__zV70vwJgcgxAX&!W7*gb7DPX#kPqd-j zqIxRE^b!dt+v%XIQapuCsiNPZ`mwBrh^p_(QmNM$nMb&sD?ent2$7dx431`*Seu|; z`y|j`=HaZcyp)f1LB>0WW=lGlcZ*eRu0p3>t3`aI4BgDU$Ok0R$38C7;Ml6j*wCC@ zAEm!CRwYZf_6s$(Y&8at7?=gtTf}U^$TU1=fW1|996nR^SZ+z^dtmeEYDC{Fn<9Ke?-t*TRqH?~Dpw|9dY zc$U%9a&%JqpQ^dC5QLuz*VUwc5nZIVdC(z+ckT$y4T`?Kx~QF zJ%9=n{a3zx-;>zo?hS>%n6S1G3n^%N%RaPSYA^bm#qNkSA9WoRj+HNr@Ixa+M%meF zAii-qLB(%U^w6-PhQW2nE6IQrM>=Q7{(@=Kcz#s+yqJ8A*ona_G~+iJ);;RweVX&7 zo?&jEpvTk!@Oek{lZeTL;CuMR?Y_}7utIwxUlB-5fj8;M>UftQ*s)uEApvS0bG)nS zXCx`Mu0E*PBQ!V0@4UrW(E&eo-=L<#n*~|d)|>r3h+#aR$?0<<8vSC6aZ2oovs#;9 zaL%ekF!e?gTQ>j^-jFnw)!+d>E^(c3s(CN{Sd)tYn8M7=@10H zp~wgAgu*TWHbBY0sgsi&-_L(fZ|#D!2p8*8L7zY`3$G`6n3F}+qYr~$RhcT)ZFU|5 z)>egWTdWiOAs3o_5(3ROyAExtgai5d%@T{U$gY?pqMP@sGmh^!9=N9WI$>!Fw}w#wk4PIzumWFaj&goE$; zwXX;?mz%1g3W{tx=M?~K%n!A(J1YaM%UT~OuuRynOv6YqCcozAzc~Jm>S&F59>2MR)z%lQCQAQX<|BcwhZjH13Qsnd=npZ4}}Ru^nVUg_y+ zPR?E+2x*%=%W%4<%WecHfU=p#6ezcthC8JKlMf&qvTX@!+Nfq?G16S?db-~2n|{K( z;sIl?9wfS{@>OT&tLi0DtQ*eFmF=ag0-jF8(#s`zTO92uyh-)PjH_q>Ug|5AH9dcr zs;h${NxrfUhvXFZMt#W%$ZidcW`1dnuzu-U4aN?rH#BXeK(-1mE$wyT=l0RhJ^xNa zv;FxNWf7jq9dJd{C$E{NOPwTZ5q)PuMN(yfB2{r?JSll6+!qO)eI1-MdQFkpmu!T_ zkT(|!&Wbec;u_sG<|L91dBx89ehb{3FlP7^8dd2pu!^kLhR=PjJO^Bbs~^0)iJOMn z80SDd!5MEAkj~bP^qvVETvvd5MJNY~-$HYWs0g{4>%>G;7hSpd@)>hN0nMeDmFhsMeIdL7b0+u4f}>#S1fS~MAd{^g6v95BIkng>5inVuQh_> z)gI4NW{9bCF9>EN9MH&=)G6q(*_r*eQs9V5vG#0dor*TuCAC1x5>8!U7>w5MHlJ1D z36YLa;F*#oiEOsD_*Kc7{0&YnZXtsrP^#)N$@M<=nloo%Y7&JUMD1*x)LfDnV|LR11}1SN zUR_;56RWJ!>hQ&y0 z5_9~#PD**$$#=5QmrPFEgpq^IyzmNz%~(skePxjaD~RwN5Z~rH$(hLrcUf4k$9jlY zYQ{8<=A_^t;8W=Z=_AyE^(K8gBiIqtOWVxZv;nC*a-2ZIA(5iEq2`TdzoL7En|5KL zC8C8Wr-~)S^|8z7aIa=5)c7LAD z9*&G2AkIkG-dbnY21~xH7hGIJ(;mhT&|+Q4*V$!H3|L<_!$s8WC(`aD$4HrW)tmTM z>HscvBrpS@oP7rn8@n zZml;M{;EtVfcuQ(Iq1V3rfi;cu#D)7yFy0ghE!y4TU_dAufn6ivev3ea55(x$;rmx ztG=)s_r=<3mjh{lw_~2Cc!RuMKupzZMSUv-r3UAsGo8CGvoiHVBSja$V%a!gJr50P zyYDxMw7>SsGK?<$JHikC3uDbMx)H@4ifQU`@TTDDSh{uZ`LkK0yOZCwGgqkSG8hRl5v5uvPWdHcIf+20?pw*U=l*QQ#$zxk#i z5|XhPace*=P{P5*NG<~6aFB{!k_pXGT@p$*@uk&R!QURs8cV990$lql+uAaTk8PCM zwj**}af5jteskhm4e@}OnMUfOZKz^5QTbuKxjnY{mz|v#S-RJo1^OH-B6jp24@9_* zGarPkx1aN9v*FR~?KF8jx6}Fjt~lGJ=x^C2aMAvez(lVf@b)L06wrdFTFy59X2j>aG4TSm0uZ|_HH3W8VlkqF(;eI{6#-fzW21hHrSCr$kGe90<1@vrp~)>!LUzQreO12@=5|vz{Jb?cCb6tX-5T;eF_us5set@EN+}O0K{EIqA(yX`~szfq>><{$(Nm{|KWb zDeKvw2%+*dgr~8}RTfuO5vbAlhCyAbgAznZ+6n4vifJPG#E)HLic_#SxuaNqg?|$} z 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 *g%|T)+Nyz4^ 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 literal 0 HcmV?d00001 From 3eb2a3731df413a7f3122dd8e3027f37509d01f1 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Tue, 1 Aug 2023 10:28:57 -0400 Subject: [PATCH 02/17] Add missing deps for billing client --- build/android/config.gni | 7 +- third_party/android_deps/BUILD.gn | 71 +++++++++++++++++- .../README.chromium | 4 + ...e_android_datatransport_transport_api.info | 14 ++++ .../transport-api-3.0.0.aar | Bin 0 -> 4898 bytes .../README.chromium | 4 + ...d_datatransport_transport_backend_cct.info | 14 ++++ .../transport-backend-cct-3.1.9.aar | Bin 0 -> 53551 bytes .../README.chromium | 4 + ...droid_datatransport_transport_runtime.info | 14 ++++ .../transport-runtime-3.1.9.aar | Bin 0 -> 179644 bytes .../firebase-encoders-17.0.0.jar | Bin 0 -> 17847 bytes .../firebase-encoders-proto-16.0.0.jar | Bin 0 -> 38980 bytes 13 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_api/README.chromium create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_api/transport-api-3.0.0.aar create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/README.chromium create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/transport-backend-cct-3.1.9.aar create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/README.chromium create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info create mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/transport-runtime-3.1.9.aar create mode 100644 third_party/android_deps/libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar create mode 100644 third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/firebase-encoders-proto-16.0.0.jar diff --git a/build/android/config.gni b/build/android/config.gni index c03214c8a9c0..33556802d132 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -45,6 +45,9 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:com_android_installreferrer_java", "//brave/third_party/android_deps:com_brave_playlist_java", "//brave/third_party/android_deps:com_github_bumptech_glide_java", + "//brave/third_party/android_deps:com_google_android_datatransport_transport_api_java", + "//brave/third_party/android_deps:com_google_android_datatransport_transport_backend_cct_java", + "//brave/third_party/android_deps:com_google_android_datatransport_transport_runtime_java", "//brave/third_party/android_deps:com_google_android_exoplayer_exoplayer_common_java", "//brave/third_party/android_deps:com_google_android_exoplayer_exoplayer_core_java", "//brave/third_party/android_deps:com_google_android_exoplayer_exoplayer_database_java", @@ -55,6 +58,8 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:com_google_android_exoplayer_extension_cast_java", "//brave/third_party/android_deps:com_google_android_exoplayer_extension_mediasession_java", "//brave/third_party/android_deps:com_google_android_play_integrity_java", + "//brave/third_party/android_deps:com_google_firebase_firebase_encoders_java", + "//brave/third_party/android_deps:com_google_firebase_firebase_encoders_proto_java", "//brave/third_party/android_deps:com_wireguard_android_J__unpack_aar", "//brave/third_party/android_deps:com_wireguard_android_java", "//brave/third_party/android_deps:google_play_services_safetynet_java", @@ -63,7 +68,7 @@ brave_chrome_java_deps = [ "//third_party/android_deps:com_google_code_gson_gson_java", "//third_party/android_deps:google_play_services_vision_common_java", "//third_party/android_deps:google_play_services_vision_java", - "//third_party/android_deps:google_android_datatransport_transport_api_java", + "//third_party/android_deps:javax_inject_javax_inject_java", "//third_party/android_deps:org_jetbrains_kotlinx_kotlinx_coroutines_android_java", "//third_party/androidx:androidx_lifecycle_lifecycle_livedata_core_java", "//third_party/androidx:androidx_lifecycle_lifecycle_livedata_java", diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn index 4d5eeef5861f..0423395ef154 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn @@ -7,6 +7,9 @@ group("android_deps") { ":com_android_installreferrer_java", ":com_brave_playlist_java", ":com_github_bumptech_glide_java", + ":com_google_android_datatransport_transport_api_java", + ":com_google_android_datatransport_transport_backend_cct_java", + ":com_google_android_datatransport_transport_runtime_java", ":com_google_android_exoplayer_exoplayer_common_java", ":com_google_android_exoplayer_exoplayer_core_java", ":com_google_android_exoplayer_exoplayer_database_java", @@ -17,6 +20,8 @@ group("android_deps") { ":com_google_android_exoplayer_extension_cast_java", ":com_google_android_exoplayer_extension_mediasession_java", ":com_google_android_play_integrity_java", + ":com_google_firebase_firebase_encoders_java", + ":com_google_firebase_firebase_encoders_proto_java", ":com_wireguard_android_java", ":google_play_services_safetynet_java", ] @@ -44,7 +49,71 @@ android_aar_prebuilt("com_android_billingclient_java") { aar_path = "libs/com_android_billingclient/billing-6.0.1.aar" info_path = "libs/com_android_billingclient/com_android_billingclient.info" ignore_manifest = true -deps = ["//third_party/android_deps:google_android_datatransport_transport_api_java"] + deps = [ + ":com_google_android_datatransport_transport_api_java", + ":com_google_android_datatransport_transport_backend_cct_java", + ":com_google_android_datatransport_transport_runtime_java", + ] +} + +android_aar_prebuilt("com_google_android_datatransport_transport_api_java") { + aar_path = "libs/com_google_android_datatransport_transport_api/transport-api-3.0.0.aar" + info_path = "libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info" + deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] +} + +android_aar_prebuilt( + "com_google_android_datatransport_transport_runtime_java") { + aar_path = "libs/com_google_android_datatransport_transport_runtime/transport-runtime-3.1.9.aar" + info_path = "libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info" + deps = [ + ":com_google_android_datatransport_transport_api_java", + ":com_google_firebase_firebase_encoders_java", + ":com_google_firebase_firebase_encoders_proto_java", + "//third_party/android_deps:javax_inject_javax_inject_java", + "//third_party/androidx:androidx_annotation_annotation_java", + ] +} + +android_aar_prebuilt( + "com_google_android_datatransport_transport_backend_cct_java") { + aar_path = "libs/com_google_android_datatransport_transport_backend_cct/transport-backend-cct-3.1.9.aar" + info_path = "libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info" + deps = [ + ":com_google_android_datatransport_transport_api_java", + ":com_google_android_datatransport_transport_runtime_java", + ":com_google_firebase_firebase_encoders_java", + ":com_google_firebase_firebase_encoders_proto_java", + "//third_party/androidx:androidx_annotation_annotation_java", + ] +} + +java_prebuilt("com_google_firebase_firebase_encoders_java") { + jar_path = + "libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar" + output_name = "com_google_firebase_firebase_encoders" + supports_android = true + enable_bytecode_checks = false + + deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] + + # https://crbug.com/1412551 + requires_android = true +} + +java_prebuilt("com_google_firebase_firebase_encoders_proto_java") { + jar_path = "libs/com_google_firebase_firebase_encoders_proto/firebase-encoders-proto-16.0.0.jar" + output_name = "com_google_firebase_firebase_encoders_proto" + supports_android = true + enable_bytecode_checks = false + + deps = [ + ":com_google_firebase_firebase_encoders_java", + "//third_party/androidx:androidx_annotation_annotation_java", + ] + + # https://crbug.com/1412551 + requires_android = true } android_aar_prebuilt("com_github_bumptech_glide_java") { diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_api/README.chromium b/third_party/android_deps/libs/com_google_android_datatransport_transport_api/README.chromium new file mode 100644 index 000000000000..b7eee1baf3a2 --- /dev/null +++ b/third_party/android_deps/libs/com_google_android_datatransport_transport_api/README.chromium @@ -0,0 +1,4 @@ +Name: transport-api +URL: https://maven.google.com/web/index.html?q=transport#com.google.android.datatransport:transport-api +License: LicenseRef-AndroidSDK +License File: /brave/common/licenses/AndroidSDK diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info b/third_party/android_deps/libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info new file mode 100644 index 000000000000..ab7df3caec43 --- /dev/null +++ b/third_party/android_deps/libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info @@ -0,0 +1,14 @@ +# Generated by //build/android/gyp/aar.py +# To regenerate, use "update_android_aar_prebuilts = true" and run "gn gen". + +aidl = [] +assets = [] +has_classes_jar = true +has_native_libraries = false +has_proguard_flags = true +has_r_text_file = false +is_manifest_empty = true +manifest_package = "com.google.android.datatransport" +resources = [] +subjar_tuples = [] +subjars = [] diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_api/transport-api-3.0.0.aar b/third_party/android_deps/libs/com_google_android_datatransport_transport_api/transport-api-3.0.0.aar new file mode 100644 index 0000000000000000000000000000000000000000..ac1340f615e74bfcdba7db323cdd792bed383779 GIT binary patch literal 4898 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 G0R9Wax4E$Z literal 0 HcmV?d00001 diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/README.chromium b/third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/README.chromium new file mode 100644 index 000000000000..d5a9f3c64061 --- /dev/null +++ b/third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/README.chromium @@ -0,0 +1,4 @@ +Name: transport-backend-cct +URL: https://maven.google.com/web/index.html?q=transport#com.google.android.datatransport:transport-backend-cct +License: LicenseRef-AndroidSDK +License File: /brave/common/licenses/AndroidSDK diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info b/third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info new file mode 100644 index 000000000000..54a43c2426e7 --- /dev/null +++ b/third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info @@ -0,0 +1,14 @@ +# Generated by //build/android/gyp/aar.py +# To regenerate, use "update_android_aar_prebuilts = true" and run "gn gen". + +aidl = [] +assets = [] +has_classes_jar = true +has_native_libraries = false +has_proguard_flags = true +has_r_text_file = false +is_manifest_empty = false +manifest_package = "com.google.android.datatransport.backend.cct" +resources = [] +subjar_tuples = [] +subjars = [] diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/transport-backend-cct-3.1.9.aar b/third_party/android_deps/libs/com_google_android_datatransport_transport_backend_cct/transport-backend-cct-3.1.9.aar new file mode 100644 index 0000000000000000000000000000000000000000..50eb4ec2170e597d70f03059586472e7018af9a0 GIT binary patch literal 53551 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 CRibbJ literal 0 HcmV?d00001 diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/README.chromium b/third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/README.chromium new file mode 100644 index 000000000000..243cfe56750b --- /dev/null +++ b/third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/README.chromium @@ -0,0 +1,4 @@ +Name: transport-runtime +URL: https://maven.google.com/web/index.html?q=transport#com.google.android.datatransport:transport-runtime +License: LicenseRef-AndroidSDK +License File: /brave/common/licenses/AndroidSDK diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info b/third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info new file mode 100644 index 000000000000..eed7061c3e72 --- /dev/null +++ b/third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info @@ -0,0 +1,14 @@ +# Generated by //build/android/gyp/aar.py +# To regenerate, use "update_android_aar_prebuilts = true" and run "gn gen". + +aidl = [] +assets = [] +has_classes_jar = true +has_native_libraries = false +has_proguard_flags = false +has_r_text_file = false +is_manifest_empty = false +manifest_package = "com.google.android.datatransport.runtime" +resources = [] +subjar_tuples = [] +subjars = [] diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/transport-runtime-3.1.9.aar b/third_party/android_deps/libs/com_google_android_datatransport_transport_runtime/transport-runtime-3.1.9.aar new file mode 100644 index 0000000000000000000000000000000000000000..c528e5ad618d513d7b86448a2c502486acd0cd0a GIT binary patch literal 179644 zcmV(|K+(TYO9KQ7000OG0000%0000000IC20000000jU508%b=cyt2*P)h>@3IG5I z2mk;8K>&!Op*a5n001Hf000vJ002R5WO8q5WKCgiX=Y_}bS`*pY_(KPbJ{=*z2{e` zKD8aNlS~h3O2`;OTPGA|Fi9pSX0c_n#ol#y*CG7-${*M;p`9FBUtqP;ll1hoz3Z1W zfoD{jOL1kL*{2qu2xQ1bd}ZY(>Rwpa{gd9iZWo3!+bSNf44j{yUBEXf;{;(m9zwTU zyR`qtJV2o_gj|HEz^oA5j0N;l-*n)i$_nT9DZDQntoq9O@TCRX${bR*1tAUO8VQMO zh&W}&mjE*ZTtFbxEa6N92peuzWwsj2Zjqj9B)K$hFZ#bIxqi)g3k?4Dopw^)9SI!ktvfKj8sNjGtsf~nfKq_FdLb@}u zXlSFjp$T+A%gAh)!WJy#+9lQ&@`;;$2V$2Auv{NJ--3bbdw!>ddi3Vsr}uMs zbZ0YnGWSM4OlL5hPHw!pH=WSwE4Y&qT5K{=7E z%F`JJJmLX0E8?8R2(cv53F;9tR4Lbm5;PSXwqOZQxnZWfc-3j0G-ZNEs11;eg}$VC zC3$#d)dSNss+4KFw%a5Whh=MrI&f;6bprI!P}fw}l|>$QTq?T>3K>y?XPDn_&Kb^h4`=K#9prwJ1*rBZkG zwGOsB9FBZ{F&WJtr?b0-KX>P&60d|SNOcpll6hS1$j3Hwp`3taCNBg^3XByCNu0}^ zCtKzl-xG2%ULg;ibvc+OUqjDdXmR>&OuZPz)cXxxJ&o#_=H3|gIjqQd>)h-@ z5@DW@^6Z~-xp%siOHV}7uPmtiDyMZcDQy9PA}K9miT;CAJD8)x8qiuTZl{BVKbk$z z3sOj`>DZ}TuBA}g6b8s?ZT>3_Zo*Xhg9+LO)o?LTl7#`&W>%N*HdY!X|LY+xX!5g9wr?-6qWeI1Cp~BPu=IZeP)h>@3IG5I2mk;8K>)JIC3xPa0sxRW z0{{yE003ibVRLh3b1rIOa;&>ma2>&xt|_pXnJu&!wwRfj8Mn}4X0ioa%*@PSF*Ae3 z%*+fH!}#3p+cW1x&qPe$lMfZOGOJ!zM1Jf4Yh@|PLVf}JJ7B>`VM!t4!5kX;{>CMU zU|=SHXHD#FnJnz>Eo{t~fOe)%_Linhra%{k)g~`d)&c)K!j7iwl#a_wD z-o;+r&cxo-%t_2%!QMsP+3Y_<3Q-$NGdmY~GZ!aI6X*Y&WHhk>Iy+Zstf>%4qVo64 zix?m#GozjlAd?E~{SN3gijC}q{Tb}aicURHJ1V0yuxqBN9fj!mTlMQLdvt{p*}S*)xtD$&w`JpU*vz?cyiF7Q_}mgYH%b$R|>OP@Tup$qkK4Cn(l#9d6J>iTDlb5wGz2v=!N2#}!M06Mk_{zqN zm_-x|!+`i+Qp0Q|4)k!+KKGg)oAx9eL`w~fE7sWstq2+_v#;g#0Gz(c zqExeZ=s82%v&BtHg*gNP_s(hBq|lUStIZ0+f=%5_NaK-ziK(XT!}lMLio3w_bGPEj zG8QFN(CtX^#cPLw=3Fnml8r|_Y24OTniFNd6?#x)#rMUvB_+p}SNKHdF#}pCb769x zry~tOlwC!$7gmnjfH%UH0TzMb3pfHE%?A$$hp3%4{pWI0iG;Y$4wc>VJZ}fx9#@y9 zd~ib+F(#x!7(?aNaQLZmuioV-bVSt@cF;l3HkEQ5Y3Cj*^|rOoo~R%+?$Fdk7))Ry zXRDG?>6b}OSxJJ`Z73%)BV2M#Ku|k`9TyF1*>Y%osq$+*H)*gO(P>B00unHgYQK>UV+H8%5LZNrvE@AxOHn$RBo8d>i#{@JvZE zaGsJhDf@it{zsDg9A=g*ixH-8sLshZ%{6>Lxe_xl4+HIdSRS&uFw0qPo{!xlYd4XsKF@$#`DGnOOJOX`7m^1atP&#hHxt zXCcak6!SX&jOgfTSN^~SV`hbomyoXwpM%VLzlK{+B#LDv`jj3c%Q}MC)D=a9JpQv(~81}qcT|rPZpn)=sUJvCHWi5pBQeiW{ed>r1WRhe|y%gt26| zzE-54D4P8GqqDq+5NHPG;Fe87$>>F7*oDP7Q`StX{sV zE2T0ezXP7V0(QwItOvFz*Vln$1r4N+h3OZ->CZwA+ZNaJm}Bf{%G*IXCVu{rN1Lp` zW0FCTe~4_rSEl?Y<^s{<4;B967U>JN;`_~`$HP}^d37Jn!EstAb!z*WBPO1gL$CK# zL)UwTKQA<&bdpzPOCg)fLAplGH2%5G10isyqzQ?8uLCQXKQkz%=Z?u4p#ice8mI-Z zGn3jno>E(q_ug`R(pnUY`D`(94I=br(szWi9?~I+mIk>CwzHi1VzqB#s*r>2B5`Zf z<}iaVGnBv3iut`hA(j3Kp_(t*s~wPFU|R71W`s)G*c$_F{(FS#s$xpw@^|V%FYchT z-JoOGQ=CJvlu}S?i|D05Nv1%hVg2c?^RifTtps{m7Z1k{^BwWi$lu1kL7FUhRmePN z5+{vu_M1Yn^`M8BUz}Y2nsV=&E9u_-)ou6zX9VAjd%5hiP%5kK9^BiR&Xkp|ycbTF z<1H-uGIlMh$X(Gl5+cL+tTLK!F`j;HVWwS9@KdU||E{{y$z7Owt2WS78Pen_@BWA2 zK4`qNtyasI#3qT(cEoGyMm!0o5B1C~o36XgAS5JLQcyxIbz(;9$%Y5jE0Aj6Xl`iqzKGU{|)+i&xaxFwT(m4?LK!szCj8 zRpiYsFvsO#S-~Q@+6!cBb4blo-EfCkH544b_BAK&Tml^+%&Hp8AJowy!kD!4%mQ#C zted`5OM2l)pK*nXc1rD-Ks#?qS#e40ECts|(HP*2)=9hg#Iz$G$UXQ=*Wq!N?6FN2 zI>PrO9<44)_LsPXbZD5svRA&P}}f5VGb;Yl8!wMEQ} z&cK2zhj|UAHB#gYi>yYd84%zmX$Cn&ct{>ehxpPQ-KNNkv{P|~YiB>7;+;()s7wyH zt(xi__r+S8Jr)fEI#KoM<|q%e5E2;_9%_er9}11$h;i#x!FTsnFjgTZ6;5nmUGmQG zY0EXI#U#Mt@Cnqs6Ua^S9UWbSc?Z|E)r$(9K)S;ZPuFx`L99v3VNhiiw8 z#&g{)-=X|7Jo=*|6PW(S>j+?AX8%rj$k|(nyZu#QVovrB4rZqRf)86~40TLDy95qP zDN9T6A{}u=4&S^r5v*@maMH9iq-E0SI$Nja&IHNQkLDbljec|BW=hYwALyo(KPI_+ z9wfQ5JGEt`Yi(Jc>mJRnJSVxQ_>WfJkG2Fqp#d>0{cWTijdiF8@JlWgrU>}3;5;wE#!O@O`Hu$~&NyYtT^fD=?~kbIcm(jT`4t};9joBQ=Iia64_DCtL=%}n!q0Qsv^m^v&8%N!o+=?Ya@aJ%Z6 zr;;clh*V>Gw3_TonsQ27w7o?no4p=jfv~K<8;O3RBz!4IkwGkS@ZM*VcZqdCo#S%< zqM8b4+>o|KFDiKOScw9^6K1y=zSgn-#K*|RHo-c-_S@x`fqVLkx56n7o>%j|Ocw36 zgeF3)-E8a{A`VYzG?4Et{%UsfcUghLUKN-=p=+vtZ)vHy^P-7x<^bJfl7SiSq4()R z441UxP1-&E#Y0L$lVuXh?jL`(*i!w0VQ|7>c98QcnHtf;Y`#jFW^LC_KYFA56IgeZ z#u$+H$61STrfk*+;bcg{MWAWT`41lvsJ!pMX=I!+#z?|jS$QbXSug1t_)(EVo1>B*d*Je3xpVc3wtgXG z{DBjY9;&^}C7j2JCN`+4Aw#t%f(~xwKf|b|JG6=x2&*=I10MOce38A>h(3~rwnjd$ z;NM&@dZ66RiMQjOxInPjBeP1(tR4KAMRUY$)lBhOCfoq-KbV1Yio(c(t4tr@OM}RS zZ!LAA{rXVQVjm(?tK?$DWE`0uk^3fvok*qx)NI$Yrj<@11HQ| z0RtlHbBiCi5K_SgR#5OSD;0bS{xh+Thk5Mb|Hi9-<&OEknOLg!u1+Rq|Gna|RVDa~ zEJjirDbe2hs6~z1dHG!g3QP3WdA2a=++E%FmG$C?@y!6L>)}u}5Z0AeoDen5ux7S;HFobE`%QItrTi6*uYq_?oF0N~1 zwY2?(WWxhUA{6}b=4iO-YV$Q1Mcw>_23m*rBz5tSApUch)RAq9dp052 zOVWSe>#PD80JNe|!7;)2R~77P^#c0SI8i5RYAjx4p*hd+E{~gL68o|{cJPa1@PMfo z!>YZG&_#QbsAE{P3u>fUW~D@LdC1!G_bya-gBeM?PTX0YDWe**2YO{X^sE#QjHTJU zsFU1%qt&Je3v#Vmv}UZl(;#f5@z^Cih}tKaFC~tYkt9QS&3fYNLG#Zit}6pDr3vYtSiOYBqHhoVSnI8X9Sk{VyX`eVw+)W*z6;bFujB?hkUXhI2ylug)%P_F5g=)k`h<3s#gDVs|1-zp*Ab_&V$H zE)_WO`{FXql)q)9?>VT1&`I>q7Fv6|UEu4n$VGFP|0XHLM(b(OEWf{Uo+OCu;yV}@ zuFE4;)YytGjyI(UoSSlZfMbBZX7CMpn_%~m+>%=R0mjF5_y=0sbCM?*F17>kN=0d| z^K=bm4%s5B6VNbjd%=F}xb=h+-;F+CFYqKrkPCTPRXx3hf2T>jV{-epIhD4PRf`$i zwF>9kh~Z`Gb%@0{*(FjLtoS(QUx<;95Q19mYWdU;0~zlRH2Q-VuXv+ zean!jQ`+S4NJE)laq+%A`96S=L&)^R-bQ*&-ltVE*%<0C9LedJym)kjfg}Z^8k_nv z;tK~r@eGQOOfY2j>8DSDOBDF6poDY`>JaYp<{cAGkFO!<<6q2|5~<+s6$BXA7g#Vb ztA8hr{y*0KlSt~iiWtI}AH_=8V`N$#B)Mcxma;%$rFjih*)Vw-VI5|HG&A>7*<_-+ zEcDGcc_|13^!|FmF%P#jA*jBp;?YcgR*T64-mSEckGnmbA2h$2Q$fq~;Ubu})hE#> z@Zy0`(kfV@3Z2zY!v;}k^^VT}GB zD4|GCW!%jVCL^o{zc7{3vYx|@=+R1rB9{9wqj&lYN(70p8+20}v%AJ?0gbWHP&=cuC1*GC}N?%K{tx{FNf& z8IpO9AdZ42-3gCA)Nc6S@Wr?g##uY^wg#R~N0>|^Z>HmFeElx4iZ_`W_k=_NM?d z=SU0)VE{EnJD=3?XW3c?V|-MDq#{IC7ll0es1&pb%<+0r3>bO?$8$!Y)NHv1qQkg* zKi~Q2So<3?(mmwrp5Y9CT};;%u2oNn38#VL4=(YqfAs&T|E{R+_yrX6dAtZElUV%q zhIqn%o?0M8z92NWAY@w`Cwf1GGSeM1b600u0pfBBF^^opB)aZ*{}9{W18?A$3!>`Y z8T{Jj{*E5wOiYHCx6Jy1eDiZrqt9s(W%I{Um(2&lKW{r61_bbbh=BILBEa#qdB<;OwiD3q0*%U2Vw%?~1;5Q)$r5bH;$VE#h!Gr8QBGh?kL%Z#($ zTeU2v>uI+;&t#!&cJj+SUdhyla`cv+F+3V1&|~zy_K|n%G0Xch?d{Lwl|Mx45I=~w zt+Oc6rrp#@ygoeI7BeZIl5OXEvThSm9v7A@uCAW6T2SZia-V`uoBsY}M^@ut`uN%S zPG${J)j&#%1L8*2m5dSMmigE3DC~ptmGO0Y9zCvTQ|GeYTMiz=&aHjc%y#ceM8=fP z=ja4dOaerev;qVc$F|iHB0qrVPgv5&#<&6jF{vrRz?+7rr0I!icj{5ZIfe*BK#O+f zQS~LRSvYZa1#WQ+HLF|$2F(tApc;w=Y*AgS4_O5z-X+mzyh0&)TNA0Ptt)%lLTwS^rVunS zK~W(ad`912!mK_-{PJ;4H(Y9K=svmwl1q4uPi-7F-x@R57d^Fco4x^+hM@G$C14CJ zq;d?B&^L{anH=*p2t#y57VhPst;tK{lHyirnNmxv zwXfVC!*L}thu5-(8tX|IM%B?F;*<@3vwb!4W=YgBNkHrkN!KPtGF4E8m~UZh!mG~8 zMFGVflSaSh5Gl_7GA5DpH7FV8E6C_t?R4#qybJX}MAgahTSf}G2KN-+F=UduQcNqL ztWO?1mxB#`;8AqmKVmf6Kf*F%h;N+GmDo!DmD%R}NVA?k!$tf`SDLMu zs>B;A2Q&l8(lJ^9Z|C>jV9=AvBWmYOhtjj?RCm8M5_n@{R?(Byp#iX@im!E@ z&|4zx*InZ5M>-=ziBnA$Z{uKJ`a@sDYmrDVuSR&KH(AZaV+fFomY%glEtGJ{-@;&g zZ}l8>=J!9p8wSfF{VY}`Xi)iX$_72`=4cs0Nz@|Wt^aZ8{uJqVunG=wy`B1~a-4`$ ziJ?Um6^Nn8%w{mS)(s^4k#DK5yCgdwJOp*qe)>8J1$y99Xn2Ux zj;~+N)D6Yi`-w|wkV>6iGp@q;9S=m-Z1vh3_*zT!xBfpPouWQ{1-=Q{KQiBZk~4o` zFwXdZ2_|R@^uqe}a`}lP@}}lLvt_HSW6(;jx^A;cJ6q}!l;ACGuxh`R(FF6D?PBqGjwpeG= zt#_ETP(C`@jbaf9*r%CbwKbS=7r$1z=Ko-R)APv}TwvFAw_3IO1IH=W=0UNaeQ;BL z=^Paz;CH5iVBF)&Wt#2VkWXMOfeo$~E+ln07$1s8iN zBrgC3ZM*Z`K6zBtOK4k4ue2!pYzCb4KpSvXpQ5+IuaOc#=p1rj)js}e3I_#OCkKT((wCbR zJ%$!Zra>VQChTh-Hhf<+$$tac|Df#aI_y{$UTWAV=k4v*x^%5i2${RX?u@=OsSzJZ zH|rT#cUXsJyqvF{f+VqClz(uoV$wa<8E(*cLZR$}w6QtQFS}aR@8SJ6ZK{M2ExKTR z)-^SH&ZNsOiG!rLN!N}vwH=W>!7RFf3#Crt#Y{1t@Zr=!N2OU~fV2p^k@qay+%!7- z-K;@^%5ZnpdG+2X#P2nrAHJ)^kiA0)3_W_(FIRVVg`~znC#1x`cSH>%=PmpMwrNBr zj-5a!Bo`-eJadshpcHDGoKy%w@6v8p1Jxn*gWgvr`w?;y@e0M9`re{yx_MO53t3K~ zbLjZqnj+)rjq3xl3e}ct;96W4lmh`EdFS8l*;nr4 z{bpGbm3IuiHkFMj*jrR7(%#8*9*UPQ$4{!$p*S_#e8%v~NODz!PdD~g4YZar< zPJ7=&6VcMrdhtbuE~shxK1;HCkC$85{S?%Gj7j7_!O9~KCC2qB(Seoz?Hr_0-pTA@ zD4YqnGl-U-W4G#KWh>yHm~$E4WFyegNH3=I30dM1m3mj~%MfPlt0;vn9Lv;Ziwpr> zrME2=EGXh4BcT~cBzvzoS@rRxdc`_0(~B&J(mVHB?r-8ZbszJrtx0sIykhi8c|>0G zjGdd6oScTZy+Z)+A%*+uM{YGerrRu+vbMa^n9vysPor-u>yt;ly<)Gab6mB8lw#=b z;<~T6c4pBaVMSMFjqSKK*Gmt-rrZ^g{k(OoCTH$ju_U5iuLhPEqj`4R#|l17{=wctxOi2^@|pU^-If4b0eK61S&rM! z-#2TSdxgabh1VBx>_AMLfqvf+4t$g1^2nWH$b-2O9R*O zs|Y?BmQ3Z1RE1&ZS1GQ@N8+RJ7OPlqpwyN3GJ&Lse<>L_cKX7c(AKAi>UAhFUqh3l~Uw)E-w3wbi0}Z_VVix_4tUy;q9R^jD_9xR#(%2?zANSY2=e~!EKC3#| z2QyEyl%oJkg26+L2?x4-b4SIx?c=_3_$9>EtjW0dtZsXENUIf_<-U}*^pQ0V6FAzo z-WUGqkNRY}@gDlXV@PX(wJ8TY&1HWyKC)}5X1s5&j&?WXKggL{*@u&tv(r`wmw26y z={}%4ekdE*AQGH^TMfKM>N1l}?V*T)#a>QAfUuq$J!AO&7RKvXsYvDjopj^RRr9s# z(r0V1-jbmmu<;B>huZbsP^YxvohXbG%mwTH?LG6Sp1G7}tg!^^Z|eR`4K5v^1o(6u zM=J7kk8VE?q~8WP+P&HeM*KPEuh+t6f~9>Mqig$t?91H~VvjEJXK2*Pv6Ftj!l8$+ zm|rXeemEL%ft+nZma{D~OkZi%jLu=#m^}&i=&zZJ0m%Br8vpunB5}MF(ET@}0|x_> z`u__L4WNyync@HH;Yi!Lm^s-2Z77)k0~RdLqo92yo1}ixgj+XMO}EY`Ed2W@(#SK%!v{z%ad%DJbs< z&&n6sn_gO+VSivO4X<3H{p=u`@)}R09RWVtj>4;vaAHfB&#A@5yNKMjq58JQ?o@$5 zRJ_AeYmj^yRTwrV9(&SrhpY8k{zLLUzJ8U@9XetP2rw9{c=m_Y9a7yR{BGC_cwx~0 zebN@cOHpA)yDUdaLSLKT0=wr3dU>Xnwr!G_4zi^!S5^(i3RR7ri{>$#MjSi}OaFEy zHfS{uZ>Y#JANQ+T2+<&li3c`C_<&udceex9q$He24CenfidQ8COApOxbL&Bo^Trs({6UM!UT zO_uXRCm-dNcEs$neYlqhSzLWu{2B$=YkIg?ICv!-d&V+>*FY15YQYR2X%k$&0zAlp zoL82{5YkP1U2Z$xy;@4ah2mvT24YqQDvq&Myn+Jw0;T{18xt*V+J_MbK$lihC}AJ2 zkrobxfOitIIDp>DtSEWhF`>gYr#U@ITaomcOybLcCH%1wsaF{3xz;5FsPRSxSH~aw zXy8S&v;n#bUgG3lCO$!`oO$a21NuPL^|$|8kfQ-27R(^j7!&_i(ggS3Z8cX_pAbg? zrrb;R@xq%7(+$iK@JXL3S4qLYUO~eXsmxM>Gx`Oqu^AbqUH^3q` z6RmpJn@c1O)$I~Sbiu36JdarqJM(<6KDO2k%kR&8B?0(&HSliX#7jugS&0p#FPD{t z*^D$^I;4!KE2{Fz{8)l3OWynkJh%o4Q)kNJ{JvkNN7TJm<@t-iHJap%_ZYYjT&>9G z11W=!FOa-cHl#feqvlmr$Pd9Y#e*|-w|JsXY1pE~n&o!GU>K_0r`K;W@My1#ZM37r zqGeu|N;?(q?NL{ni$b7r2Jc9+2Ohq(VmEkoMb8p4%c32xeQV3Pf`RYd!_mcj`kWG>aPZB;ey$*MtS)A9-3V6_DbCeBl1RX9QtLB(zloS z5S+BZh}aU2F!u&}14+0|iy-%UM1#%&1T-0{l`jU>Vi9|+Ixe!u(>^*r3KuwqgDC^o z6)ZX}weGeYK?5T%E8l%Us0t(}wOro_VH1%AnDj?nJFov%ZH z;KyqOfgxX?5W|xzPPskzH*rO0nD=SbRtSG%J@Yg8F)JlUw4FjF*y<9b0iRA9EiB7qq5zciWHSZYQa`9F0BLbOt-OU- zAgDlAD3}LDrI)$tK3AX@R+pBY|MAfImpSLVm6zO_iyPhk+UKGf#|?}^UAN$mRui$E zicilu&t&o3D*S8r^xb5)=!`UOUVgP2`u9k)8mFCyXf!0*8BED9bZqniO{k=mvq}*` zQWN;6N=&mR`1rAyW#awDie7sC=zL@(hZmj<(&%2nM3 z4eM7;Pvlt8&hnc=5s*Ixu8J=L-MvJ}k~w+DN8ElDytIZ#<4kmg7u%;oX)ivk1+;l` z`u!gDG=!H8g#I?Uj5e%LNwTJn`78tFc^;k@@+g&)3b0AG&`(P4YJT}Z-oSS=iLt3m z8J=07A2jaR6iOAfn8YiX6b$lI=_52sYfGmq3j@zF-zm$k;C1zttLXf^G7%tWhVj7F zpE&RlyCT)po|IAhO6jg2u@efq(4wlA)W+Qt5pJd|8ZI}z?*K6}M{RTQa>9Otua4Q) zBBXMZ>GvueycIw6P^_1@Q6X&8;{SND>Gma~ zO6113zrof@{=}y^0OltqT8w5rQ@66_P`DeMPx(aWUJD$c;-6r}?~+HNl(tTIk{%7K zHrKE$a0f1wRpV7kS7r3Bs+pKVSCtK=<24i|51LQk@H6y3#qODeI_gQ&R~&bz!=|@x z;nVMpSyhVD>0F~RAd}I~#EDRC%LM4O#&09H#*?75#~a18#OMBU{MJj{Kb&a6p8|+U z&6#2G>1!31!%8-}ED8F_C6jJBx!Xqa2U5fT=*9O~Lpkw+QHALNg18J_C0~8oQ-0dh z7wbszec`~4U<(>m}chq}0MJ}q~M%w*LTbY`=r>!#j9E5mU|MYyxragEFek??Y- zdS++fip0jlEL_JVBzDH0An+(m_gLYQ);K2kzXHl=21rGE)yx=WknP7VGH+-ij_K)4V{pT}#{8~FdYn5mlCnW~sMx|%t={NI+ZQ$|!7HONB#eu&z`nl57g zYtTF?89X)_ZcWkz|M(wJ!iI;R4;KP)PY8O<>MHjjqR(#tagO~J*dZ4gJ?~oEW+lq5 zmTyBZ?^K$zsXTAQ%3!|da(Fxa%2#eoPo1zA7*Cq`+w**Iv{j_;I)uv3c0>EZaU_YL zIYFwUE&aY-|6wF#*x}}K^j{Dq6k!fdRr)n--~FkcSNMQ!b?CgUcmWL-%l)|B_&^n3 z`0~o~tnHd1+zAx%qSt>hd}N1Ho2P$c)xU;M?*BYN|77=yH1z+`BlJW5f<7BGDDc9Iiu$9>jYs~gyYpAqhb#ZjCyX8v!k=Y9Nzq00bY>%|=9GV(-cbDi za(d>h$rl6XnJ34Vc)VH8l~5BSqq2^clt=qk3g%g&d)ymRGHWQL0G0ZxaBO_22lX%9 zZsP65aFL6W3o+*4{$J&duKh+{X2<{k_Hy^APcJ|KEozYEfT%? z^o3a!5|)B>Y*sc_tO(vFyW-M$ieJ(RO8k$YbhY&LSDEwISKABr2Ym*Gk!=Xd8jrlC)pF`Q3!Khz*x=4IHlzNUTkF|f+ zH%jjNj|VDUXrClX%5O*ELnyN!b~avB{VuCWB(3M}=dwRxvr#lq9EmK@EhdKf;zlR! z?pX(Y4J*#CtNPn{Z-)eVR|*!`(3A_#FZVd{>+0LFUeU#$E|q<|Hh7vJ!y?OJ9E1C~ z3BhudowQnIt%#?Gu8kVh>JqL6Q2Iq!){@T|o`*{m0qt0-QoG-Fw(c4#m*(^wHC>~l_4rksR3FQ2B#wwT~f zZkEg~u&DT!?g8#RCYBjToAPo)cGuKVY)G~x0%C#>x{SVv7aFIG=^9HgoKh%eolIXl zV+wMB`vp}C=BLT02a(Bvm^K^9EO&HP!v`_Ok{(h?u7!_F;YGdf-oD88>$Z)ld6A8K+h5 zf($2)6ocf4jwYLyEr5myD>j?1=Hqh+5JctpCo_3;>#9}Pl0j7oQ9h%%feMi!BZ=>K zpd+0H)qbL#6rqLV^ApngKw1cq;;$!gl9 zSkzUoNkmv6_$n!A22WQHWnJ^bwQulNz0WISk9WW;Me9nv_qMM==f2!))&OySk1%Io zw45GS1HRW}h!4BULkBEA99o{#Y#S zSVY>TT<%^*noXIqEfwd+{2989BUbNs1bGV0>D|DY)W+%$f8{v!O3aQvW#~bk>clq; zi95mLTN5C$Ka8FtQtP)jZY;Z+!>(Mzt^uHr_@{pqvrnL>PsBGL$t&L&>!+W}?{R+b zaDsP+x5rr>k_0z6)op3(J*N;6dV>>+F_&ia0kBUxxV9gw5F>4lb}#>Oj65bHs3;f; z42<`$gA)5cX6k>ibVI{d6+;u#&u$qtvV!bMMU0tDMe0Xrz+ynDQk9m0TI`~xUOc;4 zA0s6}MdPmr&1;xdrr&B7GMSbZJQquTXTu7g(j{{z&Tc7E#)P8J(`kOK+((zrlfIMO zkC_>UpC3C^V7^Z}Kx!bcjQNENOEw!}|0uqO-RLCGjm@UhY=rrn-e#>u zq}*m^7E9H>`knCRZ*EfR;I4AtM6E^Y^NQn!qpq82C9ZaEE89-ed0M^Y!jv5!o&>gf z(s`O7AMw1d?*hiU(a$5wxVRNBg(oa~;K8=y^Fg)WY1tyB(RcCsWd=(!ZB}K_FxiOH zv13j>?v#(9q!YA~rhAW3XLL6f3AYZAcm>@q)KL6H@o_-y+ED08Q!9lXyhlwM>Xe z6Ff~KTLECm$IGA#GNSof$UkI6vok*=;*iglqxi{)l&3SFU82eJUkKID?F{mV5>FD3 z6n9)CkBV1Y{W>*&6}Zos1!q^2-*zl5&R8MqTc2N+_ZnE+8=5pMZb()*Dy?q46R>HY zU00!-)Q(n|eAG>x5w49V_if&O!7jNA11RKc@AR~t3eXVGmYg|+oAhhxkV%Dh=)`JT z?-MiUnt%m5jh(QJkG8&=_jv{$;MMYtN6cW+q}>;?{YGskyZm1A@KyG}q=Ulg3PM#X zC_Qg#f6Oa-7Sq`tUJU(efSGye`;StbSl>Z zKsDgr7=EV!P>oPZzz@+@wnyzH-d458^&*z8eq7nsM~Vyl4P3Rg3bb{|f0?ASH8V@; z%J4gvyXuI`Ag)a)=Jk@Wt}*ct8|IruzX}+rC&9$Vgt)W4XDwIT`#hIk+0V5(Bf6G& z&;=qJDa7;?6x7|1ImspO)!mQI{sMG7?_oB{6{#lg?AOz09ID$7Ypt?S-9|W@yRD{< zw|pj?2gRi^*ICZIPw*FI#H1_=*km|G4)nFu?w`Gsnx(D8MaGS%oo8MrW=&E4MmUKa zl_lDihYs-Ze-co(id`CgKUn(`OqB?^ES<%qro1H{b%kj*iit7wN7ZWTNq2lp>K^Jr z(xl>hm|K;~nSr=s$uC%LT+oW6x^6(z>k) zT}wRNL;TTA@W6%?UT$?}nD;?KJ_?<#sQ1u>CByA3kUIiyyeYOrHExg3Mp2^~a49vgjFCBo?ijQwt zP573kNLCThY6#T2mc*~=Jh$<8H!WD@_C2fiVD!dzD2imX*{)!XdX@U!%>$-ZyAbRb zge8&b$#TImgq5$G>PCr{Z37ts62H0ZkG`x*H=v|2N7Cv2+C_deXTE^O%IlUeP5^A^ zT4UOW|MZq>P1@0WgnW<26_&ROoIrX!g30I;|K|yi1<}hXqem`HuN4h zXW9bHuoaSV+e^%sX#dkKRrI{f+v%G4pD};fH0tz^h7#LfZz20X!@S!6UK6#qb20Py zFN0AP{a-yLV=^wz>0oO?5k^!HEaO1%uEuJbdFJ&T(Z?0q)L|c_2lY)wi;D$A`8F2R zpO2dtXrnMF;KnM)y}55<&+0dVw&~h>s>P1_ebT7YevLjWm-ZvBvHlJFrPQ{LrxkH1 zvUvi(Lsacohr5=zMLIcHD*vm=Zs?#xVn#JC5<>kl87s1Xw3Ip)Idr}@bYuJ1MFYAU znH!zB#mW?GLumZidMlp@|It$F2Zqs<+lPxh3WEQ0p1%LyVqbs+11o_815^Gt<>{Z> zO6vbn8yUelD#0x=YZE2Z=3~`V%6)|!(hHSUAtZzoXBQ3P*F46}-M!uSrgNsdrwwN& z8_bJ;&&NzYjS|nF+^OyqLR^7_bOVI} zGLLQSUZ_4oS@+v})`bKE(N@h;eXTE{p>g3iLJuN;iXw(AdYXwYFNho9Al}5gaho`{ zCu`p(HCQ_%z86-t3{Tf5n}oK>@W{M$0}5q-9VjCwvHv!+l>L+iNjX`41CeuC<>Qbe zc7BLTA0zyd@bm+y zB}=)QPc#^UNdD>wpYPl^z(r|{J1`CAT?i%Jz)6pi4+a%f?=C}=Q z*gT+z7{Xi$msy}g3UQEi-ag7HW~BRf+w(qY6uuGs0@*v*YBEBvEWMg!3(l8 z9K!O=c=_(}YrcoQJih5ksU3foZeBl&$*SGn_z4~gLtC#T#QxE1rcNwMR~D0WMx&7v zZwROG2<<)yU68X7U0uXoFVBajLsr?xHa`>&WcUczt8VIAo)!Cj{*;(`1`nupd| z9IgO+>Hs%D$iLDB@sDZc_cf6NhD*hEt=aX0CBH8^3$SP!orLci!Wq zXj0Nc8ocpDFVfwmlu>LlswL-Zt&ak9j#%+(uc(`MTN|kQf+i8E zrlNPxKW3hbTqmT78Eiz|&l_enRP1Lf>~eW2&veCS-hg4=mX8ABmt2kX_Fjrf+f9)= zxo3zAw?Z?yUOX8FQVe`rSvslhf=ov{!|_&t-Jyc0OkMBNgRGflr!UGr^bwm(O5Q9M zP=RRoqC|3$l@2 z1np2uj^O8kIu#bW`m_XL<@2>rbT+!{@z0I42;B4Ip6{L|j3KS;k9eC3-F(pd%+xWY zKg$qq2ci?t)LE-CR&6Yuo}R@#Z>+rM>M=vR;(1YR_x;!c4&trq?v8(FO{83* zi~cg@3ceejU5hSzE0&e-9rS;(_Lfm~b<4IW!DR)PMR3>PuE9OHTNdu_5D2z#cXxM( zAPFqo-Q6X)Lx7uo_rB+x{oVK8Y2Ur?&up#ckNKlUuReN>QC0JSy|Ewbx%I>Ol9YFc zJ4u!z-TjtswgTdJ^KWiRtpRct)MhAM1sn#=1Drmvt%)}bda_=3ZHYIh1N2Aq!e}Ds zt%i0~iukhehL*UIZ{P|=)UTSYJzNW#g_WC+m`)^}0?{8@ayX*1jed8!d-uU@$7e&& zdScSPqUP$zZvR%S{A6(`!h9rzCoB3Y0Z4OU!g#~!{%NpH1>HVKZ9vLG;e5*b^XI$j zb0aPIjcd#mU%cqexqcD&q4KANTLpLy9^|R6aW+eCL`?80712c)cf_|N$KXZ-t>kUxaeTlollw4iq zN7RVH-g93Y-$#AUhF}Z1M-1FUMt;*AOIP{-)UsadjH=T}J9}s5>kDZX9{7#Xd<|t7 zzsAq_n={B`ot%4o)6Th(nkSSFKHlsbKKSdv`^vIkgD3-1kI*o9O;=_^DCTKLBO<7M zSc07svEE+!o$5@}4%!DSb?9AJ@O(ivo&Km>{``~iI{o2{4D*9cO2yIz%jmoI9;w$j zAQ5Zo^f>oUxHq_er@b72fvNK!c_{`B1;zJwXzzdOqd!DvW@-LUp371m`3%j9Er{b8 z`p|RlT*YKc}-3>^yQ$$v-H{hm&qNDe%o82z?4+#5`?DTU8Wp}hM2Q1Cu8do{cH ze;!?<*7i9}P6={P@*xI~B-uCK=;!F#z1Mu9v8}WwH#Jpk?UM%k%2XiW7j^^9+JC3D zlWF>UubqWQD^Q3WhmPU%0OQT~w%6cb+7&0uzGz+0_vz%#+pJ;BrUXYgRp_+Rv+s6p zgt=N5B1hvl)8$-eP2lf4zwSDNAK6k(264~n*R@ZYJ;ko4C4&O)EzQ%(7HAialTMB= zDtEgY4hT(I24eZ*WS3RJy?37}LOdBwSfeGtj?c8ufRJ^+?9hBg<%Jf#C3rLnk!#sy zn$*ie%(>D9-2LPhG1k`Bvy0m9D8h@p)T)y~m)ZcXg8bvQI%?5RzZe748%E1eQ+0 zWT4lHho@R{f$ZZnWb>dU74>a$2ibVUl>22^xvVFeq4RmnV(XPYN#gIMw>a>?tyD7V zqLN%As$1BDy-1}O`tWE!sDJkrI_=R`<{!xKAV5KB{Qv2ze@h#h)U6d~KVb_t)ao{4 zYiqviM#v8x$#=Q5Wub1Bp0)XwOLnIH19Tl(ZHfimJSqtE{Jqr7DcRwc6^x} zAIx;v<;*?6}Kp#ZBh+$hihh!j%=Y6~Wt6f)$PD2RKjSmMoQQ43E{oa6YT zL)U*TEvPsP-splzp?M!GPraH$Iat8c)Nel(Vi2O+rdP3(XD1;S$GzrRn~4IDUDiZ1 z9279#T6}3VYFgwYf-JuH*2A>fIqk2c6OK1?F88?Bu`bjz8{^DUw%IC^tjpAKU^g`IH; zlgD3I42lv#jBA01Bc;>sF&L z=tbmCt;0(DQi*IEYWdR2d)Q&espPU_(&RL9bLk!%ZWLQH^Ham9TF1mOJDzjw+$=?j zYbJ|_dJAVsu69DUvz9~>YWSJe95a`;g;wnOs7bCOk($#s^mYU)oZvryizDQ-BgHRLh-aJ+EcjxLr+S`|2|0_CB?()+SPpt3cGq>qTf*Rslc^C zU=OLIuqt_g8rs5cZ~R1QZyMSZX_Cix4cD;Z7pFCtFY?IRa5x~dKmB_)dR&p7;RiEA z4DYH;5AmcGK#+q0bBi^cEf?>}L9#9B>4K$u#`iC!t2r{57vg_n0h;V@R%QM-@$k<$ znA5WK{>K0k<}acHbQ-uA*cfoOfgcudi-4!VW61V{) zL3^cD?~TpbAUznF`jZ8}lz{UZD8GA(KtaIeax;5VjhTd1WMg`<#S^svckEg=%ByY7yRzu$ErMc;8eFL^^11ioT)R&V z`^0>{)hc9gOdhh~sfAND=tOi)%VygYE(;&K~}3(s81v&QdK| z5=dr!sillGc5=}C6S(f0!$O^OhTymYcdMr;im3@trnI{+$p&|IFOWyup6|M}qBhfm z`H_XG2sQ%l8+)T#Pd8#RfvH|J1En6A0Y6>RmXj_u7qhv|l-8?pXq4K8_+;P89ykIl zE{@piD(o7?Tv3u_GUlyLcEG8QQ;x9YREuF?*s90YZHTMG(P0YL<6?E0N6@HykA(2a z7_Kn+J7RpBP7l2vL&13Py5101f0fP?1LcVJveEalJKXM?3J26k3zcsM%z1ECfRlck z7K)GiJ<3`unMa(cm4UX%wWpX||1A{Y*UM|-lf&#+o<5qz2hb}M>tRnW>)Ce zhM>45{{qaN$gGl~F zgjwGz(a*^Jl!b-S+3GIb6F#*u9Gf0%M6xRv|OZBWRel%{@CB2V|gLqudD@3PM$CtO}kg2ZmvVQnMK8`>o@GZn-)N#ir2z2uB z+cP`*={Ga{6A%)I^fCFeo)h3DvVet2JdnWl+4;yTUC5{0QG83W#2o1R@Frj4@98w%3 z7&vet!TIxPUCi~~6*k;fm(Gz|qfrDwp^pf_tAR&CW(0%UtFEB?3;)OleGMU_)VOW8 zBXn>@zcbT*rVbjuBru0Xo;n1;enJ3Gk~TQF)qr(Lhsv(UYIYAI1eH=TzrN=7h(%+x z*hM8}_C#8IjI05EA0cVbcoSF79QGYyDf0`vZb_W)vEl=jhFQ~z)it2rsv4QaGto3z zz}t`AQCU>RPs*@$_Nn1?s@8FooFna-K{hqyHQDg9L9yFr^D2*43I|%Exg}7gMb;mS z{kLe26?$Z5kD*@@$`nevoP{Cn<2Tg}&|W1<8AOLUvbLXdg;SO-{a=q}_u-z*l`=>U zb7X8qa{X|d8em?65vPRf6ytMb>eIav4(TOO3&`ppSjPD&Z+!FKEK}v*Si{|Mtfa3s zkF&O|c6{`pLfdH_MNN$9m~L#C(09J2Gb=SD5%p6cltF@q(DnVz*f8lneWA{jg+h_K zvKTd%K&>0x7MS0y<-&Z#w!U7B9VixP-mg_aEVUikq0URcP*d?d^jysp>&Lo@7-%OC zo^p@p5wq1Kz7LmzIV%Wp_GtX#`fa&D^tp`ij%OO!1luIIKI1QNw_jVsLb?@p?@NYfStP(ivWtl`p3tTcRV{48Lo!`@r7R;>HF$%F9=}sMQfOw5 zRupl|n>iod_h(FgvR}cv-ZTn7va9M=B`cFU6=rdk^ z*!wM~%LY#x3?FGjGj(`Fw{aOiS{P!t_);p9grjSstz*B4iw-v(0X)Txx&vQpU54dT zW@=T*ipf4%VVx4^9w_`L?mNakU+8~#;LDY@-1I*j z_s4-Ef5(CUZ0Ixj-~1RA%W4PBiZ1a61%jc(q|4VM<8Tyf!N4gL&0oagIf*lETpZ*d z-%@daLJekNP^P34y??XVf2rZk?m~mw_n=I4U8Exju+_4(H*%1~|EQCHcPb>V%as;4meSr;RKCMYVDiab*L>q?ahdh1 z6;JcjaZwq!9N zon7xGnGmKt$&7}wLK7qTNd7jBTAhS@8k_zK2|k1;>t&V{p9!@;Tpwa{7#&%`s)tp< zep_C;ano$_G29h1sAc8*9Qty09ZiX-$n6{tmxCC3B0QV7%B%UlLY!yBmJipF?eww% zQ_Azz3a#CM^3QY+U9wxBAxwUz8o#E#m3xmdO20xQttU74AI1D4;$@4jc4tll=)UMa z_tigCO;7TsSZUSvP&XEiDzwl292yboh}utPZxtZ3aV1UfXL90TC4RAMhcB9Wq58-2 zNZB_JJ!6o4|0e$gq)0oE7U&Cp9$sXn&N1~~Z@idJ8%R|!Coz7-3kY!t@f{$25pxw| zqr_KbTZhIhosN*}g=17g=FAJ}q8QWJCk*oV4 z+_8h1v>bFK60_H!8yNCD$S6r{vpB!@_n2HSk?v2gzp-{vpRf9)+YSwZDKOhIO`VCEb#WllX4Qdv#JLn+s8yxttxxth}-V#Qf;u!-H%`OIc2Dy(D zMO+$#g1<zlLhu=eyIE;?BNh9>I!mdTz|JwJb*ST(AV@l&{~Zh zQ+srsoHQ{g)H9#^v&9h8qnP<3IwbtBds2YD9`^e`3}K4&H;a<~Kl=HalB`v+Sh2wy zlRe8SOcIyy$h4xmv9|%=z70yG(m@oEA9zo}^{r!UD{Fj_ezHGkpSnplW1Iw*nBa7P z7}op^G%||o2ZBqKFOMhBXix=OMyW$faDw(Lo^pqJAEIqPeDBsjdL}_$XEn28zuz(kZxu$r7c{dMCr1X?rZp z5!=1Z;y`YD8}o^>_RPrcCp_L!c(4!+qdk)}_G;td-)dJIG9Th_Z33ZIO5V}4D;1>2W}Z}GrLTTR)rL3>`A{gTj?Zw8KZ>l@eMY|{krp)<(*fjusW|q zPGR^6Zs{iXuC_d?_?=6<=TkbJS-nQvM8SSb+Ok)15 z{Q0LJ4;Jf9K65y{fRP37jxL0h=m}=RG?nMH$md95E}GIh#7LTaE)o_jecZ`Y=w06o z50-q}F5^q=uDM;TIGrp1kUed>sk-2f&o>uVN;YsoSfDHbL4j}f>1uZ&T6LwK#+x*x zf1;e4X_VCF^arsys#E6m?2Xje_9YsPF_;85^fe?a)%1-!T8Ho#A0q_DMW&^!-V$03 zOsgQ9cW?LQ=Qa?JEoLWR$rTTuEHmy**PGxfr1Q}fDY(h&;zGVQw)80F08^iya}TVK zkFfFk`e!wJg;fjQHQd--A#k(e$>+klZ1SO-wfcV+Uhn-VyxvbFye^SK(*6SM7hEk# zyY4bWyR{6_d_qGX5W7L3=0eYBo=krV@Xy<_2cmB2AFK97@c}<2XYTq)b?*JDr}%LT zr05#aptlIBPkKuDBq$bKF}>5}b&k=`1hs3ae)sv^HqNIG=uoUL0#Nd5P^QnOpYAb= znV_^_Y4xC4qTqD~G*k0@5m9b_S$+>O>6nlpA)&AJEz(Hs5kJrajcc_v} z3dmAWmWFC`7MrVjLwvL?NM@WjIsd-hSm$3IB9!%!FA&=(txzWh#=t;M*b9j7kGfj~ zboYD6Z1NQH2Ros6nr6Utx^&oJ(76PJt%D5g(C98Bf|YJ6KG}nQIS)wL^6~K|%iU}$ zbg?Hp=d37l1%I7d_h1#f&NkMfyGk5%9{n5-d1XUDO`ayYI*deEb(an@#p(p<9^3SD zG~pzemnV@@SHk*J)>sh~S5e`^BiWoBj~Gykr=g=L#aWz3DT86Cw)<~gr4%i)vkBEE z{mo5-CWjpCG9oci*=I2h4#6eu$lo2L`!PBOCwpW1jromJsV9(%tkUz+Mk7uL>Ff`1 zvrq8XW_YM1s7S^m%~Ovfn?E1$XKpm#2PdhoP?Q@**PxL2JHcQ9_YR9R4V z(nF$=R_T{rkujdzv?ON&L#B`=l8|vaA`{ruGL4i%9mnw(G@BxilvyQP$eYZ-Ujro-J~~ky<$U5GgJf6!xI#ve z&D8XbO6a8xRzD>LW$H+N8LeWwnf0oZ#G*^>#lgo)&F5pU>;Tdirv_Md43qS|7(}jU z93zF7UZjU>oY8L4i`}b=J4oeievhQ%PWFPHB3E5dTsqDG%!0xV3u z&HZXBKF*DVZ=_uedFiO#C>C#5$Fj*Q?jgct@Id%rZm8@4g}}={MmRL4*w<$f<#Pso zLa)Lm;S^OqT1A|5pTClw-JW}jYv*iR9FXGS8T3VYuMH=`fswBhMeW2RMU@xX%ZL60 z%9!1wi+b#B=lV!XVJeksdOP(#lKo5h5VcV0y~%3dvyjoFOP7Wqvb#?*nqyAI@6ciM zK5nNcTmwCmh=1~C)MoI|%2i4CetPIwz@M)6BIR@dK zdcUFATwtr^I0;VYeJw8uj#BFQTv+Xu&^ z1%=>i+fg=Zgcu@9fa*IDeM3~{-N~2QfP#vkg7Jf&3!;bI{u9^GX~!Csf<{pnXw-tw z8o9T5I0J`5YJDERF$~H~e${kq_3}osi&)f)3@-DI*BP<`dq`S2ynic7zo4P>jypmg zK7R>*?SF@q0zRTi^;ioO>QvyNTYT~<{1$Z%cHj-YWH}Yxr85q415LAp*L{NU2_nrb zYZrrxb2x%XKArgmX`!+U<0KAxQYBQ158#UmGq@1mO(FB~!4N4}VEiI8%IRC3SvvW8 z7ffjI+y?Jm81w?2hh~@dB4B{FIP=b13ddW2g&^_UYd9=n<>#NK0mMvsXS7Q0*rf!} zR$u}T_S`PTqwOJlk4W&ILWcyh-F|GY#6jm$tWP_21k~AMirisFDZWux0~QtVT@n-hc0zg*DW@L==b{K+@B|A-`^zs1-drpB)S zNHrDgOp9^w7KAxKQO5Sd`@5t#opVs(Zn5UJy+HaCOgD0UtDkbg2-)<)rK-)dAMl z?UZE6#e2jGAfq~EYl)_e-Q2Rh_?q9*M-gOIRm@%9ehjD53p7$|#>t1RzGni8T8j~u z$D!2^^$v5qPjm~i+$A5PgbYuGC6V)SP%o7zyfaR5LjBaqIhP`cAy{IoK_cgALOUv24eyMFIexh2$j-xVhPMt&>S zHP%mI8PiKk$A_7!L@5SRcg!|u-p~vPp;vdgysEFcG36@hTHt$&SRhFq1z#n}ntVlZ zzF7)ql}dOe1`ie`FqMLSV z76qgZ*ol@%$oLkE=SpfLOj2YqX`vu&V@YUV=BzhKS96uY2u} z2|O;Gp9{bHl{a=FvFIt#;8tups<2%tyB*|xM#Ozo!0_dwcbqxBDk51KLMEmHR#3r9ieb?hSjoOCJ zrog{umjbG7>g?zwuO!tId1pV^29tM9BnJCvB$y!$p7UpON*ybij(SkTYT&93IAL|S z^3NG8wU2ZW9Gg*#C)!FI%Zwe6m2)Zc3nQi$b0(82A!pqsWwl4@OT^#18izSXZGwSC*IoncBG|FZdw)uf83Ya}qJg2$t-i9&S6CM%tE+mTV8GzmxYl9Cp4f@GKS zm=duGncX<3zMJ`JUo-(!n=vnv2D(86Uei?m*VoS1;S6$7bLQ3v!&C za5%Cj5!>icn`UB3w7OM5BWC)3*hdAfUrVNgG|Z&D!1AiCsW37^)T(?%X@K;eWcyC-1kKIXWKn7sMoVeYUqO>}0l(Pu67}(*U z8)U!GI7TO-DVPWqE0 zqzCo4|3|z<-$eEx<_%usD{uF=-=c&h(#UImFHgdF25)&e zzFyF8ATGNxAFu@9*AMP|1zSs@8gIcop=Zm^{Ax_dTN(bThh??m2^(mdzfXtDIW|#i~~djl5#<` zCf6>5-)UrmT(s#e?N|VKJ6w!AUby&^yvFHlMy=C+XkKrk*q-q^7-$~zR3&6m9m z)V3@Vy5Kc-E)>WYLhhVweKuqZIv! zdxM)P`VlMqvn&|K$LAi-49x+=>in%w>IaBiINOlE^Jm|INp^SDt{{i?7MJ6U3ml8s zxi<3G=!+KtvMItWrd)CU2FYb;eU4y4rY$xq5zTGn>UT)@oWqIRe3!iWWoPtL_6dc~ zrI=$_+%n6?G2P^Z17YG)FjU%l;R+mgM079F853BhnadXBj8t@m-BK6t>1FKCC^abF z{&LYG;@pDR|7UATfro+;`#WL$|1?eUUtQm7D=Jtb=z=i*dVqjj5o~5!E9hZ*Qu-|w z^Z*qcOcV~GhsGrUsC4YJm3#7418l|QRX5s20i!pU9J)N&;E0>O;{6f(*R-4;U2jk< zQ4(NJx%sH{M9vI?VpZ3o(husYX~UdEHDvmxtz8A;Sp@d_WhU!&CQ0oK^|W)|F;d;Y zC$~}knOcPsvqXCSRTX6yHbB#L&SW)UCRn)M4k<-bK8B#<=mY~z3KNEmXaW&xG<>W9 z&`=`D>C#0#68-~+nppoXSb;5^7P9-eQxM87E`~mR)u(4k_2Y7ap%Jct!DRwTsuT`9 z?oyoDYkEVCErr?8|DRAlt}nqV+ofk7}KL@BAZT2;PfVaQpd9MIMcg zPO(0he%_myaXx1nht?41z?R)Omtf3{y^-oub)ROi8{x9WT`8l0NSvG$v#Lpu8?ERB zE#!TtN}+39FjqPw^O1cx<;;9tO>4cBEP}xlw+QAgF4=(gbi4x1jqx`Vy>k;p7MbiP z#^#vrIvBuLJCF;)-K+4nvG}$bP*~o8&lf36q`EblMEK`g0;LKz7w}tQdNf(+yre_S zw}wI~>Gf!q)d7pxLy;5k5h?QFGk8=e5=NeAvkwn&2B*$To=!>bETXZ@_hit6z7NBs zuZ7t8-GAfX!{mdoD;e&eFu{iXn+1ugATv{WdvkM3JM;e~-YEaeI~7+uJCM=;${DLv zN9<-kVGAY{HYM;WI4*MtAiqQ2^|vxWDU@U^)j=8(m{nU+{8e_cJt~ex@FZ2q;P1is z040R%c=|yl43VtcsNa1&v+aJ>d)I#BhY#EZqC38Ur`0c5S-3cd)|)2euLB3HF`Owg zVbgU5Sok5vTY!f=2X*uywnae<15AcaPt+B~!rcOC;1>YH!0-3&s;K2Ktv$}LCd2h^DfK^ZI6d+~+*N4h`Vs)H7&2HgE9^ z@KH^!`w(F2~r9+E{!^P6Xo=z{Y0I_1GO6_Q_k<_%5RZ!fb%bH zcR0^h=U7~dVQ|Cdc`_ZSeelTD{>5oHwqN|+LJ-kHoni{tOH|POaB6xA!`6r6Ih^p} zFjHhf*hxp$`6+q*e`$mn>?3k({l^5$KiW(5{}PG+;%gOs#T6E8K|B6w@I_J&@(MD{ z9h5{5bBDi&2$AZx<|PVA0(!U+9luSkZ62Xq!@bYe8%trOgP~OW(VA4_3Xa zzrHy*BYZ)r0PxoxUC*X+B>94BY7FvvWRGGrXd>l#`@ZNcwy~VUo#j zEXV>r!g8edpmrJlarfEemw+1nvMHB4{Z8GKqg~Z(v@q5N%V>Sy5PcyO zfx!s^aJpB*1KOvoBUOa68I6xSIc-WiLTTJrVs3SXKBS^u;8rfr__Co8?t3YQ=`6&11x+> zD8RwR%1zPCj(cbU?o2Ud=MI)GB`6(aSg`6h?naBAuszi!1YfH(%Ts*ZC7Z zPI;uz75A(FrKCSHKc2;U{-yH{GRlI7VRu8bA-M)i;2hrfEyK0g<7SzffIZAHCB5tz zK1byD=YPS)`yz|YpMMzY5b5vY;{R=WOQ*&^f2jhGTx1Fd+lxYPwcbYY>dA;zI|p>a5+a($ejA{WxK);@&*!Uu&uk=ZkAXvIml$+$h^*yGk<*30)OE*xZ0D>v{;nRP+g#~UU8;qnyENQT*0wa;=x;c}kZzV#9F zpcehI2i?94A)K}IrI|FBn#}%X-qU5y@!FK(H#;v8Pf-o;7D*JD1H`nJ zaUj9DEC#2`k5>Y2v5S6ozhi71Dg5rr$9KtN{OVGNUK(y1@121hFq#gWVM3$$tzq~d z#|TpUT|X9CV0-NNYM;?sf(K7abR%=3AB_;^@^eD1e&Ef2rze5PnyX6KSKGFTaz9xZ zNOuv;%C0gjQ-v_@c(&N^KR44fu5(Z$=hNHbcu*?7AbGg2LgVwRIN7h%ea)GXW7T$m zsTs{d>E!NQu-J&ML@`A7QI$_)KJh8(TZ&cs-d`g#KC~*DxJ2E0i`Vb=K zg$nMMcp`xTzK7~(eb)=5cBIoQall`u8G|F6?`c?&E=l8=vyc5egSl-FO16o-Xt9(+ zc$=i;v}DTOJo9gJ2?&O9euO=Oxu#fp7Gv5WGYjM~4V6p2DIsHSaBS{oNR(#`)}yJ5 z#JQ@XLb)HBpolL?$4$608te3KT=?P@QaAu=6na7>!;t#|#EVT;{30k0*pz8t3;g+) zK~NDv0tR7!;zI=fZ~&w;|N8?Dt^ zP^idrg<#-nHdhqcF0CGPjU=^{=x;c|?2Q!HmWwWBY&(+*Y(Nw!;<+I%JTgdchP^6T&D0qTeJ=5n z8`>U%%pqZ}wHdB~+;9*?{itLVT-9yySoH`=Vr1)76j2(_`;2U$lA3Kd~ufL@R5*$s-OCU2%f+)IS}GpWIS zv5RyB9`ZYy{KP*N@Y?(iM)kYJ`O>4+ZD-a9N~Ni|0?ZUzbvyQB%}eu7R+sjx0TV># z<@5yM&;D|5X8Lqn)qJbhuwyCObN;$`)@;2|w$1D{70EZ0!PT@yWo%_hDTFkf@rZse zjTTBGGcw5%`~{udenHlTL(-ePg3sg!3LUxT#qWQjgZ(MXf=;G<1J^?`3pvRQBXg+#k&94cK|-!4T&2b)L9Ry@t&E+o*GcO(`Ss^tt}kv)4l~&P z0Ne-;3QFql0Q|q{tyi`EgLZV^=ElsAdlJ|*z4SH@@XdbewxXL%P@ zfk@!sYgR=gpxDr}ptVVp_h_JWtEmcq9oP0c$m4DUj?V#@Nroi`0)7?ckj3(!9kvah z{BX3=%+%=fm6C85sPP)@5^Fw4=>V?s`_U$FX)DO`i?dAq;`bN07NLar9^9;iFh>#zzUvaG)qWzCA|i#u$mIf=w{9TN7nA zY5pCSPq!>?AOG0)$WTzi|2MGwmnivHyEbYX3nd_BT2!tKH_-^Xr~s$pBc6;(?xKSw zW~rr`fJ`)tYwA#X8tE(E#`8AJQ*6Dm$btEBe56U4O%Eyeri^pDfsd%W?P)NX2NP9Xti`M5HA;6j0-%GSa9PuV? zJvyyKOoLuxmPnFw>0bitzZ$oq-X^T4;1^68A=$w z+_$QUV+Zm3_puK*{USa^J zUf|^iVy%lCXO-^|ow8_+2}V@WD%^IC!84?~LuNVHY6c@{C3pGtJmAERZVa zvqlX*R#!?PX>BEa($#Hd+$xkm`yOB*)!;Tq7bXG09!8{6@c-@lZAchN=SObFXa4s@ zK?6C)n+SZ3pon=lL!KaJ%eiCZ)<}kLJ-f44?jJ^OzzECslb_j17GO3_pjJ5zAcOWw zN#;tT8wsRA`DhFCyc5w&AB4>+DnJqYMqdh2?v%akuz$k#U!XFPO3EM4ccCcVbY0#V z=I)A_+?sLKOu8{-pvj^BC@45zGe1l`xF9<-MPqfJ+++`H#xsd3WBW{RSCRXUug~C9 z)ku#*nyi0f2f`rICNX&`nOlQP4g_{B!}ritSUPZ-`U{`rm#c*rcCYJ+xCab5P62_7 zf`v%Q@OcgmX-!{pBE zbAA8EJ_r2Gqt5?eqJLex$=Evlt1zoiW6X&_0{yi={-dq|NQ#Uc71kaA|DuKYIWtHr zUd+bE$ieqhk2-ZpT_Y}mM!OMb{x(XcCmiuN7@E=^M^WT>c5dQ;h1^5@Dz5lF`Vm|v zRGnLw2^YT?_Ou(S5<%l>xS&rI z%AVD*s{wKd=6%~yk|fpiQT)-m?5leD6Q}XypM>}2A_x%9UF^!x^d42pYOvkDB}fr7 zG83T~j{qPJYpy};$XR4l?oq)k5SHCvO2?>|rD#CkIx7!?22e+^JJ9#ZzJC8is1Me< zHPjI~LYxR-zEp}~lW@EK| z#|8Duc*VvcwS%<+E0bejI{->RwZDGR`;e-xP6n5y)0-@fo#8_XL$gMy+HrkjVD9uA>so$VYx-*iE%y;tvAR`9f%F3=!@proy3B*_4; zd7s`3cb{18SzYTA*GB{bZ#JD1&}#p{%^&?DTme)W_%z0%!BN45r;zd_;m}tGywWyX z?q4&rU2%}}SyAcir*pPWXfM|D9@XMb;ESdS#fD?{a}8PObZtH4SgWry(}72}1i!>ZrK#umean>)vjg)|MxpxGu z1u9xf25|fx^bZC&iJBr46%2(1g{6}}{+(?!oC(pf{z&m`jK5j``5$capENV4X{}43 zj_!-L3oV13xUAFh#a3)67(M?}oScn_)l?#Vm_?Ni_mY^_;;-V2_i!hE^-E0vP2KIh14b5Bz0jRbqfIq+c%6v~Tm1sP!R3b<+fX`f=VCD64ZjNWR?8SE zEXey>u<=~@4N$Fw98n9Tt8MQNH(QUTgY$7LZCe?M%Dz+9Si|WT(}5pOTsgUB9&b`#Wj9jb z$glBS8OO0nm2q}oXtwvWPaj$O--idb6|kM#)>U8qYM2_Iuj)#{gpl9Nu5 z6EZ_Q)M>6A*(;Z||Av0Xs#of8y$2Y+=v8=i z9Xpe=fkXeKA&$YlaKhboB2d>l_lDCP{904CVR=7ZJXdZb!I#r!9d&e z)nbAA%Z|CTy3Hqs1U4lk5kB}nV{D--0mULwd4Z8~7cK%?(3Ih#jO!M72ispq@pCY= zZ=Iou1X-*pB4ld3+ty4DBpfQJ#K5amdqCuxR3lkbVkmHWRO7OiY8&PN+M`mV_ioc|Iw)mj6 z8i)3h6k{5vN{G0RT+-VOm!E33cwPF(&@IuVy0o`UQTz~nt$`CGmf(<>?HNvT?Eq_G zE$cMvUM=f2E84WBq99Urz5i<`6mlQV00h7>7e_9s38p~eHbZ0HO->G7RV!&{ghBe} zMLk7t{dN+BYCI)uoIXL)#tLU_aV)EZhNrDh4T=sN@ruS53W8dGoapWzY9T}qolx*4 zmEa+(Xgxxn6$r*Oi3CxcZSlk^@93jt3q)>)TCP#Ba_(&|%Ge_KM+_SQ zFO>VQ(eQE+=UTp~wT_WFao9LJBr@NNm%gz&`o(2;X1*g!^sn1P`{t4()=q!~Kvlpe zmZAycF@;;syWKkxwl_7Ec4mE}?o#;bNj3|OFPsimYAVx=2!JXDwQVFDK!msT@;Aao z_1qSZY^G?_g>`1D0O_9128 zW|&b2yU)qtynFv-|5e)WRUix_w~e|*h$PW(?%=5Ugd~tOqr@L~-`dT|3} zbI@#UCA=16jtMNS#QVFn%?47;3xrT!uw!g0QPI@EWtRQOpSVUNOAYcH!xPlsnNm3< zfg=h*_s;1R{tIkyw2DJ1dXh5QU*^i5D2mu@>0Q!KYK&{3MQK4(F6D;`HM9i`6+(#eiz!T&JKfU>x4z z;{sNu9Ppv~L59g+*!Uoh)SF8nB#Yh5$xd`uX~-Sfj-;n+Fj{ylXl(jAJKOwn$c;JU zBd!)uYirxg(Rf$~7i0Z7Ok$DcEsYe0e+`^zF<6T&u%4|^&iD{yQ)7?w>FLE;SsrEr z5wNuQX^&JMC@qr4ZdXGueWUtM<> zIkJ=_&mZ>LTwhth)9*pZ9KwqTU)@1J0~1fiGa3crUG`T%9d9VnCDdM7lN#&}W$M1W zb{8)6eufktYWtrRJ`Z8a{KB={Pfh$Lv9XiYn6^0@tn#X6xZA?c4oO{>a)Bh7?7DGE zopGjC>nv;`Th315IObGfb3$&#CZ!ytE!Q~P$mikTLhZ@8e!{7xRI3zO?AyPL zs+rNF?ZqF3>m5v!L@)1WXvdTE^FjdZd}w?OeVB((R}*DW!yHzpXxKJ4TkU$cNBqSi zhQ6^;aLC$)`w7WIf(AEP)LStcx7Is?y=LZEVV6!&EfC+PE(c@IObe=Zcvy5-CMYeK z##k-#2hW?^SGB!gV5+05^1CAnn-{A%R~CBB7)K8TDf+QCz8PUQ@Mdio4l+z#`Z8_8 zJ40v6TUmh{U}>da`St32laawa*}XdX*NZSs2fpr30Gl91Y$1&0`J_ zmQe(^0J`H&@LLLnI}2&TQKol3l{QVBFHZRO=^@uC-}y6p-4@rgsHjV}V);$UHl)*^ zOat%FYgvxrD5xyvnFMQ7FjQ%bZ71GsG@0goBtlO+!PqN@i(-AoYq6ga3)w^`v1CIc z^stw20(%;YR}~4?5v6O?(1X#1TQS^O<@~JG6Ien$_M~o|e z*0Iz{zfHx*?-YIY#UW0{O=|-|;{keK+;T0&_<4$D-O@Cde;opvR&1ym*{W@v*}J^f zfBDhIpN@P_YX_7ktm1FdudOkeKXSKk<-wIC$&`c&Zz&YrPNldYSYhr&R{d^rw~;1S zCX>HGOC?(c5G|6C^@xAFl^(tQ-jmG0NAcrAPOF+=UB$-XK{k&5x zSUnjs1^Lx3%)ab%UA0bEl42s~mR%g+2P?Envl&=Cmdep_z)(Dgg>id-yu(iR;WJ;? zV8%+E%{^ano#>v%u1bRt67*zk5G==`sLa0pQl;@7^w*qFVz?aDo^Rg)#Qf@jjzJY{ z<@5JvT7QkW?>ol|ew7#wEQQKm+w*#z{%94O#YMLEKJ%u3ho@wx4IS=9>2Aw z%&D{?Uv8l{=%f$h31Z^$Fivu`E`1q(1`HWcT_$3Z|Jf!Nvtr^emw$~C$)q$p&DJ0sP zt?4fk=}bGM$fZpb$*1}IhG(X%5x2C9b#)uKo;x+{FP`18c?!2)Dd%dS(dt2c#W{TT zKnUq^YV1+HxN#ZN6mDmaT1m`mCqpAlwuTbdN=7evwu&x$dRO95+fvD3`cO9}vqr$< z)li6f=a(7pmp1||tyrI&b^KB@UYn5GK>n&jUb(MEq(%gjQV4N=NXZZg=LK7{25H}( zaBtcUQ&!7(ylu=NT$?epb(x|x<}SPgVh!H-rc7ME9&ecMFE|CK=JmLrQ<+4{;1jAE zHQ@R&6+W~LU(p0=W;vk7Ff6ARN>_cbLdP0XL{E^Ivj|e27fPX~7)+-k09&Q?i-INo zj8jD?vfQvc@^Pg9#=cxY#p4;3iLQ*kc!wQD$*wkIaNCN;A2pi8bIH;&0F=n= znauOWhc&3tdDVMD2;bZUTrnY*z($f#WX!Xht$`@LP_zJ{U|zg67UytYRgq={koRjcsb>w_qIxvvv%Ns-~#fZ$s{wOS9@b+f<88CK4l0L}q1( z*UDBzjEjaWwHf0N&&sbYD_+9}J2Zl+0;k6d)!0gF#Z=RQ+%{|_4Hl)Al4j= zFES3$H%{_~1_6z6G!gd^8%0~}VH^&Q{KmT;u-wqh1LvV}D+Lf{1B1VvGAKHX^R}RJ zqbjBPN;$L@uUR;4T$o=nXiHrH>&X)94PQD7 zWbQy+wN}-GFiL~#1V8QAkAT}I{ESX{{rZ)@3+78~r$+(V4aQ@W^5r{Nzo)0cAawZc ztzOUo35 z*WR0qRnj@nAgHBypJLS|l*QEWN;mD9VoEdS&V@d+{Wb3w?=v43{Idm80sj{%CjWmD zCIS;DWx!c6!W3WAn>2unaQ1qU3$d#$iA=?WG-`0cQE#qP2(HF1z5*O2!hp z++-gM3}{!Q0tWV1e*Rv*V2%Jk!1&69xV2msEh%lS1T|TrzBm2o;gGix_Q5Z`$n{j` zcP26OJbaadcmRAZ<(M-I;8AW%Hc?t;aM88Ycv{(<=l7hi&H=kvGVyZa2#30cuXoop zi{2+YK~4~JB0@;x_?{(O&L?jFtnmroA+%TCsg}1L4cozDh=r6-GA1Jv$DOg)vfzuC zXg8tl$;IH0WA=rV7FJ$nT8$v3Tr3uV^0lB0d{0P;ds%LtxwVk#Z(Sb(Q5(5p+Z5?z zHJEH}b0ZVZxy(vXN;Rcwl`tdtb;A`zWyTyk5=;J*(3Y6apB^Iaux=dIZnlQ#vHMVM zVc3hvnnGQF>%6AuCjO=d1_FWx^)Jd%{}*h2B`Mnq7_1mW-FLKZwMl!c6Mlx`|7gqQ!?0MFw@BMD@hY1AhfEn;-V{>^D=C8`>*eWbj={85_v6#| z@7*9@hT;0N8W@Rm@u{QW(Rr)Li6Z4p6*3y^z72gFHf<|;zN)n-J1<|=SjRJ~1Bo%( z6C!}igF(N)JPJxWAT-UG=v=$gF;=C_iiBesVDX@{8H8r3UV2lYM{}wsV1}te5FVGv z6)Qo=es{?d@zxPMB0E#~tX8|CkD6=1wL4VVqanvM5G?+Um+4j+ z*mXhN=3i_|J->v}i;q24uABi`?k}x0nWf0rC8hk$Oj#9TdZ7~{u7yiqyhHd|%xr09 z;ceW;%?VhPEY%8)rXxNS}3gW@_A%bP-TLW z7Uc0@iaAdQDSOaq9^CuQ!*8fA1@ zc7J=xxzAO!aQN6C-8TU32&3zFo?Pd`&s%nEv1)bOu0J>5gsbjp-q<9ZMwaV7g?i-T zzHX4T4+l4>)@kgyzqT<%*j8_<78rMBXg1nf+1P6|EV!Glz)CVPf0;vZsmQE!)%8!f{sc*KZ%2H&)8X0`cC$iJzK$2jj@jp57s~ z+sLpRc1G{R9fT@g(09t9)OV7Yo{2p z=$#ava7>_`=AFs*djV|T=_wH%ST@dl7A-xKNzd>&ToCn1xi?;HOmc4p=BgN^T^JI@iV3?2fW0Q??<)U!$3Jas}z*Ve2c-uZF4AlmtH z#h*9qVuP%a&}FLwMeFeLTn?f=N|VyC`5{|)lOa8LbP3kQLhM0TcvZm}holzaX;@>( z7}78&V=iIT>4a`+45zdi4Ewot=M(fFJL*D(EYLv^Z=qtr9x7zLJd}w$SwoC3pW-^& z=H%nHrkT+U_lYGVj1zYd+B3t2Wg||qM+gkKf_o3s8Ai{DE}_H5o+3ucH^qJTp=B6d zH!#;<61u{mMCZ17GpmSRHCmDOzv-#0`7?JDC%i#MPRC}hwi=(2ViAkU0QAjE(plDX z7GTj%WomO4Xh~-yR2Zn;WCmTwq;uEOR!7*dwU5Zh!L$K zw9CZqztKO#<5#&1{IP`ok<0um0Ap-qVq<1+>heFSK8XDHPk$5e1jfnBhzg^GR>?mM z(mXSfnC`BT?m!mO(8vh&+MP^rFf(V$o&Waa!6xbvjV#h`ug6lqQHK2W^6LY12TU^5 zr%HFe!d)K$8oSYB$mxiHw-`HibpXw|8?)ZDJ#i-~Gqrm9BAS88<3w3My4aV?PAJrU z(!usi_|!zYO>Jv$pyTWE+3zximbY%=f9iOWN_E`jBvJH@y8YBwC2oTrrFRRxO-{2s zEPa|&_!&;>j%TRmhfrBvNx1uS2xXF4yyWd~H&h}E(&Os?fU-9%2#D7I+d2E2){cz> zx+I1`@-knvXs|4rObBZN)-cnm$_ac~0uO6!FRQeiYNnbs_2Wox-PYz6Ib1-P!A!iG zb?t)G4QfSqMWwfe2P>0PaZ@ej^!=94lz@xHV|=%N0O$^tHNrY#yIq5AyBS=FuKaSE ze9@@iRr|&r!TK*m?w`J^SVKe(U$8Xh*)_nnw|31*y67cj*Z0bVJU@I{6UXUDz!->nSIsU)f5r-S+BItqkOmeZ zS(mZs0zUmZv#>|$vcBWt+A2lup-wywiyOWf9_}V^0>;s@S*o7WO8S$l-_hNOIuc`R zmNmE@f&2qGDTWA%ZU31iVxWckw@S|Q)2e?a^KaxGlij?>5T2kYaLROlQ6OH%Q7I#) z(rG>^fx%iD;0Z^eB3Dk04pz@F<7%?}sC~{Fvk<(a+yp6;g38gGK(vJ*nvmF=vt5^f z;Z25MH&8^I3zBroh-{aYiZzTqYFHgGD{wgYGfjXOTtouQ3$WU3cJh^b*_EMEhG;)d zG!9|;)ym!U)XiGjH}srtVE7@%wWNDA;pTEA>B{!8T#(m4YC2{A7(vzH+PX!2w^-Af z|0DTkNkGOJ*5HgL(0+F?kBw7)cF#Ok3{_z8=LAbLsX)B3nckd8TVbY?-a2XxbC?Hx zP+=UVDUOcc^`gB~zJr#YD(M*D-x+>{^QW`15J zYEdgvX#lJ|{leJ-xQ(e^A5?5oBC0uytUy0+hb$IdV94%_JKrZ9dU!@v*&Lyscjovf zfWFm&R6lji=;yrAftr+I?i$-{yP_B!X`dVhrG!#Z#778In@;8hm1~~Fy{DkL6SW-9 zAI#<&xRf_dE_e9VWBCn-Q7tSHGBy>1IP`^)1RMT=y_GH=uG@Sg^7x7mV`d^;>jWW6~mhB;p>ESbHbRh5b)geFf!YXO(PQqT$tq{Xx zNe}OFiXLs&Hb`H$Nn-g9Utq?co2bKpJdl{ixedjNWI$R6HzK@F=3^-n!pKCYxp;q7 zSljTrm=DCi0fm8GPWB)B74Bc$B>tB`@tcB=U582OP{3tL~!<>XUSQP0DJ~SyioZ=BeCv!|J(F zhj{pHZH2(Cd7!a2VO7gxp}EFGJMT8H34S-8FVrU}5#+ zZ9YoEz@Fc@WJh!W?FB+eWl%~M2mZn_0e zLdB+a5gIty`IAyZ*Eb~kW}M@eej4FkMF{EE;e9&ScqkhdtgYEl>=x-WK`5^yG}}Vq zHI+=M$+7cz^Q^YxNRnq6N96OyxkN0JhDJN(NQUGz!isHhhFH+%7@d#mY0hm%<})*n zZk^?3R<+&ebl!S~Jc=cC)(I;w>pK$m(b`GwELt{j->RriNytQ$iKLN926dUe??Uh`2~jeE;H5Iad{w2}*?^QUNVStzw_(7!F#avewW-cKUbZU#ii{y7UeeEK#Q-8?0%IsL^6@k!QV zLLS{Xeqvi92G{8~+yfwEk?jm;8Sffk$~%^@O94Y|c+_rK;~ZO$iXUhPm4Dk|b~@Ek zkvh(oZUXN>ZNjeiWsn1*4rQQ{V_k+BU}_^P9F zN^L1`mY4s|`pw99oOQQ%^cL)FMl8YH^1=1h=%gn*ko*4hKn^YJXWvWEF#$S{6lIXQ z|G5YOgz({rPd{X4yo@Yhq1a#IoZO*%qHxKj$!p@PxqQ!siGD%+Qw5yVn{)!bx=>Va z<#$BpFOskioaBdH4?kMGEr<>IKRpg#)%eFs@zFo)h|s>Y60%q15 zCTtvCk+l(=@(v~O#@=)JJb%gwrg04ZfqY_$9!GseroiwwWV(U#E&tSZoANESiRs6; z2)23Dz&t>{;c=?K8vLe$QI`Do83@*txgG&=o9$(d55YM>3?ubS$3>S=5 z9tj{awiF-juX(}$D-e>;w0n*J$(T%G{zX~B|1Ti?Gt&M)FTw-WwjI{hFh1<}maL9y za@QNbWydPXI3+bPt&eeK#Woq4OwPGBlv{S>uOHC;I$G;>pP^{LMnMYzVcy4t)sGsW zNRyG<8%9S9KojX{ZOSfa0Pn3Fd2Bt-yU%s$zTWu#I{YLE(h?yL(B<@4wr#QR$D;B$ z%d=UWL^Hr2gq1);ekP6sr0(d8n~t@6=AYWe}-{A52DQP;Q7Y{z-U) zBA2wg!Cp17c}VOG$e#XYVVzv4+ZCk`*czegkB@aeY=L87%W)rgHx%`qLG!<1Y7XWc zZ(^kD8&j*bxrQ?E_bbRALfUt%Qp6al=r-y7pGHy z9pusJ8qLG^oIs{)bnUhd`G?DrGGc1s^vG((M1=jRqbH}z8~E4nh9`0U-oz$?NAU5i zdDCAdj!+>fluMpSR=$U(s3j^Dj19PX4~fnsLvRFQ44ypTm$c{fve?fnq}5eGyib7^ zQ0f{NP-e>{$kz=rWE=BL@*|v}s25Dp4SEWvws~o6m0iazifA1QFir3?SnC5%#+kWw88s+EBS2CitZu+R znlgi8Pxz@68WOKoJ1UbLRIZKvo=0&T{^4taal{rqjq>?|jAROAN8~x_FOD*&e)+y+ zWq?Y~jKdWMH5uC&vEVmzsCwjsYO>F(k$uPt;mz&ptYGYvgi7r{zwp<@!u8Y zS2Zl1dbq2Y|DY(Ff8?d!ZDLqt6Poe~_`N`tGWj+Dy_NU1RK0w>kiDKm&>C1x63*`LuN=x&-bQ{q<04024K%^XZ1DYqjSC} z48q4}u+P{4gwE5Yv;UU25iA98P<(mx`T>UHm`nGlWE6g4#7%T(COz%k{F~sX-j2)_ zP`NT(#w4~4a{C^9+vQHVpnsN10tlI%;f$7jscBzg$SQ zQiXhVPYW!TXX?Svyr4)s{|Q8QewNI!xT7j=9?CkOSOjxx7nE*BS1w{dCWr?~+M!*j z=_T*}{(^J4@=f_&Q(6kMCO$EfaAJ1zd)4uX#BX@3%e3CZmye z4+Tm4SQmwHRj_)=1GdcglbSv+9_&b7=O-j=L3uKA8zxbBn=Fp#&89z|#@U9=k1l<0 z029KQyaTNkO|%j`#EyZPY&x^P;p`I^#b|cKa1lTDpGSmJqZ^QFf1fg5(piUgjB;m`4e-19_Nosekqvxd5ikcPp!_Nsp(mkZ>F zD=Q`C1pRqLQj-n{jAfFNXHKZ!3wbm2%zWKmB^&${3uHj6l!u5G2VlSpsYKZ7M4TnP z?neCh>#8u(hmf_F0rb_8CgODf`EuOI+A{$h7EklR}anQOB(F~Ax**j zo82P#iI>`MAADc+d&OY`*T72}WnmVG=z!9}`H!B2iW>Pg+rrVnA&ur|O=$T~cn>#A z@I6j9SY~;?K#IyCmtrqToNJ08#aZX?g7en!cGZg!x}H&rQj@A>2Jbxl7pFuj1fN1SZE^ zk5{G^$(_vPilLBUPg*O2BHH3_3`ZC;il>WzXB-;vr5kJbV|@Vy0g?E(!1F(nt-l-| zhg ztL|q1v`rsKsuNnf3>;Uh7a<7eu+D2siDh(Nx#q}<4mW(!*ob^{g3g+U|^lZQ#)n*RK*IDV+tuNE>oD)G*2&mcJ4z8x{6 ze?sb=c^Jk4gSnuDw3z3Xn1VD}rlItA%{voY*YUMKmOALac&hUEc~LR5uyS$z&xuJ@ z6i@^cM)3ppB;mqxr&^j}i6z9uqN2i<5A1Wlvai?Ha-X~+n(a2%zT z*~-qG{_%ti(%eGAVBKwU+1V5|$l03>z?V)6Zh77l-J5AMb&sO2XddHCyha*Tu|ik% z#1Do^$6tllb;|l)8CyAz;@7t*cv3Bj`l>_OcVGOQ9H_#gFkNL12C+~I8 zWsZ8xzUes}4{TJ?P6b^a4;c$t&$e`SxP^}ny&Y>V(0CfE44&x+$(;>UA_<7T*TdwE zYhxN(eR6#KTUlf5^>kb6&(y7ffq=;WznH%Nnas6B`5y=0D0vO*HA~hujnJK5HUb&Z z`AVqO`7l6{)UEn#Bl%6Lq)E80upfKUH#^|ZN_!Xfs2GWryc5&h?AyN&eqFvmg18q< z?r?CZ65*l`j)bKx(TtWj_GuR+>zWWYSGZe8eL>kpw9dToH;Q3ViL8GTC7;LfGepQj zccS)Wa2;R{h6PN8vxQ7Lz`NJ!LA`~vLMM<#&D<4s4Cj02H#mnQjOAXnAbn+6=m`;r z%4^qv4XJ;r2-u4C<_w+&g+k61oI#$AWH^+~)_?jenoIEM?lLn#MOXJ8mLRj^Rl=K| zw+eiefnX&C2EmGd!O}4MK-j>+WH3pk0gG$kS`fvRm;CW9YXRU{X#CKWFGifyiT3j% zK#FU0zZmy)>=Au|=>CRo)EcR&K)g<$q6bYIcbKgjrH*Ud`hfGiwc0mdJ<#K?OO|o0 zF}wd~$(AAhMOw`Nb;q@c8vYY|yeuyAmn-L%R=T9V-EK%EqL z?4?IKTPJs;&bU|IXY8B=o*VFI<%nAJd=d&ePM?h2OuzfB6RU2&&pXT>QCHkNO7k)5 zAvw0uFa@A8tzsDZ6kKjM_mY#YWm##`Fqs#%Th@K=m(_G)xXkved?jrpZyNJp z3lYWV=w~IWDal-;%jrmH%7_AN!gQvbUG_xGq-zyEruy#_egMg`&AIUD9cCEZt6Zfu z$!Mc{K|^9Yz){oO*d@zC|5i)vy_QvPKV8W2R%OnvR|7-QXdFrU)u^1c`<)%9lMxK=}z^hv@*Za6; z`#YsFMqOY&{UeA^yV6PcIO2HXB1E#Yqn$ktnVn>QT*dfS?_F6wjlT$>udnqa@_ z0#CK+po^7id|oEH|0-;~L(dHP)gj-sTEwOqYv zMK4$7uK<1e)NaF;;sEM?jYc)N5?yS60w;i{DT~?%VYBX1wjgUUPF@@mcN~JKtvX%B zGS1L_ST2HsF&iYjDngn+H8>!N{Q_#1iW*-;&>F4;){)Ad;2b=Y)O4R7QzICxdS z^tLe#y-sGv)J8T z7(VhH`WEZJAF~Y+<+(uR>8n%W^<znqdo-f;VLJO@VB{@ zMD|uj{HXI8YQL^IDu$|31d6cb_Vk{O$&W+gCw`R7I+ea{M=unZFfzvTm|w--r^?1Hok8Ez#uj0_mc_bBgN+uQcf<*lBbgd22Pl zxGzW2zLKwtsP;IfOCcR%Up%DEX_U!e zbN?!3@c-(}|Ggwdq55aEo6CPzrtBQ%lyC&nn?;s;2kiJB3l-E>TrmeV)680GBScv+ zq$7q(ga)VPvQ!>Ni4V2*VkGMSK^Z)+%aP6GpUBm!INf>tb=qsH^Yn@MdpGC^+3-z^ zncHEUnHz$<#$=P-sa-4ZpE~!~xn}%zo7{w*RipBazckp_1zr-Llou^GFRY})R^IbK zhHmN_s;(;P3bF`W4IkU9N|Z~cfr%?8qZeRc2+09AntDj0AKmcqC^#beZcqkh*}J1B zYeo@^l`nNF3@JAJVb+Z*W;p9(%XcLPG#U)c_a%ErQ}w<@YNHNpFw$9``bs!W1~Dqq zmWrIOc$_aBsYFJ`u&i=oJN??A=m@=OMwxhoT6BIFX=+*RI^(2Q98-}QeO}hd;}sp| zo~e98Y6QC6{H+f({M{}cJ%EBo@78&`ybgB?t{`4i;R$vKxkg#}!Oty;u9~ybt7=xc z?{ku@-z;v*=G%c1R6D-o;Y`-~|!7slT0RqJi6=XX?qY1Rwsx*oTVY=tL;$#S))x^!8k<}TbD zvZQnx+xAwvZ3RFJ8jl2j!rouFny5m`ctf{FF>Ov{yF_1E!6SAM_DFufGOD-|I|Yu$ zXYlqdK#L%FSRvdtLfoQf5Z=|RP3L0ncaiRTAK0wn_B@6>GOHc_&ia12TO;f?;u0ER#v$FYRHKr2lyehkeuqeudpgRO! z5fdw6GB2zi_DSOlzW+5A9KmWKjQ+&J!N1CE^M8tk{|tgzg@5um$;ghwMUjv|iKFU@ zVPSgB;%L&;n%RxcE!>EeZq_0()VJ}=KKxj~Mw9;yA}G^2UQ?><$>K_6eznzlyy0ST zb@4=O&;_bBh!?VWi#%C#?IB>~d@`aT^ z_>B(3iv=rg*?l4IIvq8bQ6Gnf|W;VxMm)Ah2R0dWiaK(G#W^beI z$b*It?tX;*04+O)T1EOj#VB9R9+$?rC4vC~Q0-4{6|ni$Lm$oH1n!-`=o{Vl@9e;^ z^0J6FrY#%Ej%cxR1E&fDnd#_8RcTH@BDw}`N)1F1F^k$OX&{@!yWr?|_|3O6iyD>~ zF2brVRp3Il59Y8H4?^QdZb}fX95zd6RfynxuM+bwW?{zD@2g}~PPqloSy~+rBjMb@ zQZs6G+?Gt3R&ftGqY5q9%8!mCD4lKtxiE45U#-nQX> zB@|(&;rQUVm6Y49m}Ho$N^)EoxaO2Q=@ts*RbJDR)4`Arl3UqgudpsT9b8~Y^l-~f zWDLU9d=9^p!anGv1X>_!44C%o+s@o5A7K1|*^mI8b`?x~(By!g%0tk^oM1W5X`kFn z3)v=;#l^ztNO70}_2^MMW9~EqvoEDK!*~fMIkHNc<;h%C%%QVN;1`}&X+J2`O~Mh` z3xKBS#x|?ac!7kdq=n$-Z}bx#2aPXI|LFIG{&&6je_JY?RQsl=DvTl^D;wne@-uiW zJ?eW&U^Y%HGG4N5(14OPS;TF{>X!Xk-z8J)CYj*i_X0(VtY_Qbupc=484Bh7E>1rQ&ZF12HoJE!Cp{;EQtEtr9?7Ju8eGzLpFVI_^_KBT#1Luvbu{29dyBr z6*ltvF~vW}P6}r=uGWZH0K4+FWfDkgCs4GQ*hmo!mRrCFu1aSKv^*qzU0Hhc~aAvNa*7CoK*1;{|OSm zvatRhnD+^Ez{G;Tq zJ;$>Ug}33zJLJzSL;U?s)(b1~8P6uyIk`Sp0@NN3kN3;*-$6EnV|Q!I+UzAO6n5J6 znnWqr?6YlZM48?MFs-=>q!`<}*7vsZnAiQ9iC*>KDbHoBKZSm{C|2FL!NnMPr(e5p z@6_#owYhxFQy`sEdi5K$6Ez>X*JnoAiiZFg@6W_o)D*iHEzpU+Vj>57=XVGI+G9=L zntRif<11>CWaw!-%9Zbe5<~<|JylNj4FE5`OtmU$ltM zuTcq=JSl3uJ~&FL;r~#}MxtWP6$aylmM)%)FdFLREk?|8OTaCPMu2@+dBDvhFt}kp z7e`9U8+}ILPaS#^Sf49M$Xz^JO_egfoRC*(>AN`$SSbi#Cx@nFFlC8n>o*-(JNWiW z_hJBPg?v^i-)bu=72q;s_p;070GS5-Ld4-kGvVW^?aP|x5Y?3*%_)6uv1pZ=R=5G! zAh!5^pWxa^{2?}OTOoY%a!z)mT>4FJCY~v-Lt9hCtG@biVuf8|nu5TX0TqtyBW%s* zz=ob2j9Zds!9JGdX{s)r7K=sLDK7(lp(uuy!5B)@Dc9a+-y6dT_UFh6TXc-`1X&T` zFk+wdSZ-Oph$5Fl(1#qCxt$kmIxN0Te0eSH)FR-(TB;O~q5Bdz*euzVq+zl8N)t0G z`PKR08t)LdGEMOIZ&@{~`U9;T_#X@5U!-yVFTC}yjm(?>L7Z9&X}x}kbXZ6eEJK^F z-a{W@h)yOQ0)Y^zXue{9cE%=}CVq(g4DNeB`8_`}B7NZbBKj5?cY4BpyfH!xeP7gL zDu?$z_nP13e3_V75FAG|&1fr$-duPr*d|-=K;ZOX^2<}}wNq^qoxt|PQrLC%$`M;L z(K=bTxw%00TO5Wqt?yf=U_YaQH$HM77u3)V-BX0%Zt1vqZ%6y@k*43b8;R(LUIm6e zrJ^T!J2kjqiUfqa*lNSn!?<{lY%v8Pb!&h^SKAri(o~O^07XE$ zzv5S?yQblpQu^nZ8%*wc9-#qAB%;g_%oiOv*=O^Jibbxkhc(%5CBHoR2laUK$(Mx! zI4TvAbP`2gRd|;2B zzvoXT6_8t2;Gn(KiAdfsU+^v6cjumtVM~8QMzoffZS8!d(6EagD32V^fs(n?ilucpa;| z+}s~$^2&0a+q*)0B3MMut=OE3UEC8gR<7|$6WDLzVp2}CW*I;cPj34?+9e&ZKqjTK zy)yfw#DBA$E^HqeSZRz>)<%9AO< zK)j6IA@Ma(AHd9`=}uu+VKyGqJdA&ymKEvqbJPvV?Gc5;R&K4qVb11qJs zRaNAG9ZBDU*JsfG3*`e!I}u>@iwy9Ss?oZd?;Z)=2XvnwPL&X=bc88ty-na2{jc#$ zl3XKD2@3*(ivnF}<%_XM`1#dYu1;Hw z3%VMH0VV?;OSmRb4aQJKR49oGOoMGzjtjh<-N~E_TFEAHsfq^JgxP348=OW|81(^xdWT2* z)Llq0(Rp8Ite3o=VSp6bS?jcp$BQYK;AsK+{lId@IDpX;M4CezWmNhUM3)!t64G{m zfzY7r6)oMh1fXBUK{Y39BHHMxhd9^>7vU}9$y-F@vh#60g*Dhqaw9^9f!)`%X$dC^ zS!qCkeqY-poE5G7U6l&s7Z=z~O31<5n3g4%!%5r4$O7zLw4azI?*&?OXKECyEOEwE zc8}J&l6P<=*X5nxEuR9es>{sAhA|5Y#YxIK3J0T&Q@j(R*_dkvA4KGO<(O-FIe6O? zNS06MX!U&hKi7L{JQTEw)^x_$71eKvZNIl6?jBR5&Pu}cyXx6M;+rH!tP#zQpx|sa za}}<+V`*ll_o)*{S{iZIkz&l*`XDSLR_FmP%Q2=l9T1j9f?A98V$D?<7Q}PiGEKNU zl=H1qM(6m*5%@(OGn^c3G#IVzCW7IDj8(YIpO+u*qBxN63*i=t*1T$a7E)*-g@eRR z5K-fw8Zk2|n2&Z!$ruLfQXo*9bAq!^SFOC&f2s(baxmh`gTdG1eX&Dq){f;Qsuqdu z0e%9xX|$+!lrKxQe54BD8EB?gShEq%Z;@#GffJ%?cT}-ejKC0K@##2e%b>% zHOC1uFb6Rp#1;jMkBA1OE<_Xpko!uV^z3>l1(BLfjqpsM1@XFAdM>yQ1o2A}y{%yZ z;mjonIK>QYXMi*)UZ$#LP5Ic3Uh<%h=Bi-t;h_7*ZZF(Lei6mwk+)umw4@alN+;NP z-HxJ^)m7buK6fzvS*N9N74&squ3UGcIm6s;o+xpoP;A+LkUQ)IfkPXJhceokn|~WF z`(5vvTIt0pNiMAo7s-4Fpo#+gj$vv~a{mbI?ikNL^o0#`gdtHQc(1pGPC!XibJk~e+V{H?2_&=>QP_WD?VW=w@3y_)?%1}`v2ELC z$4aJeJ|YX!9o-beo9bqN$)Ns2d}un@Z@9C_TXPfaLD3@_1; z8=mtF$R(3jQu2waA*bi08M6M7L0ig=jkV7SC^EwHNOj9?{e+J`T(|tD(0M}*eM04I zIu5IAhl<$X*QJ{fF^^|WpPR)~A8H0Ei=PHrgC7p5dU~-JBlirIc@xpwL zGZS9TP4Gh+|Am^Dj0_9}>Ri3;++etG(KPUlyOW?r&cVqg+*Bu{KqlFU2diIWnH^>Z zB5`FkSJc3KgtBL(;wZ&4D4q94R1BzlG0 zcM`WNqOQqfa?Vhx!!fuv%sW_ASBf^S}BcsUGWY}-xpN~eD<5|J{v0hj^cYV<} zjT>>*uJYl|pCr+?WaF@Y@iuTXbo$|wo^^$A-tLIGb|Bbn4*}J&hHrFhwa0@U6ovbn z%|5V6_uholt^bhN`bK6V=IGRZ#wJ&(A~>>YpdW|Fs+@=j;J2<=&KbeZu{MjSF>5nn z83Pj=1e5a07in<(nMELLW#5d6?6%{*5ZMe~!!T`?kq=AUgexkfK`HF*f;9Nm1|xN! zGc+7aE)KI!a0QJgm#`Zv8T#rxPEE+Ae~bv^ds_Cv_1ADD#qUEith0qzTopIeCd#2q zS8A#mJ>_az2b;I&4%^N*>!E^YL`T-YeB*1M7`397eYj#*AtMj;Xb&N10Wp`AyaHDw zDt+p_py<^G7WX21A-*Ss<@f81!LS@v`acL*Z{xUvSLwDAeML7_HygFyF2_r(u>|LK z2+u5eLRcj>GbF08gF2OGKYnDTB+!Btry@}cAl$BBTB&b+f7FY4ITvYp@q$Sh?!kAf zT$ZQJ6YdGshB|1XRPQ!L%(CZAAgO%57=-D3l;^NgE|B~LyO@J~i$JP{zRhf1%+zo( zK)ST%i0|ID(o z{GZHZI{DsV%h>_zZ`_-4{;mfY7gvXIJ&$Mc0ytF)zeay1fO1elOMQGI4Fh#4XtY#! zuRXx7OP&syhN8WZjKf|t*?Xz{*_pz(aq97CQOK&aINkQA4cs2I9?vFb86;70et~;J zB~rTXK~B?u>28fyKnt`vfC_d&9}jJcvVV?%l#eQ>ke0k0UWz1_!M>yqQPT@+%cwa zlMS=5->AT^69A=Q$&wD=Wm1)3lr#F$xTw66CU?Hh*=-VZl1wAUHlXS;B(i*~>qfNHN)+-wyrgD6$%1bpnTwTfMLTpPAvA^cs?ThLpi zWF93(Ql(4f#HO?~vrT7%pkZrxb|b}O$YFAPa(un(&Fz-U=Yh?D zOKBkoMR%WzE$q*~^X{K+|6L^e5@!z)l+uZg(@PUg zd)2LBYw4?~go~dU+7aiAbhbVP1MzeWhqUaZlX%p4WyaNJ0IMb`a!E_c+1|?9{K-o1 z&b*_$NcKq4LowueKV`bV%5eL+`bcZp(a|i6C6)2l%Fgp=G@vLtpG?jIlqhoiW8W%J7n0mjX{Ky*YYUVI`0KkQkuZbhmmAwB5n zrrp|O=QadMy$+Ev#)D@3AB7;c3%liFnsh<$VKnS6;R$`d0!3W3_OS7)bwMPzz_qlP zV-4gT0j(dJ#L-}v)I75Xhzf(Oz?WI6sxD~Q2?z@X6Cw?IG|xz1^y#xlGowcc2ayVJLb36eMu_x#jnyNT6FZj!S14^-ZurN>Oj8 zcEc|jCAmUP2!vsxWH&-xTdzg-I;-0N$Rq|%A1n&=d-HHR`*Ahxe!04_CVilr^Q1{a z#_d)3>`TcSZsVP-9sMfmt=dWIBOCsh61%~A7n`b)ZJ^K-%JrVsqdRt~z6D`7f zu%D~;ATM&p89CD{G5Ql+Bo~3O- z!N~eBoAM`B8oNR;pEBQ6g#XAgy`xhh8V(8#90eD}05TOW2JeTEh_ z@CXLKB3|(_=Jw&EuMs-8K2ys-2zuLFyqrY1_n1F?h=wINU52~VulYRI$L09L=kjT< zVD5!&#qW$@;E6T$Dcv}8cH9cEc7P~=reNZVB4^%kR1>wZgj1a*FzMj|yr$8sX2dfp zeNZEv%)%F!<(56w(L~tJHY><{Y)s`EZL{-dFX|xQ3SD&IPoE;7K7CUA-*ip?eiAkD z*GUwh5oM)E_yt-^y_Nw(=NX5G$-zsf!@>C3+td9ymybpB*j0Zu`dz!#A++G3>SWDCdggAd zRM6J}k=2-1rP}-!f;$fDc0|?6VmauMAMr0bTP4G3BFE+J>3e|sj0Ad&zMwO1-5qz| zuWqk1Ywh$#oE~O{I8%p#d1;9#kps}J@Z9dM0si%cLvt__Z6p9hqvppZ#=c_HBc5z= zq0qFPI67K1X@9A?Mn=}pG-E@N9YzNMebW~UwkZ(t>>b?vqhgd%;U;5#uz|)B>qCxn z=ZrWt8N+HfK~u#5_q$qCO2rn&6ET^w_+6O35z3z`kdG6L?NzlVUE}Wps*;)n%WP%a zAhMzef?)trVJw9pR@l@-5)8ka1`VU+5^dt7mk=oIVdxS1jI*+B2K`{Qavcm)jFsST zQxuESA(iBlJ2))12{Mqo+(Pq6Hbv#Rdx?Y?iE%0}wsc}NO!L$J8xU4gBHv^l1EN!1 z#H=O^m#4Gd&Fk=mYEQP9OSHuqq<_HhhJOZtH%Rh?69Uv;?#w5?ooRnjBf{vX7aH5J z0TB{Y!GsAJMdu+@;jJuE*|uS1o=kQN8;cbpBS@}sFiNd0B*9BWI|#T9pF$1jt%lV} z-j6KVc-1p7wKcBcMo6iViX+%Ok;zg&=*_D3J2Y)YYgl}-yG<^Y@U54e zI592p@!^A?FxB%g*hyy5^WscbYeHhs^gfX*5wSIpEl-t!A=hB;SHqf$Zx0IT7wmk# zkXdw%z5+X|0iBUC>$x6{3WK%@Zz$XDi*~@}Zi3p^yy>#46%Ylyy9?II0IQauUu$E= zuzG6^uw8$&vlz}Le4F}M^?&}GjadG*7ys4Q;;+s4S4wIWk1VhNOkh?YX&QeVfQ!G6 z+0ikEUr5kv$Z@m1~y(7I-QjX5|mV(VOE1&DW-c1 z|85yGgJv0lq)P6%j~tENyfJ?i9VMCDrg8{y@_BAQ9b*M&;P};bc&wv&)YP#ER?Z>) zSLUTmlDmPKSCBoybT8Oa@N>iT*H=V1j)$2+v>~fX7f7z90Uer6LWmdkr$1Z>*!%u9 z(T9!qKL5?p693)K64nlm`qqZV|FpM^6fgqU$dgdo)ZtERi7O)oLE11_YgLDd8gJ-IU!PJoy(WfxR( z8m^HGX1ISPeAa~N;G3hRg6>-us&LYqwU=E{aGtQ$oa*1>-cAtHl**AbIC}S&4Uat@ z#rAvp$$%M21lV<#BC?d7j61x46<27`tJRDSVii-c=fk6~C)3AymP283%#=1)YKA$d7D?1-Rq*#;pLy?h&fyx3B;?S zlv6p~?@+AcCdD&TEL-MO9rS=-<@9TSLf7iSrRX2L0Q7lzH#a_~>&tBsIVq)ZC1J;o znrs|Pn@|>SCD52mf*(s^-^Dkl9`5ZYG-@DD`8lhmJhAv897)e>N#t45?p_DXBIHm^ zYpW(SM4HwT(|ON9(D=Uc-O5r)Y&}(~UbNMx$HK;EK;!&iB8HN-9Tc~yl$HSM@SX-Y zb!^om#Nt^eYwGju*6)ZV&r;I6$?xQ&SEfm(HtC-}v5j8q_ws$nqww5OFKlHs=nJi`O2yfoVHXtiw^O@pz{wWlO&k^!v0}( z4xqo8*z%X<|38||WkgF!{a3R&Tg!?D-kv~Zkyd7CwVl!hC{X-@NWW%DQ`)|GX+=h+ zz&953w@=>juHXghC?Iv>))%jn+xEO&8+@O%w)nHLmxM(ZL{sw_bL#BKg%V1}DdJ=+ z#`4Ex(8&7N$%)83SW`5GNV(c34RK>{2|zTFS(Fs1kVl5D1N_E?G_pI+C=IFG1{a1e za_{6(&1i9^ptZK1tP3oKF`2ZqA(c%f55G+R1jg0G1$RJm%{v75w%tT$*QB{l2qQPV zalCJ@qR^M~<|P48zMV#Q$g0+{u?|Bg3yRXc<5mZu(Y>YB@*C>Gv}CH9OP27zjvUZt zuc|x11?AyKC9y{gr6xia;rb#`BB%@5jV|rCMdr3eWXQsL{G#jW{~Znt zgh|ZW+Dk^?zUTK2?@!IWG5l=IA^4cc6gLH#n#gjmC62QiC37t`lT9hkc7kgWM77_i zzBuGbw1xS?WYkE(3ud##K_63<5Wm|o=1seiL)R~Amo(@vE}3<;QSvB*rcw=!;h?j3 zP{l`#F!cS1;CCWa5e3TNn~qViYc}#_`~DpQ@aW|mXCOgfB^)_&yW^&-(3{y~FAJmM zw}|MGfm+u@I&Pm_7_Rfqr3X)=^NY>ccTnDIFX!jp*$U+zX zg0sZ`eRS!tEwa5WtV0$S{5KrJ4>&eAzv1M>Bz?fKVy*%H6V6F~147CN99rPN*{A(a zIDb{C#7@bs@*@m(k>psD!@et$*PBBLBA(~)-YGW-LLq$ll1-j3t|A-8qaL=ke-ECSA(kaXei)?``lfzt7M+s+mT;MWm zBy{R|WWTE-SxySsay4BjWHJ2oNl@>nYNSzdfkf}+ViQV@CZgGdvU#{Mo3YGNO5x`N z&=aL1IZ)cGw|d8Nu}sX#PN?yy{7H%ISMSM&1V^vzms#mfpsD-BUdKo`(iicM zZK;Y6XHh}@@(u5|ejSZt%f#6GpwbL^8QyQzZ9|MV3lYH7w?J__T`=(W1%~#Y7nW=l zZ4+167vmwBA9!Ih%N>i26R)ALNp6~=Ue+|i&BaMckxL9ZolB62y)K^2R859Fh1nPv zGp~^ihj}K^pLz=>w1tNxnYxx=ZWq)jl@?P?<}|+Q!KpxS?`AnwQdUR8sy2o~Rb2xN zjX&8M*46t$ZQOVz44`(ZuCg$*ckV2C3In(AE*V^K@D+%vcSBR79e?t>LUN-1{70R_ z*X`u7+K<)ir@uLg^e^ht`tE=2LaXo|xE_8KkxLq z@bHoVxw@;*ypqz(+az?49S#ncyKZg3$p+%d#)U|u7%GxIoK1zpB9oCB#$KFQrvViW zRFuahinF1xx^#rW2y}Bl54ug!NGwPiU;M|{4DQ1q@@&v@g@RK{B@7W)BsqK8W#0z; z*(H>!W-8@VwXH~Ux|kX!_FBn}lcoiIOokT$M?EiZ7KAr1Eh`x94KII`0{YaX3;*u% z1q1XqXXN~42^oD`DdWFv5g0Qe+slsjQ7x4jW>b+T7~B$&r%&^X=y^AX|S!->HMbzL}H~9xqTr_ zF`}u$rEcZOyI)Eex5HhrLE_o9G5Mxv0SHTJqk)b@B|t@NnXxvO>OlARs+0xGl=GwJ zZw;)HKnV#GPJ>YCdVZy7))zMaoqJdA% z{8(_SKhiFYK_urpX1+e=4NvC5EH}Uh+}h&IU}dp^K#>dT5!X@Puw@UnD=b3+A^<7ahdgshMLrJK_y^pb0*|AL1b5_sP;jA33r1?H5o=5~FLwA3HYC=wnT~qN zmr*v8NxP8U*nhhnKn@uVpF)8479Ir(T{LQUN0si90d$9p+wEN&%*;*WPhgvFmD+osbfVhqxHl z6?UA=y#YlPHu+lx73_p}(_&mGT?H5f&oTG(;V(gW^e5K#pnudG7Cb&_eppBUKYe!p zTX|t%%-HX~x`6kklluGb6}0_hxy8_?gv|;dGf;jiB`VRCvnjg>5^;=i5MKXybV)L6 z^t54`M_RnzPEoVPxBN1oF{nQBC zHF&-xzvTXr@O12 z#NR*&X1B=~#ELFU%N{^W3I-JN+svsfaH7pkj`rwc<&aGOL~SiM^SupPsmPHEC0XV_ zj_5Y$L8i)5*m5gVE+p^`bGJ4sjtyO;GH~_a4!tB5@~v}s7xmSjOg?}2m(G|ON$oLv z_=T|b)!T+JH6^)%7^bP*CL!!H6ff-;1yXxcp1#^I5q`PNh zV5r5V#eD+$`Lum`CNzqaTbf7rDP38>@O**xNVxkGUtf5afBtfR|707Q)0?s{ znKWKNW+jNYjM_>+l5Zx+vzzQ_DQJ%>(L_yglAgLE&220X)mM^&eJ(?O-)AJrYJ5bA zL)%6Qg2pr?p!+KU(;doRH!m(xmAzBDq}6Cu83hUT5K62pB|R2F5pp&Sdo#NC2>&jo zqt1qC_~!7XD6Neuup@9!rEOX#cPP>H3%~ccOugfI`x4$BU)S}{H?lT5n^G|-+;RbZ zTr0=wI#;GM$qg}d>{vGA4Kho8Y~ZawnieGvmr!$lnDlqfwd8+bRwX9`!~eV9D){dq z{mL^Cx+3cFEVb5&s8yg})a*a?7BfXkir{-Hw6_nRWV^q?hZCX?+dJ5}#GyTW-MxqH z#(V&2_01R^UJ;K|CUsiZoB7BrvplCe9-I^U&aGFKXV7TjPaQ;I zbhpFD;9+)iv8e&g{5%-lwm>OCj#wOJc>vTJ!Xj3~_p8<|G|si$JjG!akvs>;7j>^F z+^X|*xQ)ir>D$t_Hzc0(Ppezc1XC6RBiM*`PhWy^L*TUTKL#EjeZ?sKUnBHyqU--k zNTYc^VhIh3SCZ?u=xTvcn*BG?HPDJ-tB*D^(Xq*)HTg1hitPi91K}vdbZcm6AksM> z!y>UKHY;ITAbU8-xoNUO!n9+J6L&wf96<70cGY$MCA&Bhe#LU+rp+G}&%OocWTu2nqP`N1dhFS%B(qhfhRpvE zW^S6?mlUZrrq$`lLJ3=L!#ZRGmWu%za7z70KfDbdruWvn>d?$!>PbEFj8YXTe-yvNV8R{gaSn z&P`F+2O*>n*(LZtB=k?^H6e@rK_-fj9=3p=oUh;)h&*Zobuy?F0unO;VS`UB3Z(J= zxR$7BB(9rfe!C_*_b2$kX5eCd21Ru0!N-l=OPq+I+pDKXyly;J5ICgOC?*RgnHuJj zI?4#8-@0oL_|)^v@48g3+yt|w8Q0wsQ(b6K3<1cY=|*-?GnKmYXkD@Qq?z9)iz4{P3mm+oUXw(KRk(uhFr#jh4Cr(} zG13v!jkIa(QI7eZqwe<`JYn*l#MCOGP9`k?s4#x!z=QX)Nh!tk6o7c}1XI=L!4%~` zOVI+6#c}JjRcSMqO@Xfd^p^K>pvTuR?!Y^2AL3cA*s?n_?jWJZ+5 zwNx$T0IL?raC&LYoib#CCRiJnpCTES0XhtwXfR2T5{r(; zTK&ZVP0@*j+n!Kfu4&yKZGf?Ewn-nO@2DkODo(uQOL29<0^fJ7qq)E4F%`3M18kVi z$Im=d1J5w^pJ{Kgz%nGZ68(lA`UQ{{F;r!7EyfU2t&T;-`zXLPR#8`UmLEo8=Zu;)EkpMbN>>=wDV`bMg(_shVlGg~*jLN|F1- zi{4lqVT^A}MkfI8MeaWskXC5NbHN0RwC*g7j5p|CIxmr`pRx`RoLflMHem48r`}baDdS{e#iJC z_+XR**+X<8C2kNRo@B1@oHU3_{W7klk8xlvRSENa+|%&nKJatS>qi~^o@MmK#zfJO zDL?vn#QTIeAZ*R5iq?N+tPhGJ^>#PGeG~|wJW#B$X2IS+^%Pq%M=y*k6OaAE)mw6d ztMsHjywF@?KXkR2L+_>ND$l11qs(1-t`KiaQ>B5%gZg_gc`3EZ86YnNwGZXGO!&^> z4v^25;=MW7EKPWmp(m>y|*BX;ei;^;3>S*-}fi?&K*XA z9W<(DK^iuF!v9^ww>5iv= z&H2I@MFFaPGw*QJ0KuxZg(@_0kfpcJZ&_xI^z;O>EM)jZ)W|8UJoQ+&fUdz8Va|s6 z`K8eGP52EQX6l!(Ck2~FaG=ndheVmth!~eg0C7^>YCdorx4;C@6!bV+)%Sn0R7f2W^ z#n^c&NF}b6^ZnJh;jiz19E$T>$g>!HL;$Q{fAfCy|KIWavwHb=Y6k|-9CU$GiwcE~ zJfgsAt~IdDEHe>gh`9oCDrsl3bki=U5topO3*;|yWEo~G{NL9^yG^SND~aGDwa4F? zOb@sY+pN0YpPpg6(eN0Vao3x)E41a7wC=+bdD@16@h~cX5nBPR22e(O2^60~8A_o- zN5b_-~4kcK09pOQdEnTDsT4jD_CCyoA5t801 zg=g>McV`v(YQxsFnlW(>#shP^>&{_>k@>621WpM?Dvre+WrP7oOK*8G6EJ%U87GuU zm}H4@fKvfP+!o(xf6Pjl=aju?5tk4WgFGAdO}~rzSsh8cV_o8eMI}iR3>IME7G624 zzeM>?Ww@6>tHz0TAWuyYHU<;c#o^p=7?UIR z22H-53JT5SmT&7%h}@pQ+gElgw`fEL7MB2n-uEVAkF48@zuzX0Cl{^nfb)_ji`Kjg zv8h}3;~PxX7&_LOQE&;e;t0OD+BE^QA69jl2N9NJN&jv2CTbz>eLPrM0q%uUbBIT} zPl3YK-O-}&y)=csGtb3~-?Ik$bdFtr=AE!fAZG@s7xEpIXa$)^)Z3F{vPkL~&VjjC zma3m+=$Z6AQ>8Ln=hibBwKoAl1Y-yI;$jS;OBfDiJryjDEpn5uYXcIrve=|G?378+ z4)hm`ZCRoYA$H=litqh5FFAY4FxLHw3tNIjD!2kfzMs!eelcGdM930pdZe@7gP)&3 zoV!b>kuqfStNUK)jP4{=+NIe?8EG#*X@biMl8rxerkX z&_y4ex#3~_EG5QBPXxwGmY-Xu=i;zHp+YOrqDAtC1}oFwU5t-CyR+MlI+ ziT{b#mcO~ShQTSk0lhCraz>?aXPm>%OxJLf)QPZ7wEpX2Y&f)rqMnWQ7l+S8IJB-K zgAT>E4(PUfQZMyf{BZ~&2J&46>BETCpZ{hJ;-7~6*Xh5ov5C30`R|)cWjEWu z1hbR;n52*ZjLf&whIyp0Ld4w;L&iNuEwX(w>p>HA!LTG%)1Gyz!s z%dEA!W%}N?^WJD)k+EZ(999xt#@=lM-64m{nL2(JwU?-MxZa2B5jvMuC57VV+oTTm z4&|H;2UYR}g+*rfoN%E|JDr}3*T)h(t!=Q(Lwu@81WI|(0OJlWRTkg{6f5%5?$(6^ zwIl(h%|c2l&3iI_09g6=KaM9dKXuDDf5iXh;D56V`kxep|FIUbv9vTc{EgtB9adCi zlvY(yc;KM}A_#gY;D*i9SS5gE{UrIs{j|XivKb)O7AnnKbKt)k>JWX2qHZckyJ$Uz zKayt4(4UJyHxij0zXQKxbCRseOn3?#H;TC)_xS#p;c?mWs3r0K>v3`O6Yn5epXdM& z{kO`mbu|85DpRN`d81wz9&6_F+EZ-pg}Y(EVdV{}`b2QYIN1lIX1O~a<(zRX>r6&f`AfW#cHRk-3M$x;@U zpvG%Fh(_syNic$t(1%~%4t}e%4ug8E5S5qlermCiNc?U=nvj5w++l)xDS>)}wK15$ z&>mF=6Nftvys<>53G(8jU&v)rwC9+1U@hRr`ablv(5v)xP`>>lF) z_Qtf?-~nVjJqIyo>OOZkmumr@@CA4Kvg%cxtXzd=l$6xn7}jpD;fhlUp;s5C*D-K4 zp-{$t&%6}0$)SCcs+Z3)OuV8af{OuW+j^QvQL)Z_Sc|l<&=&9O4}vSSD)^g@c|L%) znL%~NGPl3ePp5+xD*3|t6xsx133T1h3N<)=P_d&t?$N}2S(%x!TO3#(SzO;!R%Lcd z_tr{L$%$|*+T5y5-AFo3<4CMq=SvtLg>B&?c15z(@RW|OaA-nP`(6vti|0>m)xEb- zs9I&J3@V^kdx2O~V{A}yiL=>I7mk<%6gXi)tI%r8;|8)bW_Z&%eIJAcd5fHcv8r}H zS7>7U*hx?04REBBDQ{U45nYnrZ|3k04D22zyA@|`%`#vT50528j0Pj$p)=n?StCN` zQQdsuF{C`lW_db#l5z)zQn9}y^-4ToYI?Q)n-j^9V=;`0GF2Y>=RQtQevA`R8G6s*>rq_t;MUl0!N(-nR!mvw+)RZS2*3j+f!Ax^(nY!{WNi5h`zpL?@Wtr*^rXTLLC}P<@LDlNe@#9dJAAINY@W<4aY%BF zaEeqmf22)rJf>k3W?D7?g2ahM=+g(_*{o7CmE&t=qs^-HgTGf0p@w0t5qmK%Ka4Q; zGivloXX7jK5n-4l7n`m(3Da1_+5XJ%ib&#~tJ!5IC8SxwKPlG48A4_c6~HuP7ic!V zP~kZKfdiP4PBJ$N6V8#Mj}|k6VY{mxm!e%1b~_QX_AzXphAp6S1uCMai9ssD#B=T> z@c#11wnGJucLv6CywplzA|FZI7d_qB^58jfy+D~bKp$sLwyJ*sxkpb$7{&p}-)N_S zp=fAdJBf=Bm6_Wna%vUdT{rkKaIwh@`}LlZ7WJg%{KzQQZSKG#VV&jzZJs8K8`w=u zsUr6zb%)0hj*UwfVc>HVTL(%w#$LDAtNAzd=44i7g|v>>71$ zrI?`Kp8>hVtf~c}s-$*$7k>-u&F(ZJIr}h_5C!|$ znk1MEuGeMDO@7@2?QNs^)v-5K0ANu@qS#q7iOr*P)0CW+DdPe28MoKCsSN5 zzwS6k+TEFX0Kp@ULx^3sc4}IA8NR;w-U^Qh7ocLRBDD*{1z#KpXjr1kM zcY^Wkh>f}rSI;cOM!(1~ReuvLu9KpM2;(w2(tr$$7$S!v6ic`au{%hC`Kg0P!P6)C zsDXjGN(oOBnDvC6wZ%ghq*h)&jI+j-Pbh)Q1_fiX%VC_VU@O&O@D1H6pFDY&wy)Av ztbiV{gKI<=8iiQp3lf+!xxI$OswMYXNX|2CeDh05HczOmqsXwxI?Cq#@>#p#Cd%hT z+vMKUE5VsBKF3ybxQAhlc4?$Q>5Z zWm+Qj_W@ym1K-mT&A@b4HF~aXE^tt|g2*BF zgaQl#a@xL5DmISZB@g=XSE9F^t<+Ll0P;{}e#AJ@`q)c-y?`@}pDeL>N!69hLwX|T z?cvZTmq}74vES(7!taqV!Z;Z*@8vnZ*{-U2nt&zFvo)sy#e}nQJ85cnDtsaH@Yr<5 zRc_zdT^^}$OpMxVRC0_}9B6dxYuo%H%^=KT*Gg*Xl53U<6ZA%0yHD(dIfrOuC*tau z#ID7Jf}arv<1*qVU?6}VE3wGc7g*udl;JKA8g{w8@<3n7hZa#kt`fEDfC(#9$R`6$PDXFKM@Xqk-2?;{PhjD_2u%XYX- zFhbaU`V*r<#sPfH;okUHTZx!TS-^t}hy)*fuBV(gE~MWJu6umSwJvM;qhi-9_!kVu zPz16}Vu^edQ4~&H9)8!{Tb0GIej&wWpE*Z2zl}Pb)4DLiCv;f}h?%%p+dcSLXg?^T z4YmLf;Ta2l^qx~us#xJu`p8-Q6N>b11g}MjsCe-pdVZ>0lG)t*LlE<I7MNRlK_pDsX=#{dQTH_rs4`tdEvwgx9OirheA@Q^TIVB}-(`TDt|Af^q zP$^W2(@Nf+;gcONCgY*?Smd{KoL&*?7Rx>(PO|j5S7c=;Z zl}=~Tg9CCA38(AwL9@`)F2en08Sfa$hC0);fR!%PGX^>H{RQ&^l8()VksEO9R6?1Wv zu>O5JrtfI}uiJa=a4xuBdIVw9J~Dn00XeY|v~(YUoJbF3Vt*|T$LTP;EgKYEcMgIC zFp^TZsGR$)J74A})?_3&k>X{5UWfh+Bbb^!g@htX2P+|IWCf{OTBN205tj^Usq4n( zoB~%{%pUE=9zkz=Y+5yXgJ-L9p*ROvzd6_m zCL+W1Ao}6F0TPRtH-Dt(1+{P45`H`>zdKW_{7+2rU&&9#Mxy4%mPShErq=q7PWJ!G z_>uda-9NB7ztHeIv0PF3TK>)e4vz=bN}*V}bs((B(FKCSoXEU!y6T_@ek%y64r-y# zFKLhA*2AWEZ};{bx0?kHGH-k$&|UyoK&QVJ6K(cj<5+8tad@jhyPXq1fX;H-AyTDa z3EB$SgDS$cnrRZ~5O{)AuA!C@B@-DThbK;oBD`KQypSY8&)>GSQqn>@JtqUTLpLQ` z;7EB$Cqbuoxth^%+}Ena8X}^A85FtoJzH+_$WjH%I;ex0BwZPsbe0M(hO6r05q8RO z$LM|(amDjY?n2BZATMl;&l9V?k@Ded36~ zn5wqiKN^8*Y9>N8>aIe)?s@AeM zyK7*xc%Of94sCv!jM6|oH)lmCBWEk7i{=pv-KVt!aP07B$LI_4bZe|0*tB2Y?wwVm z`dUbMcz`Vw$TSCV{AurI{q{bG^3--kE>zlC%AN}&r&&QA=?r)=rJ#-k5t7TOR4SDO zZ0wv0>KnGGQ_`WJXIWFzP$#PCRxp*PYmaaeDeg_Qkc_b%0}+WY5rz}42kV&;TVSlf zPVL3gTP%xCyN*=|!6Y1brII`^+~Pl~y>~5?FcGk=X$QpuWq1o#LBh;%jf2A!Ud=BOH>C z>^6;JIa#tI7-|W@w0vout{`Z_%(b7}FjVI`qzs;AB=M3nN@E{J7>j(#$`RhM6$Iy! zY$R!3dmK(Z%KchU(xwN^Xjx?7zTaKv*u&CXH^}p~qEB!0c&q2)dN43{Z}0)S6T7k@ zw(U|Or_pc+PMc3u4o5QhGYQrabj){KqGq3Z#o|WUoD6w%3alRB&~gGv5B^1X;RT1| z4PvdIfKz;mSwIkT<4aqgtFR#>|MO3u6r~uHiO)iS8~7hLHi~$GBYWR-b|Hu_XO5Wy zzbJ4QGDHSHgo9-<$O!1g4>Fhy&${1%coh2bC=FGXh{7&|dx6Y&_9o{Vl3g%kW;Tn! zd)4!5Ki1E z^twd31gcP0saZppUKrzZ5%f_PXK|p+T?A_o3)=d2^oCcQe_o1d{V}~Lmo~bTmP;a6~bjw;ygCpMX0Yt+iP6)2W#>T}Fvaqn0{6Iz%)5))fZ6!yIYGg z6hb+K-O$`Z8E2`zV8|x-$;d6I^r_==@aRB;fnD*}@EEasZ7p5F#hfxIR6ecNuXhu# zNf80N1GfPcouTc29l32(SCCYk0JYJ=cJ-rZ@Jc1Dp_GDq1dhT&PqPaXCU{Q_>dnQuSyWp2Vf}5o8D1WxR+s12Qm3% z!fsK|7@J#9t2f-wC3h1{#yqCK-G+bry2C|O1?C*HGUKis?QGRtI8p`zDHD=-Z6+0<-6m1j){L&| zV{Tj++8SjCkaL&Ix^TI7v4@XxiT8qMl2m|!e#XWuw>i`PHtjX~s;_-Mk=khqJd5wV z`&~VZ9PNJT?T_R^@3UdXj*r!skI+Wyf4GVNnFaIDf!YxQvVsB#!WJN}5TtL!)q3as zt{^}m&^x`z^|xGo(K%^%FkiGL0>Q83`xVf2x;2$a=n~qe#$LdE$i{J01s-`z2gfsw z=wI^Dlwzv*Vnidc12|O$4>~Txqq*WVzBp{|#puG+pZ$MW zJICls+htv+lXPs(*tTukwr#VMbZpzUZKq=!9jjxblbr6g*T&atpK-?C-}(8B`Dc!* zS@&D-ta|Rt6KYvqim%TmgP|QST(ss-+n93QL3O)dQilQaH%IsX*IgkM8@qW`6kpqf zVF`#v`7NkO8+m-0Pi*u6qP$qsL=hW`QWA(TI<_!Ku;nT263gdCJMmW*q4ZMFIbR?? zsB7)@LP!g$KJEN(j~h-?K2zgPXRkYZ9Unm2LpuJ??G5E@I3*Ss?TuK~Myz+icZEli z9h;8Ya&BDBX4RMrtQo--8O>&`&5d^=tLX_Y(++H;rd-8~^xCk3+n2jPCxg%(WlobD zGhP(WgA^X27HyoFpub~xC|k{!UBDj7Yp2mwDldL1#;@%JM`RxSEZTgRqGAAi0D)O1 zfIQRB{t=SVcg9lq`9f5{RaZz9UxC?XJ_9k-j4ELf22P(i${e~$w?8^K? zPq)-0SC3K2tqd}Ivk(ook)m!r zwZGZw<>2)X9AMP1l3dv*cxUkqZiVY!@;B8eIYS;I*Ps3GESG8N-G*CEz?N1q<{81GPm>1nQr*Y&Ikkj8FHPBUE$+W1WQXQHC(&}jb{`R0=Q;E=Xfkb}YBa#y z``e$+l}j!wzsh?w>b1?jSc}tS$Y^=uq&OBEt_N#18+X`TbxYE5;k4LJq$T@vLt_NL zSR}eP3FrrRfN#J$$n4A7?rvjAGHe_&om-iC6i0F;MuX|H2M+K`0*jR*lPgTw!&)0@ z2jvHBLA}Z4549FMDxtGEoH|_O&;d^{WO@1e51%w`v%j_5e z>H=DG7T+Jmc}L$OI#&kiv<#5Duk-L2kGJ0GjmzYi4xMth>7tSsMo5iqn#b1`w6s5v z9%bQe4T0G9!`wS_1UntSC5UEk?GD@etpVkt0S6e}YeA@+c-BoDx!g`RyMIdQB2u{$ zlavtIfWo-Ms|F~2o{yeQCqCN4p79YMQnE(>QZQPp!|?N>ChU)mKnNE24fM}IKrnEB zzmfUlEyBhL`8W4E!*$(RYFw+XNm4;q5vmYX7{5+a(toB=S@WxiFxx1J&dS;FB$%eK z@_SHEZ%r=K+-c;V8Q;rn&Tb^#^rrP(AtaMLW5Py?(-hAU_fe+T#ryRoUC$@>uo2*S z3^Ke)4%w-Ag@LK|=(H$P*y$_n0a`Td<%o8Yb*9_+1#Q`Oh53g1pgeQ+{n^O{|osPbEq`7uc~p%yIUOtnG#^O0t9s4XV(j>;t+ewaVeWD{x-^Ge1;lAb-yUdMC@6 zDiRSr0K>X53H%!t#~P>pSkp0Jimkxmp8n2adOEXRmgUSs%86@bGo zzOfaqfs$$^B5!rWG7sgmFrUo^1-wTW5r<yT?EAX|ijv0~E z064eRoXl4YL_jH52E?&4eb6n>6T&?8yl8hY25T8=0Xv-<51%cYvv&Uht~My0_P2*o zFUoeS%gAUA;-n4i3?L?Us%2+wl|o(W8J2j(V3l~z>ZGs;V6Tj&;NTb+Y$ZVo?Gof5 zB%AE8PVp3*(`826(pVqN6)K`?sU0)wocJua`a_#}aV;~Yw6f(fUAP71g@!$EYcI$ zmx+{XU|dI{c4AbvB({GN&|1DO3UGz4JQ`nTO{tB@HZU{3XA0>%n`oW8a;H&}89PPI z9+u==aDaatAU9CS^_rbn4OVlspk+QcE;{unra6*&Zgfsj?z*NW&5ATAf?2NV@ne^l z)231ebVX#xwT(l3_Tn*EKa)&WpqA`L+z~0+N2;}ukfwLQ`T2wjP^3dS0^evdV0-!; z#IrJfuU42T7|M?mhMxa z@1Q?f_kj$KQD4~G&sz&<*^TXuV&mv&o`Jj)?WR|=eqI*Ij}f1B5EBY)(ZQCPFa=8# zcjXZ-#RHtGe4h*|-GtsPy#>5o@AKp7)RkTef0s^<>Kcb|12Ipwq34Ur$JD<1{*-z)Hno0vkv=;tx9}6p!14f{Qx2(87n>hXOm`J5u zl<{JryrpZQ^FUO|@K%E|L;f1%JX;!`qrQqDO}2z zx1pBftE(7v&P?{q?-8||XqaNSIJ6hUC^!v;{y!o_L!KKhXs#&HFKX-qDSVmwD(|tY z>ymwg=UJ7U`B0*8zx-h?;_p5S_T^VUy8m}~*#DcD{n?kwt*ZifQUcjW=lUeIM8|bs z>S+R-NrPN%5{jTJOA(!w1B%KQd|M?p7KT>J_V8CiEIv&19vqTLV_7Zu^!Y5;+L|FD z36ul)37>VpAH8JWa!=P?_I$kE!~1D)qp4SMVtH;loF?ZeHI zx0rYx2KOy`ZrZ!dKfo*}C%-GRX17fhYcOqyXxwAFy$*YiH@a5{K>SSB^KAX8YAd-J z@2aC$*2z+?TkZW#)8KgpGdziuO@+sjBbT73IZ=!1$h(<_H#hZ;r^`bW>Sqq|+xr4$ zKJZ@GL0eTL1T}2!E++FQntdKfXFFERcwjm3ljzFeM1E?!wPH1d&|)d20~Fq2aijsj zLBQj%HB={OH_nR|W8+uLXSou8xefFApQ{K6B>v(B2arG0FYaGCSFV3 zwv|J_Be zDuJm^{8i(=O@l|Q%*H@O5Yo@aUDR9DU^S7|KL^9t`?che(FbCDO1r3*w9VBWJq&2r zkwtQtC?DPwkAJN8%;HmNu=8*&kpekVp5YD;ZZ=&Y8GnFH4LBMMP})l|2`pmqwYE`) zag$M{7V?SDEN>i}V_EcRbuaUB=%_;%uS|E*@}x<*RUU1Ib?b|tEbc>QZaZzqKOCdw^_bQGjd7QGsc7&vh5PR0O0g1j+qzvaXdh<< zEHb5p{dEN(mZv$e3H63EONfn}c9PMN>Ye?(2h`^?=CO_JjbUw#OnimWedUiFsk3)s zxLjTLP(8igQSG?QeI%5+joF1X=8i#%F)e*bxLJ|Ue;va)7uljR$RKioKl!$z&XsIH zt^YH;!D0gjLn`#8eCjRgDPkh$Te!}|`TX$DZFpW2`7S2{lR7IA#LrhPq7kPRsIE5M zn@uM;8(g6o=e<$)+rd7BxN?ICb_8b$!@TF)?+SjJ@W1=iW={m*WD2@^vx<;Q_#tS| zRg1DrI|`QZy^h+w&BJhcN^-7#^Gu$cTme2o!gT$%C#w{fIS5 zk!}HX2h9O{7tara-xk7{)|FfffKs1#KAhk%>%QD@UB~0=@dd99NP)>H?l4oYwp#7q zmepyiw_Ru(;Tg&r?yle#V!@HSfSl7zmJfF3&cn9FLhb%gZ3C~TT>xX_QNtnW14N*+ z>Ls~7e`2$~P#;#cQA^eB_6)05?`C+^tP+qd7Gn_J2+ErLDa(RaiydDut>3sy6t3 zL9+j&xbY-)kS5sJ8NX~Pe#=a9HDh|_60+<|P7UwS2SuoP?wi3Wow%5%NV#qCf>OCQ zuht?%WFr`k8^#OfjXHfTk`U)S$HV?;ZG78B1Hx{Mg}8p^RhL|S-&J*rMB`%FoRoGy z7NgFHQoZO2Cz=O6wGP`C;FEG9p$#P50ee!fzWR--S1$i(3+^R^0qOzqAD*w?r|u}6 z+(z4*GUw0C&%z7GD?9N$`+#OoX#t_ei=`kvwUbb`$*y#Hu1?bgQXN+rTeY_McMe53 zTdDCKU8OkgwG;cs?~Zd)(L@XFlUT3@ zDtB?XGu;9o^nFwGj)Els7|mCZahPQDMIpM40rK;a zxVh&3uF394z=g9j&S_u-jzHrT|fiF-SE@+cV5TPzV8H2nhdGO-&>j%6>-c%pYX}rgAqCfTw6-4LL}zhI^!5LGH}0+C>t~~ z-DOo-DVi95`(VrK4`sa5&P5X<)+4W`L35OXxzzM#gxQ(BA4*D*5($2^)6A~)30Zeh zFd`?3ubL_@K-N(JMSw1dATVBwMuF)H+ke)bn+@@W?P?Vbc*0g=16YP3$B9fg8IxpL zw~028H5^*&Rus|YJG9@H1$=_BfG|kSlewW(!Q|?RlEpWY7}wH2?#XTScFZD36|epg zy4Ng-MZjz~pO5^b);nCL+gS+d$V7QviG#LiZwPDW+L9+{2dBIrj>PdmNlY*|OKdb4$07U3B}sS@HhxKd;O$J|rbm!Lod5w_}hw`^56 zbJdvUkZieD-@vVyMnVH~>qj3W6h6N`)1NQ|R268@k$Ahqh`^M*_LT1oQJzFlY!2g( zN-Z;`2)Ov-bO^X|uz32;kMZXQ8!8LegE0!qmvKD;#8SyXlX1$_9uRwrcG#0GCFYNT zF^k_rtqjX*Cg%8VdhE0;FayGH4^(|X z1$p>K4DR69sB6+d^H5UZKoBfDODJZm(YbWn>$Zi6FmSxy5XPx$Qqn=_+08TQ$48&6 zsk?t%JV$f|r28=K<}nx$x6Oc9E%?Fz_PWFQj`gDz$Erj$-W(t~p5!`biFhr=aVmku zb}#>sRaXZ-T+56CA0Q?e(m5{$3Xc(dQ}~Eq$DsYOzSChd-j*>D0|BEUlbBbh zW+AiQFI+`AAVb4$D>J22_0i=@15xh6sb9T%0akK8j4^P&z*5p)Uk;B4?cuI&{B1E& zwR$RcwL<$@z2EVZM&j|qMpifm?RyP6CgVCi$f&$E1X|mi@B-cD4Z;Zg4v^9?M))4Z?nC%;$07nx(LT&3prY-M`JeEYQL+b8Q&i& zIz@x{{pQ!{>!-h;WjhN`6JsTlU!U8WSpPH2vg4A2{0Nn+V)+d15yyO`;NaJ#?ueia zrv@gMS%qN@(x%3)yL~-3#O_xhKgsKmc|4l2!mCeDi~r%{mT6dRuk)-s+&xH-tXqyA6E_oz8TnYzLAqMG+eCnWBgK8_qJI!Vqch?;Y)dbXzn~s*Fd+uC# zz1CCsS$x3Bb4@CZH#%iEW3od)-2SPQgp_ojb}BAAJ&)(WVFe74H8knh))1V&pCf)S zS_9A4_A-B(%nmisN!t86ul{Q1r2kHM}-uK{&LquM+r*>;0s3#nk*w^1ih$= znL8916TB;CC4gd%xE8C3BoM9$pD|E>ZpxNz&Dpg44%u}*xBdWzorc)uIQ+5m-QIiJ zGzb=wXbPgi%Qfeb=g24f(dc$WkM9F`TgRG-8eq#|)n088LG30v*Ce@$^w>()rc~8B zH$IlWr(q&cY5|qjge@l?vc8H+0kce@k$u3q2mlC8E4^o$*<7TqhOEm4?F`LK#ai2U z=6M60jnn|sH`OUMtE>a|oNkVn%EcIl$2qiH7Q<$9L%Yhsw2tho|Z~5Q~o&w zFg$QV8SXfAm@R&OV>#xa#8pl0M5j^(F|bw_NF2S)qOD{RtsyJX>E7xjDUs}47^k2u z3TU^{y-z-U=NvwLVjrkdGD^{*P~4(*Q>-RRH+Lo+kA*1mpDM}gkT_uqVw=WUu7j~X z@<_wn7UZ0tkSp={A~!(1MMg5+rh_aw+5@{ad#Ke~MeHq}QG~x_DSVNwnW_Z6bb3r7 zT~WZ7|GYO>IY6ARQcMnRka{{kbM!^>&@x#E$uWsgL$Nf!1ucauP6(4Ec$DeB;gU~g zC9>zlQmF&=xPd~j%Qfa()&ka5~7@gWD833{S0bWA^Wfbg+mbT)XF* z%o!1FA4iX01w{@wkx z5phtxnJygZk(4oiTz`~4kQs(R8qfJ3T5-J|nmNq)JdM60YFM0aexvx?a9Q)BRsq1L zl-tL=o^ryGA%v!o+5DNL8X{*^m#~E8CA`}CsUvmBuyxnG6ZBNO^1<=j_ati)Zi0{_ci<#xHl?a zuX%oV+Ec+o$2yH-E@^J@`P4*L%TXqm)8*OYKRAlR%mX-+x++l3I`nP%n(ei)Ilw?+Uy+MZRaOlaFl<OcZ1Dv3 zhgukGaOjfSIxLD;g9wf_n$(UvfM%6UhVawyQ5Uf03HcNT>VZ*4XJRYA5;TlIN;v0O1-Y@{j6i2Jzfzmrn^r*(Cak$blxrRmiz924Vi?d6u+aOU7Xiqlq z>4q~-6|jXnweo*1hOFkyG^k~js4Dk$a0mHl1ANFaO}~r0*-th*4_NU+T7YRd!Q|o7IuCOyCcU?&sy1&76b5%-_e&O7{#I^?;Pfv?CB} z8;KuxnnP4yJ{)qBs8D+1bWt0ju;sT#GX%eQ6zIoE&1eJ{+hhfchA(Dss4b&yUuY;JY_&< zW)?1V>6qc?!9@iecRm!Z9iER>TWnL#LOm^%7>BuG4IDl1)W}g<8uCj={m$Z8wod%!Y)K5 zYDD}7hl4lsn0_b_(>B#m!o%8zz1JY4qM;ql=m>wUEj%aIEyivueTEDybpkKnEx6V< z;~Nmi1Ij=b)&jd z?&?g?%|+<_pJmMZmnO!#O(JS_Sb}s9jcL%@aF%5HY?PS#EofEC+ZDE(u_6gjMyZKi zn`#!exJB~7zO)L0p>l^L_5Xvq@F zq+LmpWo(I&VBVRYEDU~_Iw)lC5vI0CYaW#gwoFLU*Q6Db1aROoR|L<3!w>LhfY+4^ z&CWrP-Gvi#dQPE?8l$Cr+rpZa(V=E&6}%3U0W&iy8id)W;_<7IbpNZaMZlmhB({Sc>sYGM;e-3h9`jAN*0T9baX9}L!t zVmec3ci-ZiD*Cmv>ni#rN*1F+!K~*+?6fCIQwm?Vi)R|#e=*`|;MjZ!sIG3ua>MX` zMw-4Pp@}Q>)la>|9~@drZ#~{0(1P%AfJcT&S?d^zqOi=9h3dK5K`VZBz+-YQ0af|R zXl-|RXf!Joq?wGO7d+)`w7>|nR^r^QTBB(8^IM`~Pel;+3Cg!9a2Ov>oVh>|9~QK9 zb|Lbu+Jx;}_m!B(I{pBi4L73xZCZ;Y;t$c%l(0eFe(*Q&L^)G={N?@{~T>Sfj zCT?9vN(!>t;OVa0BIAlWHMOiXi-gy0&1(=fee(9ZzWEDdRHmC$X{d>EJRYC97y~SQ9@S9IIJ#J$u*$Q%iz|aIcm*{6EJ4e^q5>( zutse(z_wz;J`sAqeOijh;Hcv^}X*lqM0H~5%>(Sk*l zFR-E&taR0-Qy>;?(xmo9*H09FYY_H^b)kl!WbHPyw+@HBe^O{j0_;Qu%iyyv_!YT0 zvpe{xD|8DMKNl!5K+^cE%`MsW-TXuVWiEdu6B}XauE^zF}~SF2z|B-{=%zGK@9^GY`a^PBh+BeT=Hl9St+^awPgrVe&d{1N5-7@mpwU z#I{Ffw4U#KJw`Zk8E>iba1;EfAa)>e_3x$qjiR(GS*3C{ZcyHq&1AjHhPVD4qCMQ} z0(boXSbh5?hX1TnNX8cbPrS$+yqUP1rj)4F? zjMF7wNzB2^eZl_hr_np~{qp4%q4ov*z%Rk?mJ6|2rD&~kjlMY+U_comGRFfEcZJ#Oma)cf^Z#Ov;nujk{_Hk2exi`1dNHtS^l zl*y1hjgpdyiUZ1sB20&&X0){mtQgmJAx%mfiB<3bjnM1?p<8ldypd+iu$?lC&OtKh zaO_yM9@QBYJc@=|WPN9I$F!8JX|u}E%z9-4g2Ax`kX#r#!10rPB0hsSuR`z;et&i{ zf)RTWM)?E3QboA$2%|+GO@`qua5ZN-EjqJSAlG8ySo@7o09xI6)8y*?{RFj6pf;mR zmUOxWwt%juNGegy!6`e7J-V-UosBJIQ&;ZlSoM?&So7pe_9Dz=nu)p8!7VZt%+A7~ zD0ayVo)8uoz_!cv1x>q6;9D~NAVQ7$#!~lTIYek`(GBwCbHpBXuo3&$IQHG+Q+^1$ z!P&j4co;-8xq`C|8qk#)-DZGl04PbP|57rA;$7lTZVau83k)t)l`0EBw{%zQMOv8O z=oVj}g6rI*Z0<#8;K*!9Ao&mC0eK_QiRE^e*?MVARy(H1ed(l>wzz#kmK5!(Q_uQc z8}h@YcjMLm*T;~f)+3^cZv!DJA}euT+n=MU>s3-1h$ELld#M|1ab=V*29 zs_Ae-j){fNAR(j-_$4Q6$sd}C1c8JKQOo|S{8c6OMuMQBrrSvC|Y z7g;9&5fJISHgEHp3o~AQz`H+QjB{o)M}9XEU4^R#SVxJSWp|$i|2lJ$Y{gp3!fi zQZch^&*<&hMwV0#&j@Po(jSqtqu;LtATmzyj*B3=?IG*tX-jOEACVl|!W8y(ctLPA zv!(&n1X8$e(W|rzHff##bB!-oNgh#eWHl_iE+Otd&cHQoDOc$Q)XVOZbC%il=hrXM z;WUnI$2XWL7@olgmp-l@ebu%YR?XaE&QfOxtgfMgU%f!{8qA_&d&GLgGgAASrM9TP z=gavXrHaZwgdTbd_%!W4CJD0Vn-tz%eIr=H%v!jxoowy3xJ>d?B_2y%=0Q3*&(A=I zbWV+Vv?g#Js#~)_SfOkQUTreOYIHbSdD*tsUP)$k+TLtC)g4>+Y8B~J* zQvn0RD7}9q;44%pl3>5EU_L(L_ep89?k z==lN7+u@UQ^Fg=i_c)zC5$|Rk_RM^4Z9dG&EIzm*E5y8T4WJEq5Y4cU5Zkq zQXMF_h(JU@DgR;hiF~c#cC%#bS~lB63pXX-f}sa4kuu)-KwN-PtMO5<$kxf&I#dC@*Thg%yBZv z5!UTI*^)Y-#uQo@=^oiLl#%=3r1FbK>cQ(&^umGRK+euB(PgbjYD2k(Rs2R2W@3>c zE}!Cd4Jpol4&7fHDxyzojex?TTfKo#Qwf=cVMo6z*oG5?w}wk8(4EA|*RA0-K?-k3 ze3fbJK(f%OT;?aqoRwp*=m1WsH%h+FqKX=-7de(nCX?&ChhaEUiC7gcJ065(SqaAS zNT)7);D}~D`r)R)mwj`)ge=5ni)Nmin|MLVX&-UtLd7z+B;M!hzj%GSa#1S42UaRy z9Sh~Us4s8JRB6KK2wfzrd8t~5)iO#0Qx|}qd5g2<4arraub#U)2M=%ACPC`fvm*;P zA?u_v{WM`mZ9KT{mOE1Wu=4@nDgnaYHq8LpK5{MB6d;+2D$9ve#KDXO0E~AQP&PuE?rLK`)p1P=B=Y z3`gyHk)OgaIq}1}w%t2qIk_+wWO>Lv6$g?1DF@t9qz4y^_>94S=B(*vmH=-V@~j*I zVs$lv^{bp-lN-lQd$^fNXUJ7%@AhYqqRPw)4T~;&JzxKv)y4uVS_v-I<}}(D$--Td zPV9jQcM<)e(6}aMw##q0CoN3v)RhJ&1J7lUn;1zr_^YNREKbr+ozW11QR6{Q^AXTg zV%ju5<}s`|6N`x^*Xm47+Ol&LtcFK8VAiRe7|6Tmad)DC$(yCYYpb7+l!2TJ&(?Q~wQxUpLNT=mW_LxGu3}(dGI0;MCfsaxnKh9!_(l$e*N@Ek zL=;w>v|}K0kiCoBGGL6Bcw(EnF`BnE;R{(qb)$_p2s)djsWfIZRc0)6lY7dd66>(u zWP)t-Rag#s$an`1KW`Av+@iLRa9BN>mdtjLZD^&siY_q=M;le3RBG_+L442s@`>y7 z_pds$$;HRO?pR*6B{IRN(t&Gmbou9 zdb{S>1^05ymzyV!51Rw}wt;a`j>|2}HG4n#Kh6@0abt8OK9Ck|9}lkTaqE3=o*qap zirlv0<&yV7a}Y)i3=FXO>4s%idv3Qt)v6TAWc~)tK=3|z07d%VyJ#j3tx>uu&8bfW zmQuhS#x&4~Hw^BZsOzCLiK@~YJC2)RtW=|q^*T{LME{sIKd+|VVk0=F&{CiH?u5(kI&?kufd2Yu%%H8w zJ3g0bcP!p@cHaACJJ~pv1|>N;1@z^k#*UDZeq(8PkOQ+5)L6F+lDK>lp;`UFI63rxm;}>0)Bh{?8aB9d<9)Bl| zWv2lX|5@b__7ffdQMi6j@*+fuA~zZsee!5PFpV?O7Ay!l_1%))rTVc@PkR((WM*;a z9B4BxC~pKS;)uvWE_kwHH!%Y2WxI<1^sSu{X8O>oJJr@Pxngo&uRP^ubyS^l`Zcw7 zpESI5At+dS)SIF&4MbKK31RI_-DeyzeYTFS)~EKZMx0k=gN}r0Q=cvGdq-cJ zo+i)R$~!EtH8|thN6BhjEo5k5RfV?An}I6LpwAf+Su)i!c+}b>QS8+_J}h}(9ikUy zSffR@6L(%R`R`C=AD6f$i#{42d_^G&*Q3CW*k$3Wz z(NVM5=$P%UD%#-EU(V z)IQQ4ynH@0>P3*KEW^YN@)wGdcGdi%qWX%XJKVi{dRd+l5KolCgtYGl*aWhMUt-h` zXCWiG(sHi*?C4{zcPyZ+^=oE&y<8Yn#nsXzWkDKGr=0!s`Z67VeTmj^T2f}=(QsT0 zp%h>1nJ35`+`dR&Vdfi@J+jcckI@ocP^@V<@|E+#>-vc#eBkO`D<|JK@4m=dhm|j$L3G>%YS5uV%P>aYl1NUKl zs*LNPs2PQBdNfKAFt1f@rJcqkJ`94s+pOX*n>O?-qs3mw5Tr3HFL>X&6c|$xj_+|V zerCuf^jW<2cwK}dR((xZhKKty@w$R6V%1Y{B!-?y{$NrVBt^5?xxiKiTT6l(Ho0}= zCzkfjzkd~k*aeK^8wicR@8@wPoXYs}__03Btb6$Budwy6!nCn8ND7|7!L<-l^4XMu zChGoByke( zOyfwwh#xE7I#DkE2PF~hACyFA*-BFkkF*rhJ=VCGS`06{Y^!AzCncJaGf3e4GL}1!-x2d3cV*h+uKI|Yc{OB zUyPZ4Wdi?y35WP=HhyK{Kg%fYpKu84ALc&_cv)!&(NQ*2gRuINX2OS-Byl!>^E-qj zNhz5Ali$&#&jzwf`nZ4C0e&%hwEPP0M|B3>NR%=**ftoe%sQ1BZBp5JlUDycXrgNx zbk9k0K?-TYNE5kCWMgELpzT`qC07H8Uy z92z@iUg!p{Srd^@jb&qPlg?iwJcN5`Sa;?^*6%y`Cv9q z0PTue){nS6lXwp){m&{_yg%FW$DCFSngTX+n0j%SnMjvftC`fke8p$3^`Cr>stvMX z_P6_MYJ#-tB7Orz7yp<45dTYR>|_k=|COCfA^%TyE+8!yQBSP}HyFYmXqE(tZR7iQAI{Bxf`XU^(`Z^7RV{b>_ovD;kNTl61Ir|TaJw~Km*>tT z#beW1o-YcfX=7+ymtC_Wnt%?|YlkOoYXU~iB1lYl1yc+fPoRvf9Ica4mR^r z-_^PpJCs8pt*hV$?Cm=hzyKcPj16@MDCCbd!^%in5y1b~`2QDys{0-P;4l9gf2dN} z-|-Ls75{_(h<__kz7(--E7!;4^YY0*D6ZN&>iDuc1WreeLW-*sTv?;ize!C8bI@mRaXn=?+%F*a{E?AnwpDiwYH3Q(|sE7gaWY2E$U(__3nFMP>KC z27%+hRWoe@3!V9$%@?z+k@6eZSoLSwj5OirOyFrQDicbiR`Wwcp(d4jU8I5a1ok#B zY{*QOc_kjQg94O`n z(4BCn=6N4kMA!~ExluR(ML@d0)g9cI-GT@YGXuVFgxK3xe-L!5rg_Vme+8cq`2R-& zr0s0Y{#$XX(!|3;--Qmho#>C+mOKuP`M-#hN?k@k>nKm#^M$|H&HMEW*fz{Mu)!H) z8fOY-{1|E5e3*2i8n0S2plxHkvr*S0?7Xt`XVNE2;3&MDc?xR#nKZ5iSBJE?`$TPsvneyeq>}yT zE>_iIV*i0>ZF6%=R2k91D?_%(YA+lAw`b=Z?t#iwn>T-M_JTdguL2(@yzM8!z(-jh z#TzO_(O+dKN61=$@5R&(8FVZLu+Hy#R?T#d{qr;uMWpmU{Z^;0-|D2_Y|G2h%N(^d^_A5E-pZ<3aNPkU^%)g)h17*e|_q#y! ze#5=Z4UG6d2S>Z>8w*;>$B~N=)Y5Z|jyfK!B<(4m>KSc=Ulkz0L9`3+2ETe=EdG0a zq#C5J$4glikintCd_rSBykFCK&7l~mdhe`XjsltAV8-pz^ zNFC$>5iWEq%fh+)c;HT+i1`!me)}a^vV9Qj`rhad0o*FpXHGwbo1d{;lZL_X2~|3> zEs`N$W#e;Nx=STZ(pjfVhhcE62{OM9a{_!{A;buxXNF`$I}EnId?q?Gzyp^NVISQ7 zqdXu`LTWjFMV}4$f4A!N*9<5*J6imuK*nW(e-i)+*~7z2t+fGmkh4)btqcw(z`BH? z{&FkLChhS z-Eup9B&?OerONnH11y(6>1aAk>{HPoKtNzHKtO8$lN^~^IGPw5IGND>=SM=;7QZ@O z8Ixa$GIIKtIi}sbILdpmj1^{PbEAB7Bg(O(gko>)xT6(CqJ0G`N**Bsw>;^!elfeN zF&97H_9xtJIeda^aQ=MDPZnQ#-^m9txF);gBv3e<91owkzPC+e{`~kc@&#y0KW@i% ziw2PVL$jH_)yT7&88!i&`>J&hU5AdoGamU{0DZQk+Lm4I95q;L)zy20 z=;#n6rTuRGQNJBrxmxFlcxU^z@>CmV-v?Msfwjo7DW+--n* zYqpVdOx%y=gMCwomIHr-So8=gI68=)Zxq_)dd-?kCiRZg^`|)r(J+S?o(W~IoTBuY zVlW*pF!;QFxRDBT zPMD}$Q1!-Liy&ScC5>CNq+Q^0>>rf}rdpe2O8DF1TuvA)Q{$EFWuBF9GHH}K0mTVX zGKrST$KnJyVn|Fd8Kbf+E(IxY5Aseu!ZePAaIj<;VBUzr)Bs*r>RdS0x?(BOHVal< zq2THBI$O@=%^hBKJwsTt<5orPg@RG*Jr$k|&%!Ia*3H806O^YX=7Bp~v3(Mr_nHR?IO-PxIj*#z|I97Eg1-c#+`3kz*1__SCK3Y-X*I ztvk6$zKz~)7wPivN+)q&f26)+5^5J*`W%j zKTBUt%WYm1;hnXcoOLQF5Ex8z4k>gGLHjsJN-%u%GmI?oAY@S^iCG~awTIYH{yX5}A3Q(XqNq2X(m0Gztb_s^YG+ zqdji)N3>LU3~>HxHT!jPIlxmiRwI0rbF(UfTQrAyVF8{^260oRlB)^hySuQZGd|m~IHfmdr z_^#Yo!6K*?N$}-S0vv{s$nuyN^uAoP%{DJ4u5$)CLNQV*y(wM&t=+)Bk*>3^=eC3l zao>ZfBzm<25zua+^(caxjU!yeGZ z5y=oMJzTGyH@zwEX;s=#N(b0&-FkQvV&p{xKlcyj>w8zt!+9{#8F)N{&6{l-`2ARZ(Ki2B|J(0WBf4s z77r-?;iu?L)DV_WkUiWFkD=$EiSrD7@QtcdI{FxMQN+_g*_*8tu<;cw`+K7GjSnSC_}3E4kT$&D0nV&Vt+#auFOx z5q?T_+04EOy z!q(x8fyne6aW12*ad?ga#wGSp%4IUy@;{5^&; zstst6$d#X>8NO`fEfwv|&+DLau2LypU}P^7e1U8V>=K1gl-UphrH88p4{@=kOp5ph@y3c~17pj&qW+dj2AeM?erbe5um3lmHjew-Dj zITuB-e7FOVp*(+AQ$Djatx7YVxiE`4j72(%8k-}#DW5^b^<>m|eGOLaAh-JVd$+YW zGsw!iHp}(C7oH}-G4g`)634agBT#{B>owY8@haJcKYsw#o%9|t(Q*c}G)(OZVx#a1 zunxcW;yip3Uwz*R>?Ymi#h(jbEVH>f3A9`jcTKoRx;Ql36%J7=Hu{!R721mtVHV8Dl41Wvl@~BcJ+SssWW?pRZ7#-SHtnl_0NITa z5S=L5$SW_AG-RdvJP^xtlTQ3R?&rvpP1w)y`(qo&0vKxy03E|$(XaLlTNW9L1!yWb z+L^m~F}GG*S5(-JRnpNga*wM>wE$3_d{3|amgo|tR{_hCC}m04k=U^g4RsI}4fWX) z;7GQNeIQVyBTMeL2=*06t?qgBlBsTFB%NhmL5)y0QM_sn7A=nBcSmh91O#h91Qbg8 zM6~{WY`|gOm=XQj9Qs?HeY4q7u8TA&eJGxeJ-FgCSW@B?qt6D*Gvm;dmkf#`bWhxx zesa4Q;db0F&Yf7SW8eATrhE7=Y)6@g&=uEGc8fIC$$aerTGRjuDB%%v8<;WYs)*C3P)*ZX{5$2#@=wT$TcZ*qG2Yver(_@_^}(En!fq5mT0q-;%vo&V}r zXK(xChq2M$csl;CewOHiAG511PJs$wv^rOQD|B$wa7a4W3f-{MX>~r&b5gB_+BNIu zCXJqyx^v&fSgs+SvcpXaEeUZpC0Lg^91ha|IO*Zn*ZXrApKmnGbuBfQcX?;Od$xT` z^A0)bqFnP_krDGkzkCA_Rnn&;WuoHYe?HtRBJ;q7Aqv)^Plc z)LW_HmQD0Djq>X_&Ydmd=&u>~Z~Nfe%rXeIE6&s@^vI$Bp_nvU3^6@4y-E(d!lm-I zmkW)j5sgmpx5=#fTd{$~Y7*If(ILFMuBiFPkwlIm(cj7Tql)O;yt{q>bPN zUc}zvn8*5HzW}kUZ($uCRJC|}da%yzquzzjYXrQ5Z0>kDDs!Z8Ecb$`np2g&4Ud(awO9(XGa$ck)9{5sKgbpt zJ8h5oYCu_$l8HjIJpoL_QC}Wa+Tg1ygw*^%qOtixY%T0UER2Kp`;atNDqR$=!Nk}b z;$NZKs$J!i`)7N2fcf-E?SB}m3dZ^lwl@DvOO$q4RYK>P)Q#2NW|t8+O9Q6`vuadA zr>I-Xv$G;aQ91j%Ooxw&->;(W^o5d``Zp=f6ADcce7vvkaq2dkllx{IIXfw?2@d_n zeDmYlqzmcC+sCr{|O?k`U;Cqs{-hNAWD`dh7nPG&*Qz@?47DI|e!>^B0BUGfAi zzO}ZpU+#6|wxj9{2jNeBydNJ> z+$LBa)}w)hjgN7VtO9J>DAMB2GG9xPRmNS76aQVdR=9~y^@6i8`ZeSmD8Q6J&g1t- z%XAra#UbbvKyB)nciK!{c*+%{b39_HC2N~f*oz84@}%?-E~ zh-nb501VWI=N*m6x%wD@)_7HaZ6V-qRfL!MSwW64VWQIr>1m6|@Y8`SV~2glB$i8x zQH_r3Y6vHVl0m}d;>;1u@dlPFn7A7|AGdV!O8)qSUM?%WZzvX{ib4e!YYL@0ad?2(i{^P- zwk?-kqo-6T#b!57{U?=pCWrbn_DNJ_{6ZQvEeAaLuA&8%{d-W|>tioL@coU;&b8^& z4&?>hoiP!ioba#8SaIJA__`PgxH?KX=~&1a$dy=QUuVb}hhnWh>%BZaakQ+R%y~&E z`D*uJ$_vf*IrKCY*;IjA_ZxIB6?)MU&^@|pX1dn6QweU-bQ8<7jnyo&@{F?kt2_kHsHAHzgnh5w?p78O z9msXkWQl;R`?g}YAt32{C?SeX(N@HG`Tb&oMSEMVuJ$ISHB(y|AjUaCU+bt{*Y=+K zz947S3A#Z##I-IX$b&T`FjCq!@uYa&=d>0At)YS( zN?lz7{;zMR#tMcwHcVY_YPcC5#AT2?PQj?sZB;o=DyP;MaxkRrnV?~BD z#3cK9zrfLFW(;7gr8JvWattVOw&&+w{V&No1j#%E!G;~N>RBEe*vb)HIyZZa`8}Hm zkI0RniQ{&i&&F;$Pl(M6`AYFQxg_8GloJ(PNt0eWrhZmew&*BYaa44D&PScSHxm`*avYjFiv3V7j(d+{2Y`0m3lA5 zKanHMTrh`Lx;H#OBqt!VJ0jX7GUr(L26qMqtI4e-t-CKOjmwZ_5+`0{wa(&F?3$U3 z_fGMczYw8)9wOil$y|$Qk{0LIc&)$~%;kAnjc;Y{_itFwHHC1A4RAMdjQq+^{M#xPhfDxYYGyND#(D2=Szp8H ze5*Tuq9gW?tJ3)IM~9-Vlf9wwe{IE;tz~EB(7i5Li^63N4nSL6el~)|utn@$Lw!j` zPpGiaoiyw2*h!A(GtMNhUpp}_SOT9&pL=O?M_Kd3wt zJR*ylc1IEPan|I!fID2z6%{Eh%JUmZF0TEG$R=V=St&Q;z|i)+>|a^@=CS%fmUD~Y z1ZYx_P_?vG#8|mSW_$Z~q^l%gTgq9mUl<^a!k-R?6)nf;bM#4|X)M}`*=?KsIa5}YpEFdyPZ=O^e=Y(f z+GzNJ&FY@Iy(@vX-BCl&I)E+{ zk9DU5vG=u+2F6<9LxE3GPX-5IK#2E6y&t`fpSw#CG@l6?ibf1wDn?i_eF=ZyDD?c| z+TePYw@e%D8d=DWujXv88Pca_0y zOL`#!c{rq4yH!&47_%n#kfegHj?wp+NXw_dur2uq%noA$(zBHUNcIM0ymC=#*1#T8 zpW1)JbpB$U)YyJWRV&qSxH}+4Bo@#9Scb*iliB>+jTS%WokF@lf>iNOWGVa)N7g@& zEdH~GBbJ2zKH0CY8_k$b7`A38!W80hp+eC|l_o2Qr$=xp{wNj_3W)Q_OQ$ip_3{T_I%VL8qDy>ZM?Dh+Vp9-Lwxa|5K!i6K?qiM>m%pESc1yk!%z*UliXfl8e$rIZFPap z030Lxom4BS>A31>&||4CEMTc%!UL#j%iS}xXYbSPk*P)jKl9%(%VI+8hw>(qgRQe2 zQ=U$oX#iV}Fbcq$DgO-`RCdE`B=QKyM8bUCVV`WlkVcQ)2Lt<({I~Ut6Hgc> zph4A_>_;o$bI3)omo6D!QlZTwLzOryKZkscq(K~;mbQ}b!N{CreLwA(=8-^SN(wIE z+(DVm3+y=5yj-|*=d_@?5xd56MqZ1}GnA-a>{xz_w75^gu$1W4DK6P8o%Oj4y*C{(c>ewl8kHWGGc~ zUzK=79`Eh_l4uN$Yl3w(ldhEuO4b^7GOX&96ooV=9h37zX2J(r{k&T{* z*|~6{j5efm77G>;TRPHkxY3as1$GbQ4T+{ls@IGVVLDMde3KYkEujq2o$W{D*l1H45;*2|Xu3ZyrMmTH6OF+yc;abP>GDB4`6CMn!s4ltrz!5IJfnS5TlsxOW z**RH)S+$ua8BvXgioqz<`wdxtQCWlkpaN(ClDs7vuPq+Ham`19Qatd)N}(_ zYrlh2GRU$JYf_Ok<9-oJBljR5)1(6@cl3e!&uo8d^I>3Cc?jKmfJzgTnKc>Lsl?72H2zn2F zTMQ*%eo->l-497L-0qB%2;fG0FD|WA>=!kVG$YMDyD*{K&6Yz13cmSxZ+VTy#dMO(9T;_o`ffX*JZw)>od94xW=t?it>kkD(0 ze#6^|+U#bGG^PSB^9rJCg#mD+qgaW%75Ka9b9Lp~g|eA( zzisGZEQ(n01Fpe4)y|z*>{MN=uFnw&xIdx>ULZAkzj&_I!Qz6TXkv}kdiE)AD5(}y zKM)VC4}*h6&G2_e4$%(!KCS?TUOmmBmWmS&ROMm|$7RViGQHY0U54@3eME_8YbiwG zOymWHk*9~fsUKYna1GZ4YU4ehn~Ys>_qV_`nyj(+|JI$DYNO{m?vKDSg!=SJ?tc_$ z{|PXKe-tAX%!;28a2t}Oys0YhvDje?hC>%yiMOC&-Bx5?M>HOGPCS!Ad6Ol}AqpXT z|KuHiJ>kqxNaA%&#{4+ZZaUF^c=7uD_D1fL*L7}`f>6Rf24~#n z0)D{DTWNdUeEnJC55r)lK0gSj+VA;Y>nYdvFvgSJ$3693F)EkLQY-3tqxVZ<1q|Q1?S6eQF(-$Q$3?u1_xQOV8 zbb@apzOYJA2eJS^@8O{`39xE62^27Rhg|pckdo2gL0->w797XcA))DybUud@sUJ}m zUU$*w@Mwd6XVRe)-JuuwGpQTQ>b}Al1gR$f&ilxmB)GpcGRx}!lFhR6wKO-TM>X8L z%{(6_<6-nsLfG%7v<^gZ6TOg&dN6EsX`I$Jn)t@I3Qp-3-v50#9SN!@tJ+hwA9Y8q zTg*obj-?QMd^7sPZ$FI7B_}|GIPI5W_$xac%PSeN_utaW7Gp6Omj5s<%%3@>|7HLv z{h3!aw=uGH`Tt~DOFC0rwDN^Qi_Fwm!Jb@lm%r4!q5!=mY!Rx83$y$YskoeKLUWC zolkQH>)o)j@F-$*?S}@QG;gnbiMSz##*`N-GGZ#VmLwgA2icpRGko`<=A}wTk_*xm zg&Y4A5n{opG)A7n+;%$t;L`vssZIdMn_7$ffIkzHtHW&+;yN`o@nMIrOhFZRug zbpfK9T+vt5@fE{8gY@}GC*6YGvfa^CuSwJb%UGdH;4%LF8A+>N@TFB!t)O}zb-{e? z>lE1m%1(!16N^@_Qw<=jN&ahA?t#I$?iH`2Y_O}}1EtN+Ry~=WD0;h8tn}3;#UDB| z3nNDD7d7h(EbHX(+`<@>Uks+l+rjk{&XY4~FWzw%-r*aBtIj{Va1d2`AR1SwkQ~%{ zLJgJvo}tLkPX_7qhfC3*{>?5U0ZzB7VK0l+jFDr}W2a)Hr&vPelKGJrK!}3drVyf`ItinV0ptM#=*M86 z*=Fl#G=Oi&hp@D7x!$K;!R@y@u@+<$&76C)sbZcNA5nkU#^m0t}}5}Fv`W3{jymZ7%j;_G4mdp zBxg>m?HVqcVJz1`cny<~#1`?rHNJi?kxr4n%7v-|vC?*zZKXWEA09e?H~rxK6N?5Z;n(c$m3GZH0ED~J=s z2VmSF7BLC4>NX2yGr9PNjJ!gTP2N9Tkyy;`O0|fZ>(N>Klt>}E1Kl=Z`I^c0Rt?R5 zhb!rbDh3va&EC=9LJV}17VsS}h8`5=W`eIXC+AaXTgS{VEA3O0@#-iZC&>t3{VY-f zbPAXTFd-drml;G#U1!ab*~(JCd#`X)x&;KP4O=OFCgC$YZU_}NstT`evgcSx5BugV z_!~ZP!uCF|*doCyk;wlQ09Qv8Tg>;b@cu~?#a;H79)^=fmO@NE?7k%viIw zS2DZGD`3m@(}x5rz`XFM53ge3Y;CLoWH2@x9<;ft$Hb$<#6^$p$Lj;R53U^cf#tK8 z$h1>Fp(#nZ&5;F#zf1fa#4 z-pjbDBRBC@%OP$%0HBe3V3$jdHKc2N4|sey{SddADj=r=89__O%B5#DgnHb;r7FsK z{t)V=%u+5SYs2KRmdSg_ih%Y48+s;ywEJfX!g0gG;s>%vOkObK=7E8_T!{Ft@e^b!l@K&(KL% zxXY#n=TRlxwq5WGl)9C@@g!#)rbS0gq4X8RZQdGw8vSNNlbWBnrQD_w&O;q*RuZ34 zXdL4+xPGP%!zml8vOSQ_;_ju0MylE^#_aZw&+5kjj34%j9Z|6t_!J5ne@w854%QIM z(Gw#=0u1TPW=N**am zi0N)(b1ch4ta&Di1+h?)?xRJ+r51t(11{6jaPB%i7BCxk37$|3-dF$qq~C zm^+dLZG>;E4?hNX)(f26omKM=5Y93i!E6!n`_3G%aSX4bk1wKLGT?OF!TZJd?xCRC zdJWE(KPCqQz7VD4Z3>RHWit>smy@41vNs_kYw)dC406N8&e@jFU>sk)eiwhG?+bt! zV^n0d;r$t$w!Ku@6#Wor7^F5-7**`v{XWq2y?@&irS!XM5fILvL52?v^U@d>Hw=@W zz_<(?ab}Vh$BFPe`Mag)s6(p5y5Qd3g?r5*EHxi-v=rWU_iUq0oIl+RNdkQ!Zyuce z08zxs*GP3AZEA_T3KqBIMNl$#H*k3@QHPJwN}X>gcRqS|5bJ*UWzS!1WV zan6&f8+nwdFQrjO7K1;)>bLa=t(S6Ujc-dMuZzYB8ZuyL4<}`35L?Y|g*1P){t_#E zs}5sbDTrt=&lP$s7uMvNbgnG4KK5KS-tiV_pf>WT61ST$x@SIBR@3q7hjb1T+`!~uOR2X|T{|@|d^+79`#PD3eVQwTK%U-Ap zJGeU@F0Oetom|N_ME)Aa-g(#=Fl@inldLZWd~dSo(JP=L7Pw=AW5)eSSST^do9&OE zn$wr2&o$m^e&Sc8JKTq=~ z|B_4ZAe+|shMZr@a`ODu`CSr%=qm-&K=D*1X|vvL|KTdU(H&=(+6-m)NBZp@3|VL- ze4Z!Ks~{k8$2uLt3Vu9j-Doq-ZL{t7MpVk%`{}6ar_v$jvSVjS%N6HYbeu+<3Tu`+ z=p?O{H4Cl=>Tip+dDEz=)OnV{4Gqf)RKVVT?e|Davc}Yv(R1x=NemQ_5v=+{IiNaL zAG>A@dDy5iHkcpJ-%lP|_yTAR61Xq>5(<#_F6phxDpvX+Q+)Lv#Ldi?>}{B+nme2; zj?oS^DNH^$?OoC;)~Ws?i}@UJFFpM*=9_5h(elGnp)leeZ_#VAQCgnHlm2ihP zqp2uJNbLArlLjd*((7^GprNpnw;ii@&xb-eoVhHEgBv5MNV#b@d5-Ef<(&kHLKQWx zDZLA_f+0Q#UbkNvB;+ypFg9S)sJjRq{UoZPm@Kn}Q!zVi?+?k;=h1AG44iTkt9#l& zqZA&EaokZ0tkHjh(g*TTA{5*9I5M_zcB&Wv544!_)@F;1i!ualnYi&Ez<-^d7q24& zc9nZk>Dv|>ew=zyzhKlj+1S`EUJY&=m5?>RKXAD8*geb24RU}*-p7h3gfE5{^yeQw zgHq3%Tb3B4d@;hO@J{)N?`9I>KPfir+0huI?( zgCWDB#6-jo3KM>kU^)beMQweJhcc#Q%m1$wBqh&U-{QEZo&)5?R`c`2b!r1 zgG|rom7hi-r%cE20hbl&aHdU~~cf9j%5Cl04>HJZ^VhT1J~R+%q5@P!$S z&{fAu4kIhd*OP%P3^3)`F8Im=+bj--LWZJRV_0e;ZgNpmNY7+AfRj zLKzVDq4hZkHpyFL!-@wM;=>}h0vB%EX32WdSmeb-2VvCtt!&LYEy4>JaJo#Fz!o~F z_E|)|H#2v^vjPhHIWQI!bOc#HvRYPPQr<@NcKsM8%1&wJnBc0QK?2Le?sqQ8$q;B* z0;6>Q3#l*wF1oW=^WoD3j#S6rcsq{+&wSz!yWnB}o9XQihGxb_PF8<;UPEX-OKt7Gt#kY{>v(+$ZfQxnGDXIe^DU0kx^ta8fF=OKPlhZP``p5%)6jdf z`T5ZM;vKGw@ik&wYGh=9IWd9JRf~DHA-{0fe0=(gCi5-FsPm3E<# zGa6rSVV&PL$vTD&wH^RLwcb)=ZOY8s=!Qy`<8vFJ&|+J6U}^G7EWfE&0JS&azBZFt zakjzugx(_3CgpnXtrG@5HN)n()=Bh_#EMla6o$G7^lDNG@cR%d5e98{eg4tnHlDhD zt$!hx?r?i8DgJElAAesqtsm;{I8H!gVf()%S zU00O`ES=g5mvmf-j#f937xl1%2lj0Z(yDv@=Bp}~pBds>dRvtpv$=fG*s)7`DL)hR zL{@J>TfKZe^lo$$!_gw z?V$bVTsbfvO_l&=O5;ZPMy@p~01DmwPMYgHjS?8GZ_V^7(;LW!hFw)1;uuLD~52)K+=^K zGL~IRc6}W#EvgU_-Vj0P$?qa_4tdRze(TJN!GsqaS5-nNdN~Lt<7M>-7G8Pb-O-Sd zg3eZ|U>q`tr>_cBJ!a^nu~#-4rIgCi*~m>5%Vg#9F%=+mD4)nuFe$@>4s>oKAa^cy z;kgu{B)<9qqq_W5NKZijlya*i)f4i4Y+?!x#$JIvlq70?q#HZ`5(UGZ%|_kl3Prtq zw~?A}F}P<4BugV-l!>!LIog1IG`w2a^uniXTe-?qZ@YlXHZ*NX3@Bw!00Gwi3z|{~ z->}+kYqo^-N@zW|Ppfc*8wUU+%N!6gTM}gHMZ7eh!>|0(?l%dI(su}qT!c>dqnFb! zAERuCS{Do3Vf>lRu5m;9gWAR*NPN~&91e;*Y)Qx|4{anzVc46 zhn@G;&z!WxuGqoN8A%^xqwK;P&6mHnu6BjkL_spk9{rIyqwiYZc7ypVnHo4@CCr%3 z)SPZR^Jb&i^>ou(%(TtO-R?BW1I3q5B)4Yx^uiU#%j%JJ+usb2pYn0|B#g}0YY8CM zd|gnvq6QVRLd-@NsYUIw@xS79l4fzGFs*&yTbS32tV2P0>%o@0N@iv6-+s1a~PXspqRvqSR zh1HBUnVjyp*fA<7IcZIv*8Nz?TM#=SaqqO1(m^tzy`^x`{U@OF>=Ahj z&ywVqiiUT~py~#R-k}^f@|f}0axZ!0j$UAg z`9iJljMjY(Nj~6Wozj~+ki7HO@sr3Ai4liVrb32OrbdWO1#~OZ;She>lR4h)(xxs> z|E7ot=RSn}32&|Yi^r~l@qvtTWnxqXI3Fa zgxf!Wdp%e`-M_J$cw?)A!6c5sF2W7fx#%a#uB7XRKb>yhBa$PCZ_5L|LsF+Yv(4Wz z=>xNX=v^3y_o$~6`eaMo7+{&F+PByo5QUtb_2f9PLj2zP6fXCCi!bHK;CA$_uf?-( z3*SboC4xS%vnIGw)HCb}Ga~G%VhiWG`7E!cu#2+rQBNUKCzx;jvFFA1jw1Pu9na*@uOk`q1 z#;6V`*e4&l0}g$cZXu@>Cm{uJo4t=Ay1^UFd|gOzr?o~C1Ss@;@?W~5uF*n1JmEfm zqrTswIz^?!Ny5Gshfra!Qm+#WG}Sk{&}=8^NKLhsXZ(7~z&g8+9d;S=7cT-5^LeP0 zU^#_I8W59KqZDTb&3*7_uVE|@xqSNe`b>m*p?8cRwI09WQh5}%6OQGb7_&z>i6l_I zDiVteI|KVpdhGqLsv%mEG)Cmlm=XQoyeIL$Q4PBP zQik6}U^Brju!gD$cjXQjObJ%~pAMiERLu zF8zwkRu~>c`1W8vg2!ru1?$_7{I>24y_Wm>n_8)WDQCkP(ZNLjM+K&3vklcH6cUgAVA9p@}q<72dz%!SAc%^`2H7y&2#1GCOTT>0<___UBf7;??%m)JJ_1MIE%sES| z!W{%zt1lpQuH~#-3oG&OJ+U$>5HYzjgX5b*YHH0 zW!BPpPQFbbYHij^yxfXV~*coh(XA|C2J8hpAw>rr(?+Tb84KZ`f|!E z*q>Q;awA)3g^Y0!6-F}u;py9nHOO0w3sa@ zJ|;;TrE)ohWD%I%zNf;&Wj1uB=-?Fysvuq59gP@g!g4vYk1(;9>@Zwhu-cZ;md#w{ zYp$(-BvQP=?b!~qiP%NW&g<5jVkVDjB&h^vS>G>qg zDt08ecMpC8EJ$Iq3)+wg;uZIRms3dgk2ku5BOPvvlZZtrj3+Ua-i5#Clhe?27D~*B zF;+ENMpGYI>!F#9fuhCaF^2D^^vJeC1B6NP8qM&b9H98Op#4p7M^CflzfsyQCq8 z!`9YvrtAdFJ~Qr2Zc*)qczVhlnZmfXKZ*%q9g>Vq8vcO>{3x%h^t;cuR z#*G}uvuCyxcHBK2k^SjoVXNfB_(m&*7F>*Dw|RSr~H2fAh}6|9f%%{1vpdF)=rlw*70V{`swLT;@M= z_1>`YRKKG`%A=toZFP5;8E6R#Bqp1w2os(*yA%N3&(B$TcwUfsBQi<8cz(hUm17nZ z`;LZXK>jv=sj97Ayc?Ih`6+X^x~sJ>!uUYTM2srUy-+cwf+>&Jm-bVn6`l=#6g zSbpF%Yh3H0#pLqOjCL0*c}PMAJ_R(=h@G;iUKCP70YSa{%WzZUny%6JIq5vA(V@}Q z4Ggo+1(hIa-+||WU;eOc1}t`pzpxP<>87$e?)W}bd6SeHx*qS3;Z>)Y>3*-QH>q$D zv%S`G+&I~;&6iS7+77mc$WUJDm_K27$`71X_sq$DyfLF(!1iGWTCb=E!r`s;TZKcd zp_!5H!$Rq3S>Cjv@Fc}{Y3XV{%Y_H+JT27RWG4)4&+{TLC@KfghjhilT(q~*+;b7WEi&|asApma+e>37EyvP8jV{dU279Y) zV+=U&YYjjQ$Yl6vmidM>GKLM1-VkDXYY|oIe5K#^+Aqy@pdq-4ka+hL_Ege8<<3V) z|650*su2R-&k&zJRl7Y4FNt*P! z10hU(ozs$hP$B=U3?9BcKK5DnP^Rm6s<$6wJGE!51B^$9=JWZ}3@okNmQdv2<7GDJ zCRAe$+h(zU2~bdrqYy1IsyYfkpl?`tMOJo7Es3wkh zUTko7M)ow#i!tcXN%<$Ad0`W7Xb%JT_yJ;eJ+Q@jTm^g(n-k7{5J5Z_mt6A)csoGQ zDUZc>R!M>_z|=LPyp$#=CX{7@C@!Zav-Y)aON1f*(W<_;>}l2iV!M~vvQoHoe8m{_ z0uvPboi#9>w*Lq{Ng*X1vmnP?vgRsVM*vRs-3W>WpcgvD@P z&~XdFkf?@SoO{Q00uA}pWHed9#Yq_xW^Ayr%WvLyvxD%0vL;g*wM zjRX8ldBHfL!_h=Up-E=Kwn{>F0W8k4mR=CQA4+kXIzqP3UndrtZ2J+`NK#$S;qf`_ za@co&%L3QE*p(gF@u9H7nppIR;>SDx_8B1HF*x)d{L`m8xc~D*y8k;0|DUWp|DP@8 zMd;w`F(Boy1%#2|Lr)Rp8AK|?>!AdsBRYp1T__+{v6)(hH@Xh55T^J@VxK}EJU3e{d{IfF~1UNk#ip+j=jYr0{p zhqF>t_AP^5by*0|yw9Ur4QxqWBngBXm};JAY&y4d?@-gglF`c!$vza_)Xc{1?On@; zXl>KN9EePkWx6|WwcO0CkeI}ynV`k034^C*4y$#5g2yDi&5a6l2Fn#Pa&jwUeqf@bo}6)({;nGttjj*ohzMyUf}n zCCb``=G#oY8{Qr&J1$fi-w7%h+FoxzDdMvwaI2;_+WAJJ3fK-LPj=9(jmnqco;XnT5pB3U) zjUYbACr^E`^ShY3T7<;ZDQ4NoPmzv|vBF*!UgT1c*}{(~k71N1p#9F|{GDwg+DZ^< z0#&TZHSJYk>dr&!o3E0&xHmyUuWF{*ja7jIxd~bL*JqY z=={tD!O2lJkl-Zp@S=!TXq_%qwy6I#xXv;C26_LCVNw1l!~db+(p9y!xBS1P;=dYO z)y+S~7Ww_)La(>F%l9{-I4ssTcbe!3xM_;uK1sPk2pj9+v2cMiLcuw}&W+d{bu*#66mmn!VwqjLgi9_m1P^i;TC!`LIqfsV%TxLDjNVWx^8P z#*AM?fvVNiGDiV3a2B`%poTJ-?8b@n)Ycwqr%m`0=VrnU43-;FqyVk31g!~98;U)} zKdyFhrlj_GsYB3qoW9bYEu97ryLv~dRBJ^C*&ds{1CJ|{vn7aZqST<-ydmmp?~X+9 z;;TFaHYkOS)bdwcH>W}u9W^xIXT?_n*&ZlL*7nay08>ZgtZ3W*(GBgdGpb0sDOBh7 z^BsOubRxX>GB8hM#Uqfzj|{HVvgdv7{-dd?#Cl1qjktO^ZAn0$hZ2u2uh^~^q-K<@ zoPoI~o(lT4dY-3dHqc^J&P@pzXJK0xd?7YIhQ=37qLUcX0Zh%WuZ!2635H&2qN!)U z<<(;7!f8@~UBxt|As$lapUDt1yBjbPUzapVN&o06(M`5s_0sxce?fARK~ zv6-wvd#0J0nVFfHnVFfH*<*UmY`Zz)`tk)ZNznqt&+b+xnSeCzbRsVX2?Q5a2Kncy7sg*s%7o$UvP016jSSBG~ z^b`a$4EybjLzCeYWRXWST|Rs$5ESYKa2%^FI8h;gB5Vz5>rNGpu@tyav$*8+M>!86gfUJ=kal_hvZSHZ zrThtfPEd|~!-@eV9@&$|X5d_nv1I)km|pXMU}#x~$CIXu5vHK3VRJ_B3tCWJ$L!uw zi543KA~)dqK`HHLM?|lDqb;<(W;h0vH0%smdEoUt#@LQNlSnFpD~d%Oe>u};i*U-$ zQG6iEe&L#ax5>B9ez6zUu%rl9&St#A<*^qW#I^Up4_jH|n$bPn#A$?L-^BUK(^{mV z$M;xx5OBpIL&Ao!&ipuHjf&M-5^mir7^n z&1tpWSl~Jbi;ss@l;hqgckH}5f0m!66@EhAYyLcu1s+Q-fi5f_x^sA2U2pw8*>S$! zI>r8e+JXn++OGo>gf*w(u)ztVWh^aEEia-Lmt9t4R9CbHATGjXtv8n;+ZHJtR05~U zA0JK5GUtt#>=mj`RC2PlpgGxr_$vyKVkZ5po)U;<8g!nI#EWRaP`8i-{N2V;mPBmF zV+^b-+^}{zrl9SO2N&6P>R5@8+dN0!H;`L7Bf4NjTNoT|*6e1Hp5*h6!Sc&TPCoaafj!S7t@R?Bz1cjq zWvN#eNhbrpno+Nj+D6~`y2uC(lYQ!b*sm=is<$b1?qOHL5XX3P-g97Xz(O$`4&ad~ z;n>Cof*N}qBt5Haz;T|I!)*PEcOkLDEvG_>H$sL7aI%+J+i({}3_#j9U#Z6Cig96> zR1OZR!^myJiQ&&dLz=Bdn9`xcgW9ylFLbjfv!RVbUgvgszE|inrQUj-*>2mRyjmBQ zvOAYQ)WV-s?{%1P2U4bcwxr+YZP?R&TK_mp8G^ zqmU4YL?YUhSfpA#Kxc=J0%3*NVbN=gPRfN`P)NZkqf+-&+sg6q?0r>!d3I(sIB5zT z#tvxN-Pl1Vf&tWW>}?|QcloRXP6C;#FoZ^WVg{o+!;lVW0U=g35yqS6Yy3tRosmby zvkV3W7Eql<4hSRAC+ke_60~Ws&Dzb-(2~-4gu^3uIv05o9(Gz^7lhI6x#VInbIB`k z-D!dKs%!&`@l*R%h7O0;OReIXeJop?dxgP(J=mY@-=XjhB*ou;W3ZkZtjWnL=R0}s z&x$Jx>X7)30;K(PIHbQA$jP#_xuK~rSRj1Ml=e#TU-ourF)e4{;dTb#d5X&$^+rKr zOGGTRGIk^1w|(e|P%2A>2fWS)46tB`Z14B3d{l_;3Bh8i`qr#%)Yvyp6ybJ;=hz(a zWf`50818-H2yC+ht0Qmg@oz@R!Q`!aP2hIuT^=>%3L-cb$|yMkC3-AxQcamZfr>;$ zyk%Bwe?7iIxs~?A;&gkDFa*&vMY;2zIEd0Y-dV(x=4-GHuqzR#R1ko2oJ0W_#Hsv( zRDY%%m{_>Ba1-JU2FFJ4U~P|Jk@@Cm*@r41T8Rjh<}trO2Om!-)xSIAjAvh$)2gb* zQ@^5*fHe=^wpuF+?m3;EeAxL%7rc?wmIz1_HWKc?LMvVo=1ezFJR+^JXcj&T22ZzN z8D?Obce>@o`?3Evh(EV2Voux9VXj&x*tI7&6F5BW*$SvfFz-)-K|A?f74233HDeau zDK66}Z{RnQg|dy8$+UKziLcxL19qolDje+Pl~VfoCq+C=!<1gh~Tp1Fg zI;qa7^HiWw!{Go;(~t#63E*hJ*Vk1qb}^iw?O`60d*m*+Z(y8v+`8-S1Im4LNdj2V zsNJ(S^6*+N@|la{Rf;j(LrMF5@r{4eKbAy{pkgVf1KfODO{L=+j*rEVe zw2wHd*{FmqStTf(xJxy$V61bH#gdU(M}u){nU<{rqh~mf(ztsZd7S`fej;&qN@GC- z8QXcf_!_UhQW1)6!M0kzhcSRYJL}swq}WeyGEixBIY<}Rw*;zc{#SPA6)Ho)NOvoBic;!5+oxTw*JvEWXT7wtt+qe)~jjyp~|%7P^WUqAbKJ3dPs=-1xtXG+S-y)gXkRuavOrva+XE3X74 zQ7f;xB{l^^jc{sqF9_5SJ;(V zJE5pwz6Q0~8|la9GD?1vjs;IBfh+pWk=6B)@OV%Tv+Xi69g)qO1x@-`N1b#th8m=Ncf7ypwG#GI1>1xYhT|S_gg$Wub}V;hml6))tvhUtuOI`;5cKJ2 z+9tPw8ZP}!`UViLl+ZQWcee{>G;Mu&Ck++`!SwOBAR%nn}@2yqIUQ0i_b)>sst zoMxKkO6K8xl3_Q>-nPtr&K*b{-uK&Mpdiz=8#Mc?f)7ay;3hE6#9Y$Ek@yVzsZ3|h zfV$E_T-eY4vW6t03sk-joSptZNLOUWL>F#oxEgJKS#SP0v=NUH#W(wbi1j^)V|pHh z+~||ki`?)-NYP$7IYId_D0dJX$NU?NepjAB)3|trx$23HXk>T&3p{bHs5h3MJuPC+ zm^S=NPUunXjW$RMTI0a^l{ZLKuVo)L2cV=!Sh{VT{G(z%%vjy6p%l1ZjjoOHEeKQ~C?NsbUDU!vSCV5@p*2uO;UQK+6fL(tTizppr)Kdy zhz&D&?Y>-n-^x$ii3>lAD}R@_z9^#YqnIVTWv8+`cirslZtoHY3%((W2nU&FvTlba zdvA9$B3vH{tWMzaGIc!u7cp#QJfrbsEm52vUUE0eO}G1znjFJcyw(nFoI|8pcxLr= zETaW?-U-)5h;NEk5vijRH3FXD}h!$LQbkJgY`}x`bcIHyVEtAYfHp#y4QAxn(Ckx;I}f> za(x7;Mp4DM?qtIeFW^KcfG*U_VR1eb34q0G{uiO?{ChG37NA(GZpivLx8- zO@fIK{faTzR9#@ZCc82P@0(x9?vOZ4% z`_q}8HLGtz8ZO5=mpF<>+DrZyI*9{sd1^Mb8>qLPk9OUsBHN080|30tuI|D z`kA^k_4rrmoDB$|$UQ6CU{?mHaf?zCl&dC%XRh7nOrz>L{A0Ds5382Q$hEgve?fuJ;v zxx+jKP5cksrriMwMhHJ0<~?Q)cMR9ERXWn4@?e|kXWbpSD3(=vAunKsWubEyM|&%tQy#Ao$TXu*>VO!=vq>eZ1{1(r`|m2k12@FMvGiM#9%qfI8YI0ldl z=gWYIQrV_2`pv}7!_}>bX2n|v_3u&F-P{c+Z^f)+z!> zx=~MwLO{P}y0(56A&RPXV*&*%=18Y^VU2ST$tsLolToSISOAjK{qj^DRHJ*+lsh3$FD-!!}VB@*$*d7pSfvX;-*L>{V zENN?FG*oTb&H6hki|w*fOR9nW5#|QeGT@$NZXf#X8uT515yswTA!!+9IjKb094{Ra z!Y@}GKk!9#G)OG?M?J9wH&PL@Ax{KRu4tUi!P2t7YXsgl2ksHo?;I!ei1^fyFLX@8 z>bL6kidTkuSnl^<(^eckdWH{<}}g*8z!4nOxZ#+)%+ec3XaAUK2Nn1X5~zZ{#J;_$A24>%U8 zCWp%YW6QvUfSCTD0lBA#vzDoYr={`#!1#YFmiuZi)!ZDA_DCIX8>XCrUF z6fl2GVq9;gX+NvOs0;CtvC)+2L{h=tz$oIR3pGw{1(N4u`C+*{LNJkJ zx%N+m4~>0|&eB3~Lsgk5b!7OCa;g4@d|Re9!12XQ3-hGkHm8HU6tZ~Q4MNOH3`zf7 zPWE;@T_+Oj>1WMo$=R?y0ydH=FD^JjL*R1i9UzoTViRRR_QJDh(0Lw4iPk1^pl!z@ zX)9aQu`2+AGvHc9JxB6qr~a+914p{hQBsR)iW-ZxVOp8*LXZ83Q597&S$k{nIfCG( z+Dj{#xG_7|F|L)Qw?%HW*s)`V4cT8gkJU1mnRy2Lr%oqL96Scgx0nzly8eDV!6GT zV=)ifAUHx;HVD5Sw?mW~g-QRQ4m^T3W-)qL2TNbl`ehsh>Ysg6rUu6KZ*h6(iFAz0 ze2HA60ngUs=X%qG8OSLPJ+t6Mt2din@lg92lI0-;Ehy)t3qT1*_0OaMHT*}cXYT0F zTqF#&S+KFyNc-xI>4X$gQNao3kELA2gh6oWJsryOC(;N)Xh;T9)ga1nbi%TeNSK~l zDxtso$4~Z-*h2#$bq6X>!69SAT?&@eE9Lch@P&J$QERQx&F{LMsXGFrFBJ`(PGoQP zWg!LPkj0X|Nqrym;w{;COC&eOzMyOgJ1*;zPIwgmp^~D3u{1Gt@$wXU0LlQL#W`u| zt&~q#=-|N$AIW&IxeS0~{HyrsIwG%xJU>$5n}?r8L7Q8QP3oLiY_=f}{!e*vK$I?; zgqzm|FMxL{R&K!rqFC{M-$>RrfF!7iOK1GQ5D@48 zT#o%m?f<_%qhS4yh%`Y^Nt_iW+*)=o;>Qp_7$l}-jf?>ZX%Y>JB*n&91NNwL0`}j? zK~)zJqzD#YL`u!_wdJ4^+^f}>QR*M~xv1UAd2VD(^$YVXEzND%CidX z45f1NYZ*Ox*AICQd6QGb!QapPKk#*|>)pLr4ePH$k8Bqw_*=&+9?Gr#5^OstH}4jd z*6$^fE4H`rW;4p_;m$q%kNce3FV|zs86J)mT*mTLH}xU46-M2Mw!UJd7f$GgC}&TDr&CxW*rF4!W-BABh1wBsOYn9b7one7IYbaL zF;Pcgy*E8^8ABWjqyHTei!S=Xor(#oA{hCtpvAcO^HgIsD9&n9ZDw=ezMZ`%>yT1; z4G6GD=uDyb0E;^i2l(8JSg_}d+klJmZq3a{=0I)C)r!5KE?>ojnz5u-T%!LCrLl3S zYj(VeeTq&X)vWQfsv2TsyO?lIAmH^=1cvbAXwgZ@NDep~sm7^#`FXh{?>pR|x%+X4 z%r14!R;_BvajLwvQP8~^Vl2Xumj(dg^HnyP-9_FjReevIcVx0!1+P}eGlJaXI}$*7Q%j}u58sJJZ;27z4R!`73-nAZ%M z^eNRDUNdR2<>X630uB_{Zo5;NWiGp3uM1k|Pm<;fjbj?NolF(ArPh~?sfXxdZU!Yo ziF3pzh|^2QHl9)~Y{BK7AcHZz*CLG5kFZ6l1ixw*6?o$|mXKz?FOA0+D;E)_k|%s! z^lpc0ID+)<+7VK^Htb znR9R{4RTSXpSeZYSQ#%FlV-z9HjfL4uQFX*i@RRRqdh?#5DNHoz>`;-wB4nL!juQK zh8>^w+{A=HNqmWA0J`$>umh=_ijt+SV?FPi;K4HLm5gLBWF=#&;-!afpa=q>v4#5v zm7900|JaUcAqG)UDIOdktk@J3D=erWf6nmovBFe5IWb*oxZxs+w=r z>ZXuytiLpCocGFAvVI)qHV&u?{?W4+mxr2p5m!?8C7W>QbG^-&60T~^(7h%2vgJQ> zD6R8I^)t*Q&(lf}X)=owofUwgjK<-P1(YksT{1_S^Q?`MT@ z>pWL^T0;|mzzXKE&wi%%b28%oOU`FVor;#n5Q{fDnP57y*vT%rT)RY(kw{Ift_@qw zWUB*kPcLHZY}OdIU>P)7u1ri$0C|*#X2;{ZvlGPdu;+CeSxxW6*bXU#NmxUBXVr486HDN6*{ohlUpz%r zKOPaWv=BdIx7}}HR5=RMNjo8~`>Mh9?156UBog4S-{yvZUEGpj-yqPdj>lwX(5}St zD3S5?_aMBTN0tCUu4yhoz@#29h{~(bob!{+&E8RbmhW54LhrQ#*Ca74bDkyKv?#M= z?=f*=s}!%5`1m0o(8NRi<{>)htKC^d8Y4=oYR#dQrZe0K@a>-efw`6TYmyMKY)%tk zImnj7rY&EvptV;fHZgPFn2P;rlP_=E9_9@(=#3i?0orI};iLA>mAll37^m2A(@+1z zad(4W6+jcu^e1*2DYs{9uW3eU6Ad20dsJT zIEHrAy)@{E9ea6f6!-4R^j*ldZU}R^B`|(=ujJAS_9PiU^ANfQfBO zF0J>$J>ICaL3#KBxX!arz zv8NYpCY89(mRXc?T9L(1?YrU$0~L`A1xZaQ+{;KIK^4ijnC7=nH8RvQY+jg~izdOO zj&Dbg`uwrDI}RTzk*DD$ud*t;2lDulJd$j8IF>xZk!{3x;Bi0D{{2pO*d&e9^=MvN za@ucx3mU<2O%XIOwjDS$XzuT07~U8uzfWIFfan59ZA%d~gVXpUFf6MBU97D7W|E>HI7H6@uxR`v~?l}x^*+CqF% zftDZL?tmj4V2sd$FQP3O$Xot01ivqTPwQl;p0d5KK)TN8(b zT4-6c%$a6oa}{%KG|XBP5>8GVmY29Fj7NM4;u;~m{$g4LhIj%O1#J{>{oO>SGbUU_ z9_8S>EFYj=^1(IhF)xd*mxjVcVYkQpKl3wDmV7TC4g`b|=l`S3;s27Ka?WP5PFBwU zD(JW9!29T1;s$*myDe~Zq1d!FCRh%TIIaS6%>UrjFd8bJ$5Z_|D_>eXYUVdgK~G6- z0G*JO(0~xF2<29BC3|4A)Ex!6g9?q|R_QJ-_UToW6eZ~S=9SHMy3$$;coX3L{w}x) zc)9uP=}jbTzYztohVK;#o{|AbA)0d(MJ#Cun4jIL7;tK`my|c!lA8nAI?}4BTU5AO zWn)j#{OmY5tPnD;_~Q3n?1rM&sP&{mP%^p8om9nP({KDEN1HRN`bg*e9~V~ev!*SJ z4Zt*^>E|dc;Tg{9qSoYeX~Wb!$T2TgnWoQi88=f_v|)Lcny(9)e?nkkW2!CM(l*(w z(*EKVM9pZVgFI0dFEwfXp;mbGv%1ZkW@CYL?0ptFHX8|5E8mKiItu zvCU01($iC<|NG#)D5x@D2|n)j)=9q@sQ3Hu{1*@gdqe9@;7`A-2A5T-!ZoB_3=zDp zG%fp*Rd4Z(ks~}ZS$Xn2L}#awEXkrCRkigvcX`By{MOi}qAU4ZrN|NHU0yB;Wksv5 z0_D5=Q<_sgbv-lBuaMD&!tXFtPw=T_lkFeK6=Y`-=$=9l^`&4VtX0F zWeY^uT$CFAX0t#Z?CRe-kS9s@h8~WGaL6k#4D~STov1O6YV5l4HCGj(TEOL~-~Ik4r_9wh9U@qNYiTC~-JX$+S$e@JIjO=q4D!RwX{o@L?pC$T8eAQ`UNGuekEIeKBw9u z&H2s@$%*k{Mk5VwXIi1yyT+j=8_qJ*mY^g)GHPGJ4noAzKD@Li%ZQw)<^wTHl*KtR|~$Z#H3=V?VLJ2nx>6%$-ygK5HnyS*8dh) zDGFWeXsSKdrLSJP)m1?jivlK>FHkx=x3ysOcjL{~^S(p3o}YCh@}^6N!4;-X15+N$ zlFyGkCKVhqaQP-sL3|Z-T*Y{2cnr>HZpb%I_6%87HFfn===ayBIKxa9De1D&&dZ8W z=*--y!gTda*R|A8!v%BWK5-*~C}ubhqON)6{tU>IgYP|CA%xVvL;HPr$=*oSJmdci@Le&^Ly4RcwF+B!WR}7TYqL{C{`Qv9lm@a&@-R(jnPg_9iNBoPru7s`8KX9Y1qW*e-ToRgwv|4JE!^GFrsR&_g{$9%3$t0CK?GeT`-CBS^o5$MC@b0a5$O-Q8z{t7FQ30BCzPT|z zumME}Czs0ry<$`*)pp^vW z?+;;EX7FfG&XUQ%eHX7G3puw(rc3PSO&v@n#|Gw5#WQ3WZnLAa z))qgpL9}Oj>Pj8~9@GaHg78}~0YM^o7qRu8?DxNx?|9eB44bQNy_F8VI6=OsryI<5 z`zxs#E<%QB-gHXjmXzMG^5A>nZ-SL|&TH|OPm^9HRXwiUO1qT2u*AXDe=%Kp83*(NYRe{1(t{L#Bs%F|mAU zeDiN$NPPHYJUkmK;ZKYOavrg&^k|RV>E-_pA|UrY^QG_|3w$%xklSc39UtsArN-qS zBKYznF_NeY#RQTnCKb<~p5rk{z~jxuNEzAA?rpc?Ug=DK;?+n(fBT`fA|R~U0TB!$ z30mhwkUL#*TNiRW1Uw%sI*$EjNFh&!`tt^?p*6ewm}{+N`R#N4T}%2LdE{$%Xm3$Y zIJ)c%e7h%&^F|#fx7|MbH~3lFCVrnO(aaFK@OfSPoU4w8t3K@ep{Bz*y)s8Vx)0&q z3EYa2>QJj;tF%#e%WyBm9G{hFel|0it-BNLau>r94@7q84fOK6RABBUq{I`x!U)+x zHh>e8Z!_3y4yT7zc<&!V!t>(>oD(VsivJ={?4nj1u@7{Iy&|T2D6XLBSHCSb(9}hv z*d^pLz9Z<(_;|S)6bxfy{wUZ8o8{vFb$oh1CLB(mWBBy==hf|{c(b9fXGHV3c026d zDQq^l`}+&v8eofEm4o+uVBh4DFz|H#zK37qw#xIe_lGU|XZnUf&!RyC@@CeLUB~AY zpU-6hzm!?LEMMP`q{$7n0YTe}?1ISH;|11)3Q9%EcnLF7K(Gn*&`zUr;R zS8x%s*92aw)DK)gzkf$)mydJoQ1^v}4Peo*>njTP1sPt{~(} zkV24~j5i6a6ZhUsT#Np&z@QXLtNQK*9&FqbS0vMu6O!6K6n3_RY8h8f<+}ZwmiB1v ziL3U6hTlZ|zTaKM+y|&ePz47$6|U_0`|C~Z5rJn~^nT5aD8-X zoFHhhSW-C2`C^*lO4!P3t%evq*e4YHB)lOy!FE|Fowdu_E_}G>Qo#cIZ)s=0)O(-# zNu$SeXS??qDo`TcsI>cA3+s~{-`*Sl(>&*s+1`RLq&cq%HG9YnZQX!?iA+`qzQy#XCWIL;9N_ud8{^+X8^47c?`feBy+Ka5G?ZWT=HZxEHL_5 zoRwf;pQh6#{Bn|I28sd#&tTR=fIZV*1ep;+X+1>bk6dLHPQrdW*gRw_o+t^t6N?6e zMcL|)RD+@A&szJe4wVy3S=dWmF=-{ljSwSNwpwi$z8JjR^&|)9bZCy;<5oJwEP$m@ z8U<_5Px-QTcOK&5>O!1m2hB@uoReUoV1+X>CP~ymd$7#_TncP&?Y)_poEBWA_vART z7|@W|KLC2D@-k%Y=isCTD;~Vsq*UBNx`~`au+hUR&mrw$6M|J2!I)|p)m4QaI~12g zW{@V{wC<4RVha@$e@yZz9^2Q(mu5iDlE2YOt^l{yDja^QTpXpj4|-cMjufC`##mr~ z^}u|5I{KbVN;AzHBD)}7WYBN{he#F(!avHx>?Bi?t}ftKG~zrBv&4z30sc}+^(xCWi~2vfBYm%qIPs5*8MUpp+f<7pLH0)e?QY z0y@~pW>u)M-xohH5?1b~0^hO)5kmckryjp2te{O%zPQZG(esma3S=0oC)EnV$su2h zbE**uV=!Oj1hUbne11vJlzv=r2wHV&U!2cP6Uab9I9nuAXxZTf0ReCCej8^V5~4^W z$>4Iq!Rz$OU}qtt?OXIlp|H32fV3i*euDj~mRD2v8ix;4ZKuA`Z232YrFcw5mX~)B zk5fSXi9Sr<7vR3w{e$jPXQH)?+XT0VSyq$d5aV}lw;kPPz8s_cI(xaZo8R|9Q?`0e zY6AMJ!Um)Lt~51xjL4@X$&z?#?{0m?1O4l-KVOLa!ImXZyZ3EE1P-I#AMxqbCfG(N z+J%T+ld+Q6(wqs3PighN$0D$I{q@V!D=KSzdIQlrGHU{5*`6FvGlv5LOpA|x_7+6k zayWd(!I#Jm_SM2#{E5kEJDu!_-tuFu%NZ;?daK(H7&qXQ0T_QHcI@s1gK-CiyVE!j zIq^0)w+?$z@aV}05N6ErgI}6<$1RYH!)9BYguavxU}i{^{J~@&Zxe*%a0tnHLb{rj z4m2{Kp4_a`Yc&6u2MlzVv?~uuAK5}nMc+l;dE6#k^_#10#!n9UC>W(Y-q8xdXMJ=} z;Q0OhrOFVQ#c=%QaOP>f-nrLOe%aC?mHr1#idgWcuAaBDBdoD-mo0S$h%LN`9_0s2 zkV##H))Utz-g+oi_fQai5Q6K)EqZT!Zq-~f2HtIHF=#;$wTbD$zjm>7p)pv^fP;Y4 z!u_8@{=W{7{~zTsXM9PFFDkFj=q6coZp1YCMiJXU+I29*G`>=mRJE|2@^-`+6tTnY z{w#~%f3AngB*9=`A-hR;ULiG#<;2VGqlSq0jY(!Mnc`CgOp5V-31qOJ-cNg5&AcY| z1_eUwfjP0)=o@W1_!>>3Qh7V>rncHXBt;5&hb5dwmJ@drIl!~mbA=P~E;wf87&Te1 z$N&cF{H{+MJ>TRg2=!m_a0ZX4Zrm34OT9`uXlqo&0j6(1#=95HULVKJWji^qCBz0< z0XfP7;Q&-XLp~3J-UP^C{jtvq)}Yw$n|4=qO)E@*x#2OZ36D`?be!0E=BjTbFldWe z_u~boy5}(f*Gc;g+8raGULNkX*u%1YD2Wzh)kA@_Kpcx2r~FyP_^=;}bk&6|5;u2_ zHRP}aXJ8Rw-9>z%Ru~s#frC5Tl>)_-bA0wCf}FCFMFL}r z$GJd`ZpjvsByULr89P2Y9fCp1?rD`verr4?_9^U`K#kNPh-&hD|cA_S+n|w%AyN zu0rj!W;`{WQXuvEP2^^hJ3WC|*!B;aIH z*EB0V$Bip~*xOfGw@sBvG_Rm(A0$IHR|BOXWY3uF&L>tU(=}E>UteF~ee4{#M|}xC zW{$;_*i=ftVtg5LU8-2tsdM=9Pe!VekJk4TMmn^p_Qf{~nmW~K7Rl{}ewMOo3KqGq z`y|s7PI5q)>k!8@?CGgYY<{UA8AO2%jzm0C3&j+zXE`%?0}}&9cc@;q&#?w0BW6&@ zEPTArF-YkUs@(+;_8lkyJIBf%HIS}GrZ56#Yu~dkhz&FKpNV@Yo`8iAwh2NujAE-g z0OD39S)Zbrhc%tK44?cur(TpB)wX;U;nh5g-?9OobDocJ>_h9yb5mRu_?_iOT(Fy8 z$U`N2N5~fKbk{-)aCM^&ehC`h*t5(vnk}wo4HV{^zEu39X5(tU^8sFMNvn4M7e!N) z&4@nO*S~rMQ;2?WN`irajN|_0TUYF+ zzZ9Wl2{OXcNsR=t8Y*VY^=z>SImW8+NT7eGir~KNBv#e*(MNrNUus3Gjcb(0cM1YJ zsDkYZaZf+&E zlqnce<)7GvRmH1j&}{0Z@RWPV_DDMtuXDaa@bUjx_7sE13${{0z3!O$vO_ih(xdv; z>acAohZfUKg=m*$O!*b)Ezy$U0^cN=)*v!-RO%d=p5K~>{e(uRbN`WHTf^ljgFGUm ziTjt#k<;Qsii5*7B5VNA~3RxRer_)Vnb0dQ zMJ83U-xQp7*W<)09$jFN)BQg4$M+@Qe@8y}L%*M!je@p7uQ91rNZ2>$ir)Ovf@?Hp1w* z#_j|Sj+g)d1P$!~VL#@04Jyx#ZP|VPdD64w0QCiF#4>K5Np~-HQ`oXTMNnbey-I^> zSy+3;f6|h1$HB^}I{4uvu(19b#rn>L5La(HNWbL;_ek?Xf2;7-4DqAUiX-{NPb z2_8GyCV}O{i~?WDnbh!on-uA!#c3`WF8IKj21X268F;=FYo$p&xW-1F=g(5gd~U~* zIlDB(m!u3v<2?0!t>muqzU|>mrxl0m7K3bh-c2g!aL|Ka`aeg)x@ zxs`AfP!)|%SCyfCS=Wou5F7w27(i3331gVNjr9%orIz(M8D)?ikNm66_CVRBaniVi z&rDMZVxiz}4-d2-d23I&LiN1<7A5iH#)2rGY>+PW5lqd`^#bkz`+JRPzadFU64Dw= zRp1UXmII2DEdQzwCJha~pPqs_`MKY03|d}D2kG5}@;+XrKEBxquBD+gW5BWIECc8F z>$dZNGOu{hv|6vb4hgGh&3hmV8j57x)@2mzK?E`Rztvb8Hy`IY{z*yw`ax`85h;kk^tSa7ax8Q-T$35KnU}BelJy+;k)0Z@|E(R`F*1b)`u0D@lv@ zEKr5ym`R%U`1LKlq)bGn>Q|DOZ4vhGn}v4(aOXwT_B+dPvXKyvdMM!T#n=1fD#!P` z>*V*mIcE=bTn?cq)#dYoe|4Q3hl=$e-o)wMhnGvHY>3 zM-1%k;_^q2CghR7-I}Eezbg+77Shg+i=#;9{2w7( zsW>`K6Mo1iKq%qvYRgv~FPKE~;wT|zp;Kj2y9~s#__7#_6lhi}>{X&w#yv-L7Jq{O z+RpKZ+V~p<6NSVLj&)szEws+CJ-q<2FQNIG41_gY2bEN~m?hV*B=W?1^K$7K28@fU@IqS6P zJ(4nJ)I&T&STTtUW}{mVmu$$|2 z3BsV6$yc_xx?5`$e$9c5YOC#4yOd+oy8?f((*Go+$WPBceN_o@hn#3yIERge-f0yX zos8UD*0~broI%f2hQMz&jE@fQP)|gUZQV?4c|Ki*X-~g_Y+mO=7R^h9qHR&_s~$dl z<_@v8N`iw-oM9VTkN>i2epN|88SD_;S|N&&__S#PZ_X=Pz`r;@bzMG{j#M<5{W*_z zfyf;RHNco>;MLF2mpUA}##J~OdpI|px*|j64&=(5Bkx=mq^PH;Z*jM?tSG~vwZ@Gm z`P)87^*FYbuqMjfcC6Y-&k}KSEFUs`mOj5?eW-d`(f2eu)uA8WOssEV;DEU%fUjH0 zc0)$H-!k=*=@{jnFox88?9vacMuNU9RqWo9=!ivC!=*tgL)6ROb6FyYw0m<#_T-;KhZQ8b}A3J`;hs4Sgj#VR)6o(`6J=B5lI*dH5HPY+GPbbb0sXVW)K36 zQq~Z%{n*JsEyU30H?ixP+XFY;R95&-7ZEnYP8W%|D&Lw)Upu>R9J+` zwmctiUQU-snuraBN!7<|8cw2_G*e>dW|_Q`pgdHAKjn%{X#`L+X_MQfvPAb`+UTwv zj6%C)Xk0kirejHV;JwIAKu_XLu=bESUOyfNy$^yv?=)%_+}Lb7T!@QHO%*Cv*1oOf z@urH)xiQ@rM-c5dOB2sfHpjU}&sc3Z=a6U2`{rS_^UV21b-f}i)bqR|cjSHe4)3oI zf2vV=vrTE#OZW0vTRb|LZ;&Wg0lDOCqwItm>n(f;O$322kUNQ~9TwD+`gE=OUOxyU zf#;(oK2wo$0b2>~72vrByH{Fw=&z-5ebhMGw(N>sx}Af8D+mglWkpBHue1Sr#or3a z8{eZG4=JsFlKWS(an*jy`(T;(e#A{nEq!@@#;W*>Q&Hhi! zihMaR!(nxEk8y(X>}niVPyI-hj6ng2#&vz#cZeZ)e4EkHJ{e9|9PFDVU5lNMuL#9c ziO&0*3x~V=q&Ef{*_-(O8v}-pK>@2$e+5GhsY@+#q?@N$Jb`4bQxZeSx8k%1(i#;u zIaq;_sEdPl;n$<=P5%_#$AxT4Fy%If5SQ}Mp-C`DdK z8?97aV!A`qCI%l>i1Iqn9x$Bih+FLlE$o0S4}Fc2hJdE!sMG28FAMYE#xhsXrqBmw z?#k5qPoN7y-q7wxHrpAfy~XQ3Q)U=NxJ7suff#q4Kwh5>FwZlGx!YEMeA%(WD3l-LTdAKxTChqPNAWkRtngwdz|oDMejqS_kl8MY*5gn4fJdQ zHQ>u%t%wHU1T|ycPK8-mXOXTJU5HpVg#Ylc10z-nqfd*_E$73_v;u5(&f5;7Md!C7 zXfpJk{8|rRjNEgcEle{;uh_O?CkT|k4=MHGN#;6Vi6{IShtKWwg&FWvzG2kwX1^&Q zq8}w`V{>2{yW#pH?5q8SAw8z6G02y1x45ds3dbTzBm_bN8X50k54gZOze>WMdR>5m zzf)mp-irHi2L|Y!lyShebTh&wdCN{Y{jjLqf#xAY0{yo=h3L}ix*v?^Pp_y-x@;Sn#h>`&D&4NMafiwB*}(K`q8@`t#iV@QG> zw#~^p>Lva4ud2+<%WT|Txp@dwFE(n2p&93;cbi|9S3Kku{aF>8%5J`RFN>`e+9_C` z?2M|O$F#SHcX>gmM>PiyIVd{gSwPPFN0q>BU*EZzt`VIF zqFMKSKr;cs4o*;}|J)0NVeyDK62W~d`f4YC)z#kye>V=4!K(fuG zX)V`!;dgi9?@;G4eLW3+IqmS=E_WRM$?3lF`kja`H9l-GKJ$J^u>Tv5JfLD-TfI!l zqlj@xJ94)pt?K1IvpvSbD^>j+AmB(KGbSW4yooiKP&Kk*^-s=03OU6%u*4fEg$tgS ze!GW1>=jcqo1oW3QBs0~UvUn7M^+F#y0N}7pjZ*^VRWTw8d8Sa@Tz7FnTbS>C&0|p z%F*2j!zW3MuZ+x%*Bk>=3dJY4TtvJ?qAzgtA6VY_-R3AE&`R`B@s^#u*< zrjX}Zk42R{9aMNAK=@geDpk4*^^NuNrEiNHDXM$VZC4YvjxnT!%l(nhx`$~`?v;=x@==1wgaybTBvdjY zJ>o<7ejzm$17h5E(+tGhU@FT=(F%K?#3S|J$WL!aw6cWMa_H&dV<1aFX?V`uco5hm z*4$iJD)vBmoYrQP#fbGXv4KTI!Ky6-5W-kMh(su}U%*Hi0_=uX^h%S&jnQt_C3Hqk zr}_mBdZW0P@d&Dc{yaRvErm<71A=$5q?OaZv``z=3`p(zD*>rqKwUsuFq33N3%O3U zhs-`jTL*DrY$EFOlIj8B`IJRC23SrShFdjNY|LwPB<$M3mz(P9z}wM~9Sm%U!IJ{_ zHC%>w_r)9R{uL}<8Tm74#N5;|*@a$@+|H(EZCpJf1eMQjxSTswgGXhxL9=P-Ixq)NW?5Nj0cTuGNNcKhTd^-jwBAljc0cFo7v)#h%IX|#j6Vyq)0T207`Nm6pvf_#W5mz7$TKA`MO zkUuG`sa~F0lbKo|lgI@%tg;%lhBa35Zb5#N%D``GSHf+Q_-U`=K-k$9}Hey9=NGwZZej^Pouefa-H;9B7{c=h- z1%VVq^NS;z&25uFmsjphmJTN~ZYoFk=_GW^Q^6M8tlK)vs5}S^B(Karq&&H4p1V&oSM#LCd!m5CsF#2<%2^ z9>GXLsb@a;9_oY0k9mdd(Guhz!=;;ef|_TeFYP?b$Pd}DkPbFcU_b_@Yk#0-M+vrT zY;SJQNl5eK6E+U>d{-YdWTD08QBCB^u5xJo4j)aZjJVB;1hn) z;FY6{Xsm8;7)Dyp3Uhp}*XI>9U81ggAqG4hHN0lx=JXA{t-W$*fIz3)y^y;cepS&O zbYzq(4xrnWB|z^?KrDnru~T*ra^$BS)!xa{%2WwpRrjXgw&LjOXT-n|M#jRaW{#dA zy8PmaJ3f7e)7M?>4MSJ;@QTQ?lnFh|w++ack(# zf=pA>U|r;8@d9UCw+HUd(80ARHm0;O2rw87Y)}*poihx5Fv&9rchzqJW;^%*AsH=K z)Ll;vlUcH(vS~2nv>{t8lq(6xhe2yYMS-pjvGYGF4LNm%OmVcFpSu-~Wa-P@nFXHQ z*lHCE^z-C^xja&;U|y;Ox+Lnn)3*;SSY4>YF{VM=uHJ#{2b@mAn2#kYy)`3dK!f^C zD*dwO0}gcu@X<}cRk)8pW{Z0~!MUfy%uRfsI^gEUp2Qh-aV%Y?Bs2)2zIP(#CVaYB zP^lP$7%r(OOVxWIn@t?Z?W8oMhy&`iFO$4ukHHwvqV^SePWD;`EO%haKrV4W>C?AY zrFr7zYAQTHH@DZzA+afjq1Q|rq3+gF>M z_)t+b9aHW_vy+f}>n46WwL*xXYvl?#B&%lq4ok%m1`~q?{JVEal3(&o<`VJuH&GtP zR=Hi&((`z_)=-Wb8GG<3o8Xd}n=EIfk?2ok&*~l8_qc+@i$~Cb6v0gt)_1fo`z_e_ zn6YFl7sivP4199F&eE-|zCGJ6Uu8sgY~QnSl-i>XGn5pUOQKZ3Ny}X{{lrh5jME@o z<<=R6?0gt!0lWXpWvYKc;AU-;f>v*~YWg^!5fTF;g$s%T8W9>+eS$u{fu{Ky2MbnI zfz>v~Z<_MTzTCWHF3 zAP$^%WT@#5G2Uk4iWTwQf%NebN`pFKq>h*y+ZtP&q%mz58k(9KkWp#Ehxy133`xas z=uGGcofJNskZ z3e_RWCCXwphx9Tf@?`-gifeY^PMmp<7|{$tj7qaOc`%OZn8%24_^!sUzgV5Rky$yD zDw>j)u(C|n@iJCWo{0$!8@QJ|w$RP*-@f+AnJXGA6$+Tl@@~N+4BSHtJ0)VADwKvC zn=iQ5KvP&*!`q}z3tTj$r9w8sn3y%9c?3I`sJF5DaWPSEzzN1tWg`nXU1DLUF3PuH zshTUxws&pHbn@mT6{{-@oCBoSRnGQo?1lbdT{UVDJMELRRZr}z@fVOP{NxBvfrPMs zE_wUiS`?@jun>}r7c|5}A;y`6HfUHJTnggZH9Cbib`em#u#wfV))YCrSd=_Z2q9M-S#+)ave^*S}n$R9t?%YuR2JwOmE+yOR`^jRPfxLEzFUuG)&)q7Hiwlf` zVsNR?kS*u-FyO#>=O^4>i%eO!cKAfBEKYsW*fU77q7{J|5~n5_C^DR+^+|(iDN>)9 zhYkZYtWDU*P1Ij&8j}N?mrj%dYpIw$>_E0N_&|At2b6_>^zAJ$$1a1 z4);Plk&JmGjYuZe_c;ne8=96%`75G)YErYUdQ_NX%+KY6A#jorR(;Gq-Bn;8{9qwu zOSzwdLT+H?t)JJVn-|04*`&Y#!v|NQkK=DZ zw_00{I3ZPJEJjk2q;8o~%!f4jeF89TGNhaf$daf%#z4s(eMQu>L^&gcouVMP_PFj5 zC@e0-urjZ!(r!7N0FCxEmo)|Hjx|FD|EBx$m@t6?&B;2=wV7b>BiF#^N8Ul4i0q9s zIKKz*z#yU!)LW3QVArT^Dl3U1p3I(?K>s*BxGfoSPhED0F6q~6)Eyu82Q60CV}n1b zF}&-hC0&g<3p?Vq#cT$nhVoHx^37S*MFD|tM74eFy^a=#Rfz37vaWILgXrtAgRFb~ z3K-7!>(W-61f0~Y*91|+5d(7u?*t)$HG7c3hbv37W}#By4~Bg8g<_`)_MMLy`kiEJ z1J%>HzPJZhw~H;qN*=$x*pM6^!qrqQw>aZD(`0qpWD82p$lyG}eJHC*!!5V0_XExY z3vG!uha5gQz62K;XNa{SPY9B-oo5~Q9mCkg*?Lgsp!WxL3eeX?NR(r!R>cZQjuus2 z(mHkLCfdmJbdl@RVAPermx=dL`-v4@0??3~lcV=5Z4VaXECgXZ0D%D?>Lt`|szK~-=w|xg#$O3n=UdDUy^x8F;W}(s`lN%p36%qB*^{U9v+?RG z-}4HCzM9eAN2(u!%C06sVs!^q1i?Th@EVL%Q1o)UF~Gt;ns2PI0?jkgTi=?uB!7io)B6Ny^fkZ@jZctfpLZ)%X<=fA{!2 zXeWaULkAhTi~xa=r_qB4hy7{6CWmYZsb@v#xqGsSDjSrDL&cRqc9w zEkfp~db4ZQDj50bmV@JKhSC7Ih8D%VaEhcac=nf5pC@q;)Eprmu!l)BgbHuP;t0Nj9fVTB*`j z)i<-#BL?~UDc?5qx*7@$`=IZ`?m*y&|ULqUQI*`u$o6iZW!D!P{wZ4T!6*5R{Jn9b~%RWaI#;VQ3h`?7j$`SeTur4)+lIv?9Kn<<9d|l@@obK_ZTGWNao7h zXmuJp)$Y+G!NbJPGc)_8Jk5P+vy$+binDhGZy7RU@kryaCxn9Xy0I+vn>M-3t^F2) zwA4*#i0MX8Wsl2_<`v%}S}#4E`pNWC#0n-4{g7OSG@HB(`w*Me?-LI2nqMcZeVz5l zu1CnnIg(W|RRg}QK;TD&>jL~eA6f&vBJ?|qFD$;|o;|Yp#A?0sntr!+0rc855qsLJ z!kD@OchH72!FP5CjCq6L(dt;=i%Iv$q7>SExw}q}={7!@98}rx1;dG7ZN`|yEz$v# z1uJKcP7K(GAhamFGqKjG{UTE&kDx|OA|g%{FJ0nWXU3nT)pEo3-od6x_mw~p z6+~ViIMKVUXe;&~)}4mwoOnix=ssovO2M9W?gKvW_wT??GLwJK){DcxoPgo2FH15) zMV`HFZ0pxsIOHx0xZvltv7yegzZUsQVy-vD;GgFPydMjE-s}8%0`do$a0q=#%FU9zld?S-!ZmhchYn zC!&t%ov%^1Z5b6eG!V&p)NV?0*7$*q(!SpyNiQUlmylBfOOWK{q6@NdT(c97@W>;p z6WXbrz-fN8bm!!HjC93jkkgOVOuphcl9er|1P2{I&PeK|pY}V>*gn6x?z-D@bnrvA z#By>0iJbV|(bJh*gW@-ljRrkq56%e^cj>X`2%_EK?JGUmWuIX(g?)3`NPwU0!On{) z$Um5@OL%5pi-Qc<}T zCzlFeKhA2#<=H!4+cf(r7*B>JmI|v7gfeBxG!Q(~>=B<$H4uLC_#2N0TU?G~t7zh( ztBsjg>@z#Eja_jay@dp=GBL$C7KAB221TjrUGu|Dr2x=L zZx2I>>{8zcdas9h&}y-u)v`e^af7ty;`(kqkav%U_WnBFgvlhcP9~D2VlBo~RmCh+ z9Cx$JC95@kC<_mAT)FJvf{9sN?}=d-C(l%h5FHF1<7m)8ED zf?AQNPD;FNV_CKdGcuW>R+8e8!!)BhMe}n{<&0ajXAV|B~~5r*Q5muK>+g!kTzHh6gbFC9SA>iXmDbOJxy>AFj zb6#^;^OhM2iCNIa!U%9M4N$wW62Yr4@KThNT%4hn7Fvs`M$r8*Z@Kl zj9V=@r98&$C5@}GUFMuC^Z#o92OMELH0-tHTrHbTY3#c!Xm1Uwtky`p=hAHBt5wIN z6%MbrFb5uST-5;$U%P9~xalA31?aTWbq|YOJ8MnK^A#xVRa>lLI+_)hi}uHwEZxfL zM&xizPj##d{MiS_qSniPjm`F~(;V<(3N1UGK8bA`uej^Y83qIHm5UV)vkBFB>IPG~*-U3R6~2IMHh@^2jY>6PdL| zxW7bj8EgtXs8Z34m?{NIrco=3y@I@5xc&+BN{_!BCarM$BI+bPj>ZV5l3nuNu?Yx;i(0Os!=PF z`!z$MN;E8{OBXRRCeprA?6(A=tmHg3+!sc4CDl@Ch%M)WA%>M}@`#=1!~Fcu!e?(y zjFEuHGUZyZ>I22Wf^3}4n!oWwL{pLbwGPwq1oOP2opb@WX=^gwM4#5hu7mNBfXQ-M z8);76I1YFi3E;SQ;aLw~6wDsUA5ks|m5f8$_!gEi_4tmA!zLW#GoZ0&`PSWhz7F@eiPFY7_=0OHQCcGl`sJNzs!D>TvI6ZuKV-RE~p1=b3 zNT@Dvy4~Wqfj|6yHC~6F6r`~?IdFbnGlQV_-th>dFQUJH?ZAigcZ2^1dUKRJu{7(ydp70M#0*aOR4_lPJpM-p;p??a6Sx+$V9Gk~xbPA6NCK&7&s}Ifqa@Q`o zepVtoe6bOXf1G_cP_?APv#}qt@v5ca4z4Rs)ibDVexyoYnDjtjlq6zje#Dblm;@aN zL`6eQxWsdWA1!g=)c)atydFbd!)l_b7>dj|$iOiM*Seqm{x_Pv7k4h3w!eIL*nijG zWBNa-LDjl&2iDJQ%vEV^3Bqo z5}Gdep5JJ=t|W#T-DR4`QrDDvFn7k@GAqaNgR$h4UBPE=wh=D!6J^~;M%Q8Eq9IQ2sEOkZY;yN)aEtiwM< zN^VoBH8wA%Ij1Gt3V#jTJ=rP$g+KYI-ocJuS=h!q_L$YiN5l2D8tHqhqHE4=SC$EW zg6VnF1#wJ94JBb#VIA3LZ=0;GtZkyR9Dbs;Pku;bNDU?a)w1cEtcAH<#5fc5jzE`& z!r`$6t}^4T3d2|lV(c}^col6C7MCg8putk}_!o(O`@t5N9I+$)W80vpH+fxvh@CZr z(Z?QvcFH0^=z)uQ`-HTRWl|#08bOOw2zL>rNr_rf)7>TV2xTfZp2jJ1?9DSP-nJVI zLG0_8oYdYdy0aZSc?&$Hge1|(g1QO*KEc)HA1O%?PS8*2?E(aw^7Oq3np;_VuS}!4 z1=VgIF&fjZXZ&Zb)|orxcMCKs(sCR^NPuN^Gg-wF(wZ& zg>C7g+Ul(@+@)53Fj|lnLwNOD9ZrXo==*b(!hb0@FCT8~3Xd1tvjuatie-_ut(X*n z79C)4aVp!CV~nJVCxItYBE!_o3=^5IKg{=|CqUA38;K+QR<601btqq;cZ>K@<`yLl z_Tbic``w{Y@k=VC5vPk@ws^(GV0^Zo4w{kIHDEGhSQ-dr)1HGvXHdQu$$hAFk|{H{LfJ1Ko-7kc z!E!vEHHWt5xQ&Z$Uutx`C#I+NSGt%!P(GQk`A=p zVz{}DOaCl;#Jr8*BvCtnk9kPr)9>IF50P3Kswza55)F~k2=P2-kxD``RF*>QJi(!m zmV$-fyD92XRs7v=m=lYx#Ahf;X@|7B=$&mYt-UVnqO5t8)I(>^0wQ@ z767ZvPB#~7J6ND{e56yjAN&;|HeRp4khnFlka#t)i1<}lF9C<7YJ!=OcurQg&noe8 zXxr_aCC(#YqZdt7X!U5}7h=d^BzZ$9|HpbWd2`>v;F^~<=={F zRqKCKQM$hQ76EsF~dDUi|AYdmG+dac{1J?HG~?CTR|1_lig;rs10eLw@;qt z5Tm-wtQD;tQxu-yEWDrC>`vYdR-=`ufTo9%c))#XQ^=u2&_08Xe7a)BmnlPjEA*@P zDSy^doT7gwkcH%8QE_NyKFB+mqg($}Wg z5m*tqYf+^lG2b=#p{wEH^4OPG3x2ASiMWvfR9f$%j3LJl^cJ=Zy8EP30-m~EaDObf z;9xqicY}hd0?5d}+O@%{T>kd0;+OdCmExBK-q~V!3qGeq@oo_+u5~8*OYUKJQwMaR z=|x)6%ross4xu*f$RBCjhS%R~xfwno1|4TKww1c9wE(urNsM;!0l+`%N;x4CYtLPffT{Iux$zQ+LNZd0Cxbky+l+kwP+uwI0AE1M?b4PE< zaN@-xxkc_%<7#5LZ4O&}2PUJROYSe0d1=qJE(deQiokCUfCpA%j7svGatIxF(lXP1 zB4b=Ma7cK=*Tv$KvQt^`o7X5vo-lbI2c>_s*G+ZJ)?S(~KQx~MjB;vk3D)M1Y}8s? z(ACF;SzYNn&b;Hi!!5ziIC+`G*>2ke(no;mfmfE~EfKUlC@W}BRK4tHox7u2X@#_g zLDGk;zqp_NMz_ZMqeI*JmnQ=V0HFMDgP6Z@trbOgK=tz@h}^tNHX`*1Vz<;a$RmIV z)XJk=E*pi0*^4bly;`IB{J|%|!q3gxWgg&hL+6-@=HSB?`;te+=sL<*r? zl;x_J@*!KM$iPImRlf>g2~o$&5GSdB7l*FPIAf}R;t%x5hu0{2_sOh8g3Amc%)3*z zI>Gh-L1M^T!TI@|yp#bmz`@scT}(%Q_r*+Z%V$lR1mliWtVVz$C&&>DllKGXZuTV$ zw3t@t2K?7h1$jyl&;I2Z{1qyL|7NJ{j2#@!9i5DA42}OcUQZDhV;d*Mzkt~IKQ@8> zgB7|dx=&Jw0YSvp>S>Ac^_w4En+@XoPa+iUph#a31X98s3rQBmSRwvNKm2XMV5w!w z_K+64UGT@<+cVrQ6d9PDPO}RFCX)IHffNiYyK_2jN|sSmTm3N2+WrcPML72=?h#T1 zl4t#j@=;%r*Tb4F>o3PCc9$ zSV_xdBKla8;Lxts7_Wr6+_m@$5==2w+1i4P^rG%AfZ?Y}phSma>afN;WVB|~+?PDF z$1CW+#`9y)?5p%I9})%t!0dlEp8v9x+N7ebh^>s_0|&@jIiYF>_yJf}h2_sYly7Ek zDIv|m&?rt0M6)d800Et`<>V?}4V z0&=g|7}Mc7^Mz-|efq(N*!S~eVFp0dE{Y(51v;+N{MZ>!Au7|@qD@@ZS!v`qY=@bK z>>wp(w8}0bSI3|ui8j-H9AS&qluK*eQQTd;;dH4-m~K>!!+-==@sMG0UFlJbh*Wy^ zK{CiN{YUP}qSy<=aGyLzt@evg7>n1Z|{j810ufVwjMVHW8hWhU8;2 zb!EAS%7Qe}OzLH31!k#f5Wp5k0peoErB)@JnFq$8QX7-OF(CJNO~qs9;Nyk#JPuP# zuRK3Y(2rVOQKEKCtSpkKSckH%8H0BDnyIX?ED;R|5^%iKL0YjE>lnX4p+tuY|Jxyv zdEHDMR1#3{(-eCQ0njQlO95a!Lp=#7a&4j}ooFGpnp&tGO;){kI#!3Fu_rb_8fDX~Natxq;^(bU5`RWu`bl>%}eXD6YNCyo$54bZ35iEf@Kybb$;nZKS8RuK+}++_Vb*r zhTb2DhPPZM?nDFK@-#SmgZ4VRox*F1)=B(+=Fm2lkUpLLv*?>mfUgV!W_{(PyCWho zmezWoZb|hz4F^H_jswDI^> zxkEKc%n>L4A`^w=99S)KZwz8GW@KSo)sE`J)YbHjr%HM@Ep`&bsGZRj`HS1XC|Cx{ zQjwq-N5hqhS80Od!-N^@Qo1Zw4cp0ufJ7826K$o2Il_*PG4!9M-AT)qQjpIArCYnCImpNwLb_ zW;Fv!ja)AuhyS!}A5D|ImvqAgqk3>j5FvjIV4uFtIWL?k79-9=cwmBhD2~gX4izBG z0OC9X8bQ7_-*&=RlINt(od*_r**fxUQ;P!jA z!0Dun+;DK~4jWQ!S9|)^DZR2re+OsFWTtKOuJt(!1JliqaO$8H=TRz_8(>v4YL}*p zmP;p~E|?{mk2B2~9izRoGH{)w0Y4aFQD?B#-cFDfatOHKmj7yoqZLmKiM!t?pIQY= z4&>w=CzHQs{t4iP90PvDu?Nk_p9HgsAMhj|_;|c}1}s_*A)Xdv4~b!jlC#6i=^r#z z8#*!i@;A}l_w)+dXbqC_iqgG<^%-e-Mc&!7)u@5+ok89X=_zGSmbe8IL>k&HU<>PC zlmaCh*f}ln&np>-$;X~7{=3i$9M8osP*4DXXJ`Nbz5h|P{I3y;;y*O9wv2>gZJ%9boRy0{VsC!&YwA78hfWXJ5hZ8_S!KJ4iF0NWwGfU1N)ixyjL7%Q4MRUEF0 zQYg-AZ#g?vw3~C;440`_*AXx+8HglX6zeB3Wz3ghDXVITq_xRAUKwvyj(IY{7apN$ zZN#Z>Xt0edK==izM)h!6sOjDQG(>N&;GY6je5kI>x}nejS$?GIx0|GroC(iSBEYf& zg~5IiXr39X)AJ^9SiUQ&s(=n=@=rEC%{N}7QF#fsXY%{bF=!Q(W`L?Y!EU72X`N9c z5_TLUsHkkPm&N3RS1$(OGvT&qKOdb860NOLM zP#3`o*~tBsx6e`vjv$y4j-g|E78>rNd#*gUm-Ae~etH20iqc|$5V`dE&A>r1tDSu9 z<+xu8l3yJFb5GYG20oZ03cl7w5t%S1O%x$8Y$Dv;?$YNB(bKzUL^;!y&frWrvVyc( zEvnsxF1l`q1L}fY{%WkwP6DwP%nXckh<$d2J#;7=!uckjH? z<+7~pH>7HFLMlUTRqn+mZ&4bqQ)P4&4^!aHNrg}j16lc@*dF7^!pwUn_mjt(e#Djd zvWG!;&?$ZE;GdGvnTgce(IX$~S^P(*u~UDnqA7~S0^55kQ951btFe*`>;~Ala`${F z=J;t!ujZIqic?*&M&(W2jB1sogq#kucn~A0WH!b)(4q)Ex{$rccDse=)dl1|U^^R< zK3&=Els1EPMPxwJgjv+H|b5w%#HtTj&&&>qSMrwG@(-Cj-%*Q>zhV)1M z@OuQY?ZJEuEQah&Z)}ZWYvdZhfUZ-W*O=76*$sk1Hrx;35w;fIH|{vM5a!zOrs~eS zy!bSqKzLlN+Y@9H4j_TOAN4*=;NcKiDCLe2Bp)mjzJ8*4(R0{$z#4ht!@li0Q@4Tz zi(YVQn{X7f6f4L1Ge>(0m9S-Y?99TLvKHAEAzCLVbGR$SiF_}TvP9{HYJDKK+B5Be z$(Msq{;E||sr1vZt#YwPTQ1xcqHnj?=Mc2<3|yOS2=^{Fe5X-m+~IEU7o5$Nep!_KH-`^#S9j0>ku^C#gsv%tXSml_Y}N>!Ec-q@-Ds+2B5tedl(P;5r)b< zaY&(3w;1`+h5P`5z*C0v;63B$ziY(sz!c~4{pBM<0RZUyTOnBfKi(Ss6N~?&X;QZS z2baH(O?|Do78I@RZ*uukYX~~cSV1W_xw4>ObkMroX4)~_dgryM44JFQ1-f?u-#@zN z@UwL61xzH9jZEEM4#PQz?B{K41Xa+KLHesaFPjg~nGcy$w!XYyh`sdE!CdC9Bdac3 z)*0Bv33pmlhDOpmk30)wCt5RXo&E=!T$`gM4cv;gG^QJ)_H?#K-q(d~42ri~&I`1+ zo>a!xCf9(jUZ|1!XN_|K3ua*SSyo9)6iWHtC_IEC1k8>$5c*2qy7 zElPtuzz90WXKAs_R!OJy%Jepl`{=7I4~_xt+5E%iR7D^gh_xn#vwRagzv&z&kW>0E0auDxqV!9 z9mqgJn%nqt;uL>{FE3C)B`~M|-6s->r(IU-Ha9<`al*3bz2%jV z8?6uD7P|9Z9O8P;efbGbH#J+G&3K->SM2nK$E6wfyY^pfBKJJ~7BG4HlMM^;6=XtA zDfqZkzRxWm)8XVOVPcaTjwNA{Upe)-;?J5n0NR+JA`Lzl?P-LX;tan>r~_U|d~W(1 z38Mcu5(dgV68bmIkZLX(%FKUg(8KKCvqbLz!I4p$)-Iyw+fpUUeV3 z1FWjU98#j=mBNJZM|{_vt$fkt^Ec2DgQ$mZa6S3&XH@%(ikdl^-|?ODgY$;W;e}2b zab(JGXp(MhotkOy>R7M%7|MCl4Lc;c0q!w~yC73G{#K-6kcvw4%u_bO*@}UP zTSW&pMTXkKq`PQY$7O?{`3KhdhT)RBg?+Spl*z{KGDS{D`GSQzgP!%J@JDUuw*LxU z%b*<$G=KmA)j>02 z4XCxBx+k)ZIa4{sY_I>@RC!zxQP{5kb+f&9YZHWp==vydzDlabjOCurj zwfHGLro5fxyFzU=5`FNn5;e#Q;WT$t39*nrLlL_4GlW;vC8FtXTuyHi1k{<_bp?N6GGZ77{6_BHdY_AT)Lobgw-$B_%>al5k0VVDU|@8?%G`^|-63ci&fZoL2ii zF#?k<64Y2p0g9BSo!6KIOqh93dZcPU;fC$F_qAp zsHCNehdOW!RE>-r_<0ZG;LJ#G6%6UIU>Ed&!+KZ3k)SL7YBe!(^1&czn3ZA`^_^8! zV)m6`UQvDLK@SV@eY+ApNcN%@ktDd|Sl@l^a;IQIA%vC;;^m((-7N1+7xscDl`gzW4RD_l6iOa^gc}{z=eJ%yQbEmYB z5uL}LU>56R4;9Is_>Riu^MaC(*~e*y?1jtCLCe5U!+O5ifGnOctka60cuzyz3Z6yx zQ+c;yW{i|fXopqORY>Sp(W2>U;s$^m!aw_nK(g4rI03 z^gRc-y?O;q$bkz zeg#G6OHk~m(Xg!8#d9&Y&L+)`lDfr6scWiNwR1LZf%dEl)unspY87xcb~3X@wt>Vh zRb{nv&e{ z<2qU+`E~2YqS(e>m_|>( zu+iLni(k>$>mk44)4}VP?5$d=@FnNQ-jR{SjP+U^a%!` zMXT&kVZy6Q#~r$VN;`b&)fYvr425mdrN%lr?y^O_Vm1>AS*Y4l(dJQCZ?3`$>$pPC zdK&S2+MRXwD7l$M9=xx zs1CDE)XvLV8`I5jMVqGNe*Sr{+36Dv*72P^61tt@0C=i$#f&(!o1rD1@ybkGPB2|< z>>vahi&tn2O4i0^=2(y+EynVDA+!9qdZq&57v;Reg*#n*FGuvJYON3@`w z1qw5YhjFz<>cx>Rw$s<6o0;3}#Kao5x((-78(z4HXs!<&@&H<*yh>^YR`uRHIfV_R zRz4d94O`?jE?$xUO8ohIt#;cQhgB`6%0M28^8IQN?nFz{Hk*aWN|H}soj-rn@A_ls z&tk2HB-{FRA~mO&t6megX=fg^UQ+Noiu@7x1{gyi+damcXv!vNjDqa`4PYLbuXD&R z-1D34Q2Y{J`+hzN=!gT4L^@jt4-2icM1KdfZ_MHx(Yz-J9n6K*W7P{#J<%^&8*c8n z!~aFwJI9LlE!~3Kwr$(CZQJJAwr%rl+qUhqZQC~c{5to`d*6MX?)1yMf6ioPWv$An zu}0ObS+yv}w2-#e<0E%wLmsD%FM?W}lfduj_=Cyk0px<*J2Lm?%N5>&7*&mb5N5%D8rMw9<*g+BS9abC z`7$YST?jAQ5K4HJ~W~Ae#*kf4T%FPJFEz*DI5VK+cGMK*{vig6VLuBp$ zIi37h9|zTcwTjf1uJ+eK8N%MCDAT<`x01145BjT659IA*hR~i7aQ*`ST_+eH}Aw#fLx7GyzW4iF`^57(_XX@M#&)C-<|Xk?ShW9s;d+IOOcP5Yu?I>5kC7P4!@PkpcJhFgt#Xd55qm5B3TBdhTB9=|M(H?)ThjSpo zx>qRc?)8(R*4_FnB#-b;1!`wqzGS|+ZBxFqSfjPozcmI1lgAsGz8!Inz<}J(-HLn# zGc#df^bb`wpiBzBV$V;#9+OgzqX=M<((?&r4fri~z**jiio|Etc$|BF~`!YI5v&)!I~El>zz(>@qgHkfDi6%;@aCJQrMcbOZ@(vv;^x zAg>o=w3Upwij5e4Ey)ISBPGbXO8>4nK-{~<`j*jtu{_%!_R(Jt+^yb2xl32ve;M7z zrzY%EcccG{-`KV7#;Dpy{P`LSzQ^d|Tum@n`Q66p8LLVttec!QKV|3NN=d>bB&>k| z0Pw*808IYlaQPQLlK=ce-lM(3(9n}m8i7bV{|gM9?yVn7}i0-Rb)C!Ta&B(s~1sv&%TRq0kzralwHIsGcy# z1Vv=m&Z<+~xxU)hl#)V=SY)UyawSs1v5HETQjSW6(jUc}Z?k1ZtY^uEc9X+y)kVtY zF3}(lhaue9G5F#h?;xbl?kZxDR%z~veaC@D7C!-1=#JzJTZ_}E*&14)rKf9_e)@Ds z@Tcy%b{hwVaq5S6sd$Q2_`(QUYg48CsOUwBJb?jD3}ZxY0wYwdDA6^AP@T%&>(*g> zm|z6szJ*db^u?V1r#-Mp?9j*%lT7;Pn@`bOQG8>Nq^1p{PZcRd%z+vMD_Fn&HgRqm1_hChu+o?agDvYGia9B3$B9HIQ3$rX4gu>sjMn6n2-uMkA~@(sh&mg|!4&MOEAH0{VjBGom;tsG2x~?rw^M>}9ZkOMN z&_$dchs6@EjicOs)q#HgUi=E@q$OlIh^p7p=g@eMV8_{sDzON&UCK)mZYa!U&Sf~N zbQ@uQ|JGfq{`frUA8o?>SDRS=C%~>?Xl!k0Zu-9H0o#2FCYSaap?6jjwxr2PD9EX0t;`Q*=Z*G#`|P` zA-A{37n~tB3?`?P%1*Lei9(0Yry6MIseMn(NmEySy{&^xRsqp&i5j{W4Xoj?23i-k zLQF!w?EzaT)3mV3y=sg`kH*nHCT)nQHXQUiVJ`-FM1ihnAA1v)^NnBAhm?m|b<@oz zH%&^YGk`@%8n1)#)*1M?VNS%>$}Ey_0cTv0eDJbY%xQKyen-5=n2k?3w-jQpS##cs z_%_50Bl@+6%w%$6iw)sOyP9@k*tP^QmE~FomwBSmiz_}L!w_Sl6%bF;ux(-FmEGoI zB>`Vkk~pRZr6XRFI6?&p(gc%Bma~j0{Ojdrw^7*AH96RjBLRPH!#4CgwVjh=?Go{i z4i+%Rc|T=#iE9(3e^4U~?}c9*L-g^6S|w;T%M4*!fzj_$G7l{WVFddPwzK&2*K2|x z2a3(h^rv-CT|S<{U56oJ@ zy?fh$i@{C(FN4Gu}G<|?aoWN1MOhol1M0E;;5+f(*!fIaAL4rvyA z4b=2tjt4xQP`M0im)SNB*O5umLpodx$m7Jl|CT!4HoWO9_$yZ)|GK5;f5IjIscN(} zRQqR(z1{ztYUx&%mB(g8@R1W@qtTY2v<>)04ZhoV+*e(ugc=Z@ToRTi!K)hUh7yf~ zy(U-mO>F@$QN4&iiyxA{MYQk``3uB^~wrfFD zZ;YZajZKFW--*9bQJxb1JTNk2&NWd#0iH{wA@V+nbB!ZYgi4w}Nb>R%+ zwEGK`GSLw8jLFKqAO2UBOtD;KQDV^r6q3e;wRF&$v&^?nEG+SbPiYaRWUcfM;FRZb z;tduiP<{N_>~vRwvMmJe_0H}OQJrq=f%0#}<(!0-%cH--r8r2tYWp@nRCYTHwJm~n zyOAGKLm1nl^%my>ewbSo#KL=U#D(?nW*tqBFVpeCmiyTxtyJ4Em zw04B5Y1K;^QLE$M4t9SM@Q5k?8BhTFzds@4|2J~}ZBT)b`Z8@3guC#aQgii$&^~ss zMfebzs*II8>%!InlL@!9St-dkIsUCEHvT8zH^sr43$pZHK4fSbC-;f>PWzwl_pbwT zfAm{W3W;~$WD-T0p2d7gmD8|!DeEG+I3!~q=2^9;arq!%DDe9E1V0fn)pAnY_@DRm zrmOX#*^S`o$NI^(p3Of55!)$%S$y0GKow3DamD!3&vh%@MSXUzWU+V?6hsHqw&NC< zA0Y?Th`F{cjAl+=%6VLP6a7tnlTo2g3TPIxD)(Bc0sh^|-^&|Z&53*Vi5w&c25JV^ zO>%i%#Z3(xK*eHCJ3(QQQJ7PZG8@1tP$Eh42Sn}n&Qge)0mWhu*=LX{^NMOYb{m64 zsX8)-nt86Fhr6NvPBaIAS3XD@c1?dCF89#vI@=;puSE?cwDyY+N$4tV)WHCYEq#1^ zwg!2tIvgDJcfWpOZ+7#eJeMnmm1*hleushTOnSZri}xl4Z-%_Z&Oh4C-Xy#ccrjX| zaY+&!_*kmA(kJU_TQhOj%P8-MWL#B9NOLpT{OTO<18J%>8UXvq0hAB+W6C&`J!l+f z&n+Hns=i78nZQ@JxYL|Tq06~H`vT32#F9=p(u!w?YG59EBD~Iyo}(sqF3tP1Pp1a` zE@cN;66WrZ*!ewL&6tRONpnA!#(1dogj)LeD#N=oiy>d;EyqjBGf90E%J@uWfB2BC zI-o^Y`}uEF=PFrJk@uJCPXAJ!`+o$m|0C1-|3!4lf+)NTsXg~)3J8kS+?pupa_E;N zWF-NsMa!a)5!B4T-F#p&X5up_A%CEp1q&knNu6~05Q=HEpL>mWzGS!KlbhfBetmx< z_W`PN4Q@387Jyqa;V6^O0a4(`8_em;EVA*FKQ)5G2e@AG1spPdl6^ zc@x0r!CyF`!gqfeP9BwFZd=FhNJl~MeQC*y7ld%0St?FcyK9PDaGIwS*3EmtU(loH z0)0dZHn)JP+EJ&U#fl{-zZnT42E?Kj9L5ef{wF>|Eqi&E-_Q`|76*<4!8)4~321`B zg|A64J(9AHbgbREflluJDsGz_p}JRHyiKp&SJ;@yz|k}v?L+??pE1RbJgg-TL}Y52 zwTS6adsPH#?s7NqI>!$5RbWKOPLccKvEX7$pFVto{SX6f4Rg($Pu1N_@tBfuLd86@ztJKaTjjrp&ZrX^SF>!Cj{h+%weA8@e z?72XxraL@Wd$W_QH#0NyUhl70$UbBqGYH`=D5L5F5fB|wu}O;XwxeZ-6g&%K-~~0c z7LoW+FCr^)rQ!YnhH{x|g?xw{d??c_HSGHQGmWnE&y}Y2lshbVN%sSP#;)p{2Vp#t z>|1)bXHkpFC#TU^cN}PB3DXco9!SsFv_Cg{ahILZmDH-C<-R3w_b`<|6U+S&!e=;7 zS`+)s=|8iX`yEoW)(zl!f$z~Rw#V2lF^?O#kL2*6fD z^_hx${)yCDq>lPqe;e}fBJ#={Bt{YHlpG2Zx1qw^2^@UW$)|<$`-}l7*cy&Rg7Clg!W@ zTw0!&fn`0R;dl;)+b+AsmamZ%(MNpG3j-F0cWYB>SoB0F33x@bKYMS}N30y5k@+cF;YeAsdo;+`Xa-aA2m&Y*y#i}3))+1Yj!Hab@_Fvx zN+9r_HWl{&a;DhdpS;Td0rdYr)ocwb3;yLpgzpv~+SvjX1qDSL!6c);Zg&PKvS16P zc>=`w({Y=fjbzf=PLrLU^FQ;*5oCD0uZ7W#(yUs%3JiC+X69z*J@(tjS+zTSzF@Zq zFBq=I3n#qBp5=!^r( zq8(6lzAFh>U}+$gzH^+3%o@?)=1mH`H==Oi*9Aa3vp2!K&OPlf?rpCDg>40`_EMPP zV=Hqk)BHj+|Rysw)JthSi{ElzcIj^>wY@P zV&CYkJ5Jf`0uf53=y@)AixS89ZE?F(K)?)lA4XE{)04g~%3Z1FcJ#yp*5Jm^gN$H1 zH0sm=m#|<$8-`@%@%QW!28y4e>RND$vAeUcsOSb6A@6ikN@}M^FZETxX-RU1ZI(t6 zu3<`C*!V=xxGhaCH9k!b&#=u|zy!*cy`^oqGUjhlSQHD#FLj^?FPRoO#L}d<%P(XV zzIbJUARA5+^g0>W_a*?wuoT{ZPZqWtn;qcU~XsaKB-fhz3aMG81H`*js}OYO2%>&jr$ZDRS(mzPa>%z}gn)vI%;cxe=t*$DD`s_* z2HS4|@T6>9PS$(N;N#S9`Tr@T**usqI5;x!O5jUy!D$#W2vROxbL5m#%K~3^C(!zeq3Z9>yGborXyAEM-VpYC_go#wvWv zFMIri{_n;kOt44>_-nW|!2kW*t^cpa6LYaMcK$24|7F9tez^ewgwP*AOKH)geQXS1 z^p}0faCG7b$cW6;pwZ^vi=>lwjh&=-OFXXtd?@u8-2mbzOnyBXH#+^HbQ7s z2T_{Fk$F`Sg287jy&3dJT2QnbgQF{?=!Oj(eReO1hHaBZIEXWDetNbm5b{62NyTI& zzJU-u8)}}o_kK0myLylLF-<&-bLclU1k&Q>MJ=cm)1DCs@=N)W>t=sFo?`!Z;<)G`RIM0BVU5&=TWq7@vrmx>+3^_5RtKzEfK zDk&Vdz^{ton&b)*dK^U!EIGK-T^{zi&nLAv`~W-&TeJs2{iT_rGaMuk+(fvzm?hDWn#Nexi(|OUcM|(-bOtjJOk#G8GFwX zWx|xGzVuLg+$o|w+Y&kEtVfLTRXYvWs|>CisiOXz#Q|C7o&mbh(R8e$fw%^Qdpo@E zUE>t4Y;=jl{(Ysq`KiXXeX`oXaE(ND&2)YZg|?;2v-`g84Abg>O~KqLmYkt`2(rs6 z-N@>-X?y1WyZVZ`Dtl1Ekb5DuHy%&TJRa{_V~nXY$_wUr*HCh%;!Z(0h@ZM4 z^a;sp@81SZIugF1JpWxa{HGjR;n!cCY5ZToM|B*p+@JtL$PUSntBgO2129ynAvTo& zOSptY0z?D$gefl*HfQJDHCI^SE&vWx{c$N|vJA8QP8VjkhnJrRs6#B}p5j`wMU|}< z+Wg|oxz-}n*ly7s_C=t>Z%EJSflBk5PPHsCn^li1VC>-nZ;jKwR&BO?nB}{(`Lzz^ zOC^N-whB5l>h_d^6vw-7%V8=Vy&tjQGdk&dagMcazvT^x$)B0uM5HGCdyr?x(nzsU zYx*AI!&MbV_-P%COwM##NQ>M+5U6%()ml-r z{o1IgUeemIYOdBwxyk<6?(#^IAs~eO?!9@r`$%xx@p{?vnrS!ho&3D-RJhp~x2HO|_wY{R<6KL!uQ0eX8ncYUQu%xkg zY7GI(uj?(|)>m+H7A3f(-?+4gTnP@c_2niIdKcR<(-%yNJ6EgSIIV@>5ERy!U+Jmp zUPYkt+TLzSeTTK}PwkWJaUfV#Qb6|WE!$dIHUQ@yIPVG6SVtkiK>zTO-Gfc}cF@k_ zGXcnsj$g~rNXn3d7^HsfXeO8)Xre017t8wGGnljqc0>ik(1y%OHP8t2Q?0X2>aBJa z&e~ZKNJ)KpAuvN-H$)i7^tDfu*grtKjE~(7--Z>Dhu+XW&row6%gZTn1D;!GXfY7> z>h7I}6D}`3#T8O3NYK89XH*Wh4$@?O>Q~!`h95ZnT4@@T0LiL|WvCs!rAC<49{6rS z(^poL^vWv_2*8P9IM`jU3qtR=V_C$m(Z;uUsC@|e1g%#`?H5~m4s0>7uIweWZr?%Q z@8`lXwB&EG4!eVp^gMtNe)O<=~(@7l?17KRfFRm!>A6Hpc`u4S#PBHe76 zhVy_Zcci~$$Y>Ml7UihXS2a|#)F!|wdtqIAg~g;2k+^t7$Zv@QRzP z1fqrQr)9)AA*Q*^WxG-cR9MKZ7zg*%3KEpHE-6SuxX|!Z;aW!URklLDrKi|kR@35+7}!bl ztP30CB~9FpdG=d27dTc-qMSxgx3#Ov)x$#*7AV#FP%F_9Ur|xFLxopgSzSqH_&fyq zf@+eQYQnm01SPnCGF5#=Ev-sJLtRZ(t2?hN@_m}O?l7%+5ggmuUujK*{e#Mfb|}{* zp~9<%y@UCB8LT|)khZ6!WWL1Ui!Atz*IxHaF;@{gC^N`pQF3q@8cTN;PXySE{ns7db%x$ePT}P@~IQa(nz(AV`Ro{Vt1BSKJqGNiGxF0y6l7F!m20 z1ryAzI4`L@KeGh;(C;QB$K{{Wg@DuK_@!{ycuf6X9o=xqupxePxRcw_mbH~dxvpz1 zG0zfrMNM5*M^ns!gzlmvDkPT{;>GiWk*ZuKp1<7;CEqe=j9cdN>5$zHLR~a&S=H5Mh?o#;jG8oY{Fu_0w#_IFrshI04A0*1gfjY{Pn+S z>{RQDE4s@e4TW4qPgMFZC3W%JcV##xA^H6qBOn`)RV2ck5F1|NBwQ+cP3wEhQ*3WN z4$Y83)e@vHh*t|aI(C6LrXf!TLoC@|4Y{(#0Nv4nwf3y_R(20oUAk*?#-wK6NQ+#v zjNuXVn)aLVv3WZyA)H?fuUgc8`nwl9H-B1_I(leHJ<13>5TE=&_+1Bz9W=F&bmZ)W zD)A18HW#2tSBOO!%Xd7sVg5kIQ14N(zu~Eu4r&fX$y(twCKH(81~??UOj%Kqtq)W& zc8=cf1zzlWl1JRaij-h4?0F_K>04VPhncSd`)jb23gYenwRQmRu|>|WkIC++_4xL8 zKqWf)0T0lB7)Ey#p8*)9D8O#QxiN&e#UG!pm96fTPSttFLCC)ZV*J*<(Idc4V><&c z(KAcNRv9eP7bjmFs!~S%LxjS}T8>$p+k0yV8O-jky#e${(`9@8s*uwf5>1ZUbrEE{ z4OZN$ioJbD2>uzph#4`=RLCdfEC0%_^*hv(eDfywm%G0anAIpr(RJbowS(|Q`!1pT zDx@)?P@?2cay;^dz2z>w&TN0}gdzLdBc5^t#B4=WQ4Hdv#)B+orx__ zqlnsKwuMfh1lPIkiM}5Y&D@K>0cv-VC#_QWRad zmU3rzFh`xA%8VeiHojS>yr)MeJEFG-lnyX0l^s6fG&CFl+HOD9cc8AZ!5`|x*4MkH z!AX=?Hbu+gYxN}Y&LPm+0c$yTP`w-3=Tht}>cQLr5wqxMq^&}fPkN#pcc(-gTA$jf;H}9?Vnd`5!e6xc&uo4tJqXJ$8nln1 zrx1ZMmH7;M49-_!ApSM$cX7AmXmRiea8Yb(f10%iK#Sj1CBcVT@wxVh2@qYY7i`sV zv(&)7Wdax0}Y*`${34yrMHA+X_P461(J0-@hekkl|99 zCuOb!au{LXihiMc1OEIPIJv#CkSR4V6SF$xIG6raqw=WRos&+{xhW-4h%|R^{aTCM z6KGE%vcXSVkb64x8XHj`=e>@GRmcU0J1$>t4abQfDTvscY)hI)sg$~ww4B>#@>(O%sCfP4q=xh zrENewkJ(L7>Bdu_f0A&5R%d40_Is1`JZ_XDtA_Ps4xq zTQkeR_F)Bl<8&(>*k6$3490^cDux(wL<@79d&Mg`Et9!h#&@@GP@(}@L8Ms1AsSgc zpWSYxvaNc$wK}k`^`NcI1>`-%|yQKvwVKqWd zAdD^!21xm4!GUYR9PA8HUs#x&ODuqIBt(3l=DIih)Z&UC;l4$IXSa`YQ9w7ZKj1;4 zHW=2o|n<3tK z{+in3WXy@kii<{WARipxmhR3*0!^t;5WPzAC+&T+WD&ao0VuX3F(ic-ns~KFOI}-x zOx%(1c4mVX($z7SKF6iK9c*JoMCbGqnx{G~ownXFY5fbBRu`O&T7mv{-bL@_5Q(hG zTj1&hk0a4QJ*z3IX>s%R{5h&>^BQN;eHWv08BE{6(Nc;c!qfFZUMBmBHpgJ6g~wB* z>2@OPZ$4K7$3F_f-}@K@)>s3O-Hqkl;rg=M_M_9$C#fvlcB1J{3jGc&=rQDkU3>_8 z4sk47{v);Sk=P_T6L_gu7ElOqF)(7}eq47n1GfUuA+ggcl^Q2a70<_oE}hH`d=lL% z?=4vNLKXG#cgwTPtXEG@-w1^Jx&oiFLdz*JvXoq-pr!Yp{(V=6#t5<10c3u#`Ni+# z{Ji-gJN)DsxyZ;lap-lF9q~q?c)lj1Q4(ISt?w5bgTCl`K+|$v81$kXX9{N{BG8}= z8v$tv+B3eL(6# zj3h=rbKa~!oGPw|a+%0?MDH=3DykO8GOq``oWalZe#QG9gJFA#W12vuA=WMS&{aXN zH9W^Sj3T^X2#{FtMtxpX`(&bWKu9Yh!LYsg6e->bdWT!yGOYa$S0eDSpvC1z;QQ8l zs0-uDjr7`#5B54pL+``F*%36W>cw6?2;DUWWd%^yOq z+3|O9&P5S265nt6wsR7Qj@d9^NW#z*ufRDYG^V!pJw)|R$v9_K(yPTEf>Ej}cm9mQ z#-SOt6RS#hH*DMiU@(cO;)>Ih9YF6U@J6>{h!NMcz=4-i+e4)D#`YW3_<@g@=eCnD zYc#DjCv7ZH9kxG$P=+@`O~c(O4dr+dh|_r`cc%sY3CDjNMEgBc*?IX&h?x0M`dOd? z-rbhK^##po_KN5$^S+oD5TK#9hr%`}4JQVk;bHIz@-veB!F@N$54XH3sx3YG2f-E2 zzh0YZ_Wa6;o#PH#4i_Ur4gDK?$7w+Q6(7XBZn$^iW=CZcV-ejtj5~ znJrI>c)KUt1Hp<1Z0b&2Ba+&+xm>OxLlnt-ckUq!);~f5N***%W*}TRxlS0waBc(C z*|R+_Uh*6-OrW%63QZ(rN;H;?yj%-rsB+4HQsk-U>Or{#VYn_h!z2lV1DRQ7=pI&Z zh3NXFQR5K$@ET-Q`elrL>v}kQU}+R2A*(1BaKVVnuwBuaNxo{Z$vXI1%JO?Yg_F*2 zL}LwU6wO=`q}}H*?Zj)@qBqO7&>!Uzux*bkikexI$V!lj>^$(~vA_1+8FPCe9TNln ztE?^UT_Mg%7GUCKAR3@biE&!+M~p&x1dASV4MdDLbSJ&+ z;J9FmREO2ywake<;aaK#Cc(t=8)rVtBpD|!u>AM|X0N`D0!{TknI4CGX2G^uDPtWY zn{5V^WPRys@6EV}98JuG0+K%I6vJ+c!(kkOJRS~7+%oLhR1dfm|2$#I%vrK|x`jU- zZi{ZXg~Mh;t3Epv0t3}Yz)>rkpw1{fz}*dQaO-Z-XlY0Ul8~T8vbfmU5 zH^eK*#LO3T75Dd|?iKu)W+yCb#uAuLg7J$=$o9CpwjYfc_@@`uRqkEMEX-u0S#$X@ z0|Y+zMrMZfU75g2!B0$&FC(t~_KJ~hi&P%Aq)9)Fhm+MArSpv^ni-1uJdp~Hb{96Q z0{GC%7XB{cNYeCRc!KmPE+ zWe0)Xi8u|Y2s7BZ01S~kQ%-x%<=dShdwvy~&e_~t^&5O@MvK+QCMxmV8R<(jeVbWd zVFyR0rFna&0?r)){^7dJN!cKMHDs66^1^vt7&DH^oGj>SZz5j$a^xlZHDPtodR?*> z1~G0`;DM?QhR#sXQ;6pbr58ayVRXuFU<&WO z;rH&zYbZM(XgUrAIm{yfe0Wt>R>fGZPA$FfoZEE*t;LU?hLyl9i>{cS8QODm$Wwc( zjL$^X!X9*yv?sIb(m{|J5?!Ad1~R+P%G<&K@e+-q`UX3|Ev`z*77U0UYON!|Ef*+I zubBI}LO;(e;0U&z1hPF*+tU%J*h_KOgm|^pviw^)F2v^IXQ5*aj41peg55Ln1z4dt zboD-lqrf|EQ&&}6Nk@g9=+b<}xvDDN9r&FqlSzcz6YH(&)%3-uE!`cTJfTShKaxX= zDJyFiY)?x^M@@%OfV6j>-<>&#xuxUTenUqHH5HZ4KJnL`{%Mlwur*ah6ndGw)C79_ zkp7cfZv2HQ=T1<~Cok)p+t(LAM9+Oi$}s8?^tlT5<2m!!692e)Ev0r(gN=vo+Wpbe zr0zcS*KjX_TCBa|MN*LAjhVi3o?$~P)v4|AnT%ghD>CW5i`-f>En~Aj<&od20d;j zn)dB%h?J&stiY>ut1;rF!y|tUulnyV_HerC64Hd3rAtfK>A5Uh=`Tppj$;v?PXsz% z+%ZEO1M7nJ&G?#PBAD`4SNjRWX@ESDg6%4PqD;cJ+aGP0qRqMkd3YWdmz3 z{vB{fOxCbm`P0fhlY!l~Y*b#NYDN|8R3OlG zhu|fj#g8rAvQm{F2=b{#u|!ScxPT;$bwixXBkRH?9N9La<8>RJHqN9VAejd%uRnAK*&vvJYskjUX<#rMZT0UuCURB6+uL#Ky%bzE%VSiF~nk zRkYh|mTQt`e19^TKnWMKSXI72;-s_6amRbctC~ovA@Z*f-pJ4p=9@VoM$O@!gUhC! z1`Vz#W>zo8m3UkG!s3T;Th`pr`D)tNd|uX(@fa&qUVzA_mM198&W+(C;=omPX?_hT zt{Z*LrX|`M`oYQvSxLL6h0dlD!I1OnR3JAkiVqIlwCjZ*Y;Q+f()Z0%HB*sKEma_1 zLQkNf)s~gHSc(rqj=v_fWD5`}Q2S`d)MDn{qk$$$SE@!~G@~A_g{Ty}r|Yg$bssH3 zsD4Q)7thA+m8>Mzm-Za!6K~G5yKI-Y0vd8$aa_5RPtBiWq$$z8EgE?o`@a&nCudM! ze9~D@sH83Dp}kr9LWM08Z?Xe0jtg8Q!rD1l13uV9Bl#JZGHWB*f?tcpB@&;qo~E=l zS5YqLXf?_;qA4v120MWX$>L9yTdqggjm@sZMGrU!OK#y7EVD|Nhcvs2xiRN=lImK! z4I=0*9FQq=;;`bL!~Wn5L9Rpqh;Ve@Jcxq>PU1LmjTYO^XQqpk-YxUpN0wTcpRTV8 zxf%l>yg!qrxsv5_d8E0fa%~p$D~%WbF6`xE_gokH1Xyc+Pyu6I+#bq`Us6frMwFaC z=Z2RZ%+CW8+5%t(;M@qaX<=Y{nimFamANghy&!R=yApq&{Z20^dpf?s$$setwE^Np zV3JXHY!lK4J=;GxIt`fE>TIfXRzI*h*yJ26=xnlnI$1$9yMXBp&eU${a#u91Z%wIK zx{IU@b0v1PrkLGaKUCMoKnL4!hYgeN%+L*pYSvyfT&RyzQCrAQXlQTkWW2H4S|Tj2 zm@74X40BN)t=UQ_xY|AX)c7OL=DdP3&~gJCw2d?12Y?tWt7H8Vk84KX+mCGn@6~Dp z!SdFPvUfKZwwJe}UOSWZ6w3bE%>&B2mj4wE-@SDc>_2RCcSpA_SL#~p+KVaWS`p-s z?sDQD$nqu((HM=4gO#$Pie8Db|9kUXB#ca7qME=2zM`gEwL07$Zra5HF?io%gwGJS z`@k-a#c=1*MwupdgkuV2*o2kq@=J2n$1 zi8C8G`-gQ<7x_XlZvbE-`jw>5C@M9yUV;LjWrVbsmRG1gZ&Y2^juMdL-137Q#geZi zKsiMJ3fl2j469E}A(Bf;ciGnjYdW=`bpFH*Qm#8Yz*dR%PY{Q@!Hd|ZJ{RMI z7dy<-cb>dGcB!i6%^pbV#LE*(3)e*KQS)Z;m*j{4&gUBGHe&CI<0r)47|7%^($p&% zgw!tbm9gB|Pl_`37k8ok5}=>c0LazNd0w%DGi3jkkK8kvmH>kQhefVcE@!^X2YJSD zd_7dlLSXcgkE-RC+jqz_{q^S##L^eH1XaibY3rA2E1hbU7fXP-Op}oK<9Aju zvgW0lav~a59Migz!{5IKQmCAe`DdQE4oQNma^^TzIFur)RQ8djk#phb9*#^R2TcKe zwsBG_51-YDx_Xa?$R1R9Rb9b^CWEvmS}M+Dc*Jr6mI@6yfp>_b$jtB2PK}Y^kiBWm zIqw)X7fqv(=}*&~vVYOpJ94#~OXt6DWul)4B=Jl@1|4~C>k9aD#ZY3hqHa4=xRnjv zJnwn9ZC%k577uUWFQq!RE6^EL(8uz-s8s8yA^6?eb@vU}LD+5?M2zUgFA5Ed5 zHq29|O;BzB>CNvJ{Q^MI7rql0FNd6MCWWz+;=p)jRejaQ8pKA>8HtrK9wDV{^X*>G zGSDx*z)sUCXY&|S?J%p2nU~?W>us^us?F-g{1wA90%?4x6)dRup^s@{wU1vzd6lwv zQxkM>c(*C|yJlRyjP}42p6+a6XYO?R(u4oJY3H;=xzolWf=Y3E!j5+Uk(a^mxaIFF zaCzA~NcF;;D)Zh|Q_pcrjJ+E>u#JUHB6O*qkaMCXynld*I~2{HQk zZ6S4$53@FH>SnV{IOhO~K1#i9-xbYo zi%|}CRQePX>=pKW@%X)tou{2{RzO0g1#fHQWlnjc%?9UTV{6TRn04F1nUj3y6?W(= z=|E0aL6`F|F`v0vR~ky$b<2~8`1+YtzNu-h5qD4_HBDt4vN>dqmf7uZ|$yUF~*fa!M?pz=$+`oX?5e z8J}}y7^*09oQUFMxI7Ekp zxRr6w&vjVhHP1s=uWy?b<7C`>*)&&Du(p_;^=HfN&UA)ckXC@-c4j-!;7-VSJJp+((7t{Bo$=3&Or+KjXXJHQ<2f=p~1}yN0D@ z2|vrZXEO?Bt^>+bhiUiJp$FE9Di>oMhXH;&L|A=id-Oj&A)9Hh7}Q&%pF^Q4qh$NO zg{AZ8+Xk(Ye5m923g4T7lF&LWBw1UQjcYg%TFm&m0*lf zvgL?J&Qg;22CQXI5nO|Xn&t->&==Td69wWu(HFk&^sDFgcWhNzmvu2j!6%FCXZ%Lc zEz2zi9H(_Lgng2x@qf%tVSu{GW>@#2D+^DGXCN$51JHVV{#2;#7@XHYEPrIGy+6X1 zjtu7C!M8Sx>AR<1>>GV5nALkYV9lB7e0G}lux;fr8p5V*eR`Fhd(z;P){J7WaB&Fg`qahtV3+n( zh8cCR`QzKP43;~C^GX*~vYVrWIPu&Yaxjv=7(yH!^1@tkzQGTs;>2AUuDbFs&Dm%^ zy0NUD+0*v-B<|{gT7rxs1P%#1L49Qb%u}i$RSex)Rt#ZC zs2XY5wm_=5Vm|qRG*0{bcH0u^CY{O>$8#uoNH{04%nrgn@*@Psv`9K<85VZRo_in< zegB3k4NxdkS321o9?Q-S+Z|%Xb(pE(b%5=|dxh+yYkP2PvnGG3sKYBFs4nc0C$PCd zN#zPAcA>H51T!hEq`L|Aine>6RR(Jq>fZFxpD!d>v1mthuQQ98it4M$WM%8vP+kCx zJ2^Z&x(?6>64@;t-AjS^>@cZ%xWDKRN9k{2_cXPR7;2AHbC2iY}}&*b%`x-j^Jb?y=D818z=(V4%k6XDVevc3 z6NJ^722SXpWgBlD2royV0_x|6>brvxVFYz+y$^k?R#HHr+umwLxBDyBMj?l9%m~E= zapmmrWhPv97c_KKQS52iCrmb0e?}$G{1BRX?K&XkqY+)N!BnvoHE>+Tc$`6mxRo=0 ze@NVckw~<`FkThlX`kv4=@hb3!YJszc3H~-1vj3Z`Vb{iA|Q`k@Ea&hNNG5APH4m} z2})lh18@#8rB9CY3^d6geZQxB%PyyG5=p6M(}Gv<+sDwbA5k_xLG}+!`z<66DIR--n7 ziGH}crUmTFm*jT|zJ4b3rxq6~`Q)c7y=Q?iT}&CZsEzZ?LAVL(GN)*Q`@ zk8cIVol4>1NA1#IGkzFi0^Va8+jdN|ZJA}s?E282?K$l9S1uT;h|GWN$0AX7NsC5tUosHCoGO<_V+ZkF*}uhf8Tg z_Xa80-%tNUU*l;pCmbhsJ2nd^JcC>CtWLl*qVV9rG;*KLEP`PyFpJ?8j;_!=7(*zu zUM^Z7rq?}PYs-X5D9+-Iqa_+yiO=Vb9%3SD7^j@xATFU8Cuzi7V50Qj2^^(k8Y2zo z1a{{qNm_&*0XL-J1Hsz_{l8dyry$L?ty?rvY1_7KRob>~+m*I$+qP|IR@%0$TWg>H z#NBH>+&KH({V--kpATQe=&j8*#^`f?y*a-yGw(3ZRP}Ct9LFcN>}qNHQJV7 zK1E3wP`f;VC3^^IJ^vx2R#IlCEm%VkE|425FkCXW}4JU#bUKO}bnpS}nL&g}^ zo+L;-K4mlH6k^cNB#>BbjUZ`9MMPmJo0aYd8LY5x_Mbc9@opc7Ls-cq`72U&p8p*-cs0*A5>e(e9h6RT%!zV$ zhfqpUKNS7Pe&~|v>`hX5Uv1)53@Y+UXx=QXNH2u}dZysvy>Rsy_du>#Ba&xrhEtyS zHB8(5x=_(sF+^#?I6Yy>{qdi5=USQw4$8(P;C}V}`g}1+a_EdQvkxMc(dk?dg(46gG3h-o=!Q8F)WI zGad4@g}Mp)!^9@bP>P7>pvtZYN8uv~L=zJV=}0`3)2BT^rQl~mO;Nrar9O^Bj|b^c zOdJQH_EZCdkcvZ7lzh?l1*#uA)z61Y*+_5+3-0UPhU82v%d9i*Ah{WRCUI|71gJ=( z{rK~j_AE8Ifp0a7GFuC1YM`GBtPg3O!Ae%@IFnq!1$O9p|T+nG*2gvslAqEvW46vk-$ok@lYe)tupoYq7r7}UA_MF&t zG6ByA(`xxMp)yX^2%9w@Tr$MdSs`sL)ny}Whg?B1nvt5)d=0sn<@L#bk3&l5w2a^ z^I&hnMZ9vVMQ`S_D!9o!VRt?CPf;gHF$?jC36vE z;GshD)T>*uG&l*mT|>4`?{C^5wr=yIN0avol0JpFdE4rYL#h;%b= zJvEyq`&P)Xo$X;ZDR+i&i(EOdpP+|h)3fi#uTm5D-8l>pIX^G+NxD3nMRhSd6iN>d zZN31kBF(RgG_xdJt3$X93~i?U9RXP?7RrJs{fDU{uPo@4I$$wwX{mS1^dg-`3|n(j z*cOk)f|^Ee5geY4QDKKKIARERgKeQ6T>dR{7?+7y@tmo9KWKi`igJk;&9pN=VF11+ z1rY~K?P6G|NiE9!mSIS}kS1bCo3c?fmf51ceAw7rg9}}_BV1d3&6JyKPT&%AiGpg* zq3UAA9-d`044oQDXT+XsPOCXUQM zM{kc_wjy2`JT5IXod7)bxC-M2(%3vLM3FdQMBA6S0md*8$B$vR`&1=;udFA zMO7a-YmDsKP__bBKL#e^BBpA@LblR~EcROgVwFG83X^~K3- z$g|BQDD0xheoVga-U{@-l4-9+o};7D^5px`@6|AIYEdPAsBr=ZzsXZ7=tA$3USN6z zUDaF%v(+B88q*juU9*FqjivK?Yp2{iIG1DU%Rs+7oVzIu)y0)m>=JTI!1Sk2A%Q?Z zqGiqIAO_Cm?`fJNbq#DI$XVshrn`i}Dk;g?@BkmZ6}`NMMJFI%GB#0r8RKc2OPRpV zEM*UZ?_&|QbelU!mQLz%Y|7r*@ZP+sJbh|^r*_zdBMtELxnJd*MQXhT4Zb7`Lb8n= zQ@h=p617fb*AlD&W?3KAU29#IjE(PRKX6~%x%2n-qh!jly60z(dAca4eEi$*Q1rrZ!G8Y$#Au!bF-H&Sn zmB_4K+G2?vzuZ_|T3lt>K~>efo5D@7!aa;S`6%)v*D{c-E^CRbCkEJB+?og6>6HKx zS3RIgtO3;JCHNEt6lNsL@rr>1xtRY_Fq&wgP?(e&Cy5b?Nn$KDJ796K%rUE#=u+@g z5D9sLgLG@02_Y43{1$4gakczL`58U&$l>1B(P(=g8uct(*c=Wyj~X|o(He-hC*W%m0x`Slp4Tz5$al#AC-PESwUalNJ|`m5c@Zgzk{C za@rinn^S;o&&sKq`lCl64nsL?j9Mv7R7=wJ4xtn@jcv}=NOGqdI!)bZfvKE>GK=zS zksxGAPKtu!m(*TnId&CX_qg+Pt?61#P(gl!5Nr&QpogPdbSR|Z((xNK!Y1xjksJ#l znVV7Yq(}^rzo5#sFHwO%rMTwwL%grajTEHmQW?joy;Be=VN5UjrJ|pecc^$wgnc>* zHcxV=@BWxiIZ=PkPr!IMlW=Ex-9^DRGkpK|u-WrGWo7{}D_=<=qzwuUbeiZ%@Qz4+<4IE5V7tGE47kOCBn-Kw(vT{s<-m-Di=!?Z z)k!$iee+5tk24y-MXT=ed~@mKVKm5jRDl%IWPWt8fnv=NHM%#G>y3H`v9gWe_l;s( zw@{OPQ?coyJ;}euWYN2hbU%yo?3K=&oV-?Q5#=N$U`?5XLCTbvy{644Jg9|Ksw^X! zh$W49EXBu+|9GWgza#|i+UBpvIgmMKT(KIMnMpiFGJ)S{?Ytku`>NlK&a-Ih6-wv$uOXy#5UAJ6eMS9;{l zu4|f~#>lr>&3w%Q+A=M67F%)etP(bA2&0W1M|MDlQS?UWX)@0edsug!^u_Y(qTD3N zdc?Judl8RCRByZld*f0a%cOJ_Up4&x@ld$QIN9zUIx@`${o@?1%~|uOiJJw>n6V9m4=$1D-wg{P7)naap47sct2uiSeGBQ8#>_zB{jUJU&{*yb@yD( zuP0dJ1E#XXlBpZw@&z?havAEz)efW^#&w6Q5ZMRL^A--3#XDp}gqwx{iWbdK{3$_f zOE%DT@H1Qzk7enhz(n9&o=Ntzw5*tAVWy0+vr3)=!vLHzfLc~NX+ZIO4(q}w?iN*S zNK^mEmWe!OK|U|?_eSB|Q`4ZJ6?d`m=t4vxNtE<(QW9Ur7tfs)5rX8W>8Rsr8FvzB zZURw|sUJ)W63tA2z8kOGX?jqKCbz#i>Cr-D7zQna)Wr@mIUPUZ=P<>lxg=U=;)d_N z0g+!kj%r7k=kD@9b|)d3z?lhAbJL~SPYtKfj{8W9~+{WnHdhzU|z zAgS1hbaEbs33OBfS}4{OuT5)9M7{-0`J%~@%P5s&zQ3z=v~&u%yP(ike1g&FtTjR# z5upzzO1LR?+NKd~4|ZYWky^2)3~}jNC^Z3QFMZzvtf4)V)G!S_R7*d$hfXk=y4P>v z;x!J5tsyHbdFltDt*P)JAFyRPYAQ1T_oxxnyCx+ga-U|&tID%j1Xi(_soFT+F{$y! zO-K~nv^3_T(W|=q#w(oIM&M#h-2*D=P5Obj(^kKnn4)2^k3*s~Sc^(>j_rg_O};WvGj({mPjoMl9gXp$rc?9)q5wP>>5x)Wf&rPaX4Vp?*drF&-kgaB`- zSLiqj4AMUA*Gey$Q-2y#U26t1`<4>|00zmQry*(%sT!yf)VJ!^WYGf`<7 zQOQeO7~~@7U#h&PP~CW&n~*7?UU5}<#Dc9o%6zX!@!3meQ+4sdn|dKJPBF%eh46Dn z@ugD%QrwWkh8PFC0;zuY`m7Kh473D??a0vskSo5*s3djrQ~LKkQN;=yX5?W;jOuXZ zN!$&2Kfl6Z@NZWFUSj!u*TKD25Q8pe?j4FvDPT=XB!my{jJ3NC?>h?-=Tr-5t)bz- zYDOhuriIQXaPE4eUt|3f#LZ&x5hw!Z*rOU3kw^Q8s5w@vslZB&B8#(tB(tp#5IVpr zCU@jzG2HU=dB{aunwgEb5?Yma* zI5@tH@5!NXHh$iUEZhkFz$fH0P<~M}nYWhjnLtRoHj;G+{%|X02C6)OW>9JpQ;lQjCGcG+X{j?n>`gVm$(OA%A9<*I{ z?Pn9GRT)lmpKw6_N}>BaqmW+df^VFS1d}2R{fSAmY3!CZg2%ktduEmd=hxFlC=C;< zxBS6fYa~RZvKFHWy+VOE^c{5l6F*x9ciGV(=$v0R^KAme9ND5ik-{=|(^ZGIH%0@= zIf472E4>b(``5iao>d9D@6@>3W_{`Lf%C7y8Qy#~XS`!iq~+NMOs97oBXMFVrwz8) zViUP&#S0gz8_rdidEyL;hc$u8#x(AgDq=XY1g&hKHapC+*@e7Bqi&#I0G2yaHv{VM z!40R^9Cjd?P%ZF*&;9PTVACNfyFl{_Xz}%*1mbT)HzZpAV|EzrI||s)DGBLaKxF+% zg{ReoB)?cFE+gtNZSY5SM7UvW2>H%TIst9^-gi_sfLnG8ZjeZTTH=$jp+(n%6*d?` zH7IIf3VO_MFtF)T;-rcdYjhW-if?}+QPN7T}mFGO0-0@j9 zA(s0dAsRB82M~?e^tG2SNZG9lrqt8y&tQC+21ITj$H9i?xT6dpj`ay%(cGQ7d>fT9 zRi$0!#ACnDiM^@tnZ^JIPB=5GiS&@MS+@(0z=y|-<~xz}2sdT($m>h~neN zRPB3}+GRr0&R(e*6TPyaM9VB0?7?&=PCUD53AdBhH6`kdQQWLvBS{KVD;l(u3pt`9 ztr_!rYqj_vwqel_mhDb8S|My$C1eL0JRo9*4@JzevaJ%Ym~t-rH$_f4?k{U@VG15R z8y+Zxr^|`s^B;w}$>}8`gxlmf=e(XW%y?+jB^e|dn%YFl=G;28ElHpsOf{RVMNSzm z?F$~7pQ3f*3l8)}PAkpu?nLiKL{3reFKvbTzW>pw=tmC-J?@`a3-P~WI`GdwsQ$yj zT20#)OBk7Fe`a`#UFNKrU3z|Ap*Aa~s1Za$zzjl~g55l}0vsMOy%Nk6%acu`X5py@ z|909ijvj2X)p`52 zf0qY4{_bOsTd+OD92+4Ri*B4X8hyZsF7C)kE_e>CQ$xFaZTNS(;dQFS>9e*9vqgZU6Oer79DU#*yuhf%EVq-&Ky3&qOQhRLX0SY5 z*EqaA+Z5+O3h*|fCKmFceJi0>uxH!H&a<}0IT$7C2o^L(c(21)+y2T zUaG#B#$F#z#gzl$(2Z(!&5x@Yvu}Ghy9q!jkDEKo)PU? z2w#aBze*TI4qy9`Iu%lF3_9r-28HyS!^#9$=L@5)8pELYX1Vl{PdS7ueW?l2$xKWs z_I|u(6ed$-7HmU4(t7aPBh&ywx*Nud)x%K`yN95}M-oAbSIbwH^MU7g8#C5QfhL#r zGUBL>*SQyP3!^ftKO`D{NJL?{RooB_`}8pn(3(KVI_*#dL1fzcLGkV186HYUa~5-J zDHSYm+kTw{gKOU|eW*;K$9ja%q6M9%ty&#GZ2iJEJ9ZzVqT6~=kiZ}>e8ntEWF!a@ z@rqKAND~WTq$rY_V8l=>2AXiv;}A*CW>g&uztZO24&mLNRMblGa%JG_hc=}hRRs9F5tK2;ib%@4}4E75#I z!kHKKJ{9cFpuZ}=8|3@DG8G2U|JwZ%IRXLzX#Y2q>0dqmr1fp|O^qFhrOizp^#85- zh)kaZFax}|qNU+7ZShzD9A1+R=oIV<2w(GRIH)6B@B zF!$-7q6}yC_gO^`p>=#i{5`kK&FFbqFaQ8R_y7Qk|LxrVPe&0oS3RsHjPLAAwR%FN zg4mx5Tpa#+^@nSP?Aj2>>bzuxm|=yj42k8Yrv?#XuH%~&VI8iLn(e2)wB$6K1Arlc zK%0$0%}&?S&szc2+n%nRIn=8#G#`1M*Pi=WJ=dPw@7cVcH3=<9bL8ujdBHk=)eDpe@a-pLN7ShHmg4NvVk&I@QocqEr!%vcJpf`cMORGU3E zFfL=3pcUCj6a9;@9C>|Fl+^#KARk`ha3{k-bU8MdFgKalsF{r!-@Bv`qp|g> z#7S24M1m+7U!kR=NLikk@O<3a5X!lrK)K{KWL4LuatNg{qny-MUyWQ;C*(27q%|91 z;r$p}xJ2nbRKF;(WYK3xm=(9rrMLk}(P=j1n;1uS5SbZ1rXKS(4a7v9T&OtTni=b- zK%E{XJaP!g_sDeiNSH1=-ge@~j8;V?NtPZrrK%*kYoi6I@2M~8rJ3iUMzNd>%eta* zysTGtd3;#qNnY?6?Of*+?&wMstTU&l%49;d!dit4Tdq-O?4}eIZ`*W9H#2e-cJ!05pqU_d-n}zlo%_D}>BLV@;&r6%gtkTk1jeB>uB!qyDOip@=b@hzhb8;En!Qs?3m64oQ|2;-GJ)rx5PjwbHeGQsA4xXik~xHlPwmZuTKE zVs{_zj0xJhKfgJoy_=gPcJ1Uf=z0}5V!eXil?T{R&zsQFwnJH}vXqZ}Bv`D&1X<3E zF*WES%(Oda4IJ?kz1)DXGhNORXnPkJFCRB{c#o^j&OQzdBqo<&%w!x8J)kZchHKZ? ztlvsE zqy4CkNYI#>L5`KDNx_W@(}uxaXR?hY(57sw8XJ_z1UT{rAx&FT^M>q-od#>Oq>RYD z&D>m8#&5x-lBR#&LAKN_QUMSm7VG#It)IreOUa9RVmq}Gr&s%O$YfQhQB#dji(+n&UJt!@0v60#qq0eAeI z8O=`eSQPwgQi#_m=+0^lBuJ*We!^HT@0nZxE#vhr{cuC(u*d~V?Wh&YMeO9eip*|Y z&!cZVX(!W0O6k>Uj_%b3It{ekJ{>vZp^ZgyZ{W_g+j7wtRb`zUJ?tBiPsUS%z*CT` zYPN6+Nw6R%PK|l^OKaJd>LasnM0im^dH`tGAn@s%`i@VI7Ci9*hoQ zWg1BBdC4Y?n`hXu47;I-^9_|03&uKau7PxiR@oA=`}H}~rB&=v{s&6-z>MW4Kvrmv z2C>z-0f2!+jsWl*eu*~xn|X>y6#bX(4_?#zAp9Q9Q+ha_d1hr!gsi7NBugAuP#<~#Mcc- zU1a&ng`MY3KPWlC#NHa-I4D>i05mxjZ)V%)_aN#rXX*0Wnlzgre0FQAoF+dkWl*fZ zzc?%aX|mu;s}U`wUJ~eJd4>7{{bdsKbWhx#ry!bSkxk^F| z6wC=&+*VD(@{r?#BX~`=eDRTuWT=-?kWY*94(r}TD6MGSKaOW$>g;FCz7y2){*RC! zU+z$wkb|a55$|<tm&h91{Q7zq9Y?kYMga+Y4H-6_4$-hMGFud=?<2p$ni*X z-eH-IOR_l@1`!dD{z3x3H%f1)w`dNW8!b31==MIN69!3`^^cOV^^SbcC1E-Zbj zS6GqNweCbXf*(b}^TuKE%rik>i5qx~qfVOmP#B!+CKlT+v;{fAda(XwLaY8d>6J2a z_KeP;_7Z?!bfNjQh0BRvNVmRvLuSc&S^}fq|0+sOU?sKJ<(&H^`g;bUEolf)#MLwA z9ny!hi4s3~H8rE6{CmBS#^JCFc&dS+NNbvK4!Bl#z6R(4>Wu~e6$W>76aY?TY$T!Y zT0rRG9lyvN?s*(9;6Z(z#3%TpCouGOtn2AuJHRQ0=M_%sizyJ6l*u4oK9-k)RDC^N z<~MG>3vXHz8CSrAz2|()ST#H)oz&6Am>$pDpfn;2wDI&q-GZ9{+iO?<$;OTGl(@B? zc@wq~&&30P=77M*wWJOva+|B1wG1l~thR0Mv8VSw#muwf%7nt#%T~*D3lm17D)>NpR;(KE3x*4dDBwv& z;S?b5WNMZ=8u~gZ*D2$~o~@|?=ET+DN`bIBj;j#|FVpq|*LMCeViOrNF>^NcyksBS zo>dc+D_50R$-F1(0fbQ&o^hL-r>NwZ^G=i#^#ns})8z^Ni^QdQ){`faNb9}gM4CLe zCO~AFNX-Vmy{2Wgz1=p?biM(&(-6_wd11$=L@>YF6%qhP)m;<2x4g8>5%XUkl|kEOrWi4ly2t^s`V|u+2zG} zH^wE;_JF<1jDCL0GgGI1bY8^~*A6=%oeiQnzAH~$ddm~TWPR3$L;DcC6&r|?8_45b z1H2UkNakm+xNKx2>J21;@3RgCvi<|5>Y^n7eO8>9nUkLm76gxi7ambJTEsQUUdEs+ z{rob(7HS~n+$DG`SMF#Cd@Y{H*9&<6bHSo)j<15NM`A?lxUkkCVYLH-YTI&KbjK(} zq>SHyLdhlwz||9b)xzQSDd*)-b>6c87;bTc_r234M0@lcOyjVVCcYfrR&HnGd+xDU9KFV{8VhwVUk(l>0AD}K-q$gv0K%n{pIf0y8H5-ZH0<_^13 zcPG0C6YX;o?FSRThNvxS@5q8>q#d+e!&@XFC4wi=ASf_vv|xihuD+goC$e;5EjAzy zfm~O@#efH(mwSnq`=Hr9VS$p|DcMo7(YHb>s;f~AF7&s?9iO@vot56LX~N|8(iotD)itXHp1?Ky^bc3YGW@dy$b$7SgnfC06|>&3~PCIMcq82=u-DQ z>^S+D`5FRH+q`S)*=Iq%#(`V(%~L)RK2C8TeBw;Ltiqn#r|yIY+s4Q&qYAfkt}&JS z=5-&e*W$I~Q`yzBX!mwHt|p7@x(lUa?t9}Bulq_aPbf{#$m+v2ro2yjeKH;d4a&t3 zF)pm4ej{2c?ac8Nhi}!0eP+g2u~A)y!Ar8*!{xt`0k$05M+eRwUUHIkN8* z60!52Ibj}#MAmxV*c2K=tQ_{=ng@P(3o|zjo<7c=-{sG0A?r}HG2j32N*ObOvv2_h z0GNdY0MPtzp9cS40Gv`;RY2lL=E(v89{UNeE@Z#m{{#IQW)MWUz*obJI;YZP9wk`9 zq*Q$5u#fL%4DM#iwF=R`tlsO1=>vXZod@ZOJh5&(<>B&by<~=CvxRKi=hqkH4zdjs zx7|m)_RXh&{L01zSa(Lty_N%pT@Cj&*gPy{wv%K(Ems4fE=9XeUp5;5DvjhWM}Kzl zE@I9BE?wx(ExT(W9yePr`j*t>E!hUGgND7Si441go54cIp}XIW)p7#ijoVzbuPAFw zEk^f1!2tB7r8%aVUh7AT5)3oL#l~zlK@*YS_^tUAlRMi@POCct{e#&=HbU~AzA9Ph zL0FWj2x<8Sb28aw9lRoy<;0BCZM@p>%%XsLvz`X1QJT({^6vx3ah`2W5sVimiDWUQ zPistj9@S{Z4XNeWmZse=?12ePxt@DNsI?YCxw){CcSq8-Ivzg}r*t#^d=Lhw4Eh1H zkg#U@wXs=z(@n;Kfw!&0vqQp>eGmeStD^UFEgB~hR_5Ve-e8$E8|}V~l>lJzixK|z z4VLKP-d$y3^lX2>0_gSM7&f^%d1)3jBM~ThSu^RQdia1)0np;I+*2OLV_`f45l&O@ zwO=a@kIfT-QHBtl_xnmeWbj*wC2G!9z>8_*n+kTh*ei=A7)QvlAn7%)%&@1y<>0BkG*7G3u-#40Y}@rdDsYD>Lp0 z%-dzLa-v|GcB3X6!IK`B%MNLj#;(VMK3i@w79*(-x!*COl8h04H_x+ z3W+FZ+|n2ifx?^(6U5U{9;Tb$Pa+1FQc8k+hquW=F}007nh=y7+qF*I|qwK4bjSLKXO@$a#) zo1wAYzm?Qvr6vC=shuucRH;~cBK+twPdeJG+7m_&Bs@vpTG*_Ox*#RVcs$p2N92A1 z{*d1*M5!!gW1@FwvfVN~y8Jvu=|xzBR*f5TGmwgxpmnl}3U{Z@v{O0pvZ&l|o|Q3< zKZfH>S1VX5up2kS{Z%t_Ma1!l4`8^`j?m&?B0%=xQLVc(0ln^1=BYC($EBjth7^3Y zwKGBKq;gu=Gm8;Fl7(JU-@|8-8=M;rnT$?plkX60cXNIGh~Y1F)FwtOcz)~vy(EUr z5tpU=T(~JCE#>5x+t^86U)Lx&z?7PX3`3XxmJP{w<=G30Xl=p`SBlu{PSFw z^7c>E{Rbt({~|)7&iW2U#DWgyPUeRCR*J^|-hEk?M|OZ7-g|jIFi?Q2ww9?7N+%Vd zP6>#>4?R9<*RFDhvMJ7xXs5*a_LIkQJU+m5T|EeUR6tgl2k<8LhbP3wPIy| z>C4J$;i>E{!v!AA;~=Qv^CHB}j5yh8%+F~ZO``Gb56;?(m}41Fnl_rGiy>qoa@z8S zb&#G~vsLE3FMEWk`-vVz{r0k=6#{H)F6Vhs2-oj7pYTNbRdRl@rHc4Is(yWj^{403 zRAuGC%Ec&sJgvxR+emqvEr;c@=-3oi_OfcH3dDW@q6fh`ooF8TCn7ApNCMcswTG_Fquh~cmP)*C27{I{PAetB+=c3TXKfE8i7gMmiGg*uNzCJm4fcf_kf1pZkdoiQG^TuD+H|<+sJi6m3j!=;KX~jbm2~r7N5G5}d6YD4q#Kh%@Y?($7P_ybQpk%VFsq(#7)ZO9!qSzRaaO2`Y zkUf0qqjNKe5v>(}a;8j8HKo#~leY_m7GjxfKEDRZ2G8@`s0nwFu1d&zIaVd`G^3>q z8V(a!|LLvAv>?jHkliqYs~}T+oVdanio4hC) zJ39Rv`dJCvGJkfS!#(DblFJ|xAami(A9Ttckfg(AQsDB2iVr{n2M(NE>R`fq0r>n-Yu#Yb25e10of`_qqj&uj|J6)$Z5_yuNOjci5i~~^& zQqd>Yz$WAw{&`2AfPxK{bdpVwJP4wM(uf%5G3Tu{fi1=@HrODt=;5-;g%3=@0u2q_ zGqJYS*By2{oaB1``j6LQBvNULs@O{Omj>8}j1H|5YM(MN7`U$A4X(s>2FR4SSK8=C zIKc||P2%cP$j1~e_DC!R`db^7g9u6X->ISk?WI`m9L(sbbSAfy(8j$3Rm5WN2N$nk z1YjCN@(>ZwEg&)ZYHW-`17emBt?V8%NIomLBa8!9zpW(Km%{R!vs>(z`VfDcF>XA! z5Plae9&2B%sR2kQ|59dxc=M8$TF7gXo`W5ZE%9!54j=oCK?(M#sMMo> z1V!R_W0utjvV5|GecBoQ&N`kZm|8@(Qo`XOIM55T$oK%dM87tosmtK#ubCq{m_Ie6 z8Skl+5LY_Gy3qXH(CMve#X+XlI=jEpfko`Kiq(7S}n|Z5MR1E<>F{s83OxPENGCckyITGT+L=`!I zcFvC9dpj#h`%~BXB@)7Cf34FdSwSkwu-aa3xG~3FX?4fT*AB%ZtL`@rhb!_90H?vDt~KWA!wjU!#CagOv+bV?xj8v+?)h`4Q{6p3>d8!3W|DeR zh?P8;pD0A}WRAu z8YmVsdp^QQM8%0kVMu|I8mCrC)*x&R?be<7V}CP591~-|TzniFmUW@zK}&utDJaL= z)vgz!^wPO4C8mj6Sb?4WokNFzmq%v63wZ_f#~;H0lYl@<@cF&rmy(wcj~fA z>cIcDEo*HGpOt$4q94ya*R2>4YC@I9W7%)}Fsq4T=|=N;lzP2?K+_(#n^0L|nF+C~XhJ*%9Sa|rH)hsD6f;hc zn&^e*!sKonYz{+rp%^h`ZF!ozmr`(7Ivn4G&z@S#iX{5=lyMs-W^HbaL7&(AB-`E% zUDQCw=%vn}k#hbQKyq|BVOixkjtp^cO7d2$V@O@VgmY@*Q*PXthDJd)Ts_@Wg+WQAhy*pyQVc@dwXQ4?O})@GQTrR?QGP6pfksyn(~Mn_wjql z%*<1=jm5Rm8!|zL&i#SX?R%1C&32eOKAP{w9BmcNySS4H+7qHXLGFy`J=*5iTFJmrp^ zr#JshK1e~NPuPN>A|&HtNN~&Mg}e8sKt12Wvp93*`11@CHj)&oi`X1@QjSWLBF8;WByy%{*w<{DbG^Z9 zt-ji#5Boj@_<*R(v2dAR7R6*QkPfJIH@2<8NjEsBU0dSVutJ>J!_#oPm<5_NGmK&?#`J#9NsHj_)9zc0 zn*sA#cVx2kzqp`ipS`O(5hGb5Aa-wxCYircDC$N^Q71BBi6sd4W(?qh_fbXIs;Fq^^ zYtiCNveF)_Wf93-s~IVyZha3pNrPYxwWVWmDlx|>o>Fm!;YEQc!~9W4nLa;E)nToP z*F<$tT4s1-f_3!VXbpMyMKM9;n=LbT9@6hIOQO(~Gb)kYP&OL1zICD6a#Jh*`;?HL zS`3=MZdq$eIA;6kxo5uBlpoaaxdyvvZK14Lr06UfDE2+9-+ zE%RbkWp38aGqY3Dm>xifgTx36HUfn9Gjyll>pEZfYAV9m;5Q+M}L4^A|$VqQGcJY zQ+^aX1;@Dq&jBAk0F4FNRxU*qYdQYh$M*}SO&n+5AEsXueCI$yV9;=(`GdrL#rIGA zx@X+|Qf(i~o8$s&nLr}Yf`E8dUc5jA9%B@EB;vy&IMyr=zd7twcyc6q>I99z4(sRd z&F}ne^Y!1bvL_YKf#|R5-rB(9H|3tSX{ObAboCD07MLo$>`u-5Q9ihk#_b%!=qnsdC~H@dE!leRe21 zJqlx8+~Mm7Dvx!XCQJ!FHo=g;D=6-x90#=zOH(RaBBjje+B@pAI4=jYnIl%LFbKxB z^t#BOE_SlsHAS;tv(W z>PG0(PAkZB_0*rmh*#-k3)!pq*0~WubsVyYA-&@)Od-A^^RD&RqQgaTvMG!uqaz+h z`3#9*4q7;#sL*JY=07|U)qlXCE&817aUG;+^iS9n&}Z065<`!}4k||=Vp6X8V$RDK zb;MBq6m?44x}2}%o|Squ3u7J3#3Ij3=kcTqeWH}^%Z=*Ey@3}eW*aA+eM?|kD>M!t z>Vfly89QV=4|xVp)U$##1#h(VGI$YTt{dUIMppo1j{T_6Azkw9jO{9)A7Oqqle&}P zpe+Q_zcMLIcT}j#xZ=^fy#Zp3T;d!9jP8>o^3eHL*MEP*8`+D9k}&=L;mGFyd-53{ z`E76Wlc(#0Go&xtnxFkF#?Q(4*qzUT@x&~kQX&}2AYl5{@h*ElnbRY9%saRR^t7Be zj}Oq7@QM&Pss6NWs@t`fW8&}Idzz>c-JJMUh-|8rtUBA*kKppN znspnha$wjeIQCL)0Q1wi5#|xxO4uvI3;b}N9yxC_>3Y%{&#cFybgT@gD zveJIgFqwuIn2HqqN-64M4^3-097#c)+Q0%lNldKbwq|x6rA+^Hq_)BkAdHFrmjktg zM{Ow?J62 zlJ@jA;7Y<%^P9Q-*H}R1xu*I@DeG64^1Si<7ZTs%V{({|05C8}xG^qXGNTqn zJmT$W0pQmChZoLV4zSIP<5gZ~(oZQ86&TqJ_V(#A8`zf|DF&TZ+yrz33St6$OOGXjYu z`BGkHlVmooKZp_{#9!WpFi(DG^a1#PgHucHMuV1X`^;+V^x$)iQ#Sxa)Su)-B;kiJ z1`}IiE;K0OFRngTj^K2|IcL#2G+&T|jqc%1qr?6mupE(7XC>0!vp8+#sCo*oed$j|ccg&tUEn^o+RD*?mWz5(EN(_#qGA;LgxqnBYv`;!5Z4 zkiOj7$kJ{?ljRp8z(wfc9=h2~{F3H?GQJd;-QTVFXARL=9m)mQ_?H zhejpQ+2)?^SJStN%nM>I|?fQuEirM~k(mwdbe%ujkI( z!ZToR;5D0QJSVF8ICr>$7->NR=b!ngWE!@?82MCA*wX&tbfu^|c~b$!RU@(8tJke^I+DA=rr&kjrh|bAst5iFKCTj~IM^v7j6E=492Df#jqJmGn%!q6aC7 zX~tYIEK1y5`GRO>1j6hZGIXOzhNcVH`vEf-)Knr2mwMQqYOcm$cMZR&w9=}r@r#0tPP`fbHm(ROCX9RcxsLbXPF3L8K;@Kn8iS{_3^S2(9@mt z9vmg4Y*ET;m5w7?#d>R52lX=FtF1wHoF-ihPexN4MUB-}(efWXFxqS^&&1y<9NtcQ zeOk%AcoCYyuf2$d`E*e=$w{HQ(=$lo6O%Ad-FGzo33QOYVDtV}FTHWi*u=vJSpsIW zUA04hJJP$+)||P_%<<$zZCX|m?j}Ev+qAE+Z!kgTV-{3mv-4{7yYI7;Ae@$*KAZ*w5_>wVdNGQR+rclzs&II_ZMyfvT#==r&c73JsiX7{<+ju3#Mu zsuCpVYdb&xTd&K^&YNy)t4x1pq+?z6Vv{4V*U<Y;aifA)Q}ffbgH@j^PeMxFDb!nLHc z`)qMbo6TUgAiZTjRp&vAo%VF$=rIbY?A7Mo0;{EseeuAfQG3v^gqZ5F%ASe?Ir9{2 zQ%fKrbw1_TtuV;Ws!Qd7f_^?as+=_i-X<`vJ_I#>S z%r_>!H}hGSrA|SU$lhtI23que2Ud1&Wx7~+?`!AycP?Y{6CavQfA_GG0=1Ld!-hYX zU+GFsqGM%r$C>mc`U$mHoxi8aL)%`WQ)Zg)kqqg_$mTXYnR2eBHQJ?)|F=WiVl+JY z-xtHbuy8KqToVoFJA?jxLxYk|?;-E9pwZx6*?_M5Rs$s^ye+dWRi^vd$RE`AqWRNA zlSjO#%J-z*i=az;_UM$lODC)Suxq@d+|>u(z2H#w9NF>75XN%qcwD7xtzKzDp&G8@ zn^GQ;RcTpCSc9sbuY>JY|{wKsgR7y zKcs7Ht=yd+;{Jj9ysJ59rV-QVmgT8+l-zFC{M%JzU(m*{hM+^G6Y9{Ot;n&hp#=a- zL_|`Fo*M!mRfyzEc|mAsLiOGl4cy@wI34!E480`};W^zv@ds*~*lA7l()MvM z0cdGcyfSW*TqTdir?1dHBZ0-=NM7)~wd0nb-*5ZV;{ju!2{sR_t;hePxu(fhNw47J z>8;DU87=z$HBGD4yZT8dkyMTb3Hex8q0aE@2@t`K+c(_;KlNx(@i* zoaB$J$G?c;BPKdBUk3FH82mI3E~y@KtrgtU(xyl<^3Et+C6ikoCpzhATt5k!I zJJDZ$>!RLjO_$lPcVOXo>*4*NE%PguE1TD+mWZ0YoENnL-8!Cg7ekBt$o|F|T6nUx zlgx8Y4O0#RyPyKj8o;c_C^{&0cT{^x1-ReOC88NkDOD@~l&NB@Gv2F&7&~jU^1@N- zR};DI+{>jGS(mW-xR+Xx1?M)b)8#z6zT`rmw}4Nqv~i(^HXuLq-wZxc_I`?8+jGT< zHxB*i%zL91$k7+G)vudk*EFn_JvzD+-Mthoy;8GPp5A?q1DVFoCF9Up+i-ilDAftS zZ=ZomW!p+wzwo&3jDw7voo0{4!ln;@sPf}VSeyJzWoVHg*d4oTsYOq{+no=m{kT?a zzJFP)oP>{uS9heQsa18|lX1%pI$Q%{%j;%4r5WbzrAOt~cXjeu=$M|I`+3{*Y+3iY zETV(|8b{a1KL=&OZGi@1@$1j~mtQ&BF8EbU+vH@BzwUOkoyIq(s3Vg`>k4a?sB7!K zz%Hp^x9ct_mVZjUL;A%X-nd8JL{kaX;qLk)|Gw1K92N3jexcs>G+%H?Kp|A9=-N1l z@K|eJmA*fi^M^DeLq)_!YKnGFFl!fzgVVyS`QD;Cv#|Cox6-hmm@PfLY9|g)GVAo@ zCT^0;&7Hve5@6mJSJ3MPDOHwPxUOmH>+Lr-HIVXA*@ONJ=iNSTPekU4yLSCz(?2&W z4QYw@9!HDpjP|-Cxw^{tO7KHrl`UA5Zf-eO4ej+dmDKbQ`?o!f+AqfD@f6)JZy-?{ zfg&}*`!sBFijIh_PswR*6Ub}IQGOjPbvA`0Qbq4SJx7B|iTkhrl-X-as&P7g9=c|R zFMGo-^?~VCH%FB5jdMQq(kOa5?@E13W6m)N^;tsosdR5`<9A&qrrx!CE?QFW%~Y>l zwp4Mv??2oF*GZ}D?PRGSu?lKB9ai6+jFrW)^`0m6r3$|LSZSq}-!7kh>chCVB1xfZ zc&+uI^D1R-T(9%_3!F4d?c`3Ssgm<8wSR;nyeM|nZ=1|=T1!F8%v~P)?;ucb-c<$SX1Z(%}+6$?7WAIZ4f4ikrK=e@yNaWY?wrI5ji+nDZXE zD*FzCkt8XtCbMdBoxh8Q+pocPKkHVLWAn+&f1IqLWS;g=j&f35jwgvLxt^BrX+*@< zDQ5|#;?eFnx4czgyB=f%7QTtxE@&Bj;A+^}X9?FZA z`gQ2u%@k7%T^aZu#o$7diRIBmQd6C6W$cm8yY{ZVOa>J9pyKn(1t7*CI}(DL5^&%r z<>!gNzn==x#AR)}S#qS<$U|>UN%WckA(=_Fk}9h!BnT>x{1uOB6D&6*=!fSkKJBe1 zSnG`mPYbvvgM(&598^f~{Fi=?&w?U&%>BDv2FUXS0izC)lrL+90o6$M`MVCx081Pm zLI4t%$W{3?ekiagyid$eCiz%gpYm4(4*pRz?2yd6WW-k2AdZS6YN*C=QH3hJfDDe` zxXyZeThWI_KLtP^G2P`nZbSk7I@Y86H-Tq_yj8XibRF*SX~Z?G@BtEos!;Y*HptKs``_=1Ba=M^{SK(ldk>XL2&m48VMB= z7?LC^t*eUoOI_7OK^jdO*fb6~P~b{O4n~NUVMuk|c;rw=4q8l{*_g;4SGHT5muc#2 zdHF@O)zZfS8SxrJ#vBBs0YpexaS9a{e0guh-@mA5u5$fjt1>c^Jh>S-yxrbosYTj? z*B8L>SxkSbTs%pe$a~uraK)@gnpaGy$&7Lj>LX_P{mq2HP_ZK~{sv^xa=8ck%Ea`t z4*~2k4}wiEEXg5#pL+}7-hwzz2SM@=fFSdDUlBsehrApBATz9=F&dhtIR}0#vH&~~ ze-y!39P!Jy1JNM!eXQ~YKaK}M$5HO?;X{7bS;Re!k^S9AV1jhfZSG7_^xen=lX{Z@ z33oOujMg%gIMo;kr}^6{3z(-536~7jx^8JOx2u%u^+;M@{kE^w+Yp4!cGe=YNUt9p zzzKW{T=N5%N{{dBnKOXsd>kZmL0*;(MJrdR)>;Op!KQq*)t%hoRgr-;J4TiMzF_e83&5WD$dpi~GzN z3j_9v^P`XCj-$|*0tYo>18>HsoX*M+;HAWe^2G`Z`K-S5+Nr?%!U&o+=~-ToU>mFv!=9;%~u@WKEf9pwp4o!I&&%Y%`Aivx=LV3AE zezOVi>bEqNDjQNT>NkYxThRR=OJX&M7@ibY9P))PI{c?~%}inPfd=c-9<3PyoUR76 zsQG3a!CK2fcp&e4Lvgbn*DKoT=NQmqw2#IHx1^$ChZYQi74Dn$1G!qEoJD|YVB?~+1?PSK|+^}JOyG~ zlUP$qZ0-E{VUUonfcQ?sbt5V{H$OLU_wQ&zx!(;jB;YuWZ${I3Fa;`4g4bet z_#EZ2a9R`!qa4kfd9IV-w=^_bc(wMxHYC^Tur1zbdP9^H+3Y{ZK@D1LVR9&W8R;jB>Yt*p7V(%D z*h63?1P5KGQR2U_}MK!NmsCHvw;TQ?Wg zbbB9rBniv~b$02|a_wp*uSXr(CnfdG;Nz%L4`0f@WF<3@1r0D(DR)||DDT^v>cn`Eh9yb*-%|D^@W zt6p6=0iDY}QC6{;a3d6+{C>q+K`0c+S|p9W)W}n`P?e?0A&YLkj^3 zmH-OEOo8EvcVeOLj0Yg%ko#jww%Zw{4hRsVbyrh0d!0{fx@&r_xlqNppE%Gzisy47 z|7;3nGw_|O5unKH+qp}T<~Hq(#SasAe}ZZwOZHyW`H>Q3fRG-upZUH|;u{2CXONYL zHkm+3h3}6RBgLVc>buLLueTw$%s>=wRJW?9(FVOfh;#=wjT8dijL!&jKcI{NI~t#^ zCvk)$(I#oxj5&WY$mCFJAT+E1GKqNweQit+eELfW;hmo}jGcWB%Q1`Rp*8=Z2(m6z zSPxzrVnh+d+pXxhR`#BME{hVD^eRGS?{JpFJFcJ9R_`scAIuwO-H>t+u}^7n zI(Br|`fVP-45g_CsJm)h8N}PmW$WmS-A^7Awm%zEX19+y_f$)GIvEjd!7a9RAi zXamHD0LW*5TBI+nA3Nv%gy{5vUYARl0Vg@njVp!oSa~xt1?c53M#~P^KmUs#YIkqo z`XC5Lguk+e(ZdA$m`Bs!gYP;^W5eezxAaV3r+(1FHBy0PdQh_W?6wT&io$^(M5mG# z2z}c5m%$+J>9^7R7=expI#5XWFj!wfGlNS;4P~7CPGuOMG-q6oB|`&Tip`TJn<5Qw zKj>|0hodwCACH7Z?upz2)-`_RsmCn8!(w9Spz;)gO=nhIqT6aTSsy4Bed=VU!g%QD zx3ph~`SBDNygnny!K9LJ78&7-{yT?Pj=RU)x)duC_%jCM`_LJzhZJ496Mbj@?1Q#v z3yCifPL%+Ros%S9oi^L&&df$91@W%8oaP&P1;%cJ)23ao_HTXv?eKu%$)3Jfd0JG&$UtA>HDEAD1ilY~x+PcZ(2bV#h4v@H6qOvk` zp%d8WN_<`cZS9Jz`;0!Q&kB@T*n!Mp>E73G{AJ@*1P$ucdSkPbbA6b1KKi(s4kh5s(l6{QhJuW1w?1Xv^oE`!s^A*1cz5g`~A@$9Tw=)*|+JWFu=eir%!$?1hPVnVZVTQ0{*vK&(b4r%1D z*95a}Tth>OBkP*)^BjQ$1cbi>B;`%sBp?}}2a1EHevf0L@A>y0GJ)z=d_EX}q*tOO znsx*d@dF2$u?NG{*Vt%8Y9aG_9OBlvjHuRBaRG4O7ECy5qf?K@5~tbMFJk9OKVXjR zQb@HBHIN$R`NzCy%|*g*1czKK>KHxi6(2zBmNf5aYs-iT0~^F*d%P>rfu=)Flf^Qa z)Qo+R&)RF+6)XT#;1YL+iFabA9!P#YsVE%%cd>G$#^xb5XKe4+A4HvK`1aKidK zQsvuh#SF3{W}>v*<^zJVapVg;kp0!xn7iL46&H~C1(920oY=DD1!A&ryX02z4V5u0 z8|t^mEvlK48Ua1P9747AnJX%^IKn~u>1P${Esj8^;r`_cbU^*O^50dkX%^4pM6~}F4HpCuV-b*WlgWh_yVV&SzWx@%H0yCbI0~gCRzzY_~ zTvH>vwVeeh+Vx||^yPLM6T|!iF&KO;ZPhx$_YjAVh20Nm=+LhlCWHZdz{C(086fim16qHFQuPJNvITSa`PZFOf4Yxdh(j-|k7hAFQji|*UCS*D zqUdP@^1uO-hX#TVHJ9*wwNMObLGktc&K?XPDtbG@-BF#s9eWVt9q2ZUj2vPc#u=9# z2I!vUjDRlX2^#2*18mVgb_8bmGpSBd!~o7I+nsJ3jN0_^K~tE=BkdFwuge~l@HD=9 z1Ikb?oPP8~ejVLWAm6Ywljbb0usSo-@|(IrC79_fv~K=bKYhg^+MH7k-V~(BnG*+C z^*vY{!%5Yl23k-4=PE{V+{Hm62MSEDY)oKu3q>~`dd)FREn%WqmO!M--unp8&Rj%^KmjE+GTjA-{;e@cYB)H znt|QryK$#>Lu%>n@B8|wMWd#EI5Tr$<=NM*Su?Vg#eMJRs~gdExz&|b^=f~28I;?p zReO7z%HKU^FVUao>{w#8a}Jp7{OIsEgMUG$J;w%XfodZXP>zdYi;J*JD!H`EBc(hR zwMaR%zOtMw!8QcX&I{nn!J zE?fqX6*ab_Y@vKI1~(6ZWnBo3q|`jnG{Bq}BiO%=6jsL`)(mF`vdR#as&DfNi=eq+ zeYjmvsVSwlvZti);3InQ+^Iv@vm@HZlJS1cJ%JIDYO!$ee3_n<%v@2(=pTt`nLUl5 z?Q=nC3XnVZeb9^;ic$_-e5WOM|9WRrYi&%_2%R4E+R?b{H3(g~N5#SKmidxS%+fZk zVaO633k8$?#cNyQm8x`wUA;=7ReTz0tNZbg+`?pl$L52;0%s3cSpeTBtI|n;AY!is zCQioE;rx?(o}u#-jcI-ew0hWgb;b0`^%c(MIlmIoSUr9;1g#LCU*lE|akgW1O0iEl z%K9s=@yk5Awn2Es*H1e@$Ca$=(2M?BxED*&{tfsPc-b`~Gb| zuCegDqW02Y{IQ%{zN-X6MAYm-5)%lD@6ua*OG40$@L|+BU{6euvC!rd7V>0*(@(l~ z1PBMP4=<-foSwrXxR`yo6NkIDswHKZa320=a09-)fFZno;%JC4h9xDa3wj(Pa)9h< z{K_O$z+b@&F}uu!UrajGh*FGzlBWU^Vmc5PVCMcI#NBnJyLz&wNyGk4AvCB>FGO?) zfM<#=Jh!k=fNO-4ZiGCYr=Fl3e8LQ@ral?9b|p3b095>Bf#CKHN05EIQ`>#{Tha#D zphN8Qc~9IDqfl>yC*daswF9-kbkm{Va%o*KF#Vdq%K+mtRd_5NNJSVjM~@;D_4N%0 z$PssTvrQAwLsVrrB2b$8gJz`##Q~;XRov^x%co@?I1ZJ$#r}kGGp9A-3s=74hrTQI zl_^{&WfvtS5`taxj9R9u&H+4Ue2E8a2(%dFIW{Y%4xL~GjV&}45-6InF=D)mP&Gv| zIo&^C1>0+HO?dpXf$5DKehUG72ST*5UitNr@)Tjzb0R?`L#+j>cc03W=$c9}5g%Z! zc0e{=j=<{&1H^Z5QFM#h%a0WT*obj?^HKYzRPJ+X(b?q$R7)=yx7eVg)dMKt?X|=YjBdLhKurYfol;>!+^}?{&>MTG zbE$<9y6<>*`iqbVitO#}fKrf)jftog3Eb_1Ep*`yhvPxAGj4G)akkvi1u zUVjG0NuZdli*^EzQj3bHivj z6%phHFi{CPDRAwPlNKoV#Ut>;+G%6ev!_{;bZdSvBKWeR^Apt!+U^Y>ft!)85~Hi* zSD9yJ(9Afgs40+&nh^vd0C6El6YBx|MUaDpsZ$5mAPd14&{w`@b&8#Jp&x&QlZ(OE z2e@p|w#l9rWE(mVwMF$=6u82Zi4^ctn(_S&#}2cDRuhPO#uy`)NZaqmXRk-Ah6vnb zM*`yY1LktBaD9p;NAuiEUHXa`5lNMI<58Z4)Ls|VH;3y?f$01N-|Yx6t;A;-$Unva z5(NUqWfw^+JZ&=D1@43!bbAm)oPvf@#J9b`^29>{Tmkrc_ysD&;I20&g7YZ6(j**^ z;lRuc@I`S;@!d1%vgC5$(!^|-s#0T93hsH|xNTT|Co$dlYv;p`j1(?zt}(V?+^^1lkj zAwV5CbBqQW_JsJb9YjZd_HJTddr=(Sa(jko(RqoDQSow{K*ODLKBAA z1m7{tc6dE&yhc1Uk|>g~*=aL@8F4D*PTQDOgH13H-Jj8fmfr!iaPeukIchhAiU4A! zQ5_o;cMq)Bp!_Q>j5}s`LW5W}~Q8dR`e5h|^7n3UpMyZZT)U057mu?|9%fVed zI6}@zyP{mAng*e@@Y{PYtUjm4{yN3J#w^i07I+nFdHO0anRA_Ft_}uh&U8H7__t0* z#e$dgO+jthxHMncd?qTN#Bnw&@;+Z|ydS)P7$whmO=j8?IT#$K^Y7;sU|6uOz}8(<=_)%np`mT^w|Y~)FsCOO!|aPwO{#t6s=4xHSp3@ znQjj|yFtk}nNoxxAK1h^P(Zt`kFVHMP`ZNuIKF;fzf$}8GOwhYDk2OQ3yyvPqq9D9|N zi^>MrW>+LeK#lfa=o_9<7A6M_qX5iVGGy7Rd~+i_gR!GG;~^ebd&gCgiYkIlsUa^i z0P*0uX;g~gJYscBaVIRz%aG$-!#m4n_mjzp5fgXOQobVDKZ~WMX7_g@)QR$^MpS=z zwz;xSNI~W7s>oD18tt-4kyA!FGGk1Q%AA%VWpEy7S-F460=!p-fp&DdZ}X$LoHD&a zVx?lQ=_RM>Bo2L!9Hxny4At01y_{T9()n&Yc*YGY+a}89er2ssEYT`5Kw+W{F0?|o z#P#}^fa#*z*j4n|!m^lTwrE@2HN+%X*@ZYADwTW?Lo5?IhV6&1g20OnM%IyR3(AW6 z`QKm);$(O$nSwolb}bO9S{EOB79DR7Zh?Ma6fhtngf*r;TudQ2!ArL{ViB-*^~)K3 zA=fY(M>;f3SU8@QUI5KMeu&Th8mHsK31YLr{Yl(Zsq({b>Ej&?y6Gp^Sez(Pc$1A@ zTPlau!1NG@1b?cHkOh~sl0Ru8%nI7`VdYQ;T37PVh^D?ScO8`8(((cLfpp^>CW)xD zgWK*`I*p}O3j%x~Vx_l)QX>g}-*%T=fnG)p2OFcc`eBKqC!g&Z?m!dxv1ve?dY1XB z*Pve;Xva@|<=^SH0`edX6Z1YvWmE(91dce7E!bg$|wHI{v=!nyG`Q>5kbN!R5I6?i$Hy_w{%8Zt6X;nraJ$-K7cm;kBte zUk$V~Yp2c*gZ7xs+_fq`b=k)%gvKv;la9!mk@nm?!*L+uu?w)ihSj>z zmNkBiUR^RvHNLHLe#4Q8ir%&CSb){drEhqE%IDt^@T!M-t1K`iKZD3|W3z%}*F+Ey z=3_crZe8f_m2%Y_-nubjnv6}#lOO#AMF!12XZI2giA&x(7n+5J zg@|QlpT{0sNxhwJh#J$1Z5thnrPFkd!C-!1?|ht{c3{oJ(BbhW$7>!mW)A~)vzBRD zljY<7f)L$!>KUdabP7U5tt+t;n_7`zdtN7X5*EFi&LZ%D4j9PV3T9V>0|Gxnfc&^8 zn4O9ka?#|q=p?E6zQj%d+=Vze2BXhq-tX$rNY+4}hXV9;JQbx{)>QIYCv?p#y}UO) zXj-!k3{B-W_JEQ~nw>D^p3wjp=j% z(66hlug&#_jq}sr-W?>K^6wQxUu*_Ic;467AJ^X*+LK7}?UoMe`<&BJcw3_=T?!GX zf;EW^W%GehjwNz^Xi<|r20?+4a0B~>-BqHBnBJ)Cn<2VeFd0E2e!#@(GV12Fz*axAp z!O>H=U-FZ~QpnCdZV#jo9-XvBUzp}YIdW*}R6I{X?IeWF?2&x6|}58uLw1(VSy} z%_H(BRMFW7zR#JOx>Xc86Gwn(_j$kf%)jq^w51RqVrqmAqzQj3 zyd>A-^abDcZRzy`q*_XxGdz=bg#VqzjG7R$DzoP}C=vYWSBClWFWw9ENZMGHl2w5a zlxqev0*hO<6^G!+2T?%lJYxU+Y9_gNb@!r!sG|P?{-18Tq887#%s=A5D>W#)Y;8JY)KT1gp68c7kf*_mnQ**V(rX-QbQiB?vS zd)!B*s0U`{?Pw%rCnaDfsU_ye1Q&p3fPYK^AP@@he^V9zo(llzzovf|=>J{*&s-e% zUyBmmKN{gbRU(QCIR2%s0}z1&03iPl71Doqg8%o$WDV^s%}kwL=sav~{u7{aoYZ5t z3ns!) literal 0 HcmV?d00001 diff --git a/third_party/android_deps/libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar b/third_party/android_deps/libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..1849ad8e156562361c718568aed3d9407284e353 GIT binary patch literal 17847 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 Cd8rlv literal 0 HcmV?d00001 diff --git a/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/firebase-encoders-proto-16.0.0.jar b/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/firebase-encoders-proto-16.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..7a7e32cb87bc6406e1ab4fecd727e1ecc1c5acd3 GIT binary patch literal 38980 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 Kv>UGsl=dHwRs%Bt literal 0 HcmV?d00001 From 437a6d1673e063055d5484e7d7ed78ae8f9f2441 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Fri, 4 Aug 2023 11:36:22 -0400 Subject: [PATCH 03/17] Update existing changes with async query purchase function --- .../chrome/browser/app/BraveActivity.java | 31 +++++---- .../browser/settings/BraveVpnPreferences.java | 60 +++++++++++------- .../activities/BraveVpnParentActivity.java | 39 +++++++----- .../vpn/utils/BraveVpnApiResponseUtils.java | 16 ++++- .../vpn/utils/InAppPurchaseWrapper.java | 6 +- build/android/config.gni | 5 +- third_party/android_deps/BUILD.gn | 51 +++++---------- .../README.chromium | 4 -- ...e_android_datatransport_transport_api.info | 14 ---- .../transport-api-3.0.0.aar | Bin 4898 -> 0 bytes .../firebase-encoders-17.0.0.jar | Bin 17847 -> 0 bytes .../README.chromium | 4 ++ 12 files changed, 118 insertions(+), 112 deletions(-) delete mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_api/README.chromium delete mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info delete mode 100644 third_party/android_deps/libs/com_google_android_datatransport_transport_api/transport-api-3.0.0.aar delete mode 100644 third_party/android_deps/libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar create mode 100644 third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/README.chromium diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index ed0541b79087..09e63894b918 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -32,7 +32,9 @@ import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.Purchase; +import com.android.billingclient.api.PurchasesResponseListener; import com.brave.playlist.util.ConstantUtils; import com.brave.playlist.util.PlaylistPreferenceUtils; import com.brave.playlist.util.PlaylistUtils; @@ -634,19 +636,24 @@ private void updateWalletBadgeVisibility() { } private void verifySubscription() { - List purchases = InAppPurchaseWrapper.getInstance().queryPurchases(); - if (purchases != null && purchases.size() == 1) { - Purchase purchase = purchases.get(0); - mPurchaseToken = purchase.getPurchaseToken(); - mProductId = purchase.getSkus().get(0).toString(); - BraveVpnNativeWorker.getInstance().verifyPurchaseToken(mPurchaseToken, mProductId, - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); - } else { - BraveVpnApiResponseUtils.queryPurchaseFailed(BraveActivity.this); - if (!mIsVerification) { - BraveVpnUtils.openBraveVpnPlansActivity(BraveActivity.this); + InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { + @Override + public void onQueryPurchasesResponse( + @NonNull BillingResult billingResult, @NonNull List purchases) { + if (purchases != null && purchases.size() == 1) { + Purchase purchase = purchases.get(0); + mPurchaseToken = purchase.getPurchaseToken(); + mProductId = purchase.getSkus().get(0).toString(); + BraveVpnNativeWorker.getInstance().verifyPurchaseToken(mPurchaseToken, + mProductId, BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); + } else { + BraveVpnApiResponseUtils.queryPurchaseFailed(BraveActivity.this); + if (!mIsVerification) { + BraveVpnUtils.openBraveVpnPlansActivity(BraveActivity.this); + } + } } - } + }); } @Override diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index d009b1c12860..6dbfc1ee0f2b 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -17,11 +17,14 @@ import android.os.Looper; import android.util.Pair; +import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; +import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.Purchase; +import com.android.billingclient.api.PurchasesResponseListener; import com.wireguard.android.backend.GoBackend; import com.wireguard.crypto.KeyPair; @@ -365,31 +368,40 @@ public void run() { }; private void verifyPurchase(boolean isVerification) { - mBraveVpnPrefModel = new BraveVpnPrefModel(); - List purchases = InAppPurchaseWrapper.getInstance().queryPurchases(); - if (purchases != null && purchases.size() == 1) { - Purchase purchase = purchases.get(0); - mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(purchase.getSkus().get(0).toString()); - if (BraveVpnPrefUtils.isResetConfiguration()) { - BraveVpnUtils.dismissProgressDialog(); - BraveVpnUtils.openBraveVpnProfileActivity(getActivity()); - return; - } - if (!isVerification) { - BraveVpnNativeWorker.getInstance().getSubscriberCredential( - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, mBraveVpnPrefModel.getProductId(), - BraveVpnUtils.IAP_ANDROID_PARAM_TEXT, mBraveVpnPrefModel.getPurchaseToken(), - getActivity().getPackageName()); - } else { - BraveVpnNativeWorker.getInstance().verifyPurchaseToken( - mBraveVpnPrefModel.getPurchaseToken(), mBraveVpnPrefModel.getProductId(), - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getActivity().getPackageName()); + InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { + @Override + public void onQueryPurchasesResponse( + @NonNull BillingResult billingResult, @NonNull List purchases) { + mBraveVpnPrefModel = new BraveVpnPrefModel(); + if (purchases != null && purchases.size() == 1) { + Purchase purchase = purchases.get(0); + mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); + mBraveVpnPrefModel.setProductId(purchase.getSkus().get(0).toString()); + if (BraveVpnPrefUtils.isResetConfiguration()) { + BraveVpnUtils.dismissProgressDialog(); + BraveVpnUtils.openBraveVpnProfileActivity(getActivity()); + return; + } + if (!isVerification) { + BraveVpnNativeWorker.getInstance().getSubscriberCredential( + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, + mBraveVpnPrefModel.getProductId(), + BraveVpnUtils.IAP_ANDROID_PARAM_TEXT, + mBraveVpnPrefModel.getPurchaseToken(), + getActivity().getPackageName()); + } else { + BraveVpnNativeWorker.getInstance().verifyPurchaseToken( + mBraveVpnPrefModel.getPurchaseToken(), + mBraveVpnPrefModel.getProductId(), + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, + getActivity().getPackageName()); + } + } else { + BraveVpnApiResponseUtils.queryPurchaseFailed(getActivity()); + BraveVpnUtils.mIsServerLocationChanged = false; + } } - } else { - BraveVpnApiResponseUtils.queryPurchaseFailed(getActivity()); - BraveVpnUtils.mIsServerLocationChanged = false; - } + }); } @Override diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index f5f5262a049d..726feef12a7d 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -12,8 +12,11 @@ import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; +import androidx.annotation.NonNull; +import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.Purchase; +import com.android.billingclient.api.PurchasesResponseListener; import com.wireguard.android.backend.GoBackend; import com.wireguard.crypto.KeyPair; @@ -84,22 +87,28 @@ public void finishNativeInitialization() { } protected void verifySubscription() { - mBraveVpnPrefModel = new BraveVpnPrefModel(); - List purchases = InAppPurchaseWrapper.getInstance().queryPurchases(); - if (purchases != null && purchases.size() == 1) { - Purchase purchase = purchases.get(0); - mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(purchase.getSkus().get(0).toString()); - BraveVpnNativeWorker.getInstance().verifyPurchaseToken( - mBraveVpnPrefModel.getPurchaseToken(), mBraveVpnPrefModel.getProductId(), - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); - } else { - if (!mIsVerification) { - BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); - } else { - BraveVpnUtils.dismissProgressDialog(); + InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { + @Override + public void onQueryPurchasesResponse( + @NonNull BillingResult billingResult, @NonNull List purchases) { + mBraveVpnPrefModel = new BraveVpnPrefModel(); + if (purchases != null && purchases.size() == 1) { + Purchase purchase = purchases.get(0); + mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); + mBraveVpnPrefModel.setProductId(purchase.getSkus().get(0).toString()); + BraveVpnNativeWorker.getInstance().verifyPurchaseToken( + mBraveVpnPrefModel.getPurchaseToken(), + mBraveVpnPrefModel.getProductId(), + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); + } else { + if (!mIsVerification) { + BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); + } else { + BraveVpnUtils.dismissProgressDialog(); + } + } } - } + }); } @Override diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java index fe4e4f504d92..01eaebc072cb 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java @@ -11,11 +11,18 @@ import android.text.TextUtils; import android.util.Pair; +import androidx.annotation.NonNull; + +import com.android.billingclient.api.BillingResult; +import com.android.billingclient.api.Purchase; +import com.android.billingclient.api.PurchasesResponseListener; + import org.chromium.chrome.R; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import org.chromium.ui.widget.Toast; +import java.util.List; import java.util.TimeZone; public class BraveVpnApiResponseUtils { @@ -35,8 +42,13 @@ public static void queryPurchaseFailed(Activity activity) { public static void handleOnGetSubscriberCredential(Activity activity, boolean isSuccess) { if (isSuccess) { if (!BraveVpnNativeWorker.getInstance().isPurchasedUser()) { - InAppPurchaseWrapper.getInstance().processPurchases( - activity, InAppPurchaseWrapper.getInstance().queryPurchases()); + InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { + @Override + public void onQueryPurchasesResponse(@NonNull BillingResult billingResult, + @NonNull List purchases) { + InAppPurchaseWrapper.getInstance().processPurchases(activity, purchases); + } + }); } BraveVpnNativeWorker.getInstance().getTimezonesForRegions(); } else { diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java index 2dd074604104..8167ff7ebb29 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java @@ -21,6 +21,7 @@ import com.android.billingclient.api.BillingFlowParams; import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.Purchase; +import com.android.billingclient.api.PurchasesResponseListener; import com.android.billingclient.api.PurchasesUpdatedListener; import com.android.billingclient.api.SkuDetails; import com.android.billingclient.api.SkuDetailsParams; @@ -128,9 +129,8 @@ private void querySkuDetailsAsync(List skuList) { }); } - // TODO change this function to async function - public List queryPurchases() { - return mBillingClient.queryPurchases(SUBS).getPurchasesList(); + public void queryPurchases(PurchasesResponseListener purchasesResponseListener) { + mBillingClient.queryPurchasesAsync(SUBS, purchasesResponseListener); } public void purchase(Activity activity, SkuDetails skuDetails) { diff --git a/build/android/config.gni b/build/android/config.gni index 33556802d132..b3a9bd11226b 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -45,7 +45,6 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:com_android_installreferrer_java", "//brave/third_party/android_deps:com_brave_playlist_java", "//brave/third_party/android_deps:com_github_bumptech_glide_java", - "//brave/third_party/android_deps:com_google_android_datatransport_transport_api_java", "//brave/third_party/android_deps:com_google_android_datatransport_transport_backend_cct_java", "//brave/third_party/android_deps:com_google_android_datatransport_transport_runtime_java", "//brave/third_party/android_deps:com_google_android_exoplayer_exoplayer_common_java", @@ -58,7 +57,6 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:com_google_android_exoplayer_extension_cast_java", "//brave/third_party/android_deps:com_google_android_exoplayer_extension_mediasession_java", "//brave/third_party/android_deps:com_google_android_play_integrity_java", - "//brave/third_party/android_deps:com_google_firebase_firebase_encoders_java", "//brave/third_party/android_deps:com_google_firebase_firebase_encoders_proto_java", "//brave/third_party/android_deps:com_wireguard_android_J__unpack_aar", "//brave/third_party/android_deps:com_wireguard_android_java", @@ -66,6 +64,9 @@ brave_chrome_java_deps = [ "//brave/third_party/zxing:zxing_java", "//third_party/android_deps:com_android_support_support_annotations_java", "//third_party/android_deps:com_google_code_gson_gson_java", + "//third_party/android_deps:google_android_datatransport_transport_api_java", + "//third_party/android_deps:google_firebase_firebase_encoders_java", + "//third_party/android_deps:google_firebase_firebase_encoders_json_java", "//third_party/android_deps:google_play_services_vision_common_java", "//third_party/android_deps:google_play_services_vision_java", "//third_party/android_deps:javax_inject_javax_inject_java", diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn index 0423395ef154..0be6965108af 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn @@ -7,7 +7,6 @@ group("android_deps") { ":com_android_installreferrer_java", ":com_brave_playlist_java", ":com_github_bumptech_glide_java", - ":com_google_android_datatransport_transport_api_java", ":com_google_android_datatransport_transport_backend_cct_java", ":com_google_android_datatransport_transport_runtime_java", ":com_google_android_exoplayer_exoplayer_common_java", @@ -20,7 +19,6 @@ group("android_deps") { ":com_google_android_exoplayer_extension_cast_java", ":com_google_android_exoplayer_extension_mediasession_java", ":com_google_android_play_integrity_java", - ":com_google_firebase_firebase_encoders_java", ":com_google_firebase_firebase_encoders_proto_java", ":com_wireguard_android_java", ":google_play_services_safetynet_java", @@ -50,57 +48,38 @@ android_aar_prebuilt("com_android_billingclient_java") { info_path = "libs/com_android_billingclient/com_android_billingclient.info" ignore_manifest = true deps = [ - ":com_google_android_datatransport_transport_api_java", ":com_google_android_datatransport_transport_backend_cct_java", ":com_google_android_datatransport_transport_runtime_java", + "//third_party/android_deps:google_android_datatransport_transport_api_java", ] } -android_aar_prebuilt("com_google_android_datatransport_transport_api_java") { - aar_path = "libs/com_google_android_datatransport_transport_api/transport-api-3.0.0.aar" - info_path = "libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info" - deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] -} - android_aar_prebuilt( - "com_google_android_datatransport_transport_runtime_java") { - aar_path = "libs/com_google_android_datatransport_transport_runtime/transport-runtime-3.1.9.aar" - info_path = "libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info" + "com_google_android_datatransport_transport_backend_cct_java") { + aar_path = "libs/com_google_android_datatransport_transport_backend_cct/transport-backend-cct-3.1.9.aar" + info_path = "libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info" deps = [ - ":com_google_android_datatransport_transport_api_java", - ":com_google_firebase_firebase_encoders_java", - ":com_google_firebase_firebase_encoders_proto_java", - "//third_party/android_deps:javax_inject_javax_inject_java", + ":com_google_android_datatransport_transport_runtime_java", + "//third_party/android_deps:google_android_datatransport_transport_api_java", + "//third_party/android_deps:google_firebase_firebase_encoders_java", + "//third_party/android_deps:google_firebase_firebase_encoders_json_java", "//third_party/androidx:androidx_annotation_annotation_java", ] } android_aar_prebuilt( - "com_google_android_datatransport_transport_backend_cct_java") { - aar_path = "libs/com_google_android_datatransport_transport_backend_cct/transport-backend-cct-3.1.9.aar" - info_path = "libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info" + "com_google_android_datatransport_transport_runtime_java") { + aar_path = "libs/com_google_android_datatransport_transport_runtime/transport-runtime-3.1.9.aar" + info_path = "libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info" deps = [ - ":com_google_android_datatransport_transport_api_java", - ":com_google_android_datatransport_transport_runtime_java", - ":com_google_firebase_firebase_encoders_java", ":com_google_firebase_firebase_encoders_proto_java", + "//third_party/android_deps:google_android_datatransport_transport_api_java", + "//third_party/android_deps:google_firebase_firebase_encoders_java", + "//third_party/android_deps:javax_inject_javax_inject_java", "//third_party/androidx:androidx_annotation_annotation_java", ] } -java_prebuilt("com_google_firebase_firebase_encoders_java") { - jar_path = - "libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar" - output_name = "com_google_firebase_firebase_encoders" - supports_android = true - enable_bytecode_checks = false - - deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] - - # https://crbug.com/1412551 - requires_android = true -} - java_prebuilt("com_google_firebase_firebase_encoders_proto_java") { jar_path = "libs/com_google_firebase_firebase_encoders_proto/firebase-encoders-proto-16.0.0.jar" output_name = "com_google_firebase_firebase_encoders_proto" @@ -108,7 +87,7 @@ java_prebuilt("com_google_firebase_firebase_encoders_proto_java") { enable_bytecode_checks = false deps = [ - ":com_google_firebase_firebase_encoders_java", + "//third_party/android_deps:google_firebase_firebase_encoders_java", "//third_party/androidx:androidx_annotation_annotation_java", ] diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_api/README.chromium b/third_party/android_deps/libs/com_google_android_datatransport_transport_api/README.chromium deleted file mode 100644 index b7eee1baf3a2..000000000000 --- a/third_party/android_deps/libs/com_google_android_datatransport_transport_api/README.chromium +++ /dev/null @@ -1,4 +0,0 @@ -Name: transport-api -URL: https://maven.google.com/web/index.html?q=transport#com.google.android.datatransport:transport-api -License: LicenseRef-AndroidSDK -License File: /brave/common/licenses/AndroidSDK diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info b/third_party/android_deps/libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info deleted file mode 100644 index ab7df3caec43..000000000000 --- a/third_party/android_deps/libs/com_google_android_datatransport_transport_api/com_google_android_datatransport_transport_api.info +++ /dev/null @@ -1,14 +0,0 @@ -# Generated by //build/android/gyp/aar.py -# To regenerate, use "update_android_aar_prebuilts = true" and run "gn gen". - -aidl = [] -assets = [] -has_classes_jar = true -has_native_libraries = false -has_proguard_flags = true -has_r_text_file = false -is_manifest_empty = true -manifest_package = "com.google.android.datatransport" -resources = [] -subjar_tuples = [] -subjars = [] diff --git a/third_party/android_deps/libs/com_google_android_datatransport_transport_api/transport-api-3.0.0.aar b/third_party/android_deps/libs/com_google_android_datatransport_transport_api/transport-api-3.0.0.aar deleted file mode 100644 index ac1340f615e74bfcdba7db323cdd792bed383779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4898 zcmaKwbx@p3m&ONof;+(p9^5mydytU9Ex5Z47Tg915ZrBWcL)TBV8I501qlubZeii> z-u=Ft+HcQWr>nZ(=Q&kc-(^Z|APrJ(WN$Y<*4iOf~!+Ri{VbfEHshFML;I08H;X71d?( z=gnUb`lxTP`pL5>3eThw6!_yDvc9TV$i)6meH0U`g;KKATT$%(3kf)@xVNu6_>w*F z{LR7V)VwK;S@oZE@>{u0@>%ag^(W0m3ri_c(aNB1%q_~eWa}Qw4PB{XZazmMWtAIR zePzmDnY-U3csiEBgi0Jka;?d7JX!oKqH;xN7mNwnQ=IG0Kn#vrVk3B!NFm*}CPRsb zxGjvm%&Unpi2}KpC%x3mLbK>LF-{FZT)N5aVdNC)7QMoBO^v?mhiO1>S2SwRRzxC3 z90ts;Foh2>;W}zl+k-dG2x{w}rAQp}E#UW2bSpM)t?(<&g#AM}!C^TXeqzYET-DxV4?kJ-!X(+g{SJtG!vpf^o`_iBT42lxh3)j%W9%6G4|lW?5uR66a|mk zqTeXq<`JgS%Iyc5vK_L|k~7qi?i0VW)+THQKdhAGBI+L_yv8{@UO?T+D>{mti^1)E z*=GL0IwDxhsSm1*G2;x6Gth0zf<|jD02yJwDJ($}BaP)tDqmSJKJzU8Y9g|j+nS40 zBPAk^wDM2fV_5J&*K=9!U=CgN;a`%P*l)sfAyHaAdOEZNWD=$fDOzy8^*mhLUM~`;!H{0uHn%ouNFsI{p%4ovSG;{68qKk2?}-$ZzuW2< zw&}#17*;10n0dL<(VBC4)PDI*B(r<_oDV;s;q0XY7VN?Sv`2qJJshEFx|V(9AUi}b3XJVPCgRNB{8eTL)b>)!&xXBv^KKOc~0_p+Wndde~!I8|TCVztq{OK_rcIrsWylk`_r+t6^R zerA$@08i))<*V%0j79mN{*ILSqaCDIVhO|MKXq9$dR!>7_^dn8^80@-#C~y0?>Du5 z`xRqAxLLZ5@^H5%OA`r!aAJZOtEx3vdU(@@cDZ+Q&&y$W?uN6K%vKW}CQXwwQUSXr zDX@#bAGwSB^G&-`?FK9t8RKso^;IV->efY+7x>Mq4kGNqQ|X?W@lMW&xbJZidhHOb zLcQe_@>LsNxxxF}F)ngQ&)@dYxf9ls&)lU&)VIp&)6BRahQ zc<0|w^A_{mUwK4IbfdsQqMWE(Wrwd|R#L*I2*C}qxQjz?Rlo$|k|*x3DD8>%DSaco z3rAB<4`Qp7YtU7Fd7igy6L+TGE!2&W?j^4F?G`!4kDD^VTD(|-GyxApc9Sjpi4l4l zd_~F)#M8rbs9nV0;aW=Hk=wi$uOQ$5P8^aYITy&)^P#cY^nH<#YSubDD$yi;Y|N{b6MU!vSlOn(wV=Q9xl*IZKggb9dd_; z400$v;0k}%ND~eSyT0oybv$#rn!MRDk#jy}h_DZK;fpeEP`Te3=9LLIV)Fn>H-d z;)_-*8gWgI#IA{BxNJ+Ye-n9q4ZE7@lk__psJwDxK;$>5>~+@2(vO)?T?Of8=V+87 zj9-r&^i5MtiqIMvTW`M$MpOQxGU2py0S<|`xEts@C&jqo`}VtQ(&k~MXSI(1Vuz}( zDg*aAqx5b5icN&DY$vw*jsVkH2Eh$06F_kLyrIf|XP{O9yOt_$C7dp-AJ>DXpn7eM z@RsGqJp~N7&n+^F2P0ss)viW>TfPH*fjbeaL?)#&Y7vlgb!BVzYg#c$N!T$ZB6Aaj zpKIT#s3#0~|116hO7q=uEVgId9N=cG%x{||eWlT34v~5On&!beEsRjOKr&c@uw=U; z?W_B=P}+F8ZtPcdgSCB`P}wVC^kc-^A;6eO`b$+KBI`Z|Ih=LSNrDa5oJE&&pU~>i zI}(-j-2tq;MQoB4Q4$AE&$r3b8sE@-VfD4n#KZ7X0fU%66PY%8=+u?uq=5{fFuL-( z=cmTQi@GENkcKO900c@GNH^10spK#X*VG<2BP)m8j3BQ20s-~yay!jK7;SU&HLO-O zXwsx8EAX;&=4i)A(!)mPWt$oV^BJP_OKh)?vxI})MBw~>H?)#rRtkwj{KS-XcEssZ z)MqAM(FG?sGL9OyiN^6XO2uD4rO-4e27_S7e$s{_MXDG@WVy=)-+}zS1Y1}Uy$M&; zeJAIrq6YO87h;UpJhICx;qaQ2IJo4$QBfCA&hi1AVYtW7s8gueWKKgE{T*t@@My() zLTL@dg$$MIB4+qyYRZe*+9IXnWPGD`lx|38y{KwTKN;h3=oN}GMQXjg^Ai*G#RU6I z(vH+7G7VDyV%8*}DpVi2Yex(q`OpfPSN@H)4uW&|q|Db7JJ@^72A-gKo!NY1%X#fx zJEH+0W_;$#L)dN_ym;|K3q_qA6{Wd!#aMkpoT!E0e6_`Sbf7U~=60-op!Yobg=uon z#*5~SpQnMwcZcqTq7*DqN&2`4gHV^&XX|DWs^!LfW0gF2t~x}x8?aAtEa=oCDFZjq z3O!N#JZrV;{bD=|b}%pl`a#Usm+X?BEV?gi+HD@ge$Guu`9PzG58CAX!{#-8T)P8| z=nbiXUB%G24ZH<*@=_8fr;#{4(B&*i$u-(=D8&dqPP}iWER% z&0~seLu0GmH-^-KN+L7A5-k2YZaC8v5{R*tz-gMy*LXsXi*BahlPHaPs-7_s2p5AZ zDDH*0&!D~rA@GsR-fB|A5u(CP9Rt=VIBUt9ysw6cBhrHgaSIuuMMYim`%Vkj&NGKu zIi^`nXV%`Pv| z+2Bb_w}^s5TEYW-2yN7z>r*Yym}iFO!J)l=u{8V3-9MZJH>|Ss(?1$yDgdTCUmFM# z9YI)G6OQ(>zv0R!zd8WAI$+>isy8WB8A(5>@}wMg4$RLT1L$5PU75IU+l_B zKfvFU?k_6WD#RaTi*nBFYvOoegmV zo+mWOWKYBrsN=yxoTtgT9&lWc&3@OUMVFcwo#8{TGyP<@O|k-7Hc_+^d{6wrG^U#` zLQaq~QHH0oF9tUQT1Gdx?}+7^H%zhT!_-iN(qcGPTB)^wG^;MU7eK}>squ&@4gY-2 z7s5egQ)o8<@!6NScDAs~h&{YfzIdjOSCgpKVO=H?bqXDO)*<5tI0I(f0*2f@soFl} z-762Xj&0N|0S4OP#4YY38Qldx?6Fy?lUR6E%copgdDlkEUKu6}F~Uaypcv7Z?OK5u!~Gelp)J%?86Uj$U$--0nG zetCX6uX7!3+QH&RvVeyFfZ-&kKc9!u`!ekJK5Oxx9>RXFxg=k;U!Kv?Wm|Q9^s2hh zwwGS4sOT#z=$CsBuR&I(+NeV}v#P)MAf{_{8?m{k+37+omOp>JX?K&kU(BG4Mfdbo zu;cHuS+SmwpO^aD1D-NUM0MUGuhDt{7B+xia=#ojzK3ILxcJ(YZWFYjoiM<8$rYdL z8>-nL`8Q54tS-?gtmv&lD@GvcRNfXY9W3k7%vUt^nDv|L@2wk$baV)w-QU32{K|?S zDvzd&y3Q*Xa-OTz+Y)ByS}gtKqUbfA{V|?pbQ1Mdt*99sg{ER71Aj=E*5+LOvCid+0%`KetLFRDV5K6x@+_=7lRb4D#)eYzmi0!Mq-SUVyf zZ2`Ff;xhR`I|4dfZ!33}xl2e+e^e`EzdIfem|zEkujyRO(BlH;8c%B;nDfTyG@Em} znHF}JR%udqsmiNwV(YS6?kT0xuFAj6b~@K+HqB#?e0Z2MbZ6*M{f2!$+PC_ui)ziW z#Bs2};${VZmQG*9UBrr6GvG(7zZ8iGe)}pbPwVRanc?L47jQ>(j%VRfcGk1oyGAk( zQl|};d!p!{u2u3=4{-m4Ms)g_48BKL)PGFO$8>UWv~)LdF@FNguPVb6tjua`BbxH# z6SGPa6KWF*vr262!}F|4W6UbEu87>9#o0IvOtqnc$?vuc3yGZJ{$Nt%n!M#FU`2RL z(#LeOvUV{yax!so^ER@xHnVW}3s7Ah9m=b=;Q#PG%KsO7N&b`fe>fNpo&e!Lzsx*U zdJ6lXr}6)Ir%_k>XMrc#zw`Ff{3+~%Y#*2ZqVGQ~f717V8=fqXN6Wvl_@BlOado+5X<_Q=k71`yk{0ROYek>Pkq+PfFy+&kYU$`1q&= G0R9Wax4E$Z diff --git a/third_party/android_deps/libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar b/third_party/android_deps/libs/com_google_firebase_firebase_encoders/firebase-encoders-17.0.0.jar deleted file mode 100644 index 1849ad8e156562361c718568aed3d9407284e353..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17847 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 Cd8rlv diff --git a/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/README.chromium b/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/README.chromium new file mode 100644 index 000000000000..adc4f99c14eb --- /dev/null +++ b/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/README.chromium @@ -0,0 +1,4 @@ +Name: integrity +URL: https://maven.google.com/web/index.html?q=integrity#com.google.android.play:integrity +License: LicenseRef-AndroidSDK +License File: /brave/common/licenses/AndroidSDK From ee6c28f5311f0f6a9a036d8bf9db3c7c99fc2a5b Mon Sep 17 00:00:00 2001 From: deeppandya Date: Thu, 17 Aug 2023 21:01:58 -0400 Subject: [PATCH 04/17] Update dependencies --- .../chromium/chrome/browser/app/BraveActivity.java | 2 +- .../browser/settings/BraveVpnPreferences.java | 2 +- .../vpn/activities/BraveVpnParentActivity.java | 5 ++++- build/android/config.gni | 5 ++--- third_party/android_deps/BUILD.gn | 13 ++++++------- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 09e63894b918..0063d8e57922 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -643,7 +643,7 @@ public void onQueryPurchasesResponse( if (purchases != null && purchases.size() == 1) { Purchase purchase = purchases.get(0); mPurchaseToken = purchase.getPurchaseToken(); - mProductId = purchase.getSkus().get(0).toString(); + mProductId = purchase.getProducts().get(0).toString(); BraveVpnNativeWorker.getInstance().verifyPurchaseToken(mPurchaseToken, mProductId, BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); } else { diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index 6dbfc1ee0f2b..2fb06e858191 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -376,7 +376,7 @@ public void onQueryPurchasesResponse( if (purchases != null && purchases.size() == 1) { Purchase purchase = purchases.get(0); mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(purchase.getSkus().get(0).toString()); + mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); if (BraveVpnPrefUtils.isResetConfiguration()) { BraveVpnUtils.dismissProgressDialog(); BraveVpnUtils.openBraveVpnProfileActivity(getActivity()); diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 726feef12a7d..06ff1499a814 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -91,11 +91,14 @@ protected void verifySubscription() { @Override public void onQueryPurchasesResponse( @NonNull BillingResult billingResult, @NonNull List purchases) { + Log.e("BraveVPN", "Size : " + purchases.size()); mBraveVpnPrefModel = new BraveVpnPrefModel(); if (purchases != null && purchases.size() == 1) { + Log.e("BraveVPN", "onQueryPurchasesResponse : 1"); Purchase purchase = purchases.get(0); + Log.e("BraveVPN", purchase.toString()); mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(purchase.getSkus().get(0).toString()); + mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); BraveVpnNativeWorker.getInstance().verifyPurchaseToken( mBraveVpnPrefModel.getPurchaseToken(), mBraveVpnPrefModel.getProductId(), diff --git a/build/android/config.gni b/build/android/config.gni index b3a9bd11226b..b06338b489d7 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -63,10 +63,9 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:google_play_services_safetynet_java", "//brave/third_party/zxing:zxing_java", "//third_party/android_deps:com_android_support_support_annotations_java", + "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", "//third_party/android_deps:com_google_code_gson_gson_java", - "//third_party/android_deps:google_android_datatransport_transport_api_java", - "//third_party/android_deps:google_firebase_firebase_encoders_java", - "//third_party/android_deps:google_firebase_firebase_encoders_json_java", + "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/android_deps:google_play_services_vision_common_java", "//third_party/android_deps:google_play_services_vision_java", "//third_party/android_deps:javax_inject_javax_inject_java", diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn index 0be6965108af..28c22209ac9e 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn @@ -50,7 +50,7 @@ android_aar_prebuilt("com_android_billingclient_java") { deps = [ ":com_google_android_datatransport_transport_backend_cct_java", ":com_google_android_datatransport_transport_runtime_java", - "//third_party/android_deps:google_android_datatransport_transport_api_java", + "//third_party/android_deps:google_firebase_firebase_messaging_java", ] } @@ -60,9 +60,8 @@ android_aar_prebuilt( info_path = "libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info" deps = [ ":com_google_android_datatransport_transport_runtime_java", - "//third_party/android_deps:google_android_datatransport_transport_api_java", - "//third_party/android_deps:google_firebase_firebase_encoders_java", - "//third_party/android_deps:google_firebase_firebase_encoders_json_java", + "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", + "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/androidx:androidx_annotation_annotation_java", ] } @@ -73,8 +72,8 @@ android_aar_prebuilt( info_path = "libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info" deps = [ ":com_google_firebase_firebase_encoders_proto_java", - "//third_party/android_deps:google_android_datatransport_transport_api_java", - "//third_party/android_deps:google_firebase_firebase_encoders_java", + "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", + "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/android_deps:javax_inject_javax_inject_java", "//third_party/androidx:androidx_annotation_annotation_java", ] @@ -87,7 +86,7 @@ java_prebuilt("com_google_firebase_firebase_encoders_proto_java") { enable_bytecode_checks = false deps = [ - "//third_party/android_deps:google_firebase_firebase_encoders_java", + "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/androidx:androidx_annotation_annotation_java", ] From f385e338185deee448d9dcb49a1e6a40e4a3ca7c Mon Sep 17 00:00:00 2001 From: deeppandya Date: Sun, 20 Aug 2023 22:54:32 -0400 Subject: [PATCH 05/17] Add livedata fro query purchases --- .../activities/BraveVpnParentActivity.java | 74 +++++++++++++------ .../vpn/utils/InAppPurchaseWrapper.java | 25 ++++++- 2 files changed, 76 insertions(+), 23 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 06ff1499a814..6e7dafddc186 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -24,8 +24,13 @@ import org.chromium.base.supplier.OneshotSupplier; import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.chrome.R; -import org.chromium.chrome.browser.init.AsyncInitializationActivity; import org.chromium.chrome.browser.profiles.Profile; + +import org.chromium.base.task.PostTask; +import org.chromium.base.task.TaskTraits; +import org.chromium.chrome.browser.init.AsyncInitializationActivity; +import org.chromium.chrome.browser.util.LiveDataUtil; + import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.BraveVpnObserver; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; @@ -87,28 +92,53 @@ public void finishNativeInitialization() { } protected void verifySubscription() { - InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { - @Override - public void onQueryPurchasesResponse( - @NonNull BillingResult billingResult, @NonNull List purchases) { - Log.e("BraveVPN", "Size : " + purchases.size()); - mBraveVpnPrefModel = new BraveVpnPrefModel(); - if (purchases != null && purchases.size() == 1) { - Log.e("BraveVPN", "onQueryPurchasesResponse : 1"); - Purchase purchase = purchases.get(0); - Log.e("BraveVPN", purchase.toString()); - mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); - BraveVpnNativeWorker.getInstance().verifyPurchaseToken( - mBraveVpnPrefModel.getPurchaseToken(), - mBraveVpnPrefModel.getProductId(), - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); + // InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { + // @Override + // public void onQueryPurchasesResponse( + // @NonNull BillingResult billingResult, @NonNull List purchases) { + // PostTask.postTask( + // TaskTraits.BEST_EFFORT_MAY_BLOCK, () -> { + // Log.e("BraveVPN", "Size : " + purchases.size()); + // mBraveVpnPrefModel = new BraveVpnPrefModel(); + // if (purchases != null && purchases.size() == 1) { + // Log.e("BraveVPN", "onQueryPurchasesResponse : 1"); + // Purchase purchase = purchases.get(0); + // Log.e("BraveVPN", purchase.toString()); + // mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); + // mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); + // BraveVpnNativeWorker.getInstance().verifyPurchaseToken( + // mBraveVpnPrefModel.getPurchaseToken(), + // mBraveVpnPrefModel.getProductId(), + // BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); + // } else { + // if (!mIsVerification) { + // BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); + // } else { + // BraveVpnUtils.dismissProgressDialog(); + // } + // } + // }); + // } + // }); + + InAppPurchaseWrapper.getInstance().queryPurchases(); + LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { + Log.e("BraveVPN", "Size : " + purchases.size()); + mBraveVpnPrefModel = new BraveVpnPrefModel(); + if (purchases != null && purchases.size() == 1) { + Log.e("BraveVPN", "onQueryPurchasesResponse : 1"); + Purchase purchase = purchases.get(0); + Log.e("BraveVPN", purchase.toString()); + mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); + mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); + BraveVpnNativeWorker.getInstance().verifyPurchaseToken( + mBraveVpnPrefModel.getPurchaseToken(), mBraveVpnPrefModel.getProductId(), + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); + } else { + if (!mIsVerification) { + BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); } else { - if (!mIsVerification) { - BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); - } else { - BraveVpnUtils.dismissProgressDialog(); - } + BraveVpnUtils.dismissProgressDialog(); } } }); diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java index 8167ff7ebb29..887817222c24 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java @@ -14,6 +14,8 @@ import android.content.Context; import androidx.annotation.NonNull; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import com.android.billingclient.api.AcknowledgePurchaseParams; import com.android.billingclient.api.BillingClient; @@ -23,6 +25,7 @@ import com.android.billingclient.api.Purchase; import com.android.billingclient.api.PurchasesResponseListener; import com.android.billingclient.api.PurchasesUpdatedListener; +import com.android.billingclient.api.QueryPurchasesParams; import com.android.billingclient.api.SkuDetails; import com.android.billingclient.api.SkuDetailsParams; @@ -62,6 +65,16 @@ public SkuDetails getSkuDetails(String sku) { private static volatile InAppPurchaseWrapper sInAppPurchaseWrapper; private static Object mutex = new Object(); + private MutableLiveData> mutablePurchases = new MutableLiveData(); + private LiveData> purchases = mutablePurchases; + private void setPurchases(List purchases) { + mutablePurchases.postValue(purchases); + } + + public LiveData> getPurchases() { + return purchases; + } + private InAppPurchaseWrapper() {} public static InAppPurchaseWrapper getInstance() { @@ -130,7 +143,17 @@ private void querySkuDetailsAsync(List skuList) { } public void queryPurchases(PurchasesResponseListener purchasesResponseListener) { - mBillingClient.queryPurchasesAsync(SUBS, purchasesResponseListener); + mBillingClient.queryPurchasesAsync(QueryPurchasesParams.newBuilder() + .setProductType(BillingClient.ProductType.SUBS) + .build(), + purchasesResponseListener); + } + + public void queryPurchases() { + mBillingClient.queryPurchasesAsync(QueryPurchasesParams.newBuilder() + .setProductType(BillingClient.ProductType.SUBS) + .build(), + (billingResult, list) -> { setPurchases(list); }); } public void purchase(Activity activity, SkuDetails skuDetails) { From 3d7a74290d2b55df7274d75d7ce3baffb8c38b39 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Mon, 21 Aug 2023 01:17:09 -0400 Subject: [PATCH 06/17] Update existing code with livedata --- .../chrome/browser/app/BraveActivity.java | 28 +++++----- .../browser/settings/BraveVpnPreferences.java | 55 +++++++++---------- .../activities/BraveVpnParentActivity.java | 29 ---------- .../vpn/utils/BraveVpnApiResponseUtils.java | 14 ++--- 4 files changed, 45 insertions(+), 81 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 0063d8e57922..051a7babc131 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -166,6 +166,7 @@ import org.chromium.chrome.browser.util.BraveConstants; import org.chromium.chrome.browser.util.BraveDbUtil; import org.chromium.chrome.browser.util.ConfigurationUtils; +import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.util.PackageUtils; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.BraveVpnObserver; @@ -636,21 +637,18 @@ private void updateWalletBadgeVisibility() { } private void verifySubscription() { - InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { - @Override - public void onQueryPurchasesResponse( - @NonNull BillingResult billingResult, @NonNull List purchases) { - if (purchases != null && purchases.size() == 1) { - Purchase purchase = purchases.get(0); - mPurchaseToken = purchase.getPurchaseToken(); - mProductId = purchase.getProducts().get(0).toString(); - BraveVpnNativeWorker.getInstance().verifyPurchaseToken(mPurchaseToken, - mProductId, BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); - } else { - BraveVpnApiResponseUtils.queryPurchaseFailed(BraveActivity.this); - if (!mIsVerification) { - BraveVpnUtils.openBraveVpnPlansActivity(BraveActivity.this); - } + InAppPurchaseWrapper.getInstance().queryPurchases(); + LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { + if (purchases != null && purchases.size() == 1) { + Purchase purchase = purchases.get(0); + mPurchaseToken = purchase.getPurchaseToken(); + mProductId = purchase.getProducts().get(0).toString(); + BraveVpnNativeWorker.getInstance().verifyPurchaseToken(mPurchaseToken, mProductId, + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); + } else { + BraveVpnApiResponseUtils.queryPurchaseFailed(BraveActivity.this); + if (!mIsVerification) { + BraveVpnUtils.openBraveVpnPlansActivity(BraveActivity.this); } } }); diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index 2fb06e858191..2e2833667fb4 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -36,6 +36,7 @@ import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.customtabs.CustomTabActivity; import org.chromium.chrome.browser.flags.ChromeFeatureList; +import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.BraveVpnObserver; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; @@ -368,38 +369,32 @@ public void run() { }; private void verifyPurchase(boolean isVerification) { - InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { - @Override - public void onQueryPurchasesResponse( - @NonNull BillingResult billingResult, @NonNull List purchases) { - mBraveVpnPrefModel = new BraveVpnPrefModel(); - if (purchases != null && purchases.size() == 1) { - Purchase purchase = purchases.get(0); - mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); - if (BraveVpnPrefUtils.isResetConfiguration()) { - BraveVpnUtils.dismissProgressDialog(); - BraveVpnUtils.openBraveVpnProfileActivity(getActivity()); - return; - } - if (!isVerification) { - BraveVpnNativeWorker.getInstance().getSubscriberCredential( - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, - mBraveVpnPrefModel.getProductId(), - BraveVpnUtils.IAP_ANDROID_PARAM_TEXT, - mBraveVpnPrefModel.getPurchaseToken(), - getActivity().getPackageName()); - } else { - BraveVpnNativeWorker.getInstance().verifyPurchaseToken( - mBraveVpnPrefModel.getPurchaseToken(), - mBraveVpnPrefModel.getProductId(), - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, - getActivity().getPackageName()); - } + InAppPurchaseWrapper.getInstance().queryPurchases(); + LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { + mBraveVpnPrefModel = new BraveVpnPrefModel(); + if (purchases != null && purchases.size() == 1) { + Purchase purchase = purchases.get(0); + mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); + mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); + if (BraveVpnPrefUtils.isResetConfiguration()) { + BraveVpnUtils.dismissProgressDialog(); + BraveVpnUtils.openBraveVpnProfileActivity(getActivity()); + return; + } + if (!isVerification) { + BraveVpnNativeWorker.getInstance().getSubscriberCredential( + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, + mBraveVpnPrefModel.getProductId(), BraveVpnUtils.IAP_ANDROID_PARAM_TEXT, + mBraveVpnPrefModel.getPurchaseToken(), getActivity().getPackageName()); } else { - BraveVpnApiResponseUtils.queryPurchaseFailed(getActivity()); - BraveVpnUtils.mIsServerLocationChanged = false; + BraveVpnNativeWorker.getInstance().verifyPurchaseToken( + mBraveVpnPrefModel.getPurchaseToken(), + mBraveVpnPrefModel.getProductId(), + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getActivity().getPackageName()); } + } else { + BraveVpnApiResponseUtils.queryPurchaseFailed(getActivity()); + BraveVpnUtils.mIsServerLocationChanged = false; } }); } diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 6e7dafddc186..23b32ab8b700 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -92,35 +92,6 @@ public void finishNativeInitialization() { } protected void verifySubscription() { - // InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { - // @Override - // public void onQueryPurchasesResponse( - // @NonNull BillingResult billingResult, @NonNull List purchases) { - // PostTask.postTask( - // TaskTraits.BEST_EFFORT_MAY_BLOCK, () -> { - // Log.e("BraveVPN", "Size : " + purchases.size()); - // mBraveVpnPrefModel = new BraveVpnPrefModel(); - // if (purchases != null && purchases.size() == 1) { - // Log.e("BraveVPN", "onQueryPurchasesResponse : 1"); - // Purchase purchase = purchases.get(0); - // Log.e("BraveVPN", purchase.toString()); - // mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - // mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); - // BraveVpnNativeWorker.getInstance().verifyPurchaseToken( - // mBraveVpnPrefModel.getPurchaseToken(), - // mBraveVpnPrefModel.getProductId(), - // BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); - // } else { - // if (!mIsVerification) { - // BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); - // } else { - // BraveVpnUtils.dismissProgressDialog(); - // } - // } - // }); - // } - // }); - InAppPurchaseWrapper.getInstance().queryPurchases(); LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { Log.e("BraveVPN", "Size : " + purchases.size()); diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java index 01eaebc072cb..48ef4abb2a95 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java @@ -18,6 +18,7 @@ import com.android.billingclient.api.PurchasesResponseListener; import org.chromium.chrome.R; +import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import org.chromium.ui.widget.Toast; @@ -42,13 +43,12 @@ public static void queryPurchaseFailed(Activity activity) { public static void handleOnGetSubscriberCredential(Activity activity, boolean isSuccess) { if (isSuccess) { if (!BraveVpnNativeWorker.getInstance().isPurchasedUser()) { - InAppPurchaseWrapper.getInstance().queryPurchases(new PurchasesResponseListener() { - @Override - public void onQueryPurchasesResponse(@NonNull BillingResult billingResult, - @NonNull List purchases) { - InAppPurchaseWrapper.getInstance().processPurchases(activity, purchases); - } - }); + InAppPurchaseWrapper.getInstance().queryPurchases(); + LiveDataUtil.observeOnce( + InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { + InAppPurchaseWrapper.getInstance().processPurchases( + activity, purchases); + }); } BraveVpnNativeWorker.getInstance().getTimezonesForRegions(); } else { From bb52ae1f409c31043cd158d2b5407634cb1b4a64 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Mon, 21 Aug 2023 15:07:46 -0400 Subject: [PATCH 07/17] Update sku details with product details --- .../vpn/activities/BraveVpnPlansActivity.java | 165 +++++++++++++----- .../vpn/utils/InAppPurchaseWrapper.java | 90 ++++++---- build/android/config.gni | 1 - third_party/android_deps/BUILD.gn | 2 - 4 files changed, 172 insertions(+), 86 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java index e8f0477dbbf4..2f41f262343d 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java @@ -20,6 +20,7 @@ import androidx.appcompat.widget.Toolbar; import androidx.viewpager.widget.ViewPager; +import com.android.billingclient.api.ProductDetails; import com.android.billingclient.api.SkuDetails; import com.google.android.material.tabs.TabLayout; @@ -32,6 +33,8 @@ import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import org.chromium.ui.widget.Toast; +import java.util.Map; + public class BraveVpnPlansActivity extends BraveVpnParentActivity { private BraveFirstRunFlowSequencer mFirstRunFlowSequencer; private ProgressBar mPlanProgress; @@ -79,64 +82,130 @@ private void initializeViews() { removedValueText.setPaintFlags( removedValueText.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); - SkuDetails monthlySkuDetails = InAppPurchaseWrapper.getInstance().getSkuDetails( - getPackageName().equals(BraveConstants.BRAVE_PRODUCTION_PACKAGE_NAME) - ? InAppPurchaseWrapper.RELEASE_MONTHLY_SUBSCRIPTION - : InAppPurchaseWrapper.NIGHTLY_MONTHLY_SUBSCRIPTION); - - SkuDetails yearlySkuDetails = InAppPurchaseWrapper.getInstance().getSkuDetails( - getPackageName().equals(BraveConstants.BRAVE_PRODUCTION_PACKAGE_NAME) - ? InAppPurchaseWrapper.RELEASE_YEARLY_SUBSCRIPTION - : InAppPurchaseWrapper.NIGHTLY_YEARLY_SUBSCRIPTION); TextView monthlySubscriptionText = findViewById(R.id.monthly_subscription_text); monthlySubscriptionText.setText( String.format(getResources().getString(R.string.monthly_subscription), "")); + TextView monthlySubscriptionAmountText = + findViewById(R.id.monthly_subscription_amount_text); + mMonthlySelectorLayout = findViewById(R.id.monthly_selector_layout); - if (monthlySkuDetails != null && yearlySkuDetails != null) { - mMonthlySelectorLayout = findViewById(R.id.monthly_selector_layout); - mMonthlySelectorLayout.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - InAppPurchaseWrapper.getInstance().purchase( - BraveVpnPlansActivity.this, monthlySkuDetails); - } - }); - - TextView monthlySubscriptionAmountText = - findViewById(R.id.monthly_subscription_amount_text); - monthlySubscriptionAmountText.setText( - String.format(getResources().getString(R.string.monthly_subscription_amount), - monthlySkuDetails.getPrice())); - - mYearlySelectorLayout = findViewById(R.id.yearly_selector_layout); - mYearlySelectorLayout.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - InAppPurchaseWrapper.getInstance().purchase( - BraveVpnPlansActivity.this, yearlySkuDetails); - } - }); - - TextView yearlySubscriptionAmountText = - findViewById(R.id.yearly_subscription_amount_text); - yearlySubscriptionAmountText.setText( - String.format(getResources().getString(R.string.yearly_subscription_amount), - yearlySkuDetails.getPrice())); - BraveVpnUtils.showProgressDialog(BraveVpnPlansActivity.this, - getResources().getString(R.string.vpn_connect_text)); - mIsVerification = true; - verifySubscription(); - } else { - Toast.makeText(BraveVpnPlansActivity.this, R.string.purchased_failed, Toast.LENGTH_LONG) - .show(); - } + InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( + InAppPurchaseWrapper.SubscriptionType.MONTHLY, + new InAppPurchaseWrapper.QueryProductDetailsResponse() { + @Override + public void onProductDetails(Map productDetailsMap) { + ProductDetails monthlyProductDetails = productDetailsMap.get( + InAppPurchaseWrapper.getInstance().getProductId( + InAppPurchaseWrapper.SubscriptionType.MONTHLY)); + if (monthlyProductDetails != null) { + mMonthlySelectorLayout.setOnClickListener(v + -> InAppPurchaseWrapper.getInstance().initiatePurchase( + BraveVpnPlansActivity.this, monthlyProductDetails)); + if (monthlyProductDetails.getSubscriptionOfferDetails() != null) { + monthlySubscriptionAmountText.setText( + String.format(getResources().getString( + R.string.monthly_subscription_amount), + monthlyProductDetails.getSubscriptionOfferDetails() + .get(0) + .getPricingPhases() + .getPricingPhaseList() + .get(0) + .getFormattedPrice())); + } + } + } + }); + + TextView yearlySubscriptionAmountText = findViewById(R.id.yearly_subscription_amount_text); + mYearlySelectorLayout = findViewById(R.id.yearly_selector_layout); + + InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( + InAppPurchaseWrapper.SubscriptionType.YEARLY, + new InAppPurchaseWrapper.QueryProductDetailsResponse() { + @Override + public void onProductDetails(Map productDetailsMap) { + ProductDetails yearlyProductDetails = productDetailsMap.get( + InAppPurchaseWrapper.getInstance().getProductId( + InAppPurchaseWrapper.SubscriptionType.YEARLY)); + if (yearlyProductDetails != null) { + mYearlySelectorLayout.setOnClickListener(v + -> InAppPurchaseWrapper.getInstance().initiatePurchase( + BraveVpnPlansActivity.this, yearlyProductDetails)); + if (yearlyProductDetails.getSubscriptionOfferDetails() != null) { + yearlySubscriptionAmountText.setText( + String.format(getResources().getString( + R.string.yearly_subscription_amount), + yearlyProductDetails.getSubscriptionOfferDetails() + .get(0) + .getPricingPhases() + .getPricingPhaseList() + .get(0) + .getFormattedPrice())); + } + } + } + }); + + BraveVpnUtils.showProgressDialog( + BraveVpnPlansActivity.this, getResources().getString(R.string.vpn_connect_text)); + mIsVerification = true; + verifySubscription(); + + // SkuDetails monthlySkuDetails = InAppPurchaseWrapper.getInstance().getSkuDetails( + // getPackageName().equals(BraveConstants.BRAVE_PRODUCTION_PACKAGE_NAME) + // ? InAppPurchaseWrapper.RELEASE_MONTHLY_SUBSCRIPTION + // : InAppPurchaseWrapper.NIGHTLY_MONTHLY_SUBSCRIPTION); + + // SkuDetails yearlySkuDetails = InAppPurchaseWrapper.getInstance().getSkuDetails( + // getPackageName().equals(BraveConstants.BRAVE_PRODUCTION_PACKAGE_NAME) + // ? InAppPurchaseWrapper.RELEASE_YEARLY_SUBSCRIPTION + // : InAppPurchaseWrapper.NIGHTLY_YEARLY_SUBSCRIPTION); + + // if (monthlySkuDetails != null && yearlySkuDetails != null) { + // mMonthlySelectorLayout = findViewById(R.id.monthly_selector_layout); + // mMonthlySelectorLayout.setOnClickListener(new View.OnClickListener() { + // @Override + // public void onClick(View v) { + // InAppPurchaseWrapper.getInstance().purchase( + // BraveVpnPlansActivity.this, monthlySkuDetails); + // } + // }); + + // TextView monthlySubscriptionAmountText = + // findViewById(R.id.monthly_subscription_amount_text); + // monthlySubscriptionAmountText.setText( + // String.format(getResources().getString(R.string.monthly_subscription_amount), + // monthlySkuDetails.getPrice())); + + // mYearlySelectorLayout = findViewById(R.id.yearly_selector_layout); + // mYearlySelectorLayout.setOnClickListener(new View.OnClickListener() { + // @Override + // public void onClick(View v) { + // InAppPurchaseWrapper.getInstance().purchase( + // BraveVpnPlansActivity.this, yearlySkuDetails); + // } + // }); + + // TextView yearlySubscriptionAmountText = + // findViewById(R.id.yearly_subscription_amount_text); + // yearlySubscriptionAmountText.setText( + // String.format(getResources().getString(R.string.yearly_subscription_amount), + // yearlySkuDetails.getPrice())); + // BraveVpnUtils.showProgressDialog(BraveVpnPlansActivity.this, + // getResources().getString(R.string.vpn_connect_text)); + // mIsVerification = true; + // verifySubscription(); + // } else { + // Toast.makeText(BraveVpnPlansActivity.this, R.string.purchased_failed, + // Toast.LENGTH_LONG) + // .show(); + // } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_brave_vpn, menu); MenuItem item = menu.findItem(R.id.restore); - item.setVisible(true); if (mShouldShowRestoreMenu) { mShouldShowRestoreMenu = false; item.setVisible(true); diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java index 887817222c24..6e2be711089b 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java @@ -8,7 +8,6 @@ package org.chromium.chrome.browser.vpn.utils; import static com.android.billingclient.api.BillingClient.BillingResponseCode.OK; -import static com.android.billingclient.api.BillingClient.SkuType.SUBS; import android.app.Activity; import android.content.Context; @@ -22,16 +21,18 @@ import com.android.billingclient.api.BillingClientStateListener; import com.android.billingclient.api.BillingFlowParams; import com.android.billingclient.api.BillingResult; +import com.android.billingclient.api.ProductDetails; import com.android.billingclient.api.Purchase; import com.android.billingclient.api.PurchasesResponseListener; import com.android.billingclient.api.PurchasesUpdatedListener; +import com.android.billingclient.api.QueryProductDetailsParams; import com.android.billingclient.api.QueryPurchasesParams; -import com.android.billingclient.api.SkuDetails; -import com.android.billingclient.api.SkuDetailsParams; +import org.chromium.base.ContextUtils; import org.chromium.base.Log; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveRewardsNativeWorker; +import org.chromium.chrome.browser.util.BraveConstants; import org.chromium.ui.widget.Toast; import java.util.ArrayList; @@ -50,21 +51,21 @@ public class InAppPurchaseWrapper { private BillingClient mBillingClient; private int mRetryCount; - private final Map mSkusWithSkuDetails = new HashMap<>(); - - public SkuDetails getSkuDetails(String sku) { - return mSkusWithSkuDetails.get(sku); - } - - public static final List NIGHTLY_SUBS_SKUS = new ArrayList<>( + public static final List NIGHTLY_SUBS_PRODUCT_IDS = new ArrayList<>( Arrays.asList(NIGHTLY_MONTHLY_SUBSCRIPTION, NIGHTLY_YEARLY_SUBSCRIPTION)); - public static final List RELEASE_SUBS_SKUS = new ArrayList<>( + public static final List RELEASE_SUBS_PRODUCT_IDS = new ArrayList<>( Arrays.asList(RELEASE_MONTHLY_SUBSCRIPTION, RELEASE_YEARLY_SUBSCRIPTION)); private static volatile InAppPurchaseWrapper sInAppPurchaseWrapper; private static Object mutex = new Object(); + public enum SubscriptionType { MONTHLY, YEARLY } + + public interface QueryProductDetailsResponse { + default void onProductDetails(Map productDetails) {} + } + private MutableLiveData> mutablePurchases = new MutableLiveData(); private LiveData> purchases = mutablePurchases; private void setPurchases(List purchases) { @@ -128,25 +129,38 @@ public boolean isSubscriptionSupported() { return false; } - private void querySkuDetailsAsync(List skuList) { - SkuDetailsParams params = SkuDetailsParams.newBuilder() - .setSkusList(skuList) - .setType(BillingClient.SkuType.SUBS) - .build(); - mBillingClient.querySkuDetailsAsync(params, (billingResult, skuDetailsList) -> { - if (billingResult.getResponseCode() == OK && skuDetailsList != null) { - for (SkuDetails skuDetails : skuDetailsList) { - mSkusWithSkuDetails.put(skuDetails.getSku(), skuDetails); - } - } - }); + public String getProductId(SubscriptionType subscriptionType) { + boolean isReleaseBuild = ContextUtils.getApplicationContext().getPackageName().equals( + BraveConstants.BRAVE_PRODUCTION_PACKAGE_NAME); + if (isReleaseBuild) { + return subscriptionType == SubscriptionType.MONTHLY ? RELEASE_MONTHLY_SUBSCRIPTION + : RELEASE_YEARLY_SUBSCRIPTION; + } else { + return subscriptionType == SubscriptionType.MONTHLY ? NIGHTLY_MONTHLY_SUBSCRIPTION + : NIGHTLY_YEARLY_SUBSCRIPTION; + } } - public void queryPurchases(PurchasesResponseListener purchasesResponseListener) { - mBillingClient.queryPurchasesAsync(QueryPurchasesParams.newBuilder() - .setProductType(BillingClient.ProductType.SUBS) - .build(), - purchasesResponseListener); + public void queryProductDetailsAsync(SubscriptionType subscriptionType, + QueryProductDetailsResponse queryProductDetailsResponse) { + Map productDetails = new HashMap<>(); + List products = new ArrayList<>(); + products.add(QueryProductDetailsParams.Product.newBuilder() + .setProductId(getProductId(subscriptionType)) + .setProductType(BillingClient.ProductType.SUBS) + .build()); + QueryProductDetailsParams queryProductDetailsParams = + QueryProductDetailsParams.newBuilder().setProductList(products).build(); + + mBillingClient.queryProductDetailsAsync( + queryProductDetailsParams, (billingResult, productDetailsList) -> { + if (billingResult.getResponseCode() == OK) { + for (ProductDetails productDetail : productDetailsList) { + productDetails.put(productDetail.getProductId(), productDetail); + } + queryProductDetailsResponse.onProductDetails(productDetails); + } + }); } public void queryPurchases() { @@ -156,12 +170,20 @@ public void queryPurchases() { (billingResult, list) -> { setPurchases(list); }); } - public void purchase(Activity activity, SkuDetails skuDetails) { + public void initiatePurchase(Activity activity, ProductDetails productDetails) { + String offerToken = productDetails.getSubscriptionOfferDetails().get(0).getOfferToken(); + List productDetailsParamsList = new ArrayList<>(); + productDetailsParamsList.add(BillingFlowParams.ProductDetailsParams.newBuilder() + .setProductDetails(productDetails) + .setOfferToken(offerToken) + .build()); + BillingFlowParams billingFlowParams = - BillingFlowParams.newBuilder().setSkuDetails(skuDetails).build(); + BillingFlowParams.newBuilder() + .setProductDetailsParamsList(productDetailsParamsList) + .build(); - int responseCode = - mBillingClient.launchBillingFlow(activity, billingFlowParams).getResponseCode(); + BillingResult billingResult = mBillingClient.launchBillingFlow(activity, billingFlowParams); } public void processPurchases(Context context, List purchases) { @@ -244,9 +266,7 @@ public void onBillingServiceDisconnected() { public void onBillingSetupFinished(@NonNull BillingResult billingResult) { if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) { retryCount = 0; - querySkuDetailsAsync(NIGHTLY_SUBS_SKUS); - querySkuDetailsAsync(RELEASE_SUBS_SKUS); } } }; -} \ No newline at end of file +} diff --git a/build/android/config.gni b/build/android/config.gni index b06338b489d7..33082e1acf44 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -63,7 +63,6 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:google_play_services_safetynet_java", "//brave/third_party/zxing:zxing_java", "//third_party/android_deps:com_android_support_support_annotations_java", - "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", "//third_party/android_deps:com_google_code_gson_gson_java", "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/android_deps:google_play_services_vision_common_java", diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn index 28c22209ac9e..2c6ada7bf062 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn @@ -60,7 +60,6 @@ android_aar_prebuilt( info_path = "libs/com_google_android_datatransport_transport_backend_cct/com_google_android_datatransport_transport_backend_cct.info" deps = [ ":com_google_android_datatransport_transport_runtime_java", - "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/androidx:androidx_annotation_annotation_java", ] @@ -72,7 +71,6 @@ android_aar_prebuilt( info_path = "libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info" deps = [ ":com_google_firebase_firebase_encoders_proto_java", - "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/android_deps:javax_inject_javax_inject_java", "//third_party/androidx:androidx_annotation_annotation_java", From 7f9c1429644e824c05ebaca8efb07b1ee2ce1ac5 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Mon, 21 Aug 2023 18:57:51 -0400 Subject: [PATCH 08/17] Update code to check for active purchases --- .../chrome/browser/app/BraveActivity.java | 14 ++++++++---- .../browser/settings/BraveVpnPreferences.java | 14 ++++++++---- .../activities/BraveVpnParentActivity.java | 19 +++++++++------- .../vpn/activities/BraveVpnPlansActivity.java | 22 +++++++++++++++---- .../activities/BraveVpnProfileActivity.java | 10 +++++++++ .../vpn/utils/InAppPurchaseWrapper.java | 6 +++++ 6 files changed, 65 insertions(+), 20 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 051a7babc131..5278c2757594 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -639,10 +639,16 @@ private void updateWalletBadgeVisibility() { private void verifySubscription() { InAppPurchaseWrapper.getInstance().queryPurchases(); LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { - if (purchases != null && purchases.size() == 1) { - Purchase purchase = purchases.get(0); - mPurchaseToken = purchase.getPurchaseToken(); - mProductId = purchase.getProducts().get(0).toString(); + Purchase activePurchase = null; + for (Purchase purchase: purchases) { + if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { + activePurchase = purchase; + break; + } + } + if (activePurchase != null) { + mPurchaseToken = activePurchase.getPurchaseToken(); + mProductId = activePurchase.getProducts().get(0).toString(); BraveVpnNativeWorker.getInstance().verifyPurchaseToken(mPurchaseToken, mProductId, BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); } else { diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index 2e2833667fb4..11a1d6caac5a 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -372,10 +372,16 @@ private void verifyPurchase(boolean isVerification) { InAppPurchaseWrapper.getInstance().queryPurchases(); LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { mBraveVpnPrefModel = new BraveVpnPrefModel(); - if (purchases != null && purchases.size() == 1) { - Purchase purchase = purchases.get(0); - mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); + Purchase activePurchase = null; + for (Purchase purchase: purchases) { + if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { + activePurchase = purchase; + break; + } + } + if (activePurchase != null) { + mBraveVpnPrefModel.setPurchaseToken(activePurchase.getPurchaseToken()); + mBraveVpnPrefModel.setProductId(activePurchase.getProducts().get(0).toString()); if (BraveVpnPrefUtils.isResetConfiguration()) { BraveVpnUtils.dismissProgressDialog(); BraveVpnUtils.openBraveVpnProfileActivity(getActivity()); diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 23b32ab8b700..72fbf441efc7 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -92,16 +92,19 @@ public void finishNativeInitialization() { } protected void verifySubscription() { + mBraveVpnPrefModel = new BraveVpnPrefModel(); InAppPurchaseWrapper.getInstance().queryPurchases(); LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { - Log.e("BraveVPN", "Size : " + purchases.size()); - mBraveVpnPrefModel = new BraveVpnPrefModel(); - if (purchases != null && purchases.size() == 1) { - Log.e("BraveVPN", "onQueryPurchasesResponse : 1"); - Purchase purchase = purchases.get(0); - Log.e("BraveVPN", purchase.toString()); - mBraveVpnPrefModel.setPurchaseToken(purchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(purchase.getProducts().get(0).toString()); + Purchase activePurchase = null; + for (Purchase purchase: purchases) { + if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { + activePurchase = purchase; + break; + } + } + if (activePurchase != null) { + mBraveVpnPrefModel.setPurchaseToken(activePurchase.getPurchaseToken()); + mBraveVpnPrefModel.setProductId(activePurchase.getProducts().get(0).toString()); BraveVpnNativeWorker.getInstance().verifyPurchaseToken( mBraveVpnPrefModel.getPurchaseToken(), mBraveVpnPrefModel.getProductId(), BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java index 2f41f262343d..9183aee25caf 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java @@ -25,6 +25,7 @@ import com.google.android.material.tabs.TabLayout; import org.chromium.chrome.R; +import org.chromium.base.Log; import org.chromium.chrome.browser.firstrun.BraveFirstRunFlowSequencer; import org.chromium.chrome.browser.util.BraveConstants; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; @@ -60,6 +61,11 @@ public void onPauseWithNative() { private void initializeViews() { setContentView(R.layout.activity_brave_vpn_plan); + if (BraveVpnUtils.isBraveVpnFeatureEnable() && !InAppPurchaseWrapper.getInstance().isBillingClientReady()) { + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + BraveVpnPlansActivity.this); + } + Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); @@ -94,10 +100,13 @@ private void initializeViews() { new InAppPurchaseWrapper.QueryProductDetailsResponse() { @Override public void onProductDetails(Map productDetailsMap) { + Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 1"); ProductDetails monthlyProductDetails = productDetailsMap.get( InAppPurchaseWrapper.getInstance().getProductId( InAppPurchaseWrapper.SubscriptionType.MONTHLY)); + Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 2"); if (monthlyProductDetails != null) { + Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 3"); mMonthlySelectorLayout.setOnClickListener(v -> InAppPurchaseWrapper.getInstance().initiatePurchase( BraveVpnPlansActivity.this, monthlyProductDetails)); @@ -146,10 +155,6 @@ public void onProductDetails(Map productDetailsMap) { } }); - BraveVpnUtils.showProgressDialog( - BraveVpnPlansActivity.this, getResources().getString(R.string.vpn_connect_text)); - mIsVerification = true; - verifySubscription(); // SkuDetails monthlySkuDetails = InAppPurchaseWrapper.getInstance().getSkuDetails( // getPackageName().equals(BraveConstants.BRAVE_PRODUCTION_PACKAGE_NAME) @@ -202,6 +207,15 @@ public void onProductDetails(Map productDetailsMap) { // } } + @Override + public void finishNativeInitialization() { + super.finishNativeInitialization(); + BraveVpnUtils.showProgressDialog( + BraveVpnPlansActivity.this, getResources().getString(R.string.vpn_connect_text)); + mIsVerification = true; + verifySubscription(); + } + @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_brave_vpn, menu); diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java index 546dd30015bb..841582a39df2 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java @@ -23,6 +23,7 @@ import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; +import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; public class BraveVpnProfileActivity extends BraveVpnParentActivity { private BraveFirstRunFlowSequencer mFirstRunFlowSequencer; @@ -48,6 +49,11 @@ public void onPauseWithNative() { private void initializeViews() { setContentView(R.layout.activity_brave_vpn_profile); + if (BraveVpnUtils.isBraveVpnFeatureEnable() && !InAppPurchaseWrapper.getInstance().isBillingClientReady()) { + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + BraveVpnProfileActivity.this); + } + Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); @@ -84,7 +90,11 @@ public void onClick(View v) { BraveVpnUtils.openBraveVpnSupportActivity(BraveVpnProfileActivity.this); } }); + } + @Override + public void finishNativeInitialization() { + super.finishNativeInitialization(); if (getIntent() != null && getIntent().getBooleanExtra(BraveVpnUtils.VERIFY_CREDENTIALS_FAILED, false)) { verifySubscription(); diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java index 6e2be711089b..f3df48af27c9 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java @@ -94,6 +94,10 @@ public boolean isMonthlySubscription(String productId) { || productId.equals(RELEASE_MONTHLY_SUBSCRIPTION); } + public boolean isBillingClientReady() { + return mBillingClient != null && mBillingClient.isReady(); + } + public void startBillingServiceConnection(Context context) { mBillingClient = BillingClient.newBuilder(context) .enablePendingPurchases() @@ -154,7 +158,9 @@ public void queryProductDetailsAsync(SubscriptionType subscriptionType, mBillingClient.queryProductDetailsAsync( queryProductDetailsParams, (billingResult, productDetailsList) -> { + Log.e("BraveVPN", "mBillingClient.queryProductDetailsAsync 1"); if (billingResult.getResponseCode() == OK) { + Log.e("BraveVPN", "mBillingClient.queryProductDetailsAsync 2"); for (ProductDetails productDetail : productDetailsList) { productDetails.put(productDetail.getProductId(), productDetail); } From 838d1a7ae013e0ee0937da3533c59119fa9f973f Mon Sep 17 00:00:00 2001 From: deeppandya Date: Wed, 23 Aug 2023 23:31:21 -0400 Subject: [PATCH 09/17] Add livedata for billing client state Update existing code with livedata --- .../chrome/browser/app/BraveActivity.java | 5 +- .../browser/settings/BraveVpnPreferences.java | 4 +- .../activities/BraveVpnParentActivity.java | 16 +- .../vpn/activities/BraveVpnPlansActivity.java | 263 ++++++++++-------- .../activities/BraveVpnProfileActivity.java | 24 +- .../vpn/utils/BraveVpnApiResponseUtils.java | 1 - .../vpn/utils/InAppPurchaseWrapper.java | 69 +++-- 7 files changed, 223 insertions(+), 159 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 5278c2757594..ba7a6dd99bb4 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -294,7 +294,8 @@ public void onResumeWithNative() { super.onResumeWithNative(); BraveActivityJni.get().restartStatsUpdater(); if (BraveVpnUtils.isBraveVpnFeatureEnable()) { - InAppPurchaseWrapper.getInstance().startBillingServiceConnection(BraveActivity.this); + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + BraveActivity.this, null); BraveVpnNativeWorker.getInstance().addObserver(this); BraveVpnUtils.reportBackgroundUsageP3A(); @@ -640,7 +641,7 @@ private void verifySubscription() { InAppPurchaseWrapper.getInstance().queryPurchases(); LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { Purchase activePurchase = null; - for (Purchase purchase: purchases) { + for (Purchase purchase : purchases) { if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { activePurchase = purchase; break; diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index 11a1d6caac5a..bd6adf60a69e 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -96,7 +96,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { SettingsUtils.addPreferencesFromResource(this, R.xml.brave_vpn_preferences); if (BraveVpnUtils.isBraveVpnFeatureEnable()) { - InAppPurchaseWrapper.getInstance().startBillingServiceConnection(getActivity()); + InAppPurchaseWrapper.getInstance().startBillingServiceConnection(getActivity(), null); } mVpnSwitch = (ChromeSwitchPreference) findPreference(PREF_VPN_SWITCH); @@ -373,7 +373,7 @@ private void verifyPurchase(boolean isVerification) { LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { mBraveVpnPrefModel = new BraveVpnPrefModel(); Purchase activePurchase = null; - for (Purchase purchase: purchases) { + for (Purchase purchase : purchases) { if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { activePurchase = purchase; break; diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 72fbf441efc7..266f07ecceaf 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -96,34 +96,40 @@ protected void verifySubscription() { InAppPurchaseWrapper.getInstance().queryPurchases(); LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { Purchase activePurchase = null; - for (Purchase purchase: purchases) { + for (Purchase purchase : purchases) { if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { activePurchase = purchase; break; } } + Log.e("BraveVPN", "verifySubscription 1"); if (activePurchase != null) { + Log.e("BraveVPN", "verifySubscription 2"); mBraveVpnPrefModel.setPurchaseToken(activePurchase.getPurchaseToken()); mBraveVpnPrefModel.setProductId(activePurchase.getProducts().get(0).toString()); BraveVpnNativeWorker.getInstance().verifyPurchaseToken( mBraveVpnPrefModel.getPurchaseToken(), mBraveVpnPrefModel.getProductId(), BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); } else { + Log.e("BraveVPN", "verifySubscription 3"); if (!mIsVerification) { BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); - } else { - BraveVpnUtils.dismissProgressDialog(); } + Log.e("BraveVPN", "verifySubscription 4"); + BraveVpnUtils.dismissProgressDialog(); } }); } @Override public void onVerifyPurchaseToken(String jsonResponse, boolean isSuccess) { + Log.e("BraveVPN", "onVerifyPurchaseToken 1"); if (isSuccess && mBraveVpnPrefModel != null) { + Log.e("BraveVPN", "onVerifyPurchaseToken 2"); Long purchaseExpiry = BraveVpnUtils.getPurchaseExpiryDate(jsonResponse); int paymentState = BraveVpnUtils.getPaymentState(jsonResponse); if (purchaseExpiry > 0 && purchaseExpiry >= System.currentTimeMillis()) { + Log.e("BraveVPN", "onVerifyPurchaseToken 3"); BraveVpnPrefUtils.setPurchaseToken(mBraveVpnPrefModel.getPurchaseToken()); BraveVpnPrefUtils.setProductId(mBraveVpnPrefModel.getProductId()); BraveVpnPrefUtils.setPurchaseExpiry(purchaseExpiry); @@ -143,16 +149,20 @@ public void onVerifyPurchaseToken(String jsonResponse, boolean isSuccess) { BraveVpnUtils.dismissProgressDialog(); } } else { + Log.e("BraveVPN", "onVerifyPurchaseToken 4"); BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); if (mIsVerification) { + Log.e("BraveVPN", "onVerifyPurchaseToken 5"); mIsVerification = false; showRestoreMenu(false); BraveVpnUtils.dismissProgressDialog(); } else { + Log.e("BraveVPN", "onVerifyPurchaseToken 6"); BraveVpnUtils.openBraveVpnPlansActivity(BraveVpnParentActivity.this); } } } else { + Log.e("BraveVPN", "onVerifyPurchaseToken 7"); BraveVpnUtils.dismissProgressDialog(); } }; diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java index 9183aee25caf..047507c0b1a2 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java @@ -18,16 +18,19 @@ import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.Toolbar; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import androidx.viewpager.widget.ViewPager; import com.android.billingclient.api.ProductDetails; import com.android.billingclient.api.SkuDetails; import com.google.android.material.tabs.TabLayout; -import org.chromium.chrome.R; import org.chromium.base.Log; +import org.chromium.chrome.R; import org.chromium.chrome.browser.firstrun.BraveFirstRunFlowSequencer; import org.chromium.chrome.browser.util.BraveConstants; +import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.adapters.BraveVpnPlanPagerAdapter; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; @@ -45,6 +48,9 @@ public class BraveVpnPlansActivity extends BraveVpnParentActivity { private LinearLayout mMonthlySelectorLayout; private LinearLayout mYearlySelectorLayout; + private MutableLiveData _billingConnectionState = new MutableLiveData(); + private LiveData billingConnectionState = _billingConnectionState; + @Override public void onResumeWithNative() { super.onResumeWithNative(); @@ -60,11 +66,7 @@ public void onPauseWithNative() { private void initializeViews() { setContentView(R.layout.activity_brave_vpn_plan); - - if (BraveVpnUtils.isBraveVpnFeatureEnable() && !InAppPurchaseWrapper.getInstance().isBillingClientReady()) { - InAppPurchaseWrapper.getInstance().startBillingServiceConnection( - BraveVpnPlansActivity.this); - } + Log.e("BraveVPN", "BraveVpnPlansActivity initializeViews"); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -95,125 +97,154 @@ private void initializeViews() { findViewById(R.id.monthly_subscription_amount_text); mMonthlySelectorLayout = findViewById(R.id.monthly_selector_layout); - InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( - InAppPurchaseWrapper.SubscriptionType.MONTHLY, - new InAppPurchaseWrapper.QueryProductDetailsResponse() { - @Override - public void onProductDetails(Map productDetailsMap) { - Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 1"); - ProductDetails monthlyProductDetails = productDetailsMap.get( - InAppPurchaseWrapper.getInstance().getProductId( - InAppPurchaseWrapper.SubscriptionType.MONTHLY)); - Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 2"); - if (monthlyProductDetails != null) { - Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 3"); - mMonthlySelectorLayout.setOnClickListener(v - -> InAppPurchaseWrapper.getInstance().initiatePurchase( - BraveVpnPlansActivity.this, monthlyProductDetails)); - if (monthlyProductDetails.getSubscriptionOfferDetails() != null) { - monthlySubscriptionAmountText.setText( - String.format(getResources().getString( - R.string.monthly_subscription_amount), - monthlyProductDetails.getSubscriptionOfferDetails() - .get(0) - .getPricingPhases() - .getPricingPhaseList() - .get(0) - .getFormattedPrice())); - } - } - } - }); - TextView yearlySubscriptionAmountText = findViewById(R.id.yearly_subscription_amount_text); mYearlySelectorLayout = findViewById(R.id.yearly_selector_layout); - InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( - InAppPurchaseWrapper.SubscriptionType.YEARLY, - new InAppPurchaseWrapper.QueryProductDetailsResponse() { - @Override - public void onProductDetails(Map productDetailsMap) { - ProductDetails yearlyProductDetails = productDetailsMap.get( - InAppPurchaseWrapper.getInstance().getProductId( - InAppPurchaseWrapper.SubscriptionType.YEARLY)); - if (yearlyProductDetails != null) { - mYearlySelectorLayout.setOnClickListener(v - -> InAppPurchaseWrapper.getInstance().initiatePurchase( - BraveVpnPlansActivity.this, yearlyProductDetails)); - if (yearlyProductDetails.getSubscriptionOfferDetails() != null) { - yearlySubscriptionAmountText.setText( - String.format(getResources().getString( - R.string.yearly_subscription_amount), - yearlyProductDetails.getSubscriptionOfferDetails() - .get(0) - .getPricingPhases() - .getPricingPhaseList() - .get(0) - .getFormattedPrice())); + LiveDataUtil.observeOnce(billingConnectionState, isConnected -> { + Log.e("BraveVPN", "LiveDataUtil.observeOnce : " + isConnected); + if (isConnected) { + Log.e("BraveVPN", "LiveDataUtil.observeOnce isConnected"); + InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( + InAppPurchaseWrapper.SubscriptionType.MONTHLY, + new InAppPurchaseWrapper.QueryProductDetailsResponse() { + @Override + public void onProductDetails( + Map productDetailsMap) { + Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 1"); + ProductDetails monthlyProductDetails = productDetailsMap.get( + InAppPurchaseWrapper.getInstance().getProductId( + InAppPurchaseWrapper.SubscriptionType.MONTHLY)); + Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 2"); + if (monthlyProductDetails != null) { + runOnUiThread(new Runnable() { + @Override + public void run() { + Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 3"); + mMonthlySelectorLayout.setOnClickListener(v + -> InAppPurchaseWrapper.getInstance() + .initiatePurchase( + BraveVpnPlansActivity.this, + monthlyProductDetails)); + if (monthlyProductDetails.getSubscriptionOfferDetails() + != null + && monthlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .isPresent() + && monthlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .get() + .getPricingPhases() + .getPricingPhaseList() + .stream() + .findFirst() + .isPresent()) { + String monthlyProductPrice = + monthlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .get() + .getPricingPhases() + .getPricingPhaseList() + .stream() + .findFirst() + .get() + .getFormattedPrice(); + monthlySubscriptionAmountText.setText(String.format( + getResources().getString( + R.string.monthly_subscription_amount), + monthlyProductPrice)); + } + } + }); + } } - } - } - }); - - - // SkuDetails monthlySkuDetails = InAppPurchaseWrapper.getInstance().getSkuDetails( - // getPackageName().equals(BraveConstants.BRAVE_PRODUCTION_PACKAGE_NAME) - // ? InAppPurchaseWrapper.RELEASE_MONTHLY_SUBSCRIPTION - // : InAppPurchaseWrapper.NIGHTLY_MONTHLY_SUBSCRIPTION); - - // SkuDetails yearlySkuDetails = InAppPurchaseWrapper.getInstance().getSkuDetails( - // getPackageName().equals(BraveConstants.BRAVE_PRODUCTION_PACKAGE_NAME) - // ? InAppPurchaseWrapper.RELEASE_YEARLY_SUBSCRIPTION - // : InAppPurchaseWrapper.NIGHTLY_YEARLY_SUBSCRIPTION); - - // if (monthlySkuDetails != null && yearlySkuDetails != null) { - // mMonthlySelectorLayout = findViewById(R.id.monthly_selector_layout); - // mMonthlySelectorLayout.setOnClickListener(new View.OnClickListener() { - // @Override - // public void onClick(View v) { - // InAppPurchaseWrapper.getInstance().purchase( - // BraveVpnPlansActivity.this, monthlySkuDetails); - // } - // }); - - // TextView monthlySubscriptionAmountText = - // findViewById(R.id.monthly_subscription_amount_text); - // monthlySubscriptionAmountText.setText( - // String.format(getResources().getString(R.string.monthly_subscription_amount), - // monthlySkuDetails.getPrice())); - - // mYearlySelectorLayout = findViewById(R.id.yearly_selector_layout); - // mYearlySelectorLayout.setOnClickListener(new View.OnClickListener() { - // @Override - // public void onClick(View v) { - // InAppPurchaseWrapper.getInstance().purchase( - // BraveVpnPlansActivity.this, yearlySkuDetails); - // } - // }); - - // TextView yearlySubscriptionAmountText = - // findViewById(R.id.yearly_subscription_amount_text); - // yearlySubscriptionAmountText.setText( - // String.format(getResources().getString(R.string.yearly_subscription_amount), - // yearlySkuDetails.getPrice())); - // BraveVpnUtils.showProgressDialog(BraveVpnPlansActivity.this, - // getResources().getString(R.string.vpn_connect_text)); - // mIsVerification = true; - // verifySubscription(); - // } else { - // Toast.makeText(BraveVpnPlansActivity.this, R.string.purchased_failed, - // Toast.LENGTH_LONG) - // .show(); - // } + }); + + InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( + InAppPurchaseWrapper.SubscriptionType.YEARLY, + new InAppPurchaseWrapper.QueryProductDetailsResponse() { + @Override + public void onProductDetails( + Map productDetailsMap) { + Log.e("BraveVPN", "queryProductDetailsAsync YEARLY 1"); + ProductDetails yearlyProductDetails = productDetailsMap.get( + InAppPurchaseWrapper.getInstance().getProductId( + InAppPurchaseWrapper.SubscriptionType.YEARLY)); + Log.e("BraveVPN", "queryProductDetailsAsync YEARLY 2"); + if (yearlyProductDetails != null) { + runOnUiThread(new Runnable() { + @Override + public void run() { + Log.e("BraveVPN", "queryProductDetailsAsync YEARLY 3"); + mYearlySelectorLayout.setOnClickListener(v + -> InAppPurchaseWrapper.getInstance() + .initiatePurchase( + BraveVpnPlansActivity.this, + yearlyProductDetails)); + if (yearlyProductDetails.getSubscriptionOfferDetails() + != null + && yearlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .isPresent() + && yearlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .get() + .getPricingPhases() + .getPricingPhaseList() + .stream() + .findFirst() + .isPresent()) { + String yearlyProductPrice = + yearlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .get() + .getPricingPhases() + .getPricingPhaseList() + .stream() + .findFirst() + .get() + .getFormattedPrice(); + yearlySubscriptionAmountText.setText(String.format( + getResources().getString( + R.string.yearly_subscription_amount), + yearlyProductPrice)); + } + } + }); + } + } + }); + } + }); } @Override public void finishNativeInitialization() { super.finishNativeInitialization(); - BraveVpnUtils.showProgressDialog( - BraveVpnPlansActivity.this, getResources().getString(R.string.vpn_connect_text)); - mIsVerification = true; - verifySubscription(); + Log.e("BraveVPN", "BraveVpnPlansActivity finishNativeInitialization"); + if (BraveVpnUtils.isBraveVpnFeatureEnable()) { + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + BraveVpnPlansActivity.this, _billingConnectionState); + } + LiveDataUtil.observeOnce(billingConnectionState, isConnected -> { + if (isConnected) { + BraveVpnUtils.showProgressDialog(BraveVpnPlansActivity.this, + getResources().getString(R.string.vpn_connect_text)); + mIsVerification = true; + verifySubscription(); + } + }); } @Override diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java index 841582a39df2..a6d33ecf7e80 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java @@ -17,9 +17,12 @@ import androidx.appcompat.app.ActionBar; import androidx.appcompat.widget.Toolbar; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import org.chromium.chrome.R; import org.chromium.chrome.browser.firstrun.BraveFirstRunFlowSequencer; +import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; @@ -34,6 +37,9 @@ public class BraveVpnProfileActivity extends BraveVpnParentActivity { private ProgressBar mProfileProgress; private LinearLayout mProfileLayout; + private MutableLiveData _billingConnectionState = new MutableLiveData(); + private LiveData billingConnectionState = _billingConnectionState; + @Override public void onResumeWithNative() { super.onResumeWithNative(); @@ -49,9 +55,9 @@ public void onPauseWithNative() { private void initializeViews() { setContentView(R.layout.activity_brave_vpn_profile); - if (BraveVpnUtils.isBraveVpnFeatureEnable() && !InAppPurchaseWrapper.getInstance().isBillingClientReady()) { + if (BraveVpnUtils.isBraveVpnFeatureEnable()) { InAppPurchaseWrapper.getInstance().startBillingServiceConnection( - BraveVpnProfileActivity.this); + BraveVpnProfileActivity.this, _billingConnectionState); } Toolbar toolbar = findViewById(R.id.toolbar); @@ -74,12 +80,14 @@ private void initializeViews() { public void onClick(View v) { BraveVpnUtils.showProgressDialog(BraveVpnProfileActivity.this, getResources().getString(R.string.vpn_connect_text)); - if (BraveVpnNativeWorker.getInstance().isPurchasedUser()) { - mBraveVpnPrefModel = new BraveVpnPrefModel(); - BraveVpnNativeWorker.getInstance().getSubscriberCredentialV12(); - } else { - verifySubscription(); - } + LiveDataUtil.observeOnce(billingConnectionState, isConnected -> { + if (BraveVpnNativeWorker.getInstance().isPurchasedUser()) { + mBraveVpnPrefModel = new BraveVpnPrefModel(); + BraveVpnNativeWorker.getInstance().getSubscriberCredentialV12(); + } else { + verifySubscription(); + } + }); } }); diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java index 48ef4abb2a95..3a718516db7e 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java @@ -37,7 +37,6 @@ public static void queryPurchaseFailed(Activity activity) { } Toast.makeText(activity, R.string.purchase_token_verification_failed, Toast.LENGTH_LONG) .show(); - BraveVpnUtils.dismissProgressDialog(); } public static void handleOnGetSubscriberCredential(Activity activity, boolean isSuccess) { diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java index f3df48af27c9..3f2209f714b7 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java @@ -98,25 +98,46 @@ public boolean isBillingClientReady() { return mBillingClient != null && mBillingClient.isReady(); } - public void startBillingServiceConnection(Context context) { + public void startBillingServiceConnection( + Context context, MutableLiveData billingClientConnectionState) { mBillingClient = BillingClient.newBuilder(context) .enablePendingPurchases() .setListener(getPurchasesUpdatedListener(context)) .build(); - - connectToBillingService(); - } - - public void connectToBillingService() { if (!mBillingClient.isReady()) { try { - mBillingClient.startConnection(billingClientStateListener); + mBillingClient.startConnection(new BillingClientStateListener() { + private int retryCount; + @Override + public void onBillingServiceDisconnected() { + retryCount++; + if (retryCount <= 3) { + startBillingServiceConnection(context, billingClientConnectionState); + } + } + @Override + public void onBillingSetupFinished(@NonNull BillingResult billingResult) { + if (billingResult.getResponseCode() + == BillingClient.BillingResponseCode.OK) { + retryCount = 0; + if (billingClientConnectionState != null) { + Log.e("BraveVPN", "billingClientConnectionState != null"); + billingClientConnectionState.postValue(true); + } + } + } + }); } catch (IllegalStateException exc) { // That prevents a crash that some users experience // https://github.com/brave/brave-browser/issues/27751. // It's unknown what causes it, we tried to add retries, but it // didn't help. - Log.e(TAG, "connectToBillingService " + exc.getMessage()); + Log.e(TAG, "startBillingServiceConnection " + exc.getMessage()); + } + } else { + if (billingClientConnectionState != null) { + billingClientConnectionState.postValue(mBillingClient.getConnectionState() + == BillingClient.ConnectionState.CONNECTED); } } } @@ -165,6 +186,10 @@ public void queryProductDetailsAsync(SubscriptionType subscriptionType, productDetails.put(productDetail.getProductId(), productDetail); } queryProductDetailsResponse.onProductDetails(productDetails); + } else { + Log.e(TAG, + "queryProductDetailsAsync failed" + + billingResult.getDebugMessage()); } }); } @@ -173,11 +198,18 @@ public void queryPurchases() { mBillingClient.queryPurchasesAsync(QueryPurchasesParams.newBuilder() .setProductType(BillingClient.ProductType.SUBS) .build(), - (billingResult, list) -> { setPurchases(list); }); + (billingResult, list) -> { + if (billingResult.getResponseCode() == OK) { + setPurchases(list); + } else { + Log.e(TAG, "queryPurchases failed" + billingResult.getDebugMessage()); + } + }); } public void initiatePurchase(Activity activity, ProductDetails productDetails) { String offerToken = productDetails.getSubscriptionOfferDetails().get(0).getOfferToken(); + Log.e("BraveVPN", "offerToken : " + offerToken); List productDetailsParamsList = new ArrayList<>(); productDetailsParamsList.add(BillingFlowParams.ProductDetailsParams.newBuilder() .setProductDetails(productDetails) @@ -243,7 +275,7 @@ private PurchasesUpdatedListener getPurchasesUpdatedListener(Context context) { } else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.SERVICE_DISCONNECTED && mRetryCount < 5) { - connectToBillingService(); + // startBillingServiceConnection(context); mRetryCount++; } else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.USER_CANCELED) { @@ -258,21 +290,4 @@ private PurchasesUpdatedListener getPurchasesUpdatedListener(Context context) { } }; } - - BillingClientStateListener billingClientStateListener = new BillingClientStateListener() { - private int retryCount; - @Override - public void onBillingServiceDisconnected() { - retryCount++; - if (retryCount <= 3) { - connectToBillingService(); - } - } - @Override - public void onBillingSetupFinished(@NonNull BillingResult billingResult) { - if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) { - retryCount = 0; - } - } - }; } From 99f2449a24fb45e63fe1f4da449483158951dd05 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Thu, 24 Aug 2023 23:56:36 -0400 Subject: [PATCH 10/17] Update livedata behavior for connection Update plan UI Update vpn state with connection state --- .../chrome/browser/app/BraveActivity.java | 10 ++- .../browser/settings/BraveVpnPreferences.java | 21 ++++-- .../activities/BraveVpnParentActivity.java | 13 +--- .../vpn/activities/BraveVpnPlansActivity.java | 64 +++++++--------- .../activities/BraveVpnProfileActivity.java | 19 ++--- .../BraveVpnCalloutDialogFragment.java | 3 +- .../vpn/utils/BraveVpnApiResponseUtils.java | 26 +++---- .../browser/vpn/utils/BraveVpnUtils.java | 6 ++ .../vpn/utils/InAppPurchaseWrapper.java | 46 ++++-------- .../res/layout/activity_brave_vpn_plan.xml | 75 ++++++++++++------- 10 files changed, 146 insertions(+), 137 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index ba7a6dd99bb4..3a1b39fb3ce8 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -31,6 +31,8 @@ import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.Purchase; @@ -394,7 +396,13 @@ public boolean onMenuOrKeyboardAction(int id, boolean fromMenu) { BraveVpnUtils.showProgressDialog(BraveActivity.this, getResources().getString(R.string.vpn_connect_text)); if (BraveVpnPrefUtils.isSubscriptionPurchase()) { - verifySubscription(); + MutableLiveData _billingConnectionState = + new MutableLiveData(); + LiveData billingConnectionState = _billingConnectionState; + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + BraveActivity.this, _billingConnectionState); + LiveDataUtil.observeOnce(billingConnectionState, + isConnected -> { verifySubscription(); }); } else { BraveVpnUtils.dismissProgressDialog(); BraveVpnUtils.openBraveVpnPlansActivity(BraveActivity.this); diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index bd6adf60a69e..591290ac6eda 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -19,6 +19,8 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; +import androidx.lifecycle.LiveData; +import androidx.lifecycle.MutableLiveData; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; @@ -95,9 +97,7 @@ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { getActivity().setTitle(R.string.brave_firewall_vpn); SettingsUtils.addPreferencesFromResource(this, R.xml.brave_vpn_preferences); - if (BraveVpnUtils.isBraveVpnFeatureEnable()) { - InAppPurchaseWrapper.getInstance().startBillingServiceConnection(getActivity(), null); - } + InAppPurchaseWrapper.getInstance().startBillingServiceConnection(getActivity(), null); mVpnSwitch = (ChromeSwitchPreference) findPreference(PREF_VPN_SWITCH); mVpnSwitch.setChecked( @@ -125,7 +125,13 @@ public boolean onPreferenceClick(Preference preference) { BraveVpnUtils.showProgressDialog( getActivity(), getResources().getString(R.string.vpn_connect_text)); if (BraveVpnPrefUtils.isSubscriptionPurchase()) { - verifyPurchase(true); + MutableLiveData _billingConnectionState = + new MutableLiveData(); + LiveData billingConnectionState = _billingConnectionState; + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + getActivity(), _billingConnectionState); + LiveDataUtil.observeOnce(billingConnectionState, + isConnected -> { verifyPurchase(true); }); } else { BraveVpnUtils.openBraveVpnPlansActivity(getActivity()); BraveVpnUtils.dismissProgressDialog(); @@ -256,7 +262,12 @@ public void onResume() { mBraveVpnPrefModel = new BraveVpnPrefModel(); BraveVpnNativeWorker.getInstance().getSubscriberCredentialV12(); } else { - verifyPurchase(false); + MutableLiveData _billingConnectionState = new MutableLiveData(); + LiveData billingConnectionState = _billingConnectionState; + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + getActivity(), _billingConnectionState); + LiveDataUtil.observeOnce( + billingConnectionState, isConnected -> { verifyPurchase(false); }); } } else if (BraveVpnUtils.mUpdateProfileAfterSplitTunnel) { BraveVpnUtils.mUpdateProfileAfterSplitTunnel = false; diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 266f07ecceaf..69f3d6320fca 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -41,7 +41,6 @@ import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.wireguard.WireguardConfigUtils; -import org.chromium.ui.widget.Toast; import java.util.List; @@ -74,10 +73,8 @@ public BraveVpnParentActivity() { } else { updateProfileView(); } - Toast.makeText(this, - getResources().getString(R.string.permission_was_cancelled), - Toast.LENGTH_SHORT) - .show(); + BraveVpnUtils.showToast( + getResources().getString(R.string.permission_was_cancelled)); } }); @@ -143,9 +140,7 @@ public void onVerifyPurchaseToken(String jsonResponse, boolean isSuccess) { } else { mIsVerification = false; showRestoreMenu(true); - Toast.makeText(BraveVpnParentActivity.this, R.string.already_subscribed, - Toast.LENGTH_SHORT) - .show(); + BraveVpnUtils.showToast(getResources().getString(R.string.already_subscribed)); BraveVpnUtils.dismissProgressDialog(); } } else { @@ -207,7 +202,7 @@ public void onGetWireguardProfileCredentials( checkForVpn(braveVpnWireguardProfileCredentials, mBraveVpnPrefModel); } else { - Toast.makeText(this, R.string.vpn_profile_creation_failed, Toast.LENGTH_LONG).show(); + BraveVpnUtils.showToast(getResources().getString(R.string.vpn_profile_creation_failed)); BraveVpnUtils.dismissProgressDialog(); } } diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java index 047507c0b1a2..16140438c8d9 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java @@ -35,18 +35,21 @@ import org.chromium.chrome.browser.vpn.adapters.BraveVpnPlanPagerAdapter; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; -import org.chromium.ui.widget.Toast; import java.util.Map; public class BraveVpnPlansActivity extends BraveVpnParentActivity { private BraveFirstRunFlowSequencer mFirstRunFlowSequencer; - private ProgressBar mPlanProgress; + private ProgressBar mMonthlyPlanProgress; + private ProgressBar mYearlyPlanProgress; private LinearLayout mPlanLayout; private boolean mShouldShowRestoreMenu; private LinearLayout mMonthlySelectorLayout; + private TextView mMonthlySubscriptionAmountText; + private LinearLayout mYearlySelectorLayout; + private TextView mYearlySubscriptionAmountText; private MutableLiveData _billingConnectionState = new MutableLiveData(); private LiveData billingConnectionState = _billingConnectionState; @@ -66,7 +69,6 @@ public void onPauseWithNative() { private void initializeViews() { setContentView(R.layout.activity_brave_vpn_plan); - Log.e("BraveVPN", "BraveVpnPlansActivity initializeViews"); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -76,7 +78,8 @@ private void initializeViews() { actionBar.setHomeAsUpIndicator(R.drawable.ic_baseline_close_24); actionBar.setTitle(getResources().getString(R.string.brave_vpn)); - mPlanProgress = findViewById(R.id.plan_progress); + mMonthlyPlanProgress = findViewById(R.id.monthly_plan_progress); + mYearlyPlanProgress = findViewById(R.id.yearly_plan_progress); mPlanLayout = findViewById(R.id.plan_layout); ViewPager braveRewardsViewPager = findViewById(R.id.brave_rewards_view_pager); @@ -93,33 +96,41 @@ private void initializeViews() { TextView monthlySubscriptionText = findViewById(R.id.monthly_subscription_text); monthlySubscriptionText.setText( String.format(getResources().getString(R.string.monthly_subscription), "")); - TextView monthlySubscriptionAmountText = - findViewById(R.id.monthly_subscription_amount_text); + mMonthlySubscriptionAmountText = findViewById(R.id.monthly_subscription_amount_text); mMonthlySelectorLayout = findViewById(R.id.monthly_selector_layout); - TextView yearlySubscriptionAmountText = findViewById(R.id.yearly_subscription_amount_text); + mYearlySubscriptionAmountText = findViewById(R.id.yearly_subscription_amount_text); mYearlySelectorLayout = findViewById(R.id.yearly_selector_layout); + } + @Override + public void finishNativeInitialization() { + super.finishNativeInitialization(); + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + BraveVpnPlansActivity.this, _billingConnectionState); LiveDataUtil.observeOnce(billingConnectionState, isConnected -> { - Log.e("BraveVPN", "LiveDataUtil.observeOnce : " + isConnected); if (isConnected) { - Log.e("BraveVPN", "LiveDataUtil.observeOnce isConnected"); + // Check for an active subscription to show restore + BraveVpnUtils.showProgressDialog(BraveVpnPlansActivity.this, + getResources().getString(R.string.vpn_connect_text)); + mIsVerification = true; + verifySubscription(); + + // Set up monthly subscription + mMonthlyPlanProgress.setVisibility(View.VISIBLE); InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( InAppPurchaseWrapper.SubscriptionType.MONTHLY, new InAppPurchaseWrapper.QueryProductDetailsResponse() { @Override public void onProductDetails( Map productDetailsMap) { - Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 1"); ProductDetails monthlyProductDetails = productDetailsMap.get( InAppPurchaseWrapper.getInstance().getProductId( InAppPurchaseWrapper.SubscriptionType.MONTHLY)); - Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 2"); if (monthlyProductDetails != null) { runOnUiThread(new Runnable() { @Override public void run() { - Log.e("BraveVPN", "queryProductDetailsAsync MONTHLY 3"); mMonthlySelectorLayout.setOnClickListener(v -> InAppPurchaseWrapper.getInstance() .initiatePurchase( @@ -154,10 +165,11 @@ public void run() { .findFirst() .get() .getFormattedPrice(); - monthlySubscriptionAmountText.setText(String.format( + mMonthlySubscriptionAmountText.setText(String.format( getResources().getString( R.string.monthly_subscription_amount), monthlyProductPrice)); + mMonthlyPlanProgress.setVisibility(View.GONE); } } }); @@ -165,22 +177,21 @@ public void run() { } }); + // Set up yearly subscription + mYearlyPlanProgress.setVisibility(View.VISIBLE); InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( InAppPurchaseWrapper.SubscriptionType.YEARLY, new InAppPurchaseWrapper.QueryProductDetailsResponse() { @Override public void onProductDetails( Map productDetailsMap) { - Log.e("BraveVPN", "queryProductDetailsAsync YEARLY 1"); ProductDetails yearlyProductDetails = productDetailsMap.get( InAppPurchaseWrapper.getInstance().getProductId( InAppPurchaseWrapper.SubscriptionType.YEARLY)); - Log.e("BraveVPN", "queryProductDetailsAsync YEARLY 2"); if (yearlyProductDetails != null) { runOnUiThread(new Runnable() { @Override public void run() { - Log.e("BraveVPN", "queryProductDetailsAsync YEARLY 3"); mYearlySelectorLayout.setOnClickListener(v -> InAppPurchaseWrapper.getInstance() .initiatePurchase( @@ -215,10 +226,11 @@ public void run() { .findFirst() .get() .getFormattedPrice(); - yearlySubscriptionAmountText.setText(String.format( + mYearlySubscriptionAmountText.setText(String.format( getResources().getString( R.string.yearly_subscription_amount), yearlyProductPrice)); + mYearlyPlanProgress.setVisibility(View.GONE); } } }); @@ -229,24 +241,6 @@ public void run() { }); } - @Override - public void finishNativeInitialization() { - super.finishNativeInitialization(); - Log.e("BraveVPN", "BraveVpnPlansActivity finishNativeInitialization"); - if (BraveVpnUtils.isBraveVpnFeatureEnable()) { - InAppPurchaseWrapper.getInstance().startBillingServiceConnection( - BraveVpnPlansActivity.this, _billingConnectionState); - } - LiveDataUtil.observeOnce(billingConnectionState, isConnected -> { - if (isConnected) { - BraveVpnUtils.showProgressDialog(BraveVpnPlansActivity.this, - getResources().getString(R.string.vpn_connect_text)); - mIsVerification = true; - verifySubscription(); - } - }); - } - @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_brave_vpn, menu); diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java index a6d33ecf7e80..46ae74ea07a7 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java @@ -37,9 +37,6 @@ public class BraveVpnProfileActivity extends BraveVpnParentActivity { private ProgressBar mProfileProgress; private LinearLayout mProfileLayout; - private MutableLiveData _billingConnectionState = new MutableLiveData(); - private LiveData billingConnectionState = _billingConnectionState; - @Override public void onResumeWithNative() { super.onResumeWithNative(); @@ -55,11 +52,6 @@ public void onPauseWithNative() { private void initializeViews() { setContentView(R.layout.activity_brave_vpn_profile); - if (BraveVpnUtils.isBraveVpnFeatureEnable()) { - InAppPurchaseWrapper.getInstance().startBillingServiceConnection( - BraveVpnProfileActivity.this, _billingConnectionState); - } - Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); @@ -80,6 +72,10 @@ private void initializeViews() { public void onClick(View v) { BraveVpnUtils.showProgressDialog(BraveVpnProfileActivity.this, getResources().getString(R.string.vpn_connect_text)); + MutableLiveData _billingConnectionState = new MutableLiveData(); + LiveData billingConnectionState = _billingConnectionState; + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + BraveVpnProfileActivity.this, _billingConnectionState); LiveDataUtil.observeOnce(billingConnectionState, isConnected -> { if (BraveVpnNativeWorker.getInstance().isPurchasedUser()) { mBraveVpnPrefModel = new BraveVpnPrefModel(); @@ -105,7 +101,12 @@ public void finishNativeInitialization() { super.finishNativeInitialization(); if (getIntent() != null && getIntent().getBooleanExtra(BraveVpnUtils.VERIFY_CREDENTIALS_FAILED, false)) { - verifySubscription(); + MutableLiveData _billingConnectionState = new MutableLiveData(); + LiveData billingConnectionState = _billingConnectionState; + InAppPurchaseWrapper.getInstance().startBillingServiceConnection( + BraveVpnProfileActivity.this, _billingConnectionState); + LiveDataUtil.observeOnce( + billingConnectionState, isConnected -> { verifySubscription(); }); } } diff --git a/android/java/org/chromium/chrome/browser/vpn/fragments/BraveVpnCalloutDialogFragment.java b/android/java/org/chromium/chrome/browser/vpn/fragments/BraveVpnCalloutDialogFragment.java index b259c4d2415d..8c1a2c2912ce 100644 --- a/android/java/org/chromium/chrome/browser/vpn/fragments/BraveVpnCalloutDialogFragment.java +++ b/android/java/org/chromium/chrome/browser/vpn/fragments/BraveVpnCalloutDialogFragment.java @@ -19,7 +19,6 @@ import org.chromium.chrome.browser.InternetConnection; import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.ui.widget.Toast; public class BraveVpnCalloutDialogFragment extends BraveDialogFragment implements View.OnClickListener { @@ -44,7 +43,7 @@ public void onViewCreated(View view, Bundle savedInstanceState) { public void onClick(View view) { if (view.getId() == R.id.btn_enable) { if (!InternetConnection.isNetworkAvailable(getActivity())) { - Toast.makeText(getActivity(), R.string.no_internet, Toast.LENGTH_SHORT).show(); + BraveVpnUtils.showToast(getResources().getString(R.string.no_internet)); } else { BraveVpnUtils.openBraveVpnPlansActivity(getActivity()); } diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java index 3a718516db7e..5ee7e410d3ae 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java @@ -21,7 +21,6 @@ import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; -import org.chromium.ui.widget.Toast; import java.util.List; import java.util.TimeZone; @@ -35,8 +34,8 @@ public static void queryPurchaseFailed(Activity activity) { if (BraveVpnProfileUtils.getInstance().isBraveVPNConnected(activity)) { BraveVpnProfileUtils.getInstance().stopVpn(activity); } - Toast.makeText(activity, R.string.purchase_token_verification_failed, Toast.LENGTH_LONG) - .show(); + BraveVpnUtils.showToast( + activity.getResources().getString(R.string.purchase_token_verification_failed)); } public static void handleOnGetSubscriberCredential(Activity activity, boolean isSuccess) { @@ -51,8 +50,8 @@ public static void handleOnGetSubscriberCredential(Activity activity, boolean is } BraveVpnNativeWorker.getInstance().getTimezonesForRegions(); } else { - Toast.makeText(activity, R.string.vpn_profile_creation_failed, Toast.LENGTH_SHORT) - .show(); + BraveVpnUtils.showToast( + activity.getResources().getString(R.string.vpn_profile_creation_failed)); BraveVpnUtils.dismissProgressDialog(); } } @@ -63,12 +62,9 @@ public static void handleOnGetTimezonesForRegions(Activity activity, String region = BraveVpnUtils.getRegionForTimeZone( jsonTimezones, TimeZone.getDefault().getID()); if (TextUtils.isEmpty(region)) { - Toast.makeText(activity, - String.format(activity.getResources().getString( - R.string.couldnt_get_matching_timezone), - TimeZone.getDefault().getID()), - Toast.LENGTH_LONG) - .show(); + BraveVpnUtils.showToast(String.format( + activity.getResources().getString(R.string.couldnt_get_matching_timezone), + TimeZone.getDefault().getID())); return; } if (!TextUtils.isEmpty(BraveVpnUtils.selectedServerRegion) @@ -88,8 +84,8 @@ public static void handleOnGetTimezonesForRegions(Activity activity, BraveVpnNativeWorker.getInstance().getHostnamesForRegion(region); braveVpnPrefModel.setServerRegion(region); } else { - Toast.makeText(activity, R.string.vpn_profile_creation_failed, Toast.LENGTH_LONG) - .show(); + BraveVpnUtils.showToast( + activity.getResources().getString(R.string.vpn_profile_creation_failed)); BraveVpnUtils.dismissProgressDialog(); } } @@ -103,8 +99,8 @@ public static Pair handleOnGetHostnamesForRegion(Activity activi braveVpnPrefModel.getSubscriberCredential(), braveVpnPrefModel.getClientPublicKey(), host.first); } else { - Toast.makeText(activity, R.string.vpn_profile_creation_failed, Toast.LENGTH_LONG) - .show(); + BraveVpnUtils.showToast( + activity.getResources().getString(R.string.vpn_profile_creation_failed)); BraveVpnUtils.dismissProgressDialog(); } return host; diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java index eca81cb28204..8a2c7028279a 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java @@ -36,6 +36,7 @@ import org.chromium.chrome.browser.vpn.models.BraveVpnWireguardProfileCredentials; import org.chromium.chrome.browser.vpn.split_tunnel.SplitTunnelActivity; import org.chromium.chrome.browser.vpn.wireguard.WireguardConfigUtils; +import org.chromium.ui.widget.Toast; import java.util.ArrayList; import java.util.List; @@ -275,4 +276,9 @@ public static void reportBackgroundUsageP3A() { BraveVpnPrefUtils.setSessionStartTimeMs(-1); BraveVpnPrefUtils.setSessionEndTimeMs(-1); } + + public static void showToast(String message) { + Context context = ContextUtils.getApplicationContext(); + Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); + } } diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java index 3f2209f714b7..bd8843915834 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java @@ -33,7 +33,6 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.util.BraveConstants; -import org.chromium.ui.widget.Toast; import java.util.ArrayList; import java.util.Arrays; @@ -51,12 +50,6 @@ public class InAppPurchaseWrapper { private BillingClient mBillingClient; private int mRetryCount; - public static final List NIGHTLY_SUBS_PRODUCT_IDS = new ArrayList<>( - Arrays.asList(NIGHTLY_MONTHLY_SUBSCRIPTION, NIGHTLY_YEARLY_SUBSCRIPTION)); - - public static final List RELEASE_SUBS_PRODUCT_IDS = new ArrayList<>( - Arrays.asList(RELEASE_MONTHLY_SUBSCRIPTION, RELEASE_YEARLY_SUBSCRIPTION)); - private static volatile InAppPurchaseWrapper sInAppPurchaseWrapper; private static Object mutex = new Object(); @@ -100,6 +93,9 @@ public boolean isBillingClientReady() { public void startBillingServiceConnection( Context context, MutableLiveData billingClientConnectionState) { + if (!BraveVpnUtils.isBraveVpnFeatureEnable()) { + return; + } mBillingClient = BillingClient.newBuilder(context) .enablePendingPurchases() .setListener(getPurchasesUpdatedListener(context)) @@ -121,7 +117,6 @@ public void onBillingSetupFinished(@NonNull BillingResult billingResult) { == BillingClient.BillingResponseCode.OK) { retryCount = 0; if (billingClientConnectionState != null) { - Log.e("BraveVPN", "billingClientConnectionState != null"); billingClientConnectionState.postValue(true); } } @@ -179,9 +174,7 @@ public void queryProductDetailsAsync(SubscriptionType subscriptionType, mBillingClient.queryProductDetailsAsync( queryProductDetailsParams, (billingResult, productDetailsList) -> { - Log.e("BraveVPN", "mBillingClient.queryProductDetailsAsync 1"); if (billingResult.getResponseCode() == OK) { - Log.e("BraveVPN", "mBillingClient.queryProductDetailsAsync 2"); for (ProductDetails productDetail : productDetailsList) { productDetails.put(productDetail.getProductId(), productDetail); } @@ -209,7 +202,6 @@ public void queryPurchases() { public void initiatePurchase(Activity activity, ProductDetails productDetails) { String offerToken = productDetails.getSubscriptionOfferDetails().get(0).getOfferToken(); - Log.e("BraveVPN", "offerToken : " + offerToken); List productDetailsParamsList = new ArrayList<>(); productDetailsParamsList.add(BillingFlowParams.ProductDetailsParams.newBuilder() .setProductDetails(productDetails) @@ -242,16 +234,11 @@ private void acknowledgePurchase(Context context, Purchase purchase) { if (billingResult.getResponseCode() == OK) { BraveVpnPrefUtils.setSubscriptionPurchase(true); BraveVpnUtils.openBraveVpnProfileActivity(context); - Toast.makeText(context, - context.getResources().getString(R.string.subscription_consumed), - Toast.LENGTH_SHORT) - .show(); + BraveVpnUtils.showToast( + context.getResources().getString(R.string.subscription_consumed)); } else { - Toast.makeText(context, - context.getResources().getString(R.string.fail_to_aknowledge) - + billingResult, - Toast.LENGTH_SHORT) - .show(); + BraveVpnUtils.showToast( + context.getResources().getString(R.string.fail_to_aknowledge)); } }); } else { @@ -268,25 +255,20 @@ private PurchasesUpdatedListener getPurchasesUpdatedListener(Context context) { } } else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.ITEM_ALREADY_OWNED) { - Toast.makeText(context, - context.getResources().getString(R.string.already_subscribed), - Toast.LENGTH_SHORT) - .show(); + BraveVpnUtils.showToast( + context.getResources().getString(R.string.already_subscribed)); } else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.SERVICE_DISCONNECTED && mRetryCount < 5) { - // startBillingServiceConnection(context); + startBillingServiceConnection(context, null); mRetryCount++; } else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.USER_CANCELED) { - Toast.makeText(context, - context.getResources().getString(R.string.error_caused_by_user), - Toast.LENGTH_SHORT) - .show(); + BraveVpnUtils.showToast( + context.getResources().getString(R.string.error_caused_by_user)); } else { - Toast.makeText(context, context.getResources().getString(R.string.purchased_failed), - Toast.LENGTH_SHORT) - .show(); + BraveVpnUtils.showToast( + context.getResources().getString(R.string.purchased_failed)); } }; } diff --git a/android/java/res/layout/activity_brave_vpn_plan.xml b/android/java/res/layout/activity_brave_vpn_plan.xml index ca4bebf6c758..0c4cce270c96 100644 --- a/android/java/res/layout/activity_brave_vpn_plan.xml +++ b/android/java/res/layout/activity_brave_vpn_plan.xml @@ -21,10 +21,6 @@ android:fadeScrollbars="false" android:scrollbars="vertical"> - - @@ -120,13 +117,29 @@ - + android:layout_height="wrap_content"> + + + + + + @@ -180,16 +193,30 @@ android:layout_gravity="center" android:orientation="vertical"> - + android:layout_height="wrap_content"> + + + + + + - - - - From 166d75ad23f541da172054f5100aa7ceb19878a9 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Fri, 25 Aug 2023 02:02:57 -0400 Subject: [PATCH 11/17] Resolve presubmit issues --- .../chrome/browser/app/BraveActivity.java | 2 -- .../browser/settings/BraveVpnPreferences.java | 3 --- .../vpn/activities/BraveVpnParentActivity.java | 16 ---------------- .../vpn/activities/BraveVpnPlansActivity.java | 3 --- .../vpn/utils/BraveVpnApiResponseUtils.java | 7 ------- .../browser/vpn/utils/InAppPurchaseWrapper.java | 2 -- 6 files changed, 33 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 3a1b39fb3ce8..11210676e7b9 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -34,9 +34,7 @@ import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; -import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.Purchase; -import com.android.billingclient.api.PurchasesResponseListener; import com.brave.playlist.util.ConstantUtils; import com.brave.playlist.util.PlaylistPreferenceUtils; import com.brave.playlist.util.PlaylistUtils; diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index 591290ac6eda..337cfac639d3 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -17,16 +17,13 @@ import android.os.Looper; import android.util.Pair; -import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; -import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.Purchase; -import com.android.billingclient.api.PurchasesResponseListener; import com.wireguard.android.backend.GoBackend; import com.wireguard.crypto.KeyPair; diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 69f3d6320fca..cbf9f512aa5e 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -12,11 +12,8 @@ import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import androidx.annotation.NonNull; -import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.Purchase; -import com.android.billingclient.api.PurchasesResponseListener; import com.wireguard.android.backend.GoBackend; import com.wireguard.crypto.KeyPair; @@ -42,8 +39,6 @@ import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.wireguard.WireguardConfigUtils; -import java.util.List; - public abstract class BraveVpnParentActivity extends AsyncInitializationActivity implements BraveVpnObserver { private static final String TAG = "BraveVPN"; @@ -99,20 +94,16 @@ protected void verifySubscription() { break; } } - Log.e("BraveVPN", "verifySubscription 1"); if (activePurchase != null) { - Log.e("BraveVPN", "verifySubscription 2"); mBraveVpnPrefModel.setPurchaseToken(activePurchase.getPurchaseToken()); mBraveVpnPrefModel.setProductId(activePurchase.getProducts().get(0).toString()); BraveVpnNativeWorker.getInstance().verifyPurchaseToken( mBraveVpnPrefModel.getPurchaseToken(), mBraveVpnPrefModel.getProductId(), BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); } else { - Log.e("BraveVPN", "verifySubscription 3"); if (!mIsVerification) { BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); } - Log.e("BraveVPN", "verifySubscription 4"); BraveVpnUtils.dismissProgressDialog(); } }); @@ -120,13 +111,10 @@ protected void verifySubscription() { @Override public void onVerifyPurchaseToken(String jsonResponse, boolean isSuccess) { - Log.e("BraveVPN", "onVerifyPurchaseToken 1"); if (isSuccess && mBraveVpnPrefModel != null) { - Log.e("BraveVPN", "onVerifyPurchaseToken 2"); Long purchaseExpiry = BraveVpnUtils.getPurchaseExpiryDate(jsonResponse); int paymentState = BraveVpnUtils.getPaymentState(jsonResponse); if (purchaseExpiry > 0 && purchaseExpiry >= System.currentTimeMillis()) { - Log.e("BraveVPN", "onVerifyPurchaseToken 3"); BraveVpnPrefUtils.setPurchaseToken(mBraveVpnPrefModel.getPurchaseToken()); BraveVpnPrefUtils.setProductId(mBraveVpnPrefModel.getProductId()); BraveVpnPrefUtils.setPurchaseExpiry(purchaseExpiry); @@ -144,20 +132,16 @@ public void onVerifyPurchaseToken(String jsonResponse, boolean isSuccess) { BraveVpnUtils.dismissProgressDialog(); } } else { - Log.e("BraveVPN", "onVerifyPurchaseToken 4"); BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); if (mIsVerification) { - Log.e("BraveVPN", "onVerifyPurchaseToken 5"); mIsVerification = false; showRestoreMenu(false); BraveVpnUtils.dismissProgressDialog(); } else { - Log.e("BraveVPN", "onVerifyPurchaseToken 6"); BraveVpnUtils.openBraveVpnPlansActivity(BraveVpnParentActivity.this); } } } else { - Log.e("BraveVPN", "onVerifyPurchaseToken 7"); BraveVpnUtils.dismissProgressDialog(); } }; diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java index 16140438c8d9..c3cd548c664e 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java @@ -23,13 +23,10 @@ import androidx.viewpager.widget.ViewPager; import com.android.billingclient.api.ProductDetails; -import com.android.billingclient.api.SkuDetails; import com.google.android.material.tabs.TabLayout; -import org.chromium.base.Log; import org.chromium.chrome.R; import org.chromium.chrome.browser.firstrun.BraveFirstRunFlowSequencer; -import org.chromium.chrome.browser.util.BraveConstants; import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.adapters.BraveVpnPlanPagerAdapter; diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java index 5ee7e410d3ae..17800f296578 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java @@ -11,18 +11,11 @@ import android.text.TextUtils; import android.util.Pair; -import androidx.annotation.NonNull; - -import com.android.billingclient.api.BillingResult; -import com.android.billingclient.api.Purchase; -import com.android.billingclient.api.PurchasesResponseListener; - import org.chromium.chrome.R; import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; -import java.util.List; import java.util.TimeZone; public class BraveVpnApiResponseUtils { diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java index bd8843915834..14bae98c850e 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java @@ -23,7 +23,6 @@ import com.android.billingclient.api.BillingResult; import com.android.billingclient.api.ProductDetails; import com.android.billingclient.api.Purchase; -import com.android.billingclient.api.PurchasesResponseListener; import com.android.billingclient.api.PurchasesUpdatedListener; import com.android.billingclient.api.QueryProductDetailsParams; import com.android.billingclient.api.QueryPurchasesParams; @@ -35,7 +34,6 @@ import org.chromium.chrome.browser.util.BraveConstants; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; From 18cf1c71b5b4e44fa4e21cc06d5ee7edc1d802c5 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Fri, 25 Aug 2023 02:17:30 -0400 Subject: [PATCH 12/17] Update firebase proto license --- .../vpn/activities/BraveVpnPlansActivity.java | 12 +- .../LICENSE | 202 ++++++++++++++++++ .../README.chromium | 18 +- 3 files changed, 224 insertions(+), 8 deletions(-) create mode 100644 third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/LICENSE diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java index c3cd548c664e..5cca374621a0 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java @@ -162,10 +162,12 @@ public void run() { .findFirst() .get() .getFormattedPrice(); - mMonthlySubscriptionAmountText.setText(String.format( + String monthlyProductPriceText = String.format( getResources().getString( R.string.monthly_subscription_amount), - monthlyProductPrice)); + monthlyProductPrice); + mMonthlySubscriptionAmountText.setText( + monthlyProductPriceText); mMonthlyPlanProgress.setVisibility(View.GONE); } } @@ -223,10 +225,12 @@ public void run() { .findFirst() .get() .getFormattedPrice(); - mYearlySubscriptionAmountText.setText(String.format( + String yearlyProductPriceText = String.format( getResources().getString( R.string.yearly_subscription_amount), - yearlyProductPrice)); + yearlyProductPrice); + mYearlySubscriptionAmountText.setText( + yearlyProductPriceText); mYearlyPlanProgress.setVisibility(View.GONE); } } diff --git a/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/LICENSE b/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/LICENSE new file mode 100644 index 000000000000..7a4a3ea2424c --- /dev/null +++ b/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/README.chromium b/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/README.chromium index adc4f99c14eb..cff78b405b34 100644 --- a/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/README.chromium +++ b/third_party/android_deps/libs/com_google_firebase_firebase_encoders_proto/README.chromium @@ -1,4 +1,14 @@ -Name: integrity -URL: https://maven.google.com/web/index.html?q=integrity#com.google.android.play:integrity -License: LicenseRef-AndroidSDK -License File: /brave/common/licenses/AndroidSDK +Name: firebase-encoders-proto +Short Name: firebase-encoders-proto +URL: https://firebase.google.com +Version: 16.1.0 +License: Apache Version 2.0 +License File: LICENSE +CPEPrefix: unknown +Security Critical: yes + +Description: +Commonly used encoders for Firebase SKDs. + +Local Modifications: +No modifications. From 95883433dfa528d42c63010a5400e1f42a763989 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Mon, 28 Aug 2023 08:34:11 -0400 Subject: [PATCH 13/17] ADd .gn patch for autovalue deps --- build/android/config.gni | 1 + patches/third_party-android_deps-BUILD.gn.patch | 12 ++++++++++++ third_party/android_deps/BUILD.gn | 1 + 3 files changed, 14 insertions(+) create mode 100644 patches/third_party-android_deps-BUILD.gn.patch diff --git a/build/android/config.gni b/build/android/config.gni index 33082e1acf44..b06338b489d7 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -63,6 +63,7 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:google_play_services_safetynet_java", "//brave/third_party/zxing:zxing_java", "//third_party/android_deps:com_android_support_support_annotations_java", + "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", "//third_party/android_deps:com_google_code_gson_gson_java", "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/android_deps:google_play_services_vision_common_java", diff --git a/patches/third_party-android_deps-BUILD.gn.patch b/patches/third_party-android_deps-BUILD.gn.patch new file mode 100644 index 000000000000..cacc83df1302 --- /dev/null +++ b/patches/third_party-android_deps-BUILD.gn.patch @@ -0,0 +1,12 @@ +diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn +index 5025e6341bf33311aa880a0775e57468c1284819..f611368f01ca570b8668a2cdfa7bf26636290c5b 100644 +--- a/third_party/android_deps/BUILD.gn ++++ b/third_party/android_deps/BUILD.gn +@@ -461,6 +461,7 @@ java_prebuilt("com_google_auto_value_auto_value_annotations_java") { + ":*", + "//third_party/androidx:*", + ] ++ visibility += [ "//chrome/android:chrome_java", "//brave/third_party/android_deps:com_google_android_datatransport_transport_runtime_java__classes" ] supports_android = true + } + + # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn index 2c6ada7bf062..d3058934323d 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn @@ -71,6 +71,7 @@ android_aar_prebuilt( info_path = "libs/com_google_android_datatransport_transport_runtime/com_google_android_datatransport_transport_runtime.info" deps = [ ":com_google_firebase_firebase_encoders_proto_java", + "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/android_deps:javax_inject_javax_inject_java", "//third_party/androidx:androidx_annotation_annotation_java", From a85f75356d6ec4b1f50bafb9cf9aebd36dd5bd33 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Wed, 6 Sep 2023 13:51:25 -0400 Subject: [PATCH 14/17] Add sources.gni for billing client Add refs to sources --- android/brave_java_sources.gni | 4 +++- .../org/chromium/chrome/browser/app/BraveActivity.java | 2 +- .../appmenu/BraveTabbedAppMenuPropertiesDelegate.java | 2 +- .../browser/settings/BraveMainPreferencesBase.java | 2 +- .../chrome/browser/settings/BraveVpnPreferences.java | 2 +- .../browser/vpn/activities/BraveVpnParentActivity.java | 2 +- .../browser/vpn/activities/BraveVpnPlansActivity.java | 2 +- .../browser/vpn/activities/BraveVpnProfileActivity.java | 2 +- .../vpn/{utils => billing}/InAppPurchaseWrapper.java | 4 +++- .../chrome/browser/vpn/billing/billing_sources.gni | 9 +++++++++ .../browser/vpn/utils/BraveVpnApiResponseUtils.java | 1 + build/android/config.gni | 9 ++++----- third_party/android_deps/BUILD.gn | 4 ---- 13 files changed, 27 insertions(+), 18 deletions(-) rename android/java/org/chromium/chrome/browser/vpn/{utils => billing}/InAppPurchaseWrapper.java (98%) create mode 100644 android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni index 6f1a3fcb4514..6694aff3db04 100644 --- a/android/brave_java_sources.gni +++ b/android/brave_java_sources.gni @@ -5,6 +5,8 @@ import("//brave/android/features/tab_ui/brave_tab_management_java_sources.gni") import("//brave/android/feed/brave_feed_java_sources.gni") +import( + "//brave/android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni") import("//brave/browser/brave_ads/android/java_sources.gni") import("//brave/browser/flags/brave_flags_java_sources.gni") import("//brave/browser/incognito/android/java_sources.gni") @@ -471,7 +473,6 @@ brave_java_sources = [ "../../brave/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java", "../../brave/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnProfileUtils.java", "../../brave/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java", - "../../brave/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java", "../../brave/android/java/org/chromium/chrome/browser/vpn/wireguard/TunnelModel.java", "../../brave/android/java/org/chromium/chrome/browser/vpn/wireguard/WireguardConfigUtils.java", "../../brave/android/java/org/chromium/chrome/browser/vpn/wireguard/WireguardServiceImpl.java", @@ -487,6 +488,7 @@ brave_java_sources += brave_rewards_java_sources brave_java_sources += brave_feed_java_sources brave_java_sources += brave_public_tab_management_java_sources brave_java_sources += brave_share_java_sources +brave_java_sources += brave_app_vpn_billing_sources brave_browser_ui_android_appmenu_internal_sources = [ "//brave/browser/ui/android/appmenu/internal/java/src/org/chromium/chrome/browser/ui/appmenu/BraveAppMenu.java", diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 11210676e7b9..3459601eb009 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -171,13 +171,13 @@ import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.BraveVpnObserver; import org.chromium.chrome.browser.vpn.activities.BraveVpnProfileActivity; +import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.fragments.BraveVpnCalloutDialogFragment; import org.chromium.chrome.browser.vpn.fragments.LinkVpnSubscriptionDialogFragment; import org.chromium.chrome.browser.vpn.utils.BraveVpnApiResponseUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnProfileUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.wireguard.WireguardConfigUtils; import org.chromium.components.browser_ui.settings.SettingsLauncher; import org.chromium.components.embedder_support.util.UrlConstants; diff --git a/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java b/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java index 9131b15b4d06..01d0a1e7b8be 100644 --- a/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java +++ b/android/java/org/chromium/chrome/browser/appmenu/BraveTabbedAppMenuPropertiesDelegate.java @@ -45,9 +45,9 @@ import org.chromium.chrome.browser.ui.appmenu.AppMenuDelegate; import org.chromium.chrome.browser.ui.appmenu.AppMenuHandler; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; +import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.utils.BraveVpnProfileUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import org.chromium.chrome.features.start_surface.StartSurface; import org.chromium.components.user_prefs.UserPrefs; import org.chromium.ui.modaldialog.ModalDialogManager; diff --git a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java index 8586979175ef..5858dafbfe68 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveMainPreferencesBase.java @@ -33,9 +33,9 @@ import org.chromium.chrome.browser.rate.BraveRateDialogFragment; import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory; import org.chromium.chrome.browser.toolbar.bottom.BottomToolbarConfiguration; +import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import org.chromium.chrome.browser.widget.quickactionsearchandbookmark.utils.BraveSearchWidgetUtils; import org.chromium.components.browser_ui.accessibility.BraveAccessibilitySettings; import org.chromium.components.browser_ui.settings.ChromeBasePreference; diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index 337cfac639d3..137a3050c78d 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -38,6 +38,7 @@ import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.BraveVpnObserver; +import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import org.chromium.chrome.browser.vpn.models.BraveVpnServerRegion; import org.chromium.chrome.browser.vpn.models.BraveVpnWireguardProfileCredentials; @@ -45,7 +46,6 @@ import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnProfileUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.wireguard.WireguardConfigUtils; import org.chromium.components.browser_ui.settings.ChromeBasePreference; import org.chromium.components.browser_ui.settings.ChromeSwitchPreference; diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index cbf9f512aa5e..5841355131e4 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -30,13 +30,13 @@ import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.BraveVpnObserver; +import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import org.chromium.chrome.browser.vpn.models.BraveVpnWireguardProfileCredentials; import org.chromium.chrome.browser.vpn.utils.BraveVpnApiResponseUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnProfileUtils; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.wireguard.WireguardConfigUtils; public abstract class BraveVpnParentActivity diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java index 5cca374621a0..2612bf0270bd 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java @@ -30,8 +30,8 @@ import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.adapters.BraveVpnPlanPagerAdapter; +import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; import java.util.Map; diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java index 46ae74ea07a7..a447e2446c1f 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnProfileActivity.java @@ -24,9 +24,9 @@ import org.chromium.chrome.browser.firstrun.BraveFirstRunFlowSequencer; import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; +import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import org.chromium.chrome.browser.vpn.utils.InAppPurchaseWrapper; public class BraveVpnProfileActivity extends BraveVpnParentActivity { private BraveFirstRunFlowSequencer mFirstRunFlowSequencer; diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java similarity index 98% rename from android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java rename to android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java index 14bae98c850e..f0c61d3d5709 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java @@ -5,7 +5,7 @@ * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ -package org.chromium.chrome.browser.vpn.utils; +package org.chromium.chrome.browser.vpn.billing; import static com.android.billingclient.api.BillingClient.BillingResponseCode.OK; @@ -32,6 +32,8 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.util.BraveConstants; +import org.chromium.chrome.browser.vpn.utils.BraveVpnPrefUtils; +import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; import java.util.ArrayList; import java.util.HashMap; diff --git a/android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni b/android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni new file mode 100644 index 000000000000..baa324e3643f --- /dev/null +++ b/android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni @@ -0,0 +1,9 @@ +# Copyright (c) 2023 The Brave Authors. All rights reserved. +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this file, +# You can obtain one at https://mozilla.org/MPL/2.0/. + +brave_app_vpn_billing_sources = [ "../../brave/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java" ] + +brave_app_vpn_billing_deps = + [ "//brave/third_party/android_deps:com_android_billingclient_java" ] diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java index 17800f296578..ed32ec2a6825 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java @@ -14,6 +14,7 @@ import org.chromium.chrome.R; import org.chromium.chrome.browser.util.LiveDataUtil; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; +import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.models.BraveVpnPrefModel; import java.util.TimeZone; diff --git a/build/android/config.gni b/build/android/config.gni index b06338b489d7..e30a39dd12f1 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -5,6 +5,8 @@ import("//brave/android/brave_java_resources.gni") import("//brave/android/brave_java_sources.gni") +import( + "//brave/android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni") import("//brave/build/android/bytecode/bytecode_rewriter.gni") declare_args() { @@ -41,12 +43,9 @@ brave_chrome_java_deps = [ "//brave/components/url_sanitizer/common/mojom:mojom_java", "//brave/components/variations/android:java", "//brave/third_party/android_deps:com_airbnb_android_java", - "//brave/third_party/android_deps:com_android_billingclient_java", "//brave/third_party/android_deps:com_android_installreferrer_java", "//brave/third_party/android_deps:com_brave_playlist_java", "//brave/third_party/android_deps:com_github_bumptech_glide_java", - "//brave/third_party/android_deps:com_google_android_datatransport_transport_backend_cct_java", - "//brave/third_party/android_deps:com_google_android_datatransport_transport_runtime_java", "//brave/third_party/android_deps:com_google_android_exoplayer_exoplayer_common_java", "//brave/third_party/android_deps:com_google_android_exoplayer_exoplayer_core_java", "//brave/third_party/android_deps:com_google_android_exoplayer_exoplayer_database_java", @@ -63,9 +62,7 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:google_play_services_safetynet_java", "//brave/third_party/zxing:zxing_java", "//third_party/android_deps:com_android_support_support_annotations_java", - "//third_party/android_deps:com_google_auto_value_auto_value_annotations_java", "//third_party/android_deps:com_google_code_gson_gson_java", - "//third_party/android_deps:google_firebase_firebase_messaging_java", "//third_party/android_deps:google_play_services_vision_common_java", "//third_party/android_deps:google_play_services_vision_java", "//third_party/android_deps:javax_inject_javax_inject_java", @@ -77,6 +74,8 @@ brave_chrome_java_deps = [ "//url/mojom:url_mojom_origin_java", ] +brave_chrome_java_deps += brave_app_vpn_billing_deps + brave_chrome_all_java_deps = [ "//brave/android/features/tab_ui:java", "//brave/browser/partnercustomizations:delegate_public_impl_java", diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn index d3058934323d..41e7b08d0e86 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn @@ -3,12 +3,9 @@ import("//build/config/android/rules.gni") group("android_deps") { public_deps = [ ":com_airbnb_android_java", - ":com_android_billingclient_java", ":com_android_installreferrer_java", ":com_brave_playlist_java", ":com_github_bumptech_glide_java", - ":com_google_android_datatransport_transport_backend_cct_java", - ":com_google_android_datatransport_transport_runtime_java", ":com_google_android_exoplayer_exoplayer_common_java", ":com_google_android_exoplayer_exoplayer_core_java", ":com_google_android_exoplayer_exoplayer_database_java", @@ -19,7 +16,6 @@ group("android_deps") { ":com_google_android_exoplayer_extension_cast_java", ":com_google_android_exoplayer_extension_mediasession_java", ":com_google_android_play_integrity_java", - ":com_google_firebase_firebase_encoders_proto_java", ":com_wireguard_android_java", ":google_play_services_safetynet_java", ] From 6c3e315940a5b87d21edc00784d8ac537412b78e Mon Sep 17 00:00:00 2001 From: deeppandya Date: Thu, 7 Sep 2023 01:54:35 -0400 Subject: [PATCH 15/17] Update direct dependency for billing client Update existing code to adapt to new changes with InAppBillingWrapper --- .../chrome/browser/app/BraveActivity.java | 36 ++- .../browser/settings/BraveVpnPreferences.java | 65 +++-- .../activities/BraveVpnParentActivity.java | 40 ++-- .../vpn/activities/BraveVpnPlansActivity.java | 226 ++++++++---------- .../vpn/billing/InAppPurchaseWrapper.java | 79 +++--- .../vpn/utils/BraveVpnApiResponseUtils.java | 4 +- 6 files changed, 221 insertions(+), 229 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 3459601eb009..1e49e810914b 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -34,7 +34,6 @@ import androidx.lifecycle.LiveData; import androidx.lifecycle.MutableLiveData; -import com.android.billingclient.api.Purchase; import com.brave.playlist.util.ConstantUtils; import com.brave.playlist.util.PlaylistPreferenceUtils; import com.brave.playlist.util.PlaylistUtils; @@ -645,26 +644,21 @@ private void updateWalletBadgeVisibility() { private void verifySubscription() { InAppPurchaseWrapper.getInstance().queryPurchases(); - LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { - Purchase activePurchase = null; - for (Purchase purchase : purchases) { - if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { - activePurchase = purchase; - break; - } - } - if (activePurchase != null) { - mPurchaseToken = activePurchase.getPurchaseToken(); - mProductId = activePurchase.getProducts().get(0).toString(); - BraveVpnNativeWorker.getInstance().verifyPurchaseToken(mPurchaseToken, mProductId, - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); - } else { - BraveVpnApiResponseUtils.queryPurchaseFailed(BraveActivity.this); - if (!mIsVerification) { - BraveVpnUtils.openBraveVpnPlansActivity(BraveActivity.this); - } - } - }); + LiveDataUtil.observeOnce( + InAppPurchaseWrapper.getInstance().getActivePurchase(), activePurchase -> { + if (activePurchase != null) { + mPurchaseToken = activePurchase.getPurchaseToken(); + mProductId = activePurchase.getProducts().get(0).toString(); + BraveVpnNativeWorker.getInstance().verifyPurchaseToken(mPurchaseToken, + mProductId, BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, + getPackageName()); + } else { + BraveVpnApiResponseUtils.queryPurchaseFailed(BraveActivity.this); + if (!mIsVerification) { + BraveVpnUtils.openBraveVpnPlansActivity(BraveActivity.this); + } + } + }); } @Override diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index 137a3050c78d..6fe77f2c8cd3 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -23,7 +23,6 @@ import androidx.preference.Preference; import androidx.preference.PreferenceCategory; -import com.android.billingclient.api.Purchase; import com.wireguard.android.backend.GoBackend; import com.wireguard.crypto.KeyPair; @@ -378,39 +377,37 @@ public void run() { private void verifyPurchase(boolean isVerification) { InAppPurchaseWrapper.getInstance().queryPurchases(); - LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { - mBraveVpnPrefModel = new BraveVpnPrefModel(); - Purchase activePurchase = null; - for (Purchase purchase : purchases) { - if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { - activePurchase = purchase; - break; - } - } - if (activePurchase != null) { - mBraveVpnPrefModel.setPurchaseToken(activePurchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(activePurchase.getProducts().get(0).toString()); - if (BraveVpnPrefUtils.isResetConfiguration()) { - BraveVpnUtils.dismissProgressDialog(); - BraveVpnUtils.openBraveVpnProfileActivity(getActivity()); - return; - } - if (!isVerification) { - BraveVpnNativeWorker.getInstance().getSubscriberCredential( - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, - mBraveVpnPrefModel.getProductId(), BraveVpnUtils.IAP_ANDROID_PARAM_TEXT, - mBraveVpnPrefModel.getPurchaseToken(), getActivity().getPackageName()); - } else { - BraveVpnNativeWorker.getInstance().verifyPurchaseToken( - mBraveVpnPrefModel.getPurchaseToken(), - mBraveVpnPrefModel.getProductId(), - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getActivity().getPackageName()); - } - } else { - BraveVpnApiResponseUtils.queryPurchaseFailed(getActivity()); - BraveVpnUtils.mIsServerLocationChanged = false; - } - }); + LiveDataUtil.observeOnce( + InAppPurchaseWrapper.getInstance().getActivePurchase(), activePurchase -> { + mBraveVpnPrefModel = new BraveVpnPrefModel(); + if (activePurchase != null) { + mBraveVpnPrefModel.setPurchaseToken(activePurchase.getPurchaseToken()); + mBraveVpnPrefModel.setProductId( + activePurchase.getProducts().get(0).toString()); + if (BraveVpnPrefUtils.isResetConfiguration()) { + BraveVpnUtils.dismissProgressDialog(); + BraveVpnUtils.openBraveVpnProfileActivity(getActivity()); + return; + } + if (!isVerification) { + BraveVpnNativeWorker.getInstance().getSubscriberCredential( + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, + mBraveVpnPrefModel.getProductId(), + BraveVpnUtils.IAP_ANDROID_PARAM_TEXT, + mBraveVpnPrefModel.getPurchaseToken(), + getActivity().getPackageName()); + } else { + BraveVpnNativeWorker.getInstance().verifyPurchaseToken( + mBraveVpnPrefModel.getPurchaseToken(), + mBraveVpnPrefModel.getProductId(), + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, + getActivity().getPackageName()); + } + } else { + BraveVpnApiResponseUtils.queryPurchaseFailed(getActivity()); + BraveVpnUtils.mIsServerLocationChanged = false; + } + }); } @Override diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 5841355131e4..8dbd6069130d 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -13,7 +13,6 @@ import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; -import com.android.billingclient.api.Purchase; import com.wireguard.android.backend.GoBackend; import com.wireguard.crypto.KeyPair; @@ -86,27 +85,24 @@ public void finishNativeInitialization() { protected void verifySubscription() { mBraveVpnPrefModel = new BraveVpnPrefModel(); InAppPurchaseWrapper.getInstance().queryPurchases(); - LiveDataUtil.observeOnce(InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { - Purchase activePurchase = null; - for (Purchase purchase : purchases) { - if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { - activePurchase = purchase; - break; - } - } - if (activePurchase != null) { - mBraveVpnPrefModel.setPurchaseToken(activePurchase.getPurchaseToken()); - mBraveVpnPrefModel.setProductId(activePurchase.getProducts().get(0).toString()); - BraveVpnNativeWorker.getInstance().verifyPurchaseToken( - mBraveVpnPrefModel.getPurchaseToken(), mBraveVpnPrefModel.getProductId(), - BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); - } else { - if (!mIsVerification) { - BraveVpnApiResponseUtils.queryPurchaseFailed(BraveVpnParentActivity.this); - } - BraveVpnUtils.dismissProgressDialog(); - } - }); + LiveDataUtil.observeOnce( + InAppPurchaseWrapper.getInstance().getActivePurchase(), activePurchase -> { + if (activePurchase != null) { + mBraveVpnPrefModel.setPurchaseToken(activePurchase.getPurchaseToken()); + mBraveVpnPrefModel.setProductId( + activePurchase.getProducts().get(0).toString()); + BraveVpnNativeWorker.getInstance().verifyPurchaseToken( + mBraveVpnPrefModel.getPurchaseToken(), + mBraveVpnPrefModel.getProductId(), + BraveVpnUtils.SUBSCRIPTION_PARAM_TEXT, getPackageName()); + } else { + if (!mIsVerification) { + BraveVpnApiResponseUtils.queryPurchaseFailed( + BraveVpnParentActivity.this); + } + BraveVpnUtils.dismissProgressDialog(); + } + }); } @Override diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java index 2612bf0270bd..d093213205d8 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnPlansActivity.java @@ -1,9 +1,7 @@ -/** - * Copyright (c) 2021 The Brave Authors. All rights reserved. +/* Copyright (c) 2021 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - */ + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.chromium.chrome.browser.vpn.activities; @@ -22,7 +20,6 @@ import androidx.lifecycle.MutableLiveData; import androidx.viewpager.widget.ViewPager; -import com.android.billingclient.api.ProductDetails; import com.google.android.material.tabs.TabLayout; import org.chromium.chrome.R; @@ -33,8 +30,6 @@ import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; import org.chromium.chrome.browser.vpn.utils.BraveVpnUtils; -import java.util.Map; - public class BraveVpnPlansActivity extends BraveVpnParentActivity { private BraveFirstRunFlowSequencer mFirstRunFlowSequencer; private ProgressBar mMonthlyPlanProgress; @@ -115,127 +110,114 @@ public void finishNativeInitialization() { // Set up monthly subscription mMonthlyPlanProgress.setVisibility(View.VISIBLE); - InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( - InAppPurchaseWrapper.SubscriptionType.MONTHLY, - new InAppPurchaseWrapper.QueryProductDetailsResponse() { - @Override - public void onProductDetails( - Map productDetailsMap) { - ProductDetails monthlyProductDetails = productDetailsMap.get( - InAppPurchaseWrapper.getInstance().getProductId( - InAppPurchaseWrapper.SubscriptionType.MONTHLY)); - if (monthlyProductDetails != null) { - runOnUiThread(new Runnable() { - @Override - public void run() { - mMonthlySelectorLayout.setOnClickListener(v - -> InAppPurchaseWrapper.getInstance() - .initiatePurchase( - BraveVpnPlansActivity.this, - monthlyProductDetails)); - if (monthlyProductDetails.getSubscriptionOfferDetails() - != null - && monthlyProductDetails - .getSubscriptionOfferDetails() - .stream() - .findFirst() - .isPresent() - && monthlyProductDetails - .getSubscriptionOfferDetails() - .stream() - .findFirst() - .get() - .getPricingPhases() - .getPricingPhaseList() - .stream() - .findFirst() - .isPresent()) { - String monthlyProductPrice = - monthlyProductDetails - .getSubscriptionOfferDetails() - .stream() - .findFirst() - .get() - .getPricingPhases() - .getPricingPhaseList() - .stream() - .findFirst() - .get() - .getFormattedPrice(); - String monthlyProductPriceText = String.format( - getResources().getString( - R.string.monthly_subscription_amount), - monthlyProductPrice); - mMonthlySubscriptionAmountText.setText( - monthlyProductPriceText); - mMonthlyPlanProgress.setVisibility(View.GONE); - } + InAppPurchaseWrapper.getInstance().queryProductDetailsAsync(); + LiveDataUtil.observeOnce( + InAppPurchaseWrapper.getInstance().getMonthlyProductDetails(), + monthlyProductDetails -> { + if (monthlyProductDetails != null) { + runOnUiThread(new Runnable() { + @Override + public void run() { + mMonthlySelectorLayout.setOnClickListener(v + -> InAppPurchaseWrapper.getInstance() + .initiatePurchase( + BraveVpnPlansActivity.this, + monthlyProductDetails)); + if (monthlyProductDetails.getSubscriptionOfferDetails() + != null + && monthlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .isPresent() + && monthlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .get() + .getPricingPhases() + .getPricingPhaseList() + .stream() + .findFirst() + .isPresent()) { + String monthlyProductPrice = + monthlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .get() + .getPricingPhases() + .getPricingPhaseList() + .stream() + .findFirst() + .get() + .getFormattedPrice(); + String monthlyProductPriceText = String.format( + getResources().getString( + R.string.monthly_subscription_amount), + monthlyProductPrice); + mMonthlySubscriptionAmountText.setText( + monthlyProductPriceText); + mMonthlyPlanProgress.setVisibility(View.GONE); } - }); - } + } + }); } }); // Set up yearly subscription mYearlyPlanProgress.setVisibility(View.VISIBLE); - InAppPurchaseWrapper.getInstance().queryProductDetailsAsync( - InAppPurchaseWrapper.SubscriptionType.YEARLY, - new InAppPurchaseWrapper.QueryProductDetailsResponse() { - @Override - public void onProductDetails( - Map productDetailsMap) { - ProductDetails yearlyProductDetails = productDetailsMap.get( - InAppPurchaseWrapper.getInstance().getProductId( - InAppPurchaseWrapper.SubscriptionType.YEARLY)); - if (yearlyProductDetails != null) { - runOnUiThread(new Runnable() { - @Override - public void run() { - mYearlySelectorLayout.setOnClickListener(v - -> InAppPurchaseWrapper.getInstance() - .initiatePurchase( - BraveVpnPlansActivity.this, - yearlyProductDetails)); - if (yearlyProductDetails.getSubscriptionOfferDetails() - != null - && yearlyProductDetails - .getSubscriptionOfferDetails() - .stream() - .findFirst() - .isPresent() - && yearlyProductDetails - .getSubscriptionOfferDetails() - .stream() - .findFirst() - .get() - .getPricingPhases() - .getPricingPhaseList() - .stream() - .findFirst() - .isPresent()) { - String yearlyProductPrice = - yearlyProductDetails - .getSubscriptionOfferDetails() - .stream() - .findFirst() - .get() - .getPricingPhases() - .getPricingPhaseList() - .stream() - .findFirst() - .get() - .getFormattedPrice(); - String yearlyProductPriceText = String.format( - getResources().getString( - R.string.yearly_subscription_amount), - yearlyProductPrice); - mYearlySubscriptionAmountText.setText( - yearlyProductPriceText); - mYearlyPlanProgress.setVisibility(View.GONE); - } + LiveDataUtil.observeOnce( + InAppPurchaseWrapper.getInstance().getYearlyProductDetails(), + yearlyProductDetails -> { + if (yearlyProductDetails != null) { + runOnUiThread(new Runnable() { + @Override + public void run() { + mYearlySelectorLayout.setOnClickListener(v + -> InAppPurchaseWrapper.getInstance() + .initiatePurchase( + BraveVpnPlansActivity.this, + yearlyProductDetails)); + if (yearlyProductDetails.getSubscriptionOfferDetails() + != null + && yearlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .isPresent() + && yearlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .get() + .getPricingPhases() + .getPricingPhaseList() + .stream() + .findFirst() + .isPresent()) { + String yearlyProductPrice = + yearlyProductDetails + .getSubscriptionOfferDetails() + .stream() + .findFirst() + .get() + .getPricingPhases() + .getPricingPhaseList() + .stream() + .findFirst() + .get() + .getFormattedPrice(); + String yearlyProductPriceText = String.format( + getResources().getString( + R.string.yearly_subscription_amount), + yearlyProductPrice); + mYearlySubscriptionAmountText.setText( + yearlyProductPriceText); + mYearlyPlanProgress.setVisibility(View.GONE); } - }); - } + } + }); } }); } diff --git a/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java index f0c61d3d5709..8d8a808ab608 100644 --- a/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java @@ -1,14 +1,10 @@ -/** - * Copyright (c) 2021 The Brave Authors. All rights reserved. +/* Copyright (c) 2021 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. - */ + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at https://mozilla.org/MPL/2.0/. */ package org.chromium.chrome.browser.vpn.billing; -import static com.android.billingclient.api.BillingClient.BillingResponseCode.OK; - import android.app.Activity; import android.content.Context; @@ -55,18 +51,32 @@ public class InAppPurchaseWrapper { public enum SubscriptionType { MONTHLY, YEARLY } - public interface QueryProductDetailsResponse { - default void onProductDetails(Map productDetails) {} + private MutableLiveData mutableActivePurchase = new MutableLiveData(); + private LiveData activePurchase = mutableActivePurchase; + private void setActivePurchase(Purchase purchase) { + mutableActivePurchase.postValue(purchase); } - private MutableLiveData> mutablePurchases = new MutableLiveData(); - private LiveData> purchases = mutablePurchases; - private void setPurchases(List purchases) { - mutablePurchases.postValue(purchases); + public LiveData getActivePurchase() { + return activePurchase; } - public LiveData> getPurchases() { - return purchases; + private MutableLiveData mutableMonthlyProductDetails = new MutableLiveData(); + private LiveData monthlyProductDetails = mutableMonthlyProductDetails; + private void setMonthlyProductDetails(ProductDetails productDetails) { + mutableMonthlyProductDetails.postValue(productDetails); + } + public LiveData getMonthlyProductDetails() { + return monthlyProductDetails; + } + + private MutableLiveData mutableYearlyProductDetails = new MutableLiveData(); + private LiveData yearlyProductDetails = mutableYearlyProductDetails; + private void setYearlyProductDetails(ProductDetails productDetails) { + mutableYearlyProductDetails.postValue(productDetails); + } + public LiveData getYearlyProductDetails() { + return yearlyProductDetails; } private InAppPurchaseWrapper() {} @@ -161,12 +171,15 @@ public String getProductId(SubscriptionType subscriptionType) { } } - public void queryProductDetailsAsync(SubscriptionType subscriptionType, - QueryProductDetailsResponse queryProductDetailsResponse) { + public void queryProductDetailsAsync() { Map productDetails = new HashMap<>(); List products = new ArrayList<>(); products.add(QueryProductDetailsParams.Product.newBuilder() - .setProductId(getProductId(subscriptionType)) + .setProductId(getProductId(SubscriptionType.MONTHLY)) + .setProductType(BillingClient.ProductType.SUBS) + .build()); + products.add(QueryProductDetailsParams.Product.newBuilder() + .setProductId(getProductId(SubscriptionType.YEARLY)) .setProductType(BillingClient.ProductType.SUBS) .build()); QueryProductDetailsParams queryProductDetailsParams = @@ -178,7 +191,10 @@ public void queryProductDetailsAsync(SubscriptionType subscriptionType, for (ProductDetails productDetail : productDetailsList) { productDetails.put(productDetail.getProductId(), productDetail); } - queryProductDetailsResponse.onProductDetails(productDetails); + setMonthlyProductDetails( + productDetails.get(getProductId(SubscriptionType.MONTHLY))); + setYearlyProductDetails( + productDetails.get(getProductId(SubscriptionType.YEARLY))); } else { Log.e(TAG, "queryProductDetailsAsync failed" @@ -191,12 +207,19 @@ public void queryPurchases() { mBillingClient.queryPurchasesAsync(QueryPurchasesParams.newBuilder() .setProductType(BillingClient.ProductType.SUBS) .build(), - (billingResult, list) -> { + (billingResult, purchases) -> { + Purchase activePurchase = null; if (billingResult.getResponseCode() == OK) { - setPurchases(list); + for (Purchase purchase : purchases) { + if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { + activePurchase = purchase; + break; + } + } } else { Log.e(TAG, "queryPurchases failed" + billingResult.getDebugMessage()); } + setActivePurchase(activePurchase); }); } @@ -216,12 +239,8 @@ public void initiatePurchase(Activity activity, ProductDetails productDetails) { BillingResult billingResult = mBillingClient.launchBillingFlow(activity, billingFlowParams); } - public void processPurchases(Context context, List purchases) { - for (Purchase purchase : purchases) { - if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { - acknowledgePurchase(context, purchase); - } - } + public void processPurchases(Context context, Purchase activePurchase) { + acknowledgePurchase(context, activePurchase); } private void acknowledgePurchase(Context context, Purchase purchase) { @@ -251,7 +270,11 @@ private PurchasesUpdatedListener getPurchasesUpdatedListener(Context context) { if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) { if (purchases != null) { mRetryCount = 0; - processPurchases(context, purchases); + for (Purchase purchase : purchases) { + if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { + processPurchases(context, purchase); + } + } } } else if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.ITEM_ALREADY_OWNED) { diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java index ed32ec2a6825..5ec36efe1212 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnApiResponseUtils.java @@ -37,9 +37,9 @@ public static void handleOnGetSubscriberCredential(Activity activity, boolean is if (!BraveVpnNativeWorker.getInstance().isPurchasedUser()) { InAppPurchaseWrapper.getInstance().queryPurchases(); LiveDataUtil.observeOnce( - InAppPurchaseWrapper.getInstance().getPurchases(), purchases -> { + InAppPurchaseWrapper.getInstance().getActivePurchase(), activePurchase -> { InAppPurchaseWrapper.getInstance().processPurchases( - activity, purchases); + activity, activePurchase); }); } BraveVpnNativeWorker.getInstance().getTimezonesForRegions(); From 40b71704e94109d85755d1e8d8644b078b8779d2 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Thu, 7 Sep 2023 02:05:03 -0400 Subject: [PATCH 16/17] Update third_party/android/deps/BUILD.gn patch Resolve rebase error Remove indirect deps Resolve presubmit error --- .../vpn/activities/BraveVpnParentActivity.java | 14 +++----------- .../browser/vpn/billing/InAppPurchaseWrapper.java | 6 +++--- build/android/config.gni | 2 -- patches/third_party-android_deps-BUILD.gn.patch | 4 ++-- 4 files changed, 8 insertions(+), 18 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java index 8dbd6069130d..c391ef96abf6 100644 --- a/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java +++ b/android/java/org/chromium/chrome/browser/vpn/activities/BraveVpnParentActivity.java @@ -20,13 +20,9 @@ import org.chromium.base.supplier.OneshotSupplier; import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.chrome.R; -import org.chromium.chrome.browser.profiles.Profile; - -import org.chromium.base.task.PostTask; -import org.chromium.base.task.TaskTraits; import org.chromium.chrome.browser.init.AsyncInitializationActivity; +import org.chromium.chrome.browser.profiles.Profile; import org.chromium.chrome.browser.util.LiveDataUtil; - import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; import org.chromium.chrome.browser.vpn.BraveVpnObserver; import org.chromium.chrome.browser.vpn.billing.InAppPurchaseWrapper; @@ -48,12 +44,12 @@ public abstract class BraveVpnParentActivity abstract void showRestoreMenu(boolean shouldShowRestore); abstract void updateProfileView(); - // Pass @{code ActivityResultRegistry} reference explicitly to avoid crash - // https://github.com/brave/brave-browser/issues/31882 public BraveVpnParentActivity() { mProfileSupplier = new OneshotSupplierImpl<>(); } + // Pass @{code ActivityResultRegistry} reference explicitly to avoid crash + // https://github.com/brave/brave-browser/issues/31882 ActivityResultLauncher mIntentActivityResultLauncher = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), getActivityResultRegistry(), result -> { @@ -76,10 +72,6 @@ public BraveVpnParentActivity() { public void finishNativeInitialization() { super.finishNativeInitialization(); mProfileSupplier.set(Profile.getLastUsedRegularProfile()); - if (BraveVpnUtils.isBraveVpnFeatureEnable()) { - InAppPurchaseWrapper.getInstance().startBillingServiceConnection( - BraveVpnParentActivity.this); - } } protected void verifySubscription() { diff --git a/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java b/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java index 8d8a808ab608..69ce406771b3 100644 --- a/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java +++ b/android/java/org/chromium/chrome/browser/vpn/billing/InAppPurchaseWrapper.java @@ -187,7 +187,7 @@ public void queryProductDetailsAsync() { mBillingClient.queryProductDetailsAsync( queryProductDetailsParams, (billingResult, productDetailsList) -> { - if (billingResult.getResponseCode() == OK) { + if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) { for (ProductDetails productDetail : productDetailsList) { productDetails.put(productDetail.getProductId(), productDetail); } @@ -209,7 +209,7 @@ public void queryPurchases() { .build(), (billingResult, purchases) -> { Purchase activePurchase = null; - if (billingResult.getResponseCode() == OK) { + if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) { for (Purchase purchase : purchases) { if (purchase.getPurchaseState() == Purchase.PurchaseState.PURCHASED) { activePurchase = purchase; @@ -250,7 +250,7 @@ private void acknowledgePurchase(Context context, Purchase purchase) { .build(); if (!purchase.isAcknowledged()) { mBillingClient.acknowledgePurchase(acknowledgePurchaseParams, billingResult -> { - if (billingResult.getResponseCode() == OK) { + if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) { BraveVpnPrefUtils.setSubscriptionPurchase(true); BraveVpnUtils.openBraveVpnProfileActivity(context); BraveVpnUtils.showToast( diff --git a/build/android/config.gni b/build/android/config.gni index e30a39dd12f1..7b102301271a 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -56,7 +56,6 @@ brave_chrome_java_deps = [ "//brave/third_party/android_deps:com_google_android_exoplayer_extension_cast_java", "//brave/third_party/android_deps:com_google_android_exoplayer_extension_mediasession_java", "//brave/third_party/android_deps:com_google_android_play_integrity_java", - "//brave/third_party/android_deps:com_google_firebase_firebase_encoders_proto_java", "//brave/third_party/android_deps:com_wireguard_android_J__unpack_aar", "//brave/third_party/android_deps:com_wireguard_android_java", "//brave/third_party/android_deps:google_play_services_safetynet_java", @@ -65,7 +64,6 @@ brave_chrome_java_deps = [ "//third_party/android_deps:com_google_code_gson_gson_java", "//third_party/android_deps:google_play_services_vision_common_java", "//third_party/android_deps:google_play_services_vision_java", - "//third_party/android_deps:javax_inject_javax_inject_java", "//third_party/android_deps:org_jetbrains_kotlinx_kotlinx_coroutines_android_java", "//third_party/androidx:androidx_lifecycle_lifecycle_livedata_core_java", "//third_party/androidx:androidx_lifecycle_lifecycle_livedata_java", diff --git a/patches/third_party-android_deps-BUILD.gn.patch b/patches/third_party-android_deps-BUILD.gn.patch index cacc83df1302..aa92df5d1790 100644 --- a/patches/third_party-android_deps-BUILD.gn.patch +++ b/patches/third_party-android_deps-BUILD.gn.patch @@ -1,12 +1,12 @@ diff --git a/third_party/android_deps/BUILD.gn b/third_party/android_deps/BUILD.gn -index 5025e6341bf33311aa880a0775e57468c1284819..f611368f01ca570b8668a2cdfa7bf26636290c5b 100644 +index 5025e6341bf33311aa880a0775e57468c1284819..bd753a5b705f9c71e51b1b6ea601780e39eeb579 100644 --- a/third_party/android_deps/BUILD.gn +++ b/third_party/android_deps/BUILD.gn @@ -461,6 +461,7 @@ java_prebuilt("com_google_auto_value_auto_value_annotations_java") { ":*", "//third_party/androidx:*", ] -+ visibility += [ "//chrome/android:chrome_java", "//brave/third_party/android_deps:com_google_android_datatransport_transport_runtime_java__classes" ] supports_android = true ++ visibility += [ "//brave/third_party/android_deps:com_google_android_datatransport_transport_runtime_java__classes" ] supports_android = true } # This is generated, do not edit. Update BuildConfigGenerator.groovy instead. From 9f12b6f566515439568c032f66a2d04ab178450e Mon Sep 17 00:00:00 2001 From: deeppandya Date: Fri, 8 Sep 2023 02:19:52 -0400 Subject: [PATCH 17/17] Change name for billing sources --- android/brave_java_sources.gni | 2 +- .../browser/vpn/billing/{billing_sources.gni => sources.gni} | 0 build/android/config.gni | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename android/java/org/chromium/chrome/browser/vpn/billing/{billing_sources.gni => sources.gni} (100%) diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni index 6694aff3db04..26546a0013b9 100644 --- a/android/brave_java_sources.gni +++ b/android/brave_java_sources.gni @@ -6,7 +6,7 @@ import("//brave/android/features/tab_ui/brave_tab_management_java_sources.gni") import("//brave/android/feed/brave_feed_java_sources.gni") import( - "//brave/android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni") + "//brave/android/java/org/chromium/chrome/browser/vpn/billing/sources.gni") import("//brave/browser/brave_ads/android/java_sources.gni") import("//brave/browser/flags/brave_flags_java_sources.gni") import("//brave/browser/incognito/android/java_sources.gni") diff --git a/android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni b/android/java/org/chromium/chrome/browser/vpn/billing/sources.gni similarity index 100% rename from android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni rename to android/java/org/chromium/chrome/browser/vpn/billing/sources.gni diff --git a/build/android/config.gni b/build/android/config.gni index 7b102301271a..e396205ded98 100644 --- a/build/android/config.gni +++ b/build/android/config.gni @@ -6,7 +6,7 @@ import("//brave/android/brave_java_resources.gni") import("//brave/android/brave_java_sources.gni") import( - "//brave/android/java/org/chromium/chrome/browser/vpn/billing/billing_sources.gni") + "//brave/android/java/org/chromium/chrome/browser/vpn/billing/sources.gni") import("//brave/build/android/bytecode/bytecode_rewriter.gni") declare_args() {