---------------------------------------
-----------------------------------------------------
---------------------------------------------
--------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
-------------------------------------------
------------------------------------------------------------------------------
-----------------------------------------------
----------------------------------------------------------------
---------------------------------------------------------------
-------------------------------------------------
------------------------
-----------------------
--------------------
-----------------------------
-------------------------------------------------------------------------------------
---------------------------------------------------------------------
-------------------
-------------------------------
---------
--------------------
---------------------------------------------------------------------------------------------------------------------------
---------------------------
-----------------------------------------------
---------------------------------------------------------------------
---------------------------------------------
------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------
------------------------
------------------------------------------------*-*------------------------
-------------------------------------
------------------------------------------------------------------------------------
--------------------------------------------------------------
----------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------
--------------------------------------------------------------------------------------------
-------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------
-----------------
----------------------------------------------------------------------------
--------------------------------------------------------------
---------------------------
-------------------------------------------------------------
-----------------------------------------------------------------------------------------
----------------------------------------------
-----------------------------------------------------------------------------------
---------------------------------
------------------------------------------------------------------------------------
------------------------------------------
-----------------------------------------------
-------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------
---------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------
----------------------------------------------------
---------------------------------------
---------------------------------------------------------------------------------------------------------
---------------------------------------
-------------------------------------------------------------
--