---------###---------------------###--------------- --------###-------------------------------###----------
----###------------------- --------------------###------
---------##----##-----------------##----##------------
------####--####-------------####--####----------
-----##########------------##########---------
------########----------------########-----------
--------#####-------------------- -#####--------------
---##----##--------------------------##---------##----
----##-------------------------------------------##------
- -----###-----------------------------------###---------
---------####--------------------------####------------
-------------######--- --------######----------------
------------------############----------------------
-------------------------------------------------- ----------