From 3c98079fc175ee5ca7117a103d6db2b1f741b4da Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 10 Apr 2017 10:04:49 +0200 Subject: [PATCH 01/13] Fix money not being saved on death screen --- .../lonamiwebs/klooni/screens/GameScreen.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java b/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java index f27ba70..624ab34 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/GameScreen.java @@ -125,6 +125,7 @@ class GameScreen implements Screen, InputProcessor, BinSerializable { if (!gameOverDone) { gameOverDone = true; + saveMoney(); holder.enabled = false; pauseMenu.showGameOver(gameOverReason); if (Klooni.soundsEnabled()) @@ -150,13 +151,7 @@ class GameScreen implements Screen, InputProcessor, BinSerializable { // Save the state, the user might leave the game in any of the following 2 methods private void showPauseMenu() { - // Calculate new money since the previous saving - int nowScore = scorer.getCurrentScore(); - int newMoneyScore = nowScore - savedMoneyScore; - savedMoneyScore = nowScore; - Klooni.addMoneyFromScore(newMoneyScore); - - // Show the pause menu + saveMoney(); pauseMenu.show(); save(); } @@ -275,6 +270,14 @@ class GameScreen implements Screen, InputProcessor, BinSerializable { //region Saving and loading + private void saveMoney() { + // Calculate new money since the previous saving + int nowScore = scorer.getCurrentScore(); + int newMoneyScore = nowScore - savedMoneyScore; + savedMoneyScore = nowScore; + Klooni.addMoneyFromScore(newMoneyScore); + } + private void save() { // Only save if the game is not over and the game mode is not the time mode. It // makes no sense to save the time game mode since it's supposed to be something quick. From 2457cccb06e7c70b214d56eea5e963f675ed3ccb Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 10 Apr 2017 10:25:15 +0200 Subject: [PATCH 02/13] Fix generate_theme.py not finding the fill color --- themes/generate_theme.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/themes/generate_theme.py b/themes/generate_theme.py index 233513a..31fab81 100755 --- a/themes/generate_theme.py +++ b/themes/generate_theme.py @@ -5,8 +5,11 @@ import re import os import subprocess -color_re = \ - re.compile('') + +fill_re = \ + re.compile('fill:#([0-9a-f]+)') template = '''{{ "name": "{name}", @@ -90,9 +93,14 @@ def work(filename): xml = f.read().replace('\n', '') replacements = {} - for m in color_re.finditer(xml): + for m in group_id_re.finditer(xml): + f = fill_re.search(m.group(0)) + if not f: + raise ValueError( + 'Error: The object %s missing the fill attribute' % m.group(1)) + # Append 'ff' because the themes require the alpha to be set - replacements[m.group(1)] = m.group(2)+'ff' + replacements[m.group(1)] = f.group(1) + 'ff' replacements['name'] = input('Enter theme name for "{}": '.format(name)) replacements['price'] = input('Enter theme price: ') From 361152822838b8134fee2f485a4197f598ea4233 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 10 Apr 2017 10:25:42 +0200 Subject: [PATCH 03/13] Add first non-free theme --- android/assets/themes/bandw.theme | 24 ++++++++++++++++++++++++ android/assets/themes/theme.list | 1 + 2 files changed, 25 insertions(+) create mode 100644 android/assets/themes/bandw.theme diff --git a/android/assets/themes/bandw.theme b/android/assets/themes/bandw.theme new file mode 100644 index 0000000..e121e7c --- /dev/null +++ b/android/assets/themes/bandw.theme @@ -0,0 +1,24 @@ +{ + "name": "Black et White", + "price": 20, + "colors": { + "background": "0a0a0aff", + "buttons": [ + "4d4d4dff", + "4d4d4dff", + "4d4d4dff", + "4d4d4dff" + ], + "empty_cell": "000000ff", + "cells": [ + "f2f2f2ff", "f2f2f2ff", "f2f2f2ff", + "f2f2f2ff", "f2f2f2ff", "f2f2f2ff", "f2f2f2ff", + "f2f2f2ff", "f2f2f2ff" + ], + "current_score": "b3b3b3ff", + "high_score": "f9f9f9ff", + "bonus": "f9f9f9ff", + "band": "4d4d4dff" + }, + "cell_texture": "basic.png" +} diff --git a/android/assets/themes/theme.list b/android/assets/themes/theme.list index 8443421..22714f5 100644 --- a/android/assets/themes/theme.list +++ b/android/assets/themes/theme.list @@ -1,2 +1,3 @@ default dark +bandw From 38e37a087fadb8dac801d3a4c7605df11bf23407 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Mon, 10 Apr 2017 10:27:48 +0200 Subject: [PATCH 04/13] Update to v0.5 --- android/build.gradle | 4 ++-- build.gradle | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/build.gradle b/android/build.gradle index c3070d7..53e2aa2 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -22,8 +22,8 @@ android { minSdkVersion 8 targetSdkVersion 25 - versionCode 400 - versionName "0.4" + versionCode 500 + versionName "0.5" } } diff --git a/build.gradle b/build.gradle index 0a3ce47..51d2020 100644 --- a/build.gradle +++ b/build.gradle @@ -16,7 +16,7 @@ allprojects { apply plugin: "eclipse" apply plugin: "idea" - version = '0.4' + version = '0.5' ext { appName = "1010! Klooni" gdxVersion = '1.9.5' From 5b942374e8e3f3fd0ba75833ed7f61ebe1c1ec53 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 10:53:37 +0200 Subject: [PATCH 05/13] Create an abstract class to challenge friends (#10) --- .../lonamiwebs/klooni/ShareChallenge.java | 87 +++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 core/src/io/github/lonamiwebs/klooni/ShareChallenge.java diff --git a/core/src/io/github/lonamiwebs/klooni/ShareChallenge.java b/core/src/io/github/lonamiwebs/klooni/ShareChallenge.java new file mode 100644 index 0000000..b3bc28a --- /dev/null +++ b/core/src/io/github/lonamiwebs/klooni/ShareChallenge.java @@ -0,0 +1,87 @@ +package io.github.lonamiwebs.klooni; + +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.GL20; +import com.badlogic.gdx.graphics.Pixmap; +import com.badlogic.gdx.graphics.PixmapIO; +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.SpriteBatch; +import com.badlogic.gdx.graphics.glutils.FrameBuffer; +import com.badlogic.gdx.math.Matrix4; +import com.badlogic.gdx.scenes.scene2d.ui.Label; +import com.badlogic.gdx.utils.BufferUtils; +import com.badlogic.gdx.utils.ScreenUtils; + +import java.io.File; + +public abstract class ShareChallenge { + + // Meant to return the file path to which the image will be saved + // On some platforms it might be as simple as Gdx.files.local().file() + abstract File getShareImageFilePath(); + + // Meant to share the saved screenshot at getShareImageFilePath() + public abstract void shareScreenshot(final boolean saveResult); + + // Saves the "Challenge me" shareable image to getShareImageFilePath() + public boolean saveChallengeImage(final int score) { + final File saveAt = getShareImageFilePath(); + if (!saveAt.getParentFile().isDirectory()) + if (!saveAt.mkdirs()) + return false; + + final FileHandle output = new FileHandle(saveAt); + + final Texture shareBase = new Texture(Gdx.files.internal("share.png")); + final int width = shareBase.getWidth(); + final int height = shareBase.getHeight(); + + final FrameBuffer frameBuffer = new FrameBuffer(Pixmap.Format.RGB888, width, height, false); + frameBuffer.begin(); + + // Render the base share texture + final SpriteBatch batch = new SpriteBatch(); + final Matrix4 matrix = new Matrix4(); + matrix.setToOrtho2D(0, 0, width, height); + batch.setProjectionMatrix(matrix); + + Gdx.gl.glClearColor(Color.GOLD.r, Color.GOLD.g, Color.GOLD.b, 1); + Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); + + batch.begin(); + batch.draw(shareBase, 0, 0); + + // Render the achieved score + final Label.LabelStyle style = new Label.LabelStyle(); + style.font = new BitmapFont(Gdx.files.internal("font/x1.0/geosans-light64.fnt")); + Label label = new Label("just scored " + score + " on", style); + label.setColor(Color.BLACK); + label.setPosition(40, 500); + label.draw(batch, 1); + + label.setText("try to beat me if you can"); + label.setPosition(40, 40); + label.draw(batch, 1); + + batch.end(); + + // Get the framebuffer pixels and write them to a local file + final byte[] pixels = ScreenUtils.getFrameBufferPixels(0, 0, width, height, true); + + final Pixmap pixmap = new Pixmap(width, height, Pixmap.Format.RGBA8888); + + BufferUtils.copy(pixels, 0, pixmap.getPixels(), pixels.length); + PixmapIO.writePNG(output, pixmap); + + // Dispose everything + pixmap.dispose(); + shareBase.dispose(); + batch.dispose(); + frameBuffer.end(); + + return true; + } +} From ac990ae05d7d7cca06acaf2effcf552dad72c594 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 10:54:32 +0200 Subject: [PATCH 06/13] Allow challenging your friends on Android (closes #10) --- android/assets/share.png | Bin 0 -> 137532 bytes .../lonamiwebs/klooni/AndroidLauncher.java | 13 ++--- .../klooni/AndroidShareChallenge.java | 51 ++++++++++++++++++ .../io/github/lonamiwebs/klooni/Klooni.java | 8 +++ .../lonamiwebs/klooni/actors/SoftButton.java | 8 ++- .../klooni/screens/PauseMenuStage.java | 21 +++++++- 6 files changed, 91 insertions(+), 10 deletions(-) create mode 100644 android/assets/share.png create mode 100644 android/src/io/github/lonamiwebs/klooni/AndroidShareChallenge.java diff --git a/android/assets/share.png b/android/assets/share.png new file mode 100644 index 0000000000000000000000000000000000000000..7342cc9e46564cdad5c846947b20e5a467db1c0e GIT binary patch literal 137532 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ΝKBnPM8&kL^g}bLO zMLL1{fL2<8i8P8hPlQ!%ef-BR#p$lYQJ`Rm8ER+JA>4VChzhKprPgoB9t>khCw~WA zL%W+LYN6jQKd{dWGem~8jDY|x04htu$QtJP(P=owZq`G#p(-4;?2g!e=Kn7-`3%ON=N#uSUAnPA(gLxScP5D#1*+6(&ehIV>=uAkj4;q#~(zE7dwqI z>HIgb+MgOs@N`BXM*QIeZd$WE_{HnpI$- zi8>HG{h_08PO!Aw&C=DO4Hf>=k0MvB$q`BmZL5Vd+tGl^-v!JBg!~&F$`n01$7M z1mCTwPg_`aAc5dtM2doW*&Gz-;qWp9L*Vfku5_GcUjfsC9}aF0Y-gE6E?4uCl_RJa z1%@*n$NddXCx&n}qG&z^O1Wp38|kmq$e`xoU0ld@dLBU^|ktt|L8%*Di4|ml>gQt8*hhRqLGF!hCh3c+kuMb4 z@ux-Yp@n=U2M*DPZ7`|k<#sQ9;^6#R78zFXv;+Q=E;^1v70rN9=k+Bp-Y`7W3WXo~}8>@Ei3<@p97Kuzdz=ZTn6R+P293L!S1 z8-ttuS@FSAQE94BGAtBVFGh?ijZ? zZe5bu+2nT$#{QQ$+17$il!HQl6cMx3N8-4<+H$Lx{;W`-5@9&)h~TKgDkVseIoYPt z?*>!=ZRw6swpIZfwvp1(tT;Rr`=>!?z7)#mcP}d+hE_OG2l>e@%134l0$dacvaGdD z=<{1C=`-h{j^=bRR^wHNp>PLmic6fb(76xWQE zB=JC_Z*$gO?k!%%gEs)`_}A%wgU|+-nW-lTzdqk8;2lZud(=YY#G%n=&(K2Wc>juH zme(ZkaJO2a`~ES*k^MeXt6Gk#Z60JEW%m8R&Ydx2hp4jwxm1ja)iLxkAnV;8vw^}fC!lBxqGD#d^H*Re-rBr3 zb&+rPc8^!$=EYvj^9}9PM2uM;&v?~?^wwAQ2gSAolx6hRQDv}(+ zzsOT&`uLy3rQ5KVb8|JawZ^hmmyI-F?aK+AY~4BaRuD7dKWw`0GGtB$yB7)O+Jj z3=iDnv=o7!K^@{S?IE|F8EcDSSB~jlW0O2wYS&{ZO+%mzH|B6R;?ve@I-sn^)v71i z(>cM@bnIqWtk<~<)!U|9u`jtUiO9QC6joT?u3vpXu_w9fgE2p<@aJ|jMV>_KK;3)j z-LARF!oBZrDNqumHr%@oN@p11v;G($f(&!)&_9+v{MxhgH{$#8e#ck6n+amm(af?; zVA3ZsHgtkjQaeQ~q@6zm9)g}@rZ^a+fSWNqUsY)Xwi_q)+0`xH5W^-S-bE9=79`%q z7g)}Vq^vL=p$0^ z(dS0Z;N_xv+BDz^*iMw=!$)~QT07#nn8b=CUEk)10jHJZfqXpJ$)ApDF~2d!t@HU? zQ3NKdje`AOmnfQ-2Reu?F<~(4vD4FO6h4RlHy-zQygzXw1*@E(^QM?3{8PODSx%3y z<<)_Rgs5=(k7Kx*pC4TA1JMvWqt;(UsQjKdoD5dl_5Xv@+e=(209B^0hKh%-7OqQ< z_kG39j=ICKJJ>B*MDYX>6}S!!F4$~Q6~$iqevJG)qyDi%$s~NeT3JYYYS4eNjQeps z13e0c8{OV~bghmV|GvlfTwtw+lQx^zsu-A1#rE~rFfViEu`_Wqk;OJu2dW`i?w9>j zr44|mhSJd=u7j_{q)JXfg&wKkK-2d6#6!m$ zB{}94^&%Zs#2*;S@-pQ4agKozXL9?iuUb>Wdz@+a($85v%g(=L<@>_}_v^yTrlx*! z{TXg4fCV4YlrjZ8z6x%pfZPI`0tai{eh~7CMc<^j>~7+RnI%- zu7l&nAp*XfUjubHp8JXQ!shB=RBrx+`*7Ik>E2Wln~g5oekeY5R&xva#!xF2PKlHi zrF&dhkQAIp@a12YcpA+t1A?dWM`>S~6`QA6KAh$#fM-==2j`yic;f5l$Psza@Z>i* ztUeo8i}xnxV+_`8@6=$Ug{Y*k*~Zbf#I25JSKVQV{W!UT9R=U4WV%IBhw}&Xv?E+C z9M4(|VZHJV8|(zPb0?Q`|72F9E~^%?28}>e@^Y6R7Oc&5^U^Qo-~(^rE2fez&NgB^ zPZx2oy8z%m(q1k7*TE!lA0R6JsngxIztCu>(dZqr%Ov;utaJrcb~5_8C=yh}&*%i> zsi#$cfAMvF5Q(VQ8xe-P({#km86Lysm&?M@y^H;CKv6U_n01>wl|@iJ5jo=#kh>l` z@{$+5ZOZ*GmXk99O+XX4n|pTRo3-p&3-@5htxz;#2sH6PA%P_|?QKoYJUeTcDNj}} z=089x8_a~?Uw7GqSNqj^m2{2`}2@>xVsEh-s0~}L(&E1=y`6j7%fP!lorLgzU(2xSYx?= zLD6oHc@-M~_6bhoDPMJz`hh8p%>6!zDLYxi96hl|r8u<2tEq4-ekd}#XnR}U{P6!k z+U9V#_q3lpdsa@{1z+&Fi|JTl$HV2;XP25GS;`IcpLToTL&lw3`TmWO%f=1dX?oX|${CSUeoVxQR^Dye4 z89%;mf7t)Gr=gq9^yqyH}mP9;#&7qOY+U}`N85kZwv9FA!B zl(qUCm4R>3p}4pM&OX;j7t<*4atzuZ%o8C&6<$e@MicUz~dBZDGHWL75e!~0AzRYay@f(2U zaP&Gj{PccckEo+(AG}tc+1T%|O+P=hEsxt2{s`tY)d%x8iZP=iEN85>FBTk|9nZD+ zI0x1iDQsa?KXtWY1R_A0f}iP(i>cYm&M^e(&hAt@i8#bO?v zfW+&-U=<^`JxgYO3_B@4po&FvHgo1cjU%@<^Ow7b{dvFDR_K41Mcc}?pJCLl4CUFS zAi=p#Jn4|#vGL7*Vh-HW58yF2Pa?kuP=$n4TbeK#ckw_Yx_y?rb~pxzI@-Hk}!V13ena2zFcXlT$=j~j9y zt?z*a(+l2him5w{jW$SFt!51}EZ?;1SpMDKO34&Fwc+Dvyh*OwXSE6OIvE|4*+f?Q z(z6R+Xn@q)4EM`<(d!BTWx8{-O$R>N&RW(iheCi6|E0K;sSAwLzqswu{yj>wV#`@6 zb`%%=BBLv7DQ+0sg+W$*flq|{jgs#Gl;ubV-+UJr6Nj!vrghe5aOmHKnufzONpzuj`zP? zMICS3ZOnab!o70}j&X*k$E3e5rJ+-$NbW<*;^Lg38Yli^?6^j)^eEMiswz@q&UCo3nAEe?RDRkCRhWSy4C&Cfq)&7XTp+@8@HTaD*|YF} z9_N3-8KHv(bk*l9!FRR|A@0I0&IJNuHD&)0`NXKNgU_HQb0%j48LtL^_zO#0^Hl$3 zRdX)t+PDMI!VJQSvCX?s7HAYt)Y^5j8=dBA;J0_wJ`f3j#`uowcH;4E-GUhbaIsVcgf!fVV|7pu-zt58Q#oSaeg0LkR z%OYrFeH0s9?6-J#y3Ke8P>QO_A1uqMLDiPMa+BG>`m*atE&V46GR~5U`v)^#t+2&js{j1ASC03mLwY1V7)mO1S_c?)?-?DZtQ3oY%dr9Sc0<2YtOZ>MUmJQvic zp0PC4f0HerVJL7soqdR%elPJF0U&XdB?>9pUEhjM&`~cKw6MS2SU5WMjI4%hd3t2# zcBLVN6U0jb#E&ZV3JHI=1_$}C)CxPc!AYmPw^_w!Z>GCpa`Wld)&1brMH6E+$KVHd zHz|n_JKghMJ~q0bH9_C5+1Zf*`)%s2&ws$GBe|*gTLv@WbnA}2J9$q1awyb)YvaZe z^o9nmyHNGL;KcRH3D2}P_eRXgM*^R(RekdnKUMk6(IfPAJt@c(Lm*}MNrGZ|elpw! zQ$d)?N_{|XHhg9s{it~ZLa`W1fIHLzgr+kM=MbkuyQB`4;1jLY}5lrrM{dWOrN5ZPVA0II7 zoRZ^Rlm!%N!gOJ8^i>piq559KtY zDjdA(z2WJ8-Tdlzu&LA@tlGGV@737j(!g!=N&%1V*?)=$o!OE|;QrPVQEUIJTPzkT zKNM}`5B#OIBEgSOVcESj?UoT?k(ZxYR8$lvt!XY;ZFkVAXgb!Gn$tGH-PdBU8Lr9r zWy=HKnHUaWge+mgOu-J1jm5`SmCmf>Ti>lU)I?mnb88W>IZ9Kcm~Q|@W>PyMqlz32 zx}??p?nxHvPLqz&wHF9dH{7V$Xh3yX# zK@U4KexM20z1pX0VH^IP6R1a&O`$;@yxs@cA^QGp(juL0Ia@@sqVPX==zEijdaz7MNH!X;y>R){oa;ms9f|gGSateCEB>&a$m}Jv4`&rlx zx@VTt6^T@}HS6c14-nZ`=sHFm{5?dQ%5jm2;&&&MIi$_Zetlm*_Tfyl^0aklbhU+_ zt>R^BP3bk?s!9)_Tix;F_ACxZf{9^bE9!@_OyVIRvmdX0O@jAUv37FKu9)+2Wva8w z%7e#{57Uj>t>lj|#q7ao;cP<|A`7E8*cx)A!6T|?9VGYXTl58CTLAYv>LdT$`UKA= zCGNflUpu!4g6Tp|mfE;YDDyXEDN8;TZ^cJ!Cq4-5>kR1_8zY!F>08zj>LvwrABgJO+35x4(gO*W`;Ln1Pt9)^dxWbtJ+wPcVGwI?%H z(vHJ9zSmsNJQ4Sn`rcI^RysFTO_fIAmB``21G;TdRP>DYAF5UM=(wW9v?DSqX}>ub z6G-v?_?w6;Pxz=4o)=ZZ7xt$E`l#b+w(~yl7M2{%!J}0 z#zH-Jo7;RvgL}d$iR+QigW=HTF^zi~iC`ap!a3vi zi0GCB%mtbfzh>w!+k=bq5r?0DnJCTERA+QDl~5};%6tYmV>S6LT8aO!W0l_Ph<7vd90pW$ds8qA8Z*l5_R0Jjao<6F$aJK6u}_{4HmH= zh(|}(+b=+`)$%y>iJ&JunsU46>AG9Y1xM*h)9{#xdjCMxS|= zk@&Jme$5v(T1QH)u@H0XCJlzEfRa9L`aC;FL!U;`)h5epy_)RFV~kbM zHMI|K%SvdvMy7JA<#BzoWp`#@QyEPzi{;mS6W)M8L6`H-!S%4I^)u#Lj#nBxBj$x# zo~Ld1uj6QY8$NQSGJ=15`|I$~jjQiIZzZ4M`|&cWB)-&Kid`yWGr z0=p571kEHa1H(&Mgq7>aCrPZ_D%h8XGCHGue04DXpsM9b?a26nldN%0IX;e2*R|nr z9FRF1kIu}{Z0g7-j2j)l+bd|C%Geyn=hu>->rTlYvpEJuVOD?Z8W8*&H}+t=vA64! ziGp+Ml#{nxx~}DW)k4NKOb7wXT!OD5*Y(-jE~{!?5c9l!wrkhj>p0q$Y>1FK!?t`S zL4m;d+Qfc5bLSrX!0b8v@a$Q*+i9OY2nu>L)>eUybzpo_;?oP|2>?)E+`!_Cv#2lh z*27oBX02iKH;0KdS%XNy*OC~{R}4iON{Q-jtHoqFW4Z3{E|T(S+kqhH7CVi=ZD`;d z>x37oz|B<0Vb{m>a3!@SpRYBpEwAF@!ZKc+U)&MI+@g4l6)3R1&`LTHurtztUri@x zQuo{v@=)Cgo(AdOr3sUWPNq$hq&_pe(J?Uxf+S&~>aF3FocN)c;d>gc1kYK)9HC1! zMSe2ObCXOx`tiiAjA4(O0k4*3q*1n`pzpBU4H@_E#>w_iEsuWZo9q(^E&^@3bQ8`$ z0QhwsB+m_^8w}~P33Y=$BX4K<4$`mV{Pz$d)9GyN!i{}%eMUghUrqT!Eh-@?0KVK~ zHOIk+_TP%9#%J*U%P--cwZ)7h7Knw`z~T*Hby-OI*hIf))HnDW9+ppC$NHt^EitCp zA%bTR8-6VO92x+W$>%`~pEVRzX#W;&Q#VNY-r#FN;pw> z;9R(f3BQWbN*N``fg*yhHEN!Zf&pj9nt; zf|#>!4G6{nK@b=HBq-OB4E{DzT(nCv9a`lw`sS7r^X{nSiET|qSyf3U=(_Hk`$Im+ zY!V)U?59DOu=}@{6$K=ug7;T zT*1#?J&j3k^I5eA4qLf>_B>$rDzLODZts=kM36fT>}#yPx`>t2b6|h#zVy~mF96ys zO(eve!0?rZVgj*()(oYjge8&PltlW>Gk%Xrc@$eq(9Pl=swj=vDK74bPzwIc5!|?T z2{&$R?|AY~AdY(l3KSSbr1HBam61WvtlN+?g&+c*Y?u#2nOHE(G#l2t#0dkpP+*&(iOdAN!|d8AC4gL1U-^_J zV-%Ht8Gte*bcYc0*cf3VfHizCnaIlb7;YS_no2CHdW-hn1!5j{lT6B!h6>BSahq$v zqf`p+HQbOF;4zGNIdQd7kmP<(J0aCC^Us_e6?9at_PSC4@ktDVzGud!l1L z-nL!F{^Oe!ZtR=uGp#|>GcjTjvd>oqi9lD1;4nc$fqcn8X+w-wT^E0F@D4mNbqMdj z^b+n~U&=VcEkq}K#(vQVW?*GmV$`Rmfr+Udx9P1fSF!ZMENVB_`!)xgK(+BTyMTl) zMhxSLhH%AUYb-{#OKZ!CdDB?QK6ibZCaZbKOglo8=564VoFEHr zbXO5eXc7z!`Jb*S#GJGADepSvbk}XNiPDUM&QL&btjRs+Ip?WHnS|@O<35|)rhdSh zBp9`gl=E*B2sU3w=6A_|)VMM2%DvItjJfCmHV)GTus#lGha(vL3WCO1tUn%+MJA)vd3`Zy&iAi_TzWCf}BY zowNq#uLBof1=e?l2&d~lmR_92^)H|AD>-jQ^L+rY+>-VU3X`qc=YOVW8ykaa8*<*s z{T;tYX&lS8>$`$(9~QtaBXEuj>^T5jztr!UY#DZ#F|j~_orTB>!bzK63*$!UrjavG zn>c0jj5lkLT|8TpWo|FE9LToV0{|1HyMmXLeB)LLu%et@9%EMa&8?R0iFsSsXYw`# z%X%HhzFMf|o9nY(qmY!h1F^WXYsFAn!BGISh6X{if`x4@buU; zeth;UzIT2=+}^kIp0Qp7u3Q3!N5t*DT<-Ub@N<3afq5&zl;N3f)=kYE zE}g-~BcWgEJlhyeb75i%Seyg4VSUO@u;X(K6ezGA5v*WV zWo*Al1>|ffB{Q`lXMxpP%P*~&!Lx5bqvL0JBfZb=xv^)NPExjWa*Q#g$#ahrq`$5| zMRTf*4Rhc&3VOt?KUNuT^;XO@e)^kR=*HfF1kVeT&E2o3c~FGq=xhg;Jhi_+I%hFW z$>EdRtUxA%4!v~A}48gS_xFg^uL?FF2Ha$HVCb#4ty zFV4bS8LUKt?aTy$TCUKfrUwlg9(cVV=IQHH_I*cx33^052X-TYBVcmxu2IohHe+gq&@hv<-)+i{Z=^w{!iDaVsl*>2Y;h$C;; zwoRL~*s2h8hYbk!*cI}d< zwta{>MgQnhpY0lK)>vth#F+#Zj#5$)5geX(0LqtVk+vTu%VC75pB@^=2X1~H-m!EI zKX>IM#{FdPj{+IM0G1Yj)g>Y66O$NJ_W*CLj^&ec*toLX@2SKhjY~K3a7Hv^V08Ts zpXu4eh|F_KeKWrxFjxxuz?r_b0ArKD+!cU#euneH#l1j*-XkmV$=KJAz}RL)M@5l|jU zj$5rRhsSK~@zL|%BxYnEyJ54HePPLc+=(B^p>UcDDEeJA!yU5s5eNU*3^*;FQ%k$d z*D`0jmXojJ3~e__${X7jZtQvc4W1(;$r}{|E{jsm4!}MDBKXRfWm!U|g{#=aTE=in zz>|{)@YS(t{QcRp_`Vw#w_Zf+V9z+vEW+2o+$^xNByR6R!~LF70QNLi&n{r)%)BY_ zIhbfJvlg*2#kFpD=rI7cRZ?<$4Rz4A15zGsJ5U6DduD{#B$NV%Mu7E|e$S-mP(_)w z0tI>kZu+;IeI~w1!1%u8y005cRYShStv#yXNGy7XB$8AAjG%vNdCR-ZSe=hgu2Y$) zKr}A%9f6JNl~>{HTvcuEGkw!z-xL?@k?G`3W_4M@x7gHn58U`um}NF%J{WH7S^H!V z*5)@7+f*hh))PJ)#oRkm$l7|GMEmS6(y!yRc1bUGN@5E)_Ky2CHy5$gOdv@8XP1@a zF@P!BM}Q9ov=35%A6Np#iYBh_qCPGgxA!ki?8iU8d=fWT2Yj!(9cV-Gh z1-31E@x*Mm`KJgEbcbD(hF#RxTNn1~ay2ku%cEU3f5c7Xyy@4(Nwt5;&M;%Um_9Q$ z&Z9C~tj)y}^r4B0`3@M-TH$t$k6Smhs*HJ%mGrTh6l(xX7)>GQwdHC+PyspbmRiS{ zG1?3&pXwPwOZ~v+70$H;0}TLFCWbyAn!C{o|Tm6=`&N? zE~(|Q2rN5tr6?HVPNa+@0U!-1)*y1=vj#LngTR_Y8HFO>5dqJSOyXbM_6B_K{6+la zwKEvey-ym}(bc}4_L*y|z{WZ-J}Iv6DJ3g=f%@VGmR_7iZ6VosIEct&Xm5FDrmm-( z9J@=z++v^<^j+!V4gl_8mA2>=cJ28sP@v0btDQeO!otN?17mf$ z7P?D<11q-B3^EB^IB@08I;p`T=II^)_Lx17QB6p;Q<)fQh|8x)2hH(zZHc)VwBw|2 zZQDiy`s6Z5RnRw3>bf%U!eB6>t2G-`*5>N!PTzztPR!tEuAaf$7q9e|4|me}cH3rZ4J_UOR+oW2dx5cu zo)76)JuIKRj`d5++wS|)85D31tepssueEASm+r+blkzAAi=gjD7k6OS)I;B5<6waT zI|`XpMx#{cT_my+w6Ny0rC7k|^l&Ue_o^PMt5uYT#0@?yxfYQLlM>o;>Yot|f*X5$ zJNsQR18djU6UVEJmm>mk=z>QOL0u#IHMJq;v2)!VT9Rc28y@*(WI8#_VSRobFs}PR zqYf=~X3=^`;g`{M)ih|E`ho5dDe)c=x8k)MDK75g6){#&ql#{cxw6)pI6Fqp>$tIb zqw9RMUA7lHC9#DYdr!va@c5!Rn3W>H5XlZC@Z9X4# zWQaNe^KJ#db@*On)ltM;hg_imyDo(Ifc1(uh=)B8Y`O4o;A%~(6Xh~-mr zU~hYdoF*A-t(RVC*i8C-m+r+L5_5}zBIvv8ZrqJ1&ToMNd6B+Ig#SjB$*zyhjW1dr zNeqn5BrB+^S5`4TJ#5Grn^P%H$BFmI8&L4IH{9$MqYAjXZv0lRif4sp`3VyBAiTC% z1EjWB(zi@+n0mbSf}cMde+@V#2g7@ZVPnm$f-Y*hadsyPHk;A=CqMc@%y)?!doPl{ zrL|3|Hx-a+G?H`$bMKOtM>zvTE{J^iCe%cc52Xn{#O<9FpnX7_d!B)E76f^wM?IQgUEy7c^#Y z?_t%blL*Ku1j-asknyO*Hv4s`Z-DNtbdp#3J${?ePLWuP*)Av87)jEOOQb8^hw z%GH%%6V7NN%33yrmh)#N<-t5NV5^CF^Wa)+8JJ5W=!eDuB1Cz(B4uLp&5KdxG_j}7 zU`aWLe%0+f>E(AL=qn=ZIXZ#aQ}ZqDHx@TgU-wX|nDTm>p{=n7q7vIU^tc$o=CSh} zQ~C$GsBm)pp9}&qLz`D_oLh+f_}IZQA>qmxu?_JFh&mXo?fW?<93YvLcbk|uOD<`R zdZ#??WHq5{}k3@Akesq^lHYAGk3KEX~6onFJ4w!5wSw`mXCfsTgpN8ji6IBgGKP#4!oi=VRta}-Ftou6o^MQV&3DV zZ;5E#fQEZAqn;3B-z`&#J1ueup#vs>KV$S*c%s=+v ztL1sxwi?a4Xt=WXt2K%;Kv41|cL+)|G#OtSr9kjSO=krKA4*GXIy8eE@r2PtCJ7=p z7!^Cjr z8qmQ`$(C?x7v>N@&-4%U-i#xp>eqzlw1I&DprsfkOF`A#_>Bo z_X!{Fj70W>m`4p4-RiSlgKeaiw`i3f)=HwWem@QTC9}eG(FHG#m`>&kD!Fo<*I|Gk7y>}9S^x!?XI5C>}Gus`bdt_Z% zjbB!FEOZCPR@*lD+1`6%9vYFex#wGKIYB4m5*Lr1j(NQ(001BWNklaE=YDR0|nE;JJJEJg$- ziAQux3J30<#>H>VwlwoLJS<*ZM&&lqF>mHNDB?->YRJB)uuh9V3WAg=u>DftkeiH(t2`FhgrY z(k)SE>xCi5ooEbbo?pW+&FG(69)-39Rd@<6J##hjlhe1DYXFhsC;K}Crrv>W8O44e z!@`}wBauq2sap?B06aa=Igz7nD53g83u@7Gph%~fT z62e5*>j#L)^muw~2G86!{r|J~=5dl8)tTsbB5r2wRlQX2`@U;yAtWS(gd~tHk1${i zUd9j4fFFZxJhq?xJkQT>JTu;Y7HV~?TT-`L zz3+Q%nK$D7aU$a0%)D!EmDQC;s;;celd;?z_ulx<`OZ0b*V#k(u``EI)YN$mLX zf``v;UW{19((oF)`mDwg)fG$gGN=v0n zPGAmWMm0&z1OYy2EW2)DBtQp%GcTXR=-N3eSE7H%Ac*CSD$j9^h5Jjdr6 z8d`ILIQE>w(cYOwk%7+J;lNyn-!?P>t$`EIN3Q`AggL9{y7Ns$5R%*)VEk=BI)xig zADR0&Wy|HqS7%v;P8D$t8DP57l_W_8NKS!0$XUTu^TBy`AQu`k zg9d}HhzQHCkN2RS+;bXAX{a*OnYGrgwl1e2$^aB}woORIIGsd$8Ef>SzZ~~=Z2!#W z=RUO-IQ(pU{N?=h^Fd^^1;_MTgTHW@lJlG+hwM{zvq;q3o&CU2umO&xU$}WRvW=-L zQ#k+X1?N3i_D7q!DLd|%{u57tInGHcF>^}$AimAoV;rStGvlkW!pXhS#;cJPBk+0) zhSqLs!ovb{n;g*IAL7?>9?5@Qz-0NHCb?UCZ$b++RIwDfj#>P>9*Y zH+5d7KOLG|jW|1?O-N{tI}wBs5K=-4fr1n$2!W!M@H`I%A>c^~PY6gMAcTa3;Lr@s zB?5W%I7F24?!s1Q5kiOaQvJvGpWKf3)!{N>JV4xEP#eZaNI!;KfO z2=v7lQMu+MElIB1pH#d7zRpzg{W_`5T=#;6>$*larOgiTpobmtXQJuN zBnb0X&vmbb0DG+nrWQJ&E%h0Qol*eakZ4K&V+Ng*#JRn9%@G0O+afi8``Mg4a$Ft5=|puIy9v(8IXyo(d?FZj?3nDivR zw`>uc&#T)4P#%_P1?bgy zZKhG&mll8<`hkHKGtuYv_u}qNYjEWJB|LZJ1jeSK6ApE{%(U~{m98X7s+ZBd%)VpD zy{XFJWy~WC(5gUTtd~(6Pzgv6Saa(#?ETuoNabTcIDz3s>!2*XU0a&7jkC(;Ig3}x z2+SJ<<(0b8eUb*CIJ@z_Z@d<}ph0~3*B zyjg1gn%h@^1eZ{&mXo_ra+rhhp7RfH;FZ!4HghVf_XSPfXk`ZG^;5}Jm}9Gf1CJew z)m?Pm5*IH(f|wj^YoQy|UX{-%7)*mknMz|!JTPy?1~<<-ZUr!J>88D^uco&ftJGv> zR*3d)!3dd5j*dLh$sbEF}*7uneoM+u@JH6O1 zI6`zTi3I!+eVC~^U@1(@v=9R8?pP7q{%cPj<+{1PHb2~0KzG)uWj1SvLx`GhBzB28 zUU`pu04ySou?ELjYxbUM1?+z$9-J+^eu?v%OCksfh!9A3fE~7kk?A*K&`rQ?RSgB} zxYpA~p-nt6INFZ|o90J0H+g9ir}mtJ^1acL6AVsa4l&+o_ZvSD++4KSCc+@4^|Rn0yyJeUT-dEE756~b}7S=!5f zj?&k0{x*~D$pO_h&$UsvZid+MrpznUm(Bss>zbFgmpegdY09n<$DI@ZNFgDmiAk3d z1u5Z44^nb`x)cHe#JM#nFw2JH)2&=B7I3MjSl1eyh4>uB{^=e;dqma5z@cJ6=eaf3 zcOArE+YPlF`5|={#l6!Dp%;nc%-8qS>z`^|q!8G;WC7NU&cX9XPT|nG3)3``{4xvg zn_am^B=yeZ6k11PPyT`hGkKGWC489R;NpG+-?PonhBw6n^utdbL3z?gp+`7Rs$bTS z641(c2}9J!>Y-FhMsIoSoB1A~Y5j&b2b$n&Y$;#k<;M?4enof!i?%H^#tnchIG14W zDZv5bECs@w0?I2I3XDsUvkvWqTxmD~ti59ePVGGt^$i?);x#O}ei3}1pnU=D^CGjr zmTbMX^yx+pCGCUwHtYA6NBR`Z@q-2qeB)IpKiV+8`1++m+_}j=z@ZK%@Z83sn`0Dp z9`YWiGy_wfHuImObdPyc&bw2{&%UU?|Kvs6)Oi8O%LHhs{}8X30CS(_&T!^Ec(0^^oyY+jv>B3dI}e6GD~QzA}s?Yf2AQ$!hO zv)~a2%JUDWe%(-i)9yhJZ^k;60!;u`6@mLlfDO|K&co7IDBzYg%W&7G)tJ-YJKe*{ zB;647uFNz^1+nHQ*2|c;&8X&MzYuu9@&dHThgr;nEV5q`+^hAh2#t9whcIu|NaQyr zFHhmv4^Be+TslXUmGLxFC`-4l*u&TM9}O&O^rF8U_jaVzf|+D5qifUD_SOJidh`&k zo{cV2yKwUYc)gz4@EUrv6vmSZgWA&v-3nly ztqIDv$pV9NOc4zE*x@$3jvMusN4(E%afrhUpW7GP#^M{6nCmAftwzR318KKrd@jPr zJI^?+zHKY>I!`jRV<(0=ca-1;(uWyr_;AIQ}nu?D!dpijnU%l&}_s90NbmuZYcILPV zc0GZl;Edj=oOvSvEmhoxKc9h#akV9>5(H_ix^*df=R_NfubjMsvoD?H+yg!{D3pyu zH^!N?TJN#*j`$!iFwY{X<^Bk6ag1M>z{`&uj8qd+VDWW}*@JHK4+u{%KsRfMqu7ED zE5_+unGHzHI*w7z4b0PM>`evGEvB*8jJ3%$_GBfh0OnbwA;Un-+-i?OaBmV26|{FU zwD*FLD0)nHFGz_333x&p@Gc;=Dai(tf5BpN^L(vmUb8KWyOYj>POXug#+N*Yqym&T z37Dte3u3a&Tj>a!OT{to5Sn|x0B-3A-ZTV^$mt$UvJe5Q=Fh?X+ty?A;!#sSxAUaa zj4xg3N?6iwrf?gFdcaI3-4sw>kGDLFRJK`hLq;T^F<%hoer-L!J04sg+sA>&51};S zLm6P^mo>Dnp)61^CAYNOoVD9q9^Y>m%*3`y!LgYdE8~SPzY?pr`VA|&7iqj7Qa}(p z&e?fx9@-SFv!-ndss>Ycn`Ev8vK|}(uOPAUzO}LKy!7xZ>^1kfzZS_=b`=Zr~F90#n&%E&u}k5rry0Rr{|Id8l+-=s*ig^ zqAPx-s%8g;`SK)WYcm@#ujhKtJ^xOtT^`eBUFS7nZi$a181o!CGaY-=LviQUo9+oO zh)owBJRu=$Y&uy_dQioHt2zbiKl`zrrTfgz-1awB8a}sG$H-kXO{`rW){R%F1?ExG z5db|bLQk)kRT8kR54e9ASk*JFL&+^gPh!WiMR?2BbyzYoINigkk%H)Y(7V!kk_nV2 zCCkd&W>oX3z&!s3FsnrCCeweNrvoN#)_}}qI~HL6nmLgzPF|kGfo~py?`s3nHGGpS zj1$F~;}BEpG!mGn=_N>@8||gHN_i3$Da{6l-CuYaQ&*#_Z7kTd00RpL9T*eRc+ovW zakpMoGT!(IR$nB&8rjF`oK#VbWNkBat~3E!Xn=sN4{V6-_mxLpL20tg=iM4-%HcB+ z7-?cRL=hjvk2854CrM^dZhv%erD{dk{ZD&izq9I&)$SS+(ooz@9s(gz3(8aa&#Kt8 z4Q7R&rLiY}v8h0_Lz2GbX*burTAlQ*s=r3sb@wM{Ph#3Td(#8jdqGGPWWjjQB?{7W z3FV~ZM46HdST~&QpdNcrYA{XIY(T2BRFc9Mbk*`W)&wfZj{fS1Vw7 zk%9TvUIywjRfc+daL4*pxO2m54EJ@8m0`GN7Sw_0%8ZcI8>IWN4c_tuV4l0p40`dB z&&#L{1=niZ%;Vc1i1(tu_?4HS$_iy)!S~sNu9dB+9@^+5=6E&;%q!cB2jzKyxrT|G z)&ax$J0E#2R)5VKSG)d&i9Z&Sj0c^;xx+gV3F4|jW8>#N5WD}$(q=^*x;C3=L0EOm zattpSiu}&xrAfT{%|q}@3aYH3%gSZ<*NXik3Nd@8h(YBA=4q14TVCBJ*?bCwlY36# z@KZ-4zbA_l%U`#gM<)mn1nCi^lw77RM0>ZT*5dkZCWy~}ugUH$Z_52^Hqh8JwwbwI z#Edm7jXiJwI)e6Y{v*LL=bn)8NVu4EPq25LLwy3OyCc8bOF(A;>N@&*nH4e%rmeFW z@2e&BD9`}3N@l`jZnsJ=6`1E})9Q8{Kpzoj+ur9~3EVvd+%~|}_G?8J4G-YHE$eW@ zip40%>7Us0;r5@~u5=|V>6<{S(0p&X(@g>8d1&l;H|p_HhnG?FCS7Yw%jLb%jtAGr zZWfL`cLL`RUxZ)Q@XJhdS3X=#Y?v7IibP>C1FCN`nax|C`@9pNjraW3?;OS9??;!` zB1u?z+X_bu7m^??K=%Y^aVG}uZlv)xgoI5&h6&_tvs%{zS)1g}{`P=P_s1J)_I-K3 zp|>kna?c(+8}2|+=Rb9v`3y`I^T`OxquaC_K7OsW#&`bgso0K}-n0yb{vy-c4QO#J z6a!N1wNzb`q4KYob(~Z3g7Ri2eaocVrLotvS=V!^9vXX=cEb|#c=L5(;?adL9&!ok zXzl_9Pr?&HNj8^6&gctMn$1=;u-V^hOML|MnvHePfmwmi5$53LzGm7+S&Ql>J~wS4GZVv{%squc69Ev85f6&<5)Owae6xM z%B+`EFr$H)L}QQD%Z=9agBc(IG6rm)mz{&BQ+LFS;=?kBRX z;}DQ)qC~D^3jH=~07Br#pV-dxh>+vEj^p%;r`bqjYNGo-H|&fw8qf+AlZ~HyG$?N- zFpq9C)UWl>XoXA1uVC*(@d*Mq+`rLac{a!hDL^t<3+_0={MJ$HINP}mQ-njqte8`p zSYV#!EzjR(if)I{*qd$`=nxuv)8}RS(mG&5xikvqKOx}a&84)SbQ$udOB4iycVTGn zf*7omDL+Vr&}y!o+bqTBvqI_v(9QFfr|PC8eM@VzT6g*YdiC)#BU|VFpygc)aJjVm zhk>=l*AW$Z0VAukn63`?&Ov}MQo z-T&`t_@(INaKp<+uxR@dW}FxX1$pE^y3K@b>q2YT{azd>Pe0cb@Ppl4qNt+Pk`4?1zu30Ex-z>Z6DZff^m@yiuu+TnpcR|1 zbTDJ)WU0B5u>Q^!vB~26l8;@Ve!<0|`@W&ND-Gq_2VE9`7B`;+FQWx#x!a8ST(kF_ z>Dh#@{?51A3mhSHR?WepEsNMgDhVV6#~ynonUc-uE-Lo6>1#R1I?f|m)-e%5ffF;a z^PJqzO+S5IY}<#PIE3@BUVtidEV?Qys8FIn$7rZIg|+9ldF!~cy=Y(_(WZM_sceR9TkslIj+|~;`(5b@khTG|FY*DI zJU8;>FH{1GhWd{9py}XDA)EQubWEh#(;)?f(2$l%0b*|%nfYi0l<%6pv&<=@a@>w2Rae8YKfdt?-$Z$$ z9QmC>e*vrRTmt|uYrl{-Zl68sY?Lrm-XvgdCq^1`*UZJg`}%uPo>VAJl;BTk_$438 zS11e=TBL2xBC0YC`NAYTY*O(3NJNl;qxwc!g0t>8-qUn`IT6f~69fY6{SW1fx)t-0o9 zHcUJ2IS~86tkli=giJLiX3@*jW{hsfdC&pi`oiOwOQ)LBR)K&WeZX6WyWqT9q!8G; zWC8BqwgIc=MSHs%6+s$5y79@DwB41iq*^20hu0>JJz6)$>z1W&ojk^{7t(HuoYC4+ z7bSazZ+h1z3@sXnY^O9{#&`bW8Ao&GWMQW4n$~=-v;k-_28rP9crRlGph=N@dYo;W z6ak6>+E@PT6S3dvo7;!AZ(74d13~Z#1nCKQg;4CVq|gSWYCZ-8Ca&WK5{%?o$Etdb z=+GG;#+MdwzW)6?WBWYt=m8x4{xOux$|MbBFFKFKZl(B`gx6fAbEJ{mV_rSi>T^(Y zcy#!;#);i$u=}6mORH`Cp-m|C7EIlHE~`c+IiPUHE$d~h?X=?BWUB=T1X+-nvvLkb zR*YcIiV+MiAI9*C5sa)DfhD)5 z=^Z3OBu9HUiQx?8-6IbLa9q0Q371GtO5y6Kb6Ga?0|9BPAk0FU4YRf-^!OPOwf<{Y zXVb357SY%vbxmK>0MK>S?^=;4<1M`(OVmjd0&jDs?0gdr`3y!ZQK`8VUaNGND zjBRWG!>{1zb0<*_#iIK@xb&JqBV^HERsZdzu~+Ju^Qr(S9;b%Jv!B|FL*F|V``sNs zz8#_LG3&X8=3lH_U70D}43;emFL~q0nE% z<_EVL0|tjTupvvB_;X>X=mAKNA7>?_fQW)5bDo4K2uM#r7Wl{hEj&Y^2S6mCK_D#> z4{lR|=Csh*8*4Z7SZ6zpJ!k)Lr^Y6I5aICU4VZYb|UxXkY) zB$}NZvn!n=ibB9VLHLnbb^S+_EVa6+puAlM#j3eYKW?ph&|6t0U&I@VU#P3e1qI;V zVc?blpr?DSW|oCRT$b&Y)yvT1H6H!2X5<8Zc>U8&7+F`k!jcJ?J1~>&;?H#>O}z6? zhqpZFH?_@(KH`lGY2ysQoAdb+d+A`nf>$8i_+y(fXZdh!qmTcO@1i_eM!CdE!jx|_ zyBklfan}Z3+Z1oP&Uf7N0&{2{n{yXy;L?e!c<47Di~auK!U3#%^LiJfZR5_pf(1$n!6#m^~=X!lQ)1jo3pV`M1XwshQWAADWx_s+h27JDDs55J_~mjP7* z*F-l)8h73)8F)9_TOO%f1aa0?29MVBBe0L%=U8DJQg z;_hL|64*~PuPu)t3v3widL(2~!s`)`MF#2Q5g@r9wOv3OwHHiN0dyTn-!ipZrB?&Y zv*r-(Dpl@EEzb9e}DZK;fd&Mwq5B;R!P5^+7H`6W3Q3?-tut&X&=6rhpSv>d8`{0-Sfa+{YZ)t=98kqzz zwF7LWw>&Oc78!)A0etrVcm(4YCSu##@#8xn3Y_`PdOD@?oJ)^_Z0;b=f@8d!;c>=+ z&phk6=8H8_zk$h}8B3u?P)2UuU8}I<`o*zrJoS;MarM+V{F3#gD_0}kmRzHV!8C`) z9<3J(%xe}2QT2!KZwq?!)u2$001BWNklY(UYxOtj^~%fJgS3j&3rgjW>sdOUbN9%PS%EP9Yq@;R}w=Z5J}?XAxu zS%G;yYbp12JVTPc)pdVrGmX6-Z+YGKT{|x`HA{PEG0ETz?Olo>ft=0s?gH?6t1k6r0XHc+l-UhVSQjY{nY z>A*at%?2d8%@i-AHk*Bu{D))F0pS5V9$b&5*Ds3g?}`8QJ)GEg4&^D0@|5QCYrcZ- z2LQPyVO$89=b2MBy}(;u{UsY3t-*EMpZ%wOiHYInt(}LpZ(0{RChXyqMMFXM7%&k4 znE1)+sWvj7Y*M+F)5P{2#pbrz!G*z_QZk+YO}}Z`K2V-(9VdUe;=W+-4PW@xuc9qjv- zu~%l8}&SOu8;S%P)G!hzf5ygL2Qsrx&Eh43Vx}lTuH90ZMze zMX-EYYM{z--)iqlrYe7IhJ#JexToincxT_AVo02;`Fv@C>zVK9Yhz0KStLWfJ$U1W zRk&mQN(}ZC6Llr|xNF&yc;EJa#z0}bO(X2ewIr!GJ@?^kO!`)zw>+!FgBgm{3j;I@ zo~%=kj91SBhWr2XosflST2pz_$CrQWQA}K#Lb;^imo#+Qc#{<)A+0sYP~Y1@V~_e$ zkhLAqO5^m)=kd8;e?_|`OM}X_{M*K0*AhRICdv)H#mto@BSU!Ww)MDS#bOj9JRvIvkKz5>K8d@RKM4`V zN9;;h5+r>SXcbzMEUN;T*GRCzZ)lSe^Fe%@^?S>+mX@;ZCiPq0fAWBgH&7Vwo?uYA zaN}Iu{4?=&vCqGH0ss1k-$A*gQ7S10>b?rh?+l&KaajkSExi=`w2@19sIIa@T^-xKJA2@N1aN@2k>k8k~Pd>PYv&aN?)bSIF>iHzImbO;*pKgiWS613vnSQ}!2k^ikZJ@- z&%cpOM?v8>Z5*_QhV~Uc`Ey^!*#j41`xsm_h#l|R0n+3$x7*Cxq98b#mq`vLB)E<| zg+N!re5#+7>FYSZ#2(Lx532QShH)V{E}G05C=L~I_kX%G78EL9;Vb{?>p1<=SSH+^2F zuj!_-*EO&3^Te{VAV3<1{tgHsA&9fQOCi}hI2&aa*d@{^?rv>`^)xvByCT;{)32|v zUY*|ZD49VkS>lqo2S*COhbehmMVXPVv{!ly9(Jx;iU+nW#e26rj++=pCg#i!u{^lKtS$3cJ^QZ94 zCtg6QWJ<4<6qL`Iy;Yd!oC0E_B*^Ta4VZ`LNML~ImwbHcgI~q|e|&CB$a1kAHY+N~^HKb`xMuy;@Uqh>2Wp9NAD8Sd{DQm3P% z9^D4L(z0o1iT?>is`BE8hc!zBUZ1D_NwkXD-h5{1Q%z{~cw_tNhSX=(^Gs zBbh+C4uDicz&Nh?6i`0XXzcZa@|ZTO`;Hk<(lmW#SX*7wb%Hw-cWH5V*Fq@{rGi6n zclY2f#oeV8r?>`p3lw*E_aa~J_q(1S=YO)#oINvZ)>^ZIx^YZ}6zp}vbr*?SZl@Kg z19K51qagLz>5>T0%UueBCULu%vv-#yYvD!mc$-Ij{sWQ?lk$`WVdcSPrIz~mZ21~= zS53C3E$qj-pF;xK(DQ*PB(y=-k#PE7f{o(Y2(ogIBe}(}oGZ605|Gn0;N?!&Xg_Dt zf1T9JgnIV`6+W!rlG*oVeZN$SWGSuMG7x{jVW(&tL&`{)G@Zv^&@6oPaoA_OO8LzD zi_hWY5%1w&lRvJ8ihjiRTQ9MdR~CDdI{;TASZt4;a3x9X&zf_Zaq>-jh3;Uo^ z!{FMHHpFP%WjxH!9C7a!+{Btd(9S<=R{pXpzq6lXNb9YCs{F5zhp;+l9@aFSWLNA zCb#bN_ShL)+>_>YQ$DX6DaZD?-xJM=-$8NkBD|u#Zse&%Cp>sqlGPB>V)7y6GDm?a z4bG0cDe;u^H9i=ulq3tY*Za^wcD96lRbdRt`tT8PS33i0)Y1EC<*n_$=Qt+rOPk9L z?(5;ccpMK$_V&q{DOD%pk+=Zmr+M2s;YI~FU#4QmhqA(lhd5tSV{<&*Jlu~&$vy+8GCO{oO1t&${gCw@HZ^-ls80U{M^R|SW75_m=t9{@HO=fFv!3kV5Q=uVFt4}_+<_D z#9OMEQ-1zf+|-^95$#m|h@UqM>u%(vuZIB^Rz`W{`&FkbPL6@Z=rJHe89<+Hdgu^L6#MjOCUvy$(zC zg9nOq2O(m>^mt+Oe$#pu@tMQr#V4O9^EX7~u18XsGF*An+06aaIc}+r>34OUEZEcI z42GC{998G`5Bi^cO=~7LIHv@-wg2;~XtpJ&RsYKkij5Ke!up{Hy2RV z7%>6wz(kzkn}&W*Rorx#={1^96Wf9kLT0I0xR!cTfTUQ#ye_>yL|t=uBCmjmBwA16B* zuU2FdyVQ;k%iGS=#{IRsJfD!_(UbOV+e(0X|9%kG;_F$j=g;|r4?LlI4L zZr1-T*!f((Js~M<@Aer_2{d85zwE8*o@W5KcmK4%mm*wbq=~{%35gJCl3$Cj|G3=&NZ`x9}I2mA>&M&TFV$!eI@(`sX` zhAmp2w6MKI7^Gp@drsL~W&YK(Fu6;cZ`3+oRkEdS7}u`N6P>C&;lY?f2|Z#ZsTnGe z%x8pgSUA^S2k#5*?YQYKch-0wj@^Ao`ms)XtV39fgU30&hfM_2;dp`xD6Vn!B?Tj{=Ov=u1fD z{g1(6qgLZf4wO;Z5tV<}`d6LMo8i6uL)K?yW?p{pF+M=$L#gi7G9r~tyz>WSa{oKQZ}PqO$;083sQ1kjPWlh53HPsuE}2Tksz12bt_Y_(J`66& zkb1Woh0U?s*Z2dJN4X7faVMjzMi!3wXy*k#`WqeMD#>HtD%Cr6&{hv^wEP^qDzj~R zgi?a_Ha!vN{{z>>b*paorW-f6TRn`A^@_xD)+VnT(cbqM5H3&+0%BuqIEiR9( z_%o+js*{^yaH<{&=r#S0ip~>l9VgFQ;m4WQ&v7<6-~Rbxg}_%AlT));AqK3LWW14M zT@j>`c#>F;e0_Y0@O}C!p7U^Reo^Y~Prm+o!LBPN5doz&_tG%Ul$iiK2Mr1NrJ0+Q zjc9+TFgHD_uznS~zVh_B+V6~(@V%DUDE^FHOd0j+`OsyFJ;t-!bS{1D`+&ViiC zj&SVt$N7h=YJW@(6+LB2eDGiQs(xFl)(;MXa)FF;Rnq$SjQEdDj1F32+$1Y4Ch_CA z#EuSyv2Dwr9kp5~eK)StnsHRyIAW47{u;b7D%xXB+;Tocp5J%pIhpoH5d_?0~tbDcfH>R0W2<+)=ToamJHRdDV&eejg zBi%j2$ML%uSB-bpy$|`)cFv2WPC*|=zVEud$^9P4pXd&wTCe_VKsCojCYkc?LQ*N(?_J!I4mwa9s z{0ov|D5LVcG@FS8uD!-vczH~%Ip*J7s7w;N>i(obLT-aoz+Xo6Bq3*F$<`DfV7es zWhV^xIepi;Ye8bUt5Ks2TRim|qbW_c{g`iVrF!ZEfZoL?v11_)1(ZZ`9Nenx0_X%-Lzx{cPy(bmsR7FLwOO_jWpBh~z-ld5 zvcKs4W9G@BF0dwO?`EAkMojtMV;v<&w+5*xM>u|aS?}=M<9za{qY?FDI2A)uje%vq zZ+SX2huG!%!l}Y7lULRvQATdNjltch=e%2{Ec(?*0PmrJ+BnhF=l+0Dv}QBCDBD8A z3|!>RaT4Wo)292v;Fljk)-Xo6V8J0>(&>y*|D!?Z+w`;Vpe{r>U)g&V4<^c{m6DXS zL@Yy$j1=>@{(-qo;eYqRck`S=o??C{nMw5Ja@FH$yKP#c8oS(HFEm+zqkF5e zFs;iC>uLYCz&tM;(me^E-p(B{S~}ox(~>Cow8BKb>Wce0M=0PbDR;#%xuV%rXze1Z zsh5lqVWS-ashAqgx&9a@AE~iZ1X4$@hD0bP3jP}r%6jOQhdrpUp_5~lNIaHH@B1iRk#%?UxlYfHQ7TDj zup@qulU0gTxBO-isx7BA1SvEu&Rn63y*m?0IUB*J9L=y3B;Oxl@NGsnMsEZdC=(jpXtr zL(nlMAF;z@1N*H1E0r(Sq~Ej9FQ*iReaJ$K{Y}Hf`Ore`Rm-Yv74o}L8Fx$?02?YC zXvCY5AQEZQ^}GYfV$ek%_p;gKzz!cGpaLT?u$XW0^zA1<9`A2sc6pG6YK(1S>>r`su=TF8;*`JFm~y!Zsco`58g&!+jXsZ> z8sM?#VTC!SB_2)nR7f>&HhD5o6(<&TCF4e|%~o8Ct6)4nyr-lNnu)U+fZ^cq!TTiJ z(MYIOj`kgUb)O~gJjkuj9anq>ttAAI_|-x z?I-|*E>cg?iDh+hrPvhxwdkopfGM4$>u;i7vF#brx~d|1bMMiX_12}a3#lJ!Ii+tu zV3XSQu}725tC{B-C_#E>2Fh6Z+7!OWPBF&)`_1-C?EnDlS|i~6;Trj}NBZBz$@=+- zjHg}l&E)YQri3s29E@Mk@!7<(Ez^+u9)Z&2^U{XlBah!2Ma@ z1@xT&mUvSDjqIHVyK$QaepbUO9_*qaP{b_7#hynvsbDNA2|xyNakq zf$Lv!6fT(5NO8=Z3AsuvZ<+TI_9_9pm@wVOLXWwHi~*aafQrCp`n%A7lOP8Vk3+(w z5QsOHDB|L6(Ig6!VgO7^7dx1uv9|3*mR%VJ`THC_cl^zg1A$-P<^5d&3Z|UAAUn%8 zIz9fy0s%-GyQYDNQP(&nAJ(I1bp`8%se;yB zYHwWETul?N1M_HTNl|a;W_DVGGwdd0e}_UV7e6pTwCalqCtAl{XGq3u-loSF9456- z9(%-39#1Hvv#r;CO&q4F8@qg2V7D_xFhh{0ae*4Y7cq0&Wd@OQAm_GNa-fnrCwpbF z^{><61fn#N{Jsr@CL}qCXVq|r{gO>%Ktu(lyIf$J7jw%9yi^(;2ogn&!A8=T{kEUI za92gK@KUz#c%Xxv|H5xuhN9_q?PTMs95-9*LVXyuconAk~`R zpr|TX?TWde@*rXtx!eH0+H@5%3ed~pAl3)#9<6q21vb{nnjmU`|I z&<%tCpi4q`@5MEV%^iIzvx=442)wc45JriYnfhp`8#{Yojd_v_(9cF_yaOIb%~OVK zYyTX@OI&c>K~T|+p73MAWlyM5$~A%C(CD75+j>#~>;ZHiM~aZ~-VFlLrKbrE z_gjEgQ!%8Z1y6iw06;K+3Clep0f3@!*#qYSCkMpEsY9Oc@)l_nYeo!%nHi*Z-f_oD zxVLY5TrpmHiL$nNlFY3)Q7TsHV6?q9kVtsy_QLA%ojOy;Zz{0WVn!g^fR+hLRX$9e;y^|@Bq>$DVQJNKY8#A7@LSOVg1xaTBJ z{dD&$tXn7;92%>HM&up+o?uAJ$Og6B+wY#u;{ZOle|TSY_LsL9CI8z2zm4CZ+t;h9 zIdK6oOH9mOD_)2M3#UDzhpl{@V=L^~oS)7Cq~1S-I0Yl$e71v{j~Ajm2Cdts3Xia} z59QJ~AAYf-80h{X&0VSinx=CwHumg|Gg6#M;Tn!1nGI|fV8^}qEKeogk}qi2D_AN$ zAU+=jyrn;_w%|7BQxTs+*Fd6wxJhG}CzA}@@C zi)aQtT5rSaN^B?pZ{$4Vc~XyP3c%fjP=g;ArMx92J}{gcHhhI9VSk4*rV=D!E9vI^ z2MTRGTr)U$om;X`{uoS*Mld`(YSCCXvzbglXCzFZM|VWEI3T zVka8Z9j#EA_)0x5-1mK1)Wgy}!xPRH?AW^*=6v zeSd9t_tQjWWBwOXnI2l|)QeylDX;h(WK}s78X>A^V{|uuC3|l|cfSqG&)tfnCFZ;B z*rHw}n%V%n6Xd5)PwuTy(&;Hdk3BdyDzS)RCoj(e_G`l@y33N%UXK6fEH45(dUja@ zl#9&3NM4aiKA5-^La-qC0mg1aTysWW8~$S*Hs&%sF0|zoo{DmzAfu+x@?laIK7h}? zy8mjvTE?<28upX*uJQ?_65UAlK1n%gMr_n-hqc!jmoqn|c&KcLW___QnO+ca(l3Fj z7i*gM*`}H?+hj zuA++fYaQ@O00!tNf( z!iXF~m`WH(e|Dh-L~iINAygd!x5(+TC`3*g>Lr7siIVdaVA^^{18Ic-#7tSPR>yki z`y@l>i7|FeLof|0_l-Zl?ognE@1OY<6I%`h@M>~w;t;}wjwuLw*N2LEHBL@DIAYy@ z%bOH|QA6oZqpa&Xv|JujTarSO41YokqmzT^I9Ia~(j}2iSwEoBB7_N{1k`;~qn}P^ zWqB|~WJ}V5hrkF{7_0~GhWJIUyV^>)TZ|rw7Hg)k>VA%si2WRV5pH>k6ph{{UXlL+ zW1_N_#zl)x!J=b;LKSz1@sO6-r?5g2G4LDQ6sZDEl94mZu-bbORRAS$px0jTAzWBV z898HhX}4uL`_40;57JJMCtA&p;$dj<&d+wVqj`Tv@u3V4b`u9#p7RW2m!LlEK}{bH z=Ej?KSxx?_j7OoMGPGfe8LW8o98w#$UR3%{srhb<&qJc{Ao)z7&m1+sONY0Q6=HPL zvwE&St8NWFKBo-WVR(7dp~oAilQfLtx$?kYBUN0U0`_hLubA~P(Ye{0FBX@}X#u+j zeLZH>0!eO6LWHXz@BQ70Ch@xTiqk=S(rVw&a_|e;$TMI{)$UXb?&rEdgZB@VLC#%c z8(*0)i-*RhTP%WvPx85HuIC6ud5|!-fAa2@+EfV12kxWZr4csowZtP#CJuOjz}ff# z*+IJZ$r1BVEQJjHC1HLHl=nv3jXTce=%fnrIl0_Si)d1HA_;*&sxP1-`9lG>EUkGb z0=fNr-VN0FY8v?qAzZXhHEO0jQN%Al)J)-_VwlBAg+A7mH28w38H+`hf+A}10og-( z^ClR~CiB_(_vnA_DjWy6XfdYfoLA#{k7sMXz|ku>EU0s-P+nN6#sTU9pa~eP8kmdH zGqXnw`Eq9Z<>L(}MJ~zvff)l=6>Z>{4ie>uCo5P^_kz8@nKQP@LhExx(mkX~zLAex zQRs8qZ9(Xluf~(xDJ-QZJ+l`kB$~33S3daZDlRW2!Z=GvLMM^ zU~F$Ayo;^dx%To&{w-CJBchKzhM*>#-2wdGPzmNA7TJ-`p4YGDms=4tN^z$Og9=-V zW$;O*jU>hMGN3hP4&xt(Fxa+&eNj0KXz)=Q^)A7xQc_zIMev*{eXVGC;Q(CgC2!n~3iQ^8+sDW>ognaK0c4+RqD@Ooc6}UDKdyTcNOR z0H>h(Zy9A1l(onUTucu#oZ!kjcG_Emb73sLYLMt;hNOCs+_fX`hK4+*?ZJ|typ%VF zOtR`!XQ+DMWCs+i&N)qfM-_bTi%$s%ndrg+SRzk6>XI3!4koz~+qZBU0_Uu;kZ+uI zyI`uPjz#rrYz*Fqm(XBq&g9T~38rlWWIpl124@Wmv8h zMAZH5u7v!F8x=f~RdFNZ2G*8>8a6Z zz|VU>=ps^0lg|AmQ1_WNIAE7)u_WkqCcrc0Q8T_On&Gc@YX|}Y$?qyoS!5~d^Kp99KCL1B?K=QoGxeG#>~rFt@Bq z5EdkMvpDGs+rT%$Gro<7NH(K7MfnHaMz@}K?fWL+HxkVfbQS8V#A)jIF_W=dmH-IE zDg82^09YUECyH0-z2}2>$;Cr`FzwA#8xe#H6hba?_f!7Z+>S1jQZSKE^WG-7me)P= zdAx!MM=4quE=Vby1V`-fd0?c5{ii&V#T74#roMO>%R>(Mu7RfpXG~N{*=;l034xB0 zTB*oJx0Ecc39fw)dJ0`|ZdgWB(@(XN@i*xxpKGOMSmbWk`BT^9 z#+=POqVST(UxatWooMlU&B2=|28Dpl$RAl)7$LgQigaom4_-^Oi9#NUfFw zFo-{df_lkG2vIF(=zvg+}x!#79e}&xoLK18q zkz3(F1>XkH2URvV7Oz`GBMza62jdBSAGDAeRc(0`s?o=+pOj{8;W@(^m$3?^+tIQ< zt2rpyHj8DNM2_XGdIgk=fngL^p1G{soMrKbYdbiopBW%&Dw5|r3;YCrsuhdH>91$) z!+0)vjWG&R3~hjhY*gj>dpS+>0Ksk&Ze5s0+dHGVQzQiID^y0OHMSBnaN&>@AuPet z(q~|gM9EBD7q%3$rI#|3@q@I;T&-9mp>9tGS=wDyLnu8e4IjMgCu%mqJKfC3bWwES z69A|62+6MpMu$9G8F=3%OgsP-3cjoPj6OGesjfr)|GQ zsQOOd{>&BsvF1$FlB$1Imso*I@Sb4fAGx%}keTx7Ssk{|F-O1i42D9*#Uyb5n1AVGmKoP{`vf%?-O>m6ns-Jg%C136{q zr!Ikg(-rFdAPlQ3LO?!j@*2L=Eb(p7N-F2$F|c=Wb#2xP+rkz6cAu5O7wb z{+(!#4SF=4!94uLDEv7P$@}YR1Z<)Dj|IwLL;i@V=jH&?$UB#c?HW=<7HYr|f-)R5 z$H1AJS5TfBLvb?0q@H_!c@LB~g?}pKE+R^y4L_j(s(b!A1%9!^=d2DI$axfY8c3wh zY$HSf#x63Lhx5$8OJ@-xpZg;A>he#=BJc6+{(tycrQTZBzQ;ZZ`GcnsVY_d$CeFU! zgVwK#*jhI~a}Y2`iw|4E@%8)jPD>D@i{*Lk)zTD>c)Ky#-DEc2qvs6R^B2XS32u+) zI3h_e4`Z`?8=2o9Vf)H@@;qeuO%I-42?PT!L5_d)BuZH2`jkRiaGiedH0R-Mj^WXG za9A7FV-4D)VF=sC$j-OXr!*$hIr`^EL9R}`QhN6dbxXSX*h%4q^X!4=9HN?E_gZ6Y zozR3!6L_BQlD~iQ7vA9N3Ar|=Zw6IBMAw5v3-v?&j9tkPc#>OD_rHH`8s7XKO)AfG zF-xlJ6gjk0TOdh97!F5DIwHCPjp0^a$r~h2gPS6@sj5g-=UFESWToc093};0WYk{{ z@{!4!N2C0jnG+e2BnLY1Jk6z+M`QrTbj(5A-U_KLD-Rl&YJc#y?}yvZ*U-=Pob*yH zTVV{+TIEQu@gRKKynHF7ZV`&~_?jB;z1=|yZ{gK90 z`gWMaqFkc|9_%^# zlsnFQM}Dfk&B~yjl-2c-Q;=vQo+%I{om1;X!Gy6fpRyV(peq&wJ9#4X(Np8EZof}* zB(VKkjLBlLF}}6ucIMj1FfO2@C>olpv4?W^;0|7c{Q?3UmX+^&;8ba;s z&Qg3K_pZyL6^Wz^d`RROCQJVgZoUQN{zzy3x8Qz-ahEHK{@18CoM1ZtVPzgBmiOYo z(r>|5n9r@)FtX&!5xbWfJ6;S^?#=Daa~E|dD+~LD1}IsA#=46 zVi@ElKwfP4I%+~;Lr{Z%=;v&~Qd&z3iZHPrnpw&g%iof>sJ3QDZ4t+U3hyDU+<>f} zs5K8|L9DjB*Ij;_xkS79DBGU7QP<-NE33+)+WCWl=9Ujt$iMjqzLO`;0j__5uR@n& zzMsI7`8D~uXpnRx|8T7vALyh`_uWTyU|EAFKO6!<%~r2GJ<7u!1kT6*uW0*zPx(Wc zGxA1*rNpW{ZYn}mF+>zU*F;JvKv4y)Hx!3<%$|f>*&6brJ&guR7}>_=S^!}DL>_eJ zoULxa)!&glc=G?@CjA{5rN4F{a*iO><{{b7*?_s+r&Pp z9pk*KbJg2&V&>nqLhXq?MSdv}3+5toy9q2?Q zbB#s5m2_AJ9q0@L24M|B1_O}+gN7)5$zBmL3q))%`XjUI|LM{)?c_KHC9S_#1MNN8 z^%P!=X6AH7<{bYLF~_`15?-~s)%5-}2!Blu+SfK1{7XeAIzOXHFID;&lkDlD1Jvg^ zcC$|1w{u_G5BdLb)#{RoF;;k%ivL@hu^vfI3a$Gd#Fo!T-4KW!E3dJ42zk`4NX^dW zs>Tny$lq<+U`vhLhA+K0tXgl)QgMW`OK7^{Hvigpn4wF0NlI7E>iY_LE>Un`mzUHA zsnD4BVI&fIPc70`0`Kz3@~Rs4OdKP5!e@BZrF}5lIkCvo5ZrFy%DqZ#8I@Bn)lny@ zghHhEOQwG#I}GevrX-N|v1ptP{w#O@*wj6%sSdy3emLmh^Zdhx^c7cOcTfL-CM{4W3I(|Hv5<4bs-5wySb7$zL-><*M6a=Z->8NkLg$gK_gkvM=;iFsyS-N! zM*Ms_;5P;FWvf1O=^sy==1s;Fgl`51?>T){hcJNggG3D8@e=>K_ERP+ssg4de3NN@ zkN%K|n0Z;eS^SXv)w|Yq%P97zdx?+#CY+DSzaLpg$LMP|LiN9HG7>LS5|xh_78K7C zdQeH8LvORf5(=%xczxDL!FJot^>Fnss>qbiRjLXl;%uC!2cop4qmbTIa5BAkhk0m! zDHV+AuN4?2ZtP+LNM zptsy+MW$VuX}@K(S;G@;gT}cTC3OypV3Lth3dzsE&3H zqR$uCqxSte>{PwTlPA4dmU$fl%=_Nn7ucEnn`Hc`x+0BN-{m&|WD@L3UL^1%w(kXL zXb^=|g$FaqIPJBmm(MT~=RBt>8+zvYx#-<0A1VP^#@bA0UkZTa+?R)$UI8&3w&PuD zsaaH+kgDE6$GwpS7wlr$C1pn{7LLA7#dApd@Tu*ofN~Q1##Hh@2cu_KO^F8_!dtOq z)Hz=4v`JP@coSsaX)8SrV`E#hF9)P)+_$TUdnC6RZLvIu6OypC605Muq|l4Iv_fq!iK9mHU8wM{nJ3e zC`NldfL!Ot+)d1_#+CxcXiCV7`GBK`58R3w83ljF?F^#>cI^0C1fKIb7(;8aoj|iL zwATJ;eQWlat=Z=ymn%tVkBP_=n1y@&n;+g(ByB9oM8}W~SzX{R{$ z#S~DKA^5voTaufjD<^T^2!`kf?uW6Aa)&pF+4D$?MvXVD5XcX7@NvL-v!1jgCs&u> z$WWMINr03QJ13tghpWdpf11Tq9#b4l-X*tMn_k=@w~)nXy>rz_e|NeRq|0xvuT`~- z%0qbZz*-{?ubXR*kx}{9L&p;vtqNLCcf@Bc|GSDRyEXGkkjEbnYrGwM)QS3Vz^M1z zrn;#6rtw0&KVd4iAEFjlqBcqINT|hp(`hWj-i{w$;shtMMnXgTtev1%s;(Es=XhJ# zj(6H2>s~Lhkb)N#VKd#14Xy|lluTjxkNJ!(V@s|96(g}+sI&CiQTJ2t zHlVLzHO2SuP_C-K=4z7!E#D?9S4L0oYAcKt8Vm;1+17W@iqF^jw`IFfgeBPGS$n?s zJ>Z0$f}AHUEErfA4|VW6rq2(vrN+v4$P*@n6-CMxewg8)N^%atVL*4XPzm439d)@{ zG85t^gw|_MZSF#b< z9g}p%M-w1FBj1Q*BGVGV4!Vn&gE4wq})esNB zVgoXu2bW(%?rg4|u*X>0w?n>~a|!d!WFZ+#syqL&z}&tV^LBLGyba&7Tdrbs!p53x zCn_ac3m--9jOJ@e9gTG-<5I1R{$irDIgmr|iyk%cVUNW$h-ptbN4w6}hRt4+-_?dZ}!horcVRxiN-PG{*tZzA-`V#JPILvbkd5EzBgeF+O>Ul7FNB;g!9qVkTYf`M5<ku2Q zJc3%~;p{fs2=aYOF1bhxFtpJclEg3>gxS{Qr>KIkvnZ2JLgpZ2tUpzQfGHH=D>^0Olt}q zTkx--6}Y<*c0+gVN5WGh;;QcQwOVTi5A}(ns;|}P8+60|G3pg*ras3aR&C1X6goIs z@>KUv)SI)C=9z#a50@H5oI~wHLRL;%>n4wy?K><;3&qmTm82g^SIsV_$J?y@^GS&G zLE5VKe*W0pC`ea9RK!UZTh44KX3Q>#K!Mv>;D&9LH&QKp8e@nlwV$ylrdi zie1!sbH27^-_hp$4M|DcfdUrUIdx^pT&=o_5uRQY-XkURj=oM52Lm|>o-sx9ivN4B z9oGZ9c9V}`4SXFkzti(|Ytm^n>4FkzY3RD&0}I|4(VD8w*qz5$?dNBo>M_?@zS~rk zUcPX6LwfFc3~F}Xb1@RVUf7_1ozE$Ew6I{zCltk@LnZg@Pj9RHbF2|@a*V8%syV)D z!6e17UvRGGcGgp73aXcE<{n%~Mvg|}NQr1ce7@LWq~9a7LT};mixd)aV4gcLKndpCgqMnov<()wLAk7U{8{;T4g z5JiSiZvJ!XkqoB}Xkii$4zEp4gwt@xiV`9De_VizvRm(q@$T`5S)QCnZ@c&=RIy{Pj4IIYB{q2Bo|bqmcMA$}%BEjj5{4G(7Kvk*Mc_H> zm)lGr?}6R8DfQIdHM9XV-F@*1dOs9?+ojncftjB^HxdD+qz4N25 z=^Bmto2xgr>v;ZGV`~_b%qmuZAAv3a9x#}k&71&1J)MiaqID?nPK5mZsG~X6*4@8~ zj)`qgSi=1OD{Kpx*wvb~HRBRbn>? z81Go`ZR|v*9y0$L2EX1KuT8T0F@kkxsUpackYUem{_@aZ@F~ZffZ+OpDTHos znvjuZ_hbDr%QAI3Q>q@#j{)Iu&zlgHc$w|sUi!Vhs^e&_`KKvtYgBNSuWP9RzFq6+ z^6x*nEFozOj*TJk{Nz|24w6oQBjH)VG|R*`FZWRG*uiQBAg!7O#3Y4D!pln5HZ$pd++ zgd9v;l=onLt{ifV`XearE)qMjhB|CpYcTr-R=i#w-Mod>h6ot#LnI0(MNi4CIgBU` ze=c;Jl+Z4tS+^{8#C1cZmy7O=1cWrIp*8@2J}mJe`@(4d$l zHBKz^u&kz@^Ir+aUX$`~q|uP6R`Y3UbM8uVQN__Xj=B7}`X@aU>L>nFfsm~sBun$- zg55c_rbAl?d>{!cZCY`pxw)w_17xvYpT4KV+I?%SL4>QlKA1{KAeOCP=w=s9Fn4mh zzrp(A=)xiR3tu=a!v|+0#De0#P+I5E2b4$baTbtv1rqSwKT?7`FdZD*8*Ne{98n@c zoWlQAtSd35LJK?ku2l5sB9|+DgSFys9Y;7+^QN@ zd?BaM*C8s25cAikuxrk z@K4>LT-(r7K2zP+N|~FdVK+IZ+Mzl<3pRI?%ugc}z@EcISf%OL zMa@>)OuEe>`O~`ztgqh*EpMZZmG+!G9unBz$>IsvIGriL?KhVm(>kcpbbKUMX}se_ z)%BQp$lyc;ow2h4%#4BNcdUc$6w`}*0%bj)p8@q-OMztf-J7;8s8n+Vd9KD{E z$4BPNkYPGaL{!}0RJ14`CEJdEdDSOd*H5&?zAVE$9LU2a)aq=F*y0KVU?q)wb*fFq z4O`Bg$k2Z!j&`d4deH5=>((WEdM?a_=f)U0KHx^!x2 z%W0ih6|l9}|lMq+w_Z3j!{x87s0@pk$Phx@ZYOF9h zDYJgo>TFbTH_?VUSUlNf>3N71G;fuJhrYkxI5_#QI*nQ2x*({SI75GPP^yf6XHp&^ zw0Is+hs+FMuxpL3Zw>dlD1f{cKFY5z+(Kv%LXeirY)1a|f;vVG-s>lC-&jct%j7EB zdfg@l7)kvOYX_qIaJ54S=GHt|eID4iFty|CFXfS=Zf$6%S>$g_5n#=1tsR_!C4iiv zQ0c9C#i(#k z?xJSR+~)4^8&&V3Ms4An_)UhnujyAK${$r3V@V8rU+s%ju8bJWUC|T$B!f^h44&+X z=cUF9IW~M^EerHyM@GX76jt`C66E{hi?%L_nH!^L)w=6^vi_zZ|5Cf#>uD{zQnN_#tIlJ=_hl-W8ViRH{Np&#}wlbrc2u-@5#({L-?L1JCj%CTy_c}Q2)4KGkJFl>lb>hJx*H7!ch)wtZR_8$JMice;^<9sH#F! ziT%9inn)rxMl8-)XT1po4RnSr7WZEs9XW{2^t<7i+${4ps1Wuy`G@0oM73U>SlT>m zadku@u=>#mOKq{4mWN(dX`9M#&ssC>hOzNCm(MV@-&XZn%=7Q|SSe#z11&Km6po#s z{f+zGg3)@F{4gV{A~6z34$hpIR^f*??wy@Hq`89>`@?eoyrZ$OHEOZl$X>Y9L$?LK!UhX~IGBaB?62A6;)16<4se zi{cU*_u%dxq|x9IG!Wc91b26Lx8R-xcb5RcX&|_}(?Eg+zl*)^f6ln~jPulwJ*rmK zoS#({w`47X0&KW)`VZV0I+KQJ}4zGfv$Ac-IoZ zyG8)sy%G%sCM)a>+xKp2brv&XQXI5#6?W6@f1lDKlXxg&j>SJLm)H^=8(HT5lWtx4 zYzK9=TU|(Z8vK|&a8o}(HchVX2U_USq!aNTc-~Z&wBpe_QdB}25jBp zdSr`Idv!*u7rR}AXw50WVEo>TIa8;QWE#Gt9u?gWU=G#5Q{L>k;&3DFuO(D+tgLB_ z=EUx}TkS;VBvpFk+tli<$fO{-0Mag7bhxopucV%QZ6rpYw zV!6zgm%1Wk>gL07-BL*F*vvqte|FmZoSKPTnXoV3UQA#Tat5 zVbrI~CMf~amI_T@-phlVSXKQLwb8k@4vPvOOk^&H1+T`*DvzZWEGKAxPTMrrVcgYL z#s38R&RnTR5l(hGrT6>kDIK?i%KKvoIl7&R_&L2fN-J~Ca2xT~+jn8T=^7!6^i@DkUQkmQ z%KcV|7Z(#SpRawUTdFA#$w=%oN2OJW;E-%?T~=5EeF?m589a7=%LFa7(o&*wXmo-Swho=PV>4KmtF&4FQG8dzt{D zOHY5b#UjYYC$RIg;-sSkd5eBGy4j4&qK`A)OpL-GS57Jv>drs)Y>UD<^E~J8%o{Sc zj{dyF8iWJ{O*}R8`qAkS8vp?N&}$fY>oza;+!lKoAR-YGM!lVJ;xmIQsC zD6guzq$j<`l+iEe9KY?)mZ1hPwXft2&Ag*avQHvxMd;M~1bcPe515dZTryxLGz*Rp z)=q?uuV|erls4}TjcG0W|J?r+U9Iy${vYwM@&>fu?X*$`ycfyooJ9)U_<;gEb=d3Z zUv%vG#o{U)mmgi4^a-^+I@?mcclf=CK4J*yJx+h^+UiFZ`*s;Ic$EtV(zM;jz9iJu zhi48`@7awID`Q|9F3ZKj^O6kl(rH6~a%RC0jb6tS2O|<8{M^0R-;}1Zq54~MK02D4 z%Zj9cYAJcUVu-M~gWBeKW^78n;6|#`3}3ZZXaTGV&t;XhMUpc~oZY4}+m`k^eiwam z=-jMM7L?50i%>`;4mO0SFEJ6cCoY5V^J`{ z7`uMcI*t^HupW|qnDRlWWx%u@qgx24?Atq$skJjFdYFvex%e0QvfYG8bae8oIcZDN zgGM^!aAf~tZRQ2ZMyA2G=wXfk{QGCf}A&d(6*br8ZTY z)$h>J#tY!SgXAg?b+LfPfzew{2#IxW@t~q~6Bf**q-9cQFO&l-poWh@yI5C*K1|AI z3-K_2NySBR&uL>p&3Rs#lHdN%q_`n;HFo`WLNIv$E7NEOmkrX1ZH^AVU{nvgA`@PB zyUPffgz%Sdz31dZ$82oJWik!sQ3J%r0?NKADa9jKS~!z#6%mUBlId)kwMlWF5{!hP-lG0 zb)M;Tbn}&)eNB_v`^j9WBvspdiM=shsNNv`s!EYhhJylz&PMRv_Zw%Q3=mc0iV!X> zwj2&Enw<4d>b=|p$c>?QZ~Hv)*G$Q8dl zD5J+sH`31d$*&*l!uD%TWX0+{p3eh}`x$6eM<_6X#*tSMi)>g@o~QrprKd<}dG_iJ zY%LnACWB(5sA6!^DT$IzbU-s|v7fjrkb$>pgqMQ{=npER{)F`}JNxrx=4@O)cobTd zXxVXMU7Z_Qlo1BMFN^oURV6+~g;=sCRdfpm-jfEkzQZIx(88q=WBaJ<+Ml24G3rM8 zp;@VNFY2mLZ*6gtB?b@;h?9)Mx{hdHv~#sPhEw*R`KaJS+Jdi3@(Whsb>sa52gFaGAiXlG4kI z3EkROMmHLbGV6t@K8NKq*ImO6i<5-+JecznaJ7f4iH$F2)Jyq%-ggSeZltBhF8#3c zcq)98;LvYM71F8G{Rc21{0dIoQt+NbQ(&#RLO+e{Qfg#5;+I!-R8VAg+YL#L=dyRK zEn_Ne25hK@<~13+GFh`&ls8JwNwMXWHEwd3f(o4aGH@I9s#KA8fT`IHn=h;5slFzPtBdz4P%X@+cu> zg~h2PUq$*kj6$SS`0QplTBICKmLT(Wc$pw*`3WSF_rYtSuh=k`t}+mvzMvY>{t2oT zK{HUipz=ES(pL>XPt-NCsgwOx0s?<(?FvDB51RN*75Ov#W-#OfB|~XwpejNxU5P5b z%Iw<#|ItL{i~Z)W8G6&=uN|ZiD3>Ef>q+7;%~nA+-a-1=M!q6hAp7NR;*|xE+4=W| z%p4=d?rFE|pl2%1z@dX6J>N7k0pNqVNF4ciIF7d%VXk9dZ$G)(M;#l-Qhu>uCz*|Dz z)0aoJe~;`ikbvkUE=!3NIeNSQEVSPrzeL(5|oJ4CUG5Q%54jaS&ABiU^?} zkJAOt5)zn2$Z0U|!acX$3;9w!kNdpa=`Fm=LbAPEpI~FHTOOk zv3*P48`N;%j&>52)bI*L$zAMaX&8AQ27R2ZOGS&kt z<7@qzZb#>T#=JbCYl!A=e{RgMA|$CZfe1qnYl+Gis0JZ1a0`>Sa%3QL!LXxb0GPgR z#7%8MivZFZt+5vQVj6rbd)q(m@F0=wg`M9?8lGFTI zBbQuwhwsk2aPJB`*`GA24=j~?hof-7lf=v+9p8uB{-)y6NqSC%IhpaJRR80TJ&kUS zCo2T(yZ=MshBPrFkCw@AY}@qAM0(K;H=05 zk>&p2_2B$IX86`ZLL%!JVma~?Ad)3V^!@>e8^x{2)Ds9T^;jrdjn&FR>|#T`I9FLBYj zy(?G`zR@25n=*;#)2f%|`%Jj-DdH9AdAxA!!A*$hspnf?+Q#Jnn-J|)#k5joe>y>$ zA?tH}Y^w)UXcozKnBHYIR_TV-Ka%;RGpiES3O06oa$RE#ISe+O3swL*ew8=NA&IZbS=E`xpD{Z6!tNt<2Q(~Y%E7y%fNEACPx zpnL>w((lK9bDH^yyy^z|+51`B`T5~o%3oCvB5(D@gCTV6O{N!oR%PIDYKqH{w2Y@) z%;@tUs9=YoTaoMW8z7>-9G=M_K8ibi!mxrk?`*Wh$4W<_Kq0uQOV0RTrL9G0tiK@k zTgCK}i5o&oN3AzedUD&322E1%7j;_Yss2_z{{CQgnA2e<=RBP)LZf+3N8oztS0L`A z62JX;>iZ7S4YH91$Ek_HJ_)O}r*Rq({qJXNIQLz~lO- zPg4!GT=ot@{bm!Cjo@XcT~n^ASV(U2>LmWTE|mNbC7lkHuxX=Nv5?;wHSbu{B}c0M zmE&^Y6oJ<x$#lV?bIu$2F6G!9(=nX-B{!wo4Wm~Y zBAE=A4?ExEwRJwY&a~jfxWreN&hR?|!^KP`I92xd2}4J4a<}v}Fy1PKn)9Fc|7i>M zU3tja0_+JlZ>Lu@F6z_ELOZLb2|oUmZ)?RQVuoFnc`4apg0a=%jf|6g@^m|e!^k0v zpiAiqW8=IS7k1PhDz5<^ewQ~XRP9wLhiv^DFb6HSa-CGy*s`oHrYLoO%FY~`Y90z2 zP57{@|0^Ze%NmrADGoV*ZEz%~PNop~#AuFN%7btYaKd}{FIbnHhkT~%ny;n6bmoX9 z6%cUeBlsGbhki!@Sf=|`Fu-FHM6wf)*>-oDOlHn@m+tO6;SS>fQN3zKwnjXp!H2(Y z{gm*6BCG=KbT*gC(`YEAJ+;-2N|vW$IIeUSx7mXxDKkIl!WG1{ zu#|5t1$ffhnq=t?+?76=Af&i#Q6DH5e)_oPbuQifvS=1U-qWR7AymDg)ttSy_}yy< zjvDt;Q*VssRaj(e0n!6dEE_L_dH{Du&`;kt5gputb?n2Wf-?a#Jr%BS9$hppWo1xVPEY%mEG2d&L%>m1xg{*Q^-d3RT zzB`RtTBw+f^|0&ROl^DyZ%(-)wI-hc0m11m9@^Vc>acvh8jA3(&Jg7dUXFy5LPTrltIA$CTaLiRlwO^ za94j$5cwlMI3YVzmIf0Y(otjkpf^@L+&udu2M`+n-wx18&*V|c{5KCib;G?Mny+z7 zRb>E3BP2Rw#m7oXMQecY<0q9<^{`3~dpc4+GMEg5{aQ~*B9NFz-ROKsa?*NJTzb99 z@ zEiac?uyDVW8gFDu4wqhJ%`ev`aX$LJN1ZmJ(%N`(|GL%HoQNYwFlL&*Nk|ihoVjH0 z5AFXBgt6QqNshbBM0pWMDNWVy_(=Gn;cN^Z)9s%n*g1E5;N`z;ikUevE048pwKf5| zR0EUhneZlfpq6oDo{)J;?tu-c@Pf&iEo-g%P~M`Jxz`GB?_uVF$`#o6$Q|!@f}i8L zOUd5tjUl-r>o^x-7%}0{22ym-Lq|gU+gS9_oKNo;Q;unuTFL!m9oVGUcBbMKzjU46 z>^Lhh-YF4ph8q^}qkjVK^7{*3?Q|g-BtTp204eeZv3!7uNdFXje@1R>H7_R9PQvv+ zQ7HpzaRum1=TO}sS%9+c?zMWH@5Tp`7FJ!&2U<2%cx+cH}key%o>qJFt zN}k^N;|A7pFzcM+SMkf1C~Ho>OS}@fXu{5hKR& zCFVB5sSgj&%THTU~|d;tMxB`P-oov0Kbq0+GL~oENM4!m&*Y_I>vx9Iy!A zpV44(rndOb*dRc)O~1(o1D)Y`E{j^4ztGNhYT;`_VScBAkA-|v{R)zr^Ex{g4A7^~ zNfFq`2Deh*Vx$mU9D*(eSUDFE(EJ-drs6!v4*luv?q{PqfXOK@q!x9b;_}T;j_vKw zt8c>NlIwXpdsMo9i{NaSNa*C%XZ^* z)U4fed~EYcC!vmxo4tT{$MpQ+>(eCzoZ({(L+41_$pGQY@k8R6^l&gDyKW%ePc^}o zf!f@-y%ue*=7DYwJ@(BOgNB-q7J6LOZ%G`Oz$$fW)1TT;SZ{>=o#^o|=2tWRO#I4s z7sZv^NmwECg6*uvY-MGs^B@=C$Zj}rDT9f{pQHb&;njP3aS}o-z{M3ssFGk(m*_kA zNQt!+io`pjsExq!FE{;U#SfE)#8aZ4Ksn&!ZLmp9S^Bo_2$)_E^9qK9bOuIuf5DAhfxV3XB-%6`}%6vP(B?%m%q_2fdBnwf;h9}%``O&qysOPuwLyxa1y<86ajh#h8 z_u!)_MkfDu(>8e}AFchd3CR36-g<7J262#HL?Dg&rKk8!@0VbuHPg*r)9JEo4SVW!@JktEc8KB~@}3JbDW0K~^j97k8a2{B8a_}f!UGoGYnjMH`& z@O*pxMi<)BPkkk4_IF^y@ObdT^QpOqM#|;=!Ek;iLmd`Nk~7@gXUZr<`|TJ#Exo#v zYy4x@{~gz)JJKWS`YOxAQz>DmC7_ck&~p2ZZ=(}F7##+I8BGt z5^eds1x1S%KyPnR{Md{37JdoL3DH&IU)%U zMxv|kyQGXSUEzEAylp>RIK6Fwj7=}@sM%O?qtVHGym)fWd5juXngbKo19s>5H_rB! zh#)0MZl+7&NSkc#C8y2P-@B_QwgotowZ-Cs%C*3exIG^agdaQa`j2DTNl43yADRfc z?7N?x(w5&ub6|!{)njk(lf2EaXJPCX22qcM$8tD$>c8*bfs^yPIrPW?vMCch++8{# z!}>S+iOfg__0i%P$Af+2i6|}N*aFC+PM0QFI(!l!cj3v+!`rHM3o}x!Xgn5tJBuPw zo*r!6?K8jzf#t)vGQBp18vJSfsYw1kfcUPS_GGcdBter)*E<_wY+t@ju4dht4HoJc`JXqZd zj{T}bQ6Uc~7YRTlqcf*s4QoKycEu#ptI~W!WnQO~zl`72$Y7Uu8rZ*Y*Bm2-t0M=5 zL4C;!jNUW`de}J2za)m=QtqEQ)wxSsS#rX!Y`CHGt+w)BJQ|#@6#Jh^qc#)SGC4!W z6WbMkQsEFnnFi}agM(w1AY z@(e`Z8@!tnWTuikKq&etBAuqGbJU5`-P(dcD5>g;;B8@`!N1;adR}&pC9GF;YjZOflFGo% z?xDxTrIJLgNlQ|ta1&j_cVpN}KuDlf;ryPd9Zq@-Zoe!rNQ3R9zY>8wpQh3XsruXm z^mgJJ0?_6~F~L__?d>%Ee4#f#Z+NlrTQvgm0a)fA(30f@B}p$9bY8B_9k>_U;xY@H z6@eYSi~86f(XF4I6L8GFi{v6WLmI?9;x(V0<1-Jw-CE@x8Z)f_X;wqR8|jtlK#S*v zPD3bNp8uN8X%=l1L=qzCGIWOKT~(3mFnfK8s*Dn$@P~KrK6sn+@RJFzj4%;8Vd6RT zg~$t+HnhGS4XQzXN}CA!JFM}^WrppG5zT12UF)wBo>beuKYQ|PEovolALE+k%IS1A z+b;QGUfEkXV|-GJKFV3fDow&!7M3Ec4gM!!|HIZOF9~}D#|>%c@J_zd*Bhkp z3&Ol;*yf9Ac-s0B8-P8c5%7unKA4u333FcF0_P(eLSDW7*xjwlHc-#F-&{WL`p(^G zwC<#MP|f7SDx_h>gVaLxJL<9l3AbAc0#*C+3ESoDm#u;y=$|1Nj6))AMf8fe!qel5 zfOv8lqWwzT*c_nQO15ku$!`=L#?AW209xhc2dTtlH=TEk^=v4t2=z~1w%#**!*po+ ztif!4A=rVO=za;fl+?A3Ywcg`u>PZaiP7ydsl7u~qB*oM*^{EwLeEKY$>z#kLa8)L z@EbM`L8!Oe@y#y+?y3`vzuSXTwapi>LEW6farDiq?TD!3QAole3jfuX1wIu4M}H3k zj#cqvZ$)}#n44j;#2kkida@ApcAsT}gkT;oiia)|D4v<4W2B7?Dme7wRss%`jhyXw z8}&Nq58QKIJjUAy!46GL`V-{|51r+YgPxRcLa;QX2e}KuP>r5DQa>nha7!GS?pMAD+79n1RXiE>1#_Lm5IFHndKSE6W-X zmRJ;Lb)KNz=W-AzkxMG#19B+OfBO<(PFi3Q#^F4DF+3H-5^bvaoue}y0b%wgA-;nD zHykS(=W==86F0oi0qRhCAc;4T4fh}Y&kYJ=uQ38;16zORP66=&*ch-ZGgmNyuY^x) z-B26RN1rt2hCepwNiKH0lf<07;sEUYCJxb)AJ=L5-u)0semM1iGUf+)7eTqmb=uybx%=qa^YU%0VgR5D>yt{U) zg+NAcl5E0OzUZR{UdA!qL3j!XGL8xe&_8!O8=t>)lXNJJ)8yh6+HGJrp>mzm+O(Db z*OJY)*0BE*E?H4I8vThSm^}+71%?Pq_4b_(UMYg(r~0D)cQBFy)n~_?u&lF6XOi49mU{y`Vwg8!vZ!N(n`Wc=~QjW zK%on+r-kckhpTq>#)JwhJOdh>p5maU?%;hM2!yRTPaJ#Ma47)hiZdgmH)*mSX}njp zW;Oug&}to9<|pu4th5Qj&LE@5qru^}E&2l;c$sj@@h{F03wvml6QB)c4t4cHi7K3> zOxOQEY01G;95TigWfBbczs3*bk_c1?L_A(!)xN!hjT&A{%R= zv76@KmRd@yKeKO4$uEOx-*MFhz@DVaqOsMCfO&f1WXVOtIi6N~W|bi5N)R62Vesg1 zn-~|c5j*LZ;(tc~qL}RTO1kFWyCXees7K;!K(2`vP5MVvT8tpPISgeX&LA;PZD?*f zyt1-ZVSGQOorqS}_9w-Th7+RmR*85vR2wh6uBvW;vL{g+(n?I(?SNqzW57!%lF%suWM&GufNCG*)mtQ- zT0N_T^sghdD%_4iPL!-%3C)WbD&u1Vw(vOcvgF|C2hqRRUw0pyH`@9$aO~iNJ;p(&Fj767flfdYdPReB*kZ{I1vWI;*g=`R@)=*8P`~FSqhMj{hiEu+Y%bye z8c=OBo7!p>>#W8?N5j8133_DPMWh_?8%O@OnuYL=zF@-bhIIH`z*rdbDISz7*=!XqhSHGB<>cxSaM~Q0!AiZr_E7&urL|i&xk_o= z%mAU@9lL;bX!i?CBkPAta*NAhKjnr&#CIP3;w^;M`qg){@m^cYT8h=KfpF$F*Ho3Z z`u3-1To0q3s|%fjqjN1mABsQhf#yh{ATE;I1A$IpPTZqOWpuYoRx`MAlrv*YQ*t zRz<&Gm*Ok}8GS%iaPO1KsYTBh#e%Ix&FlUL1*bAj*xAl6$W-pZW`o_;Km7 zTOjPvZr{->5;J2AE8RxjyDV05If`9qc++gt{zUf%PX1bR_&2WvQZFO6*IcCKA^EN_ zkO^)voD8|XZeb#cew_w1TE(d)Cktw76j&4!y_q>S@!8sW#4SZwqHLsBJ^s2;exj9K zs^6_kX#7_f2)-g{iOJZhdrrjqEi>C;5+No_V&(!~18yIe* z+Qt4*?F%26kQiPf#l-~WT33;XWwxSLZ7GvN7-|W7PBb0|YOzk<1z(V}noOlRVW#(t>S+M0>37^jBNKP}lL z9X6uS+b@C&m#CZs41~49O_AGb*kNJRk%6c0F~UXiiPck_g|d+{P^{zbDj6b7at3m8 zW4`~*``%+~bs0Y9QoWQdkk;dti@r9mr@X#OyAY4c@$`ePplY?+>yq+U-p(5y|8V-{ zn+#>|%w1nHHMHb~njGc>MhS}F%X_a=s7^a*J-6?ER46O47J>*Hj1o*Fp-M~W!J!Qz z)kcWtfc5bXv}^Oc&!--2Und)%6j#-}nt5GKWkJk@j=Y=u)S_=cst+hwMZ%lNd!^pc z(D{ZmpUy6SHb>%d+#bRG2XP2M)}#u|IVbwK+sOdW*2P=0*ah_FJ@be?|eOE&cqh_yo2coPAJlb3ajHySta`} zw&%pLqHd%+4-nJ)0ot;711S?xPtgZHkg?+lGsuW9IId^rNf$|w2smAiO|8v>mX;b0b!IS&8Ptzu_v}es4n=AIBf`?GwNN+a zQ%gtB7oxJC{lEz~)MMoLC|q0B(V5-pg@d0QhmXhzBJmEK`ws51$772MIbh%HU2@Xq z?#iWEK-+x?{MDv;TO$AMDfd+Z(6*lc`xZ?UNm2j8dn8&J&%f<3-d7fZU#`9SOOkkm1f9vB=^+5IQ>EN+}%?B?OV=>h&?e`;fAmqoJ z<<+<~`r)uPI#Rz2N(_HD3S|)|kS5tB*vIlMF#AsX-**;Y!VX|zLi8e>mJ$rZa?jV} z<~rt&wJqTg(z>;}vi5oNhbj)df+nF-SEBnK|fC7uEJqlNn3ZeHn}&D6L)(b znrK-kSvR{|Ub4yus$MRQwvtz>RqKNlNJ0<@%`jyYBE5j}iVx-e!7m++S0y|1nH6@= z{tPFQC8dyvBR^hA2acu?5C*1q1fq&=Mf)z)hN)@LA_8hif2x+<`6Yr($!Ht+nx z7lKa~uq}}HFJ*|biqg5dzRAi*quKpmq6<&Wx>k})V*UFgDFvz|zyK^C#DtVa$F8O|MYgSu0rX&nG%HmbF+a^WB4n!aD=FbchNc_*P7w^op`i9@C zuH&obQVXTGtoG{EU$kVAbW}}Qa3Kd~sjGWFH>hlH`f>0|y?f&HGsW?F`73|=G{(T? zyeFvtz~j(+<6(5v+TU?7!*#&jm z>#(YDgr8{{d$0~JStab8HVpk)rSM1AJ6{a5@!wa{Zm^<(QJO`EO|KXJn2r3gM&9r` z9wh`G7gC?PNewSSmumJP6b!YmS-Ej(1JafN2AB@|j3ch);j}Vgz(#jHWG)7~Lvsw$ zNQNrHwsK?YCuvPC;61kr^aN7m3B;hepbqGINGf%9!)^*|4$MGKR-8GCLLku=;(b95 z70Vz7Jt{&Hu9~%*)wZ^;yS}@Bd0U|^4iQV)8mP6xrVz3dFFLSC@I-&orKawf;_f^QU2G0@$Cp3va;^S5--u*6Un=Il z!3_azQOhnD*^6BZ)6=1DV=ey}ueSDxyra!~-Z|f%(z@lf6XhTkh>#V1<`urR+UUQg z@WQQbJVEd;f=}7grb9uFXa71%j4a{;?wib0xI*{@L^=Hjdv7gZ< zpnLT{NIPEePdz8eABSr?$wW?&-s1$q=IR)%ReW0Q@IG%n@cHQ%hn33OAC+_~T*^q5 z5fdo>1EXD>G8aKz<7lt`ycj@R+Sm6ZrSpIBnA*vsaITU`QXeE!M{ADeFtBBviP2)< z;5pb}hSGyhyaVI17PAjMSy>6|0m>e_>iK5S*+Styx@;P444=%1K0$MCC!7ko!5}q<1>R!;q2K1g!$h1Ay zEEC0zsZym49K1O{GFf~6Ii#h`^_fZ2?0WOzS>@DU|<^q$PxDSoOd_NM~M%k_>0g2_v~i1%gp5 zb+bfwz^)Mu71uV+(;a&SwG23PhiUSzr)z5S0V`*w8pN_@gRzLhqG*+qFblUZAu_>n zZYclp&^GsG4peP9KW;>e(>G9~2=?+u+OkycmAdzjwD00HrfVg&MQZykeObLQ=fJ!5mlTzI%q zXFDrCj}FI$OcfG;7im@)OF3fS$+R%)T{YNAzkMIi>--xTA`M^due!Z7J&$zyw@KMf z&>kPONW?{$%rxn26hX1zr;ft31QyVhQ&K?Rr`r+=VLae{OMr)1yo_(u?o>zBWy{qrkzn-%hNoR z^OBg8CsdXFBwT5*0SFOowYHIzInIGG=?|&^e=FI7a6}%)q-syx&oQ=ZT;N|5yyu0O zKkgWIWv9&iz}Jd-6R5@sr{@SK5xL4DA>ai3Nm*FF1_S1=D# z<97l>{+wVm^w;*^?_8Pr-r=;9TK8KdkUn>4P+Z8N&KhzOZxWQ(q;22j8ThBkA9un% z0iYCFj?lbGLb2O-gLz_cEq?cF0N(nhN$+mWgR}YelK35RDLnqIIvnkTLn;82YJ9hl z3rE1%0MwzXT&^SVJ3&q~nhQ}3z?dSP*JU@g{(^nEg5ani+N&u!x!2UzwGCwyG-5_8T-rF8TEL8J*?%^wosg7n$n;OIO+9trGRu*%C8|t}zJ7`E+CC@%7?D59vesg16 zR?G);-mr^2`1+dKmHDM!z=XGZiv1iN$K^m$B!BX8#N*GZ6*;CGHj29OjFO(ykr4Y( z_zAz{;a!G?Z`=Q50V>UZ*}?`R)cX;eKX4z;T#i6|2{`XhopS!I+YtHuQJlCV^?Am7 z-eV9=5PE(juUu=8_oB%}l9P+btVldT$tEYqg-mTNB*Q!C&kQkK^d02AIpu+=?6Bu) z?(#$C>-J~i_5_d@$X;gOYW72*&5`^S%o0Lh08UIZb>fz?3CgE34 zUd@#qhvu-^M@YerX`w`)+d3Iz=qow&4+UmA@uE=8ak$dg@-LonlTBh5l+HUEYBP*5d?~}qo{Lc~DCcBCjBK-Ko{5wdMkP0&^+J4;gPHx%{LQn}e}Mv^a9;$i9P5a2OlkE;#5DqNTJ?yGHR zT5Ao+cU!`zY6i9rQXSnq^tS{=;MHGSx#PoER=_uLH(jX`;u7PF2{BrUpur^j6xHWj z>u5r5^l%}zeIw?N*}U%ieff$jEG1Q=trI@JU$^SPS;YQS6d8Ka%piJa*Ll%aZgb3Y zNzdNlLg?OguDh$HG0Cu0J&Ukdib&ScY$H07H3@27Ysb~w=*D$1;}N*JeiFE!stCGl z6W~g4csdo^o)`1wXkM)+3tZ-esn{rfT4~ssUUCriiv$WPfw&tYp?)tH!s+ycj}KRb zD#nMuv2DAr-$cfi*4S;)!Zn-SJmt{j`e2W3(mEyoOh<@Dzya~i>8GSJTa(5NlcW}! zuS8~+mk3Kor$v}sfA>FT%y4hIWGhvgRhYjj_*Y!wGz~|d1mm2_Dx^K7Vccb0~Rnp_O z^D2>tJ$0czJQOGYN^m{;fn(-!E$)>4tOVb>bpRl_vu-4@$CGlW`y{ z=#`hlwZ)qoG8m#@^t7oM#85urWLk%0@`$ERiC+2x%mCmy*b5bo+1WPed~WMmKR*@! zH`ZQ@d3&{V-Fo2aaWmx`SDQh7-u&o8R3v~UZinal&{TVFkiV`2$NQrl;IG*6E-q?( z5gi_`d}^=fa}z76a~IW|79?PjQ*Auvd_O!0VPtXy`%NRRkL?e2b*+zgMv;jAC9w57 z!6=pdV6`T_>=Nvn>jC%4x^Yx_$pfV;%Y-Nt>T%Y$&+jmF`Eu!${ zbAgv6$%qFAj*`e&{aftG*BqXc(B54)ySeo)D}~?~9L~_?sak%@Qyv=Onh(X-LYeJ# z<$$m+k_ad%LRnsGyE&x44VQ!M*&uj<$d;exZ%t1+W;h`e<6DJV@tav@<$4Mb*b-3J z!=^%sFvhYgsBuag=uZ|C_pdY`!J~AmzImZuKu|LqS zyPX~-m@WQ)**mw2TPPPYKAPwSQpbdU*k@2oQvkqBrVg&9VUPDL%Zyp?a2DrZ`f*<* znFQ1Z26&$Qpe!D$divN(R2rJs=F0!FZ`XRqZ!c-jd9cD^v()Dy`ivec>VY#~AF9zf zTNad>nC?xqQd&%Q$(FJ#g-Pmky*iJR_*G8iSqO8E_CSQD%kw0_hr#~-P%jBOnU3v( zQ++p%qN+Tp2MJB$pMAXkc8A*rk`jgQ_p&hA~~ zLU=)Rxs7aQ@6ADp-Or(ZB759eUNc_Acd=g^a=x4M&=0>$A{*a{>+vV4zSrXacVlAh z3_JNW-Orq)CmtL_U@YJCk+Rgi?f`fTg_n<^fL}|_2=nGVwNdN6D!N-n^yYc58%5N$ z{~_H;yX;`$D;Hji+C>pu!ld6@uhvIO^XY(=&42hGjp;03v-&(Y60o=Oz}{~+L_9(2 zXe?Aap15^trc>~I<9#?TFVf1q;uu{-rUUQCyY`al_fM+V0~Heja)(k>$cJ|FpUGJb zSk~;U>C~*>L9a>Y9Gz4Zwl7}&Xq-!Lf)=-pCmSr6jgYkZ)BDW8@|P>r)2>_OASH)Z zd)%}8nOoB*UJ^>SqgH0zpML_ez`!EFmgjNkJLKYp<><VI*dviYmWi~b_j&4+J0UaXDe3ThkEoox1BWC8c0v9p;A@;Vkeq{VWFAN=Ax~0-pE}=ZU*l6}d1cfZ zMLV|EbEufS*q>o>ea|D%VjiIaoaTs&INbfSs)z&w9{0uc56g(T_ynGhIQlNXB^(&T zlj4e6B&uUGBa)Po0LUdvjj+~+nE}^7iqh6~V!e^0cLdyzg@_8|PlN^06q}d-k>aGM zzWUS;w`6^PqDC}5%1K#57TnR90}{H?kQ3ma(LfGrb>8=DV33K5asKUhMan&qDUH=zMP% zo)HxY31@u?=vqiW(+}x*f>xP~=0DTxxd+EdJ_ikF# zN`=vi87fA+kx~~1IvGyJQ-&>O?{wTI44xc}643eWugQkT0xt2)KY9@k14r!Tt#(H5 z3hzSmI17@Yh;hWbUl*3MT!ZYiAc#c%QzN%LGkrUkg5)%?D`yIz*U4;}MqUXqa&-$ZA0+1iKlr_&$v z2<;zY9b<7Kqhys^H+D7*@F_zKf1pMWng#I{>jCKYkHgvTh}H8^#S3ED;|^L4Y$U4J zmg4l0%61_3y{^wq@`B^j}h$Fm$DtDA9uPY(dV-+CI!Gld~wQ@6}P4n0%%l6@I8z|NW}hHaxN7*{^)L+ zx@6)G&lBnrFBHL+Qg(3u99$LI39YshJX?)U{4(a%UDDr7utGb(&gj)&(?uraf5p7< z49UssyA8M%*H*X*k9b3osOeSdJJreiVVFH&!M<{>OB|3LE{I{xL8=fKi-~0XRr2EI zA`&oe>cYI6odv(`?M)|Y(ik&bzWO@yl(P(b$U?yQ%Q`Or@)aq%VDQqcVD;)<2}At91GL*V1O|&l`x`WKYK4=de%evWi?L3mZB@liw*pOF(+%< zwZfLdfG^wq>Ywc`I7ssamh{{V+W-VtB(zTgTQi6XjaeS&gp?fQvsSUv^b}=t!!w%c zi!{wzp&oJzx?Spq3RMq-Dk%TNCHNvL@I2QkX?4B4)xTBeKW_b^*){^oo#L=LY;}_C zD9h&bX~Y+)8Ezf^?tR0Iv>eDek^Ip7G@Aa*%l*}NKNg30VukCt%*;AqN7mt|MT^na z%6ajIXlRI$Kkr&zX3Uuneg&Ez+&HF1w>=Oo;AXy!{{D+YG%Gf~tu{yL_cJcOMFjQ5a;^JMAM9rg zA8w#d_hkn7lU|p%7mra=sQa@SM$pW5Y`P3XLF?QskpA8J0-ttOuk=PhX%Z+Dy@!s)gX&>lt@`L{z{j_|@QPfdT%B_aXo1+_Y4G(<=*xFQy ze$E7VjLofmF%jf}&acS5Zad)0Y1kEd1$2tF54JcM3lc^Wdc+SH$;YmSjKAGAcX?zY zcz?~UNjv;ewqEqE;J=)pkq$uhy#o+qU~-S;el-@*Vc3Wn((Pg|&N%N!iA{cx`dtx! z8S&VRdY|rD5=6lJ%P~5c1@gI3jk5Le3v|JoD>+Lu0{c%Fs?dbC%02!@i>pbMFPmiPt`_+`xLyo|~ zhx=Xx`nsFPU7&~vny%K+REUV5;L)t)EacG=e6^L@C4FAargKv88QH%BENI_1^d+0J7#_;`g;m^mf z%Sk@XO<$qfSFmw6AnXWJ7eT~*N7XN;-4o}gGPF`1zzD>%PBiByqk8;$qc47l0a4CS zA|h4LQ@P5#t}>8Y*V>M*52`w=zx$S!^%itFp|rF3zE4C{L-K1;9M#l}oCOhyl!(zm z7pNUUco2$a1goK5W`csk@2 zu|jIUJHaSwT*No{7jc5)&CbTRYUsusE3F5*z~xR_hY()A^=+gcBw0Hj+R{`uST-iW zCggYevwaR~V^@GX^@#Y+4Q4nBb+Fm))5E%U3?pcJ;4Qm#CoU|K-*+IPOP;D2s7@e< z^qE(`EaaBFzdKi6k-!fLuv)~X3Qf!-tn%v>3CDO748Cda_W5_*B!N(mAHz_1ylTL7 zceOSlK+0L1RiYBeRat{D1T>VzOmA6}kq#+%ZR9)p%;`sR)#80pn)uZqQbozN4{+-PpZ26i{ngdYo zr9MJ3hnNshs>CtQihF0ZemN37(S%olq?SzCxqRP}_J4bWcbANa6=TUD@ax2`{)?+h z(-2I3E_kfq@7tCt30}&6f!W!#?|XHX)%C$N6lBq&^VR*qs$|JN%88_*X|Br9h<|?| zepDdpZF;nXo}LR;x8J`mzUQt5K}xleVny@QGuji25If&_x(4!+Gi_O{Ud#x_O&S!TL6-(gR^`1}4rePq#zu_f1~S5GU)` z{Z2x`Nh$U++?c1Coh{8Z7?gJX7r0#5qb$;WUrzDJ{krr;horru%2>EnS`|S&v zv$4Val?I;vX{99D#aSLeu<7OIa=VAPvr=uO@t(hKZ`Ka((~Geo>$Z(dWO`|)UCzj$ zUlR8k%EEQWOrUlkhn$29Tm5}5~s)5ZrPYF}f*&r8lQ7LM~! za?$*J@j?BrIfgjW8P_?wY#6qCB*Qdbgy~5SK=df_xI+ z;scdU5C!Q7)N70nh*w$B9)x;Q9>3&AGmYS0N9E1AT2O9IK|c}71)2zz<&pf3og)iV5$0k)xI12kqmO@JDD@d`|$h zUf-MRp}*lH{gvc)wb0zxuj$5`p3p+J{7^u$##H)3i;=?=EDH~M*8HgFFT8HvEV5)n z%RUBCug$si135@IdyV-$Ts^Kx_AilEpO#PI?M#qU5o^{<8|`xHP}5Y!S8Bf>pM*qL zA7hu*7VqKVu^DxPt5$<~dBD9SwuW1I+IId1xz<>bs26eJ*6Mtd4eIopPFi^c;lW`= z3&*#RWx*+S$&KxL`AX8bWn`$z(yD29!p^QcCN?k!Y-#w=eo`QhagL7F-g#aKkBodkqGu(O5azz3^cN50t(!ah60CRUyxwY` z{%c@UT)Q7I^LilpFrt{Gam9-pQ>zUb;-0jm`Z|ycBUtf0zXO#Au0`86N?$~s5@1@z zO7%j}^#!u*lW*gIDaBmr5oa*koR_Amjzf=CK=`67=TXi`y0#vOUa6x-_ES(} zapghBTM((P$!y|v_g)eEKOQi8dt8aiC~#+4tQD-$Qm7=h-!!F{Ljms^FZdR-IH~em zx{J%_@RiewrI2{)`0`C5PJ*1RCIn8_N!Gr>UA>b?Dz2<%@JLd4kP!or*Xn(~gbxe7 z_yRdez;GKt+SOwfpF2Rm?M>VAL)HjJ>+Q8=Ph37HgNJyanp=#uTp%b-=RCOL((qky~4}ifaps#%jc4dG$ z2@}Zf?1R&K+fz7kz>8sg?41nR^LOTmGIT_a#fIzEJnPrXXtH=X^-+$OP>#}>fqHH; z(@gwUe8)f0K2?ZdZ5Zj=6QO0C*sdc&KiOeyVk=1PNgVOhrC)$B!6i}KC|BTynC?42 zqn_@B95`qpq{l<}3K>tsMN1O!tL*ocFKf1$K|gJ|M2y4}cDvkBDx$V2hG=rb`X%J{ zH}OC0@H6+u<9c2WISUe%Z^bvr)A|dQ!luxg^YbG^42AeqYjBYKVwMUDg_HiM0kOLB-H{1aM?yB@m0-d%MY}I{jAHQN zXqK0SIiuS7c!lupWa(T)>uOrt_grx<&Mc};DfjX^Yhn#D1fxRcqfYAh z6auBx#suGa1oJ=X%nd{XFjf%CpFSh_x8C*~nLbo@{M2v^GDn*HKD%+2>^X%;25m2G zdJ@O?=Q2>|+P~N3qpBibF=!>%Z)NB>cXgz9lv3y(n<{A)CPxbjZTfS%X#%DjByh5~ zj0GZD)BAQD5RdyA;(d@gV6|&zs5;wHKhFo{DSkB1vZEUNp$A#(-F{|iqLJ8~9P*0UC zz>aOGAPh^P;LIUXL{nCmrN#WLXrc+7dX#opv`WUb9hnPx94nrw@H(zxg^8z#Sp@G+ z19MR1OD_V0Q#P$xSI8;nvW|Q8>t$vmK^OMV>ccG8&gIqa1M_AS9YR_fa;matA$g*r zq)+}{_q@w0m;ZjlaTxz?Om3IQ>Qhe(PF;YXnk}!v63<6i#`n2&9W-4ybZg9sO1X@~ zunq_Wf`^LXrTDIzaK4M849q?$Y%(0VI60vJ?7Y|c-wGLde9jo)WFt;Oi#e>45YIsr zv3~rv$!S+K54WN0%dkapU981~|BvI!;b+pl=Wy&!-+tO7qFjBAAur+Ccivsc!Pf`9 zDXl}?6U4qRHknG~P~wXxansyVnC*Ubz#$`- zb}0k;PrMWhop#Cers7~?ArKC>2>>Uo$a;@Z&x`xSJxHDHPHEtnRO&A0sx#}RGvQ#) z$XvObLx=S!kB|4&;hnA94Lm)Igg+!VGQs3=ZvRivt2x3nb&5P16ra9Gb?X75?!*G) z;fck%zWylUx;-PQV4Pr${=@+~C^@G=u{xrY-2IURWvQ5@*%HAKv}aJmcyiXpw)v)> zTT|#kSUSb#D%4gfxY;w6>6&(tyhQsb$cSe?v4UUTM#>wPt8^jF*mpjhcAUM0r0pzA zC*|aYzGl#SD0>mLbg@|07Yb8Q60#s;E_&q!#cc)ocSmV ziG`DP_33SNgoOEBzg{Y?#D1@Yr?pwm9Mw{9CBJSb8*Me7Aq%iOvAngKM=SN!1V8a>_*J%WqR+)>!-6veT--z$s+Ek__+%)%=%~ET z%4+*;OF&gBcmpgLC@~A#Ht$T!^EL`{*iLgyu^!b=@*yUb(5l&5Ea(c?esZMS&(UR9 z@aKm0#yun|Ob6i^$IuTP^=M+lY!)jg^}C4MrSCj=3Y|dC+gaJdM~Y_>7@y*B{oNUZ z#dm*<9rg{-<+E!5W##6e(o2A|*F1ATN+ty4yt)SD4~;*eWA77* zezIBp-2qaBMUzMP8Fmv8I=BMzs{KEsB|YlVCLDFsbVouI{B#O2zp*5fOv3X-?pCZ{ z>vpP0R|R{^HNovVA9k7$+D2zk1&ZqIGxG z>~}VzXZLG3H#jOW^mASyQEbpW!ZLFX1h2Xmvd|wTPKeu&tGaTc`v_U-~+rju*=vD&F^BhmZus0mq1j4fCUqR3N3_ix)LFE?8`M+k z$bcW56q@d4jK&-OWllvtFO~GVs^v*D4wqQ$0072^n+haOR+#i|@{K-7-vcKdivfZz zOa=hhl_vgV*U`chL3$)g%?*bFlAa4FxMo+AG-C!Y^_MK~;4N3T+b*pmaC*V!0N?{m z8j-66mPg5#>hYtbqJ#;SD=#HoxyhK#=rL{YIeYNg@$HM?^28TZ5edYfToTAFBk#5f zkiA`kRQT1bA3{}h@n10s!2u4VVBP{2B9=LCtc=M?;V^L$R=?S*PT$9x3 znV!rct2h>uT(3}4x@J!{!-Jvg+>ZH7lQewkP#KRNERW+yoOAAtz)tQX9AZTU+;N5kX zPRRKHuty5+%)?62lzxKi76c3n*i8=^91mg_+_NIFzLEc>%I(>JT$48(cjO=6hiONn3~k})L1q=h2=_JBPROH?zW)j-OYjZit9=hDHu z2fQJ{PZP~wUpyO{HfrowLR9o7n#PBn(Cu*kc;#VP*8B+T?RfjSLb4s8J|C(hjR+{D za9iU%b1kxJxd`t5OcZeDY?}p>!F1>tLQyQvo@QW!4I`lT_hDOWec|AF^xi;-;I9Ucdl4QD_}IzfJK1m@413l!fSbyn zvTv&{h*(Z#>-Kwej&ihH;WGc(YL$P1up+NMSiKk)^?7_`mLblHB40xyb$2lTi7l5q z53TXpTIS?H^koT5EWr8GylczF0HgLt)>WaWoo76V>i6_U`{Yu&l|PYH5FVmqo)ht{c!Gb6bsr z%*5T&V{mD9QNnGT_kukQqn}@>$=z^^744W^Uq#y-4Cb59!t@EKH{=F3EB4ntWQ46!l2*vDklr37s$WeGFhFbr^O`c;T96&G;ma5kA8jE`WI7>q0uf3ldgH zB25h%H!(4&8cF`R^M{N61d<`9g52 zK~0l@5CHTA?7Sr67t5aYy)Y8C;^5a$ z%;{}UN7>&k(&IxFXhiE6-y$P+c|EtgcqW7Xa(EA{`P64al{A;j%!YnrB?5FMk|Xdl zTWtm%E(=F-YPcA|;gr*dNh!v&I3vTT%i1z%shEO?djo5aN9PU;k`n`wCyyR;lyu5q zN-ziL-b2J(g+{`Lw|HvRC%C-Ey<{NB#6F6upNU`@x>Wzn((+VqXLm>NTi82*WNL*> z2orNwHUyn2C<~pBF*f-<)$RR6Q#Gd=6ijEx3Tf-jlBW7InE#hoW8rXu z{G_%RGR>+KCL$57KBjv?=H;bm=Ww#!H}GhCqmSt-1u{WolzkQmH1jm=Ha=3VOFuqX zj)!5P!S!)<9_^SUwU))J&@EXkdxg++9o%ktsp!A$t`_<>=OTxH1Pswj?0R@}Ki!qr zrMzTyO7Tl>knIG<+-ETMGX^KNROFM$yfGdB^e+7dWT!4A|FFR|o-r`ygFB3POcw}w z`HqK&Bt{*Dn{>YsVa4OiONk+*WPIm8l)xMDh_d{1><#-%EW7<+AXTtW_9>rEr zu88YaeqrhZK81$lE!v&_ZW$eSV66W9+z>e3jz)Y=bVGF1K)Ou)i9ucOdX1-6;6QZ( z!@F;MDKRb;k@xX@`QGEs1DsB(j+dm!2OGW)Wq63X_s`I=G16Yrk+imgd4^)G&MhKS zPG8UNsy)j12xMlP?Ftky{?uM;d1&Lfv8B6InUCg+_s)61Je2J0W((ZO1=L8-d#={a zXpm*1qrj%YaXI8XMW-Lg@CfEmqUL~jrUu5eY=6;LumH=pRsz;cPNW1W96Q7vdxBSi z1-9c4M=|UV2P{+_><;PmX)RvDCW*%lU1`MXV}7JFQ5&_k4JYn49r9S{k+1cNtGoJW zC8*=Ok(;x?SKwOoaGt8w{+47Qku%>9oHT7*Rbodg6JuKns~c1!P!d|_ByF6jzQedB zZsJ39{TSl;x`eqpNba3@7gjQ|C@ss-5`vnMFpkXmc7P`=!!it2R#$^HRb0bD zwAPGmCkN5QuuV00$hDnllN~w54Q;*k(z%Qh6^$4E^~Bl`JB)FZNp&6~vyk%|8V67( zA95luS$y&};H%RBxtv72xfw@)H4so8T5Qp(Q)1X)tobs}IDWt2@g7Eg@VzNVZ`*Kk zGJC0J*{F?q9f8G53|-QE3CV&T))(>v_2~6_KHg)6{DrJ0;8}qF&FD>j^P`4n(aKiZ zp1@}lTjoR?Iuo}gog0By;>RRBx@~#WVbk8ozAXoncV0|bBHL_yh-EfXXW8|4R-Wjs zu%{~laDgRM;|7_^i8 z*l-bmi{RQXWUBrHrMe!A`-6ewLH~duk!zVjJT->E0Rn;OsHn>h_9Qt}L4&sw1nNzM zD*4#*olYTvI&lG0P3al#+6TnQGC9Q5DSC%1+yM{~T!5%;(u*@Oz=w-F9a}QkP9VbgjLT`H&3)>w+BWLE3D-_ykAB8`;)hGnu$zh1 zl+{AJtMp2+Pj}AU(kQ`b-c0{Yt`*Kx!|InZ(YYhCHTLz4v+-X1?2+l0AAM*(GYAJV z4gWxZsVKVVX%-{3t*C)}374N#NiG`Xp7b-^rhHTzvT}b@E+`l+5A=zHb0I)2f0qfu zE&ZmnfnRy+qQFUF0_SJS;}CpzBJ`@Ntcb6KXotXwMns`qI;-@R0$e^I>`qD;^yw6G z-eIaF)IE#{XNt9?0T%``;xeSAVp{s~b8F!MSUO+}_`|QrUo9&`whA!hH>@jeNI#;L z3&-@EcT3fJsR~rg$#-sk+Ta(iI)wMuv@C&gw_{W!<)OuLxiSg%26UC3-o{roY*<^L zJB$wtlL4q7EvKv`qF4Xuj3uLl$o9UV55ggO@N_M48Elus-^$; z`%Y?0An%}QoFFD+dgYtU*9d0I2S7Fi$S$hVM$U+B3_j4L+AhqNk6+;)7Oi;p3onrc zgr`|#&?*RayWhda5~g-r&n@(r;%dQ^Rg%^DLOP!{|*mL}oB@e2I;+31*)YE471u!hTXri6mUw^O$6t zbc*}>%2CNuYy)RBC7h$tBHSW)U_U$QMz@yg_nU&OXX2Q_T+B>rVItzVo>}%|JXDO- z^Xt|yJR#pNE$97vSq<%8D&9@dxY>>U*$U8tIUW9rwuErpS8~BFQI&wkvAaNr5o|)e z+D2Y*)6`{p^&$+ZErIXskxHdFq}l>%52R-c<3nK+D&yiLxm|1z6REd8l-upm5J2)X zmOup(VhxV$(0cEA!PDK*` z$~-RfHk9ypc17#VBZb_}a0cJ;8KW4VS}S;wUbMf$Z9*JABe7}gdOs&GlEZObnO$2~ z(@+zAZzlWQ^GLf+P&o}Xi4<~?a}bQ@jV&;muX7$?DP`+3kJvPmMJ*9kT*d!MX1R`i zSTioHl*W_*@X2Jr;sog93^Ys(q2bk!_xNq|7CX_kC6FJ*i$_hsA2bIrticW-g}Qpv z0se#s{};5xv_(&>($wP7kKUheU-fwTx5wHE)@`-8oO1CGijkVG^yYm3$;_%{DHWdm z-SmV$zj0f4ADcJJsPT8szUr&5m)ar;sXUWAqV|R$exvTxQ`6;$&}P5F_xB#^Gd8*E zEwlQggCP?icLVgYBJ+Hi`x6ry(tYp)^|E#MaI|n6vOfND%UFgPdj1MMF_7;okEyY( z$@=l7LI5LMZFK`DI4nGmV?1dbtu<-;-#0EMm!swW8qj)_P`Af~dA&7G(hbhJDQf6y zjMKCT)uIFR>!CTw^f*48cEJ16zY`qJqZg3btl1-H%2@>3Hw^z>`4#&t;P#gTwU-=t za;OUE(h@4AsiY1aCUKg`a1(ESrR;vYKC{s>TORMgpp5^qlrEqtzG29 zxu|P7ByAu9<9HHu+IPB^Y<9s1addr?n^8mw{H|w!;H^!Ua{55DhbDYHt9C%3A3K zse}PhQh&Twnw0>2kZQZ(q4G8qNah{e zc{+-cjNocxnXw&~3NR>kF7o<|b3&A^N7yMKsEUS(l2hN$rnV4%%R zE5cjD5M~>*D^A^TG{&vEp6PWXW|a9In^@ij-B=z4q=`$3OG63=&H-sf|K)9}vaIOA zLV3%#?L48I9Gjgpf!*A;GBM07!4&NpAB;lk&u)`t0hqH@KdIkdu$CDE@!FVs(4f-x zQTk~f+9rGyankKgQCcUia-a`SBFb`Fx<#Cui;{6Ox#K1_e<3H<(joFW%Jk8~N%wiN zbNO%0ZDxyhCP@P4H-P{kD+E+rLAT0xE!B?=2!>8mnwHV{ku8xo_o)QpWyFKcm-pmm z&d(eVo@oe-eiMSs1K}r^X5uT1N5VNS+^CZV@ZMDz!E6rt&}F|LCohM7Ri&4;wg7Lq zRfIXofl;F)M$5^fvO^Bw20r?7##^=EYrK*Ed??8LdvW2&?WTp^CqY%ffeePng1jgb z0GP*z;vHW6vwg>$E$XwfVlvS99~PBj;c9?uDzKmqbqaF+9$*J>C(Zj<}OCy-1sx24dxIp zCd}Bqe+p_6xRiyKnXt6WMO*W;wgzoaI@tZ}w!{whNG7q?E#z+HGD@WLr(U?27q`Rl z<6-0 zUVz6>G~Q<7A!R0g%Iz-VUs~uvx?B1(L&o>i#qb6t2*hg zFxXGJ#r`xK9W)Rs-ZxsoH~j>!D6*;LO7MM&`H6U%VpJ+4q{*n-D_t+19+ z45Zs5+HDRVGAVzU)yHeYqTP4+qYV#mInL#qylx0b)D?$t7^9ykQ)14m8oKY%o!P;~ zNp(1wT9_?t3qpnClrg#4;+J#@4sqH#0Pzc#p7bDr-x_@eH?_*cf9CRp9euolP9hL^ zj^bl>7>-J!j^<_uz4E{&CpGy!5ta|TMdq=mf2}OO*GJZEt zg$1SqdRf!RBN>sZ2j!l=9st`VH{s%5v>zSk$8JN~t{av=8~#zTxoUopyN z!ho47Be^}@5e+abN=|fD-qWs_*z>vfFje7B3hI*@zBnR#n^1vt z3*OeLC0*X@_;_Jayb{jyotnL;XEi%vxNJm1E{C5LbIJ(fr|#9Pdu{d8gaVeW&uE!C zv><6_HC_BWwW+Fnm}s+2oO4q~STKhULyB6YcR!hHQkmaHX6uz97oFqYQH9X`Atr2q z+FlL8@;PFqM)|+GaD`*n(*tqY?{3m(EN;yj649TVDBv1#V$f(Cx_=)2E*5@DKw)u8 z;Ojyz82O`X*gXAfpPa+7L3K2a9zjS3f=+ph)IiGvjx0d%*Y2mnrV>IVywDnUGWp`J zgq~l;0hcWGOggrZgWo~zf_QDipAqdbFy3&#bm+>R#3b7CM>p#gk z>E^C=BcSBH?D;M##`lMRmbW$*)AUR%@75cv5a2x`vpFDM;=}3{46%9Y;<6t)`?!{W z8G_coZlEXsa4juJP4>~K|6zI-Uj%Em0>t_A_9#p3mN=qo2nqaeU2o9Sa5Jr(o~Fu& zn_X>wn88h!Ibc27&><*q?JdugK(*69k+xGjAx##D?=N=Yut7WtkU(E{XVsNYYgHY^ zQQC5XvQ+olRK>tW?f!%sJh?XKW(XWzm3Y#GxI_KH8%A*R8WB*#KS^+Tn9!uR!%_0} z(A>U+|Aep%7sY1irV0t)4{2vG&+O^FZWB}Ik9y;CP`a`(-8SShf^p4Zxu14JZaHf}8(;aG&BGGYk7;3^}sOYc_`Va+} zCdD>^;h$UnKr({a_dYfGtp9%L#tQ0w2GEr4kcrr7y3$aIKJMgW=6lu{2mMP55}{HP z(%5SLgVt1cnLJrl&%N_FUgFfFCL)g1Y@XkL2gf<^y!2U90Edhv4WqKY2>I|r2~|r0 z%9t{Kq(_+J8+l<*{f$n0Wf6qRg-K<#<_e`TU(WY2c?%?=OR<_Ym9d^nx>&|jsJwh? z8_kH~1XZ|Vko1*ZA31Rv1dz-JMfu1X*|w1SL=CW1bY?HR*~5h8v}xd-isQ0X#- zC|aNUfDH-n*A&#>Zg!aciLFrcWf^r(>UM7PdvKESW1e#15M}x4xWep_VD=XeYdYn= zyZ+Ft&EPP3;03zOl`oqcw!RH$HJk(qq39v;I%EN55>5oFTUIk0#ErKeo|Btxad28v zetX|-2ccM@md;qsY7HC+yX8_2em}(2m4etyZATr=X|v1c+Ysl|q&fWW5gLpHv3)Ee zN~=*ZV7+!8F_V_?u)>6Hd{OEcVu>I2Fv^!D)b7sf8gt;v?5A%_SMDVJzIzu~;aT$` zyxGP62!-hZVQ#kw>`26pkG2Fq0cunC1XdB1nVee56ZuOH1~Vl>p4;dDjC?-U!(_P< zyDsT2=yr&|YG*+_XpE;V{E1)k$Rcf&fmssy+hfrVwrtB@#>w2&TRF$fzGFl~Ir(vd zmI*J1UZNlvVkxc9nZlAGFH2{}&BzB)?{X7b4Gn!6$-#7wmiw|l(OCu`*b5nXYc=*BRa*ywabIKVPXMYC&M`4k*t z#@jj}tJ#?G;XU)au#(AHn^9;@q>wdH&K^bV$g*<`txVr#=iXG~x1nSS9*jLu-~FXR2LUqzJ<=KQ4|dbJ7#*?Qt11=Ko%0RL2LSqpt>6 znS1;>9yrF#cu$H`cx~w{*ktpC(vWfv1V2p{y*;tMZM#Ta(1$>TE`_K;&_&mqCyrQ})9G?gxP=7PlGO8mw-vAj za|S4&fW_SG3anhGYAWEQa$ICH>~7luZJrcU&R3g#D;X8(fz)$(vD^LX2J&zoC&yze z%>5lk;W%qG#v{LrKIIe@N#NdyWT0x>8^N>WGHiIY^M-bMkF2MP;~};Y2j^amQ{XxV zJQPx?8(eWaPpIWu;u7=Sm$?1={yF_c=pd&`9sys!>}Q(i|MLQ9UOoXONv7x<3dHHv zEgyEuW_tS${Dpwj2|M>r-2lBRxldvU1V_`zIKhQqg@+|?z&-hq3IZGBQTkpz&IA4R zEKjIb>iT)T43V|r`gNXVusv}_`i(cEVK(_3q!#>fw%hoa^#14jQvH%fQ?N8FKtRyt z;3nPl{t_v`*-}kIbM+-oaK(^)i{pU_Mrj;r z68vf4au(!#Ap&^8bLaz}6{_kly&NMe!4`BQ?+S#HCb`x)|GB1Ap)W(^;;i5f^hU3pzQ)p96aBKP4`KKLytauDJG@A*MCtDa(c#&b*x}CvsMq5cPIaS zl`{|^{N@FI9%Rf~L1oB^vI~6PWb^i320+48@*s5rSB&OO0qIp-+NcWD|41@gu9D{_}QS zl6ZOj`_VfNKWQK%@W*=uyYoHsjlV9~hhRpoTmUG|QV6D5A}D`~p?%~79M*!pfY?y~ z>@8qq$uTI31^_+x;^27^N6z%coc>k>fT5+l9qpdVCbU@S(;yu@OX%5B+s)jLoHhrE zoi(y!M(7Y#lhN>qRv=21ev)ah+Lg(WG0f$#yK^ z9mT{J|5)pDg#ZVa{)$(|7)Jj;)Yj)D(8u-R)~{rUtWm$ zIJCP6ZAwQ)8dD++?u2znR^B4G-B~RqpIU+^{)~vlJ z|9W3!q!(1*Q}ec9pVxexe*N=bk$3q!IQPPHk$3(rn@N{j^*(}dHz5bxgD6NOQW8tI zq(4ltOyiYG@G|W}m*uU{nzd&*!yd?BrwPM;A2?$weQ!%Yfj(mNP>r?8XnP zHJN55jm4iPl1dT+y|FNu~lEi+}s~2xJiSqudui< zgl^3|L*~(aw9I*L(a^)YAs7;=efr6bczQKcz$LVss2#Us9($3k#O z_UQp3LAX7_Nm*)5^U&eAneJnw!-X$|lZiktdSFfE>iqnRe{vBHI!4X0_MzxR_b=(&^!J<*@(^Ns1?(^YXZfPiSdVfKB8XzqVzDqP#AX00&^qBKe z2*~&gI8?F8P@L3>TeZT2Sa=WHLfm@m=&IkDA7TW#_^+sJd|Z9t69$5Wa{jo0COCf{@bm{l1x1j)@A{U7S$(gx-nh2A8tRV0b?J%@ zYo~=sqFi=ES`G-~tcm|+jgvY50hf!KS#uZ7z9c3QJ@xa}v5qc61BxP{r3uvcjG z!k71Y;pgJIqVmUgRM=#66*Be)ISw{wOCV_(!kgCNdq^*gemw9^$zddb^cm^(SPrc} zwmEO+?0w&l^yJ9T5E&zIZ_mEw=zC?tG6OHLQXX<8){ssB#!T+jURL9j*`rnd3 zJ6gu&PJyh-=h@~RoW6pF6@9oKdSl!D<{7m1qIIX}`dmSnSO7U$Qw(iqV`AG2rOaCm z&y&BDn$85=l}2gOCM%~?bSo0uw+|7nwqN;<#cex= z8=_2ywI|XQ-{HqG7Tghnm*4>meOXW=4o@3lS;5W=!aV?hHYocF!oFVz0un0Jl&s_{ zI`oakrLlfi*c9O4nW@cr(LRt1%a}11BDJAn`gp+a<5=ALwQ2kJWgNfmgV}ljcsA49 z8P7*?#%^?wpP*%R=5MkzFX8s1k)d)5WzSd~Bmg4ivI*YK#Yo#;1ha6wAmO$xf30i~ zHg~`w*JPhLdUZn{u}BDwaV3Ge34Lb_&$Q26v3CQOM@NU9&97`sOjjZWL$?5P&QWb> zcHjC-InqHip+|tH(?*^k0Li}Z0~@SH!J34Df2WFLMO`PLQ4x4$RZ%bdo_^nTh*PocUhp;G>HP3s#WY@ zQgJf{5(L;%if($m&o6gE;Uptfne6_BIk2%fnp5ljHIwxwRb#0 zQ`{SdNiZ9VeTWnzgUJjNZ4Kj>?Z?&|G7#Z;*R!L99D458hAu2t1womiD(CH=nOc|$ z{V=Fvud+vdaZK`E&tT?iRhbg)68A%<6l0C$2#E&qLm1<(b(3v|)<1A>?VlN2%OXEC z>$Mmp<1F6_Bv_jU_#sB8b?*c>5-e-0Tiuy%T5Tu9ecYpWKku9|o*_$}df%VT?6){| z2TQCljQEiDV#%%K#^A?T{)$$`*h;o7ZrvA5Pf!pXEL?do1$h|_wEA(klr)Z%IynkE zzUT6@*bNbB+fj7-6u@M{71#nQtu=?OFQ9&RFno$T-q>#PyrM(GTh$^`rY;3Ibi93n zx4hde+wMXVep!&ZIfSZFv-n2gVgGz|RDW-jH}b10!)ytTX=q+=TBIk+zh0;--otGW{Keo#| z-*r;!=Ej)R?i@PJjY*doHjvA%A&0f`&d3S*<$h?_3w(3<5t3}AN8b;?$AhwEz&Ze@U4#49j|RP~k#jnaP3L|5OT@8ZsX~YppyahA*;? z==eIN$NKmRA@eWI(OV##@m1qqT{UNFyc(Fc5mF$>m4l}b#vMJcEbxv1G&GwQ>3W6}=BeLo%3 z2XGizFHnHrLJ6q7NQZ8S zBc1==L-AY}6XWp)mW{fb?xxAPT-0rao*LJYrhu6$6#xdJ3;8=5AH6^_&_=BrMskXP z_FdzD8e@vGDuk~JfuCxl&ACp$z^Ob6X|+GT5ore@MJsm@^_MDnQ7GS_0}dhoEnjsG zV@5b)NC*}jb4vIIDw(!H!>MIitewe-6@1R+w5mNUNA>M~pF8o_et$%`^YLj|E#<>| zlK!;_LYBTGkqOtao55;k==|aD!N;>TMa?!OiTr$BH~=N4@v!0{s8N8VPsp>j_C(Ag zf0^b1>+x^x#nmO3p_AqK%REyVxZr~;-CU#+ObG7x7eD>`UPUf-q=QU*OzErEU%wsr z8PD9(4eMcuKif5@asfDkm}Q5Mggkib={_=g6~@JazT0gm4Q03yG$Pw_pR-+=fu`gbQ)E(0UAJECmmhJUb`@QA|P)y*LG z1`|ey|G>LU!_PPz9Wr7g79lpg`^Okf9912<+Sg^blvP>S|s)-qVH2m&?RAWs|U z^h+)-VX^On*WN8nP_Ftw;&f^=kfi+mn=ep1NDVX#69J_sbP#0Y?p0@ZVC*@u)k46% z9q|7Md+VS$yWndO8Qfii1$TnG1_&;}-GjTk69^I@xVyXS5MY1+10=XR1a}Q&pS-{C z+i$mOtF~&2n)!!$?sWI<)2C10%aZr7Ee#A1QhmwpgQVS%1?}`ETgARa)J8tgcS~4a zz;t$6@Gx&CU-{Xp>l(VS2K-bfl29ShArV(}=g^Poem&0zr}-O00Mdx{sC4c`5RqG^2Vu-xqW1`W>d0vIqYtp z0fO%7Wj7q>b68}@%ikvyhu(WDhu3II<%aZeeT_U-FQ8r%ru7ccN_{iu zQy{9%S-lt#_RbvLQvNG%w)Yg!Ai7L0420Khvw=~>ys_B-jOrJq_sDOE;Tlj7B^sw< zJ~EARV&vji)U6LF!)3$HbjN>;LSyFTNhmr{T~tF{2wb=bUG9{ppF@%YpTSF*1{=WEOg=MW(f#`_e%F zuK4>f?R5grewKH3f+s4BxwwZso(x3^p6mQ)G_fGMwDlg+`k+(2p4-ufse==MQ7p>W z4KF;_ak-GOH^s@Gl5kZMI2bW;P)y*-l!t@?P>j6bnc(|6a zeIs6IRi!25&vR|+=WhdeT0IAqbh_790TZG>Q;xI3-KRF?(%%e4k=<<$frprP6`1xM z(%ZxiC0tF{Z_FTZ<#W%UD*fJw&t3b92wm9%mS{OPXTqZ=B$`|byRY+sgP#)$mwnSK zQ`;Iqr5P~|aZ;wd~I_tTO9o^HXl5G2s=H=qJ`i$s;Z1$~;pD z42+rRbv4Pi9o_B=F4j}k#D~>SZ1=&#wfnEwxO)Afo}zTf#0+kq=1;-Kw8)GfX@B7|nJ%}9Q=mo*$TJ|&pn>MYD`7$mUVJ5< z_UlElXuih-2~qbwr$RWo#E-C=izrE)xn7(M8%(_r%F$<`m9_<$pU4w|2p|<3`jrHA zQ$=o`j}y!eAWJB5R-}FK-de|Q`Ml}4Xm-O(Asexn_QX_YOp>;4k2MqY?}e4F%OkF~ zF=?j%d<EnbYs7}+!vDWOv<`oP43zDz+rZC5ugiys0^ONk$C zo+>tC+5}|o?+9DR14I4ryua~~0haT?#Y|)FRHP2uurFm7I$AyP_9J?{!&?Qg;DI26 zx=#|LP(~)0&;vW5Ky*re>{5*n*8N9wKyd+0P%ML#p-|sMJso2a?t4omuFNjgwk46B zTQ2UmS=G4ZiTyXZGaVL#ZZ*$a=Ac`i=n99-;0hvdC*3H6V9p4Ph4TUU_LHH^qlbUK zVAUi~FQK~e3`}bdeIBD1gDUPd!T7n7du#m#=AjV-`tNMXn-tv)1wUIR_ZwMjC7Q2I zBi3ZKl7)gssmGC!$_%a_zQ8XJaTr*jqccT7!oKMKthIu{`Yz@P%@q39~(%*^q2y7lo9o?n3#a$jo^+fntVmOg#NrHnn<^S*ZeT z?urFgslkwm($ywqkA2H-L{g5(_RY%WXmx2Zp-DZC?sZUV ziXC!`Q~}ddC1-($`9L();E5zLd<5jZcRRB5Iy^+E$6#o!1hK6@(cRhLa^%KHPM+m-k@hih(zT4G%om9^;Q(I5P)$=x4@yvi z`2j(r+K>dqvN4T_NtjxDFRD$0;45gcE40!e!!PE^1$bfHa(m8BMR4-!T_{NE;Ct{& zOjj5B!yi&$XrUCqnOD^yeMY!jo%x~&N#kR$$L3DUU+W4*!T7F^%uW9NO9ZlE}_-zrdYkpo#fqTPPNw6h!(jT6_DsCDx=HY(5m)|8JZlMkj!L*vPnVUMGvSuY2T2&-8 zg9=_3@3}A0RhA@vvNfZR;fWUCn3pU4y#3*KVyrvzP+#+zZM}1+529P z037bybpEnXW&OEdD_VR*-;T_37Oq+IYJ&0WBl%1CMKUdM`xMh|&LNX=e5OuQ)MDfi zCyFt%mB3x-Ita`>+$M-n)}HeIkX1|m=XyN7?pp}WPMCmeJhUm#40y&Sa|ip3-$q4-}jH3vqA>Ip(fA(8FMQQ63I<@oEBY_ zZ#EyVnrDeY>{|;WP;kIIy>a(+W%zm~0$*oznzAcg${Q`1b9ZG>qsx!2*~i-CJwvE9 zIRWOU24;R#>Y{Gp>R@TqHe$zcPvzJix_5RmHJ6AD)TX@QY#O_o^}dkkb8*3v!Fe;- z)oDW7d5fPz65|HAV+Qj9QOHPL`je7BI@TZrGfl8baB?#ZoT$?Z1B{&VnxwMP61fBf z+WTgvV^n}UmYr#tvB?NboJo8OwQGqo%r{Sc8Xb-{M@NUV#2iJ4_@zM8(k;K!15MQy z!6ZV^km27*<4wn3s-#%`;WqjWtai zfd8$56r=X-ktgP?KYo(I2J@@uLF(ugD>GZ@CQrC~LI@=qV)*L&lE61Y(|D!UanaC1tqGz@AvFI+M@#CWf44O7T|y zh!>Q7ek8^nyKe%H?@k3ox^=V003m%WE|0i7AaeCBtt~AsY=R{pI33V&Z45%)s1HPq zKHY|^&9!>>d7Vkrk9c7!7?o&peS(tHPKDU6_Ag73QOeHt*k25opJ|$*dMvEUVJMGD zgru;))i@zPNND|F+lzV`O0PY8WE_X({9lP7%qN1q=txmS+aAH<%vDi>bK$zY*UF!& z%0GS$ltu~R{favXdtF22QbmoNGi86KPknW;aY(gjF0>qMRI^G8+Fzp}!WodiaZtQK zQg;J0Hc)-)K>q#5mlcT@8AR7N^+#z)kjCguy2m?jJtR`Y4V;;^mo;EqRgIIkE$lN| zw_3;mRu8w1zSls^-DleJneVaR;|ShNUlhn_kxw@}Y@zcY<)w7;loSkkXB@kJUeGKn zT%`HU52z$!cfEIlyWCgpX#8flw!TXzO zYvfOA2cv;`=|zc9DQh;}L9u(<8pPPiN<~T}WP|0&az^+b+z}?xoO#{-sN$Bm?2t71 z`)yJQ{pO!^n=t;+_6k=q%}iw9J2v0QtJgvpE8>!_(M!S*b+^Bz!OV4=aq-URu&L*q zodfnM~$tRdWD zZ!KotNKdl#%><0`Y2l(3lW7EMG{aU~3U=Q>Oo}dFqWOM%q9e(!=a0bHBoYqgO^zx3 z^&s4N6ew*}h_YRVSE|Bl`H_V_@>nb+j_8EaFCiU>7te!v_JsIg-E0ciT+! zS9%_Pi7E;(`NM3!EIC&2sPG@*i5Vl{AfFw+e0MZseUD@W81)4uX?@MJX4KU7Z^A6t zd2GCS!4*`rrCH7tiMEqw$C~ z4mLK23!3h*6M0F@4${Yngqq!gQy%svS%}P*Iw)i0_}ic}ZV5N>ygKX{l|)0R>rx-h z`}f#-&TLG?+sMD&c#FhGi&+$}HW?9c>7tW`I(tAx=!Tozu*I(8iP}4M{I4K+8?{1w zQ)xt6D)>@XR+6@xNa_}PZ8cDoWU1Qim@d{V?6`su8We%UiG5xlGizTgy*IwLr>UL! zE-{Km4ZArH3DXpnSJ=r+Yj=T2kZQIgm;uo!pw8{vEtOGNa96Jq98PlMPaVW^*#${h zE;THSitqh^JcJb9z6ON%{)XzQjPyYBnb-Qok09wd)#_b7yPYr-0vV&ka7ZUs5Nf-C zc>!-A#R@bXzGWy=SsulJcC*E!NuuXx6dXb|FRez!2}!L~o2N+(vUcNLY)cryc&9s_ zi_dL-_c@!0!h;@n^ujmdr$@2L70+k#k zL%kBsUd1ePmbe+cZebG(-A6mK?jdaYfV}G*p1YgQcQAM=> zf)bVZxaA5>f(5B77>po zz`GHFbXoX*v?9aVylEJl*@EI@=tV*?O~nWcdRT7t@5kYQ%MoQ^=f1e28NifSHw=eP zFyf#rCyE&yq%;>7s|mC)eKMS8ftBTJ;iM+ch$f`R7waAj!(4n|+|`g-LMSG&W_1J8leS$S}jW z{>^`1G=Eit8${kz_fX2WDkF9x;!BM;Yk=U4gxOYTAi{g!God{z(EbHK? zQGosU>GGvOx6g+~fp`aUe%4y88b&T9yobV~A<`Q>F(T$!`qv}mUc8I^+|LhXR__O6 zJ4nQR7&hQI;neE&Mx!jgYFbi_-xFm_~f-?6h|?9a)blJbbVIy@roapaDCK#r&O}?{P)sTXK@7+ zyso3@=~}+}XYAxHZ~sq{X{G?%K31p#PK&#s$bFRUO-R{uqhj#(f`1ndMseqdoyaUz zqyVP~8+JXm#^~h>QL5H8?PPU}EE($@E3&uC{mz|aA`y@y`no@$Zf0aL{MIlj?k>PVi2k?AL7#&ZzaWVzM!dxbvklkEuX zf{+2Bng$JWya9oup4%FC{`{W>4yDW*Ui9-tFk({pN>ej+7T06Sx(&DO!tQ&<`c7T) zmoH7SXvHCalHF^N1(H-|ykDt!ArGtlyETl7fi)=b?}UWZ^<&^Pbl=e0YkoC6wr0Bf zP9G$vZypuG%jYFUH$`=!1WzOLv6PGA86V#fnO~$En=-%$0Z}EM-EmnLO>eV{h;XxM z;b3zh+k0!KwHxP1N>v|#8$yNRo`g3uVOKJGu}y9<2rU%)v&V?7T_yV5kF1Bon7K2U zfwSyji(6Im=*|`}GDPpL4+ya@ zdMt!=VI>$%Gs|uB8&bzLZZV-Af`@!ZEmyo^kR1hEtV>tDS4URy`k?7EqR$)+B6yhO zg3R7K9c!)XN6NM%-~)xbzDh#4kJR%5GGrKPe=^6ice>4-x7cHic=v6f*A{g0fD{2- z45R4$Au*H{Wng%7M6N1rgPAWHGp7JnUJ9R_kB{;V+;zgdqI$JkIPcmI8z-@sYdZIF zLaoc+_s26b&tgd*pI|5)-uA5<_PHZ1T8UMfi8%&{k%f`Ak?R;=?j$l1n%4j<*sg~K zj{0(BuKAe4MehT6M8ikffJjmu-v(L)3?atg%VXv|d+YyMQ;IplD^RA_M+!Qr6ARf1 zD4EmISalyqaGv-+a&8h&_x#Mz#qwtC)wld|Qn=mX8X+3^T>9tlNw06J;hZm9-&E(E zdo^!M$$SV*C^nTWx32^QF?@0tg<*gs$W{A9z}O2{`15s+0AFU$RkA?Ji}Cj2x!}%q zbBYc4!mRQ6J%AW8mgFq=PW@3KSO!ur#0>nw6{b4MB1HMvJhK{~mAMPQJre#Elf zgGJ?5ngTnWQg?UDSm#SC&+E6Y9bZCq@BRB*1)hmkPc^n#`u&QfrCNVvIXr>Mqlxud z5LACuJ|kmf^`@4IZ_v(nS9h!DF4JLP*QPBCWl<)SOZ#p1#M^S4OZ=G5w_ts@28{l) zl?*+0!UM|uYf>uV-kR}g!_X=R)4lwm%clkTu1jUMGADx& z3yzLSkvD>q!(_0>H?gub-|b=xeNQr1|6S|`UP{@cEV5e3)oXb z+;rqK&QWNk)!v|?@+p}c^J`lt%sn~S%wK5^rlHx0A-XFjjjxhj>BVK=?S+qaaY@G9c-n!g&e#k-cj ztzDSuQuIjTwRO~Vp*DpU!=2uj)r+TQIG$j%idY!!+dGa|xDOL!&8Kp>zlQ8Q-Ua%> z7q*>R^J&*=*U_3wLrF7y&LPk3)@D+Hgh z##Pf6VIE+}5@&1T z*m>A02De17?q+_XQ6*A}8c!?t$S2^$Sc6r4k!^ z?9W%$Rx&>nTb|F=+JMPqT4~U?>&S+x)!*OOo#tooZ+|gNP@d~{RWm$ckvkFag2~8K z>T&q|yCY!iy2E_z+EaPc?o;2G`|_OQZ4UP*x+q+mHa{ol^PN^7{*J$C_Lk7D`{bnk zqApwi^op-;Mp=P&pa{&vv@CY@W;s7>&;E0Zdb4F3m}VJv>y=rIW4~)-_iB_JD|IXM z{k#>@-^hv+J5=>w&Eu>soGbPS4sC=>JcEDVJv(8lsIxhf#VtQ%zt)Lt#-yLV-jUar z+8Aq7Zn&Z2#Q1J5XwAl?^+q8rYJ1zy6mmJA23#%EB-Hp9=8nPew~CDV4B{MS#Q0Vt zS-l+prj7V{>BlEN*_gWJBbvE$n+jdv#w6=D5#S(i+QJ%-djFGb9sYy#t?o6?J$dMd z&E@p;tu=80Bx%hxTPy}`C3NV{Ks)8oFCEJJx#$RqQK3Z>Ki$>b3an3)9l-g6+1*JY zb!7fCo^LYhQForJ!awTKu02``mv?2u4c@&TOKP#tRHbwpa@b@+8ubIj+d zTJyH^qEwXW9SMd*1bHTpq?`hsn)ZjU_;_EI1*z7ue39@9S6t$0e8WTK8+f}Cad zK-9${2uO6hbH^h=P88-e`(F>{nCnMgJl3Z4;`&AVeU0pfB!5T`&pRSje8ns#(PwK4 zG=96R?NJK{MYDsbhHE zQ~J2D%~KdA-KpUY4`^w2oX_|AyqxR~bHGW`>En9z53RCVUtBvRl(0yH4^pO z;dwB8XcrS$F)3dg`He;3u`_(c=3^X8B%|MU4?^)Xu_at!d%Cg^pWg+v6pZVf)@9kAGTBK2+0FD*SZK%)Y+4cj0AX@($`CWqAK;cTZpS z_5i}4V=z)KSaZy-yh&VNc?>Z_Jgf309}=0*zKhcTaqWj_CBc@MwZOv8=o^n)9h>p| zS<%f{!hA>s*Z1}*#KLiX0|on2rqU$}CB?1~lx9c&U{l)%) ztewpdZ(>?_<7F4p4c`OfFKjug{sJH=#tz(@Wh{LI?3X{Mir_YSMWzYv8G8l4R^}{d z*Il!BM^Mg|t9}gx>lSM}L%>9`Ekqy)J0mZqGiIo((8%YyN%?T*M?!u(5Q}`qO=NkQ zyEy|?J6YBzg8WdadcE%4XZ!4}6nvg!n<&I0$5;EMbx)#|?w3CE+ezfDhTh^yDYas| zvrm8=c{Ll%MSQ?*5Wjg+F8g-hw)%&1$N6sM=Mkc{WLd@C~l*(WBvYmv$yY!=t^ zH*E3_QCV7ulZwDPv!D&G;|i;*Zk`5xEO*R4Dw2rq=1N?IC{Mps z?M*hWCrK#3k9H+bv+`VUL@<&dvVJRQmgHN^;?mtah-1d^E^Fije__k^y|k;VZIOD-U&qHKl_~KhOK8HDpZW$ zON9w{>Y|~87rLs;(qptx)|^3j{x@K5og5{9Mo^e@Lw^Io&7ocA+n!f{gUT9D$9ksU z`+~pcvVPifsHzMeO=0m zbK}>f05ko`vM;O6b^k<{l4B29cZVu>^SdXhAueXwpD*-R&b*hCSX9f* z^U?TAl`!54i-s`tIUJm-AJ*6Omy?e@_`3t#!C&hN72ft)W9@omcPCsAjIz?TC*NNE zlewYcIEUvyuI|{}>u=}bG;&YZ+S;<;tWO61?qWYCo%}H3Ui(AVE=5;*xn%WBt^QKT z+$qKF*yP}tC@G`7mYIK;P=?Jro-IWGj3m3HD(5OpI`89NS|ea+&HPz6seu`OgYTz_ z^#iw4bs_X{HBWd{Bn^94DGyNLdo#O&(`us#&|N8aFcZh*v!c+;AaAhOkN{(12H@iwzvz0f$eS02WwSM8~^cofxl4AMKgYZ`{3&RsPz; zJbp}QAkn&-Fsb>gy`Zrq4G$Ibc(LVPEPx%cy!$7GN*&jV&M;P;_?MB508p2#4wBTJ z+S|i-d01+1p*^tt{yd9vRUa69%_~sVk0GZb3;MckmLuzC(Wkw(oL^&nMfax@*`D4k zl187t3{jghGfR5&g=X9P43V|vu6@kKaATU>w{~GXpl7nFv36h3tu@QpQF3M=(W*-8 zhVa$H$!k^-rkxtakm|J)c%&qu*-!bsJU6Bp!C?vu|6*-jHEd}}bsrZs?JeWN0mAS~ z7m~zH=AZX3_i$II!2?fFHs_Y^*T}xR3x?!H9utNpX&E+nBYOw_6{!)L&%aYcjl>&l z{+DwWgF;tk20>DOropcJntg9}2E-+@m-J5$dBcYf+fI9BXFaKp?l6z(Kh%F^iu+PH zzd7zSO*}Pu`N5ZuPwO0l;_DQ0;)wmVfaAAdeEeHgQ{QvfXPcmXi^_dIuJ$`cZu`Vm zU&9RRuO3c$&QMa;(@!)9m$=u2{N@SwVYOw0b~FdTzEobsfBvC;f1m`kL;gjP6LM

lNrsdGRl`S|VImr#e3qazmD{md?>ukpFl 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 P@JC%m`$>tCMezRxFg%E^ literal 0 HcmV?d00001 diff --git a/android/src/io/github/lonamiwebs/klooni/AndroidLauncher.java b/android/src/io/github/lonamiwebs/klooni/AndroidLauncher.java index bd09751..96b3c6a 100644 --- a/android/src/io/github/lonamiwebs/klooni/AndroidLauncher.java +++ b/android/src/io/github/lonamiwebs/klooni/AndroidLauncher.java @@ -7,10 +7,11 @@ import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration; import io.github.lonamiwebs.klooni.Klooni; public class AndroidLauncher extends AndroidApplication { - @Override - protected void onCreate (Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); - initialize(new Klooni(), config); - } + @Override + protected void onCreate (Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + final AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); + final AndroidShareChallenge shareChallenge = new AndroidShareChallenge(this); + initialize(new Klooni(shareChallenge), config); + } } diff --git a/android/src/io/github/lonamiwebs/klooni/AndroidShareChallenge.java b/android/src/io/github/lonamiwebs/klooni/AndroidShareChallenge.java new file mode 100644 index 0000000..cdc14ac --- /dev/null +++ b/android/src/io/github/lonamiwebs/klooni/AndroidShareChallenge.java @@ -0,0 +1,51 @@ +package io.github.lonamiwebs.klooni; + + +import android.content.Context; +import android.content.Intent; +import android.net.Uri; +import android.os.Handler; +import android.widget.Toast; + +import java.io.File; + +class AndroidShareChallenge extends ShareChallenge { + + private final Handler handler; + private final Context context; + + AndroidShareChallenge(final Context context) { + handler = new Handler(); + this.context = context; + } + + @Override + File getShareImageFilePath() { + return new File(context.getExternalCacheDir(), "share_challenge.png"); + } + + @Override + public void shareScreenshot(final boolean ok) { + handler.post(new Runnable() { + @Override + public void run() { + if (!ok) { + Toast.makeText(context, "Failed to create the file", Toast.LENGTH_SHORT).show(); + return; + } + + final String text = "Check out my score at 1010 Klooni!"; + final Uri pictureUri = Uri.fromFile(getShareImageFilePath()); + final Intent shareIntent = new Intent(); + shareIntent.setAction(Intent.ACTION_SEND); + shareIntent.setType("image/png"); + + shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, ""); + shareIntent.putExtra(Intent.EXTRA_TEXT, text); + shareIntent.putExtra(Intent.EXTRA_STREAM, pictureUri); + + context.startActivity(Intent.createChooser(shareIntent, "Challenge your friends...")); + } + }); + } +} diff --git a/core/src/io/github/lonamiwebs/klooni/Klooni.java b/core/src/io/github/lonamiwebs/klooni/Klooni.java index 3b844e9..b60e7d2 100644 --- a/core/src/io/github/lonamiwebs/klooni/Klooni.java +++ b/core/src/io/github/lonamiwebs/klooni/Klooni.java @@ -21,6 +21,8 @@ public class Klooni extends Game { public static Theme theme; public Skin skin; + public ShareChallenge shareChallenge; + public static boolean onDesktop; private final static float SCORE_TO_MONEY = 1f / 100f; @@ -32,6 +34,12 @@ public class Klooni extends Game { //region Creation + // TODO Possibly implement a 'ShareChallenge' + // for other platforms instead passing null + public Klooni(final ShareChallenge shareChallenge) { + this.shareChallenge = shareChallenge; + } + @Override public void create() { onDesktop = Gdx.app.getType().equals(Application.ApplicationType.Desktop); diff --git a/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java b/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java index f61ec83..1ce1f94 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java @@ -19,17 +19,21 @@ public class SoftButton extends ImageButton { //region Constructor - public SoftButton(int styleIndex, String imageName) { + public SoftButton(final int styleIndex, final String imageName) { super(Klooni.theme.getStyle(styleIndex)); this.styleIndex = styleIndex; - image = Theme.skin.getDrawable(imageName); + updateImage(imageName); } //endregion //region Public methods + public void updateImage(final String imageName) { + image = Theme.skin.getDrawable(imageName); + } + @Override public void draw(Batch batch, float parentAlpha) { // Always update the style to make sure we're using the right image. diff --git a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java index 10c4cea..b21f85c 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java @@ -1,8 +1,10 @@ package io.github.lonamiwebs.klooni.screens; +import com.badlogic.gdx.Application; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputProcessor; +import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.math.Interpolation; @@ -13,7 +15,10 @@ import com.badlogic.gdx.scenes.scene2d.actions.RunnableAction; import com.badlogic.gdx.scenes.scene2d.ui.Table; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; +import java.io.File; + import io.github.lonamiwebs.klooni.Klooni; +import io.github.lonamiwebs.klooni.ShareChallenge; import io.github.lonamiwebs.klooni.actors.Band; import io.github.lonamiwebs.klooni.actors.SoftButton; import io.github.lonamiwebs.klooni.game.BaseScorer; @@ -31,8 +36,10 @@ class PauseMenuStage extends Stage { private final ShapeRenderer shapeRenderer; + private final Klooni game; private final Band band; private final BaseScorer scorer; + private final SoftButton playButton; //endregion @@ -40,6 +47,7 @@ class PauseMenuStage extends Stage { // We need the score to save the maximum score if a new record was beaten PauseMenuStage(final GameLayout layout, final Klooni game, final BaseScorer scorer, final int gameMode) { + this.game = game; this.scorer = scorer; shapeRenderer = new ShapeRenderer(20); // 20 vertex seems to be enough for a rectangle @@ -90,8 +98,7 @@ class PauseMenuStage extends Stage { }); // Continue playing OR share (if game over) button - // TODO Enable both actions for this button? Or leave play? - final SoftButton playButton = new SoftButton(2, "play_texture"); + playButton = new SoftButton(2, "play_texture"); table.add(playButton).space(16); playButton.addListener(new ChangeListener() { @@ -143,6 +150,16 @@ class PauseMenuStage extends Stage { } void showGameOver(final String gameOverReason) { + if (game.shareChallenge != null) { + playButton.updateImage("share_texture"); + playButton.addListener(new ChangeListener() { + public void changed(ChangeEvent event, Actor actor) { + game.shareChallenge.shareScreenshot( + game.shareChallenge.saveChallengeImage(scorer.getCurrentScore())); + } + }); + } + band.setMessage(gameOverReason); show(); } From 5adaf8915c29e5b705ffbc24b1790f5228c8e6f4 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 10:54:48 +0200 Subject: [PATCH 07/13] Update gradle --- build.gradle | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 51d2020..cf9b08f 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { } dependencies { classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.6' - classpath 'com.android.tools.build:gradle:2.2.3' + classpath 'com.android.tools.build:gradle:2.3.1' classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.0' } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2d5bc7c..c69932f 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sat Jan 21 20:46:40 CET 2017 +#Thu May 04 19:58:22 CEST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip From 23d349d081d62ced427589050350e9c64d99e583 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 11:43:43 +0200 Subject: [PATCH 08/13] Fix build on non-android systems --- .../io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java | 2 +- html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java | 2 +- ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/desktop/src/io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java b/desktop/src/io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java index dbd83d5..f9f2e3b 100644 --- a/desktop/src/io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java +++ b/desktop/src/io/github/lonamiwebs/klooni/desktop/DesktopLauncher.java @@ -14,6 +14,6 @@ public class DesktopLauncher { config.addIcon("ic_launcher/icon128.png", Files.FileType.Internal); config.addIcon("ic_launcher/icon32.png", Files.FileType.Internal); config.addIcon("ic_launcher/icon16.png", Files.FileType.Internal); - new LwjglApplication(new Klooni(), config); + new LwjglApplication(new Klooni(null), config); } } diff --git a/html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java b/html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java index 2229472..cdb4719 100644 --- a/html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java +++ b/html/src/io/github/lonamiwebs/klooni/client/HtmlLauncher.java @@ -14,6 +14,6 @@ public class HtmlLauncher extends GwtApplication { @Override public ApplicationListener createApplicationListener () { - return new Klooni(); + return new Klooni(null); } } diff --git a/ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java b/ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java index fc18d90..0a78b49 100644 --- a/ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java +++ b/ios/src/io/github/lonamiwebs/klooni/IOSLauncher.java @@ -11,7 +11,7 @@ public class IOSLauncher extends IOSApplication.Delegate { @Override protected IOSApplication createApplication() { IOSApplicationConfiguration config = new IOSApplicationConfiguration(); - return new IOSApplication(new Klooni(), config); + return new IOSApplication(new Klooni(null), config); } public static void main(String[] argv) { From 5281be4dd453aa9278954287418882eccdacc64c Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 11:44:03 +0200 Subject: [PATCH 09/13] Update resources (palette, add original share image) --- android/assets/ui/x0.75/palette.png | Bin 1448 -> 1121 bytes android/assets/ui/x1.0/palette.png | Bin 1954 -> 1566 bytes android/assets/ui/x1.25/palette.png | Bin 2442 -> 2040 bytes android/assets/ui/x1.5/palette.png | Bin 2948 -> 2542 bytes android/assets/ui/x2.0/palette.png | Bin 4021 -> 3584 bytes android/assets/ui/x4.0/palette.png | Bin 8282 -> 7727 bytes original-resources/buttons.svg | 175 +++++----- original-resources/share.svg | 482 ++++++++++++++++++++++++++++ 8 files changed, 556 insertions(+), 101 deletions(-) create mode 100644 original-resources/share.svg diff --git a/android/assets/ui/x0.75/palette.png b/android/assets/ui/x0.75/palette.png index 0c421f660b192334660281987f0e098700ba8e4e..5d2636069628b8d191551f93975cd9e4f6974e86 100644 GIT binary patch delta 1026 zcmV+d1pWJ{3*iWmZGQvaNkliQHs#2!0M&IRe!*Fz+zwtFa;b3eg#H> z{ULO<9NL)cq|m9%n#Z*i7S#)OXupyp}Qbl4h7+r;e92vqybWU9aAtZdHHFq5EB3 zTgLnY>SRgt+ke&0gxE{eFLLOQsn;}O{#mtB()@@STcmov(RNyoqw1=n=Cc?#T4-;m zqZ#Aw%Q4r>ITBFat1il8{)vnrm6_z`#WW9^{HR@=W4?QGCZM{rUa(&ER7QYTGPGOT zkbvqVX@M?O4`&D~>aq+YT}BJ8mS#ReRsK>JCk6VTj(_lQ4l`fHG|gJXakj++-J3&n z(uD0W7U%l}-9VDgXdC^!0rRSVsAp9JbsE(mdAK9P{A$y;-BI;%wMX5cK5xDkSr)z3 ziTetO#!XlUYPb4zNkc_>ALjqTr144hIdwtC9P^Fd z;%V$aJ&{GMe51aECNMIm@@L564FA2X*0$-wT%DB}pCPkakG}?)~vS`L8AC%s! zURp1J(V^#HOj}VOP7|DC)OTqIL+XkYA8XXN zoW0H}>X!KU5Elc(L|;@|O$GRt=u6EB-~wPR$%mo|U~>pzN8PCEwKmozXcdF%<%Rwl zb%n{@g?93TdcO^9yVWGR)z>WF+%3Yi`g@VlH?z$4O_4-;jCPJzvR8e{W_--ZNaRL! zr_Fg^oHpv%ZMA{YqLxNp>*oS@5;X&E22$(!8YX}-;2U5F7!DyEFFJP;rMeO7*}xiL wHLw(@_U=ytM~SM)J-~qwf@S8KV~!T_FS5d9B~4-$PXGV_07*qoM6N<$f{*P0rT_o{ delta 1356 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 Z9~4y0ok+C9jH3Vm002ovPDHLkV1f?dzLx+1 delta 2868 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 delta 3949 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 literal 8282 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 diff --git a/original-resources/buttons.svg b/original-resources/buttons.svg index 87900c0..b4643dc 100644 --- a/original-resources/buttons.svg +++ b/original-resources/buttons.svg @@ -10,12 +10,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="500" - height="500" + width="533.33331" + height="533.33331" viewBox="0 0 500.00001 500.00001" id="svg2" version="1.1" - inkscape:version="0.91 r13725" + inkscape:version="0.92.1 r15371" sodipodi:docname="buttons.svg"> @@ -102,14 +102,14 @@ borderopacity="1" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:zoom="1.4142136" - inkscape:cx="45.55858" - inkscape:cy="225.22462" + inkscape:zoom="1.1041667" + inkscape:cx="228.62228" + inkscape:cy="19.981203" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="false" inkscape:window-width="1366" - inkscape:window-height="744" + inkscape:window-height="742" inkscape:window-x="0" inkscape:window-y="0" inkscape:window-maximized="1" @@ -118,7 +118,11 @@ units="px"> + id="grid4248" + originx="0" + originy="0" + spacingx="1" + spacingy="1" /> @@ -159,7 +163,7 @@ inkscape:export-xdpi="90" inkscape:export-filename="/home/lonami/button_up" style="opacity:1;fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" - d="m 4.5449252,998.2813 c -2.8585,3.9506 -4.5449200236115,8.8096 -4.5449200236115,14.08 l 0,16 c 0,13.296 10.7039998236115,24 23.9999998236115,24 l 16,0 c 4.9535,0 9.54683,-1.4871 13.36133,-4.039 l -27.91016,0 c -11.58215,0 -20.9062498,-9.3241 -20.9062498,-20.9063 l 0,-29.1347 z" + d="m 4.5449252,998.2813 c -2.8585,3.9506 -4.5449200236115,8.8096 -4.5449200236115,14.08 v 16 c 0,13.296 10.7039998236115,24 23.9999998236115,24 h 16 c 4.9535,0 9.54683,-1.4871 13.36133,-4.039 h -27.91016 c -11.58215,0 -20.9062498,-9.3241 -20.9062498,-20.9063 z" id="path4252" inkscape:connector-curvature="0" /> @@ -209,7 +213,7 @@ rx="24" /> @@ -272,42 +276,11 @@ width="64" id="rect4218" style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:0.1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - - - - - - - + buttons + y="836.78644" + style="font-size:15.69341087px;line-height:1.25">buttons cells + y="799.33905" + style="font-size:15.69341087px;line-height:1.25">cells @@ -634,24 +607,24 @@ style="opacity:1;fill:none;fill-opacity:1;stroke:none;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> @@ -729,7 +702,7 @@ @@ -757,21 +730,21 @@ transform="translate(-357.12497,7.2166511)"> + transform="translate(-340)"> + transform="translate(-350)"> measures + y="587.79303" + style="font-size:40px;line-height:1.25">measures 2px radius + sodipodi:role="line" + style="font-size:10.25197601px;line-height:1.25">2px radius 4px patch + y="668.15973" + style="font-size:10.25197601px;line-height:1.25">4px patch + transform="rotate(90)" /> + transform="rotate(90)" /> 24px radius + y="600.63055" + style="font-size:10.25197601px;line-height:1.25">24px radius 28px patch + sodipodi:role="line" + style="font-size:10.25197601px;line-height:1.25">28px patch @@ -1099,7 +1072,7 @@ + transform="rotate(-45)" /> diff --git a/original-resources/share.svg b/original-resources/share.svg new file mode 100644 index 0000000..fbcbf6f --- /dev/null +++ b/original-resources/share.svg @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From fbff065a8d00919ebb928c5a8c38d6a77c762c71 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 15:40:13 +0200 Subject: [PATCH 10/13] Allow customizing both button image color and text --- android/assets/themes/bandw.theme | 4 +- android/assets/themes/dark.theme | 4 +- android/assets/themes/default.theme | 4 +- .../io/github/lonamiwebs/klooni/Theme.java | 22 +- .../github/lonamiwebs/klooni/actors/Band.java | 2 + .../klooni/actors/MoneyBuyBand.java | 1 + .../lonamiwebs/klooni/actors/SoftButton.java | 2 + .../lonamiwebs/klooni/actors/ThemeCard.java | 26 +- themes/generate_theme.py | 4 +- themes/template.svg | 421 +++++++++--------- 10 files changed, 240 insertions(+), 250 deletions(-) diff --git a/android/assets/themes/bandw.theme b/android/assets/themes/bandw.theme index e121e7c..fa1c91b 100644 --- a/android/assets/themes/bandw.theme +++ b/android/assets/themes/bandw.theme @@ -3,6 +3,7 @@ "price": 20, "colors": { "background": "0a0a0aff", + "foreground": "f0f0f0ff", "buttons": [ "4d4d4dff", "4d4d4dff", @@ -18,7 +19,8 @@ "current_score": "b3b3b3ff", "high_score": "f9f9f9ff", "bonus": "f9f9f9ff", - "band": "4d4d4dff" + "band": "4d4d4dff", + "text": "f0f0f0ff" }, "cell_texture": "basic.png" } diff --git a/android/assets/themes/dark.theme b/android/assets/themes/dark.theme index 654e204..df7b253 100644 --- a/android/assets/themes/dark.theme +++ b/android/assets/themes/dark.theme @@ -3,6 +3,7 @@ "price": 0, "colors": { "background": "333333ff", + "foreground": "ddddddff", "buttons": [ "03c13dff", "007da4ff", @@ -18,7 +19,8 @@ "current_score": "c83737ff", "high_score": "d400aaff", "bonus": "e3e3e3ff", - "band": "2b5ccfff" + "band": "2b5ccfff", + "text": "ffffffff" }, "cell_texture": "basic.png" } diff --git a/android/assets/themes/default.theme b/android/assets/themes/default.theme index 595d0e6..ee6b2c6 100644 --- a/android/assets/themes/default.theme +++ b/android/assets/themes/default.theme @@ -3,6 +3,7 @@ "price": 0, "colors": { "background": "ffffffff", + "foreground": "ffffffff", "buttons": [ "00ff33ff", "ffd700ff", @@ -18,7 +19,8 @@ "current_score": "ffcc00ff", "high_score": "65d681ff", "bonus": "4d4d4dff", - "band": "87ceebff" + "band": "87ceebff", + "text": "111111ff" }, "cell_texture": "basic.png" } diff --git a/core/src/io/github/lonamiwebs/klooni/Theme.java b/core/src/io/github/lonamiwebs/klooni/Theme.java index 12ff1d6..489210f 100644 --- a/core/src/io/github/lonamiwebs/klooni/Theme.java +++ b/core/src/io/github/lonamiwebs/klooni/Theme.java @@ -24,12 +24,14 @@ public class Theme { private int price; public Color background; + public Color foreground; public Color emptyCell; public Color currentScore; public Color highScore; public Color bonus; public Color bandColor; + public Color textColor; private Color[] cells; private Color[] buttons; @@ -84,6 +86,20 @@ public class Theme { return new Theme().update(handle); } + // Used to determine the best foreground color (black or white) given a background color + // Formula took from http://alienryderflex.com/hsp.html + // Not used yet, but may be useful + private final static double BRIGHTNESS_CUTOFF = 0.5; + + public static boolean shouldUseWhite(Color color) { + double brightness = Math.sqrt( + color.r * color.r * .299 + + color.g * color.g * .587 + + color.b * color.b * .114); + + return brightness < BRIGHTNESS_CUTOFF; + } + //endregion //region Theme updating @@ -105,8 +121,9 @@ public class Theme { price = json.getInt("price"); JsonValue colors = json.get("colors"); - background = new Color( // Java won't allow unsigned integers, we need to use Long - (int)Long.parseLong(colors.getString("background"), 16)); + // Java won't allow unsigned integers, we need to use Long + background = new Color((int)Long.parseLong(colors.getString("background"), 16)); + foreground = new Color((int)Long.parseLong(colors.getString("foreground"), 16)); JsonValue buttonColors = colors.get("buttons"); buttons = new Color[buttonColors.size]; @@ -125,6 +142,7 @@ public class Theme { highScore = new Color((int)Long.parseLong(colors.getString("high_score"), 16)); bonus = new Color((int)Long.parseLong(colors.getString("bonus"), 16)); bandColor = new Color((int)Long.parseLong(colors.getString("band"), 16)); + textColor = new Color((int)Long.parseLong(colors.getString("text"), 16)); emptyCell = new Color((int)Long.parseLong(colors.getString("empty_cell"), 16)); diff --git a/core/src/io/github/lonamiwebs/klooni/actors/Band.java b/core/src/io/github/lonamiwebs/klooni/actors/Band.java index db3e3e8..e789ac9 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/Band.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/Band.java @@ -65,9 +65,11 @@ public class Band extends Actor { scoreLabel.setBounds(x + scoreBounds.x, y + scoreBounds.y, scoreBounds.width, scoreBounds.height); scoreLabel.setText(Integer.toString(scorer.getCurrentScore())); + scoreLabel.setColor(Klooni.theme.textColor); scoreLabel.draw(batch, parentAlpha); infoLabel.setBounds(x + infoBounds.x, y + infoBounds.y, infoBounds.width, infoBounds.height); + infoLabel.setColor(Klooni.theme.textColor); infoLabel.draw(batch, parentAlpha); } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/MoneyBuyBand.java b/core/src/io/github/lonamiwebs/klooni/actors/MoneyBuyBand.java index d4f5088..59ecfd4 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/MoneyBuyBand.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/MoneyBuyBand.java @@ -182,6 +182,7 @@ public class MoneyBuyBand extends Table { } } setColor(Klooni.theme.bandColor); + infoLabel.setColor(Klooni.theme.textColor); super.draw(batch, parentAlpha); } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java b/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java index 1ce1f94..d79c7ff 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/SoftButton.java @@ -1,5 +1,6 @@ package io.github.lonamiwebs.klooni.actors; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; import com.badlogic.gdx.scenes.scene2d.utils.Drawable; @@ -44,6 +45,7 @@ public class SoftButton extends ImageButton { Klooni.theme.updateStyle(style, styleIndex); style.imageUp = image; + getImage().setColor(Klooni.theme.foreground); super.draw(batch, parentAlpha); } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java index 425202c..611e3c8 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java @@ -30,12 +30,6 @@ public class ThemeCard extends Actor { //endregion - //region Static members - - private final static double BRIGHTNESS_CUTOFF = 0.5; - - //endregion - //region Constructor public ThemeCard(final Klooni game, final GameLayout layout, final Theme theme) { @@ -48,9 +42,8 @@ public class ThemeCard extends Actor { priceLabel = new Label("", labelStyle); nameLabel = new Label(theme.getDisplay(), labelStyle); - Color labelColor = shouldUseWhite(theme.background) ? Color.WHITE : Color.BLACK; - priceLabel.setColor(labelColor); - nameLabel.setColor(labelColor); + priceLabel.setColor(theme.textColor); + nameLabel.setColor(theme.textColor); priceBounds = new Rectangle(); nameBounds = new Rectangle(); @@ -112,19 +105,4 @@ public class ThemeCard extends Actor { } //endregion - - //region Private methods - - // Used to determine the best foreground color (black or white) given a background color - // Formula took from http://alienryderflex.com/hsp.html - private static boolean shouldUseWhite(Color color) { - double brightness = Math.sqrt( - color.r * color.r * .299 + - color.g * color.g * .587 + - color.b * color.b * .114); - - return brightness < BRIGHTNESS_CUTOFF; - } - - //endregion } diff --git a/themes/generate_theme.py b/themes/generate_theme.py index 31fab81..6f3925d 100755 --- a/themes/generate_theme.py +++ b/themes/generate_theme.py @@ -16,6 +16,7 @@ template = '''{{ "price": {price}, "colors": {{ "background": "{background}", + "foreground": "{foreground}", "buttons": [ "{button_0}", "{button_1}", @@ -31,7 +32,8 @@ template = '''{{ "current_score": "{current_score}", "high_score": "{high_score}", "bonus": "{bonus}", - "band": "{band}" + "band": "{band}", + "text": "{text}" }}, "cell_texture": "{cell_tex}" }} diff --git a/themes/template.svg b/themes/template.svg index 30f717a..30891d4 100644 --- a/themes/template.svg +++ b/themes/template.svg @@ -1,42 +1,17 @@ - - + id="svg2" + viewBox="0 0 800.00001 700.00001" + height="746.66669" + width="853.33331"> - @@ -50,228 +25,234 @@ + transform="translate(0,-352.36216)" + id="layer1"> + transform="translate(0,-199.99998)"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + d="M 26.857031,798.76837 H 378.28562 V 907.33982 H 26.857031 Z" + style="opacity:1;fill:#00f230;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> + transform="translate(0,-199.99998)"> - - - + style="fill:#2182ef;fill-opacity:1" + id="export_button_2" + transform="translate(0,-199.99998)"> + id="rect4153" + style="opacity:1;fill:#2182ef;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> - - - - - - + style="fill:#ce4444;fill-opacity:1" + id="export_button_3" + transform="translate(0,-199.99998)"> + style="opacity:1;fill:#ce4444;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + id="rect4155" + width="105.7143" + height="108.57145" + x="266.85712" + y="921.62555" /> + style="fill:#ffcc00;fill-opacity:1" + id="export_current_score" + transform="translate(0,-199.99998)"> + style="opacity:1;fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" + d="m 106.16769,680.7189 a 20.572971,33.748715 52.281084 0 0 -0.3613,0.23047 h -3.5703 a 31.071428,74.892753 0 0 0 0.207,2.32227 20.572971,33.748715 52.281084 0 0 -17.67971,31.1875 20.572971,33.748715 52.281084 0 0 27.33211,9.97851 31.071428,74.892753 0 0 0 16.5234,18.62501 19.482912,22.977165 0 0 0 -14.6016,18.60157 h 38.4278 a 19.482912,22.977165 0 0 0 -15.1055,-18.75 31.071428,74.892753 0 0 0 16.3164,-18.47853 33.748715,20.572971 37.718916 0 0 27.3379,-9.97656 33.748715,20.572971 37.718916 0 0 -17.6738,-31.1836 31.071428,74.892753 0 0 0 0.2011,-2.32617 h -3.5703 a 33.748715,20.572971 37.718916 0 0 -0.3613,-0.23047 l -0.033,0.23047 h -53.3555 l -0.033,-0.23047 z m -3.2187,8.00977 a 31.071428,74.892753 0 0 0 7.5312,32.01562 16.78108,29.001088 59.891063 0 1 -22.259706,-8.39257 16.78108,29.001088 59.891063 0 1 14.728506,-23.62305 z m 59.8652,0.004 a 29.001088,16.78108 30.108937 0 1 14.7227,23.61915 29.001088,16.78108 30.108937 0 1 -22.2637,8.39062 31.071428,74.892753 0 0 0 7.541,-32.00977 z m -29.9355,4.67774 4.1054,8.31836 9.1797,1.33398 -6.6426,6.47461 1.5684,9.14453 -8.2109,-4.3164 -8.211,4.3164 1.5684,-9.14453 -6.6445,-6.47461 9.1816,-1.33398 z" + id="path4181" /> + + + + + + + + + + + + + + + From d34a566af324ace03a8485b665191d81529e7775 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 15:57:10 +0200 Subject: [PATCH 11/13] Improve Black et White theme --- android/assets/themes/bandw.theme | 14 +++++++------- .../github/lonamiwebs/klooni/actors/ThemeCard.java | 6 ++++-- .../lonamiwebs/klooni/screens/PauseMenuStage.java | 5 ++++- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/android/assets/themes/bandw.theme b/android/assets/themes/bandw.theme index fa1c91b..87d7119 100644 --- a/android/assets/themes/bandw.theme +++ b/android/assets/themes/bandw.theme @@ -3,12 +3,12 @@ "price": 20, "colors": { "background": "0a0a0aff", - "foreground": "f0f0f0ff", + "foreground": "202020ff", "buttons": [ - "4d4d4dff", - "4d4d4dff", - "4d4d4dff", - "4d4d4dff" + "f0f0f0ff", + "f0f0f0ff", + "f0f0f0ff", + "f0f0f0ff" ], "empty_cell": "000000ff", "cells": [ @@ -19,8 +19,8 @@ "current_score": "b3b3b3ff", "high_score": "f9f9f9ff", "bonus": "f9f9f9ff", - "band": "4d4d4dff", - "text": "f0f0f0ff" + "band": "f0f0f0ff", + "text": "0a0a0aff" }, "cell_texture": "basic.png" } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java index 611e3c8..57ac430 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java @@ -1,5 +1,6 @@ package io.github.lonamiwebs.klooni.actors; +import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Batch; @@ -42,8 +43,9 @@ public class ThemeCard extends Actor { priceLabel = new Label("", labelStyle); nameLabel = new Label(theme.getDisplay(), labelStyle); - priceLabel.setColor(theme.textColor); - nameLabel.setColor(theme.textColor); + Color labelColor = Theme.shouldUseWhite(theme.background) ? Color.WHITE : Color.BLACK; + priceLabel.setColor(labelColor); + nameLabel.setColor(labelColor); priceBounds = new Rectangle(); nameBounds = new Rectangle(); diff --git a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java index b21f85c..6b37de1 100644 --- a/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java +++ b/core/src/io/github/lonamiwebs/klooni/screens/PauseMenuStage.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.InputProcessor; import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.math.Interpolation; @@ -183,7 +184,9 @@ class PauseMenuStage extends Stage { // This is the only place where ShapeRenderer is OK because the batch hasn't started Gdx.gl.glEnable(GL20.GL_BLEND); shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); - shapeRenderer.setColor(1f, 1f, 1f, 0.3f); + Color color = new Color(Klooni.theme.bandColor); + color.a = 0.1f; + shapeRenderer.setColor(color); shapeRenderer.rect(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); shapeRenderer.end(); } From 4e5c4fd45315ef2c2b81ccae769371dffe7683d9 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 18:29:31 +0200 Subject: [PATCH 12/13] Add a new underwater theme --- android/assets/themes/theme.list | 1 + android/assets/themes/underwater.theme | 26 +++ android/assets/ui/cells/basic.png | Bin 210 -> 337 bytes android/assets/ui/cells/bubble.png | Bin 0 -> 823 bytes .../io/github/lonamiwebs/klooni/Theme.java | 5 +- .../lonamiwebs/klooni/actors/ThemeCard.java | 27 ++- .../github/lonamiwebs/klooni/game/Cell.java | 16 +- original-resources/buttons.svg | 176 +++++------------- original-resources/gen-ui-png.py | 13 +- 9 files changed, 115 insertions(+), 149 deletions(-) create mode 100644 android/assets/themes/underwater.theme create mode 100644 android/assets/ui/cells/bubble.png diff --git a/android/assets/themes/theme.list b/android/assets/themes/theme.list index 22714f5..8ffea23 100644 --- a/android/assets/themes/theme.list +++ b/android/assets/themes/theme.list @@ -1,3 +1,4 @@ default dark bandw +underwater diff --git a/android/assets/themes/underwater.theme b/android/assets/themes/underwater.theme new file mode 100644 index 0000000..6f27107 --- /dev/null +++ b/android/assets/themes/underwater.theme @@ -0,0 +1,26 @@ +{ + "name": "Underwater", + "price": 50, + "colors": { + "background": "0044aaff", + "foreground": "d7f4e3ff", + "buttons": [ + "37c871ff", + "2a7fffff", + "00ccffff", + "5f5fd3ff" + ], + "empty_cell": "0066ffff", + "cells": [ + "37c871ff", "2ad4ffff", "0000d4ff", + "00ffccff", "5599ffff", "87cddeff", "80b3ffff", + "00ff66ff", "00d4aaff" + ], + "current_score": "aaccffff", + "high_score": "2aff80ff", + "bonus": "aaeeffff", + "band": "3771c8ff", + "text": "002255ff" + }, + "cell_texture": "bubble.png" +} diff --git a/android/assets/ui/cells/basic.png b/android/assets/ui/cells/basic.png index e8f30bc0127a2a9eef247ef1782928c7ad2ab870..f242f18cc3003fd58c3ec76cb39fb8b51d0a5796 100644 GIT binary patch delta 285 zcmV+&0pkAB0nq{>iBL{Q4GJ0x0000DNk~Le0000a0000a2nGNE0O0_bn2{kG3kpsE z018e47%Ii9kwz$g&PhZ;R9J=W*i8W z9~d`K7xPvPG?_2JrhwI*d%qweb6^V;z^JFWci;r4vv<#$WAT0xF z8A!`OS_aZGkd}e845Sr1Gr-TCmrII^fq{Y7)59eQNDF{42OE%-|NK93qM{Tx?{%Q;bw($R*%cGr zG*bLMT^vI!df!goDcE2jaHOQ9{pEhf+qE4m676*yYcnQaeZ$ILzaTDa>-}uE!PC{xWt~$( F69DauH#`6U diff --git a/android/assets/ui/cells/bubble.png b/android/assets/ui/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..54eb12da0649e3760cc4ec4b4bcff47b26e62d42 GIT binary patch literal 823 zcmV-71IYY|P)3^0B8tsyYkY z$3-Qv$NRt^`)sFmU_nGabp@oV0^9%|0;9kPFcbjQfn8uH2b2Quffpj89RsQA2=ExV z0*o6_IRI)HP!0HPmPgCLGZEQ~bq=?H5#SMU85jd9235vI30%5%Xij0CNL>PkRP{+L zQb}Y0z-=2?#zn?MO#oA76ZUM({7N}syeCH$yh@xWSAVKytwHN`MDe9&sSsXFRnAwokgu{i^ewEb% zuudZcFt4hUBC^>81e_(iFYVxJC&8sIr>{o7B_EU6+{*`nPDh*-mnJ1mTS6MG zFoH#*<24-vI?=*;A6GAR^A98BYph$H^oOL!3tbcsfX(0z|FZ>Q)^JzpOwAMm3c$_-*NC4kGw#4D?$3sm zHonDx0n{WD(fO3`a#8>Q002ovPDHLkV1nn{ BT6q8f literal 0 HcmV?d00001 diff --git a/core/src/io/github/lonamiwebs/klooni/Theme.java b/core/src/io/github/lonamiwebs/klooni/Theme.java index 489210f..fe66551 100644 --- a/core/src/io/github/lonamiwebs/klooni/Theme.java +++ b/core/src/io/github/lonamiwebs/klooni/Theme.java @@ -38,7 +38,7 @@ public class Theme { public static Skin skin; - public NinePatch cellPatch; + public Texture cellTexture; // Save the button styles so the changes here get reflected private ImageButton.ImageButtonStyle[] buttonStyles; @@ -153,8 +153,7 @@ public class Theme { } String cellTextureFile = json.getString("cell_texture"); - cellPatch = new NinePatch(new Texture( - Gdx.files.internal("ui/cells/"+cellTextureFile)), 4, 4, 4, 4); + cellTexture = new Texture(Gdx.files.internal("ui/cells/"+cellTextureFile)); return this; } diff --git a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java index 57ac430..a4b34f7 100644 --- a/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java +++ b/core/src/io/github/lonamiwebs/klooni/actors/ThemeCard.java @@ -29,6 +29,12 @@ public class ThemeCard extends Actor { public float cellSize; + private final static int colorsUsed[][] = { + {0, 7, 7}, + {8, 7, 3}, + {8, 8, 3} + }; + //endregion //region Constructor @@ -64,21 +70,14 @@ public class ThemeCard extends Actor { batch.setColor(theme.background); batch.draw(background, x, y, getWidth(), getHeight()); - // Do not draw on the borders (0,0 offset to add some padding), colors used: - // 0 7 7 - // 8 7 3 - // 8 8 3 - Cell.draw(theme.getCellColor(0), batch, x + cellSize, y + cellSize, cellSize); - Cell.draw(theme.getCellColor(7), batch, x + cellSize * 2, y + cellSize, cellSize); - Cell.draw(theme.getCellColor(7), batch, x + cellSize * 3, y + cellSize, cellSize); - Cell.draw(theme.getCellColor(8), batch, x + cellSize, y + cellSize * 2, cellSize); - Cell.draw(theme.getCellColor(7), batch, x + cellSize * 2, y + cellSize * 2, cellSize); - Cell.draw(theme.getCellColor(8), batch, x + cellSize * 3, y + cellSize * 2, cellSize); - - Cell.draw(theme.getCellColor(8), batch, x + cellSize, y + cellSize * 3, cellSize); - Cell.draw(theme.getCellColor(8), batch, x + cellSize * 2, y + cellSize * 3, cellSize); - Cell.draw(theme.getCellColor(3), batch, x + cellSize * 3, y + cellSize * 3, cellSize); + // Avoid drawing on the borders by adding +1 cell padding + for (int i = 0; i < colorsUsed.length; ++i) { + for (int j = 0; j < colorsUsed[i].length; ++j) { + Cell.draw(theme.cellTexture, theme.getCellColor(colorsUsed[i][j]), batch, + x + cellSize * (j + 1), y + cellSize * (i + 1), cellSize); + } + } nameLabel.setBounds(x + nameBounds.x, y + nameBounds.y, nameBounds.width, nameBounds.height); nameLabel.draw(batch, parentAlpha); diff --git a/core/src/io/github/lonamiwebs/klooni/game/Cell.java b/core/src/io/github/lonamiwebs/klooni/game/Cell.java index 861332e..f4a827d 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/Cell.java +++ b/core/src/io/github/lonamiwebs/klooni/game/Cell.java @@ -2,6 +2,7 @@ package io.github.lonamiwebs.klooni.game; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.Interpolation; @@ -105,11 +106,18 @@ public class Cell implements BinSerializable { //region Static methods - // TODO Use skin atlas - public static void draw(Color color, Batch batch, - float x, float y, float size) { + // Default texture (don't call overloaded version to avoid overhead) + public static void draw(final Color color, final Batch batch, + final float x, final float y, final float size) { batch.setColor(color); - Klooni.theme.cellPatch.draw(batch, x, y, size, size); + batch.draw(Klooni.theme.cellTexture, x, y, size, size); + } + + // Custom texture + public static void draw(final Texture texture, final Color color, final Batch batch, + final float x, final float y, final float size) { + batch.setColor(color); + batch.draw(texture, x, y, size, size); } //endregion diff --git a/original-resources/buttons.svg b/original-resources/buttons.svg index b4643dc..15360c7 100644 --- a/original-resources/buttons.svg +++ b/original-resources/buttons.svg @@ -19,6 +19,18 @@ sodipodi:docname="buttons.svg"> + + + + @@ -94,6 +106,17 @@ y1="1012.8427" x2="-441.97687" y2="1072.3632" /> + + transform="matrix(3.0000588,0,0,3.0000588,0,-2123.8991)"> cells - - - - - - - @@ -847,88 +833,6 @@ x="13.435027" y="587.79303" style="font-size:40px;line-height:1.25">measures - 2px radius - 4px patch - - - - - - - - + + + + diff --git a/original-resources/gen-ui-png.py b/original-resources/gen-ui-png.py index 6335a7e..dc1a3b8 100755 --- a/original-resources/gen-ui-png.py +++ b/original-resources/gen-ui-png.py @@ -36,6 +36,11 @@ ids = [ 'web' ] +cells = [ + 'basic', + 'bubble' +] + inkscape_default_dpi = 90 svg = 'buttons.svg' root = '../android/assets/ui' @@ -55,4 +60,10 @@ for multiplier in multipliers: # -d to specify the DPI run(f'inkscape -z -i{objectid} -j -e{filename} -d{dpi} {svg}', shell=True, stdout=DEVNULL) - + + folder = os.path.join(folder, 'cells') + os.makedirs(folder, exist_ok=True) + for cellid in cells: + filename = os.path.join(folder, cellid + '.png') + run(f'inkscape -z -i{cellid} -j -e{filename} -d{dpi} {svg}', + shell=True, stdout=DEVNULL) From 9663bc5376705a4dfbeabdfc83b0340845de62ed Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Sun, 7 May 2017 18:43:25 +0200 Subject: [PATCH 13/13] Choose a better cell texture depending on screen size --- android/assets/ui/x0.75/cells/basic.png | Bin 0 -> 337 bytes android/assets/ui/x0.75/cells/bubble.png | Bin 0 -> 823 bytes android/assets/ui/x1.0/cells/basic.png | Bin 0 -> 421 bytes android/assets/ui/x1.0/cells/bubble.png | Bin 0 -> 1087 bytes android/assets/ui/x1.0/cells/round.png | Bin 0 -> 302 bytes android/assets/ui/x1.25/cells/basic.png | Bin 0 -> 505 bytes android/assets/ui/x1.25/cells/bubble.png | Bin 0 -> 1388 bytes android/assets/ui/x1.25/cells/round.png | Bin 0 -> 380 bytes android/assets/ui/x1.5/cells/basic.png | Bin 0 -> 655 bytes android/assets/ui/x1.5/cells/bubble.png | Bin 0 -> 1654 bytes android/assets/ui/x1.5/cells/round.png | Bin 0 -> 422 bytes android/assets/ui/x2.0/cells/basic.png | Bin 0 -> 779 bytes android/assets/ui/x2.0/cells/bubble.png | Bin 0 -> 2191 bytes android/assets/ui/x2.0/cells/round.png | Bin 0 -> 491 bytes android/assets/ui/x4.0/cells/basic.png | Bin 0 -> 1528 bytes android/assets/ui/x4.0/cells/bubble.png | Bin 0 -> 4842 bytes android/assets/ui/x4.0/cells/round.png | Bin 0 -> 1063 bytes .../io/github/lonamiwebs/klooni/SkinLoader.java | 2 +- core/src/io/github/lonamiwebs/klooni/Theme.java | 2 +- .../lonamiwebs/klooni/game/BaseScorer.java | 2 +- 20 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 android/assets/ui/x0.75/cells/basic.png create mode 100644 android/assets/ui/x0.75/cells/bubble.png create mode 100644 android/assets/ui/x1.0/cells/basic.png create mode 100644 android/assets/ui/x1.0/cells/bubble.png create mode 100644 android/assets/ui/x1.0/cells/round.png create mode 100644 android/assets/ui/x1.25/cells/basic.png create mode 100644 android/assets/ui/x1.25/cells/bubble.png create mode 100644 android/assets/ui/x1.25/cells/round.png create mode 100644 android/assets/ui/x1.5/cells/basic.png create mode 100644 android/assets/ui/x1.5/cells/bubble.png create mode 100644 android/assets/ui/x1.5/cells/round.png create mode 100644 android/assets/ui/x2.0/cells/basic.png create mode 100644 android/assets/ui/x2.0/cells/bubble.png create mode 100644 android/assets/ui/x2.0/cells/round.png create mode 100644 android/assets/ui/x4.0/cells/basic.png create mode 100644 android/assets/ui/x4.0/cells/bubble.png create mode 100644 android/assets/ui/x4.0/cells/round.png diff --git a/android/assets/ui/x0.75/cells/basic.png b/android/assets/ui/x0.75/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..f242f18cc3003fd58c3ec76cb39fb8b51d0a5796 GIT binary patch literal 337 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k1|%Oc%$NbBSc;uILpXq-h9ji|$mcBZh%9Dc z;PL}uMhUH>tAT=&C9V-A!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2NC6d{^K@|x ziD-R$!u$W9`6bFlyh>2o_ZaJyEAkTN0pg#-cui*NA6V9K zb#C>31*PHyZjl2kmhUWo!188p@$+l3N}B`)^$(YdPAttS5KLnWIk05;@=Md$!_MvG zb`ZOJL-hc|le0MwM7K!X`;;RoW~kxM@N>r8(zjj{8@KQ*NmbBg&Xn{x?GVLw$!Nkf zkdSC|jghN~HJhxkgHve4pZ9^gesTvIy;=R)LDJyE-|{n4eyxdRcsx(R{FVO`f#fyu aRSduKXRfQ~JQoJ^8H1;*pUXO@geCx`OnlD( literal 0 HcmV?d00001 diff --git a/android/assets/ui/x0.75/cells/bubble.png b/android/assets/ui/x0.75/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..54eb12da0649e3760cc4ec4b4bcff47b26e62d42 GIT binary patch literal 823 zcmV-71IYY|P)3^0B8tsyYkY z$3-Qv$NRt^`)sFmU_nGabp@oV0^9%|0;9kPFcbjQfn8uH2b2Quffpj89RsQA2=ExV z0*o6_IRI)HP!0HPmPgCLGZEQ~bq=?H5#SMU85jd9235vI30%5%Xij0CNL>PkRP{+L zQb}Y0z-=2?#zn?MO#oA76ZUM({7N}syeCH$yh@xWSAVKytwHN`MDe9&sSsXFRnAwokgu{i^ewEb% zuudZcFt4hUBC^>81e_(iFYVxJC&8sIr>{o7B_EU6+{*`nPDh*-mnJ1mTS6MG zFoH#*<24-vI?=*;A6GAR^A98BYph$H^oOL!3tbcsfX(0z|FZ>Q)^JzpOwAMm3c$_-*NC4kGw#4D?$3sm zHonDx0n{WD(fO3`a#8>Q002ovPDHLkV1nn{ BT6q8f literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.0/cells/basic.png b/android/assets/ui/x1.0/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..da45655b15511656ef8b2997b944e610d5efe21a GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=E7)o-U3d z8I5meZuDh#6mb17P{6l<#mk|^|b8MZ^b)zJsWX zAov_^B8a|&h^`ee`?yL#4TgXw;AP`&bS9b1aZ#u2nzFmow@k9g54EW2s-FMruC6+D z3ih<8QZiNCL`3?5v%opv1aKTU1k?cm)`4%pXJ8e02P_+7+GYQ{6o81F0xkiQz;Mp) zzkzvR&KUEdsE0xTA~FVC119ty2K%Ht1$`_6PmD1i^LESyAR+_6b>J#?c=Q1^cNq)N z*0Pz?O9yy~1=+~jDKmhG90zUz&=0Q3_Nuz?--t*rO=^bvSyjQNtKaV7u}ISt$a zj$ogBod}>$@6*9P^)`|D7SPOP->L!JH^wY))o@Dy5jg|g1r7s4*pIbN^cF&ZbuCRT zf3%)gE#RIpW+kmrE$yNXn;Brg8g@_Lfs6qAyfUJ{4-r8QZuLJ2ssl43a?;==Ck4{lIPYk`Dko+l*?Pz6=l}*eCCX)_~WquOI-}g>gC;fX?%m zwQ97T198Q{3@bqRVb_9EMpr~+G&2BpkxKhhVy7yV`(T|>KbZ3Y+;DRMMMLZ) zo%AaqKBaxOL!FZ@lD|0CVAw{{d*Cb+H$Ya%v$icbc>k zKc@O9vWz;w)3^(<0LGX#Y@&6y=y_7+IxQA@0u;{MSEyCsS<=Ns08Mc}!tQr>Nv400+wZ%B1Sj>rR>_zDfGNxe9&29&n^Sd8Z;r zOw+&>s^1KCfEU2iZ8>7{rHR&QqC>ti5?}#)Hnx_xbJ=6oF>JbT3Y&DwqXyA2YvC}y z%7gB4Y|`l@HuZ6kXan8^zGF8`Yrq>|rHX^@J?*Ka{sPj4Fdk>(d^P|8002ovPDHLk FV1i8;=~4gy literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.0/cells/round.png b/android/assets/ui/x1.0/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..8555cfd31dae14034617f077ac55262f551a7fb3 GIT binary patch literal 302 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf2?p zUk71ECym(^Ktah8*NBqf{Irtt#G+J&^73-M%)IR45nC4~b?cT-JI-l`%8Big&y$S zX;?m2#)9#r#2!|yy5&rl6n98A#LntFa!u~mpSeOEs+ozh)t;*xR(Gkq{loUX;jP|I z6-n(Cs=CZl9znT1op%H|TH_FQ#N3NLH2)*x8v7E5Q~%{NFW)}tb!y_- qzZ=v$8p8nb}TX7F_Nb6Mw<&;$U(0&98z literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.25/cells/basic.png b/android/assets/ui/x1.25/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..7f6141f8c8264842d4e0530792965a0953aa9099 GIT binary patch literal 505 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8EX7WqAsj$Z!;#Vf4nJ z2wH+Lqx8+mZa_iF64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq!<_&%RF5i zLoyoQ-nRBT93bHK(AY%8p)n}n(+!tNTOHdQSsmGRIl>$@CMroec+L7F60Yz(X#(es z&i0>H@zxjT?3waN%BkS!s~D9`?i;LSuk4n&GRZZv8(06kYwYRlDL!dgRITvRNcQfQ zSxbaHH!oGwNmE-nA>{vLjh7`So&UEkTJ`qwYK2UWnDDu;B^aHJcWdjf3yrDp_@1n2 zDif+(H(?8BPvh5VZCSTOUd+7t`nS_RKKTdgVnL_tDi!(f<>gPi_T?0N<%ah6d3ozr zzH&dkmE)UU)86ic_ewW*6T{@c7PKtmT1>FqpDT|PawVtpe|k`TDNRp**?|>%48(KN z^bdq~Gn>BMw1=C2mHBkOhS{r%WrOpJSI)f4l%DH*b%9d<-$|F)K04jKt5COQevW{C z>vz?;+PUlFOM$-rec$xz-jm79HX1H1;j1v~|Ge47HOPko>Es(cp?d>ObUBD>=@GB&WPE&w0k=4TfN zJK@uQH4@lepQ?iY0em7Nzm0SASiq`!5qJl98aIRkaDd*giUYL3JGkDeq8@NVM1C0c z#*u(kRe-C&HDJo8Nz%|+zyY?00}iRGz5~7x5iNT|-eY1w9`;?_oSh^Aw$K4M{E&7y z_o6bTdQZO&bXE1Uve2c0aSPK0(y-H{p}PzMhu#hO@j_PB;kXF=1AJAcaw%XxXD{P= zu-amwP5pGw#c}u0vBe+cT93>~}p&aW)P{qwBB` z?U6VZTfh^49m@J9#ckEC3!Y&>c|H6pgS{I+KdlE9T*hr2XaL?OaV4!U9sdAzYYI4@ zRgedqS($8D>n?8NU_%-PU5De5r%Z-{C0td{kiU7ikR1jciaip?BaDbpKm0J^I<(c4 zUR2e25!tYrSYggWo-zRy##*T&^2|d!#O==Ms3Vd!zBi1j5G?;zHh6O2a z_*dOHl+hyYv}9jdz-7*&g8v)4i*e6~MacpO=r&F%&&C-kV1JZ)x@2R)XxqE?h=-`$ zLO1a!%F?{5PS_*hxQ9<=H@;KwxY{j{lFVAE!#fc^98QJWSu ztd00JY}TSR)+>xds`WS{3;3573~5WNaYh#KPc0bImWBiSH}3;O;RtF?L>|VOd5*{Z zhK*@MnGAWr_h@Io+LU$}1=z<_jQsBP5NRbZE~LnpUgl`_@(yq(uP_(b2aw!s!lH)t zt%z*q6%N}i-NwaK92GqP?iN)j1oqJ~A8|B>b`SV;ScK2e{jiAq4&12Ass{CWnaG|} z2LS%f`mM?)HK&^*@?)8bqnvnr4Xli3Por7^zA0OI+_0sqBO29|mVqxv30oRBFl`CA zPW^F}W!1yY*;2#Us%q%r`?xTJHuV7b*e|9dtFGYEYa~J6P3d5RORaoN#bsR7z*HS= z8tssT59fMNWz|H0_<3A__(H|z)^IzX!xtc)B~_iry{~D literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.25/cells/round.png b/android/assets/ui/x1.25/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..bd5b071e1ea443862f438b3cf7e01a9fb2f1b60e GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VORK)Llnx)_T+01}?H9Z3m%N|{S}hx1J!w5ICgI>@CMfctlzYty zUr8Ak2KLko91Btlz`cSrMghfeUbb%-S)M9?XNa5{tBGG$|^f*gY5&k9m$&$o~La8xvx0w|J3-> X&V?rZUO88QfxzJD>gTe~DWM4f%(R4nJ zh#UrCM$rOaC!nBYiEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$QVa}CJf1F& zAr*7p-r4Ub5-8F3@wxGY4E9z5)oHg9l9L-%3OFl7^O=l+@oqcAx1E|xT@!>WICS{UE^hE^ zV1AJ7@@LL7ZleINOvwt)Jq*+IOyg|*8e$*hy3FyjDok21<&y9N+Yb+3rL8_CxItKO z{x825yiQ#r%y4wPfF>oV5N+qG7=2&A)i=NEd9FCByVuu<+Wy2Vv*M;|%Q! z8Lpl9zgc#!^@_@<+Q-lAR{p!Lx#3dXuBq=9_&(F;d!qiu?RSFag~bokSB5>m<=yzM z&%k4C*ll*NMlm;uC1G>3-&c1<9&Th|7n1QPP&h~vhF4=Szou- zE)aQ<0AyX=S*CyT&tr**-j4lsX+TdzZr*8qEkv~PdLQ%O(}$*?IDP0nzip`MK8F6~ zabov!u5WOTE3toluJQR&3xkKYD{gis%--{&E=-mwT5#k2@nSkt OFnGH9xvX5DbB!XKJw#F5M9ps8BZG%yi)djq%#ECGwac@g=yhMHO#FfSsxrJWlfrPKl7Mc`gw+yp^Ga%JH(&F{Rc$IrmWBJyhXLYJM#~K>eP7@|guz!buhN@`Zx)pfClp$KtfJ|@o3b5bY zXRDD5$pz#>3I!LE-?-b5xAp_CnX*JFiv=A84w>I>^>GUnYeh+ox?eSm&_Upd*vL_t zFoVEny!(7OE+iLJ$Z~u@E)+KurDv5=cf~~PnF(W#FF0`}5JHw@Az4eBq!UgOlrb;u zA~X)X98=X|{!2%IyS;NENFiVrl3TSxP}0&WN(X?sUXfA(DW!IxC!T5Y3laL;@9ulu zQK+8?VLa39)#)S)B@ zvk{5*vYaNJQwD!F??Q5e1yr_X$pGm7$V3}-j$wR%Psp;|hCSpk8wMOmFp4ffW-V(v zGSL>D9>9?Gq&dt&exaePpaT1pQe*xKZpec6CY(=F3*9UEaC-TqZDZ|LwKCfsUlV9Q z*I)igU$NHXO3@xETUTogpdwZ@2GKMTfNmV%0k+y$Kxyk@7EqPcRrU~|$s8W!5A<9M zsU`*A5};t@ZLY=8 z$s|CF{J+|vO%iHN5RmcBc6ryfu@*!mIQ~nUYMd=7GgZ{LNf*)p{QzWo8*7Vd75Fjf zVj>_BX#%H<$Wg`gW!grWUbFdmU@hPLR7z{WnY0M0fJ9^yIF)CPDyEaBjERcz2h9T) z^2tx7^b0+#2O@*AEH2m6z(Rld zsg%wEU&ls{24u|fLm-NLMfE#+b4&ChLMErZnSz`k;5XRY+A#G!y3Of(3wfSfGM}TET{``!8e1}5 znY|A$(fw9_*}8z<)SF9hTg0~TIp7%jCG9e`2Al-WRB~ImEAwH2M}eo%I}?l4DtZt* z-)rL8kIMWs#lz?gEqTcOG{twucU6eW{J6;^8rG~i?jzgBO_tHCEsMZXk`Fm=4g2#r zd(bYv|?Rm0^7zXQYuv8flpN4{|FgC`AgCkN^Mx07*qoM6N<$g8lXI Aod5s; literal 0 HcmV?d00001 diff --git a/android/assets/ui/x1.5/cells/round.png b/android/assets/ui/x1.5/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..ae0481b93535c6f7a2a4c9a57ee2b17dfdfefa12 GIT binary patch literal 422 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEX7WqAsj$Z!;#Vf4nJ zh#UrCM$rOaC!nBYiEBhjaDG}zd16s2LwR|*US?i)adKios$PCk`s{Z$QVa}?%APKc zAs(Gur}}y^I|{h%FPdDz)Tz+%!ikeb(4>O5d3nL&Nvn5!2zuqzlG5|Y=_AvzyTuoc zgF4S$FrN8un(ybh(2Mp#k0Q>fEzr+Y$W)I1HKim!t-tr|0V@MGqf?U^uRCnl`y*1Z znnC}$sKl{D=NsQkeNZY+5DBgn-ZA~pea^&ZrN@G%i7yB)xIX8x)1|O0GOIVw-K?@R znajreR;HtZ=ggUJJuBH;itmZVOe$+^j&D4qnq|$b|3XzDr;3r2rQ)DF)4|>1HYx%- zMvb1_)7PBX^59o@+3lpS=JjC>dJjWmOpWgZZ`845+85SvzH#!Ydkum6Hgf*a$!a(- z;e*z(G&ULcgL9WK$1q;z`oOYdNzSvb|6jhV%4U7Myx(~9@~F_|C-~=lyb+-!v7{du OrVO60elF{r5}E*0)~Ndc literal 0 HcmV?d00001 diff --git a/android/assets/ui/x2.0/cells/basic.png b/android/assets/ui/x2.0/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..20580540cb314e02f3ce68b2bfaf83e4a9a4d57d GIT binary patch literal 779 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoEX7WqAsj$Z!;#Vf4nJ zNUsNB#yF{oGC)De64!{5;QX|b^2DN4hVt@qz0ADq;^f4FRK5J7^x5xhq!<{OIy_w* zLn`LHy=$K*>?qOp@wu|99fJ^`*8d6g>wLwViptjSf43T!x&5wqY=4$L4G3aIx@|O;mhkRi=4s$vz#kKLZ{t61 z`$pjh!UY^ME=QhM&QDp#pt;oUgGdF(nzO%;hux95!9LIBNa5S&Rm@AKykpv3@_wq_ zdcgvFrF++M_JwTLT)KsM&q4A1Zu~d=HEmbjwE4{Ep~>55tCf5+pL2(};Ck=bU5r6q zuMe>QITe3}<3?A<`klO+a^5wW4nV#9b)HWP>aW8Rj63F~&vi`HP>ap{obu2)%k3%{t%xn=2X?t0`( z_FMh%BtC^_41ee1Z5?^Wx8qa8%`#iy1UKqs-k|exO^Ia(d)}RMXz;#hsYLs8K1~qXr8F{ zbX%rc>#Z804+}~@E_~D-;j)KW&VSy8S3Qk$J8sP0S~#z8oAU$Ff8{2pH8;o#vYXCc zUEek1%<;QSaSZ9*b90yWX1e{mw`T8;4L>|Sm(KcF!<;ZVZAsoGZB icgxV&*m(2)zf4C~WTnjCpTY}FxD1}IelF{r5}E)EkvH!E literal 0 HcmV?d00001 diff --git a/android/assets/ui/x2.0/cells/bubble.png b/android/assets/ui/x2.0/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..4f29be6b8855d88dfe35f54dd62ae00fdce8394e GIT binary patch literal 2191 zcmV;A2ypj_P)Vfl$;dt4Tdj(by7NQq%;J;2}-A-N}Bvm>Ku% z$;_<7w@%;w)&s*@`&);Z{r=XR-kCKEMn*oIJHTEM`KpTu zTNgl81-KR1iD|+3#&bk{-xI0F2>2@xh1z`7Ei1g^yx zb~Ve5@AhN4-~yJ{1Ah6Rd-{FD``fNsM_}9;Pm9R6liXyYo~W&GcVUb#oL||_1^Z5r z)xa8WyC(BnC}^%&>ym4L-PQ)RnKaQ40YA6eiir`55LU##QFBexSX_O1cYmX*N9y#LD;Ghw%=;b2ujAjxZ`Y?nOo%dN zeyj%_Ys&T|!g}Dhb?SpUb-*uxtApPp63XU=upS7Tuc@YM%3MOXX;xUK3%l?1RZ z<@*zdVfT$vRg>#)AzSUqJ%ji-Ss$5W709CyT%JL*@8Dmmaj;{SB6_o7+kBy z^=94Q8o54o&!Tj6i2%PWdvYlORCN=uEq98y4TlkPMtAM~1urB%JY!0}We3nm*H(XAqb%mq3gNG_+8GLD9bHHCuDs=s(J~=)m(?fu$_Ybai>h9nn`2bujN3~2_IA$bDW_UEE(~!2VmT;QEDa684AH)m zI-y8_EfphlB7_1sVjj)Zm~d)9J`}{y2}5Ke0m>FXj?jyAuGwiMI>#RbH=ri17?+40*rJ(PJsE& zQnB*+f9gO^faFCZm8m7bm;;)lmH?+(NXV>`v}I0!V=W|PR!Q12CqOTYSFBKywj2fM zhFSuA-a80PS-qcd$r+kC`2h zWg9Fqi2!zW!7&%q=TOngTV=eVe`_c)vq+)s$_Q|f(Jxeod7$v+?Lq-WWF8~JNHq>v z+hr*`AhVCLGOofR#%6_-62LBM`u9mvG-DhTky6ggDnpX5Gv`MUQ}5CyKw1qm@id~7)}E(ib&-~O09`m*1!D{W2*>^4gOened*dW<3!{`%yPc7 z&VCVjzwX78PEFjyYw_0581-49e2Q5|dZPChCZ3!tB4>eTG0XYR z3P*rHG_iwK{QPmrOM_9hV>ohW5pD^*UOC0aUENVK99L5wmtxZsCy@;@%vD$%IbF|4< zU)$s~@Mos|GgdyTdJ*tzj2J_$8x-@6$-Py*nsw>i5UToP%!-0T{FLEqBGPGprne{2 zuB&-BW;NcvUWuJ&>0_R~ypYm+QPA_}Y~K};USCG+T>u}u^7vNF$DFrPZ^5V-$65NI zbK!KsE*X>nA+{O2*@lgn&zcu~()<+WovdTP7r^Ja`S~LwBO@atBO@by@ExnCQ??SL RBeDPh002ovPDHLkV1mD9{gVIy literal 0 HcmV?d00001 diff --git a/android/assets/ui/x2.0/cells/round.png b/android/assets/ui/x2.0/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..8574550ee37c6760dd103f40bc29a822827a9baa GIT binary patch literal 491 zcmV_7OdSd#xB(I|x)|LQOHhf# ziE$)2_HWn#4m=K;!WLWmLw7OY&MMWZb5hl*dQV#PSkeyxle8<;5;Akv86TAvsrvOi<2UN1cYrxwKaF-!)kQUwqK5~G&jDSW` zcm;UR5$-Ys*5csCY-b*qEB^a2fs+E^F6}VWLU5BbkhGrYtg>fdW?OEs6q?xc0GFgq zU?)nT@x5zrtgqw>lK zsK=9kO6-$gQQAxe4@p!A%BZaA0_9Bbkc0tkpq~PK2OK6@KUL>KP|3K~Y+2u}*`tE% h)wO1~Y1Uord;vJGUaYXdG0*@2002ovPDHLkV1lkQ$JhV> literal 0 HcmV?d00001 diff --git a/android/assets/ui/x4.0/cells/basic.png b/android/assets/ui/x4.0/cells/basic.png new file mode 100644 index 0000000000000000000000000000000000000000..83c16f91f3b94e8f9b71bf7e4cecc554307e014d GIT binary patch literal 1528 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE4M+yv$zcalEX7WqAsj$Z!;#Vf4nJ zn8$)Jqhx~{kij5X;u=vBoS#-wo>-L1P+nfHmzkGcoSayYs+V7sKKq@G6axcmsi%u$ zNX4ADx6iH)O%-YQn9eGeNNrW#Sgog0+Nx7mKtB%ZD;CB8$KDg{JLJJK!-e9=H5W~G@#_{w^DgW5cG3{r(&vd-e`M|*r3)`>lGj$ry#Bkei z*|6O)zFJrsY0345`CfmAaj;Cm7Y3uxVF~;nR5ld7dHk}gK(0c%LRD#>{AY*7tP^Hx zH_Sc2eI_q=$+~mQ`po*SN9HHXBurs2DpuYgf5YO~FRka?4<2^>D0TO7YF@GeVu$X)~^FVa*~cH3FkEEBx%vpJx|LEE9hNblt{g3zWp0(aJK~bqLL-JiQ>y2*p z{m=46H?KAGowbg^Tl%(N5<`^SIp){VW*4@`F_t|zx&CRg>IaY03G*42Jbkip+QM_& z9lZ57|G80QkmD z>y6VG^0H@4TvkvGVy*)-YeCGK{o$vt&RWN;Yu}u9T{2Tk@Z!rk-&n<_rZH%pWeAzY zxWa@vAd_vuB_4;Rk_}$Q45Jb>3KC$nC4TT%zx9rMLf1>@_C%cIhk3aW0uGsbmb?P zfZ+1R^SjP@DqCOr`lS7v{h@o=b0#0VRN`lL_gKoas0S(=Hl@Z%-B8+Kr&RaW>P87` zM~CqNYu(M4IPT?G{#Ies-&xl#Fm-Gk<9du?OSK3zKP%pSoTY&ooA4ZH`U()iDXpMPwe zX(T@5uGoCWeaYMAzY%_r;PS`lJii*E2%Mzy^3zxT&3%_AiM3re2A0wcp00i_>zopr E00b0!00000 literal 0 HcmV?d00001 diff --git a/android/assets/ui/x4.0/cells/bubble.png b/android/assets/ui/x4.0/cells/bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..3521739cf192e655e36c62c5df28222af2e13e7d GIT binary patch literal 4842 zcmZ`-dpy(M|9@{T&0I3XTymKb61X1PWUVUcS>QjDx2jE!h9w{($fE{WwsRIb^k zvdLvABG*-N8L^a%l;8UE_s91U=k<7==ea!2~0U5J+=yZ0)x$Kfc96| zk+KGBwDdZlBeE2Imobv>5^>}85^u@7Z;8{xSt@$=JFa}F=lE>TVgbH*x#vd@hm+_B zPx&9>f@a~Ecbta)W6GS5Euu@0Ktn(cU*~5wzvPo7e{AZVH|}GA3Pdwz=Owth{Jr6# zhY^T98-ES(?V_?|8uY1rlU!5jwGh=x2{u`YtVFV8p5X3=4UjqJ%BKPKN*?q<-7>gF zyar^T@(d&60Pg$B25}!slr-n9{#Dlilc^c0B9`|fi}UmeRem04)Z^hjA?fPNj9TCJ%wjDWFlSr!$?k z$qC)bwq$mvP11XRQ=ODY3M873%qA%O$gB$SqhR3%diVBThV^@?tnN8)MDEI^aEPFu zqNd)eRkFVja9wRd>ui~D zhmQ=;E!dE=&cnwUw#G7i>G%a|LYDz7AZ_ulht*k6^JZXwGO!ZZRV+T)(bE1qm1&IN zc7EwJ?FH61wrVCB`&0B*r1)a6>%_&B=XHGH!gn$!0va{XrZX_2s2W+p9~rIoTE}H` z0!&RDwGUy-!kv_t)CaI_(5AFSpRuD~YUR-<4ZR!+F?x>-V1gDDp%#M`tp%-7I@{}1 zo!PITXlz1Wk6_B;+4q|*7A0k*FkpOUvZ}V9EnI{l}_#Urzda74xnpOE;}5o$Z3A6F(+h%S@T5mf^IO3J zwUa&PUG`Ro9ZRTfOt&d9!iG-ad0tZEg}z@k(g)(_Ha~Qj@A4ctSHa60T>nm3%E*Lx zvBrM2Jb8I)7rl+18EZl?5JBCo{h^YKjLpl;{_k7WyU2mAVSOkenKxc`lq~oqKrK1E zKlE*|Sy50}=YZ-mA+6t@*?x4Awy-L^SGfaBtmFFl?4ia8h^iajUe8y*@w1?{(*Mzl z$9mfe@~d)5qOZ%)to8J*631grz)Jo(l+TYy&*iBZ#q|tv`uh@$OYu70|q zpcF4eB|ge)HgrQBSz0U)9xtke&!y9CNuHf1w9vAp;;ElLA(=cCX`a+n;3m@O2z{z- z9*+;$^D(}*Z6F_TC8+XMLDmLD>u&c#mpt6Y)Ml(V{Q8P zbo@{1$=;XkLO`xwu^4skc*DJD^iln3TYsAHo%t5vc+t*|a^el#;Lvw262VYwRu5!sy5L zyJ4eURy$V*3&+;lDk2+*kr^*d8~-c+i3G>pIP9kR;c%Sv%caT5`s~`XGQ&lvp_QSH z{86QqqB>Z~%`=)+K*ZD*E4TFS%S>|XYc+w!XbQ-k?<>4~_P$zNJ~Ys}VA*AZIc zW%(OVdNEU(_LH5siqU*p{VuQ*wuIR3dBynAp*JIA87)2x&T6n+a<}x#)ih^FyL(U= z4qs?z3|u0y?u6`T9^&P{03?8w-={XSE}6T$hb!Ck{*y@b`M zt7+A1YhU8HDK&S?Wtp*ZgJ)zf3ovb03pKq!HIA~2a#lHz(Q$-4I_l_{&*LJq;>?Mm z7qG8;j|}%)P89O4)C?5|4nM{b6JB7fCvD?ULXxThgU@WSjg-!}BhZ!>gW(+goep+G zP2Lws_@wcpQ;d+oz}Ie@Vov3ue_t+Na++A(-D{OXx&%$An#rj>;<_tC+!s|rVX81%Ak{DunFz#8J*R}f zKA2tB0PRC!<*T;_pR{Uk%xliVnB;HDyV z2lH(Zs1N_``x_9#lD)QvWtk4jBC1g{;X81H1-3G5%g9G=O?d$_P9y z$!+K;*sm4%MS?)|T5`+>Qhz7}dm1hpLE*v8R@eh_*~6C54k}=V==yoW@AN+iDJLaS zrQnllP7dkuBQiZUz|(%b-1n6CIbdmMqG>W|<)MP0qFctwHh@PxA=^HF?qdepq z7WQ0>5z6vK*&2t+C3OqZ|4J+s_>1xzC-|h59)=oUI7AeN!F`ZHLXKan<)khRNP^-7<@JU5;>PhcE%+J z!u60K_%odm6MxbEg|Y?dGLa+*(@@8f3Y^Vpd}a79+~hf$3M4vSfQ$Hn4KMaS=m#Ug zhj*S~8K#_<1zCkzhr*BJ5&zF7U4ofw+`e?33S`*aK~l92%Xw(p0OlFG{%}j#kbEQ< za`u6r)EiCkQyA0Tbwi0nDFFT+cwXT5v!^ciF^gRzPDIuVHS0T=Jb+qdSP95j-!r1p z539N8o&~mPcPrcY9@F^OKH!)3ncDG5lwX#ccm~{A%v$q0eeU%fS>p{#kKTQ}T?g<# zLuu$R07q9?o_l@L?zw&>jQNB4UFNH_wiuhN!BWgnL@(iYQuM>%w?>o}wk+3(}+5D}u6(YAv|0 zqEh!3up$ZDDk?R2&F2mnC^5RqOvWvumk(AP7yXn7Z3lOE#j;mV5Goq@fcbi^3 zX~DDIb^O(a{HV0H@f9YcyxOn|u$snl&GZ%yQRN(GOzu%p>bKW+ES9{tiTOaf>Ef2> z1t22e(Fj5tYjM4T^72m0JGy$#hNhwf-wAToAK?~*OxNQd!rTcrC z>~IPzoz#;;f9LkKO#*F|A+pu)_Jz0) zh-OVS<27cW%HI@f`tmIcLMmYZ?4zTif~t*tCZ+TIZ;Z4KsbJgF$KCK%HL$wM%8ewb zX7P>26DA%w1`=luwcb&{lMjxKJuyRr0O* ztxny26k8aYBQnyED!v%>P|s1ROt`cUq}aMW4x9(CnfLLY@MNSd>GKA2mNd)?xrv0< zf{N!`nnT@eb^s)b8fZx?U(9f(U6mPRJv}!ftt|B45fQQimynoiG6mvGuqtW{*Sm`ljUd-XOn!-EOzjMU^tg6|^(_nX`(! zxrDlYFyJ(FiquLjRufvw-gM8Z;^-*)075Sf#@FMH){R|=uG0`Wr`p0-dz~Qw8tX3wxakKP$NiqeKM-ZU1UFR(0`S2f zOB)`IiCotEM`RYH(cx8!)blFZw$l3NUdAI+HSC1QILPZ@gv$);%)$G!%n|ANSMP-9 zfHloY7uPtCmnV|VC)1a4&J0J zpLhUzOyZa>!d#^lNj!KRq%b`!gA>EOy5YoDdGN`6oGmi1nEes*P*Vej(^7>k#wSr- zn5N_eA6D8q@7zKF>PpymF7ByP)3xatYRA3+m%Pkdoo|Kiy!f*n!s(%W11^y%&0PP| zP#MJm96^~PeW{(*jgR8siy zr`wujMoe&NiAQ7>_hrBj@65>FOk?KI{z>Zwc_yB@z4MpXpHJfxsv4&O z*mPp_w(#BIM?Tgsb}QpfOd{(&WqflXW>2-v8*D|J(6kuoVU{zyr HKJotmyO0G@ literal 0 HcmV?d00001 diff --git a/android/assets/ui/x4.0/cells/round.png b/android/assets/ui/x4.0/cells/round.png new file mode 100644 index 0000000000000000000000000000000000000000..595f57df50e228beffa1bd5e93b74a011bdd586f GIT binary patch literal 1063 zcmV+?1laqDP)t<88FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11EfhrK~#90?VHVO9aR{{f3MaiO`=GXY?>GXSv0y4s~eltE)A&B z?EMQ0Lg~(ph)Qvz5CXMsOE(q_l;T2hrLlAoV>er80o%X^unH^y z^S})7y_x-6w8kAr(qTyxlBOkXs(Jp9^tq%rBpr_Jt09tlC4C@iy#>>0tV?=dQcrB3 zHAw1`^r57!0*oiwl5}2DXKdd9$Su#60LGKtlJt5^^Zk-;MmAo} zoTOvTc**@YC}{}z5*TXc3k&2H@UodL#4-Z>1gdt^m2c_idoNAW@-N2l~wH@8p5B74Rzi$2>p} zFy=du7QmauX^Do{Q_UqHSHrspJW;fwz-$0LX7*q8pl=1d!2UB2t_b^Fa?lsRNby>t zaVk0B3*hMhLSiwT9PkBjJb;i`)Ohm+&>uiZEC!MTz5w>)58wkHPY(D3*bleAX=DoE zK;a8uE4Yeq+)obp0@w^7Bo>(hSPdW~7AwgCUjXv~gv6r8n=gQ$0tkskrU1SRAS4#w zCI`yxaB^0qC+F)>ssi#=(mbT!2wg5%Oboo94oXqXP3^uPT2)_U$W_BmbP zV_D5Z&YEDQ3GqeX=bXYqunfGEr$-Q)D2kfd5^x&Vind#r#kIxd>Jn`UNp0F4&C;Jr zY71uE6U1whmLnKnlJrV6Gu{)|0d}(xy$UaBD98hZSGNA?{4*Lb5HT`wK;H4qc(7xmqlDzSDJj`0{s-V5qFNQ<`m6u|002ovPDHLkV1gIN-A4cb literal 0 HcmV?d00001 diff --git a/core/src/io/github/lonamiwebs/klooni/SkinLoader.java b/core/src/io/github/lonamiwebs/klooni/SkinLoader.java index 2e84905..485c1dd 100644 --- a/core/src/io/github/lonamiwebs/klooni/SkinLoader.java +++ b/core/src/io/github/lonamiwebs/klooni/SkinLoader.java @@ -59,7 +59,7 @@ public class SkinLoader { } public static Texture loadPng(String name) { - final String filename = "ui/x" + bestMultiplier + "/" + name + ".png"; + final String filename = "ui/x" + bestMultiplier + "/" + name; return new Texture(Gdx.files.internal(filename)); } } diff --git a/core/src/io/github/lonamiwebs/klooni/Theme.java b/core/src/io/github/lonamiwebs/klooni/Theme.java index fe66551..d366851 100644 --- a/core/src/io/github/lonamiwebs/klooni/Theme.java +++ b/core/src/io/github/lonamiwebs/klooni/Theme.java @@ -153,7 +153,7 @@ public class Theme { } String cellTextureFile = json.getString("cell_texture"); - cellTexture = new Texture(Gdx.files.internal("ui/cells/"+cellTextureFile)); + cellTexture = SkinLoader.loadPng("cells/"+cellTextureFile); return this; } diff --git a/core/src/io/github/lonamiwebs/klooni/game/BaseScorer.java b/core/src/io/github/lonamiwebs/klooni/game/BaseScorer.java index e8d9900..c5017a6 100644 --- a/core/src/io/github/lonamiwebs/klooni/game/BaseScorer.java +++ b/core/src/io/github/lonamiwebs/klooni/game/BaseScorer.java @@ -37,7 +37,7 @@ public abstract class BaseScorer implements BinSerializable { // The board size is required when calculating the score BaseScorer(final Klooni game, GameLayout layout, int highScore) { - cupTexture = SkinLoader.loadPng("cup"); + cupTexture = SkinLoader.loadPng("cup.png"); cupColor = Klooni.theme.currentScore.cpy(); cupArea = new Rectangle();