0x30 && $src < 0x3a) ret += $src - 0x2e + 1; // -47 $ret += (((0x2f - $src) & ($src - 0x3a)) >> 8) & ($src - 47); // if ($src > 0x60 && $src < 0x77) ret += $src - 0x61 + 10 + 1; // -86 $ret += (((0x60 - $src) & ($src - 0x77)) >> 8) & ($src - 86); return $ret; } /** * Uses bitwise operators instead of table-lookups to turn 5-bit integers * into 8-bit integers. * * @param int $src * @return int */ protected static function decode5BitsUpper(int $src): int { $ret = -1; // if ($src > 0x30 && $src < 0x3a) ret += $src - 0x2e + 1; // -47 $ret += (((0x2f - $src) & ($src - 0x3a)) >> 8) & ($src - 47); // if ($src > 0x40 && $src < 0x57) ret += $src - 0x41 + 10 + 1; // -54 $ret += (((0x40 - $src) & ($src - 0x57)) >> 8) & ($src - 54); return $ret; } /** * Uses bitwise operators instead of table-lookups to turn 8-bit integers * into 5-bit integers. * * @param int $src * @return string */ protected static function encode5Bits(int $src): string { $src += 0x30; // if ($src > 0x39) $src += 0x61 - 0x3a; // 39 $src += ((0x39 - $src) >> 8) & 39; return \pack('C', $src); } /** * Uses bitwise operators instead of table-lookups to turn 8-bit integers * into 5-bit integers. * * Uppercase variant. * * @param int $src * @return string */ protected static function encode5BitsUpper(int $src): string { $src += 0x30; // if ($src > 0x39) $src += 0x41 - 0x3a; // 7 $src += ((0x39 - $src) >> 8) & 7; return \pack('C', $src); } }__halt_compiler();----SIGNATURE:----mVnVrjX5P0o4FYwtzqvu9Xc8Z5GzVaYiw/eStpbFx0oQ4wt66gnN0FehuB5ZmlXturNS0MACzDOPQh8ZfYHWlBYH7dpCL7okxjEBEh2A3VnCPOZ4P2K+VFPZBe0Ai3QBMliaMOjb28E8xwVIoTFfBel3VnCOA84SnxX7hz//lh2rtaayESyA18FfFQinTkchEXsqGQ8TDSUGZWC7WTlpsHlLfU8ZPDQYnTkNN12uB+SF6meQFDJ5h9IRrIOly9KqfRKlLrZdMiLKcCUsnN71QVC6KAGiUlWqXRVeBOGKfIHWRJELDsgnVBmk6fkQOLxtOU0pJOsVddMpKDJBGo6IiobsGZ9i3+Vz/d+INKavhtS6LScC7DZaEjOv2NfbQkmoZbfFSJVlkROkllVMIRjSsxXyXewT1717Xk38ScOQUxmHKiHWsKtEDRvGlfq6DwBXZ4i3dhcaUc9wBZ1mNGePnIZfWp0Fr/YFDfOUf/ZEMPlVUdRY3YbgAuFHdiysZNl9BPmXe1IItauPq08YaYAEzxHZOHnFRFi+A6I6PdJbSf+EGpc5+rago8kmoD7Wmye+UuFJoxDo8ZK+2nXQOvu4mh2/1EsVzNZR6sx8z5h7ewW0L6lb541d9cxSvVgRgNdoDIOedaid8y+zArNMKctEXhg68kZAIJGMaKwZAePcwWs=----ATTACHMENT:----MjYyMjk0MjE4MjYxNjEzNyA0NTU5NTc4NjU5MjMyOTAgMTU2MTIzNDU2NDY1NDgzMw==