oooooooooooo ooo ooooo .ooooo. .oooo. .oooo. d'""""""d888' `88. .888' d88' `8. .dP""Y88b .dP""Y88b .888P 888b d'888 oooo ooo Y88.. .8' ]8P' ]8P' d888' 8 Y88. .P 888 `88. .8' `88888b. <88b. <88b. .888P 8 `888' 888 `88..8' .8' ``88b `88b. `88b. d888' .P 8 Y 888 `888' `8. .88P o. .88P o. .88P .8888888888P o8o o888o `8' `boood8' `8bd88P' `8bd88P'