diff --git a/SquareLineProj/ESP32S3_UI.sll b/SquareLineProj/ESP32S3_UI.sll index 4ef1278..a7f0a06 100644 --- a/SquareLineProj/ESP32S3_UI.sll +++ b/SquareLineProj/ESP32S3_UI.sll @@ -12,7 +12,7 @@ "board": "ESP32-S3-LCD-EV-BOARD", "board_version": "1.0.1", "editor_version": "1.5.1", - "image": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAHgAyADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3aiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACigfNnbzjjil2t/dP5UAJRS7W/un8qNrf3T+VACUUu1v7p/Kja390/lQAlFLtb+6fyo2t/dP5UAJRS7W/un8qNrf3T+VACUUu1v7p/Kja390/lQAlFLtb+6fyo2t/dP5UAJRS7W/un8qNrf3T+VACUUu1v7p/Kja390/lQAlFLtb+6fyo2t/dP5UAJRS7W/un8qNrf3T+VACUUu1v7p/Kja390/lQAlFLtb+6fyo2t/dP5UAJRS7W/un8qNrf3T+VACUUu1v7p/Kja390/lQAlFLtb+6fyo2t/dP5UAJRS7W/un8qNrf3T+VACUUu1v7p/Kja390/lQAlFLtb+6fyo2t/dP5UAJRS7W/un8qQjaMtwPU0AFFHUZFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALafdk/66GrFV7T7sn/XQ1YoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKgvP+PV/wAP51PUF5/x6v8Ah/OgCOP/AFa/QU6mx/6tfoKdQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC2n3ZP8AroasVXtPuyf9dDVigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqC8/49X/D+dT1Bef8AHq/4fzoAjj/1a/QU6mx/6tfoKdQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAC2n3ZP+uhqxVe0+7J/10NTsyopZiAoGSSeAKAFoqJ7mGNYmZxtlYKhHIYnp0p/mJ5nl71343bc849cUAOoqv8Ab7QEg3MSlSVIZwCCDjoaVb22ZZGSZHWJdzlTkAc+n0NAE9FQNeQr5gYuDGQGHltnk4GOOcn0p/nx9m3fJv8AlBb5fXj17etAElFQpdQyQtKhZlU7SAhLA+mMZp0M8dwheJsgEqeCCCOoIPIoAkoqqNSsioYXMZBAbg9BkDn05I61NDPFcBjDIrhTtJU5GcZ6/jQBJRUMN3b3OPJnjckbsBucfTqKEuoX3csm0bj5iFOO55AoAmoqGG7t7gkQzxuRnIVueDjpThPEZzAJFMoG4qDyBx19OooAkoqMzxKVBkUbiVU54JzjGfX2+vpSmWMSiIsPMIyFHXHr9PegB9FRpPHJ5e1s+Ym9eDyvHP6ikW4jeYwjeHAJwyMAQDg4JGD1FAEtFQNeQqwXLuSoYeXGzjB6HIB9DT4p45lBRuucAgg8HB4PPBoAkooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACoLz/AI9X/D+dT1Bef8er/h/OgCOP/Vr9BTqbH/q1+gp1ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUALafdk/66Gp23BTtALY4BOATUFp92T/roasUAc/epIJoUjVYttxGuxJCUVuSMZTA684z7itPTwfL3CNACMNIXZnYg4+bKg+tNm01pREBdygRyiTlE68+gHPPv9KtQwmIuTK8hY5O4KOfwA9vyoAoQzyoJFWTAEsnH2WR/4z3Bwams5HkvZy7bj5cY/wBU0fd+zc/jTmtJ0I+z3MiqZCzqdvAJJOPlPc96mht/KkeRpZJGYBSXxwBn0A9TQBkW0hNsCHSUqlqMR8EYc/Keev5Vc0+OeAymSCUb1EjAlOZP4sYPfj269KcmnypDsM6FgsSofLOAEORkZ5z+FS2ln9mkkf8AdDeFG2KLYOM89T6/pQBQluZra7We4cQbkKEtAxU8gj7rkZ+939fUVctjOFuGMbl3JdWKBQTtAA27s9u+Pwo/s5RK7LM6Iy7dgVTgdwCwPy9OOlWLeD7PF5YkdwDxuxwPQYA4oAxvJu4VijkinlIASE7o0wQQ2Mc9k6n6Y71f0vzjFJJKzuJSJFdkVScgDsx7AelRLo+2NV3wfKgXIgxuwyn5uefu/qauWlt9lWQZj+d92I02KOAOBk+lAFG0maP7CZljUG2IjAk5c/JgcgDP41bXzftlv5xQyeTJu2AgZynTNMXTUVZlDMMjZCS7N5a4XoCeMMM/lU1varFskfcZtm1iZGYDOM43H1FAGd51vJttHmSHyS4Eu8KyAMQqqeoOAMn0+tW9OliWzMKPG/2f5SYhkMOoIAz1/nmpRaMm7ZdTIpYttATAJOT1X3p8MU0byGS4aVTjaGUAr68jrQBngqsO+Jd++eQyKAxV1O7GdoPUMp5HIx7UthIsZi2oIrdYj8wD4Y8fMSUA6A8+9Tf2TAYghZzhsgn5sAbtq4bIwA1LY6alnsctmQR7Gwqgds9ACenegCrNsjlhPnRlG85lZpWhGCynqOvf2I5qSzdG1FNrxtiJ/uXLS919elXEt5BKjtcyNglmXgAkgAD2A549T1ptravbiLMrHESo6Zyu4AcjPTv9aAKCj5HjRiiBvLwLaWTKo5wCc4I65+uKuWO2SSaVkTzFby9wjKEjAboeRyx+tRyaTG0u9WGGcs+6NCcHJ4JUnrjr2q1a2qWiMiEkM245AHOAOgAHagCeiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKgvP8Aj1f8P51PUF5/x6v+H86AI4/9Wv0FOpsf+rX6CnUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAy1lCySRk4JYke9XKyJP8AWN9TR5sg/wCWj/8AfRoA16KyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qKyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qKyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qKyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qKyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qKyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qKyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qKyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qKyfNl/56v/AN9GjzZf+er/APfRoA1qKyfNl/56v/30aPNl/wCer/8AfRoA1qq3soEflg5ZuvtVPzZf+er/APfRpnvQBej/ANWv0FOpsf8Aq1+gp1ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAZ0jkSuPKnPzHkQuR+eKb5h/wCeNx/34f8AwrbX7o+lLQBh+Yf+eNx/34f/AAo8w/8APG4/78P/AIVuUUAYfmH/AJ43H/fh/wDCjzD/AM8bj/vw/wDhW5RQBh+Yf+eNx/34f/CjzD/zxuP+/D/4VuUUAYfmH/njcf8Afh/8KPMP/PG4/wC/D/4VuUUAYfmH/njcf9+H/wAKPMP/ADxuP+/D/wCFblFAGH5h/wCeNx/34f8Awo8w/wDPG4/78P8A4VuUUAYfmH/njcf9+H/wo8w/88bj/vw/+FblFAGH5h/543H/AH4f/CjzD/zxuP8Avw/+FblFAGH5h/543H/fh/8ACjzD/wA8bj/vw/8AhW5RQBh+Yf8Anjcf9+H/AMKPMP8AzxuP+/D/AOFblFAGH5h/543H/fh/8KPMP/PG4/78P/hW5RQBh+Yf+eNx/wB+H/wo8w/88bj/AL8P/hW5RQBh+Yf+eNx/34f/AAo8w/8APG4/78P/AIVuUUAYfmH/AJ43H/fh/wDCjzD/AM8bj/vw/wDhW5RQBh+Yf+eNx/34f/CjzD/zxuP+/D/4VuUUAYfmH/njcf8Afh/8KPMP/PG4/wC/D/4VuUUAYfmH/njcf9+H/wAKPMP/ADxuP+/D/wCFblFAGH5h/wCeNx/34f8Awo8w/wDPG4/78P8A4VuUUAYfmH/njcf9+H/wo8w/88bj/vw/+FblFAFSPmJDgj5RwRg/lTqVvvH60lABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAWF+6PpS0i/dH0paACqOtaj/ZGhahqfleb9jtpLjy923fsUtjODjOOuKvVj+KbKXUfDd/ZpqFtYQzQSR3NxcQmRUiKMGP31CkA53EkDHSgDnLz4gy6FA11rGmXPkyTzRxW8cBju08sFmzGWKSRqg3GZJNvzAbRya3LrV9QtfBmpa2/2B5orOW7tlt5Gmh2rHuX5/lLgkZyAvDY5xuOV5j634vt57a+v7KC70oT6fd2rQuk0QZTICksRaJsyRZxwwC5wVwKlna3N78JkWZNTW3ntjKINNlhnuJbaVc+Xh4kRcByAiKMBFCk9KAB/iBqqX8VofDnzyxPKDi+6KVB4+x7j98cgEDuRkZ1bfxNezfD3UfED28Md5bRXrrCVfYDC8iqCGCt/AM5CnrwvQedR6vZXtqt/ba3Zu8UskSXFxrVzBcNFkAiO3e8GFZlRsvKhIX7nClui1HS/+LTaheaH4gmv7drae7XzXxCyusvnjoZDnzJCFkdiHRMng5ANm98bS2Ovarp8k3h2JbSdI4xf6sbSVlMMb52+W+Rl2G7I6Yxxk3tO8T3Fz4RXW3tEumN48Jj04vMvli5MW9CqlpAEG/IX5sHgZ45/WPErzarNJpnjTRorM7fLT+27WPHyjPytayEc5/jP4dBpXl+NQ+FOuOdTttRmTT7tJZ7e6juF3eWxA3oiLnaV42D8epAC51bxYTKlo1h9ska9a0sZdPcM0cDlVZpGnUYbMXIX/lqCBtBI6bTb6e/+2NNYTWiQ3LwwmYjdMi4HmADopbdjPUAN/FXj39p6P/0DPBv/AILtP/8AlhXqfgv/AJEXw9/2DLb/ANFLQBuUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRXO+KbGa9NoLPTbie9Xf5N1DefZhbdMlnGSQePlCsDt5FAHRUVQ0W21G00mCDVb1b29UHzJ1jCBuTjgYHAwM4GcZwKv0AFFFFAFdvvH60lK33j9aSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKALC/dH0pagFzCo2l+RweDS/a4P7/6GgCaoLyytdRtXtb22hubd8b4Z4w6Ng5GQeDyAfwpftcH9/8AQ0fa4P7/AOhoAr6joulav5f9p6ZZ3vlZ8v7TAsmzOM43A4zgfkKtwwxW0EcEESRQxKEjjjUKqKBgAAcAAdqZ9rg/v/oaPtcH9/8AQ0AJbWVrZed9ltoYPOlaaXyowvmSHq7Y6scDJPNT1D9rg/v/AKGj7XB/f/Q0AV49HsIrCxsVg/0Wx8v7PEXYquwYTOT823gjdnBAbqAReqH7XB/f/Q0fa4P7/wChoARLOBL+W9WPFxNEkLvk8ohYqMdODI/5+wqeoftcH9/9DR9rg/v/AKGgCaioftcH9/8AQ0fa4P7/AOhoAmoqH7XB/f8A0NH2uD+/+hoAmoqH7XB/f/Q0fa4P7/6GgCaioftcH9/9DR9rg/v/AKGgCaioftcH9/8AQ0fa4P7/AOhoAmoqH7XB/f8A0NH2uD+/+hoAmoqH7XB/f/Q0fa4P7/6GgCaioftcH9/9DR9rg/v/AKGgCaioftcH9/8AQ0fa4P7/AOhoAmoqH7XB/f8A0NH2uD+/+hoAmoqH7XB/f/Q0fa4P7/6GgCaioftcH9/9DR9rg/v/AKGgCaioftcH9/8AQ0fa4P7/AOhoAmoqH7XB/f8A0NH2uD+/+hoAa33j9aSgkMdw6HkUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBRk/1jfU02rp022kJdhLluTiZx/Wj+y7X0l/7/v/AI0AUqKu/wBl2vpL/wB/3/xo/su19Jf+/wC/+NAFKirv9l2vpL/3/f8Axo/su19Jf+/7/wCNAFKirv8AZdr6S/8Af9/8aP7LtfSX/v8Av/jQBSoq7/Zdr6S/9/3/AMaP7LtfSX/v+/8AjQBSoq7/AGXa+kv/AH/f/Gj+y7X0l/7/AL/40AUqKu/2Xa+kv/f9/wDGj+y7X0l/7/v/AI0AUqKu/wBl2vpL/wB/3/xo/su19Jf+/wC/+NAFKirv9l2vpL/3/f8Axo/su19Jf+/7/wCNAFKirv8AZdr6S/8Af9/8aP7LtfSX/v8Av/jQBSoq7/Zdr6S/9/3/AMaP7LtfSX/v+/8AjQBSoq7/AGXa+kv/AH/f/Gj+y7X0l/7/AL/40AUqKu/2Xa+kv/f9/wDGj+y7X0l/7/v/AI0AUqKu/wBl2vpL/wB/3/xo/su19Jf+/wC/+NAFKirv9l2vpL/3/f8Axo/su19Jf+/7/wCNAFKirv8AZdr6S/8Af9/8aP7LtfSX/v8Av/jQBSoq7/Zdr6S/9/3/AMaP7LtfSX/v+/8AjQBSoq7/AGXa+kv/AH/f/Gj+y7X0l/7/AL/40AUqKu/2Xa+kv/f9/wDGj+y7X0l/7/v/AI0AUqKu/wBl2vpL/wB/3/xo/su19Jf+/wC/+NACx/6tfoKdQEEYCLnC8DJzRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFhfuj6UtIv3R9KWgAoorkvFBlk8SaRbC21a7hezu5Gt9NvTbMWV7cBmPmxggBmGMn73T0ALTeK5jDdXFt4b1m6t7eWaIywfZzvMTsjbVMoc8ocDbk+laVtrdleT6fHbM8i6hZvewShcKY1MfXOCCfNUgY9c4rznTUltdMgnh07xFbN/b3lm4k1UtCqtqO1leMXB3HBKMdhyxJyc7q7TWLci80a10/Tbwpp0v2oGz8qKOJFhlRYx5g2tuyU2rjaCCWT5cgBZeKbrUbC3vbXwtrMlvcRLNE/mWg3IwyDgz5HBHWrcniO3Xwzaa7HbXM0N2tu0MCBBKxmZFQcsFBy65+bHXmvMrLXorLw3LOby50m/tfDFg1pJIAiySolyVUFgY5A4YYU5J5wA6HZ0fjT7Pba74csLC5uYJEntTLY27J9nFqt1Cql4yw2EOyhWRSThlPHKgHVReJ9LfwyfEFxK9nYorGX7VGY3iZWKMjL13BgVwM5PAzkUN4lskshNJFcxz+RbzGzki2zAzsUiQg/KGLgrgnAI5IHNcPdT2E3xOtr2WPVjpjwfbjatpV0269ixEsuxoiQBHIvKY+ZFLc7c9Nr0M09zZ63/AGX/AGlp1vbGQ28ayR3qN5kUqlEJAf5okJRgrDZwWyUIBb/4SqO3nkj1PS7/AExY7Oa9Mtx5LqY4im//AFUjnI3qcY5rfrgLKG91nRLeCCGzk1KS+XVbqdrp5Le33SebErNGV+0OsRjCpnbhEJIXy93f0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUVjeIdUu9Gtkvov7PNpHn7Qt3ceQT0xsc5XPXg4zxyKANmiqGi6qmt6TBqEdtcWyTAkRXKbXGCR0yRg4yCDgjBq/QAUUUUAV2+8frSUrfeP1pKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAsL90fSlpF+6PpS0AFUdR0XStX8v+09Ms73ys+X9pgWTZnGcbgcZwPyFXqKAMDTvBPhvSyrwaLYGZJ3njma1j8xGZy4CsFBAUnC+gAHatG+0ew1K6srm9g857GXzrcM7bEkxgOUztLDsSCV6jFXqKAM7TtEstKn8yzV0UWcFkkRbKpHCX2Yzzn94QSSeg98vv9JtdRX96mx/NgkaWMAO3kyiVFJxyu4Hj/abGM5q9RQBnahollql5FcXavII4JLcxbsI6O8bMGA5IzEoIzggsCCDRqGiWmpTrNPLfoyrsAt9QngXGSfuxuoJ564z+VaNFAHK6V8PNA0W1e2sP7TgiaVpSsOqXEQyT6I4HAwoOM4UZJPNdVRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABVa406yu7q3ubi0hmnts+TJIgZo84yVJ6HgdPSrNFABRRRQAUUUUAV2+8frSUrfeP1pKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAqPLIHYCRgAT3pvnS/89H/AO+jTntbxnZlSAqSSMykHH/fNN+x33/PO3/7+t/8TQAedL/z0f8A76NHnS/89H/76NH2O+/552//AH9b/wCJo+x33/PO3/7+t/8AE0AHnS/89H/76NHnS/8APR/++jR9jvv+edv/AN/W/wDiaPsd9/zzt/8Av63/AMTQAedL/wA9H/76NHnS/wDPR/8Avo0fY77/AJ52/wD39b/4mj7Hff8APO3/AO/rf/E0AHnS/wDPR/8Avo0edL/z0f8A76NH2O+/552//f1v/iaPsd9/zzt/+/rf/E0AHnS/89H/AO+jR50v/PR/++jR9jvv+edv/wB/W/8AiaPsd9/zzt/+/rf/ABNAB50v/PR/++jR50v/AD0f/vo0fY77/nnb/wDf1v8A4mj7Hff887f/AL+t/wDE0AHnS/8APR/++jR50v8Az0f/AL6NH2O+/wCedv8A9/W/+Jo+x33/ADzt/wDv63/xNAB50v8Az0f/AL6NHnS/89H/AO+jR9jvv+edv/39b/4mj7Hff887f/v63/xNAB50v/PR/wDvo0edL/z0f/vo0fY77/nnb/8Af1v/AImj7Hff887f/v63/wATQAedL/z0f/vo0edL/wA9H/76NNe2vI0LMluAP+mrf/E0JbXzrnyYV/3pT/8AE0AO86X/AJ6P/wB9Gjzpf+ej/wDfRo+x33/PO3/7+t/8TR9jvv8Annb/APf1v/iaADzpf+ej/wDfRo86X/no/wD30aPsd9/zzt/+/rf/ABNH2O+/552//f1v/iaADzpf+ej/APfRo86X/no//fRo+x33/PO3/wC/rf8AxNH2O+/552//AH9b/wCJoAPOl/56P/30aPOl/wCej/8AfRo+x33/ADzt/wDv63/xNH2O+/552/8A39b/AOJoAPOl/wCej/8AfRo86X/no/8A30aPsd9/zzt/+/rf/E0fY77/AJ52/wD39b/4mgA86X/no/8A30aPOl/56P8A99Gj7Hff887f/v63/wATR9jvv+edv/39b/4mgA86X/no/wD30aPOl/56P/30aPsd9/zzt/8Av63/AMTR9jvv+edv/wB/W/8AiaADzpf+ej/99Gjzpf8Ano//AH0aPsd9/wA87f8A7+t/8TR9jvv+edv/AN/W/wDiaADzpf8Ano//AH0aPOl/56P/AN9Go5Ib2IjdDDtP8XmnA/8AHak+yX3/ADzt/wDv83/xNAFtCSiknJIFOpqBlRVbAYAA4ORmnUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBYX7o+lLSL90fSloAKKK8yfxFqWgW1vZzzXgeOx26lNP+8kWSKOb99bh/vb1s5j8+Fy0T7TmQMAem0VyWmzQyeMbeazmvxDcQais0VxdySIZIbmGPKozlVGd+NoHDdB0GV9o8T6g8JXxA9l9r1q9sLfyLeFwsUYuCjOHQksGiA4YAoB0YlqAPQqK5nw+moXeqXOrNdubaae8gmt2kYqrRTiKExqchRtjkLYIyz55GAvPy3viQR3urJc+fL9puLTTLe3kKvNIl1KiwyRPmNk2qGaVdkiojckAtQB6NRXM+FZtUu57xtflePV7ZjFJaRMFtlQnKyxKPmZXCj5pCSGWRRt+YVwd94n1ezN75PiyzgK6vLALefVLcSRxm8KcxvbMyqFOclyFUbsYG2gD2KivPfDerzXM/iV9Q1pNTtrfT4HLWmpxyKgJuNwEiJCsbYUcnBHyktjGKi3vi208uLQ7XWbjS9QiYQXF41rdyWbndIrxuJ/3iFSQPNbghPmbOwgHptFcros9q8es280esx3EMSm9W5vxPP8yscpHBK5iYjJARUzkbRwMc5fvBcw2CaTaeJS99LFNaSN4gKfardXR5DGj3Qc5i3dVBG4Z29gD02iuZ8KvpdxPePZvfpd2zGCe2u9YN20fPUqJpFU5UjnDfKw6demoAKKKKACiiigCCcbp4EP3SScfQVPUEv/AB9Qf8C/lU9ABRXKeJNY1zR/tN2t74fsrKJcwrfM5efAyRkFQpzwAA39KyDe61qXjbT7rS7e2tLi60COaUXwZhADJnbtUglsnHUYwfpQB6FRXGx+Lb82lok1tbJerrS6VeBdzR9Mlo+QeQVIznGSDmrtt4iu5tE8R3rRwebplxdRQgKcMI1yu7nk+uMfhQB0tFcpFr+q3+p6JY2a2UTXOnLqF08yMw25QFEAYYPzHkk9Bwavz66uo/aLLw5f6Vc6nA+2aOaYkQgHDEqnJIPGOPrQBuUVzfh3XL+91fUdJ1F7C4ns0il+06eW8sh9w2MrElXG3OMnII6V0lABRRRQAUUUUAFFFFABRXL+K/H2h+D57WDUZJHnuGB8qBd7Rx95GHZR+Z5wDg46O1uoL21iurWZJoJVDxyIcqynoQaAJGUOpU9CMVFaktbIT6YqaoLP/j1T8f50AI33j9aSlb7x+tJQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFhfuj6UtIv3R9KWgBk0bSwSRpM8LOpUSxgFkJHUbgRkdeQR7GvK9d8O6xdQqul6Vq17BJp4hSe9uY/OZvKvo90nmSBgSbmN8YGFJGFK7K9XooA47TtHuotato7qCZIni1jfJG5Xas15G8fzqflZkyRggjB6EHFGx8LPrGnwXJ0LRrCL5zDDrVg2oXWxpGfdI7SKVZi5YpltpJy2SQO/ooA47wbb6xLpUkGqN5cNxE1xLGlnJayRzXDGZ0WQyljs8wjIUYJGG3KwGddWi3Ph22mg0W5XSrHVcmw1GyN5JewySASzlHDTIwaSV1P3iASQQ2B6FRQBx3hbSLKS816eDT/sml3Eoto7F9LS1jmi8mMlmVolkb52lX5iVwTxXOR2PiC01290f+ytTs7UWx8qfw4wiglVmIJVZ5fKgbG3KovmbtzB8H5vVKKAOO8M6POI557/RPs2sQZW11K/IuXYMp6ZnldFBJBTzMHJIILELh6h4U8RXWrWMpuLOzik1OVpFsbOaEMfJlxcy+XcZVmO5cqwLB03kkBF9NooA5zwzpF/YaNPb3EWmaa82cR6TYrAIpOVLjLur5wpUlQcAbl/hHD2HhvxOPFnhy9mtNZ+z2N9fTTPNJY/Ik7sQQEOTuB/edcc7McV63RQByvhaz1K2vwdTjm+0DQ9OhmlkO/dMpn8wb+QzAsCeT94HvXVUUUAFFFFABRRRQBBL/AMfUH/Av5VPUE52zwOfugkZ+oqegDj7rw7q9v4ovtY06DRrx7vyykuobxLa7VC7UKqcrxuwCvJPWtDUPCsepatDq51G+s9SjthbebZuqrtzuPysrA5PY56DvzXQUUAcxP4Yt7Oy0u1tLe5uRDqaXkspuFEhf5i0shYfPyeQMHpjGKR/CFvZJrlxZ3GoStqSTvNZ/aFEckkg/hyuFbsD+ecV1FFAHHWfhO+TxJpmqrqV1a21tpqWzWu+NmBBQ+WT5ZBQ7TuIIOemBXS6mb8WTf2bBazXBIGy6laNCO+Sqsf0q5RQBy3gnQ9T8P2t7ZXkGnQWRm820is5WkMYbJZWZkXIB+71ODjsK6miigAooooAKKKKACiiigDmNB8E2GkXWpX11I2p6hqLMLi5u1BJjPSMDoFxgEd8egAE/hfwpD4U+3QWV5cPp88vmwWkhytr/AHgh64JOefQd8k9BRQAVBZ/8eqfj/OpmYIpY9AM1FagrbID6ZoAa33j9aSlb7x+tJQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADDe7CV8vOOPvUfb/wDpl/49/wDWrPlurdZnVp4gQxBBccUz7Xbf8/EX/fYoA0/t/wD0y/8AHv8A61H2/wD6Zf8Aj3/1qzPtdt/z8Rf99ij7Xbf8/EX/AH2KANP7f/0y/wDHv/rUfb/+mX/j3/1qzPtdt/z8Rf8AfYo+123/AD8Rf99igDT+3/8ATL/x7/61H2//AKZf+Pf/AFqzPtdt/wA/EX/fYo+123/PxF/32KANP7f/ANMv/Hv/AK1H2/8A6Zf+Pf8A1qzPtdt/z8Rf99ij7Xbf8/EX/fYoA0/t/wD0y/8AHv8A61H2/wD6Zf8Aj3/1qzPtdt/z8Rf99ij7Xbf8/EX/AH2KANP7f/0y/wDHv/rUfb/+mX/j3/1qzPtdt/z8Rf8AfYo+123/AD8Rf99igDT+3/8ATL/x7/61H2//AKZf+Pf/AFqzPtdt/wA/EX/fYo+123/PxF/32KANP7f/ANMv/Hv/AK1H2/8A6Zf+Pf8A1qzPtdt/z8Rf99ij7Xbf8/EX/fYoA0/t/wD0y/8AHv8A61H2/wD6Zf8Aj3/1qzPtdt/z8Rf99ij7Xbf8/EX/AH2KANF7xZEKtFkH/a/+tUaXcqDAIYdt3NUvtdt/z8Rf99ij7Xbf8/EX/fYoAv8A26X+6n5H/Gj7dL/dT8j/AI1Q+123/PxF/wB9ij7Xbf8APxF/32KAL/26X+6n5H/Gj7dL/dT8j/jVD7Xbf8/EX/fYo+123/PxF/32KAL/ANul/up+R/xo+3S/3U/I/wCNUPtdt/z8Rf8AfYo+123/AD8Rf99igC/9ul/up+R/xo+3S/3U/I/41Q+123/PxF/32KPtdt/z8Rf99igC/wDbpf7qfkf8aPt0v91PyP8AjVD7Xbf8/EX/AH2KPtdt/wA/EX/fYoAv/bpf7qfkf8aPt0v91PyP+NUPtdt/z8Rf99ij7Xbf8/EX/fYoAv8A26X+6n5H/Gj7dL/dT8j/AI1Q+123/PxF/wB9ij7Xbf8APxF/32KAL/26X+6n5H/Gj7dL/dT8j/jVD7Xbf8/EX/fYo+123/PxF/32KALjXDSMPMGVH8I4Bqb7f/0y/wDHv/rVm/a7b/n4i/77FH2u2/5+Iv8AvsUAawbeA2MZ5opkRDQoykEFQQR3p9ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAWF+6PpS0i/dH0paACimTGVYJDAiPMFJjSRyis2OAWAJAz3wfoaytE1uXUp72xvrB7DUrJh50O4yRsjFvLkjkwA6sFPYEFSCBjkA2KK5Wx8Uarc6ENTk0DPn6Y2oWkdpcNN5mFVhE58tdrtvXaAGzhv7vJceMpLGYi50O8uIJd8llPpbpeLdQhAwcKpDjJIUnaUBZfnwwNAHVUVlaNq1zq++ZtKmtLMxRyW80s8Mnn7txO0RO42gBCDnnd0451aACiiigAooooAKKx9b8TaboOxbt3aZxuWKJcsRnGewA+p7Vjf8LJ0f/n2vv8Av2n/AMVXRTwlepHmjFtHPPF0KcuWUkmdjRXHf8LJ0f8A59r7/v2n/wAVR/wsnR/+fa+/79p/8VV/UMT/ACMj69hv50djRXHf8LJ0f/n2vv8Av2n/AMVR/wALJ0f/AJ9r7/v2n/xVH1DE/wAjD69hv50djRXHf8LJ0f8A59r7/v2n/wAVR/wsnR/+fa+/79p/8VR9QxP8jD69hv50djRXHf8ACydH/wCfa+/79p/8VR/wsnR/+fa+/wC/af8AxVH1DE/yMPr2G/nR2NFcd/wsnR/+fa+/79p/8VR/wsnR/wDn2vv+/af/ABVH1DE/yMPr2G/nR2NFcd/wsnR/+fa+/wC/af8AxVH/AAsnR/8An2vv+/af/FUfUMT/ACMPr2G/nR2NFcd/wsnR/wDn2vv+/af/ABVH/CydH/59r7/v2n/xVH1DE/yMPr2G/nR2NFcd/wALJ0f/AJ9r7/v2n/xVH/CydH/59r7/AL9p/wDFUfUMT/Iw+vYb+dHY0Vx3/CydH/59r7/v2n/xVH/CydH/AOfa+/79p/8AFUfUMT/Iw+vYb+dHY0Vx3/CydH/59r7/AL9p/wDFUf8ACydH/wCfa+/79p/8VR9QxP8AIw+vYb+dHY0V5d4k8dTakqwaWZrW3x+8Y4V2PpkE4H41ykN1cW8/nQzyxy5zvRyD+ddtHJ6k4c03Z9jjrZvThPlgrrue+UVyPhDxU+q2bwXuWuocZdQPnX1+v/1q6X7dF/df8hXnVcPUpTcJLVHo0q8KsFOL0ZZoqOKZJhlT06g1JWDVjZO5Xb7x+tJSt94/WkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCwv3R9KWkX7o+lLQBV1PT4tW0m806dnWG7geCRoyAwV1KkjIIzg+leT6vaX+o6nOdQsby8eCWS3jmu9OWV2jR2CkFdMddrfeADEfNXr80MVzBJBPEksMqlJI5FDK6kYIIPBBHaucvfh74TvntGfQbCIW84n2wWyRiQgEBXwMsuTnb0JUZyMggGV4G0ZpNSm128W/iu7eD+y4I50EcRtxskBRPs8LABiV5X+E9RjHHaLZahdC0OlaNf28zaLp8lzNFcMGuPkaNGwl7CoXbH8oxu+9kDjPren+H9F0mdp9O0iws5mXYZLe2SNiuQcZUA4yBx7VlX/wAP/DF8kCLo1hbCKdJm+z2UKmQKc7GJQnaSBkDBI4zgkEAqfDmPytEvFOlTWUrX07TyvJvW4lEjRswzNKwb92N2TjOcFhzXY1R07RdK0jzP7M0yzsvNx5n2aBY9+M4ztAzjJ/M1eoAKKKKACiiigDznxz4b1K41Y6jaQy3UMiKGVPmaMjjAXrjvx3zXJ/2DrH/QJvv/AAGf/CvcqK9Wjm1SlTUOVOx5VbKqdWo58zVzw3+wdY/6BN9/4DP/AIUf2DrH/QJvv/AZ/wDCvcqK1/tqp/KjL+xaf8zPDf7B1j/oE33/AIDP/hR/YOsf9Am+/wDAZ/8ACvcqKP7aqfyoP7Fp/wAzPDf7B1j/AKBN9/4DP/hR/YOsf9Am+/8AAZ/8K9yoo/tqp/Kg/sWn/Mzw3+wdY/6BN9/4DP8A4Uf2DrH/AECb7/wGf/CvcqKP7aqfyoP7Fp/zM8N/sHWP+gTff+Az/wCFH9g6x/0Cb7/wGf8Awr3Kij+2qn8qD+xaf8zPDf7B1j/oE33/AIDP/hR/YOsf9Am+/wDAZ/8ACvcqKP7aqfyoP7Fp/wAzPDf7B1j/AKBN9/4DP/hR/YOsf9Am+/8AAZ/8K9yoo/tqp/Kg/sWn/Mzw3+wdY/6BN9/4DP8A4Uf2DrH/AECb7/wGf/CvcqKP7aqfyoP7Fp/zM8N/sHWP+gTff+Az/wCFH9g6x/0Cb7/wGf8Awr3Kij+2qn8qD+xaf8zPDf7B1j/oE33/AIDP/hR/YOsf9Am+/wDAZ/8ACvcqKP7aqfyoP7Fp/wAzPA7m1uLOXyrq3lgkxnZKhU49cGoa9t1vw9Ya9AqXSMJE+5Khwy/4j2rmYfhnbrPmbUpXiz9xIgp/PJ/lXbRzejKF6mjOOtlNaM7U9UZHgGynkvbq7VGMSx+XkDgkkH+n613nky/883/75NXbGwttNtEtbSIRwp0A7+5Pc1ZrxcVjPbVXNLQ9nC4T2NJQb1KlnC6EuwIyMAGrdFFccpczudiVlYrt94/WkpW+8frSUhhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUASiWMKAZFBHvS+dF/wA9E/76FZcn+sb6mm0Aa3nRf89E/wC+hR50X/PRP++hWTRQBredF/z0T/voUedF/wA9E/76FZNFAGt50X/PRP8AvoUedF/z0T/voVk0UAa3nRf89E/76FHnRf8APRP++hWTRQBredF/z0T/AL6FHnRf89E/76FZNFAGt50X/PRP++hR50X/AD0T/voVk0UAa3nRf89E/wC+hR50X/PRP++hWTRQBredF/z0T/voUedF/wA9E/76FZNFAGt50X/PRP8AvoUedF/z0T/voVk0UAa3nRf89E/76FHnRf8APRP++hWTRQBredF/z0T/AL6FHnRf89E/76FZNFAGt50X/PRP++hR50X/AD0T/voVk0UAa3nRf89E/wC+hR50X/PRP++hWTRQBredF/z0T/voUedF/wA9E/76FZNFAGt50X/PRP8AvoUedF/z0T/voVk0UAa3nRf89E/76FHnRf8APRP++hWTRQBredF/z0T/AL6FHnRf89E/76FZNFAGt50X/PRP++hR50X/AD0T/voVk0UAa3nRf89E/wC+hR50X/PRP++hWTRQBokgsSDkGkpsf+rX6CnUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBC2miRi/2qddxzgbMD/x2j+yx/wA/dx/45/8AE1eX7o+lLQBQ/ssf8/dx/wCOf/E0f2WP+fu4/wDHP/iauTTRW0Ek88qRQxKXkkkYKqKBkkk8AAd6jivbWfyPJuYZPtERmh2SA+ZGMfOuOq/MvI4+YetAFf8Assf8/dx/45/8TR/ZY/5+7j/xz/4mrk00VtBJPPKkUMSl5JJGCqigZJJPAAHeqOoeINF0mdYNR1ews5mXeI7i5SNiuSM4Yg4yDz7UAO/ssf8AP3cf+Of/ABNH9lj/AJ+7j/xz/wCJqGz8T6BqN0lrZa5plzcPnZDDdxu7YGTgA5PAJ/CtWgCh/ZY/5+7j/wAc/wDiaP7LH/P3cf8Ajn/xNX6KAKH9lj/n7uP/ABz/AOJo/ssf8/dx/wCOf/E1fooAof2WP+fu4/8AHP8A4mj+yx/z93H/AI5/8TV+igCh/ZY/5+7j/wAc/wDiaP7LH/P3cf8Ajn/xNX6KAKH9lj/n7uP/ABz/AOJo/ssf8/dx/wCOf/E1fooAof2WP+fu4/8AHP8A4mj+yx/z93H/AI5/8TV+igCh/ZY/5+7j/wAc/wDiaP7LH/P3cf8Ajn/xNX6KAKH9lj/n7uP/ABz/AOJo/ssf8/dx/wCOf/E1fooAof2WP+fu4/8AHP8A4mj+yx/z93H/AI5/8TV+igCh/ZY/5+7j/wAc/wDiaP7LH/P3cf8Ajn/xNX6KAKH9lj/n7uP/ABz/AOJo/ssf8/dx/wCOf/E1fooAof2WP+fu4/8AHP8A4mj+yx/z93H/AI5/8TV+igCh/ZY/5+7j/wAc/wDiaP7LH/P3cf8Ajn/xNX6rSXWH8uJC7d/SgCH+yx/z93H/AI5/8TR/ZY/5+7j/AMc/+JqQy3gGfJX8P/11Cb+UHBVPyNAWHf2WP+fu4/8AHP8A4mj+yx/z93H/AI5/8TTft8v91PyP+NKL+TPKKR7UDsL/AGWP+fu4/wDHP/iaP7LH/P3cf+Of/E1ahnSZcrwR1B7VLQIqqnlqEyW2jGT1NLSt94/WkoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCwv3R9KWkX7o+lLQAyaRooJJEheZkUsIoyAzkDoNxAyenJA9xXkj3uny3GmPqen6SyrPrQaDX5lgiRzeRt8rlHVmAOPlyPvDdwRXrc0bSwSRpM8LOpUSxgFkJHUbgRkdeQR7GuH0/wFfWOqQ6kmuXKXha7inuI/K3tBLOZkADRFMhuWG0HMjYbaqqQCP4Z3WlQ+E0mji0C08mxt2u5rG6VpDhCS1wNi7GGGPJbndzxznRXUNn4bn1Hw79pXVfPuntpLHTZLmC8hjuZFigdkUoV2IqKdwZFxtIUkHtPCmiXmg6FZ2V5qc148NtDDsYR+XEUXBEZVFYr/AL2TgD3zVutN8SPZWwj1y5jvJbzfN5CW5ighZgWTLxbmCICqtjczsCwC8KAUfBOpz67PJrN9Pfi5vIA8Fn9nuI7S1gyCqqzoqSyHIJfknouFHPaVznhjRNQ0PdYXGp3l1ZWsSw2YkEAj8roo+VA4dAu05JVgQw5JVOjoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAiuHMcDsOuKbaxiOBSOrDJNPnTzIWQdSOKjtJg8QQ8OvGKALFUr+MYWQdc4PvV2qF9MGIjU5wcn60AinRRRTKJrZylwmO5wa1ay7SMyTr6Lya1KQmV2+8frSUrfeP1pKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAWF+6PpS1mtczK5UPwDgcCk+1z/3/ANBQBp0Vmfa5/wC/+go+1z/3/wBBQBp0Vmfa5/7/AOgo+1z/AN/9BQBp0Vmfa5/7/wCgo+1z/wB/9BQBp0Vmfa5/7/6Cj7XP/f8A0FAGnRWZ9rn/AL/6Cj7XP/f/AEFAGnRWZ9rn/v8A6Cj7XP8A3/0FAGnRWZ9rn/v/AKCj7XP/AH/0FAGnRWZ9rn/v/oKPtc/9/wDQUAadFZn2uf8Av/oKPtc/9/8AQUAadFZn2uf+/wDoKPtc/wDf/QUAadFZn2uf+/8AoKPtc/8Af/QUAadFZn2uf+/+go+1z/3/ANBQBp0Vmfa5/wC/+go+1z/3/wBBQBp0Vmfa5/7/AOgo+1z/AN/9BQBp0Vmfa5/7/wCgo+1z/wB/9BQBp1BLapK27lW9RVP7XP8A3/0FH2uf+/8AoKALBtJCMG5Yj0P/AOum/wBn/wDTX/x3/wCvUP2uf+/+go+1z/3/ANBQFyb+z/8Apr/47/8AXoGnjPMhI9hUP2uf+/8AoKPtc/8Af/QUBc0I4kiXagwP50+sz7XP/f8A0FH2uf8Av/oKALbfeP1pKRSWQMepGTS0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBRkjuTIxW0lYZOCGTn/x6m+Xdf8+Uv/fSf/FVsL90fSloAxvLuv8Anyl/76T/AOKo8u6/58pf++k/+KrZooAxvLuv+fKX/vpP/iqPLuv+fKX/AL6T/wCKrZooAxvLuv8Anyl/76T/AOKo8u6/58pf++k/+KrZooAxvLuv+fKX/vpP/iqPLuv+fKX/AL6T/wCKrZooAxvLuv8Anyl/76T/AOKo8u6/58pf++k/+KrZooAxvLuv+fKX/vpP/iqPLuv+fKX/AL6T/wCKrZooAxvLuv8Anyl/76T/AOKo8u6/58pf++k/+KrZooAxvLuv+fKX/vpP/iqPLuv+fKX/AL6T/wCKrZooAxvLuv8Anyl/76T/AOKo8u6/58pf++k/+KrZooAxvLuv+fKX/vpP/iqPLuv+fKX/AL6T/wCKrZooAxvLuv8Anyl/76T/AOKo8u6/58pf++k/+KrZooAxvLuv+fKX/vpP/iqPLuv+fKX/AL6T/wCKrZooAxvLuv8Anyl/76T/AOKo8u6/58pf++k/+KrZooAxvLuv+fKX/vpP/iqPLuv+fKX/AL6T/wCKrZooAxvLuv8Anyl/76T/AOKo8u6/58pf++k/+KrZooAxvLuv+fKX/vpP/iqPLuv+fKX/AL6T/wCKrZpryJGMuwH1oAyPLuv+fKX/AL6T/wCKo8u6/wCfKX/vpP8A4qtL7ZB/f/Q0fbIP7/6GgDN8u6/58pf++k/+Ko8u6/58pf8AvpP/AIqtL7ZB/f8A0NKLqAnAkH4gigDM8u6/58pf++k/+Ko8u6/58pf++k/+KrZByMjpRQBUjBEahlKnAyD2p1K33j9aSgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKALC/dH0paRfuj6UtABXJeFfGDaydce/+zQ21lPJJbXcbjyZbPfIiyFtx5zDJk8DABHBrY8TXd1Y+GNUubBZmvUtpPswhhMz+aVITCAHPzEdsdzxmvPdc8H6npGm+HLbSLK2M1zp//CPapNDDJKI45dpaZVXaMKwlYs2MlxnOeADc0Xx3e6r4I13V5rK2tNS06CS4S187zAY2hE0DMAQcFWAPTJVunQT+H/F+oat4k0vTp4bZYbvw5Fq0jRqwYSu4UqMsRtwemM+9Ude0C40+98SrpOmp9h1bw5IhS3jcsLiBTHGigfKoMcgAUdfLOAMHOHY6Y9t4k8Pz6tY65FaReE7a2aSyiu1ZJw4JjYwDcCBnKnjpnnFAHd6zr91p3jTwzo0McLW+qfavPZ1JdfKjDLtIOByecg/hXR157PB9r8b+CbjTbXVnsbJr9JpryC43RloRje0w3YJOASccYHTA9CoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAbI4jjZz2GaqwQef++m+YnoKmugTbOB6Zpbdg1uhHpigBTBERjy1/AVQurfyWBX7p6e1adVL9h5Sr3JzQNGfRRRTGWrKYrIIyflbp7GtGsiAE3EYH94GtekJldvvH60lK33j9aSgQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFhfuj6UtVvtka/KVbI46Ufbov7r/kKALNFVvt0X91/yFH26L+6/wCQoAs0VW+3Rf3X/IUfbov7r/kKALNFVvt0X91/yFH26L+6/wCQoAs0VW+3Rf3X/IUfbov7r/kKALNFVvt0X91/yFH26L+6/wCQoAs0VW+3Rf3X/IUfbov7r/kKALNFVvt0X91/yFH26L+6/wCQoAs0VW+3Rf3X/IUfbov7r/kKALNFVvt0X91/yFH26L+6/wCQoAs0VW+3Rf3X/IUfbov7r/kKALNFVvt0X91/yFH26L+6/wCQoAs0VW+3Rf3X/IUfbov7r/kKALNFVvt0X91/yFH26L+6/wCQoAs0VW+3Rf3X/IUfbov7r/kKALNFVvt0X91/yFH26L+6/wCQoAskZGD0qn5U1sxMI3xn+H0p/wBui/uv+Qo+3Rf3X/IUANN1Nji2YH3z/hVWRZ5X3PG5P+6aufbov7r/AJCj7dF/df8AIUDKHky/88n/AO+TSiCYnAjb8Rir326L+6/5Cj7dF/df8hQFwtbXyfnfBc/pVmq326L+6/5Cj7dF/df8hQIVvvH60lG4N8w6HmigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKMn+sb6mm06T/AFjfU02gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAvR/wCrX6CnU2P/AFa/QU6gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKMn+sb6mm1dNnuYk7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", + "image": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAHgAyADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3aiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACikZgqlj0FIkc0o3bhGp6DGTQA6ij7NL/wA9/wDxwUfZpf8Anv8A+OCgAoo+zS/89/8AxwUfZpf+e/8A44KACij7NL/z3/8AHBR9ml/57/8AjgoAKKPs0v8Az3/8cFH2aX/nv/44KACij7NL/wA9/wDxwUfZpf8Anv8A+OCgAoo+zS/89/8AxwUfZpf+e/8A44KACij7NL/z3/8AHBR9ml/57/8AjgoAKKPs0v8Az3/8cFH2aX/nv/44KACij7NL/wA9/wDxwUfZpf8Anv8A+OCgAoo+zS/89/8AxwUfZpf+e/8A44KACij7NL/z3/8AHBR9ml/57/8AjgoAKKPs0v8Az3/8cFH2aX/nv/44KACij7NL/wA9/wDxwUfZpf8Anv8A+OCgAoo+zS/89/8AxwUfZpf+e/8A44KACij7NL/z3/8AHBR9ml/57/8AjgoAKKPs0v8Az3/8cFH2aX/nv/44KACij7NL/wA9/wDxwUfZpf8Anv8A+OCgAoo+zS/89/8AxwUfZpf+e/8A44KACimvHNEN24SKOoxg0qsGUMOhoAWiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi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QkBhnHQ5HUEVRvdee21aTTrbR7+/migjnka3aFVRXZ1UfvJFJOY26A1ytvrS6v8ACix1OwsrmyW5vIE+zW12fOYG9VHAmyhLP82WJBJc5PU1Ut7LPizUF/sDxWcWNqfLGt4kX55+Wb7XypxwMnBDcDOWAOusfF+n32mTXqQ3MZg1BdNngkVfMinMqxYOGKkAupypIwfXiiTxlpMTxJJHqyNK2yNW0e7BdsFsD91ycKxx6AntXP29nBa/A+7lhjxLeaHLd3MjEs800kBZ3djyzEnqfYdAKt+JpPEMmq6LFDZWEQOoSrbTLqDByfstwASDAVU7ct/GMgDBByADcfxRpUUFrNPJc263V4ljALizmiZ5mGVXa6A4P97G33rYrAs5ZfDmh6TaT6bczzSTpayfYybnazEkzyuVQkE/M77R8zHr1rV1GyXUtNuLJppoRPGU82ByjpnupHQigBZdQtYdRtrCSXbdXKSSRJtJ3Km3cc4wMb16+tY1z468PWkkMcl5MzzSSxRrFaTSF3jO1wNqHoR/XpXNaD4WtX8RWiahc3keraQj+ZG17cMLtWKbJ0LSHC/IQyDI3cHoM9H4tvvDsdtHZ6/dmzEn723uMMhikXoySAYVxngZz7EE0AWpvFmjW2hPrVzdSW9gjiNpJ7aWNtxIA+RlDHk+nr6GtkEMAQQQeQR3rhdJi1LxfBoM+s2u6wghnmleRAgupSWijJjPIBjLSdMZdcdK6PwxbX1hoUOn6gGMlmzW8cpYEzRKcRucHqU25zzkGgDYooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqnH96X/roauVTj+9L/10NAD6KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAZJ96L/roKuVTk+9F/10FXKAGTQxXMEkE8SSwyqUkjkUMrqRggg8EEdq46P4WeGI9HlsVs0M0s/wBoa9a3haYNvD4GY9irwF2BQu3Ixyc9pRQBR/sXSv7K/sv+zLP+zv8An08hfK+9u+5jH3uenXmsePwD4bTVri8Oh6S0MsEUS25sI9sbI0hLjjGWDqDx/AOvbpqKAKN7pNre6FcaNs8izmtmtdsAC+XGV24UYwMA8cYqj/YWo/8AQ2az/wB+rP8A+MVuUUAVdPtJrOBo59Rub5i24S3CxhgMDj92ijHGemeetWqKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKpx/el/66GrlU4/vS/9dDQA+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAGSfei/66CrlU5PvRf9dBVygDK1yT7LHZ6g+oQ2dvZ3KyXBnm8qOSNlaMqzdODIGAPBZFHGdw8y0tPDVtJaWbSeDYk02xtZE1BLu3Se5v42VztkG5hEdmGLIGO44Br03xHYz6jokkVq+24jlhuYv3Yfc8UiyhdpdAclAOWXr1FczfWnjvVvDcNnfnSY21NWtr6G2tGZrOORGBcM1wA5HyggA9TjdjkA1Y7y90bRdEt7W5TXrvUJygu7m48pJS0ck5cFEcBcKQqgEAFRnArlbm3lE/izWdV8IeHdQazn82Yz3Jd1VLSFtiFrc5GOedvLEe56a98HfavDOhaR59nL/ZPlc3tl58U+yFovmj3j+9uHzcEDrXMxfDmW+PiC0ktvDtsss/lRzjQCCqtbxDfCfO+QAlvX5wx74ABPqnhObSvhXY2V5G+r6npihUeGxju5AHcAqiTI25UDDgbSwiAyg6eX2uj6vb6rf3T+H9Zlik8sxp/wAIlbjzdq8rtYMsHpuQPn7xBIxXufjrRH1nw7ILPT7a61KNkFu81rDO0SmRPMKrNhM7AeCRnA56V5lN4C8ULBIYNPR5gpMaSeHdIRWbHALCYkDPfB+hoA9bt/DlvZvpP2W5ubaHTVkUW1uUhhuC4wTLGihSc5YYAAYk4rg/slx4a8Zf2b4hudZutH1a526XqEWqXY8iRj8tvIFk/AN1PU5Gdnfr4a0aO6025h06GF9M837GIQY0h8wYfCLhTn3HvWBrfhzxD4j0c+H9TubB9PnnD3V/EWSZow/mBI4dpVCCFQMXf5Rkgk4oAqa/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AE+1r/zyl/75o+1r/wA8pf8Avml8tvSjy29KAGPcPINscbLnqzcYpEQIgUdqk8tvSjy29KAG0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBZooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAWaKKKACsBPFCX2pSWOj2M9+1vceRdz5EUNuwOGBZuWYeig/UVv1mXXh/TLvUYtRe2Ed9GQRcwsYpCAfusykFl4+6cj2oA06KKKACiiigAooooAKKKKACiiigAooooAKKKKAOH8Xatqt34f8AF1pa6bZtZ2VtNbyzy3rJIc2yyErGIiDgSAAFhkjtWdP4blfxV4ftrbQtD0GaGdtRe70yQtJJFDtV4TiGM4czKDzjAOQeAZ/GPgmW7tfEmpQQ6TdzXcDyxpNpJnulZYFQJHKJAQSUyvynBbvWxoXg/wDsjXV1PGjRbbaS38vTdL+yb97Rtlz5jbseXwMfxGgDO12Ka11jV7cF5LHUZ9LmlUvGVVnuUt5EZc79skSIMEFTtkGeoqpLYaJcz6ZFYeE7OwuJNX8uG+ht4FRWtrl2ddwxIGaO2cjC4+YAt1NXtQ8ER65f6zbXmn2cOmXNzbzmaQvNc3UiFWZt5b90mzdEqjkZYjAOGk8LeE2tSt3PqGrbbfVb24gsrhw8akvNErZdTIQUbd9/BLbuc0AdpRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAFaiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKALNFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBWooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//2Q==", "export_temp_image": false, "force_export_images": false, "flat_export": false, @@ -22,10 +22,10 @@ "theme_dark": false, "theme_color1": 5, "theme_color2": 0, - "uiExportFolderPath": "D:\\yuwell_workspace\\FluxDC\\SquareLineProj\\Export", - "projectExportFolderPath": "D:\\yuwell_workspace\\FluxDC\\SquareLineProj\\Export", + "uiExportFolderPath": "E:\\FluxDC\\SquareLineProj\\Export", + "projectExportFolderPath": "E:\\FluxDC\\SquareLineProj\\Export", "custom_variable_prefix": "uic", - "backup_cnt": 232, + "backup_cnt": 234, "autosave_cnt": 0, "group_color_cnt": 0, "lvgl_version": "8.3.6", @@ -42,5 +42,5 @@ "drive_fatfs_path": "", "naming": "_Screen_Name", "naming_force_lowercase": false, - "nidcnt": 1000193 + "nidcnt": 1000203 } \ No newline at end of file diff --git a/SquareLineProj/ESP32S3_UI.spj b/SquareLineProj/ESP32S3_UI.spj index 94fe4a2..5ecc802 100644 --- a/SquareLineProj/ESP32S3_UI.spj +++ b/SquareLineProj/ESP32S3_UI.spj @@ -10892,8 +10892,8 @@ "flags": 17, "strtype": "OBJECT/Position", "intarray": [ - -3, - -75 + -16, + -77 ], "InheritedType": 7 }, @@ -10902,7 +10902,7 @@ "flags": 17, "strtype": "OBJECT/Size", "intarray": [ - 178, + 158, 15 ], "InheritedType": 7 @@ -10952,14 +10952,14 @@ "strtype": "BAR/Range", "intarray": [ 0, - 100 + 4096 ], "InheritedType": 7 }, { "nid": 298518648, "strtype": "BAR/Value", - "integer": 25, + "integer": 100, "InheritedType": 6 }, { @@ -10988,6 +10988,33 @@ "strtype": "BAR/Style_indicator", "strval": "lv.PART.INDICATOR, Rectangle", "InheritedType": 11 + }, + { + "disabled": false, + "nid": 1000193, + "strtype": "_event/EventHandler", + "strval": "VALUE_CHANGED", + "childs": [ + { + "nid": 1000194, + "strtype": "_event/name", + "strval": "Event19", + "InheritedType": 10 + }, + { + "nid": 1000195, + "strtype": "_event/condition_C", + "strval": "", + "InheritedType": 10 + }, + { + "nid": 1000196, + "strtype": "_event/condition_P", + "strval": "", + "InheritedType": 10 + } + ], + "InheritedType": 4 } ], "saved_objtypeKey": "BAR" @@ -11190,7 +11217,7 @@ "flags": 17, "strtype": "OBJECT/Position", "intarray": [ - -112, + -114, 13 ], "InheritedType": 7 @@ -12539,6 +12566,167 @@ } ], "saved_objtypeKey": "PANEL" + }, + { + "guid": "GUID17356524-6152S361468", + "deepid": 957377512, + "dont_export": false, + "locked": false, + "properties": [ + { + "nid": 10, + "strtype": "OBJECT/Name", + "strval": "SpinboxBAT", + "InheritedType": 10 + }, + { + "nid": 20, + "strtype": "OBJECT/Layout", + "InheritedType": 1 + }, + { + "Flow": 0, + "Wrap": false, + "Reversed": false, + "MainAlignment": 0, + "CrossAlignment": 0, + "TrackAlignment": 0, + "LayoutType": 0, + "nid": 30, + "strtype": "OBJECT/Layout_type", + "strval": "No_layout", + "InheritedType": 13 + }, + { + "nid": 40, + "strtype": "OBJECT/Transform", + "InheritedType": 1 + }, + { + "nid": 50, + "flags": 17, + "strtype": "OBJECT/Position", + "intarray": [ + 104, + -149 + ], + "InheritedType": 7 + }, + { + "nid": 60, + "flags": 17, + "strtype": "OBJECT/Size", + "intarray": [ + 60, + 40 + ], + "InheritedType": 7 + }, + { + "nid": 70, + "strtype": "OBJECT/Align", + "strval": "CENTER", + "InheritedType": 3 + }, + { + "nid": 90, + "flags": 1048576, + "strtype": "OBJECT/Flags", + "InheritedType": 1 + }, + { + "nid": 225, + "flags": 1048576, + "strtype": "OBJECT/Scrolling", + "InheritedType": 1 + }, + { + "nid": 314, + "strtype": "OBJECT/Scroll_snap_x", + "strval": "NONE", + "InheritedType": 3 + }, + { + "nid": 315, + "strtype": "OBJECT/Scroll_snap_y", + "strval": "NONE", + "InheritedType": 3 + }, + { + "nid": 320, + "flags": 1048576, + "strtype": "OBJECT/States", + "InheritedType": 1 + }, + { + "nid": 1010, + "strtype": "SPINBOX/Spinbox", + "InheritedType": 1 + }, + { + "nid": 1020, + "strtype": "SPINBOX/Digit_format", + "intarray": [ + 4, + 0 + ], + "InheritedType": 7 + }, + { + "nid": 1030, + "strtype": "SPINBOX/Range", + "intarray": [ + 0, + 4096, + 1 + ], + "InheritedType": 7 + }, + { + "nid": 1040, + "strtype": "SPINBOX/Value", + "integer": 500, + "InheritedType": 6 + }, + { + "part": "lv.PART.MAIN", + "childs": [ + { + "nid": 10000, + "strtype": "_style/StyleState", + "strval": "DEFAULT", + "childs": [ + { + "nid": 10430, + "strtype": "_style/Text_Align", + "strval": "LEFT", + "InheritedType": 3 + }, + { + "nid": 10450, + "strtype": "_style/Text_Font", + "strval": "montserrat_16", + "InheritedType": 3 + } + ], + "InheritedType": 1 + } + ], + "nid": 1050, + "strtype": "SPINBOX/Style_main", + "strval": "lv.PART.MAIN, Rectangle, Pad, Text, Transform", + "InheritedType": 11 + }, + { + "part": "lv.PART.CURSOR", + "childs": [], + "nid": 1060, + "strtype": "SPINBOX/Style_cursor", + "strval": "lv.PART.CURSOR, Rectangle, Text", + "InheritedType": 11 + } + ], + "saved_objtypeKey": "SPINBOX" } ], "isPage": true, @@ -16226,8 +16414,8 @@ } ], "isPage": true, - "editor_posx": 3000, - "editor_posy": -1650, + "editor_posx": 2050, + "editor_posy": -1000, "dont_export": false, "locked": false, "properties": [ @@ -16448,10 +16636,10 @@ "theme_dark": false, "theme_color1": 5, "theme_color2": 0, - "uiExportFolderPath": "D:\\yuwell_workspace\\FluxDC\\SquareLineProj\\Export", - "projectExportFolderPath": "D:\\yuwell_workspace\\FluxDC\\SquareLineProj\\Export", + "uiExportFolderPath": "E:\\FluxDC\\SquareLineProj\\Export", + "projectExportFolderPath": "E:\\FluxDC\\SquareLineProj\\Export", "custom_variable_prefix": "uic", - "backup_cnt": 231, + "backup_cnt": 233, "autosave_cnt": 0, "group_color_cnt": 0, "lvgl_version": "8.3.6", @@ -16468,7 +16656,7 @@ "drive_fatfs_path": "", "naming": "_Screen_Name", "naming_force_lowercase": false, - "nidcnt": 1000193, + "nidcnt": 1000203, "BitDepth": 16, "Name": "ESP32S3_UI" } diff --git a/SquareLineProj/Export/screens/ui_Batinfo.c b/SquareLineProj/Export/screens/ui_Batinfo.c index 8ad992c..cc0d2ec 100644 --- a/SquareLineProj/Export/screens/ui_Batinfo.c +++ b/SquareLineProj/Export/screens/ui_Batinfo.c @@ -53,12 +53,13 @@ void ui_Batinfo_screen_init(void) lv_obj_set_style_text_font(ui_Batinfo_Label16, &ui_font_MiSansM, LV_PART_MAIN | LV_STATE_DEFAULT); ui_Batinfo_BarBAT = lv_bar_create(ui_Batinfo_Panel9); - lv_bar_set_value(ui_Batinfo_BarBAT, 25, LV_ANIM_OFF); + lv_bar_set_range(ui_Batinfo_BarBAT, 0, 4096); + lv_bar_set_value(ui_Batinfo_BarBAT, 100, LV_ANIM_OFF); lv_bar_set_start_value(ui_Batinfo_BarBAT, 0, LV_ANIM_OFF); - lv_obj_set_width(ui_Batinfo_BarBAT, 178); + lv_obj_set_width(ui_Batinfo_BarBAT, 158); lv_obj_set_height(ui_Batinfo_BarBAT, 15); - lv_obj_set_x(ui_Batinfo_BarBAT, -3); - lv_obj_set_y(ui_Batinfo_BarBAT, -75); + lv_obj_set_x(ui_Batinfo_BarBAT, -16); + lv_obj_set_y(ui_Batinfo_BarBAT, -77); lv_obj_set_align(ui_Batinfo_BarBAT, LV_ALIGN_CENTER); lv_obj_add_flag(ui_Batinfo_BarBAT, LV_OBJ_FLAG_CLICKABLE); /// Flags @@ -74,7 +75,7 @@ void ui_Batinfo_screen_init(void) ui_Batinfo_Label22 = lv_label_create(ui_Batinfo_Panel9); lv_obj_set_width(ui_Batinfo_Label22, LV_SIZE_CONTENT); /// 1 lv_obj_set_height(ui_Batinfo_Label22, LV_SIZE_CONTENT); /// 1 - lv_obj_set_x(ui_Batinfo_Label22, -112); + lv_obj_set_x(ui_Batinfo_Label22, -114); lv_obj_set_y(ui_Batinfo_Label22, 13); lv_obj_set_align(ui_Batinfo_Label22, LV_ALIGN_CENTER); lv_label_set_text(ui_Batinfo_Label22, "总电压:"); @@ -143,6 +144,19 @@ void ui_Batinfo_screen_init(void) lv_obj_set_style_text_color(ui_Batinfo_valueVolume, lv_color_hex(0x808080), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui_Batinfo_valueVolume, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + ui_Batinfo_SpinboxBAT = lv_spinbox_create(ui_Batinfo); + lv_obj_set_width(ui_Batinfo_SpinboxBAT, 60); + lv_obj_set_height(ui_Batinfo_SpinboxBAT, 40); + lv_obj_set_x(ui_Batinfo_SpinboxBAT, 104); + lv_obj_set_y(ui_Batinfo_SpinboxBAT, -149); + lv_obj_set_align(ui_Batinfo_SpinboxBAT, LV_ALIGN_CENTER); + lv_spinbox_set_digit_format(ui_Batinfo_SpinboxBAT, 4, 0); + lv_spinbox_set_range(ui_Batinfo_SpinboxBAT, 0, 4096); + lv_spinbox_set_cursor_pos(ui_Batinfo_SpinboxBAT, 1 - 1); + lv_spinbox_set_value(ui_Batinfo_SpinboxBAT, 500); + lv_obj_set_style_text_align(ui_Batinfo_SpinboxBAT, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Batinfo_SpinboxBAT, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_add_event_cb(ui_Batinfo_Panel8, ui_event_Batinfo_Panel8, LV_EVENT_ALL, NULL); } diff --git a/SquareLineProj/Export/ui.c b/SquareLineProj/Export/ui.c index 662c17c..d6166d6 100644 --- a/SquareLineProj/Export/ui.c +++ b/SquareLineProj/Export/ui.c @@ -104,6 +104,7 @@ lv_obj_t * ui_Batinfo_Label21; lv_obj_t * ui_Batinfo_labelSampleVolume; lv_obj_t * ui_Batinfo_valueVoltage; lv_obj_t * ui_Batinfo_valueVolume; +lv_obj_t * ui_Batinfo_SpinboxBAT; // CUSTOM VARIABLES // SCREEN: ui_DeviceInfo diff --git a/SquareLineProj/Export/ui.h b/SquareLineProj/Export/ui.h index 9971417..d4cade7 100644 --- a/SquareLineProj/Export/ui.h +++ b/SquareLineProj/Export/ui.h @@ -112,6 +112,7 @@ extern lv_obj_t * ui_Batinfo_Label21; extern lv_obj_t * ui_Batinfo_labelSampleVolume; extern lv_obj_t * ui_Batinfo_valueVoltage; extern lv_obj_t * ui_Batinfo_valueVolume; +extern lv_obj_t * ui_Batinfo_SpinboxBAT; // CUSTOM VARIABLES // SCREEN: ui_DeviceInfo diff --git a/SquareLineProj/backup/ESP32S3_UI_backup02.zip b/SquareLineProj/backup/ESP32S3_UI_backup02.zip index fa29d3b..ba67b83 100644 Binary files a/SquareLineProj/backup/ESP32S3_UI_backup02.zip and b/SquareLineProj/backup/ESP32S3_UI_backup02.zip differ diff --git a/SquareLineProj/backup/ESP32S3_UI_backup03.zip b/SquareLineProj/backup/ESP32S3_UI_backup03.zip index 3985918..6edf0a5 100644 Binary files a/SquareLineProj/backup/ESP32S3_UI_backup03.zip and b/SquareLineProj/backup/ESP32S3_UI_backup03.zip differ diff --git a/SquareLineProj/backup/ESP32S3_UI_backup04.zip b/SquareLineProj/backup/ESP32S3_UI_backup04.zip index b56bcdf..30956cc 100644 Binary files a/SquareLineProj/backup/ESP32S3_UI_backup04.zip and b/SquareLineProj/backup/ESP32S3_UI_backup04.zip differ diff --git a/components/FluxPower/CMakeLists.txt b/components/FluxPower/CMakeLists.txt index 52e00a3..824ac41 100644 --- a/components/FluxPower/CMakeLists.txt +++ b/components/FluxPower/CMakeLists.txt @@ -1,2 +1,3 @@ idf_component_register(SRCS "FluxPower.c" - INCLUDE_DIRS "include") + REQUIRES driver freertos esp_adc FluxUI lvgl + INCLUDE_DIRS ".") diff --git a/components/FluxPower/FluxPower.c b/components/FluxPower/FluxPower.c index 2bd5ba8..f298cd4 100644 --- a/components/FluxPower/FluxPower.c +++ b/components/FluxPower/FluxPower.c @@ -1,7 +1,52 @@ #include #include "FluxPower.h" -void func(void) -{ +static const char *TAG = "POWER_IO"; + +extern lv_obj_t * ui_Batinfo_valueVoltage; +extern lv_obj_t * ui_Batinfo_valueVolume; +extern lv_obj_t * ui_Batinfo_SpinboxBAT; +extern lv_obj_t * ui_Batinfo_BarBAT; +extern lv_obj_t * ui_Home_LabelHeaderBatValue; + + +/*没有返回值的电源管理任务*/ +int Bat_Adc_Value = 0; +adc_oneshot_unit_handle_t adc1_handle; + + +void powerTask(void) +{ + while (1) + { + ESP_ERROR_CHECK(adc_oneshot_read(adc1_handle, EXAMPLE_ADC1_CHAN8, &Bat_Adc_Value)); + + vTaskDelay(pdMS_TO_TICKS(1000)); + + lv_bar_set_value(ui_Batinfo_BarBAT,Bat_Adc_Value*2,LV_ANIM_ON); + lv_spinbox_set_value(ui_Batinfo_SpinboxBAT,Bat_Adc_Value*2); + + ESP_LOGI("dd","%d",Bat_Adc_Value); + } + +} + +void powerInit(void) +{ + /*电源接口初始化*/ + //-------------ADC1 Init---------------// + adc_oneshot_unit_init_cfg_t init_config1 = { + .unit_id = ADC_UNIT_1, + }; + ESP_ERROR_CHECK(adc_oneshot_new_unit(&init_config1, &adc1_handle)); + + //-------------ADC1 Config---------------// + adc_oneshot_chan_cfg_t config = { + .bitwidth = ADC_BITWIDTH_DEFAULT, + .atten = ADC_ATTEN_DB_11, + }; + ESP_ERROR_CHECK(adc_oneshot_config_channel(adc1_handle, EXAMPLE_ADC1_CHAN8, &config)); + + xTaskCreate(powerTask,"powerTask",2*1024, NULL, 2, NULL); } diff --git a/components/FluxPower/FluxPower.h b/components/FluxPower/FluxPower.h new file mode 100644 index 0000000..0608b9c --- /dev/null +++ b/components/FluxPower/FluxPower.h @@ -0,0 +1,34 @@ + +#include +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "freertos/queue.h" +#include "driver/gpio.h" +#include "driver/ledc.h" +#include "soc/soc_caps.h" +#include "esp_log.h" +#include "esp_adc/adc_oneshot.h" +#include "esp_adc/adc_cali.h" +#include "esp_adc/adc_cali_scheme.h" +#include "ui.h" + +/*配置ADC采用通道*/ +#define EXAMPLE_ADC1_CHAN8 ADC_CHANNEL_8 +/*配置用于进行ADC采样的引脚*/ +#define EXAMPLE_POWER_IO (9) + + +void powerTask(void); + +/*初始化电源管理系统*/ +void powerInit(void); + + + + + + + + + + diff --git a/components/FluxPower/include/FluxPower.h b/components/FluxPower/include/FluxPower.h deleted file mode 100644 index f6f3a61..0000000 --- a/components/FluxPower/include/FluxPower.h +++ /dev/null @@ -1 +0,0 @@ -void func(void); diff --git a/components/FluxUI/screens/ui_Batinfo.c b/components/FluxUI/screens/ui_Batinfo.c index 8ad992c..cc0d2ec 100644 --- a/components/FluxUI/screens/ui_Batinfo.c +++ b/components/FluxUI/screens/ui_Batinfo.c @@ -53,12 +53,13 @@ void ui_Batinfo_screen_init(void) lv_obj_set_style_text_font(ui_Batinfo_Label16, &ui_font_MiSansM, LV_PART_MAIN | LV_STATE_DEFAULT); ui_Batinfo_BarBAT = lv_bar_create(ui_Batinfo_Panel9); - lv_bar_set_value(ui_Batinfo_BarBAT, 25, LV_ANIM_OFF); + lv_bar_set_range(ui_Batinfo_BarBAT, 0, 4096); + lv_bar_set_value(ui_Batinfo_BarBAT, 100, LV_ANIM_OFF); lv_bar_set_start_value(ui_Batinfo_BarBAT, 0, LV_ANIM_OFF); - lv_obj_set_width(ui_Batinfo_BarBAT, 178); + lv_obj_set_width(ui_Batinfo_BarBAT, 158); lv_obj_set_height(ui_Batinfo_BarBAT, 15); - lv_obj_set_x(ui_Batinfo_BarBAT, -3); - lv_obj_set_y(ui_Batinfo_BarBAT, -75); + lv_obj_set_x(ui_Batinfo_BarBAT, -16); + lv_obj_set_y(ui_Batinfo_BarBAT, -77); lv_obj_set_align(ui_Batinfo_BarBAT, LV_ALIGN_CENTER); lv_obj_add_flag(ui_Batinfo_BarBAT, LV_OBJ_FLAG_CLICKABLE); /// Flags @@ -74,7 +75,7 @@ void ui_Batinfo_screen_init(void) ui_Batinfo_Label22 = lv_label_create(ui_Batinfo_Panel9); lv_obj_set_width(ui_Batinfo_Label22, LV_SIZE_CONTENT); /// 1 lv_obj_set_height(ui_Batinfo_Label22, LV_SIZE_CONTENT); /// 1 - lv_obj_set_x(ui_Batinfo_Label22, -112); + lv_obj_set_x(ui_Batinfo_Label22, -114); lv_obj_set_y(ui_Batinfo_Label22, 13); lv_obj_set_align(ui_Batinfo_Label22, LV_ALIGN_CENTER); lv_label_set_text(ui_Batinfo_Label22, "总电压:"); @@ -143,6 +144,19 @@ void ui_Batinfo_screen_init(void) lv_obj_set_style_text_color(ui_Batinfo_valueVolume, lv_color_hex(0x808080), LV_PART_MAIN | LV_STATE_DEFAULT); lv_obj_set_style_text_opa(ui_Batinfo_valueVolume, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + ui_Batinfo_SpinboxBAT = lv_spinbox_create(ui_Batinfo); + lv_obj_set_width(ui_Batinfo_SpinboxBAT, 60); + lv_obj_set_height(ui_Batinfo_SpinboxBAT, 40); + lv_obj_set_x(ui_Batinfo_SpinboxBAT, 104); + lv_obj_set_y(ui_Batinfo_SpinboxBAT, -149); + lv_obj_set_align(ui_Batinfo_SpinboxBAT, LV_ALIGN_CENTER); + lv_spinbox_set_digit_format(ui_Batinfo_SpinboxBAT, 4, 0); + lv_spinbox_set_range(ui_Batinfo_SpinboxBAT, 0, 4096); + lv_spinbox_set_cursor_pos(ui_Batinfo_SpinboxBAT, 1 - 1); + lv_spinbox_set_value(ui_Batinfo_SpinboxBAT, 500); + lv_obj_set_style_text_align(ui_Batinfo_SpinboxBAT, LV_TEXT_ALIGN_LEFT, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_Batinfo_SpinboxBAT, &lv_font_montserrat_16, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_add_event_cb(ui_Batinfo_Panel8, ui_event_Batinfo_Panel8, LV_EVENT_ALL, NULL); } diff --git a/components/FluxUI/ui.c b/components/FluxUI/ui.c index 662c17c..d6166d6 100644 --- a/components/FluxUI/ui.c +++ b/components/FluxUI/ui.c @@ -104,6 +104,7 @@ lv_obj_t * ui_Batinfo_Label21; lv_obj_t * ui_Batinfo_labelSampleVolume; lv_obj_t * ui_Batinfo_valueVoltage; lv_obj_t * ui_Batinfo_valueVolume; +lv_obj_t * ui_Batinfo_SpinboxBAT; // CUSTOM VARIABLES // SCREEN: ui_DeviceInfo diff --git a/components/FluxUI/ui.h b/components/FluxUI/ui.h index 9971417..d4cade7 100644 --- a/components/FluxUI/ui.h +++ b/components/FluxUI/ui.h @@ -112,6 +112,7 @@ extern lv_obj_t * ui_Batinfo_Label21; extern lv_obj_t * ui_Batinfo_labelSampleVolume; extern lv_obj_t * ui_Batinfo_valueVoltage; extern lv_obj_t * ui_Batinfo_valueVolume; +extern lv_obj_t * ui_Batinfo_SpinboxBAT; // CUSTOM VARIABLES // SCREEN: ui_DeviceInfo diff --git a/components/FluxUI/ui_events.c b/components/FluxUI/ui_events.c index cffd860..d9b9963 100644 --- a/components/FluxUI/ui_events.c +++ b/components/FluxUI/ui_events.c @@ -8,10 +8,8 @@ #include "esp_err.h" #include "esp_log.h" -/*Modbusӿ*/ #include "FluxMod.h" -/*ֵ*/ #define LOWERST_LIGHT_LEVEL (7222) void ReadSdCallFunc(lv_event_t * e) diff --git a/main/i80_controller_example_main.c b/main/i80_controller_example_main.c index 0cb839f..a5268a0 100644 --- a/main/i80_controller_example_main.c +++ b/main/i80_controller_example_main.c @@ -35,6 +35,9 @@ /*包含按键控制头文件*/ #include "FluxButton.h" +/*添加电量监测头文件*/ +#include "FluxPower.h" + static const char *TAG = "example"; #include "modbus_params.h" @@ -463,6 +466,9 @@ void app_main(void) /*初始化SD卡*/ flux_sd_init(); + /*电源管理开始*/ + powerInit(); + /*初始化Modbus*/ ESP_ERROR_CHECK(modbus_master_init()); diff --git a/sdkconfig b/sdkconfig index 78101f9..ce18226 100644 --- a/sdkconfig +++ b/sdkconfig @@ -366,7 +366,7 @@ CONFIG_IDF_TOOLCHAIN="gcc" CONFIG_IDF_TARGET_ARCH_XTENSA=y CONFIG_IDF_TARGET_ARCH="xtensa" CONFIG_IDF_TARGET="esp32s3" -CONFIG_IDF_INIT_VERSION="5.3.1" +CONFIG_IDF_INIT_VERSION="5.3.2" CONFIG_IDF_TARGET_ESP32S3=y CONFIG_IDF_FIRMWARE_CHIP_ID=0x0009 @@ -2251,7 +2251,7 @@ CONFIG_LV_ATTRIBUTE_MEM_ALIGN_SIZE=1 # CONFIG_LV_FONT_MONTSERRAT_10 is not set # CONFIG_LV_FONT_MONTSERRAT_12 is not set CONFIG_LV_FONT_MONTSERRAT_14=y -# CONFIG_LV_FONT_MONTSERRAT_16 is not set +CONFIG_LV_FONT_MONTSERRAT_16=y # CONFIG_LV_FONT_MONTSERRAT_18 is not set CONFIG_LV_FONT_MONTSERRAT_20=y # CONFIG_LV_FONT_MONTSERRAT_22 is not set