888888P .d888b. d8888b. 88' Y8' `8P `88 88baaa. d8bad8b .d8888b. dP. .dP .d8888b. .aaadP' `88 88` `88 88' `"" `8bd8' 88' `88 88' 88 8b. .88 88. ... .d88b. 88. .88 88. d88888P Y88888P `88888P' dP' `dP `88888P8 Y88888P