------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------
------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
---------------------------------------------------------------
-----------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
--------------------------------------
------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
--------------------------------------------------
--------------------------------------------
--------------------
-------------------------------------------------
----------------------------------------
--------------------------------------------------------------
--------------------------------
---------------------------------------------------------
----------------------------------------------------------------------------------------------------------
-------------------------
------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-----------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------
---------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------
--------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
--------------------------------------
---------------------------------------------------------------
--------------------------------------------------
------------------------------------------------
-----------------------------
---------------------------
-----------------------------------------------------
---------------------------------------------------------
-------------------------------------------
--------------------------------------------------
------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-----------------------------------------------------------------------------