author | Matthew Shyu <matthew.shyu@amlogic.com> | 2018-01-04 07:55:13 (GMT) |
---|---|---|
committer | Matthew Shyu <matthew.shyu@amlogic.com> | 2018-01-05 05:55:34 (GMT) |
commit | 3aeae37c9f868a4354b2183893d23b1c374291ee (patch) | |
tree | ba9875f66716ed5f08cf381b6c413c7810172e62 | |
parent | 1c592a46bbfd6ed2ae7166fdadb152e6038c118e (diff) | |
download | keymaster-3aeae37c9f868a4354b2183893d23b1c374291ee.zip keymaster-3aeae37c9f868a4354b2183893d23b1c374291ee.tar.gz keymaster-3aeae37c9f868a4354b2183893d23b1c374291ee.tar.bz2 |
keymaster: fix
com.android.cts.devicepolicy.DeviceOwnerTest#testKeyManagement [2/2]
PD# 158086
Soft gatekeeper is used on the platform and thus we fixed AuthTokenKey
to 0
keymaster-ta commit: 9eb3ba5b033ad57127b2d13d94f988a43718db09
Change-Id: I47cb0277f809bbe73e03157dde54d1b9628747da
Signed-off-by: Matthew Shyu <matthew.shyu@amlogic.com>
-rw-r--r-- | 8efb1e1c-37e5-4326-a5d68c33726c7d57.ta | 2044 | ||||
-rw-r--r-- | Android.mk | 2 | ||||
-rw-r--r-- | aml_keymaster_ipc.cpp | 14 |
3 files changed, 1040 insertions, 1020 deletions
diff --git a/8efb1e1c-37e5-4326-a5d68c33726c7d57.ta b/8efb1e1c-37e5-4326-a5d68c33726c7d57.ta index a1e501a..4f50e04 100644 --- a/8efb1e1c-37e5-4326-a5d68c33726c7d57.ta +++ b/8efb1e1c-37e5-4326-a5d68c33726c7d57.ta @@ -1,8 +1,8 @@ HSTO - - - - + + + + vetv@`DAFaDAFataEv!etA tv@`DAFaDAFataEvAet! tEvet! @@ -613,66 +613,65 @@ pg"h h@kh
о @
*@G@ -ol@j@O4wS'p~@S'p~@'7BS'pr~@S"pvS&p@6S&`z@r@&6DS&`tS$@r@b@ooT@@o<7oe@{Db@wO2S'p~@S'p~@'7ES'puS%P~@n@uS%Pn@@5S%Pn@%5BS%PrS" n@
oV@Jou@r@O2wS'p|@S'p|@'7ES'pu|@S%ptS$p@4S$@}@e@$4BS$@rS" e@nU@nl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@nV@Jnt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@mU@ml@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@mV@Jmt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@lU@ll@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@lV@Jlt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@kU@kl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@kV@Jkt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@jU@jl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@jV@Jjt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@iU@il@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@iV@Jit@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@hU@hl@j@O4wS'p~@S'p~@'7BS'pr~@S"pvS&p@6S&`z@r@&6DS&`tS$@r@b@hIhT@Q@O1OvS&`n@S%p%5Dt~@S%pS$@~@f@tS$@f@@4S$@f@$4AS$@qS!0f@^@OVU4D"T@"33Z@AK@A2Q@`C`j -ol@j@O4wS'p~@S'p~@'7BS'pr~@S"pvS&p@6S&`z@r@&6DS&`tS$@r@b@ooT@@o6oe@{Db@wO2S'p~@S'p~@'7ES'puS%P~@n@uS%Pn@@5S%Pn@%5BS%PrS" n@
oV@Jou@r@O2wS'p|@S'p|@'7ES'pu|@S%ptS$p@4S$@}@e@$4BS$@rS" e@nU@nl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@nV@Jnt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@mU@ml@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@mV@Jmt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@lU@ll@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@lV@Jlt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@kU@kl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@kV@Jkt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@jU@jl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@jV@Jjt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@iU@il@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@iV@Jit@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@hU@hl@j@O4wS'p~@S'p~@'7BS'pr~@S"pvS&p@6S&`z@r@&6DS&`tS$@r@b@hIhT@Q@O1Ov`S&`u@S&`u@&6DS&`tu@S$`uS%`@5S%Pt@l@%5AS%PqS!l@OC` +ol@j@O4wS'p~@S'p~@'7BS'pr~@S"pvS&p@6S&`z@r@&6DS&`tS$@r@b@ooT@@o<7oe@{Db@wO2S'p~@S'p~@'7ES'puS%P~@n@uS%Pn@@5S%Pn@%5BS%PrS" n@
oV@Jou@r@O2wS'p|@S'p|@'7ES'pu|@S%ptS$p@4S$@}@e@$4BS$@rS" e@nU@nl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@nV@Jnt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@mU@ml@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@mV@Jmt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@lU@ll@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@lV@Jlt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@kU@kl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@kV@Jkt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@jU@jl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@jV@Jjt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@iU@il@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@iV@Jit@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@hU@hl@j@O4wS'p~@S'p~@'7BS'pr~@S"pvS&p@6S&`z@r@&6DS&`tS$@r@b@hIhT@Q@O1OvS&`n@S%p%5Dt~@S%pS$@~@f@tS$@f@@4S$@f@$4AS$@qS!0f@^@OVU4D"T@"33Z@AK@A2Q@`C` +ol@j@O4wS'p~@S'p~@'7BS'pr~@S"pvS&p@6S&`z@r@&6DS&`tS$@r@b@ooT@@o6oe@{Db@wO2S'p~@S'p~@'7ES'puS%P~@n@uS%Pn@@5S%Pn@%5BS%PrS" n@
oV@Jou@r@O2wS'p|@S'p|@'7ES'pu|@S%ptS$p@4S$@}@e@$4BS$@rS" e@nU@nl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@nV@Jnt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@mU@ml@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@mV@Jmt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@lU@ll@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@lV@Jlt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@kU@kl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@kV@Jkt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@jU@jl@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@jV@Jjt@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@iU@il@j@O2wS'p~@S'p~@'7DS'ptS$@~@f@tS$@f@@4S$@f@$4BS$@rS" f@iV@Jit@r@O2wS'p}@S'p}@'7DS'ptS$@}@e@tS$@e@@4S$@e@$4BS$@rS" e@hU@hl@j@O4wS'p~@S'p~@'7BS'pr~@S"pvS&p@6S&`z@r@&6DS&`tS$@r@b@hIhT@Q@O1Ov`S&`u@S&`u@&6DS&`tu@S$`uS%`@5S%Pt@l@%5AS%PqS!l@OC`ܟ -apG -apGF"C"F>pG@h>@h>8OqhF(4p>pxBн8@>p8{O-O +a4pG +apGF"C"F>pG@h>@h>8OqhF(4p>xBн8@>8{O-O wO Cv/ -E#"C+CE k`#B`*``Z +E#"C+CE k`#B`*`` P OG|OwO w' E&C/CEt@}@d - + ( O((Կ pG pG pG pG@cBܰoܰڰڰ(ܚ(Կ pG
pG pG pG pG pG pG-CFFF"F!FJF F!FG^3F\\A@3t -hB
H@=IKxDyD{DcT7TIA`d0CQ@ +hB
H@=IKxDyD{DcT_TqA`d0Cy@ HOr I -KxDyD{Dd -JzDfpG -JzD JzD JzD " " pG -JzD JzD JzD " " pG -JzD JzD JzD @" p" pG -JzD JzD JzD @" p" -JzD0! JzD4!JzD8!@"<!\"@!pG -JzDP! JzDT!JzDX!@"\!\"`!pG -K"{D2K{D2K{D2K{D2 -K"{D2K{D2K{D2K{D -KzD{Dt%"x%|% -ZCҲ8PF J@ " B c"0FZFFQF"F<Ѹk<FS۲1F"== -i@G -KA"{D -Os +KxDyD{D7e +JzDfpGđ +JzD JzD JzD " " pG +JzD JzD JzD " " pG +JzD JzD JzD @" p" pG +JzD JzD JzD @" p" +JzD0! JzD4!JzD8!@"<!\"@!pG +JzDP! JzDT!JzDX!@"\!\"`!pG +K"{D2K{D2K{D2K{D2 +K"{D2K{D2K{D2K{D +KzD{Dt%"x%|% +ZCҲ8PF J@ " B c"0FZFFQF"F<Ѹk<FS۲1F"=e +i@G +KA"{D +Os -FFR{<xFCF +FFR{<xFCF (F hh ` ;QlXB p: -_# -I{DxDyDS?SQ|tN -KA"{D8 -FX# b# +_# +I{DxDyDSgSy|N +KA"{D8 Kh E 6AF0F*FW?I00h:E0 D`Eh.Fh -F3FR=0FCF -#h:!S"=)@C" Fg!FF Fp@ p8FFHh1 F!F*F8@} 8 +F3FR=0FCF +#h:!S"=)@C" Fg!FF Fp@ p8FFHh1 F!F*F8@} 8 h h h`b -Њh,`h<`13g -Y X@2CI P3cE +Њh,`h<`13g +Y X@2CI P3cE gF` hdFhENhE,FWh E, E (3O:O @@ -751,80 +750,79 @@ zFQF*F FYF"F[DF # (7#i (7# (7# -+)F2FSF -9F ++)F2FSF +9F Fah*CC kK -I @FIF) +I @FIFd) FQF 3c`B!F8F%$ -*KhBE$8F8F'F -# -Os -H# +*KhBE$8F8F'F +Os +H# Yp>, -Gp_P -ù -ڍ# +Gp_P +ù +ڍ# -C% ch` +C% ch` 0F h S@` : -{ +{ -Z +Z (F)F - F!Fk(F)Ffȱ7+F%FF#F,FFkh -89H"9I9KxDyD{D`(Ff`F84H"4I5KxDyD{D( B0H"0I1KxDyD{D F1F + F!Fk(F)Ffȱ7+F%FF#F,FFkh +89H"9I9KxDyD{D`(Ff`F84H"4I5KxDyD{D( B0H"0I1KxDyD{D F1F HF)F:F#F -@S +@S FJ -3#O +3#O D# -#(F!F*FX -2F'QhKB?7B -n +#(F!F*FX +2F'QhKB?7B +n kh+hh :^Chch";#hhC##hhO3jh -*hh(FB)F"F;FvB"(#F,FFo8F0F -# +*hh(FB)F"F;FvB"(#F,FFo8F0F +# W(8F9FEP8F9FBF 0FQF 1( F!FP F!FBF (FQF - F!F:Fq -ܸY ܸԿ%%%% + F!F:Fq +ܸY ܸԿ%%%% z
-xF +xF F' AF 9(8 FF -DB - - +DB + + F FF E(FA 2FF#F(F FK3#O -FB۹ +FB۹ -O -(F:F3F +O +(F:F3F h@F1F F(F` @@ -836,18 +834,19 @@ O O - F3-GFFFFFBNE(FFF -K# -(F -j+F:FG -8 -j - -0@if -@# -Z -FFF# ` -#h FIF2FiCFG + F3-GFFFFFBNE(FFF +K# +(F +j+F:FG +8 +j + +0@if +@# +Z +FFF# ` +#h FIF2FiCFG + bppp#q bqqq|-GF @@ -886,23 +885,24 @@ bqqqy *,;* ,;\;2,;2,;2 ,;lO# -cq;?qq0h +cq;?qq0h Ka" H -I{DxDysyDLLhG F -CLL#h FhG | +I{DxDysyDLLhG F +CLL#h FhG | 0^IFRF"B1F - -Ch`pGpFFFQZ - -H!F*FxD -8FL + + +Ch`pGpFFFQZ + +H!F*FxD +8FL kFFF3k - QF1 -QF% -9F +QF% +9F RFG ,l9F . @F!F +FG @@ -911,34 +911,34 @@ kFFF3k +FG +FG G -QFG +QFG HFn#F - - - F FO + + + F FO 8F (@0F)F#FG -, - -F -% F, Fs0FD - +, + +F +% F, Fs0FD + WF - + &l - + : !#h F 1#h , F1FRF+FG(#h F3FGб#h F -F3FG(PF - -[h
˹@% -(F2h(F2d(F2`F -!`% +F3FG(PF + +[h
˹@% +(F2(F2(F2F +!`% O O @@ -947,16 +947,16 @@ O O O E8O(C+ -38hD +38hD O OH h ЙBAEЬ# - + K -(ZF^0;: EѮB
@e +(ZF^0;: EѮB
@e OP)0+W)0
h W0 2 @@ -968,7 +968,7 @@ F. F^#0 : F0FV -22;
Q$ +2,2);
Q$ V@2p$1(TD?0`G(6pOtT5H3ZD9?=Fh&@G'^@:4`Or2CD>C7pOLL ,<Fg@n@8`OssL;Fl@f@dD>`Oue6F& @@ -1030,13 +1030,13 @@ K -LD`TDOtTDJDBDDOrB D CD0KD$OssD EDMDOU D DDLDOtTDBDbDOrBDcDCD Oss (D eDMDOUD dD LDOtTDg@bD OOrBWDOCDOss_D}OEDOUgD<ODDOtTf@h`FhrBhB`h``>?
+LD`TDOtTDJDBDDOrB D CD0KD$OssD EDMDOU D DDLDOtTDBDbDOrBDcDCD Oss (D eDMDOUD dD LDOtTDg@bD OOrBWDOCDOss_D}OEDOUgD<ODDOtTf@h`FhrBhB`h``>?
Q R S0ciT0 U V "W0Y jpppch+q jqqqh+r jrrrh+s -jsssp +jsssp |4?G':C|BgJ}RD&@^@?}"G'>C}FgN@o@^D~~sc?G'>C~FgNfD@g@u5U?G'!>CFgN $/@4W@ `"p4?G'%>C#pFgN FD'@_@&p$`"(-?G')>C'pFg~NND@o@*p(`sc,?G,@L+g@FlpNVDu,`.p5U?G'>C/pFg$FO>/@4W@12p0`405?9G('@H3_@FhVN^D=6`4p"6F & 7C7` GfJOGD8pKD:scO II ) @@ -1062,30 +1062,31 @@ G i>O}>pUD<5U?G'G rRU@vKd4D e@DDqK{+ke@SD[$lMcUDc -RDhMRMDb ,LDcMtDMDd DD^M+ EDkCDYMcUDcBDdDRSMbDDeDtDD(dLMD+EDIMkcD}cEMc0MDR,@Mb_@utDD<Md<OV@DUD+9Mkf@eDccR<b^@.NtDdU@^Dvh[`Ehheh&`F``48?4q"am8D꾤K`Kp~('09|eVD")*C#9Y[e]O~o,CN~S*5:ӆ]/SD!7Ç
ZEogL*mpFF?+8K"8H9I{DxDyDGG!vZ8* +RDhMRMDb ,LDcMtDMDd DD^M+ EDkCDYMcUDcBDdDRSMbDDeDtDD(dLMD+EDIMkcD}cEMc0MDR,@Mb_@utDD<Md<OV@DUD+9Mkf@eDccR<b^@.NtDdU@^Dvh[`Ehheh&`F``48?4q"am8D꾤K`Kp~('09|eVD")*C#9Y[e]O~o,CN~S*5:ӆ]/SD!7Ç
ZEogL*mpFF?+8K"8H9I{DxDyDGG/!vZ8* Q R S0ciT0 U V "W01 jpppch+q jqqqh+r jrrrh+s -jsssp +jsssp EFH'FѡSFEF -F/F<O +F/F<O +BوH}"IKxDyD{D,٤ BٴBbFF;CFFcCBFPFYFG *(PFYFBFG +%8FIF" :XFBFGO -% FBFG +% FBFG + +]>S@+U4;SF +C F@(F)FBFG*]0S@+U40O +C -FA(F)FBFG0*]Z@ +U4O +FA(F)FBFG0*]Z@ +U4O L -h' +h' 0"C @@ -1093,9 +1094,9 @@ jsssp 0#AJ -\E +\E
1F$ - + g@ FBaAgO6n@O@ g
# @@ -1111,8 +1112,8 @@ g@ FBaAgO6n@O@ 6## 8## :#K >{D;`K{D3`! -L2F -l,@C +L2F +l,@C 8hv F1F FK@ @@ -1134,113 +1135,111 @@ FK@ 3KEh HSxh1l!*@ -#b@k@#n
@F1FJF/ -F0F@,4"F"p@-GFFFFlDhC@C +#b@k@#n
@F1FJF/ +F0F@,4"F"p@-GFFFFlDhC@C jB -@C -n!FRF +@C +n!FRF -"RP@lS -+!F;F:!F;Fi}" +"RP@lS ++!F;F:!F;Fi}" 1]4x=J@+BFF* -"1"x +"1"x |D p q - PF!F"1 -GF -w -0!aM F -2F3FEa1_0!M -# + PF!F"1 -GF +w +0!aM F +2F3FE
a1_0!M +# K - -K1F h{D - -F -ٌ# + +K1F h{D +F +ٌ# -E@w -HF -PFIF:F#FF(HFIF;F -)K@k +E@w +HF +PFIF:F#FF(HFIF;F +)s@k $XF1FC -# -# +# +# - F + F @v!Fy -E&(F +E&(F )-CFFFO# B -T# -Kq"{DY2FO >`jb +T# +Kq"{DY2FO >`b )-OFFFب# B -٭# +٭# -XF!RFVx +XF!RFVx . -# +# f@C+at@#v># -K"{DHFy*F ` -JC60F,F@Os +K"{DHFy*F ` +JC60F,3F@Os ' -) ' +) ' h`h` i` Ci`pG i` -i`j`F@h
FFF -XB6C0B@ -2Fz"Fu =` +i`j`F@h
FFF +XB6C0B@ +2Fz"Fu =` FBO!s -hZ@# +hZ@# !<I"yDg O -* +* h:w# -҂# - -hB@ -s -O
s +҂# + +hB@ +s +O
s ?j' -@_FFFFFF +@_FFFFFF i' -@-GFFFF
lhB@# +@-GFFFF
lhB@# -N F*}FP@73 - "+F FXOOs - " -FFF@3 -H!F2FxD - F<F* F> -I{DxD/cyDAA\ +N& F*FP@73 + "+F FXOOs + " +FFF@3 +H!F2FxD +I{DxD/cyDA/AA\ ciV [0X Y Z " pchq*qjq qhr*rjr rhs*sjs s#it*tjt -tpx -K +tpx +K #jb g0d e f "f8F1F@",n+ +YU6Qp.O!pp YU6Qp .O!pp T&06p*pjp -p5n0F -# -# +p5n0F +# +# !F"0F4HHF1F"++ب#3D QFODHF - + 0 l0l 01F @@ -1248,66 +1247,62 @@ K p*qjq q5B p<@T?bhqp(php p*qjq -q5B -@% -D!)R,D!)N=D!)JND!)F_D!)BpD!)> F - - - - - -HLxD -@hF F0 -JDF@(FIFFL - +q5B +@% +D!)z,D!)v=D!)rND!)n_D!)jpD!)f F + + + + +HLxD2^hF F0 +JDF@(FIFFt + D -m -} - F - -ca3B%ah -"0FK2EMF0K)L -H -3yD>{> Fp - + + +, F + +sa3B4ah +"(FKBE]F(K9K +H +3yD>> Fp M -K}D FX3@;< +K}D FX3@;< M3 -K}D FX3@;< +K}D FX3@;< Mq -K}D FX3@;$ -K}D FX3#`8 -JF{DX3@,;a -@FDE!F(FDAFF8FD -K FYE^F(FD(FD -@FDE!F(FDAFF8FD -K FYEF(FD(FD -@FD;E!F(FDAFF8FD -K FYDF(FD(FD -@FDE!F(FDAFF8FD -K FYDF(FD(FD -@FDE!F(FDAFF8FD -K FYD6F(FD(FD -JF{DX3@4; -JF{DX3@ ;k -JF{DX3@$;7 -JF{DX3@$; -KJF{DX3`@kDq -KJF{DX3`@kD9 -KJF{DX3`hD - - D!FF - -H - +K}D FX3@;$ +K}D FX3#`8 +JF{DX3@,;a +@FDE!F(FD AFF8FD +K FYEhF(FD(FD +@FDE!F(FDAFF8FD +K FYEF(FD(FD +@FDEE!F(FDAFF8FD +K FYDF(FD(FD + +@FDE!F(FDAFF8FD +K FYDF(FD(FD +@FDE!F(FDAFF8FD +K FYD@F(FD(FD +JF{DX3@4; +JF{DX3@ ;u +JF{DX3@$;A +JF{DX3@$;) +KJF{DX3`@kD{ +KJF{DX3`@kDC +KJF{DX3`hD) + +H + - + -E7O +E7O -HFAF:F#FCu-GFFFFC0F F+h(F -FFK}D FX`3#`pvv -MFFs K}D F +HFAF:F#FCu-GFFFFC0F F+h(F +FFK}D FX`3#`pv +MFFw K}D F (5(/((*@B@B @BHxDpGHxDpG
HxDpG
HxDpGHxDpGHxDpGHxDpGHxDpG HxDpG HxDpG7 @@ -1316,37 +1311,37 @@ I H+ F0! "H>(F!F " "hE o( `CF0` -K{D` ` -i -HxDoc +K{D` ` +i +HxDoc KB X< -H -LK"|D!{D F -e +H +LK"|D!{D F +e б(Bh[iGF)F0F4B -(Fk Bn;h6kBhAF<2F +(Fk Bn;h6kBhAF<2F KFhh{D3 -KFhh{D3 -0F7(F -B8FBxhF4(BRF +KFhh{D3 +0F7(F +B8FBxhF4(BRF `#aA'8FBB(F0F-OFFF BhkGF@FBF@FBF
FPFAFB8YF#`F -BhkGF@FB8F@FB9F
FPFAFBH$ +BhkGF@FB8F@FB9F
FPFAFBH$ B 8FBhkG - -+h x"sZxbsx3s+` - FR F8E + ++h x"sZxbsx3s+` + FH F8E )OFFD"h;P5 -K&a -KF{Ds`hAs -KF{Ds`hAS +K&a +KF{Ds`hAs +KF{Ds`hAS Hu"IKxDyD{D9b9to I{DxD3yD9:9Lo -"F@F1FF+h ,` -"i h`#a -i`KaaabKbpGKhiH{DXhh"EG -M +"F@F1FF+h ,` +"i h`#a +i`KaaabKbpGKhiH{DXhh"EG +M ,hKBP;BKB ;B;B аO<O @@ -1354,8 +1349,8 @@ M B܋BBD ` H)FxD F!%@a?(F| H -;Dh - +;Dh + FO 1F:Fs B @@ -1364,8 +1359,8 @@ O6+M !FRF BFKED%JBVF - F?fE FO O -KEh{D3`-(F@(F?h-(F@(F? F8L + F?fE FO O +KEh{D3`-(F@(F?h-(F@(F? F8 1F?70F?>9F?~0F?F # 40LN9FBFB гB
JBAF
F08F?:EHF9F3F @@ -1373,16 +1368,16 @@ KEh{D3`-(F@(F?h-(F@(F? F8L #:o7?3V#(F
#0F3F0'HoxDN #FػHoxD4o 1o6.? -JF{D X?F``?^`hF@?V -JF{D X?F``?`hF@? +JF{D X?F``?^`hF@?V +JF{D X?F``?`hF@? 0F>ZHAFo xD+ H"IKxDyD{D77 F? F? F? U hh"F1FhjGFo(>=
o -o+h(F1F[jGF -KF{D83E0;(F=d +o+h(F1F[jGF +KF{D83E0;(F=d - + @FXFB RF(FlGF
@
@ @ F @@ -1390,62 +1385,62 @@ KF{D83E0;(F=d @ @@}@i@Do + F.F @ @ @
X -@F -KX=FHA
8F.DP - F@(F=@@F@9FF"F F*F0F@0F@ -GF +@F +KX=FHA
8F.DP + F@(F=@@F@9FF"F F*F0F@0F@ +GF L -NM|DK~D}D0FX*FK0*FXp@Ѿ -8F;h1F +NM|DK~D}D0FX*FK0*FXp@Ѿ +8F;h1F _+B#`o4 -#`PFO -+@FB4F>pF:0+ + +uF. +#`PFO ++@FBF>HF:0+ + +uF.F*F&0+ + +aFFF0+ + +MFF,F FF>7Fk8` +
(FAF"F;F[ - F` -FF -FF -0F+` - + F` +FF +FF +0F+` + L -NM|DK~D}D0FX*F+K0*FXp@# -@ [@W@ SO3pO +NM|DK~D}D0FX*F+K0*FXp@# +@ 3@/@ +O3p' <5> FP GF -<M >So(>e>#o F > >F -MFF K}DT - +<M >So(>e>#o F > >F +MFF K}DT + L -NM|DK~D}D0FX*F3K0*FXp@+ -DFO -o -FFFof(FB.
o8f -o #`<FzO2C-HFFO -K +NM|DK~D}D0FX*F3K0*FXp@+ + +DFO +o +FFFof(FfB.
o8f +o #`<FzO2C-HFFO +K ;L=# FP GF -;d=>[>oHo(xD F -MFFi K}D@ -O0`pmFk}sCҠmFkrFH1FxD#oO0+`p p pn& -"F)FFȹ9F0F:F="F +;d=>[>oHo(xD F +MFFi K}D@ +O0`pmFk}sCҠmFkrFH1FxD#oO0+`p p pn& +"F)FFȹ9F0F:F="F L0F:9 F(F!FF9k+
E *F 9F=F8F: -*F. 9F=<F8F:` +*F. 9F=<F8F:` ܰ_@_аOѠhH"IKxDyD{D22} - + :Bgo|bDB@ o~rDB -# F#< -< +# F#< +<
F<< -<8aH1Fo xD
DO -EHFl<"F -F0FF(F8F;G -@ &@"@ O3p -FFhF;F;;FhF;)FF FF( H!FxD;AF;hF; F>4 +<8aH1Fo xD
DO +EHFl<"F +F0FF(F8F;G +@ @@ O3p $$$$$ +hB FR @@ -1460,9 +1455,9 @@ K"%F{D9F 0FPK# #C`F
Fh+܀hG 3` + - FH# -#c`0F -Fh!h5FH# + FH# +#c`0Fp +Fh!h
FH# Od ~D
)\Z,+,-, 1a``D` O< OajD @@ -1472,8 +1467,8 @@ K"%F{D9F p$h<SSBT:\ #FD ;\ - -Fh!hFPOs + +Fh!hFPOs Xp ph3`pGhppZp ph3`pG-NF
FFFA A A/NE;="VE"x=cx4C#^E
cx="xCcxCx4C# F)F: @@ -1489,16 +1484,16 @@ A/NE;="VE"x=cx4C#^E
cx="xCcxCx4C# F)F: hB`h> h2< 0F!Flp+`g" -hhhpGhhpGibpGK{D`pG2 -N~D0hH"F; 0h;F(Fp1N! -|D#h'#%HxD;
`#K{Dh<# +hhhpGhhpGibpGK{D`pG +N~D0hH"F; 0h;F(Fp1N! +|D#h'#%HxD;
`#K{Dh<# -ܑ)\Z*+*-* D\0> *wRx0 /q&3B0j\!pBf W!pB`ܸO/ O< OajD\0> /&اx0 v\#p0>B W#pB(+ 32+ FSXBXA E F Fo -KA"{D`@F%`Fh1F*F;Yh +KA"{D`@F%`Fh1F*F;Yh h|FHF# hFF F@@VC @@ -1560,10 +1555,9 @@ F
&,F@@&# F @i@Ϳ -+ - *K{DT3r$ - - ++ + *K{DT3rԊ + 9*hch+`&ch3` hB131Bai@ FA3 @@ -1593,13 +1587,13 @@ C`h[j[Os F NB4FF~D(F1F(4 :FB -HxD{K H{DhxD,ֿbO4`p F +HxD{K H{DhxD,ֿbO4`p F J8#ti0F F-AFF
F *ТBF8F)F )+)).):r)/ ):):s)-Ђ) 8 -K`h`(h h-AFFi խ# +K`h`(h h-AFFi խ# F {D\[\pCppG
" 00 @@ -1609,20 +1603,20 @@ F ",rC )')CD)܉)Ќ);)Г)6
i h ٘FC.H@.I.KxDyD{DFFh%iB*H@)I*KxDyD{Dh`iB(B5F%9F*F7h"iB`HOrIKxDyD{Dv/D@F8F -8F0F -# - F"FF +8F0F +# + F"FF x -OO +OO 7J %F ) -IB -t# -H"IKxDyD{D**" s`q -gDz pz`p4 :;9 +I +t# +H"IKxDyD{D**" s`q +gDz pz`p4 :;9 !701ɲ -!7s?Fи - F1.+x-+ -p +!7s?Fи + F1.+x-+ +p a# Ӊ# KE"{D @@ -1645,38 +1639,38 @@ FRѻ 1(ٜ0 JH*"JIJKxDyD{D))fxx-E%&x5CxEefyy-E%&y5CyEefzz-E%&zz5CEdXМx]x$D$x,CxDd]yy$D$y,CyDd]zz$D$z,CzDd]{{$D${,C{Dd]| |$D$|,C|Dd]} -}$D$},C}Dd]~~$D$~,C~Dd]$D$,CDc
-ھ -KHP"KIKKxDyD{D)<)N -AF"d +}$D$},C}Dd]~~$D$~,C~Dd]$D$,CDc
+k +KHP"KIKKxDyD{D)<)N +AF"< -#Et -FF9F"(FF50F"50
-J# -<r " Fyx --BbO#*F!F --BbO#*F!F="QF2Fo? F +#Et +FF9F"(FF50F"50
+J# +<r " Fyx +-BbO#*F!F +-BbO#*F!F="QF2Fo? F # -# +# 5pG-OFFFFhF" 3 0F" -0 -k+@># -ZF"%IFBF - +0 +k+@># +ZF"%IFBF +
OAs @ 3 A -T+@# +T+@# v# # 0 -O +O + SD[DOS:ZDJ JD( @@ -1708,53 +1702,54 @@ dS@ <,<,<,< ,<<O# -sq;?qq-OFFFFhFOz(O2 -H"I
KxDyD{D'q'D4`p(Fp -Z# -PF1l` -AF:F(F -AF:F(F -AF:F(F -AF:F(F -(0$($F`06!"F4)F +sq;?qq-OFFFFhFOz(O2 +H"I
KxDyD{D'q'D4`p(Fp +Z# +PF l` +AF:F(F +AF:F(F +AF:F(F +AF:F(F +(0$($F`0Y6!"F4)F \ ڣ# -k_ - +k_ + HDZF4
h0FRF4
( F - - - -Hs"I
KxDyD{D''D4`p(Fp -=# -PF[@-&HR"&I'KxDyD{D3''- -AF:F(F -AF:F(F -AF:F(F -AF:F(F -AF:F(F -AF:F(F -AF:F(F -AF:F(F -AF:F(F -AF:F(F -F - F<P;0H(< + + + +9 +Hs"I
KxDyD{D''D4`p(Fp +=# +PF3@-&HR"&I'KxDyD{D3''- +AF:F(F +AF:F(F +AF:F(F +AF:F(F +AF:F(F +AF:F(F +AF:F(F +AF:F(F +AF:F(F +AF:F(F +F + F<P;0 (< 0 -0F"BEHOrEIEKxDyD{D -BF -FF -B +0FBEHOrEIEKxDyD{D +BF +FF +B ` D$ -z +z -FFP@ -F -F7BTH"TIUKxDyD{D +FFP +F +F7BTH"TIUKxDyD{D -y -F8D F - +Q +8D F + phpyqÈKqCh qChqzrCKrh rhr{sÉKsh @@ -1762,18 +1757,18 @@ F titpG pX3 +p@ypÈKpCh pChpxqCKqh -qP;q1BpG-OFFF1B.F\F4FO{ +qP;q1BpG^z-OFFF1B.F\F4FO{ 1F(F|=6k@` EFH"FIGKxDyD{DB DH"DIEKxDyD{D&&@)AH"AIAKxDyD{DrE& B<(,0FO|AF B(3 - I2BF@ + I2BF@ 3.>fC \,
"J
3Y
~BF
-CJT5BFj -FF* -F{D +CJT5BFj +FF +F{D JzDx2Cx20 rhQU5"x0ԚB"xBzH|xDBbxB44rhQU5"x0՚B{x; # @@ -1792,7 +1787,7 @@ JzDx2Cx20 K"%F{D (F!F2FF F!(F| - F2G%F,F2 + F2G%F,F2 gc#rOR`E @@ -2010,7 +2005,7 @@ k]B"E%OBTA2F;Fgc#KB
]B"E%OBTOVRG q CB3C{q qCCCq#[O2{ 2rsr{C3Cr3 r3;s3
C3CLSsOsO3,CLCCsOtO#StOC47FC3PCtOZOZ:t00Su3 u3NFCCOYHC@uv -SvCA3Cv vCCMFCw#[O2OY#bww1-O_}
FF !P-FF@1#@1_1?C@_1X "S"F)FN``(`6-- "7 "1"F)FL+pp +SvCA3Cv vCCMFCw#[O2OY#bww1-O_}
FF !P-FF@1#@1_1?C@_1X "+"F)F&``(`6-- " " "F)FLpp Brgp
BArgp @@ -2146,39 +2141,41 @@ kB"gI)OBXA"F+Fc #B
KB"]OBTGE%{r
( )0sC3-C*0; +0;,0;
C3-CG-0 .0 CBC-C/0d00 10-C3`pC5p20OZOZ:304`FO#60OCCCC@7080 -90 CA3C:0 ;0CCC<0_iO8OX#OXH= >0?
_}-AF?0x=FFF +90 CA3C:0 ;0CCC<0_iO8OX#OXH= >0?
_}-AF?0x=FFF p
pp
8
8"pp
c`* F$>W c]Z -Fp)Fzz)FF(FF*p<ODDDghbe
`*x
`iF " -
hF F -h`pGpFFFh`h` p h` -i`Bh`F -!sH8F!!l8F!g豍QF(h"3FHF! -ѣi0F -Os -O0 hF)F +Fp)Fzz)FF(FF*p<ODDDghbe
`*x
`iF " +
hF F +h`pGpFFFh`h` p h` +i`Bh`F +h` +!KH8F!!D8F!?豍QF(h"3FHF! +ѣi0F +Os +O0 hF)F " -K{DchG/8F1F* +K{DchG/8F1F* -KA"{D
+KA"{D
Ci`pG Dh` -h`h`pF -*v +h`h`pF +*v 8O - -,4"\2ҲTR - - + +w,4"\2ҲTR + + - K - - + K + + -8FF - +{8Fxu|F + + тBS - - + + @@ -2190,26 +2187,25 @@ KA"{D
F -x3 +x3 " -"FF"FiF +"FF"FAF ,|ii"F -OG"FADki"FYxiiO"FADo`ki"FYf(h,
6.@ +OG"FADki"FYxiiO"FADo`ki"FYf(h
6.@ "D8# -"6 - +"6 + "P# -" -4`hF8` F0
FFhSOs -KF{D +" +KF{D ڕ# -0FV8F58F|O4 F -FF$Fh# - +0F.8F
8FTO4 F +FF$Fh# + тBS -GFD8<@ʿ +GF8@ʿ h?Ӕ FOpFp!FOr(J F)FzD @@ -2217,25 +2213,24 @@ h?Ӕ -H"-I-KxDyD{D@N1eRKaX!&HxD```` FF pF K(F{Dhb` - F8 + F8j F*W% FF @F 0 - Z0 - - - + Z0 + + FP# -# -FOqF F +# +FOqF F Ft!F F -F!ԿF FJ JhDhBh3k#GO0o +F!ԿF F" JhDhBh3k#GO0o "V -G F +G F FF!x4 -г
+рh]鿀h]轀h]Os +г
+рh]鿀h]轀h]Os # # i-Os @@ -2246,49 +2241,48 @@ FF!x4 ^kFOs Ѐ+Os K}"{Di@ -KF{D+h(F!hiGF h%` | +KF{D+h(F!hiGF h%` | " -"yD1 +"yD1 " -"yD1o -0F +"yD1o +0F # -hS# +hS# ~# -3Fr#` +3Fr#` " -"yD1% +"yD1% " -"yD1n +"yD1n 1# K"{D F @ (`1F1Fp@9 p " -"yD1] +"yD1] " -"yD1 +"yD1 KA"{D F -KA"{D F&9F@"@`%(F0F` -@_ -HF -@? -#JFzD$ -F -BF;BABc[AB +KA"{D F&9F@"@`%(F0F` +@_ +HF +@? +F +BF;BABc[AB +@ ! -@u# +@u# "7 - "yD1 + "yD1 " - "yD1V - -0F + "yD1V + +0F h#h#+-GFO -0FH# +0FH# 0 -`hF9F0F" +`hF9F0F" ўH_"IKxDyD{D(
@"@9$ O @@ -2297,7 +2291,7 @@ KA"{D F&9F@"@`%(F0F` S Ay<qi QIDE71qc -Ҫ# +Ҫ# F H EO T'HFAF:F$T @@ -2308,43 +2302,43 @@ EO [ K K -K -F(F -H7"IKxDyD{DI[p -FFv02F - +K +F(F +H7"IKxDyD{DI[p +FFN02F + H"IKxDyD{D3E chS% F F FF -4DE +4DE JzD#hhB -#FpGO0pG pG +#FpGO0pG pG #̻FpGF #h`h/a`h` F
F h@ciA -#fFpG -hI0FyD FFpF 8FF(0F*FFhF!ihhFF +#fFpG +hI0FyD FFpF 8FF(0F*FFhF!ihhFF LF I|D`X I LF I|D`X - I - + I + LF I|D`X - I + I LF I|D`X - I + I LF I|D`X - I + I LF I|D`X - I + I i!FPl# d#h @@ -2357,16 +2351,16 @@ I|D`X " chhcj3(F!F!e!F(F!
4 -& -HFPOs +& +HFPOs !0 )8F))L|DL|DL|DL|DI(FObyD!F(FOb I(FObyD8@ -# +# +sI"yD"F@Os -, +, FA)7:a)W:Os -O -!
`9FBFKF>C +O +!
`9FBFKF>C HF!F"e #"Cp @@ -2386,7 +2380,7 @@ D ```f0Fc(F` 8F0F(F -` +` O3 F F @@ -2395,50 +2389,50 @@ D O3 O3 F -1FBF;F +1FBF;F " "yDF0%KC" F FBѿ -I "yD 1 +I "yD 1 Hm"IKxDyD{D.(F!F= F" (F)
(F_Bъ } FIyD -FIyD +FIyD 0" " 0"z " - F - + Fy + F8@ -g@F -Д# +g@Fa +Д# 0@PE<DEҎ# ӕ# HFAF s\ - 0 Eё
hHF -
HFQFZF + 0 Eё
hHF +
HFQFZF BF7gCDgff>O @FIF U : E8F)F H "FH"IKxDyD{Dk!:\pD T -;BRBo -4 @j# -# - -@q +;BRBo +4 @j# +# + +@q " sF -q` +q` ! RW 0" - + "5 0" @Os @@ -2449,7 +2443,7 @@ g@F ( " FP@i - + FA=F(B F# ! @@ -2460,23 +2454,23 @@ g@F KD"{Dz F O HFLFPOs - HFFHF9FF + HFFHF9FF FB -% +% i*|J h)|I - + ~FpG pGF@hhv8 (F -IxDyD|F ` F,F& -Kh"{D F -FFFhx# - FBFX# -FFrFh# -hFM +IxDyD|F ` F,F& +Kh"{D F +FFFhx# + FFX# +FFrFh# +@FM "G p @@ -2493,7 +2487,7 @@ I F"yDGf (FF1F&0F G D\D FKh+IyD0Y -V# +V# }# F# "E$#xB @@ -2506,28 +2500,28 @@ F# mJmI{DzDyD` `0ѫ`,a -@ +@ "F#xB - F7F
Ft(а(Ѡh)F0@h)F0@ƾh)F0@P# -` -RH"RISKxDyD{D FF8# + F7F
Ft(а(Ѡh)F0@h)F0@ƾh)F0@P# +` +RH"RISKxDyD{D FF8# I F$yDIyD FhDIF;F2F FyD8F@I2F FyD+h Fh K"%F{D1F O # "yDD -K"%F{D1F +K"%F{D1F I(FyDv F +
+PP<2O*0FiFW OCD~3+~ؓy
/TzOCyDzsO A zDzzO A Dy({/,%9,#Q{/) 9)$/OD
DuБ{.)&B/ټ9 -d! +d!
' -+6 ++6 O O O @@ -2538,9 +2532,9 @@ O F&F BEI FyDLCICKyD{Dkh -h -+h? -Fh +h ++h? +Fh =<,E<$=$ h[hh:F F hhh#h++`hQh@(`hQh@)ͰFF)0220F*FԱ##`F
)F0F9F@#h53#`0FhBO0MFh+@h+@h F@8F Fp @@ -2551,14 +2545,14 @@ FF C!C ! - + 3# -K"{D +K"{D hhhpGpFm pchc#h۹)F`h0`B5 -5 +5 Ѫ# -#acas (N~D3hsHxDF0`8# -T +#acas (N~D3hsHxDF0`8# +T 0F!FCh `#ih f!Fff j@0sFo @@ -2589,72 +2583,75 @@ S P O EѺ b n -@s +@s A
F(FB@ F -F -% f!Fi -.i2" - +F +% f!Fi +.i2" + !F(F h4;`DE8F-CFFFF -h|`0F)Fx` -AFFFFh$]F +h|`0F)Fx` -AFFFFh$]F Ch``ch -[h`pFFF F%O5 [*FF +[h`pFFF F%O5[*FF FIF{DXX!F@ܾH FIF{DXX!F@H FIF{DXX!F@~H FIF{DXX!F@^H -FIF{DXX!F@>H -FIF{DXX!F@H -FIF{DXX!F@^G -FIF{DXX!F@\G +FIF{DXX!F@>H +FIF{DXX!F@H +FIF{DXX!F@^G +FIF{DXX!F@\G FIF{DXX!F@\G FIF{DXX!F@nG FIF{DXX!F@~G -FIF{DXX!F@^G -FIF{DXX!F@ҸG -FIF{DXX!F@F -FIF{DXX!F@F -FIF{DXX!F@.>F -FIF{DXX!F@E -FIF{DXX!F@濮E -FIF{DXX!F@fE -FIF{DXX!F@ֿE -FIF{DXX!F@zD -FIF{DXX!F@VD -FIF{DXX!F@jFD -FIF{DXX!F@FC -FIF{DXX!F@꾶C -FIF{DXX!F@ƾnC -FIF{DXX!F@rB -FIF{DXX!F@$*B -B +FIF{DXX!F@^G +FIF{DXX!F@ҸG +FIF{DXX!F@F +FIF{DXX!F@F +FIF{DXX!F@.>F +FIF{DXX!F@E +FIF{DXX!F@濮E +FIF{DXX!F@fE +FIF{DXX!F@ֿE +FIF{DXX!F@zD +FIF{DXX!F@VD +FIF{DXX!F@jFD +FIF{DXX!F@FC +FIF{DXX!F@꾶C +FIF{DXX!F@ƾnC +FIF{DXX!F@rB +FIF{DXX!F@$*B +B FIF{DXX!F@8A -FIF{DXX!F@ -FIF{DXX!F@RA -A +FIF{DXX!F@ +FIF{DXX!F@RA +A FIF{DXX!F@@ -FIF{DXX!F@] -FIF{DXX!F@8R@ +FIF{DXX!F@] +FIF{DXX!F@8R@ HEZ(Ќ(#iC -F8Z#iC#a+t(a@F +F8Z#iC#a+t(a@F + O2F(hQFFhBF -(hEL8F +(hEL8F (FA=F(B p# -p +p )F F1FF F(F| -)F F1FnF F`(F| -)FJ F1F,F F(F| -FXi a%d -khh`hh!FnhE`hHAF +)F F1FnF F`(F| +)FJ F1F,F F(F| + + +FXi a%d +khh`hh!FnhE`hHAF F F Ի Ah F - + 9)F8FFF h* !F0F+*FF8F4>F0FB@(FhF
F+a
*X @@ -2663,13 +2660,13 @@ h* FFUOs QFF F8FHOs -HFeEHF )FJF{F F6@ +HFeEHF )FJF{F F6@ 6 -I F"yDP4%'F48xW 1F`BF DJ#F - - + + DP# q# 1ع@ @@ -2677,33 +2674,34 @@ HFeEHF )FJF{F F6@ PFOs hOs - - -~8` -#I0FyD90 + + +~8` +#I0FyD90 +x hB,+*# -#h -I F +#h +I F hhhpGh hhhpGChpGsFN~D3hsHxDPF0`8T# -KA"{D(F F -M}D(h -FFF- +KA"{D(F F +M}D(h +FFF- HFYF"}@ * $K" 5 )F8l!F058lB - -I F"yD Fihq 8 + +I F"yD Fihq 8 F*FSF hhhpGhhpGjFAj -j -ѣ# +j +ѣ# M -I{Dh}DyD
(4L,K +I{Dh}DyD
(4L,K ܂(܁(6(Є(1(܉(Ћ()PEXE$jCjCjCjCjCjC -jC@jCjCsb8F
*EoK8FY
W +jC@jCjCsb8F
*EoK8FY
W # K {Dv(F F2 @@ -2712,13 +2710,13 @@ K {Dv(F F2 7NO
$ - + MchCsc`!F F0 *F FOs -FHOs +FHOs F F,Fl F00FFo - + @@ -2727,12 +2725,13 @@ K" H!{DxD K" H!{DxD -ټFpGK{D`pG +FpGK{D`pG +J K" H@{DxD KB K" H@{DxD K" -HOq{DxD +HOq{DxD K" H\!{DxD K" @@ -2802,9 +2801,9 @@ A{DxD Tb
LK"H@)Q{DxD 1KBL F -zD - kjk(F -,J(FX#F +zD + kjk(F +,J(FX#F H ;BKB3BK"H@a{DxD H @@ -2820,43 +2819,43 @@ p K" H@q{DxD K" -H@q{DxD +H@q{DxD `HxDA`hF -` JzDh;`3@h - - +` JzDh;`3@˾h + + p -HxD +HxD s -pK(F +pK(F K" H!{DxD -ٸ e -F{D -HxD +ٸ e +F{D +HxD F -x +x ] F -J +J - F - - + + F¿pF
FF!F -c -H LxD K" HA!{D -[h +c +H LxD K" HA!{D +[h l2 -d@VH@E2UIVKxDyD{DP, -BIKxDyD{D`O +d@VH@E2UIVKxDyD{DP, +BIKxDyD{D`O BlH@kIlKxDyD{DB3fx&.gHOrfIgKxDyD{DS,8S<AhB`H@`I`KxDyD{DC`D<D,1FD,9WK{Dh -"*I*KxDyD{DN3A F)FF -V5p -تBؑBبB3B +"*I*KxDyD{DN3A F)FF +V5p +تBؑBبB3B ; ܸ#fи*fи @X.jи0и-@_U 3h6C{j @@ -2880,7 +2879,7 @@ BIKxDyD{D`O ;: q1JzD ȿ$,($+U -+, ++, Jh01 F B FAFh @@ -2889,24 +2888,24 @@ F !=F 7OE -!F?!F;!F7 -ch" +!F?!F;!F7 +ch" FKFFF;F -:/FF +:/FF 74 50_( ( (
(а HBHApG pGA @6KD FF -{h[B{`O6JzDx0F +{h[B{`O6JzDx0F B 0\>HFQ2F1) -1 +1 h ->8F +>8F ?
5@˄ @7 @@ -2914,9 +2913,9 @@ h J#<#D@:M@ v1F F -!rp1t! +!rp1t! s/ -qbFbXFO^pʺ +qbFbXFO^pʺ $mAvAA( 18#* Fi&YF F @@ -2937,7 +2936,7 @@ x E|l F@O@ -#F@O@g{@r@ +#F@O@g{@r@ gF@O@gp g gg x @@ -2949,11 +2948,11 @@ g #`@i@ - + JF8FEEY#T@]@ - *F48FB,%,,cArb -#(gr@{@&g(#t@}@&En^ + *F48FB,%,,cArb +#(gr@{@&g(#t@}@&En^ *
*
:PBPApG*XBXApG )) @@ -2964,12 +2963,12 @@ hB+++@hIhպ@hKhpG@hIh[O0pG ih G FF@-G
FFiF xh -h
Fh -!C4( (#hC#hC#` +h
Fh +!C4( (#hC#hC#` F@0# -E4GFWF0F -FFi1FRF1F -AF:F(F3F +E4GFWF0Fh +FFA1FRF1F +AF:F(F3F #jb#B
F7
#Aqjb gai @@ -2981,7 +2980,7 @@ gai BhR# BF@Ͽ3B FF(#hXh#h]`( 88 FF(#hh#h`( 888FhiB -FF(#hi#ha( 888Fh +FF(#hi#ha( 888Fh (
( (аXBXApG pGa+A8( ڰG @@ -3037,7 +3036,7 @@ Y%:F5vPFshB @BF FFF!F9FBF#FD1F FFF!F9FBF#F1F -FFF!F9FBF#F;1F +FFF!F9FBF#F;1F 9@9h::j;Ð;<<==>$>M?f?~@ӆ@A|ABUB2 2 2$2$3$3$4$4$5$.5$;6$I6$W7$e7$n8${8$9$R2(j2("3(}3(^4(4( 90%90::0N:0b;0s;0<0<0=0ˁ=0>0>0?0?0&@02@0GA0WA0nB0{B0C0C0D0ӂD0E0E0F0-F0JG0cG0qH0H0I0I0J0σJ0K0K0L0L0)M0?M0MN0cN0uO0O0P0P0Q0΄Q0R0R0S0'S0?T0XT0qU0U0V0V0W0҅W0X0X0Y0Y0,Z0;Z0[[0j[0\0\0]0ӆ]0^0 3@3@+4@I4@Y5@k5@x6@6@7@7@8@ș8@9@ؙ9@:@:@;@-;@d @@ -3192,14 +3191,14 @@ g+g+U -o/Dyeڜ - - - - - - - +o/Dyeڜ + + + + + + + @@ -3271,20 +3270,22 @@ o/Dyeڜ %*sZone: %s, User: - - - - - - - - - - - + + + + + + + + + + + + + - - + + @@ -6804,182 +6805,186 @@ o/Dyeڜ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + - - - - - + + + + + - - - + + + - - - + + + - + - + - + - + - + - + - + - + - + - + - - + + - + - - - - + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - + + + + + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + + *H=DB California10U
Mountain View10U Google, Inc.10UAndroid0
160104124053Z
351230124053Z0v10 UUS10U @@ -7000,220 +7005,223 @@ California10U
Mountain View10U Google, Inc.10UAndroid1301U*Android Keystore Software Attestation Root0
160111004350Z
360106004350Z010 UUS10U California10U
Mountain View10U Google, Inc.10UAndroid1301U*Android Keystore Software Attestation Root0Y0*H=*H=B -*H=G - -+ - - - - - - - - - - - - - - - - - - - - - - - - -u -u - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +*H=G + + + +d +h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - - - - - - - - + + + + + + + + + + + - - + + - - - - - - - - - - - + + + + + + + + + + + + - - + + - - - - - - - - - + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - + + @@ -7246,44 +7254,44 @@ u - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - + A -*D - - - - - +*D + + + + + - + - + @@ -39,7 +39,6 @@ endif LOCAL_SHARED_LIBRARIES := libcrypto \ liblog \ libkeystore_binder \ - libteec \ libkeymaster_messages \ libteec @@ -109,6 +108,7 @@ LOCAL_SHARED_LIBRARIES := \ libkeymaster_messages \ libcrypto \ libsoftkeymaster \ + libkeymaster_portable \ libhardware LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk diff --git a/aml_keymaster_ipc.cpp b/aml_keymaster_ipc.cpp index 9745a0d..7270db6 100644 --- a/aml_keymaster_ipc.cpp +++ b/aml_keymaster_ipc.cpp @@ -31,6 +31,8 @@ TEEC_Result aml_keymaster_connect(TEEC_Context *c, TEEC_Session *s) { TEEC_UUID svc_id = TA_KEYMASTER_UUID; TEEC_Operation operation; uint32_t err_origin; + struct timespec time; + uint64_t millis = 0; memset(&operation, 0, sizeof(operation)); @@ -52,11 +54,21 @@ TEEC_Result aml_keymaster_connect(TEEC_Context *c, TEEC_Session *s) { TEEC_FinalizeContext(c); return result; } + + int res = clock_gettime(CLOCK_BOOTTIME, &time); + if (res < 0) + millis = 0; + else + millis = (time.tv_sec * 1000) + (time.tv_nsec / 1000 / 1000); + /* Init TA */ operation.paramTypes = TEEC_PARAM_TYPES( - TEEC_NONE, TEEC_NONE, + TEEC_VALUE_INPUT, TEEC_NONE, TEEC_NONE, TEEC_NONE); + operation.params[0].value.a = (millis >> 32); + operation.params[0].value.b = (millis & 0xffffffff); + result = TEEC_InvokeCommand(s, KM_TA_INIT, &operation, |