From 8c54a7643d85565a573ba87eb6257c6c57743843 Mon Sep 17 00:00:00 2001 From: pelya Date: Thu, 6 Sep 2012 18:55:54 +0300 Subject: [PATCH] Bit depth test --- .../application/testbitdepth/32bittest.cpp | 159 ++++++++++++++++++ .../testbitdepth/AndroidAppSettings.cfg | 44 +++++ .../testbitdepth/AndroidData/data.zip | Bin 0 -> 20062 bytes .../testbitdepth/compare_png/argb8888.png | Bin 0 -> 28210 bytes .../testbitdepth/compare_png/rgb565.png | Bin 0 -> 21590 bytes project/jni/application/testbitdepth/icon.png | Bin 0 -> 2130 bytes 6 files changed, 203 insertions(+) create mode 100644 project/jni/application/testbitdepth/32bittest.cpp create mode 100644 project/jni/application/testbitdepth/AndroidAppSettings.cfg create mode 100644 project/jni/application/testbitdepth/AndroidData/data.zip create mode 100644 project/jni/application/testbitdepth/compare_png/argb8888.png create mode 100644 project/jni/application/testbitdepth/compare_png/rgb565.png create mode 100644 project/jni/application/testbitdepth/icon.png diff --git a/project/jni/application/testbitdepth/32bittest.cpp b/project/jni/application/testbitdepth/32bittest.cpp new file mode 100644 index 000000000..371453d2a --- /dev/null +++ b/project/jni/application/testbitdepth/32bittest.cpp @@ -0,0 +1,159 @@ +#include +#include +#include + +GLuint texture; + +// I've tweaked coordinates a bit to my taste +GLfloat textureCoordinates[] = { 0.0f, 1.0f, + 0.0f, 0.0f, + 1.0f, 0.0f, + 1.0f, 1.0f }; +GLfloat vertices[] = { + 100, 100, + 100, 300, + 300, 300, + 300, 100 }; + +int loadImage() { + SDL_Surface *pic; + SDL_Surface *tmp; + + glGenTextures(1, &texture); + + glBindTexture(GL_TEXTURE_2D, texture); + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + + + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); + + glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + pic = IMG_Load("gradient.png"); + + // check power of 2 + if (!pic || !pic->w || !pic->h || (pic->w & 1) || (pic->h & 1)) { + + return -1; + } + //uncomment for 32bit + tmp = SDL_CreateRGBSurface(0, pic->w, pic->h, 32, 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000 ); + SDL_BlitSurface(pic, NULL, tmp, NULL); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, pic->w, pic->h, 0, GL_RGBA, GL_UNSIGNED_BYTE, tmp->pixels); + + /* + //uncomment for 16bit + tmp = SDL_CreateRGBSurface(0, pic->w, pic->h, 16, 0xF800, 0x7E0, 0x1F, 0); // Correct bits of RGB565 color format + SDL_BlitSurface(pic, NULL, tmp, NULL); + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, pic->w, pic->h, 0, GL_RGB, GL_UNSIGNED_SHORT_5_6_5, tmp->pixels); + */ + + SDL_FreeSurface(pic); + SDL_FreeSurface(tmp); + + return 0; +} + + +int width = 640; +int height = 480; + + +static void +initGL() +{ + + glViewport(0, 0, width, height); + + glMatrixMode(GL_PROJECTION); + glLoadIdentity(); + + glOrthof(0.0f, width, 0.0f, height, -1.0f, 1.0f); + glMatrixMode(GL_MODELVIEW); + + glClearColor(0.0f, 0.0f, 0.0f, 1.0f); + glDisable(GL_DEPTH_TEST); + glEnable(GL_TEXTURE_2D); + + glEnableClientState(GL_VERTEX_ARRAY); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + +} + +static void +draw() +{ + glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); // Always clear your scene before rendering, unless you're sure that you'll fill whole screen with textures/models etc + + // You have to this each frame, because SDL messes up with your GL context when drawing on-screen keyboard, however is taves/restores your matrices + glColor4f(1.0f, 1.0f, 1.0f, 1.0f); // Just to be sure + glEnable(GL_TEXTURE_2D); + glDisable(GL_BLEND); + glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); + + glBindTexture(GL_TEXTURE_2D, texture); + glEnableClientState(GL_VERTEX_ARRAY); + glEnableClientState(GL_TEXTURE_COORD_ARRAY); + glVertexPointer(2, GL_FLOAT, 0, vertices); + glTexCoordPointer(2, GL_FLOAT, 0, textureCoordinates); + glDrawArrays(GL_TRIANGLE_FAN, 0, 4); // You may just replace all your GL_QUADS with GL_TRIANGLE_FAN and it will draw absolutely identically with same coordinates, if you have just 4 coords. + glDisableClientState(GL_VERTEX_ARRAY); + glDisableClientState(GL_TEXTURE_COORD_ARRAY); +} + + + + +int +main(int argc, char *argv[]) +{ + + SDL_Surface *screen; + int done; + Uint8 *keys; + + SDL_Init(SDL_INIT_VIDEO); + + // Set native device screen resolution, if you want 640x480 select SdlVideoResize=y in AndroidAppSettings.cfg + width = SDL_ListModes(NULL, 0)[0]->w; + height = SDL_ListModes(NULL, 0)[0]->h; + + //32bit video mode + screen = SDL_SetVideoMode(width, height, 16, SDL_OPENGL|SDL_DOUBLEBUF); + + if ( ! screen ) { + fprintf(stderr, "Couldn't set GL video mode: %s\n", SDL_GetError()); + SDL_Quit(); + exit(2); + } + SDL_WM_SetCaption("test", "test"); + + initGL(); + loadImage(); + while ( ! SDL_GetKeyState(NULL)[SDLK_ESCAPE] ) // Exit by pressing Back button + { + draw(); + SDL_GL_SwapBuffers(); + SDL_Event event; + while( SDL_PollEvent(&event) ) ; // Do nothing, just process keyboard/mouse events internally + // Some kinda animation + SDL_Delay(10000); + static float diff = 1.0f; + vertices[0] += diff; + vertices[2] += diff; + vertices[4] += diff; + vertices[6] += diff; + if( vertices[4] > width ) + diff = -1.0f; + if( vertices[0] < 0 ) + diff = 1.0f; + } + + SDL_Quit(); + return 0; +} diff --git a/project/jni/application/testbitdepth/AndroidAppSettings.cfg b/project/jni/application/testbitdepth/AndroidAppSettings.cfg new file mode 100644 index 000000000..8d6e9049e --- /dev/null +++ b/project/jni/application/testbitdepth/AndroidAppSettings.cfg @@ -0,0 +1,44 @@ +# The application settings for Android libSDL port +AppSettingVersion=17 +LibSdlVersion=1.2 +AppName="bitdepthtest" +AppFullName=com.test.bitdepth +ScreenOrientation=h +InhibitSuspend=y +AppDataDownloadUrl="Game data|data.zip" +VideoDepthBpp=16 +NeedDepthBuffer=n +NeedStencilBuffer=n +NeedGles2=n +SwVideoMode=n +SdlVideoResize=n +SdlVideoResizeKeepAspect=n +CompatibilityHacks=n +AppUsesMouse=n +AppNeedsTwoButtonMouse=n +ShowMouseCursor=n +ForceRelativeMouseMode=n +AppNeedsArrowKeys=n +AppNeedsTextInput=n +AppUsesJoystick=n +AppHandlesJoystickSensitivity=n +AppUsesMultitouch=y +NonBlockingSwapBuffers=n +RedefinedKeys="RETURN LALT NO_REMAP NO_REMAP LALT LALT LALT LALT LALT LALT LALT LALT" +AppTouchscreenKeyboardKeysAmount=0 +AppTouchscreenKeyboardKeysAmountAutoFire=0 +RedefinedKeysScreenKb="LALT LALT LALT LALT LALT LALT LALT LALT LALT LALT LALT LALT" +StartupMenuButtonTimeout=2000 +HiddenMenuOptions='' +FirstStartMenuOptions='' +MultiABI=n +AppVersionCode=1 +AppVersionName="1" +ResetSdlConfigForThisVersion=y +CompiledLibraries="sdl_image" +CustomBuildScript=n +AppCflags='-finline-functions -O2' +AppLdflags='' +AppSubdirsBuild='' +AppCmdline='' +ReadmeText='^hepppp' diff --git a/project/jni/application/testbitdepth/AndroidData/data.zip b/project/jni/application/testbitdepth/AndroidData/data.zip new file mode 100644 index 0000000000000000000000000000000000000000..81fba000e09d5c2d8ffdca059265049b7fb877bf GIT binary patch literal 20062 zcmWIWW@h1H0D<1c9uC(xI;;QoU|;}Y9tIhPg2bYd%;cO@y@I^-&=5`r=2QEO{7>&Q z@-MC6W?*D_!OXw_COQNB+b<942;D=?oJHr z&dI!FU|?WN@^*J&_z!{$_AZ~yz`(#+;1OBOz@VoL!i*J5?aLS#7}!fZeO=k_FmVXU zNC~~Z=fuFEz~JfP7*cV|XYcL46we|R4W%r($h&i5H|eWL&pEj7{J;O^XT=Lnp8Bv@ z>$gJIyjG@N+$(xKz89bI34NOOr~d!<|7I#&Dy)1Ck_-vXExG*;9*a_T-{*Ig{@MQQ zfC9@w=Tpk3FS9J$cdE?(ETd<@Wm}0wJ`4&r-#**8u8#Y;lqI1lXzo0Bmz4~+R1D-i zzfEZ2%9CcWVQzSELFGXsugH<-KkuI39#R^&z(Y{R!rpt+Z{A-kjwLf2a5l3%Q0sC{ zJ~OeieM*GdMYa?vshLX*@`RXrC3_eg6B@V8WzU+Z_Q2S@2SWvq^T&1vbaSfByZ94RUN_ylLPe#?ZqqVwrsCO!som!g^Mo4*dhU z!Y3|&KNGNlVV8A$>Y3U!1K!&V9#0=ni7WOH(wVKodtlpVrL=gCBui|=5uEtAtp zh!*SNT?CaIj?_YI>{2A>y#;(?+&6mv-33>MVF8$K&JF zw!D1_14F{TU2nE~T$Veu<#UHmf8wj7zin*K1*^SGloN=QU|^o5bEDz?a;D6NZ(G<| z6wW_kyjXVLc{2G2!T9%= zvZWQ@=3Zzpln7#CVE)N(#nNNQaXLrZgttmVKqP}}f#=ho@3OZZ_>*#*`Cw$T)wiDN zoWM_p7Ip8M&WNkOd}CO=zhCj-vg48bk;nen7$>Jm1^IQ@yn4gx|1V_Xx0L052RFV{ z%)ESanaJMyZMoYP?(v&rCE#;wSy#c|zwiI=Qs>!HUDwai#Txaqy69PD!^vGU7QURc zM0x5?>28e;J`JpszO&~%iN5X2Wyy48jhaV;Bcs-o2;1BV3Fj@OD?P+IeqZv|YBo+@ z%rg1yEnQFkTK>?Bu9qrR*-|!sidf$AZjsKDgK3d(f)?=hpWV1Bp~~QQ^(HsZYkyN1 z+RYYdrIx46w!5pMD$3Qs;<><2?tre@G?T~k+>Oq})>maZoGJNkv+C69X{S6m**Lr; z@>11is&^|MvpaBr-(i{14#NhHrk31AbL7+es`=Q${Onh4;tgfZ`FsBV)B9;0VP)~> z!fRGdE@n$n%&E<3Uf{*-VA}HVW60i~gFKZy?;H)1v*s*jJ>kyC`r%)4&qLkBMejFG z2=*5$c6d9}?i+(ei0t07$G6IYef}z6{5!$DrT5*(ZMu=l^9&~{tDI*#v0L%z^os@t z68q;|%4aZcFw`_KII*c+M0di09(LmoJ?t_Y9rEgrW|hy&sJ_GhdaG-%P}jDPDay09 z9IrURlzr#eg=Lw^X(#qb_8J-_1pZvTKu5M$@qJ)(Uf`le!;lp(%eHDPS?j@_exYcV z07u@`mfaevJPEhjo-;@-V7qorhEarl((6#x2X>XgLf>?ZG^QCQb1dOMd2`VgU!4bq z7hCqvf4= z(GL54Z{w~#Y`p*Yqs7^yJ3jxkc^rFU!)Gg=uz8nrS_L*=P1wK@V54Vn)%v}TYL|+l z@YLy^PcE1)kO|V{TvdF|Th2tMIHzj@OJSSG5|q%y*qiFV@fe{@7Fgv`+Ee$t=kdGrnxw;#$EIQOdxS`|wJkR4qf& zzmxC8a}T5}zw&&~23MX8@rGa5>;JO*FdIA1)nZJ|zbapCvu!u;la7Ghds#o5ozpOQ zdvThJXYvgR{xfSA?73^oFypI`=TyyG-yY9=_daKP^a@Tf&D&+OxI0`01VR!jXG?tB z^ZmZ@*4%96No={7pVht5nO~jrL}P!g{lY(ndH$I*Pwd+e*}i+#!CJMpwk;a3a+q@% zHr@TK=D~UDXOe_a!QnVzNpIp?N`$_YCq&k;za^II*{0(Pp zJU&nUc-VNQe}hGCpJMefex9Hc*G-g3f6UWhrN7XjY+v)u&tLx3e4Ou?n!J-WU|DAQ6xqpv|ajx2S$k$rn0FP(j?U>+GjPsBCF5PxulgiW=@7}-r zE|+|`Ol>n$=g#Mbg*E%zGs~}Q?g*-2FwpKzz3^_P`td1^ho*-dGj6`?b~!;%MsCI3 z=644qW|&pwyn3^SozJIZ(#@Hrb7T!BOKsd7HLdR725CvVg|d~K%eKpi8cmbl@cnRq zuVl2(Q~Aqf&y@52pG&BBZLTql=FInDz9ZSbYxzEha|bdenXo%2&C`?J$#6y@dDq&@ zmru=b_l*j^w#4Qj`*)SEHy$Xgm?PW6VQH=_d?ID`y1eCzyH&pW?C!J`yzBen%5{mu zGv_w!xo@n|JTY17$|JLg6&ErV7^O2_{;}ow+bd?L+g>^~#(WVu;uL7vxj|QW>dH4w zCQY+%SLwwa&Q+SHvv$ko%etbG;y;3Z&6v^{!qgMEM3K#|;MiNn!2MI>R!TR;9*~&q z7I%zgx#f(tk_-H%`tosnV`@AlZo;x4J>pBlz5IRrS9tB6Z^X|iX;Yqd?%@XY0~3t? zzOQ`LUUTzsU{%?refiKlC<+!S3_CO5t{!?Skj$ zu%36G61iJmVbdFR-3w(hZJRBP%NRCX`dzeq?&G&v-Mi$aO^qL$FI&mXIWM6WG}nxm)_X$rt<>pln|}AoztBKLc#=R={Okow=C*0T*kCK zI^8Dp=f8vB%O7pN_&X;>BV!X|&SBG_pK{LKTYY)&9qC?k@CHlVO3UA~11|U5-iQ)e zqbiXub)o0#z4d7&Go~iEGyI%t%;!@tdF1(>x|+0m#{6AY_AQTJ-efK=n-O8)UY@xu zV1L47=V^v_^5?ULv7AkaJNI+j**1k*#x-*mN!nVp_-qS)d49%{^FL4RVVE>$P2ib1 zFXfy=8ycG5$WIAqW^)M@aA`JfkZ)p4b2y_H+Vl5|^kuKfi;7>huPsatjPEtPd@tPQ z5oglXyk+m+#aU@GJbw0QBeRT7XW)^WGv8bfJCU};@zv{Z?=_i9H>Mn9W0MGY#Q&Hv za%QQF#XF}mwGU4!d*?CZVS*+w-d?T9iyD|COlok4#*!ggN=m!rk&r3yvLgunJWd_|wyKOH@`bQSMgQMK0~#>=IMr zxUCCL{w~Qm@6&LJsY_tm_6g1>9`VU*EV!&+HS0`!j8VdjM&^Yo51O`bXG$nP?`$Sx zm(cWi`Q=iE!mtJW492}LW1k&7w}5-D#Jk%)cR3e!+^%gAVz9j|HNnEIu3Fn<*^I); zr>AEa-P_c$GeIQthO*q7@8`ed+mnjJuf41>XFO*()+UYiL z=&kq#dgsM@^iBku-DgnaV>vHf=WpKRdi&BtyTJ1{3%6W~S!T$>RI@Bu>hQep5|0|i z%$G4;VtF~|X~|);pAySj8!aOvA8Te!`zUFlt#`k7%Zqb1#ZHT^S-M=)nf7;LkYu=` z!|n7xY*IS@x&Hi@1WwI($u7dy+%}CXn#*1|?At|&Co>9~CG0thpR%qxkZQ+x(d)2o zVVckLr&&bpZ;QrR zqu4imrySh(y|D>xWp3m4=-=@Ez=1vYRlZtfidD&Em@od_8Q`F@hRvo-|HS)Gk2)l_ zXjX^6Q<%{4vUS1+S3!|@vyIwzxi1@1ITHNS|FScDIq>$~e0Nr8N2XD652SnhY8v(vVJ(SjMr6Q2ie z58o~EPD?Lg#q)=+vMfFaq+4!C71i4Nu7cm;J^~v%bA2w-<%`D!@BV?NC zVzhgyE1&iQ@jvr^=KpcrUUd6``Lpjck1PMq-Q!#w#5!3f;K9xH?0gyLTGv@Q&-7f- zG07{yV(IF(%-tbE7qU+TPC56P6O@nQ5`cDD_j1Zii5gkN(b} zD4#vw^_TbYE(y38u3X@d_Qd3n)rVr2FEzI(@cC@&xTPfVlIPaVAAcA{3@`LAFl^iO zeSJmehuJD+r|TJKHGYi!#kj9U{>gs^>3?P}A=kqAe$8Yz_^STf@mG|~N?}*`h|SFB zm6qnP^`)-zW~-Yxr?P0v(u5@&JoKLnE-j2XkfgEPv0%2<0b^q`)eh5RI~pxj3~$$U zvh@F)X~Q`+*MIg*HSLZL<~QdyyWaTTv86XEj9b|{XyXJxyO3WVLPCd6d(#UQxPkl@Nt?(ZP zTX^^il%~DN`#3dKI5O(RTN#f-2S4#fPrg)p_eZbLX$Cs3Pc$VSCid!2*?((R29lbE!;qTx4|L?B$Pq3QkepBRp z?eshQuPI$ID|k0+Qh`xD+y0moHWtg%3H#HP!geJ&vAgI!5WSXpJ4K{2FY&}r?hh8V zTBj=nlmDxKkPg`LaC3FH%Byt}cON=1u%DODdeQ#!sA&H>AGKKq1>)P@e&m_;;=uxM zh6;}ERppmJvaj*=;cH77KiIqstx0@xG=5ttuZ?lcrEQ=%8FMQZ6!oa2WLA~IG_=O{< z|1gR?^E78IansqPr}Oa!zgYUcxmK%Rb_cD!EXv4i^UWd2&FB28$S=!h?z!8PzEPed zbovqb^ASz2=FJMfGD+X_*8L-AdZw)7{3#K&B%0xMe*ORW)of}@R(*E1x!lhf+_p^i z<=wR#&p15f`Tl!broAyQN8^nk2Az%DIE-931#M*#o47us`oVfx_rDBkag5H4e`jsi ze8j!IkZE7%ist(%t`B~(AI!Sjh~;$#^k9jzLq=V{XPW_8{_k5lD}v*EO+#9 z7l~|P7xp|c_0HKa{hlTUsRhgBcNm6Q?3>5NbDg!ae@!HVRP)cDpa0K(VI3MCtj((~ z+ViRT;Nx1K_+@O%Oy3sPUx_zXOSvU{R{Ssf#4UwAOwYU$f>M>@b!LB;n0VLOb%)!$ z*ssoy)f0b9%M{#FQ}c3(;XAeR)L%CLWj7DZkI;EjF^{pcanb(>%L8*ywy!zpJmZI; zfl+FL4Qph?R__gKlKL+vzR+tk5!7L2o?+N}_^!#KSMTe8_jh|ut@fCtueW#k+ZEHS zw;CU7ENgL3->M?XRC(r%i-7RLZw)F42ap1Ogv2kc4lf8tDe)Zwh86pO{B9~V2cX%$B zp1RRG=YJNLQrn^x{5=_*@8+d`3$6cs`~M+{HP8R@zJLCps6{m6)H~O>wI(wh1obV9 zb0dCE-d6qmQbN~)^;r`p9PGS&NOQ)|^^A4JdS^>Rm&orI(%aW?eQr;J%^k0IyN$yp zYz_EW#}(VQG4XekWm&(xPYuKGqu)Aii~nB}V!eF-mP>6WXA^Y{E{a#Hrr&*NRL{;17fx?;Q14}}7wU*Fyc>}~Ep@xhWS$9Ur1H9w}PFS2ytE?y+@l2K#B^XE4% z{olYCmeCyf_x0(V2az`_KmJ`bKXU0=@ok>=4+;|22CE!*>MLTNxYK>z#G9ge8*KAm zu!{T;j1|n|S#f<|V0%5UT}F|mqtVvrjsQtc zy?S-S=N)aA6sMkiUsC>Hd2wCCuPN>6i~Kx4KH2f|L|0z-SGcdx~5H*u}g1f_dazCQe_zziG=MDXTx-tByYJ(d;?Q$-W^wJ%3;0M)|W0sZUm? zhSxHF<0|F)(KP>{OQb-=?1IhVa!()5;0m%0Xx+nOklu4wcxmW{7hezPEZM)~rq5>M zSly$k^F;rx4}0SAs&dosMGc#(-I&ycLv~s2zI#Y}!HXT~v*Pqh$}XK;QOwrx+Hc{} zY&*sj`-p3*yPlWV2$&tbo;sUl&g~W3|MGpA-zl|+#hI`7!0BTf8r#__jxpD#?_sQC z2xmzb*lVoMvi+&8y5v?Lt0?EFmr>j9<<2^}^UMn)k0=g#N3#4ovPi_Sk z%wn8c+p$MYnnnvQFx!2rkKb_qjKG1&gZx{U1m2Ph zyV3OZ)KcH)Ka{_vC#EmHsTQcs5n-UT->~+wo@)J(-aTiTc5-vMNw>u}M>bt!u@vOo zJRxXbduuwIPH@@nxotw)=OQns&ziGy($p3IHcBfU@wo9|gP^a>d7gbIWe-01nDsjT zSh<*9`1N127XGbG*Su?Q|D{2n?fue*w)8J@>S{AZ_yc&5lElwI`R@C#+BQ z)6WjmfB3L~izVce$YaGnFRWHPc=y_%x9a?h%0qQAF)hbc7FO2foi|x3dgbjknY0g? z%x-6o2BzIByXCdU^#T9n9kMUK9-aAC`;FxXt)jxeZPV{LUwM7ZoZ<14H~V@*Cdf(ynss_bB}RV4Hi~ z9-*$vTbplf+!TALy|Bw%adM#NTfx*VD}UX-|1VtYL1<+xXCaG@#-gG}=WXJ6%Ozjb zr6&pP-*E2jjn0P&BBvwfoaS6FS<$=D@-@$nM%Fp{zoxaXczrc~IhRCw(V05_g!bp1 z`Sw<2;vdv*#js1*U%pv;&By%&|Bv#OMbiH`%_Q(&UMM?t z`p=~wje0k5(W&eInuRo&8GG)qI!+FQ^Ha|0~cYM~;wfLa1csln@?GIvm zCv;TA?k?W7E__Pi^?MPDDSua*WlysS&lGNYD4l)%(AAaa6MnBq$a=zEC_Ul&N68OU z`_%5t^^-3*Y32R1=j~6etYRLfevz|xcS#<|0I_Uu{se(Rd#wXI*Ic{-+idT@h# z(N$&rG9kUv>e1*JoM3RxeL!KFD0vn$c4M+OT5Y1 z@FH$a9}i>dJ;NV=|62b(d;gV-*xs6s+nf7rj&uDiyu}{S-9MH4+5_Q#6XWa?5duzJyM8SshYs@A!A7l%6;rw`KLZ{oGKi*A!woejYnO(n; z(onNh%g3RQ;mb_bpR>hdBT}DE@?LdBCui!sXIzI1*&8=6=8EU`P%w_{xFvj)b!k!T z*W;#(A18$!dHvOOo1y!K9mi{*8*mkM%sbC;^wv$)xMz3WPPZh8W<{iKz2Ekz;FRQ4 zmX4!WIP^d7I(neu)9QCCbe^y-cUiCXJJQ8&Ya<)qe}Sx|FHYuldh&<6r~XeW+a#^$ zUG?-+^xKXXNp^FWN?-W#@JM3n(fq^SuXlEAZ?xJk$h$})`%#K%<>Z)k^QVZXbXLqV z`jylCQ2TQ9tdb?Cm<283ter!OB5!pc%#}Y>Ve@wT#c$4k82HT+7dNi|$lU#7S96o( z6qCuKdD)c%SHaYtQ*oRDR|8(U&3hKVSd< zqw(nYpNc?R+Z`*O+<5UbwbkeTg=pn(&VQwz?+w)JS=6+mH2O$O-Q7gB9{Gt|ZrGPc zJiE>CrHRERE;V=g)3}sl`;%XX@VuPsc;-ydTkfOf546=MwAC|ATzLCW#?K?#)pure z)=t^_)xu0sHf@pLR!8rk*q>tWI_EF8j#T-xXUFQ!3+m@mBrFV)ub;Wy_C-1B?uPRV zzcQs%&9k>DSU0h-dWysU+KE|}SFecvo%h)N_PS2(6H5is^>6=RV@~|15dUnmp~vmK zeU17I2mBvIDs!&8Av9lZ3-9FkZ3oyTSf7@iTX%rxW^^}WY(&$Mow`mcg-)*wetp{< z<@mLB`job_GkTL`zw|`^j;>kvBk#ipt`}lc9Fi?&G)G>{*_bw&@0#AM_*;L^*c7xR z+^&t22xH6W? zWA~4E%Ch|u%UyRUb8X7=q(wWt{g0hb^;UA6((!iP8i`HHfir!~k1V=y@x5?s!&FZ#Mgo@c_WetwKYNl<4Zx+qqOuNkRr1HeuS#R7!8T)$oFghPi zS@4ljVQz+4*oPe~SMH=vl)d)#{QvLvN{a8^1YG0#JZbJWugX84So7w~slKT2Y|ObD z_06#5cl!eOfJVt>=Ihtq6u9AVTUth>rs&Y0l@aS#I&oGpIyYL~7Wv70#@&7X$BL)v zcZ?=GKNDN~y5V=iaY1cEg{OWjFV{&1Ok1|p)^E~`@{1gOP0g&EZ$8wMO`3F4DlhZ# zgcto=?}W>AXe@md|L^JjjZ716DJJ{R$T=M4AGXCRqWQq77Nyqj$q|1F&(~HIE@X@I zc>L#M`=2W3pZj_jY}E|3Vtf_YGViNf+M~0{AsZJ7oL(hlc}%$R$0MFS+~WRS`z(EO z4yp(7p3klPTFLvm-us-$$CJOJ9JQx!JEES{`Mcrs|9?KxQ%bHqa&$fKout-$(|wDf zNMGa3@3&5}U9OGp_78Kv@L&CH&9)EU))=2Ib6fME#pa6Y+W6O@|EYU6^VV~nNxB}{K~c$$C1uxt&ao;qT$ysb^h|WR*(byI zHjQO_FRDCFjS5Q?V~i`}zRjcb<<{2yQw@H^GJpBRem$qpXtu?Jjq(YlH@np`e`k0t zlU;Hzf5n=9rEP)HfkIhNqrc2pa8Tp?Z{A~$Vc`~gQcBx&;@*pFXbKEG$sYMGQ9PB) z_*%%`s7a=s1;N|X-V}0YN2i<#@M`C--m>FGj^(a~3r>Oce_z*kv;XW_V)-=L;Ldp{_!O{|V#&rg$8eUVdIlP>;h(c*=Z_XvF};9k|eUE}h~kHI44 zM|qZh?bvu`UvQKDFLN$Np@+8@+1^>Iowdd zKjCyo=W#!78OyirMajSHf8Th#qU}zC?v+1+F_t&{yi(b2uw|UAcrm*qoK?{MK=V(w z|1z=<{`tw<*dH{DpYiDR`2+Jm{{DYcQ(&wF~_Y zr3czK?3*^Zv7U+fALrls^ZvKgOD*b)Eh&0Ychu;kT{r7?`?prC{EII&y!$Z6=1{@Y zr`fB&mu)%FV(>_~!Y)<|7wn{yD?a6(ex^|L_E_#PaumoIRYM8LF zMQ_8wV?Q^3YJ73@4{zN=v*Zqic^_&no3AtfCimJoy4i7ckMy=pO*>NE)(0opP85Fp zO7-z_HOVvliJvk8&o}e#^8H__8m(Pdqtc~coelkRGmc+U-p5&DuTJ)gh3uG;?e!?aiZl~xwje(Sz;%v`c*?_$|i z(q_iy(~pV2ua!REE3ub>FVnu@(zbntzg63AiH6N_X5hWbWg71I_oZ6Pgd3mt-A!56 z)GxE^yW`US8=0>sMOeOwe3rfXsoT=7?a3SL3$|@|S^Dg(dGwDc&dG1SeP5<`=}GsW zTb5;pohm^!OfPFb9AwOwKiI%1yK&pPS08<*G$Jo*7d0|Ho!y3AOFkNpDos zFNHniy=U`siE1UUtDE*)otbC;nC^SS6#GESieGKEW!uErQd48p*Jjw3CK(>se9~gM z&AfTOX-_<}PD;!;{@o^O?!I$j&faF-1n!`uuSNh*5hS{4(2&NvCnQ6IL5pvn`ghGGFy4o$AqUdqr6OW%#$C>dYf?Qbk`8plRn5LtA<=xY`PPo32Sum02UvOU;Y~Ys z^0A-ShgIVFaj(z%b^I(djhKHg&pUKt{DnyFS5e)07b@PA-G0uiwDPu2aE_Ww#g?CK zbqR-hOL}}WnE8J-#+_KQ=>E3nCs%gYnoAcve9d}h@$sokbKXTS=Rcb@I;IxLm5lt?Q_Tc2s_P*Zl03@3tsE;dJ!k+`xMdFH|0}aIraTi`-qd=R)|E++&;np3hsn z&;3+m<4@a5|KCVRyg6ngb8qGPhVVbE2Ncgg+p3?tQ*wHW>Rj8MT05RyYBj#Qn=6Q#qQ^y7R!@m>hn!=hU$J! zX>O*L8?&u1OYARLCo-pvb^rD5$*&`MKJQGrz}393=}fm@u31m#zL{QvqSwwg8$QsF z>D5%Ldwr~++INEXF|iL19zWmvYF&fX$(|c32K%;kMm-Mxea!maYW715V$SPoTwnLu zf5kS>eU~EQTmQx_D7qXS9=CPgoY#x?O)yWikJ3<+Qck@=} z=K|(4rg+NnCKfH?Q;OS{Y`e1enTM~mM3a>5f&SUYEfNx)<_n5FW95>qk6AF;W4n0J z;$-va%KrMZv4U1|lRhNdnVgU>pR-5n^3z#Pv-gn{O$2EtEP&dI1@jS#<_xmrRGI#e%z%_v9JLPUG>=3s-o_nG$>8ahv>{`>XhbVotx^D$EqZ zGuzgiO+)glLdmZEtK)7}wC&u^v&XLRY`EbIKQ>XXb)36uC(k>^UwmRi!rdRO8|6Q+ z|7^bg<##2o`G%Y8{zgO|uqk9JJ$p?<^`iQe>d29VsX%)g@|hxaF1mttH;-1<^se?L1o^S2)57krT_`J>6Nd`RB<{YmL zU0C(L-|CAw^=HX!iNeqGL}mC^${YTkT)(U5&G)Ta_v|p#Q|WrA`sH6k*`(QTL^@6D zeWz#(dB&MsYi!GQ<9=;DJD?(8WV7`Uv4-}`g5 zrGIL8aWjY2hdEu=bC9e_Oy#{{K2P@26YSay)*OYJCrVb|lig zJWJCj_@KF@@>$=Le_T@YJB3R9 z=Fb0X{pS`(?Rv)d#ZfBtDN`p}>%F-5Hp2Xhb@|Do3n#ubuey-2d!B2~r8QC+pR?pY6}%G|Mi1(71*) zm#^lO?=eR^U(m|l(0YD;)J!wp=WUIK59-!Dt#o|2?DJ-g4>xM>mhjtKyxCh`oH#}L z(YBORHYpD_q-4j={cl_LzPH^m;;61P!~TS&{{FIYz15Sf93NQs%>VK{cZcDRfNuxw z&C^!e>DgINZ|%MQQK4p0UU5B->#DzUUrs4RKARx_WKZpSInN0)A;!f;9}ktpuXYVR zbl}I%liwsHzAV#werZ$n^OpAp748MWpY}99zZbteUcE+a)_JMUa-$nRR=if?+W)uJ z_4qYDw%I?p)IKJhVDTneX31ZZnJSf(6L{o`GJ3oT_%&pJ#j9 z1b4>k)g3W;|IyLy>;wOIA$n$yj;`}Po&7#)%K7Pzs{8+F7vGVV+BUaXUGpWELbkb| zoR6EXRo=`u($DX8a(h0t%6g>E__%z-3;U;s7F6e66g{GPL-zQeea{o*F0pRV^g1%x z*`hpX*{&58l1#BD>yku`7yK*^H{|(r&v^5vw01u3Cd(Jb-@T@+>Ywmv9$&%numayO zN6ATZHvQ{3!)`Srsp!G_&2<;PA9=rb2KRhUhSj>e%R09z-E|RNfAVkFuWJv!^VUza z5BswH%#q_Be^#oq=X^SEXnDU)C_HF>#E1M(t<^VI{=Fw5#h#Y8;P9%v#=T`*wod;! z^P6Yvq;%~guDON`yOtNZ#$NcIQqFD}*c7B_{e5@mRP&$fx{lmgZ96SYVDH4v`NfmJ zSKNJlW-eo1-Mt4BexCVIen9RKV_nhd$1(Y#0gX>)DPJmhSIRRnTl!z^`lJU3`2QYR zS*3rm7J9orNOZlENOV!NIfA`bwz-);RoO08b?>Q_uKecyDIWue0>8lQf=Tw>l zvlmt}=btZ6VlrPWTlb4`)@>2a{qOudb4=db>Xcr%zaqTtbj&r^nC?2Qc4O=7+rmE7 z-d>RX?&!5om-C)^8Fv|7(DwNDagT6h(QEdGQ;Bn1X2&Y_Y)jvGbFYD-IuGL?w;MHY z$|F{twc5{kKhWZ^f5cboRQvhS#V?;POE{80sUai#Z4=8Zs~a7PjJmZ;|DT+>($`+I zphxi7-jqa}UsxLQ&A4Jm(itL|DE6&L*aW6$!g zucdR3I4Hed`snmK-=vRg78Zx{E}O)6*{o0NJO3Nq7UK?0adDML%M$YEpW<~gDLnS` zaOa7R!tJhSpDm6PV*9>nQN)k1-G%z6?p%K$+j`Ax?y15(hSi!I-ro+EU$<@f1we)>kk`nSVcXS;BX1 zHQ!z%&u7mRq|YAh%CxU8j;iUO$2>PaJZbXL$C=R=Bm6mZ=Ez)_VRDE~?ziH8J8}Ot zT`9k>7zU?=XYT%UXW!H7pB`r~2|M)vUxvE-yHvLIKNA+uD}Inr>y&7>@4a>P(Na~b zSF87~;^|HCTTrx8#E_f!p>^5Q7Ka1p=Q-J2Iq1IsfqTtN68Kz%-=DkOi_i<W??v8MR=kH}RI+rktl zdrUcfB7eseLCJfP$=9Z}$^@55=jX36?EP*!+uw*YpTX;K@or9E``LV3B&*(=9IQ54 zGvO7h{cnAPKYj-;r+(k__mR*?ew~+Fe{v-L%GVQMO%P*z%6_n>_KEw>_n|xGOK1K* zw&Sl@XxFroGzHH;QMJ17b05xm-0$*L`1|gaZvE*M z11=k8&uPB1L8AG@-uoBL_5NF3l9^Vq|8%dB^m+eJTUYw?T$Hy{5w5uZO7zPcgX*kc6Je?U46#74J!-e+%CTR zSfsx?KEUE;hUZtwbFO=i^_v~e&pY+^$)Ar+J+r^1+^);NCi&G{<%)ma#AnB6o0-qi zn~IhEFJhPy?#{j8nzWJQ-lAj@(8b+c|t`+g4paKY%_lBTjZXANWC|8y_j z{NU$3rM<;}LhqlDc&NfRQBEb(Kd`MXHgNKp_JS9>%@1Zvzx+N)LP6Uy@AaItc`q0J zZ(&<|Chz*iRKCP)J?ATnn)a(zOGrnyJBm-8_e3h>dmP(SwJ;vDY0JG{&E!3_D00uP z*h$43Cbqw{w7wPKV$yL#vN$x_-O1MY(nOONOa3#-HwJvU>b&>GCic&LQ|556N8gL# ztbJD*GDf4V_`-QN3-YH}`!Poxio<>imoqVVlFSx!8?OfLdu@c($73OTIZEnpd-M31mzL=Bd0x8yC{O$En_m8o1NV=WP5$QI`G4Z9hifwK zJpSn!tErWL-_;_ryhbs+&Bc3j{MsVppL>}9YgNBn%&{CvnOvj zA)z>}okPgk++a<$bHFDDqbq72Yh1)#i#4XbYHR;;IX~!9_s)|QHEZ3Ay=Luvy0Obx z`-#T0riI-$X4hv=yP+u>H~VLf&;H8Ib#L<@sJv0|{%UoQ``ejho1L3=ufNr6?Tb4! z^=#Lnr;15xu~*Dfi<|W)zP|iKWtI0Epf+hvW87{kXMN zwoyoRw^r;oue`gRQ&RG7Hl;JqS!roAC-eM@E1y*kI&Aym{xtHf>7BCbSL^Hln!j8U z9eAaDboC4x(n|LwAR7qeFO?@NFEsr$Gtoc8^= zc*6S6oDI#4s&lule;uacHA{LyHG99gUPbzay2(bb?mgpRkGZ{0P5bX8cI#4|kCWnx zH79D%<4nr1Ii273ukd%%rq=~=H~%sBlo%b2>3p}>&!2s}ORZjfQQz*TQ_BRVY?&eS zeCGFM7jC|7Z<(_CK!>)@(_1D+S3AD6O^ILs_>=9seXXVI8Y1T%__ZtVEgysTwY?u- zPCnP>Yr(UjBRzQ9jdM?}`Q{y#KJZC*zI1ch4{s|0&I9I^FZ#;(>pIp)UfQF-;JdHf z%k2D1-LK_0&-&fFaby03;IJ=h5-}59nJSc?g^DI@w)d}IcKrRSM|-#H9Mx+Ko#%dP z#glpE8+Y&&ss2%J`)qNNDYid%#lL^k>z|wq-^SK&NX}UO zS-s=I`$v8+S}5Neo&T;u{w=G`PWL5e9-5YPZj#^q|NpXcsgaYEk1u4AsH~P-wsDDROFmQ32r@M2|aiki0eU3a$~pBW!SDE4;e&B@-%Hh1ZQ)=(EkwVBbUAEwzv zZFf|@Aim;x;p#&^}W{LA4B}CCv>nZ&os*|aQeLC-qB{4NwvGX%C`P} zm-&dXCE~hFn0n84j#<$KS5)Vzvdu`lxoUyV)GLwt_hxh4nd_xAbMA*j`QmdjM6#}z zKi{MLq=VhMYpPn&PQAEqlU`nPOqOL$b6?#4C+oV9a0SQu#%ot&`{K9V*;Z=#W$ure zN*~wEubpel;;tKNU8iQ!?)jp_LErwN%lrpyP3H~gnj3uC*3KuTanwxmke~l+Gr`BY zEPqRcJ00xeXGvKa9(#OLh|6C)!YFOmx!)(*o02^CJkDI>)5g5ashnN3d$F$?vuNqF zC;jsKlbO4xGFe~NoKbmp-*+A#ZyotLRxF=?Zu)BUVE1wD*NkHCU)^}H>+JMgTRHh> zR_;Q@O8XigCw3WeFA7OIX7u_?;)VAv|JSaXD5XCA-OAOQdrd#Z?NjDkuw@3z&clJ} zkJRREt()4wRf7h&?CmIG ztj#jAS}v@}E!nRuHIuKmz^*~;5LX@Zq|2$L8EuPCu5vIq`uU3eT1%rdGw-CVo*WCU+0%I3MlJPP?&(`TTsixb4#r)&|NN1w-ipO<1YPt40@Z%K$&}i& zH0Fpz$`SFIhJLxHD-w(67%pA<#gsMc0ng#==$ZezuHE;TvU77W8$17_x9fIf+a{Oz zN|;_WoavLUy7D;N!R+-1KZSUG^z&*`?womM`LmASMdmCl(K+pwzdX{cX3g|laqfQo z-;FBz?+-p{-G8*cbnOGBUEb@rn;HN6dr2%t`}CZZZ&ep}iyf$HTKn_ur!S3`*QPcc z5&y`vu}07Ll%7dIvGmQeRZC;v`W(LTti&?w)$Fn_%P&6s(R9&Lm|ODT-kIX5Qt1I5 z3ODzC+i~;ax&A4}vt80A^;__U%~|vP;$_2nRYO0KbJG&+Y=u7^wGRB)6u<3gY*TP_ zfND7RBp#`W*UOaTdxYMcaQPyWZMFOE*8-PNmfOXXey>;DTwTRyf5g3|s_^_etq*>G z(i^TGKfX!aD6iN+cEv1a;RR0~ye@Hf<$YH8v$>{~^{7XhyES8VlA4ilN8ZxNOrur1 zXWO#>Tq1P)!quz62}ew3NGbXx9sYhyn4i7*$}^#}mz9gIUD+eQ?^wj~+XAI(Q8xoG zSInF9W>)7qJ07Hl1Ad_z>@^?7w>*Q=WNO&rdldefVQi z9#_tFi{Dn?_UygX{B7N=ZT?G~5`DKfPEWt|t-|Z3dDGiugDuL9N9N^kZIb^Yb3E8J zC-=JX`wqSuZ{_08g}eV>;&E?x3Yd3u(vp)AK9x}q*B|}RD!Rixa>wbnPCn-)vwUyg z+xqsVt3}O5mE1C&%Xy1x)VDVO+_n6?aOmR8m)Vz!9^SF}R zWYsL|aWwYL6v;;Ov#oPpw$CnY_IIxk7n$V4!zd(s*?Pv}CEC|?xYsEyo?~S7McQ@- z+kAzuH_z|cdD*Ww*R=25fn8Kl{hL zd22tP>Ct~C9B#T7PB?st#A^LKvB;~i6f&oMS#mdxYn z_Wp&*pLoN|x#zcBx4osocS7WyyNQXEjjYJ~h`3t{3=AB}pmPC24z~L%>{=b2{o&F? zYvaQwk0=?x+-qVX%Rlqg1EqpjH96~Mzn63R(RyTospzLIlj6;SKV8&QIr-w+jU(G4 z)^lqcykj%BcW+Z){w24xg4x;ZhVSWLwHN1d?dj=RcXNfW=%asjkCXQtVQumC)i8)y zWUu=wL)0CPWs!fXKXCOeVg38@akxZ)#Pv@c z24B+7Ud_mPljHDK;z!R>wd;ExXm!ODFqnjRGTAQIwc0&#<FTSOt@>^ImG6hc^4yc>Ty9ETaoF3~(kE5k{WUZ;f4ljzp1Xn@*DkQSJXzv|p~o|E zVYWHnn&!OO$G6Ldp;!MnXfN8m zHTB)Akl(i+G56+tjGcS_@XKqL`!lE9ziCx>#3iJ|L0s=`k5Z3UolNLfripG#-kiFe z|NlUR%_7H?eNu*H+FJK^Ed6FWv4kPE`R9cgo&U4u)p)2*&^Q>%bYqrjRWmyai%QSK zhURON7sb{&^|E+Am3#FiB{^VLqTvpvj&^hP%L$UUJQdeWC8KAyt$)9if2G$Vy`ad7 zNsiYl9Nk^z9CG(wzpAn|ocQz7 ztI3BuH@!VH_tw*2)8b~9@im!VG+TQjXH9hDo@8yIy7z}AUVr!^`S9w5`wwoX%&p6o zSZ-Fa#qlAR?cP^>YArJ25A!s+C-1NO<5a}irv0nC+T&tojTz&6VdJIWGv;JyeQQl9 zE%%qU_5JK3%6WZTgkCB{TwLjv>)}rruwd)n#^>Uwo{(ksG zSDgQwt7;j7+rl1pswCG>dVA>A9Q&<%TB>%()d%mCd`TG9-p%OkkpI&}Gt8wPL8Kcy*Rp&CM%fHG#X7Kslw{H=hC)r*!cVk#D~HzMA#Um&s2v+pRrs-Qk+7 zv{lBXvrXsTS()n+8Mah2Y{9L*V;#olaxTfc`j?sA!*3e%JDuNjuH{Z%wK#9qxfv@8-qxI% zZahhHevQTcQ-Wz1Pnc~ko;Bm*&qcch!?v7K-?;65Tw>6IWP#Y&Ktto7pO5or=CL+N z%s+G3^mhA0VetUvwG9h}*I$3Vm}~2ijn5}LZ~rR0WnJf0!*ilu2lLFkUvpks{N<^A zR)NUgsK1TJ>}GQvYV*S7Sh$ET>f#_qS%wol1pJLvH5&&OhsjL8a& z*S-i&;kmujxU^n%E%eqjl-&j(3IqZ_| zwX}#Z0O=#?D>;rQSoQ*^^e1Zc73`y*TYU> z@oMo6B6kIY?+VYgulu*8{QIT1S*vaa7#=N&I=jVOUF&q%Zp(S066ztfPOm>@oZVn{ zDz!JDVBy=Ah2G4UBdd~wm4w!OE<1I3u2@FU?2`(H_y7OfU-f_WYhIg^?O_wwGu3fj zVYd8VQTz9M{{KI(f5*o@Z~MBYNNtZ9Allh z>fF1l1{eKzB)^|mu~cY7_Q@`95Lob5jCjr*uRHBa=c%l3C0*WNDMxRPnnoBBfU z3`55SZ_O_!eUc46$ZpO0e&xGMUqydOG(9o| z=CRK{CwBMlVGXr3D~bR73U2Hz@^QISLB}O|y85}Sb4q9e9iSw_z`(%4AUM&>A%t_; zOIa2M1}_!{2G9XY=|zbtnW=dt@B@?>9ZmhOI+&s#p!AyOL-F&clO81{Bs}=~rGS&^ z60gFUgDfhwN&C(+2Aw(TH&0PUMrOPGFMEa}OKuybZb^w9t&TG$CSH@_T(BUeGux%J zxGpa*D~_|dI4~>8Gpoy~GR?ECY4`GchYIES78m9S&(rHu6fM4Y?(3WCMG6mQt=?C3 zz5d{;)i3S*<&V6baqCp^nTrda9r(XBE{a!(fY{ zEJwnG2T30L!la~(e(y{z{juv@_rlrR*>)9H8qV4~IZ`D>^W-Mw1;u?r!9Fvm&-}A) z`}yS|=e+yARo~yg`fB$|pO)-yvWt?j5w&^UDX7K3r|vFdaC=hv_6m{w!seDB?p z-tWe*Hr1VUoj+IUTeji->#ll5%fIcgKYu=K^WU!%{vK=Gs+9iL+o`5MrqX`@pXrvX zXBEW1YGd7Q-?8C<%=0rd794!Ad8wjlQPk_TR^D;_vb?YU2=~QY=e-uOXWeqG^t>6p zVNQbiRr^ZwOVSoy`?6X0?{}V(OG-z}-qmPVyr2AT;(MiZr|4CDwwHIE-~K&%YYQ9m zq+mfa23B7E*>Cp#ulxAt&)bXc=Z|u5mH!de^sI|f75Vn`R@}r>HqV#yA6}R9G&XB- z;qevS@8@rf`^TCVn|J@IjqLXOdC|2iH!5}~e?0RkcK*dVd`1=Feg}@UiLU=$)yuNi zR{rOHG2^O9+XB8jO^Q0Rd)=1TuBo45@2MY+aGrGZdVGDXRFS7sWby6$B8AqG^Is;h zt?3TWvblWrXY7Vzr^8&WTYi-b-#!%KrxVuq@b0uNNeAD_ZZltP4cW&K!NAOW!E3cw$8-MaX{gqbR-gU=M@OgE*^|bik zSv$%%1*<~B={_DQ&p*#E za(Ges>eZ_im!rSFQqNhTm&!eRh0KIv$1Nti4!NGWx$NiE1o8fQiRo?kc^{tVVf+7O zGvE9BVLHE$TPS|3TKxB|w-R@*>_1g0{i56FXU2<`>OP45?0PaIKRWDY%+V7TyYm;W zFHH--VzPkf zh3kpC6{h}uzq7mQS?A^Vb`^z>b}$9s6~DuB#m8V|&@Y zysXRY{xq(P4}KM^HW#+eetvISTd>}|m0me7JegD(>z@7Byt2oj?{5pU!DHi!UB7m& zDfY@>VhHeNWRhbB9j?Z}fO$%r1gJCu<0p+E3iZr3R>+xcXy>&-OvF`eAxvy&bo69k fKrO^r8JIzZ7>0?gY#`g27?>EAFfcGI@dfb!Ai=B@ literal 0 HcmV?d00001 diff --git a/project/jni/application/testbitdepth/compare_png/argb8888.png b/project/jni/application/testbitdepth/compare_png/argb8888.png new file mode 100644 index 0000000000000000000000000000000000000000..7eae185a847039f1147cc6c5bba7f1d4b40d2149 GIT binary patch literal 28210 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 V_dI*}*4!GT*3;F`Wt~$(699hqdfNa1 literal 0 HcmV?d00001 diff --git a/project/jni/application/testbitdepth/compare_png/rgb565.png b/project/jni/application/testbitdepth/compare_png/rgb565.png new file mode 100644 index 0000000000000000000000000000000000000000..52a26a449dedf008f0cfdc5fdf4119db0c74f713 GIT binary patch literal 21590 zcmeAS@N?(olHy`uVBq!ia0y~yV0^&9z^uT*#K6E%a!@UvfgwcJ)5S5QV$R#Sd-EQ9 zY~QM0!OYGlVUh5_fk|YB1ADt-a4VPWyf3@|SO3u2RQD}j^rhUs;|(8ef-`R9^zObr zZTfVv@VCF7%QK9E(GVC7fzc44MF=$PPxv+C%CF?>f9&J4|3zJ%zvWr(-~O2HxTlZa zT>H#;`MUdL@&8x&^R6F%SgM`g!KQ*>|J7>sx03e(>w# z`TgmC!+l=QS}%Wo>U#gT^}GLZwe?S&e~Eeix3}IlH`i~fky>-U_xUZk%=u>afA_Hc z5WSNBCfa@RRrBJX^X{x$zdx+h@BY>LFx`L3`!_EC-wwD#LjWBU+@3;DA$*=)IAZp>#lDV>wo_>eC3|SKSH^_X#CUHyzuj}b>qE%vEu3% zUhWFM_p9;(lWbkxspp@Q|DO3T$P~Nowf@Jl+I8_~|9ti8FK60oTWlwg(eOFL@{c64GlK0nFZ#w_kblZ7Z_P278b+2nrCJ`9fAj9l@6ohVx_N5d&ZsNpFN4;~EPwqze%9`_>#Y64 zw;h)+xcsT=V(Q~lTW=k^e!c$3)<4y$CB>P0sxo#ztNi9)4SZNYb; zbnOdoOaDydb$%PO^Ix|4+ApR*ru*GhvD$F{nQ2%3-bZUotgG(Dg=ezo@|sGT99X%< z=*6$Se*=%++VS}8T-UrR&y`=~1+!0t{OT8Y!TTpQhZZ{6+v`}fH0^ZLLP8?(9B) z-x2Qp>2+S7de?F9z3U`R1lbQnR+REJop7_d>AQ4oyr0zH^sDc_Tx{t)_iIu9T;JQh zn^p@gJ5a~QS!B51aal~N`C7jncMPw5s*kj9n*9EnyzJk#Jqz!hU2vIy!?*691YgZN zALjNx)0We|P+YEffgyd;l}PR_e$rRB&o2*McX8pq)vdGFG0lygA^c)?mWxQET+S|3S;C64E7n`n> zl=;iD)Z*l6Nl~g_ZCB=&UJlKbmQVk^e@V93rJT)gbS}Jn9J40QeDkMmr>9-N>c7K& zqQ>qVE88_k+@Ez<7w1`>S`hlVUC!jdP8PmfZ5JK0ZbsTwg}v?<&M01f`nqwHYg%^Z z*Qqx&U;lp^yY}LXO=2$+D)-;v*(6=IPu^`e+lhr|ejTo@vi`R7>B?e>NAa#ZwYOUM zcQZdonUdWnCHstTU(wm8)zNQ$UH0uaEm^0Rqq(l;-{liN!Rsr}yHFFu z`W-&2PoGb_xO|%BjC-~b^8QB{3%GpQb$^xl?$0@Myt}`XO{MI4t$OFLn(jY;H9Pt6ov<#W>m>laLSY`?yr<=0`(Ed~BT z3$BMB@BWt;&l>frn{Zll-bvADZlVcd-c9MjSlSAoS*;yyL>*oA>Q%Eoefg5b?WxT=UvaCznG*%QMc3t3%{lV*)vTpcr%8U%FunC} zXLrF_f6;CA^6zKOuK)jM)uHrjr77<7UM~FA{phoN%Bgcn&(F^J#i?-btMwjNv%e4< zFFXFf`8hy-wL|^dV%d^A*DUUM{p%|fYYV?C%ENlADt+aNi4NAkW48Q|Onvk7#ku=? zcBWq{JK5{dE?M%~`}3bm@%jJMw@CBpz31Wn4mHxe`QE;nzHG5^veOmidhceOoUY5B z=5ofeIqvS$qx;TW*V~jPdv}fH?hwU;hc)s!yY8<#%e!?+cG&72@1-U^d2N03`=rf% zsb4R?J#KH$@3!*vyCW(Wf~Q3O=B#}D^uY7@)C-#{q&Q;x4o$eyZ#I#GiMN33eqLdP z|KEl8?`}MEdRJG_49?upk{&b8+tn8|^&izonwIp6M>THho6YPRw)*3LF7~;tH&QNq zi~YYLQllbc>GG=Bo6qC^J`RwZyFadURzk(>hxJE_HkMW%`~nW6gA1Rv?R;mPs(SoV zYW4MJEVumfgx3Y^eD)@^KkcmN*HzZnnC=!G|M;~~>RwXgx0_$oE+qdAa@T8dd51|M#p`e zfqJ_|*KlRezGHZ0V{=^3)O(%@OH=ur?>Vf`y;gI>(K}Yp+v>%$$I9%nJfAMbDlNQM zTUZeNsq2(n;-cCM0oR2uY;ERCe*NNPK%T@uaIQXT**Hw(S^%hxQHk-g~tVeQZb*Gmsrg#VV|F8N;1!xFysMpAih>71nVr`(U* zPS|qu`1whFwIz4WQ?x!gExUWEpuSOTc5Kbhx3@ZOEb2M1cin0hasP4|7s=V#^Zo{1?>+tR*M_g#x5+cl zj=o=f+4}m^=Lc79yV1I$s`^)`hiuue={HNR^!KelUCp0zfnmAARm;%$tq!ksf_AT( z`;$LvLH53dtX5kZ-?D65wl`|Q>)lZcT1!Kja!bOFpKWwlo%-*%$Aa%`zkHY3;=g)p z|Fr9KoB#bTYmZ$!J@{J8e{lGJnDY4avJ=-!eV=yONC%W!zWVma$lZ7Ms)X-R`&4(N zN@>2{(v@R;P3hDn)7f{cTo>FweQTEVRnz$3AG;$AZC}h<+tmF!>i*=})0pJfZ zTYA|uy*#$;pUoBjxu=);md(F^Hh%ijT`#|$IR2-~V@LAm#n-Eu?M+t0oKE9R?2=KiQ{w`?zcpUm=_c)C>iLX}XoV8-2YF>~glb5d9CF>Sualv~Ce*ILcXT2=9R z)vqh}Px$KJG-YR+yE#Yu!ZBa*M!DDPZ^8JWU-`~lVGLhY4a(ZHO+!o)m zodr9(1o>>f?vHrpy!GFgZj+1Uix0Iczf5l1HSKsgpV^;j&0*VBnVfqanCBc1O*y-1 zr{a3?#%tGC>#Y`E6MH|*KSMa3*-A6;@6)^UivCwEnR?QA17YV zt9jv+@9m%kIeAOi*R0p_GTZxn+5P9cUK`c^`#iJjnahXSbyJluulm~i@mahmXW+ga z^3OpD?7`np>zc*tEcXlY6}~eo4&^_1{#wS4XZdUTW|lJj)!$S6^PGGc?uUc$In*c&p*BE)6oOX<#wA2zkJ{GXv?ptPrN_3?W?rdmwixI z+5L)di2c$ku6=r^lBSD0pR|ZS+F||s)hWBmOP`;o&%esBzvTdL?7GLlcl^s@joPX5 zaqb$UjE{fyW1=7L5_^$6v*__IfftE$oE!6YKeH5hF+GuswQBdfuiJlrWNwr@7BM$8 zKZ;{ZMu|pa*k-R5ht-phwmPuKPe1EBdwsIli@=(%XFnfIyD@mp zr^`CO9os1vJSlqDwVSo~9m^j*{;+-5v7c+#Ij%k6>;BK`|NHjZU9Ts&s6|<2h}T}( zsPazLW8Wo7#uxiiE;({*&z&#F%l_7DrbR}B@k*&(JCm=@-zz4+c76Lg%lPRxS6Fy# znDaHAC2HQwa*b@cjZ$MvNzx|}KZ_pPI*+c#z2 zWuHEO`=50}8FM3NuTS2WuE0|D`_!}W@Z#5@A%Ynn|Ljz{!0`Nn$%)7XyCaLYOwkKz z{I)z*{`7+4TQx0-CSJATtLOWAXNKJ@*&<)``^`>C<+9H6 z#h?8gzPx%a=6dO`wZOaWb-yZkKWJ-sF5=PK_jcC(v+G~}j^F*PiYV2)perU)9E`e6l6hGAGVmQ9Y{W z#rLOZ+oju9c}vT$&9I;K>*Ir<{OJE0w(sV3erwxRbL`3T?fW7+xi0=x_2XUk|LyDL zn;^09;;m55Zgu4grA@QMGAZpY1iw@#OL|C`jRn}w&GA177VMwIWJvzG7j zE5G(z+C@9p$!z~EBes#x?tkRgRy}Wd-Im`!cG+G3J$07sfy^cE*D!n-1SJjc%-~oV#_K+Do77OFym4U;R31 z?e*LDEJl1?vwjE?vdydwLG*t-EX{Yk9OU__F7!8dXQH+a-w1uVzPQaz z;lepz_v@`n-D@IMPwU5duCCr&ZTW83GlvEI_IC04>DLzh`MxJGGPYQx>d0>4;Ivq~ zz1F>aGkvG8pY^*cS35QGu*JH3oBG`SyLNTCv2V6uIHzE6ZntNN;Ol3Xa(j<0%iXJ1 zIj2nOhotY`j3sBzZK(?1oj;*}y{)$Go$FUQS4y`<<=Net|Ni2Sly@OXcdloPfD0X z({7-^Jyn>nbg|??qjwV5Rdy}B5?WARoIX+W^v8L3gEsTe{q6U&?!l>hRkiDuE3MC8 z@miNXmen>sobT2*+iMGwyR$z{o!874Ezj$$E4wBB+v(*|R*$l4OZ}N2&fUIU|NK`- z3w-OGu1DqkacdmBzpJoXm0f_aA5CN4-i=+)RCUES zz0ptVElZTmzjgNiM7XvTT=rUUy{<&zg0=9cIS#ka*NeTl;#|(8yRXk{LHP8)Ut8sR z9iF@Qxh-G^b@4Xv{R-wef!(cd)$(zN@>AByPuD-Tx zh`av-Qe*E@yx2Bvl59%f(NNdYT?;G?{BCV^l`NULCDM##*3Z+?Z=%&tie}o~TcdF* z;>-7WB9UvZD%_9XlCpov>z4;ZS6=U*y!4OW*Xw_4-#t5T>h*S(T)83Vd%Imu_v*}a zaM zId9>i=ZJPYYNBf8(&O3n0vVT!V8P4Ja2^yx7@Q`?Vc=n z?R)5=<%`vRiv%+oidVe5k#fQRz090_f~6a7)ka^vu!8BW(Tg|#*mg3f>g_h$6}dUm zT5?O#?)90X<$F%$?TkBO_4J(6veUP}|7j?x^*B|h|I8|OyS?!~YmiwZ65>d3$CzPg`J_uDrcNJD0U-v;Bz&ua@W6;BA<=KriOHhPMq zb>qF663(iR6J3s#jU9jE0{CBX=A|VxB@4a&Ws^>b` z|KB*#VYj5(v(GuKRd0RSnQVJDIy_%qFiZM2lueZ1yf zVeM&)>C=wJglEi;Up@1!<$Y(qU$g7o8Eq7cmneKm>|95ZjKXJZYk5{gCC=b)P z@aW0mwq~=drSZ=#cRyomFYbEQ9&x_>ddyQpp8iQ&mb}?L*>QWE zs>!CzYKc5s?u`>2UsrE?B_e&fzb_@q+@ULI`ti%nY!>}B#uu)exoEBR_qKX4>!_jp z;_B+`Hd(oA=YF1)?p#d^#BO#PYm$iv%O9L%d^y>sU9&&W`|ut;NX zHS>YHP8p($X3yqd?J!-Bor$+V>in9YNvu_8(yvK2<{g#NYd)9$Vr6WT5%XN<#ppwTe9&?=*s5MeVL0N?+U(CQyV|; z^(70R^Y=teg6Fv|C_Lae`)+OZx|=W7oYC9Db^P_mn2*Za@861ajx(M2PIT$-|KFaa z2wi>g;>x0@vP`Bft}d6ZxwP}X@KnEe-W<|=&|r#<-7J>zc3Jwzy;1&e%yzS{Uo9iu zDEBDnZt?U4jSDAr%ZwtmFBCg3=(W~kijCRuQ}=n_>#yz!D_$$_&EA$*HTl`s>qj|C zuDp1$zpA4wJg>LUV?i^|u06jxS*j$G8}r_nP5BEdepFV;NI$+)aKW{Y`FG6zx8L`E z_G7EnDbG7ms2y1rxGD68aoC%=_K#mXn_cm@^b0J#)hcmjhTWS5zH=Yz&J8FwnL2G^ z$?Cg_dpGa>2d)wv&n-xoELluf?Qt{vB z_Rh|`BQ$4q_PWNRlT*asHtp9t_bbu;PRYkB{U=iEpKYD&yZm?idVa~gJtrcUy$$Dg zUAc93nDDY|9#&@-FgJ?XW@N6gUjF=soQb5#ftf6w#nuhyjP|}>;5$9J{^sAJwF1|; zt~K6j3y+&^q0d`tH^+-Taf{%KGL^lO>ADwQ-haokD|6}8*#TCg2&4LR&jxE)C;cjPBlE+8@IW1tMxmJ)o+#Rrml{uUvoPC zd(vNls=u0dzAUf!F1Yh$U3_(*^v%OLyDs*Nwe6bscLrbsqLEo?2E}1I!F33e@>ukaF zBmbYgW{)YT_`9%v`_~`sHG7IL-xj*wZFPOiuFqPE+$Fz4W_(=LE2$Q_IR4Z+C(*nq z)y!dwKkEhTO?I8LtH}3prel$MS8v`} zvQsZ{{%5IEr?#J-q?Nh9GC}yk!IYo(byuD~m{pPW@m==1rjFW&YAO2d`#IQU&+X+t zpCb63$9iwytz((KzrtEytghI8jx*vqq?h%R#p!;z-n$)KTguNKwQgscYm{+&%kK5+ zi|o3B#AD-(UtD#`Zq(cTW{$)2eZ{*Y3lGTt|NWX@{hHf?_e!1L$_3y1Eok1o;3?Zm z@rUAIN1WX0);&C}Lq1;09>xkviiLofYjZ$vl0 z;+V2mtbNr@*0V3FuJl=Lnk2@4!1Kjs_Uhg2bF=4}U)N#zwR2z0XH(Nx`|4`ftWLSW zKR5r*@$I3l_vg61zA56gT<+WTRoRa9KlASvR@h%Kv07qce~72*ysz}ebM^I8y{_xI z%Wb)0*{hm+&+t3X>p2;F=i9wydOs)ehn$OyRr5L~+h_5D84Z_jWZJ&Bc(FVFmScG1 zw~L?EE+p?V%#hi#_NFEK-vXxEq+fU5=d_sp43K!6C6|`$?PuTLfP0Ssl#1UQ2J_WJ6Y_T7uFpZ+#uS!7r7gT%9B)3G%3a@2zi{CqSooS`&Wk`=$=EQ>Nv%NQWKhv#U zC%Hx7#jWOROtG`2qZVAgyP;;;e1VLKj_s1`L|;ssJ@4(;C40R8UFGc!MAs5S57jtwhxe|!5TkJb0Z%8h!GB_@#@OmFH5WE8*hs+~6_ww1%=K;$28 zcHKqkJ12j56eY9x+=Bb>GJmpdDZX&c^_$F>!=A-267ObJrMzDt|L&3V+H>-Ab&BI| z@BSZIbWQP_?KK{&k_+op@`@E_JMw=OUdLYWe%`mWvo1cmYa|?#Yog2d>*qU2j$t=? zv2>ziw{&xnSi8Uri{`p(bIj#)-}CO9^7BO40@w7zFScg8Y>^h}edhL}Z}N{>uU!`` zJw1)-ZqeoLDanc#P9C*xe3x?J)#t}h;=<=ZY7tb-2zG#l2;(UQ^#M8$qVC z2kIJ%EiN?QJH5blhhVmwx3*hsvvqtbJWptOV(eZCt9ij1m(y#{U)cNM7r0mA;Jcwaz0l{k zWQpDl+t|;yZOn{cxZiS{aawvO``uFuCPz=v|4{r(ChWD;yU@&%jfao2J~zEHUwiLH zmR)~p9CZi!r`Qk~eW zNR59b(%Ki^Eh)R*99FyAJF~=~oB4rFUvHzGfOC9TeB7M!Fu``g7aN~1kU!@*`^!zK z^M8LGIsItPCb1X0r1)-eeR2N%!l37yTitcX`_A&QEL9a-9o=Iq-%Jt7*!!(Z#`>G3 zz>7Qg9TqU2Tby>mX~Ep=drrsR`qiE?d?Z&gYtO{C8?BOCUOeB$V|7$2_2iGQ7sXy2 zeJX9oeeUWmh3skTcK)gQ|NQO5y4u@yqNjJiRJq{oysXy#R#n#8(-)8I{v#=IY3Bo@ zmGL1*0-rJQ-9GPRf9L9t7msZ-mR>B9+ady*B`nUE@2N4j=+*7s+iL>fFAimU`}daf zvh%NHSAFGOdTxHEXXCm7k#DVqwp-S1|w0Bq356yF%_-x6c`RAXyR@UrT zDnFCu*S&8S?Q%B0pH}Z`GXMOSh$Rl*VzwmHg{`RJyi?U+h#PmU`wrxCB zlZ@`pI;!aJy;Gx6?o?^%rO=tb_dIz~Y+apsb5r14M|;*=Uly#*uKTM0Cp%1A<^AQ# zs~P4G6b^O0eS0zE%YEYG)NuJm$xV)uJC8Kh{Y+xrRVeas zuix6sOu46}uR8wzyh}7M(3(dQ~rssaL4SQbxQ9}7bWAnG!JigY|*B#v_ zTWxW$X3xz#u+1oA{l$M7Q?IqWn3Yq}_{_(tp?Jn7tLJiC1YQ_z^m+TPH)eBDV)tuD z_3LWWtX*AA%)R(;nVB!T+q^d?JoJ81@#3r(lZ;by=j>k>@?OWavike$>*x0r@fbZ@ z*1k9TM}XAdth$yH^OcsKUbv~$cJX1J7+>Lkf1d2OIq1jnWn1;;b50*^GjuO6W7lPy z@Jy~m>TKaz_ITd)hkty%Zy->}Fz48pjWug`u>8#n)2{lq^j65`Za+WH^ZpZG&G{wW zy#4&d=69jWIi5cknz1jNU1yZKZ*|1uPXe!tV}IRU9=G1hc3ZXVKYfAQfBY{#{m`26 zc){5S>+3S>=cfodUl--ua$7p@`g+&>vF%frgF3wD9%)`M*S-Ln3|gC(cY^2Et_^pZ zubpjNB%akYSKx(dGau`&nU3aOIj=?S&v=;WEpbrqja%bzJ$|dh{`FF^cfM#e_id2Z zy|YE=#i#G)OnW(cze#>cV!3tBV5Q`jNy~3)Hul97SBEENmh1>E7tLy1#?D*7XZa{% zmBaP7S`V$>EVw)AuKv@-*_%G@e7qojZSA|C8Izg9ldI3i?vk-xF7sHf@_FgqYoZnz zvY!3t+|7^QZPj%DyM0Gg$&&@r()zE{Ev_!|FS+n+ic{hC54k>!CVWy4bh;dt^ZdHY zwPp6n4YM83ADr-SisSvG6Ot}A*L8im%kgC*sQf;^;Om0`cy0B|BCJ zoPD%`Y46Q+P*>bDpT&Kj=ZbP|ov<~lpTGL?qTS}bSANCidzHeoo-8=b+p>!B?JB{2 zjCac}9Q`Ksc+bzLx6|YJx9a`e?j-#8TV(j%y`Lh(11vV$-DCA%d?;OuA zkXLIiJJ~ifAdw}?t9a&4#mV>YtggPBc1727L9O#+r6oU;r#|cd^Q}GLmA-kc@I;Td z?$d2`To?N;K5TB@<950}^G5T!=QYz8JboIwqIm7iyGLiXcr9zq4r9tSexY;Ov{_Dl z=e6~}OJ$A+=6_XdX0vDy+MGRa#UiWFVvP&G`J%W>Zadn~s^)kcD4OQqwc%1((B?UT z<=dI|uFaa?s&V@1+AV@FeCIMZ>YbkbG+@EvFP5${bN{w1W6zx~k$3%GkOb$J3^)J0 zwO`ZI3K{;GUl4v%!e14u+PqG7x5>jbmstuVx14Zbw>)*uTp)<;?@afCEk-ZS=l)Ih z-6GQ!qITx)QIo)n_dRxQ7JH#z{zs6rr0}xpmmN>e>^iYU%tB~&Y_-7}}yykv=spT|lcW>XK6PwGj`|m+tJD)usYZ+T z9dOj%c!6oJUSZPZvYzj+mt9P))Xrt8+Rn1}c;1RnZJIeLuK$9s{b$Sj<$Qfn@O{7a z%N^Fg-g@N1K3>`Xf9Lj}Qx3fv(09DsYSD#Sqs>;+4|Cov*vV;IX>B5k-DTqO z=N6o8lRwug4qzy<({I|^ET%F`y2ag-;LHpj(NVkc-u$Bvt1nD+IDI*Ei34a#+IjQQk8+jIomDe7zKYe z7j8m(|E;^Oi*oyR-cH-=R7p|{)S=zhMzWAx%>=$2_i!@GKUHZgp z|IvrWFRqjp^6lF8`kPV4`?+)b&35mVc3&Oy*~D7LlUT{aN=l7o5orrcQq0u^@OyVTnMyWZy!g7aj{v z+a53||5v~?H{}**$u0jEthcr-eEgVeacAu{$K5=)=B&Q-sz|49x7TII?T0edFQonb z@>%LZc!2SX0$T6hvD_r;-8z|T!7}l&{8rpss;_R^YO&2ZcUs|b-)>{h`^)xh4pF_>9RBKb zF)xS70nG?@+3gD_JM3mF38}A}eE-j@kj&=`);hRPUeMe5?{;9>Js0oBY0-O^I@Is5 zsS6NC>K}Czw70K=?7mFo%dbsxcI4h`To-zIlp+Y z@fL7BU2ww+h4_W?Yq){?6<7F=FKNt`+tk=i-(uFw#-UMkKKI6>du{uyM;51`J>W) zJ^egWT6QJ-TGLxKd!K|C&)%w()cf-B$F2M7{GRjNdiP&1Z`SM?V5q{)yfHw@%el7luquF4+7m zL2k?J|F4_-zU6H(eZA&Vz^`+r&0*_L6;Ipc@_E5wtK+u$;hGm4MV?mkikUUuODjC# zxcFd@R?hidcKn9Xz8V_AOf6jT#=F~{-yZ1qQ18>*)U+`7;`_vpv0m}1cv)2~~K zyqM+4zMGx7@!IDFM@_7!mrh|0gNzVn^gY;-@%WA;&)wIK`U@T0TQh3=wP&!)a(!8> zc%dr1L*`VVa$j42SY*3o_VUHgE$(piYv}OZ$}WlN=v(wWbmG+Jd)vNMu<2PKuD>yUVRO)r&s!)jsz+MXOLphWIgY1ePna3= zR$W-MF=1P6{i#Y%rv>(}H!;nz^tZXnrE;Gor;1;k zC0@L!(}KZIng4^R=aGQ&`tF-T*flLA^oc9l4+H1AgrrVjLWR4?yx{%o8Juf0=W_#Uy~vViJz-|5TR1z&7;*SU~-eUa#k-S09*8smzT)b>#+-Z?>0|#*uAf2ZqEdu#c^G?%`y z$e8Y^K9f(kc*mS(v3omt#J~P#Tl~VZPPsa>#agoD z*4{AXKBdcRd8#tzdrE}AyQEi8x;Q`Ld9AVynY*o?F}IJ)PN7__@7< z8Pp2nW?#axE8=Aw+uyZT?P4#US@b<@=)CrAr{aZY4O9Ko7cG|fbz;)O;}TzLF#n{dY41=6-J%2;1O%5MedJ7uDF>-9??y(oV1 z!e*P%i(`NOJz4fTqi>10{#D=EviF{qOfA~Jq4?1EEA zyHk!_e9Y#vv!vHqa(>ygZ}*?Ymv{{S-sJl7Mg|mH0xwpb_P;*o%FkWve3zxqcjSL9 zXnD%C`>$s6E9=*8?Qbs{^GiLjiIPl`JgCU}>sI*%UHP{xw=7>Au-pDxCe5Zq;{yA# zVvk0?aP9*3pf8VOEE8_*kQEr%!ZYSDUr=9>ep% zeTzRuN*wH2l6!51XvTa;ar3v#FLK3N1Yf+p!f(odYuC#Y*7uK|YzbPhooClo{kTQ7 z+Rv_t+S~t%3%9yjP`I6Cd;f+VDT`k(n_NE4ob&6==HHTEVwP40KVRN|FJ^P#E6vmk zkqe3+nMj-Gmh-QgHFwT$ohz1m1J4I7WallAN^5bNqOK*cduMX^^XjOH4(q#OWaiAC zbw$_3-1p1r!z~vV@g<&{yw^Q!*Vg9&)1REGY+Kv$GkW3X&*vf+%x&f?TPDGNH>=P> zTXt94OvmNr+l}|Ar!Rf2xp8UP%({g2n_sW1bPF=P2pM8(VOsnC1pBKTmZ+2qUJJb0 za#?<*c9>dO#HN}z_p$z3_x#w)ztyWQe$-r6c4w}`YvF^w&W}qAnf6Y1jBZ@l&u{eN z*ZOsl#m)>Uk9A7?{cV~++`LgjA@afs|qr`ldGnnAZA*S7w`7#hra!`+V8mJ1Mfx-IB8Rg3UK)&P=c=*`#x|GB0CG z*=5(h?O!ba=lM;0zjC4C)LZB77)aT=7f;;wIyH1@T=j*pS*^3hnEr+tWz=sEI8!@q z*PJt^pBFItxt5q&@kQ-?`Ci0wl>`65ii~o*htZ2KCcYD3v%4kdcqt(L?SjW;?EzV; z7wViJ6kT!DZk!et#q}krw&cx%qtB*Pl-(8L+EQ|1F~9j7hu5iI7tUE&%l`$JLyo^y z@{N6rQv1SXo!5JoY*}q^w$pF3#hC|7UbN)fE?&HI^@fh=S6;t(W4HC^?%Vxl*RP7b z-NS9@S-J7*@tES+Vy`)&%)egllV;kxZ{c%0ae3P%C#5gmNnd+Hsd?Sw*G1R%aFwjG zPj9?u^kP#Do37i}_*DK~GG#|?G8%+m$}bOE~Ds8=v;$a^6r=958jbHyJl}$ZMk4n&b<$f#}?faco#kOc@xjABWEA|nR4%km3__P ziFT_mo=+2N*UP`Mm?O7)@s&4Tk&`PgFf3na{NjdbJCp4-o?E`#x>>4nOV)Vh&XV>w z|J&jBBdnLtoZa$H=#LZCAJ)viS9tbgsqzKah+c>Dyp3^EOnXgOZhcvheNBd|WO3B? zkn3w$qrT2e#({eqph3k`i(O*FBG!<-LvmW)Ru{9rs`EDy?qI8$IYhI z2`;ZqH;+9R7;0)=zwEy9_r>xPS?(*pe-m4_d!gdwr~g}Sewh@zdG=btJJMgy_LkUM z=^i~>dyYvrX0yRx=F6q>3rAhp zS8kCPnj3d(x52KCD1)O(*WKIYcBam`eJ?WCo|E<0J%JY|?A}*DpVs^?M~$sN8Vd-l(E3-?Y_;s|Gm3gB9yf9%GFs@_uc(n8&bUJw8;M_%W@YxpY1fu z+x1YdIZ~{ArlY&<9zV9&P0y}<4J%I0jG1n4|IBTlVjS;|XKfl+r}o@CU;9s7vgEyp zXleS6U71(c3ENh&ePf<;wDD2#WiRpAu&`Y+d}~>)tkRx(NaO~;yph1RS!ZABQfJ+F zG5Jf+pLN=D@7P`51^eGFkY4*df2+kWyQt9eNmkO0X6~OM)Aj~;pLyO>`O@1LJ@N6$ zv)$)0tKTUr1=x%fKE!zr(X1PT>&;Q-bzTLCbZ`Rd!jvp^qUD(Z@ zdh;Emf?Mvees$!N6QZk2;$OrrlTSPDRdl(UeT__Z$q~C<9-D85ZGXLNsnYC~vJc;V zcz?z0&k9~q^WE}tf3MEknYcMk-r0Q5=Ldd)C+!`NuAEd<5c^cqubn(#~@Z0`GUp*NTU~^INcY zcHb=NpzgDJ2fu8H{PS|Ru-(Bw<;jhM|v7mj&dkD5C3qMrK?d7Id!cVE0HwY1{9C9i*J`g^vq?&`jTf~Zpp|9aova@)@X8G}ZDa#C>8i!4BNZ+0sUA~h2Zt>+*iOg&__Zu%X zcA1%9xtY4dQS43Zw^;6y(zALe;y%5frIDQ1BE9ymhFamab(Z1>F7LNJy=A9%hT09* z;`vWqmh9L$abI8YJ*idsoY$)Pv*t`IJX^HsE@W!qsN-&fs*|VBw{2sRWs%J?PE_v+ zW2!Z2liSmrH%$!?~niGxlE#UaUVkr(})z^sDaYcggRak`uLJv&L;x_1mqzeXco+ zJD#~*-<&G`P-%0**Vtk!Wv}2i&?L~rro#9y7DyKHLKpM?D8j(sVbLKE-*Zw%v!Z7>{oL1>5}So%YEGWqVB5r zw69(BdeUo|>32PLo!P#cY3<<`I-dEV3)W7(7gfHhV)@Z^8jCkx`n~O!$E-VA$t80( z?cbjHy2QD_&&#?n?^kO4Z3E#qUyh`!URJ9WW6G^6eP%KB`TMy2*C2uBue;B(ai6b$ zQC&!l`@2W1W zcHn;uZCPjLtzp_bLo~!%?^pE=nIEzIGxuJX*mb-A9!u30zF!V1vFZ6~C$|Z@FV1*l zTRK7fyY=bac2Q5XeyUInS@j!MpB0U%+0gdA?EU!u4Ee6JSdD zYe#=^^$Rb{*E)3HP4!wZfA?uU)kiCsV(*q*dGUcs*2Lr_fDS5RzAvI^7zQRr$?u~nwEe5&WCh)0v*3EV% z-z!fqIQx)iV!2pdq@VoVMd_e%mnA&E7T=K;k^JJz`Q_Hfh~F2NUYscOO7;A^h%OWL z#%;z{ml`9QWtOJgEtxAkSN4n5!raM zzFsOgtM$4fZhh(WRp<1Z1D|YZ+->=N=Zw_a{0k=LrvjE7Oug{6YU;~X=aeN)4rneB zYZrXM|8#L`c+^y@O%B~n?Qtus%gveY%3e!!D}J)UROrR8ye(hX?VOeQsq@&*QvM5~ zFE7o>UVU_-L;CL;bEaIG62TYCn%6y^S1rxaEzrO2XyE$mddI(ZHM3cWZ*)x!5( z?LyU~*mXD8GTB-M-YZ)(CF;x7?+dm%l&jsl8hU=|xp$Xdl%89#bZ6Y(PsL`ghXZzZ zyT=wwx;&R#Z#U)6Q;pAJJG}$m^_uKfEq-6Uq0aL7$Im}_T30zNFaO+m_u01vrxvt2 zJQv=*)=!<4ydUD7H8;I-6u){+D)!9QfLB(W@6Ar{Ze1#$ zTfQ=Po#i|C^Iy0AjNbK6NoI@4i>g?u^Vf41-Bx-hFJ{O)_1C+Y4Q0C<9sGG4zioDW zWFNlc*@}gMMlT+)d~sM1KPh_~lWhK*I`Qkfce8gp@IO4$o6crCEw(ji!N~=T=ML_A z7OmfNEotwHO4&uv1g~0d5&LrJg~Nj8OHK(ZRy**|K5(lQVy{?|Rp3G1E%UZhE#x z?Z(oXTK}fB6@>?IZJC=;9({eOO9SUb+mf=@y?lXz9e0+BzW}dS6xsZ~O#0r<-OmCREN^@9 ze&;jAf8~;mb!O&Djpx#Nq8j^VOB-eTr9ZtPeCMse?r%4n&1To_kJFC_cWl_$Wwsb! zslOJwOQz^u>}l)UTKD3uGByV>`=2VY(Y|?V(S^&I976p86A!mX{@$bd;Mv`@BQ`o! z>&x;@WlLhaFTb#;(o>!=$>DeLxi>AndB1Yn9OKu;zlO9tR-InU6SXr_@xo10>BhL{ z?%daPeqStgJ08dO_U@LFi4z^3^H|yBs))SM6nSwXUjLG;b>lo~Cfin~xBu*(vb>8} zyma<7CRtOH5aDASTh1(4>QG-RWBcBkbBoo+-L>BmO8$ZtYB#@i{Oz=*{K8Jg*zH^H zNKGuc>~ep;w;W4cmF#Z2TW*(9*<(#G<>+e2hf4c0b za`6AEZ>y&}UY9pEEvehMo8_|qvL}6)V-LPsa5y;djV*)Xg{LMm$`@3d&5lQEUe{5} z?B!B$ElqZ(d7DH#uh@KQ*3sor@#`&* zSrs4tx?uHezB2xGuDd>JeXGph&A$G2={Xe^3+{(~%S+GR4BlQP+nCxHE%VCaLqSA) zzT0`%1)*o6_&D-+z6@-;m^kD1r){dr|Lmieg)INKZMMeltj&TMvR13l$6dH4(7wLB z%{u#W&Z6hDH=cjGece54&`v_<9m$Fpw%6?H63nnxkJ|ZcmScLO*vw@!h4-c|2wM<7 zU7X{~t4;3@X6h`xxRAA~^m3!a@x1NRW&fM63vU!Fo-@_qdS}VO)$I-oKChneqwc{A zmZ&*xi&=KH9WocUg30SuI)9Z zcgru_zga9%nf`O#kGuba_rJMzPVr9nyq7XoFEpyYNp9Jv9dWz#)r~2>xv^hj{5EFg zDqNXt?v^_r)JHP-JM;3Y+ULt1mh0|`7tdu|%U$`XDl2b_F^|62ChNa1g0}7E60PeB z*?P%(?@Pyb%P#ZoxuaaB9w#2Y`f~p|?s+~5x$^P$SEk6nw>x)Hc*kU!-D@JhEogqs zayo~1^QSxMmX9LO-icV;lY3`sUS3Ayxya30S8Zd9&n>w5inl;2bivl zJ>MI*w04@El~Bgr>~&1CTjotI-^LVs*My0;K+JR2e~I!vZPL>-KmC1CnpW>;`RVHx z?u&PHeU`6V;nqI);=(+|zQ=QnF9#jUHn+XEd$aYmhjW}K__BNDu4jK&F=^KAlAF!- zd;VEW%wBhCjo*W^nQmDbE3_Z#9ZY!U_B|!9lq2WLoe#U&FHa0V&vxS4oq%#~P*tN? zbirwHt$ozh`K8IXu30|2^s%FMi|~uk>0bkN5_xLZn7n1Rio18!Z13lI>lYCV)|Q9u z-oo7IH-EyrzJnU~IryGm6Ye{8`|YpI6W_c&mw4~S+t)Jozt^z+P-T(aaxwdUf7rT6 zug`PVuc-TyqINITmGAe(=(!H(_17_;SaWAfz{Y8_-=**KT2L+dWr=ad^S-q^X7f~W z{k!vg);3kOOD{jgysbT5Us`rkbNBXjmZs@nVh>tHJ70g}cD4E4&S$soOju{hUGmml z`2s_FB5%>@fa|N=wmc6w-)ZJ8veeg1_jUQ^TY3{~OUhbf<^RU*y7cyz^La;W*868C zo-O^l-#;t2zvlCzn4ZsOG4*=&{^1Pa-Z}eqWM??vX8L>bj#Js~X!gmP)5O;&b$14qr&QmW?O3+X1^vS!TqRFtU4HD`xK47*@9%9)Ytyn>b~CPZxXlw~d+%)dJuB(2 zzd}2T&MsK$P^_kSz>^8W3zJ^bO<#&3(~@88u~K6`fE zdZW8D?@pX8SC;HudLPuR^8+7Vd&D7tdpHWxX*V3*&nCTHym?jE@9JlL@i#7OEQ|16C~W@s zk7UTfumd-Y;y=$>X}IC!?x(yHHFsOOm)$+`%R9YxZC_O~v0f9I8>bYtGv z#ZOB$FWmH%ZrmohrTlW#f?Tt^mYOlC7s3{_XC+T{2rpm58kKVDTb0IzmyfL*uYG4; z?Qs2d-gQrn3+#TbflPagjlLh{`tp7A%RBvU3mDHW5}SW^(#?|FzUDGpEVxduy?4j@ zfAn-4p7q)DQ)O=)x$L+^y5(Z9W=KzC^FFK7YjziE?YPhv!6J2h8n5}Egx*IBuI@hG z@AA?jqkf~L?e87QZ;LKGVz8Jv%dxt2pJn5>-ah_9r5|TGx7^B&VBIy>(f`}7^9vTc zwF`o`qxzj?SMQ#k{f%kv-7hb0pIzwC%~|}f>QA$x$csxC447i2WZf3rjcj@wSA1G_ zJyY)b^u~MVJSFe1bvO-bA-{BFp3}^0^2g6<_1)^QUAY@47u!FyH$4Zma(3AFFn=*}e#zv#!a3dCsAI`u{%g?V9L&`}4*r z4!=!*YCA2c?(Mq~aDJh~dwpS<{YRN%7x61!s4D&R?oY#qezB*P$`_u>EfCDG{NOQP z{)hgg7jdD=`wOGPuiV)&$&q=E_o-Q{Z*_h7x$OI@oSR?fx1FAr7d4MVFJw2z$7f~B zy%lcyH?F(rUbpA`8rPpbyN(+AAL{lOHO$*JlQq59Z27dFo4&J;wHBV;UB7Nm9II9K zx)TeUZ%X}~_%^P%chaTR!jJoEuieSaxRDdZxn*w7ahr^W;=t&=XS@8OI+dR(T~12w zo^|V@hFA9cJr@4D-^5lebKfBAyyfhbWk=R54E@x^Q?)#Jug2G*%?-icGuPz?EWp)-_KHI zaL`pOUiUI^{q(zqmqfq)+W)TV)5Xgxu2|mZ4^f(TPb@Fo zb7w|F$ky6(k!8jv>%Kld@>;t7|J-A(r)ORM=TK-{AN%Ir!C!@8;%_$by!-7xZ5>9=d|4Bzi{Cy_xGR$T{*AiH%(W#|77<|0hwCk1FzQP zWnX#jaP>~o%-8>mzW!vBG&yimq|xu@qtD^G7q%bEdq3NI-RG~5wpID|D_wX!_0tcn z3#)(2>H96%{`y$#ubf-E19dN4y_(f{&X-gBLUnDH_JwRS+g`r~q4kmfY~QZwnKnDm zRBzL2-TkXstJdtc+R7bv^UGF_FAbP0l+XkK)4k6A literal 0 HcmV?d00001 diff --git a/project/jni/application/testbitdepth/icon.png b/project/jni/application/testbitdepth/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b3614e149b4e5b115e67ae2b5f22c814513b8576 GIT binary patch literal 2130 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}EX7WqAsieW95oy%9SjT% zoCO|{#S9Gm9U#moc4BE80|WaPPZ!6Kh}OB&qff|&iyp84zc>BaocFh$)n(>nX=P4I zTD-+^jhBnmhowpKH5(JOyZE;y$cxN(xneFF@*ybGkwsLnCb0To(CV;^i_?O#CP(yM zQhPc5+3u&i=M+CX^JedK{>`6fvQ%GeOiVj>bMv+OwO`}^?{(XARC({?!?$m3D(C;w zcdF~PaB%db82+A=*QJZ%c% z7Ore=5iVyVp2dEgPKz>|wk|eIEIjhzW$N`i|KB}6|NrNIwhMB5zZdU-Px~~Z0!J6e*IJahZkha zXIX#AUH;AL`8Bnr$4*{@&%xwotI{XTVZKl?3=2_+A{B`3YFT^DipP0ZUT zN+QWGDrd}TvaNpD_BS9*;J84vj;iw0Dbgo=PC58YXDYbTQEHRC=i1ZXot zxAN!Z^&$-Ca`*YKIcLT8Zj;q?+Z$VD-|gl8wx8E;?!kTa^^4@(oGuHcCx9#B9_2;7b0p81cirCjO74Mw-rHr#x6f{qnHK%p`L7IpsM}(%e&6t`Hu2`0oW4bxBS&4Iz;|YdiH`pe$ z#H_6-%{HE|mvWT-LX~D#snX@VD^tS?-tqi-z<6VuwZZ>aQqRxL35}k=Va7Qo?+I#+ zZzaqVo}FFOGs*iwQ_n`rtObn6Zd!Sqd?Ed>xpm^Y<8G<#Ti-5Hb1b>gmzXOl%`3G0 z|2=`nTxWmGX?>=8wBXL7xxq!3(>_)mUdCfK(`53QD#s$-fMg!Q(tYopN>tVqt;*Bj z$@N|LHH~*gtH|!KZpJ58D|vb6axE1+7}ohV+wGV5y>k&6X^or-lA9YHg%wN_Of#k^ z%QKoPDe@?uJiRK{HROeL_8iTW8bQ_53PMX*9Aoz{zw?l@gLlf)dJ)yqQ`etuW@9^` zwSkQ%kS$5&z{A*uMTs z*9UtJDm`LKYDn&Ju22eiBp7PF?cvHtO|AF8F8#jc#v7AmVk->1jQ5o8p0&kr`;L@r z{+d%c)tJ+AkAEm)sB`_~eV{Ud@jO#fLwXOhmJ*-F2a#)wv!t&53()y`$X`wR|IAy5 zzHQW4X7I})bJ2+@g)t%#9uFoxk(vpr{Ksr&433QhI^)dxyG(| zFaFNQKcB_xYCbGm?zJVI>$XYv42LhCUp{FYz3x&t{6Zx=XT`a{d%GeS!vwrLOpi$Q z3C?q1oFeJcsqr#$e_ij?=W>6KFaFGWU{^Q)vXFbb(hAdDwU#w_+WhV1S;3qzZTTF( z+w2Dz44I}0W*@LhnxVYi$Kr#CW!1yr_`gr5m%g(uI2rJ3YIFPkmk%D-Zb_EfIVtal z<|fJZ3{RCK7T#eFYZBL_PnCZ1cmKgekt1`;0xu>DwQrY93!5HM|6;j%UFGvs1_rzO z56|4S-&_+izw7)-VsA`6|CY*g(#cyYMP$?DOgffH2XB-yoiek;*30X)VPJDy&4VN7 z`(nOC#&8|jpnpB&e(dqQHw)_+Xa0{hcL}-|*K0Oisk?k%71OCS>qnhjfio6oRZUqQ zf9;OA{@2QzA%CtMx^wezbop7w_j672mQC&QSZFw}&@cZ$@bha~nr1=sKCr~}-Aexz z#t;^G&30AzIfMU8z?cnEpK+5b6}d+ zp&T&5=%EmwyQgF0hmBi4IZd**n=bag`p1)G{@9oAdF{`>v#a>hKJQ;{F-h({&Vl<2lxK@e@;J&-uOHJ>CEIE8`o4FXJBAp@O1TaS?83{ F1OR)H{O|w( literal 0 HcmV?d00001