.--.--------------------------------.--.                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  |                                |  |                                                                                         |  '--------------------------------'  |                                                                                         |                                      |                                                                                         |       .-------------------.          |                                                                                         |       | .----.            |          |                                                                                         |       | |    |            |          |                                                                                         |       | |    |            |          |                                                                                         |       | |    |            |          |                                                                                         |       | |    |            |          |                                                                                         |       | '----'            |          |                                                                                         '-------'-------------------'----------'