From 17fac0b9ecc763f3d15fbeada8e082fadddd3fe6 Mon Sep 17 00:00:00 2001
From: neon <>
Date: Sun, 1 Sep 2019 17:22:03 +0200
Subject: [PATCH] new Plugin: Hitmarker

---
 .../materials/overlays/nano/hitmarker.vmt     |   5 +
 .../materials/overlays/nano/hitmarker.vtf     | Bin 0 -> 2796384 bytes
 Hitmarker/scripting/Hitmarker.sp              | 303 ++++++++++++++++++
 3 files changed, 308 insertions(+)
 create mode 100644 Hitmarker/materials/overlays/nano/hitmarker.vmt
 create mode 100644 Hitmarker/materials/overlays/nano/hitmarker.vtf
 create mode 100644 Hitmarker/scripting/Hitmarker.sp

diff --git a/Hitmarker/materials/overlays/nano/hitmarker.vmt b/Hitmarker/materials/overlays/nano/hitmarker.vmt
new file mode 100644
index 00000000..38e6884f
--- /dev/null
+++ b/Hitmarker/materials/overlays/nano/hitmarker.vmt
@@ -0,0 +1,5 @@
+"UnlitGeneric"
+{
+	"$basetexture" "overlays/nano/hitmarker"
+	"$translucent" 1
+}
\ No newline at end of file
diff --git a/Hitmarker/materials/overlays/nano/hitmarker.vtf b/Hitmarker/materials/overlays/nano/hitmarker.vtf
new file mode 100644
index 0000000000000000000000000000000000000000..3bd9dddfb28ae59c72a80d074bd87588471f14bf
GIT binary patch
literal 2796384
zcmeI)Pw4pfeHZX=|7bh3u9qUrKg5xq6xq!=!KR1RMHy_+?6MYD+e51s+Fs0ru`)z@
zuvl^!ldT}aZbeiipkf({hYGrZl-7kdBIr%RE)7Gvug}->nWm+Pu)0N?J_`NwZL_6)
z_W69ge(z7V{M38j^YE63hle-juRoE$KD_ne%@0pJJiOulasKkl|MTbH_1}Jbf89Ux
z$#;E!{=px9TmI(lZ~ew^wtp#q`#Udx_2tL@rGNkPkB|NPuYcp8|Hj|nKc9awfBEXm
zU(eru<DdV=@A&aC|I6O=rZ;`_=da#B^Xk8``=9$i|NJ}O_S^Tj{+9pw7w=#H<TwBK
z_vbf$^XG5>?Z5r!7au=)|I{l9JU+hoco}~4=ldaldG%l4kN>~_{Kki;pL_D@=idDI
z`1#A{*Y@)-Jo(Dc-}2wb@6Ugp{Qf?Z-+zC9zn0&{8y|k`{{8glH{I{@yDU%te(%4u
zhllR@{(=AgE(Li^=il=_yyaED-hcPusr`I@_2)Od-usvTys!BA{+FLh0B?EK&-cIF
z>DgaWu|FQS2EXV2yxx8BpKrafANy$n?rCGN2YaxGB)|h6Bmo|_2KK-M9()gZ@B^=Y
ze|!Eb`H%h7e!lN-{rPqO{q1}G{^!5%SH3?!|COgwfFF4E`{VOpDTO>tDt>+7*GH{^
zUmx*+2R!s%{C)c4!Qbn@9`m1nch;{r{CcAa`1M9(um^jvha|uQ9wY%Cwg&dV10L{z
zhrUPbAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVK
zz(e2Db`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}B
zJm8`4X*&o!<l$@R;fG)S^WQyuIKSJcKGL7>&wuyuY<~9Vzq3bsd=2;bTECC8|5yI}
zhY!y_mH(U{e)Z3P`0%k-U;p+0b=?2gdT)Mzos;*D_s)vozPK;$3lDk7!%M(DXb=4H
zvCTmrmV-X%LlfX*W3UH%u!khT10Ey+9<~PdzyluefQP=P?I7@whdksV4|#YAxCiZl
z_u}TD56eLx^q~pxu`$?#J=jAM-~kVk01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6
zz<Y6X(1+!q5Bksq_}Cci!5-`(3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^UIOkx
zd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+ZgCxMi*1#Tkzylue(D$?*1RnB`hdksV4=(}t
zpgr(j+#K{_Ip~8vGyy&~279mvdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE($U`3TkcXFm
zd(a+uFK!O{upIP3ADRFk8-qRAgFPex9`GOu@US(o2OjW%2R!sWZ3lseJmet{dC0>{
zz&&UWycahIeOM0qpbt%ekBz||?7<$A01tSO1bEmQ*aHuEzyluop0<O)Lmu*whdkur
zCEy;k2i}XDgFY+=eb9#{z{kd55B6XWNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T
z@Dgwj+5_*!%|RcQgFfg(6X0WGum^jvha|uQ9wY%Cwg&dV10L{zhrXxnAn=ffJmet{
zd3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^TLmu*w
zhdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v
z$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZf
zJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$5Ps!ydl$@bq&}e&2H+dVKs-AA5NC*l&FC
z4f*-q|Ln=f$0weBczD}e+`skQ-tGPMuy=d5=SzTR>%sT>9&-PG@rj)L-2Z2PBfkRp
zzQ@1wKYsK1kG^pC|1EDzMt;5DqS%YQGy!|Cha|uQ9`GOu@US)D0S|b<10K!+9`cZf
zJmet{F9G*pJ+KFRum>LSkcUmc_p`=e5B6XWNq`4DNCG@;4eWsjJm3Kj{r{)#An=ff
zJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^T
zLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!
z<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z
z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@
z0uOn}Lmu*whnIkR&>na%ZVvje9P~jSngAaggFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n
z2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5!5)$T4|tFSc-R`)0}pt>10MRG
zwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVP
zPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M9`JyN
zzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<
zL*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A
z;GyqnI|w}FArE=TLmplN?m>Ity|_8(!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce5
z9`Mljv>gN<@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt
z0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB
z@PG$A^gV3{frmWgArE=T!%M(DXb-#>HwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa
z4|u=>9{QfPgTO-`@{or-<l!aY9<&GEi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@
zfd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn
z_P_%k@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|
z1AE{B4|u>s-_v#wc*sK@@{or-yae2X_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3
zt${u8fCoI_q3>xs2t4E=4|&K#9$o_OL3`l6xH;&<a?l5TXaam}4EA6T_K*a4z=I^f
z!`8qac)$Z5@X+_P9RwcokcT|vArCJB_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR
z;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@fP2s$crR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m
z3GlErum>LSfCoJEJ#7bphdksV4|&MLOTay754;yQ2Ypx$`k)U@fRByA9_+y$k^m2Q
zkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOr
zJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH584Co#mzw<mV-X%LlfX*W3UH%u!khT
z10Ey+9<~PdzyluefQP=P?I7@whdksV4|#YAxCiZl_u}TD56eLx^q~pxu`$?#J=jAM
z-~kVk01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(
z3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^UIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8
zkOX+ZgCxMi*1#Tkzylue(D$?*1RnB`hdksV4=(}tpgr(j+#K{_Ip~8vGyy&~279mv
zdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE($U`3TkcXFmd(a+uFK!O{upIP3ADRFk8-qRA
zgFPex9`GOu@US(o2OjW%2R!sWZ3lseJmet{dC0>{z&&UWycahIeOM0qpbt%ekBz||
z?7<$A01tSO1bEmQ*aHuEzyluop0<O)Lmu*whdkurCEy;k2i}XDgFY+=eb9#{z{kd5
z5B6XWNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WG
zum^jvha|uQ9wY%Cwg&dV10L{zhrXxnAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@
zG1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU
z*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)
zd~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q
z0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@0uOn}Lmu*whnIkR&>na%ZVvje9P~jS
zngAaggFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH2
z4^4oNjlmx5!5)$T4|tFSc-R`)0}pt>10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)
z(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8Zb
zKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMD
zK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz
z<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A;GyqnI|w}FArE=TLmplN?m>Ity|_8(
z!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce59`Mljv>gN<@{or-<RK3)0r#Li@Lt>;
z^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq
z4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB@PG$A^gV3{frmWgArE=T!%M(DXb-#>
zHwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>9{QfPgTO-`@{or-<l!aY9<&GE
zi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@fd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8
z@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn_P_%k@PLQDr|lr{kcT|vArE<Y3AhLC
zf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B4|u>s-_v#wc*sK@@{or-yae2X
z_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3t${u8fCoI_q3>xs2t4E=4|&K#9$o_O
zL3`l6xH-JmeR%sn{->XP;lF?2@BiG3PdxkipZxJJzV*w`|BZM3@W1}gKl{}uKKUa*
z`tkR_*8hI|{?-F~_<yqp{nNio!2ay73HbF{W3UH%u!khT10Ey+9<~Pd@Lle~+ducU
z5C6%3@h4vR?28Yd`r?oO<mdn3mw)-w|LJQV{8vBw)rV*Q>c@ZdM|iiM+q=Ctf$#FY
z+p|4i0z6v}?7<%Ffd@R~VH5D{yT)J-_FxZ5fCoHC0z7OD?12Y7-~kW)-*4|A@Q{Z*
z<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<L*LVO5O~N#
z9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A;GyqnI|w}F
zArE=TLmplN?m>Ity|_8(!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce59`Mljv>gN<
z@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt0S|cSd)f{H
z4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB@PG$A^gV3{
zfrmWgArE=T!%M(DXb-#>HwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>9{QfP
zgTO-`@{or-<l!aY9<&GEi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@fd@R`0S|po
z+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn_P_%k@PLQD
zr|lr{kcT|vArE<Y3AhLCf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B4|u>s
z-_v#wc*sK@@{or-yae2X_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3t${u8fCoI_
zq3>xs2t4E=4|&K#9$o_OL3`l6xH;&<a?l5TXaam}4EA6T_K*a4z=I^f!`8qac)$Z5
z@X+_P9RwcokcT|vArCJB_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE4?N%j
z4|wQ%+71E_dB{T^@{os@fP2s$crR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlErum>LS
zfCoJEJ#7bphdksV4|&MLOTay754;yQ2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x8rTC5
zc)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jOYz^#z
z2Rz^b4}DMDLEs?|dB{T^^6(OH584Co#mzw<mV-X%LlfX*W3UH%u!khT10Ey+9<~Pd
zzyluefQP=P?I7@whdksV4|#YAxCiZl_u}TD56eLx^q~pxu`$?#J=jAM-~kVk01sOO
zd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(3GjdiNq~o~
zfj#hm2Rz`R?`b;-Jmet{dB{T^UIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+ZgCxMi
z*1#Tkzylue(D$?*1RnB`hdksV4=(}tpgr(j+#K{_Ip~8vGyy&~279mvdq@I2;6W1L
zVQXLyJm3Kjc<6iD4gwE($U`3TkcXFmd(a+uFK!O{upIP3ADRFk8-qRAgFPex9`GOu
z@US(o2OjW%2R!sWZ3lseJmet{dC0>{z&&UWycahIeOM0qpbt%ekBz||?7<$A01tSO
z1bEmQ*aHuEzyluop0<O)Lmu*whdkurCEy;k2i}XDgFY+=eb9#{z{kd55B6XWNq`4D
zNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WGum^jvha|uQ
z9wY%Cwg&dV10L{zhrXxnAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF
z0S}S@4_gC!-~kVKz(e2Db`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r
z@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?
z1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$0$4
zNCG_IK@#9$YhVvN-~kVK=zH1@0uOn}Lmu*whnIkR&>na%ZVvje9P~jSngAaggFV=T
zJtP4h@E{5Bur;s;9`Jw%JoG(n2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5
z!5)$T4|tFSc-R`)0}pt>10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}
z_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O3
z2YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo
z*n>UTLlWQt50U^6TLXLG0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{
z80^6w>>&y8fCou{hpmA<@PG$A;GyqnI|w}FArE=TLmplN?m>Ity|_8(!*b9EeP{xF
zYz+2b5B87*c))`sz{A$S9(ce59`Mljv>gN<@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?
zJ~jq>um^ic0zBYB65wHLU=KXt0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*
z03REJJ=lXiBmo}qAPMlWHLwRB@PG$A^gV3{frmWgArE=T!%M(DXb-#>HwS%K4*H-E
zO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>9{QfPgTO-`@{or-<l!aY9<&GEi<^T!EC+qi
zhbF+s#$XTjU=K-v2RujuJZuf@fd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY
z=tC3WV`H!fd$5Njzyls60Uovn_P_%k@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(pbyJI
zAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B4|u>s-_v#wc*sK@@{or-yae2X_P~2_bI^z7
zpbz@c1o+q(?7<%FAqnt+2T6d3t${u8fCoI_q3>xs2t4E=4|&K#9$o_OL3`l6xH;&<
za?l5TXaam}4EA6T_K*a4z=I^f!`8qac)$Z5@X+_P9RwcokcT|vArCJB_n<xSUfdk?
zVL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@fP2s$crR`a
z`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlErum>LSfCoJEJ#7bphdksV4|&MLOTay754;yQ
z2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdc
zn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH584Co
z#mzw<mV-X%LlfX*W3UH%u!khT10Ey+9<~PdzyluefQP=P?I7@whdksV4|#YAxCiZl
z_u}TD56eLx^q~pxu`$?#J=jAM-~kVk01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6
zz<Y6X(1+!q5Bksq_}Cci!5-`(3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^UIOkx
zd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+ZgCxMi*1#Tkzylue(D$?*1RnB`hdksV4=(}t
zpgr(j+#K{_Ip~8vGyy&~279mvdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE($U`3TkcXFm
zd(a+uFK!O{upIP3ADRFk8-qRAgFPex9`GOu@US(o2OjW%2R!sWZ3lseJmet{dC0>{
zz&&UWycahIeOM0qpbt%ekBz||?7<$A01tSO1bEmQ*aHuEzyluop0<O)Lmu*whdkur
zCEy;k2i}XDgFY+=eb9#{z{kd55B6XWNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T
z@Dgwj+5_*!%|RcQgFfg(6X0WGum^jvha|uQ9wY%Cwg&dV10L{zhrXxnAn=ffJmet{
zd3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^TLmu*w
zhdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v
z$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZf
zJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@0uOn}
zLmu*whnIkR&>na%ZVvje9P~jSngAaggFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n2Z4t?
z<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5!5)$T4|tFSc-R`)0}pt>10MRGwu8V!
z9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@
zArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV
z@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<L*LVO
z5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A;Gyqn
zI|w}FArE=TLmplN?m>Ity|_8(!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce59`Mlj
zv>gN<@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt0S|cS
zd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB@PG$A
z^gV3{frmWgArE=T!%M(DXb-#>HwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>
z9{QfPgTO-`@{or-<l!aY9<&GEi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@fd@R`
z0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn_P_%k
z@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B
z4|u>s-_v#wc*sK@@{or-yae2X_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3t${u8
zfCoI_q3>xs2t4E=4|&K#9$o_OL3`l6xH;&<a?l5TXaam}4EA6T_K*a4z=I^f!`8qa
zc)$Z5@X+_P9RwcokcT|vArCJB_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE
z4?N%j4|wQ%+71E_dB{T^@{os@fP2s$crR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlEr
zum>LSfCoJEJ#7bphdksV4|&MLOTay754;yQ2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x
z8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jO
zYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH584Co#mzw<mV-X%LlfX*W3UH%u!khT10Ey+
z9<~PdzyluefQP=P?I7@whdksV4|#YAxCiZl_u}TD56eLx^q~pxu`$?#J=jAM-~kVk
z01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(3Gjdi
zNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^UIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+Z
zgCxMi*1#Tkzylue(D$?*1RnB`hdksV4=(}tpgr(j+#K{_Ip~8vGyy&~279mvdq@I2
z;6W1LVQXLyJm3Kjc<6iD4gwE($U`3TkcXFmd(a+uFK!O{upIP3ADRFk8-qRAgFPex
z9`GOu@US(o2OjW%2R!sWZ3lseJmet{dC0>{z&&UWycahIeOM0qpbt%ekBz||?7<$A
z01tSO1bEmQ*aHuEzyluop0<O)Lmu*whdkurCEy;k2i}XDgFY+=eb9#{z{kd55B6XW
zNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WGum^jv
zha|uQ9wY%Cwg&dV10L{zhrXxnAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW
z*h3QF0S}S@4_gC!-~kVKz(e2Db`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=
z9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%
zU=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Yc
zd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@0uOn}Lmu*whnIkR&>na%ZVvje9P~jSngAag
zgFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oN
zjlmx5!5)$T4|tFSc-R`)0}pt>10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#
z$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe
z;A3O32YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?
z3GlHo*n>UTLlWQt50U^6TLXLG0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx
z&;<C{80^6w>>&y8fCou{hpmA<@PG$A;GyqnI|w}FArE=TLmplN?m>Ity|_8(!*b9E
zeP{xFYz+2b5B87*c))`sz{A$S9(ce59`Mljv>gN<@{or-<RK3)0r#Li@Lt>;^kF&Z
zgFZ9?J~jq>um^ic0zBYB65wHLU=KXt0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh
z^g$n*03REJJ=lXiBmo}qAPMlWHLwRB@PG$A^gV3{frmWgArE=T!%M(DXb-#>HwS%K
z4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>9{QfPgTO-`@{or-<l!aY9<&GEi<^T!
zEC+qihbF+s#$XTjU=K-v2RujuJZuf@fd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQ
zAC`kY=tC3WV`H!fd$5Njzyls60Uovn_P_%k@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(
zpbyJIAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B4|u>s-_v#wc*sK@@{or-yae2X_P~2_
zbI^z7pbz@c1o+q(?7<%FAqnt+2T6d3t${u8fCoI_q3>xs2t4E=4|&K#9$o_OL3`l6
zxH;&<a?l5TXaam}4EA6T_K*a4z=I^f!`8qac)$Z5@X+_P9RwcokcT|vArCJB_n<xS
zUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@fP2s$
zcrR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlErum>LSfCoJEJ#7bphdksV4|&MLOTay7
z54;yQ2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6
zv<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH
z584Co#mzw<mV-X%LlfX*W3UH%u!khT10Ey+9<~PdzyluefQP=P?I7@whdksV4|#YA
zxCiZl_u}TD56eLx^q~pxu`$?#J=jAM-~kVk01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H
z1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^
zUIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+ZgCxMi*1#Tkzylue(D$?*1RnB`hdksV
z4=(}tpgr(j+#K{_Ip~8vGyy&~279mvdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE($U`3T
zkcXFmd(a+uFK!O{upIP3ADRFk8-qRAgFPex9`GOu@US(o2OjW%2R!sWZ3lseJmet{
zdC0>{z&&UWycahIeOM0qpbt%ekBz||?7<$A01tSO1bEmQ*aHuEzyluop0<O)Lmu*w
zhdkurCEy;k2i}XDgFY+=eb9#{z{kd55B6XWNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr
z$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WGum^jvha|uQ9wY%Cwg&dV10L{zhrXxnAn=ff
zJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^T
zLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!
z<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z
z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@
z0uOn}Lmu*whnIkR&>na%ZVvje9P~jSngAaggFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n
z2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5!5)$T4|tFSc-R`)0}pt>10MRG
zwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVP
zPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M9`JyN
zzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<
zL*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A
z;GyqnI|w}FArE=TLmplN?m>Ity|_8(!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce5
z9`Mljv>gN<@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt
z0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB
z@PG$A^gV3{frmWgArE=T!%M(DXb-#>HwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa
z4|u=>9{QfPgTO-`@{or-<l!aY9<&GEi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@
zfd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn
z_P_%k@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|
z1AE{B4|u>s-_v#wc*sK@@{or-yae2X_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3
zt${u8fCoI_q3>xs2t4E=4|&K#9$o_OL3`l6xH;&<a?l5TXaam}4EA6T_K*a4z=I^f
z!`8qac)$Z5@X+_P9RwcokcT|vArCJB_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR
z;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@fP2s$crR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m
z3GlErum>LSfCoJEJ#7bphdksV4|&MLOTay754;yQ2Ypx$`k)U@fRByA9_+y$k^m2Q
zkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOr
zJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH584Co#mzw<mV-X%LlfX*W3UH%u!khT
z10Ey+9<~PdzyluefQP=P?I7@whdksV4|#YAxCiZl_u}TD56eLx^q~pxu`$?#J=jAM
z-~kVk01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(
z3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^UIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8
zkOX+ZgCxMi*1#Tkzylue(D$?*1RnB`hdksV4=(}tpgr(j+#K{_Ip~8vGyy&~279mv
zdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE($U`3TkcXFmd(a+uFK!O{upIP3ADRFk8-qRA
zgFPex9`GOu@US(o2OjW%2R!sWZ3lseJmet{dC0>{z&&UWycahIeOM0qpbt%ekBz||
z?7<$A01tSO1bEmQ*aHuEzyluop0<O)Lmu*whdkurCEy;k2i}XDgFY+=eb9#{z{kd5
z5B6XWNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WG
zum^jvha|uQ9wY%Cwg&dV10L{zhrXxnAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@
zG1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU
z*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)
zd~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q
z0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@0uOn}Lmu*whnIkR&>na%ZVvje9P~jS
zngAaggFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH2
z4^4oNjlmx5!5)$T4|tFSc-R`)0}pt>10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)
z(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8Zb
zKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMD
zK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz
z<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A;GyqnI|w}FArE=TLmplN?m>Ity|_8(
z!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce59`Mljv>gN<@{or-<RK3)0r#Li@Lt>;
z^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq
z4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB@PG$A^gV3{frmWgArE=T!%M(DXb-#>
zHwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>9{QfPgTO-`@{or-<l!aY9<&GE
zi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@fd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8
z@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn_P_%k@PLQDr|lr{kcT|vArE<Y3AhLC
zf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B4|u>s-_v#wc*sK@@{or-yae2X
z_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3t${u8fCoI_q3>xs2t4E=4|&K#9$o_O
zL3`l6xH;&<a?l5TXaam}4EA6T_K*a4z=I^f!`8qac)$Z5@X+_P9RwcokcT|vArCJB
z_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@
zfP2s$crR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlErum>LSfCoJEJ#7bphdksV4|&ML
zOTay754;yQ2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v
z;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^
z^6(OH584Co#mzw<mV-X%LlfX*W3UH%u!khT10Ey+9<~PdzyluefQP=P?I7@whdksV
z4|#YAxCiZl_u}TD56eLx^q~pxu`$?#J=jAM-~kVk01sOOd*A^Nc)&y7({>Pe$U`3T
zkcT|H1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{
zdB{T^UIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+ZgCxMi*1#Tkzylue(D$?*1RnB`
zhdksV4=(}tpgr(j+#K{_Ip~8vGyy&~279mvdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE(
z$U`3TkcXFmd(a+uFK!O{upIP3ADRFk8-qRAgFPex9`GOu@US(o2OjW%2R!sWZ3lse
zJmet{dC0>{z&&UWycahIeOM0qpbt%ekBz||?7<$A01tSO1bEmQ*aHuEzyluop0<O)
zLmu*whdkurCEy;k2i}XDgFY+=eb9#{z{kd55B6XWNq`4DNCG@;4eWsjJm3KjeNWp#
z;2{rr$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WGum^jvha|uQ9wY%Cwg&dV10L{zhrXxn
zAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVKz(e2D
zb`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4
zX*&o!<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u
z_p}`Z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK
z=zH1@0uOn}Lmu*whnIkR&>na%ZVvje9P~jSngAaggFV=TJtP4h@E{5Bur;s;9`Jw%
zJoG(n2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5!5)$T4|tFSc-R`)0}pt>
z10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7
z-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M
z9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo*n>UTLlWQt50U^6TLXLG
z0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{80^6w>>&y8fCou{hpmA<
z@PG$A;GyqnI|w}FArE=TLmplN?m>Ity|_8(!*b9EeP{xFYz+2b5B87*c))`sz{A$S
z9(ce59`Mljv>gN<@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?J~jq>um^ic0zBYB65wHL
zU=KXt0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*03REJJ=lXiBmo}qAPMlW
zHLwRB@PG$A^gV3{frmWgArE=T!%M(DXb-#>HwS%K4*H-EO@NP$!5-|v9+ChLc#s5m
z*c#Xa4|u=>9{QfPgTO-`@{or-<l!aY9<&GEi<^T!EC+qihbF+s#$XTjU=K-v2Ruju
zJZuf@fd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY=tC3WV`H!fd$5Njzyls6
z0Uovn_P_%k@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3
zk^m1|1AE{B4|u>s-_v#wc*sK@@{or-yae2X_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+
z2T6d3t${u8fCoI_q3>xs2t4E=4|&K#9$o_OL3`l6xH;&<a?l5TXaam}4EA6T_K*a4
zz=I^f!`8qac)$Z5@X+_P9RwcokcT|vArCJB_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~Y
zJm5hR;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@fP2s$crR`a`mh}IK_8j`9~*-`*n>SJ
z0Uq!m3GlErum>LSfCoJEJ#7bphdksV4|&MLOTay754;yQ2Ypx$`k)U@fRByA9_+y$
zk^m2QkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S
z4@rOrzbg;^%H#9@;otn_554onm;UX?9)9`*@BCX2Pe1qM)4%ZK<Kq**^zh6x&-_e(
ze(ufr`5)fTfA;0)Kl;!A{Xh8i&%gBWv4>y%!YAZCclf&;^g$mk0ei5ACg2`7279mv
zdq@I2;6W1LVQXLyJm3Kjc<7IJ?;!AyhdksV4|#YAxCiZl_u}TD56eLx^q~pxu`zt7
zd-&nsdj7BdvFAVf!pr~e;ZyI(AK!oc13&YFKlDd`<uCm4Uw`6L@B75l&-|g6zV=7{
z;@|$z7e4!?cmL8mKK+qr9{&3G|HS<c|K)#t;#2R<Z_lH~@7Jq-y}Bass5yM69`S@H
zmw^7P2likO_P_%k@~{c`^<`tQ2YaxGB)|h6Bmo|_2KK-M9`JyNzQ^w%@Q{Z*<RK6L
zw;ukv-^w5SfBpl1I)D8CGx@{$@A$$0`gi}{`~LjLe=~pl|1-}#{fYOz^`&3@++X@H
zAAITOzVz<TJoAxHzvHJqlHdNHeErM!$N%%&zt{V7v3h?k2Yt|oOTZrNp$Yi)cVn;z
zd$5Njzyls60Uovn_P_%k@PLQD&+Q=akcT|vArE<Y3AhLCf%oF(pbyJIAM~LK@Uby`
zr+aw+<9q(moBzz;d?A1S|4+X213&%n?8A@c&;S2i|NQ^=|K6WJ|Nm#c_2(aY>9;@k
zEARQ>3-{;$|HK!5)qT>x|EvDFXLI~J-LL%QcM0gvdSDOsU=KXtArG5?U!OMyd$0$4
zNCG_IK@#9$YhVvN-~kVK=>Ohg2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5
z!5)$T4|tFSc-R`)0}pt>10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}
z_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O3
z2YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo
z*n>UTLlWQt50U^6TLXLG0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{
z80^6w>>&y8fCou{hpmA<@PG$A;GyqnI|w}FArE=TLmplN?m>Ity|_8(!*b9EeP{xF
zYz+2b5B87*c))`sz{A$S9(ce59`Mljv>gN<@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?
zJ~jq>um^ic0zBYB65wHLU=KXt0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*
z03REJJ=lXiBmo}qAPMlWHLwRB@PG$A^gV3{frmWgArE=T!%M(DXb-#>HwS%K4*H-E
zO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>9{QfPgTO-`@{or-<l!aY9<&GEi<^T!EC+qi
zhbF+s#$XTjU=K-v2RujuJZuf@fd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY
z=tC3WV`H!fd$5Njzyls60Uovn_P_%k@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(pbyJI
zAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B4|u>s-_v#wc*sK@@{or-yae2X_P~2_bI^z7
zpbz@c1o+q(?7<%FAqnt+2T6d3t${u8fCoI_q3>xs2t4E=4|&K#9$o_OL3`l6xH;&<
za?l5TXaam}4EA6T_K*a4z=I^f!`8qac)$Z5@X+_P9RwcokcT|vArCJB_n<xSUfdk?
zVL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@fP2s$crR`a
z`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlErum>LSfCoJEJ#7bphdksV4|&MLOTay754;yQ
z2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdc
zn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH584Co
z#mzw<mV-X%LlfX*W3UH%u!khT10Ey+9<~PdzyluefQP=P?I7@whdksV4|#YAxCiZl
z_u}TD56eLx^q~pxu`$?#J=jAM-~kVk01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6
zz<Y6X(1+!q5Bksq_}Cci!5-`(3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^UIOkx
zd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+ZgCxMi*1#Tkzylue(D$?*1RnB`hdksV4=(}t
zpgr(j+#K{_Ip~8vGyy&~279mvdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE($U`3TkcXFm
zd(a+uFK!O{upIP3ADRFk8-qRAgFPex9`GOu@US(o2OjW%2R!sWZ3lseJmet{dC0>{
zz&&UWycahIeOM0qpbt%ekBz||?7<$A01tSO1bEmQ*aHuEzyluop0<O)Lmu*whdkur
zCEy;k2i}XDgFY+=eb9#{z{kd55B6XWNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T
z@Dgwj+5_*!%|RcQgFfg(6X0WGum^jvha|uQ9wY%Cwg&dV10L{zhrXxnAn=ffJmet{
zd3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^TLmu*w
zhdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v
z$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZf
zJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@0uOn}
zLmu*whnIkR&>na%ZVvje9P~jSngAaggFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n2Z4t?
z<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5!5)$T4|tFSc-R`)0}pt>10MRGwu8V!
z9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@
zArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV
z@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<L*LVO
z5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A;Gyqn
zI|w}FArE=TLmplN?m>Ity|_8(!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce59`Mlj
zv>gN<@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt0S|cS
zd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB@PG$A
z^gV3{frmWgArE=T!%M(DXb-#>HwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>
z9{QfPgTO-`@{or-<l!aY9<&GEi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@fd@R`
z0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn_P_%k
z@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B
z4|u>s-_v#wc*sK@@{or-yae2X_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3t${u8
zfCoI_q3>xs2t4E=4|&K#9$o_OL3`l6xH;&<a?l5TXaam}4EA6T_K*a4z=I^f!`8qa
zc)$Z5@X+_P9RwcokcT|vArCJB_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE
z4?N%j4|wQ%+71E_dB{T^@{os@fP2s$crR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlEr
zum>LSfCoJEJ#7bphdksV4|&MLOTay754;yQ2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x
z8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jO
zYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH584Co#mzw<mV-X%LlfX*W3UH%u!khT10Ey+
z9<~PdzyluefQP=P?I7@whdksV4|#YAxCiZl_u}TD56eLx^q~pxu`$?#J=jAM-~kVk
z01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(3Gjdi
zNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^UIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+Z
zgCxMi*1#Tkzylue(D$?*1RnB`hdksV4=(}tpgr(j+#K{_Ip~8vGyy&~279mvdq@I2
z;6W1LVQXLyJm3Kjc<6iD4gwE($U`3TkcXFmd(a+uFK!O{upIP3ADRFk8-qRAgFPex
z9`GOu@US(o2OjW%2R!sWZ3lseJmet{dC0>{z&&UWycahIeOM0qpbt%ekBz||?7<$A
z01tSO1bEmQ*aHuEzyluop0<O)Lmu*whdkurCEy;k2i}XDgFY+=eb9#{z{kd55B6XW
zNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WGum^jv
zha|uQ9wY%Cwg&dV10L{zhrXxnAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW
z*h3QF0S}S@4_gC!-~kVKz(e2Db`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=
z9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%
zU=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Yc
zd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@0uOn}Lmu*whnIkR&>na%ZVvje9P~jSngAag
zgFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oN
zjlmx5!5)$T4|tFSc-R`)0}pt>10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#
z$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe
z;A3O32YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?
z3GlHo*n>UTLlWQt50U^6TLXLG0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx
z&;<C{80^6w>>&y8fCou{hpmA<@PG$A;GyqnI|w}FArE=TLmplN?m>Ity|_8(!*b9E
zeP{xFYz+2b5B87*c))`sz{A$S9(ce59`Mljv>gN<@{or-<RK3)0r#Li@Lt>;^kF&Z
zgFZ9?J~jq>um^ic0zBYB65wHLU=KXt0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh
z^g$n*03REJJ=lXiBmo}qAPMlWHLwRB@PG$A^gV3{frmWgArE=T!%M(DXb-#>HwS%K
z4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>9{QfPgTO-`@{or-<l!aY9<&GEi<^T!
zEC+qihbF+s#$XTjU=K-v2RujuJZuf@fd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQ
zAC`kY=tC3WV`H!fd$5Njzyls60Uovn_P_%k@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(
zpbyJIAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B4|u>s-_v#wc*sK@@{or-yae2X_P~2_
zbI^z7pbz@c1o+q(?7<%FAqnt+2T6d3t${u8fCoI_q3>xs2t4E=4|&K#9$o_OL3`l6
zxH;&<a?l5TXaam}4EA6T_K*a4z=I^f!`8qac)$Z5@X+_P9RwcokcT|vArCJB_n<xS
zUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@fP2s$
zcrR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlErum>LSfCoJEJ#7bphdksV4|&MLOTay7
z54;yQ2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6
zv<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH
z584Co#mzw<mV-X%LlfX*W3UH%u!khT10Ey+9<~PdzyluefQP=P?I7@whdksV4|#YA
zxCiZl_u}TD56eLx^q~pxu`$?#J=jAM-~kVk01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H
z1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^
zUIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+ZgCxMi*1#Tkzylue(D$?*1RnB`hdksV
z4=(}tpgr(j+#K{_Ip~8vGyy&~279mvdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE($U`3T
zkcXFmd(a+uFK!O{upIP3ADRFk8-qRAgFPex9`GOu@US(o2OjW%2R!sWZ3lseJmet{
zdC0>{z&&UWycahIeOM0qpbt%ekBz||?7<$A01tSO1bEmQ*aHuEzyluop0<O)Lmu*w
zhdkurCEy;k2i}XDgFY+=eb9#{z{kd55B6XWNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr
z$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WGum^jvha|uQ9wY%Cwg&dV10L{zhrXxnAn=ff
zJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^T
zLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!
z<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z
z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@
z0uOn}Lmu*whnIkR&>na%ZVvje9P~jSngAaggFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n
z2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5!5)$T4|tFSc-R`)0}pt>10MRG
zwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVP
zPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M9`JyN
zzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<
zL*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A
z;GyqnI|w}FArE=TLmplN?m>Ity|_8(!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce5
z9`Mljv>gN<@{or-<RK3)0r#Li@Lt>;^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt
z0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB
z@PG$A^gV3{frmWgArE=T!%M(DXb-#>HwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa
z4|u=>9{QfPgTO-`@{or-<l!aY9<&GEi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@
zfd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn
z_P_%k@PLQDr|lr{kcT|vArE<Y3AhLCf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|
z1AE{B4|u>s-_v#wc*sK@@{or-yae2X_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3
zt${u8fCoI_q3>xs2t4E=4|&K#9$o_OL3`l6xH;&<a?l5TXaam}4EA6T_K*a4z=I^f
z!`8qac)$Z5@X+_P9RwcokcT|vArCJB_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR
z;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@fP2s$crR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m
z3GlErum>LSfCoJEJ#7bphdksV4|&MLOTay754;yQ2Ypx$`k)U@fRByA9_+y$k^m2Q
zkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOr
zJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^^6(OH584Co#mzw<mV-X%LlfX*W3UH%u!khT
z10Ey+9<~PdzyluefQP=P?I7@whdksV4|#YAxCiZl_u}TD56eLx^q~pxu`$?#J=jAM
z-~kVk01sOOd*A^Nc)&y7({>Pe$U`3TkcT|H1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(
z3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{dB{T^UIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8
zkOX+ZgCxMi*1#Tkzylue(D$?*1RnB`hdksV4=(}tpgr(j+#K{_Ip~8vGyy&~279mv
zdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE($U`3TkcXFmd(a+uFK!O{upIP3ADRFk8-qRA
zgFPex9`GOu@US(o2OjW%2R!sWZ3lseJmet{dC0>{z&&UWycahIeOM0qpbt%ekBz||
z?7<$A01tSO1bEmQ*aHuEzyluop0<O)Lmu*whdkurCEy;k2i}XDgFY+=eb9#{z{kd5
z5B6XWNq`4DNCG@;4eWsjJm3KjeNWp#;2{rr$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WG
zum^jvha|uQ9wY%Cwg&dV10L{zhrXxnAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@
zG1!AW*h3QF0S}S@4_gC!-~kVKz(e2Db`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU
z*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4X*&o!<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)
zd~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u_p}`Z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q
z0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK=zH1@0uOn}Lmu*whnIkR&>na%ZVvje9P~jS
zngAaggFV=TJtP4h@E{5Bur;s;9`Jw%JoG(n2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH2
z4^4oNjlmx5!5)$T4|tFSc-R`)0}pt>10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)
z(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8Zb
zKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMD
zK_B#?3GlHo*n>UTLlWQt50U^6TLXLG0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz
z<)9Dx&;<C{80^6w>>&y8fCou{hpmA<@PG$A;GyqnI|w}FArE=TLmplN?m>Ity|_8(
z!*b9EeP{xFYz+2b5B87*c))`sz{A$S9(ce59`Mljv>gN<@{or-<RK3)0r#Li@Lt>;
z^kF&ZgFZ9?J~jq>um^ic0zBYB65wHLU=KXt0S|cSd)f{H4|&K#9`cZfmw<cF9(XTq
z4*IYh^g$n*03REJJ=lXiBmo}qAPMlWHLwRB@PG$A^gV3{frmWgArE=T!%M(DXb-#>
zHwS%K4*H-EO@NP$!5-|v9+ChLc#s5m*c#Xa4|u=>9{QfPgTO-`@{or-<l!aY9<&GE
zi<^T!EC+qihbF+s#$XTjU=K-v2RujuJZuf@fd@R`0S|po+d<$V4|&K#9`f)Ka1Yu8
z@5RkQAC`kY=tC3WV`H!fd$5Njzyls60Uovn_P_%k@PLQDr|lr{kcT|vArE<Y3AhLC
zf%oF(pbyJIAM~LK@Ub!2gFV<o65s(3k^m1|1AE{B4|u>s-_v#wc*sK@@{or-yae2X
z_P~2_bI^z7pbz@c1o+q(?7<%FAqnt+2T6d3t${u8fCoI_q3>xs2t4E=4|&K#9$o_O
zL3`l6xH;&<a?l5TXaam}4EA6T_K*a4z=I^f!`8qac)$Z5@X+_P9RwcokcT|vArCJB
z_n<xSUfdk?VL9l7J~RP7HU@jJ2YW~YJm5hR;9+ZE4?N%j4|wQ%+71E_dB{T^@{os@
zfP2s$crR`a`mh}IK_8j`9~*-`*n>SJ0Uq!m3GlErum>LSfCoJEJ#7bphdksV4|&ML
zOTay754;yQ2Ypx$`k)U@fRByA9_+y$k^m2QkOX+x8rTC5c)$Z5`kuCfz(XGLkcT|v
z;U(Z6v<Kdcn}a?q2Yt|oCcwwWU=Q|S4@rOrJV*jOYz^#z2Rz^b4}DMDLEs?|dB{T^
z^6(OH584Co#mzw<mV-X%LlfX*W3UH%u!khT10Ey+9<~PdzyluefQP=P?I7@whdksV
z4|#YAxCiZl_u}TD56eLx^q~pxu`$?#J=jAM-~kVk01sOOd*A^Nc)&y7({>Pe$U`3T
zkcT|H1l)u6z<Y6X(1+!q5Bksq_}Cci!5-`(3GjdiNq~o~fj#hm2Rz`R?`b;-Jmet{
zdB{T^UIOkxd*HpeIq1W3&<A~J0(@)?_Fxb8kOX+ZgCxMi*1#Tkzylue(D$?*1RnB`
zhdksV4=(}tpgr(j+#K{_Ip~8vGyy&~279mvdq@I2;6W1LVQXLyJm3Kjc<6iD4gwE(
z$U`3TkcXFmd(a+uFK!O{upIP3ADRFk8-qRAgFPex9`GOu@US(o2OjW%2R!sWZ3lse
zJmet{dC0>{z&&UWycahIeOM0qpbt%ekBz||?7<$A01tSO1bEmQ*aHuEzyluop0<O)
zLmu*whdkurCEy;k2i}XDgFY+=eb9#{z{kd55B6XWNq`4DNCG@;4eWsjJm3KjeNWp#
z;2{rr$U`3T@Dgwj+5_*!%|RcQgFfg(6X0WGum^jvha|uQ9wY%Cwg&dV10L{zhrXxn
zAn=ffJmet{d3Xu92kn9P;^v?a%RwLXp$YJ@G1!AW*h3QF0S}S@4_gC!-~kVKz(e2D
zb`W^TLmu*whdjIl+=KSOdvSBnhvlFT`p^XU*cj}=9_%3r@PG$NfQPMtJ@9}BJm8`4
zX*&o!<RK4v$U`1p0`5V3;Jvsx=)-c*2YqM)d~6K%U=Q|?1bD!MB*4Sgz#e$O10L|u
z_p}`Z9`cZfJmet{F9G+UJ@8)K9Q0v1=z~5q0X{Ycd$0$4NCG_IK@#9$YhVvN-~kVK
z=zH1@0uOn}Lmu*whnIkR&>na%ZVvje9P~jSngAaggFV=TJtP4h@E{5Bur;s;9`Jw%
zJoG(n2Z4t?<RK4v$iqv(J!lWS7dHoeSPuH24^4oNjlmx5!5)$T4|tFSc-R`)0}pt>
z10MRGwu8V!9`cZfJmlde;2yLG-iw=qJ}d`)(1#|#$Hrg}_FxZ5fCoHC0z7OD?12Y7
z-~kVPPuoG@ArE=TLmu+*5^xXN1MkJnK_8ZbKIlUe;A3O32YaxGB)|h6Bmo|_2KK-M
z9`JyNzNhUV@Q{Z*<RK4vcnP=%?Sc2==AaMDK_B#?3GlHo*n>UTLlWQt50U^6TLXLG
z0S|b<L*LVO5O~N#9`cZfJiG+lgZ99CadXgz<)9Dx&;<C{80^6w>>&y8fCou{hpmA<
S@PG$A;GyqnI|#o^5C0dh6Ai@x

literal 0
HcmV?d00001

diff --git a/Hitmarker/scripting/Hitmarker.sp b/Hitmarker/scripting/Hitmarker.sp
new file mode 100644
index 00000000..df15d869
--- /dev/null
+++ b/Hitmarker/scripting/Hitmarker.sp
@@ -0,0 +1,303 @@
+#include <sourcemod>
+#include <sdktools>
+#include <BossHP>
+#include <zombiereloaded>
+#include <clientprefs>
+#include <multicolors>
+
+#define SPECMODE_NONE           0
+#define SPECMODE_FIRSTPERSON    4
+#define SPECMODE_THIRDPERSON    5
+#define SPECMODE_FREELOOK       6
+
+#pragma newdecls required
+#pragma	semicolon 1
+
+bool g_bShowBossHitmarker[MAXPLAYERS+1];
+bool g_bShowZombieHitmarker[MAXPLAYERS+1];
+
+Handle g_hTimer[MAXPLAYERS+1] = {null,...};
+
+Handle g_hCookie_ShowBossHitmarker;
+Handle g_hCookie_ShowZombieHitmarker;
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public Plugin myinfo =
+{
+	name         = "Htimarker",
+	author       = "Neon & Nano",
+	description  = "Players can enable or disable their hitmarkers while shooting zombies or bosses",
+	version      = "1.0.0",
+};
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void OnPluginStart()
+{
+	g_hCookie_ShowBossHitmarker = RegClientCookie("hitmarker_boss", "", CookieAccess_Private);
+	g_hCookie_ShowZombieHitmarker = RegClientCookie("hitmarker_zombie", "", CookieAccess_Private);
+
+	RegConsoleCmd("sm_bhm", OnToggleBossHitmarker);
+	RegConsoleCmd("sm_zhm", OnToggleZombieHitmarker);
+
+	SetCookieMenuItem(MenuHandler_CookieMenu, 0, "Hitmarker");
+
+	HookEvent("player_hurt",  OnClientHurt);
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void OnMapStart()
+{
+	PrecacheGeneric("overlays/nano/hitmarker.vtf", true);
+	PrecacheGeneric("overlays/nano/hitmarker.vmt", true);
+	AddFileToDownloadsTable("materials/overlays/nano/hitmarker.vtf");
+	AddFileToDownloadsTable("materials/overlays/nano/hitmarker.vmt");
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void OnClientCookiesCached(int client)
+{
+	char sBuffer[4];
+	GetClientCookie(client, g_hCookie_ShowBossHitmarker, sBuffer, sizeof(sBuffer));
+
+	if (sBuffer[0])
+		g_bShowBossHitmarker[client] = true;
+	else
+		g_bShowBossHitmarker[client] = false;
+
+	GetClientCookie(client, g_hCookie_ShowZombieHitmarker, sBuffer, sizeof(sBuffer));
+
+	if (sBuffer[0])
+		g_bShowZombieHitmarker[client] = true;
+	else
+		g_bShowZombieHitmarker[client] = false;
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void OnClientDisconnect(int client)
+{
+	g_bShowBossHitmarker[client] = false;
+	g_bShowZombieHitmarker[client] = false;
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public Action OnToggleBossHitmarker(int client, int args)
+{
+	ToggleBossHitmarker(client);
+	return Plugin_Handled;
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void ToggleBossHitmarker(int client)
+{
+	g_bShowBossHitmarker[client] = !g_bShowBossHitmarker[client];
+	SetClientCookie(client, g_hCookie_ShowBossHitmarker, g_bShowBossHitmarker[client] ? "1" : "");
+
+	CPrintToChat(client, "{cyan}[Hitmarker] {white}%s", g_bShowBossHitmarker[client] ? "Boss Hitmarker Enabled" : "Boss Hitmarker Disabled");
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public Action OnToggleZombieHitmarker(int client, int args)
+{
+	ToggleZombieHitmarker(client);
+	return Plugin_Handled;
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void ToggleZombieHitmarker(int client)
+{
+	g_bShowZombieHitmarker[client] = !g_bShowZombieHitmarker[client];
+	SetClientCookie(client, g_hCookie_ShowZombieHitmarker, g_bShowZombieHitmarker[client] ? "1" : "");
+
+	CPrintToChat(client, "{cyan}[Hitmarker] {white}%s", g_bShowZombieHitmarker[client] ? "Zombie Hitmarker Enabled" : "Zombie Hitmarker Disabled");
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void ShowSettingsMenu(int client)
+{
+	Menu menu = new Menu(MenuHandler_MainMenu);
+
+	menu.SetTitle("Hitmarker Settings", client);
+
+	char sBuffer[128];
+
+	Format(sBuffer, sizeof(sBuffer), "Boss Hitmarker: %s", g_bShowBossHitmarker[client] ? "Enabled" : "Disabled");
+	menu.AddItem("0", sBuffer);
+
+	Format(sBuffer, sizeof(sBuffer), "Zombie Hitmarker: %s", g_bShowZombieHitmarker[client] ? "Enabled" : "Disabled");
+	menu.AddItem("1", sBuffer);
+
+	menu.ExitBackButton = true;
+
+	menu.Display(client, MENU_TIME_FOREVER);
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void MenuHandler_CookieMenu(int client, CookieMenuAction action, any info, char[] buffer, int maxlen)
+{
+	switch(action)
+	{
+		case(CookieMenuAction_DisplayOption):
+		{
+			Format(buffer, maxlen, "Hitmarker", client);
+		}
+		case(CookieMenuAction_SelectOption):
+		{
+			ShowSettingsMenu(client);
+		}
+	}
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public int MenuHandler_MainMenu(Menu menu, MenuAction action, int client, int selection)
+{
+	switch(action)
+	{
+		case(MenuAction_Select):
+		{
+			switch(selection)
+			{
+				case(0): ToggleBossHitmarker(client);
+				case(1): ToggleZombieHitmarker(client);
+			}
+
+			ShowSettingsMenu(client);
+		}
+		case(MenuAction_Cancel):
+		{
+			ShowCookieMenu(client);
+		}
+		case(MenuAction_End):
+		{
+			delete menu;
+		}
+	}
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void OnBossDamaged(any Boss, any Config, int client, float damage)
+{
+	if (!IsValidClient(client))
+		return;
+
+	if (g_bShowBossHitmarker[client])
+		ShowOverlay(client);
+
+	for (int spec = 1; spec <= MaxClients; spec++)
+	{
+		if (!IsClientInGame(spec) || !IsClientObserver(spec) || !g_bShowBossHitmarker[spec])
+			continue;
+
+		int specMode   = GetClientSpectatorMode(spec);
+		int specTarget = GetClientSpectatorTarget(spec);
+
+		if ((specMode == SPECMODE_FIRSTPERSON) && specTarget == client)
+			ShowOverlay(spec);
+	}
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void OnClientHurt(Event hEvent, const char[] sEvent, bool bDontBroadcast)
+{
+	int client = GetClientOfUserId(hEvent.GetInt("attacker"));
+	int victim = GetClientOfUserId(hEvent.GetInt("userid"));
+
+	if (client < 1 || client > MaxClients || victim < 1 || victim > MaxClients)
+		return;
+
+	if (client == victim || (IsPlayerAlive(client) && ZR_IsClientZombie(client)))
+		return;
+
+	if (g_bShowZombieHitmarker[client])
+		ShowOverlay(client);
+
+	for (int spec = 1; spec <= MaxClients; spec++)
+	{
+		if (!IsClientInGame(spec) || !IsClientObserver(spec) || !g_bShowZombieHitmarker[spec])
+			continue;
+
+		int specMode   = GetClientSpectatorMode(spec);
+		int specTarget = GetClientSpectatorTarget(spec);
+
+		if (specMode == SPECMODE_FIRSTPERSON && specTarget == client)
+			ShowOverlay(spec);
+	}
+
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public void ShowOverlay(int client)
+{
+	if (g_hTimer[client] != null)
+	{
+		delete g_hTimer[client];
+		g_hTimer[client] = null;
+	}
+	ClientCommand(client, "r_screenoverlay \"%s\"", "overlays/nano/hitmarker");
+	g_hTimer[client] = CreateTimer(0.3, ClearOverlay, client, TIMER_FLAG_NO_MAPCHANGE);
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+public Action ClearOverlay(Handle timer, int client)
+{
+	g_hTimer[client] = null;
+	ClientCommand(client, "r_screenoverlay \"\"");
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+stock int IsValidClient(int client, bool nobots = true)
+{
+	if (client <= 0 || client > MaxClients || !IsClientConnected(client) || (nobots && IsFakeClient(client)))
+		return false;
+
+	return IsClientInGame(client);
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+int GetClientSpectatorMode(int client)
+{
+	return GetEntProp(client, Prop_Send, "m_iObserverMode");
+}
+
+//----------------------------------------------------------------------------------------------------
+// Purpose:
+//----------------------------------------------------------------------------------------------------
+int GetClientSpectatorTarget(int client)
+{
+	return GetEntPropEnt(client, Prop_Send, "m_hObserverTarget");
+}