ffffffffffffffffffffffffffffffffUUUUUVUUeVUUUVUUUVUUefUUUUUUUUUUUUUUeVUUUeUUUVUUeUUUefUUUUUUUUUUUUUUeVUUUeUUUVUUUeUUeVUUUUUUUUUUUUUUeeUUeeUUefUUUeUUUeUUUUUUUUUUUUUUefUUeUUUeVUUUeUUeVUUUUUUUUUUUUUUUfUUeUUUeVUUeeUUUVUUUUUUUUUUUUUUefUUUeUUUVUUUVUUUVUUUUUUUUUUffffffgfffwfvwwgvwwgffwfffgfffffwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwfffffvgffvgffvgfvwwgfwwffvgffffffffffvfffwffvwwgvwwgfwfffvfffffffffffvgffwwfvwwgfvgffvgffvgfffff îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙€@  >Ŕ?îîîîîţ˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙îîîîîţ˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙îîîîîţ˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙îîîîîţ˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙îţ˙˙˙˙˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙îţ˙˙˙˙˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙îţ˙˙˙˙˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙îţ˙˙˙˙˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîînffffffffffffffffffffff˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîînffffffffffffffffffffff˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîînffffffffffffffffffffff˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîînffffffffffffffffffffffîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîînffffffffffffffffffffffîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîînffffffffffffffffffffffîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîînffffffffffffffffffffffîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîînffffffffffffffffffffffîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîînffffffffffffffffffffffîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîînffffffffffffffffffffffîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîînffffffffffffffffffffffîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîînffffffffffffffffffffff˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîţ˙˙˙˙˙˙˙˙˙˙˙offffffffffffffffffffff˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîţ˙˙˙˙˙˙˙˙˙˙˙offffffffffffffffffffff˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîţ˙˙˙˙˙˙˙˙˙˙˙offffffffffffffffffffff˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîţ˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîînfffffffffffffffffffćîîîţ˙˙˙˙˙˙˙ďîîîţ˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîînfffffffffffffffffffćîîîţ˙˙˙˙˙˙˙ďîîîţ˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîînfffffffffffffffffffćîîîţ˙˙˙˙˙˙˙ďîîîţ˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîînfffffffffffffffffffćîîîţ˙˙˙˙˙˙˙ďîîîţ˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîînfffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙ďîîîţ˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîînfffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙ďîîîţ˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîînfffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙ďîîîţ˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîînfffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙ďîîîţ˙˙˙offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙offfffffffffćîîînfffffffffffffffćîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙offfffffffffćîîînfffffffffffffffćîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙offfffffffffćîîînfffffffffffffffćîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙offfffffffffćîîînfffffffffffffffćîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙offfffffćîîîîîîîîîîînfffffffffffćîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙offfffffćîîîîîîîîîîînfffffffffffćîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙offfffffćîîîîîîîîîîînfffffffffffćîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîţ˙˙˙offfffffćîîîîîîîîîîînfffffffffffćîîîîîîînfffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffö˙˙˙ďîîînfffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffö˙˙˙ďîîînfffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffö˙˙˙ďîîînfffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffö˙˙˙ďîîînfffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffö˙˙˙ďîîînfffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffö˙˙˙ďîîînfffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffö˙˙˙ďîîînfffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffö˙˙˙ďîîînffffffffffffffffffffffîîîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîînfffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffffffćîîînffffffffffffffffffffffîîîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîînfffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffffffćîîînffffffffffffffffffffffîîîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîînfffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffffffćîîînffffffffffffffffffffffîîîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîînfffffffćîîînfffffffffffćîîîţ˙˙˙ďîîînfffffffffffffffćîîînffffffffffffffffffffffîţ˙˙˙˙˙˙˙offfffffffffffffffffö˙˙˙˙˙˙˙ďîîîîîîînfffćîîînfffffffffffćîîîîîîîîîîînfffffffffffffffćîîînffffffffffffffffffffffîţ˙˙˙˙˙˙˙offfffffffffffffffffö˙˙˙˙˙˙˙ďîîîîîîînfffćîîînfffffffffffćîîîîîîîîîîînfffffffffffffffćîîînffffffffffffffffffffffîţ˙˙˙˙˙˙˙offfffffffffffffffffö˙˙˙˙˙˙˙ďîîîîîîînfffćîîînfffffffffffćîîîîîîîîîîînfffffffffffffffćîîînffffffffffffffffffffffîţ˙˙˙˙˙˙˙offfffffffffffffffffö˙˙˙˙˙˙˙ďîîîîîîînfffćîîînfffffffffffćîîîîîîîîîîînfffffffffffffffćîîînffffffffffffffffffffff˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙ďîîînfffćîîînfffffffffffćîîîîîîîîîîînfffffffffffffffćîîînfffffffffffffffffffćîî˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙ďîîînfffćîîînfffffffffffćîîîîîîîîîîînfffffffffffffffćîîînfffffffffffffffffffćîî˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙ďîîînfffćîîînfffffffffffćîîîîîîîîîîînfffffffffffffffćîîînfffffffffffffffffffćîî˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙ďîîînfffćîîînfffffffffffćîîîîîîîîîîînfffffffffffffffćîîînfffffffffffffffffffćîî˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfćîîînfffffffffffö˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffćîîînfffffffćîîîîîîînfffćîî˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfćîîînfffffffffffö˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffćîîînfffffffćîîîîîîînfffćîî˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfćîîînfffffffffffö˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffćîîînfffffffćîîîîîîînfffćîî˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfćîîînfffffffffffö˙˙˙˙˙˙˙˙˙˙˙offfffffffffffffćîîînfffffffćîîîîîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîînfffffffffffffffffffffffffffffffffffffffćîîînfffćîîîîîîîîîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîînfffffffffffffffffffffffffffffffffffffffćîîînfffćîîîîîîîîîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîînfffffflffffffffffffffffffffffffffffffffćîîînfffćîîîîîîîîîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîînfffffflffffffffffffffffffffffffffffffffćîîînfffćîîîîîîîîîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîînfffffflffffffffffffffffffffffffffffffffćîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîînfffffffffffffffffffffffffffffffffffffffćîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîînfffffffffffffffffffffffffffffffffffffffćîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîînfffffffffffffffffffffffffffffffffffffffćîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffćîîîţ˙˙˙ďîîînfffćîîfffffffffffffffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfćîîînfffćîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfćîîînfffćîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfćîîînfffćîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfćîîînfffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffö˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙ďîîîţ˙˙˙offfćîîînfffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffö˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙ďîîîţ˙˙˙offfćîîînfffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffö˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙ďîîîţ˙˙˙offfćîîînfffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffö˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙ďîîîţ˙˙˙offfćîîînfffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffćîîînfffćîîîîîîînfffćîîîţ˙˙˙˙˙˙îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffćîîînfffćîîîîîîînfffćîîîţ˙˙˙˙˙˙îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffćîîînfffćîîîîîîînfffćîîîţ˙˙˙˙˙˙îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffćîîînfffćîîîîîîînfffćîîîţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîînfffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîînfffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîînfffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîînfffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîînfffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîînfffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîînfffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîînfffö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙ďîîîîîîînfffffffffffffffffffffffffffffffffffćîîîîîîîţ˙˙˙˙˙˙˙offfö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙ďîîîîîîînfffffffffffffffffffffffffffffffffffćîîîîîîîţ˙˙˙˙˙˙˙offfö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙ďîîîîîîînfffffffffffffffffffffffffffffffffffćîîîîîîîţ˙˙˙˙˙˙˙offfö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙ďîîîîîîînfffffffffffffffffffffffffffffffffffćîîîîîîîţ˙˙˙˙˙˙˙offfö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙offfö˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîînfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffö˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwww÷˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwww÷˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwww÷˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwww÷˙˙˙˙˙˙˙ďîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙wwwwwwwwwwwwwww÷˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîfffffffffffffffffffffffffffffffffffffffffffffffffffffffffćîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîî -- title: Z Order Test -- author: SirWobb79 (@admiralerkal79 via discord) -- desc: Testing a self-made Z order system. -- license: MIT License -- version: 2 -- script: lua --[[ PROBLEM DIAGNOSIS Map is kinda small POSSIBLE SOLUTION(S) - Just add more TM ]] --pos = { --{"player", 19*8, 13*8, 0, 0, 3, 0}, -- id x z y gnd_val height pZ --} --player = {"player", 19*8, 13*8, 0, 0, 3, 0} id = "player" x = 12*8 z = 12*8 y = 0 gndVal = 0 height = 3 pZ = 0 area = {x=15, y=13} cam = {x = 0, y = 0} vy = 0 prev = {0, 0, 0} -- x z y --ground = 0 off_x = 120 off_y = (136//2)-7 step = 1/4 player = 1 -- Where in "pos" player is located offset1 = -1 offset2 = 0 debug = false tileProperties = { [0]={height=0, semi=false}, [16]={height=0, semi=false}, [32]={height=0, semi=false}, [48]={height=0, semi=false}, [64]={height=0, semi=false}, [1]={height=4, semi=false}, [2]={height=8, semi=false}, [3]={height=12, semi=false}, [4]={height=16, semi=false}, [5]={height=20, semi=false}, [6]={height=24, semi=false}, [7]={height=28, semi=false}, [18]={height=8, semi=true}, [19]={height=12, semi=true}, [20]={height=16, semi=true}, [21]={height=20, semi=true}, [22]={height=24, semi=true}, [23]={height=28, semi=true}, } function getTiles() pos = {} for i=-area.x+(x//8), area.x+(x//8) do for j=-area.y+(z//8), area.y+(z//8) do if mget(i, j) == 1 then table.insert(pos, {"pillar1", i*8, j*8, 0, 0, 4, (j*8)+offset1}) elseif mget(i, j) == 2 then table.insert(pos, {"pillar2", i*8, j*8, 0, 0, 8, (j*8)+offset1}) elseif mget(i, j) == 3 then table.insert(pos, {"pillar3", i*8, j*8, 0, 0, 12, (j*8)+offset1}) elseif mget(i, j) == 4 then table.insert(pos, {"pillar4", i*8, j*8, 0, 0, 16, (j*8)+offset1}) elseif mget(i, j) == 5 then table.insert(pos, {"pillar5", i*8, j*8, 0, 0, 20, (j*8)+offset1}) elseif mget(i, j) == 6 then table.insert(pos, {"pillar6", i*8, j*8, 0, 0, 24, (j*8)+offset1}) elseif mget(i, j) == 7 then table.insert(pos, {"pillar7", i*8, j*8, 0, 0, 28, (j*8)+offset1}) elseif mget(i, j) == 18 then table.insert(pos, {"bridge2", i*8, j*8, 0, 0, 8, (j*8)+offset1}) elseif mget(i, j) == 19 then table.insert(pos, {"bridge3", i*8, j*8, 0, 0, 12, (j*8)+offset1}) elseif mget(i, j) == 20 then table.insert(pos, {"bridge4", i*8, j*8, 0, 0, 16, (j*8)+offset1}) elseif mget(i, j) == 21 then table.insert(pos, {"bridge5", i*8, j*8, 0, 0, 20, (j*8)+offset1}) elseif mget(i, j) == 22 then table.insert(pos, {"bridge6", i*8, j*8, 0, 0, 24, (j*8)+offset1}) elseif mget(i, j) == 23 then table.insert(pos, {"bridge7", i*8, j*8, 0, 0, 28, (j*8)+offset1}) end --pos[#pos][5] = pos[#pos][6] end end end function printf(text, x, y, bg, fg) print(text, x-1, y, bg) print(text, x, y-1, bg) print(text, x, y+1, bg) print(text, x+1, y, bg) print(text, x, y, fg) end function TIC() cam.x = math.floor(x)-off_x cam.y = math.floor(z)-off_y cls() map(0, 0, 240, 136, -cam.x, -cam.y) --trace(tileProperties[block]) if btn(0) and (blockRear == block or y >= tileProperties[blockRear].height or tileProperties[blockRear].semi) then z = z - step end if btn(1) and (blockFront == block or y >= tileProperties[blockFront].height or tileProperties[blockFront].semi) then z = z + step end if btn(2) and (blockLeft == block or y >= tileProperties[blockLeft].height or tileProperties[blockLeft].semi) then x = x - step end if btn(3) and (blockRight == block or y >= tileProperties[blockRight].height or tileProperties[blockRight].semi) then x = x + step end if (btn(4) and y == gndVal) or btnp(5) then vy = -1 end if btn(7) then step = 1 elseif btn(6) then step = 1/2 else step = 1/4 end block = mget(x//8, (z+7)//8) blockFront = mget(x//8, (z+8)//8) blockRear = mget(x//8, (z+6)//8) blockRight = mget((x+1)//8, (z+7)//8) blockLeft = mget((x-1)//8, (z+7)//8) local props = tileProperties[block] or {height=0, semi=false} --if props == nil then props = {height=0, semi=false} end if y >= props.height then -- Above or on the tile: raise pZ to layer later pZ = (math.ceil(math.floor(z) / 8) * 8) + offset2 else -- Beneath: default layering pZ = (math.ceil(math.floor(z) / 8) * 8) + offset2 - 8 end --pos[player][7] = (math.ceil(math.floor(pos[player][3]) / 8) * 8) + offset2 --local props = tileProperties[block] or {height=0, semi=false} if not props.semi or y >= props.height then gndVal = props.height end if y < props.height then gndVal = 0 end y = y - vy if y <= gndVal then y = gndVal vy = 0 else if vy ~= 1 then vy = vy + 0.125/2 end end getTiles() table.insert(pos, {id, x, z, y, gndVal, height, pZ}) table.sort(pos, function (left, right) local first = 7 local second = 5 local third = 4 if left[first] == right[first] then if left[second] == right[second] then return left[third] < right[third] else return left[second] < right[second] end else return left[first] < right[first] end end) for i=1, #pos do --i=#pos, 1, -1 IMAGE = 0 SIZE = {1, 1} Y_OFF = 0 FLOAT = 0 if pos[i][1] == "player" then player = i IMAGE = 256 Y_OFF = -pos[i][4] --Z_OFF = ground elseif pos[i][1] == "pillar1" then IMAGE = 257 SIZE = {1, 2} elseif pos[i][1] == "pillar2" then IMAGE = 258 SIZE = {1, 2} elseif pos[i][1] == "pillar3" then IMAGE = 257 SIZE = {1, 3} elseif pos[i][1] == "pillar4" then IMAGE = 258 SIZE = {1, 3} elseif pos[i][1] == "pillar5" then IMAGE = 257 SIZE = {1, 4} elseif pos[i][1] == "pillar6" then IMAGE = 258 SIZE = {1, 4} elseif pos[i][1] == "pillar7" then IMAGE = 257 SIZE = {1, 5} elseif pos[i][1] == "bridge2" then IMAGE = 257 SIZE = {1, 2} FLOAT = 4 elseif pos[i][1] == "bridge3" then IMAGE = 257 SIZE = {1, 2} FLOAT = 8 elseif pos[i][1] == "bridge4" then IMAGE = 257 SIZE = {1, 2} FLOAT = 12 elseif pos[i][1] == "bridge5" then IMAGE = 257 SIZE = {1, 2} FLOAT = 16 elseif pos[i][1] == "bridge6" then IMAGE = 257 SIZE = {1, 2} FLOAT = 20 elseif pos[i][1] == "bridge7" then IMAGE = 257 SIZE = {1, 2} FLOAT = 24 end --print(block < block_front, 32, 32) if pos[i][1] == "player" then --if --[[not (block < block_front) and]] (pos[player][4] >= (block_front*4)-3) then spr(511, off_x, off_y-pos[player][5], 1) spr(IMAGE, off_x, off_y+Y_OFF, 0, 1, 0, 0, SIZE[1], SIZE[2]) --end else spr(IMAGE, pos[i][2]-((SIZE[1]-1)*8)-(cam.x), pos[i][3]-((SIZE[2]-1)*8)+Y_OFF-FLOAT-(cam.y), 0, 1, 0, 0, SIZE[1], SIZE[2]) end end --prev = {pos[player][2], pos[player][3], pos[player][4], pos[player][5]} --block = mget(pos[player][2]//8, (pos[player][3]+7)//8) --[[if block == 1 or block == 0 then pos[player][5] = 0 end if block == 2 then pos[player][5] = 4 end if block == 3 then pos[player][5] = 8 end if block == 4 then pos[player][5] = 12 end if block == 5 then pos[player][5] = 16 end]] --[[ if not (btn(0) or btn(1) or btn(2) or btn(3)) then pos[player][2] = prev[1] pos[player][3] = prev[2] end]] --if tileProperties[block].semi and tileProperties[block].height < pos[player][4]) then --pos[player][5] = tileProperties[block].height --end --[[if pos[player][2]%240 == 239 then cam.x = cam.x + 30 pos[player][2] = pos[player][2] + 2 end if pos[player][2]%240 == 0 then cam.x = cam.x - 30 pos[player][2] = pos[player][2] - 2 end if pos[player][3]%136 == 135 then cam.y = cam.y + 17 pos[player][3] = pos[player][3] + 2 end if pos[player][3]%136 == 0 then cam.y = cam.y - 17 pos[player][3] = pos[player][3] - 2 end]] --[[if prev[3]+2 <= pos[player][4] then pos[player][2] = prev[1] pos[player][3] = prev[2] --pos[player][4] = prev[3] pos[player][5] = prev[4] end]] -- 2.5D! if keyp(28) then debug = not debug end if debug then printf("X="..(x).."\nY="..(y).."\nZ="..(z).."\npZ="..(pZ).."\n\nOn="..block.."\nFront="..blockFront.."\nRear="..blockRear.."\nRight="..blockRight.."\nLeft="..blockLeft, 2, 2, 0, 12) end --print(pos[player][4].."\n"..(block_front*4).."\n\n"..tostring(((pos[player][4] >= (block_front))))) end