From a87844818a3225483f5de2ecce547a8d5350525a Mon Sep 17 00:00:00 2001
From: Dominic Masters <dominic@domsplace.com>
Date: Thu, 8 Dec 2022 23:00:33 -0800
Subject: [PATCH] Improved the standardization of UI

---
 assets/.~lock.Poker Gamedoc.docx#             |   1 +
 assets/Poker Gamedoc.docx                     | Bin 0 -> 7189 bytes
 assets/betting mockup.png                     | Bin 0 -> 23087 bytes
 src/dawn/display/RenderPipeline.cpp           |   3 +-
 .../visualnovel/ui/VisualNovelTextbox.cpp     |   6 ----
 .../visualnovel/ui/VisualNovelTextbox.hpp     |  13 ++-----
 src/dawnpokergame/scenes/TestScene.hpp        |   2 +-
 src/dawnpokergame/ui/PokerGameBorder.hpp      |  32 ++++++++++++++++++
 src/dawnpokergame/ui/PokerGameTextbox.hpp     |  30 +++++++++-------
 src/dawnpokergame/ui/PokerPlayerDisplay.cpp   |  23 +++++++++++--
 src/dawnpokergame/ui/PokerPlayerDisplay.hpp   |  12 +++++--
 11 files changed, 86 insertions(+), 36 deletions(-)
 create mode 100644 assets/.~lock.Poker Gamedoc.docx#
 create mode 100644 assets/Poker Gamedoc.docx
 create mode 100644 assets/betting mockup.png
 create mode 100644 src/dawnpokergame/ui/PokerGameBorder.hpp

diff --git a/assets/.~lock.Poker Gamedoc.docx# b/assets/.~lock.Poker Gamedoc.docx#
new file mode 100644
index 00000000..5b1dfa4c
--- /dev/null
+++ b/assets/.~lock.Poker Gamedoc.docx#	
@@ -0,0 +1 @@
+,DESKTOP-6I6NIQ7/domfi,DESKTOP-6I6NIQ7,08.12.2022 23:00,file:///C:/Users/domfi/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/assets/Poker Gamedoc.docx b/assets/Poker Gamedoc.docx
new file mode 100644
index 0000000000000000000000000000000000000000..4aa15c3695e736593c0117ac45d20e51dbf2cc97
GIT binary patch
literal 7189
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

literal 0
HcmV?d00001

diff --git a/assets/betting mockup.png b/assets/betting mockup.png
new file mode 100644
index 0000000000000000000000000000000000000000..c08a393183dd45a0bbe2fe18a42f86bf9c3fd6b5
GIT binary patch
literal 23087
zcmdqIWpEtL(<dmjSh8h{$+j3q%xJMi7Be$5vt*HFF|%YbGsB3PnR&#_Bi4?e=l|aB
z8+RWrc0XLib;L|ZS7&8rWo7=dtD-Vg?uR%UGCndC6cn1ocM%0BDA-OYC>TOSSV#+c
z0EYzR2JNUIE(BFEPIw4;fHM`85rl%OjzW3Xhlfx@$w@1TzP-Kq`uYk82tWu94i1)=
zm-Y1Y*xA`-WMr(Zt+%$eQd3i7Vqz{XE-EW4ot>S3|NgzPu>lVckBW-Q%gbwJWtEne
zHZd^)27~qW^|Q0H5fBg*6&2mw+%PdQ2?z-G_V&cZ#dUOa7#SJY*VnJFuQ@n4;Nal2
zw6vn4qFP&9&(F^d4Grn(>0Mo2pP!!z2?-q?9iyY8$;ilTY-~UvP(VO{oSfX}&!4@#
zyo`*Dj*gC6T3Q4J1w%taLqbAGNJvCPL^?V;jE#+_rltl52W@R_zkmP!>C-1oP0gpL
zr>v|jQ&Uq;PEHjS6?1d*jEs!^{rw+5eti4(t-rtj&!0ct-Q9(Sg#!ZvKp+qu9X%;2
z>HYinudlCXXJ@;+yG~9{BO@ct&CN|sO;=Y}ot>Qz4-Z{kUEAB+L_|a|FfiKM+V=ML
zGcz+|V`CH)6n1uYw6wGg3=D~hi6|&2)YR0nva-Fsz0=dvLqkKBmX@TXq@$ywfq{Yb
z_4T#2wfXt^$;ru8RaLmSxIR8UqN1WXIXNyaE+r);K|w)3fBwwO%&e%Wh>eY%o105W
zNH{z^3=a<n005qzo~*2_4h{}tVq&VQsvaI5kB^UPYHI1}=_V#7y1Kfzx3`p(lyPx!
z3kwT*d3jP&Qp(E8JUl#MVPSrLe)IG5!^6XOcXvogNb2h9e0+TG-o5+!^=nN{&CAOR
zGc)t$<s}Xdj)H>1<m6;ZN=kfuJTfw}x3~An$w_f>ad2?3goK2Kh6XGwEIB#3u&{7j
zTiepoQba@q6BCn#g#`@_4I3NV@$s>wq@=sM`_0YG`1ttR+FDOfkC~YnF)^{fzkg$6
zV{UFP6&2OW$_hR{J{}&Pl9EzELBW?VU+U`WprN5Ze*B1rhIV>-y12O5*Vk8CT8fB>
z7#SH^R8+LOx;i^MyR)<N>(?(jI=aox&HMX%etv!y7M8NIvWA9+_V#uxEGz>911>Hu
zZf@@C>S}3eX(1sYd3pKr@^Wl!><=G4U|?X3Gd>zZTp!8qySgJJY<m9wpa*P=jG&-Y
znj}O7mE3er*ATQmiEkiW_zTJ@#sB&#W++(oIY%Cj_BT9yHJs(BguJ}rr#`)&^~uE#
zC~8%W2LXjq<nxQ~<qgFRC3LWOev?;IPVltybgor<HoAIhf!<!c+A>=CnlpeeYvT>-
za1i<bx%||tVW5(!EUm0X1BOSCHT9wVkaE>`MPaPOlCyHVvoB_qbm^QTL)BnsV!0SA
zixYDG(_&tN4Y$ZD=vNO9%?|rs?=u{X)w|D~-w@#zQNQ{5zelXXqgsV-pcX>$Lx4-x
z-yZqCg<e%o1o-r+HWP^5Vr5p6IPCUOSB&mPYP(By2IkG-_qIWuQLxfpaz3jnE8vO-
zB;$p*RURSQKnD+NrQ4<!8av7oqL5FNl1=RGZ;w}4vzxAc;8<&LK(4M>b0ab{aG|{7
zl=NYJS#4M~Kk%GoB<{D$eT_kWC5@_Jk-?lrg|2d;;Z4sNk?&Aui)v53N%=DIjk04`
zBN+}EEE`0m*MEu3_fnR;x6lYtnysZ5(z!j#tt5!Xu@kllY>&pcburrkjra&RWy%_I
zaCZ|HjWT`I#R~0j9i)}Rv)vv+w6&(&Emi1NouP0kqP7u3-c8H3Xa_t$Ycy<&9Y~Fb
zc-$}4IF}2ylQ>#Pm5wq=nO9uUUm+{?r`<DmYZ8Q6sb9_2)e~6+ti%fOsD7GkH|s-p
zmb4?i5j_-!%?QA+hF?#y@lc|eQAnjt-E05HhHe|CF#xIdR2Nh+n<f})r;=aX9Q!&m
zw6B$dCrO4zG;!wCV^}hdy2fpx45V%6wS$Squc<DF%g+SU-H3<Si$vgW_4cxX9$1B-
z8<FMz*~3@Pylv?J>d~PCn{+7Ca2sauY>jhOC;N167ZABh<-Jv@(50ee`yZ8F|4h5Z
z>5BcUQf9|`e;Co=V-0NJWAOCPb==$>k6hN2#2Kxr8-#>`v`6OdYkm}Kb?g&e9KG=0
zM-kIT8b2IGXGmCY8cEBSdCzMn6OFrGouT`Siq@%Q3;H0Q@ggYf%QIav2Ie2J`lsXP
zik!OI0>T^RT$UTcj~umRGdBn_waZRRgMzwj&$AA_GPOQ<`32iF!^F~xdVxs0h6h{}
zHYO4UhZw0Q^@lkzw5Da*g^8p#skb9kY*@<jw7csh<q=HTUZ{KnB4c!i5Zlc$4_Tnl
zlLlvML>8IPJC02MLzqw)VP~kp%q%>?B+nw{;V7zDFI}@tBYU0rL0A?bKFfOCY-}E%
z`n#lv1U;8r<$XgwIq6>=*=qARR9Tfr$VvfC;kX_aTsZ~m69B2)StTV=WlR)km7J@R
zVMQXy1eX}c&S7hbq4L!e%FmQtDOrrfzOev%wBP^kT=j9Cm0dGdwQdr8gLbF15r3TF
zyM?uG(q9o=Weh3$E#$|QW0H8Y_q)Jim%w&<<X6G+CsYWN{Y3H&(|O|XOR(@&d-}QW
zW-xECN?%X1J{w_>RBh#FR>G)G=b@@8oT(;syvS#!cToldJMWd{yBG!r?<w0iam`H3
z{}a2ca|L?e(@fSbyi7RH4t|LlR<1IbqH=7?qa^hi4%um)d{%;vGSyAHux4QWAp2Eu
z9!;iSQI3TdD<YFUgGd|?;tg@O+ko8W?l&g)_`mM(RgM4!5&>Q&Q+TV<N=_!LbPCBt
zA*((@j>}`@yRX;%w`2hiqXh3YswO{xzxE7=4GKRS+|>t?@93Ko-Hb6a*P(sO$QZP1
zrevWBp~rIW<gYXOkN>|$4dwE#&q4s=%{m4!@|>0OD}^EOS7#=)gd4n&F@CnbTYpW0
z8<s}Ks=Lfwy&2Kj7!aXaHxiBb`|o3ps>)ft_O^L~m~#r|)sryx2GSlZwq$uO5#?Eu
zkV#Cb-QvrC{qtUcBI=(AxPNUlZlJsN-NSB6pcT;*xKeD5_u=~Zp62eQp;`ceIk(?-
zqq{xGhig1J1!vclk%6xFWe~Kjc0+PipTn=46F+9u^pV3@Od*HHf*86Xc@Oz*U`HO`
z_G$!i<E>#762cQsCcd7(5a}pEu2T#ltWW!(hSs;%LUxWs1KJiGo;U+Gmov7$k3)v}
zR5!c)%&TuGzxloeD_#nkkdc?<n0(M1fnblXG;#hVMMwC>vn?bL_ufY5?%%8Gb)@%9
zxkJVt`R&g5^1~fMqC(L@c<u>p2Q!v7)=v${zgKvvSyonxJXg59JWxJW`v1=B%B$ek
z-e%C7>#{EA4l$#Xa%d#`wkcDH(@J!zPH`vu>ib>7?BmWCeQu2`k>K2;KMB$=vLyOq
zyNqI@w_@hZfWrUj7v0w#fI8!$>y#HeBGa_usk_yrI5Ap}ey*1j1t%L^ZW18kgX&9!
z=Xp?=8_mNqy>{l#F4$ON$Ci&o`@tUlC}1H6YZ030t4wTZQ@SdPSA?g4xRU6?HmZh!
z_JFj&Pl|8<kMh7NFJgLH%}nKHsO4s>V7DYv4Oft>*T-y4C(UenPj>dDhVR|??Cyu?
znNf24_`XUe>>T)S_oAMA2#xbuzRw%7Co7J>N{UGD^2rm26+!Zu(qaGFJmHd}J^bRu
z7J^|{z9vRLD&gsHL}*$jbIG2_oCvPnk^r=J`cH!uJ!c1T8-~P49*l&i`8|aHt1k?3
ztmh?tXn(U#0Z6@0jD~n|)#Z(2r(Zi4QI_QFebD=lBpHy5CEnJ{2KG|T&fBP0uQ!+F
z`OMFEe-U*j&27Z&9~bzC=tHswB>0eL>-0iP%(!186V=w;@Bw%!dt4@xrC+C5m8Bf(
zZ>5y#;gdd8D_SP%CSX>x&C$wZiQ>+{i0>9pnPnOl)X`wdDAu#8YIcYyYue#`;Hfux
zP^SK%sR+bWmcK@;@(E2<pHBN1*b)i#UNG6lJZ#kQ^9yolkfHbf#TIwvl}W{s81}Ii
zCP|qHh<h>J5VA~;PAdVfOB((nwRNhqAp}-S&Ctr+EW&3Yc_Vv2xhaL*y?9ayFjLkr
z$!u^?y!$K7WC)@o1XZ;}y{i?XkT$lQG??ijU~SJ*8vRbq43FvNZ+39hN2?lE%!LT~
zn>_vjX4X<b-9Ny*U7+6a4=`(qe(9vkFiE`oCmDoUq>1{G`zlL@D=22rlw8f4K~e=O
zYb^xR+e)k<vj3tYZhpaEBjb8R;{5}e|7}=(%CktidE|+`|1Xpmt`Y!Lr^jdE|2s_O
z@33_LrCoE?J2i;qAu>YK)MNj#Yw8@f#y<(eex__AF<;(-rXuIPUg8fHsi(iWAVsu(
z>}zLi2MxJcaq$l<Wp@kK;7r4Jsp^niqcg`2u}Gdwtqo*c_E@)FDRsTEYX8{(uW1;t
zAT<9Ad%A~G1%vq1lH#H?P@jaL*116g=Px1!=zAIfUJ_(RQd9E(Fv6?#{xcgzDJJlV
zIC^I&NMZdQPxE>_q}$_ciVqG-ng0$eU&!Ha{tVZ$1|<E>o*{3F%DQv5e={vP$<fxq
z`FkU_RrcPwq$mC&{C1>rs~+BDS3y5@i$r8^_P@y#aW1jypE-NZ8gAFn14s!kutq-!
zy-IZ;9r@eZ`B{^9$Tzhau8*k&brAkd!-@}WKP@UC-=WZ@<srtsle(A#-yr@Hun@13
zA71(KItWhtboW4Lpy<ai`D#d_8YXQC2gFo6*QirkQ%V3~70pM;$QVKm|5Qqbc3Emz
zD$1SCCpTAy)67Z8yVF<aco=qanGF6lI-Y}IOnW%4gN3@7r8<6F0qQHp+{JF7{$2rV
zzv&>CN#{RAHOr{46N=u-yY6RyO~$4(GJU~@mA5s*lt9h4<Aht)oKvh(!1TnX!~-tg
zDx6mXNcAizMF;;*9gfHM;Jz1-?HQeJ|4S5H!7hL{H|}kbUcCFJgf>H0ZET*NdNnO4
zub84RlZ+0Wpp$v)fw(HZ;>ZUcNStM-UP=E>fPt(6Fyk!n9i^RVlrk*^Vp3m2%vI9<
zgdxzn;xR=O?-u<C8+HthvyfyPi&|ld4r#YiDqtG8X;(6PBq@-$CU%+{>}xlZR4nBN
z&`gm3C>io$pnL2|4f~hQt>EW4>3<?<2|j3^69=4wBvZZ)@kNR!U@~1?hM^N$d{{eO
zEW}M0ej02mN_Avw-56_s^Q$+maSVUW+0S7JgM()O{D`)j!*C1(QwBiEFnq6f4F^3B
zS&aPGy2B3&_RD)c7AWX<LZ3TLpkPn~zxj<p!QmoO&q5c3@JSOpx`=GaxmlDjB=QV2
z<somvNXzm<K_wH?7sHHNqG`Ex;;U%}d7z<6qj@nb)8sj#Vt>-Z``ify<p>M??!OjJ
z|Np-;B3)UNC!}NKkwQUHOyq-mdLlkaFS71V^+NX$Z$#wTPLim<9dBu31%~ioXaI6a
zp`n(g((9`Qm4b8LHAXd`QE8Yy4r-?GFz{FV9(^gaO%Tg$cV64GFioN<;XazKb*|6I
zqL>ClLDg+D9}iYE38(zF!4haQntR;*fEG#a8BBLf=vvO;T?uzpu(gm#DBGOg;sneg
z{X%N9I;f#*CD>?v6Y(cH%**F|9eC_|TRUCl#V~K&QTEg}s6j3p9MSGpy;Mq#fe~UY
zaMoVE==^A+J=9Qss%~NK;BZ~jN7@}ijlaP|Hv)E1`h6ZLmYujBe|O{&HLeQ}CdRPP
zn1*loO6BemB?_`2K9y^?zg$@0Yv}Tt>LstWxG_2B$gnJ-((P~xlCW(-<2zi<)$O31
z#&2SddeU{h8r690Nw;Bt@KM!X*P_Aq=Amf0(iLE38(r9~Z}H8%erMI{nZ@H#7f_Pw
z8&$eeq;hE)Qt;#J8LC}HMIjnC3z?(m)j>!^5@^H5E6MJ};pT3PyyBMr>SrXJ*Vl~+
zM4fb>*U2R!nx7y;#Tu9Uvh?=1<=J0T;}fo)Q*YV8Ub|AL3D<H}C(Xe|M@^U4%gN9P
zZs7B==|tB0TVlo2z^|QMx8p6A4nhF&nWxi$Z!%EO=ZI9t1m1RZfS#M;?kb|IF;3jb
z*x23X`2y?@Ut4j9Od{ap731`BF3PH}BTI^Y9y(#>eD*@{wq98vU1Xm0VP*3)I%Zs1
zPn1riAwO=vnTA<?;|W&j#z$9Q@daJ^bXq|{EdAmBP$Abr@g*ax^^lQL*N8aOR@r?2
zGg~S5(ix?yX~!6M;-k#!jwieaqSRiDI^b1J$)UoqTE2p(o$KXdE^Q+d$4S`bIJocQ
z;mH_C*E6Rl*Rs!&t)wnbyVa#IF0!ydx|Jw{FV|x3mZ+OpCympi$TizcZ=`kosL8&!
zKS8nojAHJz<zV$BrjW)dOZz(fm_zFKu|7$-@iIGuv+@W3KH>J3V_?G=^FFVZmxrgH
zwzSoAq%26oi`X`IS400cKDy5S6@iT%MZ3SP()rNPVScQ#6>HO@a0jlnEY%x*w^{j2
zeX)eJxSHv_y;<q;Wj)9p;D@vJjIiq3u4CM|u2B~=ekkNCg}u~ao&eeGD%A849o4Y=
zGhXCZq8!x`p25yJHe{-GsJb>!Uw4sU|CT|k>tSQ|L4V?9JW8A7oW}r^(7u08#0~6W
z(^tq|E0L4kdp<m+MT<~r9_iYb?H40VRW+ZBVKJ{DIYOwPDi8(TF5RA**tZrM(Fe37
zXeO|`f$-CQYM^+Ic|2ThIp*VgHaqh*-;NLNmX;Je_Ty+P7?}8S=bSEWHqIYgVz<`l
zU1bn^GSKnbR^9$l)g1srwrLGz+m^vI<XJ@KNi1cJ17jn+TdQ+INrp=gI`(Hn9Ic}h
z)>}Ya;Pr9t*^uJUDB^9_j14MWa*`&>La?^EI;^_UOq?Mly&3N2;p5?!?Kb$Cuq>W8
z&HQ8Nj<Em-otx@D*A{$j_vI^(&y<CRN^G)@(a9X9vrF%*V>6|;+K<SUb#tZb!0@iO
z*)VsozVeId6R}K7Q-gV)jsu;*xtJMmkm&qIt4tL5$#?OZzMq53Z5Csp{|4uo!GA|K
z)!0z8p><&k6d;U^CI7mFZpG5JOImTW+MPzy5?fzx!6%=#!LDv}u;>h0orxUfmDQap
zijW;N)A%I5H}!JzD;e|wz6R5WNZ<$waP{4b|53Rax%IHNbHK7O{Lp#(rJO&FK^avd
z0-yKPAyu)kN&{=}u641XvQGKuYCBvlO8HH;-9CVvEtr1Fr1EVQK1`Je9KOM#Ki^sJ
zdOb$4)R2Atl)ik!$Wr*A$8Yo^KEWSrOynw{`+e<M<1SCMv(y(<BzbZM-5heXy5f@H
zDk?fy+IEiXU2r34-*H<5Zsq1L+_iRPHXTc4QwBY9PB)wGC!=d38yGXw=Fe(teEK}{
zR&B&~pQjnv(*hsSf9jrO|KQ+YaaY)<$Z%liCXDUAP++-G!A@M-YWnc_*g%-x<|G?3
z<|%sWj=`(8<1=}9l3W&@8lkGS*2?%{NQ&7v95G{~OjJ~MW6_Ywv~k)sEy5bdmpkpT
z+6Hby0UCPVNYCyL%A|d$f<wXjQ^$BF8SdwY8JVRsRo(-ZTP;bEIfv}sU$ZMB&vfl~
zjY%(yDDKBtOF(7Qqrw?VkB?j@eP48G*Idnpp9F}w_0G~2!x*d=nYKqu;DL2K>QtBZ
zr{dS_3lU*qrLzXF-4l&AYZ|U4<Ar`KnfYypJn^D7r`dT67N72KWSVzZT=U3Ryfqwb
zW{Ufzf@`^bC4V`eH+Af1j}n`>OtRW1E0@+qJC3>SlfkLMR>E_XEnefOX8pcYH1`Cg
z8wg8zsZ2a4SLx2yOy7K)UrpEjS)i-=A+7Df2T$n5hPbNGxZARGsmz_LYawaMbRS+@
zC({<~#9_Nw?me)r5~ul3O*YMn%cRe18m91gFM?9bu7J|bo%hb%>6tt=(-dU;J#%WV
zp^60W!RvW3RI%k!m34I>l$d%i{dDZPo4jBGeEv{2bh*fE{CZxRC_glWH#EfLLV(_O
zM}I+j;6aI@ZP#|S;s{*wzOKP3*?@sl3kVo7G_4N8c?ESV?`5vam}Q$ZpYVK~j!2v<
zQJ{H52Yh|7!T9-BG}=YqhfSAf+#g1d#L_=g)7~bzUf+Hdd|VQGEueY)8BkKwXra))
zC7P*AlQMGKoM2*<XRYO8T-p@jT=@}tXoRBdzRhtuPhz1#yne)5cTfw?B`kxmu`KQ<
z+OGJyk4Fv(=;&zzc8@Fnne9}2iP~|a!?)vlY&q7VgMOyY+G&6e>_W-gbOhEm?ZJj2
za=e=n^kZ|gda7a9j4mh6JEhNM7Y#s|%+XMmY~FjPM&$1CAxOANBw?I%Z#t*_#&_`<
z+~H%(x7mEfed{H#3z9@mk4s;t2kwexQOA*-%o$%spX`*N8@LROtXLruXV$jd{YI=l
z>q?wO@@f;6ugrR;Q1VP0mc+%%yw7vV%B@ge5x+YsRU)YUaKAGf68Iy^q42f-mefUz
zKhyi?nU6n|CF4ntf;QNF(DR&gJuGqVNQ1)z6JRj_l2oDq9LX51RP8XlosSNSR*K=s
zFM?@tq`&Rlb5OoR&I-VEyD+MqnHm^D%FK+BVlOhZiaTn~QUvPD%R9<W9p86BhM<K%
zV0KRz--fB?ZSs(0&f?=?5sBo(<gDZ%^a6Aj@F}fyDBZ4)pqv&ae6NQ_&%VJDk6lmZ
zyZWe>Tm%$!tu!i|DRx$U4^2V4HSy(*&{1amvFS)MXt^g7oV0ooAH?qCPEkSaO;O})
zzJOtU%};l6sZtJRFVAeTSu3ZUIK>Mvvm~GLIcvr<U4EERDZ+EVEOIY7-7nz17GMH5
zV!@Pki5{a}o6Ga~Z~1lr59utjkxpV&BzpV_e7wt%zjl6KFKaekbJyqC=o4x7bu_<A
z=K(Kxc>XenMTuD>!o#ezr`3O*B8s{qX#=J;s~$yiKdh;j8*HHKTH1J4Eqi^p_7d!w
zFnvRMuU9|&PA!w_lN<yyj%j`I0S=|js&ge^XLSM2#0fXiFc0U~c+07B?SXVPSGQgD
z*6^ZP74Z;RT&@T24rpNTnC}VD4%~oK!fMoWETJ%}q=C&k`FNnAF$z+kKeY-gZ_y&j
zIS@VPzU1J3G0{Ovl({`&RZ{Fr!<OO_3G<7R^V>zpIsvMAIgH~;&={@Pmap+deP~@c
zKHEMJd-n97MOt0q_6V6z3pE&Q(=<h;)Qn(mMA0OrV0hFQzD{DQMyolgNqQtKpRsv3
z3At91#-nf}&U$Wpsrq$Bq?o~)X?e%bP5-9PwRBB>*3N^!=Kl2*X0vlrJWDG?8q=G1
z<WpO+YinQu`FG-&wYG2A&|%qxn>erq<GW6ktz`!*9>uG~7FacNuxU*k3~S0a(_bqy
zPMh1xU%Cqp4-wXS%P5RiS|T%MmTo5^LXh|J;3}uYR~hQJ3Pc(JPSR1KDUKFw^p>q#
zJ(m$kmqTa<%0>WrPJTexNk`RVT=nZmqCqbYwwcOngw~yK`6$-gcVv}zbYLfJ_^W^?
z5QBKLYpPHA(&B@x=opcXPKWX}YUpwKIcN`luw1mPKf%&t4VCtqhh;W89(L8*Tm_Xj
zSJ1)kx>mo^Em2bat-4m2#&?<8OU&EH#<=5!e(PLeB#A-b!fGQs^cCD%Y|pgqI9Z#T
zx$&|uz)|pN7U?APWqkfRMO}MqU$7mp_G*+?p1aYO$$dO;gjGBLZdfO<0ndB;_DTJC
zI3by+v1VqvaY}l@cc{8i8#a}-<xT_?Pw_+IaGYmE>xYxMJS7iTzs=#DONeS)$y)i?
ztsKTFL(&D!Hn=+T>FcQ`cmMWX8MG_%&#Jko-x^trg(^W?5e@Cdb|$_aS%(qoGg-=R
zGuE^d)OR(pxuyt4C%;y5<^&CwhE(2slo@C!004@H-Rc9^F@ch5!-eXNjz`@T0dX%(
z-{!!1m>$h6_vVs&TZ0CE2^aAES#!||rDf|u_~Ho1(c1W8!b`Tvl4KYT1OJ89_;EQ-
zFRS*)r#!7(QRSLzoOdcsHPZvj^<AgoECb+0^bOuh&%I;lt!on1h0)Ac)S=Y|Vz;#C
z`lTC`0~PK&Y`_)Ds>80fgJn<y#$e^?bO|yg&yXw0&g$vJLSkHV`YPAUuj7H156frH
zmn|IhEnSz6YXUs0_)A4w(P$jB$gRy=!bj)r$ChZclNHW8+WV;PcrRmt8Q_5p&*cU3
z*oCn6yX%$AgXZFsN9{)2UL#d4=a$($Ma33@RL}a5>!HHKlW<HP%2~MNFXx(T%>x-j
z*Z7U=EToIqi@S;P6$DXqv>O_=<UJ1HKelN&8P@DCFfF5DYn3J&9ZBGHS?cplZK}bb
zP8d{;LwA`Sx+{Do&#9@v@V))7PMqiBds}v_J;3YoY~^uJULZ$7gdfn_^~_e4jqCV;
z?Fr^>`zr&l#r~(=RO@|~aSM5*mR8B7V%Q`bVqf=Ghv1pJ-KX^^pDVY??pS*6GwbR1
zdXaQjdbdE}kJS{co7)@vm5H+|smT-2ejD0GY=Qy}$!(Iu_fb2e%9?(r{hW*F+tUWe
z9~rYO<&~*Z>_B_CAE8IA8ofC5jfeG>ZQ3Uz7UUjgXLun=3!o5j1?JxkD^AwiF92ni
zYwI0gm4LkEucu!`NhUN}2}*uD+Ln!GS7*MbxdsReAhzVgmGy?p_~Kky$+mk{BR|I>
zomHYbm*-BC52-+T&LCkI*M`E%C$fN1zM*~+_x;Y5$>S9U8!@Ng{VC*Z1yheNn`_H!
z`x>v2IthcVcd0Y<WaLL_Vy?teivYqy-uxeTh#M=JV@YUPK!Jmpp5t{K&)q|nR@s3Q
zI&f-Xsyl%d)>j@~Z-cpaQZ{2duBUUy{vCXY>Dq~#Kj>Z@imf%>y=ATM81W-C54Gn?
zW*mqgx|dH^qsH#_g}|Qh^(ZqrgXhjR(H<@PYM%ZT+D62dFRjmZycWGN3dg~cr<gPs
z?oq|s6yYmzMBZh)n~S&$n|mw=Ys$Y=y3C8QD5YC$Hdn~porm!0Cu3)5EB_c`piO@!
zbQ&55)^$RA#eHpE_|pEGHc$#w^QU)3$Z#TFt6asf)g)#B&K2ajTOs0RwON+mnya&L
zXFaZxK1<vNy^z8>lE+@?tgPxAIy^r%IcuIDnU*T8`%WhN^I$lWEalkuaIaw9nXC~q
zdnevYS>EpZT%U4hqE}={6c;{JE-$b&kM$5SxTf~da9#ox`y;=EJW1<^uPT-NkjVnI
zDopb~vo`3VziF0y-{0;DYnL7$eysu;=3}GWVNF!)c_0*qClj&xda%C!SqD?QH|Ki_
zWXihgRL>t3mY0-Qi{G8(_rb7P%?^kMt1~_YudN$l4+Lmis2=U4ZjZEhKlST@Nk@kH
zd2Z7DSM;zyGdnHj!Q0P?5n<egw~UR+_MaLRrlwUsY|O0grbf2Sy5i~K1|!>TAeknP
z12)H61`8HKfc8``U-ARpPudd-CpuVC&g`hxp0%?Y3<KGB{od7lPpj{tXZQ3q8{gt`
ziX3laAMv&J4@y!ytrDw7KqqBV^4ne4Hy78znN7?%5nafJWtLLXaAxN;y!e$1KTV|9
zg<qRZlYU2+apF^0U8lBb;kkEPZ^#>r%orOK43EQ?H&((lMd}nyF(=!A$HQo_pIdpn
zv6{S<wnaSo#cKV>0F1!z3g7p7z-R=~Vu3Ch-?n)zdX?D3h(SGQG3Ik}^Yc5)qj1%`
z?p(`T!1&s_bPHRJyjpAU5mu{Gxxu$PyosWBmt#@$+7}PK^PcQ`&2QK+WjI$@?JVZi
zf6$I_-`3$YJc3aeV;RyjE*#t@)_W>Aykjc&Y6jZ_8p2Oc<@Cn_tE7m$OxnWuvD3CB
zWg9W~GPRv2qGz06?zptH(rm^<bUt@_=yyUzWn{Y%H%#F&b|N;P@-Q3pw&pk|PH1vC
z=j8A>nx1W}R`o13s#jMt6?c&=Fjy*--25KpQDqCgIInj-y$)&}1D(*a{mZIjd>E)7
zz{CWdcuLHob7fAGV@05Q_AMiafRBJMOm;2*Gh4Y}Kpo4NK)sHZfyv(ZGG9ZayOrZQ
zYNL@e0`xpe54_sEag}bDHUkwg(#8D-I+^!kZTIJ-$Pr8oosDHr8?Yk6wj_0tXTC^~
zYNaQqz>kHAjG0jkI5h@ToXxcv&2iQs<9h4Ty#)SV?)u?nrb)jzQr!%j+`LK!yIq8R
zoCZatFP$D=KIt($WeD2dczm4-vY2`?n@ZLiX1m{aILb$SlTy!@-lw?mR(-Z^LUWvf
zf~fThHG;wIgeyOB4d-2gV<=$JZvWe>Ugnlk6G3c}kMAR8<lJ?!bWN+``pbr{Fthc}
zm4CTbYuae$pUEaY#d~KKGQ=vK3wX7L7V+ZEoisKCj%ib0fbB`*TCONDGshD<U%|V2
zsyUCP7$T&p%(DBks7Jn$-eV6nyLoF$-@Wj098y>7j&Y!sm+T6;R(@YMWDgmK7dp`y
zU{B`kedwvGtMU@jo`*q+X@Q+BY8=CU?b!xd_t#GJ*Cn<ywbo2fl+*RE313f(kG&LH
zf`Z<r;_)J)e77}9MJ);{SQ1{^qmJ8-Wx|5sA%@)1_G+E^y32OsR5jCVQ)-M7CJKL8
z9WnG#Z|Up^l*Z?A-;>!ml)zwWY>TVY@>94YtY@Cz7k_wJlg@|IyOcj2L&MhfruQHn
z)X8u+pv0Qs_-g=1+tvkqn1~2byC$U?<rCO<SVjD#xbbyTyGC!Ml6(QH1*s4{wYkDW
zIxMhk2ROx}s`bF5w{S`z-<3O@m^pOQRx86L%kIo~i@S-Vy}mrRww>VmH6+)%Eh|(j
zcww|c;&q&cjsQ+gKqq3ctcpd&#m-l`RoSo^%QlLL<JRr)sdTX_-7?0g^qfnJ%Ytv)
z!RlyQIpS%Qh>>D8$X2;%0V)gQF}dpSkJgqn-2>6_El}D3i_Y`YZ5&cMg^k>My_a8A
zJQ=P&@z3^Z7p;eLhlyLa7A_yOBrsq)G8=-QS{Y7A*{yx?t{V(mMUN|Nyvz0|NFPxz
zj$&*lv@Sox2Psmg^*0l<hY~=GoJ9d_?)JqjkYLJ4)=aE$g~O<-7fRysu#)#!EWsx`
z4j!6iC9I=*X9#-<J{=R1g=MY{<f&-o-L1>Ye+Hl`GYzd9f1Q%3e(AjO`2w9QqmShU
z{-z<gnlzOs=ywZ}P$*4*aw<PNG+ZclS&vawpQwBEXoc~$or-=MG#)K~lmfXrUwLY4
zE4tyaJKxrSJboUG-Za&kutkOzbDeOfH=Q5uSMkp0IkzsRODTY|J!bEyVv}^b@=7P-
z3;Of++E{TKOfz2BAT@Dx`j~CPP<re3GDA7BQ!>J`AJ#S#us+`zv$oM9kc+cN^G?mD
z`e-GC!j7s~rcVXCgFP0gR&I1ssPbA@RF(%$)Tw_0>ddy44G|V_7`t*5dYc3@r(xT!
zX;Oi4t*--23o<p5ue>?<2_s(DDh!+LF8TV7X*(GxNCX^d3Sp)DpmOJG4NJL>ihpCG
zK3#Nus;HxrdofLLE25&~ZvFzGQFqE$n?`L-DpqF_NEt7#prCW`m3*)MbN5ba{DdmI
zMx4@4_lgCm^)22kiwiVzcZrqt;AvUgKBMRdT(?~{PH1JMf&{Kh&&W&Z;YSdX?%Non
zMx9!28i|y=()mD^?PN~Pj`n=kuq!{GSC`_)1DL6sAqo<ndNlWl=ADNvx%Ncsj?F9N
z0UKws6?TDxbL|-)`qXC85tg*uS~NP6dFnBm^Vc7e&|>~kKf_#D9)DuC`^5JlEbfX-
zX#UP@_SAs{bS=f*;?v^#y5?>k)aOm_=jNbRBJTY1s6k)Bm1nX-4h2(CL$$80o%5RG
zs%y<W*VG8U+Me1v5Ty7RD2L8yfe-n(Cze&6lF>)3Dq+W(z%Szw4V$OCkL^%)5sI_n
z#mPH+r8bGI)AkSTP$$CM@-bgSS_w3{A-}xA+>CWr<mRG%b}52WTL+an;~0WV2z?qZ
z;FG;D9(m{5FOEJ;AEn(#6`nlIN7W$97v@=g@le*Sx&d#JD*}PR>sCH7?NpikFzHR>
zFNOkrBwrGsa$my~IL2A8fPDQbYar>cAhB~-nLOJ}XtECcH`U?bP#7W+nFxkC$c_M|
z?PHO!hF#CH%#dx*V#$VC$FHL=oi#uL1#uc{kJ5K)F0MjH(+mB4JDiNIJ=hv_tOflH
z^WIZ1Tn(a5k6>S-OhiBjPTH{#_f3OI->U0U`?d?ogDs&$thX|O2V&L0c2ZKjtymGh
z-kuYBtMRicH@;*?;P_pgnwpyo7dwW{J|JOXNbCo7V-y$SS&_$c;~LT0odNv%(-8G=
z;l1PI4C7RNc6TIMOdbNK!}toRZ9E716@r>dFMD&HJPt)j-ENSzwUV(`V*5A~Rh^Ny
zuJw0!0#gFM(Dvw!BSli5>0Kw^l$G({jT<_6sVi<{;R<aB5@cyjX6Dd|VD!*ejot4q
zuTZ(2Lzm~0S*!-M9uC74iU(CQ(PtB!ng@3)hw3@k4wS7|AB72w+j1&*D37gyI?nbu
zf{8vyO`aJG?oS;?Yu@|j9l2C>TNR;oMIV>0I}DHZbkYPb;c%ND+$nr#W)L}O_uNh`
z)wPZdtxV2(SA<;Q>wJbDWh;{3%N;kX?zF{Q-mnpC6HwqRJR0d&ewA8vm6mG*&4*QL
zx-9S$gSm~KW^(9v?o@S%`HCN_4WpDs-{N-WS*UkUfAE3-P^M~zz2h^lo-86-UHa7W
zz@e!VRk&hYej~s@N;?oA)9sDvDKn0rbIOn(_BOR5WlLQ?@u)#wYpP{gxS&8n9fF+p
z2wdZ2+o;5_^^@P6kL<~anEUlZfTP<V8wCxqiYyeT)L1?1%4EelBz8`F?p3q1)xVBv
z`V8xMEd*8WRR)phtVGz5^J{i4Dd1?^JnRd~71*(hL~m!;+O`af5uepYRsT2+6NXM=
zJ0r(bMLR#E|Lmr$bgyLN$XQHl#$=4FlDUg7`;0FEYXfv;>wMsBZ?oL&q%j+m^x~B{
zrr{4opctb}kZ(nkOpaJ}X0(r?EJNJLPH9-b#!#$20e?19#3lW#Qne5lto{S#N}GxE
zW^cfzt|({%kNc!$z84O5)np=EXn{+V1#BO5I@!4H7JrYcMRPtoL_Ee*mM_Xr2{y9E
zS&P0!t~}&Fl7D^OY$SdV3n^ckz_Vgdc{KhBO-#Ue)Yust@S|caC$EJ(>!6B-yMh(~
zQ|_j%OV~CwK~ZVleA`3iyoG#Hy_J9AZ(yvmm621jw!f4}7_F_i78U3RgLE-Znk9YG
z2I`bxh)P;qC`z_QFy2K#KG$M(^;b+TRr8-WB0g{A7(B~qvgUMJ3V*5_967!ui!sF;
zTtT%bs!6H@uAPUsn6yMgcvZ=p$`oNZSGHcu!dbt8JJ9fZ$xiNzde<70*FDHsxMXO%
zLe*Lp8=PC}Gpq&j9ce1wfR|_h$yrwV7JOTuDYA)2Wixpc9^J%wU)v$k;f}dunH48W
z2CfblIZ&P}Q-CjCwb4#?DJ(q=^@p`KfOp|;bGxK2inc!HebWs`1q-{j+;}qhLc7vj
zK8I;8a${>_qn@R`0u5lXbx3Xc!tqr~Cp5(hrsGA&JA|+1>y`{kb%xv>`0?(6R%17|
zbSI2jMx`;zGhKc&=va)$$uzQoPXpVtU<+w3((#P=dzw@jW(GLweUoyi4RqoL!0%jj
zozMMewQbQ?M*^49>BoCRo)WfH-m32#{7K-;bcqz7&zXl3E6g%PmjP%r%=CwWyEc2r
zx=~gWr&$S48AfF~vzyoeNir$vPil>a*qcA?zuwz|bR;tGpU3@6@TiyihS8|HPr?s;
zITO!OIGdJ!PE4eFdB&kEKTb8aad<<UHIy&S?(+h)D!1FU-Bh4Fj3uFo9cvSoGhE<F
zFOgPKf1MmXd&oQl#&1gXiK}Mo2FrM_w?B>Ba<k7UfUgHz?&-gaK+v;}*2%Q$liyIa
zE{;<YbHOLQG=<D8G~)0<anI%9aa~(>hoPdR0R<lGBcfEW;$u@A&xQ@#L%orJ6mW3T
zS|}jJD1S>H?0{k>EOp04QMs@KBLri`93t}dsdtw7=F9ho(AkZo^Hrr&Yq6W~$guTF
zWo}W!gLkj5-4)B)HM6y7BuN52s~94$>(0e}U^Cr|inHnLM%2@`i4r4b?H_|KXBMiH
zx5{(ikjhuCT1yeTG1IISe$~?px97*&t-2zkXAW_?+lmcC*vP7+YYspfFT6^Z!UIqF
zbbANQDQ6xVyT|@W^BDthDHt1VSF{$5Kn073tr}5x-+zt&Y%7EK+@Rtd;6!@=I`A8G
z9<wv-*-z+KahhjAAh$`0V?x2foI#*gS#DmwixnF?)WDV5X38*mTlm(W+9vRao;+3@
zzqw=Or-Q&w+E`MuZh1y#pA%;f0u^3ucISD-0*gz`<@vYxo`U#&PYqV2F&&qkQx?HQ
zuI)~3jRr=()fwI>md5(q4K;gyFy`bEh#TI=VXHpzNyb#s^p;}gsLRCk8ROY9+oX#Y
zP`6RkobblW63dmbC-eYE)XE3nToUO18@T#iyoNqt1nVZ-<PxUvzT^;o^n#y~WOGAs
zlD$*Nb}`z`O@kJ}C7^p(zhAhCMk43c2MvA702+yKsRjm+3RSsXfVC;!sChwho}tUK
zGD&d!?h6SgsRz-*SlG!AAxr8t3h1wPx+5?;0yds*p3IOgiYRtq56gQVKuvMl?J&$r
z(iOnhG=7W=peNn8H`>4$y{%#u_H(UI$>FYAT7wl@ht?))r^9TR%4pZ7Y%|JyXRv6x
zp!Qr=7v_8c^=y*DG{U~oUIT~JrPvm4-LwzuBs3BMqxazOC#82Z@V9{V0Snh`^l9q{
zkuVyg%2NxSKgMCzrz)KhKen0${#<Eh%DkImo|He`>_Bnhst%nQD8IWkISD7Fa4K%I
z^MkDWE(Nh0JRGQT2({Q7g+;fGrc;C|W{H`lG$%3vi!2Jjl@z6c0ZY{krtGuNvv8aa
zx~UT?GfUo;2s)|)?Ke`Ys|I$5wWVxYid17k6i6TH)EEhQS{4dK6(`?T>of|kb1Nx2
z&E$wCC=zF%O1#deloH|;jjlQJ#%qd5sC$mz6o*MQ=x`~mGo%k&WYtZct!B8`G`0P9
zL2+6ySKuzaiXHH9;e2sL&A?e-n;`+Q=H|EyEHa^bGY<ee96(g&IhiA&wq_gcUgj^a
zSMW5z|9GA{!)X-2P5cz!_(n63oImiphg?EoP-S)VI9|dxldP+YU(f<JoL6%8h9z5j
zFZKpp+v?8r#$dX6%njc99!s{MfzB{lyZ5Ejq6nkP3Y@&3SnV{DRx$K?pIJ#CitUYo
zER35rwm})#{>^Vrjzn+7{$iMZV%p*?0Lck_e^Ug*$A}EAl3N9L-)KzIap#wz4FC1Q
z!_8lZ3;myFH~mR&6kyBJm7w1o6&-Y<XVJO>R5A);6@CzTXQvmW6><tn5dm5S76w(C
z2u=+Rk&)5)y&hzHp>y_s<K?yGc#~|{H!L{Z<d*#iRsL+zKgbZq+MCyaNz0V?h>TDs
zs4%F0cmYtbdi{`-QprsJM@`Zy&tf=D_ViGDCEc5tF?EPgj2tNgWxQq|p!94gJQ8mU
zM4|keFMVBahygHAqhs@aw>|&7Yap{G{2m55sC8YZz5GK14k|fq4)AWmAGQlBnOYs3
z_;GxO8LD%&EwW<oA2OD`v_Ou3*t<&Q8%=+Oyu0x|c*w+thT0Qbzd5piu=xM@x-pX3
z)6js_=wu+^CP|nnj0j}#BS8H!Hg<B}==TXzpWzSGc0|wn_zr3^JS;NCS+Y`lgx$X^
zG!$Q5B8|d*rWh9LqPkn9P7itAZibn)wmOO-&EQ%4`x5__&FTmg6jn1dI~Or<J|68g
zGRz*9gcf133;r8_0fAm*ZotME9etlMCjHzM_)jG)6rv&q<47NuncFu{`hJMu+dv{M
zD7(?Go#{8F^;X)4==2MDGI1@_3(!<;qg0*g*(nKEE_P@kL|T9BSX!ZKdFd;t3ABR4
zF0+Q__YZzp&4?H3o>~>!!Ux5>gtAURIT8}#ujLi`B%^TeTA1>9(^91)%lqNkVmA`k
z2fR9^Ky%N*)Mj`lv}1iz2%_yYk<|7R%zg*WjsU4Yf`YL^htwZI!7UO(>W`p?pzqLK
z1*u>>?I#|&9E5fLEt5bnBz<{u2=ZrNtvdZ|gZN1hLKzBO!G{Yv57~jge<Er65|yod
z$!Ma6CcZU&LW_ttKx(JWY;_~bS|J=v>KopbyU6tI1LQ1WH1?+5>ePpbew}7$;vO`&
z*>2-YHD*E_9z^9%(9!~h*9wYEZ=BrwvtSAkbrD|XZ!y`l@km%?h>Cu7P&gS~XcB&=
z{bOH)mh1;lDOn5Gv=q(+Y_(*WlPB7sv*A&Q>=~HL+J5o&GMMN}sR<D$&I@kPkqWOs
z%`SzaCV4XF`h7)YeE*rcGc*|q@WG!CHueHJaF|u7=OWyg_L8QKyZJh`#Bz#zHO&*l
z0M;r1A$I!_4YI$O?AN&d%Znps%S5-Xnh39=s4E=i_g|&*plrJ|n}y)+NJ~NateyW=
zs8FkV8L`nG<c)$>#bTnd^xp~<FuiB@rQ&N+P+hkRM!)}ooV0}dj$Fmksw^d<$A#Az
z_HHq_F3o;r?QKmljX<gzdOa*dqFMv-T1b&MhF9gcknS02&r8RjMOY(FED|Fz7<kAu
zepB#M1qo~Uqg`wrv_Y+GA{yyplgPKl>trMGfvBE_E2TerC?i@7v1a3tfKn&DeN4ol
zMgQ#=^S9gpo-^~^B60S|dop*fIvr9Q-msNWw$o4UMZB@z<n{dS-;*QfDPy*ZxXs9C
zYWTea@!&t1lWYpgrVQ+lHhwmW?M1KmHC~o^IO)eRmteJxT=16m{Kjn`MNs1qWmm*u
zhq^>Y5R7f-DM!e(=4yf1<8XI{sQC;J*tt?=@$ad+U#HB2Zz8DxS+TG!XQJ5Qqg~+b
z-_%M?HR~UE-F)5Az2!Iq;?QpwlPxFF%U)eQ)sS5^W=2&!b0XY!SxzCJ_@QsDAJEY6
z&!Osq)-kTkNH+5#MnQ#<Cm(glFR?VH<$>wB50WmR(z^KLSP}r0-KI}BUiM9QQ`XtO
z6|Z+|EJ2OPyL$&p`cCQ-78_&v3o)MPkSL?B1wDIDjX}0@3P4e^#B25Ox0pP5+*<;F
z``vygG(urmLNMR@?yvc^d!h}I1MD>v?WC7jlNeDH(8^9e&#0}@Kh+H`MjWq~VRxe(
z8pjg?ujiC^r{7}Gq4|4wBNaaC^=7J&3i6$){rSCij|JGJNs~cAp2x_B&#~PIaJ%aY
zpyKGX#A<AVXxGhd2-g(E;C?Yl*!T?H{`wO;KB6yA+o%(Y^pnIy&`uL$R{MXegeV^8
zo!7_sGUA9Yb;BxEmxS*Bl?Y~(SSG6r&TX{EadhJG1clF6?U!7Tfn_pNZ^8m1+Tv;z
z0ody3YIn4)gFBn)dhg|94?)~m*4gdS-sIwRL^CMp<t6iTU8H*U<DAIt_PfApU&}S8
zQi;)vUfGCuu~2c1#4c*RWg?zLCOSTx-L<_`fhXW34gbj;QAF~`Q-C#&qEL1|`M}c<
zDbhuG)ll9A-N)<=ldQd#7YgW1oc`CBa`Gdv-~rat<%#cIsf<M@ulN1?xzsYuP4B)%
z^E;hRFS-ZNM|PGcrMZR5LH)gf?n-*|FN96Z37;@n90zPU@ZFAt2p1yVuIa4MS?Y9^
z4&QTggIeJo_eS;a;Obwvt&s83@0W9XZ;12kfH&sMzUqqOYZ?+TTB+u#_h>?%no8>Y
zuz(|pcFdb1eVjd_sBt!%sh>s&8C890QjE|(N?9q=PBkLhcQb(!=yv>Mo&VI2d{qCF
zf)4$|ggE27-~ML*E|a?YBR%9WXi1Yxdc;P}`8PK-<nA;R$2Fh(E%*66`Gv!c8DB%q
zK(FyltMs+v2N$m}u27q6m(debks?7{A>|?LWt(TbIVoVq%O9=>fpf`(KC-0xDr=^;
z1SC6!iw4Cv^7FHM{|AAQSIs@EPpS9TTIyN|W4%06u}XDiqq-#POr%^6(y<aS&sT0T
zS}@rgph*$0Ciq4!0{@RC<=tp0NArZl34ZjOjt4BBbg*Ne0c}$E{N_>gLQJ#?ux<8A
zOXnQX6x$v7_}j{e&RuLPTg$0OI1el-kq>SRkI7mcuoTvUx>wJi(Z$JMpP4~Ydqm!L
z)lC~i8^E`6SwbIN&)m@p?bcUoQI%@9@2x9mh}Mti9YpgW8#7C^V^LqmH|T5-UKgnk
zCG<KQ!56&9ZwnUBir1>2G_l<w?dA5=(;}hjETAXZi6PIz@NO2G;gGGsXp7N@{*YHk
z8*<|D7d+^G<O>bv6@N8uxa2j1E}|Gs&nrdWO;fxp8B*(fbh11{M)j@_WSz92CCq9k
zzH81<I*%espPyd%O5*6FIkoEuXpcY3xcgtm+spN(3NW&`4z7J+<bf)sQ%299n9xe>
zzYG@i!vqEofA`}NB@&UfcMW{~{Pv4)ltFBHVRV}0_xOD4AmQsqejO6kK;IC^yMSMU
zY=Nv(z&=Y{WYZln;|0N;7xC+{QyWHoX9u6!cw~vFkC)9R>>wV_5Y8rN;89#u7-a_?
zZ541tHIM1St+D?xfl`w=LMI3F4M!q)12~AnSj-Y;MUz9mW4K{WX|L-q`68TYo8^!F
zDyf0~x+9ZzL3(Fep@nyM+DrFL2>dRG%D679V*=}yDs99U=%W>4gu!2XPV6_-$Qu4E
zmaW_xeZp+cTi5xr!~}CgqW8y_8;;Wi`?7`<KWc*S+EOS{T{o6t$FnUci)77H6h@2C
zmcBbNMmZvc9Z|+~er111rA(G+`rZg%;>Qn2hJG2f<*DdyD<^4p{eYn!Os`C~(wR48
zHc^2r?yCEUSx-*=)dh4Qkixe~;_@f7BhyqzP-5Ui$xjBpYm}a`NxA3ijh*_4@+Ent
zAAYWJ%4(koHo;B&);ZNrs_(W3U<YmCh0Z|le?K%sa~zRnK7UfJ5zg0*#ZiXgCCRS1
zcUEk>O3~GRek67sj!AyZ7I=|UkXJAn=Nd-4ur{HyT+B8gQxIVJ7%oRxizW@T8qW7b
zb&F6Jno`GCI>;a+?h)DRRFFTVM%_6&V&xYSn{WbqB@?}|=rJlG(+o{<+{u<S#n-lz
zvcb8UNJRSgW6258j`bRMHKtB9?2%4WG<ABk=9f<>b&LM@xR0Zp6rBe^Hb-<KkcLHs
zgBf}2@$rJgV8{+_ym}`=2RVwCd=}Y?)Jf}P6wz^#E?B@R7e;+&m?`8oB)j=-(|(9y
zXgQ7VuA0EtAW{6P1GAL5u<7Hjgw!(LIc|N~@~~5&7E^8O6{q^cjy&Q;n;Ls(5g4Js
zUZM)x=V!>R(Spb*9$XKTD+Rrfy7EHM>cD>O5Cf*H-^a_`?8VRrwY0Eg;9TV1WBtkG
zJ6-WFqwdI2mz`};j=qUj%l)8vDf_oqE21IQ&J(|ihEK|!qu6EjfTyQ`28=HRClbj|
z5hZa9of}LH`*3bYIHPo3oc`|eOr3qSaarY2xr43)9j#$Mq0(T9V5|msHC#n3mmF1*
z*gMsclRTK9#fo@Z4GiyJemy5+Z#kYsd41n*hF{It`MtKe<MfDJ$@6Q2Mcm2}hES>j
z3#1b(BknSAZsXN42aZI9f7J?QpOZJm+*~^`ukB@N1ELNcdUQd>ITL-<3)FGkf2fAe
z3_6cA&f@3%reYJpv?id0)5<R7%h%npi*aE_fdEti@tj=Coq^aED(TlVWqcfxCo?_+
zE?B3pGAH1YE3T(Dj656h9;hF}Rwy?IPH3%aK4}}hiHVWcQ3s<oy6W{u42&{SC?&ZE
zAyp~j3caL2y^XY`6Kv{Efpm%H?Fa})*<n&#wfuZ3ZU1=ULe`LftuUHtt&>1kc&<??
zh9EJ&2qpU+FG`NWRnHG@aW0}akk2zGhA`vxH(hCnt7npJWHg5Q7kd;=b(TCdSrKj9
znzxXhj54zf1DNkjl%4;hkL!+y`j7v2D64alm37%<gqF<6$c&6DTn^#R-Xr9!?5wQJ
zD0^hDoGXrGWR%T0B=d-jGVXU$-`_vK$M665<N0}gp6}=D_5QqGpZDu^Q6$0Y8nUC=
ze5KiOSCs+2(DWikoY>W{M!aM?JN!~XEk_)z?1W92->V!5j7|`HcQxTWLRs)P9Ts42
zL(VbH=xCkdEPyFr^bSZ3)$<Q8JUZesR2s*|gIg^fF9}5N#|sr$l(EgGRq>}osxo#;
z^0yb_uE;MQ&Efg_cHBFAAJxiAFJUn?uZ!F8*4?ey+Ne0!eEqKTlX}+~X7OI$1FzJI
zXrHdd=tB9&VN51&ABb=Ab$CB!)H|yShYX+;UrG|^dFXgDrb)5bYQ4eXG1;Nuwwn`5
z@>i^miQ6~%ZJvki^R~1|RCk<CsnznwkX{>7(!F?l6mYdGDE#bf4=(9j&h%ik=8-h3
z^W%OSYjTHZ=Rn!G00xxEXoe~qdR?-f>vc6MuCH?k{n+ar{c@U$Cz(xsp(M!V2k~$m
z%{gAd4!L(+NqJ$`Z+J!Oy;Z&E#kQm9INk$YQn$SVRg#UT0QxT5RHK~ThZ_RaSU^&n
z3fWYJ+9ybF`j1{5Qu~;oBz4hN;<yxI;xd26WGwr}A@PvrRkwqwtRQCXtN`^UPfY&Z
z$#&V|PRD|{2r&X{n_o%O)1`9{H+Vc&Ob@%NRir+#5ap7lBeAinesPj8$vySbn{bX{
za!>hZaj)=vm^}l@<1B}l4wf@_$^74FYiZvYy$F5!%iKkbVOH$nz9R3oBY6_QZ@jJ|
zkUA-csZ;1M04k1Ia1>O>r!-B{9-a_(01!zGyX>TDWWlW0X}7iEM7ZS#TfPnt_@$dc
zb<TPhO_NY{5E#)Cb@Kt_<uF1Z$0Lg~G|_)?qOVm=b%;AWJ=Bo~^6Ld5Jm6JdtSjB3
z*@X+AvXb=@Go*EPGTsxOt4F9rByS8gW?s-UcL}US_T${~yJO$t!xpn*E$__qo!ic0
zcrUz1>)V*@zSVi@Tib<C{yKJ~PO_j{0DD*BJI)514)&|IiLA!=rrtWPuRA1Z_|e1N
z;m?7`!F$?T2HuzVJ~jfyXb|*f8t|PmYEoXBW`zn;A|U`t`QwRekrFt-|Czi}y}dP{
zfC&`ZRV!G~==WSCvs*CR1or|-7^H*%rX3hW^Lv92%%2wRkaC1YUlOt=69c%PV98K4
zQj6(1Ze9wdlgQF^$cF-GHSiU4<cq*R5r6YpR<c_4bn=d<@v0nKJ;lAi{Q<U(4Jq6H
z>!I18a#%65JA-pW`?_WWym?eTL?BneqSsF5jYV7|L$63fS;5uRj}+pp(4cdVl|boF
zOHq+Qe<B1&2#a5Vs7iJGSibZ_1z*aUI{Q)c-gd=7D(f)AdZ)JNrrzDRVqTVh(UBO!
zS7W>-A7)Ujrbn9F@Tznft9u<WeT!FpTKze%3^COANh*cfNlq_A;WO|1*uaXWgm|7C
ze0ZI$$K#?wOjG<ir2xixc#!juVjUSeKv^+QRliznK#T{NZV0@uc%EijN8F@?eHY)y
z=~2EaPh00;NMkr5lpCYn24y$pEled%<2W|!KI5}bzBLD~;KO`QQ;<5;2Si$P60+BB
z!S20cWLT(h*kIWc$&6JOS`i)Y$o5)D&w)6-M>D07CYzjK^~Q2VdnxOSMbDItFEF#r
zYMLjotQIB$Qq`8u5MooTV%okFB+`d>7&W;wngd*~)Vi~ArK*ulT|2kY7>)jXnRLwB
z7qnZ!@1JPB3s8uyT7B^B>M(McsbJ%ayEf{kE3lun$r5Kp06Cz*_!c2+Aj@o8C)IVE
zD;0hTJLGnl-9b8SI+7xm=;3C-o%eqFsg!l+S4Khd*l@=IUb#(bKbEmf0E8Cd0~Z*z
zP^C~%Xrme4A$^?4_v8<R`WTi{ZrPz(IU~lS^*(PSXom5ZB{)d}&b@=0PlO!ydW7G=
z2NJQx_Vm9|RaSW-$1HsUKpVmx426%G@^tn7<c;3I2#l-QsDXAMR2voY^my+xo>hnA
z5PVF3_eNG=Q%ucX9=UXa?@bA&6W9P$WG2Cq#VrfIWBbHgrszvM!>E`aXfazs`$BWE
zTdKh=80_26PmG@wzOUY=VFjPO86&)pF!y$bMe#6vcjo12B!>iq1f_Qys3!0H<cYY!
z7%iyxgaSrGRM2?HsYk(U0e;fETW!n~TDd}`!T`nv=;iLQ`}y2fO?CN2hPBD;RzI<X
z(Exe+v%s@tG!mGg=XZ`cgKs>9RXcuLkc~Zi1A5VXG(Mv~c}&(G2s$Z^JR)E7nI_r|
zu$5NV1Gz!|NImzjn|(Atsz5a>7YrwHl6xs~iz*qi+e<8`m7$8~$8{mUAB2tn4t=~o
zlB?18ZSoQyroQa!%iPlA(e&uy-qdg_>2bL8qdRZ&i^)z5@t}6eHR7Ml;I2ShBlO&L
zwn0d1zivB&_z<FrdeU?=h_On*^A-D=&WjskO|l+rCoyDzA0y-qo1D2R{kot$*<7!n
zttNj&OnY7w^^MCgk6$(Dx&4vgnXf#3L}PCB4r0g6m3?j9RXU)7)k(ZI_oQfcyAUv1
zP1DT$Ohj`UXq|b+g~16+*V?p5beROp^%2?77r7yBH^!D>&M=9Q#hWERLUd~RI8Poe
zjET9FsiGxQ^I^oeIhP0%3^H#2QR&}De4@SGR%TS5tMU5RJzQDuMcaWyA;{)+lSDdF
zd1#3P9>}4rg`oGF?%7USOR8JrZH_-!S}*s(d8x)Cy=wW9&TsE;<Lap=4<Rc;1x@Us
z0SJv3yJ@X=Z(ljtihdwEA_Pgz@A#NY(ep7^4!*w^4tlD^1(}}_Vw|VML97mhjjW^9
z2R%!?*pd?lq|2>$n8U+lR|XCt6<^ETI;;^I;8P&44s>m3V!uRO{un@z@9L5GD~2@W
zZG}$fyC~aNt8XM_?}v%e<?*lY!xuF@v&!FJ&dQEvL|sK{#AvUnXgwjd7n6C=xj?6~
zQ}hxAx1~e6i>}USlJ!tDijTv4sU?OFIWX_k(<^{ZxnE~y{Xe)eiy;f;3o<D4Lh<<8
z*E0oDbqEboS)M-E9d+JD=AsQh|J68MZ4`^uPpGPtXi(0)0qGV|vM-@A>Gh-&*UcDy
z&R5j_xx>aDGBz^SOyx|)ne*6eHueK+>@~rYHzEL^qTK6wlNwu<wNd$WxkLMxs5h?^
z4dom$k!8Y?d<~g{kB}N7ES_c|i*6t4kQ(fDu4H0J`lY47zRES0{kAnT{XhjRXgJtX
z;Oxm>aly?q-D~-UNjX&_MI$90f9c{89|k-?AbvHXa*=3p)=Ga4e8js07;!1<5l*PP
z<{;zVw4<Td=#c+tvk$+rn*xIz&niiwb#sb=Cv1UTj0q`-`=qQxo6Kx24ib3yZIqJ_
zLsVKCuWa2WlUrxpF4FD-m|Olfe8FSTGOuKKp|_=K#cf)#Xz&fV;&Kyb@P%tx$MRq5
z&vq)bMKt9x{4sO(-9G=gWZVcJW>`k<$xnpzOt7ZE(xV^cDeSWb{<0_rmn$Yin!#U8
zfBJl14;)qwzHd4jyLe+m4!O4ag3(xHn<sTrf}@k}OxOY3tbODb=V<<wB2uR}$>6v5
z2>Qu<)t^+0?9@FdYf`C?EyFYqHJ=?wu+K6G+ULx}GPl|ACcda)qy}`j<C>{a6=b!(
z-YecH301a%Kv0V}v>NssQ|kxzb}LfMQ>K1242_nVpg3h?M(L6`CSNAc2)MRA(p^N+
z65Y&02r7xUewV#t>lI2fO(thpxKqdgnMz9OV2^4u>~#d;;$J3@NQctG#>~{FokQ=C
zb>cv_M0<h7@s?EZiDSxREPDH_lDn7UmzCw9k00}i6%UDF($fyo<Kamkt!ksB#-|hz
zxe5)pp3Q9_gmW;tqA`=EgIT5-E>;z}%%>1TEIAt<cC_|W&0l&IH?HXombsK_^yd}s
zv9&G;LsCsZ64}Ngd$;S0+A(C?Y-HzZVN{GW6{{B`eYbSa40cj-PPAQ~+9WT(cjm|7
zN^KSXuuY09qrhV7(p`MJD(Bf}qz?UNN@=Rep~MOg+Rbb7X5Z#Zj=Ix8V+T}`-$FSN
z8cI-+YS8-2VvjK)tuM#dPTa%~Rk;YeSHzn|miZiVccbh(15pxoy;d%;=3Kuw=*`|H
zC2M#Q7f^(^#0qx0o=Kc)M5lT4IoI`yDEWN-EH{&!-Z#@s^uP9AnA`SG?8k3(Fu8^Y
zabs>r5P;}xZ~0eFjN*5{d=Ti)nCZ})LZx)9gg6f+vMTM9i@9b7*v+!t^qrWUqa(jV
z8gMpEz9!`Kja$0`F#4r=r$>F2b9N$25oWwR8y^Vh1UvXPcw+y1Q@w@&Jzo!67iRQb
zt^2ielija%BaDgMO899yT|V^GL-t>hvggi`1{QdLB@%reim$xs87b3>ohoI0gAf&$
z_MNbIAJUi&$qaZ9BoC837XMxrd)RS`&OlZ+U)<Z|F+s~*u`?o4nTfW>u9O&oq5U3^
z6s=pkWuWVA(tmBHCIurSmaD&(8E4&OU^Hp>np0r?IzuZ{Vop5Mc9OP^KlLZI&wI17
zl4d5{rF#23b$fA07&GAs5-tn!DhzS>kc!ZVsct;K1^+zJSb!I*Y;4DnP7xJl6gl6c
zR6m{6?CU=FT!)l&)}PduMUD<6vQqmjZc4FI+GiRjoDv-hSe+<-OqbP<J=C3h=1r%=
zxlrWt)dttlle(`JV;YIbiIDrl1gY`zVEcUXG6P&atAA$h{Bsy7@?zd`9jZ`uu^vRo
zxSK3kz)Abe!;QJ03W1TW<yI1g>Q+s?ii`!z%idGxdFezd{6+G)Ag-m=Ts5@&K-A(*
z`<wm4;JRhg`od4e2`ksn2aKeAB*_@ZK*5S=p%+5KR(3+0MFSZ&O7h@7$8@TpMnfeR
zfY3p|Jr%A$%4Hxu>#LoxA}mEQ(%VQs*9cc_;>nYX?Y86r|B(hYFy)E7h1GhhBG~NC
z#Bzo&N8K{}XJ|(0uR7_6+W(n-r>+I>sUXAgEYTmzbY{2%63^4dZsNi7R_$kUxaB{n
zk#)N~IT?xvTQDO=#9)KNmGbAe#-q^gp=1BJpLPM648_s`op^RCF4G)#Yz&MLym_^L
z9y?b3$N88rOq`P-{t{I=l;~mdQ_R#j0|&Y(`UH~l7e*6RHx{*!-;Sjp+9*j>k49UE
z)ZJP=$lDKi@YfV!V2Y2@+g;#DJIRuTRnrmKOf3(blj@iST=#P#PHOaf_@dl4mkL*-
zh;VurZA<!4E}F{7TZJ@((|Etkd$`WcsdjSlbp|wz=gMEhUI1h@TC(*H0QTO>F9a@s
zcN_gPm+Y=ysbvi5FHCRGlEOwS>u1#^t%(^}m&2{cbBV7TLEzipB?)R#BR%vq`)32N
zGpI9x)$FQ|+%YV>Myo@Dnl5?R(~Y`M#*x=I9`Oqq=&dh5WuzM9hO5Rm=JT?}w(9x+
zG-Pb1*tmlLFBZI&V~4M?W6_ceyO1cLS38lBU)6rA;V$Z6cm048?M~16VZMpIg5i8H
zi0MDewce2oXZAt;_VcpSXmTFUyV_`R#y{?&VXQ6ryF_6k_DrMbj7E0oe8y#<c;7px
z)+~@j3plz-bFN%$rR#{lmbt+?{8z-OL`naQz+%fP2Y`mr6Ly7m#WFt5gl7ujGC6xY
zzH6Z7(RWo4Jje@40HS2emY`H#&4E-hKyiY;j2<3H2<~d~am3)Xfv>`G6^k?_Dv&=q
zy-z0U3LKKbEbjxwmeobVvU*H6jVorqyyVpW;HQt>pdUUT{<+NzrT#RwG+t-Mss1vM
z@Qa-gToyM3aQ;xW1{oWqR<w9#K_IesqvLayPW7gVV%M1D``YZjqw%}3G>Qz1w$A$T
zpaKq!<y`9+)yGaEibdQy+J*qU_kS@E!#j&9e5CBMg3DwF0Jsk4am7t8utj)&sNXSt
zz-gSJe%rB1U8ew6Y03U}&0TNF)a$xJ2NSy6h7xOk$<URhIb?Fg6T5>z^+46Sm~-#*
zVGJbQN#l7MS=iy~?*wjQKubotZtsFQpPTg4?f)Z`qOs6;kM@)LDnJnVwI<U>(;Hf&
z&<_I7uk>QFu0@I@_Th`R+G5(Zkf^L5Ox4JD=@dR!6qIHbP%YI!HP<%V0e~NTf^?;i
z#Wp;BejErHJoTj)fRl}11+0E2`5NOv%6j;!^rUudy?XKmH9@*MY<nZ%$_Mi>yrnj(
zO)#UnFWn<W0I1dn3mIrm%}Q(S=fiN}EZJr!_Ivu*a6QzU`gr4z|Cp^?Wz|g{@n-SF
z(+w=?Ct9-C<EUapl46I#vYvM0WMjE2r}%(g2luAIKB~GXKPg3S+B5(ZvUOAmj@o$x
zRKvP*ieoZ1+dctz&%r7E|5pd=Pn64v4cUZ}yxf#6HBY{7Ui-=zP8BsNFoKQi6VnT>
z_;(;#J=d#yKgDgXu;4#r8+NN7o`zR`%*0HNO8N+JWSFGP2s>qj_vR<4e~#kZX@nw$
z1uywmBS0Ic2YKe=mcLVWMs4nJ!=e=eJ5FVoNOs7{+_+xOYJ!6qnv()1z3AMND3b{e
z(Tvxs6WD)?M3+f6?pds^l6dX-DOUOwB*cbv?PC6M%KK}8eV}{-nIpMB>;z-Lpu?ul
zxD~aJa4j<VYpF0M(Mh7j5yi>3YuVFv{$4)6g>~(%`I>Czqt8)_r$@n=2jP#(w-A2b
zgC^IvJe8rPX7NN-b?QlcQER8oFB8WnK#eYN$DX3dv4jNaQz(HEuE9cKA0SYtg+|ZW
zxg43#N}(&bZ#s%RMCRB+Vxg=e*%IXmH&RUzuK(2hRn5WiO^v?v%M_0=wn>37zWt}_
zR+(DSatFw=r(%vyh4pID2d&6|>m~Z42M4+@iCpb^bUYed=JC-T+9!``M!MR<7gC0|
zvusQ_{(7^6k+&p_W#t3gMlL^Wu=}HWKz7?cF3_}7#ksaZix^eK$fO@=!hIcB;7k$5
z3gb{2oR33u5nnus@;weK7}FkLE25SN;1%jvn!6PB{yy~f%!7x?c2L`|h5925^)sMw
z-MW|Kx;QEt$!4JlO9Jq0uHL`<JpbPv7$FI&BSn!0ewvF^o#ZDAHB@y~DwN^D{{sfX
Buq*%o

literal 0
HcmV?d00001

diff --git a/src/dawn/display/RenderPipeline.cpp b/src/dawn/display/RenderPipeline.cpp
index 1226f148..6addf8cd 100644
--- a/src/dawn/display/RenderPipeline.cpp
+++ b/src/dawn/display/RenderPipeline.cpp
@@ -127,8 +127,7 @@ void RenderPipeline::renderUI(
   // Clear / Bind / Update the render target.
   renderTarget->bind();
   this->renderManager->setRenderFlags(
-    RENDER_MANAGER_RENDER_FLAG_BLEND |
-    RENDER_MANAGER_RENDER_FLAG_DEPTH_TEST
+    RENDER_MANAGER_RENDER_FLAG_BLEND 
   );
 
   // Prepare the UI Shader
diff --git a/src/dawn/visualnovel/ui/VisualNovelTextbox.cpp b/src/dawn/visualnovel/ui/VisualNovelTextbox.cpp
index a3d0a91a..0482a96d 100644
--- a/src/dawn/visualnovel/ui/VisualNovelTextbox.cpp
+++ b/src/dawn/visualnovel/ui/VisualNovelTextbox.cpp
@@ -142,12 +142,6 @@ void VisualNovelTextbox::drawSelf(UIShader *shader, glm::mat4 self) {
 
 }
 
-void VisualNovelTextbox::setBorder(Texture *texture, glm::vec2 dimensions) {
-  this->border.texture = texture;
-  this->border.setBorderSize(dimensions);
-  this->updatePositions();
-}
-
 void VisualNovelTextbox::setFont(Font *font) {
   this->label.setFont(font);
   this->label.updateMesh();
diff --git a/src/dawn/visualnovel/ui/VisualNovelTextbox.hpp b/src/dawn/visualnovel/ui/VisualNovelTextbox.hpp
index 6ef73bb7..e1e7c719 100644
--- a/src/dawn/visualnovel/ui/VisualNovelTextbox.hpp
+++ b/src/dawn/visualnovel/ui/VisualNovelTextbox.hpp
@@ -19,8 +19,6 @@ namespace Dawn {
       int32_t lineCurrent = 0;
       glm::vec2 labelPadding = glm::vec2(0, 0);
       UIEmpty selfParent;
-      UIBorder border;
-      UILabel label;
       float_t timeCharacter = 0.0f;
       bool_t visible = false;
 
@@ -41,6 +39,9 @@ namespace Dawn {
       int32_t getCountOfVisibleLines();
 
     public:
+      UIBorder border;
+      UILabel label;
+
       Event<> eventCharacterRevealed;
       Event<> eventCurrentCharactersRevealed;
       Event<> eventNewPage;
@@ -66,14 +67,6 @@ namespace Dawn {
        */
       void setFont(Font *font);
 
-      /**
-       * Sets the border information for this textbox.
-       * 
-       * @param texture Texture to use for the border.
-       * @param dimensions Dimensions of the border.
-       */
-      void setBorder(Texture *texture, glm::vec2 dimensions);
-
       /**
        * Sets the string (label) for this textbox.
        * 
diff --git a/src/dawnpokergame/scenes/TestScene.hpp b/src/dawnpokergame/scenes/TestScene.hpp
index b787a4d1..dfcbcce4 100644
--- a/src/dawnpokergame/scenes/TestScene.hpp
+++ b/src/dawnpokergame/scenes/TestScene.hpp
@@ -57,7 +57,7 @@ namespace Dawn {
           auto player = VNPenny::create(this);
 
           auto uiPlayer = canvas->addElement<PokerPlayerDisplay>();
-          uiPlayer->setTransform(UI_COMPONENT_ALIGN_STRETCH, UI_COMPONENT_ALIGN_STRETCH, glm::vec4(i * 220, 0, 0, 0), 0);
+          uiPlayer->setTransform(UI_COMPONENT_ALIGN_START, UI_COMPONENT_ALIGN_START, glm::vec4(i * 220, 0, 220, 200), 0);
           uiPlayer->setPlayer(player->getComponent<PokerPlayer>());
         }
 
diff --git a/src/dawnpokergame/ui/PokerGameBorder.hpp b/src/dawnpokergame/ui/PokerGameBorder.hpp
new file mode 100644
index 00000000..b7d3a46b
--- /dev/null
+++ b/src/dawnpokergame/ui/PokerGameBorder.hpp
@@ -0,0 +1,32 @@
+// Copyright (c) 2022 Dominic Masters
+// 
+// This software is released under the MIT License.
+// https://opensource.org/licenses/MIT
+
+#pragma once
+#include "ui/UIBorder.hpp"
+#include "asset/assets/TextureAsset.hpp"
+#include "game/DawnGame.hpp"
+
+namespace Dawn {
+  class PokerGameBorder {
+    public:
+      static std::vector<Asset*> getAssets(AssetManager *man) {
+        return std::vector<Asset*>{
+          man->get<TextureAsset>("texture_test")
+        };
+      }
+
+      static void apply(UIBorder *border) {
+        auto text = border->getGame()->assetManager.get<TextureAsset>("texture_test");
+        border->texture = &text->texture;
+        border->setBorderSize(glm::vec2(16, 16));
+      }
+
+      static UIBorder * create(UICanvas *canvas) {
+        auto border = canvas->addElement<UIBorder>();
+        PokerGameBorder::apply(border);
+        return border;
+      }
+  };
+}
\ No newline at end of file
diff --git a/src/dawnpokergame/ui/PokerGameTextbox.hpp b/src/dawnpokergame/ui/PokerGameTextbox.hpp
index 48de8546..8c7b749e 100644
--- a/src/dawnpokergame/ui/PokerGameTextbox.hpp
+++ b/src/dawnpokergame/ui/PokerGameTextbox.hpp
@@ -4,31 +4,37 @@
 // https://opensource.org/licenses/MIT
 
 #pragma once
+#include "ui/PokerGameBorder.hpp"
 #include "visualnovel/ui/VisualNovelTextbox.hpp"
-#include "asset/assets/TextureAsset.hpp"
 #include "asset/assets/TrueTypeAsset.hpp"
 
 namespace Dawn {
   class PokerGameTextbox {
     public:
       static std::vector<Asset*> getAssets(AssetManager *man) {
-        return std::vector<Asset*>{
-          man->get<TrueTypeAsset>("truetype_ark"),
-          man->get<TextureAsset>("texture_test")
-        };
+        assertNotNull(man);
+
+        std::vector<Asset*> assets;
+        vectorAppend(&assets, &PokerGameBorder::getAssets(man));
+        assets.push_back(man->get<TrueTypeAsset>("truetype_ark"));
+        return assets;
       }
 
-      static VisualNovelTextbox * create(UICanvas *canvas) {
-        auto assMan = &canvas->getGame()->assetManager;
+      static void apply(VisualNovelTextbox *textbox) {
+        assertNotNull(textbox);
 
-        auto assetFont = assMan->get<TrueTypeAsset>("truetype_ark");
-        auto assetTexture = assMan->get<TextureAsset>("texture_test");
-
-        auto textbox = canvas->addElement<VisualNovelTextbox>();
-        textbox->setBorder(&assetTexture->texture, glm::vec2(16, 16));
+        auto assetFont = textbox->getGame()->assetManager.get<TrueTypeAsset>("truetype_ark");
+        PokerGameBorder::apply(&textbox->border);
         textbox->setFont(&assetFont->font);
         textbox->setFontSize(40);
         textbox->setLabelPadding(glm::vec2(10, 8));
+      }
+
+      static VisualNovelTextbox * create(UICanvas *canvas) {
+        assertNotNull(canvas);
+        
+        auto textbox = canvas->addElement<VisualNovelTextbox>();
+        PokerGameTextbox::apply(textbox);
         textbox->setTransform(
           UI_COMPONENT_ALIGN_STRETCH, UI_COMPONENT_ALIGN_END,
           glm::vec4(0, 238, 0, 0),
diff --git a/src/dawnpokergame/ui/PokerPlayerDisplay.cpp b/src/dawnpokergame/ui/PokerPlayerDisplay.cpp
index 325bd5ce..a28897c0 100644
--- a/src/dawnpokergame/ui/PokerPlayerDisplay.cpp
+++ b/src/dawnpokergame/ui/PokerPlayerDisplay.cpp
@@ -12,12 +12,31 @@ PokerPlayerDisplay::PokerPlayerDisplay(UICanvas *canvas) :
   UIEmpty(canvas),
   labelName(canvas),
   labelChips(canvas),
+  borderInner(canvas),
+  border(canvas),
   animChips(&animChipsValue)
 {
   this->font = getGame()->assetManager.get<TrueTypeAsset>("truetype_ark");
 
+  // Border
+  this->addChild(&this->border);
+  PokerGameBorder::apply(&this->border);
+  this->border.setTransform(
+    UI_COMPONENT_ALIGN_STRETCH, UI_COMPONENT_ALIGN_STRETCH,
+    glm::vec4(0, 0, 0, 0),
+    -0.0f
+  );
+
+  // Border Inner
+  this->addChild(&this->borderInner);
+  this->borderInner.setTransform(
+    UI_COMPONENT_ALIGN_STRETCH, UI_COMPONENT_ALIGN_STRETCH,
+    glm::vec4(this->border.getBorderSize(), this->border.getBorderSize()),
+    0.0f
+  );
+
   // Player Name
-  this->addChild(&this->labelName); 
+  this->borderInner.addChild(&this->labelName); 
   this->labelName.setText("Player Name");
   this->labelName.setFont(&this->font->font);
   this->labelName.setFontSize(40);
@@ -28,7 +47,7 @@ PokerPlayerDisplay::PokerPlayerDisplay(UICanvas *canvas) :
   );
 
   // Chips label
-  this->addChild(&this->labelChips);
+  this->borderInner.addChild(&this->labelChips);
   this->labelChips.setFont(&this->font->font);
   this->labelChips.setFontSize(40);
   this->labelChips.setTransform(
diff --git a/src/dawnpokergame/ui/PokerPlayerDisplay.hpp b/src/dawnpokergame/ui/PokerPlayerDisplay.hpp
index 1f8054d9..e98829b5 100644
--- a/src/dawnpokergame/ui/PokerPlayerDisplay.hpp
+++ b/src/dawnpokergame/ui/PokerPlayerDisplay.hpp
@@ -6,10 +6,12 @@
 #pragma once
 #include "ui/UILabel.hpp"
 #include "ui/UIEmpty.hpp"
+#include "ui/UIBorder.hpp"
 #include "poker/PokerPlayer.hpp"
 #include "asset/AssetManager.hpp"
 #include "asset/assets/TrueTypeAsset.hpp"
 #include "display/animation/SimpleAnimation.hpp"
+#include "ui/PokerGameBorder.hpp"
 
 namespace Dawn {
   class PokerPlayerDisplay : public UIEmpty {
@@ -21,6 +23,9 @@ namespace Dawn {
       PokerPlayer *player = nullptr;
       UILabel labelName;
       UILabel labelChips;
+      UIEmpty borderInner;
+      UIBorder border;
+
       TrueTypeAsset *font;
 
       void onPlayerChipsChanged();
@@ -28,9 +33,10 @@ namespace Dawn {
 
     public:
       static std::vector<Asset*> getAssets(AssetManager *assMan) {
-        return std::vector<Asset*>{
-          assMan->get<TrueTypeAsset>("truetype_ark")
-        };
+        std::vector<Asset*> assets;
+        vectorAppend(&assets, &PokerGameBorder::getAssets(assMan));
+        assets.push_back(assMan->get<TrueTypeAsset>("truetype_ark"));
+        return assets;
       }
 
       PokerPlayerDisplay(UICanvas *canvas);