From 687519c6061aed5297e512f12c8615ba17ac7cfb Mon Sep 17 00:00:00 2001 From: Cyan_Hsieh Date: Fri, 25 Feb 2022 17:40:15 +0800 Subject: [PATCH] update felix device based on pipit 93e38fbd070b55875d9c23e214dff6d26ac0cdf9 based on cheetah cdc1dc5379faf6bb60cf4f8b4b967ae87992b2ed Bug: 206057564 Change-Id: I68ca7715cf7fd96066d8d517bc4daf236512f501 --- aosp_felix.mk | 2 - audio/felix/audio-tables.mk | 4 +- .../config/audio_platform_configuration.xml | 2 +- .../config/audio_policy_configuration.xml | 2 +- ...cy_configuration_a2dp_offload_disabled.xml | 2 +- ...icy_configuration_bluetooth_legacy_hal.xml | 2 +- audio/felix/config/mixer_paths.xml | 7 +- audio/felix/config/mixer_paths_factory.xml | 10 + .../cs35l41/fw/cs35l41-dsp1-spk-cali.wmfw | Bin 33764 -> 34060 bytes .../cs35l41/fw/cs35l41-dsp1-spk-diag.wmfw | Bin 33152 -> 33448 bytes .../cs35l41/fw/cs35l41-dsp1-spk-prot.wmfw | Bin 33764 -> 34060 bytes audio/felix/tuning/fortemedia/mcps.dat | Bin 0 -> 292 bytes audio/felix/tuning/waves/waves_preset.mps | Bin 46372 -> 49508 bytes conf/init.felix.rc | 9 + device-felix.mk | 22 +- felix/BoardConfig.mk | 1 + .../base/core/res/res/values/config.xml | 18 - .../packages/SystemUI/res/values/config.xml | 43 - manifest.xml | 4 +- media_profiles_felix.xml | 769 +++++++++++++++++- powerstats/felix/service.cpp | 4 +- thermal_info_config_felix.json | 577 ++++++++----- 22 files changed, 1198 insertions(+), 280 deletions(-) create mode 100644 audio/felix/tuning/fortemedia/mcps.dat diff --git a/aosp_felix.mk b/aosp_felix.mk index 9cd514a..949a93a 100644 --- a/aosp_felix.mk +++ b/aosp_felix.mk @@ -16,10 +16,8 @@ TARGET_LINUX_KERNEL_VERSION := 5.10 -DEVICE_USES_NO_TRUSTY := true USE_SWIFTSHADER := true BOARD_USES_SWIFTSHADER := true -BOARD_WITHOUT_RADIO := true $(call inherit-product, device/google/gs201/aosp_common.mk) $(call inherit-product, device/google/felix/device-felix.mk) diff --git a/audio/felix/audio-tables.mk b/audio/felix/audio-tables.mk index cabcd77..0ab8715 100644 --- a/audio/felix/audio-tables.mk +++ b/audio/felix/audio-tables.mk @@ -22,7 +22,8 @@ PRODUCT_COPY_FILES += \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_policy_configuration_a2dp_offload_disabled.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_a2dp_offload_disabled.xml \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/audio_platform_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_platform_configuration.xml \ - device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml + device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/config/sound_trigger_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/sound_trigger_configuration.xml \ + frameworks/av/services/audiopolicy/config/bluetooth_with_le_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration_7_0.xml # AudioEffectHAL Configuration PRODUCT_COPY_FILES += \ @@ -45,6 +46,7 @@ PRODUCT_COPY_FILES += \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSFREE.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSFREE.dat \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HANDSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HANDSET.dat \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/HEADSET.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/HEADSET.dat \ + device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/fortemedia/mcps.dat:$(TARGET_COPY_OUT_VENDOR)/etc/aoc/mcps.dat \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_config.ini:$(TARGET_COPY_OUT_VENDOR)/etc/waves_config.ini \ device/google/felix/audio/$(AUDIO_TABLE_FOLDER)/tuning/waves/waves_preset.mps:$(TARGET_COPY_OUT_VENDOR)/etc/waves_preset.mps diff --git a/audio/felix/config/audio_platform_configuration.xml b/audio/felix/config/audio_platform_configuration.xml index f8cd663..9a55347 100644 --- a/audio/felix/config/audio_platform_configuration.xml +++ b/audio/felix/config/audio_platform_configuration.xml @@ -286,7 +286,7 @@ - + diff --git a/audio/felix/config/audio_policy_configuration.xml b/audio/felix/config/audio_policy_configuration.xml index 6093ec9..c8f3f6c 100644 --- a/audio/felix/config/audio_policy_configuration.xml +++ b/audio/felix/config/audio_policy_configuration.xml @@ -28,7 +28,7 @@ Speaker - diff --git a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml index 085c19c..3c78481 100644 --- a/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml +++ b/audio/felix/config/audio_policy_configuration_a2dp_offload_disabled.xml @@ -28,7 +28,7 @@ Speaker - diff --git a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml index e10e883..e21e5e4 100644 --- a/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml +++ b/audio/felix/config/audio_policy_configuration_bluetooth_legacy_hal.xml @@ -28,7 +28,7 @@ Speaker - diff --git a/audio/felix/config/mixer_paths.xml b/audio/felix/config/mixer_paths.xml index 722f744..808e53d 100644 --- a/audio/felix/config/mixer_paths.xml +++ b/audio/felix/config/mixer_paths.xml @@ -27,7 +27,8 @@ - + + @@ -47,6 +48,10 @@ + + + + diff --git a/audio/felix/config/mixer_paths_factory.xml b/audio/felix/config/mixer_paths_factory.xml index db90b41..9bc6171 100644 --- a/audio/felix/config/mixer_paths_factory.xml +++ b/audio/felix/config/mixer_paths_factory.xml @@ -35,6 +35,14 @@ + + + + + + + + @@ -372,11 +380,13 @@ + + diff --git a/audio/felix/cs35l41/fw/cs35l41-dsp1-spk-cali.wmfw b/audio/felix/cs35l41/fw/cs35l41-dsp1-spk-cali.wmfw index 5530a4d53cac293e616ace4a4ea48e1829c02bdf..19ed6b03e1a19019403eb0cdee394eb0b84c02d8 100644 GIT binary patch delta 13123 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 W`v)e-bnt7Ye0J;C(XKguvQJz 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 YN#@puTUn0z!-gs5;Rew>*HH5R0b#ocv;Y7A diff --git a/audio/felix/cs35l41/fw/cs35l41-dsp1-spk-diag.wmfw b/audio/felix/cs35l41/fw/cs35l41-dsp1-spk-diag.wmfw index 616262a2071837e4e2a4e1f67514e9ea88625145..bd972a4935713e2c6fd86e7f1872a4884771cf21 100644 GIT binary patch literal 33448 zcmeIbe|S{YwKu-@{K}bOAZL=9a6-oP3?+Mx#`%Mda(Z<^LCO~blwnan)49WMi z&m<5i-h2OhpZ9q@3^QleUVH7e*Is+Awb$Nfa_5rLI|~Vy*p&AoN*SL8cykV_tU_*;$l%L~KbUj5)V z>etED4>sJ7Dy}kK-GcunGd_CgKDwT03Na2g@wZda*f!^Xt#y$BB!oXRT{yvH;efK%Wjgz# zmwDNX-t%5_Jrlj;WwLjnm)%Ui;qVWaek94my#fjWK}ccY^M|K7ym7x9e}4hHn<_cF>R_7-3HH8uV5fBE}G zIba0GyOKpThjO4!CYg&Q>trVGvqid#PEH{+?z48#4x+hqJ7tk+9=%1BM>p{M3OY@6 z8)f4@YajI!LJX{4lkpy4Au zubTMWnjiZgz}zLr!B97}xBJbN?F#E`OV=@H)(V7mI#e0O`0Ym^<$+R>;)I1KtrM#%L0! znZ7_1mo-psd|fIVAD7h<~h)qZc@s&#ciAuGRju zb-#q2u661ATmZ7+bQ}-UJ6?xO7O%rQsgr)i@yy;yUR#`g<+ZJ%xnA4F``dA!v5+)x zhDep(49dRMV2T2ulwD7ocwHA|d#!h+#VmTQUh8x+-0JnX7mt(QD;}UZUY9p#3N7|} z4pWXd$15c1h*wxgH+TiF>vuHI>uRJtZa*S$Gy zauM3~JW46A=bL2ndc4l6^bDAdwsKCJ?zbTimJWY zH0=yIXxaxDk36rllMgjK1L}IK=#O5n<)rBKdapT3h2Cp)3VQRsQ-`S5J9R%eki5>{ zqegAbIhcvpz~fLUU9$&RU*f3zvNfhZxzfu#CYqo~MhRw! zY}{N@k@2rz;+A?Gf2^2M8fxHNEF^~FaRQbJ_u_oVX?=zgj#e2JR(#3nHbMnReDbCD`_bzAF#rtfh z`{KRFIW>I`QF1TN?a`PCG5m;Tyr<`&aVsLu$`nnRH2ISFY?-1(rc4wWP!b{cOwj=x z1)%gbB~x_PO~e6qrkDjBZ5)MiGDUZCB96pyrU6I4h?AcwdIu)pj1_43Oj`|Z4=+lT zWZaMS#~7h;o5{yhG!5b1yp~4DypG@D|CJZVGYH}%YZXGn^CYov`q@jjJUmZ)e($#y z+;-c|VIHe4P>8|++y(#-UN6?-1irZbM-spQ<{N`xIl>3-`teE{zme(R_)wx8zAs&Z z4>^5j)Ec|z%PC-RZNvvxQ=)f{7$0A}eIbD_B=Cg2Y`)%{UNS8PgQ>aTLyaQ(I=ddY- zm%)C=Vb0%8giXGU!zORJ4E8e)%d$;`W$`_Mt|@=K4Cdgl#|8lFBn|JlL}MQzcrK=# z^^&hkCov6{VnEficy*m75euHczA_ye$s;AEFfTnAU+)W^EVo$gA@W>USpC_~yNNc6 zns+jYuI7~M+~+7k!g8JngeXRZciHcGvlTeJ)MNEkVQ0Qx08$S9X~~ikd2*x zJ43Omy)>V0O?CB9r^52cZmr4f8wNd>I@oJZnpPB`f%trOjL<06 zRCZc+b#hse|10)BK|$jJBXz((?~S|3l|RoF4CJN+lc^}Ke&nCI#y`{5g$96zUdyrT zeF@qPdNjZ=>NDdxy3(l*xX%;Q!VqCfrmSAd`g_9tZ=$cNZSBds_9YiOF-NOl* z8$J|bhlYK@b7cBgFG_UYJsL?IB;TPCw>oAQTR`$y!}~TdP^`#`F^I3 zCX!UHlUq$uMx4GB2I@?iym=t8#;)Vt=vQwWTr#s{k}=M)3?R~Y<_tiz+NL5%n?f|c_uEGxFs1=L^PVm%-A$BK^Zvm z8VpT-9Y!bqtMWb?ObIllhb$Ed3!!y_s6`6C9wPuG0J!We01yBvxl3;W0H{HrRA2EX7d~?93EO>HZKHaA@}2aTyTFW|p#(=JE_D z1s}(=_?UVarv+sBFo;35Jj0lQX;{8j>(Whtp#*zDs%~l$s1Lov^s-Y%dCzNrvE#%h z!rtSsKV1%cEu!jV>1G3wPP*0~vaJzm)m+}jHM&geI+Z#!aN}SkDC7*%N2BW1i793b@pTYaua^!aQsDM1rPo4=}5u8jJQ!0 z5@lCJaM4DL88*VjPNs-15{mfr#ui%-lQoiq=g`B=jPW_mtSLhEO{hMC>P+@WQZ74F zP+droz!X`G2$goerw(l;!JHd=*607oQ7ry{yZ)Y$CcyADl<5dyt0wREV1W>-Oj z)`3GNf{ELWFNJ5O&^ARiALeh-bVahmHVON(Sn!QrE8Tsuzf>NFrYl~vW~=_l-kj^c z(4lhs@=(gsDF|_8ItIg^r95wE>PM8}lbYvtk|0PzR&VH`sPAMc6PLEIKqyrk`LACe1p;AK~&N_bSpI z&A(ul=^TNU@AN4VGP6zZ1`8;X zv(*xEpAALb-Rkz;+Eey8u{c;-#VX2K=z;#5NV2Yo)9M{is>v)^&M?DGi8w8~-M(gE zIxCabIBaWM#BZNLM;MHAk7C*l0pLVb?m*E`d;YmS3Akx=)JgYbKLuH3`y(!yA1os{ z8K(Ks-yLNl3=_}}opEC}hu|CM#NW!@ff6$9Ao?b;AKKX~_8lnz@M3uFd6>OwXZwVj z(L^6SDY=6uSYh0B&;==Gz&?*eQbfVHmqPB(nEO-69vvg!*WeOC&pnzTUm~952WEYh z7?)`xcT+4L!Bm}ORoa}6s7}p z9hnNdt^ok3#Ong}EL~H75dc(^(S2BYTX*|HxGrw)xczP9^hQAsbDx_rFQ;c3#nGOj zm@-aJF^x!cjTYk#h-d()Bk*rK4PN9fJ%tAFvYi(-QY4cbI$6NE5SU13A%n7h-F^BE z+F)rEYk0eLFTUy4B~umf=5jp0OTl|ak0MP*@#XrDWf@MV>h{E1=C6wQ8w3AWygEH~UtH zG)Y7^a@qu069t(X8fo?^O{>f4S4gJtLG%g^z)p9!zDkkiY*+AI@9P%9Z}NPWOV#!J z&lNQdlh@=4Hm(yN^L)an&SaWp7i_)iTtBOO`XhTRVv1=8U!tAoPEG%gloxTq9Xg6+ zZYOaKE2wkH_QqucMMi2p@#`X@3`JA%IU3eB7@Oqsrvl4oW@AX&W>WjY(%0)SruEG;n8qax|IrpM+hwPB!h#KL-0c5} zNOd{?*{7ggtwivw5?YkC_x-l0qgO3AsZ)z-k>Eb>iYvFI zz@N{T5*gYcMO$Ylv6ZV_zNviH6 zNhqX^cDkeO;7OO!?u~GJbkb-yO|NX1@=VH-Clu#d%0Y71g+$8!>0G5c7^lpNwT0a7 z!dV87mLvWPrrI*(tq0~rwSWfQ_mkzNP96o&*5+pSa2!?|@wje+YPIULPK0@nQypvi zeJ%z(MR_I@%j<<_k!a0o(-*oPJc$k){2#p4pX4;80g=uPS5`gg2!x|%eM zwuyW=(1+r&^&9%J+~~)kcA+S^*QGYPn-$NWvpt`L-5+TV`{idKYe3wjH)1?hkU<_U;O< zS{mwGtcY~;wcMHuu4XKb2JC$-F)X?N!u0%N_XpyXGkjt?nI}!}kQ;)+n4cnh z9g3m2m_0DjDGMjkb3T`zJ190 zn6}8&lhe?+{-8zr@UU=5d*V=Yf5pLEzp&!wnV;*;o78*Y9~lwM}1l&!6wK9sHm_Xa5@+_iyNr>yH;4ULQJVdTDB3fwgfJ+ZK6z z&l_7mQvPM@)9O7LKX%f!y<#qug&wn@!{EhYP0G0WGHt)MH{lfE04S94(sEvi3(M2x zIMW-UI(uJ%2EeosV(U(HMT-cc*mfa3e?2|KY$o@xo&9jc|T#n4yJZbB_CWGh8i4sdA!HeWamB%=wbJ;Aj_`cXRc$= zHNPignIOuTu3Ym@gC#UQRb!ry75a9a=M-zwC&5&GIntW(R>C;|yiO213!}T~jNslc z-c35&W{WX~@u(l9`U449R)UhigD~oK%5qYDr0YR^%K+fw`qx!KqRnX3&<)J#+rdDW z>)M#Yc>(H!tH$Rve8gd6PKTR5gE#Kgm^(mh2E6uEScN7Y>67?P+GXj|;p(kxMe?0P zcUZ7;s#xXzw9aUT1&3KM;7K{BrcP})HMW(tM(^ql)@_!_-jngz+f*O7P_k5F_S8S0 zL}(=5ss&*WxKK>~I;cL@-Ayn5BnCJSb+&=muqc&()-Kq07V2$#(iq;XNbbbSp$t zE!MhEo$b=7Rrm3n%-JxMUf2Xxgjl&f(8>0DwA=M%J*Fs_A92OCI|M!e>$DU{o2n9% zk3J#Hnx|zX+cR#re~W1CK++OKP2@|mM#(hdijTNJDcWRmW5Qg+OM*JP9ZSrQzokuG zI}i_?1TpY(BhqegDIsR^`7suQZ7(963p=2VYhMBeMr+fcOOh3*%mFYVhsgv*oe1h z`MALTiJ}-6r`ScOdqi-L#PO0yM1imY4Lr+(N|Q+$~ZS5rWk<(1> z&+KgW08)0E&>ifF4#-T)klO4NUD2a}D$~R*x){B$8TV)=D-9E3W2oIg9oYKq9+(y6 zbj2+iQ2BW2Kz$6KU79_nfGT4MXcX3_DZ(G1f8eaM3^DqnKMcDx7uLQ}O^UA6!49TU z5U$@8#}HsDjSL(5#|}|MJ%y|d9_;X3*x~s!_bC{)&maI-lh+Lye0)iVvYOFSm)eWg zdAl2Rnw#5`aiS+9e}J}-V+*^5o_y)7rMxFY-X-S=w{J0$z<$5D(KN5wSG`N#r0t2; z6mM&1xqfL^h?=ec-eRpCrA?N`XQ=EMEDs(1eIMtha+crp*Mnk#h8WPgA~kwaoB7V$ zKN>}};UH;}ELcSfE$=@p)lC=n&J~)oR-^<6vNlA?d%ziGHK*+w*H9SZumWyj+c#2v zRxT+I4m@3dcFGEfb)%eT(YBDhT(BMCf+dY4!UE^^XN>U>ESBa1YWB75s@%5K3STBP z+f#_pcgmxrN%m*h@Fo)hmHb!Lgwg40-N>vwm?%aya)@vjBX>Y179|7H>L(Sx9cD}UFI-_ES8*JMn8g# zwk>6CrE_uRnwT~ibi&>z+vIgW4?&y_o8DnDjSt<}9s$v?VebP?7nqtFv-jtcY<4on z*8xI^z0s4AcTk)<^7Ab^&npL&%3wPP#Jwhr4x9qN>Zr{$>&O<|Ew`VLtdQxPACC@r zO|mw(sejel!oN_xZFQ98IOFtXU^V0kz3pni5ks zMZ>Sw2R7eSLlRcE>AenO11Awp1jd@?lAxS;V{U>SJ&f2sf^C)rV92=`_M7{j5$JR5 z?ULof$t}IM&PAgi*LbuPIfbaU8@Z8a4TG`LOyxaIFYT3uRMx11#K4@)lY+*OzW6P41`6 zH#_MuXb4_Y%os~w>RcZ9`+uNA9q?j3P3=67?jqzZYIv@mb{hV2K)G>4 zT;NQ{*wN#KPxm|*H|ny(_|Ou*qxi7N&_-O_tb9gpQ;c~Dvv>~6Kkp5!OAo*|;&lVI z4)X9I%VTl9Q&GUPX=rLPQr^SsvKxB8goJ{VN1u{ny-!9=*qKyNU^+b&;2V`m`)R5y zcmCc2j84V6dK34Chu~r0<@R@mG|YXD=Y-_|AaSFP+%*7r`E>xuuXGi$gcIozZhEZ- z__{#iy1InyNXQ%}DAV5JVG=}6b$)t9gV3(m$%$1S_VaE)-++|1IaB!Bqif26OE6eS zog@)e)>y7ZA*NRfk0tffly7%tzST)Xpvv1oN~egNwpN=0{(uK|ie$R3nDbl&n4abt zu#iHbx=X`F@Z+7lBu_lFVUv)G~f~)))Qd(Ic#bXs=91pXdw1{qD!FOXx1R%0| z)J}hlzw}vdAKU_Y5X-kh4+PKooR6@mJ&6<^-X7$4$j~A2R_{W{MM=wLA>y^S zSW4*1KoYYSI*uMQ$c(8(A}h{%0G!B}E>s%sG}_A|~hD=Ior zF^|PX#juIB@bSi82SM6AX?B93Z-+*@v~(^b5JWS(Xknx)3p#{~wkIsMdFURNGp2T`|`N_MAVngQ#-45k|}eIl%s4A|i@ z7!@Hij@KkCaE80IOXHSt*30F53-HG0Lb@N1&|wTvCpyL_TR2tt$dpIvISd^hPPg}= z%YMiJ`)ZwZNd{9MHR}2wq5TjFNKQgmAV}n?F>btLkU?o$H>j&riz!&@p@cHfH$1?p z$N1Wh12`{ET0~GI*n8AP@(Lx3G%T24PO!ljQv^&7_h`o+4u)?`q)hO?v?1cg1{JqC zzFY*3Fb`6%#Eu^ts^P7fC$L8~7n zRAk6Tf#gw;On_u7zT5(meIRM)>RT4*(nr7!`f;evjy_m5pg@d}AG)lg%QBT|Zgkm+ zE+^3C)cBqpy399DeCRTv%OmKr8(nThm-%>zPAb#Mu0bagG6$fUawfGj=VUqZlG@!! z%Ud#-_U#@pigq`Uv0%?*Nv@NS)drSwbOi@MEFn`T50GeHV0`~_kb?n`bNiSN2{)&v zkBuetnKCq(lg?CD9-d3Sa}Z5qev}6~4vi%G(Nhfx3f>}`fjQ}qT{&(L6s0iQ8|d4d zZ9WGb6q2D=5VA?E|`~YwmL|sL9P}iixkT7`R z{PDWb(<@|f$LGl4T#PxD>Pa*MrawbPOcH3odLXXZ~v^#R2HV#wTR84>kgO!Z^nOlIR|{ z?frZbK@7$uqDFgsr~P$PST_-d%s6 zpZ!o z;h8B67+x5U$)`}*CEkpY0CVZ_keCf;Nnm#^#9rfdd%n#OtU>Qn*i(ldFcePaleZW4 z&$^4AkDxAZ*NN0D
W)7*h(>bL;r1v-@jmH`5W7v+$JkfKD7IFo)n0{(1Di?W4wHwY+3Mcmb|Ykh`E4- ze)L)Dcr1W$9{cQLCgGAkTaZIB^f}RY*POWS*~O?SZu$2%_XSrcloaf2@HIuc7Gt(> zdXHJ``dOVzR;Q!_@|GhRY%>}FAR`%|I9dA3*!S%0x|{(gEz!l?5{wae!G-D-2o?F< zevE(Dkv|2!_(@Ux77#4fUE7m^v`i~lPL`d#EAuLPFZJUU4VA9<6YT&=;PG)o4A-kk zOA{3l8fNJxDDzAx^S(|4HSK$_8gbgvLcUb@YYFT$T5bU^xI~$*uR~%!5#qBM zs7zZCH@kjHYPG*W(m`Pj1|BOEQ@QE4qSTbYUbL}sXN8g;B1MdFf5+u|wTd1x(TPff!sI(fR_r>5cZj{Tfk`s>7F=cq#My5XVlP zs{rf|o-ol_z_<=sa1Lq^hup5ysD>X+!;oZBGV>Ug8gecOj={-q{E$M^T8ip4#<=S2#rxD#)x8Ia5IO%E*-h^)7JX!m^kz$6?TMfo+u3X?MwX>|fe=yW{J; ztJIzPxplM0>hk^$fLkPJF&+M;u05_#?Xf?$YMSkbJf!3ozyX$WC$#}J20 zerK80FP6u<-{^VNrFBRa%VWr&7QXu)0|}D z2Ks&kL@SiYn{P(38< z7f8mBEno*RBhM`K^SD^pow_Gu63V6Q_G%o8{0}xn8Hx#VhoZ3oppy-IHuuSLMi)$E z`~(1Oz!&6m5GH|M+(e;yc~1y=!u(ePGh5%HwHq7P;VcASEX2&zZJN^phF`-kQyJBvEL4VlaSYSs@fb zhDdUW><9ysk@30~1+h0|z}*USQ4!_u5s9Y{^T@&SUw(mH%}ZzN%_Nz{dGwf|p(`|N z(M=eiseXPBhG2P)TAZ}5I1$$qdh-)PRz}(EmCE;S2EDl$b8+IB12u$x7-Mc|_i|+T zI3Zk!^_Jh3j`gw#32qrMr1fV>XnxQ>rN(O^9eDKvVPBsUmdEl|U7 z94C8`T9tS}vAPYKhkk65%yfwhV3iSLI2|`&Tu5L#dCPX{bHhooUN*S#)t{@Wl3nhD|z<QF2vuUzQ+l!AZcztbmItS$i}{DOsXz+Oj3G zbxY(Au1yiwzxl0%B;_}441)JV-?JjkF7}g?a+4sqT>fk<>u_M(%>1M=K@w)4jIYsj zeEP_Ad>}69sQ!pNR-OT@x$>5K=!_K5nPEvHh z>9CZ$vf9~=%vGW#sohnmxyoBwrnR)ZtCd7t=rSKmatJt|Xq*)y0O1PTL?I$#=Lj;u zD-8nx;54j=Hu}Vf2+Jff1^a_}^af6J(sOGZOpE$rFUc{@68ru_Y|&6eLz59L_Ocv% z&MoXwyf|;NQQvYKwfP07D9tFEz2`|`qqqfb-v1;35x<CRc>>;3XL^giLGleE7QX)<-bCnZj|uy}Kp=Yq{MTm;3&G0v2Acd*@|4zyC1=e#Qq zQS$Xg%|}@C+mh{@>D)*w{pe8A-^~gjtE4qvcfZ4=JWEP8s?(zDX5!s0kv%Vj*$yKf zr%E)cqEQKr#?j~nG+Km435{COr~{1>8g-%3)HKieBWP4Yqd1fQHlfi&NXRfW8bzZb z1}N8NaU{uMqB|@ymlc|RR>7Ee_>hm4G_t#G2Q)w6qKRQ=55AdEKDHY8fQQwGV(MF7 zI_E~7@Emq2afl+4igc;^je`^wd~9=)ieQU#4md%CfkW}G1ohQ6H{MM%k8y9eKi7<-8M{e6P`5CW$9P;kX{N8ajHz$QX3gP=OD=oO zd6&wVdH^R>^5QrI<)3|g4(-oo7jW=H)D#b3=M~Q|hh;#+kvV6QrZ}(#cV6@i`^G7`weDV3#)Zeo#%%#RXeP~f~nC*Ig@r4oOK@{Xq zo3r%HhdgIpj%=T5jE6edMW=6kGt3u=#8jW$Jr}6b13viou7;#Qx@RiyGsu3=h7VAuSTPt0rD$Og@325U6CJ0OI};Us##;2 zGxps5sbyg`q-bwD)W_u+Nzcat$h1wlkNMlQaNJWL)3EfWR+_&h{A#!P=UQGgxiT6S z^EdhJZlQ6XUu&e7&G|!IGr^X_=BIsrz0quu^Ep6)ZU{EpYujZMB5;C{0?a4R9yGHg z<_^w~M#~$# z^Y?5j8fx(;Tk`wJfpdMIu3&d+kOd;iU>G{-WJq6&o|8mzac&i4?{5@6e{%~}f-t?X zk^1+ErN6CuW*$y+6hxQLZ|p1`s{5-ty+dn@56F^vp=Y?AEv-})raoWLT@o95AsRON z=BT5tI_>pP$0O)l{T+XH6g1{!{;NVG8w|;|zYdu0h>3PHzUMS7Xpy zSkQg{Rp`}>(VO)T^rnLzP7fw^zqTApV4UCZFHrm)BK%P*9p{{Je@8|@xW2Fr_Ae4q zBpCOyHJ){_8`yp~t`M;jy&SQ{a-4f8;{KPqeY)GHrlM2-x97sgT~N+*9ct4Yt{hh4SrdsNEb@mf4QIse7V z6Bp(T2oKfHYq<9m;|WXV`NIm!d#obI*SyTr)-5G~6%k&CGfG727)ktUR{Zg~?cj*p5VG#Dzz;2(Kjtp;Ty} z#kO_V600rn-TQMIZ1Mcj9b1H`CHrM|SV;DhFE%_jx>nFSrNj z*{*QD+c&twbz)_pc3FN!v*%b1Kc_V`YiLKfVi&9EWju|3YqV;nXT+tQDf){X_`v5$ zvHX22<4R2{1wMePu7s*a_dbWF+f0wPZLA|<{ck^Q1S4<1Cv1iitQR7F5^jF`*#{2z zIDhTLo=x(36kegO>Q)D$-A-w;)qPsXf2rsL)?Lv%r=m{M?v5^dF}lJUoibA$_SFuC zKPdM6h4OzG%HQS6-(Q~br=p7854`j6cc;$q{CQlagMoWbe)rzD4Vg}LAFGq*gqv}i zK{I4pe5FjM|JO3LT}7t0oFkhJnLZ%YE@0mu;4&Qu-23~=!Ifh&J=(%$is$5>@}2M% z)vnL4c+vBx|4w&Ls4KbdF8T-E-4(rS(FENsPwVcT{}bJn(z;7yy8Gh0YB&Z_hwp># zx<8cmo))^D^M7*csnoIjU3b?emrJZ$gPf0tYk%zdpaoG%evgmq?jF|%zkr;d9S}T! zrH0ly>~TMOU0Z3#^1Wic=h)4j!AimDYxXs^G5BN&D%ebHS*ZYDyR0lk{5dSos)JKL zS9d>O&dKiDUkJ6&vu!e$^Kn=0z?htCf9!tW(A{a3gITT<#ev#)-~;k^p7#7zbDu8! z$&j=!%eRp|C7Ruz;IT))`)r)>B6jFQx1L3zozW+XHZzYF{ByJX;%Dy8ww=+Y{%Ciq zv+QfKDeJ=2k2k)sdC4c8i*6QTkxu3Ipa1>A9`l<)kNaQqKXaKo7oBqtKG^emW$-J* zzt0)z0iecx?7`99mBB?L4Sxe_r?%7mr>4;l-*kVvqUT%TiuIK#>&MSDGal@!n~D{e08o{#L{wk(eCW@$?>L+mmel ztxu_oSwqSEz1j2kiJ{1wWx?Z;_)ieWv&gg)E{|S@cfnRAOvQAask z+JVF`c0_``>`&OPT!;gX(oC1&5hEpNF=wbu$ekrv-h>bJoJIU+wjz_fiPX9-okB&HGp|}~354q2~f;>kNQ18o|evNk&k6nl|A~)G&y6cv>vTb8Xn)ze;ndte{r{ahw zcthMyy2Xz*qUX#E({Zdn@Vv%sbr0=V5b(>2sGWxznOVp)P_|RX@xcr%Y2vSny8<#Q zn>EjcJ)RHjWi1#Z9EkR%h??+}s_6f&NeEB`#=s0TA*Hlop-#Pwx>MNLQNmbm;051F z0l1YE4rTDOV0nj50~<=}rS>=;Qu?V63(gc49}K*BKF+cXWAOpDJtKm{JaG--!s0{i z@SHu4#Ru25frvWj#o|MS=FNpZBQ);*6pN2y9Pj8uMa=zNJyW5xSbQ*;pcK#Sv1Qa^`T1xB&wx>L{D%!SKLUyEtxxUwl0DR*d< zJoYOq*Y4i&7sS~Xf%)u{lt_HmYuE=uAmC>jwBOv&n%c5#*=uFp+P^iNJH@v1iCrrT zXQ}jUuY&s)tI%N)G&y?LOWhCuQs~jOry3%b#yICWuB_9lYczA|Yjshe-h4mPK-%`( z@amUWvF1mjKRN4|^^&luEOkfO-bpX*%iX^(Z|7fVr&XwZDZt~Yt;)vr)>)Qq83pQM zvU?U7yJw{b1_nUv+*!5_Z3wlc)J~eBD@J;uI4I3N2skFJ%hZEyy&Pb5qcLGdk1r8Ma*mMs5T- z3JKf(da{+anLHg_pL=tKjWodg{&kI6LY@=(Sj>gpsmXc$RqsvOx!m^7TKD@0%wpgi zsILiD;T?9jJ_K7*-@OaR~@tf%wW8JCA zrqsVZN)331Esu~uTU1oKX`rY9x=}=yFYz6HYAO#tJTq7w&DyjjONRb!@mgC>yHc+g z1;cLm?t8kU_srblvZ^kTXogw#_v@bFfL|{2yKV0j;y^-ud9$hxutL-FV)R!E`M@fK z;>X!2C?P*eQO@UE!o}yCA41{t4GErMBzSx&yGQLtCc=HT!!u$(*gbe?IMi*y!@81h zk{~Lp=f-oP<1Hk84SGPd2S51$mo$yvD@XxLMR>*?mpo0Q1*4-EG_rNlgb@8O_w##H7{?{^irTfq@QfEv<>I{;obC_}mcKgvp zhu>)FBSWU$wWBWeEf!3;*>TTjy)Z5}z8O);#BO2gL&S~?*>GnDY#8}OJX;0ZBu|$- zpXBnq${CC$@H`wZJYJVt{4it0b0~E{!ZBg>yx7KOn+rUuKiY(2)*aihve&(qXITsK zVe+P(;Z}{cAW_9k-vPbG&Fr}U$xHM!Km0WDXSMub4m!zr{>6kRqk=f-l8mC08^h{w zmc{fHb&p4FjJJ_I19)ROvY?;T-kS4uU{#V`>M8T2BDfHD?SL$5^s39hr`-IpPs8&w z;Tj9%GmwXE8)R9KFOjD=3Gqo0c*O*q&?xd;NPOj5$RqeYr)j5b#-re=5s1_d7@og$ zQJV|dDH@B{&bZ@H+@Hcx5ESRjLoJ-^f+H%yx&Pa41Gj8V*I8yj9cIwCI9p4Gq6BAnw)z zum_Ag9@@60FjC<8xYQrR?n&0Bd;ceee=Y z)}*WtEqOay;fW?|-2YkWK2}*VInwk`;US9@oaO%Xk$ByM(WdWIgwUy%2ZYXjxec3% z{ZhCQPplm7O~|bItEK_STbJfM$bO+m6p9=bB1dBpecKk__FvKF-?9^c?f+=WS7J*Z zi6(Dyzg;O!iKrjhZRWux-}QVZ-A!%o_o|Sp@zUXlsr0F6hiO2oxPoqtr;I{-Sw2y*44+ekA&Wq6vNy*a8>!J-)={YB!)ZMlnb^Et%M_pX? z5I|k7`^>MOI$h@ew0`d=GdJ!-eEQvBq)UIlb$Rb5yS;*bp0X657h3a%-G6n$X1CI^ zbM$h>UW|F`PllyAKV|>>;BtB-1Q`&fE39Fc{^It&f>zB{VJjV)cjv82XvnpuIkVxe zS!)L|1TPT z3kNTxztxAF0Xzd3{6+O&-6ofhQ!-+U9+{~tO3${HHJ+-|aIWg*?`p6= z??O-GaK6p#&~a;X_EwQ%&8FD1&pYB-O*5&j7)NEKWWgGHhL@BzE{qYbmw7mj!-)@{ z{H2^n&pQ!16_W;34qsiU^U|g#oe#+x%aiJnhg^Q`dUV9m!*FazCiU3I6C$ z_jjq?t>iOh2f&}uqDePE3~Pcv&!buLO$<9<*SbW_Wfpvbsu4vtF(2&Yr1>@r&%wtL zLSH~k?egCw65n&c_K6425bYmqY_42xi>Pw8r3lYZO4y;GnWz|_pCJr;w0iLDLERDP zuFJnv#5ObEhj@x3R6CdNKQo3Zy~y}0*;&}0~)2{O(dDnb+dCeg5G zLkoKkTjR$5<(sX$pRoPbzC{!s^HEF^a0)A>{9u<@NAxc+dfKO$2&?6E?1<*bluIG2 zm!|W5am0Gg`j8{9d%-i4R`$=3A=V+C^4&kDx~}d8t+cY0ULS}3zku~D*m@c40$@Xy ztvG^a-o%jS!b0OF>b{?bU?(+4PC#@BKWYo$xF>1($(2MaxAa3p*^te)56gqQMFGFH z(AUsDWA%0TQ4$R@Ba-+zHy2_HSqV3ba<_Sb$?DK84spQYuasSl-J@YVlGFXZM>y`! zKR)~KA4kJ&+N8#0F~T!R{jJ01bT}&ApXFNO*ou(qvZekW|51OrR47eq`;L2g|B?CM znQQNVzdUDN`Lz0HwMV}*<*R$%=%A0{L%)2y@YuF!$+qn;)8g-*e(UKUSE?&_KYra0 z#LTIi|6`_FfZv^YG*$fg9;J4BhB#%am`UE@wNo(W1Mtak7<_>pAiae&Jlp(h__Eb9 zUzDROhm?TULCNWUhQFG(Kw`~U?G5>0$~&4D%Ic5h8F6VA-#%6Y?ZFiV}8xBL(l@+P}v#6!|eZrb`!m9!vc)Jb{y@y zj_$O?xBqhT2AZ7;SWz*lO&t)Y{^_gi5Zgd3BKunKr^ue2I;0?8+j3-PM6;4IIy#&y z!WJV`q^KOh{s&F~q%1L&wzvnQ_psP=toFGdSS=l@9P1FH;iRxpahO~|Q`tUA(TarN zyyddSf9{~YS2f`|^{frT2F>CbG5hz>YMiw?-J$9m@i$`*oy=?Ey5SGOu8}6|_|rjV z*J^n#e#p(6GN-RBa0?+@TyvpUFv?Rb9Q zbDob|DtR)wpbjge0WbJ+*luAw;YJ;eIe$Kg^BewGO)N49nOlxOFEX31%szKoz&X|4 z`FTxvB2?Zehdy0Fp8E|2dYcxnt#Mk*Gv~1wRk>;yDhdKe!J29!`C_Gu`lw!kav7aT zpu;n^*$Wq_!P3&DCDm$K5QEDJ&bkV%tDs#*&p9SHPf10f7z0sSvv{#uvs5i!5eh6_ zdiC-69MsF`P9E!T=90j2b#c`K=m#3gm)a?*stQ(BVDUGxol8KYowOeF`rHPk`%zu8Bvb-ruBj>k%yX%| z%L^vdw~n=IuL&)zRzp=wForosy|Tbk6+k}GLV>CPFPKn|&v6;wtqU+IF|pJA9Q$J6 zaapA2Z(8QS3oI!vhc=JN{1O0o{2G@XpPOmf@d*#JTCB(>G{H+{N{X5O4Bg(Jn!oDC(MC#pK+vbV%-J7nu_YrscV!?Y}bvt+%r!}w_94Z zBvf^0c?F&{<#YWXcrS%Qmn_9xSr7>E*#gvsLAVp+8t;o|Odex2mj$ZIxy_^etJAz# z&WUguT$Tl6eR8Dv!gLDIw5!)Q%F=bM^eArd(5>M|rxY*buMMQ&-v}_lQ(VBdTR>|@OIB)Skpk*LVptTUR;EKqTrWITUwcw1YW217ze?#*h zDomhVGDh1yfi~J7Cr#J?PiRl9FoAX{Xov7UJ54)KToJ5Vf?2+#rn)4pC!a6V%aB2X zU*q#_(dBfPEeTc_^R;wwV9|d^_cG)(*^6|`K-aKqRV52+7QhS#?=)hlv|YObXz-Js zgXO5lZLV!W8KRlRl(rcQ$^sP?C5t&EP_cmf2Y!v~`W<6+CIzaiODbvt)#bs8w4I&+ zNLRU7=j*6r_@1Squd9eoLN)LpV?3sP&s7SHHq*Xq@p%2f;zdE#n38Fy51e%Us}vaZ z(>lEb^$kA}stVo#)2)^-9P<+s02A7)7{j+$*Hn~OEaK>}{oFoG08GFS0^jgmODh5) zOf}v>S|$?!z~|SvABWV9cq`YSdzt@)4p)?xFT&{qqwK#xFzDe~8NO;kJaZe?B9l(R zE~f*%^n5ppxS!xx+HOuMSyoZKc-(L=B={SB8`rq*^7w|^sm!su)l1c-W#y&S z-plIpXc6WbQ`{)Lf(DOuxE?s~M98qPd?`1Qyq(<3Xk1Z<@^P8**oTj!t+=MN6dIm= zS-mmf1bkl4@GPoo;e`6*@sy*qs-#3+x;R+9 xl%`(R{)B=F^>{qR$KQIV8mdMtnRQv6G2jGz9!DAak{0j7PR)kFny6_)SX_nb4H<*N%*B>=Z27*a;*lvh%B?i>VU` zPnyzrWQ?&T; z+>s3?rMvt7`Mz%kc{Fq8oOACz_uO;NJ@<~dbw$Ok^9hGVw7hE}8qOk0=5PSfGrP|> zm=~GTxF6pY58S6Nx?zV5!S ztlg;A-Pd#vNL-biUc{eZ!B-!xp#?iD z{ox1Z*H0IN-?KLJn*1hXpfbOffzaLKn!`_d-}ee4rM;ZqJC*U~%#Br_1Tt;%3f~&(6L+8g zyhcwy{mkb{y;REzgd+|xO@&fP<|(dp@A;nyk`$|CwA<&v4M|`M~-nWR4vmO9bdQypoNbnmXWu4 z7Wh5>%ws)~+PH2-BW@lv0hgX!mp1QB#a`&lT$2k@ojj(YPbLqMkKapU`74uPTBPx^ znB_Ji3I8%D{)I}2{KTz?i=Rxs)3}M5;HvXVUaAc)w8=a0oOm+v_$q)&+LeJ7v@3(p z`1KQ<694#h4=;D(x|f$bas3Rhn|ZzT(wOHgti*N%mYU2~;vC^u01-e|5>^I?Yheb2 zvz06>fxX29(GLCv1{~Cuv83jM%RGtm%pBl}!y2eEZ&#}3*X2_N&Nv*+ynJNf!b)wz zBu_rcz%3kqLbjPF8Mw&d5W9Iye)AhHgWYNd0%@qG5d&N!9cS}k5a6ZbAHXff6x%3s zp47`ewR#2IAi9Jz^_nJzGLZp&GYQSAbKTR-TSoAG8y8MI8o~9F%(Wf8gJTu` zc)KPKflI_c(Z=zM9Lz_}_!u84{*1L|%}~*ez`0Du4UBnkFSh6bqCAJ{b$A_bc)QIC zd8c`&{gUF4x9x7P&1?Im7uSm>ugi$Om?e9&yji;U2vH4qz;3-m=ZJVMb1Baao5zQR z*Xp(EG?Tal`E@0oAo`Si*eiQoelOhY0?#pTzBhllH%XK)ZS+cB={4_v5?$wN_PV^e zi@oPzBd7fV^>JS3T?5|IDX-mY-|zh?(TY4jET(%d{Toqr!LLc7LXm*)&VJXM?VbKb z@9*Hn?LYV0DfbgzFZ#Xk`*5{0{Pb<2`S~5Z+?Tu$ky_&Us@LQ7q`b96kcZdlb+*!3 zqItN^r`)d+Y>YSii{P34tamo4*XKU&&GY6x;B6zSoAD6mxtqF8@p4*&YGLoaq8G;> zyl>HI`5MD}jkkEdcZeuhaL8NWRo3vj&2au2_}MnzmO^Ws%jaG13?jrU-a>C-DV-wK zKYgutx>sJ}tsqhhmVmZky>}DQ4Zy+m^91=9yPxs8y&lQC2;s|&KKK;xv$T_Fed&6-Gw0H^%b9!WI?w68bnS5#WUd>aV`y{67EKrs(=+LS;xMsHnE~1|PC^dU zpUhJ>E|`q5m?PVAC|kvC=5XZ5l6Dz~WO%F`c{*?!CQ&FiN0#-eIH*OAoDZDjC7c;K zvSLidf#T=L#lT5l!XX`(sDpWEI8XMNit9;($g2#UFc1Em-{aUo!jNSn+HM)k0H&TN z`IsI@TF$1Osa`%K1~9K+0Tr)q7uFF5#wP3KR$gd zfsZBdu>?Mrz{e8!SOOnQ;A07VEP;tJszz`mrnP&?*JF@uf^(jU0o5=#xj_zM!IN0yrlVs; zq{TGmrTgNWe8JOIqSYQE&&9I33%hS8+9K=TY%pENIXAdRC_&^{!ovLvk`xc>o)7O7 zRx|gQE8NHto+yhdL%>)!li$(#IFjr~&%5yz;wzSvB&Wt&T{I^i(^)sAx6%S&+YNit z#GexvR`+!iUtbhuA+M8Md>#97(xf~r&)8XJ5vo}#1jcW@RO%ULLBmT+=<`ZXA9ZW2 zi0sz-!huonbA<={?MY$vY!nb*!rmqnO7%6};@)m9EAoHZK7d6ivP+D@Y5(GvZzosr zVplLwn34pcBpyEFpR?XS$JK)ZfQDA9v4y<}+6R7=W?zdLu-bQYp8e za{rcy$O%=B=}EtfBK?sRUuBpVJ}pHyOMdXcta-H;={=MKwE?x+6 z4SMNtB8A!xLw=}s779HQmuK_@PZrsx!dR-YN9>JhNeI9{(-j8lF|t;6Goi=$D8JxI zRIUi^#~v9C#(~P>UZTF^bEpz*m@?D$ z^P?%)lHdp%04F}q4X3J)b)`%l$D@#}x+0Q`wxG|jFfVsAO?Ht~!iP7O`TCfulNuaB z3%4=G$27C12;}V;B3RrFG1VVQx$H~>xs)P_X{sENYV3TCAKFTir7*U~=RYI(mkR7` z#1Lei%?tk4p&Kwl;CF3XS9s9kn%$&#VZ)0gaJzAB0mAk zzT9u6+b^}3s^ZXe&1=!cQ)le0h3<=8VQydUPl?@<6xU{=GyJ*QQ+5_ULs>qhbx}7- zk{FO`^ZSiRtIq=MMK!UZBh9~H?9-JU+{%QcrfaGneF6K zgbl-vrlX@I{0L((X)z%F2$vtZ?ws6yV$Ql8562-+*#$Q_~J z%L(;mMkSZ!cMf}p;8eY|K=@_huCLm65kA<*#=cMNc{}XIuKgJptABvKK z#=uYK{KmjJ8ZBA}}UkCzsyT_E-W)oHqY3XGS^{TLXrr&0>*Ru%W4t2P5nC(1tV& z3)v%_-(g-lwdb=q9|$RXA@l$iGSExARkPf99j97nZ^Ib{@X9@EmLX9}qMb4`d?>@p z%PmCZ42|N)Xt#~&{Xw#}0{>pJ8Bc2WCY;n`kX42GB)i;*qDcfZ;Z@sE>-{O<5%V=) z?hkZlCE3;Pls!RNg1K)^Mx8Z$AOqB_Nwm|qIGMeSKIKa&82hx&&+P%^17BjjH<5)B zHI$2L+o7cX&H*awqwCWc-c^Faf;#$5heY@`Uvj@k?z8szw-F%uQUPkySp?f7rP~*^ z9|Au;KUYZDjLqU?JLY!LM0stDL1t`Q-)4}gM;{q7O_KxLAsKd4jiWWnfc_jwmD zBcek3aT4Zp9TJ=x&NSZD@;g^B?iTmDFASi=!Kr1K1$z;?yM1@ZG+uzPrGXP_ku4%@ zgrHDUdzDaFmC6~3Q&lS0go$Js;jnSQ%G)RgaplLG#;T~jV?altnl2ZEwjd2of@1&S z#nV0og|(;#(eHQ}bbkv>7H^vyvxb`~u6?>-)Ib~-Jb6vaK+Nak{id3-Y6Cy=3QeGL zHGm1Ng>JBv1aQ)^P6cwogbCY|N`%}(xV(x+)I3q7D3mCqZt~dmr^0~)vhMXZT7X%NmUS!h+I>~qC z0Wj(F^i}XtUK(^?ED8R}6>e^9)jZ)m&j&I0dtIKtRY`xT33dgBwE8tE*xk5R18I}t zWhWxx#vXeA`hE-tFNa}-FnOjm(W-ieG)EqDpY2LPchBa(BvEzTeF|=>7v+XWb!>bT zt)5mY*3byyQCTK5Gsv#H=B%Yty+%=#cCg zl}WWr0Tsg{rM&)Ea#+z06ZI@$&>_!X?{T;b=>=E#Zz`ztq$e2gyz`2CjIApp$3Yp`+(DzBIRJ7aWL0C_P+a^ z;vRJcRbBa;GIDNRu+wv%R@o!4MrPazeT*TT3ca}V*S?)Q0x2EiJb%dg@R4Og&#|WF zO`ApK-D>HmE*)(>{=tz#KU;m{oE^K)JZ7`WH+^OQ((v7zH-7o24|i_cRCDV+w$BW7 z{%QZq;Zrj=-tqFSwj;-n=O3D#boRokvW#iOz_Mp`|+F{qi z`uhTIKfF)SUV_H&Z$kbHa4U^@n5 zjG?3N#pf`|$;7?M9-|uobF9+65&8-xlq>)+Y2=4N^6wCK_3-Nf=mzj)jo-+JVqZ}a zivpGIo*dJ|)N%|+UTSn-NDO#;byg67!88=e!0-XnhP|T0*1ckn&yKqdG8K#%^dSq@ zP)^z%Z0Iopz$_SLLBW%9ZcUxt8Eo#Tr08wE4>xR65G$Qt|^kkQQ}pSls2eXK`BK9n*c51aobWIUed4&y&3ZEVSQB?sMl+GjqNL zql*@7OhW)7HP~3ZelM_%xGW@Yphu4vZ;-Q?u^^reBs9g3^V(5U)RC5pzTiIA5^@g^ zl0)wI5`@{*`_PR*P%nUPG?%&0V}3+gqplVWF@yUK=%ke%lIq6fnJ_Wfu=}q2=x~od zycK=KW8g+8y|frg-(zgg^tnv~8huiW?Lz><;+m^FM0i1q=q<4{y0|ux-MLws`!zi) zna=tmf*RV8N{X=a1k~JdO&D|G6C0pt3(St4<*TH_FBE){qJj6mrqhOW{QA?#m!K{@ zR|UFIhv4%=T?WNx(w)@kKuojYSqC1hcef8ZpZKhf5No}avSfgew?K1r^Mk>Lk0}@5 zAGyCY+L-%zoE~vYvVw$$>Q{a$*wV-_F$Y51W3PZ5%85fN#%Yh45V5;tc`PnZkIPQC zB4KWdV5kUQPatU_N0QM~CncBc9_yO$Wn&aTp}&I@gqpXE!wFKZ=pKgr&=?zwxG<^E zrH7J?q)@k(+#{ftH64wg))zger=mtE+9*fwEK{tqVX<{WgJF)yeL-TX5lu5)?+y0Z z(<FU-ViZ;6RyCQm=bR`-zoCwRw$E^|XBZA^$%DVQf z>Gvbyi-@@jv&a+N<@t~v|A4tK#BJ}nTD)8ayhKb^&2r&CG^8!TAezo%Ta4mGg?)6g zFYBf>Z69`QXIZqfqe#SjP~D4=_TBAUd_9KG@0Z(!#jW*qd(o=>(Y>WRI<19%Wle}$ z#eZwFR*q9UH9tx3J;{bwIgSs=g{k~yH~i&DYPOC9l6Cd?_-Wno#_K;&O>?eHJ0@9W zDYWW%tI{x2ICi+kbQUyfT$%)Q*rKe((a>OmBZrd zzASZ%TJ)N}9b6?F>^X7{Suq4lv+#iynF}4A=kSd&S#R2n1!tVy7HK*B<)51krRKP^DaVN2}sKH~%2Br>tj!5#=Q*XS`oxbMaPJ z3;L3L!RLs_bugP4v9KF3_9|=`kG(~Jx-}Bz{C-C>w+Bv^go|TqVZ=2}wpw*hhwG=``p*IL#C^Kcv7(nlCYpWgg0@7|#N8Ag0v zEy^{;FbXl?*obNvDlTk-E5*ltdk7i5`AwlCiakqxiF9$^_}HU2(3Ah9Gh-fdWH#Oc zq_t=eZLsbj`&P22w35`cAEU9Yi?-6MI|OdW?HYBcFX&qAhW2RVdus#R*41Zh*lEzi z-KOycU!mg5MuiB|kLAakBMJ6a0g^x5`$`KtF$Z|_faFB^~6 zdvuMQ64Uo}>vFUnDbpHBsOr<6J)kZ~<&Nteup~LBCAi=|tuj^ma_UA(*&SpZA0NpX zKkePl^iGDHa{^-@ADKIf=X@&uOvyGkui3igIeYv(I;%xrZW)ec&0E z8o^W)Z%i`-)w5Ge=fHBL1rxhWvokh^x0HCD*;}o1$ljJ1_H}DBo5m{8yw-GkKktMM z^Jj@M(3*!l;a5|i<}ZjfFyI|q%pPN%yS$s8rp5+?<`-gw#}BC{y3oh_?i=%;VBd}7 z!YjOW3{un+KK^uvN>+_uSPA@hXjtAssN)M7WDU`$B0Zn#PdJMZJ|c`$G`xY5h#TEW z4gNz&7hv|?XVP95xK_zdI8`3&Y1TUt4j2WnJl92pcL}uJ+O$JrfvQ@6CqB$a(Ac_m zQ>maE@N)NdUk^))Vkn`~C-F&B)}h3!+`4vaGZ3ND*SW-`}fxIJ75$>6OkflCB*_fA&bemn0jgGD*>D%3@k{)C4RtkXSG)P3F z>m&5Z!wIK39fts%bUk23qPijB)KNKns-08~=~3d7X_SaEn%Wk`PmxcePo72o008u_ z@NWwSrW+XTXx}GaWI3fEL>Uf1PH_ajhNdB2>xM!SW#0#1*1ZrtVSrqcE014rweWU$ zrVV;7YM7$%yt2$%#Z|+Sf`BmI45tM@&F6#XVaE}pd(Lb0^WBbC*5azNeMZ}=NGZ&J zVRQo%Igj(aTo|y>Z(};_CxMXM$@6;9-IPXIW-d3iy2pU1SvMM{!|C^?=5Jh>q&-|T z2$Rgd%r`WQE%)d!5}=SlR%SiG!Pf)W5zvCAsPPIm_g8bW-J zx`4cb<>%Tb^<~C{zCZ|dZ}QQ-iV6LO27`gMU!U6ze?9UVgp-DqJ08iIbqX`&J65*=LEKncicpL)(BljkCl`GUi*|T5b^) zqMK4^N{E*AUscY*RUQl6e;gswo3>+DBwi`440;Ld=QwAjh34rW*O|JhWu}LWbsm>(_K$!8)C0 zPm53j@egkLZ8M&CwH$dti_4ax>JWS_@FwgybYldIKqgBrE*xSn_+OK`did3Ts@4-& zH&9V^yZ8>NzyWpxRbxcz36=Lpw#H#OSZBu_208B!MYO@8AVz|Az3Afc)z=xWhx^*#xdv>K2S6adBh-RW}naD#}DG8e8(q$=%UhzoH6+Hp~% z$+c*h1k=!cN1xPZk^Amu1B-rCZ;$tQ_A*yXT+HflU#x^sP#r7zS|Z4*7nwDCShUlb zB)GEY!#*#WrZS8 z6OYMqQUt&n+POT?V{p787+8_KchU0x%k7v9;Aj`RAF*C$EaZy1vXYiZkOxUPdwE}? zQV?q;)*ySPO(-+KP=sn9P22lX+Rvfu*2_0_htjA5`fVXh2Lr09LnBOIE&kE_;O#xraFt2A&lTSvewA#fg-x0DfoYs9e;N*!32a)Ij;zhS3kbVmue5k?f&`XJXZA zg1jgIGIeTTL%D}zxq}IM+2m(?TdsPVuqJ0kI8V94uNSa|$S1OvF1k4q!`hBh%jm|< z5G&WU#LY&g&&@J8p7q{X6<~vqA6VjtR+eiVuLZi%QLkRIR||su@MY~C5H;7370|WO zzq7mWTXu`?4Zniv25cRdA6WLIe_^#Y%_gD0llB8xg8dsQyTG4nexK}D3l?F3a?>Fo zk|RE_io^tuhsL;Ma}ayqj}A)WSEaDzDI=HmNa_=a^*{n}Ha>7rwcQA-31KxMtWJ%= zxI|I`H^QlwNq?^EvV-#aV;!@*$)e1nb(qZXI`Ct`2S_bTg2t~Q0R9#8iQw+{^J`Sk z@oj*6_%*kusN&{I+MK3o$GRO$AUS-%fxo7&11}Mwj$?4Q3~A6z8AwN7CsTu-Fy~>W z-v;OJAi~W_f*;RqPR^~o7NTOfv)fdA+(kAWoc$mV@ti6@8pvxwUKCGmQ_1f!%e@+H z!T(4LcYr$c_P$N&*nODI8GO7objBYo=(E$^Gf>YB=>WB8!F@MpU_#LQUMp_r$`})r042y*2o!fYod0pcE-lYw) zh240gB-Tn9()57#!#VaKFr+Ufbl zMVntOl9n_F=4^G+{V&o3rHNiR#z4$MF=0WQlOC|lPEz7@JZ6z)%Y2q@$4I`m?RQp4OB&zth-#DN#g7A5t;o86Lsu0HPg}epCBA#QPkbG1=!J51A?5RpuEX^a#0r3Dbo} zAX*FbzNm$;*GB0TjYA)eUuyV ztz`AmJgkeOa;Qr#s>ICt*@n9!x&uq{JUAq4M(D&R(tBd{UG?q!FR+m4|kLjf3var(-vY|-x^!R%H4u5lC4{5pRXkyq; zXvH@w0y~K>)DK$)RkMCbo))!qvinhh+ROaCLbS!VjbZPbGbyS`>P$Nwt}0h9v3Y}f zxt?t6bj|;*tE$a4qpgkf@(8$^eR^rXRN{U5v{kv5WU3*TA>27KN=e?v# zTa4|qsKfu5Q&zT@%-in=SGf6(JOC)-R~b`gmCS3+lZ1edZenwfH@Z_~I5CyatlJ|n zs|hB&;nREr!39@*i6?b&rpQWKb3J79j9R;~!6D0+qJ6jmFqeG8s_54r%GC} z2mEzpW@AWu=xi(fAe!{|Hq1_vmbAum-*X7aLP5%i`<5-71Np<`+aVPmR#(Ljp->kJ zO(~uW42617=qL)sfb*nKXeSEYibBt$(5}=BPb&(29fe}ZwdyGJ2Pm``g%S#N$ZAq3 zwDE3&f4o^-2w9=%JdKy$ zCp;qs5}VaVlmy@`}jv}@hsyPDdy zb?!{;^R~@R*qSj%N4x1zp{2})Mf>pKhG`Mx1u%%zIlfj83%`ok(GiX-uEX``T}6zA zhh43NkkZ5a^G+~2l;^pqPRDjSjl;4uzAO1qp2Dzg zLf8B*fUzHBLHtmj#FYwQg=r2fuz}gAuNAJ}@0k|yxADBK=X@SZgBfcj3isY2M!*l? zY2N~s)zJLm!xE-SD)XF2jyum00xE?MQ(Cw~WQuAR4{#Bt$j`T@;1j?yUrOXw(@I5H zE=N?!Qv=V%54nOr_VGS{$a4{WZuR^vR~&VPCQV}%1b8n^nnM)-cu z@CiqrkN3wbk?^1w8+Nd5$5;f}D?YXNLrf6)Uef`-?*@bh2+tM9iJtO%f_{4bgy#cS zhBoMPg$F@P=`?83Hiw!gl%QPYqJj;YDA#>Xo<1h?F#WJ6S?YOzP*M4A{WS%cryy?k zhjn%XwnCMFJmu0OvK*0B=2v{IsAbE%L5n3Mz%=&;qycic$ssOa52`@L;ue>|IT#1X zK=I`Y@+>BlvS|)IPKN7D12AN=APR&YD?Mr;9yZO5K%%T`(vZG54(@n?FGKY3TQSuSpG zw!5X`gMOXpISU)Qi}=y(u=xQq@Y}U2*Nqo7tUgLM8{4U(&To?ntHm_MM`&0yspt#> zP%9sb{!!g9c-nKu#rnI}kaWb6^`}AV+_(Ib$(ViwY_|T3+?$l2+bi|;IcBsuX84QS zONMOzWZP;81zPr@g@qbC=iuhC*#e?Q^V}C}J*UYZmlypN0I6B_G`po*S(-WjNjiRT zxZ*dpOBVawL$jl+W;SC@y z?rG3(4s|`)j9@VNC&%nR74O6)J2`!A@4|T3V~8P+TlO+`I^NK9ncpnWXc?=X0>*;Bi<|O^IOkl)H&u$zruh!ozx5GKA*NT7 zhbJQU2n_Xp5}}A#Zd5^E5RGgoal=7Hdws@5UpPetD?H)%dT73Tq$}F8K-YcYjcl+j z7M6?i?d}hJp1-+Le}PbX!;3u#2R1frCD%5#Ak02p9S>CRZ*TP!>u;ehTvl4mP-B&T zD6Y@i#{LwoCrMm;Kx*jt4C&uH((we*vZfX^lk_jAI#!bYR8z-6qCYpSPUBS|h0AwN z5Niq3qm6yh-kR-lf0%XYpRHL_uY_k8?|z^->GO=bs&~28yptWK;*&4N8>QlBYML%C zNUyG0vzUGPEEDb61Md0#YR{Xj+UaY(rMaUQV@CO8Kx(tI;M~`Q1p_o6vr_#|7Cd`o zI!}MWqU!w;Jj{Vj(c7PIx<{$Z$$wq4y}@Ha>9tlV8_T^mDWZ~u_0_pACZ#nMQs->8 zqZfU?<`2Fv{|vJ79Q1hplica~dwLoNXVeUqx=!9zyylkTU9FzCxxK0$nmhD(p!!~S z^}d<*-V%BUdi` zeG~l0XYW;P*yg~h8-E*a=ncOWJyot`FDy<5-0#oteOEbfXRrRb$E)|Qvi{t2zA-wz z{M27d!u^3Yw|KH@Ja7AoQ}*H)e5and@s0g@{(@rY6}^fAJpaYMtbOat2O9Ll@zz`2 zg9tVnr8c<(RXi)}Gke@;o5}`JVMOn+>iV4k$Mk-4oz5G*UDVe;dtlSt*Pm~CL+;4I z>j*YTn;f>+0y3BVb}8B`N%>Oe+!w#owWfltna#d@n5fP32j=i#+U?WBJ;TB~}-T%L0!e?AyE<*QGz z;!}6UwY!kqfU4@W_Q0PWI`Ccedx!90$Cd_3+Vq=k(AG__zX_N`d!&e8l5Tvx^WMY0 zBnJ@N!?)K)8&`+3d&6m|*QuPcy5H|Fezrtmz16oYsBW<8w@1UzL{|?+r_X`gTl4+K zQ>CsyQ*luw`N9X)WTlI?WAt33X` z)Vp`dkIt@2yARzw)oskv9sE;k%QF|;sgB)I^?0POEtk|qrc0) z4}f63`|ZDu@2lxvHrDh<0AA5|yZc(k-`(W?aP@m%Ypm95Qr7V&TZ%dD6OwE7_=U#m zyqe&*$A9$;iNk&*d9atMvHC(|@XUR-Y`4BmnIk?)x-|X1KJvA?wSpg0tA7t=DZY|* zGc`p-4|Kitv?8)-%d3)O!JBmB8%ws`b#m+b#-@ny4gW3}s~s^l^4TZ$YuFC4>A>UR z<#JQ`lFGa#2jx)Y6&5_96#O3ym_6LX@yOn&#Fu2$N(C65b0n8a;-`(<{eT_)tK`{d z&JFt4TyTXSUm9bb2%5}4FLyv_iTEH_rYe%QW z>bDt^s_ZXB0>G?qk(6guI}INHt<$SmbQEFSy4e{&Xh+TiHX9kg?P>568xlVg4Ja;j zayuT_nJ>^b%))oNf+0_?+aC&W8@pknRt% zirx_4`Dx6n-AT?4D3a;4LR=*--&k` zn2r~DTt&!Hj0eJZ$}_L=5&*ZU9_*YDggH0GHF--&3IC9O$~+(X_#S4=i4eDA$<>cN z+n#f?=AFR&0~N7`_mi&0myoK-p7RStynPwUN>}d2l;&aplN5SE-g{An&@8$qyx(&w zS=oj@!d`n{3j4Uo6OsMjvPc2Kdwe3-r2drFF)`QZWypAA@}UI);4rMm`-(96Kvxkv z`abb@x_<1XPQv5^vD9fRCLbauA92rnxrkN5*e=9M$0WzpIRxflxxR3hhhg#o-{`$Q z9l<_$zEwZc(>pQw@L=*$3_?sn40G&b^5GdSj6cs>8Q%3EcEX<*$&^7j+fd@9?wj=={p2t*NG4Zh3KMul^Hhs=c3z0E51 zijv+Jz3thi2Yw;N4gGP7h|N0cY>8_dqjmNAjTJ98fTi@CdzgMV8WwF__uO38`e5ac zh8+iuDCR7b{LKHq!l|%OvT|H zX)qfZW}PTQUQ@wg{r$~6zpi4#Dp4sWlF>U>iZ$xiTs2~CQXqI*_X(YFeDx`5(H2(P z)Zu>Q5xMEBTHH;5TlphOLa)m4vOT0SI9?Nel?4-?)Ev(Rq$vVCH)0@1u_NW^2`8~S zAb7gCKKl!$EmE5KgBzQ3smSRoq6Ol#eW~m>j@Q0n(DC^Y04QVx2hJ zvUhC=wxqIGW5Gb>fy1i~>@9N2kDpWUa!Bu(g_U6If4xNocZg7+w;477WoM^;@{ryX z*D8vrys3RzNlAOU1bw{@mhjpKcs$fn70jIztb+;M-UcJ|(snPRB3J5;l3?Q;`0j9T z^bXqYvie;zjn1;Dcx}(~M!>I<-)#%eFNDphYGvUx3kj=AF~?E-J|eh1jJM2h1SF8) z;o}W<9OKPzj<;MScsxk(AeChA3impWz*&xZ#_X)S|EMq2D{8t`DV!$BZR-}rO&urY za~k9@L*r8<;+IsY$%{!T!3=`vqB=wGUOGO$R7X~nvb$$I*iFO0Q+&$ECmTALsxzhQ z#jUGK+u3ZTv|#^Y>6gs*A73w|e?MZOO+6oMdUB+T=KucrCBJ{3e*b)@_qtB+k`7w( zpXx&gHm%j%sUbT4Nn1zFjSp;HvR__u`~}asH#@o>JMN>}#uVIC3RSSxq_VqP|D)K= z`y4~q%uDUi_x8kL)vuI+{NKyqdy%6^ov{X;qG=I!*C7mWy(jy-b&#Ro1=@MRJ zkKs3IsckZc5^gYxv7gn4{7^^BJj?8^upjg3c5%;+PJ$T|ceAz#3#;wn#;rQFF}95f z-+YXPn^CTx=VT`M>876sfB|p^YtpJkrx&{X`>X2T^XV8$jTX^Q!E_O+ zP`fztC8IO3!*p82gY*|^o^hVjlHM=G8*`H1lcL=!;r(tzXymesn03jpOdZ%)D)Nwx z$7|<0p}#>m3Zy|@9yp36)>J$fjv@?4!Qdzya1>Xy_tfim1)E{-JtGhU_Z1WNK0=N( zdN6_c5(JOeoVcHvct`A<>_M^#?t(z>35IyC>O(VE1@eHItBOp`RWUPH1@aLyS2cV^ zuIijmLG#8~nCGej$W;ZOWB)>MCP>S{I$6dh>yusJp7sPmTd9fZyg?f;=sH%@{IlQiN|57@xt&8_oD)}G}7Sspp)*^9gG(E{~Y^twsdSugYzPRm+ zEM4JPr>}1QPiwTL#yz5$Ifbh=3V z!m<7YvDVMrmqt3=P!_z!{yhm37}+jG-U499N#D+29@_RBo z!sD*~Fxt`=P3~j*ncyS$1%KRnUXFUNQ$$Y7%h*{l;ygYMy0|B`VtP9&z><2e#5JTj{y#1?cl< ze>AFue#{ObbMzpW0fy_I*$85*pV>LEc&qLT*(!!wZ~d$`cgVFqkkfPz~b(A8wddt-IP-CpNzycwY!Ys+JY3!?D<#EOWn%eF}ZEDydhC-{|5 zhs(Ex#kSo;J7PcEu_Jp<-$b=_jFW#>uiG#J$R1vPSSrH(@wzoKHAET zwpv^Bo+!#Ppcq~q^vH7}w+%(k2TuQ@w1}PpD2ahz zYGBa~u5kYSI2W}%=ER%5Ojp*z$*kY}Fw&qgz14D}H+~KHGW#6ovMzO0y(U(MP%A<`8r4CKg@gI|9&6EyH{&s4*C!fV+1R%rH zVUZ~^OUkYF=aQN?^P6R%NW~W0Y)N-XZ9gt{mv}}>f(8}sVPU=J1ZQ4EuC1hQg>jSb z5B``bIgCMs@P<-I!~i^oCCi+<*ee~dvC)-_yBg={huDw+Ipfy_B&+T}ryRKOSkC>= zj-09+Rvr;CUy$m@Wda|n=&t5p2@%43vfzEN zYjk-X0&7pMiM6K=bM47Gx%Pz6#DmZz3r?X6p~;cg_(tr_FJUYsoSQMQw!gAkyJ$mtg-FV0}v;y#jWT8rp}%N0Gg^+`uA!khj8l+!Gjj zntq@=@>8-yD((mXjQ&jCMMHOOKTfip$u`@;EZgzhXGwTHXP~K*)-A+OY)t;n#F)F) zMIno-HDV2|S6(VuYYfrRn|Am~bv1j&8&kz{?>p~FC;a+}d4DU7Hg+h}nv*=IUlaa~ zLv%VEn)^bb5@#K6DGhn^kN5e%>90~=Q>Jy;-K&o0FZt%8wa4G7`sU)Q887eAABs=^ z%>MaZbf$dh7vG?_cSK*^vGcj`@^8Jr@QEMR6x_A%8{zNCIl0^ZW6n2bO9yv8ltR>| zt?_2b(@W$WsPBg9=<_t60rD5(1_uIo7l3qCSAGRiuR~7}U(obx0i98DW-DXfp`{8t zgQX_b7YWbmYAs{oAF5buo4Xpy91nB`zx#Cf{^YYltO4t_Go-kL-?7o-C8tVD!q_uK z#m}hdbJ;e3NL22Fn0#`FxMr^!Z#cfAb55iqd(G)5p3-)t=o<@nvDOj@{t>z}QYg9*AQz!y|O77})s>EJV&rr9t?aq+ald zT<}K~ucm-sWXRXXV9E<38uqhpe{D{oZY9{_QIe(ZFlK^MRE>aT%8eZWEKJ+i3`Xw| zW8Y=5?|#qP*cDc_E;$-ZN?Q~MUcweC52~78!h(xeh4rYrfpzxdeS`2=?jsUjBl37H z{{6-}89%qt6>iy*BeSEYi*)FQ>JOnVkh9_Slv-TtS{He#EcRU}8g9{ClixcUu7o-v4jcd#!bgbhUL4<_K)c73l_pgKap}Ps%lr<8mKJ~R|b{`!%J6& zmZKWxq883p{FoVPXFgh47pN$`yPplYC0+tCp9AZw{7*s{<>p&gUa2 z6MQUuu@8>HN@e(#ry$j@C@rrAY}QrUb`>t5tIo&nReq1Ia4>X%Wo;Kt_#;yttb!H*Ac0gh%V`4_#-G+@RH5<%ft06!=i7|qEBN5%>=9T3?kvPhqm^j3iDl(mZfP2a zhcmU3&Fd)u6OZdjrXTni^#kV2;00H#fO_EGb(wDIB_QCFbbL(C$GyYE%jiJPWtvOY zVA2-wv3I$g^4i*9Z8egcQ_HywG|S1@5Khl+P^KMqx z=M#N&C2$HIA7h+ux>@b;%JSvqOY6$ZC@&*7(A8cBnsixaoA{WzM8`+eL>({FO#x1! z<70>GVOCjHU|G1rpV6s_8^HM?!s2nc@$s-2-#O;v+rrC(w}#8ADk|J&-97^3gg7Q? zr%%>zg7ua4`v`CfT@L6zk9%ir-SXhFi2;IpuURHQ%gSrRt5$$rZT-@^%g=#=vNPj_ zzl6=}JuSn-)bpaN(@z-#nKttcms4n$2J5Tq{sFD|Y-+h~&~nc_JyUK)?TS$CtyR^u z@akn(K%vW5Vyr9;g!pIyYFQBO#5^Y3;+c@g1kYOnwN>2aQSsGzUV6@%a2{NivnSf* z$kYqNDL^x>PH#TT(Bc<2a8U|cZfmBOmht}JW{;0!nrG72Ro0fT)Ir%e=~0EhU=!zu;vePT^GsUT{U^$?yu^0=3{33s3aQb^im;zayB!yL^JTdkSxq zKgpUt^}pdgm0$|*3h)l$J}<*NP+A?VU4c=)qQ0&?qbL7ZrdJ??2R|ldyX;E7x2yTf#u7BVRJ}koIY?e^jCRc(r4_&3ecN=B2*i^ z8Kyg2RW{)#rU0gtS3QAmudA=Fs$Ry?Vf%S3FaWZpmm~ooV{u>07pM~O>;NUnrEWn}MYTXt>Y4OrNn)kinI8 zxeCG*K74+|`MBz8t4#k|Rb7WbuRa6=TYN=*u7WUy509D5ew>i&q=US&A3ySN3jJgZ z<*2AFFAuL=9;{nQ1y__m<-rs>9z*dlXuUNYszV%@dj-t|a0)(;ojAVD#9R3heVG7G J;A4VJ|2H)TJ$C>A diff --git a/audio/felix/cs35l41/fw/cs35l41-dsp1-spk-prot.wmfw b/audio/felix/cs35l41/fw/cs35l41-dsp1-spk-prot.wmfw index 5530a4d53cac293e616ace4a4ea48e1829c02bdf..19ed6b03e1a19019403eb0cdee394eb0b84c02d8 100644 GIT binary patch delta 13123 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 W`v)e-bnt7Ye0J;C(XKguvQJz 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 YN#@puTUn0z!-gs5;Rew>*HH5R0b#ocv;Y7A diff --git a/audio/felix/tuning/fortemedia/mcps.dat b/audio/felix/tuning/fortemedia/mcps.dat new file mode 100644 index 0000000000000000000000000000000000000000..04fc10042f748224f321473096600a6543c89b95 GIT binary patch literal 292 zcmY+{j{f~n};4u>Ch2$bG g>&Q@rDhDWPai?p}k4{9iiEup*7 zLSjM%dZ@5yXn7Y9sV>o~N%xi?D%u4S5{Zc+pak(13XOn}u+E&jyWL*4s3e9Tc9PlV zoHO&yoO4g-&Ug3xVz}@|g87N3olli_Z#K8vKT-jVRw&Mv41iL%xvRvM&rASTumH6A zj@NK?ajIchZ37lg{+XyJ*mvvF_LTooD6U{VPApduX6Zue_HA8UR1>!m+fDTJ|YT{WhO` z|CB$Y!Ds;HaP;vHcgT~xMNEwXSl?#dG+2}JLGk&U4t6ZM;`LW}*Gtk&?wl*9ZEIo| zX+;A~WIsjCV3dE}upC3$_ycUTgcj%P2?5BEcPA* zd)#aF!wDAYPpx+eP%XU-U^xr6+p4%OV)*VX^9 z=JLkXQxZ>%!*f%%YO{>O1+(((nOQvrc3A(-^*7=>3B7r5{;-YIEr$eDc;*-t@Z7Ha>2< z`Vg;bSeW~0`Nm^^ObU~KqR90rVe(J&e)n{OFsXr<)II)Lmp)E@{*qd(Bp# zFIkQDnj+^d#NFMzCfCY~Z6hq#h0$^3?u>tvJ3Rf=YwR)V8@0_&h)?GEyL%QOi*GmN zHT5(2vXT24avdv#A!FLhQbT7857~+8Ba7E6qgDGza$RnIe}dtL?5}B>d^Z+vfC|ns zj#vceH|6@*Zn-S_$6f;xC_#7rmb1gGFxT4T#IHW69Zn>EajBA?vqz~CBXWw0+<&{z zQ|bb5rOV-X*%j4TZoi;9OA=WNj;g89Rz1iIt-{1&ExKzRxrho)BWDh)G{4!nh7ctx5`zg(^hG z_{drjkw90W#)9j~exl|?zfSO)!%07h0V14VDsN!V7sDbcUfDmq*|;8S5z?Wv zV^SnEg1Ox;rF0}E$8z3^gX0u;Y9CCv4{%cfQz#Yv1bPB+$K3lVgI6C<#%uaGd z5&lensW2|rrB|%+fXW)LQ)^(n%o=v6ZoePSWEhM#Y$BIPqY6wLY%JOoaZRVz6s*Dr zl<`XVE(bqn!3RldiJ=}PeyUlZhLUboa?x+pQ1T@=FYuk@8QFuam-xf#1-g_C!u%&h zD8_Rf*o{w+6tPOPg~cb8$up7-dAIm97Nfb~9_mT`Y@R(Rs*;XB6QTp)}V9hWIRSf11qEdvgd? z@l6c(Yc{E$G#EaL3&OlUYUApcaeP#uH*f+GwC>hogEHcQ5(A$)*tKFAUFD@R@wa7t9PH{pAUkm^%9j#bzZ9YKx{jHNM%7G0#4G#GZb`5n*V95Ri*yj5L&8A|oZ z|8q89u0G>^c)halI!N5vy+RS*()^c;@B8FP)$y}RS>70db5G=Z~i(Xd%Q zsB;XcsuJ2#1-8B(u(Lr&-HtHe&}xpHx_;6Mb50jPC;&oPW{g-d4mGbP!Ovy24pfWl zE#FXMjC3Rb(r`wj-I1FIu-c^5p5 z`+^*|iyXIjs4xXa4khQnbcrVdmK5OTkqDAA1U*rGLi?jtXmt zlXP@921CU_X0`>-5mZDzTKFqbZisvEd{m$r!Dx$J*2ha2j$RrITSG3XpBp&2IcjrY jZ>Tf!p=E%+G~Vrc64yn^Anv5hko!d-Q_YNf2s8cyEO6|$ diff --git a/conf/init.felix.rc b/conf/init.felix.rc index b146c0a..b8b258e 100644 --- a/conf/init.felix.rc +++ b/conf/init.felix.rc @@ -70,6 +70,9 @@ on property:vendor.mfgapi.touchpanel.permission=1 on post-fs-data chown bluetooth system /proc/bluetooth/timesync + # Speaker amp permission + chmod 644 /mnt/vendor/persist/audio/speaker.cal + # Fingerprint on post-fs-data chown system system /dev/goodix_fp @@ -102,3 +105,9 @@ on init && property:ro.bootmode=normal # SecureElement eSE2 cts mode on property:persist.vendor.se.ese2.mode=ctsmode write /sys/class/st33spi/st33spi/st33spi_state 33 + +# charger driver exposes now finer grain control, map demo mode to those properties +# NOTE: demo mode can only be exit wiping data (which reset the persist properties) +on property:sys.retaildemo.enabled=1 + setprop persist.vendor.charge.stop.level 35 + setprop persist.vendor.charge.start.level 30 diff --git a/device-felix.mk b/device-felix.mk index dffb664..fa99dfb 100644 --- a/device-felix.mk +++ b/device-felix.mk @@ -22,11 +22,13 @@ $(call inherit-product-if-exists, vendor/google_devices/felix/prebuilts/device-v $(call inherit-product-if-exists, vendor/google_devices/gs201/prebuilts/device-vendor.mk) $(call inherit-product-if-exists, vendor/google_devices/gs201/proprietary/device-vendor.mk) $(call inherit-product-if-exists, vendor/google_devices/felix/proprietary/felix/device-vendor-felix.mk) +$(call inherit-product-if-exists, vendor/google_devices/felix/proprietary/device-vendor.mk) DEVICE_PACKAGE_OVERLAYS += device/google/felix/felix/overlay -include device/google/gs201/device-shipping-common.mk include device/google/felix/audio/felix/audio-tables.mk +include device/google/gs201/device-shipping-common.mk +$(call soong_config_set,fp_hal_feature,pixel_product, product_a) include hardware/google/pixel/vibrator/cs40l26/device-stereo.mk include device/google/gs101/bluetooth/bluetooth.mk ifeq ($(filter factory_felix, $(TARGET_PRODUCT)),) @@ -63,6 +65,12 @@ PRODUCT_COPY_FILES += \ device/google/felix/felix/display_golden_cal0.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_cal0.pb \ device/google/felix/felix/display_golden_cal1.pb:$(TARGET_COPY_OUT_VENDOR)/etc/display_golden_cal1.pb +# Display LBE +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.lbe.supported=1 + +#config of display brightness dimming +PRODUCT_DEFAULT_PROPERTY_OVERRIDES += vendor.display.brightness.dimming.usage=1 + # NFC PRODUCT_COPY_FILES += \ frameworks/native/data/etc/android.hardware.nfc.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.nfc.xml \ @@ -105,14 +113,18 @@ PRODUCT_COPY_FILES += \ # Bluetooth HAL DEVICE_MANIFEST_FILE += \ - device/google/pantah/bluetooth/manifest_bluetooth.xml + device/google/felix/bluetooth/manifest_bluetooth.xml PRODUCT_SOONG_NAMESPACES += \ vendor/broadcom/bluetooth PRODUCT_PACKAGES += \ android.hardware.bluetooth@1.1-service.bcmbtlinux \ bt_vendor.conf PRODUCT_COPY_FILES += \ - device/google/pantah/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf + device/google/felix/bluetooth/bt_vendor_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth/bt_vendor_overlay.conf +PRODUCT_PROPERTY_OVERRIDES += \ + ro.bluetooth.a2dp_offload.supported=true \ + persist.bluetooth.a2dp_offload.disabled=false \ + persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac # Keymaster HAL #LOCAL_KEYMASTER_PRODUCT_PACKAGE ?= android.hardware.keymaster@4.1-service @@ -220,3 +232,7 @@ PRODUCT_SOONG_NAMESPACES += vendor/google_devices/felix/prebuilts # Set zram size PRODUCT_VENDOR_PROPERTIES += \ vendor.zram.size=3g + +# Set support one-handed mode +PRODUCT_PRODUCT_PROPERTIES += \ + ro.support_one_handed_mode=true diff --git a/felix/BoardConfig.mk b/felix/BoardConfig.mk index 718ec84..6f33c15 100644 --- a/felix/BoardConfig.mk +++ b/felix/BoardConfig.mk @@ -21,4 +21,5 @@ USES_DEVICE_GOOGLE_FELIX := true include device/google/gs201/BoardConfig-common.mk -include vendor/google_devices/gs201/prebuilts/BoardConfigVendor.mk +-include vendor/google_devices/felix/proprietary/BoardConfigVendor.mk include device/google/felix-sepolicy/felix-sepolicy.mk diff --git a/felix/overlay/frameworks/base/core/res/res/values/config.xml b/felix/overlay/frameworks/base/core/res/res/values/config.xml index 4a30b76..0fbd648 100644 --- a/felix/overlay/frameworks/base/core/res/res/values/config.xml +++ b/felix/overlay/frameworks/base/core/res/res/values/config.xml @@ -253,22 +253,4 @@ "local:4619827677550801153" - - "local:4619827677550801152" - 0 - 510 - 0 - - - - "local:4619827677550801153" - 0 - 590 - 0 - - - - @array/config_sfps_sensor_props_1 - @array/config_sfps_sensor_props_2 - diff --git a/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml b/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml index 45a32eb..cdc708a 100644 --- a/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml +++ b/felix/overlay/frameworks/base/packages/SystemUI/res/values/config.xml @@ -20,49 +20,6 @@ - - com.google.sensor.binned_brightness - - - true - - - true - - - - -1 - 3 - 3 - 16 - 16 - - - - - -1 - 133 - 0 - 0 - 0 - - - - - - Binned Brightness 1 (wake-up) - Binned Brightness 0 (wake-up) - Binned Brightness 0 (wake-up) - - diff --git a/manifest.xml b/manifest.xml index b87c09a..73b4e42 100644 --- a/manifest.xml +++ b/manifest.xml @@ -2,7 +2,7 @@ android.hardware.audio hwbinder - 7.0 + 7.1 IDevicesFactory default @@ -143,7 +143,7 @@ vendor.google.whitechapel.audio.audioext hwbinder - 2.0 + 3.0 IAudioExt default diff --git a/media_profiles_felix.xml b/media_profiles_felix.xml index 338f171..ee7a033 100644 --- a/media_profiles_felix.xml +++ b/media_profiles_felix.xml @@ -646,6 +646,19 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +