╔══╦══╦═══╗╔══╗╔═══╦══╦══╗─╔══╦═══╦╗╔══╗
║╔╗║╔╗╠══╗║║╔╗║║╔═╗║╔╗║╔╗║─║╔╗║╔═╗║║║╔╗║
║║║║║║║╔═╝║║║║║║╚═╝║╚╝║╚╝╚╗║║║║╚═╝║╚╝║║║
║║║║║║║╚═╗║║║║║║╔══╣╔╗║╔═╗║║║║╠╗╔╗║╔╗║║║
║║║║╚╝╠══╝╠╝╚╝╚╣║──║║║║╚═╝╠╝║║║║║║║║║╚╝║
╚╝╚╩══╩═══╩════╩╝──╚╝╚╩═══╩═╝╚╝╚╝╚╩╝╚══╝
║╔╗║╔╗╠══╗║║╔╗║║╔═╗║╔╗║╔╗║─║╔╗║╔═╗║║║╔╗║
║║║║║║║╔═╝║║║║║║╚═╝║╚╝║╚╝╚╗║║║║╚═╝║╚╝║║║
║║║║║║║╚═╗║║║║║║╔══╣╔╗║╔═╗║║║║╠╗╔╗║╔╗║║║
║║║║╚╝╠══╝╠╝╚╝╚╣║──║║║║╚═╝╠╝║║║║║║║║║╚╝║
╚╝╚╩══╩═══╩════╩╝──╚╝╚╩═══╩═╝╚╝╚╝╚╩╝╚══╝