_--                                                                                                                          _.-'                                                                                                                           _'        .--------------------------------------------------------------.                                                      /          |                                                              |                                                     /           |:::::::::::       :::      ::::     ::::                      |                                                     ;           |    :+:         :+: :+:    :+:+:   :+:+:                      |                                                    /            |    +:+        +:+   +:+   +:+ +:+:+ +:+                      |                                                    |            |    +#+       +#++:++#++:  +#+  +:+  +#+                      |                                                    `.           |   _+#+       +#+     +#+  +#+       +#+                      |                                                     !           |    #+#       #+#     #+#  #+#       #+#                      |                                                      \          |###########   ### __o/### _###o__ __o###                      |                                                       \         |    <|>      /v     |   |     |     |>                        |                                                        \        |    / \     />     / \ / \   / \   / \                        |                                                         `_      '----\o/-----\------\o/-\o/---\o/---\o/------------------------'                                                           `:::      :::    \  :::  ::::::::::  |::::::::    ::::::::   ::::     ::::  ::::::::::                                          :+: :+: --_:+:\    \ :+: -:+:  / \   /:+:  / :+:  :+:    :+:  :+:+:   :+:+:  :+:                                                +:+   +:+   +:+-----!-+:+  +:+         +:+         +:+    +:+  +:+ +:+:+ +:+  +:+                                               +#++:++#++:  +#+  +:+; +#+  +#++:++#     +#++:++#   +#+    +:+  +#+  +:+  +#+  +#++:++#                                          +#+     +#+  +#+ +#+#+ +#+  +#+                +#+  +#+    +#+  +#+       +#+  +#+                                               #+#     #+#   #+#+#'#+#+#   #+#         #+#    #+#  #+#    #+#  #+#       #+#  #+#                                               ###     ### ``-###   ###    ##########   ########    ########   ###       ###  ##########