ÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÀ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌÀ¬ÀÀÀ¬ÀÀÀ¬ÀÀÎÌÌÌ̈ˆˆ¬ªªª¬ˆˆˆ¬ÌÌ̬ÌÌ̬ÌÀ̬ÌÀÌÌÌìÌÀÀî̬ÀÌ̬ÀÀÀ¬ÀÀÀ¬ÀÀ¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî¬ÌÌ̬ªªª¬ª¬ª¬ªÊ̬ªªªŒˆˆˆÌÀÌÎÌÌÎ̬̪ªÀ쬪ÀÀÀÌîÀìîÌÌîî >À?îîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîþîîîîîÿîîîîîÿïîîîîÿïîîîîÿïîîîîþîþîîîþîÿîîîþîÿïîîþîÿïîîþîÿïîîÿîþîîîÿîÿîîîÿîÿïîîÿîÿïîîÿîÿïîîÿîþîîîîîîîîîîîîîîîîîîîîîîîîîîîÿîîîîîîïîîîîïîîîîîîïîîîîïïîîîîÿîÿîîîÿîîïîîÿîïîîîÿîîïîîÿîïïîîîïÿîîîîïîïîîîïïîîîîïîïîîîïïïîîîïÿîîîîîîîîîîîîîîîîîîîîîîîîîîîþîîîîîþîîîîîÿîîîîîþîîîîîÿïîîîîþîþîîîþîþîîîþîÿîîîþîþîîîþîÿïîîþîþîîîþîþîîîþîÿîîîþîþîîîþîÿïîîþîþîîîîîîîîîîîîîîîîîîîîîîîîîîîþîîîîîîïîîîîîïîîîîïîîîîîîïîîîîþîþîîîþîîïîîþîîïîîþîïîîîþîîïîîïîþîîîïîîïîîïîîïîîïîïîîîïîîïîîîïþîîîîîîîîîîîîîîîîîîîîîîîîîîîÿïîîîîÿîîîîîÿîîîîîïîîîîîîïîîîîÿïÿïîîÿïÿîîîÿïÿîîîÿïïîîîÿïîïîîÿïÿïîîÿïÿîîîÿïÿîîîÿïïîîîÿïîïîîÿîÿïîîîîîîîîîîîîîîîîîîîîîîîîîîîîîÿîîîîîïïîîîîþïîîîîÿïîîîîþîþïîîþîÿîîîÎîììîîþîþïîîþîÿïîîÿîþïîîÿîÿîîîÿîïïîîÿîþïîîÿîÿïîîÿîþïîîÿîÿîîîîîîîîîîîîîîîîîîîîîîîîîîîîïîîîîïïîîîîïîîîîîïïîîîîÿîïïîîÿîîïîîÌîììîîÿîïîîîÿîïïîîîïïïîîîïîïîîîïïïîîîïïîîîîïïïîîîïïïîîîïîïîîîîîîîîîîîîîîîîîîîîîîîîîîþîîîîîÿïîîîîÿïîîîîÿïîîîîþîïïîîþîþîîîÎîÌìîîþîÿïîîþîÿïîîþîïïîîþîþîîîþîÿïîîþîÿïîîþîÿïîîþîïïîîþîþîîîîîîîîîîîîîîîîîîîîîîîîîîîïîîîîîîïîîîîïïîîîîïïîîîîþîïïîîþîïîîîÎîîìîîþîïïîîþîïïîîïîïïîîïîïîîîïîîïîîïîïïîîïîïïîîîïïïîîîïïîîîîîîîîîîîîîîîîîîîîîîîîîîîÿïîîîîîïîîîîÿïîîîîÿïîîîîÿïÿîîîÿïÿïîîÌìîìîîÿïÿïîîÿïÿïîîÿïÿîîîÿïÿïîîÿïîïîîÿïÿïîîÿïÿïîîÿîÿîîîÿîÿïîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîÿîîîîÞÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝîîîîîîîîîîîîîîîîîþþîîîîÞUU%""""""""""""""""""""Ò""""""""RUU%"""""""""""ÒUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþþîîîîÞUU%""""""""""""""""""""Ò""""""""RUU%"""""""""""ÒUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþþîîîîÞUU%""""""""""""""""""""Ò""""""""RUU%"""""""""""ÒUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîîîîÞUU%""""""""""""""""""""Ò""""""""RUU%"""""""""""ÒUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUU%""""""""""""""""""""Ò""""""""RUU%"""""""""""ÒUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîîîîÞUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîîîîÞUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîîîîÞUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîîîîÞUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîîîîÞUU%""RUUUUU%""RUU%"""""Ò""RUU%""""""""RUU%"""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîþîîîîÞUU%""RUUUUU%""RUU%"""""Ò""RUU%""""""""RUU%"""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîîîîÞUU%""RUUUUU%""RUU%"""""Ò""RUU%""""""""RUU%"""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþîîîîîÞUU%""RUUUUU%""RUU%"""""Ò""RUU%""""""""RUU%"""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞUU%""RUUUUU%""RUU%"""""Ò""RUU%""""""""RUU%"""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUU%""RUUUUU%""RUU%"""""Ò""RUU%""""""""RUU%"""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕîîîîîîîîîîîîîîîîîîþîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕîîîîîîîîîîîîîîîîîîïîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕîîîîîîîîîîîîîîîîîîþîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕîîîîîîîîîîîîîîîîîþïîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕîîîîîîîîîîîîîîîîîîîîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕîîîîîîîîîîîîîîîîîþþîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUU%""ÒîîîîîîîîîîîîîîîîîþþîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUU%""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUU%""ÒîîîîîîîîîîîîîîîîîîþîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUU%""ÒîîîîîîîîîîîîîîîîîîþîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUU%""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUU%""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞ""""""""RUU%"""""""""""ÒUU%""RUU%""RUU%""RUUUUUÕUU%"""""RUU%"""""RUU%""Ò"""""RUU%""""""""""""""ÒîîîîîîîîîîîîîîîîîþîîîîîÞ""""""""RUU%"""""""""""ÒUU%""RUU%""RUU%""RUUUUUÕUU%"""""RUU%"""""RUU%""Ò"""""RUU%""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîîîîÞ""""""""RUU%"""""""""""ÒUU%""RUU%""RUU%""RUUUUUÕUU%"""""RUU%"""""RUU%""Ò"""""RUU%""""""""""""""ÒîîîîîîîîîîîîîîîîîîþîîîîÞ""""""""RUU%"""""""""""ÒUU%""RUU%""RUU%""RUUUUUÕUU%"""""RUU%"""""RUU%""Ò"""""RUU%""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîîîîÞ""""""""RUU%"""""""""""ÒUU%""RUU%""RUU%""RUUUUUÕUU%"""""RUU%"""""RUU%""Ò"""""RUU%""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞ""""""""RUU%"""""""""""ÒUU%""RUU%""RUU%""RUUUUUÕUU%"""""RUU%"""""RUU%""Ò"""""RUU%""""""""""""""ÒîîîîîîîîîîîîîîîîîîÿîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕ"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþîîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕ"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕ"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþþîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕ"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕ"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUUUUUUUUUUUUUUUUUUUUUUUÕUUUUUUUUUUUUUUUUUUUUUUUÕ"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞUU%""""""""""""""""""""ÒUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîþîîîîÞUU%""""""""""""""""""""ÒUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîîîîÞUU%""""""""""""""""""""ÒUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþîîîîîÞUU%""""""""""""""""""""ÒUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþîîîîîÞUU%""""""""""""""""""""ÒUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUU%""""""""""""""""""""ÒUU%""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞ"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþþîîîîÞ"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞ"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþþîîîîÞ"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞ"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞ"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþþîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîþîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîþîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîìîÌîîÞUUUUUUUU%""""""""""""""Ò""""""""""""""ÂÌÌ,"""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîÎìÎÎîîÞUUUUUUUU%""""""""""""""Ò""""""""""""""Â"","""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîìÎÎîîÞUUUUUUUU%""""""""""""""Ò""""""""""""""Â"","""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîìÎÎîîÞUUUUUUUU%""""""""""""""Ò""""""""""""""Â"","""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîÎÌÎìîîÞUUUUUUUU%""""""""""""""Ò""""""""""""""Â"","""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUUUUUUUU%""""""""""""""Ò""""""""""""""ÂÌÌ,"""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîïîîÞUUUUUUUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïþïîîÞUUUUUUUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîïîîÞUUUUUUUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîïîîÞUUUUUUUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿþÿîîÞUUUUUUUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUUUUUUUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþïîîÞUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîþîîÞUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîïîîÞUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþîîîÞUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿþÿîîÞUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞUU%""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþïîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîïîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿþïîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþþîîÞ"""""""""""""""""""""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïþþîîÞ"""""""""""""""""""""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþÿîîÞ"""""""""""""""""""""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîþîîÞ"""""""""""""""""""""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿîþîîÞ"""""""""""""""""""""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞ"""""""""""""""""""""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþÿîîÞ"""""""""""""""""""""""Ò""""""""""""""RUU%"""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïþîîîÞ"""""""""""""""""""""""Ò""""""""""""""RUU%"""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþïîîÞ"""""""""""""""""""""""Ò""""""""""""""RUU%"""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîþîîÞ"""""""""""""""""""""""Ò""""""""""""""RUU%"""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿþïîîÞ"""""""""""""""""""""""Ò""""""""""""""RUU%"""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞ"""""""""""""""""""""""Ò""""""""""""""RUU%"""""Ò"""""RUU%""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïîÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïþîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþÿþÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîîîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîþïîþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝîïîïîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝîïþîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝþÿþîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÿÝÝýÿÝýÿÝÿÿÝÝîîîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÿÝÝÿÝßÿÝßÿÝßÝîïþÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÿÝÝÿÝßÿÝßÿÝßÝþïþþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÿÝÝÿÝßÿÿßÿÝßÝîïþÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÿÿßýÿÝÿÝßÿÿÝÝîïþþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝþÿþÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝîîîîîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîîîîîîîîîîîîîîîîîïþÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝþïþþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝîïþÿîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝîïîþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝýÿßýÿÝÿÝßÿÿßÝþÿîþîîÞ"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""Ò"""""""""""""""""""""""ÒîîÝÝÿßÝÿÝßÿÝßÿÝÝÝîîîîîîÞÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝîîÝÝýÿÝÿÝßÿÝßÿÿÝÝîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîÝÝÝÿßÿÿßýÿÝÿÝÝÝîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîÝÝÿÿÝÿÝßÝßÝÿÿßÝîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîîÝÝÝÝÝÝÝÝÝÝÝÝÝÝÝc-- title: pmem-save-editor -- author: borb -- desc: view and edit pmem values with mouse -- site: www.emuurom.com -- version: 0.2 -- script: lua -- saveid: EMUU NUM="number" BOO="boolean" TBL="table" pi=math.pi tau=pi*2 max=math.max min=math.min sin=math.sin cos=math.cos exp=math.exp abs=math.abs sqrt=math.sqrt flr=math.floor ceil=math.ceil str,strbyte,strlen,strsub=string.format,string.byte,string.len,string.sub to=table.insert del=table.remove sort=table.sort unp=table.unpack --btns UP=0 DOWN=1 LEFT=2 RIGHT=3 A=4--z B=5--x X=6--a Y=7--s function pointColl(p,v) return p.x>=v.x and p.x<=v.x+v.w and p.y>=v.y and p.y<=v.y+v.h end function has(tbl,val)--returns which key for k,v in pairs(tbl)do if v==val then return k end end return false end function deepcopy(a)local b=type(a)local c;if b==TBL then c={}for d,e in next,a,nil do c[deepcopy(d)]=deepcopy(e)end;setmetatable(c,deepcopy(getmetatable(a)))else c=a end;return c end function range(n,val) local tbl={} for i=1,n do if type(val)==TBL then val=deepcopy(val)end to(tbl,val) end return tbl end function clamp(l,n,h) return h>l and min(max(n,l),h) or max(min(n,l),h) end function mod1(i,tbllen)return (i-1)%tbllen+1 end function boolToBin(b)return b and 1 or 0 end function binToBool(b)return b==1 end function to32(tbl,bit,j) bit=bit or 0 j=j or 0 for i,v in ipairs(tbl) do if has({BOO,"nil"},type(v))then bit=bit+(boolToBin(v)<32 then trace("FUG",2)end end return bit,j end function from32(val,tbl,j) for i,v in ipairs(tbl) do if has({BOO,"nil"},type(v))then tbl[i]=binToBool(val>>j&1) j=j+1 elseif type(v)==NUM then tbl[i]=val>>j&255 j=j+8 elseif type(v)==TBL then tbl[i],j=from32(val,tbl[i],j) end end return tbl,j end local S={} for i=0,255 do S[i]=range(32,false) end function loadVals() for i,s in pairs(S)do S[i]=from32(pmem(i),s,0)end end function saveVals() for i,v in pairs(S)do pmem(i,to32(v))end end t=0 x=96 y=24 local block={w=6,h=6} local page={offx=13,offy=12,num=1,blocks=5} local cursor={x=1,y=0,} local savebtn={changesMade=false,x=210,y=126,w=40,h=10,text="SAVE"} local resetbtn={x=210,y=115,w=40,h=10,text="LOAD"} function drwbtn(btn) rect(btn.x,btn.y,btn.w,btn.h,btn.col) print(btn.text,btn.x+4,btn.y+3) end function drwBlock(x,y,col,func) func((x-1)*block.w+page.offx,y*block.h+page.offy-(page.num-1)*page.blocks*block.h,block.w,block.h,col) end loadVals() local hiiri={} function TIC() hiiri.prevleft=hiiri.left hiiri.prevright=hiiri.right hiiri.x,hiiri.y,hiiri.left,hiiri.middle,hiiri.right,hiiri.scrollx,hiiri.scrolly=mouse() cursor.oldx,cursor.oldy=cursor.x,cursor.y cursor.x,cursor.y=(hiiri.x-page.offx+block.w)//block.w,(hiiri.y-page.offy+(page.num-1)*page.blocks*block.h)//block.h if cursor.x>32 or cursor.x<1 then cursor.x=nil end if cursor.y<0 or cursor.y>255 or (cursor.y and cursor.y-(page.num-1)*page.blocks<0) then cursor.y=nil end if hiiri.scrolly>0 then page.num=mod1(page.num-1,256//page.blocks+1)end if hiiri.scrolly<0 then page.num=mod1(page.num+1,256//page.blocks+1)end if cursor.y and cursor.x then if hiiri.left and not hiiri.prevleft then cursor.mode=not S[cursor.y][cursor.x] end if hiiri.left and(not hiiri.prevleft or cursor.x~=cursor.oldx or cursor.y~=cursor.oldy) then S[cursor.y][cursor.x]=cursor.mode savebtn.changesMade=true end end savebtn.col=pointColl(hiiri,savebtn) and 11 or 13 resetbtn.col=pointColl(hiiri,resetbtn) and 11 or 13 if hiiri.left then if savebtn.col==11 then saveVals() savebtn.changesMade=false elseif resetbtn.col==11 then loadVals() savebtn.changesMade=false end end --drw local col=savebtn.changesMade and 3 or 14 cls(col) clip(page.offx,page.offy,block.w*32+1,block.h*20) for y,v in pairs(S)do for x,val in ipairs(v)do local col=val and 5 or 2 drwBlock(x,y,col,rect) end end for i=0,4 do local x,y=page.offx+block.w*8*i,page.offy line(x,y,x,y+136,13) end line(page.offx,page.offy,page.offx+block.w*32,page.offy,13) line(page.offx,131,page.offx+block.w*32,131,13) if cursor.x and cursor.y then drwBlock(cursor.x,cursor.y,12,rectb) end clip() for y=0,19 do if y+(page.num-1)*page.blocks<256 then local col=cursor.y and cursor.y-(page.num-1)*page.blocks==y and 12 or 15 print(y+(page.num-1)*page.blocks,1,y*block.h+page.offy,col,true,1,true) end end for x=1,32 do local y=x%2==1 and 0 or 5 local col=cursor.x==x and 12 or 15 print(x,page.offx+(x-1)*block.w+1,1+y,col,true,1,true) end drwbtn(savebtn) drwbtn(resetbtn) t=t+1 end