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