From 22f290f6a9af5dd3840fe97ccd7d4ab3a299c12e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=B0=9A=E6=98=86?= Date: Fri, 18 Mar 2022 17:05:32 +0800 Subject: [PATCH] image tileInset property support boolean value. --- doric-demo/assets/123.png | Bin 0 -> 33288 bytes doric-demo/bundle/assets/123.png | Bin 0 -> 33288 bytes doric-demo/src/ImageDemo.ts | 519 ++++++++++-------- doric-iOS/Pod/Classes/Shader/DoricImageNode.m | 13 +- doric-js/index.d.ts | 9 +- doric-js/lib/src/widget/image.d.ts | 9 +- doric-js/src/widget/image.ts | 9 +- 7 files changed, 311 insertions(+), 248 deletions(-) create mode 100644 doric-demo/assets/123.png create mode 100644 doric-demo/bundle/assets/123.png diff --git a/doric-demo/assets/123.png b/doric-demo/assets/123.png new file mode 100644 index 0000000000000000000000000000000000000000..f062f4649f86705b78feeabd7c8b0769692e8633 GIT binary patch literal 33288 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

!DhKlo;mF9#u;?

Ox@N+)WQ)b{&$g#%d52oS>GRZ;PQ!)t(%liEfgv2>|bb6mOP7#N7a>hP0 z=eh2q%h(ShWpVxBiSX1p>WE*oiV+n(S`fm`brtvCsL-PaSr86X+EGsQY^_kfAB-jR z^TV{|==Uyc(~-EyL4?pIXkZ-RV-R7=IGueRn+D3Fl+M$c+hcsmV{+KGoWbVhO{6 zvTc;AzP^CTx~A$fkyXR>qz^q2CB+E%=`eHpos>h2J8~+6@~9K zBHX}fF3q_Ub=(}A^VYxj+@Bh2n4oIDxk6ZDx%qHXA%v>KPBx|nwDBEdU7bP#?3#zt z{Q>|*lVOo^(G5ZJlN0pG`A!6j$8Dp~0!iqpm~n^kBQ?(6Vl$7ORYWcv6YhBxD17zJ z6`6G|Mwg`F0Q9a+Tr{%R70^*q!MHFqipuHtOyA!GGjlMQ59SaKrU{_QAMny5vMy`X z&oy6hAK&k<;+7VWwcK_sEf&&mOc7wLV1LsGcMxN>`OL(T`E2jBu}TtCg`Tkebn$Z) zdZXl8?b24exKPrPRc1`lF!YKSRBn8v8_}ZFrozb{e{YnkMabR+D=%D-{URY@hr4ii z!^m}tb2#T=Dy47*?bkUB}6 z#5_#tzFjy~r@c!%8muhlrs9eVBdb(~txhBdntI9B(bFDkz zxu?`>W1}TY;FuUCkMfVya#y4-$%apa2LSc3m71%V$PI83J^ov<>i9YlatW zzGUSf80p^StKS>+xuqd>&1hslENPi-^?;#ixi;8rV`GP4$GN5If+#s&Bs% zYF}0WOG{wX({n56k*IC@{}8Z4@8#g@AF?1E_SAnoXg=i_&yTo>Cv&Z;dcwtOnvSr< z%JSi9NYc@aAk-4foLE@4$I6(9@akFN0SMEQ>YyZ}G*MGLQ2JQp_^LeT#-pwJ(q0fG zAeMOvtO}+QMaaP*({ATA48UBA#X3fdqMFcYJh0-Sw2VEylJx$u7K|(#%H_H7n4cZp z9G)u5O=vDcDsZxai$x7-QiugQN=4aPF|MKAT!Ug@~5W261b5_#UK%l*vFEO zre&-!E zSSzcxMe~Ls@!SR2{tBv04`fO@1WA+{6|Ebb&qA^L@}tf95`K)KQw|1x5JH%GNc5f~ zDmC5tF7HywTwdAb+pg5gb7s=DZGXaAgLC-NI{PB#W$ku^(qP>f!-TYC3CWWa{9TPQ z!*jEs3@#5XEtN042-fPX{_ZSS-p$iYuVoOW1G$ ztI2Dg4pxs-`QE_B@`~0d58!qb*|&pmgynsV9i66#XKuEfsJ+U*)-5ktGAwEU-!G!zP7G{dSD z*G6w(YP%QbMA^>Dz&V?vwQX!M`t`4uw-fzX$8hh`=HFGWHmM781(BshM#C$T5( zj?VMR_z#r;Y#gsK3zmUqM9Cv#t~Vv<%{*n2sU#b z(~tvIWpep;tQFs4V{EX9NK;J~7KwYJ?ov!ggoCO*`@!{?zX~-xFQ)v~F0_}XPn%`n zP`6|4Qx{;%XwL`eZW!ph*gBV-m>)IU0|>h|(K?$WssuagvhwHC$dyGh%eN+wq;!-l zk-g#Z$OY(N_@|Vfi~WHDNje2cikg}Tw@9~`$yEx?-zrEfKn!$V@W^8FRbByMd|S&$0rZ#^}=qwFfqGj!^;I)71jfA&q)Uz`aiA$!0X zF=K~fB58!Yo@nlwnM};2!$L!}^v1T9c}g?a91ddGc8DxOP;B4fws;lEzKq9m{iTWz zS&hRn{UGmtjRDPUTiH)N|13FwcV&HfrxNPH;UY0~F9e4)n_PiZUIyjV00d?YV0d$0 zx|ySnqiNT_@)$UeUe?Ob)S;}0^pm(sbKaS#n!Xa=F4575r4M`ayg9$0?BtOLhoU$z zhZ4*rfeKN?cBY4Jtgzg3nWl83SL7Tq-FSW(6m~PpeD9Y;9BR)Q^hAgXN(=~ALRa~S z4JnwzEsE&KVKTkTo-Vnb>?5E_p+g|S%lnjv$jz~g=e$Hv=7BjW)R4L=F3j#sa4 z39J`ITEs&jv4_-#yOa1GHt}@63lupg2oPU9yWh6a^!amf7{TY=wdILyBw$0*?O{;n z=p}D&vJNaa(``q~By(QAC(cAVi`;hSoC9(iJr?l8LoQbu6$i*=)@Ly~V>y%x;vId> zqL9QJKuDV+K9Gd(II3JjSv*P+9iC(^@uIytsk>V*YY3xlloAp>=Gw?wpue-7p>=tcHv=BY=7gj?xRQHCCeVF?MU&gVi}I#o-3(di#X zZ~FS*u=6*D3=qfnxR(&8*xpuOCE)F^5A|=^YdCD9VXnwV&*)mdRjLrH_`ykPUg%m0 z)0vvJ`Kc>a@GJdpPjjmNVMA&H0~1HL3tZLIQ)pBc-<@I*_`Y((DUey*nT9h_Kki6ZkkxLLfueJ`}_d8LR zZf(5&Din#R%;^S-eSc+VM6U6HN0EWUkeO_~$8vzI>qNf}8l8*D7atJ5*Pu|O-X*hB zrMaJy@>>*vKMV~2(EnTjR)M%80WD>e#j?Ts7O;Zq_&^qJt!_%}Ke$-f+JoE;B?V-I zC`7P|d>n0(Yha^knzx%2zZn4|og1FflP&K6P zw}v~>%kWzE6aea!^K?1)0gi0WcF)jB4YSj69Z`W&!cq2qbB1k*JY3)PG+Z_oY6&G7 zvp2VsG!BUe9dJZ}*RZLaWW}rQzTD-8O{`&jyL`A;av{BB+7L}*wq;4t_XTZH(Mv9n zUkh7q#sQi#nU=?IV!Ks22Yf0pIk|x$&E#VGdAJA7bQ1;8V{(QUN9wsK^thXT5Mmpp z_CrIo^8(CDZ1qrc-O?a+q7|ftVVJWuoz7aR%3qqnomZpB;AW0mt~OJv4C@=I{CLOG z)R0RmST8uoUjAg0Oa<&9je&qs4J&(ZH4WE4 zC4*z!2iKyB+afyF5sP(LY~SR!;U_9VPaPDJ)RW;H4_an2$cb}st1HkHB({(z?}{Un zn57#Y(sXuUUvp55>j{xtIEhlF@K*MzsHy_1t>vSH6i@fp#i=%oIVKo{3R|p`=EIuV zTVdvU4b_yp54FYC;+embD-H9mc~~`ESe$VmgNA;6^-jmQ9?OIa(7)sPNyL+*%WsNH znrn2LbC&>j)ey>YP;+z3r6Pq4N#~5O))Cm0k8DWO&nX(K63HwLk9BEzYY&GV8a#kv>7MUjA(qcHS zX*wMIGqxO?TD}=+xB}X0x#_&^KL0V>fA;wFA#+I)%g6CM&=M310%-4JBZ&n4nlSu| zb@o+QPc4QjI-AS<&3yl@R6@Skt0mQq&snI0e(jNvHHMr%%K|j}?SOyPq|iJ(4HrmIJnli3fxUMZ>1>kio|7cy2X1c_Oa|mcY(%3j*_gRKsl7o zv!~1%d;=qmVPO^!gSG?<7meFHSXDJ3wMtr|R>9^!;@LtZ#cx^FB^NunfS~xfiv!~r zltEl9S?+E^LKY=lS?;O2qx5yp2g_~r5Gllv3;0JokJfs|rA@>qgzrgPO@8{ZdZMyc z>#hUmBM(G(V5&2C@Y#Wf!4L)eOF&z9CTWn=xa}|0y9pSqA3+LkYjs9?b5tudp91jV zlC4jN?KfUffBilAT*%s=gScqfuAHOI0ha~Dsv(Q1?_n*&BSX=YKupJaT(j6&H|w7A zrV;+iHILjHh}{EkRv=m_>dz~5Z(-v zRZb#6#0Y~{E$EiKXDB?1R;_T7I3qWPlt?cc9u*(ezl1ckfT4S98`+cIyb&L%p$l+O>Mh;9t5t+ur33&6cvD`nz-ojYyx@v zOygkoW+-`n|5?FF&aCf2pgLxEew{~xsDwF;3a?{xD2QPd(7@Hq#BzGd?d0akwJXqC zSQnUE4N9y?I15=2Xqmv-piwn`p~~G%SWSw;*oTs?EZpQ0gQw|fL53p{7)p)Fug-pc zPl~~8^+U0S?OOIqaunL0Er%N$S;t2-Wfl2*Wj#MIamUjdFXT0U2d>>he|`!v5waBN zax|^{2_atcadIxYYK82muEyTEY2}i08gh*@Ja^CCNKtK$6nPG{KsXC+D)l|Kim)Yh}Q0m1%Z`-03H#utGfdb z0LqMSiDFS|G{dhd&SIH+SqWARQgd9K+SD?O)I}_}T8kn%g6-p=*o_1x?t>FpQdwdF z1uzz)g(pIb_v3&(kGqJ&*+yAzGzHL|A)sFi)?fZ626iwc-!U-;yZuRL*`+(0X+qF7 zS~>_txya!CyAh9S40pbX*+C*(uSvaZkJCc~38%p@(vdjO*ErJ648cSu?>FV8pV3Oq zLtZqrg2&DDeJ7edTH?^*Ltte(S3@0kQQ$X_8-sF##Gu)6r+A|N<^#!AYjjDf;$u%G z@NQ=&i?VT|bR=~gw@p38$}MkI{Dbavi(;ZSwfBw}w}Bk?CiuwHD@huo-b*T)Rn#V& z2OfioCk&{=#PZE()vN=p7@eIfyRWl%uJPKZL2dym(pZ@0!pb}uW=7PwX_1x?eI*=8 zml)z^Ag<<~v#Tik3AV}Ng7f2HAv2@~u%4a&>tWqF0xH#N+Aa72@10KnG0DdJ0Y}M1 z9n4xF3O#p+pwT|8_A*(-jG=T1wnO<_cx!o$?#tdCBz%#%XInqH89X0W-h^+XxDv#= z!=>r}lmo67jeZ=JP;596XGo5uEBVBs1642wOuZXE@t?+`$rC1q!XuY;E3=Pu^NFin zFKQ`=f`c9wMCyaH{ePkDu=ytpN~o;k@iHS)2vL+G^^NVZX3zq29QeqJMG0Hp$|K$B zDVQpGX6cCTE$voGuvPq6e|9ykkPOs{82jc2zS=X`zx)@?9KG^+jyP=l35EvQN%d zMv)JveKTuL8<6R{UqWThY(&2)=hpjRFu&KI!v5aBLiRqMiNAA0*Eb&uBJy|t?ei_l z7u(e43O-1Gcn#DQIij)eKdK7pQGf3!upvyW}h#QoPemhUS$O?zp+F{GXs ziq4+7G(53>6)B85(l1~WTlIrr--fb(XXx4r+>WF4U-Q5dpT0^oG3vjc`JH~q^l>>m z*vw?s_>ak1oit#2P#ftR?_Fj@C5EW&9t*rW>8qLD-v1~+-Yxg}wI$@N&pF#nOaJ$s z;yDqO_NT~?_syoySKA*_vrGSv5BUGSlp=>DE@eLSj`wGGfHUMbw&U%}8*`cP5!*7| zsics;uMfEMziJ}i&Vc6u-6rx=Nh~UQiaZa|O?|nW=ibfl|6%f<^!PRw>QalyKS#8= z)jv5Q{P_5KqCe_q)NAWF`d0$rFEw#oMcGL;WI0exBZ#3Y~0PV2h zRxuEEmjN_ovRQ7{w6TFY@ZZ{mQAj?LYVRYe!~sB<=`gq zI4g?!KMp)sMt-rvW-$A+k(g4Ll{+N#FAR<>gPS`^myyo;f=JYwd;jG>Y+k)hz8U38 zdm(EwrV|gG(q7)irLb*DQG!3bCGK$`2R!X*7M>G zI99(hNoB^4+Ya3l`aJ z=NFyAaN!Mu*~_h8s$wwfyBcrgkM9_DBk?6+6P^v zH*oM?F->a^o8U4A(v&fc;=f>Fa4@GzAj+HJHcL7Gw2}(B(cLqV;5aWBu^OjgxShej2eN&$4 z&W@TsG#%ait4_+99sU&L^X@2t^aqb|&4R??3y!Uv{$9*MZrj@ERuX6oQ`+QB3^0Im zMog8|!B{g4uG`<1;&$V9lWDc~;6fTmjXBRo<&b4q$ac}9aYT}cdP5Xv04-rZJOkar zP_bj^_tRI@I}Cp(IR1Mw%{7g{4Br;8riH-JbB8GJd|?{G?tIQL$N61r-Vz@z zKw1V#!B`{nJVa|xSk{z&*^$?nr;GH^1i-P4IO=AhA6n}=77!OYy3}bAv&LiS! zO0u|Pa3aPVK&#HDS+Jo_i=j{(c7P90=N{xfgb+z#bta%?F?x6?%tE6q|8#nOeX&~u zZ;<>$%|8H+$0y=GXav8IP7wnEMp4$Ax@x^%mEbT`3Y~%fE-T}|9zSh$yh@>b zs~LeHiXh3u_x}3wG?EFeF4NNGe-rB3#T_T0Ss_)9kdkR4{mJ?qU;}By8+cwd2G=-e zW6&e{zH+ppl8aKx3=FbT1pE!>7#yXharfsoUQ`vMpA}Lm#-xOwf_5<>eMEu@f=}X_ zZJxZo{v}M4TXBDLH>%Ya{`l(6yD6A?AmH>Ddd53d8@X{@|JVI9RPCqYcld?IBrSV+ zW1(M()QNSz;Z-l986xL)qeV9_)+;OOsDSGFu%25zH zZM0HW&Ofa2@Ju9_{xqOL2RN9s3z(H>{7m}lb;=Z>0;9ZzkxzEAA^&CnP_&Sw#!a_s zD6kvhWRrWdc0)0iZX6wC#e*VB=`;G6qg~~uzyl|y9*$NhjAuV|sy@=4nMS1y!xk-b zhHV#&qG?|M=D$}qfMuUeciY>`z|DM=TwsoKUXAATdq5kvb1iOOUi^|%OqIx%^#%)% zHw+`k8^OaIUG~Y9!F?*ZfaI>IeT@K)3V^CbG~8q-lw9iI;@)x1Gt}IxP&wJSJZQ>_ z-etnqv)Pkv7h#KZY>H%>0_SF!=S0aXUqs3kdhl5k@vpZaCqMEqFrLU)LkyipKC@St zcMziV0}m`vX}FsUC+)o+g)^&Tq|5IzVR7$_Qb~dF0}-1W$=}EJ=V9r0ay^}ZNSo}N zBUp@A1_Y9dWi7is1UXp>)=-?VK^#5_G~)uC@#1!|r1VsQ`^nhvbT1*REcP>i<4?$I zaaXkr+irv)g}vxS+0jD#Xn$CLO01NOAy^J6(z1h~OmRj2ycg(Pch~vE!LERo z6ev8v>U4(%jTc$qeAj;P%`%`qSE=*lS;S*)U&Fj&F7~c2kg`U`i}DE;IirQE@cNyY z`MJH!O;0rHXy@=3;j9QSaS~94AfZM6+Fo6PvloiT`^3`K`<@<}?tk2-sQ^PGT=Z1S zJk0z}MgA9WCHfEg9!#GSK3M*`62xq-u~Zon8780fSB&&aq6ga%tg#ZK~%U8sP%v>t4T8=CjG*=+UWTN=lH4eD=dtE+KclwM zf8u1Ygp2s1i&?3PzMyWMP8%C&7e`}`8TCefqk+9I{cW&znj3dHP#__fa};c6Sjvf1 zf2x!w0@cTi3=kc-oSz-U{bG{%5&S|8TDw$h~N-Zt?_xjSXjh8yB>4VZjzeYSv}95kdwzS zJckqL0FTKjB?fbCF@=&j7s08AVTkiJg)P0nE+QNAoh6L4Y!@C|QY97YOUT>MkO++Bp_zb^U_}Lj)_DpUONCr|w5jgpdaM{Y2b8Ex@rxxikwJD03&EK2 zwZjJ9sYnpz%CQv9Mog-Fh2N@y2KEn>=o^BBGQN@k-iA($iawmCjvh`Fq^=$Ep$FFg zt~U52c*GcYly3~|l`$fTF=E@6sVoy&9&)@mX6)=xMR01)#)zgXl*H405o_nRW} z<)m}@S)A==2uM%l1fL~R8X;lqL}IT9_qxzMSW-5cCt)R%ZnHnqDUK8$Hlr*1K~K|rQL2YC zMNff)0p=c^;b-Z&UU0(W6FLa8l~A=5At9k3L3^S%amNDMB0KIKiRabBN?nP=h+e(+ z%bi2ql$X)6XOLe_xk-l37fqo;)`iFXp^VyD{VKb;-PwC{2--LV+`dzVZVh=5{}G=|=>1gVCGGzJn6%=n9ZqM7Eue zB%{Gv62tO|8n&fRCAH(=D$$^U2B&n`t6Cob^i=UhtkxvpF)Wfr!bmy}kH?xg_Zg~^ zd>NhN+L8Oq4M~iJY9YO7pE}tAQQS?xZ1;48DyCihPY=5O4xUp?0GxNv@5q?yT1OM< zM0(cw#%1rJDi4vO$e2dxl!HqGo(aQfkt~99_{!SI&b*|yhaqs)0|x=88rvuis+@q$ zXCUMUc2j>xoV=gdgPE6jO)O{_yw=W;S@Mz=R)o{k^!b;TeNV#by=wP)*rnFv)ps;F z!)h8&Dz#5R+3p434r$_JJ#JmTe@mP*HvxdKG$M&^*0$4TMoOWo%xv1^bZ!!F&eyO{ z`D2fp!4}DgL>6y?-D0TMHzA}BGiSw)B^Fo#bpi0VvXe+$Na+VvewQ>pNwt`+lT`8V zL0#z38D1bL?2c~;b1&A1B9UjiycUPc%F@S23yTJ>4L$c?ntsHK$J*&fLf-U0RhO&h zHW(g{`V;*qe*UQy(RGE0;I`SJ|khZcFqksuFje;GZ6hS8Zc>qHrW$Bl}ov$3&MDxe*1W(YQ8RO zNl&$WrWQj)X0%DJxW!C#Gm?iKt5=Konb0C4iUF4E`G`?66M_zDP4z;hHi~ePHvZ zg5%WbOPwSn;h4fcoBtkho)fAAIna{gYE!fS9) zR5PtoR$pD{pl@DRq4N9j^i(gpQ}#5ExJ-2#rBGHXZu=8>h|yOa_60frCR|5}fP^TP9h#365yci188XtK<1jtkRHa+IG+3VTlc2@(& zI&QV!`lL8b@FHxQY}OZ0O!5QPF{Dd->O-P=^i!o4ojD%UnAPv7-phr;QVgd-bRaaA zUn!eo`$)2(^>D#HzP$4=%vg{ZaJ=fx={la3L7W}43hVA9ot8!|c|gW3B;~EdOPsF8 zFqNk6Tv%PO!{M}w(pqY+?z_!6gQb`)N)~=J@!<3b#m+@fXd%%uFGxoW3OxX#*2l8c z{wt5TXHO?yHN>L2`tXAS6*suV$#!}<_`(?iG5CUJ#Qyn3!Xk0Il z#R{I~|Jt^Js+(QG9)QQf`ows7EfezwL;oVLi_jtEr2myYEfe2rEOyBO5pd*@T!A{= z5sI{x{dRaH=J6BlWLpn5*QOOqBgBde0memifKH-WkW2_1%$2byF1QE6F^{xz)eu5F*bF0%l z`Ob3btAcZK)am3h^6dpJHG4AA$|Zpr0>Z{GD~tFv=!Lg^k8Gi5yv+GmYyf#TIu;}t zydkS$l`vkQTW0xPTfPm=1gzGqC?d&np_m@^G6D=qoMDBpW0(hk)JnK$p&;VGVLH>x z>1)V-bvcbr7W055FFAW6%cxr-OxVU#;!}s0)<5x89i2Au)NaDjMjgNBq*7_EUBYmc zbp!5lC>)n~#gOUI<16nSVx_C{vn^tCz8s#LB?k0uQ-cu5U z>r_1(9}O8v9d1?6>*(r1t+tgS=-~jsr24oo16G!go@L9YaZT&nrA?S_8YzSCDqyW7 z%xejkM$|U--)V`^@?Z(@-%$GOrpA}Ox{{t}J;G8VWz%$*R7`A-qBn`8irg|k>O7bk zT6om8IzQh;_K2~jjDl#O7>Q`LM?}C+?<{1agecjxj3C90#gaFpp6%V_w_acJz$|#I zqu&MhyLg!9q&fKVvc@7Ji2d$hnWvMhGTWk73|xGTbTa+-M5zVj|ni4A9}g_5n(h}W~ib7J1} zx-PmR9xtXT=0NVg6wfDG5YDG-FF6k^@DhkYjgu8yc~`x!oioo!#7j{c;K|pth)?@= z**Ng=dWh|ijD~yPzv_;$VMq00`QZa-jfss{0gyJ`Y`QE(!gNP98($L23)J<1*`h-Qu|m^$VPyy|U@=CfwgPL_EeY#277S~wZz zh&%M$+Wa)qgNxtU#$uSZ=UoZzU||!QXJra)uvf-q#6gKx7Lx3S=qa~z>FQ|sP}3z2 z{AM7@Y>oVc)qaM%dhY}%=I_G&;xnY6ipfdU(zn*}-^V+bWEi6Q*T0g~`I?H~jOh%r zQ8X|D6^Q`y?(Xhk@5{X@oD~vFer=}0|H{^#vk9Xg%)DrtWY<$Ek9Bn1UH!UGycLEu z^%Dq~MfB%8m_3xF#}Nwo!UHoWew{{8xGK#Er< z2WO`(_g@|VVU|P@0?nDyIsK4O!bEF8hp?E65!RUkd=h$C#yahJHG{C|+ug2qx{5HH zUpaAs7Is@j7N+p1^D|9Xmsvd#dD6zR3<%UpIV1tRmRL1&+Y)hek`3&Gyd68PDdr+byv&$9X6l>z*{r-LV*L~~pR1Lm(6ZG2h z`tznNbpPksm)l>V<9B-J8NfwhRH62WvY#&agK3_k)yGRwiR> z{dI5>oc3~_SGtA~P7ZwsZ#F9QCZKLRDzB_CDPk^mRc%AikZKlv4Gv;qVYMXaCW|#B zyjGL-Erai53H|-zEbqkP{7?(yiWtTQ4{C8otSDAnG-_sH8`#Lmp+n@}Zhv%9ZH`^o zQSsO%b^Xa9RJ~s$3QdtHozeTxly6QZDhI+u84I~-hD(^gpqDY?P&10g%YFxtmn~RD z%%A>hpwWqm4Fb&s)eA9eDnwH>3~l3nHgaTthayS()*R z2gjjcIrNGacwK}O0{rbtLveWPtiQ~CCiI25P^PT@Lg3g!L{QMT?ol+~ z>gH$oMN)#$yUkV7|IhHOOIml9oDlOy!tnVJjjvG>BmNV{G{5z?1nlrj|0(F%9xQhJ zlx=%uYv?Ob)DK3ST?t0OqcA7By0;=Nqa$%g=m>k)5`iZOQ74`V@0n&<3(@6c#Gpys zYk5UoUL=q*%UorYHb$L7EN|nKg{3c$fY5o^uZP%eOi0S+PNL$t+QVd$CZBQZ6hll) zRKF8S66}V8teIfSDn<-w43Q0rx8*9iK;Bm8ov-I!bE`g!7c#C@6YVJ->CQ*2OpEr7 z#^T>FA>0)VB$y502R79f>q7K=EfIgngH>AGkZH8jAQ1z#Jr-{1IgtP;*vhjwSjGmJ z-n|~*{pA|&6MyzO%a9qwrx?@Q5N4 z{J_wvC2hfJXQ-{&jC!Tf`d6@)6jmo&cGm@wfe*o@m~`@z920GcXK$GYU2pe~7zkzp zZB{7r*si>VtI(_m;p>zqY9&IX6#GCbrd}joGHeE!?RNMjkeBf>8q>+nt-@k7K0GDu z!4mMJy*me7kiW| z^jGW1V#stU=-`$ILnC}UP8q;J0GoiMM9P@M(U5yi!r!We=Y38~ZdE*BZ|kj8KLU2y zv2`#ZaS@2Xl8cV3Vo~oq&rv=>F%^eihfH4TL;W=ev+v-72n1N~lY2TA5SKoWpj|RX z@`an`R3i=RkTaz!hhTE_x|7HQTO>Ve<)In?l}z*Ej~7)Ao4qfYc~_E(hhZ8DB#que zT$=j9u1oos%iR`r3ZO9ZVAJ#ZPC7gyop!jj3DRp{fwdm}MP;Cv#g!T-u9m_C z`&ZhOUqUlBIA#O}q<9PKt<9lU_=%}q)Ic(>p^n#{1pX17Xp6wiQ9mR^-ENR=761!l zYPrk|sc9Amt4#q(i^on4C5BMdNwlW?g+OqnLl+F6i8 z*R)TQA`}0wJ=EL;~GML+=| z$S$GtSS6pzuKI#f{3&_p`{H6VWw(p-gMHLTUiQi*8?X80BtlY7j`99jQQ%-f)`BRr z55Vbi$8hxPW9Rqpt!FLKdJ4_t*HZ7}R1ZSf)3g!1(%uQMMm#;v-)8ifMgF)D9$yLI z>m2K7ZrO!eqx=^A!o~DCOP)jxW~840gZ-I}Wa8@W%7-nZL^wFKhgJtg?jCu)e8YCq zMwYTo^IKLW90f2>D?$lt;#i5AQp^=Q@b(#$;kLu>=X8D8KC&&~_xe&oHR;3l(cN)Q zb35_tKNPdQ{g)-X`F8q`ehNm_f`6BffccW6WWL+!mD9Zx zXVppT#LPrqWyuSp$i4T6c?kxj?PB*`+xLZFN^KlDCkd|kNU42MZK-qAki_LaRmO8g zX}G((gO25DX~5-E@d;F zeT5}vwJ%69OlR)E{Y2f`YvemyDIcQ$7g_;DdR4~{-`5>vYs-@19}|cRe4qdOcN=?c zzOwA42DV$mQ(1tw?8--Enu+SYIfZ)qVC&=7^7vtaXof8M1%)dq($UQIY>X zE>K1u899#sBf)9Z3Pb%8RfAa!5?1{0?W2yXu3UG0A%h)bf^Mk%6_sFHb=H>Ag_2u% z#01|m>!$^Vz#WMnmr+ z^)T`c^{cI^S+Pa9%UVr#sA0$iKG zzbh18#!WI8e#ns7T<38eJ!!^@I!sGZ=?Wo7u`os;?a`E#%;WMw`5JPytOWGOPEeS);yKbb-F%bIxyW_tNIeAV2Xe9h5afA^a z_7hF1PJ9;rr>$kwbIm+|G?N)|{C>fgVDF6jc}Y6AoJ*QNK7v)YDo@C3;v& zbfK)Qp|qWI)&-866Fsb03~V8ti8LDHvc*h)AD|nP4_;Er@G4ZR0rY7ih-?i`FvYyg z=~cBoGFt{g!&jiEwFAmn!myNm~?aXu!gd`}BDvUW5FpTSM@)X6O9K^P(pT zhEcGJ5r2RT-5Aq>Oyz9PI@&_Vbh;x_BC#XV2rfc#;xa|*46Jz z%N&!UN}pjFu@>Q`O{Xu4Z?lGSU0_bh2w-EE%r6s?~P=B4HjebWx znhaDP7?qWlg3le#avrFo=MeLUU>TzhZKtwPr^DyETIN}z)p$4Xt)9q@0BD3ydZua0 zz>@)lUPlr@9MWbI=aRXHpCi9Ru+i}3Bm{&6`McAcqecxJW#5;VNdNO1Ly?H)3?LTc1KEt7*8?@EypqvBZ0YgjQOfa?8y)yH>{vfgcIdr-@G;dOYg`7UX3+(nd!$?=@*dEP33${BGPH)Z{o3ERMP2-kq4 zM5k*(UwP$1Q%O(x^sBnKFk*S_5sqcMzN~50k8lOL0pTf4cXK=(Y51?v-QU_o=T0-c zz}h(NB*=2Q%L7M?O!OafoSFbGaYmW1nBgYN%e~>#@d(umO{s34JbYu(A|TNJ?}iEl6VuoLbkB5oDk6<#`YhXOH&mE9kRC$wqL|o zq~8o8(j^62(X*ENaZx_xumMgke|S-n;PL58>33}V=#)5UE>UCZk-aIgBf^AaCuHB? zX!d}LpGHz~Gvoa(WEg8ju?T|d&7o(b$!yoDF|sFPz!aWJJ%~v4hHGJo!Z@@T0=fGkeL5Rv6F zDj#zm5Ci_*B2QWQCSDsv;BAwMlaU4SF?dfWyF(3mo-@t%f0X+O;i|jdo%o7<)0fV! zPR)nkEup4G&xT}Aae{1A3*Cxm`;em$kp>V%CR6*>^2LDkHw zAqBDZ%~FD+$egBTlXhh->we1;$>v|;k>8VWS>-yvx3Y+gCdCKVrCzJ~^Bpl;6|frf zTOE7t;H8L}EjE$3KKcS2LCVFWV;D0k(MuLdsQc#udoPP%adBzKnFH~ zpaqN$*~cF7gi=0#W%RcA_>?s9!sQ3!#Yv8aoGHzo-r!YpeK+$cEDug^p!{#W#55)@ zwl}WK3H{{p!n(AibO9%mMz8F8h;XfPG{KEq(nok3Z#JnON5Z&G;z?bGBiRlE23E!q z7lizvaAVI+>AmRuSJGk3Oj>=f$fbXd`q~JfHfnpvx8i&;HZE86#9q8QX&9cSfNyxi z#(O}-)ZPi%{HDQS>SXqnF1U7hV__-Fzo>PW^mF#fW4#dJAnApFqY9_q{|S8ng8xUC zJXeL^B=c(oz9wqq?#|_}rSY?o|4-cC%JK``@OhB3$@m~YP#&FMB0NphW9E-J+&(+c zW>0yXO@86ZA;`$UZ@pq17>>@lROgkiQ5_eVuQaTTmsRbc4Tx07!|IR|i;A$rhell8}(l0uhiBdJ{x?krG0SARtw+5t2Yci7_Fl*iliz zwTmcLbX7#rwE(iHh+SC(dtWRlDC?pwilXu+B%tfQ^1btYbLYQj&itojCU*t^&0elV zl8tHskR#5O#)btk$0w&SNzVZSa6o}iCYL9Zuwr5&0hGc1@ACc@w1aZpQNi`k@&771 ze1VJy05TEcG`@_N191ZY_-39&nhO9?p|_ZxD^cM25bH`|fDo@!;0z_+tH5bWTt8qF zAIpZg1pqZFmn+QxK;r?_GxK;EkVoS)#Li;ANDP4H2#Ec8LM|U-MeHMTa;7S9Da5wW zUIHdr{#JwWEvhDz&6rnskL1~W~@nmdRKfr+4na>T5fY=D)P;qut zq)MNbE(+y93|9*}LzK&jhgcutr2<(xTjq%pqafCR*h!WZ7ooBloiAiZ4cbWMv5NRDA&wP@!-ACj zSYEm`G*)F_lp`C=7uzlraiUcCaIP>uTv;FNERQ=7Kg zu<>BL*{~_b|Gj=t`%S}wnn;yKKIoCDIcP}?AqEq}iJ?S0+z|K2eep>641~=E_rkpg z^Y~^@cur^~JR#g9v=Q!35fw;(h;l4wgZ!bYTBLnn3)~uVy5m8(A7qEjI0H8Xj<_52 z!@>igXLqP&tKwEvh4};b-!k~_*HGD!oyjP97&(w^`{PUvdkyy?7DcVUua7d;w4r*l zhem$%&;G9ZeAq|)Xo)Swj$jwC)7T}f9;*RN>=aguHDMZ0NP0aE-vQDrFlvnu6PjO zzl0{-X$HUqSO8m?j|=bsz90~UfH5E%#Dioo8CF>c*SQo-2eZKfPzZ{_DzF}G0^7h& zuooNvhd~Xf2dBY#a0Rr0o8UfNJ?-EX=mzgWAA%qxgoe-&1H=@uLL3km#0&99LXb!# z7D+}@kqktP$dTE|LZld3gKR=}AQi|j$Z_N}atUcg?jnzoPUJ1}3B^zvV<}iV zCdKArMOX<|j#XiG@OQqBwP9V@N1TY$aVG8vS8zC-b~5 z8~;k65sU~91Rny2FrJV>m`*4pln{0kjuFnmz0^*4Pb3lr6P?OyVr!a^e=^ zL1F{3mH3p{Ln4t3NDd@FQZ$K6$|V(&Hj?&}PLZyW+DW}?>T0HHE^47_DQaT10<{vg zeQGDwuBp9H>mzHCt;jy)XfmHXlf06=i(E&(N^U3jQM4&G6hBHlC6ls%Qc9_!oTEIT zyi-?KH&^#oAEz!-pRZo3en|bI`eXHvR2`~4l}(*Ul~Y$x_fQ+Ccd74aG@3Onkd{Kr zrLCY<(9X~v(RwxL8crG<4Zg-ajWUgDjcXdOHOZP*nk>!9n)#X~nnyIRYIbRnwXC(+ zT3oHUT4h?twQg(mXw$VvX-8}4XfM~^r+rDgLx-eetrMcd*IA^qQ|FA%Q#wYsptI>b z`a=3H`Z;>LE>YJ;m!q4hTdaFPw^_GaPe;#9FHvuXUYXtry*38Mux4-=*^HHp!;D*u zPs5Cdv4#nTEgM!f?Aovo`or}D^#%Gx`UmxI>VGm|8iW{R8LT#_F?eW*8`>L=Gn{U? z)$p8Q*Kpn8zQcLLi-sQ_e$NOsvNwt~nq{=psL80u*u*%@SYo`<_>6Iv3Bx4NB-3P_ z$w`w=Q@W|YsmOGl=_%8fOg$!xnawO^o@I8M8JUHf$<20{HJkOB+n6Vq7nmP3e`rCm z@Ulp^SZC2_(QRpJIo5KvWu@gkE3%cBmC$N~)di~$);88j)=R8wtUGMPJ9gNK92VT(iS2*L>O5#kZ$BW^oV z9a)Zfj+Ks&ofuA$P6bXiPOnE=j!YT3dgO(XU!C2Zvz>Q2-yfwjYRssDQFWu#3)pN7wZ7*G~ z7_a4C7rhDILEiJc>%Bkvc=+V{9QOIs*U>l2cb{*^Xq(Z3(Yr=J^)vV5`t9&*^Jn^} z`fvAd3or}d29yUp3A7002ks7h!Lnmzvi7rH2RR2xgN_A#VEeG=up5H0;IQDL;N}pW zkc5y;A&)}MLo-4vL%YM=!)ApwgcHIe!dHji<`{E$oC;3&7|$_t#+;3yM#M#Iig*%f zA1RHj8;gz|Gj{FR2T@j0;;5Qv5Y35R8~rfGCT3d9uj7d0V#bw?dmcL~c6RKAIC|Wa zxP5W&5Osq)!kQAJ>CaG=w$nkT=Ur9Dh7A4oFkWvy;cBk}A z2$`^cLiqyO|qFZW74I`hLf`=pO~UKg*)X)Dj_u~bzkadZZx-?+mpsg+nm-e1lKfxNoi*&#AHR&B0ei>^sI)wqk5@DB!E!re{lNp}5E%QTGbk?4% z{_LdegE?wBsX52RI^rzx*{LQ|XH0FCI7kX5ZPR?Ft)JE{jgan^A+kxb+FV_DsBezM0`*8R19%KA$sZYA3`P&UXnw3SAd)^4=ixN76)O~Oq#%Yw=d zZZ_JyZ1aaL{4LkE25zm|X1uL<+o$cK?RR#B?WiudE-%?h+?luY`L4uW7k>8oxnj5B z?&95F_K5ei?Ty`gw!*WbVxQ5zm6d3vys~ru#QiM?f)CVIIacjB$T(Ph2pp0hdihK0 zFSiay9Bw?~b)@R3)zQtz=*Nnxk?NV%-8I6Rw%X*{*5hN2H`e*q9sAYk*FE)S^<^jY zPOLmhIl1U$|Ec^_Jq?nEuG1N(pEgcuynkl=nHy)voozlBaqi;z(DP?5ur8ds=y$RH zlFy~%m%T36T=BS4-Q?bM>^Jw{jx~EUS6}tKTHE5?Qr9}V_2jjHYp1UVUq63?bK}a* zsGF^~5^mkOJ@Izi9sZq;yV-Z&+{?SycYpo^!h@oRS`SMe89gfh-R}2;Z60kW9tS^e zdJ^~K{!`x5SI=b6KDRG=PJ3SR!t_N&hf7C&XJ}{3%Ly;rUrAo|brt@h{m16lwy%%= z8Te;Y_xSGiH_|u#Z;-x4#;DVtO9E&w1bXp{UoOckf59j~6~AeR|P1{WIxv z=@+{%bzdXCKIqTs@0W0;+<~J21{<254#3+z@SKng03F`jC=---!2v;(_tyag{u5T- z7YD=xfGXH2j`8dU01m-sJs)zzcf}DtJ`kX;u0u^FvUFD$B^MRmgb2O;{qKwcAk_iz zMcUurx23=T%Ptt~T>u)UDes^PA;LSuc7FxBsn4Geeh}sT^t&8??13TzH}GTsFR%ZP z^JyVvVgLXDY-LzUW=%~1DgXcg2mk~D8UO_V00031002G#8vq3W00031002e-C;$Th z000310ssJqX#fNO00031002$^000000058x000310058x000310-yo_1ONa40RR91 znxF#!1ONa40RR92AOHXW0KB5-W&i*H32;bRa{vGqB>(^xB>_oNB=7(LKmbWZK~#7F z?A>>_WXDzi{~y>yld}nCM#e$l1LBLud8?ZG)Fwyu+&S3psr{8zBO6PRdf;j=^4Io&hr`PBdSCdc=E-}jCAPk;K;-~H})SI%rbh+yISzyJHq@4ffl zC|VlplFTfJNXDE6{7vnoI7Gr{)yK|Cq?nNmHXqHdE{0wm4Rh>_qjhVTN8-~*Rvh|g zx7H-C0{LrBW@b!u%Q3z#S36hefs}5(q(he&6j$$YR%^4nL0MWMnImV_Jo+?N0i*+<5{8M=(G7qd)qyKl`&4_22*f-~aVr|MlFDJWX9AP5AO7JVHcJ`ehkodXiKk_3uVC4G0{_DT~<3IkxZ2aec{%5odP7>vp zq%j^>dYDH7lB!iPc;p=tc`(9IX>G|5F;2mN;pG3n;rX|J`?r>MS0p!L7*vlh=a`6q z8)yOi!Y};7Z~Vq@h{sYPzy0lR1FDt+*s^uoRkky3S@$5aATP3G{Me8E*k?ZT8Sadq z{K=pE@gM(jgoNS)09EH;Ql`WH`Jey!AOGPmN@Z2#S1lV1IuP>GnNR>Jb7vTT`?r7l z*MI%jQYo`~4oH$6i(s6Mv@MbbnwC@OPWs&EJ_iOkXuzbR3!i`t$PdhBT3xn^ih#!f z1>?{D?9cw>PyXav-};tFsW<=#u(<%^3XeXqEnlh0j_nyDKAID*VN1i$|4zs}vWXV0WhEr}5T#x2@K zO4z{X)Ru(8Dcwc~^soNvuN3t!{^Bn>F%u4z8R03RgUYUgu?7qbZ@>NaXFvN{<&*(= z&`(NLwfJ>0kf#ekL^g@pWub-;)X)F?&%b!_;&1-uZ**HBKrSL;h%gMWBXO~u;hson zMl)*b$agGUdg3u)f{&QMMiP^ll-Y5uie`!yahmCX}TryEY2 zR2DxzMd^@zVyX_CZiCGgVkw)9lUGqERSQxy2Gxp(sRn_psiJp<-~R32Mlk5kP-6w? z8V`x($>ewIEwez3kWhh#cc&RD>IQk3RTO^!3^CYt#Km#~P1MZ9#MTmj>>@DXgG`q7 zsgT48kQi(kU`3494#X`>MhsrGuqrwYp3sg0cbJNy45u6P+wM~Lss;yuN7xK_WXf=k z9ZiXoL3GS2s@|?UUTAf&R$wc5GR`sGuA(o0`O9DW(wB5IBqCKpPeCUh1|86z_X;wCL^*3URC6jL0UaTrw}W!mA0B87&307%BTeN}O{eS-x07wkixc4lkT()d7rK_j|(~0EW znI;2_HU&fK0uX*$Y*Os7Mg-~Xe6gI2rXYX_IM6l77WAp{%R;fKrCd8Pmc&3IKjW3Wnw<^0n>{Zo-w z58g{(Xc=KjYMcXinl$MH%=iwOVmKw@@`kA)6k7qvCtwawOC7JhKqIS!RP8}vLP>p+Yc&(hga?g!ZXy&Qpir-TF zYUye%zh*@R#TLZ*o>bn8V+2wugP2Of9bZn5@MO?wkbUX)N#o_qm(u5E)56Y&98Cr@ zIC*3TBr_R9f;h6vvL`6ZItF;Oh|J0(xda9nT^SHvVs87cA{?h#3Bl-GT7t(N^_*s; zwBR7Rw+OJQqB3j%;~JMn&jqvhDKOAf3`Pj2IH-2SU9*fogg6a^S_;w;)PTKr;j=DI zOU%ltLlLqp3t|&CxHCuW>=THy&N-beiiLsDt-^CC6_Q^Z#nZNKS{3aRq@?I*3Ca%3 zr2tX-N(5bEa1t}JtQYYGD-f@mn#L=Y+yx+01Pr|;Ex`0uiPDmBj-5*vtf7{cz|dmf z+yQMl{Sh`uk`V$zIYlR*@Sru8E|G9f>#ggxR(Sg7jNhCUPl?1ZugiRDVrmu zEzqJ9f-v=E*RSk5XOIL2wpttvU^Kc^D4r^INvP!tBdy8Cip^GhE`UJ;pr}q{v4lt9 zhCWkKD$@$#7Oh5ygzppJZ{b00^UaR)6=>gJE=8a|pDQ zD^U_&PaQpWb{@rrL!gR!$T{WiNte07k-ibHqIM?K&*e;oL9~+V zU4@ilOMdm1p77v=icOqd(kGA|l9shEEo~tdt;vWjQI}ykM_7U}2mP!m%ny_^A-Ee7 zCnUI86sLixP9({&&NnwO=`50}tLoB$V_c8qEGG8jQ;$Zl?0V?EL-E8cgDP6^0OSay zqsJYG&BSPVf;tK+sx6qsmpHz3q`-yWaNukia;lv2K)@_mcRmZs;F4fRX|IFXg&el7 z&?>5^2z;*D=TXyasa#$~cShFbnR2!bebo{t9}>qR^wOdG%=yFQ+o;%P>FAq|8xgE% z&`fcSXhsN$SqGvE5C)JWu1^9=BHgsIL(A9zz2d}Q=eEoOq0UZ~V5bvl=F~uRR@h`g z$jVvQQp8b9hf;DZ6_Qvjh!B2tT3xR+0EuCiEAot(jgB~eTLHKdRF*H66D(~aYocP2 z8$}gfp6qg9aDX;?Nl{1*?j#YjWvl_*NN1KVLT@stoDPJcVOfR*FhgCrUd^VJg_S?F zE#V9>SyM1AVu)9@rj~s1Zcw4l?-)@$CsHjT@f3GmquCjmRFb~}hCp~U3RKC%1{E-@ z?d%MIOT@mMqtAg%l`k{ILKPdY_@%?lrGe=A>hUJ~-g4!F*jT&d{>Z0d zv~ryQ`76FJZL!uCb;D9@`pFBVrP+hi{Z{{Sx(jvG@3k)kIN7XY$j3p9k!p{RDH}p_ zGsA#}3I?@w-&&G1GdQ{dpu6M5A1?$NGVILAp_ZbOL0+bD8OI#;Be9(}nua|_M*@vm zwZxFWos1>x4R(O=gmdl0ry@M`$^6!UMoaT)sg{z&BUbDaU@AbQ3;dm$|aDDY~ZgL;_N_JI&z-D?^z4HFg!< zsb62Rli9@N*HSQUGiH?#-?6atIx5#ZUN?AsS1Mhz3aO&57Q$>QRaHb7TvX19QT^1L zFwSw5kkv1lD@*njPc8c-=8Hq0t#z$(igdnXy77RXIh}k9VA8rnGsspxVJb%9B{LRA z|g$X8*~#X$o$ zGCSIGH^%$$JDpzLeTm^k(yYC-ky`pJtDNu*67llL$m(&mxj&uUB)Tf(d(>ttPS$64 zCp@@!L|QwhWeJKeeGUpqOjR^H zIGhO&DhI+9C#TfiqMlg3Bytn*JC0Utm?Uu;ERXRxc89YD3q@5~k z96Ev{L(OsuzojbnwAN3Gs-K)opVSSUUKD(x|A&A0hmNKz7b-9)7II#)Z{Cgbr*m{h zx?Ic>G3e2GYWFC)YVBx7F3HCqB$j$}$DG}rS<4mPx?6JPR5=|=sdOgXw;oqMTT7p# zshnQ5B$2!9ky5~q;N^UbYdt<)dL`(g0Rli#+4%B@ zde5FcQ!TDl7e`&uJeoV5>gs3$z^S9@dhoDx;rI3~I)g!GMT9V}K)P7Y$;%bxb?c$> ztL}%VCrFjc8Umz2CBGdP?;TR?z2l2t{Gz9(D_7+l3xA#95B}f}Jh5DHQt33)l|k7& z3y;S!z7yC|{@#0P#yEG1>NtAUQckz7p{Pceuq8gUIJ7#Eo|i@;U}hf?XXkERUM%M- zbR&H!yc^XYCpJze>^PQ6c*@)MCL+1MaPfJ-aqOCP%VBzz?Gv77mEmYs%dCw}#5fw9 zvpXCFG5ogB8lu;qs@R=@-yq*R4utMr=h(RfOfwmFv$MWqufC4->ntbhgYxL<4RHj_ zDdT0TC5}cel@5V(>7Z=yj=%b=&!0bc$2y%Vt(I;!-=TYCs-;<+HA1UMy$e z%*$F z8D}k<(x^PAnt2bDm>Lkl6kGjer0T-A28cL{~eJoK+pG@3}^3}Pl zB)8OZmk=F5mmLN0zKXC^MSLgE5>6l$uMaA|EAYV9Y7jyTw)5(tpz6-FLVA`P?u_6C zZ0B^A7t1L}BNUOLm5+up&dT2@TH0;Q7Hc@OjMy;;`bgqPhos=-I+={CmIl|<@?yx5 zLV6m>k@V40GY?D8$dc$X^iGQ-@A9R1Sq|_H+qxW_fVqu(91tU{?F?JwLGs5(S}=HQvX8%lS?P=AT!nUY=5}^hA4eLeu`_jjS!$A@ zZfQ)$J39E~NG)YSYpbFY`S#myE2N^jyBrJWqtA9q=yvt6R8-&oXnb97Fp_;UkIb&v zTDGhnYOO;ZlXc5wuL#1w$TRX?3KpAr;$E zR!f+3nr`&CwtRd!Sq#={ZgrEh=J=zsZrw|d&DBw~_|?*h^x)}3NO!EqlIkkC6RCtg zin!1mN3*47m%--F5Xo-EL3;_+V1R1qRTy&sk2ST?G|;MUNwAd|Br#h$k-D%qVZG?S z5m&t^iqRd*2p)5aesDQ=7PEV44&sAUcBbgcf+5{#xCzL9&8vTVad0C28IxIE-L7Pm z&3lAIc+o&>f3rjB^MevfuDgpsr-%Lgu2A!ZA9Lm{d9NN|h!M!b%qOY4-BSd2r*`EN zZV8gB0$On?p#v%|_p_HKx31R25iAbaY2|3FwR~_n>8~+o<;~4}l?!?2nj--hr?P3} z{#3+`)Sp?}l^UNA3?=lWG!QN;!(p{+C};h_KC=~d;>yt)RCoJSod6>vh8SI1!_Rnj zScpHusl)_8oy^|L=5f#~x{oe~8Y^e1pwd{K=HjGmzBqd$J+(p9k zT=9(bKb885=h?Go&Lv?z?iN))pF=z&eGYL)IgwqhQYNix>59v*j2L+_4?VjGu4%aj zxke}BWNQdT?Uo*#?V20$(InSMab^oqbFj&Ua)z0Vmc`Mv2qzV%JWw&lAb#}Y%gNkW z8M`Mh@4FfPg9v5^>lle9~hDPoW@!hD-r4uP52o+UJY3ewFp`zK* z9N`~dc2{~Z6XRD}-3n$)LxI(RHI|v8*lY`JMAU+oER4Z%gdcOn*wlHN(p@5CUK)<3 zCI+B9q?MN(#d&-=S;@q1Uis0yHc0Mv@mFUT9iJ(c)6sP0 z3PxJh&x@-I*11IE=x*mmb_BmheniW{kvSacGkBL%uP1JJABXH}AilgR>oy2AN*RwJ zFj<~lkIj`J-;x+FX0WFPZ4tonbT9|?Xb`8Zk6bw?xf5pzax9!npF_OCK7amPPCZei zQng&L3hA44pDeu`dT>gIw;ra($YgMGF^*$WhftHI-F zA;!ztyhIS5ZeUjHBq=V#Zk>d`+C-1L)$&KKoGZ9!@wn@HWIB{ye3a8yC+=9MP%T}s zFP5*-JuFqxpe|Epkx%eL937qIke6l6WbU4KH+V7O#qh}ofO5V0xO&jf+J}(3wop8? zI&nm@S-+xXfDFm(SJ$%@{pgkxTthHY=^(0~Yj)11YPnPu(z)~(rTTurwGek{y(xIvalwB5>tFY+rmNLkN#C&0Vq_v5 zB5Sj}k*G)#3WmyABHR{cXB3jkDa(}{aiitL$QuA>T<>}zV3`XB$vB{1jtm%tKzOxZ zq!ZdluAGClGy&QhP}i)AiqMQsf2>ntX(`L6VAnWM8x^Xm2(2C zHziKKTx$yHCCHzaNT~FASo%{D?>>FwQx%&9Mpx3MtRUCmS9)@Kg#dtANi4HmduLW) zT_x$hukjSXG4#`s>{8Hu|2vVpL;cy7gp>)Bb+!6CymmP{J^|}CpIe+%{L>No4uV;A8ZQU~LUa6< zt9KlcdS3cm>-zDQpk2Ie;fvANTSDfS@p@&|9hxxuwUsk-S(gzb8h^G{{@~aVqlnP6 z{xCtG8Y;?;uYSa4NM8+`@v%I<1_=UlHM{e;TdE(9#8HvudL^?wN~`>;B_ys#*;gb< zSL3a%PK{M7plPLO9ssL5PfAN$T2=|YANbq9W|ysa#i(n2Ss`BToYa%Ot!$YcQ!K=J zZRI@cWBfgoD1Q0Uu;Nrs#}sJC(e2uMfu(eiEQyuD(%{bS>NMt&KQgH^r92HP2zHEU z3FTcmeTm^=rUpL<@4vy!BA1DS58`L>B2O7zSeW< zsz0c+lV3Bf21W8tp$D)MDyO6AOA;MSz!wzG<;&Bb2s!=A$$O2vL%uFQ5c9h62pWiT z3Us(jH>RzJ8l=(_rIayPPBE2MBIaX>Eyh>ZmL+j@n%K%&Y4V10nmJ-zF%Yyy(Gt_W zD$Aal)f*B|JE*jmS|U_}5%?*R0Stj-t{!AOclGEzO1%3x@hYlONP4$Y%Xi;>SL?WM z^+&I@E8vwLgs-`rm2Gf~#F$!+*Fs$Z9ceNG)53};Q@!PiR+D0i-xVY~>@!Ok!3eq~ zdi=)E#mbD+Op7~NbBoHRnt5Wm)s>K!>?<}elIzvlPjBQMFjp>+YNsO}3SB&g>)Po=IH`m^p4s=2`fFeNnsTyJEg@V1pQT@CIXMuvkz)kt#))^w zJPYE;OogsH(7h_rIINGDgs?=hEI_8@idi@Li_@1RvZuPT%52_QSYsLR0W&|i zoU4hI<_2_$(7AdFQ24x<0VH5FK+vozm*_z(mClDyS!3Kah=ULwgT##0rsdc?yG6LX zjMxy_F*op8;AjLQFj)Yjs~#abWpF5!P=%a1XdO7+<`gOh8FnZdj8{%Fj$<95Ih+Au z%9|&pS6M?{F&U>$EAP7D2x&$5+R7=vdJuy83tV9X2c?jTWHPcMIMReM#UK*u9waPF zmJ`XQcsh<|l9i_#m~jm14tGY(!<@We?nY^nK26j8#y%r-GoHL9RM7~)2m|RLdO7mo z6s(scP-!`NMo#gAs)Qb?Z~=jMUEJ;c+czxh`d6CsZqQaIVaeM|8u( zrP0x^{%K#>usFcFZbkdO@>poxvX%~3+YyK>4Jv2<70P*DWW5V$8Ij$0IX!_o{kMP}J& zq(C%*=SbJAq8eORU|XD$U!4jw0GIG5ykRSz-F#i`?5<`k7(}>B5R~K#hCB2nr(sB- z)|MLiDh1|xB6SgFbBDZT@h8ckfuHxY^2sPQ%S0?TlDYkY-}G%#0WaW8B?BeAs8_(FZ^VK0xNmu!GgsQ8%qq6k9?OW{HR+7c84wcK41c z%nS|(VZ?8q<sIQkZWl)k!mbaoU zyQz#KE%drv?W~F`|2qA~%Xtazby#*Et$45HHz6?DKf<1^onMbhob@#C1Rk+`l{4ie9 zy;Ri4S^gfC^Trx{V#F>LX$`P~J+5r4ot6H?mh+Z`u8DXpY31}y6lukIo!-91xGwRu z`!UME_Hy+!J~0`1D(5Grlv^NA<$NmVCn^JH>=TkX9Q5pC|1@m+|KT+lU#D0zN ziK@~K!SwyX)7J<$r0U}%@^smLd}?(A(x-CXkfe`~$Wu8#KDD|5=~FpxNYckg-}W$^d~CcqjEmf&Ev}aI?Fi?xP6%Y;Quz- z|6Y>-8j-;5L5^`M>25wg_@Vj8Ioi*4ieqzKqVa+3Hw}&!;-rEeBRk0vKp3kS<2WO~ z(wB@MWk!7^h`n!j-FP&e!O)v6%?059QQiEV{wI6$gIx4KHji0E^ccC(Agz(iLQ4qy zpSdjKue;;rUVdIb711^0F3+yBiKoJW!_7({IIm%YcT;(Hq*<`GNIdwIm_D( zj{3bSj9<#d_+2v_BxYll%2nWAk2?XnY&O~&%b0Qc-*xfZ+F7VAFlRSn)OYeNU+1gP zI37=YgLV907#+1EbF|J96Q131G{jEj5`WcQRd(`|va{e<#Uo8OYwMg?X2*EaJ&Lo1z-+E~E#si!_WC9G(}@9dO!(EY-P zpV5&%KksoJ*>1PsCB?7PWR^{XSX&5A4a=SGZkY@*0}Yh{6>M$EZwKWTYhye-5H^5B zG!Ms;7BI(tv?AsD{os7!d&;I%1t)TR9os((|erCEc%J8EWZAz|4~6_oDpX zSwFhCf>`N+zB19mmWzH$%dctq9VWlsQ#mCI!8P4W>N{(to{F3TCVhT)%MS|nTR%Xu zQ{H!qmzIR9nOU%K_G4vmB0!Z2bDhndABZw4o1g#U-S0*53yesiVvw&>K=0Rb^=_+d zuguq3&Ky9)jdJ?^H9tS=hj;yIt4P#RA^n!17z$&>aW5?qGQyxAGc^0bZ7JiW$g3y- zyk9p}3f6LVF8h&6zsBdc+ZegU)Hq@@gJ1|2PBVlJzn)n|wWC2x%{Y|=j?|J<>2JODmfw*yZ$CPB`t?QG2Rg}I zM6Y%R(lFVqwLkmW&obx-V-1Hs3nG_Ivn6X>$lB;mAaO`WuxZe8A`RATNu|tYieds| zVI>H2gcE*CH8cFOr@;NzqMt-Hm{r|=50x<2jGKpWBDJ{Rko3!`4uIsiB(xM^2OuPj zBgW$jV@H43(>aBKk7-M(6o5$lXs>_B#_WK~7u>QVSqg(7naU2(aVd-;j-Q_D;#q!X!@{;7o;&JPw__TzkZ z$+Kn-4;ML-D7E)75QZ)9X9L**du`>cJX``H(XPa2&$fRt)sMF8 zO_6xusiiGdDV3PyjY;1w`|*WsxL4(xx-^O32|(8+{Z^s6X38a2vUZ_PQrZOrL6{Mv zE0+-&$A|C)?ffm5DX6MYwG^o#WIxicNIfPQamZYuEc0S!ybOrQuoRbcb*#<(>}FBe ztq;o8*@#x=hb+vRFC+M!Y@NYKTV>Gv%FG82dcbTk~LTpz&<+^^@O|5 z<%V-oz0(~4qd0_EbgH|@KYrq$-1TJfAb^c!wd|L`719e}4cDtIm8m7dStKJ-ifZT# zSt7%T#x>Uv!oQ`WAGVwm8wA|fr^3^%>e|!DR!~Zl8Ol*alvc#q+$GPra>||l)%%#@ z?4Nz~m~lF_i$V(9yxJjo^tILuZ8$p8%1BAi$WC{)Lj?@Q^LFN+v-z#x`Yq>DRYdB- z0LgLp2&|SG1wseTE`-}9dwO=5HK^JfjH8`wNvn`JTCFCd$YW_-VeIG+RZh`Pz$&EC z#MaT&XtJL(;G~IUfXp4B6-v7}L$qsYFy1)jVSC<`edki*oYD1krbvFZKQvu548w`2 zkbp_LBoZTYG?IEM%IO*Dy-fT1_b8Q?y0R&xe>ubKfO=hk&8U_IuD=bjm~AOJu~Njc zih3Vrkculubb`gF`v%J?uwrY5z;Sda;qc&8TJAkC>~>LrGJr58%P23$IhzC!a%$ES zt|l2YWWgC?TrSGj+WVP3Ydo{LTLsX(NT{tfWo1A4(T#w|Rpces(KNgzC=Wa?4FAN6 zp_cAg$4*IlYVyLMnT7gNW*~PfsGR6rv!d$_L!*e1x_|3Py$M(z6Sd%oFt7S zf;Fc*I$>IsP^cW4aad;Gn8v3Yu$_@vuDiFuAd}dth{kl1gz2T-8R`{5m~Q@;FSmcu zM)vz0*?Fo_f|0?2%9`C`K~r>N`zFEJ@EjGaqT=wyph$UH!Axj~EI+24D>7EJs_VXM zRzm^d>20_})YZ_uYA}&(RlV?FJL1D3>~!j4Ni@)GI+QwEIbFGeoRm$pLyX_m`0Qe? z0y}E<}RF*|;NWJLbQBKcG|7sWlDhCU&HB#1AQ)ojhdL2QS9oC$3jiPvhilelW ztfz^sQLJ=Zk0~cuMi-zgL*QI0q&}5y=hD5QoO+Xt$jdc<2qX0s$|af#VHx4YL#3V& zyioOu`v)OwGQupev(X-zY_1-U0(Jx0%y^t?sb5vm9qT2?=@hc!Ian@O7h|;qG8Zfq z#VjMnDdW+i5R_Bsbap`LVs=K&l9075?B>mvdhj_FohItDy<#hXb_wjrY zASNXKc`onRicymR!%Oy?p+ZEjzHmsACm(qxWHic!R4eDCTHIb zpoHECo;`c!e&AkzLF4TXtgc5mU@|xhdg#}XuG2hbN;x~A4yB=}MHrszMjpBgq_JvQ zas)|HyNw)8H&f;GFKf9ZOMRDr>YJ65;tph~FdMui<}5ns+5*$5;D~W26~~iBCW)<( zR=TYRmy-$3)Y7>Wk4L6jI-272B=aud9o-`YGTC?iicKxcJ8&T=h84}wgP2V8ya(|p zLXu*ZIPSbeuuO7ME(%!SW8+sdew-4F(GW zU#+bGCNl_w1+T|Kb2bdIcLU?tUE!@p2JM5(87$YV#`KQ!{P}a&4#GX7gL;1GCdY_- zwM?GBi48Gz-C;T|6P8D{lt<}fuyU%XGs+7s1`)Q5d`0Z&)qZ$Z&W=7AyR#MyEn7Lo z?!JXby4{dIlc<3VD6Kvgb$)3z23{@(n`LzMrmJk2O!3uK#2Ocsb5+dL%%yZICzrz= z0<(A!M7u2!hFY4H(CdINDxFSC2)qF~mmVHqiBk<&vz46{_a#^%X}3A=tclG);5d{j zTJDHpuC?T`8W-AXbD|@IUSSZkG*G^_V2)uL!fEFf6 zBd5{1W4QxO3!kLp$P2y_;)tdG$Yw?+kRez@Up$=?*dW-XPao$U6tB(>rB^$()TA8y ze$wlJ+07%@B!yuff5l)q#B8lZeghX@VA98nAx=@r;OXgk_is}(NXD?0;$=bgLn8aaNAS)9G1hFI>}^xla+J;So*4OLvY?{s$9^g- z;5SmgGQXehoe)o%Lo`kq`;^}FMD$W;xNwwKZ+db#mtF^4vzindAZYDuTCPzYcZWkP zb%ek?GTn0C_t4yF7fI|@NSu7Z=D4I~W~V%sDW>GenKrM$>@r9fp&sM(h&&D#Fo@dl zV8c{MH?0c^s%}MI0??cy`@9UWFqq*akc>bqNgB4oQ$muYZX_K4IA1L1Q51(cA$be% z2MGSy9U&_5xMq8`lV$OcS%T*ltdCaQdBOK*(_Ozo&w>- z+@gPVIw6rDgJlQ}0^wwk*aqv>b2om#)-5nJmItRM7PuP%l0KQxWsoTZFb&8zqpv<| z1*ZNZ9KlOS%#HjG2I|APm$;{#Y!wefAj+4tdTM%Px@^%}(qqF{AiJw!Pu}14Go&h$*#d5Nhi9|t> zINyf&WMa5!WzZ3EyT0?zJN^t=Ed>T&zDF0aqgT%0xI(Cz)VSoGPEIXF?krjYDP>L! z+Q){z=gd^Okd(XwRuw%9oF@->M3qpIV6PY^{0K%6VDP1hE2r%1E${PQ1N+2DOv&wn z2e5OD#<4UYXM`_`W&=D203Mk{GzU23OF@b!mRuZDyO3f zs?KYc$0`B&oQzzXxo!k9zmTYtqO$3@>j~D>QZ@+aEqpNK${PlRBshjzvoWGe&CYhc6>@{m$ z_qBrU$l0Qcf8uRzd6463V<&GoHSGM&?fo+2BYeEjPR;Tyn->lZK}>+O*j6ydRnDSA z^!my@#SaJ_PR0GQWuQa}%;fDw`3E|m>%0<_o=o`5$|vIGno9|{?2MSj4O-fd-gd-K zmaxzu-=~|@{)r+xzHzjm@J&_ahQ83In5Qu3-$O|>SknapxE0Rdbq&w0zX+G&ryBl#*8c$@SFlk~~{rvGyQlzQS0>Cc3dmaZ

!DhKlo;mF9#u;?

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 { + if (ret) { + imageView.width = ret.width; + imageView.height = ret.height; + } + }, + })), + label("ScaleToFill"), + image({ + imageUrl, + width: 300, + height: 300, + isBlur: true, + border: { + width: 2, + color: Color.GRAY, + }, + scaleType: ScaleType.ScaleToFill, + layoutConfig: layoutConfig().just(), + loadCallback: (ret) => {}, + }), + label("ScaleAspectFit"), + image({ + imageUrl, + width: 300, + height: 300, + border: { + width: 2, + color: Color.GRAY, + }, + scaleType: ScaleType.ScaleAspectFit, + layoutConfig: layoutConfig().just(), + }), + label("ScaleAspectFill"), + image({ + imageUrl, + width: 300, + height: 300, + border: { + width: 2, + color: Color.GRAY, + }, + scaleType: ScaleType.ScaleAspectFill, + layoutConfig: layoutConfig().just(), + }), + label("ImageBase64"), + image({ + imageBase64: img_base64[0], + width: 300, + height: 300, + border: { + width: 2, + color: Color.GRAY, + }, + scaleType: ScaleType.ScaleAspectFill, + layoutConfig: layoutConfig().just(), + }), + label("StretchInset 1"), + image({ + imageBase64: img_base64[1], + height: 60, + width: 134, + scaleType: ScaleType.ScaleAspectFill, + layoutConfig: layoutConfig().just(), + }), + image({ + imageBase64: img_base64[1], + height: 60, + width: 294, + scaleType: ScaleType.ScaleToFill, + layoutConfig: layoutConfig().just(), + stretchInset: { + left: 0.85, + top: 0, + right: 0.149, + bottom: 0, + }, + }), - }), - label('Gif '), - image({ - imageUrl: "https://www.w3.org/People/mimasa/test/imgformat/img/w3c_home_animation.gif", - scaleType: ScaleType.ScaleToFill, - imageScale: 3, - }), - label('APNG'), - image({ - imageUrl: "https://upload.wikimedia.org/wikipedia/commons/1/14/Animated_PNG_example_bouncing_beach_ball.png", - }), - label('Animated WebP'), - image({ - imageUrl: "https://p.upyun.com/demo/webp/webp/animated-gif-0.webp", + label("StretchInset 2"), + image({ + image: new AssetsResource("coupon_bg2.png"), + height: 48, + width: 78, + scaleType: ScaleType.ScaleAspectFill, + layoutConfig: layoutConfig().just(), + }), + image({ + image: new AssetsResource("coupon_bg2.png"), + height: 48, + width: 78 * 3, + scaleType: ScaleType.ScaleToFill, + imageScale: 1, + layoutConfig: layoutConfig().just(), + stretchInset: { + left: 0, + top: 0, + right: 76, + bottom: 0, + }, + }), - }), - label('WebP'), - imageView = image({ - imageUrl: "https://p.upyun.com/demo/webp/webp/jpg-0.webp", - layoutConfig: layoutConfig().just(), - width: 200, - height: 200, - loadCallback: (ret) => { - if (ret) { - imageView.width = ret.width - imageView.height = ret.height - } - } - }), - label('ScaleToFill'), - image({ - imageUrl, - width: 300, - height: 300, - isBlur: true, - border: { - width: 2, - color: Color.GRAY, - }, - scaleType: ScaleType.ScaleToFill, - layoutConfig: layoutConfig().just(), - loadCallback: (ret) => { - } - }), - label('ScaleAspectFit'), - image({ - imageUrl, - width: 300, - height: 300, - border: { - width: 2, - color: Color.GRAY, - }, - scaleType: ScaleType.ScaleAspectFit, - layoutConfig: layoutConfig().just(), - }), - label('ScaleAspectFill'), - image({ - imageUrl, - width: 300, - height: 300, - border: { - width: 2, - color: Color.GRAY, - }, - scaleType: ScaleType.ScaleAspectFill, - layoutConfig: layoutConfig().just(), - }), - label('ImageBase64'), - image({ - imageBase64: img_base64[0], - width: 300, - height: 300, - border: { - width: 2, - color: Color.GRAY, - }, - scaleType: ScaleType.ScaleAspectFill, - layoutConfig: layoutConfig().just(), - }), - label('StretchInset1'), - image({ - imageBase64: img_base64[1], - height: 60, - width: 134, - scaleType: ScaleType.ScaleAspectFill, - layoutConfig: layoutConfig().just(), - }), - image({ - imageBase64: img_base64[1], - height: 60, - width: 294, - scaleType: ScaleType.ScaleToFill, - layoutConfig: layoutConfig().just(), - stretchInset: { - left: 0.85, - top: 0, - right: 0.149, - bottom: 0 - } - }), + label("tileInset 1"), + image({ + image: new AssetsResource("dididi.png"), + height: 78, + width: 84, + backgroundColor: Color.BLACK, + scaleType: ScaleType.ScaleAspectFill, + layoutConfig: layoutConfig().just(), + }), + image({ + image: new AssetsResource("dididi.png"), + height: 78, + width: 84 * 3, + imageScale: 1, + backgroundColor: Color.BLACK, + scaleType: ScaleType.ScaleToFill, + layoutConfig: layoutConfig().just(), + tileInset: true, + }), - label('StretchInset 2'), - image({ - image: new AssetsResource("coupon_bg2.png"), - height: 48, - width: 78, - scaleType: ScaleType.ScaleAspectFill, - layoutConfig: layoutConfig().just(), - }), - image({ - image: new AssetsResource("coupon_bg2.png"), - height: 48, - width: 78*3, - scaleType: ScaleType.ScaleToFill, - imageScale:1, - layoutConfig: layoutConfig().just(), - stretchInset: { - left: 0, - top: 0, - right: 76, - bottom: 0 - } - }), - - label('tileInset'), - image({ - image: new AssetsResource("dididi.png"), - height: 78, - width: 84, - backgroundColor: Color.BLACK, - scaleType: ScaleType.ScaleAspectFill, - layoutConfig: layoutConfig().just(), - }), - image({ - image: new AssetsResource("dididi.png"), - height: 78 * 1, - width: 84 * 3, - imageScale:1, - backgroundColor: Color.BLACK, - scaleType: ScaleType.ScaleToFill, - layoutConfig: layoutConfig().just(), - tileInset: { - left: 0, - top: 0, - right: 0, - bottom: 0 - } - }), - ], - { - layoutConfig: layoutConfig().most().configHeight(LayoutSpec.FIT), - gravity: gravity().center(), - space: 10, - }), + label("tileInset 2"), + image({ + image: new AssetsResource("123.png"), + height: 288 / 2, + width: 154 / 2, + scaleType: ScaleType.ScaleAspectFill, + layoutConfig: layoutConfig().just(), + }), + image({ + image: new AssetsResource("123.png"), + height: 288, + width: 154, + imageScale: 2, + scaleType: ScaleType.ScaleToFill, + layoutConfig: layoutConfig().just(), + tileInset: + Environment.platform === "Android" + ? true + : { + left: 0, + top: 70, + right: 0, + bottom: 0, + }, + }), + ], { - layoutConfig: layoutConfig().most(), + layoutConfig: layoutConfig().most().configHeight(LayoutSpec.FIT), + gravity: gravity().center(), + space: 10, } - ).also(it => { + ), + { + layoutConfig: layoutConfig().most(), + } + ) + .also((it) => { coordinator(context).verticalScrolling({ - scrollable: it, - scrollRange: { - start: 0, - end: 100, - }, - target: "NavBar", - changing: { - name: "backgroundColor", - start: Color.WHITE, - end: Color.RED, - } - }) + scrollable: it, + scrollRange: { + start: 0, + end: 100, + }, + target: "NavBar", + changing: { + name: "backgroundColor", + start: Color.WHITE, + end: Color.RED, + }, + }); coordinator(context).verticalScrolling({ - scrollable: it, - scrollRange: { - start: 0, - end: 100, - }, - target: imageView, - changing: { - name: "width", - start: 10, - end: 200, - } - }) - }).in(rootView) + scrollable: it, + scrollRange: { + start: 0, + end: 100, + }, + target: imageView, + changing: { + name: "width", + start: 10, + end: 200, + }, + }); + }) + .in(rootView); } onDestroy() { modal(context).toast('onDestroy') diff --git a/doric-iOS/Pod/Classes/Shader/DoricImageNode.m b/doric-iOS/Pod/Classes/Shader/DoricImageNode.m index f817cf2d..1b5400c2 100644 --- a/doric-iOS/Pod/Classes/Shader/DoricImageNode.m +++ b/doric-iOS/Pod/Classes/Shader/DoricImageNode.m @@ -564,7 +564,18 @@ - (void)blendView:(UIImageView *)view forPropName:(NSString *)name propValue:(id } else if ([@"stretchInset" isEqualToString:name]) { self.stretchInsetDic = (NSDictionary *) prop; } else if ([@"tileInset" isEqualToString:name]) { - self.tileInsetDic = (NSDictionary *) prop; + if ([prop isKindOfClass:[NSNumber class]]) { + NSInteger value = [prop intValue]; + if (value == 1) { + self.tileInsetDic = @{@"left": @0, @"top": @0, @"right": @0, @"bottom": @0}; + } else { + self.tileInsetDic = nil; + } + } else if ([prop isKindOfClass:[NSDictionary class]]) { + self.tileInsetDic = (NSDictionary *) prop; + } else { + DoricLog(@"set tileInset error for View Type :%@, prop is %@", self.class, name); + } } else if ([@"imageScale" isEqualToString:name]) { //Do not need set } else if ([@"onAnimationEnd" isEqualToString:name]) { diff --git a/doric-js/index.d.ts b/doric-js/index.d.ts index 114bd61a..dc33ce8f 100644 --- a/doric-js/index.d.ts +++ b/doric-js/index.d.ts @@ -702,12 +702,19 @@ declare module 'doric/lib/src/widget/image' { right: number; bottom: number; }; + /** + * image tile + * + * If boolean value 'true' is passed, it equals { left: 0, top: 0, right: 0, bottom: 0 } + * Android: only support all area tile, so you'd better pass boolean value. + * iOS: support custom area tile, so you can pass object value and boolean value. + */ tileInset?: { left: number; top: number; right: number; bottom: number; - }; + } | boolean; /** * Called if loaded image is animated and played end. */ diff --git a/doric-js/lib/src/widget/image.d.ts b/doric-js/lib/src/widget/image.d.ts index 66276b93..d430b564 100644 --- a/doric-js/lib/src/widget/image.d.ts +++ b/doric-js/lib/src/widget/image.d.ts @@ -82,12 +82,19 @@ export declare class Image extends View { right: number; bottom: number; }; + /** + * image tile + * + * If boolean value 'true' is passed, it equals { left: 0, top: 0, right: 0, bottom: 0 } + * Android: only support all area tile, so you'd better pass boolean value. + * iOS: support custom area tile, so you can pass object value and boolean value. + */ tileInset?: { left: number; top: number; right: number; bottom: number; - }; + } | boolean; /** * Called if loaded image is animated and played end. */ diff --git a/doric-js/src/widget/image.ts b/doric-js/src/widget/image.ts index 2aba8884..d8fea34d 100644 --- a/doric-js/src/widget/image.ts +++ b/doric-js/src/widget/image.ts @@ -120,13 +120,20 @@ export class Image extends View { bottom: number } + /** + * image tile + * + * If boolean value 'true' is passed, it equals { left: 0, top: 0, right: 0, bottom: 0 } + * Android: only support all area tile, so you'd better pass boolean value. + * iOS: support custom area tile, so you can pass object value and boolean value. + */ @Property tileInset?: { left: number, top: number, right: number, bottom: number - } + } | boolean /** * Called if loaded image is animated and played end.