---------------------------------------------------------------------------------------------------------------------------------------------------------------00 
---------------------------------------------------------------------------------------------------------------------------------------------------------------00 
---------------------------------------------------------------------------------------------------------------------------------------------------------------00 
---------------------------------------------------------------------------------------------------------------------------------------------------------------00 
-----------------------------------------------------------------------------------------------------------000----000-------------------------000---0-00--1----00 
----------------------------------------------------------------------------------------------------------------------------------------------------------------- 
--0---------0-----------------------000000-------h---------------00000--------------------------i----------------------------------i----------------------------- 
0-0-------000----------------h------------------h---------h------------------------------------------------------------------------------------------------------ 
----------------------------------------------------------------------------------------------------------------------------------------------------------------- 
----------------------------------------------------------------------------------------------------------------------------------------------------------------- 
