From 53006ecaebf57ec4baed3652f7623d87e3171249 Mon Sep 17 00:00:00 2001 From: Mike Reed Date: Tue, 8 Sep 2009 16:51:30 -0400 Subject: [PATCH] add test app for ninepatch drawing --- apps/NinePatchLab/Android.mk | 10 + apps/NinePatchLab/AndroidManifest.xml | 11 + apps/NinePatchLab/MODULE_LICENSE_APACHE2 | 0 apps/NinePatchLab/NOTICE | 190 ++++++++++++++++ .../res/drawable/bg_grad_blue.9.png | Bin 0 -> 3023 bytes .../res/drawable/bg_grad_green.9.png | Bin 0 -> 4636 bytes .../res/drawable/bg_grad_grey.9.png | Bin 0 -> 2931 bytes .../res/drawable/bg_grad_red.9.png | Bin 0 -> 2977 bytes .../res/drawable/bg_grad_yellow.9.png | Bin 0 -> 3060 bytes .../btn_dark_ticks_stretch_multiple.9.png | Bin 0 -> 855 bytes .../btn_dark_ticks_stretch_single.9.png | Bin 0 -> 860 bytes .../btn_light_ticks_stretch_multiple.9.png | Bin 0 -> 761 bytes .../btn_light_ticks_stretch_single.9.png | Bin 0 -> 761 bytes ...n_transparent_ticks_stretch_multiple.9.png | Bin 0 -> 1000 bytes ...btn_transparent_ticks_stretch_single.9.png | Bin 0 -> 1000 bytes .../com/android/ninepatch/NinePatchLab.java | 210 ++++++++++++++++++ 16 files changed, 421 insertions(+) create mode 100644 apps/NinePatchLab/Android.mk create mode 100644 apps/NinePatchLab/AndroidManifest.xml create mode 100644 apps/NinePatchLab/MODULE_LICENSE_APACHE2 create mode 100644 apps/NinePatchLab/NOTICE create mode 100644 apps/NinePatchLab/res/drawable/bg_grad_blue.9.png create mode 100644 apps/NinePatchLab/res/drawable/bg_grad_green.9.png create mode 100644 apps/NinePatchLab/res/drawable/bg_grad_grey.9.png create mode 100644 apps/NinePatchLab/res/drawable/bg_grad_red.9.png create mode 100644 apps/NinePatchLab/res/drawable/bg_grad_yellow.9.png create mode 100644 apps/NinePatchLab/res/drawable/btn_dark_ticks_stretch_multiple.9.png create mode 100644 apps/NinePatchLab/res/drawable/btn_dark_ticks_stretch_single.9.png create mode 100644 apps/NinePatchLab/res/drawable/btn_light_ticks_stretch_multiple.9.png create mode 100644 apps/NinePatchLab/res/drawable/btn_light_ticks_stretch_single.9.png create mode 100644 apps/NinePatchLab/res/drawable/btn_transparent_ticks_stretch_multiple.9.png create mode 100644 apps/NinePatchLab/res/drawable/btn_transparent_ticks_stretch_single.9.png create mode 100644 apps/NinePatchLab/src/com/android/ninepatch/NinePatchLab.java diff --git a/apps/NinePatchLab/Android.mk b/apps/NinePatchLab/Android.mk new file mode 100644 index 000000000..c49a095cb --- /dev/null +++ b/apps/NinePatchLab/Android.mk @@ -0,0 +1,10 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := tests + +LOCAL_SRC_FILES := $(call all-subdir-java-files) + +LOCAL_PACKAGE_NAME := NinePatchLab + +include $(BUILD_PACKAGE) diff --git a/apps/NinePatchLab/AndroidManifest.xml b/apps/NinePatchLab/AndroidManifest.xml new file mode 100644 index 000000000..872651112 --- /dev/null +++ b/apps/NinePatchLab/AndroidManifest.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/apps/NinePatchLab/MODULE_LICENSE_APACHE2 b/apps/NinePatchLab/MODULE_LICENSE_APACHE2 new file mode 100644 index 000000000..e69de29bb diff --git a/apps/NinePatchLab/NOTICE b/apps/NinePatchLab/NOTICE new file mode 100644 index 000000000..c5b1efa7a --- /dev/null +++ b/apps/NinePatchLab/NOTICE @@ -0,0 +1,190 @@ + + Copyright (c) 2005-2008, The Android Open Source Project + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/apps/NinePatchLab/res/drawable/bg_grad_blue.9.png b/apps/NinePatchLab/res/drawable/bg_grad_blue.9.png new file mode 100644 index 0000000000000000000000000000000000000000..5572ae39bf2aee03b78e77250ed741fb9cd4fd66 GIT binary patch literal 3023 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 R>@ENR002ovPDHLkV1k_WoMHd~ literal 0 HcmV?d00001 diff --git a/apps/NinePatchLab/res/drawable/bg_grad_green.9.png b/apps/NinePatchLab/res/drawable/bg_grad_green.9.png new file mode 100644 index 0000000000000000000000000000000000000000..77106738ef76877b47c22d188a71e2be2da4f1aa GIT binary patch literal 4636 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 literal 0 HcmV?d00001 diff --git a/apps/NinePatchLab/res/drawable/bg_grad_red.9.png b/apps/NinePatchLab/res/drawable/bg_grad_red.9.png new file mode 100644 index 0000000000000000000000000000000000000000..f6caa7eb402ca535cb09f9fec5fa755cc73d6120 GIT binary patch literal 2977 zcmV;S3tsezP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002YNkl@x XW37p3FuJ@L00000NkvXXu0mjftR0Cm literal 0 HcmV?d00001 diff --git a/apps/NinePatchLab/res/drawable/bg_grad_yellow.9.png b/apps/NinePatchLab/res/drawable/bg_grad_yellow.9.png new file mode 100644 index 0000000000000000000000000000000000000000..d6d78d266b26a9e01c78b42fe2a4c498252c74d3 GIT binary patch literal 3060 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 literal 0 HcmV?d00001 diff --git a/apps/NinePatchLab/res/drawable/btn_dark_ticks_stretch_single.9.png b/apps/NinePatchLab/res/drawable/btn_dark_ticks_stretch_single.9.png new file mode 100644 index 0000000000000000000000000000000000000000..1b47fbd361c541ad204975fb745a8760f4ee8b74 GIT binary patch literal 860 zcmV-i1Ec(jP)A5G0T~5c~`L8|+dCEG$m262Zpekk~}c=_STXAisRyuuq0@ zX6NmyS2^%lvY9uZ`M!BGJ2U=vyY=!G-}lLF>*w+*0xD9Xj9y=-$4#;WvVBK8-^f0Z zeWZ?m5rYVFiyn77ozCN0t#(wYR1zrH)ll z_mlvKtJTWeY&M=P!~g|B;6+gc;QMyF{e)hh=*j|v@9kEr^{7-T9bQ~qz*%Id3m^ER z4N2$@;y6B9EEe8!x%8mOl`v2RMNkgkbX=XFE7Y@uLF@HelvNzwa=DzK4GAcK3K$?# z5G#Y9J|viTCXkQb!2rQiT96cJeP5)AL2O)1>8*z^tsmqD>7iqo4k-c(RS1K!=Fu<5 zFl10DQp5l@NqVCw9g~NSozg54jggW(K_Nww(BYX|kqP8dR0yPoPC8*3R53yMUbNYG>J!fI>7s>qgg`iGByYm>Wp=yXLUVD8ZApsaDi ze}EOrI#q>Dkvc|(dcP?OvO?!d1pU9P&;?oZ$dOrD|A|16X>3dls_*`2jPfYcLMcmc zb;BWPT;HUK$A|$^h}tO|C^E13!EV{ltBCz{0r*0gKxcF|n$j65RyQVD;|8PpJA*IU zkSIExOeSYZlEgU0;V{N)nC-9(6@bto%o`4efSgJ|uLpy{oo2JSU#(X6_|&Jb5bEG# za}UsLHajQZS7<|WDv#;$knBOD(KxQx>(}U9dR5=wF$ij=)9LroX!Nz;@1M}C7i7<= z-qd+>LXF&@$9=MUWVmyvJ91$}hP#C~WG|`B&*CeZR9TH|&vf|J$`7)0vazn@((i%- m?~=-Y(C%^qme=p600RK%v;(Pg-;=EX00008@BC+C(TM zB?)#@glrY!MiATw*KTz$`3=E+*Ik$F1tFUT>NX$}5Ry;>24gj~;xb9k4Kp%KCz-h; zi7q;Dn7q8XbLQN8=j$c2*(}8^Ns_>9mauGMh+@jdl2PxV+5>ihyPkf20vEs+4E%c# z5eTTt1Bb0v>s6spc#uw~_m{DZ$K&&UzyG09sT{%nBgj5`U5ADlR1bT--kWSTdl2ec z8sKO&`cy0yU*qvT?7o@rg~R54v)O!^$z%?u(`kx`2=vqAkQE7fNKik8G)r8$^ydAx)QXiBvL4d)~PeNln5bQv`qd2ytDMB5J!x z(L$nsqKHGpR2EE-Z(EPLdjC(i;+o8N~kSIk%-AUtG!rRdRy)J z>AlER_OcU0By@*9MXq-o*9mhu(HRwTN?kUOT=yfnWK|AXxt*>Pj@z}c4udfVNMR{X zT#7D+!{L>bay}lilgd_;6Dd=5OR*XxhU<#IZg%iXb4+Kk^|F!(tkPo=zZ2fdvhK_7 zJbCfbg<*|vXFhLcXLskVH6)FvKFCkiM^dpF~)-=kZHtU{J8cK$-{Aiwb9 zznwvVWYKLk8ja7nTy8s=On#U}84ia(y4~(&sZ=_F?iFA^t)auf6uO;Gr*oW6r#D?g z3%$f(Fu2a=^I!1u0(!UVb79cgsMqU9sZ?rnJRTo2Z$cDb|j35c&zyiRtjo3V*v0)yCg5Ja< z4v6j1yg)*NsOK~xgaip^5H}$RKw}9OJ4i_g9!Q4H29tom8)uNOZ<=wX_tc}&XcTFV zSRN51ibqQ5eD)kg4BZ>fk)d>o2V|(vgnD#yL7bi8RUXBDOvr^DjOT+~H&#k*E=cGl z6}N71o+CXOT=qKoLcyZt9ejE+7^>PA^+EvjSsvNuNClH8G?wF$h>~^McoAEAYvcLp z9TqBm+lc}a(xA;F(=$%!gu0!`jB=?`XRRaC_mMwiS9aOCjiD1^9%)q#w}2Fy$DRpv z*YEcqeBYn02~|{M^5|BDbVxV&aJJ4-yVYv_$!4=lYJn1#6e^fNq)RqjK9={<9oA~K zgF>OO;&LWQ@7nG5eYspd!@o|Ub8Z9CXW=KvUbR}?Ef$N(OeV9ar?fhMy rCv(3G5{Wsr|DfsR1PNE~Nq_+W8WwhO3ZeVH00000NkvXXu0mjf@X%d` literal 0 HcmV?d00001 diff --git a/apps/NinePatchLab/res/drawable/btn_transparent_ticks_stretch_multiple.9.png b/apps/NinePatchLab/res/drawable/btn_transparent_ticks_stretch_multiple.9.png new file mode 100644 index 0000000000000000000000000000000000000000..327290ffaac7f0a241babe3de3b4054c60bc6809 GIT binary patch literal 1000 zcmV>P)Fg2-2RC_{c02EV_WS0|&P;{YI?8(qA;?XOTs}oWMXu5%PhF?x0ofec%$PVo$PUTA z(1RZbg9!4FnkO3@8;=(j7Amu|vy$#5NSWOa=_8Y!PAA#h+v{&`ZhoXb@9Ey>v8khu zQ1Ebx7$_g>+2ur`y0A{XvdWvK`U!( zYmcUZ7(*%p+IF{53wDxEGhCb*EANV3hNb2V6^}0GeJsskUQVLH_Vx%Tj zP;AncrjC9~ji6D#-;c=`G3P@-Gu3KU;3*Lt0gy77_)F1t+L1ms4TG<*cuJl*q0Y|E zFgBV2+ESy>*Fsthnn8kLF=Dv$&ZkIG3K9kZFajATQ*jK7xG0RW#06!g4j>djVpOn= z#>Y|=IR-^C4=5Q71~x#mn#dv9g`v4Paw!@B<^XgCC>vkEEV`J`@C>J+~q|G6S*Ui$?>QLZt%4n>OJ!bP{RUXaWH zUG)l6WR~wD1ojInhAdFlQtknT6@%Gkd4ju$k2?67UFC0Xh zc6+~&xulyV-0U0jfFvMfzU|h9V~e%jN{t^dY>dj~a=P$2n@8VvYqTxqHiB<1MU_hB z+;-Si<*G5;;#`UdGAd_NftDg|4?aW8p)6wGi;6s_YiU5{Bw>TB^O3gIm=gv2N_Q-M zijI$tj%FH-Mu$t#J|Ah%K`e#f9EBvb+ijeUjzdz{+TY)AEG{l~vCty84RaQ`5d=`W zBzzGg7>P)yy?XHGzu>*6Ui$~+nt#E6!J7w9LLr{5L7^2|)07wmk=l|UyW{(=Z^Cps z+stmYcyQq{$?m@Q+3(Dooi{6#QbE>32tjU2Wb(-a%5xMhdFmQ9_sAB>=BLE@Ms`H@ zi5~peTMEo9@75^ASq=MU*8(XF<>|u77B$@zuynHwzl5U|5tSW$c!r;D%UqR zHy_N+%|$0CC!@h&pa>R3Q6#AqXwBcahI?=?eBg^1K4Y|0tJT8O)6+5jgkgv$Coxiy zDk#?7mUJCmON^kwa5#*}7crN7K=YMKMc^qB90AZ}F!7tB%x*{bu_+jQUCHADg=c4H z7#qa^WvEf-b0J9v#UR132r=w==LAs~#0&yp0@6-8;}{ljQfOtd4N6r+AS6JnRj^IQ z$50el21POpC?1VQCP1;8z#^H6p*T4*DH;K00aOYo87E@`(M*fhbtAiY4yIGAf(E&(MCO>ln@O;SwMT{ac_AGdwQ{zTU~8-&m2o2$S=r0tH?D*`n8`E6l5Bs>rfQ( zTR3kC>jcRZ&{YpVMSA(pLtsC@WJm+0E#(f7Uoz-2%Msj;ENm#3&3;{n#S3OaQo8co zWCx5FK7SAu?Pk4@x}@tRT-Oa*KoSr#SGjdz+hUYkiSYyajZv{!Ocp+?cyyIpld_oG z0KS^<*=>FR-?<}Oo|9HNoSpbh9YGSK11}TEMQ+hMH-}c5+=ylA1PCf-chix zw8zo~I_`G6^YwbY$0=y;kCbC0mO!wNLML=O9qf&ceH6714i4%oD=U30vGlNMwZKE0i$j~8^HK?Vz>wQ!Uw*H;j=5RQ1hJZ z*~Z4k;p*z@=e4!9KBG%%{^41f-1Q-C* W4EUygJ-hV)0000