888 888 .d8888b. Y88b d88P d8888 888 888 888
888 o 888 d88P Y88b Y88b d88P d8P888 888 888 888
888 d8b 888 Y88b. d88P Y88o88P d8P 888 888 888 888
888 d888b 888 888 888 "Y88888" Y888P d8P 888 8888888888 888 888
888d88888b888 `Y8bd8P' .d8P""Y8b. d888b d88 888 888 888 888 .88P
88888P Y88888 X88K 888 888 d88888b 8888888888 888 888 888888K
8888P Y8888 .d8""8b. Y88b d88P d88P Y88b 888 888 888 888 "88b
888P Y888 888 888 "Y8888P" d88P Y88b 888 888 888 888 888