.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0

Installation
============

.. note::
   * This section is used to describe how a software component is acquired and installed.
   
   * This section is typically: provided for a platform-component and application; and
     referenced in user guides.

   * This note must be removed after content has been added.

Environment
-----------


Steps
-----
