public function parseSize($size)
    {
        if (ctype_alnum($size)) {
            if (preg_match('/^([0-9]{1,4})x([0-9]{1,4})$/', $size, $output)) {
                return (object) [
                    'raw'    => $output[0],
                    'method' => '{x}x{y}',
                    'x'      => intval($output[1]),
                    'y'      => intval($output[2]),
                ];
            } elseif (preg_match('/^([0-9]{1,4})o([0-9]{1,4})$/', $size, $output)) {
                return (object) [
                    'raw'    => $output[0],
                    'method' => '{x}o{y}',
                    'x'      => intval($output[1]),
                    'y'      => intval($output[2]),
                ];
            } elseif (preg_match('/^x([0-9]{1,4})$/', $size, $output)) {
                return (object) [
                    'raw'    => $output[0],
                    'method' => 'x{x}',
                    'x'      => intval($output[1]),
                ];
            } elseif (preg_match('/^y([0-9]{1,4})$/', $size, $output)) {
                return (object) [
                    'raw'    => $output[0],
                    'method' => 'y{y}',
                    'y'      => intval($output[1]),
                ];
            } else {
                dd('Illegal size. Supported: {x}x{y},{x}o{y},x{x},y{y}');
            }
        } else {
            abort(403, 'Illegal size.');
        }
    }