From e22f7ac1eccb5958dd960e157d0f35606f7db26e Mon Sep 17 00:00:00 2001 From: srs5694 Date: Sun, 25 Mar 2012 19:13:05 -0400 Subject: [PATCH] Added icons and libeg files --- Makefile | 20 ++ Makefile.bak | 20 ++ icons/arrow_left.icns | Bin 0 -> 4367 bytes icons/arrow_right.icns | Bin 0 -> 4331 bytes icons/boot_linux.icns | Bin 0 -> 27657 bytes icons/boot_win.icns | Bin 0 -> 22376 bytes icons/func_about.icns | Bin 0 -> 5456 bytes icons/func_reset.icns | Bin 0 -> 6888 bytes icons/func_shutdown.icns | Bin 0 -> 7068 bytes icons/os_centos.icns | Bin 0 -> 43957 bytes icons/os_debian.icns | Bin 0 -> 38447 bytes icons/os_ecomstation.icns | Bin 0 -> 37229 bytes icons/os_fedora.icns | Bin 0 -> 29506 bytes icons/os_freebsd.icns | Bin 0 -> 42995 bytes icons/os_freedos.icns | Bin 0 -> 26268 bytes icons/os_gentoo.icns | Bin 0 -> 36972 bytes icons/os_hwtest.icns | Bin 0 -> 33262 bytes icons/os_legacy.icns | Bin 0 -> 39287 bytes icons/os_linux.icns | Bin 0 -> 28209 bytes icons/os_mac.icns | Bin 0 -> 26950 bytes icons/os_mandriva.icns | Bin 0 -> 23404 bytes icons/os_mint.icns | Bin 0 -> 36417 bytes icons/os_netbsd.icns | Bin 0 -> 29339 bytes icons/os_openbsd.icns | Bin 0 -> 35871 bytes icons/os_redhat.icns | Bin 0 -> 34024 bytes icons/os_refit.icns | Bin 0 -> 32735 bytes icons/os_slackware.icns | Bin 0 -> 46048 bytes icons/os_suse.icns | Bin 0 -> 41340 bytes icons/os_ubuntu.icns | Bin 0 -> 27439 bytes icons/os_unknown.icns | Bin 0 -> 29750 bytes icons/os_win.icns | Bin 0 -> 40868 bytes icons/tool_part.icns | Bin 0 -> 7883 bytes icons/tool_rescue.icns | Bin 0 -> 7576 bytes icons/tool_shell.icns | Bin 0 -> 6724 bytes icons/vol_external.icns | Bin 0 -> 3399 bytes icons/vol_internal.icns | Bin 0 -> 3566 bytes icons/vol_optical.icns | Bin 0 -> 3772 bytes libeg/Makefile | 19 ++ libeg/efiConsoleControl.h | 121 +++++++++ libeg/efiGraphicsOutput.h | 207 ++++++++++++++ libeg/efiUgaDraw.h | 182 +++++++++++++ libeg/egemb_font.h | 302 +++++++++++++++++++++ libeg/image.c | 557 ++++++++++++++++++++++++++++++++++++++ libeg/libeg.h | 127 +++++++++ libeg/libegint.h | 77 ++++++ libeg/load_bmp.c | 265 ++++++++++++++++++ libeg/load_icns.c | 226 ++++++++++++++++ libeg/screen.c | 284 +++++++++++++++++++ libeg/text.c | 93 +++++++ 49 files changed, 2500 insertions(+) create mode 100644 Makefile create mode 100644 Makefile.bak create mode 100644 icons/arrow_left.icns create mode 100644 icons/arrow_right.icns create mode 100644 icons/boot_linux.icns create mode 100644 icons/boot_win.icns create mode 100644 icons/func_about.icns create mode 100644 icons/func_reset.icns create mode 100644 icons/func_shutdown.icns create mode 100644 icons/os_centos.icns create mode 100644 icons/os_debian.icns create mode 100644 icons/os_ecomstation.icns create mode 100644 icons/os_fedora.icns create mode 100644 icons/os_freebsd.icns create mode 100644 icons/os_freedos.icns create mode 100644 icons/os_gentoo.icns create mode 100644 icons/os_hwtest.icns create mode 100644 icons/os_legacy.icns create mode 100644 icons/os_linux.icns create mode 100644 icons/os_mac.icns create mode 100644 icons/os_mandriva.icns create mode 100644 icons/os_mint.icns create mode 100644 icons/os_netbsd.icns create mode 100644 icons/os_openbsd.icns create mode 100644 icons/os_redhat.icns create mode 100644 icons/os_refit.icns create mode 100644 icons/os_slackware.icns create mode 100644 icons/os_suse.icns create mode 100644 icons/os_ubuntu.icns create mode 100644 icons/os_unknown.icns create mode 100644 icons/os_win.icns create mode 100644 icons/tool_part.icns create mode 100644 icons/tool_rescue.icns create mode 100644 icons/tool_shell.icns create mode 100644 icons/vol_external.icns create mode 100644 icons/vol_internal.icns create mode 100644 icons/vol_optical.icns create mode 100644 libeg/Makefile create mode 100644 libeg/efiConsoleControl.h create mode 100644 libeg/efiGraphicsOutput.h create mode 100644 libeg/efiUgaDraw.h create mode 100644 libeg/egemb_font.h create mode 100644 libeg/image.c create mode 100644 libeg/libeg.h create mode 100644 libeg/libegint.h create mode 100644 libeg/load_bmp.c create mode 100644 libeg/load_icns.c create mode 100644 libeg/screen.c create mode 100644 libeg/text.c diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f596309 --- /dev/null +++ b/Makefile @@ -0,0 +1,20 @@ +# Makefile for rEFInd +CC=gcc +CXX=g++ +CXXFLAGS=-O2 -fpic -D_REENTRANT -D_GNU_SOURCE -Wall -g +NAMES=prefit +SRCS=$(NAMES:=.c) +OBJS=$(NAMES:=.o) +HEADERS=$(NAMES:=.h) +LOADER_DIR=refind +LIB_DIR=libeg + +# Build the Symbiote library itself. +all: + make -C $(LIB_DIR) -j 6 + make -C $(LOADER_DIR) -j 6 + +clean: + make -C $(LIB_DIR) clean + make -C $(LOADER_DIR) clean +# DO NOT DELETE diff --git a/Makefile.bak b/Makefile.bak new file mode 100644 index 0000000..f596309 --- /dev/null +++ b/Makefile.bak @@ -0,0 +1,20 @@ +# Makefile for rEFInd +CC=gcc +CXX=g++ +CXXFLAGS=-O2 -fpic -D_REENTRANT -D_GNU_SOURCE -Wall -g +NAMES=prefit +SRCS=$(NAMES:=.c) +OBJS=$(NAMES:=.o) +HEADERS=$(NAMES:=.h) +LOADER_DIR=refind +LIB_DIR=libeg + +# Build the Symbiote library itself. +all: + make -C $(LIB_DIR) -j 6 + make -C $(LOADER_DIR) -j 6 + +clean: + make -C $(LIB_DIR) clean + make -C $(LOADER_DIR) clean +# DO NOT DELETE diff --git a/icons/arrow_left.icns b/icons/arrow_left.icns new file mode 100644 index 0000000000000000000000000000000000000000..3bfaa22fbeb8707c635f1631fe720c83b35ee6a6 GIT binary patch literal 4367 zcmds)ZBSI#8ONV{?!C*)^0Etppo3Zp+JtBnh=A2=8UswU>265CQtX{8cN&~QB$1}FEzD`@40x*C*ucLM9nrqcn3V?pW7w127 zt*YY6rSh_5fL@II1Q%XOMg zboR-t%#4Eo-9i8WpOl+@D(ghXFOMI4GgWl}pc6^CpW;MD`th_kQ&fthzerBn2XGsQ z12(0krK*%i-$*`k`1QnB4;_pLFynY&q(~ipE%E1vesUNVD8u8zE@`OJC;doD}pN|*M)C2LR z0j@n}qm*w2;zM7}jT4Y~8-d_9b_guiC^G=TM65eP1qZafp@+W;igc`l6KMyz5pJvHRKwlOz=gwZ3VS>aw< zAX}Wr&1?>+1+vX41ST*HMHBv=LZmM+5CNzg4_sW7bU!$?^y7RfjNto7LIjMW)Z|h@ z_}D2sMdn$Dz-!)682gfk1&QjYqUOtsNjO2WLSg>HoI;7pQz+6VzW8mMLOCdSBboc~ zvrj+4o>h<{e);{69)GxKR44}oAIxc9Tzv1{g?VF&62*s!z3BJemx$>dD!J<0UlyHl;%${vALsZ!P2Nw}k#4D zi(|wwIyN?5JI0Q-pI3GYKAP0yxhCu2kj*|kGE(bcN6f{_+d_~kJ+ru@$I{pD3=NMA z4|iTvngxGFM%G)Vc5`QUPp=rOwUe%LC5rF(iJYst7DHRRxvR(GOtaf8SCl3pP?LW8 z?60)-H+3yWlev>74%swz(tlNn>MJ>uS8%oJni}JJ<1KTSrEg%+X0zL^)ihdE-*Bu>{tPnKRTI#+P9;(EQ_)NLJ^oSB<{Z>)jt zS!PK^O?g?Ry1~$485*0OUHIVFQ;oRC8#Kk0>Y7STqtV=FpO|^H`0?j6&3GUI1y$-M zaddd{{`}+Ld@X>@4@Zl%-byO_n+NObC+xYbC{QLLxR81GO4gG`m@w;!&-qBOBW!Bbr+H8)A zI}XDQ@$HZsPFDSm9^S;r8K~`$A9YQ38|yb@_I zAOyWPjHBL5INxyUy<0izy*w+4q~5!Y$E%hDj^9GfH=M^?81wj$E$FHdJiVU@FNNCVu+wBJL(nOMedDS-P0uPCeh1?k@kNbocn>(%s@^ zb0W6%u}=LfOLt@b@0GqTzpC{0c-h0Hs+SvU*B|qzWoo&#CZF@oGPI(#22a|a2xbLK zo343}g;m&6*Co%~Scb8e_i5htQUWz=lXk?^RV}?s}k1XLH_vr3G4AddcIwmu`Ul# z_^%ZSZtxKIx8($Pc#tp4$t@m8-;+hS#{(4q+gX#lJj8!3Cb-Q*z-KhU?fVG-PqTh2 Te9gOgABkA1De-ym|9AF(&TJjY literal 0 HcmV?d00001 diff --git a/icons/arrow_right.icns b/icons/arrow_right.icns new file mode 100644 index 0000000000000000000000000000000000000000..734ce47bf048d07f36777d6d1e1789880acdb0f2 GIT binary patch literal 4331 zcmds)YfzNu701te*&FP#fPhF^jkd9g25&L(k{E4BY*62GDGMOZkHq&XRlMn4Uou>ViWcu{Huc;GcS2o`|dA>c* z`Jc1rdCz};`|gS4Y%PHQ-%n&bw+TS@2SV-=23Bo?tAvFY$^m+a1k|%W08TuBfyR|Q z*zpJ~rl##Y*oYM1Vy)2>!$UVgRc(b%U!5ff=pqV$%EIDvW&D|CJah=bb8l($3(gc4 zhV#%)d;#)LWM-Yp$<-FT!h@Bl0kV^hr=+H5WM*YY$pG4jA3%ESoAC)p6O)ot(&Gbp zXc1(I`=bsXIvg7pf8=Ol!jn8$h(AEw>ydl+y`eb}6@4fs?#Ox`u8<&rs9nE~cy;%0 zBKPd$H2b5XU&PKYlO;fLTefX~X~)i8uSC4I8xy$*B@fM*K)<$b6K>@4^FXQOLhCdr6h>fza2}U&* zF$lYApnUQ1S#aa)YXE8qR%pSEQmF@)`WX(a4RXB+I7en*GJe4(oB>|2@1$@#fydzwf{QSGg{*_nx(7E%!z4Pwe%-Eo_xriOdFERDvR>SAr2g#_^RfBfvDyLc*yO@`83oSC}f;-??Ke|vVq@+m1RLN-8zY{u48Cjk_Q_@B^{8!Y%D;QcBk z%G3j|McYku^(06+es)i3R#aE-@tdVg9HmiB{BD*f{nwf9pV5T-`d@BwFNaCD z`Z>g|`{hpmZL^2sSYm2n{ePypFD;%_h!`t&6liU;nSnMSBqhZ+~C^uUoy6!`uV? tT`yV}3*Hp;-?e+w`a}J{v%Kp?P-*`|zS`!!9H=UTx2^w(s{dEg{{jkLAV2^B literal 0 HcmV?d00001 diff --git a/icons/boot_linux.icns b/icons/boot_linux.icns new file mode 100644 index 0000000000000000000000000000000000000000..609edf78ed8806cdd481573df0f9b1227039e0d8 GIT binary patch literal 27657 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 I|GNVJ1z|K<<^TWy literal 0 HcmV?d00001 diff --git a/icons/boot_win.icns b/icons/boot_win.icns new file mode 100644 index 0000000000000000000000000000000000000000..a1cc87db1c81f5c6771f10a71e5e6368e8c430b1 GIT binary patch literal 22376 zcmeH~%Wfh^6ov~L&*TmA9?2%lyhXClCZj0X6wTG(Ztj?yF<=ZB%*A$N##g|Af$rKx zqePl$CYmUbqDWap$||qm{0DoM$tqGd$Fmsvbe&6meg0Fb7hilMh4}2t7v7IQ65_+p z1^yn?KmW_Ct;tEfkPgLy9wSp5-2JIM_H{GkD@ZL|KDU2YnmsIqtJ1w)U;e5z=d$c? zNVl&%|5>?LM>`$q_BYo*DRI!3uJG`k66T3?73Oc1n4L*i$bO?l4?iLfe&o-jsJ>CI zwI4r5rgE*;-z#x}*S?jZwA)a``c8=|US>@t%7%267O#{rVCWdi<%CV?4z%qK%DAXq zca@l0QrsCzj1#EOa+>Pdw7DatZ*i!Q+@=QT4aMeZ0C`tbS!IhT4)di?1_>o%#j#-rnMOwUNsM}Tw0_pcHEtRhWw zPl`E=6}aUQb^lz77~(il7`jw@5SAKNOi=P1UN<8oz;g==40trpi53iL80s)2;E+d% zl@7xdLfq@HoM458%t6Y0f*7>bGFBAevWEo;%DN3hpR$HvX=24KvM%6p1&0Gyv|X&QXSB4#LONQMVvKk*s$m5G zeoAfyc8^{zowV{SUp5ln4AqYeT@n zx;s#AXOu`tVNtaKyzOPD*V#Q>$GmnaQnmr8yXH zEQ7F=X@svKfH6cx=e1NIC$(U%w@fN+U5yT(Hg|BUv{^f)?@LY34xOwLbNc>$<({__ z(35e79f>yL_GrRd&V>@ksL%wa{RFmb9VySOlPIoG6DgF0unqn0wC`&eOjnJV*Fd9E zvr&UyBJd(uQHc zTyfbnv8M1KiPK;i;&}%iG+6xa_ev8l4iDNZ4G92r%}HGYc-*4UM};Eh9iGH#Vf^H8?Tg{&dTF3(2=Lku>%q6mvp(`|lfp-EzkCG-OVn|ILId_|bOBZs@&6QW z`>*kq#_0S9sHlX27JG{sVL)H?AC=qgMIg-F{2fliex!}vAI^TEGc)V0OD$Brw10yp z+G+nD1eI)F|Dm?lS4Ra?$0Q3U_m6MZf1$?st(gDw8U3Kj|8jyqC_cma4CgbP&v1-y zKEwG8=QEtoaK4B0JsfuezK8QYobTbd#qm9y@8SQ+J>2`r*IxN zfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l2`~XBzyz286JP>N xfC(@GCcp%k025#WOn?b60Vco%m;e)C0!)AjFaajO1egF5U;<2l3HzHUX&%*0B~8mk7ujmas!Y5=bDxgM=)E zAXp0sh-_*BQ6Owd$U@jbM5!yH=&{w>Im67HP8Y59&3!L01(SB>oO$PP?z{i*cfWV< zec$`PN8%!r*#NBai;H#I1c1Xf46DX$)kUIgenyVCL{oz;FHK6wIbPSIRJPQW=CM*M zDzTSE{)rVzowBjIw6wZWsZ~~{h7^=xR)u@RPN`}Xk^-y3nx2}NgC)l?O3(+2_7a7d z@^MG;9(oBz`PJ1&w!c$|A#2u_q)E7-BNqc55-!54UcbHoLw;qCawRNM#t*p|>4yvn3rRn=^7m2< z0Tf@ZGzk<7F>q9xgk%NVpkk;3>oi#$;6s%!i$elD0&mLx!+)3$tS;ONT%hVK-b&eaIAGVBTvK+( zLQn7>)ZfkXq2Uw)*s(_ z*V)6<<4-?6`{Bv=-@U$^q=4aKAe<|P>pKct`1e99!iu0?1b5Wbim?KKUJ=frR|}s%94B_4q5ufh3VgrB6E3d$+RhE@Cbn1r2#)b^t zjg?j1uxigr%T;4jV@6F^m!=<{s81@IVbz|?Dbh}8TP5eMTD6ySpX9f}s+DB4j4s zJ{;UGtpOKd(T+=MkXlVdC@fmvJ!h&VRixSaQQGbmu<)4rl%80vyvgnEh;Hei20!h5BTkc{Re6Ofk7dm;q=48IY(Lq zJv=l7hY#-G=j*e7^Pl1Fu5@zq_3_y|Plkm@MEVQoRvwOuj0g{#XZQN}y8TIrtpqN+ zeSG~69KutE(IcZ60g&{MVMImJ2^3DjcejfZPCC2$!<2^uj^JQ4BQ_9{0dcX6XdFEf zaQNW<0Cy)?8Y|Yj?I$t@hlWQ)$Hc}53FlS>CdS9cL`Q^&1_$~dI&i>kT|Tw~IC}&g zq~ZA@q8L$841$YcFk%@|5qL&gh=(%}V-Blb{Q?dL28D)4M#qMrGw?~DaR`o&jgAZt z4GIi8;JR9ZIRNL)VSz`2!{||rxKP=gLuf)ABZ?jt92~yc8M=Y}x=mh@M?&!V#D~k~ z?86h|@!5nhyf&>X!0cAJY>y4W(339lrx zQn_iobWSQWIVm|ImcdBycHK~f{bqyf7Dg-_oy=sX@iMc~>`Y!7o0*&tlNjUavY{CJ z^?E1wBPj{-NlZ4Emm$a!Wbn9bW@0ik(A{bMG0cALrp;b-7CR-Clg2|c?09J$7KcsW z;^DmZIJO$R>E_`@OX8%b^LTtdkH<|sv}KF?o6xOZ25)WI{=UbqeSvg(px*}`TX$?( z2Tf}^Shvw*$Ijh<`OEHIJ3Ke8gT7@8oHnj~g>Dm;PImevv=;yK6v=$gIj~@acE#;t?KDVv$rHSt!~Xe zx^3v3ga)Q;p8EWj;yUH_7gyW5p@Dr{e{N>F@^CoV}Yk|v%*=Xnm# zkjZODi*fhLZl92jfzRLr|Cw|QxvY^8?!^<0%SOQ%RL5ka$W>VmbT2ZR*;+6}8h8v- zd^sQ+LPj+xDuVvc$tfJ98t*@Oa=%YLh)m}42%qAVDf$tkUT-YyM~2R3pzw{$;5N$) zWW8P|(#s8GbtVJ%uEexnsUB#>Pk~ylM}`F{gcl{}$h1Hu#z;N70xdF<$0pPiu~b9q z?G|IyZoN*c?G2!uZn9jc4*k{mb^#lFduKL_^vN#3jK#Dl8%}xnHjaF~y>u-l($JoWu zkpcC&hT7^%2{jUv1B1g#lY6yjx;ok~v^1T?@$&M@OdNLv z$?Tf)@`{tS4QHELTJij!LiakWQFV7JTM77NMR{FnB6KejgN2qmRMpfIWEY%B6LgwJ zy;h^@BG~$xs`3-85a>w^W^qMDb=~Pkn6gXNtM5Ap$)^53eJ_DFp02B|I?7}~5@n`+ zT2<5VDV#128VAlp^4!p%kw7mrf7(!Uj++8&V?_k3rnc@(Q%hTC599`iTcLZkjE>-B zPiI?8)0u`kRuXhCT1xtb`m^}*H9DigU~I#=exq^FsMB;SVaCq%WEylYPU^{)Mwm^d zH4Jp1521TKbWn~A7_=&wt?d+x1KkTvWOtrF-`=Ix8Hc){dv%Qs8FlKe_VyljA`0Cr zDTSwPg%{EfjHsY{sVeO2jejweY0W zjGn94rmo(+efQq|`*&~OyngeBiqA<7hXzKYrEoIq$8OxYdv|vB-o4qI;|-Zy7L5iC z3}tY6>1ncxW|gYBLYBtkr_s?$jJhp}#pY+C@YOBIV6&38K?9>PXyGhYIBfob#cobY zfS=IOb4)5hPu zy26h73s)gi>|S2;j#o@++wjd>BgzvA+u!}&DtjvY^t5!45Sx{2-eYP02EQ)nk2yWp z<;|CEEzXKWv43>~`@sUb(0;*t=k;Y&^JS1I%YIFpT%Z=WQ-N!in+?G6?5B&dpU$7= znGZnhU$1%o6SDN|dBblV;8*pcgKYgu&r)V-Py4Fvl3haV%a#H!_9|amyaW<8_Gc$! z8u>igdeH?)F5kVF@WuZ3?u&S`=EbmiU;ERFNqfx0=8DgMZW`sXdDL9FvTy;Cw|UT# zvUC0dOY5S68vB~5MO|A%5QjqWw^r!D2Oq@5*ra*?H&CGDt*XIqL{(zwL_khWWj zS<-fx3drt}rJ%X?rM>Bir?#5MEGccK`T^unOHp$zY~hJq_Jw)STzUACX*%!@v&^IB zN-D9N#2EYk;R%?TUoAd>eB_yVzNN~upoQ7v1FXxJM$LOC;BOI&4u?K-WU*p&SOnvz zum0i^?!X^|UN~MGTAXj``LH<-z_QvOmr@J8AM2LAklWO?iMCisj~SL;>i7_3x%lga zqzmo8B+GxgPiB{)yu!coWC6vnCsUcL7F^SeH3<}J$FNiS8;>8~G}O`^t^W&6jDf!! T+1T3JSW$mrB0qDr|6l$$cf3xC literal 0 HcmV?d00001 diff --git a/icons/func_reset.icns b/icons/func_reset.icns new file mode 100644 index 0000000000000000000000000000000000000000..a674542a9a4aacca43853890a259837da97f7787 GIT binary patch literal 6888 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 literal 0 HcmV?d00001 diff --git a/icons/func_shutdown.icns b/icons/func_shutdown.icns new file mode 100644 index 0000000000000000000000000000000000000000..7aeb3d5ca2eaf578925f4b6692969013908a433c GIT binary patch literal 7068 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 literal 0 HcmV?d00001 diff --git a/icons/os_centos.icns b/icons/os_centos.icns new file mode 100644 index 0000000000000000000000000000000000000000..096d632480d88cef0b8c75824135a0ecce6e7c21 GIT binary patch literal 43957 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 literal 0 HcmV?d00001 diff --git a/icons/os_ecomstation.icns b/icons/os_ecomstation.icns new file mode 100644 index 0000000000000000000000000000000000000000..9b1b1211c3a7448cd5948b527270679dfc799ace GIT binary patch literal 37229 zcmeIb1z42Z_6NMD>F(~1p+UMsN?{Zc1Pi-6nW1A)LQxcJ#O`jf6~)Flb{zHCeXOJN zt-aqtLa@%g_j|tY`Okf>%)Ia3t9HC=t>4=38PI#^D1^#}3>fX=j8Lak1RrsW|1CrE z8zM|J)O4&ZJ-nyto3DI^XvdVYnAr>#N6Wku>h%!O_|gJ)7E8bsFc=D!DTD4I+I6`c zDL#kBX7gDzCce%#&mVCc(bBbYWce~O($Z2K4x7zlF`0Y@ovz?>9Wf&2*m~tCDk&() z%gf0^6WoGoz@W3akr$9u+VO&LuA!Q$YL*)OqoS;=q^Qu?7KmY53_8oc{0x#U8|P)H zqN=8@p{b=M&^FN0($v&YS5sAy^Z??7HngX+1D>5g3dOx`Rg_iLHMMkf_4Ex4_=egB z2KsusI@(&A>S`*=N|+HP5@y4s(-p_q96?IFxeiK7Dr%bAy84DjCZ?ul0&{&cQ&STo zLjyfsZA}d|Rb`M-7HcD6$fwgRSqG7_W;Y#qB^7lo9eqP%Q*%ozYnv=v0~>2AOA9ko zV?%viZ7mHo5SL<0v|})!uR`HIq#78fE~f~6bq$P6Ev#(p92}jT1kMIdPFx3jTN^72 zGZRceQynu0TLN#&Iv_T~Eps%(b_%GB+{O*KI~cA_`DZy15N$_U<4pBd4UQp<`fTVdLQJ=H=rb7#tcFE{HG- z4+{+r^!MrD;pXgUXKi6>WT2~!ZPH97217unN#}1tK`*p8GV)4lS|E*;y_1`lZ$NNZ zWXG7;xVZSZxY(GEk>R01{=Q!BE+CVonX!RHBr>RykpWVyK^sv}ZH6pGOW)YS#?i&o zCmV&C*U|JerYk4_poUxUF7^CBQ6cX2g z4aAhywDnCaZMkk8{DUK+;}W_gC8wnJNbAufwR>_BFCjiADlFLFhmZq3^>wuH&^1mQ zOfHL#I<7^!i;Y-BG)&FT$-^fwEDDGvr>6Dn-G|@Tx=-(3={>q9@jAzK3=atadR%*J z3ll>;N>6sSi zW1}s@=reM}@L@v+_0Q;))}5m1*TLP{!NwA+-AYWXHjQ&(Inv71XR@Va6;(8KjV(ZL zpc$9gCDcKaEnwJ7>kJ(~ZtUoh!-ov)*BcX!jS36&1>Nne%*i;nk~13?(Z;1n-Nuu_ zl9EwS*3dCDx8b_`1VwiAFqGmmT;z=$bMi-^vMG}%O&B+N9-ceqS9%awM&q8Dr}6{qS^+g){bu8fgT1N*!~RtUm0X0yJ~?TbIPRgV@3`gn9(b> zTVhTsG8oF^ z(xxF>+O(45g1qd^N#jNh9f-B<6dfK!4K+3&Y;$v9`==(pBJ7tWPUeag2Z$=KutDs9#WXgkjSPk#b8)# zlp}}w(&;5YOE6`^=wX90dZu&*!Gis~oNdhvVN&Cr0i=?aYJ8+odeUsGk-WAVNG2t# zprXiRDCEyTx^iVessKoVSc5Wp#P~XzYAZ=ISu)zn>^yoFO+e3LU`ZI~=OVdMI!FSG zO@_fR+%pqt%FZBi@F!-(xSJ?(RCUc=lV=;mYVi^BE&_wl=yU-sm(HNk3|3YlxlB#W zTt*%ysC)h_q_AXK@#GX=V;Lnqr@`vcyaI#j1&M{FlBZXlG#FMu-MWvEC#Db z6_VQOr6FU?o$lm64WYdizyU#9CNx#Zn1y7om|;svvlvo2+p7?xZ0F^T6$t6(vx=Bm z&@zigvy`etGRIjU28YGqEO@gS(Jsjsu?on2K8>MZvwF)6B;|#fLaXuH5YjJU<$?FX zrqfletf%oR5Jwfbuo#S_t%&aEqnFFhXXP?;84M*W>-=&gb(;>i84NCOEt2wIe`!E~ zrJ=I4ke$QIVdlVtT-nNIe;MMqLn{VDvuXw6NSRN8HcFfvb^-i9o0U!4X;|5hpN?n| zssaX0TDt~G1-|O*X`sPjv2xgDoGkEvvawG@r|VmFumfwvfQBIp5ZhRBsHc%86UeZ$ zI3-e99PBD#_lZeonOhBFfbbH<{;Lgb+M*;GFeP$0FASxilnoo1ROqF0KOHW z4Ju`pAetfcK=WrJc4qFp01FLJH=8A33pfHPfpn3KK$;J}S7R@D<{Mc>3laN{5}m=& z@h?Lx$8Avt8Y}@L7Z?fHeCP%aoJ^6dK!z_(lOlcjz%dJJBX4DsUyM+#fPn^R0%Lqafi6K~hWtLJHGsH=mwj43xc z%h(si(!$)J$!sb_j6zr-0+dZiW;K%3kjP0WDl21x>KYoFntZJ+ZN9{#2Fi_u@iT#V zQWRa|&p`JLSeBxj$G~*;*ldaZSW-$*;-zb9X>02UboqLGT}>Tuy0wVA-jXyn1Ox0a zx(G3>;TtB5M=OiTXBjjRhOq*|SX}J=YlAZ9d8Y+F0n8w40H}lp#_uG~yd)ndliC8-dRcrRgSfhl_d^2AY#$S-hQi?fk9K$5+a5lp^WE8 zE(6PL(t<#T~aX@2kW@2Ojv`IYDK z%;qeXWFRS-31tY$aByX2ZfRv>3$czPm+yp}`A!C0M+bX58*58*Dqy1GCE`7?SaimO zX^2rHkvmT!w;52!3xya269;?f85rRJ%o>MLTxS z4xN!*iWvD{iRTb|hhw?PK*H3`0<7L+lsfph-rG&RJ207{x3+2l3Luw2hk!-ki3DtsigX#(?gbA9ImmQfNp>a8O`? zpAS%m5Xu(9I&gwDuxletSG6fej8UphWMQSUG>OQ>(n=(-)-`tPICB3^uM%W1J}N3Q z;%j*4>ICjT<#MSgNzqJJ&Omfsyacg~*&w4Dk&zlV1w~~IORug=Y78on{&F1JMR$yh z2n`PK^Y*~e7=%wCmoiJLuh~pQk8rlfyF@M_qd<{?AyPN?AN=aCDx_lbBFmz$0ea#x1_GTgidkMkzqk3 zE&`WUha=Z(!ED5sBrITJ`7vWYlf~Ay?=Ie0gEV`l^+-)gPU->?AM}FA$I0GYk>$q8 zMfCe4?!v6PFBIxg9kUor8H0csjw_J*1c>W;rllq)C3cF5429UnNsDQel!qAIyj{4^ ziB}=?raG}0vPMC7z1ASrMFR%(%jnZ9Eu|X|I)!)}u+5+5Bj%217ekX$MBgdwfqP`p znbO97cMCQkm8V084jwchqj!30H(q>*F~{W2%6!CH+0Vs_?p2CdxntuIDWJdvxT z42`B(4?fy?;Zz1fwD?-YS)Q5Ut)dgETY{uAi(DO`1u}z4I8!LJ<|AZYi&*9ADjudT z(-3p)UgM zNeCI9LM*)^FK1mw4%|>SoQXL8y@kaFun6lB>shFal`I|KK>@SCmzyFSN=Lloh}}2Q z#X*fu&xJd*#j_AcJ4z_@L%Nwq5huTgD_0jD+xQ+bu0re~eT4a1^q@nCong||)k&W% zpzeWt&(5^X7LH^)A3*GFYhzp-b=g^P4=kvaIR~*DoQ1+9>4SR_XGr`YZxHCC&gN)^sQRbv%WcTK?=&U8|rDl9HtjpWj<`m7uj?djrVrK`v+ zrsrX~SbY~Fwyvsnrf}L2h$ycdy-^=>X)(V~yuYi9vz@87B8$(!O@UQ}2yv99w5AA4 zRBRR?+E6!v3&+{f##CQJft}3|l14O*n~M?XtU6XGte=lKY1$g9O7haI!p8e-J8DdTb<}*sEo3fWyAz3pk8jWrRB9)xo zScy=24x@~o4=ia?E^CndF*CT!^2vnTyJ}WKuw)=$R8aSs3)Ugp7*9TpL6-`c%oj4M z-nylgBATAU40-`3z}meLNvDCQ0Xa?Q!Nq(bv+DAMtu`eH*;G(1WG_N|wN8Og1AkI0 za;!ioRWfHkqnB-(=vX$)$;HZ(%AjEuqAByXBHD8U0W@SXv;#A8a)ffz%c|xrTrjt? zY??5eGmTz|+v#R*NA%iQwg7e#HcQ{LbN|Uj1wwjprkRj5pwoO6cOjaGRu*jKOs0yy zg&p6CX>Vzu$|4kLOG6J{Z; zfL;a{=yGwrk0Qpo{#>aV{8PT;-}Q(-gr~89mV;LOyg z^>t9^Oot0hrkdB$`s+ydjm9`nQ#}JUX(<{*QD58MB`{bMCb+zTSMJG22=VeE8t8Y$ zzj-cvX^XtL7%f9`oZeoJxNBn1n)m_F5&eU;t^izE4!E%TcK)Lr9wFK$vutAp@D0H^ zB+jR4K+al7kZW7#SSW*EXG-~X*m2bJU47>^qFwOHwo|vYwIR7+Xn=Fc;F@Whb_==& zF^_yvPp2$rEy(pcg8L(JuuLVsp>Aa61tgtmd2D>wAWsiZPrjF)r>6&`bX{Gby}g~S zwUvcAaKzbZ9o^7|Gsr<@d+#83$ldz*`uRipmiP~lz4e4NurqXlbTW3}NDpn@Zc+6} zepZ~Dn`Z}K|G=P-(6BImxN%rmD0l|}{=V2d08XSA=0ki+ZL`^#N04IX^#m7Jj}E>8 zL80N1QPDBkvBvP|j*1{jUSCKTQ)y=q5c1zf2Ku@>TE3x>CodQJa9usT{Q^V7qhjJZ zB_#5)x|s6tQ#%f_x?v$f0k|{eOo1y1z9x2LwM|y;Lw<)RyF0o--=MI_nD_)18psP)=s2u=u5K5fuWJHok?o7-+)0whGq@3 z!VlbjeS4*+CU;Hj6x$I}${-2Yf%u)^)nZk^45lo|lWU|~+i~5z{DLEJem1Rl#=s%N zM~)slPB7kvBtM4^rk>qh60kVI0iY5X6dcS(n*bsG6B8RLD$@90nQG^c3v9K$^RSWQ{6n4p@(3 zo~N1-a*%>fNb1pNz|c|SC-Zaii-gmrmzI^4;&fd>E|r=bjGc}qg5TOqbHG{@ZxBcb z`UXYBCMKt63>q^Ef8gsIsDC1o>a h2YyQH83+7kPnKiR)T2WrsR4V70j?>)H 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
?Z`N=RZj z_C8Nl#4OyApOY@)#H8-JFC+*5-n7L$D2^je&&e+=

4N_le=ffJNS_0`2^~Y=t;A zntMY=4*G7($o1?P3YeGADL~%D@FJ2Jf!3*VwQ{mEr2M$V(+YCX!wJlBTLR$$}FwS47qT7crER*L9CoEsOY z&LOd{CJ2~1dX7N}JVGcESwr*t*(C8kHkqp=Xaa6Run0g8%m}8=9GB2Uu7Du8lZp4U z0D|n4d^(Sl80PnbjMVwOHG4uufHA>olx zQIX*x{%+Q*hY6YVA*RlOQSqDvWKWDv0~c&ugeq1uD#SBJNNPWJSZm`E5Ec=|jb=ne zgtFbO=82dz6D#k~Xih8^F^(85Cy6m=fhvj?8OC<15|Uc^%eK1s0|`Hh0W5wl<`aQr z{3e%xut-i6T0o4Ek;1XaN)>5sdKAKrj2XLkT8**jjtv zkZ?`}vJ#G!l4u-078}o2g=z+~-E4&XKt+aCY4-yB{0{z^!=>vQo1PJ5?quInb35mu7dSh9D zroX3s0HB@L+Isl0#Q`+7ueEmXz62SVV_8z`mf8;I%D4KweN5*O&O;49?8~}ee$JEx%OX{QP* zxO(w?kTJj}h)H4sTCMifbaUML6ujQX*fVQ_PX%vrnD&XMPY zYyde)ND`B<$t<;lrv0`J-43%>ncJ{L4s@2ijm5gjaR1+%w{EK)i|2r`CKHng5=|i{ zBR#b}&CX`)`t20O%oUrh?1c6VJ6mfD(>a5{W#S^!tu}Uid!z^0DL9G16B(6S^Q<&2 zH?K*ioQ#%ku-HaeF}7J+Y+AQ?I5-V5SYm3vO<;|T06ZC-D5BYU+c=iOtu%`*W-Gvt z@twhxLY|E4D&4;O;^ny2@l*mvzBi#w-juH1<}nXoPy?OZ)I3mm~Yv#c@u9V z&rH*F&5}flciPo)Msv^JQoU$b(F{tz*fK6&mcGjj{URy1Eo^>r#S1ue?h!rZ)h z(?&DX^=sFxTFF_#U#_`y(d?%S#&GW9WxVB#Wy_W4lEOrnjgdl2J=Gc?(-*&9x+JDWDJ^O zvUKf+jrbsp+~ktClaGuRmrOhlzPSEGDtGX>un0eZ%?7*P0R=&|C_P zbcw0RM7~~o-P+YFmoA(+dN7ZPl1d?KPK3zArNmMIgGKNl>F@M>rHNv%MrjSBTLq^ioj8!X_Et)%NFwR8DDiZs7xQMAW zc%s3a#miT&60Sx@!fD+|J;@6C@@0$X&l)9UqUtgdEfPY&3Hr0$6x7B3Mkg?0+3hvteF(-zL3Z8%KKL>?*Au{ep z>Z9qzeA>LZvkXVcn3&PU5)%833tQNrq3@2HG|j-+WX`;K()nn*NFOE?{zbF!IhwO) z8cs-KY7UF2yC%4aeu0PUF>!Om$=qdwhYTD3-k9-|rs^5am}xRwHV4fDm+61F8VP36 zW*Qsl4uvTlG-TMjBS($qkI@`GQvWhR(!Lw=&ikYAF+;|V8$V&<_=%GQlQk!eADu+Gj~F$6qG0miDO09S)t#m{-N4Xj z#tenAcseowc0=mOGol$9=uL)&%@{s%EO6*@r*ZUX({!hdkE9-;cgIeeI&B)RN7L7z zKHY$0m~MoC6B&ZPk-|W8y55vgBBu7B5u?UUnyRa(hwE$VO`RA;Jv#4=n=(z0(C1E9 z8X%)?_;gKu-AS+_7{f-6pA7vG0$7&<)4qFe{FG?|{mSXx$Qck=Uw0y;2F8$)(4aqE z1WeN=cZYp{!c_g~^#*7Lt8#zIDdc7emO%fSXFulnmAWe=KJ4Mex`Vz|c847k(+I!=t>i2~b zk#Zv{61BYz8aZ*AfuYn$(@=lPQ$o0|H-hcLSk?_1LNIBAM@`Z*fJ?w6K&QSL1(-S` zWDKa8(it=(uv4)HkDjb=Xe4=RP{J%KTezok4KF$JW0=}J1*2=CSs}+22&wr(}s%4)nJBk^-N@vL87@-Z(&^U3^9iRD(u)XDQCfSCce24`Y3f5;)}=`f*2 zGizp{c~BwG5znGS1ieX6bt5Q;8LeZe_>}V;C}|g%Q0yCMFJ8Xt7OA-sw%{!4 zYT3$r@a!zh4m1OM%*jb=51N7f2=A1F z=40ot-@SkT?)CG>nhR3Ah4!Es*lW7s4ObPPYF=%?-3WWo3|N|OiuT(%cQtRfE8K7v zXa+2efU@g_A8A}K3&2^R88~P}?YX)0md4FJQMdzW296r;svBh=YTQt{QVB=U44g3E+L~)vtuNsOnt`K+ljuy{6^%0@C)^P<11BtaZ{sCwZ!qoznt?Nx zbf)Pdb|#5%ZlJEXXPVDpXSjqj=mjpA==8p`*l7{r0(yZ9Qgoa~3c>~S0#}sRc@pIj zu9YNm6S!h-MU}@n$MB<^W5jW+2rS4AGy_-6UA60|){!HJ4;}0}(8=Ae)p?-n;Gx4u zjtGuo&~sNntvGOPz-KR!MNjYC`Em6 zT-Sm9?JaxiDpbY!*_6zXQ&3!1S-)prJH+Q5L@5As2mQbu3vMgxns8u$Tl4P9(mZ)? zb@Sm%x6kY=&%yDuywa+M=Jx#uxLsIVFyUT8A`jdh^Qu*KGWU11?X52_RP5+{2nxdE zQ*mMZ^rBt6o7?v9=X7GVUbs8*01d$d<*7Qf+aY*GVOsG$&=7tUII=m4;>w1WwsuYj z%#Q~=)({qPRIOV3n)g(fX6AkfD#G_ZEXN>zma=wF%RWvk;!puWNASSHnw0yrTJ|TNL$FG8LP$OXJgbR192D3Mc|!#7-lrQ;N@*jZUyUtb-7dm(QS6ugjJSxc{}RA%D; z2ZF-4r)!!HoxgUd)I-S9vG-2RR#ny1*2)Pl*d3^dL6ypCT4h;2-T@i$Vyc^sldG$v z%~mT3OUE`;SfH+~uC5HCLc@Fk9;GQO=@shYG~##A6@JRv<`x*0kdzc38Q@}NF9HUa z#PpK#ipt6~$_I8dAKV)YEm!WMmG8{u9|vXOiYurje5oQMLm}bE2e7Qc%O(iVQ z<_~@-PNk%k7G|V$2}x$XbqJU8DlJuVx*ZjqAc}CCA2+k8l%qs(l%tHq{3%bdYA3BY zUl#jcP#eCn@Jy8D7M0*T86}0el6ZGJfUXU#~+1p2na|$`dSOLZ12Ts&6vaC=O5GhcR6gtL;vJ1q8 zngveyu!T|{!gda*N%cf25nPRY{;Zcqh-Zx2-&dY)^_#u#1 z5F3udvJ6_fToCot!+*P2kuJ`lDI}@Ec9e%-l1RbJKte#W!NVVpk}?G?P0Eifg0l6; zEq+NtxmZC@lM3RzsM}|~m7Oe-^Atz|P=Cq=_rv^UWpbKK%nb)07`JZ%E|m%8beRNC z3bKc#ve`N~MJVOTF&UtNghYXaKMGRIXi`yXSRv)K$tPYQkqTs5QmI6YZx44BvFN6b z;i)1iUxtDJ9SA>RD6g;riAYQn;oC!YP=02fF30bIP@bqAtoZ&-^hxg7ex{5Kd9L#LY}HkIfVE)+u8G2s2s|=?|gw_!#W3cbW#eDiXwW!!(`jF zpqrt-&NlXZ78da<{Omst(ptO1!pSc*DpnK+?QCjRg)lT>3_Us`#K*x_%tDz^27C>B zkHzveTb+G_BcjDI0QjS;a10Sf(;^_MwSs2&aXG_`6yu zSQ-UKKM~wVzroY?gt-6C^}Uf>%+{}2wsf`GR(n@(c2H=TG#rJ3PY{fQ@(mJ%(t_C@ zHqbR~i#5v^Em*vC*)q;@+Oj3{*L+MpHIrt{Tf7WZv7u04t~K3cVeR1R>B|lZmWMv| zhd9CF0DdqnD8Sp%LJWJ^irGt6n{G1Sx|M55+qz}Law;eOXt;R&maSWPmP58#+1T1U zy10A!`UeCCrGYOBh8Q7m4CDpD`gXH|$=5NTw|JeowY{S=2%t06VrnpFcYwP!WUz!8rtigegEP_Hr;6v6yDFmT$CnboKD^_U8G}ygi(@W>Vdl zZ)Wf2ZO?%0bP4;d+erz`WG)A|>qAgC|{`CQn6=0g>RIeP(VaaWn zyWYml$Db_(sGo-oJjnDPyP($hGOAl{)>|PXZ<|jE=8`@_M!>ESD5a3D z+qMDH6hinsMY=zo0?NRyg_{IBUdU6Vr4=AoE#2zk!=_>aNj?nd`yONnAjAJaS_0B+ zsl^{iA6LsZKz_P}GC<65Kt@Zc0$w^kbYsgrJHX+Z6Jz<4LTGW zAPrh?fn90QMn`Wp1@v~@`a1yk!wUt!fSN!Q3LAfuaAebt;H$OJn%KvZocelc;KPd zqhiBa-(&^*ht(QWOM7QGjtAY%+1@hz9$>#+wUOo79T}=gc(|Y+uG=<9Sc5mMHnXs{ zr4;=w)sI0Rk*>6K@$rYCAyBGDi(x2!p7t9p#Vn?CWQ3Q^2FtjTqu)qK#=S*m_VD%v zfYDF`QxW|kqN$Lj5q$Rd9)%=k)wVx^LH!@|G?>E{Gn|Em{RARM<&w<~p4~BGpfV4q z+I`$?H*6NL&^2g2y=a3iJRLw04t07QJk@l6Zx^d|TVd;ff}io}>a|ub-q4N(#=*}7 z=q!Wn=jCj<&Ya6a+p|fn4>qi^q;4M7Nl-}=U`7Gq>14UqjKf0yppxucy2jEG@)yJi zO#qc7K1dwEWczwLZCk(2mc_aSD#_0oi`H)g48;=^4=PEFgw6Ex@o=)X6gXspdP3D$1Eaz@q zEgK6=fZZ`ZK*rVqoVTaDtFt4EW3R({!rE;sVb3Lo4Ve2?1x|ECF20L~;=qAY#ZGKop zGUz6W!OebHa3bg?2_cQXSV#isCW)bSzF24?=q5>#{uRC&{*g%+NX?Y^P+z5wrf+C` z3MePrW5fLmeKh^UW4D8Hk{lZrkmaKp5Eh#Z%1L(}6dD`|RTH%V1&2n&BqXOk(@UP6 zWnBT~*p!iAi zhp#@qLRv53Jj)7ou?4w;@zWc=&pFg;N@6%82-nn!4lTYv8 zfAIMiUkJX$J^}zbrY6x*{0O>H{>7-zKf8bL?(Gk+UAcJS{P_zPuUz}^qr3O+fA%^5 z3v>e@M`4kI3Ue5pSARb4vj?Bvy>;#4sU!RM?P;j5Z)j@mJbL=l_1kyvJ@}0GIXW*m z4A@c<9l;M{C+?ShHsSuKcRsvw`e1W))A92+?tOI!K8Yz;*0dZtbM@xkPakkU!|tEJ z52GU>sT{@+VTbRi9x(5JdiUm)ll$vhuRa1v<;h)j&d&PIQ&(?6r#KI=JAgxni%E0{ zKZvfW?rY!sYTGoIB_|G#`M>c>v#!9k{Lh zn11`lg|5m6pru^mtC^Xy>O&Vly#4XVx1k*!0PB9d1D#WTM8EyvrNgzL!(czv2-G^# z^!j60Zr=XrqjS)_A4vA&?O5kc+Iwz_n*7=;mw<80oD#%Ob6bEb>2{Z zNV|6NaP?J4sdw{Z1EXSNBg3Q9C2Ad!tnTQgYaf1iqZ9BQuy?iLtq}eO{rZ*DEtQW! zX8EbhOBk1`6sdKT$;Itwu3o=!<1Ap?U}J2<_o4l&YqYE94^`a)mF3e| zkdLaHTHD)O_f+i=#bt`rbg`uN$c3w%YcR}xs10`BeRvBxt^9y~_429K5~#G_`LB0; zR^`5f$4{L;ed<_O^RA5e9YQs|II*<-^kvQm@I}pgW#tvx4C!XO6X3XQo0Y<1-tNUATPZ%HngtuQ+h}0_PIy1cw$VRa%L?=s4wgqP6J%KxBF3 z!%?;#KX(DY#JF(wSW8Jt5uv8%C6%_HqP&g+x)rLX7Q6}Ddroyh^X$<*1)#B94NR{) zcQ(OFpy4hoK{{rG9|S=#Aitvd;D z2$$7#o#dWHhXB|Nx*?F9M8l3=O z6F4;DyHRu5N!p1ct;!B4{eSTiS9TmdAwEe5i;7o9sA*9|dHYe`Nz@F`Mi5zcqmHr@ zwBv_cc6K}X%Bnh!9v638N`*iX0{A1m6R3mO4drqZQI8Ik9j6^T)Lhby_mfw5962UF zPCMGwR44^JTePeFFz+}z0LUgN#T$t_)KzwrcBHGRsGaJPpRBU&&=K)b+M)KE%yepE z{UjBwhj>R(7eE`qrJkro2g?rA4s|x}02lf%zLJW4UE;&^gPl!EybxUS1JkNn5AqJ9 zg8;1ums+AmeUR4GvAY0jY{oA>;_~LsF5yA?f&I;unb0kIYIs&n>jC~jq6V-e)>wmA zqgr(r?Lb?7-cuKmx_SQrL6`P{1DzesH3ftUyaE#n>e~+RyHG7&jny>5kD%Q|HL5S@ z6z!+Ax76fxdwSu@#2eV# zB~7AcB>CaRwR`soS|LmYs)jIC#4c2?Xc^v2MNyaJrHlDoo`5K*<<)D}R;$m$Z-|FA zruuDJQB~oiCoI;6wbxpl+H-s%iYWP}2h04TrjN0m5JF|E) zp&H!<1*KW2*5WvX@UoSawW2yyCR9OOl~9SQgw>3yN_9~>H%p{OHvn2ksI?52& zbtSX{LWuw^QlbiB6}?hjoX*J=tEoBxJ;K#Gau2r%er8cwMWv_;Rfv=jS1Bw-Wkdyi zS6Oie2ksSC{xuBlFl=sFKKA}`L{^cie3!TadQpm=;&-A_yqvC9m1Oe?nHp>O7OL+j z7rE-e1xa4^J`t(XoTAb)wWJ)C3U@wr5tSg7pp35CnJd~}CRb~g9=!F9;9K+<9=#{T zx9@&-sY1+&3wO75Wk+rorsoxvs#KCPqyo2YMo}@^$yd@#OA6$P*%Gz3BHG8^(%R16 zp2MQq+n76iMJ?Z%tF~BEmJtpPj?SRB1VtopM2hT!;*wIC677T--Lb?){1RGmK?XNj ztkzZrZM1ds3kr+i!DoM=eyrV8x>#=Q9TLHf8Xg@T6Pu8f!Xu=LEcp7hxL95yF6s`V zf*{2-(A?wlMe0FvD;uw{_*6diIVML;6Y`S+AV)BMp|n#%#1jveNM&h?jI7+e0(hsO zD25=^{VYo>r0vK{=O&8OOrEI&e2XehOV7;YJr$gxCyZY#0w@WZo5jhd=j7(*v z6c?g0YLTUNYwHP+Vwpu-9748>6j?dBdHj4@Zk8mzfpWGC;lU@ccs{p4xr171s64HJ zmX|?96vFEAunF2O&d31=t%3shdRCgyNcn7oR|9$Zbp^0GNwh--YJ5%_Cq}5&PTk}k zFM@D+1lWL~8*LfPPtVP(%||=nJ{HOHfLofB0@=&nE{vC!l`8^ErkLst{TIt%o+76% z4;2A)Ck2HD*n;SrJ>$ihx#B*MI{~SZfxMp~j204VMm7levZsQ7hA8fjpxm_Vx?ET& zB+8TK(6SYHL>lDx6w6?)JWB$GbYV;nQl3?tgYsaP+ab*cO`jj01;|kAP_8^v0xty= zcvKT~^yh6s99d>*m8lZRJ9gi%%CKJn2!aklyLFIx7m?^rYPohYXAiVU{0q0Sli*uqBAu>~6G`k30G#d`BakVo)3Je8s+vXjQ%hIY9C=aTsVo4fJCQJ@Yg_W?ANWF!A%PHhnkUI%nC~t$*Scj z3u?ncG4(EkAL|V{ZCIYSYfyAjDhJf}r05{&w;~WAZ9HRm5(-@i zqi{9W_#5ad2ex=drr@F~F(xU1az0ZeW{BX)4|PrzsL_`>q}DAn=a59c5D+L6%KJiz zNW>80oVWl-8SFRJfcVDBJ|K>R3#&w!q!4~##|7gGaGGvB9piRyo$i&h49m-KqSHk3HY3(NIw?4 zSgrm#oz(fQVuQVJL=uNDsKPN(!44A3!9{{Wd|qlId{J#3Q`-DkPBI@Kb1-*iM<%B7 z_*DW7&w<}&>0%1SNsbBjw6jTU{67gf=$CW88|^%UW0K)(@oE7|hmE#CEang8aXHEH z5o~umbC0_Fk3gmw`sDlLf{k13+}RQE`8StW&Bw$Auv6p_V%}sf^@=7YEWp#r#(bk? zkWe1uvcb&U#?g}<7L&LgJ}$53VMHEm%DDmwcRaiidipBH+YMA0dzPcKo0oqur9z~n zLJflna$$qb=1DnBcy*MN5C^Y*LV`Gf%%G64i0HV4r0prGwH%C>4Qfp$N1mz$@0XGi z6XN4Iv08EQ35iL`+f(XOF-|7vH5nX5DwdMM+0IGkY=@HuuxEf~laYEZ1xw8U%_fs` zW;cPb6XdtOimeTby(xQ6ov54XTY|`=LZ^y8=|3OkP(4#>)iN z1~Ozvyhf5V3sjp-ye$sHGeNaUOKFb9Qqn-Rk)<@oU@0EL zJ~lcsGCDRsF*#Krk}004HPMShf)HA*P5qCV|NZ&j47}D1XdBxkDqD|TzVq;xUmo7M ze5_TOXk+}AmXc9$-JQoh>$vyv@twM0qt_b7YlBDnReaH#^5yd{D*Q&icGy>Q(6Zb6 z+slM6TYlSXr}b(PUk5cm|J#?T`m=nSKmT=N|2=kPdw*2@+1pqCebiS)m>ubl<*)2V zHoj{7zs4;*^;ax^)ply(Uq^nG))57LK5TzQ`>gG8!H8Gk=pTc5ef=!jo1A^^h4ml( zZ(GJ6dK1p)eGZNPTblj=oBrY8pLXQyP5s6HYrCfC$@3$5)2k<9&A(>qvvthTH|2ZT z@93C5DgMf+fA{4uZ*IA(|5sdnw9WtO&B^-m{Oa`*vgr?f1^FkoA58lgWq&5ypZ^I} z-@ZTF_Q&>;-E;uxN%H4coq+}a`s6>IkslVkG}68d`u|GS>FXwZ{VGqv*njoGd%hcY z$M!Yg=WLqCpLh9pua5t1CY1fVgfB*uJvZ2wFUp7)O{i-95QD{7xf;ACIOfw7(JV*=I<3{~Gz z*S*|^cVHNFQ{d%{Q(Ec?)v-$ zbPNTf4G6N|Nh)h!tjBj=|66G?+Iw^A2(1fjlKEb%EtfvNFMg$pZ$E( z+qs(ktOIdxhw*uqxM%$Po^N?OSNopv-+w!d&$HbBlV9g86<*KtKi28#z`W-h-qzK; z9)7pC#rQmrTMxhRdHdVC687-dy)DM)dFp!j-$>qnKGvID9qHk}@Fw2>+~-0M|IL3M z>rEou?BRd#Cf@(t=RptuTdw_jdj8)Y{$G16Z}<4?|6ln3zn=fk-tN5juzl7u|F?Q9 zZ})hshyUW+e1SpKmMOadwu`--u&a=zW((5XCZIl#nbasbhP*I z5qc|co_hD-g||>T1N6?jH)ZehAO8ID|HnMk^llya^P1BVl0`fea+y(ji}qh93w^E$Q%GmyvFKj~gN!QR3z(Tjia{RNsf;CJA= zX)lesx4~(EpMfV%z1jLWFB!;NPm=w8d+}#aXjcca16OH(67_d7`OAUpz?YNzW9?<1 zJz#6_yI!xndJ(>Oy7s4mnSr0yzR1+iwcRWIKZn=tzK-yH~yUJzbmguYLgi)tsKVuY8>H!Rs!t{_!77d1cyXKw9a) zv==;4{(aVaM%(Mm_51#Z^y)3&zwoI^FM_{2)w}ZQH2op3==~kbU$kS1|8NSvPyDNL z<1d(dnnv&W2dm)8p3yyV-u!6x#;+%CnY}q{Z%@}Z`ekzc&-dHCW4+nA^=lWV7p>on zsXs5%rXTxT;V;{NYn`013fD2=4Cg1LF)cFu({pxbK#@6C)5M#NCa!ySux4I@+Cn zSM5%KId{%I_xbMk-}|09Jaag`_gYn}R;^l9>$mIoE4S`pn8)z%_t&q(uD7i7Od)s_qBL< zp&FBZWq08fc5OwuzOpf%N*nU~j!%teY?W|ty#-S~F*xKC}>h0|NB7fP) zjgNhM=f}NUG-N2)NN;_8bMF{Me4f^x1K&Tfi?2{I%=>=Rs`^*)-mfyTjq5R!x!%ha zxB(CTI=Mqr2^;8csxHh;{TLS(92S?Do>yMo)`yAD+j#W4e&h;QEWcCf$olvTKA8Bn zN0#;esuwJRUYwvwpUY;I^14akdqV@8sO{o!8%}YOY36uCERv94GgE;KC}dDF3pXL2@m%7`rwmQ+T79G*Wb_VQym=Y?Q3f+P4e&! zj!w*~9g@=i)tzx92*Ymc3r^@^QYSu^)Krz`B!zq0o9f;cHOAyNTCgpge4{ffo7%hk z21k4R6&WmSu7vi5jKvp@tQPAkNeuDwa&vKYOKTp$$H^0ue4NLGKgyHi;}hfD-jYzi zz=)KB7K-u#orsEN6H&Vzax6@aENjpimSTlvgR*U)tX;Z=K>1jS6^h}Npbr*XC$7B>$ z<^-_6-=rWRdZS`^N+6i#O^l87w-(3xyffEjS-F7@w-2Vcp{-j`d_mLTB#$@E63Ft} zO}8!E`Q1IXk%@^-K=sHN59gDnr>zBKkdO1^rpCAfmC-&v-j0ShPOM#ZrFeqJ6i83= zrzW^Pbs3?ab|!3{x85Mz&)b@*W8vfznNrfuiB|;A#HkU~@rSkeihu)5tl%7?W}de8*v% z*trGAWmR=@`FaA0(aKksZn!rL6Ea_eOnej{n+robF*(JX7EJR&F1IJo;MV=TL4AQF zZ=|CvJ;vY3LJzla4>87MY$DzpG7YR8eIk?dYdX18)4Bo?9yc+6Xc8J}EuiwaBU~<$ ziH}QyNInucG18hbIHd0Z!J2Ons*?7$4b7F@d%m zwyEuVzlfCl%GSOyK1V>~k5BUW)3yTUG-ZlAG{hXnN5newQ&Lh(nnou0(*^?BY5v$i zdtFIpq`UoVJ*KH=+#{GH>!PBZjhKd(4xYhrnZ@-TgOk%t)GF|w>1j)W-ZYIrHZ(Xi zgb#~W1p4~>2Ly$tj~WSN`4hvv%~b`le(!Bf*=*bJ_){Q^8kFGinyG8{_Jdzka$Z$S z?l2b$d0|S*l9-iL5VJ(x!0y+NV zNMBn`c9g%{TXS8eRd9v}%>+|eoE;DTtY`7gEg(8MzpABwj6XHX)K4D2Yb;DEB(+~)zbx>3I>}iZ|z|)zcPfkwcr6jeX{_w`SY6~;s zLw#IqO?8Ytvr4>QV={a43WKfLdgk_?AqmBO;Qu&813m->ooSqh5pp;@-6_)KBx{P& zUR>40J}N89As+7@x^w!ym&b z4v)&MscxS(63pR`_cv7*q{W7Kx!4-(SOjKQM9sIvB(=**BW)lCzYl2{n*!tYMsY5suXl*AFPO_4 z?Q5m>wT!tAXxD1-Ls{7?`-kRo2BTh>N_&#HGcgj~3TuhSZOu z35$WrP%8V=G*BHGJ)$F+H$5@fSznf$5)%UR#n8|$ zqOhg#u7dm=X$wqDQC>mGxv8?0%N-Y*5?VM75e6+AOfVrGgilREo52M5BpH?>e3%5$ zW{^J6-k+OwEK6j(^|3OaSL~N9OejbiU$qGVbbHEibF`oC&eZv#)bz6 z2L}54`tV+no}RAu*21@k*v8yi^orZ;p|gzsCsb^q6QEH0Q}vVZ(`Zr|4RKh};8jDm&0+Moo3 zg%|lWlZQPcWmAoJUG-3sl^mpXob397V%-qpoxf2?SjZM zJ`O2VXGd#uQ$u}SZCzbMQ*%>eeQkAFL9}yN=Rjv2IBH~|hszst1EY80B^{k*Ri&|) zw(LE5Ll@Erg$p(p4sBY0uWGb!a2hOt6v5H};{x7=^Jy@~W>mwVY10;-76!bToe}Ks6K-bVfUt=|)EH^tdJvBKo zKJH^oROH8$tgMWrz_+eR83|EA-tX;R8|s>RrPlV>#iZm{mnH04yY0|7w?UoUmeng) z94#5`?VA+vM#m;5gzC`B$K=y^Fc*cH(E&(|M!6$HgZ*vQm1QMG`MKE{X(@>bu^*!& zBf>(00)s*#Vq^Vm?Si6%yy~O5 zb&hlo@TbSPqhL?y5iVRIQ8=KX`H%je!zdJtk8wwa2M4<9t13#13Xo3dVQh3{cxXsa zfS<3ohr7F1kk1TLUy7z=-7Zj6GQIT{@VV;8A zB13ErOIXfg;VA_EpknCYXCB$LL+@v%do6!o&H3XNhO;W=?J zQQ;v$&`S@u_s+sjzBV^8)Z^edNB`x6ySG5=-A5ctuc+jbs?4`@<|xTX8DMinXml~F zw#mlEv9a!+-u{s>NI;lqwT4O09Hqh<#pSX`55d2|Rr@<@VLBG(=VoQ3CMAHYhJ^$Y z-9%3F#>Ns98XM?x@aIpS>#(2RyLI#Sy=QD=m(aMp>VgnyDOm<|lR>46hYt+bH%$$8 zboKOeQ8$?a26!iL0+irGq~T%a$WgR9!a6fB(AR=GS(rz-4sz8{Fs-+zo2#?qJ3CwJ z*XE|ihWa|}SI?h3c<=&${_y_&$IozmJKxyM%94ZyV&Zf|OpbwxN@h;<)U`}>ws-an zkHcPpDUd=cr^aE{qg)!L=0`?`K_yy%dg_H?Cky6eLfprwh)}|^XgHytFq$St&`;LO zXHOp7z5VdnqX!QjK6%Np@c5WgS(|)IjA4Sw&=!{pT5CE+>svbqVNxQEG^B8H6z`?L zR(t>-WDac-E_c11RpsEWL?4m+fWHR$`*;Z_qp*(#dOB?8%cqa;-@W#$6DJIw=vTgT7U1fJu zRom=jB*F{KhvCkyE~Kv)@5B2K!Agsk+S<}$6jd|RQowBpM};E~MTdfz+X~@V;2@2_{o@P>YEyaF;VcOABGpU^1YB+5%iUoH56BO z_4ExwAjQXJP)Hdb9vNVeQOmY=$xF=mgipdnM4E z9)uLW0W>z@&FmJud2d5OdTL5?BG@n{G6I%$;UWY}-t0s}{=v3%@qr&)S%3ci=gr%9 z?*4V};Zq%-%wf>xxX=Wff3H^1nVp`J4Y?htL*5R~4qb$})m>kYH;@_|aZt!?+Sgc{ zlaid25RVdVC(}MBTcd91XygRjmj*NtuwCV;JCqf(Q zAH)y5kKR~QQwuq*Uj4qh%Cz`6=v7n%3>jo9pvv8qFeBlN#+Dxf!^2=OQNQ$V-T3ns zsCxSR1Ju z9^o04QeF$%pmW5)wRaMZ*;-zXSLju4uPBHLgFYcMLF53>AhHrWn>TLJGb1T9udf%5 zQj>d+p1oq}8k(3}zsuml3CKviu_>m0FhU^64*w7qR|u|vR0)SoXvog0(y}uB^6h1L z5l9cpU%fot2}Ll!Y#oE*VUow7nK0vpPLO)tyz}763#N{~iMiDq&q{Pg(jQ@9iY-{^ zEfAE1x%x$?R)VU!dK5O0JAx`0v<6nGPTBU-(%jI%0MO$DnJXxAfr<6b?v2OC1fe3~ zAfk2{5F-U$V(S^2S=zn}8-%@jPw*=O_V%*BbK}-ukU@ceLzmupG_eKb!Du*yRHu6M2s-@DExm(7!=utlDv3S`eF80! zZOuh`Ih(T+-9d$ugTuSGc5iHLJ>wDy$0i~J%psu?PY(-XzP`XY2FBnAu0?R>L+_up?v2u+ClcD*8oZyoh zFAophn|Huy;Mqpt*$!!=YypK=<)Ul>3r9L{I>*+)+AlCDG%O;ytU}lyn73$2gbr0? zaWXe$WW>4HzY}V)wsMXZjtrq@#$>+U5HQ@I-zIFPV`yq&Z67|s5s=3-Y+hp;r~O9+ zUCw%XZhiqlAz?{nNn>V&LHda=aj!}f0A$KN*A6X2dAM(Zr ze?1h20}CtX*iIfCMUeYLp1;QCtDCh8rULbKY<&Cz0z*!4g~iJQKo>3CqCM z$Im|~xfrRbsH{Z8L+Am!)#s7NtNJx)| z%frV+6g9PUOQ;_hfl>wpI0`?*be$!(aKH1UV8n^ZwDj=y^-n4+E-5KP$_QV8RTdHn zN?k!pGBascv_0rCH#0S{i})BrH~{nr*4;p~XbA1*;r0H>vzII#0}~79)T-|OA?`SA z90h^_|7TQ7OqFh2FW@D!U+OqRRUxsUut?Z5p*Fmhj%HI`ej+nrXS4$-GBq(a^@@om z*1<4h;(#icIYR4s`nWuQ2_f6q+%mYlrL%WncofxW_>DG~tTDxFA(Mg*o98dg+&sKv z^YaUeii=CZisg9a3ACi61fssSC>f?qjDv}>v5}#HO?VXH37`npILmD{E$ukm*WF@iHwKC&GGZNpYS|pyIO*B^7{$EdBlT*{uGYG4p-r$7{&{6_!UWS*?t*FR| zPe{xtNc~7;3}`WjA;I0Hk+A|pU|FecZEq?UjZIGl zJ$rbc6_b+sg_gXTZX-2#*~0Ri*tq!IDmWF%NsJ_NM=%vJ=;4Vu)lF^8PI5;@IkQ3% z1Q|4hjN(^k9{&*OL5KYRShG8W3Hsp&*V2v0+%1rHE*r649IE|*ADWhzT@ zvs06kQ&O`F%WKgFi_?Wc@+w8l=ejPmVeLrMJK}_iZ{bw&CvuIRJ$>#NhbJ?j{e*Np zhYofE-zdb3#6WyuOmu7>iU}ZJ22CE}5<9b*V)bBkc#RYhDLMvW=iOi7a8=S7)B4uB zV~QKC^YR7reL@my&y0PtbI?2?ZI5Q|cEu!C-AS67sC3rj=oop%U;sE<=^5anv*OVbr$1NtVIm6WALI`8r1^ZnT`2E8V>9r~ z?ODhPW@Bejaav@Wu#ul6&g>kK#C|xg8G#cpkT_gye`QqwCQCnYCwizaFVG8un7e04 za&|VJvspMDpn))%v!avBAeO^oh!Q{HM3{9c)I=^+MnGVHy3Nnaf-o_$Bfp0B4HicD z`TOABl)&hWTs#lU#|zdHi$iHy?#ILuFuz zvU0F4F)T6+B5q)Cd?vA;%`P)}v2jI2>if5r%@}V4&h(Mz)c8L>IWHU&(>nPmt+y>J z29|R?lo}S5m{oumuSQ`PVtamkeD+L^)`T*3VxNcv^+9?9g2qS3`U>p+*iVhb#8nPl zc5dx1O-xA2h{K~aqhk}ZiinjQ1~MlhF=b|k%uGIX`~in8FplH+1Y>NpIZE%__0$+l zVa?&2@olYnsVUjnsflqA^OMr@ib^Z+swJ5)!;3#{PlQ|6?(SYFBA`;m`EUE_ zahQhc?yrsVx@xo2GV=>^(uGkWJHM#3FcktsPA#z;V8YCVY1D=CEEp$zf<98@_2jEH z^aO01_=-J0zAkF1%+1b$^*ujZ=t|is$th{+nMI#xI?9|zz?PtXe7Mq|bAIRC6l@b! zd;2NN^t!4d@V=sw;-b7wiMp+s$7n|DA5;%-%8>6Gcef9Bg|Jbv3F0}yDRMJ?p?}~XqLP<5svQYMjHkdHJ z-Ed$E!Mm@yJj(LUnY9`srPy4_d5g6+pS`8;7F|$NT{G)a%y#jbtSE2G2j3sqq&}Ap zC?i8&Np;!!ZHF%Y`sBq6b31dKBlh6WZ_XUqs<}XU4z(GZOB0unkW)~eud1S=x=?+w zs z*Mnl;N}^Ew&kQ9dx9ZT(2CvPm9Nt+xIHE!$lU`%XX;SkRtvvqpeSFGCAA2j4XP5S9 zP`{)njorSWCs#u8nNQTd{*|7jD{Z*0^FF{QAS^n{|Mjoy?ZST`Cryb`B@MtUP=WIn{T-lOwEVQLCsDXSdLcF5- z>eGfP!xL@!2~mN*K`t+@9o>WI$=9>=q`5$XKim!625dN?Dhf7IM>YEyfbz(p%X;B8 zRb?d=)s0<)wPEbjnhWMoNLH9SiA)F6tU9X`JIL!TPD@IN4v+RXzw_Of3?*r}mQ}T) zy1K5hrDI@BSeYjf%AbDLNor_sg2bk^cZ}B+Z+u~s=6o?S$r_taqR^!j)wK8DbT2|w zM|yTnQc70bJIfq`qqG!Irl+}etV(v3285!{Vc-m=CWb354Aa~Dd(gpbAD2JT6sq_A zt_{m&sAL;Vg+!(@z)iHaUexi5OV7*BF0LrdD{bkX;`4!;)1M{{)*Dr7RMfQ%j7?NV z#Po89Asv7mYizQ&*q`~!v0WP!X%rHMk!Y6KJTe7@%~RLfa^g?Z_aW)og_R9WT>$oh zB*57CFhG26Q>9MDvhY8T9Y6KNsi-0%u6cBv3mM=rMB?7YGVA%jW=nGA7L zj6^2mm=cLXr9m^*R&LyT{s!kwcy47I7fu>rybT5HX?;Fi;lL5&LQ5;i%{?q89(ux||TMvD8{i#t* z8{mx7AXFE8ip4hs60EO=S+1G1oF*b6JxBGl-vBrO6dpnHa94F!_y-H-ol9qzi_oZG z29oqL88eKeOv3>!q)_Q1VzMer*Y7=b=`V|FfI!*P6fi5$LWqAenv$CwsVy%nvy`UL z#ii#zFB=Co1Lr9LhBDkgh#3bjcY41FK z$+iKiywePXc1#IT7HByeP$bhy@zLh8(uZPHy2LuCNfuuPD#75ptraO?##%K%nXqaOPA{(VFL@}* z5S{;yi^C5ph%4a&0hk#Z;9|-Ad8sIaPJ>Y-&DnH@VS&l7)uMrHDos>EcHY7jdyG23 z%HR@`Q)5u3CU_YBG;f?UfsLDwX^wVSD2Pj(tU$&>Q<^u)g(7o7YLxdoqaRhpgsmot zYMBd>P&Z7v(+UXsCFTkV&w{v9Z@&k&$#QdD&~N z=txWzNgnNMuP@I@2yrw0UPf%D&GZFFuPy+|szAioPKKZ;AAO;W%$ZL0NZAnHBiNwn0BI2L0BXqn7iLu~fyy+0Vx+&b zxiUXF$Z)f)_-u2fR$q9q*$R_XzjAOcm_bfiPxah?roSOAqEWwZzj_! zRpghjn>vSaK4WSC3eZDCBRCf_L}ZTcu8y`2RwvfRg32(Iq1hdz_Ex-QX>(Im4)%kj|xxZn%Ga^ZXyG+Pi^#;th6n11d0# zb7jHv#s>R(5LwvNjH=s>aIgv~WQ%??sj-1wzqlsR?M@bulJUXLruTn7v1RF8i5csV zsLFeOdQph=~EVgGm}tD^}BXWkGbx?m#MiX#o9{Xj>yG}YJEH8nLh;5FpB zh6ZLmrw*&ttzJ^;vU~Nt)Z}olw+2tHoY|$RBn1l4$dbvj8!zd(9+vz9D_zNa@xHsE z6P7n_TYDFnNk~_~ha3G}9j#6EkOM^%WHt|QRWMc?{2)z^=LAGbEcS0r#?2WQg|w#J70 zI$9g+U?D9n1(|S0Q&t8CP9=CTrKqT&fCXv(^1_1ryqGH+_E^LV8Rih zF5G|9E?|x7EN7}H# z%He5#e+{VW=^q{k6jp>c(%;owS6NbkXUk+|=K?4R^3zgNQj(LC67}M>5)u=W5&$nW zJF@!V?W^bZYO6>SdccE8Vw&fldANP&{24q|m;p~~I*J-#jjyR{XzA=380E193ji7J zX{)O&&dWsmw{+kdP@QYG2oc5!rG$lrhvN}T;S@TMeNcPrnf>b)$iO(E*iRzS)eqmd zkGbLe1$wGDi=OsXbQj@CyW0aTY=C&MDzd z59bzD);D+b5T8$|O;7Z9G}jd6q(X%pDT5LO;@dtr>OH#h?fFwDj<64FA3t^On_nL2 zJG_VL<-5CkHRs8LHlaF_`05KU{bG-NDE)##Rh(f^d&)9erzeXt;e@fNqjw0A?&<)t zcQn)(cEeu1HGpTSW3GqVN-9Vr?4Wi?G5eM4wXf$umv8*55)6Cwls zz=-ay&h{qve>k>v{Tgkcr8So=UCLRqYU#4&np)ax)^FUp|NJ$k(XB&kq0=<+Wx)EzSzYGZQo#CYz<)SQy)rcU^9YjO%clIm)J5ljsAbqBc2!Ory2 zSNpfF(bin5p|((M0qj4Om03!P%E~J9=Py*(SgN^l^}5Y_&;NDv#HIzJ6f#bdmtOac zu7Bj(ofj=V^1gsj*9#%k;llWOL2GDa5}XAzcfrIP9UU2f?`{e*5<)zjo$T!_nO6^N zT&=ZCW1*_@JY0b)KSxehmLs!DR!(ltT*Y}R^VKw#uFzhy>CDe(_Grt~Nf>R(>4#2l zHmx~vp5qkp1%SFv2%z>SC-ewX{6gc>i)vfC`-dUr8|ZDX%uS6Ab+fm#wqX8raJ}|& z4Ym173Ug#}X_}Ozq=dLQM{Je2xP+vXv@9r9p05T_>#EJi&g|QwDT`5LmTlXrrhf3~ zna6M43O@s=TZI5>V`S1~pQmSFbb4`JYcH&X!-KsY4LJ!B{vWI?OrBrdwN7h^y6U{S zb7Z7oRf6Cl!eHppamES}Q85Wg*s#JbAM~xv5dk=b=!BTz4#>TjzlO0Y9!KlpAV zs8Lmrla?UD6XD?G*Q8}+$fjv@=nrJ~ipmSr7jHOq_UOLdyZ0PCb^hz$p4-G!{R>*! z;1e(aNQb3Md~rk11TIjX>~1Jd572vY?a=xaixS$ZojQHy;#F(!PZa4KAw`d^SCo??LMXJ?8TOY*CT-U4%JWz4J9uFK{sRXN zA7@%-wh3X-WdMUt1-oPhe)rh?Lr79yRS!?V8>q^O^)~$l4JNcw6zwg@Zo)Rgo&x#H z9EEvG%eU=j?h@U-^PW}o4C}cRSkEC}hnyE*J+*Z5kIgJ?8W`@X$%*qZxb>CBf_ZbK z#fcpd$rF=?Et{~rQnG++FIdakBC`C7jc>0I;au!F+Tr%L@WP3w#&0~rlXA;ys!OtC z+zoI2d`v}AP7($MElS?7GX*)QNn(;xGIDbimaSd4PFwXmYxf=k&QuSbZg#PWIC|^> z+sw&7IyoyhJ0;4+;NDN)9G)u!{eso=GxHwZnL`-74rQ1L| z;waUCqb#zqV{P8|!>xxpRt_IL-QF6#yz%|%<45;N5uFIZVD|u~V2Hp3!9^iiVTi1G z?K|F$xJWhNA`2~TuB_R8?5E!!u#L=(bzk1QcH!9JLkIWFAv`A(W5DZF8kI_8(M4%A zy0%69STEunRe^KNH#a?}wQbMAli&RM+n+anyZp_G1N-*w*}Zcf#ODZ%ii}6$P(>*e zRf8h#5CJUC2VgPJ_{E;(8@9mQJbL=8^Jk79*u8t_&K)~2gg?EqGoVy|8Zm#!U;!=@?^W zI-E)n%-wuo?&@@YU81r;ZIQ;}rAwD-uF%q2xoXvF^sqJ+p50qE&_6&BbMt|i>(u>a zk&?>%1?n1$m%!7@;c@L%Yu2vYut72n6QSMigog>@Z2=H(V+NPh6qS@!=Py(vo?o^c zJ&i~DYaxJKBY$lalaZf! zVZo;tR=^9ZL=!ME%D1^y!~Na;r3lDU10ZYMbdR`%oIGj~beDJowMY}ap-zp*L^a~8 zTSxkP`!WEmQU|b#A96%O6ygJ+Lq&DLLUp21#2YK+NwJt1&8WG)Zv<%5PmEO2FVb`= zS)mqX^p0?ViFcNZe}wP(F4wiUaYqJ*+CC9ay|^k>Oh)+9yiYG7CxWJFP@^#k((e4h zo<7)a4pq$ZOMEA73PVZ;HBUiN_!cw|+=F;ai5vxA`NfWn3~=G-YAAgcN2)kNqe#G8 z&_JQ(pn<|(fi5jYas(zJ_hxW%a%>W+RXvC=(m;IC#Gld>2E;g7xjFK)+TgtzZ7XEM zF-fUgX$}4G718AQMD-_NC}1I(ielrJ?|~JC?`bWQA%$R4)JtwLd9{7837Q-y_@5<+ z|LHnLC)35ztFr@uhHR#(np(@}K;V-WJ*fA_GdimQj;(lo1kbY+@jMgeGGvM!+@h*Q6i1|>>orQgqGJ@xl&z}>FF@9r@u`)oRBH1A~J@6QdBU zLI+r7wBKa`lW6+Uf0eyZ80iV)3)f~a&6aK3cL+^$@DMazXd2Y?W0xHQpxv>l1gpYW z`5aN{0Z9RJSnX7+bU{FY;1L9Rgfmg|F&HP@52DvCy zyl~MS|5c{C#uq8lCz;?8gv?{#nz$3pZuncotB3-x65f(~OJ0P^B=4d!pp~fk6bWA`ZBUMP9k>&N*UKNWZtxg!>gZ4f)r6N^=Fu zr-;z7c{BL`&f|}KLt{Z?W<;~V z+xPx%^D!e@( zy1D5PtcoPCDq;EVUvF8WC<&pMN!3RCYne}8Je$BFqp#G~Uc2|QWne^fOk7-mlZz>V zsz?H=qWdvU@8J5Ci{^^ZaH<@Q4t&04@Ob`_x5kyxN+q?adbig+b|d{$RVI1it|wLQdL{BV*hnLN1s68JtL!|Jl?$g z%&Hg!dE7p;bLXBNYnG_Ym61RWPGm5!`Y5VtZrc0x0}B`6Ucr0elr_-y0l})Q2Ug{) zCoUgYU+vkm@4)_D+qZ07tG#L&#DY~DcYpiqz2}BDP6*2dtUL&?V2AskVU>N~a~#co zJ$vln;iD%`o<954`LDnI{^BoJ@0;2=IKThk4lluNFFvm3*FVE5doRA!d3@vNua2KM zeeV3%-~I5@&sVNqzxl%WjnfBrcMngGw>mdY6R^q>1gmU1e(Cpnf8Dxr;p~NPf4F$* z@~_w6lf8RSUg#OV`s3^U8wpxvK0&Lj+p_QIfrCemg50xbzdCpR+{r^*mj6Fm<^SV7 zV15{hCXP#D@a^FL?glUuj827fJ~*Iwjfsh?YHitjc<0(>@+AHLEvI6DiApb8vRrGK zs;oHG0w5IyHLb1Z{(6Pq{^`teank=EkP3;i=*ZXK{CwrdW16rISzt0$$+-)bZMkgZ z;^Ab%ynkZpTqcy&{&vsTETdvT+^D1U?->;wlayI`;-#U!=^Gp4yZaRY#8^s`kYBL; z&_lQ!iMYd+vF<_1p>&6Sq>JDvg;T7X>iA^j&hMg8w|ijs`Vanr!qkMXHl1x3j& zk9R3cQEjjVWHC9Fb#_n z@gM#Cg6yw6$RdaoU>!`RNh7uT73!5$wH-rnfdT+2g})#2sP1fS0;;=bgg4O`z&y8k zm4?JS*zbr)E2*zO|I#%oDLpAZJtrYDvAk&t=bOMyOiX}L>Npi-s1CBqRcl-ON5^8A zMvVi#Kq>Y>Eo`Ev!0Xv}`?su;BQY^ZvTZPV5?y+p`l`K`b?m(25>xX^%Ugi%fGdMQ z7D6yc2o)fxl*S59xq4~HACT%jb}Y<&s+&77G638wkS;^rbxAI-E<<5JiOd3OLsl^%a|r{`}CuD=DvGgaA@l0F6-Lz7Ia!!GrO1flO(yVwNu|E7MaDmjp6JRr6vT z5HBO#F}T=Zu%{+F%$9lkhm(7hNi2*!%cbbRCYCOxv`BmV;ctI??AOReNDACVhMW`K zsYhI5gH0MBIHj6drj{s#Q|7E-H^SKh;FhD@;lZ}Dlpsf=r@w!5OdVuXKA|Zb*b9;w zvMS3q?mKsxSw`GV2A~D-8*l>;1sIYE_Bb|aI7OZut_9|wpi`uzcSR4QD@5QNVRQs8 zi%SY|v(zO4KHbxPmDP%xXSm?-=LKC06XziZ!CUwXne6R)aCXx;f<1$CF36sxg zirAb>Ty*ChaYixPS6`4C?dSaZ)$I!^9E>6aQ^)|OFfnDwTB!_ixrJ-?7}N_TgD;`p z!j(R7uMb>ygpXicvvG+TGDYmWPB^<@@}&^;(o~k46yf#GP~E!Pv+^rzVEls!OusLq1q@ z&dWh?qzHkO`2>)H4xUA&=FZpRw1H3*RN%%WRJLc0lc9ve?j`jNTX0nf9A$Aj+;E6E z7yi^pXH#WiTC~5D-dUOsMy36YM4`|`B;`~VKWv7oA-YEfpb@A&u|}z5qr=1f>`qe8 z&}$)xvMUQ}66j(--e_-oLwO!h0LFX7bub!v20~FGAQWUyrDcCqLunkfa2T)-B$3Ib z!mT?4UF=q@+h~9a+(=J1vy19?|HY*+mOv8SG1uKvTbvc=!`7neVpK^XfU;N!pomH< zEd0K3a2z@7#2^AX0PR9zhX+AY8@mzf*6*cuBQ%23NGmWlx@QW7c?p7TX{yRk_5WiT zT^FO#{zjij%u(Hx0rUxKW*=Z2sG&o>@RPj=5zfl(_q2AAMCmKTTL}@MJPC(>%4{vQ~WZ&8yZ>%cMne<4m-h&bWRo$Ns;RXaplbJ z6-pwym?-57&ScG(oC&gVeN!7EO@Pcp7)#d-XHu1smX=dhQ(2gi#!1Cf$f-HyI@Pj3 znk+pM802cB`|$c#`_`&TfUU(z{~j{oEgY<^69OOr$#VyLI@)I-lZvdwq`ZoPG-d)G z&x#`_W|wfvyfA}g=hU|43N&3zlJehxB|w$c z7gsj405&iVA16zX_cS-OegaEUBJp4{d{V~rr~3K&g(eHR5=q3BXsvko;L6!OE0x7` zF)6a#e@B$?d7XK{UbJ@hk0PREytARYK}eL4Gd>33KH|g|i}20%2Up)1-FUgrNXfF* zKYep>gPIgs7nA-EFbRJ!FS`VkbPY`*m}I!6rmRK?lf?PExz2vr{O;Y`x9>wg!z2Ea@cgx6hHT2Mw{BoS`#xv`zy8{rqU7UtFt{{6J6+h#VXpZrJoCI^ZykXQKqr5Pq@el z{BO9(_AhXeI{Wtlk;w&BO&whwoe1|qH&QyexS2nG^x)3Lok|3B0A~mksw_}z{~i}v zDNDsZ<02=oz5Nmw+5QDC5@O}(9iCED-Q3pN*4k84k`Wc)_Rjo`(fvEOE^btUN;}kD z2{?c*{hx3Vna{Y$$*+yR#6`3}<074=rf=NB(u!-E00(TYE6s}WcC<3UIX8d%X1$y! z;w>p;CW(PzBL7obc-CAj>f9o1b;gd)}uSuzT2rF zBqZTnk%4EOIBpXCsw5Y?Mt>1=qae|nV9TvC`k!((SLsT>ZPM<5@0<9 zR_H)VOZgvxBHx{S`6Vc#`3V&1%zyFth5q}Xj|J^KxO${EC*p(g-D^LbTrDyKZ|Fg) z|DOnv3r8I$GX;TF=fM$E^y0}ye%L7bYZ)a2#f{}n8kmKg&bLL`cGI$ z+mq`z?mjSh|FL!w?%wLj3VHML=fj$C{)G%OLt6YJ4RUDl<4-h*`V0+Hu;=Gre*9C< zDY^kVKUo^#h+o|$PbEZo{d)*xzw*V`vk=I_83@E>^LMAt{h{X=Q8gi$YKi?|^yh9l z0yFS~fQl%E{{nx^Jz^Z)DZJ=QWd{EEb?vd;r>=9}24*#PS0%ce{k2n`2EG*dkIaX} zIvw9`A@iX^FdqdQmu}v2^zw_>ZsCcE;qGR)_9-*qC_3byQ4g^tPu;p|&^=sA1nLpA zOhtSB{_pSWy>avQbTs+>&~kAqlvMu#@eorkCh4qccfB5?J!OhEL;UqR5Ll!154(goa zPQ6_S3Yj9VutaP1npI1cB-j)Ts^6f1z&FU^hdnxb34DV=;2Td@&{<@< zi0nKi1t|uHcovETGuVdMq0sgo0^48^*v6yfG&Y$EnrT!W3Pz5b;WbENN77rm30{Li z@EU*4r|OY);fVx9Xoz3VXy_&g4F*AITvwv#qhCpYWXQfst?ea{3 zl~~h^FbO(=NobJF$v6mv-6_MLejCco8f_K}%=2Y*On7>5u6oB?CYl{=4Km`CU4RhA;o zfPpS130Qz(I>Zy9kgu*e|I_u`Puw!{^BdC9g(4yZP;eAhUEwpqm^5wi!IKw$y81LW zFTbRYAO}Q*M1+6{K?rPx?|$^aEEvfj&IT11 zYi-zZ;N&0SX&HGniRk(bx)20_eY+kZ3f23?6c;Si&|1I!sA*hsYJNGY_tS;-er5ES z1qkzm?{OsOA!cN;*7~o#KgK7OrJ$QH=)$5t9mn+HIX7$$i6Mt-@$ldxZN1RQk7>oI zY)_vl+cSyBNFZ^Wu8t{=B*@!63K8#>xe0kMWvx!fT$37 zd?m-rKRB-7i`x51CT0M=!GSO*y}{-|jeDlNjfzuBYM0-8`2?lMq2fB7D6YrSg)cCP z48;=a@l-m335c>AYSp~G)^LACcqXcyGlaGCZ{RyBLr}s&N{r!4GVn~O4*^msd=FJ+ zH1u8FJ$=)@D2V5*WD;-bK_!kw!k~$4s-loAMFnzHqgwcfv#XnDbi(Hvx1ogaC3A`{ zRRKK=0T#7QR^f~dJR6v9k1kfAp>lQm_bfs_dQ@I07qNP>`z@i^;T}&^p6Nv8Ie*#b zC!q?2*jA_mtv7t<;N%J$xlcu8$9bQhlcfP739QDd7q;&loc$Atf-oHwgu4tSW*^g| zO2Jb=Em*&KYwsCjhOQx?qtb56bx2-~z!%LadQ=IT$jWDy@Q6zUQKMy`8f|aUaX9}n zBp%VFiqls-GPAU{bqFD0)4U_3*(X?3 zamm9kj7-d4+xXg}LMQ_Yp&6|i=S4V#f0$9E00xB5K@5yd&1}5vP-RnusBGr^E&)=I z51COU7^+7(dWOcPHl9|fSSbR<%D~3rTdHtWf#!?}MM8Y}u1jzkjIoU;QGgUB3Xo-1 znR=Pg>X8dwK-Vc#{w7erl81bu^U5a{;j zF?=&)^^*DW(qc5S0ZD;E7nOhmHciA|pjURDyZ5(p-usuQwr|_9Yv<+-Yk((TtP1SO z!ljE9wyf5K{oKm6|EIVs4`}kp;;sjB zgg{6j2}vM85(0!kAiz3edL$6TCp{EKVblnmzFKBfp4Z;5%J1f^SSgPXc}#6pDzCwgZU-4!(e= zB({wP?+qRiDIhy)G|Xf0=(U3#80<4q4&Zt~p$3`I1_yZ|ql0T8fxMaw>j*EwV*q(8 zQCwZffWN|+&fk}YNrTfkmYr~h4Pu{+x3&n}M3ib+td0Rh9B6~M1-~#v0s#Qf*`xLY zfaZ>MB)fUQ;>zK$m~NvBf4c!GJ*aX{p=cZ72r28YW>F3pI756j)fQOf|F z9oRe5I0CUWAw{WDDw5))fc@Zlf^R+cWJleKMh6sv0TNt4K~P9oq%2;ZtWc($g?RF)R1m5EYGfFB#-1+ZBGs_p>DWjc$?7mCB8;*yn_IR)TRP&=`qpzDZk8$~Av!!Hfak>o7YCdV^*UgTDef#Ee{n=?N_tLFSyfFc?c!gS$Ewz!pWQTWXE=K3m4UPekBz(2e_5exQ6GjX9Zz4^hBapSX#s$1r*dgVj7 z@_+xPmh1$v4~=Ap=!54hgCC)4I|TbKXgn$mbU3Z! z`iDxBG777j=5GD?B7}!PsrReJ*|I=SSBFs}0Cwy^@e(IiexxOj-v96B$t^P{mE|a8 zk^o;XHXEuQ7O%`JZ)kmL;mQ}b9Xj*fou7X-_`VO&xA$&cI`Q6%oeMfzYKk)81QReY zES8sVK&UKLT~gov+@UM?;e<$=de1j0!njl?(78vBA-VISG8SoB>;K|r*Xp*K!gRSb zEL0K^ld3MCG-F}s#$5+=buD1i zUdo9PfJ+bH(CwTV!npj+1IocaZX8_KT3f768?VePsBE6SbnT9RUbqL4mf_QbtHzGCpJx= z-}%?wr%`w=BT~;Vm-ay;v`wn3sc)IJqU-ix+5T0b2xhwy^jX2F6(0{?@PkvYtax_m zs&(5AT!Mg0#;4n#?pV8W$>L?3KKbF%mM021U84-)7|?%jsIu>VvFr6WKE47s1e=t) zZyn$D`u3wYhU%}=wW<&fMce+OV18mR4c`} z{n0HOfpX1ilbUx}!bZJ(ry^Cvg7G(Eq#en_Kdx}`b)&Lb?4va$a)5Kgg$g6V1;tOQ zo_@k&MH^Gl^||@6d=Cem_TzDag!kj<;q-`GB(|+_y2x-h~yMRI&b! znMIkCt$SD9c!?Lq0nvv6K=+pw&OB>QL1yN;-dU0m#3Y056zGp}r1^$rH4Z5O%%m|) zw%(I%xl+En6Iy@aMh|;ewkV~1;e%mvSoT%-<~miVx0}NlOn($~0AH5Z^0{S+3{%>T znZ*eKp1Ap;0iXk@-s4o&TOb^iZPEvg>L@>VCw%J;)_`1?0r3TMzcxe4n#1tT6(uRb zYzkKY&;S@Y#);+|p4PC_HY1?tKx?*)@8OKqU!V^n$lir5N-Ujo*__&#oafH^s#J+L z1w6G8aY!HnoZS7wvl`yANe3LBoEPoSa7L4#NU#HOpm0PfrO()65&CUawGt*Dm`il@ zK?d77(|NL-$-93wxiwAA(0i)AFy5b#ecJj%2aI-b<46=$%g;p07MX#ADuVt`D0cd05`TTu1XOx$ph(w z2qbw3-qQB+&o;vmaF--3iAOC08ywY;`T{yUkN`r9Mg$04)BvVd|z=tvvaN+MS+X9v@)X0Z97L{bPz}er<#5 z!{zZWHI5JExaem9*Z|1vV7RXJdz;Yj{;(}O3U`2Z^rPk1Cp>-f`_^Cma0M?cDNYok z4$#pD^+OPoKj%xERKKt9{)Sp5Tver;0nq)<3^2j`*%sOds$%b+rmQe;H{B8lJ3tCY zqN?3ylhKbDI6u88hUc!+fJTmXr20gvn?FUbY?6MOSDq+jkcc%H3qM{=LA$k=etp%t zH`IdlOS}I;${$lGFP&?uiAi6csZTv0G-XJ80J21isTX7y%m}UW@`GRR2F@{Iz98YVF^D$o$*ik`WFDSk(St{|5O}vii1uc3S^wcfAT+htL*4D}Rd@ z+fx4a?5b6Svhfx~yZ#h**iQX|Gw!XG$-#sH8t9|-H+Kr$hHSHRXI-go{RRC8=^t5> zz)#d>>Duz5SRtW*X!S2u-P<;!-q&|=cAk_^0~;XHzmWb3n|~YXpM58rv%-C~HW)(x zPSiYY1KWqTiF@|dLlg!$0Kob$Qowk!ys5UEfZZD^Q$%dt1{CeTxDlC+M{G6#ex9RA z5HfWK5NQ9&4jo_hn$7l~7pLUQcpf?vG(frG2t2W<^QNsDVDH2X*nbn-AD98K0=NsJ zb2`4T5&ipX%TvWHy#)>i07xKJHLSqXzvmUi`P20#Xcz!wmPlT{0wO5dAU%ZL zZ-fszfq=G02`#~NL3BaeX&X?7(4HGAlf@ixe$vw)?Lg&9((7Kcvhkg$-s$!N8JvF^ zoIqd^9GIk;V-pedYF)a7ONGN{o&6P-05JdiMQ1nfvw;Y>(V>wC>aB0Y2mlKtJ0zv7 z^INNrfQRqbXGZ#>v;Y3;<2BG3oFH;r4_bW@y1Go0B-S53s;F9K?J3y( zVM`W7YA_sqcnTsfL_u_J(;h2Nfy;AC<-sud1{}X&D+D+pgec0My=v7F@bI;IbtI2Y z(%F8A=7)dLHjp8ZsVD7x#1YY=?DT#;t4JQi2FDx2(T6(#MgWBqoLJm(+=@ML>xC+1 zxR1Nm^4ec{%m9o44_@^ELKitD|TRfZsQw2 zS%|2zBzN!7q=NR{mUac|J-4hPJxTyR*9PmZA#tJs zz!e`Z9!k9VjcczQ{7dbE&5anw3pJxZGR4eO8tnaK-RmUbMrs3*vOmeppolX#QF1et7%{Nahiobuiy*w>Ch+|ys z5hF+t!x-R=lV{g0_{WpAK<}lEQ#C4SAoRU4jZd@#bb+0tD+IobPSZ5Me9`*UJd21--%YiH~{XX<*;bNj%8 z#^UsNiGWQbI~ah?^pza`2}U7Y>E_P%9~YmgnY3`nWs|mM_YOQixhy9+O60?IBjG?G z!&4jNE$#yng~<(!lxLMR%-ekWN8{F{-UnCSU))@loh%LJu>qIb4|E%Z$Z&rG_!z?F z(O5iDR8pp9V%uN3E~#F$^BpVOYm2gyr6B?@2E>8^B%BV5Hw>YnUZEzivnRQFuzlfj0Em=Q+1S4D z)x+nnK~Ms{Y6DNbzx{ms%Bgpro7r4lq*la+i~Kk^HV(q!4OO^Ne}^UjU_ODN3yF+Z zWEPawG_^0ub~$Z z1`@8{q(Yo8AGqIEED4W{hU??wVq;?x06eL1Z!%D-0nv4S}=9ly1y7zyZP#<7*QzRG3PG`yL>RtU$ literal 0 HcmV?d00001 diff --git a/icons/os_freedos.icns b/icons/os_freedos.icns new file mode 100644 index 0000000000000000000000000000000000000000..64654969b3d0c0040920db6753e4648518e8aab7 GIT binary patch literal 26268 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 i`kLw$1gYUi=EuOBrmyf?3=vU9(%0bDE8hD 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

@K+|D!HTfn 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 TI6MFEbNLG}_y0h=dIbJ|$-2H0 literal 0 HcmV?d00001 diff --git a/icons/os_hwtest.icns b/icons/os_hwtest.icns new file mode 100644 index 0000000000000000000000000000000000000000..27113decd017039b88884fda544fbdeeef415b01 GIT binary patch literal 33262 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 literal 0 HcmV?d00001 diff --git a/icons/os_legacy.icns b/icons/os_legacy.icns new file mode 100644 index 0000000000000000000000000000000000000000..f3025bb0da062fd52b769229348f4c6f878a0705 GIT binary patch literal 39287 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 literal 0 HcmV?d00001 diff --git a/icons/os_linux.icns b/icons/os_linux.icns new file mode 100644 index 0000000000000000000000000000000000000000..6d1dad9d3de9b0150558827543b7b508781e78a0 GIT binary patch literal 28209 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 literal 0 HcmV?d00001 diff --git a/icons/os_mac.icns b/icons/os_mac.icns new file mode 100644 index 0000000000000000000000000000000000000000..11f76c9665eaac2ba99e946ada89885245a6fe42 GIT binary patch literal 26950 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 G1pXK6gLGg3 literal 0 HcmV?d00001 diff --git a/icons/os_mint.icns b/icons/os_mint.icns new file mode 100644 index 0000000000000000000000000000000000000000..e0a5a72babec7d430f79402dfc959436ac52e4bc GIT binary patch literal 36417 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 literal 0 HcmV?d00001 diff --git a/icons/os_netbsd.icns b/icons/os_netbsd.icns new file mode 100644 index 0000000000000000000000000000000000000000..ab1e7baecac97388e0f23b524f9f4c930627d0df GIT binary patch literal 29339 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 literal 0 HcmV?d00001 diff --git a/icons/os_openbsd.icns b/icons/os_openbsd.icns new file mode 100644 index 0000000000000000000000000000000000000000..73ed6aad8d2980e4c58e475aa734c3c59d081a9e GIT binary patch literal 35871 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 literal 0 HcmV?d00001 diff --git a/icons/os_redhat.icns b/icons/os_redhat.icns new file mode 100644 index 0000000000000000000000000000000000000000..fa553889c2633ac63c72d663be4ee50b9ca21f81 GIT binary patch literal 34024 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 b)_LgY*yU}USRS=wD+g~M42|@99YFgZ2C3VC literal 0 HcmV?d00001 diff --git a/icons/os_ubuntu.icns b/icons/os_ubuntu.icns new file mode 100644 index 0000000000000000000000000000000000000000..36eea1b7ded1345adbe6d070845e09173e02e38a GIT binary patch literal 27439 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 NRFeNnto&5z{{#1t7Ek~H literal 0 HcmV?d00001 diff --git a/icons/os_win.icns b/icons/os_win.icns new file mode 100644 index 0000000000000000000000000000000000000000..ca895197ceff02fa7309db956ebb3f7fb072be93 GIT binary patch literal 40868 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 A?*IS* literal 0 HcmV?d00001 diff --git a/icons/tool_part.icns b/icons/tool_part.icns new file mode 100644 index 0000000000000000000000000000000000000000..a542b5392a7bc70265933696433e787ad3d6236b GIT binary patch literal 7883 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 NAIfS>`0vjo{|6|&4R8Pe literal 0 HcmV?d00001 diff --git a/icons/tool_shell.icns b/icons/tool_shell.icns new file mode 100644 index 0000000000000000000000000000000000000000..916f7ac6b53b7bea7e88c55d4a33e62c6fda6aa4 GIT binary patch literal 6724 zcmeH~X-r#J7RTR1YG^gBNIEk~NQddPp_!00#%483O%rUeG2XBZ*akA1s8YJ68qKFD zQw@?eU1p}s$5#DPRSiidWobykEDlR-6EN5YL(G-{0TPk|DS?ksnRD-b@7)JM9e1Qw zGZOC;;{Kn{J?EbLJOB6UiBo@On0?AuPo}0Y%&s(cefAznmhZ2uJb18je|c%~-o1r8x94VOrf-FvOwxp}r?;;^5E=@P zL`KIaZ^BFP&b>v@E!>{FHGOk(d^9o=9t=){IMP(#aH+BJo2F)0OKW?(yQ8zK`>Mz5 z>+yN6c6W7lxZB%WUCmA3xF?;=Zz7t+ob0SDd1gjNdRl5qid32`Ir8G+Lx&C?JaFLM z#F#yr2`7^H)CDT#v7>o;FXd)uy(5pwRF5N>uCl^mD=)R0 z%_gHkS6rkiEKubidpS>mWbevZ^%#T<>nkhlwz5(SQt5TtB6VSbGXE%2u znLz^%jJKyJ+sn_(&dfmJ-j}dN!=MQo9riPSgw2seiwg40 zhgN3)ijzVb5=#1a39Ac&WWbEdZay==R!b_$N0KFjL_dHe7F)UHE&tk5oduT>)fxqY z&49!JlK6g0sqxd*rG`>mJiHe;ag_EyK;cIUv(Zq~U_w)8sWR@b6ek5USXf^PPhU5jei01X7B<9F*SpHSuWIVpr zN$6H5ChmX!x!*ne+m8}rcAkLMq`<`N-2Cl3ckcpFmhXSJ@?dpsb>%xup}Pxr=I3T_ z%}h_-n4A~|@qu7y=&PncL+kM6D`PF)H{3n9I(w$ty2qQ{BaJP=y34&6>OE&Kc2uJu z4i0*{F86v}fj;+8peqvgPL6oS20O$3ZGoPqYu%ST?%FG^^R6}@5ntl%-c8Ig&YcnCwgummu zuPxNw>~~-CxoSHb|K;;}U>hHMy*<7C0|=kP*GCa`A(zO=@K7kw@4x2rc)B~UxZ7G< zTi$N~Hgk}!24YXG|IdOu0l=M`lS9c3t&)7?$l=3>k`DgNsHW#G~Z4I_%az^{*|}TM4pwxQobbEid_Ob-AG&Q;nz6 z269_UOy|C~Bd!&}IMQh~dEB_7@2yw zI^*f|v^36g^W+wLZo3_MX^bl3Yk(uXnWp3}b|512mK!iYJRWw_)N|_)j4&GEB7zU$ zOb}w*qn=v_CZ6~Dyg!G)aPc>KZXFjH*f3f4;gV_Ddy67NE*mZtQnSLtsILBo1u6;x&T{jPdt*6~fV156;PGG} z5k!`oG#gYB9~pnFl-rno@NI+VEN`iiCFd-+;EG8NN#{^*3k}cbhnj|hnfnBVALqZn zAUk2%PQE=iKMIPd>&n%#L_TraY=AQxd;}VRy<$A4d6%$#=5s?xOG4 zqkO(E+Rd_i4N~zb2Jw)?pkJhz(KdNWhrQO4_yK<^tdp)Y>wW^$5EEAiMrpSxxQKTir bf***D`(>0*TrBtjcq1mt2dmK=KjHIl*Q6e^ literal 0 HcmV?d00001 diff --git a/icons/vol_external.icns b/icons/vol_external.icns new file mode 100644 index 0000000000000000000000000000000000000000..f1cc9cf27baab77ea3492c14a86686eccb646f0d GIT binary patch literal 3399 zcmcJROKcNI7{_Ph*h%b!6p8=|AtBTQQaQCqEh<-3A#p_Fz@-u=RG<$IsHq6Ec7$jf z1wmEuC=HSGLk7~&=oI;1=eg$fo*0WkJkBxW% z8(KbxvlY`VNcW>CF`LaBg@Rcy6IK*{&4OX%W)r{`qgDg@7BPwKIMXS|v57^91v6R! z*Q3+GY==0m=UF*(3VYSiu?aCx1Fk}s0J^q|S(r{13i$$NRj%#1j(wqsue%g|Ini!vJ4F zNiJ+5C7VcDvOuJXNtKi^#FKzuMN>i&U&<-lHr;|P;f@_FD~S|S2>W5QE-$HvC33JE zaZFbT;^=a*=SgE7@_n?$krrG{FzQiZdBXJ^Eb1f-I$IQP64Hu`8p0e-Xxe5pE@GAx zO^UTj&%+|BZauGVp9!7M5yEq2tHS4n1&_olC7-e-W^rCCVC1|)*93vN5eAPfeVJf7 zuOZ@^B7*`77l#s4Pg0s-wNNH8sK_w4xz6HLb7Y+AEDGIWH9pE6HC#DG{j?XSn8h4E zqQE3`8Ph5D5W{|j;dwf(WiU1gFqSPc|9c99Bvs3nVcAoh= z42z$IVPwdXeOJ@`~4GjLvr-pi%JFx7MJff&3b zoF4{Ch2gi0gx~8K=>4%!Dh$b<5kAy&XO#Xk3_1_9ft!QB^aZ4WrtkLll}^L&eF15> z-&ZmXqy0Y(l}1j&?sEhdcMm$D#6Y zDm9kGquR(w;!ivh868cIrBaU#F{#glX0y3mB9C)gb{5Z6Oe#Y}P-1!}o6GA)!i*M- zf|1YVW~Y@O=AhObsKd0B2JAmBVY>$Yf*tZX<%h-Sw4n&Gp*Tj<2lv(S09}~z#1Gap zKYX)!^RC%qBtQ@3i65M&e#m!!@$uQ=z(}-zS|$=5JLQSS#yzDX@vz^N-|dpE+qN~7 zh{X3FeHgbovFK{pzOPgy_Tue}9-c}Faj->zZC(@vobr!8`{W|;+RaJhNnO;w;0MSE z=NB4HerET%efkvVSk#)&9N~I!)K}kayvNS&I@C{;2A(&BDg&bj_ntY~qIQ1lnIS9= z$9e8YnW?eYwu~(}^(1mexL5To+OJG7) ziNbV?nt-=#6Z65HEK#2pFkvor%%UhfWf8RrNRu@mww3z0px#qaq(BRaw3f*6t7PO@l?IybMrwwKUeYjUJ&=@E51Mmak&7nwmb;?{&FZ_ zXiYF*6N2(?3g(-jz*T#K`5q{6O?xnJhXTj01@miA;JOFF`~eiWJ`>C{P~dq+FgNBw zd1)}GP~e4u<@J5J5NRudm;3$-Ewr{AUmFVVD0lrG;Yf42_05r&@`iHj8zP~l&BwkC aXvdnDhEQbDveyFIvPBWK!9sxzw%1?fHJHBu literal 0 HcmV?d00001 diff --git a/icons/vol_internal.icns b/icons/vol_internal.icns new file mode 100644 index 0000000000000000000000000000000000000000..790b2b48b52eb843684d8a2461e022506a59ffd6 GIT binary patch literal 3566 zcmeIz-%nd*7zgmT=_o4=!A-(urU@>_>|!R1<3i&#iDYONV&Vlcns5P(&5+EFY+1CW z8R3H9;xrCT##j{@WBgj7rN2*mdfJ}${AzoCAB+x07ui?|n+aezzK5t6x)=X}KDVFu zeJ{T6^W^Dl`}8~j)oYz+PreC&_2-*<)yW%Qk9(q66vLv9n9VmkGcz?cIWhjt@O!=b z5zyql>X-j0Jt;kYTzt5ejrzRv^PxcCs_%W^g#1AuIDK!<=MRP>80Jrn;&?ndf<;1s z4|lmI>bssyXR;JcGfWou&=i#!P7!hJ;w}#o!{Zdquv{)D|Ng+kK4LTAb3m%Dr; z`<W+q9h43igMZTYpQYwDqqMexRYxQ zB=QAb5T#*Rxn{6imWCk0xYDyMP3LF=W|-%N5lMC%J}HS~RGwpLDobxXd$u9MA7I!V z>k*~9hR=yYBxWc{rh8NGq{&Q{X2=9D&KVjK3M>Y{A)O+K1db;XL^4HYIGW4xLBnGO zj>!siiooL-=7@fQ#qdOuU7~3=j~Pzn7%D>*mr~J4C>RU`L*YnrWt}FoG)F+UrCBPI zCX&Bw-e>Ryuh$o6?r;8@Or*#xleX#LRK^=gCvhwsWz^!v)2ACng^mOxF(MV3Cr<&; z$@GN`_Iu}MXQp7g9+{r;%r68Zal-c%-3h?yK+rpPZ+i01?a?3I&RezaA4bQ&-Axgn@<4H*wx*A;dNIl_{?d)(*0sXM|W2v0PnWj?H6Bo zqv@mebLT&IUg)!%d+hCv4gl)EebrnKfc`z~gCStj_3{{%$EZ9;{~n`{&pdC8uGshW zq37tOf7Ven8jE4iT}RucwYAmN2P==t>!`er%IoOA>*(xT=ehvcw;%j}RpDA*UHZG^ z{9mQvRl9dh4LYJ4OvZtVRs`#<6^2*3Q0}TU-0DWT+iJKijPkI}@ajCu^VNpeETeq6 z#_$6rl$Q<|Ub~6%&053jc2K@k2ibHC#kzhB254?Xd!re~+lKZw7;t4j+WTR^)-kk? z!GLWT+A$b#wSaa323%7_dl3eFa2@UI2VuNhXy1YXA40~f>pO>l={Wkjt{*prM>);#auryatl!-1NCNLIehdrL>)bBF&fN_EZAOu E0{LW)WdHyG literal 0 HcmV?d00001 diff --git a/icons/vol_optical.icns b/icons/vol_optical.icns new file mode 100644 index 0000000000000000000000000000000000000000..13e25f58829410761e6408f491662353b55a7e26 GIT binary patch literal 3772 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 + +#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ + { \ + 0x9042a9de, 0x23dc, 0x4a38, 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a \ + } + +/* typedef struct _EFI_GRAPHICS_OUTPUT_PROTOCOL EFI_GRAPHICS_OUTPUT_PROTOCOL; */ +struct _EFI_GRAPHICS_OUTPUT_PROTOCOL; + +typedef struct { + UINT32 RedMask; + UINT32 GreenMask; + UINT32 BlueMask; + UINT32 ReservedMask; +} EFI_PIXEL_BITMASK; + +typedef enum { + PixelRedGreenBlueReserved8BitPerColor, + PixelBlueGreenRedReserved8BitPerColor, + PixelBitMask, + PixelBltOnly, + PixelFormatMax +} EFI_GRAPHICS_PIXEL_FORMAT; + +typedef struct { + UINT32 Version; + UINT32 HorizontalResolution; + UINT32 VerticalResolution; + EFI_GRAPHICS_PIXEL_FORMAT PixelFormat; + EFI_PIXEL_BITMASK PixelInformation; + UINT32 PixelsPerScanLine; +} EFI_GRAPHICS_OUTPUT_MODE_INFORMATION; + +typedef +EFI_STATUS +(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE) ( + IN struct _EFI_GRAPHICS_OUTPUT_PROTOCOL *This, + IN UINT32 ModeNumber, + OUT UINTN *SizeOfInfo, + OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info + ) +/*++ + + Routine Description: + Return the current video mode information. + + Arguments: + This - Protocol instance pointer. + ModeNumber - The mode number to return information on. + SizeOfInfo - A pointer to the size, in bytes, of the Info buffer. + Info - A pointer to callee allocated buffer that returns information about ModeNumber. + + Returns: + EFI_SUCCESS - Mode information returned. + EFI_DEVICE_ERROR - A hardware error occurred trying to retrieve the video mode. + EFI_NOT_STARTED - Video display is not initialized. Call SetMode () + EFI_INVALID_PARAMETER - One of the input args was NULL. + +--*/ +; + +typedef +EFI_STATUS +(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE) ( + IN struct _EFI_GRAPHICS_OUTPUT_PROTOCOL * This, + IN UINT32 ModeNumber + ) +/*++ + + Routine Description: + Return the current video mode information. + + Arguments: + This - Protocol instance pointer. + ModeNumber - The mode number to be set. + + Returns: + EFI_SUCCESS - Graphics mode was changed. + EFI_DEVICE_ERROR - The device had an error and could not complete the request. + EFI_UNSUPPORTED - ModeNumber is not supported by this device. + +--*/ +; + +typedef EFI_UGA_PIXEL EFI_GRAPHICS_OUTPUT_BLT_PIXEL; + +typedef union { + EFI_GRAPHICS_OUTPUT_BLT_PIXEL Pixel; + UINT32 Raw; +} EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION; + +typedef enum { + EfiBltVideoFill, + EfiBltVideoToBltBuffer, + EfiBltBufferToVideo, + EfiBltVideoToVideo, + EfiGraphicsOutputBltOperationMax +} EFI_GRAPHICS_OUTPUT_BLT_OPERATION; + +typedef +EFI_STATUS +(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT) ( + IN struct _EFI_GRAPHICS_OUTPUT_PROTOCOL * This, + IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL * BltBuffer, OPTIONAL + IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, + IN UINTN SourceX, + IN UINTN SourceY, + IN UINTN DestinationX, + IN UINTN DestinationY, + IN UINTN Width, + IN UINTN Height, + IN UINTN Delta OPTIONAL + ); + +/*++ + + Routine Description: + The following table defines actions for BltOperations: + EfiBltVideoFill - Write data from the BltBuffer pixel (SourceX, SourceY) + directly to every pixel of the video display rectangle + (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). + Only one pixel will be used from the BltBuffer. Delta is NOT used. + EfiBltVideoToBltBuffer - Read data from the video display rectangle + (SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in + the BltBuffer rectangle (DestinationX, DestinationY ) + (DestinationX + Width, DestinationY + Height). If DestinationX or + DestinationY is not zero then Delta must be set to the length in bytes + of a row in the BltBuffer. + EfiBltBufferToVideo - Write data from the BltBuffer rectangle + (SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the + video display rectangle (DestinationX, DestinationY) + (DestinationX + Width, DestinationY + Height). If SourceX or SourceY is + not zero then Delta must be set to the length in bytes of a row in the + BltBuffer. + EfiBltVideoToVideo - Copy from the video display rectangle (SourceX, SourceY) + (SourceX + Width, SourceY + Height) .to the video display rectangle + (DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). + The BltBuffer and Delta are not used in this mode. + + Arguments: + This - Protocol instance pointer. + BltBuffer - Buffer containing data to blit into video buffer. This + buffer has a size of Width*Height*sizeof(EFI_GRAPHICS_OUTPUT_BLT_PIXEL) + BltOperation - Operation to perform on BlitBuffer and video memory + SourceX - X coordinate of source for the BltBuffer. + SourceY - Y coordinate of source for the BltBuffer. + DestinationX - X coordinate of destination for the BltBuffer. + DestinationY - Y coordinate of destination for the BltBuffer. + Width - Width of rectangle in BltBuffer in pixels. + Height - Hight of rectangle in BltBuffer in pixels. + Delta - + + Returns: + EFI_SUCCESS - The Blt operation completed. + EFI_INVALID_PARAMETER - BltOperation is not valid. + EFI_DEVICE_ERROR - A hardware error occured writting to the video + buffer. + +--*/ +; + +typedef struct { + UINT32 MaxMode; + UINT32 Mode; + EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info; + UINTN SizeOfInfo; + EFI_PHYSICAL_ADDRESS FrameBufferBase; + UINTN FrameBufferSize; +} EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE; + +typedef struct _EFI_GRAPHICS_OUTPUT_PROTOCOL { + EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode; + EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode; + EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt; + EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode; +} EFI_GRAPHICS_OUTPUT_PROTOCOL; + +extern EFI_GUID gEfiGraphicsOutputProtocolGuid; + +#endif diff --git a/libeg/efiUgaDraw.h b/libeg/efiUgaDraw.h new file mode 100644 index 0000000..bce3f24 --- /dev/null +++ b/libeg/efiUgaDraw.h @@ -0,0 +1,182 @@ +/*++ + +Copyright (c) 2004, Intel Corporation +All rights reserved. This program and the accompanying materials +are licensed and made available under the terms and conditions of the BSD License +which accompanies this distribution. The full text of the license may be found at +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +Module Name: + +UgaDraw.h + +Abstract: + +UGA Draw protocol from the EFI 1.1 specification. + +Abstraction of a very simple graphics device. + +--*/ + +#ifndef __UGA_DRAW_H__ +#define __UGA_DRAW_H__ + +#define EFI_UGA_DRAW_PROTOCOL_GUID \ +{ \ + 0x982c298b, 0xf4fa, 0x41cb, { 0xb8, 0x38, 0x77, 0xaa, 0x68, 0x8f, 0xb8, 0x39 } \ +} + +/* typedef struct _EFI_UGA_DRAW_PROTOCOL EFI_UGA_DRAW_PROTOCOL; */ +struct _EFI_UGA_DRAW_PROTOCOL; + +typedef +EFI_STATUS +(EFIAPI *EFI_UGA_DRAW_PROTOCOL_GET_MODE) ( + IN struct _EFI_UGA_DRAW_PROTOCOL * This, + OUT UINT32 *HorizontalResolution, + OUT UINT32 *VerticalResolution, + OUT UINT32 *ColorDepth, + OUT UINT32 *RefreshRate + ) +/*++ + +Routine Description: +Return the current video mode information. + +Arguments: +This - Protocol instance pointer. +HorizontalResolution - Current video horizontal resolution in pixels +VerticalResolution - Current video vertical resolution in pixels +ColorDepth - Current video color depth in bits per pixel +RefreshRate - Current video refresh rate in Hz. + +Returns: +EFI_SUCCESS - Mode information returned. +EFI_NOT_STARTED - Video display is not initialized. Call SetMode () +EFI_INVALID_PARAMETER - One of the input args was NULL. + +--*/ +; + +typedef +EFI_STATUS +(EFIAPI *EFI_UGA_DRAW_PROTOCOL_SET_MODE) ( + IN struct _EFI_UGA_DRAW_PROTOCOL * This, + IN UINT32 HorizontalResolution, + IN UINT32 VerticalResolution, + IN UINT32 ColorDepth, + IN UINT32 RefreshRate + ) +/*++ + +Routine Description: +Return the current video mode information. + +Arguments: +This - Protocol instance pointer. +HorizontalResolution - Current video horizontal resolution in pixels +VerticalResolution - Current video vertical resolution in pixels +ColorDepth - Current video color depth in bits per pixel +RefreshRate - Current video refresh rate in Hz. + +Returns: +EFI_SUCCESS - Mode information returned. +EFI_NOT_STARTED - Video display is not initialized. Call SetMode () + +--*/ +; + +typedef struct { + UINT8 Blue; + UINT8 Green; + UINT8 Red; + UINT8 Reserved; +} EFI_UGA_PIXEL; + +typedef union { + EFI_UGA_PIXEL Pixel; + UINT32 Raw; +} EFI_UGA_PIXEL_UNION; + +typedef enum { + EfiUgaVideoFill, + EfiUgaVideoToBltBuffer, + EfiUgaBltBufferToVideo, + EfiUgaVideoToVideo, + EfiUgaBltMax +} EFI_UGA_BLT_OPERATION; + +typedef +EFI_STATUS +(EFIAPI *EFI_UGA_DRAW_PROTOCOL_BLT) ( + IN struct _EFI_UGA_DRAW_PROTOCOL * This, + IN EFI_UGA_PIXEL * BltBuffer, OPTIONAL + IN EFI_UGA_BLT_OPERATION BltOperation, + IN UINTN SourceX, + IN UINTN SourceY, + IN UINTN DestinationX, + IN UINTN DestinationY, + IN UINTN Width, + IN UINTN Height, + IN UINTN Delta OPTIONAL + ); + +/*++ + +Routine Description: +The following table defines actions for BltOperations: +EfiUgaVideoFill - Write data from the BltBuffer pixel (SourceX, SourceY) +directly to every pixel of the video display rectangle +(DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). +Only one pixel will be used from the BltBuffer. Delta is NOT used. +EfiUgaVideoToBltBuffer - Read data from the video display rectangle +(SourceX, SourceY) (SourceX + Width, SourceY + Height) and place it in +the BltBuffer rectangle (DestinationX, DestinationY ) +(DestinationX + Width, DestinationY + Height). If DestinationX or +DestinationY is not zero then Delta must be set to the length in bytes +of a row in the BltBuffer. +EfiUgaBltBufferToVideo - Write data from the BltBuffer rectangle +(SourceX, SourceY) (SourceX + Width, SourceY + Height) directly to the +video display rectangle (DestinationX, DestinationY) +(DestinationX + Width, DestinationY + Height). If SourceX or SourceY is +not zero then Delta must be set to the length in bytes of a row in the +BltBuffer. +EfiUgaVideoToVideo - Copy from the video display rectangle (SourceX, SourceY) +(SourceX + Width, SourceY + Height) .to the video display rectangle +(DestinationX, DestinationY) (DestinationX + Width, DestinationY + Height). +The BltBuffer and Delta are not used in this mode. + +Arguments: +This - Protocol instance pointer. +BltBuffer - Buffer containing data to blit into video buffer. This +buffer has a size of Width*Height*sizeof(EFI_UGA_PIXEL) +BltOperation - Operation to perform on BlitBuffer and video memory +SourceX - X coordinate of source for the BltBuffer. +SourceY - Y coordinate of source for the BltBuffer. +DestinationX - X coordinate of destination for the BltBuffer. +DestinationY - Y coordinate of destination for the BltBuffer. +Width - Width of rectangle in BltBuffer in pixels. +Height - Hight of rectangle in BltBuffer in pixels. +Delta - + +Returns: +EFI_SUCCESS - The Blt operation completed. +EFI_INVALID_PARAMETER - BltOperation is not valid. +EFI_DEVICE_ERROR - A hardware error occured writting to the video +buffer. + +--*/ +; + +typedef struct _EFI_UGA_DRAW_PROTOCOL { + EFI_UGA_DRAW_PROTOCOL_GET_MODE GetMode; + EFI_UGA_DRAW_PROTOCOL_SET_MODE SetMode; + EFI_UGA_DRAW_PROTOCOL_BLT Blt; +} EFI_UGA_DRAW_PROTOCOL; + +extern EFI_GUID gEfiUgaDrawProtocolGuid; + +#endif diff --git a/libeg/egemb_font.h b/libeg/egemb_font.h new file mode 100644 index 0000000..fa5c043 --- /dev/null +++ b/libeg/egemb_font.h @@ -0,0 +1,302 @@ +static const UINT8 egemb_font_data[3587] = { + 0xff, 0x00, 0xdd, 0x00, 0x80, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, + 0xbc, 0x00, 0x00, 0xff, 0x81, 0x00, 0x04, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x81, 0x00, 0x02, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x82, 0x00, + 0x00, 0xff, 0x8b, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x81, 0x00, + 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0xa1, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x80, 0xff, 0x81, 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, 0x80, 0xff, 0x81, + 0x00, 0x80, 0xff, 0x83, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x81, 0xff, + 0x81, 0x00, 0x80, 0xff, 0x01, 0x00, 0x00, 0x82, 0xff, 0x80, 0x00, 0x80, + 0xff, 0x81, 0x00, 0x80, 0xff, 0xaa, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x82, 0xff, 0x81, 0x00, + 0x81, 0xff, 0x00, 0x00, 0x81, 0xff, 0x80, 0x00, 0x83, 0xff, 0x01, 0x00, + 0x00, 0x83, 0xff, 0x01, 0x00, 0x00, 0x81, 0xff, 0x00, 0x00, 0x80, 0xff, + 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x82, 0xff, 0x80, 0x00, 0x81, 0xff, + 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x80, 0xff, + 0x80, 0x00, 0x80, 0xff, 0x00, 0x00, 0x83, 0xff, 0x00, 0x00, 0x80, 0xff, + 0x01, 0x00, 0x00, 0x80, 0xff, 0x80, 0x00, 0x81, 0xff, 0x81, 0x00, 0x80, + 0xff, 0x01, 0x00, 0x00, 0x82, 0xff, 0x81, 0x00, 0x04, 0xff, 0xff, 0x00, + 0xff, 0x00, 0x87, 0xff, 0x00, 0x00, 0x83, 0xff, 0x00, 0x00, 0x83, 0xff, + 0x00, 0x00, 0x82, 0xff, 0x80, 0x00, 0x82, 0xff, 0x00, 0x00, 0x80, 0xff, + 0x00, 0x00, 0x82, 0xff, 0x80, 0x00, 0x80, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x84, 0x00, 0x80, 0xff, 0x90, 0x00, 0x00, 0xff, 0x87, 0x00, 0x01, 0xff, + 0xff, 0x8d, 0x00, 0x01, 0xff, 0xff, 0x88, 0x00, 0x80, 0xff, 0x85, 0x00, + 0x01, 0xff, 0xff, 0x85, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x01, 0xff, 0xff, 0x84, 0x00, 0x01, 0xff, 0xff, 0xe6, 0x00, 0x00, + 0xff, 0x82, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x82, 0x00, 0x02, 0xff, + 0x00, 0xff, 0x80, 0x00, 0x80, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, 0xff, + 0x8a, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, + 0x82, 0x00, 0x82, 0xff, 0x81, 0x00, 0x00, 0xff, 0x9a, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x00, 0xff, 0x81, 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x83, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x00, 0xff, 0x90, 0x00, 0x01, 0xff, 0xff, 0x85, 0x00, 0x01, 0xff, 0xff, + 0x85, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, + 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x06, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x84, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x82, 0x00, 0x0e, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x06, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x11, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x83, 0x00, + 0x00, 0xff, 0x85, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x8b, 0x00, + 0x00, 0xff, 0x87, 0x00, 0x00, 0xff, 0x8e, 0x00, 0x00, 0xff, 0x87, 0x00, + 0x00, 0xff, 0x89, 0x00, 0x00, 0xff, 0x91, 0x00, 0x00, 0xff, 0x85, 0x00, + 0x00, 0xff, 0xb3, 0x00, 0x00, 0xff, 0xae, 0x00, 0x00, 0xff, 0x83, 0x00, + 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x8a, 0x00, 0x01, 0xff, 0xff, 0x89, + 0x00, 0x00, 0xff, 0x81, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x81, 0x00, + 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, + 0x84, 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x83, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x99, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x00, 0xff, 0x85, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x82, + 0x00, 0x00, 0xff, 0x87, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x01, + 0xff, 0xff, 0x83, 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, 0x00, 0xff, 0x89, + 0x00, 0x00, 0xff, 0x83, 0x00, 0x0a, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x83, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x05, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x82, + 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, + 0x82, 0x00, 0x0e, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x06, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x85, 0x00, + 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x02, 0xff, 0x00, 0xff, 0x81, 0x00, 0x02, 0xff, 0x00, 0xff, + 0x83, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, + 0x85, 0x00, 0x00, 0xff, 0x81, 0x00, 0x02, 0xff, 0x00, 0xff, 0x8f, 0x00, + 0x80, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0xff, 0xff, 0x81, 0x00, 0x81, + 0xff, 0x80, 0x00, 0x03, 0xff, 0xff, 0x00, 0xff, 0x80, 0x00, 0x80, 0xff, + 0x80, 0x00, 0x82, 0xff, 0x80, 0x00, 0x09, 0xff, 0xff, 0x00, 0xff, 0xff, + 0x00, 0xff, 0x00, 0xff, 0xff, 0x80, 0x00, 0x80, 0xff, 0x81, 0x00, 0x81, + 0xff, 0x80, 0x00, 0x01, 0xff, 0x00, 0x80, 0xff, 0x81, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x80, 0xff, 0x08, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x81, 0x00, 0x80, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0x00, + 0xff, 0xff, 0x81, 0x00, 0x0a, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, + 0xff, 0x00, 0xff, 0xff, 0x80, 0x00, 0x81, 0xff, 0x01, 0x00, 0x00, 0x82, + 0xff, 0x07, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x80, 0xff, + 0x00, 0x00, 0x83, 0xff, 0x00, 0x00, 0x82, 0xff, 0x04, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x80, 0xff, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x82, 0xff, + 0x81, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, + 0x89, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x88, 0x00, 0x00, 0xff, 0x88, + 0x00, 0x82, 0xff, 0x02, 0x00, 0x00, 0xff, 0x86, 0x00, 0x01, 0xff, 0xff, + 0x80, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, + 0x83, 0x00, 0x00, 0xff, 0x82, 0x00, 0x02, 0xff, 0x00, 0xff, 0x82, 0x00, + 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x82, 0x00, + 0x01, 0xff, 0xff, 0x81, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x80, 0xff, 0x80, 0x00, 0x81, 0xff, 0x83, 0x00, 0x00, 0xff, 0x81, 0x00, + 0x80, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x01, 0xff, 0xff, 0x83, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, 0x01, 0xff, + 0xff, 0x82, 0x00, 0x82, 0xff, 0x81, 0x00, 0x01, 0xff, 0xff, 0x84, 0x00, + 0x07, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x80, 0x00, 0x02, + 0xff, 0x00, 0xff, 0x80, 0x00, 0x81, 0xff, 0x80, 0x00, 0x00, 0xff, 0x83, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, 0x00, 0x80, 0xff, 0x82, + 0x00, 0x80, 0xff, 0x80, 0x00, 0x00, 0xff, 0x83, 0x00, 0x82, 0xff, 0x81, + 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, + 0xff, 0x82, 0x00, 0x00, 0xff, 0x82, 0x00, 0x0e, 0xff, 0x00, 0xff, 0x00, + 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x06, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x80, 0xff, 0x82, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, + 0x04, 0xff, 0x00, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x82, 0x00, + 0x02, 0xff, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, + 0x83, 0x00, 0x00, 0xff, 0x85, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x00, 0xff, 0x8d, 0x00, 0x00, 0xff, 0x80, 0x00, 0x0a, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x0a, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x82, 0x00, 0x0b, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x81, + 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, + 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x81, 0x00, 0x0e, 0xff, 0x00, 0xff, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x0e, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0x81, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x82, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x06, 0xff, 0x00, 0x00, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x06, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x83, 0x00, 0x00, 0xff, 0x8c, 0x00, 0x00, 0xff, 0x88, 0x00, 0x00, + 0xff, 0x89, 0x00, 0x02, 0xff, 0x00, 0xff, 0x81, 0x00, 0x80, 0xff, 0x80, + 0x00, 0x80, 0xff, 0x82, 0x00, 0x00, 0xff, 0x8b, 0x00, 0x00, 0xff, 0x83, + 0x00, 0x00, 0xff, 0x82, 0x00, 0x04, 0xff, 0x00, 0xff, 0x00, 0x00, 0x84, + 0xff, 0x85, 0x00, 0x82, 0xff, 0x88, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x85, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x83, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x82, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x81, 0xff, 0x8c, 0x00, 0x00, 0xff, 0x8f, 0x00, 0x00, 0xff, 0x82, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x04, 0xff, 0x00, 0xff, 0x00, 0xff, 0x80, + 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, + 0xff, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x80, 0x00, 0x05, 0xff, + 0x00, 0x00, 0xff, 0x00, 0xff, 0x82, 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, + 0x00, 0x02, 0xff, 0x00, 0x00, 0x80, 0xff, 0x01, 0x00, 0xff, 0x80, 0x00, + 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x03, 0xff, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x80, 0xff, 0x82, 0x00, 0x00, 0xff, 0x82, 0x00, 0x0e, + 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x80, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, 0x00, 0x81, 0xff, 0x84, + 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, 0x04, + 0xff, 0x00, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x83, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, + 0xff, 0x84, 0x00, 0x00, 0xff, 0x96, 0x00, 0x81, 0xff, 0x02, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x02, 0xff, 0x00, 0x00, 0x82, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x82, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x80, 0xff, 0x83, 0x00, 0x00, 0xff, 0x81, 0x00, 0x07, 0xff, 0x00, + 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x83, + 0x00, 0x80, 0xff, 0x81, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x07, 0xff, 0x00, 0x00, + 0xff, 0x00, 0xff, 0x00, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, + 0x03, 0xff, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x83, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x82, 0x00, 0x03, + 0xff, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x95, 0x00, 0x82, 0xff, + 0x05, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x04, 0xff, 0x00, 0xff, 0x00, 0xff, 0x88, 0x00, 0x00, 0xff, 0x83, + 0x00, 0x00, 0xff, 0x8a, 0x00, 0x00, 0xff, 0x98, 0x00, 0x00, 0xff, 0x81, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x82, + 0x00, 0x00, 0xff, 0x86, 0x00, 0x02, 0xff, 0x00, 0x00, 0x83, 0xff, 0x82, + 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x82, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x83, 0x00, + 0x00, 0xff, 0x8d, 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, 0x82, 0xff, 0x81, + 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, 0x00, 0xff, 0x81, 0x00, 0x06, 0xff, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x82, 0xff, 0x02, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x82, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x81, 0x00, 0x06, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x0a, 0xff, 0x00, 0x00, 0xff, + 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x80, 0x00, 0x06, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, + 0xff, 0x00, 0xff, 0x80, 0x00, 0x04, 0xff, 0x00, 0xff, 0x00, 0xff, 0x80, + 0x00, 0x02, 0xff, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, + 0xff, 0x83, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, + 0xff, 0x95, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x82, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, + 0xff, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x81, 0x00, 0x07, 0xff, 0x00, + 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x86, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x02, 0xff, 0x00, 0xff, 0x80, 0x00, 0x04, + 0xff, 0x00, 0xff, 0x00, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, + 0x02, 0xff, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, + 0x84, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0xff, 0xff, 0x82, 0x00, 0x00, 0xff, 0x97, 0x00, 0x02, 0xff, 0x00, + 0xff, 0x80, 0x00, 0x80, 0xff, 0x83, 0x00, 0x08, 0xff, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x89, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x8a, 0x00, 0x00, 0xff, 0x83, 0x00, 0x01, 0xff, 0xff, 0x88, 0x00, + 0x01, 0xff, 0xff, 0x82, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x83, 0x00, + 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x81, 0x00, 0x01, 0xff, + 0xff, 0x83, 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, 0x00, 0xff, 0x89, 0x00, + 0x00, 0xff, 0x89, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x06, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x82, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x06, 0xff, + 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x0a, 0xff, 0x00, 0x00, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x80, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x07, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x07, 0xff, 0x00, 0xff, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, + 0xff, 0x81, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, + 0xff, 0x85, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x95, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, + 0x03, 0xff, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, + 0x81, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x82, 0x00, 0x00, 0xff, 0x81, 0x00, 0x07, 0xff, 0x00, + 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, + 0xff, 0x80, 0x00, 0x03, 0xff, 0x00, 0x00, 0xff, 0x80, 0x00, 0x03, 0xff, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x82, + 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x80, + 0x00, 0x06, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x02, + 0xff, 0x00, 0xff, 0x80, 0x00, 0x0a, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, + 0x00, 0xff, 0x00, 0x00, 0xff, 0x82, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, + 0x00, 0xff, 0x80, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, 0x83, 0x00, + 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x98, 0x00, 0x00, 0xff, 0x88, 0x00, + 0x02, 0xff, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x84, 0x00, 0x00, 0xff, + 0x81, 0x00, 0x03, 0xff, 0xff, 0x00, 0xff, 0x88, 0x00, 0x00, 0xff, 0x83, + 0x00, 0x00, 0xff, 0x8a, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x89, + 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, 0x00, 0xff, 0x83, 0x00, 0x80, 0xff, + 0x80, 0x00, 0x82, 0xff, 0x01, 0x00, 0x00, 0x82, 0xff, 0x80, 0x00, 0x80, + 0xff, 0x83, 0x00, 0x80, 0xff, 0x01, 0x00, 0x00, 0x80, 0xff, 0x81, 0x00, + 0x80, 0xff, 0x82, 0x00, 0x00, 0xff, 0x82, 0x00, 0x80, 0xff, 0x80, 0x00, + 0x80, 0xff, 0x82, 0x00, 0x01, 0xff, 0xff, 0x82, 0x00, 0x01, 0xff, 0xff, + 0x84, 0x00, 0x01, 0xff, 0xff, 0x85, 0x00, 0x01, 0xff, 0xff, 0x84, 0x00, + 0x01, 0xff, 0xff, 0x81, 0x00, 0x00, 0xff, 0x80, 0x00, 0x01, 0xff, 0x00, + 0x80, 0xff, 0x00, 0x00, 0x85, 0xff, 0x81, 0x00, 0x80, 0xff, 0x01, 0x00, + 0x00, 0x81, 0xff, 0x80, 0x00, 0x83, 0xff, 0x01, 0x00, 0x00, 0x80, 0xff, + 0x82, 0x00, 0x80, 0xff, 0x01, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x80, + 0xff, 0x00, 0x00, 0x82, 0xff, 0x80, 0x00, 0x01, 0xff, 0xff, 0x80, 0x00, + 0x80, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x00, 0x82, 0xff, 0x00, 0x00, + 0x80, 0xff, 0x00, 0x00, 0x83, 0xff, 0x02, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x80, 0xff, 0x80, 0x00, 0x80, 0xff, 0x82, 0x00, 0x80, 0xff, 0x01, 0x00, + 0x00, 0x80, 0xff, 0x80, 0x00, 0x05, 0xff, 0x00, 0xff, 0x00, 0xff, 0xff, + 0x81, 0x00, 0x80, 0xff, 0x81, 0x00, 0x80, 0xff, 0x82, 0x00, 0x00, 0xff, + 0x82, 0x00, 0x06, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, + 0x03, 0xff, 0xff, 0x00, 0x00, 0x80, 0xff, 0x80, 0x00, 0x82, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x85, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x96, + 0x00, 0x87, 0xff, 0x81, 0x00, 0x80, 0xff, 0x81, 0x00, 0x82, 0xff, 0x01, + 0x00, 0x00, 0x81, 0xff, 0x01, 0x00, 0x00, 0x82, 0xff, 0x80, 0x00, 0x81, + 0xff, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x80, 0xff, 0x00, 0x00, 0x82, + 0xff, 0x82, 0x00, 0x05, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0x81, 0xff, + 0x00, 0x00, 0x82, 0xff, 0x00, 0x00, 0x87, 0xff, 0x00, 0x00, 0x80, 0xff, + 0x01, 0x00, 0x00, 0x80, 0xff, 0x80, 0x00, 0x81, 0xff, 0x81, 0x00, 0x81, + 0xff, 0x01, 0x00, 0x00, 0x82, 0xff, 0x01, 0x00, 0x00, 0x81, 0xff, 0x82, + 0x00, 0x80, 0xff, 0x80, 0x00, 0x04, 0xff, 0xff, 0x00, 0xff, 0xff, 0x80, + 0x00, 0x00, 0xff, 0x82, 0x00, 0x0a, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, + 0xff, 0x00, 0x00, 0xff, 0xff, 0x81, 0x00, 0x00, 0xff, 0x81, 0x00, 0x82, + 0xff, 0x81, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x89, 0x00, 0x01, 0xff, 0xff, 0x96, 0x00, 0x02, 0xff, 0x00, 0xff, + 0x83, 0x00, 0x00, 0xff, 0x99, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, 0xff, + 0x91, 0x00, 0x01, 0xff, 0xff, 0x8f, 0x00, 0x00, 0xff, 0xd1, 0x00, 0x00, + 0xff, 0x9f, 0x00, 0x80, 0xff, 0xf2, 0x00, 0x80, 0xff, 0xbf, 0x00, 0x00, + 0xff, 0x85, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, 0xff, 0xc3, 0x00, 0x00, + 0xff, 0x90, 0x00, 0x00, 0xff, 0xa3, 0x00, 0x00, 0xff, 0x87, 0x00, 0x00, + 0xff, 0xb2, 0x00, 0x00, 0xff, 0x8a, 0x00, 0x00, 0xff, 0x83, 0x00, 0x00, + 0xff, 0x83, 0x00, 0x00, 0xff, 0xca, 0x00, 0x00, 0xff, 0x81, 0x00, 0x00, + 0xff, 0x91, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0x00, 0xc1, 0x00, 0x80, + 0xff, 0x88, 0x00, 0x80, 0xff, 0xc0, 0x00, 0x80, 0xff, 0x8e, 0x00, 0x80, + 0xff, 0xa3, 0x00, 0x80, 0xff, 0x85, 0x00, 0x80, 0xff, 0xaf, 0x00, 0x81, + 0xff, 0x8a, 0x00, 0x00, 0xff, 0x88, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, + 0x00, 0xff, 0x00, 0xc2, 0x00, 0x84, 0xff, 0xff, 0x00, 0xdb, 0x00, +}; +static EG_EMBEDDED_IMAGE egemb_font = { 672, 12, EG_EIPIXELMODE_ALPHA, EG_EICOMPMODE_RLE, egemb_font_data, 3587 }; diff --git a/libeg/image.c b/libeg/image.c new file mode 100644 index 0000000..5907c09 --- /dev/null +++ b/libeg/image.c @@ -0,0 +1,557 @@ +/* + * libeg/image.c + * Image handling functions + * + * Copyright (c) 2006 Christoph Pfisterer + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Christoph Pfisterer nor the names of the + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "libegint.h" +#include "refit_call_wrapper.h" + +#define MAX_FILE_SIZE (1024*1024*1024) + +// +// Basic image handling +// + +EG_IMAGE * egCreateImage(IN UINTN Width, IN UINTN Height, IN BOOLEAN HasAlpha) +{ + EG_IMAGE *NewImage; + + NewImage = (EG_IMAGE *) AllocatePool(sizeof(EG_IMAGE)); + if (NewImage == NULL) + return NULL; + NewImage->PixelData = (EG_PIXEL *) AllocatePool(Width * Height * sizeof(EG_PIXEL)); + if (NewImage->PixelData == NULL) { + FreePool(NewImage); + return NULL; + } + + NewImage->Width = Width; + NewImage->Height = Height; + NewImage->HasAlpha = HasAlpha; + return NewImage; +} + +EG_IMAGE * egCreateFilledImage(IN UINTN Width, IN UINTN Height, IN BOOLEAN HasAlpha, IN EG_PIXEL *Color) +{ + EG_IMAGE *NewImage; + + NewImage = egCreateImage(Width, Height, HasAlpha); + if (NewImage == NULL) + return NULL; + + egFillImage(NewImage, Color); + return NewImage; +} + +EG_IMAGE * egCopyImage(IN EG_IMAGE *Image) +{ + EG_IMAGE *NewImage; + + NewImage = egCreateImage(Image->Width, Image->Height, Image->HasAlpha); + if (NewImage == NULL) + return NULL; + + CopyMem(NewImage->PixelData, Image->PixelData, Image->Width * Image->Height * sizeof(EG_PIXEL)); + return NewImage; +} + +VOID egFreeImage(IN EG_IMAGE *Image) +{ + if (Image != NULL) { + if (Image->PixelData != NULL) + FreePool(Image->PixelData); + FreePool(Image); + } +} + +// +// Basic file operations +// + +EFI_STATUS egLoadFile(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, + OUT UINT8 **FileData, OUT UINTN *FileDataLength) +{ + EFI_STATUS Status; + EFI_FILE_HANDLE FileHandle; + EFI_FILE_INFO *FileInfo; + UINT64 ReadSize; + UINTN BufferSize; + UINT8 *Buffer; + + Status = refit_call5_wrapper(BaseDir->Open, BaseDir, &FileHandle, FileName, EFI_FILE_MODE_READ, 0); + if (EFI_ERROR(Status)) { +// Print(L"Returning %d from egLoadFile() because of an error on open!\n", Status); + return Status; + } + + FileInfo = LibFileInfo(FileHandle); + if (FileInfo == NULL) { + refit_call1_wrapper(FileHandle->Close, FileHandle); +// Print(L"LibFileInfo() returned NULL!\n"); + return EFI_NOT_FOUND; + } + ReadSize = FileInfo->FileSize; + if (ReadSize > MAX_FILE_SIZE) + ReadSize = MAX_FILE_SIZE; + FreePool(FileInfo); + + BufferSize = (UINTN)ReadSize; // was limited to 1 GB above, so this is safe + Buffer = (UINT8 *) AllocatePool(BufferSize); + if (Buffer == NULL) { + refit_call1_wrapper(FileHandle->Close, FileHandle); + return EFI_OUT_OF_RESOURCES; + } + + Status = refit_call3_wrapper(FileHandle->Read, FileHandle, &BufferSize, Buffer); + refit_call1_wrapper(FileHandle->Close, FileHandle); + if (EFI_ERROR(Status)) { + FreePool(Buffer); + return Status; + } + + *FileData = Buffer; + *FileDataLength = BufferSize; +// Print(L"In egLoadFile(), Returning EFI_SUCCESS\n"); + return EFI_SUCCESS; +} + +static EFI_GUID ESPGuid = { 0xc12a7328, 0xf81f, 0x11d2, { 0xba, 0x4b, 0x00, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b } }; + +static EFI_STATUS egFindESP(OUT EFI_FILE_HANDLE *RootDir) +{ + EFI_STATUS Status; + UINTN HandleCount = 0; + EFI_HANDLE *Handles; + + Status = LibLocateHandle(ByProtocol, &ESPGuid, NULL, &HandleCount, &Handles); + if (!EFI_ERROR(Status) && HandleCount > 0) { + *RootDir = LibOpenRoot(Handles[0]); + if (*RootDir == NULL) + Status = EFI_NOT_FOUND; + FreePool(Handles); + } + return Status; +} + +EFI_STATUS egSaveFile(IN EFI_FILE* BaseDir OPTIONAL, IN CHAR16 *FileName, + IN UINT8 *FileData, IN UINTN FileDataLength) +{ + EFI_STATUS Status; + EFI_FILE_HANDLE FileHandle; + UINTN BufferSize; + + if (BaseDir == NULL) { + Status = egFindESP(&BaseDir); + if (EFI_ERROR(Status)) + return Status; + } + + Status = refit_call5_wrapper(BaseDir->Open, BaseDir, &FileHandle, FileName, + EFI_FILE_MODE_READ | EFI_FILE_MODE_WRITE | EFI_FILE_MODE_CREATE, 0); + if (EFI_ERROR(Status)) + return Status; + + BufferSize = FileDataLength; + Status = refit_call3_wrapper(FileHandle->Write, FileHandle, &BufferSize, FileData); + refit_call1_wrapper(FileHandle->Close, FileHandle); + + return Status; +} + +// +// Loading images from files and embedded data +// + +static CHAR16 * egFindExtension(IN CHAR16 *FileName) +{ + UINTN i; + + for (i = StrLen(FileName); i >= 0; i--) { + if (FileName[i] == '.') + return FileName + i + 1; + if (FileName[i] == '/' || FileName[i] == '\\') + break; + } + return FileName + StrLen(FileName); +} + +static EG_IMAGE * egDecodeAny(IN UINT8 *FileData, IN UINTN FileDataLength, + IN CHAR16 *Format, IN UINTN IconSize, IN BOOLEAN WantAlpha) +{ + EG_IMAGE *NewImage = NULL; + + // Note: The UEFI implementation in Gigabyte's Hybrid EFI is buggy and does + // a case-sensitive comparison in StriCmp rather than the case-insensitive + // comparison that the spec says should be done. As a workaround, we repeat + // the comparison twice here. + // dispatch by extension + if ((StriCmp(Format, L"BMP") == 0) || (StriCmp(Format, L"bmp") == 0)) { + NewImage = egDecodeBMP(FileData, FileDataLength, IconSize, WantAlpha); + } else if ((StriCmp(Format, L"ICNS") == 0) || (StriCmp(Format, L"icns") == 0)) { + NewImage = egDecodeICNS(FileData, FileDataLength, IconSize, WantAlpha); + } // if/else + + return NewImage; +} + +EG_IMAGE * egLoadImage(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, IN BOOLEAN WantAlpha) +{ + EFI_STATUS Status; + UINT8 *FileData; + UINTN FileDataLength; + EG_IMAGE *NewImage; + + if (BaseDir == NULL || FileName == NULL) + return NULL; + + // load file + Status = egLoadFile(BaseDir, FileName, &FileData, &FileDataLength); + if (EFI_ERROR(Status)) + return NULL; + + // decode it + NewImage = egDecodeAny(FileData, FileDataLength, egFindExtension(FileName), 128, WantAlpha); + FreePool(FileData); + + return NewImage; +} + +EG_IMAGE * egLoadIcon(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, IN UINTN IconSize) +{ + EFI_STATUS Status; + UINT8 *FileData; + UINTN FileDataLength; + EG_IMAGE *NewImage; + + if (BaseDir == NULL || FileName == NULL) + return NULL; + + // load file + Status = egLoadFile(BaseDir, FileName, &FileData, &FileDataLength); + if (EFI_ERROR(Status)) { +// Print(L"In egLoadIcon(), Status = %d after egLoadFile(); aborting load!\n", Status); + return NULL; + } + + // decode it + NewImage = egDecodeAny(FileData, FileDataLength, egFindExtension(FileName), IconSize, TRUE); +// Print(L"Done with egDecodeAny(), used extension '%s'\n", egFindExtension(FileName)); +// if (NewImage == NULL) +// Print(L"Returning NULL from egLoadIcon()\n"); + FreePool(FileData); + + return NewImage; +} + +EG_IMAGE * egDecodeImage(IN UINT8 *FileData, IN UINTN FileDataLength, IN CHAR16 *Format, IN BOOLEAN WantAlpha) +{ + return egDecodeAny(FileData, FileDataLength, Format, 128, WantAlpha); +} + +EG_IMAGE * egPrepareEmbeddedImage(IN EG_EMBEDDED_IMAGE *EmbeddedImage, IN BOOLEAN WantAlpha) +{ + EG_IMAGE *NewImage; + UINT8 *CompData; + UINTN CompLen; + UINTN PixelCount; + + // sanity check + if (EmbeddedImage->PixelMode > EG_MAX_EIPIXELMODE || + (EmbeddedImage->CompressMode != EG_EICOMPMODE_NONE && EmbeddedImage->CompressMode != EG_EICOMPMODE_RLE)) + return NULL; + + // allocate image structure and pixel buffer + NewImage = egCreateImage(EmbeddedImage->Width, EmbeddedImage->Height, WantAlpha); + if (NewImage == NULL) + return NULL; + + CompData = (UINT8 *)EmbeddedImage->Data; // drop const + CompLen = EmbeddedImage->DataLength; + PixelCount = EmbeddedImage->Width * EmbeddedImage->Height; + + // FUTURE: for EG_EICOMPMODE_EFICOMPRESS, decompress whole data block here + + if (EmbeddedImage->PixelMode == EG_EIPIXELMODE_GRAY || + EmbeddedImage->PixelMode == EG_EIPIXELMODE_GRAY_ALPHA) { + + // copy grayscale plane and expand + if (EmbeddedImage->CompressMode == EG_EICOMPMODE_RLE) { + egDecompressIcnsRLE(&CompData, &CompLen, PLPTR(NewImage, r), PixelCount); + } else { + egInsertPlane(CompData, PLPTR(NewImage, r), PixelCount); + CompData += PixelCount; + } + egCopyPlane(PLPTR(NewImage, r), PLPTR(NewImage, g), PixelCount); + egCopyPlane(PLPTR(NewImage, r), PLPTR(NewImage, b), PixelCount); + + } else if (EmbeddedImage->PixelMode == EG_EIPIXELMODE_COLOR || + EmbeddedImage->PixelMode == EG_EIPIXELMODE_COLOR_ALPHA) { + + // copy color planes + if (EmbeddedImage->CompressMode == EG_EICOMPMODE_RLE) { + egDecompressIcnsRLE(&CompData, &CompLen, PLPTR(NewImage, r), PixelCount); + egDecompressIcnsRLE(&CompData, &CompLen, PLPTR(NewImage, g), PixelCount); + egDecompressIcnsRLE(&CompData, &CompLen, PLPTR(NewImage, b), PixelCount); + } else { + egInsertPlane(CompData, PLPTR(NewImage, r), PixelCount); + CompData += PixelCount; + egInsertPlane(CompData, PLPTR(NewImage, g), PixelCount); + CompData += PixelCount; + egInsertPlane(CompData, PLPTR(NewImage, b), PixelCount); + CompData += PixelCount; + } + + } else { + + // set color planes to black + egSetPlane(PLPTR(NewImage, r), 0, PixelCount); + egSetPlane(PLPTR(NewImage, g), 0, PixelCount); + egSetPlane(PLPTR(NewImage, b), 0, PixelCount); + + } + + if (WantAlpha && (EmbeddedImage->PixelMode == EG_EIPIXELMODE_GRAY_ALPHA || + EmbeddedImage->PixelMode == EG_EIPIXELMODE_COLOR_ALPHA || + EmbeddedImage->PixelMode == EG_EIPIXELMODE_ALPHA)) { + + // copy alpha plane + if (EmbeddedImage->CompressMode == EG_EICOMPMODE_RLE) { + egDecompressIcnsRLE(&CompData, &CompLen, PLPTR(NewImage, a), PixelCount); + } else { + egInsertPlane(CompData, PLPTR(NewImage, a), PixelCount); + CompData += PixelCount; + } + + } else { + egSetPlane(PLPTR(NewImage, a), WantAlpha ? 255 : 0, PixelCount); + } + + return NewImage; +} + +// +// Compositing +// + +VOID egRestrictImageArea(IN EG_IMAGE *Image, + IN UINTN AreaPosX, IN UINTN AreaPosY, + IN OUT UINTN *AreaWidth, IN OUT UINTN *AreaHeight) +{ + if (AreaPosX >= Image->Width || AreaPosY >= Image->Height) { + // out of bounds, operation has no effect + *AreaWidth = 0; + *AreaHeight = 0; + } else { + // calculate affected area + if (*AreaWidth > Image->Width - AreaPosX) + *AreaWidth = Image->Width - AreaPosX; + if (*AreaHeight > Image->Height - AreaPosY) + *AreaHeight = Image->Height - AreaPosY; + } +} + +VOID egFillImage(IN OUT EG_IMAGE *CompImage, IN EG_PIXEL *Color) +{ + UINTN i; + EG_PIXEL FillColor; + EG_PIXEL *PixelPtr; + + FillColor = *Color; + if (!CompImage->HasAlpha) + FillColor.a = 0; + + PixelPtr = CompImage->PixelData; + for (i = 0; i < CompImage->Width * CompImage->Height; i++, PixelPtr++) + *PixelPtr = FillColor; +} + +VOID egFillImageArea(IN OUT EG_IMAGE *CompImage, + IN UINTN AreaPosX, IN UINTN AreaPosY, + IN UINTN AreaWidth, IN UINTN AreaHeight, + IN EG_PIXEL *Color) +{ + UINTN x, y; + EG_PIXEL FillColor; + EG_PIXEL *PixelPtr; + EG_PIXEL *PixelBasePtr; + + egRestrictImageArea(CompImage, AreaPosX, AreaPosY, &AreaWidth, &AreaHeight); + + if (AreaWidth > 0) { + FillColor = *Color; + if (!CompImage->HasAlpha) + FillColor.a = 0; + + PixelBasePtr = CompImage->PixelData + AreaPosY * CompImage->Width + AreaPosX; + for (y = 0; y < AreaHeight; y++) { + PixelPtr = PixelBasePtr; + for (x = 0; x < AreaWidth; x++, PixelPtr++) + *PixelPtr = FillColor; + PixelBasePtr += CompImage->Width; + } + } +} + +VOID egRawCopy(IN OUT EG_PIXEL *CompBasePtr, IN EG_PIXEL *TopBasePtr, + IN UINTN Width, IN UINTN Height, + IN UINTN CompLineOffset, IN UINTN TopLineOffset) +{ + UINTN x, y; + EG_PIXEL *TopPtr, *CompPtr; + + for (y = 0; y < Height; y++) { + TopPtr = TopBasePtr; + CompPtr = CompBasePtr; + for (x = 0; x < Width; x++) { + *CompPtr = *TopPtr; + TopPtr++, CompPtr++; + } + TopBasePtr += TopLineOffset; + CompBasePtr += CompLineOffset; + } +} + +VOID egRawCompose(IN OUT EG_PIXEL *CompBasePtr, IN EG_PIXEL *TopBasePtr, + IN UINTN Width, IN UINTN Height, + IN UINTN CompLineOffset, IN UINTN TopLineOffset) +{ + UINTN x, y; + EG_PIXEL *TopPtr, *CompPtr; + UINTN Alpha; + UINTN RevAlpha; + UINTN Temp; + + for (y = 0; y < Height; y++) { + TopPtr = TopBasePtr; + CompPtr = CompBasePtr; + for (x = 0; x < Width; x++) { + Alpha = TopPtr->a; + RevAlpha = 255 - Alpha; + Temp = (UINTN)CompPtr->b * RevAlpha + (UINTN)TopPtr->b * Alpha + 0x80; + CompPtr->b = (Temp + (Temp >> 8)) >> 8; + Temp = (UINTN)CompPtr->g * RevAlpha + (UINTN)TopPtr->g * Alpha + 0x80; + CompPtr->g = (Temp + (Temp >> 8)) >> 8; + Temp = (UINTN)CompPtr->r * RevAlpha + (UINTN)TopPtr->r * Alpha + 0x80; + CompPtr->r = (Temp + (Temp >> 8)) >> 8; + /* + CompPtr->b = ((UINTN)CompPtr->b * RevAlpha + (UINTN)TopPtr->b * Alpha) / 255; + CompPtr->g = ((UINTN)CompPtr->g * RevAlpha + (UINTN)TopPtr->g * Alpha) / 255; + CompPtr->r = ((UINTN)CompPtr->r * RevAlpha + (UINTN)TopPtr->r * Alpha) / 255; + */ + TopPtr++, CompPtr++; + } + TopBasePtr += TopLineOffset; + CompBasePtr += CompLineOffset; + } +} + +VOID egComposeImage(IN OUT EG_IMAGE *CompImage, IN EG_IMAGE *TopImage, IN UINTN PosX, IN UINTN PosY) +{ + UINTN CompWidth, CompHeight; + + CompWidth = TopImage->Width; + CompHeight = TopImage->Height; + egRestrictImageArea(CompImage, PosX, PosY, &CompWidth, &CompHeight); + + // compose + if (CompWidth > 0) { + if (CompImage->HasAlpha) { + CompImage->HasAlpha = FALSE; + egSetPlane(PLPTR(CompImage, a), 0, CompImage->Width * CompImage->Height); + } + + if (TopImage->HasAlpha) + egRawCompose(CompImage->PixelData + PosY * CompImage->Width + PosX, TopImage->PixelData, + CompWidth, CompHeight, CompImage->Width, TopImage->Width); + else + egRawCopy(CompImage->PixelData + PosY * CompImage->Width + PosX, TopImage->PixelData, + CompWidth, CompHeight, CompImage->Width, TopImage->Width); + } +} + +EG_IMAGE * egEnsureImageSize(IN EG_IMAGE *Image, IN UINTN Width, IN UINTN Height, IN EG_PIXEL *Color) +{ + EG_IMAGE *NewImage; + + if (Image == NULL) + return NULL; + if (Image->Width == Width && Image->Height == Height) + return Image; + + NewImage = egCreateFilledImage(Width, Height, Image->HasAlpha, Color); + if (NewImage == NULL) { + egFreeImage(Image); + return NULL; + } + egComposeImage(NewImage, Image, 0, 0); + egFreeImage(Image); + + return NewImage; +} + +// +// misc internal functions +// + +VOID egInsertPlane(IN UINT8 *SrcDataPtr, IN UINT8 *DestPlanePtr, IN UINTN PixelCount) +{ + UINTN i; + + for (i = 0; i < PixelCount; i++) { + *DestPlanePtr = *SrcDataPtr++; + DestPlanePtr += 4; + } +} + +VOID egSetPlane(IN UINT8 *DestPlanePtr, IN UINT8 Value, IN UINTN PixelCount) +{ + UINTN i; + + for (i = 0; i < PixelCount; i++) { + *DestPlanePtr = Value; + DestPlanePtr += 4; + } +} + +VOID egCopyPlane(IN UINT8 *SrcPlanePtr, IN UINT8 *DestPlanePtr, IN UINTN PixelCount) +{ + UINTN i; + + for (i = 0; i < PixelCount; i++) { + *DestPlanePtr = *SrcPlanePtr; + DestPlanePtr += 4, SrcPlanePtr += 4; + } +} + +/* EOF */ diff --git a/libeg/libeg.h b/libeg/libeg.h new file mode 100644 index 0000000..6a2b3c5 --- /dev/null +++ b/libeg/libeg.h @@ -0,0 +1,127 @@ +/* + * libeg/libeg.h + * EFI graphics library header for users + * + * Copyright (c) 2006 Christoph Pfisterer + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Christoph Pfisterer nor the names of the + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __LIBEG_LIBEG_H__ +#define __LIBEG_LIBEG_H__ + + +/* types */ + +/* This should be compatible with EFI_UGA_PIXEL */ +typedef struct { + UINT8 b, g, r, a; +} EG_PIXEL; + +typedef struct { + UINTN Width; + UINTN Height; + BOOLEAN HasAlpha; + EG_PIXEL *PixelData; +} EG_IMAGE; + +#define EG_EIPIXELMODE_GRAY (0) +#define EG_EIPIXELMODE_GRAY_ALPHA (1) +#define EG_EIPIXELMODE_COLOR (2) +#define EG_EIPIXELMODE_COLOR_ALPHA (3) +#define EG_EIPIXELMODE_ALPHA (4) +#define EG_MAX_EIPIXELMODE EG_EIPIXELMODE_ALPHA + +#define EG_EICOMPMODE_NONE (0) +#define EG_EICOMPMODE_RLE (1) +#define EG_EICOMPMODE_EFICOMPRESS (2) + +typedef struct { + UINTN Width; + UINTN Height; + UINTN PixelMode; + UINTN CompressMode; + const UINT8 *Data; + UINTN DataLength; +} EG_EMBEDDED_IMAGE; + +/* functions */ + +VOID egInitScreen(VOID); +VOID egGetScreenSize(OUT UINTN *ScreenWidth, OUT UINTN *ScreenHeight); +CHAR16 * egScreenDescription(VOID); +BOOLEAN egHasGraphicsMode(VOID); +BOOLEAN egIsGraphicsModeEnabled(VOID); +VOID egSetGraphicsModeEnabled(IN BOOLEAN Enable); +// NOTE: Even when egHasGraphicsMode() returns FALSE, you should +// call egSetGraphicsModeEnabled(FALSE) to ensure the system +// is running in text mode. egHasGraphicsMode() only determines +// if libeg can draw to the screen in graphics mode. + +EG_IMAGE * egCreateImage(IN UINTN Width, IN UINTN Height, IN BOOLEAN HasAlpha); +EG_IMAGE * egCreateFilledImage(IN UINTN Width, IN UINTN Height, IN BOOLEAN HasAlpha, IN EG_PIXEL *Color); +EG_IMAGE * egCopyImage(IN EG_IMAGE *Image); +VOID egFreeImage(IN EG_IMAGE *Image); + +EG_IMAGE * egLoadImage(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, IN BOOLEAN WantAlpha); +EG_IMAGE * egLoadIcon(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, IN UINTN IconSize); +EG_IMAGE * egDecodeImage(IN UINT8 *FileData, IN UINTN FileDataLength, IN CHAR16 *Format, IN BOOLEAN WantAlpha); +EG_IMAGE * egPrepareEmbeddedImage(IN EG_EMBEDDED_IMAGE *EmbeddedImage, IN BOOLEAN WantAlpha); + +EG_IMAGE * egEnsureImageSize(IN EG_IMAGE *Image, IN UINTN Width, IN UINTN Height, IN EG_PIXEL *Color); + +EFI_STATUS egLoadFile(IN EFI_FILE* BaseDir, IN CHAR16 *FileName, + OUT UINT8 **FileData, OUT UINTN *FileDataLength); +EFI_STATUS egSaveFile(IN EFI_FILE* BaseDir OPTIONAL, IN CHAR16 *FileName, + IN UINT8 *FileData, IN UINTN FileDataLength); + +VOID egFillImage(IN OUT EG_IMAGE *CompImage, IN EG_PIXEL *Color); +VOID egFillImageArea(IN OUT EG_IMAGE *CompImage, + IN UINTN AreaPosX, IN UINTN AreaPosY, + IN UINTN AreaWidth, IN UINTN AreaHeight, + IN EG_PIXEL *Color); +VOID egComposeImage(IN OUT EG_IMAGE *CompImage, IN EG_IMAGE *TopImage, IN UINTN PosX, IN UINTN PosY); + +VOID egMeasureText(IN CHAR16 *Text, OUT UINTN *Width, OUT UINTN *Height); +VOID egRenderText(IN CHAR16 *Text, IN OUT EG_IMAGE *CompImage, IN UINTN PosX, IN UINTN PosY); + +VOID egClearScreen(IN EG_PIXEL *Color); +VOID egDrawImage(IN EG_IMAGE *Image, IN UINTN ScreenPosX, IN UINTN ScreenPosY); +VOID egDrawImageArea(IN EG_IMAGE *Image, + IN UINTN AreaPosX, IN UINTN AreaPosY, + IN UINTN AreaWidth, IN UINTN AreaHeight, + IN UINTN ScreenPosX, IN UINTN ScreenPosY); + +VOID egScreenShot(VOID); + + +#endif /* __LIBEG_LIBEG_H__ */ + +/* EOF */ diff --git a/libeg/libegint.h b/libeg/libegint.h new file mode 100644 index 0000000..6bcdf1d --- /dev/null +++ b/libeg/libegint.h @@ -0,0 +1,77 @@ +/* + * libeg/libegint.h + * EFI graphics library internal header + * + * Copyright (c) 2006 Christoph Pfisterer + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Christoph Pfisterer nor the names of the + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef __LIBEG_LIBEGINT_H__ +#define __LIBEG_LIBEGINT_H__ + + +#include +#include + +#include "libeg.h" + +/* types */ + +typedef EG_IMAGE * (*EG_DECODE_FUNC)(IN UINT8 *FileData, IN UINTN FileDataLength, IN UINTN IconSize, IN BOOLEAN WantAlpha); + +/* functions */ + +VOID egRestrictImageArea(IN EG_IMAGE *Image, + IN UINTN AreaPosX, IN UINTN AreaPosY, + IN OUT UINTN *AreaWidth, IN OUT UINTN *AreaHeight); +VOID egRawCopy(IN OUT EG_PIXEL *CompBasePtr, IN EG_PIXEL *TopBasePtr, + IN UINTN Width, IN UINTN Height, + IN UINTN CompLineOffset, IN UINTN TopLineOffset); +VOID egRawCompose(IN OUT EG_PIXEL *CompBasePtr, IN EG_PIXEL *TopBasePtr, + IN UINTN Width, IN UINTN Height, + IN UINTN CompLineOffset, IN UINTN TopLineOffset); + +#define PLPTR(imagevar, colorname) ((UINT8 *) &((imagevar)->PixelData->colorname)) + +VOID egDecompressIcnsRLE(IN OUT UINT8 **CompData, IN OUT UINTN *CompLen, IN UINT8 *DestPlanePtr, IN UINTN PixelCount); +VOID egInsertPlane(IN UINT8 *SrcDataPtr, IN UINT8 *DestPlanePtr, IN UINTN PixelCount); +VOID egSetPlane(IN UINT8 *DestPlanePtr, IN UINT8 Value, IN UINTN PixelCount); +VOID egCopyPlane(IN UINT8 *SrcPlanePtr, IN UINT8 *DestPlanePtr, IN UINTN PixelCount); + +EG_IMAGE * egDecodeBMP(IN UINT8 *FileData, IN UINTN FileDataLength, IN UINTN IconSize, IN BOOLEAN WantAlpha); +EG_IMAGE * egDecodeICNS(IN UINT8 *FileData, IN UINTN FileDataLength, IN UINTN IconSize, IN BOOLEAN WantAlpha); + +VOID egEncodeBMP(IN EG_IMAGE *Image, OUT UINT8 **FileData, OUT UINTN *FileDataLength); + + +#endif /* __LIBEG_LIBEGINT_H__ */ + +/* EOF */ diff --git a/libeg/load_bmp.c b/libeg/load_bmp.c new file mode 100644 index 0000000..d0092e5 --- /dev/null +++ b/libeg/load_bmp.c @@ -0,0 +1,265 @@ +/* + * libeg/load_bmp.c + * Loading function for BMP images + * + * Copyright (c) 2006 Christoph Pfisterer + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Christoph Pfisterer nor the names of the + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "libegint.h" + +// BMP structures + +#pragma pack(1) + +typedef struct { + UINT8 Blue; + UINT8 Green; + UINT8 Red; + UINT8 Reserved; +} BMP_COLOR_MAP; + +typedef struct { + CHAR8 CharB; + CHAR8 CharM; + UINT32 Size; + UINT16 Reserved[2]; + UINT32 ImageOffset; + UINT32 HeaderSize; + UINT32 PixelWidth; + UINT32 PixelHeight; + UINT16 Planes; // Must be 1 + UINT16 BitPerPixel; // 1, 4, 8, or 24 + UINT32 CompressionType; + UINT32 ImageSize; // Compressed image size in bytes + UINT32 XPixelsPerMeter; + UINT32 YPixelsPerMeter; + UINT32 NumberOfColors; + UINT32 ImportantColors; +} BMP_IMAGE_HEADER; + +#pragma pack() + +// +// Load BMP image +// + +EG_IMAGE * egDecodeBMP(IN UINT8 *FileData, IN UINTN FileDataLength, IN UINTN IconSize, IN BOOLEAN WantAlpha) +{ + EG_IMAGE *NewImage; + BMP_IMAGE_HEADER *BmpHeader; + BMP_COLOR_MAP *BmpColorMap; + UINTN x, y; + UINT8 *ImagePtr; + UINT8 *ImagePtrBase; + UINTN ImageLineOffset; + UINT8 ImageValue = 0, AlphaValue; + EG_PIXEL *PixelPtr; + UINTN Index, BitIndex; + + // read and check header + if (FileDataLength < sizeof(BMP_IMAGE_HEADER) || FileData == NULL) + return NULL; + BmpHeader = (BMP_IMAGE_HEADER *) FileData; + if (BmpHeader->CharB != 'B' || BmpHeader->CharM != 'M') + return NULL; + if (BmpHeader->CompressionType != 0) + return NULL; + if (BmpHeader->BitPerPixel != 1 && BmpHeader->BitPerPixel != 4 && + BmpHeader->BitPerPixel != 8 && BmpHeader->BitPerPixel != 24) + return NULL; + + // calculate parameters + ImageLineOffset = BmpHeader->PixelWidth; + if (BmpHeader->BitPerPixel == 24) + ImageLineOffset *= 3; + else if (BmpHeader->BitPerPixel == 1) + ImageLineOffset = (ImageLineOffset + 7) >> 3; + else if (BmpHeader->BitPerPixel == 4) + ImageLineOffset = (ImageLineOffset + 1) >> 1; + if ((ImageLineOffset % 4) != 0) + ImageLineOffset = ImageLineOffset + (4 - (ImageLineOffset % 4)); + // check bounds + if (BmpHeader->ImageOffset + ImageLineOffset * BmpHeader->PixelHeight > FileDataLength) + return NULL; + + // allocate image structure and buffer + NewImage = egCreateImage(BmpHeader->PixelWidth, BmpHeader->PixelHeight, WantAlpha); + if (NewImage == NULL) + return NULL; + AlphaValue = WantAlpha ? 255 : 0; + + // convert image + BmpColorMap = (BMP_COLOR_MAP *)(FileData + sizeof(BMP_IMAGE_HEADER)); + ImagePtrBase = FileData + BmpHeader->ImageOffset; + for (y = 0; y < BmpHeader->PixelHeight; y++) { + ImagePtr = ImagePtrBase; + ImagePtrBase += ImageLineOffset; + PixelPtr = NewImage->PixelData + (BmpHeader->PixelHeight - 1 - y) * BmpHeader->PixelWidth; + + switch (BmpHeader->BitPerPixel) { + + case 1: + for (x = 0; x < BmpHeader->PixelWidth; x++) { + BitIndex = x & 0x07; + if (BitIndex == 0) + ImageValue = *ImagePtr++; + + Index = (ImageValue >> (7 - BitIndex)) & 0x01; + PixelPtr->b = BmpColorMap[Index].Blue; + PixelPtr->g = BmpColorMap[Index].Green; + PixelPtr->r = BmpColorMap[Index].Red; + PixelPtr->a = AlphaValue; + PixelPtr++; + } + break; + + case 4: + for (x = 0; x <= BmpHeader->PixelWidth - 2; x += 2) { + ImageValue = *ImagePtr++; + + Index = ImageValue >> 4; + PixelPtr->b = BmpColorMap[Index].Blue; + PixelPtr->g = BmpColorMap[Index].Green; + PixelPtr->r = BmpColorMap[Index].Red; + PixelPtr->a = AlphaValue; + PixelPtr++; + + Index = ImageValue & 0x0f; + PixelPtr->b = BmpColorMap[Index].Blue; + PixelPtr->g = BmpColorMap[Index].Green; + PixelPtr->r = BmpColorMap[Index].Red; + PixelPtr->a = AlphaValue; + PixelPtr++; + } + if (x < BmpHeader->PixelWidth) { + ImageValue = *ImagePtr++; + + Index = ImageValue >> 4; + PixelPtr->b = BmpColorMap[Index].Blue; + PixelPtr->g = BmpColorMap[Index].Green; + PixelPtr->r = BmpColorMap[Index].Red; + PixelPtr->a = AlphaValue; + PixelPtr++; + } + break; + + case 8: + for (x = 0; x < BmpHeader->PixelWidth; x++) { + Index = *ImagePtr++; + PixelPtr->b = BmpColorMap[Index].Blue; + PixelPtr->g = BmpColorMap[Index].Green; + PixelPtr->r = BmpColorMap[Index].Red; + PixelPtr->a = AlphaValue; + PixelPtr++; + } + break; + + case 24: + for (x = 0; x < BmpHeader->PixelWidth; x++) { + PixelPtr->b = *ImagePtr++; + PixelPtr->g = *ImagePtr++; + PixelPtr->r = *ImagePtr++; + PixelPtr->a = AlphaValue; + PixelPtr++; + } + break; + + } + } + + return NewImage; +} + +// +// Save BMP image +// + +VOID egEncodeBMP(IN EG_IMAGE *Image, OUT UINT8 **FileDataReturn, OUT UINTN *FileDataLengthReturn) +{ + BMP_IMAGE_HEADER *BmpHeader; + UINT8 *FileData; + UINTN FileDataLength; + UINT8 *ImagePtr; + UINT8 *ImagePtrBase; + UINTN ImageLineOffset; + EG_PIXEL *PixelPtr; + UINTN x, y; + + ImageLineOffset = Image->Width * 3; + if ((ImageLineOffset % 4) != 0) + ImageLineOffset = ImageLineOffset + (4 - (ImageLineOffset % 4)); + + // allocate buffer for file data + FileDataLength = sizeof(BMP_IMAGE_HEADER) + Image->Height * ImageLineOffset; + FileData = AllocateZeroPool(FileDataLength); + if (FileData == NULL) { + Print(L"Error allocate %d bytes\n", FileDataLength); + *FileDataReturn = NULL; + *FileDataLengthReturn = 0; + return; + } + + // fill header + BmpHeader = (BMP_IMAGE_HEADER *)FileData; + BmpHeader->CharB = 'B'; + BmpHeader->CharM = 'M'; + BmpHeader->Size = FileDataLength; + BmpHeader->ImageOffset = sizeof(BMP_IMAGE_HEADER); + BmpHeader->HeaderSize = 40; + BmpHeader->PixelWidth = Image->Width; + BmpHeader->PixelHeight = Image->Height; + BmpHeader->Planes = 1; + BmpHeader->BitPerPixel = 24; + BmpHeader->CompressionType = 0; + BmpHeader->XPixelsPerMeter = 0xb13; + BmpHeader->YPixelsPerMeter = 0xb13; + + // fill pixel buffer + ImagePtrBase = FileData + BmpHeader->ImageOffset; + for (y = 0; y < Image->Height; y++) { + ImagePtr = ImagePtrBase; + ImagePtrBase += ImageLineOffset; + PixelPtr = Image->PixelData + (Image->Height - 1 - y) * Image->Width; + + for (x = 0; x < Image->Width; x++) { + *ImagePtr++ = PixelPtr->b; + *ImagePtr++ = PixelPtr->g; + *ImagePtr++ = PixelPtr->r; + PixelPtr++; + } + } + + *FileDataReturn = FileData; + *FileDataLengthReturn = FileDataLength; +} + +/* EOF */ diff --git a/libeg/load_icns.c b/libeg/load_icns.c new file mode 100644 index 0000000..6af234d --- /dev/null +++ b/libeg/load_icns.c @@ -0,0 +1,226 @@ +/* + * libeg/load_icns.c + * Loading function for .icns Apple icon images + * + * Copyright (c) 2006 Christoph Pfisterer + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Christoph Pfisterer nor the names of the + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "libegint.h" + +// +// Decompress .icns RLE data +// + +VOID egDecompressIcnsRLE(IN OUT UINT8 **CompData, IN OUT UINTN *CompLen, IN UINT8 *PixelData, IN UINTN PixelCount) +{ + UINT8 *cp; + UINT8 *cp_end; + UINT8 *pp; + UINTN pp_left; + UINTN len, i; + UINT8 value; + + // setup variables + cp = *CompData; + cp_end = cp + *CompLen; + pp = PixelData; + pp_left = PixelCount; + + // decode + while (cp + 1 < cp_end && pp_left > 0) { + len = *cp++; + if (len & 0x80) { // compressed data: repeat next byte + len -= 125; + if (len > pp_left) + break; + value = *cp++; + for (i = 0; i < len; i++) { + *pp = value; + pp += 4; + } + } else { // uncompressed data: copy bytes + len++; + if (len > pp_left || cp + len > cp_end) + break; + for (i = 0; i < len; i++) { + *pp = *cp++; + pp += 4; + } + } + pp_left -= len; + } + + if (pp_left > 0) { + Print(L" egDecompressIcnsRLE: still need %d bytes of pixel data\n", pp_left); + } + + // record what's left of the compressed data stream + *CompData = cp; + *CompLen = (UINTN)(cp_end - cp); +} + +// +// Load Apple .icns icons +// + +EG_IMAGE * egDecodeICNS(IN UINT8 *FileData, IN UINTN FileDataLength, IN UINTN IconSize, IN BOOLEAN WantAlpha) +{ + EG_IMAGE *NewImage; + UINT8 *Ptr, *BufferEnd, *DataPtr, *MaskPtr; + UINT32 BlockLen, DataLen, MaskLen; + UINTN FetchPixelSize, PixelCount, i; + UINT8 *CompData; + UINTN CompLen; + UINT8 *SrcPtr; + EG_PIXEL *DestPtr; + + if (FileDataLength < 8 || FileData == NULL || + FileData[0] != 'i' || FileData[1] != 'c' || FileData[2] != 'n' || FileData[3] != 's') { + // not an icns file... + return NULL; + } + + FetchPixelSize = IconSize; + for (;;) { + DataPtr = NULL; + DataLen = 0; + MaskPtr = NULL; + MaskLen = 0; + + Ptr = FileData + 8; + BufferEnd = FileData + FileDataLength; + // iterate over tagged blocks in the file + while (Ptr + 8 <= BufferEnd) { + BlockLen = ((UINT32)Ptr[4] << 24) + ((UINT32)Ptr[5] << 16) + ((UINT32)Ptr[6] << 8) + (UINT32)Ptr[7]; + if (Ptr + BlockLen > BufferEnd) // block continues beyond end of file + break; + + // extract the appropriate blocks for each pixel size + if (FetchPixelSize == 128) { + if (Ptr[0] == 'i' && Ptr[1] == 't' && Ptr[2] == '3' && Ptr[3] == '2') { + if (Ptr[8] == 0 && Ptr[9] == 0 && Ptr[10] == 0 && Ptr[11] == 0) { + DataPtr = Ptr + 12; + DataLen = BlockLen - 12; + } + } else if (Ptr[0] == 't' && Ptr[1] == '8' && Ptr[2] == 'm' && Ptr[3] == 'k') { + MaskPtr = Ptr + 8; + MaskLen = BlockLen - 8; + } + + } else if (FetchPixelSize == 48) { + if (Ptr[0] == 'i' && Ptr[1] == 'h' && Ptr[2] == '3' && Ptr[3] == '2') { + DataPtr = Ptr + 8; + DataLen = BlockLen - 8; + } else if (Ptr[0] == 'h' && Ptr[1] == '8' && Ptr[2] == 'm' && Ptr[3] == 'k') { + MaskPtr = Ptr + 8; + MaskLen = BlockLen - 8; + } + + } else if (FetchPixelSize == 32) { + if (Ptr[0] == 'i' && Ptr[1] == 'l' && Ptr[2] == '3' && Ptr[3] == '2') { + DataPtr = Ptr + 8; + DataLen = BlockLen - 8; + } else if (Ptr[0] == 'l' && Ptr[1] == '8' && Ptr[2] == 'm' && Ptr[3] == 'k') { + MaskPtr = Ptr + 8; + MaskLen = BlockLen - 8; + } + + } else if (FetchPixelSize == 16) { + if (Ptr[0] == 'i' && Ptr[1] == 's' && Ptr[2] == '3' && Ptr[3] == '2') { + DataPtr = Ptr + 8; + DataLen = BlockLen - 8; + } else if (Ptr[0] == 's' && Ptr[1] == '8' && Ptr[2] == 'm' && Ptr[3] == 'k') { + MaskPtr = Ptr + 8; + MaskLen = BlockLen - 8; + } + + } + + Ptr += BlockLen; + } + + /* FUTURE: try to load a different size and scale it later + if (DataPtr == NULL && FetchPixelSize == 32) { + FetchPixelSize = 128; + continue; + } + */ + break; + } + + if (DataPtr == NULL) + return NULL; // no image found + + // allocate image structure and buffer + NewImage = egCreateImage(FetchPixelSize, FetchPixelSize, WantAlpha); + if (NewImage == NULL) + return NULL; + PixelCount = FetchPixelSize * FetchPixelSize; + + if (DataLen < PixelCount * 3) { + + // pixel data is compressed, RGB planar + CompData = DataPtr; + CompLen = DataLen; + egDecompressIcnsRLE(&CompData, &CompLen, PLPTR(NewImage, r), PixelCount); + egDecompressIcnsRLE(&CompData, &CompLen, PLPTR(NewImage, g), PixelCount); + egDecompressIcnsRLE(&CompData, &CompLen, PLPTR(NewImage, b), PixelCount); + // possible assertion: CompLen == 0 + if (CompLen > 0) { + Print(L" egLoadICNSIcon: %d bytes of compressed data left\n", CompLen); + } + + } else { + + // pixel data is uncompressed, RGB interleaved + SrcPtr = DataPtr; + DestPtr = NewImage->PixelData; + for (i = 0; i < PixelCount; i++, DestPtr++) { + DestPtr->r = *SrcPtr++; + DestPtr->g = *SrcPtr++; + DestPtr->b = *SrcPtr++; + } + + } + + // add/set alpha plane + if (MaskPtr != NULL && MaskLen >= PixelCount && WantAlpha) + egInsertPlane(MaskPtr, PLPTR(NewImage, a), PixelCount); + else + egSetPlane(PLPTR(NewImage, a), WantAlpha ? 255 : 0, PixelCount); + + // FUTURE: scale to originally requested size if we had to load another size + + return NewImage; +} + +/* EOF */ diff --git a/libeg/screen.c b/libeg/screen.c new file mode 100644 index 0000000..f3a36c4 --- /dev/null +++ b/libeg/screen.c @@ -0,0 +1,284 @@ +/* + * libeg/screen.c + * Screen handling functions + * + * Copyright (c) 2006 Christoph Pfisterer + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Christoph Pfisterer nor the names of the + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "libegint.h" +#include "refit_call_wrapper.h" + +#include +/* #include */ +#include + +// Console defines and variables + +static EFI_GUID ConsoleControlProtocolGuid = EFI_CONSOLE_CONTROL_PROTOCOL_GUID; +static EFI_CONSOLE_CONTROL_PROTOCOL *ConsoleControl = NULL; + +static EFI_GUID UgaDrawProtocolGuid = EFI_UGA_DRAW_PROTOCOL_GUID; +static EFI_UGA_DRAW_PROTOCOL *UgaDraw = NULL; + +static EFI_GUID GraphicsOutputProtocolGuid = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID; +static EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput = NULL; + +static BOOLEAN egHasGraphics = FALSE; +static UINTN egScreenWidth = 800; +static UINTN egScreenHeight = 600; + +// +// Screen handling +// + +VOID egInitScreen(VOID) +{ + EFI_STATUS Status; + UINT32 UGAWidth, UGAHeight, UGADepth, UGARefreshRate; + + // get protocols + Status = LibLocateProtocol(&ConsoleControlProtocolGuid, (VOID **) &ConsoleControl); + if (EFI_ERROR(Status)) + ConsoleControl = NULL; + + Status = LibLocateProtocol(&UgaDrawProtocolGuid, (VOID **) &UgaDraw); + if (EFI_ERROR(Status)) + UgaDraw = NULL; + + Status = LibLocateProtocol(&GraphicsOutputProtocolGuid, (VOID **) &GraphicsOutput); + if (EFI_ERROR(Status)) + GraphicsOutput = NULL; + + // get screen size + egHasGraphics = FALSE; + if (GraphicsOutput != NULL) { + egScreenWidth = GraphicsOutput->Mode->Info->HorizontalResolution; + egScreenHeight = GraphicsOutput->Mode->Info->VerticalResolution; + egHasGraphics = TRUE; + } else if (UgaDraw != NULL) { + Status = refit_call5_wrapper(UgaDraw->GetMode, UgaDraw, &UGAWidth, &UGAHeight, &UGADepth, &UGARefreshRate); + if (EFI_ERROR(Status)) { + UgaDraw = NULL; // graphics not available + } else { + egScreenWidth = UGAWidth; + egScreenHeight = UGAHeight; + egHasGraphics = TRUE; + } + } +} + +VOID egGetScreenSize(OUT UINTN *ScreenWidth, OUT UINTN *ScreenHeight) +{ + if (ScreenWidth != NULL) + *ScreenWidth = egScreenWidth; + if (ScreenHeight != NULL) + *ScreenHeight = egScreenHeight; +} + +CHAR16 * egScreenDescription(VOID) +{ + if (egHasGraphics) { + if (GraphicsOutput != NULL) { + return PoolPrint(L"Graphics Output (UEFI), %dx%d", + egScreenWidth, egScreenHeight); + } else if (UgaDraw != NULL) { + return PoolPrint(L"UGA Draw (EFI 1.10), %dx%d", + egScreenWidth, egScreenHeight); + } else { + return L"Internal Error"; + } + } else { + return L"Text Console"; + } +} + +BOOLEAN egHasGraphicsMode(VOID) +{ + return egHasGraphics; +} + +BOOLEAN egIsGraphicsModeEnabled(VOID) +{ + EFI_CONSOLE_CONTROL_SCREEN_MODE CurrentMode; + + if (ConsoleControl != NULL) { + refit_call4_wrapper(ConsoleControl->GetMode, ConsoleControl, &CurrentMode, NULL, NULL); + return (CurrentMode == EfiConsoleControlScreenGraphics) ? TRUE : FALSE; + } + + return FALSE; +} + +VOID egSetGraphicsModeEnabled(IN BOOLEAN Enable) +{ + EFI_CONSOLE_CONTROL_SCREEN_MODE CurrentMode; + EFI_CONSOLE_CONTROL_SCREEN_MODE NewMode; + + if (ConsoleControl != NULL) { + refit_call4_wrapper(ConsoleControl->GetMode, ConsoleControl, &CurrentMode, NULL, NULL); + + NewMode = Enable ? EfiConsoleControlScreenGraphics + : EfiConsoleControlScreenText; + if (CurrentMode != NewMode) + refit_call2_wrapper(ConsoleControl->SetMode, ConsoleControl, NewMode); + } +} + +// +// Drawing to the screen +// + +VOID egClearScreen(IN EG_PIXEL *Color) +{ + EFI_UGA_PIXEL FillColor; + + if (!egHasGraphics) + return; + + FillColor.Red = Color->r; + FillColor.Green = Color->g; + FillColor.Blue = Color->b; + FillColor.Reserved = 0; + + if (GraphicsOutput != NULL) { + // EFI_GRAPHICS_OUTPUT_BLT_PIXEL and EFI_UGA_PIXEL have the same + // layout, and the header from TianoCore actually defines them + // to be the same type. + refit_call10_wrapper(GraphicsOutput->Blt, GraphicsOutput, (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)&FillColor, EfiBltVideoFill, + 0, 0, 0, 0, egScreenWidth, egScreenHeight, 0); + } else if (UgaDraw != NULL) { + refit_call10_wrapper(UgaDraw->Blt, UgaDraw, &FillColor, EfiUgaVideoFill, + 0, 0, 0, 0, egScreenWidth, egScreenHeight, 0); + } +} + +VOID egDrawImage(IN EG_IMAGE *Image, IN UINTN ScreenPosX, IN UINTN ScreenPosY) +{ + if (!egHasGraphics) + return; + + if (Image->HasAlpha) { + Image->HasAlpha = FALSE; + egSetPlane(PLPTR(Image, a), 0, Image->Width * Image->Height); + } + + if (GraphicsOutput != NULL) { + refit_call10_wrapper(GraphicsOutput->Blt, GraphicsOutput, (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)Image->PixelData, EfiBltBufferToVideo, + 0, 0, ScreenPosX, ScreenPosY, Image->Width, Image->Height, 0); + } else if (UgaDraw != NULL) { + refit_call10_wrapper(UgaDraw->Blt, UgaDraw, (EFI_UGA_PIXEL *)Image->PixelData, EfiUgaBltBufferToVideo, + 0, 0, ScreenPosX, ScreenPosY, Image->Width, Image->Height, 0); + } +} + +VOID egDrawImageArea(IN EG_IMAGE *Image, + IN UINTN AreaPosX, IN UINTN AreaPosY, + IN UINTN AreaWidth, IN UINTN AreaHeight, + IN UINTN ScreenPosX, IN UINTN ScreenPosY) +{ + if (!egHasGraphics) + return; + + egRestrictImageArea(Image, AreaPosX, AreaPosY, &AreaWidth, &AreaHeight); + if (AreaWidth == 0) + return; + + if (Image->HasAlpha) { + Image->HasAlpha = FALSE; + egSetPlane(PLPTR(Image, a), 0, Image->Width * Image->Height); + } + + if (GraphicsOutput != NULL) { + refit_call10_wrapper(GraphicsOutput->Blt, GraphicsOutput, (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)Image->PixelData, EfiBltBufferToVideo, + AreaPosX, AreaPosY, ScreenPosX, ScreenPosY, AreaWidth, AreaHeight, Image->Width * 4); + } else if (UgaDraw != NULL) { + refit_call10_wrapper(UgaDraw->Blt, UgaDraw, (EFI_UGA_PIXEL *)Image->PixelData, EfiUgaBltBufferToVideo, + AreaPosX, AreaPosY, ScreenPosX, ScreenPosY, AreaWidth, AreaHeight, Image->Width * 4); + } +} + +// +// Make a screenshot +// + +VOID egScreenShot(VOID) +{ + EFI_STATUS Status; + EG_IMAGE *Image; + UINT8 *FileData; + UINTN FileDataLength; + UINTN Index; + + if (!egHasGraphics) + return; + + // allocate a buffer for the whole screen + Image = egCreateImage(egScreenWidth, egScreenHeight, FALSE); + if (Image == NULL) { + Print(L"Error egCreateImage returned NULL\n"); + goto bailout_wait; + } + + // get full screen image + if (GraphicsOutput != NULL) { + refit_call10_wrapper(GraphicsOutput->Blt, GraphicsOutput, (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *)Image->PixelData, EfiBltVideoToBltBuffer, + 0, 0, 0, 0, Image->Width, Image->Height, 0); + } else if (UgaDraw != NULL) { + refit_call10_wrapper(UgaDraw->Blt, UgaDraw, (EFI_UGA_PIXEL *)Image->PixelData, EfiUgaVideoToBltBuffer, + 0, 0, 0, 0, Image->Width, Image->Height, 0); + } + + // encode as BMP + egEncodeBMP(Image, &FileData, &FileDataLength); + egFreeImage(Image); + if (FileData == NULL) { + Print(L"Error egEncodeBMP returned NULL\n"); + goto bailout_wait; + } + + // save to file on the ESP + Status = egSaveFile(NULL, L"screenshot.bmp", FileData, FileDataLength); + FreePool(FileData); + if (EFI_ERROR(Status)) { + Print(L"Error egSaveFile: %x\n", Status); + goto bailout_wait; + } + + return; + + // DEBUG: switch to text mode +bailout_wait: + egSetGraphicsModeEnabled(FALSE); + refit_call3_wrapper(BS->WaitForEvent, 1, &ST->ConIn->WaitForKey, &Index); +} + +/* EOF */ diff --git a/libeg/text.c b/libeg/text.c new file mode 100644 index 0000000..a59e8cb --- /dev/null +++ b/libeg/text.c @@ -0,0 +1,93 @@ +/* + * libeg/text.c + * Text drawing functions + * + * Copyright (c) 2006 Christoph Pfisterer + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the + * distribution. + * + * * Neither the name of Christoph Pfisterer nor the names of the + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "libegint.h" + +#include "egemb_font.h" +#define FONT_CELL_WIDTH (7) +#define FONT_CELL_HEIGHT (12) + +static EG_IMAGE *FontImage = NULL; + +// +// Text rendering +// + +VOID egMeasureText(IN CHAR16 *Text, OUT UINTN *Width, OUT UINTN *Height) +{ + if (Width != NULL) + *Width = StrLen(Text) * FONT_CELL_WIDTH; + if (Height != NULL) + *Height = FONT_CELL_HEIGHT; +} + +VOID egRenderText(IN CHAR16 *Text, IN OUT EG_IMAGE *CompImage, IN UINTN PosX, IN UINTN PosY) +{ + EG_PIXEL *BufferPtr; + EG_PIXEL *FontPixelData; + UINTN BufferLineOffset, FontLineOffset; + UINTN TextLength; + UINTN i, c; + + // clip the text + TextLength = StrLen(Text); + if (TextLength * FONT_CELL_WIDTH + PosX > CompImage->Width) + TextLength = (CompImage->Width - PosX) / FONT_CELL_WIDTH; + + // load the font + if (FontImage == NULL) + FontImage = egPrepareEmbeddedImage(&egemb_font, TRUE); + + // render it + BufferPtr = CompImage->PixelData; + BufferLineOffset = CompImage->Width; + BufferPtr += PosX + PosY * BufferLineOffset; + FontPixelData = FontImage->PixelData; + FontLineOffset = FontImage->Width; + for (i = 0; i < TextLength; i++) { + c = Text[i]; + if (c < 32 || c >= 127) + c = 95; + else + c -= 32; + egRawCompose(BufferPtr, FontPixelData + c * FONT_CELL_WIDTH, + FONT_CELL_WIDTH, FONT_CELL_HEIGHT, + BufferLineOffset, FontLineOffset); + BufferPtr += FONT_CELL_WIDTH; + } +} + +/* EOF */ -- 2.39.2