         return decoded
     }
 
-	public static func encode(data: Data, specialChars: String = "+/", paddingChar: Character? = "=") throws -> String {
+	public static func encode(_ data: Data, specialChars: String = "+/", paddingChar: Character? = "=") throws -> String {
         let base64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + specialChars
         var encoded: String = ""
 
-        func appendCharacterFromBase(character: Int) {
+        func appendCharacterFromBase(_ character: Int) {
             encoded.append(base64[base64.startIndex.advanced(by: character)])
         }
 
-        func byte(index: Int) -> Int {
+        func byte(_ index: Int) -> Int {
             return Int(data[index])
         }
 

            unreadBytes += 1
        }

        func byte(index: Int) -> Int {
            return Int(Array(string.utf8)[index])
        }


@_exported import C7

public struct Base64 {
    public static func decode(_ string: String) throws -> Data {
        let ascii: [Byte] = [
            64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
            64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,
