----------------------------------------------------------------------------------------
==================================
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
==================================
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
==================================
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
==================================
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
==================================
----------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
===================================
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
===================================
------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
===================================
-------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^